export const MICRO_COMPONENTS = { "PaperCrumple": { "title": "Paper Crumple", "slug": "paper-crumple", "description": "An image that crumples into a textured 3D sheet while held and follows the grabbed point as you drag. Release it as a crumpled ball, unfold it flat, or leave the paper creased, with customizable folds, paper grain, lighting and shadows." }, "TearTicket": { "title": "Tear Ticket", "slug": "tear-ticket", "description": "Ticket whose perforated stub tears off by hand: paper bridges stretch into fibres and snap one by one from the far end, the torn edges are jagged and fit each other, the freed stub dangles and drops, and the body is stamped as used. The artwork tilts in 3D with parallax on hover." }, "FlipCard": { "title": "Flip Card", "slug": "flip-card", "description": "Two-faced card that flips in 3D on a click, a drag or a flick, settling on a spring that carries your release velocity, with an optional cursor tilt, a sheen that follows the pointer and a shadow that narrows as it turns edge on." }, "BranchedMenu": { "title": "Branched Menu", "slug": "branched-menu", "description": "Collapsible menu whose sections unfold into a trunk with a curved branch to each child, and an accent line that travels down the trunk and around the curve to whatever you pick, while a marker glides to the open section." }, "FolderFloat": { "title": "Folder Float", "slug": "folder-float", "description": "Folder that opens on hover or press: the flap tilts toward you, a paper edge rises, and its notes spring out from behind the flap into a floating cloud to pick from, then sink back when the folder closes." }, "RefineFrame": { "title": "Refine Frame", "slug": "refine-frame", "description": "Reserved-aspect frame that walks any media through queued, generating, refining and complete without layout shift: each stage is one blur, saturate, scale and opacity tween, a soft band sweeps while it works, a chip reports the stage, and an error dims the picture behind a retry pill." }, "ThoughtLine": { "title": "Thought Line", "slug": "thought-line", "description": "Reasoning-trace header: a glyph and a label breathe beside a live clock while steps appear beneath, then the line settles on one beat into \"Thought for 4.2s\" through a blur crossfade and the trace folds into it." }, "VoicePill": { "title": "Voice Pill", "slug": "voice-pill", "description": "Mic button that swells into a tinted capsule of level-driven equalizer bars and an elapsed clock while held or toggled, then relaxes back into the mic on release; simulated voice by default, real microphone as an opt-in." }, "SloshGauge": { "title": "Slosh Gauge", "slug": "slosh-gauge", "description": "Tank gauge whose liquid chases the value with mass, tilts with its own speed and splashes against the top when it slams full; optionally a vertical slider." }, "PromptBar": { "title": "Prompt Bar", "slug": "prompt-bar", "description": "Chat composer with an @ sources menu, a / commands menu, a model picker, dictation and attachments, whose send tile charges to ink the moment there is something to send and morphs its arrow into a stop square while busy." }, "SwipeToast": { "title": "Swipe Toast", "slug": "swipe-toast", "description": "Single toast that rises through its bottom edge, swipes down to dismiss on a flick or a distance, and burns a thin fuse for exactly its remaining time; hover pauses it and an inline mode keeps it inside any container." }, "SlingButton": { "title": "Sling Button", "slug": "sling-button", "description": "Send button you pull back like a slingshot: the band stretches, a power arc arms it, and releasing fires the action with the flick's velocity." }, "BellToggle": { "title": "Bell Toggle", "slug": "bell-toggle", "description": "Pill toggle that answers a press at three tempos: the bell rings on damped keyframes, the label blur-crossfades, and the pill unfurls to the longer label through a clip-path on a critically damped spring. The pressed state is the receipt." }, "CallChip": { "title": "Call Chip", "slug": "call-chip", "description": "Inline tool-call chip whose fill wipes across while a live ms counter ticks, completing with a green wash on success or stopping short and shaking red with a retry glyph on error." }, "StatusMark": { "title": "Status Mark", "slug": "status-mark", "description": "A 20px status glyph for agent task lists that morphs in place from a dashed idle ring to a spinning or real-progress arc, then draws a check or a cross, with an optional label strike." }, "GlideSelect": { "title": "Glide Select", "slug": "glide-select", "description": "Select chip whose menu pops out of its own corner and whose single hover highlight glides between rows, remembering where you left it so re-entry slides from there instead of blinking in." }, "SwipeRow": { "title": "Swipe Row", "slug": "swipe-row", "description": "List row that swipes open to reveal actions, snaps by flick velocity, and deletes on a full swipe that stretches the action colour across the row." }, "JellyRadio": { "title": "Jelly Radio", "slug": "jelly-radio", "description": "Radio group of labelled chips where the chosen one swells wide-then-tall on two springs and barges its neighbours outward with a travelling stagger, so a selection reads as a force moving through the row." }, "CometDial": { "title": "Comet Dial", "slug": "comet-dial", "description": "Tick-ring dial you flick by angle: the reading launches on a spring and a velocity-driven comet streaks behind the lit head, trailing the direction of travel and vanishing at rest." }, "WakeSlider": { "title": "Wake Slider", "slug": "wake-slider", "description": "Range slider drawn as thin bars with no thumb: drag speed raises a wake that trails behind the handle and flattens again at rest." }, "CodeSlots": { "title": "Code Slots", "slug": "code-slots", "description": "One-time-code input where a hidden overlay input owns focus, paste and SMS autofill while each slot lands its digit on one spring: the fill swells from the centre, the digit rises and the caret glides; a wrong code drains the slots in a cascade, a right one merges them into a single accent wash." }, "DodgeField": { "title": "Dodge Field", "slug": "dodge-field", "description": "Wrapper that makes any child flee the pointer inside a bounded field, dodges once per approach, then relents after a few tries and glides home." }, "LatticeLoader": { "title": "Lattice Loader", "slug": "lattice-loader", "description": "Inline agent-status row: a 3x3 or 4x4 lattice whose cells brighten in a phase-offset wave beside a verb and a live stopwatch, resolving into a check or a cross when the task ends." }, "ScrubField": { "title": "Scrub Field", "slug": "scrub-field", "description": "Number chip you drag to scrub: the value follows the hand, pushes past the range on a rubber band, and a click without moving opens it for typing." }, "FuseButton": { "title": "Fuse Button", "slug": "fuse-button", "description": "Action button whose done state carries its own undo on a burning fuse: press, the label crossfades to Undo, a hairline burns for the undo window, and Undo or Escape runs it back." }, "WarmTooltip": { "title": "Warm Tooltip", "slug": "warm-tooltip", "description": "Tooltip group with one shared delay: the first label waits and pops from its trigger, then siblings open instantly while the group is warm, with an optional velocity lean." }, "SlideCommit": { "title": "Slide Commit", "slug": "slide-commit", "description": "Slide-to-confirm handle that plants with a spinner while your action runs, unfurls into a done pill on success and springs home with a squash and shake on failure." }, "RubberSegment": { "title": "Rubber Segment", "slug": "rubber-segment", "description": "Segmented control with a rubber thumb: taps stretch it across the gap and squash it onto the target, and you can grab, drag and flick it between slots." }, "PulseHeart": { "title": "Pulse Heart", "slug": "pulse-heart", "description": "Like button that contracts to a dot, flips colour at its smallest frame and pulses back while the count swaps one glyph." }, "SpringCheck": { "title": "Spring Check", "slug": "spring-check", "description": "Checkbox row where a single spring fills the box, draws the tick, strikes the label and dims the words in one press." }, "PeekRating": { "title": "Peek Rating", "slug": "peek-rating", "description": "Star rating you can try before you commit: sweeping the row lifts a trailing wave of stars up to the pointer while a tip hops along with the label; a click commits with a pop." }, "HoldButton": { "title": "Hold Button", "slug": "hold-button", "description": "Hold-to-confirm button whose liquid fill rises while pressed, snaps back on an early release and swaps its label through a blur when the hold completes." }, "SquishSwitch": { "title": "Squish Switch", "slug": "squish-switch", "description": "Drag-scrubbable switch whose thumb stretches by how fast it moves, flips at the midpoint and squashes against the track end on a flick." } } as const;