@matteoaliano/forest-ui 0.2.9 → 0.2.11

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var react = require('react');
3
+ var React2 = require('react');
4
4
  var styles = require('@mui/material/styles');
5
5
  var CssBaseline = require('@mui/material/CssBaseline');
6
6
  var jsxRuntime = require('react/jsx-runtime');
@@ -13,19 +13,26 @@ var MuiRadioGroup = require('@mui/material/RadioGroup');
13
13
  var MuiRadio = require('@mui/material/Radio');
14
14
  var MuiSelect = require('@mui/material/Select');
15
15
  var MuiMenuItem = require('@mui/material/MenuItem');
16
+ var MuiListItemText = require('@mui/material/ListItemText');
17
+ var MuiFormControl = require('@mui/material/FormControl');
18
+ var MuiInputLabel = require('@mui/material/InputLabel');
16
19
  var MuiSwitch = require('@mui/material/Switch');
17
20
  var MuiTextField = require('@mui/material/TextField');
21
+ var InputAdornment = require('@mui/material/InputAdornment');
22
+ var IconButton = require('@mui/material/IconButton');
23
+ var utils = require('@mui/material/utils');
18
24
  var MuiToggleButton = require('@mui/material/ToggleButton');
19
25
  var MuiToggleButtonGroup = require('@mui/material/ToggleButtonGroup');
26
+ var DatePicker$1 = require('@mui/x-date-pickers/DatePicker');
27
+ var LocalizationProvider = require('@mui/x-date-pickers/LocalizationProvider');
28
+ var AdapterDayjs = require('@mui/x-date-pickers/AdapterDayjs');
20
29
  var MuiBadge = require('@mui/material/Badge');
21
30
  var MuiChip = require('@mui/material/Chip');
22
- var utils = require('@mui/material/utils');
23
31
  var MuiDivider = require('@mui/material/Divider');
24
32
  var MuiList = require('@mui/material/List');
25
33
  var MuiListItem = require('@mui/material/ListItem');
26
34
  var MuiListItemButton2 = require('@mui/material/ListItemButton');
27
35
  var ListItemIcon2 = require('@mui/material/ListItemIcon');
28
- var MuiListItemText = require('@mui/material/ListItemText');
29
36
  var MuiListItemAvatar = require('@mui/material/ListItemAvatar');
30
37
  var MuiListSubheader = require('@mui/material/ListSubheader');
31
38
  var MuiTable = require('@mui/material/Table');
@@ -60,13 +67,29 @@ var MuiDialogContentText = require('@mui/material/DialogContentText');
60
67
  var MuiLinearProgress = require('@mui/material/LinearProgress');
61
68
  var MuiCircularProgress = require('@mui/material/CircularProgress');
62
69
  var MuiSkeleton = require('@mui/material/Skeleton');
70
+ var MuiModal = require('@mui/material/Modal');
71
+ var MuiPopover = require('@mui/material/Popover');
63
72
  var MuiSnackbar = require('@mui/material/Snackbar');
73
+ var MuiBreadcrumbs = require('@mui/material/Breadcrumbs');
74
+ var MuiLink = require('@mui/material/Link');
75
+ var MuiMenu = require('@mui/material/Menu');
76
+ var MuiMenuList = require('@mui/material/MenuList');
77
+ var MuiPagination = require('@mui/material/Pagination');
78
+ var MuiStepper = require('@mui/material/Stepper');
79
+ var MuiStep = require('@mui/material/Step');
80
+ var MuiStepLabel = require('@mui/material/StepLabel');
81
+ var MuiTabs = require('@mui/material/Tabs');
82
+ var MuiTab = require('@mui/material/Tab');
64
83
  var MuiDrawer = require('@mui/material/Drawer');
65
84
  var Box = require('@mui/material/Box');
66
- var IconButton = require('@mui/material/IconButton');
85
+ var LineChart$1 = require('@mui/x-charts/LineChart');
86
+ var material = require('@mui/material');
87
+ var BarChart$1 = require('@mui/x-charts/BarChart');
88
+ var PieChart$1 = require('@mui/x-charts/PieChart');
67
89
 
68
90
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
69
91
 
92
+ var React2__default = /*#__PURE__*/_interopDefault(React2);
70
93
  var CssBaseline__default = /*#__PURE__*/_interopDefault(CssBaseline);
71
94
  var MuiAutocomplete__default = /*#__PURE__*/_interopDefault(MuiAutocomplete);
72
95
  var MuiButton__default = /*#__PURE__*/_interopDefault(MuiButton);
@@ -77,8 +100,13 @@ var MuiRadioGroup__default = /*#__PURE__*/_interopDefault(MuiRadioGroup);
77
100
  var MuiRadio__default = /*#__PURE__*/_interopDefault(MuiRadio);
78
101
  var MuiSelect__default = /*#__PURE__*/_interopDefault(MuiSelect);
79
102
  var MuiMenuItem__default = /*#__PURE__*/_interopDefault(MuiMenuItem);
103
+ var MuiListItemText__default = /*#__PURE__*/_interopDefault(MuiListItemText);
104
+ var MuiFormControl__default = /*#__PURE__*/_interopDefault(MuiFormControl);
105
+ var MuiInputLabel__default = /*#__PURE__*/_interopDefault(MuiInputLabel);
80
106
  var MuiSwitch__default = /*#__PURE__*/_interopDefault(MuiSwitch);
81
107
  var MuiTextField__default = /*#__PURE__*/_interopDefault(MuiTextField);
108
+ var InputAdornment__default = /*#__PURE__*/_interopDefault(InputAdornment);
109
+ var IconButton__default = /*#__PURE__*/_interopDefault(IconButton);
82
110
  var MuiToggleButton__default = /*#__PURE__*/_interopDefault(MuiToggleButton);
83
111
  var MuiToggleButtonGroup__default = /*#__PURE__*/_interopDefault(MuiToggleButtonGroup);
84
112
  var MuiBadge__default = /*#__PURE__*/_interopDefault(MuiBadge);
@@ -88,7 +116,6 @@ var MuiList__default = /*#__PURE__*/_interopDefault(MuiList);
88
116
  var MuiListItem__default = /*#__PURE__*/_interopDefault(MuiListItem);
89
117
  var MuiListItemButton2__default = /*#__PURE__*/_interopDefault(MuiListItemButton2);
90
118
  var ListItemIcon2__default = /*#__PURE__*/_interopDefault(ListItemIcon2);
91
- var MuiListItemText__default = /*#__PURE__*/_interopDefault(MuiListItemText);
92
119
  var MuiListItemAvatar__default = /*#__PURE__*/_interopDefault(MuiListItemAvatar);
93
120
  var MuiListSubheader__default = /*#__PURE__*/_interopDefault(MuiListSubheader);
94
121
  var MuiTable__default = /*#__PURE__*/_interopDefault(MuiTable);
@@ -122,10 +149,21 @@ var MuiDialogContentText__default = /*#__PURE__*/_interopDefault(MuiDialogConten
122
149
  var MuiLinearProgress__default = /*#__PURE__*/_interopDefault(MuiLinearProgress);
123
150
  var MuiCircularProgress__default = /*#__PURE__*/_interopDefault(MuiCircularProgress);
124
151
  var MuiSkeleton__default = /*#__PURE__*/_interopDefault(MuiSkeleton);
152
+ var MuiModal__default = /*#__PURE__*/_interopDefault(MuiModal);
153
+ var MuiPopover__default = /*#__PURE__*/_interopDefault(MuiPopover);
125
154
  var MuiSnackbar__default = /*#__PURE__*/_interopDefault(MuiSnackbar);
155
+ var MuiBreadcrumbs__default = /*#__PURE__*/_interopDefault(MuiBreadcrumbs);
156
+ var MuiLink__default = /*#__PURE__*/_interopDefault(MuiLink);
157
+ var MuiMenu__default = /*#__PURE__*/_interopDefault(MuiMenu);
158
+ var MuiMenuList__default = /*#__PURE__*/_interopDefault(MuiMenuList);
159
+ var MuiPagination__default = /*#__PURE__*/_interopDefault(MuiPagination);
160
+ var MuiStepper__default = /*#__PURE__*/_interopDefault(MuiStepper);
161
+ var MuiStep__default = /*#__PURE__*/_interopDefault(MuiStep);
162
+ var MuiStepLabel__default = /*#__PURE__*/_interopDefault(MuiStepLabel);
163
+ var MuiTabs__default = /*#__PURE__*/_interopDefault(MuiTabs);
164
+ var MuiTab__default = /*#__PURE__*/_interopDefault(MuiTab);
126
165
  var MuiDrawer__default = /*#__PURE__*/_interopDefault(MuiDrawer);
127
166
  var Box__default = /*#__PURE__*/_interopDefault(Box);
128
- var IconButton__default = /*#__PURE__*/_interopDefault(IconButton);
129
167
 
130
168
  // src/provider/ForestProvider.tsx
131
169
 
@@ -221,14 +259,19 @@ var colors = {
221
259
  950: "#102a56"
222
260
  },
223
261
  teal: {
262
+ 50: "#f0fdf9",
224
263
  100: "#ccfbef",
225
264
  200: "#99f6e0",
265
+ 300: "#5fe9d0",
266
+ 400: "#2ed3b7",
226
267
  600: "#0e9384",
227
268
  700: "#107569"
228
269
  },
229
270
  orange: {
230
271
  100: "#fdead7",
231
272
  200: "#f9dbaf",
273
+ 300: "#f7b27a",
274
+ 400: "#f38744",
232
275
  600: "#e04f16",
233
276
  700: "#b93815"
234
277
  },
@@ -241,24 +284,31 @@ var colors = {
241
284
  pink: {
242
285
  100: "#fce7f6",
243
286
  200: "#fcceee",
287
+ 400: "#f670c7",
288
+ 500: "#ee46bc",
244
289
  600: "#dd2590",
245
290
  700: "#c11574"
246
291
  },
247
292
  fuchsia: {
248
293
  100: "#fbe8ff",
249
294
  200: "#f6d0fe",
295
+ 400: "#e478fa",
296
+ 500: "#d444f1",
250
297
  600: "#ba24d5",
251
298
  700: "#9f1ab1"
252
299
  },
253
300
  orangeDark: {
254
301
  100: "#ffe6d5",
255
302
  200: "#ffd6ae",
303
+ 400: "#ff692e",
304
+ 500: "#ff4405",
256
305
  600: "#e62e05",
257
306
  700: "#bc1b06"
258
307
  },
259
308
  green: {
260
309
  100: "#d3f8df",
261
310
  200: "#aaf0c4",
311
+ 500: "#16b364",
262
312
  600: "#099250",
263
313
  700: "#087443"
264
314
  },
@@ -267,6 +317,30 @@ var colors = {
267
317
  200: "#c7d7fe",
268
318
  600: "#444ce7",
269
319
  700: "#3538cd"
320
+ },
321
+ violet: {
322
+ 100: "#ece9fe",
323
+ 200: "#ddd6fe",
324
+ 500: "#875bf7",
325
+ 600: "#7839ee"
326
+ },
327
+ rose: {
328
+ 100: "#ffe4e8",
329
+ 200: "#fecdd6",
330
+ 400: "#fd6f8e",
331
+ 500: "#f63d68"
332
+ },
333
+ blueLight: {
334
+ 100: "#e0f2fe",
335
+ 200: "#b9e6fe",
336
+ 400: "#36bffa",
337
+ 500: "#0ba5ec"
338
+ },
339
+ cyan: {
340
+ 100: "#cff9fe",
341
+ 200: "#a5f0fc",
342
+ 600: "#088ab2",
343
+ 700: "#0e7090"
270
344
  }
271
345
  };
272
346
  var spacing = {
@@ -563,7 +637,7 @@ var toggleColors = {
563
637
  buttonFgDisabled: colors.gray[50]
564
638
  };
565
639
  var chartColors = {
566
- axisFg: colors.gray[200],
640
+ axisFg: colors.gray[100],
567
641
  gridlineFg: colors.gray[100],
568
642
  labelFg: colors.gray[600],
569
643
  labelFgEmphasis: colors.gray[700],
@@ -572,47 +646,21 @@ var chartColors = {
572
646
  tooltipBg: colors.gray[950],
573
647
  tooltipFg: colors.base.white,
574
648
  crosshairFg: colors.gray[500],
575
- legendFg: colors.gray[700],
576
- series1Fg: colors.blue[600],
577
- series1FgHover: colors.blue[700],
578
- series1Bg: colors.blue[100],
579
- series1BgHover: colors.blue[200],
580
- series2Fg: colors.brand[600],
581
- series2FgHover: colors.brand[700],
582
- series2Bg: colors.brand[100],
583
- series2BgHover: colors.brand[200],
584
- series3Fg: colors.teal[600],
585
- series3FgHover: colors.teal[700],
586
- series3Bg: colors.teal[100],
587
- series3BgHover: colors.teal[200],
588
- series4Fg: colors.orange[600],
589
- series4FgHover: colors.orange[700],
590
- series4Bg: colors.orange[100],
591
- series4BgHover: colors.orange[200],
592
- series5Fg: colors.purple[600],
593
- series5FgHover: colors.purple[700],
594
- series5Bg: colors.purple[100],
595
- series5BgHover: colors.purple[200],
596
- series6Fg: colors.pink[600],
597
- series6FgHover: colors.pink[700],
598
- series6Bg: colors.pink[100],
599
- series6BgHover: colors.pink[200],
600
- series7Fg: colors.fuchsia[600],
601
- series7FgHover: colors.fuchsia[700],
602
- series7Bg: colors.fuchsia[100],
603
- series7BgHover: colors.fuchsia[200],
604
- series8Fg: colors.orangeDark[600],
605
- series8FgHover: colors.orangeDark[700],
606
- series8Bg: colors.orangeDark[100],
607
- series8BgHover: colors.orangeDark[200],
608
- series9Fg: colors.green[600],
609
- series9FgHover: colors.green[700],
610
- series9Bg: colors.green[100],
611
- series9BgHover: colors.green[200],
612
- series10Fg: colors.indigo[600],
613
- series10FgHover: colors.indigo[700],
614
- series10Bg: colors.indigo[100],
615
- series10BgHover: colors.indigo[200]
649
+ legendFg: text.tertiary,
650
+ series: [
651
+ { fg: colors.violet[500], fgHover: colors.violet[600], bg: colors.violet[100], bgHover: colors.violet[200] },
652
+ { fg: colors.orangeDark[400], fgHover: colors.orangeDark[500], bg: colors.orangeDark[100], bgHover: colors.orangeDark[200] },
653
+ { fg: colors.teal[300], fgHover: colors.teal[400], bg: colors.teal[50], bgHover: colors.teal[100] },
654
+ { fg: colors.warning[400], fgHover: colors.warning[500], bg: colors.warning[100], bgHover: colors.warning[200] },
655
+ { fg: colors.rose[400], fgHover: colors.rose[500], bg: colors.rose[100], bgHover: colors.rose[200] },
656
+ { fg: colors.blueLight[400], fgHover: colors.blueLight[500], bg: colors.blueLight[100], bgHover: colors.blueLight[200] },
657
+ { fg: colors.orange[300], fgHover: colors.orange[400], bg: colors.orange[100], bgHover: colors.orange[200] },
658
+ { fg: colors.cyan[600], fgHover: colors.cyan[700], bg: colors.cyan[100], bgHover: colors.cyan[200] },
659
+ { fg: colors.green[500], fgHover: colors.green[600], bg: colors.green[100], bgHover: colors.green[200] },
660
+ { fg: colors.pink[400], fgHover: colors.pink[500], bg: colors.pink[100], bgHover: colors.pink[200] },
661
+ { fg: colors.fuchsia[400], fgHover: colors.fuchsia[500], bg: colors.fuchsia[100], bgHover: colors.fuchsia[200] },
662
+ { fg: colors.teal[600], fgHover: colors.teal[700], bg: colors.teal[100], bgHover: colors.teal[200] }
663
+ ]
616
664
  };
617
665
  var alpha = {
618
666
  white: {
@@ -996,18 +1044,21 @@ function buildComponents(tokens) {
996
1044
  }
997
1045
  }
998
1046
  },
999
- // ─── Select ─────────────────────────────────────────────────────
1000
- MuiSelect: {
1047
+ // ─── Menu ──────────────────────────────────────────────────────
1048
+ MuiMenu: {
1001
1049
  defaultProps: {
1002
- MenuProps: {
1003
- autoFocus: false,
1004
- slotProps: {
1005
- backdrop: {
1006
- sx: { backgroundColor: "transparent" }
1007
- }
1050
+ autoFocus: false
1051
+ },
1052
+ styleOverrides: {
1053
+ root: {
1054
+ "& .MuiBackdrop-root": {
1055
+ backgroundColor: "transparent"
1008
1056
  }
1009
1057
  }
1010
- },
1058
+ }
1059
+ },
1060
+ // ─── Select ─────────────────────────────────────────────────────
1061
+ MuiSelect: {
1011
1062
  styleOverrides: {
1012
1063
  select: {
1013
1064
  "&.MuiSelect-select": {
@@ -2026,20 +2077,8 @@ var forestPreset = {
2026
2077
  };
2027
2078
 
2028
2079
  // src/theme/presets/alkemy-plus.ts
2029
- var red = {
2030
- 50: "#fef2f2",
2031
- 100: "#fee2e2",
2032
- 200: "#fecaca",
2033
- 600: "#dc2626",
2034
- 700: "#b91c1c",
2035
- 800: "#991b1b",
2036
- 900: "#7f1d1d"};
2037
2080
  var colors2 = {
2038
- base: {
2039
- white: "#ffffff",
2040
- black: "#000000",
2041
- transparent: "#ffffff00"
2042
- },
2081
+ ...colors,
2043
2082
  /** Brand scale — black-based for primary actions */
2044
2083
  brand: {
2045
2084
  25: "#fafafa",
@@ -2069,36 +2108,7 @@ var colors2 = {
2069
2108
  800: "#27272a",
2070
2109
  900: "#18181b",
2071
2110
  950: "#09090b"
2072
- },
2073
- /** Error — forest defaults (standard UX red) */
2074
- error: colors.error,
2075
- /** Warning — orange/yellow tones from Alkemy+ palette */
2076
- warning: {
2077
- 25: "#fffcf5",
2078
- 50: "#fff7ed",
2079
- 100: "#ffedd5",
2080
- 200: "#fed7aa",
2081
- 300: "#fdba74",
2082
- 400: "#fb923c",
2083
- 500: "#f08828",
2084
- 600: "#ea580c",
2085
- 700: "#c2410c",
2086
- 800: "#9a3412",
2087
- 900: "#7c2d12",
2088
- 950: "#431407"
2089
- },
2090
- /** Success — forest defaults (standard UX green) */
2091
- success: colors.success,
2092
- /** Blue (info) — forest defaults (standard UX) */
2093
- blue: colors.blue,
2094
- teal: colors.teal,
2095
- orange: colors.orange,
2096
- purple: colors.purple,
2097
- pink: colors.pink,
2098
- fuchsia: colors.fuchsia,
2099
- orangeDark: colors.orangeDark,
2100
- green: colors.green,
2101
- indigo: colors.indigo
2111
+ }
2102
2112
  };
2103
2113
  var radius2 = {
2104
2114
  ...radius,
@@ -2123,10 +2133,10 @@ var text2 = {
2123
2133
  placeholder: colors2.gray[500],
2124
2134
  placeholderSubtle: colors2.gray[300],
2125
2135
  white: colors2.base.white,
2126
- brandPrimary: red[900],
2127
- brandSecondary: red[700],
2128
- brandTertiary: red[600],
2129
- brandTertiaryAlt: red[600],
2136
+ brandPrimary: colors2.brand[900],
2137
+ brandSecondary: colors2.brand[700],
2138
+ brandTertiary: colors2.brand[600],
2139
+ brandTertiaryAlt: colors2.brand[600],
2130
2140
  primaryOnBrand: colors2.base.white,
2131
2141
  secondaryOnBrand: colors2.brand[200],
2132
2142
  tertiaryOnBrand: colors2.brand[200],
@@ -2138,22 +2148,22 @@ var text2 = {
2138
2148
  var bg2 = {
2139
2149
  primary: colors2.gray[50],
2140
2150
  primaryAlt: colors2.gray[50],
2141
- primaryHover: colors2.gray[50],
2151
+ primaryHover: colors2.gray[100],
2142
2152
  primarySolid: colors2.gray[950],
2143
2153
  secondary: colors2.base.white,
2144
2154
  secondaryAlt: colors2.base.white,
2145
2155
  secondarySubtle: colors2.gray[25],
2146
- secondaryHover: colors2.gray[100],
2156
+ secondaryHover: colors2.gray[50],
2147
2157
  secondarySolid: colors2.gray[600],
2148
2158
  tertiary: colors2.gray[100],
2149
2159
  quaternary: colors2.gray[200],
2150
- active: colors2.gray[50],
2160
+ active: colors2.gray[200],
2151
2161
  disabled: colors2.gray[100],
2152
2162
  disabledSubtle: colors2.gray[50],
2153
2163
  overlay: colors2.gray[950],
2154
- brandPrimary: colors2.brand[100],
2155
- brandPrimaryAlt: colors2.brand[100],
2156
- brandSecondary: colors2.brand[200],
2164
+ brandPrimary: colors2.brand[50],
2165
+ brandPrimaryAlt: colors2.brand[50],
2166
+ brandSecondary: colors2.brand[100],
2157
2167
  brandSolid: colors2.brand[600],
2158
2168
  brandSolidHover: colors2.brand[700],
2159
2169
  brandSection: colors2.brand[800],
@@ -2205,7 +2215,6 @@ var border2 = {
2205
2215
  errorSolid: colors2.error[600]
2206
2216
  };
2207
2217
  var buttonColors2 = {
2208
- /** Primary buttons — black */
2209
2218
  primary: {
2210
2219
  bg: colors2.brand[600],
2211
2220
  bgHover: colors2.brand[700],
@@ -2222,7 +2231,6 @@ var buttonColors2 = {
2222
2231
  border: colors2.gray[300],
2223
2232
  borderHover: colors2.gray[300]
2224
2233
  },
2225
- /** Outlined accent buttons — dark */
2226
2234
  secondaryColor: {
2227
2235
  bg: colors2.base.white,
2228
2236
  bgHover: colors2.brand[50],
@@ -2236,11 +2244,10 @@ var buttonColors2 = {
2236
2244
  fgHover: colors2.gray[700],
2237
2245
  bgHover: colors2.gray[50]
2238
2246
  },
2239
- /** Text accent buttons — red */
2240
2247
  tertiaryColor: {
2241
- fg: red[700],
2242
- fgHover: red[800],
2243
- bgHover: red[50]
2248
+ fg: colors2.brand[700],
2249
+ fgHover: colors2.brand[800],
2250
+ bgHover: colors2.brand[50]
2244
2251
  },
2245
2252
  primaryError: {
2246
2253
  bg: colors2.error[600],
@@ -2269,22 +2276,23 @@ var avatarColors2 = {
2269
2276
  contrastBorder: "#00000014",
2270
2277
  profilePhotoBorder: colors2.base.white,
2271
2278
  focusBorder: "#a0a0a624"
2279
+ // gray[400] + 14% alpha
2272
2280
  };
2273
2281
  var breadcrumbColors2 = {
2274
2282
  fg: colors2.gray[600],
2275
2283
  fgHover: colors2.gray[700],
2276
2284
  bgHover: colors2.gray[50],
2277
- brandBgHover: red[50],
2278
- brandFgHover: red[700],
2285
+ brandBgHover: colors2.brand[50],
2286
+ brandFgHover: colors2.brand[700],
2279
2287
  iconFg: colors2.gray[500],
2280
2288
  iconFgHover: colors2.gray[700],
2281
- brandIconFgHover: red[700]
2289
+ brandIconFgHover: colors2.brand[700]
2282
2290
  };
2283
2291
  var iconColors2 = {
2284
- fgBrand: red[600],
2285
- fgBrandOnBrand: red[200],
2292
+ fgBrand: colors2.brand[600],
2293
+ fgBrandOnBrand: colors2.brand[200],
2286
2294
  featuredModernBorder: colors2.gray[200],
2287
- featuredLightFgBrand: red[600],
2295
+ featuredLightFgBrand: colors2.brand[600],
2288
2296
  featuredLightFgGray: colors2.gray[500],
2289
2297
  featuredLightFgError: colors2.error[600],
2290
2298
  featuredLightFgWarning: colors2.warning[600],
@@ -2297,19 +2305,19 @@ var iconColors2 = {
2297
2305
  };
2298
2306
  var navColors2 = {
2299
2307
  itemIconFg: colors2.gray[500],
2300
- itemIconFgActive: colors2.gray[500],
2308
+ itemIconFgActive: colors2.gray[700],
2301
2309
  itemButtonIconFg: colors2.gray[500],
2302
2310
  itemButtonIconFgActive: colors2.gray[700]
2303
2311
  };
2304
2312
  var sliderColors2 = {
2305
- handleBorder: red[600],
2313
+ handleBorder: colors2.brand[600],
2306
2314
  handleBg: colors2.base.white
2307
2315
  };
2308
2316
  var toggleColors2 = {
2309
2317
  buttonFgDisabled: colors2.gray[50]
2310
2318
  };
2311
2319
  var chartColors2 = {
2312
- axisFg: colors2.gray[200],
2320
+ axisFg: colors2.gray[100],
2313
2321
  gridlineFg: colors2.gray[100],
2314
2322
  labelFg: colors2.gray[600],
2315
2323
  labelFgEmphasis: colors2.gray[700],
@@ -2318,52 +2326,26 @@ var chartColors2 = {
2318
2326
  tooltipBg: colors2.gray[950],
2319
2327
  tooltipFg: colors2.base.white,
2320
2328
  crosshairFg: colors2.gray[500],
2321
- legendFg: colors2.gray[700],
2322
- series1Fg: colors2.brand[600],
2323
- series1FgHover: colors2.brand[700],
2324
- series1Bg: colors2.brand[100],
2325
- series1BgHover: colors2.brand[200],
2326
- series2Fg: red[600],
2327
- series2FgHover: red[700],
2328
- series2Bg: red[100],
2329
- series2BgHover: red[200],
2330
- series3Fg: colors2.teal[600],
2331
- series3FgHover: colors2.teal[700],
2332
- series3Bg: colors2.teal[100],
2333
- series3BgHover: colors2.teal[200],
2334
- series4Fg: colors2.orange[600],
2335
- series4FgHover: colors2.orange[700],
2336
- series4Bg: colors2.orange[100],
2337
- series4BgHover: colors2.orange[200],
2338
- series5Fg: colors2.purple[600],
2339
- series5FgHover: colors2.purple[700],
2340
- series5Bg: colors2.purple[100],
2341
- series5BgHover: colors2.purple[200],
2342
- series6Fg: colors2.pink[600],
2343
- series6FgHover: colors2.pink[700],
2344
- series6Bg: colors2.pink[100],
2345
- series6BgHover: colors2.pink[200],
2346
- series7Fg: colors2.fuchsia[600],
2347
- series7FgHover: colors2.fuchsia[700],
2348
- series7Bg: colors2.fuchsia[100],
2349
- series7BgHover: colors2.fuchsia[200],
2350
- series8Fg: colors2.orangeDark[600],
2351
- series8FgHover: colors2.orangeDark[700],
2352
- series8Bg: colors2.orangeDark[100],
2353
- series8BgHover: colors2.orangeDark[200],
2354
- series9Fg: colors2.green[600],
2355
- series9FgHover: colors2.green[700],
2356
- series9Bg: colors2.green[100],
2357
- series9BgHover: colors2.green[200],
2358
- series10Fg: colors2.indigo[600],
2359
- series10FgHover: colors2.indigo[700],
2360
- series10Bg: colors2.indigo[100],
2361
- series10BgHover: colors2.indigo[200]
2329
+ legendFg: text2.tertiary,
2330
+ series: [
2331
+ { fg: colors2.violet[500], fgHover: colors2.violet[600], bg: colors2.violet[100], bgHover: colors2.violet[200] },
2332
+ { fg: colors2.orangeDark[400], fgHover: colors2.orangeDark[500], bg: colors2.orangeDark[100], bgHover: colors2.orangeDark[200] },
2333
+ { fg: colors2.teal[300], fgHover: colors2.teal[400], bg: colors2.teal[50], bgHover: colors2.teal[100] },
2334
+ { fg: colors2.warning[400], fgHover: colors2.warning[500], bg: colors2.warning[100], bgHover: colors2.warning[200] },
2335
+ { fg: colors2.rose[400], fgHover: colors2.rose[500], bg: colors2.rose[100], bgHover: colors2.rose[200] },
2336
+ { fg: colors2.blueLight[400], fgHover: colors2.blueLight[500], bg: colors2.blueLight[100], bgHover: colors2.blueLight[200] },
2337
+ { fg: colors2.orange[300], fgHover: colors2.orange[400], bg: colors2.orange[100], bgHover: colors2.orange[200] },
2338
+ { fg: colors2.cyan[600], fgHover: colors2.cyan[700], bg: colors2.cyan[100], bgHover: colors2.cyan[200] },
2339
+ { fg: colors2.green[500], fgHover: colors2.green[600], bg: colors2.green[100], bgHover: colors2.green[200] },
2340
+ { fg: colors2.pink[400], fgHover: colors2.pink[500], bg: colors2.pink[100], bgHover: colors2.pink[200] },
2341
+ { fg: colors2.fuchsia[400], fgHover: colors2.fuchsia[500], bg: colors2.fuchsia[100], bgHover: colors2.fuchsia[200] },
2342
+ { fg: colors2.teal[600], fgHover: colors2.teal[700], bg: colors2.teal[100], bgHover: colors2.teal[200] }
2343
+ ]
2362
2344
  };
2363
2345
  var focusRings2 = {
2364
- brand: "0px 0px 0px 4px #f040403d",
2365
- brandShadowXs: "0px 1px 2px 0px #1018280d, 0px 0px 0px 4px #f040403d",
2366
- brandShadowSm: "0px 1px 3px 0px #1018281a, 0px 1px 2px 0px #1018280f, 0px 0px 0px 4px #f040403d",
2346
+ brand: "0px 0px 0px 4px #4040403d",
2347
+ brandShadowXs: "0px 1px 2px 0px #1018280d, 0px 0px 0px 4px #4040403d",
2348
+ brandShadowSm: "0px 1px 3px 0px #1018281a, 0px 1px 2px 0px #1018280f, 0px 0px 0px 4px #4040403d",
2367
2349
  gray: "0px 0px 0px 4px #a0a0a624",
2368
2350
  grayShadowXs: "0px 1px 2px 0px #1018280d, 0px 0px 0px 4px #a0a0a624",
2369
2351
  grayShadowSm: "0px 1px 3px 0px #1018281a, 0px 1px 2px 0px #1018280f, 0px 0px 0px 4px #a0a0a624",
@@ -2438,7 +2420,7 @@ function ForestProvider({
2438
2420
  variant,
2439
2421
  disableCssBaseline = false
2440
2422
  }) {
2441
- const resolvedTheme = react.useMemo(() => {
2423
+ const resolvedTheme = React2.useMemo(() => {
2442
2424
  if (theme) return theme;
2443
2425
  if (!preset) return forestTheme;
2444
2426
  const presetConfig = getPreset(preset);
@@ -2488,18 +2470,137 @@ function Select(props) {
2488
2470
  function MenuItem(props) {
2489
2471
  return /* @__PURE__ */ jsxRuntime.jsx(MuiMenuItem__default.default, { ...props });
2490
2472
  }
2473
+ function MultiSelect({
2474
+ options,
2475
+ value,
2476
+ onChange,
2477
+ selectAll = true,
2478
+ selectAllLabel = "Select All",
2479
+ label,
2480
+ ...rest
2481
+ }) {
2482
+ const allSelected = options.length > 0 && value.length === options.length;
2483
+ const handleChange = (event) => {
2484
+ const selected = event.target.value;
2485
+ const arr = typeof selected === "string" ? selected.split(",") : selected;
2486
+ onChange(arr);
2487
+ };
2488
+ const handleSelectAll = () => {
2489
+ onChange(allSelected ? [] : options.map((o) => o.value));
2490
+ };
2491
+ const labelMap = new Map(options.map((o) => [o.value, o.label]));
2492
+ const renderValue2 = (selected) => selected.map((v) => {
2493
+ var _a;
2494
+ return (_a = labelMap.get(v)) != null ? _a : v;
2495
+ }).join(", ");
2496
+ const labelId = label ? `forest-multiselect-${String(label).replace(/\s+/g, "-").toLowerCase()}` : void 0;
2497
+ return /* @__PURE__ */ jsxRuntime.jsxs(MuiFormControl__default.default, { fullWidth: true, children: [
2498
+ label && /* @__PURE__ */ jsxRuntime.jsx(MuiInputLabel__default.default, { id: labelId, shrink: value.length > 0, children: label }),
2499
+ /* @__PURE__ */ jsxRuntime.jsxs(
2500
+ MuiSelect__default.default,
2501
+ {
2502
+ labelId,
2503
+ label,
2504
+ multiple: true,
2505
+ notched: value.length > 0,
2506
+ value,
2507
+ onChange: handleChange,
2508
+ displayEmpty: true,
2509
+ renderValue: renderValue2,
2510
+ ...rest,
2511
+ children: [
2512
+ selectAll && /* @__PURE__ */ jsxRuntime.jsx(
2513
+ "li",
2514
+ {
2515
+ onMouseDown: (e) => e.preventDefault(),
2516
+ onClick: (e) => {
2517
+ e.stopPropagation();
2518
+ handleSelectAll();
2519
+ },
2520
+ children: /* @__PURE__ */ jsxRuntime.jsx(MuiButton__default.default, { size: "small", variant: "text", children: allSelected ? "Deselect All" : selectAllLabel })
2521
+ }
2522
+ ),
2523
+ options.map((option) => /* @__PURE__ */ jsxRuntime.jsxs(MuiMenuItem__default.default, { value: option.value, children: [
2524
+ /* @__PURE__ */ jsxRuntime.jsx(MuiCheckbox__default.default, { checked: value.includes(option.value) }),
2525
+ /* @__PURE__ */ jsxRuntime.jsx(MuiListItemText__default.default, { primary: option.label })
2526
+ ] }, option.value))
2527
+ ]
2528
+ }
2529
+ )
2530
+ ] });
2531
+ }
2491
2532
  function Switch(props) {
2492
2533
  return /* @__PURE__ */ jsxRuntime.jsx(MuiSwitch__default.default, { ...props });
2493
2534
  }
2494
2535
  function TextField(props) {
2495
2536
  return /* @__PURE__ */ jsxRuntime.jsx(MuiTextField__default.default, { ...props });
2496
2537
  }
2538
+ var Search_default = utils.createSvgIcon(/* @__PURE__ */ jsxRuntime.jsx("path", {
2539
+ 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"
2540
+ }), "Search");
2541
+ var Clear_default = utils.createSvgIcon(/* @__PURE__ */ jsxRuntime.jsx("path", {
2542
+ 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"
2543
+ }), "Clear");
2544
+ function Search({
2545
+ value: controlledValue,
2546
+ onChange,
2547
+ onClear,
2548
+ placeholder = "Search\u2026",
2549
+ slotProps,
2550
+ ...props
2551
+ }) {
2552
+ const [internalValue, setInternalValue] = React2.useState("");
2553
+ const isControlled = controlledValue !== void 0;
2554
+ const currentValue = isControlled ? controlledValue : internalValue;
2555
+ const handleChange = React2.useCallback(
2556
+ (e) => {
2557
+ if (!isControlled) setInternalValue(e.target.value);
2558
+ onChange == null ? void 0 : onChange(e);
2559
+ },
2560
+ [isControlled, onChange]
2561
+ );
2562
+ const handleClear = React2.useCallback(() => {
2563
+ if (!isControlled) setInternalValue("");
2564
+ onClear == null ? void 0 : onClear();
2565
+ }, [isControlled, onClear]);
2566
+ return /* @__PURE__ */ jsxRuntime.jsx(
2567
+ MuiTextField__default.default,
2568
+ {
2569
+ variant: "outlined",
2570
+ placeholder,
2571
+ value: currentValue,
2572
+ onChange: handleChange,
2573
+ slotProps: {
2574
+ ...slotProps,
2575
+ input: {
2576
+ sx: { pl: "12px", gap: 0 },
2577
+ startAdornment: /* @__PURE__ */ jsxRuntime.jsx(InputAdornment__default.default, { position: "start", sx: { mr: 0 }, children: /* @__PURE__ */ jsxRuntime.jsx(Search_default, { sx: { fontSize: 20 } }) }),
2578
+ endAdornment: currentValue ? /* @__PURE__ */ jsxRuntime.jsx(InputAdornment__default.default, { position: "end", children: /* @__PURE__ */ jsxRuntime.jsx(
2579
+ IconButton__default.default,
2580
+ {
2581
+ "aria-label": "clear search",
2582
+ onClick: handleClear,
2583
+ edge: "end",
2584
+ size: "small",
2585
+ children: /* @__PURE__ */ jsxRuntime.jsx(Clear_default, { fontSize: "small" })
2586
+ }
2587
+ ) }) : null,
2588
+ ...typeof (slotProps == null ? void 0 : slotProps.input) === "object" ? slotProps.input : {}
2589
+ }
2590
+ },
2591
+ ...props
2592
+ }
2593
+ );
2594
+ }
2497
2595
  function ToggleButton(props) {
2498
2596
  return /* @__PURE__ */ jsxRuntime.jsx(MuiToggleButton__default.default, { ...props });
2499
2597
  }
2500
2598
  function ToggleButtonGroup(props) {
2501
2599
  return /* @__PURE__ */ jsxRuntime.jsx(MuiToggleButtonGroup__default.default, { ...props });
2502
2600
  }
2601
+ function DatePicker(props) {
2602
+ return /* @__PURE__ */ jsxRuntime.jsx(LocalizationProvider.LocalizationProvider, { dateAdapter: AdapterDayjs.AdapterDayjs, children: /* @__PURE__ */ jsxRuntime.jsx(DatePicker$1.DatePicker, { ...props }) });
2603
+ }
2503
2604
  function Badge(props) {
2504
2605
  return /* @__PURE__ */ jsxRuntime.jsx(MuiBadge__default.default, { ...props });
2505
2606
  }
@@ -2602,9 +2703,9 @@ function CardMedia(props) {
2602
2703
  function Paper(props) {
2603
2704
  return /* @__PURE__ */ jsxRuntime.jsx(MuiPaper__default.default, { ...props });
2604
2705
  }
2605
- function Alert(props) {
2606
- return /* @__PURE__ */ jsxRuntime.jsx(MuiAlert__default.default, { ...props });
2607
- }
2706
+ var Alert = React2__default.default.forwardRef(function Alert2(props, ref) {
2707
+ return /* @__PURE__ */ jsxRuntime.jsx(MuiAlert__default.default, { ref, ...props });
2708
+ });
2608
2709
  function AlertTitle(props) {
2609
2710
  return /* @__PURE__ */ jsxRuntime.jsx(MuiAlertTitle__default.default, { ...props });
2610
2711
  }
@@ -2635,22 +2736,58 @@ function CircularProgress(props) {
2635
2736
  function Skeleton(props) {
2636
2737
  return /* @__PURE__ */ jsxRuntime.jsx(MuiSkeleton__default.default, { ...props });
2637
2738
  }
2739
+ function Modal(props) {
2740
+ return /* @__PURE__ */ jsxRuntime.jsx(MuiModal__default.default, { ...props });
2741
+ }
2742
+ function Popover(props) {
2743
+ return /* @__PURE__ */ jsxRuntime.jsx(MuiPopover__default.default, { ...props });
2744
+ }
2638
2745
  function Snackbar(props) {
2639
2746
  return /* @__PURE__ */ jsxRuntime.jsx(MuiSnackbar__default.default, { ...props });
2640
2747
  }
2748
+ function Breadcrumbs(props) {
2749
+ return /* @__PURE__ */ jsxRuntime.jsx(MuiBreadcrumbs__default.default, { ...props });
2750
+ }
2751
+ function Link(props) {
2752
+ return /* @__PURE__ */ jsxRuntime.jsx(MuiLink__default.default, { ...props });
2753
+ }
2754
+ function Menu(props) {
2755
+ return /* @__PURE__ */ jsxRuntime.jsx(MuiMenu__default.default, { ...props });
2756
+ }
2757
+ function MenuList(props) {
2758
+ return /* @__PURE__ */ jsxRuntime.jsx(MuiMenuList__default.default, { ...props });
2759
+ }
2760
+ function Pagination(props) {
2761
+ return /* @__PURE__ */ jsxRuntime.jsx(MuiPagination__default.default, { ...props });
2762
+ }
2763
+ function Stepper(props) {
2764
+ return /* @__PURE__ */ jsxRuntime.jsx(MuiStepper__default.default, { ...props });
2765
+ }
2766
+ function Step(props) {
2767
+ return /* @__PURE__ */ jsxRuntime.jsx(MuiStep__default.default, { ...props });
2768
+ }
2769
+ function StepLabel(props) {
2770
+ return /* @__PURE__ */ jsxRuntime.jsx(MuiStepLabel__default.default, { ...props });
2771
+ }
2772
+ function Tabs(props) {
2773
+ return /* @__PURE__ */ jsxRuntime.jsx(MuiTabs__default.default, { ...props });
2774
+ }
2775
+ function Tab(props) {
2776
+ return /* @__PURE__ */ jsxRuntime.jsx(MuiTab__default.default, { ...props });
2777
+ }
2641
2778
  var ChevronLeftOutlined_default = utils.createSvgIcon(/* @__PURE__ */ jsxRuntime.jsx("path", {
2642
2779
  d: "M15.41 7.41 14 6l-6 6 6 6 1.41-1.41L10.83 12z"
2643
2780
  }), "ChevronLeftOutlined");
2644
2781
  var ChevronRightOutlined_default = utils.createSvgIcon(/* @__PURE__ */ jsxRuntime.jsx("path", {
2645
2782
  d: "M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"
2646
2783
  }), "ChevronRightOutlined");
2647
- var SidebarContext = react.createContext({
2784
+ var SidebarContext = React2.createContext({
2648
2785
  open: true,
2649
2786
  collapsedWidth: 48,
2650
2787
  expandedWidth: 240
2651
2788
  });
2652
2789
  function useSidebar() {
2653
- return react.useContext(SidebarContext);
2790
+ return React2.useContext(SidebarContext);
2654
2791
  }
2655
2792
  function SidebarNav({
2656
2793
  open,
@@ -2797,6 +2934,354 @@ function SidebarItem({
2797
2934
  endAdornment
2798
2935
  ] });
2799
2936
  }
2937
+ function useChartColors(count) {
2938
+ const theme = styles.useTheme();
2939
+ const chart = theme.palette.chart;
2940
+ const colors3 = chart.series.map((s) => s.fg);
2941
+ return colors3.slice(0, Math.min(count, colors3.length));
2942
+ }
2943
+ function formatDate(date) {
2944
+ if (!date) return "";
2945
+ const d = new Date(date);
2946
+ if (isNaN(d.getTime())) return String(date);
2947
+ return d.toLocaleDateString("en-US", {
2948
+ weekday: "short",
2949
+ month: "short",
2950
+ day: "numeric",
2951
+ year: "numeric"
2952
+ });
2953
+ }
2954
+ function renderValue(val) {
2955
+ if (val == null) return "0";
2956
+ if (typeof val === "object" && "y" in val) {
2957
+ return String(val.y);
2958
+ }
2959
+ return String(val);
2960
+ }
2961
+ function CustomTooltip(props) {
2962
+ const { series, axisValue, dataIndex } = props;
2963
+ const theme = styles.useTheme();
2964
+ if (dataIndex == null) {
2965
+ return null;
2966
+ }
2967
+ return /* @__PURE__ */ jsxRuntime.jsxs(
2968
+ material.Box,
2969
+ {
2970
+ sx: {
2971
+ backgroundColor: theme.palette.common.white,
2972
+ borderRadius: "12px",
2973
+ boxShadow: "0px 12px 24px -4px #1018281a, 0px 4px 8px -2px #1018280f",
2974
+ // Very high elevation shadow per reference
2975
+ padding: "16px",
2976
+ minWidth: "200px",
2977
+ display: "flex",
2978
+ flexDirection: "column",
2979
+ gap: "12px",
2980
+ borderTop: `1px solid ${theme.palette.divider}`,
2981
+ borderRight: `1px solid ${theme.palette.divider}`,
2982
+ borderBottom: `1px solid ${theme.palette.divider}`,
2983
+ borderLeft: `4px solid ${theme.palette.chart.series[0].fg}`
2984
+ },
2985
+ children: [
2986
+ /* @__PURE__ */ jsxRuntime.jsx(
2987
+ material.Typography,
2988
+ {
2989
+ variant: "body2",
2990
+ sx: {
2991
+ fontWeight: 600,
2992
+ color: theme.palette.text.primary,
2993
+ marginBottom: "4px"
2994
+ },
2995
+ children: formatDate(axisValue)
2996
+ }
2997
+ ),
2998
+ series.map((s) => {
2999
+ const color = typeof s.getColor === "function" ? s.getColor(dataIndex) : s.color;
3000
+ const value = s.data ? s.data[dataIndex] : null;
3001
+ if (value == null) return null;
3002
+ return /* @__PURE__ */ jsxRuntime.jsx(material.Box, { sx: { display: "flex", flexDirection: "column", gap: "6px" }, children: /* @__PURE__ */ jsxRuntime.jsxs(material.Box, { sx: { display: "flex", alignItems: "center", gap: "8px" }, children: [
3003
+ /* @__PURE__ */ jsxRuntime.jsx(
3004
+ material.Box,
3005
+ {
3006
+ sx: {
3007
+ width: 16,
3008
+ height: 16,
3009
+ borderRadius: "4px",
3010
+ backgroundColor: color,
3011
+ flexShrink: 0
3012
+ }
3013
+ }
3014
+ ),
3015
+ /* @__PURE__ */ jsxRuntime.jsxs(
3016
+ material.Typography,
3017
+ {
3018
+ variant: "body2",
3019
+ sx: {
3020
+ color: theme.palette.text.secondary,
3021
+ display: "flex",
3022
+ alignItems: "center",
3023
+ gap: "6px"
3024
+ },
3025
+ children: [
3026
+ /* @__PURE__ */ jsxRuntime.jsx(
3027
+ material.Box,
3028
+ {
3029
+ component: "span",
3030
+ sx: {
3031
+ backgroundColor: theme.palette.grey[50] || "#f9fafb",
3032
+ padding: "2px 6px",
3033
+ borderRadius: "4px",
3034
+ fontWeight: 500,
3035
+ color: theme.palette.text.primary,
3036
+ border: `1px solid ${theme.palette.divider}`
3037
+ },
3038
+ children: renderValue(value)
3039
+ }
3040
+ ),
3041
+ " ",
3042
+ "events"
3043
+ ]
3044
+ }
3045
+ )
3046
+ ] }) }, s.id);
3047
+ })
3048
+ ]
3049
+ }
3050
+ );
3051
+ }
3052
+ function LineChart({ series, colors: colors3, ...props }) {
3053
+ var _a, _b;
3054
+ const theme = styles.useTheme();
3055
+ const chart = theme.palette.chart;
3056
+ const seriesColors = useChartColors((_a = series == null ? void 0 : series.length) != null ? _a : 0);
3057
+ const modifiedSeries = series == null ? void 0 : series.map((s) => {
3058
+ var _a2, _b2;
3059
+ return {
3060
+ ...s,
3061
+ curve: (_a2 = s.curve) != null ? _a2 : "linear",
3062
+ highlightScope: (_b2 = s.highlightScope) != null ? _b2 : { highlighted: "item", faded: "global" }
3063
+ };
3064
+ });
3065
+ return /* @__PURE__ */ jsxRuntime.jsx(
3066
+ LineChart$1.LineChart,
3067
+ {
3068
+ series: modifiedSeries != null ? modifiedSeries : [],
3069
+ colors: colors3 != null ? colors3 : seriesColors,
3070
+ grid: { horizontal: true },
3071
+ slots: {
3072
+ axisContent: CustomTooltip
3073
+ },
3074
+ slotProps: {
3075
+ legend: {
3076
+ itemMarkWidth: 12,
3077
+ itemMarkHeight: 12,
3078
+ padding: { bottom: 20 }
3079
+ }
3080
+ },
3081
+ sx: {
3082
+ "& .MuiChartsAxis-line": { stroke: `${chart.axisFg} !important` },
3083
+ "& .MuiChartsAxis-tick": { stroke: `${chart.axisFg} !important` },
3084
+ "& .MuiChartsAxis-tickLabel": {
3085
+ fill: `${chart.labelFg} !important`,
3086
+ fontFamily: `${theme.typography.fontFamily} !important`,
3087
+ fontSize: `${fontSize.xxs}px !important`,
3088
+ lineHeight: lineHeight.xxs
3089
+ },
3090
+ "& .MuiChartsAxis-label": {
3091
+ fill: `${chart.labelFgEmphasis} !important`,
3092
+ fontFamily: `${theme.typography.fontFamily} !important`,
3093
+ fontSize: `${typeof theme.typography.body1.fontSize === "number" ? theme.typography.body1.fontSize : 14}px !important`,
3094
+ fontWeight: theme.typography.fontWeightMedium
3095
+ },
3096
+ "& .MuiChartsGrid-line": {
3097
+ stroke: chart.gridlineFg,
3098
+ strokeDasharray: "4 4"
3099
+ },
3100
+ "& .MuiChartsLegend-series text": {
3101
+ fill: `${chart.legendFg} !important`,
3102
+ fontFamily: `${theme.typography.fontFamily} !important`,
3103
+ fontSize: "14px !important"
3104
+ },
3105
+ "& .MuiChartsLegend-mark": {
3106
+ ry: 4,
3107
+ rx: 4,
3108
+ width: 12,
3109
+ height: 12
3110
+ },
3111
+ "& .MuiChartsTooltip-root": {
3112
+ fontFamily: theme.typography.fontFamily,
3113
+ fontSize: typeof theme.typography.body1.fontSize === "number" ? theme.typography.body1.fontSize : 14
3114
+ },
3115
+ "& .MuiChartsTooltip-table": {
3116
+ backgroundColor: chart.tooltipBg,
3117
+ color: chart.tooltipFg,
3118
+ borderRadius: theme.shape.borderRadius,
3119
+ boxShadow: theme.shadows[4]
3120
+ },
3121
+ "& .MuiLineElement-root": {
3122
+ strokeWidth: 3
3123
+ },
3124
+ "& .MuiMarkElement-root": {
3125
+ display: "none"
3126
+ },
3127
+ ...(_b = props.sx) != null ? _b : {}
3128
+ },
3129
+ ...props
3130
+ }
3131
+ );
3132
+ }
3133
+ function BarChart({ series, colors: colors3, ...props }) {
3134
+ var _a, _b;
3135
+ const theme = styles.useTheme();
3136
+ const chart = theme.palette.chart;
3137
+ const seriesColors = useChartColors((_a = series == null ? void 0 : series.length) != null ? _a : 0);
3138
+ const resolvedColors = colors3 != null ? colors3 : seriesColors;
3139
+ const modifiedSeries = series == null ? void 0 : series.map((s, idx) => {
3140
+ var _a2;
3141
+ const baseColor = s.color || resolvedColors[idx % resolvedColors.length];
3142
+ const actualColor = s.variant === "striped" ? `url(#striped-pattern-${idx})` : baseColor;
3143
+ const { variant, ...rest } = s;
3144
+ return {
3145
+ ...rest,
3146
+ color: actualColor,
3147
+ highlightScope: (_a2 = s.highlightScope) != null ? _a2 : { highlighted: "item", faded: "global" }
3148
+ };
3149
+ });
3150
+ return /* @__PURE__ */ jsxRuntime.jsx(
3151
+ BarChart$1.BarChart,
3152
+ {
3153
+ series: modifiedSeries != null ? modifiedSeries : [],
3154
+ colors: colors3 != null ? colors3 : seriesColors,
3155
+ grid: { horizontal: true },
3156
+ borderRadius: 4,
3157
+ slots: {
3158
+ axisContent: CustomTooltip
3159
+ },
3160
+ slotProps: {
3161
+ legend: {
3162
+ itemMarkWidth: 12,
3163
+ itemMarkHeight: 12,
3164
+ padding: { bottom: 20 }
3165
+ }
3166
+ },
3167
+ sx: {
3168
+ "& .MuiChartsAxis-line": { stroke: `${chart.axisFg} !important` },
3169
+ "& .MuiChartsAxis-tick": { stroke: `${chart.axisFg} !important` },
3170
+ "& .MuiChartsAxis-tickLabel": {
3171
+ fill: `${chart.labelFg} !important`,
3172
+ fontFamily: `${theme.typography.fontFamily} !important`,
3173
+ fontSize: `${fontSize.xxs}px !important`,
3174
+ lineHeight: lineHeight.xxs
3175
+ },
3176
+ "& .MuiChartsAxis-label": {
3177
+ fill: `${chart.labelFgEmphasis} !important`,
3178
+ fontFamily: `${theme.typography.fontFamily} !important`,
3179
+ fontSize: `${typeof theme.typography.body1.fontSize === "number" ? theme.typography.body1.fontSize : 14}px !important`,
3180
+ fontWeight: theme.typography.fontWeightMedium
3181
+ },
3182
+ "& .MuiChartsGrid-line": {
3183
+ stroke: chart.gridlineFg,
3184
+ strokeDasharray: "4 4"
3185
+ },
3186
+ "& .MuiChartsLegend-series text": {
3187
+ fill: `${chart.legendFg} !important`,
3188
+ fontFamily: `${theme.typography.fontFamily} !important`,
3189
+ fontSize: "14px !important"
3190
+ },
3191
+ "& .MuiChartsLegend-mark": {
3192
+ ry: 4,
3193
+ rx: 4,
3194
+ width: 12,
3195
+ height: 12
3196
+ },
3197
+ "& .MuiChartsTooltip-root": {
3198
+ fontFamily: theme.typography.fontFamily,
3199
+ fontSize: typeof theme.typography.body1.fontSize === "number" ? theme.typography.body1.fontSize : 14
3200
+ },
3201
+ "& .MuiChartsTooltip-table": {
3202
+ backgroundColor: chart.tooltipBg,
3203
+ color: chart.tooltipFg,
3204
+ borderRadius: theme.shape.borderRadius,
3205
+ boxShadow: theme.shadows[4]
3206
+ },
3207
+ ...(_b = props.sx) != null ? _b : {}
3208
+ },
3209
+ ...props,
3210
+ children: /* @__PURE__ */ jsxRuntime.jsx("defs", { children: series == null ? void 0 : series.map((s, idx) => {
3211
+ if (s.variant !== "striped") return null;
3212
+ const baseColor = s.color || resolvedColors[idx % resolvedColors.length];
3213
+ return /* @__PURE__ */ jsxRuntime.jsxs(
3214
+ "pattern",
3215
+ {
3216
+ id: `striped-pattern-${idx}`,
3217
+ patternUnits: "userSpaceOnUse",
3218
+ width: "8",
3219
+ height: "8",
3220
+ patternTransform: "rotate(45)",
3221
+ children: [
3222
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { width: "8", height: "8", fill: theme.palette.background.paper }),
3223
+ /* @__PURE__ */ jsxRuntime.jsx("line", { x1: "0", y: "0", x2: "0", y2: "8", stroke: baseColor, strokeWidth: "4" })
3224
+ ]
3225
+ },
3226
+ `striped-${idx}`
3227
+ );
3228
+ }) })
3229
+ }
3230
+ );
3231
+ }
3232
+ function PieChart({ series, colors: colors3, ...props }) {
3233
+ var _a, _b, _c, _d;
3234
+ const theme = styles.useTheme();
3235
+ const chart = theme.palette.chart;
3236
+ const sliceCount = (_c = (_b = (_a = series == null ? void 0 : series[0]) == null ? void 0 : _a.data) == null ? void 0 : _b.length) != null ? _c : 0;
3237
+ const seriesColors = useChartColors(sliceCount);
3238
+ const modifiedSeries = series == null ? void 0 : series.map((s) => {
3239
+ var _a2;
3240
+ return {
3241
+ ...s,
3242
+ highlightScope: (_a2 = s.highlightScope) != null ? _a2 : { highlighted: "item", faded: "global" }
3243
+ };
3244
+ });
3245
+ return /* @__PURE__ */ jsxRuntime.jsx(
3246
+ PieChart$1.PieChart,
3247
+ {
3248
+ series: modifiedSeries != null ? modifiedSeries : [],
3249
+ colors: colors3 != null ? colors3 : seriesColors,
3250
+ slotProps: {
3251
+ legend: {
3252
+ itemMarkWidth: 12,
3253
+ itemMarkHeight: 12,
3254
+ padding: { bottom: 20 }
3255
+ }
3256
+ },
3257
+ sx: {
3258
+ "& .MuiChartsLegend-series text": {
3259
+ fill: `${chart.legendFg} !important`,
3260
+ fontFamily: `${theme.typography.fontFamily} !important`,
3261
+ fontSize: "14px !important"
3262
+ },
3263
+ "& .MuiChartsLegend-mark": {
3264
+ ry: 4,
3265
+ rx: 4,
3266
+ width: 12,
3267
+ height: 12
3268
+ },
3269
+ "& .MuiChartsTooltip-root": {
3270
+ fontFamily: theme.typography.fontFamily,
3271
+ fontSize: typeof theme.typography.body1.fontSize === "number" ? theme.typography.body1.fontSize : 14
3272
+ },
3273
+ "& .MuiChartsTooltip-table": {
3274
+ backgroundColor: chart.tooltipBg,
3275
+ color: chart.tooltipFg,
3276
+ borderRadius: theme.shape.borderRadius,
3277
+ boxShadow: theme.shadows[4]
3278
+ },
3279
+ ...(_d = props.sx) != null ? _d : {}
3280
+ },
3281
+ ...props
3282
+ }
3283
+ );
3284
+ }
2800
3285
 
2801
3286
  exports.Accordion = Accordion;
2802
3287
  exports.AccordionActions = AccordionActions;
@@ -2808,6 +3293,8 @@ exports.AppBar = AppBar;
2808
3293
  exports.Autocomplete = Autocomplete;
2809
3294
  exports.Backdrop = Backdrop;
2810
3295
  exports.Badge = Badge;
3296
+ exports.BarChart = BarChart;
3297
+ exports.Breadcrumbs = Breadcrumbs;
2811
3298
  exports.Button = Button;
2812
3299
  exports.ButtonGroup = ButtonGroup;
2813
3300
  exports.Card = Card;
@@ -2819,6 +3306,7 @@ exports.Checkbox = Checkbox;
2819
3306
  exports.Chip = Chip;
2820
3307
  exports.CircularProgress = CircularProgress;
2821
3308
  exports.DataGrid = DataGrid;
3309
+ exports.DatePicker = DatePicker;
2822
3310
  exports.Dialog = Dialog;
2823
3311
  exports.DialogActions = DialogActions;
2824
3312
  exports.DialogContent = DialogContent;
@@ -2827,7 +3315,9 @@ exports.DialogTitle = DialogTitle;
2827
3315
  exports.Divider = Divider;
2828
3316
  exports.Fab = Fab;
2829
3317
  exports.ForestProvider = ForestProvider;
3318
+ exports.LineChart = LineChart;
2830
3319
  exports.LinearProgress = LinearProgress;
3320
+ exports.Link = Link;
2831
3321
  exports.List = List;
2832
3322
  exports.ListItem = ListItem;
2833
3323
  exports.ListItemAvatar = ListItemAvatar;
@@ -2835,22 +3325,35 @@ exports.ListItemButton = ListItemButton;
2835
3325
  exports.ListItemIcon = ListItemIcon;
2836
3326
  exports.ListItemText = ListItemText;
2837
3327
  exports.ListSubheader = ListSubheader;
3328
+ exports.Menu = Menu;
2838
3329
  exports.MenuItem = MenuItem;
3330
+ exports.MenuList = MenuList;
3331
+ exports.Modal = Modal;
3332
+ exports.MultiSelect = MultiSelect;
3333
+ exports.Pagination = Pagination;
2839
3334
  exports.Paper = Paper;
3335
+ exports.PieChart = PieChart;
3336
+ exports.Popover = Popover;
2840
3337
  exports.Radio = Radio;
2841
3338
  exports.RadioGroup = RadioGroup;
3339
+ exports.Search = Search;
2842
3340
  exports.Select = Select;
2843
3341
  exports.SidebarItem = SidebarItem;
2844
3342
  exports.SidebarNav = SidebarNav;
2845
3343
  exports.Skeleton = Skeleton;
2846
3344
  exports.Snackbar = Snackbar;
3345
+ exports.Step = Step;
3346
+ exports.StepLabel = StepLabel;
3347
+ exports.Stepper = Stepper;
2847
3348
  exports.Switch = Switch;
3349
+ exports.Tab = Tab;
2848
3350
  exports.Table = Table;
2849
3351
  exports.TableBody = TableBody;
2850
3352
  exports.TableCell = TableCell;
2851
3353
  exports.TableContainer = TableContainer;
2852
3354
  exports.TableHead = TableHead;
2853
3355
  exports.TableRow = TableRow;
3356
+ exports.Tabs = Tabs;
2854
3357
  exports.TextField = TextField;
2855
3358
  exports.ToggleButton = ToggleButton;
2856
3359
  exports.ToggleButtonGroup = ToggleButtonGroup;
@@ -2890,6 +3393,7 @@ exports.spacing = spacing;
2890
3393
  exports.text = text;
2891
3394
  exports.toggleColors = toggleColors;
2892
3395
  exports.tokenShadows = shadows;
3396
+ exports.useChartColors = useChartColors;
2893
3397
  exports.useSidebar = useSidebar;
2894
3398
  exports.widths = widths;
2895
3399
  //# sourceMappingURL=index.js.map