v2.4: P3 blocks
New components, fixes and improvements. Scroll to watch the beam trace your progress through the changelog.
47 pieces. Click one to try it here; open its page for props and docs.
No matches.
Text filled with a slowly panning gradient. Static gradient under reduced motion.
CoreAnimated number. Screen readers get the final formatted value once; the moving digits are hidden.
CoreText with a highlight sweeping across it: for "thinking…" states, shiny announcement badges and loading copy.
CoreStaggered per-word/char entrance when the text scrolls into view. Renders plain text for reduced motion.
CoreParagraph whose words light up as it scrolls through the viewport (or inside `container`).
CoreTypes text character by character with a blinking caret. Screen readers get the full text immediately.
CoreCycles through words in place. Width animates to the current word; screen readers hear the list once.
CoreCharacters scramble then resolve left to right, on view and again on hover/focus.
ProDecorative background pattern (SVG) with optional radial fade, flickering cells or hover-lit cells. Place inside a relative container; it fills it and ignores pointer events unless `interactive`.
CoreAurora: soft bands of light drifting across the top of a section. Works on light and dark surfaces.
ProBackground beams: thin light streaks falling down a column grid, each at its own speed.
ProAnimated gradient surfaces. `mesh`: drifting blurred color blobs. `floor`: a perspective grid floor fading into a gradient horizon. Children render on top.
ProCanvas particle field. `drift`: floating dots that shy away from the pointer; `network`: connected nodes; `sparkles`: twinkling stars. Fills its container; decorative.
ProLight from above. `rays`: swaying god-rays fanning from the top; `lamp`: a glowing bar with a cone of light; `spotlight`: a soft ellipse from one corner.
ExtraShooting stars streaking diagonally across a container. Decorative; hidden under reduced motion.
ExtraConcentric rings radiating from the center: behind a call button, a live indicator or a hero icon.
ExtraWebGL fragment-shader backgrounds (warp, waves, noise, dither) tinted with three theme colors. Falls back to a static CSS gradient when WebGL is unavailable; renders one still frame for reduced motion.
ExtraModal dialog animated with Motion. React Aria keeps focus, dismissal and scroll locking; AnimatePresence keeps it mounted while the exit animation plays.
FoundationNav or list where a shared-layout indicator glides between items (Motion layoutId). Renders links when items have href, otherwise buttons with aria-pressed.
FoundationList whose items animate in, out and to new positions (layout). Pass stable keys. Announces changes politely.
CoreFades and un-blurs content as it enters the viewport. Use `delay` to stagger siblings.
CoreSwaps between two pieces of content (icons, labels) with a transition. Put the accessible name on the parent control.
ProEdge blur that ramps up toward one side (stacked backdrop-filter layers with staggered masks). Place absolutely over scrolling content, e.g. under a sticky header or at the bottom of a list.
ExtraAnimated border: `beam` sends a short light around the edge; `shine` spins a soft multi-hue sweep; `glow` adds a blurred halo. Driven by the registered --border-angle custom property (static under reduced motion).
CoreCard with a radial spotlight (and lit border) that follows the pointer. Pure CSS variables; no re-renders.
CoreCard that tilts toward the pointer in 3D with a moving glare. Children can pop forward with `data-depth` (px).
CoreGrid of cards that expand into a detail dialog with a shared-layout transition (layoutId). The expanded view is a real modal Dialog: focus is trapped and Escape closes it.
Pro"Encrypted" card: a field of random characters revealed in a colored circle around the pointer.
ExtraHolographic foil card: tilts toward the pointer while a rainbow sheen and glare track it.
ExtraWraps any pressable (Button, Card, ListItem) to add tactile feedback. Motion's MotionConfig reducedMotion="user" (MotionProvider) turns transforms off for reduced-motion users.
FoundationSearch/prompt input whose placeholder cycles through examples; on submit the text vanishes upward letter by letter.
ExtraTerminal window that types commands and prints output line by line when scrolled into view. Full transcript for screen readers.
ExtraMoves its children vertically at `speed` relative to scroll (negative = slower, positive = faster).
ProReading-progress bar for the page or a scroll container. Exposed as a progressbar with the current percent.
ProVertical line beside long content that fills with a gradient as you scroll, with a dot at the leading edge.
ExtraReady-made shimmer placeholders that match common layouts. Announces loading once via role="status".
CoreOverlay loader that walks through named steps, checking each off. `duration` ms per step; loops unless `loop={false}`. Shows the current step in a live region.
ExtraSVG connector between two DOM elements with a gradient pulse travelling along it. Re-measures on resize.
ProChildren orbit the center on a circular path (CSS only, items stay upright). Stack several with different radii.
ExtraAttention-grabbing buttons for hero CTAs. Use one per view. All are React Aria buttons; effects stop under reduced motion.
ProButton with a Material-style ripple from the press point (PressFeedback ripple + scale).
ProDotted 3D globe (orthographic canvas projection). Auto-rotates, drag to spin, markers pulse. Static for reduced motion.
ProCard that tips back in 3D on hover while a pin with a label rises above it, with pulsing rings at its base.
ExtraInfinite scroller driven by a CSS keyframe (GPU transform, no JS per frame). Stops for prefers-reduced-motion and has a visible pause button.
FoundationFires confetti from the center of the pressed element. Wrap any button: <ConfettiOnPress>{(fire) => <Button onPress={fire}/>}</ConfettiOnPress>.
ProArea with a custom, spring-smoothed cursor (dot, ring or labelled pointer). Native cursor hidden only inside; keyboard unaffected.
Extra