{
  "$schema": "https://ui.shadcn.com/schema/registry.json",
  "name": "niceui",
  "homepage": "https://niceui.dev",
  "items": [
    {
      "name": "avatar-group",
      "type": "registry:ui",
      "title": "Avatar Group",
      "description": "Overlapping avatars with initials fallback, hover lift and a +N overflow counter.",
      "files": [
        {
          "path": "registry/ui/avatar-group.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "badge",
      "type": "registry:ui",
      "title": "Badge",
      "description": "Compact status labels in neutral, sky and outline variants, with an optional glowing status dot.",
      "files": [
        {
          "path": "registry/ui/badge.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "button",
      "type": "registry:ui",
      "title": "Button",
      "description": "A pill-shaped button with primary, outline and ghost variants in three sizes. Accessible focus ring, forwarded ref.",
      "files": [
        {
          "path": "registry/ui/button.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "command-palette",
      "type": "registry:ui",
      "title": "Command Palette",
      "description": "A ⌘K search palette with live filtering, arrow-key navigation and an Enter action per item.",
      "files": [
        {
          "path": "registry/ui/command-palette.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "floating-input",
      "type": "registry:ui",
      "title": "Floating Input",
      "description": "A text input whose label floats above the value on focus. Pure CSS peer states, no JavaScript needed for the animation.",
      "files": [
        {
          "path": "registry/ui/floating-input.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "marquee",
      "type": "registry:ui",
      "title": "Marquee",
      "description": "An infinite, edge-faded horizontal scroller for logos, tags or testimonials. Pauses on hover.",
      "files": [
        {
          "path": "registry/ui/marquee.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "segmented-control",
      "type": "registry:ui",
      "title": "Segmented Control",
      "description": "A pill tab switcher with a sliding sky indicator that springs between options.",
      "files": [
        {
          "path": "registry/ui/segmented-control.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "shimmer-button",
      "type": "registry:ui",
      "title": "Shimmer Button",
      "description": "A dark button with a sweeping sky-blue shimmer and a glowing bottom edge. Zero dependencies, keyframes included.",
      "files": [
        {
          "path": "registry/ui/shimmer-button.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "slider",
      "type": "registry:ui",
      "title": "Slider",
      "description": "A minimal range slider with a sky fill, soft halo thumb and a live value readout.",
      "files": [
        {
          "path": "registry/ui/slider.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "stat-card",
      "type": "registry:ui",
      "title": "Stat Card",
      "description": "A KPI card with label, value, delta and an inline sparkline generated from your data points.",
      "files": [
        {
          "path": "registry/ui/stat-card.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "switch",
      "type": "registry:ui",
      "title": "Switch",
      "description": "An accessible toggle with a springy thumb. Works controlled or uncontrolled and uses role=\"switch\".",
      "files": [
        {
          "path": "registry/ui/switch.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "name": "hero-horizon",
      "type": "registry:block",
      "title": "Hero — Horizon",
      "description": "A cinematic landing hero with serif-italic accent, dual CTAs and the signature glowing horizon arc.",
      "files": [
        {
          "path": "registry/blocks/hero-horizon.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "pricing-minimal",
      "type": "registry:block",
      "title": "Pricing — Minimal",
      "description": "Three-tier pricing with a monthly/yearly toggle, featured plan glow and checkmark feature lists.",
      "files": [
        {
          "path": "registry/blocks/pricing-minimal.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-chat-app",
      "type": "registry:block",
      "title": "Chat App",
      "description": "A complete chat experience with a conversation sidebar, streaming replies and a rich composer.",
      "files": [
        {
          "path": "components/niceui/ai/ChatApp.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ai/MessageBubble.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ai/PromptInput.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ui/motion/hooks.ts",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ai/AgentLoading.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ai/stream.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-message-bubble",
      "type": "registry:component",
      "title": "Message Bubble",
      "description": "User and assistant chat bubbles with timestamps, read receipts and hover actions.",
      "files": [
        {
          "path": "components/niceui/ai/MessageBubble.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-prompt-input",
      "type": "registry:block",
      "title": "Prompt Input",
      "description": "An auto-growing composer with attachments, a model picker and a send button that morphs into stop.",
      "files": [
        {
          "path": "components/niceui/ai/PromptInput.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ui/motion/hooks.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-command-composer",
      "type": "registry:block",
      "title": "Command Composer",
      "description": "A composer with a / command menu and @ mentions for files, people and docs, keyboard driven, with selections as chips.",
      "files": [
        {
          "path": "components/niceui/ai/CommandComposer.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ui/motion/hooks.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-prompt-suggestions",
      "type": "registry:block",
      "title": "Prompt Suggestions",
      "description": "Starter prompts in category tabs for an empty chat, plus follow-up chips that cascade in after a reply.",
      "files": [
        {
          "path": "components/niceui/ai/PromptSuggestions.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ai/stream.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-streaming-response",
      "type": "registry:block",
      "title": "Streaming Response",
      "description": "Assistant text that streams in word by word with a blinking caret and lightweight markdown.",
      "files": [
        {
          "path": "components/niceui/ai/StreamingResponse.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ai/stream.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-response-branches",
      "type": "registry:block",
      "title": "Response Branches",
      "description": "Regenerated replies you can page through, with copy, rate, feedback, share and read-aloud actions.",
      "files": [
        {
          "path": "components/niceui/ai/ResponseBranches.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ui/motion/hooks.ts",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ai/stream.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-code-block",
      "type": "registry:block",
      "title": "Code Block",
      "description": "Syntax-highlighted code for assistant answers, with highlighted lines and multi-file tabs.",
      "files": [
        {
          "path": "components/niceui/ai/AICodeBlock.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ui/CodeBlock.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-chat-widget",
      "type": "registry:component",
      "title": "Chat Widget",
      "description": "A support assistant launcher with an unread badge, quick replies, streamed answers and a hand-off to a human.",
      "files": [
        {
          "path": "components/niceui/ai/ChatWidget.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-ai-sidebar",
      "type": "registry:component",
      "title": "AI Sidebar",
      "description": "A collapsible copilot panel beside a document, with suggestions that apply directly to the text.",
      "files": [
        {
          "path": "components/niceui/ai/AISidebar.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-ai-command-palette",
      "type": "registry:block",
      "title": "AI Command Palette",
      "description": "A ⌘K palette that runs commands and turns any question into a streamed AI answer with insert and copy actions.",
      "files": [
        {
          "path": "components/niceui/ai/AICommandPalette.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ai/stream.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-inline-ai-edit",
      "type": "registry:component",
      "title": "Inline AI Edit",
      "description": "Press ⌘K on selected lines to describe a change, watch the diff stream in, then accept, reject or retry.",
      "files": [
        {
          "path": "components/niceui/ai/InlineAIEdit.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-ghost-autocomplete",
      "type": "registry:component",
      "title": "Ghost Text",
      "description": "Inline AI autocomplete: a grey continuation appears as you pause; Tab accepts it, → takes one word, Esc dismisses.",
      "files": [
        {
          "path": "components/niceui/ai/GhostAutocomplete.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-ask-ai-toolbar",
      "type": "registry:component",
      "title": "Ask AI Toolbar",
      "description": "Select text in a document to get a floating toolbar — improve, shorten, translate, explain or ask — with replace and insert.",
      "files": [
        {
          "path": "components/niceui/ai/AskAIToolbar.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-attachment-dropzone",
      "type": "registry:block",
      "title": "Attachments",
      "description": "A composer that takes files by drag and drop, paste or picker, with upload progress, image thumbnails and page or row counts.",
      "files": [
        {
          "path": "components/niceui/ai/io/AttachmentDropzone.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ai/io/shared.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-grid-flicker",
      "type": "registry:block",
      "title": "Grid Flicker",
      "description": "A tiny dot grid that flickers in waves, snakes, ripples or random sparks while the agent thinks.",
      "files": [
        {
          "path": "components/niceui/ai/thinking/GridFlicker.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ai/thinking/shared.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-thinking-orbs",
      "type": "registry:block",
      "title": "Thinking Orbs",
      "description": "Four small orbs for agent status: breathing, glass with a travelling highlight, dithered and a morphing blob.",
      "files": [
        {
          "path": "components/niceui/ai/thinking/ThinkingOrbs.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ai/thinking/shared.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-thinking-rings",
      "type": "registry:block",
      "title": "Thinking Rings",
      "description": "Ring spinners for tool calls and searches: gradient arc, orbiting dots, pulsing halo and a radar sweep, with a done check.",
      "files": [
        {
          "path": "components/niceui/ai/thinking/ThinkingRings.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ai/thinking/shared.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-dot-wave",
      "type": "registry:block",
      "title": "Dot Wave",
      "description": "Typing-style dots and bars that wave, bounce, fade or pulse like an equaliser.",
      "files": [
        {
          "path": "components/niceui/ai/thinking/DotWave.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ai/thinking/shared.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-scan-line",
      "type": "registry:block",
      "title": "Scan Line",
      "description": "A soft light that scans across whatever the agent is reading: a document, a card or a skeleton.",
      "files": [
        {
          "path": "components/niceui/ai/thinking/ScanLine.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ai/thinking/shared.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-braille-spinner",
      "type": "registry:block",
      "title": "Terminal Spinners",
      "description": "Unicode spinners in the style of command-line coding agents, with labels, elapsed time and done ticks.",
      "files": [
        {
          "path": "components/niceui/ai/thinking/BrailleSpinner.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ai/thinking/shared.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-thinking-text",
      "type": "registry:component",
      "title": "Thinking Text",
      "description": "A \"Thinking…\" label with a shimmer sweep, a letter-by-letter glint or a gentle wave.",
      "files": [
        {
          "path": "components/niceui/ai/thinking/ThinkingText.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-scramble-status",
      "type": "registry:component",
      "title": "Scramble Status",
      "description": "A status label that scramble-decodes into place each time its text changes.",
      "files": [
        {
          "path": "components/niceui/ai/thinking/ScrambleStatus.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-rotating-status",
      "type": "registry:component",
      "title": "Rotating Status",
      "description": "Cycles through what the agent is doing with an icon per step, a soft slide-and-blur and an elapsed timer.",
      "files": [
        {
          "path": "components/niceui/ai/thinking/RotatingStatus.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-agent-status-ring",
      "type": "registry:component",
      "title": "Agent Avatar Status",
      "description": "An agent avatar with a ring that spins, breathes or settles for idle, thinking, tool use, waiting, done and error.",
      "files": [
        {
          "path": "components/niceui/ai/thinking/AgentStatusRing.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-thinking-states",
      "type": "registry:component",
      "title": "Thinking → Done",
      "description": "One indicator that morphs from a resting dot to a sweeping arc, orbiting dots, a drawn check or a cross.",
      "files": [
        {
          "path": "components/niceui/ai/thinking/ThinkingStates.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-gradient-blob",
      "type": "registry:component",
      "title": "Gradient Blob",
      "description": "A soft morphing gradient blob that speeds up while thinking and settles when done, from 16 to 160px.",
      "files": [
        {
          "path": "components/niceui/ai/thinking/GradientBlob.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-agent-loading",
      "type": "registry:component",
      "title": "Agent Loading States",
      "description": "Six loading indicators for agents: shimmer text, dot pulse, equalizer, orbit, skeleton and typing.",
      "files": [
        {
          "path": "components/niceui/ai/AgentLoading.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-reasoning",
      "type": "registry:block",
      "title": "Reasoning",
      "description": "A collapsible thinking panel that streams the model’s reasoning with a live timer, then folds into “Thought for 6 seconds”.",
      "files": [
        {
          "path": "components/niceui/ai/Reasoning.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ai/stream.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-model-selector",
      "type": "registry:block",
      "title": "Model Selector",
      "description": "A command-menu model picker with search, favorites, capability badges, context and price, and a detail pane.",
      "files": [
        {
          "path": "components/niceui/ai/ModelSelector.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ui/motion/hooks.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-model-compare",
      "type": "registry:block",
      "title": "Model Compare",
      "description": "A blind side-by-side: two models stream the same prompt with live speed and cost, you vote, then their names are revealed.",
      "files": [
        {
          "path": "components/niceui/ai/ModelCompare.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ai/stream.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-context-usage",
      "type": "registry:component",
      "title": "Context Usage",
      "description": "A context-window meter with a segmented ring and bar, running cost, a warning near the limit and a compact action.",
      "files": [
        {
          "path": "components/niceui/ai/ContextUsage.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-citations",
      "type": "registry:block",
      "title": "Citations",
      "description": "Inline numbered citation chips with hover source previews and a linked source list.",
      "files": [
        {
          "path": "components/niceui/ai/Citations.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ui/motion/hooks.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-answer-engine",
      "type": "registry:component",
      "title": "Answer Engine",
      "description": "A search-style answer: source cards first, then a streamed answer with inline citations and related questions.",
      "files": [
        {
          "path": "components/niceui/ai/AnswerEngine.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-tool-result",
      "type": "registry:component",
      "title": "Tool Result",
      "description": "Collapsible cards that summarize tool output with a status icon and live duration.",
      "files": [
        {
          "path": "components/niceui/ai/ToolResult.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-tool-approval",
      "type": "registry:component",
      "title": "Tool Approval",
      "description": "A human-in-the-loop card that shows tool arguments and morphs into its resolved state.",
      "files": [
        {
          "path": "components/niceui/ai/ToolApproval.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-clarifying-question",
      "type": "registry:component",
      "title": "Clarifying Question",
      "description": "The agent stops to ask: options with descriptions, an “Other” answer, number-key shortcuts and an auto-continue countdown.",
      "files": [
        {
          "path": "components/niceui/ai/ClarifyingQuestion.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-mcp-tool-picker",
      "type": "registry:block",
      "title": "MCP Tool Picker",
      "description": "A searchable list of MCP servers with one-click install toggles and a live installed count.",
      "files": [
        {
          "path": "components/niceui/ai/AgentWorkflow.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/shared/motion.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-generative-ui",
      "type": "registry:component",
      "title": "Generative UI",
      "description": "Tool calls that render interactive cards instead of text: weather, a stock chart, flight options and a calendar event.",
      "files": [
        {
          "path": "components/niceui/ai/GenerativeUI.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-code-interpreter",
      "type": "registry:component",
      "title": "Code Interpreter",
      "description": "A notebook-style run cell: highlighted Python, a live timer, stdout, a rendered chart and a downloadable CSV.",
      "files": [
        {
          "path": "components/niceui/ai/CodeInterpreter.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-file-diff",
      "type": "registry:component",
      "title": "File Diff",
      "description": "A unified diff with collapsible hunks, change stats and accept or reject actions.",
      "files": [
        {
          "path": "components/niceui/ai/FileDiff.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-diff-suggestion",
      "type": "registry:block",
      "title": "Diff Suggestion",
      "description": "An inline review suggestion: removed lines swap for added lines with one Apply click, and back with Undo.",
      "files": [
        {
          "path": "components/niceui/ai/AgentWorkflow.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/shared/motion.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-tool-permissions",
      "type": "registry:component",
      "title": "Tool Permissions",
      "description": "A permission matrix for agent tools — Always, Ask or Never per tool — grouped by files, web, shell and MCP servers, with presets.",
      "files": [
        {
          "path": "components/niceui/ai/ToolPermissions.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-sandbox-allowlist",
      "type": "registry:component",
      "title": "Sandbox Allowlist",
      "description": "Folders and domains an agent may touch, with wildcard validation and a live checker that says whether a path or URL is allowed.",
      "files": [
        {
          "path": "components/niceui/ai/SandboxAllowlist.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-rate-limit-notice",
      "type": "registry:block",
      "title": "Rate Limit",
      "description": "A usage-limit notice with a live reset countdown, a usage meter, and options to switch model or upgrade.",
      "files": [
        {
          "path": "components/niceui/ai/errors/RateLimitNotice.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ai/errors/shared.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-tool-failure-retry",
      "type": "registry:block",
      "title": "Tool Failure",
      "description": "A failed tool call with collapsible error details, retry with exponential backoff, editable arguments and skip.",
      "files": [
        {
          "path": "components/niceui/ai/errors/ToolFailure.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ai/errors/shared.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-connection-status",
      "type": "registry:block",
      "title": "Connection Status",
      "description": "An offline → reconnecting → back-online bar above the composer, with messages that queue and send on reconnect.",
      "files": [
        {
          "path": "components/niceui/ai/errors/ConnectionStatus.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ai/errors/shared.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-context-full",
      "type": "registry:block",
      "title": "Context Full",
      "description": "A context-window warning that compacts the chat into a summary, or starts a new chat carrying that summary.",
      "files": [
        {
          "path": "components/niceui/ai/errors/ContextFull.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ai/errors/shared.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-refusal-message",
      "type": "registry:block",
      "title": "Polite Refusal",
      "description": "A calm way to decline a request: a plain reason, alternatives the assistant can do instead, and a learn-more link.",
      "files": [
        {
          "path": "components/niceui/ai/errors/RefusalMessage.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ai/errors/shared.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-spend-cap",
      "type": "registry:block",
      "title": "Spend Cap",
      "description": "An agent run paused at its budget cap, with a cost breakdown, a raise-cap control that asks to confirm, and stop.",
      "files": [
        {
          "path": "components/niceui/ai/errors/SpendCap.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ai/errors/shared.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-agent-activity",
      "type": "registry:component",
      "title": "Agent Activity",
      "description": "A live vertical timeline of what the agent is doing, with per-step elapsed timers.",
      "files": [
        {
          "path": "components/niceui/ai/AgentActivity.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-todo-list",
      "type": "registry:component",
      "title": "Todo List",
      "description": "An agent plan checklist that progresses from pending to running to done with a live progress bar.",
      "files": [
        {
          "path": "components/niceui/ai/TodoList.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-plan-review",
      "type": "registry:component",
      "title": "Plan Review",
      "description": "An editable agent plan: rewrite, reorder, skip or add steps, request changes, then approve and watch it run.",
      "files": [
        {
          "path": "components/niceui/ai/PlanReview.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-browser-agent",
      "type": "registry:block",
      "title": "Browser Agent",
      "description": "A computer-use view where an agent drives a browser, with a moving cursor, labelled targets and a synced step log.",
      "files": [
        {
          "path": "components/niceui/ai/BrowserAgent.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/shared/motion.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-research-progress",
      "type": "registry:block",
      "title": "Deep Research",
      "description": "A research run that plans, searches, reads and writes, with a climbing source count and a report card at the end.",
      "files": [
        {
          "path": "components/niceui/ai/ResearchProgress.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/shared/motion.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-agent-terminal",
      "type": "registry:block",
      "title": "Agent Terminal",
      "description": "A terminal that types out an agent run log line by line when it scrolls into view, with replay.",
      "files": [
        {
          "path": "components/niceui/ai/AgentWorkflow.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/shared/motion.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-parallel-agents",
      "type": "registry:block",
      "title": "Parallel Agents",
      "description": "Agents on a shared timeline that slide in and fill their progress bars as they scroll into view.",
      "files": [
        {
          "path": "components/niceui/ai/AgentWorkflow.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/shared/motion.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-agent-handoff",
      "type": "registry:component",
      "title": "Agent Handoff",
      "description": "A multi-agent thread where a triage agent hands the conversation to specialists, showing the context each handoff carries.",
      "files": [
        {
          "path": "components/niceui/ai/AgentHandoff.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-agent-queue",
      "type": "registry:component",
      "title": "Agent Task Queue",
      "description": "An inbox for background agents with queued, running, review, merged and failed tasks, plus review and merge.",
      "files": [
        {
          "path": "components/niceui/ai/AgentQueue.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-task-dock",
      "type": "registry:block",
      "title": "Background Task Dock",
      "description": "A downloads-tray style dock for background agents: progress rings, the current step, expandable details, cancel and a completed list.",
      "files": [
        {
          "path": "components/niceui/ai/io/TaskDock.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ai/io/shared.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-done-toast",
      "type": "registry:block",
      "title": "Task Done Toast",
      "description": "Toasts that announce finished agent runs, with a progress state that turns into success in place, plus open and undo.",
      "files": [
        {
          "path": "components/niceui/ai/io/DoneToast.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ai/io/shared.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-run-history",
      "type": "registry:component",
      "title": "Run History",
      "description": "Past agent runs with status, duration, tokens and cost, a seven-day spend sparkline, status filters and per-step timings.",
      "files": [
        {
          "path": "components/niceui/ai/io/RunHistory.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-agent-builder",
      "type": "registry:component",
      "title": "Agent Builder",
      "description": "A no-code agent builder with identity, instructions, model, tools, knowledge and creativity, beside a live test chat.",
      "files": [
        {
          "path": "components/niceui/ai/AgentBuilder.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-agent-flow",
      "type": "registry:block",
      "title": "Agent Flow",
      "description": "A workflow canvas of agents and tools where you can drag nodes and run the flow to watch data move along the edges.",
      "files": [
        {
          "path": "components/niceui/ai/AgentFlow.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/shared/motion.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-agent-trace",
      "type": "registry:block",
      "title": "Agent Trace",
      "description": "A run inspector with a collapsible span tree, a timing waterfall, and the input, output, tokens and cost of each span.",
      "files": [
        {
          "path": "components/niceui/ai/AgentTrace.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/shared/motion.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-knowledge-base",
      "type": "registry:component",
      "title": "Knowledge Base",
      "description": "Sources that index through upload, parse, chunk and embed, with a retrieval tester that scores and highlights matching chunks.",
      "files": [
        {
          "path": "components/niceui/ai/KnowledgeBase.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-memory-panel",
      "type": "registry:component",
      "title": "Memory",
      "description": "What the assistant remembers, grouped and editable: edit inline, forget with undo, add a memory or switch memory off.",
      "files": [
        {
          "path": "components/niceui/ai/MemoryPanel.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-checkpoints",
      "type": "registry:component",
      "title": "Checkpoints",
      "description": "A timeline of the checkpoints an agent saves before each edit, with files changed and a confirm-to-restore rewind.",
      "files": [
        {
          "path": "components/niceui/ai/Checkpoints.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-artifact-panel",
      "type": "registry:component",
      "title": "Artifact Panel",
      "description": "Chat beside a live artifact: the latest version streams in, Preview and Code views, versions with changed lines and copy or download.",
      "files": [
        {
          "path": "components/niceui/ai/ArtifactPanel.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-voice-orb",
      "type": "registry:component",
      "title": "Voice Orb",
      "description": "A living gradient orb that breathes, listens, thinks and speaks with simulated voice amplitude.",
      "files": [
        {
          "path": "components/niceui/ai/VoiceOrb.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-voice-conversation",
      "type": "registry:block",
      "title": "Voice Conversation",
      "description": "Realtime voice mode with an orb, live captions for both sides, interrupt, mute, end call and a latency badge.",
      "files": [
        {
          "path": "components/niceui/ai/io/VoiceConversation.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ai/VoiceOrb.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ai/io/shared.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-push-to-talk",
      "type": "registry:block",
      "title": "Push to Talk",
      "description": "Hold the mic or Space to talk, with a live waveform, timer and slide-to-cancel, while the transcript streams into the composer.",
      "files": [
        {
          "path": "components/niceui/ai/io/PushToTalk.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ai/io/shared.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-audio-recorder",
      "type": "registry:block",
      "title": "Audio Note",
      "description": "Record a voice note, scrub it on a waveform with mouse, touch or arrow keys, then send or re-record.",
      "files": [
        {
          "path": "components/niceui/ai/io/AudioRecorder.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ai/io/shared.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-image-generation",
      "type": "registry:component",
      "title": "Image Generation",
      "description": "A prompt-to-image flow with progressive blur-to-sharp reveals and a 2×2 variation grid.",
      "files": [
        {
          "path": "components/niceui/ai/ImageGeneration.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-network-pulse",
      "type": "registry:block",
      "title": "Network Pulse",
      "description": "A hub-and-spoke constellation with pulses travelling from the core to breathing nodes. Pure SVG.",
      "files": [
        {
          "path": "components/niceui/ai/AgentWorkflow.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/shared/motion.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "ai-feature-tabs",
      "type": "registry:block",
      "title": "Auto Feature Tabs",
      "description": "Auto-advancing feature tabs with a glowing progress underline; each tab swaps in its own live content.",
      "files": [
        {
          "path": "components/niceui/ai/AgentWorkflow.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/shared/motion.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "crm-record-table",
      "type": "registry:component",
      "title": "Record Table",
      "description": "A spreadsheet-style record grid with sticky columns, typed cells, inline editing, keyboard navigation and bulk actions.",
      "files": [
        {
          "path": "components/niceui/crm/RecordTable.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "crm-filter-bar",
      "type": "registry:component",
      "title": "Filter & Sort Bar",
      "description": "Saved views, a step-by-step filter builder, sort chips and search over a list that filters live, with a save-view state.",
      "files": [
        {
          "path": "components/niceui/crm/FilterBar.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "crm-csv-import",
      "type": "registry:component",
      "title": "CSV Import",
      "description": "A four-step importer: drop a file, preview rows, map columns with confidence scores, review duplicates and invalid rows, then import.",
      "files": [
        {
          "path": "components/niceui/crm/CsvImport.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "crm-relation-picker",
      "type": "registry:component",
      "title": "Relation Picker",
      "description": "A searchable multi-select for linking people, companies and deals to a record, grouped with avatars, create-new and full keyboard control.",
      "files": [
        {
          "path": "components/niceui/crm/RelationPicker.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "crm-pipeline-board",
      "type": "registry:component",
      "title": "Pipeline Board",
      "description": "An opportunities kanban with drag and drop between stages, column totals and weighted pipeline, and a celebration on Won.",
      "files": [
        {
          "path": "components/niceui/crm/PipelineBoard.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "crm-deal-card",
      "type": "registry:component",
      "title": "Deal Card",
      "description": "An opportunity summary with a clickable stage stepper, win-probability ring, health, next step, buying group and an AI next action.",
      "files": [
        {
          "path": "components/niceui/crm/DealCard.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "crm-lead-score",
      "type": "registry:component",
      "title": "Lead Score",
      "description": "A lead score gauge with a hot, warm or cold label, the factors behind it, an AI explanation and a 30-day trend.",
      "files": [
        {
          "path": "components/niceui/crm/LeadScore.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "crm-sales-dashboard",
      "type": "registry:component",
      "title": "Sales Dashboard",
      "description": "KPI tiles with sparklines, revenue against quota, a pipeline funnel and a rep leaderboard, switchable by period.",
      "files": [
        {
          "path": "components/niceui/crm/SalesDashboard.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "crm-person-profile",
      "type": "registry:component",
      "title": "Person Profile",
      "description": "A contact record header with quick email and call actions, plus a field list you edit inline: email, phone, title, city, tags and owner.",
      "files": [
        {
          "path": "components/niceui/crm/PersonProfile.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "crm-company-card",
      "type": "registry:component",
      "title": "Company Card",
      "description": "A company record with domain, firmographics, an ICP-fit ring, people and open deals, and an Enrich action that fills empty fields with sourced AI data.",
      "files": [
        {
          "path": "components/niceui/crm/CompanyCard.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "crm-activity-timeline",
      "type": "registry:component",
      "title": "Activity Timeline",
      "description": "Everything that happened on a record, grouped by day: emails, calls, meetings, notes, stage changes and field updates, with filters and load more.",
      "files": [
        {
          "path": "components/niceui/crm/ActivityTimeline.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "crm-crm-tasks",
      "type": "registry:component",
      "title": "Tasks",
      "description": "Tasks grouped into overdue, today and upcoming, with assignees and linked records, an animated complete, and quick add that reads dates like “tomorrow 3pm”.",
      "files": [
        {
          "path": "components/niceui/crm/CrmTasks.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "crm-email-composer",
      "type": "registry:component",
      "title": "Email Composer",
      "description": "A sales email composer with recipient chips, templates, highlighted merge fields, AI rewrites, scheduled send and open tracking.",
      "files": [
        {
          "path": "components/niceui/crm/EmailComposer.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "crm-email-threads",
      "type": "registry:component",
      "title": "Email Threads",
      "description": "A CRM inbox: threads linked to companies, people and deals, with unread states, search, a thread view and quick reply.",
      "files": [
        {
          "path": "components/niceui/crm/EmailThreads.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "crm-sequence-builder",
      "type": "registry:component",
      "title": "Sequence",
      "description": "An outreach sequence over days: email, LinkedIn, call and wait steps with live sent, open and reply rates.",
      "files": [
        {
          "path": "components/niceui/crm/SequenceBuilder.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "application-sign-in",
      "type": "registry:block",
      "title": "Sign In",
      "description": "A split sign-in screen with SSO buttons, inline validation, a show-password toggle, remember me and a loading-to-success button.",
      "files": [
        {
          "path": "components/niceui/app/SignIn.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/app/authUi.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "application-sign-up",
      "type": "registry:block",
      "title": "Sign Up",
      "description": "A sign-up card with a live password strength meter, requirement checklist, terms checkbox and plan badge.",
      "files": [
        {
          "path": "components/niceui/app/SignUp.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/app/authUi.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "application-otp-verify",
      "type": "registry:block",
      "title": "One-Time Code",
      "description": "A six-digit code input with paste support, auto-advance, arrow keys, a resend countdown, an error shake and a success state.",
      "files": [
        {
          "path": "components/niceui/app/OtpVerify.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/app/authUi.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "application-magic-link",
      "type": "registry:block",
      "title": "Magic Link",
      "description": "Passwordless sign-in: email a link, then an animated “check your inbox” state with open-mail-app buttons and resend.",
      "files": [
        {
          "path": "components/niceui/app/MagicLink.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/app/authUi.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "application-password-reset",
      "type": "registry:block",
      "title": "Password Reset",
      "description": "A three-step reset flow: request a link, check email, set a new password with strength meter and confirm, then success.",
      "files": [
        {
          "path": "components/niceui/app/PasswordReset.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/app/authUi.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "application-settings-page",
      "type": "registry:component",
      "title": "Settings",
      "description": "Tabbed account settings with profile, team invites and roles, billing usage and invoices, and API keys with a save bar.",
      "files": [
        {
          "path": "components/niceui/app/SettingsPage.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "application-onboarding-flow",
      "type": "registry:component",
      "title": "Onboarding",
      "description": "A four-step workspace setup with progress, back and next, skip, and a success screen.",
      "files": [
        {
          "path": "components/niceui/app/Onboarding.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "application-notification-inbox",
      "type": "registry:component",
      "title": "Notification Inbox",
      "description": "A bell popover with All, Mentions and Unread tabs, grouped by day, with mark read, archive with undo and live items.",
      "files": [
        {
          "path": "components/niceui/app/NotificationInbox.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "application-data-table",
      "type": "registry:component",
      "title": "Data Table",
      "description": "A full data table with search, column visibility, sorting, row selection, row actions, status badges and pagination.",
      "files": [
        {
          "path": "components/niceui/app/DataTablePro.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "application-multi-step-form",
      "type": "registry:component",
      "title": "Multi-step Form",
      "description": "A three-step form with validation on each step, a review step with edit links, and a success state.",
      "files": [
        {
          "path": "components/niceui/app/MultiStepForm.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "application-empty-states",
      "type": "registry:component",
      "title": "Empty States",
      "description": "Four illustrated empty states, for no projects, no results, inbox zero and errors, each with actions.",
      "files": [
        {
          "path": "components/niceui/app/EmptyStates.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "charts-area-chart",
      "type": "registry:block",
      "title": "Area Chart",
      "description": "Stacked or overlaid gradient areas with a reveal animation, a totals tooltip and legend toggles.",
      "files": [
        {
          "path": "components/niceui/charts/AreaChart.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/charts/chart-utils.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "charts-bar-chart",
      "type": "registry:block",
      "title": "Bar Chart",
      "description": "Grouped or stacked bars, vertical or horizontal, with grow-in animation, value labels and a per-category tooltip.",
      "files": [
        {
          "path": "components/niceui/charts/BarChart.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/charts/chart-utils.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "charts-donut-chart",
      "type": "registry:block",
      "title": "Donut Chart",
      "description": "An interactive donut: segments grow on hover, the centre shows the hovered value, and the legend hides slices.",
      "files": [
        {
          "path": "components/niceui/charts/DonutChart.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/charts/chart-utils.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "charts-chart-cards",
      "type": "registry:block",
      "title": "KPI Chart Cards",
      "description": "Stat cards with counting values, deltas and a sparkline, mini bars or a progress ring.",
      "files": [
        {
          "path": "components/niceui/charts/ChartCard.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/charts/chart-utils.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "charts-line-chart",
      "type": "registry:block",
      "title": "Line Chart",
      "description": "A multi-series line chart in plain SVG with smooth curves, a crosshair tooltip, toggleable series and range tabs that redraw it.",
      "files": [
        {
          "path": "components/niceui/charts/LineChart.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/charts/chart-utils.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "charts-radar-chart",
      "type": "registry:block",
      "title": "Radar Chart",
      "description": "Compare two series across axes, with a springy reveal and an axis readout on hover or focus.",
      "files": [
        {
          "path": "components/niceui/charts/RadarChart.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/charts/chart-utils.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "commerce-cart-drawer",
      "type": "registry:block",
      "title": "Cart Drawer",
      "description": "A slide-over cart with quantity steppers, remove with undo, a free-shipping progress bar, an upsell and a checkout button.",
      "files": [
        {
          "path": "components/niceui/commerce/CartDrawer.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/commerce/data.ts",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/gallery/art.ts",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/commerce/Print.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "commerce-checkout",
      "type": "registry:block",
      "title": "Checkout",
      "description": "A one-page checkout with contact, shipping, delivery options, card fields that format and detect the card type, and an order summary with promo codes.",
      "files": [
        {
          "path": "components/niceui/commerce/Checkout.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/commerce/data.ts",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/gallery/art.ts",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/commerce/Print.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "commerce-product-card",
      "type": "registry:block",
      "title": "Product Cards",
      "description": "Product cards with frame swatches, a second image on hover, sale and new badges, a wishlist heart and quick add with a size picker.",
      "files": [
        {
          "path": "components/niceui/commerce/ProductCard.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/commerce/data.ts",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/gallery/art.ts",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/commerce/Print.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "commerce-product-detail",
      "type": "registry:block",
      "title": "Product Detail",
      "description": "A product page section with a zoomable gallery, frame and size pickers with stock, quantity, an add-to-cart button with states, a delivery estimate and details.",
      "files": [
        {
          "path": "components/niceui/commerce/ProductDetail.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/commerce/data.ts",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/gallery/art.ts",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/commerce/Print.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "commerce-product-reviews",
      "type": "registry:component",
      "title": "Reviews",
      "description": "A reviews section with an average rating, distribution bars that filter by stars, helpful votes and a write-a-review dialog with star input.",
      "files": [
        {
          "path": "components/niceui/commerce/Reviews.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "design-segmented-pills",
      "type": "registry:block",
      "title": "Segmented Pills",
      "description": "A soft track with a white pill that glides to the active option. Works with text, icons or both, and the arrow keys move between options.",
      "files": [
        {
          "path": "components/niceui/design/SegmentedPills.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/design/shared.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "design-inline-slider",
      "type": "registry:block",
      "title": "Inline Slider",
      "description": "A slider with its label inside the track and the value on the right. Drag anywhere to scrub, use the arrow keys (Shift for ×10), or double-click the value to type one.",
      "files": [
        {
          "path": "components/niceui/design/InlineSlider.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/design/shared.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "design-toggle-row",
      "type": "registry:block",
      "title": "Toggle Row",
      "description": "A settings row with a soft background and a switch. It can carry a description, and a row can be disabled when it depends on another one.",
      "files": [
        {
          "path": "components/niceui/design/ToggleRow.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/design/shared.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "design-unit-input",
      "type": "registry:block",
      "title": "Unit Input",
      "description": "Compact number fields with a prefix letter and a unit. Drag the letter to scrub, ↑ ↓ to nudge, and out-of-range values turn red. The demo locks the aspect ratio between W and H.",
      "files": [
        {
          "path": "components/niceui/design/UnitInput.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/design/shared.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "design-icon-tabs",
      "type": "registry:block",
      "title": "Icon Tabs",
      "description": "Inspector tabs where the active tab is a raised white tab joined to the panel below it. Each tab here holds real controls.",
      "files": [
        {
          "path": "components/niceui/design/IconTabs.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/design/shared.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/design/SegmentedPills.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/design/InlineSlider.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/design/ToggleRow.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "design-file-card",
      "type": "registry:block",
      "title": "File Card",
      "description": "The current asset: a thumbnail tile, name and meta, a menu to replace or remove it, and a drop state when a file is dragged over.",
      "files": [
        {
          "path": "components/niceui/design/FileCard.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/design/shared.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "design-export-menu",
      "type": "registry:block",
      "title": "Export Menu",
      "description": "A dark pill button that opens a light popover of export formats, with icon tiles, shortcuts, simulated progress per row and a privacy note.",
      "files": [
        {
          "path": "components/niceui/design/ExportMenu.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/design/shared.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "design-view-switcher",
      "type": "registry:block",
      "title": "View Toolbar",
      "description": "A floating pill toolbar for the canvas: a Fit / 100% / Pixel segment, tool buttons with tooltips and shortcuts, and zoom controls.",
      "files": [
        {
          "path": "components/niceui/design/ViewSwitcher.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/design/shared.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/design/SegmentedPills.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "design-swatch-rail",
      "type": "registry:block",
      "title": "Swatch Rail",
      "description": "A rail of material spheres (chrome, glass, clay, gold, pearl, holographic, ink) drawn with CSS gradients, with a selected ring, tooltips and arrow-key navigation.",
      "files": [
        {
          "path": "components/niceui/design/SwatchRail.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/design/shared.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "design-measure-bar",
      "type": "registry:block",
      "title": "Measure Bar",
      "description": "A dark translucent chip bar of live measurements whose numbers tween when they change. Drag the handle (or use the arrow keys on it) to resize the shape.",
      "files": [
        {
          "path": "components/niceui/design/MeasureBar.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/design/shared.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "gallery-coverflow-carousel",
      "type": "registry:block",
      "title": "Coverflow Carousel",
      "description": "A 3D coverflow with side covers that turn away, mirrored reflections, drag or swipe with inertia, arrow keys and captions.",
      "files": [
        {
          "path": "components/niceui/gallery/CoverflowCarousel.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/gallery/art.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "gallery-ring-carousel",
      "type": "registry:block",
      "title": "3D Ring Carousel",
      "description": "Cards on a slowly turning cylinder: drag to spin it with momentum, click a card to bring it to the front, pause with one tap.",
      "files": [
        {
          "path": "components/niceui/gallery/RingCarousel.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/gallery/art.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "gallery-stack-carousel",
      "type": "registry:block",
      "title": "Card Stack",
      "description": "A swipeable stack of photo cards that tilt as you drag and fly out left or right, with keep and skip buttons, keyboard control and restack.",
      "files": [
        {
          "path": "components/niceui/gallery/StackCarousel.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/gallery/art.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "gallery-parallax-carousel",
      "type": "registry:block",
      "title": "Parallax Slider",
      "description": "Full-width slides whose images travel slower than the frame, with large serif captions, segmented autoplay progress and pause.",
      "files": [
        {
          "path": "components/niceui/gallery/ParallaxCarousel.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/gallery/art.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "gallery-tilt-gallery",
      "type": "registry:block",
      "title": "3D Tilt Gallery",
      "description": "A grid of cards that tilt toward the pointer with a moving glare and floating captions; click one to zoom it open from where it sits.",
      "files": [
        {
          "path": "components/niceui/gallery/TiltGallery.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/gallery/art.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "gallery-gallery-wall",
      "type": "registry:block",
      "title": "3D Gallery Wall",
      "description": "Framed artworks hung along a perspective wall; walk along it by dragging or with the arrow keys, and the focused piece steps forward.",
      "files": [
        {
          "path": "components/niceui/gallery/Gallery3DWall.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/gallery/art.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "gallery-masonry-gallery",
      "type": "registry:block",
      "title": "Masonry Gallery",
      "description": "A responsive masonry of mixed aspect ratios with tone filters, staggered reveals and hover captions.",
      "files": [
        {
          "path": "components/niceui/gallery/MasonryGallery.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/gallery/art.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "gallery-bento-gallery",
      "type": "registry:block",
      "title": "Bento Gallery",
      "description": "An editorial bento grid with a featured tile; click any photo to swap it into the spotlight with a FLIP animation.",
      "files": [
        {
          "path": "components/niceui/gallery/BentoGallery.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/gallery/art.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "gallery-lightbox",
      "type": "registry:block",
      "title": "Lightbox",
      "description": "A thumbnail grid that opens a viewer with zoom and pan, swipe, arrow keys, a filmstrip, a counter and a details panel.",
      "files": [
        {
          "path": "components/niceui/gallery/Lightbox.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/gallery/art.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "gallery-filmstrip-viewer",
      "type": "registry:block",
      "title": "Filmstrip Viewer",
      "description": "A cinematic stage with crossfades and Ken Burns motion, a synced filmstrip, arrows and an autoplay progress ring.",
      "files": [
        {
          "path": "components/niceui/gallery/FilmstripViewer.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/gallery/art.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "gallery-before-after",
      "type": "registry:block",
      "title": "Before / After",
      "description": "A draggable comparison slider between an original and an edited image, with keyboard control and tap-to-flip on phones.",
      "files": [
        {
          "path": "components/niceui/gallery/BeforeAfter.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/gallery/art.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "gallery-showreel-player",
      "type": "registry:block",
      "title": "Showreel Player",
      "description": "A video-style showreel with slow pan-and-zoom, a scrubber with chapter markers and hover previews, a chapter list and timecode.",
      "files": [
        {
          "path": "components/niceui/gallery/ShowreelPlayer.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/gallery/art.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "gallery-reel-grid",
      "type": "registry:block",
      "title": "Reel Grid",
      "description": "Vertical 9:16 reels that play a slow pan with a progress bar on hover or focus, with view and duration badges.",
      "files": [
        {
          "path": "components/niceui/gallery/ReelGrid.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/gallery/art.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "gallery-project-cards",
      "type": "registry:block",
      "title": "Project Cards",
      "description": "Portfolio case cards that cycle through project images on hover, with client, year, tags and an arrow reveal.",
      "files": [
        {
          "path": "components/niceui/gallery/ProjectCards.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/gallery/art.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "gallery-canvas-gallery",
      "type": "registry:block",
      "title": "Infinite Canvas",
      "description": "An endless wall of images you drag in any direction, with inertia, a slow drift and a lightbox for the one you click.",
      "files": [
        {
          "path": "components/niceui/gallery/CanvasGallery.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/gallery/art.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "gallery-pixel-transition",
      "type": "registry:block",
      "title": "Pixel Transition",
      "description": "Canvas transitions between images: pixelate, dissolve or blinds, with captions and prev/next.",
      "files": [
        {
          "path": "components/niceui/gallery/PixelTransition.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/gallery/art.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "gallery-polaroid-stack",
      "type": "registry:block",
      "title": "Polaroid Scatter",
      "description": "Scattered polaroid photos with handwritten captions you can drag, bring to the front and shuffle.",
      "files": [
        {
          "path": "components/niceui/gallery/PolaroidStack.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/gallery/art.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "gallery-marquee-gallery",
      "type": "registry:block",
      "title": "Marquee Gallery",
      "description": "Rows of images drifting in opposite directions that pause on hover and speed up when you scroll or drag.",
      "files": [
        {
          "path": "components/niceui/gallery/InfiniteMarqueeGallery.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/gallery/art.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "gallery-expanding-panels",
      "type": "registry:block",
      "title": "Expanding Panels",
      "description": "A horizontal accordion of tall image panels: the active one opens with its caption and the rest show vertical titles.",
      "files": [
        {
          "path": "components/niceui/gallery/ExpandingPanels.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/gallery/art.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "gallery-scroll-stack-gallery",
      "type": "registry:block",
      "title": "Scroll Stack",
      "description": "Sticky image cards that pile up and recede as you scroll inside the gallery, with a live index counter.",
      "files": [
        {
          "path": "components/niceui/gallery/ScrollStack.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/gallery/art.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "gallery-hover-reveal-list",
      "type": "registry:block",
      "title": "Hover Reveal List",
      "description": "An editorial index where hovering a title floats its photo beside the cursor with spring motion and a clip-path reveal.",
      "files": [
        {
          "path": "components/niceui/gallery/HoverReveal.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/gallery/art.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "gallery-image-trail",
      "type": "registry:block",
      "title": "Image Trail",
      "description": "Moving the pointer drops a trail of images that pop in, then shrink and fade.",
      "files": [
        {
          "path": "components/niceui/gallery/ImageTrail.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/gallery/art.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "gallery-scroll-reveal-images",
      "type": "registry:block",
      "title": "Scroll Reveal",
      "description": "Images wipe in with a clip-path and settle from a slight zoom as they scroll into view.",
      "files": [
        {
          "path": "components/niceui/gallery/ScrollReveal.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/gallery/art.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "gallery-zoom-parallax",
      "type": "registry:block",
      "title": "Zoom Parallax",
      "description": "A full-frame image zooms out into a grid of surrounding images as you scroll.",
      "files": [
        {
          "path": "components/niceui/gallery/ZoomParallax.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/gallery/art.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "gallery-horizontal-scroll-gallery",
      "type": "registry:block",
      "title": "Horizontal Scroll",
      "description": "Scrolling down slides a track of large captioned images sideways, with a progress line.",
      "files": [
        {
          "path": "components/niceui/gallery/HorizontalScroll.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/gallery/art.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "gallery-text-mask-image",
      "type": "registry:block",
      "title": "Image in Text",
      "description": "A huge headline with a slowly panning image showing through its letters; hover a label to swap it.",
      "files": [
        {
          "path": "components/niceui/gallery/TextMaskImage.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/gallery/art.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "gallery-curtain-reveal",
      "type": "registry:block",
      "title": "Curtain Reveal",
      "description": "Slides change behind a curtain of strips that pull away up and down, with captions and autoplay.",
      "files": [
        {
          "path": "components/niceui/gallery/CurtainReveal.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/gallery/art.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "effects-aurora-background",
      "type": "registry:component",
      "title": "Aurora Background",
      "description": "Slow, blurred gradient ribbons that drift behind a hero or section. Pure CSS.",
      "files": [
        {
          "path": "components/niceui/effects/AuroraBackground.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "effects-animated-grid",
      "type": "registry:component",
      "title": "Animated Grid",
      "description": "A perspective grid floor whose cells light up at random, faded with a radial mask.",
      "files": [
        {
          "path": "components/niceui/effects/AnimatedGrid.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "effects-meteors",
      "type": "registry:component",
      "title": "Meteors",
      "description": "Falling light streaks across a card, with staggered timing.",
      "files": [
        {
          "path": "components/niceui/effects/Meteors.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "effects-particles",
      "type": "registry:component",
      "title": "Particles",
      "description": "Canvas particles that drift slowly and lean away from the pointer.",
      "files": [
        {
          "path": "components/niceui/effects/Particles.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "effects-border-beam",
      "type": "registry:component",
      "title": "Border Beam",
      "description": "A short beam of light that travels around a card border, drawn with a conic gradient.",
      "files": [
        {
          "path": "components/niceui/effects/BorderBeam.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "effects-noise-gradient",
      "type": "registry:component",
      "title": "Noise Gradient Background",
      "description": "A slowly shifting mesh gradient with SVG film grain, for heroes and banners.",
      "files": [
        {
          "path": "components/niceui/effects/NoiseGradient.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "effects-beams-background",
      "type": "registry:component",
      "title": "Light Beams",
      "description": "Vertical light beams fall through a dark panel at their own pace, over faint guide lines.",
      "files": [
        {
          "path": "components/niceui/effects/BeamsBackground.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "effects-typewriter-text",
      "type": "registry:component",
      "title": "Typewriter",
      "description": "Types, holds and deletes rotating phrases behind a blinking caret.",
      "files": [
        {
          "path": "components/niceui/effects/TypewriterText.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "effects-scramble-text",
      "type": "registry:component",
      "title": "Scramble Text",
      "description": "Characters cycle through random glyphs and lock into place when the text appears or is hovered.",
      "files": [
        {
          "path": "components/niceui/effects/ScrambleText.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "effects-gradient-text",
      "type": "registry:component",
      "title": "Animated Gradient Text",
      "description": "Text filled with a flowing gradient, with a light sweep passing over it.",
      "files": [
        {
          "path": "components/niceui/effects/GradientText.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "effects-number-ticker",
      "type": "registry:component",
      "title": "Number Ticker",
      "description": "Digit columns roll into place when a number scrolls into view, with locale formatting.",
      "files": [
        {
          "path": "components/niceui/effects/NumberTicker.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "effects-word-rotate",
      "type": "registry:component",
      "title": "Word Rotate",
      "description": "One word of a headline swaps with a blur-and-slide while the line width animates.",
      "files": [
        {
          "path": "components/niceui/effects/WordRotate.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "effects-shiny-button",
      "type": "registry:component",
      "title": "Shiny Button",
      "description": "A pill button with a soft light sweep, in solid, outline and glass variants.",
      "files": [
        {
          "path": "components/niceui/effects/ShinyButton.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "effects-rainbow-button",
      "type": "registry:component",
      "title": "Rainbow Button",
      "description": "A dark button framed by an animated rainbow border with a matching glow.",
      "files": [
        {
          "path": "components/niceui/effects/RainbowButton.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "effects-magnetic-button",
      "type": "registry:component",
      "title": "Magnetic Button",
      "description": "A button that leans toward the pointer on a spring, with a label that moves further for depth.",
      "files": [
        {
          "path": "components/niceui/effects/MagneticButton.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "effects-ripple-button",
      "type": "registry:component",
      "title": "Ripple Button",
      "description": "Ripples spread from the click point, then the button moves through loading and success.",
      "files": [
        {
          "path": "components/niceui/effects/RippleButton.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "effects-spotlight-card",
      "type": "registry:component",
      "title": "Spotlight Card",
      "description": "Cards lit by a soft light that follows the pointer, with a matching border highlight.",
      "files": [
        {
          "path": "components/niceui/effects/SpotlightCard.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "components-action-swap",
      "type": "registry:component",
      "title": "Action Swap",
      "description": "Icon and label swaps for stateful actions: copy, follow, play and like with a particle burst.",
      "files": [
        {
          "path": "components/niceui/ui/motion/ActionSwap.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "components-stepper",
      "type": "registry:block",
      "title": "Adaptive Stepper",
      "description": "A multi-step flow with filling connectors, check-morphing step nodes and direction-aware sliding content.",
      "files": [
        {
          "path": "components/niceui/ui/core/Stepper.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ui/core/Button.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ui/core/Input.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ui/core/utils.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "components-animated-alert",
      "type": "registry:component",
      "title": "Animated Alert",
      "description": "Status alerts with stroke-drawn icons and a smooth collapse when dismissed.",
      "files": [
        {
          "path": "components/niceui/ui/motion/Alert.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "components-animated-badge",
      "type": "registry:component",
      "title": "Animated Badge",
      "description": "Status badges in five tones with pulsing live dots, a rolling counter and a shimmering “New” tag.",
      "files": [
        {
          "path": "components/niceui/ui/core/Badge.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "components-breadcrumb",
      "type": "registry:component",
      "title": "Animated Breadcrumb",
      "description": "Long paths collapse their middle into an ellipsis that expands with a staggered reveal on click.",
      "files": [
        {
          "path": "components/niceui/ui/core/Breadcrumb.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "components-collapsible",
      "type": "registry:component",
      "title": "Animated Collapsible",
      "description": "A disclosure panel with grid-based height animation and blurred content reveal.",
      "files": [
        {
          "path": "components/niceui/ui/motion/Collapsible.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "components-animated-color-selector",
      "type": "registry:component",
      "title": "Animated Color Selector",
      "description": "Swatch picker where the selected color expands into a pill with a check and its name.",
      "files": [
        {
          "path": "components/niceui/ui/core/ColorSelector.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "components-context-menu",
      "type": "registry:block",
      "title": "Animated Context Menu",
      "description": "A right-click menu that opens at the cursor with staggered items, shortcuts and submenus.",
      "files": [
        {
          "path": "components/niceui/ui/motion/ContextMenu.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ui/motion/hooks.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "components-cta-buttons",
      "type": "registry:component",
      "title": "Animated CTA Buttons",
      "description": "Six attention-grabbing call-to-action buttons for hero sections, pricing pages and launch banners.",
      "files": [
        {
          "path": "components/niceui/ui/core/CtaButtons.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "components-animated-sidebar",
      "type": "registry:component",
      "title": "Animated Sidebar",
      "description": "An app sidebar that collapses between 72px and 240px with fading labels and nested groups.",
      "files": [
        {
          "path": "components/niceui/ui/motion/AnimatedSidebar.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "components-toast-stack",
      "type": "registry:block",
      "title": "Animated Toast Stack",
      "description": "Stacked toasts that fan out on hover, auto-dismiss with a progress bar and support promises.",
      "files": [
        {
          "path": "components/niceui/ui/motion/ToastStack.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ui/motion/hooks.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "components-aspect-ratio",
      "type": "registry:block",
      "title": "Aspect Ratio",
      "description": "Lock content to a ratio. Switching ratios morphs the frame with a spring.",
      "files": [
        {
          "path": "components/niceui/ui/core/AspectRatio.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ui/core/Tabs.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ui/core/utils.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "components-bottom-sheet",
      "type": "registry:block",
      "title": "Bottom Sheet",
      "description": "A draggable sheet with snap points, rubber-banding and flick-to-dismiss physics.",
      "files": [
        {
          "path": "components/niceui/ui/motion/BottomSheet.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ui/motion/hooks.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "components-bouncy-accordion",
      "type": "registry:component",
      "title": "Bouncy Accordion",
      "description": "An accordion with spring-eased panels, a rotating plus icon and single or multiple open modes.",
      "files": [
        {
          "path": "components/niceui/ui/motion/BouncyAccordion.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "components-card",
      "type": "registry:block",
      "title": "Card",
      "description": "A surface primitive with an optional cursor-follow spotlight and glowing border, driven by CSS variables.",
      "files": [
        {
          "path": "components/niceui/ui/core/Card.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ui/core/Badge.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ui/core/Button.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "components-center-morph-modal",
      "type": "registry:block",
      "title": "Center Morph Modal",
      "description": "A pill button that morphs its size, position and radius into a centered dialog.",
      "files": [
        {
          "path": "components/niceui/ui/motion/CenterMorphModal.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ui/motion/hooks.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "components-checkbox",
      "type": "registry:component",
      "title": "Checkbox",
      "description": "Checkboxes whose tick draws itself with an SVG stroke, plus an indeterminate state for select-all groups.",
      "files": [
        {
          "path": "components/niceui/ui/core/Checkbox.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "components-color-picker",
      "type": "registry:block",
      "title": "Color Picker",
      "description": "Saturation/value square, hue slider, hex input with copy and preset swatches, all draggable with the pointer.",
      "files": [
        {
          "path": "components/niceui/ui/core/ColorPicker.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ui/core/utils.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "components-combobox",
      "type": "registry:block",
      "title": "Combobox",
      "description": "A searchable select that filters as you type and highlights the matched substring.",
      "files": [
        {
          "path": "components/niceui/ui/core/Combobox.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ui/motion/hooks.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "components-cylinder-carousel",
      "type": "registry:component",
      "title": "Cylinder Carousel",
      "description": "A 3D rotating cylinder of cards built with CSS transforms, draggable and keyboard navigable.",
      "files": [
        {
          "path": "components/niceui/ui/motion/CylinderCarousel.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "components-date-range-picker",
      "type": "registry:block",
      "title": "Date Range Picker",
      "description": "Month grid with start/end selection, hover preview, quick presets and sliding month navigation.",
      "files": [
        {
          "path": "components/niceui/ui/core/DateRangePicker.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ui/core/Button.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ui/core/utils.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "components-dock",
      "type": "registry:component",
      "title": "Dock",
      "description": "A macOS-style dock with distance-based magnification, tooltips, launch bounce and open dots.",
      "files": [
        {
          "path": "components/niceui/ui/motion/Dock.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "components-drawer",
      "type": "registry:block",
      "title": "Drawer",
      "description": "A floating side drawer with a blurred backdrop, staggered content and Escape to close.",
      "files": [
        {
          "path": "components/niceui/ui/motion/Drawer.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ui/motion/hooks.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "components-expandable-control",
      "type": "registry:block",
      "title": "Expandable Control",
      "description": "A compact now-playing pill that springs open into a full music player.",
      "files": [
        {
          "path": "components/niceui/ui/motion/ExpandableControl.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ui/motion/hooks.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "components-file-tree",
      "type": "registry:component",
      "title": "File Tree",
      "description": "A nested file explorer with animated expand/collapse, indent guides and typed file icons.",
      "files": [
        {
          "path": "components/niceui/ui/motion/FileTree.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "components-image-viewer",
      "type": "registry:block",
      "title": "Image Viewer",
      "description": "A thumbnail grid that expands into a lightbox with click-to-zoom and keyboard navigation.",
      "files": [
        {
          "path": "components/niceui/ui/motion/ImageViewer.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ui/motion/hooks.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "components-input",
      "type": "registry:block",
      "title": "Input",
      "description": "Text field with label, hint, icon slot, password visibility toggle, focus glow and an error shake.",
      "files": [
        {
          "path": "components/niceui/ui/core/Input.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ui/core/Button.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "components-loader",
      "type": "registry:component",
      "title": "Loader",
      "description": "Eight polished loading indicators, from spinners and orbits to shimmering skeletons.",
      "files": [
        {
          "path": "components/niceui/ui/motion/Loader.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "components-morphing-modal",
      "type": "registry:block",
      "title": "Morphing Modal",
      "description": "Cards that FLIP-morph from their grid position into a centered modal and back.",
      "files": [
        {
          "path": "components/niceui/ui/motion/MorphingModal.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ui/motion/hooks.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "components-multi-select",
      "type": "registry:block",
      "title": "Multi Select",
      "description": "Pick several values as chips that pop in and collapse out when removed. Backspace removes the last chip.",
      "files": [
        {
          "path": "components/niceui/ui/core/MultiSelect.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ui/motion/hooks.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "components-number-animation",
      "type": "registry:component",
      "title": "Number Animation",
      "description": "Eased number tickers and a rolling-digit odometer for currency, counts and percentages.",
      "files": [
        {
          "path": "components/niceui/ui/motion/NumberTicker.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "components-popover",
      "type": "registry:block",
      "title": "Popover",
      "description": "A click-triggered floating panel that scales from its anchor with a spring.",
      "files": [
        {
          "path": "components/niceui/ui/motion/Popover.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ui/motion/hooks.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "components-radio-group",
      "type": "registry:component",
      "title": "Radio Group",
      "description": "Card-style radio options with a springy dot, ring pulse and roving keyboard focus.",
      "files": [
        {
          "path": "components/niceui/ui/core/RadioGroup.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "components-range-slider",
      "type": "registry:block",
      "title": "Range Slider",
      "description": "Single or dual-thumb slider with pointer dragging, stepping, keyboard support and a value tooltip.",
      "files": [
        {
          "path": "components/niceui/ui/core/RangeSlider.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ui/core/utils.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "components-scroll-animation",
      "type": "registry:component",
      "title": "Scroll Animation",
      "description": "Scroll-linked progress, parallax layers and reveal-on-scroll, scoped to any scroll container.",
      "files": [
        {
          "path": "components/niceui/ui/motion/ScrollAnimation.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "components-select",
      "type": "registry:block",
      "title": "Select",
      "description": "A custom listbox with a spring dropdown, staggered options, keyboard navigation and an animated check.",
      "files": [
        {
          "path": "components/niceui/ui/core/Select.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ui/motion/hooks.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "components-shader-background",
      "type": "registry:component",
      "title": "Shader Background",
      "description": "A canvas-rendered animated gradient mesh with film grain, perfect behind hero sections.",
      "files": [
        {
          "path": "components/niceui/ui/motion/ShaderBackground.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "components-shared-layout-background",
      "type": "registry:component",
      "title": "Shared Layout Background",
      "description": "A single highlight that glides between hovered nav or menu items.",
      "files": [
        {
          "path": "components/niceui/ui/motion/SharedLayoutBackground.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "components-sortable-list",
      "type": "registry:component",
      "title": "Sortable List",
      "description": "Pointer-driven drag reordering where siblings slide out of the way and the item settles into place.",
      "files": [
        {
          "path": "components/niceui/ui/motion/SortableList.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "components-table",
      "type": "registry:block",
      "title": "Table",
      "description": "A data table with sortable columns, row selection, status badges, hover actions and pagination.",
      "files": [
        {
          "path": "components/niceui/ui/core/Table.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ui/core/Badge.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ui/core/Checkbox.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ui/core/Button.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "components-tabs",
      "type": "registry:block",
      "title": "Tabs",
      "description": "Pill and underline tabs with a spring-animated indicator measured from the active tab. Arrow keys supported.",
      "files": [
        {
          "path": "components/niceui/ui/core/Tabs.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ui/core/utils.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "components-text-animation",
      "type": "registry:component",
      "title": "Text Animation",
      "description": "Blur-in words, typewriter, scramble decrypt, rotating words and gradient sweep effects.",
      "files": [
        {
          "path": "components/niceui/ui/motion/TextAnimation.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "components-theme-toggle",
      "type": "registry:component",
      "title": "Theme Toggle",
      "description": "A sun-to-moon morphing toggle and a three-way segmented control with a sliding pill.",
      "files": [
        {
          "path": "components/niceui/ui/motion/ThemeToggle.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "components-tilt-card",
      "type": "registry:component",
      "title": "Tilt Card",
      "description": "A 3D card that tilts toward the pointer with spring-smoothed rotation and a moving glare highlight.",
      "files": [
        {
          "path": "components/niceui/ui/core/TiltCard.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "components-tooltip",
      "type": "registry:block",
      "title": "Tooltip",
      "description": "Hover and focus tooltips with a spring scale-in, arrow, delay and keyboard shortcut hints.",
      "files": [
        {
          "path": "components/niceui/ui/motion/Tooltip.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ui/motion/hooks.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "components-wheel-picker",
      "type": "registry:component",
      "title": "Wheel Picker",
      "description": "iOS-style scroll-snapping wheels with 3D rotation and depth fade.",
      "files": [
        {
          "path": "components/niceui/ui/motion/WheelPicker.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "blocks-not-found",
      "type": "registry:component",
      "title": "404 / Not Found",
      "description": "A 404 page with a layered “404” that follows the pointer, a periodic glitch, docs search and suggested links. This site uses it as its real 404 page.",
      "files": [
        {
          "path": "components/niceui/blocks/NotFound.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "blocks-availability-scheduler",
      "type": "registry:component",
      "title": "Availability Scheduler",
      "description": "Set weekly working hours with day toggles and time ranges that animate as they are added or removed.",
      "files": [
        {
          "path": "components/niceui/blocks/AvailabilityScheduler.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "blocks-bloom-menu",
      "type": "registry:block",
      "title": "Bloom Menu",
      "description": "A floating action button that opens into a ring or arc of actions, each arriving on its own spring with a stagger.",
      "files": [
        {
          "path": "components/niceui/blocks/BloomMenu.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ui/motion/hooks.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "blocks-card-folder",
      "type": "registry:component",
      "title": "Card Folder",
      "description": "A wallet of payment cards that fans out on hover. Pick one and it rises out of the pocket.",
      "files": [
        {
          "path": "components/niceui/blocks/CardFolder.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "footers-dither-diagonal-footer",
      "type": "registry:component",
      "title": "Dither Diagonal Footer",
      "description": "A minimal footer with a diagonal line dither pattern and centered brand layout.",
      "files": [
        {
          "path": "components/niceui/blocks/DitherFooters.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "footers-dither-dot-footer",
      "type": "registry:component",
      "title": "Dither Dot Footer",
      "description": "A footer with a fine dot dither pattern, CTA strip, link columns and status bar.",
      "files": [
        {
          "path": "components/niceui/blocks/DitherFooters.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "footers-dither-grid-footer",
      "type": "registry:component",
      "title": "Dither Grid Footer",
      "description": "A footer with a grid dither pattern, newsletter signup and giant brand text.",
      "files": [
        {
          "path": "components/niceui/blocks/DitherFooters.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "blocks-dynamic-island",
      "type": "registry:component",
      "title": "Dynamic Island",
      "description": "A black pill that morphs its width, height and radius between idle, call, music, timer and notification states.",
      "files": [
        {
          "path": "components/niceui/blocks/DynamicIsland.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "blocks-action-bar",
      "type": "registry:block",
      "title": "Expandable Action Bar",
      "description": "A floating bar that springs up from the bottom when list items are selected, showing a live count and bulk actions.",
      "files": [
        {
          "path": "components/niceui/blocks/ActionBar.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ui/motion/hooks.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "blocks-expandable-tabs",
      "type": "registry:component",
      "title": "Expandable Tabs",
      "description": "Compact icon tabs where the active one stretches open to show its label.",
      "files": [
        {
          "path": "components/niceui/blocks/ExpandableTabs.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "blocks-feedback-widget",
      "type": "registry:block",
      "title": "Feedback Widget",
      "description": "A small pill that grows into a feedback panel with a rating and comment box, then shrinks into a thank-you card.",
      "files": [
        {
          "path": "components/niceui/blocks/FeedbackWidget.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ui/motion/hooks.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "blocks-file-upload",
      "type": "registry:component",
      "title": "File Upload",
      "description": "A dropzone with a glowing drag-over state, a real file picker, per-file progress and animated removal.",
      "files": [
        {
          "path": "components/niceui/blocks/FileUpload.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "blocks-fixtures",
      "type": "registry:component",
      "title": "Fixtures",
      "description": "A sports scoreboard with day tabs, live match minutes behind a pulsing indicator and kickoff reminders.",
      "files": [
        {
          "path": "components/niceui/blocks/Fixtures.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "blocks-infinite-masonry",
      "type": "registry:component",
      "title": "Infinite Masonry",
      "description": "A balanced masonry grid in its own scroll container that streams in more cards with shimmering skeletons.",
      "files": [
        {
          "path": "components/niceui/blocks/InfiniteMasonry.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "blocks-morphing-search",
      "type": "registry:block",
      "title": "Morphing Search",
      "description": "An icon button that springs open into a wide search field with a keyboard-navigable results dropdown.",
      "files": [
        {
          "path": "components/niceui/blocks/MorphingSearch.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ui/motion/hooks.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "blocks-morphing-tabs",
      "type": "registry:component",
      "title": "Morphing Tabs",
      "description": "A segmented control whose indicator stretches toward the new tab before settling, while the panels crossfade.",
      "files": [
        {
          "path": "components/niceui/blocks/MorphingTabs.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "blocks-multichain-swap",
      "type": "registry:block",
      "title": "Multi-chain Swap",
      "description": "A token swap card with chain-aware selectors, a rotating flip control, live rate and fee, and a button that reflects every state.",
      "files": [
        {
          "path": "components/niceui/blocks/MultichainSwap.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ui/motion/hooks.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "blocks-notification-stack",
      "type": "registry:component",
      "title": "Notification Stack",
      "description": "iOS-style stacked notifications that fan out into a list when tapped, and cards that slide away when dismissed.",
      "files": [
        {
          "path": "components/niceui/blocks/NotificationStack.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "blocks-otp-input",
      "type": "registry:component",
      "title": "OTP Input",
      "description": "A six-digit code input that advances automatically, supports paste and backspace, and shows verifying, success and error states.",
      "files": [
        {
          "path": "components/niceui/blocks/OtpInput.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "blocks-overflow-actions",
      "type": "registry:block",
      "title": "Overflow Actions",
      "description": "A toolbar that measures itself and moves actions into a “more” menu as space runs out, with smooth width transitions.",
      "files": [
        {
          "path": "components/niceui/blocks/OverflowActions.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ui/motion/hooks.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "blocks-prediction-market",
      "type": "registry:component",
      "title": "Prediction Market",
      "description": "A binary market card with a probability bar, an interactive SVG sparkline and a buy panel that calculates payout.",
      "files": [
        {
          "path": "components/niceui/blocks/PredictionMarket.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "blocks-project-folder",
      "type": "registry:component",
      "title": "Project Folder",
      "description": "A 3D folder whose front flap tilts open on hover while the papers inside fan out with a spring.",
      "files": [
        {
          "path": "components/niceui/blocks/ProjectFolder.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "blocks-pull-to-refresh",
      "type": "registry:component",
      "title": "Pull to Refresh",
      "description": "A mobile-style container you can drag down with rubber-band resistance to reveal a spinner and load new content.",
      "files": [
        {
          "path": "components/niceui/blocks/PullToRefresh.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "blocks-sign-up-form",
      "type": "registry:component",
      "title": "Sign Up Form",
      "description": "A sign-up card with social buttons, inline validation, a live password strength meter and an animated success state.",
      "files": [
        {
          "path": "components/niceui/blocks/SignUpForm.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "blocks-swipeable-list",
      "type": "registry:component",
      "title": "Swipeable List",
      "description": "Rows you can drag sideways to archive or delete, with rubber-band resistance, snap points and a collapsing exit.",
      "files": [
        {
          "path": "components/niceui/blocks/SwipeableList.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "blocks-wallet-card",
      "type": "registry:block",
      "title": "Wallet Card",
      "description": "A crypto wallet summary with a counting balance, a privacy toggle, inline send and receive panels, and an asset list.",
      "files": [
        {
          "path": "components/niceui/blocks/WalletCard.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ui/motion/NumberTicker.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "marketing-hero-aurora",
      "type": "registry:component",
      "title": "Hero — Aurora",
      "description": "A slow, drifting aurora of sky, cyan and indigo light behind a serif-accented headline and an email capture with success state.",
      "files": [
        {
          "path": "components/niceui/marketing/Heroes.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "marketing-hero-spotlight",
      "type": "registry:component",
      "title": "Hero — Spotlight",
      "description": "A dark grid lit by a mouse-following spotlight, with a headline that resolves word by word from blur to sharp.",
      "files": [
        {
          "path": "components/niceui/marketing/Heroes.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "marketing-hero-split-product",
      "type": "registry:component",
      "title": "Hero — Split Product",
      "description": "Copy and social proof on the left; a 3D-tilting stack of floating product cards — chart, notification, metric — on the right.",
      "files": [
        {
          "path": "components/niceui/marketing/Heroes.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "marketing-hero-beams",
      "type": "registry:component",
      "title": "Hero — Beams",
      "description": "Light beams fall through a column grid behind an announcement badge, headline and a copyable install command.",
      "files": [
        {
          "path": "components/niceui/marketing/Heroes.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "marketing-hero-orbit",
      "type": "registry:component",
      "title": "Hero — Orbit",
      "description": "Integration icons orbit a glowing core on three concentric rings at different speeds, framing a centered headline.",
      "files": [
        {
          "path": "components/niceui/marketing/Heroes.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "marketing-hero-rotating-word",
      "type": "registry:component",
      "title": "Hero — Rotating Word",
      "description": "Editorial, oversized type where one word cycles with a blur-slide transition and a drawn underline.",
      "files": [
        {
          "path": "components/niceui/marketing/Heroes.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "marketing-feature-grid",
      "type": "registry:component",
      "title": "Feature Grid — Spotlight",
      "description": "Six features in a hairline grid. A cursor-following spotlight lights each cell and traces its border; icons tilt and glow on hover.",
      "files": [
        {
          "path": "components/niceui/marketing/Showcase.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "marketing-bento-grid",
      "type": "registry:component",
      "title": "Bento Grid — Live",
      "description": "An asymmetric bento where every tile is alive: streaming bars, a typing search, a rotating dot globe, cycling notifications, toggles and a shimmering code line.",
      "files": [
        {
          "path": "components/niceui/marketing/Showcase.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "marketing-logo-marquee",
      "type": "registry:component",
      "title": "Logo Cloud — Marquee",
      "description": "Two rows of wordmarks drifting in opposite directions with soft edge fades. Pauses on hover.",
      "files": [
        {
          "path": "components/niceui/marketing/Showcase.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "marketing-logo-grid-cycle",
      "type": "registry:component",
      "title": "Logo Cloud — Cycling Grid",
      "description": "A 2×4 logo grid where cells take turns swapping brands with a blur crossfade, beside a short heading.",
      "files": [
        {
          "path": "components/niceui/marketing/Showcase.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "marketing-testimonial-wall",
      "type": "registry:component",
      "title": "Testimonials — Wall",
      "description": "A masonry wall of quotes in three columns scrolling vertically at different speeds, with star ratings and faded edges.",
      "files": [
        {
          "path": "components/niceui/marketing/Showcase.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "marketing-testimonial-marquee",
      "type": "registry:component",
      "title": "Testimonials — Marquee",
      "description": "A large featured quote above two rows of compact quote cards gliding in opposite directions.",
      "files": [
        {
          "path": "components/niceui/marketing/Showcase.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "marketing-testimonial-video",
      "type": "registry:component",
      "title": "Testimonials — Video",
      "description": "Video testimonial cards with gradient posters and a pulsing play button that open an animated player with captions and progress.",
      "files": [
        {
          "path": "components/niceui/marketing/Showcase.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "marketing-pricing-tiers",
      "type": "registry:block",
      "title": "Pricing Tiers",
      "description": "Three pricing tiers with a sliding monthly/yearly toggle, rolling-digit prices and a featured plan wrapped in a rotating glow border.",
      "files": [
        {
          "path": "components/niceui/marketing/Conversion.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/shared/motion.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "marketing-pricing-comparison",
      "type": "registry:block",
      "title": "Pricing Comparison",
      "description": "A plan comparison table with a sticky plan header, grouped feature rows, a highlighted featured column and hover rows. Scrolls horizontally on mobile.",
      "files": [
        {
          "path": "components/niceui/marketing/Conversion.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/shared/motion.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "marketing-pricing-usage",
      "type": "registry:block",
      "title": "Usage Pricing Slider",
      "description": "Usage-based pricing: drag the slider and the price tweens smoothly, the plan badge switches and a cost breakdown updates live.",
      "files": [
        {
          "path": "components/niceui/marketing/Conversion.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/shared/motion.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "marketing-faq-two-column",
      "type": "registry:block",
      "title": "FAQ — Two Column",
      "description": "Heading and contact card on the left, an accordion on the right with smooth height animation and a plus-to-minus icon morph.",
      "files": [
        {
          "path": "components/niceui/marketing/Conversion.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/shared/motion.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "marketing-cta-horizon",
      "type": "registry:block",
      "title": "CTA — Horizon",
      "description": "A centred call to action over a faint grid, sitting on the signature glowing horizon arc.",
      "files": [
        {
          "path": "components/niceui/marketing/Conversion.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/shared/motion.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "marketing-cta-grid-beams",
      "type": "registry:block",
      "title": "CTA — Grid Beams",
      "description": "A newsletter CTA card with a drifting grid, light beams sweeping across and an email form with an animated success state.",
      "files": [
        {
          "path": "components/niceui/marketing/Conversion.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/shared/motion.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "marketing-footer-mega",
      "type": "registry:block",
      "title": "Footer — Mega",
      "description": "A full footer with newsletter, link columns, socials and a live status dot, ending in a giant outlined wordmark that fills with sky light as it scrolls into view.",
      "files": [
        {
          "path": "components/niceui/marketing/Conversion.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/shared/motion.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "marketing-footer-minimal",
      "type": "registry:block",
      "title": "Footer — Minimal",
      "description": "A single-row footer with logo, underline-on-hover links, socials and a soft sky hairline on top.",
      "files": [
        {
          "path": "components/niceui/marketing/Conversion.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/shared/motion.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "marketing-changelog",
      "type": "registry:block",
      "title": "Changelog",
      "description": "A release timeline whose dots light up as entries scroll into view, with tag chips, small visuals and New / Improved / Fixed filters.",
      "files": [
        {
          "path": "components/niceui/marketing/Conversion.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/shared/motion.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "marketing-team-grid",
      "type": "registry:block",
      "title": "Team Grid",
      "description": "Team cards with gradient portraits built from initials; hover slides up a bio and social links. Includes a “We’re hiring” card.",
      "files": [
        {
          "path": "components/niceui/marketing/Conversion.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/shared/motion.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "marketing-blog-cards",
      "type": "registry:block",
      "title": "Blog Cards",
      "description": "A featured post plus a card grid with generated gradient cover art, category chips and read time; covers zoom and arrows slide on hover.",
      "files": [
        {
          "path": "components/niceui/marketing/Conversion.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/shared/motion.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "landing-video-editor-landing",
      "type": "registry:block",
      "title": "AI Video Editor Landing",
      "description": "A white, editorial landing page for an AI video editor: a working editor in the hero (transcript, dithered player, AI Director, multitrack timeline), live bento demos, dithered art, pricing and FAQ.",
      "files": [
        {
          "path": "components/niceui/pages/landing/LandingPageRushes.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/rushes/Bento.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/shared/motion.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/rushes/dither.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/rushes/ui.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/rushes/Closing.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/rushes/Hero.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/rushes/Editor.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/rushes/editorModel.ts",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/rushes/EditorPanels.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/rushes/Script.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "landing-agent-platform-landing",
      "type": "registry:block",
      "title": "AI Agent Platform Landing",
      "description": "A framed, grid-lined landing page for an AI dev product: auto-advancing feature tabs, live agent demos, constellation, marquee testimonials, pricing and FAQ.",
      "files": [
        {
          "path": "components/niceui/pages/landing/LandingPageNorthstar.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/shared/motion.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ai/AgentWorkflow.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "landing-saas-landing",
      "type": "registry:block",
      "title": "SaaS Landing Page",
      "description": "A premium SaaS product landing page with hero, features, pricing, testimonials and dither footer.",
      "files": [
        {
          "path": "components/niceui/pages/landing/LandingPageSaaS.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/blocks/DitherFooters.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "landing-studio-landing",
      "type": "registry:block",
      "title": "Studio Landing Page",
      "description": "A design studio landing page with editorial hero, selected work, process, pricing and dither footer.",
      "files": [
        {
          "path": "components/niceui/pages/landing/LandingPageStudio.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/blocks/DitherFooters.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "landing-wealth-landing",
      "type": "registry:block",
      "title": "Wealth Landing Page",
      "description": "A warm, editorial light-theme fintech landing page with bento features, sticky steps, pricing toggle and story carousel.",
      "files": [
        {
          "path": "components/niceui/pages/landing/LandingPageAurelia.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/aurelia/Closing.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/shared/motion.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/aurelia/primitives.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/aurelia/Features.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/aurelia/Hero.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/aurelia/HowItWorks.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/aurelia/Pricing.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "landing-design-tool-landing",
      "type": "registry:block",
      "title": "AI Design Tool Landing",
      "description": "A Figma-style landing page with a live, interactive canvas editor, AI generation, multiplayer, prototyping and Dev Mode.",
      "files": [
        {
          "path": "components/niceui/pages/landing/LandingPageLattice.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/lattice/AiFeatures.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/lattice/ui.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/shared/motion.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/lattice/Closing.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/lattice/Collaboration.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ui/CodeBlock.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/lattice/Hero.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/lattice/Editor.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/lattice/editorModel.ts",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/lattice/EditorPanels.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "landing-social-scheduler-landing",
      "type": "registry:block",
      "title": "Social Scheduler Landing",
      "description": "A warm, animated landing page for a social media scheduling app with real network logos, live composer previews, heatmaps and analytics.",
      "files": [
        {
          "path": "components/niceui/pages/landing/LandingPageCadence.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/cadence/Hero.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/cadence/HeroMock.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/cadence/logos.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/cadence/shared.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/shared/motion.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/cadence/NetworkMarquee.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/cadence/Composer.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/cadence/Previews.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/cadence/Scheduling.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/cadence/Analytics.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/cadence/Workflow.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/cadence/Social.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/cadence/Closing.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "landing-ai-data-landing",
      "type": "registry:block",
      "title": "AI Data Company Landing",
      "description": "A dark editorial landing page for an AI training data company with a dataset catalog, sample explorer, pipeline and compliance story.",
      "files": [
        {
          "path": "components/niceui/pages/landing/LandingPageCorpus.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/corpus/Catalog.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/shared/motion.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/corpus/catalogData.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/corpus/ui.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/corpus/Closing.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/corpus/Contact.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/corpus/Delivery.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/corpus/Explorer.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/corpus/Hero.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/corpus/Pipeline.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/corpus/Proof.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/corpus/Trust.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "examples-analytics",
      "type": "registry:block",
      "title": "Analytics Dashboard",
      "description": "SaaS product analytics with KPI sparklines, revenue area chart, traffic donut, top pages, live visitors and activity feed.",
      "files": [
        {
          "path": "components/niceui/pages/examples/AnalyticsDashboard.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/examples/shared/charts.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/examples/shared/hooks.ts",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/examples/shared/shell.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "examples-finance",
      "type": "registry:block",
      "title": "Finance Dashboard",
      "description": "Personal and business banking with a balance hero card, income vs expense bars, spending categories, transactions and quick transfer.",
      "files": [
        {
          "path": "components/niceui/pages/examples/FinanceDashboard.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/examples/shared/charts.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/examples/shared/hooks.ts",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/examples/shared/shell.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "examples-devops",
      "type": "registry:block",
      "title": "Infrastructure Monitor",
      "description": "Cloud operations console with live CPU/memory/latency charts, service status grid, deployments, incidents, region latency and a log stream.",
      "files": [
        {
          "path": "components/niceui/pages/examples/InfrastructureMonitor.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/examples/shared/charts.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/examples/shared/hooks.ts",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/examples/shared/shell.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "examples-ecommerce",
      "type": "registry:block",
      "title": "Commerce Dashboard",
      "description": "Store admin with sales KPIs, an orders table, best sellers, an animated conversion funnel, customer reviews and inventory alerts.",
      "files": [
        {
          "path": "components/niceui/pages/examples/CommerceDashboard.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/examples/shared/charts.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/examples/shared/hooks.ts",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/examples/shared/shell.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "examples-ai-ops",
      "type": "registry:block",
      "title": "AI Agent Console",
      "description": "LLM ops console with token usage, model cost donut, agent runs table, a streaming live run trace, latency cards and prompt eval scores.",
      "files": [
        {
          "path": "components/niceui/pages/examples/AgentConsole.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/examples/shared/charts.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/examples/shared/hooks.ts",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/examples/shared/shell.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "apps-crm-app",
      "type": "registry:block",
      "title": "CRM App",
      "description": "A complete CRM workspace with people and company tables, a deal pipeline, record pages with a timeline, tasks, notes, workflows, a dashboard and a command menu.",
      "files": [
        {
          "path": "components/niceui/pages/apps/crm/CrmApp.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/apps/crm/data.ts",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/apps/crm/fields.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/apps/crm/store.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/apps/crm/ui.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/apps/crm/KanbanView.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/apps/crm/RecordPanel.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/apps/crm/CommandMenu.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/apps/crm/Sidebar.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/apps/crm/TableView.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/apps/crm/Views.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "apps-badge-maker",
      "type": "registry:block",
      "title": "Badge Maker",
      "description": "A light 2D design tool for metallic badges and icons: an inspector with Shape, Material and Scene tabs, a dark canvas with a finish rail and view toolbar, undo and redo, and SVG, PNG and CSS export.",
      "files": [
        {
          "path": "components/niceui/pages/apps/facet/FacetApp.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/apps/facet/Badge.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/apps/facet/marks.ts",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/apps/facet/controls.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "apps-store",
      "type": "registry:block",
      "title": "Store",
      "description": "A premium e-commerce storefront with hero, category tiles, a filterable product grid, quick view, wishlist and a cart drawer with a free-shipping meter.",
      "files": [
        {
          "path": "components/niceui/pages/apps/store/StoreApp.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/gallery/art.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "apps-docs-site",
      "type": "registry:component",
      "title": "Docs Site",
      "description": "A developer documentation site with a ⌘K search palette, collapsible nav, code blocks with tabs and copy, callouts, a scroll-spy table of contents and a version switcher.",
      "files": [
        {
          "path": "components/niceui/pages/apps/docs/DocsApp.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "apps-portfolio",
      "type": "registry:block",
      "title": "Portfolio",
      "description": "An editorial designer portfolio with filterable selected work, case-study overlays, a career timeline, services and a contact form.",
      "files": [
        {
          "path": "components/niceui/pages/apps/portfolio/PortfolioApp.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/landing/shared/motion.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/gallery/art.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "apps-blog",
      "type": "registry:block",
      "title": "Blog",
      "description": "A dark magazine-style blog with a featured story, category tabs, search, bookmarks, an article view with reading progress and contents, and a newsletter signup.",
      "files": [
        {
          "path": "components/niceui/pages/apps/blog/BlogApp.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/gallery/art.ts",
          "type": "registry:component"
        }
      ]
    },
    {
      "name": "apps-ai-assistant",
      "type": "registry:block",
      "title": "AI Chat Assistant",
      "description": "A complete chat assistant app with streaming, reasoning, web search, artifacts, image and video generation previews.",
      "files": [
        {
          "path": "components/niceui/pages/apps/assistant/AssistantApp.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/apps/assistant/useAssistant.ts",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/apps/assistant/data.ts",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/apps/assistant/types.ts",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/apps/assistant/scenarios.ts",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/apps/assistant/Sidebar.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ui/motion/hooks.ts",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/apps/assistant/Composer.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/apps/assistant/Message.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/apps/assistant/parts.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ai/stream.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/pages/apps/assistant/ArtifactPanel.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/niceui/ui/CodeBlock.tsx",
          "type": "registry:component"
        }
      ]
    }
  ]
}