{ "$schema": "https://ui.shadcn.com/schema/registry.json", "name": "seamless", "homepage": "https://seamlesshire.co", "items": [ { "name": "base", "type": "registry:base", "description": "Seamless design system base: brand deep green, cool-grey neutrals, status tint trios.", "extends": "none", "config": { "style": "aria-nova", "iconLibrary": "lucide", "tailwind": { "baseColor": "neutral" } }, "dependencies": [ "class-variance-authority", "tw-animate-css", "lucide-react", "react-aria-components", "@fontsource-variable/inter" ], "registryDependencies": [ "utils" ], "cssVars": { "light": { "background": "#f5f6f7", "foreground": "#17181a", "card": "#ffffff", "card-foreground": "#17181a", "popover": "#ffffff", "popover-foreground": "#17181a", "primary": "#0f513a", "primary-foreground": "#ffffff", "primary-hover": "#0a3d2b", "secondary": "#f2f3f4", "secondary-foreground": "#17181a", "muted": "#f2f3f4", "muted-foreground": "#697077", "accent": "#edeff0", "accent-foreground": "#17181a", "destructive": "#a8443c", "border": "#e8e9eb", "input": "#e8e9eb", "ring": "#0f513a", "soft": "#dfe9e3", "wash": "#f0f5f2", "warn": "#a97a24", "ok": "#0f513a", "ink-2": "#4a4e55", "status-active": "#43468e", "status-active-bg": "#eaebf6", "status-active-border": "#d9dbec", "status-lead": "#8a6420", "status-lead-bg": "#f6eedd", "status-lead-border": "#eadfc4", "status-placed": "#17181a", "status-placed-bg": "#ececea", "status-placed-border": "#dededa", "status-archived": "#697077", "status-archived-bg": "#f4f4f2", "status-archived-border": "#e7e7e3", "radius": "0.625rem", "border-soft": "#f0f1f3", "head": "#fafbfc" }, "dark": { "background": "#141517", "foreground": "#ededee", "primary": "#4aa47d", "primary-foreground": "#0b2a1d", "primary-hover": "#5cb28d", "destructive": "#c96a60", "warn": "#c99a4b", "ok": "#4aa47d" }, "theme": { "color-background": "var(--background)", "color-foreground": "var(--foreground)", "color-card": "var(--card)", "color-card-foreground": "var(--card-foreground)", "color-popover": "var(--popover)", "color-popover-foreground": "var(--popover-foreground)", "color-primary": "var(--primary)", "color-primary-foreground": "var(--primary-foreground)", "color-primary-hover": "var(--primary-hover)", "color-secondary": "var(--secondary)", "color-secondary-foreground": "var(--secondary-foreground)", "color-muted": "var(--muted)", "color-muted-foreground": "var(--muted-foreground)", "color-accent": "var(--accent)", "color-accent-foreground": "var(--accent-foreground)", "color-destructive": "var(--destructive)", "color-border": "var(--border)", "color-border-soft": "var(--border-soft)", "color-input": "var(--input)", "color-ring": "var(--ring)", "color-head": "var(--head)", "color-soft": "var(--soft)", "color-wash": "var(--wash)", "color-warn": "var(--warn)", "color-ok": "var(--ok)", "color-ink-2": "var(--ink-2)", "color-status-active": "var(--status-active)", "color-status-active-bg": "var(--status-active-bg)", "color-status-active-border": "var(--status-active-border)", "color-status-lead": "var(--status-lead)", "color-status-lead-bg": "var(--status-lead-bg)", "color-status-lead-border": "var(--status-lead-border)", "color-status-placed": "var(--status-placed)", "color-status-placed-bg": "var(--status-placed-bg)", "color-status-placed-border": "var(--status-placed-border)", "color-status-archived": "var(--status-archived)", "color-status-archived-bg": "var(--status-archived-bg)", "color-status-archived-border": "var(--status-archived-border)", "color-chart-1": "var(--chart-1)", "color-chart-2": "var(--chart-2)", "color-chart-3": "var(--chart-3)", "color-chart-4": "var(--chart-4)", "color-chart-5": "var(--chart-5)", "color-sidebar": "var(--sidebar)", "color-sidebar-foreground": "var(--sidebar-foreground)", "color-sidebar-primary": "var(--sidebar-primary)", "color-sidebar-primary-foreground": "var(--sidebar-primary-foreground)", "color-sidebar-accent": "var(--sidebar-accent)", "color-sidebar-accent-foreground": "var(--sidebar-accent-foreground)", "color-sidebar-border": "var(--sidebar-border)", "color-sidebar-ring": "var(--sidebar-ring)", "ease-brand": "cubic-bezier(0.16, 1, 0.3, 1)", "shadow-card": "0 1px 2px rgba(23, 24, 26, 0.04)", "shadow-float": "0 18px 40px -12px rgba(23, 24, 26, 0.22), 0 4px 12px rgba(23, 24, 26, 0.08)", "radius-sm": "calc(var(--radius) * 0.6)", "radius-md": "calc(var(--radius) * 0.8)", "radius-lg": "var(--radius)", "radius-xl": "calc(var(--radius) * 1.4)", "radius-2xl": "calc(var(--radius) * 1.8)", "radius-3xl": "calc(var(--radius) * 2.2)", "radius-4xl": "calc(var(--radius) * 2.6)" } } }, { "name": "utils", "type": "registry:lib", "dependencies": [ "clsx", "tailwind-merge" ], "files": [ { "path": "src/lib/utils.ts", "type": "registry:lib" } ] }, { "name": "button", "type": "registry:ui", "dependencies": [ "react-aria-components", "class-variance-authority" ], "registryDependencies": [ "@seamless/utils" ], "files": [ { "path": "src/components/ui/button.tsx", "type": "registry:ui" } ] }, { "name": "badge", "type": "registry:ui", "dependencies": [ "class-variance-authority" ], "registryDependencies": [ "@seamless/utils" ], "files": [ { "path": "src/components/ui/badge.tsx", "type": "registry:ui" } ] }, { "name": "checkbox", "type": "registry:ui", "dependencies": [ "react-aria-components", "lucide-react" ], "registryDependencies": [ "@seamless/utils" ], "files": [ { "path": "src/components/ui/checkbox.tsx", "type": "registry:ui" } ] }, { "name": "input", "type": "registry:ui", "dependencies": [ "react-aria-components", "class-variance-authority" ], "registryDependencies": [ "@seamless/utils" ], "files": [ { "path": "src/components/ui/input.tsx", "type": "registry:ui" } ] }, { "name": "separator", "type": "registry:ui", "dependencies": [ "react-aria-components" ], "registryDependencies": [ "@seamless/utils" ], "files": [ { "path": "src/components/ui/separator.tsx", "type": "registry:ui" } ] }, { "name": "skeleton", "type": "registry:ui", "dependencies": [], "registryDependencies": [ "@seamless/utils" ], "files": [ { "path": "src/components/ui/skeleton.tsx", "type": "registry:ui" } ] }, { "name": "avatar", "type": "registry:ui", "dependencies": [], "registryDependencies": [ "@seamless/utils" ], "files": [ { "path": "src/components/ui/avatar.tsx", "type": "registry:ui" } ] }, { "name": "tooltip", "type": "registry:ui", "dependencies": [ "react-aria-components" ], "registryDependencies": [ "@seamless/utils" ], "files": [ { "path": "src/components/ui/tooltip.tsx", "type": "registry:ui" } ] }, { "name": "popover", "type": "registry:ui", "dependencies": [ "react-aria-components" ], "registryDependencies": [ "@seamless/utils" ], "files": [ { "path": "src/components/ui/popover.tsx", "type": "registry:ui" } ] }, { "name": "tabs", "type": "registry:ui", "dependencies": [ "react-aria-components", "class-variance-authority" ], "registryDependencies": [ "@seamless/utils" ], "files": [ { "path": "src/components/ui/tabs.tsx", "type": "registry:ui" } ] }, { "name": "table", "type": "registry:ui", "dependencies": [ "react-aria-components" ], "registryDependencies": [ "@seamless/utils" ], "files": [ { "path": "src/components/ui/table.tsx", "type": "registry:ui" } ] }, { "name": "sheet", "type": "registry:ui", "dependencies": [ "react-aria-components", "lucide-react" ], "registryDependencies": [ "@seamless/utils", "@seamless/button" ], "files": [ { "path": "src/components/ui/sheet.tsx", "type": "registry:ui" } ] }, { "name": "dropdown-menu", "type": "registry:ui", "dependencies": [ "react-aria-components", "lucide-react" ], "registryDependencies": [ "@seamless/utils" ], "files": [ { "path": "src/components/ui/dropdown-menu.tsx", "type": "registry:ui" } ] }, { "name": "overflow-tabs", "type": "registry:ui", "dependencies": [ "react-aria-components", "lucide-react" ], "registryDependencies": [ "@seamless/utils", "@seamless/dropdown-menu" ], "files": [ { "path": "src/components/ui/overflow-tabs.tsx", "type": "registry:ui" } ] }, { "name": "action-bar", "type": "registry:ui", "dependencies": [ "react-aria-components" ], "registryDependencies": [ "@seamless/utils" ], "files": [ { "path": "src/components/ui/action-bar.tsx", "type": "registry:ui" } ] }, { "name": "page-header", "type": "registry:ui", "dependencies": [], "registryDependencies": [ "@seamless/utils" ], "files": [ { "path": "src/components/ui/page-header.tsx", "type": "registry:ui" } ] }, { "name": "card", "type": "registry:ui", "dependencies": [], "registryDependencies": [ "@seamless/utils" ], "files": [ { "path": "src/components/ui/card.tsx", "type": "registry:ui" } ] }, { "name": "empty-state", "type": "registry:ui", "dependencies": [ "lucide-react" ], "registryDependencies": [ "@seamless/utils" ], "files": [ { "path": "src/components/ui/empty-state.tsx", "type": "registry:ui" } ] }, { "name": "toggle-button", "type": "registry:ui", "dependencies": [ "react-aria-components", "class-variance-authority" ], "registryDependencies": [ "@seamless/utils", "@seamless/button" ], "files": [ { "path": "src/components/ui/toggle-button.tsx", "type": "registry:ui" } ] }, { "name": "search-field", "type": "registry:ui", "dependencies": [ "react-aria-components", "lucide-react" ], "registryDependencies": [ "@seamless/utils", "@seamless/input" ], "files": [ { "path": "src/components/ui/search-field.tsx", "type": "registry:ui" } ] }, { "name": "pagination", "type": "registry:ui", "dependencies": [ "react-aria-components", "lucide-react" ], "registryDependencies": [ "@seamless/utils" ], "files": [ { "path": "src/components/ui/pagination.tsx", "type": "registry:ui" } ] }, { "name": "meter", "type": "registry:ui", "dependencies": [ "react-aria-components", "class-variance-authority" ], "registryDependencies": [ "@seamless/utils" ], "files": [ { "path": "src/components/ui/meter.tsx", "type": "registry:ui" } ] }, { "name": "section", "type": "registry:ui", "dependencies": [], "registryDependencies": [ "@seamless/utils" ], "files": [ { "path": "src/components/ui/section.tsx", "type": "registry:ui" } ] }, { "name": "detail-list", "type": "registry:ui", "dependencies": [], "registryDependencies": [ "@seamless/utils" ], "files": [ { "path": "src/components/ui/detail-list.tsx", "type": "registry:ui" } ] }, { "name": "dialog", "type": "registry:ui", "dependencies": [ "react-aria-components", "class-variance-authority", "lucide-react" ], "registryDependencies": [ "@seamless/utils", "@seamless/button" ], "files": [ { "path": "src/components/ui/dialog.tsx", "type": "registry:ui" } ] }, { "name": "note-composer", "type": "registry:ui", "dependencies": [ "react-aria-components", "lucide-react" ], "registryDependencies": [ "@seamless/utils" ], "files": [ { "path": "src/components/ui/note-composer.tsx", "type": "registry:ui" } ] } ] }