{
  "$schema": "https://ui.shadcn.com/schema/registry.json",
  "name": "movin",
  "homepage": "https://movin.design",
  "items": [
    {
      "name": "button-receipt",
      "type": "registry:component",
      "title": "Receipt button",
      "description": "A pay button with a printer slot along its bottom edge: click it and a receipt prints out under it a line at a time, it reads Paid, then the receipt tears off and falls away.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/receipt/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-receipt.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-stitch",
      "type": "registry:component",
      "title": "Stitch button",
      "description": "Hover and a needle sews a running stitch round the button border, the stitches appearing behind it through pre-punched holes; leave and the stitches unpick in reverse.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/stitch/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-stitch.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-bell",
      "type": "registry:component",
      "title": "Bell button",
      "description": "A notify me button: pressed, the bell swings and settles with its clapper a beat behind, sound rings ripple out from it and the label confirms you are on the list.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/bell/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-bell.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-breathe",
      "type": "registry:component",
      "title": "Breathe button",
      "description": "A calm breathing session button: at rest its halo breathes slowly; press it and it guides you through breathing in, holding and breathing out for two rounds, the halo swelling and shrinking with each step.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/breathe/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-breathe.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-brushstroke",
      "type": "registry:component",
      "title": "Brushstroke button",
      "description": "A link button that paints one dry-brush ink stroke behind its label on hover, left to right, while the thin rule beneath fades and the label turns to read over the ink.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/brushstroke/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-brushstroke.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-dispatch",
      "type": "registry:component",
      "title": "Dispatch button",
      "description": "A send button that folds into a paper plane: on click the plane glides off in an arc, banking as it goes and leaving a fading trail, and the button settles on Sent.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/dispatch/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-dispatch.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-dissolve",
      "type": "registry:component",
      "title": "Dissolve button",
      "description": "A hold to delete button: while you hold it, a bar fills and the label crumbles into sand from the right, each letter drifting and turning away. Let go early and the letters gather back; hold to the end and it offers Undo.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/dissolve/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-dissolve.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-foil",
      "type": "registry:component",
      "title": "Foil button",
      "description": "A members button with foil-stamped lettering on a deep plate: the metallic sheen follows your pointer across the letters, sweeps through on keyboard focus, and a press debosses the plate.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/foil/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-foil.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-marquee",
      "type": "registry:component",
      "title": "Marquee button",
      "description": "A ticket button framed in theatre marquee bulbs: on hover the lights chase round the border, and when you press they all flash together.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/marquee/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-marquee.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-rewind",
      "type": "registry:component",
      "title": "Rewind button",
      "description": "An undo button: each press spins its arrow backwards with a fading motion trail, and the undone action runs back out of the label, skewed and smeared like tape, revealing the one before.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/rewind/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-rewind.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-spool",
      "type": "registry:component",
      "title": "Spool button",
      "description": "A download button: the underline unwinds onto a spinning reel as the file comes in, the reel fills with the wound tape, then caps over and turns into a tick as it saves.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/spool/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-spool.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-topple",
      "type": "registry:component",
      "title": "Topple button",
      "description": "An explore button whose letters tip over like dominoes on hover, each knocking the next, hold a moment and then stand back up in a ripple.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/topple/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-topple.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-airlock",
      "type": "registry:component",
      "title": "Airlock button",
      "description": "Two hazard-striped doors seal the button. Hover cracks them apart a few pixels; a click slides them open on an angled seam to show a lit ACCESS GRANTED inside, then they close again.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/airlock/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-airlock.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-black-hole",
      "type": "registry:component",
      "title": "Black Hole button",
      "description": "Hover and the label spirals into a singularity: each letter orbits into the centre, the far ones last, while an accretion disc spins up in 3D. The core flares and a new word emerges from it.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/black-hole/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-black-hole.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-blueprint",
      "type": "registry:component",
      "title": "Blueprint button",
      "description": "Hover turns the button into its own spec drawing: the face becomes a dashed outline on a grid, extension guides draw out, and dimension lines with arrowheads label its real measured width and height.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/blueprint/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-blueprint.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-circuit",
      "type": "registry:component",
      "title": "Circuit button",
      "description": "A button wired into a circuit board. On hover, current pulses race along every trace from the pads into the button, and the button powers up as the first pulses arrive.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/circuit/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-circuit.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-constellation",
      "type": "registry:component",
      "title": "Constellation button",
      "description": "Drifting points of light fill the button and wire themselves together whenever they pass close. Move the cursor over it and nearby nodes reach out to it with lines and drift toward it.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/constellation/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-constellation.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-crt-power",
      "type": "registry:component",
      "title": "CRT Power button",
      "description": "A tiny CRT screen as a power button. A click switches it off the way old tubes did: the picture collapses to a bright line, then a dot, and an afterglow lingers. Another click powers it back up with a flicker.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/crt-power/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-crt-power.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-data-rain",
      "type": "registry:component",
      "title": "Data Rain button",
      "description": "Hover and columns of glyphs start pouring down behind the label, each column at its own speed with a fading trail. Leave and the columns finish their fall and trickle out one by one.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/data-rain/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-data-rain.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-dot-matrix",
      "type": "registry:component",
      "title": "Dot Matrix button",
      "description": "An LED dot-matrix panel spells the label in lit dots. On hover or focus it scrolls the message like a station marquee, starting exactly where the resting word sits, and settles back when you leave.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/dot-matrix/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-dot-matrix.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-echo-stack",
      "type": "registry:component",
      "title": "Echo Stack button",
      "description": "Ghost copies of the button hide behind it. On hover they fan out up and to the left in depth, each fainter than the last and lagging slightly; a click slams them all back into the button with a punch.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/echo-stack/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-echo-stack.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-fingerprint",
      "type": "registry:component",
      "title": "Fingerprint button",
      "description": "Press and hold to scan a fingerprint. A beam sweeps over the pad while the ridges draw in one after another; let go early and they fade back. Hold long enough and it reads Verified, then resets.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/fingerprint/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-fingerprint.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-force-field",
      "type": "registry:component",
      "title": "Force Field button",
      "description": "Hover raises a honeycomb shield around the button. A click sends a ripple through the hex cells from the exact point you clicked (the centre, from the keyboard), lighting each ring of cells as it passes.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/force-field/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-force-field.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-glass",
      "type": "registry:component",
      "title": "Glass button",
      "description": "A frosted glass pane floating over drifting soft lights. Move the cursor around it and the lights behind the glass gather toward the pointer one after another, while a rim light slides round the pane's edge to face it.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/glass/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-glass.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-gyroscope",
      "type": "registry:component",
      "title": "Gyroscope button",
      "description": "Three gimbal rings, each with a glowing bead, tumble in 3D around a pill button. Hover or focus locks them: every ring swings flat with a spring into one halo around the button, which lights up.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/gyroscope/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-gyroscope.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-hologram",
      "type": "registry:component",
      "title": "Hologram button",
      "description": "A button projected as a hologram: it floats above an emitter on a cone of light, with scanlines and a bright band rolling down its face. At rest it flickers like a weak signal; on hover the projection steadies, rises and the cone and emitter brighten.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/hologram/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-hologram.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-horizon-grid",
      "type": "registry:component",
      "title": "Horizon Grid button",
      "description": "A synthwave button: a perspective grid floor rushes toward you under a slatted sun on the horizon line. Hover hits the throttle, running the floor four times faster without a jump, and the sun brightens.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/horizon-grid/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-horizon-grid.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-iris",
      "type": "registry:component",
      "title": "Iris button",
      "description": "A camera aperture as a button. Six shaded blades meet in a closed iris; on hover or focus they twist open together to reveal the action glowing inside, and close again when you leave.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/iris/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-iris.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-laser-etch",
      "type": "registry:component",
      "title": "Laser Etch button",
      "description": "An outlined label waits to be engraved. On hover a laser line sweeps across the button, filling the letters in solid behind it and throwing sparks from the beam, then switches off once the pass is done.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/laser-etch/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-laser-etch.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-launch",
      "type": "registry:component",
      "title": "Launch button",
      "description": "Click to launch: the button counts down T-3, T-2, T-1 while it rumbles and its engine flickers, then lifts off with a full flame and smoke puffs fanning along the ground, drops back in and lands with a bounce.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/launch/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-launch.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-liquid-chrome",
      "type": "registry:component",
      "title": "Liquid Chrome button",
      "description": "A polished metal pill. Its banded reflections drift slowly on their own and slide against the cursor as you move over it, the way they would on a curved surface, with a specular hotspot following the pointer.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/liquid-chrome/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-liquid-chrome.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-moire",
      "type": "registry:component",
      "title": "Moire button",
      "description": "Two identical ring gratings overlap inside the button. One centre circles slowly by itself and follows the cursor on hover, so the overlap beats into moving op-art fringes around the label.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/moire/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-moire.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-morse",
      "type": "registry:component",
      "title": "Morse button",
      "description": "Hover and the button transmits its label in Morse code: a paper tape of dots and dashes runs past a read head while a lamp blinks in time with every mark. Leave and the tape stops where it is.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/morse/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-morse.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-oscilloscope",
      "type": "registry:component",
      "title": "Oscilloscope button",
      "description": "A button with a live oscilloscope screen. The trace runs as a sine at rest, bends into a square wave and speeds up on hover, and a click fires a pulse that travels along the line.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/oscilloscope/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-oscilloscope.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-pattern-lock",
      "type": "registry:component",
      "title": "Pattern Lock button",
      "description": "A lock button with a 3x3 pattern pad. Drag through four or more dots to unlock: each dot lights with a springy halo and a glowing line follows your finger. Too short a pattern shakes it off; a plain click plays a demo pattern for you.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/pattern-lock/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-pattern-lock.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-plasma",
      "type": "registry:component",
      "title": "Plasma button",
      "description": "Live turbulent energy churns inside a pill button: bright filaments of plasma that never repeat. At rest they smoulder faintly; hover turns them up to a blaze behind the label, with a glow round the rim.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/plasma/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-plasma.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-quantum",
      "type": "registry:component",
      "title": "Quantum button",
      "description": "The label sits in superposition: three faint copies of the button jitter between positions out of step. Hover or focus observes it, and they collapse instantly into one solid button with a ring of light.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/quantum/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-quantum.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-radar",
      "type": "registry:component",
      "title": "Radar button",
      "description": "A round radar scope as a button. A beam sweeps round the range rings, and each contact lights up the moment the beam passes over it, then fades. Hover brightens the rim with a soft glow.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/radar/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-radar.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-reactor",
      "type": "registry:component",
      "title": "Reactor button",
      "description": "A round reactor core as a toggle button: three segmented rings counter-rotate around a breathing core. Hover spins the rings up without a jump; a click ignites the core with a flash ring and keeps it running faster while it is on.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/reactor/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-reactor.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-target-lock",
      "type": "registry:component",
      "title": "Target Lock button",
      "description": "HUD targeting brackets drift loosely outside the button. On hover or focus they snap onto it with a springy lock, crosshair ticks appear, and a readout above retypes itself from ACQUIRING to LOCKED.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/target-lock/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-target-lock.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-teleport",
      "type": "registry:component",
      "title": "Teleport button",
      "description": "Click and the button is beamed out: it breaks into tiles that stretch up and vanish into a column of light, bottom row first, then rematerialises tile by tile from the top down.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/teleport/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-teleport.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-terminal",
      "type": "registry:component",
      "title": "Terminal button",
      "description": "A button that is a tiny terminal window. A click types out the deploy command, runs an ASCII progress bar to 100% in uneven steps, prints a success line, then resets to the prompt.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/terminal/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-terminal.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-tesla",
      "type": "registry:component",
      "title": "Tesla button",
      "description": "A button between two electrodes. At rest a short spark crackles now and then; on hover live arcs leap across the top of the button, redrawn many times a second, and a click discharges a burst of bolts with a flash.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/tesla/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-tesla.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-thermal",
      "type": "registry:component",
      "title": "Thermal button",
      "description": "A heat camera as a button. The cursor leaves a warm trail that blooms outward in blocky cells and cools slowly, banded like a thermal readout, with the peak temperature shown in the corner.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/thermal/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-thermal.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-warp",
      "type": "registry:component",
      "title": "Warp button",
      "description": "A starfield drifts slowly out from the centre of the button. On hover the stars stretch into hyperspace streaks and race past, and the label spreads as if accelerating.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/warp/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-warp.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-waveform",
      "type": "registry:component",
      "title": "Waveform button",
      "description": "A pill button filled with equaliser bars that idle gently, then swell and dance around the cursor as if it were the sound source, brightening where the energy is highest.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/waveform/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-waveform.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-wireframe",
      "type": "registry:component",
      "title": "Wireframe button",
      "description": "A 3D slab drawn in wire, turned at an angle with dashed hidden edges. On hover it squares up to face you and materialises face by face, each side filling in a beat after the last.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/wireframe/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-wireframe.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-filings",
      "type": "registry:component",
      "title": "Filings button",
      "description": "A field of 52 compass needles inside the button, every one turning to point at the cursor wherever it is on the page, brighter and longer the closer it gets, with a springy transition between headings. A click spins the whole field once in a staggered sweep.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/filings/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-filings.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-fold",
      "type": "registry:component",
      "title": "Fold button",
      "description": "The button is a sheet of paper. A click folds the top half down over the bottom like a letter, its underside showing and the crease casting a shadow; it holds folded while the label changes underneath, then unfolds with the new label. Hover lifts the top flap a little to say it can fold.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/fold/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-fold.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-goo",
      "type": "registry:component",
      "title": "Goo button",
      "description": "Liquid metaballs from one SVG filter: everything inside is blurred and its alpha thresholded back to a hard edge, so shapes that come close melt together. On hover, droplets ooze out of the edges and bob; a click fires a drop that stretches off the side and breaks free.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/goo/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-goo.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-halftone",
      "type": "registry:component",
      "title": "Halftone button",
      "description": "Three dot screens on one 7px grid: a faint base, a brighter screen whose dots swell under the cursor through a radial mask, and a ring of bright dots that rolls across the surface from the pointer on enter and click, its radius animated through a registered custom property.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/halftone/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-halftone.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-loupe",
      "type": "registry:component",
      "title": "Loupe button",
      "description": "A magnifying glass follows the cursor across the button at 2.5x, rendered from a clone of the content shifted by CSS so the point under the cursor sits in the middle of the lens. The fine print under the label is only readable through it.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/loupe/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-loupe.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-membrane",
      "type": "registry:component",
      "title": "Membrane button",
      "description": "The button is a rubber skin drawn as an SVG path. Leave it and the edge you exit through stretches after the cursor until it lets go and wobbles home on a spring; a press squishes every side inwards and the release boings. A small rAF spring integrator, no dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/membrane/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-membrane.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-morph-text",
      "type": "registry:component",
      "title": "Morph Text button",
      "description": "On hover the label melts into the next word. Both words blur through each other while letter-spacing shifts, and an SVG alpha-threshold filter turns the overlap into liquid letterforms instead of a crossfade. Pure CSS, no script.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/morph-text/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-morph-text.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-particle-text",
      "type": "registry:component",
      "title": "Particle Text button",
      "description": "The label is redrawn from every inked pixel of the word, one canvas particle each, springing to its home. The cursor brushes the particles aside like dust and a click blows the word apart, weakening the spring for a moment so it drifts before pulling back together.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/particle-text/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-particle-text.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-pull-cord",
      "type": "registry:component",
      "title": "Pull Cord button",
      "description": "A lamp switch: a cord hangs from the button with a bead on the end. Drag the bead down past the trigger point and let go to turn it on; the cord springs back and swings like a pendulum. Clicking the button itself toggles it too and tugs the cord, so keyboards get the same switch.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/pull-cord/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-pull-cord.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-shatter",
      "type": "registry:component",
      "title": "Shatter button",
      "description": "A click breaks the button into 24 irregular triangular shards, each a clone of the face clipped with clip-path. They burst away from the click point in 3D, hang in the air for a beat with their own lighting, then fly back and lock together with a small snap.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/shatter/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-shatter.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-split-flap",
      "type": "registry:component",
      "title": "Split-Flap button",
      "description": "An airport departures board. Each letter is a split-flap tile; on hover the tiles flip left to right through a few random characters on hinged leaves before landing on the next label, and flip back when the cursor leaves. Interrupting mid-flip retargets cleanly.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/split-flap/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-split-flap.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-swipe-confirm",
      "type": "registry:component",
      "title": "Swipe to Confirm button",
      "description": "A slide-to-confirm track for actions that should not happen by accident. Drag the knob to the end and the track floods light while the arrow redraws as a check; let go early and it springs home. One registered custom property drives the knob, the fill and the hint, so a single transition animates all three.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/swipe-confirm/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-swipe-confirm.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-ticket",
      "type": "registry:component",
      "title": "Ticket button",
      "description": "A ticket with a perforated stub. Hover tugs at the stub; a click tears it off along the perforation and it tumbles away while the ticket reads Admitted, then a fresh stub slides back into place. The notches are radial-gradient masks, the perforation a repeating gradient.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/ticket/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-ticket.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-tide",
      "type": "registry:component",
      "title": "Tide button",
      "description": "Liquid rises inside the button on hover with two SVG wave layers rolling across its surface, and sloshes against the walls when the cursor moves fast: horizontal pointer speed tips the water on a spring. The label splits colour at the waterline through mix-blend-mode.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/tide/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-tide.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-tile-flip",
      "type": "registry:component",
      "title": "Tile Flip button",
      "description": "The surface is a 12x4 grid of tiles. Entering flips them over in a wave that spreads from the exact point the cursor came in, each tile turning about the axis facing away from it; leaving flips them back from where it left. The label turns dark as the wave passes.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/tile-flip/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-tile-flip.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-border-beam",
      "type": "registry:component",
      "title": "Border Beam button",
      "description": "On hover, a white light beam races continuously around the button border. A 2px-padded wrapper div clips a large rotating conic-gradient square: only the border gap is visible, creating the illusion of a beam orbiting the perimeter. The button interior stays dark. No dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/border-beam/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-border-beam.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-burst-ring",
      "type": "registry:component",
      "title": "Burst Ring button",
      "description": "On click, a single transparent ring (border only, no fill) expands outward from the exact click point and fades, different from ripple which fills. Multiple rings can overlap. Uses React useState to track active rings and removes them after 540ms. No dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/burst-ring/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-burst-ring.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-charge",
      "type": "registry:component",
      "title": "Charge button",
      "description": "A fighting-game style button: hover to charge a light gray power bar from left to right over 1.5 seconds via requestAnimationFrame. When the bar reaches 100%, the button fires, turning bright white with a pulsing box-shadow glow and \"FIRED!\" text for 800ms. Mousing away before full charge resets the bar. No dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/charge/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-charge.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-confetti",
      "type": "registry:component",
      "title": "Confetti button",
      "description": "On click, 22 grayscale rectangular particles are spawned from the click point inside a relatively-positioned wrapper. Each particle flies outward in an evenly distributed radial spread with slight randomness, rotating and fading over 500–900ms via CSS custom properties (--tx, --ty, --rot, --dur) and a single @keyframes rule. Particles are removed from the DOM after animation. No dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/confetti/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-confetti.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-count-up",
      "type": "registry:component",
      "title": "Count Up button",
      "description": "Each click increments a visible counter badge inside the button. The badge pops with a spring-overshoot scale keyframe animation on every increment, re-triggered via the removeAttribute/offsetWidth/setAttribute pattern.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/count-up/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-count-up.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-cube-face",
      "type": "registry:component",
      "title": "Cube Face button",
      "description": "On click, a 3D cube rotates 90 degrees on the X axis to reveal a second face with a confirmation message. Uses CSS transform-style: preserve-3d with two absolutely-positioned faces, a front face (translateZ) and a top face (rotateX + translateZ). Auto-resets after 1.8 seconds.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/cube-face/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-cube-face.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-diamond",
      "type": "registry:component",
      "title": "Diamond button",
      "description": "A diamond-shaped button using a 45-degree rotated wrapper with counter-rotated text. On hover, the button scales up, the background gradient brightens, and a pulse box-shadow animation radiates outward. No clip-path: pure CSS rotate transform.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/diamond/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-diamond.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-elastic-press",
      "type": "registry:component",
      "title": "Elastic Press button",
      "description": "On click, a CSS keyframe animation fires, squishing the button horizontally then snapping back with an overshoot oscillation that simulates spring physics. The animation is re-triggered cleanly on every click by removing and re-adding the data attribute with a forced reflow. No dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/elastic-press/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-elastic-press.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-glitch",
      "type": "registry:component",
      "title": "Glitch button",
      "description": "Two cloned text layers are absolutely positioned over the button. On hover, staggered clip-path animations in steps() slice each clone into horizontal bands while offsetting them in opposite directions (one dark, one bright), creating a channel-split digital glitch effect. No dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/glitch/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-glitch.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-gradient-border",
      "type": "registry:component",
      "title": "Gradient Border button",
      "description": "A silver highlight spins continuously around the button border; on hover it brightens to white and casts a soft blurred halo. CSS @property angle and colour, no dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/gradient-border/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-gradient-border.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-health-bar",
      "type": "registry:component",
      "title": "Health Bar button",
      "description": "A game-style HP bar embedded in the button body. On hover, the bar drains from 100% to 28% over 800ms with a CSS width transition; the bar dims from bright to light gray to dark gray as HP drops. HP values and a status label update accordingly.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/health-bar/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-health-bar.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-hexagon",
      "type": "registry:component",
      "title": "Hexagon button",
      "description": "A flat-top hexagonal button using clip-path: polygon(). On hover, a circular silver fill expands from the center with a spring overshoot (cubic-bezier(0.34, 1.56, 0.64, 1)), inverting the text color from silver to near-black. The hex clip-path is applied to the button element itself. No dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/hexagon/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-hexagon.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-hold-confirm",
      "type": "registry:component",
      "title": "Hold to Confirm button",
      "description": "Hold the mouse button down to fill a circular SVG progress ring. Progress is driven by requestAnimationFrame over a 1.5-second duration. Releasing early resets to zero. When the ring completes, the button enters a confirmed state with a checkmark and colour change for 1.8 seconds.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/hold-confirm/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-hold-confirm.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-ink-stamp",
      "type": "registry:component",
      "title": "Ink Stamp button",
      "description": "On click, a circular ink-blot radial gradient expands from the center of the button and fades out via a CSS keyframe animation. The effect is re-triggered on every click using the removeAttribute/offsetWidth/setAttribute pattern.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/ink-stamp/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-ink-stamp.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-jello-wobble",
      "type": "registry:component",
      "title": "Jello Wobble button",
      "description": "On hover, the button squishes and stretches with a decaying scaleX/scaleY oscillation that simulates rubber or jello physics, starting with a large deformation and settling back to rest over 600ms. Re-triggers cleanly on every mouseenter. No dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/jello-wobble/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-jello-wobble.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-loading-lock",
      "type": "registry:component",
      "title": "Loading Lock button",
      "description": "On click, the button transitions through three states: idle (padlock icon) → loading (spinning SVG arc, 1.6s) → done (checkmark, bright white). Auto-resets to idle after 2 seconds. Each state has distinct icon, label, and colour scheme.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/loading-lock/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-loading-lock.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-magnetic",
      "type": "registry:component",
      "title": "Magnetic button",
      "description": "The button follows the cursor with spring physics, pulling toward the mouse like a magnet and bouncing back on leave.",
      "author": "movin.design <https://movin.design>",
      "dependencies": [
        "framer-motion"
      ],
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/magnetic/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-magnetic.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-morph-shape",
      "type": "registry:component",
      "title": "Morph Shape button",
      "description": "On hover, the button morphs from a pill shape to a circle: the width collapses and border-radius transitions to 50%. The text label fades out and a decorative symbol fades in with a spring-bounce entrance. Both transitions are CSS-only.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/morph-shape/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-morph-shape.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-neon-pulse",
      "type": "registry:component",
      "title": "Neon Pulse button",
      "description": "A white neon glow breathes in and out continuously around the button using layered box-shadows, ideal for a primary CTA that demands attention. Pure CSS, no dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/neon-pulse/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-neon-pulse.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-octagon",
      "type": "registry:component",
      "title": "Octagon button",
      "description": "An 8-sided button shaped with a CSS clip-path polygon. On hover, the entire shape rotates 22.5 degrees with a spring overshoot, the background gradient fills in, and the inner text counter-rotates to stay upright.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/octagon/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-octagon.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-orbit-particles",
      "type": "registry:component",
      "title": "Orbit Particles button",
      "description": "On hover, 6 dots orbit the button in a continuous circle via CSS keyframes. Each dot shares a single rotate→translateX→counter-rotate keyframe; staggered negative animation-delay offsets each dot to an evenly-spaced starting position. The lead dot is slightly larger.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/orbit-particles/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-orbit-particles.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-pop-forward",
      "type": "registry:component",
      "title": "Pop Forward button",
      "description": "On hover, the button pops toward the viewer using CSS 3D transforms: translateZ(28px) and scale(1.06) with a spring cubic-bezier. A deep drop shadow grows to reinforce the depth illusion. Requires a perspective wrapper on the parent element.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/pop-forward/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-pop-forward.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-press-3d",
      "type": "registry:component",
      "title": "Press 3D button",
      "description": "A chunky RPG-style button with a thick box-shadow that simulates physical depth. On mousedown it snaps down 5px while the shadow collapses, then springs back on release, replicating the feel of pressing a physical arcade or game controller button. No dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/press-3d/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-press-3d.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-retro-pixel",
      "type": "registry:component",
      "title": "Retro Pixel button",
      "description": "8-bit game-style button with a chunky pixel border (outline + box-shadow), scanline overlay via repeating-linear-gradient, monospace font, and a stepped jitter shake animation on press. The outer wrapper uses a black frame to simulate a cartridge slot border. No dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/retro-pixel/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-retro-pixel.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-ripple",
      "type": "registry:component",
      "title": "Ripple button",
      "description": "A soft white ripple circle expands from the exact click point and fades out: Material Design's satisfying click feedback pattern. Pure CSS animation, no dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/ripple/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-ripple.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-rotating-gradient",
      "type": "registry:component",
      "title": "Rotating Gradient button",
      "description": "On hover, a large conic-gradient layer (alternating dark and light grays) fades in behind the button text and spins continuously via a rotate(360deg) keyframe animation. A subtle dark overlay keeps the white text readable against the gradient. No dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/rotating-gradient/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-rotating-gradient.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-scramble",
      "type": "registry:component",
      "title": "Scramble button",
      "description": "On hover, characters randomize from a pool of alphanumeric and symbol characters at 40ms intervals. Characters resolve to the real label progressively left-to-right. On mouse leave the original text is restored immediately.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/scramble/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-scramble.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-shimmer-sweep",
      "type": "registry:component",
      "title": "Shimmer Sweep button",
      "description": "A skewed diagonal glare band slides across the button from left to right on hover. The glare is a semi-transparent white gradient on an absolutely-positioned span. The transition is one-shot on mouseenter (no reverse on mouseleave), giving a clean premium feel. No dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/shimmer-sweep/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-shimmer-sweep.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-shockwave",
      "type": "registry:component",
      "title": "Shockwave button",
      "description": "On click, 3 bright rings burst from the click point with staggered delays (0ms, 120ms, 240ms), each expanding and fading for a shockwave effect. Rings are spawned as DOM elements with CSS custom properties (--delay, --dur) and removed when done. No dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/shockwave/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-shockwave.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-skewed",
      "type": "registry:component",
      "title": "Skewed button",
      "description": "A parallelogram-shaped button using clip-path. On hover, a gradient fill sweeps in from the left with a skewed transform, while the text colour transitions to white. The clip-path outline remains visible at all times.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/skewed/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-skewed.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-slide-fill",
      "type": "registry:component",
      "title": "Slide Fill button",
      "description": "A mid-gray fill slides in from the left to fill the button on hover, then retreats on mouse-leave. Pure CSS transitions, no dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/slide-fill/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-slide-fill.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-spotlight",
      "type": "registry:component",
      "title": "Spotlight button",
      "description": "A soft circle of light fades in under the cursor and follows it across the button, written to CSS custom properties on mousemove so nothing re-renders. The rest of the button stays dark. No dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/spotlight/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-spotlight.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-stagger-letters",
      "type": "registry:component",
      "title": "Stagger Letters button",
      "description": "On hover, each letter of the button label jumps upward with a spring-overshoot cubic-bezier transition, staggered by 38ms per character. All letters return to baseline on mouse leave.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/stagger-letters/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-stagger-letters.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-swap-text",
      "type": "registry:component",
      "title": "Swap Text button",
      "description": "The button label slides upward out of frame on hover while a secondary label slides in from below: a clean way to surface a call-to-action hint. Pure CSS transitions, no dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/swap-text/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-swap-text.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-tilt-3d",
      "type": "registry:component",
      "title": "Tilt 3D button",
      "description": "A Framer Motion button that rotates in 3D perspective as the cursor moves across it, using useMotionValue and useSpring to track mouse position into rotateX/rotateY transforms. A blurred white orb follows the cursor inside the button as a sheen highlight, and a depth shadow expands on hover. Requires framer-motion.",
      "author": "movin.design <https://movin.design>",
      "dependencies": [
        "framer-motion"
      ],
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/tilt-3d/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-tilt-3d.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-typewriter",
      "type": "registry:component",
      "title": "Typewriter button",
      "description": "On hover, the button label erases character-by-character at 45ms intervals then retypes an alternate label at 55ms intervals. On mouse leave the process reverses back to the original text. A blinking cursor is shown throughout.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/typewriter/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-typewriter.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-wipe-swap",
      "type": "registry:component",
      "title": "Wipe Swap button",
      "description": "On hover, the primary label slides out to the left while a secondary label simultaneously slides in from the right, both driven by the same translateX transition. Different from swap-text which moves vertically; this is a horizontal wipe with distinct label content. No dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/wipe-swap/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-wipe-swap.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "button-xp-gain",
      "type": "registry:component",
      "title": "XP Gain button",
      "description": "On each click, a \"+100 XP\" label floats upward from the click position and fades out over 860ms via CSS keyframes. A running total increments in the button label. Click position is captured from the mouse event and used to place the floating element.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "buttons"
      ],
      "meta": {
        "url": "https://movin.design/components/buttons/xp-gain/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/button-xp-gain.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-accordion",
      "type": "registry:component",
      "title": "Accordion card",
      "description": "An FAQ card: open a question and its answer slides open to its natural height as the plus turns into a minus, closing the one that was open.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/accordion/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-accordion.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-actions",
      "type": "registry:component",
      "title": "Actions card",
      "description": "An inbox row you swipe: drag it left and Archive and Delete slide out from under it with some resistance, or right to Flag; let go past halfway and it stays open.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/actions/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-actions.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-carousel",
      "type": "registry:component",
      "title": "Carousel card",
      "description": "A card with a swipeable gallery that snaps to each slide; the dots below stretch and shrink with the scroll position itself, so they move mid-swipe rather than only when a slide lands.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/carousel/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-carousel.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-cart",
      "type": "registry:component",
      "title": "Cart card",
      "description": "A product card: add it to the cart and a copy of the product flies in an arc into the cart icon, which bumps as its badge pops up with the new count.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/cart/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-cart.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-checklist",
      "type": "registry:component",
      "title": "Checklist card",
      "description": "A to-do card: ticking an item draws its check and strikes its text, the progress ring steps round, and finishing the list pops in a new heading.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/checklist/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-checklist.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-clock",
      "type": "registry:component",
      "title": "Clock card",
      "description": "A world clock: pick a city and the hands swing round to its local time with a little overshoot, while the seconds hand keeps ticking.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/clock/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-clock.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-diff",
      "type": "registry:component",
      "title": "Diff card",
      "description": "A code card with Before and After: removed lines get struck through and fold away, added lines open up in their place, and the gutter marks each change with + or −.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/diff/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-diff.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-expand",
      "type": "registry:component",
      "title": "Expand card",
      "description": "A compact article row that opens into a full card: the thumbnail grows into a banner, the title and meta slide down beneath it and the summary fades in; close it and it all folds back.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/expand/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-expand.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-follow",
      "type": "registry:component",
      "title": "Follow card",
      "description": "A profile card whose Follow button turns into Following with a drawn tick, while the follower count rolls up by one and a ring draws itself round the avatar.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/follow/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-follow.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-gift",
      "type": "registry:component",
      "title": "Gift card",
      "description": "A gift card in a box: click and the bow unties, the lid lifts off and tips away, then the card with its code rises out of the box with a little overshoot.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/gift/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-gift.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-header",
      "type": "registry:component",
      "title": "Header card",
      "description": "A profile card that scrolls inside itself: as you scroll the posts, the cover shrinks into a slim header and the avatar travels up into it, shrinking, while the name fades in beside it.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/header/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-header.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-highlight",
      "type": "registry:component",
      "title": "Highlight card",
      "description": "A testimonial whose key phrases get a marker swept behind them, one after the other and across line breaks, when the card comes into view; hover it to sweep again.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/highlight/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-highlight.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-kanban",
      "type": "registry:component",
      "title": "Kanban card",
      "description": "A two-column board: drag a task across and it lifts and tilts as you carry it, a dashed gap opens where it will land, and it settles into the other column as the rest glide over.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/kanban/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-kanban.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-like",
      "type": "registry:component",
      "title": "Like card",
      "description": "A photo card you like by double-clicking the picture: a big heart pops over it and floats away, the small heart below fills with a burst of sparks, and the count rolls up.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/like/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-like.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-note",
      "type": "registry:component",
      "title": "Note card",
      "description": "A sticky note pinned to the card: sweep the pointer past it and its bottom edge lifts in the draft, harder the faster you move, then flutters back down on a loose spring.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/note/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-note.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-notifications",
      "type": "registry:component",
      "title": "Notifications card",
      "description": "Three notifications stacked into one: open the stack and they spring apart into a list, a beat apart; clear them and they slide away one after another before the empty state fades in.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/notifications/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-notifications.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-onboarding",
      "type": "registry:component",
      "title": "Onboarding card",
      "description": "A three-step intro card: Next slides the new step in from the right and Back from the left, while the progress pill stretches across to the new dot and pulls its tail after it.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/onboarding/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-onboarding.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-peek",
      "type": "registry:component",
      "title": "Peek card",
      "description": "Press and hold a file tile to peek at it: a ring fills round the tile while you hold, the rest of the card blurs, and a larger preview grows out of the tile until you let go.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/peek/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-peek.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-poll",
      "type": "registry:component",
      "title": "Poll card",
      "description": "A poll card: vote and the options turn into result bars that grow to their share one after another while the percentages count up, with your choice ticked.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/poll/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-poll.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-pricing",
      "type": "registry:component",
      "title": "Pricing card",
      "description": "A plan card with a Monthly and Yearly switch: the knob slides across, the price digits roll to the new amount a beat apart, the billing note changes and a Save badge drops in for yearly.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/pricing/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-pricing.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-refresh",
      "type": "registry:component",
      "title": "Refresh card",
      "description": "A feed you pull down to refresh: the list stretches with growing resistance, the arrow turns over as you near the release point, and letting go spins a loader and slides a new item in.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/refresh/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-refresh.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-scrub",
      "type": "registry:component",
      "title": "Scrub card",
      "description": "A video card you preview by moving across the thumbnail: the pointer position picks the frame of a paper plane's flight, a bar under it tracks the position and a chip shows the time.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/scrub/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-scrub.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-servings",
      "type": "registry:component",
      "title": "Servings card",
      "description": "A recipe card: change the servings and every quantity rescales, the old figure rolling out as the new one rolls in, one ingredient after another.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/servings/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-servings.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-spoiler",
      "type": "registry:component",
      "title": "Spoiler card",
      "description": "A message with a hidden spoiler: the hidden words shimmer under drifting, twinkling specks, and a click scatters the specks outward from where you clicked as the words fade in.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/spoiler/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-spoiler.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-storage",
      "type": "registry:component",
      "title": "Storage card",
      "description": "A disk usage card with a stacked bar of categories: point at a segment or its legend row and that segment swells while the rest dim, and the reading switches to its size.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/storage/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-storage.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-streak",
      "type": "registry:component",
      "title": "Streak card",
      "description": "A weekly habit card: check in today and its circle fills from the centre, a tick draws, the streak count rolls up by one and the flame flares.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/streak/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-streak.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-team",
      "type": "registry:component",
      "title": "Team card",
      "description": "A team card with overlapping avatars: hover the group and they spread apart one after another, the +3 chip folds away into the rest of the team, and pointing at a face names it.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/team/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-team.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-tracking",
      "type": "registry:component",
      "title": "Tracking card",
      "description": "A parcel tracking card: on load the route line fills down the timeline to the current step one segment at a time, each dot filling as the line reaches it, and the latest step pulses.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/tracking/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-tracking.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-upload",
      "type": "registry:component",
      "title": "Upload card",
      "description": "A drop zone card: its dashed border marches while you hover or drag a file over it, and a dropped or chosen file gets a row that fills with progress, then ticks.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/upload/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-upload.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-wifi",
      "type": "registry:component",
      "title": "Wi-Fi card",
      "description": "A network picker: choose a network and its signal arcs pulse while it connects, then it ticks and moves to the top of the list as the others shift down.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/wifi/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-wifi.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-almanac",
      "type": "registry:component",
      "title": "Almanac card",
      "description": "A tear-off desk calendar card: click it and today's page tears free from the binding, twists and drops away, showing tomorrow underneath.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/almanac/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-almanac.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-autograph",
      "type": "registry:component",
      "title": "Autograph card",
      "description": "A profile card whose signature writes itself on the line when you hover, the name first and then the flourish, at a pen's pace.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/autograph/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-autograph.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-book",
      "type": "registry:component",
      "title": "Book card",
      "description": "A hardback book card: on hover the cover swings open in 3D past the spine, and the book slides over so the spread stays centred, showing the inscription on the first page.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/book/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-book.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-fortune",
      "type": "registry:component",
      "title": "Fortune card",
      "description": "A fortune cookie card: click it and the cookie cracks in two, crumbs fall and the slip of paper slides out with your fortune and lucky numbers; click again for another.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/fortune/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-fortune.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-matchbox",
      "type": "registry:component",
      "title": "Matchbox card",
      "description": "A restaurant booking card drawn as a matchbox: on hover the drawer slides out of its printed sleeve with the booking inside, a row of matches beside it.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/matchbox/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-matchbox.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-notebook",
      "type": "registry:component",
      "title": "Notebook card",
      "description": "A reporter's notebook card: on hover the elastic band slips off and the cover flips up and over the spiral to the to-do page underneath.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/notebook/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-notebook.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-rings",
      "type": "registry:component",
      "title": "Rings card",
      "description": "An activity rings card: each ring sweeps round from empty to its share of the goal, a beat after the one outside it, with the totals listed beside them.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/rings/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-rings.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-sparkline",
      "type": "registry:component",
      "title": "Sparkline card",
      "description": "A stock card: on hover the day's price line draws itself across the chart with the area filling under it, and the price counts up from the open to the close as the line arrives.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/sparkline/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-sparkline.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-wallet",
      "type": "registry:component",
      "title": "Wallet card",
      "description": "A leather wallet card: on hover the three cards inside fan up out of the stitched pocket, each to its own angle, a beat apart.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/wallet/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-wallet.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-window-seat",
      "type": "registry:component",
      "title": "Window seat card",
      "description": "A flight card with a cabin window: on hover the shade slides up on clouds drifting past the wing.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/window-seat/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-window-seat.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-achievement",
      "type": "registry:component",
      "title": "Achievement card",
      "description": "Click to unlock an achievement: the badge flips over from a lock to a glowing medal, rays burst behind it and sparks fly out, and the XP bar fills with the points gained. Click again to reset.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/achievement/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-achievement.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-bank-card",
      "type": "registry:component",
      "title": "Bank Card card",
      "description": "A brushed-metal bank card. On hover it lifts and tilts, the contactless waves pulse, and the masked number scrambles into view digit by digit, left to right; leave and it masks again.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/bank-card/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-bank-card.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-bento",
      "type": "registry:component",
      "title": "Bento card",
      "description": "A bento-box dashboard whose four tiles reshuffle into a new layout every couple of seconds, each gliding and resizing to its new place without overlapping the others for long.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/bento/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-bento.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-boarding-pass",
      "type": "registry:component",
      "title": "Boarding Pass card",
      "description": "A flight ticket with a tear-off stub: on hover the little plane flies the dashed route arc from origin to destination, banking to follow the curve.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/boarding-pass/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-boarding-pass.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-chat",
      "type": "registry:component",
      "title": "Chat card",
      "description": "A conversation that plays itself out: typing dots appear, then each message springs in from its own side, until the thread is full and starts again.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/chat/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-chat.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-compass",
      "type": "registry:component",
      "title": "Compass card",
      "description": "A compass card whose needle swings toward the cursor anywhere on the page with a damped wobble, overshooting and settling like a real needle; left alone it hunts gently. The heading and direction read out below.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/compass/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-compass.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-countdown",
      "type": "registry:component",
      "title": "Countdown card",
      "description": "A launch countdown: days, hours, minutes and seconds on rolling digit reels that spring to each new value, with a small ring draining once a minute in the corner.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/countdown/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-countdown.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-cube",
      "type": "registry:component",
      "title": "Cube card",
      "description": "A stats card with four faces on a 3D cube: the arrow buttons turn it to the next face with a springy rotation, and the dots below track which face is showing.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/cube/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-cube.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-dimmer",
      "type": "registry:component",
      "title": "Dimmer card",
      "description": "A smart-light card: drag the wide slider and the bulb fills with light, the card warms with a glow behind it and the readout follows, down to Off.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/dimmer/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-dimmer.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-enhance",
      "type": "registry:component",
      "title": "Enhance card",
      "description": "A photo card that enhances on hover: the picture starts as a few big pixels and resolves step by step, 6, 12, 24, 48 columns and then full resolution, with the resolution shown beside the title.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/enhance/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-enhance.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-focus",
      "type": "registry:component",
      "title": "Focus card",
      "description": "A scene in depth that you focus like a camera: move the pointer up and down and the focus pulls between the far mountains and the near grass, with a distance readout and a scale marker following.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/focus/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-focus.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-folder",
      "type": "registry:component",
      "title": "Folder card",
      "description": "A file folder that opens on hover: the front flap tilts down toward you and the papers inside fan up and out, one after another.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/folder/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-folder.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-gauge",
      "type": "registry:component",
      "title": "Gauge card",
      "description": "A speedometer dial for CPU load: on hover the needle sweeps up from zero with a springy overshoot, the arc fills behind it and the readout counts up to match; leave and it all falls back to zero.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/gauge/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-gauge.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-id-badge",
      "type": "registry:component",
      "title": "ID Badge card",
      "description": "An access badge: on hover a scan line sweeps down it, each field ticks as the line passes its row, and a CLEARED stamp slams onto the photo at the end.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/id-badge/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-id-badge.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-island",
      "type": "registry:component",
      "title": "Island card",
      "description": "A compact now-playing pill with live equaliser bars that morphs into a full player card on hover, Dynamic Island style: it springs wider and taller, and the artwork, progress and controls stagger in once there is room.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/island/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-island.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-layers",
      "type": "registry:component",
      "title": "Layers card",
      "description": "Hover explodes the card into its stacked layers in isometric view, like a design file: surface, media, text and action float apart in depth, each labelled with its name.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/layers/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-layers.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-orbit-profile",
      "type": "registry:component",
      "title": "Orbit Profile card",
      "description": "A profile card whose skill tags orbit the avatar in a tilted ring, passing in front and behind. On hover the orbit stops, the avatar and name lift, and the tags fly down and settle into a neat row.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/orbit-profile/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-orbit-profile.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-pipeline",
      "type": "registry:component",
      "title": "Pipeline card",
      "description": "A deploy pipeline that runs itself: build, test and deploy each spin while they run, tick and hand off along a filling connector to the next, with a log line under the stages narrating every step until it reads Deployed.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/pipeline/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-pipeline.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-planet",
      "type": "registry:component",
      "title": "Planet card",
      "description": "A planet card: a shaded world turns as its cloud bands drift across it, and a small moon orbits, passing behind the planet and then in front of it.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/planet/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-planet.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-polaroid",
      "type": "registry:component",
      "title": "Polaroid card",
      "description": "An instant photo that develops as you hover: the milky film clears and the blurred, flat image sharpens and gains contrast over a couple of seconds, while the print tilts and lifts. A handwritten caption sits on the white border.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/polaroid/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-polaroid.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-pop-out",
      "type": "registry:component",
      "title": "Pop-out card",
      "description": "A framed planet card: on hover the planet breaks out of the frame toward you, rising and growing with a drop shadow, while the frame tilts back and sinks away.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/pop-out/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-pop-out.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-poster",
      "type": "registry:component",
      "title": "Poster card",
      "description": "A type poster: on hover the headline flips letter by letter from MAKE IT to MOVE IT, each letter swinging on its baseline, while hazard stripes slide in across the top and keep moving.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/poster/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-poster.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-qr-assemble",
      "type": "registry:component",
      "title": "QR Assemble card",
      "description": "A ticket card whose QR code assembles itself: at rest it shows random noise, and on hover the modules sort themselves into a code with staggered pops, then the three finder squares spin in and lock into the corners.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/qr-assemble/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-qr-assemble.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-route",
      "type": "registry:component",
      "title": "Route card",
      "description": "A map card where a car drives the route between pins, the road ahead bright and the driven part fading back, while the ETA in the panel counts down to Arrived.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/route/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-route.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-scrubber",
      "type": "registry:component",
      "title": "Scrubber card",
      "description": "A month schedule you flick through: drag or flick the ruler and it glides on with momentum before snapping to a day, the ticks swell under the needle like a dock, and each day's events flip in from the direction you moved.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/scrubber/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-scrubber.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-shatter",
      "type": "registry:component",
      "title": "Shatter card",
      "description": "A sealed mystery card. Click and it cracks from exactly where you clicked into 3D shards that fly apart and fall away, revealing a reward underneath; click again and the shards fly back and reassemble.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/shatter/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-shatter.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-showcase",
      "type": "registry:component",
      "title": "Showcase card",
      "description": "A product on a turntable: a small 3D cube speaker turns slowly on a plinth above its own floor reflection. Hover spins the turntable up without a jump and sweeps a band of light across the card.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/showcase/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-showcase.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-skyline",
      "type": "registry:component",
      "title": "Skyline card",
      "description": "An activity grid as a 3D city: twelve weeks of days become bars that rise in a diagonal wave. Move the pointer and the whole city turns to follow it; hover a bar to light it and read its date and count.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/skyline/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-skyline.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-synth",
      "type": "registry:component",
      "title": "Synth card",
      "description": "A tiny synth module: drag the two knobs to shape a live waveform on the little screen. Freq packs more cycles in; Shape morphs it smoothly from sine through triangle and square to saw.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/synth/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-synth.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-tank",
      "type": "registry:component",
      "title": "Tank card",
      "description": "A storage card filled with liquid. Move the cursor across it and the liquid leans toward you and sloshes, stirring the surface where you cross it; Clean up drains it to a lower level with a splash, and the percentage follows.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/tank/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-tank.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-unfold",
      "type": "registry:component",
      "title": "Unfold card",
      "description": "A folded walking map. Hover and the gatefold flaps swing open in 3D, right then left, the inside catches the light, and the route draws across the map with its stops popping in.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/unfold/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-unfold.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-vinyl",
      "type": "registry:component",
      "title": "Vinyl card",
      "description": "A record in its sleeve: on hover the vinyl slides out of the sleeve and spins up, its grooves catching a fixed sheen, while the tonearm swings in over it a beat later.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/vinyl/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-vinyl.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-voice-note",
      "type": "registry:component",
      "title": "Voice Note card",
      "description": "A voice-note bubble: press play and the waveform fills from left to right as it plays while the timer counts, click anywhere on the waveform to seek, and it stops and resets at the end.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/voice-note/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-voice-note.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-weather",
      "type": "registry:component",
      "title": "Weather card",
      "description": "A weather card with light rain falling behind the reading. Hover brings the storm in: the rain thickens, the cloud darkens, lightning flashes with the sky, and the reading changes to match.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/weather/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-weather.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-x-ray",
      "type": "registry:component",
      "title": "X-Ray card",
      "description": "A finished card with an x-ray lens: move the pointer over it and a round lens follows, showing the wireframe underneath, the same layout drawn as dashed boxes on a grid with each element's spec.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/x-ray/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-x-ray.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-diorama",
      "type": "registry:component",
      "title": "Diorama card",
      "description": "A paper-cut landscape behind a window frame. On hover the card turns in 3D and its four paper layers (sky, far mountains, near hills, frame) pull apart in depth, each casting a shadow on the next; the cursor keeps steering the turn.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/diorama/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-diorama.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-envelope",
      "type": "registry:component",
      "title": "Envelope card",
      "description": "An envelope with a seal. On hover the flap swings open in 3D and, once past edge-on, drops behind the letter through a delayed z-index; then an invitation card slides up out of the pocket. Leaving reverses it in order. Pure CSS.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/envelope/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-envelope.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-holo",
      "type": "registry:component",
      "title": "Holo Foil card",
      "description": "A collectible trading card. It tilts toward the cursor while a silver holographic foil (light bands plus a sparkle screen, colour-dodged) slides across it and a glare follows the light, like a rare card turned under a lamp.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/holo/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-holo.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-ink-reveal",
      "type": "registry:component",
      "title": "Ink Reveal card",
      "description": "A liquid blob of ink trails the cursor across the card, a head and a tapering tail of droplets melting together through an SVG goo filter inside an alpha mask, and wherever it flows it reveals an inverted version of the card. A click floods the whole card.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/ink-reveal/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-ink-reveal.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-lenticular",
      "type": "registry:component",
      "title": "Lenticular card",
      "description": "A ridged plastic lenticular card holding two pictures. Moving across it tilts the card and switches day to night through interleaved strips that widen with a registered custom property, flickering exactly like printed lenticulars, with a sheen running along the ridges.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/lenticular/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-lenticular.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-peel",
      "type": "registry:component",
      "title": "Peel card",
      "description": "A sticker on a card. Hovering curls its corner; drag the corner and it peels back along a true fold line (the perpendicular bisector of corner and pointer), the sticker clipped on one side and its paper underside mirrored on the other, revealing what is beneath. Pull far enough and it comes off; click the corner to stick it back.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/peel/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-peel.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-receipt",
      "type": "registry:component",
      "title": "Receipt card",
      "description": "A payment terminal card. On hover its light blinks and a receipt prints out of the slot in steps() jerks like a thermal printer, line items, total and barcode, with a torn zigzag edge from a conic-gradient mask; leaving pulls it back in smoothly. Pure CSS.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/receipt/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-receipt.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-scratch",
      "type": "registry:component",
      "title": "Scratch-off card",
      "description": "A scratch card. Drag across the silver foil (a canvas) to erase it with destination-out strokes while flakes fall from the scratch; once about half is gone the rest dissolves and the prize pops. Keyboard users get a Reveal button, and Scratch again resets it.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/scratch/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-scratch.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-swipe-deck",
      "type": "registry:component",
      "title": "Swipe Deck card",
      "description": "A deck of cards you fling. Drag the top card and it tilts with the throw while a Keep or Skip stamp fades in by direction; let go far enough and it flies off and tucks in at the back of the deck as the next card rises. Arrow keys swipe too.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/swipe-deck/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-swipe-deck.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-trifold",
      "type": "registry:component",
      "title": "Tri-fold card",
      "description": "A folded brochure showing its cover. On hover the right panel swings open, then the left, each shading as it turns away from the light, laying out three steps side by side; leaving folds it back up in reverse order. Pure CSS.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/trifold/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-trifold.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-aurora",
      "type": "registry:component",
      "title": "Aurora card",
      "description": "Three blurred light blobs of different brightness drift slowly behind the card content; on hover the aurora blooms brighter and wider. Pure CSS keyframes, no dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/aurora/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-aurora.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-border-glow",
      "type": "registry:component",
      "title": "Border Glow card",
      "description": "A conic highlight spins continuously around the card edge; on hover it brightens to white and casts a soft blurred halo. Uses @property for the angle and a transitionable colour.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/border-glow/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-border-glow.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-color-reveal",
      "type": "registry:component",
      "title": "Color Reveal card",
      "description": "A solid mid-gray overlay slides up from the bottom on hover, fully covering the card with secondary content. Pure CSS transitions, no dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/color-reveal/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-color-reveal.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-flip",
      "type": "registry:component",
      "title": "Flip card",
      "description": "Card rotates 180° on the Y axis on hover to reveal a back face. Uses CSS preserve-3d and backface-visibility for a physical 3D flip.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/flip/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-flip.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-glitch",
      "type": "registry:component",
      "title": "Glitch card",
      "description": "On hover, two ghost copies of the card clip to random horizontal bands and translate sideways (one inverted, one overexposed), simulating a corrupted signal. Pure CSS keyframes with step() timing for a digital glitch aesthetic.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/glitch/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-glitch.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-gradient-drift",
      "type": "registry:component",
      "title": "Gradient Drift card",
      "description": "The card header runs a multi-stop grayscale gradient that slowly drifts left-to-right in a continuous loop: an ambient living colour effect. Pure CSS, no dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/gradient-drift/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-gradient-drift.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-hover-lift",
      "type": "registry:component",
      "title": "Hover Lift card",
      "description": "Card floats upward and casts a deeper shadow on hover. Spring overshoot easing gives it a satisfying pop. Pure CSS transitions, no dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/hover-lift/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-hover-lift.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-magnetic",
      "type": "registry:component",
      "title": "Magnetic card",
      "description": "Card layers move toward the cursor at different strengths (the orb the most, the backdrop at 30%, the text at 15%), creating a parallax depth illusion without any 3D rotation or perspective.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/magnetic/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-magnetic.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-neon-glow",
      "type": "registry:component",
      "title": "Neon Glow card",
      "description": "On hover the card border lights up in silver and a layered box-shadow creates a bright neon halo effect. Pure CSS transitions, no dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/neon-glow/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-neon-glow.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-shimmer",
      "type": "registry:component",
      "title": "Shimmer card",
      "description": "A bright diagonal light streak sweeps across the card on hover using a CSS ::after pseudo-element, and the border stays lit while hovered. Resets instantly on mouse-leave. Pure CSS, no dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/shimmer/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-shimmer.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-spotlight",
      "type": "registry:component",
      "title": "Spotlight card",
      "description": "A soft radial light fades in and follows the cursor across the card, like a torch, while the border lights up. Pure CSS + mouse tracking, no dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/spotlight/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-spotlight.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-stack",
      "type": "registry:component",
      "title": "Stack card",
      "description": "Three layered cards sit in a tight stack at rest. On hover they fan outward (back card rotates −6° and slides left, middle rotates +5° and slides right, front card lifts upward), using a spring cubic-bezier that physically overshoots before settling.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/stack/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-stack.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-tilt",
      "type": "registry:component",
      "title": "Tilt card",
      "description": "Card tilts in 3D toward the cursor using CSS perspective and rotateX/Y driven by mouse position. Springs back to flat on leave.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/tilt/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-tilt.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-typewriter",
      "type": "registry:component",
      "title": "Typewriter card",
      "description": "Hover erases the card title and description character-by-character then retypes new content, terminal-style with a blinking cursor visible during the erase/type phases. Mouse leave reverses the animation back to the original text.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/typewriter/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-typewriter.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "card-wipe-reveal",
      "type": "registry:component",
      "title": "Wipe Reveal card",
      "description": "Hover sweeps a clip-path from inset(0 0 100% 0) to inset(0 0 0 0): a bottom-to-top wipe that reveals hidden card content. A placeholder state fades out simultaneously. Sharp cubic-bezier easing gives the reveal a crisp, decisive feel.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "cards"
      ],
      "meta": {
        "url": "https://movin.design/components/cards/wipe-reveal/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/card-wipe-reveal.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-ballot",
      "type": "registry:component",
      "title": "Ballot checkbox",
      "description": "An I voted checkbox: ticking it drops the folded ballot down through the slot into the box with a little thunk; unticking lifts it back out.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/ballot/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-ballot.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-bow",
      "type": "registry:component",
      "title": "Bow checkbox",
      "description": "A gift wrap checkbox: ticking it, a ribbon crosses the box in two bands, the knot cinches, the loops spring out and the tails fall last.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/bow/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-bow.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-bubble",
      "type": "registry:component",
      "title": "Bubble checkbox",
      "description": "A bubble wrap checkbox: ticking pops the bubble with a squash and a burst of lines; unticking puffs it back up.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/bubble/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-bubble.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-chalk",
      "type": "registry:component",
      "title": "Chalk checkbox",
      "description": "A lesson done checkbox drawn in chalk: ticking it scrawls a grainy tick inside a hand-drawn box and a little dust falls from it.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/chalk/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-chalk.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-paperclip",
      "type": "registry:component",
      "title": "Paperclip checkbox",
      "description": "An attach receipt checkbox: ticking it, a paperclip slides down onto the crooked receipt and grips it, and the paper springs level under it.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/paperclip/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-paperclip.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-pushpin",
      "type": "registry:component",
      "title": "Pushpin checkbox",
      "description": "A pin to board checkbox: ticking it drops a pin into the crooked note card and the card swings level on the board.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/pushpin/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-pushpin.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-sticker",
      "type": "registry:component",
      "title": "Sticker checkbox",
      "description": "A favourite checkbox: ticking it slaps a star sticker down at an angle, it flattens out and settles, and a sheen sweeps across it.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/sticker/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-sticker.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-toaster",
      "type": "registry:component",
      "title": "Toaster checkbox",
      "description": "A breakfast included checkbox: ticking it pops the toast up out of the toaster with a bounce, browned and ready, as the lever goes up.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/toaster/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-toaster.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-wax",
      "type": "registry:component",
      "title": "Wax checkbox",
      "description": "A seal and send checkbox: ticking it, the envelope flap folds shut in 3D and a wax seal drops onto it with a soft press.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/wax/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-wax.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-wick",
      "type": "registry:component",
      "title": "Wick checkbox",
      "description": "A candlelight checkbox: ticking it, the wick catches and a flame flickers up with a soft glow; unticking, it gutters out in a thread of smoke.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/wick/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-wick.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-blocks",
      "type": "registry:component",
      "title": "Blocks checkbox",
      "description": "A falling blocks checkbox: ticking drops pixel blocks into the box row by row until they stack into a tick, each squashing as it lands; unticking clears the line with a flash.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/blocks/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-blocks.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-calendar",
      "type": "registry:component",
      "title": "Calendar checkbox",
      "description": "A tear-off calendar checkbox: ticking flips today's page up over the binding to show the day ticked off underneath; unticking flips it back down.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/calendar/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-calendar.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-catapult",
      "type": "registry:component",
      "title": "Catapult checkbox",
      "description": "A catapult checkbox: ticking swings the arm and flings the tick in a spinning arc into the box, which lights as it lands; unticking hops it back into the cup.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/catapult/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-catapult.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-claw",
      "type": "registry:component",
      "title": "Claw checkbox",
      "description": "A claw machine checkbox: ticking lowers the claw into the bin, opens it and lets the tick drop; unticking sends it back down to grab the tick and lift it out again.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/claw/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-claw.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-coin",
      "type": "registry:component",
      "title": "Coin checkbox",
      "description": "A tip jar checkbox: ticking drops the coin into the slot, the machine clunks and its little display lights with a tick; unticking pops the coin back out.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/coin/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-coin.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-crt",
      "type": "registry:component",
      "title": "CRT checkbox",
      "description": "A tiny CRT screen checkbox: ticking powers the tube on from a line to a glowing tick behind scanlines; unticking collapses the picture to a line, then a dot that fades.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/crt/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-crt.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-dart",
      "type": "registry:component",
      "title": "Dart checkbox",
      "description": "A dartboard checkbox: ticking throws a dart into the bullseye, the board jolts, a ring flashes and the dart quivers before it settles; unticking pulls it out.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/dart/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-dart.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-deboss",
      "type": "registry:component",
      "title": "Deboss checkbox",
      "description": "A letterpress checkbox: ticking brings a press plate down onto a paper square, it gives under the pressure, and the plate lifts to leave the tick pressed into the paper with a shadow and a highlight.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/deboss/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-deboss.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-dovetail",
      "type": "registry:component",
      "title": "Dovetail checkbox",
      "description": "A woodwork checkbox: the second half of a dovetail joint slides down into the first, completing the tick that runs across both, and the joint thuds as it seats.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/dovetail/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-dovetail.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-etch",
      "type": "registry:component",
      "title": "Etch checkbox",
      "description": "A sketch toy checkbox: ticking turns the two knobs and a line draws the tick on the screen; unticking shakes the toy and the drawing fades away.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/etch/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-etch.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-filament",
      "type": "registry:component",
      "title": "Filament checkbox",
      "description": "A light bulb checkbox whose filament is the tick: ticking flickers it on until it glows with a halo; unticking lets it cool slowly, the way a real filament does.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/filament/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-filament.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-gears",
      "type": "registry:component",
      "title": "Gears checkbox",
      "description": "A gears checkbox: two meshed gears turn together, the small one the other way and faster, until the tick on the big gear stands upright and lights.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/gears/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-gears.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-gift",
      "type": "registry:component",
      "title": "Gift checkbox",
      "description": "A present checkbox: ticking pops the lid off the box, it flies up and lands askew, and a tick springs out of the box; unticking sinks the tick and closes the lid.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/gift/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-gift.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-highlighter",
      "type": "registry:component",
      "title": "Highlighter checkbox",
      "description": "A checkbox that highlights its own label: ticking, a marker nib swipes across the text leaving a skewed band of ink, and the box fills with the same ink; unticking, the band retracts from the right.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/highlighter/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-highlighter.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-hoop",
      "type": "registry:component",
      "title": "Hoop checkbox",
      "description": "A basketball checkbox: ticking shoots the ball in an arc through the hoop, the net swishes and the backboard lights with a tick; unticking rolls the ball back.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/hoop/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-hoop.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-invisible-ink",
      "type": "registry:component",
      "title": "Invisible Ink checkbox",
      "description": "An invisible ink checkbox: ticking sweeps a UV light across the box, showing the hidden tick only where the light shines, then the whole tick lights up and glows.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/invisible-ink/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-invisible-ink.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-jelly",
      "type": "registry:component",
      "title": "Jelly checkbox",
      "description": "A jelly cube checkbox: ticking squashes it and it wobbles, stretching tall and wide in turn, while the tick drops in and sets; unticking gives a smaller wobble.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/jelly/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-jelly.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-mailbox",
      "type": "registry:component",
      "title": "Mailbox checkbox",
      "description": "A mailbox checkbox: ticking slides a letter in through the door and then swings the flag up with a bounce, lighting it; unticking lowers the flag again.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/mailbox/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-mailbox.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-marble",
      "type": "registry:component",
      "title": "Marble checkbox",
      "description": "A marble run checkbox: ticking rolls a marble down the ramp, over the edge and into the hole in the box, where it lands with a bounce and the hole glows; unticking pops it back up the ramp.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/marble/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-marble.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-markdown",
      "type": "registry:component",
      "title": "Markdown checkbox",
      "description": "A Markdown task checkbox: ticking blinks a caret between the brackets and types an x into them; unticking deletes it, and the task text dims while it is done.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/markdown/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-markdown.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-merge",
      "type": "registry:component",
      "title": "Merge checkbox",
      "description": "A git branch checkbox: ticking draws the branch curving back into main, the merge commit fills with a tick and pulses; unticking leaves the branch open again.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/merge/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-merge.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-pencil",
      "type": "registry:component",
      "title": "Pencil checkbox",
      "description": "A checkbox with a pencil in it: ticking, the pencil sweeps in and sketches a hand-drawn tick; unticking, it flips round and the eraser scrubs the mark out, shedding crumbs.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/pencil/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-pencil.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-pluck",
      "type": "registry:component",
      "title": "Pluck checkbox",
      "description": "A string checkbox: the tick is a string between two pins. Ticking pulls its middle down taut into a tick; unticking lets go and it twangs back and forth across the line before it settles.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/pluck/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-pluck.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-polaroid",
      "type": "registry:component",
      "title": "Polaroid checkbox",
      "description": "An instant photo checkbox: ticking gives the print a shake and the picture slowly develops, from dark and blurred to a sharp tick over a little landscape.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/polaroid/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-polaroid.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-popup",
      "type": "registry:component",
      "title": "Pop-up checkbox",
      "description": "A pop-up book checkbox: the tick lies folded flat on an open book in perspective, and ticking makes it spring up and stand out of the page, casting a soft shadow.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/popup/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-popup.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-punch",
      "type": "registry:component",
      "title": "Punch checkbox",
      "description": "A boarding-pass checkbox: ticking brings a ticket punch down on the stub, it bites a tick-shaped hole, the chad tumbles out and the ticket jolts.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/punch/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-punch.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-receipt",
      "type": "registry:component",
      "title": "Receipt checkbox",
      "description": "A receipt checkbox: ticking prints a receipt out of the slot line by line, ending in a tick, and the printer light comes on; unticking pulls it back in.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/receipt/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-receipt.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-scan",
      "type": "registry:component",
      "title": "Scan checkbox",
      "description": "A ticket scanner checkbox: ticking sweeps a laser line down and back over a code, it flashes, and the code dissolves into a tick; unticking rebuilds the code.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/scan/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-scan.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-spotlight",
      "type": "registry:component",
      "title": "Spotlight checkbox",
      "description": "A spotlight checkbox: ticking swings a spotlight round onto the box, its beam lights the floor, and the tick appears in the light; unticking turns it away and dark.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/spotlight/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-spotlight.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-stencil",
      "type": "registry:component",
      "title": "Stencil checkbox",
      "description": "A stencil checkbox: ticking, a metal plate with a tick cut out of it drops over the box, a burst of spray mist puffs, and the plate lifts away to leave a crisp painted tick with overspray round it.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/stencil/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-stencil.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-swipe",
      "type": "registry:component",
      "title": "Swipe checkbox",
      "description": "A swipe-to-complete checkbox: ticking slides the task card aside to show a tick beneath, springs it back, fills its circle and strikes the text through; unticking nudges it the other way.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/swipe/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-swipe.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-sync",
      "type": "registry:component",
      "title": "Sync checkbox",
      "description": "A sync checkbox: ticking spins the two sync arrows round and fades them into a ring that draws closed with a tick inside; unticking brings the arrows back.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/sync/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-sync.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-tape",
      "type": "registry:component",
      "title": "Tape checkbox",
      "description": "A packing checkbox: ticking slaps a strip of masking tape with a marker tick across the box, landing at a slight angle; unticking peels it away and off.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/tape/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-tape.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-tiles",
      "type": "registry:component",
      "title": "Tiles checkbox",
      "description": "A puzzle checkbox: four scrambled tiles each turned a different way rotate back into place one after another, and the tick they make lights up.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/tiles/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-tiles.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-zip",
      "type": "registry:component",
      "title": "Zip checkbox",
      "description": "A zip checkbox: ticking runs the slider along the zip, the teeth lock together one after another behind it, and the pull tab swings and shows a tick; unticking unzips from the far end.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/zip/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-zip.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-bookmark",
      "type": "registry:component",
      "title": "Bookmark checkbox",
      "description": "A bookmark icon as the checkbox. Checking pours a ribbon of fill down from its top and the whole ribbon swings on its pin a few times before it hangs still; unchecking drains it back up. Pure CSS.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/bookmark/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-bookmark.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-dog-ear",
      "type": "registry:component",
      "title": "Dog-ear checkbox",
      "description": "Checking turns the box into a sheet of paper and folds its top corner down in 3D, the way you dog-ear a page you have read, showing the paper's darker underside. Pure CSS.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/dog-ear/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-dog-ear.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-fingerprint",
      "type": "registry:component",
      "title": "Fingerprint checkbox",
      "description": "Press and hold to confirm. While held, the fingerprint's ridges light up one by one from the centre outwards; let go early and they drain away. Held to the end, it checks and a badge pops in. Space still toggles it from the keyboard.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/fingerprint/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-fingerprint.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-keycap",
      "type": "registry:component",
      "title": "Keycap checkbox",
      "description": "A mechanical keyboard key. Pressing it travels down as its side wall shrinks; checked, it latches half-way down like Caps Lock and the LED on the cap glows. Pure CSS.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/keycap/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-keycap.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-select-all",
      "type": "registry:component",
      "title": "Select All checkbox",
      "description": "A parent checkbox over a branch of children. Checking the parent cascades down the branch one child after another; checking only some children turns the parent into an animated half-state dash that becomes a tick when the last one is done.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/select-all/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-select-all.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-smile",
      "type": "registry:component",
      "title": "Smile checkbox",
      "description": "A little face as the checkbox. Unchecked it is a dark, straight-faced circle; checked it lights up with a bounce, the flat mouth swaps for a drawn smile and the dot eyes curve into happy arcs.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/smile/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-smile.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-sort-list",
      "type": "registry:component",
      "title": "Sorting List checkbox",
      "description": "A short to-do list that tidies itself. Checking a task slides it down below the open ones while the others glide up into its place, and a progress bar over the list fills and counts; unchecking floats it back up.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/sort-list/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-sort-list.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-sprout",
      "type": "registry:component",
      "title": "Sprout checkbox",
      "description": "Checking plants a seed: the box fills and ticks, then a stem grows up out of its top edge and two leaves unfurl one after the other before the little plant starts to sway. Unchecking pulls the sprout back into the soil.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/sprout/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-sprout.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-stitch",
      "type": "registry:component",
      "title": "Stitch checkbox",
      "description": "The box is a patch of fabric and the tick is sewn in: a needle runs along the tick leaving dashed stitches behind it one by one, then slips away. Unchecking pulls the thread out. Pure CSS.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/stitch/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-stitch.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-strike-task",
      "type": "registry:component",
      "title": "Strike Task checkbox",
      "description": "A to-do row. Checking ticks the box with a pen stroke, then a hand-drawn scribble runs through the task text, out and back, as the text greys out; unchecking rubs it out.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/strike-task/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-strike-task.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-bounce",
      "type": "registry:component",
      "title": "Bounce checkbox",
      "description": "A checkbox that plays a spring-bounce keyframe animation on the box itself when toggled: compresses then overshoots on check, lightly expands then settles on uncheck. Fill and border color transition simultaneously.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/bounce/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-bounce.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-charging",
      "type": "registry:component",
      "title": "Charging checkbox",
      "description": "A light gray progress bar fills left-to-right inside the box over 600ms like a battery charging. When full, the bar fades and a check mark springs in. Unchecking drains the bar.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/charging/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-charging.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-check-pop",
      "type": "registry:component",
      "title": "Check Pop checkbox",
      "description": "A checkbox where the SVG checkmark springs into view with a scale overshoot (cubic-bezier spring) on check and collapses instantly on uncheck. No keyframes needed: pure CSS transition on the SVG transform.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/check-pop/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-check-pop.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-circle",
      "type": "registry:component",
      "title": "Circle checkbox",
      "description": "No box: a circular ring indicator. On check, an SVG circle stroke draws around the full circumference via strokeDashoffset, then the check mark springs into the center. Completely different shape from square checkboxes.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/circle/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-circle.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-confetti",
      "type": "registry:component",
      "title": "Confetti checkbox",
      "description": "On check, 8 grayscale confetti pieces (alternating rectangles and circles) burst radially outward from the center in all directions, rotating and fading as they travel. Playful and celebratory.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/confetti/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-confetti.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-crystal-break",
      "type": "registry:component",
      "title": "Crystal Break checkbox",
      "description": "On toggle, the box visually shatters into three angled polygonal shards that briefly separate outward, then collapse back revealing the new state. A satisfying destructive-reassembly metaphor.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/crystal-break/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-crystal-break.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-curtain",
      "type": "registry:component",
      "title": "Curtain checkbox",
      "description": "Two gray half-panels slide apart like theater curtains on check, revealing the check mark behind them. Unchecking slides the panels back in to conceal it.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/curtain/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-curtain.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-draw-check",
      "type": "registry:component",
      "title": "Draw Check checkbox",
      "description": "A checkbox where the SVG checkmark stroke draws itself on via stroke-dashoffset when checked, combined with a brief scale pop on the box. The path writes itself left-to-right rather than snapping in.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/draw-check/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-draw-check.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-fire-fill",
      "type": "registry:component",
      "title": "Fire Fill checkbox",
      "description": "Animated flame gradient rises from the box bottom with a jagged flickering top edge (clip-path polygon keyframes). Light-to-dark gray fill with continuous flicker: clearly distinct from liquid (smooth, no animation while filled).",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/fire-fill/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-fire-fill.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-flip",
      "type": "registry:component",
      "title": "Flip checkbox",
      "description": "A checkbox that performs a full 360° Y-axis coin flip via CSS keyframes when toggled. The fill color and stroke-dashoffset check mark transition during the rotation.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/flip/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-flip.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-ghost-through",
      "type": "registry:component",
      "title": "Ghost Through checkbox",
      "description": "The box fades to near-translucency while the check mark materializes through it, then the box fades back to solid, creating a \"materializing through\" ghost effect. Eerie and subtle.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/ghost-through/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-ghost-through.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-glitch",
      "type": "registry:component",
      "title": "Glitch checkbox",
      "description": "On toggle, light and dark ghost overlays jitter in opposite X directions and a horizontal scan line sweeps through, creating a digital corruption/glitch effect before resolving to the new state.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/glitch/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-glitch.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-gravity-drop",
      "type": "registry:component",
      "title": "Gravity Drop checkbox",
      "description": "The check mark falls from above the box with realistic gravity physics, accelerates in, overshoots slightly, bounces twice, then settles. Unchecking tosses it back upward and fades it out.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/gravity-drop/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-gravity-drop.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-heartbeat",
      "type": "registry:component",
      "title": "Heartbeat checkbox",
      "description": "On check, a tiny SVG ECG heartbeat line draws across the box using stroke-dashoffset, then fades while the check mark reveals. Dark background with a soft white trace. Medical/vital signs aesthetic.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/heartbeat/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-heartbeat.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-ink-blot",
      "type": "registry:component",
      "title": "Ink Blot checkbox",
      "description": "The box fill spreads via border-radius morphing through organic amoeba/blob shapes, animating through asymmetric four-corner border-radius values before settling square again. Feels like ink spreading.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/ink-blot/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-ink-blot.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-laser-draw",
      "type": "registry:component",
      "title": "Laser Draw checkbox",
      "description": "The check mark draws itself with a glowing white laser effect using stroke-dashoffset animation and a pulsing drop-shadow filter. Visually distinct from draw-check: hot, fiery, continuous glow.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/laser-draw/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-laser-draw.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-liquid",
      "type": "registry:component",
      "title": "Liquid checkbox",
      "description": "A silver liquid rises from the bottom of the box using translateY on a fill layer inside overflow:hidden. A faint curved surface ripple rides the top of the liquid. The check springs in after the fill completes.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/liquid/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-liquid.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-morph-line",
      "type": "registry:component",
      "title": "Morph Line checkbox",
      "description": "A short horizontal line morphs into a check mark using SVG path d attribute animation, extending first, then bending into the check V-shape. Unchecking reverses the morph back to a line.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/morph-line/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-morph-line.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-neon",
      "type": "registry:component",
      "title": "Neon checkbox",
      "description": "A dark box with a near-invisible border that transforms into a white neon sign on check. A brief 400ms flicker keyframe (simulating a neon tube buzzing to life) plays on activation. The check stroke has a drop-shadow glow matching the neon color.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/neon/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-neon.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-orbit-snap",
      "type": "registry:component",
      "title": "Orbit Snap checkbox",
      "description": "A glowing white dot orbits the checkbox perimeter for ~700ms on check, then vanishes and the check mark snaps in. Unchecking instantly removes the check. Gives a satisfying \"loading then locking\" sequence.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/orbit-snap/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-orbit-snap.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-pixel-fill",
      "type": "registry:component",
      "title": "Pixel Fill checkbox",
      "description": "A checkbox whose interior is a 4×4 grid of micro-squares that fill in one by one in a randomised stagger order on check, and clear in reverse on uncheck. Retro pixel game aesthetic.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/pixel-fill/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-pixel-fill.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-pressure-dip",
      "type": "registry:component",
      "title": "Pressure Dip checkbox",
      "description": "The entire box squishes flat (scaleY 0.28) under simulated finger pressure then springs back up with an overshoot, revealing the checked fill. Distinct from raised (3D): this is a flat squeeze-and-spring.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/pressure-dip/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-pressure-dip.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-pulse-ring",
      "type": "registry:component",
      "title": "Pulse Ring checkbox",
      "description": "A checkbox that emits a gray ring radiating outward (scale 1→2.4, opacity 0.65→0) when checked. The ring only fires on check, not uncheck. The check mark draws in via stroke-dashoffset.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/pulse-ring/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-pulse-ring.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-radar-sweep",
      "type": "registry:component",
      "title": "Radar Sweep checkbox",
      "description": "A conic gradient sweeps clockwise from the top, filling the box like a radar scan over ~700ms. The check mark appears once the sweep completes. Driven by a requestAnimationFrame loop.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/radar-sweep/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-radar-sweep.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-raised",
      "type": "registry:component",
      "title": "Raised checkbox",
      "description": "The checked state looks physically raised off the surface. A sphere-like radial gradient (silver → dark gray) combined with six layered box-shadows (rim highlight, outer glow, ground lift shadow, inner top shine, inner bottom depth) creates a convincing 3D embossed button. The box also lifts 1px on the Y axis. Flat and recessed when unchecked.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/raised/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-raised.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-retro-led",
      "type": "registry:component",
      "title": "Retro LED checkbox",
      "description": "The box interior is a 5×5 dot matrix. On check, white LEDs light up in a staggered sequence that traces a check-mark pattern through the grid. Off state: all dots dim. Retro display aesthetic.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/retro-led/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-retro-led.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-ripple-fill",
      "type": "registry:component",
      "title": "Ripple Fill checkbox",
      "description": "A circular gray fill expands from the center outward via clip-path circle animation, like a water-drop ripple filling the box. The check mark fades in after the fill completes.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/ripple-fill/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-ripple-fill.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-round-morph",
      "type": "registry:component",
      "title": "Round Morph checkbox",
      "description": "The checkbox shape morphs from a rounded square (7px radius) to a perfect circle on check via animated border-radius with a spring overshoot. Clean and satisfying shape transformation.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/round-morph/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-round-morph.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-scratch",
      "type": "registry:component",
      "title": "Scratch checkbox",
      "description": "A diagonal clip-path wipe reveals the filled checked state from the bottom-right corner, like scratching a lottery card. Unchecking collapses the fill back.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/scratch/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-scratch.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-shake-lock",
      "type": "registry:component",
      "title": "Shake Lock checkbox",
      "description": "The box rattles in a rapid X-axis jitter sequence as if locking in, then snaps to the checked silver fill. Unchecking plays a shorter reverse shake. Kinetic, mechanical feel.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/shake-lock/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-shake-lock.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-shutter",
      "type": "registry:component",
      "title": "Shutter checkbox",
      "description": "The checked fill opens like a camera iris/shutter using clip-path polygon animation: panels spread outward from a collapsed line to full coverage. Sharp, mechanical feel.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/shutter/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-shutter.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-spark-trail",
      "type": "registry:component",
      "title": "Spark Trail checkbox",
      "description": "On check, 8 short white spark-streaks shoot outward in all directions and fade quickly, like an electric discharge. More energy-focused and rapid than confetti: pure white, no color variation.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/spark-trail/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-spark-trail.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-stamp",
      "type": "registry:component",
      "title": "Stamp checkbox",
      "description": "The check mark crashes down from above like a rubber stamp, with a blur-to-focus motion and six ink-splatter dots radiating outward on impact. Dramatic and tactile.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/stamp/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-stamp.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-tilt-hover",
      "type": "registry:component",
      "title": "Tilt Hover checkbox",
      "description": "On hover, the box tilts in 3D perspective (rotateX + rotateY) giving depth and a subtle lift shadow. Clicking snaps it flat and fills with mid-gray. The tilt resets once checked.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/tilt-hover/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-tilt-hover.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox-x-to-check",
      "type": "registry:component",
      "title": "X to Check checkbox",
      "description": "Both states have visible content: unchecked shows a dim × (reject), checked shows a ✓ on a solid fill (approve). The × rotates away as the ✓ rotates in. The box shifts from faint to solid. A clear reject→approve narrative.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "checkboxes"
      ],
      "meta": {
        "url": "https://movin.design/components/checkboxes/x-to-check/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/checkbox-x-to-check.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-card-number",
      "type": "registry:component",
      "title": "Card number input",
      "description": "A card payment field: digits drop onto the card face in groups of four as you type, and the card turns over to its signature strip while you enter the security code.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/card-number/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-card-number.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-dial-time",
      "type": "registry:component",
      "title": "Dial time input",
      "description": "A pickup time field: type a 24-hour time and the clock beside it sweeps its hands round to the time with a little overshoot, and says whether it is morning, afternoon or night.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/dial-time/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-dial-time.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-haiku",
      "type": "registry:component",
      "title": "Haiku input",
      "description": "A haiku field in three lines with syllable beads beside each one that fill as you write five, seven and five; go over and the extra shows, and get all three right for a seal to stamp down.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/haiku/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-haiku.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-match",
      "type": "registry:component",
      "title": "Match input",
      "description": "A confirm password pair: beads between the two fields light and link up as each character of the confirmation matches, shake at the first wrong one, and close into a chain when they all match.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/match/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-match.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-monogram",
      "type": "registry:component",
      "title": "Monogram input",
      "description": "An engraving name field: as you type your name, your initials set themselves into an interlocked monogram in the crest above, the second letter in italic, each rising out of a blur.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/monogram/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-monogram.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-overflow",
      "type": "registry:component",
      "title": "Overflow input",
      "description": "A short bio field with a limit: letters past it sag off the end of the line, each a little lower than the last, struck through as if spilling over, and the count turns into how many too many.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/overflow/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-overflow.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-pin-drop",
      "type": "registry:component",
      "title": "Pin drop input",
      "description": "A meeting place field: type a city and once it can only be one place, a pin drops onto a dotted world map where it is, a ripple rings out and the country appears in the field.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/pin-drop/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-pin-drop.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-postal",
      "type": "registry:component",
      "title": "Postal input",
      "description": "A postcode field drawn as postage stamps: each character is stamped into its own perforated stamp at a slight angle, and the row is franked with wavy lines once it is complete.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/postal/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-postal.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-quill",
      "type": "registry:component",
      "title": "Quill input",
      "description": "A dedication field written with a quill: the quill rides the end of your words, fresh letters land in wet ink that blooms and then dries, and every few words it dips back in the pot.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/quill/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-quill.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-scrub",
      "type": "registry:component",
      "title": "Scrub input",
      "description": "A number field you can drag: pull sideways on its label and a ruler slides under the value as it scrubs, Shift for steps of ten; or type, or use the arrow keys.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/scrub/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-scrub.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-angle",
      "type": "registry:component",
      "title": "Angle input",
      "description": "A dial for gradient angles: drag round the ring and the hand follows, pulling toward each 45-degree mark (Shift snaps to 15), the nearest tick lights, and the number field and a live gradient swatch follow.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/angle/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-angle.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-calc",
      "type": "registry:component",
      "title": "Calc input",
      "description": "An amount field that does arithmetic: type a sum and the total rolls in beside it digit by digit; Enter swaps the total in with a flash and keeps the sum it came from as a note below.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/calc/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-calc.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-cipher",
      "type": "registry:component",
      "title": "Cipher input",
      "description": "A password field where every character scrambles through glyphs for a moment before it settles into a dot. Show decodes them all in a wave into the real characters; Hide scrambles them back.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/cipher/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-cipher.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-combination",
      "type": "registry:component",
      "title": "Combination input",
      "description": "A safe dial: spin it by dragging round, scrolling with the arrow keys, read the number under the marker, and enter three numbers in turn. When all three are set, the bolt slides open.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/combination/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-combination.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-constellation",
      "type": "registry:component",
      "title": "Constellation input",
      "description": "Make a wish: every letter you type becomes a star in the night sky above the field, joined to the previous one by a line that draws in, and the whole figure glides to stay centred as it grows.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/constellation/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-constellation.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-convert",
      "type": "registry:component",
      "title": "Convert input",
      "description": "A unit converter in one field: type a value with a unit (km, mi, m, ft, kg, g, lb, °C, °F) and every conversion in that family appears below, each number counting to its new value as you edit.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/convert/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-convert.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-date-range",
      "type": "registry:component",
      "title": "Date Range input",
      "description": "A stay-dates calendar: pick a first night and a band previews the stay as you hover, then pick the last night and the band settles, gliding across each week row to join the two days.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/date-range/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-date-range.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-detent",
      "type": "registry:component",
      "title": "Detent input",
      "description": "A size slider with detents: the thumb drags sticky against each stop and quick between them, clicks into place with a ring at each new size, and springs onto the nearest stop when you let go.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/detent/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-detent.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-domain",
      "type": "registry:component",
      "title": "Domain input",
      "description": "An email field that finishes the domain for you: after the @ it ghost-completes the likeliest domain, the arrow keys cycle through the alternatives, and Tab accepts with a sweep under the field. A tick draws in once the address is valid.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/domain/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-domain.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-drum",
      "type": "registry:component",
      "title": "Drum input",
      "description": "An alarm-time picker made of 3D drums: hour, minute and AM/PM wheels you drag, scroll or arrow through. The numbers sit round real cylinders that turn under a raised lens and snap to the nearest row.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/drum/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-drum.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-elastic",
      "type": "registry:component",
      "title": "Elastic input",
      "description": "A volume slider with rubber-band ends: pull past either end and the track stretches and thins with growing resistance, then snaps back with a wobble. The thumb squashes with your speed and the value bubble leans with it.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/elastic/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-elastic.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-extrude",
      "type": "registry:component",
      "title": "Extrude input",
      "description": "A headline field that renders your text as solid 3D type above it: the extrusion turns to face the pointer, swaying gently on its own when you are elsewhere, and each new letter pops out of the depth.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/extrude/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-extrude.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-flapboard",
      "type": "registry:component",
      "title": "Flapboard input",
      "description": "Type a destination and a split-flap departure board rolls every cell through the alphabet to the new letters, one flap at a time, with the status reading Updating until the board settles.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/flapboard/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-flapboard.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-gravity",
      "type": "registry:component",
      "title": "Gravity input",
      "description": "A caption field where deleted text does not just vanish: every letter you delete drops out of the field and tumbles away with its own spin and drift, fading as it falls.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/gravity/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-gravity.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-grow",
      "type": "registry:component",
      "title": "Grow input",
      "description": "A code-snippet field that grows line by line: the box springs taller as you add lines (up to seven, then scrolls), line numbers slide into the gutter, the current line's number lights and the footer tracks line and character counts.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/grow/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-grow.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-heat",
      "type": "registry:component",
      "title": "Heat input",
      "description": "A message field that heats up with your typing speed: letters typed fast come out glowing hot and lifted, then cool to the normal colour over a couple of seconds, and a meter shows your words per minute.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/heat/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-heat.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-histogram",
      "type": "registry:component",
      "title": "Histogram input",
      "description": "A price-range slider over the distribution of prices: bars grow in on load, the bars inside the chosen range light up, the selection line follows the two thumbs and the product count rolls to the new total.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/histogram/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-histogram.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-ink",
      "type": "registry:component",
      "title": "Ink input",
      "description": "A dedication card where every letter bleeds onto the paper like ink: it lands blurred and slightly large, sharpens as it dries, and leaves a small blot spreading out beneath it.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/ink/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-ink.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-mask",
      "type": "registry:component",
      "title": "Mask input",
      "description": "A phone field with its format printed in place: digits drop into the slots of +1 (___) ___-____ as you type, the remaining slots stay faint, and a tick draws in once it is complete.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/mask/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-mask.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-measure",
      "type": "registry:component",
      "title": "Measure input",
      "description": "A blueprint title field: your text sits on a grid between baseline and cap-height guides, and a dimension line with end ticks measures its real width in pixels, the number counting as it changes.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/measure/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-measure.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-mood",
      "type": "registry:component",
      "title": "Mood input",
      "description": "A rating slider with a face: drag it and the mouth bends from a frown to a grin, the brows tilt, the eyes open wider and the cheeks blush as the mood rises, with the word flipping above. The face blinks now and then.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/mood/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-mood.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-natural-date",
      "type": "registry:component",
      "title": "Natural Date input",
      "description": "A reminder field that reads plain language: write \"next fri 3pm\", \"tomorrow 9am\" or \"in 3 days\" and a calendar chip flips in with the exact date, time and how long until then.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/natural-date/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-natural-date.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-query",
      "type": "registry:component",
      "title": "Query input",
      "description": "A search field that understands filters: tag:, by:, is: and type: tokens become pills as you type them, -words are struck through, quoted phrases are marked, and a dropdown suggests keys and then their values.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/query/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-query.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-redact",
      "type": "registry:component",
      "title": "Redact input",
      "description": "A notes field that hides private details as you type: phone numbers and email addresses get a solid redaction bar wiped over them. Reveal wipes the bars off to an underline; Hide wipes them back.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/redact/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-redact.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-rotary",
      "type": "registry:component",
      "title": "Rotary input",
      "description": "Dial a number on a rotary phone: drag a finger hole clockwise to the stop and let go, and the disc springs back at a steady speed while the digit is added. Typing digits in the field dials them too.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/rotary/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-rotary.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-scramble",
      "type": "registry:component",
      "title": "Scramble input",
      "description": "A PIN pad whose keys glide to new places after every press, so the pattern of taps gives nothing away. Four dots fill as you go, and a full PIN shakes the dots and resets.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/scramble/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-scramble.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-shell",
      "type": "registry:component",
      "title": "Shell input",
      "description": "A tiny terminal: type commands like help, ls, date, whoami, echo or theme and the output slides up, Tab completes a command name shown as a ghost, the arrows recall history and clear wipes the screen.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/shell/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-shell.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-signature",
      "type": "registry:component",
      "title": "Signature input",
      "description": "A signature pad with real ink: strokes thin out when you move fast and pool when you slow down, smoothed into curves. Type your name instead and it is set in a script face on the line; Clear starts over.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/signature/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-signature.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-slug",
      "type": "registry:component",
      "title": "Slug input",
      "description": "A post-title field that builds its URL slug live underneath: accents are stripped, symbols become dashes, and each character of the slug pops in only when it actually changes. Copy puts the full link on the clipboard.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/slug/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-slug.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-tally",
      "type": "registry:component",
      "title": "Tally input",
      "description": "A lap counter that keeps tally marks: tap the board and a hand-drawn stroke draws in, four uprights and then a slash across them for every five, while the count rolls up. Undo takes the last one back.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/tally/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-tally.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-telegraph",
      "type": "registry:component",
      "title": "Telegraph input",
      "description": "A message field you key in Morse: tap the brass key for a dot or hold it for a dash, a lamp lights while it is down, the tape records each symbol, and pauses decode them into letters and spaces.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/telegraph/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-telegraph.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-typewriter",
      "type": "registry:component",
      "title": "Typewriter input",
      "description": "A note field that types like a typewriter: each key strikes the paper with its own slight tilt and ink density, the carriage slides the line along so the type always lands at the strike point, and a bell dings every twenty characters.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/typewriter/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-typewriter.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-url",
      "type": "registry:component",
      "title": "URL input",
      "description": "Paste a link and it breaks down below into chips: a lock for secure, the host highlighted, every path segment, and each query parameter as a key and value, each chip popping in one after another.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/url/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-url.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-wave",
      "type": "registry:component",
      "title": "Wave input",
      "description": "A caption field whose letters ride a travelling wave while it is focused; on blur the wave calms smoothly to a flat line, and new letters fade in on the swell.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/wave/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-wave.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-xy-pad",
      "type": "registry:component",
      "title": "XY Pad input",
      "description": "Two values on one pad, like a synth filter: drag the puck and it follows with a little lag, leaving a fading trail, with crosshairs through it and both values read out above.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/xy-pad/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-xy-pad.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-caret",
      "type": "registry:component",
      "title": "Smooth Caret input",
      "description": "The text caret glides instead of jumping. Every move (typing, arrow keys, clicking, Home and End) slides a custom caret to its new place and leaves a short comet streak behind it that fades; it blinks only once it is resting. Selections fall back to the native highlight.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/caret/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-caret.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-chips",
      "type": "registry:component",
      "title": "Tag Chips input",
      "description": "A tag field. Press Enter or type a comma and the words you typed turn into a chip right where they were while the cursor glides along; Backspace on an empty field melts the last chip back into editable text. Repeats nudge the existing chip instead of doubling it.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/chips/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-chips.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-code-slots",
      "type": "registry:component",
      "title": "Code Slots input",
      "description": "A one-time code field drawn as six cells. Digits roll up into their cell and a caret blinks in the next one; when the sixth lands, the cells slide together into one pill and a tick pops beside it. One real input underneath, so paste and SMS autofill just work.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/code-slots/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-code-slots.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-composer",
      "type": "registry:component",
      "title": "Composer input",
      "description": "A chat composer. The box springs taller line by line as you write (up to a limit, then it scrolls) with the send button riding its bottom edge; the button wakes up as soon as there is text, and sending lifts the message out of the box into the thread above as the box springs back to one line.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/composer/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-composer.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-drop",
      "type": "registry:component",
      "title": "Drop Letters input",
      "description": "Every letter you type drops into the field from above with a little tumble and bounce, and letters you delete fall out through the floor. A real input keeps the caret, selection and typing; a mirror line draws the letters over it.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/drop/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-drop.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-ghost",
      "type": "registry:component",
      "title": "Ghost Complete input",
      "description": "An email field that finishes the domain for you. Type the @ and the rest of a likely address appears in grey after your caret with a Tab key hint; Tab (or the right arrow, or tapping the hint) washes the ghost text solid and it becomes part of what you typed.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/ghost/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-ghost.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-handle",
      "type": "registry:component",
      "title": "Handle Check input",
      "description": "A username field that checks availability as you type. Characters a handle cannot use are refused with a nudge; three dots bounce while it looks (debounced, so only the name you stop on is checked); then a tick draws for a free name, or a cross pops for a taken one and free alternatives slide in underneath, ready to tap.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/handle/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-handle.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-lens",
      "type": "registry:component",
      "title": "Lens Search input",
      "description": "Search that starts as a magnifying glass. Focusing it stretches the glass's ring sideways into the field itself while the handle tucks away and a small lens settles inside; empty it and click away and it shrinks back into the glass. Pure CSS.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/lens/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-lens.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-odometer",
      "type": "registry:component",
      "title": "Odometer input",
      "description": "A number stepper whose digits are mechanical wheels: each one rolls to its new figure (the tens wheel slides in and out as it is needed), and you can step with the buttons, the arrow keys, or by dragging the number sideways to scrub. Pushing past a limit bumps against it.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/odometer/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-odometer.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-peek",
      "type": "registry:component",
      "title": "Peek input",
      "description": "A password field whose show/hide toggle is a living eye. Hidden, the eye is shut; showing the password blinks it open, and while it is open the pupil follows your caret along the text.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/peek/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-peek.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-aurora",
      "type": "registry:component",
      "title": "Aurora input",
      "description": "Blurred bands of light drift around the input on focus: a conic gradient whose start angle rotates via an animated @property. When unfocused, the glow fades out.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/aurora/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-aurora.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-border-draw",
      "type": "registry:component",
      "title": "Border Draw input",
      "description": "On focus, four border lines trace around the input clockwise (top, right, bottom, left), each starting after the previous finishes. Pure CSS transforms, no dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/border-draw/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-border-draw.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-brutalist",
      "type": "registry:component",
      "title": "Brutalist input",
      "description": "Neo-brutalist style: on focus a hard 4px offset black box-shadow slams from an offset position to zero, while the border snaps to high-contrast. Snappy cubic-bezier easing.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/brutalist/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-brutalist.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-count",
      "type": "registry:component",
      "title": "Count input",
      "description": "A character counter and progress bar slide in below the input on first focus or keystroke. The counter and bar color shift from dim → light gray → white as the character limit approaches. Both slide away again when the field is empty and blurred.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/count/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-count.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-count-ring",
      "type": "registry:component",
      "title": "Count Ring input",
      "description": "An SVG circular ring fills via stroke-dashoffset around a character count badge as the user approaches the limit. The ring brightens from mid-gray to white near the maximum.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/count-ring/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-count-ring.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-electric",
      "type": "registry:component",
      "title": "Electric input",
      "description": "An SVG overlay traces an electric arc around the input border via stroke-dashoffset animation on focus. White neon sparking effect that completes a full perimeter trace.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/electric/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-electric.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-fill",
      "type": "registry:component",
      "title": "Fill input",
      "description": "On focus, a tinted background layer scales from scaleX(0) to scaleX(1) with transformOrigin left, flooding the input with color from left to right. Border color transitions simultaneously. Pure transform, no opacity flash.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/fill/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-fill.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-float-label",
      "type": "registry:component",
      "title": "Float Label input",
      "description": "The label lives inside the field at rest and floats above the text on focus or when a value is present. Pure CSS transitions, no dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/float-label/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-float-label.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-frosted",
      "type": "registry:component",
      "title": "Frosted input",
      "description": "On focus, the input transitions to a frosted glass look: backdrop-filter blur increases and the background shifts to semi-transparent white. Clean glassmorphism aesthetic.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/frosted/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-frosted.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-glitch-error",
      "type": "registry:component",
      "title": "Glitch Error input",
      "description": "On failed validation the input briefly glitches (a CSS invert/brightness flicker plus translateX jitter keyframe over 500ms), then snaps to a bright border. Unsettling, memorable error feedback.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/glitch-error/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-glitch-error.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-glow",
      "type": "registry:component",
      "title": "Glow input",
      "description": "On focus the border lights up and a soft halo radiates outward via box-shadow. Pure CSS transitions, no dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/glow/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-glow.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-gradient-ring",
      "type": "registry:component",
      "title": "Gradient Ring input",
      "description": "On focus a conic-gradient border continuously rotates around the input using a @property CSS custom property (--gr-angle) animated from 0deg to 360deg. The ring fades in with opacity and fades out on blur.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/gradient-ring/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-gradient-ring.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-gradient-spin",
      "type": "registry:component",
      "title": "Gradient Spin input",
      "description": "A conic-gradient border rotates continuously while the input is focused, achieved by spinning a larger gradient square behind a clipped wrapper to simulate an animated gradient border.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/gradient-spin/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-gradient-spin.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-hud-brackets",
      "type": "registry:component",
      "title": "HUD Brackets input",
      "description": "Four L-shaped corner brackets animate inward on focus, locking the input in a targeting-reticle frame. Sci-fi HUD aesthetic.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/hud-brackets/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-hud-brackets.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-icon-shift",
      "type": "registry:component",
      "title": "Icon Shift input",
      "description": "A leading icon rotates and shifts on focus with a spring overshoot, while the border glows and a box-shadow ring appears. The icon color transitions from muted to accent, giving the field a lively focused state.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/icon-shift/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-icon-shift.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-laser",
      "type": "registry:component",
      "title": "Laser input",
      "description": "On focus a white laser beam sweeps left-to-right along the bottom border via scaleX keyframe (300ms), leaving a persistent glowing hairline underline.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/laser/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-laser.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-liquid-fill",
      "type": "registry:component",
      "title": "Liquid Fill input",
      "description": "An animated liquid wave rises from the bottom of the input via clip-path polygon updated by requestAnimationFrame on focus. The wave oscillates continuously while focused.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/liquid-fill/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-liquid-fill.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-magnetic-label",
      "type": "registry:component",
      "title": "Magnetic Label input",
      "description": "The label springs from center-left into the top-left corner of the input on focus using Framer Motion layout animation. Springs back on blur if the field is empty.",
      "author": "movin.design <https://movin.design>",
      "dependencies": [
        "framer-motion"
      ],
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/magnetic-label/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-magnetic-label.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-morph-shape",
      "type": "registry:component",
      "title": "Morph Shape input",
      "description": "Border-radius morphs through a personality arc on focus: sharp (2px) → pill (50px) → settled rounded (10px), played with the Web Animations API so typing is never interrupted.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/morph-shape/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-morph-shape.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-neon-pulse",
      "type": "registry:component",
      "title": "Neon Pulse input",
      "description": "A neon glow box-shadow breathes in and out on a looping CSS keyframe while the input is focused. Sci-fi terminal aesthetic in glowing grays.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/neon-pulse/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-neon-pulse.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-neumorphic",
      "type": "registry:component",
      "title": "Neumorphic input",
      "description": "Outer raised dual-shadow transitions to an inset pressed dual-shadow on focus, making the input appear to sink into the soft surface. Smooth 250ms transition.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/neumorphic/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-neumorphic.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-particle-burst",
      "type": "registry:component",
      "title": "Particle Burst input",
      "description": "Small particles burst outward from the input corners on focus via absolutely positioned spans with staggered CSS animations. A festive, energetic focus confirmation.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/particle-burst/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-particle-burst.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-progress-fill",
      "type": "registry:component",
      "title": "Progress Fill input",
      "description": "The input background fills left-to-right proportional to the typed character count relative to a target length. A calm, satisfying completion indicator with smooth transitions.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/progress-fill/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-progress-fill.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-ripple-type",
      "type": "registry:component",
      "title": "Ripple Type input",
      "description": "Each keystroke triggers a brief border-color ripple pulse on the input via a CSS keyframe that spikes to accent then settles back. The input visually feels each character typed.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/ripple-type/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-ripple-type.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-scan-line",
      "type": "registry:component",
      "title": "Scan Line input",
      "description": "A horizontal scan line sweeps top-to-bottom through the focused input continuously on a ~2s CSS keyframe loop. Futuristic active-state ambient indicator.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/scan-line/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-scan-line.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-shake",
      "type": "registry:component",
      "title": "Shake input",
      "description": "On invalid submission the input rattles horizontally to signal an error: a rapidly damping shake with a bright border. Pure CSS keyframes, no dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/shake/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-shake.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-split",
      "type": "registry:component",
      "title": "Split input",
      "description": "Two opaque panels cover the input at rest like sliding doors. On focus they translate outward (left panel slides left, right panel slides right), revealing a gradient background underneath. A sharp cubic-bezier gives the reveal a decisive, mechanical feel.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/split/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-split.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-split-label",
      "type": "registry:component",
      "title": "Split Label input",
      "description": "A floating label that splits into its words: on focus each word rises above the field and shrinks on its own, staggered left to right, then drops back in reverse when the field is cleared.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/split-label/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-split-label.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-spotlight",
      "type": "registry:component",
      "title": "Spotlight input",
      "description": "A radial gradient spotlight follows the cursor horizontally inside the input as the user mouses over it, creating a torch-light illumination effect within the field.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/spotlight/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-spotlight.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-strength",
      "type": "registry:component",
      "title": "Strength input",
      "description": "A password strength meter: a segmented bar below the input fills and brightens from dark gray to near-white as the user types, driven by character analysis.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/strength/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-strength.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-tag-label",
      "type": "registry:component",
      "title": "Tag Label input",
      "description": "On focus the label slides upward and a light pill badge background expands behind it via scaleX. The label transforms from a plain hint into a bold field identifier tag.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/tag-label/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-tag-label.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-typeout",
      "type": "registry:component",
      "title": "Typeout input",
      "description": "A custom placeholder types itself out character-by-character on mount at 60ms per character. When focused, it instantly clears so the user can type freely.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/typeout/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-typeout.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-underline",
      "type": "registry:component",
      "title": "Underline input",
      "description": "Minimal borderless input: a bright line draws from left to right under the field on focus. Pure CSS transform, no dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/underline/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-underline.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-validate",
      "type": "registry:component",
      "title": "Validate input",
      "description": "A right-side icon morphs between states: invisible on idle, a checkmark springs in on valid email format, an X shakes in on invalid submission attempt.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/validate/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-validate.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "input-wobble",
      "type": "registry:component",
      "title": "Wobble input",
      "description": "On focus the input jiggles with a CSS keyframe combining rotation and translateX zigzag over 400ms then settles. Playful tactile feedback.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "inputs"
      ],
      "meta": {
        "url": "https://movin.design/components/inputs/wobble/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/input-wobble.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-ampersand",
      "type": "registry:component",
      "title": "Ampersand loader",
      "description": "An ampersand written in one unbroken stroke behind a glowing nib, held for a moment, then wiped away from where it began.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/ampersand/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-ampersand.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-beacon",
      "type": "registry:component",
      "title": "Beacon loader",
      "description": "A lighthouse on its rock: the beam sweeps round, narrowing and flaring as it faces you, then swings out the other side, over a slow rolling sea.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/beacon/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-beacon.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-brew",
      "type": "registry:component",
      "title": "Brew loader",
      "description": "A cup of coffee on its saucer with three threads of steam curling up and thinning out, each on its own rhythm.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/brew/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-brew.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-fireflies",
      "type": "registry:component",
      "title": "Fireflies loader",
      "description": "Seven fireflies drifting on their own slow paths and blinking in turn, each with a different pace and rhythm.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/fireflies/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-fireflies.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-grid-wave",
      "type": "registry:component",
      "title": "Grid wave loader",
      "description": "A five by five grid of dots with a ripple running through it from corner to corner, each dot swelling, brightening and settling as it passes.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/grid-wave/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-grid-wave.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-loom",
      "type": "registry:component",
      "title": "Loom loader",
      "description": "A loom weaving: a shuttle carries the weft over and under the warp threads, row by row and back again, until the cloth is woven, then it is cleared and begins again.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/loom/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-loom.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-lunar",
      "type": "registry:component",
      "title": "Lunar loader",
      "description": "The moon running through its phases, new to full and back to new, with a true curved terminator and faint craters showing through.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/lunar/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-lunar.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-pages",
      "type": "registry:component",
      "title": "Pages loader",
      "description": "An open book whose pages turn over one after another, each brightening as it lifts past the spine and settling on the left.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/pages/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-pages.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-seam",
      "type": "registry:component",
      "title": "Seam loader",
      "description": "A needle sews a line of stitches round a rounded square of cloth with the thread following it, then the seam is pulled away and it starts again.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/seam/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-seam.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-sundial",
      "type": "registry:component",
      "title": "Sundial loader",
      "description": "The sun arcs over a sundial and the gnomon's shadow sweeps across the hours, long in the morning, short at noon and long again by evening.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/sundial/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-sundial.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-assemble",
      "type": "registry:component",
      "title": "Assemble loader",
      "description": "Sixteen scattered particles fly in from all sides and lock together into a block, the block turns a quarter, then bursts apart in new directions and gathers again.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/assemble/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-assemble.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-binary",
      "type": "registry:component",
      "title": "Binary loader",
      "description": "A byte counting up in lit bits, nibble by nibble, with its hex and decimal value counting beside it. It wraps from 255 back to zero and keeps going.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/binary/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-binary.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-binary-star",
      "type": "registry:component",
      "title": "Binary Star loader",
      "description": "Two stars of different sizes orbit their shared centre with comet trails behind them, while a small planet circles both on a wider, slower path.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/binary-star/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-binary-star.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-coil",
      "type": "registry:component",
      "title": "Coil loader",
      "description": "A weight bobs on a spring hanging from a bar. The coil stretches open as the weight drops and bunches tight as it rises, with the back half of every turn drawn dimmer so it reads as a helix.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/coil/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-coil.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-conveyor",
      "type": "registry:component",
      "title": "Conveyor loader",
      "description": "Parcels ride a moving belt over turning rollers, then tip over the end and drop off, one after another.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/conveyor/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-conveyor.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-droplet",
      "type": "registry:component",
      "title": "Droplet loader",
      "description": "A drop falls, stretching as it speeds up, splashes a crown of beads up off the surface and sends two ripples spreading outward.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/droplet/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-droplet.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-event-horizon",
      "type": "registry:component",
      "title": "Event Horizon loader",
      "description": "A black hole: a spinning accretion disc passes in front of the hole, and light from the disc's far side is lensed into a glowing ring arching up and over it, flickering softly.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/event-horizon/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-event-horizon.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-flask",
      "type": "registry:component",
      "title": "Flask loader",
      "description": "A round-bottom flask fills with a sloshing liquid as bubbles rise through it, holds full for a moment, then drains, over and over.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/flask/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-flask.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-fold",
      "type": "registry:component",
      "title": "Fold loader",
      "description": "A square of paper folds in half from the bottom, then in half again from the right, holds, and opens back out, with each flap shading darker as it turns away from the light.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/fold/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-fold.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-fractal",
      "type": "registry:component",
      "title": "Fractal loader",
      "description": "A Sierpinski triangle of 27 cells that light up in a wave running through the recursion order, corner by corner, then dim back down, over and over.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/fractal/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-fractal.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-galaxy",
      "type": "registry:component",
      "title": "Galaxy loader",
      "description": "Two spiral arms of twinkling stars wheel slowly round a glowing core, the outer stars smaller and fainter.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/galaxy/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-galaxy.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-globe",
      "type": "registry:component",
      "title": "Globe loader",
      "description": "A wireframe planet of meridians and latitude rings spinning in 3D, with a satellite on a tilted orbit circling it.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/globe/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-globe.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-hive",
      "type": "registry:component",
      "title": "Hive loader",
      "description": "Seven hexagon cells of a honeycomb: the six outer cells light round the comb in turn while the core pulses at twice the pace.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/hive/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-hive.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-kaleidoscope",
      "type": "registry:component",
      "title": "Kaleidoscope loader",
      "description": "A turning kaleidoscope: three drifting shapes in one wedge are mirrored into six, so they meet and part in symmetric patterns while the whole disc slowly rotates.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/kaleidoscope/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-kaleidoscope.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-line-clear",
      "type": "registry:component",
      "title": "Line Clear loader",
      "description": "A tiny falling-block game: pieces drop and settle until the bottom rows are complete, the rows flash and clear, and the board starts again.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/line-clear/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-line-clear.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-maze",
      "type": "registry:component",
      "title": "Maze loader",
      "description": "A generated maze solves itself: the route draws from the entrance in the top corner to the exit in the bottom one, the goal flashes as it arrives, and the line fades before solving again.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/maze/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-maze.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-metronome",
      "type": "registry:component",
      "title": "Metronome loader",
      "description": "A metronome: the weighted arm swings across its scale and a light flashes at each end of the arc, exactly on the beat.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/metronome/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-metronome.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-mobius",
      "type": "registry:component",
      "title": "Mobius loader",
      "description": "A Mobius band built from slices: each one is twisted by half its angle round the loop, so the band carries a single half twist. The slices roll round their own loop endlessly while the whole band turns slowly in 3D.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/mobius/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-mobius.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-odometer",
      "type": "registry:component",
      "title": "Odometer loader",
      "description": "Rolling digit reels count from 000 to 100 percent in uneven jumps, like a real transfer; each reel rolls forward through its digits with a little bounce, then the count holds and starts over.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/odometer/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-odometer.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-paper-plane",
      "type": "registry:component",
      "title": "Paper Plane loader",
      "description": "A paper plane loops the loop along a dotted flight path, banking to follow every curve, then flies out and round again.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/paper-plane/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-paper-plane.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-pendulum-wave",
      "type": "registry:component",
      "title": "Pendulum Wave loader",
      "description": "A pendulum wave seen from above: twelve bobs swing at slightly different periods, so they fall in and out of step, forming snakes, travelling waves and apparent chaos before lining up in unison again every twelve seconds.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/pendulum-wave/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-pendulum-wave.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-percent",
      "type": "registry:component",
      "title": "Percent loader",
      "description": "A progress ring with a percentage that loads the way real progress feels: a quick start, a long slow middle, a stall near the end, then the last stretch at once, a tick, and round again.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/percent/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-percent.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-pixel-spinner",
      "type": "registry:component",
      "title": "Pixel Spinner loader",
      "description": "A chunky 8-bit spinner: a ring of square pixels with a bright segment and a fading tail stepping round it, one pixel at a time.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/pixel-spinner/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-pixel-spinner.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-plasma-globe",
      "type": "registry:component",
      "title": "Plasma Globe loader",
      "description": "A plasma globe: live filaments crawl from the glowing electrode out to the glass, each wandering and flickering, their feet drifting slowly round the sphere where they strike it.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/plasma-globe/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-plasma-globe.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-rally",
      "type": "registry:component",
      "title": "Rally loader",
      "description": "Two paddles keep a ball in play across a dashed net, like the first video game: the ball bounces off the walls, picks up a little spin off each paddle, and each paddle tracks it only while it is coming its way.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/rally/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-rally.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-ripple-field",
      "type": "registry:component",
      "title": "Ripple Field loader",
      "description": "A 9x9 field of dots with ripples spreading outward from the centre, each dot swelling and brightening as a wavefront passes.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/ripple-field/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-ripple-field.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-scanner",
      "type": "registry:component",
      "title": "Scanner loader",
      "description": "A barcode scanner: a laser line sweeps up and down the code while a band of light travels with it, lighting each bar it crosses.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/scanner/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-scanner.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-signal",
      "type": "registry:component",
      "title": "Signal loader",
      "description": "A wireless signal: the source lights first, then each arc outward in turn, all hold, then go dark together and start again.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/signal/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-signal.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-slide-puzzle",
      "type": "registry:component",
      "title": "Slide Puzzle loader",
      "description": "A 3x3 sliding puzzle where the gap walks round the edge forever, so the ring of tiles keeps rotating with a springy slide, the bright key tile riding round with them.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/slide-puzzle/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-slide-puzzle.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-sound-ring",
      "type": "registry:component",
      "title": "Sound Ring loader",
      "description": "A circular spectrum: forty bars round a ring pump to their own beats in clusters, like frequency bands, while the whole ring turns slowly.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/sound-ring/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-sound-ring.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-terrain",
      "type": "registry:component",
      "title": "Terrain loader",
      "description": "A plane of dots seen in perspective rolls with crossing waves, the crests rising and brightening, like a landscape breathing.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/terrain/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-terrain.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-tesseract",
      "type": "registry:component",
      "title": "Tesseract loader",
      "description": "A four-dimensional cube, a tesseract, turning through the fourth axis and projected down to a wireframe. The inner and outer cubes swap places endlessly while the whole shadow drifts, and the cube nearer in 4D is drawn brighter.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/tesseract/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-tesseract.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-torus",
      "type": "registry:component",
      "title": "Torus loader",
      "description": "A torus made of 300 points tumbling in 3D: it spins round its own axis so the points flow round the ring, rocks and sways, and the near side glows larger and brighter while the far side falls away.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/torus/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-torus.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-tunnel",
      "type": "registry:component",
      "title": "Tunnel loader",
      "description": "Rounded frames rush out of a point of light at the centre, twisting as they come, like flying down a wormhole.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/tunnel/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-tunnel.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-vortex",
      "type": "registry:component",
      "title": "Vortex loader",
      "description": "Particles spiral in from the rim of a vortex, slow at the edge and whipping round faster as they fall toward a pulsing dark core.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/vortex/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-vortex.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-atom",
      "type": "registry:component",
      "title": "Atom loader",
      "description": "A glowing nucleus with three electrons on orbits tilted 60 degrees apart, each racing round its own ellipse at a different speed. The orbits are rotated boxes and each electron rides an elliptical offset-path inside its own. Pure CSS.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/atom/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-atom.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-battery",
      "type": "registry:component",
      "title": "Battery loader",
      "description": "A battery charging: its four cells light one at a time with a hard step, then the full battery blinks twice and drains to start again. A bolt is cut into the fill, so it only shows through where the cells are lit. Pure CSS.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/battery/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-battery.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-clock",
      "type": "registry:component",
      "title": "Clock loader",
      "description": "A small clock face with twelve ticks: the minute hand sweeps round once a beat while the hour hand creeps along at a twelfth of the speed, so time visibly passes while you wait. Pure CSS.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/clock/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-clock.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-cradle",
      "type": "registry:component",
      "title": "Newton's Cradle loader",
      "description": "Five balls hanging from a bar on strings. The end ball swings out and falls back; the knock travels through the still middle three and kicks the far ball out, and back again, with easing that slows at the top of each swing like a real pendulum. Pure CSS.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/cradle/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-cradle.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-dominoes",
      "type": "registry:component",
      "title": "Dominoes loader",
      "description": "Seven dominoes topple in a chain, each falling faster as it goes and coming to rest leaning on the next (the last one falls flat), then they stand back up one by one in the same order. Pure CSS.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/dominoes/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-dominoes.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-eclipse",
      "type": "registry:component",
      "title": "Eclipse loader",
      "description": "A solar eclipse on loop: the moon slides across the sun, slowing as it covers it, and at totality the corona flares out around the black disc before the moon drifts on and the sun returns. Pure CSS.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/eclipse/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-eclipse.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-gears",
      "type": "registry:component",
      "title": "Gears loader",
      "description": "Two meshed gears, ten teeth and seven, turning against each other at the right ratio (the small one 10/7 as fast) so the teeth stay engaged all the way round. The tooth outlines are generated from real gear geometry. Pure CSS rotation.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/gears/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-gears.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-heartbeat",
      "type": "registry:component",
      "title": "Heartbeat loader",
      "description": "A heart monitor: a bright trace with a fading tail runs across the screen through a spike, led by a glowing dot that rides the same line, and fades out at the edges before coming round again. Pure CSS.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/heartbeat/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-heartbeat.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-hourglass",
      "type": "registry:component",
      "title": "Hourglass loader",
      "description": "An hourglass: sand drains from the top bulb in a thin stream and piles up in the bottom one, then the glass flips over with a little overshoot and it starts again. The flip lands on the exact frame the loop restarts on, so it never jumps. Pure CSS.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/hourglass/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-hourglass.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-infinity",
      "type": "registry:component",
      "title": "Infinity loader",
      "description": "A bright streak with a fading tail races endlessly round a figure-eight track, crossing itself in the middle. Two dash segments on the same SVG path, offset so the head always leads the tail. Pure CSS.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/infinity/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-infinity.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-lava",
      "type": "registry:component",
      "title": "Lava loader",
      "description": "A lava lamp. Blobs of wax drift up from a warm pool at the bottom, stretch, pinch off and melt back into it, merging whenever they touch. The goo is a blur + contrast filter on the layer, so there is no SVG filter or id to collide. Pure CSS.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/lava/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-lava.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-radar",
      "type": "registry:component",
      "title": "Radar loader",
      "description": "A radar scope: a beam with a fading wake sweeps round the rings and crosshairs, and each blip flares exactly as the beam's leading edge passes over it, then fades until the next sweep. Each blip's delay is computed from its own angle. Pure CSS.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/radar/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-radar.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-ring-text",
      "type": "registry:component",
      "title": "Ring Text loader",
      "description": "LOADING · PLEASE WAIT set round a circle like a badge, turning slowly, while a bright highlight chases round the letters and a dot breathes in the middle. Each letter is a span placed by its index. Pure CSS.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/ring-text/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-ring-text.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-segment",
      "type": "registry:component",
      "title": "Segment loader",
      "description": "A seven-segment display digit where a lit segment chases a figure-eight round the 8 (top, right, middle, left, bottom, right, middle, left), leaving a glowing trail that fades behind it. The middle bar is visited twice per loop, so it has its own keyframes. Pure CSS.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/segment/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-segment.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-snake",
      "type": "registry:component",
      "title": "Snake loader",
      "description": "A five-segment snake slithers over a 4x4 grid of dots, cell by cell, weaving through every square on a closed path with its head brightest and its tail fading. Each segment rides the same offset-path with steps() timing, one cell behind the next. Pure CSS.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/snake/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-snake.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-stack",
      "type": "registry:component",
      "title": "Stack loader",
      "description": "Three blocks drop one after another onto a shelf and stack up, each landing with a squash and a little recoil, then the finished stack slides off and the next one starts. Pure CSS.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/stack/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-stack.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-sunflower",
      "type": "registry:component",
      "title": "Sunflower loader",
      "description": "Forty-eight dots laid out the way seeds pack in a sunflower head (each turned by the golden angle and pushed out by the square root of its index), with a wave of light pulsing out from the centre as the head turns slowly. The layout is CSS maths on one index per dot. Pure CSS.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/sunflower/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-sunflower.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-terminal",
      "type": "registry:component",
      "title": "Terminal loader",
      "description": "A tiny terminal window running an install: a braille spinner cycles through its ten frames beside a status line that rolls up through resolving, fetching, linking and building, then loops. Both are strips moved with steps() or held keyframes. Pure CSS.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/terminal/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-terminal.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-tumble",
      "type": "registry:component",
      "title": "Tumble loader",
      "description": "A block tumbles over and over along a dashed floor: it tips onto its next face about its leading corner and lands, again and again, while the floor slides back under it in step, so it rolls forever without leaving its spot. Pure CSS.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/tumble/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-tumble.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-bounce-dots",
      "type": "registry:component",
      "title": "Bounce Dots loader",
      "description": "Three dots that bounce vertically in sequence: the classic typing-indicator pattern. Pure CSS, no dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/bounce-dots/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-bounce-dots.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-bouncing-ball",
      "type": "registry:component",
      "title": "Bouncing Ball loader",
      "description": "A squash-and-stretch ball with a synced shadow: multi-stop keyframes fake physical bounce physics. Pure CSS, no dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/bouncing-ball/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-bouncing-ball.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-color-bounce",
      "type": "registry:component",
      "title": "Color Bounce loader",
      "description": "Five dots (each a step lighter than the last), bouncing vertically in a rolling wave. A tonalul take on the classic typing indicator. Pure CSS, no dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/color-bounce/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-color-bounce.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-comet",
      "type": "registry:component",
      "title": "Comet loader",
      "description": "A conic-gradient ring that spins like a comet tail: gray-to-white arc on a masked circle. Pure CSS, no dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/comet/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-comet.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-dots-circle",
      "type": "registry:component",
      "title": "Dots Circle loader",
      "description": "Eight dots arranged in a clock face, fading in and out in radial sequence: the classic OS-native loading indicator pattern. Pure CSS, no dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/dots-circle/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-dots-circle.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-dual-ring",
      "type": "registry:component",
      "title": "Dual Ring loader",
      "description": "Two concentric rings rotating in opposite directions at different speeds: bright outer ring clockwise, dimmer inner ring counter-clockwise. Pure CSS, no dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/dual-ring/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-dual-ring.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-equalizer",
      "type": "registry:component",
      "title": "Equalizer loader",
      "description": "Five bars each running an independent height animation at a different duration: the unsynchronized cadences create an organic music-equalizer feel. Pure CSS, no dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/equalizer/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-equalizer.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-flip-square",
      "type": "registry:component",
      "title": "Flip Square loader",
      "description": "A gradient rounded square continuously tumbling on its Y axis using CSS 3D perspective: a satisfying single-element loader. Pure CSS, no dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/flip-square/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-flip-square.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-gradient-ring",
      "type": "registry:component",
      "title": "Gradient Ring loader",
      "description": "A spinning ring with a light-to-dark conic gradient in one continuous arc. Pure CSS, no dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/gradient-ring/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-gradient-ring.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-helix",
      "type": "registry:component",
      "title": "Helix loader",
      "description": "Two dots oscillating vertically in opposite phase with scaleX depth: a DNA helix cross-section effect. Pure CSS, no dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/helix/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-helix.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-morph",
      "type": "registry:component",
      "title": "Morph loader",
      "description": "A single element that continuously morphs through three shapes (circle, blob, and square), while rotating and shifting color. Pure CSS, no dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/morph/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-morph.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-mosaic",
      "type": "registry:component",
      "title": "Mosaic loader",
      "description": "A 3×3 grid of grayscale tiles that pulse in and out with a ripple delay, creating a vibrant mosaic shimmer effect. Pure CSS, no dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/mosaic/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-mosaic.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-neon-ripple",
      "type": "registry:component",
      "title": "Neon Ripple loader",
      "description": "Three concentric light rings that expand outward from a glowing core dot. Pure CSS, no dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/neon-ripple/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-neon-ripple.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-orbit",
      "type": "registry:component",
      "title": "Orbit loader",
      "description": "A dot orbits a center point along a faint circular track. Pure CSS rotation, no dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/orbit/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-orbit.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-progress-bar",
      "type": "registry:component",
      "title": "Progress Bar loader",
      "description": "An indeterminate progress bar: a gradient shimmer slides across a pill-shaped track from left to right on loop. Pure CSS, no dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/progress-bar/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-progress-bar.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-pulse-dots",
      "type": "registry:component",
      "title": "Pulse Dots loader",
      "description": "Three dots that scale and fade in a left-to-right wave. Staggered CSS keyframes, no dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/pulse-dots/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-pulse-dots.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-skeleton",
      "type": "registry:component",
      "title": "Skeleton loader",
      "description": "A shimmer content placeholder: avatar, name, and body line shapes with a sweeping highlight. Pure CSS, no dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/skeleton/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-skeleton.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-spinning-ring",
      "type": "registry:component",
      "title": "Spinning Ring loader",
      "description": "A circular ring with a transparent track and a solid arc that spins continuously. Pure CSS, no dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/spinning-ring/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-spinning-ring.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-text-shimmer",
      "type": "registry:component",
      "title": "Text Shimmer loader",
      "description": "The word \"Loading\" rendered in uppercase with a bright spotlight sweeping across it via background-clip:text, a text-as-canvas shimmer effect. Pure CSS, no dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/text-shimmer/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-text-shimmer.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "loader-wave-bars",
      "type": "registry:component",
      "title": "Wave Bars loader",
      "description": "Five vertical bars in distinct colors that scale up and down in a rippling wave sequence. Pure CSS, no dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "loaders"
      ],
      "meta": {
        "url": "https://movin.design/components/loaders/wave-bars/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/loader-wave-bars.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-capture",
      "type": "registry:component",
      "title": "Capture radio button",
      "description": "A camera mode picker: the shutter button morphs between photo, record and portrait, video adds a blinking record tag and portrait melts the background behind the subject.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/capture/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-capture.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-crop",
      "type": "registry:component",
      "title": "Crop radio button",
      "description": "An aspect ratio picker: choose 1:1, 4:5 or 16:9 and the crop frame reshapes over the photo with a little overshoot, dimming everything that falls outside it.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/crop/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-crop.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-eq",
      "type": "registry:component",
      "title": "EQ radio button",
      "description": "A sound picker drawn as an equaliser: choose warm, flat or bright and the curve and its fill bend smoothly into the new shape across the frequencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/eq/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-eq.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-focal",
      "type": "registry:component",
      "title": "Focal radio button",
      "description": "A lens picker drawn from above: as the focal length goes up from 24 to 85 mm the field of view narrows from the camera, leaving fewer of the subjects inside it.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/focal/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-focal.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-lux",
      "type": "registry:component",
      "title": "Lux radio button",
      "description": "A light level picker drawn as a pendant lamp over a table: its beam and the pool of light on the table widen and brighten with each level.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/lux/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-lux.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-nib",
      "type": "registry:component",
      "title": "Nib radio button",
      "description": "A nib size picker: choose fine, medium or broad and the pen signs the line again in that width, the nib riding the stroke from the first letter to the flourish.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/nib/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-nib.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-pace",
      "type": "registry:component",
      "title": "Pace radio button",
      "description": "A pace picker: choose walk, jog or run and footprints appear along the trail, spaced further apart and coming faster at each pace.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/pace/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-pace.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-paper",
      "type": "registry:component",
      "title": "Paper radio button",
      "description": "A paper size picker: choose A5, A4 or A3 and the sheet grows or shrinks against dashed outlines of the other sizes, with its size in millimetres underneath.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/paper/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-paper.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-roast",
      "type": "registry:component",
      "title": "Roast radio button",
      "description": "A roast picker: choose light, medium or dark and the beans swell, oil comes up as a sheen and they crack once, twice or three times.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/roast/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-roast.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-specimen",
      "type": "registry:component",
      "title": "Specimen radio button",
      "description": "A typeface picker: choose serif, sans or mono and the specimen dissolves and resolves in the new face, like a lens racking focus.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/specimen/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-specimen.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-altitude",
      "type": "registry:component",
      "title": "Altitude radio button",
      "description": "Waypoints on a mountain: choose base, camp or summit and the climber follows the zigzag trail up or down to it, the walked trail drawing behind them, and the altitude rolls.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/altitude/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-altitude.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-aperture",
      "type": "registry:component",
      "title": "Aperture radio button",
      "description": "An aperture picker: choose f/1.8, f/4 or f/11 and six iris blades turn in or out over the light, leaving a wide or a tiny hexagonal opening.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/aperture/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-aperture.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-bloom",
      "type": "registry:component",
      "title": "Bloom radio button",
      "description": "A growth stage picker on a flower: from a closed bud the petals spread out to half open and then to a full flower, the outer ones last, and the centre grows and glows.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/bloom/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-bloom.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-brush",
      "type": "registry:component",
      "title": "Brush radio button",
      "description": "A brush size picker: choose a size and the preview stroke is drawn again at the new width, with a ring for the brush tip tracing along it.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/brush/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-brush.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-burner",
      "type": "registry:component",
      "title": "Burner radio button",
      "description": "A gas burner: choose low, medium or high and the knob turns while the row of flickering flames drops low or roars up, the glow under them following.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/burner/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-burner.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-chart",
      "type": "registry:component",
      "title": "Chart radio button",
      "description": "A chart type picker: from bar to line, the bars shrink into points at their own tops and a line draws through them; area then fills in under it.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/chart/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-chart.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-chess",
      "type": "registry:component",
      "title": "Chess radio button",
      "description": "A pawn promotion picker: choose queen, rook, bishop or knight and the piece drops onto the square with a flash.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/chess/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-chess.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-finish",
      "type": "registry:component",
      "title": "Finish radio button",
      "description": "A paint finish picker on a sphere: matte spreads the highlight wide and soft, satin tightens it, and gloss sharpens it to a glint with a reflected window and a rim of light.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/finish/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-finish.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-flock",
      "type": "registry:component",
      "title": "Flock radio button",
      "description": "A formation picker: seven flapping birds fly into a line, a V or a ring, one after another.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/flock/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-flock.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-floor",
      "type": "registry:component",
      "title": "Floor radio button",
      "description": "Lift buttons as a radio group: press a floor and the doors close, the car rides up or down the shaft to it, and the doors open again; the pressed button lights.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/floor/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-floor.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-forecast",
      "type": "registry:component",
      "title": "Forecast radio button",
      "description": "A forecast picker: sunny, cloudy or rain. A cloud rolls in over the turning sun, the sun hides behind it, rain starts to fall, and the temperature rolls to match.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/forecast/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-forecast.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-gear",
      "type": "registry:component",
      "title": "Gear radio button",
      "description": "A gear selector for P, R, N and D: the knob clicks along the gate to the gear you pick with a little overshoot, and the display rolls to the new letter.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/gear/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-gear.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-grind",
      "type": "registry:component",
      "title": "Grind radio button",
      "description": "A coffee grind picker: choose fine, medium or coarse and the crank turns, grounds pour from the chute, and the pile in the cup settles finer or coarser.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/grind/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-grind.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-hop",
      "type": "registry:component",
      "title": "Hop radio button",
      "description": "A size picker where a ball hops tile to tile to the size you choose, one bounce for every tile it crosses, squashing as it lands on each.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/hop/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-hop.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-layers",
      "type": "registry:component",
      "title": "Layers radio button",
      "description": "Map layers in a 3D stack: choose map, satellite or terrain and that layer rises to the top of the stack and lights, while the others settle beneath it.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/layers/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-layers.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-level",
      "type": "registry:component",
      "title": "Level radio button",
      "description": "Audio balance as a spirit level: choose left, centre or right and the level tilts, while the bubble drifts to the high side, overshoots a little and settles like it is floating in liquid.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/level/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-level.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-metronome",
      "type": "registry:component",
      "title": "Metronome radio button",
      "description": "A tempo picker on a metronome: choose largo, andante or presto and the weight slides along the arm while it swings at the new speed, with a light on every beat.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/metronome/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-metronome.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-order",
      "type": "registry:component",
      "title": "Order radio button",
      "description": "A sort control: choose name, price or rating and the rows slide into the new order with a little spring, while the column you sorted by lights.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/order/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-order.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-phase",
      "type": "registry:component",
      "title": "Phase radio button",
      "description": "A moon phase picker: choose new, crescent, gibbous or full and the shadow slides across the cratered moon while its glow grows towards full.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/phase/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-phase.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-plane",
      "type": "registry:component",
      "title": "Plane radio button",
      "description": "A destination picker with a paper plane: choose a city and the plane flies to it in an arc, banking slightly, then hovers over it with a gentle bob.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/plane/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-plane.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-recline",
      "type": "registry:component",
      "title": "Recline radio button",
      "description": "Cabin class as a seat: pick economy, premium or business and the seat reclines further for each, its legrest rising to match.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/recline/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-recline.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-resolution",
      "type": "registry:component",
      "title": "Resolution radio button",
      "description": "A video quality picker: choose 240p, 720p or 4K and the picture breaks into blocks or sharpens, stepping through the resolutions in between.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/resolution/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-resolution.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-rock-paper",
      "type": "registry:component",
      "title": "Rock Paper Scissors radio button",
      "description": "Rock, paper, scissors as a radio group: pick your move and the hand shakes twice, then throws it, fingers unfolding for paper and two of them spreading for scissors.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/rock-paper/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-rock-paper.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-route",
      "type": "registry:component",
      "title": "Route radio button",
      "description": "A destination picker on a railway line: choose a station and the train pulls along the track to it, accelerating and braking in; the platform lamp and its name light as it arrives.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/route/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-route.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-seasons",
      "type": "registry:component",
      "title": "Seasons radio button",
      "description": "A season picker on a tree: spring buds, full summer leaves, autumn leaves drifting down, then bare branches with snow on them and snow falling.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/seasons/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-seasons.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-slices",
      "type": "registry:component",
      "title": "Slices radio button",
      "description": "A pizza slice picker: choose 4, 6 or 8 slices and the cuts swing round to their new angles, a new cut drawing in when one is needed.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/slices/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-slices.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-spice",
      "type": "registry:component",
      "title": "Spice radio button",
      "description": "A heat level picker: mild, hot or fire light up one, two or three chillies in turn, heat shimmers rise above them, and at fire the chillies shake.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/spice/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-spice.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-tickets",
      "type": "registry:component",
      "title": "Tickets radio button",
      "description": "A ticket quantity picker: choose one to four and the tickets fan out from the stack, one more for each step, or fold back in.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/tickets/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-tickets.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-tide",
      "type": "registry:component",
      "title": "Tide radio button",
      "description": "A tide picker: choose low, mid or high and the sea slowly rises or falls against the marks on the pier, with the waves running and a buoy bobbing on top.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/tide/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-tide.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-tone",
      "type": "registry:component",
      "title": "Tone radio button",
      "description": "A message tone picker: formal, casual or playful. The speech bubble changes shape, from a squared card to a rounded pill to a tilted blob, and the message rewrites itself in that voice.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/tone/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-tone.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-traffic",
      "type": "registry:component",
      "title": "Traffic radio button",
      "description": "A traffic light where each lamp is an option: choose stop, wait or go and that lamp lights at once, while the old one fades out slowly like a real bulb.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/traffic/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-traffic.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-tuner",
      "type": "registry:component",
      "title": "Tuner radio button",
      "description": "Station presets on an old radio dial: pick one and the needle sweeps along the FM band to its frequency, the stereo lamp drops out while it travels and flickers back on as it locks.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/tuner/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-tuner.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-wheel",
      "type": "registry:component",
      "title": "Wheel radio button",
      "description": "A what's-for-dinner picker on a prize wheel: pick a dish and the wheel spins forward, always at least two turns, and slows to stop with it under the pointer, which ticks as it passes the segments.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/wheel/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-wheel.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-wind",
      "type": "registry:component",
      "title": "Wind radio button",
      "description": "A wind picker on a windsock: calm leaves it hanging limp, a breeze lifts it halfway and a gale flies it straight out, fluttering faster as the wind grows while the grass leans.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/wind/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-wind.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-zoom",
      "type": "registry:component",
      "title": "Zoom radio button",
      "description": "Focal lengths through a viewfinder: choose 24, 50 or 85 mm and the scene zooms in or out on the tree with a moment of focus breathing.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/zoom/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-zoom.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-align",
      "type": "registry:component",
      "title": "Align radio button",
      "description": "Text alignment buttons above a paragraph of placeholder lines. Choosing left, centre or right slides every line across to its new edge one after another; justify stretches all but the last line to the full width. Pure CSS: each line knows its own width, and one --k (0, 0.5, 1) says how far across it goes.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/align/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-align.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-daylight",
      "type": "registry:component",
      "title": "Daylight radio button",
      "description": "A time-of-day picker with a little sky. The sun rides an arc from sunrise to sunset to the option you choose while the sky brightens or dims; at night a shadow slides over it to make a crescent moon and the stars come out. Pure CSS (offset-path for the arc).",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/daylight/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-daylight.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-delivery",
      "type": "registry:component",
      "title": "Delivery radio button",
      "description": "Shipping options with a little delivery truck on a one-week road above them. Choosing an option drives the truck to the day it would arrive (Tomorrow, 2 days, 5–7 days): its wheels spin and its body bobs while it drives, and it turns round when it has to go back.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/delivery/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-delivery.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-dial",
      "type": "registry:component",
      "title": "Dial radio button",
      "description": "A rotary knob like the one on a fan or an oven. The settings sit round its top arc with a tick each; choosing one (click, or the arrow keys) turns the ridged knob so its pointer swings to it with a mechanical overshoot. Real radios underneath. Pure CSS.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/dial/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-dial.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-die",
      "type": "registry:component",
      "title": "Die radio button",
      "description": "Pick a number and a 3D die rolls to it: it hops up, tumbles a full extra turn on its way to the chosen face and lands with a squash while its shadow shrinks and grows underneath. Each roll adds another turn (a tiny script), so it never just rotates back.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/die/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-die.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-drum",
      "type": "registry:component",
      "title": "Drum radio button",
      "description": "An iOS-style picker wheel built on a real radio group. The options sit round a 3D drum that turns to bring the chosen one into the lit band; spin it with the mouse wheel, drag it up and down, click an option, or use the arrow keys. The edges fade away like the curve of a real drum.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/drum/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-drum.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-fan",
      "type": "registry:component",
      "title": "Fan radio button",
      "description": "Pick a card. Four playing cards are fanned out in a hand; hovering one nudges it up, and choosing it lifts it clear of the fan, straightens it and turns it face-lit while the rest stay tucked in. Pure CSS.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/fan/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-fan.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-flip-card",
      "type": "registry:component",
      "title": "Flip Card radio button",
      "description": "Plan cards that flip. Choosing one turns it over in 3D with a springy settle to reveal its lit back (a tick, the plan and \"Selected\"), while the card you had before flips back to its front. Pure CSS.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/flip-card/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-flip-card.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-folders",
      "type": "registry:component",
      "title": "Folders radio button",
      "description": "Three file folders stacked in a drawer, each with its tab at a different place along the top. Choosing a tab brings that folder to the front with a little lift and tips its front flap open in 3D to show the papers inside; the folder it replaces closes and drops back. Nothing rises above the bodies, so every tab stays in view. Pure CSS.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/folders/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-folders.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-layout",
      "type": "registry:component",
      "title": "Layout radio button",
      "description": "A view switcher (grid, list, feature) whose preview actually rearranges: the four tiles glide and resize into the new layout one after another with a springy settle, so you see what you are choosing. Pure CSS (each layout is a set of positions picked with :has()).",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/layout/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-layout.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-mood",
      "type": "registry:component",
      "title": "Mood radio button",
      "description": "How was it? Five faces from a deep frown to a big grin. The chosen face springs up larger, fills in light with its features turning dark, and its mouth gives a little bounce while its name rises in underneath; the others stay small and dim. Pure CSS.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/mood/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-mood.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-seat",
      "type": "registry:component",
      "title": "Seat radio button",
      "description": "A tiny cinema seat map. Taken seats are crossed out and skipped by the arrow keys; picking a free seat lifts it with a pop and lights it, and the ticket below rolls its seat code over to the new one, like a departures board.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/seat/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-seat.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-shape",
      "type": "registry:component",
      "title": "Shape radio button",
      "description": "A shape picker whose preview morphs: circle, square, triangle and star are all 20-point polygons drawn from the top clockwise, so choosing one melts the preview straight into the next with a springy overshoot. Pure CSS (clip-path interpolation).",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/shape/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-shape.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-sizes",
      "type": "registry:component",
      "title": "Sizes radio button",
      "description": "A size picker that shows the size. Above the S, M, L, XL pills, a T-shirt springs bigger or smaller to match the one you choose, and the chest measurement under it updates. Pure CSS with :has().",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/sizes/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-sizes.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-stars",
      "type": "registry:component",
      "title": "Stars radio button",
      "description": "A five-star rating that is a real radio group. Hovering previews the rating in grey; choosing fills the stars up to it in a quick left-to-right cascade with a springy pop on the one you picked, and a caption says what the score means. Pure CSS with :has().",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/stars/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-stars.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-tab-bar",
      "type": "registry:component",
      "title": "Tab Bar radio button",
      "description": "A bottom navigation bar as a radio group. The chosen tab's pill widens to make room for its label, which slides out from behind the icon while the icon fills in with a little bounce; the previous tab folds back to just its outline icon. Pure CSS (the label width animates through grid 0fr to 1fr).",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/tab-bar/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-tab-bar.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-theme",
      "type": "registry:component",
      "title": "Theme radio button",
      "description": "A theme picker inside a preview panel. Choosing Light, Dim or Dark floods the panel with the new theme as a circle spreading out from the chip you picked, over the old theme, which stays put underneath until it is covered. Pure CSS: one layer per theme, stacked by z-index.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/theme/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-theme.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-tip-jar",
      "type": "registry:component",
      "title": "Tip Jar radio button",
      "description": "A tip picker with a jar. Choosing 10, 15, 20 or 25% drops that many coins into the jar one after another, each tumbling in and landing on the pile with a little bounce; picking less sends the extras back up out of the top. The amount updates underneath. Pure CSS.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/tip-jar/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-tip-jar.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-turntable",
      "type": "registry:component",
      "title": "Turntable radio button",
      "description": "A record player speed switch: Off, 33, 45 or 78 rpm. The tone arm swings onto the record when it plays, and the record changes speed smoothly without ever jumping: three nested spinners (33, +12, +33 rpm) are paused or played, never restarted, so their speeds simply add up. Pure CSS.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/turntable/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-turntable.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-blob",
      "type": "registry:component",
      "title": "Blob radio button",
      "description": "A liquid blob indicator morphs and slides between options using Framer Motion layoutId. The blob stretches horizontally during travel, then snaps back to a round pill shape, simulating organic liquid motion between selection points.",
      "author": "movin.design <https://movin.design>",
      "dependencies": [
        "framer-motion"
      ],
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/blob/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-blob.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-bubble",
      "type": "registry:component",
      "title": "Bubble radio button",
      "description": "A radio group with 30px spherical indicators that transform from a flat hollow ring into a 3D gel/bubble using a radial gradient highlight at the top-left and a specular gloss spot. Selected state glows with a soft white aura and inset shine.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/bubble/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-bubble.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-card",
      "type": "registry:component",
      "title": "Card radio button",
      "description": "A radio group where each option is a full card row with a title and subtitle. Selecting a card reveals a light left-edge accent stripe via inset box-shadow, brightens the border and background, brightens the subtitle, and springs a small dot indicator. Ideal for plan/tier selectors.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/card/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-card.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-clay",
      "type": "registry:component",
      "title": "Clay radio button",
      "description": "Soft clay morphing: selecting an option triggers a squish animation on the indicator dot (scaleX 1.3, scaleY 0.7 then spring back to 1,1), with a soft tonal fill and layered soft shadow. Feels like pressing a clay button.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/clay/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-clay.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-constellation",
      "type": "registry:component",
      "title": "Constellation radio button",
      "description": "On selection, five star dots appear around the option with SVG connecting lines forming a mini constellation. Each star twinkles with a looping opacity animation. Feels like the option is cosmically chosen.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/constellation/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-constellation.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-cursor",
      "type": "registry:component",
      "title": "Cursor radio button",
      "description": "A glowing gray pill indicator slides smoothly between selected options via translateY, acting like a cursor homing in on the active choice. Labels brighten on select; the pill springs with a cubic-bezier overshoot.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/cursor/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-cursor.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-elastic",
      "type": "registry:component",
      "title": "Elastic radio button",
      "description": "A rubber-band selection pill stretches horizontally as it springs between options via Framer Motion layoutId with high-stiffness spring physics. The distortion gives a tactile elastic band feel to the transition.",
      "author": "movin.design <https://movin.design>",
      "dependencies": [
        "framer-motion"
      ],
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/elastic/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-elastic.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-frost",
      "type": "registry:component",
      "title": "Frost radio button",
      "description": "A frosted glass pill slides between options using Framer Motion layoutId. The translucent backdrop-blur pill springs smoothly from one option to the next, giving a glassmorphism selection indicator.",
      "author": "movin.design <https://movin.design>",
      "dependencies": [
        "framer-motion"
      ],
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/frost/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-frost.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-gravity",
      "type": "registry:component",
      "title": "Gravity radio button",
      "description": "A selection ball falls from above with a gravity arc (ease-in) and multi-bounce settling via CSS keyframes. The ball squishes on landing and leaves a faint impact shadow. Physics-inspired with no library dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/gravity/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-gravity.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-hologram",
      "type": "registry:component",
      "title": "Hologram radio button",
      "description": "Selected option flickers with brightness spikes (CSS filter + translate offsets) then stabilizes into a softly glowing holographic state. Simulates a projector flickering to life, with subtle scan-line stripes overlay.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/hologram/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-hologram.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-ink-drop",
      "type": "registry:component",
      "title": "Ink Drop radio button",
      "description": "An ink blot spreads from the center of the selected radio dot, scaling from 0 to 1 with a dramatic ease-out cubic-bezier and slight overshoot. The ink bleeds into a rich dark fill with a subtle paper-like texture vibe.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/ink-drop/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-ink-drop.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-led",
      "type": "registry:component",
      "title": "LED radio button",
      "description": "A horizontal radio group styled as neumorphic LED indicator buttons. Unselected state is a dark recessed circle with deep inset shadows. Selected state lights up as a glowing white LED: radial gradient from bright center to deep gray, multi-layer glow box-shadow, and a slow repeating pulse.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/led/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-led.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-magnetic",
      "type": "registry:component",
      "title": "Magnetic radio button",
      "description": "The selection indicator snaps to the chosen option with a magnetic spring-overshoot cubic-bezier: fast pull-in followed by a damped overshoot, simulating ferromagnetic attraction. Field lines ripple out on snap.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/magnetic/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-magnetic.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-matrix",
      "type": "registry:component",
      "title": "Matrix radio button",
      "description": "On selection, the label characters cycle through random glyphs (0–9, symbols) before resolving to the real character: a Matrix-style decode effect. Monospace light gray font on dark background. Each character resolves on a staggered delay.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/matrix/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-matrix.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-neon-trace",
      "type": "registry:component",
      "title": "Neon Trace radio button",
      "description": "An SVG rectangle border traces around the selected option using stroke-dashoffset animation, drawing a neon white circuit-board outline from the top-left corner around the full perimeter. The glow persists after tracing.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/neon-trace/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-neon-trace.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-neural",
      "type": "registry:component",
      "title": "Neural radio button",
      "description": "Six node dots arranged in a hexagonal halo around the radio indicator light up in ripple sequence with staggered animation-delay on selection, connected by faint SVG lines. Simulates a neural network firing pattern.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/neural/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-neural.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-offset-block",
      "type": "registry:component",
      "title": "Offset Block radio button",
      "description": "Neo-brutalist hard offset shadow: unselected options sit with a (4px, 4px) black drop-shadow offset; on selection the shadow collapses to (0,0) with a snappy transition, as if the block was pushed flush into the wall.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/offset-block/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-offset-block.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-pillow",
      "type": "registry:component",
      "title": "Pillow radio button",
      "description": "Neumorphic soft UI: unselected options have raised outer shadows creating a pillowed surface. Selecting presses it inward with dual inset shadows (dark and light), simulating a physical depression on a soft matte charcoal surface.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/pillow/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-pillow.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-pixel",
      "type": "registry:component",
      "title": "Pixel radio button",
      "description": "8-bit retro radio: a 4×4 grid of micro-pixels fills in sequentially with staggered CSS animation-delay on selection, like a low-res screen rendering pixel-by-pixel. Each pixel pops in from scale 0 to 1.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/pixel/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-pixel.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-prism",
      "type": "registry:component",
      "title": "Prism radio button",
      "description": "On selection, a metallic gradient sweeps left-to-right across the selected label via CSS background-position animation, then settles into a bright chrome finish. Other options show dim monochrome text.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/prism/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-prism.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-radar",
      "type": "registry:component",
      "title": "Radar radio button",
      "description": "A sci-fi radio group where selecting an option fires two concentric white rings outward in a looping radar-ping animation. The indicator core glows with a radial gradient and a center dot springs in. Monospace labels shift from dim to bright white.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/radar/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-radar.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-ripple",
      "type": "registry:component",
      "title": "Ripple radio button",
      "description": "Three concentric ripple rings expand outward from the radio dot center on selection, with staggered 120ms delays. The rings fade as they grow, then collapse, leaving a solid glowing ring. Water-drop tactile feedback.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/ripple/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-ripple.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-scan-line",
      "type": "registry:component",
      "title": "Scan Line radio button",
      "description": "A white horizontal scan line sweeps left-to-right across the selected option on every selection change, then fades out leaving a glowing underline. Sci-fi terminal aesthetic with monospace labels.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/scan-line/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-scan-line.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-signal",
      "type": "registry:component",
      "title": "Signal radio button",
      "description": "On selection, three concentric arc rings broadcast outward like a radio transmission signal. Each arc scales and fades in sequence (120ms stagger), then a persistent inner glow ring settles. The radio icon vibe made literal.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/signal/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-signal.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-spring",
      "type": "registry:component",
      "title": "Spring radio button",
      "description": "A radio group where selecting an option springs a gray inner dot in with overshoot, adds a soft glow ring on the outer circle, and brightens the label. Mutual exclusivity via native radio semantics.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/spring/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-spring.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-stamp",
      "type": "registry:component",
      "title": "Stamp radio button",
      "description": "Neo-brutalist rubber-stamp interaction: selecting an option scales it down (0.97) with a hard inset shadow, as if physically pressed into the surface. Bold black borders and high-contrast ink-black fills complete the aesthetic.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/stamp/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-stamp.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-targeting",
      "type": "registry:component",
      "title": "Targeting radio button",
      "description": "Four L-shaped corner brackets animate inward and lock around the selected option like a targeting reticle. The option glows white inside the locked frame. Unselected options show retracted ghost brackets.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/targeting/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-targeting.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-typewriter",
      "type": "registry:component",
      "title": "Typewriter radio button",
      "description": "On selection, the option label types character-by-character at 50ms intervals with a blinking cursor. Switching options clears the previous and re-types the new one, giving each selection a deliberate, terminal-like personality.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/typewriter/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-typewriter.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "radio-xp-bar",
      "type": "registry:component",
      "title": "XP Bar radio button",
      "description": "Gaming-style XP progress bar fills left-to-right on selection with a gradient bar and particle burst effect. Selecting an option \"awards XP\": the bar charges from 0% to 100% and confetti sparks pop at the fill edge.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "radios"
      ],
      "meta": {
        "url": "https://movin.design/components/radios/xp-bar/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/radio-xp-bar.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-abacus",
      "type": "registry:component",
      "title": "Abacus slider",
      "description": "A counter of ten beads on a rod: drag the gap and the beads slide across one after another, knocking to a stop against the row with a small rebound.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/abacus/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-abacus.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-ascii",
      "type": "registry:component",
      "title": "ASCII slider",
      "description": "A volume slider drawn entirely in monospace characters, [=====> ] style: the bar redraws one character at a time and the head spins while you drag.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/ascii/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-ascii.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-band",
      "type": "registry:component",
      "title": "Band slider",
      "description": "A time range whose fill is a rubber band looped round two pegs: it thins as you pull the pegs apart and thickens as they close, buzzes as you drag and twangs when you let go.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/band/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-band.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-brush",
      "type": "registry:component",
      "title": "Brush slider",
      "description": "A flow slider whose fill is a single brush stroke: it lands at half pressure, runs solid at the start and dry and streaky by the end, with a wet edge at the thumb.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/brush/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-brush.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-cast",
      "type": "registry:component",
      "title": "Cast slider",
      "description": "A light slider whose thumb is a small lamp: the scale ticks stand up from the track and each throws a shadow away from it, long far off and short close by, swinging round as the lamp passes.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/cast/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-cast.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-clamp",
      "type": "registry:component",
      "title": "Clamp slider",
      "description": "An inset slider drawn as a vice: drag either jaw and both close in from the ends together, and once they reach the word between them they squeeze it narrower.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/clamp/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-clamp.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-comb",
      "type": "registry:component",
      "title": "Comb slider",
      "description": "A slider made of fine ticks that rise around the thumb like a magnified dock, lean the way you drag, harder the faster you go, and stand back up when you stop.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/comb/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-comb.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-delta",
      "type": "registry:component",
      "title": "Delta slider",
      "description": "Grab the thumb and a ghost stays at the value you started from, with a bracket and a signed change between them; let go and the ghost slides over and joins the thumb.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/delta/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-delta.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-depth",
      "type": "registry:component",
      "title": "Depth slider",
      "description": "The numbers along the scale are sharp near the thumb and fall out of focus further away, and the plane of focus trails the thumb and hunts past it a little, like a lens racking focus.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/depth/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-depth.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-domino",
      "type": "registry:component",
      "title": "Domino slider",
      "description": "A count slider whose track is a row of dominoes: drag forward and they topple one into the next to make the fill, drag back and they stand up again.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/domino/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-domino.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-drain",
      "type": "registry:component",
      "title": "Drain slider",
      "description": "A segmented health bar: take some away and the lost chunk flashes and drains after a beat; add some and a ghost shows the new level while the bar fills up to it.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/drain/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-drain.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-extrude",
      "type": "registry:component",
      "title": "Extrude slider",
      "description": "A storage bar seen from a little above: the filled part rises out of the track as a solid block with shaded faces, and grows taller while you hold it.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/extrude/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-extrude.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-figure",
      "type": "registry:component",
      "title": "Figure slider",
      "description": "A slider whose number is the thumb: the figure rides a hairline that parts around it and leans into the drag like italic type, then rights itself with a small swing when you let go.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/figure/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-figure.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-foam",
      "type": "registry:component",
      "title": "Foam slider",
      "description": "The track is a slab of memory foam: the thumb presses a dent into it, deeper while you hold it, and where the thumb has just been the dent fills back in slowly.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/foam/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-foam.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-foil",
      "type": "registry:component",
      "title": "Foil slider",
      "description": "A brightness slider in brushed metal with a polished bead for a thumb: the sheen slides back across the metal as you drag, like foil tilting under a light, and the bead's highlight shifts with it.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/foil/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-foil.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-fuse",
      "type": "registry:component",
      "title": "Fuse slider",
      "description": "A delay slider drawn as a burning fuse: the cord still to burn is the fill, ash lies ahead of the thumb, and the spark at the thumb fizzes and spits more embers the faster you drag.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/fuse/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-fuse.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-gap",
      "type": "registry:component",
      "title": "Gap slider",
      "description": "A thick-track slider split by a slim handle with a gap either side of it: the handle thins as you press, the value rises above it in a pill, and a stop dot marks the end.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/gap/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-gap.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-glass",
      "type": "registry:component",
      "title": "Glass slider",
      "description": "A volume slider whose solid thumb turns into a glass lens while you hold it, magnifying the track underneath, then turns solid again when you let go.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/glass/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-glass.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-glide",
      "type": "registry:component",
      "title": "Glide slider",
      "description": "A slider with momentum: flick the thumb and it keeps gliding, slowing with friction, and bounces off the ends with a squash.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/glide/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-glide.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-halftone",
      "type": "registry:component",
      "title": "Halftone slider",
      "description": "An ink coverage slider printed in halftone: dots far behind the thumb swell and fuse into solid ink, thinning to fine points at its edge, with faint dots ahead.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/halftone/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-halftone.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-histogram",
      "type": "registry:component",
      "title": "Histogram slider",
      "description": "A price range drawn over its own histogram: bars inside the two handles rise to full ink, bars outside sink and fade, and the count of results updates as you drag.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/histogram/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-histogram.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-hop",
      "type": "registry:component",
      "title": "Hop slider",
      "description": "A ten-step slider whose thumb hops from step to step in little arcs, squashing as it lands, with a dotted trace of each jump fading behind it.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/hop/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-hop.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-invert",
      "type": "registry:component",
      "title": "Invert slider",
      "description": "A wide volume bar with its label inside: the fill sweeps under the words and inverts them where it covers them, and the speaker icon gains and loses waves as you go.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/invert/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-invert.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-keys",
      "type": "registry:component",
      "title": "Keys slider",
      "description": "A note picker drawn as a two-octave keyboard: the key under the thumb goes down and darkens, its neighbours dip a little, and the note name rides above.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/keys/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-keys.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-lift",
      "type": "registry:component",
      "title": "Lift slider",
      "description": "An opacity slider whose thumb you pick up: it lifts off the track over a softening shadow and swings as you drag, then drops back with a squash and a ripple.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/lift/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-lift.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-louvre",
      "type": "registry:component",
      "title": "Louvre slider",
      "description": "A light slider made of slats that turn face-on as the thumb passes over them and edge-on as it leaves, so every drag sends a wave along the row.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/louvre/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-louvre.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-magnet",
      "type": "registry:component",
      "title": "Magnet slider",
      "description": "A recommended value marked on the track pulls the thumb in when you drag close, with the pin leaning towards it and a pulse when it catches; drag on past to break free.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/magnet/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-magnet.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-merge",
      "type": "registry:component",
      "title": "Merge slider",
      "description": "A price range with two thumbs, each with its value above it; bring them close and the two labels slide together and merge into one range label.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/merge/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-merge.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-needles",
      "type": "registry:component",
      "title": "Needles slider",
      "description": "A row of compass needles above the track all swing to point at the thumb; the ones it has passed are inked, the ones ahead stay faint, and they wobble a little as they settle.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/needles/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-needles.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-nib",
      "type": "registry:component",
      "title": "Nib slider",
      "description": "The thumb is a pen nib and the fill is the line it draws: drag slowly for a heavy stroke and quickly for a hairline, so the fill keeps a record of how you moved.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/nib/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-nib.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-nudge",
      "type": "registry:component",
      "title": "Nudge slider",
      "description": "The value label rides above the thumb and shoves the Off and Max labels out of the way as it comes near: they get knocked down, out and tipped over, so the three never overlap.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/nudge/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-nudge.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-peel",
      "type": "registry:component",
      "title": "Peel slider",
      "description": "A coverage slider whose fill is a strip of masking tape with its end folded back: drag back to peel it up, with the flap lifting higher the faster you pull, and forward to press it down.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/peel/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-peel.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-pill",
      "type": "registry:component",
      "title": "Pill slider",
      "description": "At rest it is a small chip with a speaker icon and the value; hover, focus or tap it and it unfolds into a full volume slider, then folds back once you are done.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/pill/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-pill.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-pinion",
      "type": "registry:component",
      "title": "Pinion slider",
      "description": "A rack and pinion: the track is a toothed rack and the thumb a gear that turns as it rolls along, its teeth meshing with the rack, the travelled length inked.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/pinion/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-pinion.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-pleat",
      "type": "registry:component",
      "title": "Pleat slider",
      "description": "A slider whose ribbon folds like an accordion: the part ahead of the thumb is pleated and packs tighter as you push, then pulls flat again as you drag back.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/pleat/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-pleat.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-plough",
      "type": "registry:component",
      "title": "Plough slider",
      "description": "The thumb is a blade pushing sand: behind it the floor is scraped clean as the fill, and pushing forward builds a heap against the blade, bigger the faster you push, that slumps flat when you stop.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/plough/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-plough.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-pluck",
      "type": "registry:component",
      "title": "Pluck slider",
      "description": "A tension slider drawn as a taut string with a bead for a thumb: press and the string bends under the bead, pull up or down to bend it further, and let go to make it twang.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/pluck/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-pluck.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-push",
      "type": "registry:component",
      "title": "Push slider",
      "description": "Three dividers on one track that cannot pass each other: drag one into the next and it shoves it along, so the four segments always add up to the whole.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/push/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-push.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-ratchet",
      "type": "registry:component",
      "title": "Ratchet slider",
      "description": "The thumb carries a pawl that rides over teeth cut in the track: it lifts up each ramp, drops off the edge into the next tooth and lands with a small click.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/ratchet/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-ratchet.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-rubber",
      "type": "registry:component",
      "title": "Rubber slider",
      "description": "A tall brightness capsule: drag past either end and it stretches after your finger, then springs back into shape when you let go, while the sun inside grows its rays.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/rubber/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-rubber.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-shuttle",
      "type": "registry:component",
      "title": "Shuttle slider",
      "description": "A spring-loaded shuttle from an edit suite: push the handle either way and the time runs faster the further you push it, with chevrons lighting up; let go and it springs back to centre.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/shuttle/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-shuttle.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-slosh",
      "type": "registry:component",
      "title": "Slosh slider",
      "description": "The fill is liquid in a sealed glass tube: drag and its face leans back against the motion, then sloshes forward past upright when you stop and settles level.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/slosh/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-slosh.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-spool",
      "type": "registry:component",
      "title": "Spool slider",
      "description": "A length slider whose thumb is a spool of thread: it rolls along the track laying its thread down as the fill, shrinking as it runs out and filling out again as it winds back.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/spool/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-spool.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-squiggle",
      "type": "registry:component",
      "title": "Squiggle slider",
      "description": "A playback scrubber whose played part is a travelling wave. Hold it and the wave settles flat so you can aim; let go and it ripples back, with the elapsed and total time below.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/squiggle/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-squiggle.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-strand",
      "type": "registry:component",
      "title": "Strand slider",
      "description": "A slider made of five strands drawn through a ring: behind the ring they lie bound together as the fill, and ahead they fan out loose, rippling away from the ring as you drag.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/strand/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-strand.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-strata",
      "type": "registry:component",
      "title": "Strata slider",
      "description": "A slider whose fill is three layers of paper: the top one follows the thumb and the ones underneath trail on softer springs, so a drag fans their edges out and they settle back into a stack.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/strata/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-strata.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-strobe",
      "type": "registry:component",
      "title": "Strobe slider",
      "description": "A slider whose thumb leaves fading afterimages as it moves, like a strobe photograph: spread far apart on a fast drag and bunched up on a slow one.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/strobe/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-strobe.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-tally",
      "type": "registry:component",
      "title": "Tally slider",
      "description": "A streak counter drawn as tally marks: each mark draws itself in with a pen stroke, every fifth strikes through the four before it, and going back rubs them out from the end.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/tally/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-tally.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-tempo",
      "type": "registry:component",
      "title": "Tempo slider",
      "description": "A tempo slider whose thumb keeps time at the tempo you set: every beat it kicks and sends a ring and a pulse running both ways down the track, with every fourth beat accented.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/tempo/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-tempo.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-thumbwheel",
      "type": "registry:component",
      "title": "Thumbwheel slider",
      "description": "An exposure control set as a knurled roller in a slot: drag across it and the ridges roll past with real curvature, clicking into each third of a stop, with a fine line below showing where you are in the range.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/thumbwheel/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-thumbwheel.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-twist",
      "type": "registry:component",
      "title": "Twist slider",
      "description": "A slider whose track is a ribbon with a half twist at the thumb: ink on one face, paper on the other. Drag fast and the twist stretches out behind you, then tightens as you stop.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/twist/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-twist.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-vernier",
      "type": "registry:component",
      "title": "Vernier slider",
      "description": "A scrubber with fine control: drag down away from the track and the thumb slows to half, quarter, then fine speed, while the scale above zooms in around it and names the speed.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/vernier/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-vernier.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-vial",
      "type": "registry:component",
      "title": "Vial slider",
      "description": "A stereo balance control shaped like a spirit level: the thumb is the air bubble, which stretches as it moves, wobbles as it stops and settles between the two centre marks.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/vial/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-vial.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-wedge",
      "type": "registry:component",
      "title": "Wedge slider",
      "description": "A volume slider shaped as a ramp: the track widens from a hairline to a full wedge, the fill brightens towards the thumb, and the whole ramp swells while you hold it.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/wedge/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-wedge.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-zero",
      "type": "registry:component",
      "title": "Zero slider",
      "description": "A bipolar exposure slider: the fill grows from the centre in either direction, the thumb sticks at zero for a moment as a drag crosses it, and the sign flips over.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/zero/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-zero.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-balance",
      "type": "registry:component",
      "title": "Balance slider",
      "description": "A save and spend split drawn as a balance scale: the heavier pan tips down, overshooting a little before it settles, and the reading shows both shares.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/balance/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-balance.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-bass",
      "type": "registry:component",
      "title": "Bass slider",
      "description": "A bass slider as a speaker: the woofer cone pumps harder and throws a wider shock ring around the cabinet the more bass you add.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/bass/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-bass.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-bow",
      "type": "registry:component",
      "title": "Bow slider",
      "description": "A draw-weight slider as a bow: drag and the string pulls back with the arrow while the limbs bend further, with the weight in pounds below.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/bow/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-bow.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-bubble",
      "type": "registry:component",
      "title": "Bubble slider",
      "description": "An opacity slider whose value bubble leans against the drag like it has weight, harder the faster you move, then swings upright once the thumb rests.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/bubble/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-bubble.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-candle",
      "type": "registry:component",
      "title": "Candle slider",
      "description": "A burn time slider drawn as a candle: it melts down to a stub as the hours pass, drips lengthen down its side and the flame and glow follow it down.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/candle/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-candle.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-coins",
      "type": "registry:component",
      "title": "Coins slider",
      "description": "A tip slider as a stack of coins: every dollar drops another coin onto the stack with a bounce, and taking one off lifts it back into the air.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/coins/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-coins.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-compare",
      "type": "registry:component",
      "title": "Compare slider",
      "description": "A before-and-after comparison: drag the divider across two versions of a page and each side reveals more of its version, with the label on each.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/compare/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-compare.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-crowd",
      "type": "registry:component",
      "title": "Crowd slider",
      "description": "An expected guests slider drawn as a room of seats: people pop into their seats in a scattered order as the number grows, the way a room fills up.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/crowd/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-crowd.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-curl",
      "type": "registry:component",
      "title": "Curl slider",
      "description": "A page turn slider: the corner of the page curls back as you drag, showing the next chapter underneath, until the page has turned.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/curl/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-curl.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-daylight",
      "type": "registry:component",
      "title": "Daylight slider",
      "description": "A time-of-day slider: the sun arcs across the sky from sunrise to sunset, the sky brightens towards noon, the stars fade out and the clock reads the time.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/daylight/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-daylight.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-dial",
      "type": "registry:component",
      "title": "Dial slider",
      "description": "A gain knob: drag sideways or use the arrow keys and the knob turns through its sweep while a ring of lights fills in around it.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/dial/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-dial.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-drawbridge",
      "type": "registry:component",
      "title": "Drawbridge slider",
      "description": "A drawbridge slider: the two leaves lift apart as you drag; while it is down a car drives across, and once it is well open a boat sails through underneath.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/drawbridge/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-drawbridge.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-fader",
      "type": "registry:component",
      "title": "Fader slider",
      "description": "A mixing-desk channel fader: push the cap up its groove past the dB scale and the stereo meter beside it bounces up to the level you set, with the reading in decibels below.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/fader/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-fader.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-fan",
      "type": "registry:component",
      "title": "Fan slider",
      "description": "A fan-speed slider with five settings: the blades spool up and wind down smoothly rather than jumping, and air lines stream off faster at each step.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/fan/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-fan.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-focus",
      "type": "registry:component",
      "title": "Focus slider",
      "description": "A camera focus slider: the scene sharpens from a blur as you drag, the focus box closes in on the subject, and at sharp focus it locks with a flash and the AF light comes on.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/focus/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-focus.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-goo",
      "type": "registry:component",
      "title": "Goo slider",
      "description": "A liquid volume slider: the fill and the thumb are one blob, and a drop pulls off the thumb and melts back into it as you drag.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/goo/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-goo.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-grow",
      "type": "registry:component",
      "title": "Grow slider",
      "description": "A watering slider for a potted plant: the stem rises, leaves pop out along it in turn and the flower opens at the top once it is fully watered.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/grow/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-grow.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-hourglass",
      "type": "registry:component",
      "title": "Hourglass slider",
      "description": "A timer slider as an hourglass: drag up to add minutes and the sand flows back into the top bulb, while the stream keeps trickling into the pile below.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/hourglass/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-hourglass.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-iris",
      "type": "registry:component",
      "title": "Iris slider",
      "description": "An aperture slider drawn as a lens iris: the blades close in and turn as you stop down from f/1.4 to f/16, and the soft lights behind sharpen into focus.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/iris/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-iris.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-mood",
      "type": "registry:component",
      "title": "Mood slider",
      "description": "A rating slider with a face: drag and the mouth bends from a frown to a grin, the brows go from worried to raised, the eyes widen and a word names the mood.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/mood/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-mood.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-notch",
      "type": "registry:component",
      "title": "Notch slider",
      "description": "A size picker with five detents: the thumb clicks into each notch with a little overshoot, the notch pulses and the chosen size label lifts.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/notch/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-notch.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-odometer",
      "type": "registry:component",
      "title": "Odometer slider",
      "description": "A budget slider with an odometer: each digit of the amount rolls on its own drum to the new value, a beat apart, and leading zeros fold away.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/odometer/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-odometer.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-overcast",
      "type": "registry:component",
      "title": "Overcast slider",
      "description": "A cloud cover slider: clouds drift in from either side one after another as the cover rises, the sky greys over and the sun dims behind them.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/overcast/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-overcast.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-pitch",
      "type": "registry:component",
      "title": "Pitch slider",
      "description": "An oscilloscope frequency slider: the wave on the screen tightens and runs faster as the pitch climbs, with the reading in hertz across three octaves.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/pitch/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-pitch.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-pour",
      "type": "registry:component",
      "title": "Pour slider",
      "description": "A fill-level slider as a glass of water: drag up and the glass fills, the surface rolling and bubbles rising through it, with the level marked on a scale beside the glass.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/pour/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-pour.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-radius",
      "type": "registry:component",
      "title": "Radius slider",
      "description": "A corner-radius slider: the square softens into a circle as you drag, a guide shows the radius at its corner and the thumb itself rounds with it.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/radius/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-radius.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-rain",
      "type": "registry:component",
      "title": "Rain slider",
      "description": "A rainfall slider: more and more drops fall as the rate rises, the puddle spreads and ripples ring out on it, from a drizzle to a downpour.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/rain/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-rain.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-rings",
      "type": "registry:component",
      "title": "Rings slider",
      "description": "A tree age slider drawn as a cut stump: the trunk widens with the years and growth rings appear from the pith outwards, a little uneven like real wood.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/rings/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-rings.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-ruler",
      "type": "registry:component",
      "title": "Ruler slider",
      "description": "A weight picker as a tape measure: the ruler slides under a fixed marker as you drag and the big reading above changes kilogram by kilogram.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/ruler/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-ruler.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-shade",
      "type": "registry:component",
      "title": "Shade slider",
      "description": "An ink-strength picker: the track is the ramp from paper to full ink, the thumb carries the shade you pick, and the swatch beside the name fills with it.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/shade/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-shade.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-signal",
      "type": "registry:component",
      "title": "Signal slider",
      "description": "A signal-strength slider: five bars rise and light one by one as you drag, and a word for the strength changes from No signal to Excellent.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/signal/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-signal.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-speedo",
      "type": "registry:component",
      "title": "Speedo slider",
      "description": "A speed-limit slider as a car gauge: the needle sweeps the dial with a little overshoot, the lit arc follows it and the digital reading changes in km/h.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/speedo/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-speedo.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-spring",
      "type": "registry:component",
      "title": "Spring slider",
      "description": "A tension slider as a coil spring: drag and the spring stretches between the wall and the weight, its coils flattening out as it lengthens, with the force in newtons below.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/spring/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-spring.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-steep",
      "type": "registry:component",
      "title": "Steep slider",
      "description": "A tea-strength slider: the bag bobs in the cup, colour curls out of it into the water, steam rises and the strength word and steeping time change below.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/steep/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-steep.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-stretch",
      "type": "registry:component",
      "title": "Stretch slider",
      "description": "An opacity slider with an elastic thumb: drag fast and it stretches out behind itself, longer the faster it moves, then snaps back to a circle when you stop.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/stretch/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-stretch.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-telescope",
      "type": "registry:component",
      "title": "Telescope slider",
      "description": "A zoom slider as a telescope: the tubes slide out of each other and the moon in the eyepiece grows until its craters fill the view, with the magnification beside it.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/telescope/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-telescope.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-thermometer",
      "type": "registry:component",
      "title": "Thermometer slider",
      "description": "A temperature slider as a glass thermometer: the column climbs the scale and the reading changes in degrees; near the top, the bulb starts to bubble.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/thermometer/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-thermometer.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-throttle",
      "type": "registry:component",
      "title": "Throttle slider",
      "description": "A thrust slider for a rocket: the flame lengthens and flickers, the rocket lifts off its pad and shakes harder as it climbs, and at high thrust the stars start to streak past.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/throttle/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-throttle.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-tide",
      "type": "registry:component",
      "title": "Tide slider",
      "description": "A tide height slider drawn as a harbour: the water rises up the wall against its marks, the moored boat bobs up with it and the mooring line goes from slack to nearly straight.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/tide/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-tide.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-tracking",
      "type": "registry:component",
      "title": "Tracking slider",
      "description": "A letter-spacing slider: the letters of the word spread apart and draw together as you drag, each a beat after the one before, with the value in em below.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/tracking/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-tracking.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-trail",
      "type": "registry:component",
      "title": "Trail slider",
      "description": "A trail-distance slider over an elevation profile: drag and the hiker walks the line, the walked part fills in and the distance and height above update.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/trail/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-trail.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-weight",
      "type": "registry:component",
      "title": "Weight slider",
      "description": "A font-weight slider: the sample letters thicken from Thin to Black as you drag, and the weight name and number change below.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/weight/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-weight.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-window",
      "type": "registry:component",
      "title": "Window slider",
      "description": "A car window slider: the glass rolls down, a dog pokes its head out past a third of the way, wind starts to stream by halfway and near the bottom its ears flap.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/window/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-window.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-windsock",
      "type": "registry:component",
      "title": "Windsock slider",
      "description": "A wind speed slider drawn as a windsock: in calm air it hangs limp from the pole, and as the wind picks up it lifts level and fills, flapping faster, with the Beaufort name in the reading.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/windsock/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-windsock.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "slider-zipper",
      "type": "registry:component",
      "title": "Zipper slider",
      "description": "An unzip slider: drag the pull along and the zip opens behind it, the teeth parting along both edges in a widening V.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "sliders"
      ],
      "meta": {
        "url": "https://movin.design/components/sliders/zipper/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/slider-zipper.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-caret",
      "type": "registry:component",
      "title": "Caret tab set",
      "description": "Product tabs over a card whose pointer slides along its top edge to sit under the active tab, while the new text slides in from the side you moved towards.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/caret/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-caret.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-carry",
      "type": "registry:component",
      "title": "Carry tab set",
      "description": "Product tabs whose label flies down and grows into the panel heading when picked, while the old heading shrinks back up into its own tab.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/carry/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-carry.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-contents",
      "type": "registry:component",
      "title": "Contents tab set",
      "description": "Vertical tabs set like a contents page: italic numerals, and a leader line that draws out to the chosen chapter as its page fades in.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/contents/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-contents.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-expand",
      "type": "registry:component",
      "title": "Expand tab set",
      "description": "Icon tabs where the active one opens out to show its label inside a pill, while the others close back down to their icons.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/expand/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-expand.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-flock",
      "type": "registry:component",
      "title": "Flock tab set",
      "description": "Sales tabs with a dotted underline that flies to the new tab like a flock of birds: each dot takes its own arc, a beat after the last, and they line up again on landing.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/flock/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-flock.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-goo",
      "type": "registry:component",
      "title": "Goo tab set",
      "description": "A segmented control whose pill is liquid: it pours from tab to tab, stretching a thinning bridge behind it before it pulls back into one drop.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/goo/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-goo.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-hang",
      "type": "registry:component",
      "title": "Hang tab set",
      "description": "Venue tabs with the panel hung from the active tab on two cords: pick another and the hook slides over, setting the panel swinging before it settles.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/hang/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-hang.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-inchworm",
      "type": "registry:component",
      "title": "Inchworm tab set",
      "description": "Dashboard tabs with an underline that moves like an inchworm: its leading edge reaches the new tab first and the tail draws up behind it.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/inchworm/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-inchworm.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-kern",
      "type": "registry:component",
      "title": "Kern tab set",
      "description": "Collection tabs in small caps whose active label opens its letter spacing; the row reflows around it, so every other label slides aside to make room.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/kern/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-kern.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-marquee",
      "type": "registry:component",
      "title": "Marquee tab set",
      "description": "Showtime tabs with the active one framed in chasing marquee bulbs; pick another and the frame of lights travels across to it.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/marquee/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-marquee.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-measure",
      "type": "registry:component",
      "title": "Measure tab set",
      "description": "Inspector tabs with a designer's dimension line spanning the active tab and its width in pixels; it stretches across to the new tab while the number counts through every width on the way.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/measure/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-measure.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-notch",
      "type": "registry:component",
      "title": "Notch tab set",
      "description": "A bottom bar with a notch cut under the active icon, which rises into a floating circle above the bar; pick another and the notch flows along to it.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/notch/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-notch.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-orbit",
      "type": "registry:component",
      "title": "Orbit tab set",
      "description": "Planet tabs with a small moon orbiting the active label, passing behind it and in front of it on a tilted ellipse; pick another and it swings across into orbit around the new one.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/orbit/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-orbit.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-popup",
      "type": "registry:component",
      "title": "Popup tab set",
      "description": "Chapter tabs that lie flat on the page like a closed pop-up book: the active label stands up on its hinge with a little spring, and the one you left folds back down.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/popup/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-popup.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-puck",
      "type": "registry:component",
      "title": "Puck tab set",
      "description": "A segmented control with a raised puck sitting in a recessed groove: it leans into the slide like something with weight and settles flat when it stops.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/puck/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-puck.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-reorder",
      "type": "registry:component",
      "title": "Reorder tab set",
      "description": "Tabs you can drag into a new order, the others shuffling out of the way; Alt with the arrow keys moves them from the keyboard, and the new position is announced.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/reorder/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-reorder.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-ripple",
      "type": "registry:component",
      "title": "Ripple tab set",
      "description": "Library tabs where picking one sends a ripple through the letters of every label, starting from where you clicked and fading as it travels.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/ripple/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-ripple.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-rise",
      "type": "registry:component",
      "title": "Rise tab set",
      "description": "Uppercase tabs whose letters roll up one by one into the lit word, and keep rolling upward out of the word you left rather than back down, with a hairline rule sliding under the active tab.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/rise/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-rise.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-scroller",
      "type": "registry:component",
      "title": "Scroller tab set",
      "description": "More category tabs than fit: the row scrolls with faded edges and arrow buttons, and the one you pick glides to the middle under a sliding pill.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/scroller/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-scroller.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-shutter",
      "type": "registry:component",
      "title": "Shutter tab set",
      "description": "Camera mode tabs as icon buttons: the active one fills as six iris blades close over it, and they open again on the tab you left.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/shutter/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-shutter.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-split",
      "type": "registry:component",
      "title": "Split tab set",
      "description": "A segmented control that is one continuous bar until you pick: the active tab parts from it, with gaps opening either side and its corners rounding off into a pill of its own.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/split/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-split.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-stencil",
      "type": "registry:component",
      "title": "Stencil tab set",
      "description": "A segmented control whose pill inverts the labels exactly where it covers them, so letters split in two as it slides between tabs.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/stencil/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-stencil.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-string",
      "type": "registry:component",
      "title": "String tab set",
      "description": "Section tabs over a taut string with a bead weighing it down at the active tab: the bead slides over and the string twangs when it lands.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/string/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-string.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-swash",
      "type": "registry:component",
      "title": "Swash tab set",
      "description": "Restaurant tabs in italic serif: a calligraphic swash writes itself under the chosen word, ending in a small loop and a flick, while the old one unwrites.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/swash/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-swash.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-swipe",
      "type": "registry:component",
      "title": "Swipe tab set",
      "description": "Feed tabs over swipeable panels: drag the panels sideways and the underline tracks your finger between the tabs, snapping to the nearest when you let go.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/swipe/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-swipe.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-ticks",
      "type": "registry:component",
      "title": "Ticks tab set",
      "description": "Mail tabs over a row of fine ticks: the ticks under the active tab stand tall and bright, and switching sends that crest travelling across to the new one.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/ticks/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-ticks.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-tilt",
      "type": "registry:component",
      "title": "Tilt tab set",
      "description": "Appearance tabs on a beam balanced over a pivot: pick a tab and the beam tips towards it, so the ball rolls down to it, and the beam levels out as the ball arrives.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/tilt/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-tilt.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-tumble",
      "type": "registry:component",
      "title": "Tumble tab set",
      "description": "Forecast tabs whose pill turns over end on end like a domino, hinged on the edge it is heading for, once for every tab it crosses.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/tumble/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-tumble.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-tuner",
      "type": "registry:component",
      "title": "Tuner tab set",
      "description": "Radio station tabs on a tuning dial: the needle sweeps across the frequency scale to the one you pick, and the panel tunes in from static as it arrives.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/tuner/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-tuner.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-wheel",
      "type": "registry:component",
      "title": "Wheel tab set",
      "description": "Days of the week on a turning wheel: pick one and the wheel rolls it to the front while the rest turn away into depth.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/wheel/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-wheel.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-binder",
      "type": "registry:component",
      "title": "Binder tab set",
      "description": "A ring binder with index tabs down the edge of the page: the chosen tab pulls out and the page turns to its section.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/binder/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-binder.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-blinds",
      "type": "registry:component",
      "title": "Blinds tab set",
      "description": "Gallery tabs where the new picture appears behind a set of blinds that open across it, slat by slat.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/blinds/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-blinds.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-brackets",
      "type": "registry:component",
      "title": "Brackets tab set",
      "description": "Tabs marked by a pair of brackets: they glide over to the new label and clamp in around it with a little squeeze.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/brackets/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-brackets.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-browser",
      "type": "registry:component",
      "title": "Browser tab set",
      "description": "Browser tabs with curved feet: the new tab lifts into place, its icon spins once as the page loads and the page skeleton fades in.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/browser/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-browser.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-cabinet",
      "type": "registry:component",
      "title": "Cabinet tab set",
      "description": "Library card-catalogue drawers as vertical tabs: the chosen drawer pulls out and its index card rises beside it with the entry.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/cabinet/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-cabinet.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-clock",
      "type": "registry:component",
      "title": "Clock tab set",
      "description": "A world clock as tabs: pick a city and the clock hands spin forward to its local time, the minute hand whirling through the hours in between.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/clock/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-clock.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-constellation",
      "type": "registry:component",
      "title": "Constellation tab set",
      "description": "Constellations as tabs: the stars glide into the next shape, the old lines vanish and the new ones draw themselves in once the stars arrive.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/constellation/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-constellation.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-cube",
      "type": "registry:component",
      "title": "Cube tab set",
      "description": "Quarterly plans on the faces of a 3D cube: pick a quarter and the cube turns the short way round to that face.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/cube/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-cube.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-curtain",
      "type": "registry:component",
      "title": "Curtain tab set",
      "description": "Theatre acts as tabs: the curtains sweep shut, the scene changes behind them and they open again on the next act.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/curtain/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-curtain.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-decode",
      "type": "registry:component",
      "title": "Decode tab set",
      "description": "Project tabs where the heading scrambles through symbols and locks into the new words letter by letter, left to right.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/decode/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-decode.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-departures",
      "type": "registry:component",
      "title": "Departures tab set",
      "description": "Destination tabs on a split-flap board: pick a city and every letter of the destination, time and gate flaps over to the new one, cell by cell from left to right.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/departures/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-departures.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-develop",
      "type": "registry:component",
      "title": "Develop tab set",
      "description": "Trip tabs as instant photos: pick a place and the new print develops in its frame, surfacing dark and soft from a pale blank and clearing to full contrast.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/develop/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-develop.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-dock",
      "type": "registry:component",
      "title": "Dock tab set",
      "description": "App tabs in a dock that magnifies the icons near your pointer, with a dot under the open app and its screen above.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/dock/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-dock.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-editor",
      "type": "registry:component",
      "title": "Editor tab set",
      "description": "Code editor tabs: the accent line slides over to the new file and its lines of code come in one by one.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/editor/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-editor.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-envelope",
      "type": "registry:component",
      "title": "Envelope tab set",
      "description": "Letters from friends as postage-stamp tabs: pick a stamp and that friend's letter rises out of the envelope.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/envelope/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-envelope.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-fill",
      "type": "registry:component",
      "title": "Fill tab set",
      "description": "Drink tabs that fill up like a glass: the chosen tab fills from the bottom with a moving wave on top, and the one you left drains.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/fill/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-fill.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-flip",
      "type": "registry:component",
      "title": "Flip tab set",
      "description": "A contact card as tabs: the card flips over on its vertical axis to show the new side, turning left or right with the direction you moved.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/flip/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-flip.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-fold",
      "type": "registry:component",
      "title": "Fold tab set",
      "description": "Menu tabs where the new list unfolds down from its top edge like a paper flap, with a shadow lifting as it opens.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/fold/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-fold.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-folder",
      "type": "registry:component",
      "title": "Folder tab set",
      "description": "File folder tabs: the active tab rises and joins the folder body, and the new page of files slides up into it.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/folder/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-folder.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-headline",
      "type": "registry:component",
      "title": "Headline tab set",
      "description": "Newspaper section tabs: pick a section and the front page spins in from nowhere with its new headline, like a newsreel stop-press.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/headline/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-headline.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-hop",
      "type": "registry:component",
      "title": "Hop tab set",
      "description": "Feed tabs where a dot hops in an arc from the old tab to the new one and lands with a squash.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/hop/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-hop.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-ink",
      "type": "registry:component",
      "title": "Ink tab set",
      "description": "Mail tabs where ink spreads out from exactly where you pressed the tab and drains away from the one you left.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/ink/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-ink.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-jukebox",
      "type": "registry:component",
      "title": "Jukebox tab set",
      "description": "A jukebox song picker: the old record slides off the deck, the new one slides on and spins, the tonearm lifts and drops back, and an equaliser plays beside the title.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/jukebox/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-jukebox.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-keys",
      "type": "registry:component",
      "title": "Keys tab set",
      "description": "Tool tabs as keyboard keys: the active key stays pressed down with its light on, and the number keys switch tabs like shortcuts.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/keys/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-keys.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-lamp",
      "type": "registry:component",
      "title": "Lamp tab set",
      "description": "Reading tabs under a hanging lamp: the lamp swings over to the tab you pick, sways and settles, lighting it with a cone of light.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/lamp/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-lamp.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-lens",
      "type": "registry:component",
      "title": "Lens tab set",
      "description": "View tabs with a liquid glass lens: the glass slides to the new tab, stretching as it moves and settling with a wobble, blurring and brightening what is underneath.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/lens/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-lens.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-loupe",
      "type": "registry:component",
      "title": "Loupe tab set",
      "description": "Collection tabs read through a loupe: the magnifier glides to the chosen tab and inside it an enlarged copy of the row slides along in register, so the label is always magnified.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/loupe/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-loupe.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-metro",
      "type": "registry:component",
      "title": "Metro tab set",
      "description": "Stop tabs on a metro line: the train rides the line to the chosen stop, easing in and braking, its doors open once it stops and the stop's notes appear.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/metro/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-metro.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-passport",
      "type": "registry:component",
      "title": "Passport tab set",
      "description": "Trips as tabs: pick a country and its entry stamp slams onto the passport page, giving the page a jolt.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/passport/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-passport.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-piano",
      "type": "registry:component",
      "title": "Piano tab set",
      "description": "Song section tabs as piano keys: the key you choose stays pressed down, and a note floats up from it each time you play a new section.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/piano/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-piano.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-pixels",
      "type": "registry:component",
      "title": "Pixels tab set",
      "description": "Game level tabs: the new level shows through tile by tile as a cover of pixels clears in a scattered order.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/pixels/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-pixels.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-reels",
      "type": "registry:component",
      "title": "Reels tab set",
      "description": "A lunch slot machine: pick a dish and the lever pulls, the reel spins a full turn with a motion blur and stops on your pick.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/reels/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-reels.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-reveal",
      "type": "registry:component",
      "title": "Reveal tab set",
      "description": "Times of day as tabs: the new panel opens in a circle spreading from under the tab you picked, over the one you left.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/reveal/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-reveal.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-ribbon",
      "type": "registry:component",
      "title": "Ribbon tab set",
      "description": "Recipe tabs with a bookmark ribbon: it drops down onto the active tab while the old one pulls back up.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/ribbon/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-ribbon.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-scroll",
      "type": "registry:component",
      "title": "Scroll tab set",
      "description": "Decree tabs on a scroll: pick a numeral and the parchment unrolls from the top rod with its roll travelling down, revealing the new decree.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/scroll/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-scroll.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-selector",
      "type": "registry:component",
      "title": "Selector tab set",
      "description": "Mode tabs on a rotary selector: the knob turns to point at the chosen mode with a firm detent, and the labels sit round the dial at each stop.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/selector/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-selector.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-shelf",
      "type": "registry:component",
      "title": "Shelf tab set",
      "description": "Book spines as tabs: the book you pick tips forward off the shelf and the others settle back, and its title, author and a note appear below.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/shelf/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-shelf.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-squiggle",
      "type": "registry:component",
      "title": "Squiggle tab set",
      "description": "Notes tabs with a playful underline: it wiggles into a wave while it travels to the new tab and lies flat again once it arrives.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/squiggle/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-squiggle.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-stack",
      "type": "registry:component",
      "title": "Stack tab set",
      "description": "Payment cards as tabs: the chosen card comes to the front of the deck and the others shuffle back behind it.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/stack/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-stack.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-sticky",
      "type": "registry:component",
      "title": "Sticky tab set",
      "description": "Sticky flags on a notepad as to-do tabs: the chosen flag stands up and the note under it settles into place.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/sticky/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-sticky.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-stories",
      "type": "registry:component",
      "title": "Stories tab set",
      "description": "Story tabs as progress bars: each bar fills while its story plays and moves on by itself, pausing while you hover or focus, with a pause button.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/stories/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-stories.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-torch",
      "type": "registry:component",
      "title": "Torch tab set",
      "description": "Stream tabs lit by a soft torch that follows your pointer along the row, above an underline that slides to the active tab.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/torch/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-torch.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-trace",
      "type": "registry:component",
      "title": "Trace tab set",
      "description": "Photo library tabs where a line draws itself around the active tab and unwinds from the one you left.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/trace/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-trace.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-typewriter",
      "type": "registry:component",
      "title": "Typewriter tab set",
      "description": "Letter tabs whose text types itself out behind a blinking caret each time you switch.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/typewriter/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-typewriter.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "tab-wash",
      "type": "registry:component",
      "title": "Wash tab set",
      "description": "Palette tabs marked by a watercolour wash: the soft blot glides to the new tab and blooms into the paper, its edge roughened like paint soaking in.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "tabs"
      ],
      "meta": {
        "url": "https://movin.design/components/tabs/wash/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/tab-wash.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-broadcast",
      "type": "registry:component",
      "title": "Broadcast toggle",
      "description": "A go live switch drawn as a broadcast mast: switching on, the tip light blinks, rings of signal pulse out from the top and a live tag pops up.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/broadcast/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-broadcast.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-door",
      "type": "registry:component",
      "title": "Door toggle",
      "description": "A guest access switch drawn as a door: switching on, it swings open in 3D on its hinge and light spills out from the doorway across the floor.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/door/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-door.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-earbuds",
      "type": "registry:component",
      "title": "Earbuds toggle",
      "description": "A connect switch drawn as an earbuds case: the lid flips open on its hinge, both buds rise out one after the other and the status light comes on.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/earbuds/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-earbuds.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-flag",
      "type": "registry:component",
      "title": "Flag toggle",
      "description": "A flag for review switch: the flag runs up the pole from half-mast, unfurls and starts to wave; switching off, it slides back down limp.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/flag/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-flag.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-lid",
      "type": "registry:component",
      "title": "Lid toggle",
      "description": "A wake switch drawn as a laptop: the lid swings up from shut on its hinge and the screen glows awake, then a few lines of interface fade in.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/lid/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-lid.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-match",
      "type": "registry:component",
      "title": "Match toggle",
      "description": "A switch drawn as a match: it strikes along the box, sparks and catches into a flickering flame; switch it off and the flame goes out in a thread of smoke.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/match/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-match.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-mute",
      "type": "registry:component",
      "title": "Mute toggle",
      "description": "A sound switch: switching on, the sound waves spread from the speaker one after another and keep a soft pulse, and the mute slash wipes away.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/mute/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-mute.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-pen",
      "type": "registry:component",
      "title": "Pen toggle",
      "description": "An edit mode switch drawn as a fountain pen: switching on, the cap slides off the nib and parks behind the barrel, and the nib writes a little line of ink.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/pen/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-pen.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-umbrella",
      "type": "registry:component",
      "title": "Umbrella toggle",
      "description": "A rain cover switch: the umbrella snaps open with a springy flare, and the falling rain stops on the canopy instead of running through.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/umbrella/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-umbrella.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-webcam",
      "type": "registry:component",
      "title": "Webcam toggle",
      "description": "A camera switch drawn as a laptop webcam: the ridged privacy shutter slides off the lens and the camera light comes on; slide it back to cover it.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/webcam/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-webcam.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-arc",
      "type": "registry:component",
      "title": "Arc toggle",
      "description": "A high-voltage switch: off, two dim electrodes sit apart; on, a crackling arc jumps the gap and never holds still, the electrodes glow and the track lights faintly.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/arc/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-arc.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-binary",
      "type": "registry:component",
      "title": "Binary toggle",
      "description": "A debug-flag switch: a byte of zeros flips to ones bit by bit in a wave from the left, and back from the right when switched off.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/binary/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-binary.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-bloom",
      "type": "registry:component",
      "title": "Bloom toggle",
      "description": "A switch shaped like a flower: on, the bud opens its six petals one after another with a springy pop and the centre lights. Off, they fold back into a bud.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/bloom/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-bloom.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-cassette",
      "type": "registry:component",
      "title": "Cassette toggle",
      "description": "A playback switch shaped like a cassette: on, the reels spin and tape slowly winds from one spool to the other, and the play lamp lights.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/cassette/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-cassette.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-charge",
      "type": "registry:component",
      "title": "Charge toggle",
      "description": "A fast-charge switch shaped like a battery: the cells fill one by one, a bolt drops in, and the last cell keeps pulsing as if still charging. Off, they drain from the right.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/charge/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-charge.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-circuit",
      "type": "registry:component",
      "title": "Circuit toggle",
      "description": "A circuit switch: a chip slides into place on a small board, current runs along the traces from it, and the LEDs at the end light up.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/circuit/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-circuit.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-cradle",
      "type": "registry:component",
      "title": "Cradle toggle",
      "description": "A Newton's cradle switch: the raised ball at one end drops and strikes the row, and the impact lifts the ball at the far end, which stays up. Switching back runs it the other way.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/cradle/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-cradle.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-domino",
      "type": "registry:component",
      "title": "Domino toggle",
      "description": "A chain-reaction switch: the dominoes topple one after another, faster as the chain goes, and the last one rings the bell. Off, they stand back up in reverse, like a rewind.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/domino/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-domino.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-eclipse",
      "type": "registry:component",
      "title": "Eclipse toggle",
      "description": "A dark-mode switch as an eclipse: the moon slides over the sun, the track darkens, and the corona flares out round the covered disc and turns slowly.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/eclipse/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-eclipse.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-fuse",
      "type": "registry:component",
      "title": "Fuse toggle",
      "description": "An ignite switch: a spark burns along the fuse leaving ash behind it, and when it reaches the end the bulb pops on.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/fuse/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-fuse.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-glitch",
      "type": "registry:component",
      "title": "Glitch toggle",
      "description": "A glitch switch: the thumb teleports across in jerky jumps, trailed by offset ghost copies, while the scanlined track tears into displaced slices.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/glitch/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-glitch.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-helix",
      "type": "registry:component",
      "title": "Helix toggle",
      "description": "A sync switch: off, two strands lie flat and parallel; on, they twist into a turning double helix.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/helix/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-helix.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-hourglass",
      "type": "registry:component",
      "title": "Hourglass toggle",
      "description": "A focus-timer switch: the hourglass flips over and the sand runs through to the other bulb in a thin stream. Switching back flips it again and the sand runs back.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/hourglass/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-hourglass.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-hyperdrive",
      "type": "registry:component",
      "title": "Hyperdrive toggle",
      "description": "A warp switch on a starfield track: switching on, the ship jumps across and every star stretches into a hyperspace streak racing past; off, the stars settle back to dots.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/hyperdrive/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-hyperdrive.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-ignition",
      "type": "registry:component",
      "title": "Ignition toggle",
      "description": "An engine switch: turn the key in the ignition barrel and the dash lights sweep round it in sequence. Off, the key springs back and the lights go dark.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/ignition/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-ignition.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-keycard",
      "type": "registry:component",
      "title": "Keycard toggle",
      "description": "A hotel key-slot switch: on, the card slides down into the reader, the signal bars fill one by one and the light turns on. Off, it pops back up at an angle.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/keycard/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-keycard.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-knife",
      "type": "registry:component",
      "title": "Knife Switch toggle",
      "description": "A lab knife switch for main power: the blade drops from upright into the contact clips with a bounce and a spark, and the lamp on the base comes on. Off, it swings back up.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/knife/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-knife.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-lighthouse",
      "type": "registry:component",
      "title": "Lighthouse toggle",
      "description": "A beacon switch shaped like a lighthouse: on, the lamp lights and its beam sweeps round over a moving sea.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/lighthouse/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-lighthouse.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-magnet",
      "type": "registry:component",
      "title": "Magnet toggle",
      "description": "A magnetic lock switch: on, field lines flow round the magnet and the steel ball accelerates into it and hums against the poles; off, it is pushed away and coasts back.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/magnet/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-magnet.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-mitosis",
      "type": "registry:component",
      "title": "Mitosis toggle",
      "description": "A merge switch made of goo: a cell stretches, necks and splits, and the drop that breaks away re-forms as a full cell at the other end.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/mitosis/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-mitosis.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-morse",
      "type": "registry:component",
      "title": "Morse toggle",
      "description": "A signal switch that speaks Morse: off, the track spells OFF in dim dots and dashes; on, it keys in ON symbol by symbol and then transmits it on a loop.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/morse/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-morse.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-orbit",
      "type": "registry:component",
      "title": "Orbit toggle",
      "description": "An orbit switch: the planet travels half an orbit round the star with every press, always moving forward, and the star lights up when the switch is on.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/orbit/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-orbit.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-pinball",
      "type": "registry:component",
      "title": "Pinball toggle",
      "description": "A launch switch like a pinball lane: the plunger compresses and fires, the ball rattles off the end and drops into the hole, which lights up. Off, the ball rolls back.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/pinball/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-pinball.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-portal",
      "type": "registry:component",
      "title": "Portal toggle",
      "description": "A teleport switch: the ball dives into a portal at one end of the track, vanishes, and pops out of the portal at the other end; each gate flares as it passes through.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/portal/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-portal.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-prism",
      "type": "registry:component",
      "title": "Prism toggle",
      "description": "A spectrum switch: a beam of light enters the prism and, when on, fans out the other side into a spread of graded tones.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/prism/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-prism.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-projector",
      "type": "registry:component",
      "title": "Projector toggle",
      "description": "A hologram switch: a scanline figure floats on a cone of light above an emitter bar. Switching, it glitches out where it stands and rematerialises at the other end, and it flickers faintly while on.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/projector/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-projector.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-rack",
      "type": "registry:component",
      "title": "Rack & Pinion toggle",
      "description": "A rack-and-pinion switch: the thumb is a gear that rolls along a toothed rack, turning exactly as far as it travels, and lights up when it reaches the end stop.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/rack/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-rack.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-reactor",
      "type": "registry:component",
      "title": "Reactor toggle",
      "description": "A power switch whose thumb is a reactor core inside two gyro rings. Switching on, the thumb springs across, the rings spin up and brighten, the core glows and energy streams down the track.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/reactor/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-reactor.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-slingshot",
      "type": "registry:component",
      "title": "Slingshot toggle",
      "description": "A fling switch on an elastic band: pull the thumb back against the band and let go, and it fires across to the other side and wobbles to rest. A plain click flicks it over too.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/slingshot/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-slingshot.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-solar",
      "type": "registry:component",
      "title": "Solar toggle",
      "description": "A solar-charging switch: a small satellite unfolds its panels one by one on both sides, then light glints across the cells and its status light turns on.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/solar/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-solar.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-sprout",
      "type": "registry:component",
      "title": "Sprout toggle",
      "description": "An eco-mode switch: the stem grows out of the seed, two leaves unfurl one after the other and a bud pops at the top. Off, it all withdraws into the soil.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/sprout/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-sprout.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-swarm",
      "type": "registry:component",
      "title": "Swarm toggle",
      "description": "A night-lights switch: fireflies drift loosely around the track; switching on, they fly over and gather into a glowing ring that becomes the thumb.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/swarm/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-swarm.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-terminal",
      "type": "registry:component",
      "title": "Terminal toggle",
      "description": "A Wi-Fi switch as a tiny console: each change types the command in at a terminal pace and then prints the result, with a blinking cursor.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/terminal/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-terminal.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-tumble",
      "type": "registry:component",
      "title": "Tumble toggle",
      "description": "A shuffle switch: a die tumbles over its edges to the other end of the track, lifting at each corner, and a light comes on where it lands.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/tumble/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-tumble.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-waveform",
      "type": "registry:component",
      "title": "Waveform toggle",
      "description": "A sound switch: the speaker unmutes and a flat line springs up into a running sound wave.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/waveform/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-waveform.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-airplane",
      "type": "registry:component",
      "title": "Airplane toggle",
      "description": "Airplane mode where the thumb is the plane. Switching on, it races down the track, noses up to climb and leaves a dashed contrail behind it; switching off, it levels out and taxis back as the contrail fades. Pure CSS on a native switch.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/airplane/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-airplane.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-aperture",
      "type": "registry:component",
      "title": "Aperture toggle",
      "description": "A camera iris. Six overlapping blades swivel outward together to open a hexagon onto the lens glass, and swivel back to shut it. Pure CSS on a native switch: each blade is one rotated, translated plane.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/aperture/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-aperture.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-beam",
      "type": "registry:component",
      "title": "Beam toggle",
      "description": "A metal hilt as a switch. Switching on shoots a blade of white light out of the emitter with a soft halo that hums (a faint flicker) while it is lit, and the button on the hilt glows; switching off draws the blade back in, faster than it came out. Pure CSS on a native switch.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/beam/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-beam.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-blinds",
      "type": "registry:component",
      "title": "Blinds toggle",
      "description": "A window with venetian blinds. Switching on tilts the slats open one after another from the top, letting daylight through in stripes that also fall across the sill below; off tilts them shut again. Pure CSS on a native switch.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/blinds/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-blinds.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-candle",
      "type": "registry:component",
      "title": "Candle toggle",
      "description": "A candle as a switch. Switching on, the flame swells up off the wick with a warm glow around it and keeps flickering; switching off snuffs it, and a thin wisp of smoke curls up from the wick and fades.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/candle/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-candle.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-caps",
      "type": "registry:component",
      "title": "Caps Lock toggle",
      "description": "A latching keycap. Pressing it sinks the key into its well with a little overshoot and it stays half down while on, with the LED in its corner lit; pressing again pops it back up. Pure CSS on a native switch.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/caps/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-caps.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-cord",
      "type": "registry:component",
      "title": "Pull Cord toggle",
      "description": "A hanging lamp with a pull chain. Each switch tugs the cord down and lets it spring back with a bounce, and the bulb lights (or goes out) at the bottom of the pull, throwing a soft cone of light.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/cord/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-cord.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-eye",
      "type": "registry:component",
      "title": "Eye toggle",
      "description": "A visibility switch you can read at a glance. Off, the eye is shut with its lashes down; on, the lids part, the eye glances left and right, then settles and blinks now and then while it stays open. Pure CSS on a native switch.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/eye/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-eye.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-fan",
      "type": "registry:component",
      "title": "Fan toggle",
      "description": "A desk fan with its own switch. Switching on, the blades spin up with real momentum (and a motion-blur disc fades in as they get fast); switching off, they coast down and come to rest wherever they happen to stop, rather than snapping back.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/fan/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-fan.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-faucet",
      "type": "registry:component",
      "title": "Faucet toggle",
      "description": "A tap. Switching on lifts the lever and water pours from the spout, the stream running down into rippling rings on the basin; off drops the lever and the last of the stream falls away from the spout. Pure CSS on a native switch.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/faucet/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-faucet.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-flap",
      "type": "registry:component",
      "title": "Split Flap toggle",
      "description": "A departures board that reads OFF or ON. Switching clatters each letter through a few flaps on its own beat before it lands, top half falling and bottom half dropping into place; a letter that doesn't change stays put, as on a real board.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/flap/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-flap.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-neon-sign",
      "type": "registry:component",
      "title": "Neon Sign toggle",
      "description": "An OPEN sign as a switch. Off, the tubes are dark glass; on, the word stutters to life with a few flickers before burning steady with a glow that lights the board, and the E keeps catching now and then, like a real sign that needs a new transformer. Pure CSS on a native switch.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/neon-sign/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-neon-sign.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-padlock",
      "type": "registry:component",
      "title": "Padlock toggle",
      "description": "A lock switch: the thumb carries a padlock whose shackle stands open while it is off. Switching on slides it across and drops the shackle shut with a little bounce and a jolt of the body; switching off pops the shackle back up. Pure CSS on a native switch.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/padlock/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-padlock.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-pixel",
      "type": "registry:component",
      "title": "Pixel toggle",
      "description": "An 8-bit switch. Chunky pixel corners, a square thumb with a highlight pixel, and movement that jumps in five hard steps instead of gliding, with the track filling in a checker pattern a step behind it, like a sprite on an old console. Pure CSS (steps() timing).",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/pixel/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-pixel.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-rocker",
      "type": "registry:component",
      "title": "Rocker toggle",
      "description": "A wall light switch. The rocker paddle tips in 3D from one end to the other with a firm snap, its shading flipping as it turns toward the light, and a small LED on the plate glows when it is on. Pure CSS on a native switch.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/rocker/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-rocker.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-rotary",
      "type": "registry:component",
      "title": "Rotary toggle",
      "description": "A knurled knob that turns a quarter turn between OFF and ON and snaps into its detent with a little overshoot, while an arc around it fills from one mark to the other. Pure CSS on a native switch.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/rotary/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-rotary.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-seesaw",
      "type": "registry:component",
      "title": "Seesaw toggle",
      "description": "The track is a seesaw on a pivot and the thumb is a ball. Switching tips the beam the other way and the ball rolls downhill to the low end, picking up speed and actually rotating as it rolls (the stripe on it turns by the distance over its radius), then settles. Pure CSS on a native switch.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/seesaw/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-seesaw.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-shifter",
      "type": "registry:component",
      "title": "Shifter toggle",
      "description": "A gear stick in a gated plate. Switching on drives the knob out of P along its slot, round the corners and down into D, which lights up; off takes it back the same way. Pure CSS: the knob rides an offset-path drawn to match the groove.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/shifter/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-shifter.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-sleep",
      "type": "registry:component",
      "title": "Sleep toggle",
      "description": "Do not disturb. Off, the thumb holds a bell; switching on slides it across as the bell swings away and a moon turns in to replace it, the track goes night-dark with two stars, and little z's keep drifting up off the moon while it is on. Pure CSS on a native switch.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/sleep/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-sleep.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-zipper",
      "type": "registry:component",
      "title": "Zipper toggle",
      "description": "A zip as a switch. The pull slides along the track and the teeth interlock behind it as it goes; switching off runs it back and the two rows part again. Pure CSS on a native switch.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/zipper/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-zipper.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-checkbox",
      "type": "registry:component",
      "title": "Checkbox toggle",
      "description": "A square checkbox that fills with mid-gray on check. The SVG checkmark springs in with an overshoot scale: a completely different shape from pill-style toggles. No dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/checkbox/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-checkbox.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-expand",
      "type": "registry:component",
      "title": "Expand toggle",
      "description": "Instead of sliding, the thumb expands from a small circle in the corner to flood-fill the entire pill track in mid-gray. Toggling back shrinks it. No dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/expand/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-expand.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-flip",
      "type": "registry:component",
      "title": "Flip toggle",
      "description": "The thumb squishes flat at mid-travel then snaps back (like a coin flipping) as it moves between positions. Bright track on active state. No dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/flip/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-flip.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-glow",
      "type": "registry:component",
      "title": "Glow toggle",
      "description": "Toggle that emits a soft halo glow from the track when active. Box-shadow transitions in on activation, fades out on deactivation.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/glow/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-glow.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-gradient-track",
      "type": "registry:component",
      "title": "Gradient Track toggle",
      "description": "When active, the track background runs a drifting dark-to-light gray gradient on a loop, making the track itself feel alive. The thumb glows on active state. No dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/gradient-track/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-gradient-track.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-icon",
      "type": "registry:component",
      "title": "Icon toggle",
      "description": "A dark-mode toggle pill with a sun/moon icon swap. The track shifts from a deep charcoal gradient to a light gray gradient. The knob slides with spring and crossfades between a moon (off) and a sun with rays (on). Each icon counter-rotates 90° as it enters/exits.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/icon/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-icon.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-liquid",
      "type": "registry:component",
      "title": "Liquid toggle",
      "description": "A pill toggle where the knob stretches to fill the entire track mid-transit like a blob of mercury, then snaps back to a circle at the other end. Keyframe animates left + width + border-radius simultaneously for the liquid effect.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/liquid/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-liquid.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-neumorphic",
      "type": "registry:component",
      "title": "Neumorphic toggle",
      "description": "A dark neumorphic toggle with a recessed track and physically-raised knob created entirely from layered box-shadows. Off: dark extruded knob on dark track. On: light knob with glow slides right, track gains a soft inner glow.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/neumorphic/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-neumorphic.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-power",
      "type": "registry:component",
      "title": "Power toggle",
      "description": "A standalone 56px circular power button with no track. Off: dark neumorphic inset. On: radial white gradient with a multi-layer glow. Every click spins the power icon 360° and fires an outward ripple ring.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/power/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-power.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-segmented",
      "type": "registry:component",
      "title": "Segmented toggle",
      "description": "An iOS-style segmented control with two labelled options. A frosted-glass pill slides underneath the active segment, fundamentally different from a circular-thumb toggle. No dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/segmented/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-segmented.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-slide",
      "type": "registry:component",
      "title": "Slide toggle",
      "description": "Classic on/off toggle: the thumb slides with a spring overshoot and the track fades between colors. Pure CSS transitions, no dependencies.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/slide/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-slide.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-spring",
      "type": "registry:component",
      "title": "Spring toggle",
      "description": "Framer Motion spring physics drives both the thumb position and the track color: the thumb overshoots and bounces back with genuine physical weight.",
      "author": "movin.design <https://movin.design>",
      "dependencies": [
        "framer-motion"
      ],
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/spring/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-spring.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "toggle-squish",
      "type": "registry:component",
      "title": "Squish toggle",
      "description": "The thumb stretches horizontally as it slides, peaking at 1.5× width mid-travel before snapping back to a circle at the destination.",
      "author": "movin.design <https://movin.design>",
      "categories": [
        "toggles"
      ],
      "meta": {
        "url": "https://movin.design/components/toggles/squish/",
        "license": "MIT-0"
      },
      "files": [
        {
          "path": "registry/movin/toggle-squish.tsx",
          "type": "registry:component"
        }
      ]
    }
  ]
}
