{ "$schema": "https://ui.shadcn.com/schema/registry.json", "name": "rafcom-ui", "homepage": "https://beenary.github.io/rafcom-ui", "items": [ { "name": "sidebar-rafcom", "type": "registry:block", "title": "Rafcom Sidebar", "description": "Sidebar with AppSwitcher (cross-product nav), NavMain (permission-gated), NavUser. Accepts user and navigation data as props.", "registryDependencies": ["sidebar", "dropdown-menu", "avatar", "separator", "collapsible"], "dependencies": ["next-intl", "lucide-react", "@tabler/icons-react"], "files": [ { "path": "registry/sidebar-rafcom/app-sidebar.tsx", "type": "registry:component" }, { "path": "registry/sidebar-rafcom/app-switcher.tsx", "type": "registry:component" }, { "path": "registry/sidebar-rafcom/nav-main.tsx", "type": "registry:component" }, { "path": "registry/sidebar-rafcom/nav-user.tsx", "type": "registry:component" } ], "cssVars": { "light": { "--sidebar-background": "0 0% 100%", "--sidebar-foreground": "240 5.3% 26.1%", "--sidebar-primary": "240 5.9% 10%", "--sidebar-primary-foreground": "0 0% 98%", "--sidebar-accent": "220 14.3% 95.9%", "--sidebar-accent-foreground": "220.9 39.3% 11%", "--sidebar-border": "220 14.3% 95.9%", "--sidebar-ring": "217.2 91.2% 59.8%" }, "dark": { "--sidebar-background": "224 71.4% 4.1%", "--sidebar-foreground": "210 20% 98%", "--sidebar-primary": "224.3 76.3% 48%", "--sidebar-primary-foreground": "0 0% 100%", "--sidebar-accent": "215 27.9% 16.9%", "--sidebar-accent-foreground": "210 20% 98%", "--sidebar-border": "215 27.9% 16.9%", "--sidebar-ring": "217.2 91.2% 59.8%" } } }, { "name": "badge-log-events", "type": "registry:component", "title": "Badge Log Events Status", "description": "Maps inventory event types to colored icon badges. Accepts translations as prop.", "registryDependencies": ["badge"], "dependencies": ["@tabler/icons-react"], "files": [ { "path": "registry/badge-log-events/badge-log-events-status.tsx", "type": "registry:component" } ] }, { "name": "sort-dropdown", "type": "registry:component", "title": "Sort Dropdown", "description": "Multi-field sort dropdown with direction toggle. Accepts sortProperties and onSortChange callback.", "registryDependencies": ["button", "command", "dropdown-menu"], "dependencies": ["@tabler/icons-react", "lucide-react"], "files": [ { "path": "registry/sort-dropdown/sort-dropdown.tsx", "type": "registry:component" }, { "path": "registry/sort-dropdown/use-sort-fields.ts", "type": "registry:hook" } ] }, { "name": "data-table", "type": "registry:block", "title": "Data Table", "description": "Generic TanStack Table with server-side pagination, view options, and row actions.", "registryDependencies": ["table", "button", "dropdown-menu", "pagination", "checkbox"], "dependencies": ["@tanstack/react-table"], "files": [ { "path": "registry/data-table/data-table.tsx", "type": "registry:component" }, { "path": "registry/data-table/data-table-pagination.tsx", "type": "registry:component" }, { "path": "registry/data-table/data-table-view-options.tsx", "type": "registry:component" } ] }, { "name": "use-url-params", "type": "registry:hook", "title": "useURLParams", "description": "Debounced URL search param manager for Next.js. Batches updates, supports DateRange, arrays, and auto page-reset.", "dependencies": ["next", "react-day-picker", "date-fns"], "files": [ { "path": "registry/use-url-params/use-url-params.ts", "type": "registry:hook" } ] }, { "name": "confirm-action-alert", "type": "registry:component", "title": "Confirm Action Alert", "description": "Alert banner with an inline confirmation dialog. Supports custom action slot for alternative confirmation patterns.", "registryDependencies": ["alert", "alert-dialog", "button"], "files": [ { "path": "registry/confirm-action-alert/confirm-action-alert.tsx", "type": "registry:component" } ] }, { "name": "table-pagination", "type": "registry:component", "title": "Table Pagination", "description": "Server-side pagination that reads and writes page/pageSize from URL search params. Designed for Next.js App Router.", "registryDependencies": ["pagination"], "dependencies": ["next", "lucide-react"], "files": [ { "path": "registry/table-pagination/table-pagination.tsx", "type": "registry:component" } ] } ] }