{
  "items": [
    {
      "name": "accordion",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "alert",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "alert-modal",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "aspect-ratio",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "autocomplete",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "alert-dialog",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "avatar",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "badge",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "button",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "breadcrumb",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "card",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "calendar",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "carousel",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "charts",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "checkbox",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "code-block",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "chip",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "collapsible",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "color-picker",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "command",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "data-list",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "context-menu",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "data-table",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "date-picker",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "date-range-picker",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "date-time-picker",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "dropdown-menu",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "empty-state",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "dialog",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "file-upload",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "form",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "grid",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "icon-box",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "hover-card",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "icons",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "input",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "label",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "labeled-value",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "list",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "menu",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "menubar",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "navigation-menu",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "native-select",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "number-field",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "page",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "pagination",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "pin-input",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "progress",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "popover",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "progress-item",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "progress-linear",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "radio-group",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "range-slider",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "rating",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "resizable",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "range-calendar",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "rich-text-editor",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "scroll-area",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "section-card",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "select",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "select-advanced",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "separator",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "sheet",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "sidebar",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "skeleton",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "slider",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "sonner",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "spinner",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "stat-card",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "stepper",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "switch",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "tabs",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "table",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "textarea",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "tags-input",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "theme-switcher",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "time-picker",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "timeline",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "toggle",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "toggle-group",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "tooltip",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "tree-view",
      "type": "registry:ui",
      "framework": "vue"
    },
    {
      "name": "activity-feed",
      "type": "registry:block",
      "description": "Recent activity feed inside a SectionCard. Items take icon + action + detail + time.",
      "framework": "vue"
    },
    {
      "name": "event-list",
      "type": "registry:block",
      "description": "List of upcoming events in a SectionCard. Each item shows title + date + optional status badge.",
      "framework": "vue"
    },
    {
      "name": "hr-employee-table",
      "type": "registry:block",
      "description": "Full employee table block with search, dept + status filter pills, add-employee dialog, and dropdown row actions.",
      "framework": "vue"
    },
    {
      "name": "hr-leave-balance",
      "type": "registry:block",
      "description": "Leave-balance card showing available/used days with a progress bar and pending indicator.",
      "framework": "vue"
    },
    {
      "name": "hr-leave-requests",
      "type": "registry:block",
      "description": "Leave request feed with avatar, dates, status badge, and approve/decline buttons. Optional status filter pills in header.",
      "framework": "vue"
    },
    {
      "name": "hr-pay-register",
      "type": "registry:block",
      "description": "Pay-register table with avatar, role, base/bonus/deductions/net columns and an optional totals footer.",
      "framework": "vue"
    },
    {
      "name": "hr-payroll-summary",
      "type": "registry:block",
      "description": "Three payroll-summary stat cards: annual base pay, last payment, YTD earnings.",
      "framework": "vue"
    },
    {
      "name": "hr-payslip-list",
      "type": "registry:block",
      "description": "Payslip list inside a SectionCard with per-row download button. Emits download(id) on click.",
      "framework": "vue"
    },
    {
      "name": "hr-profile-form",
      "type": "registry:block",
      "description": "Employee profile form (firstName, lastName, email, phone, dept, role) with department/role read-only. v-model on the data object.",
      "framework": "vue"
    },
    {
      "name": "hr-security-actions",
      "type": "registry:block",
      "description": "Security settings list (e.g. 2FA, sessions). Each row has a label, description, and primary action button. Emits action(key).",
      "framework": "vue"
    },
    {
      "name": "kpi-grid",
      "type": "registry:block",
      "description": "Responsive grid (2 / 4 cols) of StatCards. Pass an array of {title, value, icon, trend} items.",
      "framework": "vue"
    },
    {
      "name": "quick-actions",
      "type": "registry:block",
      "description": "Vertical list of clickable shortcuts in a SectionCard. Pass linkComponent (NuxtLink or RouterLink) for SPA routing.",
      "framework": "vue"
    },
    {
      "name": "progress-breakdown",
      "type": "registry:block",
      "description": "Labeled progress bars in a SectionCard. Each bar cycles through chart-1..5 colors.",
      "framework": "vue"
    },
    {
      "name": "theme-picker",
      "type": "registry:block",
      "description": "3-button theme switcher (light / dark / system) inside a SectionCard. v-model binds the chosen theme.",
      "framework": "vue"
    },
    {
      "name": "toggle-setting-list",
      "type": "registry:block",
      "description": "List of toggle-able settings in a SectionCard. v-model binds a Record<string, boolean> keyed by item.key.",
      "framework": "vue"
    },
    {
      "name": "init",
      "type": "registry:lib",
      "description": "One-shot bootstrap. Pulls tailwind tokens, the cn() helper, and the useTheme composable in a single command. Run this first when starting a new app.",
      "framework": "vue"
    },
    {
      "name": "tailwind",
      "type": "registry:style",
      "description": "Tailwind v4 OKLCH color tokens (light + dark) for the uipkge design system. Drops into the project Tailwind CSS entry.",
      "framework": "vue"
    },
    {
      "name": "use-theme",
      "type": "registry:hook",
      "description": "useTheme composable: light/dark/system theme switcher with localStorage persistence and system preference fallback.",
      "framework": "vue"
    },
    {
      "name": "utils",
      "type": "registry:lib",
      "description": "Tailwind class merge helper: cn(). Combines clsx and tailwind-merge.",
      "framework": "vue"
    }
  ]
}