@phcdevworks/spectre-tokens 2.6.0 → 2.7.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 +14 -12
- package/dist/index.cjs +77 -60
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +22 -25
- package/dist/index.d.cts +33 -0
- package/dist/index.d.ts +33 -0
- package/dist/index.js +77 -60
- package/dist/index.js.map +1 -1
- package/package.json +11 -8
- package/tokens/modes.json +1 -1
- package/tokens/primitives.json +35 -20
- package/tokens/typography.json +36 -18
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/generated/tokens.ts","../src/css.ts","../src/index.ts"],"sourcesContent":["// This file is auto-generated. Do not edit directly.\n// Source: tokens/*.json\n\nexport interface SpectreSourceTokens {\n component: {\n card: {\n text: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n textMuted: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n };\n input: {\n text: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n placeholder: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n };\n button: {\n textDefault: {\n value: string;\n };\n textOnPrimary: {\n value: string;\n };\n };\n badge: {\n neutralBg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n neutralBgHover: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n neutralText: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n infoBg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n infoBgHover: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n infoText: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n successBg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n successBgHover: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n successText: {\n value: string;\n };\n warningBg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n warningBgHover: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n warningText: {\n value: string;\n };\n dangerBg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n dangerBgHover: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n dangerText: {\n value: string;\n };\n };\n iconBox: {\n bg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n border: {\n value: string;\n };\n iconDefault: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n iconSuccess: {\n value: string;\n };\n iconWarning: {\n value: string;\n };\n iconDanger: {\n value: string;\n };\n };\n testimonial: {\n bg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n bgHover: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n border: {\n value: string;\n };\n text: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n authorName: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n authorTitle: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n quoteMark: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n };\n pricingCard: {\n bg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n bgHover: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n border: {\n value: string;\n metadata: {\n };\n };\n featuredBg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n featuredText: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n featuredBadgeBg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n featuredBadgeText: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n price: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n priceDescription: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n };\n rating: {\n starFilled: {\n value: string;\n };\n starEmpty: {\n value: string;\n };\n text: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n };\n };\n buttons: {\n primary: {\n bg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n bgHover: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n bgActive: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n bgDisabled: {\n value: string;\n };\n text: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n textDisabled: {\n value: string;\n };\n focusRing: {\n value: string;\n };\n focusVisible: {\n value: string;\n };\n };\n secondary: {\n bg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n bgHover: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n bgActive: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n bgDisabled: {\n value: string;\n };\n text: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n textDisabled: {\n value: string;\n };\n border: {\n value: string;\n };\n borderDisabled: {\n value: string;\n };\n focusRing: {\n value: string;\n };\n focusVisible: {\n value: string;\n };\n };\n ghost: {\n bg: {\n value: string;\n };\n bgHover: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n bgActive: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n bgDisabled: {\n value: string;\n };\n text: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n textDisabled: {\n value: string;\n };\n focusRing: {\n value: string;\n };\n focusVisible: {\n value: string;\n };\n };\n danger: {\n bg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n bgHover: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n bgActive: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n bgDisabled: {\n value: string;\n };\n text: {\n value: string;\n };\n textDisabled: {\n value: string;\n };\n focusRing: {\n value: string;\n };\n };\n success: {\n bg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n bgHover: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n bgActive: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n bgDisabled: {\n value: string;\n };\n text: {\n value: string;\n };\n textDisabled: {\n value: string;\n };\n focusRing: {\n value: string;\n };\n };\n cta: {\n bg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n bgHover: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n bgActive: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n bgDisabled: {\n value: string;\n };\n text: {\n value: string;\n };\n textDisabled: {\n value: string;\n };\n shadow: {\n value: string;\n };\n focusRing: {\n value: string;\n };\n };\n accent: {\n bg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n bgHover: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n bgActive: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n bgDisabled: {\n value: string;\n };\n text: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n textDisabled: {\n value: string;\n };\n focusRing: {\n value: string;\n };\n focusVisible: {\n value: string;\n };\n };\n };\n forms: {\n default: {\n bg: {\n value: string;\n };\n border: {\n value: string;\n };\n text: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n placeholder: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n };\n hover: {\n border: {\n value: string;\n };\n };\n focus: {\n border: {\n value: string;\n };\n ring: {\n value: string;\n };\n };\n focusVisible: {\n border: {\n value: string;\n };\n ring: {\n value: string;\n };\n };\n valid: {\n border: {\n value: string;\n };\n bg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n text: {\n value: string;\n };\n };\n invalid: {\n border: {\n value: string;\n };\n bg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n text: {\n value: string;\n };\n };\n disabled: {\n bg: {\n value: string;\n };\n border: {\n value: string;\n };\n text: {\n value: string;\n };\n };\n };\n modes: {\n default: {\n surface: {\n page: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n card: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n input: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n overlay: {\n value: string;\n };\n alternate: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n hero: {\n value: string;\n };\n };\n text: {\n onPage: {\n default: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n muted: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n subtle: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n meta: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n brand: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n };\n onSurface: {\n default: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n muted: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n subtle: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n meta: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n brand: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n };\n };\n component: {\n card: {\n text: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n textMuted: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n };\n input: {\n text: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n placeholder: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n };\n button: {\n textDefault: {\n value: string;\n };\n textOnPrimary: {\n value: string;\n };\n };\n badge: {\n neutralBg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n neutralBgHover: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n neutralText: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n infoBg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n infoBgHover: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n infoText: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n successBg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n successText: {\n value: string;\n metadata: {\n };\n };\n warningBg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n warningText: {\n value: string;\n metadata: {\n };\n };\n dangerBg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n dangerText: {\n value: string;\n metadata: {\n };\n };\n };\n iconBox: {\n bg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n border: {\n value: string;\n metadata: {\n };\n };\n iconDefault: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n iconSuccess: {\n value: string;\n metadata: {\n };\n };\n iconWarning: {\n value: string;\n metadata: {\n };\n };\n iconDanger: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n };\n testimonial: {\n bg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n bgHover: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n border: {\n value: string;\n metadata: {\n };\n };\n text: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n authorName: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n authorTitle: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n quoteMark: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n };\n pricingCard: {\n bg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n bgHover: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n border: {\n value: string;\n metadata: {\n };\n };\n featuredBg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n featuredText: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n featuredBadgeBg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n featuredBadgeText: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n price: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n priceDescription: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n };\n rating: {\n starFilled: {\n value: string;\n metadata: {\n };\n };\n starEmpty: {\n value: string;\n metadata: {\n };\n };\n text: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n };\n };\n };\n dark: {\n surface: {\n page: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n card: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n input: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n overlay: {\n value: string;\n };\n alternate: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n hero: {\n value: string;\n };\n };\n text: {\n onPage: {\n default: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n muted: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n subtle: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n meta: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n brand: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n };\n onSurface: {\n default: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n muted: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n subtle: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n meta: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n brand: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n };\n };\n component: {\n card: {\n text: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n textMuted: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n };\n input: {\n text: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n placeholder: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n };\n button: {\n textDefault: {\n value: string;\n };\n textOnPrimary: {\n value: string;\n };\n };\n badge: {\n neutralBg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n neutralBgHover: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n neutralText: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n infoBg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n infoBgHover: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n infoText: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n successBg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n successBgHover: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n successText: {\n value: string;\n metadata: {\n };\n };\n warningBg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n warningBgHover: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n warningText: {\n value: string;\n metadata: {\n };\n };\n dangerBg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n dangerBgHover: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n dangerText: {\n value: string;\n metadata: {\n };\n };\n };\n iconBox: {\n bg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n border: {\n value: string;\n metadata: {\n };\n };\n iconDefault: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n iconSuccess: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n iconWarning: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n iconDanger: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n };\n testimonial: {\n bg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n bgHover: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n border: {\n value: string;\n metadata: {\n };\n };\n text: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n authorName: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n authorTitle: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n quoteMark: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n };\n pricingCard: {\n bg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n bgHover: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n border: {\n value: string;\n metadata: {\n };\n };\n featuredBg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n featuredText: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n featuredBadgeBg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n featuredBadgeText: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n price: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n priceDescription: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n };\n rating: {\n starFilled: {\n value: string;\n metadata: {\n };\n };\n starEmpty: {\n value: string;\n metadata: {\n };\n };\n text: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n };\n };\n };\n };\n colors: {\n brand: {\n '50': string;\n '100': string;\n '200': string;\n '300': string;\n '400': string;\n '500': string;\n '600': string;\n '700': string;\n '800': string;\n '900': string;\n };\n neutral: {\n '50': string;\n '100': string;\n '200': string;\n '300': string;\n '400': string;\n '500': string;\n '600': string;\n '700': string;\n '800': string;\n '900': string;\n };\n accent: {\n '50': string;\n '100': string;\n '200': string;\n '300': string;\n '400': string;\n '500': string;\n '600': string;\n '700': string;\n '800': string;\n '900': string;\n };\n success: {\n '50': string;\n '100': string;\n '200': string;\n '300': string;\n '400': string;\n '500': string;\n '600': string;\n '700': string;\n '800': string;\n '900': string;\n };\n warning: {\n '50': string;\n '100': string;\n '200': string;\n '300': string;\n '400': string;\n '500': string;\n '600': string;\n '700': string;\n '800': string;\n '900': string;\n };\n error: {\n '50': string;\n '100': string;\n '200': string;\n '300': string;\n '400': string;\n '500': string;\n '600': string;\n '700': string;\n '800': string;\n '900': string;\n };\n info: {\n '50': string;\n '100': string;\n '200': string;\n '300': string;\n '400': string;\n '500': string;\n '600': string;\n '700': string;\n '800': string;\n '900': string;\n };\n indigo: {\n '500': string;\n '600': string;\n };\n violet: {\n '600': string;\n };\n focus: {\n primary: string;\n error: string;\n info: string;\n };\n white: string;\n black: string;\n };\n space: {\n '0': string;\n '4': string;\n '8': string;\n '12': string;\n '16': string;\n '20': string;\n '24': string;\n '32': string;\n '40': string;\n '48': string;\n '56': string;\n '64': string;\n '80': string;\n '96': string;\n };\n radii: {\n none: string;\n sm: string;\n md: string;\n lg: string;\n pill: string;\n };\n shadows: {\n none: string;\n sm: string;\n md: string;\n lg: string;\n };\n breakpoints: {\n sm: string;\n md: string;\n lg: string;\n xl: string;\n '2xl': string;\n };\n zIndex: {\n base: string;\n dropdown: string;\n sticky: string;\n fixed: string;\n overlay: string;\n modal: string;\n popover: string;\n tooltip: string;\n };\n transitions: {\n duration: {\n instant: string;\n fast: string;\n base: string;\n moderate: string;\n slow: string;\n slower: string;\n };\n easing: {\n linear: string;\n in: string;\n out: string;\n inOut: string;\n spring: string;\n };\n };\n animations: {\n fadeIn: {\n duration: string;\n easing: string;\n keyframes: string;\n };\n fadeOut: {\n duration: string;\n easing: string;\n keyframes: string;\n };\n slideUp: {\n duration: string;\n easing: string;\n keyframes: string;\n };\n slideDown: {\n duration: string;\n easing: string;\n keyframes: string;\n };\n scaleIn: {\n duration: string;\n easing: string;\n keyframes: string;\n };\n bounce: {\n duration: string;\n easing: string;\n keyframes: string;\n };\n shake: {\n duration: string;\n easing: string;\n keyframes: string;\n };\n pulse: {\n duration: string;\n easing: string;\n keyframes: string;\n };\n };\n opacity: {\n disabled: string;\n hover: string;\n active: string;\n focus: string;\n overlay: string;\n tooltip: string;\n };\n aspectRatios: {\n square: string;\n video: string;\n portrait: string;\n landscape: string;\n ultrawide: string;\n hero: string;\n };\n icons: {\n xs: string;\n sm: string;\n md: string;\n lg: string;\n xl: string;\n '2xl': string;\n '3xl': string;\n };\n accessibility: {\n focusRing: {\n width: string;\n offset: string;\n style: string;\n };\n minTouchTarget: string;\n minTextSize: string;\n };\n border: {\n width: {\n base: string;\n thick: string;\n };\n };\n surface: {\n page: {\n value: string;\n description: string;\n metadata: {\n pair: string;\n };\n };\n card: {\n value: string;\n description: string;\n metadata: {\n pair: string;\n };\n };\n input: {\n value: string;\n description: string;\n metadata: {\n pair: string;\n };\n };\n overlay: {\n value: string;\n description: string;\n };\n };\n text: {\n onPage: {\n default: {\n value: string;\n description: string;\n metadata: {\n pair: string;\n };\n };\n muted: {\n value: string;\n description: string;\n metadata: {\n pair: string;\n };\n };\n subtle: {\n value: string;\n description: string;\n metadata: {\n pair: string;\n };\n };\n meta: {\n value: string;\n description: string;\n metadata: {\n pair: string;\n };\n };\n brand: string;\n };\n onSurface: {\n default: {\n value: string;\n description: string;\n metadata: {\n pair: string;\n };\n };\n muted: {\n value: string;\n description: string;\n metadata: {\n pair: string;\n };\n };\n subtle: {\n value: string;\n description: string;\n metadata: {\n pair: string;\n };\n };\n meta: {\n value: string;\n description: string;\n metadata: {\n pair: string;\n };\n };\n brand: string;\n };\n };\n layout: {\n section: {\n padding: {\n sm: string;\n md: string;\n lg: string;\n };\n gap: {\n sm: string;\n md: string;\n lg: string;\n };\n };\n stack: {\n gap: {\n sm: string;\n md: string;\n lg: string;\n };\n };\n container: {\n paddingInline: {\n sm: string;\n md: string;\n lg: string;\n };\n maxWidth: string;\n };\n };\n font: {\n xs: {\n size: string;\n lineHeight: string;\n weight: number;\n letterSpacing: string;\n };\n sm: {\n size: string;\n lineHeight: string;\n weight: number;\n };\n md: {\n size: string;\n lineHeight: string;\n weight: number;\n };\n lg: {\n size: string;\n lineHeight: string;\n weight: number;\n };\n xl: {\n size: string;\n lineHeight: string;\n weight: number;\n };\n '2xl': {\n size: string;\n lineHeight: string;\n weight: number;\n };\n '3xl': {\n size: string;\n lineHeight: string;\n weight: number;\n };\n '4xl': {\n size: string;\n lineHeight: string;\n weight: number;\n };\n '5xl': {\n size: string;\n lineHeight: string;\n weight: number;\n };\n '6xl': {\n size: string;\n lineHeight: string;\n weight: number;\n };\n };\n typography: {\n families: {\n sans: string;\n serif: string;\n mono: string;\n };\n scale: {\n xs: {\n fontSize: string;\n lineHeight: string;\n fontWeight: number;\n letterSpacing: string;\n };\n sm: {\n fontSize: string;\n lineHeight: string;\n fontWeight: number;\n };\n md: {\n fontSize: string;\n lineHeight: string;\n fontWeight: number;\n };\n lg: {\n fontSize: string;\n lineHeight: string;\n fontWeight: number;\n };\n xl: {\n fontSize: string;\n lineHeight: string;\n fontWeight: number;\n };\n '2xl': {\n fontSize: string;\n lineHeight: string;\n fontWeight: number;\n };\n '3xl': {\n fontSize: string;\n lineHeight: string;\n fontWeight: number;\n };\n '4xl': {\n fontSize: string;\n lineHeight: string;\n fontWeight: number;\n };\n '5xl': {\n fontSize: string;\n lineHeight: string;\n fontWeight: number;\n };\n '6xl': {\n fontSize: string;\n lineHeight: string;\n fontWeight: number;\n };\n };\n };\n}\n\nexport interface SpectreGeneratedTokens {\n component: {\n card: {\n text: string;\n textMuted: string;\n };\n input: {\n text: string;\n placeholder: string;\n };\n button: {\n textDefault: string;\n textOnPrimary: string;\n };\n badge: {\n neutralBg: string;\n neutralBgHover: string;\n neutralText: string;\n infoBg: string;\n infoBgHover: string;\n infoText: string;\n successBg: string;\n successBgHover: string;\n successText: string;\n warningBg: string;\n warningBgHover: string;\n warningText: string;\n dangerBg: string;\n dangerBgHover: string;\n dangerText: string;\n };\n iconBox: {\n bg: string;\n border: string;\n iconDefault: string;\n iconSuccess: string;\n iconWarning: string;\n iconDanger: string;\n };\n testimonial: {\n bg: string;\n bgHover: string;\n border: string;\n text: string;\n authorName: string;\n authorTitle: string;\n quoteMark: string;\n };\n pricingCard: {\n bg: string;\n bgHover: string;\n border: string;\n featuredBg: string;\n featuredText: string;\n featuredBadgeBg: string;\n featuredBadgeText: string;\n price: string;\n priceDescription: string;\n };\n rating: {\n starFilled: string;\n starEmpty: string;\n text: string;\n };\n };\n buttons: {\n primary: {\n bg: string;\n bgHover: string;\n bgActive: string;\n bgDisabled: string;\n text: string;\n textDisabled: string;\n focusRing: string;\n focusVisible: string;\n };\n secondary: {\n bg: string;\n bgHover: string;\n bgActive: string;\n bgDisabled: string;\n text: string;\n textDisabled: string;\n border: string;\n borderDisabled: string;\n focusRing: string;\n focusVisible: string;\n };\n ghost: {\n bg: string;\n bgHover: string;\n bgActive: string;\n bgDisabled: string;\n text: string;\n textDisabled: string;\n focusRing: string;\n focusVisible: string;\n };\n danger: {\n bg: string;\n bgHover: string;\n bgActive: string;\n bgDisabled: string;\n text: string;\n textDisabled: string;\n focusRing: string;\n };\n success: {\n bg: string;\n bgHover: string;\n bgActive: string;\n bgDisabled: string;\n text: string;\n textDisabled: string;\n focusRing: string;\n };\n cta: {\n bg: string;\n bgHover: string;\n bgActive: string;\n bgDisabled: string;\n text: string;\n textDisabled: string;\n shadow: string;\n focusRing: string;\n };\n accent: {\n bg: string;\n bgHover: string;\n bgActive: string;\n bgDisabled: string;\n text: string;\n textDisabled: string;\n focusRing: string;\n focusVisible: string;\n };\n };\n forms: {\n default: {\n bg: string;\n border: string;\n text: string;\n placeholder: string;\n };\n hover: {\n border: string;\n };\n focus: {\n border: string;\n ring: string;\n };\n focusVisible: {\n border: string;\n ring: string;\n };\n valid: {\n border: string;\n bg: string;\n text: string;\n };\n invalid: {\n border: string;\n bg: string;\n text: string;\n };\n disabled: {\n bg: string;\n border: string;\n text: string;\n };\n };\n modes: {\n default: {\n surface: {\n page: string;\n card: string;\n input: string;\n overlay: string;\n alternate: string;\n hero: string;\n };\n text: {\n onPage: {\n default: string;\n muted: string;\n subtle: string;\n meta: string;\n brand: string;\n };\n onSurface: {\n default: string;\n muted: string;\n subtle: string;\n meta: string;\n brand: string;\n };\n };\n component: {\n card: {\n text: string;\n textMuted: string;\n };\n input: {\n text: string;\n placeholder: string;\n };\n button: {\n textDefault: string;\n textOnPrimary: string;\n };\n badge: {\n neutralBg: string;\n neutralBgHover: string;\n neutralText: string;\n infoBg: string;\n infoBgHover: string;\n infoText: string;\n successBg: string;\n successText: string;\n warningBg: string;\n warningText: string;\n dangerBg: string;\n dangerText: string;\n };\n iconBox: {\n bg: string;\n border: string;\n iconDefault: string;\n iconSuccess: string;\n iconWarning: string;\n iconDanger: string;\n };\n testimonial: {\n bg: string;\n bgHover: string;\n border: string;\n text: string;\n authorName: string;\n authorTitle: string;\n quoteMark: string;\n };\n pricingCard: {\n bg: string;\n bgHover: string;\n border: string;\n featuredBg: string;\n featuredText: string;\n featuredBadgeBg: string;\n featuredBadgeText: string;\n price: string;\n priceDescription: string;\n };\n rating: {\n starFilled: string;\n starEmpty: string;\n text: string;\n };\n };\n };\n dark: {\n surface: {\n page: string;\n card: string;\n input: string;\n overlay: string;\n alternate: string;\n hero: string;\n };\n text: {\n onPage: {\n default: string;\n muted: string;\n subtle: string;\n meta: string;\n brand: string;\n };\n onSurface: {\n default: string;\n muted: string;\n subtle: string;\n meta: string;\n brand: string;\n };\n };\n component: {\n card: {\n text: string;\n textMuted: string;\n };\n input: {\n text: string;\n placeholder: string;\n };\n button: {\n textDefault: string;\n textOnPrimary: string;\n };\n badge: {\n neutralBg: string;\n neutralBgHover: string;\n neutralText: string;\n infoBg: string;\n infoBgHover: string;\n infoText: string;\n successBg: string;\n successBgHover: string;\n successText: string;\n warningBg: string;\n warningBgHover: string;\n warningText: string;\n dangerBg: string;\n dangerBgHover: string;\n dangerText: string;\n };\n iconBox: {\n bg: string;\n border: string;\n iconDefault: string;\n iconSuccess: string;\n iconWarning: string;\n iconDanger: string;\n };\n testimonial: {\n bg: string;\n bgHover: string;\n border: string;\n text: string;\n authorName: string;\n authorTitle: string;\n quoteMark: string;\n };\n pricingCard: {\n bg: string;\n bgHover: string;\n border: string;\n featuredBg: string;\n featuredText: string;\n featuredBadgeBg: string;\n featuredBadgeText: string;\n price: string;\n priceDescription: string;\n };\n rating: {\n starFilled: string;\n starEmpty: string;\n text: string;\n };\n };\n };\n };\n colors: {\n brand: {\n '50': string;\n '100': string;\n '200': string;\n '300': string;\n '400': string;\n '500': string;\n '600': string;\n '700': string;\n '800': string;\n '900': string;\n };\n neutral: {\n '50': string;\n '100': string;\n '200': string;\n '300': string;\n '400': string;\n '500': string;\n '600': string;\n '700': string;\n '800': string;\n '900': string;\n };\n accent: {\n '50': string;\n '100': string;\n '200': string;\n '300': string;\n '400': string;\n '500': string;\n '600': string;\n '700': string;\n '800': string;\n '900': string;\n };\n success: {\n '50': string;\n '100': string;\n '200': string;\n '300': string;\n '400': string;\n '500': string;\n '600': string;\n '700': string;\n '800': string;\n '900': string;\n };\n warning: {\n '50': string;\n '100': string;\n '200': string;\n '300': string;\n '400': string;\n '500': string;\n '600': string;\n '700': string;\n '800': string;\n '900': string;\n };\n error: {\n '50': string;\n '100': string;\n '200': string;\n '300': string;\n '400': string;\n '500': string;\n '600': string;\n '700': string;\n '800': string;\n '900': string;\n };\n info: {\n '50': string;\n '100': string;\n '200': string;\n '300': string;\n '400': string;\n '500': string;\n '600': string;\n '700': string;\n '800': string;\n '900': string;\n };\n indigo: {\n '500': string;\n '600': string;\n };\n violet: {\n '600': string;\n };\n focus: {\n primary: string;\n error: string;\n info: string;\n };\n white: string;\n black: string;\n };\n space: {\n '0': string;\n '4': string;\n '8': string;\n '12': string;\n '16': string;\n '20': string;\n '24': string;\n '32': string;\n '40': string;\n '48': string;\n '56': string;\n '64': string;\n '80': string;\n '96': string;\n };\n radii: {\n none: string;\n sm: string;\n md: string;\n lg: string;\n pill: string;\n };\n shadows: {\n none: string;\n sm: string;\n md: string;\n lg: string;\n };\n breakpoints: {\n sm: string;\n md: string;\n lg: string;\n xl: string;\n '2xl': string;\n };\n zIndex: {\n base: string;\n dropdown: string;\n sticky: string;\n fixed: string;\n overlay: string;\n modal: string;\n popover: string;\n tooltip: string;\n };\n transitions: {\n duration: {\n instant: string;\n fast: string;\n base: string;\n moderate: string;\n slow: string;\n slower: string;\n };\n easing: {\n linear: string;\n in: string;\n out: string;\n inOut: string;\n spring: string;\n };\n };\n animations: {\n fadeIn: {\n duration: string;\n easing: string;\n keyframes: string;\n };\n fadeOut: {\n duration: string;\n easing: string;\n keyframes: string;\n };\n slideUp: {\n duration: string;\n easing: string;\n keyframes: string;\n };\n slideDown: {\n duration: string;\n easing: string;\n keyframes: string;\n };\n scaleIn: {\n duration: string;\n easing: string;\n keyframes: string;\n };\n bounce: {\n duration: string;\n easing: string;\n keyframes: string;\n };\n shake: {\n duration: string;\n easing: string;\n keyframes: string;\n };\n pulse: {\n duration: string;\n easing: string;\n keyframes: string;\n };\n };\n opacity: {\n disabled: string;\n hover: string;\n active: string;\n focus: string;\n overlay: string;\n tooltip: string;\n };\n aspectRatios: {\n square: string;\n video: string;\n portrait: string;\n landscape: string;\n ultrawide: string;\n hero: string;\n };\n icons: {\n xs: string;\n sm: string;\n md: string;\n lg: string;\n xl: string;\n '2xl': string;\n '3xl': string;\n };\n accessibility: {\n focusRing: {\n width: string;\n offset: string;\n style: string;\n };\n minTouchTarget: string;\n minTextSize: string;\n };\n border: {\n width: {\n base: string;\n thick: string;\n };\n };\n surface: {\n page: string;\n card: string;\n input: string;\n overlay: string;\n };\n text: {\n onPage: {\n default: string;\n muted: string;\n subtle: string;\n meta: string;\n brand: string;\n };\n onSurface: {\n default: string;\n muted: string;\n subtle: string;\n meta: string;\n brand: string;\n };\n };\n layout: {\n section: {\n padding: {\n sm: string;\n md: string;\n lg: string;\n };\n gap: {\n sm: string;\n md: string;\n lg: string;\n };\n };\n stack: {\n gap: {\n sm: string;\n md: string;\n lg: string;\n };\n };\n container: {\n paddingInline: {\n sm: string;\n md: string;\n lg: string;\n };\n maxWidth: string;\n };\n };\n font: {\n xs: {\n size: string;\n lineHeight: string;\n weight: number;\n letterSpacing: string;\n };\n sm: {\n size: string;\n lineHeight: string;\n weight: number;\n };\n md: {\n size: string;\n lineHeight: string;\n weight: number;\n };\n lg: {\n size: string;\n lineHeight: string;\n weight: number;\n };\n xl: {\n size: string;\n lineHeight: string;\n weight: number;\n };\n '2xl': {\n size: string;\n lineHeight: string;\n weight: number;\n };\n '3xl': {\n size: string;\n lineHeight: string;\n weight: number;\n };\n '4xl': {\n size: string;\n lineHeight: string;\n weight: number;\n };\n '5xl': {\n size: string;\n lineHeight: string;\n weight: number;\n };\n '6xl': {\n size: string;\n lineHeight: string;\n weight: number;\n };\n };\n typography: {\n families: {\n sans: string;\n serif: string;\n mono: string;\n };\n scale: {\n xs: {\n fontSize: string;\n lineHeight: string;\n fontWeight: number;\n letterSpacing: string;\n };\n sm: {\n fontSize: string;\n lineHeight: string;\n fontWeight: number;\n };\n md: {\n fontSize: string;\n lineHeight: string;\n fontWeight: number;\n };\n lg: {\n fontSize: string;\n lineHeight: string;\n fontWeight: number;\n };\n xl: {\n fontSize: string;\n lineHeight: string;\n fontWeight: number;\n };\n '2xl': {\n fontSize: string;\n lineHeight: string;\n fontWeight: number;\n };\n '3xl': {\n fontSize: string;\n lineHeight: string;\n fontWeight: number;\n };\n '4xl': {\n fontSize: string;\n lineHeight: string;\n fontWeight: number;\n };\n '5xl': {\n fontSize: string;\n lineHeight: string;\n fontWeight: number;\n };\n '6xl': {\n fontSize: string;\n lineHeight: string;\n fontWeight: number;\n };\n };\n };\n}\n\nexport const coreTokens: SpectreGeneratedTokens = {\n \"component\": {\n \"card\": {\n \"text\": \"{colors.neutral.900}\",\n \"textMuted\": \"{colors.neutral.600}\"\n },\n \"input\": {\n \"text\": \"{colors.neutral.900}\",\n \"placeholder\": \"{colors.neutral.500}\"\n },\n \"button\": {\n \"textDefault\": \"{colors.neutral.900}\",\n \"textOnPrimary\": \"{colors.white}\"\n },\n \"badge\": {\n \"neutralBg\": \"{colors.neutral.100}\",\n \"neutralBgHover\": \"{colors.neutral.200}\",\n \"neutralText\": \"{colors.neutral.700}\",\n \"infoBg\": \"{colors.info.100}\",\n \"infoBgHover\": \"{colors.info.200}\",\n \"infoText\": \"{colors.info.700}\",\n \"successBg\": \"{colors.success.100}\",\n \"successBgHover\": \"{colors.success.200}\",\n \"successText\": \"{colors.success.800}\",\n \"warningBg\": \"{colors.warning.100}\",\n \"warningBgHover\": \"{colors.warning.200}\",\n \"warningText\": \"{colors.warning.800}\",\n \"dangerBg\": \"{colors.error.100}\",\n \"dangerBgHover\": \"{colors.error.200}\",\n \"dangerText\": \"{colors.error.800}\"\n },\n \"iconBox\": {\n \"bg\": \"{colors.white}\",\n \"border\": \"{colors.neutral.200}\",\n \"iconDefault\": \"{colors.info.600}\",\n \"iconSuccess\": \"{colors.success.600}\",\n \"iconWarning\": \"{colors.warning.600}\",\n \"iconDanger\": \"{colors.error.600}\"\n },\n \"testimonial\": {\n \"bg\": \"{colors.white}\",\n \"bgHover\": \"{colors.neutral.50}\",\n \"border\": \"{colors.neutral.200}\",\n \"text\": \"{colors.neutral.700}\",\n \"authorName\": \"{colors.neutral.900}\",\n \"authorTitle\": \"{colors.neutral.600}\",\n \"quoteMark\": \"{colors.neutral.600}\"\n },\n \"pricingCard\": {\n \"bg\": \"{colors.white}\",\n \"bgHover\": \"{colors.neutral.50}\",\n \"border\": \"{colors.neutral.200}\",\n \"featuredBg\": \"{colors.info.600}\",\n \"featuredText\": \"{colors.white}\",\n \"featuredBadgeBg\": \"{colors.warning.500}\",\n \"featuredBadgeText\": \"{colors.neutral.900}\",\n \"price\": \"{colors.neutral.900}\",\n \"priceDescription\": \"{colors.neutral.600}\"\n },\n \"rating\": {\n \"starFilled\": \"{colors.warning.500}\",\n \"starEmpty\": \"{colors.neutral.200}\",\n \"text\": \"{colors.neutral.500}\"\n }\n },\n \"buttons\": {\n \"primary\": {\n \"bg\": \"{colors.info.600}\",\n \"bgHover\": \"{colors.info.700}\",\n \"bgActive\": \"{colors.info.800}\",\n \"bgDisabled\": \"{colors.neutral.200}\",\n \"text\": \"{colors.white}\",\n \"textDisabled\": \"{colors.neutral.400}\",\n \"focusRing\": \"{colors.info.500} / 0.4\",\n \"focusVisible\": \"{colors.info.500} / 0.4\"\n },\n \"secondary\": {\n \"bg\": \"{colors.white}\",\n \"bgHover\": \"{colors.neutral.50}\",\n \"bgActive\": \"{colors.neutral.100}\",\n \"bgDisabled\": \"{colors.neutral.50}\",\n \"text\": \"{colors.info.700}\",\n \"textDisabled\": \"{colors.neutral.400}\",\n \"border\": \"{colors.info.700}\",\n \"borderDisabled\": \"{colors.neutral.200}\",\n \"focusRing\": \"{colors.info.500} / 0.4\",\n \"focusVisible\": \"{colors.info.500} / 0.4\"\n },\n \"ghost\": {\n \"bg\": \"transparent\",\n \"bgHover\": \"{colors.info.50}\",\n \"bgActive\": \"{colors.info.100}\",\n \"bgDisabled\": \"transparent\",\n \"text\": \"{colors.info.700}\",\n \"textDisabled\": \"{colors.neutral.400}\",\n \"focusRing\": \"{colors.info.500} / 0.4\",\n \"focusVisible\": \"{colors.info.500} / 0.4\"\n },\n \"danger\": {\n \"bg\": \"{colors.error.600}\",\n \"bgHover\": \"{colors.error.700}\",\n \"bgActive\": \"{colors.error.800}\",\n \"bgDisabled\": \"{colors.error.200}\",\n \"text\": \"{colors.white}\",\n \"textDisabled\": \"{colors.neutral.400}\",\n \"focusRing\": \"{colors.error.500} / 0.4\"\n },\n \"success\": {\n \"bg\": \"{colors.success.700}\",\n \"bgHover\": \"{colors.success.800}\",\n \"bgActive\": \"{colors.success.900}\",\n \"bgDisabled\": \"{colors.success.200}\",\n \"text\": \"{colors.white}\",\n \"textDisabled\": \"{colors.neutral.400}\",\n \"focusRing\": \"{colors.success.500} / 0.4\"\n },\n \"cta\": {\n \"bg\": \"{colors.brand.600}\",\n \"bgHover\": \"{colors.brand.700}\",\n \"bgActive\": \"{colors.brand.800}\",\n \"bgDisabled\": \"{colors.brand.200}\",\n \"text\": \"{colors.white}\",\n \"textDisabled\": \"{colors.neutral.400}\",\n \"shadow\": \"0 4px 14px 0 {colors.brand.500} / 0.39\",\n \"focusRing\": \"{colors.brand.500} / 0.4\"\n },\n \"accent\": {\n \"bg\": \"{colors.accent.700}\",\n \"bgHover\": \"{colors.accent.800}\",\n \"bgActive\": \"{colors.accent.900}\",\n \"bgDisabled\": \"{colors.accent.200}\",\n \"text\": \"{colors.white}\",\n \"textDisabled\": \"{colors.neutral.400}\",\n \"focusRing\": \"{colors.accent.500} / 0.4\",\n \"focusVisible\": \"{colors.accent.500} / 0.4\"\n }\n },\n \"forms\": {\n \"default\": {\n \"bg\": \"{colors.white}\",\n \"border\": \"{colors.neutral.300}\",\n \"text\": \"{colors.neutral.900}\",\n \"placeholder\": \"{colors.neutral.500}\"\n },\n \"hover\": {\n \"border\": \"{colors.info.500}\"\n },\n \"focus\": {\n \"border\": \"{colors.info.500}\",\n \"ring\": \"{colors.info.500}\"\n },\n \"focusVisible\": {\n \"border\": \"{colors.info.500}\",\n \"ring\": \"{colors.info.500}\"\n },\n \"valid\": {\n \"border\": \"{colors.success.500}\",\n \"bg\": \"{colors.success.50}\",\n \"text\": \"{colors.success.700}\"\n },\n \"invalid\": {\n \"border\": \"{colors.error.500}\",\n \"bg\": \"{colors.error.50}\",\n \"text\": \"{colors.error.700}\"\n },\n \"disabled\": {\n \"bg\": \"{colors.neutral.50}\",\n \"border\": \"{colors.neutral.200}\",\n \"text\": \"{colors.neutral.400}\"\n }\n },\n \"modes\": {\n \"default\": {\n \"surface\": {\n \"page\": \"{colors.neutral.50}\",\n \"card\": \"{colors.white}\",\n \"input\": \"{colors.white}\",\n \"overlay\": \"{colors.black} / 0.6\",\n \"alternate\": \"{colors.neutral.100}\",\n \"hero\": \"linear-gradient(135deg, {colors.indigo.500} 0%, {colors.violet.600} 100%)\"\n },\n \"text\": {\n \"onPage\": {\n \"default\": \"{colors.neutral.900}\",\n \"muted\": \"{colors.neutral.600}\",\n \"subtle\": \"{colors.neutral.500}\",\n \"meta\": \"{colors.neutral.500}\",\n \"brand\": \"{colors.brand.600}\"\n },\n \"onSurface\": {\n \"default\": \"{colors.neutral.900}\",\n \"muted\": \"{colors.neutral.600}\",\n \"subtle\": \"{colors.neutral.500}\",\n \"meta\": \"{colors.neutral.500}\",\n \"brand\": \"{colors.brand.600}\"\n }\n },\n \"component\": {\n \"card\": {\n \"text\": \"{colors.neutral.900}\",\n \"textMuted\": \"{colors.neutral.600}\"\n },\n \"input\": {\n \"text\": \"{colors.neutral.900}\",\n \"placeholder\": \"{colors.neutral.500}\"\n },\n \"button\": {\n \"textDefault\": \"{colors.neutral.900}\",\n \"textOnPrimary\": \"{colors.white}\"\n },\n \"badge\": {\n \"neutralBg\": \"{colors.neutral.100}\",\n \"neutralBgHover\": \"{colors.neutral.200}\",\n \"neutralText\": \"{colors.neutral.700}\",\n \"infoBg\": \"{colors.info.100}\",\n \"infoBgHover\": \"{colors.info.200}\",\n \"infoText\": \"{colors.info.700}\",\n \"successBg\": \"{colors.success.100}\",\n \"successText\": \"{colors.success.700}\",\n \"warningBg\": \"{colors.warning.100}\",\n \"warningText\": \"{colors.warning.800}\",\n \"dangerBg\": \"{colors.error.100}\",\n \"dangerText\": \"{colors.error.700}\"\n },\n \"iconBox\": {\n \"bg\": \"{colors.white}\",\n \"border\": \"{colors.neutral.200}\",\n \"iconDefault\": \"{colors.info.600}\",\n \"iconSuccess\": \"{colors.success.600}\",\n \"iconWarning\": \"{colors.warning.600}\",\n \"iconDanger\": \"{colors.error.600}\"\n },\n \"testimonial\": {\n \"bg\": \"{colors.white}\",\n \"bgHover\": \"{colors.neutral.50}\",\n \"border\": \"{colors.neutral.200}\",\n \"text\": \"{colors.neutral.700}\",\n \"authorName\": \"{colors.neutral.900}\",\n \"authorTitle\": \"{colors.neutral.600}\",\n \"quoteMark\": \"{colors.neutral.600}\"\n },\n \"pricingCard\": {\n \"bg\": \"{colors.white}\",\n \"bgHover\": \"{colors.neutral.50}\",\n \"border\": \"{colors.neutral.200}\",\n \"featuredBg\": \"{colors.info.600}\",\n \"featuredText\": \"{colors.white}\",\n \"featuredBadgeBg\": \"{colors.warning.500}\",\n \"featuredBadgeText\": \"{colors.neutral.900}\",\n \"price\": \"{colors.neutral.900}\",\n \"priceDescription\": \"{colors.neutral.600}\"\n },\n \"rating\": {\n \"starFilled\": \"{colors.warning.500}\",\n \"starEmpty\": \"{colors.neutral.200}\",\n \"text\": \"{colors.neutral.500}\"\n }\n }\n },\n \"dark\": {\n \"surface\": {\n \"page\": \"{colors.neutral.900}\",\n \"card\": \"{colors.neutral.800}\",\n \"input\": \"{colors.neutral.700}\",\n \"overlay\": \"{colors.black} / 0.6\",\n \"alternate\": \"{colors.neutral.800}\",\n \"hero\": \"linear-gradient(135deg, {colors.accent.700} 0%, {colors.accent.900} 100%)\"\n },\n \"text\": {\n \"onPage\": {\n \"default\": \"{colors.neutral.50}\",\n \"muted\": \"{colors.neutral.300}\",\n \"subtle\": \"{colors.neutral.400}\",\n \"meta\": \"{colors.neutral.400}\",\n \"brand\": \"{colors.brand.400}\"\n },\n \"onSurface\": {\n \"default\": \"{colors.neutral.100}\",\n \"muted\": \"{colors.neutral.300}\",\n \"subtle\": \"{colors.neutral.400}\",\n \"meta\": \"{colors.neutral.400}\",\n \"brand\": \"{colors.brand.400}\"\n }\n },\n \"component\": {\n \"card\": {\n \"text\": \"{colors.neutral.100}\",\n \"textMuted\": \"{colors.neutral.300}\"\n },\n \"input\": {\n \"text\": \"{colors.neutral.100}\",\n \"placeholder\": \"{colors.neutral.300}\"\n },\n \"button\": {\n \"textDefault\": \"{colors.neutral.100}\",\n \"textOnPrimary\": \"{colors.white}\"\n },\n \"badge\": {\n \"neutralBg\": \"{colors.neutral.700}\",\n \"neutralBgHover\": \"{colors.neutral.600}\",\n \"neutralText\": \"{colors.neutral.100}\",\n \"infoBg\": \"{colors.info.800}\",\n \"infoBgHover\": \"{colors.info.700}\",\n \"infoText\": \"{colors.info.100}\",\n \"successBg\": \"{colors.success.800}\",\n \"successBgHover\": \"{colors.success.700}\",\n \"successText\": \"{colors.success.100}\",\n \"warningBg\": \"{colors.warning.800}\",\n \"warningBgHover\": \"{colors.warning.800}\",\n \"warningText\": \"{colors.warning.100}\",\n \"dangerBg\": \"{colors.error.800}\",\n \"dangerBgHover\": \"{colors.error.700}\",\n \"dangerText\": \"{colors.error.100}\"\n },\n \"iconBox\": {\n \"bg\": \"{colors.neutral.800}\",\n \"border\": \"{colors.neutral.700}\",\n \"iconDefault\": \"{colors.info.400}\",\n \"iconSuccess\": \"{colors.success.400}\",\n \"iconWarning\": \"{colors.warning.400}\",\n \"iconDanger\": \"{colors.error.400}\"\n },\n \"testimonial\": {\n \"bg\": \"{colors.neutral.800}\",\n \"bgHover\": \"{colors.neutral.700}\",\n \"border\": \"{colors.neutral.700}\",\n \"text\": \"{colors.neutral.200}\",\n \"authorName\": \"{colors.neutral.100}\",\n \"authorTitle\": \"{colors.neutral.300}\",\n \"quoteMark\": \"{colors.neutral.300}\"\n },\n \"pricingCard\": {\n \"bg\": \"{colors.neutral.800}\",\n \"bgHover\": \"{colors.neutral.700}\",\n \"border\": \"{colors.neutral.700}\",\n \"featuredBg\": \"{colors.info.600}\",\n \"featuredText\": \"{colors.white}\",\n \"featuredBadgeBg\": \"{colors.warning.500}\",\n \"featuredBadgeText\": \"{colors.neutral.900}\",\n \"price\": \"{colors.neutral.100}\",\n \"priceDescription\": \"{colors.neutral.300}\"\n },\n \"rating\": {\n \"starFilled\": \"{colors.warning.400}\",\n \"starEmpty\": \"{colors.neutral.700}\",\n \"text\": \"{colors.neutral.400}\"\n }\n }\n }\n },\n \"colors\": {\n \"brand\": {\n \"50\": \"#eef4ff\",\n \"100\": \"#d9e7ff\",\n \"200\": \"#b9d2ff\",\n \"300\": \"#8ab6ff\",\n \"400\": \"#5a92ff\",\n \"500\": \"#336df4\",\n \"600\": \"#1f57db\",\n \"700\": \"#1946b4\",\n \"800\": \"#173b8f\",\n \"900\": \"#16336f\"\n },\n \"neutral\": {\n \"50\": \"#f7f8fb\",\n \"100\": \"#eef1f6\",\n \"200\": \"#d9dfeb\",\n \"300\": \"#b7c1d4\",\n \"400\": \"#8a96ad\",\n \"500\": \"#657287\",\n \"600\": \"#4b576a\",\n \"700\": \"#374253\",\n \"800\": \"#222b38\",\n \"900\": \"#141b24\"\n },\n \"accent\": {\n \"50\": \"#f6f2ff\",\n \"100\": \"#eee5ff\",\n \"200\": \"#ddccff\",\n \"300\": \"#c3a7ff\",\n \"400\": \"#a279ff\",\n \"500\": \"#854ff7\",\n \"600\": \"#7135dd\",\n \"700\": \"#5d28b8\",\n \"800\": \"#4d2393\",\n \"900\": \"#401f75\"\n },\n \"success\": {\n \"50\": \"#f0fdf4\",\n \"100\": \"#dcfce7\",\n \"200\": \"#bbf7d0\",\n \"300\": \"#86efac\",\n \"400\": \"#4ade80\",\n \"500\": \"#22c55e\",\n \"600\": \"#16a34a\",\n \"700\": \"#15803d\",\n \"800\": \"#166534\",\n \"900\": \"#14532d\"\n },\n \"warning\": {\n \"50\": \"#fffbea\",\n \"100\": \"#fff1c2\",\n \"200\": \"#ffe08a\",\n \"300\": \"#ffd24d\",\n \"400\": \"#ffc21a\",\n \"500\": \"#f5ad00\",\n \"600\": \"#d48806\",\n \"700\": \"#ad6800\",\n \"800\": \"#8f5200\",\n \"900\": \"#734000\"\n },\n \"error\": {\n \"50\": \"#fef2f2\",\n \"100\": \"#fee2e2\",\n \"200\": \"#fecaca\",\n \"300\": \"#fca5a5\",\n \"400\": \"#f87171\",\n \"500\": \"#ef4444\",\n \"600\": \"#dc2626\",\n \"700\": \"#b91c1c\",\n \"800\": \"#991b1b\",\n \"900\": \"#7f1d1d\"\n },\n \"info\": {\n \"50\": \"#f0f9ff\",\n \"100\": \"#e0f2fe\",\n \"200\": \"#bae6fd\",\n \"300\": \"#7dd3fc\",\n \"400\": \"#38bdf8\",\n \"500\": \"#0ea5e9\",\n \"600\": \"#0369a1\",\n \"700\": \"#075985\",\n \"800\": \"#0c4a6e\",\n \"900\": \"#082f49\"\n },\n \"indigo\": {\n \"500\": \"#5b6ee1\",\n \"600\": \"#4d61db\"\n },\n \"violet\": {\n \"600\": \"#6f3fd7\"\n },\n \"focus\": {\n \"primary\": \"#336df4\",\n \"error\": \"#ef4444\",\n \"info\": \"#0369a1\"\n },\n \"white\": \"#ffffff\",\n \"black\": \"#000000\"\n },\n \"space\": {\n \"0\": \"0rem\",\n \"4\": \"0.25rem\",\n \"8\": \"0.5rem\",\n \"12\": \"0.75rem\",\n \"16\": \"1rem\",\n \"20\": \"1.25rem\",\n \"24\": \"1.5rem\",\n \"32\": \"2rem\",\n \"40\": \"2.5rem\",\n \"48\": \"3rem\",\n \"56\": \"3.5rem\",\n \"64\": \"4rem\",\n \"80\": \"5rem\",\n \"96\": \"6rem\"\n },\n \"radii\": {\n \"none\": \"0\",\n \"sm\": \"2px\",\n \"md\": \"4px\",\n \"lg\": \"8px\",\n \"pill\": \"999px\"\n },\n \"shadows\": {\n \"none\": \"none\",\n \"sm\": \"0 1px 2px 0 {colors.black} / 0.06\",\n \"md\": \"0 2px 6px -1px {colors.black} / 0.08\",\n \"lg\": \"0 6px 16px -4px {colors.black} / 0.12\"\n },\n \"breakpoints\": {\n \"sm\": \"640px\",\n \"md\": \"768px\",\n \"lg\": \"1024px\",\n \"xl\": \"1280px\",\n \"2xl\": \"1536px\"\n },\n \"zIndex\": {\n \"base\": \"0\",\n \"dropdown\": \"1000\",\n \"sticky\": \"1100\",\n \"fixed\": \"1200\",\n \"overlay\": \"1300\",\n \"modal\": \"1400\",\n \"popover\": \"1500\",\n \"tooltip\": \"1600\"\n },\n \"transitions\": {\n \"duration\": {\n \"instant\": \"75ms\",\n \"fast\": \"150ms\",\n \"base\": \"200ms\",\n \"moderate\": \"300ms\",\n \"slow\": \"500ms\",\n \"slower\": \"700ms\"\n },\n \"easing\": {\n \"linear\": \"linear\",\n \"in\": \"cubic-bezier(0.4, 0, 1, 1)\",\n \"out\": \"cubic-bezier(0, 0, 0.2, 1)\",\n \"inOut\": \"cubic-bezier(0.4, 0, 0.2, 1)\",\n \"spring\": \"cubic-bezier(0.4, 0, 0.2, 1)\"\n }\n },\n \"animations\": {\n \"fadeIn\": {\n \"duration\": \"200ms\",\n \"easing\": \"cubic-bezier(0, 0, 0.2, 1)\",\n \"keyframes\": \"fade-in\"\n },\n \"fadeOut\": {\n \"duration\": \"150ms\",\n \"easing\": \"cubic-bezier(0.4, 0, 1, 1)\",\n \"keyframes\": \"fade-out\"\n },\n \"slideUp\": {\n \"duration\": \"300ms\",\n \"easing\": \"cubic-bezier(0, 0, 0.2, 1)\",\n \"keyframes\": \"slide-up\"\n },\n \"slideDown\": {\n \"duration\": \"300ms\",\n \"easing\": \"cubic-bezier(0, 0, 0.2, 1)\",\n \"keyframes\": \"slide-down\"\n },\n \"scaleIn\": {\n \"duration\": \"200ms\",\n \"easing\": \"cubic-bezier(0.34, 1.56, 0.64, 1)\",\n \"keyframes\": \"scale-in\"\n },\n \"bounce\": {\n \"duration\": \"300ms\",\n \"easing\": \"cubic-bezier(0.4, 0, 0.2, 1)\",\n \"keyframes\": \"bounce\"\n },\n \"shake\": {\n \"duration\": \"250ms\",\n \"easing\": \"cubic-bezier(0.4, 0, 0.2, 1)\",\n \"keyframes\": \"shake\"\n },\n \"pulse\": {\n \"duration\": \"1200ms\",\n \"easing\": \"cubic-bezier(0.4, 0, 0.2, 1)\",\n \"keyframes\": \"pulse\"\n }\n },\n \"opacity\": {\n \"disabled\": \"0.38\",\n \"hover\": \"0.92\",\n \"active\": \"0.84\",\n \"focus\": \"1\",\n \"overlay\": \"0.5\",\n \"tooltip\": \"0.95\"\n },\n \"aspectRatios\": {\n \"square\": \"1/1\",\n \"video\": \"16/9\",\n \"portrait\": \"3/4\",\n \"landscape\": \"4/3\",\n \"ultrawide\": \"21/9\",\n \"hero\": \"2/1\"\n },\n \"icons\": {\n \"xs\": \"12px\",\n \"sm\": \"16px\",\n \"md\": \"20px\",\n \"lg\": \"24px\",\n \"xl\": \"32px\",\n \"2xl\": \"40px\",\n \"3xl\": \"48px\"\n },\n \"accessibility\": {\n \"focusRing\": {\n \"width\": \"2px\",\n \"offset\": \"2px\",\n \"style\": \"solid\"\n },\n \"minTouchTarget\": \"44px\",\n \"minTextSize\": \"16px\"\n },\n \"border\": {\n \"width\": {\n \"base\": \"1px\",\n \"thick\": \"2px\"\n }\n },\n \"surface\": {\n \"page\": \"{colors.neutral.50}\",\n \"card\": \"{colors.white}\",\n \"input\": \"{colors.white}\",\n \"overlay\": \"{colors.black} / 0.6\"\n },\n \"text\": {\n \"onPage\": {\n \"default\": \"{colors.neutral.900}\",\n \"muted\": \"{colors.neutral.600}\",\n \"subtle\": \"{colors.neutral.500}\",\n \"meta\": \"{colors.neutral.500}\",\n \"brand\": \"{colors.brand.600}\"\n },\n \"onSurface\": {\n \"default\": \"{colors.neutral.900}\",\n \"muted\": \"{colors.neutral.600}\",\n \"subtle\": \"{colors.neutral.500}\",\n \"meta\": \"{colors.neutral.500}\",\n \"brand\": \"{colors.brand.600}\"\n }\n },\n \"layout\": {\n \"section\": {\n \"padding\": {\n \"sm\": \"1.5rem\",\n \"md\": \"2rem\",\n \"lg\": \"3rem\"\n },\n \"gap\": {\n \"sm\": \"1rem\",\n \"md\": \"1.5rem\",\n \"lg\": \"2rem\"\n }\n },\n \"stack\": {\n \"gap\": {\n \"sm\": \"0.5rem\",\n \"md\": \"0.75rem\",\n \"lg\": \"1rem\"\n }\n },\n \"container\": {\n \"paddingInline\": {\n \"sm\": \"1rem\",\n \"md\": \"1.5rem\",\n \"lg\": \"2rem\"\n },\n \"maxWidth\": \"72rem\"\n }\n },\n \"font\": {\n \"xs\": {\n \"size\": \"0.75rem\",\n \"lineHeight\": \"1.25rem\",\n \"weight\": 400,\n \"letterSpacing\": \"0.02em\"\n },\n \"sm\": {\n \"size\": \"0.875rem\",\n \"lineHeight\": \"1.5rem\",\n \"weight\": 400\n },\n \"md\": {\n \"size\": \"1rem\",\n \"lineHeight\": \"1.75rem\",\n \"weight\": 500\n },\n \"lg\": {\n \"size\": \"1.25rem\",\n \"lineHeight\": \"2rem\",\n \"weight\": 600\n },\n \"xl\": {\n \"size\": \"1.5rem\",\n \"lineHeight\": \"2.125rem\",\n \"weight\": 600\n },\n \"2xl\": {\n \"size\": \"1.875rem\",\n \"lineHeight\": \"2.5rem\",\n \"weight\": 700\n },\n \"3xl\": {\n \"size\": \"2.25rem\",\n \"lineHeight\": \"2.75rem\",\n \"weight\": 700\n },\n \"4xl\": {\n \"size\": \"3rem\",\n \"lineHeight\": \"3.5rem\",\n \"weight\": 800\n },\n \"5xl\": {\n \"size\": \"3.75rem\",\n \"lineHeight\": \"4.25rem\",\n \"weight\": 800\n },\n \"6xl\": {\n \"size\": \"4.5rem\",\n \"lineHeight\": \"5rem\",\n \"weight\": 900\n }\n },\n \"typography\": {\n \"families\": {\n \"sans\": \"system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif\",\n \"serif\": \"'Times New Roman', Times, serif\",\n \"mono\": \"'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace\"\n },\n \"scale\": {\n \"xs\": {\n \"fontSize\": \"0.75rem\",\n \"lineHeight\": \"1.25rem\",\n \"fontWeight\": 400,\n \"letterSpacing\": \"0.02em\"\n },\n \"sm\": {\n \"fontSize\": \"0.875rem\",\n \"lineHeight\": \"1.5rem\",\n \"fontWeight\": 400\n },\n \"md\": {\n \"fontSize\": \"1rem\",\n \"lineHeight\": \"1.75rem\",\n \"fontWeight\": 500\n },\n \"lg\": {\n \"fontSize\": \"1.25rem\",\n \"lineHeight\": \"2rem\",\n \"fontWeight\": 600\n },\n \"xl\": {\n \"fontSize\": \"1.5rem\",\n \"lineHeight\": \"2.125rem\",\n \"fontWeight\": 600\n },\n \"2xl\": {\n \"fontSize\": \"1.875rem\",\n \"lineHeight\": \"2.5rem\",\n \"fontWeight\": 700\n },\n \"3xl\": {\n \"fontSize\": \"2.25rem\",\n \"lineHeight\": \"2.75rem\",\n \"fontWeight\": 700\n },\n \"4xl\": {\n \"fontSize\": \"3rem\",\n \"lineHeight\": \"3.5rem\",\n \"fontWeight\": 800\n },\n \"5xl\": {\n \"fontSize\": \"3.75rem\",\n \"lineHeight\": \"4.25rem\",\n \"fontWeight\": 800\n },\n \"6xl\": {\n \"fontSize\": \"4.5rem\",\n \"lineHeight\": \"5rem\",\n \"fontWeight\": 900\n }\n }\n }\n} as const;\n","import type {\n ComponentBadgeTokens,\n ComponentIconBoxTokens,\n CssVariableMap,\n CssVariableOptions,\n SpectreTokens,\n Tokens,\n TypographyScaleEntry\n} from './types'\n\nconst DEFAULT_PREFIX = 'sp'\nexport const DEFAULT_SELECTOR = ':root'\n\nconst formatKey = (segment: string): string =>\n segment\n .replace(/[^a-z0-9]+/gi, '-')\n .replace(/^-+|-+$/g, '')\n .toLowerCase()\n\nconst toVariableName = (prefix: string, ...parts: string[]): string => {\n const filtered = parts.filter(Boolean).map(formatKey)\n return `--${prefix}-${filtered.join('-')}`\n}\n\nconst BADGE_VARIANTS: Array<{ variant: string; bgKey: keyof ComponentBadgeTokens; textKey: keyof ComponentBadgeTokens }> = [\n { variant: 'neutral', bgKey: 'neutralBg', textKey: 'neutralText' },\n { variant: 'info', bgKey: 'infoBg', textKey: 'infoText' },\n { variant: 'success', bgKey: 'successBg', textKey: 'successText' },\n { variant: 'warning', bgKey: 'warningBg', textKey: 'warningText' },\n { variant: 'danger', bgKey: 'dangerBg', textKey: 'dangerText' }\n]\n\nconst ICON_BOX_FIELDS: Array<{ name: string; tokenKey: keyof ComponentIconBoxTokens }> = [\n { name: 'bg', tokenKey: 'bg' },\n { name: 'border', tokenKey: 'border' },\n { name: 'icon-default', tokenKey: 'iconDefault' },\n { name: 'icon-success', tokenKey: 'iconSuccess' },\n { name: 'icon-warning', tokenKey: 'iconWarning' },\n { name: 'icon-danger', tokenKey: 'iconDanger' }\n]\n\nconst resolveTokenReference = (tokens: SpectreTokens, reference: string): string => {\n const path = reference.slice(1, -1).split('.')\n let current: unknown = tokens\n for (const part of path) {\n if (current && typeof current === 'object' && part in (current as Record<string, unknown>)) {\n current = (current as Record<string, unknown>)[part]\n } else {\n return reference\n }\n }\n return typeof current === 'string' || typeof current === 'number' ? String(current) : reference\n}\n\nconst hexToRgba = (hex: string, opacity: string): string => {\n const cleanHex = hex.replace('#', '')\n let r = 0, g = 0, b = 0\n if (cleanHex.length === 3) {\n const rh = cleanHex.charAt(0)\n const gh = cleanHex.charAt(1)\n const bh = cleanHex.charAt(2)\n r = parseInt(rh + rh, 16)\n g = parseInt(gh + gh, 16)\n b = parseInt(bh + bh, 16)\n } else if (cleanHex.length === 6) {\n r = parseInt(cleanHex.substring(0, 2), 16)\n g = parseInt(cleanHex.substring(2, 4), 16)\n b = parseInt(cleanHex.substring(4, 6), 16)\n }\n return `rgba(${r}, ${g}, ${b}, ${opacity})`\n}\n\nconst resolveValue = (tokens: SpectreTokens, value: unknown): string => {\n let str = String(value)\n const regex = /\\{([^}]+)\\}/g\n\n str = str.replace(regex, (match) => resolveTokenReference(tokens, match))\n\n const opacityRegex = /(#[0-9a-fA-F]{3,6})\\s*\\/\\s*([0-9.]+)/g\n str = str.replace(opacityRegex, (match, hex, opacity) => hexToRgba(hex, opacity))\n\n return str\n}\n\nconst resolveSemanticValue = (value: unknown, tokens: SpectreTokens): string | undefined => {\n if (typeof value === 'string' || typeof value === 'number') {\n return resolveValue(tokens, value)\n }\n if (value && typeof value === 'object' && 'value' in (value as Record<string, unknown>)) {\n return resolveValue(tokens, (value as Record<string, unknown>).value)\n }\n return undefined\n}\n\nconst getPath = (source: unknown, path: string[]): unknown =>\n path.reduce<unknown>((acc, key) => (acc && typeof acc === 'object' ? (acc as Record<string, unknown>)[key] : undefined), source)\n\nconst pickSemantic = (tokens: SpectreTokens, ...candidates: unknown[]): string | undefined => {\n for (const candidate of candidates) {\n const resolved = resolveSemanticValue(candidate, tokens)\n if (resolved !== undefined) return resolved\n }\n return undefined\n}\n\nexport const createCssVariableMap = (tokens: SpectreTokens, options: CssVariableOptions = {}): CssVariableMap => {\n const prefix = options.prefix ?? DEFAULT_PREFIX\n const map: CssVariableMap = {}\n const baseTokens = tokens as unknown as Tokens\n\n const assign = (name: string, value: unknown) => {\n const resolved = resolveSemanticValue(value, tokens)\n if (resolved !== undefined) {\n map[name] = resolved\n return\n }\n if (value === undefined) return\n map[name] = resolveValue(tokens, value)\n }\n\n Object.entries(baseTokens.colors).forEach(([group, scale]) => {\n if (typeof scale === 'string' || typeof scale === 'number') {\n assign(toVariableName(prefix, 'color', group), scale)\n return\n }\n\n Object.entries(scale).forEach(([step, value]) => {\n assign(toVariableName(prefix, 'color', group, step), value)\n })\n })\n\n if (baseTokens.space) {\n Object.entries(baseTokens.space).forEach(([key, value]) => {\n assign(toVariableName(prefix, 'space', key), value)\n })\n }\n\n if (baseTokens.layout) {\n const layout = baseTokens.layout as unknown as Record<string, Record<string, Record<string, string>>>\n\n if (layout.section?.padding) {\n Object.entries(layout.section.padding).forEach(([key, value]) => {\n assign(toVariableName(prefix, 'layout', 'section', 'padding', key), value)\n })\n }\n\n if (layout.section?.gap) {\n Object.entries(layout.section.gap).forEach(([key, value]) => {\n assign(toVariableName(prefix, 'layout', 'section', 'gap', key), value)\n })\n }\n\n if (layout.stack?.gap) {\n Object.entries(layout.stack.gap).forEach(([key, value]) => {\n assign(toVariableName(prefix, 'layout', 'stack', 'gap', key), value)\n })\n }\n\n if (layout.container?.paddingInline) {\n Object.entries(layout.container.paddingInline).forEach(([key, value]) => {\n assign(toVariableName(prefix, 'layout', 'container', 'padding-inline', key), value)\n })\n }\n\n const container = layout.container as Record<string, unknown> | undefined\n if (container?.maxWidth) {\n assign(toVariableName(prefix, 'layout', 'container', 'max-width'), container.maxWidth)\n }\n }\n\n const border = (baseTokens as unknown as Record<string, unknown>).border as Record<string, Record<string, string>> | undefined\n if (border?.width) {\n Object.entries(border.width).forEach(([key, value]) => {\n assign(toVariableName(prefix, 'border', 'width', key), value)\n })\n }\n\n Object.entries(baseTokens.radii).forEach(([key, value]) => {\n assign(toVariableName(prefix, 'radius', key), value)\n })\n\n Object.entries(baseTokens.typography.families).forEach(([key, value]) => {\n assign(toVariableName(prefix, 'font-family', key), value)\n })\n\n const typographyScale = baseTokens.typography?.scale ?? {}\n const fontScale = baseTokens.font\n\n if (fontScale && Object.keys(fontScale).length > 0) {\n Object.entries(fontScale).forEach(([key, entry]) => {\n assign(toVariableName(prefix, 'font', key, 'size'), entry.size)\n assign(toVariableName(prefix, 'font', key, 'line-height'), entry.lineHeight)\n assign(toVariableName(prefix, 'font', key, 'weight'), entry.weight)\n })\n } else {\n Object.entries(typographyScale).forEach(([key, entry]) => {\n assign(toVariableName(prefix, 'font', key, 'size'), entry.fontSize)\n assign(toVariableName(prefix, 'font', key, 'line-height'), entry.lineHeight)\n assign(toVariableName(prefix, 'font', key, 'weight'), entry.fontWeight)\n })\n }\n\n Object.entries(typographyScale).forEach(([key, entry]) => {\n const scaleEntry = entry as unknown as TypographyScaleEntry\n assign(toVariableName(prefix, 'font', key, 'letter-spacing'), scaleEntry.letterSpacing)\n })\n\n assign(toVariableName(prefix, 'text', 'on', 'page', 'default'), tokens.text.onPage.default)\n assign(toVariableName(prefix, 'text', 'on', 'page', 'muted'), tokens.text.onPage.muted)\n assign(toVariableName(prefix, 'text', 'on', 'page', 'subtle'), tokens.text.onPage.subtle)\n assign(toVariableName(prefix, 'text', 'on', 'page', 'meta'), tokens.text.onPage.meta)\n assign(toVariableName(prefix, 'text', 'on', 'surface', 'default'), tokens.text.onSurface.default)\n assign(toVariableName(prefix, 'text', 'on', 'surface', 'muted'), tokens.text.onSurface.muted)\n assign(toVariableName(prefix, 'text', 'on', 'surface', 'subtle'), tokens.text.onSurface.subtle)\n assign(toVariableName(prefix, 'text', 'on', 'surface', 'meta'), tokens.text.onSurface.meta)\n\n const badge = tokens.component?.badge\n if (badge) {\n BADGE_VARIANTS.forEach(({ variant, bgKey, textKey }) => {\n assign(toVariableName(prefix, 'badge', variant, 'bg'), badge[bgKey])\n assign(toVariableName(prefix, 'badge', variant, 'text'), badge[textKey])\n })\n }\n\n const iconBox = tokens.component?.iconBox\n if (iconBox) {\n ICON_BOX_FIELDS.forEach(({ name, tokenKey }) => {\n assign(toVariableName(prefix, 'icon-box', name), iconBox[tokenKey])\n })\n }\n\n Object.entries(baseTokens.shadows).forEach(([key, value]) => {\n assign(toVariableName(prefix, 'shadow', key), value)\n })\n\n Object.entries(baseTokens.breakpoints).forEach(([key, value]) => {\n assign(toVariableName(prefix, 'breakpoint', key), value)\n })\n\n Object.entries(baseTokens.zIndex).forEach(([key, value]) => {\n assign(toVariableName(prefix, 'z-index', key), value)\n })\n\n Object.entries(baseTokens.transitions.duration).forEach(([key, value]) => {\n assign(toVariableName(prefix, 'duration', key), value)\n })\n\n Object.entries(baseTokens.transitions.easing).forEach(([key, value]) => {\n assign(toVariableName(prefix, 'easing', key), value)\n })\n\n Object.entries(baseTokens.opacity).forEach(([key, value]) => {\n assign(toVariableName(prefix, 'opacity', key), value)\n })\n\n assign(toVariableName(prefix, 'focus-ring-width'), baseTokens.accessibility.focusRing.width)\n assign(toVariableName(prefix, 'focus-ring-offset'), baseTokens.accessibility.focusRing.offset)\n assign(toVariableName(prefix, 'focus-ring-style'), baseTokens.accessibility.focusRing.style)\n assign(toVariableName(prefix, 'min-touch-target'), baseTokens.accessibility.minTouchTarget)\n assign(toVariableName(prefix, 'min-text-size'), baseTokens.accessibility.minTextSize)\n\n Object.entries(baseTokens.buttons).forEach(([variant, states]) => {\n Object.entries(states).forEach(([state, value]) => {\n assign(toVariableName(prefix, 'button', variant, state), value)\n })\n })\n\n Object.entries(baseTokens.forms).forEach(([state, properties]) => {\n Object.entries(properties).forEach(([prop, value]) => {\n if (value) assign(toVariableName(prefix, 'form', state, prop), value)\n })\n })\n\n if (baseTokens.animations) {\n Object.entries(baseTokens.animations as unknown as Record<string, { duration: string; easing: string; keyframes: string }>).forEach(([name, animation]) => {\n assign(toVariableName(prefix, 'animation', name, 'duration'), animation.duration)\n assign(toVariableName(prefix, 'animation', name, 'easing'), animation.easing)\n assign(toVariableName(prefix, 'animation', name, 'keyframes'), animation.keyframes)\n })\n }\n\n return map\n}\n\nexport const generateCssVariables = (tokens: SpectreTokens, options: CssVariableOptions = {}): string => {\n const selector = options.selector ?? DEFAULT_SELECTOR\n const prefix = options.prefix ?? DEFAULT_PREFIX\n const declarations = createCssVariableMap(tokens, { ...options, prefix })\n const mapLines = Object.entries(declarations).map(([name, value]) => ` ${name}: ${value};`)\n\n const defaultMode = tokens.modes?.default ?? {}\n const darkMode = tokens.modes?.dark ?? {}\n const surfaceAliases = tokens.surface ?? {}\n const textAliases = tokens.text ?? {}\n const componentAliases = tokens.component ?? {}\n\n type SemanticEntry = {\n varParts: string[]\n modePath: string[]\n aliasSrc?: unknown\n aliasPath?: string[]\n }\n\n const semanticEntries: SemanticEntry[] = [\n { varParts: ['surface', 'page'], modePath: ['surface', 'page'], aliasSrc: surfaceAliases, aliasPath: ['page'] },\n { varParts: ['surface', 'card'], modePath: ['surface', 'card'], aliasSrc: surfaceAliases, aliasPath: ['card'] },\n { varParts: ['surface', 'input'], modePath: ['surface', 'input'], aliasSrc: surfaceAliases, aliasPath: ['input'] },\n { varParts: ['surface', 'overlay'], modePath: ['surface', 'overlay'], aliasSrc: surfaceAliases, aliasPath: ['overlay'] },\n { varParts: ['surface', 'alternate'], modePath: ['surface', 'alternate'] },\n { varParts: ['surface', 'hero'], modePath: ['surface', 'hero'], aliasSrc: surfaceAliases, aliasPath: ['hero'] },\n { varParts: ['text', 'on', 'page', 'default'], modePath: ['text', 'onPage', 'default'], aliasSrc: textAliases, aliasPath: ['onPage', 'default'] },\n { varParts: ['text', 'on', 'page', 'muted'], modePath: ['text', 'onPage', 'muted'], aliasSrc: textAliases, aliasPath: ['onPage', 'muted'] },\n { varParts: ['text', 'on', 'page', 'subtle'], modePath: ['text', 'onPage', 'subtle'], aliasSrc: textAliases, aliasPath: ['onPage', 'subtle'] },\n { varParts: ['text', 'on', 'page', 'meta'], modePath: ['text', 'onPage', 'meta'], aliasSrc: textAliases, aliasPath: ['onPage', 'meta'] },\n { varParts: ['text', 'on', 'page', 'brand'], modePath: ['text', 'onPage', 'brand'], aliasSrc: textAliases, aliasPath: ['onPage', 'brand'] },\n { varParts: ['text', 'on', 'surface', 'default'], modePath: ['text', 'onSurface', 'default'], aliasSrc: textAliases, aliasPath: ['onSurface', 'default'] },\n { varParts: ['text', 'on', 'surface', 'muted'], modePath: ['text', 'onSurface', 'muted'], aliasSrc: textAliases, aliasPath: ['onSurface', 'muted'] },\n { varParts: ['text', 'on', 'surface', 'subtle'], modePath: ['text', 'onSurface', 'subtle'], aliasSrc: textAliases, aliasPath: ['onSurface', 'subtle'] },\n { varParts: ['text', 'on', 'surface', 'meta'], modePath: ['text', 'onSurface', 'meta'], aliasSrc: textAliases, aliasPath: ['onSurface', 'meta'] },\n { varParts: ['text', 'on', 'surface', 'brand'], modePath: ['text', 'onSurface', 'brand'], aliasSrc: textAliases, aliasPath: ['onSurface', 'brand'] },\n { varParts: ['component', 'card', 'text'], modePath: ['component', 'card', 'text'], aliasSrc: componentAliases, aliasPath: ['card', 'text'] },\n { varParts: ['component', 'card', 'text-muted'], modePath: ['component', 'card', 'textMuted'], aliasSrc: componentAliases, aliasPath: ['card', 'textMuted'] },\n { varParts: ['component', 'input', 'text'], modePath: ['component', 'input', 'text'], aliasSrc: componentAliases, aliasPath: ['input', 'text'] },\n { varParts: ['component', 'input', 'placeholder'], modePath: ['component', 'input', 'placeholder'], aliasSrc: componentAliases, aliasPath: ['input', 'placeholder'] },\n { varParts: ['button', 'text', 'default'], modePath: ['component', 'button', 'textDefault'], aliasSrc: componentAliases, aliasPath: ['button', 'textDefault'] },\n { varParts: ['button', 'text', 'on', 'primary'], modePath: ['component', 'button', 'textOnPrimary'], aliasSrc: componentAliases, aliasPath: ['button', 'textOnPrimary'] },\n ...BADGE_VARIANTS.flatMap(({ variant, bgKey, textKey }) => [\n { varParts: ['badge', variant, 'bg'], modePath: ['component', 'badge', bgKey], aliasSrc: componentAliases, aliasPath: ['badge', bgKey] },\n { varParts: ['badge', variant, 'text'], modePath: ['component', 'badge', textKey], aliasSrc: componentAliases, aliasPath: ['badge', textKey] },\n ]),\n ...ICON_BOX_FIELDS.map(({ name, tokenKey }) => ({\n varParts: ['icon-box', name], modePath: ['component', 'iconBox', tokenKey], aliasSrc: componentAliases, aliasPath: ['iconBox', tokenKey],\n })),\n ]\n\n const baseLines: string[] = []\n const darkLines: string[] = []\n const addBase = (name: string, value?: string) => { if (value !== undefined) baseLines.push(` ${name}: ${value};`) }\n const addDark = (name: string, value?: string) => { if (value !== undefined) darkLines.push(` ${name}: ${value};`) }\n\n semanticEntries.forEach(({ varParts, modePath, aliasSrc, aliasPath }) => {\n const varName = toVariableName(prefix, ...varParts)\n const aliasCandidate = aliasSrc && aliasPath ? [getPath(aliasSrc, aliasPath)] : []\n addBase(varName, pickSemantic(tokens, getPath(defaultMode, modePath), ...aliasCandidate))\n addDark(varName, pickSemantic(tokens, getPath(darkMode, modePath), getPath(defaultMode, modePath), ...aliasCandidate))\n })\n\n const rootBlock = `${selector} {\\n${[...baseLines, ...mapLines].join('\\n')}\\n}`\n const darkBlock = `${selector}[data-spectre-theme=\"dark\"] {\\n${darkLines.join('\\n')}\\n}`\n\n return `${rootBlock}\\n${darkBlock}\\n`\n}\n","import { coreTokens } from './generated/tokens';\n\nimport { generateCssVariables } from './css';\nimport type { SpectreTokens, TailwindTheme, Tokens } from './types';\n\nexport type {\n AccessibilityTokens,\n AnimationEntry,\n ButtonStateTokens,\n ColorScale,\n ComponentBadgeTokens,\n ComponentIconBoxTokens,\n ComponentPricingCardTokens,\n ComponentRatingTokens,\n ComponentTestimonialTokens,\n ComponentTokens,\n FormStateTokens,\n LayoutTokens,\n SpectreModeName,\n SpectreModeTokens,\n SpectreTokens,\n TailwindTheme,\n TokenScale,\n Tokens,\n TransitionTokens,\n TypographyTokens\n} from './types';\n\nconst tokens: SpectreTokens = coreTokens;\n\nconst sanitizeFontFamily = (value: string): string[] =>\n value\n .split(',')\n .map((segment) => segment.trim().replace(/^['\"]|['\"]$/g, ''))\n .filter(Boolean);\n\nconst createTailwindTheme = (source: Tokens = tokens): TailwindTheme => {\n const colors: TailwindTheme['colors'] = {};\n Object.entries(source.colors).forEach(([group, value]) => {\n if (typeof value === 'object' && value !== null) {\n colors[group] = { ...value } as Record<string, string>;\n } else {\n colors[group] = value as string;\n }\n });\n\n const fontFamily = Object.entries(source.typography.families).reduce<Record<string, string[]>>((acc, [key, value]) => {\n acc[key] = sanitizeFontFamily(value);\n return acc;\n }, {});\n\n const fontSize = Object.entries(source.typography.scale).reduce<TailwindTheme['fontSize']>((acc, [key, entry]) => {\n acc[key] = [\n entry.fontSize,\n {\n lineHeight: entry.lineHeight,\n ...(entry.fontWeight ? { fontWeight: entry.fontWeight } : {}),\n ...('letterSpacing' in entry ? { letterSpacing: entry.letterSpacing } : {})\n }\n ];\n return acc;\n }, {});\n\n return {\n colors,\n spacing: { ...(source.space ?? {}) },\n borderRadius: { ...(source.radii ?? {}) },\n fontFamily,\n fontSize,\n boxShadow: { ...source.shadows },\n screens: { ...source.breakpoints },\n zIndex: { ...source.zIndex },\n transitionDuration: { ...source.transitions.duration },\n transitionTimingFunction: { ...source.transitions.easing },\n opacity: { ...source.opacity },\n maxWidth: {\n container: source.layout?.container?.maxWidth\n },\n borderWidth: {\n DEFAULT: source.border?.width.base,\n ...(source.border?.width ?? {})\n }\n };\n}\n\nexport const tailwindTheme = createTailwindTheme(tokens);\nexport const tailwindPreset = {\n theme: tailwindTheme\n};\n\nexport { generateCssVariables, tokens };\nexport default tokens;\n"],"mappings":"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","names":["tokens"]}
|
|
1
|
+
{"version":3,"sources":["../src/generated/tokens.ts","../src/css.ts","../src/index.ts"],"sourcesContent":["// This file is auto-generated. Do not edit directly.\n// Source: tokens/*.json\n\nexport interface SpectreSourceTokens {\n component: {\n card: {\n text: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n textMuted: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n };\n input: {\n text: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n placeholder: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n };\n button: {\n textDefault: {\n value: string;\n };\n textOnPrimary: {\n value: string;\n };\n };\n badge: {\n neutralBg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n neutralBgHover: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n neutralText: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n infoBg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n infoBgHover: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n infoText: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n successBg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n successBgHover: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n successText: {\n value: string;\n };\n warningBg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n warningBgHover: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n warningText: {\n value: string;\n };\n dangerBg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n dangerBgHover: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n dangerText: {\n value: string;\n };\n };\n iconBox: {\n bg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n border: {\n value: string;\n };\n iconDefault: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n iconSuccess: {\n value: string;\n };\n iconWarning: {\n value: string;\n };\n iconDanger: {\n value: string;\n };\n };\n testimonial: {\n bg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n bgHover: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n border: {\n value: string;\n };\n text: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n authorName: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n authorTitle: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n quoteMark: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n };\n pricingCard: {\n bg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n bgHover: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n border: {\n value: string;\n metadata: {\n };\n };\n featuredBg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n featuredText: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n featuredBadgeBg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n featuredBadgeText: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n price: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n priceDescription: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n };\n rating: {\n starFilled: {\n value: string;\n };\n starEmpty: {\n value: string;\n };\n text: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n };\n };\n buttons: {\n primary: {\n bg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n bgHover: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n bgActive: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n bgDisabled: {\n value: string;\n };\n text: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n textDisabled: {\n value: string;\n };\n focusRing: {\n value: string;\n };\n focusVisible: {\n value: string;\n };\n };\n secondary: {\n bg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n bgHover: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n bgActive: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n bgDisabled: {\n value: string;\n };\n text: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n textDisabled: {\n value: string;\n };\n border: {\n value: string;\n };\n borderDisabled: {\n value: string;\n };\n focusRing: {\n value: string;\n };\n focusVisible: {\n value: string;\n };\n };\n ghost: {\n bg: {\n value: string;\n };\n bgHover: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n bgActive: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n bgDisabled: {\n value: string;\n };\n text: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n textDisabled: {\n value: string;\n };\n focusRing: {\n value: string;\n };\n focusVisible: {\n value: string;\n };\n };\n danger: {\n bg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n bgHover: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n bgActive: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n bgDisabled: {\n value: string;\n };\n text: {\n value: string;\n };\n textDisabled: {\n value: string;\n };\n focusRing: {\n value: string;\n };\n };\n success: {\n bg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n bgHover: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n bgActive: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n bgDisabled: {\n value: string;\n };\n text: {\n value: string;\n };\n textDisabled: {\n value: string;\n };\n focusRing: {\n value: string;\n };\n };\n cta: {\n bg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n bgHover: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n bgActive: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n bgDisabled: {\n value: string;\n };\n text: {\n value: string;\n };\n textDisabled: {\n value: string;\n };\n shadow: {\n value: string;\n };\n focusRing: {\n value: string;\n };\n };\n accent: {\n bg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n bgHover: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n bgActive: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n bgDisabled: {\n value: string;\n };\n text: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n textDisabled: {\n value: string;\n };\n focusRing: {\n value: string;\n };\n focusVisible: {\n value: string;\n };\n };\n };\n forms: {\n default: {\n bg: {\n value: string;\n };\n border: {\n value: string;\n };\n text: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n placeholder: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n };\n hover: {\n border: {\n value: string;\n };\n };\n focus: {\n border: {\n value: string;\n };\n ring: {\n value: string;\n };\n };\n focusVisible: {\n border: {\n value: string;\n };\n ring: {\n value: string;\n };\n };\n valid: {\n border: {\n value: string;\n };\n bg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n text: {\n value: string;\n };\n };\n invalid: {\n border: {\n value: string;\n };\n bg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n text: {\n value: string;\n };\n };\n disabled: {\n bg: {\n value: string;\n };\n border: {\n value: string;\n };\n text: {\n value: string;\n };\n };\n };\n modes: {\n default: {\n surface: {\n page: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n card: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n input: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n overlay: {\n value: string;\n };\n alternate: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n hero: {\n value: string;\n };\n };\n text: {\n onPage: {\n default: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n muted: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n subtle: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n meta: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n brand: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n };\n onSurface: {\n default: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n muted: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n subtle: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n meta: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n brand: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n };\n };\n component: {\n card: {\n text: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n textMuted: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n };\n input: {\n text: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n placeholder: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n };\n button: {\n textDefault: {\n value: string;\n };\n textOnPrimary: {\n value: string;\n };\n };\n badge: {\n neutralBg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n neutralBgHover: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n neutralText: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n infoBg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n infoBgHover: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n infoText: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n successBg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n successText: {\n value: string;\n metadata: {\n };\n };\n warningBg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n warningText: {\n value: string;\n metadata: {\n };\n };\n dangerBg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n dangerText: {\n value: string;\n metadata: {\n };\n };\n };\n iconBox: {\n bg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n border: {\n value: string;\n metadata: {\n };\n };\n iconDefault: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n iconSuccess: {\n value: string;\n metadata: {\n };\n };\n iconWarning: {\n value: string;\n metadata: {\n };\n };\n iconDanger: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n };\n testimonial: {\n bg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n bgHover: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n border: {\n value: string;\n metadata: {\n };\n };\n text: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n authorName: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n authorTitle: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n quoteMark: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n };\n pricingCard: {\n bg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n bgHover: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n border: {\n value: string;\n metadata: {\n };\n };\n featuredBg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n featuredText: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n featuredBadgeBg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n featuredBadgeText: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n price: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n priceDescription: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n };\n rating: {\n starFilled: {\n value: string;\n metadata: {\n };\n };\n starEmpty: {\n value: string;\n metadata: {\n };\n };\n text: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n };\n };\n };\n dark: {\n surface: {\n page: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n card: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n input: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n overlay: {\n value: string;\n };\n alternate: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n hero: {\n value: string;\n };\n };\n text: {\n onPage: {\n default: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n muted: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n subtle: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n meta: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n brand: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n };\n onSurface: {\n default: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n muted: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n subtle: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n meta: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n brand: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n };\n };\n component: {\n card: {\n text: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n textMuted: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n };\n input: {\n text: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n placeholder: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n };\n button: {\n textDefault: {\n value: string;\n };\n textOnPrimary: {\n value: string;\n };\n };\n badge: {\n neutralBg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n neutralBgHover: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n neutralText: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n infoBg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n infoBgHover: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n infoText: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n successBg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n successBgHover: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n successText: {\n value: string;\n metadata: {\n };\n };\n warningBg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n warningBgHover: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n warningText: {\n value: string;\n metadata: {\n };\n };\n dangerBg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n dangerBgHover: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n dangerText: {\n value: string;\n metadata: {\n };\n };\n };\n iconBox: {\n bg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n border: {\n value: string;\n metadata: {\n };\n };\n iconDefault: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n iconSuccess: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n iconWarning: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n iconDanger: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n };\n testimonial: {\n bg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n bgHover: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n border: {\n value: string;\n metadata: {\n };\n };\n text: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n authorName: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n authorTitle: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n quoteMark: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n };\n pricingCard: {\n bg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n bgHover: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n border: {\n value: string;\n metadata: {\n };\n };\n featuredBg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n featuredText: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n featuredBadgeBg: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n featuredBadgeText: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n price: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n priceDescription: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n };\n rating: {\n starFilled: {\n value: string;\n metadata: {\n };\n };\n starEmpty: {\n value: string;\n metadata: {\n };\n };\n text: {\n value: string;\n metadata: {\n pair: string;\n };\n };\n };\n };\n };\n };\n colors: {\n brand: {\n '50': string;\n '100': string;\n '200': string;\n '300': string;\n '400': string;\n '500': string;\n '600': string;\n '700': string;\n '800': string;\n '900': string;\n };\n neutral: {\n '50': string;\n '100': string;\n '200': string;\n '300': string;\n '400': string;\n '500': string;\n '600': string;\n '700': string;\n '800': string;\n '900': string;\n };\n accent: {\n '50': string;\n '100': string;\n '200': string;\n '300': string;\n '400': string;\n '500': string;\n '600': string;\n '700': string;\n '800': string;\n '900': string;\n };\n success: {\n '50': string;\n '100': string;\n '200': string;\n '300': string;\n '400': string;\n '500': string;\n '600': string;\n '700': string;\n '800': string;\n '900': string;\n };\n warning: {\n '50': string;\n '100': string;\n '200': string;\n '300': string;\n '400': string;\n '500': string;\n '600': string;\n '700': string;\n '800': string;\n '900': string;\n };\n error: {\n '50': string;\n '100': string;\n '200': string;\n '300': string;\n '400': string;\n '500': string;\n '600': string;\n '700': string;\n '800': string;\n '900': string;\n };\n info: {\n '50': string;\n '100': string;\n '200': string;\n '300': string;\n '400': string;\n '500': string;\n '600': string;\n '700': string;\n '800': string;\n '900': string;\n };\n indigo: {\n '500': string;\n '600': string;\n };\n violet: {\n '600': string;\n };\n focus: {\n primary: string;\n error: string;\n info: string;\n };\n white: string;\n black: string;\n };\n space: {\n '0': string;\n '4': string;\n '8': string;\n '12': string;\n '16': string;\n '20': string;\n '24': string;\n '32': string;\n '40': string;\n '48': string;\n '56': string;\n '64': string;\n '80': string;\n '96': string;\n };\n radii: {\n none: string;\n sm: string;\n md: string;\n lg: string;\n xl: string;\n '2xl': string;\n pill: string;\n };\n shadows: {\n none: string;\n sm: string;\n md: string;\n lg: string;\n xl: string;\n '2xl': string;\n };\n breakpoints: {\n sm: string;\n md: string;\n lg: string;\n xl: string;\n '2xl': string;\n };\n zIndex: {\n base: string;\n dropdown: string;\n sticky: string;\n fixed: string;\n overlay: string;\n modal: string;\n popover: string;\n tooltip: string;\n toast: string;\n };\n transitions: {\n duration: {\n instant: string;\n fast: string;\n base: string;\n relaxed: string;\n moderate: string;\n slow: string;\n slower: string;\n long: string;\n slowest: string;\n };\n easing: {\n linear: string;\n in: string;\n out: string;\n inOut: string;\n spring: string;\n overshoot: string;\n };\n };\n animations: {\n fadeIn: {\n duration: string;\n easing: string;\n keyframes: string;\n };\n fadeOut: {\n duration: string;\n easing: string;\n keyframes: string;\n };\n slideUp: {\n duration: string;\n easing: string;\n keyframes: string;\n };\n slideDown: {\n duration: string;\n easing: string;\n keyframes: string;\n };\n scaleIn: {\n duration: string;\n easing: string;\n keyframes: string;\n };\n bounce: {\n duration: string;\n easing: string;\n keyframes: string;\n };\n shake: {\n duration: string;\n easing: string;\n keyframes: string;\n };\n pulse: {\n duration: string;\n easing: string;\n keyframes: string;\n };\n };\n opacity: {\n disabled: string;\n hover: string;\n active: string;\n loading: string;\n focus: string;\n overlay: string;\n tooltip: string;\n };\n aspectRatios: {\n square: string;\n video: string;\n classic: string;\n portrait: string;\n landscape: string;\n ultrawide: string;\n hero: string;\n };\n icons: {\n xs: string;\n sm: string;\n md: string;\n lg: string;\n xl: string;\n '2xl': string;\n '3xl': string;\n };\n accessibility: {\n focusRing: {\n width: string;\n offset: string;\n style: string;\n };\n minTouchTarget: string;\n minTextSize: string;\n };\n border: {\n width: {\n base: string;\n thick: string;\n };\n style: {\n none: string;\n solid: string;\n };\n };\n surface: {\n page: {\n value: string;\n description: string;\n metadata: {\n pair: string;\n };\n };\n card: {\n value: string;\n description: string;\n metadata: {\n pair: string;\n };\n };\n input: {\n value: string;\n description: string;\n metadata: {\n pair: string;\n };\n };\n overlay: {\n value: string;\n description: string;\n };\n };\n text: {\n onPage: {\n default: {\n value: string;\n description: string;\n metadata: {\n pair: string;\n };\n };\n muted: {\n value: string;\n description: string;\n metadata: {\n pair: string;\n };\n };\n subtle: {\n value: string;\n description: string;\n metadata: {\n pair: string;\n };\n };\n meta: {\n value: string;\n description: string;\n metadata: {\n pair: string;\n };\n };\n brand: string;\n };\n onSurface: {\n default: {\n value: string;\n description: string;\n metadata: {\n pair: string;\n };\n };\n muted: {\n value: string;\n description: string;\n metadata: {\n pair: string;\n };\n };\n subtle: {\n value: string;\n description: string;\n metadata: {\n pair: string;\n };\n };\n meta: {\n value: string;\n description: string;\n metadata: {\n pair: string;\n };\n };\n brand: string;\n };\n };\n layout: {\n section: {\n padding: {\n sm: string;\n md: string;\n lg: string;\n };\n gap: {\n sm: string;\n md: string;\n lg: string;\n };\n };\n stack: {\n gap: {\n sm: string;\n md: string;\n lg: string;\n };\n };\n container: {\n paddingInline: {\n sm: string;\n md: string;\n lg: string;\n };\n maxWidth: string;\n };\n };\n font: {\n xs: {\n size: string;\n lineHeight: string;\n weight: number;\n letterSpacing: string;\n };\n sm: {\n size: string;\n lineHeight: string;\n weight: number;\n letterSpacing: string;\n };\n md: {\n size: string;\n lineHeight: string;\n weight: number;\n letterSpacing: string;\n };\n lg: {\n size: string;\n lineHeight: string;\n weight: number;\n letterSpacing: string;\n };\n xl: {\n size: string;\n lineHeight: string;\n weight: number;\n letterSpacing: string;\n };\n '2xl': {\n size: string;\n lineHeight: string;\n weight: number;\n letterSpacing: string;\n };\n '3xl': {\n size: string;\n lineHeight: string;\n weight: number;\n letterSpacing: string;\n };\n '4xl': {\n size: string;\n lineHeight: string;\n weight: number;\n letterSpacing: string;\n };\n '5xl': {\n size: string;\n lineHeight: string;\n weight: number;\n letterSpacing: string;\n };\n '6xl': {\n size: string;\n lineHeight: string;\n weight: number;\n letterSpacing: string;\n };\n };\n typography: {\n families: {\n sans: string;\n serif: string;\n mono: string;\n };\n scale: {\n xs: {\n fontSize: string;\n lineHeight: string;\n fontWeight: number;\n letterSpacing: string;\n };\n sm: {\n fontSize: string;\n lineHeight: string;\n fontWeight: number;\n letterSpacing: string;\n };\n md: {\n fontSize: string;\n lineHeight: string;\n fontWeight: number;\n letterSpacing: string;\n };\n lg: {\n fontSize: string;\n lineHeight: string;\n fontWeight: number;\n letterSpacing: string;\n };\n xl: {\n fontSize: string;\n lineHeight: string;\n fontWeight: number;\n letterSpacing: string;\n };\n '2xl': {\n fontSize: string;\n lineHeight: string;\n fontWeight: number;\n letterSpacing: string;\n };\n '3xl': {\n fontSize: string;\n lineHeight: string;\n fontWeight: number;\n letterSpacing: string;\n };\n '4xl': {\n fontSize: string;\n lineHeight: string;\n fontWeight: number;\n letterSpacing: string;\n };\n '5xl': {\n fontSize: string;\n lineHeight: string;\n fontWeight: number;\n letterSpacing: string;\n };\n '6xl': {\n fontSize: string;\n lineHeight: string;\n fontWeight: number;\n letterSpacing: string;\n };\n };\n };\n}\n\nexport interface SpectreGeneratedTokens {\n component: {\n card: {\n text: string;\n textMuted: string;\n };\n input: {\n text: string;\n placeholder: string;\n };\n button: {\n textDefault: string;\n textOnPrimary: string;\n };\n badge: {\n neutralBg: string;\n neutralBgHover: string;\n neutralText: string;\n infoBg: string;\n infoBgHover: string;\n infoText: string;\n successBg: string;\n successBgHover: string;\n successText: string;\n warningBg: string;\n warningBgHover: string;\n warningText: string;\n dangerBg: string;\n dangerBgHover: string;\n dangerText: string;\n };\n iconBox: {\n bg: string;\n border: string;\n iconDefault: string;\n iconSuccess: string;\n iconWarning: string;\n iconDanger: string;\n };\n testimonial: {\n bg: string;\n bgHover: string;\n border: string;\n text: string;\n authorName: string;\n authorTitle: string;\n quoteMark: string;\n };\n pricingCard: {\n bg: string;\n bgHover: string;\n border: string;\n featuredBg: string;\n featuredText: string;\n featuredBadgeBg: string;\n featuredBadgeText: string;\n price: string;\n priceDescription: string;\n };\n rating: {\n starFilled: string;\n starEmpty: string;\n text: string;\n };\n };\n buttons: {\n primary: {\n bg: string;\n bgHover: string;\n bgActive: string;\n bgDisabled: string;\n text: string;\n textDisabled: string;\n focusRing: string;\n focusVisible: string;\n };\n secondary: {\n bg: string;\n bgHover: string;\n bgActive: string;\n bgDisabled: string;\n text: string;\n textDisabled: string;\n border: string;\n borderDisabled: string;\n focusRing: string;\n focusVisible: string;\n };\n ghost: {\n bg: string;\n bgHover: string;\n bgActive: string;\n bgDisabled: string;\n text: string;\n textDisabled: string;\n focusRing: string;\n focusVisible: string;\n };\n danger: {\n bg: string;\n bgHover: string;\n bgActive: string;\n bgDisabled: string;\n text: string;\n textDisabled: string;\n focusRing: string;\n };\n success: {\n bg: string;\n bgHover: string;\n bgActive: string;\n bgDisabled: string;\n text: string;\n textDisabled: string;\n focusRing: string;\n };\n cta: {\n bg: string;\n bgHover: string;\n bgActive: string;\n bgDisabled: string;\n text: string;\n textDisabled: string;\n shadow: string;\n focusRing: string;\n };\n accent: {\n bg: string;\n bgHover: string;\n bgActive: string;\n bgDisabled: string;\n text: string;\n textDisabled: string;\n focusRing: string;\n focusVisible: string;\n };\n };\n forms: {\n default: {\n bg: string;\n border: string;\n text: string;\n placeholder: string;\n };\n hover: {\n border: string;\n };\n focus: {\n border: string;\n ring: string;\n };\n focusVisible: {\n border: string;\n ring: string;\n };\n valid: {\n border: string;\n bg: string;\n text: string;\n };\n invalid: {\n border: string;\n bg: string;\n text: string;\n };\n disabled: {\n bg: string;\n border: string;\n text: string;\n };\n };\n modes: {\n default: {\n surface: {\n page: string;\n card: string;\n input: string;\n overlay: string;\n alternate: string;\n hero: string;\n };\n text: {\n onPage: {\n default: string;\n muted: string;\n subtle: string;\n meta: string;\n brand: string;\n };\n onSurface: {\n default: string;\n muted: string;\n subtle: string;\n meta: string;\n brand: string;\n };\n };\n component: {\n card: {\n text: string;\n textMuted: string;\n };\n input: {\n text: string;\n placeholder: string;\n };\n button: {\n textDefault: string;\n textOnPrimary: string;\n };\n badge: {\n neutralBg: string;\n neutralBgHover: string;\n neutralText: string;\n infoBg: string;\n infoBgHover: string;\n infoText: string;\n successBg: string;\n successText: string;\n warningBg: string;\n warningText: string;\n dangerBg: string;\n dangerText: string;\n };\n iconBox: {\n bg: string;\n border: string;\n iconDefault: string;\n iconSuccess: string;\n iconWarning: string;\n iconDanger: string;\n };\n testimonial: {\n bg: string;\n bgHover: string;\n border: string;\n text: string;\n authorName: string;\n authorTitle: string;\n quoteMark: string;\n };\n pricingCard: {\n bg: string;\n bgHover: string;\n border: string;\n featuredBg: string;\n featuredText: string;\n featuredBadgeBg: string;\n featuredBadgeText: string;\n price: string;\n priceDescription: string;\n };\n rating: {\n starFilled: string;\n starEmpty: string;\n text: string;\n };\n };\n };\n dark: {\n surface: {\n page: string;\n card: string;\n input: string;\n overlay: string;\n alternate: string;\n hero: string;\n };\n text: {\n onPage: {\n default: string;\n muted: string;\n subtle: string;\n meta: string;\n brand: string;\n };\n onSurface: {\n default: string;\n muted: string;\n subtle: string;\n meta: string;\n brand: string;\n };\n };\n component: {\n card: {\n text: string;\n textMuted: string;\n };\n input: {\n text: string;\n placeholder: string;\n };\n button: {\n textDefault: string;\n textOnPrimary: string;\n };\n badge: {\n neutralBg: string;\n neutralBgHover: string;\n neutralText: string;\n infoBg: string;\n infoBgHover: string;\n infoText: string;\n successBg: string;\n successBgHover: string;\n successText: string;\n warningBg: string;\n warningBgHover: string;\n warningText: string;\n dangerBg: string;\n dangerBgHover: string;\n dangerText: string;\n };\n iconBox: {\n bg: string;\n border: string;\n iconDefault: string;\n iconSuccess: string;\n iconWarning: string;\n iconDanger: string;\n };\n testimonial: {\n bg: string;\n bgHover: string;\n border: string;\n text: string;\n authorName: string;\n authorTitle: string;\n quoteMark: string;\n };\n pricingCard: {\n bg: string;\n bgHover: string;\n border: string;\n featuredBg: string;\n featuredText: string;\n featuredBadgeBg: string;\n featuredBadgeText: string;\n price: string;\n priceDescription: string;\n };\n rating: {\n starFilled: string;\n starEmpty: string;\n text: string;\n };\n };\n };\n };\n colors: {\n brand: {\n '50': string;\n '100': string;\n '200': string;\n '300': string;\n '400': string;\n '500': string;\n '600': string;\n '700': string;\n '800': string;\n '900': string;\n };\n neutral: {\n '50': string;\n '100': string;\n '200': string;\n '300': string;\n '400': string;\n '500': string;\n '600': string;\n '700': string;\n '800': string;\n '900': string;\n };\n accent: {\n '50': string;\n '100': string;\n '200': string;\n '300': string;\n '400': string;\n '500': string;\n '600': string;\n '700': string;\n '800': string;\n '900': string;\n };\n success: {\n '50': string;\n '100': string;\n '200': string;\n '300': string;\n '400': string;\n '500': string;\n '600': string;\n '700': string;\n '800': string;\n '900': string;\n };\n warning: {\n '50': string;\n '100': string;\n '200': string;\n '300': string;\n '400': string;\n '500': string;\n '600': string;\n '700': string;\n '800': string;\n '900': string;\n };\n error: {\n '50': string;\n '100': string;\n '200': string;\n '300': string;\n '400': string;\n '500': string;\n '600': string;\n '700': string;\n '800': string;\n '900': string;\n };\n info: {\n '50': string;\n '100': string;\n '200': string;\n '300': string;\n '400': string;\n '500': string;\n '600': string;\n '700': string;\n '800': string;\n '900': string;\n };\n indigo: {\n '500': string;\n '600': string;\n };\n violet: {\n '600': string;\n };\n focus: {\n primary: string;\n error: string;\n info: string;\n };\n white: string;\n black: string;\n };\n space: {\n '0': string;\n '4': string;\n '8': string;\n '12': string;\n '16': string;\n '20': string;\n '24': string;\n '32': string;\n '40': string;\n '48': string;\n '56': string;\n '64': string;\n '80': string;\n '96': string;\n };\n radii: {\n none: string;\n sm: string;\n md: string;\n lg: string;\n xl: string;\n '2xl': string;\n pill: string;\n };\n shadows: {\n none: string;\n sm: string;\n md: string;\n lg: string;\n xl: string;\n '2xl': string;\n };\n breakpoints: {\n sm: string;\n md: string;\n lg: string;\n xl: string;\n '2xl': string;\n };\n zIndex: {\n base: string;\n dropdown: string;\n sticky: string;\n fixed: string;\n overlay: string;\n modal: string;\n popover: string;\n tooltip: string;\n toast: string;\n };\n transitions: {\n duration: {\n instant: string;\n fast: string;\n base: string;\n relaxed: string;\n moderate: string;\n slow: string;\n slower: string;\n long: string;\n slowest: string;\n };\n easing: {\n linear: string;\n in: string;\n out: string;\n inOut: string;\n spring: string;\n overshoot: string;\n };\n };\n animations: {\n fadeIn: {\n duration: string;\n easing: string;\n keyframes: string;\n };\n fadeOut: {\n duration: string;\n easing: string;\n keyframes: string;\n };\n slideUp: {\n duration: string;\n easing: string;\n keyframes: string;\n };\n slideDown: {\n duration: string;\n easing: string;\n keyframes: string;\n };\n scaleIn: {\n duration: string;\n easing: string;\n keyframes: string;\n };\n bounce: {\n duration: string;\n easing: string;\n keyframes: string;\n };\n shake: {\n duration: string;\n easing: string;\n keyframes: string;\n };\n pulse: {\n duration: string;\n easing: string;\n keyframes: string;\n };\n };\n opacity: {\n disabled: string;\n hover: string;\n active: string;\n loading: string;\n focus: string;\n overlay: string;\n tooltip: string;\n };\n aspectRatios: {\n square: string;\n video: string;\n classic: string;\n portrait: string;\n landscape: string;\n ultrawide: string;\n hero: string;\n };\n icons: {\n xs: string;\n sm: string;\n md: string;\n lg: string;\n xl: string;\n '2xl': string;\n '3xl': string;\n };\n accessibility: {\n focusRing: {\n width: string;\n offset: string;\n style: string;\n };\n minTouchTarget: string;\n minTextSize: string;\n };\n border: {\n width: {\n base: string;\n thick: string;\n };\n style: {\n none: string;\n solid: string;\n };\n };\n surface: {\n page: string;\n card: string;\n input: string;\n overlay: string;\n };\n text: {\n onPage: {\n default: string;\n muted: string;\n subtle: string;\n meta: string;\n brand: string;\n };\n onSurface: {\n default: string;\n muted: string;\n subtle: string;\n meta: string;\n brand: string;\n };\n };\n layout: {\n section: {\n padding: {\n sm: string;\n md: string;\n lg: string;\n };\n gap: {\n sm: string;\n md: string;\n lg: string;\n };\n };\n stack: {\n gap: {\n sm: string;\n md: string;\n lg: string;\n };\n };\n container: {\n paddingInline: {\n sm: string;\n md: string;\n lg: string;\n };\n maxWidth: string;\n };\n };\n font: {\n xs: {\n size: string;\n lineHeight: string;\n weight: number;\n letterSpacing: string;\n };\n sm: {\n size: string;\n lineHeight: string;\n weight: number;\n letterSpacing: string;\n };\n md: {\n size: string;\n lineHeight: string;\n weight: number;\n letterSpacing: string;\n };\n lg: {\n size: string;\n lineHeight: string;\n weight: number;\n letterSpacing: string;\n };\n xl: {\n size: string;\n lineHeight: string;\n weight: number;\n letterSpacing: string;\n };\n '2xl': {\n size: string;\n lineHeight: string;\n weight: number;\n letterSpacing: string;\n };\n '3xl': {\n size: string;\n lineHeight: string;\n weight: number;\n letterSpacing: string;\n };\n '4xl': {\n size: string;\n lineHeight: string;\n weight: number;\n letterSpacing: string;\n };\n '5xl': {\n size: string;\n lineHeight: string;\n weight: number;\n letterSpacing: string;\n };\n '6xl': {\n size: string;\n lineHeight: string;\n weight: number;\n letterSpacing: string;\n };\n };\n typography: {\n families: {\n sans: string;\n serif: string;\n mono: string;\n };\n scale: {\n xs: {\n fontSize: string;\n lineHeight: string;\n fontWeight: number;\n letterSpacing: string;\n };\n sm: {\n fontSize: string;\n lineHeight: string;\n fontWeight: number;\n letterSpacing: string;\n };\n md: {\n fontSize: string;\n lineHeight: string;\n fontWeight: number;\n letterSpacing: string;\n };\n lg: {\n fontSize: string;\n lineHeight: string;\n fontWeight: number;\n letterSpacing: string;\n };\n xl: {\n fontSize: string;\n lineHeight: string;\n fontWeight: number;\n letterSpacing: string;\n };\n '2xl': {\n fontSize: string;\n lineHeight: string;\n fontWeight: number;\n letterSpacing: string;\n };\n '3xl': {\n fontSize: string;\n lineHeight: string;\n fontWeight: number;\n letterSpacing: string;\n };\n '4xl': {\n fontSize: string;\n lineHeight: string;\n fontWeight: number;\n letterSpacing: string;\n };\n '5xl': {\n fontSize: string;\n lineHeight: string;\n fontWeight: number;\n letterSpacing: string;\n };\n '6xl': {\n fontSize: string;\n lineHeight: string;\n fontWeight: number;\n letterSpacing: string;\n };\n };\n };\n}\n\nexport const coreTokens: SpectreGeneratedTokens = {\n \"component\": {\n \"card\": {\n \"text\": \"{colors.neutral.900}\",\n \"textMuted\": \"{colors.neutral.600}\"\n },\n \"input\": {\n \"text\": \"{colors.neutral.900}\",\n \"placeholder\": \"{colors.neutral.500}\"\n },\n \"button\": {\n \"textDefault\": \"{colors.neutral.900}\",\n \"textOnPrimary\": \"{colors.white}\"\n },\n \"badge\": {\n \"neutralBg\": \"{colors.neutral.100}\",\n \"neutralBgHover\": \"{colors.neutral.200}\",\n \"neutralText\": \"{colors.neutral.700}\",\n \"infoBg\": \"{colors.info.100}\",\n \"infoBgHover\": \"{colors.info.200}\",\n \"infoText\": \"{colors.info.700}\",\n \"successBg\": \"{colors.success.100}\",\n \"successBgHover\": \"{colors.success.200}\",\n \"successText\": \"{colors.success.800}\",\n \"warningBg\": \"{colors.warning.100}\",\n \"warningBgHover\": \"{colors.warning.200}\",\n \"warningText\": \"{colors.warning.800}\",\n \"dangerBg\": \"{colors.error.100}\",\n \"dangerBgHover\": \"{colors.error.200}\",\n \"dangerText\": \"{colors.error.800}\"\n },\n \"iconBox\": {\n \"bg\": \"{colors.white}\",\n \"border\": \"{colors.neutral.200}\",\n \"iconDefault\": \"{colors.info.600}\",\n \"iconSuccess\": \"{colors.success.600}\",\n \"iconWarning\": \"{colors.warning.600}\",\n \"iconDanger\": \"{colors.error.600}\"\n },\n \"testimonial\": {\n \"bg\": \"{colors.white}\",\n \"bgHover\": \"{colors.neutral.50}\",\n \"border\": \"{colors.neutral.200}\",\n \"text\": \"{colors.neutral.700}\",\n \"authorName\": \"{colors.neutral.900}\",\n \"authorTitle\": \"{colors.neutral.600}\",\n \"quoteMark\": \"{colors.neutral.600}\"\n },\n \"pricingCard\": {\n \"bg\": \"{colors.white}\",\n \"bgHover\": \"{colors.neutral.50}\",\n \"border\": \"{colors.neutral.200}\",\n \"featuredBg\": \"{colors.info.600}\",\n \"featuredText\": \"{colors.white}\",\n \"featuredBadgeBg\": \"{colors.warning.500}\",\n \"featuredBadgeText\": \"{colors.neutral.900}\",\n \"price\": \"{colors.neutral.900}\",\n \"priceDescription\": \"{colors.neutral.600}\"\n },\n \"rating\": {\n \"starFilled\": \"{colors.warning.500}\",\n \"starEmpty\": \"{colors.neutral.200}\",\n \"text\": \"{colors.neutral.500}\"\n }\n },\n \"buttons\": {\n \"primary\": {\n \"bg\": \"{colors.info.600}\",\n \"bgHover\": \"{colors.info.700}\",\n \"bgActive\": \"{colors.info.800}\",\n \"bgDisabled\": \"{colors.neutral.200}\",\n \"text\": \"{colors.white}\",\n \"textDisabled\": \"{colors.neutral.400}\",\n \"focusRing\": \"{colors.info.500} / 0.4\",\n \"focusVisible\": \"{colors.info.500} / 0.4\"\n },\n \"secondary\": {\n \"bg\": \"{colors.white}\",\n \"bgHover\": \"{colors.neutral.50}\",\n \"bgActive\": \"{colors.neutral.100}\",\n \"bgDisabled\": \"{colors.neutral.50}\",\n \"text\": \"{colors.info.700}\",\n \"textDisabled\": \"{colors.neutral.400}\",\n \"border\": \"{colors.info.700}\",\n \"borderDisabled\": \"{colors.neutral.200}\",\n \"focusRing\": \"{colors.info.500} / 0.4\",\n \"focusVisible\": \"{colors.info.500} / 0.4\"\n },\n \"ghost\": {\n \"bg\": \"transparent\",\n \"bgHover\": \"{colors.info.50}\",\n \"bgActive\": \"{colors.info.100}\",\n \"bgDisabled\": \"transparent\",\n \"text\": \"{colors.info.700}\",\n \"textDisabled\": \"{colors.neutral.400}\",\n \"focusRing\": \"{colors.info.500} / 0.4\",\n \"focusVisible\": \"{colors.info.500} / 0.4\"\n },\n \"danger\": {\n \"bg\": \"{colors.error.600}\",\n \"bgHover\": \"{colors.error.700}\",\n \"bgActive\": \"{colors.error.800}\",\n \"bgDisabled\": \"{colors.error.200}\",\n \"text\": \"{colors.white}\",\n \"textDisabled\": \"{colors.neutral.400}\",\n \"focusRing\": \"{colors.error.500} / 0.4\"\n },\n \"success\": {\n \"bg\": \"{colors.success.700}\",\n \"bgHover\": \"{colors.success.800}\",\n \"bgActive\": \"{colors.success.900}\",\n \"bgDisabled\": \"{colors.success.200}\",\n \"text\": \"{colors.white}\",\n \"textDisabled\": \"{colors.neutral.400}\",\n \"focusRing\": \"{colors.success.500} / 0.4\"\n },\n \"cta\": {\n \"bg\": \"{colors.brand.600}\",\n \"bgHover\": \"{colors.brand.700}\",\n \"bgActive\": \"{colors.brand.800}\",\n \"bgDisabled\": \"{colors.brand.200}\",\n \"text\": \"{colors.white}\",\n \"textDisabled\": \"{colors.neutral.400}\",\n \"shadow\": \"0 4px 14px 0 {colors.brand.500} / 0.39\",\n \"focusRing\": \"{colors.brand.500} / 0.4\"\n },\n \"accent\": {\n \"bg\": \"{colors.accent.700}\",\n \"bgHover\": \"{colors.accent.800}\",\n \"bgActive\": \"{colors.accent.900}\",\n \"bgDisabled\": \"{colors.accent.200}\",\n \"text\": \"{colors.white}\",\n \"textDisabled\": \"{colors.neutral.400}\",\n \"focusRing\": \"{colors.accent.500} / 0.4\",\n \"focusVisible\": \"{colors.accent.500} / 0.4\"\n }\n },\n \"forms\": {\n \"default\": {\n \"bg\": \"{colors.white}\",\n \"border\": \"{colors.neutral.300}\",\n \"text\": \"{colors.neutral.900}\",\n \"placeholder\": \"{colors.neutral.500}\"\n },\n \"hover\": {\n \"border\": \"{colors.info.500}\"\n },\n \"focus\": {\n \"border\": \"{colors.info.500}\",\n \"ring\": \"{colors.info.500}\"\n },\n \"focusVisible\": {\n \"border\": \"{colors.info.500}\",\n \"ring\": \"{colors.info.500}\"\n },\n \"valid\": {\n \"border\": \"{colors.success.500}\",\n \"bg\": \"{colors.success.50}\",\n \"text\": \"{colors.success.700}\"\n },\n \"invalid\": {\n \"border\": \"{colors.error.500}\",\n \"bg\": \"{colors.error.50}\",\n \"text\": \"{colors.error.700}\"\n },\n \"disabled\": {\n \"bg\": \"{colors.neutral.50}\",\n \"border\": \"{colors.neutral.200}\",\n \"text\": \"{colors.neutral.400}\"\n }\n },\n \"modes\": {\n \"default\": {\n \"surface\": {\n \"page\": \"{colors.neutral.50}\",\n \"card\": \"{colors.white}\",\n \"input\": \"{colors.white}\",\n \"overlay\": \"{colors.black} / 0.6\",\n \"alternate\": \"{colors.neutral.100}\",\n \"hero\": \"linear-gradient(135deg, {colors.indigo.500} 0%, {colors.violet.600} 100%)\"\n },\n \"text\": {\n \"onPage\": {\n \"default\": \"{colors.neutral.900}\",\n \"muted\": \"{colors.neutral.600}\",\n \"subtle\": \"{colors.neutral.500}\",\n \"meta\": \"{colors.neutral.500}\",\n \"brand\": \"{colors.brand.600}\"\n },\n \"onSurface\": {\n \"default\": \"{colors.neutral.900}\",\n \"muted\": \"{colors.neutral.600}\",\n \"subtle\": \"{colors.neutral.500}\",\n \"meta\": \"{colors.neutral.500}\",\n \"brand\": \"{colors.brand.600}\"\n }\n },\n \"component\": {\n \"card\": {\n \"text\": \"{colors.neutral.900}\",\n \"textMuted\": \"{colors.neutral.600}\"\n },\n \"input\": {\n \"text\": \"{colors.neutral.900}\",\n \"placeholder\": \"{colors.neutral.500}\"\n },\n \"button\": {\n \"textDefault\": \"{colors.neutral.900}\",\n \"textOnPrimary\": \"{colors.white}\"\n },\n \"badge\": {\n \"neutralBg\": \"{colors.neutral.100}\",\n \"neutralBgHover\": \"{colors.neutral.200}\",\n \"neutralText\": \"{colors.neutral.700}\",\n \"infoBg\": \"{colors.info.100}\",\n \"infoBgHover\": \"{colors.info.200}\",\n \"infoText\": \"{colors.info.700}\",\n \"successBg\": \"{colors.success.100}\",\n \"successText\": \"{colors.success.700}\",\n \"warningBg\": \"{colors.warning.100}\",\n \"warningText\": \"{colors.warning.800}\",\n \"dangerBg\": \"{colors.error.100}\",\n \"dangerText\": \"{colors.error.700}\"\n },\n \"iconBox\": {\n \"bg\": \"{colors.white}\",\n \"border\": \"{colors.neutral.200}\",\n \"iconDefault\": \"{colors.info.600}\",\n \"iconSuccess\": \"{colors.success.600}\",\n \"iconWarning\": \"{colors.warning.600}\",\n \"iconDanger\": \"{colors.error.600}\"\n },\n \"testimonial\": {\n \"bg\": \"{colors.white}\",\n \"bgHover\": \"{colors.neutral.50}\",\n \"border\": \"{colors.neutral.200}\",\n \"text\": \"{colors.neutral.700}\",\n \"authorName\": \"{colors.neutral.900}\",\n \"authorTitle\": \"{colors.neutral.600}\",\n \"quoteMark\": \"{colors.neutral.600}\"\n },\n \"pricingCard\": {\n \"bg\": \"{colors.white}\",\n \"bgHover\": \"{colors.neutral.50}\",\n \"border\": \"{colors.neutral.200}\",\n \"featuredBg\": \"{colors.info.600}\",\n \"featuredText\": \"{colors.white}\",\n \"featuredBadgeBg\": \"{colors.warning.500}\",\n \"featuredBadgeText\": \"{colors.neutral.900}\",\n \"price\": \"{colors.neutral.900}\",\n \"priceDescription\": \"{colors.neutral.600}\"\n },\n \"rating\": {\n \"starFilled\": \"{colors.warning.500}\",\n \"starEmpty\": \"{colors.neutral.200}\",\n \"text\": \"{colors.neutral.500}\"\n }\n }\n },\n \"dark\": {\n \"surface\": {\n \"page\": \"{colors.neutral.900}\",\n \"card\": \"{colors.neutral.800}\",\n \"input\": \"{colors.neutral.700}\",\n \"overlay\": \"{colors.black} / 0.6\",\n \"alternate\": \"{colors.neutral.800}\",\n \"hero\": \"linear-gradient(135deg, {colors.accent.700} 0%, {colors.accent.900} 100%)\"\n },\n \"text\": {\n \"onPage\": {\n \"default\": \"{colors.neutral.50}\",\n \"muted\": \"{colors.neutral.300}\",\n \"subtle\": \"{colors.neutral.400}\",\n \"meta\": \"{colors.neutral.400}\",\n \"brand\": \"{colors.brand.400}\"\n },\n \"onSurface\": {\n \"default\": \"{colors.neutral.100}\",\n \"muted\": \"{colors.neutral.300}\",\n \"subtle\": \"{colors.neutral.400}\",\n \"meta\": \"{colors.neutral.400}\",\n \"brand\": \"{colors.brand.400}\"\n }\n },\n \"component\": {\n \"card\": {\n \"text\": \"{colors.neutral.100}\",\n \"textMuted\": \"{colors.neutral.300}\"\n },\n \"input\": {\n \"text\": \"{colors.neutral.100}\",\n \"placeholder\": \"{colors.neutral.300}\"\n },\n \"button\": {\n \"textDefault\": \"{colors.neutral.100}\",\n \"textOnPrimary\": \"{colors.white}\"\n },\n \"badge\": {\n \"neutralBg\": \"{colors.neutral.700}\",\n \"neutralBgHover\": \"{colors.neutral.600}\",\n \"neutralText\": \"{colors.neutral.50}\",\n \"infoBg\": \"{colors.info.800}\",\n \"infoBgHover\": \"{colors.info.700}\",\n \"infoText\": \"{colors.info.100}\",\n \"successBg\": \"{colors.success.800}\",\n \"successBgHover\": \"{colors.success.700}\",\n \"successText\": \"{colors.success.100}\",\n \"warningBg\": \"{colors.warning.800}\",\n \"warningBgHover\": \"{colors.warning.800}\",\n \"warningText\": \"{colors.warning.100}\",\n \"dangerBg\": \"{colors.error.800}\",\n \"dangerBgHover\": \"{colors.error.700}\",\n \"dangerText\": \"{colors.error.100}\"\n },\n \"iconBox\": {\n \"bg\": \"{colors.neutral.800}\",\n \"border\": \"{colors.neutral.700}\",\n \"iconDefault\": \"{colors.info.400}\",\n \"iconSuccess\": \"{colors.success.400}\",\n \"iconWarning\": \"{colors.warning.400}\",\n \"iconDanger\": \"{colors.error.400}\"\n },\n \"testimonial\": {\n \"bg\": \"{colors.neutral.800}\",\n \"bgHover\": \"{colors.neutral.700}\",\n \"border\": \"{colors.neutral.700}\",\n \"text\": \"{colors.neutral.200}\",\n \"authorName\": \"{colors.neutral.100}\",\n \"authorTitle\": \"{colors.neutral.300}\",\n \"quoteMark\": \"{colors.neutral.300}\"\n },\n \"pricingCard\": {\n \"bg\": \"{colors.neutral.800}\",\n \"bgHover\": \"{colors.neutral.700}\",\n \"border\": \"{colors.neutral.700}\",\n \"featuredBg\": \"{colors.info.600}\",\n \"featuredText\": \"{colors.white}\",\n \"featuredBadgeBg\": \"{colors.warning.500}\",\n \"featuredBadgeText\": \"{colors.neutral.900}\",\n \"price\": \"{colors.neutral.100}\",\n \"priceDescription\": \"{colors.neutral.300}\"\n },\n \"rating\": {\n \"starFilled\": \"{colors.warning.400}\",\n \"starEmpty\": \"{colors.neutral.700}\",\n \"text\": \"{colors.neutral.400}\"\n }\n }\n }\n },\n \"colors\": {\n \"brand\": {\n \"50\": \"#eef4ff\",\n \"100\": \"#d9e7ff\",\n \"200\": \"#b9d2ff\",\n \"300\": \"#8ab6ff\",\n \"400\": \"#5a92ff\",\n \"500\": \"#336df4\",\n \"600\": \"#1f57db\",\n \"700\": \"#1946b4\",\n \"800\": \"#173b8f\",\n \"900\": \"#16336f\"\n },\n \"neutral\": {\n \"50\": \"#f7f8fb\",\n \"100\": \"#eef1f6\",\n \"200\": \"#d9dfeb\",\n \"300\": \"#b7c1d4\",\n \"400\": \"#8a96ad\",\n \"500\": \"#657287\",\n \"600\": \"#4b576a\",\n \"700\": \"#374253\",\n \"800\": \"#222b38\",\n \"900\": \"#141b24\"\n },\n \"accent\": {\n \"50\": \"#f6f2ff\",\n \"100\": \"#eee5ff\",\n \"200\": \"#ddccff\",\n \"300\": \"#c3a7ff\",\n \"400\": \"#a279ff\",\n \"500\": \"#854ff7\",\n \"600\": \"#7135dd\",\n \"700\": \"#5d28b8\",\n \"800\": \"#4d2393\",\n \"900\": \"#401f75\"\n },\n \"success\": {\n \"50\": \"#f0fdf4\",\n \"100\": \"#dcfce7\",\n \"200\": \"#bbf7d0\",\n \"300\": \"#86efac\",\n \"400\": \"#4ade80\",\n \"500\": \"#22c55e\",\n \"600\": \"#16a34a\",\n \"700\": \"#15803d\",\n \"800\": \"#166534\",\n \"900\": \"#14532d\"\n },\n \"warning\": {\n \"50\": \"#fffbea\",\n \"100\": \"#fff1c2\",\n \"200\": \"#ffe08a\",\n \"300\": \"#ffd24d\",\n \"400\": \"#ffc21a\",\n \"500\": \"#f5ad00\",\n \"600\": \"#d48806\",\n \"700\": \"#ad6800\",\n \"800\": \"#8f5200\",\n \"900\": \"#734000\"\n },\n \"error\": {\n \"50\": \"#fef2f2\",\n \"100\": \"#fee2e2\",\n \"200\": \"#fecaca\",\n \"300\": \"#fca5a5\",\n \"400\": \"#f87171\",\n \"500\": \"#ef4444\",\n \"600\": \"#dc2626\",\n \"700\": \"#b91c1c\",\n \"800\": \"#991b1b\",\n \"900\": \"#7f1d1d\"\n },\n \"info\": {\n \"50\": \"#f0f9ff\",\n \"100\": \"#e0f2fe\",\n \"200\": \"#bae6fd\",\n \"300\": \"#7dd3fc\",\n \"400\": \"#38bdf8\",\n \"500\": \"#0ea5e9\",\n \"600\": \"#0369a1\",\n \"700\": \"#075985\",\n \"800\": \"#0c4a6e\",\n \"900\": \"#082f49\"\n },\n \"indigo\": {\n \"500\": \"#5b6ee1\",\n \"600\": \"#4d61db\"\n },\n \"violet\": {\n \"600\": \"#6f3fd7\"\n },\n \"focus\": {\n \"primary\": \"#336df4\",\n \"error\": \"#ef4444\",\n \"info\": \"#0369a1\"\n },\n \"white\": \"#ffffff\",\n \"black\": \"#000000\"\n },\n \"space\": {\n \"0\": \"0rem\",\n \"4\": \"0.25rem\",\n \"8\": \"0.5rem\",\n \"12\": \"0.75rem\",\n \"16\": \"1rem\",\n \"20\": \"1.25rem\",\n \"24\": \"1.5rem\",\n \"32\": \"2rem\",\n \"40\": \"2.5rem\",\n \"48\": \"3rem\",\n \"56\": \"3.5rem\",\n \"64\": \"4rem\",\n \"80\": \"5rem\",\n \"96\": \"6rem\"\n },\n \"radii\": {\n \"none\": \"0\",\n \"sm\": \"2px\",\n \"md\": \"4px\",\n \"lg\": \"8px\",\n \"xl\": \"12px\",\n \"2xl\": \"16px\",\n \"pill\": \"999px\"\n },\n \"shadows\": {\n \"none\": \"none\",\n \"sm\": \"0 1px 2px 0 {colors.black} / 0.06\",\n \"md\": \"0 2px 6px -1px {colors.black} / 0.08\",\n \"lg\": \"0 6px 16px -4px {colors.black} / 0.12\",\n \"xl\": \"0 12px 24px -6px {colors.black} / 0.15\",\n \"2xl\": \"0 20px 48px -12px {colors.black} / 0.20\"\n },\n \"breakpoints\": {\n \"sm\": \"640px\",\n \"md\": \"768px\",\n \"lg\": \"1024px\",\n \"xl\": \"1280px\",\n \"2xl\": \"1536px\"\n },\n \"zIndex\": {\n \"base\": \"0\",\n \"dropdown\": \"1000\",\n \"sticky\": \"1100\",\n \"fixed\": \"1200\",\n \"overlay\": \"1300\",\n \"modal\": \"1400\",\n \"popover\": \"1500\",\n \"tooltip\": \"1600\",\n \"toast\": \"1700\"\n },\n \"transitions\": {\n \"duration\": {\n \"instant\": \"75ms\",\n \"fast\": \"150ms\",\n \"base\": \"200ms\",\n \"relaxed\": \"250ms\",\n \"moderate\": \"300ms\",\n \"slow\": \"500ms\",\n \"slower\": \"700ms\",\n \"long\": \"1000ms\",\n \"slowest\": \"1200ms\"\n },\n \"easing\": {\n \"linear\": \"linear\",\n \"in\": \"cubic-bezier(0.4, 0, 1, 1)\",\n \"out\": \"cubic-bezier(0, 0, 0.2, 1)\",\n \"inOut\": \"cubic-bezier(0.4, 0, 0.2, 1)\",\n \"spring\": \"cubic-bezier(0.4, 0, 0.2, 1)\",\n \"overshoot\": \"cubic-bezier(0.34, 1.56, 0.64, 1)\"\n }\n },\n \"animations\": {\n \"fadeIn\": {\n \"duration\": \"{transitions.duration.base}\",\n \"easing\": \"{transitions.easing.out}\",\n \"keyframes\": \"fade-in\"\n },\n \"fadeOut\": {\n \"duration\": \"{transitions.duration.fast}\",\n \"easing\": \"{transitions.easing.in}\",\n \"keyframes\": \"fade-out\"\n },\n \"slideUp\": {\n \"duration\": \"{transitions.duration.moderate}\",\n \"easing\": \"{transitions.easing.out}\",\n \"keyframes\": \"slide-up\"\n },\n \"slideDown\": {\n \"duration\": \"{transitions.duration.moderate}\",\n \"easing\": \"{transitions.easing.out}\",\n \"keyframes\": \"slide-down\"\n },\n \"scaleIn\": {\n \"duration\": \"{transitions.duration.base}\",\n \"easing\": \"{transitions.easing.overshoot}\",\n \"keyframes\": \"scale-in\"\n },\n \"bounce\": {\n \"duration\": \"{transitions.duration.moderate}\",\n \"easing\": \"{transitions.easing.spring}\",\n \"keyframes\": \"bounce\"\n },\n \"shake\": {\n \"duration\": \"{transitions.duration.relaxed}\",\n \"easing\": \"{transitions.easing.spring}\",\n \"keyframes\": \"shake\"\n },\n \"pulse\": {\n \"duration\": \"{transitions.duration.slowest}\",\n \"easing\": \"{transitions.easing.spring}\",\n \"keyframes\": \"pulse\"\n }\n },\n \"opacity\": {\n \"disabled\": \"0.38\",\n \"hover\": \"0.92\",\n \"active\": \"0.84\",\n \"loading\": \"0.6\",\n \"focus\": \"1\",\n \"overlay\": \"0.5\",\n \"tooltip\": \"0.95\"\n },\n \"aspectRatios\": {\n \"square\": \"1/1\",\n \"video\": \"16/9\",\n \"classic\": \"3/2\",\n \"portrait\": \"3/4\",\n \"landscape\": \"4/3\",\n \"ultrawide\": \"21/9\",\n \"hero\": \"2/1\"\n },\n \"icons\": {\n \"xs\": \"12px\",\n \"sm\": \"16px\",\n \"md\": \"20px\",\n \"lg\": \"24px\",\n \"xl\": \"32px\",\n \"2xl\": \"40px\",\n \"3xl\": \"48px\"\n },\n \"accessibility\": {\n \"focusRing\": {\n \"width\": \"2px\",\n \"offset\": \"2px\",\n \"style\": \"solid\"\n },\n \"minTouchTarget\": \"44px\",\n \"minTextSize\": \"16px\"\n },\n \"border\": {\n \"width\": {\n \"base\": \"1px\",\n \"thick\": \"2px\"\n },\n \"style\": {\n \"none\": \"none\",\n \"solid\": \"solid\"\n }\n },\n \"surface\": {\n \"page\": \"{colors.neutral.50}\",\n \"card\": \"{colors.white}\",\n \"input\": \"{colors.white}\",\n \"overlay\": \"{colors.black} / 0.6\"\n },\n \"text\": {\n \"onPage\": {\n \"default\": \"{colors.neutral.900}\",\n \"muted\": \"{colors.neutral.600}\",\n \"subtle\": \"{colors.neutral.500}\",\n \"meta\": \"{colors.neutral.500}\",\n \"brand\": \"{colors.brand.600}\"\n },\n \"onSurface\": {\n \"default\": \"{colors.neutral.900}\",\n \"muted\": \"{colors.neutral.600}\",\n \"subtle\": \"{colors.neutral.500}\",\n \"meta\": \"{colors.neutral.500}\",\n \"brand\": \"{colors.brand.600}\"\n }\n },\n \"layout\": {\n \"section\": {\n \"padding\": {\n \"sm\": \"1.5rem\",\n \"md\": \"2rem\",\n \"lg\": \"3rem\"\n },\n \"gap\": {\n \"sm\": \"1rem\",\n \"md\": \"1.5rem\",\n \"lg\": \"2rem\"\n }\n },\n \"stack\": {\n \"gap\": {\n \"sm\": \"0.5rem\",\n \"md\": \"0.75rem\",\n \"lg\": \"1rem\"\n }\n },\n \"container\": {\n \"paddingInline\": {\n \"sm\": \"1rem\",\n \"md\": \"1.5rem\",\n \"lg\": \"2rem\"\n },\n \"maxWidth\": \"72rem\"\n }\n },\n \"font\": {\n \"xs\": {\n \"size\": \"0.75rem\",\n \"lineHeight\": \"1.25rem\",\n \"weight\": 400,\n \"letterSpacing\": \"0.02em\"\n },\n \"sm\": {\n \"size\": \"0.875rem\",\n \"lineHeight\": \"1.5rem\",\n \"weight\": 400,\n \"letterSpacing\": \"0em\"\n },\n \"md\": {\n \"size\": \"1rem\",\n \"lineHeight\": \"1.75rem\",\n \"weight\": 500,\n \"letterSpacing\": \"0em\"\n },\n \"lg\": {\n \"size\": \"1.25rem\",\n \"lineHeight\": \"2rem\",\n \"weight\": 600,\n \"letterSpacing\": \"0em\"\n },\n \"xl\": {\n \"size\": \"1.5rem\",\n \"lineHeight\": \"2.125rem\",\n \"weight\": 600,\n \"letterSpacing\": \"0em\"\n },\n \"2xl\": {\n \"size\": \"1.875rem\",\n \"lineHeight\": \"2.5rem\",\n \"weight\": 700,\n \"letterSpacing\": \"0em\"\n },\n \"3xl\": {\n \"size\": \"2.25rem\",\n \"lineHeight\": \"2.75rem\",\n \"weight\": 700,\n \"letterSpacing\": \"0em\"\n },\n \"4xl\": {\n \"size\": \"3rem\",\n \"lineHeight\": \"3.5rem\",\n \"weight\": 800,\n \"letterSpacing\": \"0em\"\n },\n \"5xl\": {\n \"size\": \"3.75rem\",\n \"lineHeight\": \"4.25rem\",\n \"weight\": 800,\n \"letterSpacing\": \"0em\"\n },\n \"6xl\": {\n \"size\": \"4.5rem\",\n \"lineHeight\": \"5rem\",\n \"weight\": 900,\n \"letterSpacing\": \"0em\"\n }\n },\n \"typography\": {\n \"families\": {\n \"sans\": \"system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif\",\n \"serif\": \"'Times New Roman', Times, serif\",\n \"mono\": \"'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace\"\n },\n \"scale\": {\n \"xs\": {\n \"fontSize\": \"0.75rem\",\n \"lineHeight\": \"1.25rem\",\n \"fontWeight\": 400,\n \"letterSpacing\": \"0.02em\"\n },\n \"sm\": {\n \"fontSize\": \"0.875rem\",\n \"lineHeight\": \"1.5rem\",\n \"fontWeight\": 400,\n \"letterSpacing\": \"0em\"\n },\n \"md\": {\n \"fontSize\": \"1rem\",\n \"lineHeight\": \"1.75rem\",\n \"fontWeight\": 500,\n \"letterSpacing\": \"0em\"\n },\n \"lg\": {\n \"fontSize\": \"1.25rem\",\n \"lineHeight\": \"2rem\",\n \"fontWeight\": 600,\n \"letterSpacing\": \"0em\"\n },\n \"xl\": {\n \"fontSize\": \"1.5rem\",\n \"lineHeight\": \"2.125rem\",\n \"fontWeight\": 600,\n \"letterSpacing\": \"0em\"\n },\n \"2xl\": {\n \"fontSize\": \"1.875rem\",\n \"lineHeight\": \"2.5rem\",\n \"fontWeight\": 700,\n \"letterSpacing\": \"0em\"\n },\n \"3xl\": {\n \"fontSize\": \"2.25rem\",\n \"lineHeight\": \"2.75rem\",\n \"fontWeight\": 700,\n \"letterSpacing\": \"0em\"\n },\n \"4xl\": {\n \"fontSize\": \"3rem\",\n \"lineHeight\": \"3.5rem\",\n \"fontWeight\": 800,\n \"letterSpacing\": \"0em\"\n },\n \"5xl\": {\n \"fontSize\": \"3.75rem\",\n \"lineHeight\": \"4.25rem\",\n \"fontWeight\": 800,\n \"letterSpacing\": \"0em\"\n },\n \"6xl\": {\n \"fontSize\": \"4.5rem\",\n \"lineHeight\": \"5rem\",\n \"fontWeight\": 900,\n \"letterSpacing\": \"0em\"\n }\n }\n }\n} as const;\n","import type {\n ComponentBadgeTokens,\n ComponentIconBoxTokens,\n CssVariableMap,\n CssVariableOptions,\n SpectreTokens,\n Tokens,\n TypographyScaleEntry\n} from './types'\n\nconst DEFAULT_PREFIX = 'sp'\nexport const DEFAULT_SELECTOR = ':root'\n\nconst formatKey = (segment: string): string =>\n segment\n .replace(/[^a-z0-9]+/gi, '-')\n .replace(/^-+|-+$/g, '')\n .toLowerCase()\n\nconst toVariableName = (prefix: string, ...parts: string[]): string => {\n const filtered = parts.filter(Boolean).map(formatKey)\n return `--${prefix}-${filtered.join('-')}`\n}\n\nconst BADGE_VARIANTS: Array<{ variant: string; bgKey: keyof ComponentBadgeTokens; textKey: keyof ComponentBadgeTokens }> = [\n { variant: 'neutral', bgKey: 'neutralBg', textKey: 'neutralText' },\n { variant: 'info', bgKey: 'infoBg', textKey: 'infoText' },\n { variant: 'success', bgKey: 'successBg', textKey: 'successText' },\n { variant: 'warning', bgKey: 'warningBg', textKey: 'warningText' },\n { variant: 'danger', bgKey: 'dangerBg', textKey: 'dangerText' }\n]\n\nconst ICON_BOX_FIELDS: Array<{ name: string; tokenKey: keyof ComponentIconBoxTokens }> = [\n { name: 'bg', tokenKey: 'bg' },\n { name: 'border', tokenKey: 'border' },\n { name: 'icon-default', tokenKey: 'iconDefault' },\n { name: 'icon-success', tokenKey: 'iconSuccess' },\n { name: 'icon-warning', tokenKey: 'iconWarning' },\n { name: 'icon-danger', tokenKey: 'iconDanger' }\n]\n\nconst resolveTokenReference = (tokens: SpectreTokens, reference: string): string => {\n const path = reference.slice(1, -1).split('.')\n let current: unknown = tokens\n for (const part of path) {\n if (current && typeof current === 'object' && part in (current as Record<string, unknown>)) {\n current = (current as Record<string, unknown>)[part]\n } else {\n return reference\n }\n }\n return typeof current === 'string' || typeof current === 'number' ? String(current) : reference\n}\n\nconst hexToRgba = (hex: string, opacity: string): string => {\n const cleanHex = hex.replace('#', '')\n let r = 0, g = 0, b = 0\n if (cleanHex.length === 3) {\n const rh = cleanHex.charAt(0)\n const gh = cleanHex.charAt(1)\n const bh = cleanHex.charAt(2)\n r = parseInt(rh + rh, 16)\n g = parseInt(gh + gh, 16)\n b = parseInt(bh + bh, 16)\n } else if (cleanHex.length === 6) {\n r = parseInt(cleanHex.substring(0, 2), 16)\n g = parseInt(cleanHex.substring(2, 4), 16)\n b = parseInt(cleanHex.substring(4, 6), 16)\n }\n return `rgba(${r}, ${g}, ${b}, ${opacity})`\n}\n\nconst resolveValue = (tokens: SpectreTokens, value: unknown): string => {\n let str = String(value)\n const regex = /\\{([^}]+)\\}/g\n\n str = str.replace(regex, (match) => resolveTokenReference(tokens, match))\n\n const opacityRegex = /(#[0-9a-fA-F]{3,6})\\s*\\/\\s*([0-9.]+)/g\n str = str.replace(opacityRegex, (match, hex, opacity) => hexToRgba(hex, opacity))\n\n return str\n}\n\nconst resolveSemanticValue = (value: unknown, tokens: SpectreTokens): string | undefined => {\n if (typeof value === 'string' || typeof value === 'number') {\n return resolveValue(tokens, value)\n }\n if (value && typeof value === 'object' && 'value' in (value as Record<string, unknown>)) {\n return resolveValue(tokens, (value as Record<string, unknown>).value)\n }\n return undefined\n}\n\nconst getPath = (source: unknown, path: string[]): unknown =>\n path.reduce<unknown>((acc, key) => (acc && typeof acc === 'object' ? (acc as Record<string, unknown>)[key] : undefined), source)\n\nconst pickSemantic = (tokens: SpectreTokens, ...candidates: unknown[]): string | undefined => {\n for (const candidate of candidates) {\n const resolved = resolveSemanticValue(candidate, tokens)\n if (resolved !== undefined) return resolved\n }\n return undefined\n}\n\nexport const createCssVariableMap = (tokens: SpectreTokens, options: CssVariableOptions = {}): CssVariableMap => {\n const prefix = options.prefix ?? DEFAULT_PREFIX\n const map: CssVariableMap = {}\n const baseTokens = tokens as unknown as Tokens\n\n const assign = (name: string, value: unknown) => {\n const resolved = resolveSemanticValue(value, tokens)\n if (resolved !== undefined) {\n map[name] = resolved\n return\n }\n if (value === undefined) return\n map[name] = resolveValue(tokens, value)\n }\n\n Object.entries(baseTokens.colors).forEach(([group, scale]) => {\n if (typeof scale === 'string' || typeof scale === 'number') {\n assign(toVariableName(prefix, 'color', group), scale)\n return\n }\n\n Object.entries(scale).forEach(([step, value]) => {\n assign(toVariableName(prefix, 'color', group, step), value)\n })\n })\n\n if (baseTokens.space) {\n Object.entries(baseTokens.space).forEach(([key, value]) => {\n assign(toVariableName(prefix, 'space', key), value)\n })\n }\n\n if (baseTokens.layout) {\n const layout = baseTokens.layout as unknown as Record<string, Record<string, Record<string, string>>>\n\n if (layout.section?.padding) {\n Object.entries(layout.section.padding).forEach(([key, value]) => {\n assign(toVariableName(prefix, 'layout', 'section', 'padding', key), value)\n })\n }\n\n if (layout.section?.gap) {\n Object.entries(layout.section.gap).forEach(([key, value]) => {\n assign(toVariableName(prefix, 'layout', 'section', 'gap', key), value)\n })\n }\n\n if (layout.stack?.gap) {\n Object.entries(layout.stack.gap).forEach(([key, value]) => {\n assign(toVariableName(prefix, 'layout', 'stack', 'gap', key), value)\n })\n }\n\n if (layout.container?.paddingInline) {\n Object.entries(layout.container.paddingInline).forEach(([key, value]) => {\n assign(toVariableName(prefix, 'layout', 'container', 'padding-inline', key), value)\n })\n }\n\n const container = layout.container as Record<string, unknown> | undefined\n if (container?.maxWidth) {\n assign(toVariableName(prefix, 'layout', 'container', 'max-width'), container.maxWidth)\n }\n }\n\n const border = (baseTokens as unknown as Record<string, unknown>).border as Record<string, Record<string, string>> | undefined\n if (border?.width) {\n Object.entries(border.width).forEach(([key, value]) => {\n assign(toVariableName(prefix, 'border', 'width', key), value)\n })\n }\n\n if (border?.style) {\n Object.entries(border.style).forEach(([key, value]) => {\n assign(toVariableName(prefix, 'border', 'style', key), value)\n })\n }\n\n Object.entries(baseTokens.radii).forEach(([key, value]) => {\n assign(toVariableName(prefix, 'radius', key), value)\n })\n\n Object.entries(baseTokens.typography.families).forEach(([key, value]) => {\n assign(toVariableName(prefix, 'font-family', key), value)\n })\n\n const typographyScale = baseTokens.typography?.scale ?? {}\n const fontScale = baseTokens.font\n\n if (fontScale && Object.keys(fontScale).length > 0) {\n Object.entries(fontScale).forEach(([key, entry]) => {\n assign(toVariableName(prefix, 'font', key, 'size'), entry.size)\n assign(toVariableName(prefix, 'font', key, 'line-height'), entry.lineHeight)\n assign(toVariableName(prefix, 'font', key, 'weight'), entry.weight)\n })\n } else {\n Object.entries(typographyScale).forEach(([key, entry]) => {\n assign(toVariableName(prefix, 'font', key, 'size'), entry.fontSize)\n assign(toVariableName(prefix, 'font', key, 'line-height'), entry.lineHeight)\n assign(toVariableName(prefix, 'font', key, 'weight'), entry.fontWeight)\n })\n }\n\n Object.entries(typographyScale).forEach(([key, entry]) => {\n const scaleEntry = entry as unknown as TypographyScaleEntry\n assign(toVariableName(prefix, 'font', key, 'letter-spacing'), scaleEntry.letterSpacing)\n })\n\n Object.entries(baseTokens.shadows).forEach(([key, value]) => {\n assign(toVariableName(prefix, 'shadow', key), value)\n })\n\n Object.entries(baseTokens.breakpoints).forEach(([key, value]) => {\n assign(toVariableName(prefix, 'breakpoint', key), value)\n })\n\n Object.entries(baseTokens.zIndex).forEach(([key, value]) => {\n assign(toVariableName(prefix, 'z-index', key), value)\n })\n\n Object.entries(baseTokens.transitions.duration).forEach(([key, value]) => {\n assign(toVariableName(prefix, 'duration', key), value)\n })\n\n Object.entries(baseTokens.transitions.easing).forEach(([key, value]) => {\n assign(toVariableName(prefix, 'easing', key), value)\n })\n\n Object.entries(baseTokens.opacity).forEach(([key, value]) => {\n assign(toVariableName(prefix, 'opacity', key), value)\n })\n\n assign(toVariableName(prefix, 'focus-ring-width'), baseTokens.accessibility.focusRing.width)\n assign(toVariableName(prefix, 'focus-ring-offset'), baseTokens.accessibility.focusRing.offset)\n assign(toVariableName(prefix, 'focus-ring-style'), baseTokens.accessibility.focusRing.style)\n assign(toVariableName(prefix, 'min-touch-target'), baseTokens.accessibility.minTouchTarget)\n assign(toVariableName(prefix, 'min-text-size'), baseTokens.accessibility.minTextSize)\n\n Object.entries(baseTokens.buttons).forEach(([variant, states]) => {\n Object.entries(states).forEach(([state, value]) => {\n assign(toVariableName(prefix, 'button', variant, state), value)\n })\n })\n\n Object.entries(baseTokens.forms).forEach(([state, properties]) => {\n Object.entries(properties).forEach(([prop, value]) => {\n if (value) assign(toVariableName(prefix, 'form', state, prop), value)\n })\n })\n\n if (baseTokens.animations) {\n Object.entries(baseTokens.animations as unknown as Record<string, { duration: string; easing: string; keyframes: string }>).forEach(([name, animation]) => {\n assign(toVariableName(prefix, 'animation', name, 'duration'), animation.duration)\n assign(toVariableName(prefix, 'animation', name, 'easing'), animation.easing)\n assign(toVariableName(prefix, 'animation', name, 'keyframes'), animation.keyframes)\n })\n }\n\n return map\n}\n\nexport const generateCssVariables = (tokens: SpectreTokens, options: CssVariableOptions = {}): string => {\n const selector = options.selector ?? DEFAULT_SELECTOR\n const prefix = options.prefix ?? DEFAULT_PREFIX\n const declarations = createCssVariableMap(tokens, { ...options, prefix })\n const mapLines = Object.entries(declarations).map(([name, value]) => ` ${name}: ${value};`)\n\n const defaultMode = tokens.modes?.default ?? {}\n const darkMode = tokens.modes?.dark ?? {}\n const surfaceAliases = tokens.surface ?? {}\n const textAliases = tokens.text ?? {}\n const componentAliases = tokens.component ?? {}\n\n type SemanticEntry = {\n varParts: string[]\n modePath: string[]\n aliasSrc?: unknown\n aliasPath?: string[]\n }\n\n const semanticEntries: SemanticEntry[] = [\n { varParts: ['surface', 'page'], modePath: ['surface', 'page'], aliasSrc: surfaceAliases, aliasPath: ['page'] },\n { varParts: ['surface', 'card'], modePath: ['surface', 'card'], aliasSrc: surfaceAliases, aliasPath: ['card'] },\n { varParts: ['surface', 'input'], modePath: ['surface', 'input'], aliasSrc: surfaceAliases, aliasPath: ['input'] },\n { varParts: ['surface', 'overlay'], modePath: ['surface', 'overlay'], aliasSrc: surfaceAliases, aliasPath: ['overlay'] },\n { varParts: ['surface', 'alternate'], modePath: ['surface', 'alternate'] },\n { varParts: ['surface', 'hero'], modePath: ['surface', 'hero'], aliasSrc: surfaceAliases, aliasPath: ['hero'] },\n { varParts: ['text', 'on', 'page', 'default'], modePath: ['text', 'onPage', 'default'], aliasSrc: textAliases, aliasPath: ['onPage', 'default'] },\n { varParts: ['text', 'on', 'page', 'muted'], modePath: ['text', 'onPage', 'muted'], aliasSrc: textAliases, aliasPath: ['onPage', 'muted'] },\n { varParts: ['text', 'on', 'page', 'subtle'], modePath: ['text', 'onPage', 'subtle'], aliasSrc: textAliases, aliasPath: ['onPage', 'subtle'] },\n { varParts: ['text', 'on', 'page', 'meta'], modePath: ['text', 'onPage', 'meta'], aliasSrc: textAliases, aliasPath: ['onPage', 'meta'] },\n { varParts: ['text', 'on', 'page', 'brand'], modePath: ['text', 'onPage', 'brand'], aliasSrc: textAliases, aliasPath: ['onPage', 'brand'] },\n { varParts: ['text', 'on', 'surface', 'default'], modePath: ['text', 'onSurface', 'default'], aliasSrc: textAliases, aliasPath: ['onSurface', 'default'] },\n { varParts: ['text', 'on', 'surface', 'muted'], modePath: ['text', 'onSurface', 'muted'], aliasSrc: textAliases, aliasPath: ['onSurface', 'muted'] },\n { varParts: ['text', 'on', 'surface', 'subtle'], modePath: ['text', 'onSurface', 'subtle'], aliasSrc: textAliases, aliasPath: ['onSurface', 'subtle'] },\n { varParts: ['text', 'on', 'surface', 'meta'], modePath: ['text', 'onSurface', 'meta'], aliasSrc: textAliases, aliasPath: ['onSurface', 'meta'] },\n { varParts: ['text', 'on', 'surface', 'brand'], modePath: ['text', 'onSurface', 'brand'], aliasSrc: textAliases, aliasPath: ['onSurface', 'brand'] },\n { varParts: ['component', 'card', 'text'], modePath: ['component', 'card', 'text'], aliasSrc: componentAliases, aliasPath: ['card', 'text'] },\n { varParts: ['component', 'card', 'text-muted'], modePath: ['component', 'card', 'textMuted'], aliasSrc: componentAliases, aliasPath: ['card', 'textMuted'] },\n { varParts: ['component', 'input', 'text'], modePath: ['component', 'input', 'text'], aliasSrc: componentAliases, aliasPath: ['input', 'text'] },\n { varParts: ['component', 'input', 'placeholder'], modePath: ['component', 'input', 'placeholder'], aliasSrc: componentAliases, aliasPath: ['input', 'placeholder'] },\n { varParts: ['button', 'text', 'default'], modePath: ['component', 'button', 'textDefault'], aliasSrc: componentAliases, aliasPath: ['button', 'textDefault'] },\n { varParts: ['button', 'text', 'on', 'primary'], modePath: ['component', 'button', 'textOnPrimary'], aliasSrc: componentAliases, aliasPath: ['button', 'textOnPrimary'] },\n ...BADGE_VARIANTS.flatMap(({ variant, bgKey, textKey }) => [\n { varParts: ['badge', variant, 'bg'], modePath: ['component', 'badge', bgKey], aliasSrc: componentAliases, aliasPath: ['badge', bgKey] },\n { varParts: ['badge', variant, 'text'], modePath: ['component', 'badge', textKey], aliasSrc: componentAliases, aliasPath: ['badge', textKey] },\n ]),\n ...ICON_BOX_FIELDS.map(({ name, tokenKey }) => ({\n varParts: ['icon-box', name], modePath: ['component', 'iconBox', tokenKey], aliasSrc: componentAliases, aliasPath: ['iconBox', tokenKey],\n })),\n ]\n\n const baseLines: string[] = []\n const darkLines: string[] = []\n const addBase = (name: string, value?: string) => { if (value !== undefined) baseLines.push(` ${name}: ${value};`) }\n const addDark = (name: string, value?: string) => { if (value !== undefined) darkLines.push(` ${name}: ${value};`) }\n\n semanticEntries.forEach(({ varParts, modePath, aliasSrc, aliasPath }) => {\n const varName = toVariableName(prefix, ...varParts)\n const aliasCandidate = aliasSrc && aliasPath ? [getPath(aliasSrc, aliasPath)] : []\n addBase(varName, pickSemantic(tokens, getPath(defaultMode, modePath), ...aliasCandidate))\n addDark(varName, pickSemantic(tokens, getPath(darkMode, modePath), getPath(defaultMode, modePath), ...aliasCandidate))\n })\n\n const rootBlock = `${selector} {\\n${[...baseLines, ...mapLines].join('\\n')}\\n}`\n const darkBlock = `${selector}[data-spectre-theme=\"dark\"] {\\n${darkLines.join('\\n')}\\n}`\n\n return `${rootBlock}\\n${darkBlock}\\n`\n}\n","import { coreTokens } from './generated/tokens';\n\nimport { generateCssVariables } from './css';\nimport type { SpectreTokens, TailwindTheme, Tokens } from './types';\n\nexport type {\n AccessibilityTokens,\n AnimationEntry,\n ButtonStateTokens,\n ColorScale,\n ComponentBadgeTokens,\n ComponentIconBoxTokens,\n ComponentPricingCardTokens,\n ComponentRatingTokens,\n ComponentTestimonialTokens,\n ComponentTokens,\n FormStateTokens,\n LayoutTokens,\n SpectreModeName,\n SpectreModeTokens,\n SpectreTokens,\n TailwindTheme,\n TokenScale,\n Tokens,\n TransitionTokens,\n TypographyTokens\n} from './types';\n\nconst tokens: SpectreTokens = coreTokens;\n\nconst sanitizeFontFamily = (value: string): string[] =>\n value\n .split(',')\n .map((segment) => segment.trim().replace(/^['\"]|['\"]$/g, ''))\n .filter(Boolean);\n\nconst createTailwindTheme = (source: Tokens = tokens): TailwindTheme => {\n const colors: TailwindTheme['colors'] = {};\n Object.entries(source.colors).forEach(([group, value]) => {\n if (typeof value === 'object' && value !== null) {\n colors[group] = { ...value } as Record<string, string>;\n } else {\n colors[group] = value as string;\n }\n });\n\n const fontFamily = Object.entries(source.typography.families).reduce<Record<string, string[]>>((acc, [key, value]) => {\n acc[key] = sanitizeFontFamily(value);\n return acc;\n }, {});\n\n const fontSize = Object.entries(source.typography.scale).reduce<TailwindTheme['fontSize']>((acc, [key, entry]) => {\n acc[key] = [\n entry.fontSize,\n {\n lineHeight: entry.lineHeight,\n ...(entry.fontWeight ? { fontWeight: entry.fontWeight } : {}),\n ...('letterSpacing' in entry ? { letterSpacing: entry.letterSpacing } : {})\n }\n ];\n return acc;\n }, {});\n\n return {\n colors,\n spacing: { ...(source.space ?? {}) },\n borderRadius: { ...(source.radii ?? {}) },\n fontFamily,\n fontSize,\n boxShadow: { ...source.shadows },\n screens: { ...source.breakpoints },\n zIndex: { ...source.zIndex },\n transitionDuration: { ...source.transitions.duration },\n transitionTimingFunction: { ...source.transitions.easing },\n opacity: { ...source.opacity },\n maxWidth: {\n container: source.layout?.container?.maxWidth\n },\n borderWidth: {\n DEFAULT: source.border?.width.base,\n ...(source.border?.width ?? {})\n }\n };\n}\n\nexport const tailwindTheme = createTailwindTheme(tokens);\nexport const tailwindPreset = {\n theme: tailwindTheme\n};\n\nexport { generateCssVariables, tokens };\nexport default tokens;\n"],"mappings":"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","names":["tokens"]}
|