@matteoaliano/forest-ui 0.4.4 → 0.5.1

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/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/shadows.ts","../src/theme/components.ts","../src/theme/buildTheme.ts","../src/theme/presets/forest-external.ts","../src/theme/presets/forest-agency.ts","../src/theme/presets/forest-internal.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/MultiSelect/index.tsx","../src/components/Switch/index.tsx","../src/components/TextField/index.tsx","../../../node_modules/@mui/icons-material/esm/Search.js","../../../node_modules/@mui/icons-material/esm/Clear.js","../src/components/Search/index.tsx","../src/components/Input/index.tsx","../src/components/IconButton/index.tsx","../src/components/Logo/index.tsx","../src/components/ToggleButton/index.tsx","../src/components/DatePicker/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/Modal/index.tsx","../src/components/Popover/index.tsx","../src/components/Snackbar/index.tsx","../src/components/Breadcrumbs/index.tsx","../src/components/Link/index.tsx","../src/components/Menu/index.tsx","../src/components/Pagination/index.tsx","../src/components/Stepper/index.tsx","../src/components/Tabs/index.tsx","../../../node_modules/@mui/icons-material/esm/ChevronLeftOutlined.js","../../../node_modules/@mui/icons-material/esm/ChevronRightOutlined.js","../src/components/Sidebar/index.tsx","../src/components/Charts/useChartColors.ts","../src/components/Charts/CustomTooltip.tsx","../src/components/Charts/LineChart.tsx","../src/components/Charts/BarChart.tsx","../src/components/Charts/PieChart.tsx"],"names":["base","error","warning","success","info","text","bg","fg","border","fontFamily","display","fontSize","lineHeight","fontWeight","radius","focusRings","buttonColors","sliderColors","createTheme","avatarColors","breadcrumbColors","iconColors","navColors","toggleColors","chartColors","useMemo","jsxs","ThemeProvider","CssBaseline","jsx","MuiAutocomplete","MuiButton","MuiButtonGroup","MuiCheckbox","MuiFab","MuiRadioGroup","MuiRadio","MuiSelect","MuiMenuItem","renderValue","MuiFormControl","MuiInputLabel","MuiListItemText","MuiSwitch","MuiTextField","createSvgIcon","_jsx","useState","useCallback","InputAdornment","IconButton","MuiInputBase","MuiIconButton","Fragment","forwardRef","Box","MuiToggleButton","MuiToggleButtonGroup","LocalizationProvider","AdapterDayjs","MuiDatePicker","MuiBadge","MuiChip","MuiDivider","MuiList","MuiListItem","MuiListItemButton","MuiListItemIcon","MuiListItemAvatar","MuiListSubheader","MuiTable","MuiTableBody","MuiTableCell","MuiTableContainer","MuiTableHead","MuiTableRow","MuiDataGrid","MuiTooltip","MuiTypography","MuiAccordion","MuiAccordionSummary","MuiAccordionDetails","MuiAccordionActions","MuiAppBar","MuiToolbar","MuiCard","MuiCardContent","MuiCardHeader","MuiCardActions","MuiCardMedia","MuiPaper","React","Alert","MuiAlert","MuiAlertTitle","MuiBackdrop","MuiDialog","MuiDialogTitle","MuiDialogContent","MuiDialogActions","MuiDialogContentText","MuiLinearProgress","MuiCircularProgress","MuiSkeleton","MuiModal","MuiPopover","MuiSnackbar","MuiBreadcrumbs","MuiLink","MuiMenu","MuiMenuList","MuiPagination","MuiStepper","MuiStep","MuiStepLabel","MuiTabs","MuiTab","createContext","useContext","MuiDrawer","ListItemIcon","ListItemText","useTheme","colors","Typography","_a","_b","MuiLineChart","MuiBarChart","MuiPieChart"],"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// ─── Named Primitive Color Scales ────────────────────────────────────\n\nexport const violet = {\n 25: \"#faf8ff\",\n 50: \"#f5f0ff\",\n 100: \"#ebe0ff\",\n 200: \"#d6c0ff\",\n 300: \"#b090ff\",\n 400: \"#9D5FFF\",\n 500: \"#7c4de6\",\n 600: \"#5b3acc\",\n 700: \"#3a1aad\",\n 800: \"#190a8a\",\n 900: \"#000066\",\n 950: \"#000033\",\n} as const;\n\nexport const magenta = {\n 25: \"#fff8fd\",\n 50: \"#fff0fa\",\n 100: \"#ffe0f5\",\n 200: \"#ffc0eb\",\n 300: \"#ff90d8\",\n 400: \"#FF78F3\",\n 500: \"#e650d4\",\n 600: \"#cc28b5\",\n 700: \"#a3008c\",\n 800: \"#7a0066\",\n 900: \"#520044\",\n 950: \"#290022\",\n} as const;\n\nexport const gray = {\n 25: \"#fdfcfc\",\n 50: \"#faf9f8\",\n 100: \"#f5f3f1\",\n 200: \"#e8e5e3\",\n 300: \"#d8d8dc\",\n 400: \"#a0a0a6\",\n 500: \"#71717a\",\n 600: \"#52525b\",\n 700: \"#3f3f46\",\n 800: \"#27272a\",\n 900: \"#18181b\",\n 950: \"#09090b\",\n} as const;\n\nexport const red = {\n 25: \"#fff8f7\",\n 50: \"#fff0ee\",\n 100: \"#ffe0dd\",\n 200: \"#ffc0bb\",\n 300: \"#ff9090\",\n 400: \"#FF2821\",\n 500: \"#e61a1a\",\n 600: \"#cc1010\",\n 700: \"#a30808\",\n 800: \"#7a0000\",\n 900: \"#520000\",\n 950: \"#290000\",\n} as const;\n\n// ─── Misc Chart Scales ────────────────────────────────────────────────\n\nexport const misc = {\n teal: {\n 25: \"#f6fefc\", 50: \"#f0fdf9\", 100: \"#ccfbef\", 200: \"#99f6e0\",\n 300: \"#5fe9d0\", 400: \"#2ed3b7\", 500: \"#15b79e\", 600: \"#0e9384\",\n 700: \"#107569\", 800: \"#125d56\", 900: \"#134e48\", 950: \"#0a2926\",\n },\n orange: {\n 25: \"#fefaf5\", 50: \"#fef6ee\", 100: \"#fdead7\", 200: \"#f9dbaf\",\n 300: \"#f7b27a\", 400: \"#f38744\", 500: \"#ef6820\", 600: \"#e04f16\",\n 700: \"#b93815\", 800: \"#932f19\", 900: \"#772917\", 950: \"#511c10\",\n },\n purple: {\n 25: \"#fafaff\", 50: \"#f4f3ff\", 100: \"#ebe9fe\", 200: \"#d9d6fe\",\n 300: \"#bdb4fe\", 400: \"#9b8afb\", 500: \"#7a5af8\", 600: \"#6938ef\",\n 700: \"#5925dc\", 800: \"#4a1fb8\", 900: \"#3e1c96\", 950: \"#27115f\",\n },\n pink: {\n 25: \"#fef6fb\", 50: \"#fdf2fa\", 100: \"#fce7f6\", 200: \"#fcceee\",\n 300: \"#faa7e0\", 400: \"#f670c7\", 500: \"#ee46bc\", 600: \"#dd2590\",\n 700: \"#c11574\", 800: \"#9e165f\", 900: \"#851651\", 950: \"#4e0d30\",\n },\n fuchsia: {\n 25: \"#fefaff\", 50: \"#fdf4ff\", 100: \"#fbe8ff\", 200: \"#f6d0fe\",\n 300: \"#eeaafd\", 400: \"#e478fa\", 500: \"#d444f1\", 600: \"#ba24d5\",\n 700: \"#9f1ab1\", 800: \"#821890\", 900: \"#6f1877\", 950: \"#47104c\",\n },\n orangeDark: {\n 25: \"#fff9f5\", 50: \"#fff4ed\", 100: \"#ffe6d5\", 200: \"#ffd6ae\",\n 300: \"#ff9c66\", 400: \"#ff692e\", 500: \"#ff4405\", 600: \"#e62e05\",\n 700: \"#bc1b06\", 800: \"#97180c\", 900: \"#771a0d\", 950: \"#57130a\",\n },\n green: {\n 25: \"#f6fef9\", 50: \"#edfcf2\", 100: \"#d3f8df\", 200: \"#aaf0c4\",\n 300: \"#73e2a3\", 400: \"#3ccb7f\", 500: \"#16b364\", 600: \"#099250\",\n 700: \"#087443\", 800: \"#095c37\", 900: \"#084c2e\", 950: \"#052e1c\",\n },\n indigo: {\n 25: \"#f5f8ff\", 50: \"#eef4ff\", 100: \"#e0eaff\", 200: \"#c7d7fe\",\n 300: \"#a4bcfd\", 400: \"#8098f9\", 500: \"#6172f3\", 600: \"#444ce7\",\n 700: \"#3538cd\", 800: \"#2d31a6\", 900: \"#2d3282\", 950: \"#1f235b\",\n },\n rose: {\n 25: \"#fff5f6\", 50: \"#fff1f3\", 100: \"#ffe4e8\", 200: \"#fecdd6\",\n 300: \"#fea3b4\", 400: \"#fd6f8e\", 500: \"#f63d68\", 600: \"#e31b54\",\n 700: \"#c01048\", 800: \"#a11043\", 900: \"#89123e\", 950: \"#510b24\",\n },\n blueLight: {\n 25: \"#f5fbff\", 50: \"#f0f9ff\", 100: \"#e0f2fe\", 200: \"#b9e6fe\",\n 300: \"#7cd4fd\", 400: \"#36bffa\", 500: \"#0ba5ec\", 600: \"#0086c9\",\n 700: \"#026aa2\", 800: \"#065986\", 900: \"#0b4a6f\", 950: \"#062c41\",\n },\n cyan: {\n 25: \"#f5feff\", 50: \"#ecfdff\", 100: \"#cff9fe\", 200: \"#a5f0fc\",\n 300: \"#67e3f9\", 400: \"#22ccee\", 500: \"#06aed4\", 600: \"#088ab2\",\n 700: \"#0e7090\", 800: \"#155b75\", 900: \"#164c63\", 950: \"#0d2d3a\",\n },\n} as const;\n\n// ─── Base Colors ────────────────────────────────────────────────────\n\nexport const base = {\n white: \"#ffffff\",\n black: \"#000000\",\n transparent: \"#ffffff00\",\n} as const;\n\n// ─── Status Scales ─────────────────────────────────────────────────\n\nexport const error = {\n 25: \"#fffbfa\",\n 50: \"#fef3f2\",\n 100: \"#fee4e2\",\n 200: \"#fecdca\",\n 300: \"#fda29b\",\n 400: \"#f97066\",\n 500: \"#f04438\",\n 600: \"#d92d20\",\n 700: \"#b42318\",\n 800: \"#912018\",\n 900: \"#7a271a\",\n 950: \"#55160c\",\n} as const;\n\nexport const warning = {\n 25: \"#fffcf5\",\n 50: \"#fffaeb\",\n 100: \"#fef0c7\",\n 200: \"#fedf89\",\n 300: \"#fec84b\",\n 400: \"#fdb022\",\n 500: \"#f79009\",\n 600: \"#dc6803\",\n 700: \"#b54708\",\n 800: \"#93370d\",\n 900: \"#7a2e0e\",\n 950: \"#4e1d09\",\n} as const;\n\nexport const success = {\n 25: \"#f6fef9\",\n 50: \"#ecfdf3\",\n 100: \"#dcfae6\",\n 200: \"#abefc6\",\n 300: \"#75e0a7\",\n 400: \"#47cd89\",\n 500: \"#17b26a\",\n 600: \"#079455\",\n 700: \"#067647\",\n 800: \"#085d3a\",\n 900: \"#074d31\",\n 950: \"#053321\",\n} as const;\n\nexport const info = {\n 25: \"#f5faff\",\n 50: \"#eff8ff\",\n 100: \"#d1e9ff\",\n 200: \"#b2ddff\",\n 300: \"#84caff\",\n 400: \"#53b1fd\",\n 500: \"#2e90fa\",\n 600: \"#1570ef\",\n 700: \"#175cd3\",\n 800: \"#1849a9\",\n 900: \"#194185\",\n 950: \"#102a56\",\n} as const;\n\n// ─── Spacing ────────────────────────────────────────────────────────\n\nexport const spacing = {\n none: 0,\n xxs: 2,\n xs: 4,\n sm: 6,\n md: 8,\n lg: 12,\n xl: 16,\n \"2xl\": 20,\n \"3xl\": 24,\n \"4xl\": 32,\n \"5xl\": 40,\n \"6xl\": 48,\n \"7xl\": 64,\n \"8xl\": 80,\n \"9xl\": 96,\n \"10xl\": 128,\n \"11xl\": 160,\n} as const;\n\n// ─── Border Radius ──────────────────────────────────────────────────\n\nexport const radius = {\n none: 0,\n xxs: 2,\n xs: 4,\n sm: 6,\n md: 8,\n lg: 10,\n xl: 12,\n \"2xl\": 16,\n \"3xl\": 20,\n \"4xl\": 24,\n full: 9999,\n} as const;\n\n// ─── Shadows ────────────────────────────────────────────────────────\n\nexport const shadows = {\n xs: \"0px 1px 2px 0px #1018280d\",\n sm: \"0px 1px 3px 0px #1018281a, 0px 1px 2px 0px #1018280f\",\n md: \"0px 4px 8px -2px #1018281a, 0px 2px 4px -2px #1018280f\",\n lg: \"0px 12px 16px -4px #10182814, 0px 4px 6px -2px #10182808\",\n xl: \"0px 20px 24px -4px #10182814, 0px 8px 8px -4px #10182808\",\n \"2xl\": \"0px 24px 48px -12px #1018282e\",\n \"3xl\": \"0px 32px 64px -12px #10182824\",\n} as const;\n\n// ─── Focus Rings ────────────────────────────────────────────────────\n\nexport const focusRings = {\n brand: \"0px 0px 0px 4px #7c4de63d\",\n brandShadowXs: \"0px 1px 2px 0px #1018280d, 0px 0px 0px 4px #7c4de63d\",\n brandShadowSm: \"0px 1px 3px 0px #1018281a, 0px 1px 2px 0px #1018280f, 0px 0px 0px 4px #7c4de63d\",\n gray: \"0px 0px 0px 4px #a0a0a624\",\n grayShadowXs: \"0px 1px 2px 0px #1018280d, 0px 0px 0px 4px #a0a0a624\",\n grayShadowSm: \"0px 1px 3px 0px #1018281a, 0px 1px 2px 0px #1018280f, 0px 0px 0px 4px #a0a0a624\",\n error: \"0px 0px 0px 4px #f044383d\",\n errorShadowXs: \"0px 1px 2px 0px #1018280d, 0px 0px 0px 4px #f044383d\",\n} as const;\n\n// ─── Typography ─────────────────────────────────────────────────────\n\nexport const fontFamily = '\"Aeonik\", sans-serif';\nexport const fontFamilyMono = '\"Aeonik Mono\", monospace';\n\nexport const fontSize = {\n xxs: 11,\n xs: 12,\n sm: 14,\n md: 16,\n lg: 18,\n xl: 20,\n} as const;\n\nexport const lineHeight = {\n xxs: \"16px\",\n xs: \"18px\",\n sm: \"20px\",\n md: \"24px\",\n lg: \"28px\",\n xl: \"30px\",\n} as const;\n\nexport const fontWeight = {\n regular: 400,\n medium: 500,\n semibold: 600,\n bold: 700,\n} as const;\n\n// ─── Display Typography ─────────────────────────────────────────────\n\nexport const display = {\n \"2xl\": { fontSize: 72, lineHeight: \"90px\", letterSpacing: \"-0.02em\" },\n xl: { fontSize: 60, lineHeight: \"72px\", letterSpacing: \"-0.02em\" },\n lg: { fontSize: 48, lineHeight: \"60px\", letterSpacing: \"-0.02em\" },\n md: { fontSize: 36, lineHeight: \"44px\", letterSpacing: \"-0.02em\" },\n sm: { fontSize: 30, lineHeight: \"38px\" },\n xs: { fontSize: 24, lineHeight: \"32px\" },\n} as const;\n\n// ─── Container ──────────────────────────────────────────────────────\n\nexport const container = {\n maxWidthDesktop: 1280,\n paddingDesktop: 32,\n paddingMobile: 16,\n} as const;\n\n// ─── Width Breakpoints ──────────────────────────────────────────────\n\nexport const widths = {\n xxs: 320,\n xs: 384,\n sm: 480,\n md: 560,\n lg: 640,\n xl: 768,\n \"2xl\": 1024,\n \"3xl\": 1280,\n \"4xl\": 1440,\n \"5xl\": 1600,\n \"6xl\": 1920,\n} as const;\n\n// ─── Semantic Colors — Text ───────────────────────────────────────\n\nexport const text = {\n primary: gray[900],\n secondary: gray[700],\n secondaryHover: gray[800],\n tertiary: gray[600],\n tertiaryHover: gray[700],\n quaternary: gray[500],\n disabled: gray[500],\n placeholder: gray[500],\n placeholderSubtle: gray[300],\n white: base.white,\n brandPrimary: violet[900],\n brandSecondary: violet[700],\n brandTertiary: violet[600],\n brandTertiaryAlt: violet[600],\n primaryOnBrand: base.white,\n secondaryOnBrand: violet[200],\n tertiaryOnBrand: violet[200],\n quaternaryOnBrand: violet[300],\n errorPrimary: error[600],\n warningPrimary: warning[600],\n successPrimary: success[600],\n} as const;\n\n// ─── Semantic Colors — Background ─────────────────────────────────\n\nexport const bg = {\n primary: gray[50],\n primaryAlt: gray[50],\n primaryHover: gray[100],\n primarySolid: gray[950],\n secondary: base.white,\n secondaryAlt: base.white,\n secondarySubtle: gray[25],\n secondaryHover: gray[50],\n secondarySolid: gray[600],\n tertiary: gray[100],\n quaternary: gray[200],\n active: gray[200],\n disabled: gray[100],\n disabledSubtle: gray[50],\n overlay: gray[950],\n brandPrimary: violet[50],\n brandPrimaryAlt: violet[50],\n brandSecondary: violet[100],\n brandSolid: violet[600],\n brandSolidHover: violet[700],\n brandSection: violet[800],\n brandSectionSubtle: violet[700],\n errorPrimary: error[50],\n errorSecondary: error[100],\n errorSolid: error[600],\n warningPrimary: warning[50],\n warningSecondary: warning[100],\n warningSolid: warning[600],\n successPrimary: success[50],\n successSecondary: success[100],\n successSolid: success[600],\n} as const;\n\n// ─── Semantic Colors — Foreground ─────────────────────────────────\n\nexport const fg = {\n primary: gray[900],\n secondary: gray[700],\n secondaryHover: gray[800],\n tertiary: gray[600],\n tertiaryHover: gray[700],\n quaternary: gray[500],\n quaternaryHover: gray[600],\n quinary: gray[400],\n quinaryHover: gray[500],\n senary: gray[300],\n white: base.white,\n disabled: gray[400],\n disabledSubtle: gray[300],\n brandPrimary: violet[600],\n brandPrimaryAlt: violet[600],\n brandSecondary: violet[500],\n errorPrimary: error[600],\n errorSecondary: error[500],\n warningPrimary: warning[600],\n warningSecondary: warning[500],\n successPrimary: success[600],\n successSecondary: success[500],\n} as const;\n\n// ─── Semantic Colors — Border ─────────────────────────────────────\n\nexport const border = {\n primary: gray[300],\n secondary: gray[200],\n tertiary: gray[100],\n disabled: gray[300],\n disabledSubtle: gray[200],\n brand: violet[300],\n brandSolid: violet[600],\n brandSolidAlt: violet[600],\n error: error[300],\n errorSolid: error[600],\n} as const;\n\n// ─── Component Colors — Buttons ───────────────────────────────────\n\nexport const buttonColors = {\n primary: {\n bg: violet[600],\n bgHover: violet[700],\n fg: base.white,\n fgHover: base.white,\n border: violet[600],\n borderHover: violet[700],\n },\n secondary: {\n bg: gray[900],\n bgHover: gray[950],\n fg: base.white,\n fgHover: base.white,\n border: gray[900],\n borderHover: gray[950],\n },\n secondaryColor: {\n bg: base.white,\n bgHover: violet[50],\n fg: violet[700],\n fgHover: violet[800],\n border: violet[300],\n borderHover: violet[300],\n },\n tertiary: {\n fg: gray[600],\n fgHover: gray[700],\n bgHover: gray[50],\n },\n tertiaryColor: {\n fg: violet[700],\n fgHover: violet[800],\n bgHover: violet[50],\n },\n primaryError: {\n bg: error[600],\n bgHover: error[700],\n fg: base.white,\n fgHover: base.white,\n border: error[600],\n borderHover: error[700],\n },\n secondaryError: {\n bg: base.white,\n bgHover: error[50],\n fg: error[700],\n fgHover: error[800],\n border: error[300],\n borderHover: error[300],\n },\n tertiaryError: {\n fg: error[700],\n fgHover: error[800],\n bgHover: error[50],\n },\n} as const;\n\n// ─── Component Colors — Avatars ───────────────────────────────────\n\nexport const avatarColors = {\n bg: gray[100],\n contrastBorder: \"#00000014\",\n profilePhotoBorder: base.white,\n focusBorder: \"#a0a0a624\",\n} as const;\n\n// ─── Component Colors — Breadcrumbs ───────────────────────────────\n\nexport const breadcrumbColors = {\n fg: gray[600],\n fgHover: gray[700],\n bgHover: gray[50],\n brandBgHover: violet[50],\n brandFgHover: violet[700],\n iconFg: gray[500],\n iconFgHover: gray[700],\n brandIconFgHover: violet[700],\n} as const;\n\n// ─── Component Colors — Icons ─────────────────────────────────────\n\nexport const iconColors = {\n fgBrand: violet[600],\n fgBrandOnBrand: violet[200],\n featuredModernBorder: gray[200],\n featuredLightFgBrand: violet[600],\n featuredLightFgGray: gray[500],\n featuredLightFgError: error[600],\n featuredLightFgWarning: warning[600],\n featuredLightFgSuccess: success[600],\n featuredDarkFgBrand: base.white,\n featuredDarkFgGray: base.white,\n featuredDarkFgError: base.white,\n featuredDarkFgWarning: base.white,\n featuredDarkFgSuccess: base.white,\n} as const;\n\n// ─── Component Colors — Navigation ───────────────────────────────\n\nexport const navColors = {\n itemIconFg: gray[500],\n itemIconFgActive: gray[700],\n itemButtonIconFg: gray[500],\n itemButtonIconFgActive: gray[700],\n} as const;\n\n// ─── Component Colors — Sliders ───────────────────────────────────\n\nexport const sliderColors = {\n handleBorder: violet[600],\n handleBg: base.white,\n} as const;\n\n// ─── Component Colors — Toggles ───────────────────────────────────\n\nexport const toggleColors = {\n buttonFgDisabled: gray[50],\n} as const;\n\n// ─── Component Colors — Charts ────────────────────────────────────\n\nexport const chartColors = {\n axisFg: gray[100],\n gridlineFg: gray[100],\n labelFg: gray[600],\n labelFgEmphasis: gray[700],\n bg: base.white,\n bgAlt: gray[50],\n tooltipBg: gray[950],\n tooltipFg: base.white,\n crosshairFg: gray[500],\n legendFg: text.tertiary,\n series: [\n { fg: misc.purple[500], fgHover: misc.purple[600], bg: misc.purple[100], bgHover: misc.purple[200] },\n { fg: misc.orangeDark[400], fgHover: misc.orangeDark[500], bg: misc.orangeDark[100], bgHover: misc.orangeDark[200] },\n { fg: misc.teal[300], fgHover: misc.teal[400], bg: misc.teal[50], bgHover: misc.teal[100] },\n { fg: warning[400], fgHover: warning[500], bg: warning[100], bgHover: warning[200] },\n { fg: misc.rose[400], fgHover: misc.rose[500], bg: misc.rose[100], bgHover: misc.rose[200] },\n { fg: misc.blueLight[400], fgHover: misc.blueLight[500], bg: misc.blueLight[100], bgHover: misc.blueLight[200] },\n { fg: misc.orange[300], fgHover: misc.orange[400], bg: misc.orange[100], bgHover: misc.orange[200] },\n { fg: misc.cyan[600], fgHover: misc.cyan[700], bg: misc.cyan[100], bgHover: misc.cyan[200] },\n { fg: misc.green[500], fgHover: misc.green[600], bg: misc.green[100], bgHover: misc.green[200] },\n { fg: misc.pink[400], fgHover: misc.pink[500], bg: misc.pink[100], bgHover: misc.pink[200] },\n { fg: misc.fuchsia[400], fgHover: misc.fuchsia[500], bg: misc.fuchsia[100], bgHover: misc.fuchsia[200] },\n { fg: misc.teal[600], fgHover: misc.teal[700], bg: misc.teal[100], bgHover: misc.teal[200] },\n ],\n} as const;\n\n// ─── Alpha Colors ─────────────────────────────────────────────────\n\nexport const alpha = {\n white: {\n 10: \"#ffffff1a\",\n 20: \"#ffffff33\",\n 30: \"#ffffff4d\",\n 40: \"#ffffff66\",\n 50: \"#ffffff80\",\n 60: \"#ffffff99\",\n 70: \"#ffffffb3\",\n 80: \"#ffffffcc\",\n 90: \"#ffffffe6\",\n 100: \"#ffffff\",\n },\n black: {\n 10: \"#0000001a\",\n 20: \"#00000033\",\n 30: \"#0000004d\",\n 40: \"#00000066\",\n 50: \"#00000080\",\n 60: \"#00000099\",\n 70: \"#000000b3\",\n 80: \"#000000cc\",\n 90: \"#000000e6\",\n 100: \"#000000\",\n },\n} as const;\n","import type { PaletteOptions } from \"@mui/material/styles\";\nimport type { DesignTokens } from \"./types\";\nimport { chartColors } from \"./tokens\";\n\n// ─── MUI Palette Augmentation ────────────────────────────────────────\n// Allows consumers to access chart tokens via theme.palette.chart\n\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 { base, error, warning, success, info, text, bg, fg, border } = tokens;\n\n return {\n primary: {\n main: tokens.bg.brandSolid,\n light: tokens.fg.brandPrimary,\n dark: tokens.bg.brandSolidHover,\n contrastText: tokens.base.white,\n },\n secondary: {\n main: tokens.bg.secondarySolid,\n light: tokens.fg.secondary,\n dark: tokens.text.secondaryHover,\n contrastText: tokens.base.white,\n },\n error: {\n main: tokens.error[600],\n light: tokens.error[300],\n dark: tokens.error[700],\n contrastText: tokens.base.white,\n },\n warning: {\n main: tokens.warning[600],\n light: tokens.warning[300],\n dark: tokens.warning[700],\n contrastText: tokens.base.white,\n },\n success: {\n main: tokens.success[600],\n light: tokens.success[300],\n dark: tokens.success[700],\n contrastText: tokens.base.white,\n },\n info: {\n main: tokens.info[600],\n light: tokens.info[300],\n dark: tokens.info[700],\n contrastText: tokens.base.white,\n },\n background: {\n default: bg.primary,\n paper: bg.secondary,\n },\n text: {\n primary: text.primary,\n secondary: text.secondary,\n disabled: text.disabled,\n },\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\n","import type { TypographyVariantsOptions } from \"@mui/material/styles\";\nimport type { DesignTokens } from \"./types\";\n\nexport function buildTypography(tokens: DesignTokens): TypographyVariantsOptions {\n const { fontFamily, display, fontSize, lineHeight, fontWeight } = 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\n","import type { Shadows } from \"@mui/material/styles\";\nimport type { DesignTokens } from \"./types\";\n\nexport function buildShadows(tokens: DesignTokens): Shadows {\n const tokenShadows = tokens.shadows;\n\n // MUI expects exactly 25 shadow entries (indices 0–24).\n // We map our token shadows to sensible elevation levels.\n return [\n \"none\", // 0\n tokenShadows.xs, // 1\n tokenShadows.sm, // 2\n tokenShadows.sm, // 3\n tokenShadows.md, // 4\n tokenShadows.md, // 5\n tokenShadows.md, // 6\n tokenShadows.lg, // 7\n tokenShadows.lg, // 8\n tokenShadows.lg, // 9\n tokenShadows.xl, // 10\n tokenShadows.xl, // 11\n tokenShadows.xl, // 12\n tokenShadows[\"2xl\"], // 13\n tokenShadows[\"2xl\"], // 14\n tokenShadows[\"2xl\"], // 15\n tokenShadows[\"3xl\"], // 16\n tokenShadows[\"3xl\"], // 17\n tokenShadows[\"3xl\"], // 18\n tokenShadows[\"3xl\"], // 19\n tokenShadows[\"3xl\"], // 20\n tokenShadows[\"3xl\"], // 21\n tokenShadows[\"3xl\"], // 22\n tokenShadows[\"3xl\"], // 23\n tokenShadows[\"3xl\"], // 24\n ];\n}\n\n","import type { Components, Theme } from \"@mui/material/styles\";\nimport type { DesignTokens } from \"./types\";\n\nexport function buildComponents(tokens: DesignTokens): Components<Theme> {\n const {\n base,\n error,\n warning,\n success,\n info,\n radius,\n focusRings,\n shadows: tokenShadows,\n text,\n bg,\n fg,\n border,\n buttonColors,\n sliderColors,\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 containedSecondary: {\n backgroundColor: buttonColors.secondary.bg,\n color: buttonColors.secondary.fg,\n border: `1px solid ${buttonColors.secondary.border}`,\n \"&:hover\": {\n backgroundColor: buttonColors.secondary.bgHover,\n borderColor: buttonColors.secondary.borderHover,\n },\n },\n text: {\n boxShadow: \"none\",\n },\n textPrimary: {\n color: buttonColors.tertiaryColor.fg,\n \"&:hover\": {\n backgroundColor: buttonColors.tertiaryColor.bgHover,\n },\n },\n },\n },\n\n // ─── Button Group ───────────────────────────────────────────────\n MuiButtonGroup: {\n defaultProps: {\n disableElevation: true,\n },\n styleOverrides: {\n root: {\n borderRadius: radius.md,\n },\n grouped: {\n \"&:not(:last-of-type)\": {\n borderRight: `1px solid ${buttonColors.primary.borderHover}`,\n },\n },\n },\n },\n\n // ─── IconButton ─────────────────────────────────────────────────\n MuiIconButton: {\n styleOverrides: {\n root: {\n borderRadius: radius.md,\n padding: 6,\n \"& .MuiSvgIcon-root\": {\n fontSize: 20,\n },\n },\n },\n },\n\n // ─── FAB ────────────────────────────────────────────────────────\n MuiFab: {\n styleOverrides: {\n root: {\n boxShadow: tokenShadows.md,\n \"&:hover\": {\n boxShadow: tokenShadows.lg,\n },\n \"&:focus-visible\": {\n boxShadow: focusRings.brandShadowSm,\n },\n },\n primary: {\n backgroundColor: buttonColors.primary.bg,\n \"&:hover\": {\n backgroundColor: buttonColors.primary.bgHover,\n },\n },\n },\n },\n\n // ─── TextField / Input ──────────────────────────────────────────\n MuiTextField: {\n defaultProps: {\n variant: \"outlined\",\n },\n },\n MuiFormControl: {\n styleOverrides: {\n root: {\n \"&:has(.Mui-disabled)\": {\n opacity: 0.5,\n },\n },\n },\n },\n MuiInputBase: {\n styleOverrides: {\n input: {\n \"&::placeholder\": {\n color: text.placeholder,\n WebkitTextFillColor: text.placeholder,\n fontWeight: 400,\n opacity: 1,\n },\n },\n },\n },\n MuiOutlinedInput: {\n styleOverrides: {\n root: {\n borderRadius: radius.md,\n boxShadow: tokenShadows.xs,\n \"&&:hover:not(.Mui-focused):not(.Mui-disabled) .MuiOutlinedInput-notchedOutline\": {\n borderColor: border.brand,\n },\n \"&&.Mui-focused .MuiOutlinedInput-notchedOutline\": {\n borderColor: border.brandSolid,\n borderWidth: 1,\n boxShadow: \"none\",\n },\n \"&&.Mui-error:not(.Mui-focused) .MuiOutlinedInput-notchedOutline\": {\n borderColor: border.error,\n },\n \"&&.Mui-error.Mui-focused .MuiOutlinedInput-notchedOutline\": {\n borderColor: border.errorSolid,\n boxShadow: \"none\",\n },\n \"& .MuiInputAdornment-root .MuiIconButton-root\": {\n color: fg.quaternary,\n \"&:hover\": {\n backgroundColor: bg.primaryHover,\n color: fg.brandPrimary,\n },\n },\n },\n notchedOutline: {\n borderColor: border.primary,\n },\n input: {\n padding: \"6px 12px\",\n fontSize: 14,\n lineHeight: \"20px\",\n },\n },\n },\n MuiFormLabel: {\n styleOverrides: {\n root: {\n color: text.placeholder,\n \"&.Mui-focused\": {\n color: text.placeholder,\n },\n \"&.Mui-error\": {\n color: text.errorPrimary,\n },\n },\n },\n },\n MuiInputLabel: {\n styleOverrides: {\n root: {\n fontSize: 14,\n fontWeight: 500,\n color: text.placeholder,\n \"&.Mui-focused\": {\n color: text.placeholder,\n },\n \"&.Mui-error\": {\n color: text.errorPrimary,\n },\n },\n outlined: {\n transform: \"translate(12px, 6px) scale(1)\",\n \"&.MuiInputLabel-shrink\": {\n transform: \"translate(14px, -9px) scale(0.75)\",\n },\n },\n },\n },\n MuiFormHelperText: {\n styleOverrides: {\n root: {\n fontSize: 14,\n lineHeight: \"20px\",\n marginTop: 6,\n marginLeft: 0,\n \"&.Mui-error\": {\n color: text.errorPrimary,\n },\n },\n },\n },\n\n // ─── Menu ──────────────────────────────────────────────────────\n MuiMenu: {\n defaultProps: {\n autoFocus: false,\n },\n styleOverrides: {\n root: {\n \"& .MuiBackdrop-root\": {\n backgroundColor: \"transparent\",\n },\n },\n },\n },\n\n // ─── Select ─────────────────────────────────────────────────────\n MuiSelect: {\n styleOverrides: {\n select: {\n \"&.MuiSelect-select\": {\n minHeight: \"auto\",\n padding: \"6px 32px 6px 12px\",\n fontSize: 14,\n lineHeight: \"20px\",\n },\n },\n icon: {\n color: text.placeholder,\n right: 8,\n },\n },\n },\n MuiMenuItem: {\n styleOverrides: {\n root: {\n borderRadius: radius.md,\n padding: \"6px 8px\",\n gap: 4,\n \"&:hover\": {\n backgroundColor: bg.primaryHover,\n },\n },\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: buttonColors.primary.bgHover,\n },\n \"&.Mui-focusVisible\": {\n outline: \"none\",\n boxShadow: focusRings.brand,\n borderRadius: radius.xs,\n },\n \"&.Mui-disabled\": {\n color: border.primary,\n },\n },\n },\n },\n\n // ─── Radio ──────────────────────────────────────────────────────\n MuiRadio: {\n defaultProps: {\n disableRipple: true,\n },\n styleOverrides: {\n root: {\n color: border.primary,\n padding: 0,\n \"&:hover\": {\n backgroundColor: \"transparent\",\n color: fg.brandPrimary,\n },\n \"&.Mui-checked\": {\n color: fg.brandPrimary,\n },\n \"&.Mui-checked:hover\": {\n color: buttonColors.primary.bgHover,\n },\n \"&.Mui-focusVisible\": {\n outline: \"none\",\n boxShadow: focusRings.brand,\n borderRadius: radius.full,\n },\n \"&.Mui-disabled\": {\n color: border.primary,\n },\n },\n },\n },\n\n // ─── Switch ─────────────────────────────────────────────────────\n MuiSwitch: {\n defaultProps: {\n disableRipple: true,\n },\n styleOverrides: {\n root: {\n width: 44,\n height: 24,\n padding: 0,\n },\n switchBase: {\n padding: 2,\n \"&.Mui-checked\": {\n transform: \"translateX(20px)\",\n color: fg.white,\n \"& + .MuiSwitch-track\": {\n backgroundColor: fg.brandPrimary,\n opacity: 1,\n },\n },\n \"&.Mui-checked:hover + .MuiSwitch-track\": {\n backgroundColor: buttonColors.primary.bgHover,\n },\n \"&.Mui-focusVisible .MuiSwitch-thumb\": {\n boxShadow: focusRings.brand,\n },\n \"&.Mui-disabled .MuiSwitch-thumb\": {\n color: bg.disabled,\n },\n \"&.Mui-disabled + .MuiSwitch-track\": {\n opacity: 0.5,\n },\n },\n thumb: {\n width: 20,\n height: 20,\n boxShadow: \"0px 1px 2px 0px #1018280d\",\n },\n track: {\n borderRadius: radius.full,\n backgroundColor: border.secondary,\n opacity: 1,\n },\n },\n },\n\n // ─── Toggle Button ─────────────────────────────────────────────\n MuiToggleButton: {\n styleOverrides: {\n root: {\n borderColor: border.primary,\n color: text.secondary,\n fontSize: 14,\n fontWeight: 600,\n lineHeight: \"20px\",\n height: 32,\n padding: \"6px 12px\",\n textTransform: \"none\",\n \"&:hover\": {\n backgroundColor: bg.primaryHover,\n borderColor: border.primary,\n },\n \"&.Mui-selected\": {\n backgroundColor: bg.brandPrimary,\n color: buttonColors.secondaryColor.fg,\n borderColor: border.brandSolid,\n \"&:hover\": {\n backgroundColor: bg.brandSecondary,\n },\n },\n \"&:focus-visible\": {\n boxShadow: focusRings.brandShadowXs,\n },\n },\n },\n },\n MuiToggleButtonGroup: {\n styleOverrides: {\n root: {\n borderRadius: radius.md,\n overflow: \"hidden\",\n },\n grouped: {\n borderRadius: 0,\n \"&:not(:first-of-type)\": {\n marginLeft: -1,\n },\n \"&:first-of-type\": {\n borderTopLeftRadius: radius.md,\n borderBottomLeftRadius: radius.md,\n },\n \"&:last-of-type\": {\n borderTopRightRadius: radius.md,\n borderBottomRightRadius: radius.md,\n },\n },\n },\n },\n\n\n\n // ─── Drawer (used by Sidebar) ─────────────────────────────────\n MuiDrawer: {\n styleOverrides: {\n paper: {\n backgroundColor: bg.primary,\n borderRight: `1px solid ${border.secondary}`,\n },\n },\n },\n\n // ─── Card ───────────────────────────────────────────────────────\n MuiCard: {\n defaultProps: {\n elevation: 0,\n },\n styleOverrides: {\n root: {\n borderRadius: radius.xl,\n border: `1px solid ${border.secondary}`,\n backgroundColor: bg.primary,\n boxShadow: tokenShadows.xs,\n overflow: \"hidden\",\n },\n },\n },\n MuiCardContent: {\n styleOverrides: {\n root: {\n padding: \"24px\",\n \"&:last-child\": {\n paddingBottom: \"24px\",\n },\n },\n },\n },\n MuiCardHeader: {\n styleOverrides: {\n root: {\n padding: \"24px 24px 0 24px\",\n },\n title: {\n fontSize: 18,\n fontWeight: 600,\n lineHeight: \"28px\",\n },\n subheader: {\n fontSize: 14,\n lineHeight: \"20px\",\n marginTop: 4,\n },\n action: {\n marginTop: -4,\n marginRight: -4,\n },\n },\n },\n\n // ─── Paper ──────────────────────────────────────────────────────\n MuiPaper: {\n defaultProps: {\n elevation: 0,\n },\n styleOverrides: {\n root: {\n backgroundImage: \"none\",\n },\n rounded: {\n borderRadius: radius.lg,\n },\n elevation1: {\n boxShadow: tokenShadows.xs,\n border: `1px solid ${border.secondary}`,\n },\n elevation2: {\n boxShadow: tokenShadows.sm,\n border: `1px solid ${border.secondary}`,\n },\n elevation3: {\n boxShadow: tokenShadows.md,\n border: `1px solid ${border.secondary}`,\n },\n elevation4: {\n boxShadow: tokenShadows.lg,\n border: `1px solid ${border.secondary}`,\n },\n elevation8: {\n boxShadow: tokenShadows.xl,\n border: `1px solid ${border.secondary}`,\n },\n elevation16: {\n boxShadow: tokenShadows[\"2xl\"],\n border: `1px solid ${border.secondary}`,\n },\n elevation24: {\n boxShadow: tokenShadows[\"3xl\"],\n border: `1px solid ${border.secondary}`,\n },\n },\n },\n\n // ─── Accordion ──────────────────────────────────────────────────\n MuiAccordion: {\n defaultProps: {\n disableGutters: true,\n elevation: 0,\n },\n styleOverrides: {\n root: {\n border: `1px solid ${border.secondary}`,\n borderRadius: radius.lg,\n \"&:not(:last-child)\": {\n marginBottom: 8,\n },\n \"&:before\": {\n display: \"none\",\n },\n \"&.Mui-expanded\": {\n margin: 0,\n marginBottom: 8,\n borderRadius: radius.lg,\n },\n },\n },\n },\n MuiAccordionSummary: {\n styleOverrides: {\n root: {\n padding: \"0 24px\",\n minHeight: 56,\n \"&.Mui-expanded\": {\n minHeight: 56,\n borderBottom: `1px solid ${border.secondary}`,\n },\n },\n content: {\n margin: \"12px 0\",\n \"&.Mui-expanded\": {\n margin: \"12px 0\",\n },\n },\n },\n },\n MuiAccordionDetails: {\n styleOverrides: {\n root: {\n padding: \"24px\",\n },\n },\n },\n\n // ─── AppBar ─────────────────────────────────────────────────────\n MuiAppBar: {\n defaultProps: {\n elevation: 0,\n color: \"transparent\",\n },\n styleOverrides: {\n root: {\n borderBottom: `1px solid ${border.secondary}`,\n backgroundColor: bg.primary,\n },\n },\n },\n MuiToolbar: {\n styleOverrides: {\n root: {\n minHeight: 64,\n \"@media (min-width: 600px)\": {\n minHeight: 64,\n },\n },\n dense: {\n minHeight: 48,\n \"@media (min-width: 600px)\": {\n minHeight: 48,\n },\n },\n },\n },\n\n // ─── Tabs ──────────────────────────────────────────────────────────\n MuiTabs: {\n styleOverrides: {\n root: {\n minHeight: 48,\n },\n indicator: {\n backgroundColor: fg.brandPrimary,\n height: 2,\n },\n },\n },\n MuiTab: {\n styleOverrides: {\n root: {\n minHeight: 48,\n height: 48,\n padding: \"12px 16px\",\n fontSize: 14,\n fontWeight: 600,\n lineHeight: \"20px\",\n textTransform: \"none\",\n color: text.tertiary,\n borderRadius: `${radius.md}px ${radius.md}px 0 0`,\n \"&:hover\": {\n backgroundColor: bg.primaryHover,\n },\n \"&.Mui-selected\": {\n color: fg.brandPrimary,\n backgroundColor: bg.brandPrimary,\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: tokens.bg.secondaryHover,\n color: tokens.fg.secondary,\n \"& .MuiChip-deleteIcon\": { color: tokens.fg.quinary },\n },\n },\n colorPrimary: {\n \"&.MuiChip-filled\": {\n backgroundColor: tokens.bg.brandPrimary,\n color: tokens.fg.brandPrimary,\n \"& .MuiChip-deleteIcon\": { color: tokens.fg.brandPrimary },\n },\n },\n colorSecondary: {\n \"&.MuiChip-filled\": {\n backgroundColor: tokens.bg.secondarySubtle,\n color: tokens.text.secondary,\n \"& .MuiChip-deleteIcon\": { color: tokens.fg.secondary },\n },\n },\n colorError: {\n \"&.MuiChip-filled\": {\n backgroundColor: error[50],\n color: error[700],\n \"& .MuiChip-deleteIcon\": { color: error[400] },\n },\n },\n colorWarning: {\n \"&.MuiChip-filled\": {\n backgroundColor: warning[50],\n color: warning[700],\n \"& .MuiChip-deleteIcon\": { color: warning[400] },\n },\n },\n colorSuccess: {\n \"&.MuiChip-filled\": {\n backgroundColor: success[50],\n color: success[700],\n \"& .MuiChip-deleteIcon\": { color: success[400] },\n },\n },\n colorInfo: {\n \"&.MuiChip-filled\": {\n backgroundColor: info[50],\n color: info[700],\n \"& .MuiChip-deleteIcon\": { color: info[400] },\n },\n },\n },\n },\n\n // ─── Form Control / Label ───────────────────────────────────────\n MuiFormControlLabel: {\n styleOverrides: {\n root: {\n marginLeft: 0,\n gap: 8,\n },\n label: {\n fontSize: 14,\n lineHeight: \"20px\",\n fontWeight: 500,\n color: text.secondary,\n },\n },\n },\n\n // ─── Table ───────────────────────────────────────────────────────\n MuiTable: {\n styleOverrides: {\n root: {\n borderCollapse: \"separate\",\n borderSpacing: 0,\n },\n },\n },\n MuiTableCell: {\n styleOverrides: {\n root: {\n borderBottom: `1px solid ${border.secondary}`,\n padding: \"16px 24px\",\n fontSize: 14,\n lineHeight: \"20px\",\n color: fg.tertiary,\n },\n head: {\n backgroundColor: bg.secondary,\n color: fg.tertiary,\n fontWeight: 500,\n fontSize: 12,\n lineHeight: \"18px\",\n },\n body: {\n color: fg.tertiary,\n },\n },\n },\n MuiTableHead: {\n styleOverrides: {\n root: {\n backgroundColor: bg.secondary,\n \"& .MuiTableRow-root:last-child .MuiTableCell-root\": {\n borderBottom: `1px solid ${border.secondary}`,\n },\n },\n },\n },\n MuiTableRow: {\n styleOverrides: {\n root: {\n backgroundColor: bg.secondary,\n \"&:last-child td, &:last-child th\": {\n border: 0,\n },\n \"&:hover\": {\n backgroundColor: bg.primaryHover,\n },\n \"&.Mui-selected\": {\n backgroundColor: 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: error[700],\n border: `1px solid ${border.error}`,\n \"& .MuiAlert-icon\": {\n color: fg.errorPrimary,\n },\n },\n standardWarning: {\n backgroundColor: bg.warningPrimary,\n color: warning[700],\n border: `1px solid ${warning[300]}`,\n \"& .MuiAlert-icon\": {\n color: fg.warningPrimary,\n },\n },\n standardSuccess: {\n backgroundColor: bg.successPrimary,\n color: success[700],\n border: `1px solid ${success[300]}`,\n \"& .MuiAlert-icon\": {\n color: fg.successPrimary,\n },\n },\n standardInfo: {\n backgroundColor: info[50],\n color: info[700],\n border: `1px solid ${info[300]}`,\n \"& .MuiAlert-icon\": {\n color: info[600],\n },\n },\n icon: {\n padding: 0,\n marginRight: 12,\n },\n },\n },\n MuiAlertTitle: {\n styleOverrides: {\n root: {\n fontWeight: 600,\n fontSize: 14,\n lineHeight: \"20px\",\n marginBottom: 4,\n },\n },\n },\n\n // ─── Backdrop ───────────────────────────────────────────────────\n MuiBackdrop: {\n styleOverrides: {\n root: {\n backgroundColor: \"rgba(16, 24, 40, 0.7)\",\n },\n },\n },\n\n // ─── Dialog ─────────────────────────────────────────────────────\n MuiDialog: {\n styleOverrides: {\n paper: {\n borderRadius: radius.xl,\n boxShadow: tokenShadows.xl,\n padding: 0,\n },\n },\n },\n MuiDialogTitle: {\n styleOverrides: {\n root: {\n fontSize: 18,\n lineHeight: \"28px\",\n fontWeight: 600,\n color: text.primary,\n padding: \"24px 24px 0\",\n },\n },\n },\n MuiDialogContent: {\n styleOverrides: {\n root: {\n padding: \"20px 24px\",\n fontSize: 14,\n lineHeight: \"20px\",\n color: text.tertiary,\n },\n },\n },\n MuiDialogActions: {\n styleOverrides: {\n root: {\n padding: \"0 24px 24px\",\n gap: 12,\n },\n },\n },\n\n // ─── Progress ───────────────────────────────────────────────────\n MuiLinearProgress: {\n styleOverrides: {\n root: {\n borderRadius: radius.full,\n height: 8,\n backgroundColor: border.secondary,\n },\n barColorPrimary: {\n backgroundColor: fg.brandPrimary,\n borderRadius: radius.full,\n },\n barColorSecondary: {\n backgroundColor: bg.secondarySolid,\n borderRadius: radius.full,\n },\n },\n },\n MuiCircularProgress: {\n styleOverrides: {\n colorPrimary: {\n color: fg.brandPrimary,\n },\n colorSecondary: {\n color: bg.secondarySolid,\n },\n },\n },\n\n // ─── Skeleton ───────────────────────────────────────────────────\n MuiSkeleton: {\n defaultProps: {\n animation: \"wave\",\n },\n styleOverrides: {\n root: {\n backgroundColor: bg.tertiary,\n },\n rounded: {\n borderRadius: radius.md,\n },\n circular: {\n borderRadius: radius.full,\n },\n },\n },\n\n // ─── Snackbar ───────────────────────────────────────────────────\n MuiSnackbarContent: {\n styleOverrides: {\n root: {\n backgroundColor: bg.primarySolid,\n color: text.white,\n borderRadius: radius.xl,\n boxShadow: tokenShadows.lg,\n fontSize: 14,\n lineHeight: \"20px\",\n fontWeight: 500,\n padding: \"6px 16px\",\n },\n },\n },\n\n // ─── Typography ─────────────────────────────────────────────────\n MuiTypography: {\n defaultProps: {\n variantMapping: {\n h1: \"h1\",\n h2: \"h2\",\n h3: \"h3\",\n h4: \"h4\",\n h5: \"h5\",\n h6: \"h6\",\n subtitle1: \"p\",\n subtitle2: \"p\",\n body1: \"p\",\n body2: \"p\",\n caption: \"span\",\n overline: \"span\",\n },\n },\n },\n\n // ─── DataGrid (@mui/x-data-grid) ──────────────────────────────\n // Not part of MUI core's Components<Theme> type, so we merge via assertion.\n ...({\n MuiDataGrid: {\n styleOverrides: {\n root: {\n border: `1px solid ${border.secondary}`,\n borderRadius: radius.xl,\n fontFamily: \"inherit\",\n \"& .MuiDataGrid-withBorderColor\": {\n borderColor: border.secondary,\n },\n },\n columnHeaders: {\n backgroundColor: bg.secondary,\n },\n columnHeader: {\n fontSize: 12,\n lineHeight: \"18px\",\n fontWeight: 500,\n color: fg.tertiary,\n \"&:focus, &:focus-within\": {\n outline: \"none\",\n },\n },\n columnHeaderTitle: {\n fontWeight: 500,\n },\n cell: {\n display: \"flex\",\n alignItems: \"center\",\n fontSize: 14,\n lineHeight: \"20px\",\n color: fg.tertiary,\n \"&:focus, &:focus-within\": {\n outline: \"none\",\n },\n },\n row: {\n backgroundColor: bg.secondary,\n \"&:hover\": {\n backgroundColor: bg.primaryHover,\n },\n \"&.Mui-selected\": {\n backgroundColor: bg.brandPrimary,\n \"&:hover\": {\n backgroundColor: bg.brandPrimary,\n },\n },\n },\n footerContainer: {\n borderTop: `1px solid ${border.secondary}`,\n },\n columnSeparator: {\n color: border.secondary,\n },\n },\n },\n } as Record<string, unknown>),\n\n // ─── DatePicker (@mui/x-date-pickers) ────────────────────────────\n // MUI X uses its own sub-components that are separate from MuiOutlinedInput,\n // so height/padding and brand colours must be set here independently.\n ...(({\n // Input field — mirrors MuiOutlinedInput sizing\n MuiPickersTextField: {\n styleOverrides: {\n root: {\n \"& .MuiInputBase-root\": {\n height: 32,\n borderRadius: radius.md,\n boxShadow: tokenShadows.xs,\n fontSize: 14,\n lineHeight: \"20px\",\n },\n \"& .MuiInputBase-input\": {\n padding: \"6px 12px\",\n fontSize: 14,\n lineHeight: \"20px\",\n },\n \"& .MuiOutlinedInput-notchedOutline\": {\n borderColor: border.primary,\n },\n \"&:hover:not(:has(.Mui-disabled)) .MuiOutlinedInput-notchedOutline\": {\n borderColor: border.brand,\n },\n \"& .Mui-focused .MuiOutlinedInput-notchedOutline\": {\n borderColor: border.brandSolid,\n borderWidth: 1,\n boxShadow: \"none\",\n },\n \"& .MuiInputAdornment-root .MuiIconButton-root\": {\n color: fg.quaternary,\n \"&:hover\": {\n backgroundColor: bg.primaryHover,\n color: fg.brandPrimary,\n },\n },\n },\n },\n },\n\n // Calendar popup container\n MuiPickersPopper: {\n styleOverrides: {\n paper: {\n borderRadius: radius.xl,\n boxShadow: tokenShadows.lg,\n border: `1px solid ${border.secondary}`,\n marginTop: 4,\n },\n },\n },\n\n // Calendar layout\n MuiDateCalendar: {\n styleOverrides: {\n root: {\n width: 280,\n height: \"auto\",\n },\n },\n },\n\n // Month/year header navigation\n MuiPickersCalendarHeader: {\n styleOverrides: {\n root: {\n paddingLeft: 16,\n paddingRight: 8,\n marginTop: 8,\n },\n label: {\n fontSize: 14,\n fontWeight: 600,\n color: text.primary,\n },\n switchViewButton: {\n color: fg.quaternary,\n \"&:hover\": { backgroundColor: bg.primaryHover, color: fg.brandPrimary },\n },\n },\n },\n MuiPickersArrowSwitcher: {\n styleOverrides: {\n button: {\n color: fg.quaternary,\n \"&:hover\": { backgroundColor: bg.primaryHover, color: fg.brandPrimary },\n },\n },\n },\n\n // Day/week header labels\n MuiDayCalendar: {\n styleOverrides: {\n weekDayLabel: {\n fontSize: 12,\n fontWeight: 500,\n color: text.tertiary,\n width: 32,\n height: 32,\n },\n weekContainer: {\n margin: \"2px 0\",\n },\n },\n },\n\n // Individual day cells\n MuiPickersDay: {\n defaultProps: {\n disableRipple: true,\n },\n styleOverrides: {\n root: {\n fontSize: 13,\n fontWeight: 400,\n width: 32,\n height: 32,\n borderRadius: radius.md,\n color: text.primary,\n backgroundColor: \"transparent\",\n \"&:hover\": {\n backgroundColor: bg.primaryHover,\n },\n \"&.Mui-selected\": {\n backgroundColor: fg.brandPrimary,\n color: base.white,\n fontWeight: 600,\n \"&:hover\": {\n backgroundColor: buttonColors.primary.bgHover,\n },\n \"&:focus\": {\n backgroundColor: fg.brandPrimary,\n },\n },\n \"&.MuiPickersDay-today\": {\n border: `1px solid ${border.brandSolid}`,\n color: fg.brandPrimary,\n backgroundColor: \"transparent\",\n fontWeight: 600,\n \"&.Mui-selected\": {\n backgroundColor: fg.brandPrimary,\n color: base.white,\n border: \"none\",\n },\n },\n \"&.Mui-focusVisible\": {\n boxShadow: focusRings.brand,\n },\n \"&.Mui-disabled\": {\n color: text.disabled,\n },\n },\n },\n },\n\n // Year picker cells\n MuiPickersYear: {\n styleOverrides: {\n yearButton: {\n fontSize: 13,\n borderRadius: radius.md,\n \"&:hover\": { backgroundColor: bg.primaryHover },\n \"&.Mui-selected\": {\n backgroundColor: fg.brandPrimary,\n color: base.white,\n \"&:hover\": { backgroundColor: buttonColors.primary.bgHover },\n },\n },\n },\n },\n\n // Month picker cells\n MuiPickersMonth: {\n styleOverrides: {\n monthButton: {\n fontSize: 13,\n borderRadius: radius.md,\n \"&:hover\": { backgroundColor: bg.primaryHover },\n \"&.Mui-selected\": {\n backgroundColor: fg.brandPrimary,\n color: base.white,\n \"&:hover\": { backgroundColor: buttonColors.primary.bgHover },\n },\n },\n },\n },\n }) as Record<string, unknown>),\n };\n}\n\n","import { 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 {\n spacing,\n radius as forestRadius,\n shadows as tokenShadows,\n fontSize,\n lineHeight,\n fontWeight,\n display,\n container,\n widths,\n alpha,\n base,\n error,\n warning,\n success,\n info,\n misc,\n violet,\n gray,\n} from \"../tokens\";\n\n// ─── Semantic Colors — resolve against imported primitives ────────────────────────────\n\n// Colors object using imported primitives\nconst colors = {\n base,\n error,\n warning,\n success,\n info,\n brand: violet,\n gray: gray,\n};\n\nconst radius = {\n ...forestRadius,\n xxs: 1,\n xs: 2,\n sm: 3,\n md: 4,\n lg: 5,\n xl: 6,\n \"2xl\": 8,\n \"3xl\": 10,\n \"4xl\": 12,\n};\n\n// ─── Semantic Colors — Text ──────────────────────────────────────\n// Same formulas as forest, resolved against alkemy+ primitives.\n\nconst text = {\n primary: gray[900],\n secondary: gray[700],\n secondaryHover: gray[800],\n tertiary: gray[600],\n tertiaryHover: gray[700],\n quaternary: gray[500],\n disabled: gray[500],\n placeholder: gray[500],\n placeholderSubtle: gray[300],\n white: base.white,\n brandPrimary: violet[900],\n brandSecondary: violet[700],\n brandTertiary: violet[600],\n brandTertiaryAlt: violet[600],\n primaryOnBrand: base.white,\n secondaryOnBrand: violet[200],\n tertiaryOnBrand: violet[200],\n quaternaryOnBrand: violet[300],\n errorPrimary: error[600],\n warningPrimary: warning[600],\n successPrimary: success[600],\n} as const;\n\n// ─── Semantic Colors — Background ────────────────────────────────\n\nconst bg = {\n primary: gray[50],\n primaryAlt: gray[50],\n primaryHover: gray[100],\n primarySolid: gray[950],\n secondary: base.white,\n secondaryAlt: base.white,\n secondarySubtle: gray[25],\n secondaryHover: gray[50],\n secondarySolid: gray[600],\n tertiary: gray[100],\n quaternary: gray[200],\n active: gray[200],\n disabled: gray[100],\n disabledSubtle: gray[50],\n overlay: gray[950],\n brandPrimary: violet[50],\n brandPrimaryAlt: violet[50],\n brandSecondary: violet[100],\n brandSolid: violet[400],\n brandSolidHover: violet[500],\n brandSection: violet[800],\n brandSectionSubtle: violet[700],\n errorPrimary: error[50],\n errorSecondary: error[100],\n errorSolid: error[600],\n warningPrimary: warning[50],\n warningSecondary: warning[100],\n warningSolid: warning[600],\n successPrimary: success[50],\n successSecondary: success[100],\n successSolid: success[600],\n} as const;\n\n// ─── Semantic Colors — Foreground ────────────────────────────────\n\nconst fg = {\n primary: gray[900],\n secondary: gray[700],\n secondaryHover: gray[800],\n tertiary: gray[600],\n tertiaryHover: gray[700],\n quaternary: gray[500],\n quaternaryHover: gray[600],\n quinary: gray[400],\n quinaryHover: gray[500],\n senary: gray[300],\n white: base.white,\n disabled: gray[400],\n disabledSubtle: gray[300],\n brandPrimary: violet[400],\n brandPrimaryAlt: violet[400],\n brandSecondary: violet[400],\n errorPrimary: error[600],\n errorSecondary: error[500],\n warningPrimary: warning[600],\n warningSecondary: warning[500],\n successPrimary: success[600],\n successSecondary: success[500],\n} as const;\n\n// ─── Semantic Colors — Border ────────────────────────────────────\n\nconst border = {\n primary: gray[300],\n secondary: gray[200],\n tertiary: gray[100],\n disabled: gray[300],\n disabledSubtle: gray[200],\n brand: violet[300],\n brandSolid: violet[400],\n brandSolidAlt: violet[400],\n error: error[300],\n errorSolid: error[600],\n} as const;\n\n// ─── Component Colors — Buttons ──────────────────────────────────\n\nconst buttonColors = {\n primary: {\n bg: violet[400],\n bgHover: violet[500],\n fg: base.white,\n fgHover: base.white,\n border: violet[400],\n borderHover: violet[500],\n },\n secondary: {\n bg: gray[900],\n bgHover: gray[950],\n fg: base.white,\n fgHover: base.white,\n border: gray[900],\n borderHover: gray[950],\n },\n secondaryColor: {\n bg: base.white,\n bgHover: violet[50],\n fg: violet[400],\n fgHover: violet[500],\n border: violet[300],\n borderHover: violet[300],\n },\n tertiary: {\n fg: gray[600],\n fgHover: gray[700],\n bgHover: gray[50],\n },\n tertiaryColor: {\n fg: violet[400],\n fgHover: violet[500],\n bgHover: violet[50],\n },\n primaryError: {\n bg: error[600],\n bgHover: error[700],\n fg: base.white,\n fgHover: base.white,\n border: error[600],\n borderHover: error[700],\n },\n secondaryError: {\n bg: base.white,\n bgHover: error[50],\n fg: error[700],\n fgHover: error[800],\n border: error[300],\n borderHover: error[300],\n },\n tertiaryError: {\n fg: error[700],\n fgHover: error[800],\n bgHover: error[50],\n },\n} as const;\n\n// ─── Component Colors — Avatars ──────────────────────────────────\n\nconst avatarColors = {\n bg: gray[100],\n contrastBorder: \"#00000014\",\n profilePhotoBorder: base.white,\n focusBorder: \"#a0a0a624\", // gray[400] + 14% alpha\n} as const;\n\n// ─── Component Colors — Breadcrumbs ──────────────────────────────\n\nconst breadcrumbColors = {\n fg: gray[600],\n fgHover: gray[700],\n bgHover: gray[50],\n brandBgHover: violet[50],\n brandFgHover: violet[700],\n iconFg: gray[500],\n iconFgHover: gray[700],\n brandIconFgHover: violet[700],\n} as const;\n\n// ─── Component Colors — Icons ────────────────────────────────────\n\nconst iconColors = {\n fgBrand: violet[400],\n fgBrandOnBrand: violet[200],\n featuredModernBorder: gray[200],\n featuredLightFgBrand: violet[400],\n featuredLightFgGray: gray[500],\n featuredLightFgError: error[600],\n featuredLightFgWarning: warning[600],\n featuredLightFgSuccess: success[600],\n featuredDarkFgBrand: base.white,\n featuredDarkFgGray: base.white,\n featuredDarkFgError: base.white,\n featuredDarkFgWarning: base.white,\n featuredDarkFgSuccess: base.white,\n} as const;\n\n// ─── Component Colors — Navigation ──────────────────────────────\n\nconst navColors = {\n itemIconFg: gray[500],\n itemIconFgActive: gray[700],\n itemButtonIconFg: gray[500],\n itemButtonIconFgActive: gray[700],\n} as const;\n\n// ─── Component Colors — Sliders ──────────────────────────────────\n\nconst sliderColors = {\n handleBorder: violet[400],\n handleBg: base.white,\n} as const;\n\n// ─── Component Colors — Toggles ──────────────────────────────────\n\nconst toggleColors = {\n buttonFgDisabled: gray[50],\n} as const;\n\n// ─── Component Colors — Charts ───────────────────────────────────\n\nconst chartColors = {\n axisFg: gray[100],\n gridlineFg: gray[100],\n labelFg: gray[600],\n labelFgEmphasis: gray[700],\n bg: base.white,\n bgAlt: gray[50],\n tooltipBg: gray[950],\n tooltipFg: base.white,\n crosshairFg: gray[500],\n legendFg: text.tertiary,\n series: [\n { fg: misc.purple[500], fgHover: misc.purple[600], bg: misc.purple[100], bgHover: misc.purple[200] },\n { fg: misc.orangeDark[400], fgHover: misc.orangeDark[500], bg: misc.orangeDark[100], bgHover: misc.orangeDark[200] },\n { fg: misc.teal[300], fgHover: misc.teal[400], bg: misc.teal[50], bgHover: misc.teal[100] },\n { fg: warning[400], fgHover: warning[500], bg: warning[100], bgHover: warning[200] },\n { fg: misc.rose[400], fgHover: misc.rose[500], bg: misc.rose[100], bgHover: misc.rose[200] },\n { fg: misc.blueLight[400], fgHover: misc.blueLight[500], bg: misc.blueLight[100], bgHover: misc.blueLight[200] },\n { fg: misc.orange[300], fgHover: misc.orange[400], bg: misc.orange[100], bgHover: misc.orange[200] },\n { fg: misc.cyan[600], fgHover: misc.cyan[700], bg: misc.cyan[100], bgHover: misc.cyan[200] },\n { fg: misc.green[500], fgHover: misc.green[600], bg: misc.green[100], bgHover: misc.green[200] },\n { fg: misc.pink[400], fgHover: misc.pink[500], bg: misc.pink[100], bgHover: misc.pink[200] },\n { fg: misc.fuchsia[400], fgHover: misc.fuchsia[500], bg: misc.fuchsia[100], bgHover: misc.fuchsia[200] },\n { fg: misc.teal[600], fgHover: misc.teal[700], bg: misc.teal[100], bgHover: misc.teal[200] },\n ],\n} as const;\n\n// ─── Focus Rings ─────────────────────────────────────────────────\n// violet[400] = #9D5FFF, gray[400] = #a0a0a6\n\nconst focusRings = {\n brand: \"0px 0px 0px 4px #9D5FFF3d\",\n brandShadowXs: \"0px 1px 2px 0px #1018280d, 0px 0px 0px 4px #9D5FFF3d\",\n brandShadowSm: \"0px 1px 3px 0px #1018281a, 0px 1px 2px 0px #1018280f, 0px 0px 0px 4px #9D5FFF3d\",\n gray: \"0px 0px 0px 4px #a0a0a624\",\n grayShadowXs: \"0px 1px 2px 0px #1018280d, 0px 0px 0px 4px #a0a0a624\",\n grayShadowSm: \"0px 1px 3px 0px #1018281a, 0px 1px 2px 0px #1018280f, 0px 0px 0px 4px #a0a0a624\",\n error: \"0px 0px 0px 4px #f044383d\",\n errorShadowXs: \"0px 1px 2px 0px #1018280d, 0px 0px 0px 4px #f044383d\",\n} as const;\n\n// ─── Preset ──────────────────────────────────────────────────────\n\nexport const forestExternalPreset: ThemePreset = {\n name: \"forest-external\",\n defaultVariant: \"light\",\n variants: {\n light: {\n tokens: {\n base,\n error,\n warning,\n success,\n info,\n spacing,\n radius,\n shadows: tokenShadows,\n focusRings,\n fontFamily: '\"Aeonik\", sans-serif',\n fontFamilyMono: '\"Aeonik Mono\", monospace',\n fontSize,\n lineHeight,\n fontWeight,\n display,\n container,\n widths,\n text,\n bg,\n fg,\n border,\n buttonColors,\n avatarColors,\n breadcrumbColors,\n iconColors,\n navColors,\n sliderColors,\n toggleColors,\n chartColors,\n alpha,\n },\n },\n },\n};\n","import type { ThemePreset } from \"../types\";\nimport {\n spacing,\n radius as forestRadius,\n shadows as tokenShadows,\n fontSize,\n lineHeight,\n fontWeight,\n display,\n container,\n widths,\n alpha,\n base,\n error,\n warning,\n success,\n info,\n misc,\n gray,\n red,\n} from \"../tokens\";\n\n// ─── Semantic Colors — resolve against imported primitives ────────────────────────────\n\n// Colors object using imported primitives\n// Agency brand is near-black, so we use gray[950] as primary brand color\nconst colors = {\n base,\n error,\n warning,\n success,\n info,\n brand: {\n 25: gray[25],\n 50: gray[50],\n 100: gray[100],\n 200: gray[200],\n 300: gray[300],\n 400: gray[400],\n 500: gray[500],\n 600: gray[900], // #18181b - dark brand\n 700: gray[950], // #09090b - primary brand\n 800: gray[950],\n 900: gray[950],\n 950: gray[950],\n },\n accent: red,\n gray: gray,\n};\n\n// ─── Border Radius — minimal / sharp ────────────────────────────\n\nconst radius = {\n ...forestRadius,\n xxs: 1,\n xs: 2,\n sm: 3,\n md: 4,\n lg: 5,\n xl: 6,\n \"2xl\": 8,\n \"3xl\": 10,\n \"4xl\": 12,\n};\n\n// ─── Semantic Colors — Text ──────────────────────────────────────\n// Same formulas as forest, resolved against alkemy+ primitives.\n\nconst text = {\n primary: gray[900],\n secondary: gray[700],\n secondaryHover: gray[800],\n tertiary: gray[600],\n tertiaryHover: gray[700],\n quaternary: gray[500],\n disabled: gray[500],\n placeholder: gray[500],\n placeholderSubtle: gray[300],\n white: base.white,\n brandPrimary: colors.brand[900],\n brandSecondary: colors.brand[700],\n brandTertiary: colors.brand[600],\n brandTertiaryAlt: colors.brand[600],\n primaryOnBrand: base.white,\n secondaryOnBrand: colors.brand[200],\n tertiaryOnBrand: colors.brand[200],\n quaternaryOnBrand: colors.brand[300],\n errorPrimary: error[600],\n warningPrimary: warning[600],\n successPrimary: success[600],\n} as const;\n\n// ─── Semantic Colors — Background ────────────────────────────────\n\nconst bg = {\n primary: gray[50],\n primaryAlt: gray[50],\n primaryHover: gray[100],\n primarySolid: gray[950],\n secondary: base.white,\n secondaryAlt: base.white,\n secondarySubtle: gray[25],\n secondaryHover: gray[50],\n secondarySolid: gray[600],\n tertiary: gray[100],\n quaternary: gray[200],\n active: gray[200],\n disabled: gray[100],\n disabledSubtle: gray[50],\n overlay: gray[950],\n brandPrimary: colors.brand[50],\n brandPrimaryAlt: colors.brand[50],\n brandSecondary: colors.brand[100],\n brandSolid: colors.brand[600],\n brandSolidHover: colors.brand[700],\n brandSection: colors.brand[800],\n brandSectionSubtle: colors.brand[700],\n errorPrimary: error[50],\n errorSecondary: error[100],\n errorSolid: error[600],\n warningPrimary: warning[50],\n warningSecondary: warning[100],\n warningSolid: warning[600],\n successPrimary: success[50],\n successSecondary: success[100],\n successSolid: success[600],\n} as const;\n\n// ─── Semantic Colors — Foreground ────────────────────────────────\n\nconst fg = {\n primary: gray[900],\n secondary: gray[700],\n secondaryHover: gray[800],\n tertiary: gray[600],\n tertiaryHover: gray[700],\n quaternary: gray[500],\n quaternaryHover: gray[600],\n quinary: gray[400],\n quinaryHover: gray[500],\n senary: gray[300],\n white: base.white,\n disabled: gray[400],\n disabledSubtle: gray[300],\n brandPrimary: colors.brand[600],\n brandPrimaryAlt: colors.brand[600],\n brandSecondary: colors.brand[500],\n errorPrimary: error[600],\n errorSecondary: error[500],\n warningPrimary: warning[600],\n warningSecondary: warning[500],\n successPrimary: success[600],\n successSecondary: success[500],\n} as const;\n\n// ─── Semantic Colors — Border ────────────────────────────────────\n\nconst border = {\n primary: gray[300],\n secondary: gray[200],\n tertiary: gray[100],\n disabled: gray[300],\n disabledSubtle: gray[200],\n brand: gray[400],\n brandSolid: colors.brand[600],\n brandSolidAlt: colors.brand[600],\n error: error[300],\n errorSolid: error[600],\n} as const;\n\n// ─── Component Colors — Buttons ──────────────────────────────────\n\nconst buttonColors = {\n primary: {\n bg: colors.brand[700],\n bgHover: colors.brand[800],\n fg: base.white,\n fgHover: base.white,\n border: colors.brand[700],\n borderHover: colors.brand[800],\n },\n secondary: {\n bg: gray[900],\n bgHover: gray[950],\n fg: base.white,\n fgHover: base.white,\n border: gray[900],\n borderHover: gray[950],\n },\n secondaryColor: {\n bg: base.white,\n bgHover: colors.brand[50],\n fg: colors.brand[700],\n fgHover: colors.brand[800],\n border: colors.brand[300],\n borderHover: colors.brand[300],\n },\n tertiary: {\n fg: gray[600],\n fgHover: gray[700],\n bgHover: gray[50],\n },\n tertiaryColor: {\n fg: colors.brand[700],\n fgHover: colors.brand[800],\n bgHover: colors.brand[50],\n },\n primaryError: {\n bg: error[600],\n bgHover: error[700],\n fg: base.white,\n fgHover: base.white,\n border: error[600],\n borderHover: error[700],\n },\n secondaryError: {\n bg: base.white,\n bgHover: error[50],\n fg: error[700],\n fgHover: error[800],\n border: error[300],\n borderHover: error[300],\n },\n tertiaryError: {\n fg: error[700],\n fgHover: error[800],\n bgHover: error[50],\n },\n} as const;\n\n// ─── Component Colors — Avatars ──────────────────────────────────\n\nconst avatarColors = {\n bg: gray[100],\n contrastBorder: \"#00000014\",\n profilePhotoBorder: base.white,\n focusBorder: \"#a0a0a624\", // gray[400] + 14% alpha\n} as const;\n\n// ─── Component Colors — Breadcrumbs ──────────────────────────────\n\nconst breadcrumbColors = {\n fg: gray[600],\n fgHover: gray[700],\n bgHover: gray[50],\n brandBgHover: colors.brand[50],\n brandFgHover: colors.brand[700],\n iconFg: gray[500],\n iconFgHover: gray[700],\n brandIconFgHover: colors.brand[700],\n} as const;\n\n// ─── Component Colors — Icons ────────────────────────────────────\n\nconst iconColors = {\n fgBrand: colors.brand[600],\n fgBrandOnBrand: colors.brand[200],\n featuredModernBorder: gray[200],\n featuredLightFgBrand: colors.brand[600],\n featuredLightFgGray: gray[500],\n featuredLightFgError: error[600],\n featuredLightFgWarning: warning[600],\n featuredLightFgSuccess: success[600],\n featuredDarkFgBrand: base.white,\n featuredDarkFgGray: base.white,\n featuredDarkFgError: base.white,\n featuredDarkFgWarning: base.white,\n featuredDarkFgSuccess: base.white,\n} as const;\n\n// ─── Component Colors — Navigation ──────────────────────────────\n\nconst navColors = {\n itemIconFg: gray[500],\n itemIconFgActive: gray[700],\n itemButtonIconFg: gray[500],\n itemButtonIconFgActive: gray[700],\n} as const;\n\n// ─── Component Colors — Sliders ──────────────────────────────────\n\nconst sliderColors = {\n handleBorder: colors.brand[600],\n handleBg: base.white,\n} as const;\n\n// ─── Component Colors — Toggles ──────────────────────────────────\n\nconst toggleColors = {\n buttonFgDisabled: gray[50],\n} as const;\n\n// ─── Component Colors — Charts ───────────────────────────────────\n\nconst chartColors = {\n axisFg: gray[100],\n gridlineFg: gray[100],\n labelFg: gray[600],\n labelFgEmphasis: gray[700],\n bg: base.white,\n bgAlt: gray[50],\n tooltipBg: gray[950],\n tooltipFg: base.white,\n crosshairFg: gray[500],\n legendFg: text.tertiary,\n series: [\n { fg: misc.purple[500], fgHover: misc.purple[600], bg: misc.purple[100], bgHover: misc.purple[200] },\n { fg: misc.orangeDark[400], fgHover: misc.orangeDark[500], bg: misc.orangeDark[100], bgHover: misc.orangeDark[200] },\n { fg: misc.teal[300], fgHover: misc.teal[400], bg: misc.teal[50], bgHover: misc.teal[100] },\n { fg: warning[400], fgHover: warning[500], bg: warning[100], bgHover: warning[200] },\n { fg: misc.rose[400], fgHover: misc.rose[500], bg: misc.rose[100], bgHover: misc.rose[200] },\n { fg: misc.blueLight[400], fgHover: misc.blueLight[500], bg: misc.blueLight[100], bgHover: misc.blueLight[200] },\n { fg: misc.orange[300], fgHover: misc.orange[400], bg: misc.orange[100], bgHover: misc.orange[200] },\n { fg: misc.cyan[600], fgHover: misc.cyan[700], bg: misc.cyan[100], bgHover: misc.cyan[200] },\n { fg: misc.green[500], fgHover: misc.green[600], bg: misc.green[100], bgHover: misc.green[200] },\n { fg: misc.pink[400], fgHover: misc.pink[500], bg: misc.pink[100], bgHover: misc.pink[200] },\n { fg: misc.fuchsia[400], fgHover: misc.fuchsia[500], bg: misc.fuchsia[100], bgHover: misc.fuchsia[200] },\n { fg: misc.teal[600], fgHover: misc.teal[700], bg: misc.teal[100], bgHover: misc.teal[200] },\n ],\n} as const;\n\n// ─── Focus Rings ─────────────────────────────────────────────────\n// brand[500] = #404040, gray[400] = #a0a0a6\n\nconst focusRings = {\n brand: \"0px 0px 0px 4px #4040403d\",\n brandShadowXs: \"0px 1px 2px 0px #1018280d, 0px 0px 0px 4px #4040403d\",\n brandShadowSm: \"0px 1px 3px 0px #1018281a, 0px 1px 2px 0px #1018280f, 0px 0px 0px 4px #4040403d\",\n gray: \"0px 0px 0px 4px #a0a0a624\",\n grayShadowXs: \"0px 1px 2px 0px #1018280d, 0px 0px 0px 4px #a0a0a624\",\n grayShadowSm: \"0px 1px 3px 0px #1018281a, 0px 1px 2px 0px #1018280f, 0px 0px 0px 4px #a0a0a624\",\n error: \"0px 0px 0px 4px #f044383d\",\n errorShadowXs: \"0px 1px 2px 0px #1018280d, 0px 0px 0px 4px #f044383d\",\n} as const;\n\n// ─── Preset ──────────────────────────────────────────────────────\n\nexport const forestAgencyPreset: ThemePreset = {\n name: \"forest-agency\",\n defaultVariant: \"light\",\n variants: {\n light: {\n tokens: {\n base,\n error,\n warning,\n success,\n info,\n spacing,\n radius,\n shadows: tokenShadows,\n focusRings,\n fontFamily: '\"Aeonik\", sans-serif',\n fontFamilyMono: '\"Aeonik Mono\", monospace',\n fontSize,\n lineHeight,\n fontWeight,\n display,\n container,\n widths,\n text,\n bg,\n fg,\n border,\n buttonColors,\n avatarColors,\n breadcrumbColors,\n iconColors,\n navColors,\n sliderColors,\n toggleColors,\n chartColors,\n alpha,\n },\n },\n },\n};\n","import type { ThemePreset } from \"../types\";\nimport {\n spacing,\n radius as forestRadius,\n shadows as tokenShadows,\n fontSize,\n lineHeight,\n fontWeight,\n display,\n container,\n widths,\n alpha,\n base,\n error,\n warning,\n success,\n info,\n misc,\n magenta,\n gray,\n} from \"../tokens\";\n\n// ─── Semantic Colors — resolve against imported primitives ────────────────────────────\n\n// Colors object using imported primitives\nconst colors = {\n base,\n error,\n warning,\n success,\n info,\n brand: magenta,\n gray: gray,\n};\n\n// ─── Border Radius — minimal / sharp ────────────────────────────\n\nconst radius = {\n ...forestRadius,\n xxs: 1,\n xs: 2,\n sm: 3,\n md: 4,\n lg: 5,\n xl: 6,\n \"2xl\": 8,\n \"3xl\": 10,\n \"4xl\": 12,\n};\n\n// ─── Semantic Colors — Text ──────────────────────────────────────\n// Same formulas as forest, resolved against alkemy+ primitives.\n\nconst text = {\n primary: gray[900],\n secondary: gray[700],\n secondaryHover: gray[800],\n tertiary: gray[600],\n tertiaryHover: gray[700],\n quaternary: gray[500],\n disabled: gray[500],\n placeholder: gray[500],\n placeholderSubtle: gray[300],\n white: base.white,\n brandPrimary: magenta[900],\n brandSecondary: magenta[700],\n brandTertiary: magenta[600],\n brandTertiaryAlt: magenta[600],\n primaryOnBrand: base.white,\n secondaryOnBrand: magenta[200],\n tertiaryOnBrand: magenta[200],\n quaternaryOnBrand: magenta[300],\n errorPrimary: error[600],\n warningPrimary: warning[600],\n successPrimary: success[600],\n} as const;\n\n// ─── Semantic Colors — Background ────────────────────────────────\n\nconst bg = {\n primary: gray[50],\n primaryAlt: gray[50],\n primaryHover: gray[100],\n primarySolid: gray[950],\n secondary: base.white,\n secondaryAlt: base.white,\n secondarySubtle: gray[25],\n secondaryHover: gray[50],\n secondarySolid: gray[600],\n tertiary: gray[100],\n quaternary: gray[200],\n active: gray[200],\n disabled: gray[100],\n disabledSubtle: gray[50],\n overlay: gray[950],\n brandPrimary: magenta[50],\n brandPrimaryAlt: magenta[50],\n brandSecondary: magenta[100],\n brandSolid: magenta[400],\n brandSolidHover: magenta[500],\n brandSection: magenta[800],\n brandSectionSubtle: magenta[700],\n errorPrimary: error[50],\n errorSecondary: error[100],\n errorSolid: error[600],\n warningPrimary: warning[50],\n warningSecondary: warning[100],\n warningSolid: warning[600],\n successPrimary: success[50],\n successSecondary: success[100],\n successSolid: success[600],\n} as const;\n\n// ─── Semantic Colors — Foreground ────────────────────────────────\n\nconst fg = {\n primary: gray[900],\n secondary: gray[700],\n secondaryHover: gray[800],\n tertiary: gray[600],\n tertiaryHover: gray[700],\n quaternary: gray[500],\n quaternaryHover: gray[600],\n quinary: gray[400],\n quinaryHover: gray[500],\n senary: gray[300],\n white: base.white,\n disabled: gray[400],\n disabledSubtle: gray[300],\n brandPrimary: magenta[400],\n brandPrimaryAlt: magenta[400],\n brandSecondary: magenta[400],\n errorPrimary: error[600],\n errorSecondary: error[500],\n warningPrimary: warning[600],\n warningSecondary: warning[500],\n successPrimary: success[600],\n successSecondary: success[500],\n} as const;\n\n// ─── Semantic Colors — Border ────────────────────────────────────\n\nconst border = {\n primary: gray[300],\n secondary: gray[200],\n tertiary: gray[100],\n disabled: gray[300],\n disabledSubtle: gray[200],\n brand: magenta[300],\n brandSolid: magenta[400],\n brandSolidAlt: magenta[400],\n error: error[300],\n errorSolid: error[600],\n} as const;\n\n// ─── Component Colors — Buttons ──────────────────────────────────\n\nconst buttonColors = {\n primary: {\n bg: magenta[400],\n bgHover: magenta[500],\n fg: base.white,\n fgHover: base.white,\n border: magenta[400],\n borderHover: magenta[500],\n },\n secondary: {\n bg: gray[900],\n bgHover: gray[950],\n fg: base.white,\n fgHover: base.white,\n border: gray[900],\n borderHover: gray[950],\n },\n secondaryColor: {\n bg: base.white,\n bgHover: magenta[50],\n fg: magenta[400],\n fgHover: magenta[500],\n border: magenta[300],\n borderHover: magenta[300],\n },\n tertiary: {\n fg: gray[600],\n fgHover: gray[700],\n bgHover: gray[50],\n },\n tertiaryColor: {\n fg: magenta[400],\n fgHover: magenta[500],\n bgHover: magenta[50],\n },\n primaryError: {\n bg: error[600],\n bgHover: error[700],\n fg: base.white,\n fgHover: base.white,\n border: error[600],\n borderHover: error[700],\n },\n secondaryError: {\n bg: base.white,\n bgHover: error[50],\n fg: error[700],\n fgHover: error[800],\n border: error[300],\n borderHover: error[300],\n },\n tertiaryError: {\n fg: error[700],\n fgHover: error[800],\n bgHover: error[50],\n },\n} as const;\n\n// ─── Component Colors — Avatars ──────────────────────────────────\n\nconst avatarColors = {\n bg: gray[100],\n contrastBorder: \"#00000014\",\n profilePhotoBorder: base.white,\n focusBorder: \"#a0a0a624\", // gray[400] + 14% alpha\n} as const;\n\n// ─── Component Colors — Breadcrumbs ──────────────────────────────\n\nconst breadcrumbColors = {\n fg: gray[600],\n fgHover: gray[700],\n bgHover: gray[50],\n brandBgHover: magenta[50],\n brandFgHover: magenta[700],\n iconFg: gray[500],\n iconFgHover: gray[700],\n brandIconFgHover: magenta[700],\n} as const;\n\n// ─── Component Colors — Icons ────────────────────────────────────\n\nconst iconColors = {\n fgBrand: magenta[400],\n fgBrandOnBrand: magenta[200],\n featuredModernBorder: gray[200],\n featuredLightFgBrand: magenta[400],\n featuredLightFgGray: gray[500],\n featuredLightFgError: error[600],\n featuredLightFgWarning: warning[600],\n featuredLightFgSuccess: success[600],\n featuredDarkFgBrand: base.white,\n featuredDarkFgGray: base.white,\n featuredDarkFgError: base.white,\n featuredDarkFgWarning: base.white,\n featuredDarkFgSuccess: base.white,\n} as const;\n\n// ─── Component Colors — Navigation ──────────────────────────────\n\nconst navColors = {\n itemIconFg: gray[500],\n itemIconFgActive: gray[700],\n itemButtonIconFg: gray[500],\n itemButtonIconFgActive: gray[700],\n} as const;\n\n// ─── Component Colors — Sliders ──────────────────────────────────\n\nconst sliderColors = {\n handleBorder: magenta[400],\n handleBg: base.white,\n} as const;\n\n// ─── Component Colors — Toggles ──────────────────────────────────\n\nconst toggleColors = {\n buttonFgDisabled: gray[50],\n} as const;\n\n// ─── Component Colors — Charts ───────────────────────────────────\n\nconst chartColors = {\n axisFg: gray[100],\n gridlineFg: gray[100],\n labelFg: gray[600],\n labelFgEmphasis: gray[700],\n bg: base.white,\n bgAlt: gray[50],\n tooltipBg: gray[950],\n tooltipFg: base.white,\n crosshairFg: gray[500],\n legendFg: text.tertiary,\n series: [\n { fg: misc.purple[500], fgHover: misc.purple[600], bg: misc.purple[100], bgHover: misc.purple[200] },\n { fg: misc.orangeDark[400], fgHover: misc.orangeDark[500], bg: misc.orangeDark[100], bgHover: misc.orangeDark[200] },\n { fg: misc.teal[300], fgHover: misc.teal[400], bg: misc.teal[50], bgHover: misc.teal[100] },\n { fg: warning[400], fgHover: warning[500], bg: warning[100], bgHover: warning[200] },\n { fg: misc.rose[400], fgHover: misc.rose[500], bg: misc.rose[100], bgHover: misc.rose[200] },\n { fg: misc.blueLight[400], fgHover: misc.blueLight[500], bg: misc.blueLight[100], bgHover: misc.blueLight[200] },\n { fg: misc.orange[300], fgHover: misc.orange[400], bg: misc.orange[100], bgHover: misc.orange[200] },\n { fg: misc.cyan[600], fgHover: misc.cyan[700], bg: misc.cyan[100], bgHover: misc.cyan[200] },\n { fg: misc.green[500], fgHover: misc.green[600], bg: misc.green[100], bgHover: misc.green[200] },\n { fg: misc.pink[400], fgHover: misc.pink[500], bg: misc.pink[100], bgHover: misc.pink[200] },\n { fg: misc.fuchsia[400], fgHover: misc.fuchsia[500], bg: misc.fuchsia[100], bgHover: misc.fuchsia[200] },\n { fg: misc.teal[600], fgHover: misc.teal[700], bg: misc.teal[100], bgHover: misc.teal[200] },\n ],\n} as const;\n\n// ─── Focus Rings ─────────────────────────────────────────────────\n// magenta[400] = #FF78F3, gray[400] = #a0a0a6\n\nconst focusRings = {\n brand: \"0px 0px 0px 4px #FF78F33d\",\n brandShadowXs: \"0px 1px 2px 0px #1018280d, 0px 0px 0px 4px #FF78F33d\",\n brandShadowSm: \"0px 1px 3px 0px #1018281a, 0px 1px 2px 0px #1018280f, 0px 0px 0px 4px #FF78F33d\",\n gray: \"0px 0px 0px 4px #a0a0a624\",\n grayShadowXs: \"0px 1px 2px 0px #1018280d, 0px 0px 0px 4px #a0a0a624\",\n grayShadowSm: \"0px 1px 3px 0px #1018281a, 0px 1px 2px 0px #1018280f, 0px 0px 0px 4px #a0a0a624\",\n error: \"0px 0px 0px 4px #f044383d\",\n errorShadowXs: \"0px 1px 2px 0px #1018280d, 0px 0px 0px 4px #f044383d\",\n} as const;\n\n// ─── Preset ──────────────────────────────────────────────────────\n\nexport const forestInternalPreset: ThemePreset = {\n name: \"forest-internal\",\n defaultVariant: \"light\",\n variants: {\n light: {\n tokens: {\n base,\n error,\n warning,\n success,\n info,\n spacing,\n radius,\n shadows: tokenShadows,\n focusRings,\n fontFamily: '\"Aeonik\", sans-serif',\n fontFamilyMono: '\"Aeonik Mono\", monospace',\n fontSize,\n lineHeight,\n fontWeight,\n display,\n container,\n widths,\n text,\n bg,\n fg,\n border,\n buttonColors,\n avatarColors,\n breadcrumbColors,\n iconColors,\n navColors,\n sliderColors,\n toggleColors,\n chartColors,\n alpha,\n },\n },\n },\n};\n","import type { ThemePreset } from \"../types\";\nimport { forestExternalPreset } from \"./forest-external\";\nimport { forestAgencyPreset } from \"./forest-agency\";\nimport { forestInternalPreset } from \"./forest-internal\";\n\nconst presetRegistry = new Map<string, ThemePreset>();\n\n// Register built-in presets\npresetRegistry.set(forestExternalPreset.name, forestExternalPreset);\npresetRegistry.set(forestAgencyPreset.name, forestAgencyPreset);\npresetRegistry.set(forestInternalPreset.name, forestInternalPreset);\n\n/** Get a preset by name. Returns `undefined` if not found. */\nexport function getPreset(name: string): ThemePreset | undefined {\n return presetRegistry.get(name);\n}\n\n/** Register a custom preset (or override a built-in one). */\nexport function registerPreset(preset: ThemePreset): void {\n presetRegistry.set(preset.name, preset);\n}\n\n/** List all registered preset names. */\nexport function getAvailablePresets(): string[] {\n return Array.from(presetRegistry.keys());\n}\n\nexport { forestExternalPreset, forestAgencyPreset, forestInternalPreset };\n","import { buildTheme, buildThemeOptions } from \"./buildTheme\";\nimport { forestAgencyPreset } from \"./presets\";\n\n// Use forest-agency preset tokens as the default theme\nconst agencyTokens = forestAgencyPreset.variants.light.tokens;\n\nexport const forestTheme = buildTheme(agencyTokens);\nexport const forestThemeOptions = buildThemeOptions(agencyTokens);\n\n// Re-export theme builders\nexport { buildTheme, buildThemeOptions };\n\nexport * from \"./tokens\";\n\n// Preset system\nexport { getPreset, registerPreset, getAvailablePresets, forestExternalPreset, forestAgencyPreset, forestInternalPreset } 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 = MuiButtonProps;\n\nexport function Button({ variant = \"contained\", ...props }: ButtonProps) {\n return <MuiButton variant={variant} {...props} />;\n}\n","import MuiButtonGroup, { type ButtonGroupProps } from \"@mui/material/ButtonGroup\";\n\nexport type { ButtonGroupProps };\n\nexport function ButtonGroup({ variant = \"contained\", ...props }: ButtonGroupProps) {\n return <MuiButtonGroup variant={variant} {...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({ color = \"primary\", ...props }: FabProps) {\n return <MuiFab color={color} {...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 React from \"react\";\nimport 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>({ onClose, ...props }: SelectProps<Value>) {\n const handleClose: SelectProps<Value>[\"onClose\"] = (e) => {\n onClose?.(e);\n // MUI keeps focus on the trigger after menu close — blur it\n // so the focused border style is removed.\n setTimeout(() => {\n if (document.activeElement instanceof HTMLElement) {\n document.activeElement.blur();\n }\n });\n };\n\n return <MuiSelect onClose={handleClose} {...props} />;\n}\n\nexport function MenuItem(props: MenuItemProps) {\n return <MuiMenuItem {...props} />;\n}\n","import MuiSelect, { type SelectProps } from \"@mui/material/Select\";\nimport MuiMenuItem from \"@mui/material/MenuItem\";\nimport MuiCheckbox from \"@mui/material/Checkbox\";\nimport MuiListItemText from \"@mui/material/ListItemText\";\nimport MuiFormControl from \"@mui/material/FormControl\";\nimport MuiInputLabel from \"@mui/material/InputLabel\";\nimport MuiButton from \"@mui/material/Button\";\nimport { type SelectChangeEvent } from \"@mui/material/Select\";\n\nexport interface MultiSelectOption {\n label: string;\n value: string;\n}\n\nexport interface MultiSelectProps\n extends Omit<SelectProps<string[]>, \"multiple\" | \"value\" | \"onChange\" | \"renderValue\"> {\n options: MultiSelectOption[];\n value: string[];\n onChange: (values: string[]) => void;\n selectAll?: boolean;\n selectAllLabel?: string;\n}\n\nexport function MultiSelect({\n options,\n value,\n onChange,\n selectAll = true,\n selectAllLabel = \"Select All\",\n label,\n ...rest\n}: MultiSelectProps) {\n const allSelected = options.length > 0 && value.length === options.length;\n\n const handleChange = (event: SelectChangeEvent<string[]>) => {\n const selected = event.target.value;\n const arr = typeof selected === \"string\" ? selected.split(\",\") : selected;\n onChange(arr);\n };\n\n const handleSelectAll = () => {\n onChange(allSelected ? [] : options.map((o) => o.value));\n };\n\n const labelMap = new Map(options.map((o) => [o.value, o.label]));\n\n const renderValue = (selected: string[]) =>\n selected.map((v) => labelMap.get(v) ?? v).join(\", \");\n\n const labelId = label\n ? `forest-multiselect-${String(label).replace(/\\s+/g, \"-\").toLowerCase()}`\n : undefined;\n\n return (\n <MuiFormControl\n fullWidth={rest.fullWidth}\n disabled={rest.disabled}\n error={rest.error}\n size={rest.size}\n color={rest.color as any}\n variant={rest.variant as any}\n >\n {label && (\n <MuiInputLabel id={labelId} shrink={value.length > 0}>\n {label}\n </MuiInputLabel>\n )}\n <MuiSelect<string[]>\n labelId={labelId}\n label={label}\n multiple\n notched={value.length > 0}\n value={value}\n onChange={handleChange}\n displayEmpty\n renderValue={renderValue}\n {...rest}\n >\n {selectAll && (\n <li\n onMouseDown={(e) => e.preventDefault()}\n onClick={(e) => {\n e.stopPropagation();\n handleSelectAll();\n }}\n >\n <MuiButton size=\"small\" variant=\"text\">\n {allSelected ? \"Deselect All\" : selectAllLabel}\n </MuiButton>\n </li>\n )}\n {options.map((option) => (\n <MuiMenuItem key={option.value} value={option.value}>\n <MuiCheckbox checked={value.includes(option.value)} />\n <MuiListItemText primary={option.label} />\n </MuiMenuItem>\n ))}\n </MuiSelect>\n </MuiFormControl>\n );\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","\"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.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14\"\n}), 'Search');","\"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}), 'Clear');","import React, { useState, useCallback } from \"react\";\nimport MuiTextField, { type TextFieldProps } from \"@mui/material/TextField\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport IconButton from \"@mui/material/IconButton\";\nimport SearchIcon from \"@mui/icons-material/Search\";\nimport ClearIcon from \"@mui/icons-material/Clear\";\n\nexport type SearchProps = TextFieldProps & {\n onClear?: () => void;\n};\n\nexport function Search({\n value: controlledValue,\n onChange,\n onClear,\n placeholder = \"Search…\",\n variant = \"outlined\",\n slotProps,\n ...props\n}: SearchProps) {\n const [internalValue, setInternalValue] = useState(\"\");\n const isControlled = controlledValue !== undefined;\n const currentValue = isControlled ? controlledValue : internalValue;\n\n const handleChange: React.ChangeEventHandler<HTMLInputElement> = useCallback(\n (e) => {\n if (!isControlled) setInternalValue(e.target.value);\n onChange?.(e);\n },\n [isControlled, onChange]\n );\n\n const handleClear = useCallback(() => {\n if (!isControlled) setInternalValue(\"\");\n onClear?.();\n }, [isControlled, onClear]);\n\n return (\n <MuiTextField\n variant={variant}\n placeholder={placeholder}\n value={currentValue}\n onChange={handleChange}\n slotProps={{\n ...slotProps,\n input: {\n sx: { pl: \"12px\", gap: 0 },\n startAdornment: (\n <InputAdornment position=\"start\" sx={{ mr: 0 }}>\n <SearchIcon sx={{ fontSize: 20 }} />\n </InputAdornment>\n ),\n endAdornment: currentValue ? (\n <InputAdornment position=\"end\">\n <IconButton\n aria-label=\"clear search\"\n onClick={handleClear}\n edge=\"end\"\n size=\"small\"\n >\n <ClearIcon fontSize=\"small\" />\n </IconButton>\n </InputAdornment>\n ) : null,\n ...(typeof slotProps?.input === \"object\" ? slotProps.input : {}),\n },\n }}\n {...props}\n />\n );\n}\n","import MuiInputBase, { type InputBaseProps as MuiInputBaseProps } from \"@mui/material/InputBase\";\n\nexport type InputProps = MuiInputBaseProps;\n\nexport function Input({ ...props }: InputProps) {\n return <MuiInputBase {...props} />;\n}\n","import MuiIconButton, { type IconButtonProps as MuiIconButtonProps } from \"@mui/material/IconButton\";\n\nexport type IconButtonProps = MuiIconButtonProps;\n\nexport function IconButton(props: IconButtonProps) {\n return <MuiIconButton {...props} />;\n}\n","import { Box, type BoxProps } from '@mui/material';\nimport { forwardRef } from 'react';\n\nexport type LogoProduct = 'wsuite' | 'studio' | 'feedati';\nexport type LogoVariant = 'logo' | 'logomark';\n\nexport interface LogoProps extends Omit<BoxProps<'svg'>, 'component' | 'children'> {\n /** Product brand */\n product?: LogoProduct;\n /** Show full logo or icon only */\n variant?: LogoVariant;\n}\n\n// SVG paths for each product\nconst svgPaths = {\n wsuite: {\n logo: (\n <>\n <path d=\"M0.957 2.76H3.729V3.838H2.387V13.122H3.729V14.2H0.957V2.76ZM7.97844 4.3H8.95744L10.4534 8.964L11.7954 4.3H13.4124L10.9814 12H9.98044L8.47344 7.402L6.95544 12H5.95444L3.52344 4.3H5.14044L6.48244 8.964L7.97844 4.3ZM15.9729 12.176C15.1369 12.176 14.3559 11.956 13.7839 11.56V9.701C14.3229 10.306 15.1149 10.669 15.8959 10.669C16.7099 10.669 17.2819 10.295 17.2819 9.756C17.2819 9.393 17.0179 9.151 16.3909 8.931L15.4999 8.623C14.4219 8.249 13.8499 7.523 13.8499 6.522C13.8499 5.125 14.9829 4.124 16.5889 4.124C17.3039 4.124 18.0079 4.3 18.5249 4.619V6.346C17.9969 5.884 17.3479 5.631 16.6659 5.631C15.9289 5.631 15.4449 5.939 15.4449 6.412C15.4449 6.786 15.7529 7.094 16.3359 7.292L17.2159 7.589C18.3379 7.974 18.8769 8.656 18.8769 9.701C18.8769 11.197 17.7329 12.176 15.9729 12.176ZM25.4205 12H23.9025V11.329C23.5065 11.857 22.8465 12.176 22.0765 12.176C20.7125 12.176 19.8215 11.285 19.8215 9.943V5.95H21.3835V9.448C21.3835 10.295 21.8565 10.812 22.6375 10.812C23.4185 10.812 23.8585 10.317 23.8585 9.448V5.95H25.4205V12ZM26.7781 12V5.95H28.3401V12H26.7781ZM27.5591 5.444C27.0201 5.444 26.6461 5.07 26.6461 4.542C26.6461 3.992 27.0201 3.607 27.5591 3.607C28.0981 3.607 28.4721 3.992 28.4721 4.542C28.4721 5.07 28.0981 5.444 27.5591 5.444ZM30.0712 7.292H29.0592V5.95H30.0712V4.707H31.6332V5.95H32.6452V7.292H31.6332V12H30.0712V7.292ZM38.386 11.538C37.825 11.934 37.011 12.176 36.23 12.176C34.327 12.176 32.952 10.823 32.952 8.931C32.952 7.094 34.217 5.774 35.988 5.774C37.726 5.774 38.892 7.039 38.892 8.931C38.892 9.382 38.826 9.613 38.826 9.613H34.602C34.789 10.35 35.46 10.834 36.362 10.834C37 10.834 37.66 10.614 38.386 10.086V11.538ZM34.558 8.381H37.418C37.352 7.578 36.857 7.061 36.032 7.061C35.207 7.061 34.624 7.6 34.558 8.381ZM41.6447 2.76V14.2H38.8727V13.122H40.2147V3.838H38.8727V2.76H41.6447Z\" fill=\"black\" />\n <path d=\"M44.6972 2.88174H46.0612V4.93874H48.0852V6.25874H46.0612V8.32674H44.6972V6.25874H42.6512V4.93874H44.6972V2.88174Z\" fill=\"#FF78F3\" />\n </>\n ),\n logomark: (\n <>\n <path d=\"M0.957 2.76H3.729V3.838H2.387V13.122H3.729V14.2H0.957V2.76ZM7.97844 4.3H8.95744L10.4534 8.964L11.7954 4.3H13.4124L10.9814 12H9.98044L8.47344 7.402L6.95544 12H5.95444L3.52344 4.3H5.14044L6.48244 8.964L7.97844 4.3ZM15.9816 2.76V14.2H13.2096V13.122H14.5516V3.838H13.2096V2.76H15.9816Z\" fill=\"black\" />\n <path d=\"M18.6972 2.88174H20.0612V4.93874H22.0852V6.25874H20.0612V8.32674H18.6972V6.25874H16.6512V4.93874H18.6972V2.88174Z\" fill=\"#FF78F3\" />\n </>\n ),\n },\n studio: {\n logo: (\n <>\n <path d=\"M0.957 2.76H3.729V3.838H2.387V13.122H3.729V14.2H0.957V2.76ZM6.14376 12.176C5.30776 12.176 4.52676 11.956 3.95476 11.56V9.701C4.49376 10.306 5.28576 10.669 6.06676 10.669C6.88076 10.669 7.45276 10.295 7.45276 9.756C7.45276 9.393 7.18876 9.151 6.56176 8.931L5.67076 8.623C4.59276 8.249 4.02076 7.523 4.02076 6.522C4.02076 5.125 5.15376 4.124 6.75976 4.124C7.47476 4.124 8.17876 4.3 8.69576 4.619V6.346C8.16776 5.884 7.51876 5.631 6.83676 5.631C6.09976 5.631 5.61576 5.939 5.61576 6.412C5.61576 6.786 5.92376 7.094 6.50676 7.292L7.38676 7.589C8.50876 7.974 9.04776 8.656 9.04776 9.701C9.04776 11.197 7.90376 12.176 6.14376 12.176ZM10.5419 7.292H9.52987V5.95H10.5419V4.707H12.1039V5.95H13.1159V7.292H12.1039V12H10.5419V7.292ZM19.3297 12H17.8117V11.329C17.4157 11.857 16.7557 12.176 15.9857 12.176C14.6217 12.176 13.7307 11.285 13.7307 9.943V5.95H15.2927V9.448C15.2927 10.295 15.7657 10.812 16.5467 10.812C17.3277 10.812 17.7677 10.317 17.7677 9.448V5.95H19.3297V12ZM25.1384 12V11.142C24.7204 11.791 24.0054 12.165 23.1584 12.165C21.5084 12.165 20.2654 10.801 20.2654 8.986C20.2654 7.16 21.5084 5.785 23.1584 5.785C24.0164 5.785 24.7314 6.148 25.1164 6.742V4.3H26.6784V12H25.1384ZM23.5214 7.149C22.5094 7.149 21.8824 7.853 21.8824 8.975C21.8824 10.097 22.5094 10.801 23.5214 10.801C24.5224 10.801 25.1494 10.097 25.1494 8.986C25.1494 7.853 24.5224 7.149 23.5214 7.149ZM28.035 12V5.95H29.597V12H28.035ZM28.816 5.444C28.277 5.444 27.903 5.07 27.903 4.542C27.903 3.992 28.277 3.607 28.816 3.607C29.355 3.607 29.729 3.992 29.729 4.542C29.729 5.07 29.355 5.444 28.816 5.444ZM33.7585 12.165C31.8555 12.165 30.5135 10.845 30.5135 8.975C30.5135 7.105 31.8555 5.785 33.7585 5.785C35.6615 5.785 37.0145 7.105 37.0145 8.975C37.0145 10.845 35.6615 12.165 33.7585 12.165ZM33.7585 10.801C34.7595 10.801 35.3975 10.097 35.3975 8.975C35.3975 7.864 34.7595 7.149 33.7585 7.149C32.7685 7.149 32.1305 7.864 32.1305 8.975C32.1305 10.097 32.7575 10.801 33.7585 10.801ZM39.7219 2.76V14.2H36.9499V13.122H38.2919V3.838H36.9499V2.76H39.7219Z\" fill=\"black\" />\n <path d=\"M42.6972 2.88174H44.0612V4.93874H46.0852V6.25874H44.0612V8.32674H42.6972V6.25874H40.6512V4.93874H42.6972V2.88174Z\" fill=\"#9D5FFF\" />\n </>\n ),\n logomark: (\n <>\n <path d=\"M0.957 2.76H3.729V3.838H2.387V13.122H3.729V14.2H0.957V2.76ZM6.14376 12.176C5.30776 12.176 4.52676 11.956 3.95476 11.56V9.701C4.49376 10.306 5.28576 10.669 6.06676 10.669C6.88076 10.669 7.45276 10.295 7.45276 9.756C7.45276 9.393 7.18876 9.151 6.56176 8.931L5.67076 8.623C4.59276 8.249 4.02076 7.523 4.02076 6.522C4.02076 5.125 5.15376 4.124 6.75976 4.124C7.47476 4.124 8.17876 4.3 8.69576 4.619V6.346C8.16776 5.884 7.51876 5.631 6.83676 5.631C6.09976 5.631 5.61576 5.939 5.61576 6.412C5.61576 6.786 5.92376 7.094 6.50676 7.292L7.38676 7.589C8.50876 7.974 9.04776 8.656 9.04776 9.701C9.04776 11.197 7.90376 12.176 6.14376 12.176ZM12.05 2.76V14.2H9.27798V13.122H10.62V3.838H9.27798V2.76H12.05Z\" fill=\"black\" />\n <path d=\"M15.6972 2.88174H17.0612V4.93874H19.0852V6.25874H17.0612V8.32674H15.6972V6.25874H13.6512V4.93874H15.6972V2.88174Z\" fill=\"#9D5FFF\" />\n </>\n ),\n },\n feedati: {\n logo: (\n <>\n <path d=\"M0.957 2.76H3.729V3.838H2.387V13.122H3.729V14.2H0.957V2.76ZM4.21695 12V4.3H9.65095V5.73H5.83395V7.523H9.11195V8.953H5.83395V12H4.21695ZM15.1399 11.538C14.5789 11.934 13.7649 12.176 12.9839 12.176C11.0809 12.176 9.70587 10.823 9.70587 8.931C9.70587 7.094 10.9709 5.774 12.7419 5.774C14.4799 5.774 15.6459 7.039 15.6459 8.931C15.6459 9.382 15.5799 9.613 15.5799 9.613H11.3559C11.5429 10.35 12.2139 10.834 13.1159 10.834C13.7539 10.834 14.4139 10.614 15.1399 10.086V11.538ZM11.3119 8.381H14.1719C14.1059 7.578 13.6109 7.061 12.7859 7.061C11.9609 7.061 11.3779 7.6 11.3119 8.381ZM21.5637 11.538C21.0027 11.934 20.1887 12.176 19.4077 12.176C17.5047 12.176 16.1297 10.823 16.1297 8.931C16.1297 7.094 17.3947 5.774 19.1657 5.774C20.9037 5.774 22.0697 7.039 22.0697 8.931C22.0697 9.382 22.0037 9.613 22.0037 9.613H17.7797C17.9667 10.35 18.6377 10.834 19.5397 10.834C20.1777 10.834 20.8377 10.614 21.5637 10.086V11.538ZM17.7357 8.381H20.5957C20.5297 7.578 20.0347 7.061 19.2097 7.061C18.3847 7.061 17.8017 7.6 17.7357 8.381ZM24.6328 5.708V10.592H25.5788C27.0968 10.592 28.0208 9.624 28.0208 8.15C28.0208 6.698 27.0748 5.708 25.5788 5.708H24.6328ZM25.7218 4.3C28.0758 4.3 29.6708 6.005 29.6708 8.15C29.6708 10.306 28.0978 12 25.7218 12H23.0158V4.3H25.7218ZM34.0509 8.381C34.0509 7.633 33.4679 7.149 32.5769 7.149C31.9169 7.149 31.1469 7.424 30.5639 7.82V6.313C31.1799 5.972 31.9939 5.774 32.7529 5.774C34.4469 5.774 35.5359 6.72 35.5359 8.205V12H34.1059V11.527C33.7319 11.923 33.1379 12.176 32.4779 12.176C31.2459 12.176 30.3879 11.351 30.3879 10.163C30.3879 8.953 31.2899 8.106 32.5659 8.106C33.1929 8.106 33.7209 8.315 34.0509 8.667V8.381ZM31.9279 10.108C31.9279 10.592 32.3679 10.933 32.9949 10.933C33.6219 10.933 34.0619 10.592 34.0619 10.108C34.0619 9.613 33.6219 9.272 33.0059 9.272C32.3789 9.272 31.9279 9.613 31.9279 10.108ZM37.118 7.292H36.106V5.95H37.118V4.707H38.68V5.95H39.692V7.292H38.68V12H37.118V7.292ZM40.41 12V5.95H41.972V12H40.41ZM41.191 5.444C40.652 5.444 40.278 5.07 40.278 4.542C40.278 3.992 40.652 3.607 41.191 3.607C41.73 3.607 42.104 3.992 42.104 4.542C42.104 5.07 41.73 5.444 41.191 5.444ZM45.2219 2.76V14.2H42.4499V13.122H43.7919V3.838H42.4499V2.76H45.2219Z\" fill=\"black\" />\n <path d=\"M48.6971 2.88174H50.0611V4.93874H52.0851V6.25874H50.0611V8.32674H48.6971V6.25874H46.6511V4.93874H48.6971V2.88174Z\" fill=\"#FF2821\" />\n </>\n ),\n logomark: (\n <>\n <path d=\"M0.957 2.76H3.729V3.838H2.387V13.122H3.729V14.2H0.957V2.76ZM4.21695 12V4.3H9.65095V5.73H5.83395V7.523H9.11195V8.953H5.83395V12H4.21695ZM12.4904 2.76V14.2H9.71841V13.122H11.0604V3.838H9.71841V2.76H12.4904Z\" fill=\"black\" />\n <path d=\"M15.6972 2.88174H17.0612V4.93874H19.0852V6.25874H17.0612V8.32674H15.6972V6.25874H13.6512V4.93874H15.6972V2.88174Z\" fill=\"#FF2821\" />\n </>\n ),\n },\n};\n\n// ViewBox dimensions for each variant\nconst viewBoxMap = {\n wsuite: { logo: '0 0 51 16', logomark: '0 0 25 16' },\n studio: { logo: '0 0 49 16', logomark: '0 0 22 16' },\n feedati: { logo: '0 0 55 16', logomark: '0 0 22 16' },\n};\n\n/**\n * Logo component for Forest product suite\n *\n * Displays brand logos (WSuite, Studio, FeeDati) in full or icon-only variants.\n * Colors are embedded in the SVG.\n *\n * @example\n * <Logo product=\"wsuite\" variant=\"logo\" />\n * <Logo product=\"studio\" variant=\"logomark\" />\n */\nexport const Logo = forwardRef<SVGSVGElement, LogoProps>(\n (\n {\n product = 'wsuite',\n variant = 'logo',\n sx,\n ...props\n },\n ref\n ) => {\n return (\n <Box\n component=\"svg\"\n ref={ref}\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox={viewBoxMap[product][variant]}\n fill=\"none\"\n sx={{\n display: 'block',\n width: 'auto',\n height: 32,\n ...sx,\n }}\n {...props}\n >\n {svgPaths[product][variant]}\n </Box>\n );\n }\n);\n\nLogo.displayName = 'Logo';\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 { DatePicker as MuiDatePicker, type DatePickerProps as MuiDatePickerProps } from \"@mui/x-date-pickers/DatePicker\";\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\nimport { AdapterDayjs } from \"@mui/x-date-pickers/AdapterDayjs\";\n\nexport type DatePickerProps = MuiDatePickerProps;\n\nexport function DatePicker(props: DatePickerProps) {\n return (\n <LocalizationProvider dateAdapter={AdapterDayjs}>\n <MuiDatePicker {...props} />\n </LocalizationProvider>\n );\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\";\nimport { misc } from \"../../theme/tokens\";\n\nconst customChipColors: Record<string, { bg: string; color: string; deleteIcon: string }> = {\n teal: { bg: misc.teal[50], color: misc.teal[700], deleteIcon: misc.teal[400] },\n orange: { bg: misc.orange[50], color: misc.orange[700], deleteIcon: misc.orange[400] },\n purple: { bg: misc.purple[50], color: misc.purple[700], deleteIcon: misc.purple[400] },\n pink: { bg: misc.pink[50], color: misc.pink[700], deleteIcon: misc.pink[400] },\n fuchsia: { bg: misc.fuchsia[50], color: misc.fuchsia[700], deleteIcon: misc.fuchsia[400] },\n orangeDark: { bg: misc.orangeDark[50], color: misc.orangeDark[700], deleteIcon: misc.orangeDark[400] },\n green: { bg: misc.green[50], color: misc.green[700], deleteIcon: misc.green[400] },\n indigo: { bg: misc.indigo[50], color: misc.indigo[700], deleteIcon: misc.indigo[400] },\n rose: { bg: misc.rose[50], color: misc.rose[700], deleteIcon: misc.rose[400] },\n blueLight: { bg: misc.blueLight[50], color: misc.blueLight[700], deleteIcon: misc.blueLight[400] },\n};\n\nexport type ForestChipColor = ChipProps[\"color\"] | keyof typeof customChipColors;\n\nexport interface ForestChipProps extends Omit<ChipProps, \"color\"> {\n color?: ForestChipColor;\n}\n\nexport type { ChipProps };\n\nexport function Chip({ color, deleteIcon = <CloseIcon />, sx, ...props }: ForestChipProps) {\n const custom = color && typeof color === \"string\" ? customChipColors[color] : undefined;\n\n if (custom) {\n return (\n <MuiChip\n deleteIcon={deleteIcon}\n {...props}\n sx={[\n {\n \"&.MuiChip-root\": {\n backgroundColor: custom.bg,\n color: custom.color,\n \"& .MuiChip-deleteIcon\": {\n color: custom.deleteIcon,\n },\n },\n },\n ...(Array.isArray(sx) ? sx : [sx]),\n ]}\n />\n );\n }\n\n return (\n <MuiChip\n color={color as ChipProps[\"color\"]}\n deleteIcon={deleteIcon}\n sx={sx}\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({ arrow = true, ...props }: TooltipProps) {\n return <MuiTooltip arrow={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 React from \"react\";\nimport MuiAppBar, { type AppBarProps } from \"@mui/material/AppBar\";\nimport MuiToolbar, { type ToolbarProps } from \"@mui/material/Toolbar\";\nimport MuiButton, { type ButtonProps } from \"@mui/material/Button\";\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\nexport interface AppBarNavItemProps extends Omit<ButtonProps, \"children\" | \"variant\"> {\n label: string;\n icon?: React.ReactNode;\n selected?: boolean;\n href?: string;\n}\n\nexport function AppBarNavItem({\n label,\n icon,\n selected = false,\n href,\n sx,\n ...props\n}: AppBarNavItemProps) {\n return (\n <MuiButton\n variant=\"text\"\n href={href}\n startIcon={icon}\n disableElevation\n {...props}\n sx={[\n {\n height: 32,\n padding: \"6px 12px\",\n fontSize: 14,\n fontWeight: 500,\n color: \"action.active\",\n textTransform: \"none\",\n boxShadow: \"none\",\n \"&:hover\": {\n backgroundColor: \"action.hover\",\n color: \"text.primary\",\n boxShadow: \"none\",\n },\n \"&:focus-visible\": {\n boxShadow: \"none\",\n },\n \"& .MuiButton-startIcon\": {\n marginRight: 0.5,\n },\n },\n selected && {\n color: \"primary.light\",\n fontWeight: 600,\n \"&:hover\": {\n backgroundColor: \"action.selected\",\n color: \"primary.light\",\n boxShadow: \"none\",\n },\n },\n ...(Array.isArray(sx) ? sx : [sx]),\n ]}\n >\n {label}\n </MuiButton>\n );\n}\n","import MuiCard, { type CardProps as MuiCardProps } 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\";\nimport type { SxProps, Theme } from \"@mui/material/styles\";\n\nexport type ForestCardColor = \"primary\" | \"secondary\";\n\nexport interface ForestCardProps extends Omit<MuiCardProps, \"color\"> {\n color?: ForestCardColor;\n}\n\nexport type CardProps = ForestCardProps;\nexport type {\n CardContentProps,\n CardHeaderProps,\n CardActionsProps,\n CardMediaProps,\n};\n\nexport function Card({ color = \"primary\", sx, ...props }: ForestCardProps) {\n return (\n <MuiCard\n {...props}\n sx={[\n color === \"secondary\" && { backgroundColor: \"background.paper\" },\n ...(Array.isArray(sx) ? sx : [sx as SxProps<Theme>]),\n ]}\n />\n );\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 React from \"react\";\nimport MuiAlert, { type AlertProps } from \"@mui/material/Alert\";\nimport MuiAlertTitle, { type AlertTitleProps } from \"@mui/material/AlertTitle\";\n\nexport type { AlertProps, AlertTitleProps };\n\nexport const Alert = React.forwardRef<HTMLDivElement, AlertProps>(function Alert(props, ref) {\n return <MuiAlert ref={ref} {...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 MuiModal, { type ModalProps } from \"@mui/material/Modal\";\n\nexport type { ModalProps };\n\nexport function Modal(props: ModalProps) {\n return <MuiModal {...props} />;\n}\n","import MuiPopover, { type PopoverProps } from \"@mui/material/Popover\";\n\nexport type { PopoverProps };\n\nexport function Popover(props: PopoverProps) {\n return <MuiPopover {...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","import MuiBreadcrumbs, { type BreadcrumbsProps } from \"@mui/material/Breadcrumbs\";\n\nexport type { BreadcrumbsProps };\n\nexport function Breadcrumbs(props: BreadcrumbsProps) {\n return <MuiBreadcrumbs {...props} />;\n}\n","import MuiLink, { type LinkProps } from \"@mui/material/Link\";\n\nexport type { LinkProps };\n\nexport function Link(props: LinkProps) {\n return <MuiLink {...props} />;\n}\n","import MuiMenu, { type MenuProps } from \"@mui/material/Menu\";\nimport MuiMenuList, { type MenuListProps } from \"@mui/material/MenuList\";\n\nexport type { MenuProps, MenuListProps };\n\nexport function Menu(props: MenuProps) {\n return <MuiMenu {...props} />;\n}\n\nexport function MenuList(props: MenuListProps) {\n return <MuiMenuList {...props} />;\n}\n","import MuiPagination, { type PaginationProps } from \"@mui/material/Pagination\";\n\nexport type { PaginationProps };\n\nexport function Pagination(props: PaginationProps) {\n return <MuiPagination {...props} />;\n}\n","import MuiStepper, { type StepperProps } from \"@mui/material/Stepper\";\nimport MuiStep, { type StepProps } from \"@mui/material/Step\";\nimport MuiStepLabel, { type StepLabelProps } from \"@mui/material/StepLabel\";\n\nexport type { StepperProps, StepProps, StepLabelProps };\n\nexport function Stepper(props: StepperProps) {\n return <MuiStepper {...props} />;\n}\n\nexport function Step(props: StepProps) {\n return <MuiStep {...props} />;\n}\n\nexport function StepLabel(props: StepLabelProps) {\n return <MuiStepLabel {...props} />;\n}\n","import MuiTabs, { type TabsProps } from \"@mui/material/Tabs\";\nimport MuiTab, { type TabProps } from \"@mui/material/Tab\";\n\nexport type { TabsProps, TabProps };\n\nexport function Tabs(props: TabsProps) {\n return <MuiTabs {...props} />;\n}\n\nexport function Tab(props: TabProps) {\n return <MuiTab {...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 ListItemButtonProps {\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","import { useTheme } from \"@mui/material/styles\";\n\nexport function useChartColors(count: number): string[] {\n const theme = useTheme();\n const chart = theme.palette.chart;\n\n const colors = chart.series.map((s: { fg: string }) => s.fg);\n\n return colors.slice(0, Math.min(count, colors.length));\n}\n","import React from \"react\";\nimport { Box, Typography } from \"@mui/material\";\nimport { useTheme } from \"@mui/material/styles\";\nimport type { ChartsAxisContentProps } from \"@mui/x-charts/ChartsTooltip\";\n\nfunction formatDate(date: string | number | Date | null): string {\n if (!date) return \"\";\n const d = new Date(date);\n if (isNaN(d.getTime())) return String(date);\n return d.toLocaleDateString(\"en-US\", {\n weekday: \"short\",\n month: \"short\",\n day: \"numeric\",\n year: \"numeric\",\n });\n}\n\nfunction renderValue(val: any): React.ReactNode {\n if (val == null) return \"0\";\n if (typeof val === \"object\" && \"y\" in val) {\n return String(val.y);\n }\n return String(val);\n}\n\nexport function CustomTooltip(props: ChartsAxisContentProps) {\n const { series, axisValue, dataIndex } = props;\n const theme = useTheme();\n\n if (dataIndex == null) {\n return null;\n }\n\n return (\n <Box\n sx={{\n backgroundColor: theme.palette.common.white,\n borderRadius: \"12px\",\n boxShadow: \"0px 12px 24px -4px #1018281a, 0px 4px 8px -2px #1018280f\", // Very high elevation shadow per reference\n padding: \"16px\",\n minWidth: \"200px\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"12px\",\n border: `1px solid ${theme.palette.divider}`,\n }}\n >\n <Typography\n variant=\"body2\"\n sx={{\n fontWeight: 600,\n color: theme.palette.text.primary,\n paddingBottom: \"12px\",\n borderBottom: `1px solid ${theme.palette.divider}`,\n }}\n >\n {formatDate(axisValue)}\n </Typography>\n\n {series.map((s) => {\n // Find the color and the value\n const color = typeof s.getColor === \"function\" ? s.getColor(dataIndex) : s.color;\n // The values are in s.data\n const value = s.data ? s.data[dataIndex] : null;\n if (value == null) return null;\n\n return (\n <Box key={s.id} sx={{ display: \"flex\", flexDirection: \"column\", gap: \"6px\" }}>\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: \"8px\" }}>\n <Box\n sx={{\n width: 16,\n height: 16,\n borderRadius: \"4px\",\n backgroundColor: color,\n flexShrink: 0,\n }}\n />\n <Typography\n variant=\"body2\"\n sx={{\n color: theme.palette.text.secondary,\n display: \"flex\",\n alignItems: \"center\",\n gap: \"6px\",\n }}\n >\n <Box\n component=\"span\"\n sx={{\n backgroundColor: theme.palette.grey[50] || \"#f9fafb\",\n padding: \"2px 6px\",\n borderRadius: \"4px\",\n fontWeight: 500,\n color: theme.palette.text.primary,\n border: `1px solid ${theme.palette.divider}`,\n }}\n >\n {renderValue(value)}\n </Box>{\" \"}\n events\n </Typography>\n </Box>\n </Box>\n );\n })}\n </Box>\n );\n}\n","import {\n LineChart as MuiLineChart,\n type LineChartProps as MuiLineChartProps,\n} from \"@mui/x-charts/LineChart\";\nimport { useTheme } from \"@mui/material/styles\";\nimport { fontSize, lineHeight } from \"../../theme/tokens\";\nimport { useChartColors } from \"./useChartColors\";\n\nimport { CustomTooltip } from \"./CustomTooltip\";\n\nexport interface LineChartProps extends Omit<MuiLineChartProps, \"series\"> {\n series?: MuiLineChartProps[\"series\"];\n}\n\nexport function LineChart({ series, colors, ...props }: LineChartProps) {\n const theme = useTheme();\n const chart = theme.palette.chart;\n const seriesColors = useChartColors(series?.length ?? 0);\n\n // Set line curve and stroke width smoothly\n const modifiedSeries = series?.map((s) => ({\n ...s,\n curve: s.curve ?? \"linear\",\n highlightScope: s.highlightScope ?? { highlighted: \"item\", faded: \"global\" },\n }));\n\n return (\n <MuiLineChart\n series={modifiedSeries ?? []}\n colors={colors ?? seriesColors}\n grid={{ horizontal: true }}\n slots={{\n axisContent: CustomTooltip,\n }}\n slotProps={{\n legend: {\n itemMarkWidth: 12,\n itemMarkHeight: 12,\n padding: { bottom: 20 },\n },\n }}\n sx={{\n \"& .MuiChartsAxis-line\": { stroke: `${chart.axisFg} !important` },\n \"& .MuiChartsAxis-tick\": { stroke: `${chart.axisFg} !important` },\n \"& .MuiChartsAxis-tickLabel\": {\n fill: `${chart.labelFg} !important`,\n fontFamily: `${theme.typography.fontFamily} !important`,\n fontSize: `${fontSize.xxs}px !important`,\n lineHeight: lineHeight.xxs,\n },\n \"& .MuiChartsAxis-label\": {\n fill: `${chart.labelFgEmphasis} !important`,\n fontFamily: `${theme.typography.fontFamily} !important`,\n fontSize: `${typeof theme.typography.body1.fontSize === \"number\" ? theme.typography.body1.fontSize : 14}px !important`,\n fontWeight: theme.typography.fontWeightMedium,\n },\n \"& .MuiChartsGrid-line\": {\n stroke: chart.gridlineFg,\n strokeDasharray: \"4 4\",\n },\n \"& .MuiChartsLegend-series text\": {\n fill: `${chart.legendFg} !important`,\n fontFamily: `${theme.typography.fontFamily} !important`,\n fontSize: \"14px !important\",\n },\n \"& .MuiChartsLegend-mark\": {\n ry: 4,\n rx: 4,\n width: 12,\n height: 12,\n },\n \"& .MuiChartsTooltip-root\": {\n fontFamily: theme.typography.fontFamily,\n fontSize: typeof theme.typography.body1.fontSize === \"number\" ? theme.typography.body1.fontSize : 14,\n },\n \"& .MuiChartsTooltip-table\": {\n backgroundColor: chart.tooltipBg,\n color: chart.tooltipFg,\n borderRadius: theme.shape.borderRadius,\n boxShadow: theme.shadows[4],\n },\n \"& .MuiLineElement-root\": {\n strokeWidth: 3,\n },\n \"& .MuiMarkElement-root\": {\n display: \"none\",\n },\n ...((props.sx as object) ?? {}),\n }}\n {...props}\n />\n );\n}\n","import {\n BarChart as MuiBarChart,\n type BarChartProps as MuiBarChartProps,\n} from \"@mui/x-charts/BarChart\";\nimport { type MakeOptional } from \"@mui/x-charts/models/helpers\";\nimport { type BarSeriesType } from \"@mui/x-charts/models/seriesType/bar\";\nimport { useTheme } from \"@mui/material/styles\";\nimport { fontSize, lineHeight } from \"../../theme/tokens\";\nimport { useChartColors } from \"./useChartColors\";\n\nimport { CustomTooltip } from \"./CustomTooltip\";\n\nexport type ForestBarSeriesType = MakeOptional<BarSeriesType, \"type\"> & {\n /** Enables diagonal striped fill for comparative data representation */\n variant?: \"solid\" | \"striped\";\n};\n\nexport interface BarChartProps extends Omit<MuiBarChartProps, \"series\"> {\n series?: ForestBarSeriesType[];\n}\n\nexport function BarChart({ series, colors, ...props }: BarChartProps) {\n const theme = useTheme();\n const chart = theme.palette.chart;\n const seriesColors = useChartColors(series?.length ?? 0);\n const resolvedColors = colors ?? seriesColors;\n\n // Set default highlight scope for cool hover fading effects, and mount Stripe styling \n const modifiedSeries = series?.map((s, idx): MakeOptional<BarSeriesType, \"type\"> => {\n const baseColor = s.color || (resolvedColors as string[])[idx % (resolvedColors as string[]).length];\n const actualColor = s.variant === \"striped\" ? `url(#striped-pattern-${idx})` : baseColor;\n\n const { variant, ...rest } = s;\n\n return {\n ...rest,\n color: actualColor,\n highlightScope: s.highlightScope ?? { highlighted: \"item\", faded: \"global\" },\n };\n });\n\n return (\n <MuiBarChart\n series={modifiedSeries ?? []}\n colors={colors ?? seriesColors}\n grid={{ horizontal: true }}\n borderRadius={4}\n slots={{\n axisContent: CustomTooltip,\n }}\n slotProps={{\n legend: {\n itemMarkWidth: 12,\n itemMarkHeight: 12,\n padding: { bottom: 20 },\n },\n }}\n sx={{\n \"& .MuiChartsAxis-line\": { stroke: `${chart.axisFg} !important` },\n \"& .MuiChartsAxis-tick\": { stroke: `${chart.axisFg} !important` },\n \"& .MuiChartsAxis-tickLabel\": {\n fill: `${chart.labelFg} !important`,\n fontFamily: `${theme.typography.fontFamily} !important`,\n fontSize: `${fontSize.xxs}px !important`,\n lineHeight: lineHeight.xxs,\n },\n \"& .MuiChartsAxis-label\": {\n fill: `${chart.labelFgEmphasis} !important`,\n fontFamily: `${theme.typography.fontFamily} !important`,\n fontSize: `${typeof theme.typography.body1.fontSize === \"number\" ? theme.typography.body1.fontSize : 14}px !important`,\n fontWeight: theme.typography.fontWeightMedium,\n },\n \"& .MuiChartsGrid-line\": {\n stroke: chart.gridlineFg,\n strokeDasharray: \"4 4\",\n },\n \"& .MuiChartsLegend-series text\": {\n fill: `${chart.legendFg} !important`,\n fontFamily: `${theme.typography.fontFamily} !important`,\n fontSize: \"14px !important\",\n },\n \"& .MuiChartsLegend-mark\": {\n ry: 4,\n rx: 4,\n width: 12,\n height: 12,\n },\n \"& .MuiChartsTooltip-root\": {\n fontFamily: theme.typography.fontFamily,\n fontSize: typeof theme.typography.body1.fontSize === \"number\" ? theme.typography.body1.fontSize : 14,\n },\n \"& .MuiChartsTooltip-table\": {\n backgroundColor: chart.tooltipBg,\n color: chart.tooltipFg,\n borderRadius: theme.shape.borderRadius,\n boxShadow: theme.shadows[4],\n },\n ...((props.sx as object) ?? {}),\n }}\n {...props}\n >\n <defs>\n {series?.map((s, idx) => {\n if (s.variant !== \"striped\") return null;\n\n const baseColor = s.color || (resolvedColors as string[])[idx % (resolvedColors as string[]).length];\n return (\n <pattern\n key={`striped-${idx}`}\n id={`striped-pattern-${idx}`}\n patternUnits=\"userSpaceOnUse\"\n width=\"8\"\n height=\"8\"\n patternTransform=\"rotate(45)\"\n >\n <rect width=\"8\" height=\"8\" fill={theme.palette.background.paper} />\n <line x1=\"0\" y=\"0\" x2=\"0\" y2=\"8\" stroke={baseColor} strokeWidth=\"4\" />\n </pattern>\n );\n })}\n </defs>\n </MuiBarChart>\n );\n}\n","import {\n PieChart as MuiPieChart,\n type PieChartProps as MuiPieChartProps,\n} from \"@mui/x-charts/PieChart\";\nimport { useTheme } from \"@mui/material/styles\";\nimport { useChartColors } from \"./useChartColors\";\n\nexport interface PieChartProps extends Omit<MuiPieChartProps, \"series\"> {\n series?: MuiPieChartProps[\"series\"];\n}\n\nexport function PieChart({ series, colors, ...props }: PieChartProps) {\n const theme = useTheme();\n const chart = theme.palette.chart;\n const sliceCount = series?.[0]?.data?.length ?? 0;\n const seriesColors = useChartColors(sliceCount);\n\n // Set default highlight scope for cool hover fading effects\n const modifiedSeries = series?.map((s) => ({\n ...s,\n highlightScope: s.highlightScope ?? { highlighted: \"item\", faded: \"global\" },\n }));\n\n return (\n <MuiPieChart\n series={modifiedSeries ?? []}\n colors={colors ?? seriesColors}\n slotProps={{\n legend: {\n itemMarkWidth: 12,\n itemMarkHeight: 12,\n padding: { bottom: 20 },\n },\n }}\n sx={{\n \"& .MuiChartsLegend-series text\": {\n fill: `${chart.legendFg} !important`,\n fontFamily: `${theme.typography.fontFamily} !important`,\n fontSize: \"14px !important\",\n },\n \"& .MuiChartsLegend-mark\": {\n ry: 4,\n rx: 4,\n width: 12,\n height: 12,\n },\n \"& .MuiChartsTooltip-root\": {\n fontFamily: theme.typography.fontFamily,\n fontSize: typeof theme.typography.body1.fontSize === \"number\" ? theme.typography.body1.fontSize : 14,\n },\n \"& .MuiChartsTooltip-table\": {\n backgroundColor: chart.tooltipBg,\n color: chart.tooltipFg,\n borderRadius: theme.shape.borderRadius,\n boxShadow: theme.shadows[4],\n },\n ...((props.sx as object) ?? {}),\n }}\n {...props}\n />\n );\n}\n"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/provider/ForestProvider.tsx","../src/theme/buildTheme.ts","../src/theme/tokens.ts","../src/theme/palette.ts","../src/theme/typography.ts","../src/theme/shadows.ts","../src/theme/components.ts","../src/theme/presets/forest-external.ts","../src/theme/presets/forest-agency.ts","../src/theme/presets/forest-internal.ts","../src/theme/presets/forest-alkemy-plus.ts","../src/theme/presets/index.ts","../src/theme/index.ts","../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/MultiSelect/index.tsx","../src/components/Switch/index.tsx","../src/components/TextField/index.tsx","../src/components/Search/index.tsx","../../../node_modules/@mui/icons-material/esm/utils/createSvgIcon.js","../../../node_modules/@mui/icons-material/esm/Search.js","../../../node_modules/@mui/icons-material/esm/Clear.js","../src/components/Input/index.tsx","../src/components/IconButton/index.tsx","../src/components/Logo/index.tsx","../src/components/ToggleButton/index.tsx","../src/components/DatePicker/index.tsx","../src/components/FormControl/index.tsx","../src/components/InputAdornment/index.tsx","../src/components/InputBase/index.tsx","../src/components/InputLabel/index.tsx","../src/components/OutlinedInput/index.tsx","../src/components/Avatar/index.tsx","../src/components/Badge/index.tsx","../src/components/Chip/index.tsx","../../../node_modules/@mui/icons-material/esm/CloseOutlined.js","../src/components/Divider/index.tsx","../src/components/ImageList/index.tsx","../src/components/List/index.tsx","../src/components/Rating/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/CardActionArea/index.tsx","../src/components/Drawer/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/Modal/index.tsx","../src/components/Popover/index.tsx","../src/components/Snackbar/index.tsx","../src/components/SnackbarContent/index.tsx","../src/components/BottomNavigation/index.tsx","../src/components/Breadcrumbs/index.tsx","../src/components/Link/index.tsx","../src/components/Menu/index.tsx","../src/components/MobileStepper/index.tsx","../src/components/Pagination/index.tsx","../src/components/PaginationItem/index.tsx","../src/components/SpeedDial/index.tsx","../src/components/Stepper/index.tsx","../src/components/Tabs/index.tsx","../src/components/TabScrollButton/index.tsx","../src/components/Sidebar/index.tsx","../../../node_modules/@mui/icons-material/esm/ChevronLeftOutlined.js","../../../node_modules/@mui/icons-material/esm/ChevronRightOutlined.js","../src/components/Box/index.tsx","../src/components/Stack/index.tsx","../src/components/Grid/index.tsx","../src/components/Container/index.tsx","../src/components/Collapse/index.tsx","../src/components/Fade/index.tsx","../src/components/Grow/index.tsx","../src/components/Slide/index.tsx","../src/components/Zoom/index.tsx","../src/components/ButtonBase/index.tsx","../src/components/ClickAwayListener/index.tsx","../src/components/GlobalStyles/index.tsx","../src/components/NoSsr/index.tsx","../src/components/Popper/index.tsx","../src/components/Portal/index.tsx","../src/components/Slider/index.tsx","../src/components/SvgIcon/index.tsx","../src/components/TextareaAutosize/index.tsx","../src/components/Charts/LineChart.tsx","../src/components/Charts/useChartColors.ts","../src/components/Charts/CustomTooltip.tsx","../src/components/Charts/BarChart.tsx","../src/components/Charts/PieChart.tsx","../src/components/Charts/ScatterChart.tsx","../src/components/Charts/chartSx.ts","../src/components/Charts/Gauge.tsx","../src/components/Charts/index.ts"],"sourcesContent":["// Provider\nexport { ForestProvider, type ForestProviderProps } from \"./provider/ForestProvider\";\n\n// Theme\nexport { forestTheme, forestThemeOptions } from \"./theme\";\n\n// Preset system\nexport {\n buildTheme,\n buildThemeOptions,\n getPreset,\n registerPreset,\n getAvailablePresets,\n forestExternalPreset,\n forestAgencyPreset,\n forestInternalPreset,\n forestAlkemyPlusPreset,\n} from \"./theme\";\nexport type { DesignTokens, PresetVariantConfig, ThemePreset } from \"./theme\";\n\n// Tokens (for consumers who need raw values)\nexport {\n base,\n error,\n warning,\n success,\n info,\n spacing,\n radius,\n shadows as tokenShadows,\n focusRings,\n fontFamily,\n fontFamilyMono,\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} from \"./theme/tokens\";\n\n// Components — Inputs\nexport {\n Autocomplete,\n type AutocompleteProps,\n Button,\n type ButtonProps,\n ButtonGroup,\n type ButtonGroupProps,\n Checkbox,\n type CheckboxProps,\n Fab,\n type FabProps,\n IconButton,\n type IconButtonProps,\n RadioGroup,\n Radio,\n type RadioGroupProps,\n type RadioProps,\n Select,\n MenuItem,\n type SelectProps,\n type MenuItemProps,\n MultiSelect,\n type MultiSelectProps,\n type MultiSelectOption,\n Switch,\n type SwitchProps,\n TextField,\n type TextFieldProps,\n Search,\n type SearchProps,\n Input,\n type InputProps,\n ToggleButton,\n ToggleButtonGroup,\n type ToggleButtonProps,\n type ToggleButtonGroupProps,\n DatePicker,\n type DatePickerProps,\n Logo,\n type LogoProps,\n FormControl,\n FormControlLabel,\n FormGroup,\n FormHelperText,\n FormLabel,\n type FormControlProps,\n type FormControlLabelProps,\n type FormGroupProps,\n type FormHelperTextProps,\n type FormLabelProps,\n InputAdornment,\n type InputAdornmentProps,\n InputBase,\n type InputBaseProps,\n InputLabel,\n type InputLabelProps,\n OutlinedInput,\n FilledInput,\n type OutlinedInputProps,\n type FilledInputProps,\n} from \"./components\";\n\n// Components — Data display\nexport {\n Avatar,\n AvatarGroup,\n type AvatarProps,\n type AvatarGroupProps,\n Badge,\n type BadgeProps,\n Chip,\n type ChipProps,\n type ForestChipColor,\n type ForestChipProps,\n Divider,\n type DividerProps,\n ImageList,\n ImageListItem,\n ImageListItemBar,\n type ImageListProps,\n type ImageListItemProps,\n type ImageListItemBarProps,\n List,\n ListItem,\n ListItemButton,\n ListItemIcon,\n ListItemText,\n ListItemAvatar,\n ListSubheader,\n ListItemSecondaryAction,\n type ListProps,\n type ListItemProps,\n type ListItemButtonProps,\n type ListItemIconProps,\n type ListItemTextProps,\n type ListItemAvatarProps,\n type ListSubheaderProps,\n type ListItemSecondaryActionProps,\n DataGrid,\n type DataGridProps,\n type GridColDef,\n type GridRowsProp,\n type GridRowParams,\n type GridCellParams,\n type GridRenderCellParams,\n type GridRowSelectionModel,\n type GridSortModel,\n type GridFilterModel,\n type GridPaginationModel,\n Rating,\n type RatingProps,\n Table,\n TableBody,\n TableCell,\n TableContainer,\n TableHead,\n TableRow,\n TableFooter,\n TablePagination,\n TableSortLabel,\n type TableProps,\n type TableBodyProps,\n type TableCellProps,\n type TableContainerProps,\n type TableHeadProps,\n type TableRowProps,\n type TableFooterProps,\n type TablePaginationProps,\n type TableSortLabelProps,\n Tooltip,\n type TooltipProps,\n Typography,\n type TypographyProps,\n} from \"./components\";\n\n// Components — Surfaces\nexport {\n Accordion,\n AccordionSummary,\n AccordionDetails,\n AccordionActions,\n type AccordionProps,\n type AccordionSummaryProps,\n type AccordionDetailsProps,\n type AccordionActionsProps,\n AppBar,\n Toolbar,\n AppBarNavItem,\n type AppBarProps,\n type ToolbarProps,\n type AppBarNavItemProps,\n Card,\n CardContent,\n CardHeader,\n CardActions,\n CardMedia,\n type CardProps,\n type ForestCardColor,\n type CardContentProps,\n type CardHeaderProps,\n type CardActionsProps,\n type CardMediaProps,\n CardActionArea,\n type CardActionAreaProps,\n Drawer,\n SwipeableDrawer,\n type DrawerProps,\n type SwipeableDrawerProps,\n Paper,\n type PaperProps,\n} from \"./components\";\n\n// Components — Feedback\nexport {\n Alert,\n AlertTitle,\n type AlertProps,\n type AlertTitleProps,\n Backdrop,\n type BackdropProps,\n Dialog,\n DialogTitle,\n DialogContent,\n DialogActions,\n DialogContentText,\n type DialogProps,\n type DialogTitleProps,\n type DialogContentProps,\n type DialogActionsProps,\n type DialogContentTextProps,\n LinearProgress,\n CircularProgress,\n type LinearProgressProps,\n type CircularProgressProps,\n Skeleton,\n type SkeletonProps,\n Modal,\n type ModalProps,\n Popover,\n type PopoverProps,\n Snackbar,\n type SnackbarProps,\n SnackbarContent,\n type SnackbarContentProps,\n} from \"./components\";\n\n// Components — Navigation\nexport {\n BottomNavigation,\n BottomNavigationAction,\n type BottomNavigationProps,\n type BottomNavigationActionProps,\n Breadcrumbs,\n type BreadcrumbsProps,\n Link,\n type LinkProps,\n Menu,\n MenuList,\n type MenuProps,\n type MenuListProps,\n MobileStepper,\n type MobileStepperProps,\n Pagination,\n type PaginationProps,\n PaginationItem,\n type PaginationItemProps,\n SpeedDial,\n SpeedDialAction,\n SpeedDialIcon,\n type SpeedDialProps,\n type SpeedDialActionProps,\n type SpeedDialIconProps,\n Stepper,\n Step,\n StepLabel,\n StepButton,\n StepConnector,\n StepContent,\n StepIcon,\n type StepperProps,\n type StepProps,\n type StepLabelProps,\n type StepButtonProps,\n type StepConnectorProps,\n type StepContentProps,\n type StepIconProps,\n Tabs,\n Tab,\n type TabsProps,\n type TabProps,\n TabScrollButton,\n type TabScrollButtonProps,\n SidebarNav,\n useSidebar,\n SidebarItem,\n type SidebarNavProps,\n type SidebarItemProps,\n} from \"./components\";\n\n// Components — Transitions\nexport {\n Collapse,\n type CollapseProps,\n Fade,\n type FadeProps,\n Grow,\n type GrowProps,\n Slide,\n type SlideProps,\n Zoom,\n type ZoomProps,\n} from \"./components\";\n\n// Components — Utilities\nexport {\n ButtonBase,\n type ButtonBaseProps,\n ClickAwayListener,\n type ClickAwayListenerProps,\n GlobalStyles,\n type GlobalStylesProps,\n NoSsr,\n Popper,\n type PopperProps,\n Portal,\n Slider,\n type SliderProps,\n SvgIcon,\n type SvgIconProps,\n TextareaAutosize,\n} from \"./components\";\n\n// Components — Layout\nexport {\n Box,\n type BoxProps,\n Stack,\n type StackProps,\n Grid,\n type GridProps,\n Container,\n type ContainerProps,\n} from \"./components\";\n\n// Components — Charts (Forest-themed)\nexport {\n LineChart,\n type LineChartProps,\n BarChart,\n type BarChartProps,\n PieChart,\n type PieChartProps,\n useChartColors,\n} from \"./components\";\n\n// Charts — Additional chart types\nexport { ScatterChart, SparkLineChart } from \"./components\";\nexport { Gauge, GaugeContainer, GaugeReferenceArc, GaugeValueArc, GaugeValueText } from \"./components\";\n\n// Charts — Composition primitives\nexport {\n ChartContainer,\n ResponsiveChartContainer,\n ChartsSurface,\n ChartsClipPath,\n ChartsAxis,\n ChartsXAxis,\n ChartsYAxis,\n ChartsGrid,\n ChartsReferenceLine,\n ChartsLegend,\n DefaultChartsLegend,\n ChartsTooltip,\n ChartsAxisTooltipContent,\n ChartsItemTooltipContent,\n DefaultChartsAxisTooltipContent,\n DefaultChartsItemTooltipContent,\n ChartsTooltipCell,\n ChartsTooltipMark,\n ChartsTooltipPaper,\n ChartsTooltipRow,\n ChartsTooltipTable,\n ContinuousColorLegend,\n PiecewiseColorLegend,\n ChartsText,\n ChartsAxisHighlight,\n ChartsAxisHighlightPath,\n ChartsOnAxisClickHandler,\n ChartsVoronoiHandler,\n HighlightedProvider,\n} from \"./components\";\n\n// Charts — Plot layers\nexport {\n BarPlot,\n BarElement,\n BarElementPath,\n BarLabel,\n LinePlot,\n LineElement,\n LineElementPath,\n AreaPlot,\n AreaElement,\n AreaElementPath,\n LineHighlightPlot,\n LineHighlightElement,\n MarkPlot,\n MarkElement,\n AnimatedArea,\n AnimatedLine,\n PiePlot,\n PieArc,\n PieArcPlot,\n PieArcLabel,\n PieArcLabelPlot,\n ScatterPlot,\n Scatter,\n} from \"./components\";\n\n// Charts — Hooks\nexport {\n useDrawingArea,\n useChartId,\n useSvgRef,\n useXAxis,\n useXScale,\n useXColorScale,\n useYAxis,\n useYScale,\n useYColorScale,\n useZColorScale,\n useAxisTooltip,\n useItemTooltip,\n useMouseTracker,\n useHighlighted,\n useItemHighlighted,\n useGaugeState,\n} from \"./components\";\n\n// Charts — Palettes\nexport {\n blueberryTwilightPalette,\n blueberryTwilightPaletteDark,\n blueberryTwilightPaletteLight,\n cheerfulFiestaPalette,\n cheerfulFiestaPaletteDark,\n cheerfulFiestaPaletteLight,\n mangoFusionPalette,\n mangoFusionPaletteDark,\n mangoFusionPaletteLight,\n} from \"./components\";\n\n// Charts — Utilities\nexport { getSeriesToDisplay, getPieCoordinates } from \"./components\";\n\n// Hooks\nexport { useMediaQuery } from \"@mui/material\";\nexport { useScrollTrigger } from \"@mui/material\";\nexport { useFormControl } from \"@mui/material\";\nexport { useTheme } from \"@mui/material\";\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 { createTheme, type Theme, type ThemeOptions } from \"@mui/material/styles\";\nimport type { DesignTokens } from \"./types\";\nimport { buildPalette } from \"./palette\";\nimport { buildTypography } from \"./typography\";\nimport { buildShadows } from \"./shadows\";\nimport { buildComponents } from \"./components\";\n\n/** Assemble a MUI ThemeOptions object from a full set of design tokens. */\nexport function buildThemeOptions(tokens: DesignTokens): ThemeOptions {\n return {\n palette: buildPalette(tokens),\n typography: buildTypography(tokens),\n components: buildComponents(tokens),\n shadows: buildShadows(tokens),\n shape: {\n borderRadius: tokens.radius.md,\n },\n };\n}\n\n/** Create a fully resolved MUI Theme from a full set of design tokens. */\nexport function buildTheme(tokens: DesignTokens): Theme {\n return createTheme(buildThemeOptions(tokens));\n}\n","/**\n * Design tokens extracted from Figma.\n * These are the primitive values that the semantic theme references.\n */\n\n// ─── Named Primitive Color Scales ────────────────────────────────────\n\nexport const violet = {\n 25: \"#faf8ff\",\n 50: \"#f5f0ff\",\n 100: \"#ebe0ff\",\n 200: \"#d6c0ff\",\n 300: \"#b090ff\",\n 400: \"#9D5FFF\",\n 500: \"#7c4de6\",\n 600: \"#5b3acc\",\n 700: \"#3a1aad\",\n 800: \"#190a8a\",\n 900: \"#000066\",\n 950: \"#000033\",\n} as const;\n\nexport const magenta = {\n 25: \"#fff8fd\",\n 50: \"#fff0fa\",\n 100: \"#ffe0f5\",\n 200: \"#ffc0eb\",\n 300: \"#ff90d8\",\n 400: \"#FF78F3\",\n 500: \"#e650d4\",\n 600: \"#cc28b5\",\n 700: \"#a3008c\",\n 800: \"#7a0066\",\n 900: \"#520044\",\n 950: \"#290022\",\n} as const;\n\nexport const gray = {\n 25: \"#fdfcfc\",\n 50: \"#faf9f8\",\n 100: \"#f5f3f1\",\n 200: \"#e8e5e3\",\n 300: \"#d8d8dc\",\n 400: \"#a0a0a6\",\n 500: \"#71717a\",\n 600: \"#52525b\",\n 700: \"#3f3f46\",\n 800: \"#27272a\",\n 900: \"#18181b\",\n 950: \"#09090b\",\n} as const;\n\nexport const red = {\n 25: \"#fff8f7\",\n 50: \"#fff0ee\",\n 100: \"#ffe0dd\",\n 200: \"#ffc0bb\",\n 300: \"#ff9090\",\n 400: \"#FF2821\",\n 500: \"#e61a1a\",\n 600: \"#cc1010\",\n 700: \"#a30808\",\n 800: \"#7a0000\",\n 900: \"#520000\",\n 950: \"#290000\",\n} as const;\n\n// ─── Misc Chart Scales ────────────────────────────────────────────────\n\nexport const misc = {\n teal: {\n 25: \"#f6fefc\", 50: \"#f0fdf9\", 100: \"#ccfbef\", 200: \"#99f6e0\",\n 300: \"#5fe9d0\", 400: \"#2ed3b7\", 500: \"#15b79e\", 600: \"#0e9384\",\n 700: \"#107569\", 800: \"#125d56\", 900: \"#134e48\", 950: \"#0a2926\",\n },\n orange: {\n 25: \"#fefaf5\", 50: \"#fef6ee\", 100: \"#fdead7\", 200: \"#f9dbaf\",\n 300: \"#f7b27a\", 400: \"#f38744\", 500: \"#ef6820\", 600: \"#e04f16\",\n 700: \"#b93815\", 800: \"#932f19\", 900: \"#772917\", 950: \"#511c10\",\n },\n purple: {\n 25: \"#fafaff\", 50: \"#f4f3ff\", 100: \"#ebe9fe\", 200: \"#d9d6fe\",\n 300: \"#bdb4fe\", 400: \"#9b8afb\", 500: \"#7a5af8\", 600: \"#6938ef\",\n 700: \"#5925dc\", 800: \"#4a1fb8\", 900: \"#3e1c96\", 950: \"#27115f\",\n },\n pink: {\n 25: \"#fef6fb\", 50: \"#fdf2fa\", 100: \"#fce7f6\", 200: \"#fcceee\",\n 300: \"#faa7e0\", 400: \"#f670c7\", 500: \"#ee46bc\", 600: \"#dd2590\",\n 700: \"#c11574\", 800: \"#9e165f\", 900: \"#851651\", 950: \"#4e0d30\",\n },\n fuchsia: {\n 25: \"#fefaff\", 50: \"#fdf4ff\", 100: \"#fbe8ff\", 200: \"#f6d0fe\",\n 300: \"#eeaafd\", 400: \"#e478fa\", 500: \"#d444f1\", 600: \"#ba24d5\",\n 700: \"#9f1ab1\", 800: \"#821890\", 900: \"#6f1877\", 950: \"#47104c\",\n },\n orangeDark: {\n 25: \"#fff9f5\", 50: \"#fff4ed\", 100: \"#ffe6d5\", 200: \"#ffd6ae\",\n 300: \"#ff9c66\", 400: \"#ff692e\", 500: \"#ff4405\", 600: \"#e62e05\",\n 700: \"#bc1b06\", 800: \"#97180c\", 900: \"#771a0d\", 950: \"#57130a\",\n },\n green: {\n 25: \"#f6fef9\", 50: \"#edfcf2\", 100: \"#d3f8df\", 200: \"#aaf0c4\",\n 300: \"#73e2a3\", 400: \"#3ccb7f\", 500: \"#16b364\", 600: \"#099250\",\n 700: \"#087443\", 800: \"#095c37\", 900: \"#084c2e\", 950: \"#052e1c\",\n },\n indigo: {\n 25: \"#f5f8ff\", 50: \"#eef4ff\", 100: \"#e0eaff\", 200: \"#c7d7fe\",\n 300: \"#a4bcfd\", 400: \"#8098f9\", 500: \"#6172f3\", 600: \"#444ce7\",\n 700: \"#3538cd\", 800: \"#2d31a6\", 900: \"#2d3282\", 950: \"#1f235b\",\n },\n rose: {\n 25: \"#fff5f6\", 50: \"#fff1f3\", 100: \"#ffe4e8\", 200: \"#fecdd6\",\n 300: \"#fea3b4\", 400: \"#fd6f8e\", 500: \"#f63d68\", 600: \"#e31b54\",\n 700: \"#c01048\", 800: \"#a11043\", 900: \"#89123e\", 950: \"#510b24\",\n },\n blueLight: {\n 25: \"#f5fbff\", 50: \"#f0f9ff\", 100: \"#e0f2fe\", 200: \"#b9e6fe\",\n 300: \"#7cd4fd\", 400: \"#36bffa\", 500: \"#0ba5ec\", 600: \"#0086c9\",\n 700: \"#026aa2\", 800: \"#065986\", 900: \"#0b4a6f\", 950: \"#062c41\",\n },\n cyan: {\n 25: \"#f5feff\", 50: \"#ecfdff\", 100: \"#cff9fe\", 200: \"#a5f0fc\",\n 300: \"#67e3f9\", 400: \"#22ccee\", 500: \"#06aed4\", 600: \"#088ab2\",\n 700: \"#0e7090\", 800: \"#155b75\", 900: \"#164c63\", 950: \"#0d2d3a\",\n },\n} as const;\n\n// ─── Base Colors ────────────────────────────────────────────────────\n\nexport const base = {\n white: \"#ffffff\",\n black: \"#000000\",\n transparent: \"#ffffff00\",\n} as const;\n\n// ─── Status Scales ─────────────────────────────────────────────────\n\nexport const error = {\n 25: \"#fffbfa\",\n 50: \"#fef3f2\",\n 100: \"#fee4e2\",\n 200: \"#fecdca\",\n 300: \"#fda29b\",\n 400: \"#f97066\",\n 500: \"#f04438\",\n 600: \"#d92d20\",\n 700: \"#b42318\",\n 800: \"#912018\",\n 900: \"#7a271a\",\n 950: \"#55160c\",\n} as const;\n\nexport const warning = {\n 25: \"#fffcf5\",\n 50: \"#fffaeb\",\n 100: \"#fef0c7\",\n 200: \"#fedf89\",\n 300: \"#fec84b\",\n 400: \"#fdb022\",\n 500: \"#f79009\",\n 600: \"#dc6803\",\n 700: \"#b54708\",\n 800: \"#93370d\",\n 900: \"#7a2e0e\",\n 950: \"#4e1d09\",\n} as const;\n\nexport const success = {\n 25: \"#f6fef9\",\n 50: \"#ecfdf3\",\n 100: \"#dcfae6\",\n 200: \"#abefc6\",\n 300: \"#75e0a7\",\n 400: \"#47cd89\",\n 500: \"#17b26a\",\n 600: \"#079455\",\n 700: \"#067647\",\n 800: \"#085d3a\",\n 900: \"#074d31\",\n 950: \"#053321\",\n} as const;\n\nexport const info = {\n 25: \"#f5faff\",\n 50: \"#eff8ff\",\n 100: \"#d1e9ff\",\n 200: \"#b2ddff\",\n 300: \"#84caff\",\n 400: \"#53b1fd\",\n 500: \"#2e90fa\",\n 600: \"#1570ef\",\n 700: \"#175cd3\",\n 800: \"#1849a9\",\n 900: \"#194185\",\n 950: \"#102a56\",\n} as const;\n\n// ─── Spacing ────────────────────────────────────────────────────────\n\nexport const spacing = {\n none: 0,\n xxs: 2,\n xs: 4,\n sm: 6,\n md: 8,\n lg: 12,\n xl: 16,\n \"2xl\": 20,\n \"3xl\": 24,\n \"4xl\": 32,\n \"5xl\": 40,\n \"6xl\": 48,\n \"7xl\": 64,\n \"8xl\": 80,\n \"9xl\": 96,\n \"10xl\": 128,\n \"11xl\": 160,\n} as const;\n\n// ─── Border Radius ──────────────────────────────────────────────────\n\nexport const radius = {\n none: 0,\n xxs: 2,\n xs: 4,\n sm: 6,\n md: 8,\n lg: 10,\n xl: 12,\n \"2xl\": 16,\n \"3xl\": 20,\n \"4xl\": 24,\n full: 9999,\n} as const;\n\n// ─── Shadows ────────────────────────────────────────────────────────\n\nexport const shadows = {\n xs: \"0px 1px 2px 0px #1018280d\",\n sm: \"0px 1px 3px 0px #1018281a, 0px 1px 2px 0px #1018280f\",\n md: \"0px 4px 8px -2px #1018281a, 0px 2px 4px -2px #1018280f\",\n lg: \"0px 12px 16px -4px #10182814, 0px 4px 6px -2px #10182808\",\n xl: \"0px 20px 24px -4px #10182814, 0px 8px 8px -4px #10182808\",\n \"2xl\": \"0px 24px 48px -12px #1018282e\",\n \"3xl\": \"0px 32px 64px -12px #10182824\",\n} as const;\n\n// ─── Focus Rings ────────────────────────────────────────────────────\n\nexport const focusRings = {\n brand: \"0px 0px 0px 4px #7c4de63d\",\n brandShadowXs: \"0px 1px 2px 0px #1018280d, 0px 0px 0px 4px #7c4de63d\",\n brandShadowSm: \"0px 1px 3px 0px #1018281a, 0px 1px 2px 0px #1018280f, 0px 0px 0px 4px #7c4de63d\",\n gray: \"0px 0px 0px 4px #a0a0a624\",\n grayShadowXs: \"0px 1px 2px 0px #1018280d, 0px 0px 0px 4px #a0a0a624\",\n grayShadowSm: \"0px 1px 3px 0px #1018281a, 0px 1px 2px 0px #1018280f, 0px 0px 0px 4px #a0a0a624\",\n error: \"0px 0px 0px 4px #f044383d\",\n errorShadowXs: \"0px 1px 2px 0px #1018280d, 0px 0px 0px 4px #f044383d\",\n} as const;\n\n// ─── Typography ─────────────────────────────────────────────────────\n\nexport const fontFamily = '\"Aeonik\", sans-serif';\nexport const fontFamilyMono = '\"Aeonik Mono\", monospace';\n\nexport const fontSize = {\n xxs: 11,\n xs: 12,\n sm: 14,\n md: 16,\n lg: 18,\n xl: 20,\n} as const;\n\nexport const lineHeight = {\n xxs: \"16px\",\n xs: \"18px\",\n sm: \"20px\",\n md: \"24px\",\n lg: \"28px\",\n xl: \"30px\",\n} as const;\n\nexport const fontWeight = {\n regular: 400,\n medium: 500,\n semibold: 600,\n bold: 700,\n} as const;\n\n// ─── Display Typography ─────────────────────────────────────────────\n\nexport const display = {\n \"2xl\": { fontSize: 72, lineHeight: \"90px\", letterSpacing: \"-0.02em\" },\n xl: { fontSize: 60, lineHeight: \"72px\", letterSpacing: \"-0.02em\" },\n lg: { fontSize: 48, lineHeight: \"60px\", letterSpacing: \"-0.02em\" },\n md: { fontSize: 36, lineHeight: \"44px\", letterSpacing: \"-0.02em\" },\n sm: { fontSize: 30, lineHeight: \"38px\" },\n xs: { fontSize: 24, lineHeight: \"32px\" },\n} as const;\n\n// ─── Container ──────────────────────────────────────────────────────\n\nexport const container = {\n maxWidthDesktop: 1280,\n paddingDesktop: 32,\n paddingMobile: 16,\n} as const;\n\n// ─── Width Breakpoints ──────────────────────────────────────────────\n\nexport const widths = {\n xxs: 320,\n xs: 384,\n sm: 480,\n md: 560,\n lg: 640,\n xl: 768,\n \"2xl\": 1024,\n \"3xl\": 1280,\n \"4xl\": 1440,\n \"5xl\": 1600,\n \"6xl\": 1920,\n} as const;\n\n// ─── Semantic Colors — Text ───────────────────────────────────────\n\nexport const text = {\n primary: gray[900],\n secondary: gray[700],\n secondaryHover: gray[800],\n tertiary: gray[600],\n tertiaryHover: gray[700],\n quaternary: gray[500],\n disabled: gray[500],\n placeholder: gray[500],\n placeholderSubtle: gray[300],\n white: base.white,\n brandPrimary: violet[900],\n brandSecondary: violet[700],\n brandTertiary: violet[600],\n brandTertiaryAlt: violet[600],\n primaryOnBrand: base.white,\n secondaryOnBrand: violet[200],\n tertiaryOnBrand: violet[200],\n quaternaryOnBrand: violet[300],\n errorPrimary: error[600],\n warningPrimary: warning[600],\n successPrimary: success[600],\n} as const;\n\n// ─── Semantic Colors — Background ─────────────────────────────────\n\nexport const bg = {\n primary: gray[50],\n primaryAlt: gray[50],\n primaryHover: gray[100],\n primarySolid: gray[950],\n secondary: base.white,\n secondaryAlt: base.white,\n secondarySubtle: gray[25],\n secondaryHover: gray[50],\n secondarySolid: gray[600],\n tertiary: gray[100],\n quaternary: gray[200],\n active: gray[200],\n disabled: gray[100],\n disabledSubtle: gray[50],\n overlay: gray[950],\n brandPrimary: violet[50],\n brandPrimaryAlt: violet[50],\n brandSecondary: violet[100],\n brandSolid: violet[600],\n brandSolidHover: violet[700],\n brandSection: violet[800],\n brandSectionSubtle: violet[700],\n errorPrimary: error[50],\n errorSecondary: error[100],\n errorSolid: error[600],\n warningPrimary: warning[50],\n warningSecondary: warning[100],\n warningSolid: warning[600],\n successPrimary: success[50],\n successSecondary: success[100],\n successSolid: success[600],\n} as const;\n\n// ─── Semantic Colors — Foreground ─────────────────────────────────\n\nexport const fg = {\n primary: gray[900],\n secondary: gray[700],\n secondaryHover: gray[800],\n tertiary: gray[600],\n tertiaryHover: gray[700],\n quaternary: gray[500],\n quaternaryHover: gray[600],\n quinary: gray[400],\n quinaryHover: gray[500],\n senary: gray[300],\n white: base.white,\n disabled: gray[400],\n disabledSubtle: gray[300],\n brandPrimary: violet[600],\n brandPrimaryAlt: violet[600],\n brandSecondary: violet[500],\n errorPrimary: error[600],\n errorSecondary: error[500],\n warningPrimary: warning[600],\n warningSecondary: warning[500],\n successPrimary: success[600],\n successSecondary: success[500],\n} as const;\n\n// ─── Semantic Colors — Border ─────────────────────────────────────\n\nexport const border = {\n primary: gray[300],\n secondary: gray[200],\n tertiary: gray[100],\n disabled: gray[300],\n disabledSubtle: gray[200],\n brand: violet[300],\n brandSolid: violet[600],\n brandSolidAlt: violet[600],\n error: error[300],\n errorSolid: error[600],\n} as const;\n\n// ─── Component Colors — Buttons ───────────────────────────────────\n\nexport const buttonColors = {\n primary: {\n bg: violet[600],\n bgHover: violet[700],\n fg: base.white,\n fgHover: base.white,\n border: violet[600],\n borderHover: violet[700],\n },\n secondary: {\n bg: gray[900],\n bgHover: gray[950],\n fg: base.white,\n fgHover: base.white,\n border: gray[900],\n borderHover: gray[950],\n },\n secondaryColor: {\n bg: base.white,\n bgHover: violet[50],\n fg: violet[700],\n fgHover: violet[800],\n border: violet[300],\n borderHover: violet[300],\n },\n tertiary: {\n fg: gray[600],\n fgHover: gray[700],\n bgHover: gray[50],\n },\n tertiaryColor: {\n fg: violet[700],\n fgHover: violet[800],\n bgHover: violet[50],\n },\n primaryError: {\n bg: error[600],\n bgHover: error[700],\n fg: base.white,\n fgHover: base.white,\n border: error[600],\n borderHover: error[700],\n },\n secondaryError: {\n bg: base.white,\n bgHover: error[50],\n fg: error[700],\n fgHover: error[800],\n border: error[300],\n borderHover: error[300],\n },\n tertiaryError: {\n fg: error[700],\n fgHover: error[800],\n bgHover: error[50],\n },\n} as const;\n\n// ─── Component Colors — Avatars ───────────────────────────────────\n\nexport const avatarColors = {\n bg: gray[100],\n contrastBorder: \"#00000014\",\n profilePhotoBorder: base.white,\n focusBorder: \"#a0a0a624\",\n} as const;\n\n// ─── Component Colors — Breadcrumbs ───────────────────────────────\n\nexport const breadcrumbColors = {\n fg: gray[600],\n fgHover: gray[700],\n bgHover: gray[50],\n brandBgHover: violet[50],\n brandFgHover: violet[700],\n iconFg: gray[500],\n iconFgHover: gray[700],\n brandIconFgHover: violet[700],\n} as const;\n\n// ─── Component Colors — Icons ─────────────────────────────────────\n\nexport const iconColors = {\n fgBrand: violet[600],\n fgBrandOnBrand: violet[200],\n featuredModernBorder: gray[200],\n featuredLightFgBrand: violet[600],\n featuredLightFgGray: gray[500],\n featuredLightFgError: error[600],\n featuredLightFgWarning: warning[600],\n featuredLightFgSuccess: success[600],\n featuredDarkFgBrand: base.white,\n featuredDarkFgGray: base.white,\n featuredDarkFgError: base.white,\n featuredDarkFgWarning: base.white,\n featuredDarkFgSuccess: base.white,\n} as const;\n\n// ─── Component Colors — Navigation ───────────────────────────────\n\nexport const navColors = {\n itemIconFg: gray[500],\n itemIconFgActive: gray[700],\n itemButtonIconFg: gray[500],\n itemButtonIconFgActive: gray[700],\n} as const;\n\n// ─── Component Colors — Sliders ───────────────────────────────────\n\nexport const sliderColors = {\n handleBorder: violet[600],\n handleBg: base.white,\n} as const;\n\n// ─── Component Colors — Toggles ───────────────────────────────────\n\nexport const toggleColors = {\n buttonFgDisabled: gray[50],\n} as const;\n\n// ─── Component Colors — Charts ────────────────────────────────────\n\nexport const chartColors = {\n axisFg: gray[100],\n gridlineFg: gray[100],\n labelFg: gray[600],\n labelFgEmphasis: gray[700],\n bg: base.white,\n bgAlt: gray[50],\n tooltipBg: gray[950],\n tooltipFg: base.white,\n crosshairFg: gray[500],\n legendFg: text.tertiary,\n series: [\n { fg: misc.purple[500], fgHover: misc.purple[600], bg: misc.purple[100], bgHover: misc.purple[200] },\n { fg: misc.orangeDark[400], fgHover: misc.orangeDark[500], bg: misc.orangeDark[100], bgHover: misc.orangeDark[200] },\n { fg: misc.teal[300], fgHover: misc.teal[400], bg: misc.teal[50], bgHover: misc.teal[100] },\n { fg: warning[400], fgHover: warning[500], bg: warning[100], bgHover: warning[200] },\n { fg: misc.rose[400], fgHover: misc.rose[500], bg: misc.rose[100], bgHover: misc.rose[200] },\n { fg: misc.blueLight[400], fgHover: misc.blueLight[500], bg: misc.blueLight[100], bgHover: misc.blueLight[200] },\n { fg: misc.orange[300], fgHover: misc.orange[400], bg: misc.orange[100], bgHover: misc.orange[200] },\n { fg: misc.cyan[600], fgHover: misc.cyan[700], bg: misc.cyan[100], bgHover: misc.cyan[200] },\n { fg: misc.green[500], fgHover: misc.green[600], bg: misc.green[100], bgHover: misc.green[200] },\n { fg: misc.pink[400], fgHover: misc.pink[500], bg: misc.pink[100], bgHover: misc.pink[200] },\n { fg: misc.fuchsia[400], fgHover: misc.fuchsia[500], bg: misc.fuchsia[100], bgHover: misc.fuchsia[200] },\n { fg: misc.teal[600], fgHover: misc.teal[700], bg: misc.teal[100], bgHover: misc.teal[200] },\n ],\n} as const;\n\n// ─── Alpha Colors ─────────────────────────────────────────────────\n\nexport const alpha = {\n white: {\n 10: \"#ffffff1a\",\n 20: \"#ffffff33\",\n 30: \"#ffffff4d\",\n 40: \"#ffffff66\",\n 50: \"#ffffff80\",\n 60: \"#ffffff99\",\n 70: \"#ffffffb3\",\n 80: \"#ffffffcc\",\n 90: \"#ffffffe6\",\n 100: \"#ffffff\",\n },\n black: {\n 10: \"#0000001a\",\n 20: \"#00000033\",\n 30: \"#0000004d\",\n 40: \"#00000066\",\n 50: \"#00000080\",\n 60: \"#00000099\",\n 70: \"#000000b3\",\n 80: \"#000000cc\",\n 90: \"#000000e6\",\n 100: \"#000000\",\n },\n} as const;\n","import type { PaletteOptions } from \"@mui/material/styles\";\nimport type { DesignTokens } from \"./types\";\nimport { chartColors } from \"./tokens\";\n\n// ─── MUI Palette Augmentation ────────────────────────────────────────\n// Allows consumers to access chart tokens via theme.palette.chart\n\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 { base, error, warning, success, info, text, bg, fg, border } = tokens;\n\n return {\n primary: {\n main: tokens.bg.brandSolid,\n light: tokens.fg.brandPrimary,\n dark: tokens.bg.brandSolidHover,\n contrastText: tokens.base.white,\n },\n secondary: {\n main: tokens.bg.secondarySolid,\n light: tokens.fg.secondary,\n dark: tokens.text.secondaryHover,\n contrastText: tokens.base.white,\n },\n error: {\n main: tokens.error[600],\n light: tokens.error[300],\n dark: tokens.error[700],\n contrastText: tokens.base.white,\n },\n warning: {\n main: tokens.warning[600],\n light: tokens.warning[300],\n dark: tokens.warning[700],\n contrastText: tokens.base.white,\n },\n success: {\n main: tokens.success[600],\n light: tokens.success[300],\n dark: tokens.success[700],\n contrastText: tokens.base.white,\n },\n info: {\n main: tokens.info[600],\n light: tokens.info[300],\n dark: tokens.info[700],\n contrastText: tokens.base.white,\n },\n background: {\n default: bg.primary,\n paper: bg.secondary,\n },\n text: {\n primary: text.primary,\n secondary: text.secondary,\n disabled: text.disabled,\n },\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\n","import type { TypographyVariantsOptions } from \"@mui/material/styles\";\nimport type { DesignTokens } from \"./types\";\n\nexport function buildTypography(tokens: DesignTokens): TypographyVariantsOptions {\n const { fontFamily, display, fontSize, lineHeight, fontWeight } = 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\n","import type { Shadows } from \"@mui/material/styles\";\nimport type { DesignTokens } from \"./types\";\n\nexport function buildShadows(tokens: DesignTokens): Shadows {\n const tokenShadows = tokens.shadows;\n\n // MUI expects exactly 25 shadow entries (indices 0–24).\n // We map our token shadows to sensible elevation levels.\n return [\n \"none\", // 0\n tokenShadows.xs, // 1\n tokenShadows.sm, // 2\n tokenShadows.sm, // 3\n tokenShadows.md, // 4\n tokenShadows.md, // 5\n tokenShadows.md, // 6\n tokenShadows.lg, // 7\n tokenShadows.lg, // 8\n tokenShadows.lg, // 9\n tokenShadows.xl, // 10\n tokenShadows.xl, // 11\n tokenShadows.xl, // 12\n tokenShadows[\"2xl\"], // 13\n tokenShadows[\"2xl\"], // 14\n tokenShadows[\"2xl\"], // 15\n tokenShadows[\"3xl\"], // 16\n tokenShadows[\"3xl\"], // 17\n tokenShadows[\"3xl\"], // 18\n tokenShadows[\"3xl\"], // 19\n tokenShadows[\"3xl\"], // 20\n tokenShadows[\"3xl\"], // 21\n tokenShadows[\"3xl\"], // 22\n tokenShadows[\"3xl\"], // 23\n tokenShadows[\"3xl\"], // 24\n ];\n}\n\n","import type { Components, Theme } from \"@mui/material/styles\";\nimport type { DesignTokens } from \"./types\";\n\nexport function buildComponents(tokens: DesignTokens): Components<Theme> {\n const {\n base,\n error,\n warning,\n success,\n info,\n radius,\n focusRings,\n shadows: tokenShadows,\n text,\n bg,\n fg,\n border,\n buttonColors,\n sliderColors,\n avatarColors,\n breadcrumbColors,\n } = tokens;\n\n return {\n // ─── Button ─────────────────────────────────────────────────────\n MuiButton: {\n defaultProps: {\n disableElevation: true,\n },\n styleOverrides: {\n root: {\n borderRadius: radius.md,\n fontWeight: 600,\n boxShadow: tokenShadows.xs,\n height: 32,\n padding: \"6px 12px\",\n fontSize: 14,\n lineHeight: \"20px\",\n \"&:focus-visible\": {\n boxShadow: focusRings.brandShadowXs,\n },\n },\n containedPrimary: {\n backgroundColor: buttonColors.primary.bg,\n \"&:hover\": {\n backgroundColor: buttonColors.primary.bgHover,\n },\n },\n outlinedPrimary: {\n borderColor: buttonColors.secondaryColor.border,\n color: buttonColors.secondaryColor.fg,\n \"&:hover\": {\n backgroundColor: buttonColors.secondaryColor.bgHover,\n borderColor: buttonColors.secondaryColor.borderHover,\n },\n },\n containedSecondary: {\n backgroundColor: buttonColors.secondary.bg,\n color: buttonColors.secondary.fg,\n border: `1px solid ${buttonColors.secondary.border}`,\n \"&:hover\": {\n backgroundColor: buttonColors.secondary.bgHover,\n borderColor: buttonColors.secondary.borderHover,\n },\n },\n text: {\n boxShadow: \"none\",\n },\n textPrimary: {\n color: buttonColors.tertiaryColor.fg,\n \"&:hover\": {\n backgroundColor: buttonColors.tertiaryColor.bgHover,\n },\n },\n },\n },\n\n // ─── Button Group ───────────────────────────────────────────────\n MuiButtonGroup: {\n defaultProps: {\n disableElevation: true,\n },\n styleOverrides: {\n root: {\n borderRadius: radius.md,\n },\n grouped: {\n \"&:not(:last-of-type)\": {\n borderRight: `1px solid ${buttonColors.primary.borderHover}`,\n },\n },\n },\n },\n\n // ─── IconButton ─────────────────────────────────────────────────\n MuiIconButton: {\n styleOverrides: {\n root: {\n borderRadius: radius.md,\n padding: 6,\n \"& .MuiSvgIcon-root\": {\n fontSize: 20,\n },\n },\n },\n },\n\n // ─── FAB ────────────────────────────────────────────────────────\n MuiFab: {\n styleOverrides: {\n root: {\n boxShadow: tokenShadows.md,\n \"&:hover\": {\n boxShadow: tokenShadows.lg,\n },\n \"&:focus-visible\": {\n boxShadow: focusRings.brandShadowSm,\n },\n },\n primary: {\n backgroundColor: buttonColors.primary.bg,\n \"&:hover\": {\n backgroundColor: buttonColors.primary.bgHover,\n },\n },\n },\n },\n\n // ─── TextField / Input ──────────────────────────────────────────\n MuiTextField: {\n defaultProps: {\n variant: \"outlined\",\n },\n },\n MuiFormControl: {\n styleOverrides: {\n root: {\n \"&:has(.Mui-disabled)\": {\n opacity: 0.5,\n },\n },\n },\n },\n MuiInputBase: {\n styleOverrides: {\n input: {\n \"&::placeholder\": {\n color: text.placeholder,\n WebkitTextFillColor: text.placeholder,\n fontWeight: 400,\n opacity: 1,\n },\n },\n },\n },\n MuiOutlinedInput: {\n styleOverrides: {\n root: {\n borderRadius: radius.md,\n boxShadow: tokenShadows.xs,\n \"&&:hover:not(.Mui-focused):not(.Mui-disabled) .MuiOutlinedInput-notchedOutline\": {\n borderColor: border.brand,\n },\n \"&&.Mui-focused .MuiOutlinedInput-notchedOutline\": {\n borderColor: border.brandSolid,\n borderWidth: 1,\n boxShadow: \"none\",\n },\n \"&&.Mui-error:not(.Mui-focused) .MuiOutlinedInput-notchedOutline\": {\n borderColor: border.error,\n },\n \"&&.Mui-error.Mui-focused .MuiOutlinedInput-notchedOutline\": {\n borderColor: border.errorSolid,\n boxShadow: \"none\",\n },\n \"& .MuiInputAdornment-root .MuiIconButton-root\": {\n color: fg.quaternary,\n \"&:hover\": {\n backgroundColor: bg.primaryHover,\n color: fg.brandPrimary,\n },\n },\n },\n notchedOutline: {\n borderColor: border.primary,\n },\n input: {\n padding: \"6px 12px\",\n fontSize: 14,\n lineHeight: \"20px\",\n },\n },\n },\n MuiFormLabel: {\n styleOverrides: {\n root: {\n color: text.placeholder,\n \"&.Mui-focused\": {\n color: text.placeholder,\n },\n \"&.Mui-error\": {\n color: text.errorPrimary,\n },\n },\n },\n },\n MuiInputLabel: {\n styleOverrides: {\n root: {\n fontSize: 14,\n fontWeight: 500,\n color: text.placeholder,\n \"&.Mui-focused\": {\n color: text.placeholder,\n },\n \"&.Mui-error\": {\n color: text.errorPrimary,\n },\n },\n outlined: {\n transform: \"translate(12px, 6px) scale(1)\",\n \"&.MuiInputLabel-shrink\": {\n transform: \"translate(14px, -9px) scale(0.75)\",\n },\n },\n },\n },\n MuiFormHelperText: {\n styleOverrides: {\n root: {\n fontSize: 14,\n lineHeight: \"20px\",\n marginTop: 6,\n marginLeft: 0,\n \"&.Mui-error\": {\n color: text.errorPrimary,\n },\n },\n },\n },\n\n // ─── Menu ──────────────────────────────────────────────────────\n MuiMenu: {\n defaultProps: {\n autoFocus: false,\n },\n styleOverrides: {\n root: {\n \"& .MuiBackdrop-root\": {\n backgroundColor: \"transparent\",\n },\n },\n },\n },\n\n // ─── Select ─────────────────────────────────────────────────────\n MuiSelect: {\n styleOverrides: {\n select: {\n \"&.MuiSelect-select\": {\n minHeight: \"auto\",\n padding: \"6px 32px 6px 12px\",\n fontSize: 14,\n lineHeight: \"20px\",\n },\n },\n icon: {\n color: text.placeholder,\n right: 8,\n },\n },\n },\n MuiMenuItem: {\n styleOverrides: {\n root: {\n borderRadius: radius.md,\n padding: \"6px 8px\",\n gap: 4,\n \"&:hover\": {\n backgroundColor: bg.primaryHover,\n },\n },\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: buttonColors.primary.bgHover,\n },\n \"&.Mui-focusVisible\": {\n outline: \"none\",\n boxShadow: focusRings.brand,\n borderRadius: radius.xs,\n },\n \"&.Mui-disabled\": {\n color: border.primary,\n },\n },\n },\n },\n\n // ─── Radio ──────────────────────────────────────────────────────\n MuiRadio: {\n defaultProps: {\n disableRipple: true,\n },\n styleOverrides: {\n root: {\n color: border.primary,\n padding: 0,\n \"&:hover\": {\n backgroundColor: \"transparent\",\n color: fg.brandPrimary,\n },\n \"&.Mui-checked\": {\n color: fg.brandPrimary,\n },\n \"&.Mui-checked:hover\": {\n color: buttonColors.primary.bgHover,\n },\n \"&.Mui-focusVisible\": {\n outline: \"none\",\n boxShadow: focusRings.brand,\n borderRadius: radius.full,\n },\n \"&.Mui-disabled\": {\n color: border.primary,\n },\n },\n },\n },\n\n // ─── Switch ─────────────────────────────────────────────────────\n MuiSwitch: {\n defaultProps: {\n disableRipple: true,\n },\n styleOverrides: {\n root: {\n width: 44,\n height: 24,\n padding: 0,\n },\n switchBase: {\n padding: 2,\n \"&.Mui-checked\": {\n transform: \"translateX(20px)\",\n color: fg.white,\n \"& + .MuiSwitch-track\": {\n backgroundColor: fg.brandPrimary,\n opacity: 1,\n },\n },\n \"&.Mui-checked:hover + .MuiSwitch-track\": {\n backgroundColor: buttonColors.primary.bgHover,\n },\n \"&.Mui-focusVisible .MuiSwitch-thumb\": {\n boxShadow: focusRings.brand,\n },\n \"&.Mui-disabled .MuiSwitch-thumb\": {\n color: bg.disabled,\n },\n \"&.Mui-disabled + .MuiSwitch-track\": {\n opacity: 0.5,\n },\n },\n thumb: {\n width: 20,\n height: 20,\n boxShadow: \"0px 1px 2px 0px #1018280d\",\n },\n track: {\n borderRadius: radius.full,\n backgroundColor: border.secondary,\n opacity: 1,\n },\n },\n },\n\n // ─── Toggle Button ─────────────────────────────────────────────\n MuiToggleButton: {\n styleOverrides: {\n root: {\n borderColor: border.primary,\n color: text.secondary,\n fontSize: 14,\n fontWeight: 600,\n lineHeight: \"20px\",\n height: 32,\n padding: \"6px 12px\",\n textTransform: \"none\",\n \"&:hover\": {\n backgroundColor: bg.primaryHover,\n borderColor: border.primary,\n },\n \"&.Mui-selected\": {\n backgroundColor: bg.brandPrimary,\n color: buttonColors.secondaryColor.fg,\n borderColor: border.brandSolid,\n \"&:hover\": {\n backgroundColor: bg.brandSecondary,\n },\n },\n \"&:focus-visible\": {\n boxShadow: focusRings.brandShadowXs,\n },\n },\n },\n },\n MuiToggleButtonGroup: {\n styleOverrides: {\n root: {\n borderRadius: radius.md,\n overflow: \"hidden\",\n },\n grouped: {\n borderRadius: 0,\n \"&:not(:first-of-type)\": {\n marginLeft: -1,\n },\n \"&:first-of-type\": {\n borderTopLeftRadius: radius.md,\n borderBottomLeftRadius: radius.md,\n },\n \"&:last-of-type\": {\n borderTopRightRadius: radius.md,\n borderBottomRightRadius: radius.md,\n },\n },\n },\n },\n\n\n\n // ─── Drawer (used by Sidebar) ─────────────────────────────────\n MuiDrawer: {\n styleOverrides: {\n paper: {\n backgroundColor: bg.primary,\n borderRight: `1px solid ${border.secondary}`,\n },\n },\n },\n\n // ─── Card ───────────────────────────────────────────────────────\n MuiCard: {\n defaultProps: {\n elevation: 0,\n },\n styleOverrides: {\n root: {\n borderRadius: radius.xl,\n border: `1px solid ${border.secondary}`,\n backgroundColor: bg.primary,\n boxShadow: tokenShadows.xs,\n overflow: \"hidden\",\n },\n },\n },\n MuiCardContent: {\n styleOverrides: {\n root: {\n padding: \"24px\",\n \"&:last-child\": {\n paddingBottom: \"24px\",\n },\n },\n },\n },\n MuiCardHeader: {\n styleOverrides: {\n root: {\n padding: \"24px 24px 0 24px\",\n },\n title: {\n fontSize: 18,\n fontWeight: 600,\n lineHeight: \"28px\",\n },\n subheader: {\n fontSize: 14,\n lineHeight: \"20px\",\n marginTop: 4,\n },\n action: {\n marginTop: -4,\n marginRight: -4,\n },\n },\n },\n\n // ─── Paper ──────────────────────────────────────────────────────\n MuiPaper: {\n defaultProps: {\n elevation: 0,\n },\n styleOverrides: {\n root: {\n backgroundImage: \"none\",\n },\n rounded: {\n borderRadius: radius.lg,\n },\n elevation1: {\n boxShadow: tokenShadows.xs,\n border: `1px solid ${border.secondary}`,\n },\n elevation2: {\n boxShadow: tokenShadows.sm,\n border: `1px solid ${border.secondary}`,\n },\n elevation3: {\n boxShadow: tokenShadows.md,\n border: `1px solid ${border.secondary}`,\n },\n elevation4: {\n boxShadow: tokenShadows.lg,\n border: `1px solid ${border.secondary}`,\n },\n elevation8: {\n boxShadow: tokenShadows.xl,\n border: `1px solid ${border.secondary}`,\n },\n elevation16: {\n boxShadow: tokenShadows[\"2xl\"],\n border: `1px solid ${border.secondary}`,\n },\n elevation24: {\n boxShadow: tokenShadows[\"3xl\"],\n border: `1px solid ${border.secondary}`,\n },\n },\n },\n\n // ─── Accordion ──────────────────────────────────────────────────\n MuiAccordion: {\n defaultProps: {\n disableGutters: true,\n elevation: 0,\n },\n styleOverrides: {\n root: {\n border: `1px solid ${border.secondary}`,\n borderRadius: radius.lg,\n \"&:not(:last-child)\": {\n marginBottom: 8,\n },\n \"&:before\": {\n display: \"none\",\n },\n \"&.Mui-expanded\": {\n margin: 0,\n marginBottom: 8,\n borderRadius: radius.lg,\n },\n },\n },\n },\n MuiAccordionSummary: {\n styleOverrides: {\n root: {\n padding: \"0 24px\",\n minHeight: 56,\n \"&.Mui-expanded\": {\n minHeight: 56,\n borderBottom: `1px solid ${border.secondary}`,\n },\n },\n content: {\n margin: \"12px 0\",\n \"&.Mui-expanded\": {\n margin: \"12px 0\",\n },\n },\n },\n },\n MuiAccordionDetails: {\n styleOverrides: {\n root: {\n padding: \"24px\",\n },\n },\n },\n\n // ─── AppBar ─────────────────────────────────────────────────────\n MuiAppBar: {\n defaultProps: {\n elevation: 0,\n color: \"transparent\",\n },\n styleOverrides: {\n root: {\n borderBottom: `1px solid ${border.secondary}`,\n backgroundColor: bg.primary,\n },\n },\n },\n MuiToolbar: {\n styleOverrides: {\n root: {\n minHeight: 64,\n \"@media (min-width: 600px)\": {\n minHeight: 64,\n },\n },\n dense: {\n minHeight: 48,\n \"@media (min-width: 600px)\": {\n minHeight: 48,\n },\n },\n },\n },\n\n // ─── Tabs ──────────────────────────────────────────────────────────\n MuiTabs: {\n styleOverrides: {\n root: {\n minHeight: 48,\n },\n indicator: {\n backgroundColor: fg.brandPrimary,\n height: 2,\n },\n },\n },\n MuiTab: {\n styleOverrides: {\n root: {\n minHeight: 48,\n height: 48,\n padding: \"12px 16px\",\n fontSize: 14,\n fontWeight: 600,\n lineHeight: \"20px\",\n textTransform: \"none\",\n color: text.tertiary,\n borderRadius: `${radius.md}px ${radius.md}px 0 0`,\n \"&:hover\": {\n backgroundColor: bg.primaryHover,\n },\n \"&.Mui-selected\": {\n color: fg.brandPrimary,\n backgroundColor: bg.brandPrimary,\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: tokens.bg.secondaryHover,\n color: tokens.fg.secondary,\n \"& .MuiChip-deleteIcon\": { color: tokens.fg.quinary },\n },\n },\n colorPrimary: {\n \"&.MuiChip-filled\": {\n backgroundColor: tokens.bg.brandPrimary,\n color: tokens.fg.brandPrimary,\n \"& .MuiChip-deleteIcon\": { color: tokens.fg.brandPrimary },\n },\n },\n colorSecondary: {\n \"&.MuiChip-filled\": {\n backgroundColor: tokens.bg.secondarySubtle,\n color: tokens.text.secondary,\n \"& .MuiChip-deleteIcon\": { color: tokens.fg.secondary },\n },\n },\n colorError: {\n \"&.MuiChip-filled\": {\n backgroundColor: error[50],\n color: error[700],\n \"& .MuiChip-deleteIcon\": { color: error[400] },\n },\n },\n colorWarning: {\n \"&.MuiChip-filled\": {\n backgroundColor: warning[50],\n color: warning[700],\n \"& .MuiChip-deleteIcon\": { color: warning[400] },\n },\n },\n colorSuccess: {\n \"&.MuiChip-filled\": {\n backgroundColor: success[50],\n color: success[700],\n \"& .MuiChip-deleteIcon\": { color: success[400] },\n },\n },\n colorInfo: {\n \"&.MuiChip-filled\": {\n backgroundColor: info[50],\n color: info[700],\n \"& .MuiChip-deleteIcon\": { color: info[400] },\n },\n },\n },\n },\n\n // ─── Form Control / Label ───────────────────────────────────────\n MuiFormControlLabel: {\n styleOverrides: {\n root: {\n marginLeft: 0,\n gap: 8,\n },\n label: {\n fontSize: 14,\n lineHeight: \"20px\",\n fontWeight: 500,\n color: text.secondary,\n },\n },\n },\n\n // ─── Table ───────────────────────────────────────────────────────\n MuiTable: {\n styleOverrides: {\n root: {\n borderCollapse: \"separate\",\n borderSpacing: 0,\n },\n },\n },\n MuiTableCell: {\n styleOverrides: {\n root: {\n borderBottom: `1px solid ${border.secondary}`,\n padding: \"16px 24px\",\n fontSize: 14,\n lineHeight: \"20px\",\n color: fg.tertiary,\n },\n head: {\n backgroundColor: bg.secondary,\n color: fg.tertiary,\n fontWeight: 500,\n fontSize: 12,\n lineHeight: \"18px\",\n },\n body: {\n color: fg.tertiary,\n },\n },\n },\n MuiTableHead: {\n styleOverrides: {\n root: {\n backgroundColor: bg.secondary,\n \"& .MuiTableRow-root:last-child .MuiTableCell-root\": {\n borderBottom: `1px solid ${border.secondary}`,\n },\n },\n },\n },\n MuiTableRow: {\n styleOverrides: {\n root: {\n backgroundColor: bg.secondary,\n \"&:last-child td, &:last-child th\": {\n border: 0,\n },\n \"&:hover\": {\n backgroundColor: bg.primaryHover,\n },\n \"&.Mui-selected\": {\n backgroundColor: 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: error[700],\n border: `1px solid ${border.error}`,\n \"& .MuiAlert-icon\": {\n color: fg.errorPrimary,\n },\n },\n standardWarning: {\n backgroundColor: bg.warningPrimary,\n color: warning[700],\n border: `1px solid ${warning[300]}`,\n \"& .MuiAlert-icon\": {\n color: fg.warningPrimary,\n },\n },\n standardSuccess: {\n backgroundColor: bg.successPrimary,\n color: success[700],\n border: `1px solid ${success[300]}`,\n \"& .MuiAlert-icon\": {\n color: fg.successPrimary,\n },\n },\n standardInfo: {\n backgroundColor: info[50],\n color: info[700],\n border: `1px solid ${info[300]}`,\n \"& .MuiAlert-icon\": {\n color: info[600],\n },\n },\n icon: {\n padding: 0,\n marginRight: 12,\n },\n },\n },\n MuiAlertTitle: {\n styleOverrides: {\n root: {\n fontWeight: 600,\n fontSize: 14,\n lineHeight: \"20px\",\n marginBottom: 4,\n },\n },\n },\n\n // ─── Backdrop ───────────────────────────────────────────────────\n MuiBackdrop: {\n styleOverrides: {\n root: {\n backgroundColor: \"rgba(16, 24, 40, 0.7)\",\n },\n },\n },\n\n // ─── Dialog ─────────────────────────────────────────────────────\n MuiDialog: {\n styleOverrides: {\n paper: {\n borderRadius: radius.xl,\n boxShadow: tokenShadows.xl,\n padding: 0,\n },\n },\n },\n MuiDialogTitle: {\n styleOverrides: {\n root: {\n fontSize: 18,\n lineHeight: \"28px\",\n fontWeight: 600,\n color: text.primary,\n padding: \"24px 24px 0\",\n },\n },\n },\n MuiDialogContent: {\n styleOverrides: {\n root: {\n padding: \"20px 24px\",\n fontSize: 14,\n lineHeight: \"20px\",\n color: text.tertiary,\n },\n },\n },\n MuiDialogActions: {\n styleOverrides: {\n root: {\n padding: \"0 24px 24px\",\n gap: 12,\n },\n },\n },\n\n // ─── Progress ───────────────────────────────────────────────────\n MuiLinearProgress: {\n styleOverrides: {\n root: {\n borderRadius: radius.full,\n height: 8,\n backgroundColor: border.secondary,\n },\n barColorPrimary: {\n backgroundColor: fg.brandPrimary,\n borderRadius: radius.full,\n },\n barColorSecondary: {\n backgroundColor: bg.secondarySolid,\n borderRadius: radius.full,\n },\n },\n },\n MuiCircularProgress: {\n styleOverrides: {\n colorPrimary: {\n color: fg.brandPrimary,\n },\n colorSecondary: {\n color: bg.secondarySolid,\n },\n },\n },\n\n // ─── Skeleton ───────────────────────────────────────────────────\n MuiSkeleton: {\n defaultProps: {\n animation: \"wave\",\n },\n styleOverrides: {\n root: {\n backgroundColor: bg.tertiary,\n },\n rounded: {\n borderRadius: radius.md,\n },\n circular: {\n borderRadius: radius.full,\n },\n },\n },\n\n // ─── Snackbar ───────────────────────────────────────────────────\n MuiSnackbarContent: {\n styleOverrides: {\n root: {\n backgroundColor: bg.primarySolid,\n color: text.white,\n borderRadius: radius.xl,\n boxShadow: tokenShadows.lg,\n fontSize: 14,\n lineHeight: \"20px\",\n fontWeight: 500,\n padding: \"6px 16px\",\n },\n },\n },\n\n // ─── Typography ─────────────────────────────────────────────────\n MuiTypography: {\n defaultProps: {\n variantMapping: {\n h1: \"h1\",\n h2: \"h2\",\n h3: \"h3\",\n h4: \"h4\",\n h5: \"h5\",\n h6: \"h6\",\n subtitle1: \"p\",\n subtitle2: \"p\",\n body1: \"p\",\n body2: \"p\",\n caption: \"span\",\n overline: \"span\",\n },\n },\n },\n\n // ─── Slider ─────────────────────────────────────────────────────\n MuiSlider: {\n styleOverrides: {\n root: {\n color: fg.brandPrimary,\n height: 8,\n \"&.Mui-disabled\": {\n color: border.secondary,\n },\n },\n thumb: {\n width: 20,\n height: 20,\n backgroundColor: sliderColors.handleBg,\n border: `2px solid ${sliderColors.handleBorder}`,\n boxShadow: tokenShadows.xs,\n \"&:hover, &.Mui-focusVisible\": {\n boxShadow: focusRings.brandShadowXs,\n },\n \"&.Mui-active\": {\n boxShadow: focusRings.brandShadowSm,\n },\n },\n track: {\n borderRadius: radius.full,\n border: \"none\",\n },\n rail: {\n backgroundColor: border.secondary,\n borderRadius: radius.full,\n opacity: 1,\n },\n valueLabel: {\n backgroundColor: bg.primarySolid,\n borderRadius: radius.md,\n fontSize: 12,\n fontWeight: 600,\n padding: \"4px 8px\",\n },\n mark: {\n backgroundColor: border.secondary,\n width: 4,\n height: 4,\n borderRadius: radius.full,\n },\n markActive: {\n backgroundColor: fg.brandPrimary,\n },\n markLabel: {\n fontSize: 12,\n color: text.tertiary,\n },\n },\n },\n\n // ─── Rating ─────────────────────────────────────────────────────\n MuiRating: {\n styleOverrides: {\n root: {\n color: fg.brandPrimary,\n gap: 4,\n },\n iconEmpty: {\n color: border.secondary,\n },\n iconFilled: {\n color: fg.brandPrimary,\n },\n iconHover: {\n color: buttonColors.primary.bgHover,\n },\n },\n },\n\n // ─── Pagination ─────────────────────────────────────────────────\n MuiPagination: {\n defaultProps: {\n shape: \"rounded\",\n },\n },\n MuiPaginationItem: {\n styleOverrides: {\n root: {\n borderRadius: radius.md,\n fontSize: 14,\n fontWeight: 500,\n color: text.secondary,\n \"&:hover\": {\n backgroundColor: bg.primaryHover,\n },\n \"&.Mui-selected\": {\n backgroundColor: fg.brandPrimary,\n color: base.white,\n \"&:hover\": {\n backgroundColor: buttonColors.primary.bgHover,\n },\n },\n \"&.Mui-focusVisible\": {\n boxShadow: focusRings.brandShadowXs,\n },\n },\n outlined: {\n border: `1px solid ${border.primary}`,\n \"&.Mui-selected\": {\n backgroundColor: fg.brandPrimary,\n color: base.white,\n borderColor: fg.brandPrimary,\n },\n },\n },\n },\n\n // ─── Avatar ─────────────────────────────────────────────────────\n MuiAvatar: {\n styleOverrides: {\n root: {\n backgroundColor: avatarColors.bg,\n fontSize: 14,\n fontWeight: 600,\n border: `1.5px solid ${avatarColors.contrastBorder}`,\n },\n rounded: {\n borderRadius: radius.md,\n },\n },\n },\n MuiAvatarGroup: {\n styleOverrides: {\n avatar: {\n border: `2px solid ${avatarColors.profilePhotoBorder}`,\n width: 32,\n height: 32,\n fontSize: 13,\n fontWeight: 600,\n },\n },\n },\n\n // ─── BottomNavigation ───────────────────────────────────────────\n MuiBottomNavigation: {\n styleOverrides: {\n root: {\n backgroundColor: bg.primary,\n borderTop: `1px solid ${border.secondary}`,\n },\n },\n },\n MuiBottomNavigationAction: {\n styleOverrides: {\n root: {\n color: fg.quaternary,\n \"&.Mui-selected\": {\n color: fg.brandPrimary,\n },\n },\n label: {\n fontSize: 12,\n fontWeight: 500,\n \"&.Mui-selected\": {\n fontSize: 12,\n fontWeight: 600,\n },\n },\n },\n },\n\n // ─── SpeedDial ──────────────────────────────────────────────────\n MuiSpeedDial: {\n styleOverrides: {\n fab: {\n backgroundColor: fg.brandPrimary,\n color: base.white,\n boxShadow: tokenShadows.md,\n \"&:hover\": {\n backgroundColor: buttonColors.primary.bgHover,\n },\n },\n },\n },\n MuiSpeedDialAction: {\n styleOverrides: {\n fab: {\n backgroundColor: bg.primary,\n color: fg.secondary,\n boxShadow: tokenShadows.sm,\n border: `1px solid ${border.secondary}`,\n \"&:hover\": {\n backgroundColor: bg.primaryHover,\n },\n },\n staticTooltipLabel: {\n backgroundColor: bg.primarySolid,\n color: text.white,\n fontSize: 12,\n fontWeight: 600,\n borderRadius: radius.md,\n whiteSpace: \"nowrap\",\n },\n },\n },\n\n // ─── Stepper ────────────────────────────────────────────────────\n MuiStepper: {\n styleOverrides: {\n root: {\n padding: 0,\n },\n },\n },\n MuiStepLabel: {\n styleOverrides: {\n label: {\n fontSize: 14,\n fontWeight: 500,\n color: text.tertiary,\n \"&.Mui-active\": {\n color: text.primary,\n fontWeight: 600,\n },\n \"&.Mui-completed\": {\n color: text.primary,\n fontWeight: 500,\n },\n },\n },\n },\n MuiStepIcon: {\n styleOverrides: {\n root: {\n color: border.secondary,\n \"&.Mui-active\": {\n color: fg.brandPrimary,\n },\n \"&.Mui-completed\": {\n color: fg.brandPrimary,\n },\n },\n text: {\n fontSize: 12,\n fontWeight: 600,\n },\n },\n },\n MuiStepConnector: {\n styleOverrides: {\n line: {\n borderColor: border.secondary,\n },\n lineHorizontal: {\n borderTopWidth: 2,\n },\n lineVertical: {\n borderLeftWidth: 2,\n },\n },\n },\n\n // ─── MobileStepper ──────────────────────────────────────────────\n MuiMobileStepper: {\n styleOverrides: {\n root: {\n backgroundColor: \"transparent\",\n padding: \"8px 0\",\n },\n dot: {\n backgroundColor: border.secondary,\n width: 8,\n height: 8,\n },\n dotActive: {\n backgroundColor: fg.brandPrimary,\n },\n progress: {\n width: \"100%\",\n backgroundColor: border.secondary,\n borderRadius: radius.full,\n \"& .MuiLinearProgress-bar\": {\n backgroundColor: fg.brandPrimary,\n borderRadius: radius.full,\n },\n },\n },\n },\n\n // ─── Breadcrumbs ────────────────────────────────────────────────\n MuiBreadcrumbs: {\n styleOverrides: {\n root: {\n fontSize: 14,\n lineHeight: \"20px\",\n },\n separator: {\n color: breadcrumbColors.iconFg,\n marginLeft: 4,\n marginRight: 4,\n },\n li: {\n \"& a\": {\n color: breadcrumbColors.fg,\n textDecoration: \"none\",\n fontWeight: 500,\n \"&:hover\": {\n color: breadcrumbColors.fgHover,\n },\n },\n },\n },\n },\n\n // ─── Link ───────────────────────────────────────────────────────\n MuiLink: {\n styleOverrides: {\n root: {\n color: fg.brandPrimary,\n fontWeight: 500,\n \"&:hover\": {\n color: buttonColors.primary.bgHover,\n },\n },\n },\n },\n\n // ─── Popover ────────────────────────────────────────────────────\n MuiPopover: {\n styleOverrides: {\n paper: {\n borderRadius: radius.lg,\n boxShadow: tokenShadows.lg,\n border: `1px solid ${border.secondary}`,\n },\n },\n },\n\n // ─── Snackbar ───────────────────────────────────────────────────\n MuiSnackbar: {\n defaultProps: {\n anchorOrigin: { vertical: \"bottom\", horizontal: \"center\" },\n },\n },\n\n // ─── CardActionArea ─────────────────────────────────────────────\n MuiCardActionArea: {\n styleOverrides: {\n root: {\n \"&:hover .MuiCardActionArea-focusHighlight\": {\n opacity: 0.04,\n },\n \"&.Mui-focusVisible .MuiCardActionArea-focusHighlight\": {\n opacity: 0.08,\n },\n },\n },\n },\n\n // ─── FilledInput ────────────────────────────────────────────────\n MuiFilledInput: {\n styleOverrides: {\n root: {\n borderRadius: `${radius.md}px ${radius.md}px 0 0`,\n backgroundColor: bg.secondary,\n \"&:hover\": {\n backgroundColor: bg.secondaryHover,\n },\n \"&.Mui-focused\": {\n backgroundColor: bg.secondary,\n },\n \"&:after\": {\n borderBottomColor: fg.brandPrimary,\n },\n },\n input: {\n padding: \"6px 12px\",\n fontSize: 14,\n lineHeight: \"20px\",\n },\n },\n },\n\n // ─── TablePagination ────────────────────────────────────────────\n MuiTablePagination: {\n styleOverrides: {\n root: {\n fontSize: 14,\n color: text.tertiary,\n },\n selectLabel: {\n fontSize: 14,\n color: text.tertiary,\n },\n displayedRows: {\n fontSize: 14,\n color: text.tertiary,\n },\n select: {\n fontSize: 14,\n },\n actions: {\n \"& .MuiIconButton-root\": {\n color: fg.quaternary,\n \"&:hover\": {\n backgroundColor: bg.primaryHover,\n color: fg.brandPrimary,\n },\n },\n },\n },\n },\n\n // ─── TableSortLabel ─────────────────────────────────────────────\n MuiTableSortLabel: {\n styleOverrides: {\n root: {\n \"&:hover\": {\n color: fg.secondary,\n },\n \"&.Mui-active\": {\n color: fg.secondary,\n \"& .MuiTableSortLabel-icon\": {\n color: fg.brandPrimary,\n },\n },\n },\n },\n },\n\n // ─── TabScrollButton ────────────────────────────────────────────\n MuiTabScrollButton: {\n styleOverrides: {\n root: {\n color: fg.quaternary,\n \"&:hover\": {\n color: fg.brandPrimary,\n },\n },\n },\n },\n\n // ─── DataGrid (@mui/x-data-grid) ──────────────────────────────\n // Not part of MUI core's Components<Theme> type, so we merge via assertion.\n ...({\n MuiDataGrid: {\n styleOverrides: {\n root: {\n border: `1px solid ${border.secondary}`,\n borderRadius: radius.xl,\n fontFamily: \"inherit\",\n \"& .MuiDataGrid-withBorderColor\": {\n borderColor: border.secondary,\n },\n },\n columnHeaders: {\n backgroundColor: bg.secondary,\n },\n columnHeader: {\n fontSize: 12,\n lineHeight: \"18px\",\n fontWeight: 500,\n color: fg.tertiary,\n \"&:focus, &:focus-within\": {\n outline: \"none\",\n },\n },\n columnHeaderTitle: {\n fontWeight: 500,\n },\n cell: {\n display: \"flex\",\n alignItems: \"center\",\n fontSize: 14,\n lineHeight: \"20px\",\n color: fg.tertiary,\n \"&:focus, &:focus-within\": {\n outline: \"none\",\n },\n },\n row: {\n backgroundColor: bg.secondary,\n \"&:hover\": {\n backgroundColor: bg.primaryHover,\n },\n \"&.Mui-selected\": {\n backgroundColor: bg.brandPrimary,\n \"&:hover\": {\n backgroundColor: bg.brandPrimary,\n },\n },\n },\n footerContainer: {\n borderTop: `1px solid ${border.secondary}`,\n },\n columnSeparator: {\n color: border.secondary,\n },\n },\n },\n } as Record<string, unknown>),\n\n // ─── DatePicker (@mui/x-date-pickers) ────────────────────────────\n // MUI X uses its own sub-components that are separate from MuiOutlinedInput,\n // so height/padding and brand colours must be set here independently.\n ...(({\n // Input field — mirrors MuiOutlinedInput sizing\n MuiPickersTextField: {\n styleOverrides: {\n root: {\n \"& .MuiInputBase-root\": {\n height: 32,\n borderRadius: radius.md,\n boxShadow: tokenShadows.xs,\n fontSize: 14,\n lineHeight: \"20px\",\n },\n \"& .MuiInputBase-input\": {\n padding: \"6px 12px\",\n fontSize: 14,\n lineHeight: \"20px\",\n },\n \"& .MuiOutlinedInput-notchedOutline\": {\n borderColor: border.primary,\n },\n \"&:hover:not(:has(.Mui-disabled)) .MuiOutlinedInput-notchedOutline\": {\n borderColor: border.brand,\n },\n \"& .Mui-focused .MuiOutlinedInput-notchedOutline\": {\n borderColor: border.brandSolid,\n borderWidth: 1,\n boxShadow: \"none\",\n },\n \"& .MuiInputAdornment-root .MuiIconButton-root\": {\n color: fg.quaternary,\n \"&:hover\": {\n backgroundColor: bg.primaryHover,\n color: fg.brandPrimary,\n },\n },\n },\n },\n },\n\n // Calendar popup container\n MuiPickersPopper: {\n styleOverrides: {\n paper: {\n borderRadius: radius.xl,\n boxShadow: tokenShadows.lg,\n border: `1px solid ${border.secondary}`,\n marginTop: 4,\n },\n },\n },\n\n // Calendar layout\n MuiDateCalendar: {\n styleOverrides: {\n root: {\n width: 280,\n height: \"auto\",\n },\n },\n },\n\n // Month/year header navigation\n MuiPickersCalendarHeader: {\n styleOverrides: {\n root: {\n paddingLeft: 16,\n paddingRight: 8,\n marginTop: 8,\n },\n label: {\n fontSize: 14,\n fontWeight: 600,\n color: text.primary,\n },\n switchViewButton: {\n color: fg.quaternary,\n \"&:hover\": { backgroundColor: bg.primaryHover, color: fg.brandPrimary },\n },\n },\n },\n MuiPickersArrowSwitcher: {\n styleOverrides: {\n button: {\n color: fg.quaternary,\n \"&:hover\": { backgroundColor: bg.primaryHover, color: fg.brandPrimary },\n },\n },\n },\n\n // Day/week header labels\n MuiDayCalendar: {\n styleOverrides: {\n weekDayLabel: {\n fontSize: 12,\n fontWeight: 500,\n color: text.tertiary,\n width: 32,\n height: 32,\n },\n weekContainer: {\n margin: \"2px 0\",\n },\n },\n },\n\n // Individual day cells\n MuiPickersDay: {\n defaultProps: {\n disableRipple: true,\n },\n styleOverrides: {\n root: {\n fontSize: 13,\n fontWeight: 400,\n width: 32,\n height: 32,\n borderRadius: radius.md,\n color: text.primary,\n backgroundColor: \"transparent\",\n \"&:hover\": {\n backgroundColor: bg.primaryHover,\n },\n \"&.Mui-selected\": {\n backgroundColor: fg.brandPrimary,\n color: base.white,\n fontWeight: 600,\n \"&:hover\": {\n backgroundColor: buttonColors.primary.bgHover,\n },\n \"&:focus\": {\n backgroundColor: fg.brandPrimary,\n },\n },\n \"&.MuiPickersDay-today\": {\n border: `1px solid ${border.brandSolid}`,\n color: fg.brandPrimary,\n backgroundColor: \"transparent\",\n fontWeight: 600,\n \"&.Mui-selected\": {\n backgroundColor: fg.brandPrimary,\n color: base.white,\n border: \"none\",\n },\n },\n \"&.Mui-focusVisible\": {\n boxShadow: focusRings.brand,\n },\n \"&.Mui-disabled\": {\n color: text.disabled,\n },\n },\n },\n },\n\n // Year picker cells\n MuiPickersYear: {\n styleOverrides: {\n yearButton: {\n fontSize: 13,\n borderRadius: radius.md,\n \"&:hover\": { backgroundColor: bg.primaryHover },\n \"&.Mui-selected\": {\n backgroundColor: fg.brandPrimary,\n color: base.white,\n \"&:hover\": { backgroundColor: buttonColors.primary.bgHover },\n },\n },\n },\n },\n\n // Month picker cells\n MuiPickersMonth: {\n styleOverrides: {\n monthButton: {\n fontSize: 13,\n borderRadius: radius.md,\n \"&:hover\": { backgroundColor: bg.primaryHover },\n \"&.Mui-selected\": {\n backgroundColor: fg.brandPrimary,\n color: base.white,\n \"&:hover\": { backgroundColor: buttonColors.primary.bgHover },\n },\n },\n },\n },\n }) as Record<string, unknown>),\n };\n}\n\n","import type { ThemePreset } from \"../types\";\nimport {\n spacing,\n radius as forestRadius,\n shadows as tokenShadows,\n fontSize,\n lineHeight,\n fontWeight,\n display,\n container,\n widths,\n alpha,\n base,\n error,\n warning,\n success,\n info,\n misc,\n violet,\n gray,\n} from \"../tokens\";\n\n// ─── Semantic Colors — resolve against imported primitives ────────────────────────────\n\n// Colors object using imported primitives\nconst colors = {\n base,\n error,\n warning,\n success,\n info,\n brand: violet,\n gray: gray,\n};\n\nconst radius = {\n ...forestRadius,\n xxs: 1,\n xs: 2,\n sm: 3,\n md: 4,\n lg: 5,\n xl: 6,\n \"2xl\": 8,\n \"3xl\": 10,\n \"4xl\": 12,\n};\n\n// ─── Semantic Colors — Text ──────────────────────────────────────\n// Same formulas as forest, resolved against alkemy+ primitives.\n\nconst text = {\n primary: gray[900],\n secondary: gray[700],\n secondaryHover: gray[800],\n tertiary: gray[600],\n tertiaryHover: gray[700],\n quaternary: gray[500],\n disabled: gray[500],\n placeholder: gray[500],\n placeholderSubtle: gray[300],\n white: base.white,\n brandPrimary: violet[900],\n brandSecondary: violet[700],\n brandTertiary: violet[600],\n brandTertiaryAlt: violet[600],\n primaryOnBrand: base.white,\n secondaryOnBrand: violet[200],\n tertiaryOnBrand: violet[200],\n quaternaryOnBrand: violet[300],\n errorPrimary: error[600],\n warningPrimary: warning[600],\n successPrimary: success[600],\n} as const;\n\n// ─── Semantic Colors — Background ────────────────────────────────\n\nconst bg = {\n primary: gray[50],\n primaryAlt: gray[50],\n primaryHover: gray[100],\n primarySolid: gray[950],\n secondary: base.white,\n secondaryAlt: base.white,\n secondarySubtle: gray[25],\n secondaryHover: gray[50],\n secondarySolid: gray[600],\n tertiary: gray[100],\n quaternary: gray[200],\n active: gray[200],\n disabled: gray[100],\n disabledSubtle: gray[50],\n overlay: gray[950],\n brandPrimary: violet[50],\n brandPrimaryAlt: violet[50],\n brandSecondary: violet[100],\n brandSolid: violet[400],\n brandSolidHover: violet[500],\n brandSection: violet[800],\n brandSectionSubtle: violet[700],\n errorPrimary: error[50],\n errorSecondary: error[100],\n errorSolid: error[600],\n warningPrimary: warning[50],\n warningSecondary: warning[100],\n warningSolid: warning[600],\n successPrimary: success[50],\n successSecondary: success[100],\n successSolid: success[600],\n} as const;\n\n// ─── Semantic Colors — Foreground ────────────────────────────────\n\nconst fg = {\n primary: gray[900],\n secondary: gray[700],\n secondaryHover: gray[800],\n tertiary: gray[600],\n tertiaryHover: gray[700],\n quaternary: gray[500],\n quaternaryHover: gray[600],\n quinary: gray[400],\n quinaryHover: gray[500],\n senary: gray[300],\n white: base.white,\n disabled: gray[400],\n disabledSubtle: gray[300],\n brandPrimary: violet[400],\n brandPrimaryAlt: violet[400],\n brandSecondary: violet[400],\n errorPrimary: error[600],\n errorSecondary: error[500],\n warningPrimary: warning[600],\n warningSecondary: warning[500],\n successPrimary: success[600],\n successSecondary: success[500],\n} as const;\n\n// ─── Semantic Colors — Border ────────────────────────────────────\n\nconst border = {\n primary: gray[300],\n secondary: gray[200],\n tertiary: gray[100],\n disabled: gray[300],\n disabledSubtle: gray[200],\n brand: violet[300],\n brandSolid: violet[400],\n brandSolidAlt: violet[400],\n error: error[300],\n errorSolid: error[600],\n} as const;\n\n// ─── Component Colors — Buttons ──────────────────────────────────\n\nconst buttonColors = {\n primary: {\n bg: violet[400],\n bgHover: violet[500],\n fg: base.white,\n fgHover: base.white,\n border: violet[400],\n borderHover: violet[500],\n },\n secondary: {\n bg: gray[900],\n bgHover: gray[950],\n fg: base.white,\n fgHover: base.white,\n border: gray[900],\n borderHover: gray[950],\n },\n secondaryColor: {\n bg: base.white,\n bgHover: violet[50],\n fg: violet[400],\n fgHover: violet[500],\n border: violet[300],\n borderHover: violet[300],\n },\n tertiary: {\n fg: gray[600],\n fgHover: gray[700],\n bgHover: gray[50],\n },\n tertiaryColor: {\n fg: violet[400],\n fgHover: violet[500],\n bgHover: violet[50],\n },\n primaryError: {\n bg: error[600],\n bgHover: error[700],\n fg: base.white,\n fgHover: base.white,\n border: error[600],\n borderHover: error[700],\n },\n secondaryError: {\n bg: base.white,\n bgHover: error[50],\n fg: error[700],\n fgHover: error[800],\n border: error[300],\n borderHover: error[300],\n },\n tertiaryError: {\n fg: error[700],\n fgHover: error[800],\n bgHover: error[50],\n },\n} as const;\n\n// ─── Component Colors — Avatars ──────────────────────────────────\n\nconst avatarColors = {\n bg: gray[100],\n contrastBorder: \"#00000014\",\n profilePhotoBorder: base.white,\n focusBorder: \"#a0a0a624\", // gray[400] + 14% alpha\n} as const;\n\n// ─── Component Colors — Breadcrumbs ──────────────────────────────\n\nconst breadcrumbColors = {\n fg: gray[600],\n fgHover: gray[700],\n bgHover: gray[50],\n brandBgHover: violet[50],\n brandFgHover: violet[700],\n iconFg: gray[500],\n iconFgHover: gray[700],\n brandIconFgHover: violet[700],\n} as const;\n\n// ─── Component Colors — Icons ────────────────────────────────────\n\nconst iconColors = {\n fgBrand: violet[400],\n fgBrandOnBrand: violet[200],\n featuredModernBorder: gray[200],\n featuredLightFgBrand: violet[400],\n featuredLightFgGray: gray[500],\n featuredLightFgError: error[600],\n featuredLightFgWarning: warning[600],\n featuredLightFgSuccess: success[600],\n featuredDarkFgBrand: base.white,\n featuredDarkFgGray: base.white,\n featuredDarkFgError: base.white,\n featuredDarkFgWarning: base.white,\n featuredDarkFgSuccess: base.white,\n} as const;\n\n// ─── Component Colors — Navigation ──────────────────────────────\n\nconst navColors = {\n itemIconFg: gray[500],\n itemIconFgActive: gray[700],\n itemButtonIconFg: gray[500],\n itemButtonIconFgActive: gray[700],\n} as const;\n\n// ─── Component Colors — Sliders ──────────────────────────────────\n\nconst sliderColors = {\n handleBorder: violet[400],\n handleBg: base.white,\n} as const;\n\n// ─── Component Colors — Toggles ──────────────────────────────────\n\nconst toggleColors = {\n buttonFgDisabled: gray[50],\n} as const;\n\n// ─── Component Colors — Charts ───────────────────────────────────\n\nconst chartColors = {\n axisFg: gray[100],\n gridlineFg: gray[100],\n labelFg: gray[600],\n labelFgEmphasis: gray[700],\n bg: base.white,\n bgAlt: gray[50],\n tooltipBg: gray[950],\n tooltipFg: base.white,\n crosshairFg: gray[500],\n legendFg: text.tertiary,\n series: [\n { fg: misc.purple[500], fgHover: misc.purple[600], bg: misc.purple[100], bgHover: misc.purple[200] },\n { fg: misc.orangeDark[400], fgHover: misc.orangeDark[500], bg: misc.orangeDark[100], bgHover: misc.orangeDark[200] },\n { fg: misc.teal[300], fgHover: misc.teal[400], bg: misc.teal[50], bgHover: misc.teal[100] },\n { fg: warning[400], fgHover: warning[500], bg: warning[100], bgHover: warning[200] },\n { fg: misc.rose[400], fgHover: misc.rose[500], bg: misc.rose[100], bgHover: misc.rose[200] },\n { fg: misc.blueLight[400], fgHover: misc.blueLight[500], bg: misc.blueLight[100], bgHover: misc.blueLight[200] },\n { fg: misc.orange[300], fgHover: misc.orange[400], bg: misc.orange[100], bgHover: misc.orange[200] },\n { fg: misc.cyan[600], fgHover: misc.cyan[700], bg: misc.cyan[100], bgHover: misc.cyan[200] },\n { fg: misc.green[500], fgHover: misc.green[600], bg: misc.green[100], bgHover: misc.green[200] },\n { fg: misc.pink[400], fgHover: misc.pink[500], bg: misc.pink[100], bgHover: misc.pink[200] },\n { fg: misc.fuchsia[400], fgHover: misc.fuchsia[500], bg: misc.fuchsia[100], bgHover: misc.fuchsia[200] },\n { fg: misc.teal[600], fgHover: misc.teal[700], bg: misc.teal[100], bgHover: misc.teal[200] },\n ],\n} as const;\n\n// ─── Focus Rings ─────────────────────────────────────────────────\n// violet[400] = #9D5FFF, gray[400] = #a0a0a6\n\nconst focusRings = {\n brand: \"0px 0px 0px 4px #9D5FFF3d\",\n brandShadowXs: \"0px 1px 2px 0px #1018280d, 0px 0px 0px 4px #9D5FFF3d\",\n brandShadowSm: \"0px 1px 3px 0px #1018281a, 0px 1px 2px 0px #1018280f, 0px 0px 0px 4px #9D5FFF3d\",\n gray: \"0px 0px 0px 4px #a0a0a624\",\n grayShadowXs: \"0px 1px 2px 0px #1018280d, 0px 0px 0px 4px #a0a0a624\",\n grayShadowSm: \"0px 1px 3px 0px #1018281a, 0px 1px 2px 0px #1018280f, 0px 0px 0px 4px #a0a0a624\",\n error: \"0px 0px 0px 4px #f044383d\",\n errorShadowXs: \"0px 1px 2px 0px #1018280d, 0px 0px 0px 4px #f044383d\",\n} as const;\n\n// ─── Preset ──────────────────────────────────────────────────────\n\nexport const forestExternalPreset: ThemePreset = {\n name: \"forest-external\",\n defaultVariant: \"light\",\n variants: {\n light: {\n tokens: {\n base,\n error,\n warning,\n success,\n info,\n spacing,\n radius,\n shadows: tokenShadows,\n focusRings,\n fontFamily: '\"Aeonik\", sans-serif',\n fontFamilyMono: '\"Aeonik Mono\", monospace',\n fontSize,\n lineHeight,\n fontWeight,\n display,\n container,\n widths,\n text,\n bg,\n fg,\n border,\n buttonColors,\n avatarColors,\n breadcrumbColors,\n iconColors,\n navColors,\n sliderColors,\n toggleColors,\n chartColors,\n alpha,\n },\n },\n },\n};\n","import type { ThemePreset } from \"../types\";\nimport {\n spacing,\n radius as forestRadius,\n shadows as tokenShadows,\n fontSize,\n lineHeight,\n fontWeight,\n display,\n container,\n widths,\n alpha,\n base,\n error,\n warning,\n success,\n info,\n misc,\n gray,\n red,\n} from \"../tokens\";\n\n// ─── Semantic Colors — resolve against imported primitives ────────────────────────────\n\n// Colors object using imported primitives\n// Agency brand is near-black, so we use gray[950] as primary brand color\nconst colors = {\n base,\n error,\n warning,\n success,\n info,\n brand: {\n 25: gray[25],\n 50: gray[50],\n 100: gray[100],\n 200: gray[200],\n 300: gray[300],\n 400: gray[400],\n 500: gray[500],\n 600: gray[900], // #18181b - dark brand\n 700: gray[950], // #09090b - primary brand\n 800: gray[950],\n 900: gray[950],\n 950: gray[950],\n },\n accent: red,\n gray: gray,\n};\n\n// ─── Border Radius — minimal / sharp ────────────────────────────\n\nconst radius = {\n ...forestRadius,\n xxs: 1,\n xs: 2,\n sm: 3,\n md: 4,\n lg: 5,\n xl: 6,\n \"2xl\": 8,\n \"3xl\": 10,\n \"4xl\": 12,\n};\n\n// ─── Semantic Colors — Text ──────────────────────────────────────\n// Same formulas as forest, resolved against alkemy+ primitives.\n\nconst text = {\n primary: gray[900],\n secondary: gray[700],\n secondaryHover: gray[800],\n tertiary: gray[600],\n tertiaryHover: gray[700],\n quaternary: gray[500],\n disabled: gray[500],\n placeholder: gray[500],\n placeholderSubtle: gray[300],\n white: base.white,\n brandPrimary: colors.brand[900],\n brandSecondary: colors.brand[700],\n brandTertiary: colors.brand[600],\n brandTertiaryAlt: colors.brand[600],\n primaryOnBrand: base.white,\n secondaryOnBrand: colors.brand[200],\n tertiaryOnBrand: colors.brand[200],\n quaternaryOnBrand: colors.brand[300],\n errorPrimary: error[600],\n warningPrimary: warning[600],\n successPrimary: success[600],\n} as const;\n\n// ─── Semantic Colors — Background ────────────────────────────────\n\nconst bg = {\n primary: gray[50],\n primaryAlt: gray[50],\n primaryHover: gray[100],\n primarySolid: gray[950],\n secondary: base.white,\n secondaryAlt: base.white,\n secondarySubtle: gray[25],\n secondaryHover: gray[50],\n secondarySolid: gray[600],\n tertiary: gray[100],\n quaternary: gray[200],\n active: gray[200],\n disabled: gray[100],\n disabledSubtle: gray[50],\n overlay: gray[950],\n brandPrimary: colors.brand[50],\n brandPrimaryAlt: colors.brand[50],\n brandSecondary: colors.brand[100],\n brandSolid: colors.brand[600],\n brandSolidHover: colors.brand[700],\n brandSection: colors.brand[800],\n brandSectionSubtle: colors.brand[700],\n errorPrimary: error[50],\n errorSecondary: error[100],\n errorSolid: error[600],\n warningPrimary: warning[50],\n warningSecondary: warning[100],\n warningSolid: warning[600],\n successPrimary: success[50],\n successSecondary: success[100],\n successSolid: success[600],\n} as const;\n\n// ─── Semantic Colors — Foreground ────────────────────────────────\n\nconst fg = {\n primary: gray[900],\n secondary: gray[700],\n secondaryHover: gray[800],\n tertiary: gray[600],\n tertiaryHover: gray[700],\n quaternary: gray[500],\n quaternaryHover: gray[600],\n quinary: gray[400],\n quinaryHover: gray[500],\n senary: gray[300],\n white: base.white,\n disabled: gray[400],\n disabledSubtle: gray[300],\n brandPrimary: colors.brand[600],\n brandPrimaryAlt: colors.brand[600],\n brandSecondary: colors.brand[500],\n errorPrimary: error[600],\n errorSecondary: error[500],\n warningPrimary: warning[600],\n warningSecondary: warning[500],\n successPrimary: success[600],\n successSecondary: success[500],\n} as const;\n\n// ─── Semantic Colors — Border ────────────────────────────────────\n\nconst border = {\n primary: gray[300],\n secondary: gray[200],\n tertiary: gray[100],\n disabled: gray[300],\n disabledSubtle: gray[200],\n brand: gray[400],\n brandSolid: colors.brand[600],\n brandSolidAlt: colors.brand[600],\n error: error[300],\n errorSolid: error[600],\n} as const;\n\n// ─── Component Colors — Buttons ──────────────────────────────────\n\nconst buttonColors = {\n primary: {\n bg: colors.brand[700],\n bgHover: colors.brand[800],\n fg: base.white,\n fgHover: base.white,\n border: colors.brand[700],\n borderHover: colors.brand[800],\n },\n secondary: {\n bg: gray[900],\n bgHover: gray[950],\n fg: base.white,\n fgHover: base.white,\n border: gray[900],\n borderHover: gray[950],\n },\n secondaryColor: {\n bg: base.white,\n bgHover: colors.brand[50],\n fg: colors.brand[700],\n fgHover: colors.brand[800],\n border: colors.brand[300],\n borderHover: colors.brand[300],\n },\n tertiary: {\n fg: gray[600],\n fgHover: gray[700],\n bgHover: gray[50],\n },\n tertiaryColor: {\n fg: colors.brand[700],\n fgHover: colors.brand[800],\n bgHover: colors.brand[50],\n },\n primaryError: {\n bg: error[600],\n bgHover: error[700],\n fg: base.white,\n fgHover: base.white,\n border: error[600],\n borderHover: error[700],\n },\n secondaryError: {\n bg: base.white,\n bgHover: error[50],\n fg: error[700],\n fgHover: error[800],\n border: error[300],\n borderHover: error[300],\n },\n tertiaryError: {\n fg: error[700],\n fgHover: error[800],\n bgHover: error[50],\n },\n} as const;\n\n// ─── Component Colors — Avatars ──────────────────────────────────\n\nconst avatarColors = {\n bg: gray[100],\n contrastBorder: \"#00000014\",\n profilePhotoBorder: base.white,\n focusBorder: \"#a0a0a624\", // gray[400] + 14% alpha\n} as const;\n\n// ─── Component Colors — Breadcrumbs ──────────────────────────────\n\nconst breadcrumbColors = {\n fg: gray[600],\n fgHover: gray[700],\n bgHover: gray[50],\n brandBgHover: colors.brand[50],\n brandFgHover: colors.brand[700],\n iconFg: gray[500],\n iconFgHover: gray[700],\n brandIconFgHover: colors.brand[700],\n} as const;\n\n// ─── Component Colors — Icons ────────────────────────────────────\n\nconst iconColors = {\n fgBrand: colors.brand[600],\n fgBrandOnBrand: colors.brand[200],\n featuredModernBorder: gray[200],\n featuredLightFgBrand: colors.brand[600],\n featuredLightFgGray: gray[500],\n featuredLightFgError: error[600],\n featuredLightFgWarning: warning[600],\n featuredLightFgSuccess: success[600],\n featuredDarkFgBrand: base.white,\n featuredDarkFgGray: base.white,\n featuredDarkFgError: base.white,\n featuredDarkFgWarning: base.white,\n featuredDarkFgSuccess: base.white,\n} as const;\n\n// ─── Component Colors — Navigation ──────────────────────────────\n\nconst navColors = {\n itemIconFg: gray[500],\n itemIconFgActive: gray[700],\n itemButtonIconFg: gray[500],\n itemButtonIconFgActive: gray[700],\n} as const;\n\n// ─── Component Colors — Sliders ──────────────────────────────────\n\nconst sliderColors = {\n handleBorder: colors.brand[600],\n handleBg: base.white,\n} as const;\n\n// ─── Component Colors — Toggles ──────────────────────────────────\n\nconst toggleColors = {\n buttonFgDisabled: gray[50],\n} as const;\n\n// ─── Component Colors — Charts ───────────────────────────────────\n\nconst chartColors = {\n axisFg: gray[100],\n gridlineFg: gray[100],\n labelFg: gray[600],\n labelFgEmphasis: gray[700],\n bg: base.white,\n bgAlt: gray[50],\n tooltipBg: gray[950],\n tooltipFg: base.white,\n crosshairFg: gray[500],\n legendFg: text.tertiary,\n series: [\n { fg: misc.purple[500], fgHover: misc.purple[600], bg: misc.purple[100], bgHover: misc.purple[200] },\n { fg: misc.orangeDark[400], fgHover: misc.orangeDark[500], bg: misc.orangeDark[100], bgHover: misc.orangeDark[200] },\n { fg: misc.teal[300], fgHover: misc.teal[400], bg: misc.teal[50], bgHover: misc.teal[100] },\n { fg: warning[400], fgHover: warning[500], bg: warning[100], bgHover: warning[200] },\n { fg: misc.rose[400], fgHover: misc.rose[500], bg: misc.rose[100], bgHover: misc.rose[200] },\n { fg: misc.blueLight[400], fgHover: misc.blueLight[500], bg: misc.blueLight[100], bgHover: misc.blueLight[200] },\n { fg: misc.orange[300], fgHover: misc.orange[400], bg: misc.orange[100], bgHover: misc.orange[200] },\n { fg: misc.cyan[600], fgHover: misc.cyan[700], bg: misc.cyan[100], bgHover: misc.cyan[200] },\n { fg: misc.green[500], fgHover: misc.green[600], bg: misc.green[100], bgHover: misc.green[200] },\n { fg: misc.pink[400], fgHover: misc.pink[500], bg: misc.pink[100], bgHover: misc.pink[200] },\n { fg: misc.fuchsia[400], fgHover: misc.fuchsia[500], bg: misc.fuchsia[100], bgHover: misc.fuchsia[200] },\n { fg: misc.teal[600], fgHover: misc.teal[700], bg: misc.teal[100], bgHover: misc.teal[200] },\n ],\n} as const;\n\n// ─── Focus Rings ─────────────────────────────────────────────────\n// brand[500] = #404040, gray[400] = #a0a0a6\n\nconst focusRings = {\n brand: \"0px 0px 0px 4px #4040403d\",\n brandShadowXs: \"0px 1px 2px 0px #1018280d, 0px 0px 0px 4px #4040403d\",\n brandShadowSm: \"0px 1px 3px 0px #1018281a, 0px 1px 2px 0px #1018280f, 0px 0px 0px 4px #4040403d\",\n gray: \"0px 0px 0px 4px #a0a0a624\",\n grayShadowXs: \"0px 1px 2px 0px #1018280d, 0px 0px 0px 4px #a0a0a624\",\n grayShadowSm: \"0px 1px 3px 0px #1018281a, 0px 1px 2px 0px #1018280f, 0px 0px 0px 4px #a0a0a624\",\n error: \"0px 0px 0px 4px #f044383d\",\n errorShadowXs: \"0px 1px 2px 0px #1018280d, 0px 0px 0px 4px #f044383d\",\n} as const;\n\n// ─── Preset ──────────────────────────────────────────────────────\n\nexport const forestAgencyPreset: ThemePreset = {\n name: \"forest-agency\",\n defaultVariant: \"light\",\n variants: {\n light: {\n tokens: {\n base,\n error,\n warning,\n success,\n info,\n spacing,\n radius,\n shadows: tokenShadows,\n focusRings,\n fontFamily: '\"Aeonik\", sans-serif',\n fontFamilyMono: '\"Aeonik Mono\", monospace',\n fontSize,\n lineHeight,\n fontWeight,\n display,\n container,\n widths,\n text,\n bg,\n fg,\n border,\n buttonColors,\n avatarColors,\n breadcrumbColors,\n iconColors,\n navColors,\n sliderColors,\n toggleColors,\n chartColors,\n alpha,\n },\n },\n },\n};\n","import type { ThemePreset } from \"../types\";\nimport {\n spacing,\n radius as forestRadius,\n shadows as tokenShadows,\n fontSize,\n lineHeight,\n fontWeight,\n display,\n container,\n widths,\n alpha,\n base,\n error,\n warning,\n success,\n info,\n misc,\n magenta,\n gray,\n} from \"../tokens\";\n\n// ─── Semantic Colors — resolve against imported primitives ────────────────────────────\n\n// Colors object using imported primitives\nconst colors = {\n base,\n error,\n warning,\n success,\n info,\n brand: magenta,\n gray: gray,\n};\n\n// ─── Border Radius — minimal / sharp ────────────────────────────\n\nconst radius = {\n ...forestRadius,\n xxs: 1,\n xs: 2,\n sm: 3,\n md: 4,\n lg: 5,\n xl: 6,\n \"2xl\": 8,\n \"3xl\": 10,\n \"4xl\": 12,\n};\n\n// ─── Semantic Colors — Text ──────────────────────────────────────\n// Same formulas as forest, resolved against alkemy+ primitives.\n\nconst text = {\n primary: gray[900],\n secondary: gray[700],\n secondaryHover: gray[800],\n tertiary: gray[600],\n tertiaryHover: gray[700],\n quaternary: gray[500],\n disabled: gray[500],\n placeholder: gray[500],\n placeholderSubtle: gray[300],\n white: base.white,\n brandPrimary: magenta[900],\n brandSecondary: magenta[700],\n brandTertiary: magenta[600],\n brandTertiaryAlt: magenta[600],\n primaryOnBrand: base.white,\n secondaryOnBrand: magenta[200],\n tertiaryOnBrand: magenta[200],\n quaternaryOnBrand: magenta[300],\n errorPrimary: error[600],\n warningPrimary: warning[600],\n successPrimary: success[600],\n} as const;\n\n// ─── Semantic Colors — Background ────────────────────────────────\n\nconst bg = {\n primary: gray[50],\n primaryAlt: gray[50],\n primaryHover: gray[100],\n primarySolid: gray[950],\n secondary: base.white,\n secondaryAlt: base.white,\n secondarySubtle: gray[25],\n secondaryHover: gray[50],\n secondarySolid: gray[600],\n tertiary: gray[100],\n quaternary: gray[200],\n active: gray[200],\n disabled: gray[100],\n disabledSubtle: gray[50],\n overlay: gray[950],\n brandPrimary: magenta[50],\n brandPrimaryAlt: magenta[50],\n brandSecondary: magenta[100],\n brandSolid: magenta[400],\n brandSolidHover: magenta[500],\n brandSection: magenta[800],\n brandSectionSubtle: magenta[700],\n errorPrimary: error[50],\n errorSecondary: error[100],\n errorSolid: error[600],\n warningPrimary: warning[50],\n warningSecondary: warning[100],\n warningSolid: warning[600],\n successPrimary: success[50],\n successSecondary: success[100],\n successSolid: success[600],\n} as const;\n\n// ─── Semantic Colors — Foreground ────────────────────────────────\n\nconst fg = {\n primary: gray[900],\n secondary: gray[700],\n secondaryHover: gray[800],\n tertiary: gray[600],\n tertiaryHover: gray[700],\n quaternary: gray[500],\n quaternaryHover: gray[600],\n quinary: gray[400],\n quinaryHover: gray[500],\n senary: gray[300],\n white: base.white,\n disabled: gray[400],\n disabledSubtle: gray[300],\n brandPrimary: magenta[400],\n brandPrimaryAlt: magenta[400],\n brandSecondary: magenta[400],\n errorPrimary: error[600],\n errorSecondary: error[500],\n warningPrimary: warning[600],\n warningSecondary: warning[500],\n successPrimary: success[600],\n successSecondary: success[500],\n} as const;\n\n// ─── Semantic Colors — Border ────────────────────────────────────\n\nconst border = {\n primary: gray[300],\n secondary: gray[200],\n tertiary: gray[100],\n disabled: gray[300],\n disabledSubtle: gray[200],\n brand: magenta[300],\n brandSolid: magenta[400],\n brandSolidAlt: magenta[400],\n error: error[300],\n errorSolid: error[600],\n} as const;\n\n// ─── Component Colors — Buttons ──────────────────────────────────\n\nconst buttonColors = {\n primary: {\n bg: magenta[400],\n bgHover: magenta[500],\n fg: base.white,\n fgHover: base.white,\n border: magenta[400],\n borderHover: magenta[500],\n },\n secondary: {\n bg: gray[900],\n bgHover: gray[950],\n fg: base.white,\n fgHover: base.white,\n border: gray[900],\n borderHover: gray[950],\n },\n secondaryColor: {\n bg: base.white,\n bgHover: magenta[50],\n fg: magenta[400],\n fgHover: magenta[500],\n border: magenta[300],\n borderHover: magenta[300],\n },\n tertiary: {\n fg: gray[600],\n fgHover: gray[700],\n bgHover: gray[50],\n },\n tertiaryColor: {\n fg: magenta[400],\n fgHover: magenta[500],\n bgHover: magenta[50],\n },\n primaryError: {\n bg: error[600],\n bgHover: error[700],\n fg: base.white,\n fgHover: base.white,\n border: error[600],\n borderHover: error[700],\n },\n secondaryError: {\n bg: base.white,\n bgHover: error[50],\n fg: error[700],\n fgHover: error[800],\n border: error[300],\n borderHover: error[300],\n },\n tertiaryError: {\n fg: error[700],\n fgHover: error[800],\n bgHover: error[50],\n },\n} as const;\n\n// ─── Component Colors — Avatars ──────────────────────────────────\n\nconst avatarColors = {\n bg: gray[100],\n contrastBorder: \"#00000014\",\n profilePhotoBorder: base.white,\n focusBorder: \"#a0a0a624\", // gray[400] + 14% alpha\n} as const;\n\n// ─── Component Colors — Breadcrumbs ──────────────────────────────\n\nconst breadcrumbColors = {\n fg: gray[600],\n fgHover: gray[700],\n bgHover: gray[50],\n brandBgHover: magenta[50],\n brandFgHover: magenta[700],\n iconFg: gray[500],\n iconFgHover: gray[700],\n brandIconFgHover: magenta[700],\n} as const;\n\n// ─── Component Colors — Icons ────────────────────────────────────\n\nconst iconColors = {\n fgBrand: magenta[400],\n fgBrandOnBrand: magenta[200],\n featuredModernBorder: gray[200],\n featuredLightFgBrand: magenta[400],\n featuredLightFgGray: gray[500],\n featuredLightFgError: error[600],\n featuredLightFgWarning: warning[600],\n featuredLightFgSuccess: success[600],\n featuredDarkFgBrand: base.white,\n featuredDarkFgGray: base.white,\n featuredDarkFgError: base.white,\n featuredDarkFgWarning: base.white,\n featuredDarkFgSuccess: base.white,\n} as const;\n\n// ─── Component Colors — Navigation ──────────────────────────────\n\nconst navColors = {\n itemIconFg: gray[500],\n itemIconFgActive: gray[700],\n itemButtonIconFg: gray[500],\n itemButtonIconFgActive: gray[700],\n} as const;\n\n// ─── Component Colors — Sliders ──────────────────────────────────\n\nconst sliderColors = {\n handleBorder: magenta[400],\n handleBg: base.white,\n} as const;\n\n// ─── Component Colors — Toggles ──────────────────────────────────\n\nconst toggleColors = {\n buttonFgDisabled: gray[50],\n} as const;\n\n// ─── Component Colors — Charts ───────────────────────────────────\n\nconst chartColors = {\n axisFg: gray[100],\n gridlineFg: gray[100],\n labelFg: gray[600],\n labelFgEmphasis: gray[700],\n bg: base.white,\n bgAlt: gray[50],\n tooltipBg: gray[950],\n tooltipFg: base.white,\n crosshairFg: gray[500],\n legendFg: text.tertiary,\n series: [\n { fg: misc.purple[500], fgHover: misc.purple[600], bg: misc.purple[100], bgHover: misc.purple[200] },\n { fg: misc.orangeDark[400], fgHover: misc.orangeDark[500], bg: misc.orangeDark[100], bgHover: misc.orangeDark[200] },\n { fg: misc.teal[300], fgHover: misc.teal[400], bg: misc.teal[50], bgHover: misc.teal[100] },\n { fg: warning[400], fgHover: warning[500], bg: warning[100], bgHover: warning[200] },\n { fg: misc.rose[400], fgHover: misc.rose[500], bg: misc.rose[100], bgHover: misc.rose[200] },\n { fg: misc.blueLight[400], fgHover: misc.blueLight[500], bg: misc.blueLight[100], bgHover: misc.blueLight[200] },\n { fg: misc.orange[300], fgHover: misc.orange[400], bg: misc.orange[100], bgHover: misc.orange[200] },\n { fg: misc.cyan[600], fgHover: misc.cyan[700], bg: misc.cyan[100], bgHover: misc.cyan[200] },\n { fg: misc.green[500], fgHover: misc.green[600], bg: misc.green[100], bgHover: misc.green[200] },\n { fg: misc.pink[400], fgHover: misc.pink[500], bg: misc.pink[100], bgHover: misc.pink[200] },\n { fg: misc.fuchsia[400], fgHover: misc.fuchsia[500], bg: misc.fuchsia[100], bgHover: misc.fuchsia[200] },\n { fg: misc.teal[600], fgHover: misc.teal[700], bg: misc.teal[100], bgHover: misc.teal[200] },\n ],\n} as const;\n\n// ─── Focus Rings ─────────────────────────────────────────────────\n// magenta[400] = #FF78F3, gray[400] = #a0a0a6\n\nconst focusRings = {\n brand: \"0px 0px 0px 4px #FF78F33d\",\n brandShadowXs: \"0px 1px 2px 0px #1018280d, 0px 0px 0px 4px #FF78F33d\",\n brandShadowSm: \"0px 1px 3px 0px #1018281a, 0px 1px 2px 0px #1018280f, 0px 0px 0px 4px #FF78F33d\",\n gray: \"0px 0px 0px 4px #a0a0a624\",\n grayShadowXs: \"0px 1px 2px 0px #1018280d, 0px 0px 0px 4px #a0a0a624\",\n grayShadowSm: \"0px 1px 3px 0px #1018281a, 0px 1px 2px 0px #1018280f, 0px 0px 0px 4px #a0a0a624\",\n error: \"0px 0px 0px 4px #f044383d\",\n errorShadowXs: \"0px 1px 2px 0px #1018280d, 0px 0px 0px 4px #f044383d\",\n} as const;\n\n// ─── Preset ──────────────────────────────────────────────────────\n\nexport const forestInternalPreset: ThemePreset = {\n name: \"forest-internal\",\n defaultVariant: \"light\",\n variants: {\n light: {\n tokens: {\n base,\n error,\n warning,\n success,\n info,\n spacing,\n radius,\n shadows: tokenShadows,\n focusRings,\n fontFamily: '\"Aeonik\", sans-serif',\n fontFamilyMono: '\"Aeonik Mono\", monospace',\n fontSize,\n lineHeight,\n fontWeight,\n display,\n container,\n widths,\n text,\n bg,\n fg,\n border,\n buttonColors,\n avatarColors,\n breadcrumbColors,\n iconColors,\n navColors,\n sliderColors,\n toggleColors,\n chartColors,\n alpha,\n },\n },\n },\n};\n","import type { ThemePreset } from \"../types\";\nimport {\n spacing,\n radius as forestRadius,\n shadows as tokenShadows,\n fontSize,\n lineHeight,\n fontWeight,\n display,\n container,\n widths,\n alpha,\n base,\n error,\n warning,\n success,\n info,\n misc,\n gray,\n red,\n} from \"../tokens\";\n\n// ─── Semantic Colors — resolve against imported primitives ────────────────────────────\n\n\n// Colors object using imported primitives\n// Agency brand is near-black, so we use gray[950] as primary brand color\nconst colors = {\n base,\n error,\n warning,\n success,\n info,\n brand: {\n 25: gray[25],\n 50: gray[50],\n 100: gray[100],\n 200: gray[200],\n 300: gray[300],\n 400: gray[400],\n 500: gray[500],\n 600: gray[900], // #18181b - dark brand\n 700: gray[950], // #09090b - primary brand\n 800: gray[950],\n 900: gray[950],\n 950: gray[950],\n },\n accent: red,\n gray: gray,\n};\n\n// ─── Border Radius — minimal / sharp ────────────────────────────\n\nconst radius = {\n ...forestRadius,\n xxs: 1,\n xs: 2,\n sm: 3,\n md: 4,\n lg: 5,\n xl: 6,\n \"2xl\": 8,\n \"3xl\": 10,\n \"4xl\": 12,\n};\n\n// ─── Semantic Colors — Text ──────────────────────────────────────\n// Same formulas as forest, resolved against alkemy+ primitives.\n\nconst text = {\n primary: gray[900],\n secondary: gray[700],\n secondaryHover: gray[800],\n tertiary: gray[600],\n tertiaryHover: gray[700],\n quaternary: gray[500],\n disabled: gray[500],\n placeholder: gray[500],\n placeholderSubtle: gray[300],\n white: base.white,\n brandPrimary: colors.brand[900],\n brandSecondary: colors.brand[700],\n brandTertiary: colors.brand[600],\n brandTertiaryAlt: colors.brand[600],\n primaryOnBrand: base.white,\n secondaryOnBrand: colors.brand[200],\n tertiaryOnBrand: colors.brand[200],\n quaternaryOnBrand: colors.brand[300],\n errorPrimary: error[600],\n warningPrimary: warning[600],\n successPrimary: success[600],\n} as const;\n\n// ─── Semantic Colors — Background ────────────────────────────────\n\nconst bg = {\n primary: gray[50],\n primaryAlt: gray[50],\n primaryHover: gray[100],\n primarySolid: gray[950],\n secondary: base.white,\n secondaryAlt: base.white,\n secondarySubtle: gray[25],\n secondaryHover: gray[50],\n secondarySolid: gray[600],\n tertiary: gray[100],\n quaternary: gray[200],\n active: gray[200],\n disabled: gray[100],\n disabledSubtle: gray[50],\n overlay: gray[950],\n brandPrimary: colors.brand[50],\n brandPrimaryAlt: colors.brand[50],\n brandSecondary: colors.brand[100],\n brandSolid: colors.brand[600],\n brandSolidHover: colors.brand[700],\n brandSection: colors.brand[800],\n brandSectionSubtle: colors.brand[700],\n errorPrimary: error[50],\n errorSecondary: error[100],\n errorSolid: error[600],\n warningPrimary: warning[50],\n warningSecondary: warning[100],\n warningSolid: warning[600],\n successPrimary: success[50],\n successSecondary: success[100],\n successSolid: success[600],\n} as const;\n\n// ─── Semantic Colors — Foreground ────────────────────────────────\n\nconst fg = {\n primary: gray[900],\n secondary: gray[700],\n secondaryHover: gray[800],\n tertiary: gray[600],\n tertiaryHover: gray[700],\n quaternary: gray[500],\n quaternaryHover: gray[600],\n quinary: gray[400],\n quinaryHover: gray[500],\n senary: gray[300],\n white: base.white,\n disabled: gray[400],\n disabledSubtle: gray[300],\n brandPrimary: colors.brand[600],\n brandPrimaryAlt: colors.brand[600],\n brandSecondary: colors.brand[500],\n errorPrimary: error[600],\n errorSecondary: error[500],\n warningPrimary: warning[600],\n warningSecondary: warning[500],\n successPrimary: success[600],\n successSecondary: success[500],\n} as const;\n\n// ─── Semantic Colors — Border ────────────────────────────────────\n\nconst border = {\n primary: gray[300],\n secondary: gray[200],\n tertiary: gray[100],\n disabled: gray[300],\n disabledSubtle: gray[200],\n brand: gray[400],\n brandSolid: colors.brand[600],\n brandSolidAlt: colors.brand[600],\n error: error[300],\n errorSolid: error[600],\n} as const;\n\n// ─── Component Colors — Buttons ──────────────────────────────────\n\nconst buttonColors = {\n primary: {\n bg: colors.brand[700],\n bgHover: colors.brand[800],\n fg: base.white,\n fgHover: base.white,\n border: colors.brand[700],\n borderHover: colors.brand[800],\n },\n secondary: {\n bg: gray[900],\n bgHover: gray[950],\n fg: base.white,\n fgHover: base.white,\n border: gray[900],\n borderHover: gray[950],\n },\n secondaryColor: {\n bg: base.white,\n bgHover: colors.brand[50],\n fg: colors.brand[700],\n fgHover: colors.brand[800],\n border: colors.brand[300],\n borderHover: colors.brand[300],\n },\n tertiary: {\n fg: gray[600],\n fgHover: gray[700],\n bgHover: gray[50],\n },\n tertiaryColor: {\n fg: colors.brand[700],\n fgHover: colors.brand[800],\n bgHover: colors.brand[50],\n },\n primaryError: {\n bg: error[600],\n bgHover: error[700],\n fg: base.white,\n fgHover: base.white,\n border: error[600],\n borderHover: error[700],\n },\n secondaryError: {\n bg: base.white,\n bgHover: error[50],\n fg: error[700],\n fgHover: error[800],\n border: error[300],\n borderHover: error[300],\n },\n tertiaryError: {\n fg: error[700],\n fgHover: error[800],\n bgHover: error[50],\n },\n} as const;\n\n// ─── Component Colors — Avatars ──────────────────────────────────\n\nconst avatarColors = {\n bg: gray[100],\n contrastBorder: \"#00000014\",\n profilePhotoBorder: base.white,\n focusBorder: \"#a0a0a624\", // gray[400] + 14% alpha\n} as const;\n\n// ─── Component Colors — Breadcrumbs ──────────────────────────────\n\nconst breadcrumbColors = {\n fg: gray[600],\n fgHover: gray[700],\n bgHover: gray[50],\n brandBgHover: colors.brand[50],\n brandFgHover: colors.brand[700],\n iconFg: gray[500],\n iconFgHover: gray[700],\n brandIconFgHover: colors.brand[700],\n} as const;\n\n// ─── Component Colors — Icons ────────────────────────────────────\n\nconst iconColors = {\n fgBrand: colors.brand[600],\n fgBrandOnBrand: colors.brand[200],\n featuredModernBorder: gray[200],\n featuredLightFgBrand: colors.brand[600],\n featuredLightFgGray: gray[500],\n featuredLightFgError: error[600],\n featuredLightFgWarning: warning[600],\n featuredLightFgSuccess: success[600],\n featuredDarkFgBrand: base.white,\n featuredDarkFgGray: base.white,\n featuredDarkFgError: base.white,\n featuredDarkFgWarning: base.white,\n featuredDarkFgSuccess: base.white,\n} as const;\n\n// ─── Component Colors — Navigation ──────────────────────────────\n\nconst navColors = {\n itemIconFg: gray[500],\n itemIconFgActive: gray[700],\n itemButtonIconFg: gray[500],\n itemButtonIconFgActive: gray[700],\n} as const;\n\n// ─── Component Colors — Sliders ──────────────────────────────────\n\nconst sliderColors = {\n handleBorder: colors.brand[600],\n handleBg: base.white,\n} as const;\n\n// ─── Component Colors — Toggles ──────────────────────────────────\n\nconst toggleColors = {\n buttonFgDisabled: gray[50],\n} as const;\n\n// ─── Component Colors — Charts ───────────────────────────────────\n\nconst chartColors = {\n axisFg: gray[100],\n gridlineFg: gray[100],\n labelFg: gray[600],\n labelFgEmphasis: gray[700],\n bg: base.white,\n bgAlt: gray[50],\n tooltipBg: gray[950],\n tooltipFg: base.white,\n crosshairFg: gray[500],\n legendFg: text.tertiary,\n series: [\n { fg: misc.purple[500], fgHover: misc.purple[600], bg: misc.purple[100], bgHover: misc.purple[200] },\n { fg: misc.orangeDark[400], fgHover: misc.orangeDark[500], bg: misc.orangeDark[100], bgHover: misc.orangeDark[200] },\n { fg: misc.teal[300], fgHover: misc.teal[400], bg: misc.teal[50], bgHover: misc.teal[100] },\n { fg: warning[400], fgHover: warning[500], bg: warning[100], bgHover: warning[200] },\n { fg: misc.rose[400], fgHover: misc.rose[500], bg: misc.rose[100], bgHover: misc.rose[200] },\n { fg: misc.blueLight[400], fgHover: misc.blueLight[500], bg: misc.blueLight[100], bgHover: misc.blueLight[200] },\n { fg: misc.orange[300], fgHover: misc.orange[400], bg: misc.orange[100], bgHover: misc.orange[200] },\n { fg: misc.cyan[600], fgHover: misc.cyan[700], bg: misc.cyan[100], bgHover: misc.cyan[200] },\n { fg: misc.green[500], fgHover: misc.green[600], bg: misc.green[100], bgHover: misc.green[200] },\n { fg: misc.pink[400], fgHover: misc.pink[500], bg: misc.pink[100], bgHover: misc.pink[200] },\n { fg: misc.fuchsia[400], fgHover: misc.fuchsia[500], bg: misc.fuchsia[100], bgHover: misc.fuchsia[200] },\n { fg: misc.teal[600], fgHover: misc.teal[700], bg: misc.teal[100], bgHover: misc.teal[200] },\n ],\n} as const;\n\n// ─── Focus Rings ─────────────────────────────────────────────────\n// brand[500] = #404040, gray[400] = #a0a0a6\n\nconst focusRings = {\n brand: \"0px 0px 0px 4px #4040403d\",\n brandShadowXs: \"0px 1px 2px 0px #1018280d, 0px 0px 0px 4px #4040403d\",\n brandShadowSm: \"0px 1px 3px 0px #1018281a, 0px 1px 2px 0px #1018280f, 0px 0px 0px 4px #4040403d\",\n gray: \"0px 0px 0px 4px #a0a0a624\",\n grayShadowXs: \"0px 1px 2px 0px #1018280d, 0px 0px 0px 4px #a0a0a624\",\n grayShadowSm: \"0px 1px 3px 0px #1018281a, 0px 1px 2px 0px #1018280f, 0px 0px 0px 4px #a0a0a624\",\n error: \"0px 0px 0px 4px #f044383d\",\n errorShadowXs: \"0px 1px 2px 0px #1018280d, 0px 0px 0px 4px #f044383d\",\n} as const;\n\n// ─── Preset ──────────────────────────────────────────────────────\n\nexport const forestAlkemyPlusPreset: ThemePreset = {\n name: \"forest-alkemy+\",\n defaultVariant: \"light\",\n variants: {\n light: {\n tokens: {\n base,\n error,\n warning,\n success,\n info,\n spacing,\n radius,\n shadows: tokenShadows,\n focusRings,\n fontFamily: '\"Aeonik\", sans-serif',\n fontFamilyMono: '\"Aeonik Mono\", monospace',\n fontSize,\n lineHeight,\n fontWeight,\n display,\n container,\n widths,\n text,\n bg,\n fg,\n border,\n buttonColors,\n avatarColors,\n breadcrumbColors,\n iconColors,\n navColors,\n sliderColors,\n toggleColors,\n chartColors,\n alpha,\n },\n },\n },\n};\n","import type { ThemePreset } from \"../types\";\nimport { forestExternalPreset } from \"./forest-external\";\nimport { forestAgencyPreset } from \"./forest-agency\";\nimport { forestInternalPreset } from \"./forest-internal\";\nimport { forestAlkemyPlusPreset } from \"./forest-alkemy-plus\";\n\nconst presetRegistry = new Map<string, ThemePreset>();\n\n// Register built-in presets\npresetRegistry.set(forestExternalPreset.name, forestExternalPreset);\npresetRegistry.set(forestAgencyPreset.name, forestAgencyPreset);\npresetRegistry.set(forestInternalPreset.name, forestInternalPreset);\npresetRegistry.set(forestAlkemyPlusPreset.name, forestAlkemyPlusPreset);\n\n/** Get a preset by name. Returns `undefined` if not found. */\nexport function getPreset(name: string): ThemePreset | undefined {\n return presetRegistry.get(name);\n}\n\n/** Register a custom preset (or override a built-in one). */\nexport function registerPreset(preset: ThemePreset): void {\n presetRegistry.set(preset.name, preset);\n}\n\n/** List all registered preset names. */\nexport function getAvailablePresets(): string[] {\n return Array.from(presetRegistry.keys());\n}\n\nexport { forestExternalPreset, forestAgencyPreset, forestInternalPreset, forestAlkemyPlusPreset };\n","import { buildTheme, buildThemeOptions } from \"./buildTheme\";\nimport { forestAgencyPreset } from \"./presets\";\n\n// Use forest-agency preset tokens as the default theme\nconst agencyTokens = forestAgencyPreset.variants.light.tokens;\n\nexport const forestTheme = buildTheme(agencyTokens);\nexport const forestThemeOptions = buildThemeOptions(agencyTokens);\n\n// Re-export theme builders\nexport { buildTheme, buildThemeOptions };\n\nexport * from \"./tokens\";\n\n// Preset system\nexport { getPreset, registerPreset, getAvailablePresets, forestExternalPreset, forestAgencyPreset, forestInternalPreset, forestAlkemyPlusPreset } from \"./presets\";\nexport type { DesignTokens, PresetVariantConfig, ThemePreset } from \"./types\";\n","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 = MuiButtonProps;\n\nexport function Button({ variant = \"contained\", ...props }: ButtonProps) {\n return <MuiButton variant={variant} {...props} />;\n}\n","import MuiButtonGroup, { type ButtonGroupProps } from \"@mui/material/ButtonGroup\";\n\nexport type { ButtonGroupProps };\n\nexport function ButtonGroup({ variant = \"contained\", ...props }: ButtonGroupProps) {\n return <MuiButtonGroup variant={variant} {...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({ color = \"primary\", ...props }: FabProps) {\n return <MuiFab color={color} {...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 React from \"react\";\nimport 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>({ onClose, ...props }: SelectProps<Value>) {\n const handleClose: SelectProps<Value>[\"onClose\"] = (e) => {\n onClose?.(e);\n // MUI keeps focus on the trigger after menu close — blur it\n // so the focused border style is removed.\n setTimeout(() => {\n if (document.activeElement instanceof HTMLElement) {\n document.activeElement.blur();\n }\n });\n };\n\n return <MuiSelect onClose={handleClose} {...props} />;\n}\n\nexport function MenuItem(props: MenuItemProps) {\n return <MuiMenuItem {...props} />;\n}\n","import MuiSelect, { type SelectProps } from \"@mui/material/Select\";\nimport MuiMenuItem from \"@mui/material/MenuItem\";\nimport MuiCheckbox from \"@mui/material/Checkbox\";\nimport MuiListItemText from \"@mui/material/ListItemText\";\nimport MuiFormControl from \"@mui/material/FormControl\";\nimport MuiInputLabel from \"@mui/material/InputLabel\";\nimport MuiButton from \"@mui/material/Button\";\nimport { type SelectChangeEvent } from \"@mui/material/Select\";\n\nexport interface MultiSelectOption {\n label: string;\n value: string;\n}\n\nexport interface MultiSelectProps\n extends Omit<SelectProps<string[]>, \"multiple\" | \"value\" | \"onChange\" | \"renderValue\"> {\n options: MultiSelectOption[];\n value: string[];\n onChange: (values: string[]) => void;\n selectAll?: boolean;\n selectAllLabel?: string;\n}\n\nexport function MultiSelect({\n options,\n value,\n onChange,\n selectAll = true,\n selectAllLabel = \"Select All\",\n label,\n ...rest\n}: MultiSelectProps) {\n const allSelected = options.length > 0 && value.length === options.length;\n\n const handleChange = (event: SelectChangeEvent<string[]>) => {\n const selected = event.target.value;\n const arr = typeof selected === \"string\" ? selected.split(\",\") : selected;\n onChange(arr);\n };\n\n const handleSelectAll = () => {\n onChange(allSelected ? [] : options.map((o) => o.value));\n };\n\n const labelMap = new Map(options.map((o) => [o.value, o.label]));\n\n const renderValue = (selected: string[]) =>\n selected.map((v) => labelMap.get(v) ?? v).join(\", \");\n\n const labelId = label\n ? `forest-multiselect-${String(label).replace(/\\s+/g, \"-\").toLowerCase()}`\n : undefined;\n\n return (\n <MuiFormControl\n fullWidth={rest.fullWidth}\n disabled={rest.disabled}\n error={rest.error}\n size={rest.size}\n color={rest.color as any}\n variant={rest.variant as any}\n >\n {label && (\n <MuiInputLabel id={labelId} shrink={value.length > 0}>\n {label}\n </MuiInputLabel>\n )}\n <MuiSelect<string[]>\n labelId={labelId}\n label={label}\n multiple\n notched={value.length > 0}\n value={value}\n onChange={handleChange}\n displayEmpty\n renderValue={renderValue}\n {...rest}\n >\n {selectAll && (\n <li\n onMouseDown={(e) => e.preventDefault()}\n onClick={(e) => {\n e.stopPropagation();\n handleSelectAll();\n }}\n >\n <MuiButton size=\"small\" variant=\"text\">\n {allSelected ? \"Deselect All\" : selectAllLabel}\n </MuiButton>\n </li>\n )}\n {options.map((option) => (\n <MuiMenuItem key={option.value} value={option.value}>\n <MuiCheckbox checked={value.includes(option.value)} />\n <MuiListItemText primary={option.label} />\n </MuiMenuItem>\n ))}\n </MuiSelect>\n </MuiFormControl>\n );\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 React, { useState, useCallback } from \"react\";\nimport MuiTextField, { type TextFieldProps } from \"@mui/material/TextField\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport IconButton from \"@mui/material/IconButton\";\nimport SearchIcon from \"@mui/icons-material/Search\";\nimport ClearIcon from \"@mui/icons-material/Clear\";\n\nexport type SearchProps = TextFieldProps & {\n onClear?: () => void;\n};\n\nexport function Search({\n value: controlledValue,\n onChange,\n onClear,\n placeholder = \"Search…\",\n variant = \"outlined\",\n slotProps,\n ...props\n}: SearchProps) {\n const [internalValue, setInternalValue] = useState(\"\");\n const isControlled = controlledValue !== undefined;\n const currentValue = isControlled ? controlledValue : internalValue;\n\n const handleChange: React.ChangeEventHandler<HTMLInputElement> = useCallback(\n (e) => {\n if (!isControlled) setInternalValue(e.target.value);\n onChange?.(e);\n },\n [isControlled, onChange]\n );\n\n const handleClear = useCallback(() => {\n if (!isControlled) setInternalValue(\"\");\n onClear?.();\n }, [isControlled, onClear]);\n\n return (\n <MuiTextField\n variant={variant}\n placeholder={placeholder}\n value={currentValue}\n onChange={handleChange}\n slotProps={{\n ...slotProps,\n input: {\n sx: { pl: \"12px\", gap: 0 },\n startAdornment: (\n <InputAdornment position=\"start\" sx={{ mr: 0 }}>\n <SearchIcon sx={{ fontSize: 20 }} />\n </InputAdornment>\n ),\n endAdornment: currentValue ? (\n <InputAdornment position=\"end\">\n <IconButton\n aria-label=\"clear search\"\n onClick={handleClear}\n edge=\"end\"\n size=\"small\"\n >\n <ClearIcon fontSize=\"small\" />\n </IconButton>\n </InputAdornment>\n ) : null,\n ...(typeof slotProps?.input === \"object\" ? slotProps.input : {}),\n },\n }}\n {...props}\n />\n );\n}\n","'use client';\n\nexport { createSvgIcon as default } from '@mui/material/utils';","\"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.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14\"\n}), 'Search');","\"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}), 'Clear');","import MuiInputBase, { type InputBaseProps as MuiInputBaseProps } from \"@mui/material/InputBase\";\n\nexport type InputProps = MuiInputBaseProps;\n\nexport function Input({ ...props }: InputProps) {\n return <MuiInputBase {...props} />;\n}\n","import MuiIconButton, { type IconButtonProps as MuiIconButtonProps } from \"@mui/material/IconButton\";\n\nexport type IconButtonProps = MuiIconButtonProps;\n\nexport function IconButton(props: IconButtonProps) {\n return <MuiIconButton {...props} />;\n}\n","import { Box, type BoxProps } from '@mui/material';\nimport { forwardRef } from 'react';\n\nexport type LogoProduct = 'wsuite' | 'studio' | 'feedati';\nexport type LogoVariant = 'logo' | 'logomark';\n\nexport interface LogoProps extends Omit<BoxProps<'svg'>, 'component' | 'children'> {\n /** Product brand */\n product?: LogoProduct;\n /** Show full logo or icon only */\n variant?: LogoVariant;\n}\n\n// SVG paths for each product\nconst svgPaths = {\n wsuite: {\n logo: (\n <>\n <path d=\"M0.957 2.76H3.729V3.838H2.387V13.122H3.729V14.2H0.957V2.76ZM7.97844 4.3H8.95744L10.4534 8.964L11.7954 4.3H13.4124L10.9814 12H9.98044L8.47344 7.402L6.95544 12H5.95444L3.52344 4.3H5.14044L6.48244 8.964L7.97844 4.3ZM15.9729 12.176C15.1369 12.176 14.3559 11.956 13.7839 11.56V9.701C14.3229 10.306 15.1149 10.669 15.8959 10.669C16.7099 10.669 17.2819 10.295 17.2819 9.756C17.2819 9.393 17.0179 9.151 16.3909 8.931L15.4999 8.623C14.4219 8.249 13.8499 7.523 13.8499 6.522C13.8499 5.125 14.9829 4.124 16.5889 4.124C17.3039 4.124 18.0079 4.3 18.5249 4.619V6.346C17.9969 5.884 17.3479 5.631 16.6659 5.631C15.9289 5.631 15.4449 5.939 15.4449 6.412C15.4449 6.786 15.7529 7.094 16.3359 7.292L17.2159 7.589C18.3379 7.974 18.8769 8.656 18.8769 9.701C18.8769 11.197 17.7329 12.176 15.9729 12.176ZM25.4205 12H23.9025V11.329C23.5065 11.857 22.8465 12.176 22.0765 12.176C20.7125 12.176 19.8215 11.285 19.8215 9.943V5.95H21.3835V9.448C21.3835 10.295 21.8565 10.812 22.6375 10.812C23.4185 10.812 23.8585 10.317 23.8585 9.448V5.95H25.4205V12ZM26.7781 12V5.95H28.3401V12H26.7781ZM27.5591 5.444C27.0201 5.444 26.6461 5.07 26.6461 4.542C26.6461 3.992 27.0201 3.607 27.5591 3.607C28.0981 3.607 28.4721 3.992 28.4721 4.542C28.4721 5.07 28.0981 5.444 27.5591 5.444ZM30.0712 7.292H29.0592V5.95H30.0712V4.707H31.6332V5.95H32.6452V7.292H31.6332V12H30.0712V7.292ZM38.386 11.538C37.825 11.934 37.011 12.176 36.23 12.176C34.327 12.176 32.952 10.823 32.952 8.931C32.952 7.094 34.217 5.774 35.988 5.774C37.726 5.774 38.892 7.039 38.892 8.931C38.892 9.382 38.826 9.613 38.826 9.613H34.602C34.789 10.35 35.46 10.834 36.362 10.834C37 10.834 37.66 10.614 38.386 10.086V11.538ZM34.558 8.381H37.418C37.352 7.578 36.857 7.061 36.032 7.061C35.207 7.061 34.624 7.6 34.558 8.381ZM41.6447 2.76V14.2H38.8727V13.122H40.2147V3.838H38.8727V2.76H41.6447Z\" fill=\"black\" />\n <path d=\"M44.6972 2.88174H46.0612V4.93874H48.0852V6.25874H46.0612V8.32674H44.6972V6.25874H42.6512V4.93874H44.6972V2.88174Z\" fill=\"#FF78F3\" />\n </>\n ),\n logomark: (\n <>\n <path d=\"M0.957 2.76H3.729V3.838H2.387V13.122H3.729V14.2H0.957V2.76ZM7.97844 4.3H8.95744L10.4534 8.964L11.7954 4.3H13.4124L10.9814 12H9.98044L8.47344 7.402L6.95544 12H5.95444L3.52344 4.3H5.14044L6.48244 8.964L7.97844 4.3ZM15.9816 2.76V14.2H13.2096V13.122H14.5516V3.838H13.2096V2.76H15.9816Z\" fill=\"black\" />\n <path d=\"M18.6972 2.88174H20.0612V4.93874H22.0852V6.25874H20.0612V8.32674H18.6972V6.25874H16.6512V4.93874H18.6972V2.88174Z\" fill=\"#FF78F3\" />\n </>\n ),\n },\n studio: {\n logo: (\n <>\n <path d=\"M0.957 2.76H3.729V3.838H2.387V13.122H3.729V14.2H0.957V2.76ZM6.14376 12.176C5.30776 12.176 4.52676 11.956 3.95476 11.56V9.701C4.49376 10.306 5.28576 10.669 6.06676 10.669C6.88076 10.669 7.45276 10.295 7.45276 9.756C7.45276 9.393 7.18876 9.151 6.56176 8.931L5.67076 8.623C4.59276 8.249 4.02076 7.523 4.02076 6.522C4.02076 5.125 5.15376 4.124 6.75976 4.124C7.47476 4.124 8.17876 4.3 8.69576 4.619V6.346C8.16776 5.884 7.51876 5.631 6.83676 5.631C6.09976 5.631 5.61576 5.939 5.61576 6.412C5.61576 6.786 5.92376 7.094 6.50676 7.292L7.38676 7.589C8.50876 7.974 9.04776 8.656 9.04776 9.701C9.04776 11.197 7.90376 12.176 6.14376 12.176ZM10.5419 7.292H9.52987V5.95H10.5419V4.707H12.1039V5.95H13.1159V7.292H12.1039V12H10.5419V7.292ZM19.3297 12H17.8117V11.329C17.4157 11.857 16.7557 12.176 15.9857 12.176C14.6217 12.176 13.7307 11.285 13.7307 9.943V5.95H15.2927V9.448C15.2927 10.295 15.7657 10.812 16.5467 10.812C17.3277 10.812 17.7677 10.317 17.7677 9.448V5.95H19.3297V12ZM25.1384 12V11.142C24.7204 11.791 24.0054 12.165 23.1584 12.165C21.5084 12.165 20.2654 10.801 20.2654 8.986C20.2654 7.16 21.5084 5.785 23.1584 5.785C24.0164 5.785 24.7314 6.148 25.1164 6.742V4.3H26.6784V12H25.1384ZM23.5214 7.149C22.5094 7.149 21.8824 7.853 21.8824 8.975C21.8824 10.097 22.5094 10.801 23.5214 10.801C24.5224 10.801 25.1494 10.097 25.1494 8.986C25.1494 7.853 24.5224 7.149 23.5214 7.149ZM28.035 12V5.95H29.597V12H28.035ZM28.816 5.444C28.277 5.444 27.903 5.07 27.903 4.542C27.903 3.992 28.277 3.607 28.816 3.607C29.355 3.607 29.729 3.992 29.729 4.542C29.729 5.07 29.355 5.444 28.816 5.444ZM33.7585 12.165C31.8555 12.165 30.5135 10.845 30.5135 8.975C30.5135 7.105 31.8555 5.785 33.7585 5.785C35.6615 5.785 37.0145 7.105 37.0145 8.975C37.0145 10.845 35.6615 12.165 33.7585 12.165ZM33.7585 10.801C34.7595 10.801 35.3975 10.097 35.3975 8.975C35.3975 7.864 34.7595 7.149 33.7585 7.149C32.7685 7.149 32.1305 7.864 32.1305 8.975C32.1305 10.097 32.7575 10.801 33.7585 10.801ZM39.7219 2.76V14.2H36.9499V13.122H38.2919V3.838H36.9499V2.76H39.7219Z\" fill=\"black\" />\n <path d=\"M42.6972 2.88174H44.0612V4.93874H46.0852V6.25874H44.0612V8.32674H42.6972V6.25874H40.6512V4.93874H42.6972V2.88174Z\" fill=\"#9D5FFF\" />\n </>\n ),\n logomark: (\n <>\n <path d=\"M0.957 2.76H3.729V3.838H2.387V13.122H3.729V14.2H0.957V2.76ZM6.14376 12.176C5.30776 12.176 4.52676 11.956 3.95476 11.56V9.701C4.49376 10.306 5.28576 10.669 6.06676 10.669C6.88076 10.669 7.45276 10.295 7.45276 9.756C7.45276 9.393 7.18876 9.151 6.56176 8.931L5.67076 8.623C4.59276 8.249 4.02076 7.523 4.02076 6.522C4.02076 5.125 5.15376 4.124 6.75976 4.124C7.47476 4.124 8.17876 4.3 8.69576 4.619V6.346C8.16776 5.884 7.51876 5.631 6.83676 5.631C6.09976 5.631 5.61576 5.939 5.61576 6.412C5.61576 6.786 5.92376 7.094 6.50676 7.292L7.38676 7.589C8.50876 7.974 9.04776 8.656 9.04776 9.701C9.04776 11.197 7.90376 12.176 6.14376 12.176ZM12.05 2.76V14.2H9.27798V13.122H10.62V3.838H9.27798V2.76H12.05Z\" fill=\"black\" />\n <path d=\"M15.6972 2.88174H17.0612V4.93874H19.0852V6.25874H17.0612V8.32674H15.6972V6.25874H13.6512V4.93874H15.6972V2.88174Z\" fill=\"#9D5FFF\" />\n </>\n ),\n },\n feedati: {\n logo: (\n <>\n <path d=\"M0.957 2.76H3.729V3.838H2.387V13.122H3.729V14.2H0.957V2.76ZM4.21695 12V4.3H9.65095V5.73H5.83395V7.523H9.11195V8.953H5.83395V12H4.21695ZM15.1399 11.538C14.5789 11.934 13.7649 12.176 12.9839 12.176C11.0809 12.176 9.70587 10.823 9.70587 8.931C9.70587 7.094 10.9709 5.774 12.7419 5.774C14.4799 5.774 15.6459 7.039 15.6459 8.931C15.6459 9.382 15.5799 9.613 15.5799 9.613H11.3559C11.5429 10.35 12.2139 10.834 13.1159 10.834C13.7539 10.834 14.4139 10.614 15.1399 10.086V11.538ZM11.3119 8.381H14.1719C14.1059 7.578 13.6109 7.061 12.7859 7.061C11.9609 7.061 11.3779 7.6 11.3119 8.381ZM21.5637 11.538C21.0027 11.934 20.1887 12.176 19.4077 12.176C17.5047 12.176 16.1297 10.823 16.1297 8.931C16.1297 7.094 17.3947 5.774 19.1657 5.774C20.9037 5.774 22.0697 7.039 22.0697 8.931C22.0697 9.382 22.0037 9.613 22.0037 9.613H17.7797C17.9667 10.35 18.6377 10.834 19.5397 10.834C20.1777 10.834 20.8377 10.614 21.5637 10.086V11.538ZM17.7357 8.381H20.5957C20.5297 7.578 20.0347 7.061 19.2097 7.061C18.3847 7.061 17.8017 7.6 17.7357 8.381ZM24.6328 5.708V10.592H25.5788C27.0968 10.592 28.0208 9.624 28.0208 8.15C28.0208 6.698 27.0748 5.708 25.5788 5.708H24.6328ZM25.7218 4.3C28.0758 4.3 29.6708 6.005 29.6708 8.15C29.6708 10.306 28.0978 12 25.7218 12H23.0158V4.3H25.7218ZM34.0509 8.381C34.0509 7.633 33.4679 7.149 32.5769 7.149C31.9169 7.149 31.1469 7.424 30.5639 7.82V6.313C31.1799 5.972 31.9939 5.774 32.7529 5.774C34.4469 5.774 35.5359 6.72 35.5359 8.205V12H34.1059V11.527C33.7319 11.923 33.1379 12.176 32.4779 12.176C31.2459 12.176 30.3879 11.351 30.3879 10.163C30.3879 8.953 31.2899 8.106 32.5659 8.106C33.1929 8.106 33.7209 8.315 34.0509 8.667V8.381ZM31.9279 10.108C31.9279 10.592 32.3679 10.933 32.9949 10.933C33.6219 10.933 34.0619 10.592 34.0619 10.108C34.0619 9.613 33.6219 9.272 33.0059 9.272C32.3789 9.272 31.9279 9.613 31.9279 10.108ZM37.118 7.292H36.106V5.95H37.118V4.707H38.68V5.95H39.692V7.292H38.68V12H37.118V7.292ZM40.41 12V5.95H41.972V12H40.41ZM41.191 5.444C40.652 5.444 40.278 5.07 40.278 4.542C40.278 3.992 40.652 3.607 41.191 3.607C41.73 3.607 42.104 3.992 42.104 4.542C42.104 5.07 41.73 5.444 41.191 5.444ZM45.2219 2.76V14.2H42.4499V13.122H43.7919V3.838H42.4499V2.76H45.2219Z\" fill=\"black\" />\n <path d=\"M48.6971 2.88174H50.0611V4.93874H52.0851V6.25874H50.0611V8.32674H48.6971V6.25874H46.6511V4.93874H48.6971V2.88174Z\" fill=\"#FF2821\" />\n </>\n ),\n logomark: (\n <>\n <path d=\"M0.957 2.76H3.729V3.838H2.387V13.122H3.729V14.2H0.957V2.76ZM4.21695 12V4.3H9.65095V5.73H5.83395V7.523H9.11195V8.953H5.83395V12H4.21695ZM12.4904 2.76V14.2H9.71841V13.122H11.0604V3.838H9.71841V2.76H12.4904Z\" fill=\"black\" />\n <path d=\"M15.6972 2.88174H17.0612V4.93874H19.0852V6.25874H17.0612V8.32674H15.6972V6.25874H13.6512V4.93874H15.6972V2.88174Z\" fill=\"#FF2821\" />\n </>\n ),\n },\n};\n\n// ViewBox dimensions for each variant\nconst viewBoxMap = {\n wsuite: { logo: '0 0 51 16', logomark: '0 0 25 16' },\n studio: { logo: '0 0 49 16', logomark: '0 0 22 16' },\n feedati: { logo: '0 0 55 16', logomark: '0 0 22 16' },\n};\n\n/**\n * Logo component for Forest product suite\n *\n * Displays brand logos (WSuite, Studio, FeeDati) in full or icon-only variants.\n * Colors are embedded in the SVG.\n *\n * @example\n * <Logo product=\"wsuite\" variant=\"logo\" />\n * <Logo product=\"studio\" variant=\"logomark\" />\n */\nexport const Logo = forwardRef<SVGSVGElement, LogoProps>(\n (\n {\n product = 'wsuite',\n variant = 'logo',\n sx,\n ...props\n },\n ref\n ) => {\n return (\n <Box\n component=\"svg\"\n ref={ref}\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox={viewBoxMap[product][variant]}\n fill=\"none\"\n sx={{\n display: 'block',\n width: 'auto',\n height: 32,\n ...sx,\n }}\n {...props}\n >\n {svgPaths[product][variant]}\n </Box>\n );\n }\n);\n\nLogo.displayName = 'Logo';\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 { DatePicker as MuiDatePicker, type DatePickerProps as MuiDatePickerProps } from \"@mui/x-date-pickers/DatePicker\";\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\nimport { AdapterDayjs } from \"@mui/x-date-pickers/AdapterDayjs\";\n\nexport type DatePickerProps = MuiDatePickerProps;\n\nexport function DatePicker(props: DatePickerProps) {\n return (\n <LocalizationProvider dateAdapter={AdapterDayjs}>\n <MuiDatePicker {...props} />\n </LocalizationProvider>\n );\n}\n","import MuiFormControl, { type FormControlProps } from \"@mui/material/FormControl\";\nimport MuiFormControlLabel, { type FormControlLabelProps } from \"@mui/material/FormControlLabel\";\nimport MuiFormGroup, { type FormGroupProps } from \"@mui/material/FormGroup\";\nimport MuiFormHelperText, { type FormHelperTextProps } from \"@mui/material/FormHelperText\";\nimport MuiFormLabel, { type FormLabelProps } from \"@mui/material/FormLabel\";\n\nexport type { FormControlProps, FormControlLabelProps, FormGroupProps, FormHelperTextProps, FormLabelProps };\n\nexport function FormControl(props: FormControlProps) {\n return <MuiFormControl {...props} />;\n}\nexport function FormControlLabel(props: FormControlLabelProps) {\n return <MuiFormControlLabel {...props} />;\n}\nexport function FormGroup(props: FormGroupProps) {\n return <MuiFormGroup {...props} />;\n}\nexport function FormHelperText(props: FormHelperTextProps) {\n return <MuiFormHelperText {...props} />;\n}\nexport function FormLabel(props: FormLabelProps) {\n return <MuiFormLabel {...props} />;\n}\n","import MuiInputAdornment, { type InputAdornmentProps } from \"@mui/material/InputAdornment\";\n\nexport type { InputAdornmentProps };\n\nexport function InputAdornment(props: InputAdornmentProps) {\n return <MuiInputAdornment {...props} />;\n}\n","import MuiInputBase, { type InputBaseProps } from \"@mui/material/InputBase\";\n\nexport type { InputBaseProps };\n\nexport function InputBase(props: InputBaseProps) {\n return <MuiInputBase {...props} />;\n}\n","import MuiInputLabel, { type InputLabelProps } from \"@mui/material/InputLabel\";\n\nexport type { InputLabelProps };\n\nexport function InputLabel(props: InputLabelProps) {\n return <MuiInputLabel {...props} />;\n}\n","import MuiOutlinedInput, { type OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport MuiFilledInput, { type FilledInputProps } from \"@mui/material/FilledInput\";\n\nexport type { OutlinedInputProps, FilledInputProps };\n\nexport function OutlinedInput(props: OutlinedInputProps) {\n return <MuiOutlinedInput {...props} />;\n}\nexport function FilledInput(props: FilledInputProps) {\n return <MuiFilledInput {...props} />;\n}\n","import MuiAvatar, { type AvatarProps } from \"@mui/material/Avatar\";\nimport MuiAvatarGroup, { type AvatarGroupProps } from \"@mui/material/AvatarGroup\";\n\nexport type { AvatarProps, AvatarGroupProps };\n\nexport function Avatar(props: AvatarProps) {\n return <MuiAvatar {...props} />;\n}\n\nexport function AvatarGroup(props: AvatarGroupProps) {\n return <MuiAvatarGroup {...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","import MuiChip, { type ChipProps } from \"@mui/material/Chip\";\nimport CloseIcon from \"@mui/icons-material/CloseOutlined\";\nimport { misc } from \"../../theme/tokens\";\n\nconst customChipColors: Record<string, { bg: string; color: string; deleteIcon: string }> = {\n teal: { bg: misc.teal[50], color: misc.teal[700], deleteIcon: misc.teal[400] },\n orange: { bg: misc.orange[50], color: misc.orange[700], deleteIcon: misc.orange[400] },\n purple: { bg: misc.purple[50], color: misc.purple[700], deleteIcon: misc.purple[400] },\n pink: { bg: misc.pink[50], color: misc.pink[700], deleteIcon: misc.pink[400] },\n fuchsia: { bg: misc.fuchsia[50], color: misc.fuchsia[700], deleteIcon: misc.fuchsia[400] },\n orangeDark: { bg: misc.orangeDark[50], color: misc.orangeDark[700], deleteIcon: misc.orangeDark[400] },\n green: { bg: misc.green[50], color: misc.green[700], deleteIcon: misc.green[400] },\n indigo: { bg: misc.indigo[50], color: misc.indigo[700], deleteIcon: misc.indigo[400] },\n rose: { bg: misc.rose[50], color: misc.rose[700], deleteIcon: misc.rose[400] },\n blueLight: { bg: misc.blueLight[50], color: misc.blueLight[700], deleteIcon: misc.blueLight[400] },\n};\n\nexport type ForestChipColor = ChipProps[\"color\"] | keyof typeof customChipColors;\n\nexport interface ForestChipProps extends Omit<ChipProps, \"color\"> {\n color?: ForestChipColor;\n}\n\nexport type { ChipProps };\n\nexport function Chip({ color, deleteIcon = <CloseIcon />, sx, ...props }: ForestChipProps) {\n const custom = color && typeof color === \"string\" ? customChipColors[color] : undefined;\n\n if (custom) {\n return (\n <MuiChip\n deleteIcon={deleteIcon}\n {...props}\n sx={[\n {\n \"&.MuiChip-root\": {\n backgroundColor: custom.bg,\n color: custom.color,\n \"& .MuiChip-deleteIcon\": {\n color: custom.deleteIcon,\n },\n },\n },\n ...(Array.isArray(sx) ? sx : [sx]),\n ]}\n />\n );\n }\n\n return (\n <MuiChip\n color={color as ChipProps[\"color\"]}\n deleteIcon={deleteIcon}\n sx={sx}\n {...props}\n />\n );\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 MuiDivider, { type DividerProps } from \"@mui/material/Divider\";\n\nexport type { DividerProps };\n\nexport function Divider(props: DividerProps) {\n return <MuiDivider {...props} />;\n}\n","import MuiImageList, { type ImageListProps } from \"@mui/material/ImageList\";\nimport MuiImageListItem, { type ImageListItemProps } from \"@mui/material/ImageListItem\";\nimport MuiImageListItemBar, { type ImageListItemBarProps } from \"@mui/material/ImageListItemBar\";\n\nexport type { ImageListProps, ImageListItemProps, ImageListItemBarProps };\n\nexport function ImageList(props: ImageListProps) {\n return <MuiImageList {...props} />;\n}\n\nexport function ImageListItem(props: ImageListItemProps) {\n return <MuiImageListItem {...props} />;\n}\n\nexport function ImageListItemBar(props: ImageListItemBarProps) {\n return <MuiImageListItemBar {...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\";\nimport MuiListItemSecondaryAction, { type ListItemSecondaryActionProps } from \"@mui/material/ListItemSecondaryAction\";\n\nexport type {\n ListProps,\n ListItemProps,\n ListItemButtonProps,\n ListItemIconProps,\n ListItemTextProps,\n ListItemAvatarProps,\n ListSubheaderProps,\n ListItemSecondaryActionProps,\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\nexport function ListItemSecondaryAction(props: ListItemSecondaryActionProps) {\n return <MuiListItemSecondaryAction {...props} />;\n}\n","import MuiRating, { type RatingProps } from \"@mui/material/Rating\";\n\nexport type { RatingProps };\n\nexport function Rating(props: RatingProps) {\n return <MuiRating {...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\";\nimport MuiTableFooter, { type TableFooterProps } from \"@mui/material/TableFooter\";\nimport MuiTablePagination, { type TablePaginationProps } from \"@mui/material/TablePagination\";\nimport MuiTableSortLabel, { type TableSortLabelProps } from \"@mui/material/TableSortLabel\";\n\nexport type {\n TableProps,\n TableBodyProps,\n TableCellProps,\n TableContainerProps,\n TableHeadProps,\n TableRowProps,\n TableFooterProps,\n TablePaginationProps,\n TableSortLabelProps,\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\nexport function TableFooter(props: TableFooterProps) {\n return <MuiTableFooter {...props} />;\n}\n\nexport function TablePagination(props: TablePaginationProps) {\n return <MuiTablePagination {...props} />;\n}\n\nexport function TableSortLabel(props: TableSortLabelProps) {\n return <MuiTableSortLabel {...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 GridRenderCellParams,\n GridRowSelectionModel,\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({ arrow = true, ...props }: TooltipProps) {\n return <MuiTooltip arrow={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 React from \"react\";\nimport MuiAppBar, { type AppBarProps } from \"@mui/material/AppBar\";\nimport MuiToolbar, { type ToolbarProps } from \"@mui/material/Toolbar\";\nimport MuiButton, { type ButtonProps } from \"@mui/material/Button\";\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\nexport interface AppBarNavItemProps extends Omit<ButtonProps, \"children\" | \"variant\"> {\n label: string;\n icon?: React.ReactNode;\n selected?: boolean;\n href?: string;\n}\n\nexport function AppBarNavItem({\n label,\n icon,\n selected = false,\n href,\n sx,\n ...props\n}: AppBarNavItemProps) {\n return (\n <MuiButton\n variant=\"text\"\n href={href}\n startIcon={icon}\n disableElevation\n {...props}\n sx={[\n {\n height: 32,\n padding: \"6px 12px\",\n fontSize: 14,\n fontWeight: 500,\n color: \"action.active\",\n textTransform: \"none\",\n boxShadow: \"none\",\n \"&:hover\": {\n backgroundColor: \"action.hover\",\n color: \"text.primary\",\n boxShadow: \"none\",\n },\n \"&:focus-visible\": {\n boxShadow: \"none\",\n },\n \"& .MuiButton-startIcon\": {\n marginRight: 0.5,\n },\n },\n selected && {\n color: \"primary.light\",\n fontWeight: 600,\n \"&:hover\": {\n backgroundColor: \"action.selected\",\n color: \"primary.light\",\n boxShadow: \"none\",\n },\n },\n ...(Array.isArray(sx) ? sx : [sx]),\n ]}\n >\n {label}\n </MuiButton>\n );\n}\n","import MuiCard, { type CardProps as MuiCardProps } 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\";\nimport type { SxProps, Theme } from \"@mui/material/styles\";\n\nexport type ForestCardColor = \"primary\" | \"secondary\";\n\nexport interface ForestCardProps extends Omit<MuiCardProps, \"color\"> {\n color?: ForestCardColor;\n}\n\nexport type CardProps = ForestCardProps;\nexport type {\n CardContentProps,\n CardHeaderProps,\n CardActionsProps,\n CardMediaProps,\n};\n\nexport function Card({ color = \"primary\", sx, ...props }: ForestCardProps) {\n return (\n <MuiCard\n {...props}\n sx={[\n color === \"secondary\" && { backgroundColor: \"background.paper\" },\n ...(Array.isArray(sx) ? sx : [sx as SxProps<Theme>]),\n ]}\n />\n );\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 MuiCardActionArea, {\n type CardActionAreaProps,\n} from \"@mui/material/CardActionArea\";\n\nexport type { CardActionAreaProps };\n\nexport function CardActionArea(props: CardActionAreaProps) {\n return <MuiCardActionArea {...props} />;\n}\n","import MuiDrawer, { type DrawerProps } from \"@mui/material/Drawer\";\nimport MuiSwipeableDrawer, {\n type SwipeableDrawerProps,\n} from \"@mui/material/SwipeableDrawer\";\n\nexport type { DrawerProps, SwipeableDrawerProps };\n\nexport function Drawer(props: DrawerProps) {\n return <MuiDrawer {...props} />;\n}\n\nexport function SwipeableDrawer(props: SwipeableDrawerProps) {\n return <MuiSwipeableDrawer {...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 React from \"react\";\nimport MuiAlert, { type AlertProps } from \"@mui/material/Alert\";\nimport MuiAlertTitle, { type AlertTitleProps } from \"@mui/material/AlertTitle\";\n\nexport type { AlertProps, AlertTitleProps };\n\nexport const Alert = React.forwardRef<HTMLDivElement, AlertProps>(function Alert(props, ref) {\n return <MuiAlert ref={ref} {...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 MuiModal, { type ModalProps } from \"@mui/material/Modal\";\n\nexport type { ModalProps };\n\nexport function Modal(props: ModalProps) {\n return <MuiModal {...props} />;\n}\n","import MuiPopover, { type PopoverProps } from \"@mui/material/Popover\";\n\nexport type { PopoverProps };\n\nexport function Popover({ slotProps, ...props }: PopoverProps) {\n return (\n <MuiPopover\n {...props}\n slotProps={{\n ...slotProps,\n backdrop: {\n ...((typeof slotProps?.backdrop === 'object' ? slotProps.backdrop : {}) as Record<string, unknown>),\n sx: { backgroundColor: \"transparent\" },\n },\n }}\n />\n );\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","import MuiSnackbarContent, { type SnackbarContentProps } from \"@mui/material/SnackbarContent\";\n\nexport type { SnackbarContentProps };\n\nexport function SnackbarContent(props: SnackbarContentProps) {\n return <MuiSnackbarContent {...props} />;\n}\n","import MuiBottomNavigation, {\n type BottomNavigationProps,\n} from \"@mui/material/BottomNavigation\";\nimport MuiBottomNavigationAction, {\n type BottomNavigationActionProps,\n} from \"@mui/material/BottomNavigationAction\";\n\nexport type { BottomNavigationProps, BottomNavigationActionProps };\n\nexport function BottomNavigation(props: BottomNavigationProps) {\n return <MuiBottomNavigation {...props} />;\n}\n\nexport function BottomNavigationAction(props: BottomNavigationActionProps) {\n return <MuiBottomNavigationAction {...props} />;\n}\n","import MuiBreadcrumbs, { type BreadcrumbsProps } from \"@mui/material/Breadcrumbs\";\n\nexport type { BreadcrumbsProps };\n\nexport function Breadcrumbs(props: BreadcrumbsProps) {\n return <MuiBreadcrumbs {...props} />;\n}\n","import MuiLink, { type LinkProps } from \"@mui/material/Link\";\n\nexport type { LinkProps };\n\nexport function Link(props: LinkProps) {\n return <MuiLink {...props} />;\n}\n","import MuiMenu, { type MenuProps } from \"@mui/material/Menu\";\nimport MuiMenuList, { type MenuListProps } from \"@mui/material/MenuList\";\n\nexport type { MenuProps, MenuListProps };\n\nexport function Menu(props: MenuProps) {\n return <MuiMenu {...props} />;\n}\n\nexport function MenuList(props: MenuListProps) {\n return <MuiMenuList {...props} />;\n}\n","import MuiMobileStepper, {\n type MobileStepperProps,\n} from \"@mui/material/MobileStepper\";\n\nexport type { MobileStepperProps };\n\nexport function MobileStepper(props: MobileStepperProps) {\n return <MuiMobileStepper {...props} />;\n}\n","import MuiPagination, { type PaginationProps } from \"@mui/material/Pagination\";\n\nexport type { PaginationProps };\n\nexport function Pagination(props: PaginationProps) {\n return <MuiPagination {...props} />;\n}\n","import MuiPaginationItem, {\n type PaginationItemProps,\n} from \"@mui/material/PaginationItem\";\n\nexport type { PaginationItemProps };\n\nexport function PaginationItem(props: PaginationItemProps) {\n return <MuiPaginationItem {...props} />;\n}\n","import MuiSpeedDial, { type SpeedDialProps } from \"@mui/material/SpeedDial\";\nimport MuiSpeedDialAction, {\n type SpeedDialActionProps,\n} from \"@mui/material/SpeedDialAction\";\nimport MuiSpeedDialIcon, {\n type SpeedDialIconProps,\n} from \"@mui/material/SpeedDialIcon\";\n\nexport type { SpeedDialProps, SpeedDialActionProps, SpeedDialIconProps };\n\nexport function SpeedDial(props: SpeedDialProps) {\n return <MuiSpeedDial {...props} />;\n}\n\nexport function SpeedDialAction(props: SpeedDialActionProps) {\n return <MuiSpeedDialAction {...props} />;\n}\n\nexport function SpeedDialIcon(props: SpeedDialIconProps) {\n return <MuiSpeedDialIcon {...props} />;\n}\n","import MuiStepper, { type StepperProps } from \"@mui/material/Stepper\";\nimport MuiStep, { type StepProps } from \"@mui/material/Step\";\nimport MuiStepLabel, { type StepLabelProps } from \"@mui/material/StepLabel\";\nimport MuiStepButton, { type StepButtonProps } from \"@mui/material/StepButton\";\nimport MuiStepConnector, {\n type StepConnectorProps,\n} from \"@mui/material/StepConnector\";\nimport MuiStepContent, {\n type StepContentProps,\n} from \"@mui/material/StepContent\";\nimport MuiStepIcon, { type StepIconProps } from \"@mui/material/StepIcon\";\n\nexport type {\n StepperProps,\n StepProps,\n StepLabelProps,\n StepButtonProps,\n StepConnectorProps,\n StepContentProps,\n StepIconProps,\n};\n\nexport function Stepper(props: StepperProps) {\n return <MuiStepper {...props} />;\n}\n\nexport function Step(props: StepProps) {\n return <MuiStep {...props} />;\n}\n\nexport function StepLabel(props: StepLabelProps) {\n return <MuiStepLabel {...props} />;\n}\n\nexport function StepButton(props: StepButtonProps) {\n return <MuiStepButton {...props} />;\n}\n\nexport function StepConnector(props: StepConnectorProps) {\n return <MuiStepConnector {...props} />;\n}\n\nexport function StepContent(props: StepContentProps) {\n return <MuiStepContent {...props} />;\n}\n\nexport function StepIcon(props: StepIconProps) {\n return <MuiStepIcon {...props} />;\n}\n","import MuiTabs, { type TabsProps } from \"@mui/material/Tabs\";\nimport MuiTab, { type TabProps } from \"@mui/material/Tab\";\n\nexport type { TabsProps, TabProps };\n\nexport function Tabs(props: TabsProps) {\n return <MuiTabs {...props} />;\n}\n\nexport function Tab(props: TabProps) {\n return <MuiTab {...props} />;\n}\n","import MuiTabScrollButton, {\n type TabScrollButtonProps,\n} from \"@mui/material/TabScrollButton\";\n\nexport type { TabScrollButtonProps };\n\nexport function TabScrollButton(props: TabScrollButtonProps) {\n return <MuiTabScrollButton {...props} />;\n}\n","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 ListItemButtonProps {\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","\"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 MuiBox, { type BoxProps } from \"@mui/material/Box\";\n\nexport type { BoxProps };\n\nexport const Box = MuiBox;\n","import MuiStack, { type StackProps } from \"@mui/material/Stack\";\n\nexport type { StackProps };\n\nexport const Stack = MuiStack;\n","import MuiGrid, { type GridProps } from \"@mui/material/Grid\";\n\nexport type { GridProps };\n\nexport const Grid = MuiGrid;\n","import MuiContainer, { type ContainerProps } from \"@mui/material/Container\";\n\nexport type { ContainerProps };\n\nexport const Container = MuiContainer;\n","import MuiCollapse, { type CollapseProps } from \"@mui/material/Collapse\";\n\nexport type { CollapseProps };\n\nexport function Collapse(props: CollapseProps) {\n return <MuiCollapse {...props} />;\n}\n","import MuiFade, { type FadeProps } from \"@mui/material/Fade\";\n\nexport type { FadeProps };\n\nexport function Fade(props: FadeProps) {\n return <MuiFade {...props} />;\n}\n","import MuiGrow, { type GrowProps } from \"@mui/material/Grow\";\n\nexport type { GrowProps };\n\nexport function Grow(props: GrowProps) {\n return <MuiGrow {...props} />;\n}\n","import MuiSlide, { type SlideProps } from \"@mui/material/Slide\";\n\nexport type { SlideProps };\n\nexport function Slide(props: SlideProps) {\n return <MuiSlide {...props} />;\n}\n","import MuiZoom, { type ZoomProps } from \"@mui/material/Zoom\";\n\nexport type { ZoomProps };\n\nexport function Zoom(props: ZoomProps) {\n return <MuiZoom {...props} />;\n}\n","import MuiButtonBase, {\n type ButtonBaseProps,\n} from \"@mui/material/ButtonBase\";\n\nexport type { ButtonBaseProps };\n\nexport function ButtonBase(props: ButtonBaseProps) {\n return <MuiButtonBase {...props} />;\n}\n","import MuiClickAwayListener, {\n type ClickAwayListenerProps,\n} from \"@mui/material/ClickAwayListener\";\n\nexport type { ClickAwayListenerProps };\n\nexport function ClickAwayListener(props: ClickAwayListenerProps) {\n return <MuiClickAwayListener {...props} />;\n}\n","import MuiGlobalStyles, {\n type GlobalStylesProps,\n} from \"@mui/material/GlobalStyles\";\n\nexport type { GlobalStylesProps };\n\nexport function GlobalStyles(props: GlobalStylesProps) {\n return <MuiGlobalStyles {...props} />;\n}\n","export { default as NoSsr } from \"@mui/material/NoSsr\";\n","import MuiPopper, { type PopperProps } from \"@mui/material/Popper\";\n\nexport type { PopperProps };\n\nexport function Popper(props: PopperProps) {\n return <MuiPopper {...props} />;\n}\n","import MuiPortal from \"@mui/material/Portal\";\n\nexport const Portal = MuiPortal;\n","import MuiSlider, { type SliderProps } from \"@mui/material/Slider\";\n\nexport type { SliderProps };\n\nexport function Slider(props: SliderProps) {\n return <MuiSlider {...props} />;\n}\n","import MuiSvgIcon, { type SvgIconProps } from \"@mui/material/SvgIcon\";\n\nexport type { SvgIconProps };\n\nexport function SvgIcon(props: SvgIconProps) {\n return <MuiSvgIcon {...props} />;\n}\n","export { default as TextareaAutosize } from \"@mui/material/TextareaAutosize\";\n","import {\n LineChart as MuiLineChart,\n type LineChartProps as MuiLineChartProps,\n} from \"@mui/x-charts/LineChart\";\nimport { useTheme } from \"@mui/material/styles\";\nimport { fontSize, lineHeight } from \"../../theme/tokens\";\nimport { useChartColors } from \"./useChartColors\";\n\nimport { CustomTooltip } from \"./CustomTooltip\";\n\nexport interface LineChartProps extends Omit<MuiLineChartProps, \"series\"> {\n series?: MuiLineChartProps[\"series\"];\n}\n\nexport function LineChart({ series, colors, ...props }: LineChartProps) {\n const theme = useTheme();\n const chart = theme.palette.chart;\n const seriesColors = useChartColors(series?.length ?? 0);\n\n // Set line curve and stroke width smoothly\n const modifiedSeries = series?.map((s) => ({\n ...s,\n curve: s.curve ?? \"linear\",\n highlightScope: s.highlightScope ?? { highlighted: \"item\", faded: \"global\" },\n }));\n\n return (\n <MuiLineChart\n series={modifiedSeries ?? []}\n colors={colors ?? seriesColors}\n grid={{ horizontal: true }}\n slots={{\n axisContent: CustomTooltip,\n }}\n slotProps={{\n legend: {\n itemMarkWidth: 12,\n itemMarkHeight: 12,\n padding: { bottom: 20 },\n },\n }}\n sx={{\n \"& .MuiChartsAxis-line\": { stroke: `${chart.axisFg} !important` },\n \"& .MuiChartsAxis-tick\": { stroke: `${chart.axisFg} !important` },\n \"& .MuiChartsAxis-tickLabel\": {\n fill: `${chart.labelFg} !important`,\n fontFamily: `${theme.typography.fontFamily} !important`,\n fontSize: `${fontSize.xxs}px !important`,\n lineHeight: lineHeight.xxs,\n },\n \"& .MuiChartsAxis-label\": {\n fill: `${chart.labelFgEmphasis} !important`,\n fontFamily: `${theme.typography.fontFamily} !important`,\n fontSize: `${typeof theme.typography.body1.fontSize === \"number\" ? theme.typography.body1.fontSize : 14}px !important`,\n fontWeight: theme.typography.fontWeightMedium,\n },\n \"& .MuiChartsGrid-line\": {\n stroke: chart.gridlineFg,\n strokeDasharray: \"4 4\",\n },\n \"& .MuiChartsLegend-series text\": {\n fill: `${chart.legendFg} !important`,\n fontFamily: `${theme.typography.fontFamily} !important`,\n fontSize: \"14px !important\",\n },\n \"& .MuiChartsLegend-mark\": {\n ry: 4,\n rx: 4,\n width: 12,\n height: 12,\n },\n \"& .MuiChartsTooltip-root\": {\n fontFamily: theme.typography.fontFamily,\n fontSize: typeof theme.typography.body1.fontSize === \"number\" ? theme.typography.body1.fontSize : 14,\n },\n \"& .MuiChartsTooltip-table\": {\n backgroundColor: chart.tooltipBg,\n color: chart.tooltipFg,\n borderRadius: theme.shape.borderRadius,\n boxShadow: theme.shadows[4],\n },\n \"& .MuiLineElement-root\": {\n strokeWidth: 3,\n },\n \"& .MuiMarkElement-root\": {\n display: \"none\",\n },\n ...((props.sx as object) ?? {}),\n }}\n {...props}\n />\n );\n}\n","import { useTheme } from \"@mui/material/styles\";\n\nexport function useChartColors(count: number): string[] {\n const theme = useTheme();\n const chart = theme.palette.chart;\n\n const colors = chart.series.map((s: { fg: string }) => s.fg);\n\n return colors.slice(0, Math.min(count, colors.length));\n}\n","import React from \"react\";\nimport { Box, Typography } from \"@mui/material\";\nimport { useTheme } from \"@mui/material/styles\";\nimport type { ChartsAxisContentProps } from \"@mui/x-charts/ChartsTooltip\";\n\nfunction formatDate(date: string | number | Date | null): string {\n if (!date) return \"\";\n const d = new Date(date);\n if (isNaN(d.getTime())) return String(date);\n return d.toLocaleDateString(\"en-US\", {\n weekday: \"short\",\n month: \"short\",\n day: \"numeric\",\n year: \"numeric\",\n });\n}\n\nfunction renderValue(val: any): React.ReactNode {\n if (val == null) return \"0\";\n if (typeof val === \"object\" && \"y\" in val) {\n return String(val.y);\n }\n return String(val);\n}\n\nexport function CustomTooltip(props: ChartsAxisContentProps) {\n const { series, axisValue, dataIndex } = props;\n const theme = useTheme();\n\n if (dataIndex == null) {\n return null;\n }\n\n return (\n <Box\n sx={{\n backgroundColor: theme.palette.common.white,\n borderRadius: \"12px\",\n boxShadow: \"0px 12px 24px -4px #1018281a, 0px 4px 8px -2px #1018280f\", // Very high elevation shadow per reference\n padding: \"16px\",\n minWidth: \"200px\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"12px\",\n border: `1px solid ${theme.palette.divider}`,\n }}\n >\n <Typography\n variant=\"body2\"\n sx={{\n fontWeight: 600,\n color: theme.palette.text.primary,\n paddingBottom: \"12px\",\n borderBottom: `1px solid ${theme.palette.divider}`,\n }}\n >\n {formatDate(axisValue)}\n </Typography>\n\n {series.map((s) => {\n // Find the color and the value\n const color = typeof s.getColor === \"function\" ? s.getColor(dataIndex) : s.color;\n // The values are in s.data\n const value = s.data ? s.data[dataIndex] : null;\n if (value == null) return null;\n\n return (\n <Box key={s.id} sx={{ display: \"flex\", flexDirection: \"column\", gap: \"6px\" }}>\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: \"8px\" }}>\n <Box\n sx={{\n width: 16,\n height: 16,\n borderRadius: \"4px\",\n backgroundColor: color,\n flexShrink: 0,\n }}\n />\n <Typography\n variant=\"body2\"\n sx={{\n color: theme.palette.text.secondary,\n display: \"flex\",\n alignItems: \"center\",\n gap: \"6px\",\n }}\n >\n <Box\n component=\"span\"\n sx={{\n backgroundColor: theme.palette.grey[50] || \"#f9fafb\",\n padding: \"2px 6px\",\n borderRadius: \"4px\",\n fontWeight: 500,\n color: theme.palette.text.primary,\n border: `1px solid ${theme.palette.divider}`,\n }}\n >\n {renderValue(value)}\n </Box>{\" \"}\n events\n </Typography>\n </Box>\n </Box>\n );\n })}\n </Box>\n );\n}\n","import {\n BarChart as MuiBarChart,\n type BarChartProps as MuiBarChartProps,\n} from \"@mui/x-charts/BarChart\";\nimport { type MakeOptional } from \"@mui/x-charts/models/helpers\";\nimport { type BarSeriesType } from \"@mui/x-charts/models/seriesType/bar\";\nimport { useTheme } from \"@mui/material/styles\";\nimport { fontSize, lineHeight } from \"../../theme/tokens\";\nimport { useChartColors } from \"./useChartColors\";\n\nimport { CustomTooltip } from \"./CustomTooltip\";\n\nexport type ForestBarSeriesType = MakeOptional<BarSeriesType, \"type\"> & {\n /** Enables diagonal striped fill for comparative data representation */\n variant?: \"solid\" | \"striped\";\n};\n\nexport interface BarChartProps extends Omit<MuiBarChartProps, \"series\"> {\n series?: ForestBarSeriesType[];\n}\n\nexport function BarChart({ series, colors, ...props }: BarChartProps) {\n const theme = useTheme();\n const chart = theme.palette.chart;\n const seriesColors = useChartColors(series?.length ?? 0);\n const resolvedColors = colors ?? seriesColors;\n\n // Set default highlight scope for cool hover fading effects, and mount Stripe styling \n const modifiedSeries = series?.map((s, idx): MakeOptional<BarSeriesType, \"type\"> => {\n const baseColor = s.color || (resolvedColors as string[])[idx % (resolvedColors as string[]).length];\n const actualColor = s.variant === \"striped\" ? `url(#striped-pattern-${idx})` : baseColor;\n\n const { variant, ...rest } = s;\n\n return {\n ...rest,\n color: actualColor,\n highlightScope: s.highlightScope ?? { highlighted: \"item\", faded: \"global\" },\n };\n });\n\n return (\n <MuiBarChart\n series={modifiedSeries ?? []}\n colors={colors ?? seriesColors}\n grid={{ horizontal: true }}\n borderRadius={4}\n slots={{\n axisContent: CustomTooltip,\n }}\n slotProps={{\n legend: {\n itemMarkWidth: 12,\n itemMarkHeight: 12,\n padding: { bottom: 20 },\n },\n }}\n sx={{\n \"& .MuiChartsAxis-line\": { stroke: `${chart.axisFg} !important` },\n \"& .MuiChartsAxis-tick\": { stroke: `${chart.axisFg} !important` },\n \"& .MuiChartsAxis-tickLabel\": {\n fill: `${chart.labelFg} !important`,\n fontFamily: `${theme.typography.fontFamily} !important`,\n fontSize: `${fontSize.xxs}px !important`,\n lineHeight: lineHeight.xxs,\n },\n \"& .MuiChartsAxis-label\": {\n fill: `${chart.labelFgEmphasis} !important`,\n fontFamily: `${theme.typography.fontFamily} !important`,\n fontSize: `${typeof theme.typography.body1.fontSize === \"number\" ? theme.typography.body1.fontSize : 14}px !important`,\n fontWeight: theme.typography.fontWeightMedium,\n },\n \"& .MuiChartsGrid-line\": {\n stroke: chart.gridlineFg,\n strokeDasharray: \"4 4\",\n },\n \"& .MuiChartsLegend-series text\": {\n fill: `${chart.legendFg} !important`,\n fontFamily: `${theme.typography.fontFamily} !important`,\n fontSize: \"14px !important\",\n },\n \"& .MuiChartsLegend-mark\": {\n ry: 4,\n rx: 4,\n width: 12,\n height: 12,\n },\n \"& .MuiChartsTooltip-root\": {\n fontFamily: theme.typography.fontFamily,\n fontSize: typeof theme.typography.body1.fontSize === \"number\" ? theme.typography.body1.fontSize : 14,\n },\n \"& .MuiChartsTooltip-table\": {\n backgroundColor: chart.tooltipBg,\n color: chart.tooltipFg,\n borderRadius: theme.shape.borderRadius,\n boxShadow: theme.shadows[4],\n },\n ...((props.sx as object) ?? {}),\n }}\n {...props}\n >\n <defs>\n {series?.map((s, idx) => {\n if (s.variant !== \"striped\") return null;\n\n const baseColor = s.color || (resolvedColors as string[])[idx % (resolvedColors as string[]).length];\n return (\n <pattern\n key={`striped-${idx}`}\n id={`striped-pattern-${idx}`}\n patternUnits=\"userSpaceOnUse\"\n width=\"8\"\n height=\"8\"\n patternTransform=\"rotate(45)\"\n >\n <rect width=\"8\" height=\"8\" fill={theme.palette.background.paper} />\n <line x1=\"0\" y=\"0\" x2=\"0\" y2=\"8\" stroke={baseColor} strokeWidth=\"4\" />\n </pattern>\n );\n })}\n </defs>\n </MuiBarChart>\n );\n}\n","import {\n PieChart as MuiPieChart,\n type PieChartProps as MuiPieChartProps,\n} from \"@mui/x-charts/PieChart\";\nimport { useTheme } from \"@mui/material/styles\";\nimport { useChartColors } from \"./useChartColors\";\n\nexport interface PieChartProps extends Omit<MuiPieChartProps, \"series\"> {\n series?: MuiPieChartProps[\"series\"];\n}\n\nexport function PieChart({ series, colors, ...props }: PieChartProps) {\n const theme = useTheme();\n const chart = theme.palette.chart;\n const sliceCount = series?.[0]?.data?.length ?? 0;\n const seriesColors = useChartColors(sliceCount);\n\n // Set default highlight scope for cool hover fading effects\n const modifiedSeries = series?.map((s) => ({\n ...s,\n highlightScope: s.highlightScope ?? { highlighted: \"item\", faded: \"global\" },\n }));\n\n return (\n <MuiPieChart\n series={modifiedSeries ?? []}\n colors={colors ?? seriesColors}\n slotProps={{\n legend: {\n itemMarkWidth: 12,\n itemMarkHeight: 12,\n padding: { bottom: 20 },\n },\n }}\n sx={{\n \"& .MuiChartsLegend-series text\": {\n fill: `${chart.legendFg} !important`,\n fontFamily: `${theme.typography.fontFamily} !important`,\n fontSize: \"14px !important\",\n },\n \"& .MuiChartsLegend-mark\": {\n ry: 4,\n rx: 4,\n width: 12,\n height: 12,\n },\n \"& .MuiChartsTooltip-root\": {\n fontFamily: theme.typography.fontFamily,\n fontSize: typeof theme.typography.body1.fontSize === \"number\" ? theme.typography.body1.fontSize : 14,\n },\n \"& .MuiChartsTooltip-table\": {\n backgroundColor: chart.tooltipBg,\n color: chart.tooltipFg,\n borderRadius: theme.shape.borderRadius,\n boxShadow: theme.shadows[4],\n },\n ...((props.sx as object) ?? {}),\n }}\n {...props}\n />\n );\n}\n","import {\n ScatterChart as MuiScatterChart,\n type ScatterChartProps as MuiScatterChartProps,\n} from \"@mui/x-charts/ScatterChart\";\nimport { useTheme } from \"@mui/material/styles\";\nimport { useChartColors } from \"./useChartColors\";\nimport { getForestChartSx, forestLegendSlotProps } from \"./chartSx\";\n\nexport interface ScatterChartProps extends Omit<MuiScatterChartProps, \"series\"> {\n series?: MuiScatterChartProps[\"series\"];\n}\n\nexport function ScatterChart({ series, colors, ...props }: ScatterChartProps) {\n const theme = useTheme();\n const seriesColors = useChartColors(series?.length ?? 0);\n\n const modifiedSeries = series?.map((s) => ({\n ...s,\n highlightScope: s.highlightScope ?? { highlighted: \"item\", faded: \"global\" },\n }));\n\n return (\n <MuiScatterChart\n series={modifiedSeries ?? []}\n colors={colors ?? seriesColors}\n grid={{ horizontal: true, vertical: true }}\n slotProps={forestLegendSlotProps}\n sx={{\n ...getForestChartSx(theme),\n ...((props.sx as object) ?? {}),\n }}\n {...props}\n />\n );\n}\n","import { type Theme } from \"@mui/material/styles\";\nimport { fontSize, lineHeight } from \"../../theme/tokens\";\n\n/**\n * Shared Forest chart sx overrides.\n * Apply these to any @mui/x-charts component to get consistent Forest theming.\n */\nexport function getForestChartSx(theme: Theme) {\n const chart = theme.palette.chart;\n\n return {\n \"& .MuiChartsAxis-line\": { stroke: `${chart.axisFg} !important` },\n \"& .MuiChartsAxis-tick\": { stroke: `${chart.axisFg} !important` },\n \"& .MuiChartsAxis-tickLabel\": {\n fill: `${chart.labelFg} !important`,\n fontFamily: `${theme.typography.fontFamily} !important`,\n fontSize: `${fontSize.xxs}px !important`,\n lineHeight: lineHeight.xxs,\n },\n \"& .MuiChartsAxis-label\": {\n fill: `${chart.labelFgEmphasis} !important`,\n fontFamily: `${theme.typography.fontFamily} !important`,\n fontSize: `${typeof theme.typography.body1.fontSize === \"number\" ? theme.typography.body1.fontSize : 14}px !important`,\n fontWeight: theme.typography.fontWeightMedium,\n },\n \"& .MuiChartsGrid-line\": {\n stroke: chart.gridlineFg,\n strokeDasharray: \"4 4\",\n },\n \"& .MuiChartsLegend-series text\": {\n fill: `${chart.legendFg} !important`,\n fontFamily: `${theme.typography.fontFamily} !important`,\n fontSize: \"14px !important\",\n },\n \"& .MuiChartsLegend-mark\": {\n ry: 4,\n rx: 4,\n width: 12,\n height: 12,\n },\n \"& .MuiChartsTooltip-root\": {\n fontFamily: theme.typography.fontFamily,\n fontSize: typeof theme.typography.body1.fontSize === \"number\" ? theme.typography.body1.fontSize : 14,\n },\n \"& .MuiChartsTooltip-table\": {\n backgroundColor: chart.tooltipBg,\n color: chart.tooltipFg,\n borderRadius: theme.shape.borderRadius,\n boxShadow: theme.shadows[4],\n },\n } as const;\n}\n\n/** Standard legend slotProps for Forest charts */\nexport const forestLegendSlotProps = {\n legend: {\n itemMarkWidth: 12,\n itemMarkHeight: 12,\n padding: { bottom: 20 },\n },\n} as const;\n","import {\n Gauge as MuiGauge,\n type GaugeProps as MuiGaugeProps,\n} from \"@mui/x-charts/Gauge\";\nimport { useTheme } from \"@mui/material/styles\";\n\nexport type GaugeProps = MuiGaugeProps;\n\nexport function Gauge(props: GaugeProps) {\n const theme = useTheme();\n\n return (\n <MuiGauge\n {...props}\n sx={{\n \"& .MuiGauge-valueArc\": {\n fill: theme.palette.primary.main,\n },\n \"& .MuiGauge-referenceArc\": {\n fill: theme.palette.action.hover,\n },\n \"& .MuiGauge-valueText\": {\n fontFamily: theme.typography.fontFamily,\n fontSize: \"1.25rem\",\n fontWeight: theme.typography.fontWeightMedium,\n fill: theme.palette.text.primary,\n },\n ...((props.sx as object) ?? {}),\n }}\n />\n );\n}\n","// Forest-themed chart wrappers (custom styling, tooltip, grid, colors)\nexport { LineChart, type LineChartProps } from \"./LineChart\";\nexport { BarChart, type BarChartProps } from \"./BarChart\";\nexport { PieChart, type PieChartProps } from \"./PieChart\";\nexport { useChartColors } from \"./useChartColors\";\n\n// Forest-themed additional chart types\nexport { ScatterChart, type ScatterChartProps } from \"./ScatterChart\";\nexport { Gauge, type GaugeProps } from \"./Gauge\";\n\n// Additional chart types (pure re-exports from @mui/x-charts)\nexport { SparkLineChart } from \"@mui/x-charts/SparkLineChart\";\nexport { GaugeContainer, GaugeReferenceArc, GaugeValueArc, GaugeValueText } from \"@mui/x-charts/Gauge\";\n\n// Composition primitives — for building custom charts\nexport { ChartContainer } from \"@mui/x-charts/ChartContainer\";\nexport { ResponsiveChartContainer } from \"@mui/x-charts/ResponsiveChartContainer\";\nexport { ChartsSurface } from \"@mui/x-charts/ChartsSurface\";\nexport { ChartsClipPath } from \"@mui/x-charts/ChartsClipPath\";\n\n// Axis & Grid\nexport { ChartsAxis } from \"@mui/x-charts/ChartsAxis\";\nexport { ChartsXAxis } from \"@mui/x-charts/ChartsXAxis\";\nexport { ChartsYAxis } from \"@mui/x-charts/ChartsYAxis\";\nexport { ChartsGrid } from \"@mui/x-charts/ChartsGrid\";\nexport { ChartsReferenceLine } from \"@mui/x-charts/ChartsReferenceLine\";\n\n// Legend & Tooltip\nexport { ChartsLegend } from \"@mui/x-charts/ChartsLegend\";\nexport { DefaultChartsLegend } from \"@mui/x-charts/ChartsLegend\";\nexport { ChartsTooltip } from \"@mui/x-charts/ChartsTooltip\";\nexport { ChartsAxisTooltipContent, ChartsItemTooltipContent, DefaultChartsAxisTooltipContent, DefaultChartsItemTooltipContent } from \"@mui/x-charts/ChartsTooltip\";\nexport { ChartsTooltipCell, ChartsTooltipMark, ChartsTooltipPaper, ChartsTooltipRow, ChartsTooltipTable } from \"@mui/x-charts/ChartsTooltip\";\nexport { ContinuousColorLegend } from \"@mui/x-charts/ChartsLegend\";\nexport { PiecewiseColorLegend } from \"@mui/x-charts/ChartsLegend\";\n\n// Text\nexport { ChartsText } from \"@mui/x-charts/ChartsText\";\n\n// Highlight & Interaction\nexport { ChartsAxisHighlight } from \"@mui/x-charts/ChartsAxisHighlight\";\nexport { ChartsAxisHighlightPath } from \"@mui/x-charts/ChartsAxisHighlight\";\nexport { ChartsOnAxisClickHandler } from \"@mui/x-charts/ChartsOnAxisClickHandler\";\nexport { ChartsVoronoiHandler } from \"@mui/x-charts/ChartsVoronoiHandler\";\nexport { HighlightedProvider } from \"@mui/x-charts/context\";\n\n// Plot layers — Bar\nexport { BarPlot } from \"@mui/x-charts/BarChart\";\nexport { BarElement, BarElementPath } from \"@mui/x-charts/BarChart\";\nexport { BarLabel } from \"@mui/x-charts/BarChart\";\n\n// Plot layers — Line & Area\nexport { LinePlot, LineElement, LineElementPath } from \"@mui/x-charts/LineChart\";\nexport { AreaPlot, AreaElement, AreaElementPath } from \"@mui/x-charts/LineChart\";\nexport { LineHighlightPlot, LineHighlightElement } from \"@mui/x-charts/LineChart\";\nexport { MarkPlot, MarkElement } from \"@mui/x-charts/LineChart\";\nexport { AnimatedArea, AnimatedLine } from \"@mui/x-charts/LineChart\";\n\n// Plot layers — Pie\nexport { PiePlot, PieArc, PieArcPlot, PieArcLabel, PieArcLabelPlot } from \"@mui/x-charts/PieChart\";\n\n// Plot layers — Scatter\nexport { ScatterPlot, Scatter } from \"@mui/x-charts/ScatterChart\";\n\n// Hooks\nexport { useDrawingArea } from \"@mui/x-charts/hooks\";\nexport { useChartId } from \"@mui/x-charts/hooks\";\nexport { useSvgRef } from \"@mui/x-charts/hooks\";\nexport { useXAxis, useXScale, useXColorScale } from \"@mui/x-charts/hooks\";\nexport { useYAxis, useYScale, useYColorScale } from \"@mui/x-charts/hooks\";\nexport { useZColorScale } from \"@mui/x-charts/hooks\";\nexport { useAxisTooltip } from \"@mui/x-charts/ChartsTooltip\";\nexport { useItemTooltip } from \"@mui/x-charts/ChartsTooltip\";\nexport { useMouseTracker } from \"@mui/x-charts/ChartsTooltip\";\nexport { useHighlighted, useItemHighlighted } from \"@mui/x-charts/context\";\nexport { useGaugeState } from \"@mui/x-charts/Gauge\";\n\n// Color palettes\nexport {\n blueberryTwilightPalette,\n blueberryTwilightPaletteDark,\n blueberryTwilightPaletteLight,\n cheerfulFiestaPalette,\n cheerfulFiestaPaletteDark,\n cheerfulFiestaPaletteLight,\n mangoFusionPalette,\n mangoFusionPaletteDark,\n mangoFusionPaletteLight,\n} from \"@mui/x-charts/colorPalettes\";\n\n// Utility functions\nexport { getSeriesToDisplay } from \"@mui/x-charts/ChartsLegend\";\nexport { getPieCoordinates } from \"@mui/x-charts/PieChart\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAAAA;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAAC;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA,wBAAAC;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;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","names":["Box","IconButton","InputAdornment","import_styles","base","error","warning","success","info","text","bg","fg","border","fontFamily","display","fontSize","lineHeight","fontWeight","base","error","warning","success","info","radius","focusRings","text","bg","fg","border","buttonColors","sliderColors","avatarColors","breadcrumbColors","radius","text","bg","fg","border","buttonColors","avatarColors","breadcrumbColors","iconColors","navColors","sliderColors","toggleColors","chartColors","focusRings","radius","text","bg","fg","border","buttonColors","avatarColors","breadcrumbColors","iconColors","navColors","sliderColors","toggleColors","chartColors","focusRings","radius","text","bg","fg","border","buttonColors","avatarColors","breadcrumbColors","iconColors","navColors","sliderColors","toggleColors","chartColors","focusRings","colors","radius","text","bg","fg","border","buttonColors","avatarColors","breadcrumbColors","iconColors","navColors","sliderColors","toggleColors","chartColors","focusRings","CssBaseline","import_jsx_runtime","MuiAutocomplete","import_jsx_runtime","MuiButton","import_jsx_runtime","MuiButtonGroup","import_jsx_runtime","MuiCheckbox","import_jsx_runtime","MuiFab","import_jsx_runtime","MuiRadioGroup","MuiRadio","import_jsx_runtime","MuiSelect","MuiMenuItem","import_Select","import_MenuItem","import_Checkbox","import_Button","import_jsx_runtime","renderValue","MuiFormControl","MuiInputLabel","MuiSelect","MuiButton","MuiMenuItem","MuiCheckbox","MuiListItemText","import_jsx_runtime","MuiSwitch","import_jsx_runtime","MuiTextField","import_react","import_TextField","import_jsx_runtime","_jsx","import_jsx_runtime","_jsx","import_jsx_runtime","MuiTextField","InputAdornment","IconButton","import_jsx_runtime","MuiInputBase","import_IconButton","import_jsx_runtime","IconButton","MuiIconButton","import_react","import_jsx_runtime","import_jsx_runtime","MuiToggleButton","MuiToggleButtonGroup","import_jsx_runtime","MuiDatePicker","import_FormControl","import_jsx_runtime","MuiFormControl","MuiFormControlLabel","MuiFormGroup","MuiFormHelperText","MuiFormLabel","import_InputAdornment","import_jsx_runtime","InputAdornment","MuiInputAdornment","import_InputBase","import_jsx_runtime","MuiInputBase","import_InputLabel","import_jsx_runtime","MuiInputLabel","import_jsx_runtime","MuiOutlinedInput","MuiFilledInput","import_jsx_runtime","MuiAvatar","MuiAvatarGroup","import_jsx_runtime","MuiBadge","import_jsx_runtime","_jsx","import_jsx_runtime","MuiChip","import_jsx_runtime","MuiDivider","import_jsx_runtime","MuiImageList","MuiImageListItem","MuiImageListItemBar","import_ListItemText","import_jsx_runtime","MuiList","MuiListItem","MuiListItemButton","MuiListItemIcon","MuiListItemText","MuiListItemAvatar","MuiListSubheader","MuiListItemSecondaryAction","import_jsx_runtime","MuiRating","import_jsx_runtime","MuiTable","MuiTableBody","MuiTableCell","MuiTableContainer","MuiTableHead","MuiTableRow","MuiTableFooter","MuiTablePagination","MuiTableSortLabel","import_jsx_runtime","MuiDataGrid","import_jsx_runtime","MuiTooltip","import_jsx_runtime","MuiTypography","import_jsx_runtime","MuiAccordion","MuiAccordionSummary","MuiAccordionDetails","MuiAccordionActions","import_Button","import_jsx_runtime","MuiAppBar","MuiToolbar","MuiButton","import_jsx_runtime","MuiCard","MuiCardContent","MuiCardHeader","MuiCardActions","MuiCardMedia","import_jsx_runtime","MuiCardActionArea","import_jsx_runtime","MuiDrawer","MuiSwipeableDrawer","import_jsx_runtime","MuiPaper","import_react","import_jsx_runtime","React","Alert","MuiAlert","MuiAlertTitle","import_jsx_runtime","MuiBackdrop","import_jsx_runtime","MuiDialog","MuiDialogTitle","MuiDialogContent","MuiDialogActions","MuiDialogContentText","import_jsx_runtime","MuiLinearProgress","MuiCircularProgress","import_jsx_runtime","MuiSkeleton","import_jsx_runtime","MuiModal","import_jsx_runtime","MuiPopover","import_jsx_runtime","MuiSnackbar","import_jsx_runtime","MuiSnackbarContent","import_jsx_runtime","MuiBottomNavigation","MuiBottomNavigationAction","import_jsx_runtime","MuiBreadcrumbs","import_jsx_runtime","MuiLink","import_jsx_runtime","MuiMenu","MuiMenuList","import_jsx_runtime","MuiMobileStepper","import_jsx_runtime","MuiPagination","import_jsx_runtime","MuiPaginationItem","import_jsx_runtime","MuiSpeedDial","MuiSpeedDialAction","MuiSpeedDialIcon","import_jsx_runtime","MuiStepper","MuiStep","MuiStepLabel","MuiStepButton","MuiStepConnector","MuiStepContent","MuiStepIcon","import_jsx_runtime","MuiTabs","MuiTab","import_jsx_runtime","MuiTabScrollButton","import_react","import_Drawer","import_IconButton","import_jsx_runtime","_jsx","import_jsx_runtime","_jsx","import_ListItemButton","import_ListItemIcon","import_ListItemText","import_Tooltip","import_jsx_runtime","Box","MuiDrawer","IconButton","MuiTooltip","MuiListItemButton","ListItemIcon","ListItemText","import_Box","Box","MuiBox","MuiStack","MuiGrid","MuiContainer","import_jsx_runtime","MuiCollapse","import_jsx_runtime","MuiFade","import_jsx_runtime","MuiGrow","import_jsx_runtime","MuiSlide","import_jsx_runtime","MuiZoom","import_jsx_runtime","MuiButtonBase","import_jsx_runtime","MuiClickAwayListener","import_jsx_runtime","MuiGlobalStyles","import_jsx_runtime","MuiPopper","MuiPortal","import_jsx_runtime","MuiSlider","import_jsx_runtime","MuiSvgIcon","import_styles","import_styles","colors","import_material","import_styles","import_jsx_runtime","import_jsx_runtime","colors","_a","_b","MuiLineChart","import_styles","import_jsx_runtime","colors","_a","MuiBarChart","import_styles","import_jsx_runtime","colors","_a","MuiPieChart","import_styles","import_jsx_runtime","colors","_a","MuiScatterChart","import_styles","import_jsx_runtime","MuiGauge","import_Gauge","import_ChartsLegend","import_ChartsTooltip","import_ChartsAxisHighlight","import_BarChart","import_LineChart","import_PieChart","import_ScatterChart","import_hooks","import_context","import_material"]}