@matteoaliano/forest-ui 0.2.8 → 0.2.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -1,6 +1,6 @@
1
- import { forestTheme, getPreset, buildTheme } from './chunk-3FZJFTY7.mjs';
2
- export { alkemyPlusPreset, alpha, avatarColors, bg, border, breadcrumbColors, buildTheme, buildThemeOptions, buttonColors, chartColors, colors, container, display, fg, focusRings, fontFamily, fontSize, fontWeight, forestPreset, forestTheme, forestThemeOptions, getAvailablePresets, getPreset, iconColors, lineHeight, navColors, radius, registerPreset, sliderColors, spacing, text, toggleColors, shadows as tokenShadows, widths } from './chunk-3FZJFTY7.mjs';
3
- import { useMemo } from 'react';
1
+ import { bg, navColors, text, forestTheme, getPreset, buildTheme } from './chunk-QF5T6J4D.mjs';
2
+ export { alkemyPlusPreset, alpha, avatarColors, bg, border, breadcrumbColors, buildTheme, buildThemeOptions, buttonColors, chartColors, colors, container, display, fg, focusRings, fontFamily, fontSize, fontWeight, forestPreset, forestTheme, forestThemeOptions, getAvailablePresets, getPreset, iconColors, lineHeight, navColors, radius, registerPreset, sliderColors, spacing, text, toggleColors, shadows as tokenShadows, widths } from './chunk-QF5T6J4D.mjs';
3
+ import { createContext, useMemo, useContext } from 'react';
4
4
  import { ThemeProvider } from '@mui/material/styles';
5
5
  import CssBaseline from '@mui/material/CssBaseline';
6
6
  import { jsx, jsxs } from 'react/jsx-runtime';
@@ -23,8 +23,8 @@ import { createSvgIcon } from '@mui/material/utils';
23
23
  import MuiDivider from '@mui/material/Divider';
24
24
  import MuiList from '@mui/material/List';
25
25
  import MuiListItem from '@mui/material/ListItem';
26
- import MuiListItemButton from '@mui/material/ListItemButton';
27
- import MuiListItemIcon from '@mui/material/ListItemIcon';
26
+ import MuiListItemButton2 from '@mui/material/ListItemButton';
27
+ import ListItemIcon2 from '@mui/material/ListItemIcon';
28
28
  import MuiListItemText from '@mui/material/ListItemText';
29
29
  import MuiListItemAvatar from '@mui/material/ListItemAvatar';
30
30
  import MuiListSubheader from '@mui/material/ListSubheader';
@@ -61,6 +61,9 @@ import MuiLinearProgress from '@mui/material/LinearProgress';
61
61
  import MuiCircularProgress from '@mui/material/CircularProgress';
62
62
  import MuiSkeleton from '@mui/material/Skeleton';
63
63
  import MuiSnackbar from '@mui/material/Snackbar';
64
+ import MuiDrawer from '@mui/material/Drawer';
65
+ import Box from '@mui/material/Box';
66
+ import IconButton from '@mui/material/IconButton';
64
67
 
65
68
  function ForestProvider({
66
69
  children,
@@ -156,10 +159,10 @@ function ListItem(props) {
156
159
  return /* @__PURE__ */ jsx(MuiListItem, { ...props });
157
160
  }
158
161
  function ListItemButton(props) {
159
- return /* @__PURE__ */ jsx(MuiListItemButton, { ...props });
162
+ return /* @__PURE__ */ jsx(MuiListItemButton2, { ...props });
160
163
  }
161
164
  function ListItemIcon(props) {
162
- return /* @__PURE__ */ jsx(MuiListItemIcon, { ...props });
165
+ return /* @__PURE__ */ jsx(ListItemIcon2, { ...props });
163
166
  }
164
167
  function ListItemText(props) {
165
168
  return /* @__PURE__ */ jsx(MuiListItemText, { ...props });
@@ -269,7 +272,166 @@ function Skeleton(props) {
269
272
  function Snackbar(props) {
270
273
  return /* @__PURE__ */ jsx(MuiSnackbar, { ...props });
271
274
  }
275
+ var ChevronLeftOutlined_default = createSvgIcon(/* @__PURE__ */ jsx("path", {
276
+ d: "M15.41 7.41 14 6l-6 6 6 6 1.41-1.41L10.83 12z"
277
+ }), "ChevronLeftOutlined");
278
+ var ChevronRightOutlined_default = createSvgIcon(/* @__PURE__ */ jsx("path", {
279
+ d: "M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"
280
+ }), "ChevronRightOutlined");
281
+ var SidebarContext = createContext({
282
+ open: true,
283
+ collapsedWidth: 48,
284
+ expandedWidth: 240
285
+ });
286
+ function useSidebar() {
287
+ return useContext(SidebarContext);
288
+ }
289
+ function SidebarNav({
290
+ open,
291
+ onOpenChange,
292
+ expandedWidth = 240,
293
+ collapsedWidth = 48,
294
+ behavior = "permanent",
295
+ showToggle,
296
+ children,
297
+ header,
298
+ footer,
299
+ sx,
300
+ ...rest
301
+ }) {
302
+ const isHover = behavior === "hover";
303
+ const drawerWidth = open ? expandedWidth : collapsedWidth;
304
+ const layoutWidth = isHover ? collapsedWidth : drawerWidth;
305
+ const shouldShowToggle = showToggle != null ? showToggle : !isHover;
306
+ const hoverHandlers = isHover ? {
307
+ onMouseEnter: () => onOpenChange(true),
308
+ onMouseLeave: () => onOpenChange(false)
309
+ } : {};
310
+ return /* @__PURE__ */ jsx(SidebarContext.Provider, { value: { open, collapsedWidth, expandedWidth }, children: /* @__PURE__ */ jsxs(Box, { sx: { position: "relative", width: layoutWidth, flexShrink: 0 }, children: [
311
+ /* @__PURE__ */ jsx(
312
+ MuiDrawer,
313
+ {
314
+ variant: "permanent",
315
+ ...rest,
316
+ ...hoverHandlers,
317
+ sx: {
318
+ width: drawerWidth,
319
+ flexShrink: 0,
320
+ "& .MuiDrawer-paper": {
321
+ width: drawerWidth,
322
+ transition: "width 200ms ease-in-out",
323
+ overflowX: "hidden",
324
+ boxSizing: "border-box",
325
+ ...isHover && { zIndex: (theme) => theme.zIndex.drawer + 2 }
326
+ },
327
+ ...sx
328
+ },
329
+ children: /* @__PURE__ */ jsxs(
330
+ Box,
331
+ {
332
+ sx: {
333
+ display: "flex",
334
+ flexDirection: "column",
335
+ height: "100%",
336
+ overflow: "hidden"
337
+ },
338
+ children: [
339
+ header && /* @__PURE__ */ jsx(Box, { sx: { flexShrink: 0 }, children: header }),
340
+ /* @__PURE__ */ jsx(Box, { sx: { flexGrow: 1, overflowY: "auto", overflowX: "hidden" }, children }),
341
+ footer && /* @__PURE__ */ jsx(Box, { sx: { flexShrink: 0 }, children: footer })
342
+ ]
343
+ }
344
+ )
345
+ }
346
+ ),
347
+ shouldShowToggle && /* @__PURE__ */ jsx(
348
+ IconButton,
349
+ {
350
+ size: "small",
351
+ onClick: () => onOpenChange(!open),
352
+ sx: {
353
+ position: "absolute",
354
+ top: "50%",
355
+ right: 0,
356
+ transform: "translate(50%, -50%)",
357
+ zIndex: (theme) => theme.zIndex.drawer + 1,
358
+ width: 28,
359
+ height: 28,
360
+ border: 1,
361
+ borderColor: "divider",
362
+ backgroundColor: "background.paper",
363
+ boxShadow: 1,
364
+ "&:hover": {
365
+ backgroundColor: "action.hover"
366
+ },
367
+ "& .MuiSvgIcon-root": {
368
+ fontSize: 18
369
+ }
370
+ },
371
+ children: open ? /* @__PURE__ */ jsx(ChevronLeftOutlined_default, {}) : /* @__PURE__ */ jsx(ChevronRightOutlined_default, {})
372
+ }
373
+ )
374
+ ] }) });
375
+ }
376
+ var itemSx = {
377
+ borderRadius: 1,
378
+ backgroundColor: bg.primary,
379
+ color: text.secondary,
380
+ "& .MuiListItemIcon-root": {
381
+ color: navColors.itemIconFg
382
+ },
383
+ "&:hover": {
384
+ backgroundColor: bg.primaryHover
385
+ },
386
+ "&.Mui-selected": {
387
+ backgroundColor: bg.active,
388
+ color: text.primary,
389
+ "& .MuiListItemIcon-root": {
390
+ color: navColors.itemIconFgActive
391
+ },
392
+ "& .MuiListItemText-primary": {
393
+ fontWeight: 600
394
+ },
395
+ "&:hover": {
396
+ backgroundColor: bg.primaryHover
397
+ }
398
+ }
399
+ };
400
+ function SidebarItem({
401
+ icon,
402
+ label,
403
+ endAdornment,
404
+ sx,
405
+ ...rest
406
+ }) {
407
+ const { open } = useSidebar();
408
+ if (!open) {
409
+ return /* @__PURE__ */ jsx(MuiTooltip, { title: label, placement: "right", arrow: true, children: /* @__PURE__ */ jsx(
410
+ MuiListItemButton2,
411
+ {
412
+ ...rest,
413
+ sx: {
414
+ ...itemSx,
415
+ display: "flex",
416
+ justifyContent: "center",
417
+ alignItems: "center",
418
+ width: 40,
419
+ height: 40,
420
+ padding: 0,
421
+ margin: "0 auto",
422
+ ...sx
423
+ },
424
+ children: /* @__PURE__ */ jsx(ListItemIcon2, { sx: { minWidth: "unset", margin: 0, "& .MuiSvgIcon-root": { fontSize: 20 } }, children: icon })
425
+ }
426
+ ) });
427
+ }
428
+ return /* @__PURE__ */ jsxs(MuiListItemButton2, { ...rest, sx: { ...itemSx, height: 40, ...sx }, children: [
429
+ /* @__PURE__ */ jsx(ListItemIcon2, { sx: { "& .MuiSvgIcon-root": { fontSize: 20 } }, children: icon }),
430
+ /* @__PURE__ */ jsx(MuiListItemText, { primary: label }),
431
+ endAdornment
432
+ ] });
433
+ }
272
434
 
273
- export { Accordion, AccordionActions, AccordionDetails, AccordionSummary, Alert, AlertTitle, AppBar, Autocomplete, Backdrop, Badge, Button, ButtonGroup, Card, CardActions, CardContent, CardHeader, CardMedia, Checkbox, Chip, CircularProgress, DataGrid, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle, Divider, Fab, ForestProvider, LinearProgress, List, ListItem, ListItemAvatar, ListItemButton, ListItemIcon, ListItemText, ListSubheader, MenuItem, Paper, Radio, RadioGroup, Select, Skeleton, Snackbar, Switch, Table, TableBody, TableCell, TableContainer, TableHead, TableRow, TextField, ToggleButton, ToggleButtonGroup, Toolbar, Tooltip, Typography };
435
+ export { Accordion, AccordionActions, AccordionDetails, AccordionSummary, Alert, AlertTitle, AppBar, Autocomplete, Backdrop, Badge, Button, ButtonGroup, Card, CardActions, CardContent, CardHeader, CardMedia, Checkbox, Chip, CircularProgress, DataGrid, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle, Divider, Fab, ForestProvider, LinearProgress, List, ListItem, ListItemAvatar, ListItemButton, ListItemIcon, ListItemText, ListSubheader, MenuItem, Paper, Radio, RadioGroup, Select, SidebarItem, SidebarNav, Skeleton, Snackbar, Switch, Table, TableBody, TableCell, TableContainer, TableHead, TableRow, TextField, ToggleButton, ToggleButtonGroup, Toolbar, Tooltip, Typography, useSidebar };
274
436
  //# sourceMappingURL=index.mjs.map
275
437
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/provider/ForestProvider.tsx","../src/components/Autocomplete/index.tsx","../src/components/Button/index.tsx","../src/components/ButtonGroup/index.tsx","../src/components/Checkbox/index.tsx","../src/components/Fab/index.tsx","../src/components/RadioGroup/index.tsx","../src/components/Select/index.tsx","../src/components/Switch/index.tsx","../src/components/TextField/index.tsx","../src/components/ToggleButton/index.tsx","../src/components/Badge/index.tsx","../../../node_modules/@mui/icons-material/esm/CloseOutlined.js","../src/components/Chip/index.tsx","../src/components/Divider/index.tsx","../src/components/List/index.tsx","../src/components/Table/index.tsx","../src/components/DataGrid/index.tsx","../src/components/Tooltip/index.tsx","../src/components/Typography/index.tsx","../src/components/Accordion/index.tsx","../src/components/AppBar/index.tsx","../src/components/Card/index.tsx","../src/components/Paper/index.tsx","../src/components/Alert/index.tsx","../src/components/Backdrop/index.tsx","../src/components/Dialog/index.tsx","../src/components/Progress/index.tsx","../src/components/Skeleton/index.tsx","../src/components/Snackbar/index.tsx"],"names":["jsx","_jsx","MuiDataGrid"],"mappings":"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","file":"index.mjs","sourcesContent":["\"use client\";\n\nimport { useMemo } from \"react\";\nimport { ThemeProvider, type Theme } from \"@mui/material/styles\";\nimport CssBaseline from \"@mui/material/CssBaseline\";\nimport { forestTheme } from \"../theme\";\nimport { getPreset } from \"../theme/presets\";\nimport { buildTheme } from \"../theme/buildTheme\";\n\nexport interface ForestProviderProps {\n children: React.ReactNode;\n theme?: Theme;\n preset?: string;\n variant?: string;\n disableCssBaseline?: boolean;\n}\n\nexport function ForestProvider({\n children,\n theme,\n preset,\n variant,\n disableCssBaseline = false,\n}: ForestProviderProps) {\n const resolvedTheme = useMemo(() => {\n // Explicit theme prop takes highest priority\n if (theme) return theme;\n\n // If no preset specified, use the default forest theme\n if (!preset) return forestTheme;\n\n // Resolve preset + variant\n const presetConfig = getPreset(preset);\n if (!presetConfig) {\n throw new Error(\n `[ForestProvider] Unknown preset \"${preset}\". ` +\n `Available presets: use getAvailablePresets() to see registered presets.`\n );\n }\n\n const variantName = variant ?? presetConfig.defaultVariant;\n const variantConfig = presetConfig.variants[variantName];\n if (!variantConfig) {\n throw new Error(\n `[ForestProvider] Unknown variant \"${variantName}\" for preset \"${preset}\". ` +\n `Available variants: ${Object.keys(presetConfig.variants).join(\", \")}.`\n );\n }\n\n return buildTheme(variantConfig.tokens);\n }, [theme, preset, variant]);\n\n return (\n <ThemeProvider theme={resolvedTheme}>\n {!disableCssBaseline && <CssBaseline />}\n {children}\n </ThemeProvider>\n );\n}\n","import MuiAutocomplete, {\n type AutocompleteProps,\n} from \"@mui/material/Autocomplete\";\n\nexport type { AutocompleteProps };\n\nexport function Autocomplete<\n Value,\n Multiple extends boolean | undefined = false,\n DisableClearable extends boolean | undefined = false,\n FreeSolo extends boolean | undefined = false,\n>(\n props: AutocompleteProps<Value, Multiple, DisableClearable, FreeSolo>,\n) {\n return <MuiAutocomplete {...props} />;\n}\n","import MuiButton, { type ButtonProps as MuiButtonProps } from \"@mui/material/Button\";\n\nexport type ButtonProps = Omit<MuiButtonProps, \"size\">;\n\nexport function Button({ ...props }: ButtonProps) {\n return <MuiButton variant=\"contained\" {...props} />;\n}\n","import MuiButtonGroup, { type ButtonGroupProps } from \"@mui/material/ButtonGroup\";\n\nexport type { ButtonGroupProps };\n\nexport function ButtonGroup(props: ButtonGroupProps) {\n return <MuiButtonGroup variant=\"contained\" {...props} />;\n}\n","import MuiCheckbox, { type CheckboxProps } from \"@mui/material/Checkbox\";\n\nexport type { CheckboxProps };\n\nexport function Checkbox(props: CheckboxProps) {\n return <MuiCheckbox {...props} />;\n}\n","import MuiFab, { type FabProps } from \"@mui/material/Fab\";\n\nexport type { FabProps };\n\nexport function Fab(props: FabProps) {\n return <MuiFab color=\"primary\" {...props} />;\n}\n","import MuiRadioGroup, { type RadioGroupProps } from \"@mui/material/RadioGroup\";\nimport MuiRadio, { type RadioProps } from \"@mui/material/Radio\";\n\nexport type { RadioGroupProps, RadioProps };\n\nexport function RadioGroup(props: RadioGroupProps) {\n return <MuiRadioGroup {...props} />;\n}\n\nexport function Radio(props: RadioProps) {\n return <MuiRadio {...props} />;\n}\n","import MuiSelect, { type SelectProps } from \"@mui/material/Select\";\nimport MuiMenuItem, { type MenuItemProps } from \"@mui/material/MenuItem\";\n\nexport type { SelectProps, MenuItemProps };\n\nexport function Select<Value = unknown>(props: SelectProps<Value>) {\n return <MuiSelect {...props} />;\n}\n\nexport function MenuItem(props: MenuItemProps) {\n return <MuiMenuItem {...props} />;\n}\n","import MuiSwitch, { type SwitchProps } from \"@mui/material/Switch\";\n\nexport type { SwitchProps };\n\nexport function Switch(props: SwitchProps) {\n return <MuiSwitch {...props} />;\n}\n","import MuiTextField, { type TextFieldProps } from \"@mui/material/TextField\";\n\nexport type { TextFieldProps };\n\nexport function TextField(props: TextFieldProps) {\n return <MuiTextField {...props} />;\n}\n","import MuiToggleButton, { type ToggleButtonProps } from \"@mui/material/ToggleButton\";\nimport MuiToggleButtonGroup, { type ToggleButtonGroupProps } from \"@mui/material/ToggleButtonGroup\";\n\nexport type { ToggleButtonProps, ToggleButtonGroupProps };\n\nexport function ToggleButton(props: ToggleButtonProps) {\n return <MuiToggleButton {...props} />;\n}\n\nexport function ToggleButtonGroup(props: ToggleButtonGroupProps) {\n return <MuiToggleButtonGroup {...props} />;\n}\n","import MuiBadge, { type BadgeProps } from \"@mui/material/Badge\";\n\nexport type { BadgeProps };\n\nexport function Badge(props: BadgeProps) {\n return <MuiBadge {...props} />;\n}\n","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n}), 'CloseOutlined');","import MuiChip, { type ChipProps } from \"@mui/material/Chip\";\nimport CloseIcon from \"@mui/icons-material/CloseOutlined\";\n\nexport type { ChipProps };\n\nexport function Chip(props: ChipProps) {\n return (\n <MuiChip\n deleteIcon={<CloseIcon />}\n {...props}\n />\n );\n}\n","import MuiDivider, { type DividerProps } from \"@mui/material/Divider\";\n\nexport type { DividerProps };\n\nexport function Divider(props: DividerProps) {\n return <MuiDivider {...props} />;\n}\n","import MuiList, { type ListProps } from \"@mui/material/List\";\nimport MuiListItem, { type ListItemProps } from \"@mui/material/ListItem\";\nimport MuiListItemButton, { type ListItemButtonProps } from \"@mui/material/ListItemButton\";\nimport MuiListItemIcon, { type ListItemIconProps } from \"@mui/material/ListItemIcon\";\nimport MuiListItemText, { type ListItemTextProps } from \"@mui/material/ListItemText\";\nimport MuiListItemAvatar, { type ListItemAvatarProps } from \"@mui/material/ListItemAvatar\";\nimport MuiListSubheader, { type ListSubheaderProps } from \"@mui/material/ListSubheader\";\n\nexport type {\n ListProps,\n ListItemProps,\n ListItemButtonProps,\n ListItemIconProps,\n ListItemTextProps,\n ListItemAvatarProps,\n ListSubheaderProps,\n};\n\nexport function List(props: ListProps) {\n return <MuiList {...props} />;\n}\n\nexport function ListItem(props: ListItemProps) {\n return <MuiListItem {...props} />;\n}\n\nexport function ListItemButton(props: ListItemButtonProps) {\n return <MuiListItemButton {...props} />;\n}\n\nexport function ListItemIcon(props: ListItemIconProps) {\n return <MuiListItemIcon {...props} />;\n}\n\nexport function ListItemText(props: ListItemTextProps) {\n return <MuiListItemText {...props} />;\n}\n\nexport function ListItemAvatar(props: ListItemAvatarProps) {\n return <MuiListItemAvatar {...props} />;\n}\n\nexport function ListSubheader(props: ListSubheaderProps) {\n return <MuiListSubheader {...props} />;\n}\n","import MuiTable, { type TableProps } from \"@mui/material/Table\";\nimport MuiTableBody, { type TableBodyProps } from \"@mui/material/TableBody\";\nimport MuiTableCell, { type TableCellProps } from \"@mui/material/TableCell\";\nimport MuiTableContainer, { type TableContainerProps } from \"@mui/material/TableContainer\";\nimport MuiTableHead, { type TableHeadProps } from \"@mui/material/TableHead\";\nimport MuiTableRow, { type TableRowProps } from \"@mui/material/TableRow\";\n\nexport type {\n TableProps,\n TableBodyProps,\n TableCellProps,\n TableContainerProps,\n TableHeadProps,\n TableRowProps,\n};\n\nexport function Table(props: TableProps) {\n return <MuiTable {...props} />;\n}\n\nexport function TableBody(props: TableBodyProps) {\n return <MuiTableBody {...props} />;\n}\n\nexport function TableCell(props: TableCellProps) {\n return <MuiTableCell {...props} />;\n}\n\nexport function TableContainer(props: TableContainerProps) {\n return <MuiTableContainer {...props} />;\n}\n\nexport function TableHead(props: TableHeadProps) {\n return <MuiTableHead {...props} />;\n}\n\nexport function TableRow(props: TableRowProps) {\n return <MuiTableRow {...props} />;\n}\n","import { DataGrid as MuiDataGrid, type DataGridProps } from \"@mui/x-data-grid\";\n\nexport type { DataGridProps };\nexport type {\n GridColDef,\n GridRowsProp,\n GridRowParams,\n GridCellParams,\n GridSortModel,\n GridFilterModel,\n GridPaginationModel,\n} from \"@mui/x-data-grid\";\n\nexport function DataGrid(props: DataGridProps) {\n return <MuiDataGrid {...props} />;\n}\n","import MuiTooltip, { type TooltipProps } from \"@mui/material/Tooltip\";\n\nexport type { TooltipProps };\n\nexport function Tooltip(props: TooltipProps) {\n return <MuiTooltip arrow {...props} />;\n}\n","import MuiTypography, { type TypographyProps } from \"@mui/material/Typography\";\n\nexport type { TypographyProps };\n\nexport function Typography(props: TypographyProps) {\n return <MuiTypography {...props} />;\n}\n","import MuiAccordion, { type AccordionProps } from \"@mui/material/Accordion\";\nimport MuiAccordionSummary, { type AccordionSummaryProps } from \"@mui/material/AccordionSummary\";\nimport MuiAccordionDetails, { type AccordionDetailsProps } from \"@mui/material/AccordionDetails\";\nimport MuiAccordionActions, { type AccordionActionsProps } from \"@mui/material/AccordionActions\";\n\nexport type {\n AccordionProps,\n AccordionSummaryProps,\n AccordionDetailsProps,\n AccordionActionsProps,\n};\n\nexport function Accordion(props: AccordionProps) {\n return <MuiAccordion {...props} />;\n}\n\nexport function AccordionSummary(props: AccordionSummaryProps) {\n return <MuiAccordionSummary {...props} />;\n}\n\nexport function AccordionDetails(props: AccordionDetailsProps) {\n return <MuiAccordionDetails {...props} />;\n}\n\nexport function AccordionActions(props: AccordionActionsProps) {\n return <MuiAccordionActions {...props} />;\n}\n","import MuiAppBar, { type AppBarProps } from \"@mui/material/AppBar\";\nimport MuiToolbar, { type ToolbarProps } from \"@mui/material/Toolbar\";\n\nexport type { AppBarProps, ToolbarProps };\n\nexport function AppBar(props: AppBarProps) {\n return <MuiAppBar {...props} />;\n}\n\nexport function Toolbar(props: ToolbarProps) {\n return <MuiToolbar {...props} />;\n}\n","import MuiCard, { type CardProps } from \"@mui/material/Card\";\nimport MuiCardContent, { type CardContentProps } from \"@mui/material/CardContent\";\nimport MuiCardHeader, { type CardHeaderProps } from \"@mui/material/CardHeader\";\nimport MuiCardActions, { type CardActionsProps } from \"@mui/material/CardActions\";\nimport MuiCardMedia, { type CardMediaProps } from \"@mui/material/CardMedia\";\n\nexport type {\n CardProps,\n CardContentProps,\n CardHeaderProps,\n CardActionsProps,\n CardMediaProps,\n};\n\nexport function Card(props: CardProps) {\n return <MuiCard {...props} />;\n}\n\nexport function CardContent(props: CardContentProps) {\n return <MuiCardContent {...props} />;\n}\n\nexport function CardHeader(props: CardHeaderProps) {\n return <MuiCardHeader {...props} />;\n}\n\nexport function CardActions(props: CardActionsProps) {\n return <MuiCardActions {...props} />;\n}\n\nexport function CardMedia(props: CardMediaProps) {\n return <MuiCardMedia {...props} />;\n}\n","import MuiPaper, { type PaperProps } from \"@mui/material/Paper\";\n\nexport type { PaperProps };\n\nexport function Paper(props: PaperProps) {\n return <MuiPaper {...props} />;\n}\n","import MuiAlert, { type AlertProps } from \"@mui/material/Alert\";\nimport MuiAlertTitle, { type AlertTitleProps } from \"@mui/material/AlertTitle\";\n\nexport type { AlertProps, AlertTitleProps };\n\nexport function Alert(props: AlertProps) {\n return <MuiAlert {...props} />;\n}\n\nexport function AlertTitle(props: AlertTitleProps) {\n return <MuiAlertTitle {...props} />;\n}\n","import MuiBackdrop, { type BackdropProps } from \"@mui/material/Backdrop\";\n\nexport type { BackdropProps };\n\nexport function Backdrop(props: BackdropProps) {\n return <MuiBackdrop {...props} />;\n}\n","import MuiDialog, { type DialogProps } from \"@mui/material/Dialog\";\nimport MuiDialogTitle, { type DialogTitleProps } from \"@mui/material/DialogTitle\";\nimport MuiDialogContent, { type DialogContentProps } from \"@mui/material/DialogContent\";\nimport MuiDialogActions, { type DialogActionsProps } from \"@mui/material/DialogActions\";\nimport MuiDialogContentText, { type DialogContentTextProps } from \"@mui/material/DialogContentText\";\n\nexport type {\n DialogProps,\n DialogTitleProps,\n DialogContentProps,\n DialogActionsProps,\n DialogContentTextProps,\n};\n\nexport function Dialog(props: DialogProps) {\n return <MuiDialog {...props} />;\n}\n\nexport function DialogTitle(props: DialogTitleProps) {\n return <MuiDialogTitle {...props} />;\n}\n\nexport function DialogContent(props: DialogContentProps) {\n return <MuiDialogContent {...props} />;\n}\n\nexport function DialogActions(props: DialogActionsProps) {\n return <MuiDialogActions {...props} />;\n}\n\nexport function DialogContentText(props: DialogContentTextProps) {\n return <MuiDialogContentText {...props} />;\n}\n","import MuiLinearProgress, { type LinearProgressProps } from \"@mui/material/LinearProgress\";\nimport MuiCircularProgress, { type CircularProgressProps } from \"@mui/material/CircularProgress\";\n\nexport type { LinearProgressProps, CircularProgressProps };\n\nexport function LinearProgress(props: LinearProgressProps) {\n return <MuiLinearProgress {...props} />;\n}\n\nexport function CircularProgress(props: CircularProgressProps) {\n return <MuiCircularProgress {...props} />;\n}\n","import MuiSkeleton, { type SkeletonProps } from \"@mui/material/Skeleton\";\n\nexport type { SkeletonProps };\n\nexport function Skeleton(props: SkeletonProps) {\n return <MuiSkeleton {...props} />;\n}\n","import MuiSnackbar, { type SnackbarProps } from \"@mui/material/Snackbar\";\n\nexport type { SnackbarProps };\n\nexport function Snackbar(props: SnackbarProps) {\n return <MuiSnackbar {...props} />;\n}\n"]}
1
+ {"version":3,"sources":["../src/provider/ForestProvider.tsx","../src/components/Autocomplete/index.tsx","../src/components/Button/index.tsx","../src/components/ButtonGroup/index.tsx","../src/components/Checkbox/index.tsx","../src/components/Fab/index.tsx","../src/components/RadioGroup/index.tsx","../src/components/Select/index.tsx","../src/components/Switch/index.tsx","../src/components/TextField/index.tsx","../src/components/ToggleButton/index.tsx","../src/components/Badge/index.tsx","../../../node_modules/@mui/icons-material/esm/CloseOutlined.js","../src/components/Chip/index.tsx","../src/components/Divider/index.tsx","../src/components/List/index.tsx","../src/components/Table/index.tsx","../src/components/DataGrid/index.tsx","../src/components/Tooltip/index.tsx","../src/components/Typography/index.tsx","../src/components/Accordion/index.tsx","../src/components/AppBar/index.tsx","../src/components/Card/index.tsx","../src/components/Paper/index.tsx","../src/components/Alert/index.tsx","../src/components/Backdrop/index.tsx","../src/components/Dialog/index.tsx","../src/components/Progress/index.tsx","../src/components/Skeleton/index.tsx","../src/components/Snackbar/index.tsx","../../../node_modules/@mui/icons-material/esm/ChevronLeftOutlined.js","../../../node_modules/@mui/icons-material/esm/ChevronRightOutlined.js","../src/components/Sidebar/index.tsx"],"names":["jsx","_jsx","MuiListItemButton","MuiListItemIcon","MuiDataGrid","jsxs","MuiTooltip","ListItemIcon","ListItemText"],"mappings":"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","file":"index.mjs","sourcesContent":["\"use client\";\n\nimport { useMemo } from \"react\";\nimport { ThemeProvider, type Theme } from \"@mui/material/styles\";\nimport CssBaseline from \"@mui/material/CssBaseline\";\nimport { forestTheme } from \"../theme\";\nimport { getPreset } from \"../theme/presets\";\nimport { buildTheme } from \"../theme/buildTheme\";\n\nexport interface ForestProviderProps {\n children: React.ReactNode;\n theme?: Theme;\n preset?: string;\n variant?: string;\n disableCssBaseline?: boolean;\n}\n\nexport function ForestProvider({\n children,\n theme,\n preset,\n variant,\n disableCssBaseline = false,\n}: ForestProviderProps) {\n const resolvedTheme = useMemo(() => {\n // Explicit theme prop takes highest priority\n if (theme) return theme;\n\n // If no preset specified, use the default forest theme\n if (!preset) return forestTheme;\n\n // Resolve preset + variant\n const presetConfig = getPreset(preset);\n if (!presetConfig) {\n throw new Error(\n `[ForestProvider] Unknown preset \"${preset}\". ` +\n `Available presets: use getAvailablePresets() to see registered presets.`\n );\n }\n\n const variantName = variant ?? presetConfig.defaultVariant;\n const variantConfig = presetConfig.variants[variantName];\n if (!variantConfig) {\n throw new Error(\n `[ForestProvider] Unknown variant \"${variantName}\" for preset \"${preset}\". ` +\n `Available variants: ${Object.keys(presetConfig.variants).join(\", \")}.`\n );\n }\n\n return buildTheme(variantConfig.tokens);\n }, [theme, preset, variant]);\n\n return (\n <ThemeProvider theme={resolvedTheme}>\n {!disableCssBaseline && <CssBaseline />}\n {children}\n </ThemeProvider>\n );\n}\n","import MuiAutocomplete, {\n type AutocompleteProps,\n} from \"@mui/material/Autocomplete\";\n\nexport type { AutocompleteProps };\n\nexport function Autocomplete<\n Value,\n Multiple extends boolean | undefined = false,\n DisableClearable extends boolean | undefined = false,\n FreeSolo extends boolean | undefined = false,\n>(\n props: AutocompleteProps<Value, Multiple, DisableClearable, FreeSolo>,\n) {\n return <MuiAutocomplete {...props} />;\n}\n","import MuiButton, { type ButtonProps as MuiButtonProps } from \"@mui/material/Button\";\n\nexport type ButtonProps = Omit<MuiButtonProps, \"size\">;\n\nexport function Button({ ...props }: ButtonProps) {\n return <MuiButton variant=\"contained\" {...props} />;\n}\n","import MuiButtonGroup, { type ButtonGroupProps } from \"@mui/material/ButtonGroup\";\n\nexport type { ButtonGroupProps };\n\nexport function ButtonGroup(props: ButtonGroupProps) {\n return <MuiButtonGroup variant=\"contained\" {...props} />;\n}\n","import MuiCheckbox, { type CheckboxProps } from \"@mui/material/Checkbox\";\n\nexport type { CheckboxProps };\n\nexport function Checkbox(props: CheckboxProps) {\n return <MuiCheckbox {...props} />;\n}\n","import MuiFab, { type FabProps } from \"@mui/material/Fab\";\n\nexport type { FabProps };\n\nexport function Fab(props: FabProps) {\n return <MuiFab color=\"primary\" {...props} />;\n}\n","import MuiRadioGroup, { type RadioGroupProps } from \"@mui/material/RadioGroup\";\nimport MuiRadio, { type RadioProps } from \"@mui/material/Radio\";\n\nexport type { RadioGroupProps, RadioProps };\n\nexport function RadioGroup(props: RadioGroupProps) {\n return <MuiRadioGroup {...props} />;\n}\n\nexport function Radio(props: RadioProps) {\n return <MuiRadio {...props} />;\n}\n","import MuiSelect, { type SelectProps } from \"@mui/material/Select\";\nimport MuiMenuItem, { type MenuItemProps } from \"@mui/material/MenuItem\";\n\nexport type { SelectProps, MenuItemProps };\n\nexport function Select<Value = unknown>(props: SelectProps<Value>) {\n return <MuiSelect {...props} />;\n}\n\nexport function MenuItem(props: MenuItemProps) {\n return <MuiMenuItem {...props} />;\n}\n","import MuiSwitch, { type SwitchProps } from \"@mui/material/Switch\";\n\nexport type { SwitchProps };\n\nexport function Switch(props: SwitchProps) {\n return <MuiSwitch {...props} />;\n}\n","import MuiTextField, { type TextFieldProps } from \"@mui/material/TextField\";\n\nexport type { TextFieldProps };\n\nexport function TextField(props: TextFieldProps) {\n return <MuiTextField {...props} />;\n}\n","import MuiToggleButton, { type ToggleButtonProps } from \"@mui/material/ToggleButton\";\nimport MuiToggleButtonGroup, { type ToggleButtonGroupProps } from \"@mui/material/ToggleButtonGroup\";\n\nexport type { ToggleButtonProps, ToggleButtonGroupProps };\n\nexport function ToggleButton(props: ToggleButtonProps) {\n return <MuiToggleButton {...props} />;\n}\n\nexport function ToggleButtonGroup(props: ToggleButtonGroupProps) {\n return <MuiToggleButtonGroup {...props} />;\n}\n","import MuiBadge, { type BadgeProps } from \"@mui/material/Badge\";\n\nexport type { BadgeProps };\n\nexport function Badge(props: BadgeProps) {\n return <MuiBadge {...props} />;\n}\n","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n}), 'CloseOutlined');","import MuiChip, { type ChipProps } from \"@mui/material/Chip\";\nimport CloseIcon from \"@mui/icons-material/CloseOutlined\";\n\nexport type { ChipProps };\n\nexport function Chip(props: ChipProps) {\n return (\n <MuiChip\n deleteIcon={<CloseIcon />}\n {...props}\n />\n );\n}\n","import MuiDivider, { type DividerProps } from \"@mui/material/Divider\";\n\nexport type { DividerProps };\n\nexport function Divider(props: DividerProps) {\n return <MuiDivider {...props} />;\n}\n","import MuiList, { type ListProps } from \"@mui/material/List\";\nimport MuiListItem, { type ListItemProps } from \"@mui/material/ListItem\";\nimport MuiListItemButton, { type ListItemButtonProps } from \"@mui/material/ListItemButton\";\nimport MuiListItemIcon, { type ListItemIconProps } from \"@mui/material/ListItemIcon\";\nimport MuiListItemText, { type ListItemTextProps } from \"@mui/material/ListItemText\";\nimport MuiListItemAvatar, { type ListItemAvatarProps } from \"@mui/material/ListItemAvatar\";\nimport MuiListSubheader, { type ListSubheaderProps } from \"@mui/material/ListSubheader\";\n\nexport type {\n ListProps,\n ListItemProps,\n ListItemButtonProps,\n ListItemIconProps,\n ListItemTextProps,\n ListItemAvatarProps,\n ListSubheaderProps,\n};\n\nexport function List(props: ListProps) {\n return <MuiList {...props} />;\n}\n\nexport function ListItem(props: ListItemProps) {\n return <MuiListItem {...props} />;\n}\n\nexport function ListItemButton(props: ListItemButtonProps) {\n return <MuiListItemButton {...props} />;\n}\n\nexport function ListItemIcon(props: ListItemIconProps) {\n return <MuiListItemIcon {...props} />;\n}\n\nexport function ListItemText(props: ListItemTextProps) {\n return <MuiListItemText {...props} />;\n}\n\nexport function ListItemAvatar(props: ListItemAvatarProps) {\n return <MuiListItemAvatar {...props} />;\n}\n\nexport function ListSubheader(props: ListSubheaderProps) {\n return <MuiListSubheader {...props} />;\n}\n","import MuiTable, { type TableProps } from \"@mui/material/Table\";\nimport MuiTableBody, { type TableBodyProps } from \"@mui/material/TableBody\";\nimport MuiTableCell, { type TableCellProps } from \"@mui/material/TableCell\";\nimport MuiTableContainer, { type TableContainerProps } from \"@mui/material/TableContainer\";\nimport MuiTableHead, { type TableHeadProps } from \"@mui/material/TableHead\";\nimport MuiTableRow, { type TableRowProps } from \"@mui/material/TableRow\";\n\nexport type {\n TableProps,\n TableBodyProps,\n TableCellProps,\n TableContainerProps,\n TableHeadProps,\n TableRowProps,\n};\n\nexport function Table(props: TableProps) {\n return <MuiTable {...props} />;\n}\n\nexport function TableBody(props: TableBodyProps) {\n return <MuiTableBody {...props} />;\n}\n\nexport function TableCell(props: TableCellProps) {\n return <MuiTableCell {...props} />;\n}\n\nexport function TableContainer(props: TableContainerProps) {\n return <MuiTableContainer {...props} />;\n}\n\nexport function TableHead(props: TableHeadProps) {\n return <MuiTableHead {...props} />;\n}\n\nexport function TableRow(props: TableRowProps) {\n return <MuiTableRow {...props} />;\n}\n","import { DataGrid as MuiDataGrid, type DataGridProps } from \"@mui/x-data-grid\";\n\nexport type { DataGridProps };\nexport type {\n GridColDef,\n GridRowsProp,\n GridRowParams,\n GridCellParams,\n GridSortModel,\n GridFilterModel,\n GridPaginationModel,\n} from \"@mui/x-data-grid\";\n\nexport function DataGrid(props: DataGridProps) {\n return <MuiDataGrid {...props} />;\n}\n","import MuiTooltip, { type TooltipProps } from \"@mui/material/Tooltip\";\n\nexport type { TooltipProps };\n\nexport function Tooltip(props: TooltipProps) {\n return <MuiTooltip arrow {...props} />;\n}\n","import MuiTypography, { type TypographyProps } from \"@mui/material/Typography\";\n\nexport type { TypographyProps };\n\nexport function Typography(props: TypographyProps) {\n return <MuiTypography {...props} />;\n}\n","import MuiAccordion, { type AccordionProps } from \"@mui/material/Accordion\";\nimport MuiAccordionSummary, { type AccordionSummaryProps } from \"@mui/material/AccordionSummary\";\nimport MuiAccordionDetails, { type AccordionDetailsProps } from \"@mui/material/AccordionDetails\";\nimport MuiAccordionActions, { type AccordionActionsProps } from \"@mui/material/AccordionActions\";\n\nexport type {\n AccordionProps,\n AccordionSummaryProps,\n AccordionDetailsProps,\n AccordionActionsProps,\n};\n\nexport function Accordion(props: AccordionProps) {\n return <MuiAccordion {...props} />;\n}\n\nexport function AccordionSummary(props: AccordionSummaryProps) {\n return <MuiAccordionSummary {...props} />;\n}\n\nexport function AccordionDetails(props: AccordionDetailsProps) {\n return <MuiAccordionDetails {...props} />;\n}\n\nexport function AccordionActions(props: AccordionActionsProps) {\n return <MuiAccordionActions {...props} />;\n}\n","import MuiAppBar, { type AppBarProps } from \"@mui/material/AppBar\";\nimport MuiToolbar, { type ToolbarProps } from \"@mui/material/Toolbar\";\n\nexport type { AppBarProps, ToolbarProps };\n\nexport function AppBar(props: AppBarProps) {\n return <MuiAppBar {...props} />;\n}\n\nexport function Toolbar(props: ToolbarProps) {\n return <MuiToolbar {...props} />;\n}\n","import MuiCard, { type CardProps } from \"@mui/material/Card\";\nimport MuiCardContent, { type CardContentProps } from \"@mui/material/CardContent\";\nimport MuiCardHeader, { type CardHeaderProps } from \"@mui/material/CardHeader\";\nimport MuiCardActions, { type CardActionsProps } from \"@mui/material/CardActions\";\nimport MuiCardMedia, { type CardMediaProps } from \"@mui/material/CardMedia\";\n\nexport type {\n CardProps,\n CardContentProps,\n CardHeaderProps,\n CardActionsProps,\n CardMediaProps,\n};\n\nexport function Card(props: CardProps) {\n return <MuiCard {...props} />;\n}\n\nexport function CardContent(props: CardContentProps) {\n return <MuiCardContent {...props} />;\n}\n\nexport function CardHeader(props: CardHeaderProps) {\n return <MuiCardHeader {...props} />;\n}\n\nexport function CardActions(props: CardActionsProps) {\n return <MuiCardActions {...props} />;\n}\n\nexport function CardMedia(props: CardMediaProps) {\n return <MuiCardMedia {...props} />;\n}\n","import MuiPaper, { type PaperProps } from \"@mui/material/Paper\";\n\nexport type { PaperProps };\n\nexport function Paper(props: PaperProps) {\n return <MuiPaper {...props} />;\n}\n","import MuiAlert, { type AlertProps } from \"@mui/material/Alert\";\nimport MuiAlertTitle, { type AlertTitleProps } from \"@mui/material/AlertTitle\";\n\nexport type { AlertProps, AlertTitleProps };\n\nexport function Alert(props: AlertProps) {\n return <MuiAlert {...props} />;\n}\n\nexport function AlertTitle(props: AlertTitleProps) {\n return <MuiAlertTitle {...props} />;\n}\n","import MuiBackdrop, { type BackdropProps } from \"@mui/material/Backdrop\";\n\nexport type { BackdropProps };\n\nexport function Backdrop(props: BackdropProps) {\n return <MuiBackdrop {...props} />;\n}\n","import MuiDialog, { type DialogProps } from \"@mui/material/Dialog\";\nimport MuiDialogTitle, { type DialogTitleProps } from \"@mui/material/DialogTitle\";\nimport MuiDialogContent, { type DialogContentProps } from \"@mui/material/DialogContent\";\nimport MuiDialogActions, { type DialogActionsProps } from \"@mui/material/DialogActions\";\nimport MuiDialogContentText, { type DialogContentTextProps } from \"@mui/material/DialogContentText\";\n\nexport type {\n DialogProps,\n DialogTitleProps,\n DialogContentProps,\n DialogActionsProps,\n DialogContentTextProps,\n};\n\nexport function Dialog(props: DialogProps) {\n return <MuiDialog {...props} />;\n}\n\nexport function DialogTitle(props: DialogTitleProps) {\n return <MuiDialogTitle {...props} />;\n}\n\nexport function DialogContent(props: DialogContentProps) {\n return <MuiDialogContent {...props} />;\n}\n\nexport function DialogActions(props: DialogActionsProps) {\n return <MuiDialogActions {...props} />;\n}\n\nexport function DialogContentText(props: DialogContentTextProps) {\n return <MuiDialogContentText {...props} />;\n}\n","import MuiLinearProgress, { type LinearProgressProps } from \"@mui/material/LinearProgress\";\nimport MuiCircularProgress, { type CircularProgressProps } from \"@mui/material/CircularProgress\";\n\nexport type { LinearProgressProps, CircularProgressProps };\n\nexport function LinearProgress(props: LinearProgressProps) {\n return <MuiLinearProgress {...props} />;\n}\n\nexport function CircularProgress(props: CircularProgressProps) {\n return <MuiCircularProgress {...props} />;\n}\n","import MuiSkeleton, { type SkeletonProps } from \"@mui/material/Skeleton\";\n\nexport type { SkeletonProps };\n\nexport function Skeleton(props: SkeletonProps) {\n return <MuiSkeleton {...props} />;\n}\n","import MuiSnackbar, { type SnackbarProps } from \"@mui/material/Snackbar\";\n\nexport type { SnackbarProps };\n\nexport function Snackbar(props: SnackbarProps) {\n return <MuiSnackbar {...props} />;\n}\n","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M15.41 7.41 14 6l-6 6 6 6 1.41-1.41L10.83 12z\"\n}), 'ChevronLeftOutlined');","\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\"\n}), 'ChevronRightOutlined');","import React, { createContext, useContext } from \"react\";\nimport MuiDrawer, { type DrawerProps } from \"@mui/material/Drawer\";\nimport Box from \"@mui/material/Box\";\nimport IconButton from \"@mui/material/IconButton\";\nimport ChevronLeftOutlined from \"@mui/icons-material/ChevronLeftOutlined\";\nimport ChevronRightOutlined from \"@mui/icons-material/ChevronRightOutlined\";\nimport MuiListItemButton, { type ListItemButtonProps } from \"@mui/material/ListItemButton\";\nimport ListItemIcon from \"@mui/material/ListItemIcon\";\nimport ListItemText from \"@mui/material/ListItemText\";\nimport MuiTooltip from \"@mui/material/Tooltip\";\nimport { bg, text, navColors } from \"../../theme/tokens\";\n\nexport interface SidebarContextValue {\n open: boolean;\n collapsedWidth: number;\n expandedWidth: number;\n}\n\nconst SidebarContext = createContext<SidebarContextValue>({\n open: true,\n collapsedWidth: 48,\n expandedWidth: 240,\n});\n\nexport function useSidebar() {\n return useContext(SidebarContext);\n}\n\nexport interface SidebarNavProps\n extends Omit<DrawerProps, \"open\" | \"variant\" | \"onClose\"> {\n /** Whether the sidebar is expanded */\n open: boolean;\n /** Callback when open state changes */\n onOpenChange: (open: boolean) => void;\n /** Width when expanded (default: 240) */\n expandedWidth?: number;\n /** Width when collapsed — icon-only (default: 64) */\n collapsedWidth?: number;\n /** Expand behavior:\n * - \"permanent\": click to toggle, stays open/closed\n * - \"hover\": collapsed by default, expands on mouse enter, collapses on mouse leave\n */\n behavior?: \"permanent\" | \"hover\";\n /** Whether to show the edge toggle button (default: true for \"permanent\", false for \"hover\") */\n showToggle?: boolean;\n /** Content rendered inside the sidebar */\n children: React.ReactNode;\n /** Optional header slot — rendered above children */\n header?: React.ReactNode;\n /** Optional footer slot — rendered at bottom */\n footer?: React.ReactNode;\n}\n\nexport function SidebarNav({\n open,\n onOpenChange,\n expandedWidth = 240,\n collapsedWidth = 48,\n behavior = \"permanent\",\n showToggle,\n children,\n header,\n footer,\n sx,\n ...rest\n}: SidebarNavProps) {\n const isHover = behavior === \"hover\";\n const drawerWidth = open ? expandedWidth : collapsedWidth;\n const layoutWidth = isHover ? collapsedWidth : drawerWidth;\n const shouldShowToggle = showToggle ?? !isHover;\n\n const hoverHandlers = isHover\n ? {\n onMouseEnter: () => onOpenChange(true),\n onMouseLeave: () => onOpenChange(false),\n }\n : {};\n\n return (\n <SidebarContext.Provider value={{ open, collapsedWidth, expandedWidth }}>\n <Box sx={{ position: \"relative\", width: layoutWidth, flexShrink: 0 }}>\n <MuiDrawer\n variant=\"permanent\"\n {...rest}\n {...hoverHandlers}\n sx={{\n width: drawerWidth,\n flexShrink: 0,\n \"& .MuiDrawer-paper\": {\n width: drawerWidth,\n transition: \"width 200ms ease-in-out\",\n overflowX: \"hidden\",\n boxSizing: \"border-box\",\n ...(isHover && { zIndex: (theme: any) => theme.zIndex.drawer + 2 }),\n },\n ...sx,\n }}\n >\n <Box\n sx={{\n display: \"flex\",\n flexDirection: \"column\",\n height: \"100%\",\n overflow: \"hidden\",\n }}\n >\n {header && <Box sx={{ flexShrink: 0 }}>{header}</Box>}\n <Box sx={{ flexGrow: 1, overflowY: \"auto\", overflowX: \"hidden\" }}>\n {children}\n </Box>\n {footer && <Box sx={{ flexShrink: 0 }}>{footer}</Box>}\n </Box>\n </MuiDrawer>\n\n {shouldShowToggle && (\n <IconButton\n size=\"small\"\n onClick={() => onOpenChange(!open)}\n sx={{\n position: \"absolute\",\n top: \"50%\",\n right: 0,\n transform: \"translate(50%, -50%)\",\n zIndex: (theme) => theme.zIndex.drawer + 1,\n width: 28,\n height: 28,\n border: 1,\n borderColor: \"divider\",\n backgroundColor: \"background.paper\",\n boxShadow: 1,\n \"&:hover\": {\n backgroundColor: \"action.hover\",\n },\n \"& .MuiSvgIcon-root\": {\n fontSize: 18,\n },\n }}\n >\n {open ? <ChevronLeftOutlined /> : <ChevronRightOutlined />}\n </IconButton>\n )}\n </Box>\n </SidebarContext.Provider>\n );\n}\n\n// ---------------------------------------------------------------------------\n// SidebarItem\n// ---------------------------------------------------------------------------\n\nexport interface SidebarItemProps extends Omit<ListItemButtonProps, \"children\"> {\n /** Icon element (required — visible in both expanded and collapsed states) */\n icon: React.ReactNode;\n /** Label text */\n label: string;\n /** Optional content rendered on the right side when expanded (badge, count, etc.) */\n endAdornment?: React.ReactNode;\n}\n\nconst itemSx = {\n borderRadius: 1,\n backgroundColor: bg.primary,\n color: text.secondary,\n \"& .MuiListItemIcon-root\": {\n color: navColors.itemIconFg,\n },\n \"&:hover\": {\n backgroundColor: bg.primaryHover,\n },\n \"&.Mui-selected\": {\n backgroundColor: bg.active,\n color: text.primary,\n \"& .MuiListItemIcon-root\": {\n color: navColors.itemIconFgActive,\n },\n \"& .MuiListItemText-primary\": {\n fontWeight: 600,\n },\n \"&:hover\": {\n backgroundColor: bg.primaryHover,\n },\n },\n};\n\nexport function SidebarItem({\n icon,\n label,\n endAdornment,\n sx,\n ...rest\n}: SidebarItemProps) {\n const { open } = useSidebar();\n\n if (!open) {\n return (\n <MuiTooltip title={label} placement=\"right\" arrow>\n <MuiListItemButton\n {...rest}\n sx={{\n ...itemSx,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n width: 40,\n height: 40,\n padding: 0,\n margin: \"0 auto\",\n ...sx,\n }}\n >\n <ListItemIcon sx={{ minWidth: \"unset\", margin: 0, \"& .MuiSvgIcon-root\": { fontSize: 20 } }}>\n {icon}\n </ListItemIcon>\n </MuiListItemButton>\n </MuiTooltip>\n );\n }\n\n return (\n <MuiListItemButton {...rest} sx={{ ...itemSx, height: 40, ...sx }}>\n <ListItemIcon sx={{ \"& .MuiSvgIcon-root\": { fontSize: 20 } }}>{icon}</ListItemIcon>\n <ListItemText primary={label} />\n {endAdornment}\n </MuiListItemButton>\n );\n}\n"]}
package/dist/theme.d.mts CHANGED
@@ -1,3 +1,3 @@
1
1
  import '@mui/material';
2
2
  import '@mui/material/styles';
3
- export { D as DesignTokens, P as PresetVariantConfig, T as ThemePreset, a as alkemyPlusPreset, b as alpha, c as avatarColors, d as bg, e as border, f as breadcrumbColors, g as buildTheme, h as buildThemeOptions, i as buttonColors, j as chartColors, k as colors, J as components, l as container, m as display, n as fg, o as focusRings, p as fontFamily, q as fontSize, r as fontWeight, s as forestPreset, t as forestTheme, u as forestThemeOptions, v as getAvailablePresets, w as getPreset, x as iconColors, y as lineHeight, z as navColors, K as palette, A as radius, B as registerPreset, L as shadows, C as sliderColors, E as spacing, F as text, G as toggleColors, M as typography, I as widths } from './index-C7JP9vAZ.mjs';
3
+ export { D as DesignTokens, P as PresetVariantConfig, T as ThemePreset, a as alkemyPlusPreset, b as alpha, c as avatarColors, d as bg, e as border, f as breadcrumbColors, g as buildTheme, h as buildThemeOptions, i as buttonColors, j as chartColors, k as colors, J as components, l as container, m as display, n as fg, o as focusRings, p as fontFamily, q as fontSize, r as fontWeight, s as forestPreset, t as forestTheme, u as forestThemeOptions, v as getAvailablePresets, w as getPreset, x as iconColors, y as lineHeight, z as navColors, K as palette, A as radius, B as registerPreset, L as shadows, C as sliderColors, E as spacing, F as text, G as toggleColors, M as typography, I as widths } from './index-BxpOMmf6.mjs';
package/dist/theme.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  import '@mui/material';
2
2
  import '@mui/material/styles';
3
- export { D as DesignTokens, P as PresetVariantConfig, T as ThemePreset, a as alkemyPlusPreset, b as alpha, c as avatarColors, d as bg, e as border, f as breadcrumbColors, g as buildTheme, h as buildThemeOptions, i as buttonColors, j as chartColors, k as colors, J as components, l as container, m as display, n as fg, o as focusRings, p as fontFamily, q as fontSize, r as fontWeight, s as forestPreset, t as forestTheme, u as forestThemeOptions, v as getAvailablePresets, w as getPreset, x as iconColors, y as lineHeight, z as navColors, K as palette, A as radius, B as registerPreset, L as shadows, C as sliderColors, E as spacing, F as text, G as toggleColors, M as typography, I as widths } from './index-C7JP9vAZ.js';
3
+ export { D as DesignTokens, P as PresetVariantConfig, T as ThemePreset, a as alkemyPlusPreset, b as alpha, c as avatarColors, d as bg, e as border, f as breadcrumbColors, g as buildTheme, h as buildThemeOptions, i as buttonColors, j as chartColors, k as colors, J as components, l as container, m as display, n as fg, o as focusRings, p as fontFamily, q as fontSize, r as fontWeight, s as forestPreset, t as forestTheme, u as forestThemeOptions, v as getAvailablePresets, w as getPreset, x as iconColors, y as lineHeight, z as navColors, K as palette, A as radius, B as registerPreset, L as shadows, C as sliderColors, E as spacing, F as text, G as toggleColors, M as typography, I as widths } from './index-BxpOMmf6.js';
package/dist/theme.js CHANGED
@@ -94,6 +94,54 @@ var colors = {
94
94
  800: "#1849a9",
95
95
  900: "#194185",
96
96
  950: "#102a56"
97
+ },
98
+ teal: {
99
+ 100: "#ccfbef",
100
+ 200: "#99f6e0",
101
+ 600: "#0e9384",
102
+ 700: "#107569"
103
+ },
104
+ orange: {
105
+ 100: "#fdead7",
106
+ 200: "#f9dbaf",
107
+ 600: "#e04f16",
108
+ 700: "#b93815"
109
+ },
110
+ purple: {
111
+ 100: "#ebe9fe",
112
+ 200: "#d9d6fe",
113
+ 600: "#6938ef",
114
+ 700: "#5925dc"
115
+ },
116
+ pink: {
117
+ 100: "#fce7f6",
118
+ 200: "#fcceee",
119
+ 600: "#dd2590",
120
+ 700: "#c11574"
121
+ },
122
+ fuchsia: {
123
+ 100: "#fbe8ff",
124
+ 200: "#f6d0fe",
125
+ 600: "#ba24d5",
126
+ 700: "#9f1ab1"
127
+ },
128
+ orangeDark: {
129
+ 100: "#ffe6d5",
130
+ 200: "#ffd6ae",
131
+ 600: "#e62e05",
132
+ 700: "#bc1b06"
133
+ },
134
+ green: {
135
+ 100: "#d3f8df",
136
+ 200: "#aaf0c4",
137
+ 600: "#099250",
138
+ 700: "#087443"
139
+ },
140
+ indigo: {
141
+ 100: "#e0eaff",
142
+ 200: "#c7d7fe",
143
+ 600: "#444ce7",
144
+ 700: "#3538cd"
97
145
  }
98
146
  };
99
147
  var spacing = {
@@ -231,7 +279,7 @@ var bg = {
231
279
  secondarySolid: colors.gray[600],
232
280
  tertiary: colors.gray[100],
233
281
  quaternary: colors.gray[200],
234
- active: colors.gray[50],
282
+ active: colors.gray[200],
235
283
  disabled: colors.gray[100],
236
284
  disabledSubtle: colors.gray[50],
237
285
  overlay: colors.gray[950],
@@ -378,7 +426,7 @@ var iconColors = {
378
426
  };
379
427
  var navColors = {
380
428
  itemIconFg: colors.gray[500],
381
- itemIconFgActive: colors.gray[500],
429
+ itemIconFgActive: colors.gray[700],
382
430
  itemButtonIconFg: colors.gray[500],
383
431
  itemButtonIconFgActive: colors.gray[700]
384
432
  };
@@ -407,7 +455,39 @@ var chartColors = {
407
455
  series2Fg: colors.brand[600],
408
456
  series2FgHover: colors.brand[700],
409
457
  series2Bg: colors.brand[100],
410
- series2BgHover: colors.brand[200]
458
+ series2BgHover: colors.brand[200],
459
+ series3Fg: colors.teal[600],
460
+ series3FgHover: colors.teal[700],
461
+ series3Bg: colors.teal[100],
462
+ series3BgHover: colors.teal[200],
463
+ series4Fg: colors.orange[600],
464
+ series4FgHover: colors.orange[700],
465
+ series4Bg: colors.orange[100],
466
+ series4BgHover: colors.orange[200],
467
+ series5Fg: colors.purple[600],
468
+ series5FgHover: colors.purple[700],
469
+ series5Bg: colors.purple[100],
470
+ series5BgHover: colors.purple[200],
471
+ series6Fg: colors.pink[600],
472
+ series6FgHover: colors.pink[700],
473
+ series6Bg: colors.pink[100],
474
+ series6BgHover: colors.pink[200],
475
+ series7Fg: colors.fuchsia[600],
476
+ series7FgHover: colors.fuchsia[700],
477
+ series7Bg: colors.fuchsia[100],
478
+ series7BgHover: colors.fuchsia[200],
479
+ series8Fg: colors.orangeDark[600],
480
+ series8FgHover: colors.orangeDark[700],
481
+ series8Bg: colors.orangeDark[100],
482
+ series8BgHover: colors.orangeDark[200],
483
+ series9Fg: colors.green[600],
484
+ series9FgHover: colors.green[700],
485
+ series9Bg: colors.green[100],
486
+ series9BgHover: colors.green[200],
487
+ series10Fg: colors.indigo[600],
488
+ series10FgHover: colors.indigo[700],
489
+ series10Bg: colors.indigo[100],
490
+ series10BgHover: colors.indigo[200]
411
491
  };
412
492
  var alpha = {
413
493
  white: {
@@ -438,6 +518,7 @@ var alpha = {
438
518
 
439
519
  // src/theme/palette.ts
440
520
  function buildPalette(tokens) {
521
+ var _a;
441
522
  const { colors: colors3, text: text3, bg: bg3, fg: fg3, border: border3 } = tokens;
442
523
  return {
443
524
  primary: {
@@ -492,7 +573,8 @@ function buildPalette(tokens) {
492
573
  selected: bg3.brandPrimary,
493
574
  disabled: fg3.disabled,
494
575
  disabledBackground: bg3.disabled
495
- }
576
+ },
577
+ chart: (_a = tokens.chartColors) != null ? _a : chartColors
496
578
  };
497
579
  }
498
580
  var palette = buildPalette({
@@ -500,7 +582,8 @@ var palette = buildPalette({
500
582
  text,
501
583
  bg,
502
584
  fg,
503
- border
585
+ border,
586
+ chartColors
504
587
  });
505
588
 
506
589
  // src/theme/typography.ts
@@ -1021,6 +1104,15 @@ function buildComponents(tokens) {
1021
1104
  }
1022
1105
  }
1023
1106
  },
1107
+ // ─── Drawer (used by Sidebar) ─────────────────────────────────
1108
+ MuiDrawer: {
1109
+ styleOverrides: {
1110
+ paper: {
1111
+ backgroundColor: bg3.primary,
1112
+ borderRight: `1px solid ${border3.secondary}`
1113
+ }
1114
+ }
1115
+ },
1024
1116
  // ─── Card ───────────────────────────────────────────────────────
1025
1117
  MuiCard: {
1026
1118
  defaultProps: {
@@ -1873,7 +1965,15 @@ var colors2 = {
1873
1965
  /** Success — forest defaults (standard UX green) */
1874
1966
  success: colors.success,
1875
1967
  /** Blue (info) — forest defaults (standard UX) */
1876
- blue: colors.blue
1968
+ blue: colors.blue,
1969
+ teal: colors.teal,
1970
+ orange: colors.orange,
1971
+ purple: colors.purple,
1972
+ pink: colors.pink,
1973
+ fuchsia: colors.fuchsia,
1974
+ orangeDark: colors.orangeDark,
1975
+ green: colors.green,
1976
+ indigo: colors.indigo
1877
1977
  };
1878
1978
  var radius2 = {
1879
1979
  ...radius,
@@ -2101,7 +2201,39 @@ var chartColors2 = {
2101
2201
  series2Fg: red[600],
2102
2202
  series2FgHover: red[700],
2103
2203
  series2Bg: red[100],
2104
- series2BgHover: red[200]
2204
+ series2BgHover: red[200],
2205
+ series3Fg: colors2.teal[600],
2206
+ series3FgHover: colors2.teal[700],
2207
+ series3Bg: colors2.teal[100],
2208
+ series3BgHover: colors2.teal[200],
2209
+ series4Fg: colors2.orange[600],
2210
+ series4FgHover: colors2.orange[700],
2211
+ series4Bg: colors2.orange[100],
2212
+ series4BgHover: colors2.orange[200],
2213
+ series5Fg: colors2.purple[600],
2214
+ series5FgHover: colors2.purple[700],
2215
+ series5Bg: colors2.purple[100],
2216
+ series5BgHover: colors2.purple[200],
2217
+ series6Fg: colors2.pink[600],
2218
+ series6FgHover: colors2.pink[700],
2219
+ series6Bg: colors2.pink[100],
2220
+ series6BgHover: colors2.pink[200],
2221
+ series7Fg: colors2.fuchsia[600],
2222
+ series7FgHover: colors2.fuchsia[700],
2223
+ series7Bg: colors2.fuchsia[100],
2224
+ series7BgHover: colors2.fuchsia[200],
2225
+ series8Fg: colors2.orangeDark[600],
2226
+ series8FgHover: colors2.orangeDark[700],
2227
+ series8Bg: colors2.orangeDark[100],
2228
+ series8BgHover: colors2.orangeDark[200],
2229
+ series9Fg: colors2.green[600],
2230
+ series9FgHover: colors2.green[700],
2231
+ series9Bg: colors2.green[100],
2232
+ series9BgHover: colors2.green[200],
2233
+ series10Fg: colors2.indigo[600],
2234
+ series10FgHover: colors2.indigo[700],
2235
+ series10Bg: colors2.indigo[100],
2236
+ series10BgHover: colors2.indigo[200]
2105
2237
  };
2106
2238
  var focusRings2 = {
2107
2239
  brand: "0px 0px 0px 4px #f040403d",