@matteoaliano/forest-ui 0.2.7 → 0.2.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/sync.mjs +44 -0
- package/dist/{chunk-3FSKMCSC.mjs → chunk-QF5T6J4D.mjs} +214 -74
- package/dist/chunk-QF5T6J4D.mjs.map +1 -0
- package/dist/{index-DoEC7Q1q.d.mts → index-BxpOMmf6.d.mts} +97 -9
- package/dist/{index-DoEC7Q1q.d.ts → index-BxpOMmf6.d.ts} +97 -9
- package/dist/index.d.mts +44 -2
- package/dist/index.d.ts +44 -2
- package/dist/index.js +389 -81
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +173 -11
- package/dist/index.mjs.map +1 -1
- package/dist/theme.d.mts +1 -1
- package/dist/theme.d.ts +1 -1
- package/dist/theme.js +212 -72
- package/dist/theme.js.map +1 -1
- package/dist/theme.mjs +1 -1
- package/guidelines/FOREST_AI_GUIDELINES.md +8 -1
- package/guidelines/FOREST_DEV_GUIDELINES.md +1 -1
- package/guidelines/themes/FOREST_THEME_ALKEMY_PLUS.md +1 -1
- package/guidelines/themes/FOREST_THEME_DEFAULT.md +1 -1
- package/package.json +1 -1
- package/dist/chunk-3FSKMCSC.mjs.map +0 -1
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/theme/tokens.ts","../src/theme/palette.ts","../src/theme/typography.ts","../src/theme/components.ts","../src/theme/shadows.ts","../src/theme/buildTheme.ts","../src/theme/presets/forest.ts","../src/theme/presets/alkemy-plus.ts","../src/theme/presets/index.ts","../src/theme/index.ts","../src/provider/ForestProvider.tsx","../src/components/Autocomplete/index.tsx","../src/components/Button/index.tsx","../src/components/ButtonGroup/index.tsx","../src/components/Checkbox/index.tsx","../src/components/Fab/index.tsx","../src/components/RadioGroup/index.tsx","../src/components/Select/index.tsx","../src/components/Switch/index.tsx","../src/components/TextField/index.tsx","../src/components/ToggleButton/index.tsx","../src/components/Badge/index.tsx","../../../node_modules/@mui/icons-material/esm/Close.js","../src/components/Chip/index.tsx","../src/components/Divider/index.tsx","../src/components/List/index.tsx","../src/components/Table/index.tsx","../src/components/DataGrid/index.tsx","../src/components/Tooltip/index.tsx","../src/components/Typography/index.tsx","../src/components/Accordion/index.tsx","../src/components/AppBar/index.tsx","../src/components/Card/index.tsx","../src/components/Paper/index.tsx","../src/components/Alert/index.tsx","../src/components/Backdrop/index.tsx","../src/components/Dialog/index.tsx","../src/components/Progress/index.tsx","../src/components/Skeleton/index.tsx","../src/components/Snackbar/index.tsx"],"names":["colors","text","bg","fg","border","fontFamily","display","fontSize","lineHeight","fontWeight","radius","focusRings","buttonColors","shadows","createTheme","avatarColors","breadcrumbColors","iconColors","navColors","sliderColors","toggleColors","chartColors","useMemo","jsxs","ThemeProvider","CssBaseline","jsx","MuiAutocomplete","MuiButton","MuiButtonGroup","MuiCheckbox","MuiFab","MuiRadioGroup","MuiRadio","MuiSelect","MuiMenuItem","MuiSwitch","MuiTextField","MuiToggleButton","MuiToggleButtonGroup","MuiBadge","createSvgIcon","_jsx","MuiChip","MuiDivider","MuiList","MuiListItem","MuiListItemButton","MuiListItemIcon","MuiListItemText","MuiListItemAvatar","MuiListSubheader","MuiTable","MuiTableBody","MuiTableCell","MuiTableContainer","MuiTableHead","MuiTableRow","MuiDataGrid","MuiTooltip","MuiTypography","MuiAccordion","MuiAccordionSummary","MuiAccordionDetails","MuiAccordionActions","MuiAppBar","MuiToolbar","MuiCard","MuiCardContent","MuiCardHeader","MuiCardActions","MuiCardMedia","MuiPaper","MuiAlert","MuiAlertTitle","MuiBackdrop","MuiDialog","MuiDialogTitle","MuiDialogContent","MuiDialogActions","MuiDialogContentText","MuiLinearProgress","MuiCircularProgress","MuiSkeleton","MuiSnackbar"],"mappings":"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","file":"index.js","sourcesContent":["/**\n * Design tokens extracted from Figma.\n * These are the primitive values that the semantic theme references.\n */\n\n// ─── Primitive Colors ───────────────────────────────────────────────\n\nexport const colors = {\n base: {\n white: \"#ffffff\",\n black: \"#000000\",\n transparent: \"#ffffff00\",\n },\n\n brand: {\n 25: \"#fcfaff\",\n 50: \"#f9f5ff\",\n 100: \"#f4ebff\",\n 200: \"#e9d7fe\",\n 300: \"#d6bbfb\",\n 400: \"#b692f6\",\n 500: \"#9e77ed\",\n 600: \"#7f56d9\",\n 700: \"#6941c6\",\n 800: \"#53389e\",\n 900: \"#42307d\",\n 950: \"#2c1c5f\",\n },\n\n gray: {\n 25: \"#fcfcfd\",\n 50: \"#f9fafb\",\n 100: \"#f2f4f7\",\n 200: \"#eaecf0\",\n 300: \"#d0d5dd\",\n 400: \"#98a2b3\",\n 500: \"#667085\",\n 600: \"#475467\",\n 700: \"#344054\",\n 800: \"#182230\",\n 900: \"#101828\",\n 950: \"#0c111d\",\n },\n\n 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 },\n\n 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 },\n\n 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 },\n\n blue: {\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 },\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 #9e77ed3d\",\n brandShadowXs: \"0px 1px 2px 0px #1018280d, 0px 0px 0px 4px #9e77ed3d\",\n brandShadowSm: \"0px 1px 3px 0px #1018281a, 0px 1px 2px 0px #1018280f, 0px 0px 0px 4px #9e77ed3d\",\n gray: \"0px 0px 0px 4px #98a2b324\",\n grayShadowXs: \"0px 1px 2px 0px #1018280d, 0px 0px 0px 4px #98a2b324\",\n grayShadowSm: \"0px 1px 3px 0px #1018281a, 0px 1px 2px 0px #1018280f, 0px 0px 0px 4px #98a2b324\",\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 = '\"Poppins\", sans-serif';\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: colors.gray[900],\n secondary: colors.gray[700],\n secondaryHover: colors.gray[800],\n tertiary: colors.gray[600],\n tertiaryHover: colors.gray[700],\n quaternary: colors.gray[500],\n disabled: colors.gray[500],\n placeholder: colors.gray[500],\n placeholderSubtle: colors.gray[300],\n white: colors.base.white,\n brandPrimary: colors.brand[900],\n brandSecondary: colors.brand[700],\n brandTertiary: colors.brand[600],\n brandTertiaryAlt: colors.brand[600],\n primaryOnBrand: colors.base.white,\n secondaryOnBrand: colors.brand[200],\n tertiaryOnBrand: colors.brand[200],\n quaternaryOnBrand: colors.brand[300],\n errorPrimary: colors.error[600],\n warningPrimary: colors.warning[600],\n successPrimary: colors.success[600],\n} as const;\n\n// ─── Semantic Colors — Background ─────────────────────────────────\n\nexport const bg = {\n primary: colors.gray[50],\n primaryAlt: colors.gray[50],\n primaryHover: colors.gray[100],\n primarySolid: colors.gray[950],\n secondary: colors.base.white,\n secondaryAlt: colors.base.white,\n secondarySubtle: colors.gray[25],\n secondaryHover: colors.gray[50],\n secondarySolid: colors.gray[600],\n tertiary: colors.gray[100],\n quaternary: colors.gray[200],\n active: colors.gray[50],\n disabled: colors.gray[100],\n disabledSubtle: colors.gray[50],\n overlay: colors.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: colors.error[50],\n errorSecondary: colors.error[100],\n errorSolid: colors.error[600],\n warningPrimary: colors.warning[50],\n warningSecondary: colors.warning[100],\n warningSolid: colors.warning[600],\n successPrimary: colors.success[50],\n successSecondary: colors.success[100],\n successSolid: colors.success[600],\n} as const;\n\n// ─── Semantic Colors — Foreground ─────────────────────────────────\n\nexport const fg = {\n primary: colors.gray[900],\n secondary: colors.gray[700],\n secondaryHover: colors.gray[800],\n tertiary: colors.gray[600],\n tertiaryHover: colors.gray[700],\n quaternary: colors.gray[500],\n quaternaryHover: colors.gray[600],\n quinary: colors.gray[400],\n quinaryHover: colors.gray[500],\n senary: colors.gray[300],\n white: colors.base.white,\n disabled: colors.gray[400],\n disabledSubtle: colors.gray[300],\n brandPrimary: colors.brand[600],\n brandPrimaryAlt: colors.brand[600],\n brandSecondary: colors.brand[500],\n errorPrimary: colors.error[600],\n errorSecondary: colors.error[500],\n warningPrimary: colors.warning[600],\n warningSecondary: colors.warning[500],\n successPrimary: colors.success[600],\n successSecondary: colors.success[500],\n} as const;\n\n// ─── Semantic Colors — Border ─────────────────────────────────────\n\nexport const border = {\n primary: colors.gray[300],\n secondary: colors.gray[200],\n tertiary: colors.gray[100],\n disabled: colors.gray[300],\n disabledSubtle: colors.gray[200],\n brand: colors.brand[300],\n brandSolid: colors.brand[600],\n brandSolidAlt: colors.brand[600],\n error: colors.error[300],\n errorSolid: colors.error[600],\n} as const;\n\n// ─── Component Colors — Buttons ───────────────────────────────────\n\nexport const buttonColors = {\n primary: {\n bg: colors.brand[600],\n bgHover: colors.brand[700],\n fg: colors.base.white,\n fgHover: colors.base.white,\n border: colors.brand[600],\n borderHover: colors.brand[700],\n },\n secondary: {\n bg: colors.base.white,\n bgHover: colors.gray[50],\n fg: colors.gray[700],\n fgHover: colors.gray[800],\n border: colors.gray[300],\n borderHover: colors.gray[300],\n },\n secondaryColor: {\n bg: colors.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: colors.gray[600],\n fgHover: colors.gray[700],\n bgHover: colors.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: colors.error[600],\n bgHover: colors.error[700],\n fg: colors.base.white,\n fgHover: colors.base.white,\n border: colors.error[600],\n borderHover: colors.error[700],\n },\n secondaryError: {\n bg: colors.base.white,\n bgHover: colors.error[50],\n fg: colors.error[700],\n fgHover: colors.error[800],\n border: colors.error[300],\n borderHover: colors.error[300],\n },\n tertiaryError: {\n fg: colors.error[700],\n fgHover: colors.error[800],\n bgHover: colors.error[50],\n },\n} as const;\n\n// ─── Component Colors — Avatars ───────────────────────────────────\n\nexport const avatarColors = {\n bg: colors.gray[100],\n contrastBorder: \"#00000014\",\n profilePhotoBorder: colors.base.white,\n focusBorder: \"#98a2b324\",\n} as const;\n\n// ─── Component Colors — Breadcrumbs ───────────────────────────────\n\nexport const breadcrumbColors = {\n fg: colors.gray[600],\n fgHover: colors.gray[700],\n bgHover: colors.gray[50],\n brandBgHover: colors.brand[50],\n brandFgHover: colors.brand[700],\n iconFg: colors.gray[500],\n iconFgHover: colors.gray[700],\n brandIconFgHover: colors.brand[700],\n} as const;\n\n// ─── Component Colors — Icons ─────────────────────────────────────\n\nexport const iconColors = {\n fgBrand: colors.brand[600],\n fgBrandOnBrand: colors.brand[200],\n featuredModernBorder: colors.gray[200],\n featuredLightFgBrand: colors.brand[600],\n featuredLightFgGray: colors.gray[500],\n featuredLightFgError: colors.error[600],\n featuredLightFgWarning: colors.warning[600],\n featuredLightFgSuccess: colors.success[600],\n featuredDarkFgBrand: colors.base.white,\n featuredDarkFgGray: colors.base.white,\n featuredDarkFgError: colors.base.white,\n featuredDarkFgWarning: colors.base.white,\n featuredDarkFgSuccess: colors.base.white,\n} as const;\n\n// ─── Component Colors — Navigation ───────────────────────────────\n\nexport const navColors = {\n itemIconFg: colors.gray[500],\n itemIconFgActive: colors.gray[500],\n itemButtonIconFg: colors.gray[500],\n itemButtonIconFgActive: colors.gray[700],\n} as const;\n\n// ─── Component Colors — Sliders ───────────────────────────────────\n\nexport const sliderColors = {\n handleBorder: colors.brand[600],\n handleBg: colors.base.white,\n} as const;\n\n// ─── Component Colors — Toggles ───────────────────────────────────\n\nexport const toggleColors = {\n buttonFgDisabled: colors.gray[50],\n} as const;\n\n// ─── Component Colors — Charts ────────────────────────────────────\n\nexport const chartColors = {\n axisFg: colors.gray[200],\n gridlineFg: colors.gray[100],\n labelFg: colors.gray[600],\n labelFgEmphasis: colors.gray[700],\n bg: colors.base.white,\n bgAlt: colors.gray[50],\n tooltipBg: colors.gray[950],\n tooltipFg: colors.base.white,\n crosshairFg: colors.gray[500],\n legendFg: colors.gray[700],\n series1Fg: colors.blue[600],\n series1FgHover: colors.blue[700],\n series1Bg: colors.blue[100],\n series1BgHover: colors.blue[200],\n series2Fg: colors.brand[600],\n series2FgHover: colors.brand[700],\n series2Bg: colors.brand[100],\n series2BgHover: colors.brand[200],\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 { colors, text, bg, fg, border } from \"./tokens\";\n\nexport function buildPalette(tokens: DesignTokens): PaletteOptions {\n const { colors, text, bg, fg, border } = tokens;\n\n return {\n primary: {\n main: colors.brand[600],\n light: colors.brand[400],\n dark: colors.brand[700],\n contrastText: colors.base.white,\n },\n secondary: {\n main: colors.gray[600],\n light: colors.gray[400],\n dark: colors.gray[700],\n contrastText: colors.base.white,\n },\n error: {\n main: colors.error[600],\n light: colors.error[300],\n dark: colors.error[700],\n contrastText: colors.base.white,\n },\n warning: {\n main: colors.warning[600],\n light: colors.warning[300],\n dark: colors.warning[700],\n contrastText: colors.base.white,\n },\n success: {\n main: colors.success[600],\n light: colors.success[300],\n dark: colors.success[700],\n contrastText: colors.base.white,\n },\n info: {\n main: colors.blue[600],\n light: colors.blue[300],\n dark: colors.blue[700],\n contrastText: colors.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 },\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 };\n}\n\nexport const palette: PaletteOptions = buildPalette({\n colors,\n text,\n bg,\n fg,\n border,\n} as DesignTokens);\n","import type { TypographyVariantsOptions } from \"@mui/material/styles\";\nimport type { DesignTokens } from \"./types\";\nimport { fontFamily, display, fontSize, lineHeight, fontWeight } from \"./tokens\";\n\nexport function buildTypography(tokens: DesignTokens): TypographyVariantsOptions {\n const { fontFamily, display, fontSize, lineHeight, fontWeight } = tokens;\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: display.xl.letterSpacing,\n fontWeight: fontWeight.semibold,\n },\n h2: {\n fontSize: display.lg.fontSize,\n lineHeight: display.lg.lineHeight,\n letterSpacing: display.lg.letterSpacing,\n fontWeight: fontWeight.semibold,\n },\n h3: {\n fontSize: display.md.fontSize,\n lineHeight: display.md.lineHeight,\n letterSpacing: display.md.letterSpacing,\n fontWeight: fontWeight.semibold,\n },\n h4: {\n fontSize: display.sm.fontSize,\n lineHeight: display.sm.lineHeight,\n fontWeight: fontWeight.semibold,\n },\n h5: {\n fontSize: display.xs.fontSize,\n lineHeight: display.xs.lineHeight,\n fontWeight: fontWeight.semibold,\n },\n h6: {\n fontSize: fontSize.xl,\n lineHeight: lineHeight.xl,\n fontWeight: fontWeight.semibold,\n },\n subtitle1: {\n fontSize: fontSize.lg,\n lineHeight: lineHeight.lg,\n fontWeight: fontWeight.medium,\n },\n subtitle2: {\n fontSize: fontSize.md,\n lineHeight: lineHeight.md,\n fontWeight: fontWeight.medium,\n },\n body1: {\n fontSize: fontSize.md,\n lineHeight: lineHeight.md,\n fontWeight: fontWeight.regular,\n },\n body2: {\n fontSize: fontSize.sm,\n lineHeight: lineHeight.sm,\n fontWeight: fontWeight.regular,\n },\n caption: {\n fontSize: fontSize.xs,\n lineHeight: lineHeight.xs,\n fontWeight: fontWeight.regular,\n },\n overline: {\n fontSize: fontSize.xxs,\n lineHeight: lineHeight.xxs,\n fontWeight: fontWeight.medium,\n textTransform: \"uppercase\",\n letterSpacing: \"0.08em\",\n },\n button: {\n fontSize: fontSize.sm,\n lineHeight: lineHeight.sm,\n fontWeight: fontWeight.semibold,\n textTransform: \"none\",\n },\n };\n}\n\nexport const typography: TypographyVariantsOptions = buildTypography({\n fontFamily,\n display,\n fontSize,\n lineHeight,\n fontWeight,\n} as DesignTokens);\n","import type { Components, Theme } from \"@mui/material/styles\";\nimport type { DesignTokens } from \"./types\";\nimport {\n colors,\n radius,\n focusRings,\n shadows as tokenShadows,\n text,\n bg,\n fg,\n border,\n buttonColors,\n avatarColors,\n navColors,\n sliderColors,\n toggleColors,\n chartColors,\n} from \"./tokens\";\n\nexport function buildComponents(tokens: DesignTokens): Components<Theme> {\n const {\n colors,\n radius,\n focusRings,\n shadows: tokenShadows,\n text,\n bg,\n fg,\n border,\n buttonColors,\n } = tokens;\n\n return {\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 outlinedSecondary: {\n borderColor: buttonColors.secondary.border,\n \"&:hover\": {\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 // ─── 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 size: \"small\",\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 .MuiOutlinedInput-notchedOutline\": {\n borderColor: border.brand,\n },\n\n \"&.Mui-focused .MuiOutlinedInput-notchedOutline\": {\n borderColor: border.brandSolid,\n borderWidth: 1,\n boxShadow: \"none\",\n },\n \"&.Mui-error .MuiOutlinedInput-notchedOutline\": {\n borderColor: border.error,\n },\n\n \"&.Mui-error.Mui-focused .MuiOutlinedInput-notchedOutline\": {\n borderColor: border.errorSolid,\n boxShadow: \"none\",\n },\n },\n notchedOutline: {\n borderColor: border.primary,\n },\n input: {\n padding: \"10px 14px\",\n fontSize: 16,\n lineHeight: \"24px\",\n },\n inputSizeSmall: {\n padding: \"8px 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 // Align label with custom OutlinedInput padding (10px 14px)\n transform: \"translate(14px, 10px) scale(1)\",\n \"&.MuiInputLabel-sizeSmall\": {\n // Align label with custom inputSizeSmall padding (8px 12px)\n transform: \"translate(12px, 8px) scale(1)\",\n },\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 // ─── Select ─────────────────────────────────────────────────────\n MuiSelect: {\n defaultProps: {\n size: \"small\",\n MenuProps: {\n autoFocus: false,\n },\n },\n styleOverrides: {\n select: {\n display: \"flex\",\n alignItems: \"center\",\n \"&.MuiSelect-select\": {\n minHeight: \"20px\",\n \"&[aria-placeholder], &:empty + .MuiSelect-nativeInput[value='']~&\": {\n color: text.placeholder,\n },\n },\n },\n icon: {\n color: text.placeholder,\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 },\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 option: {\n fontSize: 16,\n lineHeight: \"24px\",\n padding: \"10px 14px\",\n \"&.Mui-focused\": {\n backgroundColor: bg.primaryHover,\n },\n '&[aria-selected=\"true\"]': {\n backgroundColor: bg.brandPrimary,\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: colors.brand[700],\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: colors.brand[700],\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: colors.brand[700],\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.brand,\n boxShadow: `inset 0 0 0 1px ${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 \"&.Mui-selected + &.Mui-selected\": {\n boxShadow: `inset -1px 0 0 0 ${border.brandSolid}, inset 0 1px 0 0 ${border.brandSolid}, inset 0 -1px 0 0 ${border.brandSolid}`,\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 // ─── 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 // ─── Chip ───────────────────────────────────────────────────────\n MuiChip: {\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: colors.gray[50],\n color: colors.gray[700],\n \"& .MuiChip-deleteIcon\": { color: colors.gray[400] },\n },\n },\n colorPrimary: {\n \"&.MuiChip-filled\": {\n backgroundColor: colors.brand[50],\n color: colors.brand[700],\n \"& .MuiChip-deleteIcon\": { color: colors.brand[400] },\n },\n },\n colorSecondary: {\n \"&.MuiChip-filled\": {\n backgroundColor: colors.gray[50],\n color: colors.gray[700],\n \"& .MuiChip-deleteIcon\": { color: colors.gray[400] },\n },\n },\n colorError: {\n \"&.MuiChip-filled\": {\n backgroundColor: colors.error[50],\n color: colors.error[700],\n \"& .MuiChip-deleteIcon\": { color: colors.error[400] },\n },\n },\n colorWarning: {\n \"&.MuiChip-filled\": {\n backgroundColor: colors.warning[50],\n color: colors.warning[700],\n \"& .MuiChip-deleteIcon\": { color: colors.warning[400] },\n },\n },\n colorSuccess: {\n \"&.MuiChip-filled\": {\n backgroundColor: colors.success[50],\n color: colors.success[700],\n \"& .MuiChip-deleteIcon\": { color: colors.success[400] },\n },\n },\n colorInfo: {\n \"&.MuiChip-filled\": {\n backgroundColor: colors.blue[50],\n color: colors.blue[700],\n \"& .MuiChip-deleteIcon\": { color: colors.blue[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 borderBottom: `1px solid ${border.secondary}`,\n },\n },\n },\n MuiTableRow: {\n styleOverrides: {\n root: {\n \"&:last-child td, &:last-child th\": {\n border: 0,\n },\n \"&:hover\": {\n backgroundColor: bg.primaryHover,\n },\n \"&.Mui-selected\": {\n backgroundColor: bg.brandPrimary,\n \"&:hover\": {\n backgroundColor: bg.brandPrimary,\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 },\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: bg.brandPrimary,\n color: buttonColors.secondaryColor.fg,\n \"&:hover\": {\n backgroundColor: bg.brandSecondary,\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 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: colors.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: colors.warning[700],\n border: `1px solid ${colors.warning[300]}`,\n \"& .MuiAlert-icon\": {\n color: fg.warningPrimary,\n },\n },\n standardSuccess: {\n backgroundColor: bg.successPrimary,\n color: colors.success[700],\n border: `1px solid ${colors.success[300]}`,\n \"& .MuiAlert-icon\": {\n color: fg.successPrimary,\n },\n },\n standardInfo: {\n backgroundColor: colors.blue[50],\n color: colors.blue[700],\n border: `1px solid ${colors.blue[300]}`,\n \"& .MuiAlert-icon\": {\n color: colors.blue[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 // ─── 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 fontSize: 14,\n lineHeight: \"20px\",\n color: fg.tertiary,\n \"&:focus, &:focus-within\": {\n outline: \"none\",\n },\n },\n row: {\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}\n\nexport const components: Components<Theme> = buildComponents({\n colors,\n radius,\n focusRings,\n shadows: tokenShadows,\n text,\n bg,\n fg,\n border,\n buttonColors,\n avatarColors,\n navColors,\n sliderColors,\n toggleColors,\n chartColors,\n} as DesignTokens);\n","import type { Shadows } from \"@mui/material/styles\";\nimport type { DesignTokens } from \"./types\";\nimport { shadows as tokenShadows } from \"./tokens\";\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\nexport const shadows: Shadows = buildShadows({\n shadows: tokenShadows,\n} as DesignTokens);\n","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","import type { ThemePreset } from \"../types\";\nimport * as tokens from \"../tokens\";\n\nexport const forestPreset: ThemePreset = {\n name: \"forest\",\n defaultVariant: \"light\",\n variants: {\n light: {\n tokens: {\n colors: tokens.colors,\n spacing: tokens.spacing,\n radius: tokens.radius,\n shadows: tokens.shadows,\n focusRings: tokens.focusRings,\n fontFamily: tokens.fontFamily,\n fontSize: tokens.fontSize,\n lineHeight: tokens.lineHeight,\n fontWeight: tokens.fontWeight,\n display: tokens.display,\n container: tokens.container,\n widths: tokens.widths,\n text: tokens.text,\n bg: tokens.bg,\n fg: tokens.fg,\n border: tokens.border,\n buttonColors: tokens.buttonColors,\n avatarColors: tokens.avatarColors,\n breadcrumbColors: tokens.breadcrumbColors,\n iconColors: tokens.iconColors,\n navColors: tokens.navColors,\n sliderColors: tokens.sliderColors,\n toggleColors: tokens.toggleColors,\n chartColors: tokens.chartColors,\n alpha: tokens.alpha,\n },\n },\n },\n};\n","import type { ThemePreset } from \"../types\";\nimport {\n spacing,\n radius,\n shadows as tokenShadows,\n fontSize,\n lineHeight,\n fontWeight,\n display,\n container,\n widths,\n alpha,\n colors as forestColors,\n} from \"../tokens\";\n\n// ─── Alkemy+ Primitive Colors ──────────────────────────────────────\n\n/**\n * Red accent palette — the Alkemy+ secondary / highlight color.\n * Used for interactive accents (focus rings, selected states, switches, etc.)\n * while the `brand` scale (black) drives primary actions.\n */\nconst red = {\n 25: \"#fff5f5\",\n 50: \"#fef2f2\",\n 100: \"#fee2e2\",\n 200: \"#fecaca\",\n 300: \"#fca5a5\",\n 400: \"#f87171\",\n 500: \"#f04040\",\n 600: \"#dc2626\",\n 700: \"#b91c1c\",\n 800: \"#991b1b\",\n 900: \"#7f1d1d\",\n 950: \"#450a0a\",\n} as const;\n\nconst colors = {\n base: {\n white: \"#ffffff\",\n black: \"#000000\",\n transparent: \"#ffffff00\",\n },\n\n /** Brand scale — black-based for primary actions */\n brand: {\n 25: \"#fafafa\",\n 50: \"#f5f5f5\",\n 100: \"#ebebeb\",\n 200: \"#d6d6d6\",\n 300: \"#b0b0b0\",\n 400: \"#737373\",\n 500: \"#404040\",\n 600: \"#1a1a1a\",\n 700: \"#0d0d0d\",\n 800: \"#050505\",\n 900: \"#000000\",\n 950: \"#000000\",\n },\n\n /** Warm-neutral gray scale */\n 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 },\n\n /** Error — forest defaults (standard UX red) */\n error: forestColors.error,\n\n /** Warning — orange/yellow tones from Alkemy+ palette */\n warning: {\n 25: \"#fffcf5\",\n 50: \"#fff7ed\",\n 100: \"#ffedd5\",\n 200: \"#fed7aa\",\n 300: \"#fdba74\",\n 400: \"#fb923c\",\n 500: \"#f08828\",\n 600: \"#ea580c\",\n 700: \"#c2410c\",\n 800: \"#9a3412\",\n 900: \"#7c2d12\",\n 950: \"#431407\",\n },\n\n /** Success — forest defaults (standard UX green) */\n success: forestColors.success,\n\n /** Blue (info) — forest defaults (standard UX) */\n blue: forestColors.blue,\n} as const;\n\n// ─── Semantic Colors — Text ──────────────────────────────────────\n\nconst text = {\n primary: colors.gray[900],\n secondary: colors.gray[700],\n secondaryHover: colors.gray[800],\n tertiary: colors.gray[600],\n tertiaryHover: colors.gray[700],\n quaternary: colors.gray[500],\n disabled: colors.gray[500],\n placeholder: colors.gray[500],\n placeholderSubtle: colors.gray[300],\n white: colors.base.white,\n brandPrimary: red[900],\n brandSecondary: red[700],\n brandTertiary: red[600],\n brandTertiaryAlt: red[600],\n primaryOnBrand: colors.base.white,\n secondaryOnBrand: colors.brand[200],\n tertiaryOnBrand: colors.brand[200],\n quaternaryOnBrand: colors.brand[300],\n errorPrimary: colors.error[600],\n warningPrimary: colors.warning[600],\n successPrimary: colors.success[600],\n} as const;\n\n// ─── Semantic Colors — Background ────────────────────────────────\n\nconst bg = {\n primary: colors.gray[50],\n primaryAlt: colors.gray[50],\n primaryHover: colors.gray[50],\n primarySolid: colors.gray[950],\n secondary: colors.base.white,\n secondaryAlt: colors.base.white,\n secondarySubtle: colors.gray[25],\n secondaryHover: colors.gray[100],\n secondarySolid: colors.gray[600],\n tertiary: colors.gray[100],\n quaternary: colors.gray[200],\n active: colors.gray[50],\n disabled: colors.gray[100],\n disabledSubtle: colors.gray[50],\n overlay: colors.gray[950],\n brandPrimary: colors.brand[100],\n brandPrimaryAlt: colors.brand[100],\n brandSecondary: colors.brand[200],\n brandSolid: colors.brand[600],\n brandSolidHover: colors.brand[700],\n brandSection: colors.brand[800],\n brandSectionSubtle: colors.brand[700],\n errorPrimary: colors.error[50],\n errorSecondary: colors.error[100],\n errorSolid: colors.error[600],\n warningPrimary: colors.warning[50],\n warningSecondary: colors.warning[100],\n warningSolid: colors.warning[600],\n successPrimary: colors.success[50],\n successSecondary: colors.success[100],\n successSolid: colors.success[600],\n} as const;\n\n// ─── Semantic Colors — Foreground ────────────────────────────────\n\nconst fg = {\n primary: colors.gray[900],\n secondary: colors.gray[700],\n secondaryHover: colors.gray[800],\n tertiary: colors.gray[600],\n tertiaryHover: colors.gray[700],\n quaternary: colors.gray[500],\n quaternaryHover: colors.gray[600],\n quinary: colors.gray[400],\n quinaryHover: colors.gray[500],\n senary: colors.gray[300],\n white: colors.base.white,\n disabled: colors.gray[400],\n disabledSubtle: colors.gray[300],\n brandPrimary: colors.brand[600],\n brandPrimaryAlt: colors.brand[600],\n brandSecondary: colors.brand[500],\n errorPrimary: colors.error[600],\n errorSecondary: colors.error[500],\n warningPrimary: colors.warning[600],\n warningSecondary: colors.warning[500],\n successPrimary: colors.success[600],\n successSecondary: colors.success[500],\n} as const;\n\n// ─── Semantic Colors — Border ────────────────────────────────────\n\nconst border = {\n primary: colors.gray[300],\n secondary: colors.gray[200],\n tertiary: colors.gray[100],\n disabled: colors.gray[300],\n disabledSubtle: colors.gray[200],\n brand: colors.brand[300],\n brandSolid: colors.brand[600],\n brandSolidAlt: colors.brand[600],\n error: colors.error[300],\n errorSolid: colors.error[600],\n} as const;\n\n// ─── Component Colors — Buttons ──────────────────────────────────\n\nconst buttonColors = {\n /** Primary buttons — black */\n primary: {\n bg: colors.brand[600],\n bgHover: colors.brand[700],\n fg: colors.base.white,\n fgHover: colors.base.white,\n border: colors.brand[600],\n borderHover: colors.brand[700],\n },\n secondary: {\n bg: colors.base.white,\n bgHover: colors.gray[50],\n fg: colors.gray[700],\n fgHover: colors.gray[800],\n border: colors.gray[300],\n borderHover: colors.gray[300],\n },\n /** Outlined accent buttons — dark */\n secondaryColor: {\n bg: colors.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: colors.gray[600],\n fgHover: colors.gray[700],\n bgHover: colors.gray[50],\n },\n /** Text accent buttons — red */\n tertiaryColor: {\n fg: red[700],\n fgHover: red[800],\n bgHover: red[50],\n },\n primaryError: {\n bg: colors.error[600],\n bgHover: colors.error[700],\n fg: colors.base.white,\n fgHover: colors.base.white,\n border: colors.error[600],\n borderHover: colors.error[700],\n },\n secondaryError: {\n bg: colors.base.white,\n bgHover: colors.error[50],\n fg: colors.error[700],\n fgHover: colors.error[800],\n border: colors.error[300],\n borderHover: colors.error[300],\n },\n tertiaryError: {\n fg: colors.error[700],\n fgHover: colors.error[800],\n bgHover: colors.error[50],\n },\n} as const;\n\n// ─── Component Colors — Avatars ──────────────────────────────────\n\nconst avatarColors = {\n bg: colors.gray[100],\n contrastBorder: \"#00000014\",\n profilePhotoBorder: colors.base.white,\n focusBorder: \"#a0a0a624\",\n} as const;\n\n// ─── Component Colors — Breadcrumbs ──────────────────────────────\n\nconst breadcrumbColors = {\n fg: colors.gray[600],\n fgHover: colors.gray[700],\n bgHover: colors.gray[50],\n brandBgHover: red[50],\n brandFgHover: red[700],\n iconFg: colors.gray[500],\n iconFgHover: colors.gray[700],\n brandIconFgHover: red[700],\n} as const;\n\n// ─── Component Colors — Icons ────────────────────────────────────\n\nconst iconColors = {\n fgBrand: red[600],\n fgBrandOnBrand: red[200],\n featuredModernBorder: colors.gray[200],\n featuredLightFgBrand: red[600],\n featuredLightFgGray: colors.gray[500],\n featuredLightFgError: colors.error[600],\n featuredLightFgWarning: colors.warning[600],\n featuredLightFgSuccess: colors.success[600],\n featuredDarkFgBrand: colors.base.white,\n featuredDarkFgGray: colors.base.white,\n featuredDarkFgError: colors.base.white,\n featuredDarkFgWarning: colors.base.white,\n featuredDarkFgSuccess: colors.base.white,\n} as const;\n\n// ─── Component Colors — Navigation ──────────────────────────────\n\nconst navColors = {\n itemIconFg: colors.gray[500],\n itemIconFgActive: colors.gray[500],\n itemButtonIconFg: colors.gray[500],\n itemButtonIconFgActive: colors.gray[700],\n} as const;\n\n// ─── Component Colors — Sliders ──────────────────────────────────\n\nconst sliderColors = {\n handleBorder: red[600],\n handleBg: colors.base.white,\n} as const;\n\n// ─── Component Colors — Toggles ──────────────────────────────────\n\nconst toggleColors = {\n buttonFgDisabled: colors.gray[50],\n} as const;\n\n// ─── Component Colors — Charts ───────────────────────────────────\n\nconst chartColors = {\n axisFg: colors.gray[200],\n gridlineFg: colors.gray[100],\n labelFg: colors.gray[600],\n labelFgEmphasis: colors.gray[700],\n bg: colors.base.white,\n bgAlt: colors.gray[50],\n tooltipBg: colors.gray[950],\n tooltipFg: colors.base.white,\n crosshairFg: colors.gray[500],\n legendFg: colors.gray[700],\n series1Fg: colors.brand[600],\n series1FgHover: colors.brand[700],\n series1Bg: colors.brand[100],\n series1BgHover: colors.brand[200],\n series2Fg: red[600],\n series2FgHover: red[700],\n series2Bg: red[100],\n series2BgHover: red[200],\n} as const;\n\n// ─── Focus Rings — red accent ────────────────────────────────────\n\nconst focusRings = {\n brand: \"0px 0px 0px 4px #f040403d\",\n brandShadowXs: \"0px 1px 2px 0px #1018280d, 0px 0px 0px 4px #f040403d\",\n brandShadowSm: \"0px 1px 3px 0px #1018281a, 0px 1px 2px 0px #1018280f, 0px 0px 0px 4px #f040403d\",\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 alkemyPlusPreset: ThemePreset = {\n name: \"alkemy-plus\",\n defaultVariant: \"light\",\n variants: {\n light: {\n tokens: {\n colors,\n spacing,\n radius,\n shadows: tokenShadows,\n focusRings,\n fontFamily: '\"Aeonik\", sans-serif',\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 { forestPreset } from \"./forest\";\nimport { alkemyPlusPreset } from \"./alkemy-plus\";\n\nconst presetRegistry = new Map<string, ThemePreset>();\n\n// Register built-in presets\npresetRegistry.set(forestPreset.name, forestPreset);\npresetRegistry.set(alkemyPlusPreset.name, alkemyPlusPreset);\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 { forestPreset, alkemyPlusPreset };\n","import { createTheme, type ThemeOptions } from \"@mui/material/styles\";\nimport { palette } from \"./palette\";\nimport { typography } from \"./typography\";\nimport { components } from \"./components\";\nimport { shadows } from \"./shadows\";\n\nexport const forestThemeOptions: ThemeOptions = {\n palette,\n typography,\n components,\n shadows,\n shape: {\n borderRadius: 8,\n },\n};\n\nexport const forestTheme = createTheme(forestThemeOptions);\n\nexport { palette, typography, components, shadows };\nexport * from \"./tokens\";\n\n// Preset system\nexport { buildTheme, buildThemeOptions } from \"./buildTheme\";\nexport { getPreset, registerPreset, getAvailablePresets, forestPreset, alkemyPlusPreset } from \"./presets\";\nexport type { DesignTokens, PresetVariantConfig, ThemePreset } from \"./types\";\n","\"use client\";\n\nimport { useMemo } from \"react\";\nimport { ThemeProvider, type Theme } from \"@mui/material/styles\";\nimport CssBaseline from \"@mui/material/CssBaseline\";\nimport { forestTheme } from \"../theme\";\nimport { getPreset } from \"../theme/presets\";\nimport { buildTheme } from \"../theme/buildTheme\";\n\nexport interface ForestProviderProps {\n children: React.ReactNode;\n theme?: Theme;\n preset?: string;\n variant?: string;\n disableCssBaseline?: boolean;\n}\n\nexport function ForestProvider({\n children,\n theme,\n preset,\n variant,\n disableCssBaseline = false,\n}: ForestProviderProps) {\n const resolvedTheme = useMemo(() => {\n // Explicit theme prop takes highest priority\n if (theme) return theme;\n\n // If no preset specified, use the default forest theme\n if (!preset) return forestTheme;\n\n // Resolve preset + variant\n const presetConfig = getPreset(preset);\n if (!presetConfig) {\n throw new Error(\n `[ForestProvider] Unknown preset \"${preset}\". ` +\n `Available presets: use getAvailablePresets() to see registered presets.`\n );\n }\n\n const variantName = variant ?? presetConfig.defaultVariant;\n const variantConfig = presetConfig.variants[variantName];\n if (!variantConfig) {\n throw new Error(\n `[ForestProvider] Unknown variant \"${variantName}\" for preset \"${preset}\". ` +\n `Available variants: ${Object.keys(presetConfig.variants).join(\", \")}.`\n );\n }\n\n return buildTheme(variantConfig.tokens);\n }, [theme, preset, variant]);\n\n return (\n <ThemeProvider theme={resolvedTheme}>\n {!disableCssBaseline && <CssBaseline />}\n {children}\n </ThemeProvider>\n );\n}\n","import MuiAutocomplete, {\n type AutocompleteProps,\n} from \"@mui/material/Autocomplete\";\n\nexport type { AutocompleteProps };\n\nexport function Autocomplete<\n Value,\n Multiple extends boolean | undefined = false,\n DisableClearable extends boolean | undefined = false,\n FreeSolo extends boolean | undefined = false,\n>(\n props: AutocompleteProps<Value, Multiple, DisableClearable, FreeSolo>,\n) {\n return <MuiAutocomplete {...props} />;\n}\n","import MuiButton, { type ButtonProps as MuiButtonProps } from \"@mui/material/Button\";\n\nexport type ButtonProps = Omit<MuiButtonProps, \"size\">;\n\nexport function Button({ ...props }: ButtonProps) {\n return <MuiButton variant=\"contained\" {...props} />;\n}\n","import MuiButtonGroup, { type ButtonGroupProps } from \"@mui/material/ButtonGroup\";\n\nexport type { ButtonGroupProps };\n\nexport function ButtonGroup(props: ButtonGroupProps) {\n return <MuiButtonGroup variant=\"contained\" {...props} />;\n}\n","import MuiCheckbox, { type CheckboxProps } from \"@mui/material/Checkbox\";\n\nexport type { CheckboxProps };\n\nexport function Checkbox(props: CheckboxProps) {\n return <MuiCheckbox {...props} />;\n}\n","import MuiFab, { type FabProps } from \"@mui/material/Fab\";\n\nexport type { FabProps };\n\nexport function Fab(props: FabProps) {\n return <MuiFab color=\"primary\" {...props} />;\n}\n","import MuiRadioGroup, { type RadioGroupProps } from \"@mui/material/RadioGroup\";\nimport MuiRadio, { type RadioProps } from \"@mui/material/Radio\";\n\nexport type { RadioGroupProps, RadioProps };\n\nexport function RadioGroup(props: RadioGroupProps) {\n return <MuiRadioGroup {...props} />;\n}\n\nexport function Radio(props: RadioProps) {\n return <MuiRadio {...props} />;\n}\n","import MuiSelect, { type SelectProps } from \"@mui/material/Select\";\nimport MuiMenuItem, { type MenuItemProps } from \"@mui/material/MenuItem\";\n\nexport type { SelectProps, MenuItemProps };\n\nexport function Select<Value = unknown>(props: SelectProps<Value>) {\n return <MuiSelect {...props} />;\n}\n\nexport function MenuItem(props: MenuItemProps) {\n return <MuiMenuItem {...props} />;\n}\n","import MuiSwitch, { type SwitchProps } from \"@mui/material/Switch\";\n\nexport type { SwitchProps };\n\nexport function Switch(props: SwitchProps) {\n return <MuiSwitch {...props} />;\n}\n","import MuiTextField, { type TextFieldProps } from \"@mui/material/TextField\";\n\nexport type { TextFieldProps };\n\nexport function TextField(props: TextFieldProps) {\n return <MuiTextField {...props} />;\n}\n","import MuiToggleButton, { type ToggleButtonProps } from \"@mui/material/ToggleButton\";\nimport MuiToggleButtonGroup, { type ToggleButtonGroupProps } from \"@mui/material/ToggleButtonGroup\";\n\nexport type { ToggleButtonProps, ToggleButtonGroupProps };\n\nexport function ToggleButton(props: ToggleButtonProps) {\n return <MuiToggleButton {...props} />;\n}\n\nexport function ToggleButtonGroup(props: ToggleButtonGroupProps) {\n return <MuiToggleButtonGroup {...props} />;\n}\n","import MuiBadge, { type BadgeProps } from \"@mui/material/Badge\";\n\nexport type { BadgeProps };\n\nexport function Badge(props: BadgeProps) {\n return <MuiBadge {...props} />;\n}\n","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n}), 'Close');","import MuiChip, { type ChipProps } from \"@mui/material/Chip\";\nimport CloseIcon from \"@mui/icons-material/Close\";\n\nexport type { ChipProps };\n\nexport function Chip(props: ChipProps) {\n return (\n <MuiChip\n deleteIcon={<CloseIcon />}\n {...props}\n />\n );\n}\n","import MuiDivider, { type DividerProps } from \"@mui/material/Divider\";\n\nexport type { DividerProps };\n\nexport function Divider(props: DividerProps) {\n return <MuiDivider {...props} />;\n}\n","import MuiList, { type ListProps } from \"@mui/material/List\";\nimport MuiListItem, { type ListItemProps } from \"@mui/material/ListItem\";\nimport MuiListItemButton, { type ListItemButtonProps } from \"@mui/material/ListItemButton\";\nimport MuiListItemIcon, { type ListItemIconProps } from \"@mui/material/ListItemIcon\";\nimport MuiListItemText, { type ListItemTextProps } from \"@mui/material/ListItemText\";\nimport MuiListItemAvatar, { type ListItemAvatarProps } from \"@mui/material/ListItemAvatar\";\nimport MuiListSubheader, { type ListSubheaderProps } from \"@mui/material/ListSubheader\";\n\nexport type {\n ListProps,\n ListItemProps,\n ListItemButtonProps,\n ListItemIconProps,\n ListItemTextProps,\n ListItemAvatarProps,\n ListSubheaderProps,\n};\n\nexport function List(props: ListProps) {\n return <MuiList {...props} />;\n}\n\nexport function ListItem(props: ListItemProps) {\n return <MuiListItem {...props} />;\n}\n\nexport function ListItemButton(props: ListItemButtonProps) {\n return <MuiListItemButton {...props} />;\n}\n\nexport function ListItemIcon(props: ListItemIconProps) {\n return <MuiListItemIcon {...props} />;\n}\n\nexport function ListItemText(props: ListItemTextProps) {\n return <MuiListItemText {...props} />;\n}\n\nexport function ListItemAvatar(props: ListItemAvatarProps) {\n return <MuiListItemAvatar {...props} />;\n}\n\nexport function ListSubheader(props: ListSubheaderProps) {\n return <MuiListSubheader {...props} />;\n}\n","import MuiTable, { type TableProps } from \"@mui/material/Table\";\nimport MuiTableBody, { type TableBodyProps } from \"@mui/material/TableBody\";\nimport MuiTableCell, { type TableCellProps } from \"@mui/material/TableCell\";\nimport MuiTableContainer, { type TableContainerProps } from \"@mui/material/TableContainer\";\nimport MuiTableHead, { type TableHeadProps } from \"@mui/material/TableHead\";\nimport MuiTableRow, { type TableRowProps } from \"@mui/material/TableRow\";\n\nexport type {\n TableProps,\n TableBodyProps,\n TableCellProps,\n TableContainerProps,\n TableHeadProps,\n TableRowProps,\n};\n\nexport function Table(props: TableProps) {\n return <MuiTable {...props} />;\n}\n\nexport function TableBody(props: TableBodyProps) {\n return <MuiTableBody {...props} />;\n}\n\nexport function TableCell(props: TableCellProps) {\n return <MuiTableCell {...props} />;\n}\n\nexport function TableContainer(props: TableContainerProps) {\n return <MuiTableContainer {...props} />;\n}\n\nexport function TableHead(props: TableHeadProps) {\n return <MuiTableHead {...props} />;\n}\n\nexport function TableRow(props: TableRowProps) {\n return <MuiTableRow {...props} />;\n}\n","import { DataGrid as MuiDataGrid, type DataGridProps } from \"@mui/x-data-grid\";\n\nexport type { DataGridProps };\nexport type {\n GridColDef,\n GridRowsProp,\n GridRowParams,\n GridCellParams,\n GridSortModel,\n GridFilterModel,\n GridPaginationModel,\n} from \"@mui/x-data-grid\";\n\nexport function DataGrid(props: DataGridProps) {\n return <MuiDataGrid {...props} />;\n}\n","import MuiTooltip, { type TooltipProps } from \"@mui/material/Tooltip\";\n\nexport type { TooltipProps };\n\nexport function Tooltip(props: TooltipProps) {\n return <MuiTooltip arrow {...props} />;\n}\n","import MuiTypography, { type TypographyProps } from \"@mui/material/Typography\";\n\nexport type { TypographyProps };\n\nexport function Typography(props: TypographyProps) {\n return <MuiTypography {...props} />;\n}\n","import MuiAccordion, { type AccordionProps } from \"@mui/material/Accordion\";\nimport MuiAccordionSummary, { type AccordionSummaryProps } from \"@mui/material/AccordionSummary\";\nimport MuiAccordionDetails, { type AccordionDetailsProps } from \"@mui/material/AccordionDetails\";\nimport MuiAccordionActions, { type AccordionActionsProps } from \"@mui/material/AccordionActions\";\n\nexport type {\n AccordionProps,\n AccordionSummaryProps,\n AccordionDetailsProps,\n AccordionActionsProps,\n};\n\nexport function Accordion(props: AccordionProps) {\n return <MuiAccordion {...props} />;\n}\n\nexport function AccordionSummary(props: AccordionSummaryProps) {\n return <MuiAccordionSummary {...props} />;\n}\n\nexport function AccordionDetails(props: AccordionDetailsProps) {\n return <MuiAccordionDetails {...props} />;\n}\n\nexport function AccordionActions(props: AccordionActionsProps) {\n return <MuiAccordionActions {...props} />;\n}\n","import MuiAppBar, { type AppBarProps } from \"@mui/material/AppBar\";\nimport MuiToolbar, { type ToolbarProps } from \"@mui/material/Toolbar\";\n\nexport type { AppBarProps, ToolbarProps };\n\nexport function AppBar(props: AppBarProps) {\n return <MuiAppBar {...props} />;\n}\n\nexport function Toolbar(props: ToolbarProps) {\n return <MuiToolbar {...props} />;\n}\n","import MuiCard, { type CardProps } from \"@mui/material/Card\";\nimport MuiCardContent, { type CardContentProps } from \"@mui/material/CardContent\";\nimport MuiCardHeader, { type CardHeaderProps } from \"@mui/material/CardHeader\";\nimport MuiCardActions, { type CardActionsProps } from \"@mui/material/CardActions\";\nimport MuiCardMedia, { type CardMediaProps } from \"@mui/material/CardMedia\";\n\nexport type {\n CardProps,\n CardContentProps,\n CardHeaderProps,\n CardActionsProps,\n CardMediaProps,\n};\n\nexport function Card(props: CardProps) {\n return <MuiCard {...props} />;\n}\n\nexport function CardContent(props: CardContentProps) {\n return <MuiCardContent {...props} />;\n}\n\nexport function CardHeader(props: CardHeaderProps) {\n return <MuiCardHeader {...props} />;\n}\n\nexport function CardActions(props: CardActionsProps) {\n return <MuiCardActions {...props} />;\n}\n\nexport function CardMedia(props: CardMediaProps) {\n return <MuiCardMedia {...props} />;\n}\n","import MuiPaper, { type PaperProps } from \"@mui/material/Paper\";\n\nexport type { PaperProps };\n\nexport function Paper(props: PaperProps) {\n return <MuiPaper {...props} />;\n}\n","import MuiAlert, { type AlertProps } from \"@mui/material/Alert\";\nimport MuiAlertTitle, { type AlertTitleProps } from \"@mui/material/AlertTitle\";\n\nexport type { AlertProps, AlertTitleProps };\n\nexport function Alert(props: AlertProps) {\n return <MuiAlert {...props} />;\n}\n\nexport function AlertTitle(props: AlertTitleProps) {\n return <MuiAlertTitle {...props} />;\n}\n","import MuiBackdrop, { type BackdropProps } from \"@mui/material/Backdrop\";\n\nexport type { BackdropProps };\n\nexport function Backdrop(props: BackdropProps) {\n return <MuiBackdrop {...props} />;\n}\n","import MuiDialog, { type DialogProps } from \"@mui/material/Dialog\";\nimport MuiDialogTitle, { type DialogTitleProps } from \"@mui/material/DialogTitle\";\nimport MuiDialogContent, { type DialogContentProps } from \"@mui/material/DialogContent\";\nimport MuiDialogActions, { type DialogActionsProps } from \"@mui/material/DialogActions\";\nimport MuiDialogContentText, { type DialogContentTextProps } from \"@mui/material/DialogContentText\";\n\nexport type {\n DialogProps,\n DialogTitleProps,\n DialogContentProps,\n DialogActionsProps,\n DialogContentTextProps,\n};\n\nexport function Dialog(props: DialogProps) {\n return <MuiDialog {...props} />;\n}\n\nexport function DialogTitle(props: DialogTitleProps) {\n return <MuiDialogTitle {...props} />;\n}\n\nexport function DialogContent(props: DialogContentProps) {\n return <MuiDialogContent {...props} />;\n}\n\nexport function DialogActions(props: DialogActionsProps) {\n return <MuiDialogActions {...props} />;\n}\n\nexport function DialogContentText(props: DialogContentTextProps) {\n return <MuiDialogContentText {...props} />;\n}\n","import MuiLinearProgress, { type LinearProgressProps } from \"@mui/material/LinearProgress\";\nimport MuiCircularProgress, { type CircularProgressProps } from \"@mui/material/CircularProgress\";\n\nexport type { LinearProgressProps, CircularProgressProps };\n\nexport function LinearProgress(props: LinearProgressProps) {\n return <MuiLinearProgress {...props} />;\n}\n\nexport function CircularProgress(props: CircularProgressProps) {\n return <MuiCircularProgress {...props} />;\n}\n","import MuiSkeleton, { type SkeletonProps } from \"@mui/material/Skeleton\";\n\nexport type { SkeletonProps };\n\nexport function Skeleton(props: SkeletonProps) {\n return <MuiSkeleton {...props} />;\n}\n","import MuiSnackbar, { type SnackbarProps } from \"@mui/material/Snackbar\";\n\nexport type { SnackbarProps };\n\nexport function Snackbar(props: SnackbarProps) {\n return <MuiSnackbar {...props} />;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/theme/tokens.ts","../src/theme/palette.ts","../src/theme/typography.ts","../src/theme/components.ts","../src/theme/shadows.ts","../src/theme/buildTheme.ts","../src/theme/presets/forest.ts","../src/theme/presets/alkemy-plus.ts","../src/theme/presets/index.ts","../src/theme/index.ts","../src/provider/ForestProvider.tsx","../src/components/Autocomplete/index.tsx","../src/components/Button/index.tsx","../src/components/ButtonGroup/index.tsx","../src/components/Checkbox/index.tsx","../src/components/Fab/index.tsx","../src/components/RadioGroup/index.tsx","../src/components/Select/index.tsx","../src/components/Switch/index.tsx","../src/components/TextField/index.tsx","../src/components/ToggleButton/index.tsx","../src/components/Badge/index.tsx","../../../node_modules/@mui/icons-material/esm/CloseOutlined.js","../src/components/Chip/index.tsx","../src/components/Divider/index.tsx","../src/components/List/index.tsx","../src/components/Table/index.tsx","../src/components/DataGrid/index.tsx","../src/components/Tooltip/index.tsx","../src/components/Typography/index.tsx","../src/components/Accordion/index.tsx","../src/components/AppBar/index.tsx","../src/components/Card/index.tsx","../src/components/Paper/index.tsx","../src/components/Alert/index.tsx","../src/components/Backdrop/index.tsx","../src/components/Dialog/index.tsx","../src/components/Progress/index.tsx","../src/components/Skeleton/index.tsx","../src/components/Snackbar/index.tsx","../../../node_modules/@mui/icons-material/esm/ChevronLeftOutlined.js","../../../node_modules/@mui/icons-material/esm/ChevronRightOutlined.js","../src/components/Sidebar/index.tsx"],"names":["colors","text","bg","fg","border","fontFamily","display","fontSize","lineHeight","fontWeight","radius","focusRings","buttonColors","shadows","createTheme","avatarColors","breadcrumbColors","iconColors","navColors","sliderColors","toggleColors","chartColors","useMemo","jsxs","ThemeProvider","CssBaseline","jsx","MuiAutocomplete","MuiButton","MuiButtonGroup","MuiCheckbox","MuiFab","MuiRadioGroup","MuiRadio","MuiSelect","MuiMenuItem","MuiSwitch","MuiTextField","MuiToggleButton","MuiToggleButtonGroup","MuiBadge","createSvgIcon","_jsx","MuiChip","MuiDivider","MuiList","MuiListItem","MuiListItemButton","MuiListItemIcon","MuiListItemText","MuiListItemAvatar","MuiListSubheader","MuiTable","MuiTableBody","MuiTableCell","MuiTableContainer","MuiTableHead","MuiTableRow","MuiDataGrid","MuiTooltip","MuiTypography","MuiAccordion","MuiAccordionSummary","MuiAccordionDetails","MuiAccordionActions","MuiAppBar","MuiToolbar","MuiCard","MuiCardContent","MuiCardHeader","MuiCardActions","MuiCardMedia","MuiPaper","MuiAlert","MuiAlertTitle","MuiBackdrop","MuiDialog","MuiDialogTitle","MuiDialogContent","MuiDialogActions","MuiDialogContentText","MuiLinearProgress","MuiCircularProgress","MuiSkeleton","MuiSnackbar","createContext","useContext","Box","MuiDrawer","IconButton","ListItemIcon","ListItemText"],"mappings":"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","file":"index.js","sourcesContent":["/**\n * Design tokens extracted from Figma.\n * These are the primitive values that the semantic theme references.\n */\n\n// ─── Primitive Colors ───────────────────────────────────────────────\n\nexport const colors = {\n base: {\n white: \"#ffffff\",\n black: \"#000000\",\n transparent: \"#ffffff00\",\n },\n\n brand: {\n 25: \"#fcfaff\",\n 50: \"#f9f5ff\",\n 100: \"#f4ebff\",\n 200: \"#e9d7fe\",\n 300: \"#d6bbfb\",\n 400: \"#b692f6\",\n 500: \"#9e77ed\",\n 600: \"#7f56d9\",\n 700: \"#6941c6\",\n 800: \"#53389e\",\n 900: \"#42307d\",\n 950: \"#2c1c5f\",\n },\n\n gray: {\n 25: \"#fcfcfd\",\n 50: \"#f9fafb\",\n 100: \"#f2f4f7\",\n 200: \"#eaecf0\",\n 300: \"#d0d5dd\",\n 400: \"#98a2b3\",\n 500: \"#667085\",\n 600: \"#475467\",\n 700: \"#344054\",\n 800: \"#182230\",\n 900: \"#101828\",\n 950: \"#0c111d\",\n },\n\n 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 },\n\n 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 },\n\n 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 },\n\n blue: {\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 },\n\n teal: {\n 100: \"#ccfbef\",\n 200: \"#99f6e0\",\n 600: \"#0e9384\",\n 700: \"#107569\",\n },\n\n orange: {\n 100: \"#fdead7\",\n 200: \"#f9dbaf\",\n 600: \"#e04f16\",\n 700: \"#b93815\",\n },\n\n purple: {\n 100: \"#ebe9fe\",\n 200: \"#d9d6fe\",\n 600: \"#6938ef\",\n 700: \"#5925dc\",\n },\n\n pink: {\n 100: \"#fce7f6\",\n 200: \"#fcceee\",\n 600: \"#dd2590\",\n 700: \"#c11574\",\n },\n\n fuchsia: {\n 100: \"#fbe8ff\",\n 200: \"#f6d0fe\",\n 600: \"#ba24d5\",\n 700: \"#9f1ab1\",\n },\n\n orangeDark: {\n 100: \"#ffe6d5\",\n 200: \"#ffd6ae\",\n 600: \"#e62e05\",\n 700: \"#bc1b06\",\n },\n\n green: {\n 100: \"#d3f8df\",\n 200: \"#aaf0c4\",\n 600: \"#099250\",\n 700: \"#087443\",\n },\n\n indigo: {\n 100: \"#e0eaff\",\n 200: \"#c7d7fe\",\n 600: \"#444ce7\",\n 700: \"#3538cd\",\n },\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 #9e77ed3d\",\n brandShadowXs: \"0px 1px 2px 0px #1018280d, 0px 0px 0px 4px #9e77ed3d\",\n brandShadowSm: \"0px 1px 3px 0px #1018281a, 0px 1px 2px 0px #1018280f, 0px 0px 0px 4px #9e77ed3d\",\n gray: \"0px 0px 0px 4px #98a2b324\",\n grayShadowXs: \"0px 1px 2px 0px #1018280d, 0px 0px 0px 4px #98a2b324\",\n grayShadowSm: \"0px 1px 3px 0px #1018281a, 0px 1px 2px 0px #1018280f, 0px 0px 0px 4px #98a2b324\",\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 = '\"Poppins\", sans-serif';\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: colors.gray[900],\n secondary: colors.gray[700],\n secondaryHover: colors.gray[800],\n tertiary: colors.gray[600],\n tertiaryHover: colors.gray[700],\n quaternary: colors.gray[500],\n disabled: colors.gray[500],\n placeholder: colors.gray[500],\n placeholderSubtle: colors.gray[300],\n white: colors.base.white,\n brandPrimary: colors.brand[900],\n brandSecondary: colors.brand[700],\n brandTertiary: colors.brand[600],\n brandTertiaryAlt: colors.brand[600],\n primaryOnBrand: colors.base.white,\n secondaryOnBrand: colors.brand[200],\n tertiaryOnBrand: colors.brand[200],\n quaternaryOnBrand: colors.brand[300],\n errorPrimary: colors.error[600],\n warningPrimary: colors.warning[600],\n successPrimary: colors.success[600],\n} as const;\n\n// ─── Semantic Colors — Background ─────────────────────────────────\n\nexport const bg = {\n primary: colors.gray[50],\n primaryAlt: colors.gray[50],\n primaryHover: colors.gray[100],\n primarySolid: colors.gray[950],\n secondary: colors.base.white,\n secondaryAlt: colors.base.white,\n secondarySubtle: colors.gray[25],\n secondaryHover: colors.gray[50],\n secondarySolid: colors.gray[600],\n tertiary: colors.gray[100],\n quaternary: colors.gray[200],\n active: colors.gray[200],\n disabled: colors.gray[100],\n disabledSubtle: colors.gray[50],\n overlay: colors.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: colors.error[50],\n errorSecondary: colors.error[100],\n errorSolid: colors.error[600],\n warningPrimary: colors.warning[50],\n warningSecondary: colors.warning[100],\n warningSolid: colors.warning[600],\n successPrimary: colors.success[50],\n successSecondary: colors.success[100],\n successSolid: colors.success[600],\n} as const;\n\n// ─── Semantic Colors — Foreground ─────────────────────────────────\n\nexport const fg = {\n primary: colors.gray[900],\n secondary: colors.gray[700],\n secondaryHover: colors.gray[800],\n tertiary: colors.gray[600],\n tertiaryHover: colors.gray[700],\n quaternary: colors.gray[500],\n quaternaryHover: colors.gray[600],\n quinary: colors.gray[400],\n quinaryHover: colors.gray[500],\n senary: colors.gray[300],\n white: colors.base.white,\n disabled: colors.gray[400],\n disabledSubtle: colors.gray[300],\n brandPrimary: colors.brand[600],\n brandPrimaryAlt: colors.brand[600],\n brandSecondary: colors.brand[500],\n errorPrimary: colors.error[600],\n errorSecondary: colors.error[500],\n warningPrimary: colors.warning[600],\n warningSecondary: colors.warning[500],\n successPrimary: colors.success[600],\n successSecondary: colors.success[500],\n} as const;\n\n// ─── Semantic Colors — Border ─────────────────────────────────────\n\nexport const border = {\n primary: colors.gray[300],\n secondary: colors.gray[200],\n tertiary: colors.gray[100],\n disabled: colors.gray[300],\n disabledSubtle: colors.gray[200],\n brand: colors.brand[300],\n brandSolid: colors.brand[600],\n brandSolidAlt: colors.brand[600],\n error: colors.error[300],\n errorSolid: colors.error[600],\n} as const;\n\n// ─── Component Colors — Buttons ───────────────────────────────────\n\nexport const buttonColors = {\n primary: {\n bg: colors.brand[600],\n bgHover: colors.brand[700],\n fg: colors.base.white,\n fgHover: colors.base.white,\n border: colors.brand[600],\n borderHover: colors.brand[700],\n },\n secondary: {\n bg: colors.base.white,\n bgHover: colors.gray[50],\n fg: colors.gray[700],\n fgHover: colors.gray[800],\n border: colors.gray[300],\n borderHover: colors.gray[300],\n },\n secondaryColor: {\n bg: colors.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: colors.gray[600],\n fgHover: colors.gray[700],\n bgHover: colors.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: colors.error[600],\n bgHover: colors.error[700],\n fg: colors.base.white,\n fgHover: colors.base.white,\n border: colors.error[600],\n borderHover: colors.error[700],\n },\n secondaryError: {\n bg: colors.base.white,\n bgHover: colors.error[50],\n fg: colors.error[700],\n fgHover: colors.error[800],\n border: colors.error[300],\n borderHover: colors.error[300],\n },\n tertiaryError: {\n fg: colors.error[700],\n fgHover: colors.error[800],\n bgHover: colors.error[50],\n },\n} as const;\n\n// ─── Component Colors — Avatars ───────────────────────────────────\n\nexport const avatarColors = {\n bg: colors.gray[100],\n contrastBorder: \"#00000014\",\n profilePhotoBorder: colors.base.white,\n focusBorder: \"#98a2b324\",\n} as const;\n\n// ─── Component Colors — Breadcrumbs ───────────────────────────────\n\nexport const breadcrumbColors = {\n fg: colors.gray[600],\n fgHover: colors.gray[700],\n bgHover: colors.gray[50],\n brandBgHover: colors.brand[50],\n brandFgHover: colors.brand[700],\n iconFg: colors.gray[500],\n iconFgHover: colors.gray[700],\n brandIconFgHover: colors.brand[700],\n} as const;\n\n// ─── Component Colors — Icons ─────────────────────────────────────\n\nexport const iconColors = {\n fgBrand: colors.brand[600],\n fgBrandOnBrand: colors.brand[200],\n featuredModernBorder: colors.gray[200],\n featuredLightFgBrand: colors.brand[600],\n featuredLightFgGray: colors.gray[500],\n featuredLightFgError: colors.error[600],\n featuredLightFgWarning: colors.warning[600],\n featuredLightFgSuccess: colors.success[600],\n featuredDarkFgBrand: colors.base.white,\n featuredDarkFgGray: colors.base.white,\n featuredDarkFgError: colors.base.white,\n featuredDarkFgWarning: colors.base.white,\n featuredDarkFgSuccess: colors.base.white,\n} as const;\n\n// ─── Component Colors — Navigation ───────────────────────────────\n\nexport const navColors = {\n itemIconFg: colors.gray[500],\n itemIconFgActive: colors.gray[700],\n itemButtonIconFg: colors.gray[500],\n itemButtonIconFgActive: colors.gray[700],\n} as const;\n\n// ─── Component Colors — Sliders ───────────────────────────────────\n\nexport const sliderColors = {\n handleBorder: colors.brand[600],\n handleBg: colors.base.white,\n} as const;\n\n// ─── Component Colors — Toggles ───────────────────────────────────\n\nexport const toggleColors = {\n buttonFgDisabled: colors.gray[50],\n} as const;\n\n// ─── Component Colors — Charts ────────────────────────────────────\n\nexport const chartColors = {\n axisFg: colors.gray[200],\n gridlineFg: colors.gray[100],\n labelFg: colors.gray[600],\n labelFgEmphasis: colors.gray[700],\n bg: colors.base.white,\n bgAlt: colors.gray[50],\n tooltipBg: colors.gray[950],\n tooltipFg: colors.base.white,\n crosshairFg: colors.gray[500],\n legendFg: colors.gray[700],\n series1Fg: colors.blue[600],\n series1FgHover: colors.blue[700],\n series1Bg: colors.blue[100],\n series1BgHover: colors.blue[200],\n series2Fg: colors.brand[600],\n series2FgHover: colors.brand[700],\n series2Bg: colors.brand[100],\n series2BgHover: colors.brand[200],\n series3Fg: colors.teal[600],\n series3FgHover: colors.teal[700],\n series3Bg: colors.teal[100],\n series3BgHover: colors.teal[200],\n series4Fg: colors.orange[600],\n series4FgHover: colors.orange[700],\n series4Bg: colors.orange[100],\n series4BgHover: colors.orange[200],\n series5Fg: colors.purple[600],\n series5FgHover: colors.purple[700],\n series5Bg: colors.purple[100],\n series5BgHover: colors.purple[200],\n series6Fg: colors.pink[600],\n series6FgHover: colors.pink[700],\n series6Bg: colors.pink[100],\n series6BgHover: colors.pink[200],\n series7Fg: colors.fuchsia[600],\n series7FgHover: colors.fuchsia[700],\n series7Bg: colors.fuchsia[100],\n series7BgHover: colors.fuchsia[200],\n series8Fg: colors.orangeDark[600],\n series8FgHover: colors.orangeDark[700],\n series8Bg: colors.orangeDark[100],\n series8BgHover: colors.orangeDark[200],\n series9Fg: colors.green[600],\n series9FgHover: colors.green[700],\n series9Bg: colors.green[100],\n series9BgHover: colors.green[200],\n series10Fg: colors.indigo[600],\n series10FgHover: colors.indigo[700],\n series10Bg: colors.indigo[100],\n series10BgHover: colors.indigo[200],\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 { colors, text, bg, fg, border, chartColors } from \"./tokens\";\n\n// ─── MUI Palette Augmentation ────────────────────────────────────────\n// Allows consumers to access chart tokens via theme.palette.chart\n\ndeclare module \"@mui/material/styles\" {\n interface Palette {\n chart: DesignTokens[\"chartColors\"];\n }\n interface PaletteOptions {\n chart?: DesignTokens[\"chartColors\"];\n }\n}\n\nexport function buildPalette(tokens: DesignTokens): PaletteOptions {\n const { colors, text, bg, fg, border } = tokens;\n\n return {\n primary: {\n main: colors.brand[600],\n light: colors.brand[400],\n dark: colors.brand[700],\n contrastText: colors.base.white,\n },\n secondary: {\n main: colors.gray[600],\n light: colors.gray[400],\n dark: colors.gray[700],\n contrastText: colors.base.white,\n },\n error: {\n main: colors.error[600],\n light: colors.error[300],\n dark: colors.error[700],\n contrastText: colors.base.white,\n },\n warning: {\n main: colors.warning[600],\n light: colors.warning[300],\n dark: colors.warning[700],\n contrastText: colors.base.white,\n },\n success: {\n main: colors.success[600],\n light: colors.success[300],\n dark: colors.success[700],\n contrastText: colors.base.white,\n },\n info: {\n main: colors.blue[600],\n light: colors.blue[300],\n dark: colors.blue[700],\n contrastText: colors.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 },\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 };\n}\n\nexport const palette: PaletteOptions = buildPalette({\n colors,\n text,\n bg,\n fg,\n border,\n chartColors,\n} as DesignTokens);\n","import type { TypographyVariantsOptions } from \"@mui/material/styles\";\nimport type { DesignTokens } from \"./types\";\nimport { fontFamily, display, fontSize, lineHeight, fontWeight } from \"./tokens\";\n\nexport function buildTypography(tokens: DesignTokens): TypographyVariantsOptions {\n const { fontFamily, display, fontSize, lineHeight, fontWeight } = tokens;\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: display.xl.letterSpacing,\n fontWeight: fontWeight.semibold,\n },\n h2: {\n fontSize: display.lg.fontSize,\n lineHeight: display.lg.lineHeight,\n letterSpacing: display.lg.letterSpacing,\n fontWeight: fontWeight.semibold,\n },\n h3: {\n fontSize: display.md.fontSize,\n lineHeight: display.md.lineHeight,\n letterSpacing: display.md.letterSpacing,\n fontWeight: fontWeight.semibold,\n },\n h4: {\n fontSize: display.sm.fontSize,\n lineHeight: display.sm.lineHeight,\n fontWeight: fontWeight.semibold,\n },\n h5: {\n fontSize: display.xs.fontSize,\n lineHeight: display.xs.lineHeight,\n fontWeight: fontWeight.semibold,\n },\n h6: {\n fontSize: fontSize.xl,\n lineHeight: lineHeight.xl,\n fontWeight: fontWeight.semibold,\n },\n subtitle1: {\n fontSize: fontSize.lg,\n lineHeight: lineHeight.lg,\n fontWeight: fontWeight.medium,\n },\n subtitle2: {\n fontSize: fontSize.md,\n lineHeight: lineHeight.md,\n fontWeight: fontWeight.medium,\n },\n body1: {\n fontSize: fontSize.md,\n lineHeight: lineHeight.md,\n fontWeight: fontWeight.regular,\n },\n body2: {\n fontSize: fontSize.sm,\n lineHeight: lineHeight.sm,\n fontWeight: fontWeight.regular,\n },\n caption: {\n fontSize: fontSize.xs,\n lineHeight: lineHeight.xs,\n fontWeight: fontWeight.regular,\n },\n overline: {\n fontSize: fontSize.xxs,\n lineHeight: lineHeight.xxs,\n fontWeight: fontWeight.medium,\n textTransform: \"uppercase\",\n letterSpacing: \"0.08em\",\n },\n button: {\n fontSize: fontSize.sm,\n lineHeight: lineHeight.sm,\n fontWeight: fontWeight.semibold,\n textTransform: \"none\",\n },\n };\n}\n\nexport const typography: TypographyVariantsOptions = buildTypography({\n fontFamily,\n display,\n fontSize,\n lineHeight,\n fontWeight,\n} as DesignTokens);\n","import type { Components, Theme } from \"@mui/material/styles\";\nimport type { DesignTokens } from \"./types\";\nimport {\n colors,\n radius,\n focusRings,\n shadows as tokenShadows,\n text,\n bg,\n fg,\n border,\n buttonColors,\n avatarColors,\n navColors,\n sliderColors,\n toggleColors,\n chartColors,\n} from \"./tokens\";\n\nexport function buildComponents(tokens: DesignTokens): Components<Theme> {\n const {\n colors,\n radius,\n focusRings,\n shadows: tokenShadows,\n text,\n bg,\n fg,\n border,\n buttonColors,\n } = tokens;\n\n return {\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 outlinedSecondary: {\n borderColor: buttonColors.secondary.border,\n \"&:hover\": {\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 // ─── 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 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 .MuiOutlinedInput-notchedOutline\": {\n borderColor: border.brand,\n },\n\n \"&.Mui-focused .MuiOutlinedInput-notchedOutline\": {\n borderColor: border.brandSolid,\n borderWidth: 1,\n boxShadow: \"none\",\n },\n \"&.Mui-error .MuiOutlinedInput-notchedOutline\": {\n borderColor: border.error,\n },\n\n \"&.Mui-error.Mui-focused .MuiOutlinedInput-notchedOutline\": {\n borderColor: border.errorSolid,\n boxShadow: \"none\",\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 // ─── Select ─────────────────────────────────────────────────────\n MuiSelect: {\n defaultProps: {\n MenuProps: {\n autoFocus: false,\n slotProps: {\n backdrop: {\n sx: { backgroundColor: \"transparent\" },\n },\n },\n },\n },\n styleOverrides: {\n select: {\n \"&.MuiSelect-select\": {\n minHeight: \"auto\",\n padding: \"6px 12px\",\n fontSize: 14,\n lineHeight: \"20px\",\n },\n },\n icon: {\n color: text.placeholder,\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 },\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: bg.brandPrimary,\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: colors.brand[700],\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: colors.brand[700],\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: colors.brand[700],\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 // ─── Chip ───────────────────────────────────────────────────────\n MuiChip: {\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: colors.gray[50],\n color: colors.gray[700],\n \"& .MuiChip-deleteIcon\": { color: colors.gray[400] },\n },\n },\n colorPrimary: {\n \"&.MuiChip-filled\": {\n backgroundColor: colors.brand[50],\n color: colors.brand[700],\n \"& .MuiChip-deleteIcon\": { color: colors.brand[400] },\n },\n },\n colorSecondary: {\n \"&.MuiChip-filled\": {\n backgroundColor: colors.gray[50],\n color: colors.gray[700],\n \"& .MuiChip-deleteIcon\": { color: colors.gray[400] },\n },\n },\n colorError: {\n \"&.MuiChip-filled\": {\n backgroundColor: colors.error[50],\n color: colors.error[700],\n \"& .MuiChip-deleteIcon\": { color: colors.error[400] },\n },\n },\n colorWarning: {\n \"&.MuiChip-filled\": {\n backgroundColor: colors.warning[50],\n color: colors.warning[700],\n \"& .MuiChip-deleteIcon\": { color: colors.warning[400] },\n },\n },\n colorSuccess: {\n \"&.MuiChip-filled\": {\n backgroundColor: colors.success[50],\n color: colors.success[700],\n \"& .MuiChip-deleteIcon\": { color: colors.success[400] },\n },\n },\n colorInfo: {\n \"&.MuiChip-filled\": {\n backgroundColor: colors.blue[50],\n color: colors.blue[700],\n \"& .MuiChip-deleteIcon\": { color: colors.blue[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 borderBottom: `1px solid ${border.secondary}`,\n },\n },\n },\n MuiTableRow: {\n styleOverrides: {\n root: {\n \"&:last-child td, &:last-child th\": {\n border: 0,\n },\n \"&:hover\": {\n backgroundColor: bg.primaryHover,\n },\n \"&.Mui-selected\": {\n backgroundColor: bg.brandPrimary,\n \"&:hover\": {\n backgroundColor: bg.brandPrimary,\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 },\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: bg.brandPrimary,\n color: buttonColors.secondaryColor.fg,\n \"&:hover\": {\n backgroundColor: bg.brandSecondary,\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 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: colors.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: colors.warning[700],\n border: `1px solid ${colors.warning[300]}`,\n \"& .MuiAlert-icon\": {\n color: fg.warningPrimary,\n },\n },\n standardSuccess: {\n backgroundColor: bg.successPrimary,\n color: colors.success[700],\n border: `1px solid ${colors.success[300]}`,\n \"& .MuiAlert-icon\": {\n color: fg.successPrimary,\n },\n },\n standardInfo: {\n backgroundColor: colors.blue[50],\n color: colors.blue[700],\n border: `1px solid ${colors.blue[300]}`,\n \"& .MuiAlert-icon\": {\n color: colors.blue[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 // ─── 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 fontSize: 14,\n lineHeight: \"20px\",\n color: fg.tertiary,\n \"&:focus, &:focus-within\": {\n outline: \"none\",\n },\n },\n row: {\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}\n\nexport const components: Components<Theme> = buildComponents({\n colors,\n radius,\n focusRings,\n shadows: tokenShadows,\n text,\n bg,\n fg,\n border,\n buttonColors,\n avatarColors,\n navColors,\n sliderColors,\n toggleColors,\n chartColors,\n} as DesignTokens);\n","import type { Shadows } from \"@mui/material/styles\";\nimport type { DesignTokens } from \"./types\";\nimport { shadows as tokenShadows } from \"./tokens\";\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\nexport const shadows: Shadows = buildShadows({\n shadows: tokenShadows,\n} as DesignTokens);\n","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","import type { ThemePreset } from \"../types\";\nimport * as tokens from \"../tokens\";\n\nexport const forestPreset: ThemePreset = {\n name: \"forest\",\n defaultVariant: \"light\",\n variants: {\n light: {\n tokens: {\n colors: tokens.colors,\n spacing: tokens.spacing,\n radius: tokens.radius,\n shadows: tokens.shadows,\n focusRings: tokens.focusRings,\n fontFamily: tokens.fontFamily,\n fontSize: tokens.fontSize,\n lineHeight: tokens.lineHeight,\n fontWeight: tokens.fontWeight,\n display: tokens.display,\n container: tokens.container,\n widths: tokens.widths,\n text: tokens.text,\n bg: tokens.bg,\n fg: tokens.fg,\n border: tokens.border,\n buttonColors: tokens.buttonColors,\n avatarColors: tokens.avatarColors,\n breadcrumbColors: tokens.breadcrumbColors,\n iconColors: tokens.iconColors,\n navColors: tokens.navColors,\n sliderColors: tokens.sliderColors,\n toggleColors: tokens.toggleColors,\n chartColors: tokens.chartColors,\n alpha: tokens.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 colors as forestColors,\n} from \"../tokens\";\n\n// ─── Alkemy+ Primitive Colors ──────────────────────────────────────\n\n/**\n * Red accent palette — the Alkemy+ secondary / highlight color.\n * Used for interactive accents (focus rings, selected states, switches, etc.)\n * while the `brand` scale (black) drives primary actions.\n */\nconst red = {\n 25: \"#fff5f5\",\n 50: \"#fef2f2\",\n 100: \"#fee2e2\",\n 200: \"#fecaca\",\n 300: \"#fca5a5\",\n 400: \"#f87171\",\n 500: \"#f04040\",\n 600: \"#dc2626\",\n 700: \"#b91c1c\",\n 800: \"#991b1b\",\n 900: \"#7f1d1d\",\n 950: \"#450a0a\",\n} as const;\n\nconst colors = {\n base: {\n white: \"#ffffff\",\n black: \"#000000\",\n transparent: \"#ffffff00\",\n },\n\n /** Brand scale — black-based for primary actions */\n brand: {\n 25: \"#fafafa\",\n 50: \"#f5f5f5\",\n 100: \"#ebebeb\",\n 200: \"#d6d6d6\",\n 300: \"#b0b0b0\",\n 400: \"#737373\",\n 500: \"#404040\",\n 600: \"#1a1a1a\",\n 700: \"#0d0d0d\",\n 800: \"#050505\",\n 900: \"#000000\",\n 950: \"#000000\",\n },\n\n /** Warm-neutral gray scale */\n 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 },\n\n /** Error — forest defaults (standard UX red) */\n error: forestColors.error,\n\n /** Warning — orange/yellow tones from Alkemy+ palette */\n warning: {\n 25: \"#fffcf5\",\n 50: \"#fff7ed\",\n 100: \"#ffedd5\",\n 200: \"#fed7aa\",\n 300: \"#fdba74\",\n 400: \"#fb923c\",\n 500: \"#f08828\",\n 600: \"#ea580c\",\n 700: \"#c2410c\",\n 800: \"#9a3412\",\n 900: \"#7c2d12\",\n 950: \"#431407\",\n },\n\n /** Success — forest defaults (standard UX green) */\n success: forestColors.success,\n\n /** Blue (info) — forest defaults (standard UX) */\n blue: forestColors.blue,\n\n teal: forestColors.teal,\n orange: forestColors.orange,\n purple: forestColors.purple,\n pink: forestColors.pink,\n fuchsia: forestColors.fuchsia,\n orangeDark: forestColors.orangeDark,\n green: forestColors.green,\n indigo: forestColors.indigo,\n} as const;\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\nconst text = {\n primary: colors.gray[900],\n secondary: colors.gray[700],\n secondaryHover: colors.gray[800],\n tertiary: colors.gray[600],\n tertiaryHover: colors.gray[700],\n quaternary: colors.gray[500],\n disabled: colors.gray[500],\n placeholder: colors.gray[500],\n placeholderSubtle: colors.gray[300],\n white: colors.base.white,\n brandPrimary: red[900],\n brandSecondary: red[700],\n brandTertiary: red[600],\n brandTertiaryAlt: red[600],\n primaryOnBrand: colors.base.white,\n secondaryOnBrand: colors.brand[200],\n tertiaryOnBrand: colors.brand[200],\n quaternaryOnBrand: colors.brand[300],\n errorPrimary: colors.error[600],\n warningPrimary: colors.warning[600],\n successPrimary: colors.success[600],\n} as const;\n\n// ─── Semantic Colors — Background ────────────────────────────────\n\nconst bg = {\n primary: colors.gray[50],\n primaryAlt: colors.gray[50],\n primaryHover: colors.gray[50],\n primarySolid: colors.gray[950],\n secondary: colors.base.white,\n secondaryAlt: colors.base.white,\n secondarySubtle: colors.gray[25],\n secondaryHover: colors.gray[100],\n secondarySolid: colors.gray[600],\n tertiary: colors.gray[100],\n quaternary: colors.gray[200],\n active: colors.gray[50],\n disabled: colors.gray[100],\n disabledSubtle: colors.gray[50],\n overlay: colors.gray[950],\n brandPrimary: colors.brand[100],\n brandPrimaryAlt: colors.brand[100],\n brandSecondary: colors.brand[200],\n brandSolid: colors.brand[600],\n brandSolidHover: colors.brand[700],\n brandSection: colors.brand[800],\n brandSectionSubtle: colors.brand[700],\n errorPrimary: colors.error[50],\n errorSecondary: colors.error[100],\n errorSolid: colors.error[600],\n warningPrimary: colors.warning[50],\n warningSecondary: colors.warning[100],\n warningSolid: colors.warning[600],\n successPrimary: colors.success[50],\n successSecondary: colors.success[100],\n successSolid: colors.success[600],\n} as const;\n\n// ─── Semantic Colors — Foreground ────────────────────────────────\n\nconst fg = {\n primary: colors.gray[900],\n secondary: colors.gray[700],\n secondaryHover: colors.gray[800],\n tertiary: colors.gray[600],\n tertiaryHover: colors.gray[700],\n quaternary: colors.gray[500],\n quaternaryHover: colors.gray[600],\n quinary: colors.gray[400],\n quinaryHover: colors.gray[500],\n senary: colors.gray[300],\n white: colors.base.white,\n disabled: colors.gray[400],\n disabledSubtle: colors.gray[300],\n brandPrimary: colors.brand[600],\n brandPrimaryAlt: colors.brand[600],\n brandSecondary: colors.brand[500],\n errorPrimary: colors.error[600],\n errorSecondary: colors.error[500],\n warningPrimary: colors.warning[600],\n warningSecondary: colors.warning[500],\n successPrimary: colors.success[600],\n successSecondary: colors.success[500],\n} as const;\n\n// ─── Semantic Colors — Border ────────────────────────────────────\n\nconst border = {\n primary: colors.gray[300],\n secondary: colors.gray[200],\n tertiary: colors.gray[100],\n disabled: colors.gray[300],\n disabledSubtle: colors.gray[200],\n brand: colors.brand[300],\n brandSolid: colors.brand[600],\n brandSolidAlt: colors.brand[600],\n error: colors.error[300],\n errorSolid: colors.error[600],\n} as const;\n\n// ─── Component Colors — Buttons ──────────────────────────────────\n\nconst buttonColors = {\n /** Primary buttons — black */\n primary: {\n bg: colors.brand[600],\n bgHover: colors.brand[700],\n fg: colors.base.white,\n fgHover: colors.base.white,\n border: colors.brand[600],\n borderHover: colors.brand[700],\n },\n secondary: {\n bg: colors.base.white,\n bgHover: colors.gray[50],\n fg: colors.gray[700],\n fgHover: colors.gray[800],\n border: colors.gray[300],\n borderHover: colors.gray[300],\n },\n /** Outlined accent buttons — dark */\n secondaryColor: {\n bg: colors.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: colors.gray[600],\n fgHover: colors.gray[700],\n bgHover: colors.gray[50],\n },\n /** Text accent buttons — red */\n tertiaryColor: {\n fg: red[700],\n fgHover: red[800],\n bgHover: red[50],\n },\n primaryError: {\n bg: colors.error[600],\n bgHover: colors.error[700],\n fg: colors.base.white,\n fgHover: colors.base.white,\n border: colors.error[600],\n borderHover: colors.error[700],\n },\n secondaryError: {\n bg: colors.base.white,\n bgHover: colors.error[50],\n fg: colors.error[700],\n fgHover: colors.error[800],\n border: colors.error[300],\n borderHover: colors.error[300],\n },\n tertiaryError: {\n fg: colors.error[700],\n fgHover: colors.error[800],\n bgHover: colors.error[50],\n },\n} as const;\n\n// ─── Component Colors — Avatars ──────────────────────────────────\n\nconst avatarColors = {\n bg: colors.gray[100],\n contrastBorder: \"#00000014\",\n profilePhotoBorder: colors.base.white,\n focusBorder: \"#a0a0a624\",\n} as const;\n\n// ─── Component Colors — Breadcrumbs ──────────────────────────────\n\nconst breadcrumbColors = {\n fg: colors.gray[600],\n fgHover: colors.gray[700],\n bgHover: colors.gray[50],\n brandBgHover: red[50],\n brandFgHover: red[700],\n iconFg: colors.gray[500],\n iconFgHover: colors.gray[700],\n brandIconFgHover: red[700],\n} as const;\n\n// ─── Component Colors — Icons ────────────────────────────────────\n\nconst iconColors = {\n fgBrand: red[600],\n fgBrandOnBrand: red[200],\n featuredModernBorder: colors.gray[200],\n featuredLightFgBrand: red[600],\n featuredLightFgGray: colors.gray[500],\n featuredLightFgError: colors.error[600],\n featuredLightFgWarning: colors.warning[600],\n featuredLightFgSuccess: colors.success[600],\n featuredDarkFgBrand: colors.base.white,\n featuredDarkFgGray: colors.base.white,\n featuredDarkFgError: colors.base.white,\n featuredDarkFgWarning: colors.base.white,\n featuredDarkFgSuccess: colors.base.white,\n} as const;\n\n// ─── Component Colors — Navigation ──────────────────────────────\n\nconst navColors = {\n itemIconFg: colors.gray[500],\n itemIconFgActive: colors.gray[500],\n itemButtonIconFg: colors.gray[500],\n itemButtonIconFgActive: colors.gray[700],\n} as const;\n\n// ─── Component Colors — Sliders ──────────────────────────────────\n\nconst sliderColors = {\n handleBorder: red[600],\n handleBg: colors.base.white,\n} as const;\n\n// ─── Component Colors — Toggles ──────────────────────────────────\n\nconst toggleColors = {\n buttonFgDisabled: colors.gray[50],\n} as const;\n\n// ─── Component Colors — Charts ───────────────────────────────────\n\nconst chartColors = {\n axisFg: colors.gray[200],\n gridlineFg: colors.gray[100],\n labelFg: colors.gray[600],\n labelFgEmphasis: colors.gray[700],\n bg: colors.base.white,\n bgAlt: colors.gray[50],\n tooltipBg: colors.gray[950],\n tooltipFg: colors.base.white,\n crosshairFg: colors.gray[500],\n legendFg: colors.gray[700],\n series1Fg: colors.brand[600],\n series1FgHover: colors.brand[700],\n series1Bg: colors.brand[100],\n series1BgHover: colors.brand[200],\n series2Fg: red[600],\n series2FgHover: red[700],\n series2Bg: red[100],\n series2BgHover: red[200],\n series3Fg: colors.teal[600],\n series3FgHover: colors.teal[700],\n series3Bg: colors.teal[100],\n series3BgHover: colors.teal[200],\n series4Fg: colors.orange[600],\n series4FgHover: colors.orange[700],\n series4Bg: colors.orange[100],\n series4BgHover: colors.orange[200],\n series5Fg: colors.purple[600],\n series5FgHover: colors.purple[700],\n series5Bg: colors.purple[100],\n series5BgHover: colors.purple[200],\n series6Fg: colors.pink[600],\n series6FgHover: colors.pink[700],\n series6Bg: colors.pink[100],\n series6BgHover: colors.pink[200],\n series7Fg: colors.fuchsia[600],\n series7FgHover: colors.fuchsia[700],\n series7Bg: colors.fuchsia[100],\n series7BgHover: colors.fuchsia[200],\n series8Fg: colors.orangeDark[600],\n series8FgHover: colors.orangeDark[700],\n series8Bg: colors.orangeDark[100],\n series8BgHover: colors.orangeDark[200],\n series9Fg: colors.green[600],\n series9FgHover: colors.green[700],\n series9Bg: colors.green[100],\n series9BgHover: colors.green[200],\n series10Fg: colors.indigo[600],\n series10FgHover: colors.indigo[700],\n series10Bg: colors.indigo[100],\n series10BgHover: colors.indigo[200],\n} as const;\n\n// ─── Focus Rings — red accent ────────────────────────────────────\n\nconst focusRings = {\n brand: \"0px 0px 0px 4px #f040403d\",\n brandShadowXs: \"0px 1px 2px 0px #1018280d, 0px 0px 0px 4px #f040403d\",\n brandShadowSm: \"0px 1px 3px 0px #1018281a, 0px 1px 2px 0px #1018280f, 0px 0px 0px 4px #f040403d\",\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 alkemyPlusPreset: ThemePreset = {\n name: \"alkemy-plus\",\n defaultVariant: \"light\",\n variants: {\n light: {\n tokens: {\n colors,\n spacing,\n radius,\n shadows: tokenShadows,\n focusRings,\n fontFamily: '\"Aeonik\", sans-serif',\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 { forestPreset } from \"./forest\";\nimport { alkemyPlusPreset } from \"./alkemy-plus\";\n\nconst presetRegistry = new Map<string, ThemePreset>();\n\n// Register built-in presets\npresetRegistry.set(forestPreset.name, forestPreset);\npresetRegistry.set(alkemyPlusPreset.name, alkemyPlusPreset);\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 { forestPreset, alkemyPlusPreset };\n","import { createTheme, type ThemeOptions } from \"@mui/material/styles\";\nimport { palette } from \"./palette\";\nimport { typography } from \"./typography\";\nimport { components } from \"./components\";\nimport { shadows } from \"./shadows\";\n\nexport const forestThemeOptions: ThemeOptions = {\n palette,\n typography,\n components,\n shadows,\n shape: {\n borderRadius: 8,\n },\n};\n\nexport const forestTheme = createTheme(forestThemeOptions);\n\nexport { palette, typography, components, shadows };\nexport * from \"./tokens\";\n\n// Preset system\nexport { buildTheme, buildThemeOptions } from \"./buildTheme\";\nexport { getPreset, registerPreset, getAvailablePresets, forestPreset, alkemyPlusPreset } from \"./presets\";\nexport type { DesignTokens, PresetVariantConfig, ThemePreset } from \"./types\";\n","\"use client\";\n\nimport { useMemo } from \"react\";\nimport { ThemeProvider, type Theme } from \"@mui/material/styles\";\nimport CssBaseline from \"@mui/material/CssBaseline\";\nimport { forestTheme } from \"../theme\";\nimport { getPreset } from \"../theme/presets\";\nimport { buildTheme } from \"../theme/buildTheme\";\n\nexport interface ForestProviderProps {\n children: React.ReactNode;\n theme?: Theme;\n preset?: string;\n variant?: string;\n disableCssBaseline?: boolean;\n}\n\nexport function ForestProvider({\n children,\n theme,\n preset,\n variant,\n disableCssBaseline = false,\n}: ForestProviderProps) {\n const resolvedTheme = useMemo(() => {\n // Explicit theme prop takes highest priority\n if (theme) return theme;\n\n // If no preset specified, use the default forest theme\n if (!preset) return forestTheme;\n\n // Resolve preset + variant\n const presetConfig = getPreset(preset);\n if (!presetConfig) {\n throw new Error(\n `[ForestProvider] Unknown preset \"${preset}\". ` +\n `Available presets: use getAvailablePresets() to see registered presets.`\n );\n }\n\n const variantName = variant ?? presetConfig.defaultVariant;\n const variantConfig = presetConfig.variants[variantName];\n if (!variantConfig) {\n throw new Error(\n `[ForestProvider] Unknown variant \"${variantName}\" for preset \"${preset}\". ` +\n `Available variants: ${Object.keys(presetConfig.variants).join(\", \")}.`\n );\n }\n\n return buildTheme(variantConfig.tokens);\n }, [theme, preset, variant]);\n\n return (\n <ThemeProvider theme={resolvedTheme}>\n {!disableCssBaseline && <CssBaseline />}\n {children}\n </ThemeProvider>\n );\n}\n","import MuiAutocomplete, {\n type AutocompleteProps,\n} from \"@mui/material/Autocomplete\";\n\nexport type { AutocompleteProps };\n\nexport function Autocomplete<\n Value,\n Multiple extends boolean | undefined = false,\n DisableClearable extends boolean | undefined = false,\n FreeSolo extends boolean | undefined = false,\n>(\n props: AutocompleteProps<Value, Multiple, DisableClearable, FreeSolo>,\n) {\n return <MuiAutocomplete {...props} />;\n}\n","import MuiButton, { type ButtonProps as MuiButtonProps } from \"@mui/material/Button\";\n\nexport type ButtonProps = Omit<MuiButtonProps, \"size\">;\n\nexport function Button({ ...props }: ButtonProps) {\n return <MuiButton variant=\"contained\" {...props} />;\n}\n","import MuiButtonGroup, { type ButtonGroupProps } from \"@mui/material/ButtonGroup\";\n\nexport type { ButtonGroupProps };\n\nexport function ButtonGroup(props: ButtonGroupProps) {\n return <MuiButtonGroup variant=\"contained\" {...props} />;\n}\n","import MuiCheckbox, { type CheckboxProps } from \"@mui/material/Checkbox\";\n\nexport type { CheckboxProps };\n\nexport function Checkbox(props: CheckboxProps) {\n return <MuiCheckbox {...props} />;\n}\n","import MuiFab, { type FabProps } from \"@mui/material/Fab\";\n\nexport type { FabProps };\n\nexport function Fab(props: FabProps) {\n return <MuiFab color=\"primary\" {...props} />;\n}\n","import MuiRadioGroup, { type RadioGroupProps } from \"@mui/material/RadioGroup\";\nimport MuiRadio, { type RadioProps } from \"@mui/material/Radio\";\n\nexport type { RadioGroupProps, RadioProps };\n\nexport function RadioGroup(props: RadioGroupProps) {\n return <MuiRadioGroup {...props} />;\n}\n\nexport function Radio(props: RadioProps) {\n return <MuiRadio {...props} />;\n}\n","import MuiSelect, { type SelectProps } from \"@mui/material/Select\";\nimport MuiMenuItem, { type MenuItemProps } from \"@mui/material/MenuItem\";\n\nexport type { SelectProps, MenuItemProps };\n\nexport function Select<Value = unknown>(props: SelectProps<Value>) {\n return <MuiSelect {...props} />;\n}\n\nexport function MenuItem(props: MenuItemProps) {\n return <MuiMenuItem {...props} />;\n}\n","import MuiSwitch, { type SwitchProps } from \"@mui/material/Switch\";\n\nexport type { SwitchProps };\n\nexport function Switch(props: SwitchProps) {\n return <MuiSwitch {...props} />;\n}\n","import MuiTextField, { type TextFieldProps } from \"@mui/material/TextField\";\n\nexport type { TextFieldProps };\n\nexport function TextField(props: TextFieldProps) {\n return <MuiTextField {...props} />;\n}\n","import MuiToggleButton, { type ToggleButtonProps } from \"@mui/material/ToggleButton\";\nimport MuiToggleButtonGroup, { type ToggleButtonGroupProps } from \"@mui/material/ToggleButtonGroup\";\n\nexport type { ToggleButtonProps, ToggleButtonGroupProps };\n\nexport function ToggleButton(props: ToggleButtonProps) {\n return <MuiToggleButton {...props} />;\n}\n\nexport function ToggleButtonGroup(props: ToggleButtonGroupProps) {\n return <MuiToggleButtonGroup {...props} />;\n}\n","import MuiBadge, { type BadgeProps } from \"@mui/material/Badge\";\n\nexport type { BadgeProps };\n\nexport function Badge(props: BadgeProps) {\n return <MuiBadge {...props} />;\n}\n","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n}), 'CloseOutlined');","import MuiChip, { type ChipProps } from \"@mui/material/Chip\";\nimport CloseIcon from \"@mui/icons-material/CloseOutlined\";\n\nexport type { ChipProps };\n\nexport function Chip(props: ChipProps) {\n return (\n <MuiChip\n deleteIcon={<CloseIcon />}\n {...props}\n />\n );\n}\n","import MuiDivider, { type DividerProps } from \"@mui/material/Divider\";\n\nexport type { DividerProps };\n\nexport function Divider(props: DividerProps) {\n return <MuiDivider {...props} />;\n}\n","import MuiList, { type ListProps } from \"@mui/material/List\";\nimport MuiListItem, { type ListItemProps } from \"@mui/material/ListItem\";\nimport MuiListItemButton, { type ListItemButtonProps } from \"@mui/material/ListItemButton\";\nimport MuiListItemIcon, { type ListItemIconProps } from \"@mui/material/ListItemIcon\";\nimport MuiListItemText, { type ListItemTextProps } from \"@mui/material/ListItemText\";\nimport MuiListItemAvatar, { type ListItemAvatarProps } from \"@mui/material/ListItemAvatar\";\nimport MuiListSubheader, { type ListSubheaderProps } from \"@mui/material/ListSubheader\";\n\nexport type {\n ListProps,\n ListItemProps,\n ListItemButtonProps,\n ListItemIconProps,\n ListItemTextProps,\n ListItemAvatarProps,\n ListSubheaderProps,\n};\n\nexport function List(props: ListProps) {\n return <MuiList {...props} />;\n}\n\nexport function ListItem(props: ListItemProps) {\n return <MuiListItem {...props} />;\n}\n\nexport function ListItemButton(props: ListItemButtonProps) {\n return <MuiListItemButton {...props} />;\n}\n\nexport function ListItemIcon(props: ListItemIconProps) {\n return <MuiListItemIcon {...props} />;\n}\n\nexport function ListItemText(props: ListItemTextProps) {\n return <MuiListItemText {...props} />;\n}\n\nexport function ListItemAvatar(props: ListItemAvatarProps) {\n return <MuiListItemAvatar {...props} />;\n}\n\nexport function ListSubheader(props: ListSubheaderProps) {\n return <MuiListSubheader {...props} />;\n}\n","import MuiTable, { type TableProps } from \"@mui/material/Table\";\nimport MuiTableBody, { type TableBodyProps } from \"@mui/material/TableBody\";\nimport MuiTableCell, { type TableCellProps } from \"@mui/material/TableCell\";\nimport MuiTableContainer, { type TableContainerProps } from \"@mui/material/TableContainer\";\nimport MuiTableHead, { type TableHeadProps } from \"@mui/material/TableHead\";\nimport MuiTableRow, { type TableRowProps } from \"@mui/material/TableRow\";\n\nexport type {\n TableProps,\n TableBodyProps,\n TableCellProps,\n TableContainerProps,\n TableHeadProps,\n TableRowProps,\n};\n\nexport function Table(props: TableProps) {\n return <MuiTable {...props} />;\n}\n\nexport function TableBody(props: TableBodyProps) {\n return <MuiTableBody {...props} />;\n}\n\nexport function TableCell(props: TableCellProps) {\n return <MuiTableCell {...props} />;\n}\n\nexport function TableContainer(props: TableContainerProps) {\n return <MuiTableContainer {...props} />;\n}\n\nexport function TableHead(props: TableHeadProps) {\n return <MuiTableHead {...props} />;\n}\n\nexport function TableRow(props: TableRowProps) {\n return <MuiTableRow {...props} />;\n}\n","import { DataGrid as MuiDataGrid, type DataGridProps } from \"@mui/x-data-grid\";\n\nexport type { DataGridProps };\nexport type {\n GridColDef,\n GridRowsProp,\n GridRowParams,\n GridCellParams,\n GridSortModel,\n GridFilterModel,\n GridPaginationModel,\n} from \"@mui/x-data-grid\";\n\nexport function DataGrid(props: DataGridProps) {\n return <MuiDataGrid {...props} />;\n}\n","import MuiTooltip, { type TooltipProps } from \"@mui/material/Tooltip\";\n\nexport type { TooltipProps };\n\nexport function Tooltip(props: TooltipProps) {\n return <MuiTooltip arrow {...props} />;\n}\n","import MuiTypography, { type TypographyProps } from \"@mui/material/Typography\";\n\nexport type { TypographyProps };\n\nexport function Typography(props: TypographyProps) {\n return <MuiTypography {...props} />;\n}\n","import MuiAccordion, { type AccordionProps } from \"@mui/material/Accordion\";\nimport MuiAccordionSummary, { type AccordionSummaryProps } from \"@mui/material/AccordionSummary\";\nimport MuiAccordionDetails, { type AccordionDetailsProps } from \"@mui/material/AccordionDetails\";\nimport MuiAccordionActions, { type AccordionActionsProps } from \"@mui/material/AccordionActions\";\n\nexport type {\n AccordionProps,\n AccordionSummaryProps,\n AccordionDetailsProps,\n AccordionActionsProps,\n};\n\nexport function Accordion(props: AccordionProps) {\n return <MuiAccordion {...props} />;\n}\n\nexport function AccordionSummary(props: AccordionSummaryProps) {\n return <MuiAccordionSummary {...props} />;\n}\n\nexport function AccordionDetails(props: AccordionDetailsProps) {\n return <MuiAccordionDetails {...props} />;\n}\n\nexport function AccordionActions(props: AccordionActionsProps) {\n return <MuiAccordionActions {...props} />;\n}\n","import MuiAppBar, { type AppBarProps } from \"@mui/material/AppBar\";\nimport MuiToolbar, { type ToolbarProps } from \"@mui/material/Toolbar\";\n\nexport type { AppBarProps, ToolbarProps };\n\nexport function AppBar(props: AppBarProps) {\n return <MuiAppBar {...props} />;\n}\n\nexport function Toolbar(props: ToolbarProps) {\n return <MuiToolbar {...props} />;\n}\n","import MuiCard, { type CardProps } from \"@mui/material/Card\";\nimport MuiCardContent, { type CardContentProps } from \"@mui/material/CardContent\";\nimport MuiCardHeader, { type CardHeaderProps } from \"@mui/material/CardHeader\";\nimport MuiCardActions, { type CardActionsProps } from \"@mui/material/CardActions\";\nimport MuiCardMedia, { type CardMediaProps } from \"@mui/material/CardMedia\";\n\nexport type {\n CardProps,\n CardContentProps,\n CardHeaderProps,\n CardActionsProps,\n CardMediaProps,\n};\n\nexport function Card(props: CardProps) {\n return <MuiCard {...props} />;\n}\n\nexport function CardContent(props: CardContentProps) {\n return <MuiCardContent {...props} />;\n}\n\nexport function CardHeader(props: CardHeaderProps) {\n return <MuiCardHeader {...props} />;\n}\n\nexport function CardActions(props: CardActionsProps) {\n return <MuiCardActions {...props} />;\n}\n\nexport function CardMedia(props: CardMediaProps) {\n return <MuiCardMedia {...props} />;\n}\n","import MuiPaper, { type PaperProps } from \"@mui/material/Paper\";\n\nexport type { PaperProps };\n\nexport function Paper(props: PaperProps) {\n return <MuiPaper {...props} />;\n}\n","import MuiAlert, { type AlertProps } from \"@mui/material/Alert\";\nimport MuiAlertTitle, { type AlertTitleProps } from \"@mui/material/AlertTitle\";\n\nexport type { AlertProps, AlertTitleProps };\n\nexport function Alert(props: AlertProps) {\n return <MuiAlert {...props} />;\n}\n\nexport function AlertTitle(props: AlertTitleProps) {\n return <MuiAlertTitle {...props} />;\n}\n","import MuiBackdrop, { type BackdropProps } from \"@mui/material/Backdrop\";\n\nexport type { BackdropProps };\n\nexport function Backdrop(props: BackdropProps) {\n return <MuiBackdrop {...props} />;\n}\n","import MuiDialog, { type DialogProps } from \"@mui/material/Dialog\";\nimport MuiDialogTitle, { type DialogTitleProps } from \"@mui/material/DialogTitle\";\nimport MuiDialogContent, { type DialogContentProps } from \"@mui/material/DialogContent\";\nimport MuiDialogActions, { type DialogActionsProps } from \"@mui/material/DialogActions\";\nimport MuiDialogContentText, { type DialogContentTextProps } from \"@mui/material/DialogContentText\";\n\nexport type {\n DialogProps,\n DialogTitleProps,\n DialogContentProps,\n DialogActionsProps,\n DialogContentTextProps,\n};\n\nexport function Dialog(props: DialogProps) {\n return <MuiDialog {...props} />;\n}\n\nexport function DialogTitle(props: DialogTitleProps) {\n return <MuiDialogTitle {...props} />;\n}\n\nexport function DialogContent(props: DialogContentProps) {\n return <MuiDialogContent {...props} />;\n}\n\nexport function DialogActions(props: DialogActionsProps) {\n return <MuiDialogActions {...props} />;\n}\n\nexport function DialogContentText(props: DialogContentTextProps) {\n return <MuiDialogContentText {...props} />;\n}\n","import MuiLinearProgress, { type LinearProgressProps } from \"@mui/material/LinearProgress\";\nimport MuiCircularProgress, { type CircularProgressProps } from \"@mui/material/CircularProgress\";\n\nexport type { LinearProgressProps, CircularProgressProps };\n\nexport function LinearProgress(props: LinearProgressProps) {\n return <MuiLinearProgress {...props} />;\n}\n\nexport function CircularProgress(props: CircularProgressProps) {\n return <MuiCircularProgress {...props} />;\n}\n","import MuiSkeleton, { type SkeletonProps } from \"@mui/material/Skeleton\";\n\nexport type { SkeletonProps };\n\nexport function Skeleton(props: SkeletonProps) {\n return <MuiSkeleton {...props} />;\n}\n","import MuiSnackbar, { type SnackbarProps } from \"@mui/material/Snackbar\";\n\nexport type { SnackbarProps };\n\nexport function Snackbar(props: SnackbarProps) {\n return <MuiSnackbar {...props} />;\n}\n","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M15.41 7.41 14 6l-6 6 6 6 1.41-1.41L10.83 12z\"\n}), 'ChevronLeftOutlined');","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\"\n}), 'ChevronRightOutlined');","import React, { createContext, useContext } from \"react\";\nimport MuiDrawer, { type DrawerProps } from \"@mui/material/Drawer\";\nimport Box from \"@mui/material/Box\";\nimport IconButton from \"@mui/material/IconButton\";\nimport ChevronLeftOutlined from \"@mui/icons-material/ChevronLeftOutlined\";\nimport ChevronRightOutlined from \"@mui/icons-material/ChevronRightOutlined\";\nimport MuiListItemButton, { type ListItemButtonProps } from \"@mui/material/ListItemButton\";\nimport ListItemIcon from \"@mui/material/ListItemIcon\";\nimport ListItemText from \"@mui/material/ListItemText\";\nimport MuiTooltip from \"@mui/material/Tooltip\";\nimport { bg, text, navColors } from \"../../theme/tokens\";\n\nexport interface SidebarContextValue {\n open: boolean;\n collapsedWidth: number;\n expandedWidth: number;\n}\n\nconst SidebarContext = createContext<SidebarContextValue>({\n open: true,\n collapsedWidth: 48,\n expandedWidth: 240,\n});\n\nexport function useSidebar() {\n return useContext(SidebarContext);\n}\n\nexport interface SidebarNavProps\n extends Omit<DrawerProps, \"open\" | \"variant\" | \"onClose\"> {\n /** Whether the sidebar is expanded */\n open: boolean;\n /** Callback when open state changes */\n onOpenChange: (open: boolean) => void;\n /** Width when expanded (default: 240) */\n expandedWidth?: number;\n /** Width when collapsed — icon-only (default: 64) */\n collapsedWidth?: number;\n /** Expand behavior:\n * - \"permanent\": click to toggle, stays open/closed\n * - \"hover\": collapsed by default, expands on mouse enter, collapses on mouse leave\n */\n behavior?: \"permanent\" | \"hover\";\n /** Whether to show the edge toggle button (default: true for \"permanent\", false for \"hover\") */\n showToggle?: boolean;\n /** Content rendered inside the sidebar */\n children: React.ReactNode;\n /** Optional header slot — rendered above children */\n header?: React.ReactNode;\n /** Optional footer slot — rendered at bottom */\n footer?: React.ReactNode;\n}\n\nexport function SidebarNav({\n open,\n onOpenChange,\n expandedWidth = 240,\n collapsedWidth = 48,\n behavior = \"permanent\",\n showToggle,\n children,\n header,\n footer,\n sx,\n ...rest\n}: SidebarNavProps) {\n const isHover = behavior === \"hover\";\n const drawerWidth = open ? expandedWidth : collapsedWidth;\n const layoutWidth = isHover ? collapsedWidth : drawerWidth;\n const shouldShowToggle = showToggle ?? !isHover;\n\n const hoverHandlers = isHover\n ? {\n onMouseEnter: () => onOpenChange(true),\n onMouseLeave: () => onOpenChange(false),\n }\n : {};\n\n return (\n <SidebarContext.Provider value={{ open, collapsedWidth, expandedWidth }}>\n <Box sx={{ position: \"relative\", width: layoutWidth, flexShrink: 0 }}>\n <MuiDrawer\n variant=\"permanent\"\n {...rest}\n {...hoverHandlers}\n sx={{\n width: drawerWidth,\n flexShrink: 0,\n \"& .MuiDrawer-paper\": {\n width: drawerWidth,\n transition: \"width 200ms ease-in-out\",\n overflowX: \"hidden\",\n boxSizing: \"border-box\",\n ...(isHover && { zIndex: (theme: any) => theme.zIndex.drawer + 2 }),\n },\n ...sx,\n }}\n >\n <Box\n sx={{\n display: \"flex\",\n flexDirection: \"column\",\n height: \"100%\",\n overflow: \"hidden\",\n }}\n >\n {header && <Box sx={{ flexShrink: 0 }}>{header}</Box>}\n <Box sx={{ flexGrow: 1, overflowY: \"auto\", overflowX: \"hidden\" }}>\n {children}\n </Box>\n {footer && <Box sx={{ flexShrink: 0 }}>{footer}</Box>}\n </Box>\n </MuiDrawer>\n\n {shouldShowToggle && (\n <IconButton\n size=\"small\"\n onClick={() => onOpenChange(!open)}\n sx={{\n position: \"absolute\",\n top: \"50%\",\n right: 0,\n transform: \"translate(50%, -50%)\",\n zIndex: (theme) => theme.zIndex.drawer + 1,\n width: 28,\n height: 28,\n border: 1,\n borderColor: \"divider\",\n backgroundColor: \"background.paper\",\n boxShadow: 1,\n \"&:hover\": {\n backgroundColor: \"action.hover\",\n },\n \"& .MuiSvgIcon-root\": {\n fontSize: 18,\n },\n }}\n >\n {open ? <ChevronLeftOutlined /> : <ChevronRightOutlined />}\n </IconButton>\n )}\n </Box>\n </SidebarContext.Provider>\n );\n}\n\n// ---------------------------------------------------------------------------\n// SidebarItem\n// ---------------------------------------------------------------------------\n\nexport interface SidebarItemProps extends Omit<ListItemButtonProps, \"children\"> {\n /** Icon element (required — visible in both expanded and collapsed states) */\n icon: React.ReactNode;\n /** Label text */\n label: string;\n /** Optional content rendered on the right side when expanded (badge, count, etc.) */\n endAdornment?: React.ReactNode;\n}\n\nconst itemSx = {\n borderRadius: 1,\n backgroundColor: bg.primary,\n color: text.secondary,\n \"& .MuiListItemIcon-root\": {\n color: navColors.itemIconFg,\n },\n \"&:hover\": {\n backgroundColor: bg.primaryHover,\n },\n \"&.Mui-selected\": {\n backgroundColor: bg.active,\n color: text.primary,\n \"& .MuiListItemIcon-root\": {\n color: navColors.itemIconFgActive,\n },\n \"& .MuiListItemText-primary\": {\n fontWeight: 600,\n },\n \"&:hover\": {\n backgroundColor: bg.primaryHover,\n },\n },\n};\n\nexport function SidebarItem({\n icon,\n label,\n endAdornment,\n sx,\n ...rest\n}: SidebarItemProps) {\n const { open } = useSidebar();\n\n if (!open) {\n return (\n <MuiTooltip title={label} placement=\"right\" arrow>\n <MuiListItemButton\n {...rest}\n sx={{\n ...itemSx,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n width: 40,\n height: 40,\n padding: 0,\n margin: \"0 auto\",\n ...sx,\n }}\n >\n <ListItemIcon sx={{ minWidth: \"unset\", margin: 0, \"& .MuiSvgIcon-root\": { fontSize: 20 } }}>\n {icon}\n </ListItemIcon>\n </MuiListItemButton>\n </MuiTooltip>\n );\n }\n\n return (\n <MuiListItemButton {...rest} sx={{ ...itemSx, height: 40, ...sx }}>\n <ListItemIcon sx={{ \"& .MuiSvgIcon-root\": { fontSize: 20 } }}>{icon}</ListItemIcon>\n <ListItemText primary={label} />\n {endAdornment}\n </MuiListItemButton>\n );\n}\n"]}
|