@asafarim/design-tokens 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/LICENSE +21 -0
- package/README.md +139 -0
- package/dist/build/index.cjs +166 -0
- package/dist/build/index.cjs.map +1 -0
- package/dist/build/index.d.cts +30 -0
- package/dist/build/index.d.ts +30 -0
- package/dist/build/index.js +135 -0
- package/dist/build/index.js.map +1 -0
- package/dist/css/index.css +8 -0
- package/dist/css/tokens.base.css +121 -0
- package/dist/css/tokens.dark.css +50 -0
- package/dist/css/tokens.density.comfortable.css +6 -0
- package/dist/css/tokens.density.compact.css +6 -0
- package/dist/css/tokens.high-contrast.css +50 -0
- package/dist/css/tokens.light.css +50 -0
- package/dist/css/tokens.rtl.css +3 -0
- package/dist/css/tokens.utilities.css +16 -0
- package/dist/index.cjs +1042 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +1118 -0
- package/dist/index.d.ts +1118 -0
- package/dist/index.js +1015 -0
- package/dist/index.js.map +1 -0
- package/package.json +75 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/tokens/color/brand.ts","../src/tokens/color/neutral.ts","../src/tokens/color/semantic.ts","../src/tokens/color/overlays.ts","../src/themes/light.ts","../src/themes/dark.ts","../src/themes/highContrast.ts","../src/themes/densityCompact.ts","../src/themes/densityComfortable.ts","../src/themes/index.ts","../src/tokens/color/index.ts","../src/tokens/color/accent.ts","../src/tokens/color/dataViz.ts","../src/tokens/color/gradients.ts","../src/tokens/typography/index.ts","../src/tokens/typography/families.ts","../src/tokens/typography/weights.ts","../src/tokens/typography/sizes.ts","../src/tokens/typography/lineHeights.ts","../src/tokens/typography/letterSpacing.ts","../src/tokens/typography/headings.ts","../src/tokens/typography/responsive.ts","../src/tokens/spacing/index.ts","../src/tokens/spacing/scale.ts","../src/tokens/spacing/layout.ts","../src/tokens/spacing/grid.ts","../src/tokens/spacing/density.ts","../src/tokens/spacing/rtl.ts","../src/tokens/shape/index.ts","../src/tokens/shape/radii.ts","../src/tokens/shape/borders.ts","../src/tokens/shape/strokes.ts","../src/tokens/effects/index.ts","../src/tokens/effects/shadows.ts","../src/tokens/effects/blur.ts","../src/tokens/effects/opacity.ts","../src/tokens/effects/textures.ts","../src/tokens/motion/index.ts","../src/tokens/motion/duration.ts","../src/tokens/motion/easing.ts","../src/tokens/motion/transitions.ts","../src/tokens/motion/reducedMotion.ts","../src/tokens/zindex/index.ts","../src/tokens/zindex/scale.ts","../src/tokens/iconography/index.ts","../src/tokens/iconography/sizes.ts","../src/tokens/iconography/strokeWidths.ts","../src/tokens/ui/index.ts","../src/tokens/ui/surface.ts","../src/tokens/ui/button.ts","../src/tokens/ui/input.ts","../src/tokens/ui/focus.ts","../src/tokens/ui/overlay.ts","../src/tokens/index.ts","../src/core/utils.ts","../src/build/toCssVars.ts","../src/build/validate.ts"],"sourcesContent":["import type { DensityDefinition, ThemeDefinition, Token, ValidateResult } from \"./core/types\";\r\nimport { themes } from \"./themes\";\r\nimport { tokens } from \"./tokens\";\r\nimport { toCssVars, toCssVarNames } from \"./build/toCssVars\";\r\nimport { validateTokens as validateTokensInternal } from \"./build/validate\";\r\n\r\nexport type { ThemeDefinition, Token };\r\nexport type { ValidateResult };\r\n\r\nexport { tokens };\r\nexport { themes };\r\n\r\nexport const cssVarNames = toCssVarNames(tokens as any);\r\n\r\nexport { toCssVars };\r\n\r\nexport type ApplyThemeOptions = {\r\n overrides?: Record<string, string | number>;\r\n cleanup?: boolean;\r\n};\r\n\r\nexport function applyThemeToElement(\r\n element: { style: { setProperty: (k: string, v: string) => void; removeProperty: (k: string) => void } },\r\n theme: ThemeDefinition | DensityDefinition,\r\n options?: ApplyThemeOptions\r\n) {\r\n const cleanup = options?.cleanup ?? false;\r\n\r\n const keys = Object.keys(theme.tokens);\r\n if (cleanup) {\r\n for (const k of keys) {\r\n element.style.removeProperty(k);\r\n }\r\n }\r\n\r\n for (const [k, v] of Object.entries(theme.tokens)) {\r\n element.style.setProperty(k, String(v));\r\n }\r\n\r\n if (options?.overrides) {\r\n for (const [k, v] of Object.entries(options.overrides)) {\r\n element.style.setProperty(k, String(v));\r\n }\r\n }\r\n}\r\n\r\nexport function prefersColorScheme(): \"light\" | \"dark\" | undefined {\r\n if (typeof window === \"undefined\" || typeof window.matchMedia !== \"function\") {\r\n return undefined;\r\n }\r\n\r\n return window.matchMedia(\"(prefers-color-scheme: dark)\").matches ? \"dark\" : \"light\";\r\n}\r\n\r\nexport function validateTokens(): ValidateResult {\r\n return validateTokensInternal({\r\n tokens: tokens as any,\r\n themes: [themes.light, themes.dark, themes.highContrast]\r\n });\r\n}\r\n","import type { Token } from \"../../core/types\";\r\n\r\nexport const brand = {\r\n primary50: {\r\n value: \"#EEF2FF\",\r\n description: \"Primary brand color scale - 50 (lightest).\"\r\n } satisfies Token,\r\n primary100: {\r\n value: \"#E0E7FF\",\r\n description: \"Primary brand color scale - 100.\"\r\n } satisfies Token,\r\n primary200: {\r\n value: \"#C7D2FE\",\r\n description: \"Primary brand color scale - 200.\"\r\n } satisfies Token,\r\n primary300: {\r\n value: \"#A5B4FC\",\r\n description: \"Primary brand color scale - 300.\"\r\n } satisfies Token,\r\n primary400: {\r\n value: \"#818CF8\",\r\n description: \"Primary brand color scale - 400.\"\r\n } satisfies Token,\r\n primary500: {\r\n value: \"#3A5AFE\",\r\n description: \"Primary brand color scale - 500 (core brand blue).\",\r\n meta: { wcag: \"Use for primary actions; pair with onPrimary tokens.\" }\r\n } satisfies Token,\r\n primary600: {\r\n value: \"#304FFE\",\r\n description: \"Primary brand color scale - 600.\"\r\n } satisfies Token,\r\n primary700: {\r\n value: \"#1E40FF\",\r\n description: \"Primary brand color scale - 700 (darkest brand accent).\"\r\n } satisfies Token,\r\n secondary500: {\r\n value: \"#14B8A6\",\r\n description: \"Optional secondary brand accent (teal).\"\r\n } satisfies Token\r\n} as const;\r\n","import type { Token } from \"../../core/types\";\r\n\r\nexport const neutral = {\r\n gray900: {\r\n value: \"#111827\",\r\n description: \"Neutral gray - 900 (near-black).\"\r\n } satisfies Token,\r\n gray700: {\r\n value: \"#374151\",\r\n description: \"Neutral gray - 700.\"\r\n } satisfies Token,\r\n gray500: {\r\n value: \"#6B7280\",\r\n description: \"Neutral gray - 500.\"\r\n } satisfies Token,\r\n gray300: {\r\n value: \"#D1D5DB\",\r\n description: \"Neutral gray - 300.\"\r\n } satisfies Token,\r\n gray50: {\r\n value: \"#F9FAFB\",\r\n description: \"Neutral gray - 50 (near-white).\"\r\n } satisfies Token,\r\n white: {\r\n value: \"#FFFFFF\",\r\n description: \"Pure white.\"\r\n } satisfies Token,\r\n black: {\r\n value: \"#000000\",\r\n description: \"Pure black.\"\r\n } satisfies Token\r\n} as const;\r\n","import type { Token } from \"../../core/types\";\r\n\r\nexport const semantic = {\r\n success: {\r\n value: \"#16A34A\",\r\n description: \"Semantic success color (base).\"\r\n } satisfies Token,\r\n successSubtle: {\r\n value: \"#DCFCE7\",\r\n description: \"Semantic success background/surface (subtle).\"\r\n } satisfies Token,\r\n warning: {\r\n value: \"#F59E0B\",\r\n description: \"Semantic warning color (base).\"\r\n } satisfies Token,\r\n warningSubtle: {\r\n value: \"#FEF3C7\",\r\n description: \"Semantic warning background/surface (subtle).\"\r\n } satisfies Token,\r\n error: {\r\n value: \"#EF4444\",\r\n description: \"Semantic error color (base).\"\r\n } satisfies Token,\r\n errorSubtle: {\r\n value: \"#FEE2E2\",\r\n description: \"Semantic error background/surface (subtle).\"\r\n } satisfies Token,\r\n info: {\r\n value: \"#0EA5E9\",\r\n description: \"Semantic info color (base).\"\r\n } satisfies Token,\r\n infoSubtle: {\r\n value: \"#E0F2FE\",\r\n description: \"Semantic info background/surface (subtle).\"\r\n } satisfies Token\r\n} as const;\r\n","import type { Token } from \"../../core/types\";\r\n\r\nexport const overlays = {\r\n scrimStrong: {\r\n value: \"rgba(17, 24, 39, 0.64)\",\r\n description: \"Strong scrim for modals/overlays.\"\r\n } satisfies Token,\r\n scrim: {\r\n value: \"rgba(17, 24, 39, 0.48)\",\r\n description: \"Default scrim for overlays.\"\r\n } satisfies Token,\r\n scrimSubtle: {\r\n value: \"rgba(17, 24, 39, 0.24)\",\r\n description: \"Subtle scrim for light overlays.\"\r\n } satisfies Token,\r\n glassFill: {\r\n value: \"rgba(249, 250, 251, 0.72)\",\r\n description: \"Glass/blur fill for frosted surfaces (light).\",\r\n meta: { note: \"For dark theme, use theme override.\" }\r\n } satisfies Token\r\n} as const;\r\n","import type { ThemeDefinition } from \"../core/types\";\r\nimport { brand } from \"../tokens/color/brand\";\r\nimport { neutral } from \"../tokens/color/neutral\";\r\nimport { semantic } from \"../tokens/color/semantic\";\r\nimport { overlays } from \"../tokens/color/overlays\";\r\n\r\nexport const light: ThemeDefinition = {\r\n name: \"light\",\r\n tokens: {\r\n \"--asm-color-bg\": neutral.gray50.value,\r\n \"--asm-color-surface\": neutral.white.value,\r\n \"--asm-color-surface-muted\": \"#F3F4F6\",\r\n \"--asm-color-panel\": neutral.white.value,\r\n \"--asm-color-modal\": neutral.white.value,\r\n\r\n \"--asm-color-text\": neutral.gray900.value,\r\n \"--asm-color-text-muted\": neutral.gray500.value,\r\n \"--asm-color-border\": neutral.gray300.value,\r\n\r\n \"--asm-color-brand-primary-50\": brand.primary50.value,\r\n \"--asm-color-brand-primary-500\": brand.primary500.value,\r\n \"--asm-color-brand-primary-600\": brand.primary600.value,\r\n \"--asm-color-brand-primary-700\": brand.primary700.value,\r\n\r\n \"--asm-color-semantic-success\": semantic.success.value,\r\n \"--asm-color-semantic-warning\": semantic.warning.value,\r\n \"--asm-color-semantic-error\": semantic.error.value,\r\n \"--asm-color-semantic-info\": semantic.info.value,\r\n\r\n \"--asm-color-button-primary-bg\": brand.primary600.value,\r\n \"--asm-color-button-primary-bg-hover\": brand.primary700.value,\r\n \"--asm-color-button-primary-bg-active\": brand.primary700.value,\r\n \"--asm-color-button-primary-text\": neutral.white.value,\r\n\r\n \"--asm-color-button-secondary-bg\": neutral.white.value,\r\n \"--asm-color-button-secondary-text\": neutral.gray900.value,\r\n\r\n \"--asm-color-button-ghost-bg-hover\": \"rgba(17, 24, 39, 0.06)\",\r\n\r\n \"--asm-color-button-destructive-bg\": semantic.error.value,\r\n \"--asm-color-button-destructive-text\": neutral.white.value,\r\n\r\n \"--asm-color-button-disabled-bg\": neutral.gray300.value,\r\n \"--asm-color-button-disabled-text\": neutral.gray700.value,\r\n\r\n \"--asm-color-input-bg\": neutral.white.value,\r\n \"--asm-color-input-text\": neutral.gray900.value,\r\n \"--asm-color-input-border\": neutral.gray300.value,\r\n \"--asm-color-input-border-hover\": neutral.gray500.value,\r\n \"--asm-color-input-border-focus\": brand.primary600.value,\r\n \"--asm-color-input-placeholder\": neutral.gray500.value,\r\n \"--asm-color-input-error-border\": semantic.error.value,\r\n \"--asm-color-input-success-border\": semantic.success.value,\r\n\r\n \"--asm-color-focus-ring\": brand.primary500.value,\r\n\r\n \"--asm-color-overlay-scrim\": overlays.scrim.value,\r\n\r\n \"--asm-color-dataviz-gridline\": neutral.gray300.value,\r\n \"--asm-color-dataviz-axis\": neutral.gray500.value,\r\n \"--asm-color-dataviz-tooltip-bg\": neutral.gray900.value,\r\n \"--asm-color-dataviz-tooltip-text\": neutral.gray50.value\r\n }\r\n};\r\n","import type { ThemeDefinition } from \"../core/types\";\r\nimport { brand } from \"../tokens/color/brand\";\r\nimport { neutral } from \"../tokens/color/neutral\";\r\nimport { semantic } from \"../tokens/color/semantic\";\r\nimport { overlays } from \"../tokens/color/overlays\";\r\n\r\nexport const dark: ThemeDefinition = {\r\n name: \"dark\",\r\n tokens: {\r\n \"--asm-color-bg\": \"#0B1220\",\r\n \"--asm-color-surface\": \"#0F172A\",\r\n \"--asm-color-surface-muted\": \"#111B2E\",\r\n \"--asm-color-panel\": \"#0F172A\",\r\n \"--asm-color-modal\": \"#0F172A\",\r\n\r\n \"--asm-color-text\": \"#E5E7EB\",\r\n \"--asm-color-text-muted\": \"#9CA3AF\",\r\n \"--asm-color-border\": \"#1F2937\",\r\n\r\n \"--asm-color-brand-primary-50\": brand.primary50.value,\r\n \"--asm-color-brand-primary-500\": brand.primary500.value,\r\n \"--asm-color-brand-primary-600\": brand.primary500.value,\r\n \"--asm-color-brand-primary-700\": brand.primary600.value,\r\n\r\n \"--asm-color-semantic-success\": \"#22C55E\",\r\n \"--asm-color-semantic-warning\": \"#FBBF24\",\r\n \"--asm-color-semantic-error\": \"#F87171\",\r\n \"--asm-color-semantic-info\": \"#38BDF8\",\r\n\r\n \"--asm-color-button-primary-bg\": brand.primary500.value,\r\n \"--asm-color-button-primary-bg-hover\": brand.primary600.value,\r\n \"--asm-color-button-primary-bg-active\": brand.primary600.value,\r\n \"--asm-color-button-primary-text\": neutral.white.value,\r\n\r\n \"--asm-color-button-secondary-bg\": \"#111B2E\",\r\n \"--asm-color-button-secondary-text\": \"#E5E7EB\",\r\n\r\n \"--asm-color-button-ghost-bg-hover\": \"rgba(229, 231, 235, 0.08)\",\r\n\r\n \"--asm-color-button-destructive-bg\": \"#F87171\",\r\n \"--asm-color-button-destructive-text\": \"#0B1220\",\r\n\r\n \"--asm-color-button-disabled-bg\": \"#1F2937\",\r\n \"--asm-color-button-disabled-text\": \"#9CA3AF\",\r\n\r\n \"--asm-color-input-bg\": \"#0B1220\",\r\n \"--asm-color-input-text\": \"#E5E7EB\",\r\n \"--asm-color-input-border\": \"#1F2937\",\r\n \"--asm-color-input-border-hover\": \"#374151\",\r\n \"--asm-color-input-border-focus\": brand.primary500.value,\r\n \"--asm-color-input-placeholder\": \"#9CA3AF\",\r\n \"--asm-color-input-error-border\": \"#F87171\",\r\n \"--asm-color-input-success-border\": \"#22C55E\",\r\n\r\n \"--asm-color-focus-ring\": brand.primary500.value,\r\n\r\n \"--asm-color-overlay-scrim\": overlays.scrimStrong.value,\r\n\r\n \"--asm-color-dataviz-gridline\": \"#1F2937\",\r\n \"--asm-color-dataviz-axis\": \"#9CA3AF\",\r\n \"--asm-color-dataviz-tooltip-bg\": \"#111827\",\r\n \"--asm-color-dataviz-tooltip-text\": \"#F9FAFB\"\r\n }\r\n};\r\n","import type { ThemeDefinition } from \"../core/types\";\r\n\r\nexport const highContrast: ThemeDefinition = {\r\n name: \"high-contrast\",\r\n tokens: {\r\n \"--asm-color-bg\": \"#000000\",\r\n \"--asm-color-surface\": \"#000000\",\r\n \"--asm-color-surface-muted\": \"#000000\",\r\n \"--asm-color-panel\": \"#000000\",\r\n \"--asm-color-modal\": \"#000000\",\r\n\r\n \"--asm-color-text\": \"#FFFFFF\",\r\n \"--asm-color-text-muted\": \"#FFFFFF\",\r\n \"--asm-color-border\": \"#FFFFFF\",\r\n\r\n \"--asm-color-brand-primary-50\": \"#FFFFFF\",\r\n \"--asm-color-brand-primary-500\": \"#FFFFFF\",\r\n \"--asm-color-brand-primary-600\": \"#FFFFFF\",\r\n \"--asm-color-brand-primary-700\": \"#FFFFFF\",\r\n\r\n \"--asm-color-semantic-success\": \"#00FF00\",\r\n \"--asm-color-semantic-warning\": \"#FFFF00\",\r\n \"--asm-color-semantic-error\": \"#FF0000\",\r\n \"--asm-color-semantic-info\": \"#00FFFF\",\r\n\r\n \"--asm-color-button-primary-bg\": \"#FFFFFF\",\r\n \"--asm-color-button-primary-bg-hover\": \"#FFFFFF\",\r\n \"--asm-color-button-primary-bg-active\": \"#FFFFFF\",\r\n \"--asm-color-button-primary-text\": \"#000000\",\r\n\r\n \"--asm-color-button-secondary-bg\": \"#000000\",\r\n \"--asm-color-button-secondary-text\": \"#FFFFFF\",\r\n\r\n \"--asm-color-button-ghost-bg-hover\": \"#FFFFFF\",\r\n\r\n \"--asm-color-button-destructive-bg\": \"#FF0000\",\r\n \"--asm-color-button-destructive-text\": \"#000000\",\r\n\r\n \"--asm-color-button-disabled-bg\": \"#000000\",\r\n \"--asm-color-button-disabled-text\": \"#FFFFFF\",\r\n\r\n \"--asm-color-input-bg\": \"#000000\",\r\n \"--asm-color-input-text\": \"#FFFFFF\",\r\n \"--asm-color-input-border\": \"#FFFFFF\",\r\n \"--asm-color-input-border-hover\": \"#FFFFFF\",\r\n \"--asm-color-input-border-focus\": \"#FFFFFF\",\r\n \"--asm-color-input-placeholder\": \"#FFFFFF\",\r\n \"--asm-color-input-error-border\": \"#FF0000\",\r\n \"--asm-color-input-success-border\": \"#00FF00\",\r\n\r\n \"--asm-color-focus-ring\": \"#FFFFFF\",\r\n\r\n \"--asm-color-overlay-scrim\": \"rgba(255, 255, 255, 0.9)\",\r\n\r\n \"--asm-color-dataviz-gridline\": \"#FFFFFF\",\r\n \"--asm-color-dataviz-axis\": \"#FFFFFF\",\r\n \"--asm-color-dataviz-tooltip-bg\": \"#FFFFFF\",\r\n \"--asm-color-dataviz-tooltip-text\": \"#000000\"\r\n }\r\n};\r\n","import type { DensityDefinition } from \"../core/types\";\r\n\r\nexport const densityCompact: DensityDefinition = {\r\n name: \"compact\",\r\n tokens: {\r\n \"--asm-density-factor\": 0.9,\r\n \"--asm-space-component-gap\": \"12px\",\r\n \"--asm-space-control-padding-y\": \"6px\",\r\n \"--asm-space-control-padding-x\": \"10px\"\r\n }\r\n};\r\n","import type { DensityDefinition } from \"../core/types\";\r\n\r\nexport const densityComfortable: DensityDefinition = {\r\n name: \"comfortable\",\r\n tokens: {\r\n \"--asm-density-factor\": 1.05,\r\n \"--asm-space-component-gap\": \"18px\",\r\n \"--asm-space-control-padding-y\": \"10px\",\r\n \"--asm-space-control-padding-x\": \"14px\"\r\n }\r\n};\r\n","export { light } from \"./light\";\r\nexport { dark } from \"./dark\";\r\nexport { highContrast } from \"./highContrast\";\r\nexport { densityCompact } from \"./densityCompact\";\r\nexport { densityComfortable } from \"./densityComfortable\";\r\n\r\nimport { light } from \"./light\";\r\nimport { dark } from \"./dark\";\r\nimport { highContrast } from \"./highContrast\";\r\nimport { densityCompact } from \"./densityCompact\";\r\nimport { densityComfortable } from \"./densityComfortable\";\r\n\r\nexport const themes = {\r\n light,\r\n dark,\r\n highContrast,\r\n density: {\r\n compact: densityCompact,\r\n comfortable: densityComfortable\r\n }\r\n} as const;\r\n","export { brand } from \"./brand\";\r\nexport { neutral } from \"./neutral\";\r\nexport { semantic } from \"./semantic\";\r\nexport { accent } from \"./accent\";\r\nexport { dataViz } from \"./dataViz\";\r\nexport { overlays } from \"./overlays\";\r\nexport { gradients } from \"./gradients\";\r\n","import type { Token } from \"../../core/types\";\r\n\r\nexport const accent = {\r\n purple500: {\r\n value: \"#8B5CF6\",\r\n description: \"Accent purple for special contexts (e.g., highlights).\"\r\n } satisfies Token,\r\n cyan500: {\r\n value: \"#06B6D4\",\r\n description: \"Accent cyan for special contexts (e.g., data accents).\"\r\n } satisfies Token,\r\n pink500: {\r\n value: \"#EC4899\",\r\n description: \"Accent pink for special contexts.\"\r\n } satisfies Token,\r\n lime500: {\r\n value: \"#84CC16\",\r\n description: \"Accent lime for special contexts.\"\r\n } satisfies Token\r\n} as const;\r\n","import type { Token } from \"../../core/types\";\r\n\r\nexport const dataViz = {\r\n series1: { value: \"#3A5AFE\", description: \"DataViz series color 1 (brand primary).\" } satisfies Token,\r\n series2: { value: \"#14B8A6\", description: \"DataViz series color 2 (brand secondary).\" } satisfies Token,\r\n series3: { value: \"#8B5CF6\", description: \"DataViz series color 3.\" } satisfies Token,\r\n series4: { value: \"#F59E0B\", description: \"DataViz series color 4.\" } satisfies Token,\r\n series5: { value: \"#EF4444\", description: \"DataViz series color 5.\" } satisfies Token,\r\n series6: { value: \"#0EA5E9\", description: \"DataViz series color 6.\" } satisfies Token,\r\n series7: { value: \"#84CC16\", description: \"DataViz series color 7.\" } satisfies Token,\r\n series8: { value: \"#EC4899\", description: \"DataViz series color 8.\" } satisfies Token,\r\n series9: { value: \"#6366F1\", description: \"DataViz series color 9.\" } satisfies Token,\r\n series10: { value: \"#F97316\", description: \"DataViz series color 10.\" } satisfies Token,\r\n series11: { value: \"#22C55E\", description: \"DataViz series color 11.\" } satisfies Token,\r\n series12: { value: \"#A855F7\", description: \"DataViz series color 12.\" } satisfies Token,\r\n gridline: { value: \"#D1D5DB\", description: \"DataViz gridline color.\" } satisfies Token,\r\n axis: { value: \"#6B7280\", description: \"DataViz axis label color.\" } satisfies Token,\r\n tooltipBg: { value: \"#111827\", description: \"DataViz tooltip background color.\" } satisfies Token,\r\n tooltipText: { value: \"#F9FAFB\", description: \"DataViz tooltip text color.\" } satisfies Token\r\n} as const;\r\n","import type { Token } from \"../../core/types\";\r\n\r\nexport const gradients = {\r\n primary: {\r\n value: \"linear-gradient(135deg, #3A5AFE 0%, #8B5CF6 100%)\",\r\n description: \"Primary brand gradient (used for hero/marketing accents).\"\r\n } satisfies Token,\r\n subtleHero: {\r\n value: \"linear-gradient(180deg, rgba(58, 90, 254, 0.10) 0%, rgba(249, 250, 251, 0) 80%)\",\r\n description: \"Subtle hero gradient background overlay (light).\",\r\n meta: { note: \"Use theme override in dark/high-contrast.\" }\r\n } satisfies Token\r\n} as const;\r\n","export { families } from \"./families\";\r\nexport { weights } from \"./weights\";\r\nexport { sizes } from \"./sizes\";\r\nexport { lineHeights } from \"./lineHeights\";\r\nexport { letterSpacing } from \"./letterSpacing\";\r\nexport { headings } from \"./headings\";\r\nexport { responsive } from \"./responsive\";\r\n","import type { Token } from \"../../core/types\";\r\n\r\nexport const families = {\r\n primary: {\r\n value:\r\n \"Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"\",\r\n description: \"Primary UI font family stack (Inter first).\"\r\n } satisfies Token,\r\n mono: {\r\n value:\r\n \"\\\"JetBrains Mono\\\", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace\",\r\n description: \"Monospace font family stack (JetBrains Mono first).\"\r\n } satisfies Token\r\n} as const;\r\n","import type { Token } from \"../../core/types\";\r\n\r\nexport const weights = {\r\n w100: { value: 100, description: \"Font weight 100 (thin).\" } satisfies Token<number>,\r\n w200: { value: 200, description: \"Font weight 200 (extra light).\" } satisfies Token<number>,\r\n w300: { value: 300, description: \"Font weight 300 (light).\" } satisfies Token<number>,\r\n w400: { value: 400, description: \"Font weight 400 (regular).\" } satisfies Token<number>,\r\n w500: { value: 500, description: \"Font weight 500 (medium).\" } satisfies Token<number>,\r\n w600: { value: 600, description: \"Font weight 600 (semibold).\" } satisfies Token<number>,\r\n w700: { value: 700, description: \"Font weight 700 (bold).\" } satisfies Token<number>,\r\n w800: { value: 800, description: \"Font weight 800 (extra bold).\" } satisfies Token<number>,\r\n w900: { value: 900, description: \"Font weight 900 (black).\" } satisfies Token<number>\r\n} as const;\r\n","import type { Token } from \"../../core/types\";\r\n\r\nexport const sizes = {\r\n xs: { value: \"0.75rem\", description: \"Font size xs (12px).\" } satisfies Token,\r\n sm: { value: \"0.875rem\", description: \"Font size sm (14px).\" } satisfies Token,\r\n md: { value: \"1rem\", description: \"Font size md (16px).\" } satisfies Token,\r\n lg: { value: \"1.125rem\", description: \"Font size lg (18px).\" } satisfies Token,\r\n xl: { value: \"1.25rem\", description: \"Font size xl (20px).\" } satisfies Token,\r\n x2l: { value: \"1.5rem\", description: \"Font size 2xl (24px).\" } satisfies Token,\r\n x3l: { value: \"1.875rem\", description: \"Font size 3xl (30px).\" } satisfies Token,\r\n x4l: { value: \"2.25rem\", description: \"Font size 4xl (36px).\" } satisfies Token,\r\n x5l: { value: \"3rem\", description: \"Font size 5xl (48px).\" } satisfies Token,\r\n x6l: { value: \"3.75rem\", description: \"Font size 6xl (60px).\" } satisfies Token\r\n} as const;\r\n","import type { Token } from \"../../core/types\";\r\n\r\nexport const lineHeights = {\r\n tight: { value: 1.1, description: \"Tight line-height (headings).\" } satisfies Token<number>,\r\n normal: { value: 1.4, description: \"Normal line-height (UI).\" } satisfies Token<number>,\r\n relaxed: { value: 1.6, description: \"Relaxed line-height (long form).\" } satisfies Token<number>,\r\n h1: { value: 1.05, description: \"H1 line-height.\" } satisfies Token<number>,\r\n h2: { value: 1.1, description: \"H2 line-height.\" } satisfies Token<number>,\r\n h3: { value: 1.15, description: \"H3 line-height.\" } satisfies Token<number>,\r\n h4: { value: 1.2, description: \"H4 line-height.\" } satisfies Token<number>,\r\n h5: { value: 1.25, description: \"H5 line-height.\" } satisfies Token<number>,\r\n h6: { value: 1.25, description: \"H6 line-height.\" } satisfies Token<number>\r\n} as const;\r\n","import type { Token } from \"../../core/types\";\r\n\r\nexport const letterSpacing = {\r\n tight: { value: \"-0.01em\", description: \"Tight letter spacing.\" } satisfies Token,\r\n normal: { value: \"0em\", description: \"Normal letter spacing.\" } satisfies Token,\r\n wide: { value: \"0.02em\", description: \"Wide letter spacing.\" } satisfies Token\r\n} as const;\r\n","import type { Token } from \"../../core/types\";\r\n\r\nexport const headings = {\r\n h1: {\r\n value: \"var(--asm-font-size-6xl) / var(--asm-line-height-h1) var(--asm-font-family-primary)\",\r\n description: \"H1 shorthand (size/line-height/family).\",\r\n meta: { note: \"Use size/weight/lineHeight tokens for precise control.\" }\r\n } satisfies Token,\r\n h2: {\r\n value: \"var(--asm-font-size-5xl) / var(--asm-line-height-h2) var(--asm-font-family-primary)\",\r\n description: \"H2 shorthand (size/line-height/family).\"\r\n } satisfies Token,\r\n h3: {\r\n value: \"var(--asm-font-size-4xl) / var(--asm-line-height-h3) var(--asm-font-family-primary)\",\r\n description: \"H3 shorthand (size/line-height/family).\"\r\n } satisfies Token,\r\n h4: {\r\n value: \"var(--asm-font-size-3xl) / var(--asm-line-height-h4) var(--asm-font-family-primary)\",\r\n description: \"H4 shorthand (size/line-height/family).\"\r\n } satisfies Token,\r\n h5: {\r\n value: \"var(--asm-font-size-2xl) / var(--asm-line-height-h5) var(--asm-font-family-primary)\",\r\n description: \"H5 shorthand (size/line-height/family).\"\r\n } satisfies Token,\r\n h6: {\r\n value: \"var(--asm-font-size-xl) / var(--asm-line-height-h6) var(--asm-font-family-primary)\",\r\n description: \"H6 shorthand (size/line-height/family).\"\r\n } satisfies Token\r\n} as const;\r\n","import type { Token } from \"../../core/types\";\r\n\r\nexport const responsive = {\r\n bodyMaxWidth: {\r\n value: \"68ch\",\r\n description: \"Recommended max-width for long-form text blocks.\"\r\n } satisfies Token,\r\n scaleMobile: {\r\n value: 0.95,\r\n description: \"Typography scale factor for mobile contexts.\",\r\n meta: { note: \"Use with clamp() in consuming apps when needed.\" }\r\n } satisfies Token<number>,\r\n scaleTablet: {\r\n value: 1,\r\n description: \"Typography scale factor for tablet contexts.\"\r\n } satisfies Token<number>,\r\n scaleDesktop: {\r\n value: 1.05,\r\n description: \"Typography scale factor for desktop contexts.\"\r\n } satisfies Token<number>\r\n} as const;\r\n","export { scale } from \"./scale\";\r\nexport { layout } from \"./layout\";\r\nexport { grid } from \"./grid\";\r\nexport { density } from \"./density\";\r\nexport { rtl } from \"./rtl\";\r\n","import type { Token } from \"../../core/types\";\r\n\r\nexport const scale = {\r\n s0: { value: \"0px\", description: \"Spacing 0.\" } satisfies Token,\r\n s1: { value: \"4px\", description: \"Spacing 1 (4px).\" } satisfies Token,\r\n s2: { value: \"8px\", description: \"Spacing 2 (8px).\" } satisfies Token,\r\n s3: { value: \"12px\", description: \"Spacing 3 (12px).\" } satisfies Token,\r\n s4: { value: \"16px\", description: \"Spacing 4 (16px).\" } satisfies Token,\r\n s5: { value: \"20px\", description: \"Spacing 5 (20px).\" } satisfies Token,\r\n s6: { value: \"24px\", description: \"Spacing 6 (24px).\" } satisfies Token,\r\n s8: { value: \"32px\", description: \"Spacing 8 (32px).\" } satisfies Token,\r\n s10: { value: \"40px\", description: \"Spacing 10 (40px).\" } satisfies Token,\r\n s12: { value: \"48px\", description: \"Spacing 12 (48px).\" } satisfies Token,\r\n s16: { value: \"64px\", description: \"Spacing 16 (64px).\" } satisfies Token\r\n} as const;\r\n","import type { Token } from \"../../core/types\";\r\n\r\nexport const layout = {\r\n pagePaddingX: {\r\n value: \"clamp(16px, 3vw, 32px)\",\r\n description: \"Default horizontal page padding (responsive).\"\r\n } satisfies Token,\r\n pagePaddingY: {\r\n value: \"clamp(16px, 3vw, 40px)\",\r\n description: \"Default vertical page padding (responsive).\"\r\n } satisfies Token,\r\n sectionGap: {\r\n value: \"clamp(24px, 4vw, 64px)\",\r\n description: \"Vertical spacing between major sections.\"\r\n } satisfies Token,\r\n componentGap: {\r\n value: \"16px\",\r\n description: \"Default spacing between components within a section.\"\r\n } satisfies Token\r\n} as const;\r\n","import type { Token } from \"../../core/types\";\r\n\r\nexport const grid = {\r\n columns: {\r\n value: 12,\r\n description: \"Default grid column count.\"\r\n } satisfies Token<number>,\r\n gutter: {\r\n value: \"24px\",\r\n description: \"Default grid gutter size.\"\r\n } satisfies Token,\r\n breakpoints: {\r\n xs: { value: \"360px\", description: \"Breakpoint XS.\" } satisfies Token,\r\n sm: { value: \"640px\", description: \"Breakpoint SM.\" } satisfies Token,\r\n md: { value: \"768px\", description: \"Breakpoint MD.\" } satisfies Token,\r\n lg: { value: \"1024px\", description: \"Breakpoint LG.\" } satisfies Token,\r\n xl: { value: \"1280px\", description: \"Breakpoint XL.\" } satisfies Token,\r\n x2l: { value: \"1536px\", description: \"Breakpoint 2XL.\" } satisfies Token\r\n },\r\n containerWidths: {\r\n xs: { value: \"480px\", description: \"Container width XS.\" } satisfies Token,\r\n sm: { value: \"640px\", description: \"Container width SM.\" } satisfies Token,\r\n md: { value: \"768px\", description: \"Container width MD.\" } satisfies Token,\r\n lg: { value: \"1024px\", description: \"Container width LG.\" } satisfies Token,\r\n xl: { value: \"1280px\", description: \"Container width XL.\" } satisfies Token,\r\n x2l: { value: \"1360px\", description: \"Container width 2XL (ASafariM standard).\" } satisfies Token\r\n }\r\n} as const;\r\n","import type { Token } from \"../../core/types\";\r\n\r\nexport const density = {\r\n compactFactor: {\r\n value: 0.9,\r\n description: \"Density factor applied in compact mode.\"\r\n } satisfies Token<number>,\r\n comfortableFactor: {\r\n value: 1.05,\r\n description: \"Density factor applied in comfortable mode.\"\r\n } satisfies Token<number>\r\n} as const;\r\n","import type { Token } from \"../../core/types\";\r\n\r\nexport const rtl = {\r\n logicalInsetStart: {\r\n value: \"inset-inline-start\",\r\n description: \"Use logical inset start property for RTL-safe positioning.\"\r\n } satisfies Token,\r\n logicalInsetEnd: {\r\n value: \"inset-inline-end\",\r\n description: \"Use logical inset end property for RTL-safe positioning.\"\r\n } satisfies Token,\r\n logicalMarginStart: {\r\n value: \"margin-inline-start\",\r\n description: \"Use logical margin start for RTL-safe spacing.\"\r\n } satisfies Token,\r\n logicalMarginEnd: {\r\n value: \"margin-inline-end\",\r\n description: \"Use logical margin end for RTL-safe spacing.\"\r\n } satisfies Token\r\n} as const;\r\n","export { radii } from \"./radii\";\r\nexport { borders } from \"./borders\";\r\nexport { strokes } from \"./strokes\";\r\n","import type { Token } from \"../../core/types\";\r\n\r\nexport const radii = {\r\n sm: { value: \"6px\", description: \"Small radius.\" } satisfies Token,\r\n md: { value: \"10px\", description: \"Medium radius.\" } satisfies Token,\r\n lg: { value: \"12px\", description: \"Large radius (cards).\" } satisfies Token,\r\n xl: { value: \"16px\", description: \"Extra-large radius.\" } satisfies Token,\r\n full: { value: \"9999px\", description: \"Full pill/circle radius.\" } satisfies Token\r\n} as const;\r\n","import type { Token } from \"../../core/types\";\r\n\r\nexport const borders = {\r\n hairline: { value: \"1px\", description: \"Hairline border width.\" } satisfies Token,\r\n thin: { value: \"2px\", description: \"Thin border width.\" } satisfies Token,\r\n thick: { value: \"3px\", description: \"Thick border width.\" } satisfies Token\r\n} as const;\r\n","import type { Token } from \"../../core/types\";\r\n\r\nexport const strokes = {\r\n default: { value: \"1px\", description: \"Default stroke width.\" } satisfies Token,\r\n strong: { value: \"2px\", description: \"Strong stroke width.\" } satisfies Token,\r\n dash: { value: \"4 2\", description: \"Default dash pattern (stroke-dasharray).\" } satisfies Token\r\n} as const;\r\n","export { shadows } from \"./shadows\";\r\nexport { blur } from \"./blur\";\r\nexport { opacity } from \"./opacity\";\r\nexport { textures } from \"./textures\";\r\n","import type { Token } from \"../../core/types\";\r\n\r\nexport const shadows = {\r\n sm: {\r\n value: \"0 1px 2px rgba(17, 24, 39, 0.06)\",\r\n description: \"Shadow sm (subtle elevation).\"\r\n } satisfies Token,\r\n md: {\r\n value: \"0 6px 20px rgba(17, 24, 39, 0.10)\",\r\n description: \"Shadow md (card elevation).\"\r\n } satisfies Token,\r\n lg: {\r\n value: \"0 16px 40px rgba(17, 24, 39, 0.14)\",\r\n description: \"Shadow lg (overlay elevation).\"\r\n } satisfies Token,\r\n xl: {\r\n value: \"0 24px 60px rgba(17, 24, 39, 0.18)\",\r\n description: \"Shadow xl (modal elevation).\"\r\n } satisfies Token\r\n} as const;\r\n","import type { Token } from \"../../core/types\";\r\n\r\nexport const blur = {\r\n sm: { value: \"4px\", description: \"Small blur.\" } satisfies Token,\r\n md: { value: \"8px\", description: \"Medium blur.\" } satisfies Token,\r\n lg: { value: \"16px\", description: \"Large blur (glass).\" } satisfies Token\r\n} as const;\r\n","import type { Token } from \"../../core/types\";\r\n\r\nexport const opacity = {\r\n o0: { value: 0, description: \"Opacity 0%.\" } satisfies Token<number>,\r\n o10: { value: 0.1, description: \"Opacity 10%.\" } satisfies Token<number>,\r\n o20: { value: 0.2, description: \"Opacity 20%.\" } satisfies Token<number>,\r\n o40: { value: 0.4, description: \"Opacity 40%.\" } satisfies Token<number>,\r\n o60: { value: 0.6, description: \"Opacity 60%.\" } satisfies Token<number>,\r\n o80: { value: 0.8, description: \"Opacity 80%.\" } satisfies Token<number>,\r\n o100: { value: 1, description: \"Opacity 100%.\" } satisfies Token<number>\r\n} as const;\r\n","import type { Token } from \"../../core/types\";\r\n\r\nexport const textures = {\r\n none: { value: \"none\", description: \"No texture.\" } satisfies Token,\r\n noise: {\r\n value:\r\n \"url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22120%22 height=%22120%22%3E%3Cfilter id=%22n%22 x=%220%22 y=%220%22%3E%3CfeTurbulence type=%22fractalNoise%22 baseFrequency=%220.9%22 numOctaves=%223%22 stitchTiles=%22stitch%22/%3E%3C/filter%3E%3Crect width=%22120%22 height=%22120%22 filter=%22url(%23n)%22 opacity=%220.06%22/%3E%3C/svg%3E')\",\r\n description: \"Subtle noise texture (data URI).\",\r\n meta: { note: \"Use as background-image; keep opacity low.\" }\r\n } satisfies Token\r\n} as const;\r\n","export { duration } from \"./duration\";\r\nexport { easing } from \"./easing\";\r\nexport { transitions } from \"./transitions\";\r\nexport { reducedMotion } from \"./reducedMotion\";\r\n","import type { Token } from \"../../core/types\";\r\n\r\nexport const duration = {\r\n fast: { value: \"120ms\", description: \"Fast duration for micro-interactions.\" } satisfies Token,\r\n normal: { value: \"200ms\", description: \"Normal duration for standard UI transitions.\" } satisfies Token,\r\n slow: { value: \"320ms\", description: \"Slow duration for larger transitions.\" } satisfies Token\r\n} as const;\r\n","import type { Token } from \"../../core/types\";\r\n\r\nexport const easing = {\r\n standard: { value: \"cubic-bezier(0.2, 0, 0, 1)\", description: \"Standard easing.\" } satisfies Token,\r\n emphasized: { value: \"cubic-bezier(0.2, 0, 0, 1.2)\", description: \"Emphasized easing.\" } satisfies Token,\r\n entrance: { value: \"cubic-bezier(0, 0, 0, 1)\", description: \"Entrance easing.\" } satisfies Token,\r\n exit: { value: \"cubic-bezier(0.4, 0, 1, 1)\", description: \"Exit easing.\" } satisfies Token\r\n} as const;\r\n","import type { Token } from \"../../core/types\";\r\n\r\nexport const transitions = {\r\n fade: {\r\n value: \"opacity var(--asm-motion-duration-normal) var(--asm-motion-easing-standard)\",\r\n description: \"Fade transition preset.\"\r\n } satisfies Token,\r\n slide: {\r\n value: \"transform var(--asm-motion-duration-normal) var(--asm-motion-easing-standard)\",\r\n description: \"Slide transition preset.\"\r\n } satisfies Token,\r\n scale: {\r\n value: \"transform var(--asm-motion-duration-fast) var(--asm-motion-easing-emphasized)\",\r\n description: \"Scale transition preset.\"\r\n } satisfies Token\r\n} as const;\r\n","import type { Token } from \"../../core/types\";\r\n\r\nexport const reducedMotion = {\r\n disableTransitions: {\r\n value: 1,\r\n description: \"If true, consumers should disable non-essential transitions when prefers-reduced-motion is enabled.\",\r\n meta: { hint: \"Use @media (prefers-reduced-motion: reduce) in CSS.\" }\r\n } satisfies Token<number>\r\n} as const;\r\n","export { scale } from \"./scale\";\r\n","import type { Token } from \"../../core/types\";\r\n\r\nexport const scale = {\r\n base: { value: 0, description: \"Base stacking context.\" } satisfies Token<number>,\r\n dropdown: { value: 100, description: \"Dropdown menus.\" } satisfies Token<number>,\r\n sticky: { value: 200, description: \"Sticky headers.\" } satisfies Token<number>,\r\n overlay: { value: 300, description: \"Overlays/scrims.\" } satisfies Token<number>,\r\n modal: { value: 400, description: \"Modal dialogs.\" } satisfies Token<number>,\r\n popover: { value: 450, description: \"Popovers.\" } satisfies Token<number>,\r\n tooltip: { value: 500, description: \"Tooltips.\" } satisfies Token<number>,\r\n toast: { value: 600, description: \"Toasts/notifications.\" } satisfies Token<number>\r\n} as const;\r\n","export { sizes } from \"./sizes\";\r\nexport { strokeWidths } from \"./strokeWidths\";\r\n","import type { Token } from \"../../core/types\";\r\n\r\nexport const sizes = {\r\n xs: { value: \"12px\", description: \"Icon size XS.\" } satisfies Token,\r\n sm: { value: \"16px\", description: \"Icon size SM.\" } satisfies Token,\r\n md: { value: \"20px\", description: \"Icon size MD.\" } satisfies Token,\r\n lg: { value: \"24px\", description: \"Icon size LG.\" } satisfies Token,\r\n xl: { value: \"28px\", description: \"Icon size XL.\" } satisfies Token\r\n} as const;\r\n","import type { Token } from \"../../core/types\";\r\n\r\nexport const strokeWidths = {\r\n thin: { value: 1, description: \"Thin icon stroke width.\" } satisfies Token<number>,\r\n regular: { value: 1.5, description: \"Regular icon stroke width.\" } satisfies Token<number>,\r\n bold: { value: 2, description: \"Bold icon stroke width.\" } satisfies Token<number>\r\n} as const;\r\n","export { surface } from \"./surface\";\r\nexport { button } from \"./button\";\r\nexport { input } from \"./input\";\r\nexport { focus } from \"./focus\";\r\nexport { overlay } from \"./overlay\";\r\n","import type { Token } from \"../../core/types\";\r\n\r\nexport const surface = {\r\n background: { value: \"var(--asm-color-bg)\", description: \"App background surface.\" } satisfies Token,\r\n surface: { value: \"var(--asm-color-surface)\", description: \"Default surface (cards).\" } satisfies Token,\r\n surfaceMuted: { value: \"var(--asm-color-surface-muted)\", description: \"Muted surface.\" } satisfies Token,\r\n panel: { value: \"var(--asm-color-panel)\", description: \"Panel surface.\" } satisfies Token,\r\n modal: { value: \"var(--asm-color-modal)\", description: \"Modal surface.\" } satisfies Token\r\n} as const;\r\n","import type { Token } from \"../../core/types\";\r\n\r\nexport const button = {\r\n primaryBg: { value: \"var(--asm-color-button-primary-bg)\", description: \"Primary button background.\" } satisfies Token,\r\n primaryText: { value: \"var(--asm-color-button-primary-text)\", description: \"Primary button text.\" } satisfies Token,\r\n primaryBgHover: {\r\n value: \"var(--asm-color-button-primary-bg-hover)\",\r\n description: \"Primary button background (hover).\"\r\n } satisfies Token,\r\n primaryBgActive: {\r\n value: \"var(--asm-color-button-primary-bg-active)\",\r\n description: \"Primary button background (active).\"\r\n } satisfies Token,\r\n\r\n secondaryBg: { value: \"var(--asm-color-button-secondary-bg)\", description: \"Secondary button background.\" } satisfies Token,\r\n secondaryText: { value: \"var(--asm-color-button-secondary-text)\", description: \"Secondary button text.\" } satisfies Token,\r\n\r\n ghostBgHover: { value: \"var(--asm-color-button-ghost-bg-hover)\", description: \"Ghost button hover background.\" } satisfies Token,\r\n\r\n destructiveBg: { value: \"var(--asm-color-button-destructive-bg)\", description: \"Destructive button background.\" } satisfies Token,\r\n destructiveText: { value: \"var(--asm-color-button-destructive-text)\", description: \"Destructive button text.\" } satisfies Token,\r\n\r\n disabledBg: { value: \"var(--asm-color-button-disabled-bg)\", description: \"Disabled button background.\" } satisfies Token,\r\n disabledText: { value: \"var(--asm-color-button-disabled-text)\", description: \"Disabled button text.\" } satisfies Token\r\n} as const;\r\n","import type { Token } from \"../../core/types\";\r\n\r\nexport const input = {\r\n bg: { value: \"var(--asm-color-input-bg)\", description: \"Input background.\" } satisfies Token,\r\n text: { value: \"var(--asm-color-input-text)\", description: \"Input text.\" } satisfies Token,\r\n border: { value: \"var(--asm-color-input-border)\", description: \"Input border.\" } satisfies Token,\r\n borderHover: { value: \"var(--asm-color-input-border-hover)\", description: \"Input border (hover).\" } satisfies Token,\r\n borderFocus: { value: \"var(--asm-color-input-border-focus)\", description: \"Input border (focus).\" } satisfies Token,\r\n placeholder: { value: \"var(--asm-color-input-placeholder)\", description: \"Input placeholder text.\" } satisfies Token,\r\n errorBorder: { value: \"var(--asm-color-input-error-border)\", description: \"Input error border.\" } satisfies Token,\r\n successBorder: { value: \"var(--asm-color-input-success-border)\", description: \"Input success border.\" } satisfies Token\r\n} as const;\r\n","import type { Token } from \"../../core/types\";\r\n\r\nexport const focus = {\r\n ringColor: { value: \"var(--asm-color-focus-ring)\", description: \"Focus ring color.\" } satisfies Token,\r\n ringWidth: { value: \"2px\", description: \"Focus ring width.\" } satisfies Token,\r\n ringOffset: { value: \"2px\", description: \"Focus ring offset.\" } satisfies Token\r\n} as const;\r\n","import type { Token } from \"../../core/types\";\r\n\r\nexport const overlay = {\r\n scrim: { value: \"var(--asm-color-overlay-scrim)\", description: \"Overlay scrim color.\" } satisfies Token,\r\n backdropBlur: { value: \"var(--asm-effect-blur-md)\", description: \"Default overlay backdrop blur.\" } satisfies Token\r\n} as const;\r\n","import * as color from \"./color\";\r\nimport * as typography from \"./typography\";\r\nimport * as spacing from \"./spacing\";\r\nimport * as shape from \"./shape\";\r\nimport * as effects from \"./effects\";\r\nimport * as motion from \"./motion\";\r\nimport * as zindex from \"./zindex\";\r\nimport * as iconography from \"./iconography\";\r\nimport * as ui from \"./ui\";\r\n\r\nexport const tokens = {\r\n color,\r\n typography,\r\n spacing,\r\n shape,\r\n effects,\r\n motion,\r\n zindex,\r\n iconography,\r\n ui\r\n} as const;\r\n","import type { TokenLeaf, TokenTree } from \"./types\";\r\n\r\nexport function isTokenLeaf(value: unknown): value is TokenLeaf {\r\n return (\r\n typeof value === \"object\" &&\r\n value !== null &&\r\n \"value\" in value &&\r\n \"description\" in value &&\r\n (typeof (value as any).value === \"string\" || typeof (value as any).value === \"number\") &&\r\n typeof (value as any).description === \"string\"\r\n );\r\n}\r\n\r\nexport function toKebabCase(input: string): string {\r\n return input\r\n .replace(/([a-z0-9])([A-Z])/g, \"$1-$2\")\r\n .replace(/[_\\s]+/g, \"-\")\r\n .toLowerCase();\r\n}\r\n\r\nexport function joinPath(path: string[], sep = \".\"): string {\r\n return path.filter(Boolean).join(sep);\r\n}\r\n\r\nexport function walkTokenTree(\r\n tree: TokenTree,\r\n visitor: (args: { path: string[]; leaf: TokenLeaf }) => void,\r\n path: string[] = []\r\n) {\r\n for (const [key, value] of Object.entries(tree)) {\r\n const nextPath = [...path, key];\r\n\r\n if (isTokenLeaf(value)) {\r\n visitor({ path: nextPath, leaf: value });\r\n continue;\r\n }\r\n\r\n if (typeof value === \"object\" && value !== null) {\r\n walkTokenTree(value as TokenTree, visitor, nextPath);\r\n }\r\n }\r\n}\r\n","import type { TokenTree } from \"../core/types\";\r\nimport { toKebabCase, walkTokenTree } from \"../core/utils\";\r\n\r\nexport type CssVarDict = Record<string, string>;\r\n\r\nexport function tokenPathToCssVarName(path: string[]): string {\r\n const kebabParts = path.map(toKebabCase);\r\n return `--asm-${kebabParts.join(\"-\")}`;\r\n}\r\n\r\nexport function toCssVars(tree: TokenTree): CssVarDict {\r\n const out: CssVarDict = {};\r\n\r\n walkTokenTree(tree, ({ path, leaf }) => {\r\n const cssVar = tokenPathToCssVarName(path);\r\n out[cssVar] = String(leaf.value);\r\n });\r\n\r\n return out;\r\n}\r\n\r\nexport function toCssVarNames(tree: TokenTree): Record<string, string> {\r\n const out: Record<string, string> = {};\r\n\r\n walkTokenTree(tree, ({ path }) => {\r\n const dotPath = path.join(\".\");\r\n out[dotPath] = tokenPathToCssVarName(path);\r\n });\r\n\r\n return out;\r\n}\r\n","import type { ThemeDefinition, TokenTree, ValidateResult } from \"../core/types\";\r\nimport { walkTokenTree } from \"../core/utils\";\r\nimport { tokenPathToCssVarName } from \"./toCssVars\";\r\n\r\nconst HEX_COLOR = /^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/;\r\n\r\nexport function validateTokens(args: {\r\n tokens: TokenTree;\r\n themes: ThemeDefinition[];\r\n}): ValidateResult {\r\n const errors: string[] = [];\r\n const warnings: string[] = [];\r\n\r\n const seenDotKeys = new Set<string>();\r\n const seenCssVars = new Set<string>();\r\n\r\n walkTokenTree(args.tokens, ({ path, leaf }) => {\r\n const dotKey = path.join(\".\");\r\n if (seenDotKeys.has(dotKey)) {\r\n errors.push(`Duplicate token key: ${dotKey}`);\r\n } else {\r\n seenDotKeys.add(dotKey);\r\n }\r\n\r\n if (!leaf.description || leaf.description.trim().length === 0) {\r\n errors.push(`Missing description for token: ${dotKey}`);\r\n }\r\n\r\n const cssVar = tokenPathToCssVarName(path);\r\n if (!cssVar.startsWith(\"--asm-\")) {\r\n errors.push(`Invalid CSS var prefix (must be --asm-): ${cssVar}`);\r\n }\r\n\r\n if (seenCssVars.has(cssVar)) {\r\n errors.push(`Duplicate CSS var name generated: ${cssVar} (from ${dotKey})`);\r\n } else {\r\n seenCssVars.add(cssVar);\r\n }\r\n\r\n const v = leaf.value;\r\n if (typeof v === \"string\" && v.startsWith(\"#\") && !HEX_COLOR.test(v)) {\r\n errors.push(`Invalid hex color for ${dotKey}: ${v}`);\r\n }\r\n });\r\n\r\n const requiredThemeVars = [\r\n \"--asm-color-bg\",\r\n \"--asm-color-surface\",\r\n \"--asm-color-text\",\r\n \"--asm-color-border\",\r\n \"--asm-color-button-primary-bg\",\r\n \"--asm-color-input-border-focus\",\r\n \"--asm-color-focus-ring\",\r\n \"--asm-color-overlay-scrim\"\r\n ];\r\n\r\n const themeNames = new Set(args.themes.map(t => t.name));\r\n for (const name of [\"light\", \"dark\", \"high-contrast\"] as const) {\r\n if (!themeNames.has(name)) {\r\n errors.push(`Missing required theme: ${name}`);\r\n }\r\n }\r\n\r\n for (const theme of args.themes) {\r\n if (theme.name !== \"light\" && theme.name !== \"dark\" && theme.name !== \"high-contrast\") {\r\n warnings.push(`Theme has non-standard name: ${theme.name}`);\r\n }\r\n\r\n for (const varName of requiredThemeVars) {\r\n if (!(varName in theme.tokens)) {\r\n errors.push(`Theme '${theme.name}' missing required token override: ${varName}`);\r\n }\r\n }\r\n\r\n for (const [key, value] of Object.entries(theme.tokens)) {\r\n if (!key.startsWith(\"--asm-\")) {\r\n errors.push(`Theme '${theme.name}' contains non --asm- var: ${key}`);\r\n }\r\n if (typeof value === \"string\" && value.startsWith(\"#\") && !HEX_COLOR.test(value)) {\r\n errors.push(`Theme '${theme.name}' invalid hex for ${key}: ${value}`);\r\n }\r\n }\r\n }\r\n\r\n return {\r\n ok: errors.length === 0,\r\n errors,\r\n warnings\r\n };\r\n}\r\n"],"mappings":"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","names":["validateTokens","scale","scale","sizes","sizes","input","validateTokens"]}
|