ZeroGravity UI

Feedbackexperimental

Pixel loaders

Four retro-digital loading states: a heart, blocks, a bar and a full-screen pulse.

PixelHeart

Brand moments, empty states, first paint.

PixelBlocks

Inline, beside a label or inside a button.

PixelBar

Indeterminate flow, or real progress with a value.

PixelPulse

Whole-page or large-container loading. Wraps its own centred content and can pin itself over the viewport.

scrolls inside this frame

Customize

Sharedapplies to every loader in the gallery
color
1.00speed
96size
0.340gap
paused
Variantsper-loader animation styles
heartVariant
blocksVariant
determinate
0.45value

Usage

TSX
<PixelHeart />

Generated from the controls above. Only props that differ from their defaults are shown.

Props

8 documented props on PixelHeart
PropertyTypeDefaultDescription
colorstring"#f4a04f"Colour.
speednumber1Speed. Range 0.25 to 3.
sizenumber96Heart size. Range 32 to 200.
gapnumber0.34Pixel gap. Range 0 to 3.
pausedbooleanfalsePaused.
variant"pulse" | "blink""pulse"PixelHeart animation style.
valuenumber—PixelBar progress from 0 to 1. Omit for an indeterminate bar.
labelstring"Loading"Announced by screen readers while the loader is visible.

Dependencies

0 external runtime dependencies

Ships with nothing but React.

Experimental: still under evaluation and not part of the published package yet.