The gallery

78 components, each one live on this page. Hover the cards, open the dialogs, drag your cursor through the docks — then copy one command to install the source.

78 components

Components

The core set. Every demo below is the real component, live.

Three shared springs keep every panel, hover, and reveal moving as one body.

Accordion

A stack of disclosure rows whose panels ease open to their natural height and back to zero, the chevron rotating with the state.

npx lumora-ui@latest add accordion

Phase three is live

Twenty new components just landed in the gallery.

Alert

Tonal callout.

npx lumora-ui@latest add alert

Hovers and presses. Fast settle, no wobble.

Animated Tabs

Tabs where the active pill slides between triggers as a shared element and the panel cross-fades with a small drift.

npx lumora-ui@latest add animated-tabs
MV
TL
PR
AT

Animated Tooltip

Overlapping avatar row where the tooltip leans with your cursor: its tilt and horizontal shift follow where you are over the avatar, so the card feels balanced on your fingertip.

npx lumora-ui@latest add animated-tooltip

Announcement Bar

Slim top banner that slides down on mount and, when dismissed, collapses its height and fades away.

npx lumora-ui@latest add announcement

Three blurred lumen blobs, drifting slowly.

Aurora Background

Section wrapper bathed in three huge, heavily blurred lumen blobs that drift on very slow loops behind the content, finished with a faint grain and vignette so the glow reads quiet rather than loud.

npx lumora-ui@latest add aurora-background
MVTLPR
MVTLPR+2

Avatar

Identity disc with a graceful fallback: if the image errors, initials crossfade in so the swap never flashes.

npx lumora-ui@latest add avatar
DraftBetaLiveDegradedv2.4.0

Badge

Status chip: a quiet pill whose optional dot can breathe a slow expanding ring to mark live state.

npx lumora-ui@latest add badge

Beams travel the grid lines on long loops.

Beam Grid

A faint line grid where occasional beams of lumen travel along random grid lines — horizontal beams slide right, vertical beams fall — on long, staggered loops.

npx lumora-ui@latest add beam-grid

Always in transit

A lumen head with a fading tail laps the border ring once every six seconds — only the ring ever lights up.

Border Beam

Wraps its child with a luminous beam endlessly traveling around the border: a rotating conic gradient (bright head, transparent tail) is masked down to the border ring via the padding-box/border-box mask composite trick, so only the ring ever lights up.

npx lumora-ui@latest add border-beam

Breadcrumbs

Path trail where hovering a link slides a soft lumen underline in from the left.

npx lumora-ui@latest add breadcrumbs

Button

The Lumora button.

npx lumora-ui@latest add button

Night shift

New
Hover the card — the lift variant raises it 2px on a deeper shadow.

Card

The Lumora base surface.

npx lumora-ui@latest add card

Snap

Fast settle, no wobble.

Drift

One gentle breath.

Glide

Long, weighty, deliberate.

Carousel

Drag-to-snap carousel: the track follows your pointer with elastic edges and settles on the nearest slide when released.

npx lumora-ui@latest add carousel
Play hover motion inside gallery tiles.
3 of 7 members selected.

Checkbox

Accessible checkbox: checking fills the box with the lumen, pops it with a tiny scale breath, and draws the check stroke in along its path; the `indeterminate` state shows a dash instead.

npx lumora-ui@latest add checkbox

Sweep your cursor across this surface.

Cursor Trail

A container whose pointer movement leaves a trail of small image cards: every `threshold` px of travel a card pops in at the cursor with a spring and a slight deterministic rotation, then fades and shrinks away ~700ms later.

npx lumora-ui@latest add cursor-trail

Dialog

Modal dialog: the page dims behind a blurred overlay while the panel breathes in from 96% scale with a slight upward drift.

npx lumora-ui@latest add dialog

Dock

A bottom dock whose items swell as the cursor nears them — each item's size is a transform of the cursor's distance from its center.

npx lumora-ui@latest add dock

Drawer

Side panel: it glides in from its edge over a blurred overlay and can be dragged back out — release past 30% of its size (or with a flick) and it dismisses.

npx lumora-ui@latest add drawer

Dropdown Menu

Anchored action menu: it drifts open with a slight scale while items cascade in at 12ms intervals, flipping above the trigger when the viewport runs out.

npx lumora-ui@latest add dropdown-menu
Card 1 of 3

Snap

Fast settle, no wobble.

Elastic Stack

A fanned deck where only the top card is draggable: pull it sideways against elastic constraints — release beyond `threshold` and it flings off with your velocity, then glides back in at the rear while the rest shuffle one step forward; release short of it and it snaps home.

npx lumora-ui@latest add elastic-stack

File Dropzone

Drop zone whose dashed border brightens into a soft lumen glow while a file hovers over it, the upload glyph nudging upward in anticipation.

npx lumora-ui@latest add file-dropzone

Built to launch.

Flip Text

Cycles words by flipping them around the X axis: the current word's characters tip away (rotateX → -90°) while the next word's tip in (90° → 0°) under shared perspective, each character 18ms behind the last, and the container's width glides between word widths.

npx lumora-ui@latest add flip-text

Folder

An interactive folder drawn from CSS shapes: hovering tilts the front lid open on its bottom hinge while up to three items rise out of the slot with a stagger and a slight fan; clicking toggles it held open (button semantics with aria-expanded).

npx lumora-ui@latest add folder

SIGNAL RESTORED

Hover the words — they tear for 350ms, then settle clean.

Glitch Text

Text that rests perfectly clean, then glitches for ~350ms when hovered (or on a loop): two aria-hidden copies tinted lumen and dusk flicker in with small horizontal offsets and sliced clip-paths, then everything settles.

npx lumora-ui@latest add glitch-text

Interfaces that glow

Gradient Text

Inline text painted by a slow lumen gradient that sweeps left to right on a seamless loop — accent into foreground and back.

npx lumora-ui@latest add gradient-text

Input

Floating-label text input: the label sits where a placeholder would, then rises and shrinks once the field is focused or filled, while a 1px accent underline draws in from the left.

npx lumora-ui@latest add input
Ctrl+KShift+↵?

Press the real combo — the cap sinks with it.

Kbd

A keyboard key cap with a raised bottom edge.

npx lumora-ui@latest add kbd

Magnetic Zone

Wrap anything to make it magnetic: while the cursor is within `radius` px of the zone's center the child leans toward it, then snaps back home on leave.

npx lumora-ui@latest add magnetic-button
SnapDriftGlideLumenQuietGlow

Marquee

A seamless infinite belt of content: children are duplicated (the copy is `aria-hidden`) and the track translates exactly one copy's width per loop, so the seam never shows.

npx lumora-ui@latest add marquee

Designed for clarity

Morph Text

Cycles words by dissolving: the outgoing word blurs and fades while the incoming one sharpens out of the same blur with a subtle tracking widen, the two overlapping for ~40% of the transition.

npx lumora-ui@latest add morph-text

0+

installs

0.0%

frames kept

Number Ticker

A number that counts up on a spring once it scrolls into view, settling on `value`.

npx lumora-ui@latest add number-ticker

Type or paste any 4 digits.

OTP Input

One-time-code entry: one cell per digit, each popping on a snappy spring as it fills while the accent ring tracks the active cell.

npx lumora-ui@latest add otp-input

The pill glides between numbers; long ranges fold into ellipses.

Pagination

Page switcher: the active pill glides between numbers as a shared element on `springs.snap`, and the prev/next arrows nudge outward on hover.

npx lumora-ui@latest add pagination

Popover

Anchored floating panel: opens from its trigger with a drift-and-scale breath out of the anchor side, flipping to the opposite side when the viewport is too tight.

npx lumora-ui@latest add popover

Progress

Progress bar: the determinate fill glides to each new value on a weighty spring; `indeterminate` sends a soft lumen segment traveling the track on a slow loop (a static mid-fill under reduced motion).

npx lumora-ui@latest add progress
SnapFast settle, no wobble.
DriftOne gentle breath.
GlideLong, weighty, deliberate.

Radio Group

Radio group: selecting an item pops the inner dot in on a snappy spring while a soft lumen ring expands outward once and fades.

npx lumora-ui@latest add radio-group

3.5 of 5 — hover sweeps, halves count.

Rating

Star rating with slider semantics: hovering previews the fill sweeping up to the pointer with a tiny per-star stagger, clicking commits with a pop on the chosen star, and arrow keys adjust the value in steps (halves with `allowHalf`).

npx lumora-ui@latest add rating

Reveal List

Editorial list of large rows: hovering a row summons a floating preview image that trails the cursor on a lagging spring and crossfades as you move between rows, while the other rows dim back.

npx lumora-ui@latest add reveal-list

Scroll the page — the bar above fills with it, smoothed by the glide spring.

Scroll Progress

A fixed 2px accent bar that fills as the page scrolls, smoothed by a spring so the fill glides rather than jitters.

npx lumora-ui@latest add scroll-progress

Segmented Control

Pill segment switcher: the raised pill glides between segments as a shared element on a snappy spring.

npx lumora-ui@latest add segmented-control

Select

Single-select listbox: the menu drifts open with a slight scale while options cascade in at 15ms intervals; the chosen option carries a check glyph.

npx lumora-ui@latest add select

Both ends fade to nothing,

so the rule never cuts a hard edge.

A chip label can sit at the center.

separator

A quiet rule that fades to transparent at both ends, so it never cuts a hard edge into the layout.

npx lumora-ui@latest add separator

Skeleton

Loading placeholder: a soft surface block with a slow light sweep gliding across on a 1.8s loop.

npx lumora-ui@latest add skeleton

Glow intensity — 40%. Drag and the bubble rides the thumb.

Slider

Range slider: the accent-filled track follows a thumb that swells on a snappy spring while dragged, with an optional value bubble floating above it.

npx lumora-ui@latest add slider
Loading, orbit style
orbit
Loading, pulse style
pulse
Loading, bars style
bars

Spinner

The brand loader.

npx lumora-ui@latest add spinner

Move your cursor across this surface.

Spotlight

Full-section pointer spotlight: a soft circle of lumen trails the cursor on a spring, fading in on entry and out on exit, like a hand-held light passing over the content.

npx lumora-ui@latest add spotlight

Hold the light

The border brightens and a radial lumen glow trails your cursor across the card.

Spotlight Card

A surface card whose border lights up and a soft radial lumen glow trails the cursor; the glow fades in on enter and out on leave.

npx lumora-ui@latest add spotlight-card

Stepper

Step indicator whose connector lines fill with the lumen as steps complete, numbers crossfading into a drawn-in check.

npx lumora-ui@latest add stepper

Switch

Accessible toggle: the knob slides across the track on a snappy spring (layout animation) while the track crossfades to the accent.

npx lumora-ui@latest add switch
MotionSpring
Aurora washDrift412
Dock magnifySnap388
Drawer glideGlide351
Toast settleSnap274

Table

Quiet data table: hairline borders, a surface-toned header, and rows that brighten gently under the pointer.

npx lumora-ui@latest add table

Scrollandeachwordsharpensoutofafaintblur,sothesentencecomesintofocusasyouread.

Text Reveal

Scroll-linked paragraph reveal: as the text crosses a band of the viewport, each word brightens from faint to full foreground and sheds a slight blur, so the sentence appears to come into focus as you read.

npx lumora-ui@latest add text-reveal

Type a few lines — the field grows with you, capped at five rows.

Textarea

Floating-label textarea: the label rests where a placeholder would, then rises and shrinks once the field is focused or filled while a 1px accent underline draws in from the left.

npx lumora-ui@latest add textarea

Lean in

The card tilts toward your cursor in 3D and drifts flat on leave.

Tilt Card

A card that tilts in 3D toward the cursor and drifts flat again on leave.

npx lumora-ui@latest add tilt-card
  1. Beam shippedJust now
    v2.4 rolls out to every workspace.
  2. Dock magnified2d ago
    Cursor-distance scaling lands.
  3. First lumenMay 2026
    The accent finds its glow.

Timeline

Vertical event list: the spine draws itself downward as the list scrolls into view, while each node pops and its content drifts in the first time it enters the viewport.

npx lumora-ui@latest add timeline

Toast

Fire a toast from anywhere — components, event handlers, async code.

npx lumora-ui@latest add toast

Toggle Group

Pressed-button group: in single mode a raised backplate glides between pressed items as a shared element on `springs.snap`; in multiple mode each item simply latches.

npx lumora-ui@latest add toggle-group

Tooltip

Anchored tooltip that waits `delay` ms, then drifts in with a slight rise toward its anchor.

npx lumora-ui@latest add tooltip

Springs that snap.

Typewriter

Types each word character by character beside a blinking caret, holds, deletes, and moves to the next.

npx lumora-ui@latest add typewriter

Blocks

Full landing sections that take arrays in and ship polish out.

Auth Form

Centered auth card resting on a faint lumen glow.

npx lumora-ui@latest add auth-form

Changelog

Release notes with a hairline spine down the left edge.

npx lumora-ui@latest add changelog

CTA Banner

Full-width closing banner.

npx lumora-ui@latest add cta

FAQ

Two-column FAQ: the heading stays pinned on the left while disclosures open on the right, each answer unfolding to its natural height as the chevron turns over.

npx lumora-ui@latest add faq

Feature Bento

Asymmetric bento grid: one large anchor card and a constellation of small ones.

npx lumora-ui@latest add features

Footer

Quiet closing footer: four link columns beside the brand, links resting at the faintest type tone and brightening on hover, with an optional inline newsletter form and a small-print baseline.

npx lumora-ui@latest add footer

Hero

Centered landing hero.

npx lumora-ui@latest add hero

Logo Strip

A "trusted by" belt of fictional text wordmarks.

npx lumora-ui@latest add logo-strip

Navbar

Sticky top navigation that rides transparent over the hero, then settles onto a blurred overlay with a hairline border once you scroll past the threshold.

npx lumora-ui@latest add navbar

Pricing

Three-tier pricing with a segmented billing toggle: a single pill slides between monthly and yearly while every price crossfades to its new value.

npx lumora-ui@latest add pricing

Sidebar

Dashboard side navigation.

npx lumora-ui@latest add sidebar

Stats Band

A horizontal band of large counting stats.

npx lumora-ui@latest add stats

Team Grid

Team section.

npx lumora-ui@latest add team

Testimonials

Two rows of quote cards drift past each other in opposite directions on a seamless loop, pausing under the cursor with soft fades at either edge.

npx lumora-ui@latest add testimonials

Topbar

Dashboard top bar.

npx lumora-ui@latest add topbar

AI

Command menus, chat, and selection surfaces — AI as a first-class citizen.

The launcher pins to its corner with a slow lumen pulse, then springs open into the panel. Replies stream chunk by chunk.

Chat Widget

Floating chat launcher (bottom-right, with a slow lumen pulse) that springs open into a panel from its own corner.

npx lumora-ui@latest add chat-widget

Command Menu

Owns the open state of a `CommandMenu` and binds the global ⌘K / Ctrl-K toggle.

npx lumora-ui@latest add command-menu

Select any stretch of this paragraph and a pill toolbar floats in above your selection, anchored to its exact rectangle. It scales in with one soft breath and leaves when the selection collapses.

Try selecting the text above.

Selection Toolbar

Wraps content and floats a pill toolbar above any text the user selects inside it — the pill scales in with one soft drift breath, anchored to the selection rect.

npx lumora-ui@latest add selection-toolbar