{
  "$schema": "https://ui.shadcn.com/schema/registry.json",
  "name": "miseui",
  "homepage": "https://miseui.junsu4621.workers.dev",
  "items": [
    {
      "name": "accordion",
      "type": "registry:ui",
      "title": "Accordion",
      "description": "Stacked rows that open in place, so a long page of answers stays short until someone asks for one.",
      "dependencies": [
        "radix-ui",
        "motion",
        "lucide-react"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "display"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/accordion.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/accordion-classes.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "action-bar",
      "type": "registry:ui",
      "title": "Action Bar",
      "description": "Appears when items are selected, with the count, the actions and a way to clear, floating over the page, docked to its edge or sitting in the flow.",
      "dependencies": [
        "radix-ui",
        "lucide-react",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "overlays"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/action-bar.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/action-bar-parts.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/action-bar-state.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "agent-avatar",
      "type": "registry:ui",
      "title": "Agent Avatar",
      "description": "A deterministic SVG face for an agent: the same seed always draws the same overlapping blobs, in theme colours.",
      "registryDependencies": [
        "utils"
      ],
      "categories": [
        "effects"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/agent-avatar.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "alert",
      "type": "registry:ui",
      "title": "Alert",
      "description": "An in-page message with a title, description, action and dismiss, in neutral, success, warning and error tones and four layouts.",
      "dependencies": [
        "lucide-react",
        "motion",
        "radix-ui"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "feedback"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/alert.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/alert-parts.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "alert-dialog",
      "type": "registry:ui",
      "title": "Alert Dialog",
      "description": "A question that has to be answered before anything else, with focus on the safe answer, a typed confirmation for the worst cases and a bottom sheet on phones.",
      "dependencies": [
        "radix-ui",
        "lucide-react"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/button.json",
        "https://miseui.junsu4621.workers.dev/r/input.json"
      ],
      "categories": [
        "overlays"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/alert-dialog.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/alert-dialog-classes.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/alert-dialog-confirm.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "angle-slider",
      "type": "registry:ui",
      "title": "Angle Slider",
      "description": "A dial for rotation and other circular values: drags one to one under pointer capture, steps by keyboard, wraps past 360, with a ring, a marked compass, a small knob and a 270 degree gauge.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "forms"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/angle-slider.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/angle-slider-math.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/angle-slider-parts.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/angle-slider-state.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "animated-beam",
      "type": "registry:ui",
      "title": "Animated Beam",
      "description": "A line of light running between two real elements, measured so it follows every reflow: straight, bowed, stepped like a circuit or many sources into one hub.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils"
      ],
      "categories": [
        "interactions"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/animated-beam.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/animated-beam-hub.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/animated-beam-line.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/animated-beam-math.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/background-loop.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "app-shell",
      "type": "registry:ui",
      "title": "App Shell",
      "description": "The frame of an app: sidebar, top bar, list and detail, or one reading column, with a skip link and landmarks, following its own width rather than the viewport.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/sidebar.json"
      ],
      "categories": [
        "navigation"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/app-shell.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/app-shell-layouts.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "aspect-ratio",
      "type": "registry:ui",
      "title": "Aspect Ratio",
      "description": "Holds the space for media before it arrives, so the page does not jump, with a mat, an overlaid caption or an empty slot.",
      "dependencies": [
        "radix-ui",
        "lucide-react",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "display"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/aspect-ratio.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "aurora-background",
      "type": "registry:ui",
      "title": "Aurora Background",
      "description": "Light with height and direction: curtains from the top, a glow from the bottom edge, a ring behind the centre or one diagonal ribbon, with an optional slow drift.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/mesh-background.json"
      ],
      "categories": [
        "backgrounds"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/aurora-background.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "avatar",
      "type": "registry:ui",
      "title": "Avatar",
      "description": "A face or initials that identifies a person at a glance, alone or as an overlapping group with a +N.",
      "dependencies": [
        "radix-ui",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "display"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/avatar.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/avatar-tokens.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "badge",
      "type": "registry:ui",
      "title": "Badge",
      "description": "Small status chip in five variants; the warm mise variant is reserved for the one item that must stand out.",
      "dependencies": [
        "radix-ui",
        "class-variance-authority",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/beam-border.json",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "display"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/badge.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/badge-effects.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "beam-border",
      "type": "registry:ui",
      "title": "Beam Border",
      "description": "One beam of light travelling the border of the surface the model is working on, so the eye knows where to wait.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils"
      ],
      "categories": [
        "effects"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/beam-border.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "beams-background",
      "type": "registry:ui",
      "title": "Beams Background",
      "description": "Straight lines of light behind a section: a fan, lights on a grid, one slow band or soft shafts, quiet enough to keep the sentence on top first.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils"
      ],
      "categories": [
        "backgrounds"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/beams-background.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/beams-background-layout.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/background-loop.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/background-seed.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "before-after",
      "type": "registry:ui",
      "title": "Before After",
      "description": "Two versions of one thing, compared with a divider you drag or a lens that follows the pointer. A real slider, keyboard included.",
      "dependencies": [
        "lucide-react",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "display"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/before-after.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/before-after-geometry.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/before-after-state.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "breadcrumb",
      "type": "registry:ui",
      "title": "Breadcrumb",
      "description": "A trail from the root to the current page, with a nav landmark, a current marker and a middle that collapses into a menu.",
      "dependencies": [
        "lucide-react",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json",
        "https://miseui.junsu4621.workers.dev/r/dropdown-menu.json"
      ],
      "categories": [
        "navigation"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/breadcrumb.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/breadcrumb-parts.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "button",
      "type": "registry:ui",
      "title": "Button",
      "description": "Press target that answers on pointer-down: a 3% dip in 100 ms, so the click feels acknowledged.",
      "dependencies": [
        "radix-ui",
        "class-variance-authority",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/beam-border.json",
        "https://miseui.junsu4621.workers.dev/r/liquid-metal.json",
        "https://miseui.junsu4621.workers.dev/r/shimmer-text.json"
      ],
      "categories": [
        "forms"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/button.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/button-effects.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "button-group",
      "type": "registry:ui",
      "title": "Button Group",
      "description": "Related actions joined under one border, across or down, including a main action with a menu of its alternatives.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/dropdown-menu.json"
      ],
      "categories": [
        "forms"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/button-group.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "calendar",
      "type": "registry:ui",
      "title": "Calendar",
      "description": "A full-size calendar for showing what is on: month grid with labels, a seven day strip, a grouped agenda or a whole year, with a keyboard grid and any locale.",
      "dependencies": [
        "lucide-react",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "display"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/calendar.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/calendar-grid.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/calendar-views.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/calendar-math.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/calendar-state.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/date-picker-math.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "card",
      "type": "registry:ui",
      "title": "Card",
      "description": "Bordered surface with header, content and footer slots that reads as one region before anyone reads the text.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/beam-border.json",
        "https://miseui.junsu4621.workers.dev/r/materialize.json"
      ],
      "categories": [
        "display"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/card.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/card-effects.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "card-deck",
      "type": "registry:ui",
      "title": "Card Deck",
      "description": "A one-at-a-time deck for an argument told in order: a swipeable strip, a pile, story tap zones or titles beside the slide, with an optional rewind.",
      "dependencies": [
        "lucide-react",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "display"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/card-deck.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/card-deck-parts.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/card-deck-stages.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/card-deck-state.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "card-stack",
      "type": "registry:ui",
      "title": "Card Stack",
      "description": "A pile of things with no order: a scattered heap to drag through, a fan that spreads, a swipe to decide on each or notification rows that open into a list.",
      "dependencies": [
        "lucide-react",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json",
        "https://miseui.junsu4621.workers.dev/r/button.json"
      ],
      "categories": [
        "interactions"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/card-stack.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/card-stack-card.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/card-stack-cascade.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/card-stack-fan.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/card-stack-math.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/card-stack-pile.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/card-stack-swipe.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/background-loop.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/background-seed.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "carousel",
      "type": "registry:ui",
      "title": "Carousel",
      "description": "Slides on native scroll snapping with no library: swipe, buttons and arrow keys, as a single slide, visible neighbours, a stacked deck or a thumbnail strip.",
      "dependencies": [
        "lucide-react",
        "motion"
      ],
      "registryDependencies": [
        "utils"
      ],
      "categories": [
        "display"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/carousel.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/carousel-controls.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/carousel-parts.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/carousel-state.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "cascader",
      "type": "registry:ui",
      "title": "Cascader",
      "description": "Pick from nested options: columns on wide screens, one level at a time on phones, with search, full keyboard, lazy children and the path shown in the trigger.",
      "dependencies": [
        "lucide-react",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json",
        "https://miseui.junsu4621.workers.dev/r/popover.json",
        "https://miseui.junsu4621.workers.dev/r/spinner.json"
      ],
      "categories": [
        "forms"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/cascader.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/cascader-classes.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/cascader-columns.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/cascader-math.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/cascader-row.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/cascader-search.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/cascader-state.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "chart",
      "type": "registry:ui",
      "title": "Chart",
      "description": "Bar, line, area and donut charts from one data shape, hand-drawn in SVG with nice-number axes, keyboard points and a real data table for assistive tech.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "display"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/chart.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/chart-axes.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/chart-marks.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/chart-math.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/chart-model.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/chart-parts.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/chart-state.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "chat-assistant",
      "type": "registry:block",
      "title": "Chat Assistant",
      "description": "An AI chat that shows the model working, as a full screen, a panel docked beside the work, or a launcher that opens a small window.",
      "dependencies": [
        "lucide-react",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json",
        "https://miseui.junsu4621.workers.dev/r/agent-avatar.json",
        "https://miseui.junsu4621.workers.dev/r/beam-border.json",
        "https://miseui.junsu4621.workers.dev/r/button.json",
        "https://miseui.junsu4621.workers.dev/r/reasoning-steps.json",
        "https://miseui.junsu4621.workers.dev/r/shimmer-text.json",
        "https://miseui.junsu4621.workers.dev/r/streaming-text.json",
        "https://miseui.junsu4621.workers.dev/r/textarea.json",
        "https://miseui.junsu4621.workers.dev/r/thinking-orb.json",
        "https://miseui.junsu4621.workers.dev/r/tool-call-card.json"
      ],
      "categories": [
        "blocks"
      ],
      "files": [
        {
          "path": "registry/miseui/blocks/chat-assistant.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/chat-assistant-screen.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/chat-assistant-docked.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/chat-assistant-popup.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/chat-assistant-panel-state.ts",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/chat-assistant-work.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/chat-assistant-parts.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/chat-assistant-thread.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/chat-assistant-composer.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/chat-assistant-sample.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "checkbox",
      "type": "registry:ui",
      "title": "Checkbox",
      "description": "Square toggle that fills and draws its check within 150 ms of the press, and announces the change through aria-checked.",
      "dependencies": [
        "radix-ui",
        "lucide-react",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "forms"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/checkbox.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "click-spark",
      "type": "registry:ui",
      "title": "Click Spark",
      "description": "A wrapper that answers a press with a small burst from that point: lines, falling bits, one soft ring or a little confetti, on one canvas that only draws while something is alive.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils"
      ],
      "categories": [
        "interactions"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/click-spark.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/click-spark-engine.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/click-spark-math.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/background-seed.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "clipboard",
      "type": "registry:ui",
      "title": "Clipboard",
      "description": "One-press copy with a clear result: a lone icon, a code line, a read-only field or a labelled block, and a safe way out when the browser refuses.",
      "dependencies": [
        "lucide-react",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "forms"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/clipboard.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/clipboard-parts.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/clipboard-state.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "code-block",
      "type": "registry:ui",
      "title": "Code Block",
      "description": "Readable code without a highlighting library: a small tokenizer for ts, json and bash, line numbers, marked lines, wrap, copy, file tabs and diffs.",
      "dependencies": [
        "lucide-react",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json",
        "https://miseui.junsu4621.workers.dev/r/clipboard.json"
      ],
      "categories": [
        "display"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/code-block.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/code-block-bar.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/code-block-diff.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/code-block-lines.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/code-block-tokens.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "collapsible",
      "type": "registry:ui",
      "title": "Collapsible",
      "description": "One disclosure: a label that opens the detail under it, for the one thing most readers can skip.",
      "dependencies": [
        "radix-ui",
        "motion",
        "lucide-react"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "display"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/collapsible.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/collapsible-content.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/collapsible-classes.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "color-picker",
      "type": "registry:ui",
      "title": "Color Picker",
      "description": "A saturation square, hue and opacity sliders, typed hex and presets, in a popover, inline, as presets only, or as a compact field, with a thumb that never lags behind the hand.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json",
        "https://miseui.junsu4621.workers.dev/r/popover.json"
      ],
      "categories": [
        "forms"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/color-picker.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/color-picker-panel.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/color-picker-drag.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/color-picker-swatches.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/color-picker-state.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/color-picker-math.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "color-swatch",
      "type": "registry:ui",
      "title": "Color Swatch",
      "description": "Shows a colour with its name and value, alone or as a palette, with a label that stays readable on any fill and a checker under transparency.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "utils"
      ],
      "categories": [
        "display"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/color-swatch.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/color-swatch-math.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "combobox",
      "type": "registry:ui",
      "title": "Combobox",
      "description": "A searchable select for long lists, single or multiple, with people rows, section headers, chips and loading built in.",
      "dependencies": [
        "lucide-react",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json",
        "https://miseui.junsu4621.workers.dev/r/popover.json"
      ],
      "categories": [
        "forms"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/combobox.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/combobox-list.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/combobox-state.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/combobox-trigger.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "command",
      "type": "registry:ui",
      "title": "Command",
      "description": "A command palette with its own fuzzy search: groups, shortcuts, recent items, an empty state, full combobox and listbox semantics and a Mod+K helper.",
      "dependencies": [
        "lucide-react",
        "motion",
        "radix-ui"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "overlays"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/command.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/command-classes.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/command-list.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/command-score.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/command-state.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "context-menu",
      "type": "registry:ui",
      "title": "Context Menu",
      "description": "The menu that opens where you press: right-click, long press or the Menu key, with sub menus, check and radio items and shortcuts.",
      "dependencies": [
        "lucide-react",
        "radix-ui"
      ],
      "registryDependencies": [
        "utils"
      ],
      "categories": [
        "overlays"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/context-menu.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/context-menu-classes.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/context-menu-items.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "count-up",
      "type": "registry:ui",
      "title": "Count Up",
      "description": "A number that counts to its value without moving what sits beside it, formatted by Intl, with rolling digits, tiles or a meter line.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "text"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/count-up.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/count-up-figure.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/count-up-reels.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/count-up-math.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/count-up-roll.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "cta-section",
      "type": "registry:block",
      "title": "CTA Section",
      "description": "One clear thing to do, in three decisions: a plate that ends the page, text beside a piece of the product, or a slim row inside a long page.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/badge.json",
        "https://miseui.junsu4621.workers.dev/r/button.json"
      ],
      "categories": [
        "blocks"
      ],
      "files": [
        {
          "path": "registry/miseui/blocks/cta-section.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/cta-section-parts.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/cta-section-split.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "dashboard-overview",
      "type": "registry:block",
      "title": "Dashboard Overview",
      "description": "A product dashboard in three decisions: one number first, one large chart first, or the work list first with the numbers as one line.",
      "dependencies": [
        "lucide-react",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json",
        "https://miseui.junsu4621.workers.dev/r/button.json",
        "https://miseui.junsu4621.workers.dev/r/chart.json",
        "https://miseui.junsu4621.workers.dev/r/data-table.json",
        "https://miseui.junsu4621.workers.dev/r/skeleton.json",
        "https://miseui.junsu4621.workers.dev/r/status.json",
        "https://miseui.junsu4621.workers.dev/r/tabs.json"
      ],
      "categories": [
        "blocks"
      ],
      "files": [
        {
          "path": "registry/miseui/blocks/dashboard-overview.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/dashboard-overview-shell.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/dashboard-overview-body.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/dashboard-overview-analytics.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/dashboard-overview-table.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/dashboard-overview-parts.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/dashboard-overview-states.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/dashboard-overview-chart.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/dashboard-overview-sample.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "data-table",
      "type": "registry:ui",
      "title": "Data Table",
      "description": "Hand it rows and columns and get sorting, a filter box, selection, column visibility, pages, loading rows and bulk actions, with rows that turn into cards in a narrow container.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/table.json",
        "https://miseui.junsu4621.workers.dev/r/checkbox.json",
        "https://miseui.junsu4621.workers.dev/r/pagination.json",
        "https://miseui.junsu4621.workers.dev/r/popover.json",
        "https://miseui.junsu4621.workers.dev/r/input.json",
        "https://miseui.junsu4621.workers.dev/r/button.json",
        "https://miseui.junsu4621.workers.dev/r/skeleton.json"
      ],
      "categories": [
        "display"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/data-table.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/data-table-math.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/data-table-state.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/data-table-toolbar.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/data-table-views.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "date-picker",
      "type": "registry:ui",
      "title": "Date Picker",
      "description": "A calendar with no date library: single days or ranges, limits, a full keyboard grid and any locale, as a popover, inline, a typed field or two months with a band.",
      "dependencies": [
        "lucide-react",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json",
        "https://miseui.junsu4621.workers.dev/r/popover.json",
        "https://miseui.junsu4621.workers.dev/r/input.json"
      ],
      "categories": [
        "forms"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/date-picker.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/date-picker-calendar.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/date-picker-month.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/date-picker-typed.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/date-picker-state.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/date-picker-math.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "decision-cards",
      "type": "registry:ui",
      "title": "Decision Cards",
      "description": "A record of decisions: the question, what was chosen, what lost and why, for case studies, design docs and postmortems.",
      "dependencies": [
        "lucide-react",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "display"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/decision-cards.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/decision-cards-parts.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "decrypt-text",
      "type": "registry:ui",
      "title": "Decrypt Text",
      "description": "Text that starts unreadable and is decoded in place, on first view or behind a real button, with the sentence out of the accessibility tree until it opens.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/button.json",
        "https://miseui.junsu4621.workers.dev/r/scramble-text.json",
        "https://miseui.junsu4621.workers.dev/r/split-text.json"
      ],
      "categories": [
        "text"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/decrypt-text.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/decrypt-parts.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/decrypt-math.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "description-list",
      "type": "registry:ui",
      "title": "Description List",
      "description": "Labels and values on a real dl, as ruled rows, two columns, single lines or tiles, with a slot for a copy button and long values that wrap.",
      "dependencies": [],
      "registryDependencies": [
        "utils"
      ],
      "categories": [
        "display"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/description-list.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "dialog",
      "type": "registry:ui",
      "title": "Dialog",
      "description": "Modal surface that dims everything else and holds focus until the user answers one question.",
      "dependencies": [
        "radix-ui",
        "lucide-react"
      ],
      "registryDependencies": [
        "utils"
      ],
      "categories": [
        "overlays"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/dialog.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "dock",
      "type": "registry:ui",
      "title": "Dock",
      "description": "A row of icon buttons that swell near the pointer and rise without moving the page: a glass bar, bare tiles, a side rail or words under every icon.",
      "dependencies": [
        "motion",
        "radix-ui"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/tooltip.json"
      ],
      "categories": [
        "navigation"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/dock.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/dock-magnify.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/dock-math.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/pointer-fine.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "docs-layout",
      "type": "registry:block",
      "title": "Docs Layout",
      "description": "A documentation screen from a list of pages: nav, page and table of contents, one column for a short guide, or text beside its code. Collapses on phones.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/code-block.json",
        "https://miseui.junsu4621.workers.dev/r/collapsible.json",
        "https://miseui.junsu4621.workers.dev/r/sidebar.json",
        "https://miseui.junsu4621.workers.dev/r/table-of-contents.json"
      ],
      "categories": [
        "blocks"
      ],
      "files": [
        {
          "path": "registry/miseui/blocks/docs-layout.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/docs-layout-centered.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/docs-layout-parts.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/docs-layout-reference.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/docs-layout-sample.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/docs-layout-sidebar.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/docs-layout-state.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "dot-background",
      "type": "registry:ui",
      "title": "Dot Background",
      "description": "Small marks behind your content: an even dot field, a fading one, plus marks or a halftone growing toward one corner, with an optional colour around the pointer.",
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/grid-background.json"
      ],
      "categories": [
        "backgrounds"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/dot-background.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "drawer",
      "type": "registry:ui",
      "title": "Drawer",
      "description": "A panel that slides in from an edge for a side task, so the page you came from stays where you left it.",
      "dependencies": [
        "radix-ui",
        "motion",
        "lucide-react"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/sheet.json"
      ],
      "categories": [
        "overlays"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/drawer.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/drawer-classes.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/drawer-parts.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "dropdown-menu",
      "type": "registry:ui",
      "title": "Dropdown Menu",
      "description": "Compact menu of actions that opens from a button and closes on choice, with arrow-key navigation and a destructive variant.",
      "dependencies": [
        "radix-ui",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "navigation"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/dropdown-menu.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/dropdown-menu-effects.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "editable",
      "type": "registry:ui",
      "title": "Editable",
      "description": "Text that turns into a field in place without moving the page: Enter commits, Escape reverts, leaving commits or reverts by prop, with validation and optional buttons.",
      "dependencies": [
        "lucide-react",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "forms"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/editable.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/editable-parts.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/editable-state.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "empty",
      "type": "registry:ui",
      "title": "Empty",
      "description": "What a list or a search shows when it has nothing: an icon, a plain reason and the next step, centred, in a dashed slot, on a card or in one row.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "feedback"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/empty.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "empty-state",
      "type": "registry:block",
      "title": "Empty State",
      "description": "A first screen that gives people somewhere to start: worked examples, the first three things to do, or a ghost of the filled screen with sample data.",
      "dependencies": [
        "lucide-react",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json",
        "https://miseui.junsu4621.workers.dev/r/button.json",
        "https://miseui.junsu4621.workers.dev/r/checkbox.json",
        "https://miseui.junsu4621.workers.dev/r/progress.json",
        "https://miseui.junsu4621.workers.dev/r/status.json"
      ],
      "categories": [
        "blocks"
      ],
      "files": [
        {
          "path": "registry/miseui/blocks/empty-state.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/empty-state-checklist.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/empty-state-sample.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "error-page",
      "type": "registry:block",
      "title": "Error Page",
      "description": "A 404, 500 or offline screen with honest wording and a way out that can work: one sentence, beside places that still work, or a plain readout for developer tools.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/button.json",
        "https://miseui.junsu4621.workers.dev/r/clipboard.json"
      ],
      "categories": [
        "blocks"
      ],
      "files": [
        {
          "path": "registry/miseui/blocks/error-page.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/error-page-copy.ts",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/error-page-parts.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/error-page-split.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/error-page-state.ts",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/error-page-terminal.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "faq-section",
      "type": "registry:block",
      "title": "FAQ Section",
      "description": "Answers before someone has to ask: a short list on one plate, a longer list beside a heading that stays in view, or a filter box with an empty state.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/accordion.json",
        "https://miseui.junsu4621.workers.dev/r/button.json",
        "https://miseui.junsu4621.workers.dev/r/empty.json",
        "https://miseui.junsu4621.workers.dev/r/search-field.json"
      ],
      "categories": [
        "blocks"
      ],
      "files": [
        {
          "path": "registry/miseui/blocks/faq-section.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/faq-section-parts.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/faq-section-search.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/faq-section-filter.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "feature-bento",
      "type": "registry:block",
      "title": "Feature Bento",
      "description": "A features section in three forms: an asymmetric grid of mixed cell sizes, alternating picture and text rows, or a list of features driving one large panel.",
      "dependencies": [
        "lucide-react",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json",
        "https://miseui.junsu4621.workers.dev/r/badge.json",
        "https://miseui.junsu4621.workers.dev/r/button.json",
        "https://miseui.junsu4621.workers.dev/r/card.json",
        "https://miseui.junsu4621.workers.dev/r/gooey-morph.json",
        "https://miseui.junsu4621.workers.dev/r/input.json",
        "https://miseui.junsu4621.workers.dev/r/materialize.json",
        "https://miseui.junsu4621.workers.dev/r/shimmer-text.json",
        "https://miseui.junsu4621.workers.dev/r/tabs.json",
        "https://miseui.junsu4621.workers.dev/r/thinking-orb.json"
      ],
      "categories": [
        "blocks"
      ],
      "files": [
        {
          "path": "registry/miseui/blocks/feature-bento.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/feature-bento-grid.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/feature-bento-panels.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/feature-bento-parts.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/feature-bento-rows.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/feature-bento-tabs.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "field",
      "type": "registry:ui",
      "title": "Field",
      "description": "Gives any control a label, description, error and required mark, and wires the ids and aria attributes so nobody has to remember them.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json",
        "https://miseui.junsu4621.workers.dev/r/label.json"
      ],
      "categories": [
        "forms"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/field.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/field-parts.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "file-upload",
      "type": "registry:ui",
      "title": "File Upload",
      "description": "A real drop zone and file input with type, size and count limits, clear errors and a progress list. It never touches the network: you upload and pass the state back.",
      "dependencies": [
        "lucide-react",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "forms"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/file-upload.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/file-upload-math.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/file-upload-row.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/file-upload-zones.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "filter-chips",
      "type": "registry:ui",
      "title": "Filter Chips",
      "description": "Filters a list you already have: chips with result counts, an all chip, a clear button, dead ends disabled and the result count announced.",
      "dependencies": [
        "lucide-react",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "forms"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/filter-chips.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/filter-chips-chip.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/filter-chips-math.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "floating-nav",
      "type": "registry:ui",
      "title": "Floating Nav",
      "description": "Navigation that floats over the page: a pill with a sliding highlight, a capsule that opens into a panel, a bar that shrinks on scroll or a bottom tab bar.",
      "dependencies": [
        "lucide-react",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "navigation"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/floating-nav.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/floating-nav-island.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/floating-nav-state.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/floating-nav-views.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "floating-panel",
      "type": "registry:ui",
      "title": "Floating Panel",
      "description": "A movable window that stays on screen: drag with pointer capture, resize, minimise, close and move by keyboard, as a titled panel, tight chrome, a side dock or a tool palette.",
      "dependencies": [
        "lucide-react",
        "motion",
        "radix-ui"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "overlays"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/floating-panel.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/floating-panel-gestures.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/floating-panel-math.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/floating-panel-parts.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/floating-panel-state.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "flow",
      "type": "registry:ui",
      "title": "Flow",
      "description": "A process drawn from data with no diagram library: a step-by-step walkthrough, boxes and arrows that wrap, a numbered rail or one inline line.",
      "dependencies": [
        "lucide-react",
        "motion",
        "radix-ui"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "display"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/flow.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/flow-parts.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "glass-core",
      "type": "registry:ui",
      "title": "Glass Core",
      "description": "A glass object for the centre of a hero, with no WebGL: a shaded knot on a small canvas, a CSS sphere or frosted panes. Respects reduced motion and reduced transparency.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "display"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/glass-core.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/glass-core-faces.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/glass-core-knot.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/glass-core-painter.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/glass-core-raster.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "glitch-text",
      "type": "registry:ui",
      "title": "Glitch Text",
      "description": "A short stepped burst that ends in clean text: colour fringes, shifting bands, dropped letters or a jumping line, and it never loops.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/split-text.json"
      ],
      "categories": [
        "text"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/glitch-text.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/glitch-play.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/glitch-math.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "globe",
      "type": "registry:ui",
      "title": "Globe",
      "description": "A turning dotted earth on one canvas with no 3D library: land dots, a wire ball, a shaded disc or routes with a light along them, plus markers and drag to spin.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils"
      ],
      "categories": [
        "interactions"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/globe.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/globe-color.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/globe-draw.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/globe-frame.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/globe-land.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/globe-math.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/globe-painter.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/globe-solid.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/background-loop.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "gooey-morph",
      "type": "registry:ui",
      "title": "Gooey Morph",
      "description": "Status dots that merge into one body and split apart again like a liquid, so the eye tracks one thing changing.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "effects"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/gooey-morph.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "gradient-text",
      "type": "registry:ui",
      "title": "Gradient Text",
      "description": "A headline painted with a gradient from theme tokens, legible in every palette, with solid fallbacks for high contrast and forced colours.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils"
      ],
      "categories": [
        "text"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/gradient-text.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "grid-background",
      "type": "registry:ui",
      "title": "Grid Background",
      "description": "Hairlines behind your content: an even grid, a fading one, a floor receding to a horizon or a few filled cells, with an optional brightening around the pointer.",
      "registryDependencies": [
        "utils"
      ],
      "categories": [
        "backgrounds"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/grid-background.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/grid-background-pointer.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "highlighter-text",
      "type": "registry:ui",
      "title": "Highlighter Text",
      "description": "A mark drawn over text that is already readable, line by line, as a marker band, an underline or a hand-drawn stroke or outline.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "text"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/highlighter-text.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/highlighter-marks.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/highlighter-math.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "hover-card",
      "type": "registry:ui",
      "title": "Hover Card",
      "description": "A preview that appears over a link when the pointer rests on it, laid out for free content, a person, a page or a number.",
      "dependencies": [
        "radix-ui"
      ],
      "registryDependencies": [
        "utils"
      ],
      "categories": [
        "overlays"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/hover-card.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/hover-card-bodies.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "hover-preview",
      "type": "registry:ui",
      "title": "Hover Preview",
      "description": "A preview that follows the pointer over a list of links. Off on touch, reachable by keyboard, and never the only way to anything.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "overlays"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/hover-preview.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/hover-preview-state.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/hover-preview-surface.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "icon-button",
      "type": "registry:ui",
      "title": "Icon Button",
      "description": "A glyph-only button that cannot be shipped without a name, with four surfaces, a pending state that keeps focus and a 40 px hit area on touch.",
      "dependencies": [],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/tooltip.json"
      ],
      "categories": [
        "forms"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/icon-button.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "image-cropper",
      "type": "registry:ui",
      "title": "Image Cropper",
      "description": "Drag, pinch or wheel to frame a picture, with keyboard nudges and an aspect lock, returning a crop rectangle that can never leave the image.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json",
        "https://miseui.junsu4621.workers.dev/r/slider.json"
      ],
      "categories": [
        "forms"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/image-cropper.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/image-cropper-corners.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/image-cropper-gestures.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/image-cropper-math.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/image-cropper-parts.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/image-cropper-state.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "image-trail",
      "type": "registry:ui",
      "title": "Image Trail",
      "description": "Pictures appear along the pointer's path and fade in order, pile up, fan out or slide past, with a still arrangement on touch so the box is never blank.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils"
      ],
      "categories": [
        "interactions"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/image-trail.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/image-trail-engine.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/image-trail-math.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/background-seed.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/pointer-fine.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "indicator",
      "type": "registry:ui",
      "title": "Indicator",
      "description": "A small count, dot, ring or word pinned to the corner of what it describes, gone at zero and spelled out for screen readers.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "display"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/indicator.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "input",
      "type": "registry:ui",
      "title": "Input",
      "description": "Single-line text field, 36 px tall to match Button, that moves the invalid state onto its border and ring.",
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/shimmer-text.json"
      ],
      "categories": [
        "forms"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/input.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "input-group",
      "type": "registry:ui",
      "title": "Input Group",
      "description": "One field with text, icons, buttons or a select attached to it, sharing a single border and focus ring, in four layouts.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "utils"
      ],
      "categories": [
        "forms"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/input-group.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/input-group-classes.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "input-otp",
      "type": "registry:ui",
      "title": "Input OTP",
      "description": "One-time code entry drawn as boxes but built on one real input, so SMS autofill, paste, backspace and screen readers all work.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "forms"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/input-otp.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/input-otp-box.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/input-otp-state.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "intelligence-glow",
      "type": "registry:ui",
      "title": "Intelligence Glow",
      "description": "A slow light around the screen edge while the assistant listens or thinks, visible from anywhere on the page.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "effects"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/intelligence-glow.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "kbd",
      "type": "registry:ui",
      "title": "Kbd",
      "description": "Keyboard keys as hairline caps, physical keys, tight chips or plain text, with chords, a platform-aware modifier and a cap that dips on the real key.",
      "registryDependencies": [
        "utils"
      ],
      "categories": [
        "display"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/kbd.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "label",
      "type": "registry:ui",
      "title": "Label",
      "description": "Caption bound to a control: clicking it focuses the field, and it dims when the field is disabled.",
      "dependencies": [
        "radix-ui"
      ],
      "registryDependencies": [
        "utils"
      ],
      "categories": [
        "forms"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/label.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "landing-hero",
      "type": "registry:block",
      "title": "Landing Hero",
      "description": "A marketing hero with one message and two actions, in four layouts: beside a live preview, over a wide product plate, beside two overlapped fragments, or type alone.",
      "dependencies": [
        "lucide-react",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json",
        "https://miseui.junsu4621.workers.dev/r/badge.json",
        "https://miseui.junsu4621.workers.dev/r/button.json",
        "https://miseui.junsu4621.workers.dev/r/card.json",
        "https://miseui.junsu4621.workers.dev/r/materialize.json",
        "https://miseui.junsu4621.workers.dev/r/shimmer-text.json",
        "https://miseui.junsu4621.workers.dev/r/streaming-text.json",
        "https://miseui.junsu4621.workers.dev/r/thinking-orb.json"
      ],
      "categories": [
        "blocks"
      ],
      "files": [
        {
          "path": "registry/miseui/blocks/landing-hero.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/landing-hero-parts.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/landing-hero-copy.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/landing-hero-centered.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/landing-hero-overlap.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/landing-hero-minimal.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "lens",
      "type": "registry:ui",
      "title": "Lens",
      "description": "A magnifier over any content: a round lens, a lifted loupe, a zoomed panel beside it or a full-width band, with a second copy that focus and assistive tech never reach.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils"
      ],
      "categories": [
        "interactions"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/lens.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/lens-gestures.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/lens-math.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/lens-state.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/pointer-fine.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "liquid-metal",
      "type": "registry:ui",
      "title": "Liquid Metal",
      "description": "A WebGL metal surface behind a button or chip, with reflections that drift so the control reads as a real, premium material.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "effects"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/liquid-metal.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "listbox",
      "type": "registry:ui",
      "title": "Listbox",
      "description": "A list you choose from, always open: single or multiple, type-ahead, Home and End, groups and disabled options, written to the full ARIA pattern.",
      "dependencies": [
        "lucide-react",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "forms"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/listbox.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/listbox-option.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/listbox-state.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "loading-overlay",
      "type": "registry:ui",
      "title": "Loading Overlay",
      "description": "Covers its parent while work runs, and only its parent. Waits before showing so fast answers never flash, and keeps layout and focus in place.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json",
        "https://miseui.junsu4621.workers.dev/r/skeleton.json",
        "https://miseui.junsu4621.workers.dev/r/spinner.json"
      ],
      "categories": [
        "feedback"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/loading-overlay.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/loading-overlay-state.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "login-form",
      "type": "registry:block",
      "title": "Login Form",
      "description": "A login with labels that stay visible and inline errors, in three forms: beside a calm brand panel with a password you can reveal, one card on a grey ground, or email only with a check-your-inbox screen.",
      "dependencies": [
        "lucide-react",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json",
        "https://miseui.junsu4621.workers.dev/r/badge.json",
        "https://miseui.junsu4621.workers.dev/r/button.json",
        "https://miseui.junsu4621.workers.dev/r/card.json",
        "https://miseui.junsu4621.workers.dev/r/input.json",
        "https://miseui.junsu4621.workers.dev/r/label.json"
      ],
      "categories": [
        "blocks"
      ],
      "files": [
        {
          "path": "registry/miseui/blocks/login-form.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/login-form-credentials.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/login-form-magic.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/login-form-magic-state.ts",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/login-form-parts.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/login-form-visual.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "logo-wall",
      "type": "registry:block",
      "title": "Logo Wall",
      "description": "Logos you have permission to show, in three decisions: a quiet row, a plate for each, or a marquee for more than fit. Includes dashed placeholders to build with until you have them.",
      "dependencies": [
        "lucide-react",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/icon-button.json",
        "https://miseui.junsu4621.workers.dev/r/marquee.json"
      ],
      "categories": [
        "blocks"
      ],
      "files": [
        {
          "path": "registry/miseui/blocks/logo-wall.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/logo-wall-parts.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/logo-wall-marquee.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "magnet",
      "type": "registry:ui",
      "title": "Magnet",
      "description": "A wrapper that pulls any child toward the pointer from past its own bounds: the whole element, inner layers, a row by distance, or a soft ring that trails.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils"
      ],
      "categories": [
        "interactions"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/magnet.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/magnet-math.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/magnet-state.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/pointer-fine.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "marquee",
      "type": "registry:ui",
      "title": "Marquee",
      "description": "An endless CSS-driven row that stops when someone reaches for it, and turns into a still, scrollable row for people who turned motion off.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils"
      ],
      "categories": [
        "display"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/marquee.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "mask-input",
      "type": "registry:ui",
      "title": "Mask Input",
      "description": "Formats dates, phone numbers, cards and your own patterns as you type. The caret stays put in the middle and on paste, and deleting across a dash works.",
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/input.json"
      ],
      "categories": [
        "forms"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/mask-input.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/mask-input-boxes.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/mask-input-edit.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/mask-input-math.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/mask-input-state.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "materialize",
      "type": "registry:ui",
      "title": "Materialize",
      "description": "A surface that arrives like a material coming into focus: slightly smaller, softer, from its anchor, and leaves the same way.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "transitions"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/materialize.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "menubar",
      "type": "registry:ui",
      "title": "Menubar",
      "description": "The row of menus desktop tools are built on, with sub menus, check and radio items, shortcuts and full arrow key movement across the bar.",
      "dependencies": [
        "lucide-react",
        "radix-ui"
      ],
      "registryDependencies": [
        "utils"
      ],
      "categories": [
        "navigation"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/menubar.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/menubar-classes.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/menubar-items.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "mesh-background",
      "type": "registry:ui",
      "title": "Mesh Background",
      "description": "Large soft colour from the accent and its neighbours, barely tinted to vivid, from one corner or split on a diagonal, with an optional slow drift.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils"
      ],
      "categories": [
        "backgrounds"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/mesh-background.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/mesh-background-drift.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "meteors-background",
      "type": "registry:ui",
      "title": "Meteors Background",
      "description": "Short streaks crossing a section: thin meteors, faint rain, slow comets or a twinkling sky, placed from a seed and moved with transforms only.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils"
      ],
      "categories": [
        "backgrounds"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/meteors-background.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/meteors-background-layout.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/background-loop.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/background-seed.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "metro-map",
      "type": "registry:ui",
      "title": "Metro Map",
      "description": "Lines and stations drawn from data, for a process or a path with branches: arrow keys between stations, and it scrolls inside itself when narrow.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "navigation"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/metro-map.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/metro-map-layout.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/metro-map-parts.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "motion",
      "type": "registry:lib",
      "title": "Motion presets",
      "description": "Critically damped and momentum springs, Apple's momentum projection and rubber-banding, shared by every moving Mise UI component.",
      "dependencies": [
        "motion"
      ],
      "files": [
        {
          "path": "registry/miseui/lib/motion.ts",
          "type": "registry:lib"
        }
      ]
    },
    {
      "name": "motion-reveal",
      "type": "registry:ui",
      "title": "Motion Reveal",
      "description": "One wrapper that lets its content arrive when it comes into view, once, as a block or child by child. People who turned motion off see it at once.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "display"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/motion-reveal.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "navigation-menu",
      "type": "registry:ui",
      "title": "Navigation Menu",
      "description": "Site navigation with panels on Radix: a plain bar, a mega panel of groups, a sliding pill or a sliding underline, and a panel that morphs between triggers.",
      "dependencies": [
        "lucide-react",
        "radix-ui"
      ],
      "registryDependencies": [
        "utils"
      ],
      "categories": [
        "navigation"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/navigation-menu.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/navigation-menu-classes.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/navigation-menu-parts.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "noise-background",
      "type": "registry:ui",
      "title": "Noise Background",
      "description": "Film grain drawn from an inline SVG with no image files: fine grain, warm paper, grain over a soft accent wash, or sparse flecks.",
      "registryDependencies": [
        "utils"
      ],
      "categories": [
        "backgrounds"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/noise-background.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "number-input",
      "type": "registry:ui",
      "title": "Number Input",
      "description": "A field for amounts that clamps to its range, repeats while a button is held, reads formatted text back, and comes as chevrons, split, pill or one big number.",
      "dependencies": [
        "lucide-react",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "forms"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/number-input.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/number-input-parts.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/number-input-state.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/number-input-math.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "onboarding-checklist",
      "type": "registry:block",
      "title": "Onboarding Checklist",
      "description": "First-run setup with a true progress count: a list as its own screen, a slim row above the page, or welcome steps one at a time in a dialog.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/button.json",
        "https://miseui.junsu4621.workers.dev/r/checkbox.json",
        "https://miseui.junsu4621.workers.dev/r/dialog.json",
        "https://miseui.junsu4621.workers.dev/r/progress.json"
      ],
      "categories": [
        "blocks"
      ],
      "files": [
        {
          "path": "registry/miseui/blocks/onboarding-checklist.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/onboarding-checklist-banner.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/onboarding-checklist-dialog.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/onboarding-checklist-panel.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/onboarding-checklist-state.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "orbiting-circles",
      "type": "registry:ui",
      "title": "Orbiting Circles",
      "description": "Small things travelling around a centre: one orbit, several at different speeds, a tilted ellipse that passes behind or an arch at the foot of a hero. Focus and pointing stop it.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils"
      ],
      "categories": [
        "interactions"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/orbiting-circles.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/orbiting-circles-loop.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/orbiting-circles-math.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/background-loop.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "page-wipe",
      "type": "registry:ui",
      "title": "Page Wipe",
      "description": "Full-page wipes on the View Transitions API: an accent curtain, a slanted sweep or an iris from the click. Reduced motion falls back to a fade.",
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/use-view-transition.json"
      ],
      "categories": [
        "transitions"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/page-wipe.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "pagination",
      "type": "registry:ui",
      "title": "Pagination",
      "description": "Moves through a long list in steady chunks, with the window of pages always the same width so controls never shift.",
      "dependencies": [
        "motion",
        "lucide-react"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "navigation"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/pagination.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/pagination-views.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/pagination-window.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "panel-stack",
      "type": "registry:ui",
      "title": "Panel Stack",
      "description": "A story told one panel at a time with a page count and a progress line: in the page, with the next panel peeking, or sliding over the whole screen.",
      "dependencies": [
        "lucide-react",
        "motion",
        "radix-ui"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "display"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/panel-stack.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/panel-stack-deck.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/panel-stack-state.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "particles-background",
      "type": "registry:ui",
      "title": "Particles Background",
      "description": "Points on one canvas behind a section: floating, joined by faint lines, rising, or an even field with a clearing that follows the pointer.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils"
      ],
      "categories": [
        "backgrounds"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/particles-background.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/particles-background-engine.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/particles-background-step.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/particles-background-links.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/particles-background-painter.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/background-loop.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/background-seed.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "password-input",
      "type": "registry:ui",
      "title": "Password Input",
      "description": "A password field with a reveal button and a caps lock hint, plus a strength meter, a live checklist or a meter on the field edge.",
      "dependencies": [
        "lucide-react",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "forms"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/password-input.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/password-input-parts.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/password-input-strength.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "popover",
      "type": "registry:ui",
      "title": "Popover",
      "description": "Small floating panel anchored to the control that opened it, for a form or detail that does not need a full dialog.",
      "dependencies": [
        "radix-ui"
      ],
      "registryDependencies": [
        "utils"
      ],
      "categories": [
        "overlays"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/popover.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "post-row",
      "type": "registry:ui",
      "title": "Post Row",
      "description": "One writing entry as a single link: a title, a date that stays on its calendar day and quiet tags, for blogs, changelogs and archives.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "utils"
      ],
      "categories": [
        "display"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/post-row.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "pricing-table",
      "type": "registry:block",
      "title": "Pricing Table",
      "description": "Pricing with an honest yearly anchor, in three forms: three plans with one raised, a side-by-side feature matrix with a sticky plan header, or one plan priced by the seat.",
      "dependencies": [
        "lucide-react",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json",
        "https://miseui.junsu4621.workers.dev/r/badge.json",
        "https://miseui.junsu4621.workers.dev/r/button.json",
        "https://miseui.junsu4621.workers.dev/r/card.json",
        "https://miseui.junsu4621.workers.dev/r/label.json",
        "https://miseui.junsu4621.workers.dev/r/number-input.json",
        "https://miseui.junsu4621.workers.dev/r/scroll-shadow.json",
        "https://miseui.junsu4621.workers.dev/r/switch.json"
      ],
      "categories": [
        "blocks"
      ],
      "files": [
        {
          "path": "registry/miseui/blocks/pricing-table.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/pricing-table-parts.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/pricing-table-billing.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/pricing-table-cards.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/pricing-table-comparison.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/pricing-table-matrix.ts",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/pricing-table-sample.ts",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/pricing-table-seats.ts",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/pricing-table-single.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "progress",
      "type": "registry:ui",
      "title": "Progress",
      "description": "Shows how far a task has come, as a bar, a hairline, discrete steps or a labelled percent, and admits it when nobody knows yet.",
      "dependencies": [
        "radix-ui",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "feedback"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/progress.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/progress-parts.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "progress-circular",
      "type": "registry:ui",
      "title": "Progress Circular",
      "description": "Progress in a small square: a ring, a hairline, a 270 degree gauge or discrete cells, with the value in the middle and an honest state when nobody knows.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "feedback"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/progress-circular.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/progress-circular-parts.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/progress-circular-math.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "qr-code",
      "type": "registry:ui",
      "title": "QR Code",
      "description": "A QR code encoder written from scratch and drawn as crisp SVG with a quiet zone, in square, dotted, framed and logo forms, always dark on light so it scans.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "display"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/qr-code.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/qr-code-encode.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/qr-code-matrix.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/qr-code-penalty.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/qr-code-rs.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/qr-code-shapes.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/qr-code-tables.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "radio-group",
      "type": "registry:ui",
      "title": "Radio Group",
      "description": "One choice from a short list with every option in view, as dots, selectable cards, joined buttons or rows, with arrow keys built in.",
      "dependencies": [
        "radix-ui",
        "lucide-react",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "forms"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/radio-group.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/radio-group-parts.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "rating",
      "type": "registry:ui",
      "title": "Rating",
      "description": "A score picked with a click or the arrow keys, as stars, hearts, a joined number scale or a row of segments, with half steps and a read-only form.",
      "dependencies": [
        "radix-ui",
        "lucide-react",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "forms"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/rating.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/rating-parts.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/rating-rows.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "reasoning-steps",
      "type": "registry:ui",
      "title": "Reasoning Steps",
      "description": "Collapsed timeline of the model's steps; the header names the current one, the body shows them all.",
      "dependencies": [
        "motion",
        "lucide-react"
      ],
      "registryDependencies": [
        "utils"
      ],
      "categories": [
        "ai"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/reasoning-steps.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "resizable",
      "type": "registry:ui",
      "title": "Resizable",
      "description": "Two panes with a draggable divider, horizontal or vertical, with limits that stretch, a keyboard-operable separator and a double-click reset.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "display"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/resizable.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/resizable-state.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/resizable-drag.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/resizable-handle.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/resizable-math.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "reveal-image",
      "type": "registry:ui",
      "title": "Reveal Image",
      "description": "An image that arrives as it is generated: blur to sharp, coarse mosaic to fine, or a left-to-right wipe, driven by a progress value.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "effects"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/reveal-image.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "ring-gallery",
      "type": "registry:ui",
      "title": "Ring Gallery",
      "description": "A small set of items on a CSS 3D ring you spin by drag or keyboard, with no WebGL. Reduced motion gets a plain list.",
      "dependencies": [
        "lucide-react",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "display"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/ring-gallery.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/ring-gallery-item.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/ring-gallery-state.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "ripple-background",
      "type": "registry:ui",
      "title": "Ripple Background",
      "description": "Rings spreading behind a section: still lines, a slow pulse, a turning sonar sweep or several sources, plus a ring from where someone pressed.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils"
      ],
      "categories": [
        "backgrounds"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/ripple-background.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/ripple-background-layout.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/background-loop.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/background-seed.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "role-map",
      "type": "registry:ui",
      "title": "Role Map",
      "description": "Who did what on a project: panels, quiet rows or a table of people against areas, with one person in the accent.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "utils"
      ],
      "categories": [
        "display"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/role-map.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/role-map-views.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "roll-text",
      "type": "registry:ui",
      "title": "Roll Text",
      "description": "A label that rolls to a fresh copy of itself on hover or when its value changes, while assistive tech hears it once.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "text"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/roll-text.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "rotating-text",
      "type": "registry:ui",
      "title": "Rotating Text",
      "description": "One word in a sentence that takes turns with others, with a slot that springs to each new width and stops whenever someone is reading.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json",
        "https://miseui.junsu4621.workers.dev/r/split-text.json"
      ],
      "categories": [
        "text"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/rotating-text.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/rotating-text-word.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "scramble-text",
      "type": "registry:ui",
      "title": "Scramble Text",
      "description": "Noise that settles into the real sentence, from a small seeded engine, with every letter holding its final width so nothing on the page moves.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/split-text.json"
      ],
      "categories": [
        "text"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/scramble-text.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/scramble-math.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/scramble-play.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "screen-frame",
      "type": "registry:ui",
      "title": "Screen Frame",
      "description": "A window, a phone or a plain hairline around a screenshot or live interface, with the real address in the bar and no decorative traffic lights.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "display"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/screen-frame.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "scroll-area",
      "type": "registry:ui",
      "title": "Scroll Area",
      "description": "A scroller with a styled bar that matches the theme, as a hover bar, a thin overlay, edge shadows or a snapping row.",
      "dependencies": [
        "radix-ui"
      ],
      "registryDependencies": [
        "utils"
      ],
      "categories": [
        "display"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/scroll-area.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/scroll-area-parts.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "scroll-shadow",
      "type": "registry:ui",
      "title": "Scroll Shadow",
      "description": "A wrapper for any scrolling box that shows edge shadows, fades or hairlines from the real scroll position, so people can see there is more.",
      "dependencies": [
        "radix-ui"
      ],
      "registryDependencies": [
        "utils"
      ],
      "categories": [
        "display"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/scroll-shadow.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/scroll-shadow-math.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/scroll-shadow-state.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "scrub-text",
      "type": "registry:ui",
      "title": "Scrub Text",
      "description": "A paragraph that arrives word by word as you scroll, so the pace of reading stays in the reader's hand. People who turned motion off get the finished text.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils"
      ],
      "categories": [
        "text"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/scrub-text.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "search-field",
      "type": "registry:ui",
      "title": "Search Field",
      "description": "A search box with a leading icon, clear button, loading state, debounced onSearch and a Mod K hint. Escape clears it.",
      "dependencies": [
        "lucide-react",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json",
        "https://miseui.junsu4621.workers.dev/r/kbd.json",
        "https://miseui.junsu4621.workers.dev/r/spinner.json"
      ],
      "categories": [
        "forms"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/search-field.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/search-field-state.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "section-index",
      "type": "registry:ui",
      "title": "Section Index",
      "description": "A numbered map of the chapters in a long read that fills as you go, as a rail, a sticky strip or a one-line counter.",
      "dependencies": [
        "lucide-react",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "navigation"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/section-index.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/section-index-math.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/section-index-state.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/section-index-views.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "segmented-control",
      "type": "registry:ui",
      "title": "Segmented Control",
      "description": "A short set of mutually exclusive views, always one on, as a thumb in a track, chips, an underline or square icons.",
      "dependencies": [
        "radix-ui",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "forms"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/segmented-control.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "select",
      "type": "registry:ui",
      "title": "Select",
      "description": "Dropdown for one choice from a list, with a placeholder, groups, a check on the chosen row and full keyboard support.",
      "dependencies": [
        "radix-ui",
        "lucide-react",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "forms"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/select.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/select-effects.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "separator",
      "type": "registry:ui",
      "title": "Separator",
      "description": "A rule between groups of content, as a hairline, a dashed break, a labelled divider or a line that fades at both ends.",
      "dependencies": [
        "radix-ui"
      ],
      "registryDependencies": [
        "utils"
      ],
      "categories": [
        "display"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/separator.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "settings-page",
      "type": "registry:block",
      "title": "Settings Page",
      "description": "A settings screen in three decisions: one page with one save bar, one section at a time beside a side nav, or each group as its own plate with its own Save.",
      "dependencies": [
        "lucide-react",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/button.json",
        "https://miseui.junsu4621.workers.dev/r/input.json",
        "https://miseui.junsu4621.workers.dev/r/label.json",
        "https://miseui.junsu4621.workers.dev/r/materialize.json",
        "https://miseui.junsu4621.workers.dev/r/select.json",
        "https://miseui.junsu4621.workers.dev/r/switch.json"
      ],
      "categories": [
        "blocks"
      ],
      "files": [
        {
          "path": "registry/miseui/blocks/settings-page.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/settings-page-sections.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/settings-page-sidebar.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/settings-page-cards.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/settings-page-savebar.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/settings-page-parts.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/settings-page-row-text.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/settings-page-danger.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/settings-page-form.ts",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/settings-page-sample.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "sheet",
      "type": "registry:ui",
      "title": "Sheet",
      "description": "Bottom sheet you can grab mid-flight: it tracks the finger 1:1, rubber-bands at the top, and lands where the release velocity was heading.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "transitions"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/sheet.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "shimmer-text",
      "type": "registry:ui",
      "title": "Shimmer Text",
      "description": "A band of light passing over a status label, so “Thinking…” reads as in progress without inventing a percentage.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils"
      ],
      "categories": [
        "text"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/shimmer-text.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "sidebar",
      "type": "registry:ui",
      "title": "Sidebar",
      "description": "A collapsible column of navigation with nested groups, an active item and badges, toggled with Mod+B, saved through a prop, and a drawer on phones.",
      "dependencies": [
        "lucide-react",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json",
        "https://miseui.junsu4621.workers.dev/r/button.json",
        "https://miseui.junsu4621.workers.dev/r/drawer.json",
        "https://miseui.junsu4621.workers.dev/r/dropdown-menu.json",
        "https://miseui.junsu4621.workers.dev/r/tooltip.json"
      ],
      "categories": [
        "navigation"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/sidebar.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/sidebar-items.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/sidebar-state.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "signature-pad",
      "type": "registry:ui",
      "title": "Signature Pad",
      "description": "Sign with a finger, pen or mouse in smooth strokes, with undo, SVG and PNG export, and a typed name for anyone using a keyboard.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/button.json",
        "https://miseui.junsu4621.workers.dev/r/input.json"
      ],
      "categories": [
        "forms"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/signature-pad.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/signature-pad-export.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/signature-pad-math.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/signature-pad-parts.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/signature-pad-state.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "signup-steps",
      "type": "registry:block",
      "title": "Signup Steps",
      "description": "A sign-up that asks one question at a time, starts with real progress and never ticks consent for anyone, in a card, beside a rail of what is left, or as one large question per screen.",
      "dependencies": [
        "lucide-react",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json",
        "https://miseui.junsu4621.workers.dev/r/button.json",
        "https://miseui.junsu4621.workers.dev/r/checkbox.json",
        "https://miseui.junsu4621.workers.dev/r/input.json",
        "https://miseui.junsu4621.workers.dev/r/kbd.json",
        "https://miseui.junsu4621.workers.dev/r/label.json",
        "https://miseui.junsu4621.workers.dev/r/steps.json"
      ],
      "categories": [
        "blocks"
      ],
      "files": [
        {
          "path": "registry/miseui/blocks/signup-steps.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/signup-steps-conversation.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/signup-steps-flow.ts",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/signup-steps-parts.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/signup-steps-question.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/signup-steps-rail.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "site-footer",
      "type": "registry:block",
      "title": "Site Footer",
      "description": "The end of every page, in three decisions: a full map of the site, one quiet line, or a newsletter field above the links.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/button.json",
        "https://miseui.junsu4621.workers.dev/r/input.json",
        "https://miseui.junsu4621.workers.dev/r/label.json"
      ],
      "categories": [
        "blocks"
      ],
      "files": [
        {
          "path": "registry/miseui/blocks/site-footer.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/site-footer-parts.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/site-footer-signup.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "site-header",
      "type": "registry:block",
      "title": "Site Header",
      "description": "A marketing site's top navigation with a skip link and a drawer on phones: a plain row of links, panels of grouped links, or pieces floating over the page.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/button.json",
        "https://miseui.junsu4621.workers.dev/r/drawer.json",
        "https://miseui.junsu4621.workers.dev/r/floating-nav.json",
        "https://miseui.junsu4621.workers.dev/r/navigation-menu.json"
      ],
      "categories": [
        "blocks"
      ],
      "files": [
        {
          "path": "registry/miseui/blocks/site-header.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/site-header-bar.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/site-header-floating.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/site-header-mega.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/site-header-parts.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/site-header-sample.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "skeleton",
      "type": "registry:ui",
      "title": "Skeleton",
      "description": "Pulsing placeholder shaped like the content that is loading, so the wait feels shorter than a spinner.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils"
      ],
      "categories": [
        "display"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/skeleton.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "slider",
      "type": "registry:ui",
      "title": "Slider",
      "description": "Picks a value or a range by feel, as a thin line, a thick volume track, labelled steps or a value bubble, with full keyboard control.",
      "dependencies": [
        "radix-ui",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "forms"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/slider.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/slider-stage.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/slider-parts.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "spinner",
      "type": "registry:ui",
      "title": "Spinner",
      "description": "Says work is running when nobody knows how long it will take: a ring, three dots, eight bars or an orbit, with a pulse instead of movement for people who turned motion off.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils"
      ],
      "categories": [
        "feedback"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/spinner.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "split-text",
      "type": "registry:ui",
      "title": "Split Text",
      "description": "A headline that arrives letter by letter or word by word, with the real sentence kept for assistive tech and a table of presets to extend.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "text"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/split-text.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/split-text-math.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "spoiler",
      "type": "registry:ui",
      "title": "Spoiler",
      "description": "Hides text or a block until someone presses to see it, so the reader chooses the moment. Screen readers do not get ahead of everyone else.",
      "dependencies": [
        "lucide-react",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "display"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/spoiler.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/spoiler-parts.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/spoiler-state.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "spotlight",
      "type": "registry:ui",
      "title": "Spotlight",
      "description": "A surface that catches a soft light under the pointer, on its face, on its edge or by uncovering a hidden layer. Off on touch.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils"
      ],
      "categories": [
        "backgrounds"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/spotlight.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "stat",
      "type": "registry:ui",
      "title": "Stat",
      "description": "One number with its label, change and a small trend line. Colour only appears once you have said which direction is good.",
      "dependencies": [
        "lucide-react",
        "motion"
      ],
      "registryDependencies": [
        "utils"
      ],
      "categories": [
        "display"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/stat.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/stat-math.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/stat-parts.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "stat-line",
      "type": "registry:ui",
      "title": "Stat Line",
      "description": "One line of several figures, before and after included: equal columns, a running sentence or one big number above the rest.",
      "dependencies": [
        "lucide-react",
        "motion"
      ],
      "registryDependencies": [
        "utils"
      ],
      "categories": [
        "display"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/stat-line.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/stat-line-count.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "station-dialog",
      "type": "registry:ui",
      "title": "Station Dialog",
      "description": "A detail dialog that opens from a point on a map or list, can grow out of it, and sends focus back to it on close.",
      "dependencies": [
        "lucide-react",
        "motion",
        "radix-ui"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "overlays"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/station-dialog.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/station-dialog-context.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/station-dialog-geometry.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/station-dialog-surface.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "stats-section",
      "type": "registry:block",
      "title": "Stats Section",
      "description": "Numbers that make a claim believable, in three decisions: several of equal weight, one to remember above the rest, or each beside what it counts.",
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/count-up.json"
      ],
      "categories": [
        "blocks"
      ],
      "files": [
        {
          "path": "registry/miseui/blocks/stats-section.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/stats-section-parts.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/stats-section-plate.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/stats-section-split.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "status",
      "type": "registry:ui",
      "title": "Status",
      "description": "A state word with a mark that means something: online, away, busy, offline, error or your own, each with its own shape as well as its own hue.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils"
      ],
      "categories": [
        "feedback"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/status.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "steps",
      "type": "registry:ui",
      "title": "Steps",
      "description": "Shows where someone is in a process, across a line, down a column, as a bar with a count or as numbered rows, with done, current, upcoming and error states.",
      "dependencies": [
        "lucide-react",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "navigation"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/steps.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/steps-parts.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "story-section",
      "type": "registry:ui",
      "title": "Story Section",
      "description": "A numbered section of a long read, with the number, heading and text set three ways and a note for what is still to be written.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "display"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/story-section.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "streaming-text",
      "type": "registry:ui",
      "title": "Streaming Text",
      "description": "Reveals arriving text character by character at reading speed, with a caret that marks where the next word lands.",
      "dependencies": [],
      "registryDependencies": [
        "utils"
      ],
      "categories": [
        "ai"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/streaming-text.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "switch",
      "type": "registry:ui",
      "title": "Switch",
      "description": "Sliding on/off control whose thumb travels 16 px in 150 ms, mirroring the physical toggle it imitates.",
      "dependencies": [
        "radix-ui",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "forms"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/switch.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/switch-effects.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "table",
      "type": "registry:ui",
      "title": "Table",
      "description": "Real table markup with sortable headers, a sticky head, selection state, an empty row and right-aligned figures, in plain, striped, card or compact, scrolling inside itself when narrow.",
      "dependencies": [
        "lucide-react",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "display"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/table.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/table-head.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/table-highlight.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/table-context.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/table-state.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "table-of-contents",
      "type": "registry:ui",
      "title": "Table of Contents",
      "description": "Lists the sections of a page, from data or read from the headings, follows the one being read and jumps to any of them with motion that respects reduced motion.",
      "dependencies": [
        "lucide-react",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json",
        "https://miseui.junsu4621.workers.dev/r/popover.json"
      ],
      "categories": [
        "navigation"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/table-of-contents.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/table-of-contents-list.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/table-of-contents-math.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/table-of-contents-state.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "tabs",
      "type": "registry:ui",
      "title": "Tabs",
      "description": "Segmented control that swaps one panel for another in place, so related views share a single spot on the screen.",
      "dependencies": [
        "radix-ui",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "navigation"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/tabs.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "tag",
      "type": "registry:ui",
      "title": "Tag",
      "description": "A short label that can also be pressed or removed: soft tint, outline, solid or a status dot, with status tones that never borrow the accent.",
      "dependencies": [
        "lucide-react",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "display"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/tag.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/tag-classes.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "tags-input",
      "type": "registry:ui",
      "title": "Tags Input",
      "description": "A field for many short values: add with Enter or comma, paste a whole list, walk tags with the arrows, with limits, validation and suggestions.",
      "dependencies": [
        "lucide-react",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "forms"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/tags-input.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/tags-input-field.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/tags-input-keys.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/tags-input-math.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/tags-input-parts.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/tags-input-state.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "textarea",
      "type": "registry:ui",
      "title": "Textarea",
      "description": "Multi-line text field that starts at 64 px and grows with its content, so the answer is never hidden behind a scrollbar.",
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/shimmer-text.json"
      ],
      "categories": [
        "forms"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/textarea.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "theme",
      "type": "registry:theme",
      "title": "Mise theme",
      "description": "Warm amber on cool neutrals. Friendly and alive. Complete tokens, motion included.",
      "cssVars": {
        "theme": {
          "font-display": "\"Geist Variable\", -apple-system, BlinkMacSystemFont, \"SF Pro Display\", system-ui, sans-serif",
          "ease-mise": "cubic-bezier(0.2, 0, 0, 1)",
          "ease-mise-out": "cubic-bezier(0.16, 1, 0.3, 1)",
          "duration-fast": "150ms",
          "duration-base": "240ms",
          "duration-slow": "400ms",
          "color-mise": "var(--mise)",
          "color-mise-foreground": "var(--mise-foreground)",
          "color-mise-soft": "var(--mise-soft)"
        },
        "light": {
          "radius": "0.875rem",
          "background": "oklch(0.995 0.001 270)",
          "foreground": "oklch(0.21 0.004 270)",
          "card": "oklch(0.975 0.002 270)",
          "card-foreground": "oklch(0.21 0.004 270)",
          "popover": "oklch(0.995 0.001 270)",
          "popover-foreground": "oklch(0.21 0.004 270)",
          "primary": "oklch(0.21 0.004 270)",
          "primary-foreground": "oklch(0.99 0.001 270)",
          "secondary": "oklch(0.955 0.003 270)",
          "secondary-foreground": "oklch(0.21 0.004 270)",
          "muted": "oklch(0.965 0.002 270)",
          "muted-foreground": "oklch(0.5 0.008 270)",
          "accent": "oklch(0.955 0.003 270)",
          "accent-foreground": "oklch(0.21 0.004 270)",
          "destructive": "oklch(0.6 0.22 27)",
          "border": "oklch(0.9 0.003 270)",
          "input": "oklch(0.9 0.003 270)",
          "mise": "oklch(0.74 0.15 62)",
          "mise-foreground": "oklch(0.2 0.03 60)",
          "mise-soft": "oklch(0.95 0.04 75)",
          "ring": "oklch(0.72 0.14 62)"
        },
        "dark": {
          "background": "oklch(0.14 0.005 270)",
          "foreground": "oklch(0.96 0.002 270)",
          "card": "oklch(0.19 0.005 270)",
          "card-foreground": "oklch(0.96 0.002 270)",
          "popover": "oklch(0.2 0.005 270)",
          "popover-foreground": "oklch(0.96 0.002 270)",
          "primary": "oklch(0.96 0.002 270)",
          "primary-foreground": "oklch(0.17 0.004 270)",
          "secondary": "oklch(0.24 0.005 270)",
          "secondary-foreground": "oklch(0.96 0.002 270)",
          "muted": "oklch(0.22 0.005 270)",
          "muted-foreground": "oklch(0.7 0.006 270)",
          "accent": "oklch(0.26 0.005 270)",
          "accent-foreground": "oklch(0.96 0.002 270)",
          "destructive": "oklch(0.7 0.19 22)",
          "border": "oklch(1 0 0 / 12%)",
          "input": "oklch(1 0 0 / 15%)",
          "mise": "oklch(0.78 0.15 65)",
          "mise-foreground": "oklch(0.18 0.03 60)",
          "mise-soft": "oklch(0.3 0.05 65)",
          "ring": "oklch(0.72 0.14 62)"
        }
      },
      "css": {
        "@utility text-display": {
          "font-family": "var(--font-display)",
          "font-weight": "600",
          "letter-spacing": "-0.03em",
          "line-height": "1.04"
        },
        "@utility text-title": {
          "font-family": "var(--font-display)",
          "font-weight": "600",
          "letter-spacing": "-0.02em",
          "line-height": "1.12"
        },
        "@utility material": {
          "background-color": "color-mix(in oklab, var(--background) 72%, transparent)",
          "backdrop-filter": "blur(20px) saturate(180%)"
        }
      },
      "files": []
    },
    {
      "name": "theme-cobalt",
      "type": "registry:theme",
      "title": "Cobalt theme",
      "description": "Saturated blue. Trustworthy, for finance and B2B. Complete tokens, motion included.",
      "cssVars": {
        "theme": {
          "font-display": "\"Geist Variable\", -apple-system, BlinkMacSystemFont, \"SF Pro Display\", system-ui, sans-serif",
          "ease-mise": "cubic-bezier(0.2, 0, 0, 1)",
          "ease-mise-out": "cubic-bezier(0.16, 1, 0.3, 1)",
          "duration-fast": "150ms",
          "duration-base": "240ms",
          "duration-slow": "400ms",
          "color-mise": "var(--mise)",
          "color-mise-foreground": "var(--mise-foreground)",
          "color-mise-soft": "var(--mise-soft)"
        },
        "light": {
          "radius": "0.75rem",
          "background": "oklch(0.995 0.0018 255)",
          "foreground": "oklch(0.21 0.007 255)",
          "card": "oklch(0.975 0.0035 255)",
          "card-foreground": "oklch(0.21 0.007 255)",
          "popover": "oklch(0.995 0.0018 255)",
          "popover-foreground": "oklch(0.21 0.007 255)",
          "primary": "oklch(0.21 0.007 255)",
          "primary-foreground": "oklch(0.99 0.0018 255)",
          "secondary": "oklch(0.955 0.0053 255)",
          "secondary-foreground": "oklch(0.21 0.007 255)",
          "muted": "oklch(0.965 0.0035 255)",
          "muted-foreground": "oklch(0.5 0.014 255)",
          "accent": "oklch(0.955 0.0053 255)",
          "accent-foreground": "oklch(0.21 0.007 255)",
          "destructive": "oklch(0.6 0.22 27)",
          "border": "oklch(0.9 0.0053 255)",
          "input": "oklch(0.9 0.0053 255)",
          "mise": "oklch(0.52 0.2 258)",
          "mise-foreground": "oklch(0.985 0.005 258)",
          "mise-soft": "oklch(0.94 0.03 258)",
          "ring": "oklch(0.6 0.17 258)"
        },
        "dark": {
          "background": "oklch(0.14 0.0088 255)",
          "foreground": "oklch(0.96 0.0035 255)",
          "card": "oklch(0.19 0.0088 255)",
          "card-foreground": "oklch(0.96 0.0035 255)",
          "popover": "oklch(0.2 0.0088 255)",
          "popover-foreground": "oklch(0.96 0.0035 255)",
          "primary": "oklch(0.96 0.0035 255)",
          "primary-foreground": "oklch(0.17 0.007 255)",
          "secondary": "oklch(0.24 0.0088 255)",
          "secondary-foreground": "oklch(0.96 0.0035 255)",
          "muted": "oklch(0.22 0.0088 255)",
          "muted-foreground": "oklch(0.7 0.0105 255)",
          "accent": "oklch(0.26 0.0088 255)",
          "accent-foreground": "oklch(0.96 0.0035 255)",
          "destructive": "oklch(0.7 0.19 22)",
          "border": "oklch(1 0 0 / 12%)",
          "input": "oklch(1 0 0 / 15%)",
          "mise": "oklch(0.7 0.16 255)",
          "mise-foreground": "oklch(0.17 0.04 258)",
          "mise-soft": "oklch(0.3 0.07 258)",
          "ring": "oklch(0.65 0.15 255)"
        }
      },
      "css": {
        "@utility text-display": {
          "font-family": "var(--font-display)",
          "font-weight": "600",
          "letter-spacing": "-0.03em",
          "line-height": "1.04"
        },
        "@utility text-title": {
          "font-family": "var(--font-display)",
          "font-weight": "600",
          "letter-spacing": "-0.02em",
          "line-height": "1.12"
        },
        "@utility material": {
          "background-color": "color-mix(in oklab, var(--background) 72%, transparent)",
          "backdrop-filter": "blur(20px) saturate(180%)"
        }
      },
      "files": []
    },
    {
      "name": "theme-ember",
      "type": "registry:theme",
      "title": "Ember theme",
      "description": "Hot rose. Bold, for consumer and creative products. Complete tokens, motion included.",
      "cssVars": {
        "theme": {
          "font-display": "\"Geist Variable\", -apple-system, BlinkMacSystemFont, \"SF Pro Display\", system-ui, sans-serif",
          "ease-mise": "cubic-bezier(0.2, 0, 0, 1)",
          "ease-mise-out": "cubic-bezier(0.16, 1, 0.3, 1)",
          "duration-fast": "150ms",
          "duration-base": "240ms",
          "duration-slow": "400ms",
          "color-mise": "var(--mise)",
          "color-mise-foreground": "var(--mise-foreground)",
          "color-mise-soft": "var(--mise-soft)"
        },
        "light": {
          "radius": "1.125rem",
          "background": "oklch(0.995 0.0013 15)",
          "foreground": "oklch(0.21 0.005 15)",
          "card": "oklch(0.975 0.0025 15)",
          "card-foreground": "oklch(0.21 0.005 15)",
          "popover": "oklch(0.995 0.0013 15)",
          "popover-foreground": "oklch(0.21 0.005 15)",
          "primary": "oklch(0.21 0.005 15)",
          "primary-foreground": "oklch(0.99 0.0013 15)",
          "secondary": "oklch(0.955 0.0037 15)",
          "secondary-foreground": "oklch(0.21 0.005 15)",
          "muted": "oklch(0.965 0.0025 15)",
          "muted-foreground": "oklch(0.5 0.01 15)",
          "accent": "oklch(0.955 0.0037 15)",
          "accent-foreground": "oklch(0.21 0.005 15)",
          "destructive": "oklch(0.6 0.22 27)",
          "border": "oklch(0.9 0.0037 15)",
          "input": "oklch(0.9 0.0037 15)",
          "mise": "oklch(0.58 0.21 15)",
          "mise-foreground": "oklch(0.985 0.006 15)",
          "mise-soft": "oklch(0.95 0.03 15)",
          "ring": "oklch(0.64 0.18 15)"
        },
        "dark": {
          "background": "oklch(0.14 0.0063 15)",
          "foreground": "oklch(0.96 0.0025 15)",
          "card": "oklch(0.19 0.0063 15)",
          "card-foreground": "oklch(0.96 0.0025 15)",
          "popover": "oklch(0.2 0.0063 15)",
          "popover-foreground": "oklch(0.96 0.0025 15)",
          "primary": "oklch(0.96 0.0025 15)",
          "primary-foreground": "oklch(0.17 0.005 15)",
          "secondary": "oklch(0.24 0.0063 15)",
          "secondary-foreground": "oklch(0.96 0.0025 15)",
          "muted": "oklch(0.22 0.0063 15)",
          "muted-foreground": "oklch(0.7 0.0075 15)",
          "accent": "oklch(0.26 0.0063 15)",
          "accent-foreground": "oklch(0.96 0.0025 15)",
          "destructive": "oklch(0.7 0.19 22)",
          "border": "oklch(1 0 0 / 12%)",
          "input": "oklch(1 0 0 / 15%)",
          "mise": "oklch(0.71 0.18 15)",
          "mise-foreground": "oklch(0.18 0.04 15)",
          "mise-soft": "oklch(0.31 0.07 15)",
          "ring": "oklch(0.66 0.17 15)"
        }
      },
      "css": {
        "@utility text-display": {
          "font-family": "var(--font-display)",
          "font-weight": "600",
          "letter-spacing": "-0.03em",
          "line-height": "1.04"
        },
        "@utility text-title": {
          "font-family": "var(--font-display)",
          "font-weight": "600",
          "letter-spacing": "-0.02em",
          "line-height": "1.12"
        },
        "@utility material": {
          "background-color": "color-mix(in oklab, var(--background) 72%, transparent)",
          "backdrop-filter": "blur(20px) saturate(180%)"
        }
      },
      "files": []
    },
    {
      "name": "theme-forest",
      "type": "registry:theme",
      "title": "Forest theme",
      "description": "Deep green. Calm, for health, money and climate. Complete tokens, motion included.",
      "cssVars": {
        "theme": {
          "font-display": "\"Geist Variable\", -apple-system, BlinkMacSystemFont, \"SF Pro Display\", system-ui, sans-serif",
          "ease-mise": "cubic-bezier(0.2, 0, 0, 1)",
          "ease-mise-out": "cubic-bezier(0.16, 1, 0.3, 1)",
          "duration-fast": "150ms",
          "duration-base": "240ms",
          "duration-slow": "400ms",
          "color-mise": "var(--mise)",
          "color-mise-foreground": "var(--mise-foreground)",
          "color-mise-soft": "var(--mise-soft)"
        },
        "light": {
          "radius": "0.75rem",
          "background": "oklch(0.995 0.0015 160)",
          "foreground": "oklch(0.21 0.006 160)",
          "card": "oklch(0.975 0.003 160)",
          "card-foreground": "oklch(0.21 0.006 160)",
          "popover": "oklch(0.995 0.0015 160)",
          "popover-foreground": "oklch(0.21 0.006 160)",
          "primary": "oklch(0.21 0.006 160)",
          "primary-foreground": "oklch(0.99 0.0015 160)",
          "secondary": "oklch(0.955 0.0045 160)",
          "secondary-foreground": "oklch(0.21 0.006 160)",
          "muted": "oklch(0.965 0.003 160)",
          "muted-foreground": "oklch(0.5 0.012 160)",
          "accent": "oklch(0.955 0.0045 160)",
          "accent-foreground": "oklch(0.21 0.006 160)",
          "destructive": "oklch(0.6 0.22 27)",
          "border": "oklch(0.9 0.0045 160)",
          "input": "oklch(0.9 0.0045 160)",
          "mise": "oklch(0.47 0.1 162)",
          "mise-foreground": "oklch(0.985 0.006 162)",
          "mise-soft": "oklch(0.94 0.03 162)",
          "ring": "oklch(0.55 0.1 162)"
        },
        "dark": {
          "background": "oklch(0.14 0.0075 160)",
          "foreground": "oklch(0.96 0.003 160)",
          "card": "oklch(0.19 0.0075 160)",
          "card-foreground": "oklch(0.96 0.003 160)",
          "popover": "oklch(0.2 0.0075 160)",
          "popover-foreground": "oklch(0.96 0.003 160)",
          "primary": "oklch(0.96 0.003 160)",
          "primary-foreground": "oklch(0.17 0.006 160)",
          "secondary": "oklch(0.24 0.0075 160)",
          "secondary-foreground": "oklch(0.96 0.003 160)",
          "muted": "oklch(0.22 0.0075 160)",
          "muted-foreground": "oklch(0.7 0.009 160)",
          "accent": "oklch(0.26 0.0075 160)",
          "accent-foreground": "oklch(0.96 0.003 160)",
          "destructive": "oklch(0.7 0.19 22)",
          "border": "oklch(1 0 0 / 12%)",
          "input": "oklch(1 0 0 / 15%)",
          "mise": "oklch(0.74 0.13 162)",
          "mise-foreground": "oklch(0.18 0.03 162)",
          "mise-soft": "oklch(0.3 0.05 162)",
          "ring": "oklch(0.66 0.12 162)"
        }
      },
      "css": {
        "@utility text-display": {
          "font-family": "var(--font-display)",
          "font-weight": "600",
          "letter-spacing": "-0.03em",
          "line-height": "1.04"
        },
        "@utility text-title": {
          "font-family": "var(--font-display)",
          "font-weight": "600",
          "letter-spacing": "-0.02em",
          "line-height": "1.12"
        },
        "@utility material": {
          "background-color": "color-mix(in oklab, var(--background) 72%, transparent)",
          "backdrop-filter": "blur(20px) saturate(180%)"
        }
      },
      "files": []
    },
    {
      "name": "theme-ink",
      "type": "registry:theme",
      "title": "Ink theme",
      "description": "No colour at all. Serious, for tools and documents. Complete tokens, motion included.",
      "cssVars": {
        "theme": {
          "font-display": "\"Geist Variable\", -apple-system, BlinkMacSystemFont, \"SF Pro Display\", system-ui, sans-serif",
          "ease-mise": "cubic-bezier(0.2, 0, 0, 1)",
          "ease-mise-out": "cubic-bezier(0.16, 1, 0.3, 1)",
          "duration-fast": "150ms",
          "duration-base": "240ms",
          "duration-slow": "400ms",
          "color-mise": "var(--mise)",
          "color-mise-foreground": "var(--mise-foreground)",
          "color-mise-soft": "var(--mise-soft)"
        },
        "light": {
          "radius": "0.5rem",
          "background": "oklch(0.995 0.0005 90)",
          "foreground": "oklch(0.21 0.002 90)",
          "card": "oklch(0.975 0.001 90)",
          "card-foreground": "oklch(0.21 0.002 90)",
          "popover": "oklch(0.995 0.0005 90)",
          "popover-foreground": "oklch(0.21 0.002 90)",
          "primary": "oklch(0.21 0.002 90)",
          "primary-foreground": "oklch(0.99 0.0005 90)",
          "secondary": "oklch(0.955 0.0015 90)",
          "secondary-foreground": "oklch(0.21 0.002 90)",
          "muted": "oklch(0.965 0.001 90)",
          "muted-foreground": "oklch(0.5 0.004 90)",
          "accent": "oklch(0.955 0.0015 90)",
          "accent-foreground": "oklch(0.21 0.002 90)",
          "destructive": "oklch(0.6 0.22 27)",
          "border": "oklch(0.9 0.0015 90)",
          "input": "oklch(0.9 0.0015 90)",
          "mise": "oklch(0.24 0.004 90)",
          "mise-foreground": "oklch(0.985 0.002 90)",
          "mise-soft": "oklch(0.94 0.003 90)",
          "ring": "oklch(0.55 0.004 90)"
        },
        "dark": {
          "background": "oklch(0.14 0.0025 90)",
          "foreground": "oklch(0.96 0.001 90)",
          "card": "oklch(0.19 0.0025 90)",
          "card-foreground": "oklch(0.96 0.001 90)",
          "popover": "oklch(0.2 0.0025 90)",
          "popover-foreground": "oklch(0.96 0.001 90)",
          "primary": "oklch(0.96 0.001 90)",
          "primary-foreground": "oklch(0.17 0.002 90)",
          "secondary": "oklch(0.24 0.0025 90)",
          "secondary-foreground": "oklch(0.96 0.001 90)",
          "muted": "oklch(0.22 0.0025 90)",
          "muted-foreground": "oklch(0.7 0.003 90)",
          "accent": "oklch(0.26 0.0025 90)",
          "accent-foreground": "oklch(0.96 0.001 90)",
          "destructive": "oklch(0.7 0.19 22)",
          "border": "oklch(1 0 0 / 12%)",
          "input": "oklch(1 0 0 / 15%)",
          "mise": "oklch(0.95 0.003 90)",
          "mise-foreground": "oklch(0.18 0.003 90)",
          "mise-soft": "oklch(0.3 0.003 90)",
          "ring": "oklch(0.7 0.004 90)"
        }
      },
      "css": {
        "@utility text-display": {
          "font-family": "var(--font-display)",
          "font-weight": "600",
          "letter-spacing": "-0.03em",
          "line-height": "1.04"
        },
        "@utility text-title": {
          "font-family": "var(--font-display)",
          "font-weight": "600",
          "letter-spacing": "-0.02em",
          "line-height": "1.12"
        },
        "@utility material": {
          "background-color": "color-mix(in oklab, var(--background) 72%, transparent)",
          "backdrop-filter": "blur(20px) saturate(180%)"
        }
      },
      "files": []
    },
    {
      "name": "thinking-indicator",
      "type": "registry:ui",
      "title": "Thinking Indicator",
      "description": "Three breathing dots and a live label that tell the user the model is working, and on what.",
      "dependencies": [
        "motion",
        "lucide-react"
      ],
      "registryDependencies": [
        "utils"
      ],
      "categories": [
        "ai"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/thinking-indicator.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "thinking-orb",
      "type": "registry:ui",
      "title": "Thinking Orb",
      "description": "A breathing sphere whose motion says idle, listening, thinking or speaking without a word of text.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "effects"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/thinking-orb.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "tilted-card",
      "type": "registry:ui",
      "title": "Tilted Card",
      "description": "A showcase card with strong tilt and depth for a picture or a pass: a floating caption, a foil sheen, parts on separate planes or a notched ticket, with text sharp at rest.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils"
      ],
      "categories": [
        "interactions"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/tilted-card.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/tilted-card-math.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/tilted-card-parts.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "timeline",
      "type": "registry:ui",
      "title": "Timeline",
      "description": "Events in order with time, title, detail and a status that keeps its meaning under any accent, down a rail, on two sides, as one-liners or across a row.",
      "dependencies": [
        "lucide-react",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "display"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/timeline.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/timeline-lists.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/timeline-parts.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "timer",
      "type": "registry:ui",
      "title": "Timer",
      "description": "Counts down to a moment or up from one, with pause and resume. It reads the clock instead of adding ticks, so a sleeping tab cannot make it wrong.",
      "dependencies": [
        "lucide-react",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "display"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/timer.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/timer-math.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/timer-parts.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/timer-state.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "toast",
      "type": "registry:ui",
      "title": "Toast",
      "description": "A brief message about something that just happened, which waits while you read it and leaves without being asked.",
      "dependencies": [
        "motion",
        "lucide-react"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "feedback"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/toast.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/toast-item.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/toast-row.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/toast-layout.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/toast-store.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "toggle",
      "type": "registry:ui",
      "title": "Toggle",
      "description": "A button that stays pressed: quiet fill, darkening border, filter chip with a check, or a square icon in the accent.",
      "dependencies": [
        "radix-ui",
        "lucide-react",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "forms"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/toggle.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "toggle-group",
      "type": "registry:ui",
      "title": "Toggle Group",
      "description": "A row of buttons that stay pressed, one at a time or several at once: quiet fill, joined outline, wrapping chips or square icons.",
      "dependencies": [
        "radix-ui",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "forms"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/toggle-group.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "tool-call-card",
      "type": "registry:ui",
      "title": "Tool Call Card",
      "description": "Collapsible record of one tool call: name, status, duration, and the exact input and output on demand.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "utils"
      ],
      "categories": [
        "ai"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/tool-call-card.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "toolbar",
      "type": "registry:ui",
      "title": "Toolbar",
      "description": "A row of tools that is one tab stop: arrow keys rove inside it, with groups, separators, links and toggles, and it wraps or scrolls instead of breaking the layout.",
      "dependencies": [
        "motion",
        "radix-ui"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "forms"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/toolbar.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "tooltip",
      "type": "registry:ui",
      "title": "Tooltip",
      "description": "One-line hint that appears on hover or focus with no delay and leaves with the pointer, for detail that does not deserve screen space.",
      "dependencies": [
        "radix-ui"
      ],
      "registryDependencies": [
        "utils"
      ],
      "categories": [
        "overlays"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/tooltip.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "tour",
      "type": "registry:ui",
      "title": "Tour",
      "description": "A step-by-step product tour with a spotlight cut-out, anchored to a selector or a ref. It manages focus, scrolls targets into view, follows them on resize and skips the ones that are missing.",
      "dependencies": [
        "lucide-react",
        "motion",
        "radix-ui"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json",
        "https://miseui.junsu4621.workers.dev/r/button.json"
      ],
      "categories": [
        "overlays"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/tour.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/tour-math.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/tour-parts.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/tour-state.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "tree-view",
      "type": "registry:ui",
      "title": "Tree View",
      "description": "A nested list written to the full ARIA tree pattern: arrow keys, type-ahead, single or multiple selection and lazy children, with guide lines, dense rows or a card per branch.",
      "dependencies": [
        "lucide-react",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "display"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/tree-view.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/tree-view-item.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/tree-view-math.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/tree-view-state.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "typewriter-text",
      "type": "registry:ui",
      "title": "Typewriter Text",
      "description": "A staged line that types itself with a human rhythm, the whole text laid out from the start so lines never reflow, and a caret that goes away when it is done.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/split-text.json"
      ],
      "categories": [
        "text"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/typewriter-text.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/typewriter-play.ts",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/typewriter-math.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "use-view-transition",
      "type": "registry:hook",
      "title": "useViewTransition",
      "description": "Five named page-transition presets on the View Transitions API, with a reduced-motion cross-fade and a plain fallback.",
      "categories": [
        "transitions"
      ],
      "files": [
        {
          "path": "registry/miseui/hooks/use-view-transition.ts",
          "type": "registry:hook"
        }
      ]
    },
    {
      "name": "utils",
      "type": "registry:lib",
      "title": "Utils",
      "description": "cn() class merger.",
      "dependencies": [
        "clsx",
        "tailwind-merge"
      ],
      "files": [
        {
          "path": "registry/miseui/lib/utils.ts",
          "type": "registry:lib"
        }
      ]
    },
    {
      "name": "verification-code",
      "type": "registry:block",
      "title": "Verification Code",
      "description": "A one-time code screen with a resend countdown, wrong-code and success states, in wording that never reveals whether an address exists: one card, beside what to look for in the inbox, or a row inside your own form.",
      "dependencies": [
        "lucide-react",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json",
        "https://miseui.junsu4621.workers.dev/r/button.json",
        "https://miseui.junsu4621.workers.dev/r/input-otp.json"
      ],
      "categories": [
        "blocks"
      ],
      "files": [
        {
          "path": "registry/miseui/blocks/verification-code.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/verification-code-inline.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/verification-code-parts.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/verification-code-split.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/miseui/blocks/verification-code-state.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "view-counter",
      "type": "registry:ui",
      "title": "View Counter",
      "description": "A view count from a fetcher you pass, with loading and failure states and no network code of its own.",
      "dependencies": [
        "lucide-react",
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "display"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/view-counter.tsx",
          "type": "registry:ui"
        },
        {
          "path": "registry/miseui/ui/view-counter-state.ts",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "voice-glow",
      "type": "registry:ui",
      "title": "Voice Glow",
      "description": "A round glow that swells with the microphone level, so the user sees the assistant is listening and how loudly it hears them.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils",
        "https://miseui.junsu4621.workers.dev/r/motion.json"
      ],
      "categories": [
        "effects"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/voice-glow.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "voice-wave",
      "type": "registry:ui",
      "title": "Voice Wave",
      "description": "Bars that rise with the microphone level so the user can see they are being heard, and see when they are not.",
      "dependencies": [
        "motion"
      ],
      "registryDependencies": [
        "utils"
      ],
      "categories": [
        "ai"
      ],
      "files": [
        {
          "path": "registry/miseui/ui/voice-wave.tsx",
          "type": "registry:ui"
        }
      ]
    }
  ]
}
