Package-level declarations

Types

Link copied to clipboard

Default visual, typography, and spacing tokens for alert dialogs.

Link copied to clipboard
data class AlertDialogOverrides(val containerColor: Int? = null, val titleColor: Int? = null, val textColor: Int? = null, val iconTint: Int? = null, val titleStyle: UiTextStyle? = null, val textStyle: UiTextStyle? = null, val shape: UiShape? = null, val contentPadding: UiDp? = null, val titleToTextSpacing: UiDp? = null, val textToButtonsSpacing: UiDp? = null, val buttonSpacing: UiDp? = null, val iconBottomSpacing: UiDp? = null, val iconSize: UiDp? = null, val minWidth: UiDp? = null)

Selectively replaces AlertDialog surface, typography, icon, and spacing appearance.

Link copied to clipboard

Default color, size, and typography tokens for badge components.

Link copied to clipboard
data class BadgeOverrides(val containerColor: Int? = null, val contentColor: Int? = null, val textStyle: UiTextStyle? = null, val shape: UiShape? = null, val dotSize: UiDp? = null, val pillHeight: UiDp? = null, val pillMinWidth: UiDp? = null, val pillHorizontalPadding: UiDp? = null)

Selectively replaces Badge appearance and visual geometry.

Link copied to clipboard
data class BasicButtonStyle(val surface: BasicSurfaceStyle, val contentColor: Int, val textStyle: UiTextStyle, val stateLayerColors: UiStateLayerColors, val minimumWidth: UiDp = UiDp.Zero, val minimumHeight: UiDp = UiDp.Zero, val visualHeight: UiDp? = null, val paddingHorizontal: UiDp = UiDp.Zero, val paddingVertical: UiDp = UiDp.Zero, val iconSize: UiDp = UiDp.Zero, val iconSpacing: UiDp = UiDp.Zero)

Defines fully resolved values for a BasicButton action composite.

Link copied to clipboard
data class BasicSurfaceStyle(val fill: Brush, val shape: UiShape, val borderWidth: UiDp = UiDp.Zero, val borderColor: Int = 0, val elevation: UiDp = UiDp.Zero, val dropShadows: List<UiShadow> = emptyList(), val innerShadows: List<UiShadow> = emptyList(), val clipContent: Boolean = false, val interactionIndication: UiInteractionIndication? = null)

Defines fully resolved visual values consumed by BasicSurface.

Link copied to clipboard
data class BasicTextFieldStyle(val cursorColor: Int, val textColor: Int, val textStyle: UiTextStyle, val placeholderColor: Int, val containerColor: Int, val borderWidth: UiDp, val borderColor: Int, val shape: UiShape, val minimumHeight: UiDp, val horizontalPadding: UiDp, val verticalPadding: UiDp)

Defines the complete resolved appearance consumed by BasicTextField.

Link copied to clipboard

Default visual and size tokens for bottom app bars.

Link copied to clipboard
data class BottomAppBarOverrides(val containerColor: Int? = null, val contentColor: Int? = null, val height: UiDp? = null, val horizontalPadding: UiDp? = null, val elevation: UiDp? = null)

Selectively replaces BottomAppBar appearance and visual spacing.

Link copied to clipboard

Box content scope that exposes box-alignment modifiers.

Link copied to clipboard

Resolves Button appearance from the current theme and scoped ButtonOverrides.

Link copied to clipboard
data class ButtonOverrides(val containerColor: Int? = null, val disabledContainerColor: Int? = null, val contentColor: Int? = null, val disabledContentColor: Int? = null, val borderColor: Int? = null, val disabledBorderColor: Int? = null, val borderWidth: UiDp? = null, val shape: UiShape? = null, val stateLayerColors: UiStateLayerColors? = null, val textStyle: UiTextStyle? = null, val minimumHeight: UiDp? = null, val visualHeight: UiDp? = null, val horizontalPadding: UiDp? = null, val verticalPadding: UiDp? = null, val iconSize: UiDp? = null, val iconSpacing: UiDp? = null)

Selectively replaces low-frequency appearance values resolved by Button.

Link copied to clipboard

Interaction-density tier used to select Button dimensions and typography.

Link copied to clipboard

Visual hierarchy used to select Button colors, border, and container treatment.

Link copied to clipboard

Default visual and interaction tokens for card components.

Link copied to clipboard

Visual hierarchy variants for card components.

Link copied to clipboard
data class CheckboxOverrides(val labelColor: Int? = null, val disabledLabelColor: Int? = null, val checkedColor: Int? = null, val uncheckedColor: Int? = null, val disabledCheckedColor: Int? = null, val disabledUncheckedColor: Int? = null, val textStyle: UiTextStyle? = null, val stateLayerColors: UiStateLayerColors? = null, val minimumHeight: UiDp? = null)

Selectively replaces Checkbox appearance without affecting other input-control families.

Link copied to clipboard

Resolves Chip colors, dimensions, typography, and feedback from the current theme.

Link copied to clipboard

Semantic chip role used to select selected-container and border treatment.

Link copied to clipboard
data class CircularProgressIndicatorOverrides(val indicatorColor: Int? = null, val trackColor: Int? = null, val size: UiDp? = null, val trackThickness: UiDp? = null)

Selectively replaces circular progress-indicator appearance.

Link copied to clipboard

Column content scope that exposes vertical-layout-specific parent-data modifiers.

Link copied to clipboard

Marks integration-owned effect callbacks that run after their declaring provider stack returns.

Link copied to clipboard

Exposes the current default content color, normally provided by a theme or surface.

Link copied to clipboard
data class CoreObservedPropertyFrame(val renderStats: RenderStats = RenderStats(), val renderResult: RenderTreeResult? = null, val commitEffects: List<CoreRenderCommitEffect> = emptyList(), val commitFailures: List<CoreRenderCommitFailure> = emptyList())

Lightweight renderer result for one property-only transaction.

Link copied to clipboard
data class CoreObservedPropertyPatch(val id: Long, val target: CoreObservedPropertyTarget, val previous: VNode, val next: VNode)

One renderer-neutral property-only VNode replacement in an atomic batch.

Link copied to clipboard
class CoreObservedPropertyTarget(val handle: Any, node: VNode)

Renderer-owned exact target recorded for one committed observed property.

Link copied to clipboard
data class CoreRenderCommitEffect(val operation: RenderFailureOperation, val nodeKey: Any?, val commit: () -> Unit)

Native mutation deferred by the renderer until the session commit phase.

Link copied to clipboard
data class CoreRenderCommitFailure(val operation: RenderFailureOperation?, val nodeKey: Any?, val cause: Throwable)

Native failure captured by the renderer while rendering or disposing mounted nodes.

Link copied to clipboard

Narrow render-engine contract installed by a host module.

Link copied to clipboard
data class CoreRenderFrame(val mountedNodes: List<Any>, val observedPropertyTargets: Map<Long, CoreObservedPropertyTarget> = emptyMap(), val renderStats: RenderStats = RenderStats(), val renderResult: RenderTreeResult? = null, val commitEffects: List<CoreRenderCommitEffect> = emptyList(), val commitFailures: List<CoreRenderCommitFailure> = emptyList())

Output prepared by a renderer for one frame.

Link copied to clipboard

Opaque renderer-owned native tree detached from a render container and logical session.

Link copied to clipboard

Reads optional design-system attribution for the current synchronous composition scope.

Link copied to clipboard

Holds content that a runtime host can render into a dialog-owned surface.

Link copied to clipboard

Represents a platform dialog instance that can be updated in place or dismissed.

Link copied to clipboard

Synchronizes declarative overlay requests to a dialog presenter and owns lifecycle by session/key.

Link copied to clipboard

Platform-provided dialog presentation entry point; widget-core depends only on this minimal contract.

Link copied to clipboard
class DialogOverlaySpec(val dismissOnBackPress: Boolean = true, val dismissOnClickOutside: Boolean = true, val position: DialogPosition = DialogPosition.Center, val scrimOpacity: Float = 0.32f, val onDismissRequest: () -> Unit? = null)

Describes platform-neutral behavior for one dialog overlay.

Link copied to clipboard

Defines where a dialog is anchored inside its host window.

Link copied to clipboard

Holds one runtime-owned cleanup operation produced by DisposableEffectScope.onDispose.

Link copied to clipboard

Builds the terminal cleanup result required by DisposableEffect.

Link copied to clipboard

Default visual tokens for divider components.

Link copied to clipboard

Default visual, size, and spacing tokens for dropdown menus and their items.

Link copied to clipboard

Exposes density, locales, layout direction, and resource revision for the current scope.

Link copied to clipboard
data class ExtendedFloatingActionButtonOverrides(val containerColor: Int? = null, val contentColor: Int? = null, val shape: UiShape? = null, val elevation: UiDp? = null, val stateLayerColors: UiStateLayerColors? = null, val textStyle: UiTextStyle? = null, val iconSize: UiDp? = null, val height: UiDp? = null, val horizontalPadding: UiDp? = null, val iconSpacing: UiDp? = null)

Selectively replaces ExtendedFloatingActionButton appearance.

Link copied to clipboard

Resolves FAB and extended-FAB defaults from the current theme.

Link copied to clipboard

Size tier used to select FAB bounds, icon size, and shape.

Link copied to clipboard
data class FloatingActionButtonOverrides(val containerColor: Int? = null, val contentColor: Int? = null, val shape: UiShape? = null, val elevation: UiDp? = null, val stateLayerColors: UiStateLayerColors? = null)

Selectively replaces regular FloatingActionButton appearance.

Link copied to clipboard

Declares delayed pager pages with explicit logical identity and semantic revisions.

Link copied to clipboard

Resolves IconButton appearance from semantic Button roles and independent scoped overrides.

Link copied to clipboard
data class IconButtonOverrides(val containerColor: Int? = null, val disabledContainerColor: Int? = null, val contentColor: Int? = null, val disabledContentColor: Int? = null, val borderColor: Int? = null, val disabledBorderColor: Int? = null, val borderWidth: UiDp? = null, val shape: UiShape? = null, val stateLayerColors: UiStateLayerColors? = null, val size: UiDp? = null, val contentPadding: UiDp? = null)

Selectively replaces low-frequency appearance values resolved by IconButton.

Link copied to clipboard

Default size and tint tokens for icon components.

Link copied to clipboard

Resolves the image loader captured by image nodes in the current tree-building scope.

Link copied to clipboard

Resolves native input-control appearance from theme tokens and family-specific overrides.

Link copied to clipboard

Base layout DSL scope that extends UiTreeBuilder so children can keep emitting nodes.

Link copied to clipboard

Declares keyed lazy-grid entries with spans and separated logical and physical ownership.

Link copied to clipboard
class LazyItemsSnapshot<out T>

Carries one immutable lazy-collection submission with a framework-created identity.

Link copied to clipboard

Declares keyed lazy-list entries whose logical sessions are independent from recycled Views.

Link copied to clipboard
data class LinearProgressIndicatorOverrides(val indicatorColor: Int? = null, val trackColor: Int? = null, val trackThickness: UiDp? = null)

Selectively replaces linear progress-indicator appearance.

Link copied to clipboard

Default typography, color, size, and spacing tokens for list items.

Link copied to clipboard

Exposes the additional coroutine context used by animations in the current composition.

Link copied to clipboard

Exposes the focus owner for the render session currently being composed.

Link copied to clipboard

Exposes the monotonic frame clock used by the current composition scope.

Link copied to clipboard

Exposes the saveable-state registry installed for the current composition.

Link copied to clipboard
data class ModalBottomSheetAppearance(val containerColor: Int, val contentColor: Int, val shape: UiShape, val scrimOpacity: Float, val navigationBarColor: ModalBottomSheetNavigationBarColor)

Carries complete modal-bottom-sheet appearance across an overlay session boundary.

Link copied to clipboard

Default visual tokens for modal bottom sheets.

Link copied to clipboard

Selects the system navigation-bar treatment while a modal bottom sheet is visible.

Link copied to clipboard

Holds content that a runtime host can render into a bottom-sheet-owned surface.

Link copied to clipboard

Represents a platform modal bottom-sheet instance currently shown.

Link copied to clipboard

Synchronizes declarative bottom sheet overlay requests to the platform presenter and reuses handles for the same entry.

Link copied to clipboard

Platform-provided bottom sheet presenter responsible for creating the real UI container.

Link copied to clipboard
class ModalBottomSheetOverlaySpec(val dismissOnBackPress: Boolean = true, val dismissOnClickOutside: Boolean = true, val skipPartiallyExpanded: Boolean = false, val appearance: ModalBottomSheetAppearance, val onDismissRequest: () -> Unit? = null)

Describes platform-neutral behavior for one modal bottom-sheet overlay.

Link copied to clipboard
data class ModalBottomSheetOverrides(val containerColor: Int? = null, val contentColor: Int? = null, val shape: UiShape? = null, val scrimOpacity: Float? = null, val navigationBarColor: ModalBottomSheetNavigationBarColor? = null)

Selectively replaces modal-bottom-sheet appearance before it crosses the overlay boundary.

Link copied to clipboard

Resolves NavigationBar appearance from theme tokens and scoped overrides.

Link copied to clipboard
data class NavigationBarOverrides(val containerColor: Int? = null, val selectedIconColor: Int? = null, val unselectedIconColor: Int? = null, val selectedLabelColor: Int? = null, val unselectedLabelColor: Int? = null, val indicatorColor: Int? = null, val selectedStateLayerColors: UiStateLayerColors? = null, val unselectedStateLayerColors: UiStateLayerColors? = null, val iconSize: UiDp? = null, val labelStyle: UiTextStyle? = null, val badgeColor: Int? = null, val badgeTextColor: Int? = null, val height: UiDp? = null)

Selectively replaces NavigationBar appearance without carrying selection or destination content.

Link copied to clipboard

Item collection scope for NavigationBar.

Link copied to clipboard
data class NodeTypeBindingStats(val rebound: Int = 0, val patched: Int = 0, val skipped: Int = 0)

Binding statistics for one node type.

Link copied to clipboard
class ObservedNodeSpec<S : NodeSpec>

Supplies a complete node-property snapshot for direct transactional patching.

Link copied to clipboard

Supplies one typed value whose Snapshot State reads can update a supported node property without recomposing the surrounding declaration.

Link copied to clipboard
data class OverlayEntryId(val sessionId: OverlaySessionId, val requestKey: String)

Uniquely identifies one overlay request within a render session.

Link copied to clipboard
interface OverlayHost

Reconciles declarative overlay requests with platform surfaces.

Link copied to clipboard

Exposes the overlay host installed for the current composition.

Link copied to clipboard

Default platform-independent overlay host implementations.

Link copied to clipboard
data class OverlayRequest(val key: String, val type: OverlayType, val payload: Any? = null, val contentToken: Any? = null)

Describes one overlay that a render frame wants to keep active.

Link copied to clipboard
data class OverlaySessionId(val value: String)

Identifies overlay commits owned by one render session.

Link copied to clipboard

Content snapshot that can render inside an independent overlay surface.

Link copied to clipboard

Independent RenderSession wrapper for an overlay surface.

Link copied to clipboard

Overlay surface and transient-feedback types supported by the core protocol.

Link copied to clipboard

Declares the preferred alignment of a popup relative to its anchor.

Link copied to clipboard
data class PopupBounds(val left: Int, val top: Int, val right: Int, val bottom: Int)

Represents rectangular bounds consumed by popup positioning.

Link copied to clipboard

Controls how popup placement is adjusted when it overflows the available viewport.

Link copied to clipboard

Holds content that a runtime host can render into a popup-owned surface.

Link copied to clipboard

Represents a platform popup instance that can be updated in place or dismissed.

Link copied to clipboard

Synchronizes popup overlay requests to the platform presenter and filters out non-popup requests.

Link copied to clipboard

Platform-provided popup presenter that receives declarative specs and content tokens.

Link copied to clipboard
class PopupOverlaySpec(val anchorId: String, val alignment: PopupAlignment = PopupAlignment.BelowStart, val overflowPolicy: PopupOverflowPolicy = PopupOverflowPolicy.FlipThenClamp, val windowMargin: Int = 0, val dismissOnClickOutside: Boolean = true, val focusable: Boolean = true, val offsetX: Int = 0, val offsetY: Int = 0, val onDismissRequest: () -> Unit? = null)

Describes platform-neutral placement, dismissal, and focus behavior for one popup.

Link copied to clipboard
data class PopupPosition(val x: Int, val y: Int, val resolvedAlignment: PopupAlignment, val wasClamped: Boolean)

Result of resolving one popup placement request.

Link copied to clipboard

Resolves anchor-relative popup placement, layout direction, offsets, and viewport overflow.

Link copied to clipboard
data class PopupSize(val width: Int, val height: Int)

Size of a popup in the positioning coordinate space.

Link copied to clipboard
interface ProduceStateScope<T> : CoroutineScope

Writable State scope and coroutine lifetime exposed to a produceState producer.

Link copied to clipboard

Resolves linear and circular progress appearance from theme tokens and independent overrides.

Link copied to clipboard

Default visual tokens for pull-to-refresh components.

Link copied to clipboard
data class RadioButtonOverrides(val labelColor: Int? = null, val disabledLabelColor: Int? = null, val checkedColor: Int? = null, val uncheckedColor: Int? = null, val disabledCheckedColor: Int? = null, val disabledUncheckedColor: Int? = null, val textStyle: UiTextStyle? = null, val stateLayerColors: UiStateLayerColors? = null, val minimumHeight: UiDp? = null)

Selectively replaces RadioButton appearance without affecting Checkbox or Switch.

Link copied to clipboard
data class RenderFailure(val frameId: Long?, val phase: RenderFailurePhase, val recovery: RenderFailureRecovery, val cause: Throwable, val operation: RenderFailureOperation? = null, val nodeKey: Any? = null)

Structured record for one render-session failure.

Link copied to clipboard

Native Android-view interoperability operation associated with a failure.

Link copied to clipboard

Stage in the render-session pipeline where an operation failed.

Link copied to clipboard

State guaranteed by the framework after a render failure has been handled.

Link copied to clipboard
data class RenderFrameReport(val frameId: Long, val status: RenderFrameStatus, val failures: List<RenderFailure> = emptyList())

Result of one completed synchronous render attempt.

Link copied to clipboard

Final status of one synchronous render attempt.

Link copied to clipboard

Reconciliation operations reported by the renderer.

Link copied to clipboard
data class RenderPatchRecord(val operation: RenderPatchOperation, val type: NodeType, val key: Any?, val parentKey: Any?, val index: Int, val moved: Boolean = false, val detail: String? = null, val toolingMetadata: UiNodeToolingMetadata? = null)

One ordered reconciliation operation applied to the mounted tree.

Link copied to clipboard
class RenderSession(container: RenderContainerHandle, content: UiTreeBuilder.() -> Unit, debug: Boolean = false, debugTag: String = "ViewCompose", overlayHost: OverlayHost = OverlayHostDefaults.noOp, onRenderStats: (RenderStats) -> Unit? = null, onRenderResult: (RenderTreeResult) -> Unit? = null, onRenderFailure: (RenderFailure) -> Unit? = null)

Owns composition, rendering, effects, overlays, and cleanup for one renderer container.

Link copied to clipboard

Creates the focus adapter associated with one renderer-owned container.

Link copied to clipboard

Platform diagnostics used by the composition-to-render session coordinator.

Link copied to clipboard

Scheduling policy that coalesces, defers, or immediately runs RenderSession requests.

Link copied to clipboard

Platform factory for creating one scheduling runtime per RenderSession.

Link copied to clipboard

Lifecycle handle for a source session registered through RenderSessionSourceTooling.

Link copied to clipboard

Q3 platform adapter for tracking the source and visibility lifetime of nested render sessions.

Link copied to clipboard
data class RenderStats(val inserts: Int = 0, val reuses: Int = 0, val removals: Int = 0, val reboundNodes: Int = 0, val patchedNodes: Int = 0, val skippedBindings: Int = 0, val skippedSubtrees: Int = 0, val bindingsByType: Map<NodeType, NodeTypeBindingStats> = emptyMap())

Aggregate renderer binding statistics for one frame.

Link copied to clipboard
data class RenderStructureStats(val vnodeCount: Int = 0, val mountedNodeCount: Int = 0, val maxVNodeDepth: Int = 0, val maxMountedDepth: Int = 0)

Size and depth statistics for declarative and mounted trees.

Link copied to clipboard
data class RenderTreeNode(val type: NodeType, val key: Any?, val toolingMetadata: UiNodeToolingMetadata? = null, val children: List<RenderTreeNode> = emptyList())

Platform-independent node in a diagnostic render-tree snapshot.

Link copied to clipboard
data class RenderTreeResult(val stats: RenderStats = RenderStats(), val structure: RenderStructureStats = RenderStructureStats(), val warnings: List<String> = emptyList(), val tree: List<RenderTreeNode> = emptyList(), val patches: List<RenderPatchRecord> = emptyList(), val composition: CompositionDiagnostics = CompositionDiagnostics())

Complete opt-in diagnostics for one render frame.

Link copied to clipboard

A reserved restored value that must be committed or released after composition resolves.

Link copied to clipboard

Row content scope that exposes horizontal-layout-specific parent-data modifiers.

Link copied to clipboard

Coordinates values that survive composition disposal and host recreation.

Link copied to clipboard
class Saver<Original, Saveable>(val save: (Original) -> Saveable, val restore: (Saveable) -> Original)

Converts a state holder or domain value to and from a host-saveable representation.

Link copied to clipboard

Default container and content colors for scaffold components.

Link copied to clipboard

Builds nested scrollable content without exposing the outer UiTreeBuilder.

Link copied to clipboard

Resolves SearchBar defaults from the current theme.

Link copied to clipboard

Resolves segmented-control appearance from theme tokens and scoped overrides.

Link copied to clipboard
data class SegmentedControlOverrides(val containerColor: Int? = null, val disabledContainerColor: Int? = null, val indicatorColor: Int? = null, val disabledIndicatorColor: Int? = null, val contentColor: Int? = null, val disabledContentColor: Int? = null, val selectedContentColor: Int? = null, val disabledSelectedContentColor: Int? = null, val shape: UiShape? = null, val textStyle: UiTextStyle? = null, val unselectedStateLayerColors: UiStateLayerColors? = null, val selectedStateLayerColors: UiStateLayerColors? = null, val minimumHeight: UiDp? = null, val horizontalPadding: UiDp? = null, val verticalPadding: UiDp? = null)

Selectively replaces SegmentedControl appearance resolved by SegmentedControlDefaults.

Link copied to clipboard

Interaction-density tier used to select segmented-control dimensions and typography.

Link copied to clipboard

Reconciles platform surface handles by session-scoped declarative identity.

Link copied to clipboard
data class SliderOverrides(val thumbColor: Int? = null, val activeTrackColor: Int? = null, val inactiveTrackColor: Int? = null, val disabledThumbColor: Int? = null, val disabledActiveTrackColor: Int? = null, val disabledInactiveTrackColor: Int? = null, val minimumHeight: UiDp? = null)

Selectively replaces Slider appearance while preserving separate thumb and track roles.

Link copied to clipboard

Defines how long a snackbar presenter keeps an entry visible.

Link copied to clipboard

Platform-provided entry point for showing and dismissing snackbars.

Link copied to clipboard
class SnackbarOverlaySpec(val message: String, val actionLabel: String? = null, val duration: SnackbarDuration = SnackbarDuration.Short, val queuePolicy: TransientFeedbackQueuePolicy = TransientFeedbackQueuePolicy.Enqueue, val onAction: () -> Unit? = null, val onDismiss: (TransientFeedbackDismissReason) -> Unit? = null)

Describes snackbar content, duration, callbacks, and queue behavior.

Link copied to clipboard

Explicitly declares that keyed content has no changing ordinary non-State inputs.

Link copied to clipboard

Default visual and interaction tokens for surface components.

Link copied to clipboard

Semantic color variants for surface components.

Link copied to clipboard
data class SwitchOverrides(val labelColor: Int? = null, val disabledLabelColor: Int? = null, val checkedThumbColor: Int? = null, val uncheckedThumbColor: Int? = null, val disabledCheckedThumbColor: Int? = null, val disabledUncheckedThumbColor: Int? = null, val checkedTrackColor: Int? = null, val uncheckedTrackColor: Int? = null, val disabledCheckedTrackColor: Int? = null, val disabledUncheckedTrackColor: Int? = null, val textStyle: UiTextStyle? = null, val stateLayerColors: UiStateLayerColors? = null, val minimumHeight: UiDp? = null)

Selectively replaces Switch appearance without collapsing thumb and track state roles.

Link copied to clipboard

Resolves TabRow appearance from theme tokens and scoped overrides.

Link copied to clipboard
data class TabRowOverrides(val indicatorColor: Int? = null, val indicatorHeight: UiDp? = null, val indicatorCornerRadius: UiDp? = null, val indicatorPosition: TabIndicatorPosition? = null, val indicatorWidthMode: TabIndicatorWidthMode? = null, val indicatorFixedWidth: UiDp? = null, val containerColor: Int? = null, val scrollable: Boolean? = null, val equalWidth: Boolean? = null, val unselectedStateLayerColors: UiStateLayerColors? = null, val selectedStateLayerColors: UiStateLayerColors? = null, val itemSpacing: UiDp? = null, val itemPaddingHorizontal: UiDp? = null, val itemPaddingVertical: UiDp? = null, val minimumItemWidth: UiDp? = null)

Selectively replaces TabRow appearance and visual layout policy.

Link copied to clipboard

Declares eager keyed tab children in the parent composition.

Link copied to clipboard

Resolves default typography and color values for text components.

Link copied to clipboard

Resolves TextField appearance from the current theme and scoped TextFieldOverrides.

Link copied to clipboard
data class TextFieldInputProfile(val keyboardOptions: TextFieldKeyboardOptions = TextFieldKeyboardOptions(), val autofillHints: Set<TextFieldAutofillHint> = emptySet())

Couples keyboard and autofill semantics for one TextField input purpose.

Link copied to clipboard
sealed interface TextFieldLinePolicy

Defines the visual-line policy for a high-level TextField.

Link copied to clipboard
data class TextFieldOverrides(val containerColor: Int? = null, val disabledContainerColor: Int? = null, val errorContainerColor: Int? = null, val textColor: Int? = null, val disabledTextColor: Int? = null, val errorTextColor: Int? = null, val placeholderColor: Int? = null, val disabledPlaceholderColor: Int? = null, val errorPlaceholderColor: Int? = null, val labelColor: Int? = null, val disabledLabelColor: Int? = null, val errorLabelColor: Int? = null, val supportingTextColor: Int? = null, val disabledSupportingTextColor: Int? = null, val errorSupportingTextColor: Int? = null, val borderColor: Int? = null, val disabledBorderColor: Int? = null, val errorBorderColor: Int? = null, val borderWidth: UiDp? = null, val cursorColor: Int? = null, val shape: UiShape? = null, val textStyle: UiTextStyle? = null, val labelTextStyle: UiTextStyle? = null, val supportingTextStyle: UiTextStyle? = null, val minimumHeight: UiDp? = null, val horizontalPadding: UiDp? = null, val verticalPadding: UiDp? = null)

Selectively replaces low-frequency appearance values resolved by TextField.

Link copied to clipboard

Interaction-density tier used to select TextField dimensions and typography.

Link copied to clipboard

Visual treatment used to select TextField container and border defaults.

Link copied to clipboard
object TextStyle

Exposes the default text style for the current composition scope.

Link copied to clipboard
object Theme

Exposes the immutable theme snapshot and its token families for the current composition.

Link copied to clipboard

Defines how long a toast presenter keeps an entry visible.

Link copied to clipboard

Platform-provided entry point for showing and dismissing toasts.

Link copied to clipboard
class ToastOverlaySpec(val message: String, val duration: ToastDuration = ToastDuration.Short, val queuePolicy: TransientFeedbackQueuePolicy = TransientFeedbackQueuePolicy.Enqueue, val onDismiss: (TransientFeedbackDismissReason) -> Unit? = null)

Describes toast content, duration, callback, and queue behavior.

Link copied to clipboard

Default visual and spacing tokens for plain tooltips.

Link copied to clipboard

Default visual, typography, and size tokens for top app bars.

Link copied to clipboard
data class TopAppBarOverrides(val containerColor: Int? = null, val titleColor: Int? = null, val navigationIconColor: Int? = null, val actionIconColor: Int? = null, val titleStyle: UiTextStyle? = null, val height: UiDp? = null, val horizontalPadding: UiDp? = null, val titleStartPadding: UiDp? = null)

Selectively replaces TopAppBar appearance and visual spacing.

Link copied to clipboard

Identifies why a transient-feedback entry stopped being visible or was never shown.

Link copied to clipboard

Manages snackbar/toast queueing, replacement, and clearing while delegating final presentation to platform presenters.

Link copied to clipboard

Controls how a transient-feedback request interacts with active and pending entries.

Link copied to clipboard
data class TransientFeedbackQueueSnapshot(val active: OverlayEntryId?, val pending: List<OverlayEntryId>, val consumed: Set<OverlayEntryId>)

Immutable diagnostic snapshot of a transient-feedback queue.

Link copied to clipboard

Semantic size tiers used to select typography tokens.

Link copied to clipboard
data class UiAppBarSizing(val topHeight: UiDp, val topHorizontalPadding: UiDp, val topTitleStartPadding: UiDp, val bottomHeight: UiDp, val bottomHorizontalPadding: UiDp, val bottomElevation: UiDp)

Defines top and bottom app-bar dimensions.

Link copied to clipboard
data class UiBadgeSizing(val dotSize: UiDp, val pillHeight: UiDp, val pillMinWidth: UiDp, val pillHorizontalPadding: UiDp)

Defines dot and labeled badge dimensions.

Link copied to clipboard
data class UiButtonSizing(val compactHeight: UiDp, val mediumHeight: UiDp, val largeHeight: UiDp, val compactHorizontalPadding: UiDp, val mediumHorizontalPadding: UiDp, val largeHorizontalPadding: UiDp, val compactVerticalPadding: UiDp, val mediumVerticalPadding: UiDp, val largeVerticalPadding: UiDp, val compactVisualHeight: UiDp = compactHeight, val mediumVisualHeight: UiDp = mediumHeight, val largeVisualHeight: UiDp = largeHeight)

Defines effective target and visible-container dimensions for each Button size tier.

Link copied to clipboard
data class UiChipSizing(val height: UiDp, val horizontalPadding: UiDp, val leadingIconPadding: UiDp, val iconSize: UiDp, val trailingIconSize: UiDp, val iconSpacing: UiDp)

Defines dimensions for compact labeled chips.

Link copied to clipboard
data class UiColors(val background: Int, val onBackground: Int = contentColorFor(background), val surface: Int, val surfaceVariant: Int, val surfaceDim: Int = surface, val surfaceBright: Int = surface, val surfaceContainerLowest: Int = background, val surfaceContainerLow: Int = surface, val surfaceContainer: Int = surface, val surfaceContainerHigh: Int = surfaceVariant, val surfaceContainerHighest: Int = surfaceVariant, val onSurface: Int, val onSurfaceVariant: Int, val primary: Int, val onPrimary: Int = contentColorFor(primary), val primaryContainer: Int = primary, val onPrimaryContainer: Int = contentColorFor(primaryContainer), val secondary: Int, val onSecondary: Int = contentColorFor(secondary), val secondaryContainer: Int = secondary, val onSecondaryContainer: Int = contentColorFor(secondaryContainer), val tertiary: Int = secondary, val onTertiary: Int = contentColorFor(tertiary), val tertiaryContainer: Int = tertiary, val onTertiaryContainer: Int = contentColorFor(tertiaryContainer), val error: Int, val onError: Int = contentColorFor(error), val errorContainer: Int = error, val onErrorContainer: Int = contentColorFor(errorContainer), val success: Int, val warning: Int, val info: Int, val outline: Int, val outlineVariant: Int = outline, val surfaceTint: Int = primary, val inverseSurface: Int = onSurface, val inverseOnSurface: Int = background, val inversePrimary: Int = primary, val scrim: Int = 0xFF000000.toInt())

Stores the complete semantic color scheme as packed ARGB integers.

Link copied to clipboard
data class UiComponentAttribution(val familyId: String, val recipeId: String, val backend: UiComponentBackend, val conformance: UiDesignConformance, val capabilityPath: String, val fallback: String = "none")

Immutable diagnostic attribution for one design-system component family.

Link copied to clipboard

Selects the design-system-neutral execution strategy behind a component recipe.

Link copied to clipboard

Creates the framework baseline core component dimensions.

Link copied to clipboard
data class UiControlSizing(val button: UiButtonSizing, val textField: UiTextFieldSizing, val segmentedControl: UiSegmentedControlSizing, val progressIndicator: UiProgressIndicatorSizing, val fab: UiFabSizing = UiFabSizing.default(), val chip: UiChipSizing = UiChipSizing.default(), val searchBar: UiSearchBarSizing = UiSearchBarSizing.default(), val navigationBar: UiNavigationBarSizing = UiNavigationBarSizing.default(), val appBar: UiAppBarSizing = UiAppBarSizing.default(), val listItem: UiListItemSizing = UiListItemSizing.default(), val menu: UiMenuSizing = UiMenuSizing.default(), val tooltip: UiTooltipSizing = UiTooltipSizing.default(), val badge: UiBadgeSizing = UiBadgeSizing.default(), val switch: UiSwitchSizing = UiSwitchSizing.default(), val minimumInteractiveHeight: UiDp = UiDp.Zero)

Aggregates all core component sizing token families.

Link copied to clipboard

Reports the accepted fidelity result for one component recipe and capability path.

Link copied to clipboard
data class UiDesignSystemAttribution(val designSystemId: String, val recipeSetId: String, val components: List<UiComponentAttribution>, val integrations: List<UiIntegrationAttribution> = emptyList())

Immutable identity and component-attribution snapshot for one active design-system scope.

Link copied to clipboard
annotation class UiDslMarker

DSL marker that limits receiver visibility in nested widget DSL scopes.

Link copied to clipboard

Supplies deterministic environment defaults when no platform configuration is available.

Link copied to clipboard
data class UiFabSizing(val smallSize: UiDp, val mediumSize: UiDp, val largeSize: UiDp, val smallIconSize: UiDp, val mediumIconSize: UiDp, val largeIconSize: UiDp, val elevation: UiDp, val extendedHeight: UiDp, val extendedHorizontalPadding: UiDp, val extendedIconSpacing: UiDp)

Defines dimensions and elevation for floating action buttons.

Link copied to clipboard
data class UiIntegrationAttribution(val capabilityId: String, val transportId: String, val presenterId: String, val conformance: UiDesignConformance, val fallback: String = "none")

Immutable diagnostic attribution for one platform or library integration capability.

Link copied to clipboard
data class UiInteractionTokens(val pressedStateLayerOpacity: Float, val focusedStateLayerOpacity: Float = pressedStateLayerOpacity, val hoveredStateLayerOpacity: Float = focusedStateLayerOpacity)

Defines design-system-neutral opacity policy for transient component state layers.

Link copied to clipboard
data class UiListItemSizing(val minHeight: UiDp, val horizontalPadding: UiDp, val verticalPadding: UiDp, val leadingTrailingSpacing: UiDp, val textSpacing: UiDp)

Defines list-item content spacing and minimum height.

Link copied to clipboard
class UiLocal<T>

Application-facing handle for a typed, thread-scoped ViewCompose local value.

Link copied to clipboard

One pending local/value binding used by ProvideLocals for batch installation.

Link copied to clipboard
object UiLocals

Reads typed local values from the current thread-scoped composition context.

Link copied to clipboard

Opaque snapshot of every active ViewCompose local.

Link copied to clipboard
data class UiMenuSizing(val elevation: UiDp, val minWidth: UiDp, val verticalPadding: UiDp, val itemHeight: UiDp, val itemHorizontalPadding: UiDp, val iconSize: UiDp, val iconToTextSpacing: UiDp)

Defines menu surface, item, and icon dimensions.

Link copied to clipboard
data class UiNavigationBarSizing(val height: UiDp, val iconSize: UiDp, val labelSizeSp: UiSp)

Defines bottom navigation-bar dimensions.

Link copied to clipboard

Creates the framework baseline modal overlay tokens.

Link copied to clipboard
data class UiOverlays(val scrimOpacity: Float)

Defines visual tokens shared by modal overlays.

Link copied to clipboard
data class UiProgressIndicatorSizing(val linearTrackThickness: UiDp, val circularSize: UiDp, val circularTrackThickness: UiDp)

Defines dimensions shared by linear and circular progress indicators.

Link copied to clipboard
data class UiSearchBarSizing(val height: UiDp, val horizontalPadding: UiDp, val iconSize: UiDp, val iconSpacing: UiDp, val elevation: UiDp)

Defines search-bar dimensions and resting elevation.

Link copied to clipboard
data class UiSegmentedControlSizing(val compactHeight: UiDp, val mediumHeight: UiDp, val largeHeight: UiDp, val compactHorizontalPadding: UiDp, val mediumHorizontalPadding: UiDp, val largeHorizontalPadding: UiDp, val compactVerticalPadding: UiDp, val mediumVerticalPadding: UiDp, val largeVerticalPadding: UiDp)

Defines compact, medium, and large segmented-control dimensions.

Link copied to clipboard

Creates the framework baseline component shape tiers.

Link copied to clipboard
data class UiShapes(val small: UiShape, val medium: UiShape, val large: UiShape = medium, val extraSmall: UiShape = small, val extraLarge: UiShape = large, val full: UiShape = UiShape.roundedRelative(0.5f))

Defines the complete semantic corner scale available to component defaults.

Link copied to clipboard
data class UiStateColor(val defaultColor: Int, val disabledColor: Int = defaultColor, val pressedColor: Int = defaultColor, val focusedColor: Int = pressedColor, val checkedColor: Int = defaultColor, val selectedColor: Int = checkedColor)

Stores one semantic color across enabled and interactive states.

Link copied to clipboard

Derives framework state-color roles from a semantic UiColors scheme.

Link copied to clipboard
data class UiStateColors(val primaryText: UiStateColor, val secondaryText: UiStateColor, val control: UiStateColor, val controlActivated: UiStateColor)

Groups state-aware colors commonly consumed by component defaults.

Link copied to clipboard
data class UiSwitchSizing(val trackWidth: UiDp, val trackHeight: UiDp, val thumbDiameter: UiDp, val trackPadding: UiDp, val labelSpacing: UiDp)

Defines the visible geometry of a design-owned Switch composite.

Link copied to clipboard
data class UiTextFieldSizing(val compactHeight: UiDp, val mediumHeight: UiDp, val largeHeight: UiDp, val compactHorizontalPadding: UiDp, val mediumHorizontalPadding: UiDp, val largeHorizontalPadding: UiDp, val compactVerticalPadding: UiDp, val mediumVerticalPadding: UiDp, val largeVerticalPadding: UiDp)

Defines compact, medium, and large text-field dimensions.

Link copied to clipboard
data class UiTextStyle(val fontSizeSp: UiSp, val fontWeight: Int? = null, val fontFamily: Typeface? = null, val letterSpacingEm: Float? = null, val lineHeightSp: UiSp? = null, val includeFontPadding: Boolean = false, val textDecoration: TextDecoration? = null)

Defines an Android-rendered text style independent from a particular widget.

Link copied to clipboard

Creates complete built-in light and dark theme snapshots without reading Android resources.

Link copied to clipboard
data class UiThemeMetadata(val origin: UiThemeOrigin = UiThemeOrigin.Custom, val isDark: Boolean? = null, val revision: Long = 0, val provenance: UiTokenProvenance = UiTokenProvenance( sourceId = origin.name, defaultOrigin = origin, ))

Carries non-visual theme diagnostics without affecting token resolution.

Link copied to clipboard

Identifies the source that produced a theme snapshot for diagnostics and host bridging.

Link copied to clipboard
data class UiThemeTokens(val colors: UiColors, val typography: UiTypography, val stateColors: UiStateColors = UiStateColorDefaults.from(colors), val shapes: UiShapes = UiShapeDefaults.default(), val controls: UiControlSizing = UiControlSizeDefaults.default(), val interactions: UiInteractionTokens = defaultInteractionTokens(), val overlays: UiOverlays = UiOverlayDefaults.default(), val metadata: UiThemeMetadata = UiThemeMetadata())

Immutable theme snapshot consumed by component defaults and renderers.

Link copied to clipboard
data class UiTokenProvenance(val sourceId: String, val defaultOrigin: UiThemeOrigin, val tokenOrigins: Map<String, UiThemeOrigin> = emptyMap())

Describes where effective token values originated without changing visual resolution.

Link copied to clipboard
data class UiTooltipSizing(val horizontalPadding: UiDp, val verticalPadding: UiDp)

Defines padding inside a tooltip surface.

Link copied to clipboard
open class UiTreeBuilder

ViewCompose declarative tree builder that collects widget DSL calls into platform-neutral VNode lists.

Link copied to clipboard
data class UiTypography(val titleMedium: UiTextStyle, val bodyMedium: UiTextStyle, val labelMedium: UiTextStyle, val titleLarge: UiTextStyle = titleMedium, val titleSmall: UiTextStyle = titleMedium, val bodyLarge: UiTextStyle = bodyMedium, val bodySmall: UiTextStyle = bodyMedium, val labelLarge: UiTextStyle = labelMedium, val labelSmall: UiTextStyle = labelMedium, val headlineLarge: UiTextStyle = titleLarge, val headlineMedium: UiTextStyle = titleMedium, val headlineSmall: UiTextStyle = titleSmall, val displayLarge: UiTextStyle = headlineLarge, val displayMedium: UiTextStyle = headlineMedium, val displaySmall: UiTextStyle = headlineSmall)

Groups display, headline, title, body, and label typography at three semantic tiers.

Link copied to clipboard

Widget layer marker for declarative core widget capabilities and dependency-chain identification.

Properties

Link copied to clipboard

Default semantic content color inherited by text and icon components.

Link copied to clipboard
val LocalDensity: UiLocal<UiDensity>

The current density. Kept separate from locale and direction so scoped overrides are explicit.

Link copied to clipboard
val LocalLayoutDirection: UiLocal<UiLayoutDirection>

Current logical layout direction used to resolve start and end edges.

Link copied to clipboard
val LocalLocales: UiLocal<UiLocaleList>

Current ordered locale preferences for resource and formatting decisions.

Link copied to clipboard

Optional callback propagated through locals so child render sessions (lazy/pager/overlay session hosts) can report render diagnostics.

Link copied to clipboard

Current host-scoped resource invalidation identity.

Link copied to clipboard

Default text style inherited by text-bearing components.

Functions

Link copied to clipboard
fun UiTreeBuilder.AlertDialog(visible: Boolean, title: String, text: String, confirmButtonText: String, onConfirm: () -> Unit, dismissButtonText: String? = null, onDismiss: () -> Unit? = null, icon: ImageSource? = null, overrides: AlertDialogOverrides = AlertDialogOverrides.None, requestKey: String = "alert_dialog", dismissOnBackPress: Boolean = true, dismissOnClickOutside: Boolean = true, onDismissRequest: () -> Unit? = null)

Emits a standard confirmation dialog composite.

Link copied to clipboard
fun <T> autoSaver(): Saver<T, Any?>

Returns the default saver for host-compatible values and MutableState.

Link copied to clipboard
fun UiTreeBuilder.Badge(count: Int? = null, overrides: BadgeOverrides = BadgeOverrides.None, key: Any? = null, modifier: Modifier = Modifier)

Emits a dot or labeled badge using one resolved appearance snapshot.

Link copied to clipboard
fun UiTreeBuilder.BadgedBox(badge: UiTreeBuilder.() -> Unit, key: Any? = null, modifier: Modifier = Modifier, content: BoxScope.() -> Unit)

Overlays badge content at the logical top-end corner of primary content.

Link copied to clipboard
fun UiTreeBuilder.BasicButton(text: String, onClick: () -> Unit?, style: BasicButtonStyle, enabled: Boolean = true, leadingIcon: ImageSource? = null, trailingIcon: ImageSource? = null, key: Any? = null, modifier: Modifier = Modifier)

Emits a design-system-neutral text action composed from BasicSurface, Row, Text, and Icon.

Link copied to clipboard
fun UiTreeBuilder.BasicSurface(style: BasicSurfaceStyle, contentColor: Int, enabled: Boolean = true, onClick: () -> Unit? = null, minimumWidth: UiDp = UiDp.Zero, minimumHeight: UiDp = UiDp.Zero, visualHeight: UiDp? = null, role: SemanticsRole? = null, key: Any? = null, contentAlignment: BoxAlignment = BoxAlignment.TopStart, modifier: Modifier = Modifier, content: BoxScope.() -> Unit)

Emits a design-system-neutral surface from fully resolved visual and interaction values.

Link copied to clipboard
fun UiTreeBuilder.BasicTextField(state: TextFieldState, style: BasicTextFieldStyle, hint: String = "", placeholder: String = hint, enabled: Boolean = true, singleLine: Boolean = true, readOnly: Boolean = false, maxLines: Int = if (singleLine) 1 else Int.MAX_VALUE, minLines: Int = if (singleLine) 1 else 1, keyboardOptions: TextFieldKeyboardOptions = TextFieldKeyboardOptions(), inputTransformation: InputTransformation? = null, receiveContent: ReceiveContentConfiguration = ReceiveContentConfiguration.Default, onKeyboardAction: (TextFieldImeAction) -> Boolean? = null, onFocusChange: (Boolean) -> Unit? = null, autofillHints: Set<TextFieldAutofillHint> = emptySet(), key: Any? = null, modifier: Modifier = Modifier)

Emits the low-level text input node without outer label or supporting text.

Link copied to clipboard
fun UiTreeBuilder.BottomAppBar(overrides: BottomAppBarOverrides = BottomAppBarOverrides.None, key: Any? = null, modifier: Modifier = Modifier, content: RowScope.() -> Unit)

Emits a bottom app bar and provides its resolved content role to descendants.

Link copied to clipboard
fun UiTreeBuilder.Box(key: Any? = null, contentAlignment: BoxAlignment = BoxAlignment.TopStart, modifier: Modifier = Modifier, content: BoxScope.() -> Unit)

Overlays children in one layout container without adding interaction behavior.

Link copied to clipboard
fun buildVNodeTree(content: UiTreeBuilder.() -> Unit): List<VNode>

Builds one VNode tree without requiring a host session.

Link copied to clipboard
fun UiTreeBuilder.Button(text: String, onClick: () -> Unit? = null, leadingIcon: ImageSource.Resource? = null, trailingIcon: ImageSource.Resource? = null, variant: ButtonVariant = ButtonVariant.Primary, size: ButtonSize = ButtonSize.Medium, enabled: Boolean = true, overrides: ButtonOverrides = ButtonOverrides.None, key: Any? = null, modifier: Modifier = Modifier)

Displays a themed text action and invokes onClick for an accepted enabled click.

Link copied to clipboard

Captures currently active ViewCompose locals.

Link copied to clipboard
fun UiTreeBuilder.Card(onClick: () -> Unit? = null, variant: CardVariant = CardVariant.Filled, enabled: Boolean = true, key: Any? = null, modifier: Modifier = Modifier, content: BoxScope.() -> Unit)

Creates a themed card whose variant selects fill, border, and elevation roles.

Link copied to clipboard
fun UiTreeBuilder.Checkbox(text: String, checked: Boolean, onCheckedChange: (Boolean) -> Unit, enabled: Boolean = true, overrides: CheckboxOverrides = CheckboxOverrides.None, key: Any? = null, modifier: Modifier = Modifier)

Displays a labeled checkbox and reports accepted checked-state changes.

Link copied to clipboard
fun UiTreeBuilder.Chip(label: String, onClick: () -> Unit, variant: ChipVariant = ChipVariant.Assist, selected: Boolean = false, leadingIcon: ImageSource? = null, onTrailingIconClick: () -> Unit? = null, enabled: Boolean = true, key: Any? = null, modifier: Modifier = Modifier)

Creates a compact themed action with optional selected and icon regions.

Link copied to clipboard
fun UiTreeBuilder.CircularProgressIndicator(progress: Float? = null, overrides: CircularProgressIndicatorOverrides = CircularProgressIndicatorOverrides.None, key: Any? = null, modifier: Modifier = Modifier)

Emits a circular determinate or indeterminate progress indicator.

Link copied to clipboard
fun UiTreeBuilder.Column(key: Any? = null, spacing: UiDp = UiDp.Zero, arrangement: MainAxisArrangement = MainAxisArrangement.Start, horizontalAlignment: HorizontalAlignment = HorizontalAlignment.Start, modifier: Modifier = Modifier, content: ColumnScope.() -> Unit)

Places eager children along a vertical main axis.

Link copied to clipboard
fun createOverlaySurfaceSession(container: RenderContainerHandle, content: OverlaySurfaceContent): OverlaySurfaceSession

Creates an independent surface session for a platform overlay container.

Link copied to clipboard
fun createSaveableStateRegistry(restoredValues: Map<String, Any?> = emptyMap(), canBeSaved: (Any?) -> Boolean = { true }): SaveableStateRegistry

Creates the thread-safe default SaveableStateRegistry.

Link copied to clipboard

Provides one bounded design-system diagnostic snapshot while building content.

Link copied to clipboard
fun UiTreeBuilder.Dialog(visible: Boolean, requestKey: String = "dialog", dismissOnBackPress: Boolean = true, dismissOnClickOutside: Boolean = true, position: DialogPosition = DialogPosition.Center, scrimOpacity: Float = Theme.overlays.scrimOpacity, onDismissRequest: () -> Unit? = null, content: UiTreeBuilder.() -> Unit)

Submits custom DSL content as a keyed modal dialog overlay.

Link copied to clipboard

Rejects a disposable effect without an explicit lifecycle identity.

Starts cleanup-aware synchronous work after a successful frame commits.

Starts cleanup-aware work identified by a non-empty structural key list.

Starts cleanup-aware work identified by two structural keys.

fun DisposableEffect(key1: Any?, key2: Any?, key3: Any?, effect: DisposableEffectScope.() -> DisposableEffectResult)

Starts cleanup-aware work identified by three structural keys.

Link copied to clipboard
fun UiTreeBuilder.Divider(color: Int = DividerDefaults.color(), thickness: UiDp = DividerDefaults.thickness(), key: Any? = null, modifier: Modifier = Modifier)

Draws a solid divider with a theme-resolved default thickness.

Link copied to clipboard
fun UiTreeBuilder.DropdownMenu(expanded: Boolean, anchorId: String, onDismissRequest: () -> Unit, alignment: PopupAlignment = PopupAlignment.BelowStart, overflowPolicy: PopupOverflowPolicy = PopupOverflowPolicy.FlipThenClamp, windowMargin: UiDp = 8.dp, requestKey: String = "dropdown_menu", modifier: Modifier = Modifier, content: ColumnScope.() -> Unit)

Shows themed menu content in a focusable popup anchored to anchorId.

Link copied to clipboard
fun UiTreeBuilder.DropdownMenuItem(text: String, onClick: () -> Unit, leadingIcon: ImageSource? = null, trailingText: String? = null, enabled: Boolean = true, modifier: Modifier = Modifier)

Creates one full-width action row for a dropdown menu.

Link copied to clipboard
fun UiTreeBuilder.ExtendedFloatingActionButton(text: String, onClick: () -> Unit, icon: ImageSource? = null, overrides: ExtendedFloatingActionButtonOverrides = ExtendedFloatingActionButtonOverrides.None, key: Any? = null, modifier: Modifier = Modifier)

Emits an extended floating action button with a label and optional icon.

Link copied to clipboard
fun UiTreeBuilder.FloatingActionButton(onClick: () -> Unit, size: FabSize = FabSize.Medium, overrides: FloatingActionButtonOverrides = FloatingActionButtonOverrides.None, key: Any? = null, modifier: Modifier = Modifier, content: UiTreeBuilder.() -> Unit)

Emits a semantic floating action button with a caller-owned content slot.

Link copied to clipboard
fun UiTreeBuilder.FlowColumn(key: Any? = null, horizontalSpacing: UiDp = UiDp.Zero, verticalSpacing: UiDp = UiDp.Zero, maxItemsInEachColumn: Int = Int.MAX_VALUE, modifier: Modifier = Modifier, content: LayoutScope.() -> Unit)

Places eager children top-to-bottom and wraps them into additional columns.

Link copied to clipboard
fun UiTreeBuilder.FlowRow(key: Any? = null, horizontalSpacing: UiDp = UiDp.Zero, verticalSpacing: UiDp = UiDp.Zero, maxItemsInEachRow: Int = Int.MAX_VALUE, modifier: Modifier = Modifier, content: LayoutScope.() -> Unit)

Places eager children left-to-right and wraps them into additional rows.

Link copied to clipboard
fun UiTreeBuilder.HorizontalPager(currentPage: Int, onPageChanged: (Int) -> Unit, pagerState: PagerState? = null, offscreenPageLimit: Int = -1, userScrollEnabled: Boolean = true, reusePolicy: CollectionReusePolicy = CollectionReusePolicy(), motionPolicy: CollectionMotionPolicy = CollectionMotionPolicy(), key: Any? = null, modifier: Modifier = Modifier, pages: HorizontalPagerScope.() -> Unit)

Emits a horizontal pager with one keyed lazy session per page.

Link copied to clipboard
fun UiTreeBuilder.Icon(source: ImageSource?, contentDescription: String? = null, tint: Int = IconDefaults.tint(), size: UiDp = IconDefaults.size(), requestOptions: UiImageRequestOptions = UiImageRequestOptions(), key: Any? = null, modifier: Modifier = Modifier)

Emits fixed-size icon content using the current content color and image loader.

Link copied to clipboard
fun UiTreeBuilder.IconButton(icon: ImageSource?, contentDescription: String? = null, onClick: () -> Unit? = null, variant: ButtonVariant = ButtonVariant.Text, size: ButtonSize = ButtonSize.Medium, requestOptions: UiImageRequestOptions = UiImageRequestOptions(), enabled: Boolean = true, overrides: IconButtonOverrides = IconButtonOverrides.None, key: Any? = null, modifier: Modifier = Modifier)

Emits an icon-only button whose image uses the current scoped loader.

Link copied to clipboard
fun UiTreeBuilder.Image(source: ImageSource?, contentDescription: String? = null, contentScale: ImageContentScale = ImageContentScale.Fit, tint: Int? = null, placeholder: ImageSource.Resource? = null, error: ImageSource.Resource? = placeholder, fallback: ImageSource.Resource? = placeholder, requestOptions: UiImageRequestOptions = UiImageRequestOptions(), key: Any? = null, modifier: Modifier = Modifier)

Emits image content backed by a resource or the current scoped image loader.

Link copied to clipboard

Atomically installs the platform capabilities required by every RenderSession.

Link copied to clipboard
fun <T> key(vararg keys: Any?, block: () -> T): T

Declares stable identity for a composition subtree so state follows business keys instead of call-order reuse.

Link copied to clipboard
fun LaunchedEffect(block: suspend CoroutineScope.() -> Unit)

Rejects a launched effect without an explicit lifecycle identity.

fun LaunchedEffect(key1: Any?, block: suspend CoroutineScope.() -> Unit)

Launches composition-owned suspending work after a successful commit.

fun LaunchedEffect(vararg keys: Any?, block: suspend CoroutineScope.() -> Unit)

Launches composition-owned work identified by a non-empty structural key list.

fun LaunchedEffect(key1: Any?, key2: Any?, block: suspend CoroutineScope.() -> Unit)

Launches composition-owned work identified by two structural keys.

fun LaunchedEffect(key1: Any?, key2: Any?, key3: Any?, block: suspend CoroutineScope.() -> Unit)

Launches composition-owned work identified by three structural keys.

Link copied to clipboard
fun UiTreeBuilder.LazyColumn(contentPadding: LazyContentPadding = LazyContentPadding.None, spacing: UiDp = UiDp.Zero, state: LazyListState? = null, reverseLayout: Boolean = false, userScrollEnabled: Boolean = true, prefetchPolicy: LazyLayoutPrefetchPolicy = LazyLayoutPrefetchPolicy(), reusePolicy: CollectionReusePolicy = CollectionReusePolicy(), motionPolicy: CollectionMotionPolicy = CollectionMotionPolicy(), focusFollowKeyboard: Boolean = false, modifier: Modifier = Modifier, content: LazyListScope.() -> Unit)

Virtualizes scoped vertical items while preserving captured locals per active item session.

fun <T> UiTreeBuilder.LazyColumn(items: LazyItemsSnapshot<T>, key: (T) -> Any, contentType: (T) -> Any? = { null }, contentRevision: (T) -> Any? = { it }, contentPadding: UiDp = UiDp.Zero, spacing: UiDp = UiDp.Zero, state: LazyListState? = null, reverseLayout: Boolean = false, userScrollEnabled: Boolean = true, prefetchPolicy: LazyLayoutPrefetchPolicy = LazyLayoutPrefetchPolicy(), reusePolicy: CollectionReusePolicy = CollectionReusePolicy(), motionPolicy: CollectionMotionPolicy = CollectionMotionPolicy(), focusFollowKeyboard: Boolean = false, modifier: Modifier = Modifier, itemContent: UiTreeBuilder.(T) -> Unit)

Virtualizes a copied item snapshot with a bounded whole-table reuse path.

fun <T> UiTreeBuilder.LazyColumn(items: List<T>, key: (T) -> Any, contentType: (T) -> Any? = { null }, contentRevision: (T) -> Any? = { it }, contentPadding: UiDp = UiDp.Zero, spacing: UiDp = UiDp.Zero, state: LazyListState? = null, reverseLayout: Boolean = false, userScrollEnabled: Boolean = true, prefetchPolicy: LazyLayoutPrefetchPolicy = LazyLayoutPrefetchPolicy(), reusePolicy: CollectionReusePolicy = CollectionReusePolicy(), motionPolicy: CollectionMotionPolicy = CollectionMotionPolicy(), focusFollowKeyboard: Boolean = false, modifier: Modifier = Modifier, itemContent: UiTreeBuilder.(T) -> Unit)

Virtualizes vertical list data with explicit logical identity and revision contracts.

Link copied to clipboard
fun UiTreeBuilder.LazyRow(contentPadding: LazyContentPadding = LazyContentPadding.None, spacing: UiDp = UiDp.Zero, state: LazyListState? = null, reverseLayout: Boolean = false, userScrollEnabled: Boolean = true, prefetchPolicy: LazyLayoutPrefetchPolicy = LazyLayoutPrefetchPolicy(), reusePolicy: CollectionReusePolicy = CollectionReusePolicy(), motionPolicy: CollectionMotionPolicy = CollectionMotionPolicy(), modifier: Modifier = Modifier, content: LazyListScope.() -> Unit)

Virtualizes scoped horizontal items while preserving captured locals per active item session.

fun <T> UiTreeBuilder.LazyRow(items: LazyItemsSnapshot<T>, key: (T) -> Any, contentType: (T) -> Any? = { null }, contentRevision: (T) -> Any? = { it }, contentPadding: UiDp = UiDp.Zero, spacing: UiDp = UiDp.Zero, state: LazyListState? = null, reverseLayout: Boolean = false, userScrollEnabled: Boolean = true, prefetchPolicy: LazyLayoutPrefetchPolicy = LazyLayoutPrefetchPolicy(), reusePolicy: CollectionReusePolicy = CollectionReusePolicy(), motionPolicy: CollectionMotionPolicy = CollectionMotionPolicy(), modifier: Modifier = Modifier, itemContent: UiTreeBuilder.(T) -> Unit)

Virtualizes a copied horizontal item snapshot with bounded whole-table reuse.

fun <T> UiTreeBuilder.LazyRow(items: List<T>, key: (T) -> Any, contentType: (T) -> Any? = { null }, contentRevision: (T) -> Any? = { it }, contentPadding: UiDp = UiDp.Zero, spacing: UiDp = UiDp.Zero, state: LazyListState? = null, reverseLayout: Boolean = false, userScrollEnabled: Boolean = true, prefetchPolicy: LazyLayoutPrefetchPolicy = LazyLayoutPrefetchPolicy(), reusePolicy: CollectionReusePolicy = CollectionReusePolicy(), motionPolicy: CollectionMotionPolicy = CollectionMotionPolicy(), modifier: Modifier = Modifier, itemContent: UiTreeBuilder.(T) -> Unit)

Virtualizes horizontal list data with explicit logical identity and revision contracts.

Link copied to clipboard
fun UiTreeBuilder.LazyVerticalGrid(cells: GridCells = GridCells.Fixed(2), contentPadding: LazyContentPadding = LazyContentPadding.None, horizontalSpacing: UiDp = UiDp.Zero, verticalSpacing: UiDp = UiDp.Zero, state: LazyListState? = null, reverseLayout: Boolean = false, userScrollEnabled: Boolean = true, prefetchPolicy: LazyLayoutPrefetchPolicy = LazyLayoutPrefetchPolicy(), reusePolicy: CollectionReusePolicy = CollectionReusePolicy(), motionPolicy: CollectionMotionPolicy = CollectionMotionPolicy(), focusFollowKeyboard: Boolean = false, modifier: Modifier = Modifier, content: LazyGridScope.() -> Unit)

Emits a virtualized vertical grid from explicitly keyed LazyGridScope entries.

fun <T> UiTreeBuilder.LazyVerticalGrid(items: LazyItemsSnapshot<T>, cells: GridCells = GridCells.Fixed(2), key: (T) -> Any, contentType: (T) -> Any? = { null }, contentRevision: (T) -> Any? = { it }, span: (T) -> GridItemSpan = { GridItemSpan.Single }, contentPadding: UiDp = UiDp.Zero, horizontalSpacing: UiDp = UiDp.Zero, verticalSpacing: UiDp = UiDp.Zero, state: LazyListState? = null, reverseLayout: Boolean = false, userScrollEnabled: Boolean = true, prefetchPolicy: LazyLayoutPrefetchPolicy = LazyLayoutPrefetchPolicy(), reusePolicy: CollectionReusePolicy = CollectionReusePolicy(), motionPolicy: CollectionMotionPolicy = CollectionMotionPolicy(), focusFollowKeyboard: Boolean = false, modifier: Modifier = Modifier, itemContent: UiTreeBuilder.(T) -> Unit)

Virtualizes a copied grid snapshot with bounded whole-table reuse.

fun <T> UiTreeBuilder.LazyVerticalGrid(items: List<T>, cells: GridCells = GridCells.Fixed(2), key: (T) -> Any, contentType: (T) -> Any? = { null }, contentRevision: (T) -> Any? = { it }, span: (T) -> GridItemSpan = { GridItemSpan.Single }, contentPadding: UiDp = UiDp.Zero, horizontalSpacing: UiDp = UiDp.Zero, verticalSpacing: UiDp = UiDp.Zero, state: LazyListState? = null, reverseLayout: Boolean = false, userScrollEnabled: Boolean = true, prefetchPolicy: LazyLayoutPrefetchPolicy = LazyLayoutPrefetchPolicy(), reusePolicy: CollectionReusePolicy = CollectionReusePolicy(), motionPolicy: CollectionMotionPolicy = CollectionMotionPolicy(), focusFollowKeyboard: Boolean = false, modifier: Modifier = Modifier, itemContent: UiTreeBuilder.(T) -> Unit)

Emits a virtualized vertical grid from list data and stable item identities.

Link copied to clipboard
fun UiTreeBuilder.LinearProgressIndicator(progress: Float? = null, overrides: LinearProgressIndicatorOverrides = LinearProgressIndicatorOverrides.None, key: Any? = null, modifier: Modifier = Modifier)

Emits a linear determinate or indeterminate progress indicator.

Link copied to clipboard
fun UiTreeBuilder.ListItem(headlineText: String, supportingText: String? = null, overlineText: String? = null, leadingContent: UiTreeBuilder.() -> Unit? = null, trailingContent: UiTreeBuilder.() -> Unit? = null, onClick: () -> Unit? = null, key: Any? = null, modifier: Modifier = Modifier)

Creates one structured list row with optional leading, supporting, and trailing regions.

Link copied to clipboard
fun <T> listSaver(save: (T) -> List<Any?>, restore: (List<Any?>) -> T): Saver<T, List<Any?>>

Creates a saver whose host representation is a list.

Link copied to clipboard
fun <T> mapSaver(save: (T) -> Map<String, Any?>, restore: (Map<String, Any?>) -> T): Saver<T, Map<String, Any?>>

Creates a saver whose host representation is a string-keyed map.

Link copied to clipboard
fun UiTreeBuilder.ModalBottomSheet(visible: Boolean, requestKey: String = "bottom_sheet", dismissOnBackPress: Boolean = true, dismissOnClickOutside: Boolean = true, skipPartiallyExpanded: Boolean = false, overrides: ModalBottomSheetOverrides = ModalBottomSheetOverrides.None, onDismissRequest: () -> Unit? = null, content: UiTreeBuilder.() -> Unit)

Requests a modal bottom sheet with a stable session-scoped identity.

Link copied to clipboard
fun <T, Saveable> mutableStateSaver(valueSaver: Saver<T, Saveable>, policy: SnapshotMutationPolicy<T> = structuralEqualityPolicy()): Saver<MutableState<T>, Saveable>

Creates a MutableState saver by applying valueSaver to the contained value.

Link copied to clipboard
fun UiTreeBuilder.NavigationBar(selectedIndex: Int, onItemSelected: (Int) -> Unit, overrides: NavigationBarOverrides = NavigationBarOverrides.None, key: Any? = null, modifier: Modifier = Modifier, items: NavigationBarScope.() -> Unit)

Emits a bottom navigation bar backed by caller-owned destination selection.

Link copied to clipboard
fun <S : NodeSpec> observedNodeSpec(inputs: List<Any?> = emptyList(), read: () -> S): ObservedNodeSpec<S>

Creates a complete observed NodeSpec for the low-level observed UiTreeBuilder.emit overload.

Link copied to clipboard
fun <T> observedValue(inputs: List<Any?> = emptyList(), read: () -> T): ObservedValue<T>

Creates a typed node-property value observed by the owning RenderSession.

Link copied to clipboard
fun UiThemeTokens.override(colors: UiColors? = null, stateColors: UiStateColors? = null, typography: UiTypography? = null, shapes: UiShapes? = null, controls: UiControlSizing? = null, interactions: UiInteractionTokens? = null, overlays: UiOverlays? = null): UiThemeTokens

Creates an immutable partial override of this theme snapshot.

Link copied to clipboard
fun UiTreeBuilder.PlainTooltip(text: String, visible: Boolean, anchorId: String, alignment: PopupAlignment = PopupAlignment.BelowStart, overflowPolicy: PopupOverflowPolicy = PopupOverflowPolicy.FlipThenClamp, windowMargin: UiDp = 8.dp, dismissOnClickOutside: Boolean = true, onDismissRequest: () -> Unit? = null, requestKey: String = "tooltip")

Shows lightweight text in a non-focusable popup anchored to a rendered semantics id.

Link copied to clipboard
fun UiTreeBuilder.Popup(visible: Boolean, anchorId: String, requestKey: String = "popup", alignment: PopupAlignment = PopupAlignment.BelowStart, overflowPolicy: PopupOverflowPolicy = PopupOverflowPolicy.FlipThenClamp, windowMargin: UiDp = 8.dp, dismissOnClickOutside: Boolean = true, focusable: Boolean = true, offsetX: UiDp = UiDp.Zero, offsetY: UiDp = UiDp.Zero, onDismissRequest: () -> Unit? = null, content: UiTreeBuilder.() -> Unit)

Submits custom DSL content as a keyed popup anchored to a rendered semantics id.

Link copied to clipboard
fun <T> produceState(initialValue: T, vararg keys: Any?, producer: suspend ProduceStateScope<T>.() -> Unit): State<T>

Converts values produced by a composition-scoped coroutine into observable State.

Link copied to clipboard

Merges sparse AlertDialog overrides for content.

Link copied to clipboard

Provides context to animation APIs invoked while building content.

Link copied to clipboard

Merges sparse Badge overrides for content.

Link copied to clipboard

Merges sparse BottomAppBar overrides for content.

Link copied to clipboard

Merges sparse overrides into Button defaults for content.

Link copied to clipboard

Merges sparse overrides into Checkbox defaults for content.

Merges sparse overrides into circular progress defaults for content.

Link copied to clipboard

Merges sparse overrides into IconButton defaults for content.

Link copied to clipboard
fun UiTreeBuilder.ProvideImageLoader(loader: UiImageLoader?, content: UiTreeBuilder.() -> Unit)

Provides an image loader to image components emitted by content.

Link copied to clipboard

Merges sparse overrides into linear progress defaults for content.

Link copied to clipboard
fun <T> UiTreeBuilder.ProvideLocal(local: UiLocal<T>, value: T, content: UiTreeBuilder.() -> Unit)

Provides one UiLocal within the content scope.

Link copied to clipboard
fun UiTreeBuilder.ProvideLocals(vararg values: UiLocalProvider, content: UiTreeBuilder.() -> Unit)

Provides multiple UiLocals in order within the content scope.

Link copied to clipboard

Merges sparse modal-bottom-sheet overrides for content.

Link copied to clipboard
fun UiTreeBuilder.ProvideMonotonicFrameClock(clock: MonotonicFrameClock, content: UiTreeBuilder.() -> Unit)

Provides clock to frame-aware APIs invoked while building content.

Link copied to clipboard

Merges sparse overrides into NavigationBar defaults for content.

Link copied to clipboard

Provides an overlay host within the content scope.

Link copied to clipboard

Merges sparse overrides into RadioButton defaults for content.

Link copied to clipboard
infix fun <T> UiLocal<T>.provides(value: T): UiLocalProvider

Builds one local/value binding.

Link copied to clipboard

Provides registry to saveable-state APIs while content is built.

Link copied to clipboard

Merges sparse overrides into SegmentedControl defaults for content.

Link copied to clipboard

Merges sparse overrides into Slider defaults for content.

Link copied to clipboard

Merges sparse overrides into Switch defaults for content.

Link copied to clipboard

Merges sparse overrides into TabRow defaults for content.

Link copied to clipboard

Merges sparse overrides into TextField defaults for content.

Link copied to clipboard

Merges sparse TopAppBar overrides for content.

Link copied to clipboard
fun UiTreeBuilder.PullToRefresh(isRefreshing: Boolean, onRefresh: () -> Unit, enabled: Boolean = true, indicatorColor: Int = PullToRefreshDefaults.indicatorColor(), key: Any? = null, modifier: Modifier = Modifier, content: ScrollableScope.() -> Unit)

Emits a controlled pull-to-refresh container around one scrollable-content scope.

Link copied to clipboard
fun UiTreeBuilder.RadioButton(text: String, checked: Boolean, onCheckedChange: (Boolean) -> Unit, enabled: Boolean = true, overrides: RadioButtonOverrides = RadioButtonOverrides.None, key: Any? = null, modifier: Modifier = Modifier)

Displays a labeled radio button for a caller-owned mutually exclusive selection flow.

Link copied to clipboard
fun <T> remember(calculation: () -> T): T

Caches one value in the current composition scope.

fun <T> remember(vararg keys: Any?, calculation: () -> T): T

remember whose cached value is invalidated when keys change.

Link copied to clipboard
fun rememberCoroutineScope(getContext: () -> CoroutineContext = { EmptyCoroutineContext }): CoroutineScope

Returns a stable coroutine scope cancelled when this remembered call leaves composition.

Link copied to clipboard
fun rememberLazyListState(initialFirstVisibleItemIndex: Int = 0, initialFirstVisibleItemScrollOffset: Int = 0): LazyListState

Remembers lazy-collection state and restores its first visible item and pixel offset.

Link copied to clipboard
fun <T> rememberSaveable(vararg inputs: Any?, key: String? = null, init: () -> T): T

Remembers init's result and saves it through the current host registry.

fun <T, Saveable> rememberSaveable(vararg inputs: Any?, key: String? = null, saver: Saver<T, Saveable>, init: () -> T): T

Remembers a value and saves or restores it with saver.

Link copied to clipboard
fun rememberTextFieldState(initialDocument: TextDocument, initialSelection: TextRange = TextRange(initialDocument.text.length), historyLimit: Int = TextFieldState.DEFAULT_HISTORY_LIMIT): TextFieldState

Initializes saveable text editor state from a rich text document.

fun rememberTextFieldState(initialText: String = "", initialSelection: TextRange = TextRange(initialText.length), historyLimit: Int = TextFieldState.DEFAULT_HISTORY_LIMIT): TextFieldState

Remembers a stable text editor state and restores text plus directional selection after host recreation. Active IME composition and undo history are intentionally session-local.

Link copied to clipboard
fun <T> rememberUpdatedState(newValue: T): State<T>

Returns a stable state holder that publishes newValue only when the candidate frame commits.

Link copied to clipboard
fun UiTreeBuilder.RichText(document: TextDocument, style: UiTextStyle = TextDefaults.currentStyle(), color: Int = TextDefaults.primaryColor(), maxLines: Int = Int.MAX_VALUE, overflow: TextOverflow = TextOverflow.Clip, textAlign: TextAlign = TextAlign.Start, textDecoration: TextDecoration = style.textDecoration ?: TextDecoration.None, key: Any? = null, modifier: Modifier = Modifier)

Displays an immutable rich-text document while preserving span and paragraph ranges.

Link copied to clipboard
fun UiTreeBuilder.Row(key: Any? = null, spacing: UiDp = UiDp.Zero, arrangement: MainAxisArrangement = MainAxisArrangement.Start, verticalAlignment: VerticalAlignment = VerticalAlignment.Top, modifier: Modifier = Modifier, content: RowScope.() -> Unit)

Places eager children along a horizontal main axis.

Link copied to clipboard
fun UiTreeBuilder.Scaffold(topBar: UiTreeBuilder.() -> Unit? = null, bottomBar: UiTreeBuilder.() -> Unit? = null, floatingActionButton: UiTreeBuilder.() -> Unit? = null, containerColor: Int = ScaffoldDefaults.containerColor(), contentColor: Int = ScaffoldDefaults.contentColor(), key: Any? = null, modifier: Modifier = Modifier, content: BoxScope.() -> Unit)

Arranges optional app bars, body content, and a floating action region into one page.

Link copied to clipboard
fun UiTreeBuilder.ScrollableColumn(key: Any? = null, spacing: UiDp = UiDp.Zero, arrangement: MainAxisArrangement = MainAxisArrangement.Start, horizontalAlignment: HorizontalAlignment = HorizontalAlignment.Start, state: ScrollState? = null, userScrollEnabled: Boolean = true, focusFollowKeyboard: Boolean = false, modifier: Modifier = Modifier, content: ColumnScope.() -> Unit)

Emits a vertically scrolling container whose complete child tree remains mounted.

Link copied to clipboard
fun UiTreeBuilder.ScrollableRow(key: Any? = null, spacing: UiDp = UiDp.Zero, arrangement: MainAxisArrangement = MainAxisArrangement.Start, verticalAlignment: VerticalAlignment = VerticalAlignment.Top, state: ScrollState? = null, userScrollEnabled: Boolean = true, modifier: Modifier = Modifier, content: RowScope.() -> Unit)

Emits a horizontally scrolling container whose complete child tree remains mounted.

Link copied to clipboard
fun UiTreeBuilder.SearchBar(state: TextFieldState, onSearch: (String) -> Unit? = null, placeholder: String = "", leadingIcon: ImageSource? = null, trailingIcon: UiTreeBuilder.() -> Unit? = null, enabled: Boolean = true, key: Any? = null, modifier: Modifier = Modifier)

Creates a single-line search input backed by caller-owned state.

Link copied to clipboard
fun UiTreeBuilder.SegmentedControl(items: List<SegmentedControlItem>, selectedIndex: Int, onSelectionChange: (Int) -> Unit, size: SegmentedControlSize = SegmentedControlSize.Medium, enabled: Boolean = true, overrides: SegmentedControlOverrides = SegmentedControlOverrides.None, key: Any? = null, modifier: Modifier = Modifier)

Emits a mutually exclusive segmented selection control backed by caller-owned state.

Link copied to clipboard
fun SideEffect(effect: () -> Unit)

Runs synchronous publication work after every successful invocation commits.

fun SideEffect(key1: Any?, effect: () -> Unit)

Runs synchronous publication work on initial commit and when key1 changes.

fun SideEffect(vararg keys: Any?, effect: () -> Unit)

Runs effect on initial commit and when a non-empty structural key list changes.

fun SideEffect(key1: Any?, key2: Any?, effect: () -> Unit)

Runs effect on initial commit and when either structural key changes.

fun SideEffect(key1: Any?, key2: Any?, key3: Any?, effect: () -> Unit)

Runs effect on initial commit and when any of three structural keys changes.

Link copied to clipboard
fun UiTreeBuilder.Slider(value: Int, onValueChange: (Int) -> Unit, min: Int = 0, max: Int = 100, step: Int = 1, onValueChangeStarted: () -> Unit? = null, onValueChangeFinished: () -> Unit? = null, enabled: Boolean = true, overrides: SliderOverrides = SliderOverrides.None, key: Any? = null, modifier: Modifier = Modifier)

Displays an integer-valued slider and reports accepted value changes.

Link copied to clipboard
fun UiTreeBuilder.Snackbar(visible: Boolean, message: String, actionLabel: String? = null, duration: SnackbarDuration = SnackbarDuration.Short, queuePolicy: TransientFeedbackQueuePolicy = TransientFeedbackQueuePolicy.Enqueue, requestKey: String = "snackbar", onAction: () -> Unit? = null, onDismiss: (TransientFeedbackDismissReason) -> Unit? = null)

Submits a keyed snackbar request to the active overlay presenter.

Link copied to clipboard
fun UiTreeBuilder.Spacer(key: Any? = null, modifier: Modifier = Modifier)

Reserves empty layout space determined by modifier.

Link copied to clipboard
fun UiTreeBuilder.Surface(key: Any? = null, variant: SurfaceVariant = SurfaceVariant.Default, enabled: Boolean = true, contentAlignment: BoxAlignment = BoxAlignment.TopStart, contentColor: Int = SurfaceDefaults.contentColor(variant), onClick: () -> Unit? = null, modifier: Modifier = Modifier, content: BoxScope.() -> Unit)

Creates a themed surface that provides contentColor to descendants.

Link copied to clipboard
fun UiTreeBuilder.Switch(text: String, checked: Boolean, onCheckedChange: (Boolean) -> Unit, enabled: Boolean = true, overrides: SwitchOverrides = SwitchOverrides.None, key: Any? = null, modifier: Modifier = Modifier)

Displays a labeled switch and reports accepted checked-state changes.

Link copied to clipboard
fun UiTreeBuilder.TabRow(selectedIndex: Int, onTabSelected: (Int) -> Unit, pagerState: PagerState? = null, overrides: TabRowOverrides = TabRowOverrides.None, key: Any? = null, modifier: Modifier = Modifier, tabs: TabRowScope.() -> Unit)

Emits a TabRow whose tabs are eager keyed children in the parent composition.

Link copied to clipboard
fun UiTreeBuilder.Text(text: ObservedValue<String>, style: UiTextStyle = TextDefaults.currentStyle(), color: Int = TextDefaults.primaryColor(), maxLines: Int = Int.MAX_VALUE, overflow: TextOverflow = TextOverflow.Clip, textAlign: TextAlign = TextAlign.Start, textDecoration: TextDecoration = style.textDecoration ?: TextDecoration.None, key: Any? = null, modifier: Modifier = Modifier)

Displays text whose content is patched directly when its observed dependencies change.

fun UiTreeBuilder.Text(text: String, style: UiTextStyle = TextDefaults.currentStyle(), color: Int = TextDefaults.primaryColor(), maxLines: Int = Int.MAX_VALUE, overflow: TextOverflow = TextOverflow.Clip, textAlign: TextAlign = TextAlign.Start, textDecoration: TextDecoration = style.textDecoration ?: TextDecoration.None, key: Any? = null, modifier: Modifier = Modifier)

Displays plain text with theme-resolved typography and color defaults.

Link copied to clipboard
fun UiTreeBuilder.TextField(state: TextFieldState, hint: String = "", label: String = "", placeholder: String = hint, supportingText: String = "", inputProfile: TextFieldInputProfile = TextFieldInputProfile.Text, linePolicy: TextFieldLinePolicy = TextFieldLinePolicy.SingleLine, readOnly: Boolean = false, inputTransformation: InputTransformation? = null, receiveContent: ReceiveContentConfiguration = ReceiveContentConfiguration.Default, onKeyboardAction: (TextFieldImeAction) -> Boolean? = null, onFocusChange: (Boolean) -> Unit? = null, variant: TextFieldVariant = TextFieldVariant.Filled, size: TextFieldSize = TextFieldSize.Medium, enabled: Boolean = true, isError: Boolean = false, overrides: TextFieldOverrides = TextFieldOverrides.None, key: Any? = null, modifier: Modifier = Modifier)

Emits a standard text field composite with label, placeholder, and supporting text.

Link copied to clipboard
fun textFieldStateSaver(historyLimit: Int = TextFieldState.DEFAULT_HISTORY_LIMIT): Saver<TextFieldState, List<Any?>>

Encodes and decodes saveable TextFieldState snapshots with an explicit version for future format changes.

Link copied to clipboard
fun UiTreeBuilder.Toast(visible: Boolean, message: String, duration: ToastDuration = ToastDuration.Short, queuePolicy: TransientFeedbackQueuePolicy = TransientFeedbackQueuePolicy.Enqueue, requestKey: String = "toast", onDismiss: (TransientFeedbackDismissReason) -> Unit? = null)

Submits a keyed toast request to the active overlay presenter.

Link copied to clipboard

Copies these item references into an immutable lazy-collection submission with a new identity.

Link copied to clipboard
fun UiTreeBuilder.TopAppBar(title: String, navigationIcon: UiTreeBuilder.() -> Unit? = null, actions: RowScope.() -> Unit? = null, overrides: TopAppBarOverrides = TopAppBarOverrides.None, key: Any? = null, modifier: Modifier = Modifier)

Emits a top app bar with independent title, navigation, and action content roles.

Link copied to clipboard
fun UiTreeBuilder.UiEnvironment(values: UiEnvironmentValues? = null, content: UiTreeBuilder.() -> Unit)

Provides one environment snapshot while building content.

Link copied to clipboard
fun <T> uiLocalOf(defaultFactory: () -> T): UiLocal<T>

Creates a UiLocal with an automatic diagnostic name.

fun <T> uiLocalOf(debugName: String, debugValueFormatter: (T) -> String? = null, defaultFactory: () -> T): UiLocal<T>

Creates a UiLocal with an explicit diagnostic name and optional formatter.

Link copied to clipboard
fun UiTreeBuilder.UiTheme(tokens: UiThemeTokens = UiThemeDefaults.light(), content: UiTreeBuilder.() -> Unit)

Provides one platform-independent theme snapshot while building content.

Link copied to clipboard
fun UiTreeBuilder.UiThemeOverride(colors: UiColors? = null, stateColors: UiStateColors? = null, typography: UiTypography? = null, shapes: UiShapes? = null, controls: UiControlSizing? = null, interactions: UiInteractionTokens? = null, overlays: UiOverlays? = null, content: UiTreeBuilder.() -> Unit)

Provides selected token families over the current theme while building content.

fun UiTreeBuilder.UiThemeOverride(colors: UiColors.() -> UiColors? = null, stateColors: UiStateColors.() -> UiStateColors? = null, typography: UiTypography.() -> UiTypography? = null, shapes: UiShapes.() -> UiShapes? = null, controls: UiControlSizing.() -> UiControlSizing? = null, interactions: UiInteractionTokens.() -> UiInteractionTokens? = null, overlays: UiOverlays.() -> UiOverlays? = null, content: UiTreeBuilder.() -> Unit)

Computes and provides selected token families from their current values.

Link copied to clipboard
fun UiTreeBuilder.VerticalPager(currentPage: Int, onPageChanged: (Int) -> Unit, pagerState: PagerState? = null, offscreenPageLimit: Int = -1, userScrollEnabled: Boolean = true, reusePolicy: CollectionReusePolicy = CollectionReusePolicy(), motionPolicy: CollectionMotionPolicy = CollectionMotionPolicy(), focusFollowKeyboard: Boolean = false, key: Any? = null, modifier: Modifier = Modifier, pages: HorizontalPagerScope.() -> Unit)

Emits a vertical pager with one keyed lazy session per page.

Link copied to clipboard
fun <T> withUiLocalSnapshot(snapshot: UiLocalSnapshot, block: () -> T): T

Runs block under the specified locals snapshot.