@overmap-ai/blocks 1.0.27 → 1.0.28

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 (73) hide show
  1. package/dist/Buttons/index.d.ts +1 -1
  2. package/dist/Buttons/typings.d.ts +7 -5
  3. package/dist/CollapsibleTree/CollapsibleTree.d.ts +5 -0
  4. package/dist/CollapsibleTree/context.d.ts +14 -0
  5. package/dist/CollapsibleTree/index.d.ts +2 -0
  6. package/dist/CollapsibleTree/typings.d.ts +71 -0
  7. package/dist/DialogMenu/Provider.d.ts +6 -0
  8. package/dist/DialogMenu/components/DialogCommandMenu.d.ts +6 -0
  9. package/dist/DialogMenu/components/DialogMultiSelectMenu.d.ts +6 -0
  10. package/dist/DialogMenu/components/DialogSelectMenu.d.ts +7 -0
  11. package/dist/DialogMenu/components/index.d.ts +3 -0
  12. package/dist/DialogMenu/constants.d.ts +3 -0
  13. package/dist/DialogMenu/content/Content.d.ts +8 -0
  14. package/dist/DialogMenu/content/SubContent.d.ts +5 -0
  15. package/dist/DialogMenu/content/index.d.ts +2 -0
  16. package/dist/DialogMenu/context.d.ts +14 -0
  17. package/dist/DialogMenu/groups/Group.d.ts +3 -0
  18. package/dist/DialogMenu/groups/MultiSelectGroup.d.ts +3 -0
  19. package/dist/DialogMenu/groups/SelectGroup.d.ts +3 -0
  20. package/dist/DialogMenu/groups/index.d.ts +3 -0
  21. package/dist/DialogMenu/index.d.ts +20 -0
  22. package/dist/DialogMenu/items/Item.d.ts +3 -0
  23. package/dist/DialogMenu/items/MultiSelectItem.d.ts +3 -0
  24. package/dist/DialogMenu/items/SelectItem.d.ts +3 -0
  25. package/dist/DialogMenu/items/Separator.d.ts +4 -0
  26. package/dist/DialogMenu/items/SubTrigger.d.ts +3 -0
  27. package/dist/DialogMenu/items/index.d.ts +5 -0
  28. package/dist/DialogMenu/root/Root.d.ts +6 -0
  29. package/dist/DialogMenu/root/index.d.ts +1 -0
  30. package/dist/DialogMenu/typings.d.ts +59 -0
  31. package/dist/Dialogs/BaseDialog/BaseDialog.d.ts +3 -0
  32. package/dist/Dialogs/BaseDialog/index.d.ts +2 -0
  33. package/dist/Dialogs/BaseDialog/typings.d.ts +31 -0
  34. package/dist/Dialogs/Dialog/typings.d.ts +2 -7
  35. package/dist/Dialogs/Dialog/utils.d.ts +1 -1
  36. package/dist/Dialogs/Overlay/Overlay.d.ts +7 -0
  37. package/dist/Dialogs/Overlay/index.d.ts +1 -0
  38. package/dist/Dialogs/index.d.ts +2 -0
  39. package/dist/Dialogs/typings.d.ts +5 -0
  40. package/dist/DownloadButtonUtility/DownloadButtonUtility.d.ts +7 -0
  41. package/dist/DownloadButtonUtility/index.d.ts +1 -0
  42. package/dist/Layout/SlideOutOverlay.d.ts +2 -2
  43. package/dist/Layout/index.d.ts +1 -1
  44. package/dist/OvermapInputItem/OvermapInputItem.d.ts +6 -0
  45. package/dist/OvermapInputItem/index.d.ts +2 -0
  46. package/dist/OvermapInputItem/typings.d.ts +4 -0
  47. package/dist/OvermapItem/OvermapItem.d.ts +5 -0
  48. package/dist/OvermapItem/constants.d.ts +2 -0
  49. package/dist/OvermapItem/index.d.ts +2 -0
  50. package/dist/OvermapItem/typings.d.ts +24 -0
  51. package/dist/OvermapItemGroup/OvermapItemGroup.d.ts +3 -0
  52. package/dist/OvermapItemGroup/context.d.ts +9 -0
  53. package/dist/OvermapItemGroup/index.d.ts +3 -0
  54. package/dist/OvermapItemGroup/typings.d.ts +7 -0
  55. package/dist/RiIcon/RiIcon.d.ts +7 -0
  56. package/dist/RiIcon/index.d.ts +1 -0
  57. package/dist/SelectContext/Provider.d.ts +14 -0
  58. package/dist/SelectContext/context.d.ts +5 -0
  59. package/dist/SelectContext/index.d.ts +3 -0
  60. package/dist/SelectContext/typings.d.ts +10 -0
  61. package/dist/Table/typings.d.ts +1 -0
  62. package/dist/ToggleButton/ToggleButton.d.ts +8 -0
  63. package/dist/ToggleButton/index.d.ts +1 -0
  64. package/dist/blocks.js +1012 -164
  65. package/dist/blocks.js.map +1 -1
  66. package/dist/blocks.umd.cjs +1013 -169
  67. package/dist/blocks.umd.cjs.map +1 -1
  68. package/dist/constants.d.ts +1 -0
  69. package/dist/index.d.ts +9 -1
  70. package/dist/style.css +100 -28
  71. package/dist/typings.d.ts +4 -0
  72. package/dist/utils.d.ts +10 -4
  73. package/package.json +8 -3
package/dist/blocks.js CHANGED
@@ -1,24 +1,31 @@
1
1
  import { jsx, jsxs, Fragment } from "react/jsx-runtime";
2
- import { useThemeContext, Badge as Badge$1, Flex as Flex$1, Box, Link, Text as Text$2, Button, IconButton as IconButton$1, Card, Inset, Dialog as Dialog$1, AlertDialog as AlertDialog$1, Kbd, ContextMenu as ContextMenu$1, DropdownMenu as DropdownMenu$1, Select as Select$1, Checkbox as Checkbox$1, Switch as Switch$1, Portal, TextField, Popover as Popover$1, TextArea as TextArea$1, Callout, Tooltip as Tooltip$1, Theme, Separator as Separator$1, TableRow } from "@radix-ui/themes";
2
+ import { useThemeContext, Badge as Badge$1, Flex as Flex$1, Box, Link, Text as Text$2, Button, IconButton as IconButton$1, Card, Inset, Dialog as Dialog$1, AlertDialog as AlertDialog$1, Theme, Grid, Separator as Separator$2, ScrollArea, Kbd, ContextMenu as ContextMenu$1, DropdownMenu as DropdownMenu$1, Select as Select$1, Checkbox as Checkbox$1, Switch as Switch$1, Portal, TextField, Popover as Popover$1, TextArea as TextArea$1, Callout, Tooltip as Tooltip$1, TableRow } from "@radix-ui/themes";
3
3
  import { Theme as Theme2, updateThemeAppearanceClass, useThemeContext as useThemeContext2 } from "@radix-ui/themes";
4
- import React, { useMemo, useState, useLayoutEffect, useCallback, useEffect, Children, isValidElement, forwardRef, memo, createContext, useContext, cloneElement, createElement, useRef, useReducer } from "react";
4
+ import React, { useMemo, useState, useLayoutEffect, useCallback, useEffect, Children, isValidElement, memo, forwardRef, createContext, useContext, cloneElement, useRef, createElement, useReducer } from "react";
5
5
  import { useMediaQuery } from "react-responsive";
6
- import { Cross1Icon, MagnifyingGlassIcon, CheckIcon, DragHandleDots2Icon, Cross2Icon, DividerHorizontalIcon, CaretSortIcon, ArrowUpIcon, ArrowDownIcon, MixerHorizontalIcon, Pencil1Icon, TrashIcon, DoubleArrowLeftIcon, ChevronLeftIcon, ChevronRightIcon, DoubleArrowRightIcon } from "@radix-ui/react-icons";
6
+ import useResizeObserver from "@react-hook/resize-observer";
7
+ import * as RiIcons from "react-icons/ri";
8
+ import * as RadixDialogPrimitive from "@radix-ui/react-dialog";
9
+ import * as RadixPrimitiveCollapsible from "@radix-ui/react-collapsible";
7
10
  import * as RadixContextMenu from "@radix-ui/react-context-menu";
8
11
  import * as RadixDropdownMenu from "@radix-ui/react-dropdown-menu";
12
+ import { Slot } from "@radix-ui/react-slot";
9
13
  import { isMobile } from "react-device-detect";
10
- import * as RadixDialogPrimitive from "@radix-ui/react-dialog";
11
14
  import { Resizable } from "re-resizable";
12
15
  import { CSSTransition, Transition } from "react-transition-group";
13
16
  import ReactDOM, { flushSync } from "react-dom";
14
- import { Slot } from "@radix-ui/react-slot";
15
17
  import { DismissableLayer } from "@radix-ui/react-dismissable-layer";
16
- import { Root as Root$3, Item as Item$1 } from "@radix-ui/react-toggle-group";
17
- import { Root as Root$4 } from "@radix-ui/react-toolbar";
18
+ import { Root as Root$4, Item as Item$2 } from "@radix-ui/react-toggle-group";
19
+ import { Root as Root$5 } from "@radix-ui/react-toolbar";
18
20
  import * as RadixToast from "@radix-ui/react-toast";
19
21
  import { ToastProvider as ToastProvider$1, ToastViewport as ToastViewport$1 } from "@radix-ui/react-toast";
22
+ import * as Toggle from "@radix-ui/react-toggle";
20
23
  import { useErrorBoundary, ErrorBoundary } from "react-error-boundary";
21
- import FeatherIcon from "feather-icons-react";
24
+ import { HeaderCell, Table as Table$1, Header, HeaderRow, Body, Cell, Row } from "@table-library/react-table-library/table.js";
25
+ import { useTheme } from "@table-library/react-table-library/theme.js";
26
+ import { useSort, HeaderCellSort } from "@table-library/react-table-library/sort.js";
27
+ import { useRowSelect, SelectTypes, SelectClickTypes, HeaderCellSelect, CellSelect } from "@table-library/react-table-library/select.js";
28
+ import { usePagination } from "@table-library/react-table-library/pagination.js";
22
29
  function getDefaultExportFromCjs(x) {
23
30
  return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
24
31
  }
@@ -92,11 +99,11 @@ const nonThemeSeverityMapping = {
92
99
  info: "gray"
93
100
  };
94
101
  const useSeverityColor = (severity) => {
95
- const theme2 = useThemeContext();
102
+ const theme = useThemeContext();
96
103
  if (!severity)
97
104
  return void 0;
98
105
  if (severity === "primary")
99
- return theme2.accentColor;
106
+ return theme.accentColor;
100
107
  return nonThemeSeverityMapping[severity];
101
108
  };
102
109
  const useViewportSize = () => {
@@ -186,12 +193,39 @@ function useTextFilter(values, filterFunction) {
186
193
  }, [filterFunction, filterValue, values]);
187
194
  return [filteredOptions, filterValue, setFilterValue];
188
195
  }
196
+ const useSize = (target) => {
197
+ const [size, setSize] = useState();
198
+ useLayoutEffect(() => {
199
+ var _a;
200
+ setSize((_a = target.current) == null ? void 0 : _a.getBoundingClientRect());
201
+ }, [target]);
202
+ const handleResize = useCallback((entry) => {
203
+ const rect = entry.contentRect;
204
+ setSize(rect);
205
+ }, []);
206
+ useResizeObserver(target, handleResize);
207
+ return size;
208
+ };
189
209
  const splitTextForEllipsisAndExpansion = (text, numChars) => {
190
210
  const indexOfSpace = text.indexOf(" ", numChars);
191
211
  const firstLine = indexOfSpace === -1 ? text : text.substring(0, indexOfSpace);
192
212
  const secondLine = indexOfSpace === -1 ? "" : text.substring(indexOfSpace);
193
213
  return [firstLine, secondLine];
194
214
  };
215
+ const genericMemo = memo;
216
+ function useOvermapResponsiveValue(value) {
217
+ const { size } = useViewportSize();
218
+ if (value === null || value === void 0)
219
+ return value;
220
+ if (typeof value === "object") {
221
+ if (!("initial" in value)) {
222
+ throw new Error("Expected initial property to be set in Responsive object");
223
+ } else {
224
+ return value[size];
225
+ }
226
+ }
227
+ return value;
228
+ }
195
229
  const _Badge = forwardRef(function Badge2({ className, severity = "primary", color, children, ...rest }, ref) {
196
230
  const severityColor = useSeverityColor(severity);
197
231
  return /* @__PURE__ */ jsx(
@@ -209,7 +243,7 @@ const Badge = memo(_Badge);
209
243
  const zeroMinWidth = "_zeroMinWidth_curjh_1";
210
244
  const zeroMinHeight = "_zeroMinHeight_curjh_5";
211
245
  const radius = "_radius_curjh_9";
212
- const styles$n = {
246
+ const styles$t = {
213
247
  zeroMinWidth,
214
248
  zeroMinHeight,
215
249
  radius
@@ -221,9 +255,9 @@ const Flex = memo(
221
255
  Flex$1,
222
256
  {
223
257
  className: classNames(className, {
224
- [styles$n.radius]: radius2,
225
- [styles$n.zeroMinWidth]: zeroMinWidth2,
226
- [styles$n.zeroMinHeight]: zeroMinHeight2
258
+ [styles$t.radius]: radius2,
259
+ [styles$t.zeroMinWidth]: zeroMinWidth2,
260
+ [styles$t.zeroMinHeight]: zeroMinHeight2
227
261
  }),
228
262
  ref,
229
263
  ...rest,
@@ -235,14 +269,14 @@ const Flex = memo(
235
269
  );
236
270
  const BreadcrumbContext = createContext({});
237
271
  const useBreadcrumbContext = () => useContext(BreadcrumbContext);
238
- const Item = memo(
272
+ const Item$1 = memo(
239
273
  forwardRef(({ className, children, ...rest }, ref) => {
240
274
  const { size, severity } = useBreadcrumbContext();
241
275
  const severityColor = useSeverityColor(severity);
242
276
  return /* @__PURE__ */ jsx(Box, { className: classNames("overmap-breadcrumb-item", className), height: "max-content", width: "max-content", children: /* @__PURE__ */ jsx(Link, { ref, size, color: severityColor, ...rest, children: /* @__PURE__ */ jsx(Flex, { height: "100%", width: "100%", align: "center", gap: "1", children }) }) });
243
277
  })
244
278
  );
245
- const Group = memo(
279
+ const Group$1 = memo(
246
280
  forwardRef(
247
281
  ({ className, children, separator, severity = "info", size, gap = "2", ...rest }, ref) => {
248
282
  const severityColor = useSeverityColor(severity);
@@ -269,23 +303,23 @@ const Group = memo(
269
303
  )
270
304
  );
271
305
  const Breadcrumb = {
272
- Group,
273
- Item
306
+ Group: Group$1,
307
+ Item: Item$1
274
308
  };
275
309
  const fluid$1 = "_fluid_r73gr_1";
276
310
  const hoverSpin90Clockwise = "_hoverSpin90Clockwise_r73gr_15";
277
311
  const hoverSpin180Clockwise = "_hoverSpin180Clockwise_r73gr_25";
278
312
  const hoverSpin360Clockwise = "_hoverSpin360Clockwise_r73gr_35";
279
- const styles$m = {
313
+ const styles$s = {
280
314
  fluid: fluid$1,
281
315
  hoverSpin90Clockwise,
282
316
  hoverSpin180Clockwise,
283
317
  hoverSpin360Clockwise
284
318
  };
285
319
  const hoverEffectClassNameMapping = {
286
- spin90Clockwise: styles$m.hoverSpin90Clockwise,
287
- spin180Clockwise: styles$m.hoverSpin180Clockwise,
288
- spin360Clockwise: styles$m.hoverSpin360Clockwise
320
+ spin90Clockwise: styles$s.hoverSpin90Clockwise,
321
+ spin180Clockwise: styles$s.hoverSpin180Clockwise,
322
+ spin360Clockwise: styles$s.hoverSpin360Clockwise
289
323
  };
290
324
  const clickOnEnterOrSpace = (e) => {
291
325
  if (e.key === "Enter" || e.key === " ") {
@@ -302,16 +336,17 @@ const SizeMapping = {
302
336
  medium: "2",
303
337
  large: "3"
304
338
  };
339
+ const DEFAULT_ICON_SIZE = "15px";
305
340
  const ButtonGroupContext = createContext({});
306
341
  const useButtonGroupContext = () => useContext(ButtonGroupContext);
307
- const spinner = "_spinner_isifr_9";
308
- const spin = "_spin_isifr_9";
309
- const styles$l = {
342
+ const spinner = "_spinner_1oknc_9";
343
+ const spin = "_spin_1oknc_9";
344
+ const styles$r = {
310
345
  spinner,
311
346
  spin
312
347
  };
313
348
  const Spinner = memo(() => {
314
- return /* @__PURE__ */ jsx("div", { className: styles$l.spinner });
349
+ return /* @__PURE__ */ jsx("div", { className: styles$r.spinner });
315
350
  });
316
351
  Spinner.displayName = "Spinner";
317
352
  const _Button$1 = forwardRef(function Button$1(props, ref) {
@@ -347,7 +382,7 @@ const _Button$1 = forwardRef(function Button$1(props, ref) {
347
382
  ref,
348
383
  type,
349
384
  className: classNames(className, hoverEffectClasses, {
350
- [styles$m.fluid]: fluid2
385
+ [styles$s.fluid]: fluid2
351
386
  }),
352
387
  color,
353
388
  size: useResponsiveMapping(size, SizeMapping),
@@ -389,7 +424,7 @@ const _Button = forwardRef(function Button3(props, ref) {
389
424
  IconButton$1,
390
425
  {
391
426
  className: classNames(className, hoverEffectClasses, {
392
- [styles$m.fluid]: fluid2
427
+ [styles$s.fluid]: fluid2
393
428
  }),
394
429
  ref,
395
430
  color,
@@ -404,7 +439,7 @@ const _Button = forwardRef(function Button3(props, ref) {
404
439
  });
405
440
  const IconButton = React.memo(_Button);
406
441
  const merged = "_merged_wdgxo_1";
407
- const styles$k = {
442
+ const styles$q = {
408
443
  merged
409
444
  };
410
445
  const GhostVariantSizeToGapMapping = {
@@ -431,7 +466,7 @@ const _ButtonGroup = forwardRef(function ButtonGroup2({
431
466
  Flex$1,
432
467
  {
433
468
  className: classNames("overmap-button-group", className, {
434
- [styles$k.merged]: merged2
469
+ [styles$q.merged]: merged2
435
470
  }),
436
471
  ref,
437
472
  gap: merged2 ? gap ?? mergedAutoGap : gap ?? "2",
@@ -444,7 +479,7 @@ const _ButtonGroup = forwardRef(function ButtonGroup2({
444
479
  });
445
480
  const ButtonGroup = memo(_ButtonGroup);
446
481
  const separators = "_separators_1f7v1_1";
447
- const styles$j = {
482
+ const styles$p = {
448
483
  separators
449
484
  };
450
485
  const ButtonListBorder = memo(
@@ -475,7 +510,7 @@ const ButtonListRoot = memo(
475
510
  size,
476
511
  severity: "info",
477
512
  variant: buttonVariant,
478
- className: classNames(className, styles$j.separators),
513
+ className: classNames(className, styles$p.separators),
479
514
  merged: true,
480
515
  gap: "0",
481
516
  direction: "column",
@@ -499,13 +534,22 @@ const ButtonList = {
499
534
  Root: ButtonListRoot,
500
535
  Item: ButtonListItem
501
536
  };
537
+ const RiIcon = memo((props) => {
538
+ const { icon, size = DEFAULT_ICON_SIZE, color, ...rest } = props;
539
+ const Icon = RiIcons[icon];
540
+ if (!Icon) {
541
+ throw new Error(`no icon with the name ${icon} exists.`);
542
+ }
543
+ return /* @__PURE__ */ jsx(Icon, { size, color, ...rest });
544
+ });
545
+ RiIcon.displayName = "IconComponent";
502
546
  const DialogContent = memo(function DialogContent2(props) {
503
547
  const { title, description, content, closeDialog } = props;
504
- return /* @__PURE__ */ jsxs(Flex$1, { direction: "column", gap: "2", children: [
548
+ return /* @__PURE__ */ jsxs(Flex$1, { direction: "column", gap: "2", grow: "1", children: [
505
549
  /* @__PURE__ */ jsxs(Flex$1, { direction: "column", gap: "1", children: [
506
550
  /* @__PURE__ */ jsxs(Flex$1, { justify: "between", children: [
507
551
  /* @__PURE__ */ jsx(Dialog$1.Title, { mb: "0", children: title }),
508
- /* @__PURE__ */ jsx(Dialog$1.Close, { children: /* @__PURE__ */ jsx(IconButton$1, { color: "gray", variant: "ghost", "aria-label": "Close", children: /* @__PURE__ */ jsx(Cross1Icon, {}) }) })
552
+ /* @__PURE__ */ jsx(Dialog$1.Close, { children: /* @__PURE__ */ jsx(IconButton$1, { color: "gray", variant: "ghost", "aria-label": "Close", children: /* @__PURE__ */ jsx(RiIcon, { icon: "RiCloseLargeLine" }) }) })
509
553
  ] }),
510
554
  description && /* @__PURE__ */ jsx(Dialog$1.Description, { children: description })
511
555
  ] }),
@@ -657,6 +701,696 @@ const useDiscardAlertDialog = () => {
657
701
  [openAlertDialog]
658
702
  );
659
703
  };
704
+ const BaseDialog = memo(
705
+ forwardRef((props, ref) => {
706
+ const {
707
+ children,
708
+ defaultOpen = false,
709
+ onInterruptClose,
710
+ content,
711
+ onClose,
712
+ open: controlledOpen,
713
+ onOpenChange: controlledOpenChange,
714
+ className,
715
+ style,
716
+ overlay: overlay2 = false,
717
+ overlayClass,
718
+ overlayStyle
719
+ } = props;
720
+ const [uncontrolledOpen, setUncontrolledOpen] = useState(defaultOpen ?? false);
721
+ const open = useMemo(
722
+ () => controlledOpen !== void 0 ? controlledOpen : uncontrolledOpen,
723
+ [controlledOpen, uncontrolledOpen]
724
+ );
725
+ const handleOpenChange = useCallback(
726
+ (nextOpen) => {
727
+ if (controlledOpenChange) {
728
+ controlledOpenChange(nextOpen);
729
+ } else if (!nextOpen && onInterruptClose) {
730
+ const closeInner = () => {
731
+ setUncontrolledOpen(false);
732
+ if (onClose)
733
+ onClose();
734
+ };
735
+ onInterruptClose(closeInner);
736
+ } else if (!nextOpen) {
737
+ setUncontrolledOpen(false);
738
+ if (onClose)
739
+ onClose();
740
+ } else {
741
+ setUncontrolledOpen(nextOpen);
742
+ }
743
+ },
744
+ [controlledOpenChange, onClose, onInterruptClose]
745
+ );
746
+ const close = useCallback(
747
+ (closeOptions) => {
748
+ if (closeOptions == null ? void 0 : closeOptions.force) {
749
+ setUncontrolledOpen(false);
750
+ } else {
751
+ handleOpenChange(false);
752
+ }
753
+ },
754
+ [handleOpenChange]
755
+ );
756
+ return /* @__PURE__ */ jsxs(RadixDialogPrimitive.Root, { open, onOpenChange: handleOpenChange, modal: overlay2, children: [
757
+ children !== void 0 && /* @__PURE__ */ jsx(RadixDialogPrimitive.Trigger, { children }),
758
+ /* @__PURE__ */ jsx(RadixDialogPrimitive.Portal, { children: /* @__PURE__ */ jsxs(Fragment, { children: [
759
+ overlay2 && /* @__PURE__ */ jsx(Theme, { asChild: true, children: /* @__PURE__ */ jsx(RadixDialogPrimitive.Overlay, { className: overlayClass, style: overlayStyle }) }),
760
+ /* @__PURE__ */ jsx(Theme, { asChild: true, children: /* @__PURE__ */ jsx(RadixDialogPrimitive.Content, { className, style, ref, children: content(close) }) })
761
+ ] }) })
762
+ ] });
763
+ })
764
+ );
765
+ const OverlayContent = "_OverlayContent_1nr9w_1";
766
+ const OverlayOverlay = "_OverlayOverlay_1nr9w_6";
767
+ const styles$o = {
768
+ OverlayContent,
769
+ OverlayOverlay
770
+ };
771
+ const Overlay$2 = memo(
772
+ forwardRef((props, ref) => {
773
+ const { className, overlayClass, ...rest } = props;
774
+ return /* @__PURE__ */ jsx(
775
+ BaseDialog,
776
+ {
777
+ ref,
778
+ overlayClass: classNames("overmap-overlay-overlay", styles$o.OverlayOverlay, overlayClass),
779
+ className: classNames("overmap-overlay-content", styles$o.OverlayContent, className),
780
+ ...rest
781
+ }
782
+ );
783
+ })
784
+ );
785
+ const OvermapItemSizeDependantProps = {
786
+ "1": {
787
+ gap: "1",
788
+ px: "1",
789
+ height: "5",
790
+ fontSize: "var(--font-size-2)"
791
+ },
792
+ "2": {
793
+ gap: "2",
794
+ px: "2",
795
+ height: "6",
796
+ fontSize: "var(--font-size-2)"
797
+ },
798
+ "3": {
799
+ gap: "2",
800
+ px: "3",
801
+ height: "7",
802
+ fontSize: "var(--font-size-3)"
803
+ },
804
+ "4": {
805
+ gap: "2",
806
+ px: "4",
807
+ height: "8",
808
+ fontSize: "var(--font-size-3)"
809
+ },
810
+ "5": {
811
+ gap: "3",
812
+ px: "5",
813
+ height: "9",
814
+ fontSize: "var(--font-size-4)"
815
+ }
816
+ };
817
+ const OvermapItemGroupContext = createContext({});
818
+ const useOvermapItemGroupContext = () => useContext(OvermapItemGroupContext);
819
+ const OvermapItemGroup = memo(
820
+ forwardRef(function(props, ref) {
821
+ const { size, compact = false, children, ...rest } = props;
822
+ return /* @__PURE__ */ jsx(OvermapItemGroupContext.Provider, { value: { size, compact }, children: /* @__PURE__ */ jsx(Grid, { ref, columns: "1", width: "100%", height: "max-content", ...rest, children }) });
823
+ })
824
+ );
825
+ const OvermapItem = memo(
826
+ forwardRef((props, ref) => {
827
+ const overmapItemGroupContext = useOvermapItemGroupContext();
828
+ const {
829
+ leftSlot,
830
+ compact = overmapItemGroupContext.compact,
831
+ rightSlot,
832
+ children,
833
+ size = overmapItemGroupContext.size,
834
+ style,
835
+ ...rest
836
+ } = props;
837
+ const computedSize = useOvermapResponsiveValue(size);
838
+ const { fontSize, ...restSizeProps } = OvermapItemSizeDependantProps[computedSize ?? "2"];
839
+ return /* @__PURE__ */ jsxs(
840
+ Flex$1,
841
+ {
842
+ ref,
843
+ align: "center",
844
+ shrink: "0",
845
+ style: { fontSize, ...style },
846
+ ...restSizeProps,
847
+ ...rest,
848
+ width: compact ? restSizeProps.height : void 0,
849
+ children: [
850
+ !compact && leftSlot && /* @__PURE__ */ jsx(Flex$1, { width: "max-content", height: "max-content", align: "center", children: leftSlot }),
851
+ /* @__PURE__ */ jsx(Flex$1, { height: "max-content", align: "center", grow: "1", justify: compact ? "center" : void 0, children }),
852
+ !compact && rightSlot && /* @__PURE__ */ jsx(Flex$1, { width: "max-content", height: "max-content", align: "center", children: rightSlot })
853
+ ]
854
+ }
855
+ );
856
+ })
857
+ );
858
+ const DialogMenuContext = createContext({});
859
+ const useDialogMenuContext = () => useContext(DialogMenuContext);
860
+ const DialogMenuItem = "_DialogMenuItem_1ojd2_1";
861
+ const styles$n = {
862
+ DialogMenuItem
863
+ };
864
+ const Item = memo(
865
+ forwardRef((props, ref) => {
866
+ const dialogMenuContext = useDialogMenuContext();
867
+ const {
868
+ className,
869
+ children,
870
+ onSelect,
871
+ onClick,
872
+ closeOnSelect = dialogMenuContext.closeOnSelect,
873
+ size = dialogMenuContext.size,
874
+ leftSlot,
875
+ rightSlot,
876
+ ...rest
877
+ } = props;
878
+ const handleClick = useCallback(
879
+ (e) => {
880
+ if (onClick)
881
+ onClick(e);
882
+ if (onSelect)
883
+ onSelect();
884
+ if (closeOnSelect)
885
+ dialogMenuContext.close();
886
+ },
887
+ [closeOnSelect, dialogMenuContext, onClick, onSelect]
888
+ );
889
+ return /* @__PURE__ */ jsx(
890
+ OvermapItem,
891
+ {
892
+ className: classNames(className, styles$n.DialogMenuItem),
893
+ onClick: handleClick,
894
+ ref,
895
+ leftSlot,
896
+ rightSlot,
897
+ size,
898
+ role: "menuitem",
899
+ tabIndex: 0,
900
+ ...rest,
901
+ children
902
+ }
903
+ );
904
+ })
905
+ );
906
+ const SelectContext = createContext({});
907
+ function useSelectContext() {
908
+ return useContext(SelectContext);
909
+ }
910
+ const SelectContextProvider = memo((props) => {
911
+ const { type, children } = props;
912
+ const [controlledValue, setControlledValue] = useState(
913
+ type === "single" ? (props == null ? void 0 : props.defaultValue) ?? null : null
914
+ );
915
+ const [controlledValues, setControlledValues] = useState(
916
+ type === "multi" ? (props == null ? void 0 : props.defaultValues) ?? [] : []
917
+ );
918
+ const onValuesChange = useCallback(
919
+ (values) => {
920
+ setControlledValues(values);
921
+ if (type === "multi" && (props == null ? void 0 : props.onValuesChange))
922
+ props.onValuesChange(values);
923
+ },
924
+ [props, type]
925
+ );
926
+ const onValueChange = useCallback(
927
+ (value2) => {
928
+ setControlledValue(value2);
929
+ if (type === "single" && (props == null ? void 0 : props.onValueChange))
930
+ props.onValueChange(value2);
931
+ },
932
+ [props, type]
933
+ );
934
+ const value = useMemo(
935
+ () => type === "multi" ? {
936
+ type,
937
+ values: (props == null ? void 0 : props.values) ?? controlledValues,
938
+ handleValuesChange: onValuesChange
939
+ } : {
940
+ type,
941
+ value: props.value ?? controlledValue,
942
+ handleValueChange: onValueChange
943
+ },
944
+ [controlledValue, controlledValues, onValueChange, onValuesChange, props, type]
945
+ );
946
+ return /* @__PURE__ */ jsx(SelectContext.Provider, { value, children });
947
+ });
948
+ SelectContextProvider.displayName = "SelectContextProvider";
949
+ const SelectItem = memo(
950
+ forwardRef((props, ref) => {
951
+ const dialogMenuContext = useDialogMenuContext();
952
+ const { value, rightSlot, selectedIndicator = dialogMenuContext.selectedIndicator, onSelect, ...rest } = props;
953
+ const { value: currentValue, handleValueChange } = useSelectContext();
954
+ const handleSelect = useCallback(() => {
955
+ handleValueChange(value !== currentValue ? value : null);
956
+ if (onSelect)
957
+ onSelect();
958
+ }, [currentValue, handleValueChange, onSelect, value]);
959
+ return /* @__PURE__ */ jsx(
960
+ Item,
961
+ {
962
+ ref,
963
+ onSelect: handleSelect,
964
+ role: "menuitemradio",
965
+ rightSlot: /* @__PURE__ */ jsxs(Fragment, { children: [
966
+ currentValue === value && selectedIndicator,
967
+ " ",
968
+ rightSlot
969
+ ] }),
970
+ ...rest
971
+ }
972
+ );
973
+ })
974
+ );
975
+ const MultiSelectItem$1 = memo(
976
+ forwardRef((props, ref) => {
977
+ const dialogMenuContext = useDialogMenuContext();
978
+ const { value, rightSlot, selectedIndicator = dialogMenuContext.selectedIndicator, onSelect, ...rest } = props;
979
+ const { values: currentValues, handleValuesChange } = useSelectContext();
980
+ const handleSelect = useCallback(() => {
981
+ handleValuesChange(
982
+ currentValues.includes(value) ? [...currentValues, value] : (
983
+ // If value currently in selected values, remove it (filter out)
984
+ currentValues.filter((currentValue) => currentValue !== value)
985
+ )
986
+ );
987
+ if (onSelect)
988
+ onSelect();
989
+ }, [currentValues, handleValuesChange, onSelect, value]);
990
+ return /* @__PURE__ */ jsx(
991
+ Item,
992
+ {
993
+ onSelect: handleSelect,
994
+ ref,
995
+ role: "menuitemcheckbox",
996
+ rightSlot: /* @__PURE__ */ jsxs(Fragment, { children: [
997
+ currentValues.includes(value) && selectedIndicator,
998
+ rightSlot
999
+ ] }),
1000
+ ...rest
1001
+ }
1002
+ );
1003
+ })
1004
+ );
1005
+ const SubTrigger = memo(
1006
+ forwardRef((props, ref) => {
1007
+ const { subContentId, onSelect, ...rest } = props;
1008
+ const { setSubContentId } = useDialogMenuContext();
1009
+ const handleSelect = useCallback(() => {
1010
+ setSubContentId(subContentId);
1011
+ if (onSelect)
1012
+ onSelect();
1013
+ }, [subContentId, onSelect, setSubContentId]);
1014
+ return /* @__PURE__ */ jsx(Item, { onSelect: handleSelect, ref, ...rest });
1015
+ })
1016
+ );
1017
+ const light = "_light_1u8fs_1";
1018
+ const bold = "_bold_1u8fs_8";
1019
+ const full = "_full_1u8fs_15";
1020
+ const Text$1 = "_Text_1u8fs_22";
1021
+ const styles$m = {
1022
+ light,
1023
+ bold,
1024
+ full,
1025
+ Text: Text$1
1026
+ };
1027
+ const SeparatorSizeMapping = {
1028
+ "1": "max-content",
1029
+ "2": "max-content",
1030
+ "3": "max-content",
1031
+ "4": "100%"
1032
+ };
1033
+ const _Separator = forwardRef(function Separator2({
1034
+ className,
1035
+ severity = "info",
1036
+ textWeight = "light",
1037
+ gap = "1",
1038
+ text,
1039
+ orientation = "horizontal",
1040
+ size,
1041
+ weight = "medium",
1042
+ ...rest
1043
+ }, ref) {
1044
+ const computedSizing = useResponsiveMapping(size, SeparatorSizeMapping);
1045
+ const severityColor = useSeverityColor(severity);
1046
+ return /* @__PURE__ */ jsxs(
1047
+ Flex$1,
1048
+ {
1049
+ className: classNames("overmap-separator", className, {
1050
+ [styles$m.light]: weight === "light",
1051
+ [styles$m.bold]: weight === "bold",
1052
+ [styles$m.full]: weight === "full"
1053
+ }),
1054
+ ref,
1055
+ width: orientation === "horizontal" ? computedSizing : "max-content",
1056
+ height: orientation === "vertical" ? computedSizing : "max-content",
1057
+ direction: orientation === "vertical" ? "column" : "row",
1058
+ align: "center",
1059
+ gap,
1060
+ children: [
1061
+ /* @__PURE__ */ jsx(Separator$2, { size, orientation, color: severityColor, ...rest }),
1062
+ text && /* @__PURE__ */ jsxs(Fragment, { children: [
1063
+ /* @__PURE__ */ jsx(Text$2, { className: styles$m.Text, as: "span", size: "1", weight: textWeight, color: severityColor, children: text }),
1064
+ /* @__PURE__ */ jsx(Separator$2, { size, orientation, color: severityColor, ...rest })
1065
+ ] })
1066
+ ]
1067
+ }
1068
+ );
1069
+ });
1070
+ const Separator$1 = memo(_Separator);
1071
+ const Separator = memo(
1072
+ forwardRef((props, ref) => {
1073
+ return /* @__PURE__ */ jsx(Flex$1, { ref, py: "2", children: /* @__PURE__ */ jsx(Separator$1, { size: "4", weight: "light", ...props }) });
1074
+ })
1075
+ );
1076
+ const DEFAULT_DIALOG_MENU_SIZE = "3";
1077
+ const DEFAULT_SELECTED_INDICATOR = /* @__PURE__ */ jsx(RiIcon, { icon: "RiCheckLine" });
1078
+ const Group = memo(
1079
+ forwardRef((props, ref) => {
1080
+ const dialogMenuContext = useDialogMenuContext();
1081
+ const { size = dialogMenuContext.size, grid = false, children } = props;
1082
+ const computedSize = useOvermapResponsiveValue(size);
1083
+ const computedColumns = useMemo(() => {
1084
+ const { height } = OvermapItemSizeDependantProps[computedSize ?? DEFAULT_DIALOG_MENU_SIZE];
1085
+ return `repeat(auto-fit,var(--space-${height})`;
1086
+ }, [computedSize]);
1087
+ return /* @__PURE__ */ jsx(
1088
+ OvermapItemGroup,
1089
+ {
1090
+ role: "group",
1091
+ compact: grid,
1092
+ size,
1093
+ ref,
1094
+ columns: grid ? computedColumns : void 0,
1095
+ flow: "dense",
1096
+ children
1097
+ }
1098
+ );
1099
+ })
1100
+ );
1101
+ const SelectGroup = memo(
1102
+ forwardRef((props, ref) => {
1103
+ const { value, onValueChange, ...rest } = props;
1104
+ return /* @__PURE__ */ jsx(SelectContextProvider, { type: "single", value, onValueChange, children: /* @__PURE__ */ jsx(Group, { ref, ...rest }) });
1105
+ })
1106
+ );
1107
+ const MultiSelectGroup = memo(
1108
+ forwardRef((props, ref) => {
1109
+ const { values, onValuesChange, ...rest } = props;
1110
+ return /* @__PURE__ */ jsx(SelectContextProvider, { type: "multi", values, onValuesChange, children: /* @__PURE__ */ jsx(Group, { ref, ...rest }) });
1111
+ })
1112
+ );
1113
+ const OvermapInputItem$1 = "_OvermapInputItem_1jgzv_1";
1114
+ const styles$l = {
1115
+ OvermapInputItem: OvermapInputItem$1
1116
+ };
1117
+ const OvermapInputItem = memo(
1118
+ forwardRef((props, ref) => {
1119
+ const { size, className, style, leftSlot, rightSlot, ...rest } = props;
1120
+ return /* @__PURE__ */ jsx(
1121
+ OvermapItem,
1122
+ {
1123
+ className,
1124
+ style,
1125
+ size,
1126
+ leftSlot,
1127
+ rightSlot,
1128
+ compact: false,
1129
+ children: /* @__PURE__ */ jsx("input", { className: styles$l.OvermapInputItem, ref, ...rest })
1130
+ }
1131
+ );
1132
+ })
1133
+ );
1134
+ OvermapInputItem.displayName = "OvermapInputItem";
1135
+ const DialogContentScrollArea = "_DialogContentScrollArea_i3a60_1";
1136
+ const styles$k = {
1137
+ DialogContentScrollArea
1138
+ };
1139
+ const ContentImpl = memo(
1140
+ forwardRef((props, ref) => {
1141
+ const { size } = useDialogMenuContext();
1142
+ const {
1143
+ topSlot,
1144
+ bottomSlot,
1145
+ numberOfItems,
1146
+ filterValue,
1147
+ onFilterValueChange,
1148
+ placeholder,
1149
+ leftFilterSlot,
1150
+ rightFilterSlot,
1151
+ children
1152
+ } = props;
1153
+ const handleChange = useCallback(
1154
+ (e) => {
1155
+ if (onFilterValueChange)
1156
+ onFilterValueChange(e.target.value);
1157
+ },
1158
+ [onFilterValueChange]
1159
+ );
1160
+ return /* @__PURE__ */ jsxs(Flex$1, { direction: "column", width: "100%", ref, py: "2", children: [
1161
+ /* @__PURE__ */ jsxs(Flex$1, { direction: "column", width: "100%", px: "2", children: [
1162
+ topSlot && /* @__PURE__ */ jsx(OvermapItem, { size, children: topSlot }),
1163
+ filterValue !== void 0 && /* @__PURE__ */ jsx(
1164
+ OvermapInputItem,
1165
+ {
1166
+ size,
1167
+ leftSlot: leftFilterSlot,
1168
+ rightSlot: rightFilterSlot,
1169
+ value: filterValue,
1170
+ onChange: handleChange,
1171
+ placeholder
1172
+ }
1173
+ )
1174
+ ] }),
1175
+ (topSlot || filterValue !== void 0) && numberOfItems > 0 && /* @__PURE__ */ jsx(Separator, {}),
1176
+ /* @__PURE__ */ jsx(ScrollArea, { className: styles$k.DialogContentScrollArea, scrollbars: "vertical", type: "hover", children: /* @__PURE__ */ jsx(Flex$1, { px: "2", children }) }),
1177
+ bottomSlot && /* @__PURE__ */ jsx(Separator, {}),
1178
+ /* @__PURE__ */ jsx(Flex$1, { direction: "column", width: "100%", px: "2", children: bottomSlot && /* @__PURE__ */ jsx(OvermapItem, { size, children: bottomSlot }) })
1179
+ ] });
1180
+ })
1181
+ );
1182
+ const Content = memo(
1183
+ forwardRef((props, ref) => {
1184
+ const { subContentId } = useDialogMenuContext();
1185
+ return !subContentId && /* @__PURE__ */ jsx(ContentImpl, { ref, ...props });
1186
+ })
1187
+ );
1188
+ const SubContent = memo(
1189
+ forwardRef((props, ref) => {
1190
+ const { id, ...rest } = props;
1191
+ const { subContentId } = useDialogMenuContext();
1192
+ return subContentId === id && /* @__PURE__ */ jsx(ContentImpl, { ref, ...rest });
1193
+ })
1194
+ );
1195
+ const DialogMenuContextProvider = memo((props) => {
1196
+ const { size, closeOnSelect, close, selectedIndicator, children } = props;
1197
+ const [subContentId, setSubContentId] = useState(null);
1198
+ const value = useMemo(
1199
+ () => ({ size, close, closeOnSelect, subContentId, setSubContentId, selectedIndicator }),
1200
+ [close, closeOnSelect, selectedIndicator, size, subContentId]
1201
+ );
1202
+ return /* @__PURE__ */ jsx(DialogMenuContext.Provider, { value, children });
1203
+ });
1204
+ DialogMenuContextProvider.displayName = "DialogMenuContextProvider";
1205
+ const DialogMenuWrapper = "_DialogMenuWrapper_16hy0_1";
1206
+ const DialogMenu$1 = "_DialogMenu_16hy0_1";
1207
+ const styles$j = {
1208
+ DialogMenuWrapper,
1209
+ DialogMenu: DialogMenu$1
1210
+ };
1211
+ const Root$3 = memo(
1212
+ forwardRef((props, ref) => {
1213
+ const {
1214
+ className,
1215
+ content: contentFromProps,
1216
+ selectedIndicator = DEFAULT_SELECTED_INDICATOR,
1217
+ size = DEFAULT_DIALOG_MENU_SIZE,
1218
+ closeOnSelect = false,
1219
+ ...rest
1220
+ } = props;
1221
+ const content = useCallback(
1222
+ (close) => {
1223
+ return /* @__PURE__ */ jsx(Flex$1, { className: classNames(styles$j.DialogMenu, className), children: /* @__PURE__ */ jsx(
1224
+ DialogMenuContextProvider,
1225
+ {
1226
+ size,
1227
+ close,
1228
+ closeOnSelect,
1229
+ selectedIndicator,
1230
+ children: contentFromProps
1231
+ }
1232
+ ) });
1233
+ },
1234
+ [className, closeOnSelect, contentFromProps, selectedIndicator, size]
1235
+ );
1236
+ return /* @__PURE__ */ jsx(BaseDialog, { className: styles$j.DialogMenuWrapper, ref, content, ...rest });
1237
+ })
1238
+ );
1239
+ const DialogCommandMenu = memo(
1240
+ forwardRef((props, ref) => {
1241
+ const {
1242
+ // Command menu scoped props
1243
+ size,
1244
+ items,
1245
+ closeOnSelect = true,
1246
+ // Content scoped props
1247
+ filterValue,
1248
+ onFilterValueChange,
1249
+ placeholder,
1250
+ leftFilterSlot,
1251
+ rightFilterSlot,
1252
+ topSlot,
1253
+ bottomSlot,
1254
+ ...rest
1255
+ } = props;
1256
+ return /* @__PURE__ */ jsx(
1257
+ Root$3,
1258
+ {
1259
+ ref,
1260
+ size,
1261
+ content: /* @__PURE__ */ jsx(
1262
+ Content,
1263
+ {
1264
+ filterValue,
1265
+ onFilterValueChange,
1266
+ placeholder,
1267
+ leftFilterSlot,
1268
+ rightFilterSlot,
1269
+ numberOfItems: items.length,
1270
+ topSlot,
1271
+ bottomSlot,
1272
+ children: /* @__PURE__ */ jsx(Group, { size, children: items.map((item, index) => /* @__PURE__ */ jsx(Item, { ...item }, index)) })
1273
+ }
1274
+ ),
1275
+ closeOnSelect,
1276
+ ...rest
1277
+ }
1278
+ );
1279
+ })
1280
+ );
1281
+ const DialogSelectMenu = memo(
1282
+ forwardRef((props, ref) => {
1283
+ const {
1284
+ // Select scoped props
1285
+ size,
1286
+ value,
1287
+ onValueChange,
1288
+ items,
1289
+ selectedIndicator,
1290
+ // Content scoped props
1291
+ filterValue,
1292
+ onFilterValueChange,
1293
+ placeholder,
1294
+ leftFilterSlot,
1295
+ rightFilterSlot,
1296
+ topSlot,
1297
+ bottomSlot,
1298
+ ...rest
1299
+ } = props;
1300
+ return /* @__PURE__ */ jsx(
1301
+ Root$3,
1302
+ {
1303
+ ref,
1304
+ size,
1305
+ content: /* @__PURE__ */ jsx(
1306
+ Content,
1307
+ {
1308
+ filterValue,
1309
+ onFilterValueChange,
1310
+ placeholder,
1311
+ leftFilterSlot,
1312
+ rightFilterSlot,
1313
+ numberOfItems: items.length,
1314
+ topSlot,
1315
+ bottomSlot,
1316
+ children: /* @__PURE__ */ jsx(SelectGroup, { size, value, onValueChange, children: items.map((item, index) => /* @__PURE__ */ jsx(
1317
+ SelectItem,
1318
+ {
1319
+ selectedIndicator,
1320
+ ...item
1321
+ },
1322
+ `${item.value}-${index}`
1323
+ )) })
1324
+ }
1325
+ ),
1326
+ ...rest
1327
+ }
1328
+ );
1329
+ })
1330
+ );
1331
+ const DialogMultiSelectMenu = memo(
1332
+ forwardRef((props, ref) => {
1333
+ const {
1334
+ // Multi select scoped props
1335
+ size,
1336
+ selectedIndicator,
1337
+ values,
1338
+ onValuesChange,
1339
+ items,
1340
+ // Content scoped props
1341
+ filterValue,
1342
+ onFilterValueChange,
1343
+ placeholder,
1344
+ leftFilterSlot,
1345
+ rightFilterSlot,
1346
+ topSlot,
1347
+ bottomSlot,
1348
+ ...rest
1349
+ } = props;
1350
+ return /* @__PURE__ */ jsx(
1351
+ Root$3,
1352
+ {
1353
+ ref,
1354
+ size,
1355
+ content: /* @__PURE__ */ jsx(
1356
+ Content,
1357
+ {
1358
+ filterValue,
1359
+ onFilterValueChange,
1360
+ placeholder,
1361
+ leftFilterSlot,
1362
+ rightFilterSlot,
1363
+ numberOfItems: items.length,
1364
+ topSlot,
1365
+ bottomSlot,
1366
+ children: /* @__PURE__ */ jsx(MultiSelectGroup, { size, values, onValuesChange, children: items.map((item, index) => /* @__PURE__ */ jsx(
1367
+ MultiSelectItem$1,
1368
+ {
1369
+ ...item,
1370
+ selectedIndicator
1371
+ },
1372
+ `${item.value}-${index}`
1373
+ )) })
1374
+ }
1375
+ ),
1376
+ ...rest
1377
+ }
1378
+ );
1379
+ })
1380
+ );
1381
+ const DialogMenu = {
1382
+ Root: Root$3,
1383
+ Item,
1384
+ SelectItem,
1385
+ MultiSelectItem: MultiSelectItem$1,
1386
+ Separator,
1387
+ Content,
1388
+ Group,
1389
+ SelectGroup,
1390
+ MultiSelectGroup,
1391
+ SubTrigger,
1392
+ SubContent
1393
+ };
660
1394
  const BaseMenuItem$1 = "_BaseMenuItem_5r3et_1";
661
1395
  const RemoveOutline = "_RemoveOutline_5r3et_15";
662
1396
  const BaseMenuSeparator$1 = "_BaseMenuSeparator_5r3et_19";
@@ -810,7 +1544,7 @@ const BaseSelectGroup = memo(function BaseSelectGroup2({
810
1544
  onChange: textFilterChangeHandler(onFilterValueChange),
811
1545
  placeholder,
812
1546
  leftSlot: icons == null ? void 0 : icons.left,
813
- rightSlot: (icons == null ? void 0 : icons.right) || /* @__PURE__ */ jsx(MagnifyingGlassIcon, {})
1547
+ rightSlot: (icons == null ? void 0 : icons.right) || /* @__PURE__ */ jsx(RiIcon, { icon: "RiSearchLine" })
814
1548
  }
815
1549
  ),
816
1550
  items.length !== 0 && /* @__PURE__ */ jsx(BaseMenuSeparator, {})
@@ -828,7 +1562,7 @@ const BaseSelectGroup = memo(function BaseSelectGroup2({
828
1562
  children: /* @__PURE__ */ jsx(
829
1563
  BaseMenuItem,
830
1564
  {
831
- rightSlot: /* @__PURE__ */ jsx(ItemIndicatorElement, { asChild: true, children: selectedIndicator || /* @__PURE__ */ jsx(CheckIcon, {}) }),
1565
+ rightSlot: /* @__PURE__ */ jsx(ItemIndicatorElement, { asChild: true, children: selectedIndicator || /* @__PURE__ */ jsx(RiIcon, { icon: "RiCheckLine" }) }),
832
1566
  children: content
833
1567
  }
834
1568
  )
@@ -907,7 +1641,7 @@ const BaseMultiSelectGroup = memo(function BaseMultiSelectGroup2({
907
1641
  children: /* @__PURE__ */ jsx(
908
1642
  BaseMenuItem,
909
1643
  {
910
- rightSlot: /* @__PURE__ */ jsx(ItemIndicatorElement, { asChild: true, children: selectedIndicator || /* @__PURE__ */ jsx(CheckIcon, {}) }),
1644
+ rightSlot: /* @__PURE__ */ jsx(ItemIndicatorElement, { asChild: true, children: selectedIndicator || /* @__PURE__ */ jsx(RiIcon, { icon: "RiCheckLine" }) }),
911
1645
  children: content
912
1646
  }
913
1647
  )
@@ -935,6 +1669,123 @@ const BaseSubMenuGroup = memo(function BaseSubMenuGroup2({
935
1669
  separator && /* @__PURE__ */ jsx(BaseMenuSeparator, {})
936
1670
  ] });
937
1671
  });
1672
+ const CollapsibleTreeContext = createContext(
1673
+ {}
1674
+ );
1675
+ function useCollapsibleTreeContext() {
1676
+ return useContext(CollapsibleTreeContext);
1677
+ }
1678
+ const CollapsibleNode = genericMemo(function(props) {
1679
+ const { meta, nodes, level = 0, disabled: disabled2 } = props;
1680
+ const [controlledOpenState, setControlledOpenState] = useState(false);
1681
+ const {
1682
+ nodeRenderer,
1683
+ disabled: disabledFromContext,
1684
+ nodeGap,
1685
+ onNodeOpen,
1686
+ onNodeClose,
1687
+ onNodeClick,
1688
+ nodeStyles,
1689
+ nodeClassName,
1690
+ levelGap
1691
+ } = useCollapsibleTreeContext();
1692
+ const isDisabled = disabled2 ?? disabledFromContext;
1693
+ const handleClick = useCallback(() => {
1694
+ if (onNodeClick)
1695
+ onNodeClick(meta);
1696
+ }, [meta, onNodeClick]);
1697
+ const toggleOpenState = useCallback(() => {
1698
+ setControlledOpenState(!controlledOpenState);
1699
+ if (!controlledOpenState && onNodeOpen)
1700
+ onNodeOpen(meta);
1701
+ if (controlledOpenState && onNodeClose)
1702
+ onNodeClose(meta);
1703
+ }, [meta, onNodeClose, onNodeOpen, controlledOpenState]);
1704
+ const { children, leftSlot, rightSlot, style, className } = useMemo(() => {
1705
+ return nodeRenderer({
1706
+ meta,
1707
+ toggleOpen: toggleOpenState,
1708
+ open: controlledOpenState,
1709
+ disabled: isDisabled
1710
+ });
1711
+ }, [isDisabled, meta, nodeRenderer, toggleOpenState, controlledOpenState]);
1712
+ const combinedStyles = useMemo(
1713
+ () => ({
1714
+ // want node specific styles to overwrite and global node styles
1715
+ ...nodeStyles,
1716
+ ...style
1717
+ }),
1718
+ [nodeStyles, style]
1719
+ );
1720
+ return /* @__PURE__ */ jsx(RadixPrimitiveCollapsible.Root, { asChild: true, open: controlledOpenState, disabled: isDisabled, children: /* @__PURE__ */ jsxs(Flex$1, { width: "100%", direction: "column", children: [
1721
+ /* @__PURE__ */ jsx(
1722
+ OvermapItem,
1723
+ {
1724
+ onClick: handleClick,
1725
+ disabled: disabled2 ?? disabledFromContext,
1726
+ className: classNames(nodeClassName, className),
1727
+ style: combinedStyles,
1728
+ leftSlot,
1729
+ rightSlot,
1730
+ "data-state": controlledOpenState ? "open" : "closed",
1731
+ "data-disabled": isDisabled,
1732
+ children
1733
+ }
1734
+ ),
1735
+ nodes && nodes.length > 0 && /* @__PURE__ */ jsx(RadixPrimitiveCollapsible.Content, { asChild: true, children: /* @__PURE__ */ jsx(
1736
+ Flex$1,
1737
+ {
1738
+ width: "100%",
1739
+ pl: levelGap,
1740
+ height: "max-content",
1741
+ direction: "column",
1742
+ gap: nodeGap,
1743
+ pt: nodeGap,
1744
+ children: nodes.map((treeNodeProps, index) => /* @__PURE__ */ jsx(
1745
+ CollapsibleNode,
1746
+ {
1747
+ level: level + 1,
1748
+ ...treeNodeProps
1749
+ },
1750
+ `${level},${index}`
1751
+ ))
1752
+ }
1753
+ ) })
1754
+ ] }) });
1755
+ });
1756
+ const CollapsibleTree = genericMemo(function(props) {
1757
+ const {
1758
+ nodes,
1759
+ disabled: disabled2 = false,
1760
+ nodeClassName,
1761
+ nodeStyles,
1762
+ size = "2",
1763
+ nodeGap = "0",
1764
+ levelGap = "2",
1765
+ onNodeClick,
1766
+ onNodeClose,
1767
+ onNodeOpen,
1768
+ nodeRenderer,
1769
+ ...rest
1770
+ } = props;
1771
+ return /* @__PURE__ */ jsx(
1772
+ CollapsibleTreeContext.Provider,
1773
+ {
1774
+ value: {
1775
+ nodeRenderer,
1776
+ nodeGap,
1777
+ levelGap,
1778
+ nodeClassName,
1779
+ nodeStyles,
1780
+ disabled: disabled2,
1781
+ onNodeClick,
1782
+ onNodeClose,
1783
+ onNodeOpen
1784
+ },
1785
+ children: /* @__PURE__ */ jsx(OvermapItemGroup, { width: "100%", height: "max-content", size, ...rest, gapY: nodeGap, children: nodes.map((treeNodeProps, index) => /* @__PURE__ */ jsx(CollapsibleNode, { ...treeNodeProps }, `${0},${index}`)) })
1786
+ }
1787
+ );
1788
+ });
938
1789
  const ActionItemGroup = memo((props) => {
939
1790
  return /* @__PURE__ */ jsx(BaseItemGroup, { ...props, groupElement: RadixContextMenu.Group, itemElement: RadixContextMenu.Item });
940
1791
  });
@@ -977,11 +1828,20 @@ const SubItemGroup = memo((props) => {
977
1828
  });
978
1829
  SubItemGroup.displayName = "SubItemGroup";
979
1830
  const Root$2 = memo((props) => {
980
- const { disabled: disabled2 = false, children, modal = false, content, ...rest } = props;
1831
+ const { disabled: disabled2 = false, children, modal = false, content, className, ...rest } = props;
981
1832
  const infoColor = useSeverityColor("info");
982
1833
  return /* @__PURE__ */ jsxs(ContextMenu$1.Root, { modal, children: [
983
1834
  /* @__PURE__ */ jsx(ContextMenu$1.Trigger, { disabled: disabled2, children }),
984
- /* @__PURE__ */ jsx(ContextMenu$1.Content, { variant: "soft", color: infoColor, ...rest, children: content })
1835
+ /* @__PURE__ */ jsx(
1836
+ ContextMenu$1.Content,
1837
+ {
1838
+ className: classNames("overmap-context-menu", className),
1839
+ variant: "soft",
1840
+ color: infoColor,
1841
+ ...rest,
1842
+ children: content
1843
+ }
1844
+ )
985
1845
  ] });
986
1846
  });
987
1847
  Root$2.displayName = "ContextMenuRoot";
@@ -1215,6 +2075,20 @@ const DropdownMultiSelect = memo(
1215
2075
  }
1216
2076
  )
1217
2077
  );
2078
+ const DownloadButtonUtility = memo((props) => {
2079
+ const { children, file } = props;
2080
+ const anchorRef = useRef(null);
2081
+ const objectURL = useMemo(() => URL.createObjectURL(file), [file]);
2082
+ const handleClick = useCallback(() => {
2083
+ if (anchorRef.current)
2084
+ anchorRef.current.click();
2085
+ }, []);
2086
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
2087
+ /* @__PURE__ */ jsx(Slot, { onClick: handleClick, children }),
2088
+ /* @__PURE__ */ jsx("a", { style: { display: "none" }, href: objectURL, target: "_blank", rel: "noreferrer", ref: anchorRef })
2089
+ ] });
2090
+ });
2091
+ DownloadButtonUtility.displayName = "DownloadButtonUtility";
1218
2092
  const HoverUtility = memo(function Root({ children }) {
1219
2093
  const [isHovered, setIsHovered] = useState(isMobile);
1220
2094
  const handlePointerEnter = useCallback(() => {
@@ -1478,8 +2352,8 @@ const _Sidebar = forwardRef(function Sidebar2({
1478
2352
  enable: { right: resizable2 && isLeft, left: resizable2 && isRight },
1479
2353
  handleClasses: { left: styles$f.resizeHandle, right: styles$f.resizeHandle },
1480
2354
  handleComponent: {
1481
- right: /* @__PURE__ */ jsx(DragHandleDots2Icon, {}),
1482
- left: /* @__PURE__ */ jsx(DragHandleDots2Icon, {})
2355
+ right: /* @__PURE__ */ jsx(RiIcon, { icon: "RiDraggable" }),
2356
+ left: /* @__PURE__ */ jsx(RiIcon, { icon: "RiDraggable" })
1483
2357
  },
1484
2358
  children
1485
2359
  }
@@ -2403,7 +3277,7 @@ const LeftAndRightPanels = memo(function Panels({
2403
3277
  maxWidth: leftPanelMaxWidth,
2404
3278
  handleClasses: { right: classNames(styles$a.resizeHandle, styles$a.left) },
2405
3279
  handleComponent: {
2406
- right: /* @__PURE__ */ jsx(DragHandleDots2Icon, { height: "14px", width: "14px" })
3280
+ right: /* @__PURE__ */ jsx(RiIcon, { icon: "RiDraggable", height: "14px", width: "14px" })
2407
3281
  },
2408
3282
  children: leftPanel
2409
3283
  }
@@ -2442,7 +3316,7 @@ const LeftAndRightPanels = memo(function Panels({
2442
3316
  minWidth: rightMinWidth,
2443
3317
  maxWidth: rightPanelMaxWidth,
2444
3318
  handleClasses: { left: classNames(styles$a.resizeHandle, styles$a.right) },
2445
- handleComponent: { left: /* @__PURE__ */ jsx(DragHandleDots2Icon, { height: "14px", width: "14px" }) },
3319
+ handleComponent: { left: /* @__PURE__ */ jsx(RiIcon, { icon: "RiDraggable", height: "14px", width: "14px" }) },
2446
3320
  children: rightPanel
2447
3321
  }
2448
3322
  )
@@ -2590,7 +3464,7 @@ const _ToggleGroup = forwardRef(function ToggleGroup2({
2590
3464
  ...rest
2591
3465
  }, ref) {
2592
3466
  return /* @__PURE__ */ jsx(
2593
- Root$3,
3467
+ Root$4,
2594
3468
  {
2595
3469
  type,
2596
3470
  className: classNames("overmap-toggle-group", className),
@@ -2603,7 +3477,7 @@ const _ToggleGroup = forwardRef(function ToggleGroup2({
2603
3477
  rovingFocus,
2604
3478
  defaultValue,
2605
3479
  asChild: true,
2606
- children: /* @__PURE__ */ jsx(ButtonGroup, { direction, ...rest, children: items.map(({ children, ...rest2 }) => /* @__PURE__ */ createElement(Item$1, { asChild: true, ...rest2, key: rest2.value }, /* @__PURE__ */ jsx(
3480
+ children: /* @__PURE__ */ jsx(ButtonGroup, { direction, ...rest, children: items.map(({ children, ...rest2 }) => /* @__PURE__ */ createElement(Item$2, { asChild: true, ...rest2, key: rest2.value }, /* @__PURE__ */ jsx(
2607
3481
  IconButton,
2608
3482
  {
2609
3483
  className: classNames("overmap-toggle-group-button"),
@@ -2622,7 +3496,7 @@ const styles$7 = {
2622
3496
  const Root2 = memo(
2623
3497
  forwardRef(({ className, minContentGap = "2", children, ...rest }, ref) => {
2624
3498
  return /* @__PURE__ */ jsx(
2625
- Root$4,
3499
+ Root$5,
2626
3500
  {
2627
3501
  className: classNames(className, "overmap-toolbar", styles$7.default),
2628
3502
  ref,
@@ -2694,7 +3568,7 @@ const _Toast = forwardRef(function Toast2({ title, description, icon, severity =
2694
3568
  action && /* @__PURE__ */ jsx(RadixToast.Action, { className: styles$6.actionButton, altText: action.altText, asChild: true, children: action.content })
2695
3569
  ] })
2696
3570
  ] }),
2697
- /* @__PURE__ */ jsx(RadixToast.Close, { asChild: true, children: /* @__PURE__ */ jsx(IconButton, { "aria-label": "Close", variant: "ghost", severity, children: /* @__PURE__ */ jsx(Cross2Icon, {}) }) })
3571
+ /* @__PURE__ */ jsx(RadixToast.Close, { asChild: true, children: /* @__PURE__ */ jsx(IconButton, { "aria-label": "Close", variant: "ghost", severity, children: /* @__PURE__ */ jsx(RiIcon, { icon: "RiCloseLine" }) }) })
2698
3572
  ] }) }) });
2699
3573
  });
2700
3574
  const Toast = memo(_Toast);
@@ -2788,11 +3662,34 @@ const Tooltip = memo(
2788
3662
  );
2789
3663
  })
2790
3664
  );
2791
- const noWrap = "_noWrap_1wpa5_1";
3665
+ const ToggleButton$1 = "_ToggleButton_13aus_1";
2792
3666
  const styles$4 = {
3667
+ ToggleButton: ToggleButton$1
3668
+ };
3669
+ const ToggleButton = memo(
3670
+ forwardRef((props, ref) => {
3671
+ const { children, className, severity, fluid: fluid2, variant = "solid", size, hoverEffects, ...rest } = props;
3672
+ return /* @__PURE__ */ jsx(Toggle.Root, { ref, asChild: true, ...rest, children: /* @__PURE__ */ jsx(
3673
+ IconButton,
3674
+ {
3675
+ className: classNames(className, styles$4.ToggleButton),
3676
+ "aria-label": props["aria-label"],
3677
+ severity,
3678
+ fluid: fluid2,
3679
+ variant,
3680
+ hoverEffects,
3681
+ size,
3682
+ "data-variant": variant,
3683
+ children
3684
+ }
3685
+ ) });
3686
+ })
3687
+ );
3688
+ const noWrap = "_noWrap_1wpa5_1";
3689
+ const styles$3 = {
2793
3690
  noWrap
2794
3691
  };
2795
- const Text$1 = memo(
3692
+ const Text = memo(
2796
3693
  forwardRef(({ className, noWrap: noWrap2, severity, as, ...props }, ref) => {
2797
3694
  const color = useSeverityColor(severity);
2798
3695
  return /* @__PURE__ */ jsx(
@@ -2800,7 +3697,7 @@ const Text$1 = memo(
2800
3697
  {
2801
3698
  ref,
2802
3699
  as,
2803
- className: classNames(className, { [styles$4.noWrap]: noWrap2 }),
3700
+ className: classNames(className, { [styles$3.noWrap]: noWrap2 }),
2804
3701
  color,
2805
3702
  ...props
2806
3703
  }
@@ -2814,60 +3711,6 @@ const DefaultTheme = memo(
2814
3711
  return /* @__PURE__ */ jsx(Theme, { panelBackground, radius: radius2, ref, ...rest });
2815
3712
  })
2816
3713
  );
2817
- const light = "_light_1u8fs_1";
2818
- const bold = "_bold_1u8fs_8";
2819
- const full = "_full_1u8fs_15";
2820
- const Text = "_Text_1u8fs_22";
2821
- const styles$3 = {
2822
- light,
2823
- bold,
2824
- full,
2825
- Text
2826
- };
2827
- const SeparatorSizeMapping = {
2828
- "1": "max-content",
2829
- "2": "max-content",
2830
- "3": "max-content",
2831
- "4": "100%"
2832
- };
2833
- const _Separator = forwardRef(function Separator2({
2834
- className,
2835
- severity = "info",
2836
- textWeight = "light",
2837
- gap = "1",
2838
- text,
2839
- orientation = "horizontal",
2840
- size,
2841
- weight = "medium",
2842
- ...rest
2843
- }, ref) {
2844
- const computedSizing = useResponsiveMapping(size, SeparatorSizeMapping);
2845
- const severityColor = useSeverityColor(severity);
2846
- return /* @__PURE__ */ jsxs(
2847
- Flex$1,
2848
- {
2849
- className: classNames("overmap-separator", className, {
2850
- [styles$3.light]: weight === "light",
2851
- [styles$3.bold]: weight === "bold",
2852
- [styles$3.full]: weight === "full"
2853
- }),
2854
- ref,
2855
- width: orientation === "horizontal" ? computedSizing : "max-content",
2856
- height: orientation === "vertical" ? computedSizing : "max-content",
2857
- direction: orientation === "vertical" ? "column" : "row",
2858
- align: "center",
2859
- gap,
2860
- children: [
2861
- /* @__PURE__ */ jsx(Separator$1, { size, orientation, color: severityColor, ...rest }),
2862
- text && /* @__PURE__ */ jsxs(Fragment, { children: [
2863
- /* @__PURE__ */ jsx(Text$2, { className: styles$3.Text, as: "span", size: "1", weight: textWeight, color: severityColor, children: text }),
2864
- /* @__PURE__ */ jsx(Separator$1, { size, orientation, color: severityColor, ...rest })
2865
- ] })
2866
- ]
2867
- }
2868
- );
2869
- });
2870
- const Separator = memo(_Separator);
2871
3714
  const centerStyles = { placeSelf: "center" };
2872
3715
  const ErrorFallback = memo((props) => {
2873
3716
  const { absoluteCentering } = props;
@@ -2876,8 +3719,8 @@ const ErrorFallback = memo((props) => {
2876
3719
  const outerFlexStyles = absoluteCentering ? { position: "absolute", top: "50%", transform: "translateY(-50%)" } : void 0;
2877
3720
  return /* @__PURE__ */ jsxs(Flex, { gap: "2", direction: "row", width: "100%", style: outerFlexStyles, children: [
2878
3721
  /* @__PURE__ */ jsx("div", { style: { flexGrow: 1 } }),
2879
- /* @__PURE__ */ jsx(FeatherIcon, { icon: "alert-triangle", size: height, style: centerStyles }),
2880
- /* @__PURE__ */ jsx(Text$1, { style: { lineHeight: height, ...centerStyles }, children: "Something went wrong" }),
3722
+ /* @__PURE__ */ jsx(RiIcon, { icon: "RiAlertLine", size: height, style: centerStyles }),
3723
+ /* @__PURE__ */ jsx(Text, { style: { lineHeight: height, ...centerStyles }, children: "Something went wrong" }),
2881
3724
  /* @__PURE__ */ jsx(
2882
3725
  IconButton,
2883
3726
  {
@@ -2886,7 +3729,7 @@ const ErrorFallback = memo((props) => {
2886
3729
  onClick: resetBoundary,
2887
3730
  style: centerStyles,
2888
3731
  hoverEffects: ["spin180Clockwise"],
2889
- children: /* @__PURE__ */ jsx(FeatherIcon, { icon: "refresh-ccw", size: height })
3732
+ children: /* @__PURE__ */ jsx(RiIcon, { icon: "RiLoopLeftLine", size: height })
2890
3733
  }
2891
3734
  ),
2892
3735
  /* @__PURE__ */ jsx("div", { style: { flexGrow: 1 } })
@@ -3467,7 +4310,7 @@ const _Checkbox = forwardRef(function Checkbox2({
3467
4310
  },
3468
4311
  ref,
3469
4312
  ...rest,
3470
- children: /* @__PURE__ */ jsx($e698a72e93240346$export$adb584737d712b70, { className: styles$2.checkboxIndicator, children: checked === "indeterminate" ? /* @__PURE__ */ jsx(DividerHorizontalIcon, { width: "13px" }) : /* @__PURE__ */ jsx(CheckIcon, {}) })
4313
+ children: /* @__PURE__ */ jsx($e698a72e93240346$export$adb584737d712b70, { className: styles$2.checkboxIndicator, children: checked === "indeterminate" ? /* @__PURE__ */ jsx(RiIcon, { icon: "RiSubtractLine" }) : /* @__PURE__ */ jsx(RiIcon, { icon: "RiCheckLine" }) })
3471
4314
  }
3472
4315
  ),
3473
4316
  label && /* @__PURE__ */ jsx(
@@ -3557,7 +4400,7 @@ const tableTopContainer = "_tableTopContainer_5i91d_21";
3557
4400
  const tableContainer = "_tableContainer_5i91d_25";
3558
4401
  const searchContainer = "_searchContainer_5i91d_30";
3559
4402
  const columnFilterSelect = "_columnFilterSelect_5i91d_40";
3560
- const table$1 = "_table_5i91d_21";
4403
+ const table = "_table_5i91d_21";
3561
4404
  const tableHeaderCell = "_tableHeaderCell_5i91d_58";
3562
4405
  const showSortIcon = "_showSortIcon_5i91d_74";
3563
4406
  const tableRow = "_tableRow_5i91d_78";
@@ -3576,7 +4419,7 @@ const styles$1 = {
3576
4419
  tableContainer,
3577
4420
  searchContainer,
3578
4421
  columnFilterSelect,
3579
- table: table$1,
4422
+ table,
3580
4423
  tableHeaderCell,
3581
4424
  showSortIcon,
3582
4425
  tableRow,
@@ -3588,16 +4431,6 @@ const styles$1 = {
3588
4431
  pageText,
3589
4432
  descriptionSecondLine
3590
4433
  };
3591
- const table = import("@overmap-ai/react-table-library/table.js");
3592
- const { Body, Cell, Header, HeaderCell, HeaderRow, Row, Table: ReactLibraryTable } = table;
3593
- const theme = import("@overmap-ai/react-table-library/theme.js");
3594
- const { useTheme } = theme;
3595
- const sort = import("@overmap-ai/react-table-library/sort.js");
3596
- const { HeaderCellSort, useSort } = sort;
3597
- const select = import("@overmap-ai/react-table-library/select.js");
3598
- const { CellSelect, HeaderCellSelect, SelectClickTypes, SelectTypes, useRowSelect } = select;
3599
- const pagination = import("@overmap-ai/react-table-library/pagination.js");
3600
- const { usePagination } = pagination;
3601
4434
  const _Table = forwardRef(function Table2(props, ref) {
3602
4435
  var _a;
3603
4436
  const {
@@ -3621,6 +4454,7 @@ const _Table = forwardRef(function Table2(props, ref) {
3621
4454
  emptyMessage = "There is no data",
3622
4455
  topBarComponents,
3623
4456
  children,
4457
+ containerClassName,
3624
4458
  className,
3625
4459
  columnClassName,
3626
4460
  rowClassName,
@@ -3760,7 +4594,7 @@ const _Table = forwardRef(function Table2(props, ref) {
3760
4594
  isCarryForward: false
3761
4595
  }
3762
4596
  );
3763
- const pagination2 = usePagination(
4597
+ const pagination = usePagination(
3764
4598
  tableData,
3765
4599
  {
3766
4600
  state: {
@@ -3772,7 +4606,7 @@ const _Table = forwardRef(function Table2(props, ref) {
3772
4606
  isServer: false
3773
4607
  }
3774
4608
  );
3775
- const sort2 = useSort(
4609
+ const sort = useSort(
3776
4610
  tableData,
3777
4611
  {
3778
4612
  onChange: (_action, state) => {
@@ -3783,9 +4617,9 @@ const _Table = forwardRef(function Table2(props, ref) {
3783
4617
  sortIcon: {
3784
4618
  margin: "10px",
3785
4619
  size: "15px",
3786
- iconDefault: /* @__PURE__ */ jsx(CaretSortIcon, { width: "20px" }),
3787
- iconUp: /* @__PURE__ */ jsx(ArrowUpIcon, {}),
3788
- iconDown: /* @__PURE__ */ jsx(ArrowDownIcon, {})
4620
+ iconDefault: /* @__PURE__ */ jsx(RiIcon, { icon: "RiExpandUpDownLine" }),
4621
+ iconUp: /* @__PURE__ */ jsx(RiIcon, { icon: "RiArrowUpLine" }),
4622
+ iconDown: /* @__PURE__ */ jsx(RiIcon, { icon: "RiArrowUpLine" })
3789
4623
  },
3790
4624
  sortFns: Object.assign(
3791
4625
  {},
@@ -3889,7 +4723,7 @@ const _Table = forwardRef(function Table2(props, ref) {
3889
4723
  });
3890
4724
  const SelectedModeButton = isMobile ? IconButton : Button2;
3891
4725
  const layout = useMemo(() => ({ custom: true, ...fixHeader && { fixedHeader: true } }), [fixHeader]);
3892
- const theme2 = useTheme({
4726
+ const theme = useTheme({
3893
4727
  Table: `
3894
4728
  --data-table-library_grid-template-columns: ${gridTemplateColumns} !important;
3895
4729
  `,
@@ -3912,18 +4746,18 @@ const _Table = forwardRef(function Table2(props, ref) {
3912
4746
  if (showPageNavigation) {
3913
4747
  const numTotalPages = Math.ceil(rows.length / numRowsPerPage);
3914
4748
  setTotalPages(numTotalPages);
3915
- if (pagination2.state.page < 0) {
3916
- pagination2.fns.onSetPage(0);
4749
+ if (pagination.state.page < 0) {
4750
+ pagination.fns.onSetPage(0);
3917
4751
  }
3918
- if (pagination2.state.page > numTotalPages - 1) {
3919
- pagination2.fns.onSetPage(numTotalPages - 1);
4752
+ if (pagination.state.page > numTotalPages - 1) {
4753
+ pagination.fns.onSetPage(numTotalPages - 1);
3920
4754
  }
3921
4755
  }
3922
- }, [rowsPerPage, rows.length, numRowsPerPage, pagination2, showPageNavigation]);
4756
+ }, [rowsPerPage, rows.length, numRowsPerPage, pagination, showPageNavigation]);
3923
4757
  return /* @__PURE__ */ jsxs(Flex$1, { className: classNames({ [styles$1.outerTableContainer]: showContainer }), direction: "column", height: "100%", children: [
3924
4758
  (!!title || !!description) && /* @__PURE__ */ jsxs("div", { className: styles$1.headerContainer, children: [
3925
- !!title && /* @__PURE__ */ jsx(Text$1, { weight: "bold", size: "5", children: title }),
3926
- !!description && /* @__PURE__ */ jsx(Text$1, { as: "div", children: description })
4759
+ !!title && /* @__PURE__ */ jsx(Text, { weight: "bold", size: "5", children: title }),
4760
+ !!description && /* @__PURE__ */ jsx(Text, { as: "div", children: description })
3927
4761
  ] }),
3928
4762
  showTopBar && /* @__PURE__ */ jsxs(Flex$1, { justify: "between", gap: "2", className: styles$1.tableTopContainer, children: [
3929
4763
  /* @__PURE__ */ jsxs(Flex$1, { gap: "2", children: [
@@ -3932,7 +4766,7 @@ const _Table = forwardRef(function Table2(props, ref) {
3932
4766
  {
3933
4767
  value: search,
3934
4768
  onChange: handleSearch,
3935
- leftSlot: /* @__PURE__ */ jsx(MagnifyingGlassIcon, {}),
4769
+ leftSlot: /* @__PURE__ */ jsx(RiIcon, { icon: "RiSearchLine" }),
3936
4770
  placeholder: searchBarPlaceholder || "Filter tasks..."
3937
4771
  }
3938
4772
  ) }) }),
@@ -3941,7 +4775,7 @@ const _Table = forwardRef(function Table2(props, ref) {
3941
4775
  {
3942
4776
  color,
3943
4777
  page: columnFilterPopoverContent,
3944
- trigger: /* @__PURE__ */ jsx(IconButton, { variant: "surface", "aria-label": "Filter columns", children: /* @__PURE__ */ jsx(MixerHorizontalIcon, {}) }),
4778
+ trigger: /* @__PURE__ */ jsx(IconButton, { variant: "surface", "aria-label": "Filter columns", children: /* @__PURE__ */ jsx(RiIcon, { icon: "RiEqualizerLine" }) }),
3945
4779
  children: (_Close) => ""
3946
4780
  }
3947
4781
  ),
@@ -3952,34 +4786,34 @@ const _Table = forwardRef(function Table2(props, ref) {
3952
4786
  color: "crimson",
3953
4787
  onClick: () => {
3954
4788
  setColumnFilterValues(defaultColumnFilterValues);
3955
- pagination2.fns.onSetPage(0);
4789
+ pagination.fns.onSetPage(0);
3956
4790
  },
3957
4791
  "aria-label": "Clear filters",
3958
- children: /* @__PURE__ */ jsx(Cross2Icon, {})
4792
+ children: /* @__PURE__ */ jsx(RiIcon, { icon: "RiCloseLine" })
3959
4793
  }
3960
4794
  )
3961
4795
  ] }),
3962
4796
  topBarComponents,
3963
4797
  showSelect && selected.length !== 0 && /* @__PURE__ */ jsxs(Flex$1, { gap: "2", children: [
3964
4798
  /* @__PURE__ */ jsxs(SelectedModeButton, { variant: "soft", "aria-label": "Edit rows", children: [
3965
- /* @__PURE__ */ jsx(Pencil1Icon, {}),
4799
+ /* @__PURE__ */ jsx(RiIcon, { icon: "RiPencilLine" }),
3966
4800
  !isMobile && "Edit"
3967
4801
  ] }),
3968
4802
  /* @__PURE__ */ jsxs(SelectedModeButton, { color: "red", "aria-label": "Delete rows", children: [
3969
- /* @__PURE__ */ jsx(TrashIcon, {}),
4803
+ /* @__PURE__ */ jsx(RiIcon, { icon: "RiDeleteBin2Line" }),
3970
4804
  !isMobile && "Delete"
3971
4805
  ] })
3972
4806
  ] })
3973
4807
  ] }),
3974
4808
  children,
3975
- /* @__PURE__ */ jsx("div", { className: styles$1.tableContainer, children: /* @__PURE__ */ jsx(
3976
- ReactLibraryTable,
4809
+ /* @__PURE__ */ jsx("div", { className: classNames(styles$1.tableContainer, containerClassName), children: /* @__PURE__ */ jsx(
4810
+ Table$1,
3977
4811
  {
3978
4812
  className: classNames(styles$1.table, className),
3979
4813
  data: tableData,
3980
- theme: theme2,
3981
- sort: sort2,
3982
- pagination: showPageNavigation && pagination2,
4814
+ theme,
4815
+ sort,
4816
+ pagination: showPageNavigation && pagination,
3983
4817
  select: tableSelect,
3984
4818
  layout,
3985
4819
  ref,
@@ -4038,14 +4872,14 @@ const _Table = forwardRef(function Table2(props, ref) {
4038
4872
  ) }),
4039
4873
  showBottomBar && /* @__PURE__ */ jsxs(Flex$1, { className: styles$1.tableBottomContainer, wrap: "wrap", direction: isMobile ? "column" : "row", children: [
4040
4874
  showRowsPerPage && /* @__PURE__ */ jsxs(Flex$1, { className: styles$1.rowsPerPageContainer, children: [
4041
- /* @__PURE__ */ jsx(Text$1, { className: styles$1.rowsPerPageText, size: "2", children: "Rows per page:" }),
4875
+ /* @__PURE__ */ jsx(Text, { className: styles$1.rowsPerPageText, size: "2", children: "Rows per page:" }),
4042
4876
  /* @__PURE__ */ jsx(
4043
4877
  Select,
4044
4878
  {
4045
4879
  items: rowsPerPageOptions,
4046
4880
  defaultValue: (_a = rowsPerPageOptions.find((rowPerPage) => rowPerPage.value === defaultRowsPerPage.toString())) == null ? void 0 : _a.value.toString(),
4047
4881
  onValueChange: (v) => {
4048
- pagination2.fns.onSetSize(Number(v));
4882
+ pagination.fns.onSetSize(Number(v));
4049
4883
  setNumRowsPerPage(Number(v));
4050
4884
  },
4051
4885
  placeholder: rowsPerPageOptions[0].itemContent,
@@ -4053,46 +4887,46 @@ const _Table = forwardRef(function Table2(props, ref) {
4053
4887
  }
4054
4888
  )
4055
4889
  ] }),
4056
- showPageNumber && /* @__PURE__ */ jsx(Flex$1, { justify: "center", children: /* @__PURE__ */ jsx(Text$1, { className: styles$1.pageText, size: "2", children: totalPages > 0 && `Page ${pagination2.state.page + 1} of ${totalPages}` }) }),
4890
+ showPageNumber && /* @__PURE__ */ jsx(Flex$1, { justify: "center", children: /* @__PURE__ */ jsx(Text, { className: styles$1.pageText, size: "2", children: totalPages > 0 && `Page ${pagination.state.page + 1} of ${totalPages}` }) }),
4057
4891
  showPageNavigation && /* @__PURE__ */ jsxs(Flex$1, { className: styles$1.rowsPerPageContainer, gap: "2", justify: "end", children: [
4058
4892
  /* @__PURE__ */ jsx(
4059
4893
  IconButton,
4060
4894
  {
4061
4895
  variant: "surface",
4062
- onClick: () => pagination2.fns.onSetPage(0),
4063
- disabled: pagination2.state.page === 0 || totalPages === 0,
4896
+ onClick: () => pagination.fns.onSetPage(0),
4897
+ disabled: pagination.state.page === 0 || totalPages === 0,
4064
4898
  "aria-label": "Go to first page",
4065
- children: /* @__PURE__ */ jsx(DoubleArrowLeftIcon, {})
4899
+ children: /* @__PURE__ */ jsx(RiIcon, { icon: "RiArrowLeftDoubleLine" })
4066
4900
  }
4067
4901
  ),
4068
4902
  /* @__PURE__ */ jsx(
4069
4903
  IconButton,
4070
4904
  {
4071
4905
  variant: "surface",
4072
- disabled: pagination2.state.page === 0 || totalPages === 0,
4073
- onClick: () => pagination2.fns.onSetPage(pagination2.state.page - 1),
4906
+ disabled: pagination.state.page === 0 || totalPages === 0,
4907
+ onClick: () => pagination.fns.onSetPage(pagination.state.page - 1),
4074
4908
  "aria-label": "Previous page",
4075
- children: /* @__PURE__ */ jsx(ChevronLeftIcon, {})
4909
+ children: /* @__PURE__ */ jsx(RiIcon, { icon: "RiArrowLeftSLine" })
4076
4910
  }
4077
4911
  ),
4078
4912
  /* @__PURE__ */ jsx(
4079
4913
  IconButton,
4080
4914
  {
4081
4915
  variant: "surface",
4082
- disabled: pagination2.state.page + 1 === totalPages || totalPages === 0,
4083
- onClick: () => pagination2.fns.onSetPage(pagination2.state.page + 1),
4916
+ disabled: pagination.state.page + 1 === totalPages || totalPages === 0,
4917
+ onClick: () => pagination.fns.onSetPage(pagination.state.page + 1),
4084
4918
  "aria-label": "Next page",
4085
- children: /* @__PURE__ */ jsx(ChevronRightIcon, {})
4919
+ children: /* @__PURE__ */ jsx(RiIcon, { icon: "RiArrowRightSLine" })
4086
4920
  }
4087
4921
  ),
4088
4922
  /* @__PURE__ */ jsx(
4089
4923
  IconButton,
4090
4924
  {
4091
4925
  variant: "surface",
4092
- disabled: pagination2.state.page + 1 === totalPages || totalPages === 0,
4093
- onClick: () => pagination2.fns.onSetPage(totalPages - 1),
4926
+ disabled: pagination.state.page + 1 === totalPages || totalPages === 0,
4927
+ onClick: () => pagination.fns.onSetPage(totalPages - 1),
4094
4928
  "aria-label": "Go to last page",
4095
- children: /* @__PURE__ */ jsx(DoubleArrowRightIcon, {})
4929
+ children: /* @__PURE__ */ jsx(RiIcon, { icon: "RiArrowRightDoubleLine" })
4096
4930
  }
4097
4931
  )
4098
4932
  ] })
@@ -4218,7 +5052,7 @@ const _ConfirmEditInput = forwardRef(function ConfirmEditInput2({
4218
5052
  disabled: isConfirmDisabled,
4219
5053
  onClick: onCheckClick,
4220
5054
  "aria-label": "Confirm edit",
4221
- children: /* @__PURE__ */ jsx(CheckIcon, {})
5055
+ children: /* @__PURE__ */ jsx(RiIcon, { icon: "RiCheckLine" })
4222
5056
  }
4223
5057
  ),
4224
5058
  /* @__PURE__ */ jsx(
@@ -4235,7 +5069,7 @@ const _ConfirmEditInput = forwardRef(function ConfirmEditInput2({
4235
5069
  severity,
4236
5070
  onClick: onCancelClick,
4237
5071
  "aria-label": "Cancel edit",
4238
- children: /* @__PURE__ */ jsx(Cross1Icon, {})
5072
+ children: /* @__PURE__ */ jsx(RiIcon, { icon: "RiCloseLargeLine" })
4239
5073
  }
4240
5074
  )
4241
5075
  ] }) : /* @__PURE__ */ jsx(
@@ -4252,7 +5086,7 @@ const _ConfirmEditInput = forwardRef(function ConfirmEditInput2({
4252
5086
  severity,
4253
5087
  onClick: onPencilClick,
4254
5088
  "aria-label": "Edit text",
4255
- children: /* @__PURE__ */ jsx(Pencil1Icon, {})
5089
+ children: /* @__PURE__ */ jsx(RiIcon, { icon: "RiPencilLine" })
4256
5090
  }
4257
5091
  ))
4258
5092
  ] }) });
@@ -4272,6 +5106,7 @@ export {
4272
5106
  ButtonGroup,
4273
5107
  ButtonList,
4274
5108
  Checkbox,
5109
+ CollapsibleTree,
4275
5110
  ConfirmEditInput,
4276
5111
  ContextActionMenu,
4277
5112
  ContextMenu,
@@ -4279,6 +5114,11 @@ export {
4279
5114
  ContextSelectMenu,
4280
5115
  DefaultTheme,
4281
5116
  Dialog,
5117
+ DialogCommandMenu,
5118
+ DialogMenu,
5119
+ DialogMultiSelectMenu,
5120
+ DialogSelectMenu,
5121
+ DownloadButtonUtility,
4282
5122
  DropdownItemMenu,
4283
5123
  DropdownMenu,
4284
5124
  DropdownMenuItemGroup,
@@ -4297,23 +5137,29 @@ export {
4297
5137
  LeftAndRightPanels,
4298
5138
  MultiPagePopover,
4299
5139
  MultiSelect,
5140
+ Overlay$2 as Overlay,
4300
5141
  OvermapErrorBoundary,
5142
+ OvermapInputItem,
5143
+ OvermapItem,
5144
+ OvermapItemGroup,
4301
5145
  Popover,
5146
+ RiIcon,
4302
5147
  Select,
4303
5148
  SelectAllCheckbox,
4304
- Separator,
5149
+ Separator$1 as Separator,
4305
5150
  Sidebar,
4306
5151
  SlideOutV2,
4307
5152
  SlideOutV3,
4308
5153
  Spinner,
4309
5154
  Switch,
4310
5155
  Table,
4311
- Text$1 as Text,
5156
+ Text,
4312
5157
  TextArea,
4313
5158
  Theme2 as Theme,
4314
5159
  Toast,
4315
5160
  ToastContext,
4316
5161
  ToastProvider,
5162
+ ToggleButton,
4317
5163
  ToggleGroup,
4318
5164
  Toolbar,
4319
5165
  Tooltip,
@@ -4325,7 +5171,9 @@ export {
4325
5171
  useDiscardAlertDialog,
4326
5172
  useKeyboardShortcut,
4327
5173
  useLayoutContext,
5174
+ useOvermapItemGroupContext,
4328
5175
  useSeverityColor,
5176
+ useSize,
4329
5177
  useStopEventPropagation,
4330
5178
  useTextFilter,
4331
5179
  useThemeContext2 as useThemeContext,