Package-level declarations

Progress: linear and circular (determinate and indeterminate), JengaLabelledProgress, JengaDotStrip and the shimmer modifier.

Types

Link copied to clipboard

Defaults for the circular progress indicators. color and trackColor follow the theme's JengaCircularProgressStyle; Size and StrokeWidth are Jenga's built-in values, and the indicators resolve the theme's values over them.

Link copied to clipboard
class JengaCircularProgressStyle(val size: Dp? = null, val strokeWidth: Dp? = null, val color: Color? = null, val trackColor: Color? = null)

Theme-wide style for every JengaCircularProgress and JengaCircularProgressIndeterminate, set through io.github.joelkanyi.jenga.theme.JengaComponentStyles.circularProgress. A null value keeps Jenga's default; arguments passed to a call still win.

Link copied to clipboard
class JengaDotStripColors(val filled: Color, val empty: Color)

Resolved colors for a JengaDotStrip. Override via JengaDotStripDefaults.colors.

Link copied to clipboard

Defaults and token mappings for JengaDotStrip.

Link copied to clipboard

How a JengaDotStrip draws its segments.

Link copied to clipboard
class JengaProgressColors(val track: Color, val indicator: Color)

Resolved colors for a determinate progress bar. Override via JengaProgressDefaults.colors.

Link copied to clipboard
Link copied to clipboard
class JengaProgressStyle(val trackHeight: Dp? = null, val shape: Shape? = null, val default: JengaProgressColors? = null, val success: JengaProgressColors? = null, val neutral: JengaProgressColors? = null, val labelStyle: TextStyle? = null, val labelSpacing: Dp? = null, val error: JengaProgressColors? = null)

Theme-wide style for every JengaLinearProgress, JengaLabelledProgress and JengaLinearProgressIndeterminate, set through io.github.joelkanyi.jenga.theme.JengaComponentStyles.progress. A null value keeps Jenga's default; arguments passed to a call still win.

Link copied to clipboard

Tone of a determinate progress bar.

Link copied to clipboard

Functions

Link copied to clipboard
fun JengaCircularProgress(progress: Float, modifier: Modifier = Modifier, size: Dp = JengaTheme.components.circularProgress?.size ?: JengaCircularProgressDefaults.Size, strokeWidth: Dp = JengaTheme.components.circularProgress?.strokeWidth ?: JengaCircularProgressDefaults.StrokeWidth, color: Color = JengaCircularProgressDefaults.color, trackColor: Color = JengaCircularProgressDefaults.trackColor)

A determinate circular progress ring.

Link copied to clipboard
fun JengaCircularProgressIndeterminate(modifier: Modifier = Modifier, size: Dp = JengaTheme.components.circularProgress?.size ?: JengaCircularProgressDefaults.Size, strokeWidth: Dp = JengaTheme.components.circularProgress?.strokeWidth ?: JengaCircularProgressDefaults.StrokeWidth, color: Color = JengaCircularProgressDefaults.color, trackColor: Color = JengaCircularProgressDefaults.trackColor)

An indeterminate circular spinner: a brand-colored arc rotating around the track, for when progress can't be measured.

Link copied to clipboard
fun JengaDotStrip(filled: Int, total: Int, modifier: Modifier = Modifier, style: JengaDotStripStyle = JengaDotStripStyle.Dots, colors: JengaDotStripColors = JengaDotStripDefaults.colors(), contentDescription: String? = null)

A compact segmented meter: filled of total segments, drawn as dots or bars. A one-glance "how complete is this" indicator (balance groups, days covered, steps done). Generic and token-driven.

Link copied to clipboard
fun JengaLabelledProgress(progress: Float, label: AnnotatedString, modifier: Modifier = Modifier, valueLabel: String? = null, tone: JengaProgressTone = JengaProgressTone.Default, colors: JengaProgressColors = JengaProgressDefaults.colors(tone), trackHeight: Dp = JengaProgressDefaults.trackHeight(), shape: Shape = JengaProgressDefaults.shape, labelStyle: TextStyle = JengaProgressDefaults.labelStyle, spacing: Dp = JengaProgressDefaults.labelSpacing, animationSpec: AnimationSpec<Float> = JengaProgressDefaults.animationSpec)

A determinate progress bar with a label row above it: label at the start (e.g. the current step, with a styled part) and an optional valueLabel at the end (e.g. "60%").

Link copied to clipboard
fun JengaLinearProgress(progress: Float, modifier: Modifier = Modifier, tone: JengaProgressTone = JengaProgressTone.Default, colors: JengaProgressColors = JengaProgressDefaults.colors(tone), trackHeight: Dp = JengaProgressDefaults.trackHeight(), shape: Shape = JengaProgressDefaults.shape, animationSpec: AnimationSpec<Float> = JengaProgressDefaults.animationSpec)

A determinate linear progress bar. Changes to progress animate.

Link copied to clipboard

An indeterminate linear progress bar (a brand-colored bar sliding across the track), for when progress can't be measured.

Link copied to clipboard

Paints an animated shimmer gradient over this element: the standard skeleton-loading effect. Apply to a clipped, sized placeholder: