Package-level declarations

Types

Link copied to clipboard
data class ProgressIndicatorSegment(val weight: Float, val indicatorBrush: Brush, val trackColor: Color? = null, val inProgressTrackColor: Color? = null)

Represents a segment of the track in a SegmentedProgressIndicator.

Link copied to clipboard
data class Section<T>(val state: Section.State<T>, val headerContent: @Composable SectionContentScope.() -> Unit? = null, val headerVisibleStates: Section.VisibleStates = ALL_STATES, val loadingContent: @Composable SectionContentScope.() -> Unit? = null, val loadingContentCount: Int = DEFAULT_LOADING_CONTENT_COUNT, val loadedContent: @Composable SectionContentScope.(T) -> Unit? = null, val failedContent: @Composable SectionContentScope.() -> Unit? = null, val emptyContent: @Composable SectionContentScope.() -> Unit? = null, val footerContent: @Composable SectionContentScope.() -> Unit? = null, val footerVisibleStates: Section.VisibleStates = LOADED_STATE_ONLY)

A section in SectionedList.

Link copied to clipboard

Receiver scope which is used by content parameter in SectionScope functions.

Link copied to clipboard

Receiver scope which is used by content parameter in SectionedList.

Link copied to clipboard

Receiver scope which is used by content parameter in SectionedListScope functions.

Functions

Link copied to clipboard
fun DatePicker(onDateConfirm: (LocalDate) -> Unit, modifier: Modifier = Modifier, date: LocalDate = LocalDate.now(), fromDate: LocalDate? = null, toDate: LocalDate? = null)

Full screen date picker with day, month, year.

Link copied to clipboard
fun MarqueeText(text: String, modifier: Modifier = Modifier, color: Color = Color.Unspecified, style: TextStyle = LocalTextStyle.current, textAlign: TextAlign = TextAlign.Left, followGap: Dp = 96.dp, edgeGradientWidth: Dp = 16.dp, marqueeDpPerSecond: Dp = 64.dp, pauseTime: Duration = 4.seconds)
fun MarqueeText(text: AnnotatedString, modifier: Modifier = Modifier, inlineContent: Map<String, InlineTextContent> = mapOf(), color: Color = Color.Unspecified, style: TextStyle = LocalTextStyle.current, textAlign: TextAlign = TextAlign.Left, followGap: Dp = 96.dp, edgeGradientWidth: Dp = 16.dp, marqueeDpPerSecond: Dp = 64.dp, pauseTime: Duration = 4.seconds)

Show a single line Marquee text, with a pause (initial and between cycles) and speed.

Link copied to clipboard
fun PlaceholderChip(modifier: Modifier = Modifier, onClick: () -> Unit = {}, colors: ChipColors = ChipDefaults.primaryChipColors(), enabled: Boolean = false, contentDescription: String = stringResource(id = R.string.horologist_placeholderchip_content_description))

A placeholder chip to be displayed while the contents of the Chip is being loaded.

Link copied to clipboard
fun RepeatableClickableButton(onClick: () -> Unit, onLongRepeatableClick: () -> Unit, modifier: Modifier = Modifier, onLongRepeatableClickEnd: () -> Unit = {}, enabled: Boolean = true, colors: ButtonColors = ButtonDefaults.primaryButtonColors(), interactionSource: MutableInteractionSource = remember { MutableInteractionSource() }, shape: Shape = CircleShape, border: ButtonBorder = ButtonDefaults.buttonBorder(), indication: Indication = ripple(), content: @Composable BoxScope.() -> Unit)

A base button that can send single onClick event or repeated onLongRepeatableClick events by holding it down.

Link copied to clipboard
fun SectionedList(modifier: Modifier = Modifier, columnState: ScalingLazyColumnState = ScalingLazyColumnDefaults.responsive().create(), content: SectionedListScope.() -> Unit)
fun SectionedList(modifier: Modifier = Modifier, columnState: ScalingLazyColumnState = ScalingLazyColumnDefaults.responsive().create(), sections: List<Section<*>> = emptyList())

A list component that is split into sections. Each Section has its own state controlled individually.

Link copied to clipboard
fun SegmentedProgressIndicator(trackSegments: List<ProgressIndicatorSegment>, progress: Float, modifier: Modifier = Modifier, startAngle: Float = -90.0f, endAngle: Float = 270.0f, strokeWidth: Dp = ProgressIndicatorDefaults.StrokeWidth, paddingAngle: Float = 0.0f, trackColor: Color = MaterialTheme.colors.onBackground.copy(alpha = 0.1f))

Represents a segmented progress indicator.

Link copied to clipboard
fun SquareSegmentedProgressIndicator(modifier: Modifier = Modifier, progress: Float, strokeWidth: Dp = ProgressIndicatorDefaults.StrokeWidth, trackColor: Color = MaterialTheme.colors.onBackground.copy(alpha = 0.1f), cornerRadiusDp: Dp = 10.dp, trackSegments: List<ProgressIndicatorSegment>, paddingDp: Dp = ProgressIndicatorDefaults.StrokeWidth)

SquareSegmentedProgressIndicator represents a segmented progress indicator with square shape.

Link copied to clipboard
fun TimePicker(onTimeConfirm: (LocalTime) -> Unit, modifier: Modifier = Modifier, time: LocalTime = LocalTime.now(), showSeconds: Boolean = true)

A full screen TimePicker with hours, minutes and seconds.

Link copied to clipboard
fun TimePickerWith12HourClock(onTimeConfirm: (LocalTime) -> Unit, modifier: Modifier = Modifier, time: LocalTime = LocalTime.now())

A full screen TimePicker with hours and minutes and AM/PM selector.

Link copied to clipboard
fun UnboundedRippleButton(onClick: () -> Unit, modifier: Modifier = Modifier, rippleRadius: Dp = Dp.Unspecified, enabled: Boolean = true, colors: ButtonColors = ButtonDefaults.primaryButtonColors(), interactionSource: MutableInteractionSource = remember { MutableInteractionSource() }, shape: Shape = CircleShape, border: ButtonBorder = ButtonDefaults.buttonBorder(), content: @Composable BoxScope.() -> Unit)

A button that when clicked shows an unbounded ripple effect that can be larger than the button itself.