{
  "$schema": "https://www.actualizeimpact.com/schema/registry.json",
  "name": "actualize",
  "homepage": "https://www.actualizeimpact.com",
  "items": [
    {
      "name": "actualize-starter",
      "type": "registry:style",
      "title": "Actualize Starter",
      "description": "Complete Actualize design system — installs all 284 @actualize items (UI primitives, animations, AI elements & blocks, chat/agent/dashboard/tool-result surfaces, hooks) plus the OKLCH token system, lib/utils, and Inter/Playfair typography.",
      "categories": [
        "starter",
        "brand",
        "style",
        "remixicon"
      ]
    },
    {
      "name": "actualize-theme",
      "type": "registry:theme",
      "title": "Actualize Theme",
      "description": "OKLCH teal brand theme — light + dark color tokens, Inter + Playfair Display type, and 0.5rem radius. Ships lib/utils only, no components.",
      "categories": [
        "theme",
        "brand"
      ]
    },
    {
      "name": "accordion",
      "type": "registry:ui",
      "title": "Accordion",
      "description": "Collapsible sections on Radix Accordion with a Remixicon chevron that rotates 180° on open and accordion-up/down content animations",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "alert-dialog",
      "type": "registry:ui",
      "title": "Alert Dialog",
      "description": "Radix AlertDialog set with CVA sm/default/lg content sizes, token-styled overlay, and action/cancel buttons via buttonVariants",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "alert",
      "type": "registry:ui",
      "title": "Alert",
      "description": "CVA Alert with variant/padding/radius options plus AlertTitle and AlertDescription slots in a grid layout",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "destructive-alert",
      "type": "registry:ui",
      "title": "Destructive Alert",
      "description": "Alert preset locked to the destructive variant, re-exporting Title and Description",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "error-alert",
      "type": "registry:ui",
      "title": "Error Alert",
      "description": "Alert preset fixed to destructive variant with a RiErrorWarningLine icon and optional title",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "info-alert",
      "type": "registry:ui",
      "title": "Info Alert",
      "description": "Alert preset on the default variant with a RiInformationLine icon and optional title",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "aspect-ratio",
      "type": "registry:ui",
      "title": "Aspect Ratio",
      "description": "Radix AspectRatio.Root wrapper with a data-slot attribute",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "avatar",
      "type": "registry:ui",
      "title": "Avatar",
      "description": "Radix Avatar with Root/Image/Fallback parts, size-8 rounded-full default",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "badge",
      "type": "registry:ui",
      "title": "Badge",
      "description": "Badge span driven by the `badge` token variants (variant/size/radius), data-slot attributes, and optional asChild Slot",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "destructive-badge",
      "type": "registry:ui",
      "title": "Destructive Badge",
      "description": "Badge preset locked to the destructive variant",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "outline-badge",
      "type": "registry:ui",
      "title": "Outline Badge",
      "description": "Badge preset locked to the outline variant",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "pill-badge",
      "type": "registry:ui",
      "title": "Pill Badge",
      "description": "Badge preset locked to a full radius for pill shapes",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "secondary-badge",
      "type": "registry:ui",
      "title": "Secondary Badge",
      "description": "Badge preset locked to the secondary variant",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "breadcrumb",
      "type": "registry:ui",
      "title": "Breadcrumb",
      "description": "Breadcrumb primitives (list, item, link, separator, ellipsis) with Remixicon chevron/more icons and Slot asChild support",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "button-group",
      "type": "registry:ui",
      "title": "Button Group",
      "description": "Joins buttons/inputs into one horizontal or vertical group with collapsed inner borders/radii, plus ButtonGroupText and Separator",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "button",
      "type": "registry:ui",
      "title": "Button",
      "description": "CVA Button with variant/size/shadow/radius options and asChild Slot support",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "destructive-button",
      "type": "registry:ui",
      "title": "Destructive Button",
      "description": "Button preset locked to the destructive variant via data-slot, forwarding all other Button props",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "ghost-button",
      "type": "registry:ui",
      "title": "Ghost Button",
      "description": "Button preset locking variant to ghost via data-slot",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "icon-button",
      "type": "registry:ui",
      "title": "Icon Button",
      "description": "Icon-only Button mapping sm/default/lg to icon sizes, defaulting to a full radius",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "link-button",
      "type": "registry:ui",
      "title": "Link Button",
      "description": "Button preset locked to the link variant",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "outline-button",
      "type": "registry:ui",
      "title": "Outline Button",
      "description": "Button preset locked to the `outline` variant via a thin wrapper",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "secondary-button",
      "type": "registry:ui",
      "title": "Secondary Button",
      "description": "Button preset locked to the secondary variant",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "calendar",
      "type": "registry:ui",
      "title": "Calendar",
      "description": "react-day-picker wrapper styled with buttonVariants and Remixicon chevrons; supports range selection, dropdowns, week numbers",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "card",
      "type": "registry:ui",
      "title": "Card",
      "description": "CVA-driven Card with variant/shadow/gradient/padding/interactive props plus Header/Title/Description/Action/Content/Footer slots",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "elevated-card",
      "type": "registry:ui",
      "title": "Elevated Card",
      "description": "Card preset locked to the elevated variant",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "feature-card",
      "type": "registry:ui",
      "title": "Feature Card",
      "description": "Card preset with elevated variant, interactive hover, and brand shadow for feature grids",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "ghost-card",
      "type": "registry:ui",
      "title": "Ghost Card",
      "description": "Card preset locked to the ghost variant",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "interactive-card",
      "type": "registry:ui",
      "title": "Interactive Card",
      "description": "Card preset with the interactive prop forced on via data-slot",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "muted-card",
      "type": "registry:ui",
      "title": "Muted Card",
      "description": "Card preset locked to the muted variant",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "carousel",
      "type": "registry:ui",
      "title": "Carousel",
      "description": "Embla-based carousel with context, horizontal/vertical orientation, and Remixicon arrow prev/next buttons",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "chart",
      "type": "registry:ui",
      "title": "Chart",
      "description": "Recharts ChartContainer with token-driven theming via ChartConfig, ChartTooltip, and ChartLegend (use instead of ResponsiveContainer)",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "checkbox",
      "type": "registry:ui",
      "title": "Checkbox",
      "description": "Radix Checkbox with token border/focus/checked styles and a RiCheckLine indicator",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "collapsible",
      "type": "registry:ui",
      "title": "Collapsible",
      "description": "Radix Collapsible Root/Trigger/Content wrappers with data-slot attributes and collapsible-trigger/content foreground tokens",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "command",
      "type": "registry:ui",
      "title": "Command",
      "description": "cmdk command palette primitives — Command, Dialog, Input, List, Empty, Group, Item, Separator, Shortcut with RiSearchLine input",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "context-menu",
      "type": "registry:ui",
      "title": "Context Menu",
      "description": "Radix context-menu primitives (trigger, items, checkbox/radio, sub-menus) with Remixicon arrow/check glyphs",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "copy-button",
      "type": "registry:ui",
      "title": "Copy Button",
      "description": "Button that copies text to the clipboard, swapping its Remixicon to a check on success; CVA variants for size/style",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "cursor",
      "type": "registry:ui",
      "title": "Cursor",
      "description": "Custom in-container cursor system (CursorProvider/Cursor/CursorFollow) that tracks the pointer and spring-follows with alignment offsets",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "dialog",
      "type": "registry:ui",
      "title": "Dialog",
      "description": "Radix Dialog primitives (Root, Trigger, Content with close button, Header, Footer, Title, Description) using data-slot attributes",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "full-dialog",
      "type": "registry:ui",
      "title": "Full Dialog",
      "description": "Re-exported Dialog parts with content locked to size=full for full-screen modals",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "large-dialog",
      "type": "registry:ui",
      "title": "Large Dialog",
      "description": "Dialog parts re-exported as LargeDialog* with DialogContent preset to size lg",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "small-dialog",
      "type": "registry:ui",
      "title": "Small Dialog",
      "description": "Dialog re-export set with content locked to size='sm'",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "drawer",
      "type": "registry:ui",
      "title": "Drawer",
      "description": "Vaul-based drawer primitives (Root/Trigger/Portal/Close and content parts) with data-slot attributes",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "dropdown-menu",
      "type": "registry:ui",
      "title": "Dropdown Menu",
      "description": "Radix dropdown-menu set (trigger/content/item/checkbox/radio/sub) with token styling and Remixicon check/circle/chevron indicators",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "empty-state",
      "type": "registry:ui",
      "title": "Empty State",
      "description": "Centered empty-state placeholder — Remixicon glyph, title, description, and an optional action slot for zero-data views",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "empty",
      "type": "registry:ui",
      "title": "Empty",
      "description": "Empty-state primitives (header, media, title, description) with a CVA media variant for a muted icon tile",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "error",
      "type": "registry:ui",
      "title": "Error",
      "description": "Marketing route error boundary with alert icon, message, optional error digest, and a Try Again reset button",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "not-found",
      "type": "registry:ui",
      "title": "Not Found",
      "description": "Marketing 404 page with a RiFileSearchLine tile, Playfair heading, and a Back to Home link button",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "route-segment-error",
      "type": "registry:ui",
      "title": "Route Segment Error",
      "description": "Next.js error.tsx boundary card showing the error message, optional digest, and a Try again reset button with RiAlertLine",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "field",
      "type": "registry:ui",
      "title": "Field",
      "description": "Form field primitives (FieldSet, FieldLegend, FieldGroup, Field) with CVA orientation variants and invalid-state styling",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "form",
      "type": "registry:ui",
      "title": "Form",
      "description": "react-hook-form integration: FormField/Item/Label/Control/Description/Message with context-wired ids and aria attributes",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "gradient-heading",
      "type": "registry:ui",
      "title": "Gradient Heading",
      "description": "Heading with CVA-driven gradient text fills (size + gradient variants) over the OKLCH brand tokens",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "hero-color-panel",
      "type": "registry:ui",
      "title": "Hero Color Panel",
      "description": "Hero panel with an animated @paper-design/shaders-react color-mesh backdrop, eyebrow badge, headline, and CTA buttons",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "hover-card",
      "type": "registry:ui",
      "title": "Hover Card",
      "description": "Radix hover-card primitives with portal Content animated by data-state/side and popover token styling",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "input-group",
      "type": "registry:ui",
      "title": "Input Group",
      "description": "Composable input shell with inline/block start/end addons, buttons, text, and shared focus/error ring via CVA align variants",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "input-otp",
      "type": "registry:ui",
      "title": "Input Otp",
      "description": "input-otp segmented one-time-code field with slot, group, and separator parts",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "input",
      "type": "registry:ui",
      "title": "Input",
      "description": "Text input driven by the `input` token variants (inputSize/variant/radius) with data-slot/data-* attributes",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "filled-input",
      "type": "registry:ui",
      "title": "Filled Input",
      "description": "Input preset locked to the filled variant",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "ghost-input",
      "type": "registry:ui",
      "title": "Ghost Input",
      "description": "Input preset locked to the `ghost` variant via a thin wrapper",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "pill-input",
      "type": "registry:ui",
      "title": "Pill Input",
      "description": "Input preset forcing radius to full via data-slot",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "search-input",
      "type": "registry:ui",
      "title": "Search Input",
      "description": "Search-type Input with a leading RiSearchLine icon and left padding",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "item",
      "type": "registry:ui",
      "title": "Item",
      "description": "CVA list-item primitive (ItemGroup/Item/ItemSeparator) with default/outline/muted variants and focus-ring styling",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "kbd",
      "type": "registry:ui",
      "title": "Kbd",
      "description": "Inline `<kbd>` keycap styled with muted token background, plus a KbdGroup row wrapper",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "label",
      "type": "registry:ui",
      "title": "Label",
      "description": "Radix Label wrapper with peer/group disabled styling and data-slot",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "logo-carousel",
      "type": "registry:ui",
      "title": "Logo Carousel",
      "description": "Animated logo wall — columns cycle through shuffled logos with motion/react enter/exit transitions",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "menubar",
      "type": "registry:ui",
      "title": "Menubar",
      "description": "Radix menubar primitives — menus, triggers, items, checkbox/radio items, submenus, and shortcuts",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "navigation-menu",
      "type": "registry:ui",
      "title": "Navigation Menu",
      "description": "Radix navigation menu with CVA trigger style, animated dropdown content, viewport, indicator, and rotating chevron",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "organic-card",
      "type": "registry:ui",
      "title": "Organic Card",
      "description": "Card with soft organic/blob chrome — OrganicCard + Body/Image subparts for marketing and feature panels",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "pagination",
      "type": "registry:ui",
      "title": "Pagination",
      "description": "Pagination nav composed from buttonVariants — previous/next, numbered links with active state, and an ellipsis",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "popover",
      "type": "registry:ui",
      "title": "Popover",
      "description": "Radix Popover primitives (Root/Trigger/Content/Anchor) with data-slot attributes",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "error-progress",
      "type": "registry:ui",
      "title": "Error Progress",
      "description": "Progress preset locked to the `error` variant via a thin wrapper",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "success-progress",
      "type": "registry:ui",
      "title": "Success Progress",
      "description": "Progress preset locked to the success variant",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "warning-progress",
      "type": "registry:ui",
      "title": "Warning Progress",
      "description": "Progress preset locked to the warning variant",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "progress",
      "type": "registry:ui",
      "title": "Progress",
      "description": "Radix Progress bar with token variant/size styling and a translateX-driven indicator",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "radio-group",
      "type": "registry:ui",
      "title": "Radio Group",
      "description": "Radix radio group with grid layout and circular items showing a filled RiCircleLine indicator",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "resizable",
      "type": "registry:ui",
      "title": "Resizable",
      "description": "react-resizable-panels wrapper — PanelGroup, Panel, and a grip-handle Handle",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "scroll-area",
      "type": "registry:ui",
      "title": "Scroll Area",
      "description": "Radix ScrollArea wrapper with styled viewport, custom ScrollBar, and corner",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "select",
      "type": "registry:ui",
      "title": "Select",
      "description": "Radix Select primitives with Remixicon chevron/check icons, sm/default trigger sizes, and scroll buttons",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "separator",
      "type": "registry:ui",
      "title": "Separator",
      "description": "Radix Separator with horizontal/vertical orientation, decorative by default",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "sheet",
      "type": "registry:ui",
      "title": "Sheet",
      "description": "Radix-dialog-based slide-out Sheet set (trigger/content/header/footer) with token overlay and RiXingLine close",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "shift-card",
      "type": "registry:ui",
      "title": "Shift Card",
      "description": "Card with a motion hover shift/parallax effect (motion/react) for interactive feature tiles",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "sidebar",
      "type": "registry:ui",
      "title": "Sidebar",
      "description": "Full collapsible sidebar system — provider, rail, trigger, menu/sub-menu, groups, with cookie-persisted and mobile (Sheet) states",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "floating-sidebar",
      "type": "registry:ui",
      "title": "Floating Sidebar",
      "description": "Sidebar preset locked to the floating variant with a default md shadow",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "icon-sidebar",
      "type": "registry:ui",
      "title": "Icon Sidebar",
      "description": "Sidebar preset locking collapsible to icon mode via data-slot",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "inset-sidebar",
      "type": "registry:ui",
      "title": "Inset Sidebar",
      "description": "Sidebar preset locked to the inset variant",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "neutral-sidebar",
      "type": "registry:ui",
      "title": "Neutral Sidebar",
      "description": "Sidebar preset locked to the neutral scheme",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "right-sidebar",
      "type": "registry:ui",
      "title": "Right Sidebar",
      "description": "Sidebar preset locked to side=right",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "skeleton",
      "type": "registry:ui",
      "title": "Skeleton",
      "description": "Pulsing placeholder div with rounded corners and bg-accent for loading states",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "slider",
      "type": "registry:ui",
      "title": "Slider",
      "description": "Radix Slider with token-themed track/range and one thumb per value, supporting horizontal and vertical orientation",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "sonner",
      "type": "registry:ui",
      "title": "Sonner",
      "description": "Sonner Toaster wired to next-themes with Remixicon success/info/warning/error/loading icons and token color vars",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "spinner",
      "type": "registry:ui",
      "title": "Spinner",
      "description": "Spinning RiLoader2Line icon with size and className props",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "switch",
      "type": "registry:ui",
      "title": "Switch",
      "description": "Radix Switch toggle with primary checked state and a translating thumb",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "table",
      "type": "registry:ui",
      "title": "Table",
      "description": "Table primitive set (Table/Header/Body/Row/Head/Cell) with overflow-x container and token borders",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "tabs",
      "type": "registry:ui",
      "title": "Tabs",
      "description": "Radix tabs with a muted pill TabsList and active-state background on triggers",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "textarea",
      "type": "registry:ui",
      "title": "Textarea",
      "description": "Auto-sizing textarea with field-sizing-content, focus ring, and aria-invalid destructive styling",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "toaster",
      "type": "registry:ui",
      "title": "Toaster",
      "description": "Client provider rendering the Sonner Toaster",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "toggle-group",
      "type": "registry:ui",
      "title": "Toggle Group",
      "description": "Radix toggle group sharing variant/size via context, with spacing-aware joined or gapped item borders",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "toggle",
      "type": "registry:ui",
      "title": "Toggle",
      "description": "Radix Toggle with CVA default/outline variants and sm/default/lg sizes plus on-state accent styling",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "tooltip",
      "type": "registry:ui",
      "title": "Tooltip",
      "description": "Radix tooltip primitives — Provider, Tooltip, Trigger, and animated portal Content with an arrow",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "eda-pulse-flow",
      "type": "registry:ui",
      "title": "Eda Pulse Flow",
      "description": "GSAP MotionPath ambient overlay sending glowing comet particles along grid-aligned paths from a header to card refs, on scroll into view",
      "categories": [
        "animation",
        "remixicon"
      ]
    },
    {
      "name": "particles",
      "type": "registry:ui",
      "title": "Particles",
      "description": "Canvas particle field tracking the cursor, with quantity/staticity/ease props and color from --animation-glow-color (parses OKLCH/hex)",
      "categories": [
        "animation",
        "remixicon"
      ]
    },
    {
      "name": "ripple",
      "type": "registry:ui",
      "title": "Ripple",
      "description": "Concentric expanding ripple circles with animate-ripple, configurable count, size, and opacity falloff",
      "categories": [
        "animation",
        "remixicon"
      ]
    },
    {
      "name": "svg-grid-background",
      "type": "registry:ui",
      "title": "Svg Grid Background",
      "description": "Hydration-gated absolute SVG grid pattern background with lines or dots variant, configurable spacing, stroke, and dot radius",
      "categories": [
        "animation",
        "remixicon"
      ]
    },
    {
      "name": "animated-beam",
      "type": "registry:ui",
      "title": "Animated Beam",
      "description": "SVG gradient beam tracing an animated path between two element refs, with curvature, reverse, and OKLCH beam-from/to gradient tokens",
      "categories": [
        "animation",
        "remixicon"
      ]
    },
    {
      "name": "border-beam",
      "type": "registry:ui",
      "title": "Border Beam",
      "description": "Animated beam traveling the border via offsetPath, with size/duration/reverse props and --animation-beam tokens",
      "categories": [
        "animation",
        "remixicon"
      ]
    },
    {
      "name": "container-scroll-animation",
      "type": "registry:ui",
      "title": "Container Scroll Animation",
      "description": "Scroll-driven 3D card that rotates and scales on scrollYProgress, with a translating header title (motion/react)",
      "categories": [
        "animation",
        "remixicon"
      ]
    },
    {
      "name": "magic-card",
      "type": "registry:ui",
      "title": "Magic Card",
      "description": "Pointer-tracking card with a radial-gradient border and glow following the cursor, hydration-gated (motion/react)",
      "categories": [
        "animation",
        "remixicon"
      ]
    },
    {
      "name": "shine-border",
      "type": "registry:ui",
      "title": "Shine Border",
      "description": "Animated radial-gradient border overlay using mask compositing; configurable width, duration, and shine color(s)",
      "categories": [
        "animation",
        "remixicon"
      ]
    },
    {
      "name": "animated-logo",
      "type": "registry:ui",
      "title": "Animated Logo",
      "description": "Wraps a brand logo in motion entrance plus an optional pulsing drop-shadow glow keyed to --animation-glow-color",
      "categories": [
        "animation",
        "remixicon"
      ]
    },
    {
      "name": "glow-logo",
      "type": "registry:ui",
      "title": "Glow Logo",
      "description": "Wraps a brand logo in a layered drop-shadow glow built from the --animation-glow-color token; togglable, no animation",
      "categories": [
        "animation",
        "remixicon"
      ]
    },
    {
      "name": "motion-preset",
      "type": "registry:ui",
      "title": "Motion Preset",
      "description": "In-view entrance animator with named hero/section/card/inline presets composing fade, slide, and blur (motion/react)",
      "categories": [
        "animation",
        "remixicon"
      ]
    },
    {
      "name": "aurora-text",
      "type": "registry:ui",
      "title": "Aurora Text",
      "description": "Inline text with an animated 45° gradient clipped to the glyphs, defaulting to primary/secondary/accent/chart OKLCH tokens",
      "categories": [
        "animation",
        "remixicon"
      ]
    },
    {
      "name": "blur-fade",
      "type": "registry:ui",
      "title": "Blur Fade",
      "description": "Motion wrapper fading/blurring children in with directional offset, triggered on mount or scroll into view",
      "categories": [
        "animation",
        "remixicon"
      ]
    },
    {
      "name": "flip-words",
      "type": "registry:ui",
      "title": "Flip Words",
      "description": "Cycles through words or custom items in a pill with layout-animated width and letter-by-letter blur-to-focus reveal",
      "categories": [
        "animation",
        "remixicon"
      ]
    },
    {
      "name": "number-ticker",
      "type": "registry:ui",
      "title": "Number Ticker",
      "description": "Spring-animated number that counts up/down when scrolled into view, with decimalPlaces, delay, damping/stiffness props",
      "categories": [
        "animation",
        "remixicon"
      ]
    },
    {
      "name": "staggered-text",
      "type": "registry:ui",
      "title": "Staggered Text",
      "description": "Renders text letter-by-letter with a blur-to-focus motion stagger via staggerMs/durationMs",
      "categories": [
        "animation",
        "remixicon"
      ]
    },
    {
      "name": "text-effects",
      "type": "registry:ui",
      "title": "Text Effects",
      "description": "Motion text/glow kit — TextRoll (3D flip), GlowEffect (rotate/pulse/breathe gradients), and TextEffect (per word/char/line presets)",
      "categories": [
        "animation",
        "remixicon"
      ]
    },
    {
      "name": "word-rotate",
      "type": "registry:ui",
      "title": "Word Rotate",
      "description": "Cycles through a words array on an interval with AnimatePresence fade/slide transitions (motion/react)",
      "categories": [
        "animation",
        "remixicon"
      ]
    },
    {
      "name": "ai-artifact",
      "type": "registry:ui",
      "title": "AI Artifact",
      "description": "Artifact panel primitives — header, title, description, close, action buttons with Remixicon icons and tooltips, scrollable content region",
      "categories": [
        "ai",
        "remixicon"
      ]
    },
    {
      "name": "ai-canvas",
      "type": "registry:ui",
      "title": "AI Canvas",
      "description": "ReactFlow wrapper preset for pan-on-scroll, fitView, no zoom-on-double-click, with a sidebar-colored Background",
      "categories": [
        "ai",
        "remixicon"
      ]
    },
    {
      "name": "ai-chain-of-thought",
      "type": "registry:ui",
      "title": "AI Chain Of Thought",
      "description": "Collapsible chain-of-thought composition (Header/Step/Content/SearchResult/Image) with brain trigger, step status states, and animated reveal",
      "categories": [
        "ai",
        "remixicon"
      ]
    },
    {
      "name": "ai-checkpoint",
      "type": "registry:ui",
      "title": "AI Checkpoint",
      "description": "Conversation checkpoint marker — bookmark icon, Separator, and a ghost Button trigger with optional tooltip",
      "categories": [
        "ai",
        "remixicon"
      ]
    },
    {
      "name": "ai-code-block",
      "type": "registry:ui",
      "title": "AI Code Block",
      "description": "Shiki-highlighted code block with light/dark themes, optional line numbers, and a context-driven copy button",
      "categories": [
        "ai",
        "remixicon"
      ]
    },
    {
      "name": "ai-confirmation",
      "type": "registry:ui",
      "title": "AI Confirmation",
      "description": "Context-driven tool-approval Alert with Request/Accepted/Rejected/Actions slots gated on AI SDK ToolUIPart approval state",
      "categories": [
        "ai",
        "remixicon"
      ]
    },
    {
      "name": "ai-connection",
      "type": "registry:ui",
      "title": "AI Connection",
      "description": "Custom @xyflow/react ConnectionLineComponent drawing an animated bezier path with a target dot using --color-ring",
      "categories": [
        "ai",
        "remixicon"
      ]
    },
    {
      "name": "ai-context",
      "type": "registry:ui",
      "title": "AI Context",
      "description": "HoverCard token-usage meter (Context/Trigger/Content parts) showing percent ring, input/output/reasoning/cache tokens and tokenlens USD cost",
      "categories": [
        "ai",
        "remixicon"
      ]
    },
    {
      "name": "ai-controls",
      "type": "registry:ui",
      "title": "AI Controls",
      "description": "React Flow Controls wrapped with card chrome and token-styled transparent buttons",
      "categories": [
        "ai",
        "remixicon"
      ]
    },
    {
      "name": "ai-conversation",
      "type": "registry:ui",
      "title": "AI Conversation",
      "description": "Auto-scrolling chat log via use-stick-to-bottom, with content, empty-state, and a scroll-to-bottom button that appears when scrolled up",
      "categories": [
        "ai",
        "remixicon"
      ]
    },
    {
      "name": "ai-edge",
      "type": "registry:ui",
      "title": "AI Edge",
      "description": "React Flow edge set — Temporary (dashed bezier) and Animated (bezier with a primary-colored dot moving along the path)",
      "categories": [
        "ai",
        "remixicon"
      ]
    },
    {
      "name": "ai-file-list",
      "type": "registry:ui",
      "title": "AI File List",
      "description": "Composable file-list primitives (item, icon, name link, metadata, status badge, delete) with size/relative-date formatting",
      "categories": [
        "ai",
        "remixicon"
      ]
    },
    {
      "name": "ai-file-upload-dropzone",
      "type": "registry:ui",
      "title": "AI File Upload Dropzone",
      "description": "Compound drag-and-drop file upload (context + Zone/Input/Icon/Text/Description) with accept, maxFileSize, validation, and uploading state",
      "categories": [
        "ai",
        "remixicon"
      ]
    },
    {
      "name": "ai-file-upload-progress",
      "type": "registry:ui",
      "title": "AI File Upload Progress",
      "description": "Context-driven file upload list tracking uploading/success/error per file with spinner/check/close icons and auto-clear",
      "categories": [
        "ai",
        "remixicon"
      ]
    },
    {
      "name": "ai-image",
      "type": "registry:ui",
      "title": "AI Image",
      "description": "Renders an AI SDK Experimental_GeneratedImage as an `<img>` from its base64 data and mediaType",
      "categories": [
        "ai",
        "remixicon"
      ]
    },
    {
      "name": "ai-inline-citation",
      "type": "registry:ui",
      "title": "AI Inline Citation",
      "description": "Inline citation with hover-card carousel of sources — domain badge trigger, source title/url/description, quote, prev/next nav",
      "categories": [
        "ai",
        "remixicon"
      ]
    },
    {
      "name": "ai-loader",
      "type": "registry:ui",
      "title": "AI Loader",
      "description": "Spinning 12-spoke SVG loader with graduated opacity, sized via the size prop",
      "categories": [
        "ai",
        "remixicon"
      ]
    },
    {
      "name": "ai-message",
      "type": "registry:ui",
      "title": "AI Message",
      "description": "Chat message primitives — role-aligned bubbles, action toolbar, branch navigation, Streamdown response, and file attachments",
      "categories": [
        "ai",
        "remixicon"
      ]
    },
    {
      "name": "ai-model-selector",
      "type": "registry:ui",
      "title": "AI Model Selector",
      "description": "Command-palette model picker built on Dialog+Command with provider logo (models.dev), name, shortcut, and group subcomponents",
      "categories": [
        "ai",
        "remixicon"
      ]
    },
    {
      "name": "ai-node",
      "type": "registry:ui",
      "title": "AI Node",
      "description": "ReactFlow custom-node card with source/target Handles and Node header/title/content/footer subparts over the Card primitive",
      "categories": [
        "ai",
        "remixicon"
      ]
    },
    {
      "name": "ai-open-in-chat",
      "type": "registry:ui",
      "title": "AI Open In Chat",
      "description": "'Open in chat' dropdown that deep-links a query to ChatGPT, Claude, Scira, v0, T3, or Cursor via provider-branded items",
      "categories": [
        "ai",
        "remixicon"
      ]
    },
    {
      "name": "ai-panel",
      "type": "registry:ui",
      "title": "AI Panel",
      "description": "Floating panel for @xyflow/react canvases with bordered card chrome via the React Flow Panel primitive",
      "categories": [
        "ai",
        "remixicon"
      ]
    },
    {
      "name": "ai-plan",
      "type": "registry:ui",
      "title": "AI Plan",
      "description": "Collapsible plan Card with Shimmer-on-streaming title/description, header/action/content/footer slots, and a toggle trigger",
      "categories": [
        "ai",
        "remixicon"
      ]
    },
    {
      "name": "ai-prompt-input",
      "type": "registry:ui",
      "title": "AI Prompt Input",
      "description": "Chat composer with auto-resize textarea, attachment dropdown, mic toggle, slash-command palette, and submit/stop control",
      "categories": [
        "ai",
        "remixicon"
      ]
    },
    {
      "name": "ai-queue",
      "type": "registry:ui",
      "title": "AI Queue",
      "description": "Compound message/todo queue with collapsible sections, item indicators, completed line-through state, and image/file attachments",
      "categories": [
        "ai",
        "remixicon"
      ]
    },
    {
      "name": "ai-reasoning",
      "type": "registry:ui",
      "title": "AI Reasoning",
      "description": "Collapsible model-reasoning block streaming markdown via Streamdown, with a Thinking shimmer and auto-open/close timing and duration",
      "categories": [
        "ai",
        "remixicon"
      ]
    },
    {
      "name": "ai-shimmer",
      "type": "registry:ui",
      "title": "AI Shimmer",
      "description": "Animated shimmer text: a motion gradient sweeps across the string via the `as` element, with duration and spread props",
      "categories": [
        "ai",
        "remixicon"
      ]
    },
    {
      "name": "ai-sources",
      "type": "registry:ui",
      "title": "AI Sources",
      "description": "Collapsible 'Used N sources' disclosure listing source links with book icons via the Collapsible primitive",
      "categories": [
        "ai",
        "remixicon"
      ]
    },
    {
      "name": "ai-suggestion",
      "type": "registry:ui",
      "title": "AI Suggestion",
      "description": "Horizontal scrolling row of pill-shaped suggestion Buttons that emit their text on click",
      "categories": [
        "ai",
        "remixicon"
      ]
    },
    {
      "name": "ai-task",
      "type": "registry:ui",
      "title": "AI Task",
      "description": "Collapsible task/reasoning disclosure built on Collapsible with a search icon, rotating chevron, and left-bordered item list",
      "categories": [
        "ai",
        "remixicon"
      ]
    },
    {
      "name": "ai-tool",
      "type": "registry:ui",
      "title": "AI Tool",
      "description": "Collapsible tool-call panel rendering ToolUIPart state badge, parameters and result CodeBlocks, with artifact-result card detection",
      "categories": [
        "ai",
        "remixicon"
      ]
    },
    {
      "name": "ai-toolbar",
      "type": "registry:ui",
      "title": "AI Toolbar",
      "description": "ReactFlow NodeToolbar styled as a bottom-positioned bordered button row",
      "categories": [
        "ai",
        "remixicon"
      ]
    },
    {
      "name": "ai-url-input",
      "type": "registry:ui",
      "title": "AI Url Input",
      "description": "Composable URL field (UrlInput/Field/Error/Helper) that auto-prepends https://, validates via URL(), and exposes the normalized value",
      "categories": [
        "ai",
        "remixicon"
      ]
    },
    {
      "name": "ai-url-list",
      "type": "registry:ui",
      "title": "AI Url List",
      "description": "Composable crawled-URL list — items with domain name, last-crawled time, status badge (ready/processing/error), external link, and delete button",
      "categories": [
        "ai",
        "remixicon"
      ]
    },
    {
      "name": "ai-url-scrape-manager",
      "type": "registry:ui",
      "title": "AI Url Scrape Manager",
      "description": "Composable URL-scrape controller (context provider + input, mode/format selectors, crawl/scrape options dialog, actions) for crawl/sitemap/individual modes",
      "categories": [
        "ai",
        "remixicon"
      ]
    },
    {
      "name": "ai-web-crawler",
      "type": "registry:ui",
      "title": "AI Web Crawler",
      "description": "Firecrawl-style controls for scrape/search/map/crawl tabs and markdown/html/screenshot/json format options with popover settings",
      "categories": [
        "ai",
        "remixicon"
      ]
    },
    {
      "name": "ai-web-preview",
      "type": "registry:ui",
      "title": "AI Web Preview",
      "description": "Sandboxed iframe preview with URL navigation bar, nav buttons, and a collapsible console log panel via context",
      "categories": [
        "ai",
        "remixicon"
      ]
    },
    {
      "name": "ai-block-levee",
      "type": "registry:ui",
      "title": "AI Block Levee",
      "description": "Levee multi-file ai-block bundle.",
      "categories": [
        "ai-block",
        "remixicon"
      ]
    },
    {
      "name": "ai-block-stage-wizard",
      "type": "registry:ui",
      "title": "AI Block Stage Wizard",
      "description": "Stage Wizard multi-file ai-block bundle.",
      "categories": [
        "ai-block",
        "remixicon"
      ]
    },
    {
      "name": "ai-block-default-renderer",
      "type": "registry:ui",
      "title": "AI Block Default Renderer",
      "description": "Fallback output renderer reading text/response/output/message from parsed agent output into a Card-wrapped MarkdownBlock",
      "categories": [
        "ai-block",
        "remixicon"
      ]
    },
    {
      "name": "ai-block-parallel-results-renderer",
      "type": "registry:ui",
      "title": "AI Block Parallel Results Renderer",
      "description": "Renders an array of {task,result} worker outputs as cards, each with a chart-colored Badge and a MarkdownBlock",
      "categories": [
        "ai-block",
        "remixicon"
      ]
    },
    {
      "name": "ai-block-registry",
      "type": "registry:ui",
      "title": "AI Block Registry",
      "description": "Keyed registry mapping output types (steps/tools/parallel-results/default) to renderer functions with getOutputRenderer/renderOutput lookup",
      "categories": [
        "ai-block",
        "remixicon"
      ]
    },
    {
      "name": "ai-block-steps-renderer",
      "type": "registry:ui",
      "title": "AI Block Steps Renderer",
      "description": "Renders a steps[] array as numbered Cards with Step/tool Badges and a MarkdownBlock of each step's text",
      "categories": [
        "ai-block",
        "remixicon"
      ]
    },
    {
      "name": "ai-block-tools-renderer",
      "type": "registry:ui",
      "title": "AI Block Tools Renderer",
      "description": "Maps toolCalls to Cards rendering each tool name, input/args JSON, and output via MarkdownBlock",
      "categories": [
        "ai-block",
        "remixicon"
      ]
    },
    {
      "name": "ai-block-input-panel",
      "type": "registry:ui",
      "title": "AI Block Input Panel",
      "description": "Rounded card shell with optional bordered header/footer slots and a scrollable flex-1 content area for input fields",
      "categories": [
        "ai-block",
        "remixicon"
      ]
    },
    {
      "name": "ai-block-output-panel",
      "type": "registry:ui",
      "title": "AI Block Output Panel",
      "description": "Agent result panel with elapsed timer, token counter, error/completion indicator, and renderer-keyed output or empty/loading states",
      "categories": [
        "ai-block",
        "remixicon"
      ]
    },
    {
      "name": "ai-block-completion-indicator",
      "type": "registry:ui",
      "title": "AI Block Completion Indicator",
      "description": "Status pill with CVA success/error/warning/pending variants, Remixicon icon, optional message and progress bar",
      "categories": [
        "ai-block",
        "remixicon"
      ]
    },
    {
      "name": "ai-block-copy-button",
      "type": "registry:ui",
      "title": "AI Block Copy Button",
      "description": "Outline Button that copies given text via useCopyToClipboard, swapping RiFileCopyLine for RiCheckLine and a Copied label",
      "categories": [
        "ai-block",
        "remixicon"
      ]
    },
    {
      "name": "ai-block-countdown",
      "type": "registry:ui",
      "title": "AI Block Countdown",
      "description": "Renders elapsed time as a tabular-nums `Ns` (optionally `.ms`) muted span from an elapsedSeconds prop",
      "categories": [
        "ai-block",
        "remixicon"
      ]
    },
    {
      "name": "ai-block-input-field",
      "type": "registry:ui",
      "title": "AI Block Input Field",
      "description": "Labeled input/textarea driven by a field definition, with filled check icon and optional character count",
      "categories": [
        "ai-block",
        "remixicon"
      ]
    },
    {
      "name": "ai-block-markdown-block",
      "type": "registry:ui",
      "title": "AI Block Markdown Block",
      "description": "Lightweight prose block that splits text on blank lines into paragraphs; no full markdown parsing",
      "categories": [
        "ai-block",
        "remixicon"
      ]
    },
    {
      "name": "ai-block-token-counter",
      "type": "registry:ui",
      "title": "AI Block Token Counter",
      "description": "Inline prompt/completion/total token readout with tabular-nums mono figures and a custom token circle SVG icon",
      "categories": [
        "ai-block",
        "remixicon"
      ]
    },
    {
      "name": "ai-block-empty-state",
      "type": "registry:ui",
      "title": "AI Block Empty State",
      "description": "Dashed-border empty placeholder with centered icon, title, message, and optional action node",
      "categories": [
        "ai-block",
        "remixicon"
      ]
    },
    {
      "name": "ai-block-loading-state",
      "type": "registry:ui",
      "title": "AI Block Loading State",
      "description": "Centered agent loading panel: 'Agent' pill, title/description, and an SVG ring + percent driven by progress or elapsed/estimated seconds",
      "categories": [
        "ai-block",
        "remixicon"
      ]
    },
    {
      "name": "ai-block-action-buttons",
      "type": "registry:ui",
      "title": "AI Block Action Buttons",
      "description": "Agent toolbar with History dropdown (input replay), Reset, and a GlowEffect-wrapped Run button plus optional View-output button",
      "categories": [
        "ai-block",
        "remixicon"
      ]
    },
    {
      "name": "ai-block-agent-header",
      "type": "registry:ui",
      "title": "AI Block Agent Header",
      "description": "Agent-sandbox header with ActualizeIcon home link, AgentSelector, and a More dropdown for copy/clear input actions",
      "categories": [
        "ai-block",
        "remixicon"
      ]
    },
    {
      "name": "ai-block-agent-info-card",
      "type": "registry:ui",
      "title": "AI Block Agent Info Card",
      "description": "Card showing an AgentType's name (TextEffect fade), context line, and optional average-time stat",
      "categories": [
        "ai-block",
        "remixicon"
      ]
    },
    {
      "name": "ai-block-agent-input-panel",
      "type": "registry:ui",
      "title": "AI Block Agent Input Panel",
      "description": "InputPanel wrapper for the agent sandbox: example chips header, per-field InputField list, AgentInfoCard footer, and action-button children",
      "categories": [
        "ai-block",
        "remixicon"
      ]
    },
    {
      "name": "ai-block-agent-mobile-output-panel",
      "type": "registry:ui",
      "title": "AI Block Agent Mobile Output Panel",
      "description": "Bottom Drawer wrapping AgentOutputPanel for mobile, with open/onOpenChange control and a Close button footer",
      "categories": [
        "ai-block",
        "remixicon"
      ]
    },
    {
      "name": "ai-block-agent-output-panel",
      "type": "registry:ui",
      "title": "AI Block Agent Output Panel",
      "description": "Wraps OutputPanel, mapping agentId to a renderer (steps/parallel/default) and showing an elapsed-seconds Countdown in the header",
      "categories": [
        "ai-block",
        "remixicon"
      ]
    },
    {
      "name": "ai-block-agent-selector",
      "type": "registry:ui",
      "title": "AI Block Agent Selector",
      "description": "Agent picker rendering a Select on mobile and a pill segmented control with a motion layoutId sliding bubble on desktop",
      "categories": [
        "ai-block",
        "remixicon"
      ]
    },
    {
      "name": "ai-block-agent",
      "type": "registry:ui",
      "title": "AI Block Agent",
      "description": "Agent sandbox shell with selector header, input panel, example/history chips, run timer, and split or mobile-drawer output panel",
      "categories": [
        "ai-block",
        "remixicon"
      ]
    },
    {
      "name": "ai-block-example-chips",
      "type": "registry:ui",
      "title": "AI Block Example Chips",
      "description": "Horizontal scrollable row of selectable example-prompt chips that toggle a selected index and highlight in primary",
      "categories": [
        "ai-block",
        "remixicon"
      ]
    },
    {
      "name": "actualize-logos",
      "type": "registry:ui",
      "title": "Actualize Logos",
      "description": "Actualize Impact brand SVGs (ActualizeIcon, Wordmark, WordTag, SymbolWordTagline, EdaTag) with size/variant/dark props and currentColor fill",
      "categories": [
        "brand",
        "remixicon"
      ]
    },
    {
      "name": "mode-switcher",
      "type": "registry:ui",
      "title": "Mode Switcher",
      "description": "Ghost icon button toggling next-themes light/dark and syncing the theme-color meta tag",
      "categories": [
        "layout",
        "remixicon"
      ]
    },
    {
      "name": "theme-provider",
      "type": "registry:ui",
      "title": "Theme Provider",
      "description": "next-themes ThemeProvider wrapper defaulting to class-based system theme",
      "categories": [
        "layout",
        "remixicon"
      ]
    },
    {
      "name": "wrapper",
      "type": "registry:ui",
      "title": "Wrapper",
      "description": "Client QueryClientProvider wrapper that gives a subtree a @tanstack/react-query client",
      "categories": [
        "layout",
        "remixicon"
      ]
    },
    {
      "name": "activity-ticker",
      "type": "registry:ui",
      "title": "Activity Ticker",
      "description": "Activity ticker — a tight horizontal strip of \"right now\" numbers with",
      "categories": [
        "dashboard",
        "remixicon"
      ]
    },
    {
      "name": "admin-page",
      "type": "registry:ui",
      "title": "Admin Page",
      "description": "Admin-page layout primitives.",
      "categories": [
        "dashboard",
        "remixicon"
      ]
    },
    {
      "name": "admin-stat-card",
      "type": "registry:ui",
      "title": "Admin Stat Card",
      "description": "Stat card with spring-driven count-up + subtle hover lift.",
      "categories": [
        "dashboard",
        "remixicon"
      ]
    },
    {
      "name": "animated-number",
      "type": "registry:ui",
      "title": "Animated Number",
      "description": "Spring-driven number with smooth count-up. Use for stat cards, metric",
      "categories": [
        "dashboard",
        "remixicon"
      ]
    },
    {
      "name": "animated-words",
      "type": "registry:ui",
      "title": "Animated Words",
      "description": "Word-by-word title reveal. Wrap any phrase in `<AnimatedWords>` to",
      "categories": [
        "dashboard",
        "remixicon"
      ]
    },
    {
      "name": "breadcrumbs",
      "type": "registry:ui",
      "title": "Breadcrumbs",
      "description": "Presentation-only breadcrumb trail mapping an items array to BreadcrumbLink/Page with separators; last item is current page",
      "categories": [
        "dashboard",
        "remixicon"
      ]
    },
    {
      "name": "dashboard-hero",
      "type": "registry:ui",
      "title": "Dashboard Hero",
      "description": "Dashboard hero — the workspace identity moment.",
      "categories": [
        "dashboard",
        "remixicon"
      ]
    },
    {
      "name": "motion",
      "type": "registry:ui",
      "title": "Motion",
      "description": "Motion tokens — single source of truth for animation across the",
      "categories": [
        "dashboard",
        "remixicon"
      ]
    },
    {
      "name": "nav-user",
      "type": "registry:ui",
      "title": "Nav User",
      "description": "Sidebar user menu: avatar trigger opening a dropdown with Account (notification dot), Workspaces, Chat, mode switch, and optional Log out",
      "categories": [
        "dashboard",
        "remixicon"
      ]
    },
    {
      "name": "sparkline",
      "type": "registry:ui",
      "title": "Sparkline",
      "description": "Tiny SVG sparkline — renders an n-point series as a smoothed line with",
      "categories": [
        "dashboard",
        "remixicon"
      ]
    },
    {
      "name": "stagger-list",
      "type": "registry:ui",
      "title": "Stagger List",
      "description": "Stagger-children entrance wrapper. Wrap a list of cards / rows / tiles",
      "categories": [
        "dashboard",
        "remixicon"
      ]
    },
    {
      "name": "workspace-admin-home",
      "type": "registry:ui",
      "title": "Workspace Admin Home",
      "description": "Workspace admin home — the workspace identity moment + operator overview.",
      "categories": [
        "dashboard",
        "remixicon"
      ]
    },
    {
      "name": "chat-delegation-progress",
      "type": "registry:ui",
      "title": "Delegation Progress",
      "description": "Renders sub-agent delegation events (start/sub-step/complete) as shimmer lines plus a per-message summary of steps, tool calls, and saved artifacts",
      "categories": [
        "chat",
        "remixicon"
      ]
    },
    {
      "name": "chat-empty-state",
      "type": "registry:ui",
      "title": "Empty State",
      "description": "Agent conversation empty hero: avatar with initials, welcome message, and a grid of clickable capability suggestion tiles",
      "categories": [
        "chat",
        "remixicon"
      ]
    },
    {
      "name": "chat-message-card",
      "type": "registry:ui",
      "title": "Message Card",
      "description": "Renders one chat message: source list, tool-step WorkPlan/ChainOfThought, ordered message parts, and delegation summaries",
      "categories": [
        "chat",
        "remixicon"
      ]
    },
    {
      "name": "chat-part-renderer",
      "type": "registry:ui",
      "title": "Part Renderer",
      "description": "Dispatches a useChat message part — text/reasoning/tool/data — to messages, Reasoning, approval/artifact/registered tool-result cards, with retry/copy/checkpoint actions",
      "categories": [
        "chat",
        "remixicon"
      ]
    },
    {
      "name": "chat-tool-code-stream-line",
      "type": "registry:ui",
      "title": "Tool Code Stream Line",
      "description": "ToolCodeStreamLine — inline hint for the `new-tool` meta-agent's sandbox",
      "categories": [
        "chat",
        "remixicon"
      ]
    },
    {
      "name": "chat-governance-details-drawer",
      "type": "registry:ui",
      "title": "Governance Details Drawer",
      "description": "Sheet drawer detailing a turn's governance — strategy, principles, and per-signal breakdown — opened from the turn governance card",
      "categories": [
        "chat",
        "remixicon"
      ]
    },
    {
      "name": "chat-governance-strategy-badge",
      "type": "registry:ui",
      "title": "Governance Strategy Badge",
      "description": "Shield badge showing a turn's reasoning strategy (adaptive-thinking / <think> primer / reasoning-model / standard), derived from the model family + isReasoningModel, with a tooltip",
      "categories": [
        "chat",
        "remixicon"
      ]
    },
    {
      "name": "chat-turn-governance-card",
      "type": "registry:ui",
      "title": "Turn Governance Card",
      "description": "Per-turn governance summary card; click opens the GovernanceDetailsDrawer with the turn's signals",
      "categories": [
        "chat",
        "remixicon"
      ]
    },
    {
      "name": "chat-session-list",
      "type": "registry:ui",
      "title": "Session List",
      "description": "Chat history list grouping sessions by recency (Today/Yesterday/Last 7 days/30 days/Older) with rename, delete, and load-more",
      "categories": [
        "chat",
        "remixicon"
      ]
    },
    {
      "name": "chat-session-row",
      "type": "registry:ui",
      "title": "Session Row",
      "description": "Chat history row with inline rename, delete AlertDialog, source-aware icon, and optional metadata line (source/project/model/count/time)",
      "categories": [
        "chat",
        "remixicon"
      ]
    },
    {
      "name": "chat-sessions-rail",
      "type": "registry:ui",
      "title": "Sessions Rail",
      "description": "Chat history rail in live (fetches /api/chat/sessions, owns rename/delete) or static read-only mode with a New chat action",
      "categories": [
        "chat",
        "remixicon"
      ]
    },
    {
      "name": "chat-chain-of-thought",
      "type": "registry:ui",
      "title": "Chain Of Thought",
      "description": "Wraps the ai chain-of-thought primitive to list extracted ToolStep items as ToolStepCards under an Agent Reasoning Process header",
      "categories": [
        "chat",
        "remixicon"
      ]
    },
    {
      "name": "chat-extract-tool-steps",
      "type": "registry:ui",
      "title": "Extract Tool Steps",
      "description": "Helper that walks the AI SDK message stream into reasoning-trace ToolStep items, skipping artifact-shaped tool results",
      "categories": [
        "chat",
        "remixicon"
      ]
    },
    {
      "name": "chat-reasoning-block",
      "type": "registry:ui",
      "title": "Reasoning Block",
      "description": "Reasoning step trigger row: brain icon, step label (Shimmer 'Reasoning...' while streaming), and a chevron",
      "categories": [
        "chat",
        "remixicon"
      ]
    },
    {
      "name": "chat-tool-step-card",
      "type": "registry:ui",
      "title": "Tool Step Card",
      "description": "Thin wrapper rendering a ToolStep through ChainOfThoughtStep with its icon, label, status, and content",
      "categories": [
        "chat",
        "remixicon"
      ]
    },
    {
      "name": "chat-work-plan",
      "type": "registry:ui",
      "title": "Work Plan",
      "description": "Plan card listing agent ToolSteps as ToolStepCards with an 'N of M steps complete' counter and streaming state",
      "categories": [
        "chat",
        "remixicon"
      ]
    },
    {
      "name": "chat-shell",
      "type": "registry:ui",
      "title": "Chat Shell",
      "description": "Two/three-pane chat workspace — collapsible sessions rail + main column + optional preview, on v4 react-resizable-panels with cookie-persisted widths; rail becomes a Sheet on mobile. useChatShell() exposes open/close/toggle to descendants",
      "categories": [
        "chat",
        "remixicon"
      ]
    },
    {
      "name": "chat-toolbar",
      "type": "registry:ui",
      "title": "Chat Toolbar",
      "description": "Chat workspace toolbar (AgentIdentityBar) — rail toggle, agent title/avatar, model picker (models via prop), token-usage meter, and a governance \"how we checked\" trigger",
      "categories": [
        "chat",
        "remixicon"
      ]
    },
    {
      "name": "chat-command-palette",
      "type": "registry:ui",
      "title": "Command Palette",
      "description": "Cmd+K command palette for the chat workspace: grouped actions with icons/shortcuts, plus buildDefaultChatActions for the default new-chat/sessions/governance set",
      "categories": [
        "chat",
        "remixicon"
      ]
    },
    {
      "name": "chat-companion-panel",
      "type": "registry:ui",
      "title": "Companion Panel",
      "description": "Companion Panel chat component.",
      "categories": [
        "chat",
        "remixicon"
      ]
    },
    {
      "name": "artifact-shared",
      "type": "registry:ui",
      "title": "Artifact Shared",
      "description": "Shared artifact primitives.",
      "categories": [
        "artifact",
        "remixicon"
      ]
    },
    {
      "name": "artifact-context",
      "type": "registry:ui",
      "title": "Artifact Context",
      "description": "Artifact Context",
      "categories": [
        "artifact",
        "remixicon"
      ]
    },
    {
      "name": "artifact-sheet",
      "type": "registry:ui",
      "title": "Artifact Sheet",
      "description": "Artifact Sheet",
      "categories": [
        "artifact",
        "remixicon"
      ]
    },
    {
      "name": "artifact-tool-card",
      "type": "registry:ui",
      "title": "Artifact Tool Card",
      "description": "Artifact Tool Card",
      "categories": [
        "artifact",
        "remixicon"
      ]
    },
    {
      "name": "artifact-dispatch",
      "type": "registry:ui",
      "title": "Dispatch",
      "description": "Artifact Dispatch",
      "categories": [
        "artifact",
        "remixicon"
      ]
    },
    {
      "name": "artifact-pdf-document",
      "type": "registry:ui",
      "title": "Artifact Pdf Document",
      "description": "react-pdf <Document> template that lays out an artifact (hero, sections, stats) for PDF export via @react-pdf/renderer",
      "categories": [
        "artifact",
        "remixicon"
      ]
    },
    {
      "name": "artifact-download-button",
      "type": "registry:ui",
      "title": "Download Button",
      "description": "Button that renders ArtifactPdfDocument to a PDF blob with @react-pdf/renderer and triggers a download; tooltip + error toast",
      "categories": [
        "artifact",
        "remixicon"
      ]
    },
    {
      "name": "artifact-registry",
      "type": "registry:ui",
      "title": "Registry",
      "description": "Artifact Registry — STARTER",
      "categories": [
        "artifact",
        "remixicon"
      ]
    },
    {
      "name": "artifact-diff-view",
      "type": "registry:ui",
      "title": "Diff View",
      "description": "Read-only ProseMirror view that renders the markdown diff (insertions/deletions) between two artifact revisions via the text-editor-lib diff helpers",
      "categories": [
        "artifact",
        "remixicon"
      ]
    },
    {
      "name": "artifact-editor-toolbar",
      "type": "registry:ui",
      "title": "Editor Toolbar",
      "description": "EditorToolbar — Reset / Copy / Download actions for an editable artifact.",
      "categories": [
        "artifact",
        "remixicon"
      ]
    },
    {
      "name": "artifact-markdown-editor",
      "type": "registry:ui",
      "title": "Markdown Editor",
      "description": "MarkdownEditor — ProseMirror-backed live Markdown editor.",
      "categories": [
        "artifact",
        "remixicon"
      ]
    },
    {
      "name": "artifact-use-text-edits",
      "type": "registry:ui",
      "title": "Use Text Edits",
      "description": "useTextEdits — shared editor-state hook for artifact renderers.",
      "categories": [
        "artifact",
        "remixicon"
      ]
    },
    {
      "name": "tool-result-action-result-cards",
      "type": "registry:ui",
      "title": "Action Result Cards",
      "description": "Action-result renderers.",
      "categories": [
        "tool-result",
        "remixicon"
      ]
    },
    {
      "name": "tool-result-approval-request-card",
      "type": "registry:ui",
      "title": "Approval Request Card",
      "description": "Approval-request card for tools that declare `needsApproval`.",
      "categories": [
        "tool-result",
        "remixicon"
      ]
    },
    {
      "name": "tool-result-authenticity-score-card",
      "type": "registry:ui",
      "title": "Authenticity Score Card",
      "description": "Tool-result renderer for foundation authenticity scoring — overall score, rating badge, and collapsible weighted component breakdown",
      "categories": [
        "tool-result",
        "remixicon"
      ]
    },
    {
      "name": "tool-result-backlash-classification-card",
      "type": "registry:ui",
      "title": "Backlash Classification Card",
      "description": "Tool-result card for backlash classification: resister/adapter/retreater badge, temporal analysis, recommendations, and legal/resurgence index bars",
      "categories": [
        "tool-result",
        "remixicon"
      ]
    },
    {
      "name": "tool-result-delegate-to-agent-card",
      "type": "registry:ui",
      "title": "Delegate To Agent Card",
      "description": "Renders a delegate-to-agent tool result — agent label, step count, tools called/available, persisted foundations, and response text, with an error variant",
      "categories": [
        "tool-result",
        "remixicon"
      ]
    },
    {
      "name": "tool-result-discipline-by-race-card",
      "type": "registry:ui",
      "title": "Discipline By Race Card",
      "description": "Renders CRDC discipline-by-race tool output: stacked suspension/expulsion bar chart, district-vs-state disproportionality ratio table, and rare-action table",
      "categories": [
        "tool-result",
        "remixicon"
      ]
    },
    {
      "name": "tool-result-district-profile-card",
      "type": "registry:ui",
      "title": "District Profile Card",
      "description": "Renders NCES district profile tool output — enrollment race bars, staffing, finance shares, and sources, with an error-state card",
      "categories": [
        "tool-result",
        "remixicon"
      ]
    },
    {
      "name": "tool-result-existing-profile-lookup-card",
      "type": "registry:ui",
      "title": "Existing Profile Lookup Card",
      "description": "Tool-result card for a foundation profile lookup: authenticity/assets/confidence grid, freshness badge, gaps, and Open-profile link; quiet line on miss",
      "categories": [
        "tool-result",
        "remixicon"
      ]
    },
    {
      "name": "tool-result-extracted-foundation-data-card",
      "type": "registry:ui",
      "title": "Extracted Foundation Data Card",
      "description": "Tool-result renderer for extracted foundation data — basic info, financials, leadership/board, equity commitments, and red flags",
      "categories": [
        "tool-result",
        "remixicon"
      ]
    },
    {
      "name": "tool-result-foundation-lookup-card",
      "type": "registry:ui",
      "title": "Foundation Lookup Card",
      "description": "Tool-result card for foundation lookup showing single/multi/miss states with authenticity score, assets (USD-formatted), and focus areas",
      "categories": [
        "tool-result",
        "remixicon"
      ]
    },
    {
      "name": "tool-result-foundation-search-results",
      "type": "registry:ui",
      "title": "Foundation Search Results",
      "description": "Renders foundation-search tool output — filter chips and per-foundation rows with authenticity score/rating badges, assets, and analyzed-ago, linking into the workspace",
      "categories": [
        "tool-result",
        "remixicon"
      ]
    },
    {
      "name": "tool-result-literature-results",
      "type": "registry:ui",
      "title": "Literature Results",
      "description": "Renders a scholarly-literature search result: query summary plus paper list with authors, venue/year/citations, and collapsible abstracts",
      "categories": [
        "tool-result",
        "remixicon"
      ]
    },
    {
      "name": "tool-result-organizational-intelligence-card",
      "type": "registry:ui",
      "title": "Organizational Intelligence Card",
      "description": "Renders org-intelligence profile tool output — tier badge, version, gap count, known-gaps list, with a no-profile info card",
      "categories": [
        "tool-result",
        "remixicon"
      ]
    },
    {
      "name": "tool-result-perplexity-result-card",
      "type": "registry:ui",
      "title": "Perplexity Result Card",
      "description": "Tool-result card rendering a Perplexity answer with context chips and citation Sources, plus refused/failed warning states",
      "categories": [
        "tool-result",
        "remixicon"
      ]
    },
    {
      "name": "tool-result-read-page-renderer",
      "type": "registry:ui",
      "title": "Read Page Renderer",
      "description": "Tool-result renderer for a fetched page — title, hostname, word count, and a WebPreview-framed collapsible markdown body",
      "categories": [
        "tool-result",
        "remixicon"
      ]
    },
    {
      "name": "tool-result-recall-memory-card",
      "type": "registry:ui",
      "title": "Recall Memory Card",
      "description": "Tool-result renderer listing recalled memories by domain/keyword, summarizing each item or showing an empty state",
      "categories": [
        "tool-result",
        "remixicon"
      ]
    },
    {
      "name": "tool-result-report-card-renderer",
      "type": "registry:ui",
      "title": "Report Card Renderer",
      "description": "Renders an Ohio school report-card result: star ratings, performance index, component table, gap-closing badges, and district-framing prose with citations",
      "categories": [
        "tool-result",
        "remixicon"
      ]
    },
    {
      "name": "tool-result-tool-error-card",
      "type": "registry:ui",
      "title": "Tool Error Card",
      "description": "Fallback card for the output-error tool state showing the humanized tool name and error text",
      "categories": [
        "tool-result",
        "remixicon"
      ]
    },
    {
      "name": "tool-result-registry",
      "type": "registry:ui",
      "title": "Tool Result Registry",
      "description": "Tool-name → renderer registry with register/dispatch helpers (renderToolResult) returning null to fall back to the generic Task card",
      "categories": [
        "tool-result",
        "remixicon"
      ]
    },
    {
      "name": "agent-delete-resource-dialog",
      "type": "registry:ui",
      "title": "Delete Resource Dialog",
      "description": "Confirmation Dialog for deleting an agent document/url/text source, with per-type copy, optional resource label, and a Deleting state",
      "categories": [
        "agent",
        "remixicon"
      ]
    },
    {
      "name": "agent-ingestion-progress-cards",
      "type": "registry:ui",
      "title": "Ingestion Progress Cards",
      "description": "Streams NDJSON ingestion pipeline events into ordered phase cards (discover/fetch/parse/chunk/embed/store) with per-phase detail and live status",
      "categories": [
        "agent",
        "remixicon"
      ]
    },
    {
      "name": "agent-extract-artifacts",
      "type": "registry:ui",
      "title": "Extract Artifacts",
      "description": "Helpers for the meta-agent preview panels (new-agent / new-tool /",
      "categories": [
        "agent",
        "remixicon"
      ]
    },
    {
      "name": "agent-preview-shell",
      "type": "registry:ui",
      "title": "Preview Shell",
      "description": "Preview-shell primitives for the meta-agent chat surfaces (new-agent /",
      "categories": [
        "agent",
        "remixicon"
      ]
    },
    {
      "name": "agent-model-selector-field",
      "type": "registry:ui",
      "title": "Model Selector Field",
      "description": "Model picker field grouping ModelOption entries by provider with provider logos, search, and a checkmark on the selected apiId",
      "categories": [
        "agent",
        "remixicon"
      ]
    },
    {
      "name": "agent-provider-options-editor",
      "type": "registry:ui",
      "title": "Provider Options Editor",
      "description": "Anthropic providerOptions form: extended-thinking mode, token-budget slider, effort select, tool-streaming/cache switches, and governance reasoning-floor alert",
      "categories": [
        "agent",
        "remixicon"
      ]
    },
    {
      "name": "agent-source-row",
      "type": "registry:ui",
      "title": "Source Row",
      "description": "Row for a non-URL agent source (file or text doc): Remixicon icon, title, formatted size/relative-modified, status badge, delete, and a processing slot",
      "categories": [
        "agent",
        "remixicon"
      ]
    },
    {
      "name": "agent-avatar-upload",
      "type": "registry:ui",
      "title": "Avatar Upload",
      "description": "Avatar picker with drag-crop (react-easy-crop) — validates type/size, crops to a square, and calls a required onUpload handler that returns the new URL; carries no upload endpoint of its own",
      "categories": [
        "agent",
        "remixicon"
      ]
    },
    {
      "name": "agent-chat-preview",
      "type": "registry:ui",
      "title": "Chat Preview",
      "description": "Live chat widget mockup for the agent wizard — branded header, agent/user bubbles, suggested-question chips, and a disabled input, themed via primaryColor",
      "categories": [
        "agent",
        "remixicon"
      ]
    },
    {
      "name": "agent-personality-preview",
      "type": "registry:ui",
      "title": "Personality Preview",
      "description": "Static chat-window mockup previewing an agent's name, avatar, model, welcome message, and primary color with a typing-dots indicator",
      "categories": [
        "agent",
        "remixicon"
      ]
    },
    {
      "name": "audit-detail-client",
      "type": "registry:ui",
      "title": "Audit Detail Client",
      "description": "Governance-eval detail view comparing governed vs non-governed runs — donut/delta stat cards, principle/rigor radar charts, criterion tables, polling",
      "categories": [
        "audit",
        "remixicon"
      ]
    },
    {
      "name": "audit-list-client",
      "type": "registry:ui",
      "title": "Audit List Client",
      "description": "Governance-audit list: bento stat cards (avg governance/non-governance/delta) over a table of evaluations with score badges and delete confirms",
      "categories": [
        "audit",
        "remixicon"
      ]
    },
    {
      "name": "audit-new-audit-form",
      "type": "registry:ui",
      "title": "New Audit Form",
      "description": "Form to start a governance audit — name, agent select, model override, prompt with suggestion templates; POSTs and redirects with toasts",
      "categories": [
        "audit",
        "remixicon"
      ]
    },
    {
      "name": "audit-shared",
      "type": "registry:ui",
      "title": "Shared",
      "description": "Shared evaluation UI utilities",
      "categories": [
        "audit",
        "remixicon"
      ]
    },
    {
      "name": "audit-stats-page-client",
      "type": "registry:ui",
      "title": "Stats Page Client",
      "description": "Governance evaluation stats page: bento stat cards plus timeline area chart, principle radar, and per-agent bar chart and table",
      "categories": [
        "audit",
        "remixicon"
      ]
    },
    {
      "name": "eval-save-button",
      "type": "registry:ui",
      "title": "Save Button",
      "description": "Save bar with a full-width Button showing changed-field count and a spinner while saving",
      "categories": [
        "eval",
        "remixicon"
      ]
    },
    {
      "name": "eval-unsaved-changes-dialog",
      "type": "registry:ui",
      "title": "Unsaved Changes Dialog",
      "description": "AlertDialog with Stay/Discard/Save actions for guarding navigation away from unsaved edits",
      "categories": [
        "eval",
        "remixicon"
      ]
    },
    {
      "name": "compliance-score-card",
      "type": "registry:ui",
      "title": "Compliance Score Card",
      "description": "Card showing a 0–100 score in a tinted tile colored by threshold (chart-2/warning/destructive) with optional label and description",
      "categories": [
        "shared",
        "remixicon"
      ]
    },
    {
      "name": "marketing-background-texture",
      "type": "registry:ui",
      "title": "Background Texture",
      "description": "Wraps children with a tiled PNG texture overlay (fabric-of-squares, grid-noise, inflicted, etc.) at adjustable opacity",
      "categories": [
        "marketing",
        "remixicon"
      ]
    },
    {
      "name": "marketing-features-section",
      "type": "registry:ui",
      "title": "Features Section",
      "description": "Marketing section rendering three governance thesis blocks (eyebrow pill + Playfair heading + body) under a 'legible alternative' header",
      "categories": [
        "marketing",
        "remixicon"
      ]
    },
    {
      "name": "marketing-footer",
      "type": "registry:ui",
      "title": "Footer",
      "description": "Marketing site footer with Actualize wordmark, Sign In and GitHub links, and a dynamic-year copyright line",
      "categories": [
        "marketing",
        "remixicon"
      ]
    },
    {
      "name": "marketing-hero",
      "type": "registry:ui",
      "title": "Hero",
      "description": "Marketing landing hero — animated @paper-design/shaders-react backdrop, headline, sub-copy, and CTA buttons",
      "categories": [
        "marketing",
        "remixicon"
      ]
    },
    {
      "name": "auth-password-input",
      "type": "registry:ui",
      "title": "Password Input",
      "description": "Password Input with a Remixicon eye toggle button to show/hide the value",
      "categories": [
        "auth",
        "remixicon"
      ]
    },
    {
      "name": "use-copy-to-clipboard",
      "type": "registry:hook",
      "title": "Use Copy To Clipboard",
      "description": "Clipboard hook returning [copiedText, copyFn] plus a standalone copyToClipboard helper with error handling",
      "categories": [
        "hook",
        "remixicon"
      ]
    },
    {
      "name": "use-debounce-value",
      "type": "registry:hook",
      "title": "Use Debounce Value",
      "description": "Hook returning a value debounced by a delay (default 500ms) via setTimeout",
      "categories": [
        "hook",
        "remixicon"
      ]
    },
    {
      "name": "use-icon-theme",
      "type": "registry:hook",
      "title": "Use Icon Theme",
      "description": "Icon theming utilities for consistent styling across the application",
      "categories": [
        "hook",
        "remixicon"
      ]
    },
    {
      "name": "use-media-query",
      "type": "registry:hook",
      "title": "Use Media Query",
      "description": "useMediaQuery hook returning a boolean for a media query via useSyncExternalStore (SSR-safe, defaults false on server)",
      "categories": [
        "hook",
        "remixicon"
      ]
    },
    {
      "name": "use-meta-color",
      "type": "registry:hook",
      "title": "Use Meta Color",
      "description": "Hook returning the theme-color meta value for the resolved light/dark theme and a setter that writes the meta tag",
      "categories": [
        "hook",
        "remixicon"
      ]
    },
    {
      "name": "use-mobile",
      "type": "registry:hook",
      "title": "Use Mobile",
      "description": "Hook returning whether the viewport is below the 768px mobile breakpoint via matchMedia",
      "categories": [
        "hook",
        "remixicon"
      ]
    },
    {
      "name": "ui",
      "type": "registry:ui",
      "title": "Ui",
      "description": "Barrel re-exporting all shadcn/ui primitives (accordion, button, card, dialog, input, etc.); animations live in @/components/animations",
      "categories": [
        "ui",
        "remixicon"
      ]
    },
    {
      "name": "ai-block-primitives",
      "type": "registry:ui",
      "title": "Ai Block Primitives",
      "description": "Barrel re-exporting the ai-block primitives: CompletionIndicator, CopyButton, Countdown, InputField, MarkdownBlock, TokenCounter",
      "categories": [
        "ai-block",
        "remixicon"
      ]
    },
    {
      "name": "ai-block-panels",
      "type": "registry:ui",
      "title": "Ai Block Panels",
      "description": "Barrel re-exporting InputPanel and OutputPanel from the ai-blocks panels directory",
      "categories": [
        "ai-block",
        "remixicon"
      ]
    },
    {
      "name": "ai-block-output-renderers",
      "type": "registry:ui",
      "title": "Ai Block Output Renderers",
      "description": "Barrel for output renderers (default, steps, tools, parallel-results) plus the registry helpers getOutputRenderer/renderOutput",
      "categories": [
        "ai-block",
        "remixicon"
      ]
    },
    {
      "name": "animations",
      "type": "registry:ui",
      "title": "Animations",
      "description": "Barrel re-exporting the animation system — AuroraText, BlurFade, NumberTicker, BorderBeam, MagicCard, Particles, MotionPreset, and more",
      "categories": [
        "animation",
        "remixicon"
      ]
    },
    {
      "name": "agent-sandbox",
      "type": "registry:lib",
      "title": "Agent Sandbox",
      "description": "AgentType/InputField/ExamplePrompt types plus three seeded agent configs (routing, parallel analysis, EDA sequential) and getExamplePrompts()",
      "categories": [
        "lib",
        "remixicon"
      ]
    },
    {
      "name": "tokens",
      "type": "registry:lib",
      "title": "Tokens",
      "description": "Barrel re-exporting CVA variant functions (button, badge, card, alert, dialog, input, etc.), cn, and VariantProps from lib/tokens/variants",
      "categories": [
        "lib",
        "remixicon"
      ]
    },
    {
      "name": "text-editor-lib",
      "type": "registry:lib",
      "title": "Text Editor Lib",
      "description": "ProseMirror document model for the artifact editor — schema, markdown parse/serialize, input rules, diffing, and suggestion helpers used by markdown-editor and diff-view",
      "categories": [
        "lib",
        "remixicon"
      ]
    }
  ]
}