Logo

Component Blueprint

X: 1280 · Y: 720 · Grid: 8px

Spinner

Portable loading indicator primitive with accessible status, decorative mode, size presets, token styling, and composition examples.

01 Hero Preview

Grid: 8px · Scale: 1:1

02 Usage

TS

import { FrSpinnerModule } from '@frame-ui-ng/components/spinner';

HTML

<span frSpinner label="Loading project data"></span>

03 Examples

Basic

Use a status spinner when the loading indicator is the only announcement for an in-progress region.

Component Sheet

Grid: 8px · Scale: 1:1

Sizes

Use size presets for common inline, control, and empty-state loading treatments. `sizeValue` can still override the exact CSS size.

Component Sheet

Grid: 8px · Scale: 1:1

xs
sm
md
lg
xl

Inside Button

Place Spinner in the button loading slot when you want the shared spinner token contract instead of a one-off indicator.

Component Sheet

Grid: 8px · Scale: 1:1

Inside Badge

Badge spinners compose the same primitive, so badge loading states inherit the shared spinner inputs and tokens.

Component Sheet

Grid: 8px · Scale: 1:1

SyncingQueued

Inside Input Group

Use a decorative spinner in trailing input-group content when a field is checking, searching, or validating in the background.

Component Sheet

Grid: 8px · Scale: 1:1

Inside Empty

Spinner can sit in the media slot of an empty state when content is still being prepared rather than truly missing.

Component Sheet

Grid: 8px · Scale: 1:1

Preparing the workspace

A few project details are still being assembled.

RTL

The spinner itself is direction-neutral and composes naturally with right-to-left labels and surrounding layouts.

Component Sheet

Grid: 8px · Scale: 1:1

جار تحضير البيانات

04 Custom Styling

Override spinner tokens directly on the element or on a local wrapper when a loading state needs a stronger product-specific treatment.

Component Sheet

Grid: 8px · Scale: 1:1

05 Token Inspector

Hover the spinner or supporting label to inspect the tokens that control loading size, stroke, color, radius, and motion.

Loading previewHover the spinner to inspect size, stroke, colors, radius, and timing.

06 Design Tokens

Use these CSS custom properties to tune spinner dimensions, stroke width, track and indicator color, radius, and animation speed across every component that composes Spinner.

SCSS

--frame-spinner-size: 1rem;
--frame-spinner-stroke: 2px;
--frame-spinner-track-color: color-mix(in srgb, currentColor 24%, transparent);
--frame-spinner-indicator-color: currentColor;
--frame-spinner-radius: var(--frame-radius-full);
--frame-spinner-duration: 700ms;