Package-level declarations

Types

Link copied to clipboard

Browser autocomplete hints with consistent names across platforms.

Link copied to clipboard
data class DomposableButtonAppearance(val container: DomposableColor? = null, val content: DomposableColor? = null, val disabledContainer: DomposableColor? = null, val disabledContent: DomposableColor? = null, val border: DomposableColor? = null, val disabledBorder: DomposableColor? = null, val borderWidth: DomposableLength? = null, val shape: DomposableShape? = null, val minHeight: DomposableLength? = null, val minWidth: DomposableLength? = null, val contentPadding: DomposableInsets? = null, val contentSpacing: DomposableLength = 0.dp, val textAppearance: DomposableTextAppearance? = null, val indicatorSize: DomposableLength? = null, val indicatorStrokeWidth: DomposableLength? = null, val pressedScale: Float = 1.0f, val hoveredScale: Float = 1.0f, val disabledOpacity: Float? = null, val interaction: DomposableInteractionAppearance? = null, val contentAlignment: DomposableAlignment = DomposableAlignment.Center, val indicatorTrackColor: DomposableColor? = null)

Component styling belongs here; layout and positioning remain modifier operations.

Link copied to clipboard
data class DomposableChartAppearance(val background: DomposableColor? = null, val axis: DomposableColor? = null, val grid: DomposableColor? = null, val selection: DomposableColor? = null, val titleAppearance: DomposableTextAppearance? = null, val labelAppearance: DomposableTextAppearance? = null)
Link copied to clipboard
data class DomposableCheckboxAppearance(val colors: DomposableSelectionColors = DomposableSelectionColors(), val checkmark: DomposableColor? = null, val disabledCheckmark: DomposableColor? = null, val labelAppearance: DomposableTextAppearance? = null, val descriptionAppearance: DomposableTextAppearance? = null, val labelSpacing: DomposableLength = 8.dp, val descriptionSpacing: DomposableLength = 0.dp)
Link copied to clipboard
data class DomposableChoiceOption<T>(val value: T, val label: String, val enabled: Boolean = true, val testTag: String? = null)

A choice keeps its typed identity when labels change or options are reordered.

Link copied to clipboard
value class DomposableColor(val argb: Long)
Link copied to clipboard
data class DomposableColors(val primary: DomposableColor = DomposableColor(0xFF4059AD), val onPrimary: DomposableColor = DomposableColor(0xFFFFFFFF), val surface: DomposableColor = DomposableColor(0xFFF9FAFF), val onSurface: DomposableColor = DomposableColor(0xFF1C2030), val surfaceVariant: DomposableColor = DomposableColor(0xFFECEFF8), val outline: DomposableColor = DomposableColor(0xFF74798C), val error: DomposableColor = DomposableColor(0xFFBA1A1A), val onError: DomposableColor? = null, val errorContainer: DomposableColor? = null, val onErrorContainer: DomposableColor? = null, val secondary: DomposableColor? = null, val onSecondary: DomposableColor? = null, val secondaryContainer: DomposableColor? = null, val onSecondaryContainer: DomposableColor? = null, val tertiary: DomposableColor? = null, val onTertiary: DomposableColor? = null, val tertiaryContainer: DomposableColor? = null, val onTertiaryContainer: DomposableColor? = null, val primaryContainer: DomposableColor? = null, val onPrimaryContainer: DomposableColor? = null, val background: DomposableColor? = null, val onBackground: DomposableColor? = null, val onSurfaceVariant: DomposableColor? = null, val outlineVariant: DomposableColor? = null, val inverseSurface: DomposableColor? = null, val inverseOnSurface: DomposableColor? = null, val inversePrimary: DomposableColor? = null, val surfaceTint: DomposableColor? = null, val scrim: DomposableColor? = null, val surfaceBright: DomposableColor? = null, val surfaceDim: DomposableColor? = null, val surfaceContainer: DomposableColor? = null, val surfaceContainerHigh: DomposableColor? = null, val surfaceContainerHighest: DomposableColor? = null, val surfaceContainerLow: DomposableColor? = null, val surfaceContainerLowest: DomposableColor? = null, val primaryFixed: DomposableColor? = null, val primaryFixedDim: DomposableColor? = null, val onPrimaryFixed: DomposableColor? = null, val onPrimaryFixedVariant: DomposableColor? = null, val secondaryFixed: DomposableColor? = null, val secondaryFixedDim: DomposableColor? = null, val onSecondaryFixed: DomposableColor? = null, val onSecondaryFixedVariant: DomposableColor? = null, val tertiaryFixed: DomposableColor? = null, val tertiaryFixedDim: DomposableColor? = null, val onTertiaryFixed: DomposableColor? = null, val onTertiaryFixedVariant: DomposableColor? = null)
Link copied to clipboard
@Target(allowedTargets = [AnnotationTarget.CLASS])
annotation class DomposableComponent(val name: String)

Generates a typed renderer contract and forwarding API for this props declaration.

Link copied to clipboard
data class DomposableComponentStyles(val button: DomposableButtonAppearance = DomposableButtonAppearance(), val textField: DomposableTextFieldAppearance = DomposableTextFieldAppearance(), val text: DomposableTextAppearance = DomposableTextAppearance(), val link: DomposableTextAppearance = DomposableTextAppearance(), val icon: DomposableIconAppearance = DomposableIconAppearance(), val iconButton: DomposableButtonAppearance = DomposableButtonAppearance(), val checkbox: DomposableCheckboxAppearance = DomposableCheckboxAppearance(), val switch: DomposableSwitchAppearance = DomposableSwitchAppearance(), val radioButton: DomposableRadioButtonAppearance = DomposableRadioButtonAppearance(), val slider: DomposableSliderColors = DomposableSliderColors(), val rangeSlider: DomposableSliderColors = DomposableSliderColors(), val select: DomposableButtonAppearance = DomposableButtonAppearance(), val progress: DomposableProgressAppearance = DomposableProgressAppearance(), val divider: DomposableDividerAppearance = DomposableDividerAppearance(), val table: DomposableTableAppearance = DomposableTableAppearance(), val dataTable: DomposableTableAppearance = DomposableTableAppearance(), val lineChart: DomposableChartAppearance = DomposableChartAppearance(), val valueChart: DomposableChartAppearance = DomposableChartAppearance(), val card: DomposableSurfaceAppearance = DomposableSurfaceAppearance(), val surface: DomposableSurfaceAppearance = DomposableSurfaceAppearance(), val badge: DomposableSurfaceAppearance = DomposableSurfaceAppearance(), val avatar: DomposableSurfaceAppearance = DomposableSurfaceAppearance(), val banner: DomposableSurfaceAppearance = DomposableSurfaceAppearance(), val menu: DomposableSurfaceAppearance = DomposableSurfaceAppearance(), val dialog: DomposableSurfaceAppearance = DomposableSurfaceAppearance(), val bottomSheet: DomposableSurfaceAppearance = DomposableSurfaceAppearance(), val topAppBar: DomposableSurfaceAppearance = DomposableSurfaceAppearance(), val floatingActionButton: DomposableSurfaceAppearance = DomposableSurfaceAppearance(), val snackbar: DomposableSurfaceAppearance = DomposableSurfaceAppearance(), val tooltip: DomposableSurfaceAppearance = DomposableSurfaceAppearance(), val scaffold: DomposableSurfaceAppearance = DomposableSurfaceAppearance(), val disclosure: DomposableSurfaceAppearance = DomposableSurfaceAppearance(), val chip: DomposableItemAppearance = DomposableItemAppearance(), val tabs: DomposableItemAppearance = DomposableItemAppearance(), val navigationBar: DomposableItemAppearance = DomposableItemAppearance(), val segmentedButtons: DomposableItemAppearance = DomposableItemAppearance(), val toggleButton: DomposableButtonAppearance = DomposableButtonAppearance(), val buttonGroup: DomposableButtonAppearance = DomposableButtonAppearance(), val splitButton: DomposableButtonAppearance = DomposableButtonAppearance(), val loadingIndicator: DomposableProgressAppearance = DomposableProgressAppearance(), val floatingToolbar: DomposableSurfaceAppearance = DomposableSurfaceAppearance(), val floatingActionButtonMenu: DomposableSurfaceAppearance = DomposableSurfaceAppearance(), val listItem: DomposableItemAppearance = DomposableItemAppearance(), val bottomAppBar: DomposableSurfaceAppearance = DomposableSurfaceAppearance(), val navigationDrawer: DomposableSurfaceAppearance = DomposableSurfaceAppearance(), val navigationDrawerItem: DomposableItemAppearance = DomposableItemAppearance(), val wideNavigationRail: DomposableSurfaceAppearance = DomposableSurfaceAppearance(), val bottomSheetScaffold: DomposableSurfaceAppearance = DomposableSurfaceAppearance(), val searchBar: DomposableTextFieldAppearance = DomposableTextFieldAppearance(), val autocomplete: DomposableTextFieldAppearance = DomposableTextFieldAppearance(), val datePicker: DomposableSurfaceAppearance = DomposableSurfaceAppearance(), val dateRangePicker: DomposableSurfaceAppearance = DomposableSurfaceAppearance(), val timePicker: DomposableSurfaceAppearance = DomposableSurfaceAppearance(), val pullToRefresh: DomposableProgressAppearance = DomposableProgressAppearance(), val dragHandle: DomposableSurfaceAppearance = DomposableSurfaceAppearance(), val scrollField: DomposableItemAppearance = DomposableItemAppearance(), val label: DomposableSurfaceAppearance = DomposableSurfaceAppearance(), val dropdownMenuItem: DomposableItemAppearance = DomposableItemAppearance(), val menuGroup: DomposableSurfaceAppearance = DomposableSurfaceAppearance(), val multiChoiceSegmentedButtons: DomposableItemAppearance = DomposableItemAppearance(), val appBar: DomposableButtonAppearance = DomposableButtonAppearance(), val wideNavigationRailItem: DomposableItemAppearance = DomposableItemAppearance())

Defaults for built-in renderers. Per-call appearances replace these values; use copy to inherit.

Link copied to clipboard

Position of the selection control relative to its label.

Link copied to clipboard

Selects Material theme defaults; expressive components and variants remain independently selectable.

Link copied to clipboard
data class DomposableDividerAppearance(val color: DomposableColor? = null, val thickness: DomposableLength? = null)
Link copied to clipboard
Link copied to clipboard
value class DomposableFontWeight(val weight: Int)

A variable-font weight, matching the 1–1000 range accepted by native and HTML text.

Link copied to clipboard
data class DomposableGradientStop(val color: DomposableColor, val position: Float)

One color and its relative position in a portable linear gradient.

Link copied to clipboard
data class DomposableIconAppearance(val color: DomposableColor? = null, val textAppearance: DomposableTextAppearance? = null)
Link copied to clipboard

The action shown by virtual keyboards for a text input.

Link copied to clipboard
data class DomposableInsets(val top: DomposableLength = 0.dp, val end: DomposableLength = 0.dp, val bottom: DomposableLength = 0.dp, val start: DomposableLength = 0.dp)
Link copied to clipboard
data class DomposableInteractionAppearance(val hoveredContainer: DomposableColor? = null, val hoveredContent: DomposableColor? = null, val pressedContainer: DomposableColor? = null, val pressedContent: DomposableColor? = null, val stateLayerOpacity: DomposableStateLayerOpacity? = null, val focusRingColor: DomposableColor? = null, val focusRingWidth: DomposableLength? = null, val focusRingOffset: DomposableLength? = null)

Optional state styling shared by buttons, icon buttons, and button-like links.

Link copied to clipboard
data class DomposableItemAppearance(val colors: DomposableItemColors = DomposableItemColors(), val shape: DomposableShape? = null, val textAppearance: DomposableTextAppearance? = null, val borderWidth: DomposableLength = 1.dp, val contentPadding: DomposableInsets? = null, val minHeight: DomposableLength? = null, val contentSpacing: DomposableLength? = null, val minimumInteractiveSize: DomposableLength? = null, val selectedBorderWidth: DomposableLength? = null, val selectedTextAppearance: DomposableTextAppearance? = null, val disabledOpacity: Float? = null, val stateLayerOpacity: DomposableStateLayerOpacity? = null)
Link copied to clipboard
data class DomposableItemColors(val container: DomposableColor? = null, val content: DomposableColor? = null, val selectedContainer: DomposableColor? = null, val selectedContent: DomposableColor? = null, val disabledContainer: DomposableColor? = null, val disabledContent: DomposableColor? = null, val border: DomposableColor? = null, val selectedBorder: DomposableColor? = null, val disabledBorder: DomposableColor? = null, val focusedContainer: DomposableColor? = null, val focusedContent: DomposableColor? = null, val focusedBorder: DomposableColor? = null, val pressedContainer: DomposableColor? = null, val pressedContent: DomposableColor? = null, val pressedBorder: DomposableColor? = null, val hoveredContainer: DomposableColor? = null, val hoveredContent: DomposableColor? = null, val hoveredBorder: DomposableColor? = null, val disabledSelectedContainer: DomposableColor? = null, val disabledSelectedContent: DomposableColor? = null, val disabledSelectedBorder: DomposableColor? = null)
Link copied to clipboard
value class DomposableLength(val value: Float)

A logical, density-independent length shared by native and HTML renderers.

Link copied to clipboard

A renderer-neutral linear gradient with ordered stops along one layout axis.

Link copied to clipboard
data class DomposableOffset(val x: Float = 0.0f, val y: Float = 0.0f)

A signed density-independent position used by portable offset operations.

Link copied to clipboard
data class DomposableProgressAppearance(val color: DomposableColor? = null, val track: DomposableColor? = null, val strokeWidth: DomposableLength? = null, val indicatorSize: DomposableLength? = null, val waveSpeed: DomposableLength? = null, val showStopIndicator: Boolean? = null)
Link copied to clipboard
data class DomposableRadioButtonAppearance(val colors: DomposableSelectionColors = DomposableSelectionColors(), val labelAppearance: DomposableTextAppearance? = null, val descriptionAppearance: DomposableTextAppearance? = null, val labelSpacing: DomposableLength = 8.dp, val descriptionSpacing: DomposableLength = 0.dp)
Link copied to clipboard
@Target(allowedTargets = [AnnotationTarget.FUNCTION])
annotation class DomposableScreen(val route: KClass<*>, val viewModel: Boolean = false)

Declaration analysis only: generators never rewrite a composable's body.

Link copied to clipboard
sealed interface DomposableScreenState<out T>
Link copied to clipboard
data class DomposableSelectionColors(val selected: DomposableColor? = null, val unselected: DomposableColor? = null, val disabledSelected: DomposableColor? = null, val disabledUnselected: DomposableColor? = null)

Selected control colors and unselected outlines; unchecked checkbox interiors remain transparent.

Link copied to clipboard
sealed interface DomposableShape

A closed, renderer-neutral shape vocabulary for clipping and borders.

Link copied to clipboard
data class DomposableShapes(val extraSmall: DomposableShape? = null, val small: DomposableShape? = null, val medium: DomposableShape? = null, val large: DomposableShape? = null, val extraLarge: DomposableShape? = null, val largeIncreased: DomposableShape? = null, val extraLargeIncreased: DomposableShape? = null, val extraExtraLarge: DomposableShape? = null)

Shape scale shared by standard and expressive Material defaults.

Link copied to clipboard
data class DomposableSize(val width: Float, val height: Float)
Link copied to clipboard
data class DomposableSliderColors(val thumb: DomposableColor? = null, val activeTrack: DomposableColor? = null, val inactiveTrack: DomposableColor? = null, val activeTick: DomposableColor? = null, val inactiveTick: DomposableColor? = null, val disabledThumb: DomposableColor? = null, val disabledActiveTrack: DomposableColor? = null, val disabledInactiveTrack: DomposableColor? = null, val disabledActiveTick: DomposableColor? = null, val disabledInactiveTick: DomposableColor? = null)
Link copied to clipboard
data class DomposableSpacing(val small: DomposableLength = 8.dp, val medium: DomposableLength = 16.dp, val large: DomposableLength = 24.dp)
Link copied to clipboard
data class DomposableStateColors(val unfocused: DomposableColor? = null, val focused: DomposableColor? = null, val disabled: DomposableColor? = null, val error: DomposableColor? = null)
Link copied to clipboard
data class DomposableStateLayerOpacity(val hovered: Float = 0.08f, val focused: Float = 0.12f, val pressed: Float = 0.12f, val dragged: Float = 0.16f)

Opacities for the control's content-color interaction layer.

Link copied to clipboard
data class DomposableSurfaceAppearance(val container: DomposableColor? = null, val content: DomposableColor? = null, val border: DomposableColor? = null, val borderWidth: DomposableLength = 1.dp, val shape: DomposableShape? = null, val tonalElevation: DomposableLength? = null, val shadowElevation: DomposableLength? = null, val textAppearance: DomposableTextAppearance? = null)
Link copied to clipboard
data class DomposableSwitchAppearance(val colors: DomposableSwitchColors = DomposableSwitchColors(), val labelAppearance: DomposableTextAppearance? = null, val descriptionAppearance: DomposableTextAppearance? = null, val labelSpacing: DomposableLength = 8.dp, val descriptionSpacing: DomposableLength = 0.dp)
Link copied to clipboard
data class DomposableSwitchColors(val checkedThumb: DomposableColor? = null, val checkedTrack: DomposableColor? = null, val checkedBorder: DomposableColor? = null, val checkedIcon: DomposableColor? = null, val uncheckedThumb: DomposableColor? = null, val uncheckedTrack: DomposableColor? = null, val uncheckedBorder: DomposableColor? = null, val uncheckedIcon: DomposableColor? = null, val disabledCheckedThumb: DomposableColor? = null, val disabledCheckedTrack: DomposableColor? = null, val disabledCheckedBorder: DomposableColor? = null, val disabledCheckedIcon: DomposableColor? = null, val disabledUncheckedThumb: DomposableColor? = null, val disabledUncheckedTrack: DomposableColor? = null, val disabledUncheckedBorder: DomposableColor? = null, val disabledUncheckedIcon: DomposableColor? = null)
Link copied to clipboard
data class DomposableTableAppearance(val headerContainer: DomposableColor? = null, val headerContent: DomposableColor? = null, val rowContainer: DomposableColor? = null, val rowContent: DomposableColor? = null, val selectedContainer: DomposableColor? = null, val selectedContent: DomposableColor? = null, val border: DomposableColor? = null, val cellPadding: DomposableInsets? = null, val textAppearance: DomposableTextAppearance? = null, val headerTextAppearance: DomposableTextAppearance? = null, val compactRowAppearance: DomposableSurfaceAppearance? = null, val rowInteraction: DomposableInteractionAppearance? = null, val selectedBorder: DomposableColor? = null, val selectedBorderWidth: DomposableLength? = null, val compactBreakpoint: DomposableLength = 520.dp, val compactLabelMinWidth: DomposableLength = 96.dp, val rowSpacing: DomposableLength? = null, val columnSpacing: DomposableLength? = null)
Link copied to clipboard
data class DomposableTextAppearance(val fontSize: Float? = null, val lineHeight: Float? = null, val fontWeight: DomposableFontWeight? = null, val alignment: DomposableTextAlignment? = null, val decoration: DomposableTextDecoration? = null, val maxLines: Int? = null, val overflow: DomposableTextOverflow = DomposableTextOverflow.Clip, val selectable: Boolean? = null, val liveRegion: DomposableLiveRegion? = null, val letterSpacing: Float? = null, val role: DomposableTypographyRole? = null, val emphasized: Boolean = false, val color: DomposableColor? = null, val minLines: Int = 1)

Neutral text styling shared by native Material and semantic HTML renderers. Sizes use sp on native and px on HTML.

Link copied to clipboard
data class DomposableTextFieldAppearance(val colors: DomposableTextFieldColors = DomposableTextFieldColors(), val shape: DomposableShape? = null, val textAppearance: DomposableTextAppearance? = null, val labelAppearance: DomposableTextAppearance? = null, val floatingLabelAppearance: DomposableTextAppearance? = null, val placeholderAppearance: DomposableTextAppearance? = null, val supportingAppearance: DomposableTextAppearance? = null, val contentPadding: DomposableInsets? = null, val minHeight: DomposableLength? = null, val outlineWidth: DomposableLength? = null, val focusedOutlineWidth: DomposableLength? = null, val floatingLabel: Boolean = true, val autoSize: Boolean = false, val variant: DomposableTextFieldVariant = DomposableTextFieldVariant.Outlined)
Link copied to clipboard
data class DomposableTextFieldColors(val text: DomposableStateColors = DomposableStateColors(), val container: DomposableStateColors = DomposableStateColors(), val label: DomposableStateColors = DomposableStateColors(), val placeholder: DomposableStateColors = DomposableStateColors(), val outline: DomposableStateColors = DomposableStateColors(), val cursor: DomposableStateColors = DomposableStateColors(), val leadingIcon: DomposableStateColors = DomposableStateColors(), val trailingIcon: DomposableStateColors = DomposableStateColors(), val supporting: DomposableStateColors = DomposableStateColors())
Link copied to clipboard

Typography preset; custom providers should map Inherit to their surrounding or host text style.

Link copied to clipboard
data class DomposableTokens(val colors: DomposableColors = DomposableColors(), val typography: DomposableTypography = DomposableTypography(), val spacing: DomposableSpacing = DomposableSpacing(), val radius: DomposableLength = 12.dp, val elevation: DomposableLength = 2.dp, val motionDurationMillis: Int = 180, val components: DomposableComponentStyles = DomposableComponentStyles(), val designLanguage: DomposableDesignLanguage = DomposableDesignLanguage.Standard, val shapes: DomposableShapes = DomposableShapes())
Link copied to clipboard
data class DomposableTypography(val fontFamily: String = "system-ui", val bodySize: Float = 16.0f, val titleSize: Float = 24.0f, val labelSize: Float = 14.0f, val lineHeight: Float = 1.5f, val roles: Map<DomposableTypographyRole, DomposableTextAppearance> = emptyMap(), val emphasizedRoles: Map<DomposableTypographyRole, DomposableTextAppearance> = emptyMap())

Properties

Link copied to clipboard