@overmap-ai/blocks 1.0.6 → 1.0.8

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 (37) hide show
  1. package/dist/BaseMenuGroups/BaseItemGroup/BaseItemGroup.d.ts +3 -0
  2. package/dist/BaseMenuGroups/BaseItemGroup/index.d.ts +2 -0
  3. package/dist/BaseMenuGroups/BaseItemGroup/typings.d.ts +11 -0
  4. package/dist/BaseMenuGroups/BaseMenuComponents.d.ts +11 -0
  5. package/dist/BaseMenuGroups/BaseMultiSelectGroup/BaseMultiSelectGroup.d.ts +3 -0
  6. package/dist/BaseMenuGroups/BaseMultiSelectGroup/index.d.ts +2 -0
  7. package/dist/BaseMenuGroups/BaseMultiSelectGroup/typings.d.ts +16 -0
  8. package/dist/BaseMenuGroups/BaseSelectGroup/BaseSelectGroup.d.ts +3 -0
  9. package/dist/BaseMenuGroups/BaseSelectGroup/index.d.ts +2 -0
  10. package/dist/BaseMenuGroups/BaseSelectGroup/typings.d.ts +16 -0
  11. package/dist/BaseMenuGroups/BaseSubMenuGroup/BaseSubMenuGroup.d.ts +3 -0
  12. package/dist/BaseMenuGroups/BaseSubMenuGroup/index.d.ts +2 -0
  13. package/dist/BaseMenuGroups/BaseSubMenuGroup/typings.d.ts +14 -0
  14. package/dist/BaseMenuGroups/index.d.ts +5 -0
  15. package/dist/BaseMenuGroups/typings.d.ts +37 -0
  16. package/dist/BaseMenuGroups/utils.d.ts +5 -0
  17. package/dist/ButtonGroup/ButtonList.d.ts +2 -1
  18. package/dist/Dialogs/Dialog/index.d.ts +1 -0
  19. package/dist/Dialogs/Dialog/utils.d.ts +7 -0
  20. package/dist/DropdownItemMenu/DropdownItemMenu.d.ts +9 -0
  21. package/dist/DropdownItemMenu/index.d.ts +2 -0
  22. package/dist/DropdownMenu/DropdownMenu.d.ts +5 -17
  23. package/dist/DropdownMenu/DropdownMenuGroups.d.ts +18 -0
  24. package/dist/DropdownMenu/index.d.ts +2 -0
  25. package/dist/DropdownMultiSelect/DropdownMultiSelect.d.ts +6 -0
  26. package/dist/DropdownMultiSelect/index.d.ts +2 -0
  27. package/dist/DropdownSelect/DropdownSelect.d.ts +5 -57
  28. package/dist/DropdownSelect/index.d.ts +1 -1
  29. package/dist/Separator/typings.d.ts +2 -1
  30. package/dist/blocks.js +526 -284
  31. package/dist/blocks.js.map +1 -1
  32. package/dist/blocks.umd.cjs +552 -406
  33. package/dist/blocks.umd.cjs.map +1 -1
  34. package/dist/index.d.ts +3 -5
  35. package/dist/style.css +43 -43
  36. package/dist/utils.d.ts +12 -1
  37. package/package.json +9 -5
package/dist/blocks.js CHANGED
@@ -1,11 +1,10 @@
1
- export * from "@radix-ui/colors";
2
- import { Cross1Icon, CheckIcon, DragHandleDots2Icon, Cross2Icon, DividerHorizontalIcon, CaretSortIcon, ArrowUpIcon, ArrowDownIcon, MagnifyingGlassIcon, MixerHorizontalIcon, Pencil1Icon, TrashIcon, DoubleArrowLeftIcon, ChevronLeftIcon, ChevronRightIcon, DoubleArrowRightIcon } from "@radix-ui/react-icons";
3
- export * from "@radix-ui/react-icons";
4
- import { useThemeContext, Badge as Badge$1, Flex as Flex$1, Box, Link, Text as Text$1, Button, IconButton as IconButton$1, Card, Inset, Dialog as Dialog$1, AlertDialog as AlertDialog$1, Separator as Separator$1, DropdownMenu as DropdownMenu$2, TextField, Select as Select$1, Checkbox as Checkbox$1, Switch as Switch$1, Portal, Popover as Popover$1, TextArea as TextArea$1, Callout, Tooltip as Tooltip$1, Theme, TableRow } from "@radix-ui/themes";
5
- import { AccessibleIcon, AspectRatio, Avatar, Blockquote, Box as Box2, Callout as Callout2, Card as Card2, Code, Container, ContextMenu, Em, Grid, Heading, HoverCard, Inset as Inset2, Kbd, Link as Link2, Portal as Portal2, Quote, RadioGroup, ScrollArea, Section, Slider, Slot, Strong, Tabs, TextField as TextField2, Theme as Theme2, VisuallyHidden, updateThemeAppearanceClass, useThemeContext as useThemeContext2 } from "@radix-ui/themes";
6
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, DropdownMenu as DropdownMenu$1, Kbd, 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";
3
+ import { Theme as Theme2, updateThemeAppearanceClass, useThemeContext as useThemeContext2 } from "@radix-ui/themes";
7
4
  import React, { useMemo, useState, useLayoutEffect, useCallback, useEffect, Children, isValidElement, forwardRef, memo, createContext, useContext, cloneElement, createElement, useRef, useReducer, Fragment as Fragment$1 } from "react";
8
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";
7
+ import * as RadixDropdownMenu from "@radix-ui/react-dropdown-menu";
9
8
  import * as RadixDialogPrimitive from "@radix-ui/react-dialog";
10
9
  import { Resizable } from "re-resizable";
11
10
  import { DismissableLayer } from "@radix-ui/react-dismissable-layer";
@@ -15,11 +14,11 @@ import { Root as Root$2 } from "@radix-ui/react-toolbar";
15
14
  import * as RadixToast from "@radix-ui/react-toast";
16
15
  import { ToastProvider as ToastProvider$1, ToastViewport as ToastViewport$1 } from "@radix-ui/react-toast";
17
16
  import { flushSync } from "react-dom";
18
- import { HeaderCell, Table as Table$1, Header, HeaderRow, Body, Cell, Row } from "@table-library/react-table-library/table";
19
- import { useTheme } from "@table-library/react-table-library/theme";
20
- import { useSort, HeaderCellSort } from "@table-library/react-table-library/sort";
21
- import { useRowSelect, SelectTypes, SelectClickTypes, HeaderCellSelect, CellSelect } from "@table-library/react-table-library/select";
22
- import { usePagination } from "@table-library/react-table-library/pagination";
17
+ import { HeaderCell, Table as Table$1, Header, HeaderRow, Body, Cell, Row } from "@table-library/react-table-library/table.js";
18
+ import { useTheme } from "@table-library/react-table-library/theme.js";
19
+ import { useSort, HeaderCellSort } from "@table-library/react-table-library/sort.js";
20
+ import { useRowSelect, SelectTypes, SelectClickTypes, HeaderCellSelect, CellSelect } from "@table-library/react-table-library/select.js";
21
+ import { usePagination } from "@table-library/react-table-library/pagination.js";
23
22
  import { isMobile } from "react-device-detect";
24
23
  function getDefaultExportFromCjs(x) {
25
24
  return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
@@ -175,6 +174,19 @@ const childrenToArray = (children) => {
175
174
  }
176
175
  return tempChildrenToArray;
177
176
  };
177
+ const useStopEventPropagation = () => {
178
+ return useCallback((event) => {
179
+ event.stopPropagation();
180
+ }, []);
181
+ };
182
+ function useTextFilter(values, filterFunction) {
183
+ const [filteredOptions, setFilteredOptions] = useState([]);
184
+ const [filterValue, setFilterValue] = useState("");
185
+ useEffect(() => {
186
+ setFilteredOptions(values.filter((value) => filterFunction(value, filterValue)));
187
+ }, [filterFunction, filterValue, values]);
188
+ return [filteredOptions, filterValue, setFilterValue];
189
+ }
178
190
  const _Badge = forwardRef(function Badge2({ className, severity = "primary", color, children, ...rest }, ref) {
179
191
  const severityColor = useSeverityColor(severity);
180
192
  return /* @__PURE__ */ jsx(
@@ -243,7 +255,7 @@ const Group = memo(
243
255
  children: childrenAsArray.map((child, index) => {
244
256
  return /* @__PURE__ */ jsxs(Fragment, { children: [
245
257
  cloneElement(child, { key: index }),
246
- childrenAsArray.length - 1 !== index && /* @__PURE__ */ jsx(Text$1, { color: severityColor, children: /* @__PURE__ */ jsx(Flex, { height: "100%", width: "100%", align: "center", children: separator }) })
258
+ childrenAsArray.length - 1 !== index && /* @__PURE__ */ jsx(Text$2, { color: severityColor, children: /* @__PURE__ */ jsx(Flex, { height: "100%", width: "100%", align: "center", children: separator }) })
247
259
  ] });
248
260
  })
249
261
  }
@@ -561,6 +573,15 @@ const Dialog = memo(
561
573
  ] });
562
574
  })
563
575
  );
576
+ const useWrapCallbackInDialogClose = (callback, closeOptions) => {
577
+ return useCallback(
578
+ (...arg) => (closeDialog) => {
579
+ callback(...arg);
580
+ closeDialog(closeOptions);
581
+ },
582
+ [callback, closeOptions]
583
+ );
584
+ };
564
585
  const Title = (props) => /* @__PURE__ */ jsx(AlertDialog$1.Title, { mb: "0", ...props });
565
586
  const AlertDialogContent$1 = (props) => {
566
587
  const { title, description, actionText = "Confirm", cancelText = "Cancel", onAction, onCancel, severity } = props;
@@ -626,128 +647,341 @@ const useDiscardAlertDialog = () => {
626
647
  [openAlertDialog]
627
648
  );
628
649
  };
629
- const DropdownMenu$1 = "_DropdownMenu_hj4sz_1";
630
- const DropdownMenuItemWrapper = "_DropdownMenuItemWrapper_hj4sz_8";
631
- const DropdownMenuSeparatorWrapper = "_DropdownMenuSeparatorWrapper_hj4sz_13";
632
- const DropdownMenuItem$1 = "_DropdownMenuItem_hj4sz_8";
650
+ const DropdownMenu = memo(
651
+ forwardRef(({ trigger, disabled, children, ...rest }) => {
652
+ const infoColor = useSeverityColor("info");
653
+ return /* @__PURE__ */ jsxs(DropdownMenu$1.Root, { children: [
654
+ /* @__PURE__ */ jsx(DropdownMenu$1.Trigger, { disabled, children: trigger }),
655
+ /* @__PURE__ */ jsx(DropdownMenu$1.Content, { variant: "soft", color: infoColor, ...rest, children })
656
+ ] });
657
+ })
658
+ );
659
+ const BaseMenuItem$1 = "_BaseMenuItem_1s610_1";
660
+ const RemoveOutline = "_RemoveOutline_1s610_15";
661
+ const BaseMenuSeparator$1 = "_BaseMenuSeparator_1s610_19";
662
+ const BaseMenuInput$1 = "_BaseMenuInput_1s610_27";
633
663
  const styles$h = {
634
- DropdownMenu: DropdownMenu$1,
635
- DropdownMenuItemWrapper,
636
- DropdownMenuSeparatorWrapper,
637
- DropdownMenuItem: DropdownMenuItem$1
664
+ BaseMenuItem: BaseMenuItem$1,
665
+ RemoveOutline,
666
+ BaseMenuSeparator: BaseMenuSeparator$1,
667
+ BaseMenuInput: BaseMenuInput$1
638
668
  };
639
- const SeparatorSizeMapping = {
640
- "1": "max-content",
641
- "2": "max-content",
642
- "3": "max-content",
643
- "4": "100%"
669
+ const BaseMenuItem = memo(
670
+ forwardRef(({ children, rightSlot }, ref) => {
671
+ return /* @__PURE__ */ jsx(Box, { className: styles$h.BaseMenuItem, ref, position: "relative", px: "2", height: "6", children: /* @__PURE__ */ jsxs(Flex, { gap: "6", height: "100%", align: "center", children: [
672
+ /* @__PURE__ */ jsx(Flex, { grow: "1", height: "100%", align: "center", gap: "1", children }),
673
+ /* @__PURE__ */ jsx(Flex, { height: "100%", width: "4", align: "center", justify: "end", children: rightSlot })
674
+ ] }) });
675
+ })
676
+ );
677
+ const BaseMenuInput = memo(
678
+ forwardRef((props) => {
679
+ return /* @__PURE__ */ jsx(Box, { className: styles$h.BaseMenuInput, px: "2", height: "6", width: "max-content", children: /* @__PURE__ */ jsx(Input, { ...props, variant: "ghost" }) });
680
+ })
681
+ );
682
+ const BaseMenuSeparator = memo(function BaseMenuSeparator2() {
683
+ return /* @__PURE__ */ jsx(Box, { className: styles$h.BaseMenuSeparator, width: "100%", py: "1", children: /* @__PURE__ */ jsx(Box, { height: "0", width: "100%" }) });
684
+ });
685
+ const useCloseOnSelectHandler = (closeOnSelect) => {
686
+ return useCallback(
687
+ (onSelect) => (event) => {
688
+ if (!closeOnSelect) {
689
+ event.preventDefault();
690
+ }
691
+ if (onSelect)
692
+ onSelect(event);
693
+ },
694
+ [closeOnSelect]
695
+ );
644
696
  };
645
- const _Separator = forwardRef(function Separator2({ severity = "info", weight = "light", gap = "1", text, orientation = "horizontal", size, ...rest }, ref) {
646
- const computedSizing = useResponsiveMapping(size, SeparatorSizeMapping);
647
- const severityColor = useSeverityColor(severity);
648
- return /* @__PURE__ */ jsxs(
649
- Flex$1,
650
- {
651
- ref,
652
- width: orientation === "horizontal" ? computedSizing : "max-content",
653
- height: orientation === "vertical" ? computedSizing : "max-content",
654
- direction: orientation === "vertical" ? "column" : "row",
655
- align: "center",
656
- gap,
657
- children: [
658
- /* @__PURE__ */ jsx(Separator$1, { size, orientation, color: severityColor, ...rest }),
659
- text && /* @__PURE__ */ jsxs(Fragment, { children: [
660
- /* @__PURE__ */ jsx(Text$1, { as: "span", size: "1", weight, color: severityColor, children: text }),
661
- /* @__PURE__ */ jsx(Separator$1, { size, orientation, color: severityColor, ...rest })
662
- ] })
663
- ]
664
- }
697
+ const useTextFilterChangeHandler = () => {
698
+ return useCallback(
699
+ (onTextFilterChange) => (event) => {
700
+ if (onTextFilterChange)
701
+ onTextFilterChange(event.target.value);
702
+ },
703
+ []
665
704
  );
666
- });
667
- const Separator = memo(_Separator);
668
- const DropdownMenuItem = memo(function DropdownMenuItem2({
669
- content,
670
- onSelect,
671
- closeOnSelect,
705
+ };
706
+ const BaseItemGroup = memo(function BaseItemGroup2({
707
+ items,
708
+ closeOnSelect = true,
709
+ groupElement: GroupElement,
710
+ itemElement: ItemElement,
711
+ filterValue,
712
+ onFilterValueChange,
713
+ placeholder,
714
+ icons,
715
+ separator,
672
716
  ...rest
673
717
  }) {
674
- const handleSelect = useCallback(
675
- (event) => {
676
- if (onSelect)
677
- onSelect(event);
678
- if (!closeOnSelect)
679
- event.preventDefault();
718
+ const closeOnSelectHandler = useCloseOnSelectHandler(closeOnSelect);
719
+ const textFilterChangeHandler = useTextFilterChangeHandler();
720
+ useEffect(() => {
721
+ return () => {
722
+ if (onFilterValueChange) {
723
+ onFilterValueChange("");
724
+ }
725
+ };
726
+ }, []);
727
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
728
+ /* @__PURE__ */ jsx(GroupElement, { ...rest, children: /* @__PURE__ */ jsxs(Flex, { direction: "column", children: [
729
+ filterValue !== void 0 && !!onFilterValueChange && /* @__PURE__ */ jsxs(Fragment, { children: [
730
+ /* @__PURE__ */ jsx(
731
+ BaseMenuInput,
732
+ {
733
+ value: filterValue,
734
+ onChange: textFilterChangeHandler(onFilterValueChange),
735
+ placeholder,
736
+ leftSlot: icons == null ? void 0 : icons.left,
737
+ rightSlot: icons == null ? void 0 : icons.right
738
+ }
739
+ ),
740
+ items.length !== 0 && /* @__PURE__ */ jsx(BaseMenuSeparator, {})
741
+ ] }),
742
+ items.map(({ content, shortcut, className, onSelect, ...rest2 }, index) => /* @__PURE__ */ jsx(
743
+ ItemElement,
744
+ {
745
+ className: classNames(className, styles$h.RemoveOutline),
746
+ onSelect: closeOnSelectHandler(onSelect),
747
+ ...rest2,
748
+ children: /* @__PURE__ */ jsx(BaseMenuItem, { rightSlot: shortcut == null ? void 0 : shortcut.map((key, index2) => /* @__PURE__ */ jsx(Kbd, { children: key }, index2)), children: content })
749
+ },
750
+ index
751
+ ))
752
+ ] }) }),
753
+ separator && /* @__PURE__ */ jsx(BaseMenuSeparator, {})
754
+ ] });
755
+ });
756
+ const BaseSelectGroup = memo(function BaseSelectGroup2({
757
+ items,
758
+ value,
759
+ closeOnSelect = false,
760
+ onValueChange,
761
+ groupElement: GroupElement,
762
+ selectedIndicator,
763
+ itemElement: ItemElement,
764
+ itemIndicatorElement: ItemIndicatorElement,
765
+ filterValue,
766
+ onFilterValueChange,
767
+ placeholder,
768
+ icons,
769
+ separator
770
+ }) {
771
+ const textFilterChangeHandler = useTextFilterChangeHandler();
772
+ const closeOnSelectHandler = useCloseOnSelectHandler(closeOnSelect);
773
+ useEffect(() => {
774
+ return () => {
775
+ if (onFilterValueChange) {
776
+ onFilterValueChange("");
777
+ }
778
+ };
779
+ }, []);
780
+ const handleCheckedChange = useCallback(
781
+ (value2) => (checked) => {
782
+ onValueChange(checked ? value2 : null);
680
783
  },
681
- [closeOnSelect, onSelect]
784
+ [onValueChange]
682
785
  );
683
- return /* @__PURE__ */ jsx(DropdownMenu$2.Item, { className: styles$h.DropdownMenuItem, textValue: "", onSelect: handleSelect, ...rest, children: /* @__PURE__ */ jsx(Flex$1, { align: "center", gap: "1", children: content }) });
786
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
787
+ /* @__PURE__ */ jsx(GroupElement, { children: /* @__PURE__ */ jsxs(Flex, { direction: "column", children: [
788
+ filterValue !== void 0 && !!onFilterValueChange && /* @__PURE__ */ jsxs(Fragment, { children: [
789
+ /* @__PURE__ */ jsx(
790
+ BaseMenuInput,
791
+ {
792
+ value: filterValue,
793
+ onChange: textFilterChangeHandler(onFilterValueChange),
794
+ placeholder,
795
+ leftSlot: icons == null ? void 0 : icons.left,
796
+ rightSlot: (icons == null ? void 0 : icons.right) || /* @__PURE__ */ jsx(MagnifyingGlassIcon, {})
797
+ }
798
+ ),
799
+ items.length !== 0 && /* @__PURE__ */ jsx(BaseMenuSeparator, {})
800
+ ] }),
801
+ items.map(({ content, value: itemValue, onSelect, ...rest }, index) => /* @__PURE__ */ jsx(
802
+ ItemElement,
803
+ {
804
+ className: styles$h.RemoveOutline,
805
+ checked: itemValue === value,
806
+ onCheckedChange: handleCheckedChange(itemValue),
807
+ onSelect: closeOnSelectHandler(onSelect),
808
+ textValue: "",
809
+ ...rest,
810
+ children: /* @__PURE__ */ jsx(
811
+ BaseMenuItem,
812
+ {
813
+ rightSlot: /* @__PURE__ */ jsx(ItemIndicatorElement, { asChild: true, children: selectedIndicator || /* @__PURE__ */ jsx(CheckIcon, {}) }),
814
+ children: content
815
+ }
816
+ )
817
+ },
818
+ index
819
+ ))
820
+ ] }) }),
821
+ separator && /* @__PURE__ */ jsx(BaseMenuSeparator, {})
822
+ ] });
684
823
  });
685
- const DropdownMenu = memo(
824
+ const BaseMultiSelectGroup = memo(function BaseMultiSelectGroup2({
825
+ items,
826
+ values,
827
+ onValueChange,
828
+ closeOnSelect = false,
829
+ groupElement: GroupElement,
830
+ selectedIndicator,
831
+ itemElement: ItemElement,
832
+ itemIndicatorElement: ItemIndicatorElement,
833
+ filterValue,
834
+ onFilterValueChange,
835
+ placeholder,
836
+ icons,
837
+ separator = false
838
+ }) {
839
+ const closeOnSelectHandler = useCloseOnSelectHandler(closeOnSelect);
840
+ const textFilterChangeHandler = useTextFilterChangeHandler();
841
+ useEffect(() => {
842
+ return () => {
843
+ if (onFilterValueChange) {
844
+ onFilterValueChange("");
845
+ }
846
+ };
847
+ }, []);
848
+ const handleCheckedChange = useCallback(
849
+ (value) => (checked) => {
850
+ if (checked) {
851
+ onValueChange([...values, value]);
852
+ } else {
853
+ const valueIndex = values.indexOf(value);
854
+ if (valueIndex < 0) {
855
+ throw new Error("unexpected value not found within values array");
856
+ }
857
+ const tempValues = [...values];
858
+ tempValues.splice(valueIndex, 1);
859
+ onValueChange(tempValues);
860
+ }
861
+ },
862
+ [onValueChange, values]
863
+ );
864
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
865
+ /* @__PURE__ */ jsx(GroupElement, { children: /* @__PURE__ */ jsxs(Flex, { direction: "column", children: [
866
+ filterValue !== void 0 && !!onFilterValueChange && /* @__PURE__ */ jsxs(Fragment, { children: [
867
+ /* @__PURE__ */ jsx(
868
+ BaseMenuInput,
869
+ {
870
+ value: filterValue,
871
+ onChange: textFilterChangeHandler(onFilterValueChange),
872
+ placeholder,
873
+ leftSlot: icons == null ? void 0 : icons.left,
874
+ rightSlot: icons == null ? void 0 : icons.right
875
+ }
876
+ ),
877
+ items.length !== 0 && /* @__PURE__ */ jsx(BaseMenuSeparator, {})
878
+ ] }),
879
+ items.map(({ value, content, className, onSelect, ...rest }, index) => /* @__PURE__ */ jsx(
880
+ ItemElement,
881
+ {
882
+ className: classNames(className, styles$h.RemoveOutline),
883
+ onSelect: closeOnSelectHandler(onSelect),
884
+ onCheckedChange: handleCheckedChange(value),
885
+ checked: values.includes(value),
886
+ textValue: "",
887
+ ...rest,
888
+ children: /* @__PURE__ */ jsx(
889
+ BaseMenuItem,
890
+ {
891
+ rightSlot: /* @__PURE__ */ jsx(ItemIndicatorElement, { asChild: true, children: selectedIndicator || /* @__PURE__ */ jsx(CheckIcon, {}) }),
892
+ children: content
893
+ }
894
+ )
895
+ },
896
+ index
897
+ ))
898
+ ] }) }),
899
+ separator && /* @__PURE__ */ jsx(BaseMenuSeparator, {})
900
+ ] });
901
+ });
902
+ const BaseSubMenuGroup = memo(function BaseSubMenuGroup2({
903
+ subTriggerElement: SubTriggerElement,
904
+ groupElement: GroupElement,
905
+ subContentElement: SubContentElement,
906
+ subElement: SubElement,
907
+ items,
908
+ separator = false,
909
+ ...rest
910
+ }) {
911
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
912
+ /* @__PURE__ */ jsx(GroupElement, { ...rest, children: items.map(({ triggerIndicator, content, subContent, className, ...rest2 }, index) => /* @__PURE__ */ jsxs(SubElement, { children: [
913
+ /* @__PURE__ */ jsx(SubTriggerElement, { className: classNames(className, styles$h.RemoveOutline), ...rest2, children: /* @__PURE__ */ jsx(BaseMenuItem, { rightSlot: triggerIndicator, children: content }) }),
914
+ /* @__PURE__ */ jsx(SubContentElement, { sideOffset: 10, children: subContent })
915
+ ] }, index)) }),
916
+ separator && /* @__PURE__ */ jsx(BaseMenuSeparator, {})
917
+ ] });
918
+ });
919
+ const DropdownMenuItemGroup = memo(function DropdownMenuItemGroup2(props) {
920
+ return /* @__PURE__ */ jsx(BaseItemGroup, { ...props, itemElement: RadixDropdownMenu.Item, groupElement: RadixDropdownMenu.Group });
921
+ });
922
+ const DropdownMenuSelectGroup = memo(function DropdownMenuSelectGroup2(props) {
923
+ return /* @__PURE__ */ jsx(
924
+ BaseSelectGroup,
925
+ {
926
+ ...props,
927
+ itemElement: RadixDropdownMenu.CheckboxItem,
928
+ groupElement: RadixDropdownMenu.Group,
929
+ itemIndicatorElement: RadixDropdownMenu.ItemIndicator
930
+ }
931
+ );
932
+ });
933
+ const DropdownMenuMultiSelectGroup = memo(function DropdownMenuMultiSelectGroup2(props) {
934
+ return /* @__PURE__ */ jsx(
935
+ BaseMultiSelectGroup,
936
+ {
937
+ ...props,
938
+ itemElement: RadixDropdownMenu.CheckboxItem,
939
+ groupElement: RadixDropdownMenu.Group,
940
+ itemIndicatorElement: RadixDropdownMenu.ItemIndicator
941
+ }
942
+ );
943
+ });
944
+ const DropdownMenuSubMenuGroup = memo(function DropdownMenuSubMenuGroup2(props) {
945
+ return /* @__PURE__ */ jsx(
946
+ BaseSubMenuGroup,
947
+ {
948
+ ...props,
949
+ groupElement: RadixDropdownMenu.Group,
950
+ subElement: DropdownMenu$1.Sub,
951
+ subTriggerElement: RadixDropdownMenu.SubTrigger,
952
+ subContentElement: DropdownMenu$1.SubContent
953
+ }
954
+ );
955
+ });
956
+ const DropdownItemMenu = memo(
686
957
  forwardRef(
687
958
  ({
688
- className,
689
959
  trigger,
690
960
  items,
691
- label,
692
961
  disabled,
693
- severity = "info",
694
- modal = false,
695
962
  closeOnSelect = true,
963
+ filterValue,
964
+ onFilterValueChange,
965
+ placeholder,
696
966
  ...rest
697
- }, ref) => {
698
- const severityColor = useSeverityColor(severity);
699
- return /* @__PURE__ */ jsxs(DropdownMenu$2.Root, { modal, children: [
700
- /* @__PURE__ */ jsx(DropdownMenu$2.Trigger, { disabled, children: trigger }),
701
- /* @__PURE__ */ jsx(
702
- DropdownMenu$2.Content,
967
+ }) => {
968
+ const infoColor = useSeverityColor("info");
969
+ return /* @__PURE__ */ jsxs(DropdownMenu$1.Root, { children: [
970
+ /* @__PURE__ */ jsx(DropdownMenu$1.Trigger, { disabled, children: trigger }),
971
+ /* @__PURE__ */ jsx(DropdownMenu$1.Content, { variant: "soft", ...rest, color: infoColor, children: /* @__PURE__ */ jsx(
972
+ DropdownMenuItemGroup,
703
973
  {
704
- className: classNames("overmap-dropdown", className),
705
- color: severityColor,
706
- variant: "soft",
707
- ref,
708
- ...rest,
709
- children: /* @__PURE__ */ jsxs(
710
- Flex$1,
711
- {
712
- className: styles$h.DropdownMenu,
713
- direction: "column",
714
- height: "max-content",
715
- width: "max-content",
716
- children: [
717
- !!label && /* @__PURE__ */ jsx(DropdownMenu$2.Label, { children: label }),
718
- items.map(({ closeOnSelect: itemCloseOnSelect, separator, ...rest2 }, index) => /* @__PURE__ */ jsxs(Box, { children: [
719
- /* @__PURE__ */ jsx(Box, { className: styles$h.DropdownMenuItemWrapper, children: /* @__PURE__ */ jsx(
720
- DropdownMenuItem,
721
- {
722
- closeOnSelect: itemCloseOnSelect ?? closeOnSelect,
723
- ...rest2
724
- },
725
- index
726
- ) }),
727
- !!separator && /* @__PURE__ */ jsx(Box, { className: styles$h.DropdownMenuSeparatorWrapper, children: /* @__PURE__ */ jsx(Separator, { size: "4" }) })
728
- ] }, index))
729
- ]
730
- }
731
- )
974
+ items,
975
+ filterValue,
976
+ onFilterValueChange,
977
+ placeholder,
978
+ closeOnSelect
732
979
  }
733
- )
980
+ ) })
734
981
  ] });
735
982
  }
736
983
  )
737
984
  );
738
- const DropdownSelect$1 = "_DropdownSelect_k517z_1";
739
- const BorderBottom = "_BorderBottom_k517z_8";
740
- const DropdownSelectInputWrapper = "_DropdownSelectInputWrapper_k517z_12";
741
- const DropdownSelectInput = "_DropdownSelectInput_k517z_12";
742
- const DropdownSelectItem = "_DropdownSelectItem_k517z_27";
743
- const styles$g = {
744
- DropdownSelect: DropdownSelect$1,
745
- BorderBottom,
746
- DropdownSelectInputWrapper,
747
- DropdownSelectInput,
748
- DropdownSelectItem
749
- };
750
- const TIMEOUT = 150;
751
985
  const DropdownSelect = memo(
752
986
  forwardRef(
753
987
  ({
@@ -761,84 +995,59 @@ const DropdownSelect = memo(
761
995
  onFilterValueChange,
762
996
  closeOnSelect = true,
763
997
  icons,
764
- severity = "info"
998
+ side
765
999
  }, ref) => {
766
- const infoColor = useSeverityColor(severity);
767
- const handleOnSelect = useCallback(
768
- (itemValue) => (event) => {
769
- onValueChange(value !== itemValue ? itemValue : void 0);
770
- if (!closeOnSelect)
771
- event.preventDefault();
772
- },
773
- [value, closeOnSelect, onValueChange]
774
- );
775
- const handleOnInputValueChange = useCallback(
776
- (event) => {
777
- if (onFilterValueChange)
778
- onFilterValueChange(event.target.value);
779
- },
780
- [onFilterValueChange]
781
- );
782
- const handleOnOpenChange = useCallback(
783
- (open) => {
784
- if (!open && onFilterValueChange) {
785
- setTimeout(() => {
786
- onFilterValueChange("");
787
- }, TIMEOUT);
1000
+ const infoColor = useSeverityColor("info");
1001
+ return /* @__PURE__ */ jsxs(DropdownMenu$1.Root, { children: [
1002
+ /* @__PURE__ */ jsx(DropdownMenu$1.Trigger, { disabled, children: trigger }),
1003
+ /* @__PURE__ */ jsx(DropdownMenu$1.Content, { ref, variant: "soft", color: infoColor, side, children: /* @__PURE__ */ jsx(
1004
+ DropdownMenuSelectGroup,
1005
+ {
1006
+ value,
1007
+ onValueChange,
1008
+ items,
1009
+ closeOnSelect,
1010
+ filterValue,
1011
+ onFilterValueChange,
1012
+ placeholder,
1013
+ icons
788
1014
  }
789
- },
790
- [onFilterValueChange]
791
- );
792
- return /* @__PURE__ */ jsxs(DropdownMenu$2.Root, { onOpenChange: handleOnOpenChange, children: [
793
- /* @__PURE__ */ jsx(DropdownMenu$2.Trigger, { disabled, children: trigger }),
794
- /* @__PURE__ */ jsx(DropdownMenu$2.Content, { ref, variant: "soft", color: infoColor, className: styles$g.Test, children: /* @__PURE__ */ jsxs(Flex, { className: styles$g.DropdownSelect, direction: "column", children: [
795
- filterValue !== void 0 && !!onFilterValueChange && /* @__PURE__ */ jsx(Box, { px: "1", className: classNames({ [styles$g.BorderBottom]: items.length !== 0 }), children: /* @__PURE__ */ jsxs(
796
- TextField.Root,
797
- {
798
- className: styles$g.DropdownSelectInputWrapper,
799
- size: "2",
800
- variant: "soft",
801
- children: [
802
- !!icons && !!icons.leftInputIcon && /* @__PURE__ */ jsx(TextField.Slot, { children: icons.leftInputIcon }),
803
- /* @__PURE__ */ jsx(
804
- TextField.Input,
805
- {
806
- className: styles$g.DropdownSelectInput,
807
- value: filterValue,
808
- placeholder,
809
- onChange: handleOnInputValueChange
810
- }
811
- ),
812
- !!icons && !!icons.rightInputIcon && /* @__PURE__ */ jsx(TextField.Slot, { children: icons.rightInputIcon })
813
- ]
814
- }
815
- ) }),
816
- /* @__PURE__ */ jsx(Box, { p: items.length !== 0 ? "1" : "0", children: /* @__PURE__ */ jsx(Flex, { direction: "column", children: items.map(({ content, value: itemValue }, index) => {
817
- return /* @__PURE__ */ jsx(
818
- DropdownMenu$2.Item,
819
- {
820
- className: styles$g.DropdownSelectItem,
821
- onSelect: handleOnSelect(itemValue),
822
- textValue: "",
823
- asChild: true,
824
- children: /* @__PURE__ */ jsxs(Flex, { align: "center", height: "max-content", width: "100%", gap: "5", children: [
825
- /* @__PURE__ */ jsx(Box, { grow: "1", children: content }),
826
- /* @__PURE__ */ jsx(
827
- Flex,
828
- {
829
- justify: "center",
830
- align: "center",
831
- height: "max-content",
832
- width: "4",
833
- children: value === itemValue && (icons && (icons == null ? void 0 : icons.selectedItemIcon) ? icons.selectedItemIcon : /* @__PURE__ */ jsx(CheckIcon, {}))
834
- }
835
- )
836
- ] })
837
- },
838
- index
839
- );
840
- }) }) })
841
- ] }) })
1015
+ ) })
1016
+ ] });
1017
+ }
1018
+ )
1019
+ );
1020
+ const DropdownMultiSelect = memo(
1021
+ forwardRef(
1022
+ ({
1023
+ trigger,
1024
+ items,
1025
+ disabled = false,
1026
+ values,
1027
+ onValueChange,
1028
+ placeholder,
1029
+ filterValue,
1030
+ onFilterValueChange,
1031
+ closeOnSelect = false,
1032
+ icons,
1033
+ side
1034
+ }, ref) => {
1035
+ const infoColor = useSeverityColor("info");
1036
+ return /* @__PURE__ */ jsxs(DropdownMenu$1.Root, { children: [
1037
+ /* @__PURE__ */ jsx(DropdownMenu$1.Trigger, { disabled, children: trigger }),
1038
+ /* @__PURE__ */ jsx(DropdownMenu$1.Content, { ref, variant: "soft", color: infoColor, side, children: /* @__PURE__ */ jsx(
1039
+ DropdownMenuMultiSelectGroup,
1040
+ {
1041
+ values,
1042
+ onValueChange,
1043
+ items,
1044
+ closeOnSelect,
1045
+ filterValue,
1046
+ onFilterValueChange,
1047
+ placeholder,
1048
+ icons
1049
+ }
1050
+ ) })
842
1051
  ] });
843
1052
  }
844
1053
  )
@@ -858,7 +1067,7 @@ const HoverUtility = memo(function Root({ children }) {
858
1067
  });
859
1068
  });
860
1069
  const fluid = "_fluid_7n1wr_1";
861
- const styles$f = {
1070
+ const styles$g = {
862
1071
  fluid
863
1072
  };
864
1073
  const _Select = forwardRef(function Select2({
@@ -882,7 +1091,7 @@ const _Select = forwardRef(function Select2({
882
1091
  Select$1.Trigger,
883
1092
  {
884
1093
  className: classNames(className, {
885
- [styles$f.fluid]: fluid2
1094
+ [styles$g.fluid]: fluid2
886
1095
  }),
887
1096
  id,
888
1097
  ref,
@@ -894,7 +1103,7 @@ const _Select = forwardRef(function Select2({
894
1103
  Select$1.Content,
895
1104
  {
896
1105
  side,
897
- className: styles$f.contentDefault,
1106
+ className: styles$g.contentDefault,
898
1107
  position: "popper",
899
1108
  variant: variant !== "surface" ? "soft" : "solid",
900
1109
  color: itemSeverityColor,
@@ -1007,7 +1216,7 @@ const MultiSelect = memo(
1007
1216
  );
1008
1217
  })
1009
1218
  );
1010
- const styles$e = {
1219
+ const styles$f = {
1011
1220
  "default": "_default_u936h_1"
1012
1221
  };
1013
1222
  const _Switch = forwardRef(function Switch2({ className, severity = "primary", icon, defaultChecked = false, onCheckedChange, ...rest }, ref) {
@@ -1035,7 +1244,7 @@ const _Switch = forwardRef(function Switch2({ className, severity = "primary", i
1035
1244
  /* @__PURE__ */ jsx(
1036
1245
  Switch$1,
1037
1246
  {
1038
- className: classNames("overmap-switch", className, styles$e.default),
1247
+ className: classNames("overmap-switch", className, styles$f.default),
1039
1248
  ref: ref ? ref : fallbackRef,
1040
1249
  color: severityColor,
1041
1250
  radius: "full",
@@ -1053,7 +1262,7 @@ const right$2 = "_right_1onyo_7";
1053
1262
  const resizeHandle$1 = "_resizeHandle_1onyo_10";
1054
1263
  const left$2 = "_left_1onyo_13";
1055
1264
  const overlay = "_overlay_1onyo_33";
1056
- const styles$d = {
1265
+ const styles$e = {
1057
1266
  sidebarContent,
1058
1267
  right: right$2,
1059
1268
  resizeHandle: resizeHandle$1,
@@ -1086,13 +1295,13 @@ const _Sidebar = forwardRef(function Sidebar2({
1086
1295
  setContainer(tempContainer);
1087
1296
  }, [containerSelector]);
1088
1297
  return /* @__PURE__ */ jsx(RadixDialogPrimitive.Root, { open, modal, children: /* @__PURE__ */ jsxs(RadixDialogPrimitive.Portal, { container, children: [
1089
- overlay2 && /* @__PURE__ */ jsx(RadixDialogPrimitive.Overlay, { className: classNames(styles$d.overlay) }),
1298
+ overlay2 && /* @__PURE__ */ jsx(RadixDialogPrimitive.Overlay, { className: classNames(styles$e.overlay) }),
1090
1299
  /* @__PURE__ */ jsx(
1091
1300
  RadixDialogPrimitive.Content,
1092
1301
  {
1093
- className: classNames("overmap-sidebar", "rt-DialogContent", styles$d.sidebarContent, {
1094
- [styles$d.left]: isLeft,
1095
- [styles$d.right]: isRight
1302
+ className: classNames("overmap-sidebar", "rt-DialogContent", styles$e.sidebarContent, {
1303
+ [styles$e.left]: isLeft,
1304
+ [styles$e.right]: isRight
1096
1305
  }),
1097
1306
  ref,
1098
1307
  asChild: true,
@@ -1104,7 +1313,7 @@ const _Sidebar = forwardRef(function Sidebar2({
1104
1313
  maxWidth,
1105
1314
  defaultSize: defaultSidebarSize,
1106
1315
  enable: { right: resizable2 && isLeft, left: resizable2 && isRight },
1107
- handleClasses: { left: styles$d.resizeHandle, right: styles$d.resizeHandle },
1316
+ handleClasses: { left: styles$e.resizeHandle, right: styles$e.resizeHandle },
1108
1317
  handleComponent: {
1109
1318
  right: /* @__PURE__ */ jsx(DragHandleDots2Icon, {}),
1110
1319
  left: /* @__PURE__ */ jsx(DragHandleDots2Icon, {})
@@ -1126,7 +1335,7 @@ const exitActive = "_exitActive_1iy9c_22";
1126
1335
  const exitDone = "_exitDone_1iy9c_32";
1127
1336
  const resizable$1 = "_resizable_1iy9c_41";
1128
1337
  const slideOutOverlay = "_slideOutOverlay_1iy9c_47";
1129
- const styles$c = {
1338
+ const styles$d = {
1130
1339
  outerContent,
1131
1340
  enter,
1132
1341
  right: right$1,
@@ -1170,23 +1379,23 @@ const SlideOut = memo(function SlideOut2({
1170
1379
  {
1171
1380
  in: open,
1172
1381
  classNames: {
1173
- enter: styles$c.enter,
1174
- enterActive: styles$c.enterActive,
1175
- exitActive: styles$c.exitActive,
1176
- exitDone: styles$c.exitDone
1382
+ enter: styles$d.enter,
1383
+ enterActive: styles$d.enterActive,
1384
+ exitActive: styles$d.exitActive,
1385
+ exitDone: styles$d.exitDone
1177
1386
  },
1178
1387
  timeout: TRANSITION_DURATION$1,
1179
1388
  nodeRef: contentRef,
1180
1389
  unmountOnExit: true,
1181
1390
  mountOnEnter: true,
1182
1391
  children: /* @__PURE__ */ jsxs(Fragment, { children: [
1183
- overlay2 && /* @__PURE__ */ jsx("div", { className: classNames("overamp-slide-out-overlay", styles$c.slideOutOverlay) }),
1392
+ overlay2 && /* @__PURE__ */ jsx("div", { className: classNames("overamp-slide-out-overlay", styles$d.slideOutOverlay) }),
1184
1393
  /* @__PURE__ */ jsx(DismissableLayer, { disableOutsidePointerEvents: modal, asChild: true, ...rest, children: /* @__PURE__ */ jsx(
1185
1394
  Flex$1,
1186
1395
  {
1187
- className: classNames("overmap-slide-out", className, styles$c.outerContent, {
1188
- [styles$c.left]: isSideLeft,
1189
- [styles$c.right]: isSideRight
1396
+ className: classNames("overmap-slide-out", className, styles$d.outerContent, {
1397
+ [styles$d.left]: isSideLeft,
1398
+ [styles$d.right]: isSideRight
1190
1399
  }),
1191
1400
  style: { "--slide-out-width": `${slideOutWidth}px` },
1192
1401
  height: "100%",
@@ -1200,7 +1409,7 @@ const SlideOut = memo(function SlideOut2({
1200
1409
  children: /* @__PURE__ */ jsx(
1201
1410
  Resizable,
1202
1411
  {
1203
- className: styles$c.resizable,
1412
+ className: styles$d.resizable,
1204
1413
  defaultSize: { width: slideOutWidth, height: "100%" },
1205
1414
  onResize: handleResize,
1206
1415
  enable: { right: resizable2 && isSideLeft, left: resizable2 && isSideRight },
@@ -1222,7 +1431,7 @@ const noLeftIcon = "_noLeftIcon_1octa_14";
1222
1431
  const noRightIcon = "_noRightIcon_1octa_18";
1223
1432
  const ghost$1 = "_ghost_1octa_22";
1224
1433
  const charCount$1 = "_charCount_1octa_40";
1225
- const styles$b = {
1434
+ const styles$c = {
1226
1435
  accommodateCharCount,
1227
1436
  wrapper: wrapper$2,
1228
1437
  "default": "_default_1octa_10",
@@ -1249,9 +1458,9 @@ const _Input = forwardRef(function Input2({
1249
1458
  return /* @__PURE__ */ jsxs(
1250
1459
  TextField.Root,
1251
1460
  {
1252
- className: classNames(styles$b.wrapper, className, {
1253
- [styles$b.ghost]: variant === "ghost",
1254
- [styles$b.accommodateCharCount]: displayInputLength
1461
+ className: classNames(styles$c.wrapper, className, {
1462
+ [styles$c.ghost]: variant === "ghost",
1463
+ [styles$c.accommodateCharCount]: displayInputLength
1255
1464
  }),
1256
1465
  size: computedSize,
1257
1466
  variant: variant !== "ghost" ? variant : void 0,
@@ -1261,9 +1470,9 @@ const _Input = forwardRef(function Input2({
1261
1470
  /* @__PURE__ */ jsx(
1262
1471
  TextField.Input,
1263
1472
  {
1264
- className: classNames(styles$b.default, {
1265
- [styles$b.noLeftIcon]: !leftSlot,
1266
- [styles$b.noRightIcon]: !rightSlot
1473
+ className: classNames(styles$c.default, {
1474
+ [styles$c.noLeftIcon]: !leftSlot,
1475
+ [styles$c.noRightIcon]: !rightSlot
1267
1476
  }),
1268
1477
  ref,
1269
1478
  value,
@@ -1274,7 +1483,7 @@ const _Input = forwardRef(function Input2({
1274
1483
  }
1275
1484
  ),
1276
1485
  rightSlot && /* @__PURE__ */ jsx(TextField.Slot, { children: rightSlot }),
1277
- displayInputLength && /* @__PURE__ */ jsx(Text$1, { as: "p", className: styles$b.charCount, size: "1", color: "gray", children: rest.maxLength !== void 0 ? `${valueAsString == null ? void 0 : valueAsString.length}/${rest.maxLength}` : `${valueAsString == null ? void 0 : valueAsString.length}` })
1486
+ displayInputLength && /* @__PURE__ */ jsx(Text$2, { as: "p", className: styles$c.charCount, size: "1", color: "gray", children: rest.maxLength !== void 0 ? `${valueAsString == null ? void 0 : valueAsString.length}/${rest.maxLength}` : `${valueAsString == null ? void 0 : valueAsString.length}` })
1278
1487
  ]
1279
1488
  }
1280
1489
  );
@@ -1290,7 +1499,7 @@ const IconColorUtility = memo(function IconColorUtility2({
1290
1499
  () => ({
1291
1500
  "data-accent-color": severity && severityColor ? severityColor : color ? color : "gray",
1292
1501
  style: {
1293
- color: "var(--accent-a11)"
1502
+ color: "var(--accent-a9)"
1294
1503
  }
1295
1504
  }),
1296
1505
  [color, severity, severityColor]
@@ -1298,7 +1507,7 @@ const IconColorUtility = memo(function IconColorUtility2({
1298
1507
  return cloneElement(children, { ...childProps });
1299
1508
  });
1300
1509
  const wrapper$1 = "_wrapper_tmtz0_1";
1301
- const styles$a = {
1510
+ const styles$b = {
1302
1511
  wrapper: wrapper$1
1303
1512
  };
1304
1513
  const _Popover = forwardRef(function Popover2({ className, trigger, open, onOpenChange, defaultOpen = false, modal = false, children, ...rest }, ref) {
@@ -1308,7 +1517,7 @@ const _Popover = forwardRef(function Popover2({ className, trigger, open, onOpen
1308
1517
  Popover$1.Content,
1309
1518
  {
1310
1519
  ref,
1311
- className: classNames("overmap-popover", className, styles$a.wrapper),
1520
+ className: classNames("overmap-popover", className, styles$b.wrapper),
1312
1521
  ...rest,
1313
1522
  children: children(Popover$1.Close)
1314
1523
  }
@@ -1323,7 +1532,7 @@ const right = "_right_1ssf2_18";
1323
1532
  const resizable = "_resizable_1ssf2_23";
1324
1533
  const resizeHandle = "_resizeHandle_1ssf2_28";
1325
1534
  const panelMainContent = "_panelMainContent_1ssf2_48";
1326
- const styles$9 = {
1535
+ const styles$a = {
1327
1536
  wrapper,
1328
1537
  panelContent,
1329
1538
  left,
@@ -1509,7 +1718,7 @@ const LeftAndRightPanels = memo(function Panels({
1509
1718
  return /* @__PURE__ */ jsxs(
1510
1719
  Flex$1,
1511
1720
  {
1512
- className: styles$9.wrapper,
1721
+ className: styles$a.wrapper,
1513
1722
  style: { minWidth: `${leftMinWidth + rightMinWidth}px` },
1514
1723
  ref: wrapperRef,
1515
1724
  width: "100%",
@@ -1531,7 +1740,7 @@ const LeftAndRightPanels = memo(function Panels({
1531
1740
  Box,
1532
1741
  {
1533
1742
  ref: leftPanelRef,
1534
- className: classNames(styles$9.panelContent, styles$9.left),
1743
+ className: classNames(styles$a.panelContent, styles$a.left),
1535
1744
  style: leftPanelTransitionStyles[state],
1536
1745
  width: "auto",
1537
1746
  height: "100%",
@@ -1540,7 +1749,7 @@ const LeftAndRightPanels = memo(function Panels({
1540
1749
  children: /* @__PURE__ */ jsx(
1541
1750
  Resizable,
1542
1751
  {
1543
- className: styles$9.resizable,
1752
+ className: styles$a.resizable,
1544
1753
  size: {
1545
1754
  width: leftPanelWidth,
1546
1755
  height: "100%"
@@ -1549,7 +1758,7 @@ const LeftAndRightPanels = memo(function Panels({
1549
1758
  enable: { right: (resizeable == null ? void 0 : resizeable.left) !== void 0 ? resizeable.left : true },
1550
1759
  minWidth: leftMinWidth,
1551
1760
  maxWidth: leftPanelMaxWidth,
1552
- handleClasses: { right: classNames(styles$9.resizeHandle, styles$9.left) },
1761
+ handleClasses: { right: classNames(styles$a.resizeHandle, styles$a.left) },
1553
1762
  handleComponent: {
1554
1763
  right: /* @__PURE__ */ jsx(DragHandleDots2Icon, { height: "14px", width: "14px" })
1555
1764
  },
@@ -1560,7 +1769,7 @@ const LeftAndRightPanels = memo(function Panels({
1560
1769
  )
1561
1770
  }
1562
1771
  ),
1563
- /* @__PURE__ */ jsx("div", { className: styles$9.panelMainContent, children }),
1772
+ /* @__PURE__ */ jsx("div", { className: styles$a.panelMainContent, children }),
1564
1773
  /* @__PURE__ */ jsx(
1565
1774
  Transition,
1566
1775
  {
@@ -1574,7 +1783,7 @@ const LeftAndRightPanels = memo(function Panels({
1574
1783
  Box,
1575
1784
  {
1576
1785
  ref: rightPanelRef,
1577
- className: classNames(styles$9.panelContent, styles$9.right),
1786
+ className: classNames(styles$a.panelContent, styles$a.right),
1578
1787
  style: rightPanelTransitionStyles[state],
1579
1788
  width: "auto",
1580
1789
  height: "100%",
@@ -1583,13 +1792,13 @@ const LeftAndRightPanels = memo(function Panels({
1583
1792
  children: /* @__PURE__ */ jsx(
1584
1793
  Resizable,
1585
1794
  {
1586
- className: styles$9.resizable,
1795
+ className: styles$a.resizable,
1587
1796
  size: { width: rightPanelWidth, height: "100%" },
1588
1797
  onResizeStop: handleResizeRightPanel,
1589
1798
  enable: { left: (resizeable == null ? void 0 : resizeable.right) !== void 0 ? resizeable.right : true },
1590
1799
  minWidth: rightMinWidth,
1591
1800
  maxWidth: rightPanelMaxWidth,
1592
- handleClasses: { left: classNames(styles$9.resizeHandle, styles$9.right) },
1801
+ handleClasses: { left: classNames(styles$a.resizeHandle, styles$a.right) },
1593
1802
  handleComponent: { left: /* @__PURE__ */ jsx(DragHandleDots2Icon, { height: "14px", width: "14px" }) },
1594
1803
  children: rightPanel
1595
1804
  }
@@ -1607,7 +1816,7 @@ const pageTitle = "_pageTitle_spfw7_12";
1607
1816
  const buttonContainer = "_buttonContainer_spfw7_17";
1608
1817
  const optionsButtonContainer = "_optionsButtonContainer_spfw7_22";
1609
1818
  const optionsButton = "_optionsButton_spfw7_22";
1610
- const styles$8 = {
1819
+ const styles$9 = {
1611
1820
  multiPagePopover,
1612
1821
  pageTitle,
1613
1822
  buttonContainer,
@@ -1621,7 +1830,7 @@ function getMultiPagePopoverContent(popoverOption, setMultiPagePopoverContent, d
1621
1830
  const optionButtons = popoverOption.options.map((option, i) => /* @__PURE__ */ jsx(
1622
1831
  Button2,
1623
1832
  {
1624
- className: classNames(styles$8.optionsButton, option.buttonClassName),
1833
+ className: classNames(styles$9.optionsButton, option.buttonClassName),
1625
1834
  variant: "ghost",
1626
1835
  radius: "large",
1627
1836
  style: {
@@ -1637,12 +1846,12 @@ function getMultiPagePopoverContent(popoverOption, setMultiPagePopoverContent, d
1637
1846
  `${option.value}-page-${page}-button-${i}`
1638
1847
  ));
1639
1848
  return /* @__PURE__ */ jsxs(Fragment, { children: [
1640
- popoverOption.title && /* @__PURE__ */ jsx("div", { className: styles$8.pageTitle, children: popoverOption.title }),
1849
+ popoverOption.title && /* @__PURE__ */ jsx("div", { className: styles$9.pageTitle, children: popoverOption.title }),
1641
1850
  popoverOption.content,
1642
1851
  /* @__PURE__ */ jsx(
1643
1852
  "div",
1644
1853
  {
1645
- className: classNames(styles$8.optionsButtonContainer, popoverOption.buttonsContainerClassName),
1854
+ className: classNames(styles$9.optionsButtonContainer, popoverOption.buttonsContainerClassName),
1646
1855
  style: {
1647
1856
  flexDirection: direction === "vertical" ? "column" : "row"
1648
1857
  },
@@ -1660,7 +1869,7 @@ const _MultiPagePopover = forwardRef(function MultiPagePopover2({ page, classNam
1660
1869
  return /* @__PURE__ */ jsx(
1661
1870
  Popover,
1662
1871
  {
1663
- className: classNames(styles$8.multiPagePopover, className),
1872
+ className: classNames(styles$9.multiPagePopover, className),
1664
1873
  ref,
1665
1874
  onOpenAutoFocus: resetPopoverContent,
1666
1875
  onCloseAutoFocus: resetPopoverContent,
@@ -1672,7 +1881,7 @@ const _MultiPagePopover = forwardRef(function MultiPagePopover2({ page, classNam
1672
1881
  const MultiPagePopover = React.memo(_MultiPagePopover);
1673
1882
  const charCount = "_charCount_1lz28_1";
1674
1883
  const ghost = "_ghost_1lz28_5";
1675
- const styles$7 = {
1884
+ const styles$8 = {
1676
1885
  charCount,
1677
1886
  ghost
1678
1887
  };
@@ -1708,7 +1917,7 @@ const _TextArea = forwardRef(function TextArea2({
1708
1917
  TextArea$1,
1709
1918
  {
1710
1919
  className: classNames("overmap-textarea", className, {
1711
- [styles$7.ghost]: variant === "ghost"
1920
+ [styles$8.ghost]: variant === "ghost"
1712
1921
  }),
1713
1922
  style: { resize },
1714
1923
  variant: variant !== "ghost" ? variant : void 0,
@@ -1718,7 +1927,7 @@ const _TextArea = forwardRef(function TextArea2({
1718
1927
  ...rest
1719
1928
  }
1720
1929
  ),
1721
- displayInputLength && /* @__PURE__ */ jsx(Text$1, { as: "p", className: styles$7.charCount, color: infoColor, align: "right", children: displayInputLengthValue })
1930
+ displayInputLength && /* @__PURE__ */ jsx(Text$2, { as: "p", className: styles$8.charCount, color: infoColor, align: "right", children: displayInputLengthValue })
1722
1931
  ] });
1723
1932
  });
1724
1933
  const TextArea = memo(_TextArea);
@@ -1764,7 +1973,7 @@ const _ToggleGroup = forwardRef(function ToggleGroup2({
1764
1973
  );
1765
1974
  });
1766
1975
  const ToggleGroup = memo(_ToggleGroup);
1767
- const styles$6 = {
1976
+ const styles$7 = {
1768
1977
  "default": "_default_xqvoc_1"
1769
1978
  };
1770
1979
  const Root2 = memo(
@@ -1772,7 +1981,7 @@ const Root2 = memo(
1772
1981
  return /* @__PURE__ */ jsx(
1773
1982
  Root$2,
1774
1983
  {
1775
- className: classNames(className, "overmap-toolbar", styles$6.default),
1984
+ className: classNames(className, "overmap-toolbar", styles$7.default),
1776
1985
  ref,
1777
1986
  asChild: true,
1778
1987
  ...rest,
@@ -1813,7 +2022,7 @@ const actionButton = "_actionButton_1i6bp_20";
1813
2022
  const ToastRoot = "_ToastRoot_1i6bp_24";
1814
2023
  const slideIn = "_slideIn_1i6bp_1";
1815
2024
  const swipeOut = "_swipeOut_1i6bp_1";
1816
- const styles$5 = {
2025
+ const styles$6 = {
1817
2026
  ToastViewport,
1818
2027
  actionButton,
1819
2028
  ToastRoot,
@@ -1831,7 +2040,7 @@ const _Toast = forwardRef(function Toast2({ title, description, icon, severity =
1831
2040
  },
1832
2041
  [onClose]
1833
2042
  );
1834
- return /* @__PURE__ */ jsx(RadixToast.Root, { asChild: true, ref, ...rest, open, type: sensitivity, onOpenChange: handleOpenChange, children: /* @__PURE__ */ jsx(Callout.Root, { className: styles$5.ToastRoot, variant: "surface", color, size, children: /* @__PURE__ */ jsxs(Flex$1, { width: "100%", align: "center", gap: "4", justify: "between", children: [
2043
+ return /* @__PURE__ */ jsx(RadixToast.Root, { asChild: true, ref, ...rest, open, type: sensitivity, onOpenChange: handleOpenChange, children: /* @__PURE__ */ jsx(Callout.Root, { className: styles$6.ToastRoot, variant: "surface", color, size, children: /* @__PURE__ */ jsxs(Flex$1, { width: "100%", align: "center", gap: "4", justify: "between", children: [
1835
2044
  /* @__PURE__ */ jsxs(Flex$1, { align: "center", gap: "3", children: [
1836
2045
  /* @__PURE__ */ jsx(Callout.Icon, { children: icon }),
1837
2046
  /* @__PURE__ */ jsxs(Flex$1, { direction: "column", gap: "2", children: [
@@ -1839,7 +2048,7 @@ const _Toast = forwardRef(function Toast2({ title, description, icon, severity =
1839
2048
  /* @__PURE__ */ jsx(RadixToast.Title, { asChild: true, children: /* @__PURE__ */ jsx(Callout.Text, { size: "3", weight: "medium", children: title }) }),
1840
2049
  /* @__PURE__ */ jsx(RadixToast.Description, { asChild: true, children: /* @__PURE__ */ jsx(Callout.Text, { children: description }) })
1841
2050
  ] }),
1842
- action && /* @__PURE__ */ jsx(RadixToast.Action, { className: styles$5.actionButton, altText: action.altText, asChild: true, children: action.content })
2051
+ action && /* @__PURE__ */ jsx(RadixToast.Action, { className: styles$6.actionButton, altText: action.altText, asChild: true, children: action.content })
1843
2052
  ] })
1844
2053
  ] }),
1845
2054
  /* @__PURE__ */ jsx(RadixToast.Close, { asChild: true, children: /* @__PURE__ */ jsx(IconButton, { "aria-label": "Close", variant: "ghost", severity, children: /* @__PURE__ */ jsx(Cross2Icon, {}) }) })
@@ -1915,11 +2124,11 @@ const ToastProvider = memo(function ToastContextProvider({
1915
2124
  }, []);
1916
2125
  return /* @__PURE__ */ jsx(ToastContext.Provider, { value: toastContextValue, children: /* @__PURE__ */ jsxs(ToastProvider$1, { ...rest, children: [
1917
2126
  children,
1918
- /* @__PURE__ */ jsx(ToastViewport$1, { className: classNames(className, styles$5.ToastViewport), hotkey }),
2127
+ /* @__PURE__ */ jsx(ToastViewport$1, { className: classNames(className, styles$6.ToastViewport), hotkey }),
1919
2128
  toasts.map(({ id, onClose, ...toastProps }) => /* @__PURE__ */ jsx(Toast, { ...toastProps, onClose: () => handleCloseToast(id, 0, onClose) }, id))
1920
2129
  ] }) });
1921
2130
  });
1922
- const styles$4 = {
2131
+ const styles$5 = {
1923
2132
  "default": "_default_1odpt_1"
1924
2133
  };
1925
2134
  const Tooltip = memo(
@@ -1927,7 +2136,7 @@ const Tooltip = memo(
1927
2136
  return /* @__PURE__ */ jsx(
1928
2137
  Tooltip$1,
1929
2138
  {
1930
- className: classNames("overmap-tooltip", className, styles$4.default),
2139
+ className: classNames("overmap-tooltip", className, styles$5.default),
1931
2140
  ref,
1932
2141
  content: /* @__PURE__ */ jsx(Flex$1, { align: "center", gap: "1", width: "max-content", height: "max-content", justify: "center", children: content }),
1933
2142
  ...rest,
@@ -1937,18 +2146,18 @@ const Tooltip = memo(
1937
2146
  })
1938
2147
  );
1939
2148
  const noWrap = "_noWrap_1wpa5_1";
1940
- const styles$3 = {
2149
+ const styles$4 = {
1941
2150
  noWrap
1942
2151
  };
1943
- const Text = memo(
2152
+ const Text$1 = memo(
1944
2153
  forwardRef(({ className, noWrap: noWrap2, severity, as, ...props }, ref) => {
1945
2154
  const color = useSeverityColor(severity);
1946
2155
  return /* @__PURE__ */ jsx(
1947
- Text$1,
2156
+ Text$2,
1948
2157
  {
1949
2158
  ref,
1950
2159
  as,
1951
- className: classNames(className, { [styles$3.noWrap]: noWrap2 }),
2160
+ className: classNames(className, { [styles$4.noWrap]: noWrap2 }),
1952
2161
  color,
1953
2162
  ...props
1954
2163
  }
@@ -1962,6 +2171,60 @@ const DefaultTheme = memo(
1962
2171
  return /* @__PURE__ */ jsx(Theme, { panelBackground, radius: radius2, ref, ...rest });
1963
2172
  })
1964
2173
  );
2174
+ const light = "_light_1u8fs_1";
2175
+ const bold = "_bold_1u8fs_8";
2176
+ const full = "_full_1u8fs_15";
2177
+ const Text = "_Text_1u8fs_22";
2178
+ const styles$3 = {
2179
+ light,
2180
+ bold,
2181
+ full,
2182
+ Text
2183
+ };
2184
+ const SeparatorSizeMapping = {
2185
+ "1": "max-content",
2186
+ "2": "max-content",
2187
+ "3": "max-content",
2188
+ "4": "100%"
2189
+ };
2190
+ const _Separator = forwardRef(function Separator2({
2191
+ className,
2192
+ severity = "info",
2193
+ textWeight = "light",
2194
+ gap = "1",
2195
+ text,
2196
+ orientation = "horizontal",
2197
+ size,
2198
+ weight = "medium",
2199
+ ...rest
2200
+ }, ref) {
2201
+ const computedSizing = useResponsiveMapping(size, SeparatorSizeMapping);
2202
+ const severityColor = useSeverityColor(severity);
2203
+ return /* @__PURE__ */ jsxs(
2204
+ Flex$1,
2205
+ {
2206
+ className: classNames("overmap-separator", className, {
2207
+ [styles$3.light]: weight === "light",
2208
+ [styles$3.bold]: weight === "bold",
2209
+ [styles$3.full]: weight === "full"
2210
+ }),
2211
+ ref,
2212
+ width: orientation === "horizontal" ? computedSizing : "max-content",
2213
+ height: orientation === "vertical" ? computedSizing : "max-content",
2214
+ direction: orientation === "vertical" ? "column" : "row",
2215
+ align: "center",
2216
+ gap,
2217
+ children: [
2218
+ /* @__PURE__ */ jsx(Separator$1, { size, orientation, color: severityColor, ...rest }),
2219
+ text && /* @__PURE__ */ jsxs(Fragment, { children: [
2220
+ /* @__PURE__ */ jsx(Text$2, { className: styles$3.Text, as: "span", size: "1", weight: textWeight, color: severityColor, children: text }),
2221
+ /* @__PURE__ */ jsx(Separator$1, { size, orientation, color: severityColor, ...rest })
2222
+ ] })
2223
+ ]
2224
+ }
2225
+ );
2226
+ });
2227
+ const Separator = memo(_Separator);
1965
2228
  function _extends() {
1966
2229
  _extends = Object.assign ? Object.assign.bind() : function(target) {
1967
2230
  for (var i = 1; i < arguments.length; i++) {
@@ -2840,9 +3103,6 @@ const _Table = forwardRef(function Table2(props, ref) {
2840
3103
  const tableSelect = useRowSelect(
2841
3104
  tableData,
2842
3105
  {
2843
- // Don't know what the type is for these parameters. Not specified in the React Table Library docs
2844
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
2845
- // @ts-ignore
2846
3106
  onChange: (_action, state) => {
2847
3107
  setSelected(state.ids);
2848
3108
  }
@@ -2992,8 +3252,8 @@ const _Table = forwardRef(function Table2(props, ref) {
2992
3252
  }, [rowsPerPage, rows.length, numRowsPerPage, pagination, showPageNavigation]);
2993
3253
  return /* @__PURE__ */ jsxs("div", { className: classNames({ [styles$1.tableContainer]: showContainer }), children: [
2994
3254
  (!!title || !!description) && /* @__PURE__ */ jsxs("div", { className: styles$1.headerContainer, children: [
2995
- !!title && /* @__PURE__ */ jsx(Text, { weight: "bold", size: "7", children: title }),
2996
- !!description && /* @__PURE__ */ jsx(Text, { as: "div", children: description })
3255
+ !!title && /* @__PURE__ */ jsx(Text$1, { weight: "bold", size: "7", children: title }),
3256
+ !!description && /* @__PURE__ */ jsx(Text$1, { as: "div", children: description })
2997
3257
  ] }),
2998
3258
  showTopBar && /* @__PURE__ */ jsxs(Flex$1, { justify: "between", className: styles$1.tableTopContainer, children: [
2999
3259
  /* @__PURE__ */ jsxs(Flex$1, { gap: "2", children: [
@@ -3077,7 +3337,7 @@ const _Table = forwardRef(function Table2(props, ref) {
3077
3337
  cellClassName,
3078
3338
  row[column.id].className
3079
3339
  ),
3080
- children: /* @__PURE__ */ jsx(Text, { children: row[column.id].label })
3340
+ children: /* @__PURE__ */ jsx(Text$1, { children: row[column.id].label })
3081
3341
  },
3082
3342
  i
3083
3343
  ))
@@ -3303,67 +3563,46 @@ const _ConfirmEditInput = forwardRef(function ConfirmEditInput2({
3303
3563
  });
3304
3564
  const ConfirmEditInput = React.memo(_ConfirmEditInput);
3305
3565
  export {
3306
- AccessibleIcon,
3307
3566
  AlertDialog,
3308
3567
  AlertDialogContent,
3309
3568
  AlertDialogProvider,
3310
- AspectRatio,
3311
- Avatar,
3312
3569
  Badge,
3313
- Blockquote,
3314
- Box2 as Box,
3315
3570
  Breadcrumb,
3316
3571
  Button2 as Button,
3317
3572
  ButtonGroup,
3318
3573
  ButtonList,
3319
- Callout2 as Callout,
3320
- Card2 as Card,
3321
3574
  Checkbox,
3322
- Code,
3323
3575
  ConfirmEditInput,
3324
- Container,
3325
- ContextMenu,
3326
3576
  DefaultTheme,
3327
3577
  Dialog,
3578
+ DropdownItemMenu,
3328
3579
  DropdownMenu,
3580
+ DropdownMenuItemGroup,
3581
+ DropdownMenuMultiSelectGroup,
3582
+ DropdownMenuSelectGroup,
3583
+ DropdownMenuSubMenuGroup,
3584
+ DropdownMultiSelect,
3329
3585
  DropdownSelect,
3330
- Em,
3331
3586
  Flex,
3332
- Grid,
3333
- Heading,
3334
- HoverCard,
3335
3587
  HoverUtility,
3336
3588
  IconButton,
3337
3589
  IconColorUtility,
3338
3590
  Input,
3339
- Inset2 as Inset,
3340
- Kbd,
3341
3591
  LeftAndRightPanels,
3342
- Link2 as Link,
3343
3592
  MultiPagePopover,
3344
3593
  MultiSelect,
3345
3594
  Popover,
3346
- Portal2 as Portal,
3347
- Quote,
3348
- RadioGroup,
3349
3595
  Root2 as Root,
3350
- ScrollArea,
3351
- Section,
3352
3596
  Select,
3353
3597
  SelectAllCheckbox,
3354
3598
  Separator,
3355
3599
  Sidebar,
3356
3600
  SlideOut,
3357
- Slider,
3358
- Slot,
3359
3601
  Spinner,
3360
- Strong,
3361
3602
  Switch,
3362
3603
  Table,
3363
- Tabs,
3364
- Text,
3604
+ Text$1 as Text,
3365
3605
  TextArea,
3366
- TextField2 as TextField,
3367
3606
  Theme2 as Theme,
3368
3607
  Toast,
3369
3608
  ToastContext,
@@ -3371,15 +3610,18 @@ export {
3371
3610
  ToggleGroup,
3372
3611
  Toolbar,
3373
3612
  Tooltip,
3374
- VisuallyHidden,
3375
3613
  divButtonProps,
3376
3614
  unsafeShowToast,
3377
3615
  updateThemeAppearanceClass,
3378
3616
  useAlertDialog,
3379
3617
  useDiscardAlertDialog,
3618
+ useKeyboardShortcut,
3380
3619
  useSeverityColor,
3620
+ useStopEventPropagation,
3621
+ useTextFilter,
3381
3622
  useThemeContext2 as useThemeContext,
3382
3623
  useToast,
3383
- useViewportSize
3624
+ useViewportSize,
3625
+ useWrapCallbackInDialogClose
3384
3626
  };
3385
3627
  //# sourceMappingURL=blocks.js.map