Jenga Stepper
A compact numeric stepper: a pill track with round decrement/increment buttons around a centered value. Replaces bare −/+ glyph pairs and gives both buttons real 48dp touch targets and content descriptions.
Generic and domain-neutral: use it for servings, quantities, household size, times, or any bounded integer. Colors and icons come from Jenga tokens.
With editable the value can also be typed; a typed number outside min..max is not applied. With onRemove, the decrement button becomes a remove button once another step down would pass min (e.g. a cart quantity).
Parameters
the current value.
called with the clamped new value when a button is tapped.
the Modifier for this stepper.
the inclusive lower bound; the decrement button disables at it.
the inclusive upper bound; the increment button disables at it.
the increment/decrement amount.
whether the whole control is interactive.
accessibility label for the − button.
accessibility label for the + button.
formats the centered value (e.g. to add a unit); not used while editable.
the color set; defaults to JengaStepperDefaults.colors.
whether the value can be typed.
called when the remove button is tapped; null keeps a disabled − at min.
accessibility label for the remove button.
the track shape.
the +/- button shape.
the +/- button size; defaults to the theme's value, else JengaStepperDefaults.ButtonSize.
shadow under an enabled +/- button.
padding inside the track, around the buttons.
minimum width of the value; defaults to the theme's value, else JengaStepperDefaults.ValueMinWidth.
the value text style.