Package-level declarations

Types

Link copied to clipboard

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

Link copied to clipboard

Android dynamic color policy.

Link copied to clipboard

Bridge from Android Context to UiEnvironmentValues.

Link copied to clipboard

The Android context and semantic origin selected for one ViewCompose tree.

Link copied to clipboard

Bridge entry point for resolving Android themes.

Link copied to clipboard

Invalidates active Android-backed theme providers after runtime resource mutation.

Link copied to clipboard

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

Link copied to clipboard

Default visual and size tokens for bottom app bars.

Link copied to clipboard

Box content scope that exposes box-alignment modifiers.

Link copied to clipboard
data class ButtonColorOverride(val primaryContainer: Int? = null, val primaryContent: Int? = null, val primaryDisabledContainer: Int? = null, val primaryDisabledContent: Int? = null, val secondaryContainer: Int? = null, val secondaryContent: Int? = null, val secondaryDisabledContainer: Int? = null, val secondaryDisabledContent: Int? = null, val tonalContainer: Int? = null, val tonalContent: Int? = null, val tonalDisabledContainer: Int? = null, val tonalDisabledContent: Int? = null, val outlinedContent: Int? = null, val outlinedBorder: Int? = null, val outlinedDisabledContent: Int? = null, val outlinedDisabledBorder: Int? = null)

Overrides selected Button-family color slots inside a local provider scope.

Link copied to clipboard

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

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

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

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

Link copied to clipboard

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

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 Android render-engine contract installed by a host module.

Link copied to clipboard
data class CoreRenderFrame(val mountedNodes: List<Any>, 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

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

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, and layout direction for the current composition scope.

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

Page collection scope for HorizontalPager.

Link copied to clipboard

Resolves IconButton defaults by reusing Button hierarchy with a square touch target.

Link copied to clipboard

Default size and tint tokens for icon components.

Link copied to clipboard

Exposes the remote image loader installed for the current composition scope.

Link copied to clipboard
data class InputControlColorOverride(val label: Int? = null, val labelDisabled: Int? = null, val control: Int? = null, val controlDisabled: Int? = null)

Overrides label and native-control colors for one input-control family.

Link copied to clipboard

Resolves Checkbox, Switch, RadioButton, and Slider colors from theme and scoped overrides.

Link copied to clipboard

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

Link copied to clipboard

Lazy-grid content scope with item span support.

Link copied to clipboard

Lazy-list content scope that collects item definitions and captures locals from declaration time.

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

Default visual tokens for modal bottom sheets.

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 scrimOpacity: Float = 0.32f, val navigationBarColor: Int? = null, val onDismissRequest: () -> Unit? = null)

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

Link copied to clipboard

Default visual, typography, and size tokens for navigation bars.

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
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 overlay host implementations and Android service-provider discovery entry point.

Link copied to clipboard

Creates a platform OverlayHost attached to a root Android View.

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
data class ProgressIndicatorColorOverride(val linearIndicator: Int? = null, val linearTrack: Int? = null, val circularIndicator: Int? = null, val circularTrack: Int? = null)

Overrides selected linear and circular progress-indicator colors.

Link copied to clipboard

Resolves default colors and dimensions for linear and circular progress indicators.

Link copied to clipboard

Default visual tokens for pull-to-refresh components.

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: ViewGroup, 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 ViewGroup.

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
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
data class SegmentedControlColorOverride(val background: Int? = null, val backgroundDisabled: Int? = null, val indicator: Int? = null, val indicatorDisabled: Int? = null, val text: Int? = null, val textDisabled: Int? = null, val selectedText: Int? = null, val selectedTextDisabled: Int? = null)

Overrides selected segmented-control colors inside a local provider scope.

Link copied to clipboard

Resolves segmented-control defaults from the current theme and scoped color overrides.

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

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

Default visual and interaction tokens for surface components.

Link copied to clipboard

Semantic color variants for surface components.

Link copied to clipboard

Default visual and spacing tokens for tab-row components.

Link copied to clipboard

Tab collection scope for TabRow.

Link copied to clipboard

Resolves default typography and color values for text components.

Link copied to clipboard
data class TextFieldColorOverride(val filledContainer: Int? = null, val filledDisabledContainer: Int? = null, val filledErrorContainer: Int? = null, val tonalContainer: Int? = null, val tonalDisabledContainer: Int? = null, val tonalErrorContainer: Int? = null, val outlinedBorder: Int? = null, val outlinedDisabledBorder: Int? = null, val outlinedErrorBorder: Int? = null)

Overrides selected TextField container and border slots inside a local provider scope.

Link copied to clipboard

Resolves TextField colors, typography, shape, and dimensions from the current theme.

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

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)

Defines compact, medium, and large button dimensions.

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(), val ripple: Int = pressedOverlayColorFor(onSurface))

Stores the complete semantic color scheme as packed ARGB integers.

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())

Aggregates all core component sizing token families.

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 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)

Defines small, medium, and large component shape tiers.

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, val controlHighlight: UiStateColor)

Groups state-aware colors commonly consumed by component defaults.

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)

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 overlays: UiOverlays = UiOverlayDefaults.default(), val metadata: UiThemeMetadata = UiThemeMetadata())

Immutable theme snapshot consumed by component defaults and renderers.

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)

Groups title, body, and label typography at large, medium, and small 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

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, 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, containerColor: Int = BadgeDefaults.containerColor(), contentColor: Int = BadgeDefaults.contentColor(), key: Any? = null, modifier: Modifier = Modifier)

Composite Badge; null count renders a dot, and values above 99 render 99+.

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

Box composite with a badge anchored to the top end.

Link copied to clipboard
fun UiTreeBuilder.BasicTextField(state: TextFieldState, 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(), cursorColor: Int = TextFieldDefaults.cursorColor(), textColor: Int = TextFieldDefaults.textColor(enabled), textStyle: UiTextStyle = TextFieldDefaults.textStyle(), hintColor: Int = TextFieldDefaults.hintColor(enabled = enabled), backgroundColor: Int = 0, borderWidth: UiDp = UiDp.Zero, borderColor: Int = 0, shape: UiShape = UiShape.rounded(UiDp.Zero), minHeight: UiDp = UiDp.Zero, paddingHorizontal: UiDp = UiDp.Zero, paddingVertical: UiDp = UiDp.Zero, 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(containerColor: Int = BottomAppBarDefaults.containerColor(), key: Any? = null, modifier: Modifier = Modifier, content: RowScope.() -> Unit)

Bottom app bar composite.

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

Emits a Box container node.

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, rippleColor: Int = ButtonDefaults.pressedColor(), style: UiTextStyle = ButtonDefaults.textStyle(size), key: Any? = null, modifier: Modifier = Modifier)

Emits a Button node and resolves colors, sizing, shape, and text style from theme defaults.

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)

Composite Card built from Box and Surface-like style tokens.

Link copied to clipboard
fun UiTreeBuilder.Checkbox(text: String, checked: Boolean, onCheckedChange: (Boolean) -> Unit, enabled: Boolean = true, checkedColor: Int = InputControlDefaults.checkboxCheckedColor(enabled), uncheckedColor: Int = InputControlDefaults.checkboxUncheckedColor(enabled), style: UiTextStyle = InputControlDefaults.labelStyle(), key: Any? = null, modifier: Modifier = Modifier)

Emits a checkbox node with a text label.

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)

Composite Chip supporting selected/disabled states, leading icon, and trailing icon action.

Link copied to clipboard
fun UiTreeBuilder.CircularProgressIndicator(progress: Float? = null, indicatorColor: Int = ProgressIndicatorDefaults.circularIndicatorColor(), trackColor: Int = ProgressIndicatorDefaults.circularTrackColor(), size: UiDp = ProgressIndicatorDefaults.circularSize(), trackThickness: UiDp = ProgressIndicatorDefaults.circularTrackThickness(), key: Any? = null, modifier: Modifier = Modifier)

Emits a circular progress indicator node.

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)

Emits a vertical linear layout node.

Link copied to clipboard

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
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)

Requests a dialog overlay that hosts custom UI content.

Link copied to clipboard
fun DisposableEffect(vararg keys: Any?, effect: () -> () -> Unit)

Starts a cleanup-aware effect after commit; cleanup runs when keys change or the call leaves composition.

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

Emits a divider node.

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)

Emits an anchored dropdown menu.

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

Emits one selectable item inside a dropdown menu.

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

Elevated convenience variant of Card.

Link copied to clipboard
fun UiTreeBuilder.EmailField(state: TextFieldState, hint: String = "", label: String = "", supportingText: String = "", keyboardOptions: TextFieldKeyboardOptions = TextFieldKeyboardOptions( keyboardType = com.viewcompose.ui.node.TextFieldType.Email, ), inputTransformation: InputTransformation? = null, receiveContent: ReceiveContentConfiguration = ReceiveContentConfiguration.Default, onKeyboardAction: (TextFieldImeAction) -> Boolean? = null, onFocusChange: (Boolean) -> Unit? = null, autofillHints: Set<TextFieldAutofillHint> = setOf(TextFieldAutofillHint.EmailAddress), variant: TextFieldVariant = TextFieldVariant.Filled, size: TextFieldSize = TextFieldSize.Medium, enabled: Boolean = true, style: UiTextStyle = TextFieldDefaults.textStyle(size), key: Any? = null, modifier: Modifier = Modifier)

Emits a single-line text field configured for email input.

Link copied to clipboard
fun UiTreeBuilder.ExtendedFloatingActionButton(text: String, onClick: () -> Unit, icon: ImageSource? = null, containerColor: Int = FabDefaults.containerColor(), contentColor: Int = FabDefaults.contentColor(), key: Any? = null, modifier: Modifier = Modifier)

Extended FloatingActionButton with text and an optional icon.

Link copied to clipboard
fun UiTreeBuilder.FloatingActionButton(onClick: () -> Unit, size: FabSize = FabSize.Medium, containerColor: Int = FabDefaults.containerColor(), contentColor: Int = FabDefaults.contentColor(), key: Any? = null, modifier: Modifier = Modifier, content: UiTreeBuilder.() -> Unit)

Composite FloatingActionButton built from Box, theme tokens, and click modifiers.

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)

Emits a column-flow layout node.

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)

Emits a row-flow layout node.

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 HorizontalPager and creates an independent lazy item session for each page.

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

Icon-oriented convenience wrapper around Image, using ContentColor by default.

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

Emits an IconButton node and appends click semantics through Modifier.

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, key: Any? = null, modifier: Modifier = Modifier)

Emits an image node and uses the current ImageLoading loader for remote sources.

Link copied to clipboard
fun installRenderSessionPlatform(renderEngine: CoreRenderEngine, coroutineContext: CoroutineContext, runtimeFactory: RenderSessionRuntimeFactory)

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(vararg keys: Any?, block: suspend CoroutineScope.() -> Unit)

Launches a coroutine after composition commit; old coroutines are cancelled when keys change or leave composition.

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)

Emits a LazyColumn from LazyListScope DSL and captures current locals for item sessions.

fun <T> UiTreeBuilder.LazyColumn(items: List<T>, key: (T) -> Any, contentType: (T) -> Any? = { null }, 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)

Emits a LazyColumn from list data.

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)

Emits a LazyRow from LazyListScope DSL; LazyRow does not support sticky headers.

fun <T> UiTreeBuilder.LazyRow(items: List<T>, key: (T) -> Any, contentType: (T) -> Any? = { null }, 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)

Emits a LazyRow from list data.

Link copied to clipboard
fun UiTreeBuilder.LazyVerticalGrid(spanCount: Int = 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 LazyVerticalGrid from LazyGridScope DSL.

fun <T> UiTreeBuilder.LazyVerticalGrid(items: List<T>, spanCount: Int = 2, key: (T) -> Any, contentType: (T) -> Any? = { null }, span: (T) -> Int = { 1 }, 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 LazyVerticalGrid from list data.

Link copied to clipboard
fun UiTreeBuilder.LinearProgressIndicator(progress: Float? = null, indicatorColor: Int = ProgressIndicatorDefaults.linearIndicatorColor(), trackColor: Int = ProgressIndicatorDefaults.linearTrackColor(), trackThickness: UiDp = ProgressIndicatorDefaults.linearTrackThickness(), key: Any? = null, modifier: Modifier = Modifier)

Emits a linear progress indicator node.

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)

Standard list item composite.

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, scrimOpacity: Float = ModalBottomSheetDefaults.scrimOpacity(), navigationBarColor: Int? = ModalBottomSheetDefaults.navigationBarColor(), onDismissRequest: () -> Unit? = null, content: UiTreeBuilder.() -> Unit)

Requests a modal bottom sheet overlay.

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, containerColor: Int = NavigationBarDefaults.containerColor(), selectedIconColor: Int = NavigationBarDefaults.selectedIconColor(), unselectedIconColor: Int = NavigationBarDefaults.unselectedIconColor(), selectedLabelColor: Int = NavigationBarDefaults.selectedLabelColor(), unselectedLabelColor: Int = NavigationBarDefaults.unselectedLabelColor(), indicatorColor: Int = NavigationBarDefaults.indicatorColor(), rippleColor: Int = NavigationBarDefaults.rippleColor(), iconSize: UiDp = NavigationBarDefaults.iconSize(), labelSizeSp: UiSp = NavigationBarDefaults.labelSizeSp(), labelStyle: UiTextStyle = NavigationBarDefaults.labelStyle(), badgeColor: Int = NavigationBarDefaults.badgeColor(), badgeTextColor: Int = NavigationBarDefaults.badgeTextColor(), key: Any? = null, modifier: Modifier = Modifier, items: NavigationBarScope.() -> Unit)

Emits a bottom NavigationBar node.

Link copied to clipboard
fun UiTreeBuilder.NumberField(state: TextFieldState, hint: String = "", label: String = "", supportingText: String = "", keyboardOptions: TextFieldKeyboardOptions = TextFieldKeyboardOptions( keyboardType = com.viewcompose.ui.node.TextFieldType.Number, autoCorrectEnabled = false, ), inputTransformation: InputTransformation? = null, receiveContent: ReceiveContentConfiguration = ReceiveContentConfiguration.Default, onKeyboardAction: (TextFieldImeAction) -> Boolean? = null, onFocusChange: (Boolean) -> Unit? = null, autofillHints: Set<TextFieldAutofillHint> = emptySet(), variant: TextFieldVariant = TextFieldVariant.Filled, size: TextFieldSize = TextFieldSize.Medium, enabled: Boolean = true, style: UiTextStyle = TextFieldDefaults.textStyle(size), key: Any? = null, modifier: Modifier = Modifier)

Emits a single-line text field configured for numeric input.

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

Outlined convenience variant of Card.

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

Creates an immutable partial override of this theme snapshot.

Link copied to clipboard
fun UiTreeBuilder.PasswordField(state: TextFieldState, hint: String = "", label: String = "", supportingText: String = "", keyboardOptions: TextFieldKeyboardOptions = TextFieldKeyboardOptions( keyboardType = com.viewcompose.ui.node.TextFieldType.Password, autoCorrectEnabled = false, ), inputTransformation: InputTransformation? = null, receiveContent: ReceiveContentConfiguration = ReceiveContentConfiguration.Default, onKeyboardAction: (TextFieldImeAction) -> Boolean? = null, onFocusChange: (Boolean) -> Unit? = null, autofillHints: Set<TextFieldAutofillHint> = setOf(TextFieldAutofillHint.Password), variant: TextFieldVariant = TextFieldVariant.Filled, size: TextFieldSize = TextFieldSize.Medium, enabled: Boolean = true, isError: Boolean = false, style: UiTextStyle = TextFieldDefaults.textStyle(size), key: Any? = null, modifier: Modifier = Modifier)

Emits a single-line text field configured for password input.

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")

Emits a lightweight text tooltip.

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)

Requests a popup overlay anchored to the given anchorId.

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

Provides context to animation APIs invoked while building content.

Link copied to clipboard

Provides override to Button and IconButton defaults while building content.

Link copied to clipboard

Provides override to Checkbox defaults while building 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
fun UiTreeBuilder.ProvideMonotonicFrameClock(clock: MonotonicFrameClock, content: UiTreeBuilder.() -> Unit)

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

Link copied to clipboard

Provides an overlay host within the content scope.

Link copied to clipboard

Provides override to linear and circular progress defaults while building content.

Link copied to clipboard

Provides override to RadioButton defaults while building content.

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

Provides loader to image components built inside 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

Provides override to SegmentedControl defaults while building content.

Link copied to clipboard

Provides override to Slider defaults while building content.

Link copied to clipboard

Provides override to Switch defaults while building content.

Link copied to clipboard

Provides override to TextField defaults while building content.

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

Emits a pull-to-refresh container whose content is limited to ScrollableScope.

Link copied to clipboard
fun UiTreeBuilder.RadioButton(text: String, checked: Boolean, onCheckedChange: (Boolean) -> Unit, enabled: Boolean = true, checkedColor: Int = InputControlDefaults.radioButtonCheckedColor(enabled), uncheckedColor: Int = InputControlDefaults.radioButtonUncheckedColor(enabled), style: UiTextStyle = InputControlDefaults.labelStyle(), key: Any? = null, modifier: Modifier = Modifier)

Emits a radio button node for mutually exclusive selection flows.

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

Remembers a CoroutineScope that is cancelled with the composition lifecycle.

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 reference while writing the latest value on every composition.

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)

Emits a rich text node while preserving TextDocument span/paragraph data.

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)

Emits a horizontal linear layout node.

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)

Page scaffold composite that arranges top/content/fab/bottom regions.

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

Emits a vertically scrollable Column node.

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

Emits a horizontally scrollable Row node.

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)

Emits a search bar composite widget.

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

Emits a SegmentedControl node.

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

Registers one post-commit side effect for synchronizing the latest composition result to external objects.

Link copied to clipboard
fun UiTreeBuilder.Slider(value: Int, onValueChange: (Int) -> Unit, min: Int = 0, max: Int = 100, enabled: Boolean = true, thumbColor: Int = InputControlDefaults.sliderThumbColor(enabled), trackColor: Int = InputControlDefaults.sliderTrackColor(enabled), key: Any? = null, modifier: Modifier = Modifier)

Emits an integer-valued slider node.

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)

Requests a snackbar transient feedback overlay.

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

Emits an empty spacer node whose size is usually controlled 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)

Emits a Surface container and provides a default content color within its content scope.

Link copied to clipboard
fun UiTreeBuilder.Switch(text: String, checked: Boolean, onCheckedChange: (Boolean) -> Unit, enabled: Boolean = true, thumbColor: Int? = null, trackColor: Int? = null, style: UiTextStyle = InputControlDefaults.labelStyle(), key: Any? = null, modifier: Modifier = Modifier)

Emits a switch node with a text label.

Link copied to clipboard
fun UiTreeBuilder.TabRow(selectedIndex: Int, onTabSelected: (Int) -> Unit, pagerState: PagerState? = null, indicatorColor: Int = TabRowDefaults.indicatorColor(), indicatorHeight: UiDp = TabRowDefaults.indicatorHeight(), indicatorCornerRadius: UiDp = TabRowDefaults.indicatorCornerRadius(), indicatorPosition: TabIndicatorPosition = TabIndicatorPosition.Bottom, indicatorWidthMode: TabIndicatorWidthMode = TabIndicatorWidthMode.MatchItem, indicatorFixedWidth: UiDp = UiDp.Zero, containerColor: Int = TabRowDefaults.containerColor(), scrollable: Boolean = false, equalWidth: Boolean = true, rippleColor: Int = TabRowDefaults.rippleColor(), itemSpacing: UiDp = UiDp.Zero, itemPaddingHorizontal: UiDp = TabRowDefaults.itemPaddingHorizontal(), itemPaddingVertical: UiDp = TabRowDefaults.itemPaddingVertical(), minItemWidth: UiDp = TabRowDefaults.minItemWidth(), key: Any? = null, modifier: Modifier = Modifier, tabs: TabRowScope.() -> Unit)

Emits a TabRow and creates child sessions that update with selected state.

Link copied to clipboard
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)

Emits a plain text node.

Link copied to clipboard
fun UiTreeBuilder.TextArea(state: TextFieldState, hint: String = "", label: String = "", placeholder: String = hint, supportingText: String = "", variant: TextFieldVariant = TextFieldVariant.Filled, size: TextFieldSize = TextFieldSize.Medium, enabled: Boolean = true, isError: Boolean = false, readOnly: Boolean = false, minLines: Int = 3, maxLines: Int = Int.MAX_VALUE, keyboardOptions: TextFieldKeyboardOptions = TextFieldKeyboardOptions(), inputTransformation: InputTransformation? = null, receiveContent: ReceiveContentConfiguration = ReceiveContentConfiguration.Default, onKeyboardAction: (TextFieldImeAction) -> Boolean? = null, onFocusChange: (Boolean) -> Unit? = null, autofillHints: Set<TextFieldAutofillHint> = emptySet(), style: UiTextStyle = TextFieldDefaults.textStyle(size), key: Any? = null, modifier: Modifier = Modifier)

Emits a multi-line text input area.

Link copied to clipboard
fun UiTreeBuilder.TextButton(text: String, onClick: () -> Unit? = null, size: ButtonSize = ButtonSize.Medium, enabled: Boolean = true, style: UiTextStyle = ButtonDefaults.textStyle(size), key: Any? = null, modifier: Modifier = Modifier)

Text-style convenience variant of Button.

Link copied to clipboard
fun UiTreeBuilder.TextField(state: TextFieldState, hint: String = "", label: String = "", placeholder: String = hint, supportingText: String = "", singleLine: Boolean = true, readOnly: Boolean = false, maxLines: Int = if (singleLine) 1 else Int.MAX_VALUE, minLines: Int = if (singleLine) 1 else 3, keyboardOptions: TextFieldKeyboardOptions = TextFieldKeyboardOptions(), inputTransformation: InputTransformation? = null, receiveContent: ReceiveContentConfiguration = ReceiveContentConfiguration.Default, onKeyboardAction: (TextFieldImeAction) -> Boolean? = null, onFocusChange: (Boolean) -> Unit? = null, autofillHints: Set<TextFieldAutofillHint> = emptySet(), variant: TextFieldVariant = TextFieldVariant.Filled, size: TextFieldSize = TextFieldSize.Medium, enabled: Boolean = true, isError: Boolean = false, cursorColor: Int = TextFieldDefaults.cursorColor(), style: UiTextStyle = TextFieldDefaults.textStyle(size), 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)

Requests a toast transient feedback overlay.

Link copied to clipboard
fun UiTreeBuilder.TopAppBar(title: String, navigationIcon: UiTreeBuilder.() -> Unit? = null, actions: RowScope.() -> Unit? = null, containerColor: Int = TopAppBarDefaults.containerColor(), titleColor: Int = TopAppBarDefaults.titleColor(), key: Any? = null, modifier: Modifier = Modifier)

Top app bar composite.

Link copied to clipboard
fun UiTreeBuilder.UiEnvironment(values: UiEnvironmentValues? = null, androidContext: Context? = 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? = null, androidContext: Context? = null, resolvedAndroidTheme: AndroidResolvedTheme? = null, dynamicColorPolicy: AndroidDynamicColorPolicy = AndroidDynamicColorPolicy.UseIfAvailable, refreshController: AndroidThemeRefreshController? = null, content: UiTreeBuilder.() -> Unit)

Resolves and provides one 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, 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, 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 VerticalPager and creates an independent lazy item session for each page.

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

Runs block under the specified locals snapshot.