Accessibility
LoadingIndicator from @prepared911/ui/loading-indicator is an indeterminate spinner that signals work in progress. The component renders the animated glyph; your job is to name the busy region, avoid hijacking focus, and pair the spinner with a text label or live announcement.
LoadingIndicatorSize.Small / Regular / Large for inline, block, and page-level use.role="status" and aria-live="polite", and set aria-busy="true" on the region that is actually loading.tabIndex="-1" is a common anchor).Progress bar or descriptive phases ("Preparing… Uploading… Verifying…") so the wait feels informed.LoadingIndicator is non-interactive and not focusable. If the surrounding region disables actions during load, pair disabled buttons with a tooltip or helper text explaining why.
role="status" with aria-live="polite".aria-hidden="true" (semantics live on the container).prefers-reduced-motion: reduce by swapping the spinning animation for a static dot or a progress bar fill. The indicator must still communicate "busy" without motion.