Package-level declarations

Types

Link copied to clipboard
@Immutable
class BadgeColors(val backgroundColor: Color, val contentColor: Color)

Color defs for badge.

Link copied to clipboard

The default values for the Badge component.

Link copied to clipboard
@Stable
class BadgeSize

BadgeSize.

Link copied to clipboard
@Immutable
class ButtonColors

Holds colors used by Button.

Link copied to clipboard

Object holding default values used by buttons.

Link copied to clipboard
@Stable
class ButtonSize

Presents sizes used by Button. Holds pre-defined sizes used by styled buttons like Button. Each size has related PaddingValues,Shape and TextStyle.

Link copied to clipboard
@Immutable
class CheckboxColor

Colors wrapper for Checkbox.

Link copied to clipboard
@JvmInline
@Immutable
value class CheckboxContentSize(value: Dp)

Defines box content size. Means the circle diameter.

Link copied to clipboard

Contains the default values used by CheckBox.

Link copied to clipboard
@Immutable
open class ChipColors

Colors for Chip.

Link copied to clipboard

The default values for chips.

Link copied to clipboard
@JvmInline
value class ChipSize

Size for Chip.

Link copied to clipboard
Link copied to clipboard
@JvmInline
value class CircularProgressSize

Defines size spec for circular indicator.

Link copied to clipboard
@Immutable
class ColorScheme(val fillPrimary: Color, val fillSecondary: Color, val fillTertiary: Color, val fillLight: Color, val labelPrimaryLight: Color, val labelPrimary: Color, val labelSecondary: Color, val labelTertiary: Color, val labelQuaternary: Color, val lightenHover: Color, val lightenPressed: Color, val error: Color, val alert: Color, val passable: Color, val interaction: Color, val dividerLine: Color)

A color scheme holds all the named color roles parameters for PICO design system.

Link copied to clipboard
@Immutable
class DatePickerColors

Colors for DatePicker.

Link copied to clipboard

Contains default values used by the DatePicker.

Link copied to clipboard

A date formatter interface used by DatePicker.

Link copied to clipboard
@Stable
interface DatePickerState

A state object that can be hoisted to observe the date picker state. See rememberDatePickerState.

Link copied to clipboard
@Stable
interface DateRangePickerState

A state object that can be hoisted to observe the date range picker state. See rememberDateRangePickerState.

Link copied to clipboard

The default values for the Divider component.

Link copied to clipboard
sealed class HeaderStyle

Defines header style for DatePicker.

Link copied to clipboard

Holding IconButton default values.

Link copied to clipboard
Link copied to clipboard
@JvmInline
value class LinearProgressHeight

Defines height for LinearProgressIndicator.

Link copied to clipboard

Holds the default values used by Link.

Link copied to clipboard
@Immutable
class ListItemColors

Represents the container and content colors used in a list item in different states.

Link copied to clipboard

Object holding default values used by ListItem.

Link copied to clipboard
@Immutable
class NumberFieldColors

The colors for NumberField.

Link copied to clipboard

Object that containing default values for NumberField.

Link copied to clipboard
@JvmInline
value class NumberFieldSize

The size for NumberField.

Link copied to clipboard
@Immutable
class OptionColors

The colors used by Option.

Link copied to clipboard

Holds default values for Option.

Link copied to clipboard
enum Overflow : Enum<Overflow>

Number badge overflow style.

Link copied to clipboard
@Immutable
class PageControlColors

The colors of PageControl.

Link copied to clipboard

The default values of PageControl.

Link copied to clipboard
@Stable
class PageControlSpec

Defines the appearance of a page control.

Link copied to clipboard
class PicoIndication(pressedColorProducer: () -> Color) : IndicationNodeFactory

Default state indication of PICO design. Draws a color behind content when pressed. The hover effect is supported by the spatialHoverEffect modifier.

Link copied to clipboard
object PicoTheme

Holds getter to access the current theme values provided at the call site's position in the hierarchy.

Link copied to clipboard
@Immutable
open class ProgressColors

Defines colors for progress indicator.

Link copied to clipboard
Link copied to clipboard
@Immutable
class ScrollIndicatorColors(val trackColor: Color, val indicatorColor: Color, val scrollMarksColor: Color, val backgroundColor: Color)

Colors for ScrollIndicator.

Link copied to clipboard

Holds default configs for ScrollIndicator.

Link copied to clipboard
@Stable
interface ScrollIndicatorState

State for a scroll indicator.

Link copied to clipboard

SearchFieldDefaults.

Link copied to clipboard
@Immutable
class SegmentControlColors

The colors used in the segment control.

Link copied to clipboard

Provides default values for the SegmentControl composable function.

Link copied to clipboard
@JvmInline
value class SegmentControlSize

The size of the segment control.

Link copied to clipboard

Holds the colors used by SideNavigationItem.

Link copied to clipboard

Contains default values used in SideNavigationItem components.

Link copied to clipboard
@Immutable
class SliderColors

Colors for Slider.

Link copied to clipboard

Object holding default values used by sliders.

Link copied to clipboard
@Stable
class SliderSpec

Slider size wrapper.

Link copied to clipboard
class SpatialUIProvider : ContentProvider

SpatialUI use Content Provider to access application context.

Link copied to clipboard
sealed class StepperIconStyle

Default icon style.

Link copied to clipboard
@Immutable
class SwitchColors

Represents the colors used by a Switch in different states.

Link copied to clipboard

Contains the default values used by Switch.

Link copied to clipboard

Defines switch size.

Link copied to clipboard
@Immutable
class TextFieldColors

Defines TextField color theme.

Link copied to clipboard

TextFieldDefaults.

Link copied to clipboard
@Stable
class TimepickerConfig

Wrapper for Set of TimepickerElement for stability.

Link copied to clipboard
@Stable
class TimepickerElement

Used by Timepicker to determinate which element should be shown.

Link copied to clipboard

Defines how to place title in TitleBar.

Link copied to clipboard
@Immutable
class TitleBarColors

The colors of TitleBar.

Link copied to clipboard

The default values of TitleBar.

Link copied to clipboard

Colors for ToggleableChip.

Link copied to clipboard
@Stable
class ToggleButtonColors(checkedContainerColor: Color, checkedContentColor: Color, uncheckedContainerColor: Color, uncheckedContentColor: Color)

Holds the colors used by ToggleButton.

Link copied to clipboard

Contains the default values used by ToggleButton.

Link copied to clipboard

Holding ToggleIconButton default values.

Link copied to clipboard
@Immutable
class Typography(val bodyLarge: TextStyle, val bodyLargeMultiline: TextStyle, val bodyMedium: TextStyle, val bodyMediumMultiline: TextStyle, val bodySmall: TextStyle, val bodyTiny: TextStyle, val displayLarge: TextStyle, val displayMedium: TextStyle, val displaySmall: TextStyle, val headlineLarge: TextStyle, val headlineMedium: TextStyle, val headlineSmall: TextStyle, val labelLarge: TextStyle, val labelMedium: TextStyle, val labelSmall: TextStyle, val titleLarge: TextStyle, val titleMedium: TextStyle, val titleSmall: TextStyle)

Typography used by PICO Design.

Link copied to clipboard
@Immutable
class WheelPickerColors

Defines colors for WheelPicker.

Link copied to clipboard

Object that contains default values for WheelPicker.

Properties

Link copied to clipboard
val LocalContentColor: ProvidableCompositionLocal<Color>

CompositionLocal containing the preferred content color for a given position in the hierarchy.

Link copied to clipboard
val LocalDisableAlpha: ProvidableCompositionLocal<Float>

CompositionLocal containing the alpha value for component's disabled state.

Link copied to clipboard
val LocalTextStyle: ProvidableCompositionLocal<TextStyle>

CompositionLocal provides TextStyle used by Text components by default. To set the value of this CompositionLocal, see ProvideTextStyle.

Functions

Link copied to clipboard
@Composable
fun Badge(modifier: Modifier = Modifier, badgeColor: BadgeColors = BadgeDefaults.badgeColors(), badgeSize: BadgeSize = BadgeDefaults.Small, radius: Dp = badgeSize.badgeRadius(), contentPadding: PaddingValues = badgeSize.badgePadding(), textStyle: TextStyle = PicoTheme.typography.bodySmall, content: @Composable RowScope.() -> Unit? = null)

Badge is a component that can contain dynamic information, such as the presence of a new notification or a number of pending requests. Badges can be icon only or contain short text.

Link copied to clipboard
@Composable
fun BadgeSize.badgePadding(): PaddingValues

Calculates the inner padding values for a badge based on its size.

Link copied to clipboard

Calculates the corner radius for a badge. This function determines the appropriate radius based on the badge size.

Link copied to clipboard
@Composable
fun BasicScrollIndicator(state: ScrollIndicatorState, modifier: Modifier = Modifier, colors: ScrollIndicatorColors = ScrollIndicatorDefaults.scrollIndicatorColors(), scrollingMarkSize: Dp = ScrollIndicatorDefaults.ScrollingMarkSize, paddingForInteraction: PaddingValues = ScrollIndicatorDefaults.ZeroPadding, contentPadding: PaddingValues = ScrollIndicatorDefaults.TrackPadding)

Basic implementation of scroll indicator. Different to ScrollIndicator with BoxScope, this implementation can be placed anywhere in the tree. And it's always visible.

Link copied to clipboard
@Composable
fun Button(onClick: () -> Unit, modifier: Modifier = Modifier, enabled: Boolean = true, size: ButtonSize = ButtonDefaults.Regular, colors: ButtonColors = ButtonDefaults.buttonColors(), leadingIcon: @Composable () -> Unit? = null, trailingIcon: @Composable () -> Unit? = null, contentPadding: PaddingValues = ButtonDefaults.paddingForButtonSize( size, haveIcon = leadingIcon != null || trailingIcon != null, ), shape: Shape = ButtonDefaults.shapeForButtonSize(size), gap: Dp = ButtonDefaults.gapForButtonSize( size, haveIcon = leadingIcon != null || trailingIcon != null, ), interactionSource: MutableInteractionSource = remember { MutableInteractionSource() }, content: @Composable RowScope.() -> Unit)

A stylized button component defined by PICO design which can be easily used by passing pre-defined ButtonSize and ButtonColors. Each pre-defined ButtonSize has related PaddingValues,Shape,gap and TextStyle.

Link copied to clipboard
@Composable
fun ButtonChip(label: @Composable () -> Unit, onClick: () -> Unit, modifier: Modifier = Modifier, leadingIcon: @Composable () -> Unit? = null, trailingIcon: @Composable () -> Unit? = null, enabled: Boolean = true, chipSize: ChipSize = ChipsDefaults.Small, colors: ChipColors = ChipsDefaults.chipColors(), interactionSource: MutableInteractionSource = remember { MutableInteractionSource() })

Button-like Chip.

Link copied to clipboard
@Composable
fun Checkbox(checked: Boolean, onCheckedChange: (Boolean) -> Unit?, modifier: Modifier = Modifier, enabled: Boolean = true, contentSize: CheckboxContentSize = CheckBoxDefaults.Regular, colors: CheckboxColor = CheckBoxDefaults.checkboxColors(), interactionSource: MutableInteractionSource = remember { MutableInteractionSource() })

Checkboxes allow users to select one or more items from a set. Checkboxes can turn an option on or off.

Link copied to clipboard
@Composable
fun Chip(label: @Composable () -> Unit, onClick: () -> Unit?, modifier: Modifier = Modifier, leadingIcon: @Composable () -> Unit? = null, trailingIcon: @Composable () -> Unit? = null, enabled: Boolean = true, colors: ChipColors = ChipsDefaults.chipColors(), chipSize: ChipSize = ChipsDefaults.Small, contentPadding: PaddingValues = chipSize.contentPadding(leading = leadingIcon != null), contentGap: Dp = chipSize.contentGap(), shape: Shape = RoundedCornerShape(chipSize.cornerRadius()), interactionSource: MutableInteractionSource = remember { MutableInteractionSource() })

Basic chip.

Link copied to clipboard
@Composable
fun CircularProgressIndicator(modifier: Modifier = Modifier, color: Color = PicoTheme.colorScheme.labelPrimaryLight, progressSize: CircularProgressSize = CircularProgressDefaults.Small, strokeWidth: Dp = progressSize.strokeWidth())

Progress indicators express an unspecified wait time, such as loading.

@Composable
fun CircularProgressIndicator(progress: () -> Float, modifier: Modifier = Modifier, colors: ProgressColors = CircularProgressDefaults.circleProgressColors(), edgeStyle: ProgressIndicatorEdgeStyle = ProgressIndicatorEdgeStyle.RoundCorner, progressSize: CircularProgressSize = CircularProgressDefaults.Small, strokeWidth: Dp = progressSize.strokeWidth())

Progress indicators display the length of a process.

Link copied to clipboard

The corner radius of the segment control.

Link copied to clipboard

Calculates the content gap for a given ChipSize.

Link copied to clipboard
fun ChipSize.contentPadding(leading: Boolean = false): PaddingValues

Calculates the content padding for a given ChipSize.

Link copied to clipboard

Calculates the corner radius for a given ChipSize.

Link copied to clipboard
@Composable
fun DatePicker(onDateSelected: (selectedDateMillis: Long) -> Unit, modifier: Modifier = Modifier, state: DatePickerState = rememberDatePickerState(), dateFormatter: DatePickerFormatter = remember { DatePickerDefaults.dateFormatter() }, colors: DatePickerColors = DatePickerDefaults.datePickerColors(), headerStyle: HeaderStyle = HeaderStyle.Navigation(true))

DatePicker is a component that allows users to select a date.

Link copied to clipboard
@Composable
fun DateRangePicker(onStartSelected: (startDateInMillis: Long) -> Unit, onEndSelected: (endDateInMillis: Long?) -> Unit, modifier: Modifier = Modifier, state: DateRangePickerState = rememberDateRangePickerState(), dateFormatter: DatePickerFormatter = remember { DatePickerDefaults.dateFormatter() }, colors: DatePickerColors = DatePickerDefaults.datePickerColors(), headerStyle: HeaderStyle = HeaderStyle.Navigation(true))

Date range pickers let people select a range of dates and can be embedded into Dialogs.

Link copied to clipboard
fun defaultColorScheme(fillPrimary: Color = ColorTokens.Default.FillDarkerAlpha, fillSecondary: Color = ColorTokens.Default.FillSemilightAlpha, fillTertiary: Color = ColorTokens.Default.FillNeutralAlpha, fillLight: Color = ColorTokens.Default.FillLightAlpha, labelPrimaryLight: Color = ColorTokens.Default.SubWhite100, labelPrimary: Color = ColorTokens.Default.LabelDarkestAlpha, labelSecondary: Color = ColorTokens.Default.LabelUltradarkAlpha, labelTertiary: Color = ColorTokens.Default.LabelSemidarkAlpha, labelQuaternary: Color = ColorTokens.Default.LabelDarkAlpha, lightenHover: Color = ColorTokens.Default.FillSemilightAlpha, lightenPressed: Color = ColorTokens.Default.FillSemilightAlpha, error: Color = ColorTokens.Default.SubRed100.asDisplayP3(), alert: Color = ColorTokens.Default.SubOrange100.asDisplayP3(), passable: Color = ColorTokens.Default.SubGreen100.asDisplayP3(), interaction: Color = ColorTokens.Default.SubBlue100.asDisplayP3(), dividerLine: Color = ColorTokens.Default.SubBlack12): ColorScheme

The default color scheme that does not use vibrant colors.

Link copied to clipboard
@Composable
fun Divider(modifier: Modifier = Modifier, color: Color = DividerDefaults.color, thickness: Dp = DividerDefaults.thickness, orientation: Orientation = Orientation.Horizontal)

A divider is a thin line that groups content in lists and layouts.

Link copied to clipboard
@Composable
fun DotBadge(modifier: Modifier = Modifier, color: Color = BadgeDefaults.DotColor)

Dot badge.

Link copied to clipboard
@Composable
fun HorizontalDivider(modifier: Modifier = Modifier, color: Color = DividerDefaults.color, thickness: Dp = DividerDefaults.thickness)

A divider is a thin line that groups content in lists and layouts.

Link copied to clipboard
@Composable
fun Icon(bitmap: ImageBitmap, contentDescription: String?, modifier: Modifier = Modifier, tint: Color = LocalContentColor.current)

A PICO design icon component that draws bitmap using tint, with a default value of LocalContentColor. If bitmap has no intrinsic size, this component uses the recommended default size. Icon is an opinionated component designed to be used with single-color icons so that they can be tinted correctly for the component they are placed in. For multicolored icons and icons that should not be tinted, use Color.Unspecified for tint. For generic images that should not be tinted, and do not follow the recommended icon size, use the generic androidx.compose.foundation.Image instead. For a clickable icon, see IconButton.

@Composable
fun Icon(painter: Painter, contentDescription: String?, modifier: Modifier = Modifier, tint: Color = LocalContentColor.current)

A PICO design icon component that draws painter using tint, with a default value of LocalContentColor. If painter has no intrinsic size, this component uses the recommended default size. Icon is an opinionated component designed to be used with single-color icons so that they can be tinted correctly for the component they are placed in. For multicolored icons and icons that should not be tinted, use Color.Unspecified for tint. For generic images that should not be tinted, and do not follow the recommended icon size, use the generic androidx.compose.foundation.Image instead. For a clickable icon, see IconButton.

@Composable
fun Icon(imageVector: ImageVector, contentDescription: String?, modifier: Modifier = Modifier, tint: Color = LocalContentColor.current)

A PICO design icon component that draws imageVector using tint, with a default value of LocalContentColor. If imageVector has no intrinsic size, this component uses the recommended default size. Icon is an opinionated component designed to be used with single-color icons so that they can be tinted correctly for the component they are placed in. For multicolored icons and icons that should not be tinted, use Color.Unspecified for tint. For generic images that should not be tinted, and do not follow the recommended icon size, use the generic androidx.compose.foundation.Image instead. For a clickable icon, see IconButton.

Link copied to clipboard
@Composable
fun IconButton(onClick: () -> Unit, modifier: Modifier = Modifier, colors: ButtonColors = IconButtonDefaults.iconButtonColors(), size: ButtonSize = IconButtonDefaults.Regular, shape: Shape = IconButtonDefaults.DefaultShape, enabled: Boolean = true, interactionSource: MutableInteractionSource = remember { MutableInteractionSource() }, content: @Composable () -> Unit)

Icon button defined by PICO design.

Link copied to clipboard

The content padding of the segment control item.

Link copied to clipboard
@Composable
fun LinearProgressIndicator(progress: () -> Float, modifier: Modifier = Modifier, colors: ProgressColors = LinearProgressDefaults.linearProgressColors(), edgeStyle: ProgressIndicatorEdgeStyle = ProgressIndicatorEdgeStyle.RoundCorner, height: LinearProgressHeight = LinearProgressDefaults.Small)

Progress indicators express an unspecified wait time or display the length of a process. By default there is no animation between progress values.

Link copied to clipboard
@Composable
fun Link(onClick: () -> Unit, modifier: Modifier = Modifier, enabled: Boolean = true, size: ButtonSize = LinkDefaults.Regular, shape: Shape = size.shapeForLink(), colors: ButtonColors = LinkDefaults.defaultColors(), trailingIcon: @Composable () -> Unit? = null, semanticsContent: String? = null, contentPadding: PaddingValues = size.paddingForLink(trailingIcon != null), interactionSource: MutableInteractionSource = remember { MutableInteractionSource() }, content: @Composable BoxScope.() -> Unit)

A Link is a text button with a optional trailing icon.

Link copied to clipboard
@Composable
fun ListItem(headlineContent: @Composable () -> Unit, modifier: Modifier = Modifier, supportingContent: @Composable () -> Unit? = null, leadingContent: @Composable BoxScope.() -> Unit? = null, trailingContent: @Composable BoxScope.() -> Unit? = null, colors: ListItemColors = ListItemDefaults.listItemColors(), padding: PaddingValues = ListItemDefaults.DefaultPadding, shape: Shape = ListItemDefaults.shape)

This component can be used to achieve the list item templates existing in the spec.

Link copied to clipboard
@Composable
fun NumberBadge(modifier: Modifier = Modifier, number: Int, threshold: Int = BadgeDefaults.OverflowThreshold, overflow: Overflow = Overflow.Plus, textStyle: TextStyle = BadgeDefaults.NumberTextStyle, badgeSize: BadgeSize = BadgeDefaults.NumberSmall, badgeColor: BadgeColors = BadgeDefaults.numberBadgeColors(), contentPadding: PaddingValues = badgeSize.badgePadding())

A Badge that is used to show numbers.

Link copied to clipboard
@Composable
fun NumberField(value: Int, onValueChange: (Int) -> Unit, modifier: Modifier = Modifier, increaseIcon: @Composable () -> Unit = NumberFieldDefaults.defaultIncreaseIcon(), decreaseIcon: @Composable () -> Unit = NumberFieldDefaults.defaultDecreaseIcon(), stepLength: Int = 1, valueRange: IntRange = NumberFieldDefaults.DefaultRange, colors: NumberFieldColors = NumberFieldDefaults.numberFieldColors(), size: NumberFieldSize = NumberFieldDefaults.defaultSize(), cornerSize: Dp = size.height.cornerSize(), gap: Dp = NumberFieldDefaults.DefaultGap, enabled: Boolean = true, editable: Boolean = true, textStyle: TextStyle = NumberFieldDefaults.defaultTextStyle(size.height), keyboardOptions: KeyboardOptions = NumberFieldDefaults.DefaultKeyboardOptions, unit: String? = null, spacerWidth: Dp = NumberFieldDefaults.DefaultSpacerWidth)
@Composable
fun NumberField(value: Double, onValueChange: (Double) -> Unit, modifier: Modifier = Modifier, increaseIcon: @Composable () -> Unit = NumberFieldDefaults.defaultIncreaseIcon(), decreaseIcon: @Composable () -> Unit = NumberFieldDefaults.defaultDecreaseIcon(), stepLength: Double = 1.0, valueRange: ClosedFloatingPointRange<Double> = NumberFieldDefaults.DefaultDoubleRange, colors: NumberFieldColors = NumberFieldDefaults.numberFieldColors(), size: NumberFieldSize = NumberFieldDefaults.defaultSize(), cornerSize: Dp = size.height.cornerSize(), gap: Dp = NumberFieldDefaults.DefaultGap, enabled: Boolean = true, editable: Boolean = true, textStyle: TextStyle = NumberFieldDefaults.defaultTextStyle(size.height), keyboardOptions: KeyboardOptions = NumberFieldDefaults.DefaultKeyboardOptions, unit: String? = null, spacerWidth: Dp = NumberFieldDefaults.DefaultSpacerWidth, fractionDigits: Int = 1)
@Composable
fun NumberField(value: Float, onValueChange: (Float) -> Unit, modifier: Modifier = Modifier, increaseIcon: @Composable () -> Unit = NumberFieldDefaults.defaultIncreaseIcon(), decreaseIcon: @Composable () -> Unit = NumberFieldDefaults.defaultDecreaseIcon(), stepLength: Float = 1.0f, valueRange: ClosedFloatingPointRange<Float> = NumberFieldDefaults.DefaultFloatRange, colors: NumberFieldColors = NumberFieldDefaults.numberFieldColors(), size: NumberFieldSize = NumberFieldDefaults.defaultSize(), cornerSize: Dp = size.height.cornerSize(), gap: Dp = NumberFieldDefaults.DefaultGap, enabled: Boolean = true, editable: Boolean = true, textStyle: TextStyle = NumberFieldDefaults.defaultTextStyle(size.height), keyboardOptions: KeyboardOptions = NumberFieldDefaults.DefaultKeyboardOptions, unit: String? = null, spacerWidth: Dp = NumberFieldDefaults.DefaultSpacerWidth, fractionDigits: Int = 1)

NumberField is used to create a number input field with increase and decrease buttons.

Link copied to clipboard
@Composable
fun Option(selected: Boolean, onSelectChange: (selected: Boolean) -> Unit, modifier: Modifier = Modifier, icon: @Composable () -> Unit? = null, colors: OptionColors = OptionDefaults.optionColors(), enabled: Boolean = true, gap: Dp = OptionDefaults.Gap, shape: Shape = OptionDefaults.Shape, contentPadding: PaddingValues = OptionDefaults.ContentPadding, interactionSource: MutableInteractionSource = remember { MutableInteractionSource() }, content: @Composable () -> Unit)

Option is a stylized button component defined by PICO design witch has a selected state. And usually has a Text and optional leading icon.

Link copied to clipboard
@Composable
fun PageControl(currentIndex: Int, onClickAction: (Int) -> Unit, @IntRange(from = 0) totalDots: Int, modifier: Modifier = Modifier, colors: PageControlColors = PageControlDefaults.pageControlColors(), selectIcon: @Composable () -> Unit? = null, enabled: Boolean = true, maxDisplayCount: Int = PageControlDefaults.NormalMax, pageControlSpec: PageControlSpec = PageControlDefaults.Spec)

PageControl used to create a page indicator.

Link copied to clipboard
@Composable
fun PicoTheme(colorScheme: ColorScheme = systemColorScheme(LocalContext.current), typography: Typography? = null, content: @Composable () -> Unit)

Provides PICO theme values.

Link copied to clipboard
@Composable
fun ProgressPageControl(currentIndex: Int, onClickAction: (Int) -> Unit, @IntRange(from = 0) totalDots: Int, currentProgress: () -> Float, modifier: Modifier = Modifier, colors: PageControlColors = PageControlDefaults.pageControlColors(), enabled: Boolean = true, maxDisplayCount: Int = PageControlDefaults.ProgressMax, pageControlSpec: PageControlSpec = PageControlDefaults.Spec)

ProgressPageControl used to create a page indicator, each dot has a progress indicator.

Link copied to clipboard
@Composable
fun ProvideTextStyle(textStyle: TextStyle, content: @Composable () -> Unit)

This function will merge the given style values with current values for any missing attributes. Any Text included in this component will be styled with the merged style by default.

Link copied to clipboard
@Composable
fun rememberDatePickerState(initialSelectedDateMillis: Long? = null, initialDisplayedMonthMillis: Long? = initialSelectedDateMillis): DatePickerState

Creates a DatePickerState for a DatePicker that is remembered across compositions.

Link copied to clipboard
@Composable
fun rememberDateRangePickerState(initialSelectedStartDateMillis: Long? = null, initialSelectedEndDateMillis: Long? = null, initialDisplayedMonthMillis: Long? = initialSelectedStartDateMillis): DateRangePickerState

Creates a DateRangePickerState for a DateRangePicker that is remembered across compositions.

Link copied to clipboard
@Composable
fun rememberScrollIndicatorState(state: LazyListState): ScrollIndicatorState

Creates a ScrollIndicatorState for LazyListState.

@Composable
fun rememberScrollIndicatorState(state: LazyGridState): ScrollIndicatorState

Creates a ScrollIndicatorState for LazyGridState.

@Composable
fun rememberScrollIndicatorState(state: LazyStaggeredGridState): ScrollIndicatorState

Creates a ScrollIndicatorState for LazyStaggeredGridState.

@Composable
fun rememberScrollIndicatorState(orientation: Orientation, state: ScrollState): ScrollIndicatorState

Creates a ScrollIndicatorState for ScrollState.

Link copied to clipboard
@Composable
fun rememberWheelState(vararg inputs: Any?, initialFirstVisibleItemIndex: Int = 0, initialFirstVisibleItemScrollOffset: Int = 0): LazyListState

State for WheelPicker.

Link copied to clipboard
@Composable
fun RemovableChip(label: @Composable () -> Unit, onLeadingClick: () -> Unit, onTrailingRemoveClick: () -> Unit, visible: Boolean, modifier: Modifier = Modifier, leadingIcon: @Composable () -> Unit? = null, enabled: Boolean = true, colors: ChipColors = ChipsDefaults.chipColors(), chipSize: ChipSize = ChipsDefaults.Small, contentPadding: PaddingValues = chipSize.removeChipPadding(leadingIcon != null), contentGap: Dp = chipSize.contentGap(), shape: Shape = RoundedCornerShape(chipSize.cornerRadius()), interactionSource: MutableInteractionSource = remember { MutableInteractionSource() })

A chip which is removable.

Link copied to clipboard

Calculates the icon size for a given ChipSize in RemovableChip.

Link copied to clipboard
fun ChipSize.removeChipPadding(leading: Boolean = false): PaddingValues

Calculates the padding for a given ChipSize in RemovableChip.

Link copied to clipboard
@Composable
fun BoxScope.ScrollIndicator(state: LazyListState, modifier: Modifier = Modifier, alignment: Alignment = if (state.layoutInfo.orientation == Orientation.Vertical) Alignment.CenterEnd else Alignment.BottomCenter, paddingForInteraction: PaddingValues = ScrollIndicatorDefaults.defaultHotAreaPadding(state.layoutInfo.orientation, alignment), colors: ScrollIndicatorColors = ScrollIndicatorDefaults.scrollIndicatorColors(), minVisibleSize: Dp = ScrollIndicatorDefaults.MinSize, scrollingMarkSize: Dp = ScrollIndicatorDefaults.ScrollingMarkSize, dismissAfter: Long = 3000)

Scroll indicator is used to indicate scrolling progress of a list view, just like LazyColumn or LazyRow. You can also drag the indicator to scroll the content of list view.

@Composable
fun BoxScope.ScrollIndicator(state: LazyGridState, modifier: Modifier = Modifier, alignment: Alignment = if (state.layoutInfo.orientation == Orientation.Vertical) Alignment.CenterEnd else Alignment.BottomCenter, paddingForInteraction: PaddingValues = ScrollIndicatorDefaults.defaultHotAreaPadding( orientation = state.layoutInfo.orientation, alignment = alignment, ), colors: ScrollIndicatorColors = ScrollIndicatorDefaults.scrollIndicatorColors(), minVisibleSize: Dp = ScrollIndicatorDefaults.MinSize, scrollingMarkSize: Dp = ScrollIndicatorDefaults.ScrollingMarkSize, dismissAfter: Long = 3000)

Scroll indicator is used to indicate scrolling progress of a grid view, just like LazyHorizontalGrid or LazyVerticalGrid. You can also drag the indicator to scroll the content of grid view.

@Composable
fun BoxScope.ScrollIndicator(state: LazyStaggeredGridState, modifier: Modifier = Modifier, alignment: Alignment = if (state.layoutInfo.orientation == Orientation.Vertical) Alignment.CenterEnd else Alignment.BottomCenter, paddingForInteraction: PaddingValues = ScrollIndicatorDefaults.defaultHotAreaPadding( orientation = state.layoutInfo.orientation, alignment = alignment, ), colors: ScrollIndicatorColors = ScrollIndicatorDefaults.scrollIndicatorColors(), minVisibleSize: Dp = ScrollIndicatorDefaults.MinSize, scrollingMarkSize: Dp = ScrollIndicatorDefaults.ScrollingMarkSize, dismissAfter: Long = 3000)

Scroll indicator is used to indicate scrolling progress of a staggered grid view, just like LazyHorizontalStaggeredGrid or LazyVerticalStaggeredGrid. You can also drag the indicator to scroll the content of grid view.

@Composable
fun BoxScope.ScrollIndicator(state: ScrollState, orientation: Orientation, modifier: Modifier = Modifier, alignment: Alignment = if (orientation == Orientation.Vertical) Alignment.CenterEnd else Alignment.BottomCenter, paddingForInteraction: PaddingValues = ScrollIndicatorDefaults.defaultHotAreaPadding(orientation, alignment), colors: ScrollIndicatorColors = ScrollIndicatorDefaults.scrollIndicatorColors(), minVisibleSize: Dp = ScrollIndicatorDefaults.MinSize, scrollingMarkSize: Dp = ScrollIndicatorDefaults.ScrollingMarkSize, dismissAfter: Long = 3000)

Scroll indicator is used to indicate scrolling progress of a scrollable view with Modifier.verticalScroll or Modifier.horizontalScroll, like Column or Row. You can also drag the indicator to scroll the content of scrollable view.

Link copied to clipboard
@Composable
fun SearchField(value: String, onValueChange: (String) -> Unit, onSearch: (String) -> Unit, modifier: Modifier = Modifier, placeholder: @Composable () -> Unit? = null, leadingContent: @Composable () -> Unit = SearchFieldDefaults.searchIcon(), enabled: Boolean = true, textStyle: TextStyle = SearchFieldDefaults.DefaultTextStyle, interactionSource: MutableInteractionSource = remember { MutableInteractionSource() }, cornerRadius: Dp = 100.dp, colors: TextFieldColors = SearchFieldDefaults.searchFieldColors())

Search field allows users to input text, and trigger a search action either by pressing the search button on the keyboard or other means.

Link copied to clipboard
@Composable
fun SegmentControl(modifier: Modifier = Modifier, backgroundColor: Color = SegmentControlDefaults.backgroundColor, itemSpace: Dp = SegmentControlDefaults.ItemSpace, contentPadding: Dp = SegmentControlDefaults.ContainerPadding, cornerRadius: Dp = SegmentControlDefaults.Small.containerCornerRadius(), content: @Composable RowScope.() -> Unit)

Segment control with Texts or Icons.

Link copied to clipboard
@Composable
fun RowScope.SegmentItem(selected: Boolean, onClick: () -> Unit, modifier: Modifier = Modifier, interactionSource: MutableInteractionSource = remember { MutableInteractionSource() }, textStyle: TextStyle = SegmentControlDefaults.Small.textStyle(), colors: SegmentControlColors = SegmentControlDefaults.colors(), title: @Composable () -> Unit? = null, icon: @Composable () -> Unit? = null, contentPadding: PaddingValues = SegmentControlDefaults.Small.itemContentPadding(), gap: Dp = SegmentControlDefaults.ItemGap)

A composable function that creates a basic segment item. The segment item can be used as a building block for creating the text and icon segment controls.

Link copied to clipboard
@Composable
fun SegmentSlider(initialStep: Int, segmentCount: Int, onStepChange: (newStep: Int) -> Unit, modifier: Modifier = Modifier, enabled: Boolean = true, interactionSource: MutableInteractionSource = remember { MutableInteractionSource() }, sliderSpec: SliderSpec = SliderDefaults.Regular, colors: SliderColors = SliderDefaults.sliderColors())

Sliders allow users to make selections range from 0 to segmentCount.

Link copied to clipboard
@Composable
fun SideNavigation(modifier: Modifier = Modifier, scrollState: ScrollState = rememberScrollState(), contentPadding: PaddingValues = SideNavigationDefaults.DefaultContentPadding, headerColor: Color = SideNavigationDefaults.headerColor, header: @Composable BoxScope.() -> Unit? = null, content: @Composable ColumnScope.() -> Unit)

A vertical navigation component typically used for primary navigation patterns.

Link copied to clipboard
@Composable
fun SideNavigationItem(selected: Boolean, modifier: Modifier = Modifier, horizontalArrangement: Arrangement.Horizontal = SideNavigationItemDefaults.HorizontalArrangement, shape: Shape = SideNavigationItemDefaults.Shape, contentPadding: PaddingValues = SideNavigationItemDefaults.ContentPadding, colors: SideNavigationItemColors = SideNavigationItemDefaults.colors(), leading: @Composable BoxScope.() -> Unit? = null, trailing: @Composable BoxScope.() -> Unit? = null, content: @Composable BoxScope.() -> Unit)

A single navigation item within a SideNavigation or SideNavigationSection.

Link copied to clipboard
@Composable
fun SideNavigationSection(modifier: Modifier = Modifier, contentPadding: PaddingValues = SideNavigationDefaults.DefaultSectionContentPadding, titlePadding: PaddingValues = SideNavigationDefaults.DefaultSectionTitlePadding, sectionColor: Color = SideNavigationDefaults.sectionColor, title: @Composable BoxScope.() -> Unit, content: @Composable ColumnScope.() -> Unit)

A section within a SideNavigation that groups related navigation items.

Link copied to clipboard
@Composable
fun Slider(value: Float, onValueChange: (newValue: Float) -> Unit, modifier: Modifier = Modifier, valueRange: ClosedFloatingPointRange<Float> = 0f..1f, onValueChangeFinished: () -> Unit? = null, enabled: Boolean = true, interactionSource: MutableInteractionSource = remember { MutableInteractionSource() }, sliderSpec: SliderSpec = SliderDefaults.Regular, colors: SliderColors = SliderDefaults.sliderColors())

Continuous sliders allow users to make selections in valueRange.

Link copied to clipboard
@Composable
fun Stepper(value: String, onStep: (step: Int) -> Unit, modifier: Modifier = Modifier, decreaseIcon: @Composable () -> Unit = StepperIconStyle.MinusAndAdd.iconDecrease(), increaseIcon: @Composable () -> Unit = StepperIconStyle.MinusAndAdd.iconIncrease(), stepLength: Int = 1, increasable: Boolean = true, decreasable: Boolean = true, onEdited: (newValue: String) -> Unit? = null, editable: Boolean = onEdited != null, textStyle: TextStyle = PicoTheme.typography.titleMedium.copy(fontWeight = FontWeight.Normal), textColor: Color = PicoTheme.colorScheme.labelPrimary, paddingValues: PaddingValues = PaddingValues(defaultPadding), backgroundShape: Shape = RoundedCornerShape(10.dp), backgroundColor: Color = PicoTheme.colorScheme.fillTertiary, cursorBrush: Brush = SolidColor(PicoTheme.colorScheme.fillPrimary), keyboardOptions: KeyboardOptions = KeyboardOptions.Default)

Basic implement of a stepper.

Link copied to clipboard
@Composable
fun Switch(checked: Boolean, onCheckedChange: (Boolean) -> Unit?, modifier: Modifier = Modifier, enabled: Boolean = true, colors: SwitchColors = SwitchDefaults.switchColors(), interactionSource: MutableInteractionSource = remember { MutableInteractionSource() })

Switches toggle the state of a single item on or off.

Link copied to clipboard
@Composable
fun SymbolicCircularProgressIndicator(progress: () -> Float, progressSymbol: @Composable () -> Unit?, modifier: Modifier = Modifier, colors: ProgressColors = CircularProgressDefaults.circleProgressColors(), progressSize: CircularProgressSize = CircularProgressDefaults.Small, strokeWidth: Dp = progressSize.strokeWidth(), edgeStyle: ProgressIndicatorEdgeStyle = ProgressIndicatorEdgeStyle.RoundCorner)

Progress indicators display the length of a process. When progress is 1.0f, a complete animation will be display. A progressSymbol is optional for you to display the progress details.

Link copied to clipboard
@Composable
fun SymbolSlider(value: Float, onValueChange: (newValue: Float) -> Unit, modifier: Modifier = Modifier, valueRange: ClosedFloatingPointRange<Float> = 0f..1f, icon: @Composable () -> Unit, onValueChangeFinished: () -> Unit? = null, enabled: Boolean = true, interactionSource: MutableInteractionSource = remember { MutableInteractionSource() }, sliderSpec: SliderSpec = SliderDefaults.Regular, colors: SliderColors = SliderDefaults.sliderColors())

Continuous sliders allow users to make selections in valueRange.

Link copied to clipboard
fun systemColorScheme(context: Context): ColorScheme

The colors will be load from system resources.

Link copied to clipboard
@Composable
fun Text(text: String, modifier: Modifier = Modifier, color: Color = Color.Unspecified, autoSize: TextAutoSize? = null, fontSize: TextUnit = TextUnit.Unspecified, fontStyle: FontStyle? = null, fontWeight: FontWeight? = null, fontFamily: FontFamily? = null, letterSpacing: TextUnit = TextUnit.Unspecified, textDecoration: TextDecoration? = null, textAlign: TextAlign = TextAlign.Unspecified, lineHeight: TextUnit = TextUnit.Unspecified, overflow: TextOverflow = TextOverflow.Clip, softWrap: Boolean = true, maxLines: Int = Int.MAX_VALUE, minLines: Int = 1, onTextLayout: (TextLayoutResult) -> Unit? = null, style: TextStyle = LocalTextStyle.current)
@Composable
fun Text(text: AnnotatedString, modifier: Modifier = Modifier, color: Color = Color.Unspecified, autoSize: TextAutoSize? = null, fontSize: TextUnit = TextUnit.Unspecified, fontStyle: FontStyle? = null, fontWeight: FontWeight? = null, fontFamily: FontFamily? = null, letterSpacing: TextUnit = TextUnit.Unspecified, textDecoration: TextDecoration? = null, textAlign: TextAlign = TextAlign.Unspecified, lineHeight: TextUnit = TextUnit.Unspecified, overflow: TextOverflow = TextOverflow.Clip, softWrap: Boolean = true, maxLines: Int = Int.MAX_VALUE, minLines: Int = 1, inlineContent: Map<String, InlineTextContent> = mapOf(), onTextLayout: (TextLayoutResult) -> Unit? = null, style: TextStyle = LocalTextStyle.current)

High level PICO design component to display text.

Link copied to clipboard
@Composable
fun TextArea(value: TextFieldValue, onValueChange: (TextFieldValue) -> Unit, modifier: Modifier = Modifier, placeholder: @Composable () -> Unit? = null, supportingText: @Composable () -> Unit? = null, enabled: Boolean = true, readOnly: Boolean = false, textStyle: TextStyle = TextFieldDefaults.DefaultTextStyle, isError: Boolean = false, visualTransformation: VisualTransformation = VisualTransformation.None, keyboardOptions: KeyboardOptions = KeyboardOptions.Default, keyboardActions: KeyboardActions = KeyboardActions.Default, maxLines: Int = Int.MAX_VALUE, minLines: Int = 1, showScrollIndicator: Boolean = false, interactionSource: MutableInteractionSource = remember { MutableInteractionSource() }, cornerRadius: Dp = TextFieldDefaults.CornerRadius, colors: TextFieldColors = TextFieldDefaults.textFieldColors())

Multi line text input.

@Composable
fun TextArea(value: String, onValueChange: (String) -> Unit, modifier: Modifier = Modifier, placeholder: @Composable () -> Unit? = null, supportingText: @Composable () -> Unit? = null, enabled: Boolean = true, readOnly: Boolean = false, textStyle: TextStyle = TextFieldDefaults.DefaultTextStyle, isError: Boolean = false, visualTransformation: VisualTransformation = VisualTransformation.None, keyboardOptions: KeyboardOptions = KeyboardOptions.Default, keyboardActions: KeyboardActions = KeyboardActions.Default, maxLines: Int = Int.MAX_VALUE, minLines: Int = 1, showScrollIndicator: Boolean = false, interactionSource: MutableInteractionSource = remember { MutableInteractionSource() }, cornerRadius: Dp = TextFieldDefaults.CornerRadius, colors: TextFieldColors = TextFieldDefaults.textFieldColors())

Multi-line text input.

Link copied to clipboard
@Composable
fun TextField(value: TextFieldValue, onValueChange: (TextFieldValue) -> Unit, modifier: Modifier = Modifier, placeholder: @Composable () -> Unit? = null, leadingContent: @Composable () -> Unit? = null, trailingContent: @Composable () -> Unit? = null, supportingText: @Composable () -> Unit? = null, enabled: Boolean = true, readOnly: Boolean = false, textStyle: TextStyle = TextFieldDefaults.DefaultTextStyle, isError: Boolean = false, visualTransformation: VisualTransformation = VisualTransformation.None, keyboardOptions: KeyboardOptions = KeyboardOptions.Default, keyboardActions: KeyboardActions = KeyboardActions.Default, singleLine: Boolean = true, maxLines: Int = if (singleLine) 1 else Int.MAX_VALUE, minLines: Int = 1, showScrollIndicator: Boolean = false, interactionSource: MutableInteractionSource = remember { MutableInteractionSource() }, cornerRadius: Dp = TextFieldDefaults.CornerRadius, colors: TextFieldColors = TextFieldDefaults.textFieldColors(), clearable: Boolean = true)
@Composable
fun TextField(value: String, onValueChange: (String) -> Unit, modifier: Modifier = Modifier, placeholder: @Composable () -> Unit? = null, leadingContent: @Composable () -> Unit? = null, trailingContent: @Composable () -> Unit? = null, supportingText: @Composable () -> Unit? = null, enabled: Boolean = true, readOnly: Boolean = false, textStyle: TextStyle = TextFieldDefaults.DefaultTextStyle, isError: Boolean = false, visualTransformation: VisualTransformation = VisualTransformation.None, keyboardOptions: KeyboardOptions = KeyboardOptions.Default, keyboardActions: KeyboardActions = KeyboardActions.Default, singleLine: Boolean = true, maxLines: Int = if (singleLine) 1 else Int.MAX_VALUE, minLines: Int = 1, showScrollIndicator: Boolean = false, interactionSource: MutableInteractionSource = remember { MutableInteractionSource() }, cornerRadius: Dp = TextFieldDefaults.CornerRadius, colors: TextFieldColors = TextFieldDefaults.textFieldColors(), clearable: Boolean = true)

Text fields allow users to enter text into a UI.

Link copied to clipboard
@Composable
fun ChipSize.textStyle(): TextStyle

Calculates the text style for a given ChipSize.

@Composable
fun SegmentControlSize.textStyle(): TextStyle

The text style of the segment control item. *.

Link copied to clipboard
@Composable
fun Timepicker(modifier: Modifier = Modifier, config: TimepickerConfig = TimepickerConfig.create( hour = TimepickerElement.hours(), minute = TimepickerElement.minutes(), second = TimepickerElement.seconds(), ), onHoursChanged: (Int) -> Unit = {}, onMinutesChanged: (Int) -> Unit = {}, onSecondsChanged: (Int) -> Unit = {}, gap: Dp = TimepickerDefaults.DefaultGap, colors: WheelPickerColors = WheelPickerDefaults.wheelPickerColors())

A component for choosing hours/minutes/seconds based on WheelPicker.

Link copied to clipboard
@Composable
fun TitleBar(title: @Composable BoxScope.() -> Unit, modifier: Modifier = Modifier, leadingActions: @Composable RowScope.() -> Unit? = null, trailingActions: @Composable RowScope.() -> Unit? = null, contentPadding: PaddingValues = TitleBarDefaults.HorizontalPadding, leadingGap: Dp = TitleBarDefaults.ActionsGap, trailingGap: Dp = TitleBarDefaults.ActionsGap, titleAlignment: TitleAlignment = TitleAlignment.Center, colors: TitleBarColors = TitleBarDefaults.titleBarColors())

App title bar.

Link copied to clipboard
@Composable
fun ToggleableChip(label: @Composable () -> Unit, isToggleOn: Boolean, onClick: () -> Unit, modifier: Modifier = Modifier, leadingIcon: @Composable () -> Unit? = null, trailingIcon: @Composable () -> Unit? = null, enabled: Boolean = true, chipSize: ChipSize = ChipsDefaults.Small, colors: ToggleableChipColors = ChipsDefaults.toggleableChipColors(), interactionSource: MutableInteractionSource = remember { MutableInteractionSource() })

Chip that is toggleable.

Link copied to clipboard
@Composable
fun ToggleButton(checked: Boolean, onCheckedChange: (Boolean) -> Unit, modifier: Modifier = Modifier, colors: ToggleButtonColors = ToggleButtonDefaults.toggleButtonColors(), size: ButtonSize = ToggleButtonDefaults.Min, enabled: Boolean = true, interactionSource: MutableInteractionSource = remember { MutableInteractionSource() }, leadingIcon: @Composable () -> Unit? = null, trailingIcon: @Composable () -> Unit? = null, contentPadding: PaddingValues = ButtonDefaults.paddingForButtonSize( size, haveIcon = leadingIcon != null || trailingIcon != null, ), shape: Shape = ButtonDefaults.shapeForButtonSize(size), gap: Dp = ButtonDefaults.gapForButtonSize( size, haveIcon = leadingIcon != null || trailingIcon != null, ), content: @Composable RowScope.() -> Unit)

A stylized toggleable button component defined by PICO design which could be used easily by pass pre-defined ButtonSize and ToggleButtonColors. Each pre-defined ButtonSize has related PaddingValues,Shape,gap and TextStyle.

Link copied to clipboard
@Composable
fun ToggleIconButton(checked: Boolean, onCheckedChange: (Boolean) -> Unit, modifier: Modifier = Modifier, colors: ToggleButtonColors = ToggleIconButtonDefaults.toggleIconButtonColors(), size: ButtonSize = ToggleIconButtonDefaults.Min, shape: Shape = ToggleIconButtonDefaults.DefaultShape, enabled: Boolean = true, interactionSource: MutableInteractionSource = remember { MutableInteractionSource() }, content: @Composable () -> Unit)

Toggleable icon button defined by PICO design.

Link copied to clipboard
@Composable
fun TriStateCheckbox(state: ToggleableState, modifier: Modifier = Modifier, onClick: () -> Unit? = null, enabled: Boolean = true, contentSize: CheckboxContentSize = CheckBoxDefaults.Regular, colors: CheckboxColor = CheckBoxDefaults.checkboxColors(), interactionSource: MutableInteractionSource = remember { MutableInteractionSource() })

Checkboxes can have a parent-child relationship with other checkboxes. When the parent checkbox is checked, all child checkboxes are checked. If a parent checkbox is unchecked, all child checkboxes are unchecked. If some, but not all, child checkboxes are checked, the parent checkbox becomes an indeterminate checkbox.

Link copied to clipboard
@Composable
fun VerticalDivider(modifier: Modifier = Modifier, color: Color = DividerDefaults.color, thickness: Dp = DividerDefaults.thickness)

A divider is a thin line that groups content in horizontal lists and layouts.

Link copied to clipboard
fun vibrantColorScheme(fillPrimary: Color = Color.Vibrant.withVibrant(Vibrant.Darker), fillSecondary: Color = Color.Vibrant.withVibrant(Vibrant.SemiLight), fillTertiary: Color = Color.Vibrant.withVibrant(Vibrant.Neutral), fillLight: Color = Color.Vibrant.withVibrant(Vibrant.Light), labelPrimaryLight: Color = ColorTokens.Default.SubWhite100.withVibrant(Vibrant.None), labelPrimary: Color = Color.Vibrant.withVibrant(Vibrant.Darkest), labelSecondary: Color = Color.Vibrant.withVibrant(Vibrant.UltraDark), labelTertiary: Color = Color.Vibrant.withVibrant(Vibrant.Semidark), labelQuaternary: Color = Color.Vibrant.withVibrant(Vibrant.Dark), lightenHover: Color = Color.Vibrant.withVibrant(Vibrant.SemiLight), lightenPressed: Color = Color.Vibrant.withVibrant(Vibrant.SemiLight), error: Color = ColorTokens.Default.SubRed100.asDisplayP3(), alert: Color = ColorTokens.Default.SubOrange100.asDisplayP3(), passable: Color = ColorTokens.Default.SubGreen100.asDisplayP3(), interaction: Color = ColorTokens.Default.SubBlue100.asDisplayP3(), dividerLine: Color = ColorTokens.Default.SubBlack12.withVibrant(Vibrant.None)): ColorScheme

A vibrant color scheme.

Link copied to clipboard
@Composable
fun WheelPicker(count: Int, getItemText: (Int) -> String, modifier: Modifier = Modifier, itemHeight: Dp = WheelPickerDefaults.DefaultItemHeight, itemMargin: Dp = WheelPickerDefaults.defaultItemMargin, rowNumber: Int = 7, onSelectedChange: (Int) -> Unit? = null, semanticsContent: String? = null, colors: WheelPickerColors = WheelPickerDefaults.wheelPickerColors(), initialSelectedIndex: Int = rowNumber / 2, indicatorBackgroundShape: Shape = WheelPickerDefaults.DefaultIndicatorShape, indicatorCenterTextStyle: TextStyle = PicoTheme.typography.headlineLarge, isInfinite: Boolean = false, leftText: @Composable () -> Unit? = null, rightText: @Composable () -> Unit? = null, state: LazyListState = with(count) { check(this > 0) { "count must lager than 0" } rememberWheelState( count, rowNumber, initialFirstVisibleItemIndex = initialSelectedIndex % this, ) })

A common picker widget defined by PICO Design.