{ "schemaVersion": 1, "notes": [ "Read-only inventory for the first UI registry phase.", "Statuses describe current ownership, not desired end state.", "Headless UI entries are legacy candidates; Radix/shadcn remains the core default for now." ], "components": [ { "stableName": "ui.surface.app.sidebar", "path": "apps/web/app/components/layouts/sidebars/shadcn/app-sidebar.tsx", "category": "navigation", "library": "shadcn/radix", "status": "core" }, { "stableName": "AppSidebar", "path": "apps/web/app/application/sidebar/AppSidebar.tsx", "category": "navigation", "library": "application-registry", "status": "available" }, { "stableName": "ui.surface.admin.sidebar", "path": "apps/web/app/components/layouts/sidebars/shadcn/app-sidebar.tsx", "category": "navigation", "library": "shadcn/radix", "status": "core" }, { "stableName": "AdminSidebar", "path": "apps/web/app/application/sidebar/AdminSidebar.tsx", "category": "navigation", "library": "application-registry", "status": "available" }, { "stableName": "ui.surface.docs.sidebar", "path": "apps/web/app/components/layouts/sidebars/shadcn/app-sidebar.tsx", "category": "navigation", "library": "shadcn/radix", "status": "core" }, { "stableName": "DocsSidebar", "path": "apps/web/app/application/sidebar/DocsSidebar.ts", "category": "navigation", "library": "application-registry", "status": "available" }, { "stableName": "ShadcnSidebarLayout", "path": "apps/web/app/components/layouts/sidebars/shadcn/ShadcnSidebarLayout.tsx", "category": "layout", "library": "shadcn/radix", "status": "available" }, { "stableName": "UiRegistry", "path": "apps/web/app/application/ui/uiRegistry.ts", "category": "layout", "library": "agent-registry", "status": "available" }, { "stableName": "NavMain", "path": "apps/web/app/components/layouts/sidebars/shadcn/nav-main.tsx", "category": "navigation", "library": "shadcn/radix", "status": "available" }, { "stableName": "NavSecondary", "path": "apps/web/app/components/layouts/sidebars/shadcn/nav-secondary.tsx", "category": "navigation", "library": "shadcn/radix", "status": "available" }, { "stableName": "NavQuickLinks", "path": "apps/web/app/components/layouts/sidebars/shadcn/nav-quick-links.tsx", "category": "navigation", "library": "shadcn/radix", "status": "available" }, { "stableName": "NavActions", "path": "apps/web/app/components/layouts/sidebars/shadcn/nav-actions.tsx", "category": "navigation", "library": "shadcn/radix/lucide/novu/custom", "status": "available" }, { "stableName": "SidebarPrimitives", "path": "apps/web/app/components/ui/sidebar.tsx", "category": "navigation", "library": "shadcn/radix", "status": "available" }, { "stableName": "Button", "path": "apps/web/app/components/ui/button.tsx", "category": "buttons", "library": "shadcn/radix", "status": "available" }, { "stableName": "Dialog", "path": "apps/web/app/components/ui/dialog.tsx", "category": "dialogs", "library": "shadcn/radix", "status": "candidate-for-adapter" }, { "stableName": "Modal", "path": "apps/web/app/components/ui/modals/Modal.tsx", "category": "dialogs", "library": "custom", "status": "candidate-for-adapter" }, { "stableName": "ProfileButton", "path": "apps/web/app/components/layouts/buttons/ProfileButton.tsx", "category": "buttons", "library": "headlessui/custom", "status": "legacy" }, { "stableName": "SearchButton", "path": "apps/web/app/components/layouts/buttons/SearchButton.tsx", "category": "buttons", "library": "custom", "status": "candidate-for-adapter" }, { "stableName": "Accordion", "path": "apps/web/app/components/ui/accordion.tsx", "category": "dialogs", "library": "shadcn/radix", "status": "candidate-for-adapter" }, { "stableName": "AlertDialog", "path": "apps/web/app/components/ui/alert-dialog.tsx", "category": "dialogs", "library": "shadcn/radix", "status": "candidate-for-adapter" }, { "stableName": "Alert", "path": "apps/web/app/components/ui/alert.tsx", "category": "feedback", "library": "shadcn/custom", "status": "candidate-for-adapter" }, { "stableName": "AspectRatio", "path": "apps/web/app/components/ui/aspect-ratio.tsx", "category": "layout", "library": "shadcn/radix", "status": "candidate-for-adapter" }, { "stableName": "Avatar", "path": "apps/web/app/components/ui/avatar.tsx", "category": "feedback", "library": "shadcn/radix", "status": "candidate-for-adapter" }, { "stableName": "Badge", "path": "apps/web/app/components/ui/badge.tsx", "category": "feedback", "library": "shadcn/custom", "status": "candidate-for-adapter" }, { "stableName": "Breadcrumb", "path": "apps/web/app/components/ui/breadcrumb.tsx", "category": "navigation", "library": "shadcn/radix", "status": "candidate-for-adapter" }, { "stableName": "Input", "path": "apps/web/app/components/ui/input.tsx", "category": "inputs", "library": "shadcn/radix", "status": "candidate-for-adapter" }, { "stableName": "ButtonConfirm", "path": "apps/web/app/components/ui/button-confirm.tsx", "category": "buttons", "library": "custom", "status": "candidate-for-adapter" }, { "stableName": "ButtonGroup", "path": "apps/web/app/components/ui/button-group.tsx", "category": "buttons", "library": "custom", "status": "candidate-for-adapter" }, { "stableName": "Calendar", "path": "apps/web/app/components/ui/calendar.tsx", "category": "inputs", "library": "shadcn/radix", "status": "candidate-for-adapter" }, { "stableName": "Card", "path": "apps/web/app/components/ui/card.tsx", "category": "layout", "library": "shadcn/custom", "status": "candidate-for-adapter" }, { "stableName": "Carousel", "path": "apps/web/app/components/ui/carousel.tsx", "category": "layout", "library": "shadcn/embla", "status": "candidate-for-adapter" }, { "stableName": "Chart", "path": "apps/web/app/components/ui/chart.tsx", "category": "feedback", "library": "shadcn/recharts", "status": "candidate-for-adapter" }, { "stableName": "Checkbox", "path": "apps/web/app/components/ui/checkbox.tsx", "category": "inputs", "library": "shadcn/radix", "status": "candidate-for-adapter" }, { "stableName": "Choicebox", "path": "apps/web/app/components/ui/choicebox.tsx", "category": "inputs", "library": "custom", "status": "candidate-for-adapter" }, { "stableName": "Collapsible", "path": "apps/web/app/components/ui/collapsible.tsx", "category": "layout", "library": "shadcn/radix", "status": "candidate-for-adapter" }, { "stableName": "Command", "path": "apps/web/app/components/ui/command.tsx", "category": "navigation", "library": "shadcn/cmdk", "status": "candidate-for-adapter" }, { "stableName": "ContextMenu", "path": "apps/web/app/components/ui/context-menu.tsx", "category": "navigation", "library": "shadcn/radix", "status": "candidate-for-adapter" }, { "stableName": "Drawer", "path": "apps/web/app/components/ui/drawer.tsx", "category": "dialogs", "library": "shadcn/vaul", "status": "candidate-for-adapter" }, { "stableName": "DropdownMenu", "path": "apps/web/app/components/ui/dropdown-menu.tsx", "category": "navigation", "library": "shadcn/radix", "status": "candidate-for-adapter" }, { "stableName": "Empty", "path": "apps/web/app/components/ui/empty.tsx", "category": "feedback", "library": "custom", "status": "candidate-for-adapter" }, { "stableName": "Form", "path": "apps/web/app/components/ui/form.tsx", "category": "inputs", "library": "shadcn/radix/react-hook-form", "status": "candidate-for-adapter" }, { "stableName": "HoverCard", "path": "apps/web/app/components/ui/hover-card.tsx", "category": "feedback", "library": "shadcn/radix", "status": "candidate-for-adapter" }, { "stableName": "InputGroup", "path": "apps/web/app/components/ui/input-group.tsx", "category": "inputs", "library": "custom", "status": "candidate-for-adapter" }, { "stableName": "InputOtp", "path": "apps/web/app/components/ui/input-otp.tsx", "category": "inputs", "library": "shadcn/input-otp", "status": "candidate-for-adapter" }, { "stableName": "Label", "path": "apps/web/app/components/ui/label.tsx", "category": "inputs", "library": "shadcn/radix", "status": "candidate-for-adapter" }, { "stableName": "MultiSelect", "path": "apps/web/app/components/ui/multi-select.tsx", "category": "inputs", "library": "custom", "status": "candidate-for-adapter" }, { "stableName": "Pagination", "path": "apps/web/app/components/ui/pagination.tsx", "category": "navigation", "library": "shadcn/custom", "status": "candidate-for-adapter" }, { "stableName": "Popover", "path": "apps/web/app/components/ui/popover.tsx", "category": "dialogs", "library": "shadcn/radix", "status": "candidate-for-adapter" }, { "stableName": "Progress", "path": "apps/web/app/components/ui/progress.tsx", "category": "feedback", "library": "shadcn/radix", "status": "candidate-for-adapter" }, { "stableName": "RadioGroup", "path": "apps/web/app/components/ui/radio-group.tsx", "category": "inputs", "library": "shadcn/radix", "status": "candidate-for-adapter" }, { "stableName": "Resizable", "path": "apps/web/app/components/ui/resizable.tsx", "category": "layout", "library": "shadcn/react-resizable-panels", "status": "candidate-for-adapter" }, { "stableName": "ScrollArea", "path": "apps/web/app/components/ui/scroll-area.tsx", "category": "layout", "library": "shadcn/radix", "status": "candidate-for-adapter" }, { "stableName": "Select", "path": "apps/web/app/components/ui/select.tsx", "category": "inputs", "library": "shadcn/radix", "status": "candidate-for-adapter" }, { "stableName": "Separator", "path": "apps/web/app/components/ui/separator.tsx", "category": "layout", "library": "shadcn/radix", "status": "candidate-for-adapter" }, { "stableName": "Sheet", "path": "apps/web/app/components/ui/sheet.tsx", "category": "dialogs", "library": "shadcn/radix", "status": "candidate-for-adapter" }, { "stableName": "Skeleton", "path": "apps/web/app/components/ui/skeleton.tsx", "category": "feedback", "library": "shadcn/custom", "status": "candidate-for-adapter" }, { "stableName": "Slider", "path": "apps/web/app/components/ui/slider.tsx", "category": "inputs", "library": "shadcn/radix", "status": "candidate-for-adapter" }, { "stableName": "Sonner", "path": "apps/web/app/components/ui/sonner.tsx", "category": "feedback", "library": "shadcn/sonner", "status": "candidate-for-adapter" }, { "stableName": "SplitButton", "path": "apps/web/app/components/ui/split-button.tsx", "category": "buttons", "library": "custom", "status": "candidate-for-adapter" }, { "stableName": "Stepper", "path": "apps/web/app/components/ui/stepper.tsx", "category": "inputs", "library": "custom", "status": "candidate-for-adapter" }, { "stableName": "Switch", "path": "apps/web/app/components/ui/switch.tsx", "category": "inputs", "library": "shadcn/radix", "status": "candidate-for-adapter" }, { "stableName": "Table", "path": "apps/web/app/components/ui/table.tsx", "category": "tables", "library": "shadcn/custom", "status": "candidate-for-adapter" }, { "stableName": "Tabs", "path": "apps/web/app/components/ui/tabs.tsx", "category": "tables", "library": "shadcn/radix", "status": "candidate-for-adapter" }, { "stableName": "Textarea", "path": "apps/web/app/components/ui/textarea.tsx", "category": "inputs", "library": "shadcn/radix", "status": "candidate-for-adapter" }, { "stableName": "ToastPrimitive", "path": "apps/web/app/components/ui/toast.tsx", "category": "feedback", "library": "shadcn/radix", "status": "legacy" }, { "stableName": "Toaster", "path": "apps/web/app/components/ui/toaster.tsx", "category": "feedback", "library": "shadcn/radix", "status": "legacy" }, { "stableName": "ToggleGroup", "path": "apps/web/app/components/ui/toggle-group.tsx", "category": "buttons", "library": "shadcn/radix", "status": "candidate-for-adapter" }, { "stableName": "Toggle", "path": "apps/web/app/components/ui/toggle.tsx", "category": "buttons", "library": "shadcn/radix", "status": "candidate-for-adapter" }, { "stableName": "Tooltip", "path": "apps/web/app/components/ui/tooltip.tsx", "category": "feedback", "library": "shadcn/radix", "status": "candidate-for-adapter" }, { "stableName": "Toast", "path": "apps/web/app/root.tsx", "category": "feedback", "library": "sonner", "status": "candidate-for-adapter" }, { "stableName": "Lucide icons", "path": "apps/web/app/components/layouts/icons", "category": "feedback", "library": "lucide/custom", "status": "plugin" } ] }