@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.
Files changed (214) hide show
  1. package/README.md +148 -0
  2. package/dist/blocks/index.js +3 -1
  3. package/dist/blocks/index.js.map +1 -1
  4. package/dist/{chunk-S6SEGBX6.js → chunk-472SOF76.js} +4 -4
  5. package/dist/{chunk-S6SEGBX6.js.map → chunk-472SOF76.js.map} +1 -1
  6. package/dist/{chunk-Z5OSPAOC.js → chunk-4Z5DE5GK.js} +78 -75
  7. package/dist/chunk-4Z5DE5GK.js.map +1 -0
  8. package/dist/chunk-52PQL67Q.js +559 -0
  9. package/dist/chunk-52PQL67Q.js.map +1 -0
  10. package/dist/chunk-75FQ5IW3.js +590 -0
  11. package/dist/chunk-75FQ5IW3.js.map +1 -0
  12. package/dist/{chunk-6AHI4GSV.js → chunk-7G5D5PTC.js} +4 -3
  13. package/dist/chunk-7G5D5PTC.js.map +1 -0
  14. package/dist/chunk-BJE2AKD4.js +105 -0
  15. package/dist/chunk-BJE2AKD4.js.map +1 -0
  16. package/dist/chunk-FF5RF32O.js +248 -0
  17. package/dist/chunk-FF5RF32O.js.map +1 -0
  18. package/dist/{chunk-OBJ244BO.js → chunk-GMIE6III.js} +9 -42
  19. package/dist/chunk-GMIE6III.js.map +1 -0
  20. package/dist/chunk-GUGTDURV.js +826 -0
  21. package/dist/chunk-GUGTDURV.js.map +1 -0
  22. package/dist/chunk-HOXFSQUV.js +573 -0
  23. package/dist/chunk-HOXFSQUV.js.map +1 -0
  24. package/dist/chunk-JSQTYDPG.js +3 -0
  25. package/dist/chunk-JSQTYDPG.js.map +1 -0
  26. package/dist/{chunk-ZTATTUH7.js → chunk-KQ67XB6T.js} +213 -651
  27. package/dist/chunk-KQ67XB6T.js.map +1 -0
  28. package/dist/{chunk-WFD54GQQ.js → chunk-LOY2NPCO.js} +14 -573
  29. package/dist/chunk-LOY2NPCO.js.map +1 -0
  30. package/dist/{chunk-YQW43BDH.js → chunk-LSPFFEJT.js} +240 -1824
  31. package/dist/chunk-LSPFFEJT.js.map +1 -0
  32. package/dist/{chunk-BZOL7GMU.js → chunk-OKTLA23Q.js} +4 -4
  33. package/dist/chunk-OKTLA23Q.js.map +1 -0
  34. package/dist/chunk-PFT2BNYO.js +191 -0
  35. package/dist/chunk-PFT2BNYO.js.map +1 -0
  36. package/dist/chunk-PGHEP4JD.js +106 -0
  37. package/dist/chunk-PGHEP4JD.js.map +1 -0
  38. package/dist/chunk-PXXPLHIY.js +74 -0
  39. package/dist/chunk-PXXPLHIY.js.map +1 -0
  40. package/dist/chunk-SU3LVQ7N.js +518 -0
  41. package/dist/chunk-SU3LVQ7N.js.map +1 -0
  42. package/dist/chunk-YHE7HXSG.js +206 -0
  43. package/dist/chunk-YHE7HXSG.js.map +1 -0
  44. package/dist/cli/index.js +7 -2
  45. package/dist/cli/index.js.map +1 -1
  46. package/dist/components/accordion/accordion.d.ts.map +1 -1
  47. package/dist/components/admin-filters/admin-data-table.d.ts.map +1 -1
  48. package/dist/components/admin-filters/filter-toolbar.d.ts.map +1 -1
  49. package/dist/components/date-input/date-input.d.ts +27 -0
  50. package/dist/components/date-input/date-input.d.ts.map +1 -0
  51. package/dist/components/date-input/index.d.ts +4 -0
  52. package/dist/components/date-input/index.d.ts.map +1 -0
  53. package/dist/components/date-input/value.d.ts +9 -0
  54. package/dist/components/date-input/value.d.ts.map +1 -0
  55. package/dist/components/doc-layout/doc-sidebar.d.ts +4 -1
  56. package/dist/components/doc-layout/doc-sidebar.d.ts.map +1 -1
  57. package/dist/components/doc-layout/index.js +6 -0
  58. package/dist/components/doc-layout/index.js.map +1 -0
  59. package/dist/components/editor/editor.d.ts.map +1 -1
  60. package/dist/components/editor/icons/index.d.ts +32 -40
  61. package/dist/components/editor/icons/index.d.ts.map +1 -1
  62. package/dist/components/editor/index.js +3 -1
  63. package/dist/components/error-boundary/error-boundary.d.ts.map +1 -1
  64. package/dist/components/index.css +4 -0
  65. package/dist/components/index.css.map +1 -1
  66. package/dist/components/index.d.ts +4 -4
  67. package/dist/components/index.d.ts.map +1 -1
  68. package/dist/components/index.js +18 -8
  69. package/dist/components/knowledge-graph/edge-labels.d.ts +14 -0
  70. package/dist/components/knowledge-graph/edge-labels.d.ts.map +1 -0
  71. package/dist/components/knowledge-graph/graph.d.ts +56 -0
  72. package/dist/components/knowledge-graph/graph.d.ts.map +1 -0
  73. package/dist/components/knowledge-graph/index.css +176 -0
  74. package/dist/components/knowledge-graph/index.css.map +1 -0
  75. package/dist/components/knowledge-graph/index.d.ts +3 -0
  76. package/dist/components/knowledge-graph/index.d.ts.map +1 -0
  77. package/dist/components/knowledge-graph/index.js +795 -0
  78. package/dist/components/knowledge-graph/index.js.map +1 -0
  79. package/dist/components/knowledge-graph/label-layout.d.ts +28 -0
  80. package/dist/components/knowledge-graph/label-layout.d.ts.map +1 -0
  81. package/dist/components/knowledge-graph/label-store.d.ts +15 -0
  82. package/dist/components/knowledge-graph/label-store.d.ts.map +1 -0
  83. package/dist/components/knowledge-graph/model.d.ts +92 -0
  84. package/dist/components/knowledge-graph/model.d.ts.map +1 -0
  85. package/dist/components/lightbox/lightbox.d.ts.map +1 -1
  86. package/dist/components/map/Map.d.ts +19 -43
  87. package/dist/components/map/Map.d.ts.map +1 -1
  88. package/dist/components/map/MapCoverageLayer.d.ts +1 -1
  89. package/dist/components/map/MapCoverageLayer.d.ts.map +1 -1
  90. package/dist/components/map/MapMarker.d.ts +1 -1
  91. package/dist/components/map/MapMarker.d.ts.map +1 -1
  92. package/dist/components/map/MapPlaceSearch.d.ts +33 -0
  93. package/dist/components/map/MapPlaceSearch.d.ts.map +1 -0
  94. package/dist/components/map/MapPointPicker.d.ts +21 -12
  95. package/dist/components/map/MapPointPicker.d.ts.map +1 -1
  96. package/dist/components/map/coordinates.d.ts +10 -0
  97. package/dist/components/map/coordinates.d.ts.map +1 -0
  98. package/dist/components/map/index.css +4 -0
  99. package/dist/components/map/index.css.map +1 -0
  100. package/dist/components/map/index.d.ts +7 -2
  101. package/dist/components/map/index.d.ts.map +1 -1
  102. package/dist/components/map/index.js +3 -0
  103. package/dist/components/map/index.js.map +1 -0
  104. package/dist/components/nav-card/nav-card.d.ts.map +1 -1
  105. package/dist/components/rail/rail.d.ts.map +1 -1
  106. package/dist/components/research/diagram-image.d.ts +11 -0
  107. package/dist/components/research/diagram-image.d.ts.map +1 -0
  108. package/dist/components/research/diagram.d.ts +8 -0
  109. package/dist/components/research/diagram.d.ts.map +1 -0
  110. package/dist/components/research/document.d.ts +33 -0
  111. package/dist/components/research/document.d.ts.map +1 -0
  112. package/dist/components/research/frontmatter.d.ts +15 -0
  113. package/dist/components/research/frontmatter.d.ts.map +1 -0
  114. package/dist/components/research/index.css +51 -0
  115. package/dist/components/research/index.css.map +1 -0
  116. package/dist/components/research/index.d.ts +3 -0
  117. package/dist/components/research/index.d.ts.map +1 -0
  118. package/dist/components/research/index.js +6 -0
  119. package/dist/components/research/index.js.map +1 -0
  120. package/dist/components/research/parse.d.ts +29 -0
  121. package/dist/components/research/parse.d.ts.map +1 -0
  122. package/dist/components/research-editor/block-commands.d.ts +20 -0
  123. package/dist/components/research-editor/block-commands.d.ts.map +1 -0
  124. package/dist/components/research-editor/block-controls.d.ts +13 -0
  125. package/dist/components/research-editor/block-controls.d.ts.map +1 -0
  126. package/dist/components/research-editor/editor.d.ts +75 -0
  127. package/dist/components/research-editor/editor.d.ts.map +1 -0
  128. package/dist/components/research-editor/extensions.d.ts +14 -0
  129. package/dist/components/research-editor/extensions.d.ts.map +1 -0
  130. package/dist/components/research-editor/index.css +332 -0
  131. package/dist/components/research-editor/index.css.map +1 -0
  132. package/dist/components/research-editor/index.d.ts +5 -0
  133. package/dist/components/research-editor/index.d.ts.map +1 -0
  134. package/dist/components/research-editor/index.js +1592 -0
  135. package/dist/components/research-editor/index.js.map +1 -0
  136. package/dist/components/research-editor/math-input.d.ts +32 -0
  137. package/dist/components/research-editor/math-input.d.ts.map +1 -0
  138. package/dist/components/research-editor/math-markup.d.ts +4 -0
  139. package/dist/components/research-editor/math-markup.d.ts.map +1 -0
  140. package/dist/components/research-editor/math-navigation.d.ts +6 -0
  141. package/dist/components/research-editor/math-navigation.d.ts.map +1 -0
  142. package/dist/components/research-editor/math-node.d.ts +11 -0
  143. package/dist/components/research-editor/math-node.d.ts.map +1 -0
  144. package/dist/components/research-editor/source.d.ts +19 -0
  145. package/dist/components/research-editor/source.d.ts.map +1 -0
  146. package/dist/components/scrollbar/scrollbar.d.ts +4 -2
  147. package/dist/components/scrollbar/scrollbar.d.ts.map +1 -1
  148. package/dist/components/search-input/search-input.d.ts +0 -10
  149. package/dist/components/search-input/search-input.d.ts.map +1 -1
  150. package/dist/components/tiptap-renderer/tiptap-renderer.d.ts +4 -3
  151. package/dist/components/tiptap-renderer/tiptap-renderer.d.ts.map +1 -1
  152. package/dist/core/index.d.ts +1 -1
  153. package/dist/core/index.d.ts.map +1 -1
  154. package/dist/core/index.js +8 -4
  155. package/dist/core/provider.d.ts +7 -2
  156. package/dist/core/provider.d.ts.map +1 -1
  157. package/dist/forms/schema-provider.d.ts +3 -3
  158. package/dist/forms/schema-utils.d.ts +3 -3
  159. package/dist/hooks/index.js +9 -5
  160. package/dist/icons/context.d.ts +17 -0
  161. package/dist/icons/context.d.ts.map +1 -0
  162. package/dist/icons/controls.d.ts +51 -0
  163. package/dist/icons/controls.d.ts.map +1 -0
  164. package/dist/icons/index.d.ts +3 -0
  165. package/dist/icons/index.d.ts.map +1 -0
  166. package/dist/icons/index.js +4 -0
  167. package/dist/icons/index.js.map +1 -0
  168. package/dist/icons/theme.d.ts +4 -0
  169. package/dist/icons/theme.d.ts.map +1 -0
  170. package/dist/index.css +4 -0
  171. package/dist/index.css.map +1 -1
  172. package/dist/index.js +24 -13
  173. package/dist/index.js.map +1 -1
  174. package/dist/layouts/core/header-section.d.ts.map +1 -1
  175. package/dist/layouts/dashboard/labels.d.ts +12 -0
  176. package/dist/layouts/dashboard/labels.d.ts.map +1 -0
  177. package/dist/layouts/dashboard/layout.d.ts +7 -1
  178. package/dist/layouts/dashboard/layout.d.ts.map +1 -1
  179. package/dist/layouts/dashboard/sidenav.d.ts +7 -3
  180. package/dist/layouts/dashboard/sidenav.d.ts.map +1 -1
  181. package/dist/layouts/index.d.ts +5 -0
  182. package/dist/layouts/index.d.ts.map +1 -1
  183. package/dist/layouts/index.js +6 -1
  184. package/dist/layouts/panel-layout.d.ts +35 -0
  185. package/dist/layouts/panel-layout.d.ts.map +1 -0
  186. package/dist/layouts/sidebar-toggle.d.ts +11 -0
  187. package/dist/layouts/sidebar-toggle.d.ts.map +1 -0
  188. package/dist/state/stores/auth.d.ts +4 -16
  189. package/dist/state/stores/auth.d.ts.map +1 -1
  190. package/dist/state/stores/ui.d.ts +7 -105
  191. package/dist/state/stores/ui.d.ts.map +1 -1
  192. package/dist/theme/components/Button.d.ts.map +1 -1
  193. package/dist/theme/components/FormControls.d.ts +3 -12
  194. package/dist/theme/components/FormControls.d.ts.map +1 -1
  195. package/dist/theme/components/index.d.ts.map +1 -1
  196. package/dist/theme/create-theme.d.ts +5 -17
  197. package/dist/theme/create-theme.d.ts.map +1 -1
  198. package/dist/theme/index.js +6 -2
  199. package/dist/theme/mixins.d.ts +3 -1
  200. package/dist/theme/mixins.d.ts.map +1 -1
  201. package/dist/theme/palette/overrides.d.ts +23 -0
  202. package/dist/theme/palette/overrides.d.ts.map +1 -0
  203. package/dist/ui/index.d.ts +18 -0
  204. package/dist/ui/index.d.ts.map +1 -0
  205. package/dist/ui/index.js +148 -0
  206. package/dist/ui/index.js.map +1 -0
  207. package/package.json +92 -45
  208. package/dist/chunk-6AHI4GSV.js.map +0 -1
  209. package/dist/chunk-BZOL7GMU.js.map +0 -1
  210. package/dist/chunk-OBJ244BO.js.map +0 -1
  211. package/dist/chunk-WFD54GQQ.js.map +0 -1
  212. package/dist/chunk-YQW43BDH.js.map +0 -1
  213. package/dist/chunk-Z5OSPAOC.js.map +0 -1
  214. package/dist/chunk-ZTATTUH7.js.map +0 -1
@@ -1,13 +1,15 @@
1
- import { PRESET_NAMES, PRESET_DISPLAY_NAMES } from './chunk-ZTATTUH7.js';
2
- import { SearchInput } from './chunk-OBJ244BO.js';
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 { createContext, lazy, forwardRef, useEffect, useMemo, useCallback, useState, useTransition, useRef, Fragment as Fragment$1, useId, Children, useContext, isValidElement, Suspense, useLayoutEffect } from 'react';
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 Box20 from '@mui/material/Box';
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 List2 from '@mui/material/List';
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(Typography5, { variant: "body2", sx: {
501
- color: "text.secondary"
502
- }, children: label }) }),
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(Typography5, { variant: "body2", sx: {
529
- color: "text.secondary"
530
- }, children: label });
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(Stack, { direction: "row", spacing: 1, sx: {
596
- alignItems: "center"
597
- }, children: [
598
- /* @__PURE__ */ jsx(
599
- TextField2,
600
- {
601
- type: "number",
602
- size: "small",
603
- label: `${label} min`,
604
- value: values[`${key}Min`] ?? "",
605
- onChange: (e) => handleChange(`${key}Min`, e.target.value),
606
- sx: { minWidth: width ?? 100 }
607
- }
608
- ),
609
- /* @__PURE__ */ jsx(
610
- Typography5,
611
- {
612
- variant: "body2",
613
- sx: {
614
- color: "text.disabled",
615
- px: 0.5
616
- },
617
- children: "\u2014"
618
- }
619
- ),
620
- /* @__PURE__ */ jsx(
621
- TextField2,
622
- {
623
- type: "number",
624
- size: "small",
625
- label: `${label} max`,
626
- value: values[`${key}Max`] ?? "",
627
- onChange: (e) => handleChange(`${key}Max`, e.target.value),
628
- sx: { minWidth: width ?? 100 }
629
- }
630
- )
631
- ] }, key);
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(Box20, { sx: { color: "text.secondary", display: "flex", alignItems: "center" }, children: /* @__PURE__ */ jsx(FilterIcon, {}) }) }),
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
- Box20,
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
- Box20,
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(Typography5, { variant: "body2", sx: {
942
- fontWeight: 600
943
- }, children: [
944
- selection.size,
945
- " selected"
946
- ] }),
947
- /* @__PURE__ */ jsx(Box20, { sx: { flex: 1 } }),
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
- Box20,
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
- Box20,
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(Box20, { component: "span", sx: [{ textAlign: "initial" }, ...Array.isArray(sx) ? sx : [sx]], ...other, children: [
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
- Box20,
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
- Box20,
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
- Box20,
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(Box20, { sx: { mb: 3, ...sx }, children: [
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(Box20, { sx: { display: "flex", justifyContent: "space-between", alignItems: "flex-start" }, children: [
2271
- /* @__PURE__ */ jsx(Box20, { children: loading ? /* @__PURE__ */ jsxs(Fragment, { children: [
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(Box20, { sx: { color: `${color}.main` }, children: icon })
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(Box20, { sx: { display: "flex", flexDirection: banner ? "row" : "column", height: "100%" }, children: [
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(Box20, { sx: { p: 1.5, flex: 1 }, children: [
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
- Box20,
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(Box20, { sx: { display: "flex", flexDirection: banner ? "row" : "column", height: "100%" }, children: [
2394
+ const body = /* @__PURE__ */ jsxs(Box19, { sx: { display: "flex", flexDirection: banner ? "row" : "column", height: "100%" }, children: [
2425
2395
  content.image && /* @__PURE__ */ jsx(
2426
- Box20,
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(Box20, { sx: { p: 1.5, display: "flex", flexDirection: "column", gap: 0.5, minWidth: 0 }, children: [
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(Box20, {
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(Box20)(({ theme }) => ({
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(Box20)(() => ({
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(Box20)(({ theme }) => ({
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(Box20, { component: "svg", viewBox: "0 0 24 24", sx: { width: 48, height: 48, opacity: 0.5 }, children: /* @__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(Box20, { sx: { mr: 0.5, ...iconStyles }, children: startIcon }),
2705
+ startIcon && /* @__PURE__ */ jsx(Box19, { sx: { mr: 0.5, ...iconStyles }, children: startIcon }),
2736
2706
  children,
2737
- endIcon && /* @__PURE__ */ jsx(Box20, { sx: { ml: 0.5, ...iconStyles }, children: endIcon })
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("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, "aria-hidden": "true", children: /* @__PURE__ */ jsx("polyline", { points: direction === "left" ? "15 6 9 12 15 18" : "9 6 15 12 9 18" }) });
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
- Box20,
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
- Box20,
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(Box20, { component: "li", sx: { scrollSnapAlign: "start", minWidth: 0 }, children: child })
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(Box20, {
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(List2, { disablePadding: true, sx, children: visible.map((tag) => /* @__PURE__ */ jsxs(
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(Box20, { component: "span", sx: { display: "inline-flex", alignItems: "center", gap: 0.5 }, children: [
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
- Box20,
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(Box20, { component: "span", sx: { display: "inline-flex", alignItems: "center", gap: 0.5 }, children: [
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(CloseIcon3, { fontSize: "small" }) }),
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(Box20, { sx: { p: 4, textAlign: "center" }, children: emptyContent || /* @__PURE__ */ jsx(Typography5, { sx: {
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(Box20, { sx: { width, p: 2 }, children: [
3659
- hasAvatar && /* @__PURE__ */ jsxs(Box20, { sx: { display: "flex", alignItems: "center", mb: 2 }, children: [
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(Box20, { sx: { ml: 1, flex: 1 }, children: [
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(Box20, { sx: { mt: 1 }, children: Array.from({ length: lines }, (_, i) => /* @__PURE__ */ jsx(Skeleton5, { variant: "text", width: i === lines - 1 ? "80%" : "100%" }, i)) })
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(Box20, { sx: { width: "100%" }, children: [
3672
- hasHeader && /* @__PURE__ */ jsx(Box20, { 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)) }),
3673
- Array.from({ length: rows }, (_row, rowIndex) => /* @__PURE__ */ jsx(Box20, { sx: { display: "flex", gap: 2, py: 1 }, children: Array.from({ length: columns }, (_col, colIndex) => /* @__PURE__ */ jsx(Skeleton5, { variant: "text", sx: { flex: 1 } }, colIndex)) }, rowIndex))
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(Box20, { sx: { width: "100%" }, children: [
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(Box20, { sx: { display: "flex", alignItems: "center", gap: 1 }, children: [
3709
- /* @__PURE__ */ jsx(Box20, { sx: { flex: 1 }, children: /* @__PURE__ */ jsx(MuiLinearProgress, { variant, value, color, sx: { borderRadius: 1, ...sx }, ...props }) }),
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(Box20, { sx: { position: "relative", display: "inline-flex" }, children: [
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
- Box20,
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(Box20, { sx: { width: "100%" }, children: [
3668
+ return /* @__PURE__ */ jsxs(Box19, { sx: { width: "100%" }, children: [
3777
3669
  /* @__PURE__ */ jsx(
3778
- Box20,
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
- Box20,
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(Box20, { sx: { display: "flex", gap: 2, mt: 1 }, children: segments.map((segment, index) => /* @__PURE__ */ jsxs(Box20, { sx: { display: "flex", alignItems: "center", gap: 0.5 }, children: [
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
- Box20,
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
- Box20,
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
- Box20,
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
- Box20,
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(Box20, { sx: { p: 2, pb: 1 }, children: /* @__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(Box20, { component: "span", sx: { fontSize: 18, opacity: 0.6 }, children: "\u2318" }) })
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
- Box20,
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(Box20, { sx: { p: 3, textAlign: "center" }, children: /* @__PURE__ */ jsx(Typography5, { variant: "body2", sx: {
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(Box20, { children: [
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
- Box20,
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(Box20, { sx: { display: "flex", alignItems: "center", width: 20, opacity: 0.8 }, children: action.icon }) : null,
4133
- /* @__PURE__ */ jsx(Box20, { sx: { flex: 1, minWidth: 0 }, children: /* @__PURE__ */ jsxs(Stack, { direction: "row", spacing: 1, sx: {
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(Box20, { sx: { width: "100%" }, children: [
4124
+ return /* @__PURE__ */ jsxs(Box19, { sx: { width: "100%" }, children: [
4233
4125
  /* @__PURE__ */ jsxs(
4234
- Box20,
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
- Box20,
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
- Box20,
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(ExpandMoreIcon, {}),
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(ExpandMoreIcon, {}), children: [
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(Box20, { sx: { mb: 3 }, children: [
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
- Box20,
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
- Box20,
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
- Box20,
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(Box20, { sx: { display: "flex", gap: 1, flexWrap: "wrap" }, children: [
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
- Box20,
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
- Box20,
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
- Box20,
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(Box20, { sx: { display: "flex", gap: 1.5 }, children: layoutOptions.map((option) => {
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
- Box20,
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
- Box20,
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(Box20, { sx: { p: 2.5, flex: 1, overflowY: "auto" }, children: sections.map((section) => {
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(Box20, { sx: { p: 2, borderTop: `1px solid ${theme.palette.divider}` }, children: /* @__PURE__ */ jsx(Button, { fullWidth: true, variant: "soft", color: "primary", onClick: drawer.onClose, children: "Close" }) })
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
- Box20,
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(Box20, { sx: { display: "flex", alignItems: "center", gap: 1, flexWrap: "wrap" }, children: [
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(Box20, { sx: { display: "flex", alignItems: "center", justifyContent: "space-between", width: "100%", gap: 1 }, children: [
5745
- /* @__PURE__ */ jsxs(Box20, { sx: { display: "flex", alignItems: "center", gap: 2, minWidth: 0 }, children: [
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
- Box20,
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(Box20, { sx: { minWidth: 0, flex: 1 }, children: [
5764
- /* @__PURE__ */ jsxs(Box20, { sx: { display: "flex", alignItems: "center", gap: 1, flexWrap: "wrap" }, children: [
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(Box20, { sx: { display: "flex", alignItems: "center", flexShrink: 0, color: "text.secondary" }, children: arrow === true ? /* @__PURE__ */ jsx(ChevronRightIcon, {}) : arrow })
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
- Box20,
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
- Box20,
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(Box20, { sx: { display: "flex", alignItems: "center", gap: 1, ml: "auto" }, children: [
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
- Box20,
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(Box20, { sx: { p: 2 }, children: footer })
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(Box20, { sx: { display: "flex", gap: 2, mt: 3 }, children: [
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(Box20, { sx: { flex: 1 } }),
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
- Box20,
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(Box20, { sx: { flex: 1 } }),
6769
- zoom && /* @__PURE__ */ jsxs(Box20, { sx: { display: "flex", alignItems: "center", gap: 0.25 }, children: [
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(GlassButton, { onClick: onClose, "aria-label": labels.close, className: lightboxClasses.toolbarButton, size: "small", children: /* @__PURE__ */ jsx(CloseIcon3, { fontSize: "small" }) })
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
- Box20,
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(PlayArrowIcon, { sx: { fontSize: 18, color: "common.white", opacity: 0.9 } })
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(Box20, { sx: { flex: 1 } }),
7022
- /* @__PURE__ */ jsx(GlassButton, { onClick: onClose, "aria-label": labels.close, size: "small", children: /* @__PURE__ */ jsx(CloseIcon3, { fontSize: "small" }) })
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(Box20)({
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(Box20)(({ theme, placement }) => ({
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(Box20)({
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(Box20)({
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(Box20)({
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(Box20)({
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(Box20)(({ theme }) => ({
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(Box20)(({ theme }) => ({
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(Box20)(({ theme, active }) => ({
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(KeyboardArrowUpIcon, {})
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(KeyboardArrowDownIcon, {})
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(Box20)({
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(Box20)({
7569
+ var CarouselContainer = styled(Box19)({
7673
7570
  position: "relative",
7674
7571
  width: "100%",
7675
7572
  overflow: "hidden"
7676
7573
  });
7677
- var CarouselTrack = styled(Box20)({
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(Box20)({
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(Box20)(({ theme, dotsPosition }) => ({
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
- Box20,
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
- Box20,
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
- Box20,
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(Box20, { component: "span", children: comp && Object.values(comp)[0] }, idx)) });
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(Box20)(({ theme }) => ({
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(Box20, { sx: { mt: 2 }, children: /* @__PURE__ */ jsx(MoreLink, { href: data.moreLink.path, className: megaMenuClasses.moreLink, sx: slotProps?.moreLink, children: data.moreLink.title }) })
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(Box20, { 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)) }) }),
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(Box20, { children: [
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(Box20)(({ theme }) => ({
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(Box20, { children: [
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(Box20, { children: [
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
- Box20,
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
- Box20,
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(Box20, { sx: { position: "relative", pl: { xs: 5, sm: 7 }, pb: 4 }, children: [
10340
+ return /* @__PURE__ */ jsxs(Box19, { sx: { position: "relative", pl: { xs: 5, sm: 7 }, pb: 4 }, children: [
11624
10341
  /* @__PURE__ */ jsx(
11625
- Box20,
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, ContentRoot, ContextMenu, CountBadge, CountdownRing, CountrySelect, CustomAvatarGroup, DEFAULT_CLASS_PREFIX, DEFAULT_LIGHTBOX_LABELS, DEFAULT_SPONSORED_SLOT_LABELS, DateRangeInput, DateRangePicker, DeadlineChip, DeleteDialog, DocLayout, DocSectionNav, DocSidebar, Drawer2 as Drawer, DurationPicker, FilterToolbar, FlagIcon, FormAlert, Image, ImageWithDefault, InlineAlert, Label, Lightbox, LinearProgress3 as LinearProgress, LoadingScreen, Map2 as Map, MapCoverageLayer, MapMarker, MapPointPicker, 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, ScrollSpyProvider, ScrollSpySection, ScrollToTop, Scrollbar, SettingsDrawer, SettingsProvider, SimpleAccordion, SimpleSnackbar, Skeleton5 as Skeleton, SnackbarProvider, Spinner, SplashScreen, SponsoredSlot, StatCard, StatusChip, StatusDot, StatusLabel, Stepper, StepperActions, SvgColor, TabPanel, Table, TableSkeleton, Tabs, TagCloud, TipTapRenderer, Tooltip3 as Tooltip, VirtualList, animateBorderClasses, buildUrl, carouselClasses, chartClasses, cn, contentClasses, 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, registerTipTapNode, relativeTimeLeft, removeLastSlash, removeParams, safeReturnUrl, setClassPrefix, subtractDecimalStrings, sumDecimalStrings, toScaledInteger, useAccordion, useCarousel, useChart, useDateRangePicker, useLightbox, useMenu, useScrollSpy, useSettings, useSettingsDrawer, useSnackbar, useStepper, useTable, useTabs };
11977
- //# sourceMappingURL=chunk-YQW43BDH.js.map
11978
- //# sourceMappingURL=chunk-YQW43BDH.js.map
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