Motion-first React components and blocks for shadcn, with tuned springs, light and dark themes, and an MCP server for AI agents.
A dropzone that wakes when files cross the page and lifts as they reach it. Rows rise in with per-file progress on a spring, and refused files are explained inline.
Lease documents with a simulated upload: one file is too large, one drops its connection once.
The motion and material every Eased popup shares: grows from the trigger's transform-origin, enters a few pixels toward the trigger, closes at half the distance and faster, and reverses mid-flight because open and close are transitions. FloatingLayer renders any Base UI popup family (Tooltip, Popover, PreviewCard, Menu) with it.
One popover per side; each enters toward its trigger and flips on collision.
Node/edge graphs for CI pipelines, agent runs, payment routes and approval flows: a typed graph on thinking-core's StepStatus, a small-DAG auto layout (ranks, crossing reduction, curve or step edges), fitView, status propagation with stepFlow, and edges drawn on pathLength with useEdgeProgress and FlowEdgePath.
useDrag: one-axis drag with Apple's rubber-band past the ends, velocity projection onto snap points, scroll handoff from an inner scroller, interruptible release springs that carry the finger's velocity, and keyboard snapping. Plus the pure maths (rubberband, project, pickSnap, velocity tracker).
A three-detent sheet over a map: flicks project onto detents, pulls past the top rubber-band, and the list hands its scroll over to the sheet.
Shared pieces for Eased health blocks: where a value sits against its range, a warning flag that pops in and out, and clinic clock times.
Hold-to-confirm: a time-true linear fill while the pointer, Space or Enter is held, a quick no-overshoot drain when let go early, and a button that reveals its label on brand as the hold runs. Shared by Approval Card and PR Review.
Shared pieces for Eased HR and recruiting blocks: the 1–4 interview scale and its labels, four pips that fill to a rating, and the short time-in-stage clock.
The shared-layout highlight primitive: render <Indicator> inside whichever item is active and it glides there on the snappy spring, with corners kept round while it stretches. Used by Segmented, Tabs, Toggle Group and Radio Cards.
Realistic, deterministic sample data per industry (AI, devtools, finance, crypto, SaaS, legal, e-commerce, real estate, health, HR), seeded and anchored to a fixed now, with Intl formatters. One file per industry, typed with the Eased cores.
useInertia: hand a MotionValue the release velocity and it coasts with UIScrollView friction onto the snap point the flick would reach (points, a step or a function), inside bounds, as a spring or iOS-style decay. Plus the pure inertiaTarget and resolveSnap.
A Base UI text input whose focus is the border alone. An error shakes it once, 6px, then the field's message opens with a height spring. Leading and trailing addons.
Workspace settings with a URL prefix, live validation and a disabled field.
A keycap that presses down when the real key does: the face drops 1px onto its base and springs back on release. Glyphs are announced by name; useKeysHeld lights up whatever a chord belongs to.
A keyboard shortcuts list whose keycaps press and rows light up as you hold the real keys.
Shared pieces for Eased legal blocks: the inline redline, the clause number track, deadline countdown wording, legal date and confidence formats, and the AI mark.
The small macOS screen the Mac pack demos share: a soft wallpaper with a few files, a translucent menu bar with the app's menus, status items, Wi-Fi, battery and clock.
The macOS volume and brightness overlay: a frosted, click-through HUD in the classic 200×200 square or the macOS 26 pill. Repeat changes update it in place and restart its 1.1s hold; it never replays its entrance.
A small macOS desktop with media keys: nudge volume, brightness and keyboard backlight (hold to repeat, or use the arrow keys) and switch between the classic and pill HUD.
A macOS menu bar popover: a status item and a frosted panel whose arrow and panel are one shape, so one blur and one hairline follow the arrow. It grows from the arrow tip, reverses mid-flight, and drops its CSS blur for native Tauri or Electron vibrancy.
A menu bar usage tracker: session and weekly plan usage, a reset countdown and app actions, over a frosted desktop.
A chat message: the user's in a sunken bubble on the right, the assistant's flush on the left. Consecutive bubbles from one author merge, their touching corners tightening as the next one lands. Renders AI SDK UIMessage text and file parts.
Follow-ups that merge into one run of bubbles, corners tightening as each lands.
A number input on Base UI's NumberField with steppers that speed up while held, digits that roll on every step, Intl formatting with a true minus, min, max and step, and an optional scrub label.
A limit order: shares with split steppers, a USD limit price and a scrubbable percent stop loss, with a rolling cost summary.
Tabular digits that roll in the direction of change: a 9 → 0 carry rolls forward, a value that changes mid-roll redirects, new places fade in while the rest slide over. Intl formatting, locale-aware separators.
A revenue card: switch the range or the number format and every figure rolls; live orders tick the total up.
The rolling-digits engine every Eased number uses: Intl-formatted parts, each digit a ten-face cylinder on a spring that rolls in the direction of change, with locale-aware separators and numerals.
A one-time-code input on Base UI's OTPField: autofill and paste fill every cell, the caret blinks in the empty cell, characters pop in, a wrong code shakes once and an accepted one ripples green.
Email verification with a 3-3 code, auto-verify on the last digit, a wrong-code error and a resend countdown.
What every Eased overlay shares: panel, menu and modal surfaces, the blurred scrim, menu rows on shared tracks with a gliding highlight, a drawn check and shortcut glyphs, and one motion table from tooltip to toast. Dialog, Sheet, menus, Select, Combobox, Toast and Command Palette are built on it.
Numbered pages whose selected chip glides on a spring, with ellipses in a fixed number of slots so the width never changes, and a compact Page 3 of 12 variant.
An invoices list whose footer pages through 64 invoices, numbered in a wide tile and compact in a narrow one.
A panel that opens from its trigger's transform-origin with a 5px directional offset, closes at half the distance in 150ms, and reverses mid-flight. Its trigger presses by colour, never by scale.
A Share popover with an invite field, people with access and a concentric footer.
A progress bar on Base UI Progress: the bar rides a spring and its value rolls; an unknown length sweeps with an accelerate–decelerate curve and hands over to the bar when a value arrives.
An upload list: uneven chunks, an indeterminate processing step, then complete; plus a storage meter.
A blur that ramps from 0 to 20px over 80px toward an edge, from stacked masked backdrop layers, for headers, bottom bars and composers. Optionally scroll-linked so it appears only once content is underneath.
A music library whose header and mini player blur the covers scrolling under them, with a flat-blur comparison.
Shared pieces for Eased real-estate blocks: CRE units (SF, $/SF, terms, cap rates), lease-expiry status and its tints, the vacancy hatch and an expiry legend.
Radios whose dot scales out from the centre on a snappy spring, and radio cards whose selected border travels between cards. Base UI RadioGroup behaviour.
A checkout delivery step: speed as radio cards, drop-off as radios that depend on it.
Star rating on Base UI RadioGroup with a hover preview, half steps and a read-only mode for any fraction. Icons fill from the left and pop in turn on a spring.
A recipe's reviews: an average with a count that rolls when you rate, a large rating with a word that follows the pointer, and recent reviews.
Deterministic live data: a seeded RNG and tick stream (prices, rates, vitals), useClock and useTicker that pause off-screen and in hidden tabs and slow under reduced motion, flash-on-change state, OHLC candles on chart-core scales, and an order-book depth model with a synthetic churning book.
Shared pieces for Eased SaaS-admin blocks: a rolling delta chip that falls in warning, a usage meter that turns warning at 80%, relative times and compact money formats.