feat: Add DSS infrastructure, remove legacy admin-ui code
Some checks failed
DSS Project Analysis / dss-context-update (push) Has been cancelled
Some checks failed
DSS Project Analysis / dss-context-update (push) Has been cancelled
- Remove legacy admin-ui/js/ vanilla JS components - Add .dss/ directory with core tokens, skins, themes - Add Storybook configuration and generated stories - Add DSS management scripts (dss-services, dss-init, dss-setup, dss-reset) - Add MCP command definitions for DSS plugin - Add Figma sync architecture and scripts - Update pre-commit hooks with documentation validation - Fix JSON trailing commas in skin files 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
24828
.dss/components/figma-registry.json
Normal file
24828
.dss/components/figma-registry.json
Normal file
File diff suppressed because it is too large
Load Diff
837
.dss/components/shadcn-registry.json
Normal file
837
.dss/components/shadcn-registry.json
Normal file
@@ -0,0 +1,837 @@
|
||||
{
|
||||
"_meta": {
|
||||
"description": "shadcn/ui Component Registry - All 59 components with variants and tokens",
|
||||
"version": "1.0.0",
|
||||
"source": "https://ui.shadcn.com/docs/components",
|
||||
"lastUpdated": "2025-12-10"
|
||||
},
|
||||
|
||||
"components": {
|
||||
"accordion": {
|
||||
"name": "Accordion",
|
||||
"category": "data-display",
|
||||
"description": "A vertically stacked set of interactive headings that reveal content sections",
|
||||
"radixPrimitive": "@radix-ui/react-accordion",
|
||||
"variants": {},
|
||||
"tokens": {
|
||||
"background": "var(--color-background)",
|
||||
"border": "var(--color-border)",
|
||||
"text": "var(--color-foreground)"
|
||||
}
|
||||
},
|
||||
|
||||
"alert": {
|
||||
"name": "Alert",
|
||||
"category": "feedback",
|
||||
"description": "Displays a callout for user attention",
|
||||
"variants": {
|
||||
"variant": ["default", "destructive"]
|
||||
},
|
||||
"tokens": {
|
||||
"background": "var(--color-background)",
|
||||
"border": "var(--color-border)",
|
||||
"foreground": "var(--color-foreground)",
|
||||
"destructive": "var(--color-destructive)"
|
||||
}
|
||||
},
|
||||
|
||||
"alert-dialog": {
|
||||
"name": "Alert Dialog",
|
||||
"category": "overlay",
|
||||
"description": "A modal dialog that interrupts user flow with important information",
|
||||
"radixPrimitive": "@radix-ui/react-alert-dialog",
|
||||
"tokens": {
|
||||
"overlay": "var(--color-background)/80",
|
||||
"background": "var(--color-background)",
|
||||
"border": "var(--color-border)"
|
||||
}
|
||||
},
|
||||
|
||||
"aspect-ratio": {
|
||||
"name": "Aspect Ratio",
|
||||
"category": "layout",
|
||||
"description": "Displays content with a desired aspect ratio",
|
||||
"radixPrimitive": "@radix-ui/react-aspect-ratio"
|
||||
},
|
||||
|
||||
"avatar": {
|
||||
"name": "Avatar",
|
||||
"category": "data-display",
|
||||
"description": "An image element with a fallback for user profile images",
|
||||
"radixPrimitive": "@radix-ui/react-avatar",
|
||||
"variants": {
|
||||
"size": ["sm", "md", "lg"]
|
||||
},
|
||||
"tokens": {
|
||||
"background": "var(--color-muted)",
|
||||
"fallback": "var(--color-muted-foreground)"
|
||||
}
|
||||
},
|
||||
|
||||
"badge": {
|
||||
"name": "Badge",
|
||||
"category": "data-display",
|
||||
"description": "Displays a badge or label",
|
||||
"variants": {
|
||||
"variant": ["default", "secondary", "destructive", "outline"]
|
||||
},
|
||||
"tokens": {
|
||||
"default": {
|
||||
"background": "var(--color-primary)",
|
||||
"text": "var(--color-primary-foreground)"
|
||||
},
|
||||
"secondary": {
|
||||
"background": "var(--color-secondary)",
|
||||
"text": "var(--color-secondary-foreground)"
|
||||
},
|
||||
"destructive": {
|
||||
"background": "var(--color-destructive)",
|
||||
"text": "var(--color-destructive-foreground)"
|
||||
},
|
||||
"outline": {
|
||||
"border": "var(--color-border)",
|
||||
"text": "var(--color-foreground)"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
"breadcrumb": {
|
||||
"name": "Breadcrumb",
|
||||
"category": "navigation",
|
||||
"description": "Displays the path to the current page in a hierarchy",
|
||||
"tokens": {
|
||||
"text": "var(--color-muted-foreground)",
|
||||
"active": "var(--color-foreground)",
|
||||
"separator": "var(--color-muted-foreground)"
|
||||
}
|
||||
},
|
||||
|
||||
"button": {
|
||||
"name": "Button",
|
||||
"category": "form",
|
||||
"description": "Displays a button or a component that looks like a button",
|
||||
"variants": {
|
||||
"variant": ["default", "destructive", "outline", "secondary", "ghost", "link"],
|
||||
"size": ["default", "sm", "lg", "icon", "icon-sm", "icon-lg"]
|
||||
},
|
||||
"tokens": {
|
||||
"default": {
|
||||
"background": "var(--color-primary)",
|
||||
"text": "var(--color-primary-foreground)",
|
||||
"hover": "var(--color-primary)/90"
|
||||
},
|
||||
"destructive": {
|
||||
"background": "var(--color-destructive)",
|
||||
"text": "var(--color-destructive-foreground)",
|
||||
"hover": "var(--color-destructive)/90"
|
||||
},
|
||||
"outline": {
|
||||
"border": "var(--color-input)",
|
||||
"background": "var(--color-background)",
|
||||
"text": "var(--color-foreground)",
|
||||
"hover": "var(--color-accent)"
|
||||
},
|
||||
"secondary": {
|
||||
"background": "var(--color-secondary)",
|
||||
"text": "var(--color-secondary-foreground)",
|
||||
"hover": "var(--color-secondary)/80"
|
||||
},
|
||||
"ghost": {
|
||||
"text": "var(--color-foreground)",
|
||||
"hover": "var(--color-accent)"
|
||||
},
|
||||
"link": {
|
||||
"text": "var(--color-primary)"
|
||||
}
|
||||
},
|
||||
"sizing": {
|
||||
"default": { "height": "2.5rem", "px": "1rem", "py": "0.5rem" },
|
||||
"sm": { "height": "2rem", "px": "0.75rem" },
|
||||
"lg": { "height": "3rem", "px": "2rem" },
|
||||
"icon": { "size": "2.5rem" },
|
||||
"icon-sm": { "size": "2rem" },
|
||||
"icon-lg": { "size": "2.75rem" }
|
||||
}
|
||||
},
|
||||
|
||||
"button-group": {
|
||||
"name": "Button Group",
|
||||
"category": "form",
|
||||
"description": "Groups multiple buttons together",
|
||||
"tokens": {
|
||||
"gap": "var(--spacing-1)"
|
||||
}
|
||||
},
|
||||
|
||||
"calendar": {
|
||||
"name": "Calendar",
|
||||
"category": "form",
|
||||
"description": "A date picker component with monthly/yearly views",
|
||||
"dependencies": ["react-day-picker"],
|
||||
"tokens": {
|
||||
"background": "var(--color-background)",
|
||||
"text": "var(--color-foreground)",
|
||||
"selected": "var(--color-primary)",
|
||||
"today": "var(--color-accent)"
|
||||
}
|
||||
},
|
||||
|
||||
"card": {
|
||||
"name": "Card",
|
||||
"category": "layout",
|
||||
"description": "Displays a card with header, content, and footer",
|
||||
"subComponents": ["CardHeader", "CardTitle", "CardDescription", "CardContent", "CardFooter"],
|
||||
"tokens": {
|
||||
"background": "var(--color-card)",
|
||||
"foreground": "var(--color-card-foreground)",
|
||||
"border": "var(--color-border)",
|
||||
"shadow": "var(--shadow-sm)"
|
||||
}
|
||||
},
|
||||
|
||||
"carousel": {
|
||||
"name": "Carousel",
|
||||
"category": "data-display",
|
||||
"description": "A carousel with embla-carousel",
|
||||
"dependencies": ["embla-carousel-react"],
|
||||
"tokens": {
|
||||
"button": "var(--color-background)",
|
||||
"indicator": "var(--color-muted)"
|
||||
}
|
||||
},
|
||||
|
||||
"chart": {
|
||||
"name": "Chart",
|
||||
"category": "data-display",
|
||||
"description": "Beautiful charts using Recharts",
|
||||
"dependencies": ["recharts"],
|
||||
"tokens": {
|
||||
"colors": ["var(--chart-1)", "var(--chart-2)", "var(--chart-3)", "var(--chart-4)", "var(--chart-5)"]
|
||||
}
|
||||
},
|
||||
|
||||
"checkbox": {
|
||||
"name": "Checkbox",
|
||||
"category": "form",
|
||||
"description": "A control that allows toggling between checked and unchecked",
|
||||
"radixPrimitive": "@radix-ui/react-checkbox",
|
||||
"tokens": {
|
||||
"border": "var(--color-primary)",
|
||||
"checked": "var(--color-primary)",
|
||||
"checkmark": "var(--color-primary-foreground)"
|
||||
}
|
||||
},
|
||||
|
||||
"collapsible": {
|
||||
"name": "Collapsible",
|
||||
"category": "data-display",
|
||||
"description": "An interactive component that expands/collapses content",
|
||||
"radixPrimitive": "@radix-ui/react-collapsible"
|
||||
},
|
||||
|
||||
"combobox": {
|
||||
"name": "Combobox",
|
||||
"category": "form",
|
||||
"description": "Autocomplete input with command palette",
|
||||
"composedOf": ["command", "popover"],
|
||||
"tokens": {
|
||||
"input": "var(--color-input)",
|
||||
"background": "var(--color-popover)",
|
||||
"text": "var(--color-popover-foreground)"
|
||||
}
|
||||
},
|
||||
|
||||
"command": {
|
||||
"name": "Command",
|
||||
"category": "form",
|
||||
"description": "Command palette with search and filtering",
|
||||
"dependencies": ["cmdk"],
|
||||
"tokens": {
|
||||
"background": "var(--color-popover)",
|
||||
"text": "var(--color-popover-foreground)",
|
||||
"separator": "var(--color-border)"
|
||||
}
|
||||
},
|
||||
|
||||
"context-menu": {
|
||||
"name": "Context Menu",
|
||||
"category": "overlay",
|
||||
"description": "Right-click context menu with keyboard support",
|
||||
"radixPrimitive": "@radix-ui/react-context-menu",
|
||||
"tokens": {
|
||||
"background": "var(--color-popover)",
|
||||
"text": "var(--color-popover-foreground)",
|
||||
"hover": "var(--color-accent)"
|
||||
}
|
||||
},
|
||||
|
||||
"data-table": {
|
||||
"name": "Data Table",
|
||||
"category": "data-display",
|
||||
"description": "Powerful table with sorting, filtering, pagination",
|
||||
"dependencies": ["@tanstack/react-table"],
|
||||
"composedOf": ["table", "dropdown-menu", "button", "input"],
|
||||
"tokens": {
|
||||
"header": "var(--color-muted)",
|
||||
"row": "var(--color-background)",
|
||||
"rowHover": "var(--color-muted)/50",
|
||||
"border": "var(--color-border)"
|
||||
}
|
||||
},
|
||||
|
||||
"date-picker": {
|
||||
"name": "Date Picker",
|
||||
"category": "form",
|
||||
"description": "A date picker built with calendar and popover",
|
||||
"composedOf": ["calendar", "popover", "button"],
|
||||
"tokens": {
|
||||
"input": "var(--color-input)",
|
||||
"background": "var(--color-popover)"
|
||||
}
|
||||
},
|
||||
|
||||
"dialog": {
|
||||
"name": "Dialog",
|
||||
"category": "overlay",
|
||||
"description": "A modal dialog for content display",
|
||||
"radixPrimitive": "@radix-ui/react-dialog",
|
||||
"subComponents": ["DialogTrigger", "DialogContent", "DialogHeader", "DialogFooter", "DialogTitle", "DialogDescription"],
|
||||
"tokens": {
|
||||
"overlay": "var(--color-background)/80",
|
||||
"background": "var(--color-background)",
|
||||
"border": "var(--color-border)"
|
||||
}
|
||||
},
|
||||
|
||||
"drawer": {
|
||||
"name": "Drawer",
|
||||
"category": "overlay",
|
||||
"description": "A drawer component extending dialog",
|
||||
"dependencies": ["vaul"],
|
||||
"tokens": {
|
||||
"background": "var(--color-background)",
|
||||
"handle": "var(--color-muted)"
|
||||
}
|
||||
},
|
||||
|
||||
"dropdown-menu": {
|
||||
"name": "Dropdown Menu",
|
||||
"category": "overlay",
|
||||
"description": "Menu displayed on trigger interaction",
|
||||
"radixPrimitive": "@radix-ui/react-dropdown-menu",
|
||||
"tokens": {
|
||||
"background": "var(--color-popover)",
|
||||
"text": "var(--color-popover-foreground)",
|
||||
"hover": "var(--color-accent)",
|
||||
"separator": "var(--color-border)"
|
||||
}
|
||||
},
|
||||
|
||||
"empty": {
|
||||
"name": "Empty",
|
||||
"category": "feedback",
|
||||
"description": "Empty state display",
|
||||
"tokens": {
|
||||
"icon": "var(--color-muted-foreground)",
|
||||
"text": "var(--color-muted-foreground)"
|
||||
}
|
||||
},
|
||||
|
||||
"field": {
|
||||
"name": "Field",
|
||||
"category": "form",
|
||||
"description": "Form field wrapper with label and error",
|
||||
"composedOf": ["label", "input"],
|
||||
"tokens": {
|
||||
"label": "var(--color-foreground)",
|
||||
"error": "var(--color-destructive)"
|
||||
}
|
||||
},
|
||||
|
||||
"form": {
|
||||
"name": "Form",
|
||||
"category": "form",
|
||||
"description": "Form component with react-hook-form integration",
|
||||
"dependencies": ["react-hook-form", "@hookform/resolvers", "zod"],
|
||||
"tokens": {
|
||||
"label": "var(--color-foreground)",
|
||||
"description": "var(--color-muted-foreground)",
|
||||
"error": "var(--color-destructive)"
|
||||
}
|
||||
},
|
||||
|
||||
"hover-card": {
|
||||
"name": "Hover Card",
|
||||
"category": "overlay",
|
||||
"description": "Content appearing on hover",
|
||||
"radixPrimitive": "@radix-ui/react-hover-card",
|
||||
"tokens": {
|
||||
"background": "var(--color-popover)",
|
||||
"text": "var(--color-popover-foreground)",
|
||||
"border": "var(--color-border)"
|
||||
}
|
||||
},
|
||||
|
||||
"input": {
|
||||
"name": "Input",
|
||||
"category": "form",
|
||||
"description": "Text input field",
|
||||
"tokens": {
|
||||
"background": "var(--color-background)",
|
||||
"border": "var(--color-input)",
|
||||
"text": "var(--color-foreground)",
|
||||
"placeholder": "var(--color-muted-foreground)",
|
||||
"focus": "var(--color-ring)"
|
||||
}
|
||||
},
|
||||
|
||||
"input-group": {
|
||||
"name": "Input Group",
|
||||
"category": "form",
|
||||
"description": "Group of inputs with addons",
|
||||
"tokens": {
|
||||
"addon": "var(--color-muted)"
|
||||
}
|
||||
},
|
||||
|
||||
"input-otp": {
|
||||
"name": "Input OTP",
|
||||
"category": "form",
|
||||
"description": "One-time password input",
|
||||
"dependencies": ["input-otp"],
|
||||
"tokens": {
|
||||
"border": "var(--color-input)",
|
||||
"focus": "var(--color-ring)"
|
||||
}
|
||||
},
|
||||
|
||||
"item": {
|
||||
"name": "Item",
|
||||
"category": "data-display",
|
||||
"description": "Generic list item component"
|
||||
},
|
||||
|
||||
"kbd": {
|
||||
"name": "Kbd",
|
||||
"category": "data-display",
|
||||
"description": "Keyboard key display",
|
||||
"tokens": {
|
||||
"background": "var(--color-muted)",
|
||||
"text": "var(--color-muted-foreground)",
|
||||
"border": "var(--color-border)"
|
||||
}
|
||||
},
|
||||
|
||||
"label": {
|
||||
"name": "Label",
|
||||
"category": "form",
|
||||
"description": "Text label for form elements",
|
||||
"radixPrimitive": "@radix-ui/react-label",
|
||||
"tokens": {
|
||||
"text": "var(--color-foreground)"
|
||||
}
|
||||
},
|
||||
|
||||
"menubar": {
|
||||
"name": "Menubar",
|
||||
"category": "navigation",
|
||||
"description": "Horizontal menu with dropdowns",
|
||||
"radixPrimitive": "@radix-ui/react-menubar",
|
||||
"tokens": {
|
||||
"background": "var(--color-background)",
|
||||
"text": "var(--color-foreground)",
|
||||
"hover": "var(--color-accent)"
|
||||
}
|
||||
},
|
||||
|
||||
"native-select": {
|
||||
"name": "Native Select",
|
||||
"category": "form",
|
||||
"description": "Native HTML select element with styling",
|
||||
"tokens": {
|
||||
"background": "var(--color-background)",
|
||||
"border": "var(--color-input)",
|
||||
"text": "var(--color-foreground)"
|
||||
}
|
||||
},
|
||||
|
||||
"navigation-menu": {
|
||||
"name": "Navigation Menu",
|
||||
"category": "navigation",
|
||||
"description": "Website navigation with mega menus",
|
||||
"radixPrimitive": "@radix-ui/react-navigation-menu",
|
||||
"tokens": {
|
||||
"background": "var(--color-background)",
|
||||
"text": "var(--color-foreground)",
|
||||
"hover": "var(--color-accent)",
|
||||
"indicator": "var(--color-primary)"
|
||||
}
|
||||
},
|
||||
|
||||
"pagination": {
|
||||
"name": "Pagination",
|
||||
"category": "navigation",
|
||||
"description": "Page navigation with previous/next",
|
||||
"tokens": {
|
||||
"text": "var(--color-foreground)",
|
||||
"active": "var(--color-primary)",
|
||||
"disabled": "var(--color-muted-foreground)"
|
||||
}
|
||||
},
|
||||
|
||||
"popover": {
|
||||
"name": "Popover",
|
||||
"category": "overlay",
|
||||
"description": "Floating content panel",
|
||||
"radixPrimitive": "@radix-ui/react-popover",
|
||||
"tokens": {
|
||||
"background": "var(--color-popover)",
|
||||
"text": "var(--color-popover-foreground)",
|
||||
"border": "var(--color-border)"
|
||||
}
|
||||
},
|
||||
|
||||
"progress": {
|
||||
"name": "Progress",
|
||||
"category": "feedback",
|
||||
"description": "Progress indicator bar",
|
||||
"radixPrimitive": "@radix-ui/react-progress",
|
||||
"tokens": {
|
||||
"background": "var(--color-secondary)",
|
||||
"indicator": "var(--color-primary)"
|
||||
}
|
||||
},
|
||||
|
||||
"radio-group": {
|
||||
"name": "Radio Group",
|
||||
"category": "form",
|
||||
"description": "Set of mutually exclusive options",
|
||||
"radixPrimitive": "@radix-ui/react-radio-group",
|
||||
"tokens": {
|
||||
"border": "var(--color-primary)",
|
||||
"checked": "var(--color-primary)"
|
||||
}
|
||||
},
|
||||
|
||||
"resizable": {
|
||||
"name": "Resizable",
|
||||
"category": "layout",
|
||||
"description": "Resizable panel groups",
|
||||
"dependencies": ["react-resizable-panels"],
|
||||
"tokens": {
|
||||
"handle": "var(--color-border)"
|
||||
}
|
||||
},
|
||||
|
||||
"scroll-area": {
|
||||
"name": "Scroll Area",
|
||||
"category": "layout",
|
||||
"description": "Custom scrollbar styling",
|
||||
"radixPrimitive": "@radix-ui/react-scroll-area",
|
||||
"tokens": {
|
||||
"thumb": "var(--color-border)",
|
||||
"track": "var(--color-muted)"
|
||||
}
|
||||
},
|
||||
|
||||
"select": {
|
||||
"name": "Select",
|
||||
"category": "form",
|
||||
"description": "Custom select dropdown",
|
||||
"radixPrimitive": "@radix-ui/react-select",
|
||||
"tokens": {
|
||||
"trigger": {
|
||||
"background": "var(--color-background)",
|
||||
"border": "var(--color-input)",
|
||||
"text": "var(--color-foreground)"
|
||||
},
|
||||
"content": {
|
||||
"background": "var(--color-popover)",
|
||||
"text": "var(--color-popover-foreground)"
|
||||
},
|
||||
"item": {
|
||||
"hover": "var(--color-accent)"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
"separator": {
|
||||
"name": "Separator",
|
||||
"category": "layout",
|
||||
"description": "Visual divider",
|
||||
"radixPrimitive": "@radix-ui/react-separator",
|
||||
"variants": {
|
||||
"orientation": ["horizontal", "vertical"]
|
||||
},
|
||||
"tokens": {
|
||||
"color": "var(--color-border)"
|
||||
}
|
||||
},
|
||||
|
||||
"sheet": {
|
||||
"name": "Sheet",
|
||||
"category": "overlay",
|
||||
"description": "Side panel overlay",
|
||||
"radixPrimitive": "@radix-ui/react-dialog",
|
||||
"variants": {
|
||||
"side": ["top", "right", "bottom", "left"]
|
||||
},
|
||||
"tokens": {
|
||||
"overlay": "var(--color-background)/80",
|
||||
"background": "var(--color-background)",
|
||||
"border": "var(--color-border)"
|
||||
}
|
||||
},
|
||||
|
||||
"sidebar": {
|
||||
"name": "Sidebar",
|
||||
"category": "navigation",
|
||||
"description": "Application sidebar with collapsible sections",
|
||||
"tokens": {
|
||||
"background": "var(--color-sidebar-background)",
|
||||
"text": "var(--color-sidebar-foreground)",
|
||||
"hover": "var(--color-sidebar-accent)",
|
||||
"border": "var(--color-sidebar-border)"
|
||||
}
|
||||
},
|
||||
|
||||
"skeleton": {
|
||||
"name": "Skeleton",
|
||||
"category": "feedback",
|
||||
"description": "Loading placeholder",
|
||||
"tokens": {
|
||||
"background": "var(--color-muted)"
|
||||
}
|
||||
},
|
||||
|
||||
"slider": {
|
||||
"name": "Slider",
|
||||
"category": "form",
|
||||
"description": "Range slider input",
|
||||
"radixPrimitive": "@radix-ui/react-slider",
|
||||
"tokens": {
|
||||
"track": "var(--color-secondary)",
|
||||
"range": "var(--color-primary)",
|
||||
"thumb": "var(--color-background)"
|
||||
}
|
||||
},
|
||||
|
||||
"sonner": {
|
||||
"name": "Sonner",
|
||||
"category": "feedback",
|
||||
"description": "Toast notifications with sonner",
|
||||
"dependencies": ["sonner"],
|
||||
"tokens": {
|
||||
"background": "var(--color-background)",
|
||||
"text": "var(--color-foreground)",
|
||||
"border": "var(--color-border)"
|
||||
}
|
||||
},
|
||||
|
||||
"spinner": {
|
||||
"name": "Spinner",
|
||||
"category": "feedback",
|
||||
"description": "Loading spinner animation",
|
||||
"tokens": {
|
||||
"color": "var(--color-primary)"
|
||||
}
|
||||
},
|
||||
|
||||
"switch": {
|
||||
"name": "Switch",
|
||||
"category": "form",
|
||||
"description": "Toggle switch control",
|
||||
"radixPrimitive": "@radix-ui/react-switch",
|
||||
"tokens": {
|
||||
"background": "var(--color-input)",
|
||||
"checked": "var(--color-primary)",
|
||||
"thumb": "var(--color-background)"
|
||||
}
|
||||
},
|
||||
|
||||
"table": {
|
||||
"name": "Table",
|
||||
"category": "data-display",
|
||||
"description": "Styled HTML table",
|
||||
"subComponents": ["TableHeader", "TableBody", "TableFooter", "TableRow", "TableHead", "TableCell", "TableCaption"],
|
||||
"tokens": {
|
||||
"header": "var(--color-muted)",
|
||||
"row": "var(--color-background)",
|
||||
"rowHover": "var(--color-muted)/50",
|
||||
"border": "var(--color-border)"
|
||||
}
|
||||
},
|
||||
|
||||
"tabs": {
|
||||
"name": "Tabs",
|
||||
"category": "navigation",
|
||||
"description": "Tabbed interface",
|
||||
"radixPrimitive": "@radix-ui/react-tabs",
|
||||
"tokens": {
|
||||
"list": "var(--color-muted)",
|
||||
"trigger": "var(--color-muted-foreground)",
|
||||
"triggerActive": "var(--color-foreground)",
|
||||
"content": "var(--color-background)"
|
||||
}
|
||||
},
|
||||
|
||||
"textarea": {
|
||||
"name": "Textarea",
|
||||
"category": "form",
|
||||
"description": "Multi-line text input",
|
||||
"tokens": {
|
||||
"background": "var(--color-background)",
|
||||
"border": "var(--color-input)",
|
||||
"text": "var(--color-foreground)",
|
||||
"placeholder": "var(--color-muted-foreground)",
|
||||
"focus": "var(--color-ring)"
|
||||
}
|
||||
},
|
||||
|
||||
"toast": {
|
||||
"name": "Toast",
|
||||
"category": "feedback",
|
||||
"description": "Toast notification component",
|
||||
"radixPrimitive": "@radix-ui/react-toast",
|
||||
"variants": {
|
||||
"variant": ["default", "destructive"]
|
||||
},
|
||||
"tokens": {
|
||||
"background": "var(--color-background)",
|
||||
"text": "var(--color-foreground)",
|
||||
"border": "var(--color-border)",
|
||||
"destructive": "var(--color-destructive)"
|
||||
}
|
||||
},
|
||||
|
||||
"toggle": {
|
||||
"name": "Toggle",
|
||||
"category": "form",
|
||||
"description": "Two-state button",
|
||||
"radixPrimitive": "@radix-ui/react-toggle",
|
||||
"variants": {
|
||||
"variant": ["default", "outline"],
|
||||
"size": ["default", "sm", "lg"]
|
||||
},
|
||||
"tokens": {
|
||||
"background": "var(--color-transparent)",
|
||||
"hover": "var(--color-muted)",
|
||||
"active": "var(--color-accent)"
|
||||
}
|
||||
},
|
||||
|
||||
"toggle-group": {
|
||||
"name": "Toggle Group",
|
||||
"category": "form",
|
||||
"description": "Group of toggle buttons",
|
||||
"radixPrimitive": "@radix-ui/react-toggle-group",
|
||||
"tokens": {
|
||||
"background": "var(--color-muted)",
|
||||
"active": "var(--color-background)"
|
||||
}
|
||||
},
|
||||
|
||||
"tooltip": {
|
||||
"name": "Tooltip",
|
||||
"category": "overlay",
|
||||
"description": "Informative popup on hover",
|
||||
"radixPrimitive": "@radix-ui/react-tooltip",
|
||||
"tokens": {
|
||||
"background": "var(--color-popover)",
|
||||
"text": "var(--color-popover-foreground)"
|
||||
}
|
||||
},
|
||||
|
||||
"typography": {
|
||||
"name": "Typography",
|
||||
"category": "data-display",
|
||||
"description": "Text styling components",
|
||||
"subComponents": ["H1", "H2", "H3", "H4", "P", "Lead", "Large", "Small", "Muted", "Blockquote", "InlineCode"],
|
||||
"tokens": {
|
||||
"heading": "var(--color-foreground)",
|
||||
"body": "var(--color-foreground)",
|
||||
"muted": "var(--color-muted-foreground)",
|
||||
"code": "var(--color-foreground)"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
"categories": {
|
||||
"form": {
|
||||
"name": "Form Components",
|
||||
"description": "Input controls and form elements",
|
||||
"components": ["button", "button-group", "calendar", "checkbox", "combobox", "command", "date-picker", "field", "form", "input", "input-group", "input-otp", "label", "native-select", "radio-group", "select", "slider", "switch", "textarea", "toggle", "toggle-group"]
|
||||
},
|
||||
"data-display": {
|
||||
"name": "Data Display",
|
||||
"description": "Components for displaying data",
|
||||
"components": ["accordion", "avatar", "badge", "carousel", "chart", "collapsible", "data-table", "item", "kbd", "table", "typography"]
|
||||
},
|
||||
"feedback": {
|
||||
"name": "Feedback",
|
||||
"description": "User feedback components",
|
||||
"components": ["alert", "empty", "progress", "skeleton", "sonner", "spinner", "toast"]
|
||||
},
|
||||
"navigation": {
|
||||
"name": "Navigation",
|
||||
"description": "Navigation components",
|
||||
"components": ["breadcrumb", "menubar", "navigation-menu", "pagination", "sidebar", "tabs"]
|
||||
},
|
||||
"overlay": {
|
||||
"name": "Overlay",
|
||||
"description": "Modal and overlay components",
|
||||
"components": ["alert-dialog", "context-menu", "dialog", "drawer", "dropdown-menu", "hover-card", "popover", "sheet", "tooltip"]
|
||||
},
|
||||
"layout": {
|
||||
"name": "Layout",
|
||||
"description": "Layout and structure components",
|
||||
"components": ["aspect-ratio", "card", "resizable", "scroll-area", "separator"]
|
||||
}
|
||||
},
|
||||
|
||||
"dependencies": {
|
||||
"core": ["class-variance-authority", "clsx", "tailwind-merge"],
|
||||
"radix": [
|
||||
"@radix-ui/react-accordion",
|
||||
"@radix-ui/react-alert-dialog",
|
||||
"@radix-ui/react-aspect-ratio",
|
||||
"@radix-ui/react-avatar",
|
||||
"@radix-ui/react-checkbox",
|
||||
"@radix-ui/react-collapsible",
|
||||
"@radix-ui/react-context-menu",
|
||||
"@radix-ui/react-dialog",
|
||||
"@radix-ui/react-dropdown-menu",
|
||||
"@radix-ui/react-hover-card",
|
||||
"@radix-ui/react-label",
|
||||
"@radix-ui/react-menubar",
|
||||
"@radix-ui/react-navigation-menu",
|
||||
"@radix-ui/react-popover",
|
||||
"@radix-ui/react-progress",
|
||||
"@radix-ui/react-radio-group",
|
||||
"@radix-ui/react-scroll-area",
|
||||
"@radix-ui/react-select",
|
||||
"@radix-ui/react-separator",
|
||||
"@radix-ui/react-slider",
|
||||
"@radix-ui/react-switch",
|
||||
"@radix-ui/react-tabs",
|
||||
"@radix-ui/react-toast",
|
||||
"@radix-ui/react-toggle",
|
||||
"@radix-ui/react-toggle-group",
|
||||
"@radix-ui/react-tooltip"
|
||||
],
|
||||
"additional": [
|
||||
"cmdk",
|
||||
"embla-carousel-react",
|
||||
"input-otp",
|
||||
"react-day-picker",
|
||||
"react-hook-form",
|
||||
"@hookform/resolvers",
|
||||
"react-resizable-panels",
|
||||
"recharts",
|
||||
"sonner",
|
||||
"vaul",
|
||||
"zod",
|
||||
"@tanstack/react-table"
|
||||
]
|
||||
}
|
||||
}
|
||||
20
.dss/config/figma.json
Normal file
20
.dss/config/figma.json
Normal file
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"_meta": {
|
||||
"description": "Figma configuration - IMMUTABLE (survives resets)",
|
||||
"protected": true
|
||||
},
|
||||
"token": "figd_ScdBk47HlYEItZbQv2CcF9aq-3TfWbBXN3yoRKWA",
|
||||
"uikit_reference": {
|
||||
"file_key": "evCZlaeZrP7X20NIViSJbl",
|
||||
"name": "Obra-shadcn-ui-uikit",
|
||||
"url": "https://www.figma.com/design/evCZlaeZrP7X20NIViSJbl/Obra-shadcn-ui--uikit-"
|
||||
},
|
||||
"files": [
|
||||
{
|
||||
"key": "evCZlaeZrP7X20NIViSJbl",
|
||||
"name": "Obra-shadcn-ui-uikit",
|
||||
"type": "uikit"
|
||||
}
|
||||
],
|
||||
"teams": []
|
||||
}
|
||||
29
.dss/core-hashes.sha256
Normal file
29
.dss/core-hashes.sha256
Normal file
@@ -0,0 +1,29 @@
|
||||
# DSS Core Structure Hashes
|
||||
# Generated: 2025-12-10T21:38:48-03:00
|
||||
# Source: Figma sync pipeline
|
||||
# DO NOT EDIT MANUALLY
|
||||
|
||||
# Format: SHA256 filepath
|
||||
7738ad7d749558ef8e4a9337b3d14ab851bee8b4b241037e2db0a5b33c61c79e .dss/schema/api.schema.json
|
||||
e41f535f7a226d37574b880164f338388b52623ccc14af7b2013ef6ab634e318 .dss/schema/components.schema.json
|
||||
aa5a73c08390433b04ec1f96288cfac573fd5397a2d51774c211db2b8876faf9 .dss/schema/guardrails.schema.json
|
||||
0d168d0ec2f2c8ab373b02cc42169df45ef5f41e6575493350a5ca4ff6f9797e .dss/schema/skin-contract.json
|
||||
144642ab5d7b89f73138a9176c65fe8ca05ccf9af1e25b3f9589df37c04c8d70 .dss/schema/tokens.schema.json
|
||||
57a08fcb06fc9f23617875ec5a28190cae6e5a4b1c66a89072f581405b53d135 .dss/schema/workflows.schema.json
|
||||
ef4e720e445987685683a5d76ff2a81efae36e67a6ac9e1b0801775b87c30afd dss-claude-plugin/core/skins/base.json
|
||||
2a709577c30111861b8274f4fe115380436ed943cc6ae3e39140d8a16ccf4bad dss-claude-plugin/core/skins/classic.json
|
||||
5f356bd862f963e2efd06f2b7922792bca795d45516c45563c0371b90b91c2e1 dss-claude-plugin/core/skins/workbench.json
|
||||
3242ccb81ca30197e78251453f4594c271afe02502204900329f03ee92a9b7a3 dss/core_tokens/tokens.json
|
||||
d2f926b311963cbf5748f99f6fde1f88a04efd0533ea73a90318a78a53dfeafd .dss/data/_system/components.json
|
||||
6ea9af5cc6ea337e3128b7c4395888f51aa5b4208afcc6a77fd4b465efa2222f .dss/data/_system/styles.json
|
||||
d972e3ebdd7ae2e213a3ae79064a6a0d0aa10bfa20e5dfcbe907f2811ebb2593 .dss/data/_system/figma-components.json
|
||||
75ecdaeee10d7b0c4383f08b26384fbdf0ac381c99f89cd21ea6b3e4895e3b9d .dss/data/_system/style-dictionary.config.json
|
||||
b9beb00ffd505a040543051544895fd47bfc948cb39f8c7827656872ab236501 .dss/data/_system/themes/_tokens.scss
|
||||
b5e5f0c1fa400c0b681caca5aacbfc9e67f44054549af3a43baddf864255b764 .dss/data/_system/themes/tokens.json
|
||||
76a0bead01ab199680ec88e06e2ebc17e1962dc7bca8b288a62c3922f9d9e9a7 .dss/data/_system/themes/tokens.css
|
||||
0a0d403395d0d87eb9dd70f28c91d69f7637eedb1e2b562a51185d7dfbf3ebfd .dss/data/_system/analysis-storybook.json
|
||||
3242ccb81ca30197e78251453f4594c271afe02502204900329f03ee92a9b7a3 .dss/data/_system/tokens/base.json
|
||||
03df370af13ad41d72635e82e81bfbf85f3ee2e5cbe3e66d27222e612c67568b .dss/data/_system/tokens/resolved-meta.json
|
||||
9175c3bf0581b652d10704a2d85f1ec9fc68809e90850c01d9acd1d571618a6a .dss/data/_system/tokens/tokens.json
|
||||
4321119e41b6763a49d654978161b02dead66116ecca6c7f215e021cacfeeab1 .dss/data/_system/ds.config.json
|
||||
f74658540c8d2838e17de647f0c788de674e3d95dcebc89bfa103f6dc656487c .dss/data/_system/analysis-admin-ui.json
|
||||
503
.dss/core/primitives.json
Normal file
503
.dss/core/primitives.json
Normal file
@@ -0,0 +1,503 @@
|
||||
{
|
||||
"_meta": {
|
||||
"description": "Core design primitives - raw values from Tailwind/shadcn palette",
|
||||
"layer": "core",
|
||||
"immutable": true,
|
||||
"version": "1.1.0",
|
||||
"source": "tailwindcss + shadcn/ui"
|
||||
},
|
||||
|
||||
"color": {
|
||||
"_category": "Color Primitives",
|
||||
|
||||
"base": {
|
||||
"_description": "Base colors",
|
||||
"white": { "value": "#ffffff" },
|
||||
"black": { "value": "#000000" },
|
||||
"transparent": { "value": "transparent" }
|
||||
},
|
||||
|
||||
"neutral": {
|
||||
"_description": "Neutral gray scales",
|
||||
"slate": {
|
||||
"50": { "value": "#f8fafc" },
|
||||
"100": { "value": "#f1f5f9" },
|
||||
"200": { "value": "#e2e8f0" },
|
||||
"300": { "value": "#cbd5e1" },
|
||||
"400": { "value": "#94a3b8" },
|
||||
"500": { "value": "#64748b" },
|
||||
"600": { "value": "#475569" },
|
||||
"700": { "value": "#334155" },
|
||||
"800": { "value": "#1e293b" },
|
||||
"900": { "value": "#0f172a" },
|
||||
"950": { "value": "#020617" }
|
||||
},
|
||||
"gray": {
|
||||
"50": { "value": "#f9fafb" },
|
||||
"100": { "value": "#f3f4f6" },
|
||||
"200": { "value": "#e5e7eb" },
|
||||
"300": { "value": "#d1d5db" },
|
||||
"400": { "value": "#9ca3af" },
|
||||
"500": { "value": "#6b7280" },
|
||||
"600": { "value": "#4b5563" },
|
||||
"700": { "value": "#374151" },
|
||||
"800": { "value": "#1f2937" },
|
||||
"900": { "value": "#111827" },
|
||||
"950": { "value": "#030712" }
|
||||
},
|
||||
"zinc": {
|
||||
"50": { "value": "#fafafa" },
|
||||
"100": { "value": "#f4f4f5" },
|
||||
"200": { "value": "#e4e4e7" },
|
||||
"300": { "value": "#d4d4d8" },
|
||||
"400": { "value": "#a1a1aa" },
|
||||
"500": { "value": "#71717a" },
|
||||
"600": { "value": "#52525b" },
|
||||
"700": { "value": "#3f3f46" },
|
||||
"800": { "value": "#27272a" },
|
||||
"900": { "value": "#18181b" },
|
||||
"950": { "value": "#09090b" }
|
||||
},
|
||||
"neutral": {
|
||||
"50": { "value": "#fafafa" },
|
||||
"100": { "value": "#f5f5f5" },
|
||||
"200": { "value": "#e5e5e5" },
|
||||
"300": { "value": "#d4d4d4" },
|
||||
"400": { "value": "#a3a3a3" },
|
||||
"500": { "value": "#737373" },
|
||||
"600": { "value": "#525252" },
|
||||
"700": { "value": "#404040" },
|
||||
"800": { "value": "#262626" },
|
||||
"900": { "value": "#171717" },
|
||||
"950": { "value": "#0a0a0a" }
|
||||
},
|
||||
"stone": {
|
||||
"50": { "value": "#fafaf9" },
|
||||
"100": { "value": "#f5f5f4" },
|
||||
"200": { "value": "#e7e5e4" },
|
||||
"300": { "value": "#d6d3d1" },
|
||||
"400": { "value": "#a8a29e" },
|
||||
"500": { "value": "#78716c" },
|
||||
"600": { "value": "#57534e" },
|
||||
"700": { "value": "#44403c" },
|
||||
"800": { "value": "#292524" },
|
||||
"900": { "value": "#1c1917" },
|
||||
"950": { "value": "#0c0a09" }
|
||||
}
|
||||
},
|
||||
|
||||
"semantic": {
|
||||
"_description": "Semantic color scales",
|
||||
"red": {
|
||||
"50": { "value": "#fef2f2" },
|
||||
"100": { "value": "#fee2e2" },
|
||||
"200": { "value": "#fecaca" },
|
||||
"300": { "value": "#fca5a5" },
|
||||
"400": { "value": "#f87171" },
|
||||
"500": { "value": "#ef4444" },
|
||||
"600": { "value": "#dc2626" },
|
||||
"700": { "value": "#b91c1c" },
|
||||
"800": { "value": "#991b1b" },
|
||||
"900": { "value": "#7f1d1d" },
|
||||
"950": { "value": "#450a0a" }
|
||||
},
|
||||
"orange": {
|
||||
"50": { "value": "#fff7ed" },
|
||||
"100": { "value": "#ffedd5" },
|
||||
"200": { "value": "#fed7aa" },
|
||||
"300": { "value": "#fdba74" },
|
||||
"400": { "value": "#fb923c" },
|
||||
"500": { "value": "#f97316" },
|
||||
"600": { "value": "#ea580c" },
|
||||
"700": { "value": "#c2410c" },
|
||||
"800": { "value": "#9a3412" },
|
||||
"900": { "value": "#7c2d12" },
|
||||
"950": { "value": "#431407" }
|
||||
},
|
||||
"amber": {
|
||||
"50": { "value": "#fffbeb" },
|
||||
"100": { "value": "#fef3c7" },
|
||||
"200": { "value": "#fde68a" },
|
||||
"300": { "value": "#fcd34d" },
|
||||
"400": { "value": "#fbbf24" },
|
||||
"500": { "value": "#f59e0b" },
|
||||
"600": { "value": "#d97706" },
|
||||
"700": { "value": "#b45309" },
|
||||
"800": { "value": "#92400e" },
|
||||
"900": { "value": "#78350f" },
|
||||
"950": { "value": "#451a03" }
|
||||
},
|
||||
"yellow": {
|
||||
"50": { "value": "#fefce8" },
|
||||
"100": { "value": "#fef9c3" },
|
||||
"200": { "value": "#fef08a" },
|
||||
"300": { "value": "#fde047" },
|
||||
"400": { "value": "#facc15" },
|
||||
"500": { "value": "#eab308" },
|
||||
"600": { "value": "#ca8a04" },
|
||||
"700": { "value": "#a16207" },
|
||||
"800": { "value": "#854d0e" },
|
||||
"900": { "value": "#713f12" },
|
||||
"950": { "value": "#422006" }
|
||||
},
|
||||
"lime": {
|
||||
"50": { "value": "#f7fee7" },
|
||||
"100": { "value": "#ecfccb" },
|
||||
"200": { "value": "#d9f99d" },
|
||||
"300": { "value": "#bef264" },
|
||||
"400": { "value": "#a3e635" },
|
||||
"500": { "value": "#84cc16" },
|
||||
"600": { "value": "#65a30d" },
|
||||
"700": { "value": "#4d7c0f" },
|
||||
"800": { "value": "#3f6212" },
|
||||
"900": { "value": "#365314" },
|
||||
"950": { "value": "#1a2e05" }
|
||||
},
|
||||
"green": {
|
||||
"50": { "value": "#f0fdf4" },
|
||||
"100": { "value": "#dcfce7" },
|
||||
"200": { "value": "#bbf7d0" },
|
||||
"300": { "value": "#86efac" },
|
||||
"400": { "value": "#4ade80" },
|
||||
"500": { "value": "#22c55e" },
|
||||
"600": { "value": "#16a34a" },
|
||||
"700": { "value": "#15803d" },
|
||||
"800": { "value": "#166534" },
|
||||
"900": { "value": "#14532d" },
|
||||
"950": { "value": "#052e16" }
|
||||
},
|
||||
"emerald": {
|
||||
"50": { "value": "#ecfdf5" },
|
||||
"100": { "value": "#d1fae5" },
|
||||
"200": { "value": "#a7f3d0" },
|
||||
"300": { "value": "#6ee7b7" },
|
||||
"400": { "value": "#34d399" },
|
||||
"500": { "value": "#10b981" },
|
||||
"600": { "value": "#059669" },
|
||||
"700": { "value": "#047857" },
|
||||
"800": { "value": "#065f46" },
|
||||
"900": { "value": "#064e3b" },
|
||||
"950": { "value": "#022c22" }
|
||||
},
|
||||
"teal": {
|
||||
"50": { "value": "#f0fdfa" },
|
||||
"100": { "value": "#ccfbf1" },
|
||||
"200": { "value": "#99f6e4" },
|
||||
"300": { "value": "#5eead4" },
|
||||
"400": { "value": "#2dd4bf" },
|
||||
"500": { "value": "#14b8a6" },
|
||||
"600": { "value": "#0d9488" },
|
||||
"700": { "value": "#0f766e" },
|
||||
"800": { "value": "#115e59" },
|
||||
"900": { "value": "#134e4a" },
|
||||
"950": { "value": "#042f2e" }
|
||||
},
|
||||
"cyan": {
|
||||
"50": { "value": "#ecfeff" },
|
||||
"100": { "value": "#cffafe" },
|
||||
"200": { "value": "#a5f3fc" },
|
||||
"300": { "value": "#67e8f9" },
|
||||
"400": { "value": "#22d3ee" },
|
||||
"500": { "value": "#06b6d4" },
|
||||
"600": { "value": "#0891b2" },
|
||||
"700": { "value": "#0e7490" },
|
||||
"800": { "value": "#155e75" },
|
||||
"900": { "value": "#164e63" },
|
||||
"950": { "value": "#083344" }
|
||||
},
|
||||
"sky": {
|
||||
"50": { "value": "#f0f9ff" },
|
||||
"100": { "value": "#e0f2fe" },
|
||||
"200": { "value": "#bae6fd" },
|
||||
"300": { "value": "#7dd3fc" },
|
||||
"400": { "value": "#38bdf8" },
|
||||
"500": { "value": "#0ea5e9" },
|
||||
"600": { "value": "#0284c7" },
|
||||
"700": { "value": "#0369a1" },
|
||||
"800": { "value": "#075985" },
|
||||
"900": { "value": "#0c4a6e" },
|
||||
"950": { "value": "#082f49" }
|
||||
},
|
||||
"blue": {
|
||||
"50": { "value": "#eff6ff" },
|
||||
"100": { "value": "#dbeafe" },
|
||||
"200": { "value": "#bfdbfe" },
|
||||
"300": { "value": "#93c5fd" },
|
||||
"400": { "value": "#60a5fa" },
|
||||
"500": { "value": "#3b82f6" },
|
||||
"600": { "value": "#2563eb" },
|
||||
"700": { "value": "#1d4ed8" },
|
||||
"800": { "value": "#1e40af" },
|
||||
"900": { "value": "#1e3a8a" },
|
||||
"950": { "value": "#172554" }
|
||||
},
|
||||
"indigo": {
|
||||
"50": { "value": "#eef2ff" },
|
||||
"100": { "value": "#e0e7ff" },
|
||||
"200": { "value": "#c7d2fe" },
|
||||
"300": { "value": "#a5b4fc" },
|
||||
"400": { "value": "#818cf8" },
|
||||
"500": { "value": "#6366f1" },
|
||||
"600": { "value": "#4f46e5" },
|
||||
"700": { "value": "#4338ca" },
|
||||
"800": { "value": "#3730a3" },
|
||||
"900": { "value": "#312e81" },
|
||||
"950": { "value": "#1e1b4b" }
|
||||
},
|
||||
"violet": {
|
||||
"50": { "value": "#f5f3ff" },
|
||||
"100": { "value": "#ede9fe" },
|
||||
"200": { "value": "#ddd6fe" },
|
||||
"300": { "value": "#c4b5fd" },
|
||||
"400": { "value": "#a78bfa" },
|
||||
"500": { "value": "#8b5cf6" },
|
||||
"600": { "value": "#7c3aed" },
|
||||
"700": { "value": "#6d28d9" },
|
||||
"800": { "value": "#5b21b6" },
|
||||
"900": { "value": "#4c1d95" },
|
||||
"950": { "value": "#2e1065" }
|
||||
},
|
||||
"purple": {
|
||||
"50": { "value": "#faf5ff" },
|
||||
"100": { "value": "#f3e8ff" },
|
||||
"200": { "value": "#e9d5ff" },
|
||||
"300": { "value": "#d8b4fe" },
|
||||
"400": { "value": "#c084fc" },
|
||||
"500": { "value": "#a855f7" },
|
||||
"600": { "value": "#9333ea" },
|
||||
"700": { "value": "#7e22ce" },
|
||||
"800": { "value": "#6b21a8" },
|
||||
"900": { "value": "#581c87" },
|
||||
"950": { "value": "#3b0764" }
|
||||
},
|
||||
"fuchsia": {
|
||||
"50": { "value": "#fdf4ff" },
|
||||
"100": { "value": "#fae8ff" },
|
||||
"200": { "value": "#f5d0fe" },
|
||||
"300": { "value": "#f0abfc" },
|
||||
"400": { "value": "#e879f9" },
|
||||
"500": { "value": "#d946ef" },
|
||||
"600": { "value": "#c026d3" },
|
||||
"700": { "value": "#a21caf" },
|
||||
"800": { "value": "#86198f" },
|
||||
"900": { "value": "#701a75" },
|
||||
"950": { "value": "#4a044e" }
|
||||
},
|
||||
"pink": {
|
||||
"50": { "value": "#fdf2f8" },
|
||||
"100": { "value": "#fce7f3" },
|
||||
"200": { "value": "#fbcfe8" },
|
||||
"300": { "value": "#f9a8d4" },
|
||||
"400": { "value": "#f472b6" },
|
||||
"500": { "value": "#ec4899" },
|
||||
"600": { "value": "#db2777" },
|
||||
"700": { "value": "#be185d" },
|
||||
"800": { "value": "#9d174d" },
|
||||
"900": { "value": "#831843" },
|
||||
"950": { "value": "#500724" }
|
||||
},
|
||||
"rose": {
|
||||
"50": { "value": "#fff1f2" },
|
||||
"100": { "value": "#ffe4e6" },
|
||||
"200": { "value": "#fecdd3" },
|
||||
"300": { "value": "#fda4af" },
|
||||
"400": { "value": "#fb7185" },
|
||||
"500": { "value": "#f43f5e" },
|
||||
"600": { "value": "#e11d48" },
|
||||
"700": { "value": "#be123c" },
|
||||
"800": { "value": "#9f1239" },
|
||||
"900": { "value": "#881337" },
|
||||
"950": { "value": "#4c0519" }
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
"spacing": {
|
||||
"_category": "Spacing Scale",
|
||||
"_description": "Based on 4px grid (0.25rem = 4px)",
|
||||
"0": { "value": "0" },
|
||||
"px": { "value": "1px" },
|
||||
"0.5": { "value": "0.125rem", "_comment": "2px" },
|
||||
"1": { "value": "0.25rem", "_comment": "4px" },
|
||||
"1.5": { "value": "0.375rem", "_comment": "6px" },
|
||||
"2": { "value": "0.5rem", "_comment": "8px" },
|
||||
"2.5": { "value": "0.625rem", "_comment": "10px" },
|
||||
"3": { "value": "0.75rem", "_comment": "12px" },
|
||||
"3.5": { "value": "0.875rem", "_comment": "14px" },
|
||||
"4": { "value": "1rem", "_comment": "16px" },
|
||||
"5": { "value": "1.25rem", "_comment": "20px" },
|
||||
"6": { "value": "1.5rem", "_comment": "24px" },
|
||||
"7": { "value": "1.75rem", "_comment": "28px" },
|
||||
"8": { "value": "2rem", "_comment": "32px" },
|
||||
"9": { "value": "2.25rem", "_comment": "36px" },
|
||||
"10": { "value": "2.5rem", "_comment": "40px" },
|
||||
"11": { "value": "2.75rem", "_comment": "44px" },
|
||||
"12": { "value": "3rem", "_comment": "48px" },
|
||||
"14": { "value": "3.5rem", "_comment": "56px" },
|
||||
"16": { "value": "4rem", "_comment": "64px" },
|
||||
"20": { "value": "5rem", "_comment": "80px" },
|
||||
"24": { "value": "6rem", "_comment": "96px" },
|
||||
"28": { "value": "7rem", "_comment": "112px" },
|
||||
"32": { "value": "8rem", "_comment": "128px" },
|
||||
"36": { "value": "9rem", "_comment": "144px" },
|
||||
"40": { "value": "10rem", "_comment": "160px" },
|
||||
"44": { "value": "11rem", "_comment": "176px" },
|
||||
"48": { "value": "12rem", "_comment": "192px" },
|
||||
"52": { "value": "13rem", "_comment": "208px" },
|
||||
"56": { "value": "14rem", "_comment": "224px" },
|
||||
"60": { "value": "15rem", "_comment": "240px" },
|
||||
"64": { "value": "16rem", "_comment": "256px" },
|
||||
"72": { "value": "18rem", "_comment": "288px" },
|
||||
"80": { "value": "20rem", "_comment": "320px" },
|
||||
"96": { "value": "24rem", "_comment": "384px" }
|
||||
},
|
||||
|
||||
"radius": {
|
||||
"_category": "Border Radius",
|
||||
"none": { "value": "0" },
|
||||
"sm": { "value": "0.125rem", "_comment": "2px" },
|
||||
"default": { "value": "0.25rem", "_comment": "4px" },
|
||||
"md": { "value": "0.375rem", "_comment": "6px" },
|
||||
"lg": { "value": "0.5rem", "_comment": "8px" },
|
||||
"xl": { "value": "0.75rem", "_comment": "12px" },
|
||||
"2xl": { "value": "1rem", "_comment": "16px" },
|
||||
"3xl": { "value": "1.5rem", "_comment": "24px" },
|
||||
"full": { "value": "9999px" }
|
||||
},
|
||||
|
||||
"shadow": {
|
||||
"_category": "Box Shadows",
|
||||
"none": { "value": "none" },
|
||||
"xs": { "value": "0 1px 2px 0 rgba(0, 0, 0, 0.05)" },
|
||||
"sm": { "value": "0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1)" },
|
||||
"default": { "value": "0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1)" },
|
||||
"md": { "value": "0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1)" },
|
||||
"lg": { "value": "0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1)" },
|
||||
"xl": { "value": "0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1)" },
|
||||
"2xl": { "value": "0 25px 50px -12px rgba(0, 0, 0, 0.25)" },
|
||||
"inner": { "value": "inset 0 2px 4px 0 rgba(0, 0, 0, 0.05)" }
|
||||
},
|
||||
|
||||
"font": {
|
||||
"_category": "Typography",
|
||||
|
||||
"family": {
|
||||
"_description": "Font families",
|
||||
"sans": { "value": "Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif" },
|
||||
"serif": { "value": "ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif" },
|
||||
"mono": { "value": "ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace" }
|
||||
},
|
||||
|
||||
"size": {
|
||||
"_description": "Font sizes",
|
||||
"xs": { "value": "0.75rem", "_comment": "12px", "lineHeight": "1rem" },
|
||||
"sm": { "value": "0.875rem", "_comment": "14px", "lineHeight": "1.25rem" },
|
||||
"base": { "value": "1rem", "_comment": "16px", "lineHeight": "1.5rem" },
|
||||
"lg": { "value": "1.125rem", "_comment": "18px", "lineHeight": "1.75rem" },
|
||||
"xl": { "value": "1.25rem", "_comment": "20px", "lineHeight": "1.75rem" },
|
||||
"2xl": { "value": "1.5rem", "_comment": "24px", "lineHeight": "2rem" },
|
||||
"3xl": { "value": "1.875rem", "_comment": "30px", "lineHeight": "2.25rem" },
|
||||
"4xl": { "value": "2.25rem", "_comment": "36px", "lineHeight": "2.5rem" },
|
||||
"5xl": { "value": "3rem", "_comment": "48px", "lineHeight": "1" },
|
||||
"6xl": { "value": "3.75rem", "_comment": "60px", "lineHeight": "1" },
|
||||
"7xl": { "value": "4.5rem", "_comment": "72px", "lineHeight": "1" },
|
||||
"8xl": { "value": "6rem", "_comment": "96px", "lineHeight": "1" },
|
||||
"9xl": { "value": "8rem", "_comment": "128px", "lineHeight": "1" }
|
||||
},
|
||||
|
||||
"weight": {
|
||||
"_description": "Font weights",
|
||||
"thin": { "value": "100" },
|
||||
"extralight": { "value": "200" },
|
||||
"light": { "value": "300" },
|
||||
"normal": { "value": "400" },
|
||||
"medium": { "value": "500" },
|
||||
"semibold": { "value": "600" },
|
||||
"bold": { "value": "700" },
|
||||
"extrabold": { "value": "800" },
|
||||
"black": { "value": "900" }
|
||||
},
|
||||
|
||||
"lineHeight": {
|
||||
"_description": "Line heights",
|
||||
"none": { "value": "1" },
|
||||
"tight": { "value": "1.25" },
|
||||
"snug": { "value": "1.375" },
|
||||
"normal": { "value": "1.5" },
|
||||
"relaxed": { "value": "1.625" },
|
||||
"loose": { "value": "2" }
|
||||
},
|
||||
|
||||
"letterSpacing": {
|
||||
"_description": "Letter spacing",
|
||||
"tighter": { "value": "-0.05em" },
|
||||
"tight": { "value": "-0.025em" },
|
||||
"normal": { "value": "0" },
|
||||
"wide": { "value": "0.025em" },
|
||||
"wider": { "value": "0.05em" },
|
||||
"widest": { "value": "0.1em" }
|
||||
}
|
||||
},
|
||||
|
||||
"animation": {
|
||||
"_category": "Motion & Animation",
|
||||
|
||||
"duration": {
|
||||
"0": { "value": "0ms" },
|
||||
"75": { "value": "75ms" },
|
||||
"100": { "value": "100ms" },
|
||||
"150": { "value": "150ms" },
|
||||
"200": { "value": "200ms" },
|
||||
"300": { "value": "300ms" },
|
||||
"500": { "value": "500ms" },
|
||||
"700": { "value": "700ms" },
|
||||
"1000": { "value": "1000ms" }
|
||||
},
|
||||
|
||||
"easing": {
|
||||
"linear": { "value": "linear" },
|
||||
"in": { "value": "cubic-bezier(0.4, 0, 1, 1)" },
|
||||
"out": { "value": "cubic-bezier(0, 0, 0.2, 1)" },
|
||||
"in-out": { "value": "cubic-bezier(0.4, 0, 0.2, 1)" }
|
||||
}
|
||||
},
|
||||
|
||||
"breakpoint": {
|
||||
"_category": "Responsive Breakpoints",
|
||||
"sm": { "value": "640px" },
|
||||
"md": { "value": "768px" },
|
||||
"lg": { "value": "1024px" },
|
||||
"xl": { "value": "1280px" },
|
||||
"2xl": { "value": "1536px" }
|
||||
},
|
||||
|
||||
"zIndex": {
|
||||
"_category": "Z-Index Scale",
|
||||
"0": { "value": "0" },
|
||||
"10": { "value": "10" },
|
||||
"20": { "value": "20" },
|
||||
"30": { "value": "30" },
|
||||
"40": { "value": "40" },
|
||||
"50": { "value": "50" },
|
||||
"auto": { "value": "auto" }
|
||||
},
|
||||
|
||||
"opacity": {
|
||||
"_category": "Opacity Scale",
|
||||
"0": { "value": "0" },
|
||||
"5": { "value": "0.05" },
|
||||
"10": { "value": "0.1" },
|
||||
"20": { "value": "0.2" },
|
||||
"25": { "value": "0.25" },
|
||||
"30": { "value": "0.3" },
|
||||
"40": { "value": "0.4" },
|
||||
"50": { "value": "0.5" },
|
||||
"60": { "value": "0.6" },
|
||||
"70": { "value": "0.7" },
|
||||
"75": { "value": "0.75" },
|
||||
"80": { "value": "0.8" },
|
||||
"90": { "value": "0.9" },
|
||||
"95": { "value": "0.95" },
|
||||
"100": { "value": "1" }
|
||||
}
|
||||
}
|
||||
1
.dss/data/_system/analysis-admin-ui.json
Normal file
1
.dss/data/_system/analysis-admin-ui.json
Normal file
@@ -0,0 +1 @@
|
||||
{"target":"admin-ui","analyzed_at":"2025-12-10T21:38:46-03:00","stats":{"js":168,"css":20,"html":4},"status":"analyzed"}
|
||||
1
.dss/data/_system/analysis-storybook.json
Normal file
1
.dss/data/_system/analysis-storybook.json
Normal file
@@ -0,0 +1 @@
|
||||
{"target":"storybook","analyzed_at":"2025-12-10T21:38:46-03:00","stats":{"stories":14,"mdx":0},"status":"analyzed"}
|
||||
373
.dss/data/_system/components.json
Normal file
373
.dss/data/_system/components.json
Normal file
@@ -0,0 +1,373 @@
|
||||
[
|
||||
{
|
||||
"name": "Accordion",
|
||||
"key": "842:49174",
|
||||
"description": "Component page: Accordion",
|
||||
"properties": {},
|
||||
"variants": []
|
||||
},
|
||||
{
|
||||
"name": "Alert",
|
||||
"key": "842:44439",
|
||||
"description": "Component page: Alert",
|
||||
"properties": {},
|
||||
"variants": []
|
||||
},
|
||||
{
|
||||
"name": "Alert Dialog",
|
||||
"key": "842:51942",
|
||||
"description": "Component page: Alert Dialog",
|
||||
"properties": {},
|
||||
"variants": []
|
||||
},
|
||||
{
|
||||
"name": "Aspect Ratio",
|
||||
"key": "842:52053",
|
||||
"description": "Component page: Aspect Ratio",
|
||||
"properties": {},
|
||||
"variants": []
|
||||
},
|
||||
{
|
||||
"name": "Avatar",
|
||||
"key": "842:44440",
|
||||
"description": "Component page: Avatar",
|
||||
"properties": {},
|
||||
"variants": []
|
||||
},
|
||||
{
|
||||
"name": "Badge",
|
||||
"key": "842:44441",
|
||||
"description": "Component page: Badge",
|
||||
"properties": {},
|
||||
"variants": []
|
||||
},
|
||||
{
|
||||
"name": "Breadcrumb",
|
||||
"key": "842:51940",
|
||||
"description": "Component page: Breadcrumb",
|
||||
"properties": {},
|
||||
"variants": []
|
||||
},
|
||||
{
|
||||
"name": "Button",
|
||||
"key": "842:44442",
|
||||
"description": "Component page: Button",
|
||||
"properties": {},
|
||||
"variants": []
|
||||
},
|
||||
{
|
||||
"name": "Button Group",
|
||||
"key": "842:44448",
|
||||
"description": "Component page: Button Group",
|
||||
"properties": {},
|
||||
"variants": []
|
||||
},
|
||||
{
|
||||
"name": "Card",
|
||||
"key": "842:49175",
|
||||
"description": "Component page: Card",
|
||||
"properties": {},
|
||||
"variants": []
|
||||
},
|
||||
{
|
||||
"name": "Carousel",
|
||||
"key": "842:52056",
|
||||
"description": "Component page: Carousel",
|
||||
"properties": {},
|
||||
"variants": []
|
||||
},
|
||||
{
|
||||
"name": "Charts",
|
||||
"key": "842:52058",
|
||||
"description": "Component page: Charts",
|
||||
"properties": {},
|
||||
"variants": []
|
||||
},
|
||||
{
|
||||
"name": "Checkbox",
|
||||
"key": "842:49183",
|
||||
"description": "Component page: Checkbox",
|
||||
"properties": {},
|
||||
"variants": []
|
||||
},
|
||||
{
|
||||
"name": "Command",
|
||||
"key": "842:52048",
|
||||
"description": "Component page: Command",
|
||||
"properties": {},
|
||||
"variants": []
|
||||
},
|
||||
{
|
||||
"name": "Data Table",
|
||||
"key": "842:49179",
|
||||
"description": "Component page: Data Table",
|
||||
"properties": {},
|
||||
"variants": []
|
||||
},
|
||||
{
|
||||
"name": "Date Picker",
|
||||
"key": "842:49186",
|
||||
"description": "Component page: Date Picker",
|
||||
"properties": {},
|
||||
"variants": []
|
||||
},
|
||||
{
|
||||
"name": "Dialog",
|
||||
"key": "842:51941",
|
||||
"description": "Component page: Dialog",
|
||||
"properties": {},
|
||||
"variants": []
|
||||
},
|
||||
{
|
||||
"name": "Drawer",
|
||||
"key": "842:52050",
|
||||
"description": "Component page: Drawer",
|
||||
"properties": {},
|
||||
"variants": []
|
||||
},
|
||||
{
|
||||
"name": "Empty",
|
||||
"key": "842:44451",
|
||||
"description": "Component page: Empty",
|
||||
"properties": {},
|
||||
"variants": []
|
||||
},
|
||||
{
|
||||
"name": "Field",
|
||||
"key": "842:49181",
|
||||
"description": "Component page: Field",
|
||||
"properties": {},
|
||||
"variants": []
|
||||
},
|
||||
{
|
||||
"name": "Hover Card",
|
||||
"key": "842:52051",
|
||||
"description": "Component page: Hover Card",
|
||||
"properties": {},
|
||||
"variants": []
|
||||
},
|
||||
{
|
||||
"name": "Icon Button",
|
||||
"key": "842:44443",
|
||||
"description": "Component page: Icon Button",
|
||||
"properties": {},
|
||||
"variants": []
|
||||
},
|
||||
{
|
||||
"name": "Input",
|
||||
"key": "842:49172",
|
||||
"description": "Component page: Input",
|
||||
"properties": {},
|
||||
"variants": []
|
||||
},
|
||||
{
|
||||
"name": "Input File",
|
||||
"key": "842:49173",
|
||||
"description": "Component page: Input File",
|
||||
"properties": {},
|
||||
"variants": []
|
||||
},
|
||||
{
|
||||
"name": "Input Group",
|
||||
"key": "885:2",
|
||||
"description": "Component page: Input Group",
|
||||
"properties": {},
|
||||
"variants": []
|
||||
},
|
||||
{
|
||||
"name": "Input OTP",
|
||||
"key": "842:49177",
|
||||
"description": "Component page: Input OTP",
|
||||
"properties": {},
|
||||
"variants": []
|
||||
},
|
||||
{
|
||||
"name": "Item",
|
||||
"key": "885:3081",
|
||||
"description": "Component page: Item",
|
||||
"properties": {},
|
||||
"variants": []
|
||||
},
|
||||
{
|
||||
"name": "Kbd",
|
||||
"key": "842:49171",
|
||||
"description": "Component page: Kbd",
|
||||
"properties": {},
|
||||
"variants": []
|
||||
},
|
||||
{
|
||||
"name": "Label",
|
||||
"key": "842:49170",
|
||||
"description": "Component page: Label",
|
||||
"properties": {},
|
||||
"variants": []
|
||||
},
|
||||
{
|
||||
"name": "Link Button",
|
||||
"key": "842:44446",
|
||||
"description": "Component page: Link Button",
|
||||
"properties": {},
|
||||
"variants": []
|
||||
},
|
||||
{
|
||||
"name": "Loading Button",
|
||||
"key": "842:44444",
|
||||
"description": "Component page: Loading Button",
|
||||
"properties": {},
|
||||
"variants": []
|
||||
},
|
||||
{
|
||||
"name": "Navigation Menu",
|
||||
"key": "842:51938",
|
||||
"description": "Component page: Navigation Menu",
|
||||
"properties": {},
|
||||
"variants": []
|
||||
},
|
||||
{
|
||||
"name": "Pagination",
|
||||
"key": "842:51939",
|
||||
"description": "Component page: Pagination",
|
||||
"properties": {},
|
||||
"variants": []
|
||||
},
|
||||
{
|
||||
"name": "Progress",
|
||||
"key": "842:49187",
|
||||
"description": "Component page: Progress",
|
||||
"properties": {},
|
||||
"variants": []
|
||||
},
|
||||
{
|
||||
"name": "Radio",
|
||||
"key": "842:49182",
|
||||
"description": "Component page: Radio",
|
||||
"properties": {},
|
||||
"variants": []
|
||||
},
|
||||
{
|
||||
"name": "Resizable",
|
||||
"key": "842:52055",
|
||||
"description": "Component page: Resizable",
|
||||
"properties": {},
|
||||
"variants": []
|
||||
},
|
||||
{
|
||||
"name": "Scroll Area",
|
||||
"key": "842:52054",
|
||||
"description": "Component page: Scroll Area",
|
||||
"properties": {},
|
||||
"variants": []
|
||||
},
|
||||
{
|
||||
"name": "Select & Combobox",
|
||||
"key": "842:49185",
|
||||
"description": "Component page: Select & Combobox",
|
||||
"properties": {},
|
||||
"variants": []
|
||||
},
|
||||
{
|
||||
"name": "Separator",
|
||||
"key": "842:49137",
|
||||
"description": "Component page: Separator",
|
||||
"properties": {},
|
||||
"variants": []
|
||||
},
|
||||
{
|
||||
"name": "Sheet",
|
||||
"key": "842:52049",
|
||||
"description": "Component page: Sheet",
|
||||
"properties": {},
|
||||
"variants": []
|
||||
},
|
||||
{
|
||||
"name": "Sidebar",
|
||||
"key": "842:51929",
|
||||
"description": "Component page: Sidebar",
|
||||
"properties": {},
|
||||
"variants": []
|
||||
},
|
||||
{
|
||||
"name": "Skeleton",
|
||||
"key": "842:52052",
|
||||
"description": "Component page: Skeleton",
|
||||
"properties": {},
|
||||
"variants": []
|
||||
},
|
||||
{
|
||||
"name": "Slider",
|
||||
"key": "842:49188",
|
||||
"description": "Component page: Slider",
|
||||
"properties": {},
|
||||
"variants": []
|
||||
},
|
||||
{
|
||||
"name": "Sonner",
|
||||
"key": "842:51943",
|
||||
"description": "Component page: Sonner",
|
||||
"properties": {},
|
||||
"variants": []
|
||||
},
|
||||
{
|
||||
"name": "Spinner",
|
||||
"key": "842:44445",
|
||||
"description": "Component page: Spinner",
|
||||
"properties": {},
|
||||
"variants": []
|
||||
},
|
||||
{
|
||||
"name": "Switch",
|
||||
"key": "842:49184",
|
||||
"description": "Component page: Switch",
|
||||
"properties": {},
|
||||
"variants": []
|
||||
},
|
||||
{
|
||||
"name": "Table",
|
||||
"key": "842:49176",
|
||||
"description": "Component page: Table",
|
||||
"properties": {},
|
||||
"variants": []
|
||||
},
|
||||
{
|
||||
"name": "Tabs",
|
||||
"key": "842:50580",
|
||||
"description": "Component page: Tabs",
|
||||
"properties": {},
|
||||
"variants": []
|
||||
},
|
||||
{
|
||||
"name": "Textarea",
|
||||
"key": "842:49180",
|
||||
"description": "Component page: Textarea",
|
||||
"properties": {},
|
||||
"variants": []
|
||||
},
|
||||
{
|
||||
"name": "Toggle & Toggle Group",
|
||||
"key": "842:44447",
|
||||
"description": "Component page: Toggle & Toggle Group",
|
||||
"properties": {},
|
||||
"variants": []
|
||||
},
|
||||
{
|
||||
"name": "Tooltip",
|
||||
"key": "842:44449",
|
||||
"description": "Component page: Tooltip",
|
||||
"properties": {},
|
||||
"variants": []
|
||||
},
|
||||
{
|
||||
"name": "Screen examples",
|
||||
"key": "683:34149",
|
||||
"description": "Component page: Screen examples",
|
||||
"properties": {},
|
||||
"variants": []
|
||||
},
|
||||
{
|
||||
"name": "Internal Components",
|
||||
"key": "842:44452",
|
||||
"description": "Component page: Internal Components",
|
||||
"properties": {},
|
||||
"variants": []
|
||||
}
|
||||
]
|
||||
33
.dss/data/_system/ds.config.json
Normal file
33
.dss/data/_system/ds.config.json
Normal file
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"name": "dss-system",
|
||||
"version": "1.0.0",
|
||||
"description": "DSS internal design system (dogfooding)",
|
||||
"skin": "base",
|
||||
"base_theme": "light",
|
||||
"targets": [
|
||||
{
|
||||
"name": "admin-ui",
|
||||
"path": "./admin-ui",
|
||||
"type": "web-app",
|
||||
"framework": "vanilla"
|
||||
},
|
||||
{
|
||||
"name": "storybook",
|
||||
"path": "./storybook",
|
||||
"type": "documentation",
|
||||
"framework": "storybook"
|
||||
}
|
||||
],
|
||||
"output": {
|
||||
"tokens_dir": "./.dss/data/_system/tokens",
|
||||
"themes_dir": "./.dss/data/_system/themes",
|
||||
"components_dir": "./.dss/data/_system/components",
|
||||
"formats": ["css", "scss", "json"]
|
||||
},
|
||||
"figma": {
|
||||
"files": [],
|
||||
"auto_sync": false
|
||||
},
|
||||
"created_at": "$(date -Iseconds)",
|
||||
"updated_at": "$(date -Iseconds)"
|
||||
}
|
||||
29301
.dss/data/_system/figma-components.json
Normal file
29301
.dss/data/_system/figma-components.json
Normal file
File diff suppressed because it is too large
Load Diff
20
.dss/data/_system/style-dictionary.config.json
Normal file
20
.dss/data/_system/style-dictionary.config.json
Normal file
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"source": ["tokens/tokens.json"],
|
||||
"platforms": {
|
||||
"css": {
|
||||
"transformGroup": "css",
|
||||
"buildPath": "themes/",
|
||||
"files": [{"destination": "tokens.css", "format": "css/variables"}]
|
||||
},
|
||||
"scss": {
|
||||
"transformGroup": "scss",
|
||||
"buildPath": "themes/",
|
||||
"files": [{"destination": "_tokens.scss", "format": "scss/variables"}]
|
||||
},
|
||||
"json": {
|
||||
"transformGroup": "js",
|
||||
"buildPath": "themes/",
|
||||
"files": [{"destination": "tokens.json", "format": "json/flat"}]
|
||||
}
|
||||
}
|
||||
}
|
||||
408
.dss/data/_system/styles.json
Normal file
408
.dss/data/_system/styles.json
Normal file
@@ -0,0 +1,408 @@
|
||||
{
|
||||
"all": [
|
||||
{
|
||||
"name": "heading 1",
|
||||
"key": "6:83",
|
||||
"type": "TEXT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "heading 2",
|
||||
"key": "6:84",
|
||||
"type": "TEXT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "paragraph small/regular",
|
||||
"key": "7:129",
|
||||
"type": "TEXT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "paragraph small/bold",
|
||||
"key": "22:7579",
|
||||
"type": "TEXT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "heading 3",
|
||||
"key": "6:85",
|
||||
"type": "TEXT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "paragraph/bold",
|
||||
"key": "22:7578",
|
||||
"type": "TEXT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "paragraph/regular",
|
||||
"key": "6:87",
|
||||
"type": "TEXT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "paragraph mini/regular",
|
||||
"key": "19:5809",
|
||||
"type": "TEXT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "heading 4",
|
||||
"key": "6:86",
|
||||
"type": "TEXT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "monospaced",
|
||||
"key": "199:32930",
|
||||
"type": "TEXT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "paragraph/medium",
|
||||
"key": "869:27329",
|
||||
"type": "TEXT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "paragraph small/medium",
|
||||
"key": "869:27330",
|
||||
"type": "TEXT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "paragraph mini/bold",
|
||||
"key": "22:9520",
|
||||
"type": "TEXT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "paragraph mini/medium",
|
||||
"key": "869:27331",
|
||||
"type": "TEXT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "shadow-sm",
|
||||
"key": "9:772",
|
||||
"type": "EFFECT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "shadow-lg",
|
||||
"key": "14:1579",
|
||||
"type": "EFFECT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "shadow-2xs",
|
||||
"key": "16:1667",
|
||||
"type": "EFFECT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "shadow-xs",
|
||||
"key": "16:1668",
|
||||
"type": "EFFECT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "shadow-md",
|
||||
"key": "16:1669",
|
||||
"type": "EFFECT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "shadow-xl",
|
||||
"key": "16:1670",
|
||||
"type": "EFFECT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "shadow-2xl",
|
||||
"key": "16:1671",
|
||||
"type": "EFFECT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "focus ring",
|
||||
"key": "147:11610",
|
||||
"type": "EFFECT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "focus ring error",
|
||||
"key": "176:25107",
|
||||
"type": "EFFECT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "focus ring sidebar",
|
||||
"key": "653:49231",
|
||||
"type": "EFFECT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "paragraph small/medium",
|
||||
"key": "363:28805",
|
||||
"type": "TEXT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "paragraph small/regular",
|
||||
"key": "363:28952",
|
||||
"type": "TEXT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "paragraph/bold",
|
||||
"key": "862:71716",
|
||||
"type": "TEXT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "paragraph mini/bold",
|
||||
"key": "862:71791",
|
||||
"type": "TEXT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "paragraph mini/regular",
|
||||
"key": "862:73098",
|
||||
"type": "TEXT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "shadow-xs",
|
||||
"key": "862:73052",
|
||||
"type": "EFFECT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "paragraph small/bold",
|
||||
"key": "862:73054",
|
||||
"type": "TEXT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "paragraph small/regular",
|
||||
"key": "862:71752",
|
||||
"type": "TEXT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "shadow-sm",
|
||||
"key": "862:71996",
|
||||
"type": "EFFECT",
|
||||
"properties": {}
|
||||
}
|
||||
],
|
||||
"by_type": {
|
||||
"TEXT": [
|
||||
{
|
||||
"name": "heading 1",
|
||||
"key": "6:83",
|
||||
"type": "TEXT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "heading 2",
|
||||
"key": "6:84",
|
||||
"type": "TEXT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "paragraph small/regular",
|
||||
"key": "7:129",
|
||||
"type": "TEXT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "paragraph small/bold",
|
||||
"key": "22:7579",
|
||||
"type": "TEXT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "heading 3",
|
||||
"key": "6:85",
|
||||
"type": "TEXT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "paragraph/bold",
|
||||
"key": "22:7578",
|
||||
"type": "TEXT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "paragraph/regular",
|
||||
"key": "6:87",
|
||||
"type": "TEXT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "paragraph mini/regular",
|
||||
"key": "19:5809",
|
||||
"type": "TEXT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "heading 4",
|
||||
"key": "6:86",
|
||||
"type": "TEXT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "monospaced",
|
||||
"key": "199:32930",
|
||||
"type": "TEXT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "paragraph/medium",
|
||||
"key": "869:27329",
|
||||
"type": "TEXT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "paragraph small/medium",
|
||||
"key": "869:27330",
|
||||
"type": "TEXT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "paragraph mini/bold",
|
||||
"key": "22:9520",
|
||||
"type": "TEXT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "paragraph mini/medium",
|
||||
"key": "869:27331",
|
||||
"type": "TEXT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "paragraph small/medium",
|
||||
"key": "363:28805",
|
||||
"type": "TEXT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "paragraph small/regular",
|
||||
"key": "363:28952",
|
||||
"type": "TEXT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "paragraph/bold",
|
||||
"key": "862:71716",
|
||||
"type": "TEXT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "paragraph mini/bold",
|
||||
"key": "862:71791",
|
||||
"type": "TEXT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "paragraph mini/regular",
|
||||
"key": "862:73098",
|
||||
"type": "TEXT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "paragraph small/bold",
|
||||
"key": "862:73054",
|
||||
"type": "TEXT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "paragraph small/regular",
|
||||
"key": "862:71752",
|
||||
"type": "TEXT",
|
||||
"properties": {}
|
||||
}
|
||||
],
|
||||
"FILL": [],
|
||||
"EFFECT": [
|
||||
{
|
||||
"name": "shadow-sm",
|
||||
"key": "9:772",
|
||||
"type": "EFFECT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "shadow-lg",
|
||||
"key": "14:1579",
|
||||
"type": "EFFECT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "shadow-2xs",
|
||||
"key": "16:1667",
|
||||
"type": "EFFECT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "shadow-xs",
|
||||
"key": "16:1668",
|
||||
"type": "EFFECT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "shadow-md",
|
||||
"key": "16:1669",
|
||||
"type": "EFFECT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "shadow-xl",
|
||||
"key": "16:1670",
|
||||
"type": "EFFECT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "shadow-2xl",
|
||||
"key": "16:1671",
|
||||
"type": "EFFECT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "focus ring",
|
||||
"key": "147:11610",
|
||||
"type": "EFFECT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "focus ring error",
|
||||
"key": "176:25107",
|
||||
"type": "EFFECT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "focus ring sidebar",
|
||||
"key": "653:49231",
|
||||
"type": "EFFECT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "shadow-xs",
|
||||
"key": "862:73052",
|
||||
"type": "EFFECT",
|
||||
"properties": {}
|
||||
},
|
||||
{
|
||||
"name": "shadow-sm",
|
||||
"key": "862:71996",
|
||||
"type": "EFFECT",
|
||||
"properties": {}
|
||||
}
|
||||
],
|
||||
"GRID": []
|
||||
}
|
||||
}
|
||||
99
.dss/data/_system/themes/_tokens.scss
Normal file
99
.dss/data/_system/themes/_tokens.scss
Normal file
@@ -0,0 +1,99 @@
|
||||
|
||||
// Do not edit directly, this file was auto-generated.
|
||||
|
||||
$color-background: #ffffff;
|
||||
$color-foreground: #09090b;
|
||||
$color-card: #ffffff;
|
||||
$color-card-foreground: #09090b;
|
||||
$color-popover: #ffffff;
|
||||
$color-popover-foreground: #09090b;
|
||||
$color-primary: #18181b; // zinc-900 - brand primary
|
||||
$color-primary-foreground: #fafafa; // zinc-50
|
||||
$color-secondary: #f4f4f5;
|
||||
$color-secondary-foreground: #18181b;
|
||||
$color-muted: #f4f4f5;
|
||||
$color-muted-foreground: #71717a;
|
||||
$color-accent: #f4f4f5;
|
||||
$color-accent-foreground: #18181b;
|
||||
$color-destructive: #ef4444;
|
||||
$color-destructive-foreground: #fafafa;
|
||||
$color-border: #e4e4e7;
|
||||
$color-input: #e4e4e7;
|
||||
$color-ring: #18181b; // matches primary
|
||||
$color-dark-background: #09090b;
|
||||
$color-dark-foreground: #fafafa;
|
||||
$color-dark-card: #09090b;
|
||||
$color-dark-card-foreground: #fafafa;
|
||||
$color-dark-popover: #09090b;
|
||||
$color-dark-popover-foreground: #fafafa;
|
||||
$color-dark-primary: #fafafa;
|
||||
$color-dark-primary-foreground: #18181b;
|
||||
$color-dark-secondary: #27272a;
|
||||
$color-dark-secondary-foreground: #fafafa;
|
||||
$color-dark-muted: #27272a;
|
||||
$color-dark-muted-foreground: #a1a1aa;
|
||||
$color-dark-accent: #27272a;
|
||||
$color-dark-accent-foreground: #fafafa;
|
||||
$color-dark-destructive: #7f1d1d;
|
||||
$color-dark-destructive-foreground: #fafafa;
|
||||
$color-dark-border: #27272a;
|
||||
$color-dark-input: #27272a;
|
||||
$color-dark-ring: #d4d4d8;
|
||||
$radius-sm: 0.125rem;
|
||||
$radius-md: 0.375rem;
|
||||
$radius-lg: 0.5rem; // default border radius for cards
|
||||
$radius-xl: 0.75rem;
|
||||
$radius-full: 9999px;
|
||||
$effect-shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
|
||||
$effect-shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
|
||||
$effect-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
|
||||
$effect-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
|
||||
$effect-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
|
||||
$effect-shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
|
||||
$effect-focus-ring: 0 0 0 3px rgba(59, 130, 246, 0.5);
|
||||
$spacing-0: 0;
|
||||
$spacing-1: 0.25rem;
|
||||
$spacing-2: 0.5rem;
|
||||
$spacing-3: 0.75rem;
|
||||
$spacing-4: 1rem;
|
||||
$spacing-5: 1.25rem;
|
||||
$spacing-6: 1.5rem;
|
||||
$spacing-8: 2rem;
|
||||
$spacing-10: 2.5rem;
|
||||
$spacing-12: 3rem;
|
||||
$spacing-16: 4rem;
|
||||
$typography-heading-1-font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
||||
$typography-heading-1-font-weight: 700;
|
||||
$typography-heading-1-font-size: 3rem;
|
||||
$typography-heading-1-line-height: 1;
|
||||
$typography-heading-1-letter-spacing: -0.025em;
|
||||
$typography-heading-2-font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
||||
$typography-heading-2-font-weight: 600;
|
||||
$typography-heading-2-font-size: 1.875rem;
|
||||
$typography-heading-2-line-height: 1.2;
|
||||
$typography-heading-2-letter-spacing: -0.025em;
|
||||
$typography-heading-3-font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
||||
$typography-heading-3-font-weight: 600;
|
||||
$typography-heading-3-font-size: 1.5rem;
|
||||
$typography-heading-3-line-height: 1.3;
|
||||
$typography-heading-3-letter-spacing: -0.025em;
|
||||
$typography-heading-4-font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
||||
$typography-heading-4-font-weight: 600;
|
||||
$typography-heading-4-font-size: 1.25rem;
|
||||
$typography-heading-4-line-height: 1.4;
|
||||
$typography-heading-4-letter-spacing: 0;
|
||||
$typography-paragraph-regular-font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
||||
$typography-paragraph-regular-font-weight: 400;
|
||||
$typography-paragraph-regular-font-size: 1rem;
|
||||
$typography-paragraph-regular-line-height: 1.5;
|
||||
$typography-paragraph-regular-letter-spacing: 0;
|
||||
$typography-paragraph-bold-font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
||||
$typography-paragraph-bold-font-weight: 500;
|
||||
$typography-paragraph-bold-font-size: 1rem;
|
||||
$typography-paragraph-bold-line-height: 1.5;
|
||||
$typography-paragraph-bold-letter-spacing: 0;
|
||||
$typography-paragraph-small-regular-font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
||||
$typography-paragraph-small-regular-font-weight: 400;
|
||||
$typography-paragraph-small-regular-font-size: 0.875rem;
|
||||
$typography-paragraph-small-regular-line-height: 1.5;
|
||||
$typography-paragraph-small-regular-letter-spacing: 0;
|
||||
102
.dss/data/_system/themes/tokens.css
Normal file
102
.dss/data/_system/themes/tokens.css
Normal file
@@ -0,0 +1,102 @@
|
||||
/**
|
||||
* Do not edit directly, this file was auto-generated.
|
||||
*/
|
||||
|
||||
:root {
|
||||
--color-background: #ffffff;
|
||||
--color-foreground: #09090b;
|
||||
--color-card: #ffffff;
|
||||
--color-card-foreground: #09090b;
|
||||
--color-popover: #ffffff;
|
||||
--color-popover-foreground: #09090b;
|
||||
--color-primary: #18181b; /** zinc-900 - brand primary */
|
||||
--color-primary-foreground: #fafafa; /** zinc-50 */
|
||||
--color-secondary: #f4f4f5;
|
||||
--color-secondary-foreground: #18181b;
|
||||
--color-muted: #f4f4f5;
|
||||
--color-muted-foreground: #71717a;
|
||||
--color-accent: #f4f4f5;
|
||||
--color-accent-foreground: #18181b;
|
||||
--color-destructive: #ef4444;
|
||||
--color-destructive-foreground: #fafafa;
|
||||
--color-border: #e4e4e7;
|
||||
--color-input: #e4e4e7;
|
||||
--color-ring: #18181b; /** matches primary */
|
||||
--color-dark-background: #09090b;
|
||||
--color-dark-foreground: #fafafa;
|
||||
--color-dark-card: #09090b;
|
||||
--color-dark-card-foreground: #fafafa;
|
||||
--color-dark-popover: #09090b;
|
||||
--color-dark-popover-foreground: #fafafa;
|
||||
--color-dark-primary: #fafafa;
|
||||
--color-dark-primary-foreground: #18181b;
|
||||
--color-dark-secondary: #27272a;
|
||||
--color-dark-secondary-foreground: #fafafa;
|
||||
--color-dark-muted: #27272a;
|
||||
--color-dark-muted-foreground: #a1a1aa;
|
||||
--color-dark-accent: #27272a;
|
||||
--color-dark-accent-foreground: #fafafa;
|
||||
--color-dark-destructive: #7f1d1d;
|
||||
--color-dark-destructive-foreground: #fafafa;
|
||||
--color-dark-border: #27272a;
|
||||
--color-dark-input: #27272a;
|
||||
--color-dark-ring: #d4d4d8;
|
||||
--radius-sm: 0.125rem;
|
||||
--radius-md: 0.375rem;
|
||||
--radius-lg: 0.5rem; /** default border radius for cards */
|
||||
--radius-xl: 0.75rem;
|
||||
--radius-full: 9999px;
|
||||
--effect-shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
|
||||
--effect-shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
|
||||
--effect-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
|
||||
--effect-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
|
||||
--effect-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
|
||||
--effect-shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
|
||||
--effect-focus-ring: 0 0 0 3px rgba(59, 130, 246, 0.5);
|
||||
--spacing-0: 0;
|
||||
--spacing-1: 0.25rem;
|
||||
--spacing-2: 0.5rem;
|
||||
--spacing-3: 0.75rem;
|
||||
--spacing-4: 1rem;
|
||||
--spacing-5: 1.25rem;
|
||||
--spacing-6: 1.5rem;
|
||||
--spacing-8: 2rem;
|
||||
--spacing-10: 2.5rem;
|
||||
--spacing-12: 3rem;
|
||||
--spacing-16: 4rem;
|
||||
--typography-heading-1-font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
||||
--typography-heading-1-font-weight: 700;
|
||||
--typography-heading-1-font-size: 3rem;
|
||||
--typography-heading-1-line-height: 1;
|
||||
--typography-heading-1-letter-spacing: -0.025em;
|
||||
--typography-heading-2-font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
||||
--typography-heading-2-font-weight: 600;
|
||||
--typography-heading-2-font-size: 1.875rem;
|
||||
--typography-heading-2-line-height: 1.2;
|
||||
--typography-heading-2-letter-spacing: -0.025em;
|
||||
--typography-heading-3-font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
||||
--typography-heading-3-font-weight: 600;
|
||||
--typography-heading-3-font-size: 1.5rem;
|
||||
--typography-heading-3-line-height: 1.3;
|
||||
--typography-heading-3-letter-spacing: -0.025em;
|
||||
--typography-heading-4-font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
||||
--typography-heading-4-font-weight: 600;
|
||||
--typography-heading-4-font-size: 1.25rem;
|
||||
--typography-heading-4-line-height: 1.4;
|
||||
--typography-heading-4-letter-spacing: 0;
|
||||
--typography-paragraph-regular-font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
||||
--typography-paragraph-regular-font-weight: 400;
|
||||
--typography-paragraph-regular-font-size: 1rem;
|
||||
--typography-paragraph-regular-line-height: 1.5;
|
||||
--typography-paragraph-regular-letter-spacing: 0;
|
||||
--typography-paragraph-bold-font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
||||
--typography-paragraph-bold-font-weight: 500;
|
||||
--typography-paragraph-bold-font-size: 1rem;
|
||||
--typography-paragraph-bold-line-height: 1.5;
|
||||
--typography-paragraph-bold-letter-spacing: 0;
|
||||
--typography-paragraph-small-regular-font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
||||
--typography-paragraph-small-regular-font-weight: 400;
|
||||
--typography-paragraph-small-regular-font-size: 0.875rem;
|
||||
--typography-paragraph-small-regular-line-height: 1.5;
|
||||
--typography-paragraph-small-regular-letter-spacing: 0;
|
||||
}
|
||||
98
.dss/data/_system/themes/tokens.json
Normal file
98
.dss/data/_system/themes/tokens.json
Normal file
@@ -0,0 +1,98 @@
|
||||
{
|
||||
"ColorBackground": "#ffffff",
|
||||
"ColorForeground": "#09090b",
|
||||
"ColorCard": "#ffffff",
|
||||
"ColorCardForeground": "#09090b",
|
||||
"ColorPopover": "#ffffff",
|
||||
"ColorPopoverForeground": "#09090b",
|
||||
"ColorPrimary": "#18181b",
|
||||
"ColorPrimaryForeground": "#fafafa",
|
||||
"ColorSecondary": "#f4f4f5",
|
||||
"ColorSecondaryForeground": "#18181b",
|
||||
"ColorMuted": "#f4f4f5",
|
||||
"ColorMutedForeground": "#71717a",
|
||||
"ColorAccent": "#f4f4f5",
|
||||
"ColorAccentForeground": "#18181b",
|
||||
"ColorDestructive": "#ef4444",
|
||||
"ColorDestructiveForeground": "#fafafa",
|
||||
"ColorBorder": "#e4e4e7",
|
||||
"ColorInput": "#e4e4e7",
|
||||
"ColorRing": "#18181b",
|
||||
"ColorDarkBackground": "#09090b",
|
||||
"ColorDarkForeground": "#fafafa",
|
||||
"ColorDarkCard": "#09090b",
|
||||
"ColorDarkCardForeground": "#fafafa",
|
||||
"ColorDarkPopover": "#09090b",
|
||||
"ColorDarkPopoverForeground": "#fafafa",
|
||||
"ColorDarkPrimary": "#fafafa",
|
||||
"ColorDarkPrimaryForeground": "#18181b",
|
||||
"ColorDarkSecondary": "#27272a",
|
||||
"ColorDarkSecondaryForeground": "#fafafa",
|
||||
"ColorDarkMuted": "#27272a",
|
||||
"ColorDarkMutedForeground": "#a1a1aa",
|
||||
"ColorDarkAccent": "#27272a",
|
||||
"ColorDarkAccentForeground": "#fafafa",
|
||||
"ColorDarkDestructive": "#7f1d1d",
|
||||
"ColorDarkDestructiveForeground": "#fafafa",
|
||||
"ColorDarkBorder": "#27272a",
|
||||
"ColorDarkInput": "#27272a",
|
||||
"ColorDarkRing": "#d4d4d8",
|
||||
"RadiusSm": "0.125rem",
|
||||
"RadiusMd": "0.375rem",
|
||||
"RadiusLg": "0.5rem",
|
||||
"RadiusXl": "0.75rem",
|
||||
"RadiusFull": "9999px",
|
||||
"EffectShadowXs": "0 1px 2px 0 rgba(0, 0, 0, 0.05)",
|
||||
"EffectShadowSm": "0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1)",
|
||||
"EffectShadowMd": "0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1)",
|
||||
"EffectShadowLg": "0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1)",
|
||||
"EffectShadowXl": "0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1)",
|
||||
"EffectShadow2xl": "0 25px 50px -12px rgba(0, 0, 0, 0.25)",
|
||||
"EffectFocusRing": "0 0 0 3px rgba(59, 130, 246, 0.5)",
|
||||
"Spacing0": "0",
|
||||
"Spacing1": "0.25rem",
|
||||
"Spacing2": "0.5rem",
|
||||
"Spacing3": "0.75rem",
|
||||
"Spacing4": "1rem",
|
||||
"Spacing5": "1.25rem",
|
||||
"Spacing6": "1.5rem",
|
||||
"Spacing8": "2rem",
|
||||
"Spacing10": "2.5rem",
|
||||
"Spacing12": "3rem",
|
||||
"Spacing16": "4rem",
|
||||
"TypographyHeading1FontFamily": "Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif",
|
||||
"TypographyHeading1FontWeight": "700",
|
||||
"TypographyHeading1FontSize": "3rem",
|
||||
"TypographyHeading1LineHeight": "1",
|
||||
"TypographyHeading1LetterSpacing": "-0.025em",
|
||||
"TypographyHeading2FontFamily": "Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif",
|
||||
"TypographyHeading2FontWeight": "600",
|
||||
"TypographyHeading2FontSize": "1.875rem",
|
||||
"TypographyHeading2LineHeight": "1.2",
|
||||
"TypographyHeading2LetterSpacing": "-0.025em",
|
||||
"TypographyHeading3FontFamily": "Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif",
|
||||
"TypographyHeading3FontWeight": "600",
|
||||
"TypographyHeading3FontSize": "1.5rem",
|
||||
"TypographyHeading3LineHeight": "1.3",
|
||||
"TypographyHeading3LetterSpacing": "-0.025em",
|
||||
"TypographyHeading4FontFamily": "Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif",
|
||||
"TypographyHeading4FontWeight": "600",
|
||||
"TypographyHeading4FontSize": "1.25rem",
|
||||
"TypographyHeading4LineHeight": "1.4",
|
||||
"TypographyHeading4LetterSpacing": "0",
|
||||
"TypographyParagraphRegularFontFamily": "Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif",
|
||||
"TypographyParagraphRegularFontWeight": "400",
|
||||
"TypographyParagraphRegularFontSize": "1rem",
|
||||
"TypographyParagraphRegularLineHeight": "1.5",
|
||||
"TypographyParagraphRegularLetterSpacing": "0",
|
||||
"TypographyParagraphBoldFontFamily": "Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif",
|
||||
"TypographyParagraphBoldFontWeight": "500",
|
||||
"TypographyParagraphBoldFontSize": "1rem",
|
||||
"TypographyParagraphBoldLineHeight": "1.5",
|
||||
"TypographyParagraphBoldLetterSpacing": "0",
|
||||
"TypographyParagraphSmallRegularFontFamily": "Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif",
|
||||
"TypographyParagraphSmallRegularFontWeight": "400",
|
||||
"TypographyParagraphSmallRegularFontSize": "0.875rem",
|
||||
"TypographyParagraphSmallRegularLineHeight": "1.5",
|
||||
"TypographyParagraphSmallRegularLetterSpacing": "0"
|
||||
}
|
||||
9
.dss/data/_system/tokens/base.json
Normal file
9
.dss/data/_system/tokens/base.json
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"_meta": {
|
||||
"version": "1.0.0",
|
||||
"generated": null,
|
||||
"source": "awaiting Figma sync",
|
||||
"status": "empty"
|
||||
},
|
||||
"tokens": {}
|
||||
}
|
||||
11
.dss/data/_system/tokens/resolved-meta.json
Normal file
11
.dss/data/_system/tokens/resolved-meta.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"resolved_at": "2025-12-10T21:38:48.326466",
|
||||
"skin": "shadcn",
|
||||
"theme": "default",
|
||||
"token_count": 68,
|
||||
"layers": [
|
||||
"core/primitives",
|
||||
"skins/shadcn",
|
||||
"themes/default"
|
||||
]
|
||||
}
|
||||
320
.dss/data/_system/tokens/tokens.json
Normal file
320
.dss/data/_system/tokens/tokens.json
Normal file
@@ -0,0 +1,320 @@
|
||||
{
|
||||
"color": {
|
||||
"background": {
|
||||
"value": "#ffffff"
|
||||
},
|
||||
"foreground": {
|
||||
"value": "#09090b"
|
||||
},
|
||||
"card": {
|
||||
"value": "#ffffff"
|
||||
},
|
||||
"card-foreground": {
|
||||
"value": "#09090b"
|
||||
},
|
||||
"popover": {
|
||||
"value": "#ffffff"
|
||||
},
|
||||
"popover-foreground": {
|
||||
"value": "#09090b"
|
||||
},
|
||||
"primary": {
|
||||
"value": "#18181b",
|
||||
"comment": "zinc-900 - brand primary"
|
||||
},
|
||||
"primary-foreground": {
|
||||
"value": "#fafafa",
|
||||
"comment": "zinc-50"
|
||||
},
|
||||
"secondary": {
|
||||
"value": "#f4f4f5"
|
||||
},
|
||||
"secondary-foreground": {
|
||||
"value": "#18181b"
|
||||
},
|
||||
"muted": {
|
||||
"value": "#f4f4f5"
|
||||
},
|
||||
"muted-foreground": {
|
||||
"value": "#71717a"
|
||||
},
|
||||
"accent": {
|
||||
"value": "#f4f4f5"
|
||||
},
|
||||
"accent-foreground": {
|
||||
"value": "#18181b"
|
||||
},
|
||||
"destructive": {
|
||||
"value": "#ef4444"
|
||||
},
|
||||
"destructive-foreground": {
|
||||
"value": "#fafafa"
|
||||
},
|
||||
"border": {
|
||||
"value": "#e4e4e7"
|
||||
},
|
||||
"input": {
|
||||
"value": "#e4e4e7"
|
||||
},
|
||||
"ring": {
|
||||
"value": "#18181b",
|
||||
"comment": "matches primary"
|
||||
}
|
||||
},
|
||||
"color-dark": {
|
||||
"background": {
|
||||
"value": "#09090b"
|
||||
},
|
||||
"foreground": {
|
||||
"value": "#fafafa"
|
||||
},
|
||||
"card": {
|
||||
"value": "#09090b"
|
||||
},
|
||||
"card-foreground": {
|
||||
"value": "#fafafa"
|
||||
},
|
||||
"popover": {
|
||||
"value": "#09090b"
|
||||
},
|
||||
"popover-foreground": {
|
||||
"value": "#fafafa"
|
||||
},
|
||||
"primary": {
|
||||
"value": "#fafafa"
|
||||
},
|
||||
"primary-foreground": {
|
||||
"value": "#18181b"
|
||||
},
|
||||
"secondary": {
|
||||
"value": "#27272a"
|
||||
},
|
||||
"secondary-foreground": {
|
||||
"value": "#fafafa"
|
||||
},
|
||||
"muted": {
|
||||
"value": "#27272a"
|
||||
},
|
||||
"muted-foreground": {
|
||||
"value": "#a1a1aa"
|
||||
},
|
||||
"accent": {
|
||||
"value": "#27272a"
|
||||
},
|
||||
"accent-foreground": {
|
||||
"value": "#fafafa"
|
||||
},
|
||||
"destructive": {
|
||||
"value": "#7f1d1d"
|
||||
},
|
||||
"destructive-foreground": {
|
||||
"value": "#fafafa"
|
||||
},
|
||||
"border": {
|
||||
"value": "#27272a"
|
||||
},
|
||||
"input": {
|
||||
"value": "#27272a"
|
||||
},
|
||||
"ring": {
|
||||
"value": "#d4d4d8"
|
||||
}
|
||||
},
|
||||
"radius": {
|
||||
"sm": {
|
||||
"value": "0.125rem"
|
||||
},
|
||||
"md": {
|
||||
"value": "0.375rem"
|
||||
},
|
||||
"lg": {
|
||||
"value": "0.5rem",
|
||||
"comment": "default border radius for cards"
|
||||
},
|
||||
"xl": {
|
||||
"value": "0.75rem"
|
||||
},
|
||||
"full": {
|
||||
"value": "9999px"
|
||||
}
|
||||
},
|
||||
"effect": {
|
||||
"shadow-xs": {
|
||||
"value": "0 1px 2px 0 rgba(0, 0, 0, 0.05)"
|
||||
},
|
||||
"shadow-sm": {
|
||||
"value": "0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1)"
|
||||
},
|
||||
"shadow-md": {
|
||||
"value": "0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1)"
|
||||
},
|
||||
"shadow-lg": {
|
||||
"value": "0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1)"
|
||||
},
|
||||
"shadow-xl": {
|
||||
"value": "0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1)"
|
||||
},
|
||||
"shadow-2xl": {
|
||||
"value": "0 25px 50px -12px rgba(0, 0, 0, 0.25)"
|
||||
},
|
||||
"focus-ring": {
|
||||
"value": "0 0 0 3px rgba(59, 130, 246, 0.5)"
|
||||
}
|
||||
},
|
||||
"spacing": {
|
||||
"0": {
|
||||
"value": "0"
|
||||
},
|
||||
"1": {
|
||||
"value": "0.25rem"
|
||||
},
|
||||
"2": {
|
||||
"value": "0.5rem"
|
||||
},
|
||||
"3": {
|
||||
"value": "0.75rem"
|
||||
},
|
||||
"4": {
|
||||
"value": "1rem"
|
||||
},
|
||||
"5": {
|
||||
"value": "1.25rem"
|
||||
},
|
||||
"6": {
|
||||
"value": "1.5rem"
|
||||
},
|
||||
"8": {
|
||||
"value": "2rem"
|
||||
},
|
||||
"10": {
|
||||
"value": "2.5rem"
|
||||
},
|
||||
"12": {
|
||||
"value": "3rem"
|
||||
},
|
||||
"16": {
|
||||
"value": "4rem"
|
||||
}
|
||||
},
|
||||
"typography": {
|
||||
"heading-1": {
|
||||
"font-family": {
|
||||
"value": "Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif"
|
||||
},
|
||||
"font-weight": {
|
||||
"value": "700"
|
||||
},
|
||||
"font-size": {
|
||||
"value": "3rem"
|
||||
},
|
||||
"line-height": {
|
||||
"value": "1"
|
||||
},
|
||||
"letter-spacing": {
|
||||
"value": "-0.025em"
|
||||
}
|
||||
},
|
||||
"heading-2": {
|
||||
"font-family": {
|
||||
"value": "Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif"
|
||||
},
|
||||
"font-weight": {
|
||||
"value": "600"
|
||||
},
|
||||
"font-size": {
|
||||
"value": "1.875rem"
|
||||
},
|
||||
"line-height": {
|
||||
"value": "1.2"
|
||||
},
|
||||
"letter-spacing": {
|
||||
"value": "-0.025em"
|
||||
}
|
||||
},
|
||||
"heading-3": {
|
||||
"font-family": {
|
||||
"value": "Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif"
|
||||
},
|
||||
"font-weight": {
|
||||
"value": "600"
|
||||
},
|
||||
"font-size": {
|
||||
"value": "1.5rem"
|
||||
},
|
||||
"line-height": {
|
||||
"value": "1.3"
|
||||
},
|
||||
"letter-spacing": {
|
||||
"value": "-0.025em"
|
||||
}
|
||||
},
|
||||
"heading-4": {
|
||||
"font-family": {
|
||||
"value": "Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif"
|
||||
},
|
||||
"font-weight": {
|
||||
"value": "600"
|
||||
},
|
||||
"font-size": {
|
||||
"value": "1.25rem"
|
||||
},
|
||||
"line-height": {
|
||||
"value": "1.4"
|
||||
},
|
||||
"letter-spacing": {
|
||||
"value": "0"
|
||||
}
|
||||
},
|
||||
"paragraph-regular": {
|
||||
"font-family": {
|
||||
"value": "Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif"
|
||||
},
|
||||
"font-weight": {
|
||||
"value": "400"
|
||||
},
|
||||
"font-size": {
|
||||
"value": "1rem"
|
||||
},
|
||||
"line-height": {
|
||||
"value": "1.5"
|
||||
},
|
||||
"letter-spacing": {
|
||||
"value": "0"
|
||||
}
|
||||
},
|
||||
"paragraph-bold": {
|
||||
"font-family": {
|
||||
"value": "Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif"
|
||||
},
|
||||
"font-weight": {
|
||||
"value": "500"
|
||||
},
|
||||
"font-size": {
|
||||
"value": "1rem"
|
||||
},
|
||||
"line-height": {
|
||||
"value": "1.5"
|
||||
},
|
||||
"letter-spacing": {
|
||||
"value": "0"
|
||||
}
|
||||
},
|
||||
"paragraph-small-regular": {
|
||||
"font-family": {
|
||||
"value": "Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif"
|
||||
},
|
||||
"font-weight": {
|
||||
"value": "400"
|
||||
},
|
||||
"font-size": {
|
||||
"value": "0.875rem"
|
||||
},
|
||||
"line-height": {
|
||||
"value": "1.5"
|
||||
},
|
||||
"letter-spacing": {
|
||||
"value": "0"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
87
.dss/schema/skin-contract.json
Normal file
87
.dss/schema/skin-contract.json
Normal file
@@ -0,0 +1,87 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"title": "DSS Skin Contract",
|
||||
"description": "Defines required tokens that all skins must provide. Themes should only override these stable tokens.",
|
||||
"version": "1.0.0",
|
||||
"required_tokens": {
|
||||
"color": {
|
||||
"description": "Semantic color tokens",
|
||||
"required": [
|
||||
"primary",
|
||||
"primary-foreground",
|
||||
"secondary",
|
||||
"secondary-foreground",
|
||||
"background",
|
||||
"foreground",
|
||||
"muted",
|
||||
"muted-foreground",
|
||||
"accent",
|
||||
"accent-foreground",
|
||||
"destructive",
|
||||
"destructive-foreground",
|
||||
"border",
|
||||
"input",
|
||||
"ring",
|
||||
"card",
|
||||
"card-foreground",
|
||||
"popover",
|
||||
"popover-foreground"
|
||||
]
|
||||
},
|
||||
"effect": {
|
||||
"description": "Shadow and focus effect tokens",
|
||||
"required": [
|
||||
"shadow-xs",
|
||||
"shadow-sm",
|
||||
"shadow-md",
|
||||
"shadow-lg",
|
||||
"shadow-xl",
|
||||
"shadow-2xl",
|
||||
"focus-ring"
|
||||
]
|
||||
},
|
||||
"radius": {
|
||||
"description": "Border radius tokens",
|
||||
"required": [
|
||||
"sm",
|
||||
"md",
|
||||
"lg",
|
||||
"xl",
|
||||
"full"
|
||||
]
|
||||
},
|
||||
"typography": {
|
||||
"description": "Typography style tokens",
|
||||
"required": [
|
||||
"heading-1",
|
||||
"heading-2",
|
||||
"heading-3",
|
||||
"heading-4",
|
||||
"paragraph-regular",
|
||||
"paragraph-bold",
|
||||
"paragraph-small-regular"
|
||||
]
|
||||
},
|
||||
"spacing": {
|
||||
"description": "Spacing scale tokens",
|
||||
"required": [
|
||||
"0",
|
||||
"1",
|
||||
"2",
|
||||
"3",
|
||||
"4",
|
||||
"5",
|
||||
"6",
|
||||
"8",
|
||||
"10",
|
||||
"12",
|
||||
"16"
|
||||
]
|
||||
}
|
||||
},
|
||||
"optional_categories": [
|
||||
"animation",
|
||||
"breakpoint",
|
||||
"z-index"
|
||||
]
|
||||
}
|
||||
306
.dss/skins/figma-source/tokens.json
Normal file
306
.dss/skins/figma-source/tokens.json
Normal file
@@ -0,0 +1,306 @@
|
||||
{
|
||||
"_meta": {
|
||||
"name": "figma-source",
|
||||
"description": "Tokens extracted from Figma: Obra shadcn/ui (uikit)",
|
||||
"version": "1.0.0",
|
||||
"layer": "skin",
|
||||
"source": "figma:evCZlaeZrP7X20NIViSJbl",
|
||||
"generated": "2025-12-10T20:49:27.631185"
|
||||
},
|
||||
"typography": {
|
||||
"heading-1": {
|
||||
"font-family": {
|
||||
"value": "Inter"
|
||||
},
|
||||
"font-weight": {
|
||||
"value": 600
|
||||
},
|
||||
"font-size": {
|
||||
"value": "48px"
|
||||
},
|
||||
"line-height": {
|
||||
"value": "48px"
|
||||
},
|
||||
"letter-spacing": {
|
||||
"value": "-1.5px"
|
||||
},
|
||||
"_contract": true
|
||||
},
|
||||
"heading-2": {
|
||||
"font-family": {
|
||||
"value": "Inter"
|
||||
},
|
||||
"font-weight": {
|
||||
"value": 600
|
||||
},
|
||||
"font-size": {
|
||||
"value": "30px"
|
||||
},
|
||||
"line-height": {
|
||||
"value": "30px"
|
||||
},
|
||||
"letter-spacing": {
|
||||
"value": "-1.0px"
|
||||
},
|
||||
"_contract": true
|
||||
},
|
||||
"paragraph-small-regular": {
|
||||
"font-family": {
|
||||
"value": "Inter"
|
||||
},
|
||||
"font-weight": {
|
||||
"value": 400
|
||||
},
|
||||
"font-size": {
|
||||
"value": "14px"
|
||||
},
|
||||
"line-height": {
|
||||
"value": "21px"
|
||||
},
|
||||
"letter-spacing": {
|
||||
"value": "0.07px"
|
||||
},
|
||||
"_contract": true
|
||||
},
|
||||
"paragraph-small-bold": {
|
||||
"font-family": {
|
||||
"value": "Inter"
|
||||
},
|
||||
"font-weight": {
|
||||
"value": 500
|
||||
},
|
||||
"font-size": {
|
||||
"value": "14px"
|
||||
},
|
||||
"line-height": {
|
||||
"value": "21px"
|
||||
},
|
||||
"letter-spacing": {
|
||||
"value": "0.07px"
|
||||
},
|
||||
"_contract": false
|
||||
},
|
||||
"heading-3": {
|
||||
"font-family": {
|
||||
"value": "Inter"
|
||||
},
|
||||
"font-weight": {
|
||||
"value": 600
|
||||
},
|
||||
"font-size": {
|
||||
"value": "24px"
|
||||
},
|
||||
"line-height": {
|
||||
"value": "29px"
|
||||
},
|
||||
"letter-spacing": {
|
||||
"value": "-1.0px"
|
||||
},
|
||||
"_contract": true
|
||||
},
|
||||
"paragraph-bold": {
|
||||
"font-family": {
|
||||
"value": "Inter"
|
||||
},
|
||||
"font-weight": {
|
||||
"value": 500
|
||||
},
|
||||
"font-size": {
|
||||
"value": "16px"
|
||||
},
|
||||
"line-height": {
|
||||
"value": "24px"
|
||||
},
|
||||
"letter-spacing": {
|
||||
"value": "0.0px"
|
||||
},
|
||||
"_contract": true
|
||||
},
|
||||
"paragraph-regular": {
|
||||
"font-family": {
|
||||
"value": "Inter"
|
||||
},
|
||||
"font-weight": {
|
||||
"value": 400
|
||||
},
|
||||
"font-size": {
|
||||
"value": "16px"
|
||||
},
|
||||
"line-height": {
|
||||
"value": "24px"
|
||||
},
|
||||
"letter-spacing": {
|
||||
"value": "0.0px"
|
||||
},
|
||||
"_contract": true
|
||||
},
|
||||
"paragraph-mini-regular": {
|
||||
"font-family": {
|
||||
"value": "Inter"
|
||||
},
|
||||
"font-weight": {
|
||||
"value": 400
|
||||
},
|
||||
"font-size": {
|
||||
"value": "12px"
|
||||
},
|
||||
"line-height": {
|
||||
"value": "16px"
|
||||
},
|
||||
"letter-spacing": {
|
||||
"value": "0.18px"
|
||||
},
|
||||
"_contract": false
|
||||
},
|
||||
"heading-4": {
|
||||
"font-family": {
|
||||
"value": "Inter"
|
||||
},
|
||||
"font-weight": {
|
||||
"value": 600
|
||||
},
|
||||
"font-size": {
|
||||
"value": "20px"
|
||||
},
|
||||
"line-height": {
|
||||
"value": "24px"
|
||||
},
|
||||
"letter-spacing": {
|
||||
"value": "0.0px"
|
||||
},
|
||||
"_contract": true
|
||||
},
|
||||
"monospaced": {
|
||||
"font-family": {
|
||||
"value": "Menlo"
|
||||
},
|
||||
"font-weight": {
|
||||
"value": 400
|
||||
},
|
||||
"font-size": {
|
||||
"value": "16px"
|
||||
},
|
||||
"line-height": {
|
||||
"value": "24px"
|
||||
},
|
||||
"letter-spacing": {
|
||||
"value": "0.0px"
|
||||
},
|
||||
"_contract": false
|
||||
},
|
||||
"paragraph-medium": {
|
||||
"font-family": {
|
||||
"value": "Inter"
|
||||
},
|
||||
"font-weight": {
|
||||
"value": 500
|
||||
},
|
||||
"font-size": {
|
||||
"value": "16px"
|
||||
},
|
||||
"line-height": {
|
||||
"value": "24px"
|
||||
},
|
||||
"letter-spacing": {
|
||||
"value": "0.0px"
|
||||
},
|
||||
"_contract": false
|
||||
},
|
||||
"paragraph-small-medium": {
|
||||
"font-family": {
|
||||
"value": "Inter"
|
||||
},
|
||||
"font-weight": {
|
||||
"value": 500
|
||||
},
|
||||
"font-size": {
|
||||
"value": "14px"
|
||||
},
|
||||
"line-height": {
|
||||
"value": "21px"
|
||||
},
|
||||
"letter-spacing": {
|
||||
"value": "0.07px"
|
||||
},
|
||||
"_contract": false
|
||||
},
|
||||
"paragraph-mini-bold": {
|
||||
"font-family": {
|
||||
"value": "Inter"
|
||||
},
|
||||
"font-weight": {
|
||||
"value": 500
|
||||
},
|
||||
"font-size": {
|
||||
"value": "12px"
|
||||
},
|
||||
"line-height": {
|
||||
"value": "16px"
|
||||
},
|
||||
"letter-spacing": {
|
||||
"value": "0.18px"
|
||||
},
|
||||
"_contract": false
|
||||
},
|
||||
"paragraph-mini-medium": {
|
||||
"font-family": {
|
||||
"value": "Inter"
|
||||
},
|
||||
"font-weight": {
|
||||
"value": 500
|
||||
},
|
||||
"font-size": {
|
||||
"value": "12px"
|
||||
},
|
||||
"line-height": {
|
||||
"value": "16px"
|
||||
},
|
||||
"letter-spacing": {
|
||||
"value": "0.18px"
|
||||
},
|
||||
"_contract": false
|
||||
}
|
||||
},
|
||||
"effect": {
|
||||
"shadow-sm": {
|
||||
"value": "0.0px 1.0px 2.0px -1.0px rgba(0, 0, 0, 0.1), 0.0px 1.0px 3.0px 0px rgba(0, 0, 0, 0.1)",
|
||||
"_contract": true
|
||||
},
|
||||
"shadow-lg": {
|
||||
"value": "0.0px 4.0px 6.0px -4.0px rgba(0, 0, 0, 0.1), 0.0px 10.0px 15.0px -3.0px rgba(0, 0, 0, 0.1)",
|
||||
"_contract": true
|
||||
},
|
||||
"shadow-2xs": {
|
||||
"value": "0.0px 1.0px 0.0px 0px rgba(0, 0, 0, 0.05)",
|
||||
"_contract": false
|
||||
},
|
||||
"shadow-xs": {
|
||||
"value": "0.0px 1.0px 2.0px 0px rgba(0, 0, 0, 0.05)",
|
||||
"_contract": true
|
||||
},
|
||||
"shadow-md": {
|
||||
"value": "0.0px 2.0px 4.0px -2.0px rgba(0, 0, 0, 0.1), 0.0px 4.0px 6.0px -1.0px rgba(0, 0, 0, 0.1)",
|
||||
"_contract": true
|
||||
},
|
||||
"shadow-xl": {
|
||||
"value": "0.0px 8.0px 10.0px -6.0px rgba(0, 0, 0, 0.1), 0.0px 20.0px 25.0px -5.0px rgba(0, 0, 0, 0.1)",
|
||||
"_contract": true
|
||||
},
|
||||
"shadow-2xl": {
|
||||
"value": "0.0px 25.0px 50.0px 12.0px rgba(0, 0, 0, 0.25)",
|
||||
"_contract": true
|
||||
},
|
||||
"focus-ring": {
|
||||
"value": "0.0px 0.0px 0.0px 3.0px rgb(203, 213, 225)",
|
||||
"_contract": true
|
||||
},
|
||||
"focus-ring-error": {
|
||||
"value": "0.0px 0.0px 0.0px 3.0px rgb(252, 165, 165)",
|
||||
"_contract": false
|
||||
},
|
||||
"focus-ring-sidebar": {
|
||||
"value": "0.0px 0.0px 0.0px 3.0px rgb(203, 213, 225)",
|
||||
"_contract": false
|
||||
}
|
||||
}
|
||||
}
|
||||
132
.dss/skins/shadcn/tokens.json
Normal file
132
.dss/skins/shadcn/tokens.json
Normal file
@@ -0,0 +1,132 @@
|
||||
{
|
||||
"_meta": {
|
||||
"name": "shadcn",
|
||||
"description": "shadcn/ui skin - maps primitives to semantic tokens",
|
||||
"version": "1.0.0",
|
||||
"layer": "skin",
|
||||
"extends": "core/primitives",
|
||||
"source": "https://ui.shadcn.com"
|
||||
},
|
||||
"color": {
|
||||
"background": { "value": "{color.white}" },
|
||||
"foreground": { "value": "{color.zinc.950}" },
|
||||
"card": { "value": "{color.white}" },
|
||||
"card-foreground": { "value": "{color.zinc.950}" },
|
||||
"popover": { "value": "{color.white}" },
|
||||
"popover-foreground": { "value": "{color.zinc.950}" },
|
||||
"primary": { "value": "{color.zinc.900}" },
|
||||
"primary-foreground": { "value": "{color.zinc.50}" },
|
||||
"secondary": { "value": "{color.zinc.100}" },
|
||||
"secondary-foreground": { "value": "{color.zinc.900}" },
|
||||
"muted": { "value": "{color.zinc.100}" },
|
||||
"muted-foreground": { "value": "{color.zinc.500}" },
|
||||
"accent": { "value": "{color.zinc.100}" },
|
||||
"accent-foreground": { "value": "{color.zinc.900}" },
|
||||
"destructive": { "value": "{color.red.500}" },
|
||||
"destructive-foreground": { "value": "{color.zinc.50}" },
|
||||
"border": { "value": "{color.zinc.200}" },
|
||||
"input": { "value": "{color.zinc.200}" },
|
||||
"ring": { "value": "{color.zinc.950}" }
|
||||
},
|
||||
"color-dark": {
|
||||
"background": { "value": "{color.zinc.950}" },
|
||||
"foreground": { "value": "{color.zinc.50}" },
|
||||
"card": { "value": "{color.zinc.950}" },
|
||||
"card-foreground": { "value": "{color.zinc.50}" },
|
||||
"popover": { "value": "{color.zinc.950}" },
|
||||
"popover-foreground": { "value": "{color.zinc.50}" },
|
||||
"primary": { "value": "{color.zinc.50}" },
|
||||
"primary-foreground": { "value": "{color.zinc.900}" },
|
||||
"secondary": { "value": "{color.zinc.800}" },
|
||||
"secondary-foreground": { "value": "{color.zinc.50}" },
|
||||
"muted": { "value": "{color.zinc.800}" },
|
||||
"muted-foreground": { "value": "{color.zinc.400}" },
|
||||
"accent": { "value": "{color.zinc.800}" },
|
||||
"accent-foreground": { "value": "{color.zinc.50}" },
|
||||
"destructive": { "value": "{color.red.900}" },
|
||||
"destructive-foreground": { "value": "{color.zinc.50}" },
|
||||
"border": { "value": "{color.zinc.800}" },
|
||||
"input": { "value": "{color.zinc.800}" },
|
||||
"ring": { "value": "{color.zinc.300}" }
|
||||
},
|
||||
"radius": {
|
||||
"sm": { "value": "{radius.sm}" },
|
||||
"md": { "value": "{radius.md}" },
|
||||
"lg": { "value": "{radius.lg}" },
|
||||
"xl": { "value": "{radius.xl}" },
|
||||
"full": { "value": "{radius.full}" }
|
||||
},
|
||||
"effect": {
|
||||
"shadow-xs": { "value": "0 1px 2px 0 rgba(0, 0, 0, 0.05)" },
|
||||
"shadow-sm": { "value": "0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1)" },
|
||||
"shadow-md": { "value": "0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1)" },
|
||||
"shadow-lg": { "value": "0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1)" },
|
||||
"shadow-xl": { "value": "0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1)" },
|
||||
"shadow-2xl": { "value": "0 25px 50px -12px rgba(0, 0, 0, 0.25)" },
|
||||
"focus-ring": { "value": "0 0 0 3px rgba(59, 130, 246, 0.5)" }
|
||||
},
|
||||
"spacing": {
|
||||
"0": { "value": "{spacing.0}" },
|
||||
"1": { "value": "{spacing.1}" },
|
||||
"2": { "value": "{spacing.2}" },
|
||||
"3": { "value": "{spacing.3}" },
|
||||
"4": { "value": "{spacing.4}" },
|
||||
"5": { "value": "{spacing.5}" },
|
||||
"6": { "value": "{spacing.6}" },
|
||||
"8": { "value": "{spacing.8}" },
|
||||
"10": { "value": "{spacing.10}" },
|
||||
"12": { "value": "{spacing.12}" },
|
||||
"16": { "value": "{spacing.16}" }
|
||||
},
|
||||
"typography": {
|
||||
"heading-1": {
|
||||
"font-family": { "value": "{font.family.sans}" },
|
||||
"font-weight": { "value": "{font.weight.bold}" },
|
||||
"font-size": { "value": "{font.size.5xl}" },
|
||||
"line-height": { "value": "1" },
|
||||
"letter-spacing": { "value": "-0.025em" }
|
||||
},
|
||||
"heading-2": {
|
||||
"font-family": { "value": "{font.family.sans}" },
|
||||
"font-weight": { "value": "{font.weight.semibold}" },
|
||||
"font-size": { "value": "{font.size.3xl}" },
|
||||
"line-height": { "value": "1.2" },
|
||||
"letter-spacing": { "value": "-0.025em" }
|
||||
},
|
||||
"heading-3": {
|
||||
"font-family": { "value": "{font.family.sans}" },
|
||||
"font-weight": { "value": "{font.weight.semibold}" },
|
||||
"font-size": { "value": "{font.size.2xl}" },
|
||||
"line-height": { "value": "1.3" },
|
||||
"letter-spacing": { "value": "-0.025em" }
|
||||
},
|
||||
"heading-4": {
|
||||
"font-family": { "value": "{font.family.sans}" },
|
||||
"font-weight": { "value": "{font.weight.semibold}" },
|
||||
"font-size": { "value": "{font.size.xl}" },
|
||||
"line-height": { "value": "1.4" },
|
||||
"letter-spacing": { "value": "0" }
|
||||
},
|
||||
"paragraph-regular": {
|
||||
"font-family": { "value": "{font.family.sans}" },
|
||||
"font-weight": { "value": "{font.weight.normal}" },
|
||||
"font-size": { "value": "{font.size.base}" },
|
||||
"line-height": { "value": "1.5" },
|
||||
"letter-spacing": { "value": "0" }
|
||||
},
|
||||
"paragraph-bold": {
|
||||
"font-family": { "value": "{font.family.sans}" },
|
||||
"font-weight": { "value": "{font.weight.medium}" },
|
||||
"font-size": { "value": "{font.size.base}" },
|
||||
"line-height": { "value": "1.5" },
|
||||
"letter-spacing": { "value": "0" }
|
||||
},
|
||||
"paragraph-small-regular": {
|
||||
"font-family": { "value": "{font.family.sans}" },
|
||||
"font-weight": { "value": "{font.weight.normal}" },
|
||||
"font-size": { "value": "{font.size.sm}" },
|
||||
"line-height": { "value": "1.5" },
|
||||
"letter-spacing": { "value": "0" }
|
||||
}
|
||||
}
|
||||
}
|
||||
18
.dss/themes/default.json
Normal file
18
.dss/themes/default.json
Normal file
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"_meta": {
|
||||
"name": "default",
|
||||
"description": "Default theme - brand overrides on top of shadcn skin",
|
||||
"version": "1.0.0",
|
||||
"layer": "theme",
|
||||
"extends": "skins/shadcn",
|
||||
"contract_version": "1.0.0"
|
||||
},
|
||||
"color": {
|
||||
"primary": { "value": "#18181b", "comment": "zinc-900 - brand primary" },
|
||||
"primary-foreground": { "value": "#fafafa", "comment": "zinc-50" },
|
||||
"ring": { "value": "#18181b", "comment": "matches primary" }
|
||||
},
|
||||
"radius": {
|
||||
"lg": { "value": "0.5rem", "comment": "default border radius for cards" }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user