{
  "$schema": "https://ui.shadcn.com/schema/registry.json",
  "name": "LEMA-UFPB Design System",
  "homepage": "https://ds.lema.ufpb.br",
  "version": "v1.14.2",
  "items": [
    {
      "name": "accordion",
      "type": "registry:ui",
      "title": "Accordion",
      "description": "A vertically stacked set of interactive headings that each reveal a section of content.",
      "dependencies": [
        "radix-ui",
        "lucide-react",
        "cn"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "components/ui/accordion.tsx",
          "type": "registry:ui",
          "target": "components/ui/accordion.tsx"
        }
      ]
    },
    {
      "name": "alert",
      "type": "registry:ui",
      "title": "Alert",
      "description": "A contextual notification banner for displaying feedback messages with title, description, and optional action.",
      "dependencies": [
        "class-variance-authority",
        "cn"
      ],
      "files": [
        {
          "path": "components/ui/alert.tsx",
          "type": "registry:ui",
          "target": "components/ui/alert.tsx"
        }
      ]
    },
    {
      "name": "alert-dialog",
      "type": "registry:ui",
      "title": "Alert Dialog",
      "description": "A modal dialog that interrupts users with urgent information, actions, or confirmation prompts.",
      "dependencies": [
        "radix-ui",
        "cn"
      ],
      "registryDependencies": [
        "@lema-ds/button"
      ],
      "files": [
        {
          "path": "components/ui/alert-dialog.tsx",
          "type": "registry:ui",
          "target": "components/ui/alert-dialog.tsx"
        }
      ]
    },
    {
      "name": "aspect-ratio",
      "type": "registry:ui",
      "title": "Aspect Ratio",
      "description": "A wrapper that maintains a consistent aspect ratio for its child content.",
      "dependencies": [
        "radix-ui"
      ],
      "files": [
        {
          "path": "components/ui/aspect-ratio.tsx",
          "type": "registry:ui",
          "target": "components/ui/aspect-ratio.tsx"
        }
      ]
    },
    {
      "name": "attachment",
      "type": "registry:ui",
      "title": "Attachment",
      "description": "A file attachment component with support for media preview, title, description, actions, trigger overlay, and group layout. Composed of AttachmentGroup, AttachmentMedia, AttachmentContent, AttachmentTitle, AttachmentDescription, AttachmentActions, AttachmentAction, and AttachmentTrigger sub-components.",
      "dependencies": [
        "class-variance-authority",
        "radix-ui",
        "cn"
      ],
      "registryDependencies": [
        "@lema-ds/button"
      ],
      "files": [
        {
          "path": "components/ui/attachment.tsx",
          "type": "registry:ui",
          "target": "components/ui/attachment.tsx"
        }
      ]
    },
    {
      "name": "avatar",
      "type": "registry:ui",
      "title": "Avatar",
      "description": "An image element representing a user or entity, with a fallback display for when the image fails to load.",
      "dependencies": [
        "radix-ui",
        "cn"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "components/ui/avatar.tsx",
          "type": "registry:ui",
          "target": "components/ui/avatar.tsx"
        }
      ]
    },
    {
      "name": "badge",
      "type": "registry:ui",
      "title": "Badge",
      "description": "A small visual indicator for categorization, counts, or status labels.",
      "dependencies": [
        "class-variance-authority",
        "radix-ui",
        "cn"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "components/ui/badge.tsx",
          "type": "registry:ui",
          "target": "components/ui/badge.tsx"
        }
      ]
    },
    {
      "name": "breadcrumb",
      "type": "registry:ui",
      "title": "Breadcrumb",
      "description": "A navigation aid showing the user's location in a hierarchical page structure with separators and ellipsis.",
      "dependencies": [
        "radix-ui",
        "lucide-react",
        "cn"
      ],
      "files": [
        {
          "path": "components/ui/breadcrumb.tsx",
          "type": "registry:ui",
          "target": "components/ui/breadcrumb.tsx"
        }
      ]
    },
    {
      "name": "bubble",
      "type": "registry:ui",
      "title": "Bubble",
      "description": "A chat bubble component with support for sent/received variants, tail indicators, and group layout. Composed of BubbleGroup sub-component.",
      "dependencies": [
        "class-variance-authority",
        "radix-ui",
        "cn"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "components/ui/bubble.tsx",
          "type": "registry:ui",
          "target": "components/ui/bubble.tsx"
        }
      ]
    },
    {
      "name": "button",
      "type": "registry:ui",
      "title": "Button",
      "description": "An interactive button control used to trigger actions, submit forms, or navigate.",
      "dependencies": [
        "class-variance-authority",
        "radix-ui",
        "cn"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "components/ui/button.tsx",
          "type": "registry:ui",
          "target": "components/ui/button.tsx"
        }
      ]
    },
    {
      "name": "button-group",
      "type": "registry:ui",
      "title": "Button Group",
      "description": "A container that groups related buttons or inputs with connected or separated styling.",
      "dependencies": [
        "class-variance-authority",
        "radix-ui",
        "cn"
      ],
      "registryDependencies": [
        "@lema-ds/separator"
      ],
      "files": [
        {
          "path": "components/ui/button-group.tsx",
          "type": "registry:ui",
          "target": "components/ui/button-group.tsx"
        }
      ]
    },
    {
      "name": "calendar",
      "type": "registry:ui",
      "title": "Calendar",
      "description": "A date picker with day selection, range support, and dropdown navigation.",
      "dependencies": [
        "react-day-picker",
        "lucide-react",
        "cn"
      ],
      "registryDependencies": [
        "@lema-ds/button"
      ],
      "files": [
        {
          "path": "components/ui/calendar.tsx",
          "type": "registry:ui",
          "target": "components/ui/calendar.tsx"
        }
      ]
    },
    {
      "name": "card",
      "type": "registry:ui",
      "title": "Card",
      "description": "A versatile card container with sub-components for header, title, action buttons, descriptions, body content, and footer actions.",
      "dependencies": [
        "cn"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "components/ui/card.tsx",
          "type": "registry:ui",
          "target": "components/ui/card.tsx"
        }
      ]
    },
    {
      "name": "card-stat-shared",
      "type": "registry:ui",
      "title": "Card Stat Shared",
      "description": "Shared utilities, CVA variants, and helper components (TrendBadge, CardStatEmptySlot) for the card-stat family.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/badge",
        "@lema-ds/format-utils"
      ],
      "files": [
        {
          "path": "lib/card-stats-shared.tsx",
          "type": "registry:ui",
          "target": "lib/card-stats-shared.tsx"
        }
      ]
    },
    {
      "name": "carousel",
      "type": "registry:ui",
      "title": "Carousel",
      "description": "A sliding carousel for cycling through elements with previous/next navigation using Embla.",
      "dependencies": [
        "embla-carousel-react",
        "lucide-react",
        "cn"
      ],
      "registryDependencies": [
        "@lema-ds/button"
      ],
      "files": [
        {
          "path": "components/ui/carousel.tsx",
          "type": "registry:ui",
          "target": "components/ui/carousel.tsx"
        }
      ]
    },
    {
      "name": "chart",
      "type": "registry:ui",
      "title": "Chart",
      "description": "A charting container with config-driven tooltips, legends, and CSS variable styling integration for Recharts.",
      "dependencies": [
        "recharts",
        "cn"
      ],
      "files": [
        {
          "path": "components/ui/chart.tsx",
          "type": "registry:ui",
          "target": "components/ui/chart.tsx"
        }
      ]
    },
    {
      "name": "chart-axis-width",
      "type": "registry:lib",
      "title": "Chart Axis Width",
      "description": "Canvas-based text measurement that sizes a numeric Recharts axis to fit its actual formatted tick labels (currency, abbreviated units), instead of a fixed guess that wraps or clips long values.",
      "registryDependencies": [],
      "files": [
        {
          "path": "lib/chart-axis-width.ts",
          "type": "registry:lib",
          "target": "lib/chart-axis-width.ts"
        }
      ]
    },
    {
      "name": "checkbox",
      "type": "registry:ui",
      "title": "Checkbox",
      "description": "A form control for selecting one or more options from a set.",
      "dependencies": [
        "radix-ui",
        "lucide-react",
        "cn"
      ],
      "files": [
        {
          "path": "components/ui/checkbox.tsx",
          "type": "registry:ui",
          "target": "components/ui/checkbox.tsx"
        }
      ]
    },
    {
      "name": "collapsible",
      "type": "registry:ui",
      "title": "Collapsible",
      "description": "An expandable/collapsible section with trigger and content regions.",
      "dependencies": [
        "radix-ui"
      ],
      "files": [
        {
          "path": "components/ui/collapsible.tsx",
          "type": "registry:ui",
          "target": "components/ui/collapsible.tsx"
        }
      ]
    },
    {
      "name": "combobox",
      "type": "registry:ui",
      "title": "Combobox",
      "description": "An autocomplete combobox built on @base-ui/react with search, groups, multi-select chips, and keyboard navigation.",
      "dependencies": [
        "@base-ui/react",
        "lucide-react",
        "cn"
      ],
      "registryDependencies": [
        "@lema-ds/button",
        "@lema-ds/input-group"
      ],
      "files": [
        {
          "path": "components/ui/combobox.tsx",
          "type": "registry:ui",
          "target": "components/ui/combobox.tsx"
        }
      ]
    },
    {
      "name": "command",
      "type": "registry:ui",
      "title": "Command",
      "description": "A fast, searchable command palette and menu list interface driven by keyboard navigation.",
      "dependencies": [
        "cmdk",
        "lucide-react",
        "cn"
      ],
      "registryDependencies": [
        "@lema-ds/dialog",
        "@lema-ds/input-group",
        "@lema-ds/ui-i18n"
      ],
      "files": [
        {
          "path": "components/ui/command.tsx",
          "type": "registry:ui",
          "target": "components/ui/command.tsx"
        }
      ]
    },
    {
      "name": "context-menu",
      "type": "registry:ui",
      "title": "Context Menu",
      "description": "A right-click context menu with items, submenus, checkboxes, radio items, and separators.",
      "dependencies": [
        "radix-ui",
        "lucide-react",
        "cn"
      ],
      "files": [
        {
          "path": "components/ui/context-menu.tsx",
          "type": "registry:ui",
          "target": "components/ui/context-menu.tsx"
        }
      ]
    },
    {
      "name": "dialog",
      "type": "registry:ui",
      "title": "Dialog",
      "description": "A modal overlay that interrupts the user with critical information or requires direct interaction.",
      "dependencies": [
        "radix-ui",
        "lucide-react",
        "cn"
      ],
      "registryDependencies": [
        "@lema-ds/button",
        "@lema-ds/ui-i18n"
      ],
      "files": [
        {
          "path": "components/ui/dialog.tsx",
          "type": "registry:ui",
          "target": "components/ui/dialog.tsx"
        }
      ]
    },
    {
      "name": "direction",
      "type": "registry:ui",
      "title": "Direction",
      "description": "A provider component for setting text direction (LTR/RTL) using Radix UI Direction.",
      "dependencies": [
        "radix-ui"
      ],
      "files": [
        {
          "path": "components/ui/direction.tsx",
          "type": "registry:ui",
          "target": "components/ui/direction.tsx"
        }
      ]
    },
    {
      "name": "drawer",
      "type": "registry:ui",
      "title": "Drawer",
      "description": "A slide-over panel built on vaul, supporting bottom, left, right, and top directions with drag-to-dismiss gestures.",
      "dependencies": [
        "vaul",
        "cn"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "components/ui/drawer.tsx",
          "type": "registry:ui",
          "target": "components/ui/drawer.tsx"
        }
      ]
    },
    {
      "name": "dropdown-menu",
      "type": "registry:ui",
      "title": "Dropdown Menu",
      "description": "A popover style menu listing choices or operations that is triggered by a button control.",
      "dependencies": [
        "radix-ui",
        "lucide-react",
        "cn"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "components/ui/dropdown-menu.tsx",
          "type": "registry:ui",
          "target": "components/ui/dropdown-menu.tsx"
        }
      ]
    },
    {
      "name": "ds-about-manifesto-hero",
      "type": "registry:block",
      "title": "About Manifesto Hero",
      "description": "Hero imersivo de manifesto institucional combinando declaração tipográfica, métricas e CTAs.",
      "categories": [
        "about",
        "marketing"
      ],
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/button",
        "@lema-ds/ds-manifesto-statement",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/about-manifesto-hero.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-about-manifesto-hero.tsx"
        }
      ]
    },
    {
      "name": "ds-about-milestones",
      "type": "registry:block",
      "title": "About Milestones",
      "description": "Bloco turnkey da trajetória histórica com cabeçalho de seção e MilestoneStepper.",
      "categories": [
        "about",
        "marketing"
      ],
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/badge",
        "@lema-ds/ds-milestone-stepper",
        "@lema-ds/ui-i18n"
      ],
      "files": [
        {
          "path": "components/ds/about-milestones.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-about-milestones.tsx"
        }
      ]
    },
    {
      "name": "ds-about-section",
      "type": "registry:block",
      "title": "AboutSection",
      "description": "Bloco composto de página 'Sobre' — história + citação do fundador + tira de estatísticas + grid de equipe — construído a partir dos átomos ds-hero-section, ds-pull-quote, ds-card-stat e ds-team-roster.",
      "categories": [
        "about"
      ],
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/badge",
        "@lema-ds/ds-hero-section",
        "@lema-ds/ds-pull-quote",
        "@lema-ds/ds-card-stat",
        "@lema-ds/ds-team-roster"
      ],
      "files": [
        {
          "path": "components/ds/about-section.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-about-section.tsx"
        }
      ]
    },
    {
      "name": "ds-about-split-story",
      "type": "registry:block",
      "title": "About Split Story",
      "description": "Seção turnkey de história institucional em 2 colunas com badge, fotografia e métrica flutuante.",
      "categories": [
        "about",
        "marketing"
      ],
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/badge",
        "@lema-ds/button",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider",
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/about-split-story.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-about-split-story.tsx"
        }
      ]
    },
    {
      "name": "ds-about-values-grid",
      "type": "registry:block",
      "title": "About Values Grid",
      "description": "Bloco turnkey completo de apresentação de valores e pilares com grid responsivo de ValuesCard.",
      "categories": [
        "about",
        "marketing"
      ],
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/badge",
        "@lema-ds/ds-values-card",
        "@lema-ds/ui-i18n"
      ],
      "files": [
        {
          "path": "components/ds/about-values-grid.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-about-values-grid.tsx"
        }
      ]
    },
    {
      "name": "ds-accordion",
      "type": "registry:ui",
      "title": "Accordion UI",
      "description": "Extended accordion with icon style variants (chevron/plus/arrow/sign), size variants, rounded/bordered CVA, discriminated single/multiple types with collapsible control, i18n aria-labels, skeleton loading, and nested accordion support.",
      "dependencies": [
        "radix-ui",
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/accordion",
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n"
      ],
      "files": [
        {
          "path": "components/ds/accordion.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-accordion.tsx"
        }
      ]
    },
    {
      "name": "ds-activity-feed",
      "type": "registry:ui",
      "title": "Activity Feed",
      "description": "Feed cronológico de eventos e trilha de auditoria com avatar, badge de status e timestamp relativo.",
      "dependencies": [
        "date-fns"
      ],
      "registryDependencies": [
        "@lema-ds/avatar",
        "@lema-ds/badge",
        "@lema-ds/button",
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider",
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/activity-feed.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-activity-feed.tsx"
        }
      ]
    },
    {
      "name": "ds-ai-chat",
      "type": "registry:block",
      "title": "AI Chat",
      "description": "Chat assistente — ReUI AI Chat 12.",
      "categories": [
        "ai"
      ],
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/card",
        "@lema-ds/button",
        "@lema-ds/input",
        "@lema-ds/skeleton",
        "@lema-ds/empty",
        "@lema-ds/message",
        "@lema-ds/message-scroller",
        "@lema-ds/bubble",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/ai-chat.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-ai-chat.tsx"
        }
      ]
    },
    {
      "name": "ds-animated-number",
      "type": "registry:ui",
      "title": "AnimatedNumber",
      "description": "Contador numérico animado com formatação por locale e fallback sr-only para leitores de tela.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/animated-number.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-animated-number.tsx"
        }
      ]
    },
    {
      "name": "ds-announcement-badge",
      "type": "registry:ui",
      "title": "AnnouncementBadge",
      "description": "Badge ou pill de anúncio para o topo de seções hero com micro-animação e suporte a ping.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "components/ds/announcement-badge.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-announcement-badge.tsx"
        }
      ]
    },
    {
      "name": "ds-app-sidebar",
      "type": "registry:block",
      "title": "App Sidebar",
      "description": "Sidebar completa com TeamSwitcher, Search, NavMain colapsável, Projects, NavUser e Rail — compõe sidebar shadcn 07 + 16.",
      "categories": [
        "sidebar",
        "layout"
      ],
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/sidebar",
        "@lema-ds/collapsible",
        "@lema-ds/dropdown-menu",
        "@lema-ds/skeleton",
        "@lema-ds/ds-team-switcher",
        "@lema-ds/ds-sidebar-search",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-nav-user",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/app-sidebar.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-app-sidebar.tsx"
        }
      ]
    },
    {
      "name": "ds-app-store-badges",
      "type": "registry:ui",
      "title": "AppStoreBadges",
      "description": "Botões de download para App Store e Google Play, com ícone e texto sobrescrevíveis.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "components/ds/app-store-badges.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-app-store-badges.tsx"
        }
      ]
    },
    {
      "name": "ds-audio-player",
      "type": "registry:ui",
      "description": "Full-featured audio player using native HTML5 Audio API.",
      "files": [
        {
          "path": "components/ds/audio-player.tsx",
          "target": "components/ui/ds-audio-player.tsx",
          "type": "registry:ui"
        }
      ],
      "registryDependencies": [
        "@lema-ds/skeleton",
        "@lema-ds/button",
        "@lema-ds/slider",
        "@lema-ds/avatar",
        "@lema-ds/card"
      ],
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ]
    },
    {
      "name": "ds-aurora-background",
      "type": "registry:ui",
      "title": "Aurora Background",
      "description": "Fundo aurora com gradientes animados, grid sutil e máscara radial — inspirado em Aceternity Aurora + Sparkles + Wavy.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "components/ds/aurora-background.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-aurora-background.tsx"
        }
      ]
    },
    {
      "name": "ds-auth-card",
      "type": "registry:block",
      "title": "Auth Card",
      "description": "Shell de autenticação unificado com variantes centered/muted/split/cover — consolida shadcn login-01..05 e signup-01..05.",
      "categories": [
        "auth",
        "layout"
      ],
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/card",
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/auth-card.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-auth-card.tsx"
        }
      ]
    },
    {
      "name": "ds-auth-separator",
      "type": "registry:ui",
      "title": "AuthSeparator",
      "description": "Divisor estilizado com rótulo centralizado para transição entre autenticação social e credenciais tradicionais.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "components/ds/auth-separator.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-auth-separator.tsx"
        }
      ]
    },
    {
      "name": "ds-auth-split-screen",
      "type": "registry:ui",
      "title": "AuthSplitScreen",
      "description": "Shell de layout de tela dividida (split-screen) completo com vitrine da marca, depoimento e estatísticas.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/ds-background-glow",
        "@lema-ds/avatar",
        "@lema-ds/ui-i18n"
      ],
      "files": [
        {
          "path": "components/ds/auth-split-screen.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-auth-split-screen.tsx"
        }
      ]
    },
    {
      "name": "ds-autocomplete",
      "type": "registry:ui",
      "title": "Autocomplete",
      "description": "Busca autocomplete async — ReUI Autocomplete.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/popover",
        "@lema-ds/input",
        "@lema-ds/skeleton"
      ],
      "files": [
        {
          "path": "components/ds/autocomplete.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-autocomplete.tsx"
        }
      ]
    },
    {
      "name": "ds-avatar",
      "type": "registry:ui",
      "title": "Avatar UI",
      "description": "Extended avatar with size scale (sm through 2xl), status indicator dots, initials color generator, image loading status callback, delay fallback, avatar group with overflow count, tooltip, and skeleton loading.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/avatar",
        "@lema-ds/skeleton",
        "@lema-ds/tooltip",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider",
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/avatar.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-avatar.tsx"
        }
      ]
    },
    {
      "name": "ds-avatar-presence",
      "type": "registry:ui",
      "title": "Avatar Presence",
      "description": "Indicador de presença em tempo real para avatar com anel de isolamento temático e animação de pulso.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/avatar",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider",
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/avatar-presence.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-avatar-presence.tsx"
        }
      ]
    },
    {
      "name": "ds-background-glow",
      "type": "registry:ui",
      "title": "BackgroundGlow",
      "description": "Ambientação luminosa e texturas de fundo em CSS puro (Aurora, Spotlight, Beam e Grid-dots) para seções Hero.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/background-glow.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-background-glow.tsx"
        }
      ]
    },
    {
      "name": "ds-badge",
      "type": "registry:ui",
      "title": "Badge UI",
      "description": "Extended badge with dot indicator, removable close icon, icon support, counter/overflow display, and semantic color variants (success/warning).",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/badge",
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider",
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/badge.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-badge.tsx"
        }
      ]
    },
    {
      "name": "ds-banner",
      "type": "registry:ui",
      "title": "Banner",
      "description": "Faixa full-width dismissível com intent, variante, posição e CTAs. Base blockus banners.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/button",
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider",
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/banner.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-banner.tsx"
        }
      ]
    },
    {
      "name": "ds-banner-app",
      "type": "registry:block",
      "title": "Banner App",
      "description": "Download de app com ícone, rating e store badges — blockus #14-17.",
      "categories": [
        "banner"
      ],
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/button",
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider",
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/banner-app.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-banner-app.tsx"
        }
      ]
    },
    {
      "name": "ds-banner-cookie",
      "type": "registry:block",
      "title": "Banner Cookie",
      "description": "Barra de consentimento cookies fixed bottom/floating — blockus #09-12.",
      "categories": [
        "banner"
      ],
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/button",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/banner-cookie.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-banner-cookie.tsx"
        }
      ]
    },
    {
      "name": "ds-banner-marquee",
      "type": "registry:ui",
      "title": "Banner Marquee",
      "description": "Faixa com rolagem infinita horizontal para highlights — blockus banner #13.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/banner-marquee.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-banner-marquee.tsx"
        }
      ]
    },
    {
      "name": "ds-banner-promo",
      "type": "registry:block",
      "title": "Banner Promo",
      "description": "Card promo centrado com gradiente/imagem e 1-2 CTAs — blockus #05-08.",
      "categories": [
        "banner"
      ],
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/button",
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/banner-promo.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-banner-promo.tsx"
        }
      ]
    },
    {
      "name": "ds-banner-top",
      "type": "registry:block",
      "title": "Banner Top",
      "description": "Bloco topo sticky com badge, título e CTA — blockus banners #01-04.",
      "categories": [
        "banner"
      ],
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/ds-banner",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/banner-top.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-banner-top.tsx"
        }
      ]
    },
    {
      "name": "ds-bar-chart",
      "type": "registry:ui",
      "title": "Bar Chart",
      "description": "A fully featured bar chart with tooltips, legend, stacking, rounded corners, and brush zoom.",
      "dependencies": [
        "recharts",
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/format-utils",
        "@lema-ds/chart-axis-width",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/bar-chart.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-bar-chart.tsx"
        }
      ]
    },
    {
      "name": "ds-bento-features",
      "type": "registry:block",
      "title": "BentoFeatures",
      "description": "Grid bento misturando tiles de feature com ícone e tiles de estatística — composto de ds-bento-grid e ds-card-stat.",
      "categories": [
        "bento"
      ],
      "dependencies": [],
      "registryDependencies": [
        "@lema-ds/ds-bento-grid",
        "@lema-ds/ds-card-stat"
      ],
      "files": [
        {
          "path": "components/ds/bento-features.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-bento-features.tsx"
        }
      ]
    },
    {
      "name": "ds-bento-grid",
      "type": "registry:ui",
      "title": "BentoGrid",
      "description": "Grid assimétrico com spans configuráveis para tiles de feature/mídia.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/skeleton"
      ],
      "files": [
        {
          "path": "components/ds/bento-grid.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-bento-grid.tsx"
        }
      ]
    },
    {
      "name": "ds-bento-metrics",
      "type": "registry:block",
      "title": "BentoMetrics",
      "description": "Grid bento combinando um gráfico de barras com uma tira de estatísticas — composto de ds-bento-grid, ds-bar-chart e ds-card-stat.",
      "categories": [
        "bento"
      ],
      "dependencies": [],
      "registryDependencies": [
        "@lema-ds/ds-bento-grid",
        "@lema-ds/ds-bar-chart",
        "@lema-ds/ds-card-stat"
      ],
      "files": [
        {
          "path": "components/ds/bento-metrics.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-bento-metrics.tsx"
        }
      ]
    },
    {
      "name": "ds-bento-showcase",
      "type": "registry:block",
      "title": "BentoShowcase",
      "description": "Grid bento exibindo screenshot de produto, preview de terminal e snippet de instalação — composto de ds-bento-grid, ds-floating-card, ds-browser-mockup e ds-copy-block.",
      "categories": [
        "bento"
      ],
      "dependencies": [],
      "registryDependencies": [
        "@lema-ds/ds-bento-grid",
        "@lema-ds/ds-floating-card",
        "@lema-ds/ds-browser-mockup",
        "@lema-ds/ds-copy-block"
      ],
      "files": [
        {
          "path": "components/ds/bento-showcase.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-bento-showcase.tsx"
        }
      ]
    },
    {
      "name": "ds-bento-social-proof",
      "type": "registry:block",
      "title": "BentoSocialProof",
      "description": "Grid bento misturando tiles de depoimento com um mural de logos — composto de ds-bento-grid, ds-pull-quote e ds-press-wall.",
      "categories": [
        "bento"
      ],
      "dependencies": [],
      "registryDependencies": [
        "@lema-ds/ds-bento-grid",
        "@lema-ds/ds-pull-quote",
        "@lema-ds/ds-press-wall"
      ],
      "files": [
        {
          "path": "components/ds/bento-social-proof.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-bento-social-proof.tsx"
        }
      ]
    },
    {
      "name": "ds-billing",
      "type": "registry:block",
      "title": "Billing",
      "description": "Card de plano e fatura — ReUI Billing.",
      "categories": [
        "billing"
      ],
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/card",
        "@lema-ds/badge",
        "@lema-ds/button",
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/billing.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-billing.tsx"
        }
      ]
    },
    {
      "name": "ds-blog-author",
      "type": "registry:ui",
      "title": "Blog Author",
      "description": "Avatar + nome + role do autor para blog.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/avatar",
        "@lema-ds/skeleton"
      ],
      "files": [
        {
          "path": "components/ds/blog-author.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-blog-author.tsx"
        }
      ]
    },
    {
      "name": "ds-blog-card",
      "type": "registry:ui",
      "title": "Blog Card",
      "description": "Card de post com imagem, categoria, título, excerpt, tags e autor — átomo base blog.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/card",
        "@lema-ds/badge",
        "@lema-ds/avatar",
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-blog-author",
        "@lema-ds/ds-blog-meta",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/blog-card.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-blog-card.tsx"
        }
      ]
    },
    {
      "name": "ds-blog-featured",
      "type": "registry:block",
      "title": "Blog Featured",
      "description": "Hero featured grande + 2 cards laterais — blockus #15-22.",
      "categories": [
        "blog"
      ],
      "dependencies": [],
      "registryDependencies": [
        "@lema-ds/ds-blog-card",
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/blog-featured.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-blog-featured.tsx"
        }
      ]
    },
    {
      "name": "ds-blog-grid",
      "type": "registry:block",
      "title": "Blog Grid",
      "description": "Grid responsivo 3 cols com filtros categoria + busca — blockus blog #01-07.",
      "categories": [
        "blog"
      ],
      "dependencies": [],
      "registryDependencies": [
        "@lema-ds/ds-blog-card",
        "@lema-ds/input",
        "@lema-ds/empty",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/blog-grid.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-blog-grid.tsx"
        }
      ]
    },
    {
      "name": "ds-blog-list",
      "type": "registry:block",
      "title": "Blog List",
      "description": "Lista horizontal imagem à esquerda — blockus #08-12.",
      "categories": [
        "blog"
      ],
      "dependencies": [],
      "registryDependencies": [
        "@lema-ds/ds-blog-meta",
        "@lema-ds/ds-blog-author",
        "@lema-ds/separator",
        "@lema-ds/skeleton",
        "@lema-ds/ds-blog-card",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/blog-list.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-blog-list.tsx"
        }
      ]
    },
    {
      "name": "ds-blog-meta",
      "type": "registry:ui",
      "title": "Blog Meta",
      "description": "Linha de metadados: data, reading time e categoria.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/badge",
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/blog-meta.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-blog-meta.tsx"
        }
      ]
    },
    {
      "name": "ds-border-beam",
      "type": "registry:ui",
      "title": "BorderBeam",
      "description": "Brilho que percorre a borda do container pai via offset-path (correto em qualquer proporção), em CSS puro — oculto em prefers-reduced-motion.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/border-beam.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-border-beam.tsx"
        }
      ]
    },
    {
      "name": "ds-boxplot-chart",
      "type": "registry:ui",
      "title": "Boxplot Chart",
      "description": "A fully custom SVG box-and-whisker chart with ResizeObserver for responsive layout, notch support, and outlier plotting.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/format-utils",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/boxplot-chart.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-boxplot-chart.tsx"
        }
      ]
    },
    {
      "name": "ds-breadcrumbs",
      "type": "registry:ui",
      "title": "Breadcrumbs",
      "description": "A data-driven breadcrumbs component.",
      "registryDependencies": [
        "@lema-ds/breadcrumb"
      ],
      "files": [
        {
          "path": "components/ds/breadcrumbs.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-breadcrumbs.tsx"
        }
      ]
    },
    {
      "name": "ds-browser-mockup",
      "type": "registry:ui",
      "title": "BrowserMockup",
      "description": "Moldura simulando janela de navegador ou terminal de sistema operacional para screenshots e previews.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/browser-mockup.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-browser-mockup.tsx"
        }
      ]
    },
    {
      "name": "ds-bullet-chart",
      "type": "registry:ui",
      "description": "Compact bullet chart with qualitative range bands, value bar, and target marker.",
      "files": [
        {
          "path": "components/ds/bullet-chart.tsx",
          "target": "components/ui/ds-bullet-chart.tsx",
          "type": "registry:ui"
        }
      ],
      "registryDependencies": [
        "@lema-ds/skeleton",
        "@lema-ds/tooltip",
        "@lema-ds/ui-i18n",
        "@lema-ds/format-utils",
        "@lema-ds/ds-locale-provider",
        "@lema-ds/tokens"
      ],
      "dependencies": [
        "class-variance-authority"
      ]
    },
    {
      "name": "ds-button",
      "type": "registry:ui",
      "title": "Button UI",
      "description": "Feature-rich button with loading state, start/end icons, rounded variant (full/lg/md/none), fullWidth, double-click debounce, two-step destructive confirmation, and built-in tooltip via Radix. Wraps the shadcn Button primitive.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/button",
        "@lema-ds/tooltip",
        "@lema-ds/spinner"
      ],
      "files": [
        {
          "path": "components/ds/button.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-button.tsx"
        }
      ]
    },
    {
      "name": "ds-callout",
      "type": "registry:ui",
      "title": "Callout",
      "description": "A highlighted alert component.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/alert",
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/callout.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-callout.tsx"
        }
      ]
    },
    {
      "name": "ds-candlestick-chart",
      "type": "registry:ui",
      "title": "Candlestick Chart",
      "description": "A financial candlestick chart with volume bars, moving averages, reference lines, and brush zoom.",
      "dependencies": [
        "recharts",
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/format-utils",
        "@lema-ds/chart-axis-width",
        "@lema-ds/ds-locale-provider",
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/candlestick-chart.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-candlestick-chart.tsx"
        }
      ]
    },
    {
      "name": "ds-card-icon",
      "type": "registry:ui",
      "title": "Card Icon",
      "description": "Feature / navigation card with a tinted icon medallion, title and description. Icon colour and background derive from a single semantic tone token. Supports soft/solid/outline media styles, three sizes, centred or left alignment, badge, link mode with hover lift, and a loading skeleton.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/card",
        "@lema-ds/badge",
        "@lema-ds/skeleton",
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/card-icon.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-card-icon.tsx"
        }
      ]
    },
    {
      "name": "ds-card-stat",
      "type": "registry:ui",
      "title": "Card Stat",
      "description": "A statistical display card with label, value, trend indicator, optional icon, and loading skeleton.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/card-stat-shared",
        "@lema-ds/card",
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/card-stat.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-card-stat.tsx"
        }
      ]
    },
    {
      "name": "ds-card-stat-compact",
      "type": "registry:ui",
      "title": "Card Stat Compact",
      "description": "A compact statistical card with trend badge, description, icon, and loading skeleton.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/card-stat-shared",
        "@lema-ds/card",
        "@lema-ds/skeleton",
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/card-stat-compact.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-card-stat-compact.tsx"
        }
      ]
    },
    {
      "name": "ds-card-stat-comparison",
      "type": "registry:ui",
      "title": "Card Stat Comparison",
      "description": "A side-by-side comparison card for current vs. previous period values with trend indicators.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/card-stat-shared",
        "@lema-ds/card",
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/card-stat-comparison.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-card-stat-comparison.tsx"
        }
      ]
    },
    {
      "name": "ds-card-stat-gauge",
      "type": "registry:ui",
      "title": "Card Stat Gauge",
      "description": "A statistical card with a gauge visualization for showing metrics within a target range.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/card-stat-shared",
        "@lema-ds/card",
        "@lema-ds/skeleton",
        "@lema-ds/badge",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/card-stat-gauge.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-card-stat-gauge.tsx"
        }
      ]
    },
    {
      "name": "ds-card-stat-heatbar",
      "type": "registry:ui",
      "title": "Card Stat Heatbar",
      "description": "A statistical card with a segmented heatbar visualization for multi-zone metric display.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/card-stat-shared",
        "@lema-ds/card",
        "@lema-ds/progress",
        "@lema-ds/skeleton",
        "@lema-ds/badge",
        "@lema-ds/tooltip",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/card-stat-heatbar.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-card-stat-heatbar.tsx"
        }
      ]
    },
    {
      "name": "ds-card-stat-highlight",
      "type": "registry:ui",
      "title": "Card Stat Highlight",
      "description": "A high-emphasis statistical card with a colored background for key metric prominence.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/card-stat-shared",
        "@lema-ds/card",
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider",
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/card-stat-highlight.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-card-stat-highlight.tsx"
        }
      ]
    },
    {
      "name": "ds-card-stat-list",
      "type": "registry:ui",
      "title": "Card Stat List",
      "description": "A statistical card containing a list of labeled items with icons and trend indicators.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/card-stat-shared",
        "@lema-ds/card",
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider",
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/card-stat-list.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-card-stat-list.tsx"
        }
      ]
    },
    {
      "name": "ds-card-stat-progress",
      "type": "registry:ui",
      "title": "Card Stat Progress",
      "description": "A statistical card with an embedded progress bar for showing completion or attainment levels.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/card-stat-shared",
        "@lema-ds/card",
        "@lema-ds/progress",
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider",
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/card-stat-progress.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-card-stat-progress.tsx"
        }
      ]
    },
    {
      "name": "ds-card-stat-sparkline",
      "type": "registry:ui",
      "title": "Card Stat Sparkline",
      "description": "A statistical card with an inline sparkline chart for visual trend representation.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/card-stat-shared",
        "@lema-ds/card",
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/card-stat-sparkline.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-card-stat-sparkline.tsx"
        }
      ]
    },
    {
      "name": "ds-card-stats",
      "type": "registry:ui",
      "title": "Card Stats (All)",
      "description": "A portfolio of all statistical display cards: CardStat, CardStatCompact, CardStatProgress, CardStatComparison, CardStatSparkline, CardStatHighlight, CardStatList, CardStatGauge, and CardStatHeatbar.",
      "registryDependencies": [
        "@lema-ds/ds-card-stat",
        "@lema-ds/ds-card-stat-compact",
        "@lema-ds/ds-card-stat-progress",
        "@lema-ds/ds-card-stat-comparison",
        "@lema-ds/ds-card-stat-sparkline",
        "@lema-ds/ds-card-stat-highlight",
        "@lema-ds/ds-card-stat-list",
        "@lema-ds/ds-card-stat-gauge",
        "@lema-ds/ds-card-stat-heatbar",
        "@lema-ds/card-stat-shared"
      ],
      "files": [
        {
          "path": "components/ds/card-stats.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-card-stats.tsx"
        }
      ]
    },
    {
      "name": "ds-carousel",
      "type": "registry:ui",
      "title": "Carousel UI",
      "description": "Extended carousel with autoplay support via embla-carousel-autoplay, multiple nav variants (side/overlay/bottom/none), card/showcase/minimal display modes, dot indicators, responsive slides-per-view, external API control via setApi, i18n aria-labels, and skeleton loading. Wraps the shadcn Carousel primitive.",
      "dependencies": [
        "embla-carousel-autoplay",
        "embla-carousel-react",
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/carousel",
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/carousel.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-carousel.tsx"
        }
      ]
    },
    {
      "name": "ds-cascader",
      "type": "registry:ui",
      "title": "Cascader",
      "description": "Seleção em cascata níveis — ReUI Cascader.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/popover",
        "@lema-ds/button",
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/cascader.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-cascader.tsx"
        }
      ]
    },
    {
      "name": "ds-changelog",
      "type": "registry:ui",
      "title": "Changelog",
      "description": "Visualização estruturada de release notes com categorização semântica e timeline de versões.",
      "dependencies": [
        "date-fns",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/badge",
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider",
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/changelog.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-changelog.tsx"
        }
      ]
    },
    {
      "name": "ds-checkout",
      "type": "registry:block",
      "title": "Checkout",
      "description": "Resumo de pedido — ReUI Checkout.",
      "categories": [
        "ecommerce"
      ],
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/card",
        "@lema-ds/button",
        "@lema-ds/separator",
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/checkout.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-checkout.tsx"
        }
      ]
    },
    {
      "name": "ds-color-picker",
      "type": "registry:ui",
      "title": "Color Picker",
      "description": "A color picker input.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/input",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/color-picker.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-color-picker.tsx"
        }
      ]
    },
    {
      "name": "ds-combobox",
      "type": "registry:ui",
      "title": "Combobox UI",
      "description": "A batteries-included combobox with virtual scrolling, search, single/multi-select, groups, custom option rendering, and configurable popover positioning (side/align/offset).",
      "dependencies": [
        "@tanstack/react-virtual",
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/badge",
        "@lema-ds/button",
        "@lema-ds/popover",
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/combobox.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-combobox.tsx"
        }
      ]
    },
    {
      "name": "ds-command-palette",
      "type": "registry:ui",
      "title": "Command Palette",
      "description": "A high-level command palette modal triggered by keyboard shortcuts.",
      "registryDependencies": [
        "@lema-ds/command",
        "@lema-ds/dialog",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/command-palette.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-command-palette.tsx"
        }
      ]
    },
    {
      "name": "ds-compare-slider",
      "type": "registry:ui",
      "title": "CompareSlider",
      "description": "Slider de comparação antes/depois com clip-path, arrastável ou via teclado (range input nativo).",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "components/ds/compare-slider.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-compare-slider.tsx"
        }
      ]
    },
    {
      "name": "ds-comparison",
      "type": "registry:ui",
      "title": "Comparison",
      "description": "Before/after slider — adaptado Kibo.",
      "dependencies": [],
      "registryDependencies": [],
      "files": [
        {
          "path": "components/ds/comparison.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-comparison.tsx"
        }
      ]
    },
    {
      "name": "ds-confetti",
      "type": "registry:ui",
      "description": "Confetti animation with 4 presets. Also exports useConfetti hook.",
      "files": [
        {
          "path": "components/ds/confetti.tsx",
          "target": "components/ui/ds-confetti.tsx",
          "type": "registry:ui"
        }
      ],
      "dependencies": [
        "canvas-confetti",
        "class-variance-authority"
      ]
    },
    {
      "name": "ds-confirm-dialog",
      "type": "registry:ui",
      "title": "Confirm Dialog",
      "description": "Diálogo de confirmação com typed confirmation para ações irreversíveis de alto risco.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/dialog",
        "@lema-ds/button",
        "@lema-ds/input",
        "@lema-ds/spinner",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider",
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/confirm-dialog.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-confirm-dialog.tsx"
        }
      ]
    },
    {
      "name": "ds-contact-bento",
      "type": "registry:block",
      "title": "ContactBento",
      "description": "Grid bento com o formulário de contato como tile principal e tiles satélite — composto de ds-bento-grid e ds-contact-form.",
      "categories": [
        "contact",
        "bento"
      ],
      "dependencies": [],
      "registryDependencies": [
        "@lema-ds/ds-bento-grid",
        "@lema-ds/ds-contact-form"
      ],
      "files": [
        {
          "path": "components/ds/contact-bento.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-contact-bento.tsx"
        }
      ]
    },
    {
      "name": "ds-contact-channels",
      "type": "registry:block",
      "title": "ContactChannels",
      "description": "Linha de cartões de canal de contato (e-mail, telefone, chat) — composto de ds-card-icon.",
      "categories": [
        "contact"
      ],
      "dependencies": [],
      "registryDependencies": [
        "@lema-ds/ds-card-icon"
      ],
      "files": [
        {
          "path": "components/ds/contact-channels.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-contact-channels.tsx"
        }
      ]
    },
    {
      "name": "ds-contact-form",
      "type": "registry:ui",
      "title": "ContactForm",
      "description": "Formulário de contato (nome, e-mail, assunto, tópico e mensagem) com estados idle/submitting/success/error.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/field",
        "@lema-ds/input",
        "@lema-ds/textarea",
        "@lema-ds/button",
        "@lema-ds/ds-pill-group",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider",
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/contact-form.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-contact-form.tsx"
        }
      ]
    },
    {
      "name": "ds-contact-split",
      "type": "registry:block",
      "title": "ContactSplit",
      "description": "Seção de contato split com formulário de um lado e um slot flexível do outro — composto de ds-hero-section e ds-contact-form.",
      "categories": [
        "contact"
      ],
      "dependencies": [],
      "registryDependencies": [
        "@lema-ds/ds-hero-section",
        "@lema-ds/ds-contact-form",
        "@lema-ds/badge"
      ],
      "files": [
        {
          "path": "components/ds/contact-split.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-contact-split.tsx"
        }
      ]
    },
    {
      "name": "ds-contribution-graph",
      "type": "registry:ui",
      "title": "Contribution Graph",
      "description": "Graph estilo GitHub 7x20 — adaptado Kibo.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider",
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/contribution-graph.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-contribution-graph.tsx"
        }
      ]
    },
    {
      "name": "ds-copy-block",
      "type": "registry:ui",
      "title": "CopyBlock",
      "description": "Exibe um trecho de texto ou código com um botão acoplado para cópia rápida.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/button",
        "@lema-ds/tooltip",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider",
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/copy-block.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-copy-block.tsx"
        }
      ]
    },
    {
      "name": "ds-counter",
      "type": "registry:ui",
      "title": "Counter",
      "description": "A precision numeric input with button controls, direct keyboard entry support, and inputProps passthrough for native HTML attributes.",
      "dependencies": [
        "lucide-react",
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/button",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/counter.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-counter.tsx"
        }
      ]
    },
    {
      "name": "ds-credit-card",
      "type": "registry:ui",
      "title": "Credit Card",
      "description": "Card visual com gradient e brand — adaptado Kibo.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/credit-card.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-credit-card.tsx"
        }
      ]
    },
    {
      "name": "ds-cron-builder",
      "type": "registry:ui",
      "description": "Visual cron expression builder with simple and advanced modes.",
      "files": [
        {
          "path": "components/ds/cron-builder.tsx",
          "target": "components/ui/ds-cron-builder.tsx",
          "type": "registry:ui"
        }
      ],
      "registryDependencies": [
        "@lema-ds/skeleton",
        "@lema-ds/button",
        "@lema-ds/label",
        "@lema-ds/input",
        "@lema-ds/badge",
        "@lema-ds/select",
        "@lema-ds/toggle-group",
        "@lema-ds/tabs",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ]
    },
    {
      "name": "ds-cta",
      "type": "registry:ui",
      "title": "Cta",
      "description": "Container CTA core com badge, título, descrição e ações — átomo base CTA.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/badge",
        "@lema-ds/button",
        "@lema-ds/skeleton",
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/cta.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-cta.tsx"
        }
      ]
    },
    {
      "name": "ds-cta-centered",
      "type": "registry:block",
      "title": "Cta Centered",
      "description": "CTA centrado editorial — blockus CTA #01-08.",
      "categories": [
        "cta"
      ],
      "dependencies": [],
      "registryDependencies": [
        "@lema-ds/ds-cta"
      ],
      "files": [
        {
          "path": "components/ds/cta-centered.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-cta-centered.tsx"
        }
      ]
    },
    {
      "name": "ds-cta-newsletter",
      "type": "registry:block",
      "title": "Cta Newsletter",
      "description": "CTA com captura email inline — blockus #17-24.",
      "categories": [
        "cta"
      ],
      "dependencies": [],
      "registryDependencies": [
        "@lema-ds/ds-cta",
        "@lema-ds/input",
        "@lema-ds/button",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider",
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/cta-newsletter.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-cta-newsletter.tsx"
        }
      ]
    },
    {
      "name": "ds-cta-split",
      "type": "registry:block",
      "title": "Cta Split",
      "description": "CTA split imagem + conteúdo — blockus #09-16.",
      "categories": [
        "cta"
      ],
      "dependencies": [],
      "registryDependencies": [
        "@lema-ds/ds-cta"
      ],
      "files": [
        {
          "path": "components/ds/cta-split.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-cta-split.tsx"
        }
      ]
    },
    {
      "name": "ds-culture-gallery",
      "type": "registry:ui",
      "title": "Culture Gallery",
      "description": "Mosaico e grade fotográfica da cultura institucional e equipe em ação.",
      "categories": [
        "about",
        "marketing"
      ],
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "components/ds/culture-gallery.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-culture-gallery.tsx"
        }
      ]
    },
    {
      "name": "ds-cursor",
      "type": "registry:ui",
      "title": "Cursor",
      "description": "Cursor remoto com label para collab — adaptado Kibo.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "components/ds/cursor.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-cursor.tsx"
        }
      ]
    },
    {
      "name": "ds-cursor-spotlight",
      "type": "registry:ui",
      "title": "CursorSpotlight",
      "description": "Glow radial que segue o cursor do ponteiro, com fallback estático em prefers-reduced-motion.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/cursor-spotlight.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-cursor-spotlight.tsx"
        }
      ]
    },
    {
      "name": "ds-dashboard",
      "type": "registry:block",
      "title": "Dashboard",
      "description": "Shell de dashboard com AppSidebar, Header, SectionCards, Chart e DataTable — replica shadcn dashboard-01.",
      "categories": [
        "dashboard",
        "layout"
      ],
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/ds-app-sidebar",
        "@lema-ds/ds-section-cards",
        "@lema-ds/sidebar",
        "@lema-ds/separator",
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-nav-user",
        "@lema-ds/ds-team-switcher",
        "@lema-ds/tooltip",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/dashboard.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-dashboard.tsx"
        }
      ]
    },
    {
      "name": "ds-dashboard-layout",
      "type": "registry:ui",
      "title": "Dashboard Layout",
      "description": "A base layout for complex dashboards with sidebar and header.",
      "dependencies": [
        "class-variance-authority",
        "cn"
      ],
      "registryDependencies": [
        "@lema-ds/sidebar"
      ],
      "files": [
        {
          "path": "components/ds/dashboard-layout.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-dashboard-layout.tsx"
        }
      ]
    },
    {
      "name": "ds-dashbox",
      "type": "registry:ui",
      "title": "Dashbox",
      "description": "A structured dashboard card with collapse/expand, fullscreen, refresh, loading skeleton, status badge, and configurable body padding.",
      "dependencies": [
        "lucide-react",
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/tooltip",
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/separator",
        "@lema-ds/ds-locale-provider",
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/dashbox.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-dashbox.tsx"
        }
      ]
    },
    {
      "name": "ds-dashrow",
      "type": "registry:ui",
      "title": "Dashrow",
      "description": "Responsive layout container for dashboard panels with resizable split ratios and N-child support.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/dashrow.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-dashrow.tsx"
        }
      ]
    },
    {
      "name": "ds-data-table",
      "type": "registry:ui",
      "title": "Data Table",
      "description": "A high-performance virtualized data table with built-in toolbar, pagination, and sorting capabilities.",
      "dependencies": [
        "@tanstack/react-table",
        "@tanstack/react-virtual",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/button",
        "@lema-ds/skeleton",
        "@lema-ds/ds-pagination",
        "@lema-ds/ds-search-bar",
        "@lema-ds/ui-i18n",
        "@lema-ds/format-utils",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/data-table.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-data-table.tsx"
        }
      ]
    },
    {
      "name": "ds-date-picker",
      "type": "registry:ui",
      "title": "DatePicker",
      "description": "Seletor de data combinando um botão e um calendário (Popover).",
      "dependencies": [
        "date-fns",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/button",
        "@lema-ds/popover",
        "@lema-ds/calendar",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/date-picker.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-date-picker.tsx"
        }
      ]
    },
    {
      "name": "ds-date-range-picker",
      "type": "registry:ui",
      "title": "Date Range Picker",
      "description": "Seleção intuitiva de intervalos de datas com presets e suporte aos 4 locales.",
      "dependencies": [
        "date-fns",
        "react-day-picker",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/button",
        "@lema-ds/calendar",
        "@lema-ds/popover",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/date-range-picker.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-date-range-picker.tsx"
        }
      ]
    },
    {
      "name": "ds-deck",
      "type": "registry:ui",
      "title": "Deck",
      "description": "Swipe deck de cards — adaptado Kibo.",
      "dependencies": [],
      "registryDependencies": [],
      "files": [
        {
          "path": "components/ds/deck.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-deck.tsx"
        }
      ]
    },
    {
      "name": "ds-description-list",
      "type": "registry:ui",
      "title": "Description List",
      "description": "A description list component.",
      "dependencies": [
        "class-variance-authority"
      ],
      "files": [
        {
          "path": "components/ds/description-list.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-description-list.tsx"
        }
      ]
    },
    {
      "name": "ds-diff-viewer",
      "type": "registry:ui",
      "description": "Line-level diff viewer with unified and split modes. No external dependencies.",
      "files": [
        {
          "path": "components/ds/diff-viewer.tsx",
          "target": "components/ui/ds-diff-viewer.tsx",
          "type": "registry:ui"
        }
      ],
      "registryDependencies": [
        "@lema-ds/skeleton",
        "@lema-ds/badge",
        "@lema-ds/card",
        "@lema-ds/toggle-group",
        "@lema-ds/tokens"
      ],
      "dependencies": [
        "class-variance-authority"
      ]
    },
    {
      "name": "ds-direction-aware-hover",
      "type": "registry:ui",
      "files": [
        {
          "path": "components/ds/direction-aware-hover.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-direction-aware-hover.tsx"
        }
      ]
    },
    {
      "name": "ds-drawer",
      "type": "registry:ui",
      "title": "Drawer UI",
      "description": "A full-featured drawer wrapper with optional header, scrollable body, footer, direction-aware close button, snap points, scale background, and escape/pointer-down-outside event handlers.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/drawer",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/drawer.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-drawer.tsx"
        }
      ]
    },
    {
      "name": "ds-dynamic-island",
      "type": "registry:ui",
      "description": "Dynamic island notification component.",
      "files": [
        {
          "path": "components/ds/dynamic-island.tsx",
          "target": "components/ui/ds-dynamic-island.tsx",
          "type": "registry:ui"
        }
      ],
      "registryDependencies": [
        "@lema-ds/tokens"
      ],
      "dependencies": [
        "class-variance-authority"
      ]
    },
    {
      "name": "ds-empty",
      "type": "registry:ui",
      "title": "Empty UI",
      "description": "Contextual empty states with built-in SVG icons for no-data, search, error, and no-results scenarios, i18n titles, action button, compact mode, and skeleton loading.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/empty",
        "@lema-ds/button",
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/empty.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-empty.tsx"
        }
      ]
    },
    {
      "name": "ds-empty-action",
      "type": "registry:ui",
      "title": "Empty Action",
      "description": "Estado vazio acionável com ação principal, atalhos e sugestões para zero-data e onboarding.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/button",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/empty-action.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-empty-action.tsx"
        }
      ]
    },
    {
      "name": "ds-empty-state-illustration",
      "type": "registry:ui",
      "description": "Empty state with 8 animated SVG illustrations for common UI contexts.",
      "files": [
        {
          "path": "components/ds/empty-state-illustration.tsx",
          "target": "components/ui/ds-empty-state-illustration.tsx",
          "type": "registry:ui"
        }
      ],
      "registryDependencies": [
        "@lema-ds/skeleton",
        "@lema-ds/button",
        "@lema-ds/tokens"
      ],
      "dependencies": [
        "class-variance-authority"
      ]
    },
    {
      "name": "ds-event-calendar",
      "type": "registry:block",
      "title": "Event Calendar",
      "description": "Calendário mensal com eventos — ReUI Event Calendar 6.",
      "categories": [
        "schedule"
      ],
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/card",
        "@lema-ds/skeleton"
      ],
      "files": [
        {
          "path": "components/ds/event-calendar.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-event-calendar.tsx"
        }
      ]
    },
    {
      "name": "ds-fade",
      "type": "registry:ui",
      "title": "Fade",
      "description": "Fade mask com variantes x/y/top/bottom/left/right — inspirado em Launch UI Fade.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "components/ds/fade.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-fade.tsx"
        }
      ]
    },
    {
      "name": "ds-faqs",
      "type": "registry:ui",
      "title": "Faqs",
      "description": "Seção FAQ core com heading, accordion, busca opcional.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/ds-accordion",
        "@lema-ds/input",
        "@lema-ds/empty",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/faqs.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-faqs.tsx"
        }
      ]
    },
    {
      "name": "ds-faqs-support",
      "type": "registry:block",
      "title": "Faqs Support",
      "description": "FAQs com card suporte lateral — blockus #14 #19.",
      "categories": [
        "faqs"
      ],
      "dependencies": [],
      "registryDependencies": [
        "@lema-ds/ds-faqs",
        "@lema-ds/card",
        "@lema-ds/button",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/faqs-support.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-faqs-support.tsx"
        }
      ]
    },
    {
      "name": "ds-faqs-tabs",
      "type": "registry:block",
      "title": "Faqs Tabs",
      "description": "FAQs agrupadas por abas — blockus #03 #07.",
      "categories": [
        "faqs"
      ],
      "dependencies": [],
      "registryDependencies": [
        "@lema-ds/ds-faqs",
        "@lema-ds/tabs",
        "@lema-ds/ds-accordion",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/faqs-tabs.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-faqs-tabs.tsx"
        }
      ]
    },
    {
      "name": "ds-feature-spotlight",
      "type": "registry:ui",
      "title": "Feature Spotlight",
      "description": "Destaque ancorado para apresentar novas funcionalidades e guias passo a passo.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/popover",
        "@lema-ds/button",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/feature-spotlight.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-feature-spotlight.tsx"
        }
      ]
    },
    {
      "name": "ds-feature-sticky",
      "type": "registry:block",
      "title": "Feature Sticky",
      "description": "Seção feature com texto e mockup sticky (left/right) — inspirado em Launch UI Feature Sticky.",
      "categories": [
        "feature"
      ],
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/badge",
        "@lema-ds/skeleton"
      ],
      "files": [
        {
          "path": "components/ds/feature-sticky.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-feature-sticky.tsx"
        }
      ]
    },
    {
      "name": "ds-feedback-widget",
      "type": "registry:ui",
      "description": "Floating feedback widget component.",
      "files": [
        {
          "path": "components/ds/feedback-widget.tsx",
          "target": "components/ui/ds-feedback-widget.tsx",
          "type": "registry:ui"
        }
      ],
      "registryDependencies": [
        "@lema-ds/button",
        "@lema-ds/dialog",
        "@lema-ds/radio-group",
        "@lema-ds/textarea",
        "@lema-ds/tokens"
      ],
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ]
    },
    {
      "name": "ds-file-preview",
      "type": "registry:ui",
      "description": "File preview card with auto-detected type icons, size formatting and hover actions.",
      "files": [
        {
          "path": "components/ds/file-preview.tsx",
          "target": "components/ui/ds-file-preview.tsx",
          "type": "registry:ui"
        }
      ],
      "registryDependencies": [
        "@lema-ds/skeleton",
        "@lema-ds/button",
        "@lema-ds/badge",
        "@lema-ds/tokens"
      ],
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ]
    },
    {
      "name": "ds-file-upload",
      "type": "registry:ui",
      "title": "FileUpload",
      "description": "Área de upload de arquivos com suporte a arrastar e soltar e barra de progresso.",
      "dependencies": [
        "lucide-react",
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/button",
        "@lema-ds/progress",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/file-upload.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-file-upload.tsx"
        }
      ]
    },
    {
      "name": "ds-filter-builder",
      "type": "registry:ui",
      "title": "Filter Builder",
      "description": "A complex component for building advanced query filters.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/button",
        "@lema-ds/input",
        "@lema-ds/select",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/filter-builder.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-filter-builder.tsx"
        }
      ]
    },
    {
      "name": "ds-filter-sidebar",
      "type": "registry:block",
      "title": "Filter Sidebar",
      "description": "Filtros categoria e preço — ReUI Filter Sidebar.",
      "categories": [
        "ecommerce"
      ],
      "dependencies": [],
      "registryDependencies": [
        "@lema-ds/card",
        "@lema-ds/checkbox",
        "@lema-ds/label",
        "@lema-ds/slider",
        "@lema-ds/skeleton"
      ],
      "files": [
        {
          "path": "components/ds/filter-sidebar.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-filter-sidebar.tsx"
        }
      ]
    },
    {
      "name": "ds-floating-card",
      "type": "registry:ui",
      "title": "FloatingCard",
      "description": "Card com tilt 3D sutil ao seguir o ponteiro, para exibir screenshots/mockups em heroes.",
      "dependencies": [],
      "registryDependencies": [],
      "files": [
        {
          "path": "components/ds/floating-card.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-floating-card.tsx"
        }
      ]
    },
    {
      "name": "ds-floating-dock",
      "type": "registry:ui",
      "title": "Floating Dock",
      "description": "Dock flutuante com magnificação no hover e fallback grid mobile — inspirado em Aceternity Floating Dock.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/tooltip"
      ],
      "files": [
        {
          "path": "components/ds/floating-dock.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-floating-dock.tsx"
        }
      ]
    },
    {
      "name": "ds-footer-bottom-bar",
      "type": "registry:ui",
      "title": "Footer Bottom Bar",
      "description": "Faixa inferior atômica com copyright dinâmico, links legais e ações acessórias.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/ui-i18n"
      ],
      "files": [
        {
          "path": "components/ds/footer-bottom-bar.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-footer-bottom-bar.tsx"
        }
      ]
    },
    {
      "name": "ds-footer-brand-backdrop",
      "type": "registry:block",
      "title": "Footer Brand Backdrop",
      "description": "Rodapé de vanguarda com mega letreiro tipográfico de fundo, grade compacta de links, newsletter e status.",
      "categories": [
        "footer"
      ],
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/ds-footer-wordmark",
        "@lema-ds/ds-social-links",
        "@lema-ds/ds-system-status-badge",
        "@lema-ds/ds-footer-bottom-bar",
        "@lema-ds/ds-footer-menu",
        "@lema-ds/ui-i18n"
      ],
      "files": [
        {
          "path": "components/ds/footer-brand-backdrop.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-footer-brand-backdrop.tsx"
        }
      ]
    },
    {
      "name": "ds-footer-cta",
      "type": "registry:block",
      "title": "Footer CTA",
      "description": "Bloco de rodapé integrado com cartão de conversão de alto impacto posicionado antes dos links.",
      "categories": [
        "footer"
      ],
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/button",
        "@lema-ds/ds-social-links",
        "@lema-ds/ds-footer-bottom-bar",
        "@lema-ds/ds-footer-menu",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider",
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/footer-cta.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-footer-cta.tsx"
        }
      ]
    },
    {
      "name": "ds-footer-mega",
      "type": "registry:block",
      "title": "Footer Mega",
      "description": "Rodapé institucional completo com múltiplas colunas de links, apresentação de missão, newsletter e barra inferior.",
      "categories": [
        "footer"
      ],
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/ds-social-links",
        "@lema-ds/ds-footer-newsletter",
        "@lema-ds/ds-system-status-badge",
        "@lema-ds/ds-app-store-badges",
        "@lema-ds/ds-footer-bottom-bar",
        "@lema-ds/ds-footer-menu",
        "@lema-ds/ui-i18n"
      ],
      "files": [
        {
          "path": "components/ds/footer-mega.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-footer-mega.tsx"
        }
      ]
    },
    {
      "name": "ds-footer-menu",
      "type": "registry:ui",
      "title": "Footer Menu",
      "description": "A responsive footer navigation that displays in columns on desktop and as an accordion on mobile.",
      "dependencies": [
        "lucide-react",
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/accordion",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider",
        "@lema-ds/ds-link-provider"
      ],
      "files": [
        {
          "path": "components/ds/footer-menu.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-footer-menu.tsx"
        }
      ]
    },
    {
      "name": "ds-footer-newsletter",
      "type": "registry:ui",
      "title": "Footer Newsletter",
      "description": "Captura atômica de e-mail para newsletter com validação, estado de envio e confirmação acessível.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/button",
        "@lema-ds/input",
        "@lema-ds/label",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider",
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/footer-newsletter.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-footer-newsletter.tsx"
        }
      ]
    },
    {
      "name": "ds-footer-simple",
      "type": "registry:block",
      "title": "Footer Simple",
      "description": "Bloco de rodapé minimalista e centralizado com logotipo, links de navegação, canais sociais e copyright.",
      "categories": [
        "footer"
      ],
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/ds-social-links",
        "@lema-ds/ds-system-status-badge",
        "@lema-ds/ds-footer-bottom-bar",
        "@lema-ds/ui-i18n"
      ],
      "files": [
        {
          "path": "components/ds/footer-simple.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-footer-simple.tsx"
        }
      ]
    },
    {
      "name": "ds-footer-wordmark",
      "type": "registry:ui",
      "title": "Footer Wordmark",
      "description": "Letreiro tipográfico de rodapé de grande porte com corte outline, preenchimento sutil ou gradiente.",
      "dependencies": [
        "class-variance-authority"
      ],
      "files": [
        {
          "path": "components/ds/footer-wordmark.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-footer-wordmark.tsx"
        }
      ]
    },
    {
      "name": "ds-forgot-password-form",
      "type": "registry:ui",
      "title": "ForgotPasswordForm",
      "description": "Bloco completo de recuperação de conta e redefinição de senha com instruções e confirmação.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/input",
        "@lema-ds/button",
        "@lema-ds/label",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/forgot-password-form.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-forgot-password-form.tsx"
        }
      ]
    },
    {
      "name": "ds-form-builder",
      "type": "registry:ui",
      "title": "Form Builder",
      "description": "Gera um formulário validado a partir de um schema zod (validação) e uma lista de campos (rótulo, tipo de widget, opções) — react-hook-form + Field/FieldGroup.",
      "dependencies": [
        "react-hook-form",
        "zod",
        "@hookform/resolvers"
      ],
      "registryDependencies": [
        "@lema-ds/field",
        "@lema-ds/button",
        "@lema-ds/input",
        "@lema-ds/textarea",
        "@lema-ds/select",
        "@lema-ds/switch",
        "@lema-ds/checkbox",
        "@lema-ds/spinner"
      ],
      "files": [
        {
          "path": "components/ds/form-builder.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-form-builder.tsx"
        }
      ]
    },
    {
      "name": "ds-founder-letter",
      "type": "registry:ui",
      "title": "Founder Letter",
      "description": "Carta aberta ou mensagem do coordenador/diretor com retrato, prosa editorial, drop cap e assinatura.",
      "categories": [
        "about",
        "marketing"
      ],
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "components/ds/founder-letter.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-founder-letter.tsx"
        }
      ]
    },
    {
      "name": "ds-funnel-chart",
      "type": "registry:ui",
      "description": "Funnel chart for visualizing conversion rates between sequential stages.",
      "files": [
        {
          "path": "components/ds/funnel-chart.tsx",
          "target": "components/ui/ds-funnel-chart.tsx",
          "type": "registry:ui"
        }
      ],
      "registryDependencies": [
        "@lema-ds/chart",
        "@lema-ds/skeleton",
        "@lema-ds/card",
        "@lema-ds/ui-i18n",
        "@lema-ds/format-utils",
        "@lema-ds/ds-locale-provider"
      ],
      "dependencies": [
        "class-variance-authority"
      ]
    },
    {
      "name": "ds-gallery-filterable",
      "type": "registry:block",
      "title": "GalleryFilterable",
      "description": "Galeria de imagens com filtro de categorias — composto de ds-image-gallery e ds-pill-group.",
      "categories": [
        "gallery"
      ],
      "dependencies": [],
      "registryDependencies": [
        "@lema-ds/ds-image-gallery",
        "@lema-ds/ds-pill-group",
        "@lema-ds/ui-i18n"
      ],
      "files": [
        {
          "path": "components/ds/gallery-filterable.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-gallery-filterable.tsx"
        }
      ]
    },
    {
      "name": "ds-gallery-split",
      "type": "registry:block",
      "title": "GallerySplit",
      "description": "Seção split com texto de um lado e colagem de imagens do outro — composto de ds-hero-section e ds-image-gallery.",
      "categories": [
        "gallery"
      ],
      "dependencies": [],
      "registryDependencies": [
        "@lema-ds/ds-hero-section",
        "@lema-ds/ds-image-gallery",
        "@lema-ds/badge"
      ],
      "files": [
        {
          "path": "components/ds/gallery-split.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-gallery-split.tsx"
        }
      ]
    },
    {
      "name": "ds-gallery-video",
      "type": "registry:block",
      "title": "GalleryVideo",
      "description": "Grid de vídeos que abrem em diálogo ao clicar — composto de ds-video-dialog.",
      "categories": [
        "gallery"
      ],
      "dependencies": [],
      "registryDependencies": [
        "@lema-ds/ds-video-dialog",
        "@lema-ds/ui-i18n"
      ],
      "files": [
        {
          "path": "components/ds/gallery-video.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-gallery-video.tsx"
        }
      ]
    },
    {
      "name": "ds-gantt",
      "type": "registry:ui",
      "title": "Gantt",
      "description": "Timeline Gantt com barras e progresso — adaptado Kibo.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/skeleton"
      ],
      "files": [
        {
          "path": "components/ds/gantt.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-gantt.tsx"
        }
      ]
    },
    {
      "name": "ds-geomap-chart",
      "type": "registry:ui",
      "title": "Geomap Chart",
      "description": "A geographic map component for rendering GeoJSON/TopoJSON data with tooltips, zooming (optional zoom controls), full-screen expand, choropleth, and point markers.",
      "dependencies": [
        "react-simple-maps",
        "geojson",
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/skeleton",
        "@lema-ds/tooltip",
        "@lema-ds/button",
        "@lema-ds/dialog",
        "@lema-ds/ui-i18n",
        "@lema-ds/format-utils",
        "@lema-ds/ds-locale-provider",
        "@lema-ds/client-only"
      ],
      "files": [
        {
          "path": "components/ds/geomap-chart.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-geomap-chart.tsx"
        }
      ],
      "devDependencies": [
        "@types/geojson"
      ]
    },
    {
      "name": "ds-glass",
      "type": "registry:ui",
      "title": "Glass",
      "description": "Glassmorphism com 5 variantes (glass-1..5) e backdrop-blur — inspirado em Launch UI Glass.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "components/ds/glass.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-glass.tsx"
        }
      ]
    },
    {
      "name": "ds-globe-3d",
      "type": "registry:ui",
      "description": "3D Globe component.",
      "dependencies": [
        "cobe"
      ],
      "files": [
        {
          "path": "components/ds/globe-3d.tsx",
          "target": "components/ui/ds-globe-3d.tsx",
          "type": "registry:ui"
        }
      ],
      "registryDependencies": [
        "@lema-ds/client-only"
      ]
    },
    {
      "name": "ds-glow",
      "type": "registry:ui",
      "title": "Glow",
      "description": "Glow posicional (top/above/center/below) com radial gradient blur — inspirado em Launch UI Glow.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "components/ds/glow.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-glow.tsx"
        }
      ]
    },
    {
      "name": "ds-grid-pulse",
      "type": "registry:ui",
      "title": "Grid Pulse",
      "description": "Grid de pontos que pulsa de tamanho e opacidade perto do cursor, ocioso fora da interação — fundo de hero interativo.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/grid-pulse.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-grid-pulse.tsx"
        }
      ]
    },
    {
      "name": "ds-guided-tour",
      "type": "registry:ui",
      "title": "Guided Tour",
      "description": "A presentation component for a guided tour or onboarding card.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/button",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/guided-tour.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-guided-tour.tsx"
        }
      ]
    },
    {
      "name": "ds-header",
      "type": "registry:ui",
      "title": "Header",
      "description": "Container semântico banner com variantes default/blurred/transparent/solid, sticky, tamanhos sm/md/lg e skip link i18n. Base para todos os headers.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/header.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-header.tsx"
        }
      ]
    },
    {
      "name": "ds-header-actions",
      "type": "registry:ui",
      "title": "Header Actions",
      "description": "Grupo de CTAs do header com variantes de Button, gap configurável e skeleton.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/button",
        "@lema-ds/skeleton"
      ],
      "files": [
        {
          "path": "components/ds/header-actions.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-header-actions.tsx"
        }
      ]
    },
    {
      "name": "ds-header-announcement",
      "type": "registry:ui",
      "title": "Header Announcement",
      "description": "Faixa de anúncio dismissível com tag, link e variantes default/outline/glow.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/button",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/header-announcement.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-header-announcement.tsx"
        }
      ]
    },
    {
      "name": "ds-header-brand",
      "type": "registry:ui",
      "title": "Header Brand",
      "description": "Identidade do header com logo medallion, título e subtítulo, tamanhos sm/md/lg e skeleton.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/skeleton",
        "@lema-ds/ds-link-provider"
      ],
      "files": [
        {
          "path": "components/ds/header-brand.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-header-brand.tsx"
        }
      ]
    },
    {
      "name": "ds-header-centered",
      "type": "registry:block",
      "title": "Header Centered",
      "description": "Header com brand centralizado e nav abaixo, com split actions laterais.",
      "categories": [
        "header"
      ],
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/ds-header",
        "@lema-ds/ds-header-brand",
        "@lema-ds/ds-header-nav",
        "@lema-ds/ds-header-actions",
        "@lema-ds/ds-header-mobile-drawer",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/header-centered.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-header-centered.tsx"
        }
      ]
    },
    {
      "name": "ds-header-command",
      "type": "registry:block",
      "title": "Header Command",
      "description": "Header SaaS com command palette (⌘K), busca global, user menu e notificações.",
      "categories": [
        "header"
      ],
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/ds-header",
        "@lema-ds/ds-header-brand",
        "@lema-ds/ds-header-nav",
        "@lema-ds/ds-header-actions",
        "@lema-ds/ds-header-mobile-drawer",
        "@lema-ds/ds-header-user-menu",
        "@lema-ds/command",
        "@lema-ds/kbd",
        "@lema-ds/button",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/header-command.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-header-command.tsx"
        }
      ]
    },
    {
      "name": "ds-header-mega",
      "type": "registry:block",
      "title": "Header Mega",
      "description": "Mega dropdown com grid de links e feature card — e-commerce / docs.",
      "categories": [
        "header"
      ],
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/ds-header",
        "@lema-ds/ds-header-brand",
        "@lema-ds/ds-header-nav",
        "@lema-ds/ds-header-actions",
        "@lema-ds/ds-header-mobile-drawer",
        "@lema-ds/button",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider",
        "@lema-ds/ds-link-provider"
      ],
      "files": [
        {
          "path": "components/ds/header-mega.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-header-mega.tsx"
        }
      ]
    },
    {
      "name": "ds-header-mobile-drawer",
      "type": "registry:ui",
      "title": "Header Mobile Drawer",
      "description": "Sheet lateral para navegação mobile com accordion, brand header e footer de CTAs.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/sheet",
        "@lema-ds/collapsible",
        "@lema-ds/button",
        "@lema-ds/separator",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-header-actions",
        "@lema-ds/ds-header-nav",
        "@lema-ds/ds-locale-provider",
        "@lema-ds/ds-link-provider"
      ],
      "files": [
        {
          "path": "components/ds/header-mobile-drawer.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-header-mobile-drawer.tsx"
        }
      ]
    },
    {
      "name": "ds-header-nav",
      "type": "registry:ui",
      "title": "Header Nav",
      "description": "Navegação horizontal baseada em NavigationMenu com suporte a dropdown, mega custom content, badge e estados active.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/navigation-menu",
        "@lema-ds/skeleton",
        "@lema-ds/ds-link-provider"
      ],
      "files": [
        {
          "path": "components/ds/header-nav.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-header-nav.tsx"
        }
      ]
    },
    {
      "name": "ds-header-search",
      "type": "registry:ui",
      "title": "Header Search",
      "description": "An expandable search button for use in page headers with smooth transition animations.",
      "dependencies": [
        "lucide-react",
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/button",
        "@lema-ds/input",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/header-search.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-header-search.tsx"
        }
      ]
    },
    {
      "name": "ds-header-simple",
      "type": "registry:block",
      "title": "Header Simple",
      "description": "Bloco minimal SaaS: brand + nav desktop + search + actions + mobile drawer.",
      "categories": [
        "header"
      ],
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/ds-header",
        "@lema-ds/ds-header-brand",
        "@lema-ds/ds-header-nav",
        "@lema-ds/ds-header-actions",
        "@lema-ds/ds-header-mobile-drawer",
        "@lema-ds/ds-header-search",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/header-simple.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-header-simple.tsx"
        }
      ]
    },
    {
      "name": "ds-header-topbar",
      "type": "registry:ui",
      "title": "Header Topbar",
      "description": "Barra utilitária acima do header com email, telefone, socials e locale selector.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/ds-social-links",
        "@lema-ds/separator"
      ],
      "files": [
        {
          "path": "components/ds/header-topbar.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-header-topbar.tsx"
        }
      ]
    },
    {
      "name": "ds-header-transparent",
      "type": "registry:block",
      "title": "Header Transparent",
      "description": "Header overlay hero que vira blurred ao scroll com threshold configurável.",
      "categories": [
        "header"
      ],
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/ds-header",
        "@lema-ds/ds-header-brand",
        "@lema-ds/ds-header-nav",
        "@lema-ds/ds-header-actions",
        "@lema-ds/ds-header-mobile-drawer",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/header-transparent.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-header-transparent.tsx"
        }
      ]
    },
    {
      "name": "ds-header-user-menu",
      "type": "registry:ui",
      "title": "Header User Menu",
      "description": "Avatar com DropdownMenu, badge de notificações e grupos de ações para header.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/avatar",
        "@lema-ds/dropdown-menu",
        "@lema-ds/button",
        "@lema-ds/skeleton"
      ],
      "files": [
        {
          "path": "components/ds/header-user-menu.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-header-user-menu.tsx"
        }
      ]
    },
    {
      "name": "ds-header-with-topbar",
      "type": "registry:block",
      "title": "Header With Topbar",
      "description": "HeaderSimple empilhado com Topbar e Announcement — padrão blockus com contato/social.",
      "categories": [
        "header"
      ],
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/ds-header-topbar",
        "@lema-ds/ds-header-announcement",
        "@lema-ds/ds-header-simple",
        "@lema-ds/ds-header-actions",
        "@lema-ds/ds-header-brand",
        "@lema-ds/ds-header-nav",
        "@lema-ds/ds-social-links",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/header-with-topbar.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-header-with-topbar.tsx"
        }
      ]
    },
    {
      "name": "ds-heatmap-chart",
      "type": "registry:ui",
      "title": "Heatmap Chart",
      "description": "A responsive heatmap chart built with pure CSS grid and color-mix for smooth color interpolation.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/format-utils",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/heatmap-chart.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-heatmap-chart.tsx"
        }
      ]
    },
    {
      "name": "ds-hero-announcement",
      "type": "registry:block",
      "title": "HeroAnnouncement",
      "description": "Hero centralizado com badge de anúncio e mural de logos em marquee — composto de ds-hero-section, ds-announcement-badge e ds-marquee.",
      "categories": [
        "hero"
      ],
      "dependencies": [],
      "registryDependencies": [
        "@lema-ds/ds-hero-section",
        "@lema-ds/ds-announcement-badge",
        "@lema-ds/ds-marquee"
      ],
      "files": [
        {
          "path": "components/ds/hero-announcement.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-hero-announcement.tsx"
        }
      ]
    },
    {
      "name": "ds-hero-bento",
      "type": "registry:block",
      "title": "HeroBento",
      "description": "Hero centralizado seguido de um grid bento — composto de ds-hero-section e ds-bento-grid.",
      "categories": [
        "hero",
        "bento"
      ],
      "dependencies": [],
      "registryDependencies": [
        "@lema-ds/ds-hero-section",
        "@lema-ds/ds-bento-grid",
        "@lema-ds/badge"
      ],
      "files": [
        {
          "path": "components/ds/hero-bento.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-hero-bento.tsx"
        }
      ]
    },
    {
      "name": "ds-hero-cycling",
      "type": "registry:block",
      "title": "HeroCycling",
      "description": "Hero centralizado com título que alterna palavras — composto de ds-hero-section e ds-text-rotator.",
      "categories": [
        "hero"
      ],
      "dependencies": [],
      "registryDependencies": [
        "@lema-ds/badge",
        "@lema-ds/ds-hero-section",
        "@lema-ds/ds-text-rotator"
      ],
      "files": [
        {
          "path": "components/ds/hero-cycling.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-hero-cycling.tsx"
        }
      ]
    },
    {
      "name": "ds-hero-glow",
      "type": "registry:block",
      "title": "Hero Glow",
      "description": "Hero com glow radial superior e grid sutil — inspirado em Launch UI Hero Top Glow.",
      "categories": [
        "hero"
      ],
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/badge",
        "@lema-ds/skeleton"
      ],
      "files": [
        {
          "path": "components/ds/hero-glow.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-hero-glow.tsx"
        }
      ]
    },
    {
      "name": "ds-hero-layers",
      "type": "registry:block",
      "title": "Hero Layers",
      "description": "Hero com screenshots em camadas sobrepostas (Layers) — inspirado em Launch UI Hero Layers.",
      "categories": [
        "hero"
      ],
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/badge",
        "@lema-ds/skeleton"
      ],
      "files": [
        {
          "path": "components/ds/hero-layers.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-hero-layers.tsx"
        }
      ]
    },
    {
      "name": "ds-hero-section",
      "type": "registry:ui",
      "title": "HeroSection",
      "description": "Shell de layout de seção Hero composível em subcomponentes atômicos com alinhamentos center, left e split.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "components/ds/hero-section.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-hero-section.tsx"
        }
      ]
    },
    {
      "name": "ds-hero-stats",
      "type": "registry:block",
      "title": "HeroStats",
      "description": "Hero centralizado seguido de tira de estatísticas — composto de ds-hero-section e ds-card-stat.",
      "categories": [
        "hero"
      ],
      "dependencies": [],
      "registryDependencies": [
        "@lema-ds/badge",
        "@lema-ds/ds-hero-section",
        "@lema-ds/ds-card-stat"
      ],
      "files": [
        {
          "path": "components/ds/hero-stats.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-hero-stats.tsx"
        }
      ]
    },
    {
      "name": "ds-hero-terminal",
      "type": "registry:block",
      "title": "HeroTerminal",
      "description": "Hero split com preview de terminal/navegador — composto de ds-hero-section, ds-background-glow e ds-browser-mockup.",
      "categories": [
        "hero"
      ],
      "dependencies": [],
      "registryDependencies": [
        "@lema-ds/badge",
        "@lema-ds/ds-hero-section",
        "@lema-ds/ds-background-glow",
        "@lema-ds/ds-browser-mockup"
      ],
      "files": [
        {
          "path": "components/ds/hero-terminal.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-hero-terminal.tsx"
        }
      ]
    },
    {
      "name": "ds-hero-video",
      "type": "registry:block",
      "title": "HeroVideo",
      "description": "Hero centralizado com thumbnail de vídeo em diálogo — composto de ds-hero-section e ds-video-dialog.",
      "categories": [
        "hero"
      ],
      "dependencies": [],
      "registryDependencies": [
        "@lema-ds/badge",
        "@lema-ds/ds-hero-section",
        "@lema-ds/ds-video-dialog",
        "@lema-ds/ui-i18n"
      ],
      "files": [
        {
          "path": "components/ds/hero-video.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-hero-video.tsx"
        }
      ]
    },
    {
      "name": "ds-hero-waitlist",
      "type": "registry:block",
      "title": "HeroWaitlist",
      "description": "Hero centralizado com captura de e-mail — composto de ds-hero-section e ds-waitlist-form.",
      "categories": [
        "hero"
      ],
      "dependencies": [],
      "registryDependencies": [
        "@lema-ds/badge",
        "@lema-ds/ds-hero-section",
        "@lema-ds/ds-waitlist-form",
        "@lema-ds/ui-i18n"
      ],
      "files": [
        {
          "path": "components/ds/hero-waitlist.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-hero-waitlist.tsx"
        }
      ]
    },
    {
      "name": "ds-how-it-works",
      "type": "registry:ui",
      "title": "How It Works",
      "description": "Seção explicativa em passos numerados com variante horizontal/vertical.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/how-it-works.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-how-it-works.tsx"
        }
      ]
    },
    {
      "name": "ds-how-it-works-timeline",
      "type": "registry:block",
      "title": "How It Works Timeline",
      "description": "Timeline vertical com linha conectora — blockus #03 #10 #17.",
      "categories": [
        "how-it-works"
      ],
      "dependencies": [],
      "registryDependencies": [
        "@lema-ds/ds-how-it-works"
      ],
      "files": [
        {
          "path": "components/ds/how-it-works-timeline.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-how-it-works-timeline.tsx"
        }
      ]
    },
    {
      "name": "ds-icon-button",
      "type": "registry:ui",
      "title": "Icon Button",
      "description": "An icon-only button with optional tooltip, loading state, size and rounded variants built on the Button and Tooltip primitives.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/button",
        "@lema-ds/tooltip",
        "@lema-ds/spinner"
      ],
      "files": [
        {
          "path": "components/ds/icon-button.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-icon-button.tsx"
        }
      ]
    },
    {
      "name": "ds-image-crop",
      "type": "registry:ui",
      "title": "Image Crop",
      "description": "Crop com drag e zoom slider — adaptado Kibo.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/button",
        "@lema-ds/slider"
      ],
      "files": [
        {
          "path": "components/ds/image-crop.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-image-crop.tsx"
        }
      ]
    },
    {
      "name": "ds-image-gallery",
      "type": "registry:ui",
      "title": "ImageGallery",
      "description": "Galeria de imagens flexível — grid, masonry ou linha com scroll-snap — com legenda/overlay opcional por item.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/skeleton"
      ],
      "files": [
        {
          "path": "components/ds/image-gallery.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-image-gallery.tsx"
        }
      ]
    },
    {
      "name": "ds-image-zoom",
      "type": "registry:ui",
      "title": "Image Zoom",
      "description": "Zoom hover lens — adaptado Kibo.",
      "dependencies": [],
      "registryDependencies": [
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/image-zoom.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-image-zoom.tsx"
        }
      ]
    },
    {
      "name": "ds-inline-edit",
      "type": "registry:ui",
      "title": "Inline Edit",
      "description": "Edição in-place com click-to-edit, estados de salvamento e validação inline.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/input",
        "@lema-ds/button",
        "@lema-ds/spinner",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/inline-edit.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-inline-edit.tsx"
        }
      ]
    },
    {
      "name": "ds-input",
      "type": "registry:ui",
      "title": "Input UI",
      "description": "Extended input with icon prefix/suffix, clearable button, character counter with maxLength, loading spinner, i18n labels, and error state.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/input",
        "@lema-ds/label",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/input.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-input.tsx"
        }
      ]
    },
    {
      "name": "ds-input-email",
      "type": "registry:ui",
      "title": "Input Email",
      "description": "An email input field with a built-in mail icon and customizable size and radius variants.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/input"
      ],
      "files": [
        {
          "path": "components/ds/input-email.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-input-email.tsx"
        }
      ]
    },
    {
      "name": "ds-input-password",
      "type": "registry:ui",
      "title": "Input Password",
      "description": "A secure password input field with a toggle visibility button and custom size/radius options.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/input",
        "@lema-ds/button",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/input-password.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-input-password.tsx"
        }
      ]
    },
    {
      "name": "ds-integration-tile",
      "type": "registry:ui",
      "title": "Integration Tile",
      "description": "Tile de integração com logo e status — átomo base integrations.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider",
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/integration-tile.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-integration-tile.tsx"
        }
      ]
    },
    {
      "name": "ds-integrations",
      "type": "registry:block",
      "title": "Integrations",
      "description": "Grid de integrações com busca — blockus #01-12.",
      "categories": [
        "integrations"
      ],
      "dependencies": [],
      "registryDependencies": [
        "@lema-ds/ds-integration-tile",
        "@lema-ds/input",
        "@lema-ds/empty",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/integrations.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-integrations.tsx"
        }
      ]
    },
    {
      "name": "ds-integrations-marquee",
      "type": "registry:block",
      "title": "Integrations Marquee",
      "description": "Parede de logos em marquee infinita — blockus #13-24.",
      "categories": [
        "integrations"
      ],
      "dependencies": [],
      "registryDependencies": [
        "@lema-ds/ds-integration-tile"
      ],
      "files": [
        {
          "path": "components/ds/integrations-marquee.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-integrations-marquee.tsx"
        }
      ]
    },
    {
      "name": "ds-kanban-board",
      "type": "registry:ui",
      "title": "Kanban Board",
      "description": "Kanban board com drag-and-drop real (@dnd-kit) — reordena e move cards entre colunas por ponteiro ou teclado.",
      "dependencies": [
        "@dnd-kit/core",
        "@dnd-kit/sortable",
        "@dnd-kit/utilities"
      ],
      "registryDependencies": [
        "@lema-ds/card",
        "@lema-ds/badge",
        "@lema-ds/scroll-area"
      ],
      "files": [
        {
          "path": "components/ds/kanban-board.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-kanban-board.tsx"
        }
      ]
    },
    {
      "name": "ds-keyboard-shortcut",
      "type": "registry:ui",
      "files": [
        {
          "path": "components/ds/keyboard-shortcut.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-keyboard-shortcut.tsx"
        }
      ],
      "dependencies": [
        "class-variance-authority"
      ]
    },
    {
      "name": "ds-lightbox",
      "type": "registry:ui",
      "title": "Lightbox",
      "description": "Visualizador de imagem em tela cheia com navegação anterior/próxima, setas do teclado e tira de miniaturas.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/dialog",
        "@lema-ds/button",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/lightbox.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-lightbox.tsx"
        }
      ]
    },
    {
      "name": "ds-line-chart",
      "type": "registry:ui",
      "title": "Line Chart",
      "description": "A responsive line chart with plain lines, gradient area fills, stacked areas, reference lines, and brush zoom.",
      "dependencies": [
        "recharts",
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/format-utils",
        "@lema-ds/chart-axis-width",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/line-chart.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-line-chart.tsx"
        }
      ]
    },
    {
      "name": "ds-locale-provider",
      "type": "registry:ui",
      "title": "Locale Provider",
      "description": "Context provider that sets the default locale for every ds-* component in the tree (prop > provider > en-US). Exports UILocaleProvider, useUILocale and useOptionalUILocale.",
      "registryDependencies": [
        "@lema-ds/ui-i18n"
      ],
      "files": [
        {
          "path": "components/ds/locale-provider.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-locale-provider.tsx"
        }
      ]
    },
    {
      "name": "ds-location-picker",
      "type": "registry:ui",
      "description": "Address autocomplete picker with async search callback — decoupled from any geocoding API.",
      "files": [
        {
          "path": "components/ds/location-picker.tsx",
          "target": "components/ui/ds-location-picker.tsx",
          "type": "registry:ui"
        }
      ],
      "registryDependencies": [
        "@lema-ds/skeleton",
        "@lema-ds/popover",
        "@lema-ds/command",
        "@lema-ds/badge",
        "@lema-ds/button",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ]
    },
    {
      "name": "ds-login-form",
      "type": "registry:ui",
      "title": "LoginForm",
      "description": "Bloco completo de formulário de login pronto para produção integrando social login, credenciais e passkey.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/ds-social-auth-group",
        "@lema-ds/ds-auth-separator",
        "@lema-ds/ds-passkey-prompt",
        "@lema-ds/input",
        "@lema-ds/button",
        "@lema-ds/checkbox",
        "@lema-ds/label",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/login-form.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-login-form.tsx"
        }
      ]
    },
    {
      "name": "ds-logo-cloud-glow",
      "type": "registry:block",
      "title": "LogoCloudGlow",
      "description": "Mural de logos centralizado dentro de um card com glow que reage ao ponteiro — composto de ds-press-wall e ds-cursor-spotlight.",
      "categories": [
        "logo-cloud"
      ],
      "dependencies": [],
      "registryDependencies": [
        "@lema-ds/ds-press-wall",
        "@lema-ds/ds-cursor-spotlight"
      ],
      "files": [
        {
          "path": "components/ds/logo-cloud-glow.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-logo-cloud-glow.tsx"
        }
      ]
    },
    {
      "name": "ds-logo-cloud-grouped",
      "type": "registry:block",
      "title": "LogoCloudGrouped",
      "description": "Mural de logos com filtro de indústria/categoria — composto de ds-press-wall e ds-pill-group.",
      "categories": [
        "logo-cloud"
      ],
      "dependencies": [],
      "registryDependencies": [
        "@lema-ds/ds-press-wall",
        "@lema-ds/ds-pill-group",
        "@lema-ds/ui-i18n"
      ],
      "files": [
        {
          "path": "components/ds/logo-cloud-grouped.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-logo-cloud-grouped.tsx"
        }
      ]
    },
    {
      "name": "ds-logo-cloud-quotes",
      "type": "registry:block",
      "title": "LogoCloudQuotes",
      "description": "Pares de logo do cliente + depoimento curto em grid de cartões — composto de ds-pull-quote.",
      "categories": [
        "logo-cloud"
      ],
      "dependencies": [],
      "registryDependencies": [
        "@lema-ds/ds-pull-quote"
      ],
      "files": [
        {
          "path": "components/ds/logo-cloud-quotes.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-logo-cloud-quotes.tsx"
        }
      ]
    },
    {
      "name": "ds-logo-cloud-stats",
      "type": "registry:block",
      "title": "LogoCloudStats",
      "description": "Estatística em destaque acima de um mural de logos — composto de ds-press-wall.",
      "categories": [
        "logo-cloud"
      ],
      "dependencies": [],
      "registryDependencies": [
        "@lema-ds/ds-press-wall"
      ],
      "files": [
        {
          "path": "components/ds/logo-cloud-stats.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-logo-cloud-stats.tsx"
        }
      ]
    },
    {
      "name": "ds-magic-link-form",
      "type": "registry:ui",
      "title": "MagicLinkForm",
      "description": "Formulário de autenticação sem senha (magic link) com confirmação e temporizador de reenvio.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/input",
        "@lema-ds/button",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider",
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/magic-link-form.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-magic-link-form.tsx"
        }
      ]
    },
    {
      "name": "ds-magnetic-element",
      "type": "registry:ui",
      "files": [
        {
          "path": "components/ds/magnetic-element.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-magnetic-element.tsx"
        }
      ],
      "dependencies": [
        "class-variance-authority",
        "radix-ui"
      ]
    },
    {
      "name": "ds-manifesto-statement",
      "type": "registry:ui",
      "title": "Manifesto Statement",
      "description": "Declaração de manifesto institucional com tipografia editorial grande e citações autorais.",
      "categories": [
        "about",
        "marketing"
      ],
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "components/ds/manifesto-statement.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-manifesto-statement.tsx"
        }
      ]
    },
    {
      "name": "ds-markdown-editor",
      "type": "registry:ui",
      "description": "Markdown editor with edit/preview/split modes, toolbar, and fullscreen.",
      "files": [
        {
          "path": "components/ds/markdown-editor.tsx",
          "target": "components/ui/ds-markdown-editor.tsx",
          "type": "registry:ui"
        }
      ],
      "registryDependencies": [
        "@lema-ds/skeleton",
        "@lema-ds/button",
        "@lema-ds/separator",
        "@lema-ds/toggle-group"
      ],
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ]
    },
    {
      "name": "ds-marquee",
      "type": "registry:ui",
      "title": "Marquee",
      "description": "Carrossel de rolagem contínua para logos de clientes, depoimentos ou cartões de dados.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "components/ds/marquee.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-marquee.tsx"
        }
      ]
    },
    {
      "name": "ds-marquee-duo",
      "type": "registry:ui",
      "title": "Marquee Duo",
      "description": "Marquee duplo (2 rows) com direção oposta e pause on hover — inspirado em Launch UI Social Proof Marquee 2 Rows.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/card",
        "@lema-ds/avatar",
        "@lema-ds/skeleton"
      ],
      "files": [
        {
          "path": "components/ds/marquee-duo.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-marquee-duo.tsx"
        }
      ]
    },
    {
      "name": "ds-meteor-shower",
      "type": "registry:ui",
      "title": "Meteor Shower",
      "description": "Chuva de meteoros 100% CSS (sem canvas, sem RAF) para fundo de hero — posições determinísticas, custo de CPU essencialmente nulo.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/meteor-shower.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-meteor-shower.tsx"
        }
      ]
    },
    {
      "name": "ds-metric-comparison",
      "type": "registry:ui",
      "title": "Metric Comparison",
      "description": "Comparação direta entre dois pontos de dados com variação absoluta, relativa e barra proporcional.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/badge",
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider",
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/metric-comparison.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-metric-comparison.tsx"
        }
      ]
    },
    {
      "name": "ds-milestone-stepper",
      "type": "registry:ui",
      "title": "Milestone Stepper",
      "description": "Linha do tempo de marcos cronológicos e trajetória histórica com anos tabulares.",
      "categories": [
        "about",
        "marketing"
      ],
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "components/ds/milestone-stepper.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-milestone-stepper.tsx"
        }
      ]
    },
    {
      "name": "ds-mini-card",
      "type": "registry:ui",
      "title": "Mini Card",
      "description": "Compact stat label+value unit for horizontal summary strips. Compose with MiniCardGroup (pill, outlined, elevated, ghost variants) and MiniCardStrip (auto-dividers). Supports icons, sub-values, intent colors, and delta change indicators. Size propagates via context.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/skeleton",
        "@lema-ds/card-stat-shared",
        "@lema-ds/separator",
        "@lema-ds/ds-locale-provider",
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/mini-card.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-mini-card.tsx"
        }
      ]
    },
    {
      "name": "ds-mission-vision-cards",
      "type": "registry:ui",
      "title": "Mission Vision Cards",
      "description": "Par contrastante de cartões para declaração articulada de Missão e Visão institucionais.",
      "categories": [
        "about",
        "marketing"
      ],
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/ui-i18n"
      ],
      "files": [
        {
          "path": "components/ds/mission-vision-cards.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-mission-vision-cards.tsx"
        }
      ]
    },
    {
      "name": "ds-mockup",
      "type": "registry:ui",
      "title": "Mockup",
      "description": "Mockup com frames small/large/mobile e sombra — inspirado em Launch UI Mockup.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/skeleton"
      ],
      "files": [
        {
          "path": "components/ds/mockup.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-mockup.tsx"
        }
      ]
    },
    {
      "name": "ds-modal",
      "type": "registry:ui",
      "title": "Modal",
      "description": "A flexible modal dialog built on Dialog with size variants (sm/md/lg/xl/2xl/full), intent system (default/destructive/success/warning/info), defaultOpen for uncontrolled usage, scrollable body, auto async confirm tracking, loading skeleton, escape/pointer-down-outside/interact-outside event handlers, and i18n support.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/dialog",
        "@lema-ds/button",
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/separator",
        "@lema-ds/spinner",
        "@lema-ds/ds-locale-provider",
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/modal.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-modal.tsx"
        }
      ]
    },
    {
      "name": "ds-morphing-dialog",
      "type": "registry:ui",
      "description": "Morphing Dialog using framer-motion.",
      "files": [
        {
          "path": "components/ds/morphing-dialog.tsx",
          "target": "components/ui/ds-morphing-dialog.tsx",
          "type": "registry:ui"
        }
      ],
      "registryDependencies": [
        "@lema-ds/button"
      ],
      "dependencies": [
        "lucide-react"
      ]
    },
    {
      "name": "ds-multi-select",
      "type": "registry:ui",
      "title": "MultiSelect",
      "description": "Combobox que permite selecionar múltiplos itens de uma lista.",
      "dependencies": [
        "lucide-react",
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/popover",
        "@lema-ds/command",
        "@lema-ds/badge",
        "@lema-ds/button",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/multi-select.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-multi-select.tsx"
        }
      ]
    },
    {
      "name": "ds-nav-dots",
      "type": "registry:ui",
      "title": "Nav Dots",
      "description": "Dot-based section navigation with automatic scroll tracking and tooltips.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/tooltip",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/nav-dots.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-nav-dots.tsx"
        }
      ]
    },
    {
      "name": "ds-nav-user",
      "type": "registry:ui",
      "title": "Nav User",
      "description": "A user profile dropdown menu for navigation headers, built on DropdownMenu and Avatar.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/button",
        "@lema-ds/dropdown-menu",
        "@lema-ds/avatar",
        "@lema-ds/skeleton"
      ],
      "files": [
        {
          "path": "components/ds/nav-user.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-nav-user.tsx"
        }
      ]
    },
    {
      "name": "ds-navbar-floating",
      "type": "registry:block",
      "title": "Navbar Floating",
      "description": "Navbar flutuante com blur, borda e menu mobile — inspirado em Launch UI Navbar Floating.",
      "categories": [
        "header",
        "navbar"
      ],
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/button",
        "@lema-ds/skeleton"
      ],
      "files": [
        {
          "path": "components/ds/navbar-floating.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-navbar-floating.tsx"
        }
      ]
    },
    {
      "name": "ds-notification-center",
      "type": "registry:ui",
      "title": "Notification Center",
      "description": "A notification center component.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/popover",
        "@lema-ds/button",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/notification-center.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-notification-center.tsx"
        }
      ]
    },
    {
      "name": "ds-number-field",
      "type": "registry:ui",
      "title": "Number Field",
      "description": "Campo numérico com spinbuttons — ReUI Number Field.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/button",
        "@lema-ds/input"
      ],
      "files": [
        {
          "path": "components/ds/number-field.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-number-field.tsx"
        }
      ]
    },
    {
      "name": "ds-office-locations",
      "type": "registry:ui",
      "title": "OfficeLocations",
      "description": "Grid interativo de unidades e endereços com horários e status de funcionamento.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider",
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/office-locations.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-office-locations.tsx"
        }
      ]
    },
    {
      "name": "ds-onboarding",
      "type": "registry:block",
      "title": "Onboarding",
      "description": "Passos de onboarding com progresso — ReUI Onboarding 9.",
      "categories": [
        "onboarding"
      ],
      "dependencies": [],
      "registryDependencies": [
        "@lema-ds/card",
        "@lema-ds/button",
        "@lema-ds/progress",
        "@lema-ds/skeleton"
      ],
      "files": [
        {
          "path": "components/ds/onboarding.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-onboarding.tsx"
        }
      ]
    },
    {
      "name": "ds-otp-input",
      "type": "registry:ui",
      "title": "OTP Input",
      "description": "An OTP input for verification codes.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/input-otp",
        "@lema-ds/skeleton"
      ],
      "files": [
        {
          "path": "components/ds/otp-input.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-otp-input.tsx"
        }
      ]
    },
    {
      "name": "ds-page-header",
      "type": "registry:ui",
      "title": "Page Header",
      "description": "Cabeçalho de página padronizado com breadcrumbs, título, tags, ações e navegação de retorno.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/button",
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/page-header.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-page-header.tsx"
        }
      ]
    },
    {
      "name": "ds-page-loader",
      "type": "registry:ui",
      "title": "Page Loader",
      "description": "Full-page loading overlay with two variants: a shimmer bar fixed at the top of the viewport (bar) and a centered XL spinner (spinner). Controlled by a single loading prop with fade-in/out transition, semantic color options, and i18n support.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/spinner",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider",
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/page-loader.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-page-loader.tsx"
        }
      ]
    },
    {
      "name": "ds-pagination",
      "type": "registry:ui",
      "title": "Pagination UI",
      "description": "A pagination component with locale-aware aria labels, prev/next links, and ellipsis support.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/button",
        "@lema-ds/ui-i18n",
        "@lema-ds/pagination"
      ],
      "files": [
        {
          "path": "components/ds/pagination.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-pagination.tsx"
        }
      ]
    },
    {
      "name": "ds-particle-field",
      "type": "registry:ui",
      "title": "Particle Field",
      "description": "Fundo de constelação (partículas conectadas por linhas) para hero sections, em canvas 2D com DPR limitado e pausa automática fora da viewport.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/particle-field.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-particle-field.tsx"
        }
      ]
    },
    {
      "name": "ds-star-shower",
      "type": "registry:ui",
      "title": "Star Shower",
      "description": "Céu estrelado vivo em canvas 2D: estrelas pulsantes com cintilação, 18% em cruz com halo e estrelas cadentes com cauda degradê. Pausa fora da viewport e frame estático sob prefers-reduced-motion.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/star-shower.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-star-shower.tsx"
        }
      ]
    },
    {
      "name": "ds-passkey-prompt",
      "type": "registry:ui",
      "title": "PasskeyPrompt",
      "description": "Botão e prompt para autenticação biométrica e chaves de segurança WebAuthn / Passkeys.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/button",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/passkey-prompt.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-passkey-prompt.tsx"
        }
      ]
    },
    {
      "name": "ds-password-strength-meter",
      "type": "registry:ui",
      "title": "PasswordStrengthMeter",
      "description": "Indicador dinâmico de segurança de senha com 4 níveis semânticos e checklist de requisitos em tempo real.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider",
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/password-strength-meter.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-password-strength-meter.tsx"
        }
      ]
    },
    {
      "name": "ds-phone-input",
      "type": "registry:ui",
      "title": "Phone Input",
      "description": "Phone input field with country code selection and flags.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/button",
        "@lema-ds/command",
        "@lema-ds/popover",
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/phone-input.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-phone-input.tsx"
        }
      ]
    },
    {
      "name": "ds-pie-chart",
      "type": "registry:ui",
      "title": "Pie Chart",
      "description": "A responsive pie and donut chart with interactive center label, legend, and outer slice labels.",
      "dependencies": [
        "recharts",
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/format-utils",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/pie-chart.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-pie-chart.tsx"
        }
      ]
    },
    {
      "name": "ds-pill-group",
      "type": "registry:ui",
      "title": "Pill Group",
      "description": "A horizontal filter bar with pill-shaped toggle buttons, item counts, per-item intent colors, icon support, and automatic scroll overflow with fade indicators.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/button",
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider",
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/pill-group.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-pill-group.tsx"
        }
      ]
    },
    {
      "name": "ds-press-wall",
      "type": "registry:ui",
      "title": "PressWall",
      "description": "Mural de menções na imprensa, veículos de mídia e notícias institucionais.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/badge",
        "@lema-ds/skeleton"
      ],
      "files": [
        {
          "path": "components/ds/press-wall.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-press-wall.tsx"
        }
      ]
    },
    {
      "name": "ds-pricing-calculator",
      "type": "registry:ui",
      "registryDependencies": [
        "@lema-ds/slider",
        "@lema-ds/switch",
        "@lema-ds/label",
        "@lema-ds/button",
        "@lema-ds/badge",
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/pricing-calculator.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-pricing-calculator.tsx"
        }
      ]
    },
    {
      "name": "ds-pricing-card",
      "type": "registry:ui",
      "title": "Pricing Card",
      "description": "Card de plano com preço, badge popular, features e CTA — átomo base pricing.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/badge",
        "@lema-ds/button",
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider",
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/pricing-card.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-pricing-card.tsx"
        }
      ]
    },
    {
      "name": "ds-pricing-comparison",
      "type": "registry:block",
      "title": "Pricing Comparison",
      "description": "Tabela comparativa feature × plano — blockus #06.",
      "categories": [
        "pricing"
      ],
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/table",
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/pricing-comparison.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-pricing-comparison.tsx"
        }
      ]
    },
    {
      "name": "ds-pricing-grid",
      "type": "registry:block",
      "title": "Pricing Grid",
      "description": "Grid 3 cards + toggle mensal/anual — blockus #02 #04 #12.",
      "categories": [
        "pricing"
      ],
      "dependencies": [],
      "registryDependencies": [
        "@lema-ds/ds-pricing-card",
        "@lema-ds/toggle-group",
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider",
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/pricing-grid.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-pricing-grid.tsx"
        }
      ]
    },
    {
      "name": "ds-product-card",
      "type": "registry:ui",
      "title": "Product Card",
      "description": "Card de produto eCommerce — ReUI Product Card.",
      "dependencies": [],
      "registryDependencies": [
        "@lema-ds/card",
        "@lema-ds/badge",
        "@lema-ds/button",
        "@lema-ds/skeleton"
      ],
      "files": [
        {
          "path": "components/ds/product-card.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-product-card.tsx"
        }
      ]
    },
    {
      "name": "ds-profile",
      "type": "registry:block",
      "title": "Profile",
      "description": "Card de perfil — ReUI Profile 9.",
      "categories": [
        "profile"
      ],
      "dependencies": [],
      "registryDependencies": [
        "@lema-ds/card",
        "@lema-ds/avatar",
        "@lema-ds/button",
        "@lema-ds/badge",
        "@lema-ds/skeleton"
      ],
      "files": [
        {
          "path": "components/ds/profile.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-profile.tsx"
        }
      ]
    },
    {
      "name": "ds-progress-bar",
      "type": "registry:ui",
      "title": "Progress Bar",
      "description": "Horizontal progress indicator with animated fill, configurable label positions, size presets, custom fill/track color overrides via CSS tokens, getValueLabel for custom label formatting, max prop, and semantic color intents. Built on the Radix UI Progress primitive.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/skeleton",
        "@lema-ds/tooltip",
        "@lema-ds/progress",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider",
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/progress-bar.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-progress-bar.tsx"
        }
      ]
    },
    {
      "name": "ds-progress-circular",
      "type": "registry:ui",
      "title": "Progress Circular",
      "description": "Displays progress as a circular gauge with an animated stroke and centered value.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/ui-i18n",
        "@lema-ds/format-utils",
        "@lema-ds/skeleton",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/progress-circular.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-progress-circular.tsx"
        }
      ]
    },
    {
      "name": "ds-pull-quote",
      "type": "registry:ui",
      "title": "PullQuote",
      "description": "Citação editorial destacada com avatar do autor e suporte a variantes de estilo.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/avatar",
        "@lema-ds/skeleton",
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/pull-quote.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-pull-quote.tsx"
        }
      ]
    },
    {
      "name": "ds-qr-code",
      "type": "registry:ui",
      "title": "Qr Code",
      "description": "QR code placeholder — adaptado Kibo.",
      "dependencies": [],
      "registryDependencies": [],
      "files": [
        {
          "path": "components/ds/qr-code.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-qr-code.tsx"
        }
      ]
    },
    {
      "name": "ds-radar-chart",
      "type": "registry:ui",
      "title": "Radar Chart",
      "description": "A responsive radar (spider) chart for comparing multiple entities across the same set of dimensions.",
      "dependencies": [
        "recharts",
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/format-utils",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/radar-chart.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-radar-chart.tsx"
        }
      ]
    },
    {
      "name": "ds-radial-chart",
      "type": "registry:ui",
      "title": "Radial Chart",
      "description": "A responsive radial bar chart with concentric rings, single-metric gauge mode, and legend support.",
      "dependencies": [
        "recharts",
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/format-utils",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/radial-chart.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-radial-chart.tsx"
        }
      ]
    },
    {
      "name": "ds-radial-menu",
      "type": "registry:ui",
      "description": "Radial Menu using framer-motion.",
      "files": [
        {
          "path": "components/ds/radial-menu.tsx",
          "target": "components/ui/ds-radial-menu.tsx",
          "type": "registry:ui"
        }
      ],
      "registryDependencies": [
        "@lema-ds/button"
      ],
      "dependencies": [
        "class-variance-authority"
      ]
    },
    {
      "name": "ds-rating",
      "type": "registry:ui",
      "title": "Rating",
      "description": "Componente interativo para avaliação baseada em ícones (estrelas).",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "files": [
        {
          "path": "components/ds/rating.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-rating.tsx"
        }
      ],
      "registryDependencies": [
        "@lema-ds/tokens"
      ]
    },
    {
      "name": "ds-reaction-bar",
      "type": "registry:ui",
      "description": "Interactive reaction bar component.",
      "files": [
        {
          "path": "components/ds/reaction-bar.tsx",
          "target": "components/ui/ds-reaction-bar.tsx",
          "type": "registry:ui"
        }
      ],
      "registryDependencies": [
        "@lema-ds/button",
        "@lema-ds/tokens"
      ],
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ]
    },
    {
      "name": "ds-reading-progress",
      "type": "registry:ui",
      "files": [
        {
          "path": "components/ds/reading-progress.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-reading-progress.tsx"
        }
      ]
    },
    {
      "name": "ds-receipt-card",
      "type": "registry:ui",
      "description": "Receipt Card component.",
      "files": [
        {
          "path": "components/ds/receipt-card.tsx",
          "target": "components/ui/ds-receipt-card.tsx",
          "type": "registry:ui"
        }
      ],
      "registryDependencies": [],
      "dependencies": [
        "class-variance-authority"
      ]
    },
    {
      "name": "ds-register",
      "type": "registry:ui",
      "title": "Register",
      "description": "Formulário de cadastro com social — átomo base register.",
      "dependencies": [],
      "registryDependencies": [
        "@lema-ds/input",
        "@lema-ds/button",
        "@lema-ds/checkbox",
        "@lema-ds/label",
        "@lema-ds/ds-input-password",
        "@lema-ds/ds-social-auth-group",
        "@lema-ds/ds-auth-separator",
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/field",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/register.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-register.tsx"
        }
      ]
    },
    {
      "name": "ds-register-simple",
      "type": "registry:block",
      "title": "Register Simple",
      "description": "Card cadastro centrado — blockus register #01-08.",
      "categories": [
        "register"
      ],
      "dependencies": [],
      "registryDependencies": [
        "@lema-ds/ds-register",
        "@lema-ds/badge"
      ],
      "files": [
        {
          "path": "components/ds/register-simple.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-register-simple.tsx"
        }
      ]
    },
    {
      "name": "ds-register-split",
      "type": "registry:block",
      "title": "Register Split",
      "description": "Split screen imagem + formulário — blockus #09-22.",
      "categories": [
        "register"
      ],
      "dependencies": [],
      "registryDependencies": [
        "@lema-ds/ds-register",
        "@lema-ds/avatar"
      ],
      "files": [
        {
          "path": "components/ds/register-split.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-register-split.tsx"
        }
      ]
    },
    {
      "name": "ds-rich-text-editor",
      "type": "registry:ui",
      "title": "Rich Text Editor",
      "description": "A presentation component that provides the structure for a rich text editor.",
      "registryDependencies": [
        "@lema-ds/toggle"
      ],
      "files": [
        {
          "path": "components/ds/rich-text-editor.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-rich-text-editor.tsx"
        }
      ]
    },
    {
      "name": "ds-risk-level-bar",
      "type": "registry:ui",
      "title": "Risk Level Bar",
      "description": "A segmented progress bar with a movable marker. Uses semantic tokens (--risk-1 to --risk-4) for flexible theming.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/format-utils",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/risk-level-bar.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-risk-level-bar.tsx"
        }
      ]
    },
    {
      "name": "ds-sankey-chart",
      "type": "registry:ui",
      "description": "Sankey diagram using pure SVG — no external dependencies.",
      "files": [
        {
          "path": "components/ds/sankey-chart.tsx",
          "target": "components/ui/ds-sankey-chart.tsx",
          "type": "registry:ui"
        }
      ],
      "registryDependencies": [
        "@lema-ds/skeleton",
        "@lema-ds/card",
        "@lema-ds/ui-i18n",
        "@lema-ds/format-utils",
        "@lema-ds/ds-locale-provider"
      ],
      "dependencies": [
        "class-variance-authority"
      ]
    },
    {
      "name": "ds-scatter-chart",
      "type": "registry:ui",
      "title": "Scatter Chart",
      "description": "A responsive scatter and bubble chart with trend lines, multi-series, and brush zoom.",
      "dependencies": [
        "recharts",
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/format-utils",
        "@lema-ds/chart-axis-width",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/scatter-chart.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-scatter-chart.tsx"
        }
      ]
    },
    {
      "name": "ds-schedule",
      "type": "registry:block",
      "title": "Schedule",
      "description": "Grade semanal com slots — ReUI Schedule 10.",
      "categories": [
        "schedule"
      ],
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/card",
        "@lema-ds/skeleton"
      ],
      "files": [
        {
          "path": "components/ds/schedule.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-schedule.tsx"
        }
      ]
    },
    {
      "name": "ds-score-row",
      "type": "registry:ui",
      "title": "Score Row",
      "description": "A scored list item pairing icon + label with a fractional score and optional progress bar. Includes ScoreRowList container for grouped items.",
      "dependencies": [
        "lucide-react",
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/progress",
        "@lema-ds/skeleton",
        "@lema-ds/tooltip",
        "@lema-ds/ui-i18n",
        "@lema-ds/format-utils",
        "@lema-ds/ds-locale-provider",
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/score-row.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-score-row.tsx"
        }
      ]
    },
    {
      "name": "ds-scratch-to-reveal",
      "type": "registry:ui",
      "files": [
        {
          "path": "components/ds/scratch-to-reveal.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-scratch-to-reveal.tsx"
        }
      ]
    },
    {
      "name": "ds-screenshot",
      "type": "registry:ui",
      "title": "Screenshot",
      "description": "Screenshot theme-aware (light/dark) com otimização e skeleton — inspirado em Launch UI Screenshot.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/skeleton"
      ],
      "files": [
        {
          "path": "components/ds/screenshot.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-screenshot.tsx"
        }
      ]
    },
    {
      "name": "ds-scroll-reveal",
      "type": "registry:ui",
      "title": "ScrollReveal",
      "description": "Wrapper que revela filhos com fade/slide ao entrar no viewport, via IntersectionObserver — visível de imediato em prefers-reduced-motion.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "components/ds/scroll-reveal.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-scroll-reveal.tsx"
        }
      ]
    },
    {
      "name": "ds-scroll-to-top",
      "type": "registry:ui",
      "title": "Scroll to Top",
      "description": "Floating button with scroll-progress ring that reveals past a configurable scroll threshold. Tooltip, i18n support, and multiple positions.",
      "dependencies": [
        "lucide-react",
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/tooltip",
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/scroll-to-top.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-scroll-to-top.tsx"
        }
      ]
    },
    {
      "name": "ds-search-bar",
      "type": "registry:ui",
      "title": "Search Bar",
      "description": "A full-width composable search bar with visual variants, keyboard shortcut hint, voice input, debounce, custom icon, and skeleton loading.",
      "dependencies": [
        "lucide-react",
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/input",
        "@lema-ds/kbd",
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/button",
        "@lema-ds/spinner",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/search-bar.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-search-bar.tsx"
        }
      ]
    },
    {
      "name": "ds-search-combo",
      "type": "registry:ui",
      "title": "Search Combo",
      "description": "A search field with autocomplete dropdown, keyboard navigation, grouped results, voice recognition, and text highlighting.",
      "dependencies": [
        "radix-ui",
        "lucide-react",
        "@tanstack/react-virtual",
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/popover",
        "@lema-ds/ds-spinner",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/search-combo.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-search-combo.tsx"
        }
      ]
    },
    {
      "name": "ds-section-cards",
      "type": "registry:ui",
      "title": "Section Cards",
      "description": "Grid de cards estatísticos com gradiente, badge trend e footer — extraído de shadcn dashboard-01 SectionCards.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/card",
        "@lema-ds/badge",
        "@lema-ds/skeleton"
      ],
      "files": [
        {
          "path": "components/ds/section-cards.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-section-cards.tsx"
        }
      ]
    },
    {
      "name": "ds-select",
      "type": "registry:ui",
      "title": "Select UI",
      "description": "Extended select with search filter, async option loading, grouped options, creatable new option, configurable popover positioning (side/align/offset), i18n placeholder/no-results, and skeleton loading.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/popover",
        "@lema-ds/command",
        "@lema-ds/button",
        "@lema-ds/skeleton",
        "@lema-ds/label",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/select.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-select.tsx"
        }
      ]
    },
    {
      "name": "ds-select-list",
      "type": "registry:ui",
      "title": "Select List",
      "description": "A searchable list of items with selection state, support for groups, icons and virtual scrolling behavior.",
      "dependencies": [
        "lucide-react",
        "@tanstack/react-virtual",
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/button",
        "@lema-ds/input",
        "@lema-ds/badge",
        "@lema-ds/skeleton",
        "@lema-ds/ds-empty",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/select-list.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-select-list.tsx"
        }
      ]
    },
    {
      "name": "ds-settings",
      "type": "registry:block",
      "title": "Settings",
      "description": "Tabs de configurações — ReUI Settings 16.",
      "categories": [
        "settings"
      ],
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/tabs",
        "@lema-ds/card",
        "@lema-ds/skeleton"
      ],
      "files": [
        {
          "path": "components/ds/settings.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-settings.tsx"
        }
      ]
    },
    {
      "name": "ds-settings-view",
      "type": "registry:ui",
      "title": "Settings View",
      "description": "A complex view for settings area separated by internal navigation.",
      "dependencies": [
        "class-variance-authority",
        "cn"
      ],
      "registryDependencies": [
        "@lema-ds/tabs",
        "@lema-ds/button",
        "@lema-ds/separator"
      ],
      "files": [
        {
          "path": "components/ds/settings-view.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-settings-view.tsx"
        }
      ]
    },
    {
      "name": "ds-shortcut-sheet",
      "type": "registry:ui",
      "title": "Shortcut Sheet",
      "description": "Painel modal de atalhos de teclado com busca, categorias e escuta global da tecla '?'.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/dialog",
        "@lema-ds/kbd",
        "@lema-ds/input",
        "@lema-ds/scroll-area",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/shortcut-sheet.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-shortcut-sheet.tsx"
        }
      ]
    },
    {
      "name": "ds-sidebar-search",
      "type": "registry:ui",
      "title": "Sidebar Search",
      "description": "Campo de busca para sidebar com label sr-only e ícone — inspirado em shadcn sidebar SearchForm.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/sidebar",
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/label",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/sidebar-search.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-sidebar-search.tsx"
        }
      ]
    },
    {
      "name": "ds-signature-pad",
      "type": "registry:ui",
      "description": "Signature input using HTML Canvas with mouse/touch support and Base64 PNG export.",
      "files": [
        {
          "path": "components/ds/signature-pad.tsx",
          "target": "components/ui/ds-signature-pad.tsx",
          "type": "registry:ui"
        }
      ],
      "registryDependencies": [
        "@lema-ds/skeleton",
        "@lema-ds/button",
        "@lema-ds/label"
      ],
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ]
    },
    {
      "name": "ds-signup-form",
      "type": "registry:ui",
      "title": "SignUpForm",
      "description": "Bloco completo de cadastro de novos usuários com medidor de força de senha em tempo real.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/ds-social-auth-group",
        "@lema-ds/ds-auth-separator",
        "@lema-ds/ds-password-strength-meter",
        "@lema-ds/input",
        "@lema-ds/button",
        "@lema-ds/checkbox",
        "@lema-ds/label",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/signup-form.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-signup-form.tsx"
        }
      ]
    },
    {
      "name": "ds-skeleton-layout",
      "type": "registry:ui",
      "title": "Skeleton Layout",
      "description": "Esqueletos pré-compostos para dashboard, tabela, perfil, formulário e lista.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/skeleton",
        "@lema-ds/card",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/skeleton-layout.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-skeleton-layout.tsx"
        }
      ]
    },
    {
      "name": "ds-slider",
      "type": "registry:ui",
      "title": "Slider UI",
      "description": "Extended slider with value tooltip on hover, step marks/labels, range (dual handle) support, format-utils integration, i18n aria-labels, and skeleton loading.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/slider",
        "@lema-ds/tooltip",
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/format-utils"
      ],
      "files": [
        {
          "path": "components/ds/slider.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-slider.tsx"
        }
      ]
    },
    {
      "name": "ds-snippet",
      "type": "registry:ui",
      "title": "Snippet",
      "description": "Tabbed code com copy — adaptado Kibo.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/button",
        "@lema-ds/tabs",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider",
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/snippet.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-snippet.tsx"
        }
      ]
    },
    {
      "name": "ds-social-auth-group",
      "type": "registry:ui",
      "title": "SocialAuthGroup",
      "description": "Grupo de botões para login social e institucional (Google, GitHub, Microsoft, Apple, Gov.br, CAFe).",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/button",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/social-auth-group.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-social-auth-group.tsx"
        }
      ]
    },
    {
      "name": "ds-social-links",
      "type": "registry:ui",
      "title": "Social Links",
      "description": "Linha acessível de canais sociais e comunitários com variantes visuais e detecção de ícones.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "files": [
        {
          "path": "components/ds/social-links.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-social-links.tsx"
        }
      ]
    },
    {
      "name": "ds-sortable",
      "type": "registry:ui",
      "title": "Sortable",
      "description": "Lista arrastável vertical/grid — ReUI Sortable.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "components/ds/sortable.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-sortable.tsx"
        }
      ]
    },
    {
      "name": "ds-sparkline",
      "type": "registry:ui",
      "title": "Sparkline",
      "description": "Micro-gráfico SVG ultra-leve para tabelas e cards com modos line, area e bar.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider",
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/sparkline.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-sparkline.tsx"
        }
      ]
    },
    {
      "name": "ds-spinner",
      "type": "registry:ui",
      "title": "Spinner UI",
      "description": "An animated loader with locale-aware aria-labels, built on lucide-react Loader2Icon.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/spinner",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider",
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/spinner.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-spinner.tsx"
        }
      ]
    },
    {
      "name": "ds-spotlight-card",
      "type": "registry:ui",
      "title": "Spotlight Card",
      "description": "Card com spotlight radial seguindo o mouse — inspirado em Aceternity Card Spotlight.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/card",
        "@lema-ds/skeleton"
      ],
      "files": [
        {
          "path": "components/ds/spotlight-card.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-spotlight-card.tsx"
        }
      ]
    },
    {
      "name": "ds-stats",
      "type": "registry:ui",
      "title": "Stats",
      "description": "Faixa de métricas com trend — átomo base stats.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/skeleton",
        "@lema-ds/badge",
        "@lema-ds/ui-i18n",
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/stats.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-stats.tsx"
        }
      ]
    },
    {
      "name": "ds-stats-grid",
      "type": "registry:block",
      "title": "Stats Grid",
      "description": "Grid de métricas 2-4 cols — blockus stats.",
      "categories": [
        "stats"
      ],
      "dependencies": [],
      "registryDependencies": [
        "@lema-ds/ds-stats",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/stats-grid.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-stats-grid.tsx"
        }
      ]
    },
    {
      "name": "ds-status-page",
      "type": "registry:ui",
      "title": "Status Page",
      "description": "Painel de saúde operacional com histórico de 90 dias e cálculo de uptime.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/badge",
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider",
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/status-page.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-status-page.tsx"
        }
      ]
    },
    {
      "name": "ds-step-progress",
      "type": "registry:ui",
      "title": "Step Progress",
      "description": "A visual guide through a sequential multi-step process with horizontal and vertical orientations.",
      "dependencies": [
        "lucide-react",
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/step-progress.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-step-progress.tsx"
        }
      ]
    },
    {
      "name": "ds-stepper",
      "type": "registry:ui",
      "title": "Stepper",
      "description": "Wizard com validação per-step — ReUI Stepper.",
      "dependencies": [],
      "registryDependencies": [
        "@lema-ds/ds-step-progress",
        "@lema-ds/card",
        "@lema-ds/button"
      ],
      "files": [
        {
          "path": "components/ds/stepper.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-stepper.tsx"
        }
      ]
    },
    {
      "name": "ds-sticky-feature-list",
      "type": "registry:ui",
      "title": "StickyFeatureList",
      "description": "Lista de recursos com barra lateral fixa e navegação contextual por seção.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/sticky-feature-list.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-sticky-feature-list.tsx"
        }
      ]
    },
    {
      "name": "ds-switch",
      "type": "registry:ui",
      "title": "Switch UI",
      "description": "Extended switch with label positioning, semantic color variants (success/destructive/warning), skeleton loading, and error state.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/switch",
        "@lema-ds/label",
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider",
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/switch.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-switch.tsx"
        }
      ]
    },
    {
      "name": "ds-system-status-badge",
      "type": "registry:ui",
      "title": "System Status Badge",
      "description": "Indicador de disponibilidade operacional e saúde dos serviços em tempo real com dot animado.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/ui-i18n",
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/system-status-badge.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-system-status-badge.tsx"
        }
      ]
    },
    {
      "name": "ds-table-of-contents",
      "type": "registry:ui",
      "files": [
        {
          "path": "components/ds/table-of-contents.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-table-of-contents.tsx"
        }
      ]
    },
    {
      "name": "ds-tabs",
      "type": "registry:ui",
      "title": "Tabs UI",
      "description": "Extended tabs with 4 variants (default/line/pill/segmented), 3 sizes, icons, count badges, loading skeletons, vertical orientation, activation mode (automatic/manual), and responsive accordion fallback on mobile. Wraps the shadcn Tabs primitive.",
      "dependencies": [
        "class-variance-authority",
        "radix-ui",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/tabs",
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/tabs.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-tabs.tsx"
        }
      ]
    },
    {
      "name": "ds-tag-input",
      "type": "registry:ui",
      "title": "Tag Input",
      "description": "Input field that converts typed text into removable tags or pills.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/badge",
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/tag-input.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-tag-input.tsx"
        }
      ]
    },
    {
      "name": "ds-team-card",
      "type": "registry:ui",
      "title": "Team Card",
      "description": "Card de membro com avatar, cargo e bio — átomo base Team.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/avatar",
        "@lema-ds/skeleton",
        "@lema-ds/ds-social-links"
      ],
      "files": [
        {
          "path": "components/ds/team-card.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-team-card.tsx"
        }
      ]
    },
    {
      "name": "ds-team-grid",
      "type": "registry:block",
      "title": "Team Grid",
      "description": "Grid de equipe com heading — blockus Team.",
      "categories": [
        "team"
      ],
      "dependencies": [],
      "registryDependencies": [
        "@lema-ds/ds-team-card",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/team-grid.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-team-grid.tsx"
        }
      ]
    },
    {
      "name": "ds-team-roster",
      "type": "registry:ui",
      "title": "TeamRoster",
      "description": "Grid de apresentação de equipe, pesquisadores e colaboradores institucionais.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/avatar",
        "@lema-ds/card",
        "@lema-ds/skeleton",
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/team-roster.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-team-roster.tsx"
        }
      ]
    },
    {
      "name": "ds-team-switcher",
      "type": "registry:ui",
      "title": "Team Switcher",
      "description": "Seletor de equipe para sidebar com DropdownMenu, logo, plano e atalho — inspirado em shadcn sidebar-07 TeamSwitcher.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/sidebar",
        "@lema-ds/dropdown-menu",
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/team-switcher.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-team-switcher.tsx"
        }
      ]
    },
    {
      "name": "ds-testimonial-card",
      "type": "registry:ui",
      "title": "Testimonial Card",
      "description": "Card depoimento com quote e rating — átomo base Testimonials.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/avatar",
        "@lema-ds/skeleton",
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/testimonial-card.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-testimonial-card.tsx"
        }
      ]
    },
    {
      "name": "ds-testimonials",
      "type": "registry:block",
      "title": "Testimonials",
      "description": "Grid de depoimentos 2-3 cols — blockus Testimonials.",
      "categories": [
        "testimonials"
      ],
      "dependencies": [],
      "registryDependencies": [
        "@lema-ds/ds-testimonial-card",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/testimonials.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-testimonials.tsx"
        }
      ]
    },
    {
      "name": "ds-text-rotator",
      "type": "registry:ui",
      "title": "TextRotator",
      "description": "Alternador animado de palavras-chave para headlines de destaque com suporte a acessibilidade e prefers-reduced-motion.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "components/ds/text-rotator.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-text-rotator.tsx"
        }
      ]
    },
    {
      "name": "ds-text-scramble",
      "type": "registry:ui",
      "files": [
        {
          "path": "components/ds/text-scramble.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-text-scramble.tsx"
        }
      ],
      "dependencies": [
        "radix-ui"
      ]
    },
    {
      "name": "ds-ticker",
      "type": "registry:ui",
      "title": "Ticker",
      "description": "Faixa financeira scroll — adaptado Kibo.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/ticker.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-ticker.tsx"
        }
      ]
    },
    {
      "name": "ds-tilt-card",
      "type": "registry:ui",
      "title": "Tilt Card",
      "description": "Card 3D com tilt no mousemove, glare radial e fallback prefers-reduced-motion — inspirado em Aceternity 3D Card + Wobble Card.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/card",
        "@lema-ds/skeleton"
      ],
      "files": [
        {
          "path": "components/ds/tilt-card.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-tilt-card.tsx"
        }
      ]
    },
    {
      "name": "ds-time-picker",
      "type": "registry:ui",
      "title": "Time Picker",
      "description": "A time picker input.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/input",
        "@lema-ds/skeleton"
      ],
      "files": [
        {
          "path": "components/ds/time-picker.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-time-picker.tsx"
        }
      ]
    },
    {
      "name": "ds-timeline",
      "type": "registry:ui",
      "title": "Timeline",
      "description": "Exibe uma lista de eventos conectados por uma linha vertical.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/timeline.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-timeline.tsx"
        }
      ]
    },
    {
      "name": "ds-toggle-theme",
      "type": "registry:ui",
      "title": "Toggle Theme",
      "description": "A dropdown button to switch between light, dark, and system themes. Re-exports ThemeProvider for app-level setup.",
      "dependencies": [
        "lucide-react",
        "next-themes"
      ],
      "registryDependencies": [
        "@lema-ds/button",
        "@lema-ds/dropdown-menu",
        "@lema-ds/ui-i18n",
        "@lema-ds/skeleton",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/toggle-theme.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-toggle-theme.tsx"
        }
      ]
    },
    {
      "name": "ds-tracing-beam",
      "type": "registry:ui",
      "title": "Tracing Beam",
      "description": "Feixe vertical que acompanha o scroll com thumb e gradiente — inspirado em Aceternity Tracing Beam.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "components/ds/tracing-beam.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-tracing-beam.tsx"
        }
      ]
    },
    {
      "name": "ds-transfer-list",
      "type": "registry:ui",
      "title": "Transfer List",
      "description": "Seleção entre dois conjuntos com busca, ações em lote e contadores.",
      "dependencies": [
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/checkbox",
        "@lema-ds/button",
        "@lema-ds/input",
        "@lema-ds/scroll-area",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/transfer-list.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-transfer-list.tsx"
        }
      ]
    },
    {
      "name": "ds-tree-view",
      "type": "registry:ui",
      "title": "Tree View",
      "description": "A hierarchical data display component.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/collapsible"
      ],
      "files": [
        {
          "path": "components/ds/tree-view.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-tree-view.tsx"
        }
      ]
    },
    {
      "name": "ds-treemap-chart",
      "type": "registry:ui",
      "title": "Treemap Chart",
      "description": "A responsive treemap chart with hierarchical drill-down, breadcrumb navigation, and aspect ratio control.",
      "dependencies": [
        "recharts",
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/skeleton",
        "@lema-ds/ui-i18n",
        "@lema-ds/format-utils",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/treemap-chart.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-treemap-chart.tsx"
        }
      ]
    },
    {
      "name": "ds-two-factor-auth",
      "type": "registry:ui",
      "title": "TwoFactorAuth",
      "description": "Desafio de autenticação em duas etapas (2FA) com suporte a código OTP de 6 dígitos e expiração.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/input-otp",
        "@lema-ds/button",
        "@lema-ds/checkbox",
        "@lema-ds/label",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/two-factor-auth.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-two-factor-auth.tsx"
        }
      ]
    },
    {
      "name": "ds-typewriter",
      "type": "registry:ui",
      "title": "Typewriter",
      "description": "Texto com efeito typewriter/flip/generate, cursor piscante e suporte a reduced-motion — inspirado em Aceternity Text Generate + Typewriter + Flip Words.",
      "dependencies": [
        "class-variance-authority"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "components/ds/typewriter.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-typewriter.tsx"
        }
      ]
    },
    {
      "name": "ds-users-table",
      "type": "registry:block",
      "title": "Users Table",
      "description": "Tabela de usuários com avatar e status — ReUI Users.",
      "categories": [
        "users"
      ],
      "dependencies": [],
      "registryDependencies": [
        "@lema-ds/card",
        "@lema-ds/avatar",
        "@lema-ds/badge",
        "@lema-ds/skeleton",
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/users-table.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-users-table.tsx"
        }
      ]
    },
    {
      "name": "ds-values-card",
      "type": "registry:ui",
      "title": "Values Card",
      "description": "Cartão atômico de princípio ou valor institucional com ícone, índice ordinal e variantes.",
      "categories": [
        "about",
        "marketing"
      ],
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "components/ds/values-card.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-values-card.tsx"
        }
      ]
    },
    {
      "name": "ds-video-dialog",
      "type": "registry:ui",
      "title": "VideoDialog",
      "description": "Thumbnail de vídeo com overlay interativo, botão play pulsante e abertura de modal responsivo em Dialog.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/dialog",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider"
      ],
      "files": [
        {
          "path": "components/ds/video-dialog.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-video-dialog.tsx"
        }
      ]
    },
    {
      "name": "ds-virtual-list",
      "type": "registry:ui",
      "description": "Virtualized list for rendering large datasets without performance degradation.",
      "files": [
        {
          "path": "components/ds/virtual-list.tsx",
          "target": "components/ui/ds-virtual-list.tsx",
          "type": "registry:ui"
        }
      ],
      "registryDependencies": [
        "@lema-ds/skeleton",
        "@lema-ds/scroll-area"
      ],
      "dependencies": [
        "@tanstack/react-virtual",
        "class-variance-authority"
      ]
    },
    {
      "name": "ds-waitlist-form",
      "type": "registry:ui",
      "title": "WaitlistForm",
      "description": "Formulário inline de pré-lançamento ou lista de espera para heróis de landing pages com feedback visual.",
      "dependencies": [
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "@lema-ds/button",
        "@lema-ds/input",
        "@lema-ds/ui-i18n",
        "@lema-ds/ds-locale-provider",
        "@lema-ds/tokens"
      ],
      "files": [
        {
          "path": "components/ds/waitlist-form.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-waitlist-form.tsx"
        }
      ]
    },
    {
      "name": "ds-waterfall-chart",
      "type": "registry:ui",
      "description": "Waterfall chart for cumulative positive/negative value bridges.",
      "files": [
        {
          "path": "components/ds/waterfall-chart.tsx",
          "target": "components/ui/ds-waterfall-chart.tsx",
          "type": "registry:ui"
        }
      ],
      "registryDependencies": [
        "@lema-ds/chart",
        "@lema-ds/skeleton",
        "@lema-ds/card",
        "@lema-ds/ui-i18n",
        "@lema-ds/format-utils",
        "@lema-ds/ds-locale-provider"
      ],
      "dependencies": [
        "class-variance-authority",
        "recharts"
      ]
    },
    {
      "name": "ds-wizard",
      "type": "registry:block",
      "title": "Wizard",
      "description": "Wizard multi-step — ReUI Wizard 7.",
      "categories": [
        "wizard"
      ],
      "dependencies": [],
      "registryDependencies": [
        "@lema-ds/card",
        "@lema-ds/button",
        "@lema-ds/progress",
        "@lema-ds/skeleton"
      ],
      "files": [
        {
          "path": "components/ds/wizard.tsx",
          "type": "registry:block",
          "target": "components/ui/ds-wizard.tsx"
        }
      ]
    },
    {
      "name": "empty",
      "type": "registry:ui",
      "title": "Empty",
      "description": "A placeholder component for empty states with icon, title, description, and content slots.",
      "dependencies": [
        "class-variance-authority",
        "cn"
      ],
      "files": [
        {
          "path": "components/ui/empty.tsx",
          "type": "registry:ui",
          "target": "components/ui/empty.tsx"
        }
      ]
    },
    {
      "name": "field",
      "type": "registry:ui",
      "title": "Field",
      "description": "A form field wrapper with label, description, error messages, and horizontal/vertical orientation variants.",
      "dependencies": [
        "class-variance-authority",
        "cn"
      ],
      "registryDependencies": [
        "@lema-ds/label",
        "@lema-ds/separator"
      ],
      "files": [
        {
          "path": "components/ui/field.tsx",
          "type": "registry:ui",
          "target": "components/ui/field.tsx"
        }
      ]
    },
    {
      "name": "format-utils",
      "type": "registry:lib",
      "title": "Format Utils",
      "description": "Shared formatting utilities including locale-aware number formatting via Intl.NumberFormat, value abbreviation (tri/bi/mi/mil, T/B/M/K), and format wrapper functions used by card-stats and chart components.",
      "registryDependencies": [
        "@lema-ds/ui-i18n"
      ],
      "files": [
        {
          "path": "lib/format-utils.ts",
          "type": "registry:lib",
          "target": "lib/format-utils.ts"
        }
      ]
    },
    {
      "name": "hover-card",
      "type": "registry:ui",
      "title": "Hover Card",
      "description": "A popover card that appears when hovering over a trigger element.",
      "dependencies": [
        "radix-ui",
        "cn"
      ],
      "files": [
        {
          "path": "components/ui/hover-card.tsx",
          "type": "registry:ui",
          "target": "components/ui/hover-card.tsx"
        }
      ]
    },
    {
      "name": "input",
      "type": "registry:ui",
      "title": "Input",
      "description": "A fundamental form text input element styling standard inputs such as text, passwords, emails, numbers, search bars, and files.",
      "dependencies": [
        "cn"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "components/ui/input.tsx",
          "type": "registry:ui",
          "target": "components/ui/input.tsx"
        }
      ]
    },
    {
      "name": "input-group",
      "type": "registry:ui",
      "title": "Input Group",
      "description": "An integrated form row that groups related inputs, text labels, prefix/suffix icons, keyboard shortcuts, and button actions.",
      "dependencies": [
        "class-variance-authority",
        "cn"
      ],
      "registryDependencies": [
        "@lema-ds/button",
        "@lema-ds/input",
        "@lema-ds/textarea"
      ],
      "files": [
        {
          "path": "components/ui/input-group.tsx",
          "type": "registry:ui",
          "target": "components/ui/input-group.tsx"
        }
      ]
    },
    {
      "name": "input-otp",
      "type": "registry:ui",
      "title": "Input Otp",
      "description": "A one-time password input with individual slot groups and separators.",
      "dependencies": [
        "input-otp",
        "lucide-react",
        "cn"
      ],
      "files": [
        {
          "path": "components/ui/input-otp.tsx",
          "type": "registry:ui",
          "target": "components/ui/input-otp.tsx"
        }
      ]
    },
    {
      "name": "item",
      "type": "registry:ui",
      "title": "Item",
      "description": "A list item component with media, content, title, description, actions, and size variants.",
      "dependencies": [
        "class-variance-authority",
        "radix-ui",
        "cn"
      ],
      "registryDependencies": [
        "@lema-ds/separator"
      ],
      "files": [
        {
          "path": "components/ui/item.tsx",
          "type": "registry:ui",
          "target": "components/ui/item.tsx"
        }
      ]
    },
    {
      "name": "kbd",
      "type": "registry:ui",
      "title": "Kbd",
      "description": "A keyboard key indicator for displaying keyboard shortcuts.",
      "dependencies": [
        "cn"
      ],
      "files": [
        {
          "path": "components/ui/kbd.tsx",
          "type": "registry:ui",
          "target": "components/ui/kbd.tsx"
        }
      ]
    },
    {
      "name": "label",
      "type": "registry:ui",
      "title": "Label",
      "description": "A form label element built on Radix UI Label primitive.",
      "dependencies": [
        "radix-ui",
        "cn"
      ],
      "files": [
        {
          "path": "components/ui/label.tsx",
          "type": "registry:ui",
          "target": "components/ui/label.tsx"
        }
      ]
    },
    {
      "name": "marker",
      "type": "registry:ui",
      "title": "Marker",
      "description": "A status and pin marker indicator for chat and list items with support for variant, pin, and side-by-side layout.",
      "dependencies": [
        "class-variance-authority",
        "radix-ui",
        "cn"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "components/ui/marker.tsx",
          "type": "registry:ui",
          "target": "components/ui/marker.tsx"
        }
      ]
    },
    {
      "name": "menubar",
      "type": "registry:ui",
      "title": "Menubar",
      "description": "A horizontal menu bar with dropdown menus, checkboxes, radio items, and submenus.",
      "dependencies": [
        "radix-ui",
        "lucide-react",
        "cn"
      ],
      "files": [
        {
          "path": "components/ui/menubar.tsx",
          "type": "registry:ui",
          "target": "components/ui/menubar.tsx"
        }
      ]
    },
    {
      "name": "message",
      "type": "registry:ui",
      "title": "Message",
      "description": "A chat message component with support for align (start/end), avatar, content, header, and footer slots. Composed of MessageGroup, MessageAvatar, MessageContent, MessageHeader, and MessageFooter sub-components.",
      "dependencies": [
        "cn"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "components/ui/message.tsx",
          "type": "registry:ui",
          "target": "components/ui/message.tsx"
        }
      ]
    },
    {
      "name": "message-scroller",
      "type": "registry:ui",
      "title": "Message Scroller",
      "description": "An auto-scrolling container for chat message lists with scroll-to-end/start buttons, visibility detection, and virtualized content support. Composed of MessageScrollerProvider, MessageScrollerViewport, MessageScrollerContent, MessageScrollerItem, and MessageScrollerButton sub-components.",
      "dependencies": [
        "@shadcn/react",
        "lucide-react",
        "cn"
      ],
      "registryDependencies": [
        "@lema-ds/button"
      ],
      "files": [
        {
          "path": "components/ui/message-scroller.tsx",
          "type": "registry:ui",
          "target": "components/ui/message-scroller.tsx"
        }
      ]
    },
    {
      "name": "native-select",
      "type": "registry:ui",
      "title": "Native Select",
      "description": "A styled native HTML select element with optgroup and option sub-components.",
      "dependencies": [
        "lucide-react",
        "cn"
      ],
      "files": [
        {
          "path": "components/ui/native-select.tsx",
          "type": "registry:ui",
          "target": "components/ui/native-select.tsx"
        }
      ]
    },
    {
      "name": "navigation-menu",
      "type": "registry:ui",
      "title": "Navigation Menu",
      "description": "A responsive navigation menu with trigger, content, viewport, and indicator sub-components.",
      "dependencies": [
        "class-variance-authority",
        "radix-ui",
        "lucide-react",
        "cn"
      ],
      "files": [
        {
          "path": "components/ui/navigation-menu.tsx",
          "type": "registry:ui",
          "target": "components/ui/navigation-menu.tsx"
        }
      ]
    },
    {
      "name": "pagination",
      "type": "registry:ui",
      "title": "Pagination",
      "description": "A semantic pagination component built with native <nav> and <ul> elements, prev/next links, and ellipsis.",
      "dependencies": [
        "lucide-react",
        "cn"
      ],
      "registryDependencies": [
        "@lema-ds/button"
      ],
      "files": [
        {
          "path": "components/ui/pagination.tsx",
          "type": "registry:ui",
          "target": "components/ui/pagination.tsx"
        }
      ]
    },
    {
      "name": "popover",
      "type": "registry:ui",
      "title": "Popover",
      "description": "A rich information bubble popover displaying contextual content triggered by focus/click events.",
      "dependencies": [
        "radix-ui",
        "cn"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "components/ui/popover.tsx",
          "type": "registry:ui",
          "target": "components/ui/popover.tsx"
        }
      ]
    },
    {
      "name": "progress",
      "type": "registry:ui",
      "title": "Progress",
      "description": "A simple progress bar indicator designed to show status completion values.",
      "dependencies": [
        "radix-ui",
        "cn"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "components/ui/progress.tsx",
          "type": "registry:ui",
          "target": "components/ui/progress.tsx"
        }
      ]
    },
    {
      "name": "questionnaire",
      "type": "registry:ui",
      "title": "Questionnaire",
      "description": "A multi-step questionnaire with single-choice, multiple-choice, freeform, and skippable questions. Owns the ordered items, active item, answer state, validation, progress, and navigation. Composed of QuestionnaireItem, QuestionnaireProgress, QuestionnaireTitle, QuestionnaireDescription, QuestionnaireChoices, QuestionnaireChoice, QuestionnaireChoiceDescription, QuestionnaireInput, QuestionnaireError, QuestionnaireActions, QuestionnairePrevious, QuestionnaireSkip, QuestionnaireNext, and QuestionnaireSubmit sub-components.",
      "dependencies": [
        "@shadcn/react",
        "lucide-react",
        "cn"
      ],
      "registryDependencies": [
        "@lema-ds/button"
      ],
      "files": [
        {
          "path": "components/ui/questionnaire.tsx",
          "type": "registry:ui",
          "target": "components/ui/questionnaire.tsx"
        }
      ]
    },
    {
      "name": "radio-group",
      "type": "registry:ui",
      "title": "Radio Group",
      "description": "A set of radio buttons for single-selection from a list of options.",
      "dependencies": [
        "radix-ui",
        "cn"
      ],
      "files": [
        {
          "path": "components/ui/radio-group.tsx",
          "type": "registry:ui",
          "target": "components/ui/radio-group.tsx"
        }
      ]
    },
    {
      "name": "resizable",
      "type": "registry:ui",
      "title": "Resizable",
      "description": "Resizable panel layouts with drag handles for adjustable split views.",
      "dependencies": [
        "react-resizable-panels",
        "cn"
      ],
      "files": [
        {
          "path": "components/ui/resizable.tsx",
          "type": "registry:ui",
          "target": "components/ui/resizable.tsx"
        }
      ]
    },
    {
      "name": "scroll-area",
      "type": "registry:ui",
      "title": "Scroll Area",
      "description": "A custom scroll wrapper that replaces browser scrollbars with cross-browser consistent, styling-flexible scroll rails.",
      "dependencies": [
        "radix-ui",
        "cn"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "components/ui/scroll-area.tsx",
          "type": "registry:ui",
          "target": "components/ui/scroll-area.tsx"
        }
      ]
    },
    {
      "name": "select",
      "type": "registry:ui",
      "title": "Select",
      "description": "A dropdown select component with groups, labels, scroll buttons, and item selection.",
      "dependencies": [
        "radix-ui",
        "lucide-react",
        "cn"
      ],
      "files": [
        {
          "path": "components/ui/select.tsx",
          "type": "registry:ui",
          "target": "components/ui/select.tsx"
        }
      ]
    },
    {
      "name": "separator",
      "type": "registry:ui",
      "title": "Separator",
      "description": "A visual divider for separating content sections horizontally or vertically.",
      "dependencies": [
        "radix-ui",
        "cn"
      ],
      "files": [
        {
          "path": "components/ui/separator.tsx",
          "type": "registry:ui",
          "target": "components/ui/separator.tsx"
        }
      ]
    },
    {
      "name": "sheet",
      "type": "registry:ui",
      "title": "Sheet",
      "description": "A slide-in panel (drawer) from any side of the screen with header, footer, and close button.",
      "dependencies": [
        "radix-ui",
        "lucide-react",
        "cn"
      ],
      "registryDependencies": [
        "@lema-ds/button"
      ],
      "files": [
        {
          "path": "components/ui/sheet.tsx",
          "type": "registry:ui",
          "target": "components/ui/sheet.tsx"
        }
      ]
    },
    {
      "name": "sidebar",
      "type": "registry:ui",
      "title": "Sidebar",
      "description": "A responsive collapsible sidebar with menu, groups, tooltips, and mobile sheet support.",
      "dependencies": [
        "class-variance-authority",
        "radix-ui",
        "lucide-react",
        "cn"
      ],
      "registryDependencies": [
        "@lema-ds/button",
        "@lema-ds/input",
        "@lema-ds/separator",
        "@lema-ds/sheet",
        "@lema-ds/skeleton",
        "@lema-ds/tooltip"
      ],
      "files": [
        {
          "path": "components/ui/sidebar.tsx",
          "type": "registry:ui",
          "target": "components/ui/sidebar.tsx"
        }
      ]
    },
    {
      "name": "skeleton",
      "type": "registry:ui",
      "title": "Skeleton",
      "description": "A placeholder loading state component shaped as elements to outline UI containers during data fetching lifecycle phases.",
      "dependencies": [
        "cn"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "components/ui/skeleton.tsx",
          "type": "registry:ui",
          "target": "components/ui/skeleton.tsx"
        }
      ]
    },
    {
      "name": "slider",
      "type": "registry:ui",
      "title": "Slider",
      "description": "A range slider for numeric input with single or multiple thumb handles.",
      "dependencies": [
        "radix-ui",
        "cn"
      ],
      "files": [
        {
          "path": "components/ui/slider.tsx",
          "type": "registry:ui",
          "target": "components/ui/slider.tsx"
        }
      ]
    },
    {
      "name": "sonner",
      "type": "registry:ui",
      "title": "Sonner",
      "description": "A toast notification provider using the Sonner library with theme-aware styling.",
      "dependencies": [
        "next-themes",
        "sonner",
        "lucide-react"
      ],
      "files": [
        {
          "path": "components/ui/sonner.tsx",
          "type": "registry:ui",
          "target": "components/ui/sonner.tsx"
        }
      ]
    },
    {
      "name": "spinner",
      "type": "registry:ui",
      "title": "Spinner",
      "description": "An animated loader icon used to represent background processing, async submission delays, or loading data sequences.",
      "dependencies": [
        "lucide-react",
        "cn"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "components/ui/spinner.tsx",
          "type": "registry:ui",
          "target": "components/ui/spinner.tsx"
        }
      ]
    },
    {
      "name": "switch",
      "type": "registry:ui",
      "title": "Switch",
      "description": "A toggle switch control for binary settings with size variants.",
      "dependencies": [
        "radix-ui",
        "cn"
      ],
      "files": [
        {
          "path": "components/ui/switch.tsx",
          "type": "registry:ui",
          "target": "components/ui/switch.tsx"
        }
      ]
    },
    {
      "name": "table",
      "type": "registry:ui",
      "title": "Table",
      "description": "A responsive table component built using native HTML table elements styled with Tailwind CSS.",
      "dependencies": [
        "cn"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "components/ui/table.tsx",
          "type": "registry:ui",
          "target": "components/ui/table.tsx"
        }
      ]
    },
    {
      "name": "tabs",
      "type": "registry:ui",
      "title": "Tabs",
      "description": "A tabbed interface with list, trigger, and content panels supporting default and line variants.",
      "dependencies": [
        "class-variance-authority",
        "radix-ui",
        "cn"
      ],
      "files": [
        {
          "path": "components/ui/tabs.tsx",
          "type": "registry:ui",
          "target": "components/ui/tabs.tsx"
        }
      ]
    },
    {
      "name": "textarea",
      "type": "registry:ui",
      "title": "Textarea",
      "description": "A multi-line text input field supporting dynamic sizing, transition glows, and custom invalid validation borders.",
      "dependencies": [
        "cn"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "components/ui/textarea.tsx",
          "type": "registry:ui",
          "target": "components/ui/textarea.tsx"
        }
      ]
    },
    {
      "name": "toggle",
      "type": "registry:ui",
      "title": "Toggle",
      "description": "A two-state button for on/off toggling with variants and sizes.",
      "dependencies": [
        "class-variance-authority",
        "radix-ui",
        "cn"
      ],
      "files": [
        {
          "path": "components/ui/toggle.tsx",
          "type": "registry:ui",
          "target": "components/ui/toggle.tsx"
        }
      ]
    },
    {
      "name": "toggle-group",
      "type": "registry:ui",
      "title": "Toggle Group",
      "description": "A group of toggle buttons for multi-selection with connected or separated styling.",
      "dependencies": [
        "class-variance-authority",
        "radix-ui",
        "cn"
      ],
      "registryDependencies": [
        "@lema-ds/toggle"
      ],
      "files": [
        {
          "path": "components/ui/toggle-group.tsx",
          "type": "registry:ui",
          "target": "components/ui/toggle-group.tsx"
        }
      ]
    },
    {
      "name": "tooltip",
      "type": "registry:ui",
      "title": "Tooltip",
      "description": "A lightweight popup hint displaying auxiliary text descriptions when a cursor hovers over or focus lands on trigger targets.",
      "dependencies": [
        "radix-ui",
        "cn"
      ],
      "registryDependencies": [],
      "files": [
        {
          "path": "components/ui/tooltip.tsx",
          "type": "registry:ui",
          "target": "components/ui/tooltip.tsx"
        }
      ]
    },
    {
      "name": "ui-i18n",
      "type": "registry:lib",
      "title": "UI i18n",
      "description": "Shared locale-based i18n dictionary with en-US, pt-PR, es-ES, and fr-FR support for UI components.",
      "files": [
        {
          "path": "lib/ui-i18n.ts",
          "type": "registry:lib",
          "target": "lib/ui-i18n.ts"
        }
      ]
    },
    {
      "name": "ds-link-provider",
      "type": "registry:ui",
      "title": "Link Provider",
      "description": "Context provider that sets the link component (next/link, react-router Link, plain <a>) used by navigation ds-* components. Exports DSLinkProvider, DSLink and useDSLink. Framework-agnostic; defaults to <a>.",
      "files": [
        {
          "path": "components/ds/link-provider.tsx",
          "type": "registry:ui",
          "target": "components/ui/ds-link-provider.tsx"
        }
      ]
    },
    {
      "name": "client-only",
      "type": "registry:lib",
      "title": "Client Only",
      "description": "Renders children only after hydration. Framework-agnostic replacement for next/dynamic with ssr:false.",
      "files": [
        {
          "path": "lib/client-only.tsx",
          "type": "registry:lib",
          "target": "lib/client-only.tsx"
        }
      ]
    },
    {
      "name": "tokens",
      "type": "registry:theme",
      "title": "LEMA-DS Tokens",
      "description": "Semantic color tokens used by ds-* components (success, warning, risk-1..4, highlight-*), light and dark. Install once per project.",
      "cssVars": {
        "theme": {
          "color-risk-1": "var(--risk-1)",
          "color-risk-2": "var(--risk-2)",
          "color-risk-3": "var(--risk-3)",
          "color-risk-4": "var(--risk-4)",
          "color-success": "var(--success)",
          "color-success-foreground": "var(--success-foreground)",
          "color-warning": "var(--warning)",
          "color-warning-foreground": "var(--warning-foreground)",
          "color-highlight-violet": "var(--highlight-violet)",
          "color-highlight-violet-foreground": "var(--highlight-violet-foreground)",
          "color-highlight-sky": "var(--highlight-sky)",
          "color-highlight-sky-foreground": "var(--highlight-sky-foreground)",
          "color-highlight-white": "var(--highlight-white)",
          "color-highlight-white-foreground": "var(--highlight-white-foreground)"
        },
        "light": {
          "risk-1": "oklch(0.62 0.19 28)",
          "risk-2": "oklch(0.72 0.17 50)",
          "risk-3": "oklch(0.85 0.18 85)",
          "risk-4": "oklch(0.92 0.15 105)",
          "success": "oklch(0.55 0.17 155)",
          "success-foreground": "oklch(0.98 0 0)",
          "warning": "oklch(0.75 0.18 75)",
          "warning-foreground": "oklch(0.145 0 0)",
          "highlight-violet": "oklch(0.55 0.22 290)",
          "highlight-violet-foreground": "oklch(0.98 0 0)",
          "highlight-sky": "oklch(0.58 0.18 240)",
          "highlight-sky-foreground": "oklch(0.98 0 0)",
          "highlight-white": "oklch(1 0 0)",
          "highlight-white-foreground": "oklch(0.145 0 0)"
        },
        "dark": {
          "risk-1": "oklch(0.55 0.15 28)",
          "risk-2": "oklch(0.65 0.13 50)",
          "risk-3": "oklch(0.75 0.14 85)",
          "risk-4": "oklch(0.82 0.12 105)",
          "success": "oklch(0.72 0.17 155)",
          "success-foreground": "oklch(0.145 0 0)",
          "warning": "oklch(0.80 0.18 75)",
          "warning-foreground": "oklch(0.145 0 0)",
          "highlight-violet": "oklch(0.48 0.20 290)",
          "highlight-violet-foreground": "oklch(0.98 0 0)",
          "highlight-sky": "oklch(0.52 0.16 240)",
          "highlight-sky-foreground": "oklch(0.98 0 0)",
          "highlight-white": "oklch(1 0 0)",
          "highlight-white-foreground": "oklch(0.145 0 0)"
        }
      }
    }
  ]
}
