@matteoaliano/forest-ui 0.6.0 → 0.8.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.
@@ -866,6 +866,14 @@ function buildComponents(tokens) {
866
866
  breadcrumbColors: breadcrumbColors6
867
867
  } = tokens;
868
868
  return {
869
+ // ─── CssBaseline (global) ───────────────────────────────────────
870
+ MuiCssBaseline: {
871
+ styleOverrides: {
872
+ body: {
873
+ fontFeatureSettings: '"ss01", "ss02", "cv11"'
874
+ }
875
+ }
876
+ },
869
877
  // ─── Button ─────────────────────────────────────────────────────
870
878
  MuiButton: {
871
879
  defaultProps: {
@@ -3989,4 +3997,4 @@ export {
3989
3997
  forestTheme,
3990
3998
  forestThemeOptions
3991
3999
  };
3992
- //# sourceMappingURL=chunk-WUUQHE5X.mjs.map
4000
+ //# sourceMappingURL=chunk-MIJBSV5Z.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/theme/buildTheme.ts","../src/theme/tokens.ts","../src/theme/palette.ts","../src/theme/typography.ts","../src/theme/shadows.ts","../src/theme/components.ts","../src/theme/presets/forest-external.ts","../src/theme/presets/forest-agency.ts","../src/theme/presets/forest-internal.ts","../src/theme/presets/forest-alkemy-plus.ts","../src/theme/presets/index.ts","../src/theme/index.ts"],"sourcesContent":["import { createTheme, type Theme, type ThemeOptions } from \"@mui/material/styles\";\nimport type { DesignTokens } from \"./types\";\nimport { buildPalette } from \"./palette\";\nimport { buildTypography } from \"./typography\";\nimport { buildShadows } from \"./shadows\";\nimport { buildComponents } from \"./components\";\n\n/** Assemble a MUI ThemeOptions object from a full set of design tokens. */\nexport function buildThemeOptions(tokens: DesignTokens): ThemeOptions {\n return {\n palette: buildPalette(tokens),\n typography: buildTypography(tokens),\n components: buildComponents(tokens),\n shadows: buildShadows(tokens),\n shape: {\n borderRadius: tokens.radius.md,\n },\n };\n}\n\n/** Create a fully resolved MUI Theme from a full set of design tokens. */\nexport function buildTheme(tokens: DesignTokens): Theme {\n return createTheme(buildThemeOptions(tokens));\n}\n","/**\n * Design tokens extracted from Figma.\n * These are the primitive values that the semantic theme references.\n */\n\n// ─── Named Primitive Color Scales ────────────────────────────────────\n\nexport const violet = {\n 25: \"#faf8ff\",\n 50: \"#f5f0ff\",\n 100: \"#ebe0ff\",\n 200: \"#d6c0ff\",\n 300: \"#b090ff\",\n 400: \"#9D5FFF\",\n 500: \"#7c4de6\",\n 600: \"#5b3acc\",\n 700: \"#3a1aad\",\n 800: \"#190a8a\",\n 900: \"#000066\",\n 950: \"#000033\",\n} as const;\n\nexport const magenta = {\n 25: \"#fff8fd\",\n 50: \"#fff0fa\",\n 100: \"#ffe0f5\",\n 200: \"#ffc0eb\",\n 300: \"#ff90d8\",\n 400: \"#FF78F3\",\n 500: \"#e650d4\",\n 600: \"#cc28b5\",\n 700: \"#a3008c\",\n 800: \"#7a0066\",\n 900: \"#520044\",\n 950: \"#290022\",\n} as const;\n\nexport const gray = {\n 25: \"#fdfcfc\",\n 50: \"#faf9f8\",\n 100: \"#f5f3f1\",\n 200: \"#e8e5e3\",\n 300: \"#d8d8dc\",\n 400: \"#a0a0a6\",\n 500: \"#71717a\",\n 600: \"#52525b\",\n 700: \"#3f3f46\",\n 800: \"#27272a\",\n 900: \"#18181b\",\n 950: \"#09090b\",\n} as const;\n\nexport const red = {\n 25: \"#fff8f7\",\n 50: \"#fff0ee\",\n 100: \"#ffe0dd\",\n 200: \"#ffc0bb\",\n 300: \"#ff9090\",\n 400: \"#FF2821\",\n 500: \"#e61a1a\",\n 600: \"#cc1010\",\n 700: \"#a30808\",\n 800: \"#7a0000\",\n 900: \"#520000\",\n 950: \"#290000\",\n} as const;\n\n// ─── Misc Chart Scales ────────────────────────────────────────────────\n\nexport const misc = {\n teal: {\n 25: \"#f6fefc\", 50: \"#f0fdf9\", 100: \"#ccfbef\", 200: \"#99f6e0\",\n 300: \"#5fe9d0\", 400: \"#2ed3b7\", 500: \"#15b79e\", 600: \"#0e9384\",\n 700: \"#107569\", 800: \"#125d56\", 900: \"#134e48\", 950: \"#0a2926\",\n },\n orange: {\n 25: \"#fefaf5\", 50: \"#fef6ee\", 100: \"#fdead7\", 200: \"#f9dbaf\",\n 300: \"#f7b27a\", 400: \"#f38744\", 500: \"#ef6820\", 600: \"#e04f16\",\n 700: \"#b93815\", 800: \"#932f19\", 900: \"#772917\", 950: \"#511c10\",\n },\n purple: {\n 25: \"#fafaff\", 50: \"#f4f3ff\", 100: \"#ebe9fe\", 200: \"#d9d6fe\",\n 300: \"#bdb4fe\", 400: \"#9b8afb\", 500: \"#7a5af8\", 600: \"#6938ef\",\n 700: \"#5925dc\", 800: \"#4a1fb8\", 900: \"#3e1c96\", 950: \"#27115f\",\n },\n pink: {\n 25: \"#fef6fb\", 50: \"#fdf2fa\", 100: \"#fce7f6\", 200: \"#fcceee\",\n 300: \"#faa7e0\", 400: \"#f670c7\", 500: \"#ee46bc\", 600: \"#dd2590\",\n 700: \"#c11574\", 800: \"#9e165f\", 900: \"#851651\", 950: \"#4e0d30\",\n },\n fuchsia: {\n 25: \"#fefaff\", 50: \"#fdf4ff\", 100: \"#fbe8ff\", 200: \"#f6d0fe\",\n 300: \"#eeaafd\", 400: \"#e478fa\", 500: \"#d444f1\", 600: \"#ba24d5\",\n 700: \"#9f1ab1\", 800: \"#821890\", 900: \"#6f1877\", 950: \"#47104c\",\n },\n orangeDark: {\n 25: \"#fff9f5\", 50: \"#fff4ed\", 100: \"#ffe6d5\", 200: \"#ffd6ae\",\n 300: \"#ff9c66\", 400: \"#ff692e\", 500: \"#ff4405\", 600: \"#e62e05\",\n 700: \"#bc1b06\", 800: \"#97180c\", 900: \"#771a0d\", 950: \"#57130a\",\n },\n green: {\n 25: \"#f6fef9\", 50: \"#edfcf2\", 100: \"#d3f8df\", 200: \"#aaf0c4\",\n 300: \"#73e2a3\", 400: \"#3ccb7f\", 500: \"#16b364\", 600: \"#099250\",\n 700: \"#087443\", 800: \"#095c37\", 900: \"#084c2e\", 950: \"#052e1c\",\n },\n indigo: {\n 25: \"#f5f8ff\", 50: \"#eef4ff\", 100: \"#e0eaff\", 200: \"#c7d7fe\",\n 300: \"#a4bcfd\", 400: \"#8098f9\", 500: \"#6172f3\", 600: \"#444ce7\",\n 700: \"#3538cd\", 800: \"#2d31a6\", 900: \"#2d3282\", 950: \"#1f235b\",\n },\n rose: {\n 25: \"#fff5f6\", 50: \"#fff1f3\", 100: \"#ffe4e8\", 200: \"#fecdd6\",\n 300: \"#fea3b4\", 400: \"#fd6f8e\", 500: \"#f63d68\", 600: \"#e31b54\",\n 700: \"#c01048\", 800: \"#a11043\", 900: \"#89123e\", 950: \"#510b24\",\n },\n blueLight: {\n 25: \"#f5fbff\", 50: \"#f0f9ff\", 100: \"#e0f2fe\", 200: \"#b9e6fe\",\n 300: \"#7cd4fd\", 400: \"#36bffa\", 500: \"#0ba5ec\", 600: \"#0086c9\",\n 700: \"#026aa2\", 800: \"#065986\", 900: \"#0b4a6f\", 950: \"#062c41\",\n },\n cyan: {\n 25: \"#f5feff\", 50: \"#ecfdff\", 100: \"#cff9fe\", 200: \"#a5f0fc\",\n 300: \"#67e3f9\", 400: \"#22ccee\", 500: \"#06aed4\", 600: \"#088ab2\",\n 700: \"#0e7090\", 800: \"#155b75\", 900: \"#164c63\", 950: \"#0d2d3a\",\n },\n} as const;\n\n// ─── Base Colors ────────────────────────────────────────────────────\n\nexport const base = {\n white: \"#ffffff\",\n black: \"#000000\",\n transparent: \"#ffffff00\",\n} as const;\n\n// ─── Status Scales ─────────────────────────────────────────────────\n\nexport const error = {\n 25: \"#fffbfa\",\n 50: \"#fef3f2\",\n 100: \"#fee4e2\",\n 200: \"#fecdca\",\n 300: \"#fda29b\",\n 400: \"#f97066\",\n 500: \"#f04438\",\n 600: \"#d92d20\",\n 700: \"#b42318\",\n 800: \"#912018\",\n 900: \"#7a271a\",\n 950: \"#55160c\",\n} as const;\n\nexport const warning = {\n 25: \"#fffcf5\",\n 50: \"#fffaeb\",\n 100: \"#fef0c7\",\n 200: \"#fedf89\",\n 300: \"#fec84b\",\n 400: \"#fdb022\",\n 500: \"#f79009\",\n 600: \"#dc6803\",\n 700: \"#b54708\",\n 800: \"#93370d\",\n 900: \"#7a2e0e\",\n 950: \"#4e1d09\",\n} as const;\n\nexport const success = {\n 25: \"#f6fef9\",\n 50: \"#ecfdf3\",\n 100: \"#dcfae6\",\n 200: \"#abefc6\",\n 300: \"#75e0a7\",\n 400: \"#47cd89\",\n 500: \"#17b26a\",\n 600: \"#079455\",\n 700: \"#067647\",\n 800: \"#085d3a\",\n 900: \"#074d31\",\n 950: \"#053321\",\n} as const;\n\nexport const info = {\n 25: \"#f5faff\",\n 50: \"#eff8ff\",\n 100: \"#d1e9ff\",\n 200: \"#b2ddff\",\n 300: \"#84caff\",\n 400: \"#53b1fd\",\n 500: \"#2e90fa\",\n 600: \"#1570ef\",\n 700: \"#175cd3\",\n 800: \"#1849a9\",\n 900: \"#194185\",\n 950: \"#102a56\",\n} as const;\n\n// ─── Spacing ────────────────────────────────────────────────────────\n\nexport const spacing = {\n none: 0,\n xxs: 2,\n xs: 4,\n sm: 6,\n md: 8,\n lg: 12,\n xl: 16,\n \"2xl\": 20,\n \"3xl\": 24,\n \"4xl\": 32,\n \"5xl\": 40,\n \"6xl\": 48,\n \"7xl\": 64,\n \"8xl\": 80,\n \"9xl\": 96,\n \"10xl\": 128,\n \"11xl\": 160,\n} as const;\n\n// ─── Border Radius ──────────────────────────────────────────────────\n\nexport const radius = {\n none: 0,\n xxs: 2,\n xs: 4,\n sm: 6,\n md: 8,\n lg: 10,\n xl: 12,\n \"2xl\": 16,\n \"3xl\": 20,\n \"4xl\": 24,\n full: 9999,\n} as const;\n\n// ─── Shadows ────────────────────────────────────────────────────────\n\nexport const shadows = {\n xs: \"0px 1px 2px 0px #1018280d\",\n sm: \"0px 1px 3px 0px #1018281a, 0px 1px 2px 0px #1018280f\",\n md: \"0px 4px 8px -2px #1018281a, 0px 2px 4px -2px #1018280f\",\n lg: \"0px 12px 16px -4px #10182814, 0px 4px 6px -2px #10182808\",\n xl: \"0px 20px 24px -4px #10182814, 0px 8px 8px -4px #10182808\",\n \"2xl\": \"0px 24px 48px -12px #1018282e\",\n \"3xl\": \"0px 32px 64px -12px #10182824\",\n} as const;\n\n// ─── Focus Rings ────────────────────────────────────────────────────\n\nexport const focusRings = {\n brand: \"0px 0px 0px 4px #7c4de63d\",\n brandShadowXs: \"0px 1px 2px 0px #1018280d, 0px 0px 0px 4px #7c4de63d\",\n brandShadowSm: \"0px 1px 3px 0px #1018281a, 0px 1px 2px 0px #1018280f, 0px 0px 0px 4px #7c4de63d\",\n gray: \"0px 0px 0px 4px #a0a0a624\",\n grayShadowXs: \"0px 1px 2px 0px #1018280d, 0px 0px 0px 4px #a0a0a624\",\n grayShadowSm: \"0px 1px 3px 0px #1018281a, 0px 1px 2px 0px #1018280f, 0px 0px 0px 4px #a0a0a624\",\n error: \"0px 0px 0px 4px #f044383d\",\n errorShadowXs: \"0px 1px 2px 0px #1018280d, 0px 0px 0px 4px #f044383d\",\n} as const;\n\n// ─── Typography ─────────────────────────────────────────────────────\n\nexport const fontFamily = '\"Aeonik\", sans-serif';\nexport const fontFamilyMono = '\"Aeonik Mono\", monospace';\n\nexport const fontSize = {\n xxs: 11,\n xs: 12,\n sm: 14,\n md: 16,\n lg: 18,\n xl: 20,\n} as const;\n\nexport const lineHeight = {\n xxs: \"16px\",\n xs: \"18px\",\n sm: \"20px\",\n md: \"24px\",\n lg: \"28px\",\n xl: \"30px\",\n} as const;\n\nexport const fontWeight = {\n regular: 400,\n medium: 500,\n semibold: 600,\n bold: 700,\n} as const;\n\n// ─── Display Typography ─────────────────────────────────────────────\n\nexport const display = {\n \"2xl\": { fontSize: 72, lineHeight: \"90px\", letterSpacing: \"-0.02em\" },\n xl: { fontSize: 60, lineHeight: \"72px\", letterSpacing: \"-0.02em\" },\n lg: { fontSize: 48, lineHeight: \"60px\", letterSpacing: \"-0.02em\" },\n md: { fontSize: 36, lineHeight: \"44px\", letterSpacing: \"-0.02em\" },\n sm: { fontSize: 30, lineHeight: \"38px\" },\n xs: { fontSize: 24, lineHeight: \"32px\" },\n} as const;\n\n// ─── Container ──────────────────────────────────────────────────────\n\nexport const container = {\n maxWidthDesktop: 1280,\n paddingDesktop: 32,\n paddingMobile: 16,\n} as const;\n\n// ─── Width Breakpoints ──────────────────────────────────────────────\n\nexport const widths = {\n xxs: 320,\n xs: 384,\n sm: 480,\n md: 560,\n lg: 640,\n xl: 768,\n \"2xl\": 1024,\n \"3xl\": 1280,\n \"4xl\": 1440,\n \"5xl\": 1600,\n \"6xl\": 1920,\n} as const;\n\n// ─── Semantic Colors — Text ───────────────────────────────────────\n\nexport const text = {\n primary: gray[900],\n secondary: gray[700],\n secondaryHover: gray[800],\n tertiary: gray[600],\n tertiaryHover: gray[700],\n quaternary: gray[500],\n disabled: gray[500],\n placeholder: gray[500],\n placeholderSubtle: gray[300],\n white: base.white,\n brandPrimary: violet[900],\n brandSecondary: violet[700],\n brandTertiary: violet[600],\n brandTertiaryAlt: violet[600],\n primaryOnBrand: base.white,\n secondaryOnBrand: violet[200],\n tertiaryOnBrand: violet[200],\n quaternaryOnBrand: violet[300],\n errorPrimary: error[600],\n warningPrimary: warning[600],\n successPrimary: success[600],\n} as const;\n\n// ─── Semantic Colors — Background ─────────────────────────────────\n\nexport const bg = {\n primary: gray[50],\n primaryAlt: gray[50],\n primaryHover: gray[100],\n primarySolid: gray[950],\n secondary: base.white,\n secondaryAlt: base.white,\n secondarySubtle: gray[25],\n secondaryHover: gray[50],\n secondarySolid: gray[600],\n tertiary: gray[100],\n quaternary: gray[200],\n active: gray[200],\n disabled: gray[100],\n disabledSubtle: gray[50],\n overlay: gray[950],\n brandPrimary: violet[50],\n brandPrimaryAlt: violet[50],\n brandSecondary: violet[100],\n brandSolid: violet[600],\n brandSolidHover: violet[700],\n brandSection: violet[800],\n brandSectionSubtle: violet[700],\n errorPrimary: error[50],\n errorSecondary: error[100],\n errorSolid: error[600],\n warningPrimary: warning[50],\n warningSecondary: warning[100],\n warningSolid: warning[600],\n successPrimary: success[50],\n successSecondary: success[100],\n successSolid: success[600],\n} as const;\n\n// ─── Semantic Colors — Foreground ─────────────────────────────────\n\nexport const fg = {\n primary: gray[900],\n secondary: gray[700],\n secondaryHover: gray[800],\n tertiary: gray[600],\n tertiaryHover: gray[700],\n quaternary: gray[500],\n quaternaryHover: gray[600],\n quinary: gray[400],\n quinaryHover: gray[500],\n senary: gray[300],\n white: base.white,\n disabled: gray[400],\n disabledSubtle: gray[300],\n brandPrimary: violet[600],\n brandPrimaryAlt: violet[600],\n brandSecondary: violet[500],\n errorPrimary: error[600],\n errorSecondary: error[500],\n warningPrimary: warning[600],\n warningSecondary: warning[500],\n successPrimary: success[600],\n successSecondary: success[500],\n} as const;\n\n// ─── Semantic Colors — Border ─────────────────────────────────────\n\nexport const border = {\n primary: gray[300],\n secondary: gray[200],\n tertiary: gray[100],\n disabled: gray[300],\n disabledSubtle: gray[200],\n brand: violet[300],\n brandSolid: violet[600],\n brandSolidAlt: violet[600],\n error: error[300],\n errorSolid: error[600],\n} as const;\n\n// ─── Component Colors — Buttons ───────────────────────────────────\n\nexport const buttonColors = {\n primary: {\n bg: violet[600],\n bgHover: violet[700],\n fg: base.white,\n fgHover: base.white,\n border: violet[600],\n borderHover: violet[700],\n },\n secondary: {\n bg: gray[900],\n bgHover: gray[950],\n fg: base.white,\n fgHover: base.white,\n border: gray[900],\n borderHover: gray[950],\n },\n secondaryColor: {\n bg: base.white,\n bgHover: violet[50],\n fg: violet[700],\n fgHover: violet[800],\n border: violet[300],\n borderHover: violet[300],\n },\n tertiary: {\n fg: gray[600],\n fgHover: gray[700],\n bgHover: gray[50],\n },\n tertiaryColor: {\n fg: violet[700],\n fgHover: violet[800],\n bgHover: violet[50],\n },\n primaryError: {\n bg: error[600],\n bgHover: error[700],\n fg: base.white,\n fgHover: base.white,\n border: error[600],\n borderHover: error[700],\n },\n secondaryError: {\n bg: base.white,\n bgHover: error[50],\n fg: error[700],\n fgHover: error[800],\n border: error[300],\n borderHover: error[300],\n },\n tertiaryError: {\n fg: error[700],\n fgHover: error[800],\n bgHover: error[50],\n },\n} as const;\n\n// ─── Component Colors — Avatars ───────────────────────────────────\n\nexport const avatarColors = {\n bg: gray[100],\n contrastBorder: \"#00000014\",\n profilePhotoBorder: base.white,\n focusBorder: \"#a0a0a624\",\n} as const;\n\n// ─── Component Colors — Breadcrumbs ───────────────────────────────\n\nexport const breadcrumbColors = {\n fg: gray[600],\n fgHover: gray[700],\n bgHover: gray[50],\n brandBgHover: violet[50],\n brandFgHover: violet[700],\n iconFg: gray[500],\n iconFgHover: gray[700],\n brandIconFgHover: violet[700],\n} as const;\n\n// ─── Component Colors — Icons ─────────────────────────────────────\n\nexport const iconColors = {\n fgBrand: violet[600],\n fgBrandOnBrand: violet[200],\n featuredModernBorder: gray[200],\n featuredLightFgBrand: violet[600],\n featuredLightFgGray: gray[500],\n featuredLightFgError: error[600],\n featuredLightFgWarning: warning[600],\n featuredLightFgSuccess: success[600],\n featuredDarkFgBrand: base.white,\n featuredDarkFgGray: base.white,\n featuredDarkFgError: base.white,\n featuredDarkFgWarning: base.white,\n featuredDarkFgSuccess: base.white,\n} as const;\n\n// ─── Component Colors — Navigation ───────────────────────────────\n\nexport const navColors = {\n itemIconFg: gray[500],\n itemIconFgActive: gray[700],\n itemButtonIconFg: gray[500],\n itemButtonIconFgActive: gray[700],\n} as const;\n\n// ─── Component Colors — Sliders ───────────────────────────────────\n\nexport const sliderColors = {\n handleBorder: violet[600],\n handleBg: base.white,\n} as const;\n\n// ─── Component Colors — Toggles ───────────────────────────────────\n\nexport const toggleColors = {\n buttonFgDisabled: gray[50],\n} as const;\n\n// ─── Component Colors — Charts ────────────────────────────────────\n\nexport const chartColors = {\n axisFg: gray[100],\n gridlineFg: gray[100],\n labelFg: gray[600],\n labelFgEmphasis: gray[700],\n bg: base.white,\n bgAlt: gray[50],\n tooltipBg: gray[950],\n tooltipFg: base.white,\n crosshairFg: gray[500],\n legendFg: text.tertiary,\n series: [\n { fg: misc.purple[500], fgHover: misc.purple[600], bg: misc.purple[100], bgHover: misc.purple[200] },\n { fg: misc.orangeDark[400], fgHover: misc.orangeDark[500], bg: misc.orangeDark[100], bgHover: misc.orangeDark[200] },\n { fg: misc.teal[300], fgHover: misc.teal[400], bg: misc.teal[50], bgHover: misc.teal[100] },\n { fg: warning[400], fgHover: warning[500], bg: warning[100], bgHover: warning[200] },\n { fg: misc.rose[400], fgHover: misc.rose[500], bg: misc.rose[100], bgHover: misc.rose[200] },\n { fg: misc.blueLight[400], fgHover: misc.blueLight[500], bg: misc.blueLight[100], bgHover: misc.blueLight[200] },\n { fg: misc.orange[300], fgHover: misc.orange[400], bg: misc.orange[100], bgHover: misc.orange[200] },\n { fg: misc.cyan[600], fgHover: misc.cyan[700], bg: misc.cyan[100], bgHover: misc.cyan[200] },\n { fg: misc.green[500], fgHover: misc.green[600], bg: misc.green[100], bgHover: misc.green[200] },\n { fg: misc.pink[400], fgHover: misc.pink[500], bg: misc.pink[100], bgHover: misc.pink[200] },\n { fg: misc.fuchsia[400], fgHover: misc.fuchsia[500], bg: misc.fuchsia[100], bgHover: misc.fuchsia[200] },\n { fg: misc.teal[600], fgHover: misc.teal[700], bg: misc.teal[100], bgHover: misc.teal[200] },\n ],\n} as const;\n\n// ─── Alpha Colors ─────────────────────────────────────────────────\n\nexport const alpha = {\n white: {\n 10: \"#ffffff1a\",\n 20: \"#ffffff33\",\n 30: \"#ffffff4d\",\n 40: \"#ffffff66\",\n 50: \"#ffffff80\",\n 60: \"#ffffff99\",\n 70: \"#ffffffb3\",\n 80: \"#ffffffcc\",\n 90: \"#ffffffe6\",\n 100: \"#ffffff\",\n },\n black: {\n 10: \"#0000001a\",\n 20: \"#00000033\",\n 30: \"#0000004d\",\n 40: \"#00000066\",\n 50: \"#00000080\",\n 60: \"#00000099\",\n 70: \"#000000b3\",\n 80: \"#000000cc\",\n 90: \"#000000e6\",\n 100: \"#000000\",\n },\n} as const;\n","import type { PaletteOptions } from \"@mui/material/styles\";\nimport type { DesignTokens } from \"./types\";\nimport { chartColors } from \"./tokens\";\n\n// ─── MUI Palette Augmentation ────────────────────────────────────────\n// Allows consumers to access chart tokens via theme.palette.chart\n\n// Allow Chip to accept color=\"highlight\" (rendered via variants in components.ts)\ndeclare module \"@mui/material/Chip\" {\n interface ChipPropsColorOverrides {\n highlight: true;\n }\n}\n\n// Allow Alert to accept variant=\"featured\" (rendered via variants in components.ts)\ndeclare module \"@mui/material/Alert\" {\n interface AlertPropsVariantOverrides {\n featured: true;\n }\n}\n\ndeclare module \"@mui/material/styles\" {\n interface Palette {\n chart: DesignTokens[\"chartColors\"];\n highlight: {\n main: string;\n light: string;\n dark: string;\n contrastText: string;\n };\n }\n interface PaletteOptions {\n chart?: DesignTokens[\"chartColors\"];\n highlight?: {\n main: string;\n light: string;\n dark: string;\n contrastText: string;\n };\n }\n interface TypeText {\n placeholder: string;\n }\n}\n\nexport function buildPalette(tokens: DesignTokens): PaletteOptions {\n const { base, error, warning, success, info, text, bg, fg, border } = tokens;\n\n return {\n primary: {\n main: tokens.bg.brandSolid,\n light: tokens.fg.brandPrimary,\n dark: tokens.bg.brandSolidHover,\n contrastText: tokens.base.white,\n },\n secondary: {\n main: tokens.bg.secondarySolid,\n light: tokens.fg.secondary,\n dark: tokens.text.secondaryHover,\n contrastText: tokens.base.white,\n },\n error: {\n main: tokens.error[600],\n light: tokens.error[300],\n dark: tokens.error[700],\n contrastText: tokens.base.white,\n },\n warning: {\n main: tokens.warning[600],\n light: tokens.warning[300],\n dark: tokens.warning[700],\n contrastText: tokens.base.white,\n },\n success: {\n main: tokens.success[600],\n light: tokens.success[300],\n dark: tokens.success[700],\n contrastText: tokens.base.white,\n },\n info: {\n main: tokens.info[600],\n light: tokens.info[300],\n dark: tokens.info[700],\n contrastText: tokens.base.white,\n },\n background: {\n default: bg.primary,\n paper: bg.secondary,\n },\n text: {\n primary: text.primary,\n secondary: text.secondary,\n disabled: text.disabled,\n placeholder: text.placeholder,\n },\n divider: border.secondary,\n action: {\n active: fg.tertiary,\n hover: bg.primaryHover,\n selected: bg.brandPrimary,\n disabled: fg.disabled,\n disabledBackground: bg.disabled,\n },\n chart: tokens.chartColors ?? chartColors,\n ...(tokens.highlight && {\n highlight: {\n main: tokens.highlight[600],\n light: tokens.highlight[300],\n dark: tokens.highlight[700],\n contrastText: tokens.base.white,\n },\n }),\n };\n}\n\n","import type { TypographyVariantsOptions } from \"@mui/material/styles\";\nimport type { DesignTokens } from \"./types\";\n\nexport function buildTypography(tokens: DesignTokens): TypographyVariantsOptions {\n const { fontFamily, display, fontSize, lineHeight, fontWeight, letterSpacing } = tokens;\n const ls = letterSpacing ?? {};\n\n return {\n fontFamily,\n fontWeightRegular: fontWeight.regular,\n fontWeightMedium: fontWeight.medium,\n fontWeightBold: fontWeight.bold,\n\n // Display styles → MUI headings\n h1: {\n fontSize: display.xl.fontSize,\n lineHeight: display.xl.lineHeight,\n letterSpacing: ls.h1 ?? display.xl.letterSpacing,\n fontWeight: fontWeight.semibold,\n },\n h2: {\n fontSize: display.lg.fontSize,\n lineHeight: display.lg.lineHeight,\n letterSpacing: ls.h2 ?? display.lg.letterSpacing,\n fontWeight: fontWeight.semibold,\n },\n h3: {\n fontSize: display.md.fontSize,\n lineHeight: display.md.lineHeight,\n letterSpacing: ls.h3 ?? display.md.letterSpacing,\n fontWeight: fontWeight.semibold,\n },\n h4: {\n fontSize: display.sm.fontSize,\n lineHeight: display.sm.lineHeight,\n ...(ls.h4 !== undefined && { letterSpacing: ls.h4 }),\n fontWeight: fontWeight.semibold,\n },\n h5: {\n fontSize: display.xs.fontSize,\n lineHeight: display.xs.lineHeight,\n ...(ls.h5 !== undefined && { letterSpacing: ls.h5 }),\n fontWeight: fontWeight.semibold,\n },\n h6: {\n fontSize: fontSize.xl,\n lineHeight: lineHeight.xl,\n ...(ls.h6 !== undefined && { letterSpacing: ls.h6 }),\n fontWeight: fontWeight.semibold,\n },\n subtitle1: {\n fontSize: fontSize.lg,\n lineHeight: lineHeight.lg,\n ...(ls.subtitle1 !== undefined && { letterSpacing: ls.subtitle1 }),\n fontWeight: fontWeight.medium,\n },\n subtitle2: {\n fontSize: fontSize.md,\n lineHeight: lineHeight.md,\n ...(ls.subtitle2 !== undefined && { letterSpacing: ls.subtitle2 }),\n fontWeight: fontWeight.medium,\n },\n body1: {\n fontSize: fontSize.md,\n lineHeight: lineHeight.md,\n ...(ls.body1 !== undefined && { letterSpacing: ls.body1 }),\n fontWeight: fontWeight.regular,\n },\n body2: {\n fontSize: fontSize.sm,\n lineHeight: lineHeight.sm,\n ...(ls.body2 !== undefined && { letterSpacing: ls.body2 }),\n fontWeight: fontWeight.regular,\n },\n caption: {\n fontSize: fontSize.xs,\n lineHeight: lineHeight.xs,\n ...(ls.caption !== undefined && { letterSpacing: ls.caption }),\n fontWeight: fontWeight.regular,\n },\n overline: {\n fontSize: fontSize.xxs,\n lineHeight: lineHeight.xxs,\n fontWeight: fontWeight.medium,\n textTransform: \"uppercase\",\n letterSpacing: ls.overline ?? \"0.08em\",\n },\n button: {\n fontSize: fontSize.sm,\n lineHeight: lineHeight.sm,\n fontWeight: fontWeight.semibold,\n textTransform: \"none\",\n ...(ls.button !== undefined && { letterSpacing: ls.button }),\n },\n };\n}\n\n","import type { Shadows } from \"@mui/material/styles\";\nimport type { DesignTokens } from \"./types\";\n\nexport function buildShadows(tokens: DesignTokens): Shadows {\n const tokenShadows = tokens.shadows;\n\n // MUI expects exactly 25 shadow entries (indices 0–24).\n // We map our token shadows to sensible elevation levels.\n return [\n \"none\", // 0\n tokenShadows.xs, // 1\n tokenShadows.sm, // 2\n tokenShadows.sm, // 3\n tokenShadows.md, // 4\n tokenShadows.md, // 5\n tokenShadows.md, // 6\n tokenShadows.lg, // 7\n tokenShadows.lg, // 8\n tokenShadows.lg, // 9\n tokenShadows.xl, // 10\n tokenShadows.xl, // 11\n tokenShadows.xl, // 12\n tokenShadows[\"2xl\"], // 13\n tokenShadows[\"2xl\"], // 14\n tokenShadows[\"2xl\"], // 15\n tokenShadows[\"3xl\"], // 16\n tokenShadows[\"3xl\"], // 17\n tokenShadows[\"3xl\"], // 18\n tokenShadows[\"3xl\"], // 19\n tokenShadows[\"3xl\"], // 20\n tokenShadows[\"3xl\"], // 21\n tokenShadows[\"3xl\"], // 22\n tokenShadows[\"3xl\"], // 23\n tokenShadows[\"3xl\"], // 24\n ];\n}\n\n","import type { Components, Theme } from \"@mui/material/styles\";\nimport type { DesignTokens } from \"./types\";\n\nexport function buildComponents(tokens: DesignTokens): Components<Theme> {\n const {\n base,\n error,\n warning,\n success,\n info,\n highlight,\n radius,\n focusRings,\n shadows: tokenShadows,\n text,\n bg,\n fg,\n border,\n buttonColors,\n sliderColors,\n avatarColors,\n breadcrumbColors,\n } = tokens;\n\n return {\n // ─── CssBaseline (global) ───────────────────────────────────────\n MuiCssBaseline: {\n styleOverrides: {\n body: {\n fontFeatureSettings: '\"ss01\", \"ss02\", \"cv11\"',\n },\n },\n },\n\n // ─── Button ─────────────────────────────────────────────────────\n MuiButton: {\n defaultProps: {\n disableElevation: true,\n },\n styleOverrides: {\n root: {\n borderRadius: radius.md,\n fontWeight: 600,\n boxShadow: tokenShadows.xs,\n height: 32,\n padding: \"6px 12px\",\n fontSize: 14,\n lineHeight: \"20px\",\n \"&:focus-visible\": {\n boxShadow: focusRings.brandShadowXs,\n },\n },\n containedPrimary: {\n backgroundColor: buttonColors.primary.bg,\n \"&:hover\": {\n backgroundColor: buttonColors.primary.bgHover,\n },\n },\n outlinedPrimary: {\n borderColor: buttonColors.secondaryColor.border,\n color: buttonColors.secondaryColor.fg,\n \"&:hover\": {\n backgroundColor: buttonColors.secondaryColor.bgHover,\n borderColor: buttonColors.secondaryColor.borderHover,\n },\n },\n containedSecondary: {\n backgroundColor: buttonColors.secondary.bg,\n color: buttonColors.secondary.fg,\n border: `1px solid ${buttonColors.secondary.border}`,\n \"&:hover\": {\n backgroundColor: buttonColors.secondary.bgHover,\n borderColor: buttonColors.secondary.borderHover,\n },\n },\n text: {\n boxShadow: \"none\",\n },\n textPrimary: {\n color: buttonColors.tertiaryColor.fg,\n \"&:hover\": {\n backgroundColor: buttonColors.tertiaryColor.bgHover,\n },\n },\n },\n },\n\n // ─── Button Group ───────────────────────────────────────────────\n MuiButtonGroup: {\n defaultProps: {\n disableElevation: true,\n },\n styleOverrides: {\n root: {\n borderRadius: radius.md,\n },\n grouped: {\n \"&:not(:last-of-type)\": {\n borderRight: `1px solid ${buttonColors.primary.borderHover}`,\n },\n },\n },\n },\n\n // ─── IconButton ─────────────────────────────────────────────────\n MuiIconButton: {\n styleOverrides: {\n root: {\n borderRadius: radius.md,\n padding: 6,\n \"& .MuiSvgIcon-root\": {\n fontSize: 20,\n },\n },\n },\n },\n\n // ─── FAB ────────────────────────────────────────────────────────\n MuiFab: {\n styleOverrides: {\n root: {\n boxShadow: tokenShadows.md,\n \"&:hover\": {\n boxShadow: tokenShadows.lg,\n },\n \"&:focus-visible\": {\n boxShadow: focusRings.brandShadowSm,\n },\n },\n primary: {\n backgroundColor: buttonColors.primary.bg,\n \"&:hover\": {\n backgroundColor: buttonColors.primary.bgHover,\n },\n },\n },\n },\n\n // ─── TextField / Input ──────────────────────────────────────────\n MuiTextField: {\n defaultProps: {\n variant: \"outlined\",\n },\n },\n MuiFormControl: {\n styleOverrides: {\n root: {\n \"&:has(.Mui-disabled)\": {\n opacity: 0.5,\n },\n },\n },\n },\n MuiInputBase: {\n styleOverrides: {\n input: {\n \"&::placeholder\": {\n color: text.placeholder,\n WebkitTextFillColor: text.placeholder,\n fontWeight: 400,\n opacity: 1,\n },\n },\n },\n },\n MuiOutlinedInput: {\n styleOverrides: {\n root: {\n borderRadius: radius.md,\n boxShadow: tokenShadows.xs,\n \"&&:hover:not(.Mui-focused):not(.Mui-disabled) .MuiOutlinedInput-notchedOutline\": {\n borderColor: border.brand,\n },\n \"&&.Mui-focused .MuiOutlinedInput-notchedOutline\": {\n borderColor: border.brandSolid,\n borderWidth: 1,\n boxShadow: \"none\",\n },\n \"&&.Mui-error:not(.Mui-focused) .MuiOutlinedInput-notchedOutline\": {\n borderColor: border.error,\n },\n \"&&.Mui-error.Mui-focused .MuiOutlinedInput-notchedOutline\": {\n borderColor: border.errorSolid,\n boxShadow: \"none\",\n },\n \"& .MuiInputAdornment-root .MuiIconButton-root\": {\n color: fg.quaternary,\n \"&:hover\": {\n backgroundColor: bg.primaryHover,\n color: fg.brandPrimary,\n },\n },\n },\n notchedOutline: {\n borderColor: border.primary,\n },\n input: {\n padding: \"6px 12px\",\n fontSize: 14,\n lineHeight: \"20px\",\n },\n },\n },\n MuiFormLabel: {\n styleOverrides: {\n root: {\n color: text.placeholder,\n \"&.Mui-focused\": {\n color: text.placeholder,\n },\n \"&.Mui-error\": {\n color: text.errorPrimary,\n },\n },\n },\n },\n MuiInputLabel: {\n styleOverrides: {\n root: {\n fontSize: 14,\n fontWeight: 500,\n color: text.placeholder,\n \"&.Mui-focused\": {\n color: text.placeholder,\n },\n \"&.Mui-error\": {\n color: text.errorPrimary,\n },\n },\n outlined: {\n transform: \"translate(12px, 6px) scale(1)\",\n \"&.MuiInputLabel-shrink\": {\n transform: \"translate(14px, -9px) scale(0.75)\",\n },\n },\n },\n },\n MuiFormHelperText: {\n styleOverrides: {\n root: {\n fontSize: 14,\n lineHeight: \"20px\",\n marginTop: 6,\n marginLeft: 0,\n \"&.Mui-error\": {\n color: text.errorPrimary,\n },\n },\n },\n },\n\n // ─── Menu ──────────────────────────────────────────────────────\n MuiMenu: {\n defaultProps: {\n autoFocus: false,\n },\n styleOverrides: {\n root: {\n \"& .MuiBackdrop-root\": {\n backgroundColor: \"transparent\",\n },\n },\n },\n },\n\n // ─── Select ─────────────────────────────────────────────────────\n MuiSelect: {\n styleOverrides: {\n select: {\n \"&.MuiSelect-select\": {\n minHeight: \"auto\",\n padding: \"6px 32px 6px 12px\",\n fontSize: 14,\n lineHeight: \"20px\",\n },\n },\n icon: {\n color: text.placeholder,\n right: 8,\n },\n },\n },\n MuiMenuItem: {\n styleOverrides: {\n root: {\n borderRadius: radius.md,\n padding: \"6px 8px\",\n gap: 4,\n \"&:hover\": {\n backgroundColor: bg.primaryHover,\n },\n \"&.Mui-selected\": {\n backgroundColor: info[50],\n color: info[700],\n \"&:hover\": {\n backgroundColor: info[100],\n },\n },\n },\n },\n },\n\n // ─── Autocomplete ───────────────────────────────────────────────\n MuiAutocomplete: {\n styleOverrides: {\n paper: {\n borderRadius: radius.md,\n boxShadow: tokenShadows.lg,\n border: `1px solid ${border.secondary}`,\n marginTop: 4,\n },\n inputRoot: {\n // Override Autocomplete's default padding so the input height stays 32px\n padding: \"0 12px\",\n \"&.MuiOutlinedInput-root .MuiAutocomplete-input\": {\n padding: \"6px 0\",\n fontSize: 14,\n lineHeight: \"20px\",\n },\n },\n option: {\n fontSize: 14,\n lineHeight: \"20px\",\n padding: \"6px 12px\",\n \"&.Mui-focused\": {\n backgroundColor: bg.primaryHover,\n },\n '&[aria-selected=\"true\"]': {\n backgroundColor: info[50],\n color: info[700],\n },\n '&[aria-selected=\"true\"].Mui-focused': {\n backgroundColor: info[100],\n },\n },\n listbox: {\n padding: 4,\n },\n },\n },\n\n // ─── Checkbox ───────────────────────────────────────────────────\n MuiCheckbox: {\n defaultProps: {\n disableRipple: true,\n },\n styleOverrides: {\n root: {\n color: border.primary,\n borderRadius: radius.xs,\n padding: 0,\n width: 20,\n height: 20,\n \"&:hover\": {\n backgroundColor: \"transparent\",\n color: fg.brandPrimary,\n },\n \"&.Mui-checked\": {\n color: fg.brandPrimary,\n },\n \"&.Mui-checked:hover\": {\n color: buttonColors.primary.bgHover,\n },\n \"&.Mui-focusVisible\": {\n outline: \"none\",\n boxShadow: focusRings.brand,\n borderRadius: radius.xs,\n },\n \"&.Mui-disabled\": {\n color: border.primary,\n },\n },\n },\n },\n\n // ─── Radio ──────────────────────────────────────────────────────\n MuiRadio: {\n defaultProps: {\n disableRipple: true,\n },\n styleOverrides: {\n root: {\n color: border.primary,\n padding: 0,\n \"&:hover\": {\n backgroundColor: \"transparent\",\n color: fg.brandPrimary,\n },\n \"&.Mui-checked\": {\n color: fg.brandPrimary,\n },\n \"&.Mui-checked:hover\": {\n color: buttonColors.primary.bgHover,\n },\n \"&.Mui-focusVisible\": {\n outline: \"none\",\n boxShadow: focusRings.brand,\n borderRadius: radius.full,\n },\n \"&.Mui-disabled\": {\n color: border.primary,\n },\n },\n },\n },\n\n // ─── Switch ─────────────────────────────────────────────────────\n MuiSwitch: {\n defaultProps: {\n disableRipple: true,\n },\n styleOverrides: {\n root: {\n width: 44,\n height: 24,\n padding: 0,\n },\n switchBase: {\n padding: 2,\n \"&.Mui-checked\": {\n transform: \"translateX(20px)\",\n color: fg.white,\n \"& + .MuiSwitch-track\": {\n backgroundColor: fg.brandPrimary,\n opacity: 1,\n },\n },\n \"&.Mui-checked:hover + .MuiSwitch-track\": {\n backgroundColor: buttonColors.primary.bgHover,\n },\n \"&.Mui-focusVisible .MuiSwitch-thumb\": {\n boxShadow: focusRings.brand,\n },\n \"&.Mui-disabled .MuiSwitch-thumb\": {\n color: bg.disabled,\n },\n \"&.Mui-disabled + .MuiSwitch-track\": {\n opacity: 0.5,\n },\n },\n thumb: {\n width: 20,\n height: 20,\n boxShadow: \"0px 1px 2px 0px #1018280d\",\n },\n track: {\n borderRadius: radius.full,\n backgroundColor: border.secondary,\n opacity: 1,\n },\n },\n },\n\n // ─── Toggle Button ─────────────────────────────────────────────\n MuiToggleButton: {\n styleOverrides: {\n root: {\n borderColor: border.primary,\n color: text.secondary,\n fontSize: 14,\n fontWeight: 600,\n lineHeight: \"20px\",\n height: 32,\n padding: \"6px 12px\",\n textTransform: \"none\",\n \"&:hover\": {\n backgroundColor: bg.primaryHover,\n borderColor: border.primary,\n },\n \"&.Mui-selected\": {\n backgroundColor: bg.brandPrimary,\n color: buttonColors.secondaryColor.fg,\n borderColor: border.brandSolid,\n \"&:hover\": {\n backgroundColor: bg.brandSecondary,\n },\n },\n \"&:focus-visible\": {\n boxShadow: focusRings.brandShadowXs,\n },\n },\n },\n },\n MuiToggleButtonGroup: {\n styleOverrides: {\n root: {\n borderRadius: radius.md,\n overflow: \"hidden\",\n },\n grouped: {\n borderRadius: 0,\n \"&:not(:first-of-type)\": {\n marginLeft: -1,\n },\n \"&:first-of-type\": {\n borderTopLeftRadius: radius.md,\n borderBottomLeftRadius: radius.md,\n },\n \"&:last-of-type\": {\n borderTopRightRadius: radius.md,\n borderBottomRightRadius: radius.md,\n },\n },\n },\n },\n\n\n\n // ─── Drawer (used by Sidebar) ─────────────────────────────────\n MuiDrawer: {\n styleOverrides: {\n paper: {\n backgroundColor: bg.primary,\n borderRight: `1px solid ${border.secondary}`,\n },\n },\n },\n\n // ─── Card ───────────────────────────────────────────────────────\n MuiCard: {\n defaultProps: {\n elevation: 0,\n },\n styleOverrides: {\n root: {\n borderRadius: radius.xl,\n border: `1px solid ${border.secondary}`,\n backgroundColor: bg.primary,\n boxShadow: tokenShadows.xs,\n overflow: \"hidden\",\n },\n },\n },\n MuiCardContent: {\n styleOverrides: {\n root: {\n padding: \"24px\",\n \"&:last-child\": {\n paddingBottom: \"24px\",\n },\n },\n },\n },\n MuiCardHeader: {\n styleOverrides: {\n root: {\n padding: \"24px 24px 0 24px\",\n },\n title: {\n fontSize: 18,\n fontWeight: 600,\n lineHeight: \"28px\",\n },\n subheader: {\n fontSize: 14,\n lineHeight: \"20px\",\n marginTop: 4,\n },\n action: {\n marginTop: -4,\n marginRight: -4,\n },\n },\n },\n\n // ─── Paper ──────────────────────────────────────────────────────\n MuiPaper: {\n defaultProps: {\n elevation: 0,\n },\n styleOverrides: {\n root: {\n backgroundImage: \"none\",\n },\n rounded: {\n borderRadius: radius.lg,\n },\n elevation1: {\n boxShadow: tokenShadows.xs,\n border: `1px solid ${border.secondary}`,\n },\n elevation2: {\n boxShadow: tokenShadows.sm,\n border: `1px solid ${border.secondary}`,\n },\n elevation3: {\n boxShadow: tokenShadows.md,\n border: `1px solid ${border.secondary}`,\n },\n elevation4: {\n boxShadow: tokenShadows.lg,\n border: `1px solid ${border.secondary}`,\n },\n elevation8: {\n boxShadow: tokenShadows.xl,\n border: `1px solid ${border.secondary}`,\n },\n elevation16: {\n boxShadow: tokenShadows[\"2xl\"],\n border: `1px solid ${border.secondary}`,\n },\n elevation24: {\n boxShadow: tokenShadows[\"3xl\"],\n border: `1px solid ${border.secondary}`,\n },\n },\n },\n\n // ─── Accordion ──────────────────────────────────────────────────\n MuiAccordion: {\n defaultProps: {\n disableGutters: true,\n elevation: 0,\n },\n styleOverrides: {\n root: {\n border: `1px solid ${border.secondary}`,\n borderRadius: radius.lg,\n \"&:not(:last-child)\": {\n marginBottom: 8,\n },\n \"&:before\": {\n display: \"none\",\n },\n \"&.Mui-expanded\": {\n margin: 0,\n marginBottom: 8,\n borderRadius: radius.lg,\n },\n },\n },\n },\n MuiAccordionSummary: {\n styleOverrides: {\n root: {\n padding: \"0 24px\",\n minHeight: 56,\n \"&.Mui-expanded\": {\n minHeight: 56,\n borderBottom: `1px solid ${border.secondary}`,\n },\n },\n content: {\n margin: \"12px 0\",\n \"&.Mui-expanded\": {\n margin: \"12px 0\",\n },\n },\n },\n },\n MuiAccordionDetails: {\n styleOverrides: {\n root: {\n padding: \"24px\",\n },\n },\n },\n\n // ─── AppBar ─────────────────────────────────────────────────────\n MuiAppBar: {\n defaultProps: {\n elevation: 0,\n color: \"transparent\",\n },\n styleOverrides: {\n root: {\n borderBottom: `1px solid ${border.secondary}`,\n backgroundColor: bg.primary,\n },\n },\n },\n MuiToolbar: {\n styleOverrides: {\n root: {\n minHeight: 64,\n \"@media (min-width: 600px)\": {\n minHeight: 64,\n },\n },\n dense: {\n minHeight: 48,\n \"@media (min-width: 600px)\": {\n minHeight: 48,\n },\n },\n },\n },\n\n // ─── Tabs ──────────────────────────────────────────────────────────\n MuiTabs: {\n styleOverrides: {\n root: {\n minHeight: 48,\n },\n indicator: {\n backgroundColor: info[600],\n height: 2,\n },\n },\n },\n MuiTab: {\n styleOverrides: {\n root: {\n minHeight: 48,\n height: 48,\n padding: \"12px 16px\",\n fontSize: 14,\n fontWeight: 600,\n lineHeight: \"20px\",\n textTransform: \"none\",\n color: text.tertiary,\n borderRadius: `${radius.md}px ${radius.md}px 0 0`,\n \"&:hover\": {\n backgroundColor: bg.primaryHover,\n },\n \"&.Mui-selected\": {\n color: info[700],\n backgroundColor: info[50],\n },\n },\n },\n },\n\n // ─── Chip ───────────────────────────────────────────────────────\n MuiChip: {\n variants: [\n ...(highlight\n ? [\n {\n props: { color: \"highlight\" as const },\n style: {\n \"&.MuiChip-filled\": {\n backgroundColor: highlight[600],\n color: base.white,\n \"& .MuiChip-deleteIcon\": { color: highlight[200] },\n },\n \"&.MuiChip-outlined\": {\n borderColor: highlight[300],\n color: highlight[700],\n \"& .MuiChip-deleteIcon\": { color: highlight[400] },\n },\n },\n },\n ]\n : []),\n ],\n styleOverrides: {\n root: {\n borderRadius: radius.md,\n },\n label: {\n fontWeight: 500,\n },\n sizeSmall: {\n fontSize: 12,\n height: 20,\n },\n sizeMedium: {\n fontSize: 14,\n height: 24,\n \"& .MuiChip-deleteIcon\": { fontSize: 16 },\n },\n colorDefault: {\n \"&.MuiChip-filled\": {\n backgroundColor: tokens.bg.secondaryHover,\n color: tokens.fg.secondary,\n \"& .MuiChip-deleteIcon\": { color: tokens.fg.quinary },\n },\n },\n colorPrimary: {\n \"&.MuiChip-filled\": {\n backgroundColor: tokens.bg.brandPrimary,\n color: tokens.fg.brandPrimary,\n \"& .MuiChip-deleteIcon\": { color: tokens.fg.brandPrimary },\n },\n },\n colorSecondary: {\n \"&.MuiChip-filled\": {\n backgroundColor: highlight ? highlight[50] : tokens.bg.secondarySubtle,\n color: highlight ? highlight[700] : tokens.text.secondary,\n \"& .MuiChip-deleteIcon\": {\n color: highlight ? highlight[500] : tokens.fg.secondary,\n },\n },\n },\n colorError: {\n \"&.MuiChip-filled\": {\n backgroundColor: error[50],\n color: error[700],\n \"& .MuiChip-deleteIcon\": { color: error[400] },\n },\n },\n colorWarning: {\n \"&.MuiChip-filled\": {\n backgroundColor: warning[50],\n color: warning[700],\n \"& .MuiChip-deleteIcon\": { color: warning[400] },\n },\n },\n colorSuccess: {\n \"&.MuiChip-filled\": {\n backgroundColor: success[50],\n color: success[700],\n \"& .MuiChip-deleteIcon\": { color: success[400] },\n },\n },\n colorInfo: {\n \"&.MuiChip-filled\": {\n backgroundColor: info[50],\n color: info[700],\n \"& .MuiChip-deleteIcon\": { color: info[400] },\n },\n },\n },\n },\n\n // ─── Form Control / Label ───────────────────────────────────────\n MuiFormControlLabel: {\n styleOverrides: {\n root: {\n marginLeft: 0,\n gap: 8,\n },\n label: {\n fontSize: 14,\n lineHeight: \"20px\",\n fontWeight: 500,\n color: text.secondary,\n },\n },\n },\n\n // ─── Table ───────────────────────────────────────────────────────\n MuiTable: {\n styleOverrides: {\n root: {\n borderCollapse: \"separate\",\n borderSpacing: 0,\n },\n },\n },\n MuiTableCell: {\n styleOverrides: {\n root: {\n borderBottom: `1px solid ${border.secondary}`,\n padding: \"16px 24px\",\n fontSize: 14,\n lineHeight: \"20px\",\n color: fg.tertiary,\n },\n head: {\n backgroundColor: bg.secondary,\n color: fg.tertiary,\n fontWeight: 500,\n fontSize: 12,\n lineHeight: \"18px\",\n },\n body: {\n color: fg.tertiary,\n },\n },\n },\n MuiTableHead: {\n styleOverrides: {\n root: {\n backgroundColor: bg.secondary,\n \"& .MuiTableRow-root:last-child .MuiTableCell-root\": {\n borderBottom: `1px solid ${border.secondary}`,\n },\n },\n },\n },\n MuiTableRow: {\n styleOverrides: {\n root: {\n backgroundColor: bg.secondary,\n \"&:last-child td, &:last-child th\": {\n border: 0,\n },\n \"&:hover\": {\n backgroundColor: bg.primaryHover,\n },\n \"&.Mui-selected\": {\n backgroundColor: info[50],\n \"&:hover\": {\n backgroundColor: info[100],\n },\n },\n },\n },\n },\n MuiTableContainer: {\n styleOverrides: {\n root: {\n borderRadius: radius.xl,\n border: `1px solid ${border.secondary}`,\n boxShadow: \"none\",\n },\n },\n },\n\n // ─── Badge ──────────────────────────────────────────────────────\n MuiBadge: {\n styleOverrides: {\n standard: {\n fontWeight: 500,\n fontSize: 12,\n lineHeight: \"18px\",\n minWidth: 20,\n height: 20,\n borderRadius: radius.full,\n },\n colorPrimary: {\n backgroundColor: bg.brandSolid,\n },\n colorError: {\n backgroundColor: bg.errorSolid,\n },\n colorSuccess: {\n backgroundColor: bg.successSolid,\n },\n colorWarning: {\n backgroundColor: bg.warningSolid,\n },\n dot: {\n minWidth: 8,\n height: 8,\n borderRadius: radius.full,\n ...(highlight && {\n \"&.MuiBadge-colorDefault, &.MuiBadge-colorPrimary\": {\n backgroundColor: highlight[500],\n },\n }),\n },\n },\n },\n\n // ─── Divider ────────────────────────────────────────────────────\n MuiDivider: {\n styleOverrides: {\n root: {\n borderColor: border.secondary,\n },\n },\n },\n\n // ─── List ───────────────────────────────────────────────────────\n MuiList: {\n styleOverrides: {\n root: {\n padding: 4,\n },\n },\n },\n MuiListItemButton: {\n styleOverrides: {\n root: {\n borderRadius: radius.sm,\n padding: \"8px 12px\",\n \"&:hover\": {\n backgroundColor: bg.primaryHover,\n },\n \"&.Mui-selected\": {\n backgroundColor: info[50],\n color: info[700],\n \"&:hover\": {\n backgroundColor: info[100],\n },\n },\n },\n },\n },\n MuiListItemIcon: {\n styleOverrides: {\n root: {\n minWidth: 36,\n color: fg.quaternary,\n },\n },\n },\n MuiListItemText: {\n styleOverrides: {\n primary: {\n fontSize: 14,\n lineHeight: \"20px\",\n fontWeight: 500,\n color: text.secondary,\n },\n secondary: {\n fontSize: 14,\n lineHeight: \"20px\",\n color: text.quaternary,\n },\n },\n },\n\n // ─── Tooltip ────────────────────────────────────────────────────\n MuiTooltip: {\n styleOverrides: {\n tooltip: {\n backgroundColor: bg.primarySolid,\n color: text.white,\n fontSize: 12,\n lineHeight: \"18px\",\n fontWeight: 600,\n padding: \"8px 12px\",\n borderRadius: radius.md,\n boxShadow: tokenShadows.lg,\n },\n arrow: {\n color: bg.primarySolid,\n },\n },\n },\n\n // ─── Alert ──────────────────────────────────────────────────────\n MuiAlert: {\n defaultProps: {\n variant: \"standard\",\n },\n variants: [\n ...(highlight\n ? [\n {\n props: { variant: \"featured\" as const },\n style: {\n borderRadius: radius.xl,\n fontSize: 14,\n lineHeight: \"20px\",\n padding: \"12px 16px\",\n alignItems: \"center\",\n backgroundColor: highlight[50],\n color: highlight[700],\n border: `1px solid ${highlight[200]}`,\n \"& .MuiAlert-icon\": {\n color: highlight[600],\n padding: 0,\n marginRight: 12,\n },\n \"& .MuiAlertTitle-root\": {\n color: highlight[800],\n },\n },\n },\n ]\n : []),\n ],\n styleOverrides: {\n root: {\n borderRadius: radius.xl,\n fontSize: 14,\n lineHeight: \"20px\",\n padding: \"12px 16px\",\n alignItems: \"center\",\n },\n standardError: {\n backgroundColor: bg.errorPrimary,\n color: error[700],\n border: `1px solid ${border.error}`,\n \"& .MuiAlert-icon\": {\n color: fg.errorPrimary,\n },\n },\n standardWarning: {\n backgroundColor: bg.warningPrimary,\n color: warning[700],\n border: `1px solid ${warning[300]}`,\n \"& .MuiAlert-icon\": {\n color: fg.warningPrimary,\n },\n },\n standardSuccess: {\n backgroundColor: bg.successPrimary,\n color: success[700],\n border: `1px solid ${success[300]}`,\n \"& .MuiAlert-icon\": {\n color: fg.successPrimary,\n },\n },\n standardInfo: {\n backgroundColor: info[50],\n color: info[700],\n border: `1px solid ${info[300]}`,\n \"& .MuiAlert-icon\": {\n color: info[600],\n },\n },\n icon: {\n padding: 0,\n marginRight: 12,\n },\n },\n },\n MuiAlertTitle: {\n styleOverrides: {\n root: {\n fontWeight: 600,\n fontSize: 14,\n lineHeight: \"20px\",\n marginBottom: 4,\n },\n },\n },\n\n // ─── Backdrop ───────────────────────────────────────────────────\n MuiBackdrop: {\n styleOverrides: {\n root: {\n backgroundColor: \"rgba(16, 24, 40, 0.7)\",\n },\n },\n },\n\n // ─── Dialog ─────────────────────────────────────────────────────\n MuiDialog: {\n styleOverrides: {\n paper: {\n borderRadius: radius.xl,\n boxShadow: tokenShadows.xl,\n padding: 0,\n },\n },\n },\n MuiDialogTitle: {\n styleOverrides: {\n root: {\n fontSize: 18,\n lineHeight: \"28px\",\n fontWeight: 600,\n color: text.primary,\n padding: \"24px 24px 0\",\n },\n },\n },\n MuiDialogContent: {\n styleOverrides: {\n root: {\n padding: \"20px 24px\",\n fontSize: 14,\n lineHeight: \"20px\",\n color: text.tertiary,\n },\n },\n },\n MuiDialogActions: {\n styleOverrides: {\n root: {\n padding: \"0 24px 24px\",\n gap: 12,\n },\n },\n },\n\n // ─── Progress ───────────────────────────────────────────────────\n MuiLinearProgress: {\n styleOverrides: {\n root: {\n borderRadius: radius.full,\n height: 8,\n backgroundColor: border.secondary,\n },\n barColorPrimary: {\n backgroundColor: fg.brandPrimary,\n borderRadius: radius.full,\n },\n barColorSecondary: {\n backgroundColor: bg.secondarySolid,\n borderRadius: radius.full,\n },\n },\n },\n MuiCircularProgress: {\n styleOverrides: {\n colorPrimary: {\n color: fg.brandPrimary,\n },\n colorSecondary: {\n color: bg.secondarySolid,\n },\n },\n },\n\n // ─── Skeleton ───────────────────────────────────────────────────\n MuiSkeleton: {\n defaultProps: {\n animation: \"wave\",\n },\n styleOverrides: {\n root: {\n backgroundColor: bg.tertiary,\n },\n rounded: {\n borderRadius: radius.md,\n },\n circular: {\n borderRadius: radius.full,\n },\n },\n },\n\n // ─── Snackbar ───────────────────────────────────────────────────\n MuiSnackbarContent: {\n styleOverrides: {\n root: {\n backgroundColor: bg.primarySolid,\n color: text.white,\n borderRadius: radius.xl,\n boxShadow: tokenShadows.lg,\n fontSize: 14,\n lineHeight: \"20px\",\n fontWeight: 500,\n padding: \"6px 16px\",\n },\n },\n },\n\n // ─── Typography ─────────────────────────────────────────────────\n MuiTypography: {\n defaultProps: {\n variantMapping: {\n h1: \"h1\",\n h2: \"h2\",\n h3: \"h3\",\n h4: \"h4\",\n h5: \"h5\",\n h6: \"h6\",\n subtitle1: \"p\",\n subtitle2: \"p\",\n body1: \"p\",\n body2: \"p\",\n caption: \"span\",\n overline: \"span\",\n },\n },\n },\n\n // ─── Slider ─────────────────────────────────────────────────────\n MuiSlider: {\n styleOverrides: {\n root: {\n color: fg.brandPrimary,\n height: 8,\n \"&.Mui-disabled\": {\n color: border.secondary,\n },\n },\n thumb: {\n width: 20,\n height: 20,\n backgroundColor: sliderColors.handleBg,\n border: `2px solid ${sliderColors.handleBorder}`,\n boxShadow: tokenShadows.xs,\n \"&:hover, &.Mui-focusVisible\": {\n boxShadow: focusRings.brandShadowXs,\n },\n \"&.Mui-active\": {\n boxShadow: focusRings.brandShadowSm,\n },\n },\n track: {\n borderRadius: radius.full,\n border: \"none\",\n },\n rail: {\n backgroundColor: border.secondary,\n borderRadius: radius.full,\n opacity: 1,\n },\n valueLabel: {\n backgroundColor: bg.primarySolid,\n borderRadius: radius.md,\n fontSize: 12,\n fontWeight: 600,\n padding: \"4px 8px\",\n },\n mark: {\n backgroundColor: border.secondary,\n width: 4,\n height: 4,\n borderRadius: radius.full,\n },\n markActive: {\n backgroundColor: fg.brandPrimary,\n },\n markLabel: {\n fontSize: 12,\n color: text.tertiary,\n },\n },\n },\n\n // ─── Rating ─────────────────────────────────────────────────────\n MuiRating: {\n styleOverrides: {\n root: {\n color: fg.brandPrimary,\n gap: 4,\n },\n iconEmpty: {\n color: border.secondary,\n },\n iconFilled: {\n color: fg.brandPrimary,\n },\n iconHover: {\n color: buttonColors.primary.bgHover,\n },\n },\n },\n\n // ─── Pagination ─────────────────────────────────────────────────\n MuiPagination: {\n defaultProps: {\n shape: \"rounded\",\n },\n },\n MuiPaginationItem: {\n styleOverrides: {\n root: {\n borderRadius: radius.md,\n fontSize: 14,\n fontWeight: 500,\n color: text.secondary,\n \"&:hover\": {\n backgroundColor: bg.primaryHover,\n },\n \"&.Mui-selected\": {\n backgroundColor: fg.brandPrimary,\n color: base.white,\n \"&:hover\": {\n backgroundColor: buttonColors.primary.bgHover,\n },\n },\n \"&.Mui-focusVisible\": {\n boxShadow: focusRings.brandShadowXs,\n },\n },\n outlined: {\n border: `1px solid ${border.primary}`,\n \"&.Mui-selected\": {\n backgroundColor: fg.brandPrimary,\n color: base.white,\n borderColor: fg.brandPrimary,\n },\n },\n },\n },\n\n // ─── Avatar ─────────────────────────────────────────────────────\n MuiAvatar: {\n styleOverrides: {\n root: {\n backgroundColor: avatarColors.bg,\n fontSize: 14,\n fontWeight: 600,\n border: `1.5px solid ${avatarColors.contrastBorder}`,\n },\n rounded: {\n borderRadius: radius.md,\n },\n },\n },\n MuiAvatarGroup: {\n styleOverrides: {\n avatar: {\n border: `2px solid ${avatarColors.profilePhotoBorder}`,\n width: 32,\n height: 32,\n fontSize: 13,\n fontWeight: 600,\n },\n },\n },\n\n // ─── BottomNavigation ───────────────────────────────────────────\n MuiBottomNavigation: {\n styleOverrides: {\n root: {\n backgroundColor: bg.primary,\n borderTop: `1px solid ${border.secondary}`,\n },\n },\n },\n MuiBottomNavigationAction: {\n styleOverrides: {\n root: {\n color: fg.quaternary,\n \"&.Mui-selected\": {\n color: fg.brandPrimary,\n },\n },\n label: {\n fontSize: 12,\n fontWeight: 500,\n \"&.Mui-selected\": {\n fontSize: 12,\n fontWeight: 600,\n },\n },\n },\n },\n\n // ─── SpeedDial ──────────────────────────────────────────────────\n MuiSpeedDial: {\n styleOverrides: {\n fab: {\n backgroundColor: fg.brandPrimary,\n color: base.white,\n boxShadow: tokenShadows.md,\n \"&:hover\": {\n backgroundColor: buttonColors.primary.bgHover,\n },\n },\n },\n },\n MuiSpeedDialAction: {\n styleOverrides: {\n fab: {\n backgroundColor: bg.primary,\n color: fg.secondary,\n boxShadow: tokenShadows.sm,\n border: `1px solid ${border.secondary}`,\n \"&:hover\": {\n backgroundColor: bg.primaryHover,\n },\n },\n staticTooltipLabel: {\n backgroundColor: bg.primarySolid,\n color: text.white,\n fontSize: 12,\n fontWeight: 600,\n borderRadius: radius.md,\n whiteSpace: \"nowrap\",\n },\n },\n },\n\n // ─── Stepper ────────────────────────────────────────────────────\n MuiStepper: {\n styleOverrides: {\n root: {\n padding: 0,\n },\n },\n },\n MuiStepLabel: {\n styleOverrides: {\n label: {\n fontSize: 14,\n fontWeight: 500,\n color: text.tertiary,\n \"&.Mui-active\": {\n color: text.primary,\n fontWeight: 600,\n },\n \"&.Mui-completed\": {\n color: text.primary,\n fontWeight: 500,\n },\n },\n },\n },\n MuiStepIcon: {\n styleOverrides: {\n root: {\n color: border.secondary,\n \"&.Mui-active\": {\n color: fg.brandPrimary,\n },\n \"&.Mui-completed\": {\n color: fg.brandPrimary,\n },\n },\n text: {\n fontSize: 12,\n fontWeight: 600,\n },\n },\n },\n MuiStepConnector: {\n styleOverrides: {\n line: {\n borderColor: border.secondary,\n },\n lineHorizontal: {\n borderTopWidth: 2,\n },\n lineVertical: {\n borderLeftWidth: 2,\n },\n },\n },\n\n // ─── MobileStepper ──────────────────────────────────────────────\n MuiMobileStepper: {\n styleOverrides: {\n root: {\n backgroundColor: \"transparent\",\n padding: \"8px 0\",\n },\n dot: {\n backgroundColor: border.secondary,\n width: 8,\n height: 8,\n },\n dotActive: {\n backgroundColor: fg.brandPrimary,\n },\n progress: {\n width: \"100%\",\n backgroundColor: border.secondary,\n borderRadius: radius.full,\n \"& .MuiLinearProgress-bar\": {\n backgroundColor: fg.brandPrimary,\n borderRadius: radius.full,\n },\n },\n },\n },\n\n // ─── Breadcrumbs ────────────────────────────────────────────────\n MuiBreadcrumbs: {\n styleOverrides: {\n root: {\n fontSize: 14,\n lineHeight: \"20px\",\n },\n separator: {\n color: breadcrumbColors.iconFg,\n marginLeft: 4,\n marginRight: 4,\n },\n li: {\n \"& a\": {\n color: breadcrumbColors.fg,\n textDecoration: \"none\",\n fontWeight: 500,\n \"&:hover\": {\n color: breadcrumbColors.fgHover,\n },\n },\n },\n },\n },\n\n // ─── Link ───────────────────────────────────────────────────────\n MuiLink: {\n styleOverrides: {\n root: {\n color: info[600],\n fontWeight: 500,\n textDecorationColor: info[600],\n \"&:hover\": {\n color: info[700],\n textDecorationColor: info[700],\n },\n },\n },\n },\n\n // ─── Popover ────────────────────────────────────────────────────\n MuiPopover: {\n styleOverrides: {\n paper: {\n borderRadius: radius.lg,\n boxShadow: tokenShadows.lg,\n border: `1px solid ${border.secondary}`,\n },\n },\n },\n\n // ─── Snackbar ───────────────────────────────────────────────────\n MuiSnackbar: {\n defaultProps: {\n anchorOrigin: { vertical: \"bottom\", horizontal: \"center\" },\n },\n },\n\n // ─── CardActionArea ─────────────────────────────────────────────\n MuiCardActionArea: {\n styleOverrides: {\n root: {\n \"&:hover .MuiCardActionArea-focusHighlight\": {\n opacity: 0.04,\n },\n \"&.Mui-focusVisible .MuiCardActionArea-focusHighlight\": {\n opacity: 0.08,\n },\n },\n },\n },\n\n // ─── FilledInput ────────────────────────────────────────────────\n MuiFilledInput: {\n styleOverrides: {\n root: {\n borderRadius: `${radius.md}px ${radius.md}px 0 0`,\n backgroundColor: bg.secondary,\n \"&:hover\": {\n backgroundColor: bg.secondaryHover,\n },\n \"&.Mui-focused\": {\n backgroundColor: bg.secondary,\n },\n \"&:after\": {\n borderBottomColor: fg.brandPrimary,\n },\n },\n input: {\n padding: \"6px 12px\",\n fontSize: 14,\n lineHeight: \"20px\",\n },\n },\n },\n\n // ─── TablePagination ────────────────────────────────────────────\n MuiTablePagination: {\n styleOverrides: {\n root: {\n fontSize: 14,\n color: text.tertiary,\n },\n selectLabel: {\n fontSize: 14,\n color: text.tertiary,\n },\n displayedRows: {\n fontSize: 14,\n color: text.tertiary,\n },\n select: {\n fontSize: 14,\n },\n actions: {\n \"& .MuiIconButton-root\": {\n color: fg.quaternary,\n \"&:hover\": {\n backgroundColor: bg.primaryHover,\n color: fg.brandPrimary,\n },\n },\n },\n },\n },\n\n // ─── TableSortLabel ─────────────────────────────────────────────\n MuiTableSortLabel: {\n styleOverrides: {\n root: {\n \"&:hover\": {\n color: fg.secondary,\n },\n \"&.Mui-active\": {\n color: fg.secondary,\n \"& .MuiTableSortLabel-icon\": {\n color: fg.brandPrimary,\n },\n },\n },\n },\n },\n\n // ─── TabScrollButton ────────────────────────────────────────────\n MuiTabScrollButton: {\n styleOverrides: {\n root: {\n color: fg.quaternary,\n \"&:hover\": {\n color: fg.brandPrimary,\n },\n },\n },\n },\n\n // ─── DataGrid (@mui/x-data-grid) ──────────────────────────────\n // Not part of MUI core's Components<Theme> type, so we merge via assertion.\n ...({\n MuiDataGrid: {\n styleOverrides: {\n root: {\n border: `1px solid ${border.secondary}`,\n borderRadius: radius.xl,\n fontFamily: \"inherit\",\n \"& .MuiDataGrid-withBorderColor\": {\n borderColor: border.secondary,\n },\n },\n columnHeaders: {\n backgroundColor: bg.secondary,\n },\n columnHeader: {\n fontSize: 12,\n lineHeight: \"18px\",\n fontWeight: 500,\n color: fg.tertiary,\n \"&:focus, &:focus-within\": {\n outline: \"none\",\n },\n },\n columnHeaderTitle: {\n fontWeight: 500,\n },\n cell: {\n display: \"flex\",\n alignItems: \"center\",\n fontSize: 14,\n lineHeight: \"20px\",\n color: fg.tertiary,\n \"&:focus, &:focus-within\": {\n outline: \"none\",\n },\n },\n row: {\n backgroundColor: bg.secondary,\n \"&:hover\": {\n backgroundColor: bg.primaryHover,\n },\n \"&.Mui-selected\": {\n backgroundColor: bg.brandPrimary,\n \"&:hover\": {\n backgroundColor: bg.brandPrimary,\n },\n },\n },\n footerContainer: {\n borderTop: `1px solid ${border.secondary}`,\n },\n columnSeparator: {\n color: border.secondary,\n },\n },\n },\n } as Record<string, unknown>),\n\n // ─── DatePicker (@mui/x-date-pickers) ────────────────────────────\n // MUI X uses its own sub-components that are separate from MuiOutlinedInput,\n // so height/padding and brand colours must be set here independently.\n ...(({\n // Input field — mirrors MuiOutlinedInput sizing\n MuiPickersTextField: {\n styleOverrides: {\n root: {\n \"& .MuiInputBase-root\": {\n height: 32,\n borderRadius: radius.md,\n boxShadow: tokenShadows.xs,\n fontSize: 14,\n lineHeight: \"20px\",\n },\n \"& .MuiInputBase-input\": {\n padding: \"6px 12px\",\n fontSize: 14,\n lineHeight: \"20px\",\n },\n \"& .MuiOutlinedInput-notchedOutline\": {\n borderColor: border.primary,\n },\n \"&:hover:not(:has(.Mui-disabled)) .MuiOutlinedInput-notchedOutline\": {\n borderColor: border.brand,\n },\n \"& .Mui-focused .MuiOutlinedInput-notchedOutline\": {\n borderColor: border.brandSolid,\n borderWidth: 1,\n boxShadow: \"none\",\n },\n \"& .MuiInputAdornment-root .MuiIconButton-root\": {\n color: fg.quaternary,\n \"&:hover\": {\n backgroundColor: bg.primaryHover,\n color: fg.brandPrimary,\n },\n },\n },\n },\n },\n\n // Calendar popup container\n MuiPickersPopper: {\n styleOverrides: {\n paper: {\n borderRadius: radius.xl,\n boxShadow: tokenShadows.lg,\n border: `1px solid ${border.secondary}`,\n marginTop: 4,\n },\n },\n },\n\n // Calendar layout\n MuiDateCalendar: {\n styleOverrides: {\n root: {\n width: 280,\n height: \"auto\",\n },\n },\n },\n\n // Month/year header navigation\n MuiPickersCalendarHeader: {\n styleOverrides: {\n root: {\n paddingLeft: 16,\n paddingRight: 8,\n marginTop: 8,\n },\n label: {\n fontSize: 14,\n fontWeight: 600,\n color: text.primary,\n },\n switchViewButton: {\n color: fg.quaternary,\n \"&:hover\": { backgroundColor: bg.primaryHover, color: fg.brandPrimary },\n },\n },\n },\n MuiPickersArrowSwitcher: {\n styleOverrides: {\n button: {\n color: fg.quaternary,\n \"&:hover\": { backgroundColor: bg.primaryHover, color: fg.brandPrimary },\n },\n },\n },\n\n // Day/week header labels\n MuiDayCalendar: {\n styleOverrides: {\n weekDayLabel: {\n fontSize: 12,\n fontWeight: 500,\n color: text.tertiary,\n width: 32,\n height: 32,\n },\n weekContainer: {\n margin: \"2px 0\",\n },\n },\n },\n\n // Individual day cells\n MuiPickersDay: {\n defaultProps: {\n disableRipple: true,\n },\n styleOverrides: {\n root: {\n fontSize: 13,\n fontWeight: 400,\n width: 32,\n height: 32,\n borderRadius: radius.md,\n color: text.primary,\n backgroundColor: \"transparent\",\n \"&:hover\": {\n backgroundColor: bg.primaryHover,\n },\n \"&.Mui-selected\": {\n backgroundColor: info[600],\n color: base.white,\n fontWeight: 600,\n \"&:hover\": {\n backgroundColor: info[700],\n },\n \"&:focus\": {\n backgroundColor: info[600],\n },\n },\n \"&.MuiPickersDay-today\": {\n border: `1px solid ${info[600]}`,\n color: info[700],\n backgroundColor: \"transparent\",\n fontWeight: 600,\n \"&.Mui-selected\": {\n backgroundColor: info[600],\n color: base.white,\n border: \"none\",\n },\n },\n \"&.Mui-focusVisible\": {\n boxShadow: focusRings.brand,\n },\n \"&.Mui-disabled\": {\n color: text.disabled,\n },\n },\n },\n },\n\n // Year picker cells\n MuiPickersYear: {\n styleOverrides: {\n yearButton: {\n fontSize: 13,\n borderRadius: radius.md,\n \"&:hover\": { backgroundColor: bg.primaryHover },\n \"&.Mui-selected\": {\n backgroundColor: fg.brandPrimary,\n color: base.white,\n \"&:hover\": { backgroundColor: buttonColors.primary.bgHover },\n },\n },\n },\n },\n\n // Month picker cells\n MuiPickersMonth: {\n styleOverrides: {\n monthButton: {\n fontSize: 13,\n borderRadius: radius.md,\n \"&:hover\": { backgroundColor: bg.primaryHover },\n \"&.Mui-selected\": {\n backgroundColor: fg.brandPrimary,\n color: base.white,\n \"&:hover\": { backgroundColor: buttonColors.primary.bgHover },\n },\n },\n },\n },\n }) as Record<string, unknown>),\n };\n}\n\n","import type { ThemePreset } from \"../types\";\nimport {\n spacing,\n radius as forestRadius,\n shadows as tokenShadows,\n fontSize,\n lineHeight,\n fontWeight,\n display,\n container,\n widths,\n alpha,\n base,\n error,\n warning,\n success,\n info,\n misc,\n violet,\n gray,\n} from \"../tokens\";\n\n// ─── Semantic Colors — resolve against imported primitives ────────────────────────────\n\n// Colors object using imported primitives\nconst colors = {\n base,\n error,\n warning,\n success,\n info,\n brand: violet,\n gray: gray,\n};\n\nconst radius = {\n ...forestRadius,\n xxs: 1,\n xs: 2,\n sm: 3,\n md: 4,\n lg: 5,\n xl: 6,\n \"2xl\": 8,\n \"3xl\": 10,\n \"4xl\": 12,\n};\n\n// ─── Semantic Colors — Text ──────────────────────────────────────\n// Same formulas as forest, resolved against alkemy+ primitives.\n\nconst text = {\n primary: gray[900],\n secondary: gray[700],\n secondaryHover: gray[800],\n tertiary: gray[600],\n tertiaryHover: gray[700],\n quaternary: gray[500],\n disabled: gray[500],\n placeholder: gray[500],\n placeholderSubtle: gray[300],\n white: base.white,\n brandPrimary: violet[900],\n brandSecondary: violet[700],\n brandTertiary: violet[600],\n brandTertiaryAlt: violet[600],\n primaryOnBrand: base.white,\n secondaryOnBrand: violet[200],\n tertiaryOnBrand: violet[200],\n quaternaryOnBrand: violet[300],\n errorPrimary: error[600],\n warningPrimary: warning[600],\n successPrimary: success[600],\n} as const;\n\n// ─── Semantic Colors — Background ────────────────────────────────\n\nconst bg = {\n primary: gray[50],\n primaryAlt: gray[50],\n primaryHover: gray[100],\n primarySolid: gray[950],\n secondary: base.white,\n secondaryAlt: base.white,\n secondarySubtle: gray[25],\n secondaryHover: gray[50],\n secondarySolid: gray[600],\n tertiary: gray[100],\n quaternary: gray[200],\n active: gray[200],\n disabled: gray[100],\n disabledSubtle: gray[50],\n overlay: gray[950],\n brandPrimary: violet[50],\n brandPrimaryAlt: violet[50],\n brandSecondary: violet[100],\n brandSolid: violet[400],\n brandSolidHover: violet[500],\n brandSection: violet[800],\n brandSectionSubtle: violet[700],\n errorPrimary: error[50],\n errorSecondary: error[100],\n errorSolid: error[600],\n warningPrimary: warning[50],\n warningSecondary: warning[100],\n warningSolid: warning[600],\n successPrimary: success[50],\n successSecondary: success[100],\n successSolid: success[600],\n} as const;\n\n// ─── Semantic Colors — Foreground ────────────────────────────────\n\nconst fg = {\n primary: gray[900],\n secondary: gray[700],\n secondaryHover: gray[800],\n tertiary: gray[600],\n tertiaryHover: gray[700],\n quaternary: gray[500],\n quaternaryHover: gray[600],\n quinary: gray[400],\n quinaryHover: gray[500],\n senary: gray[300],\n white: base.white,\n disabled: gray[400],\n disabledSubtle: gray[300],\n brandPrimary: violet[400],\n brandPrimaryAlt: violet[400],\n brandSecondary: violet[400],\n errorPrimary: error[600],\n errorSecondary: error[500],\n warningPrimary: warning[600],\n warningSecondary: warning[500],\n successPrimary: success[600],\n successSecondary: success[500],\n} as const;\n\n// ─── Semantic Colors — Border ────────────────────────────────────\n\nconst border = {\n primary: gray[300],\n secondary: gray[200],\n tertiary: gray[100],\n disabled: gray[300],\n disabledSubtle: gray[200],\n brand: violet[300],\n brandSolid: violet[400],\n brandSolidAlt: violet[400],\n error: error[300],\n errorSolid: error[600],\n} as const;\n\n// ─── Component Colors — Buttons ──────────────────────────────────\n\nconst buttonColors = {\n primary: {\n bg: violet[400],\n bgHover: violet[500],\n fg: base.white,\n fgHover: base.white,\n border: violet[400],\n borderHover: violet[500],\n },\n secondary: {\n bg: gray[900],\n bgHover: gray[950],\n fg: base.white,\n fgHover: base.white,\n border: gray[900],\n borderHover: gray[950],\n },\n secondaryColor: {\n bg: base.white,\n bgHover: violet[50],\n fg: violet[400],\n fgHover: violet[500],\n border: violet[300],\n borderHover: violet[300],\n },\n tertiary: {\n fg: gray[600],\n fgHover: gray[700],\n bgHover: gray[50],\n },\n tertiaryColor: {\n fg: violet[400],\n fgHover: violet[500],\n bgHover: violet[50],\n },\n primaryError: {\n bg: error[600],\n bgHover: error[700],\n fg: base.white,\n fgHover: base.white,\n border: error[600],\n borderHover: error[700],\n },\n secondaryError: {\n bg: base.white,\n bgHover: error[50],\n fg: error[700],\n fgHover: error[800],\n border: error[300],\n borderHover: error[300],\n },\n tertiaryError: {\n fg: error[700],\n fgHover: error[800],\n bgHover: error[50],\n },\n} as const;\n\n// ─── Component Colors — Avatars ──────────────────────────────────\n\nconst avatarColors = {\n bg: gray[100],\n contrastBorder: \"#00000014\",\n profilePhotoBorder: base.white,\n focusBorder: \"#a0a0a624\", // gray[400] + 14% alpha\n} as const;\n\n// ─── Component Colors — Breadcrumbs ──────────────────────────────\n\nconst breadcrumbColors = {\n fg: gray[600],\n fgHover: gray[700],\n bgHover: gray[50],\n brandBgHover: violet[50],\n brandFgHover: violet[700],\n iconFg: gray[500],\n iconFgHover: gray[700],\n brandIconFgHover: violet[700],\n} as const;\n\n// ─── Component Colors — Icons ────────────────────────────────────\n\nconst iconColors = {\n fgBrand: violet[400],\n fgBrandOnBrand: violet[200],\n featuredModernBorder: gray[200],\n featuredLightFgBrand: violet[400],\n featuredLightFgGray: gray[500],\n featuredLightFgError: error[600],\n featuredLightFgWarning: warning[600],\n featuredLightFgSuccess: success[600],\n featuredDarkFgBrand: base.white,\n featuredDarkFgGray: base.white,\n featuredDarkFgError: base.white,\n featuredDarkFgWarning: base.white,\n featuredDarkFgSuccess: base.white,\n} as const;\n\n// ─── Component Colors — Navigation ──────────────────────────────\n\nconst navColors = {\n itemIconFg: gray[500],\n itemIconFgActive: gray[700],\n itemButtonIconFg: gray[500],\n itemButtonIconFgActive: gray[700],\n} as const;\n\n// ─── Component Colors — Sliders ──────────────────────────────────\n\nconst sliderColors = {\n handleBorder: violet[400],\n handleBg: base.white,\n} as const;\n\n// ─── Component Colors — Toggles ──────────────────────────────────\n\nconst toggleColors = {\n buttonFgDisabled: gray[50],\n} as const;\n\n// ─── Component Colors — Charts ───────────────────────────────────\n\nconst chartColors = {\n axisFg: gray[100],\n gridlineFg: gray[100],\n labelFg: gray[600],\n labelFgEmphasis: gray[700],\n bg: base.white,\n bgAlt: gray[50],\n tooltipBg: gray[950],\n tooltipFg: base.white,\n crosshairFg: gray[500],\n legendFg: text.tertiary,\n series: [\n { fg: misc.purple[500], fgHover: misc.purple[600], bg: misc.purple[100], bgHover: misc.purple[200] },\n { fg: misc.orangeDark[400], fgHover: misc.orangeDark[500], bg: misc.orangeDark[100], bgHover: misc.orangeDark[200] },\n { fg: misc.teal[300], fgHover: misc.teal[400], bg: misc.teal[50], bgHover: misc.teal[100] },\n { fg: warning[400], fgHover: warning[500], bg: warning[100], bgHover: warning[200] },\n { fg: misc.rose[400], fgHover: misc.rose[500], bg: misc.rose[100], bgHover: misc.rose[200] },\n { fg: misc.blueLight[400], fgHover: misc.blueLight[500], bg: misc.blueLight[100], bgHover: misc.blueLight[200] },\n { fg: misc.orange[300], fgHover: misc.orange[400], bg: misc.orange[100], bgHover: misc.orange[200] },\n { fg: misc.cyan[600], fgHover: misc.cyan[700], bg: misc.cyan[100], bgHover: misc.cyan[200] },\n { fg: misc.green[500], fgHover: misc.green[600], bg: misc.green[100], bgHover: misc.green[200] },\n { fg: misc.pink[400], fgHover: misc.pink[500], bg: misc.pink[100], bgHover: misc.pink[200] },\n { fg: misc.fuchsia[400], fgHover: misc.fuchsia[500], bg: misc.fuchsia[100], bgHover: misc.fuchsia[200] },\n { fg: misc.teal[600], fgHover: misc.teal[700], bg: misc.teal[100], bgHover: misc.teal[200] },\n ],\n} as const;\n\n// ─── Focus Rings ─────────────────────────────────────────────────\n// violet[400] = #9D5FFF, gray[400] = #a0a0a6\n\nconst focusRings = {\n brand: \"0px 0px 0px 4px #9D5FFF3d\",\n brandShadowXs: \"0px 1px 2px 0px #1018280d, 0px 0px 0px 4px #9D5FFF3d\",\n brandShadowSm: \"0px 1px 3px 0px #1018281a, 0px 1px 2px 0px #1018280f, 0px 0px 0px 4px #9D5FFF3d\",\n gray: \"0px 0px 0px 4px #a0a0a624\",\n grayShadowXs: \"0px 1px 2px 0px #1018280d, 0px 0px 0px 4px #a0a0a624\",\n grayShadowSm: \"0px 1px 3px 0px #1018281a, 0px 1px 2px 0px #1018280f, 0px 0px 0px 4px #a0a0a624\",\n error: \"0px 0px 0px 4px #f044383d\",\n errorShadowXs: \"0px 1px 2px 0px #1018280d, 0px 0px 0px 4px #f044383d\",\n} as const;\n\n// ─── Preset ──────────────────────────────────────────────────────\n\nexport const forestExternalPreset: ThemePreset = {\n name: \"forest-external\",\n defaultVariant: \"light\",\n variants: {\n light: {\n tokens: {\n base,\n error,\n warning,\n success,\n info,\n spacing,\n radius,\n shadows: tokenShadows,\n focusRings,\n fontFamily: '\"Aeonik\", sans-serif',\n fontFamilyMono: '\"Aeonik Mono\", monospace',\n fontSize,\n lineHeight,\n fontWeight,\n display,\n container,\n widths,\n text,\n bg,\n fg,\n border,\n buttonColors,\n avatarColors,\n breadcrumbColors,\n iconColors,\n navColors,\n sliderColors,\n toggleColors,\n chartColors,\n alpha,\n },\n },\n },\n};\n","import type { ThemePreset } from \"../types\";\nimport {\n spacing,\n radius as forestRadius,\n shadows as tokenShadows,\n fontSize,\n lineHeight,\n fontWeight,\n display,\n container,\n widths,\n alpha,\n base,\n error,\n warning,\n success,\n info,\n misc,\n gray,\n red,\n} from \"../tokens\";\n\n// ─── Semantic Colors — resolve against imported primitives ────────────────────────────\n\n// Colors object using imported primitives\n// Agency brand is near-black, so we use gray[950] as primary brand color\nconst colors = {\n base,\n error,\n warning,\n success,\n info,\n brand: {\n 25: gray[25],\n 50: gray[50],\n 100: gray[100],\n 200: gray[200],\n 300: gray[300],\n 400: gray[400],\n 500: gray[500],\n 600: gray[900], // #18181b - dark brand\n 700: gray[950], // #09090b - primary brand\n 800: gray[950],\n 900: gray[950],\n 950: gray[950],\n },\n accent: red,\n gray: gray,\n};\n\n// ─── Border Radius — minimal / sharp ────────────────────────────\n\nconst radius = {\n ...forestRadius,\n xxs: 1,\n xs: 2,\n sm: 3,\n md: 4,\n lg: 5,\n xl: 6,\n \"2xl\": 8,\n \"3xl\": 10,\n \"4xl\": 12,\n};\n\n// ─── Semantic Colors — Text ──────────────────────────────────────\n// Same formulas as forest, resolved against alkemy+ primitives.\n\nconst text = {\n primary: gray[900],\n secondary: gray[700],\n secondaryHover: gray[800],\n tertiary: gray[600],\n tertiaryHover: gray[700],\n quaternary: gray[500],\n disabled: gray[500],\n placeholder: gray[500],\n placeholderSubtle: gray[300],\n white: base.white,\n brandPrimary: colors.brand[900],\n brandSecondary: colors.brand[700],\n brandTertiary: colors.brand[600],\n brandTertiaryAlt: colors.brand[600],\n primaryOnBrand: base.white,\n secondaryOnBrand: colors.brand[200],\n tertiaryOnBrand: colors.brand[200],\n quaternaryOnBrand: colors.brand[300],\n errorPrimary: error[600],\n warningPrimary: warning[600],\n successPrimary: success[600],\n} as const;\n\n// ─── Semantic Colors — Background ────────────────────────────────\n\nconst bg = {\n primary: gray[50],\n primaryAlt: gray[50],\n primaryHover: gray[100],\n primarySolid: gray[950],\n secondary: base.white,\n secondaryAlt: base.white,\n secondarySubtle: gray[25],\n secondaryHover: gray[50],\n secondarySolid: gray[600],\n tertiary: gray[100],\n quaternary: gray[200],\n active: gray[200],\n disabled: gray[100],\n disabledSubtle: gray[50],\n overlay: gray[950],\n brandPrimary: colors.brand[50],\n brandPrimaryAlt: colors.brand[50],\n brandSecondary: colors.brand[100],\n brandSolid: colors.brand[600],\n brandSolidHover: colors.brand[700],\n brandSection: colors.brand[800],\n brandSectionSubtle: colors.brand[700],\n errorPrimary: error[50],\n errorSecondary: error[100],\n errorSolid: error[600],\n warningPrimary: warning[50],\n warningSecondary: warning[100],\n warningSolid: warning[600],\n successPrimary: success[50],\n successSecondary: success[100],\n successSolid: success[600],\n} as const;\n\n// ─── Semantic Colors — Foreground ────────────────────────────────\n\nconst fg = {\n primary: gray[900],\n secondary: gray[700],\n secondaryHover: gray[800],\n tertiary: gray[600],\n tertiaryHover: gray[700],\n quaternary: gray[500],\n quaternaryHover: gray[600],\n quinary: gray[400],\n quinaryHover: gray[500],\n senary: gray[300],\n white: base.white,\n disabled: gray[400],\n disabledSubtle: gray[300],\n brandPrimary: colors.brand[600],\n brandPrimaryAlt: colors.brand[600],\n brandSecondary: colors.brand[500],\n errorPrimary: error[600],\n errorSecondary: error[500],\n warningPrimary: warning[600],\n warningSecondary: warning[500],\n successPrimary: success[600],\n successSecondary: success[500],\n} as const;\n\n// ─── Semantic Colors — Border ────────────────────────────────────\n\nconst border = {\n primary: gray[300],\n secondary: gray[200],\n tertiary: gray[100],\n disabled: gray[300],\n disabledSubtle: gray[200],\n brand: gray[400],\n brandSolid: colors.brand[600],\n brandSolidAlt: colors.brand[600],\n error: error[300],\n errorSolid: error[600],\n} as const;\n\n// ─── Component Colors — Buttons ──────────────────────────────────\n\nconst buttonColors = {\n primary: {\n bg: colors.brand[700],\n bgHover: colors.brand[800],\n fg: base.white,\n fgHover: base.white,\n border: colors.brand[700],\n borderHover: colors.brand[800],\n },\n secondary: {\n bg: gray[900],\n bgHover: gray[950],\n fg: base.white,\n fgHover: base.white,\n border: gray[900],\n borderHover: gray[950],\n },\n secondaryColor: {\n bg: base.white,\n bgHover: colors.brand[50],\n fg: colors.brand[700],\n fgHover: colors.brand[800],\n border: colors.brand[300],\n borderHover: colors.brand[300],\n },\n tertiary: {\n fg: gray[600],\n fgHover: gray[700],\n bgHover: gray[50],\n },\n tertiaryColor: {\n fg: colors.brand[700],\n fgHover: colors.brand[800],\n bgHover: colors.brand[50],\n },\n primaryError: {\n bg: error[600],\n bgHover: error[700],\n fg: base.white,\n fgHover: base.white,\n border: error[600],\n borderHover: error[700],\n },\n secondaryError: {\n bg: base.white,\n bgHover: error[50],\n fg: error[700],\n fgHover: error[800],\n border: error[300],\n borderHover: error[300],\n },\n tertiaryError: {\n fg: error[700],\n fgHover: error[800],\n bgHover: error[50],\n },\n} as const;\n\n// ─── Component Colors — Avatars ──────────────────────────────────\n\nconst avatarColors = {\n bg: gray[100],\n contrastBorder: \"#00000014\",\n profilePhotoBorder: base.white,\n focusBorder: \"#a0a0a624\", // gray[400] + 14% alpha\n} as const;\n\n// ─── Component Colors — Breadcrumbs ──────────────────────────────\n\nconst breadcrumbColors = {\n fg: gray[600],\n fgHover: gray[700],\n bgHover: gray[50],\n brandBgHover: colors.brand[50],\n brandFgHover: colors.brand[700],\n iconFg: gray[500],\n iconFgHover: gray[700],\n brandIconFgHover: colors.brand[700],\n} as const;\n\n// ─── Component Colors — Icons ────────────────────────────────────\n\nconst iconColors = {\n fgBrand: colors.brand[600],\n fgBrandOnBrand: colors.brand[200],\n featuredModernBorder: gray[200],\n featuredLightFgBrand: colors.brand[600],\n featuredLightFgGray: gray[500],\n featuredLightFgError: error[600],\n featuredLightFgWarning: warning[600],\n featuredLightFgSuccess: success[600],\n featuredDarkFgBrand: base.white,\n featuredDarkFgGray: base.white,\n featuredDarkFgError: base.white,\n featuredDarkFgWarning: base.white,\n featuredDarkFgSuccess: base.white,\n} as const;\n\n// ─── Component Colors — Navigation ──────────────────────────────\n\nconst navColors = {\n itemIconFg: gray[500],\n itemIconFgActive: gray[700],\n itemButtonIconFg: gray[500],\n itemButtonIconFgActive: gray[700],\n} as const;\n\n// ─── Component Colors — Sliders ──────────────────────────────────\n\nconst sliderColors = {\n handleBorder: colors.brand[600],\n handleBg: base.white,\n} as const;\n\n// ─── Component Colors — Toggles ──────────────────────────────────\n\nconst toggleColors = {\n buttonFgDisabled: gray[50],\n} as const;\n\n// ─── Component Colors — Charts ───────────────────────────────────\n\nconst chartColors = {\n axisFg: gray[100],\n gridlineFg: gray[100],\n labelFg: gray[600],\n labelFgEmphasis: gray[700],\n bg: base.white,\n bgAlt: gray[50],\n tooltipBg: gray[950],\n tooltipFg: base.white,\n crosshairFg: gray[500],\n legendFg: text.tertiary,\n series: [\n { fg: misc.purple[500], fgHover: misc.purple[600], bg: misc.purple[100], bgHover: misc.purple[200] },\n { fg: misc.orangeDark[400], fgHover: misc.orangeDark[500], bg: misc.orangeDark[100], bgHover: misc.orangeDark[200] },\n { fg: misc.teal[300], fgHover: misc.teal[400], bg: misc.teal[50], bgHover: misc.teal[100] },\n { fg: warning[400], fgHover: warning[500], bg: warning[100], bgHover: warning[200] },\n { fg: misc.rose[400], fgHover: misc.rose[500], bg: misc.rose[100], bgHover: misc.rose[200] },\n { fg: misc.blueLight[400], fgHover: misc.blueLight[500], bg: misc.blueLight[100], bgHover: misc.blueLight[200] },\n { fg: misc.orange[300], fgHover: misc.orange[400], bg: misc.orange[100], bgHover: misc.orange[200] },\n { fg: misc.cyan[600], fgHover: misc.cyan[700], bg: misc.cyan[100], bgHover: misc.cyan[200] },\n { fg: misc.green[500], fgHover: misc.green[600], bg: misc.green[100], bgHover: misc.green[200] },\n { fg: misc.pink[400], fgHover: misc.pink[500], bg: misc.pink[100], bgHover: misc.pink[200] },\n { fg: misc.fuchsia[400], fgHover: misc.fuchsia[500], bg: misc.fuchsia[100], bgHover: misc.fuchsia[200] },\n { fg: misc.teal[600], fgHover: misc.teal[700], bg: misc.teal[100], bgHover: misc.teal[200] },\n ],\n} as const;\n\n// ─── Focus Rings ─────────────────────────────────────────────────\n// brand[500] = #404040, gray[400] = #a0a0a6\n\nconst focusRings = {\n brand: \"0px 0px 0px 4px #4040403d\",\n brandShadowXs: \"0px 1px 2px 0px #1018280d, 0px 0px 0px 4px #4040403d\",\n brandShadowSm: \"0px 1px 3px 0px #1018281a, 0px 1px 2px 0px #1018280f, 0px 0px 0px 4px #4040403d\",\n gray: \"0px 0px 0px 4px #a0a0a624\",\n grayShadowXs: \"0px 1px 2px 0px #1018280d, 0px 0px 0px 4px #a0a0a624\",\n grayShadowSm: \"0px 1px 3px 0px #1018281a, 0px 1px 2px 0px #1018280f, 0px 0px 0px 4px #a0a0a624\",\n error: \"0px 0px 0px 4px #f044383d\",\n errorShadowXs: \"0px 1px 2px 0px #1018280d, 0px 0px 0px 4px #f044383d\",\n} as const;\n\n// ─── Preset ──────────────────────────────────────────────────────\n\nexport const forestAgencyPreset: ThemePreset = {\n name: \"forest-agency\",\n defaultVariant: \"light\",\n variants: {\n light: {\n tokens: {\n base,\n error,\n warning,\n success,\n info,\n spacing,\n radius,\n shadows: tokenShadows,\n focusRings,\n fontFamily: '\"Aeonik\", sans-serif',\n fontFamilyMono: '\"Aeonik Mono\", monospace',\n fontSize,\n lineHeight,\n fontWeight,\n display,\n container,\n widths,\n text,\n bg,\n fg,\n border,\n buttonColors,\n avatarColors,\n breadcrumbColors,\n iconColors,\n navColors,\n sliderColors,\n toggleColors,\n chartColors,\n alpha,\n },\n },\n },\n};\n","import type { ThemePreset } from \"../types\";\nimport {\n spacing,\n radius as forestRadius,\n shadows as tokenShadows,\n fontSize,\n lineHeight,\n fontWeight,\n display,\n container,\n widths,\n alpha,\n base,\n error,\n warning,\n success,\n info,\n misc,\n magenta,\n gray,\n} from \"../tokens\";\n\n// ─── Semantic Colors — resolve against imported primitives ────────────────────────────\n\n// Colors object using imported primitives\nconst colors = {\n base,\n error,\n warning,\n success,\n info,\n brand: magenta,\n gray: gray,\n};\n\n// ─── Border Radius — minimal / sharp ────────────────────────────\n\nconst radius = {\n ...forestRadius,\n xxs: 1,\n xs: 2,\n sm: 3,\n md: 4,\n lg: 5,\n xl: 6,\n \"2xl\": 8,\n \"3xl\": 10,\n \"4xl\": 12,\n};\n\n// ─── Semantic Colors — Text ──────────────────────────────────────\n// Same formulas as forest, resolved against alkemy+ primitives.\n\nconst text = {\n primary: gray[900],\n secondary: gray[700],\n secondaryHover: gray[800],\n tertiary: gray[600],\n tertiaryHover: gray[700],\n quaternary: gray[500],\n disabled: gray[500],\n placeholder: gray[500],\n placeholderSubtle: gray[300],\n white: base.white,\n brandPrimary: magenta[900],\n brandSecondary: magenta[700],\n brandTertiary: magenta[600],\n brandTertiaryAlt: magenta[600],\n primaryOnBrand: base.white,\n secondaryOnBrand: magenta[200],\n tertiaryOnBrand: magenta[200],\n quaternaryOnBrand: magenta[300],\n errorPrimary: error[600],\n warningPrimary: warning[600],\n successPrimary: success[600],\n} as const;\n\n// ─── Semantic Colors — Background ────────────────────────────────\n\nconst bg = {\n primary: gray[50],\n primaryAlt: gray[50],\n primaryHover: gray[100],\n primarySolid: gray[950],\n secondary: base.white,\n secondaryAlt: base.white,\n secondarySubtle: gray[25],\n secondaryHover: gray[50],\n secondarySolid: gray[600],\n tertiary: gray[100],\n quaternary: gray[200],\n active: gray[200],\n disabled: gray[100],\n disabledSubtle: gray[50],\n overlay: gray[950],\n brandPrimary: magenta[50],\n brandPrimaryAlt: magenta[50],\n brandSecondary: magenta[100],\n brandSolid: magenta[400],\n brandSolidHover: magenta[500],\n brandSection: magenta[800],\n brandSectionSubtle: magenta[700],\n errorPrimary: error[50],\n errorSecondary: error[100],\n errorSolid: error[600],\n warningPrimary: warning[50],\n warningSecondary: warning[100],\n warningSolid: warning[600],\n successPrimary: success[50],\n successSecondary: success[100],\n successSolid: success[600],\n} as const;\n\n// ─── Semantic Colors — Foreground ────────────────────────────────\n\nconst fg = {\n primary: gray[900],\n secondary: gray[700],\n secondaryHover: gray[800],\n tertiary: gray[600],\n tertiaryHover: gray[700],\n quaternary: gray[500],\n quaternaryHover: gray[600],\n quinary: gray[400],\n quinaryHover: gray[500],\n senary: gray[300],\n white: base.white,\n disabled: gray[400],\n disabledSubtle: gray[300],\n brandPrimary: magenta[400],\n brandPrimaryAlt: magenta[400],\n brandSecondary: magenta[400],\n errorPrimary: error[600],\n errorSecondary: error[500],\n warningPrimary: warning[600],\n warningSecondary: warning[500],\n successPrimary: success[600],\n successSecondary: success[500],\n} as const;\n\n// ─── Semantic Colors — Border ────────────────────────────────────\n\nconst border = {\n primary: gray[300],\n secondary: gray[200],\n tertiary: gray[100],\n disabled: gray[300],\n disabledSubtle: gray[200],\n brand: magenta[300],\n brandSolid: magenta[400],\n brandSolidAlt: magenta[400],\n error: error[300],\n errorSolid: error[600],\n} as const;\n\n// ─── Component Colors — Buttons ──────────────────────────────────\n\nconst buttonColors = {\n primary: {\n bg: magenta[400],\n bgHover: magenta[500],\n fg: base.white,\n fgHover: base.white,\n border: magenta[400],\n borderHover: magenta[500],\n },\n secondary: {\n bg: gray[900],\n bgHover: gray[950],\n fg: base.white,\n fgHover: base.white,\n border: gray[900],\n borderHover: gray[950],\n },\n secondaryColor: {\n bg: base.white,\n bgHover: magenta[50],\n fg: magenta[400],\n fgHover: magenta[500],\n border: magenta[300],\n borderHover: magenta[300],\n },\n tertiary: {\n fg: gray[600],\n fgHover: gray[700],\n bgHover: gray[50],\n },\n tertiaryColor: {\n fg: magenta[400],\n fgHover: magenta[500],\n bgHover: magenta[50],\n },\n primaryError: {\n bg: error[600],\n bgHover: error[700],\n fg: base.white,\n fgHover: base.white,\n border: error[600],\n borderHover: error[700],\n },\n secondaryError: {\n bg: base.white,\n bgHover: error[50],\n fg: error[700],\n fgHover: error[800],\n border: error[300],\n borderHover: error[300],\n },\n tertiaryError: {\n fg: error[700],\n fgHover: error[800],\n bgHover: error[50],\n },\n} as const;\n\n// ─── Component Colors — Avatars ──────────────────────────────────\n\nconst avatarColors = {\n bg: gray[100],\n contrastBorder: \"#00000014\",\n profilePhotoBorder: base.white,\n focusBorder: \"#a0a0a624\", // gray[400] + 14% alpha\n} as const;\n\n// ─── Component Colors — Breadcrumbs ──────────────────────────────\n\nconst breadcrumbColors = {\n fg: gray[600],\n fgHover: gray[700],\n bgHover: gray[50],\n brandBgHover: magenta[50],\n brandFgHover: magenta[700],\n iconFg: gray[500],\n iconFgHover: gray[700],\n brandIconFgHover: magenta[700],\n} as const;\n\n// ─── Component Colors — Icons ────────────────────────────────────\n\nconst iconColors = {\n fgBrand: magenta[400],\n fgBrandOnBrand: magenta[200],\n featuredModernBorder: gray[200],\n featuredLightFgBrand: magenta[400],\n featuredLightFgGray: gray[500],\n featuredLightFgError: error[600],\n featuredLightFgWarning: warning[600],\n featuredLightFgSuccess: success[600],\n featuredDarkFgBrand: base.white,\n featuredDarkFgGray: base.white,\n featuredDarkFgError: base.white,\n featuredDarkFgWarning: base.white,\n featuredDarkFgSuccess: base.white,\n} as const;\n\n// ─── Component Colors — Navigation ──────────────────────────────\n\nconst navColors = {\n itemIconFg: gray[500],\n itemIconFgActive: gray[700],\n itemButtonIconFg: gray[500],\n itemButtonIconFgActive: gray[700],\n} as const;\n\n// ─── Component Colors — Sliders ──────────────────────────────────\n\nconst sliderColors = {\n handleBorder: magenta[400],\n handleBg: base.white,\n} as const;\n\n// ─── Component Colors — Toggles ──────────────────────────────────\n\nconst toggleColors = {\n buttonFgDisabled: gray[50],\n} as const;\n\n// ─── Component Colors — Charts ───────────────────────────────────\n\nconst chartColors = {\n axisFg: gray[100],\n gridlineFg: gray[100],\n labelFg: gray[600],\n labelFgEmphasis: gray[700],\n bg: base.white,\n bgAlt: gray[50],\n tooltipBg: gray[950],\n tooltipFg: base.white,\n crosshairFg: gray[500],\n legendFg: text.tertiary,\n series: [\n { fg: misc.purple[500], fgHover: misc.purple[600], bg: misc.purple[100], bgHover: misc.purple[200] },\n { fg: misc.orangeDark[400], fgHover: misc.orangeDark[500], bg: misc.orangeDark[100], bgHover: misc.orangeDark[200] },\n { fg: misc.teal[300], fgHover: misc.teal[400], bg: misc.teal[50], bgHover: misc.teal[100] },\n { fg: warning[400], fgHover: warning[500], bg: warning[100], bgHover: warning[200] },\n { fg: misc.rose[400], fgHover: misc.rose[500], bg: misc.rose[100], bgHover: misc.rose[200] },\n { fg: misc.blueLight[400], fgHover: misc.blueLight[500], bg: misc.blueLight[100], bgHover: misc.blueLight[200] },\n { fg: misc.orange[300], fgHover: misc.orange[400], bg: misc.orange[100], bgHover: misc.orange[200] },\n { fg: misc.cyan[600], fgHover: misc.cyan[700], bg: misc.cyan[100], bgHover: misc.cyan[200] },\n { fg: misc.green[500], fgHover: misc.green[600], bg: misc.green[100], bgHover: misc.green[200] },\n { fg: misc.pink[400], fgHover: misc.pink[500], bg: misc.pink[100], bgHover: misc.pink[200] },\n { fg: misc.fuchsia[400], fgHover: misc.fuchsia[500], bg: misc.fuchsia[100], bgHover: misc.fuchsia[200] },\n { fg: misc.teal[600], fgHover: misc.teal[700], bg: misc.teal[100], bgHover: misc.teal[200] },\n ],\n} as const;\n\n// ─── Focus Rings ─────────────────────────────────────────────────\n// magenta[400] = #FF78F3, gray[400] = #a0a0a6\n\nconst focusRings = {\n brand: \"0px 0px 0px 4px #FF78F33d\",\n brandShadowXs: \"0px 1px 2px 0px #1018280d, 0px 0px 0px 4px #FF78F33d\",\n brandShadowSm: \"0px 1px 3px 0px #1018281a, 0px 1px 2px 0px #1018280f, 0px 0px 0px 4px #FF78F33d\",\n gray: \"0px 0px 0px 4px #a0a0a624\",\n grayShadowXs: \"0px 1px 2px 0px #1018280d, 0px 0px 0px 4px #a0a0a624\",\n grayShadowSm: \"0px 1px 3px 0px #1018281a, 0px 1px 2px 0px #1018280f, 0px 0px 0px 4px #a0a0a624\",\n error: \"0px 0px 0px 4px #f044383d\",\n errorShadowXs: \"0px 1px 2px 0px #1018280d, 0px 0px 0px 4px #f044383d\",\n} as const;\n\n// ─── Preset ──────────────────────────────────────────────────────\n\nexport const forestInternalPreset: ThemePreset = {\n name: \"forest-internal\",\n defaultVariant: \"light\",\n variants: {\n light: {\n tokens: {\n base,\n error,\n warning,\n success,\n info,\n spacing,\n radius,\n shadows: tokenShadows,\n focusRings,\n fontFamily: '\"Aeonik\", sans-serif',\n fontFamilyMono: '\"Aeonik Mono\", monospace',\n fontSize,\n lineHeight,\n fontWeight,\n display,\n container,\n widths,\n text,\n bg,\n fg,\n border,\n buttonColors,\n avatarColors,\n breadcrumbColors,\n iconColors,\n navColors,\n sliderColors,\n toggleColors,\n chartColors,\n alpha,\n },\n },\n },\n};\n","import type { ThemePreset } from \"../types\";\nimport {\n spacing,\n radius as forestRadius,\n shadows as tokenShadows,\n fontSize,\n lineHeight,\n fontWeight,\n display,\n container,\n widths,\n alpha,\n base,\n error,\n warning,\n success,\n misc,\n gray,\n red,\n violet,\n magenta,\n} from \"../tokens\";\n\n// ─── Info Scale Override ─────────────────────────────────────────\n// In Alkemy+, \"info\" is violet — links, selected states, info alerts,\n// and Chip `colorInfo` all pick up violet automatically through this\n// preset-local override. Other presets continue using the shared\n// blue info scale.\n\nconst info = violet;\n\n// ─── Highlight Scale ─────────────────────────────────────────────\n// Magenta accent used sparingly for \"NEW\", \"Premium\", featured alerts,\n// notification dots — high-signal, distinctive emphasis.\n\nconst highlight = magenta;\n\n// ─── Semantic Colors — resolve against imported primitives ────────────────────────────\n\n\n// Colors object using imported primitives\n// Agency brand is near-black, so we use gray[950] as primary brand color\nconst colors = {\n base,\n error,\n warning,\n success,\n info,\n brand: {\n 25: gray[25],\n 50: gray[50],\n 100: gray[100],\n 200: gray[200],\n 300: gray[300],\n 400: gray[400],\n 500: gray[500],\n 600: gray[900], // #18181b - dark brand\n 700: gray[950], // #09090b - primary brand\n 800: gray[950],\n 900: gray[950],\n 950: gray[950],\n },\n accent: red,\n gray: gray,\n};\n\n// ─── Border Radius — minimal / sharp ────────────────────────────\n\nconst radius = {\n ...forestRadius,\n xxs: 1,\n xs: 2,\n sm: 3,\n md: 4,\n lg: 5,\n xl: 6,\n \"2xl\": 8,\n \"3xl\": 10,\n \"4xl\": 12,\n};\n\n// ─── Semantic Colors — Text ──────────────────────────────────────\n// Same formulas as forest, resolved against alkemy+ primitives.\n\nconst text = {\n primary: gray[900],\n secondary: gray[700],\n secondaryHover: gray[800],\n tertiary: gray[600],\n tertiaryHover: gray[700],\n quaternary: gray[500],\n disabled: gray[500],\n placeholder: gray[500],\n placeholderSubtle: gray[300],\n white: base.white,\n brandPrimary: colors.brand[900],\n brandSecondary: colors.brand[700],\n brandTertiary: colors.brand[600],\n brandTertiaryAlt: colors.brand[600],\n primaryOnBrand: base.white,\n secondaryOnBrand: colors.brand[200],\n tertiaryOnBrand: colors.brand[200],\n quaternaryOnBrand: colors.brand[300],\n errorPrimary: error[600],\n warningPrimary: warning[600],\n successPrimary: success[600],\n} as const;\n\n// ─── Semantic Colors — Background ────────────────────────────────\n\nconst bg = {\n primary: gray[25],\n primaryAlt: gray[25],\n primaryHover: gray[100],\n primarySolid: gray[950],\n secondary: base.white,\n secondaryAlt: base.white,\n secondarySubtle: gray[25],\n secondaryHover: gray[50],\n secondarySolid: gray[600],\n tertiary: gray[50],\n quaternary: gray[100],\n active: gray[200],\n disabled: gray[100],\n disabledSubtle: gray[50],\n overlay: gray[950],\n brandPrimary: colors.brand[50],\n brandPrimaryAlt: colors.brand[50],\n brandSecondary: colors.brand[100],\n brandSolid: colors.brand[600],\n brandSolidHover: colors.brand[700],\n brandSection: colors.brand[800],\n brandSectionSubtle: colors.brand[700],\n errorPrimary: error[50],\n errorSecondary: error[100],\n errorSolid: error[600],\n warningPrimary: warning[50],\n warningSecondary: warning[100],\n warningSolid: warning[600],\n successPrimary: success[50],\n successSecondary: success[100],\n successSolid: success[600],\n} as const;\n\n// ─── Semantic Colors — Foreground ────────────────────────────────\n\nconst fg = {\n primary: gray[900],\n secondary: gray[700],\n secondaryHover: gray[800],\n tertiary: gray[600],\n tertiaryHover: gray[700],\n quaternary: gray[500],\n quaternaryHover: gray[600],\n quinary: gray[400],\n quinaryHover: gray[500],\n senary: gray[300],\n white: base.white,\n disabled: gray[400],\n disabledSubtle: gray[300],\n brandPrimary: colors.brand[600],\n brandPrimaryAlt: colors.brand[600],\n brandSecondary: colors.brand[500],\n errorPrimary: error[600],\n errorSecondary: error[500],\n warningPrimary: warning[600],\n warningSecondary: warning[500],\n successPrimary: success[600],\n successSecondary: success[500],\n} as const;\n\n// ─── Semantic Colors — Border ────────────────────────────────────\n\nconst border = {\n primary: gray[300],\n secondary: gray[200],\n tertiary: gray[100],\n disabled: gray[300],\n disabledSubtle: gray[200],\n brand: gray[400],\n brandSolid: colors.brand[600],\n brandSolidAlt: colors.brand[600],\n error: error[300],\n errorSolid: error[600],\n} as const;\n\n// ─── Component Colors — Buttons ──────────────────────────────────\n\nconst buttonColors = {\n primary: {\n bg: colors.brand[700],\n bgHover: colors.brand[800],\n fg: base.white,\n fgHover: base.white,\n border: colors.brand[700],\n borderHover: colors.brand[800],\n },\n secondary: {\n bg: gray[900],\n bgHover: gray[950],\n fg: base.white,\n fgHover: base.white,\n border: gray[900],\n borderHover: gray[950],\n },\n secondaryColor: {\n bg: base.white,\n bgHover: colors.brand[50],\n fg: colors.brand[700],\n fgHover: colors.brand[800],\n border: colors.brand[300],\n borderHover: colors.brand[300],\n },\n tertiary: {\n fg: gray[600],\n fgHover: gray[700],\n bgHover: gray[50],\n },\n tertiaryColor: {\n fg: colors.brand[700],\n fgHover: colors.brand[800],\n bgHover: colors.brand[50],\n },\n primaryError: {\n bg: error[600],\n bgHover: error[700],\n fg: base.white,\n fgHover: base.white,\n border: error[600],\n borderHover: error[700],\n },\n secondaryError: {\n bg: base.white,\n bgHover: error[50],\n fg: error[700],\n fgHover: error[800],\n border: error[300],\n borderHover: error[300],\n },\n tertiaryError: {\n fg: error[700],\n fgHover: error[800],\n bgHover: error[50],\n },\n} as const;\n\n// ─── Component Colors — Avatars ──────────────────────────────────\n\nconst avatarColors = {\n bg: gray[100],\n contrastBorder: \"#00000014\",\n profilePhotoBorder: base.white,\n focusBorder: \"#a0a0a624\", // gray[400] + 14% alpha\n} as const;\n\n// ─── Component Colors — Breadcrumbs ──────────────────────────────\n\nconst breadcrumbColors = {\n fg: gray[600],\n fgHover: gray[700],\n bgHover: gray[50],\n brandBgHover: colors.brand[50],\n brandFgHover: colors.brand[700],\n iconFg: gray[500],\n iconFgHover: gray[700],\n brandIconFgHover: colors.brand[700],\n} as const;\n\n// ─── Component Colors — Icons ────────────────────────────────────\n\nconst iconColors = {\n fgBrand: colors.brand[600],\n fgBrandOnBrand: colors.brand[200],\n featuredModernBorder: gray[200],\n featuredLightFgBrand: colors.brand[600],\n featuredLightFgGray: gray[500],\n featuredLightFgError: error[600],\n featuredLightFgWarning: warning[600],\n featuredLightFgSuccess: success[600],\n featuredDarkFgBrand: base.white,\n featuredDarkFgGray: base.white,\n featuredDarkFgError: base.white,\n featuredDarkFgWarning: base.white,\n featuredDarkFgSuccess: base.white,\n} as const;\n\n// ─── Component Colors — Navigation ──────────────────────────────\n\nconst navColors = {\n itemIconFg: gray[500],\n itemIconFgActive: gray[700],\n itemButtonIconFg: gray[500],\n itemButtonIconFgActive: gray[700],\n} as const;\n\n// ─── Component Colors — Sliders ──────────────────────────────────\n\nconst sliderColors = {\n handleBorder: colors.brand[600],\n handleBg: base.white,\n} as const;\n\n// ─── Component Colors — Toggles ──────────────────────────────────\n\nconst toggleColors = {\n buttonFgDisabled: gray[50],\n} as const;\n\n// ─── Component Colors — Charts ───────────────────────────────────\n\nconst chartColors = {\n axisFg: gray[100],\n gridlineFg: gray[100],\n labelFg: gray[600],\n labelFgEmphasis: gray[700],\n bg: base.white,\n bgAlt: gray[50],\n tooltipBg: gray[950],\n tooltipFg: base.white,\n crosshairFg: gray[500],\n legendFg: text.tertiary,\n series: [\n // Brand accents lead — violet + magenta anchor the palette\n { fg: violet[500], fgHover: violet[600], bg: violet[100], bgHover: violet[200] },\n { fg: magenta[500], fgHover: magenta[600], bg: magenta[100], bgHover: magenta[200] },\n // Complementary rotation — cool → warm → earth\n { fg: misc.teal[300], fgHover: misc.teal[400], bg: misc.teal[50], bgHover: misc.teal[100] },\n { fg: warning[400], fgHover: warning[500], bg: warning[100], bgHover: warning[200] },\n { fg: misc.blueLight[400], fgHover: misc.blueLight[500], bg: misc.blueLight[100], bgHover: misc.blueLight[200] },\n { fg: misc.rose[400], fgHover: misc.rose[500], bg: misc.rose[100], bgHover: misc.rose[200] },\n { fg: misc.green[500], fgHover: misc.green[600], bg: misc.green[100], bgHover: misc.green[200] },\n { fg: misc.orangeDark[400], fgHover: misc.orangeDark[500], bg: misc.orangeDark[100], bgHover: misc.orangeDark[200] },\n { fg: misc.cyan[600], fgHover: misc.cyan[700], bg: misc.cyan[100], bgHover: misc.cyan[200] },\n { fg: misc.orange[300], fgHover: misc.orange[400], bg: misc.orange[100], bgHover: misc.orange[200] },\n { fg: misc.teal[600], fgHover: misc.teal[700], bg: misc.teal[100], bgHover: misc.teal[200] },\n // Pink/fuchsia kept as tail fallbacks only — too close to magenta to sit near position 1\n { fg: misc.pink[400], fgHover: misc.pink[500], bg: misc.pink[100], bgHover: misc.pink[200] },\n ],\n} as const;\n\n// ─── Letter Spacing ──────────────────────────────────────────────\n// Alkemy+ uses a consistent wide tracking across all text styles.\n\nconst letterSpacing = {\n h1: \"-0.02em\",\n h2: \"-0.02em\",\n h3: \"-0.02em\",\n h4: \"-0.02em\",\n h5: \"-0.02em\",\n h6: \"-0.02em\",\n subtitle1: \"0.02em\",\n subtitle2: \"0.02em\",\n body1: \"0.02em\",\n body2: \"0.02em\",\n caption: \"0.02em\",\n overline: \"0.02em\",\n button: \"0.02em\",\n} as const;\n\n// ─── Focus Rings ─────────────────────────────────────────────────\n// brand[500] = #404040, gray[400] = #a0a0a6\n\nconst focusRings = {\n brand: \"0px 0px 0px 4px #4040403d\",\n brandShadowXs: \"0px 1px 2px 0px #1018280d, 0px 0px 0px 4px #4040403d\",\n brandShadowSm: \"0px 1px 3px 0px #1018281a, 0px 1px 2px 0px #1018280f, 0px 0px 0px 4px #4040403d\",\n gray: \"0px 0px 0px 4px #a0a0a624\",\n grayShadowXs: \"0px 1px 2px 0px #1018280d, 0px 0px 0px 4px #a0a0a624\",\n grayShadowSm: \"0px 1px 3px 0px #1018281a, 0px 1px 2px 0px #1018280f, 0px 0px 0px 4px #a0a0a624\",\n error: \"0px 0px 0px 4px #f044383d\",\n errorShadowXs: \"0px 1px 2px 0px #1018280d, 0px 0px 0px 4px #f044383d\",\n} as const;\n\n// ─── Preset ──────────────────────────────────────────────────────\n\nexport const forestAlkemyPlusPreset: ThemePreset = {\n name: \"forest-alkemy+\",\n defaultVariant: \"light\",\n variants: {\n light: {\n tokens: {\n base,\n error,\n warning,\n success,\n info,\n spacing,\n radius,\n shadows: tokenShadows,\n focusRings,\n fontFamily: '\"Aeonik\", sans-serif',\n fontFamilyMono: '\"Aeonik Mono\", monospace',\n fontSize,\n lineHeight,\n fontWeight,\n display,\n container,\n widths,\n text,\n bg,\n fg,\n border,\n buttonColors,\n avatarColors,\n breadcrumbColors,\n iconColors,\n navColors,\n sliderColors,\n toggleColors,\n chartColors,\n alpha,\n letterSpacing,\n highlight,\n },\n },\n },\n};\n","import type { ThemePreset } from \"../types\";\nimport { forestExternalPreset } from \"./forest-external\";\nimport { forestAgencyPreset } from \"./forest-agency\";\nimport { forestInternalPreset } from \"./forest-internal\";\nimport { forestAlkemyPlusPreset } from \"./forest-alkemy-plus\";\n\nconst presetRegistry = new Map<string, ThemePreset>();\n\n// Register built-in presets\npresetRegistry.set(forestExternalPreset.name, forestExternalPreset);\npresetRegistry.set(forestAgencyPreset.name, forestAgencyPreset);\npresetRegistry.set(forestInternalPreset.name, forestInternalPreset);\npresetRegistry.set(forestAlkemyPlusPreset.name, forestAlkemyPlusPreset);\n\n/** Get a preset by name. Returns `undefined` if not found. */\nexport function getPreset(name: string): ThemePreset | undefined {\n return presetRegistry.get(name);\n}\n\n/** Register a custom preset (or override a built-in one). */\nexport function registerPreset(preset: ThemePreset): void {\n presetRegistry.set(preset.name, preset);\n}\n\n/** List all registered preset names. */\nexport function getAvailablePresets(): string[] {\n return Array.from(presetRegistry.keys());\n}\n\nexport { forestExternalPreset, forestAgencyPreset, forestInternalPreset, forestAlkemyPlusPreset };\n","import { buildTheme, buildThemeOptions } from \"./buildTheme\";\nimport { forestAgencyPreset } from \"./presets\";\n\n// Use forest-agency preset tokens as the default theme\nconst agencyTokens = forestAgencyPreset.variants.light.tokens;\n\nexport const forestTheme = buildTheme(agencyTokens);\nexport const forestThemeOptions = buildThemeOptions(agencyTokens);\n\n// Re-export theme builders\nexport { buildTheme, buildThemeOptions };\n\nexport * from \"./tokens\";\n\n// Preset system\nexport { getPreset, registerPreset, getAvailablePresets, forestExternalPreset, forestAgencyPreset, forestInternalPreset, forestAlkemyPlusPreset } from \"./presets\";\nexport type { DesignTokens, PresetVariantConfig, ThemePreset } from \"./types\";\n"],"mappings":"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","names":["base","error","warning","success","info","text","bg","fg","border","fontFamily","display","fontSize","lineHeight","fontWeight","letterSpacing","base","error","warning","success","info","highlight","radius","focusRings","text","bg","fg","border","buttonColors","sliderColors","avatarColors","breadcrumbColors","radius","text","bg","fg","border","buttonColors","avatarColors","breadcrumbColors","iconColors","navColors","sliderColors","toggleColors","chartColors","focusRings","radius","text","bg","fg","border","buttonColors","avatarColors","breadcrumbColors","iconColors","navColors","sliderColors","toggleColors","chartColors","focusRings","radius","text","bg","fg","border","buttonColors","avatarColors","breadcrumbColors","iconColors","navColors","sliderColors","toggleColors","chartColors","focusRings","info","colors","radius","text","bg","fg","border","buttonColors","avatarColors","breadcrumbColors","iconColors","navColors","sliderColors","toggleColors","chartColors","focusRings"]}
package/dist/index.js CHANGED
@@ -1174,6 +1174,14 @@ function buildComponents(tokens) {
1174
1174
  breadcrumbColors: breadcrumbColors6
1175
1175
  } = tokens;
1176
1176
  return {
1177
+ // ─── CssBaseline (global) ───────────────────────────────────────
1178
+ MuiCssBaseline: {
1179
+ styleOverrides: {
1180
+ body: {
1181
+ fontFeatureSettings: '"ss01", "ss02", "cv11"'
1182
+ }
1183
+ }
1184
+ },
1177
1185
  // ─── Button ─────────────────────────────────────────────────────
1178
1186
  MuiButton: {
1179
1187
  defaultProps: {