Skip to content

Spinner

Spinner renders a lucide Loader2 (loader-circle) SVG icon with animate-spin; the consumer’s class merges in to set its size and color. There is no headless primitive underneath, as there is no behavior beyond the CSS animation.

Terminal window
navius add spinner --to ./src/MyApp --namespace MyApp.Ui
@using Zits.Ui.Components
<ZitsSpinner class="size-6" />

Spinner is a single element with no part tree and no component-specific prop beyond the preset class set.

Attributes is merged with the preset class set via Cn.Merge, caller classes applied last; size and color are set entirely through class (e.g. size-8 text-muted-foreground).

None: the component’s only state hooks are the role/aria-label pair below, not a data-* attribute.

Spinner carries role="status" and aria-label="Loading" on the <svg> itself, both fixed attributes on the component (not parameterized), so screen readers announce a busy region without additional markup from the caller.