@matteoaliano/forest-ui 1.0.0 → 1.1.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/bin/sync.mjs +37 -72
- package/dist/{chunk-XJYBU6LC.mjs → chunk-BCOHH5MJ.mjs} +5 -2
- package/dist/chunk-BCOHH5MJ.mjs.map +1 -0
- package/dist/index.d.mts +74 -2
- package/dist/index.d.ts +74 -2
- package/dist/index.js +254 -41
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +258 -50
- package/dist/index.mjs.map +1 -1
- package/dist/theme.js +4 -1
- 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 +25 -131
- package/skills/forest-alkemy-plus/references/components.md +2 -0
- package/skills/forest-alkemy-plus/references/patterns.md +65 -121
- package/skills/forest-alkemy-plus/references/upgrading.md +6 -25
- package/dist/chunk-XJYBU6LC.mjs.map +0 -1
package/dist/index.js
CHANGED
|
@@ -40,6 +40,7 @@ __export(src_exports, {
|
|
|
40
40
|
AnimatedLine: () => import_LineChart7.AnimatedLine,
|
|
41
41
|
AppBar: () => import_AppBar.default,
|
|
42
42
|
AppBarNavItem: () => AppBarNavItem,
|
|
43
|
+
AppShell: () => AppShell,
|
|
43
44
|
AreaElement: () => import_LineChart4.AreaElement,
|
|
44
45
|
AreaElementPath: () => import_LineChart4.AreaElementPath,
|
|
45
46
|
AreaPlot: () => import_LineChart4.AreaPlot,
|
|
@@ -55,7 +56,7 @@ __export(src_exports, {
|
|
|
55
56
|
BarPlot: () => import_BarChart3.BarPlot,
|
|
56
57
|
BottomNavigation: () => import_BottomNavigation.default,
|
|
57
58
|
BottomNavigationAction: () => import_BottomNavigationAction.default,
|
|
58
|
-
Box: () =>
|
|
59
|
+
Box: () => Box5,
|
|
59
60
|
Breadcrumbs: () => import_Breadcrumbs.default,
|
|
60
61
|
Button: () => Button,
|
|
61
62
|
ButtonBase: () => import_ButtonBase.default,
|
|
@@ -161,6 +162,7 @@ __export(src_exports, {
|
|
|
161
162
|
MultiSelect: () => MultiSelect,
|
|
162
163
|
NoSsr: () => import_NoSsr.default,
|
|
163
164
|
OutlinedInput: () => import_OutlinedInput.default,
|
|
165
|
+
Page: () => Page,
|
|
164
166
|
Pagination: () => import_Pagination.default,
|
|
165
167
|
PaginationItem: () => import_PaginationItem.default,
|
|
166
168
|
Paper: () => Paper,
|
|
@@ -275,7 +277,7 @@ __export(src_exports, {
|
|
|
275
277
|
useAxisTooltip: () => import_ChartsTooltip4.useAxisTooltip,
|
|
276
278
|
useChartColors: () => useChartColors,
|
|
277
279
|
useChartId: () => import_hooks2.useChartId,
|
|
278
|
-
useColorScheme: () =>
|
|
280
|
+
useColorScheme: () => import_styles12.useColorScheme,
|
|
279
281
|
useDrawingArea: () => import_hooks.useDrawingArea,
|
|
280
282
|
useFormControl: () => import_material6.useFormControl,
|
|
281
283
|
useGaugeState: () => import_Gauge4.useGaugeState,
|
|
@@ -2358,8 +2360,11 @@ function buildComponents(tokens2) {
|
|
|
2358
2360
|
}
|
|
2359
2361
|
},
|
|
2360
2362
|
staticTooltipLabel: {
|
|
2363
|
+
// Match MuiTooltip: inverted face (charcoal in light, near-white in
|
|
2364
|
+
// dark) with on-solid fg that inverts WITH it. text.white is
|
|
2365
|
+
// mode-invariant and vanished on the dark-mode light face.
|
|
2361
2366
|
backgroundColor: bg4.primarySolid,
|
|
2362
|
-
color:
|
|
2367
|
+
color: buttonColors4.primary.fg,
|
|
2363
2368
|
fontSize: 12,
|
|
2364
2369
|
fontWeight: 600,
|
|
2365
2370
|
borderRadius: radius4.md,
|
|
@@ -4262,7 +4267,7 @@ function ForestProvider({
|
|
|
4262
4267
|
}
|
|
4263
4268
|
|
|
4264
4269
|
// src/index.ts
|
|
4265
|
-
var
|
|
4270
|
+
var import_styles12 = require("@mui/material/styles");
|
|
4266
4271
|
var import_material3 = require("@mui/material");
|
|
4267
4272
|
|
|
4268
4273
|
// src/components/Autocomplete/index.tsx
|
|
@@ -5332,9 +5337,215 @@ function SidebarItem({
|
|
|
5332
5337
|
] });
|
|
5333
5338
|
}
|
|
5334
5339
|
|
|
5335
|
-
// src/components/
|
|
5340
|
+
// src/components/AppShell/index.tsx
|
|
5341
|
+
var import_react5 = require("react");
|
|
5336
5342
|
var import_Box2 = __toESM(require("@mui/material/Box"));
|
|
5337
|
-
var
|
|
5343
|
+
var import_Drawer3 = __toESM(require("@mui/material/Drawer"));
|
|
5344
|
+
var import_List2 = __toESM(require("@mui/material/List"));
|
|
5345
|
+
var import_useMediaQuery = __toESM(require("@mui/material/useMediaQuery"));
|
|
5346
|
+
var import_styles4 = require("@mui/material/styles");
|
|
5347
|
+
var import_MenuOutlined = __toESM(require("@mui/icons-material/MenuOutlined"));
|
|
5348
|
+
var import_DarkModeOutlined = __toESM(require("@mui/icons-material/DarkModeOutlined"));
|
|
5349
|
+
var import_LightModeOutlined = __toESM(require("@mui/icons-material/LightModeOutlined"));
|
|
5350
|
+
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
5351
|
+
function ColorModeToggle() {
|
|
5352
|
+
const { mode, systemMode, setMode } = (0, import_styles4.useColorScheme)();
|
|
5353
|
+
const resolved = mode === "system" ? systemMode : mode;
|
|
5354
|
+
const isDark = resolved === "dark";
|
|
5355
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Tooltip, { title: isDark ? "Switch to light mode" : "Switch to dark mode", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5356
|
+
IconButton2,
|
|
5357
|
+
{
|
|
5358
|
+
size: "small",
|
|
5359
|
+
color: "inherit",
|
|
5360
|
+
"aria-label": "Toggle color mode",
|
|
5361
|
+
onClick: () => setMode(isDark ? "light" : "dark"),
|
|
5362
|
+
children: isDark ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_LightModeOutlined.default, { fontSize: "small" }) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_DarkModeOutlined.default, { fontSize: "small" })
|
|
5363
|
+
}
|
|
5364
|
+
) });
|
|
5365
|
+
}
|
|
5366
|
+
function ShellBrand({
|
|
5367
|
+
product,
|
|
5368
|
+
logoVariant
|
|
5369
|
+
}) {
|
|
5370
|
+
const { mode, systemMode } = (0, import_styles4.useColorScheme)();
|
|
5371
|
+
const dark = (mode === "system" ? systemMode : mode) === "dark";
|
|
5372
|
+
if (logoVariant === "full") {
|
|
5373
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Logo, { product, variant: "logo", color: dark ? "negative" : "positive" });
|
|
5374
|
+
}
|
|
5375
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Logo, { product, variant: "logomark", color: dark ? "negative" : "default" });
|
|
5376
|
+
}
|
|
5377
|
+
function AppShell({
|
|
5378
|
+
navItems,
|
|
5379
|
+
nav,
|
|
5380
|
+
product = "studio",
|
|
5381
|
+
logoVariant = "logomark",
|
|
5382
|
+
brand,
|
|
5383
|
+
search,
|
|
5384
|
+
actions,
|
|
5385
|
+
sidebarBehavior = "permanent",
|
|
5386
|
+
defaultSidebarOpen = true,
|
|
5387
|
+
children
|
|
5388
|
+
}) {
|
|
5389
|
+
const theme = (0, import_styles4.useTheme)();
|
|
5390
|
+
const isMobile = (0, import_useMediaQuery.default)(theme.breakpoints.down("sm"));
|
|
5391
|
+
const [sidebarOpen, setSidebarOpen] = (0, import_react5.useState)(defaultSidebarOpen);
|
|
5392
|
+
const [mobileOpen, setMobileOpen] = (0, import_react5.useState)(false);
|
|
5393
|
+
const navContent = nav != null ? nav : navItems && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_List2.default, { children: navItems.map(({ label, icon, active, endAdornment, ...link }) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5394
|
+
SidebarItem,
|
|
5395
|
+
{
|
|
5396
|
+
icon,
|
|
5397
|
+
label,
|
|
5398
|
+
selected: active,
|
|
5399
|
+
endAdornment,
|
|
5400
|
+
...link
|
|
5401
|
+
},
|
|
5402
|
+
label
|
|
5403
|
+
)) });
|
|
5404
|
+
const brandEl = brand != null ? brand : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(ShellBrand, { product, logoVariant });
|
|
5405
|
+
const wrapLogomark = !brand && logoVariant === "logomark" && !isMobile;
|
|
5406
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_Box2.default, { sx: { display: "flex", flexDirection: "column", height: "100vh" }, children: [
|
|
5407
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5408
|
+
import_AppBar.default,
|
|
5409
|
+
{
|
|
5410
|
+
position: "sticky",
|
|
5411
|
+
elevation: 0,
|
|
5412
|
+
sx: { zIndex: theme.zIndex.drawer + 1 },
|
|
5413
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_Toolbar.default, { variant: "dense", sx: { px: { xs: "16px", sm: "16px" } }, children: [
|
|
5414
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_Box2.default, { sx: { flex: 1, display: "flex", alignItems: "center", justifyContent: "flex-start", gap: 1 }, children: [
|
|
5415
|
+
isMobile && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5416
|
+
IconButton2,
|
|
5417
|
+
{
|
|
5418
|
+
size: "small",
|
|
5419
|
+
color: "inherit",
|
|
5420
|
+
"aria-label": "Open navigation",
|
|
5421
|
+
onClick: () => setMobileOpen(true),
|
|
5422
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_MenuOutlined.default, { fontSize: "small" })
|
|
5423
|
+
}
|
|
5424
|
+
),
|
|
5425
|
+
wrapLogomark ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_Box2.default, { sx: { width: 48, ml: "-16px", display: "flex", justifyContent: "center" }, children: brandEl }) : brandEl
|
|
5426
|
+
] }),
|
|
5427
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_Box2.default, { sx: { flex: 1, display: "flex", justifyContent: "center" }, children: search === true ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Search, { size: "small", placeholder: "Search\u2026", sx: { width: "100%", maxWidth: 480 } }) : search || null }),
|
|
5428
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_Box2.default, { sx: { flex: 1, display: "flex", alignItems: "center", justifyContent: "flex-end", gap: 1 }, children: [
|
|
5429
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(ColorModeToggle, {}),
|
|
5430
|
+
actions
|
|
5431
|
+
] })
|
|
5432
|
+
] })
|
|
5433
|
+
}
|
|
5434
|
+
),
|
|
5435
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_Box2.default, { sx: { display: "flex", flexGrow: 1, overflow: "hidden" }, children: [
|
|
5436
|
+
!isMobile && navContent && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5437
|
+
SidebarNav,
|
|
5438
|
+
{
|
|
5439
|
+
open: sidebarOpen,
|
|
5440
|
+
onOpenChange: setSidebarOpen,
|
|
5441
|
+
behavior: sidebarBehavior,
|
|
5442
|
+
sx: {
|
|
5443
|
+
height: "100%",
|
|
5444
|
+
"& .MuiDrawer-paper": { position: "relative", height: "100%" }
|
|
5445
|
+
},
|
|
5446
|
+
children: navContent
|
|
5447
|
+
}
|
|
5448
|
+
),
|
|
5449
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_Box2.default, { component: "main", sx: { flexGrow: 1, overflow: "auto" }, children })
|
|
5450
|
+
] }),
|
|
5451
|
+
isMobile && navContent && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
5452
|
+
import_Drawer3.default,
|
|
5453
|
+
{
|
|
5454
|
+
open: mobileOpen,
|
|
5455
|
+
onClose: () => setMobileOpen(false),
|
|
5456
|
+
onClick: () => setMobileOpen(false),
|
|
5457
|
+
sx: { "& .MuiDrawer-paper": { width: 240 } },
|
|
5458
|
+
children: navContent
|
|
5459
|
+
}
|
|
5460
|
+
)
|
|
5461
|
+
] });
|
|
5462
|
+
}
|
|
5463
|
+
|
|
5464
|
+
// src/components/Page/index.tsx
|
|
5465
|
+
var import_Box3 = __toESM(require("@mui/material/Box"));
|
|
5466
|
+
var import_Breadcrumbs2 = __toESM(require("@mui/material/Breadcrumbs"));
|
|
5467
|
+
var import_Link2 = __toESM(require("@mui/material/Link"));
|
|
5468
|
+
var import_Typography2 = __toESM(require("@mui/material/Typography"));
|
|
5469
|
+
var import_jsx_runtime21 = (
|
|
5470
|
+
// Current page: plain text, not a link.
|
|
5471
|
+
require("react/jsx-runtime")
|
|
5472
|
+
);
|
|
5473
|
+
function Page({
|
|
5474
|
+
title,
|
|
5475
|
+
breadcrumbs,
|
|
5476
|
+
actions,
|
|
5477
|
+
disableGutters = false,
|
|
5478
|
+
maxWidth,
|
|
5479
|
+
sx,
|
|
5480
|
+
children
|
|
5481
|
+
}) {
|
|
5482
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
5483
|
+
import_Box3.default,
|
|
5484
|
+
{
|
|
5485
|
+
component: "section",
|
|
5486
|
+
sx: [
|
|
5487
|
+
{
|
|
5488
|
+
display: "flex",
|
|
5489
|
+
flexDirection: "column",
|
|
5490
|
+
minHeight: "100%",
|
|
5491
|
+
backgroundColor: "background.paper",
|
|
5492
|
+
...disableGutters ? {} : { p: 3 }
|
|
5493
|
+
},
|
|
5494
|
+
...Array.isArray(sx) ? sx : [sx]
|
|
5495
|
+
],
|
|
5496
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
5497
|
+
import_Box3.default,
|
|
5498
|
+
{
|
|
5499
|
+
sx: {
|
|
5500
|
+
display: "flex",
|
|
5501
|
+
flexDirection: "column",
|
|
5502
|
+
flexGrow: 1,
|
|
5503
|
+
width: "100%",
|
|
5504
|
+
...maxWidth ? { maxWidth, mx: "auto" } : {}
|
|
5505
|
+
},
|
|
5506
|
+
children: [
|
|
5507
|
+
breadcrumbs && breadcrumbs.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_Breadcrumbs2.default, { "aria-label": "breadcrumb", sx: { mb: 1 }, children: breadcrumbs.map(
|
|
5508
|
+
(crumb, i) => i === breadcrumbs.length - 1 ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_Typography2.default, { variant: "body2", color: "text.primary", children: crumb.label }, crumb.label) : /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
5509
|
+
import_Link2.default,
|
|
5510
|
+
{
|
|
5511
|
+
variant: "body2",
|
|
5512
|
+
underline: "hover",
|
|
5513
|
+
color: "text.secondary",
|
|
5514
|
+
...crumb.component ? { component: crumb.component } : {},
|
|
5515
|
+
...crumb.href ? { href: crumb.href } : {},
|
|
5516
|
+
...crumb.onClick ? { onClick: crumb.onClick } : {},
|
|
5517
|
+
children: crumb.label
|
|
5518
|
+
},
|
|
5519
|
+
crumb.label
|
|
5520
|
+
)
|
|
5521
|
+
) }),
|
|
5522
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
5523
|
+
import_Box3.default,
|
|
5524
|
+
{
|
|
5525
|
+
sx: {
|
|
5526
|
+
display: "flex",
|
|
5527
|
+
alignItems: "center",
|
|
5528
|
+
justifyContent: "space-between",
|
|
5529
|
+
gap: 2,
|
|
5530
|
+
mb: 3
|
|
5531
|
+
},
|
|
5532
|
+
children: [
|
|
5533
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_Typography2.default, { variant: "h5", children: title }),
|
|
5534
|
+
actions && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_Box3.default, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: actions })
|
|
5535
|
+
]
|
|
5536
|
+
}
|
|
5537
|
+
),
|
|
5538
|
+
children
|
|
5539
|
+
]
|
|
5540
|
+
}
|
|
5541
|
+
)
|
|
5542
|
+
}
|
|
5543
|
+
);
|
|
5544
|
+
}
|
|
5545
|
+
|
|
5546
|
+
// src/components/Box/index.tsx
|
|
5547
|
+
var import_Box4 = __toESM(require("@mui/material/Box"));
|
|
5548
|
+
var Box5 = import_Box4.default;
|
|
5338
5549
|
|
|
5339
5550
|
// src/components/Stack/index.tsx
|
|
5340
5551
|
var import_Stack = __toESM(require("@mui/material/Stack"));
|
|
@@ -5393,12 +5604,12 @@ var import_TextareaAutosize = __toESM(require("@mui/material/TextareaAutosize"))
|
|
|
5393
5604
|
|
|
5394
5605
|
// src/components/Charts/LineChart.tsx
|
|
5395
5606
|
var import_LineChart = require("@mui/x-charts/LineChart");
|
|
5396
|
-
var
|
|
5607
|
+
var import_styles7 = require("@mui/material/styles");
|
|
5397
5608
|
|
|
5398
5609
|
// src/components/Charts/useChartColors.ts
|
|
5399
|
-
var
|
|
5610
|
+
var import_styles5 = require("@mui/material/styles");
|
|
5400
5611
|
function useChartColors(count) {
|
|
5401
|
-
const theme = (0,
|
|
5612
|
+
const theme = (0, import_styles5.useTheme)();
|
|
5402
5613
|
const chart = theme.palette.chart;
|
|
5403
5614
|
const colors2 = chart.series.map((s) => s.fg);
|
|
5404
5615
|
return colors2.slice(0, Math.min(count, colors2.length));
|
|
@@ -5406,8 +5617,8 @@ function useChartColors(count) {
|
|
|
5406
5617
|
|
|
5407
5618
|
// src/components/Charts/CustomTooltip.tsx
|
|
5408
5619
|
var import_material2 = require("@mui/material");
|
|
5409
|
-
var
|
|
5410
|
-
var
|
|
5620
|
+
var import_styles6 = require("@mui/material/styles");
|
|
5621
|
+
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
5411
5622
|
function formatDate(date) {
|
|
5412
5623
|
if (!date) return "";
|
|
5413
5624
|
const d = new Date(date);
|
|
@@ -5428,11 +5639,11 @@ function renderValue(val) {
|
|
|
5428
5639
|
}
|
|
5429
5640
|
function CustomTooltip(props) {
|
|
5430
5641
|
const { series, axisValue, dataIndex } = props;
|
|
5431
|
-
const theme = (0,
|
|
5642
|
+
const theme = (0, import_styles6.useTheme)();
|
|
5432
5643
|
if (dataIndex == null) {
|
|
5433
5644
|
return null;
|
|
5434
5645
|
}
|
|
5435
|
-
return /* @__PURE__ */ (0,
|
|
5646
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
|
|
5436
5647
|
import_material2.Box,
|
|
5437
5648
|
{
|
|
5438
5649
|
sx: {
|
|
@@ -5448,7 +5659,7 @@ function CustomTooltip(props) {
|
|
|
5448
5659
|
border: `1px solid ${theme.palette.divider}`
|
|
5449
5660
|
},
|
|
5450
5661
|
children: [
|
|
5451
|
-
/* @__PURE__ */ (0,
|
|
5662
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
5452
5663
|
import_material2.Typography,
|
|
5453
5664
|
{
|
|
5454
5665
|
variant: "body2",
|
|
@@ -5465,8 +5676,8 @@ function CustomTooltip(props) {
|
|
|
5465
5676
|
const color = typeof s.getColor === "function" ? s.getColor(dataIndex) : s.color;
|
|
5466
5677
|
const value = s.data ? s.data[dataIndex] : null;
|
|
5467
5678
|
if (value == null) return null;
|
|
5468
|
-
return /* @__PURE__ */ (0,
|
|
5469
|
-
/* @__PURE__ */ (0,
|
|
5679
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_material2.Box, { sx: { display: "flex", flexDirection: "column", gap: "6px" }, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(import_material2.Box, { sx: { display: "flex", alignItems: "center", gap: "8px" }, children: [
|
|
5680
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
5470
5681
|
import_material2.Box,
|
|
5471
5682
|
{
|
|
5472
5683
|
sx: {
|
|
@@ -5478,7 +5689,7 @@ function CustomTooltip(props) {
|
|
|
5478
5689
|
}
|
|
5479
5690
|
}
|
|
5480
5691
|
),
|
|
5481
|
-
/* @__PURE__ */ (0,
|
|
5692
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
|
|
5482
5693
|
import_material2.Typography,
|
|
5483
5694
|
{
|
|
5484
5695
|
variant: "body2",
|
|
@@ -5489,7 +5700,7 @@ function CustomTooltip(props) {
|
|
|
5489
5700
|
gap: "6px"
|
|
5490
5701
|
},
|
|
5491
5702
|
children: [
|
|
5492
|
-
/* @__PURE__ */ (0,
|
|
5703
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
5493
5704
|
import_material2.Box,
|
|
5494
5705
|
{
|
|
5495
5706
|
component: "span",
|
|
@@ -5517,10 +5728,10 @@ function CustomTooltip(props) {
|
|
|
5517
5728
|
}
|
|
5518
5729
|
|
|
5519
5730
|
// src/components/Charts/LineChart.tsx
|
|
5520
|
-
var
|
|
5731
|
+
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
5521
5732
|
function LineChart({ series, colors: colors2, ...props }) {
|
|
5522
5733
|
var _a, _b;
|
|
5523
|
-
const theme = (0,
|
|
5734
|
+
const theme = (0, import_styles7.useTheme)();
|
|
5524
5735
|
const chart = theme.palette.chart;
|
|
5525
5736
|
const seriesColors = useChartColors((_a = series == null ? void 0 : series.length) != null ? _a : 0);
|
|
5526
5737
|
const modifiedSeries = series == null ? void 0 : series.map((s) => {
|
|
@@ -5531,7 +5742,7 @@ function LineChart({ series, colors: colors2, ...props }) {
|
|
|
5531
5742
|
highlightScope: (_b2 = s.highlightScope) != null ? _b2 : { highlighted: "item", faded: "global" }
|
|
5532
5743
|
};
|
|
5533
5744
|
});
|
|
5534
|
-
return /* @__PURE__ */ (0,
|
|
5745
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
5535
5746
|
import_LineChart.LineChart,
|
|
5536
5747
|
{
|
|
5537
5748
|
series: modifiedSeries != null ? modifiedSeries : [],
|
|
@@ -5602,11 +5813,11 @@ function LineChart({ series, colors: colors2, ...props }) {
|
|
|
5602
5813
|
|
|
5603
5814
|
// src/components/Charts/BarChart.tsx
|
|
5604
5815
|
var import_BarChart = require("@mui/x-charts/BarChart");
|
|
5605
|
-
var
|
|
5606
|
-
var
|
|
5816
|
+
var import_styles8 = require("@mui/material/styles");
|
|
5817
|
+
var import_jsx_runtime24 = require("react/jsx-runtime");
|
|
5607
5818
|
function BarChart({ series, colors: colors2, ...props }) {
|
|
5608
5819
|
var _a, _b;
|
|
5609
|
-
const theme = (0,
|
|
5820
|
+
const theme = (0, import_styles8.useTheme)();
|
|
5610
5821
|
const chart = theme.palette.chart;
|
|
5611
5822
|
const seriesColors = useChartColors((_a = series == null ? void 0 : series.length) != null ? _a : 0);
|
|
5612
5823
|
const resolvedColors = colors2 != null ? colors2 : seriesColors;
|
|
@@ -5621,7 +5832,7 @@ function BarChart({ series, colors: colors2, ...props }) {
|
|
|
5621
5832
|
highlightScope: (_a2 = s.highlightScope) != null ? _a2 : { highlighted: "item", faded: "global" }
|
|
5622
5833
|
};
|
|
5623
5834
|
});
|
|
5624
|
-
return /* @__PURE__ */ (0,
|
|
5835
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
5625
5836
|
import_BarChart.BarChart,
|
|
5626
5837
|
{
|
|
5627
5838
|
series: modifiedSeries != null ? modifiedSeries : [],
|
|
@@ -5681,10 +5892,10 @@ function BarChart({ series, colors: colors2, ...props }) {
|
|
|
5681
5892
|
...(_b = props.sx) != null ? _b : {}
|
|
5682
5893
|
},
|
|
5683
5894
|
...props,
|
|
5684
|
-
children: /* @__PURE__ */ (0,
|
|
5895
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("defs", { children: series == null ? void 0 : series.map((s, idx) => {
|
|
5685
5896
|
if (s.variant !== "striped") return null;
|
|
5686
5897
|
const baseColor = s.color || resolvedColors[idx % resolvedColors.length];
|
|
5687
|
-
return /* @__PURE__ */ (0,
|
|
5898
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
|
|
5688
5899
|
"pattern",
|
|
5689
5900
|
{
|
|
5690
5901
|
id: `striped-pattern-${idx}`,
|
|
@@ -5693,8 +5904,8 @@ function BarChart({ series, colors: colors2, ...props }) {
|
|
|
5693
5904
|
height: "8",
|
|
5694
5905
|
patternTransform: "rotate(45)",
|
|
5695
5906
|
children: [
|
|
5696
|
-
/* @__PURE__ */ (0,
|
|
5697
|
-
/* @__PURE__ */ (0,
|
|
5907
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("rect", { width: "8", height: "8", fill: theme.palette.background.paper }),
|
|
5908
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("line", { x1: "0", y: "0", x2: "0", y2: "8", stroke: baseColor, strokeWidth: "4" })
|
|
5698
5909
|
]
|
|
5699
5910
|
},
|
|
5700
5911
|
`striped-${idx}`
|
|
@@ -5706,11 +5917,11 @@ function BarChart({ series, colors: colors2, ...props }) {
|
|
|
5706
5917
|
|
|
5707
5918
|
// src/components/Charts/PieChart.tsx
|
|
5708
5919
|
var import_PieChart = require("@mui/x-charts/PieChart");
|
|
5709
|
-
var
|
|
5710
|
-
var
|
|
5920
|
+
var import_styles9 = require("@mui/material/styles");
|
|
5921
|
+
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
5711
5922
|
function PieChart({ series, colors: colors2, ...props }) {
|
|
5712
5923
|
var _a, _b, _c, _d;
|
|
5713
|
-
const theme = (0,
|
|
5924
|
+
const theme = (0, import_styles9.useTheme)();
|
|
5714
5925
|
const chart = theme.palette.chart;
|
|
5715
5926
|
const sliceCount = (_c = (_b = (_a = series == null ? void 0 : series[0]) == null ? void 0 : _a.data) == null ? void 0 : _b.length) != null ? _c : 0;
|
|
5716
5927
|
const seriesColors = useChartColors(sliceCount);
|
|
@@ -5721,7 +5932,7 @@ function PieChart({ series, colors: colors2, ...props }) {
|
|
|
5721
5932
|
highlightScope: (_a2 = s.highlightScope) != null ? _a2 : { highlighted: "item", faded: "global" }
|
|
5722
5933
|
};
|
|
5723
5934
|
});
|
|
5724
|
-
return /* @__PURE__ */ (0,
|
|
5935
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
5725
5936
|
import_PieChart.PieChart,
|
|
5726
5937
|
{
|
|
5727
5938
|
series: modifiedSeries != null ? modifiedSeries : [],
|
|
@@ -5764,7 +5975,7 @@ function PieChart({ series, colors: colors2, ...props }) {
|
|
|
5764
5975
|
|
|
5765
5976
|
// src/components/Charts/ScatterChart.tsx
|
|
5766
5977
|
var import_ScatterChart = require("@mui/x-charts/ScatterChart");
|
|
5767
|
-
var
|
|
5978
|
+
var import_styles10 = require("@mui/material/styles");
|
|
5768
5979
|
|
|
5769
5980
|
// src/components/Charts/chartSx.ts
|
|
5770
5981
|
function getForestChartSx(theme) {
|
|
@@ -5820,10 +6031,10 @@ var forestLegendSlotProps = {
|
|
|
5820
6031
|
};
|
|
5821
6032
|
|
|
5822
6033
|
// src/components/Charts/ScatterChart.tsx
|
|
5823
|
-
var
|
|
6034
|
+
var import_jsx_runtime26 = require("react/jsx-runtime");
|
|
5824
6035
|
function ScatterChart({ series, colors: colors2, ...props }) {
|
|
5825
6036
|
var _a, _b;
|
|
5826
|
-
const theme = (0,
|
|
6037
|
+
const theme = (0, import_styles10.useTheme)();
|
|
5827
6038
|
const seriesColors = useChartColors((_a = series == null ? void 0 : series.length) != null ? _a : 0);
|
|
5828
6039
|
const modifiedSeries = series == null ? void 0 : series.map((s) => {
|
|
5829
6040
|
var _a2;
|
|
@@ -5832,7 +6043,7 @@ function ScatterChart({ series, colors: colors2, ...props }) {
|
|
|
5832
6043
|
highlightScope: (_a2 = s.highlightScope) != null ? _a2 : { highlighted: "item", faded: "global" }
|
|
5833
6044
|
};
|
|
5834
6045
|
});
|
|
5835
|
-
return /* @__PURE__ */ (0,
|
|
6046
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
5836
6047
|
import_ScatterChart.ScatterChart,
|
|
5837
6048
|
{
|
|
5838
6049
|
series: modifiedSeries != null ? modifiedSeries : [],
|
|
@@ -5850,12 +6061,12 @@ function ScatterChart({ series, colors: colors2, ...props }) {
|
|
|
5850
6061
|
|
|
5851
6062
|
// src/components/Charts/Gauge.tsx
|
|
5852
6063
|
var import_Gauge = require("@mui/x-charts/Gauge");
|
|
5853
|
-
var
|
|
5854
|
-
var
|
|
6064
|
+
var import_styles11 = require("@mui/material/styles");
|
|
6065
|
+
var import_jsx_runtime27 = require("react/jsx-runtime");
|
|
5855
6066
|
function Gauge(props) {
|
|
5856
6067
|
var _a;
|
|
5857
|
-
const theme = (0,
|
|
5858
|
-
return /* @__PURE__ */ (0,
|
|
6068
|
+
const theme = (0, import_styles11.useTheme)();
|
|
6069
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
5859
6070
|
import_Gauge.Gauge,
|
|
5860
6071
|
{
|
|
5861
6072
|
...props,
|
|
@@ -5945,6 +6156,7 @@ var import_material7 = require("@mui/material");
|
|
|
5945
6156
|
AnimatedLine,
|
|
5946
6157
|
AppBar,
|
|
5947
6158
|
AppBarNavItem,
|
|
6159
|
+
AppShell,
|
|
5948
6160
|
AreaElement,
|
|
5949
6161
|
AreaElementPath,
|
|
5950
6162
|
AreaPlot,
|
|
@@ -6066,6 +6278,7 @@ var import_material7 = require("@mui/material");
|
|
|
6066
6278
|
MultiSelect,
|
|
6067
6279
|
NoSsr,
|
|
6068
6280
|
OutlinedInput,
|
|
6281
|
+
Page,
|
|
6069
6282
|
Pagination,
|
|
6070
6283
|
PaginationItem,
|
|
6071
6284
|
Paper,
|