@omnitron-dev/prism 0.3.0 → 0.3.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/README.md +148 -0
- package/dist/blocks/index.js +3 -1
- package/dist/blocks/index.js.map +1 -1
- package/dist/{chunk-S6SEGBX6.js → chunk-472SOF76.js} +4 -4
- package/dist/{chunk-S6SEGBX6.js.map → chunk-472SOF76.js.map} +1 -1
- package/dist/{chunk-Z5OSPAOC.js → chunk-4Z5DE5GK.js} +78 -75
- package/dist/chunk-4Z5DE5GK.js.map +1 -0
- package/dist/chunk-52PQL67Q.js +559 -0
- package/dist/chunk-52PQL67Q.js.map +1 -0
- package/dist/chunk-75FQ5IW3.js +590 -0
- package/dist/chunk-75FQ5IW3.js.map +1 -0
- package/dist/{chunk-6AHI4GSV.js → chunk-7G5D5PTC.js} +4 -3
- package/dist/chunk-7G5D5PTC.js.map +1 -0
- package/dist/chunk-BJE2AKD4.js +105 -0
- package/dist/chunk-BJE2AKD4.js.map +1 -0
- package/dist/chunk-FF5RF32O.js +248 -0
- package/dist/chunk-FF5RF32O.js.map +1 -0
- package/dist/{chunk-OBJ244BO.js → chunk-GMIE6III.js} +9 -42
- package/dist/chunk-GMIE6III.js.map +1 -0
- package/dist/chunk-GUGTDURV.js +826 -0
- package/dist/chunk-GUGTDURV.js.map +1 -0
- package/dist/chunk-HOXFSQUV.js +573 -0
- package/dist/chunk-HOXFSQUV.js.map +1 -0
- package/dist/chunk-JSQTYDPG.js +3 -0
- package/dist/chunk-JSQTYDPG.js.map +1 -0
- package/dist/{chunk-ZTATTUH7.js → chunk-KQ67XB6T.js} +213 -651
- package/dist/chunk-KQ67XB6T.js.map +1 -0
- package/dist/{chunk-WFD54GQQ.js → chunk-LOY2NPCO.js} +14 -573
- package/dist/chunk-LOY2NPCO.js.map +1 -0
- package/dist/{chunk-YQW43BDH.js → chunk-LSPFFEJT.js} +240 -1824
- package/dist/chunk-LSPFFEJT.js.map +1 -0
- package/dist/{chunk-BZOL7GMU.js → chunk-OKTLA23Q.js} +4 -4
- package/dist/chunk-OKTLA23Q.js.map +1 -0
- package/dist/chunk-PFT2BNYO.js +191 -0
- package/dist/chunk-PFT2BNYO.js.map +1 -0
- package/dist/chunk-PGHEP4JD.js +106 -0
- package/dist/chunk-PGHEP4JD.js.map +1 -0
- package/dist/chunk-PXXPLHIY.js +74 -0
- package/dist/chunk-PXXPLHIY.js.map +1 -0
- package/dist/chunk-SU3LVQ7N.js +518 -0
- package/dist/chunk-SU3LVQ7N.js.map +1 -0
- package/dist/chunk-YHE7HXSG.js +206 -0
- package/dist/chunk-YHE7HXSG.js.map +1 -0
- package/dist/cli/index.js +7 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/components/accordion/accordion.d.ts.map +1 -1
- package/dist/components/admin-filters/admin-data-table.d.ts.map +1 -1
- package/dist/components/admin-filters/filter-toolbar.d.ts.map +1 -1
- package/dist/components/date-input/date-input.d.ts +27 -0
- package/dist/components/date-input/date-input.d.ts.map +1 -0
- package/dist/components/date-input/index.d.ts +4 -0
- package/dist/components/date-input/index.d.ts.map +1 -0
- package/dist/components/date-input/value.d.ts +9 -0
- package/dist/components/date-input/value.d.ts.map +1 -0
- package/dist/components/doc-layout/doc-sidebar.d.ts +4 -1
- package/dist/components/doc-layout/doc-sidebar.d.ts.map +1 -1
- package/dist/components/doc-layout/index.js +6 -0
- package/dist/components/doc-layout/index.js.map +1 -0
- package/dist/components/editor/editor.d.ts.map +1 -1
- package/dist/components/editor/icons/index.d.ts +32 -40
- package/dist/components/editor/icons/index.d.ts.map +1 -1
- package/dist/components/editor/index.js +3 -1
- package/dist/components/error-boundary/error-boundary.d.ts.map +1 -1
- package/dist/components/index.css +4 -0
- package/dist/components/index.css.map +1 -1
- package/dist/components/index.d.ts +4 -4
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +18 -8
- package/dist/components/knowledge-graph/edge-labels.d.ts +14 -0
- package/dist/components/knowledge-graph/edge-labels.d.ts.map +1 -0
- package/dist/components/knowledge-graph/graph.d.ts +56 -0
- package/dist/components/knowledge-graph/graph.d.ts.map +1 -0
- package/dist/components/knowledge-graph/index.css +176 -0
- package/dist/components/knowledge-graph/index.css.map +1 -0
- package/dist/components/knowledge-graph/index.d.ts +3 -0
- package/dist/components/knowledge-graph/index.d.ts.map +1 -0
- package/dist/components/knowledge-graph/index.js +795 -0
- package/dist/components/knowledge-graph/index.js.map +1 -0
- package/dist/components/knowledge-graph/label-layout.d.ts +28 -0
- package/dist/components/knowledge-graph/label-layout.d.ts.map +1 -0
- package/dist/components/knowledge-graph/label-store.d.ts +15 -0
- package/dist/components/knowledge-graph/label-store.d.ts.map +1 -0
- package/dist/components/knowledge-graph/model.d.ts +92 -0
- package/dist/components/knowledge-graph/model.d.ts.map +1 -0
- package/dist/components/lightbox/lightbox.d.ts.map +1 -1
- package/dist/components/map/Map.d.ts +19 -43
- package/dist/components/map/Map.d.ts.map +1 -1
- package/dist/components/map/MapCoverageLayer.d.ts +1 -1
- package/dist/components/map/MapCoverageLayer.d.ts.map +1 -1
- package/dist/components/map/MapMarker.d.ts +1 -1
- package/dist/components/map/MapMarker.d.ts.map +1 -1
- package/dist/components/map/MapPlaceSearch.d.ts +33 -0
- package/dist/components/map/MapPlaceSearch.d.ts.map +1 -0
- package/dist/components/map/MapPointPicker.d.ts +21 -12
- package/dist/components/map/MapPointPicker.d.ts.map +1 -1
- package/dist/components/map/coordinates.d.ts +10 -0
- package/dist/components/map/coordinates.d.ts.map +1 -0
- package/dist/components/map/index.css +4 -0
- package/dist/components/map/index.css.map +1 -0
- package/dist/components/map/index.d.ts +7 -2
- package/dist/components/map/index.d.ts.map +1 -1
- package/dist/components/map/index.js +3 -0
- package/dist/components/map/index.js.map +1 -0
- package/dist/components/nav-card/nav-card.d.ts.map +1 -1
- package/dist/components/rail/rail.d.ts.map +1 -1
- package/dist/components/research/diagram-image.d.ts +11 -0
- package/dist/components/research/diagram-image.d.ts.map +1 -0
- package/dist/components/research/diagram.d.ts +8 -0
- package/dist/components/research/diagram.d.ts.map +1 -0
- package/dist/components/research/document.d.ts +33 -0
- package/dist/components/research/document.d.ts.map +1 -0
- package/dist/components/research/frontmatter.d.ts +15 -0
- package/dist/components/research/frontmatter.d.ts.map +1 -0
- package/dist/components/research/index.css +51 -0
- package/dist/components/research/index.css.map +1 -0
- package/dist/components/research/index.d.ts +3 -0
- package/dist/components/research/index.d.ts.map +1 -0
- package/dist/components/research/index.js +6 -0
- package/dist/components/research/index.js.map +1 -0
- package/dist/components/research/parse.d.ts +29 -0
- package/dist/components/research/parse.d.ts.map +1 -0
- package/dist/components/research-editor/block-commands.d.ts +20 -0
- package/dist/components/research-editor/block-commands.d.ts.map +1 -0
- package/dist/components/research-editor/block-controls.d.ts +13 -0
- package/dist/components/research-editor/block-controls.d.ts.map +1 -0
- package/dist/components/research-editor/editor.d.ts +75 -0
- package/dist/components/research-editor/editor.d.ts.map +1 -0
- package/dist/components/research-editor/extensions.d.ts +14 -0
- package/dist/components/research-editor/extensions.d.ts.map +1 -0
- package/dist/components/research-editor/index.css +332 -0
- package/dist/components/research-editor/index.css.map +1 -0
- package/dist/components/research-editor/index.d.ts +5 -0
- package/dist/components/research-editor/index.d.ts.map +1 -0
- package/dist/components/research-editor/index.js +1592 -0
- package/dist/components/research-editor/index.js.map +1 -0
- package/dist/components/research-editor/math-input.d.ts +32 -0
- package/dist/components/research-editor/math-input.d.ts.map +1 -0
- package/dist/components/research-editor/math-markup.d.ts +4 -0
- package/dist/components/research-editor/math-markup.d.ts.map +1 -0
- package/dist/components/research-editor/math-navigation.d.ts +6 -0
- package/dist/components/research-editor/math-navigation.d.ts.map +1 -0
- package/dist/components/research-editor/math-node.d.ts +11 -0
- package/dist/components/research-editor/math-node.d.ts.map +1 -0
- package/dist/components/research-editor/source.d.ts +19 -0
- package/dist/components/research-editor/source.d.ts.map +1 -0
- package/dist/components/scrollbar/scrollbar.d.ts +4 -2
- package/dist/components/scrollbar/scrollbar.d.ts.map +1 -1
- package/dist/components/search-input/search-input.d.ts +0 -10
- package/dist/components/search-input/search-input.d.ts.map +1 -1
- package/dist/components/tiptap-renderer/tiptap-renderer.d.ts +4 -3
- package/dist/components/tiptap-renderer/tiptap-renderer.d.ts.map +1 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +8 -4
- package/dist/core/provider.d.ts +7 -2
- package/dist/core/provider.d.ts.map +1 -1
- package/dist/forms/schema-provider.d.ts +3 -3
- package/dist/forms/schema-utils.d.ts +3 -3
- package/dist/hooks/index.js +9 -5
- package/dist/icons/context.d.ts +17 -0
- package/dist/icons/context.d.ts.map +1 -0
- package/dist/icons/controls.d.ts +51 -0
- package/dist/icons/controls.d.ts.map +1 -0
- package/dist/icons/index.d.ts +3 -0
- package/dist/icons/index.d.ts.map +1 -0
- package/dist/icons/index.js +4 -0
- package/dist/icons/index.js.map +1 -0
- package/dist/icons/theme.d.ts +4 -0
- package/dist/icons/theme.d.ts.map +1 -0
- package/dist/index.css +4 -0
- package/dist/index.css.map +1 -1
- package/dist/index.js +24 -13
- package/dist/index.js.map +1 -1
- package/dist/layouts/core/header-section.d.ts.map +1 -1
- package/dist/layouts/dashboard/labels.d.ts +12 -0
- package/dist/layouts/dashboard/labels.d.ts.map +1 -0
- package/dist/layouts/dashboard/layout.d.ts +7 -1
- package/dist/layouts/dashboard/layout.d.ts.map +1 -1
- package/dist/layouts/dashboard/sidenav.d.ts +7 -3
- package/dist/layouts/dashboard/sidenav.d.ts.map +1 -1
- package/dist/layouts/index.d.ts +5 -0
- package/dist/layouts/index.d.ts.map +1 -1
- package/dist/layouts/index.js +6 -1
- package/dist/layouts/panel-layout.d.ts +35 -0
- package/dist/layouts/panel-layout.d.ts.map +1 -0
- package/dist/layouts/sidebar-toggle.d.ts +11 -0
- package/dist/layouts/sidebar-toggle.d.ts.map +1 -0
- package/dist/state/stores/auth.d.ts +4 -16
- package/dist/state/stores/auth.d.ts.map +1 -1
- package/dist/state/stores/ui.d.ts +7 -105
- package/dist/state/stores/ui.d.ts.map +1 -1
- package/dist/theme/components/Button.d.ts.map +1 -1
- package/dist/theme/components/FormControls.d.ts +3 -12
- package/dist/theme/components/FormControls.d.ts.map +1 -1
- package/dist/theme/components/index.d.ts.map +1 -1
- package/dist/theme/create-theme.d.ts +5 -17
- package/dist/theme/create-theme.d.ts.map +1 -1
- package/dist/theme/index.js +6 -2
- package/dist/theme/mixins.d.ts +3 -1
- package/dist/theme/mixins.d.ts.map +1 -1
- package/dist/theme/palette/overrides.d.ts +23 -0
- package/dist/theme/palette/overrides.d.ts.map +1 -0
- package/dist/ui/index.d.ts +18 -0
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/ui/index.js +148 -0
- package/dist/ui/index.js.map +1 -0
- package/package.json +92 -45
- package/dist/chunk-6AHI4GSV.js.map +0 -1
- package/dist/chunk-BZOL7GMU.js.map +0 -1
- package/dist/chunk-OBJ244BO.js.map +0 -1
- package/dist/chunk-WFD54GQQ.js.map +0 -1
- package/dist/chunk-YQW43BDH.js.map +0 -1
- package/dist/chunk-Z5OSPAOC.js.map +0 -1
- package/dist/chunk-ZTATTUH7.js.map +0 -1
|
@@ -1,13 +1,15 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { useBoolean } from './chunk-BRDWQVRT.js';
|
|
1
|
+
import { contentClasses, ContentRoot, TipTapRenderer } from './chunk-GUGTDURV.js';
|
|
2
|
+
import { PRESET_NAMES, PRESET_DISPLAY_NAMES } from './chunk-KQ67XB6T.js';
|
|
4
3
|
import { useSettingsStore } from './chunk-XIXSSI3B.js';
|
|
5
|
-
import {
|
|
4
|
+
import { SearchInput } from './chunk-GMIE6III.js';
|
|
5
|
+
import { useBoolean } from './chunk-BRDWQVRT.js';
|
|
6
|
+
import { FilterIcon, EmptyIcon, CloseIcon, ChevronDownIcon, ChevronRightIcon, ZoomOutIcon, ZoomInIcon, FullscreenExitIcon, FullscreenIcon, DownloadIcon, ShareIcon, ChevronLeftIcon, PlayIcon, ChevronUpIcon } from './chunk-PGHEP4JD.js';
|
|
7
|
+
import { createContext, lazy, useCallback, useState, useMemo, useTransition, useRef, useEffect, Fragment as Fragment$1, useId, Children, useContext, isValidElement, Suspense } from 'react';
|
|
6
8
|
import Stack from '@mui/material/Stack';
|
|
7
9
|
import TextField2 from '@mui/material/TextField';
|
|
8
10
|
import Chip from '@mui/material/Chip';
|
|
9
11
|
import MenuItem from '@mui/material/MenuItem';
|
|
10
|
-
import
|
|
12
|
+
import Box19 from '@mui/material/Box';
|
|
11
13
|
import Button from '@mui/material/Button';
|
|
12
14
|
import Typography5 from '@mui/material/Typography';
|
|
13
15
|
import Badge from '@mui/material/Badge';
|
|
@@ -50,12 +52,11 @@ import Grid from '@mui/material/Grid';
|
|
|
50
52
|
import Portal from '@mui/material/Portal';
|
|
51
53
|
import MuiLinearProgress from '@mui/material/LinearProgress';
|
|
52
54
|
import CircularProgress from '@mui/material/CircularProgress';
|
|
53
|
-
import
|
|
55
|
+
import List from '@mui/material/List';
|
|
54
56
|
import ListItemButton from '@mui/material/ListItemButton';
|
|
55
57
|
import ListItemText from '@mui/material/ListItemText';
|
|
56
58
|
import Snackbar from '@mui/material/Snackbar';
|
|
57
59
|
import MuiAlert from '@mui/material/Alert';
|
|
58
|
-
import CloseIcon3 from '@mui/icons-material/Close';
|
|
59
60
|
import { useVirtualizer } from '@tanstack/react-virtual';
|
|
60
61
|
import Divider3 from '@mui/material/Divider';
|
|
61
62
|
import MuiTabs from '@mui/material/Tabs';
|
|
@@ -63,7 +64,6 @@ import MuiTab from '@mui/material/Tab';
|
|
|
63
64
|
import MuiAccordion from '@mui/material/Accordion';
|
|
64
65
|
import MuiAccordionSummary from '@mui/material/AccordionSummary';
|
|
65
66
|
import MuiAccordionDetails from '@mui/material/AccordionDetails';
|
|
66
|
-
import ExpandMoreIcon from '@mui/icons-material/ExpandMore';
|
|
67
67
|
import MuiMenu from '@mui/material/Menu';
|
|
68
68
|
import ListItemIcon from '@mui/material/ListItemIcon';
|
|
69
69
|
import NProgress from 'nprogress';
|
|
@@ -78,22 +78,11 @@ import { useForkRef } from '@mui/material/utils';
|
|
|
78
78
|
import MuiBreadcrumbs from '@mui/material/Breadcrumbs';
|
|
79
79
|
import Link from '@mui/material/Link';
|
|
80
80
|
import SvgIcon from '@mui/material/SvgIcon';
|
|
81
|
-
import ChevronRightIcon from '@mui/icons-material/ChevronRight';
|
|
82
81
|
import MuiStepper from '@mui/material/Stepper';
|
|
83
82
|
import Step from '@mui/material/Step';
|
|
84
83
|
import StepLabel from '@mui/material/StepLabel';
|
|
85
84
|
import StepContent from '@mui/material/StepContent';
|
|
86
85
|
import { clsx } from 'clsx';
|
|
87
|
-
import ChevronLeftIcon from '@mui/icons-material/ChevronLeft';
|
|
88
|
-
import ZoomInIcon from '@mui/icons-material/ZoomIn';
|
|
89
|
-
import ZoomOutIcon from '@mui/icons-material/ZoomOut';
|
|
90
|
-
import FullscreenIcon from '@mui/icons-material/Fullscreen';
|
|
91
|
-
import FullscreenExitIcon from '@mui/icons-material/FullscreenExit';
|
|
92
|
-
import DownloadIcon from '@mui/icons-material/Download';
|
|
93
|
-
import ShareIcon from '@mui/icons-material/Share';
|
|
94
|
-
import PlayArrowIcon from '@mui/icons-material/PlayArrow';
|
|
95
|
-
import KeyboardArrowUpIcon from '@mui/icons-material/KeyboardArrowUp';
|
|
96
|
-
import KeyboardArrowDownIcon from '@mui/icons-material/KeyboardArrowDown';
|
|
97
86
|
import ButtonBase from '@mui/material/ButtonBase';
|
|
98
87
|
import Collapse from '@mui/material/Collapse';
|
|
99
88
|
import Popover from '@mui/material/Popover';
|
|
@@ -104,11 +93,6 @@ import rehypeHighlight from 'rehype-highlight';
|
|
|
104
93
|
import remarkGfm from 'remark-gfm';
|
|
105
94
|
import TurndownService from 'turndown';
|
|
106
95
|
import Select from '@mui/material/Select';
|
|
107
|
-
import 'maplibre-gl/dist/maplibre-gl.css';
|
|
108
|
-
import { Map as Map$1, NavigationControl, ScaleControl, Marker, Popup, Source, Layer } from 'react-map-gl/maplibre';
|
|
109
|
-
import { addProtocol } from 'maplibre-gl';
|
|
110
|
-
import { Protocol } from 'pmtiles';
|
|
111
|
-
import { Stack as Stack$1, Box, Paper as Paper$1, Typography, CircularProgress as CircularProgress$1 } from '@mui/material';
|
|
112
96
|
|
|
113
97
|
function DateRangePicker({
|
|
114
98
|
open,
|
|
@@ -364,22 +348,6 @@ function DateRangeInput({
|
|
|
364
348
|
)
|
|
365
349
|
] });
|
|
366
350
|
}
|
|
367
|
-
function FilterIcon() {
|
|
368
|
-
return /* @__PURE__ */ jsx(
|
|
369
|
-
"svg",
|
|
370
|
-
{
|
|
371
|
-
width: "16",
|
|
372
|
-
height: "16",
|
|
373
|
-
viewBox: "0 0 24 24",
|
|
374
|
-
fill: "none",
|
|
375
|
-
stroke: "currentColor",
|
|
376
|
-
strokeWidth: "2",
|
|
377
|
-
strokeLinecap: "round",
|
|
378
|
-
strokeLinejoin: "round",
|
|
379
|
-
children: /* @__PURE__ */ jsx("polygon", { points: "22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3" })
|
|
380
|
-
}
|
|
381
|
-
);
|
|
382
|
-
}
|
|
383
351
|
function useDebounce(value, delay) {
|
|
384
352
|
const [debouncedValue, setDebouncedValue] = useState(value);
|
|
385
353
|
useEffect(() => {
|
|
@@ -497,9 +465,16 @@ function FilterToolbar({
|
|
|
497
465
|
"& .MuiOutlinedInput-notchedOutline legend": { width: 0 }
|
|
498
466
|
},
|
|
499
467
|
children: [
|
|
500
|
-
/* @__PURE__ */ jsx(MenuItem, { value: "", children: /* @__PURE__ */ jsx(
|
|
501
|
-
|
|
502
|
-
|
|
468
|
+
/* @__PURE__ */ jsx(MenuItem, { value: "", children: /* @__PURE__ */ jsx(
|
|
469
|
+
Typography5,
|
|
470
|
+
{
|
|
471
|
+
variant: "body2",
|
|
472
|
+
sx: {
|
|
473
|
+
color: "text.secondary"
|
|
474
|
+
},
|
|
475
|
+
children: label
|
|
476
|
+
}
|
|
477
|
+
) }),
|
|
503
478
|
options?.map((opt) => /* @__PURE__ */ jsx(MenuItem, { value: opt.value, children: opt.label }, opt.value))
|
|
504
479
|
]
|
|
505
480
|
},
|
|
@@ -525,9 +500,16 @@ function FilterToolbar({
|
|
|
525
500
|
renderValue: (selected) => {
|
|
526
501
|
const sel = selected;
|
|
527
502
|
if (sel.length === 0) {
|
|
528
|
-
return /* @__PURE__ */ jsx(
|
|
529
|
-
|
|
530
|
-
|
|
503
|
+
return /* @__PURE__ */ jsx(
|
|
504
|
+
Typography5,
|
|
505
|
+
{
|
|
506
|
+
variant: "body2",
|
|
507
|
+
sx: {
|
|
508
|
+
color: "text.secondary"
|
|
509
|
+
},
|
|
510
|
+
children: label
|
|
511
|
+
}
|
|
512
|
+
);
|
|
531
513
|
}
|
|
532
514
|
return /* @__PURE__ */ jsx(Stack, { direction: "row", spacing: 0.5, sx: { overflow: "hidden" }, children: sel.map((val) => {
|
|
533
515
|
const opt = options?.find((o) => o.value === val);
|
|
@@ -592,43 +574,52 @@ function FilterToolbar({
|
|
|
592
574
|
key
|
|
593
575
|
);
|
|
594
576
|
case "number-range":
|
|
595
|
-
return /* @__PURE__ */ jsxs(
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
{
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
577
|
+
return /* @__PURE__ */ jsxs(
|
|
578
|
+
Stack,
|
|
579
|
+
{
|
|
580
|
+
direction: "row",
|
|
581
|
+
spacing: 1,
|
|
582
|
+
sx: {
|
|
583
|
+
alignItems: "center"
|
|
584
|
+
},
|
|
585
|
+
children: [
|
|
586
|
+
/* @__PURE__ */ jsx(
|
|
587
|
+
TextField2,
|
|
588
|
+
{
|
|
589
|
+
type: "number",
|
|
590
|
+
size: "small",
|
|
591
|
+
label: `${label} min`,
|
|
592
|
+
value: values[`${key}Min`] ?? "",
|
|
593
|
+
onChange: (e) => handleChange(`${key}Min`, e.target.value),
|
|
594
|
+
sx: { minWidth: width ?? 100 }
|
|
595
|
+
}
|
|
596
|
+
),
|
|
597
|
+
/* @__PURE__ */ jsx(
|
|
598
|
+
Typography5,
|
|
599
|
+
{
|
|
600
|
+
variant: "body2",
|
|
601
|
+
sx: {
|
|
602
|
+
color: "text.disabled",
|
|
603
|
+
px: 0.5
|
|
604
|
+
},
|
|
605
|
+
children: "\u2014"
|
|
606
|
+
}
|
|
607
|
+
),
|
|
608
|
+
/* @__PURE__ */ jsx(
|
|
609
|
+
TextField2,
|
|
610
|
+
{
|
|
611
|
+
type: "number",
|
|
612
|
+
size: "small",
|
|
613
|
+
label: `${label} max`,
|
|
614
|
+
value: values[`${key}Max`] ?? "",
|
|
615
|
+
onChange: (e) => handleChange(`${key}Max`, e.target.value),
|
|
616
|
+
sx: { minWidth: width ?? 100 }
|
|
617
|
+
}
|
|
618
|
+
)
|
|
619
|
+
]
|
|
620
|
+
},
|
|
621
|
+
key
|
|
622
|
+
);
|
|
632
623
|
default:
|
|
633
624
|
return null;
|
|
634
625
|
}
|
|
@@ -668,7 +659,7 @@ function FilterToolbar({
|
|
|
668
659
|
ml: "auto"
|
|
669
660
|
},
|
|
670
661
|
children: [
|
|
671
|
-
activeCount > 0 && /* @__PURE__ */ jsx(Badge, { badgeContent: activeCount, color: "primary", sx: { "& .MuiBadge-badge": { fontSize: "0.65rem" } }, children: /* @__PURE__ */ jsx(
|
|
662
|
+
activeCount > 0 && /* @__PURE__ */ jsx(Badge, { badgeContent: activeCount, color: "primary", sx: { "& .MuiBadge-badge": { fontSize: "0.65rem" } }, children: /* @__PURE__ */ jsx(Box19, { sx: { color: "text.secondary", display: "flex", alignItems: "center" }, children: /* @__PURE__ */ jsx(FilterIcon, {}) }) }),
|
|
672
663
|
hasAnyActive && /* @__PURE__ */ jsx(
|
|
673
664
|
Button,
|
|
674
665
|
{
|
|
@@ -741,27 +732,6 @@ var StyledTableRow = styled(TableRow)(({ theme }) => ({
|
|
|
741
732
|
}
|
|
742
733
|
}));
|
|
743
734
|
var EMPTY_SELECTION = /* @__PURE__ */ new Set();
|
|
744
|
-
function EmptyIcon() {
|
|
745
|
-
return /* @__PURE__ */ jsxs(
|
|
746
|
-
"svg",
|
|
747
|
-
{
|
|
748
|
-
width: "48",
|
|
749
|
-
height: "48",
|
|
750
|
-
viewBox: "0 0 24 24",
|
|
751
|
-
fill: "none",
|
|
752
|
-
stroke: "currentColor",
|
|
753
|
-
strokeWidth: "1.5",
|
|
754
|
-
strokeLinecap: "round",
|
|
755
|
-
strokeLinejoin: "round",
|
|
756
|
-
opacity: "0.3",
|
|
757
|
-
children: [
|
|
758
|
-
/* @__PURE__ */ jsx("path", { d: "M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z" }),
|
|
759
|
-
/* @__PURE__ */ jsx("polyline", { points: "14 2 14 8 20 8" }),
|
|
760
|
-
/* @__PURE__ */ jsx("line", { x1: "9", y1: "15", x2: "15", y2: "15" })
|
|
761
|
-
]
|
|
762
|
-
}
|
|
763
|
-
);
|
|
764
|
-
}
|
|
765
735
|
function AdminDataTable({
|
|
766
736
|
columns,
|
|
767
737
|
data,
|
|
@@ -879,7 +849,7 @@ function AdminDataTable({
|
|
|
879
849
|
columns.map((col) => /* @__PURE__ */ jsx(TableCell, { align: col.align ?? "left", style: { width: col.width }, children: col.header }, col.key))
|
|
880
850
|
] }) }) }),
|
|
881
851
|
/* @__PURE__ */ jsxs(
|
|
882
|
-
|
|
852
|
+
Box19,
|
|
883
853
|
{
|
|
884
854
|
sx: {
|
|
885
855
|
py: 6,
|
|
@@ -906,7 +876,7 @@ function AdminDataTable({
|
|
|
906
876
|
}
|
|
907
877
|
return /* @__PURE__ */ jsxs(StyledTableContainer, { sx: { maxHeight, ...sx }, children: [
|
|
908
878
|
loadError && /* @__PURE__ */ jsxs(
|
|
909
|
-
|
|
879
|
+
Box19,
|
|
910
880
|
{
|
|
911
881
|
role: "status",
|
|
912
882
|
sx: {
|
|
@@ -938,13 +908,20 @@ function AdminDataTable({
|
|
|
938
908
|
bgcolor: (theme) => alpha(theme.palette.primary.main, 0.06)
|
|
939
909
|
},
|
|
940
910
|
children: [
|
|
941
|
-
/* @__PURE__ */ jsxs(
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
911
|
+
/* @__PURE__ */ jsxs(
|
|
912
|
+
Typography5,
|
|
913
|
+
{
|
|
914
|
+
variant: "body2",
|
|
915
|
+
sx: {
|
|
916
|
+
fontWeight: 600
|
|
917
|
+
},
|
|
918
|
+
children: [
|
|
919
|
+
selection.size,
|
|
920
|
+
" selected"
|
|
921
|
+
]
|
|
922
|
+
}
|
|
923
|
+
),
|
|
924
|
+
/* @__PURE__ */ jsx(Box19, { sx: { flex: 1 } }),
|
|
948
925
|
bulkActions(selection)
|
|
949
926
|
]
|
|
950
927
|
}
|
|
@@ -1024,14 +1001,7 @@ function AdminDataTable({
|
|
|
1024
1001
|
if (detail == null) return body;
|
|
1025
1002
|
return /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
1026
1003
|
body,
|
|
1027
|
-
/* @__PURE__ */ jsx(TableRow, { children: /* @__PURE__ */ jsx(
|
|
1028
|
-
TableCell,
|
|
1029
|
-
{
|
|
1030
|
-
colSpan: columns.length + (selectable ? 1 : 0),
|
|
1031
|
-
sx: { py: 0, borderBottom: 0 },
|
|
1032
|
-
children: detail
|
|
1033
|
-
}
|
|
1034
|
-
) })
|
|
1004
|
+
/* @__PURE__ */ jsx(TableRow, { children: /* @__PURE__ */ jsx(TableCell, { colSpan: columns.length + (selectable ? 1 : 0), sx: { py: 0, borderBottom: 0 }, children: detail }) })
|
|
1035
1005
|
] }, `${key}-group`);
|
|
1036
1006
|
}) })
|
|
1037
1007
|
] }) }),
|
|
@@ -1529,7 +1499,7 @@ function CountrySelect({
|
|
|
1529
1499
|
const isWorldRow = worldwideValue !== void 0 && option.iso2 === worldwideValue;
|
|
1530
1500
|
const src = isWorldRow ? null : getFlagSrc?.(option.iso2.toLowerCase()) ?? null;
|
|
1531
1501
|
return /* @__PURE__ */ jsxs(
|
|
1532
|
-
|
|
1502
|
+
Box19,
|
|
1533
1503
|
{
|
|
1534
1504
|
component: "li",
|
|
1535
1505
|
...rest,
|
|
@@ -1734,7 +1704,7 @@ function AnimateBorder({ sx, children, duration, slotProps, className, ...other
|
|
|
1734
1704
|
}
|
|
1735
1705
|
);
|
|
1736
1706
|
return /* @__PURE__ */ jsxs(
|
|
1737
|
-
|
|
1707
|
+
Box19,
|
|
1738
1708
|
{
|
|
1739
1709
|
dir: "ltr",
|
|
1740
1710
|
ref: rootRef,
|
|
@@ -1792,7 +1762,7 @@ function MovingBorder({ sx, size, isHidden, rx = "30%", ry = "30%", duration = 8
|
|
|
1792
1762
|
const x = useTransform(progress, (val) => calculateTransform(val).x);
|
|
1793
1763
|
const y = useTransform(progress, (val) => calculateTransform(val).y);
|
|
1794
1764
|
const transform = useMotionTemplate`translateX(${x}px) translateY(${y}px) translateX(-50%) translateY(-50%)`;
|
|
1795
|
-
return /* @__PURE__ */ jsxs(
|
|
1765
|
+
return /* @__PURE__ */ jsxs(Box19, { component: "span", sx: [{ textAlign: "initial" }, ...Array.isArray(sx) ? sx : [sx]], ...other, children: [
|
|
1796
1766
|
/* @__PURE__ */ jsx(
|
|
1797
1767
|
"svg",
|
|
1798
1768
|
{
|
|
@@ -1806,7 +1776,7 @@ function MovingBorder({ sx, size, isHidden, rx = "30%", ry = "30%", duration = 8
|
|
|
1806
1776
|
}
|
|
1807
1777
|
),
|
|
1808
1778
|
/* @__PURE__ */ jsx(
|
|
1809
|
-
|
|
1779
|
+
Box19,
|
|
1810
1780
|
{
|
|
1811
1781
|
component: m.span,
|
|
1812
1782
|
style: { transform },
|
|
@@ -2110,7 +2080,7 @@ function CountBadge({
|
|
|
2110
2080
|
};
|
|
2111
2081
|
const bgColor = colorMap[color];
|
|
2112
2082
|
return /* @__PURE__ */ jsx(
|
|
2113
|
-
|
|
2083
|
+
Box19,
|
|
2114
2084
|
{
|
|
2115
2085
|
component: "span",
|
|
2116
2086
|
ref,
|
|
@@ -2144,7 +2114,7 @@ function StatusDot({ status, size = 8, pulse = true, sx, ref, ...other }) {
|
|
|
2144
2114
|
};
|
|
2145
2115
|
const color = statusColors[status];
|
|
2146
2116
|
return /* @__PURE__ */ jsx(
|
|
2147
|
-
|
|
2117
|
+
Box19,
|
|
2148
2118
|
{
|
|
2149
2119
|
component: "span",
|
|
2150
2120
|
ref,
|
|
@@ -2227,7 +2197,7 @@ function Card({
|
|
|
2227
2197
|
);
|
|
2228
2198
|
}
|
|
2229
2199
|
function CardSection({ title, description, children, sx }) {
|
|
2230
|
-
return /* @__PURE__ */ jsxs(
|
|
2200
|
+
return /* @__PURE__ */ jsxs(Box19, { sx: { mb: 3, ...sx }, children: [
|
|
2231
2201
|
title && /* @__PURE__ */ jsx(
|
|
2232
2202
|
Typography5,
|
|
2233
2203
|
{
|
|
@@ -2267,8 +2237,8 @@ function StatCard({
|
|
|
2267
2237
|
}) {
|
|
2268
2238
|
const isPositive = change && change > 0;
|
|
2269
2239
|
const isNegative = change && change < 0;
|
|
2270
|
-
return /* @__PURE__ */ jsx(Card, { variant, contentSx: { p: 2, "&:last-child": { pb: 2 } }, sx, ...other, children: /* @__PURE__ */ jsxs(
|
|
2271
|
-
/* @__PURE__ */ jsx(
|
|
2240
|
+
return /* @__PURE__ */ jsx(Card, { variant, contentSx: { p: 2, "&:last-child": { pb: 2 } }, sx, ...other, children: /* @__PURE__ */ jsxs(Box19, { sx: { display: "flex", justifyContent: "space-between", alignItems: "flex-start" }, children: [
|
|
2241
|
+
/* @__PURE__ */ jsx(Box19, { children: loading ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
2272
2242
|
/* @__PURE__ */ jsx(Skeleton3, { width: 80, height: 16 }),
|
|
2273
2243
|
/* @__PURE__ */ jsx(Skeleton3, { width: 50, height: 32, sx: { mt: 0.5 } })
|
|
2274
2244
|
] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
@@ -2318,7 +2288,7 @@ function StatCard({
|
|
|
2318
2288
|
color: "text.secondary"
|
|
2319
2289
|
}, children: subtitle })
|
|
2320
2290
|
] }) }),
|
|
2321
|
-
icon && !loading && /* @__PURE__ */ jsx(
|
|
2291
|
+
icon && !loading && /* @__PURE__ */ jsx(Box19, { sx: { color: `${color}.main` }, children: icon })
|
|
2322
2292
|
] }) });
|
|
2323
2293
|
}
|
|
2324
2294
|
function ConfirmDialog({
|
|
@@ -2402,16 +2372,16 @@ function SponsoredSlot({
|
|
|
2402
2372
|
const imageBox = banner ? BANNER_IMAGE : TILE_IMAGE;
|
|
2403
2373
|
if (!content) {
|
|
2404
2374
|
if (!loading) return null;
|
|
2405
|
-
return /* @__PURE__ */ jsx(Card2, { variant: "outlined", sx: { height: "100%" }, "data-sponsored-pending": "", children: /* @__PURE__ */ jsxs(
|
|
2375
|
+
return /* @__PURE__ */ jsx(Card2, { variant: "outlined", sx: { height: "100%" }, "data-sponsored-pending": "", children: /* @__PURE__ */ jsxs(Box19, { sx: { display: "flex", flexDirection: banner ? "row" : "column", height: "100%" }, children: [
|
|
2406
2376
|
/* @__PURE__ */ jsx(Skeleton3, { variant: "rectangular", sx: { ...imageBox, height: banner ? void 0 : "auto" } }),
|
|
2407
|
-
/* @__PURE__ */ jsxs(
|
|
2377
|
+
/* @__PURE__ */ jsxs(Box19, { sx: { p: 1.5, flex: 1 }, children: [
|
|
2408
2378
|
/* @__PURE__ */ jsx(Skeleton3, { width: "40%" }),
|
|
2409
2379
|
/* @__PURE__ */ jsx(Skeleton3, { width: "80%" })
|
|
2410
2380
|
] })
|
|
2411
2381
|
] }) });
|
|
2412
2382
|
}
|
|
2413
2383
|
const mark = /* @__PURE__ */ jsxs(
|
|
2414
|
-
|
|
2384
|
+
Box19,
|
|
2415
2385
|
{
|
|
2416
2386
|
component: "span",
|
|
2417
2387
|
sx: { display: "inline-flex", alignItems: "center", gap: 0.5, color: "text.secondary", typography: "caption" },
|
|
@@ -2421,9 +2391,9 @@ function SponsoredSlot({
|
|
|
2421
2391
|
]
|
|
2422
2392
|
}
|
|
2423
2393
|
);
|
|
2424
|
-
const body = /* @__PURE__ */ jsxs(
|
|
2394
|
+
const body = /* @__PURE__ */ jsxs(Box19, { sx: { display: "flex", flexDirection: banner ? "row" : "column", height: "100%" }, children: [
|
|
2425
2395
|
content.image && /* @__PURE__ */ jsx(
|
|
2426
|
-
|
|
2396
|
+
Box19,
|
|
2427
2397
|
{
|
|
2428
2398
|
component: "img",
|
|
2429
2399
|
src: content.image,
|
|
@@ -2439,7 +2409,7 @@ function SponsoredSlot({
|
|
|
2439
2409
|
}
|
|
2440
2410
|
}
|
|
2441
2411
|
),
|
|
2442
|
-
/* @__PURE__ */ jsxs(
|
|
2412
|
+
/* @__PURE__ */ jsxs(Box19, { sx: { p: 1.5, display: "flex", flexDirection: "column", gap: 0.5, minWidth: 0 }, children: [
|
|
2443
2413
|
content.because ? /* @__PURE__ */ jsx(Tooltip2, { title: content.because, children: mark }) : mark,
|
|
2444
2414
|
/* @__PURE__ */ jsx(Typography5, { variant: "subtitle2", sx: { fontWeight: 600 }, noWrap: !banner, children: content.title }),
|
|
2445
2415
|
content.body && /* @__PURE__ */ jsx(Typography5, { variant: "body2", sx: { color: "text.secondary" }, children: content.body }),
|
|
@@ -2482,7 +2452,7 @@ function CardGrid({ children, columns = 2, gap = GRID_GAP, sx }) {
|
|
|
2482
2452
|
(child) => child != null ? /* @__PURE__ */ jsx(Grid, { size, sx: { display: "flex" }, children: child }) : null
|
|
2483
2453
|
) });
|
|
2484
2454
|
}
|
|
2485
|
-
var ImageRoot = styled(
|
|
2455
|
+
var ImageRoot = styled(Box19, {
|
|
2486
2456
|
shouldForwardProp: (prop) => prop !== "ownerState"
|
|
2487
2457
|
})(({ theme, ownerState }) => {
|
|
2488
2458
|
const { ratio, hasError } = ownerState;
|
|
@@ -2523,7 +2493,7 @@ var StyledImg = styled("img")(() => ({
|
|
|
2523
2493
|
objectFit: "cover",
|
|
2524
2494
|
display: "block"
|
|
2525
2495
|
}));
|
|
2526
|
-
var PlaceholderBox = styled(
|
|
2496
|
+
var PlaceholderBox = styled(Box19)(({ theme }) => ({
|
|
2527
2497
|
position: "absolute",
|
|
2528
2498
|
top: 0,
|
|
2529
2499
|
left: 0,
|
|
@@ -2548,7 +2518,7 @@ var PlaceholderBox = styled(Box20)(({ theme }) => ({
|
|
|
2548
2518
|
}
|
|
2549
2519
|
}
|
|
2550
2520
|
}));
|
|
2551
|
-
var OverlayBox = styled(
|
|
2521
|
+
var OverlayBox = styled(Box19)(() => ({
|
|
2552
2522
|
position: "absolute",
|
|
2553
2523
|
top: 0,
|
|
2554
2524
|
left: 0,
|
|
@@ -2558,7 +2528,7 @@ var OverlayBox = styled(Box20)(() => ({
|
|
|
2558
2528
|
alignItems: "center",
|
|
2559
2529
|
justifyContent: "center"
|
|
2560
2530
|
}));
|
|
2561
|
-
var FallbackBox = styled(
|
|
2531
|
+
var FallbackBox = styled(Box19)(({ theme }) => ({
|
|
2562
2532
|
width: "100%",
|
|
2563
2533
|
height: "100%",
|
|
2564
2534
|
minHeight: 100,
|
|
@@ -2631,7 +2601,7 @@ function Image({
|
|
|
2631
2601
|
] });
|
|
2632
2602
|
}
|
|
2633
2603
|
function DefaultImageIcon() {
|
|
2634
|
-
return /* @__PURE__ */ jsx(
|
|
2604
|
+
return /* @__PURE__ */ jsx(Box19, { component: "svg", viewBox: "0 0 24 24", sx: { width: 48, height: 48, opacity: 0.5 }, children: /* @__PURE__ */ jsx(
|
|
2635
2605
|
"path",
|
|
2636
2606
|
{
|
|
2637
2607
|
fill: "currentColor",
|
|
@@ -2732,9 +2702,9 @@ function Label({
|
|
|
2732
2702
|
"& svg, & img": { width: "100%", height: "100%" }
|
|
2733
2703
|
};
|
|
2734
2704
|
return /* @__PURE__ */ jsxs(StyledLabel, { ref, ownerState, sx, ...other, children: [
|
|
2735
|
-
startIcon && /* @__PURE__ */ jsx(
|
|
2705
|
+
startIcon && /* @__PURE__ */ jsx(Box19, { sx: { mr: 0.5, ...iconStyles }, children: startIcon }),
|
|
2736
2706
|
children,
|
|
2737
|
-
endIcon && /* @__PURE__ */ jsx(
|
|
2707
|
+
endIcon && /* @__PURE__ */ jsx(Box19, { sx: { ml: 0.5, ...iconStyles }, children: endIcon })
|
|
2738
2708
|
] });
|
|
2739
2709
|
}
|
|
2740
2710
|
function StatusLabel({
|
|
@@ -2816,7 +2786,7 @@ function DeadlineChip({
|
|
|
2816
2786
|
}
|
|
2817
2787
|
var DEFAULT_ITEM_WIDTH = { xs: "78%", sm: "46%", md: "31%", lg: "23.5%" };
|
|
2818
2788
|
function Chevron({ direction }) {
|
|
2819
|
-
return /* @__PURE__ */ jsx(
|
|
2789
|
+
return direction === "left" ? /* @__PURE__ */ jsx(ChevronLeftIcon, { fontSize: "small" }) : /* @__PURE__ */ jsx(ChevronRightIcon, { fontSize: "small" });
|
|
2820
2790
|
}
|
|
2821
2791
|
function Rail({
|
|
2822
2792
|
children,
|
|
@@ -2867,7 +2837,7 @@ function Rail({
|
|
|
2867
2837
|
}
|
|
2868
2838
|
) : null;
|
|
2869
2839
|
return /* @__PURE__ */ jsxs(
|
|
2870
|
-
|
|
2840
|
+
Box19,
|
|
2871
2841
|
{
|
|
2872
2842
|
component: "section",
|
|
2873
2843
|
"aria-label": ariaLabel,
|
|
@@ -2876,7 +2846,7 @@ function Rail({
|
|
|
2876
2846
|
children: [
|
|
2877
2847
|
arrow(-1, reach.back, labels?.previous ?? "Previous"),
|
|
2878
2848
|
/* @__PURE__ */ jsx(
|
|
2879
|
-
|
|
2849
|
+
Box19,
|
|
2880
2850
|
{
|
|
2881
2851
|
component: "ul",
|
|
2882
2852
|
ref: track,
|
|
@@ -2899,7 +2869,7 @@ function Rail({
|
|
|
2899
2869
|
},
|
|
2900
2870
|
children: Children.map(
|
|
2901
2871
|
children,
|
|
2902
|
-
(child) => child == null || child === false ? null : /* @__PURE__ */ jsx(
|
|
2872
|
+
(child) => child == null || child === false ? null : /* @__PURE__ */ jsx(Box19, { component: "li", sx: { scrollSnapAlign: "start", minWidth: 0 }, children: child })
|
|
2903
2873
|
)
|
|
2904
2874
|
}
|
|
2905
2875
|
),
|
|
@@ -2932,7 +2902,7 @@ function LoadingScreen({ portal, slots, slotProps, sx, ...other }) {
|
|
|
2932
2902
|
}
|
|
2933
2903
|
) }) });
|
|
2934
2904
|
}
|
|
2935
|
-
var SplashContainer = styled(
|
|
2905
|
+
var SplashContainer = styled(Box19, {
|
|
2936
2906
|
shouldForwardProp: (prop) => prop !== "fullScreen"
|
|
2937
2907
|
})(({ theme, fullScreen }) => ({
|
|
2938
2908
|
display: "flex",
|
|
@@ -3044,7 +3014,7 @@ function TagCloud({
|
|
|
3044
3014
|
const theme = useTheme();
|
|
3045
3015
|
const visible = maxItems ? tags.slice(0, maxItems) : tags;
|
|
3046
3016
|
if (variant === "list") {
|
|
3047
|
-
return /* @__PURE__ */ jsx(
|
|
3017
|
+
return /* @__PURE__ */ jsx(List, { disablePadding: true, sx, children: visible.map((tag) => /* @__PURE__ */ jsxs(
|
|
3048
3018
|
ListItemButton,
|
|
3049
3019
|
{
|
|
3050
3020
|
onClick: onTagClick ? () => onTagClick(tag) : void 0,
|
|
@@ -3059,10 +3029,10 @@ function TagCloud({
|
|
|
3059
3029
|
/* @__PURE__ */ jsx(
|
|
3060
3030
|
ListItemText,
|
|
3061
3031
|
{
|
|
3062
|
-
primary: /* @__PURE__ */ jsxs(
|
|
3032
|
+
primary: /* @__PURE__ */ jsxs(Box19, { component: "span", sx: { display: "inline-flex", alignItems: "center", gap: 0.5 }, children: [
|
|
3063
3033
|
/* @__PURE__ */ jsx("span", { children: `#${tag.name}` }),
|
|
3064
3034
|
tag.trending && /* @__PURE__ */ jsx(
|
|
3065
|
-
|
|
3035
|
+
Box19,
|
|
3066
3036
|
{
|
|
3067
3037
|
component: "span",
|
|
3068
3038
|
sx: {
|
|
@@ -3128,7 +3098,7 @@ function TagCloud({
|
|
|
3128
3098
|
return /* @__PURE__ */ jsx(
|
|
3129
3099
|
Chip,
|
|
3130
3100
|
{
|
|
3131
|
-
label: /* @__PURE__ */ jsxs(
|
|
3101
|
+
label: /* @__PURE__ */ jsxs(Box19, { component: "span", sx: { display: "inline-flex", alignItems: "center", gap: 0.5 }, children: [
|
|
3132
3102
|
/* @__PURE__ */ jsx("span", { children: `#${tag.name}` }),
|
|
3133
3103
|
renderAdornment?.(tag)
|
|
3134
3104
|
] }),
|
|
@@ -3157,84 +3127,6 @@ function TagCloud({
|
|
|
3157
3127
|
}
|
|
3158
3128
|
);
|
|
3159
3129
|
}
|
|
3160
|
-
var ScrollbarRoot = styled(Box20, {
|
|
3161
|
-
shouldForwardProp: (prop) => prop !== "ownerState"
|
|
3162
|
-
})(({ theme, ownerState }) => {
|
|
3163
|
-
const { fillContent, hideScrollbar, axis } = ownerState;
|
|
3164
|
-
const scrollbarColor = alpha(theme.palette.text.disabled, 0.4);
|
|
3165
|
-
const scrollbarHoverColor = alpha(theme.palette.text.disabled, 0.6);
|
|
3166
|
-
const scrollbarTrackColor = alpha(theme.palette.grey[500], 0.08);
|
|
3167
|
-
const getOverflow = () => {
|
|
3168
|
-
if (axis === "x") return { overflowX: "auto", overflowY: "hidden" };
|
|
3169
|
-
if (axis === "y") return { overflowX: "hidden", overflowY: "auto" };
|
|
3170
|
-
return { overflow: "auto" };
|
|
3171
|
-
};
|
|
3172
|
-
return {
|
|
3173
|
-
minWidth: 0,
|
|
3174
|
-
minHeight: 0,
|
|
3175
|
-
...getOverflow(),
|
|
3176
|
-
...fillContent && {
|
|
3177
|
-
flexGrow: 1,
|
|
3178
|
-
display: "flex",
|
|
3179
|
-
flexDirection: "column"
|
|
3180
|
-
},
|
|
3181
|
-
// Custom scrollbar styles
|
|
3182
|
-
...!hideScrollbar && {
|
|
3183
|
-
scrollbarWidth: "thin",
|
|
3184
|
-
scrollbarColor: `${scrollbarColor} ${scrollbarTrackColor}`,
|
|
3185
|
-
// Webkit browsers
|
|
3186
|
-
"&::-webkit-scrollbar": {
|
|
3187
|
-
width: 8,
|
|
3188
|
-
height: 8
|
|
3189
|
-
},
|
|
3190
|
-
"&::-webkit-scrollbar-track": {
|
|
3191
|
-
backgroundColor: scrollbarTrackColor,
|
|
3192
|
-
borderRadius: 4
|
|
3193
|
-
},
|
|
3194
|
-
"&::-webkit-scrollbar-thumb": {
|
|
3195
|
-
backgroundColor: scrollbarColor,
|
|
3196
|
-
borderRadius: 4,
|
|
3197
|
-
"&:hover": {
|
|
3198
|
-
backgroundColor: scrollbarHoverColor
|
|
3199
|
-
}
|
|
3200
|
-
},
|
|
3201
|
-
"&::-webkit-scrollbar-corner": {
|
|
3202
|
-
backgroundColor: "transparent"
|
|
3203
|
-
}
|
|
3204
|
-
},
|
|
3205
|
-
...hideScrollbar && {
|
|
3206
|
-
scrollbarWidth: "none",
|
|
3207
|
-
msOverflowStyle: "none",
|
|
3208
|
-
"&::-webkit-scrollbar": {
|
|
3209
|
-
display: "none"
|
|
3210
|
-
}
|
|
3211
|
-
}
|
|
3212
|
-
};
|
|
3213
|
-
});
|
|
3214
|
-
function Scrollbar({ children, sx, fillContent = false, hideScrollbar = false, axis = "y", maxHeight, minHeight, className, ref, ...other }) {
|
|
3215
|
-
const ownerState = {
|
|
3216
|
-
fillContent,
|
|
3217
|
-
hideScrollbar,
|
|
3218
|
-
axis
|
|
3219
|
-
};
|
|
3220
|
-
return /* @__PURE__ */ jsx(
|
|
3221
|
-
ScrollbarRoot,
|
|
3222
|
-
{
|
|
3223
|
-
ref,
|
|
3224
|
-
ownerState,
|
|
3225
|
-
className,
|
|
3226
|
-
sx: [
|
|
3227
|
-
{
|
|
3228
|
-
...maxHeight !== void 0 && { maxHeight },
|
|
3229
|
-
...minHeight !== void 0 && { minHeight }
|
|
3230
|
-
},
|
|
3231
|
-
...Array.isArray(sx) ? sx : [sx]
|
|
3232
|
-
],
|
|
3233
|
-
...other,
|
|
3234
|
-
children
|
|
3235
|
-
}
|
|
3236
|
-
);
|
|
3237
|
-
}
|
|
3238
3130
|
var SnackbarContext = createContext(null);
|
|
3239
3131
|
function useSnackbar() {
|
|
3240
3132
|
const context = useContext(SnackbarContext);
|
|
@@ -3338,7 +3230,7 @@ function SnackbarProvider({
|
|
|
3338
3230
|
severity: state.severity,
|
|
3339
3231
|
variant: "filled",
|
|
3340
3232
|
onClose: handleClose,
|
|
3341
|
-
action: state.action || /* @__PURE__ */ jsx(IconButton4, { size: "small", "aria-label": "close", color: "inherit", onClick: close, children: /* @__PURE__ */ jsx(
|
|
3233
|
+
action: state.action || /* @__PURE__ */ jsx(IconButton4, { size: "small", "aria-label": "close", color: "inherit", onClick: close, children: /* @__PURE__ */ jsx(CloseIcon, { fontSize: "small" }) }),
|
|
3342
3234
|
sx: { width: "100%", alignItems: "center" },
|
|
3343
3235
|
children: state.message
|
|
3344
3236
|
}
|
|
@@ -3512,7 +3404,7 @@ function Table({
|
|
|
3512
3404
|
return data;
|
|
3513
3405
|
}, [data, paginated, page, rowsPerPage, totalRows]);
|
|
3514
3406
|
if (!loading && data.length === 0) {
|
|
3515
|
-
return /* @__PURE__ */ jsx(StyledTableContainer2, { sx: containerSx, children: /* @__PURE__ */ jsx(
|
|
3407
|
+
return /* @__PURE__ */ jsx(StyledTableContainer2, { sx: containerSx, children: /* @__PURE__ */ jsx(Box19, { sx: { p: 4, textAlign: "center" }, children: emptyContent || /* @__PURE__ */ jsx(Typography5, { sx: {
|
|
3516
3408
|
color: "text.secondary"
|
|
3517
3409
|
}, children: "No data available" }) }) });
|
|
3518
3410
|
}
|
|
@@ -3655,22 +3547,22 @@ function Skeleton5({ variant = "text", ...props }) {
|
|
|
3655
3547
|
return /* @__PURE__ */ jsx(Skeleton3, { variant, ...props });
|
|
3656
3548
|
}
|
|
3657
3549
|
function CardSkeleton({ hasAvatar = true, lines = 2, width = "100%" }) {
|
|
3658
|
-
return /* @__PURE__ */ jsxs(
|
|
3659
|
-
hasAvatar && /* @__PURE__ */ jsxs(
|
|
3550
|
+
return /* @__PURE__ */ jsxs(Box19, { sx: { width, p: 2 }, children: [
|
|
3551
|
+
hasAvatar && /* @__PURE__ */ jsxs(Box19, { sx: { display: "flex", alignItems: "center", mb: 2 }, children: [
|
|
3660
3552
|
/* @__PURE__ */ jsx(Skeleton5, { variant: "circular", width: 40, height: 40 }),
|
|
3661
|
-
/* @__PURE__ */ jsxs(
|
|
3553
|
+
/* @__PURE__ */ jsxs(Box19, { sx: { ml: 1, flex: 1 }, children: [
|
|
3662
3554
|
/* @__PURE__ */ jsx(Skeleton5, { variant: "text", width: "60%" }),
|
|
3663
3555
|
/* @__PURE__ */ jsx(Skeleton5, { variant: "text", width: "40%" })
|
|
3664
3556
|
] })
|
|
3665
3557
|
] }),
|
|
3666
3558
|
/* @__PURE__ */ jsx(Skeleton5, { variant: "rectangular", width: "100%", height: 118, sx: { borderRadius: 1 } }),
|
|
3667
|
-
/* @__PURE__ */ jsx(
|
|
3559
|
+
/* @__PURE__ */ jsx(Box19, { sx: { mt: 1 }, children: Array.from({ length: lines }, (_, i) => /* @__PURE__ */ jsx(Skeleton5, { variant: "text", width: i === lines - 1 ? "80%" : "100%" }, i)) })
|
|
3668
3560
|
] });
|
|
3669
3561
|
}
|
|
3670
3562
|
function TableSkeleton({ rows = 5, columns = 4, hasHeader = true }) {
|
|
3671
|
-
return /* @__PURE__ */ jsxs(
|
|
3672
|
-
hasHeader && /* @__PURE__ */ jsx(
|
|
3673
|
-
Array.from({ length: rows }, (_row, rowIndex) => /* @__PURE__ */ jsx(
|
|
3563
|
+
return /* @__PURE__ */ jsxs(Box19, { sx: { width: "100%" }, children: [
|
|
3564
|
+
hasHeader && /* @__PURE__ */ jsx(Box19, { sx: { display: "flex", gap: 2, mb: 1, pb: 1, borderBottom: 1, borderColor: "divider" }, children: Array.from({ length: columns }, (_, i) => /* @__PURE__ */ jsx(Skeleton5, { variant: "text", sx: { flex: 1 }, height: 24 }, i)) }),
|
|
3565
|
+
Array.from({ length: rows }, (_row, rowIndex) => /* @__PURE__ */ jsx(Box19, { sx: { display: "flex", gap: 2, py: 1 }, children: Array.from({ length: columns }, (_col, colIndex) => /* @__PURE__ */ jsx(Skeleton5, { variant: "text", sx: { flex: 1 } }, colIndex)) }, rowIndex))
|
|
3674
3566
|
] });
|
|
3675
3567
|
}
|
|
3676
3568
|
function LinearProgress3({
|
|
@@ -3688,7 +3580,7 @@ function LinearProgress3({
|
|
|
3688
3580
|
return /* @__PURE__ */ jsx(MuiLinearProgress, { variant, value, color, sx: { borderRadius: 1, ...sx }, ...props });
|
|
3689
3581
|
}
|
|
3690
3582
|
if (labelPosition === "below") {
|
|
3691
|
-
return /* @__PURE__ */ jsxs(
|
|
3583
|
+
return /* @__PURE__ */ jsxs(Box19, { sx: { width: "100%" }, children: [
|
|
3692
3584
|
/* @__PURE__ */ jsx(MuiLinearProgress, { variant, value, color, sx: { borderRadius: 1, ...sx }, ...props }),
|
|
3693
3585
|
/* @__PURE__ */ jsx(
|
|
3694
3586
|
Typography5,
|
|
@@ -3705,8 +3597,8 @@ function LinearProgress3({
|
|
|
3705
3597
|
)
|
|
3706
3598
|
] });
|
|
3707
3599
|
}
|
|
3708
|
-
return /* @__PURE__ */ jsxs(
|
|
3709
|
-
/* @__PURE__ */ jsx(
|
|
3600
|
+
return /* @__PURE__ */ jsxs(Box19, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
|
|
3601
|
+
/* @__PURE__ */ jsx(Box19, { sx: { flex: 1 }, children: /* @__PURE__ */ jsx(MuiLinearProgress, { variant, value, color, sx: { borderRadius: 1, ...sx }, ...props }) }),
|
|
3710
3602
|
/* @__PURE__ */ jsx(
|
|
3711
3603
|
Typography5,
|
|
3712
3604
|
{
|
|
@@ -3733,10 +3625,10 @@ function CircularProgress2({
|
|
|
3733
3625
|
return /* @__PURE__ */ jsx(CircularProgress, { variant, value, color, size, ...props });
|
|
3734
3626
|
}
|
|
3735
3627
|
const label = formatLabel2 ? formatLabel2(value ?? 0) : `${Math.round(value ?? 0)}%`;
|
|
3736
|
-
return /* @__PURE__ */ jsxs(
|
|
3628
|
+
return /* @__PURE__ */ jsxs(Box19, { sx: { position: "relative", display: "inline-flex" }, children: [
|
|
3737
3629
|
/* @__PURE__ */ jsx(CircularProgress, { variant, value, color, size, ...props }),
|
|
3738
3630
|
/* @__PURE__ */ jsx(
|
|
3739
|
-
|
|
3631
|
+
Box19,
|
|
3740
3632
|
{
|
|
3741
3633
|
sx: {
|
|
3742
3634
|
position: "absolute",
|
|
@@ -3773,9 +3665,9 @@ function ProgressBar({ segments, height = 8, showLabels = false }) {
|
|
|
3773
3665
|
info: "info.main",
|
|
3774
3666
|
inherit: "text.primary"
|
|
3775
3667
|
};
|
|
3776
|
-
return /* @__PURE__ */ jsxs(
|
|
3668
|
+
return /* @__PURE__ */ jsxs(Box19, { sx: { width: "100%" }, children: [
|
|
3777
3669
|
/* @__PURE__ */ jsx(
|
|
3778
|
-
|
|
3670
|
+
Box19,
|
|
3779
3671
|
{
|
|
3780
3672
|
sx: {
|
|
3781
3673
|
display: "flex",
|
|
@@ -3785,7 +3677,7 @@ function ProgressBar({ segments, height = 8, showLabels = false }) {
|
|
|
3785
3677
|
bgcolor: "action.hover"
|
|
3786
3678
|
},
|
|
3787
3679
|
children: segments.map((segment, index) => /* @__PURE__ */ jsx(
|
|
3788
|
-
|
|
3680
|
+
Box19,
|
|
3789
3681
|
{
|
|
3790
3682
|
sx: {
|
|
3791
3683
|
width: `${segment.value}%`,
|
|
@@ -3797,9 +3689,9 @@ function ProgressBar({ segments, height = 8, showLabels = false }) {
|
|
|
3797
3689
|
))
|
|
3798
3690
|
}
|
|
3799
3691
|
),
|
|
3800
|
-
showLabels && /* @__PURE__ */ jsx(
|
|
3692
|
+
showLabels && /* @__PURE__ */ jsx(Box19, { sx: { display: "flex", gap: 2, mt: 1 }, children: segments.map((segment, index) => /* @__PURE__ */ jsxs(Box19, { sx: { display: "flex", alignItems: "center", gap: 0.5 }, children: [
|
|
3801
3693
|
/* @__PURE__ */ jsx(
|
|
3802
|
-
|
|
3694
|
+
Box19,
|
|
3803
3695
|
{
|
|
3804
3696
|
sx: {
|
|
3805
3697
|
width: 8,
|
|
@@ -3899,7 +3791,7 @@ function VirtualList({
|
|
|
3899
3791
|
}
|
|
3900
3792
|
}, [lastItem, virtualizer, items.length, loadMoreThreshold, onEndReached]);
|
|
3901
3793
|
return /* @__PURE__ */ jsx(
|
|
3902
|
-
|
|
3794
|
+
Box19,
|
|
3903
3795
|
{
|
|
3904
3796
|
ref: parentRef,
|
|
3905
3797
|
sx: {
|
|
@@ -3910,7 +3802,7 @@ function VirtualList({
|
|
|
3910
3802
|
...sx
|
|
3911
3803
|
},
|
|
3912
3804
|
children: /* @__PURE__ */ jsx(
|
|
3913
|
-
|
|
3805
|
+
Box19,
|
|
3914
3806
|
{
|
|
3915
3807
|
sx: {
|
|
3916
3808
|
height: virtualizer.getTotalSize() + paddingY * 2,
|
|
@@ -3921,7 +3813,7 @@ function VirtualList({
|
|
|
3921
3813
|
const item = items[virtualRow.index];
|
|
3922
3814
|
if (item === void 0) return null;
|
|
3923
3815
|
return /* @__PURE__ */ jsx(
|
|
3924
|
-
|
|
3816
|
+
Box19,
|
|
3925
3817
|
{
|
|
3926
3818
|
"data-index": virtualRow.index,
|
|
3927
3819
|
ref: virtualizer.measureElement,
|
|
@@ -4032,7 +3924,7 @@ function CommandPalette({
|
|
|
4032
3924
|
}
|
|
4033
3925
|
},
|
|
4034
3926
|
children: /* @__PURE__ */ jsxs(DialogContent, { sx: { p: 0 }, children: [
|
|
4035
|
-
/* @__PURE__ */ jsx(
|
|
3927
|
+
/* @__PURE__ */ jsx(Box19, { sx: { p: 2, pb: 1 }, children: /* @__PURE__ */ jsx(
|
|
4036
3928
|
TextField2,
|
|
4037
3929
|
{
|
|
4038
3930
|
inputRef,
|
|
@@ -4048,23 +3940,23 @@ function CommandPalette({
|
|
|
4048
3940
|
slotProps: {
|
|
4049
3941
|
input: {
|
|
4050
3942
|
disableUnderline: true,
|
|
4051
|
-
startAdornment: /* @__PURE__ */ jsx(InputAdornment, { position: "start", sx: { ml: 0.5, mr: 1 }, children: /* @__PURE__ */ jsx(
|
|
3943
|
+
startAdornment: /* @__PURE__ */ jsx(InputAdornment, { position: "start", sx: { ml: 0.5, mr: 1 }, children: /* @__PURE__ */ jsx(Box19, { component: "span", sx: { fontSize: 18, opacity: 0.6 }, children: "\u2318" }) })
|
|
4052
3944
|
}
|
|
4053
3945
|
}
|
|
4054
3946
|
}
|
|
4055
3947
|
) }),
|
|
4056
3948
|
/* @__PURE__ */ jsx(Divider3, {}),
|
|
4057
3949
|
/* @__PURE__ */ jsx(
|
|
4058
|
-
|
|
3950
|
+
Box19,
|
|
4059
3951
|
{
|
|
4060
3952
|
sx: {
|
|
4061
3953
|
maxHeight: 360,
|
|
4062
3954
|
overflowY: "auto",
|
|
4063
3955
|
py: 0.5
|
|
4064
3956
|
},
|
|
4065
|
-
children: filtered.length === 0 ? /* @__PURE__ */ jsx(
|
|
3957
|
+
children: filtered.length === 0 ? /* @__PURE__ */ jsx(Box19, { sx: { p: 3, textAlign: "center" }, children: /* @__PURE__ */ jsx(Typography5, { variant: "body2", sx: {
|
|
4066
3958
|
color: "text.secondary"
|
|
4067
|
-
}, children: emptyMessage }) }) : grouped.map((g) => /* @__PURE__ */ jsxs(
|
|
3959
|
+
}, children: emptyMessage }) }) : grouped.map((g) => /* @__PURE__ */ jsxs(Box19, { children: [
|
|
4068
3960
|
g.label ? /* @__PURE__ */ jsx(
|
|
4069
3961
|
Typography5,
|
|
4070
3962
|
{
|
|
@@ -4110,7 +4002,7 @@ function Row({
|
|
|
4110
4002
|
}
|
|
4111
4003
|
}, [selected]);
|
|
4112
4004
|
return /* @__PURE__ */ jsxs(
|
|
4113
|
-
|
|
4005
|
+
Box19,
|
|
4114
4006
|
{
|
|
4115
4007
|
ref,
|
|
4116
4008
|
onMouseEnter: onHover,
|
|
@@ -4129,8 +4021,8 @@ function Row({
|
|
|
4129
4021
|
}
|
|
4130
4022
|
}),
|
|
4131
4023
|
children: [
|
|
4132
|
-
action.icon ? /* @__PURE__ */ jsx(
|
|
4133
|
-
/* @__PURE__ */ jsx(
|
|
4024
|
+
action.icon ? /* @__PURE__ */ jsx(Box19, { sx: { display: "flex", alignItems: "center", width: 20, opacity: 0.8 }, children: action.icon }) : null,
|
|
4025
|
+
/* @__PURE__ */ jsx(Box19, { sx: { flex: 1, minWidth: 0 }, children: /* @__PURE__ */ jsxs(Stack, { direction: "row", spacing: 1, sx: {
|
|
4134
4026
|
alignItems: "baseline"
|
|
4135
4027
|
}, children: [
|
|
4136
4028
|
/* @__PURE__ */ jsx(Typography5, { variant: "body2", sx: { fontWeight: 500 }, noWrap: true, children: action.title }),
|
|
@@ -4229,9 +4121,9 @@ function Tabs({
|
|
|
4229
4121
|
return items;
|
|
4230
4122
|
}, [tabs, children]);
|
|
4231
4123
|
const hasAction = action !== void 0 && action !== null && action !== false;
|
|
4232
|
-
return /* @__PURE__ */ jsxs(
|
|
4124
|
+
return /* @__PURE__ */ jsxs(Box19, { sx: { width: "100%" }, children: [
|
|
4233
4125
|
/* @__PURE__ */ jsxs(
|
|
4234
|
-
|
|
4126
|
+
Box19,
|
|
4235
4127
|
{
|
|
4236
4128
|
sx: {
|
|
4237
4129
|
display: "flex",
|
|
@@ -4252,7 +4144,7 @@ function Tabs({
|
|
|
4252
4144
|
tab.value
|
|
4253
4145
|
)) }),
|
|
4254
4146
|
hasAction && /* @__PURE__ */ jsx(
|
|
4255
|
-
|
|
4147
|
+
Box19,
|
|
4256
4148
|
{
|
|
4257
4149
|
sx: {
|
|
4258
4150
|
display: "flex",
|
|
@@ -4271,7 +4163,7 @@ function Tabs({
|
|
|
4271
4163
|
if (!isActive && !keepMounted) return null;
|
|
4272
4164
|
if (tab.content === void 0) return null;
|
|
4273
4165
|
return /* @__PURE__ */ jsx(
|
|
4274
|
-
|
|
4166
|
+
Box19,
|
|
4275
4167
|
{
|
|
4276
4168
|
role: "tabpanel",
|
|
4277
4169
|
hidden: !isActive,
|
|
@@ -4344,7 +4236,6 @@ function Accordion({
|
|
|
4344
4236
|
return {
|
|
4345
4237
|
border: 1,
|
|
4346
4238
|
borderColor: "divider",
|
|
4347
|
-
"&:not(:last-child)": { borderBottom: 0 },
|
|
4348
4239
|
"&::before": { display: "none" },
|
|
4349
4240
|
boxShadow: "none"
|
|
4350
4241
|
};
|
|
@@ -4370,7 +4261,7 @@ function Accordion({
|
|
|
4370
4261
|
/* @__PURE__ */ jsxs(
|
|
4371
4262
|
MuiAccordionSummary,
|
|
4372
4263
|
{
|
|
4373
|
-
expandIcon: /* @__PURE__ */ jsx(
|
|
4264
|
+
expandIcon: /* @__PURE__ */ jsx(ChevronDownIcon, {}),
|
|
4374
4265
|
"aria-controls": `${item.id}-content`,
|
|
4375
4266
|
id: `${item.id}-header`,
|
|
4376
4267
|
children: [
|
|
@@ -4398,7 +4289,7 @@ function Accordion({
|
|
|
4398
4289
|
}
|
|
4399
4290
|
function SimpleAccordion({ title, subtitle, children, icon, ...props }) {
|
|
4400
4291
|
return /* @__PURE__ */ jsxs(MuiAccordion, { ...props, children: [
|
|
4401
|
-
/* @__PURE__ */ jsxs(MuiAccordionSummary, { expandIcon: /* @__PURE__ */ jsx(
|
|
4292
|
+
/* @__PURE__ */ jsxs(MuiAccordionSummary, { expandIcon: /* @__PURE__ */ jsx(ChevronDownIcon, {}), children: [
|
|
4402
4293
|
icon && /* @__PURE__ */ jsx(Typography5, { component: "span", sx: { mr: 1, display: "flex", alignItems: "center" }, children: icon }),
|
|
4403
4294
|
/* @__PURE__ */ jsx(Typography5, { component: "span", sx: { fontWeight: 500 }, children: title }),
|
|
4404
4295
|
subtitle && /* @__PURE__ */ jsx(
|
|
@@ -4855,7 +4746,7 @@ var PRESET_COLORS = {
|
|
|
4855
4746
|
minimal: "#64748B"
|
|
4856
4747
|
};
|
|
4857
4748
|
function Section({ title, children }) {
|
|
4858
|
-
return /* @__PURE__ */ jsxs(
|
|
4749
|
+
return /* @__PURE__ */ jsxs(Box19, { sx: { mb: 3 }, children: [
|
|
4859
4750
|
/* @__PURE__ */ jsx(
|
|
4860
4751
|
Typography5,
|
|
4861
4752
|
{
|
|
@@ -4999,7 +4890,7 @@ function PresetsSection() {
|
|
|
4999
4890
|
const { settings, actions } = useSettings();
|
|
5000
4891
|
const theme = useTheme();
|
|
5001
4892
|
return /* @__PURE__ */ jsx(Section, { title: "Presets", children: /* @__PURE__ */ jsx(
|
|
5002
|
-
|
|
4893
|
+
Box19,
|
|
5003
4894
|
{
|
|
5004
4895
|
sx: {
|
|
5005
4896
|
display: "grid",
|
|
@@ -5010,7 +4901,7 @@ function PresetsSection() {
|
|
|
5010
4901
|
const isSelected = settings.preset === preset;
|
|
5011
4902
|
const color = PRESET_COLORS[preset] || "#666";
|
|
5012
4903
|
return /* @__PURE__ */ jsx(Tooltip2, { title: PRESET_DISPLAY_NAMES[preset], placement: "top", children: /* @__PURE__ */ jsx(
|
|
5013
|
-
|
|
4904
|
+
Box19,
|
|
5014
4905
|
{
|
|
5015
4906
|
onClick: () => actions.setPreset(preset),
|
|
5016
4907
|
sx: {
|
|
@@ -5030,7 +4921,7 @@ function PresetsSection() {
|
|
|
5030
4921
|
}
|
|
5031
4922
|
},
|
|
5032
4923
|
children: isSelected && /* @__PURE__ */ jsx(
|
|
5033
|
-
|
|
4924
|
+
Box19,
|
|
5034
4925
|
{
|
|
5035
4926
|
sx: {
|
|
5036
4927
|
width: 8,
|
|
@@ -5059,11 +4950,11 @@ var COLOR_OPTIONS = [
|
|
|
5059
4950
|
function PrimaryColorSection() {
|
|
5060
4951
|
const { settings, actions } = useSettings();
|
|
5061
4952
|
const theme = useTheme();
|
|
5062
|
-
return /* @__PURE__ */ jsx(Section, { title: "Primary Color", children: /* @__PURE__ */ jsxs(
|
|
4953
|
+
return /* @__PURE__ */ jsx(Section, { title: "Primary Color", children: /* @__PURE__ */ jsxs(Box19, { sx: { display: "flex", gap: 1, flexWrap: "wrap" }, children: [
|
|
5063
4954
|
COLOR_OPTIONS.map((option) => {
|
|
5064
4955
|
const isSelected = settings.primaryColor === option.value;
|
|
5065
4956
|
return /* @__PURE__ */ jsx(Tooltip2, { title: option.label, placement: "top", children: /* @__PURE__ */ jsx(
|
|
5066
|
-
|
|
4957
|
+
Box19,
|
|
5067
4958
|
{
|
|
5068
4959
|
onClick: () => actions.setPrimaryColor(option.value),
|
|
5069
4960
|
sx: {
|
|
@@ -5082,7 +4973,7 @@ function PrimaryColorSection() {
|
|
|
5082
4973
|
}
|
|
5083
4974
|
},
|
|
5084
4975
|
children: isSelected && /* @__PURE__ */ jsx(
|
|
5085
|
-
|
|
4976
|
+
Box19,
|
|
5086
4977
|
{
|
|
5087
4978
|
sx: {
|
|
5088
4979
|
width: 6,
|
|
@@ -5096,7 +4987,7 @@ function PrimaryColorSection() {
|
|
|
5096
4987
|
) }, option.value);
|
|
5097
4988
|
}),
|
|
5098
4989
|
settings.primaryColor && /* @__PURE__ */ jsx(Tooltip2, { title: "Reset to default", placement: "top", children: /* @__PURE__ */ jsx(
|
|
5099
|
-
|
|
4990
|
+
Box19,
|
|
5100
4991
|
{
|
|
5101
4992
|
onClick: () => actions.setPrimaryColor(null),
|
|
5102
4993
|
sx: {
|
|
@@ -5186,10 +5077,10 @@ function NavLayoutSection() {
|
|
|
5186
5077
|
{ value: "horizontal", label: "Horizontal", icon: "\u25AC" },
|
|
5187
5078
|
{ value: "mini", label: "Mini", icon: "\u2502" }
|
|
5188
5079
|
];
|
|
5189
|
-
return /* @__PURE__ */ jsx(Section, { title: "Navigation Layout", children: /* @__PURE__ */ jsx(
|
|
5080
|
+
return /* @__PURE__ */ jsx(Section, { title: "Navigation Layout", children: /* @__PURE__ */ jsx(Box19, { sx: { display: "flex", gap: 1.5 }, children: layoutOptions.map((option) => {
|
|
5190
5081
|
const isSelected = settings.navLayout === option.value;
|
|
5191
5082
|
return /* @__PURE__ */ jsxs(
|
|
5192
|
-
|
|
5083
|
+
Box19,
|
|
5193
5084
|
{
|
|
5194
5085
|
onClick: () => actions.setNavLayout(option.value),
|
|
5195
5086
|
sx: {
|
|
@@ -5257,7 +5148,7 @@ function SettingsDrawer({ width = 300, sections = DEFAULT_SECTIONS }) {
|
|
|
5257
5148
|
},
|
|
5258
5149
|
children: [
|
|
5259
5150
|
/* @__PURE__ */ jsxs(
|
|
5260
|
-
|
|
5151
|
+
Box19,
|
|
5261
5152
|
{
|
|
5262
5153
|
sx: {
|
|
5263
5154
|
display: "flex",
|
|
@@ -5275,11 +5166,11 @@ function SettingsDrawer({ width = 300, sections = DEFAULT_SECTIONS }) {
|
|
|
5275
5166
|
]
|
|
5276
5167
|
}
|
|
5277
5168
|
),
|
|
5278
|
-
/* @__PURE__ */ jsx(
|
|
5169
|
+
/* @__PURE__ */ jsx(Box19, { sx: { p: 2.5, flex: 1, overflowY: "auto" }, children: sections.map((section) => {
|
|
5279
5170
|
const SectionComponent = SECTION_COMPONENTS[section];
|
|
5280
5171
|
return SectionComponent ? /* @__PURE__ */ jsx(SectionComponent, {}, section) : null;
|
|
5281
5172
|
}) }),
|
|
5282
|
-
/* @__PURE__ */ jsx(
|
|
5173
|
+
/* @__PURE__ */ jsx(Box19, { sx: { p: 2, borderTop: `1px solid ${theme.palette.divider}` }, children: /* @__PURE__ */ jsx(Button, { fullWidth: true, variant: "soft", color: "primary", onClick: drawer.onClose, children: "Close" }) })
|
|
5283
5174
|
]
|
|
5284
5175
|
}
|
|
5285
5176
|
);
|
|
@@ -5685,7 +5576,7 @@ function NavCard({
|
|
|
5685
5576
|
// arrow into a narrow tile just steals text space).
|
|
5686
5577
|
/* @__PURE__ */ jsxs(Fragment, { children: [
|
|
5687
5578
|
icon && /* @__PURE__ */ jsx(
|
|
5688
|
-
|
|
5579
|
+
Box19,
|
|
5689
5580
|
{
|
|
5690
5581
|
sx: {
|
|
5691
5582
|
width: 40,
|
|
@@ -5701,7 +5592,7 @@ function NavCard({
|
|
|
5701
5592
|
children: icon
|
|
5702
5593
|
}
|
|
5703
5594
|
),
|
|
5704
|
-
/* @__PURE__ */ jsxs(
|
|
5595
|
+
/* @__PURE__ */ jsxs(Box19, { sx: { display: "flex", alignItems: "center", gap: 1, flexWrap: "wrap" }, children: [
|
|
5705
5596
|
/* @__PURE__ */ jsx(
|
|
5706
5597
|
Typography5,
|
|
5707
5598
|
{
|
|
@@ -5741,10 +5632,10 @@ function NavCard({
|
|
|
5741
5632
|
}
|
|
5742
5633
|
)
|
|
5743
5634
|
] })
|
|
5744
|
-
) : /* @__PURE__ */ jsxs(
|
|
5745
|
-
/* @__PURE__ */ jsxs(
|
|
5635
|
+
) : /* @__PURE__ */ jsxs(Box19, { sx: { display: "flex", alignItems: "center", justifyContent: "space-between", width: "100%", gap: 1 }, children: [
|
|
5636
|
+
/* @__PURE__ */ jsxs(Box19, { sx: { display: "flex", alignItems: "center", gap: 2, minWidth: 0 }, children: [
|
|
5746
5637
|
icon && /* @__PURE__ */ jsx(
|
|
5747
|
-
|
|
5638
|
+
Box19,
|
|
5748
5639
|
{
|
|
5749
5640
|
sx: {
|
|
5750
5641
|
width: iconSize,
|
|
@@ -5760,8 +5651,8 @@ function NavCard({
|
|
|
5760
5651
|
children: icon
|
|
5761
5652
|
}
|
|
5762
5653
|
),
|
|
5763
|
-
/* @__PURE__ */ jsxs(
|
|
5764
|
-
/* @__PURE__ */ jsxs(
|
|
5654
|
+
/* @__PURE__ */ jsxs(Box19, { sx: { minWidth: 0, flex: 1 }, children: [
|
|
5655
|
+
/* @__PURE__ */ jsxs(Box19, { sx: { display: "flex", alignItems: "center", gap: 1, flexWrap: "wrap" }, children: [
|
|
5765
5656
|
/* @__PURE__ */ jsx(
|
|
5766
5657
|
Typography5,
|
|
5767
5658
|
{
|
|
@@ -5796,7 +5687,7 @@ function NavCard({
|
|
|
5796
5687
|
)
|
|
5797
5688
|
] })
|
|
5798
5689
|
] }),
|
|
5799
|
-
arrow !== false && /* @__PURE__ */ jsx(
|
|
5690
|
+
arrow !== false && /* @__PURE__ */ jsx(Box19, { sx: { display: "flex", alignItems: "center", flexShrink: 0, color: "text.secondary" }, children: arrow === true ? /* @__PURE__ */ jsx(ChevronRightIcon, {}) : arrow })
|
|
5800
5691
|
] })
|
|
5801
5692
|
}
|
|
5802
5693
|
)
|
|
@@ -5810,7 +5701,7 @@ function NavCardGrid({
|
|
|
5810
5701
|
sx
|
|
5811
5702
|
}) {
|
|
5812
5703
|
return /* @__PURE__ */ jsx(
|
|
5813
|
-
|
|
5704
|
+
Box19,
|
|
5814
5705
|
{
|
|
5815
5706
|
sx: {
|
|
5816
5707
|
display: "grid",
|
|
@@ -5872,7 +5763,7 @@ function Drawer2({
|
|
|
5872
5763
|
children: [
|
|
5873
5764
|
(title || showCloseButton || headerActions) && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
5874
5765
|
/* @__PURE__ */ jsxs(
|
|
5875
|
-
|
|
5766
|
+
Box19,
|
|
5876
5767
|
{
|
|
5877
5768
|
sx: {
|
|
5878
5769
|
display: "flex",
|
|
@@ -5883,7 +5774,7 @@ function Drawer2({
|
|
|
5883
5774
|
},
|
|
5884
5775
|
children: [
|
|
5885
5776
|
title && /* @__PURE__ */ jsx(Typography5, { variant: "h6", component: "div", children: title }),
|
|
5886
|
-
/* @__PURE__ */ jsxs(
|
|
5777
|
+
/* @__PURE__ */ jsxs(Box19, { sx: { display: "flex", alignItems: "center", gap: 1, ml: "auto" }, children: [
|
|
5887
5778
|
headerActions,
|
|
5888
5779
|
showCloseButton && onClose && /* @__PURE__ */ jsx(IconButton4, { onClick: onClose, edge: "end", size: "small", "aria-label": "Close drawer", children: closeIcon ?? /* @__PURE__ */ jsx(DefaultCloseIcon, {}) })
|
|
5889
5780
|
] })
|
|
@@ -5893,7 +5784,7 @@ function Drawer2({
|
|
|
5893
5784
|
/* @__PURE__ */ jsx(Divider3, {})
|
|
5894
5785
|
] }),
|
|
5895
5786
|
/* @__PURE__ */ jsx(
|
|
5896
|
-
|
|
5787
|
+
Box19,
|
|
5897
5788
|
{
|
|
5898
5789
|
sx: {
|
|
5899
5790
|
flex: 1,
|
|
@@ -5905,7 +5796,7 @@ function Drawer2({
|
|
|
5905
5796
|
),
|
|
5906
5797
|
footer && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
5907
5798
|
/* @__PURE__ */ jsx(Divider3, {}),
|
|
5908
|
-
/* @__PURE__ */ jsx(
|
|
5799
|
+
/* @__PURE__ */ jsx(Box19, { sx: { p: 2 }, children: footer })
|
|
5909
5800
|
] })
|
|
5910
5801
|
]
|
|
5911
5802
|
}
|
|
@@ -6005,9 +5896,9 @@ function StepperActions({
|
|
|
6005
5896
|
disableNext = false,
|
|
6006
5897
|
actions
|
|
6007
5898
|
}) {
|
|
6008
|
-
return /* @__PURE__ */ jsxs(
|
|
5899
|
+
return /* @__PURE__ */ jsxs(Box19, { sx: { display: "flex", gap: 2, mt: 3 }, children: [
|
|
6009
5900
|
/* @__PURE__ */ jsx(Button, { variant: "outlined", onClick: stepper.prevStep, disabled: stepper.isFirstStep, children: backLabel }),
|
|
6010
|
-
/* @__PURE__ */ jsx(
|
|
5901
|
+
/* @__PURE__ */ jsx(Box19, { sx: { flex: 1 } }),
|
|
6011
5902
|
actions,
|
|
6012
5903
|
/* @__PURE__ */ jsx(Button, { variant: "contained", onClick: stepper.nextStep, disabled: disableNext, children: stepper.isLastStep ? finishLabel : nextLabel })
|
|
6013
5904
|
] });
|
|
@@ -6049,7 +5940,7 @@ var CIRCULAR_TYPES = ["donut", "radialBar", "pie", "polarArea"];
|
|
|
6049
5940
|
function ChartLoading({ sx, className, type, ...other }) {
|
|
6050
5941
|
const isCircular = type && CIRCULAR_TYPES.includes(type);
|
|
6051
5942
|
return /* @__PURE__ */ jsx(
|
|
6052
|
-
|
|
5943
|
+
Box19,
|
|
6053
5944
|
{
|
|
6054
5945
|
className: cn(chartClasses.loading, className),
|
|
6055
5946
|
sx: [
|
|
@@ -6488,10 +6379,7 @@ function Lightbox({
|
|
|
6488
6379
|
...dialogProps
|
|
6489
6380
|
}) {
|
|
6490
6381
|
const theme = useTheme();
|
|
6491
|
-
const labels = useMemo(
|
|
6492
|
-
() => ({ ...DEFAULT_LIGHTBOX_LABELS, ...labelOverrides }),
|
|
6493
|
-
[labelOverrides]
|
|
6494
|
-
);
|
|
6382
|
+
const labels = useMemo(() => ({ ...DEFAULT_LIGHTBOX_LABELS, ...labelOverrides }), [labelOverrides]);
|
|
6495
6383
|
const [currentIndex, setCurrentIndex] = useState(controlledIndex);
|
|
6496
6384
|
const [zoomLevel, setZoomLevel] = useState(MIN_ZOOM);
|
|
6497
6385
|
const [isFullscreen, setIsFullscreen] = useState(false);
|
|
@@ -6765,8 +6653,8 @@ function Lightbox({
|
|
|
6765
6653
|
/* @__PURE__ */ jsx(Typography5, { component: "span", sx: { mx: 0.5, opacity: 0.5 }, children: "/" }),
|
|
6766
6654
|
totalSlides
|
|
6767
6655
|
] }),
|
|
6768
|
-
/* @__PURE__ */ jsx(
|
|
6769
|
-
zoom && /* @__PURE__ */ jsxs(
|
|
6656
|
+
/* @__PURE__ */ jsx(Box19, { sx: { flex: 1 } }),
|
|
6657
|
+
zoom && /* @__PURE__ */ jsxs(Box19, { sx: { display: "flex", alignItems: "center", gap: 0.25 }, children: [
|
|
6770
6658
|
/* @__PURE__ */ jsx(
|
|
6771
6659
|
GlassButton,
|
|
6772
6660
|
{
|
|
@@ -6838,7 +6726,16 @@ function Lightbox({
|
|
|
6838
6726
|
}
|
|
6839
6727
|
),
|
|
6840
6728
|
toolbar?.buttons,
|
|
6841
|
-
/* @__PURE__ */ jsx(
|
|
6729
|
+
/* @__PURE__ */ jsx(
|
|
6730
|
+
GlassButton,
|
|
6731
|
+
{
|
|
6732
|
+
onClick: onClose,
|
|
6733
|
+
"aria-label": labels.close,
|
|
6734
|
+
className: lightboxClasses.toolbarButton,
|
|
6735
|
+
size: "small",
|
|
6736
|
+
children: /* @__PURE__ */ jsx(CloseIcon, { fontSize: "small" })
|
|
6737
|
+
}
|
|
6738
|
+
)
|
|
6842
6739
|
]
|
|
6843
6740
|
}
|
|
6844
6741
|
),
|
|
@@ -6988,7 +6885,7 @@ function Lightbox({
|
|
|
6988
6885
|
}
|
|
6989
6886
|
),
|
|
6990
6887
|
isThumbVideo && /* @__PURE__ */ jsx(
|
|
6991
|
-
|
|
6888
|
+
Box19,
|
|
6992
6889
|
{
|
|
6993
6890
|
sx: {
|
|
6994
6891
|
position: "absolute",
|
|
@@ -6998,7 +6895,7 @@ function Lightbox({
|
|
|
6998
6895
|
justifyContent: "center",
|
|
6999
6896
|
bgcolor: alpha(theme.palette.common.black, 0.35)
|
|
7000
6897
|
},
|
|
7001
|
-
children: /* @__PURE__ */ jsx(
|
|
6898
|
+
children: /* @__PURE__ */ jsx(PlayIcon, { sx: { fontSize: 18, color: "common.white", opacity: 0.9 } })
|
|
7002
6899
|
}
|
|
7003
6900
|
)
|
|
7004
6901
|
]
|
|
@@ -7018,8 +6915,8 @@ function Lightbox({
|
|
|
7018
6915
|
/* @__PURE__ */ jsx(Typography5, { component: "span", sx: { mx: 0.5, opacity: 0.5 }, children: "/" }),
|
|
7019
6916
|
totalSlides
|
|
7020
6917
|
] }),
|
|
7021
|
-
/* @__PURE__ */ jsx(
|
|
7022
|
-
/* @__PURE__ */ jsx(GlassButton, { onClick: onClose, "aria-label": labels.close, size: "small", children: /* @__PURE__ */ jsx(
|
|
6918
|
+
/* @__PURE__ */ jsx(Box19, { sx: { flex: 1 } }),
|
|
6919
|
+
/* @__PURE__ */ jsx(GlassButton, { onClick: onClose, "aria-label": labels.close, size: "small", children: /* @__PURE__ */ jsx(CloseIcon, { fontSize: "small" }) })
|
|
7023
6920
|
]
|
|
7024
6921
|
}
|
|
7025
6922
|
)
|
|
@@ -7041,7 +6938,7 @@ var StyledDialog = styled(Dialog)(({ theme }) => ({
|
|
|
7041
6938
|
backdropFilter: "blur(8px)"
|
|
7042
6939
|
}
|
|
7043
6940
|
}));
|
|
7044
|
-
var LightboxContainer = styled(
|
|
6941
|
+
var LightboxContainer = styled(Box19)({
|
|
7045
6942
|
display: "flex",
|
|
7046
6943
|
flexDirection: "column",
|
|
7047
6944
|
width: "100vw",
|
|
@@ -7050,7 +6947,7 @@ var LightboxContainer = styled(Box20)({
|
|
|
7050
6947
|
overflow: "hidden",
|
|
7051
6948
|
userSelect: "none"
|
|
7052
6949
|
});
|
|
7053
|
-
var GlassToolbar = styled(
|
|
6950
|
+
var GlassToolbar = styled(Box19)(({ theme, placement }) => ({
|
|
7054
6951
|
display: "flex",
|
|
7055
6952
|
alignItems: "center",
|
|
7056
6953
|
gap: theme.spacing(0.5),
|
|
@@ -7097,7 +6994,7 @@ var CounterChip = styled(Typography5)(({ theme }) => ({
|
|
|
7097
6994
|
alignItems: "center",
|
|
7098
6995
|
letterSpacing: "0.02em"
|
|
7099
6996
|
}));
|
|
7100
|
-
var SlideContainer = styled(
|
|
6997
|
+
var SlideContainer = styled(Box19)({
|
|
7101
6998
|
flex: 1,
|
|
7102
6999
|
display: "flex",
|
|
7103
7000
|
alignItems: "center",
|
|
@@ -7105,7 +7002,7 @@ var SlideContainer = styled(Box20)({
|
|
|
7105
7002
|
position: "relative",
|
|
7106
7003
|
overflow: "hidden"
|
|
7107
7004
|
});
|
|
7108
|
-
var SlideLayer = styled(
|
|
7005
|
+
var SlideLayer = styled(Box19)({
|
|
7109
7006
|
position: "absolute",
|
|
7110
7007
|
inset: 0,
|
|
7111
7008
|
display: "flex",
|
|
@@ -7113,7 +7010,7 @@ var SlideLayer = styled(Box20)({
|
|
|
7113
7010
|
justifyContent: "center",
|
|
7114
7011
|
willChange: "opacity, transform"
|
|
7115
7012
|
});
|
|
7116
|
-
var LoadingOverlay = styled(
|
|
7013
|
+
var LoadingOverlay = styled(Box19)({
|
|
7117
7014
|
position: "absolute",
|
|
7118
7015
|
top: "50%",
|
|
7119
7016
|
left: "50%",
|
|
@@ -7127,7 +7024,7 @@ var StyledImage = styled("img")({
|
|
|
7127
7024
|
willChange: "transform, opacity",
|
|
7128
7025
|
borderRadius: 2
|
|
7129
7026
|
});
|
|
7130
|
-
var VideoWrapper = styled(
|
|
7027
|
+
var VideoWrapper = styled(Box19)({
|
|
7131
7028
|
position: "relative",
|
|
7132
7029
|
display: "flex",
|
|
7133
7030
|
alignItems: "center",
|
|
@@ -7151,7 +7048,7 @@ var StyledVideo = styled("video")(({ theme }) => ({
|
|
|
7151
7048
|
fontSize: 12
|
|
7152
7049
|
}
|
|
7153
7050
|
}));
|
|
7154
|
-
var GlassCaption = styled(
|
|
7051
|
+
var GlassCaption = styled(Box19)(({ theme }) => ({
|
|
7155
7052
|
position: "absolute",
|
|
7156
7053
|
bottom: theme.spacing(2.5),
|
|
7157
7054
|
left: "50%",
|
|
@@ -7198,7 +7095,7 @@ var NavArrow = styled(IconButton4)(({ theme, side }) => ({
|
|
|
7198
7095
|
transform: "translateY(-50%) scale(0.95)"
|
|
7199
7096
|
}
|
|
7200
7097
|
}));
|
|
7201
|
-
var ThumbnailStrip = styled(
|
|
7098
|
+
var ThumbnailStrip = styled(Box19)(({ theme }) => ({
|
|
7202
7099
|
display: "flex",
|
|
7203
7100
|
gap: theme.spacing(0.75),
|
|
7204
7101
|
padding: theme.spacing(1, 2),
|
|
@@ -7213,7 +7110,7 @@ var ThumbnailStrip = styled(Box20)(({ theme }) => ({
|
|
|
7213
7110
|
display: "none"
|
|
7214
7111
|
}
|
|
7215
7112
|
}));
|
|
7216
|
-
var ThumbItem = styled(
|
|
7113
|
+
var ThumbItem = styled(Box19)(({ theme, active }) => ({
|
|
7217
7114
|
flexShrink: 0,
|
|
7218
7115
|
width: 56,
|
|
7219
7116
|
height: 56,
|
|
@@ -7614,7 +7511,7 @@ function Carousel({
|
|
|
7614
7511
|
isHorizontal,
|
|
7615
7512
|
direction: "prev",
|
|
7616
7513
|
sx: slotProps?.arrow,
|
|
7617
|
-
children: isHorizontal ? /* @__PURE__ */ jsx(ChevronLeftIcon, {}) : /* @__PURE__ */ jsx(
|
|
7514
|
+
children: isHorizontal ? /* @__PURE__ */ jsx(ChevronLeftIcon, {}) : /* @__PURE__ */ jsx(ChevronUpIcon, {})
|
|
7618
7515
|
}
|
|
7619
7516
|
),
|
|
7620
7517
|
/* @__PURE__ */ jsx(
|
|
@@ -7629,7 +7526,7 @@ function Carousel({
|
|
|
7629
7526
|
isHorizontal,
|
|
7630
7527
|
direction: "next",
|
|
7631
7528
|
sx: slotProps?.arrow,
|
|
7632
|
-
children: isHorizontal ? /* @__PURE__ */ jsx(ChevronRightIcon, {}) : /* @__PURE__ */ jsx(
|
|
7529
|
+
children: isHorizontal ? /* @__PURE__ */ jsx(ChevronRightIcon, {}) : /* @__PURE__ */ jsx(ChevronDownIcon, {})
|
|
7633
7530
|
}
|
|
7634
7531
|
)
|
|
7635
7532
|
] }),
|
|
@@ -7663,24 +7560,24 @@ function Carousel({
|
|
|
7663
7560
|
}
|
|
7664
7561
|
);
|
|
7665
7562
|
}
|
|
7666
|
-
var CarouselRoot = styled(
|
|
7563
|
+
var CarouselRoot = styled(Box19)({
|
|
7667
7564
|
position: "relative",
|
|
7668
7565
|
width: "100%",
|
|
7669
7566
|
overflow: "hidden",
|
|
7670
7567
|
outline: "none"
|
|
7671
7568
|
});
|
|
7672
|
-
var CarouselContainer = styled(
|
|
7569
|
+
var CarouselContainer = styled(Box19)({
|
|
7673
7570
|
position: "relative",
|
|
7674
7571
|
width: "100%",
|
|
7675
7572
|
overflow: "hidden"
|
|
7676
7573
|
});
|
|
7677
|
-
var CarouselTrack = styled(
|
|
7574
|
+
var CarouselTrack = styled(Box19)({
|
|
7678
7575
|
display: "flex",
|
|
7679
7576
|
width: "100%",
|
|
7680
7577
|
willChange: "transform",
|
|
7681
7578
|
userSelect: "none"
|
|
7682
7579
|
});
|
|
7683
|
-
var CarouselSlide = styled(
|
|
7580
|
+
var CarouselSlide = styled(Box19)({
|
|
7684
7581
|
flexShrink: 0,
|
|
7685
7582
|
"& > *": {
|
|
7686
7583
|
width: "100%",
|
|
@@ -7710,7 +7607,7 @@ var ArrowButton = styled(IconButton4)(
|
|
|
7710
7607
|
}
|
|
7711
7608
|
})
|
|
7712
7609
|
);
|
|
7713
|
-
var DotsContainer = styled(
|
|
7610
|
+
var DotsContainer = styled(Box19)(({ theme, dotsPosition }) => ({
|
|
7714
7611
|
display: "flex",
|
|
7715
7612
|
gap: theme.spacing(1),
|
|
7716
7613
|
position: "absolute",
|
|
@@ -7995,7 +7892,7 @@ function getNavCssVars(theme, variant) {
|
|
|
7995
7892
|
}
|
|
7996
7893
|
function Nav({ className, sx, ref, ...other }) {
|
|
7997
7894
|
return /* @__PURE__ */ jsx(
|
|
7998
|
-
|
|
7895
|
+
Box19,
|
|
7999
7896
|
{
|
|
8000
7897
|
component: "nav",
|
|
8001
7898
|
ref,
|
|
@@ -8014,7 +7911,7 @@ function Nav({ className, sx, ref, ...other }) {
|
|
|
8014
7911
|
}
|
|
8015
7912
|
function NavUl({ className, sx, ref, ...other }) {
|
|
8016
7913
|
return /* @__PURE__ */ jsx(
|
|
8017
|
-
|
|
7914
|
+
Box19,
|
|
8018
7915
|
{
|
|
8019
7916
|
component: "ul",
|
|
8020
7917
|
ref,
|
|
@@ -8035,7 +7932,7 @@ function NavUl({ className, sx, ref, ...other }) {
|
|
|
8035
7932
|
}
|
|
8036
7933
|
function NavLi({ className, ref, ...other }) {
|
|
8037
7934
|
return /* @__PURE__ */ jsx(
|
|
8038
|
-
|
|
7935
|
+
Box19,
|
|
8039
7936
|
{
|
|
8040
7937
|
component: "li",
|
|
8041
7938
|
ref,
|
|
@@ -8395,7 +8292,7 @@ function resolveInfo(info, render) {
|
|
|
8395
8292
|
if (!info) return void 0;
|
|
8396
8293
|
if (Array.isArray(info) && render?.navInfo) {
|
|
8397
8294
|
const infoComponents = info.map((key) => render.navInfo?.(key));
|
|
8398
|
-
return /* @__PURE__ */ jsx(Fragment, { children: infoComponents.map((comp, idx) => /* @__PURE__ */ jsx(
|
|
8295
|
+
return /* @__PURE__ */ jsx(Fragment, { children: infoComponents.map((comp, idx) => /* @__PURE__ */ jsx(Box19, { component: "span", children: comp && Object.values(comp)[0] }, idx)) });
|
|
8399
8296
|
}
|
|
8400
8297
|
return info;
|
|
8401
8298
|
}
|
|
@@ -9190,7 +9087,7 @@ var SubItemLink = styled(Link, {
|
|
|
9190
9087
|
color: theme.palette.text.primary
|
|
9191
9088
|
}
|
|
9192
9089
|
}));
|
|
9193
|
-
var TagsContainer = styled(
|
|
9090
|
+
var TagsContainer = styled(Box19)(({ theme }) => ({
|
|
9194
9091
|
display: "flex",
|
|
9195
9092
|
flexWrap: "wrap",
|
|
9196
9093
|
gap: 8,
|
|
@@ -9324,9 +9221,9 @@ function MegaMenuList({ data, render, slotProps, slots, enabledRootRedirect }) {
|
|
|
9324
9221
|
item.title
|
|
9325
9222
|
);
|
|
9326
9223
|
}) }),
|
|
9327
|
-
idx === 0 && data.moreLink && /* @__PURE__ */ jsx(
|
|
9224
|
+
idx === 0 && data.moreLink && /* @__PURE__ */ jsx(Box19, { sx: { mt: 2 }, children: /* @__PURE__ */ jsx(MoreLink, { href: data.moreLink.path, className: megaMenuClasses.moreLink, sx: slotProps?.moreLink, children: data.moreLink.title }) })
|
|
9328
9225
|
] }, section.subheader ?? idx)) }),
|
|
9329
|
-
data.tags && data.tags.length > 0 && /* @__PURE__ */ jsx(
|
|
9226
|
+
data.tags && data.tags.length > 0 && /* @__PURE__ */ jsx(Box19, { sx: { px: "var(--nav-dropdown-padding)", pb: "var(--nav-dropdown-padding)" }, children: /* @__PURE__ */ jsx(TagsContainer, { className: megaMenuClasses.tags, sx: slotProps?.tags, children: data.tags.map((tag) => /* @__PURE__ */ jsx(Tag, { href: tag.path, children: tag.title }, tag.title)) }) }),
|
|
9330
9227
|
slots?.bottomArea
|
|
9331
9228
|
]
|
|
9332
9229
|
}
|
|
@@ -9559,7 +9456,7 @@ function MegaMenuList2({ data, render, slotProps, slots, enabledRootRedirect })
|
|
|
9559
9456
|
disableRestoreFocus: true,
|
|
9560
9457
|
children: [
|
|
9561
9458
|
slots?.topArea,
|
|
9562
|
-
/* @__PURE__ */ jsx(DropdownContent2, { elevation: 0, className: megaMenuClasses.dropdown, children: data.children?.map((section, idx) => /* @__PURE__ */ jsxs(
|
|
9459
|
+
/* @__PURE__ */ jsx(DropdownContent2, { elevation: 0, className: megaMenuClasses.dropdown, children: data.children?.map((section, idx) => /* @__PURE__ */ jsxs(Box19, { children: [
|
|
9563
9460
|
section.subheader && /* @__PURE__ */ jsx(SectionHeader2, { className: megaMenuClasses.subheader, children: section.subheader }),
|
|
9564
9461
|
/* @__PURE__ */ jsx(Stack, { spacing: 0.5, children: section.items.map((item) => {
|
|
9565
9462
|
const itemActive = isActiveLink(pathname, item.path);
|
|
@@ -9701,7 +9598,7 @@ var ArrowIcon4 = styled("span")(({ open }) => ({
|
|
|
9701
9598
|
transform: "rotate(-45deg)"
|
|
9702
9599
|
}
|
|
9703
9600
|
}));
|
|
9704
|
-
var CollapseContent = styled(
|
|
9601
|
+
var CollapseContent = styled(Box19)(({ theme }) => ({
|
|
9705
9602
|
padding: "8px 0",
|
|
9706
9603
|
paddingLeft: 40,
|
|
9707
9604
|
backgroundColor: theme.palette.background.neutral
|
|
@@ -9784,7 +9681,7 @@ function MegaMenuList3({ data, render, slotProps, enabledRootRedirect }) {
|
|
|
9784
9681
|
]
|
|
9785
9682
|
}
|
|
9786
9683
|
),
|
|
9787
|
-
/* @__PURE__ */ jsx(Collapse, { in: open, unmountOnExit: true, children: /* @__PURE__ */ jsx(CollapseContent, { children: data.children?.map((section, idx) => /* @__PURE__ */ jsxs(
|
|
9684
|
+
/* @__PURE__ */ jsx(Collapse, { in: open, unmountOnExit: true, children: /* @__PURE__ */ jsx(CollapseContent, { children: data.children?.map((section, idx) => /* @__PURE__ */ jsxs(Box19, { children: [
|
|
9788
9685
|
section.subheader && /* @__PURE__ */ jsx(SectionHeader3, { className: megaMenuClasses.subheader, children: section.subheader }),
|
|
9789
9686
|
/* @__PURE__ */ jsx(Stack, { children: section.items.map((item) => {
|
|
9790
9687
|
const itemActive = isActiveLink(pathname, item.path);
|
|
@@ -9837,1186 +9734,6 @@ function MegaMenuMobile({
|
|
|
9837
9734
|
}
|
|
9838
9735
|
);
|
|
9839
9736
|
}
|
|
9840
|
-
var ScrollSpyContext = createContext({
|
|
9841
|
-
activeId: null,
|
|
9842
|
-
registerSection: () => {
|
|
9843
|
-
},
|
|
9844
|
-
unregisterSection: () => {
|
|
9845
|
-
}
|
|
9846
|
-
});
|
|
9847
|
-
function useScrollSpy() {
|
|
9848
|
-
return useContext(ScrollSpyContext);
|
|
9849
|
-
}
|
|
9850
|
-
function ScrollSpyProvider({
|
|
9851
|
-
children,
|
|
9852
|
-
offset = 80,
|
|
9853
|
-
root = null,
|
|
9854
|
-
headingSelector = "h1[id], h2[id], h3[id], h4[id], h5[id], h6[id]",
|
|
9855
|
-
containerRef
|
|
9856
|
-
}) {
|
|
9857
|
-
const [activeId, setActiveId] = useState(null);
|
|
9858
|
-
const sectionsRef = useRef(/* @__PURE__ */ new Map());
|
|
9859
|
-
const observerRef = useRef(null);
|
|
9860
|
-
const wrapperRef = useRef(null);
|
|
9861
|
-
const createObserver = useCallback(() => {
|
|
9862
|
-
observerRef.current?.disconnect();
|
|
9863
|
-
const observer = new IntersectionObserver(
|
|
9864
|
-
(entries) => {
|
|
9865
|
-
const visible = entries.filter((e) => e.isIntersecting).sort((a, b) => a.boundingClientRect.top - b.boundingClientRect.top);
|
|
9866
|
-
if (visible.length > 0) {
|
|
9867
|
-
setActiveId(visible[0].target.id);
|
|
9868
|
-
}
|
|
9869
|
-
},
|
|
9870
|
-
{
|
|
9871
|
-
root,
|
|
9872
|
-
rootMargin: `-${offset}px 0px -60% 0px`,
|
|
9873
|
-
threshold: 0
|
|
9874
|
-
}
|
|
9875
|
-
);
|
|
9876
|
-
sectionsRef.current.forEach((element) => observer.observe(element));
|
|
9877
|
-
observerRef.current = observer;
|
|
9878
|
-
}, [offset, root]);
|
|
9879
|
-
useEffect(() => {
|
|
9880
|
-
if (!headingSelector) return void 0;
|
|
9881
|
-
const timer = setTimeout(() => {
|
|
9882
|
-
const container = containerRef?.current ?? wrapperRef.current;
|
|
9883
|
-
if (!container) return;
|
|
9884
|
-
const headings = container.querySelectorAll(headingSelector);
|
|
9885
|
-
headings.forEach((heading) => {
|
|
9886
|
-
if (heading.id) {
|
|
9887
|
-
sectionsRef.current.set(heading.id, heading);
|
|
9888
|
-
}
|
|
9889
|
-
});
|
|
9890
|
-
createObserver();
|
|
9891
|
-
}, 100);
|
|
9892
|
-
return () => {
|
|
9893
|
-
clearTimeout(timer);
|
|
9894
|
-
observerRef.current?.disconnect();
|
|
9895
|
-
};
|
|
9896
|
-
}, [headingSelector, containerRef, createObserver]);
|
|
9897
|
-
useEffect(() => {
|
|
9898
|
-
if (!headingSelector) return void 0;
|
|
9899
|
-
const container = containerRef?.current ?? wrapperRef.current;
|
|
9900
|
-
if (!container) return void 0;
|
|
9901
|
-
const mutationObserver = new MutationObserver(() => {
|
|
9902
|
-
const headings = container.querySelectorAll(headingSelector);
|
|
9903
|
-
let changed = false;
|
|
9904
|
-
headings.forEach((heading) => {
|
|
9905
|
-
if (heading.id && !sectionsRef.current.has(heading.id)) {
|
|
9906
|
-
sectionsRef.current.set(heading.id, heading);
|
|
9907
|
-
changed = true;
|
|
9908
|
-
}
|
|
9909
|
-
});
|
|
9910
|
-
if (changed) {
|
|
9911
|
-
createObserver();
|
|
9912
|
-
}
|
|
9913
|
-
});
|
|
9914
|
-
mutationObserver.observe(container, { childList: true, subtree: true });
|
|
9915
|
-
return () => mutationObserver.disconnect();
|
|
9916
|
-
}, [headingSelector, containerRef, createObserver]);
|
|
9917
|
-
const registerSection = useCallback((id, element) => {
|
|
9918
|
-
sectionsRef.current.set(id, element);
|
|
9919
|
-
observerRef.current?.observe(element);
|
|
9920
|
-
}, []);
|
|
9921
|
-
const unregisterSection = useCallback((id) => {
|
|
9922
|
-
const element = sectionsRef.current.get(id);
|
|
9923
|
-
if (element) observerRef.current?.unobserve(element);
|
|
9924
|
-
sectionsRef.current.delete(id);
|
|
9925
|
-
}, []);
|
|
9926
|
-
return /* @__PURE__ */ jsx(ScrollSpyContext.Provider, { value: { activeId, registerSection, unregisterSection }, children: /* @__PURE__ */ jsx("div", { ref: wrapperRef, children }) });
|
|
9927
|
-
}
|
|
9928
|
-
function ScrollSpySection({ id, children, sx }) {
|
|
9929
|
-
const ref = useRef(null);
|
|
9930
|
-
const { registerSection, unregisterSection } = useScrollSpy();
|
|
9931
|
-
useEffect(() => {
|
|
9932
|
-
const element = ref.current;
|
|
9933
|
-
if (!element) return void 0;
|
|
9934
|
-
registerSection(id, element);
|
|
9935
|
-
return () => unregisterSection(id);
|
|
9936
|
-
}, [id, registerSection, unregisterSection]);
|
|
9937
|
-
return /* @__PURE__ */ jsx(Box20, { ref, id, sx, children });
|
|
9938
|
-
}
|
|
9939
|
-
function DocLayout({ sidebar, sectionNav, children, sx }) {
|
|
9940
|
-
return /* @__PURE__ */ jsxs(
|
|
9941
|
-
Box20,
|
|
9942
|
-
{
|
|
9943
|
-
sx: {
|
|
9944
|
-
display: "flex",
|
|
9945
|
-
width: "100%",
|
|
9946
|
-
...sx
|
|
9947
|
-
},
|
|
9948
|
-
children: [
|
|
9949
|
-
sidebar && /* @__PURE__ */ jsx(
|
|
9950
|
-
Box20,
|
|
9951
|
-
{
|
|
9952
|
-
component: "nav",
|
|
9953
|
-
sx: {
|
|
9954
|
-
width: 272,
|
|
9955
|
-
flexShrink: 0,
|
|
9956
|
-
display: { xs: "none", md: "block" },
|
|
9957
|
-
position: "sticky",
|
|
9958
|
-
top: 80,
|
|
9959
|
-
alignSelf: "flex-start",
|
|
9960
|
-
maxHeight: "calc(100vh - 100px)",
|
|
9961
|
-
overflowY: "auto",
|
|
9962
|
-
pr: 3,
|
|
9963
|
-
borderRight: 1,
|
|
9964
|
-
borderColor: "divider"
|
|
9965
|
-
},
|
|
9966
|
-
children: sidebar
|
|
9967
|
-
}
|
|
9968
|
-
),
|
|
9969
|
-
/* @__PURE__ */ jsx(
|
|
9970
|
-
Box20,
|
|
9971
|
-
{
|
|
9972
|
-
component: "main",
|
|
9973
|
-
sx: {
|
|
9974
|
-
flex: 1,
|
|
9975
|
-
minWidth: 0,
|
|
9976
|
-
px: { xs: 2, md: 4 }
|
|
9977
|
-
},
|
|
9978
|
-
children
|
|
9979
|
-
}
|
|
9980
|
-
),
|
|
9981
|
-
sectionNav && /* @__PURE__ */ jsx(
|
|
9982
|
-
Box20,
|
|
9983
|
-
{
|
|
9984
|
-
component: "aside",
|
|
9985
|
-
sx: {
|
|
9986
|
-
width: 240,
|
|
9987
|
-
flexShrink: 0,
|
|
9988
|
-
display: { xs: "none", lg: "block" },
|
|
9989
|
-
position: "sticky",
|
|
9990
|
-
top: 80,
|
|
9991
|
-
alignSelf: "flex-start",
|
|
9992
|
-
maxHeight: "calc(100vh - 100px)",
|
|
9993
|
-
overflowY: "auto",
|
|
9994
|
-
pl: 3
|
|
9995
|
-
},
|
|
9996
|
-
children: sectionNav
|
|
9997
|
-
}
|
|
9998
|
-
)
|
|
9999
|
-
]
|
|
10000
|
-
}
|
|
10001
|
-
);
|
|
10002
|
-
}
|
|
10003
|
-
var MAX_LABEL_LINES = 2;
|
|
10004
|
-
var useIsoLayoutEffect = typeof window === "undefined" ? useEffect : useLayoutEffect;
|
|
10005
|
-
function DocSidebar({ items, activeId, onItemClick, title }) {
|
|
10006
|
-
return /* @__PURE__ */ jsxs(Box20, { children: [
|
|
10007
|
-
title && /* @__PURE__ */ jsx(
|
|
10008
|
-
Typography5,
|
|
10009
|
-
{
|
|
10010
|
-
variant: "subtitle2",
|
|
10011
|
-
sx: {
|
|
10012
|
-
px: 1.5,
|
|
10013
|
-
pt: 0.5,
|
|
10014
|
-
pb: 2,
|
|
10015
|
-
fontWeight: 700,
|
|
10016
|
-
fontSize: "0.8125rem",
|
|
10017
|
-
color: "text.secondary",
|
|
10018
|
-
letterSpacing: "0.01em"
|
|
10019
|
-
},
|
|
10020
|
-
children: title
|
|
10021
|
-
}
|
|
10022
|
-
),
|
|
10023
|
-
/* @__PURE__ */ jsx(List2, { dense: true, disablePadding: true, children: items.map((item) => /* @__PURE__ */ jsx(SidebarNode, { item, activeId, onItemClick, depth: 0 }, item.id)) })
|
|
10024
|
-
] });
|
|
10025
|
-
}
|
|
10026
|
-
function SidebarNode({
|
|
10027
|
-
item,
|
|
10028
|
-
activeId,
|
|
10029
|
-
onItemClick,
|
|
10030
|
-
depth
|
|
10031
|
-
}) {
|
|
10032
|
-
const hasChildren = item.children && item.children.length > 0;
|
|
10033
|
-
const isActive = activeId === item.id;
|
|
10034
|
-
const [open, setOpen] = useState(true);
|
|
10035
|
-
const isCategory = hasChildren && !item.href;
|
|
10036
|
-
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
10037
|
-
/* @__PURE__ */ jsx(
|
|
10038
|
-
ListItemButton,
|
|
10039
|
-
{
|
|
10040
|
-
selected: isActive,
|
|
10041
|
-
onClick: () => {
|
|
10042
|
-
if (hasChildren) setOpen(!open);
|
|
10043
|
-
onItemClick?.(item);
|
|
10044
|
-
},
|
|
10045
|
-
sx: {
|
|
10046
|
-
pl: 1.5 + depth * 1.5,
|
|
10047
|
-
pr: 1,
|
|
10048
|
-
py: isCategory ? 0.75 : 0.5,
|
|
10049
|
-
borderRadius: 1,
|
|
10050
|
-
mx: 0.5,
|
|
10051
|
-
mb: 0.25,
|
|
10052
|
-
minHeight: 0,
|
|
10053
|
-
alignItems: "flex-start",
|
|
10054
|
-
...isCategory && {
|
|
10055
|
-
mt: depth === 0 ? 1 : 0.5
|
|
10056
|
-
},
|
|
10057
|
-
...isActive && {
|
|
10058
|
-
bgcolor: (theme) => alpha(theme.palette.primary.main, 0.08),
|
|
10059
|
-
color: "primary.main"
|
|
10060
|
-
}
|
|
10061
|
-
},
|
|
10062
|
-
children: /* @__PURE__ */ jsx(
|
|
10063
|
-
SidebarLabel,
|
|
10064
|
-
{
|
|
10065
|
-
label: item.label,
|
|
10066
|
-
sx: {
|
|
10067
|
-
fontWeight: isCategory ? 600 : isActive ? 600 : 400,
|
|
10068
|
-
fontSize: "0.8125rem",
|
|
10069
|
-
...isCategory && { color: "text.primary" }
|
|
10070
|
-
}
|
|
10071
|
-
}
|
|
10072
|
-
)
|
|
10073
|
-
}
|
|
10074
|
-
),
|
|
10075
|
-
hasChildren && /* @__PURE__ */ jsx(Collapse, { in: open, children: /* @__PURE__ */ jsx(List2, { dense: true, disablePadding: true, children: item.children.map((child) => /* @__PURE__ */ jsx(
|
|
10076
|
-
SidebarNode,
|
|
10077
|
-
{
|
|
10078
|
-
item: child,
|
|
10079
|
-
activeId,
|
|
10080
|
-
onItemClick,
|
|
10081
|
-
depth: depth + 1
|
|
10082
|
-
},
|
|
10083
|
-
child.id
|
|
10084
|
-
)) }) })
|
|
10085
|
-
] });
|
|
10086
|
-
}
|
|
10087
|
-
function SidebarLabel({ label, sx }) {
|
|
10088
|
-
const ref = useRef(null);
|
|
10089
|
-
const [isOverflowing, setIsOverflowing] = useState(false);
|
|
10090
|
-
useIsoLayoutEffect(() => {
|
|
10091
|
-
const el = ref.current;
|
|
10092
|
-
if (!el) return void 0;
|
|
10093
|
-
const check = () => {
|
|
10094
|
-
setIsOverflowing(el.scrollHeight > el.clientHeight + 1);
|
|
10095
|
-
};
|
|
10096
|
-
check();
|
|
10097
|
-
if (typeof ResizeObserver === "undefined") return void 0;
|
|
10098
|
-
const ro = new ResizeObserver(check);
|
|
10099
|
-
ro.observe(el);
|
|
10100
|
-
return () => ro.disconnect();
|
|
10101
|
-
}, [label]);
|
|
10102
|
-
const text = /* @__PURE__ */ jsx(
|
|
10103
|
-
Typography5,
|
|
10104
|
-
{
|
|
10105
|
-
ref,
|
|
10106
|
-
component: "span",
|
|
10107
|
-
variant: "body2",
|
|
10108
|
-
sx: {
|
|
10109
|
-
display: "-webkit-box",
|
|
10110
|
-
WebkitBoxOrient: "vertical",
|
|
10111
|
-
WebkitLineClamp: MAX_LABEL_LINES,
|
|
10112
|
-
overflow: "hidden",
|
|
10113
|
-
wordBreak: "break-word",
|
|
10114
|
-
lineHeight: 1.35,
|
|
10115
|
-
// The flex parent (ListItemButton) needs `minWidth: 0`
|
|
10116
|
-
// on the child for the ellipsis to take effect; do it
|
|
10117
|
-
// here so the consumer doesn't have to reach in.
|
|
10118
|
-
minWidth: 0,
|
|
10119
|
-
flex: 1,
|
|
10120
|
-
...sx
|
|
10121
|
-
},
|
|
10122
|
-
children: label
|
|
10123
|
-
}
|
|
10124
|
-
);
|
|
10125
|
-
if (!isOverflowing) return text;
|
|
10126
|
-
return /* @__PURE__ */ jsx(
|
|
10127
|
-
Tooltip2,
|
|
10128
|
-
{
|
|
10129
|
-
title: label,
|
|
10130
|
-
placement: "right",
|
|
10131
|
-
arrow: true,
|
|
10132
|
-
enterDelay: 300,
|
|
10133
|
-
enterNextDelay: 150,
|
|
10134
|
-
disableInteractive: true,
|
|
10135
|
-
children: text
|
|
10136
|
-
}
|
|
10137
|
-
);
|
|
10138
|
-
}
|
|
10139
|
-
function DocSectionNav({ headings, title = "On this page" }) {
|
|
10140
|
-
const { activeId } = useScrollSpy();
|
|
10141
|
-
const handleClick = useCallback((e, id) => {
|
|
10142
|
-
e.preventDefault();
|
|
10143
|
-
const element = document.getElementById(id);
|
|
10144
|
-
if (element) {
|
|
10145
|
-
element.scrollIntoView({ behavior: "smooth", block: "start" });
|
|
10146
|
-
window.history.replaceState(null, "", `#${id}`);
|
|
10147
|
-
}
|
|
10148
|
-
}, []);
|
|
10149
|
-
if (headings.length === 0) return null;
|
|
10150
|
-
return /* @__PURE__ */ jsxs(Box20, { children: [
|
|
10151
|
-
/* @__PURE__ */ jsx(
|
|
10152
|
-
Typography5,
|
|
10153
|
-
{
|
|
10154
|
-
variant: "overline",
|
|
10155
|
-
sx: {
|
|
10156
|
-
display: "block",
|
|
10157
|
-
mb: 2,
|
|
10158
|
-
color: "text.secondary",
|
|
10159
|
-
fontSize: "0.6875rem",
|
|
10160
|
-
fontWeight: 700,
|
|
10161
|
-
letterSpacing: "0.08em"
|
|
10162
|
-
},
|
|
10163
|
-
children: title
|
|
10164
|
-
}
|
|
10165
|
-
),
|
|
10166
|
-
/* @__PURE__ */ jsx(
|
|
10167
|
-
Box20,
|
|
10168
|
-
{
|
|
10169
|
-
component: "nav",
|
|
10170
|
-
sx: {
|
|
10171
|
-
position: "relative",
|
|
10172
|
-
borderLeft: 1,
|
|
10173
|
-
borderColor: "divider"
|
|
10174
|
-
},
|
|
10175
|
-
children: headings.map((heading) => {
|
|
10176
|
-
const isActive = activeId === heading.id;
|
|
10177
|
-
const indent = (heading.level - 2) * 1.5;
|
|
10178
|
-
return /* @__PURE__ */ jsx(
|
|
10179
|
-
Box20,
|
|
10180
|
-
{
|
|
10181
|
-
component: "a",
|
|
10182
|
-
href: `#${heading.id}`,
|
|
10183
|
-
onClick: (e) => handleClick(e, heading.id),
|
|
10184
|
-
sx: {
|
|
10185
|
-
display: "block",
|
|
10186
|
-
py: 0.75,
|
|
10187
|
-
pl: indent + 2,
|
|
10188
|
-
pr: 1,
|
|
10189
|
-
ml: "-1px",
|
|
10190
|
-
fontSize: "0.8125rem",
|
|
10191
|
-
lineHeight: 1.5,
|
|
10192
|
-
textDecoration: "none",
|
|
10193
|
-
color: isActive ? "primary.main" : "text.disabled",
|
|
10194
|
-
fontWeight: isActive ? 600 : 400,
|
|
10195
|
-
borderLeft: 2,
|
|
10196
|
-
borderColor: isActive ? "primary.main" : "transparent",
|
|
10197
|
-
transition: "color 0.2s ease, border-color 0.2s ease",
|
|
10198
|
-
cursor: "pointer",
|
|
10199
|
-
"&:hover": {
|
|
10200
|
-
color: isActive ? "primary.main" : "text.primary",
|
|
10201
|
-
backgroundColor: (theme) => alpha(theme.palette.action.hover, 0.04),
|
|
10202
|
-
borderRadius: "0 6px 6px 0"
|
|
10203
|
-
}
|
|
10204
|
-
},
|
|
10205
|
-
children: heading.text
|
|
10206
|
-
},
|
|
10207
|
-
heading.id
|
|
10208
|
-
);
|
|
10209
|
-
})
|
|
10210
|
-
}
|
|
10211
|
-
)
|
|
10212
|
-
] });
|
|
10213
|
-
}
|
|
10214
|
-
|
|
10215
|
-
// src/components/content-renderer/classes.ts
|
|
10216
|
-
var PREFIX = "prism-content";
|
|
10217
|
-
var contentClasses = {
|
|
10218
|
-
root: `${PREFIX}__root`,
|
|
10219
|
-
compact: `${PREFIX}__compact`,
|
|
10220
|
-
tiptap: `${PREFIX}__tiptap`,
|
|
10221
|
-
markdown: `${PREFIX}__markdown`,
|
|
10222
|
-
image: `${PREFIX}__image`,
|
|
10223
|
-
link: `${PREFIX}__link`,
|
|
10224
|
-
checkbox: `${PREFIX}__checkbox`,
|
|
10225
|
-
codeBlock: `${PREFIX}__code-block`,
|
|
10226
|
-
codeBlockTitle: `${PREFIX}__code-block-title`,
|
|
10227
|
-
codeBlockCopy: `${PREFIX}__code-block-copy`,
|
|
10228
|
-
codeBlockHighlight: `${PREFIX}__code-block-highlight`,
|
|
10229
|
-
codeInline: `${PREFIX}__code-inline`,
|
|
10230
|
-
spoiler: `${PREFIX}__spoiler`,
|
|
10231
|
-
admonition: `${PREFIX}__admonition`,
|
|
10232
|
-
admonitionNote: `${PREFIX}__admonition-note`,
|
|
10233
|
-
admonitionTip: `${PREFIX}__admonition-tip`,
|
|
10234
|
-
admonitionWarning: `${PREFIX}__admonition-warning`,
|
|
10235
|
-
admonitionDanger: `${PREFIX}__admonition-danger`,
|
|
10236
|
-
admonitionInfo: `${PREFIX}__admonition-info`,
|
|
10237
|
-
admonitionCaution: `${PREFIX}__admonition-caution`,
|
|
10238
|
-
admonitionTitle: `${PREFIX}__admonition-title`,
|
|
10239
|
-
admonitionContent: `${PREFIX}__admonition-content`,
|
|
10240
|
-
tabs: `${PREFIX}__tabs`,
|
|
10241
|
-
tabsHeader: `${PREFIX}__tabs-header`,
|
|
10242
|
-
tabsTab: `${PREFIX}__tabs-tab`,
|
|
10243
|
-
tabsTabActive: `${PREFIX}__tabs-tab-active`,
|
|
10244
|
-
tabsPanel: `${PREFIX}__tabs-panel`,
|
|
10245
|
-
figure: `${PREFIX}__figure`,
|
|
10246
|
-
figcaption: `${PREFIX}__figcaption`,
|
|
10247
|
-
kbd: `${PREFIX}__kbd`
|
|
10248
|
-
};
|
|
10249
|
-
|
|
10250
|
-
// src/components/content-renderer/styles.ts
|
|
10251
|
-
var MARGIN = "0.75em";
|
|
10252
|
-
var CODE_FONT = "'JetBrains Mono', 'Fira Code', 'Cascadia Code', Menlo, Monaco, 'Courier New', monospace";
|
|
10253
|
-
var ContentRoot = styled("div")(({ theme }) => ({
|
|
10254
|
-
// General spacing between adjacent elements
|
|
10255
|
-
"> * + *": {
|
|
10256
|
-
marginTop: 0,
|
|
10257
|
-
marginBottom: MARGIN
|
|
10258
|
-
},
|
|
10259
|
-
// ─── Headings ───────────────────────────────────────────────
|
|
10260
|
-
"& h1, & h2, & h3, & h4, & h5, & h6": {
|
|
10261
|
-
scrollMarginTop: 100
|
|
10262
|
-
// Account for sticky header on anchor jump
|
|
10263
|
-
},
|
|
10264
|
-
// Heading margins. Top margins are applied via the adjacent-sibling
|
|
10265
|
-
// combinator (`* + hN`) rather than a `:first-child` reset: a heading
|
|
10266
|
-
// takes its top margin ONLY when it follows another element, so a
|
|
10267
|
-
// heading at the very top of its container carries none. This is
|
|
10268
|
-
// SSR-safe (avoids Emotion's `:first-child` warning) and yields the
|
|
10269
|
-
// same result the previous `& > :first-child:is(h1,h2,h3)` reset did.
|
|
10270
|
-
h1: { ...theme.typography.h1, marginTop: 0, marginBottom: 12 },
|
|
10271
|
-
h2: { ...theme.typography.h2, marginTop: 0, marginBottom: 12 },
|
|
10272
|
-
h3: { ...theme.typography.h3, marginTop: 0, marginBottom: 8 },
|
|
10273
|
-
h4: { ...theme.typography.h4, marginTop: 0, marginBottom: 8 },
|
|
10274
|
-
h5: { ...theme.typography.h5, marginTop: 0, marginBottom: 8 },
|
|
10275
|
-
h6: { ...theme.typography.h6, marginTop: 0, marginBottom: 8 },
|
|
10276
|
-
"& * + h1, & * + h2": { marginTop: 40 },
|
|
10277
|
-
"& * + h3": { marginTop: 32 },
|
|
10278
|
-
"& * + h4, & * + h5, & * + h6": { marginTop: 24 },
|
|
10279
|
-
// ─── Paragraph ──────────────────────────────────────────────
|
|
10280
|
-
p: {
|
|
10281
|
-
...theme.typography.body1,
|
|
10282
|
-
marginBottom: "1.25rem",
|
|
10283
|
-
lineHeight: 1.8
|
|
10284
|
-
},
|
|
10285
|
-
// ─── Horizontal rule ───────────────────────────────────────
|
|
10286
|
-
hr: {
|
|
10287
|
-
flexShrink: 0,
|
|
10288
|
-
borderWidth: 0,
|
|
10289
|
-
margin: "2em 0",
|
|
10290
|
-
borderStyle: "solid",
|
|
10291
|
-
borderBottomWidth: "thin",
|
|
10292
|
-
borderColor: theme.palette.divider
|
|
10293
|
-
},
|
|
10294
|
-
// ─── Images ─────────────────────────────────────────────────
|
|
10295
|
-
[`& .${contentClasses.image}`]: {
|
|
10296
|
-
width: "100%",
|
|
10297
|
-
height: "auto",
|
|
10298
|
-
maxWidth: "100%",
|
|
10299
|
-
margin: "auto auto 1.25em",
|
|
10300
|
-
borderRadius: Number(theme.shape.borderRadius) * 2
|
|
10301
|
-
},
|
|
10302
|
-
// Plain img fallback
|
|
10303
|
-
"& img:not([class])": {
|
|
10304
|
-
maxWidth: "100%",
|
|
10305
|
-
height: "auto",
|
|
10306
|
-
borderRadius: Number(theme.shape.borderRadius) * 2,
|
|
10307
|
-
marginBottom: "1.25em"
|
|
10308
|
-
},
|
|
10309
|
-
// ─── Links ──────────────────────────────────────────────────
|
|
10310
|
-
"& a": {
|
|
10311
|
-
color: theme.palette.primary.main,
|
|
10312
|
-
textDecoration: "none",
|
|
10313
|
-
"&:hover": {
|
|
10314
|
-
textDecoration: "underline"
|
|
10315
|
-
}
|
|
10316
|
-
},
|
|
10317
|
-
// ─── Lists ──────────────────────────────────────────────────
|
|
10318
|
-
"& ul": {
|
|
10319
|
-
listStyleType: "disc"
|
|
10320
|
-
},
|
|
10321
|
-
"& ul, & ol": {
|
|
10322
|
-
paddingLeft: 24,
|
|
10323
|
-
marginBottom: "1.25rem",
|
|
10324
|
-
"& > li": {
|
|
10325
|
-
lineHeight: 2,
|
|
10326
|
-
// Markdown wraps every list-item body in a `<p>`. With
|
|
10327
|
-
// `display: inline-block` (the previous setting), Chromium
|
|
10328
|
-
// refuses to render the `<li>`'s ::marker at all — the
|
|
10329
|
-
// disc/decimal vanishes and the list looks like a series of
|
|
10330
|
-
// bullet-less paragraphs. `display: inline` collapses the
|
|
10331
|
-
// `<p>` into inline flow so the marker positions normally;
|
|
10332
|
-
// `margin: 0` keeps the LI height tight against the marker
|
|
10333
|
-
// baseline. Multi-paragraph list items (rare here, but
|
|
10334
|
-
// possible) still render — subsequent `<p>` siblings get a
|
|
10335
|
-
// line break by the inline-flow rules.
|
|
10336
|
-
"& > p": {
|
|
10337
|
-
margin: 0,
|
|
10338
|
-
display: "inline"
|
|
10339
|
-
}
|
|
10340
|
-
}
|
|
10341
|
-
},
|
|
10342
|
-
// Nested lists
|
|
10343
|
-
"& ul ul, & ol ol, & ul ol, & ol ul": {
|
|
10344
|
-
marginBottom: 0
|
|
10345
|
-
},
|
|
10346
|
-
// ─── Task list (TipTap taskList / GFM checkboxes) ──────────
|
|
10347
|
-
'& ul[data-type="taskList"]': {
|
|
10348
|
-
listStyle: "none",
|
|
10349
|
-
paddingLeft: 4,
|
|
10350
|
-
"& li": {
|
|
10351
|
-
display: "flex",
|
|
10352
|
-
alignItems: "flex-start",
|
|
10353
|
-
gap: 8,
|
|
10354
|
-
"& > label": {
|
|
10355
|
-
marginTop: 4
|
|
10356
|
-
}
|
|
10357
|
-
}
|
|
10358
|
-
},
|
|
10359
|
-
// ─── Blockquote ─────────────────────────────────────────────
|
|
10360
|
-
"& blockquote": {
|
|
10361
|
-
lineHeight: 1.6,
|
|
10362
|
-
fontSize: "1em",
|
|
10363
|
-
margin: "24px 0",
|
|
10364
|
-
position: "relative",
|
|
10365
|
-
padding: theme.spacing(2.5, 3, 2.5, 7),
|
|
10366
|
-
color: theme.palette.text.secondary,
|
|
10367
|
-
borderLeft: `4px solid ${theme.palette.primary.main}`,
|
|
10368
|
-
borderRadius: Number(theme.shape.borderRadius) * 2,
|
|
10369
|
-
backgroundColor: alpha(theme.palette.primary.main, 0.04),
|
|
10370
|
-
"& p": {
|
|
10371
|
-
margin: 0,
|
|
10372
|
-
fontSize: "inherit"
|
|
10373
|
-
},
|
|
10374
|
-
"& p + p": {
|
|
10375
|
-
marginTop: 8
|
|
10376
|
-
},
|
|
10377
|
-
"&::before": {
|
|
10378
|
-
left: 16,
|
|
10379
|
-
top: 8,
|
|
10380
|
-
display: "block",
|
|
10381
|
-
fontSize: "2.5em",
|
|
10382
|
-
content: '"\\201C"',
|
|
10383
|
-
position: "absolute",
|
|
10384
|
-
color: alpha(theme.palette.primary.main, 0.3),
|
|
10385
|
-
lineHeight: 1
|
|
10386
|
-
}
|
|
10387
|
-
},
|
|
10388
|
-
// ─── Inline code ────────────────────────────────────────────
|
|
10389
|
-
[`& .${contentClasses.codeInline}`]: {
|
|
10390
|
-
padding: theme.spacing(0.25, 0.75),
|
|
10391
|
-
color: theme.palette.text.secondary,
|
|
10392
|
-
fontSize: theme.typography.body2.fontSize,
|
|
10393
|
-
borderRadius: Number(theme.shape.borderRadius) / 2,
|
|
10394
|
-
backgroundColor: alpha(theme.palette.grey[500], 0.2),
|
|
10395
|
-
fontFamily: CODE_FONT
|
|
10396
|
-
},
|
|
10397
|
-
// Fallback for code not inside pre
|
|
10398
|
-
"& :not(pre) > code:not([class])": {
|
|
10399
|
-
padding: theme.spacing(0.25, 0.75),
|
|
10400
|
-
color: theme.palette.text.secondary,
|
|
10401
|
-
fontSize: theme.typography.body2.fontSize,
|
|
10402
|
-
borderRadius: Number(theme.shape.borderRadius) / 2,
|
|
10403
|
-
backgroundColor: alpha(theme.palette.grey[500], 0.2),
|
|
10404
|
-
fontFamily: CODE_FONT
|
|
10405
|
-
},
|
|
10406
|
-
// ─── Code block ─────────────────────────────────────────────
|
|
10407
|
-
[`& .${contentClasses.codeBlock}`]: {
|
|
10408
|
-
position: "relative",
|
|
10409
|
-
marginBottom: "1.25rem",
|
|
10410
|
-
"& pre": {
|
|
10411
|
-
overflowX: "auto",
|
|
10412
|
-
padding: theme.spacing(3),
|
|
10413
|
-
color: theme.palette.common.white,
|
|
10414
|
-
borderRadius: Number(theme.shape.borderRadius) * 1.5,
|
|
10415
|
-
fontFamily: CODE_FONT,
|
|
10416
|
-
fontSize: theme.typography.body2.fontSize,
|
|
10417
|
-
lineHeight: 1.7,
|
|
10418
|
-
backgroundColor: theme.palette.grey[900],
|
|
10419
|
-
...theme.palette.mode === "dark" && {
|
|
10420
|
-
backgroundColor: alpha(theme.palette.grey[800], 0.9)
|
|
10421
|
-
},
|
|
10422
|
-
"& code": {
|
|
10423
|
-
fontSize: "inherit",
|
|
10424
|
-
fontFamily: "inherit",
|
|
10425
|
-
backgroundColor: "transparent",
|
|
10426
|
-
padding: 0,
|
|
10427
|
-
borderRadius: 0,
|
|
10428
|
-
color: "inherit"
|
|
10429
|
-
}
|
|
10430
|
-
}
|
|
10431
|
-
},
|
|
10432
|
-
// Fallback for bare pre blocks
|
|
10433
|
-
"& pre:not([class])": {
|
|
10434
|
-
overflowX: "auto",
|
|
10435
|
-
padding: theme.spacing(3),
|
|
10436
|
-
color: theme.palette.common.white,
|
|
10437
|
-
borderRadius: Number(theme.shape.borderRadius) * 1.5,
|
|
10438
|
-
fontFamily: CODE_FONT,
|
|
10439
|
-
fontSize: theme.typography.body2.fontSize,
|
|
10440
|
-
lineHeight: 1.7,
|
|
10441
|
-
backgroundColor: theme.palette.grey[900],
|
|
10442
|
-
marginBottom: "1.25rem",
|
|
10443
|
-
...theme.palette.mode === "dark" && {
|
|
10444
|
-
backgroundColor: alpha(theme.palette.grey[800], 0.9)
|
|
10445
|
-
},
|
|
10446
|
-
"& code": {
|
|
10447
|
-
fontSize: "inherit",
|
|
10448
|
-
fontFamily: "inherit",
|
|
10449
|
-
backgroundColor: "transparent",
|
|
10450
|
-
padding: 0,
|
|
10451
|
-
color: "inherit"
|
|
10452
|
-
}
|
|
10453
|
-
},
|
|
10454
|
-
// ─── Table ──────────────────────────────────────────────────
|
|
10455
|
-
"& table": {
|
|
10456
|
-
width: "100%",
|
|
10457
|
-
borderCollapse: "collapse",
|
|
10458
|
-
fontSize: theme.typography.body2.fontSize,
|
|
10459
|
-
border: `1px solid ${theme.palette.divider}`,
|
|
10460
|
-
marginBottom: "1.25rem",
|
|
10461
|
-
"& th, & td": {
|
|
10462
|
-
padding: theme.spacing(1, 1.5),
|
|
10463
|
-
border: `1px solid ${theme.palette.divider}`,
|
|
10464
|
-
verticalAlign: "top"
|
|
10465
|
-
},
|
|
10466
|
-
"& th": {
|
|
10467
|
-
fontWeight: 700,
|
|
10468
|
-
backgroundColor: alpha(theme.palette.grey[500], 0.08)
|
|
10469
|
-
},
|
|
10470
|
-
// Zebra rows. `:nth-of-type` (not `:nth-child`) is SSR-safe and
|
|
10471
|
-
// exactly equivalent here — a `<tbody>` contains only `<tr>`
|
|
10472
|
-
// children, so type-position and child-position coincide.
|
|
10473
|
-
"& tbody tr:nth-of-type(odd)": {
|
|
10474
|
-
backgroundColor: alpha(theme.palette.grey[500], 0.04)
|
|
10475
|
-
}
|
|
10476
|
-
},
|
|
10477
|
-
// ─── Checkbox (GFM task lists) ──────────────────────────────
|
|
10478
|
-
[`& .${contentClasses.checkbox}`]: {
|
|
10479
|
-
cursor: "pointer",
|
|
10480
|
-
position: "relative",
|
|
10481
|
-
"&:before": {
|
|
10482
|
-
content: '""',
|
|
10483
|
-
top: -2,
|
|
10484
|
-
left: -2,
|
|
10485
|
-
width: 17,
|
|
10486
|
-
height: 17,
|
|
10487
|
-
borderRadius: 3,
|
|
10488
|
-
position: "absolute",
|
|
10489
|
-
backgroundColor: theme.palette.grey[300],
|
|
10490
|
-
...theme.palette.mode === "dark" && {
|
|
10491
|
-
backgroundColor: theme.palette.grey[700]
|
|
10492
|
-
}
|
|
10493
|
-
},
|
|
10494
|
-
"&:checked": {
|
|
10495
|
-
"&:before": {
|
|
10496
|
-
backgroundColor: theme.palette.primary.main
|
|
10497
|
-
},
|
|
10498
|
-
"&:after": {
|
|
10499
|
-
top: 1,
|
|
10500
|
-
left: 5,
|
|
10501
|
-
width: 4,
|
|
10502
|
-
height: 9,
|
|
10503
|
-
content: '""',
|
|
10504
|
-
position: "absolute",
|
|
10505
|
-
borderStyle: "solid",
|
|
10506
|
-
transform: "rotate(45deg)",
|
|
10507
|
-
borderWidth: "0 2px 2px 0",
|
|
10508
|
-
borderColor: theme.palette.common.white
|
|
10509
|
-
}
|
|
10510
|
-
}
|
|
10511
|
-
},
|
|
10512
|
-
// ─── Details / Summary ──────────────────────────────────────
|
|
10513
|
-
"& details": {
|
|
10514
|
-
marginBottom: "1rem",
|
|
10515
|
-
"& summary": {
|
|
10516
|
-
cursor: "pointer",
|
|
10517
|
-
fontWeight: 600,
|
|
10518
|
-
marginBottom: 8
|
|
10519
|
-
}
|
|
10520
|
-
},
|
|
10521
|
-
// ─── Definition list ────────────────────────────────────────
|
|
10522
|
-
"& dl": {
|
|
10523
|
-
marginBottom: "1.25rem",
|
|
10524
|
-
"& dt": {
|
|
10525
|
-
fontWeight: 700,
|
|
10526
|
-
marginTop: 12
|
|
10527
|
-
},
|
|
10528
|
-
"& dd": {
|
|
10529
|
-
marginLeft: 24,
|
|
10530
|
-
marginBottom: 4
|
|
10531
|
-
}
|
|
10532
|
-
},
|
|
10533
|
-
// ─── Kbd (keyboard shortcut) ────────────────────────────────
|
|
10534
|
-
"& kbd": {
|
|
10535
|
-
display: "inline-block",
|
|
10536
|
-
padding: theme.spacing(0.25, 0.5),
|
|
10537
|
-
fontSize: "0.8em",
|
|
10538
|
-
fontFamily: CODE_FONT,
|
|
10539
|
-
borderRadius: 4,
|
|
10540
|
-
border: `1px solid ${theme.palette.divider}`,
|
|
10541
|
-
boxShadow: `0 1px 0 ${alpha(theme.palette.grey[500], 0.1)}`,
|
|
10542
|
-
backgroundColor: alpha(theme.palette.grey[500], 0.06)
|
|
10543
|
-
},
|
|
10544
|
-
// ─── Mark (highlight) ──────────────────────────────────────
|
|
10545
|
-
"& mark": {
|
|
10546
|
-
padding: theme.spacing(0, 0.5),
|
|
10547
|
-
borderRadius: 2,
|
|
10548
|
-
backgroundColor: alpha(theme.palette.warning.main, 0.3)
|
|
10549
|
-
},
|
|
10550
|
-
// ─── Sup / Sub ──────────────────────────────────────────────
|
|
10551
|
-
"& sup, & sub": {
|
|
10552
|
-
fontSize: "0.75em"
|
|
10553
|
-
},
|
|
10554
|
-
// ─── Spoiler (||hidden text||) ────────────────────────────
|
|
10555
|
-
[`& .${contentClasses.spoiler}`]: {
|
|
10556
|
-
backgroundColor: theme.palette.text.primary,
|
|
10557
|
-
color: theme.palette.text.primary,
|
|
10558
|
-
borderRadius: 4,
|
|
10559
|
-
padding: theme.spacing(0, 0.5),
|
|
10560
|
-
cursor: "pointer",
|
|
10561
|
-
transition: "all 0.15s ease",
|
|
10562
|
-
userSelect: "none",
|
|
10563
|
-
'&:hover, &[data-revealed="true"]': {
|
|
10564
|
-
backgroundColor: "transparent",
|
|
10565
|
-
color: "inherit",
|
|
10566
|
-
userSelect: "auto"
|
|
10567
|
-
}
|
|
10568
|
-
},
|
|
10569
|
-
// ─── Admonition (callout) ─────────────────────────────────
|
|
10570
|
-
[`& .${contentClasses.admonition}`]: {
|
|
10571
|
-
margin: theme.spacing(2, 0),
|
|
10572
|
-
padding: theme.spacing(1.5, 2),
|
|
10573
|
-
borderRadius: theme.shape.borderRadius,
|
|
10574
|
-
borderLeft: `4px solid ${theme.palette.divider}`,
|
|
10575
|
-
backgroundColor: alpha(theme.palette.text.primary, 0.04),
|
|
10576
|
-
"& > :last-child": { marginBottom: 0 }
|
|
10577
|
-
},
|
|
10578
|
-
[`& .${contentClasses.admonitionTitle}`]: {
|
|
10579
|
-
fontWeight: 600,
|
|
10580
|
-
textTransform: "uppercase",
|
|
10581
|
-
fontSize: "0.75rem",
|
|
10582
|
-
letterSpacing: "0.05em",
|
|
10583
|
-
marginBottom: theme.spacing(0.75),
|
|
10584
|
-
opacity: 0.85
|
|
10585
|
-
},
|
|
10586
|
-
[`& .${contentClasses.admonitionContent}`]: {
|
|
10587
|
-
"& p:last-child": { marginBottom: 0 }
|
|
10588
|
-
},
|
|
10589
|
-
[`& .${contentClasses.admonitionNote}`]: {
|
|
10590
|
-
borderLeftColor: theme.palette.text.secondary,
|
|
10591
|
-
backgroundColor: alpha(theme.palette.text.primary, 0.04)
|
|
10592
|
-
},
|
|
10593
|
-
[`& .${contentClasses.admonitionTip}`]: {
|
|
10594
|
-
borderLeftColor: theme.palette.success.main,
|
|
10595
|
-
backgroundColor: alpha(theme.palette.success.main, 0.08)
|
|
10596
|
-
},
|
|
10597
|
-
[`& .${contentClasses.admonitionWarning}`]: {
|
|
10598
|
-
borderLeftColor: theme.palette.warning.main,
|
|
10599
|
-
backgroundColor: alpha(theme.palette.warning.main, 0.08)
|
|
10600
|
-
},
|
|
10601
|
-
[`& .${contentClasses.admonitionDanger}`]: {
|
|
10602
|
-
borderLeftColor: theme.palette.error.main,
|
|
10603
|
-
backgroundColor: alpha(theme.palette.error.main, 0.08)
|
|
10604
|
-
},
|
|
10605
|
-
[`& .${contentClasses.admonitionInfo}`]: {
|
|
10606
|
-
borderLeftColor: theme.palette.info.main,
|
|
10607
|
-
backgroundColor: alpha(theme.palette.info.main, 0.08)
|
|
10608
|
-
},
|
|
10609
|
-
[`& .${contentClasses.admonitionCaution}`]: {
|
|
10610
|
-
borderLeftColor: theme.palette.warning.dark,
|
|
10611
|
-
backgroundColor: alpha(theme.palette.warning.dark, 0.08)
|
|
10612
|
-
},
|
|
10613
|
-
// ─── Tabs ───────────────────────────────────────────────────
|
|
10614
|
-
[`& .${contentClasses.tabs}`]: {
|
|
10615
|
-
margin: theme.spacing(2, 0),
|
|
10616
|
-
border: `1px solid ${theme.palette.divider}`,
|
|
10617
|
-
borderRadius: theme.shape.borderRadius,
|
|
10618
|
-
overflow: "hidden"
|
|
10619
|
-
},
|
|
10620
|
-
[`& .${contentClasses.tabsHeader}`]: {
|
|
10621
|
-
display: "flex",
|
|
10622
|
-
gap: 0,
|
|
10623
|
-
borderBottom: `1px solid ${theme.palette.divider}`,
|
|
10624
|
-
backgroundColor: alpha(theme.palette.text.primary, 0.03)
|
|
10625
|
-
},
|
|
10626
|
-
[`& .${contentClasses.tabsTab}`]: {
|
|
10627
|
-
appearance: "none",
|
|
10628
|
-
background: "transparent",
|
|
10629
|
-
border: "none",
|
|
10630
|
-
padding: theme.spacing(1, 2),
|
|
10631
|
-
fontFamily: "inherit",
|
|
10632
|
-
fontSize: "0.8125rem",
|
|
10633
|
-
fontWeight: 500,
|
|
10634
|
-
color: theme.palette.text.secondary,
|
|
10635
|
-
cursor: "pointer",
|
|
10636
|
-
borderBottom: "2px solid transparent",
|
|
10637
|
-
transition: "all 0.15s ease",
|
|
10638
|
-
"&:hover": { color: theme.palette.text.primary }
|
|
10639
|
-
},
|
|
10640
|
-
[`& .${contentClasses.tabsTabActive}`]: {
|
|
10641
|
-
color: theme.palette.text.primary,
|
|
10642
|
-
borderBottomColor: theme.palette.primary.main
|
|
10643
|
-
},
|
|
10644
|
-
[`& .${contentClasses.tabsPanel}`]: {
|
|
10645
|
-
padding: theme.spacing(2),
|
|
10646
|
-
// No `:first-child` reset needed: headings only take a top margin
|
|
10647
|
-
// when preceded by a sibling (see heading rules above) and
|
|
10648
|
-
// paragraphs carry only a bottom margin, so the panel's first
|
|
10649
|
-
// child never has an excess top margin. (SSR-safe.)
|
|
10650
|
-
"& > :last-child": { marginBottom: 0 }
|
|
10651
|
-
},
|
|
10652
|
-
// ─── Code block — title + copy button ───────────────────────
|
|
10653
|
-
[`& .${contentClasses.codeBlockTitle}`]: {
|
|
10654
|
-
display: "flex",
|
|
10655
|
-
alignItems: "center",
|
|
10656
|
-
justifyContent: "space-between",
|
|
10657
|
-
gap: theme.spacing(1),
|
|
10658
|
-
padding: theme.spacing(0.75, 1.5),
|
|
10659
|
-
fontSize: "0.75rem",
|
|
10660
|
-
fontFamily: 'ui-monospace, "SF Mono", Menlo, Consolas, monospace',
|
|
10661
|
-
color: theme.palette.text.secondary,
|
|
10662
|
-
backgroundColor: alpha(theme.palette.text.primary, 0.06),
|
|
10663
|
-
borderTopLeftRadius: theme.shape.borderRadius,
|
|
10664
|
-
borderTopRightRadius: theme.shape.borderRadius
|
|
10665
|
-
},
|
|
10666
|
-
[`& .${contentClasses.codeBlockCopy}`]: {
|
|
10667
|
-
appearance: "none",
|
|
10668
|
-
background: "transparent",
|
|
10669
|
-
border: "none",
|
|
10670
|
-
color: "inherit",
|
|
10671
|
-
cursor: "pointer",
|
|
10672
|
-
padding: theme.spacing(0.25, 0.75),
|
|
10673
|
-
fontSize: "0.875rem",
|
|
10674
|
-
borderRadius: theme.shape.borderRadius,
|
|
10675
|
-
"&:hover": { backgroundColor: alpha(theme.palette.text.primary, 0.08) }
|
|
10676
|
-
},
|
|
10677
|
-
// ─── Figure ─────────────────────────────────────────────────
|
|
10678
|
-
[`& .${contentClasses.figure}`]: {
|
|
10679
|
-
margin: theme.spacing(2, 0),
|
|
10680
|
-
textAlign: "center"
|
|
10681
|
-
},
|
|
10682
|
-
[`& .${contentClasses.figcaption}`]: {
|
|
10683
|
-
fontSize: "0.8125rem",
|
|
10684
|
-
color: theme.palette.text.secondary,
|
|
10685
|
-
marginTop: theme.spacing(0.75)
|
|
10686
|
-
},
|
|
10687
|
-
// ─── kbd ────────────────────────────────────────────────────
|
|
10688
|
-
[`& .${contentClasses.kbd}`]: {
|
|
10689
|
-
display: "inline-block",
|
|
10690
|
-
padding: theme.spacing(0, 0.5),
|
|
10691
|
-
fontFamily: 'ui-monospace, "SF Mono", Menlo, Consolas, monospace',
|
|
10692
|
-
fontSize: "0.8em",
|
|
10693
|
-
color: theme.palette.text.primary,
|
|
10694
|
-
border: `1px solid ${theme.palette.divider}`,
|
|
10695
|
-
borderBottomWidth: 2,
|
|
10696
|
-
borderRadius: 4,
|
|
10697
|
-
backgroundColor: alpha(theme.palette.text.primary, 0.04),
|
|
10698
|
-
boxShadow: `0 1px 0 ${alpha(theme.palette.text.primary, 0.15)}`,
|
|
10699
|
-
minWidth: "1.5em",
|
|
10700
|
-
textAlign: "center"
|
|
10701
|
-
},
|
|
10702
|
-
// ─── Compact mode (chat messages, comments, etc.) ─────────
|
|
10703
|
-
[`&.${contentClasses.compact}`]: {
|
|
10704
|
-
"> * + *": { marginTop: 0, marginBottom: 2 },
|
|
10705
|
-
// (Dropped an SSR-unsafe `& > :first-child:not(p)` 4px top-margin
|
|
10706
|
-
// tweak — cosmetically negligible in compact mode, and `:first-child`
|
|
10707
|
-
// triggered Emotion's SSR warning.)
|
|
10708
|
-
"& h1, & h2, & h3, & h4, & h5, & h6": { marginTop: 0, marginBottom: 2 },
|
|
10709
|
-
h1: { fontSize: "1.25rem", fontWeight: 600, marginTop: 0, marginBottom: 2 },
|
|
10710
|
-
h2: { fontSize: "1.125rem", fontWeight: 600, marginTop: 0, marginBottom: 2 },
|
|
10711
|
-
h3: { fontSize: "1rem", fontWeight: 600, marginTop: 0, marginBottom: 2 },
|
|
10712
|
-
"h4, h5, h6": { fontSize: "0.875rem", fontWeight: 600, marginTop: 0, marginBottom: 2 },
|
|
10713
|
-
p: {
|
|
10714
|
-
fontSize: "0.8125rem",
|
|
10715
|
-
lineHeight: 1.5,
|
|
10716
|
-
marginBottom: 2,
|
|
10717
|
-
"&:last-child": { marginBottom: 0 }
|
|
10718
|
-
},
|
|
10719
|
-
hr: { margin: "4px 0" },
|
|
10720
|
-
"& blockquote": {
|
|
10721
|
-
margin: "4px 0",
|
|
10722
|
-
padding: theme.spacing(0.5, 0, 0.5, 1.5),
|
|
10723
|
-
borderRadius: 0,
|
|
10724
|
-
backgroundColor: "transparent",
|
|
10725
|
-
"&::before": { display: "none" }
|
|
10726
|
-
},
|
|
10727
|
-
"& ul, & ol": {
|
|
10728
|
-
paddingLeft: 20,
|
|
10729
|
-
marginBottom: 2,
|
|
10730
|
-
"& > li": { lineHeight: 1.5, fontSize: "0.8125rem" }
|
|
10731
|
-
},
|
|
10732
|
-
"& img:not([class])": { marginBottom: 4 },
|
|
10733
|
-
[`& .${contentClasses.codeBlock}`]: { marginBottom: 4 },
|
|
10734
|
-
[`& .${contentClasses.codeBlock} pre, & pre:not([class])`]: {
|
|
10735
|
-
padding: theme.spacing(1.5),
|
|
10736
|
-
fontSize: "0.75rem",
|
|
10737
|
-
lineHeight: 1.5,
|
|
10738
|
-
marginBottom: 4
|
|
10739
|
-
},
|
|
10740
|
-
[`& .${contentClasses.codeInline}, & :not(pre) > code:not([class])`]: {
|
|
10741
|
-
fontSize: "0.75rem"
|
|
10742
|
-
},
|
|
10743
|
-
"& table": {
|
|
10744
|
-
fontSize: "0.75rem",
|
|
10745
|
-
marginBottom: 4
|
|
10746
|
-
}
|
|
10747
|
-
}
|
|
10748
|
-
}));
|
|
10749
|
-
function isSafeHref(url) {
|
|
10750
|
-
if (typeof url !== "string" || url.length === 0) return false;
|
|
10751
|
-
if (/[\x00-\x1f\x7f]/.test(url)) return false;
|
|
10752
|
-
if (url.startsWith("/") && !url.startsWith("//") && !url.startsWith("/\\")) return true;
|
|
10753
|
-
const lower = url.toLowerCase().trimStart();
|
|
10754
|
-
return lower.startsWith("http://") || lower.startsWith("https://");
|
|
10755
|
-
}
|
|
10756
|
-
function sanitizeHref(url) {
|
|
10757
|
-
return isSafeHref(url) ? url : void 0;
|
|
10758
|
-
}
|
|
10759
|
-
function sanitizeEmbedSrc(url) {
|
|
10760
|
-
if (typeof url !== "string") return void 0;
|
|
10761
|
-
if (!isSafeHref(url)) return void 0;
|
|
10762
|
-
const lower = url.toLowerCase();
|
|
10763
|
-
if (lower.startsWith("https://www.youtube.com/") || lower.startsWith("https://www.youtube-nocookie.com/")) {
|
|
10764
|
-
return url;
|
|
10765
|
-
}
|
|
10766
|
-
return void 0;
|
|
10767
|
-
}
|
|
10768
|
-
var customNodeRegistry = /* @__PURE__ */ new Map();
|
|
10769
|
-
function registerTipTapNode(type, component) {
|
|
10770
|
-
customNodeRegistry.set(type, component);
|
|
10771
|
-
}
|
|
10772
|
-
var TipTapContext = createContext({});
|
|
10773
|
-
function renderMarks(text, marks = [], ctx) {
|
|
10774
|
-
return marks.reduce((acc, mark) => {
|
|
10775
|
-
switch (mark.type) {
|
|
10776
|
-
case "bold":
|
|
10777
|
-
return /* @__PURE__ */ jsx("strong", { children: acc });
|
|
10778
|
-
case "italic":
|
|
10779
|
-
return /* @__PURE__ */ jsx("em", { children: acc });
|
|
10780
|
-
case "code":
|
|
10781
|
-
return /* @__PURE__ */ jsx("code", { className: contentClasses.codeInline, children: acc });
|
|
10782
|
-
case "underline":
|
|
10783
|
-
return /* @__PURE__ */ jsx("u", { children: acc });
|
|
10784
|
-
case "strike":
|
|
10785
|
-
return /* @__PURE__ */ jsx("s", { children: acc });
|
|
10786
|
-
case "link": {
|
|
10787
|
-
const safeHref = sanitizeHref(mark.attrs?.href) ?? "#";
|
|
10788
|
-
const Link6 = ctx?.linkComponent;
|
|
10789
|
-
if (Link6 && safeHref.startsWith("/") && !safeHref.startsWith("//")) {
|
|
10790
|
-
return /* @__PURE__ */ jsx(Link6, { to: safeHref, className: contentClasses.link, children: acc });
|
|
10791
|
-
}
|
|
10792
|
-
return /* @__PURE__ */ jsx("a", { href: safeHref, target: mark.attrs?.target ?? "_blank", rel: "noopener noreferrer", children: acc });
|
|
10793
|
-
}
|
|
10794
|
-
case "internalLink": {
|
|
10795
|
-
const to = String(mark.attrs?.to ?? mark.attrs?.href ?? "#");
|
|
10796
|
-
const Link6 = ctx?.linkComponent;
|
|
10797
|
-
return Link6 ? /* @__PURE__ */ jsx(Link6, { to, className: contentClasses.link, children: acc }) : /* @__PURE__ */ jsx("a", { href: to, children: acc });
|
|
10798
|
-
}
|
|
10799
|
-
case "highlight":
|
|
10800
|
-
return /* @__PURE__ */ jsx("mark", { style: mark.attrs?.color ? { backgroundColor: mark.attrs.color } : void 0, children: acc });
|
|
10801
|
-
case "subscript":
|
|
10802
|
-
return /* @__PURE__ */ jsx("sub", { children: acc });
|
|
10803
|
-
case "superscript":
|
|
10804
|
-
return /* @__PURE__ */ jsx("sup", { children: acc });
|
|
10805
|
-
case "textStyle":
|
|
10806
|
-
return /* @__PURE__ */ jsx("span", { style: { color: mark.attrs?.color }, children: acc });
|
|
10807
|
-
case "kbd":
|
|
10808
|
-
return /* @__PURE__ */ jsx("kbd", { className: contentClasses.kbd, children: acc });
|
|
10809
|
-
default:
|
|
10810
|
-
return acc;
|
|
10811
|
-
}
|
|
10812
|
-
}, text);
|
|
10813
|
-
}
|
|
10814
|
-
function slugify(nodes) {
|
|
10815
|
-
if (!nodes) return void 0;
|
|
10816
|
-
const text = nodes.map((n) => n.text ?? "").join("");
|
|
10817
|
-
if (!text) return void 0;
|
|
10818
|
-
return text.toLowerCase().replace(/[^a-z0-9а-яё]+/gi, "-").replace(/^-|-$/g, "");
|
|
10819
|
-
}
|
|
10820
|
-
function CodeBlock({ node }) {
|
|
10821
|
-
const language = node.attrs?.language;
|
|
10822
|
-
const title = node.attrs?.title;
|
|
10823
|
-
const code = node.content?.map((n) => n.text ?? "").join("\n") ?? "";
|
|
10824
|
-
const [copied, setCopied] = useState(false);
|
|
10825
|
-
const onCopy = useCallback(() => {
|
|
10826
|
-
navigator.clipboard?.writeText(code).then(
|
|
10827
|
-
() => {
|
|
10828
|
-
setCopied(true);
|
|
10829
|
-
setTimeout(() => setCopied(false), 1500);
|
|
10830
|
-
},
|
|
10831
|
-
() => {
|
|
10832
|
-
}
|
|
10833
|
-
);
|
|
10834
|
-
}, [code]);
|
|
10835
|
-
return /* @__PURE__ */ jsxs("div", { className: contentClasses.codeBlock, "data-language": language ?? void 0, children: [
|
|
10836
|
-
(title || language) && /* @__PURE__ */ jsxs("div", { className: contentClasses.codeBlockTitle, children: [
|
|
10837
|
-
/* @__PURE__ */ jsx("span", { children: title ?? language }),
|
|
10838
|
-
/* @__PURE__ */ jsx("button", { type: "button", onClick: onCopy, className: contentClasses.codeBlockCopy, "aria-label": "Copy code", children: copied ? "\u2713" : "\u29C9" })
|
|
10839
|
-
] }),
|
|
10840
|
-
/* @__PURE__ */ jsx("pre", { children: /* @__PURE__ */ jsx("code", { className: language ? `language-${language}` : void 0, children: code }) })
|
|
10841
|
-
] });
|
|
10842
|
-
}
|
|
10843
|
-
var ADMONITION_LABEL = {
|
|
10844
|
-
note: "Note",
|
|
10845
|
-
tip: "Tip",
|
|
10846
|
-
warning: "Warning",
|
|
10847
|
-
danger: "Danger",
|
|
10848
|
-
info: "Info",
|
|
10849
|
-
caution: "Caution"
|
|
10850
|
-
};
|
|
10851
|
-
var ADMONITION_CLASS = {
|
|
10852
|
-
note: contentClasses.admonitionNote,
|
|
10853
|
-
tip: contentClasses.admonitionTip,
|
|
10854
|
-
warning: contentClasses.admonitionWarning,
|
|
10855
|
-
danger: contentClasses.admonitionDanger,
|
|
10856
|
-
info: contentClasses.admonitionInfo,
|
|
10857
|
-
caution: contentClasses.admonitionCaution
|
|
10858
|
-
};
|
|
10859
|
-
function Admonition({ node }) {
|
|
10860
|
-
const kind = String(node.attrs?.kind ?? "note");
|
|
10861
|
-
const title = node.attrs?.title ?? ADMONITION_LABEL[kind] ?? kind;
|
|
10862
|
-
const variantClass = ADMONITION_CLASS[kind] ?? contentClasses.admonitionNote;
|
|
10863
|
-
return /* @__PURE__ */ jsxs("aside", { className: `${contentClasses.admonition} ${variantClass}`, "data-kind": kind, children: [
|
|
10864
|
-
/* @__PURE__ */ jsx("div", { className: contentClasses.admonitionTitle, children: title }),
|
|
10865
|
-
/* @__PURE__ */ jsx("div", { className: contentClasses.admonitionContent, children: node.content?.map(renderNode) })
|
|
10866
|
-
] });
|
|
10867
|
-
}
|
|
10868
|
-
function Tabs2({ node }) {
|
|
10869
|
-
const items = (node.content ?? []).filter((c) => c.type === "tabItem");
|
|
10870
|
-
const [active, setActive] = useState(0);
|
|
10871
|
-
if (items.length === 0) return null;
|
|
10872
|
-
const safeActive = Math.min(active, items.length - 1);
|
|
10873
|
-
return /* @__PURE__ */ jsxs("div", { className: contentClasses.tabs, children: [
|
|
10874
|
-
/* @__PURE__ */ jsx("div", { className: contentClasses.tabsHeader, role: "tablist", children: items.map((item, i) => {
|
|
10875
|
-
const label = item.attrs?.label ?? item.attrs?.value ?? `Tab ${i + 1}`;
|
|
10876
|
-
const isActive = i === safeActive;
|
|
10877
|
-
return /* @__PURE__ */ jsx(
|
|
10878
|
-
"button",
|
|
10879
|
-
{
|
|
10880
|
-
type: "button",
|
|
10881
|
-
role: "tab",
|
|
10882
|
-
"aria-selected": isActive,
|
|
10883
|
-
className: `${contentClasses.tabsTab} ${isActive ? contentClasses.tabsTabActive : ""}`,
|
|
10884
|
-
onClick: () => setActive(i),
|
|
10885
|
-
children: label
|
|
10886
|
-
},
|
|
10887
|
-
i
|
|
10888
|
-
);
|
|
10889
|
-
}) }),
|
|
10890
|
-
/* @__PURE__ */ jsx("div", { className: contentClasses.tabsPanel, role: "tabpanel", children: items[safeActive]?.content?.map(renderNode) })
|
|
10891
|
-
] });
|
|
10892
|
-
}
|
|
10893
|
-
function renderNode(node, index) {
|
|
10894
|
-
const CustomRenderer = customNodeRegistry.get(node.type);
|
|
10895
|
-
if (CustomRenderer) return /* @__PURE__ */ jsx(CustomRenderer, { node }, index);
|
|
10896
|
-
switch (node.type) {
|
|
10897
|
-
case "text":
|
|
10898
|
-
return /* @__PURE__ */ jsx(TextNode, { node }, index);
|
|
10899
|
-
case "paragraph":
|
|
10900
|
-
return /* @__PURE__ */ jsx("p", { children: node.content?.map(renderNode) }, index);
|
|
10901
|
-
case "heading": {
|
|
10902
|
-
const level = Math.min(Math.max(node.attrs?.level ?? 2, 1), 6);
|
|
10903
|
-
const Tag2 = `h${level}`;
|
|
10904
|
-
const id = node.attrs?.id ?? slugify(node.content);
|
|
10905
|
-
return /* @__PURE__ */ jsx(Tag2, { id, children: node.content?.map(renderNode) }, index);
|
|
10906
|
-
}
|
|
10907
|
-
case "bulletList":
|
|
10908
|
-
return /* @__PURE__ */ jsx("ul", { children: node.content?.map(renderNode) }, index);
|
|
10909
|
-
case "orderedList":
|
|
10910
|
-
return /* @__PURE__ */ jsx("ol", { start: node.attrs?.start ?? 1, children: node.content?.map(renderNode) }, index);
|
|
10911
|
-
case "listItem":
|
|
10912
|
-
return /* @__PURE__ */ jsx("li", { children: node.content?.map(renderNode) }, index);
|
|
10913
|
-
case "taskList":
|
|
10914
|
-
return /* @__PURE__ */ jsx("ul", { "data-type": "taskList", children: node.content?.map(renderNode) }, index);
|
|
10915
|
-
case "taskItem": {
|
|
10916
|
-
const checked = node.attrs?.checked ?? false;
|
|
10917
|
-
return /* @__PURE__ */ jsxs("li", { "data-type": "taskItem", "data-checked": checked, children: [
|
|
10918
|
-
/* @__PURE__ */ jsx("label", { children: /* @__PURE__ */ jsx("input", { type: "checkbox", checked, readOnly: true, className: contentClasses.checkbox }) }),
|
|
10919
|
-
/* @__PURE__ */ jsx("div", { children: node.content?.map(renderNode) })
|
|
10920
|
-
] }, index);
|
|
10921
|
-
}
|
|
10922
|
-
case "blockquote":
|
|
10923
|
-
return /* @__PURE__ */ jsx("blockquote", { children: node.content?.map(renderNode) }, index);
|
|
10924
|
-
case "codeBlock":
|
|
10925
|
-
return /* @__PURE__ */ jsx(CodeBlock, { node }, index);
|
|
10926
|
-
case "horizontalRule":
|
|
10927
|
-
return /* @__PURE__ */ jsx("hr", {}, index);
|
|
10928
|
-
case "image": {
|
|
10929
|
-
const safeSrc = sanitizeHref(node.attrs?.src);
|
|
10930
|
-
if (!safeSrc) return null;
|
|
10931
|
-
return /* @__PURE__ */ jsx(
|
|
10932
|
-
"img",
|
|
10933
|
-
{
|
|
10934
|
-
src: safeSrc,
|
|
10935
|
-
alt: node.attrs?.alt ?? "",
|
|
10936
|
-
title: node.attrs?.title,
|
|
10937
|
-
className: contentClasses.image,
|
|
10938
|
-
loading: "lazy"
|
|
10939
|
-
},
|
|
10940
|
-
index
|
|
10941
|
-
);
|
|
10942
|
-
}
|
|
10943
|
-
case "figure":
|
|
10944
|
-
return /* @__PURE__ */ jsx("figure", { className: contentClasses.figure, children: node.content?.map(renderNode) }, index);
|
|
10945
|
-
case "figcaption":
|
|
10946
|
-
return /* @__PURE__ */ jsx("figcaption", { className: contentClasses.figcaption, children: node.content?.map(renderNode) }, index);
|
|
10947
|
-
case "hardBreak":
|
|
10948
|
-
return /* @__PURE__ */ jsx("br", {}, index);
|
|
10949
|
-
// ─── Admonition / Tabs ──────────────────────────────────
|
|
10950
|
-
case "admonition":
|
|
10951
|
-
return /* @__PURE__ */ jsx(Admonition, { node }, index);
|
|
10952
|
-
case "tabs":
|
|
10953
|
-
return /* @__PURE__ */ jsx(Tabs2, { node }, index);
|
|
10954
|
-
case "tabItem":
|
|
10955
|
-
return /* @__PURE__ */ jsx("section", { "data-type": "tabItem", children: node.content?.map(renderNode) }, index);
|
|
10956
|
-
// ─── Table ──────────────────────────────────────────────
|
|
10957
|
-
case "table":
|
|
10958
|
-
return /* @__PURE__ */ jsx("div", { style: { overflowX: "auto" }, children: /* @__PURE__ */ jsx("table", { children: /* @__PURE__ */ jsx("tbody", { children: node.content?.map(renderNode) }) }) }, index);
|
|
10959
|
-
case "tableRow":
|
|
10960
|
-
return /* @__PURE__ */ jsx("tr", { children: node.content?.map(renderNode) }, index);
|
|
10961
|
-
case "tableCell":
|
|
10962
|
-
return /* @__PURE__ */ jsx("td", { colSpan: node.attrs?.colspan ?? 1, rowSpan: node.attrs?.rowspan ?? 1, children: node.content?.map(renderNode) }, index);
|
|
10963
|
-
case "tableHeader":
|
|
10964
|
-
return /* @__PURE__ */ jsx("th", { colSpan: node.attrs?.colspan ?? 1, rowSpan: node.attrs?.rowspan ?? 1, children: node.content?.map(renderNode) }, index);
|
|
10965
|
-
// ─── Details / Summary (collapsible) ────────────────────
|
|
10966
|
-
case "details":
|
|
10967
|
-
return /* @__PURE__ */ jsx("details", { open: node.attrs?.open, children: node.content?.map(renderNode) }, index);
|
|
10968
|
-
case "detailsSummary":
|
|
10969
|
-
return /* @__PURE__ */ jsx("summary", { children: node.content?.map(renderNode) }, index);
|
|
10970
|
-
case "detailsContent":
|
|
10971
|
-
return /* @__PURE__ */ jsx("div", { children: node.content?.map(renderNode) }, index);
|
|
10972
|
-
// ─── YouTube embed ──────────────────────────────────────
|
|
10973
|
-
case "youtube": {
|
|
10974
|
-
const safeSrc = sanitizeEmbedSrc(node.attrs?.src);
|
|
10975
|
-
if (!safeSrc) return null;
|
|
10976
|
-
return /* @__PURE__ */ jsx("div", { style: { position: "relative", paddingBottom: "56.25%", height: 0, marginBottom: "1.25rem" }, children: /* @__PURE__ */ jsx(
|
|
10977
|
-
"iframe",
|
|
10978
|
-
{
|
|
10979
|
-
src: safeSrc,
|
|
10980
|
-
title: "YouTube video",
|
|
10981
|
-
allow: "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",
|
|
10982
|
-
allowFullScreen: true,
|
|
10983
|
-
style: {
|
|
10984
|
-
position: "absolute",
|
|
10985
|
-
top: 0,
|
|
10986
|
-
left: 0,
|
|
10987
|
-
width: "100%",
|
|
10988
|
-
height: "100%",
|
|
10989
|
-
border: "none",
|
|
10990
|
-
borderRadius: 8
|
|
10991
|
-
}
|
|
10992
|
-
}
|
|
10993
|
-
) }, index);
|
|
10994
|
-
}
|
|
10995
|
-
default:
|
|
10996
|
-
if (node.content) {
|
|
10997
|
-
return /* @__PURE__ */ jsx(Fragment$1, { children: node.content.map(renderNode) }, index);
|
|
10998
|
-
}
|
|
10999
|
-
return null;
|
|
11000
|
-
}
|
|
11001
|
-
}
|
|
11002
|
-
function TextNode({ node }) {
|
|
11003
|
-
const ctx = useContext(TipTapContext);
|
|
11004
|
-
return /* @__PURE__ */ jsx(Fragment$1, { children: renderMarks(node.text ?? "", node.marks, ctx) });
|
|
11005
|
-
}
|
|
11006
|
-
function TipTapRenderer({ content, className, sx, compact, linkComponent }) {
|
|
11007
|
-
if (!content || !("content" in content) || !Array.isArray(content.content)) {
|
|
11008
|
-
return null;
|
|
11009
|
-
}
|
|
11010
|
-
const ctxValue = linkComponent ? { linkComponent } : {};
|
|
11011
|
-
return /* @__PURE__ */ jsx(TipTapContext.Provider, { value: ctxValue, children: /* @__PURE__ */ jsx(
|
|
11012
|
-
ContentRoot,
|
|
11013
|
-
{
|
|
11014
|
-
className: [contentClasses.root, contentClasses.tiptap, compact && contentClasses.compact, className].filter(Boolean).join(" "),
|
|
11015
|
-
sx,
|
|
11016
|
-
children: content.content.map(renderNode)
|
|
11017
|
-
}
|
|
11018
|
-
) });
|
|
11019
|
-
}
|
|
11020
9737
|
|
|
11021
9738
|
// src/components/content-renderer/html-tags.ts
|
|
11022
9739
|
var htmlTags = [
|
|
@@ -11503,7 +10220,7 @@ function DurationPicker({ value, onChange, size = "small", disabled = false, lab
|
|
|
11503
10220
|
}
|
|
11504
10221
|
}
|
|
11505
10222
|
};
|
|
11506
|
-
return /* @__PURE__ */ jsxs(
|
|
10223
|
+
return /* @__PURE__ */ jsxs(Box19, { children: [
|
|
11507
10224
|
/* @__PURE__ */ jsx(
|
|
11508
10225
|
Typography5,
|
|
11509
10226
|
{
|
|
@@ -11554,7 +10271,7 @@ function DurationPicker({ value, onChange, size = "small", disabled = false, lab
|
|
|
11554
10271
|
}
|
|
11555
10272
|
),
|
|
11556
10273
|
isCustom && /* @__PURE__ */ jsxs(
|
|
11557
|
-
|
|
10274
|
+
Box19,
|
|
11558
10275
|
{
|
|
11559
10276
|
sx: {
|
|
11560
10277
|
mt: 1.25,
|
|
@@ -11600,7 +10317,7 @@ function DurationPicker({ value, onChange, size = "small", disabled = false, lab
|
|
|
11600
10317
|
}
|
|
11601
10318
|
function ChangelogTimeline({ children, sx }) {
|
|
11602
10319
|
return /* @__PURE__ */ jsx(
|
|
11603
|
-
|
|
10320
|
+
Box19,
|
|
11604
10321
|
{
|
|
11605
10322
|
sx: {
|
|
11606
10323
|
position: "relative",
|
|
@@ -11620,9 +10337,9 @@ function ChangelogTimeline({ children, sx }) {
|
|
|
11620
10337
|
);
|
|
11621
10338
|
}
|
|
11622
10339
|
function ChangelogEntry({ version, date, badge, children }) {
|
|
11623
|
-
return /* @__PURE__ */ jsxs(
|
|
10340
|
+
return /* @__PURE__ */ jsxs(Box19, { sx: { position: "relative", pl: { xs: 5, sm: 7 }, pb: 4 }, children: [
|
|
11624
10341
|
/* @__PURE__ */ jsx(
|
|
11625
|
-
|
|
10342
|
+
Box19,
|
|
11626
10343
|
{
|
|
11627
10344
|
sx: {
|
|
11628
10345
|
position: "absolute",
|
|
@@ -11671,308 +10388,7 @@ function ChangelogEntry({ version, date, badge, children }) {
|
|
|
11671
10388
|
] })
|
|
11672
10389
|
] });
|
|
11673
10390
|
}
|
|
11674
|
-
var pmtilesProtocolRegistered = false;
|
|
11675
|
-
function ensurePmtilesProtocol() {
|
|
11676
|
-
if (pmtilesProtocolRegistered) return;
|
|
11677
|
-
const protocol = new Protocol();
|
|
11678
|
-
addProtocol("pmtiles", protocol.tile);
|
|
11679
|
-
pmtilesProtocolRegistered = true;
|
|
11680
|
-
}
|
|
11681
|
-
var DEFAULT_VIEWPORT = {
|
|
11682
|
-
longitude: 37.6173,
|
|
11683
|
-
latitude: 55.7558,
|
|
11684
|
-
zoom: 4,
|
|
11685
|
-
bearing: 0,
|
|
11686
|
-
pitch: 0
|
|
11687
|
-
};
|
|
11688
|
-
var FALLBACK_STYLE = {
|
|
11689
|
-
version: 8,
|
|
11690
|
-
sources: {},
|
|
11691
|
-
layers: [
|
|
11692
|
-
{
|
|
11693
|
-
id: "background",
|
|
11694
|
-
type: "background",
|
|
11695
|
-
paint: { "background-color": "#e0e0e0" }
|
|
11696
|
-
}
|
|
11697
|
-
]
|
|
11698
|
-
};
|
|
11699
|
-
var Map2 = forwardRef(function MapView({
|
|
11700
|
-
styleUrl,
|
|
11701
|
-
viewport,
|
|
11702
|
-
initialViewport,
|
|
11703
|
-
onViewportChange,
|
|
11704
|
-
showNavigation = true,
|
|
11705
|
-
showScale = true,
|
|
11706
|
-
showAttribution = true,
|
|
11707
|
-
style,
|
|
11708
|
-
cursor = "grab",
|
|
11709
|
-
onClick,
|
|
11710
|
-
children
|
|
11711
|
-
}, ref) {
|
|
11712
|
-
const theme = useTheme();
|
|
11713
|
-
useEffect(() => {
|
|
11714
|
-
ensurePmtilesProtocol();
|
|
11715
|
-
}, []);
|
|
11716
|
-
const mapStyle = useMemo(() => {
|
|
11717
|
-
if (styleUrl) return styleUrl;
|
|
11718
|
-
const envUrl = typeof window !== "undefined" && window.__MAP_STYLE_URL__;
|
|
11719
|
-
if (typeof envUrl === "string" && envUrl.length > 0) return envUrl;
|
|
11720
|
-
return FALLBACK_STYLE;
|
|
11721
|
-
}, [styleUrl]);
|
|
11722
|
-
const initial = useMemo(
|
|
11723
|
-
() => ({ ...DEFAULT_VIEWPORT, ...initialViewport }),
|
|
11724
|
-
[initialViewport]
|
|
11725
|
-
);
|
|
11726
|
-
const handleMove = onViewportChange ? (e) => {
|
|
11727
|
-
const v = e.viewState;
|
|
11728
|
-
onViewportChange({
|
|
11729
|
-
longitude: v.longitude,
|
|
11730
|
-
latitude: v.latitude,
|
|
11731
|
-
zoom: v.zoom,
|
|
11732
|
-
bearing: v.bearing,
|
|
11733
|
-
pitch: v.pitch
|
|
11734
|
-
});
|
|
11735
|
-
} : void 0;
|
|
11736
|
-
const containerStyle = {
|
|
11737
|
-
width: "100%",
|
|
11738
|
-
height: 400,
|
|
11739
|
-
borderRadius: theme.shape.borderRadius,
|
|
11740
|
-
overflow: "hidden",
|
|
11741
|
-
...style
|
|
11742
|
-
};
|
|
11743
|
-
return /* @__PURE__ */ jsx("div", { style: containerStyle, children: /* @__PURE__ */ jsxs(
|
|
11744
|
-
Map$1,
|
|
11745
|
-
{
|
|
11746
|
-
ref,
|
|
11747
|
-
mapStyle,
|
|
11748
|
-
...viewport ? {
|
|
11749
|
-
longitude: viewport.longitude ?? initial.longitude,
|
|
11750
|
-
latitude: viewport.latitude ?? initial.latitude,
|
|
11751
|
-
zoom: viewport.zoom ?? initial.zoom,
|
|
11752
|
-
bearing: viewport.bearing ?? initial.bearing,
|
|
11753
|
-
pitch: viewport.pitch ?? initial.pitch
|
|
11754
|
-
} : {
|
|
11755
|
-
initialViewState: initial
|
|
11756
|
-
},
|
|
11757
|
-
onMove: handleMove,
|
|
11758
|
-
onClick: onClick ? (e) => onClick({ lngLat: e.lngLat }) : void 0,
|
|
11759
|
-
cursor,
|
|
11760
|
-
attributionControl: showAttribution ? {} : false,
|
|
11761
|
-
style: { width: "100%", height: "100%" },
|
|
11762
|
-
children: [
|
|
11763
|
-
showNavigation && /* @__PURE__ */ jsx(NavigationControl, { position: "top-right" }),
|
|
11764
|
-
showScale && /* @__PURE__ */ jsx(ScaleControl, { position: "bottom-left" }),
|
|
11765
|
-
children
|
|
11766
|
-
]
|
|
11767
|
-
}
|
|
11768
|
-
) });
|
|
11769
|
-
});
|
|
11770
|
-
Map2.displayName = "Map";
|
|
11771
|
-
function MapMarker({
|
|
11772
|
-
longitude,
|
|
11773
|
-
latitude,
|
|
11774
|
-
color,
|
|
11775
|
-
children,
|
|
11776
|
-
popup,
|
|
11777
|
-
anchor = "bottom",
|
|
11778
|
-
onClick
|
|
11779
|
-
}) {
|
|
11780
|
-
const theme = useTheme();
|
|
11781
|
-
const [open, setOpen] = useState(false);
|
|
11782
|
-
const fill = color ?? theme.palette.primary.main;
|
|
11783
|
-
const handleClick = (e) => {
|
|
11784
|
-
e.originalEvent?.stopPropagation?.();
|
|
11785
|
-
if (popup) setOpen((v) => !v);
|
|
11786
|
-
onClick?.();
|
|
11787
|
-
};
|
|
11788
|
-
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
11789
|
-
/* @__PURE__ */ jsx(
|
|
11790
|
-
Marker,
|
|
11791
|
-
{
|
|
11792
|
-
longitude,
|
|
11793
|
-
latitude,
|
|
11794
|
-
anchor,
|
|
11795
|
-
onClick: handleClick,
|
|
11796
|
-
children: children ?? /* @__PURE__ */ jsxs("svg", { width: "24", height: "32", viewBox: "0 0 24 32", "aria-hidden": true, style: { display: "block" }, children: [
|
|
11797
|
-
/* @__PURE__ */ jsx(
|
|
11798
|
-
"path",
|
|
11799
|
-
{
|
|
11800
|
-
d: "M12 0C5.4 0 0 5.4 0 12c0 9 12 20 12 20s12-11 12-20C24 5.4 18.6 0 12 0z",
|
|
11801
|
-
fill
|
|
11802
|
-
}
|
|
11803
|
-
),
|
|
11804
|
-
/* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "4", fill: "#fff" })
|
|
11805
|
-
] })
|
|
11806
|
-
}
|
|
11807
|
-
),
|
|
11808
|
-
popup && open && /* @__PURE__ */ jsx(
|
|
11809
|
-
Popup,
|
|
11810
|
-
{
|
|
11811
|
-
longitude,
|
|
11812
|
-
latitude,
|
|
11813
|
-
anchor: "top",
|
|
11814
|
-
offset: [0, -32],
|
|
11815
|
-
closeOnClick: false,
|
|
11816
|
-
onClose: () => setOpen(false),
|
|
11817
|
-
children: popup
|
|
11818
|
-
}
|
|
11819
|
-
)
|
|
11820
|
-
] });
|
|
11821
|
-
}
|
|
11822
|
-
function MapPointPicker({
|
|
11823
|
-
value,
|
|
11824
|
-
onChange,
|
|
11825
|
-
initialViewport,
|
|
11826
|
-
styleUrl,
|
|
11827
|
-
height = 480,
|
|
11828
|
-
geocodeResult,
|
|
11829
|
-
geocodeLoading = false,
|
|
11830
|
-
placeholder = "\u041A\u043B\u0438\u043A\u043D\u0438\u0442\u0435 \u043F\u043E \u043A\u0430\u0440\u0442\u0435, \u0447\u0442\u043E\u0431\u044B \u0432\u044B\u0431\u0440\u0430\u0442\u044C \u0442\u043E\u0447\u043A\u0443"
|
|
11831
|
-
}) {
|
|
11832
|
-
const theme = useTheme();
|
|
11833
|
-
const handleClick = useCallback(
|
|
11834
|
-
(e) => onChange({ lng: e.lngLat.lng, lat: e.lngLat.lat }),
|
|
11835
|
-
[onChange]
|
|
11836
|
-
);
|
|
11837
|
-
const handleDragEnd = useCallback(
|
|
11838
|
-
(e) => {
|
|
11839
|
-
onChange({ lng: e.lngLat.lng, lat: e.lngLat.lat });
|
|
11840
|
-
},
|
|
11841
|
-
[onChange]
|
|
11842
|
-
);
|
|
11843
|
-
return /* @__PURE__ */ jsxs(Stack$1, { direction: { xs: "column", md: "row" }, spacing: 2, sx: { width: "100%" }, children: [
|
|
11844
|
-
/* @__PURE__ */ jsx(Box, { sx: { flex: 1, minWidth: 0 }, children: /* @__PURE__ */ jsx(
|
|
11845
|
-
Map2,
|
|
11846
|
-
{
|
|
11847
|
-
styleUrl,
|
|
11848
|
-
initialViewport,
|
|
11849
|
-
cursor: "crosshair",
|
|
11850
|
-
onClick: handleClick,
|
|
11851
|
-
style: { height },
|
|
11852
|
-
children: value && /* @__PURE__ */ jsx(
|
|
11853
|
-
Marker,
|
|
11854
|
-
{
|
|
11855
|
-
longitude: value.lng,
|
|
11856
|
-
latitude: value.lat,
|
|
11857
|
-
anchor: "bottom",
|
|
11858
|
-
draggable: true,
|
|
11859
|
-
onDragEnd: handleDragEnd,
|
|
11860
|
-
children: /* @__PURE__ */ jsxs("svg", { width: "24", height: "32", viewBox: "0 0 24 32", "aria-hidden": true, style: { display: "block" }, children: [
|
|
11861
|
-
/* @__PURE__ */ jsx(
|
|
11862
|
-
"path",
|
|
11863
|
-
{
|
|
11864
|
-
d: "M12 0C5.4 0 0 5.4 0 12c0 9 12 20 12 20s12-11 12-20C24 5.4 18.6 0 12 0z",
|
|
11865
|
-
fill: theme.palette.error.main
|
|
11866
|
-
}
|
|
11867
|
-
),
|
|
11868
|
-
/* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "4", fill: "#fff" })
|
|
11869
|
-
] })
|
|
11870
|
-
}
|
|
11871
|
-
)
|
|
11872
|
-
}
|
|
11873
|
-
) }),
|
|
11874
|
-
/* @__PURE__ */ jsx(
|
|
11875
|
-
Paper$1,
|
|
11876
|
-
{
|
|
11877
|
-
variant: "outlined",
|
|
11878
|
-
sx: {
|
|
11879
|
-
width: { xs: "100%", md: 320 },
|
|
11880
|
-
p: 2,
|
|
11881
|
-
borderColor: theme.palette.divider,
|
|
11882
|
-
bgcolor: theme.palette.background.default
|
|
11883
|
-
},
|
|
11884
|
-
children: value ? /* @__PURE__ */ jsxs(Stack$1, { spacing: 1.5, children: [
|
|
11885
|
-
/* @__PURE__ */ jsx(Typography, { variant: "caption", color: "text.secondary", children: "\u041A\u043E\u043E\u0440\u0434\u0438\u043D\u0430\u0442\u044B" }),
|
|
11886
|
-
/* @__PURE__ */ jsxs(Typography, { variant: "body2", sx: { fontVariantNumeric: "tabular-nums" }, children: [
|
|
11887
|
-
value.lat.toFixed(5),
|
|
11888
|
-
", ",
|
|
11889
|
-
value.lng.toFixed(5)
|
|
11890
|
-
] }),
|
|
11891
|
-
/* @__PURE__ */ jsx(Typography, { variant: "caption", color: "text.secondary", children: "\u0420\u0430\u0441\u043F\u043E\u0437\u043D\u0430\u043D\u043D\u043E\u0435 \u043C\u0435\u0441\u0442\u043E" }),
|
|
11892
|
-
geocodeLoading ? /* @__PURE__ */ jsxs(Box, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
|
|
11893
|
-
/* @__PURE__ */ jsx(CircularProgress$1, { size: 16 }),
|
|
11894
|
-
/* @__PURE__ */ jsx(Typography, { variant: "body2", color: "text.secondary", children: "\u0413\u0435\u043E\u043A\u043E\u0434\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435\u2026" })
|
|
11895
|
-
] }) : geocodeResult ? /* @__PURE__ */ jsx(Box, { children: geocodeResult }) : /* @__PURE__ */ jsx(Typography, { variant: "body2", color: "text.secondary", children: "\u041D\u0435\u0442 \u0434\u0430\u043D\u043D\u044B\u0445" })
|
|
11896
|
-
] }) : /* @__PURE__ */ jsx(Typography, { variant: "body2", color: "text.secondary", children: placeholder })
|
|
11897
|
-
}
|
|
11898
|
-
)
|
|
11899
|
-
] });
|
|
11900
|
-
}
|
|
11901
|
-
function MapCoverageLayer({
|
|
11902
|
-
id,
|
|
11903
|
-
points,
|
|
11904
|
-
colorByStatus,
|
|
11905
|
-
radius = 6,
|
|
11906
|
-
showLabels = false
|
|
11907
|
-
}) {
|
|
11908
|
-
const theme = useTheme();
|
|
11909
|
-
const palette = useMemo(
|
|
11910
|
-
() => ({
|
|
11911
|
-
active: theme.palette.success.main,
|
|
11912
|
-
pending: theme.palette.warning.main,
|
|
11913
|
-
expired: theme.palette.text.disabled,
|
|
11914
|
-
disabled: theme.palette.text.disabled,
|
|
11915
|
-
retired: theme.palette.text.disabled,
|
|
11916
|
-
...colorByStatus ?? {}
|
|
11917
|
-
}),
|
|
11918
|
-
[theme, colorByStatus]
|
|
11919
|
-
);
|
|
11920
|
-
const geojson = useMemo(
|
|
11921
|
-
() => ({
|
|
11922
|
-
type: "FeatureCollection",
|
|
11923
|
-
features: points.map((p) => ({
|
|
11924
|
-
type: "Feature",
|
|
11925
|
-
id: p.id,
|
|
11926
|
-
geometry: {
|
|
11927
|
-
type: "Point",
|
|
11928
|
-
coordinates: [p.longitude, p.latitude]
|
|
11929
|
-
},
|
|
11930
|
-
properties: {
|
|
11931
|
-
status: p.status ?? "active",
|
|
11932
|
-
label: p.label ?? "",
|
|
11933
|
-
color: palette[p.status ?? "active"] ?? theme.palette.primary.main
|
|
11934
|
-
}
|
|
11935
|
-
}))
|
|
11936
|
-
}),
|
|
11937
|
-
[points, palette, theme]
|
|
11938
|
-
);
|
|
11939
|
-
return /* @__PURE__ */ jsxs(Source, { id, type: "geojson", data: geojson, children: [
|
|
11940
|
-
/* @__PURE__ */ jsx(
|
|
11941
|
-
Layer,
|
|
11942
|
-
{
|
|
11943
|
-
id: `${id}-circles`,
|
|
11944
|
-
type: "circle",
|
|
11945
|
-
paint: {
|
|
11946
|
-
"circle-radius": radius,
|
|
11947
|
-
"circle-color": ["get", "color"],
|
|
11948
|
-
"circle-stroke-color": theme.palette.background.paper,
|
|
11949
|
-
"circle-stroke-width": 1.5
|
|
11950
|
-
}
|
|
11951
|
-
}
|
|
11952
|
-
),
|
|
11953
|
-
showLabels && /* @__PURE__ */ jsx(
|
|
11954
|
-
Layer,
|
|
11955
|
-
{
|
|
11956
|
-
id: `${id}-labels`,
|
|
11957
|
-
type: "symbol",
|
|
11958
|
-
minzoom: 11,
|
|
11959
|
-
layout: {
|
|
11960
|
-
"text-field": ["get", "label"],
|
|
11961
|
-
"text-size": 11,
|
|
11962
|
-
"text-offset": [0, 1.2],
|
|
11963
|
-
"text-anchor": "top",
|
|
11964
|
-
"text-font": ["Noto Sans Regular"]
|
|
11965
|
-
},
|
|
11966
|
-
paint: {
|
|
11967
|
-
"text-color": theme.palette.text.primary,
|
|
11968
|
-
"text-halo-color": theme.palette.background.paper,
|
|
11969
|
-
"text-halo-width": 1
|
|
11970
|
-
}
|
|
11971
|
-
}
|
|
11972
|
-
)
|
|
11973
|
-
] });
|
|
11974
|
-
}
|
|
11975
10391
|
|
|
11976
|
-
export { Accordion, AdminDataTable, Alert2 as Alert, AmountCell, AnimateBorder, Avatar, Badge2 as Badge, BooleanLabel, Breadcrumbs, COIN_DISPLAY_DECIMALS, COIN_WIRE_DECIMALS, Card, CardGrid, CardSection, CardSkeleton, Carousel, ChangelogEntry, ChangelogTimeline, Chart, ChartLegends, ChartLoading, CircularProgress2 as CircularProgress, CommandPalette, ConfirmDialog, ContentRenderer,
|
|
11977
|
-
//# sourceMappingURL=chunk-
|
|
11978
|
-
//# sourceMappingURL=chunk-
|
|
10392
|
+
export { Accordion, AdminDataTable, Alert2 as Alert, AmountCell, AnimateBorder, Avatar, Badge2 as Badge, BooleanLabel, Breadcrumbs, COIN_DISPLAY_DECIMALS, COIN_WIRE_DECIMALS, Card, CardGrid, CardSection, CardSkeleton, Carousel, ChangelogEntry, ChangelogTimeline, Chart, ChartLegends, ChartLoading, CircularProgress2 as CircularProgress, CommandPalette, ConfirmDialog, ContentRenderer, ContextMenu, CountBadge, CountdownRing, CountrySelect, CustomAvatarGroup, DEFAULT_CLASS_PREFIX, DEFAULT_LIGHTBOX_LABELS, DEFAULT_SPONSORED_SLOT_LABELS, DateRangeInput, DateRangePicker, DeadlineChip, DeleteDialog, Drawer2 as Drawer, DurationPicker, FilterToolbar, FlagIcon, FormAlert, Image, ImageWithDefault, InlineAlert, Label, Lightbox, LinearProgress3 as LinearProgress, LoadingScreen, Markdown, MegaMenuHorizontal, MegaMenuMobile, MegaMenuVertical, Menu, MotionLazy, Nav, NavArrow2 as NavArrow, NavCard, NavCardGrid, NavIcon, NavInfo, NavItem, NavItemBase, NavLi, NavList, NavSectionHorizontal, NavSectionMini, NavSectionVertical, NavSubList, NavSubheader, NavTexts, NavUl, NavigationProgress, PageContent, ProgressBar, Rail, ScrollToTop, SettingsDrawer, SettingsProvider, SimpleAccordion, SimpleSnackbar, Skeleton5 as Skeleton, SnackbarProvider, Spinner, SplashScreen, SponsoredSlot, StatCard, StatusChip, StatusDot, StatusLabel, Stepper, StepperActions, SvgColor, TabPanel, Table, TableSkeleton, Tabs, TagCloud, Tooltip3 as Tooltip, VirtualList, animateBorderClasses, buildUrl, carouselClasses, chartClasses, cn, createClasses, createClassesObject, createComponentClasses, createIconComponent, deadlineUrgency, formatCoinAmount, formatCoinAmountList, formatDateString, formatDecimalString, fromScaledInteger, getClassPrefix, getCoinDecimals, getCoinWireDecimals, getNavCssVars, getQueryParam, hasParams, htmlToMarkdown, isActiveLink, isEqualPath, isExternalLink, isExternalUrl, isMarkdownContent, lightboxClasses, megaMenuClasses, megaMenuCssVars, mergeClasses, navSectionClasses, navSectionCssVars, parseDateString, parseQueryParams, relativeTimeLeft, removeLastSlash, removeParams, safeReturnUrl, setClassPrefix, subtractDecimalStrings, sumDecimalStrings, toScaledInteger, useAccordion, useCarousel, useChart, useDateRangePicker, useLightbox, useMenu, useSettings, useSettingsDrawer, useSnackbar, useStepper, useTable, useTabs };
|
|
10393
|
+
//# sourceMappingURL=chunk-LSPFFEJT.js.map
|
|
10394
|
+
//# sourceMappingURL=chunk-LSPFFEJT.js.map
|