@matteoaliano/forest-ui 0.2.7 → 0.2.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -23,8 +23,8 @@ var utils = require('@mui/material/utils');
23
23
  var MuiDivider = require('@mui/material/Divider');
24
24
  var MuiList = require('@mui/material/List');
25
25
  var MuiListItem = require('@mui/material/ListItem');
26
- var MuiListItemButton = require('@mui/material/ListItemButton');
27
- var MuiListItemIcon = require('@mui/material/ListItemIcon');
26
+ var MuiListItemButton2 = require('@mui/material/ListItemButton');
27
+ var ListItemIcon2 = require('@mui/material/ListItemIcon');
28
28
  var MuiListItemText = require('@mui/material/ListItemText');
29
29
  var MuiListItemAvatar = require('@mui/material/ListItemAvatar');
30
30
  var MuiListSubheader = require('@mui/material/ListSubheader');
@@ -61,6 +61,9 @@ var MuiLinearProgress = require('@mui/material/LinearProgress');
61
61
  var MuiCircularProgress = require('@mui/material/CircularProgress');
62
62
  var MuiSkeleton = require('@mui/material/Skeleton');
63
63
  var MuiSnackbar = require('@mui/material/Snackbar');
64
+ var MuiDrawer = require('@mui/material/Drawer');
65
+ var Box = require('@mui/material/Box');
66
+ var IconButton = require('@mui/material/IconButton');
64
67
 
65
68
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
66
69
 
@@ -83,8 +86,8 @@ var MuiChip__default = /*#__PURE__*/_interopDefault(MuiChip);
83
86
  var MuiDivider__default = /*#__PURE__*/_interopDefault(MuiDivider);
84
87
  var MuiList__default = /*#__PURE__*/_interopDefault(MuiList);
85
88
  var MuiListItem__default = /*#__PURE__*/_interopDefault(MuiListItem);
86
- var MuiListItemButton__default = /*#__PURE__*/_interopDefault(MuiListItemButton);
87
- var MuiListItemIcon__default = /*#__PURE__*/_interopDefault(MuiListItemIcon);
89
+ var MuiListItemButton2__default = /*#__PURE__*/_interopDefault(MuiListItemButton2);
90
+ var ListItemIcon2__default = /*#__PURE__*/_interopDefault(ListItemIcon2);
88
91
  var MuiListItemText__default = /*#__PURE__*/_interopDefault(MuiListItemText);
89
92
  var MuiListItemAvatar__default = /*#__PURE__*/_interopDefault(MuiListItemAvatar);
90
93
  var MuiListSubheader__default = /*#__PURE__*/_interopDefault(MuiListSubheader);
@@ -120,6 +123,9 @@ var MuiLinearProgress__default = /*#__PURE__*/_interopDefault(MuiLinearProgress)
120
123
  var MuiCircularProgress__default = /*#__PURE__*/_interopDefault(MuiCircularProgress);
121
124
  var MuiSkeleton__default = /*#__PURE__*/_interopDefault(MuiSkeleton);
122
125
  var MuiSnackbar__default = /*#__PURE__*/_interopDefault(MuiSnackbar);
126
+ var MuiDrawer__default = /*#__PURE__*/_interopDefault(MuiDrawer);
127
+ var Box__default = /*#__PURE__*/_interopDefault(Box);
128
+ var IconButton__default = /*#__PURE__*/_interopDefault(IconButton);
123
129
 
124
130
  // src/provider/ForestProvider.tsx
125
131
 
@@ -213,6 +219,54 @@ var colors = {
213
219
  800: "#1849a9",
214
220
  900: "#194185",
215
221
  950: "#102a56"
222
+ },
223
+ teal: {
224
+ 100: "#ccfbef",
225
+ 200: "#99f6e0",
226
+ 600: "#0e9384",
227
+ 700: "#107569"
228
+ },
229
+ orange: {
230
+ 100: "#fdead7",
231
+ 200: "#f9dbaf",
232
+ 600: "#e04f16",
233
+ 700: "#b93815"
234
+ },
235
+ purple: {
236
+ 100: "#ebe9fe",
237
+ 200: "#d9d6fe",
238
+ 600: "#6938ef",
239
+ 700: "#5925dc"
240
+ },
241
+ pink: {
242
+ 100: "#fce7f6",
243
+ 200: "#fcceee",
244
+ 600: "#dd2590",
245
+ 700: "#c11574"
246
+ },
247
+ fuchsia: {
248
+ 100: "#fbe8ff",
249
+ 200: "#f6d0fe",
250
+ 600: "#ba24d5",
251
+ 700: "#9f1ab1"
252
+ },
253
+ orangeDark: {
254
+ 100: "#ffe6d5",
255
+ 200: "#ffd6ae",
256
+ 600: "#e62e05",
257
+ 700: "#bc1b06"
258
+ },
259
+ green: {
260
+ 100: "#d3f8df",
261
+ 200: "#aaf0c4",
262
+ 600: "#099250",
263
+ 700: "#087443"
264
+ },
265
+ indigo: {
266
+ 100: "#e0eaff",
267
+ 200: "#c7d7fe",
268
+ 600: "#444ce7",
269
+ 700: "#3538cd"
216
270
  }
217
271
  };
218
272
  var spacing = {
@@ -350,7 +404,7 @@ var bg = {
350
404
  secondarySolid: colors.gray[600],
351
405
  tertiary: colors.gray[100],
352
406
  quaternary: colors.gray[200],
353
- active: colors.gray[50],
407
+ active: colors.gray[200],
354
408
  disabled: colors.gray[100],
355
409
  disabledSubtle: colors.gray[50],
356
410
  overlay: colors.gray[950],
@@ -497,7 +551,7 @@ var iconColors = {
497
551
  };
498
552
  var navColors = {
499
553
  itemIconFg: colors.gray[500],
500
- itemIconFgActive: colors.gray[500],
554
+ itemIconFgActive: colors.gray[700],
501
555
  itemButtonIconFg: colors.gray[500],
502
556
  itemButtonIconFgActive: colors.gray[700]
503
557
  };
@@ -526,7 +580,39 @@ var chartColors = {
526
580
  series2Fg: colors.brand[600],
527
581
  series2FgHover: colors.brand[700],
528
582
  series2Bg: colors.brand[100],
529
- series2BgHover: colors.brand[200]
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]
530
616
  };
531
617
  var alpha = {
532
618
  white: {
@@ -557,6 +643,7 @@ var alpha = {
557
643
 
558
644
  // src/theme/palette.ts
559
645
  function buildPalette(tokens) {
646
+ var _a;
560
647
  const { colors: colors3, text: text3, bg: bg3, fg: fg3, border: border3 } = tokens;
561
648
  return {
562
649
  primary: {
@@ -611,7 +698,8 @@ function buildPalette(tokens) {
611
698
  selected: bg3.brandPrimary,
612
699
  disabled: fg3.disabled,
613
700
  disabledBackground: bg3.disabled
614
- }
701
+ },
702
+ chart: (_a = tokens.chartColors) != null ? _a : chartColors
615
703
  };
616
704
  }
617
705
  var palette = buildPalette({
@@ -619,7 +707,8 @@ var palette = buildPalette({
619
707
  text,
620
708
  bg,
621
709
  fg,
622
- border
710
+ border,
711
+ chartColors
623
712
  });
624
713
 
625
714
  // src/theme/typography.ts
@@ -716,7 +805,7 @@ var typography = buildTypography({
716
805
  function buildComponents(tokens) {
717
806
  const {
718
807
  colors: colors3,
719
- radius: radius2,
808
+ radius: radius3,
720
809
  focusRings: focusRings3,
721
810
  shadows: tokenShadows,
722
811
  text: text3,
@@ -733,7 +822,7 @@ function buildComponents(tokens) {
733
822
  },
734
823
  styleOverrides: {
735
824
  root: {
736
- borderRadius: radius2.md,
825
+ borderRadius: radius3.md,
737
826
  fontWeight: 600,
738
827
  boxShadow: tokenShadows.xs,
739
828
  height: 32,
@@ -782,7 +871,7 @@ function buildComponents(tokens) {
782
871
  },
783
872
  styleOverrides: {
784
873
  root: {
785
- borderRadius: radius2.md
874
+ borderRadius: radius3.md
786
875
  },
787
876
  grouped: {
788
877
  "&:not(:last-of-type)": {
@@ -814,8 +903,7 @@ function buildComponents(tokens) {
814
903
  // ─── TextField / Input ──────────────────────────────────────────
815
904
  MuiTextField: {
816
905
  defaultProps: {
817
- variant: "outlined",
818
- size: "small"
906
+ variant: "outlined"
819
907
  }
820
908
  },
821
909
  MuiInputBase: {
@@ -833,7 +921,7 @@ function buildComponents(tokens) {
833
921
  MuiOutlinedInput: {
834
922
  styleOverrides: {
835
923
  root: {
836
- borderRadius: radius2.md,
924
+ borderRadius: radius3.md,
837
925
  boxShadow: tokenShadows.xs,
838
926
  "&:hover .MuiOutlinedInput-notchedOutline": {
839
927
  borderColor: border3.brand
@@ -855,12 +943,7 @@ function buildComponents(tokens) {
855
943
  borderColor: border3.primary
856
944
  },
857
945
  input: {
858
- padding: "10px 14px",
859
- fontSize: 16,
860
- lineHeight: "24px"
861
- },
862
- inputSizeSmall: {
863
- padding: "8px 12px",
946
+ padding: "6px 12px",
864
947
  fontSize: 14,
865
948
  lineHeight: "20px"
866
949
  }
@@ -893,12 +976,7 @@ function buildComponents(tokens) {
893
976
  }
894
977
  },
895
978
  outlined: {
896
- // Align label with custom OutlinedInput padding (10px 14px)
897
- transform: "translate(14px, 10px) scale(1)",
898
- "&.MuiInputLabel-sizeSmall": {
899
- // Align label with custom inputSizeSmall padding (8px 12px)
900
- transform: "translate(12px, 8px) scale(1)"
901
- },
979
+ transform: "translate(12px, 6px) scale(1)",
902
980
  "&.MuiInputLabel-shrink": {
903
981
  transform: "translate(14px, -9px) scale(0.75)"
904
982
  }
@@ -921,20 +999,22 @@ function buildComponents(tokens) {
921
999
  // ─── Select ─────────────────────────────────────────────────────
922
1000
  MuiSelect: {
923
1001
  defaultProps: {
924
- size: "small",
925
1002
  MenuProps: {
926
- autoFocus: false
1003
+ autoFocus: false,
1004
+ slotProps: {
1005
+ backdrop: {
1006
+ sx: { backgroundColor: "transparent" }
1007
+ }
1008
+ }
927
1009
  }
928
1010
  },
929
1011
  styleOverrides: {
930
1012
  select: {
931
- display: "flex",
932
- alignItems: "center",
933
1013
  "&.MuiSelect-select": {
934
- minHeight: "20px",
935
- "&[aria-placeholder], &:empty + .MuiSelect-nativeInput[value='']~&": {
936
- color: text3.placeholder
937
- }
1014
+ minHeight: "auto",
1015
+ padding: "6px 12px",
1016
+ fontSize: 14,
1017
+ lineHeight: "20px"
938
1018
  }
939
1019
  },
940
1020
  icon: {
@@ -945,7 +1025,7 @@ function buildComponents(tokens) {
945
1025
  MuiMenuItem: {
946
1026
  styleOverrides: {
947
1027
  root: {
948
- borderRadius: radius2.md,
1028
+ borderRadius: radius3.md,
949
1029
  padding: "6px 8px",
950
1030
  gap: 4,
951
1031
  "&:hover": {
@@ -958,15 +1038,24 @@ function buildComponents(tokens) {
958
1038
  MuiAutocomplete: {
959
1039
  styleOverrides: {
960
1040
  paper: {
961
- borderRadius: radius2.md,
1041
+ borderRadius: radius3.md,
962
1042
  boxShadow: tokenShadows.lg,
963
1043
  border: `1px solid ${border3.secondary}`,
964
1044
  marginTop: 4
965
1045
  },
1046
+ inputRoot: {
1047
+ // Override Autocomplete's default padding so the input height stays 32px
1048
+ padding: "0 12px",
1049
+ "&.MuiOutlinedInput-root .MuiAutocomplete-input": {
1050
+ padding: "6px 0",
1051
+ fontSize: 14,
1052
+ lineHeight: "20px"
1053
+ }
1054
+ },
966
1055
  option: {
967
- fontSize: 16,
968
- lineHeight: "24px",
969
- padding: "10px 14px",
1056
+ fontSize: 14,
1057
+ lineHeight: "20px",
1058
+ padding: "6px 12px",
970
1059
  "&.Mui-focused": {
971
1060
  backgroundColor: bg3.primaryHover
972
1061
  },
@@ -987,7 +1076,7 @@ function buildComponents(tokens) {
987
1076
  styleOverrides: {
988
1077
  root: {
989
1078
  color: border3.primary,
990
- borderRadius: radius2.xs,
1079
+ borderRadius: radius3.xs,
991
1080
  padding: 0,
992
1081
  width: 20,
993
1082
  height: 20,
@@ -1004,7 +1093,7 @@ function buildComponents(tokens) {
1004
1093
  "&.Mui-focusVisible": {
1005
1094
  outline: "none",
1006
1095
  boxShadow: focusRings3.brand,
1007
- borderRadius: radius2.xs
1096
+ borderRadius: radius3.xs
1008
1097
  },
1009
1098
  "&.Mui-disabled": {
1010
1099
  color: border3.primary
@@ -1034,7 +1123,7 @@ function buildComponents(tokens) {
1034
1123
  "&.Mui-focusVisible": {
1035
1124
  outline: "none",
1036
1125
  boxShadow: focusRings3.brand,
1037
- borderRadius: radius2.full
1126
+ borderRadius: radius3.full
1038
1127
  },
1039
1128
  "&.Mui-disabled": {
1040
1129
  color: border3.primary
@@ -1082,7 +1171,7 @@ function buildComponents(tokens) {
1082
1171
  boxShadow: "0px 1px 2px 0px #1018280d"
1083
1172
  },
1084
1173
  track: {
1085
- borderRadius: radius2.full,
1174
+ borderRadius: radius3.full,
1086
1175
  backgroundColor: border3.secondary,
1087
1176
  opacity: 1
1088
1177
  }
@@ -1107,8 +1196,7 @@ function buildComponents(tokens) {
1107
1196
  "&.Mui-selected": {
1108
1197
  backgroundColor: bg3.brandPrimary,
1109
1198
  color: buttonColors3.secondaryColor.fg,
1110
- borderColor: border3.brand,
1111
- boxShadow: `inset 0 0 0 1px ${border3.brandSolid}`,
1199
+ borderColor: border3.brandSolid,
1112
1200
  "&:hover": {
1113
1201
  backgroundColor: bg3.brandSecondary
1114
1202
  }
@@ -1122,7 +1210,7 @@ function buildComponents(tokens) {
1122
1210
  MuiToggleButtonGroup: {
1123
1211
  styleOverrides: {
1124
1212
  root: {
1125
- borderRadius: radius2.md,
1213
+ borderRadius: radius3.md,
1126
1214
  overflow: "hidden"
1127
1215
  },
1128
1216
  grouped: {
@@ -1130,20 +1218,26 @@ function buildComponents(tokens) {
1130
1218
  "&:not(:first-of-type)": {
1131
1219
  marginLeft: -1
1132
1220
  },
1133
- "&.Mui-selected + &.Mui-selected": {
1134
- boxShadow: `inset -1px 0 0 0 ${border3.brandSolid}, inset 0 1px 0 0 ${border3.brandSolid}, inset 0 -1px 0 0 ${border3.brandSolid}`
1135
- },
1136
1221
  "&:first-of-type": {
1137
- borderTopLeftRadius: radius2.md,
1138
- borderBottomLeftRadius: radius2.md
1222
+ borderTopLeftRadius: radius3.md,
1223
+ borderBottomLeftRadius: radius3.md
1139
1224
  },
1140
1225
  "&:last-of-type": {
1141
- borderTopRightRadius: radius2.md,
1142
- borderBottomRightRadius: radius2.md
1226
+ borderTopRightRadius: radius3.md,
1227
+ borderBottomRightRadius: radius3.md
1143
1228
  }
1144
1229
  }
1145
1230
  }
1146
1231
  },
1232
+ // ─── Drawer (used by Sidebar) ─────────────────────────────────
1233
+ MuiDrawer: {
1234
+ styleOverrides: {
1235
+ paper: {
1236
+ backgroundColor: bg3.primary,
1237
+ borderRight: `1px solid ${border3.secondary}`
1238
+ }
1239
+ }
1240
+ },
1147
1241
  // ─── Card ───────────────────────────────────────────────────────
1148
1242
  MuiCard: {
1149
1243
  defaultProps: {
@@ -1151,7 +1245,7 @@ function buildComponents(tokens) {
1151
1245
  },
1152
1246
  styleOverrides: {
1153
1247
  root: {
1154
- borderRadius: radius2.xl,
1248
+ borderRadius: radius3.xl,
1155
1249
  border: `1px solid ${border3.secondary}`,
1156
1250
  backgroundColor: bg3.primary,
1157
1251
  boxShadow: tokenShadows.xs,
@@ -1200,7 +1294,7 @@ function buildComponents(tokens) {
1200
1294
  backgroundImage: "none"
1201
1295
  },
1202
1296
  rounded: {
1203
- borderRadius: radius2.lg
1297
+ borderRadius: radius3.lg
1204
1298
  },
1205
1299
  elevation1: {
1206
1300
  boxShadow: tokenShadows.xs,
@@ -1241,7 +1335,7 @@ function buildComponents(tokens) {
1241
1335
  styleOverrides: {
1242
1336
  root: {
1243
1337
  border: `1px solid ${border3.secondary}`,
1244
- borderRadius: radius2.lg,
1338
+ borderRadius: radius3.lg,
1245
1339
  "&:not(:last-child)": {
1246
1340
  marginBottom: 8
1247
1341
  },
@@ -1251,7 +1345,7 @@ function buildComponents(tokens) {
1251
1345
  "&.Mui-expanded": {
1252
1346
  margin: 0,
1253
1347
  marginBottom: 8,
1254
- borderRadius: radius2.lg
1348
+ borderRadius: radius3.lg
1255
1349
  }
1256
1350
  }
1257
1351
  }
@@ -1314,7 +1408,7 @@ function buildComponents(tokens) {
1314
1408
  MuiChip: {
1315
1409
  styleOverrides: {
1316
1410
  root: {
1317
- borderRadius: radius2.md
1411
+ borderRadius: radius3.md
1318
1412
  },
1319
1413
  label: {
1320
1414
  fontWeight: 500
@@ -1453,7 +1547,7 @@ function buildComponents(tokens) {
1453
1547
  MuiTableContainer: {
1454
1548
  styleOverrides: {
1455
1549
  root: {
1456
- borderRadius: radius2.xl,
1550
+ borderRadius: radius3.xl,
1457
1551
  border: `1px solid ${border3.secondary}`,
1458
1552
  boxShadow: "none"
1459
1553
  }
@@ -1468,7 +1562,7 @@ function buildComponents(tokens) {
1468
1562
  lineHeight: "18px",
1469
1563
  minWidth: 20,
1470
1564
  height: 20,
1471
- borderRadius: radius2.full
1565
+ borderRadius: radius3.full
1472
1566
  },
1473
1567
  colorPrimary: {
1474
1568
  backgroundColor: bg3.brandSolid
@@ -1485,7 +1579,7 @@ function buildComponents(tokens) {
1485
1579
  dot: {
1486
1580
  minWidth: 8,
1487
1581
  height: 8,
1488
- borderRadius: radius2.full
1582
+ borderRadius: radius3.full
1489
1583
  }
1490
1584
  }
1491
1585
  },
@@ -1508,7 +1602,7 @@ function buildComponents(tokens) {
1508
1602
  MuiListItemButton: {
1509
1603
  styleOverrides: {
1510
1604
  root: {
1511
- borderRadius: radius2.sm,
1605
+ borderRadius: radius3.sm,
1512
1606
  padding: "8px 12px",
1513
1607
  "&:hover": {
1514
1608
  backgroundColor: bg3.primaryHover
@@ -1556,7 +1650,7 @@ function buildComponents(tokens) {
1556
1650
  lineHeight: "18px",
1557
1651
  fontWeight: 600,
1558
1652
  padding: "8px 12px",
1559
- borderRadius: radius2.md,
1653
+ borderRadius: radius3.md,
1560
1654
  boxShadow: tokenShadows.lg
1561
1655
  },
1562
1656
  arrow: {
@@ -1571,7 +1665,7 @@ function buildComponents(tokens) {
1571
1665
  },
1572
1666
  styleOverrides: {
1573
1667
  root: {
1574
- borderRadius: radius2.xl,
1668
+ borderRadius: radius3.xl,
1575
1669
  fontSize: 14,
1576
1670
  lineHeight: "20px",
1577
1671
  padding: "12px 16px",
@@ -1637,7 +1731,7 @@ function buildComponents(tokens) {
1637
1731
  MuiDialog: {
1638
1732
  styleOverrides: {
1639
1733
  paper: {
1640
- borderRadius: radius2.xl,
1734
+ borderRadius: radius3.xl,
1641
1735
  boxShadow: tokenShadows.xl,
1642
1736
  padding: 0
1643
1737
  }
@@ -1676,17 +1770,17 @@ function buildComponents(tokens) {
1676
1770
  MuiLinearProgress: {
1677
1771
  styleOverrides: {
1678
1772
  root: {
1679
- borderRadius: radius2.full,
1773
+ borderRadius: radius3.full,
1680
1774
  height: 8,
1681
1775
  backgroundColor: border3.secondary
1682
1776
  },
1683
1777
  barColorPrimary: {
1684
1778
  backgroundColor: fg3.brandPrimary,
1685
- borderRadius: radius2.full
1779
+ borderRadius: radius3.full
1686
1780
  },
1687
1781
  barColorSecondary: {
1688
1782
  backgroundColor: bg3.secondarySolid,
1689
- borderRadius: radius2.full
1783
+ borderRadius: radius3.full
1690
1784
  }
1691
1785
  }
1692
1786
  },
@@ -1710,10 +1804,10 @@ function buildComponents(tokens) {
1710
1804
  backgroundColor: bg3.tertiary
1711
1805
  },
1712
1806
  rounded: {
1713
- borderRadius: radius2.md
1807
+ borderRadius: radius3.md
1714
1808
  },
1715
1809
  circular: {
1716
- borderRadius: radius2.full
1810
+ borderRadius: radius3.full
1717
1811
  }
1718
1812
  }
1719
1813
  },
@@ -1723,7 +1817,7 @@ function buildComponents(tokens) {
1723
1817
  root: {
1724
1818
  backgroundColor: bg3.primarySolid,
1725
1819
  color: text3.white,
1726
- borderRadius: radius2.xl,
1820
+ borderRadius: radius3.xl,
1727
1821
  boxShadow: tokenShadows.lg,
1728
1822
  fontSize: 14,
1729
1823
  lineHeight: "20px",
@@ -1758,7 +1852,7 @@ function buildComponents(tokens) {
1758
1852
  styleOverrides: {
1759
1853
  root: {
1760
1854
  border: `1px solid ${border3.secondary}`,
1761
- borderRadius: radius2.xl,
1855
+ borderRadius: radius3.xl,
1762
1856
  fontFamily: "inherit",
1763
1857
  "& .MuiDataGrid-withBorderColor": {
1764
1858
  borderColor: border3.secondary
@@ -1996,7 +2090,27 @@ var colors2 = {
1996
2090
  /** Success — forest defaults (standard UX green) */
1997
2091
  success: colors.success,
1998
2092
  /** Blue (info) — forest defaults (standard UX) */
1999
- blue: colors.blue
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
2102
+ };
2103
+ var radius2 = {
2104
+ ...radius,
2105
+ xxs: 1,
2106
+ xs: 2,
2107
+ sm: 3,
2108
+ md: 4,
2109
+ lg: 5,
2110
+ xl: 6,
2111
+ "2xl": 8,
2112
+ "3xl": 10,
2113
+ "4xl": 12
2000
2114
  };
2001
2115
  var text2 = {
2002
2116
  primary: colors2.gray[900],
@@ -2212,7 +2326,39 @@ var chartColors2 = {
2212
2326
  series2Fg: red[600],
2213
2327
  series2FgHover: red[700],
2214
2328
  series2Bg: red[100],
2215
- series2BgHover: red[200]
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]
2216
2362
  };
2217
2363
  var focusRings2 = {
2218
2364
  brand: "0px 0px 0px 4px #f040403d",
@@ -2232,7 +2378,7 @@ var alkemyPlusPreset = {
2232
2378
  tokens: {
2233
2379
  colors: colors2,
2234
2380
  spacing,
2235
- radius,
2381
+ radius: radius2,
2236
2382
  shadows,
2237
2383
  focusRings: focusRings2,
2238
2384
  fontFamily: '"Aeonik", sans-serif',
@@ -2357,14 +2503,14 @@ function ToggleButtonGroup(props) {
2357
2503
  function Badge(props) {
2358
2504
  return /* @__PURE__ */ jsxRuntime.jsx(MuiBadge__default.default, { ...props });
2359
2505
  }
2360
- var Close_default = utils.createSvgIcon(/* @__PURE__ */ jsxRuntime.jsx("path", {
2506
+ var CloseOutlined_default = utils.createSvgIcon(/* @__PURE__ */ jsxRuntime.jsx("path", {
2361
2507
  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"
2362
- }), "Close");
2508
+ }), "CloseOutlined");
2363
2509
  function Chip(props) {
2364
2510
  return /* @__PURE__ */ jsxRuntime.jsx(
2365
2511
  MuiChip__default.default,
2366
2512
  {
2367
- deleteIcon: /* @__PURE__ */ jsxRuntime.jsx(Close_default, {}),
2513
+ deleteIcon: /* @__PURE__ */ jsxRuntime.jsx(CloseOutlined_default, {}),
2368
2514
  ...props
2369
2515
  }
2370
2516
  );
@@ -2379,10 +2525,10 @@ function ListItem(props) {
2379
2525
  return /* @__PURE__ */ jsxRuntime.jsx(MuiListItem__default.default, { ...props });
2380
2526
  }
2381
2527
  function ListItemButton(props) {
2382
- return /* @__PURE__ */ jsxRuntime.jsx(MuiListItemButton__default.default, { ...props });
2528
+ return /* @__PURE__ */ jsxRuntime.jsx(MuiListItemButton2__default.default, { ...props });
2383
2529
  }
2384
2530
  function ListItemIcon(props) {
2385
- return /* @__PURE__ */ jsxRuntime.jsx(MuiListItemIcon__default.default, { ...props });
2531
+ return /* @__PURE__ */ jsxRuntime.jsx(ListItemIcon2__default.default, { ...props });
2386
2532
  }
2387
2533
  function ListItemText(props) {
2388
2534
  return /* @__PURE__ */ jsxRuntime.jsx(MuiListItemText__default.default, { ...props });
@@ -2492,6 +2638,165 @@ function Skeleton(props) {
2492
2638
  function Snackbar(props) {
2493
2639
  return /* @__PURE__ */ jsxRuntime.jsx(MuiSnackbar__default.default, { ...props });
2494
2640
  }
2641
+ var ChevronLeftOutlined_default = utils.createSvgIcon(/* @__PURE__ */ jsxRuntime.jsx("path", {
2642
+ d: "M15.41 7.41 14 6l-6 6 6 6 1.41-1.41L10.83 12z"
2643
+ }), "ChevronLeftOutlined");
2644
+ var ChevronRightOutlined_default = utils.createSvgIcon(/* @__PURE__ */ jsxRuntime.jsx("path", {
2645
+ d: "M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"
2646
+ }), "ChevronRightOutlined");
2647
+ var SidebarContext = react.createContext({
2648
+ open: true,
2649
+ collapsedWidth: 48,
2650
+ expandedWidth: 240
2651
+ });
2652
+ function useSidebar() {
2653
+ return react.useContext(SidebarContext);
2654
+ }
2655
+ function SidebarNav({
2656
+ open,
2657
+ onOpenChange,
2658
+ expandedWidth = 240,
2659
+ collapsedWidth = 48,
2660
+ behavior = "permanent",
2661
+ showToggle,
2662
+ children,
2663
+ header,
2664
+ footer,
2665
+ sx,
2666
+ ...rest
2667
+ }) {
2668
+ const isHover = behavior === "hover";
2669
+ const drawerWidth = open ? expandedWidth : collapsedWidth;
2670
+ const layoutWidth = isHover ? collapsedWidth : drawerWidth;
2671
+ const shouldShowToggle = showToggle != null ? showToggle : !isHover;
2672
+ const hoverHandlers = isHover ? {
2673
+ onMouseEnter: () => onOpenChange(true),
2674
+ onMouseLeave: () => onOpenChange(false)
2675
+ } : {};
2676
+ return /* @__PURE__ */ jsxRuntime.jsx(SidebarContext.Provider, { value: { open, collapsedWidth, expandedWidth }, children: /* @__PURE__ */ jsxRuntime.jsxs(Box__default.default, { sx: { position: "relative", width: layoutWidth, flexShrink: 0 }, children: [
2677
+ /* @__PURE__ */ jsxRuntime.jsx(
2678
+ MuiDrawer__default.default,
2679
+ {
2680
+ variant: "permanent",
2681
+ ...rest,
2682
+ ...hoverHandlers,
2683
+ sx: {
2684
+ width: drawerWidth,
2685
+ flexShrink: 0,
2686
+ "& .MuiDrawer-paper": {
2687
+ width: drawerWidth,
2688
+ transition: "width 200ms ease-in-out",
2689
+ overflowX: "hidden",
2690
+ boxSizing: "border-box",
2691
+ ...isHover && { zIndex: (theme) => theme.zIndex.drawer + 2 }
2692
+ },
2693
+ ...sx
2694
+ },
2695
+ children: /* @__PURE__ */ jsxRuntime.jsxs(
2696
+ Box__default.default,
2697
+ {
2698
+ sx: {
2699
+ display: "flex",
2700
+ flexDirection: "column",
2701
+ height: "100%",
2702
+ overflow: "hidden"
2703
+ },
2704
+ children: [
2705
+ header && /* @__PURE__ */ jsxRuntime.jsx(Box__default.default, { sx: { flexShrink: 0 }, children: header }),
2706
+ /* @__PURE__ */ jsxRuntime.jsx(Box__default.default, { sx: { flexGrow: 1, overflowY: "auto", overflowX: "hidden" }, children }),
2707
+ footer && /* @__PURE__ */ jsxRuntime.jsx(Box__default.default, { sx: { flexShrink: 0 }, children: footer })
2708
+ ]
2709
+ }
2710
+ )
2711
+ }
2712
+ ),
2713
+ shouldShowToggle && /* @__PURE__ */ jsxRuntime.jsx(
2714
+ IconButton__default.default,
2715
+ {
2716
+ size: "small",
2717
+ onClick: () => onOpenChange(!open),
2718
+ sx: {
2719
+ position: "absolute",
2720
+ top: "50%",
2721
+ right: 0,
2722
+ transform: "translate(50%, -50%)",
2723
+ zIndex: (theme) => theme.zIndex.drawer + 1,
2724
+ width: 28,
2725
+ height: 28,
2726
+ border: 1,
2727
+ borderColor: "divider",
2728
+ backgroundColor: "background.paper",
2729
+ boxShadow: 1,
2730
+ "&:hover": {
2731
+ backgroundColor: "action.hover"
2732
+ },
2733
+ "& .MuiSvgIcon-root": {
2734
+ fontSize: 18
2735
+ }
2736
+ },
2737
+ children: open ? /* @__PURE__ */ jsxRuntime.jsx(ChevronLeftOutlined_default, {}) : /* @__PURE__ */ jsxRuntime.jsx(ChevronRightOutlined_default, {})
2738
+ }
2739
+ )
2740
+ ] }) });
2741
+ }
2742
+ var itemSx = {
2743
+ borderRadius: 1,
2744
+ backgroundColor: bg.primary,
2745
+ color: text.secondary,
2746
+ "& .MuiListItemIcon-root": {
2747
+ color: navColors.itemIconFg
2748
+ },
2749
+ "&:hover": {
2750
+ backgroundColor: bg.primaryHover
2751
+ },
2752
+ "&.Mui-selected": {
2753
+ backgroundColor: bg.active,
2754
+ color: text.primary,
2755
+ "& .MuiListItemIcon-root": {
2756
+ color: navColors.itemIconFgActive
2757
+ },
2758
+ "& .MuiListItemText-primary": {
2759
+ fontWeight: 600
2760
+ },
2761
+ "&:hover": {
2762
+ backgroundColor: bg.primaryHover
2763
+ }
2764
+ }
2765
+ };
2766
+ function SidebarItem({
2767
+ icon,
2768
+ label,
2769
+ endAdornment,
2770
+ sx,
2771
+ ...rest
2772
+ }) {
2773
+ const { open } = useSidebar();
2774
+ if (!open) {
2775
+ return /* @__PURE__ */ jsxRuntime.jsx(MuiTooltip__default.default, { title: label, placement: "right", arrow: true, children: /* @__PURE__ */ jsxRuntime.jsx(
2776
+ MuiListItemButton2__default.default,
2777
+ {
2778
+ ...rest,
2779
+ sx: {
2780
+ ...itemSx,
2781
+ display: "flex",
2782
+ justifyContent: "center",
2783
+ alignItems: "center",
2784
+ width: 40,
2785
+ height: 40,
2786
+ padding: 0,
2787
+ margin: "0 auto",
2788
+ ...sx
2789
+ },
2790
+ children: /* @__PURE__ */ jsxRuntime.jsx(ListItemIcon2__default.default, { sx: { minWidth: "unset", margin: 0, "& .MuiSvgIcon-root": { fontSize: 20 } }, children: icon })
2791
+ }
2792
+ ) });
2793
+ }
2794
+ return /* @__PURE__ */ jsxRuntime.jsxs(MuiListItemButton2__default.default, { ...rest, sx: { ...itemSx, height: 40, ...sx }, children: [
2795
+ /* @__PURE__ */ jsxRuntime.jsx(ListItemIcon2__default.default, { sx: { "& .MuiSvgIcon-root": { fontSize: 20 } }, children: icon }),
2796
+ /* @__PURE__ */ jsxRuntime.jsx(MuiListItemText__default.default, { primary: label }),
2797
+ endAdornment
2798
+ ] });
2799
+ }
2495
2800
 
2496
2801
  exports.Accordion = Accordion;
2497
2802
  exports.AccordionActions = AccordionActions;
@@ -2535,6 +2840,8 @@ exports.Paper = Paper;
2535
2840
  exports.Radio = Radio;
2536
2841
  exports.RadioGroup = RadioGroup;
2537
2842
  exports.Select = Select;
2843
+ exports.SidebarItem = SidebarItem;
2844
+ exports.SidebarNav = SidebarNav;
2538
2845
  exports.Skeleton = Skeleton;
2539
2846
  exports.Snackbar = Snackbar;
2540
2847
  exports.Switch = Switch;
@@ -2583,6 +2890,7 @@ exports.spacing = spacing;
2583
2890
  exports.text = text;
2584
2891
  exports.toggleColors = toggleColors;
2585
2892
  exports.tokenShadows = shadows;
2893
+ exports.useSidebar = useSidebar;
2586
2894
  exports.widths = widths;
2587
2895
  //# sourceMappingURL=index.js.map
2588
2896
  //# sourceMappingURL=index.js.map