Controls
Seven new control primitives that expand the Button vocabulary into
everything the recorder + editor + cursor studio need. All stateless;
all driven by props.
Icon buttons
IconButtonVariant { Ghost, Filled, Danger }. Supports pressed for
toggle-style icon buttons and disabled. Accessible label is
required since the button has no visible text.
Toggle switch
checked is a prop. The parent owns the boolean and re-renders with
the new value when the callback fires. UI-23's grep guardrail
catches any RwSignal::new / set_checked.set(…) inside the
component module.
Segmented control
Vec<Segment> + active: String (the segment id). Each segment can
have an optional leading icon glyph + disabled flag.
Slider
Slider { value, min, max, disabled, label, readout }. Pure visual —
renders track + fill + thumb at the computed percent. slider_percent
helper is pub and unit-tested for clamping behavior.
Color swatches
Circular tiles with an outer ring when selected. Used in the cursor
studio color picker.
Meters
Audio-level bars driven by a normalized [0, 1] level. bar_count
defaults to 12; danger=true switches the lit color from emerald to
the action-record red (used for clipping). lit_segments is pub +
unit-tested.
Select pill
Bundled in the meters demo above. Compact pill that opens a popover
when clicked. The component renders the pill chrome only; the popover
content is the parent's job (typically a PopoverSurface from UI-03).