@weasel-js/theme 1.5.2 → 1.6.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/README.md +39 -1
- package/dist/{chunk-XFCWYN2L.js → chunk-6R3FTRRJ.js} +914 -60
- package/dist/chunk-6R3FTRRJ.js.map +1 -0
- package/dist/chunk-GI7ZAXIB.js +12 -0
- package/dist/chunk-GI7ZAXIB.js.map +1 -0
- package/dist/chunk-QKRFHBRB.js +557 -0
- package/dist/chunk-QKRFHBRB.js.map +1 -0
- package/dist/colorMode-CoklZomJ.d.ts +12 -0
- package/dist/engine.d.ts +76 -8
- package/dist/engine.js +180 -424
- package/dist/engine.js.map +1 -1
- package/dist/faces.css +19 -0
- package/dist/fonts.css +4 -18
- package/dist/index.d.ts +49 -5
- package/dist/index.js +172 -20
- package/dist/index.js.map +1 -1
- package/dist/react.d.ts +50 -6
- package/dist/react.js +68 -6
- package/dist/react.js.map +1 -1
- package/dist/{resolveTheme-CF8i5IHy.d.ts → themes-bTfTZjCh.d.ts} +598 -65
- package/dist/tokens.css +103 -1
- package/fonts/README.md +5 -6
- package/package.json +4 -3
- package/dist/chunk-LL2ERJPZ.js +0 -175
- package/dist/chunk-LL2ERJPZ.js.map +0 -1
- package/dist/chunk-PJMTWM34.js +0 -6
- package/dist/chunk-PJMTWM34.js.map +0 -1
- package/dist/chunk-XFCWYN2L.js.map +0 -1
- package/dist/theme-DAZcQi_L.d.ts +0 -191
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/generated/themes.ts","../src/theme.ts","../src/applyTheme.ts"],"names":[],"mappings":"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","file":"chunk-XFCWYN2L.js","sourcesContent":["// GENERATED by packages/theme/scripts/build-tokens.ts — do not edit.\n\nimport type { AxisDefs } from '../axes';\nimport type { ThemeDefinition } from '../definition';\nimport type { BakedTheme } from '../engine/bake';\n\n/** Every design token the built-in themes declare, spelled as the CSS\n * custom property it becomes. */\nexport type TokenName =\n | '--wzl-accent'\n | '--wzl-accent-base'\n | '--wzl-accent-fg'\n | '--wzl-accent-hover'\n | '--wzl-accent-soft'\n | '--wzl-accent-strong'\n | '--wzl-backdrop'\n | '--wzl-border'\n | '--wzl-border-strong'\n | '--wzl-border-w'\n | '--wzl-control-h'\n | '--wzl-control-h-sm'\n | '--wzl-control-h-xs'\n | '--wzl-curve-color'\n | '--wzl-curve-width'\n | '--wzl-danger'\n | '--wzl-danger-base'\n | '--wzl-ease-in-cubic'\n | '--wzl-ease-in-out-cubic'\n | '--wzl-ease-out-back'\n | '--wzl-ease-out-cubic'\n | '--wzl-fg'\n | '--wzl-fg-inverse'\n | '--wzl-fg-muted'\n | '--wzl-fg-on-accent'\n | '--wzl-fg-subtle'\n | '--wzl-field-pad-x'\n | '--wzl-focus-ring'\n | '--wzl-font-body'\n | '--wzl-font-display'\n | '--wzl-font-mono'\n | '--wzl-font-size'\n | '--wzl-font-size-2xs'\n | '--wzl-font-size-lg'\n | '--wzl-font-size-md'\n | '--wzl-font-size-sm'\n | '--wzl-font-size-xl'\n | '--wzl-font-size-xs'\n | '--wzl-font-ui'\n | '--wzl-font-weight-bold'\n | '--wzl-font-weight-light'\n | '--wzl-font-weight-medium'\n | '--wzl-font-weight-normal'\n | '--wzl-glass-blur'\n | '--wzl-glass-tint'\n | '--wzl-gray-100'\n | '--wzl-gray-200'\n | '--wzl-gray-300'\n | '--wzl-gray-400'\n | '--wzl-gray-50'\n | '--wzl-gray-500'\n | '--wzl-gray-600'\n | '--wzl-gray-700'\n | '--wzl-gray-800'\n | '--wzl-gray-900'\n | '--wzl-handle-size'\n | '--wzl-handle-size-lg'\n | '--wzl-handle-size-sm'\n | '--wzl-icon-button-size'\n | '--wzl-leading'\n | '--wzl-leading-snug'\n | '--wzl-leading-tight'\n | '--wzl-line'\n | '--wzl-line-strong'\n | '--wzl-line-subtle'\n | '--wzl-line-width'\n | '--wzl-motion-fast'\n | '--wzl-motion-medium'\n | '--wzl-radius-lg'\n | '--wzl-radius-md'\n | '--wzl-radius-pill'\n | '--wzl-radius-sm'\n | '--wzl-shadow'\n | '--wzl-slider-thumb-mix'\n | '--wzl-slider-thumb-size'\n | '--wzl-slider-track-h'\n | '--wzl-slider-track-mix'\n | '--wzl-space-1'\n | '--wzl-space-2'\n | '--wzl-space-3'\n | '--wzl-space-4'\n | '--wzl-space-5'\n | '--wzl-space-6'\n | '--wzl-space-7'\n | '--wzl-space-8'\n | '--wzl-space-lg'\n | '--wzl-space-md'\n | '--wzl-space-sm'\n | '--wzl-space-xs'\n | '--wzl-success'\n | '--wzl-success-base'\n | '--wzl-surface'\n | '--wzl-surface-hover'\n | '--wzl-surface-pressed'\n | '--wzl-surface-raised'\n | '--wzl-surface-sunken'\n | '--wzl-swatch-amber'\n | '--wzl-swatch-blue'\n | '--wzl-swatch-citron'\n | '--wzl-swatch-fuchsia'\n | '--wzl-swatch-green'\n | '--wzl-swatch-red'\n | '--wzl-swatch-rose'\n | '--wzl-swatch-sky'\n | '--wzl-swatch-teal'\n | '--wzl-swatch-violet'\n | '--wzl-tb-height'\n | '--wzl-tracking-none'\n | '--wzl-tracking-wide'\n | '--wzl-tracking-wider'\n | '--wzl-warning'\n | '--wzl-warning-base'\n | '--wzl-z-modal'\n | '--wzl-z-overlay'\n | '--wzl-z-toolbar';\n\n/** A built-in theme with its aliases already collapsed: every selection\n * (keyed `mode=dark`, axes in declaration order) maps every token name to\n * a final CSS value. */\nexport interface GeneratedTheme {\n readonly name: string;\n readonly axes: AxisDefs;\n readonly selections: Readonly<Record<string, Readonly<Record<TokenName, string>>>>;\n}\n\n/** The built-in themes, resolved, keyed by theme name. Read this to list\n * or preview themes without resolving a token graph yourself. */\nexport const THEMES = {\n \"weasel\": {\n name: \"weasel\",\n axes: {\"mode\":{\"default\":\"dark\",\"values\":{\"dark\":{\"scheme\":\"dark\"},\"light\":{\"scheme\":\"light\"}}},\"density\":{\"default\":\"comfortable\",\"values\":{\"compact\":{},\"comfortable\":{},\"roomy\":{}}}},\n selections: {\n 'mode=dark,density=compact': {\n '--wzl-gray-50': \"#f5f5f6\",\n '--wzl-gray-100': \"#e6e7e9\",\n '--wzl-gray-200': \"#c9cbcf\",\n '--wzl-gray-300': \"#9ea1a8\",\n '--wzl-gray-400': \"#6f737b\",\n '--wzl-gray-500': \"#4d5058\",\n '--wzl-gray-600': \"#383b42\",\n '--wzl-gray-700': \"#25272c\",\n '--wzl-gray-800': \"#181a1e\",\n '--wzl-gray-900': \"#0e0f12\",\n '--wzl-accent-soft': \"#1d1454\",\n '--wzl-accent-base': \"#2e1f7a\",\n '--wzl-accent-strong': \"#5841b8\",\n '--wzl-swatch-fuchsia': \"#f641f7\",\n '--wzl-swatch-green': \"#48e628\",\n '--wzl-swatch-sky': \"#36bff2\",\n '--wzl-swatch-amber': \"#e69628\",\n '--wzl-swatch-teal': \"#3ee1cb\",\n '--wzl-swatch-red': \"#f75034\",\n '--wzl-swatch-blue': \"#407ef7\",\n '--wzl-swatch-citron': \"#d5d23a\",\n '--wzl-swatch-rose': \"#fa4590\",\n '--wzl-swatch-violet': \"#955cf9\",\n '--wzl-font-size-2xs': \"7px\",\n '--wzl-font-size-xs': \"8px\",\n '--wzl-font-size-sm': \"9px\",\n '--wzl-font-size-md': \"11px\",\n '--wzl-font-size-lg': \"14px\",\n '--wzl-font-size-xl': \"17px\",\n '--wzl-space-1': \"2px\",\n '--wzl-space-2': \"4px\",\n '--wzl-space-3': \"6px\",\n '--wzl-space-4': \"8px\",\n '--wzl-space-5': \"10px\",\n '--wzl-space-6': \"12px\",\n '--wzl-space-7': \"14px\",\n '--wzl-space-8': \"16px\",\n '--wzl-surface': \"#181a1e\",\n '--wzl-surface-raised': \"#25272c\",\n '--wzl-surface-sunken': \"#0e0f12\",\n '--wzl-fg': \"#e6e7e9\",\n '--wzl-fg-muted': \"#9ea1a8\",\n '--wzl-fg-subtle': \"#6f737b\",\n '--wzl-border': \"#25272c\",\n '--wzl-border-strong': \"#6f737b\",\n '--wzl-accent-fg': \"#5841b8\",\n '--wzl-fg-inverse': \"#0e0f12\",\n '--wzl-shadow': \"rgba(0, 0, 0, 0.6)\",\n '--wzl-danger-base': \"#d94a3f\",\n '--wzl-warning-base': \"#d99a3f\",\n '--wzl-success-base': \"#2ec27e\",\n '--wzl-fg-on-accent': \"#f5f5f6\",\n '--wzl-line-subtle': \"rgba(230, 231, 233, 0.1)\",\n '--wzl-line': \"rgba(230, 231, 233, 0.2)\",\n '--wzl-line-strong': \"rgba(230, 231, 233, 0.4)\",\n '--wzl-curve-color': \"#5841b8\",\n '--wzl-accent': \"#2e1f7a\",\n '--wzl-accent-hover': \"#5841b8\",\n '--wzl-danger': \"#d94a3f\",\n '--wzl-warning': \"#d99a3f\",\n '--wzl-success': \"#2ec27e\",\n '--wzl-focus-ring': \"#5841b8\",\n '--wzl-glass-tint': \"#2e1f7a\",\n '--wzl-surface-hover': \"rgba(230, 231, 233, 0.1)\",\n '--wzl-surface-pressed': \"rgba(230, 231, 233, 0.18)\",\n '--wzl-radius-sm': \"3px\",\n '--wzl-radius-md': \"5px\",\n '--wzl-radius-lg': \"14px\",\n '--wzl-radius-pill': \"999px\",\n '--wzl-border-w': \"1px\",\n '--wzl-line-width': \"2px\",\n '--wzl-curve-width': \"3px\",\n '--wzl-tb-height': \"24px\",\n '--wzl-control-h-xs': \"16px\",\n '--wzl-control-h-sm': \"18px\",\n '--wzl-control-h': \"20px\",\n '--wzl-icon-button-size': \"20px\",\n '--wzl-slider-track-h': \"4px\",\n '--wzl-slider-thumb-size': \"8px\",\n '--wzl-slider-track-mix': \"18%\",\n '--wzl-slider-thumb-mix': \"70%\",\n '--wzl-handle-size': \"9px\",\n '--wzl-handle-size-sm': \"7px\",\n '--wzl-handle-size-lg': \"10px\",\n '--wzl-field-pad-x': \"8px\",\n '--wzl-glass-blur': \"3px\",\n '--wzl-font-size': \"11px\",\n '--wzl-tracking-none': \"0\",\n '--wzl-tracking-wide': \"0.06em\",\n '--wzl-tracking-wider': \"0.08em\",\n '--wzl-z-toolbar': \"10\",\n '--wzl-z-overlay': \"20\",\n '--wzl-z-modal': \"30\",\n '--wzl-leading-tight': \"1\",\n '--wzl-leading-snug': \"1.2\",\n '--wzl-leading': \"1.4\",\n '--wzl-backdrop': \"none\",\n '--wzl-motion-fast': \"120ms\",\n '--wzl-motion-medium': \"240ms\",\n '--wzl-ease-in-cubic': \"cubic-bezier(0.32, 0, 0.67, 0)\",\n '--wzl-ease-out-cubic': \"cubic-bezier(0.33, 1, 0.68, 1)\",\n '--wzl-ease-in-out-cubic': \"cubic-bezier(0.65, 0, 0.35, 1)\",\n '--wzl-ease-out-back': \"cubic-bezier(0.34, 1.56, 0.64, 1)\",\n '--wzl-font-ui': \"Oswald, 'Helvetica Neue Condensed', 'Arial Narrow', system-ui, sans-serif\",\n '--wzl-font-display': \"Oswald, 'Helvetica Neue Condensed', 'Arial Narrow', system-ui, sans-serif\",\n '--wzl-font-body': \"Inter, system-ui, -apple-system, 'Segoe UI', sans-serif\",\n '--wzl-font-mono': \"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace\",\n '--wzl-font-weight-light': \"200\",\n '--wzl-font-weight-normal': \"300\",\n '--wzl-font-weight-medium': \"350\",\n '--wzl-font-weight-bold': \"400\",\n '--wzl-space-xs': \"4px\",\n '--wzl-space-sm': \"8px\",\n '--wzl-space-md': \"12px\",\n '--wzl-space-lg': \"16px\",\n },\n 'mode=dark,density=comfortable': {\n '--wzl-gray-50': \"#f5f5f6\",\n '--wzl-gray-100': \"#e6e7e9\",\n '--wzl-gray-200': \"#c9cbcf\",\n '--wzl-gray-300': \"#9ea1a8\",\n '--wzl-gray-400': \"#6f737b\",\n '--wzl-gray-500': \"#4d5058\",\n '--wzl-gray-600': \"#383b42\",\n '--wzl-gray-700': \"#25272c\",\n '--wzl-gray-800': \"#181a1e\",\n '--wzl-gray-900': \"#0e0f12\",\n '--wzl-accent-soft': \"#1d1454\",\n '--wzl-accent-base': \"#2e1f7a\",\n '--wzl-accent-strong': \"#5841b8\",\n '--wzl-swatch-fuchsia': \"#f641f7\",\n '--wzl-swatch-green': \"#48e628\",\n '--wzl-swatch-sky': \"#36bff2\",\n '--wzl-swatch-amber': \"#e69628\",\n '--wzl-swatch-teal': \"#3ee1cb\",\n '--wzl-swatch-red': \"#f75034\",\n '--wzl-swatch-blue': \"#407ef7\",\n '--wzl-swatch-citron': \"#d5d23a\",\n '--wzl-swatch-rose': \"#fa4590\",\n '--wzl-swatch-violet': \"#955cf9\",\n '--wzl-font-size-2xs': \"9px\",\n '--wzl-font-size-xs': \"10px\",\n '--wzl-font-size-sm': \"11px\",\n '--wzl-font-size-md': \"13px\",\n '--wzl-font-size-lg': \"16px\",\n '--wzl-font-size-xl': \"20px\",\n '--wzl-space-1': \"2px\",\n '--wzl-space-2': \"4px\",\n '--wzl-space-3': \"6px\",\n '--wzl-space-4': \"8px\",\n '--wzl-space-5': \"10px\",\n '--wzl-space-6': \"12px\",\n '--wzl-space-7': \"14px\",\n '--wzl-space-8': \"16px\",\n '--wzl-surface': \"#181a1e\",\n '--wzl-surface-raised': \"#25272c\",\n '--wzl-surface-sunken': \"#0e0f12\",\n '--wzl-fg': \"#e6e7e9\",\n '--wzl-fg-muted': \"#9ea1a8\",\n '--wzl-fg-subtle': \"#6f737b\",\n '--wzl-border': \"#25272c\",\n '--wzl-border-strong': \"#6f737b\",\n '--wzl-accent-fg': \"#5841b8\",\n '--wzl-fg-inverse': \"#0e0f12\",\n '--wzl-shadow': \"rgba(0, 0, 0, 0.6)\",\n '--wzl-danger-base': \"#d94a3f\",\n '--wzl-warning-base': \"#d99a3f\",\n '--wzl-success-base': \"#2ec27e\",\n '--wzl-fg-on-accent': \"#f5f5f6\",\n '--wzl-line-subtle': \"rgba(230, 231, 233, 0.1)\",\n '--wzl-line': \"rgba(230, 231, 233, 0.2)\",\n '--wzl-line-strong': \"rgba(230, 231, 233, 0.4)\",\n '--wzl-curve-color': \"#5841b8\",\n '--wzl-accent': \"#2e1f7a\",\n '--wzl-accent-hover': \"#5841b8\",\n '--wzl-danger': \"#d94a3f\",\n '--wzl-warning': \"#d99a3f\",\n '--wzl-success': \"#2ec27e\",\n '--wzl-focus-ring': \"#5841b8\",\n '--wzl-glass-tint': \"#2e1f7a\",\n '--wzl-surface-hover': \"rgba(230, 231, 233, 0.1)\",\n '--wzl-surface-pressed': \"rgba(230, 231, 233, 0.18)\",\n '--wzl-radius-sm': \"3px\",\n '--wzl-radius-md': \"5px\",\n '--wzl-radius-lg': \"14px\",\n '--wzl-radius-pill': \"999px\",\n '--wzl-border-w': \"1px\",\n '--wzl-line-width': \"2px\",\n '--wzl-curve-width': \"3px\",\n '--wzl-tb-height': \"28px\",\n '--wzl-control-h-xs': \"18px\",\n '--wzl-control-h-sm': \"20px\",\n '--wzl-control-h': \"24px\",\n '--wzl-icon-button-size': \"22px\",\n '--wzl-slider-track-h': \"4px\",\n '--wzl-slider-thumb-size': \"8px\",\n '--wzl-slider-track-mix': \"18%\",\n '--wzl-slider-thumb-mix': \"70%\",\n '--wzl-handle-size': \"9px\",\n '--wzl-handle-size-sm': \"7px\",\n '--wzl-handle-size-lg': \"10px\",\n '--wzl-field-pad-x': \"8px\",\n '--wzl-glass-blur': \"3px\",\n '--wzl-font-size': \"13px\",\n '--wzl-tracking-none': \"0\",\n '--wzl-tracking-wide': \"0.06em\",\n '--wzl-tracking-wider': \"0.08em\",\n '--wzl-z-toolbar': \"10\",\n '--wzl-z-overlay': \"20\",\n '--wzl-z-modal': \"30\",\n '--wzl-leading-tight': \"1\",\n '--wzl-leading-snug': \"1.2\",\n '--wzl-leading': \"1.4\",\n '--wzl-backdrop': \"none\",\n '--wzl-motion-fast': \"120ms\",\n '--wzl-motion-medium': \"240ms\",\n '--wzl-ease-in-cubic': \"cubic-bezier(0.32, 0, 0.67, 0)\",\n '--wzl-ease-out-cubic': \"cubic-bezier(0.33, 1, 0.68, 1)\",\n '--wzl-ease-in-out-cubic': \"cubic-bezier(0.65, 0, 0.35, 1)\",\n '--wzl-ease-out-back': \"cubic-bezier(0.34, 1.56, 0.64, 1)\",\n '--wzl-font-ui': \"Oswald, 'Helvetica Neue Condensed', 'Arial Narrow', system-ui, sans-serif\",\n '--wzl-font-display': \"Oswald, 'Helvetica Neue Condensed', 'Arial Narrow', system-ui, sans-serif\",\n '--wzl-font-body': \"Inter, system-ui, -apple-system, 'Segoe UI', sans-serif\",\n '--wzl-font-mono': \"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace\",\n '--wzl-font-weight-light': \"200\",\n '--wzl-font-weight-normal': \"300\",\n '--wzl-font-weight-medium': \"350\",\n '--wzl-font-weight-bold': \"400\",\n '--wzl-space-xs': \"4px\",\n '--wzl-space-sm': \"8px\",\n '--wzl-space-md': \"12px\",\n '--wzl-space-lg': \"16px\",\n },\n 'mode=dark,density=roomy': {\n '--wzl-gray-50': \"#f5f5f6\",\n '--wzl-gray-100': \"#e6e7e9\",\n '--wzl-gray-200': \"#c9cbcf\",\n '--wzl-gray-300': \"#9ea1a8\",\n '--wzl-gray-400': \"#6f737b\",\n '--wzl-gray-500': \"#4d5058\",\n '--wzl-gray-600': \"#383b42\",\n '--wzl-gray-700': \"#25272c\",\n '--wzl-gray-800': \"#181a1e\",\n '--wzl-gray-900': \"#0e0f12\",\n '--wzl-accent-soft': \"#1d1454\",\n '--wzl-accent-base': \"#2e1f7a\",\n '--wzl-accent-strong': \"#5841b8\",\n '--wzl-swatch-fuchsia': \"#f641f7\",\n '--wzl-swatch-green': \"#48e628\",\n '--wzl-swatch-sky': \"#36bff2\",\n '--wzl-swatch-amber': \"#e69628\",\n '--wzl-swatch-teal': \"#3ee1cb\",\n '--wzl-swatch-red': \"#f75034\",\n '--wzl-swatch-blue': \"#407ef7\",\n '--wzl-swatch-citron': \"#d5d23a\",\n '--wzl-swatch-rose': \"#fa4590\",\n '--wzl-swatch-violet': \"#955cf9\",\n '--wzl-font-size-2xs': \"10px\",\n '--wzl-font-size-xs': \"12px\",\n '--wzl-font-size-sm': \"13px\",\n '--wzl-font-size-md': \"15px\",\n '--wzl-font-size-lg': \"18px\",\n '--wzl-font-size-xl': \"23px\",\n '--wzl-space-1': \"2px\",\n '--wzl-space-2': \"4px\",\n '--wzl-space-3': \"6px\",\n '--wzl-space-4': \"8px\",\n '--wzl-space-5': \"10px\",\n '--wzl-space-6': \"12px\",\n '--wzl-space-7': \"14px\",\n '--wzl-space-8': \"16px\",\n '--wzl-surface': \"#181a1e\",\n '--wzl-surface-raised': \"#25272c\",\n '--wzl-surface-sunken': \"#0e0f12\",\n '--wzl-fg': \"#e6e7e9\",\n '--wzl-fg-muted': \"#9ea1a8\",\n '--wzl-fg-subtle': \"#6f737b\",\n '--wzl-border': \"#25272c\",\n '--wzl-border-strong': \"#6f737b\",\n '--wzl-accent-fg': \"#5841b8\",\n '--wzl-fg-inverse': \"#0e0f12\",\n '--wzl-shadow': \"rgba(0, 0, 0, 0.6)\",\n '--wzl-danger-base': \"#d94a3f\",\n '--wzl-warning-base': \"#d99a3f\",\n '--wzl-success-base': \"#2ec27e\",\n '--wzl-fg-on-accent': \"#f5f5f6\",\n '--wzl-line-subtle': \"rgba(230, 231, 233, 0.1)\",\n '--wzl-line': \"rgba(230, 231, 233, 0.2)\",\n '--wzl-line-strong': \"rgba(230, 231, 233, 0.4)\",\n '--wzl-curve-color': \"#5841b8\",\n '--wzl-accent': \"#2e1f7a\",\n '--wzl-accent-hover': \"#5841b8\",\n '--wzl-danger': \"#d94a3f\",\n '--wzl-warning': \"#d99a3f\",\n '--wzl-success': \"#2ec27e\",\n '--wzl-focus-ring': \"#5841b8\",\n '--wzl-glass-tint': \"#2e1f7a\",\n '--wzl-surface-hover': \"rgba(230, 231, 233, 0.1)\",\n '--wzl-surface-pressed': \"rgba(230, 231, 233, 0.18)\",\n '--wzl-radius-sm': \"3px\",\n '--wzl-radius-md': \"5px\",\n '--wzl-radius-lg': \"14px\",\n '--wzl-radius-pill': \"999px\",\n '--wzl-border-w': \"1px\",\n '--wzl-line-width': \"2px\",\n '--wzl-curve-width': \"3px\",\n '--wzl-tb-height': \"32px\",\n '--wzl-control-h-xs': \"22px\",\n '--wzl-control-h-sm': \"24px\",\n '--wzl-control-h': \"28px\",\n '--wzl-icon-button-size': \"26px\",\n '--wzl-slider-track-h': \"4px\",\n '--wzl-slider-thumb-size': \"8px\",\n '--wzl-slider-track-mix': \"18%\",\n '--wzl-slider-thumb-mix': \"70%\",\n '--wzl-handle-size': \"9px\",\n '--wzl-handle-size-sm': \"7px\",\n '--wzl-handle-size-lg': \"10px\",\n '--wzl-field-pad-x': \"8px\",\n '--wzl-glass-blur': \"3px\",\n '--wzl-font-size': \"15px\",\n '--wzl-tracking-none': \"0\",\n '--wzl-tracking-wide': \"0.06em\",\n '--wzl-tracking-wider': \"0.08em\",\n '--wzl-z-toolbar': \"10\",\n '--wzl-z-overlay': \"20\",\n '--wzl-z-modal': \"30\",\n '--wzl-leading-tight': \"1\",\n '--wzl-leading-snug': \"1.2\",\n '--wzl-leading': \"1.4\",\n '--wzl-backdrop': \"none\",\n '--wzl-motion-fast': \"120ms\",\n '--wzl-motion-medium': \"240ms\",\n '--wzl-ease-in-cubic': \"cubic-bezier(0.32, 0, 0.67, 0)\",\n '--wzl-ease-out-cubic': \"cubic-bezier(0.33, 1, 0.68, 1)\",\n '--wzl-ease-in-out-cubic': \"cubic-bezier(0.65, 0, 0.35, 1)\",\n '--wzl-ease-out-back': \"cubic-bezier(0.34, 1.56, 0.64, 1)\",\n '--wzl-font-ui': \"Oswald, 'Helvetica Neue Condensed', 'Arial Narrow', system-ui, sans-serif\",\n '--wzl-font-display': \"Oswald, 'Helvetica Neue Condensed', 'Arial Narrow', system-ui, sans-serif\",\n '--wzl-font-body': \"Inter, system-ui, -apple-system, 'Segoe UI', sans-serif\",\n '--wzl-font-mono': \"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace\",\n '--wzl-font-weight-light': \"200\",\n '--wzl-font-weight-normal': \"300\",\n '--wzl-font-weight-medium': \"350\",\n '--wzl-font-weight-bold': \"400\",\n '--wzl-space-xs': \"4px\",\n '--wzl-space-sm': \"8px\",\n '--wzl-space-md': \"12px\",\n '--wzl-space-lg': \"16px\",\n },\n 'mode=light,density=compact': {\n '--wzl-gray-50': \"#f5f5f6\",\n '--wzl-gray-100': \"#e6e7e9\",\n '--wzl-gray-200': \"#c9cbcf\",\n '--wzl-gray-300': \"#9ea1a8\",\n '--wzl-gray-400': \"#6f737b\",\n '--wzl-gray-500': \"#4d5058\",\n '--wzl-gray-600': \"#383b42\",\n '--wzl-gray-700': \"#25272c\",\n '--wzl-gray-800': \"#181a1e\",\n '--wzl-gray-900': \"#0e0f12\",\n '--wzl-accent-soft': \"#1d1454\",\n '--wzl-accent-base': \"#2e1f7a\",\n '--wzl-accent-strong': \"#5841b8\",\n '--wzl-swatch-fuchsia': \"#f641f7\",\n '--wzl-swatch-green': \"#48e628\",\n '--wzl-swatch-sky': \"#36bff2\",\n '--wzl-swatch-amber': \"#e69628\",\n '--wzl-swatch-teal': \"#3ee1cb\",\n '--wzl-swatch-red': \"#f75034\",\n '--wzl-swatch-blue': \"#407ef7\",\n '--wzl-swatch-citron': \"#d5d23a\",\n '--wzl-swatch-rose': \"#fa4590\",\n '--wzl-swatch-violet': \"#955cf9\",\n '--wzl-font-size-2xs': \"7px\",\n '--wzl-font-size-xs': \"8px\",\n '--wzl-font-size-sm': \"9px\",\n '--wzl-font-size-md': \"11px\",\n '--wzl-font-size-lg': \"14px\",\n '--wzl-font-size-xl': \"17px\",\n '--wzl-space-1': \"2px\",\n '--wzl-space-2': \"4px\",\n '--wzl-space-3': \"6px\",\n '--wzl-space-4': \"8px\",\n '--wzl-space-5': \"10px\",\n '--wzl-space-6': \"12px\",\n '--wzl-space-7': \"14px\",\n '--wzl-space-8': \"16px\",\n '--wzl-surface': \"#f5f5f6\",\n '--wzl-surface-raised': \"#e6e7e9\",\n '--wzl-surface-sunken': \"#c9cbcf\",\n '--wzl-fg': \"#0e0f12\",\n '--wzl-fg-muted': \"#383b42\",\n '--wzl-fg-subtle': \"#4d5058\",\n '--wzl-border': \"#c9cbcf\",\n '--wzl-border-strong': \"#4d5058\",\n '--wzl-accent-fg': \"#2e1f7a\",\n '--wzl-fg-inverse': \"#f5f5f6\",\n '--wzl-shadow': \"rgba(0, 0, 0, 0.18)\",\n '--wzl-danger-base': \"#d94a3f\",\n '--wzl-warning-base': \"#d99a3f\",\n '--wzl-success-base': \"#2ec27e\",\n '--wzl-fg-on-accent': \"#f5f5f6\",\n '--wzl-line-subtle': \"rgba(14, 15, 18, 0.1)\",\n '--wzl-line': \"rgba(14, 15, 18, 0.2)\",\n '--wzl-line-strong': \"rgba(14, 15, 18, 0.4)\",\n '--wzl-curve-color': \"#5841b8\",\n '--wzl-accent': \"#2e1f7a\",\n '--wzl-accent-hover': \"#5841b8\",\n '--wzl-danger': \"#d94a3f\",\n '--wzl-warning': \"#d99a3f\",\n '--wzl-success': \"#2ec27e\",\n '--wzl-focus-ring': \"#5841b8\",\n '--wzl-glass-tint': \"#2e1f7a\",\n '--wzl-surface-hover': \"rgba(14, 15, 18, 0.1)\",\n '--wzl-surface-pressed': \"rgba(14, 15, 18, 0.18)\",\n '--wzl-radius-sm': \"3px\",\n '--wzl-radius-md': \"5px\",\n '--wzl-radius-lg': \"14px\",\n '--wzl-radius-pill': \"999px\",\n '--wzl-border-w': \"1px\",\n '--wzl-line-width': \"2px\",\n '--wzl-curve-width': \"3px\",\n '--wzl-tb-height': \"24px\",\n '--wzl-control-h-xs': \"16px\",\n '--wzl-control-h-sm': \"18px\",\n '--wzl-control-h': \"20px\",\n '--wzl-icon-button-size': \"20px\",\n '--wzl-slider-track-h': \"4px\",\n '--wzl-slider-thumb-size': \"8px\",\n '--wzl-slider-track-mix': \"18%\",\n '--wzl-slider-thumb-mix': \"70%\",\n '--wzl-handle-size': \"9px\",\n '--wzl-handle-size-sm': \"7px\",\n '--wzl-handle-size-lg': \"10px\",\n '--wzl-field-pad-x': \"8px\",\n '--wzl-glass-blur': \"3px\",\n '--wzl-font-size': \"11px\",\n '--wzl-tracking-none': \"0\",\n '--wzl-tracking-wide': \"0.06em\",\n '--wzl-tracking-wider': \"0.08em\",\n '--wzl-z-toolbar': \"10\",\n '--wzl-z-overlay': \"20\",\n '--wzl-z-modal': \"30\",\n '--wzl-leading-tight': \"1\",\n '--wzl-leading-snug': \"1.2\",\n '--wzl-leading': \"1.4\",\n '--wzl-backdrop': \"none\",\n '--wzl-motion-fast': \"120ms\",\n '--wzl-motion-medium': \"240ms\",\n '--wzl-ease-in-cubic': \"cubic-bezier(0.32, 0, 0.67, 0)\",\n '--wzl-ease-out-cubic': \"cubic-bezier(0.33, 1, 0.68, 1)\",\n '--wzl-ease-in-out-cubic': \"cubic-bezier(0.65, 0, 0.35, 1)\",\n '--wzl-ease-out-back': \"cubic-bezier(0.34, 1.56, 0.64, 1)\",\n '--wzl-font-ui': \"Oswald, 'Helvetica Neue Condensed', 'Arial Narrow', system-ui, sans-serif\",\n '--wzl-font-display': \"Oswald, 'Helvetica Neue Condensed', 'Arial Narrow', system-ui, sans-serif\",\n '--wzl-font-body': \"Inter, system-ui, -apple-system, 'Segoe UI', sans-serif\",\n '--wzl-font-mono': \"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace\",\n '--wzl-font-weight-light': \"200\",\n '--wzl-font-weight-normal': \"300\",\n '--wzl-font-weight-medium': \"350\",\n '--wzl-font-weight-bold': \"400\",\n '--wzl-space-xs': \"4px\",\n '--wzl-space-sm': \"8px\",\n '--wzl-space-md': \"12px\",\n '--wzl-space-lg': \"16px\",\n },\n 'mode=light,density=comfortable': {\n '--wzl-gray-50': \"#f5f5f6\",\n '--wzl-gray-100': \"#e6e7e9\",\n '--wzl-gray-200': \"#c9cbcf\",\n '--wzl-gray-300': \"#9ea1a8\",\n '--wzl-gray-400': \"#6f737b\",\n '--wzl-gray-500': \"#4d5058\",\n '--wzl-gray-600': \"#383b42\",\n '--wzl-gray-700': \"#25272c\",\n '--wzl-gray-800': \"#181a1e\",\n '--wzl-gray-900': \"#0e0f12\",\n '--wzl-accent-soft': \"#1d1454\",\n '--wzl-accent-base': \"#2e1f7a\",\n '--wzl-accent-strong': \"#5841b8\",\n '--wzl-swatch-fuchsia': \"#f641f7\",\n '--wzl-swatch-green': \"#48e628\",\n '--wzl-swatch-sky': \"#36bff2\",\n '--wzl-swatch-amber': \"#e69628\",\n '--wzl-swatch-teal': \"#3ee1cb\",\n '--wzl-swatch-red': \"#f75034\",\n '--wzl-swatch-blue': \"#407ef7\",\n '--wzl-swatch-citron': \"#d5d23a\",\n '--wzl-swatch-rose': \"#fa4590\",\n '--wzl-swatch-violet': \"#955cf9\",\n '--wzl-font-size-2xs': \"9px\",\n '--wzl-font-size-xs': \"10px\",\n '--wzl-font-size-sm': \"11px\",\n '--wzl-font-size-md': \"13px\",\n '--wzl-font-size-lg': \"16px\",\n '--wzl-font-size-xl': \"20px\",\n '--wzl-space-1': \"2px\",\n '--wzl-space-2': \"4px\",\n '--wzl-space-3': \"6px\",\n '--wzl-space-4': \"8px\",\n '--wzl-space-5': \"10px\",\n '--wzl-space-6': \"12px\",\n '--wzl-space-7': \"14px\",\n '--wzl-space-8': \"16px\",\n '--wzl-surface': \"#f5f5f6\",\n '--wzl-surface-raised': \"#e6e7e9\",\n '--wzl-surface-sunken': \"#c9cbcf\",\n '--wzl-fg': \"#0e0f12\",\n '--wzl-fg-muted': \"#383b42\",\n '--wzl-fg-subtle': \"#4d5058\",\n '--wzl-border': \"#c9cbcf\",\n '--wzl-border-strong': \"#4d5058\",\n '--wzl-accent-fg': \"#2e1f7a\",\n '--wzl-fg-inverse': \"#f5f5f6\",\n '--wzl-shadow': \"rgba(0, 0, 0, 0.18)\",\n '--wzl-danger-base': \"#d94a3f\",\n '--wzl-warning-base': \"#d99a3f\",\n '--wzl-success-base': \"#2ec27e\",\n '--wzl-fg-on-accent': \"#f5f5f6\",\n '--wzl-line-subtle': \"rgba(14, 15, 18, 0.1)\",\n '--wzl-line': \"rgba(14, 15, 18, 0.2)\",\n '--wzl-line-strong': \"rgba(14, 15, 18, 0.4)\",\n '--wzl-curve-color': \"#5841b8\",\n '--wzl-accent': \"#2e1f7a\",\n '--wzl-accent-hover': \"#5841b8\",\n '--wzl-danger': \"#d94a3f\",\n '--wzl-warning': \"#d99a3f\",\n '--wzl-success': \"#2ec27e\",\n '--wzl-focus-ring': \"#5841b8\",\n '--wzl-glass-tint': \"#2e1f7a\",\n '--wzl-surface-hover': \"rgba(14, 15, 18, 0.1)\",\n '--wzl-surface-pressed': \"rgba(14, 15, 18, 0.18)\",\n '--wzl-radius-sm': \"3px\",\n '--wzl-radius-md': \"5px\",\n '--wzl-radius-lg': \"14px\",\n '--wzl-radius-pill': \"999px\",\n '--wzl-border-w': \"1px\",\n '--wzl-line-width': \"2px\",\n '--wzl-curve-width': \"3px\",\n '--wzl-tb-height': \"28px\",\n '--wzl-control-h-xs': \"18px\",\n '--wzl-control-h-sm': \"20px\",\n '--wzl-control-h': \"24px\",\n '--wzl-icon-button-size': \"22px\",\n '--wzl-slider-track-h': \"4px\",\n '--wzl-slider-thumb-size': \"8px\",\n '--wzl-slider-track-mix': \"18%\",\n '--wzl-slider-thumb-mix': \"70%\",\n '--wzl-handle-size': \"9px\",\n '--wzl-handle-size-sm': \"7px\",\n '--wzl-handle-size-lg': \"10px\",\n '--wzl-field-pad-x': \"8px\",\n '--wzl-glass-blur': \"3px\",\n '--wzl-font-size': \"13px\",\n '--wzl-tracking-none': \"0\",\n '--wzl-tracking-wide': \"0.06em\",\n '--wzl-tracking-wider': \"0.08em\",\n '--wzl-z-toolbar': \"10\",\n '--wzl-z-overlay': \"20\",\n '--wzl-z-modal': \"30\",\n '--wzl-leading-tight': \"1\",\n '--wzl-leading-snug': \"1.2\",\n '--wzl-leading': \"1.4\",\n '--wzl-backdrop': \"none\",\n '--wzl-motion-fast': \"120ms\",\n '--wzl-motion-medium': \"240ms\",\n '--wzl-ease-in-cubic': \"cubic-bezier(0.32, 0, 0.67, 0)\",\n '--wzl-ease-out-cubic': \"cubic-bezier(0.33, 1, 0.68, 1)\",\n '--wzl-ease-in-out-cubic': \"cubic-bezier(0.65, 0, 0.35, 1)\",\n '--wzl-ease-out-back': \"cubic-bezier(0.34, 1.56, 0.64, 1)\",\n '--wzl-font-ui': \"Oswald, 'Helvetica Neue Condensed', 'Arial Narrow', system-ui, sans-serif\",\n '--wzl-font-display': \"Oswald, 'Helvetica Neue Condensed', 'Arial Narrow', system-ui, sans-serif\",\n '--wzl-font-body': \"Inter, system-ui, -apple-system, 'Segoe UI', sans-serif\",\n '--wzl-font-mono': \"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace\",\n '--wzl-font-weight-light': \"200\",\n '--wzl-font-weight-normal': \"300\",\n '--wzl-font-weight-medium': \"350\",\n '--wzl-font-weight-bold': \"400\",\n '--wzl-space-xs': \"4px\",\n '--wzl-space-sm': \"8px\",\n '--wzl-space-md': \"12px\",\n '--wzl-space-lg': \"16px\",\n },\n 'mode=light,density=roomy': {\n '--wzl-gray-50': \"#f5f5f6\",\n '--wzl-gray-100': \"#e6e7e9\",\n '--wzl-gray-200': \"#c9cbcf\",\n '--wzl-gray-300': \"#9ea1a8\",\n '--wzl-gray-400': \"#6f737b\",\n '--wzl-gray-500': \"#4d5058\",\n '--wzl-gray-600': \"#383b42\",\n '--wzl-gray-700': \"#25272c\",\n '--wzl-gray-800': \"#181a1e\",\n '--wzl-gray-900': \"#0e0f12\",\n '--wzl-accent-soft': \"#1d1454\",\n '--wzl-accent-base': \"#2e1f7a\",\n '--wzl-accent-strong': \"#5841b8\",\n '--wzl-swatch-fuchsia': \"#f641f7\",\n '--wzl-swatch-green': \"#48e628\",\n '--wzl-swatch-sky': \"#36bff2\",\n '--wzl-swatch-amber': \"#e69628\",\n '--wzl-swatch-teal': \"#3ee1cb\",\n '--wzl-swatch-red': \"#f75034\",\n '--wzl-swatch-blue': \"#407ef7\",\n '--wzl-swatch-citron': \"#d5d23a\",\n '--wzl-swatch-rose': \"#fa4590\",\n '--wzl-swatch-violet': \"#955cf9\",\n '--wzl-font-size-2xs': \"10px\",\n '--wzl-font-size-xs': \"12px\",\n '--wzl-font-size-sm': \"13px\",\n '--wzl-font-size-md': \"15px\",\n '--wzl-font-size-lg': \"18px\",\n '--wzl-font-size-xl': \"23px\",\n '--wzl-space-1': \"2px\",\n '--wzl-space-2': \"4px\",\n '--wzl-space-3': \"6px\",\n '--wzl-space-4': \"8px\",\n '--wzl-space-5': \"10px\",\n '--wzl-space-6': \"12px\",\n '--wzl-space-7': \"14px\",\n '--wzl-space-8': \"16px\",\n '--wzl-surface': \"#f5f5f6\",\n '--wzl-surface-raised': \"#e6e7e9\",\n '--wzl-surface-sunken': \"#c9cbcf\",\n '--wzl-fg': \"#0e0f12\",\n '--wzl-fg-muted': \"#383b42\",\n '--wzl-fg-subtle': \"#4d5058\",\n '--wzl-border': \"#c9cbcf\",\n '--wzl-border-strong': \"#4d5058\",\n '--wzl-accent-fg': \"#2e1f7a\",\n '--wzl-fg-inverse': \"#f5f5f6\",\n '--wzl-shadow': \"rgba(0, 0, 0, 0.18)\",\n '--wzl-danger-base': \"#d94a3f\",\n '--wzl-warning-base': \"#d99a3f\",\n '--wzl-success-base': \"#2ec27e\",\n '--wzl-fg-on-accent': \"#f5f5f6\",\n '--wzl-line-subtle': \"rgba(14, 15, 18, 0.1)\",\n '--wzl-line': \"rgba(14, 15, 18, 0.2)\",\n '--wzl-line-strong': \"rgba(14, 15, 18, 0.4)\",\n '--wzl-curve-color': \"#5841b8\",\n '--wzl-accent': \"#2e1f7a\",\n '--wzl-accent-hover': \"#5841b8\",\n '--wzl-danger': \"#d94a3f\",\n '--wzl-warning': \"#d99a3f\",\n '--wzl-success': \"#2ec27e\",\n '--wzl-focus-ring': \"#5841b8\",\n '--wzl-glass-tint': \"#2e1f7a\",\n '--wzl-surface-hover': \"rgba(14, 15, 18, 0.1)\",\n '--wzl-surface-pressed': \"rgba(14, 15, 18, 0.18)\",\n '--wzl-radius-sm': \"3px\",\n '--wzl-radius-md': \"5px\",\n '--wzl-radius-lg': \"14px\",\n '--wzl-radius-pill': \"999px\",\n '--wzl-border-w': \"1px\",\n '--wzl-line-width': \"2px\",\n '--wzl-curve-width': \"3px\",\n '--wzl-tb-height': \"32px\",\n '--wzl-control-h-xs': \"22px\",\n '--wzl-control-h-sm': \"24px\",\n '--wzl-control-h': \"28px\",\n '--wzl-icon-button-size': \"26px\",\n '--wzl-slider-track-h': \"4px\",\n '--wzl-slider-thumb-size': \"8px\",\n '--wzl-slider-track-mix': \"18%\",\n '--wzl-slider-thumb-mix': \"70%\",\n '--wzl-handle-size': \"9px\",\n '--wzl-handle-size-sm': \"7px\",\n '--wzl-handle-size-lg': \"10px\",\n '--wzl-field-pad-x': \"8px\",\n '--wzl-glass-blur': \"3px\",\n '--wzl-font-size': \"15px\",\n '--wzl-tracking-none': \"0\",\n '--wzl-tracking-wide': \"0.06em\",\n '--wzl-tracking-wider': \"0.08em\",\n '--wzl-z-toolbar': \"10\",\n '--wzl-z-overlay': \"20\",\n '--wzl-z-modal': \"30\",\n '--wzl-leading-tight': \"1\",\n '--wzl-leading-snug': \"1.2\",\n '--wzl-leading': \"1.4\",\n '--wzl-backdrop': \"none\",\n '--wzl-motion-fast': \"120ms\",\n '--wzl-motion-medium': \"240ms\",\n '--wzl-ease-in-cubic': \"cubic-bezier(0.32, 0, 0.67, 0)\",\n '--wzl-ease-out-cubic': \"cubic-bezier(0.33, 1, 0.68, 1)\",\n '--wzl-ease-in-out-cubic': \"cubic-bezier(0.65, 0, 0.35, 1)\",\n '--wzl-ease-out-back': \"cubic-bezier(0.34, 1.56, 0.64, 1)\",\n '--wzl-font-ui': \"Oswald, 'Helvetica Neue Condensed', 'Arial Narrow', system-ui, sans-serif\",\n '--wzl-font-display': \"Oswald, 'Helvetica Neue Condensed', 'Arial Narrow', system-ui, sans-serif\",\n '--wzl-font-body': \"Inter, system-ui, -apple-system, 'Segoe UI', sans-serif\",\n '--wzl-font-mono': \"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace\",\n '--wzl-font-weight-light': \"200\",\n '--wzl-font-weight-normal': \"300\",\n '--wzl-font-weight-medium': \"350\",\n '--wzl-font-weight-bold': \"400\",\n '--wzl-space-xs': \"4px\",\n '--wzl-space-sm': \"8px\",\n '--wzl-space-md': \"12px\",\n '--wzl-space-lg': \"16px\",\n },\n },\n },\n} as const satisfies Record<string, GeneratedTheme>;\n\n/** The built-in themes as authored: their unbaked definitions. */\nexport const THEME_SOURCES: Readonly<Record<string, ThemeDefinition>> = {\n \"weasel\": {\n \"name\": \"weasel\",\n \"axes\": {\n \"mode\": {\n \"default\": \"dark\",\n \"values\": {\n \"dark\": {\n \"scheme\": \"dark\"\n },\n \"light\": {\n \"scheme\": \"light\"\n }\n }\n },\n \"density\": {\n \"default\": \"comfortable\",\n \"values\": {\n \"compact\": {},\n \"comfortable\": {},\n \"roomy\": {}\n }\n }\n },\n \"seeds\": {\n \"ui-base\": {\n \"by\": \"density\",\n \"compact\": 11,\n \"comfortable\": 13,\n \"roomy\": 15\n }\n },\n \"ramps\": {\n \"gray\": {\n \"kind\": \"lightness\",\n \"steps\": [\n \"50\",\n \"100\",\n \"200\",\n \"300\",\n \"400\",\n \"500\",\n \"600\",\n \"700\",\n \"800\",\n \"900\"\n ],\n \"lightness\": [\n 0.973,\n 0.163\n ],\n \"curve\": 0.41,\n \"hue\": 266,\n \"chroma\": {\n \"peak\": 0.0116,\n \"darkBias\": 0.84\n }\n },\n \"accent\": {\n \"kind\": \"lightness\",\n \"steps\": [\n \"soft\",\n \"base\",\n \"strong\"\n ],\n \"lightness\": [\n 0.252,\n 0.471\n ],\n \"curve\": 0,\n \"anchor\": {\n \"base\": \"#2e1f7a\"\n }\n },\n \"swatch\": {\n \"kind\": \"categorical\",\n \"steps\": [\n \"fuchsia\",\n \"green\",\n \"sky\",\n \"amber\",\n \"teal\",\n \"red\",\n \"blue\",\n \"citron\",\n \"rose\",\n \"violet\"\n ],\n \"gates\": {\n \"hueFloor\": 0.9,\n \"minContrast\": 4,\n \"surface\": \"#181a1e\",\n \"lightnessTarget\": 0.72,\n \"lightnessPull\": 0.4,\n \"chromaFraction\": 0.95,\n \"equalize\": 0,\n \"minSurfaceDistance\": 0.25,\n \"minDistance\": 0.22,\n \"order\": \"farthest\"\n }\n }\n },\n \"scales\": {\n \"font-size\": {\n \"steps\": [\n \"2xs\",\n \"xs\",\n \"sm\",\n \"md\",\n \"lg\",\n \"xl\"\n ],\n \"base\": \"{seeds.ui-base}\",\n \"factors\": [\n 0.66,\n 0.77,\n 0.85,\n 1,\n 1.23,\n 1.54\n ],\n \"description\": \"Chrome type ramp. Hand-tuned factors rather than a ratio: the small end is compressed because chrome text stops being legible before a geometric ramp stops shrinking.\",\n \"describe\": {\n \"2xs\": \"Shortcut keys and index badges. The floor for chrome text.\",\n \"xs\": \"Tool-button labels under an icon.\",\n \"sm\": \"Chrome labels, status readouts, section headings.\",\n \"md\": \"Controls and body text.\",\n \"lg\": \"Panel and dialog titles.\",\n \"xl\": \"The largest chrome text — a lab or app title.\"\n }\n },\n \"space\": {\n \"steps\": [\n \"1\",\n \"2\",\n \"3\",\n \"4\",\n \"5\",\n \"6\",\n \"7\",\n \"8\"\n ],\n \"base\": 2,\n \"step\": 2,\n \"description\": \"Spacing ladder, 2px rungs. Invariant across density: the rungs are finer than any density factor could resolve without rounding two of them onto the same pixel.\"\n }\n },\n \"semantics\": {\n \"surface\": {\n \"by\": \"mode\",\n \"dark\": {\n \"ref\": \"gray-800\",\n \"type\": \"color\"\n },\n \"light\": {\n \"ref\": \"gray-50\",\n \"type\": \"color\"\n }\n },\n \"surface-raised\": {\n \"by\": \"mode\",\n \"dark\": {\n \"ref\": \"gray-700\",\n \"type\": \"color\"\n },\n \"light\": {\n \"ref\": \"gray-100\",\n \"type\": \"color\"\n }\n },\n \"surface-sunken\": {\n \"by\": \"mode\",\n \"dark\": {\n \"ref\": \"gray-900\",\n \"type\": \"color\"\n },\n \"light\": {\n \"ref\": \"gray-200\",\n \"type\": \"color\"\n }\n },\n \"fg\": {\n \"by\": \"mode\",\n \"dark\": {\n \"ref\": \"gray-100\",\n \"type\": \"color\"\n },\n \"light\": {\n \"ref\": \"gray-900\",\n \"type\": \"color\"\n }\n },\n \"fg-muted\": {\n \"by\": \"mode\",\n \"dark\": {\n \"ref\": \"gray-300\",\n \"type\": \"color\"\n },\n \"light\": {\n \"ref\": \"gray-600\",\n \"type\": \"color\"\n }\n },\n \"fg-subtle\": {\n \"by\": \"mode\",\n \"dark\": {\n \"ref\": \"gray-400\",\n \"type\": \"color\"\n },\n \"light\": {\n \"ref\": \"gray-500\",\n \"type\": \"color\"\n }\n },\n \"border\": {\n \"by\": \"mode\",\n \"dark\": {\n \"ref\": \"gray-700\",\n \"type\": \"color\"\n },\n \"light\": {\n \"ref\": \"gray-200\",\n \"type\": \"color\"\n }\n },\n \"border-strong\": {\n \"by\": \"mode\",\n \"dark\": {\n \"ref\": \"gray-400\",\n \"type\": \"color\",\n \"description\": \"The line that has to be seen: a control's edge, a raised surface's outline. Clears WCAG 1.4.11's 3:1 against every surface in both modes.\"\n },\n \"light\": {\n \"ref\": \"gray-500\",\n \"type\": \"color\"\n }\n },\n \"accent-fg\": {\n \"by\": \"mode\",\n \"dark\": {\n \"ref\": \"accent-strong\",\n \"type\": \"color\",\n \"description\": \"Accent for foreground use — text, icons, selected labels drawn on a surface. accent is a fill; the midnight base is too dim to read as text on dark surfaces.\"\n },\n \"light\": {\n \"ref\": \"accent-base\",\n \"type\": \"color\",\n \"description\": \"Flips to the deep base in light mode, where it is the legible one.\"\n }\n },\n \"fg-inverse\": {\n \"by\": \"mode\",\n \"dark\": {\n \"ref\": \"gray-900\",\n \"type\": \"color\",\n \"description\": \"Text drawn on a filled foreground-colored element (e.g. a slider thumb). Flips with the mode, so it is a semantic, not an alias to a primitive.\"\n },\n \"light\": {\n \"ref\": \"gray-50\",\n \"type\": \"color\",\n \"description\": \"Flips with the mode — see the dark layer.\"\n }\n },\n \"shadow\": {\n \"by\": \"mode\",\n \"dark\": {\n \"value\": \"rgba(0, 0, 0, 0.6)\",\n \"type\": \"color\",\n \"description\": \"Elevation. Always darker than any surface — never derived from fg, which is near-white on dark.\"\n },\n \"light\": {\n \"value\": \"rgba(0, 0, 0, 0.18)\",\n \"type\": \"color\"\n }\n }\n },\n \"pins\": {\n \"gray-50\": {\n \"value\": \"#f5f5f6\",\n \"type\": \"color\"\n },\n \"gray-100\": {\n \"value\": \"#e6e7e9\",\n \"type\": \"color\"\n },\n \"gray-200\": {\n \"value\": \"#c9cbcf\",\n \"type\": \"color\"\n },\n \"gray-300\": {\n \"value\": \"#9ea1a8\",\n \"type\": \"color\"\n },\n \"gray-400\": {\n \"value\": \"#6f737b\",\n \"type\": \"color\"\n },\n \"gray-500\": {\n \"value\": \"#4d5058\",\n \"type\": \"color\"\n },\n \"gray-600\": {\n \"value\": \"#383b42\",\n \"type\": \"color\"\n },\n \"gray-700\": {\n \"value\": \"#25272c\",\n \"type\": \"color\"\n },\n \"gray-800\": {\n \"value\": \"#181a1e\",\n \"type\": \"color\"\n },\n \"gray-900\": {\n \"value\": \"#0e0f12\",\n \"type\": \"color\"\n },\n \"accent-soft\": {\n \"value\": \"#1d1454\",\n \"type\": \"color\"\n },\n \"accent-base\": {\n \"value\": \"#2e1f7a\",\n \"type\": \"color\",\n \"description\": \"Midnight blue-violet. Deep and saturated; anchors primary actions on light and dark surfaces alike.\"\n },\n \"accent-strong\": {\n \"value\": \"#5841b8\",\n \"type\": \"color\"\n },\n \"danger-base\": {\n \"value\": \"#d94a3f\",\n \"type\": \"color\"\n },\n \"warning-base\": {\n \"value\": \"#d99a3f\",\n \"type\": \"color\"\n },\n \"success-base\": {\n \"value\": \"#2ec27e\",\n \"type\": \"color\"\n },\n \"fg-on-accent\": {\n \"value\": \"{gray-50}\",\n \"type\": \"color\"\n },\n \"line-subtle\": {\n \"value\": \"{fg}\",\n \"type\": \"color\",\n \"alpha\": 0.1,\n \"description\": \"Barely-there separators (table rows).\"\n },\n \"line\": {\n \"value\": \"{fg}\",\n \"type\": \"color\",\n \"alpha\": 0.2,\n \"description\": \"Primary gridlines on sunken surfaces.\"\n },\n \"line-strong\": {\n \"value\": \"{fg}\",\n \"type\": \"color\",\n \"alpha\": 0.4,\n \"description\": \"Axes and emphasized dividers.\"\n },\n \"curve-color\": {\n \"value\": \"{accent-strong}\",\n \"type\": \"color\",\n \"description\": \"Drawn data curves. Routes through the bright accent because accent-base is too dim on sunken surfaces.\"\n },\n \"accent\": {\n \"value\": \"{accent-base}\",\n \"type\": \"color\"\n },\n \"accent-hover\": {\n \"value\": \"{accent-strong}\",\n \"type\": \"color\"\n },\n \"danger\": {\n \"value\": \"{danger-base}\",\n \"type\": \"color\"\n },\n \"warning\": {\n \"value\": \"{warning-base}\",\n \"type\": \"color\"\n },\n \"success\": {\n \"value\": \"{success-base}\",\n \"type\": \"color\"\n },\n \"focus-ring\": {\n \"value\": \"{accent-strong}\",\n \"type\": \"color\"\n },\n \"glass-tint\": {\n \"value\": \"{accent}\",\n \"type\": \"color\",\n \"description\": \"Frosted-glass tint. Components compose it as color-mix(in srgb, var(--wzl-glass-tint) 78%, transparent) with backdrop-filter: blur(3px).\"\n },\n \"surface-hover\": {\n \"value\": \"{fg}\",\n \"type\": \"color\",\n \"alpha\": 0.1,\n \"description\": \"Hover wash over a raised surface. Same formula as line-subtle, different job — do not collapse them.\"\n },\n \"surface-pressed\": {\n \"value\": \"{fg}\",\n \"type\": \"color\",\n \"alpha\": 0.18,\n \"description\": \"Pressed wash over a raised surface.\"\n },\n \"swatch-fuchsia\": {\n \"value\": \"#f641f7\",\n \"type\": \"color\",\n \"description\": \"First of ten categorical spot colors for plotting, status and data viz. Take them in sequence: the order is farthest-point over hue, so the first N are as separated as N colors can be (first three 87° apart, all ten 32°). Mode-invariant on purpose — a series keeps its color when the mode flips, which is why they are tuned for a dark surface and clear only 1.5:1 on a light one.\"\n },\n \"swatch-green\": {\n \"value\": \"#48e628\",\n \"type\": \"color\"\n },\n \"swatch-sky\": {\n \"value\": \"#36bff2\",\n \"type\": \"color\"\n },\n \"swatch-amber\": {\n \"value\": \"#e69628\",\n \"type\": \"color\"\n },\n \"swatch-teal\": {\n \"value\": \"#3ee1cb\",\n \"type\": \"color\"\n },\n \"swatch-red\": {\n \"value\": \"#f75034\",\n \"type\": \"color\"\n },\n \"swatch-blue\": {\n \"value\": \"#407ef7\",\n \"type\": \"color\"\n },\n \"swatch-citron\": {\n \"value\": \"#d5d23a\",\n \"type\": \"color\"\n },\n \"swatch-rose\": {\n \"value\": \"#fa4590\",\n \"type\": \"color\"\n },\n \"swatch-violet\": {\n \"value\": \"#955cf9\",\n \"type\": \"color\"\n },\n \"radius-sm\": {\n \"value\": \"3px\",\n \"type\": \"dimension\"\n },\n \"radius-md\": {\n \"value\": \"5px\",\n \"type\": \"dimension\"\n },\n \"radius-lg\": {\n \"value\": \"14px\",\n \"type\": \"dimension\"\n },\n \"radius-pill\": {\n \"value\": \"999px\",\n \"type\": \"dimension\",\n \"description\": \"Fully rounded ends — segmented controls, progress tracks.\"\n },\n \"border-w\": {\n \"value\": \"1px\",\n \"type\": \"dimension\"\n },\n \"line-width\": {\n \"value\": \"2px\",\n \"type\": \"dimension\",\n \"description\": \"Structural lines — gridlines, dividers, axes.\"\n },\n \"curve-width\": {\n \"value\": \"3px\",\n \"type\": \"dimension\",\n \"description\": \"Drawn data curves. Heavier than structural lines so data reads as primary content.\"\n },\n \"tb-height\": {\n \"by\": \"density\",\n \"compact\": {\n \"value\": \"24px\",\n \"type\": \"dimension\",\n \"description\": \"Height of a horizontal toolbar strip (ActionsBar, OptionsBar, ToolOptionsBar). Taller than control-h so the controls inside a strip are not flush with its edges.\"\n },\n \"comfortable\": {\n \"value\": \"28px\",\n \"type\": \"dimension\",\n \"description\": \"Height of a horizontal toolbar strip (ActionsBar, OptionsBar, ToolOptionsBar). Taller than control-h so the controls inside a strip are not flush with its edges.\"\n },\n \"roomy\": {\n \"value\": \"32px\",\n \"type\": \"dimension\",\n \"description\": \"Height of a horizontal toolbar strip (ActionsBar, OptionsBar, ToolOptionsBar). Taller than control-h so the controls inside a strip are not flush with its edges.\"\n }\n },\n \"control-h-xs\": {\n \"by\": \"density\",\n \"compact\": {\n \"value\": \"16px\",\n \"type\": \"dimension\",\n \"description\": \"Height of the smallest interactive control -- a stepper, a keycap, a swatch button in a dense row. The rank below control-h-sm.\"\n },\n \"comfortable\": {\n \"value\": \"18px\",\n \"type\": \"dimension\",\n \"description\": \"Height of the smallest interactive control -- a stepper, a keycap, a swatch button in a dense row. The rank below control-h-sm.\"\n },\n \"roomy\": {\n \"value\": \"22px\",\n \"type\": \"dimension\",\n \"description\": \"Height of the smallest interactive control -- a stepper, a keycap, a swatch button in a dense row. The rank below control-h-sm.\"\n }\n },\n \"control-h-sm\": {\n \"by\": \"density\",\n \"compact\": {\n \"value\": \"18px\",\n \"type\": \"dimension\",\n \"description\": \"Height of a control in a dense inspector -- a Properties field, a small Button. The rank below control-h, which sizes a standalone control.\"\n },\n \"comfortable\": {\n \"value\": \"20px\",\n \"type\": \"dimension\",\n \"description\": \"Height of a control in a dense inspector -- a Properties field, a small Button. The rank below control-h, which sizes a standalone control.\"\n },\n \"roomy\": {\n \"value\": \"24px\",\n \"type\": \"dimension\",\n \"description\": \"Height of a control in a dense inspector -- a Properties field, a small Button. The rank below control-h, which sizes a standalone control.\"\n }\n },\n \"control-h\": {\n \"by\": \"density\",\n \"compact\": {\n \"value\": \"20px\",\n \"type\": \"dimension\",\n \"description\": \"Height of an interactive control — button, input, select, segmented control. Distinct from tb-height, which sizes the strip a row of them sits in.\"\n },\n \"comfortable\": {\n \"value\": \"24px\",\n \"type\": \"dimension\",\n \"description\": \"Height of an interactive control — button, input, select, segmented control. Distinct from tb-height, which sizes the strip a row of them sits in.\"\n },\n \"roomy\": {\n \"value\": \"28px\",\n \"type\": \"dimension\",\n \"description\": \"Height of an interactive control — button, input, select, segmented control. Distinct from tb-height, which sizes the strip a row of them sits in.\"\n }\n },\n \"icon-button-size\": {\n \"by\": \"density\",\n \"compact\": {\n \"value\": \"20px\",\n \"type\": \"dimension\",\n \"description\": \"Side of a square icon button -- a dialog close, a row remove, a field clear. Smaller than control-h because it carries a glyph rather than a label, and square, so it sizes both axes.\"\n },\n \"comfortable\": {\n \"value\": \"22px\",\n \"type\": \"dimension\",\n \"description\": \"Side of a square icon button -- a dialog close, a row remove, a field clear. Smaller than control-h because it carries a glyph rather than a label, and square, so it sizes both axes.\"\n },\n \"roomy\": {\n \"value\": \"26px\",\n \"type\": \"dimension\",\n \"description\": \"Side of a square icon button -- a dialog close, a row remove, a field clear. Smaller than control-h because it carries a glyph rather than a label, and square, so it sizes both axes.\"\n }\n },\n \"slider-track-h\": {\n \"value\": \"4px\",\n \"type\": \"dimension\",\n \"description\": \"Height of a linear range track. The kit's single-thumb ranges all wear this; Slider's default 24px canvas track does not.\"\n },\n \"slider-thumb-size\": {\n \"value\": \"8px\",\n \"type\": \"dimension\",\n \"description\": \"Diameter of a linear range thumb.\"\n },\n \"slider-track-mix\": {\n \"value\": \"18%\",\n \"type\": \"dimension\",\n \"description\": \"Accent proportion in a range track, as a color-mix percentage — not a color. Mixed into a real property, never into another custom property.\"\n },\n \"slider-thumb-mix\": {\n \"value\": \"70%\",\n \"type\": \"dimension\",\n \"description\": \"Accent proportion in a range thumb, as a color-mix percentage — not a color.\"\n },\n \"handle-size\": {\n \"value\": \"9px\",\n \"type\": \"dimension\",\n \"description\": \"Edge of a draggable handle on a plot or timeline — a keyframe diamond, a timeline key, an event mark. The default rank; -sm and -lg are the two deliberate departures from it.\"\n },\n \"handle-size-sm\": {\n \"value\": \"7px\",\n \"type\": \"dimension\",\n \"description\": \"A handle that is drawn but not draggable — a locked or pinned point. Smaller so it reads as inert next to a live one.\"\n },\n \"handle-size-lg\": {\n \"value\": \"10px\",\n \"type\": \"dimension\",\n \"description\": \"A handle that is a category of its own rather than one of a row — a curve's endpoint. Larger so it separates from the handles it sits in line with.\"\n },\n \"field-pad-x\": {\n \"value\": \"8px\",\n \"type\": \"dimension\",\n \"description\": \"Horizontal padding inside a boxed field. Pairs with --wzl-field-h, which is a container override and has no :root default.\"\n },\n \"glass-blur\": {\n \"value\": \"3px\",\n \"type\": \"dimension\",\n \"description\": \"Backdrop blur radius for frosted surfaces. Pairs with glass-tint.\"\n },\n \"font-size\": {\n \"value\": \"{font-size-md}\",\n \"type\": \"dimension\",\n \"description\": \"Controls and body text.\"\n },\n \"tracking-none\": {\n \"value\": \"0\",\n \"type\": \"dimension\"\n },\n \"tracking-wide\": {\n \"value\": \"0.06em\",\n \"type\": \"dimension\",\n \"description\": \"Uppercase section headings.\"\n },\n \"tracking-wider\": {\n \"value\": \"0.08em\",\n \"type\": \"dimension\",\n \"description\": \"Uppercase at 11px and below.\"\n },\n \"z-toolbar\": {\n \"value\": 10,\n \"type\": \"number\"\n },\n \"z-overlay\": {\n \"value\": 20,\n \"type\": \"number\"\n },\n \"z-modal\": {\n \"value\": 30,\n \"type\": \"number\"\n },\n \"leading-tight\": {\n \"value\": 1,\n \"type\": \"number\",\n \"description\": \"Single-line controls; the box sets the height.\"\n },\n \"leading-snug\": {\n \"value\": 1.2,\n \"type\": \"number\",\n \"description\": \"Headings and two-line labels.\"\n },\n \"leading\": {\n \"value\": 1.4,\n \"type\": \"number\",\n \"description\": \"Body and anything that wraps.\"\n },\n \"backdrop\": {\n \"value\": \"none\",\n \"type\": \"gradient\",\n \"description\": \"Layered backdrop fill for a page or lab root. `none` here; a theme with a signature background sets it.\"\n },\n \"motion-fast\": {\n \"value\": \"120ms\",\n \"type\": \"duration\",\n \"description\": \"Micro-interactions — hover, focus, pressed.\"\n },\n \"motion-medium\": {\n \"value\": \"240ms\",\n \"type\": \"duration\",\n \"description\": \"Entrances and exits — toasts, popovers, panels.\"\n },\n \"ease-in-cubic\": {\n \"value\": [\n 0.32,\n 0,\n 0.67,\n 0\n ],\n \"type\": \"cubicBezier\"\n },\n \"ease-out-cubic\": {\n \"value\": [\n 0.33,\n 1,\n 0.68,\n 1\n ],\n \"type\": \"cubicBezier\"\n },\n \"ease-in-out-cubic\": {\n \"value\": [\n 0.65,\n 0,\n 0.35,\n 1\n ],\n \"type\": \"cubicBezier\"\n },\n \"ease-out-back\": {\n \"value\": [\n 0.34,\n 1.56,\n 0.64,\n 1\n ],\n \"type\": \"cubicBezier\"\n },\n \"font-ui\": {\n \"value\": [\n \"Oswald\",\n \"Helvetica Neue Condensed\",\n \"Arial Narrow\",\n \"system-ui\",\n \"sans-serif\"\n ],\n \"type\": \"fontFamily\",\n \"description\": \"Condensed UI/display face. The heavier cuts get blocky at any size, so the weight tokens stay in the 200-400 range.\"\n },\n \"font-display\": {\n \"value\": [\n \"Oswald\",\n \"Helvetica Neue Condensed\",\n \"Arial Narrow\",\n \"system-ui\",\n \"sans-serif\"\n ],\n \"type\": \"fontFamily\"\n },\n \"font-body\": {\n \"value\": [\n \"Inter\",\n \"system-ui\",\n \"-apple-system\",\n \"Segoe UI\",\n \"sans-serif\"\n ],\n \"type\": \"fontFamily\"\n },\n \"font-mono\": {\n \"value\": [\n \"ui-monospace\",\n \"SFMono-Regular\",\n \"Menlo\",\n \"Consolas\",\n \"monospace\"\n ],\n \"type\": \"fontFamily\"\n },\n \"font-weight-light\": {\n \"value\": 200,\n \"type\": \"fontWeight\"\n },\n \"font-weight-normal\": {\n \"value\": 300,\n \"type\": \"fontWeight\"\n },\n \"font-weight-medium\": {\n \"value\": 350,\n \"type\": \"fontWeight\"\n },\n \"font-weight-bold\": {\n \"value\": 400,\n \"type\": \"fontWeight\"\n },\n \"space-xs\": {\n \"value\": \"{space-2}\",\n \"type\": \"dimension\",\n \"description\": \"Alias for space-2. The t-shirt names name every other rung of the ladder.\"\n },\n \"space-sm\": {\n \"value\": \"{space-4}\",\n \"type\": \"dimension\",\n \"description\": \"Alias for space-4. The t-shirt names name every other rung of the ladder.\"\n },\n \"space-md\": {\n \"value\": \"{space-6}\",\n \"type\": \"dimension\",\n \"description\": \"Alias for space-6. The t-shirt names name every other rung of the ladder.\"\n },\n \"space-lg\": {\n \"value\": \"{space-8}\",\n \"type\": \"dimension\",\n \"description\": \"Alias for space-8. The t-shirt names name every other rung of the ladder.\"\n }\n }\n }\n};\n\n/** The built-in themes with every rule run and references intact. This is\n * what `weaselTheme` is built from, so the runtime entry bundles no generator. */\nexport const BAKED_THEMES: Readonly<Record<string, BakedTheme>> = {\n \"weasel\": {\n \"name\": \"weasel\",\n \"extends\": null,\n \"axes\": {\n \"mode\": {\n \"default\": \"dark\",\n \"values\": {\n \"dark\": {\n \"scheme\": \"dark\"\n },\n \"light\": {\n \"scheme\": \"light\"\n }\n }\n },\n \"density\": {\n \"default\": \"comfortable\",\n \"values\": {\n \"compact\": {},\n \"comfortable\": {},\n \"roomy\": {}\n }\n }\n },\n \"tokens\": {\n \"gray-50\": {\n \"type\": \"color\",\n \"value\": \"#f5f5f6\"\n },\n \"gray-100\": {\n \"type\": \"color\",\n \"value\": \"#e6e7e9\"\n },\n \"gray-200\": {\n \"type\": \"color\",\n \"value\": \"#c9cbcf\"\n },\n \"gray-300\": {\n \"type\": \"color\",\n \"value\": \"#9ea1a8\"\n },\n \"gray-400\": {\n \"type\": \"color\",\n \"value\": \"#6f737b\"\n },\n \"gray-500\": {\n \"type\": \"color\",\n \"value\": \"#4d5058\"\n },\n \"gray-600\": {\n \"type\": \"color\",\n \"value\": \"#383b42\"\n },\n \"gray-700\": {\n \"type\": \"color\",\n \"value\": \"#25272c\"\n },\n \"gray-800\": {\n \"type\": \"color\",\n \"value\": \"#181a1e\"\n },\n \"gray-900\": {\n \"type\": \"color\",\n \"value\": \"#0e0f12\"\n },\n \"accent-soft\": {\n \"type\": \"color\",\n \"value\": \"#1d1454\"\n },\n \"accent-base\": {\n \"type\": \"color\",\n \"value\": \"#2e1f7a\",\n \"description\": \"Midnight blue-violet. Deep and saturated; anchors primary actions on light and dark surfaces alike.\"\n },\n \"accent-strong\": {\n \"type\": \"color\",\n \"value\": \"#5841b8\"\n },\n \"swatch-fuchsia\": {\n \"type\": \"color\",\n \"value\": \"#f641f7\",\n \"description\": \"First of ten categorical spot colors for plotting, status and data viz. Take them in sequence: the order is farthest-point over hue, so the first N are as separated as N colors can be (first three 87° apart, all ten 32°). Mode-invariant on purpose — a series keeps its color when the mode flips, which is why they are tuned for a dark surface and clear only 1.5:1 on a light one.\"\n },\n \"swatch-green\": {\n \"type\": \"color\",\n \"value\": \"#48e628\"\n },\n \"swatch-sky\": {\n \"type\": \"color\",\n \"value\": \"#36bff2\"\n },\n \"swatch-amber\": {\n \"type\": \"color\",\n \"value\": \"#e69628\"\n },\n \"swatch-teal\": {\n \"type\": \"color\",\n \"value\": \"#3ee1cb\"\n },\n \"swatch-red\": {\n \"type\": \"color\",\n \"value\": \"#f75034\"\n },\n \"swatch-blue\": {\n \"type\": \"color\",\n \"value\": \"#407ef7\"\n },\n \"swatch-citron\": {\n \"type\": \"color\",\n \"value\": \"#d5d23a\"\n },\n \"swatch-rose\": {\n \"type\": \"color\",\n \"value\": \"#fa4590\"\n },\n \"swatch-violet\": {\n \"type\": \"color\",\n \"value\": \"#955cf9\"\n },\n \"font-size-2xs\": {\n \"by\": \"density\",\n \"compact\": {\n \"type\": \"dimension\",\n \"value\": \"7px\",\n \"description\": \"Shortcut keys and index badges. The floor for chrome text.\"\n },\n \"comfortable\": {\n \"type\": \"dimension\",\n \"value\": \"9px\",\n \"description\": \"Shortcut keys and index badges. The floor for chrome text.\"\n },\n \"roomy\": {\n \"type\": \"dimension\",\n \"value\": \"10px\",\n \"description\": \"Shortcut keys and index badges. The floor for chrome text.\"\n }\n },\n \"font-size-xs\": {\n \"by\": \"density\",\n \"compact\": {\n \"type\": \"dimension\",\n \"value\": \"8px\",\n \"description\": \"Tool-button labels under an icon.\"\n },\n \"comfortable\": {\n \"type\": \"dimension\",\n \"value\": \"10px\",\n \"description\": \"Tool-button labels under an icon.\"\n },\n \"roomy\": {\n \"type\": \"dimension\",\n \"value\": \"12px\",\n \"description\": \"Tool-button labels under an icon.\"\n }\n },\n \"font-size-sm\": {\n \"by\": \"density\",\n \"compact\": {\n \"type\": \"dimension\",\n \"value\": \"9px\",\n \"description\": \"Chrome labels, status readouts, section headings.\"\n },\n \"comfortable\": {\n \"type\": \"dimension\",\n \"value\": \"11px\",\n \"description\": \"Chrome labels, status readouts, section headings.\"\n },\n \"roomy\": {\n \"type\": \"dimension\",\n \"value\": \"13px\",\n \"description\": \"Chrome labels, status readouts, section headings.\"\n }\n },\n \"font-size-md\": {\n \"by\": \"density\",\n \"compact\": {\n \"type\": \"dimension\",\n \"value\": \"11px\",\n \"description\": \"Controls and body text.\"\n },\n \"comfortable\": {\n \"type\": \"dimension\",\n \"value\": \"13px\",\n \"description\": \"Controls and body text.\"\n },\n \"roomy\": {\n \"type\": \"dimension\",\n \"value\": \"15px\",\n \"description\": \"Controls and body text.\"\n }\n },\n \"font-size-lg\": {\n \"by\": \"density\",\n \"compact\": {\n \"type\": \"dimension\",\n \"value\": \"14px\",\n \"description\": \"Panel and dialog titles.\"\n },\n \"comfortable\": {\n \"type\": \"dimension\",\n \"value\": \"16px\",\n \"description\": \"Panel and dialog titles.\"\n },\n \"roomy\": {\n \"type\": \"dimension\",\n \"value\": \"18px\",\n \"description\": \"Panel and dialog titles.\"\n }\n },\n \"font-size-xl\": {\n \"by\": \"density\",\n \"compact\": {\n \"type\": \"dimension\",\n \"value\": \"17px\",\n \"description\": \"The largest chrome text — a lab or app title.\"\n },\n \"comfortable\": {\n \"type\": \"dimension\",\n \"value\": \"20px\",\n \"description\": \"The largest chrome text — a lab or app title.\"\n },\n \"roomy\": {\n \"type\": \"dimension\",\n \"value\": \"23px\",\n \"description\": \"The largest chrome text — a lab or app title.\"\n }\n },\n \"space-1\": {\n \"type\": \"dimension\",\n \"value\": \"2px\"\n },\n \"space-2\": {\n \"type\": \"dimension\",\n \"value\": \"4px\"\n },\n \"space-3\": {\n \"type\": \"dimension\",\n \"value\": \"6px\"\n },\n \"space-4\": {\n \"type\": \"dimension\",\n \"value\": \"8px\"\n },\n \"space-5\": {\n \"type\": \"dimension\",\n \"value\": \"10px\"\n },\n \"space-6\": {\n \"type\": \"dimension\",\n \"value\": \"12px\"\n },\n \"space-7\": {\n \"type\": \"dimension\",\n \"value\": \"14px\"\n },\n \"space-8\": {\n \"type\": \"dimension\",\n \"value\": \"16px\"\n },\n \"surface\": {\n \"by\": \"mode\",\n \"dark\": {\n \"type\": \"color\",\n \"value\": \"{gray-800}\"\n },\n \"light\": {\n \"type\": \"color\",\n \"value\": \"{gray-50}\"\n }\n },\n \"surface-raised\": {\n \"by\": \"mode\",\n \"dark\": {\n \"type\": \"color\",\n \"value\": \"{gray-700}\"\n },\n \"light\": {\n \"type\": \"color\",\n \"value\": \"{gray-100}\"\n }\n },\n \"surface-sunken\": {\n \"by\": \"mode\",\n \"dark\": {\n \"type\": \"color\",\n \"value\": \"{gray-900}\"\n },\n \"light\": {\n \"type\": \"color\",\n \"value\": \"{gray-200}\"\n }\n },\n \"fg\": {\n \"by\": \"mode\",\n \"dark\": {\n \"type\": \"color\",\n \"value\": \"{gray-100}\"\n },\n \"light\": {\n \"type\": \"color\",\n \"value\": \"{gray-900}\"\n }\n },\n \"fg-muted\": {\n \"by\": \"mode\",\n \"dark\": {\n \"type\": \"color\",\n \"value\": \"{gray-300}\"\n },\n \"light\": {\n \"type\": \"color\",\n \"value\": \"{gray-600}\"\n }\n },\n \"fg-subtle\": {\n \"by\": \"mode\",\n \"dark\": {\n \"type\": \"color\",\n \"value\": \"{gray-400}\"\n },\n \"light\": {\n \"type\": \"color\",\n \"value\": \"{gray-500}\"\n }\n },\n \"border\": {\n \"by\": \"mode\",\n \"dark\": {\n \"type\": \"color\",\n \"value\": \"{gray-700}\"\n },\n \"light\": {\n \"type\": \"color\",\n \"value\": \"{gray-200}\"\n }\n },\n \"border-strong\": {\n \"by\": \"mode\",\n \"dark\": {\n \"type\": \"color\",\n \"value\": \"{gray-400}\",\n \"description\": \"The line that has to be seen: a control's edge, a raised surface's outline. Clears WCAG 1.4.11's 3:1 against every surface in both modes.\"\n },\n \"light\": {\n \"type\": \"color\",\n \"value\": \"{gray-500}\"\n }\n },\n \"accent-fg\": {\n \"by\": \"mode\",\n \"dark\": {\n \"type\": \"color\",\n \"value\": \"{accent-strong}\",\n \"description\": \"Accent for foreground use — text, icons, selected labels drawn on a surface. accent is a fill; the midnight base is too dim to read as text on dark surfaces.\"\n },\n \"light\": {\n \"type\": \"color\",\n \"value\": \"{accent-base}\",\n \"description\": \"Flips to the deep base in light mode, where it is the legible one.\"\n }\n },\n \"fg-inverse\": {\n \"by\": \"mode\",\n \"dark\": {\n \"type\": \"color\",\n \"value\": \"{gray-900}\",\n \"description\": \"Text drawn on a filled foreground-colored element (e.g. a slider thumb). Flips with the mode, so it is a semantic, not an alias to a primitive.\"\n },\n \"light\": {\n \"type\": \"color\",\n \"value\": \"{gray-50}\",\n \"description\": \"Flips with the mode — see the dark layer.\"\n }\n },\n \"shadow\": {\n \"by\": \"mode\",\n \"dark\": {\n \"type\": \"color\",\n \"value\": \"rgba(0, 0, 0, 0.6)\",\n \"description\": \"Elevation. Always darker than any surface — never derived from fg, which is near-white on dark.\"\n },\n \"light\": {\n \"type\": \"color\",\n \"value\": \"rgba(0, 0, 0, 0.18)\"\n }\n },\n \"danger-base\": {\n \"type\": \"color\",\n \"value\": \"#d94a3f\"\n },\n \"warning-base\": {\n \"type\": \"color\",\n \"value\": \"#d99a3f\"\n },\n \"success-base\": {\n \"type\": \"color\",\n \"value\": \"#2ec27e\"\n },\n \"fg-on-accent\": {\n \"type\": \"color\",\n \"value\": \"{gray-50}\"\n },\n \"line-subtle\": {\n \"type\": \"color\",\n \"value\": \"{fg}\",\n \"alpha\": 0.1,\n \"description\": \"Barely-there separators (table rows).\"\n },\n \"line\": {\n \"type\": \"color\",\n \"value\": \"{fg}\",\n \"alpha\": 0.2,\n \"description\": \"Primary gridlines on sunken surfaces.\"\n },\n \"line-strong\": {\n \"type\": \"color\",\n \"value\": \"{fg}\",\n \"alpha\": 0.4,\n \"description\": \"Axes and emphasized dividers.\"\n },\n \"curve-color\": {\n \"type\": \"color\",\n \"value\": \"{accent-strong}\",\n \"description\": \"Drawn data curves. Routes through the bright accent because accent-base is too dim on sunken surfaces.\"\n },\n \"accent\": {\n \"type\": \"color\",\n \"value\": \"{accent-base}\"\n },\n \"accent-hover\": {\n \"type\": \"color\",\n \"value\": \"{accent-strong}\"\n },\n \"danger\": {\n \"type\": \"color\",\n \"value\": \"{danger-base}\"\n },\n \"warning\": {\n \"type\": \"color\",\n \"value\": \"{warning-base}\"\n },\n \"success\": {\n \"type\": \"color\",\n \"value\": \"{success-base}\"\n },\n \"focus-ring\": {\n \"type\": \"color\",\n \"value\": \"{accent-strong}\"\n },\n \"glass-tint\": {\n \"type\": \"color\",\n \"value\": \"{accent}\",\n \"description\": \"Frosted-glass tint. Components compose it as color-mix(in srgb, var(--wzl-glass-tint) 78%, transparent) with backdrop-filter: blur(3px).\"\n },\n \"surface-hover\": {\n \"type\": \"color\",\n \"value\": \"{fg}\",\n \"alpha\": 0.1,\n \"description\": \"Hover wash over a raised surface. Same formula as line-subtle, different job — do not collapse them.\"\n },\n \"surface-pressed\": {\n \"type\": \"color\",\n \"value\": \"{fg}\",\n \"alpha\": 0.18,\n \"description\": \"Pressed wash over a raised surface.\"\n },\n \"radius-sm\": {\n \"type\": \"dimension\",\n \"value\": \"3px\"\n },\n \"radius-md\": {\n \"type\": \"dimension\",\n \"value\": \"5px\"\n },\n \"radius-lg\": {\n \"type\": \"dimension\",\n \"value\": \"14px\"\n },\n \"radius-pill\": {\n \"type\": \"dimension\",\n \"value\": \"999px\",\n \"description\": \"Fully rounded ends — segmented controls, progress tracks.\"\n },\n \"border-w\": {\n \"type\": \"dimension\",\n \"value\": \"1px\"\n },\n \"line-width\": {\n \"type\": \"dimension\",\n \"value\": \"2px\",\n \"description\": \"Structural lines — gridlines, dividers, axes.\"\n },\n \"curve-width\": {\n \"type\": \"dimension\",\n \"value\": \"3px\",\n \"description\": \"Drawn data curves. Heavier than structural lines so data reads as primary content.\"\n },\n \"tb-height\": {\n \"by\": \"density\",\n \"compact\": {\n \"type\": \"dimension\",\n \"value\": \"24px\",\n \"description\": \"Height of a horizontal toolbar strip (ActionsBar, OptionsBar, ToolOptionsBar). Taller than control-h so the controls inside a strip are not flush with its edges.\"\n },\n \"comfortable\": {\n \"type\": \"dimension\",\n \"value\": \"28px\",\n \"description\": \"Height of a horizontal toolbar strip (ActionsBar, OptionsBar, ToolOptionsBar). Taller than control-h so the controls inside a strip are not flush with its edges.\"\n },\n \"roomy\": {\n \"type\": \"dimension\",\n \"value\": \"32px\",\n \"description\": \"Height of a horizontal toolbar strip (ActionsBar, OptionsBar, ToolOptionsBar). Taller than control-h so the controls inside a strip are not flush with its edges.\"\n }\n },\n \"control-h-xs\": {\n \"by\": \"density\",\n \"compact\": {\n \"type\": \"dimension\",\n \"value\": \"16px\",\n \"description\": \"Height of the smallest interactive control -- a stepper, a keycap, a swatch button in a dense row. The rank below control-h-sm.\"\n },\n \"comfortable\": {\n \"type\": \"dimension\",\n \"value\": \"18px\",\n \"description\": \"Height of the smallest interactive control -- a stepper, a keycap, a swatch button in a dense row. The rank below control-h-sm.\"\n },\n \"roomy\": {\n \"type\": \"dimension\",\n \"value\": \"22px\",\n \"description\": \"Height of the smallest interactive control -- a stepper, a keycap, a swatch button in a dense row. The rank below control-h-sm.\"\n }\n },\n \"control-h-sm\": {\n \"by\": \"density\",\n \"compact\": {\n \"type\": \"dimension\",\n \"value\": \"18px\",\n \"description\": \"Height of a control in a dense inspector -- a Properties field, a small Button. The rank below control-h, which sizes a standalone control.\"\n },\n \"comfortable\": {\n \"type\": \"dimension\",\n \"value\": \"20px\",\n \"description\": \"Height of a control in a dense inspector -- a Properties field, a small Button. The rank below control-h, which sizes a standalone control.\"\n },\n \"roomy\": {\n \"type\": \"dimension\",\n \"value\": \"24px\",\n \"description\": \"Height of a control in a dense inspector -- a Properties field, a small Button. The rank below control-h, which sizes a standalone control.\"\n }\n },\n \"control-h\": {\n \"by\": \"density\",\n \"compact\": {\n \"type\": \"dimension\",\n \"value\": \"20px\",\n \"description\": \"Height of an interactive control — button, input, select, segmented control. Distinct from tb-height, which sizes the strip a row of them sits in.\"\n },\n \"comfortable\": {\n \"type\": \"dimension\",\n \"value\": \"24px\",\n \"description\": \"Height of an interactive control — button, input, select, segmented control. Distinct from tb-height, which sizes the strip a row of them sits in.\"\n },\n \"roomy\": {\n \"type\": \"dimension\",\n \"value\": \"28px\",\n \"description\": \"Height of an interactive control — button, input, select, segmented control. Distinct from tb-height, which sizes the strip a row of them sits in.\"\n }\n },\n \"icon-button-size\": {\n \"by\": \"density\",\n \"compact\": {\n \"type\": \"dimension\",\n \"value\": \"20px\",\n \"description\": \"Side of a square icon button -- a dialog close, a row remove, a field clear. Smaller than control-h because it carries a glyph rather than a label, and square, so it sizes both axes.\"\n },\n \"comfortable\": {\n \"type\": \"dimension\",\n \"value\": \"22px\",\n \"description\": \"Side of a square icon button -- a dialog close, a row remove, a field clear. Smaller than control-h because it carries a glyph rather than a label, and square, so it sizes both axes.\"\n },\n \"roomy\": {\n \"type\": \"dimension\",\n \"value\": \"26px\",\n \"description\": \"Side of a square icon button -- a dialog close, a row remove, a field clear. Smaller than control-h because it carries a glyph rather than a label, and square, so it sizes both axes.\"\n }\n },\n \"slider-track-h\": {\n \"type\": \"dimension\",\n \"value\": \"4px\",\n \"description\": \"Height of a linear range track. The kit's single-thumb ranges all wear this; Slider's default 24px canvas track does not.\"\n },\n \"slider-thumb-size\": {\n \"type\": \"dimension\",\n \"value\": \"8px\",\n \"description\": \"Diameter of a linear range thumb.\"\n },\n \"slider-track-mix\": {\n \"type\": \"dimension\",\n \"value\": \"18%\",\n \"description\": \"Accent proportion in a range track, as a color-mix percentage — not a color. Mixed into a real property, never into another custom property.\"\n },\n \"slider-thumb-mix\": {\n \"type\": \"dimension\",\n \"value\": \"70%\",\n \"description\": \"Accent proportion in a range thumb, as a color-mix percentage — not a color.\"\n },\n \"handle-size\": {\n \"type\": \"dimension\",\n \"value\": \"9px\",\n \"description\": \"Edge of a draggable handle on a plot or timeline — a keyframe diamond, a timeline key, an event mark. The default rank; -sm and -lg are the two deliberate departures from it.\"\n },\n \"handle-size-sm\": {\n \"type\": \"dimension\",\n \"value\": \"7px\",\n \"description\": \"A handle that is drawn but not draggable — a locked or pinned point. Smaller so it reads as inert next to a live one.\"\n },\n \"handle-size-lg\": {\n \"type\": \"dimension\",\n \"value\": \"10px\",\n \"description\": \"A handle that is a category of its own rather than one of a row — a curve's endpoint. Larger so it separates from the handles it sits in line with.\"\n },\n \"field-pad-x\": {\n \"type\": \"dimension\",\n \"value\": \"8px\",\n \"description\": \"Horizontal padding inside a boxed field. Pairs with --wzl-field-h, which is a container override and has no :root default.\"\n },\n \"glass-blur\": {\n \"type\": \"dimension\",\n \"value\": \"3px\",\n \"description\": \"Backdrop blur radius for frosted surfaces. Pairs with glass-tint.\"\n },\n \"font-size\": {\n \"type\": \"dimension\",\n \"value\": \"{font-size-md}\",\n \"description\": \"Controls and body text.\"\n },\n \"tracking-none\": {\n \"type\": \"dimension\",\n \"value\": \"0\"\n },\n \"tracking-wide\": {\n \"type\": \"dimension\",\n \"value\": \"0.06em\",\n \"description\": \"Uppercase section headings.\"\n },\n \"tracking-wider\": {\n \"type\": \"dimension\",\n \"value\": \"0.08em\",\n \"description\": \"Uppercase at 11px and below.\"\n },\n \"z-toolbar\": {\n \"type\": \"number\",\n \"value\": 10\n },\n \"z-overlay\": {\n \"type\": \"number\",\n \"value\": 20\n },\n \"z-modal\": {\n \"type\": \"number\",\n \"value\": 30\n },\n \"leading-tight\": {\n \"type\": \"number\",\n \"value\": 1,\n \"description\": \"Single-line controls; the box sets the height.\"\n },\n \"leading-snug\": {\n \"type\": \"number\",\n \"value\": 1.2,\n \"description\": \"Headings and two-line labels.\"\n },\n \"leading\": {\n \"type\": \"number\",\n \"value\": 1.4,\n \"description\": \"Body and anything that wraps.\"\n },\n \"backdrop\": {\n \"type\": \"gradient\",\n \"value\": \"none\",\n \"description\": \"Layered backdrop fill for a page or lab root. `none` here; a theme with a signature background sets it.\"\n },\n \"motion-fast\": {\n \"type\": \"duration\",\n \"value\": \"120ms\",\n \"description\": \"Micro-interactions — hover, focus, pressed.\"\n },\n \"motion-medium\": {\n \"type\": \"duration\",\n \"value\": \"240ms\",\n \"description\": \"Entrances and exits — toasts, popovers, panels.\"\n },\n \"ease-in-cubic\": {\n \"type\": \"cubicBezier\",\n \"value\": [\n 0.32,\n 0,\n 0.67,\n 0\n ]\n },\n \"ease-out-cubic\": {\n \"type\": \"cubicBezier\",\n \"value\": [\n 0.33,\n 1,\n 0.68,\n 1\n ]\n },\n \"ease-in-out-cubic\": {\n \"type\": \"cubicBezier\",\n \"value\": [\n 0.65,\n 0,\n 0.35,\n 1\n ]\n },\n \"ease-out-back\": {\n \"type\": \"cubicBezier\",\n \"value\": [\n 0.34,\n 1.56,\n 0.64,\n 1\n ]\n },\n \"font-ui\": {\n \"type\": \"fontFamily\",\n \"value\": [\n \"Oswald\",\n \"Helvetica Neue Condensed\",\n \"Arial Narrow\",\n \"system-ui\",\n \"sans-serif\"\n ],\n \"description\": \"Condensed UI/display face. The heavier cuts get blocky at any size, so the weight tokens stay in the 200-400 range.\"\n },\n \"font-display\": {\n \"type\": \"fontFamily\",\n \"value\": [\n \"Oswald\",\n \"Helvetica Neue Condensed\",\n \"Arial Narrow\",\n \"system-ui\",\n \"sans-serif\"\n ]\n },\n \"font-body\": {\n \"type\": \"fontFamily\",\n \"value\": [\n \"Inter\",\n \"system-ui\",\n \"-apple-system\",\n \"Segoe UI\",\n \"sans-serif\"\n ]\n },\n \"font-mono\": {\n \"type\": \"fontFamily\",\n \"value\": [\n \"ui-monospace\",\n \"SFMono-Regular\",\n \"Menlo\",\n \"Consolas\",\n \"monospace\"\n ]\n },\n \"font-weight-light\": {\n \"type\": \"fontWeight\",\n \"value\": 200\n },\n \"font-weight-normal\": {\n \"type\": \"fontWeight\",\n \"value\": 300\n },\n \"font-weight-medium\": {\n \"type\": \"fontWeight\",\n \"value\": 350\n },\n \"font-weight-bold\": {\n \"type\": \"fontWeight\",\n \"value\": 400\n },\n \"space-xs\": {\n \"type\": \"dimension\",\n \"value\": \"{space-2}\",\n \"description\": \"Alias for space-2. The t-shirt names name every other rung of the ladder.\"\n },\n \"space-sm\": {\n \"type\": \"dimension\",\n \"value\": \"{space-4}\",\n \"description\": \"Alias for space-4. The t-shirt names name every other rung of the ladder.\"\n },\n \"space-md\": {\n \"type\": \"dimension\",\n \"value\": \"{space-6}\",\n \"description\": \"Alias for space-6. The t-shirt names name every other rung of the ladder.\"\n },\n \"space-lg\": {\n \"type\": \"dimension\",\n \"value\": \"{space-8}\",\n \"description\": \"Alias for space-8. The t-shirt names name every other rung of the ladder.\"\n }\n }\n }\n};\n","import { isByAxis, type AxisDefs, type Varying } from './axes';\nimport type { PinObject, PinValue, ThemeDefinition } from './definition';\nimport type { RawToken, TokenValue } from './dtcg/types';\nimport { BAKED_THEMES } from './generated/themes';\n\n/**\n * A theme ready to resolve: its axes and its tokens, each plain or varying by\n * axis, references intact. A `by` that leaves a value out contributes nothing\n * for that selection, so the theme it extends supplies it.\n */\nexport interface Theme {\n readonly name: string;\n readonly extends: Theme | null;\n readonly axes: AxisDefs;\n readonly tokens: Readonly<Record<string, Varying<RawToken>>>;\n}\n\n/** What `defineTheme` accepts: a definition whose `extends` is a `Theme`, holding pins and components only. */\nexport type ThemeInput = Omit<ThemeDefinition, 'extends'> & { readonly extends?: Theme | null };\n\nconst isPinObject = (v: PinValue): v is PinObject =>\n typeof v === 'object' && v !== null && !Array.isArray(v) && 'value' in v;\n\nfunction toRaw(v: Varying<PinValue>): Varying<RawToken> {\n if (isByAxis(v)) {\n const out: Record<string, unknown> = { by: v.by };\n for (const [k, x] of Object.entries(v)) if (k !== 'by') out[k] = toRaw(x as Varying<PinValue>);\n return out as Varying<RawToken>;\n }\n const obj: PinObject = isPinObject(v) ? v : { value: v as TokenValue };\n return { type: obj.type ?? 'unknown', value: obj.value, alpha: obj.alpha, description: obj.description };\n}\n\n/** The built-in theme, from the baked output of themes/weasel.json. */\nexport const weaselTheme: Theme = {\n name: 'weasel',\n extends: null,\n axes: BAKED_THEMES.weasel.axes,\n tokens: BAKED_THEMES.weasel.tokens,\n};\n\n/**\n * Build a theme from pins. Unless `extends` says otherwise the result layers\n * onto `weaselTheme`, so a theme only names what it changes. A definition with\n * seeds, ramps, scales or semantics needs deriving first.\n */\nexport function defineTheme(input: ThemeInput): Theme {\n if (typeof input.extends === 'string') {\n throw new Error(\n `Theme \"${input.name}\" extends \"${input.extends}\" by name; defineTheme needs the Theme itself (e.g. weaselTheme), not a definition's name.`,\n );\n }\n const rules = (['seeds', 'ramps', 'scales', 'semantics'] as const).filter((k) => Object.keys(input[k] ?? {}).length > 0);\n if (rules.length > 0) {\n throw new Error(\n `Theme \"${input.name}\" has ${rules.join(', ')}, which need deriving. Bake it with \\`bake\\` from @weasel-js/theme/engine.`,\n );\n }\n const tokens: Record<string, Varying<RawToken>> = {};\n for (const [name, v] of Object.entries({ ...input.components, ...input.pins })) tokens[name] = toRaw(v);\n return {\n name: input.name,\n extends: input.extends === undefined ? weaselTheme : input.extends,\n axes: input.axes ?? {},\n tokens,\n };\n}\n","import { fullSelection, selectionKey, type Selection } from './axes';\nimport { resolveTheme, themeAxes } from './resolveTheme';\nimport type { Theme } from './theme';\n\nconst STYLE_ID = 'wzl-themes';\n/** `theme.name::selection key` → the rule text currently published for it. Keyed by\n * name because that is what the rule's selector matches on, and holding the\n * text is what lets a redefinition under the same name replace its rule\n * rather than be swallowed as a cache hit. */\nconst emitted = new Map<string, string>();\nlet sheet: CSSStyleSheet | null = null;\nlet styleEl: HTMLStyleElement | null = null;\n\n/** Test seam — drops the module-level cache so each case starts clean. */\nexport function __resetThemeSheet(): void {\n emitted.clear();\n sheet = null;\n styleEl = null;\n}\n\nfunction canAdopt(): boolean {\n return (\n typeof CSSStyleSheet !== 'undefined' &&\n 'replaceSync' in CSSStyleSheet.prototype &&\n Array.isArray(document.adoptedStyleSheets)\n );\n}\n\n/** Republish every rule from `emitted`. Rewriting the whole sheet rather than\n * appending keeps it the size of the theme set: a theme redefined under a\n * name it already used replaces its rule instead of stacking another one. */\nfunction flushRules(): void {\n const css = [...emitted.values()].join('\\n');\n if (canAdopt()) {\n if (!sheet) {\n sheet = new CSSStyleSheet();\n document.adoptedStyleSheets = [...document.adoptedStyleSheets, sheet];\n }\n sheet.replaceSync(css);\n return;\n }\n if (!styleEl) {\n styleEl = document.createElement('style');\n styleEl.id = STYLE_ID;\n document.head.appendChild(styleEl);\n }\n styleEl.textContent = css;\n}\n\n/**\n * Apply `theme` at `selection` to `el`'s subtree.\n *\n * Stamps `data-wzl-theme` and one `data-wzl-<axis>` per axis, and ensures a\n * matching rule block exists in a module-owned stylesheet. Deliberately not\n * inline properties: the cascade then does the work, per-subtree overrides are\n * just a different theme name, and no `!important` is ever needed. No-op\n * outside a DOM.\n */\nexport function applyTheme(el: HTMLElement, theme: Theme, selection: Selection = {}): void {\n if (typeof document === 'undefined') return;\n\n const axes = themeAxes(theme);\n const sel = fullSelection(axes, selection);\n const key = `${theme.name}::${selectionKey(axes, sel)}`;\n const body = Object.entries(resolveTheme(theme, sel))\n .map(([name, value]) => `${name}: ${value};`)\n .join(' ');\n const attrs = Object.keys(axes).map((a) => `[data-wzl-${a}='${sel[a]}']`).join('');\n const rule = `[data-wzl-theme='${theme.name}']${attrs} { ${body} }`;\n if (emitted.get(key) !== rule) {\n emitted.set(key, rule);\n flushRules();\n }\n\n el.setAttribute('data-wzl-theme', theme.name);\n for (const a of Object.keys(axes)) el.setAttribute(`data-wzl-${a}`, sel[a]);\n}\n"]}
|
package/dist/theme-DAZcQi_L.d.ts
DELETED
|
@@ -1,191 +0,0 @@
|
|
|
1
|
-
/** One value of an axis. `scheme` becomes `color-scheme` in that value's CSS blocks. */
|
|
2
|
-
interface AxisValue {
|
|
3
|
-
readonly scheme?: 'dark' | 'light';
|
|
4
|
-
}
|
|
5
|
-
interface AxisDef {
|
|
6
|
-
readonly default: string;
|
|
7
|
-
readonly values: Readonly<Record<string, AxisValue>>;
|
|
8
|
-
}
|
|
9
|
-
/** Key order is declaration order, which selectors and selection keys follow. */
|
|
10
|
-
type AxisDefs = Readonly<Record<string, AxisDef>>;
|
|
11
|
-
/** A partial choice of axis values, e.g. `{ mode: 'light' }`. */
|
|
12
|
-
type Selection = Readonly<Record<string, string>>;
|
|
13
|
-
/** `{ by: 'mode', dark: …, light: … }`: a value that differs per axis value. */
|
|
14
|
-
interface ByAxis<T> {
|
|
15
|
-
readonly by: string;
|
|
16
|
-
readonly [axisValue: string]: Varying<T> | string;
|
|
17
|
-
}
|
|
18
|
-
type Varying<T> = T | ByAxis<T>;
|
|
19
|
-
declare function isByAxis(v: unknown): v is ByAxis<unknown>;
|
|
20
|
-
/** Every axis given a known value; anything missing or unknown takes its default. */
|
|
21
|
-
declare function fullSelection(axes: AxisDefs, selection?: Selection): Selection;
|
|
22
|
-
declare function enumerateSelections(axes: AxisDefs): Selection[];
|
|
23
|
-
/** `mode=dark,density=compact`, axes in declaration order. */
|
|
24
|
-
declare function selectionKey(axes: AxisDefs, selection: Selection): string;
|
|
25
|
-
|
|
26
|
-
type TokenValue = string | number | readonly (string | number)[];
|
|
27
|
-
/**
|
|
28
|
-
* A single design token as authored, before aliases are resolved: a DTCG-shaped
|
|
29
|
-
* `{ type, value }` pair where `value` may still be a `{ref}` to another token.
|
|
30
|
-
*/
|
|
31
|
-
interface RawToken {
|
|
32
|
-
readonly type: string;
|
|
33
|
-
readonly value: TokenValue;
|
|
34
|
-
/** Render the referenced color at this alpha, 0–1. */
|
|
35
|
-
readonly alpha?: number | undefined;
|
|
36
|
-
readonly description?: string | undefined;
|
|
37
|
-
}
|
|
38
|
-
/** A token graph flattened to one level, keyed by token name (no `--wzl-`
|
|
39
|
-
* prefix). Still unresolved — see `ResolvedTokenMap` for the output side. */
|
|
40
|
-
type FlatTokens = Record<string, RawToken>;
|
|
41
|
-
|
|
42
|
-
/** A number, or `{seeds.name}`. */
|
|
43
|
-
type NumberParam = Varying<number | string>;
|
|
44
|
-
interface PinObject {
|
|
45
|
-
readonly value: TokenValue;
|
|
46
|
-
readonly type?: string;
|
|
47
|
-
readonly description?: string;
|
|
48
|
-
readonly alpha?: number;
|
|
49
|
-
}
|
|
50
|
-
/** A bare value or `{ value, type?, description?, alpha? }`. The value may be a `{token}` reference. */
|
|
51
|
-
type PinValue = TokenValue | PinObject;
|
|
52
|
-
interface LightnessRampDef {
|
|
53
|
-
readonly kind: 'lightness';
|
|
54
|
-
readonly steps: Varying<readonly string[]>;
|
|
55
|
-
/** First and last step's OKLCH lightness. */
|
|
56
|
-
readonly lightness: Varying<readonly [NumberParam, NumberParam]>;
|
|
57
|
-
/** 0 walks evenly; 1 follows a smoothstep S. */
|
|
58
|
-
readonly curve?: NumberParam;
|
|
59
|
-
/** Degrees. Ignored when an anchor is given. */
|
|
60
|
-
readonly hue?: NumberParam;
|
|
61
|
-
readonly chroma?: Varying<{
|
|
62
|
-
readonly peak: NumberParam;
|
|
63
|
-
readonly lightBias?: NumberParam;
|
|
64
|
-
readonly darkBias?: NumberParam;
|
|
65
|
-
}>;
|
|
66
|
-
/** Step name → exact hex (or `{seeds.name}`). The first anchor supplies hue and chroma. */
|
|
67
|
-
readonly anchor?: Varying<Readonly<Record<string, Varying<string>>>>;
|
|
68
|
-
readonly description?: string;
|
|
69
|
-
readonly describe?: Readonly<Record<string, string>>;
|
|
70
|
-
}
|
|
71
|
-
interface CategoricalRampDef {
|
|
72
|
-
readonly kind: 'categorical';
|
|
73
|
-
readonly steps: Varying<readonly string[]>;
|
|
74
|
-
/** Any of the palette generator's `Constraints` except `count` and `anchors`. */
|
|
75
|
-
readonly gates?: Varying<Readonly<Record<string, Varying<number | string>>>>;
|
|
76
|
-
readonly anchors?: readonly {
|
|
77
|
-
readonly name: string;
|
|
78
|
-
readonly hue: number;
|
|
79
|
-
readonly lightness: number;
|
|
80
|
-
readonly chroma?: number;
|
|
81
|
-
}[];
|
|
82
|
-
readonly description?: string;
|
|
83
|
-
readonly describe?: Readonly<Record<string, string>>;
|
|
84
|
-
}
|
|
85
|
-
type RampDef = LightnessRampDef | CategoricalRampDef;
|
|
86
|
-
interface ScaleDef {
|
|
87
|
-
readonly steps: Varying<readonly string[]>;
|
|
88
|
-
readonly base: NumberParam;
|
|
89
|
-
/** Linear: `base + step × i`. */
|
|
90
|
-
readonly step?: NumberParam;
|
|
91
|
-
/** Geometric: `base × ratio^i`. */
|
|
92
|
-
readonly ratio?: NumberParam;
|
|
93
|
-
/** Explicit: `base × factors[i]`, one per step. For a ramp no single rule fits. */
|
|
94
|
-
readonly factors?: Varying<readonly NumberParam[]>;
|
|
95
|
-
readonly description?: string;
|
|
96
|
-
readonly describe?: Readonly<Record<string, string>>;
|
|
97
|
-
}
|
|
98
|
-
interface SemanticCommon {
|
|
99
|
-
readonly type?: string;
|
|
100
|
-
readonly description?: string;
|
|
101
|
-
/** Audited, never applied. */
|
|
102
|
-
readonly check?: {
|
|
103
|
-
readonly contrast: number;
|
|
104
|
-
readonly against: readonly string[];
|
|
105
|
-
};
|
|
106
|
-
}
|
|
107
|
-
type StepRule = SemanticCommon & {
|
|
108
|
-
readonly ramp: string;
|
|
109
|
-
readonly step: Varying<string>;
|
|
110
|
-
};
|
|
111
|
-
type OffsetRule = SemanticCommon & {
|
|
112
|
-
readonly from: string;
|
|
113
|
-
readonly offset: number;
|
|
114
|
-
readonly dir: 'lighter' | 'darker' | 'away';
|
|
115
|
-
};
|
|
116
|
-
type ContrastRule = SemanticCommon & {
|
|
117
|
-
readonly ramp: string;
|
|
118
|
-
readonly contrast: {
|
|
119
|
-
readonly min: number;
|
|
120
|
-
readonly against: readonly string[];
|
|
121
|
-
};
|
|
122
|
-
};
|
|
123
|
-
type RefRule = SemanticCommon & {
|
|
124
|
-
readonly ref: string;
|
|
125
|
-
readonly alpha?: number;
|
|
126
|
-
};
|
|
127
|
-
type LiteralRule = SemanticCommon & {
|
|
128
|
-
readonly value: TokenValue;
|
|
129
|
-
};
|
|
130
|
-
type SemanticRule = StepRule | OffsetRule | ContrastRule | RefRule | LiteralRule;
|
|
131
|
-
interface ThemeDefinition {
|
|
132
|
-
readonly name: string;
|
|
133
|
-
/** Another definition's name. Absent or null: extends nothing. */
|
|
134
|
-
readonly extends?: string | null;
|
|
135
|
-
readonly description?: string;
|
|
136
|
-
readonly axes?: AxisDefs;
|
|
137
|
-
readonly seeds?: Readonly<Record<string, Varying<number | string>>>;
|
|
138
|
-
readonly ramps?: Readonly<Record<string, RampDef>>;
|
|
139
|
-
readonly scales?: Readonly<Record<string, ScaleDef>>;
|
|
140
|
-
readonly semantics?: Readonly<Record<string, Varying<SemanticRule>>>;
|
|
141
|
-
readonly components?: Readonly<Record<string, Varying<PinValue>>>;
|
|
142
|
-
readonly pins?: Readonly<Record<string, Varying<PinValue>>>;
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
type Lookup = (name: string) => ThemeDefinition | undefined;
|
|
146
|
-
/** The definition with its whole `extends` chain folded in, child entries winning. */
|
|
147
|
-
declare function mergeChain(def: ThemeDefinition, lookup?: Lookup, seen?: ReadonlySet<string>): ThemeDefinition;
|
|
148
|
-
|
|
149
|
-
/**
|
|
150
|
-
* A definition with every rule run: plain or `by`-varying tokens, references intact.
|
|
151
|
-
* A branch `derive` could not produce is left out, so at runtime it falls through to the parent; definitions with
|
|
152
|
-
* issues still bake, because the editor bakes mid-edit and the build refuses them before baking. Cycles and dangling
|
|
153
|
-
* references still throw, as they do in `derive`.
|
|
154
|
-
*/
|
|
155
|
-
interface BakedTheme {
|
|
156
|
-
readonly name: string;
|
|
157
|
-
readonly extends: string | null;
|
|
158
|
-
readonly axes: AxisDefs;
|
|
159
|
-
/** In layer order, then definition order. */
|
|
160
|
-
readonly tokens: Readonly<Record<string, Varying<RawToken>>>;
|
|
161
|
-
}
|
|
162
|
-
/** Derive `definition` at every selection and fold the results into one record of tokens with no rules left. */
|
|
163
|
-
declare function bake(definition: ThemeDefinition, lookup?: Lookup): BakedTheme;
|
|
164
|
-
/** `definition` and every theme it extends, baked, root first. */
|
|
165
|
-
declare function bakeChain(definition: ThemeDefinition, lookup?: Lookup): BakedTheme[];
|
|
166
|
-
|
|
167
|
-
/**
|
|
168
|
-
* A theme ready to resolve: its axes and its tokens, each plain or varying by
|
|
169
|
-
* axis, references intact. A `by` that leaves a value out contributes nothing
|
|
170
|
-
* for that selection, so the theme it extends supplies it.
|
|
171
|
-
*/
|
|
172
|
-
interface Theme {
|
|
173
|
-
readonly name: string;
|
|
174
|
-
readonly extends: Theme | null;
|
|
175
|
-
readonly axes: AxisDefs;
|
|
176
|
-
readonly tokens: Readonly<Record<string, Varying<RawToken>>>;
|
|
177
|
-
}
|
|
178
|
-
/** What `defineTheme` accepts: a definition whose `extends` is a `Theme`, holding pins and components only. */
|
|
179
|
-
type ThemeInput = Omit<ThemeDefinition, 'extends'> & {
|
|
180
|
-
readonly extends?: Theme | null;
|
|
181
|
-
};
|
|
182
|
-
/** The built-in theme, from the baked output of themes/weasel.json. */
|
|
183
|
-
declare const weaselTheme: Theme;
|
|
184
|
-
/**
|
|
185
|
-
* Build a theme from pins. Unless `extends` says otherwise the result layers
|
|
186
|
-
* onto `weaselTheme`, so a theme only names what it changes. A definition with
|
|
187
|
-
* seeds, ramps, scales or semantics needs deriving first.
|
|
188
|
-
*/
|
|
189
|
-
declare function defineTheme(input: ThemeInput): Theme;
|
|
190
|
-
|
|
191
|
-
export { type AxisDef as A, type BakedTheme as B, type CategoricalRampDef as C, type FlatTokens as F, type Lookup as L, type NumberParam as N, type OffsetRule as O, type PinObject as P, type RawToken as R, type Selection as S, type Theme as T, type Varying as V, type TokenValue as a, type AxisDefs as b, type AxisValue as c, type ByAxis as d, type PinValue as e, type ThemeDefinition as f, type ThemeInput as g, defineTheme as h, enumerateSelections as i, fullSelection as j, isByAxis as k, type ContrastRule as l, type LightnessRampDef as m, type LiteralRule as n, type RampDef as o, type RefRule as p, type ScaleDef as q, type SemanticRule as r, selectionKey as s, type StepRule as t, bake as u, bakeChain as v, weaselTheme as w, mergeChain as x };
|