@matteoaliano/forest-ui 1.2.0 → 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-VIQ5IYUZ.mjs → chunk-4PNVZETQ.mjs} +50 -17
- package/dist/chunk-4PNVZETQ.mjs.map +1 -0
- package/dist/index.d.mts +13 -31
- package/dist/index.d.ts +13 -31
- package/dist/index.js +149 -127
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +305 -316
- package/dist/index.mjs.map +1 -1
- package/dist/theme.js +49 -16
- package/dist/theme.js.map +1 -1
- package/dist/theme.mjs +1 -1
- package/package.json +2 -2
- package/skills/forest-alkemy-plus/SKILL.md +2 -2
- package/skills/forest-alkemy-plus/references/components.md +1 -1
- package/skills/forest-alkemy-plus/references/patterns.md +3 -3
- package/dist/chunk-VIQ5IYUZ.mjs.map +0 -1
package/dist/index.js
CHANGED
|
@@ -56,7 +56,7 @@ __export(src_exports, {
|
|
|
56
56
|
BarPlot: () => import_BarChart3.BarPlot,
|
|
57
57
|
BottomNavigation: () => import_BottomNavigation.default,
|
|
58
58
|
BottomNavigationAction: () => import_BottomNavigationAction.default,
|
|
59
|
-
Box: () =>
|
|
59
|
+
Box: () => import_Box4.default,
|
|
60
60
|
Breadcrumbs: () => import_Breadcrumbs.default,
|
|
61
61
|
Button: () => Button,
|
|
62
62
|
ButtonBase: () => import_ButtonBase.default,
|
|
@@ -94,7 +94,7 @@ __export(src_exports, {
|
|
|
94
94
|
CircularProgress: () => import_CircularProgress.default,
|
|
95
95
|
ClickAwayListener: () => import_ClickAwayListener.default,
|
|
96
96
|
Collapse: () => import_Collapse.default,
|
|
97
|
-
Container: () =>
|
|
97
|
+
Container: () => import_Container.default,
|
|
98
98
|
ContinuousColorLegend: () => import_ChartsLegend3.ContinuousColorLegend,
|
|
99
99
|
DataGrid: () => import_x_data_grid.DataGrid,
|
|
100
100
|
DatePicker: () => DatePicker,
|
|
@@ -123,7 +123,7 @@ __export(src_exports, {
|
|
|
123
123
|
GaugeValueArc: () => import_Gauge3.GaugeValueArc,
|
|
124
124
|
GaugeValueText: () => import_Gauge3.GaugeValueText,
|
|
125
125
|
GlobalStyles: () => import_GlobalStyles.default,
|
|
126
|
-
Grid: () =>
|
|
126
|
+
Grid: () => import_Grid.default,
|
|
127
127
|
Grow: () => import_Grow.default,
|
|
128
128
|
HighlightedProvider: () => import_context.HighlightedProvider,
|
|
129
129
|
IconButton: () => IconButton2,
|
|
@@ -165,7 +165,7 @@ __export(src_exports, {
|
|
|
165
165
|
Page: () => Page,
|
|
166
166
|
Pagination: () => import_Pagination.default,
|
|
167
167
|
PaginationItem: () => import_PaginationItem.default,
|
|
168
|
-
Paper: () =>
|
|
168
|
+
Paper: () => import_Paper.default,
|
|
169
169
|
PieArc: () => import_PieChart3.PieArc,
|
|
170
170
|
PieArcLabel: () => import_PieChart3.PieArcLabel,
|
|
171
171
|
PieArcLabelPlot: () => import_PieChart3.PieArcLabelPlot,
|
|
@@ -175,7 +175,7 @@ __export(src_exports, {
|
|
|
175
175
|
PiecewiseColorLegend: () => import_ChartsLegend4.PiecewiseColorLegend,
|
|
176
176
|
Popover: () => Popover,
|
|
177
177
|
Popper: () => import_Popper.default,
|
|
178
|
-
Portal: () =>
|
|
178
|
+
Portal: () => import_Portal.default,
|
|
179
179
|
Radio: () => import_Radio.default,
|
|
180
180
|
RadioGroup: () => import_RadioGroup.default,
|
|
181
181
|
Rating: () => import_Rating.default,
|
|
@@ -196,7 +196,7 @@ __export(src_exports, {
|
|
|
196
196
|
SpeedDial: () => import_SpeedDial.default,
|
|
197
197
|
SpeedDialAction: () => import_SpeedDialAction.default,
|
|
198
198
|
SpeedDialIcon: () => import_SpeedDialIcon.default,
|
|
199
|
-
Stack: () =>
|
|
199
|
+
Stack: () => import_Stack.default,
|
|
200
200
|
Step: () => import_Step.default,
|
|
201
201
|
StepButton: () => import_StepButton.default,
|
|
202
202
|
StepConnector: () => import_StepConnector.default,
|
|
@@ -206,7 +206,7 @@ __export(src_exports, {
|
|
|
206
206
|
Stepper: () => import_Stepper.default,
|
|
207
207
|
SvgIcon: () => import_SvgIcon.default,
|
|
208
208
|
SwipeableDrawer: () => import_SwipeableDrawer.default,
|
|
209
|
-
Switch: () =>
|
|
209
|
+
Switch: () => import_Switch.default,
|
|
210
210
|
Tab: () => import_Tab.default,
|
|
211
211
|
TabScrollButton: () => import_TabScrollButton.default,
|
|
212
212
|
Table: () => import_Table.default,
|
|
@@ -756,6 +756,20 @@ function buildComponents(tokens2) {
|
|
|
756
756
|
borderTopRightRadius: radius4.md,
|
|
757
757
|
opacity: 0.75
|
|
758
758
|
},
|
|
759
|
+
// Unified disabled treatment across the button family (Button,
|
|
760
|
+
// IconButton, Fab, ButtonGroup, ToggleButton): transparent face,
|
|
761
|
+
// disabled border, disabled text — matching the outlined
|
|
762
|
+
// IconButton reference. Contained's fill is dropped and the bevel
|
|
763
|
+
// geometry re-asserted (MUI's outlined disabled `border: 1px`
|
|
764
|
+
// shorthand would otherwise flatten it).
|
|
765
|
+
"&.Mui-disabled": {
|
|
766
|
+
backgroundColor: "transparent",
|
|
767
|
+
borderColor: border4.disabled,
|
|
768
|
+
borderTopWidth: 1,
|
|
769
|
+
borderRightWidth: 1,
|
|
770
|
+
borderLeftWidth: 1,
|
|
771
|
+
borderBottomWidth: 4
|
|
772
|
+
},
|
|
759
773
|
"@media (prefers-reduced-motion: reduce)": {
|
|
760
774
|
transition: "none",
|
|
761
775
|
"&::before": { display: "none" }
|
|
@@ -797,6 +811,13 @@ function buildComponents(tokens2) {
|
|
|
797
811
|
"&.MuiButtonGroup-contained .MuiButtonGroup-grouped:not(.Mui-disabled)": {
|
|
798
812
|
borderColor: fg4.tertiary
|
|
799
813
|
},
|
|
814
|
+
// Disabled grouped children: MUI's per-position grouped-contained
|
|
815
|
+
// border wins over the child Button's own .Mui-disabled rule on the
|
|
816
|
+
// first/middle buttons — pin the unified disabled border here so the
|
|
817
|
+
// whole group matches the standalone disabled Button.
|
|
818
|
+
"&.MuiButtonGroup-contained .MuiButtonGroup-grouped.Mui-disabled": {
|
|
819
|
+
borderColor: border4.disabled
|
|
820
|
+
},
|
|
800
821
|
// outlined group → the outlined-Button look (outlinedFill), including
|
|
801
822
|
// its lightened hover sweep (the forced-contained children would
|
|
802
823
|
// otherwise sweep at full currentColor strength).
|
|
@@ -861,6 +882,13 @@ function buildComponents(tokens2) {
|
|
|
861
882
|
},
|
|
862
883
|
"&.ForestIconButton": {
|
|
863
884
|
...bevel3D,
|
|
885
|
+
// Square 32×32 with border-box so the faux-3D bevel (1px top + 4px
|
|
886
|
+
// bottom, 1px left/right) is absorbed rather than added on top —
|
|
887
|
+
// otherwise it rendered a 37×34 control instead of matching the
|
|
888
|
+
// standalone Button's 32px height.
|
|
889
|
+
height: 32,
|
|
890
|
+
width: 32,
|
|
891
|
+
boxSizing: "border-box",
|
|
864
892
|
boxShadow: tokenShadows.xs,
|
|
865
893
|
"&:focus-visible": {
|
|
866
894
|
boxShadow: focusRings4.brandShadowXs
|
|
@@ -898,15 +926,13 @@ function buildComponents(tokens2) {
|
|
|
898
926
|
filter: "brightness(0.97)"
|
|
899
927
|
}
|
|
900
928
|
},
|
|
901
|
-
//
|
|
902
|
-
//
|
|
903
|
-
//
|
|
904
|
-
//
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
},
|
|
909
|
-
"&.ForestIconButton-outlined.Mui-disabled": {
|
|
929
|
+
// Unified disabled treatment for both variants: transparent face,
|
|
930
|
+
// disabled border, disabled icon — bevel geometry retained. This is
|
|
931
|
+
// the reference the rest of the button family matches. The two-class
|
|
932
|
+
// selector out-specifies the single-class variant faces so contained's
|
|
933
|
+
// fill is dropped.
|
|
934
|
+
"&.ForestIconButton.Mui-disabled": {
|
|
935
|
+
backgroundColor: "transparent",
|
|
910
936
|
color: (theme.vars || theme).palette.action.disabled,
|
|
911
937
|
borderColor: border4.disabled
|
|
912
938
|
}
|
|
@@ -973,6 +999,13 @@ function buildComponents(tokens2) {
|
|
|
973
999
|
"&:focus-visible": {
|
|
974
1000
|
boxShadow: focusRings4.brandShadowSm
|
|
975
1001
|
},
|
|
1002
|
+
// Same unified disabled treatment as Button/IconButton: drop the
|
|
1003
|
+
// contained fill for a transparent, disabled-bordered face.
|
|
1004
|
+
"&.Mui-disabled": {
|
|
1005
|
+
backgroundColor: "transparent",
|
|
1006
|
+
borderColor: border4.disabled,
|
|
1007
|
+
color: (theme.vars || theme).palette.action.disabled
|
|
1008
|
+
},
|
|
976
1009
|
"@media (prefers-reduced-motion: reduce)": {
|
|
977
1010
|
transition: "none",
|
|
978
1011
|
"&::before": { display: "none" }
|
|
@@ -1368,16 +1401,16 @@ function buildComponents(tokens2) {
|
|
|
1368
1401
|
borderTopRightRadius: radius4.md
|
|
1369
1402
|
}
|
|
1370
1403
|
},
|
|
1371
|
-
// Disabled parity with the
|
|
1372
|
-
// disabled fg, bevel geometry retained. MUI's own
|
|
1373
|
-
// only swaps color and border-shorthands the bevel
|
|
1374
|
-
// with .Mui-selected at (0,2,0) — so this block sits
|
|
1375
|
-
// to win both.
|
|
1404
|
+
// Disabled parity with the rest of the button family: transparent
|
|
1405
|
+
// face, disabled border + fg, bevel geometry retained. MUI's own
|
|
1406
|
+
// .Mui-disabled rule only swaps color and border-shorthands the bevel
|
|
1407
|
+
// away — and ties with .Mui-selected at (0,2,0) — so this block sits
|
|
1408
|
+
// AFTER selected to win both.
|
|
1376
1409
|
"&.Mui-disabled": {
|
|
1377
|
-
backgroundColor:
|
|
1410
|
+
backgroundColor: "transparent",
|
|
1378
1411
|
color: (theme.vars || theme).palette.action.disabled,
|
|
1379
1412
|
borderStyle: "solid",
|
|
1380
|
-
borderColor:
|
|
1413
|
+
borderColor: border4.disabled,
|
|
1381
1414
|
borderTopWidth: 1,
|
|
1382
1415
|
borderRightWidth: 1,
|
|
1383
1416
|
borderLeftWidth: 1,
|
|
@@ -4411,10 +4444,6 @@ function MultiSelect({
|
|
|
4411
4444
|
|
|
4412
4445
|
// src/components/Switch/index.tsx
|
|
4413
4446
|
var import_Switch = __toESM(require("@mui/material/Switch"));
|
|
4414
|
-
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
4415
|
-
function Switch(props) {
|
|
4416
|
-
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_Switch.default, { ...props });
|
|
4417
|
-
}
|
|
4418
4447
|
|
|
4419
4448
|
// src/components/TextField/index.tsx
|
|
4420
4449
|
var import_TextField = __toESM(require("@mui/material/TextField"));
|
|
@@ -4426,7 +4455,7 @@ var import_InputAdornment = __toESM(require("@mui/material/InputAdornment"));
|
|
|
4426
4455
|
var import_IconButton = __toESM(require("@mui/material/IconButton"));
|
|
4427
4456
|
var import_Search = __toESM(require("@mui/icons-material/Search"));
|
|
4428
4457
|
var import_Clear = __toESM(require("@mui/icons-material/Clear"));
|
|
4429
|
-
var
|
|
4458
|
+
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
4430
4459
|
function Search({
|
|
4431
4460
|
value: controlledValue,
|
|
4432
4461
|
onChange,
|
|
@@ -4450,7 +4479,7 @@ function Search({
|
|
|
4450
4479
|
if (!isControlled) setInternalValue("");
|
|
4451
4480
|
onClear == null ? void 0 : onClear();
|
|
4452
4481
|
}, [isControlled, onClear]);
|
|
4453
|
-
return /* @__PURE__ */ (0,
|
|
4482
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
4454
4483
|
import_TextField2.default,
|
|
4455
4484
|
{
|
|
4456
4485
|
variant,
|
|
@@ -4466,15 +4495,15 @@ function Search({
|
|
|
4466
4495
|
gap: 0,
|
|
4467
4496
|
"& .MuiOutlinedInput-input": { pl: "8px" }
|
|
4468
4497
|
},
|
|
4469
|
-
startAdornment: /* @__PURE__ */ (0,
|
|
4470
|
-
endAdornment: currentValue ? /* @__PURE__ */ (0,
|
|
4498
|
+
startAdornment: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_InputAdornment.default, { position: "start", sx: { mr: 0 }, children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_Search.default, { sx: { fontSize: 20, color: "text.placeholder" } }) }),
|
|
4499
|
+
endAdornment: currentValue ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_InputAdornment.default, { position: "end", children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
4471
4500
|
import_IconButton.default,
|
|
4472
4501
|
{
|
|
4473
4502
|
"aria-label": "clear search",
|
|
4474
4503
|
onClick: handleClear,
|
|
4475
4504
|
edge: "end",
|
|
4476
4505
|
size: "small",
|
|
4477
|
-
children: /* @__PURE__ */ (0,
|
|
4506
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_Clear.default, { fontSize: "small" })
|
|
4478
4507
|
}
|
|
4479
4508
|
) }) : null,
|
|
4480
4509
|
...typeof (slotProps == null ? void 0 : slotProps.input) === "object" ? slotProps.input : {}
|
|
@@ -4490,14 +4519,14 @@ var import_InputBase = __toESM(require("@mui/material/InputBase"));
|
|
|
4490
4519
|
|
|
4491
4520
|
// src/components/IconButton/index.tsx
|
|
4492
4521
|
var import_IconButton2 = __toESM(require("@mui/material/IconButton"));
|
|
4493
|
-
var
|
|
4522
|
+
var import_jsx_runtime8 = require("react/jsx-runtime");
|
|
4494
4523
|
function IconButton2({
|
|
4495
|
-
variant = "
|
|
4524
|
+
variant = "contained",
|
|
4496
4525
|
className,
|
|
4497
4526
|
...props
|
|
4498
4527
|
}) {
|
|
4499
|
-
const cls = variant === "
|
|
4500
|
-
return /* @__PURE__ */ (0,
|
|
4528
|
+
const cls = variant === "icon" ? className : ["ForestIconButton", `ForestIconButton-${variant}`, className].filter(Boolean).join(" ");
|
|
4529
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_IconButton2.default, { className: cls, ...props });
|
|
4501
4530
|
}
|
|
4502
4531
|
|
|
4503
4532
|
// src/components/Logo/index.tsx
|
|
@@ -4760,7 +4789,7 @@ function scopeArtworkIds(inner, id) {
|
|
|
4760
4789
|
}
|
|
4761
4790
|
|
|
4762
4791
|
// src/components/Logo/index.tsx
|
|
4763
|
-
var
|
|
4792
|
+
var import_jsx_runtime9 = require("react/jsx-runtime");
|
|
4764
4793
|
function resolveArtwork(product, variant, color) {
|
|
4765
4794
|
const variantArt = PRODUCT_ARTWORK[product][variant];
|
|
4766
4795
|
if (variant === "logomark") {
|
|
@@ -4780,7 +4809,7 @@ var Logo = (0, import_react3.forwardRef)(
|
|
|
4780
4809
|
() => artwork ? scopeArtworkIds(artwork.inner, id) : "",
|
|
4781
4810
|
[artwork, id]
|
|
4782
4811
|
);
|
|
4783
|
-
return /* @__PURE__ */ (0,
|
|
4812
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
4784
4813
|
import_material.Box,
|
|
4785
4814
|
{
|
|
4786
4815
|
component: "svg",
|
|
@@ -4810,9 +4839,9 @@ var import_ToggleButtonGroup = __toESM(require("@mui/material/ToggleButtonGroup"
|
|
|
4810
4839
|
var import_DatePicker = require("@mui/x-date-pickers/DatePicker");
|
|
4811
4840
|
var import_LocalizationProvider = require("@mui/x-date-pickers/LocalizationProvider");
|
|
4812
4841
|
var import_AdapterDayjs = require("@mui/x-date-pickers/AdapterDayjs");
|
|
4813
|
-
var
|
|
4842
|
+
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
4814
4843
|
function DatePicker(props) {
|
|
4815
|
-
return /* @__PURE__ */ (0,
|
|
4844
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_LocalizationProvider.LocalizationProvider, { dateAdapter: import_AdapterDayjs.AdapterDayjs, children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_DatePicker.DatePicker, { ...props }) });
|
|
4816
4845
|
}
|
|
4817
4846
|
|
|
4818
4847
|
// src/components/FormControl/index.tsx
|
|
@@ -4846,7 +4875,7 @@ var import_Badge = __toESM(require("@mui/material/Badge"));
|
|
|
4846
4875
|
var import_Chip = __toESM(require("@mui/material/Chip"));
|
|
4847
4876
|
var import_CloseOutlined = __toESM(require("@mui/icons-material/CloseOutlined"));
|
|
4848
4877
|
var import_styles3 = require("@mui/material/styles");
|
|
4849
|
-
var
|
|
4878
|
+
var import_jsx_runtime11 = require("react/jsx-runtime");
|
|
4850
4879
|
var customChipScales = {
|
|
4851
4880
|
teal: misc.teal,
|
|
4852
4881
|
orange: misc.orange,
|
|
@@ -4859,10 +4888,10 @@ var customChipScales = {
|
|
|
4859
4888
|
rose: misc.rose,
|
|
4860
4889
|
blueLight: misc.blueLight
|
|
4861
4890
|
};
|
|
4862
|
-
function Chip({ color, deleteIcon = /* @__PURE__ */ (0,
|
|
4891
|
+
function Chip({ color, deleteIcon = /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_CloseOutlined.default, {}), sx, ...props }) {
|
|
4863
4892
|
const scale = color && color in customChipScales ? customChipScales[color] : void 0;
|
|
4864
4893
|
if (scale) {
|
|
4865
|
-
return /* @__PURE__ */ (0,
|
|
4894
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
4866
4895
|
import_Chip.default,
|
|
4867
4896
|
{
|
|
4868
4897
|
deleteIcon,
|
|
@@ -4902,7 +4931,7 @@ function Chip({ color, deleteIcon = /* @__PURE__ */ (0, import_jsx_runtime12.jsx
|
|
|
4902
4931
|
}
|
|
4903
4932
|
);
|
|
4904
4933
|
}
|
|
4905
|
-
return /* @__PURE__ */ (0,
|
|
4934
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
4906
4935
|
import_Chip.default,
|
|
4907
4936
|
{
|
|
4908
4937
|
color,
|
|
@@ -4950,9 +4979,9 @@ var import_x_data_grid = require("@mui/x-data-grid");
|
|
|
4950
4979
|
|
|
4951
4980
|
// src/components/Tooltip/index.tsx
|
|
4952
4981
|
var import_Tooltip = __toESM(require("@mui/material/Tooltip"));
|
|
4953
|
-
var
|
|
4982
|
+
var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
4954
4983
|
function Tooltip({ arrow = true, ...props }) {
|
|
4955
|
-
return /* @__PURE__ */ (0,
|
|
4984
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_Tooltip.default, { arrow, ...props });
|
|
4956
4985
|
}
|
|
4957
4986
|
|
|
4958
4987
|
// src/components/Typography/index.tsx
|
|
@@ -4968,7 +4997,7 @@ var import_AccordionActions = __toESM(require("@mui/material/AccordionActions"))
|
|
|
4968
4997
|
var import_Button3 = __toESM(require("@mui/material/Button"));
|
|
4969
4998
|
var import_AppBar = __toESM(require("@mui/material/AppBar"));
|
|
4970
4999
|
var import_Toolbar = __toESM(require("@mui/material/Toolbar"));
|
|
4971
|
-
var
|
|
5000
|
+
var import_jsx_runtime13 = require("react/jsx-runtime");
|
|
4972
5001
|
function AppBarNavItem({
|
|
4973
5002
|
label,
|
|
4974
5003
|
icon,
|
|
@@ -4977,7 +5006,7 @@ function AppBarNavItem({
|
|
|
4977
5006
|
sx,
|
|
4978
5007
|
...props
|
|
4979
5008
|
}) {
|
|
4980
|
-
return /* @__PURE__ */ (0,
|
|
5009
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
4981
5010
|
import_Button3.default,
|
|
4982
5011
|
{
|
|
4983
5012
|
variant: "text",
|
|
@@ -5028,9 +5057,9 @@ var import_CardContent = __toESM(require("@mui/material/CardContent"));
|
|
|
5028
5057
|
var import_CardHeader = __toESM(require("@mui/material/CardHeader"));
|
|
5029
5058
|
var import_CardActions = __toESM(require("@mui/material/CardActions"));
|
|
5030
5059
|
var import_CardMedia = __toESM(require("@mui/material/CardMedia"));
|
|
5031
|
-
var
|
|
5060
|
+
var import_jsx_runtime14 = require("react/jsx-runtime");
|
|
5032
5061
|
function Card({ color = "primary", sx, ...props }) {
|
|
5033
|
-
return /* @__PURE__ */ (0,
|
|
5062
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
5034
5063
|
import_Card.default,
|
|
5035
5064
|
{
|
|
5036
5065
|
...props,
|
|
@@ -5048,17 +5077,13 @@ var import_CardActionArea = __toESM(require("@mui/material/CardActionArea"));
|
|
|
5048
5077
|
// src/components/Drawer/index.tsx
|
|
5049
5078
|
var import_Drawer = __toESM(require("@mui/material/Drawer"));
|
|
5050
5079
|
var import_SwipeableDrawer = __toESM(require("@mui/material/SwipeableDrawer"));
|
|
5051
|
-
var
|
|
5080
|
+
var import_jsx_runtime15 = require("react/jsx-runtime");
|
|
5052
5081
|
function Drawer({ anchor = "right", hideBackdrop = true, ...props }) {
|
|
5053
|
-
return /* @__PURE__ */ (0,
|
|
5082
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_Drawer.default, { anchor, hideBackdrop, ...props });
|
|
5054
5083
|
}
|
|
5055
5084
|
|
|
5056
5085
|
// src/components/Paper/index.tsx
|
|
5057
5086
|
var import_Paper = __toESM(require("@mui/material/Paper"));
|
|
5058
|
-
var import_jsx_runtime17 = require("react/jsx-runtime");
|
|
5059
|
-
function Paper(props) {
|
|
5060
|
-
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_Paper.default, { ...props });
|
|
5061
|
-
}
|
|
5062
5087
|
|
|
5063
5088
|
// src/components/Alert/index.tsx
|
|
5064
5089
|
var import_Alert = __toESM(require("@mui/material/Alert"));
|
|
@@ -5086,9 +5111,9 @@ var import_Modal = __toESM(require("@mui/material/Modal"));
|
|
|
5086
5111
|
|
|
5087
5112
|
// src/components/Popover/index.tsx
|
|
5088
5113
|
var import_Popover = __toESM(require("@mui/material/Popover"));
|
|
5089
|
-
var
|
|
5114
|
+
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
5090
5115
|
function Popover({ slotProps, ...props }) {
|
|
5091
|
-
return /* @__PURE__ */ (0,
|
|
5116
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
5092
5117
|
import_Popover.default,
|
|
5093
5118
|
{
|
|
5094
5119
|
...props,
|
|
@@ -5163,7 +5188,7 @@ var import_ListItemButton2 = __toESM(require("@mui/material/ListItemButton"));
|
|
|
5163
5188
|
var import_ListItemIcon2 = __toESM(require("@mui/material/ListItemIcon"));
|
|
5164
5189
|
var import_ListItemText3 = __toESM(require("@mui/material/ListItemText"));
|
|
5165
5190
|
var import_Tooltip2 = __toESM(require("@mui/material/Tooltip"));
|
|
5166
|
-
var
|
|
5191
|
+
var import_jsx_runtime17 = require("react/jsx-runtime");
|
|
5167
5192
|
var SidebarContext = (0, import_react4.createContext)({
|
|
5168
5193
|
open: true,
|
|
5169
5194
|
collapsedWidth: 48,
|
|
@@ -5193,7 +5218,7 @@ function SidebarNav({
|
|
|
5193
5218
|
onMouseEnter: () => onOpenChange(true),
|
|
5194
5219
|
onMouseLeave: () => onOpenChange(false)
|
|
5195
5220
|
} : {};
|
|
5196
|
-
return /* @__PURE__ */ (0,
|
|
5221
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(SidebarContext.Provider, { value: { open, collapsedWidth, expandedWidth }, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
|
|
5197
5222
|
import_Box.default,
|
|
5198
5223
|
{
|
|
5199
5224
|
sx: {
|
|
@@ -5206,7 +5231,7 @@ function SidebarNav({
|
|
|
5206
5231
|
transition: "width 200ms ease-in-out"
|
|
5207
5232
|
},
|
|
5208
5233
|
children: [
|
|
5209
|
-
/* @__PURE__ */ (0,
|
|
5234
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
5210
5235
|
import_Drawer2.default,
|
|
5211
5236
|
{
|
|
5212
5237
|
variant: "permanent",
|
|
@@ -5224,7 +5249,7 @@ function SidebarNav({
|
|
|
5224
5249
|
},
|
|
5225
5250
|
...sx
|
|
5226
5251
|
},
|
|
5227
|
-
children: /* @__PURE__ */ (0,
|
|
5252
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
|
|
5228
5253
|
import_Box.default,
|
|
5229
5254
|
{
|
|
5230
5255
|
sx: {
|
|
@@ -5234,9 +5259,9 @@ function SidebarNav({
|
|
|
5234
5259
|
overflow: "hidden"
|
|
5235
5260
|
},
|
|
5236
5261
|
children: [
|
|
5237
|
-
header && /* @__PURE__ */ (0,
|
|
5238
|
-
/* @__PURE__ */ (0,
|
|
5239
|
-
footer && /* @__PURE__ */ (0,
|
|
5262
|
+
header && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_Box.default, { sx: { flexShrink: 0 }, children: header }),
|
|
5263
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_Box.default, { sx: { flexGrow: 1, overflowY: "auto", overflowX: "hidden" }, children }),
|
|
5264
|
+
footer && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_Box.default, { sx: { flexShrink: 0 }, children: footer })
|
|
5240
5265
|
]
|
|
5241
5266
|
}
|
|
5242
5267
|
)
|
|
@@ -5246,7 +5271,7 @@ function SidebarNav({
|
|
|
5246
5271
|
// to a square icon toggle. Face is the tonal secondary (light grey in
|
|
5247
5272
|
// light / charcoal in dark), not the primary brand fill — the toggle
|
|
5248
5273
|
// is a utility control, not a call to action.
|
|
5249
|
-
/* @__PURE__ */ (0,
|
|
5274
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
5250
5275
|
Button,
|
|
5251
5276
|
{
|
|
5252
5277
|
"aria-label": open ? "Collapse sidebar" : "Expand sidebar",
|
|
@@ -5279,7 +5304,7 @@ function SidebarNav({
|
|
|
5279
5304
|
...theme.applyStyles("dark", { filter: "brightness(1.15)" })
|
|
5280
5305
|
}
|
|
5281
5306
|
}),
|
|
5282
|
-
children: open ? /* @__PURE__ */ (0,
|
|
5307
|
+
children: open ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_ChevronLeftOutlined.default, {}) : /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_ChevronRightOutlined.default, {})
|
|
5283
5308
|
}
|
|
5284
5309
|
)
|
|
5285
5310
|
]
|
|
@@ -5323,7 +5348,7 @@ function SidebarItem({
|
|
|
5323
5348
|
}) {
|
|
5324
5349
|
const { open } = useSidebar();
|
|
5325
5350
|
if (!open) {
|
|
5326
|
-
return /* @__PURE__ */ (0,
|
|
5351
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_Tooltip2.default, { title: label, placement: "right", arrow: true, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
5327
5352
|
import_ListItemButton2.default,
|
|
5328
5353
|
{
|
|
5329
5354
|
...rest,
|
|
@@ -5338,13 +5363,13 @@ function SidebarItem({
|
|
|
5338
5363
|
marginInline: "auto",
|
|
5339
5364
|
...sx
|
|
5340
5365
|
},
|
|
5341
|
-
children: /* @__PURE__ */ (0,
|
|
5366
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_ListItemIcon2.default, { sx: { minWidth: "unset", margin: 0, "& .MuiSvgIcon-root": { fontSize: 20 } }, children: icon })
|
|
5342
5367
|
}
|
|
5343
5368
|
) });
|
|
5344
5369
|
}
|
|
5345
|
-
return /* @__PURE__ */ (0,
|
|
5346
|
-
/* @__PURE__ */ (0,
|
|
5347
|
-
/* @__PURE__ */ (0,
|
|
5370
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_ListItemButton2.default, { ...rest, sx: { ...itemSx, height: 32, ...sx }, children: [
|
|
5371
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_ListItemIcon2.default, { sx: { minWidth: 32, "& .MuiSvgIcon-root": { fontSize: 20 } }, children: icon }),
|
|
5372
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_ListItemText3.default, { primary: label }),
|
|
5348
5373
|
endAdornment
|
|
5349
5374
|
] });
|
|
5350
5375
|
}
|
|
@@ -5359,19 +5384,20 @@ var import_styles4 = require("@mui/material/styles");
|
|
|
5359
5384
|
var import_MenuOutlined = __toESM(require("@mui/icons-material/MenuOutlined"));
|
|
5360
5385
|
var import_DarkModeOutlined = __toESM(require("@mui/icons-material/DarkModeOutlined"));
|
|
5361
5386
|
var import_LightModeOutlined = __toESM(require("@mui/icons-material/LightModeOutlined"));
|
|
5362
|
-
var
|
|
5387
|
+
var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
5363
5388
|
function ColorModeToggle() {
|
|
5364
5389
|
const { mode, systemMode, setMode } = (0, import_styles4.useColorScheme)();
|
|
5365
5390
|
const resolved = mode === "system" ? systemMode : mode;
|
|
5366
5391
|
const isDark = resolved === "dark";
|
|
5367
|
-
return /* @__PURE__ */ (0,
|
|
5392
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Tooltip, { title: isDark ? "Switch to light mode" : "Switch to dark mode", children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
5368
5393
|
IconButton2,
|
|
5369
5394
|
{
|
|
5395
|
+
variant: "icon",
|
|
5370
5396
|
size: "small",
|
|
5371
5397
|
color: "inherit",
|
|
5372
5398
|
"aria-label": "Toggle color mode",
|
|
5373
5399
|
onClick: () => setMode(isDark ? "light" : "dark"),
|
|
5374
|
-
children: isDark ? /* @__PURE__ */ (0,
|
|
5400
|
+
children: isDark ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_LightModeOutlined.default, { fontSize: "small" }) : /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_DarkModeOutlined.default, { fontSize: "small" })
|
|
5375
5401
|
}
|
|
5376
5402
|
) });
|
|
5377
5403
|
}
|
|
@@ -5382,9 +5408,9 @@ function ShellBrand({
|
|
|
5382
5408
|
const { mode, systemMode } = (0, import_styles4.useColorScheme)();
|
|
5383
5409
|
const dark = (mode === "system" ? systemMode : mode) === "dark";
|
|
5384
5410
|
if (logoVariant === "full") {
|
|
5385
|
-
return /* @__PURE__ */ (0,
|
|
5411
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Logo, { product, variant: "logo", color: dark ? "negative" : "positive" });
|
|
5386
5412
|
}
|
|
5387
|
-
return /* @__PURE__ */ (0,
|
|
5413
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Logo, { product, variant: "logomark", color: "default" });
|
|
5388
5414
|
}
|
|
5389
5415
|
function AppShell({
|
|
5390
5416
|
navItems,
|
|
@@ -5402,7 +5428,7 @@ function AppShell({
|
|
|
5402
5428
|
const isMobile = (0, import_useMediaQuery.default)(theme.breakpoints.down("sm"));
|
|
5403
5429
|
const [sidebarOpen, setSidebarOpen] = (0, import_react5.useState)(defaultSidebarOpen);
|
|
5404
5430
|
const [mobileOpen, setMobileOpen] = (0, import_react5.useState)(false);
|
|
5405
|
-
const navContent = nav != null ? nav : navItems && /* @__PURE__ */ (0,
|
|
5431
|
+
const navContent = nav != null ? nav : navItems && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_List2.default, { children: navItems.map(({ label, icon, active, endAdornment, ...link }) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
5406
5432
|
SidebarItem,
|
|
5407
5433
|
{
|
|
5408
5434
|
icon,
|
|
@@ -5413,39 +5439,40 @@ function AppShell({
|
|
|
5413
5439
|
},
|
|
5414
5440
|
label
|
|
5415
5441
|
)) });
|
|
5416
|
-
const brandEl = brand != null ? brand : /* @__PURE__ */ (0,
|
|
5442
|
+
const brandEl = brand != null ? brand : /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(ShellBrand, { product, logoVariant });
|
|
5417
5443
|
const wrapLogomark = !brand && logoVariant === "logomark" && !isMobile;
|
|
5418
|
-
return /* @__PURE__ */ (0,
|
|
5419
|
-
/* @__PURE__ */ (0,
|
|
5444
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_Box2.default, { sx: { display: "flex", flexDirection: "column", height: "100vh" }, children: [
|
|
5445
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
5420
5446
|
import_AppBar.default,
|
|
5421
5447
|
{
|
|
5422
5448
|
position: "sticky",
|
|
5423
5449
|
elevation: 0,
|
|
5424
5450
|
sx: { zIndex: theme.zIndex.drawer + 1 },
|
|
5425
|
-
children: /* @__PURE__ */ (0,
|
|
5426
|
-
/* @__PURE__ */ (0,
|
|
5427
|
-
isMobile && /* @__PURE__ */ (0,
|
|
5451
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_Toolbar.default, { variant: "dense", sx: { px: { xs: "16px", sm: "16px" } }, children: [
|
|
5452
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_Box2.default, { sx: { flex: 1, display: "flex", alignItems: "center", justifyContent: "flex-start", gap: 1 }, children: [
|
|
5453
|
+
isMobile && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
5428
5454
|
IconButton2,
|
|
5429
5455
|
{
|
|
5456
|
+
variant: "icon",
|
|
5430
5457
|
size: "small",
|
|
5431
5458
|
color: "inherit",
|
|
5432
5459
|
"aria-label": "Open navigation",
|
|
5433
5460
|
onClick: () => setMobileOpen(true),
|
|
5434
|
-
children: /* @__PURE__ */ (0,
|
|
5461
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_MenuOutlined.default, { fontSize: "small" })
|
|
5435
5462
|
}
|
|
5436
5463
|
),
|
|
5437
|
-
wrapLogomark ? /* @__PURE__ */ (0,
|
|
5464
|
+
wrapLogomark ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_Box2.default, { sx: { width: 48, ml: "-16px", display: "flex", justifyContent: "center" }, children: brandEl }) : brandEl
|
|
5438
5465
|
] }),
|
|
5439
|
-
/* @__PURE__ */ (0,
|
|
5440
|
-
/* @__PURE__ */ (0,
|
|
5441
|
-
/* @__PURE__ */ (0,
|
|
5466
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_Box2.default, { sx: { flex: 1, display: "flex", justifyContent: "center" }, children: search === true ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Search, { size: "small", placeholder: "Search\u2026", sx: { width: "100%", maxWidth: 480 } }) : search || null }),
|
|
5467
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_Box2.default, { sx: { flex: 1, display: "flex", alignItems: "center", justifyContent: "flex-end", gap: 1 }, children: [
|
|
5468
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(ColorModeToggle, {}),
|
|
5442
5469
|
actions
|
|
5443
5470
|
] })
|
|
5444
5471
|
] })
|
|
5445
5472
|
}
|
|
5446
5473
|
),
|
|
5447
|
-
/* @__PURE__ */ (0,
|
|
5448
|
-
!isMobile && navContent && /* @__PURE__ */ (0,
|
|
5474
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_Box2.default, { sx: { display: "flex", flexGrow: 1, overflow: "hidden" }, children: [
|
|
5475
|
+
!isMobile && navContent && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
5449
5476
|
SidebarNav,
|
|
5450
5477
|
{
|
|
5451
5478
|
open: sidebarOpen,
|
|
@@ -5458,9 +5485,9 @@ function AppShell({
|
|
|
5458
5485
|
children: navContent
|
|
5459
5486
|
}
|
|
5460
5487
|
),
|
|
5461
|
-
/* @__PURE__ */ (0,
|
|
5488
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_Box2.default, { component: "main", sx: { flexGrow: 1, overflow: "auto" }, children })
|
|
5462
5489
|
] }),
|
|
5463
|
-
isMobile && navContent && /* @__PURE__ */ (0,
|
|
5490
|
+
isMobile && navContent && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
5464
5491
|
import_Drawer3.default,
|
|
5465
5492
|
{
|
|
5466
5493
|
open: mobileOpen,
|
|
@@ -5478,7 +5505,7 @@ var import_Box3 = __toESM(require("@mui/material/Box"));
|
|
|
5478
5505
|
var import_Breadcrumbs2 = __toESM(require("@mui/material/Breadcrumbs"));
|
|
5479
5506
|
var import_Link2 = __toESM(require("@mui/material/Link"));
|
|
5480
5507
|
var import_Typography2 = __toESM(require("@mui/material/Typography"));
|
|
5481
|
-
var
|
|
5508
|
+
var import_jsx_runtime19 = (
|
|
5482
5509
|
// Current page: plain text, not a link.
|
|
5483
5510
|
require("react/jsx-runtime")
|
|
5484
5511
|
);
|
|
@@ -5491,7 +5518,7 @@ function Page({
|
|
|
5491
5518
|
sx,
|
|
5492
5519
|
children
|
|
5493
5520
|
}) {
|
|
5494
|
-
return /* @__PURE__ */ (0,
|
|
5521
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
5495
5522
|
import_Box3.default,
|
|
5496
5523
|
{
|
|
5497
5524
|
component: "section",
|
|
@@ -5505,7 +5532,7 @@ function Page({
|
|
|
5505
5532
|
},
|
|
5506
5533
|
...Array.isArray(sx) ? sx : [sx]
|
|
5507
5534
|
],
|
|
5508
|
-
children: /* @__PURE__ */ (0,
|
|
5535
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
|
|
5509
5536
|
import_Box3.default,
|
|
5510
5537
|
{
|
|
5511
5538
|
sx: {
|
|
@@ -5516,8 +5543,8 @@ function Page({
|
|
|
5516
5543
|
...maxWidth ? { maxWidth, mx: "auto" } : {}
|
|
5517
5544
|
},
|
|
5518
5545
|
children: [
|
|
5519
|
-
breadcrumbs && breadcrumbs.length > 0 && /* @__PURE__ */ (0,
|
|
5520
|
-
(crumb, i) => i === breadcrumbs.length - 1 ? /* @__PURE__ */ (0,
|
|
5546
|
+
breadcrumbs && breadcrumbs.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_Breadcrumbs2.default, { "aria-label": "breadcrumb", sx: { mb: 1 }, children: breadcrumbs.map(
|
|
5547
|
+
(crumb, i) => i === breadcrumbs.length - 1 ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_Typography2.default, { variant: "body2", color: "text.primary", children: crumb.label }, crumb.label) : /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
5521
5548
|
import_Link2.default,
|
|
5522
5549
|
{
|
|
5523
5550
|
variant: "body2",
|
|
@@ -5531,7 +5558,7 @@ function Page({
|
|
|
5531
5558
|
crumb.label
|
|
5532
5559
|
)
|
|
5533
5560
|
) }),
|
|
5534
|
-
/* @__PURE__ */ (0,
|
|
5561
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
|
|
5535
5562
|
import_Box3.default,
|
|
5536
5563
|
{
|
|
5537
5564
|
sx: {
|
|
@@ -5542,8 +5569,8 @@ function Page({
|
|
|
5542
5569
|
mb: 3
|
|
5543
5570
|
},
|
|
5544
5571
|
children: [
|
|
5545
|
-
/* @__PURE__ */ (0,
|
|
5546
|
-
actions && /* @__PURE__ */ (0,
|
|
5572
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_Typography2.default, { variant: "h5", children: title }),
|
|
5573
|
+
actions && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_Box3.default, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: actions })
|
|
5547
5574
|
]
|
|
5548
5575
|
}
|
|
5549
5576
|
),
|
|
@@ -5557,19 +5584,15 @@ function Page({
|
|
|
5557
5584
|
|
|
5558
5585
|
// src/components/Box/index.tsx
|
|
5559
5586
|
var import_Box4 = __toESM(require("@mui/material/Box"));
|
|
5560
|
-
var Box5 = import_Box4.default;
|
|
5561
5587
|
|
|
5562
5588
|
// src/components/Stack/index.tsx
|
|
5563
5589
|
var import_Stack = __toESM(require("@mui/material/Stack"));
|
|
5564
|
-
var Stack = import_Stack.default;
|
|
5565
5590
|
|
|
5566
5591
|
// src/components/Grid/index.tsx
|
|
5567
5592
|
var import_Grid = __toESM(require("@mui/material/Grid"));
|
|
5568
|
-
var Grid = import_Grid.default;
|
|
5569
5593
|
|
|
5570
5594
|
// src/components/Container/index.tsx
|
|
5571
5595
|
var import_Container = __toESM(require("@mui/material/Container"));
|
|
5572
|
-
var Container = import_Container.default;
|
|
5573
5596
|
|
|
5574
5597
|
// src/components/Collapse/index.tsx
|
|
5575
5598
|
var import_Collapse = __toESM(require("@mui/material/Collapse"));
|
|
@@ -5603,7 +5626,6 @@ var import_Popper = __toESM(require("@mui/material/Popper"));
|
|
|
5603
5626
|
|
|
5604
5627
|
// src/components/Portal/index.tsx
|
|
5605
5628
|
var import_Portal = __toESM(require("@mui/material/Portal"));
|
|
5606
|
-
var Portal = import_Portal.default;
|
|
5607
5629
|
|
|
5608
5630
|
// src/components/Slider/index.tsx
|
|
5609
5631
|
var import_Slider = __toESM(require("@mui/material/Slider"));
|
|
@@ -5630,7 +5652,7 @@ function useChartColors(count) {
|
|
|
5630
5652
|
// src/components/Charts/CustomTooltip.tsx
|
|
5631
5653
|
var import_material2 = require("@mui/material");
|
|
5632
5654
|
var import_styles6 = require("@mui/material/styles");
|
|
5633
|
-
var
|
|
5655
|
+
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
5634
5656
|
function formatDate(date) {
|
|
5635
5657
|
if (!date) return "";
|
|
5636
5658
|
const d = new Date(date);
|
|
@@ -5655,7 +5677,7 @@ function CustomTooltip(props) {
|
|
|
5655
5677
|
if (dataIndex == null) {
|
|
5656
5678
|
return null;
|
|
5657
5679
|
}
|
|
5658
|
-
return /* @__PURE__ */ (0,
|
|
5680
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
5659
5681
|
import_material2.Box,
|
|
5660
5682
|
{
|
|
5661
5683
|
sx: {
|
|
@@ -5671,7 +5693,7 @@ function CustomTooltip(props) {
|
|
|
5671
5693
|
border: `1px solid ${theme.palette.divider}`
|
|
5672
5694
|
},
|
|
5673
5695
|
children: [
|
|
5674
|
-
/* @__PURE__ */ (0,
|
|
5696
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5675
5697
|
import_material2.Typography,
|
|
5676
5698
|
{
|
|
5677
5699
|
variant: "body2",
|
|
@@ -5688,8 +5710,8 @@ function CustomTooltip(props) {
|
|
|
5688
5710
|
const color = typeof s.getColor === "function" ? s.getColor(dataIndex) : s.color;
|
|
5689
5711
|
const value = s.data ? s.data[dataIndex] : null;
|
|
5690
5712
|
if (value == null) return null;
|
|
5691
|
-
return /* @__PURE__ */ (0,
|
|
5692
|
-
/* @__PURE__ */ (0,
|
|
5713
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_material2.Box, { sx: { display: "flex", flexDirection: "column", gap: "6px" }, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_material2.Box, { sx: { display: "flex", alignItems: "center", gap: "8px" }, children: [
|
|
5714
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5693
5715
|
import_material2.Box,
|
|
5694
5716
|
{
|
|
5695
5717
|
sx: {
|
|
@@ -5701,7 +5723,7 @@ function CustomTooltip(props) {
|
|
|
5701
5723
|
}
|
|
5702
5724
|
}
|
|
5703
5725
|
),
|
|
5704
|
-
/* @__PURE__ */ (0,
|
|
5726
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
5705
5727
|
import_material2.Typography,
|
|
5706
5728
|
{
|
|
5707
5729
|
variant: "body2",
|
|
@@ -5712,7 +5734,7 @@ function CustomTooltip(props) {
|
|
|
5712
5734
|
gap: "6px"
|
|
5713
5735
|
},
|
|
5714
5736
|
children: [
|
|
5715
|
-
/* @__PURE__ */ (0,
|
|
5737
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5716
5738
|
import_material2.Box,
|
|
5717
5739
|
{
|
|
5718
5740
|
component: "span",
|
|
@@ -5740,7 +5762,7 @@ function CustomTooltip(props) {
|
|
|
5740
5762
|
}
|
|
5741
5763
|
|
|
5742
5764
|
// src/components/Charts/LineChart.tsx
|
|
5743
|
-
var
|
|
5765
|
+
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
5744
5766
|
function LineChart({ series, colors: colors2, ...props }) {
|
|
5745
5767
|
var _a, _b;
|
|
5746
5768
|
const theme = (0, import_styles7.useTheme)();
|
|
@@ -5754,7 +5776,7 @@ function LineChart({ series, colors: colors2, ...props }) {
|
|
|
5754
5776
|
highlightScope: (_b2 = s.highlightScope) != null ? _b2 : { highlighted: "item", faded: "global" }
|
|
5755
5777
|
};
|
|
5756
5778
|
});
|
|
5757
|
-
return /* @__PURE__ */ (0,
|
|
5779
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
5758
5780
|
import_LineChart.LineChart,
|
|
5759
5781
|
{
|
|
5760
5782
|
series: modifiedSeries != null ? modifiedSeries : [],
|
|
@@ -5826,7 +5848,7 @@ function LineChart({ series, colors: colors2, ...props }) {
|
|
|
5826
5848
|
// src/components/Charts/BarChart.tsx
|
|
5827
5849
|
var import_BarChart = require("@mui/x-charts/BarChart");
|
|
5828
5850
|
var import_styles8 = require("@mui/material/styles");
|
|
5829
|
-
var
|
|
5851
|
+
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
5830
5852
|
function BarChart({ series, colors: colors2, ...props }) {
|
|
5831
5853
|
var _a, _b;
|
|
5832
5854
|
const theme = (0, import_styles8.useTheme)();
|
|
@@ -5844,7 +5866,7 @@ function BarChart({ series, colors: colors2, ...props }) {
|
|
|
5844
5866
|
highlightScope: (_a2 = s.highlightScope) != null ? _a2 : { highlighted: "item", faded: "global" }
|
|
5845
5867
|
};
|
|
5846
5868
|
});
|
|
5847
|
-
return /* @__PURE__ */ (0,
|
|
5869
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
5848
5870
|
import_BarChart.BarChart,
|
|
5849
5871
|
{
|
|
5850
5872
|
series: modifiedSeries != null ? modifiedSeries : [],
|
|
@@ -5904,10 +5926,10 @@ function BarChart({ series, colors: colors2, ...props }) {
|
|
|
5904
5926
|
...(_b = props.sx) != null ? _b : {}
|
|
5905
5927
|
},
|
|
5906
5928
|
...props,
|
|
5907
|
-
children: /* @__PURE__ */ (0,
|
|
5929
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("defs", { children: series == null ? void 0 : series.map((s, idx) => {
|
|
5908
5930
|
if (s.variant !== "striped") return null;
|
|
5909
5931
|
const baseColor = s.color || resolvedColors[idx % resolvedColors.length];
|
|
5910
|
-
return /* @__PURE__ */ (0,
|
|
5932
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
|
|
5911
5933
|
"pattern",
|
|
5912
5934
|
{
|
|
5913
5935
|
id: `striped-pattern-${idx}`,
|
|
@@ -5916,8 +5938,8 @@ function BarChart({ series, colors: colors2, ...props }) {
|
|
|
5916
5938
|
height: "8",
|
|
5917
5939
|
patternTransform: "rotate(45)",
|
|
5918
5940
|
children: [
|
|
5919
|
-
/* @__PURE__ */ (0,
|
|
5920
|
-
/* @__PURE__ */ (0,
|
|
5941
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("rect", { width: "8", height: "8", fill: theme.palette.background.paper }),
|
|
5942
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("line", { x1: "0", y: "0", x2: "0", y2: "8", stroke: baseColor, strokeWidth: "4" })
|
|
5921
5943
|
]
|
|
5922
5944
|
},
|
|
5923
5945
|
`striped-${idx}`
|
|
@@ -5930,7 +5952,7 @@ function BarChart({ series, colors: colors2, ...props }) {
|
|
|
5930
5952
|
// src/components/Charts/PieChart.tsx
|
|
5931
5953
|
var import_PieChart = require("@mui/x-charts/PieChart");
|
|
5932
5954
|
var import_styles9 = require("@mui/material/styles");
|
|
5933
|
-
var
|
|
5955
|
+
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
5934
5956
|
function PieChart({ series, colors: colors2, ...props }) {
|
|
5935
5957
|
var _a, _b, _c, _d;
|
|
5936
5958
|
const theme = (0, import_styles9.useTheme)();
|
|
@@ -5944,7 +5966,7 @@ function PieChart({ series, colors: colors2, ...props }) {
|
|
|
5944
5966
|
highlightScope: (_a2 = s.highlightScope) != null ? _a2 : { highlighted: "item", faded: "global" }
|
|
5945
5967
|
};
|
|
5946
5968
|
});
|
|
5947
|
-
return /* @__PURE__ */ (0,
|
|
5969
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
5948
5970
|
import_PieChart.PieChart,
|
|
5949
5971
|
{
|
|
5950
5972
|
series: modifiedSeries != null ? modifiedSeries : [],
|
|
@@ -6043,7 +6065,7 @@ var forestLegendSlotProps = {
|
|
|
6043
6065
|
};
|
|
6044
6066
|
|
|
6045
6067
|
// src/components/Charts/ScatterChart.tsx
|
|
6046
|
-
var
|
|
6068
|
+
var import_jsx_runtime24 = require("react/jsx-runtime");
|
|
6047
6069
|
function ScatterChart({ series, colors: colors2, ...props }) {
|
|
6048
6070
|
var _a, _b;
|
|
6049
6071
|
const theme = (0, import_styles10.useTheme)();
|
|
@@ -6055,7 +6077,7 @@ function ScatterChart({ series, colors: colors2, ...props }) {
|
|
|
6055
6077
|
highlightScope: (_a2 = s.highlightScope) != null ? _a2 : { highlighted: "item", faded: "global" }
|
|
6056
6078
|
};
|
|
6057
6079
|
});
|
|
6058
|
-
return /* @__PURE__ */ (0,
|
|
6080
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
6059
6081
|
import_ScatterChart.ScatterChart,
|
|
6060
6082
|
{
|
|
6061
6083
|
series: modifiedSeries != null ? modifiedSeries : [],
|
|
@@ -6074,11 +6096,11 @@ function ScatterChart({ series, colors: colors2, ...props }) {
|
|
|
6074
6096
|
// src/components/Charts/Gauge.tsx
|
|
6075
6097
|
var import_Gauge = require("@mui/x-charts/Gauge");
|
|
6076
6098
|
var import_styles11 = require("@mui/material/styles");
|
|
6077
|
-
var
|
|
6099
|
+
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
6078
6100
|
function Gauge(props) {
|
|
6079
6101
|
var _a;
|
|
6080
6102
|
const theme = (0, import_styles11.useTheme)();
|
|
6081
|
-
return /* @__PURE__ */ (0,
|
|
6103
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
6082
6104
|
import_Gauge.Gauge,
|
|
6083
6105
|
{
|
|
6084
6106
|
...props,
|