feat: Add DSS infrastructure, remove legacy admin-ui code
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:
DSS
2025-12-10 22:15:11 -03:00
parent 71c6dc805a
commit 08ce228df1
205 changed files with 65666 additions and 47577 deletions

View 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"}

View File

@@ -0,0 +1 @@
{"target":"storybook","analyzed_at":"2025-12-10T21:38:46-03:00","stats":{"stories":14,"mdx":0},"status":"analyzed"}

View 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": []
}
]

View 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)"
}

File diff suppressed because it is too large Load Diff

View 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"}]
}
}
}

View 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": []
}
}

View 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;

View 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;
}

View 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"
}

View File

@@ -0,0 +1,9 @@
{
"_meta": {
"version": "1.0.0",
"generated": null,
"source": "awaiting Figma sync",
"status": "empty"
},
"tokens": {}
}

View 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"
]
}

View 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"
}
}
}
}