A loading indicator built from the row arrangement: the four letter blocks hop one after another, 150 ms apart on a 1.2 s cycle, beside visible status text in a role="status" region. The words carry the meaning; the blocks are decoration.
Example#
Usage#
Use the block loader while something takes a moment: the MAKR letters hop in a row beside a literal status. It is the 3D kit's take on Loader, for bigger moments such as rendering a cover or sending a quote.
- Label.
labelsays what is loading; it is a polite status region. - Essential motion. A loader loops while mounted (WCAG 2.2.2 allows it for essential progress); unmount it when the work ends.
Layer and volume#
Art beside reading text. The hop is the same at Studio, Press and Rave; at Quiet the blocks stand still and the text stays.
Anatomy#
- BlocksThe four letters, hopping in turn.
.mk-block-loader-row - LabelThe status, in the reading layer.
.mk-block-loader-label
Volume#
Quiet
Loading your quoteStudio
Loading your quotePress
Loading your quoteRave
Loading your quote
Content#
- Say what is loading: "Loading your quote".
Do and don't#
Do
Don't
A block loader left on the page after the content has loaded.
Fidelities#
CSS 3D only (BlockCss faces in the house pose), so it needs @maxgrits/overprint-three/css and no JavaScript.
Performance#
Zero JavaScript; transform-only motion on four blocks.
Gating#
Reduced motion (the system setting or data-mk-motion="reduce") holds the blocks still. A loader is essential motion (WCAG 2.2.2), so it loops while it is mounted; unmount it when loading ends.
Accessibility#
role="status": screen readers hear the label when it changes, so say what is loading ("Loading your quote").- The blocks are
aria-hiddenart.
Props#
| Prop | Type | Default | Description |
|---|---|---|---|
label | ReactNode | "Loading" | The visible status text (default "Loading"). |
size | number | 24 | Block size, px (default 24). |
className | string | none | |
style | CSSProperties | none |
Tokens#
System tokens (17)
--mk-3d-a-fill--mk-3d-k-fill--mk-3d-key--mk-3d-lead-fill--mk-3d-m-fill--mk-3d-r-fill--mk-3d-shadow--mk-3d-support-fill--mk-3d-wood-fill--mk-dur-loader-cycle--mk-ease-hop--mk-space-3--mk-volume--mk-w-press--mk-w-quiet--mk-w-rave--mk-w-studio
Its own properties (2)
--mk-3d-print--mk-s
Changelog#
Arrived in 0.9.0.
- Three: the alphabet twins at every fidelity (model, SVG, CSS 3D, GL geometry, physics shapes; Rave's MORE BLOCKS rains them), the
row,topple,twins,stack-1/2/3,line-k/r/a/mandwoodarrangements with their text alternatives, the page objectsCrate,PlanPlate,Slot,SampleCaseandBaseplate,BlockLoader,Topple404,BuildOnScroll, the house camera and an id-colour parity mode in poster frames, the wood grain in GL, specks and Shake, the phone's tap-to-play light rung with "Done", andInkFieldMaterial(the field backdrop in the stage's own canvas). Read the whole entry