@overmap-ai/blocks 1.0.25-alpha.0 → 1.0.25-alpha.2

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 (33) hide show
  1. package/dist/Badge/index.d.ts +1 -1
  2. package/dist/BaseMenuGroups/BaseItemGroup/index.d.ts +1 -1
  3. package/dist/BaseMenuGroups/BaseMultiSelectGroup/index.d.ts +1 -1
  4. package/dist/BaseMenuGroups/BaseSelectGroup/index.d.ts +1 -1
  5. package/dist/BaseMenuGroups/BaseSubMenuGroup/index.d.ts +1 -1
  6. package/dist/BaseMenuGroups/index.d.ts +1 -1
  7. package/dist/Buttons/index.d.ts +4 -4
  8. package/dist/ContextActionMenu/ContextActionMenu.d.ts +8 -0
  9. package/dist/ContextActionMenu/index.d.ts +1 -0
  10. package/dist/ContextMenu/ContextMenuGroups.d.ts +6 -0
  11. package/dist/ContextMenu/Root.d.ts +24 -0
  12. package/dist/ContextMenu/index.d.ts +9 -0
  13. package/dist/ContextMultiSelectMenu/ContextMultiSelectMenu.d.ts +9 -0
  14. package/dist/ContextMultiSelectMenu/index.d.ts +1 -0
  15. package/dist/ContextSelectMenu/ContextSelectMenu.d.ts +9 -0
  16. package/dist/ContextSelectMenu/index.d.ts +1 -0
  17. package/dist/DropdownItemMenu/index.d.ts +0 -1
  18. package/dist/DropdownMenu/index.d.ts +1 -3
  19. package/dist/DropdownMultiSelect/index.d.ts +0 -1
  20. package/dist/DropdownSelect/index.d.ts +1 -2
  21. package/dist/Popover/index.d.ts +1 -0
  22. package/dist/Select/index.d.ts +1 -1
  23. package/dist/Separator/index.d.ts +1 -1
  24. package/dist/SlideOutV3/SlideOutV3.d.ts +6 -1
  25. package/dist/Switch/index.d.ts +1 -1
  26. package/dist/TextArea/index.d.ts +1 -1
  27. package/dist/ToggleGroup/index.d.ts +1 -1
  28. package/dist/blocks.js +169 -19
  29. package/dist/blocks.js.map +1 -1
  30. package/dist/blocks.umd.cjs +166 -16
  31. package/dist/blocks.umd.cjs.map +1 -1
  32. package/dist/index.d.ts +4 -0
  33. package/package.json +1 -1
@@ -1,2 +1,2 @@
1
1
  export * from "./Badge";
2
- export * from "./typings.ts";
2
+ export * from "./typings";
@@ -1,2 +1,2 @@
1
1
  export * from "./BaseItemGroup";
2
- export type { BaseItemProps, BaseItemGroupProps, BaseItemGroupElementProps } from "./typings.ts";
2
+ export type { BaseItemProps, BaseItemGroupProps, BaseItemGroupElementProps } from "./typings";
@@ -1,2 +1,2 @@
1
1
  export * from "./BaseMultiSelectGroup";
2
- export type { BaseMultiSelectItemProps, BaseMultiSelectGroupProps, BaseMultiSelectGroupElementProps, } from "./typings.ts";
2
+ export * from "./typings";
@@ -1,2 +1,2 @@
1
1
  export * from "./BaseSelectGroup";
2
- export type { BaseSelectItemProps, BaseSelectGroupProps, BaseSelectGroupElementProps } from "./typings.ts";
2
+ export * from "./typings";
@@ -1,2 +1,2 @@
1
1
  export * from "./BaseSubMenuGroup";
2
- export type { BaseSubMenuGroupProps, BaseSubMenuItemProps, BaseSubMenuGroupElementProps } from "./typings.ts";
2
+ export * from "./typings";
@@ -2,4 +2,4 @@ export * from "./BaseItemGroup";
2
2
  export * from "./BaseSelectGroup";
3
3
  export * from "./BaseMultiSelectGroup";
4
4
  export * from "./BaseSubMenuGroup";
5
- export type { TextFilterProps, BaseMenuProps } from "./typings.ts";
5
+ export * from "./typings";
@@ -1,4 +1,4 @@
1
- export { default as Button } from "./Button.tsx";
2
- export { default as IconButton } from "./IconButton.tsx";
3
- export type { ButtonHoverEffect } from "./typings.ts";
4
- export { divButtonProps } from "./constants.ts";
1
+ export { default as Button } from "./Button";
2
+ export { default as IconButton } from "./IconButton";
3
+ export type { ButtonHoverEffect } from "./typings";
4
+ export { divButtonProps } from "./constants";
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import { ContextMenuRootProps } from "../ContextMenu";
3
+ import { BaseItemGroupProps } from "../BaseMenuGroups";
4
+ export type ContextActionMenuProps = Omit<ContextMenuRootProps, "content"> & BaseItemGroupProps;
5
+ /** Creates a Context Menu containing "action" items only. Its desired use is for displaying a list of actions that need to be
6
+ * rendered within a Context Menu that appears upon right-clicking within its trigger element.
7
+ * It is a wrapper around the ContextMenu API's Root and ItemGroup components. */
8
+ export declare const ContextActionMenu: import("react").MemoExoticComponent<(props: ContextActionMenuProps) => import("react/jsx-runtime").JSX.Element>;
@@ -0,0 +1 @@
1
+ export * from "./ContextActionMenu";
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ import { BaseItemGroupProps, BaseMultiSelectGroupProps, BaseSelectGroupProps, BaseSubMenuGroupProps } from "../BaseMenuGroups";
3
+ export declare const ActionItemGroup: import("react").MemoExoticComponent<(props: BaseItemGroupProps) => import("react/jsx-runtime").JSX.Element>;
4
+ export declare const SelectItemGroup: import("react").MemoExoticComponent<(props: BaseSelectGroupProps) => import("react/jsx-runtime").JSX.Element>;
5
+ export declare const MultiSelectItemGroup: import("react").MemoExoticComponent<(props: BaseMultiSelectGroupProps) => import("react/jsx-runtime").JSX.Element>;
6
+ export declare const SubItemGroup: import("react").MemoExoticComponent<(props: BaseSubMenuGroupProps) => import("react/jsx-runtime").JSX.Element>;
@@ -0,0 +1,24 @@
1
+ import { PropsWithChildren, ReactNode } from "react";
2
+ import { ContextMenuContentProps, ContextMenuProps } from "@radix-ui/react-context-menu";
3
+ export interface ContextMenuRootProps extends PropsWithChildren, Omit<ContextMenuContentProps, "color" | "content"> {
4
+ /** used to disable the Context Menu from appearing on right click within its trigger element.
5
+ * @default false
6
+ * */
7
+ disabled?: boolean;
8
+ /** used to disable pointer events outside the Context Menu when its open.
9
+ * @default false
10
+ * */
11
+ modal?: ContextMenuProps["modal"];
12
+ /** content to be displayed within the Context Menu.
13
+ * The following components are recommended:
14
+ * ContextMenu.ItemGroup
15
+ * ContextMenu.SelectGroup
16
+ * ContextMenu.MultiSelectGroup
17
+ * ContextMenu.SubMenuGroup
18
+ * */
19
+ content: ReactNode;
20
+ }
21
+ /** The Root component of the ContextMenu API is simply used to render a popover when right-clicking within the
22
+ * Context Menu's trigger. Its content can be completely customized using the ```content``` prop.
23
+ * */
24
+ export declare const Root: import("react").MemoExoticComponent<(props: ContextMenuRootProps) => import("react/jsx-runtime").JSX.Element>;
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ export type { ContextMenuRootProps } from "./Root";
3
+ export declare const ContextMenu: {
4
+ Root: import("react").MemoExoticComponent<(props: import("./Root.tsx").ContextMenuRootProps) => import("react/jsx-runtime").JSX.Element>;
5
+ ActionItemGroup: import("react").MemoExoticComponent<(props: import("../BaseMenuGroups/index.ts").BaseItemGroupProps) => import("react/jsx-runtime").JSX.Element>;
6
+ SelectItemGroup: import("react").MemoExoticComponent<(props: import("../BaseMenuGroups/index.ts").BaseSelectGroupProps) => import("react/jsx-runtime").JSX.Element>;
7
+ MultiSelectItemGroup: import("react").MemoExoticComponent<(props: import("../BaseMenuGroups/index.ts").BaseMultiSelectGroupProps) => import("react/jsx-runtime").JSX.Element>;
8
+ SubItemGroup: import("react").MemoExoticComponent<(props: import("../BaseMenuGroups/index.ts").BaseSubMenuGroupProps) => import("react/jsx-runtime").JSX.Element>;
9
+ };
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ import { ContextMenuRootProps } from "../ContextMenu";
3
+ import { BaseMultiSelectGroupProps } from "../BaseMenuGroups";
4
+ export type ContextMultiSelectMenuProps = Omit<ContextMenuRootProps, "content"> & BaseMultiSelectGroupProps;
5
+ /** Creates a Context Menu displaying a list of items to select from.
6
+ * Its desired use is for displaying a list of options, where multiple items can be selected at a time,
7
+ * within a Context Menu that appears upon right-clicking within its trigger element.
8
+ * It is a wrapper around the ContextMenu API's Root and MultiSelect components. */
9
+ export declare const ContextMultiSelectMenu: import("react").MemoExoticComponent<(props: ContextMultiSelectMenuProps) => import("react/jsx-runtime").JSX.Element>;
@@ -0,0 +1 @@
1
+ export * from "./ContextMultiSelectMenu";
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ import { ContextMenuRootProps } from "../ContextMenu";
3
+ import { BaseSelectGroupProps } from "../BaseMenuGroups";
4
+ export type ContextSelectMenuProps = Omit<ContextMenuRootProps, "content"> & BaseSelectGroupProps;
5
+ /** Creates a Context Menu displaying a list of items to select from.
6
+ * Its desired use is for displaying a list of options, where only one can be selected at a time,
7
+ * within a Context Menu that appears upon right-clicking within its trigger element.
8
+ * It is a wrapper around the ContextMenu API's Root and SelectGroup components. */
9
+ export declare const ContextSelectMenu: import("react").MemoExoticComponent<(props: ContextSelectMenuProps) => import("react/jsx-runtime").JSX.Element>;
@@ -0,0 +1 @@
1
+ export * from "./ContextSelectMenu";
@@ -1,2 +1 @@
1
1
  export * from "./DropdownItemMenu";
2
- export type { DropdownItemMenuProps, DropdownItemMenuItemProps } from "./DropdownItemMenu";
@@ -1,4 +1,2 @@
1
- export { DropdownMenu } from "./DropdownMenu";
2
- export type { DropdownMenuProps, DropdownMenuItemProps } from "./DropdownMenu";
1
+ export * from "./DropdownMenu";
3
2
  export * from "./DropdownMenuGroups";
4
- export type { DropdownMenuItemGroupProps, DropdownMenuItemGroupItemProps, DropdownMenuSelectGroupProps, DropdownMenuSelectGroupItemProps, DropdownMenuMultiSelectGroupProps, DropdownMenuMultiSelectGroupItemProps, DropdownMenuSubMenuGroupProps, DropdownMenuSubMenuGroupItemProps, } from "./DropdownMenuGroups.tsx";
@@ -1,2 +1 @@
1
1
  export * from "./DropdownMultiSelect";
2
- export type { DropdownMultiSelectProps, DropdownMultiSelectItemProps } from "./DropdownMultiSelect";
@@ -1,2 +1 @@
1
- export { DropdownSelect } from "./DropdownSelect";
2
- export type { DropdownSelectProps, DropdownSelectItemProps } from "./DropdownSelect";
1
+ export * from "./DropdownSelect";
@@ -1 +1,2 @@
1
1
  export * from "./Popover";
2
+ export * from "./typings";
@@ -1,2 +1,2 @@
1
1
  export * from "./Select";
2
- export * from "./typings.ts";
2
+ export * from "./typings";
@@ -1,2 +1,2 @@
1
1
  export * from "./Separator";
2
- export * from "./typings.ts";
2
+ export * from "./typings";
@@ -8,6 +8,11 @@ export interface SlideOutV3Props extends PropsWithChildren, PropsWithClassNameAn
8
8
  * to the SlideOut component as well.
9
9
  * @default false */
10
10
  modal?: boolean;
11
+ /** hides the SlideOut and its overlay but doesn't change the open state of the SlideOut. Should be used if
12
+ * the SlideOut needs to be hidden for some reason but not triggering a close
13
+ * @default false
14
+ * */
15
+ hide?: boolean;
11
16
  /** The side the SlideOut should position on and "slide-in" from */
12
17
  side: "left" | "right";
13
18
  /** controls if the SlideOut can be resized by the user
@@ -38,7 +43,7 @@ export interface SlideOutV3Props extends PropsWithChildren, PropsWithClassNameAn
38
43
  /** overlay to be rendered when the SlideOut is open*/
39
44
  overlayComponent?: ReactNode;
40
45
  /** content to be rendered within the SlideOut */
41
- content: ReactNode | undefined;
46
+ content: ReactNode | null;
42
47
  }
43
48
  /** The SlideOut component is a UI element that allows you to create a slide-in/slide-out effect for content within
44
49
  * your application. It provides a smooth transition animation for revealing and hiding content. */
@@ -1,2 +1,2 @@
1
1
  export * from "./Switch";
2
- export * from "./typings.ts";
2
+ export * from "./typings";
@@ -1,2 +1,2 @@
1
1
  export * from "./TextArea";
2
- export * from "./typings.ts";
2
+ export * from "./typings";
@@ -1,2 +1,2 @@
1
1
  export * from "./ToggleGroup";
2
- export * from "./typings.ts";
2
+ export * from "./typings";
package/dist/blocks.js CHANGED
@@ -1,9 +1,10 @@
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, 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";
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";
3
3
  import { Theme as Theme2, updateThemeAppearanceClass, useThemeContext as useThemeContext2 } from "@radix-ui/themes";
4
4
  import React, { useMemo, useState, useLayoutEffect, useCallback, useEffect, Children, isValidElement, forwardRef, memo, createContext, useContext, cloneElement, createElement, useRef, useReducer } from "react";
5
5
  import { useMediaQuery } from "react-responsive";
6
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 RadixContextMenu from "@radix-ui/react-context-menu";
7
8
  import * as RadixDropdownMenu from "@radix-ui/react-dropdown-menu";
8
9
  import { isMobile } from "react-device-detect";
9
10
  import * as RadixDialogPrimitive from "@radix-ui/react-dialog";
@@ -12,8 +13,8 @@ import { CSSTransition, Transition } from "react-transition-group";
12
13
  import ReactDOM, { flushSync } from "react-dom";
13
14
  import { Slot } from "@radix-ui/react-slot";
14
15
  import { DismissableLayer } from "@radix-ui/react-dismissable-layer";
15
- import { Root as Root$2, Item as Item$1 } from "@radix-ui/react-toggle-group";
16
- import { Root as Root$3 } from "@radix-ui/react-toolbar";
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";
17
18
  import * as RadixToast from "@radix-ui/react-toast";
18
19
  import { ToastProvider as ToastProvider$1, ToastViewport as ToastViewport$1 } from "@radix-ui/react-toast";
19
20
  import { useErrorBoundary, ErrorBoundary } from "react-error-boundary";
@@ -661,15 +662,6 @@ const useDiscardAlertDialog = () => {
661
662
  [openAlertDialog]
662
663
  );
663
664
  };
664
- const DropdownMenu = memo(
665
- forwardRef(({ trigger, disabled: disabled2, children, ...rest }) => {
666
- const infoColor = useSeverityColor("info");
667
- return /* @__PURE__ */ jsxs(DropdownMenu$1.Root, { children: [
668
- /* @__PURE__ */ jsx(DropdownMenu$1.Trigger, { disabled: disabled2, children: trigger }),
669
- /* @__PURE__ */ jsx(DropdownMenu$1.Content, { variant: "soft", ...rest, color: infoColor, children })
670
- ] });
671
- })
672
- );
673
665
  const BaseMenuItem$1 = "_BaseMenuItem_5r3et_1";
674
666
  const RemoveOutline = "_RemoveOutline_5r3et_15";
675
667
  const BaseMenuSeparator$1 = "_BaseMenuSeparator_5r3et_19";
@@ -691,9 +683,9 @@ const BaseMenuItem = memo(
691
683
  px: "2",
692
684
  height: "6",
693
685
  ...rest,
694
- children: /* @__PURE__ */ jsxs(Flex, { gap: "6", height: "100%", align: "center", children: [
686
+ children: /* @__PURE__ */ jsxs(Flex, { gap: "6", height: "100%", align: "center", justify: "between", children: [
695
687
  /* @__PURE__ */ jsx(Flex, { grow: "1", height: "100%", align: "center", gap: "1", children }),
696
- /* @__PURE__ */ jsx(Flex, { height: "100%", width: "4", align: "center", justify: "end", children: rightSlot })
688
+ !!rightSlot && /* @__PURE__ */ jsx(Flex, { height: "100%", width: "4", align: "center", justify: "end", children: rightSlot })
697
689
  ] })
698
690
  }
699
691
  );
@@ -948,6 +940,150 @@ const BaseSubMenuGroup = memo(function BaseSubMenuGroup2({
948
940
  separator && /* @__PURE__ */ jsx(BaseMenuSeparator, {})
949
941
  ] });
950
942
  });
943
+ const ActionItemGroup = memo((props) => {
944
+ return /* @__PURE__ */ jsx(BaseItemGroup, { ...props, groupElement: RadixContextMenu.Group, itemElement: RadixContextMenu.Item });
945
+ });
946
+ ActionItemGroup.displayName = "ActionItemGroup";
947
+ const SelectItemGroup = memo((props) => {
948
+ return /* @__PURE__ */ jsx(
949
+ BaseSelectGroup,
950
+ {
951
+ ...props,
952
+ groupElement: RadixContextMenu.Group,
953
+ itemElement: RadixContextMenu.CheckboxItem,
954
+ itemIndicatorElement: RadixContextMenu.ItemIndicator
955
+ }
956
+ );
957
+ });
958
+ SelectItemGroup.displayName = "SelectItemGroup";
959
+ const MultiSelectItemGroup = memo((props) => {
960
+ return /* @__PURE__ */ jsx(
961
+ BaseMultiSelectGroup,
962
+ {
963
+ ...props,
964
+ groupElement: RadixContextMenu.Group,
965
+ itemElement: RadixContextMenu.CheckboxItem,
966
+ itemIndicatorElement: RadixContextMenu.ItemIndicator
967
+ }
968
+ );
969
+ });
970
+ MultiSelectItemGroup.displayName = "MultiSelectItemGroup";
971
+ const SubItemGroup = memo((props) => {
972
+ return /* @__PURE__ */ jsx(
973
+ BaseSubMenuGroup,
974
+ {
975
+ ...props,
976
+ groupElement: RadixContextMenu.Group,
977
+ subElement: ContextMenu$1.Sub,
978
+ subTriggerElement: RadixContextMenu.SubTrigger,
979
+ subContentElement: ContextMenu$1.Content
980
+ }
981
+ );
982
+ });
983
+ SubItemGroup.displayName = "SubItemGroup";
984
+ const Root$2 = memo((props) => {
985
+ const { disabled: disabled2 = false, children, modal = false, content, ...rest } = props;
986
+ const infoColor = useSeverityColor("info");
987
+ return /* @__PURE__ */ jsxs(ContextMenu$1.Root, { modal, children: [
988
+ /* @__PURE__ */ jsx(ContextMenu$1.Trigger, { disabled: disabled2, children }),
989
+ /* @__PURE__ */ jsx(ContextMenu$1.Content, { variant: "soft", color: infoColor, ...rest, children: content })
990
+ ] });
991
+ });
992
+ Root$2.displayName = "ContextMenuRoot";
993
+ const ContextMenu = {
994
+ Root: Root$2,
995
+ ActionItemGroup,
996
+ SelectItemGroup,
997
+ MultiSelectItemGroup,
998
+ SubItemGroup
999
+ };
1000
+ const ContextActionMenu = memo((props) => {
1001
+ const { items, placeholder, filterValue, onFilterValueChange, closeOnSelect = false, icons, ...rest } = props;
1002
+ const content = useMemo(() => {
1003
+ return /* @__PURE__ */ jsx(
1004
+ ContextMenu.ActionItemGroup,
1005
+ {
1006
+ items,
1007
+ icons,
1008
+ placeholder,
1009
+ filterValue,
1010
+ closeOnSelect,
1011
+ onFilterValueChange
1012
+ }
1013
+ );
1014
+ }, [closeOnSelect, filterValue, icons, items, onFilterValueChange, placeholder]);
1015
+ return /* @__PURE__ */ jsx(ContextMenu.Root, { content, ...rest });
1016
+ });
1017
+ ContextActionMenu.displayName = "ContextActionMenu";
1018
+ const ContextMultiSelectMenu = memo((props) => {
1019
+ const {
1020
+ items,
1021
+ values,
1022
+ onValueChange,
1023
+ placeholder,
1024
+ filterValue,
1025
+ onFilterValueChange,
1026
+ closeOnSelect = false,
1027
+ icons,
1028
+ ...rest
1029
+ } = props;
1030
+ const content = useMemo(() => {
1031
+ return /* @__PURE__ */ jsx(
1032
+ ContextMenu.MultiSelectItemGroup,
1033
+ {
1034
+ items,
1035
+ icons,
1036
+ values,
1037
+ placeholder,
1038
+ filterValue,
1039
+ closeOnSelect,
1040
+ onValueChange,
1041
+ onFilterValueChange
1042
+ }
1043
+ );
1044
+ }, [closeOnSelect, filterValue, icons, items, onFilterValueChange, onValueChange, placeholder, values]);
1045
+ return /* @__PURE__ */ jsx(ContextMenu.Root, { content, ...rest });
1046
+ });
1047
+ ContextMultiSelectMenu.displayName = "ContextMultiSelectMenu";
1048
+ const ContextSelectMenu = memo((props) => {
1049
+ const {
1050
+ items,
1051
+ value,
1052
+ onValueChange,
1053
+ placeholder,
1054
+ filterValue,
1055
+ onFilterValueChange,
1056
+ closeOnSelect = false,
1057
+ icons,
1058
+ ...rest
1059
+ } = props;
1060
+ const content = useMemo(() => {
1061
+ return /* @__PURE__ */ jsx(
1062
+ ContextMenu.SelectItemGroup,
1063
+ {
1064
+ items,
1065
+ icons,
1066
+ value,
1067
+ placeholder,
1068
+ filterValue,
1069
+ closeOnSelect,
1070
+ onValueChange,
1071
+ onFilterValueChange
1072
+ }
1073
+ );
1074
+ }, [closeOnSelect, filterValue, icons, items, onFilterValueChange, onValueChange, placeholder, value]);
1075
+ return /* @__PURE__ */ jsx(ContextMenu.Root, { content, ...rest });
1076
+ });
1077
+ ContextSelectMenu.displayName = "ContextSelectMenu";
1078
+ const DropdownMenu = memo(
1079
+ forwardRef(({ trigger, disabled: disabled2, children, ...rest }) => {
1080
+ const infoColor = useSeverityColor("info");
1081
+ return /* @__PURE__ */ jsxs(DropdownMenu$1.Root, { children: [
1082
+ /* @__PURE__ */ jsx(DropdownMenu$1.Trigger, { disabled: disabled2, children: trigger }),
1083
+ /* @__PURE__ */ jsx(DropdownMenu$1.Content, { variant: "soft", ...rest, color: infoColor, children })
1084
+ ] });
1085
+ })
1086
+ );
951
1087
  const DropdownMenuItemGroup = memo(function DropdownMenuItemGroup2(props) {
952
1088
  return /* @__PURE__ */ jsx(BaseItemGroup, { ...props, itemElement: RadixDropdownMenu.Item, groupElement: RadixDropdownMenu.Group });
953
1089
  });
@@ -1511,6 +1647,7 @@ const SlideOutV3 = memo(
1511
1647
  style,
1512
1648
  children,
1513
1649
  open,
1650
+ hide = false,
1514
1651
  modal = false,
1515
1652
  overlayComponent,
1516
1653
  resizeable = true,
@@ -1661,13 +1798,22 @@ const SlideOutV3 = memo(
1661
1798
  position: "relative",
1662
1799
  style: { overflow: "hidden", maxWidth: "100%", maxHeight: "100%" },
1663
1800
  children: [
1664
- side === "left" && /* @__PURE__ */ jsxs(Fragment, { children: [
1801
+ side === "left" && !hide && /* @__PURE__ */ jsxs(Fragment, { children: [
1665
1802
  open && overlayComponent,
1666
1803
  " ",
1667
1804
  content && SlideOut2
1668
1805
  ] }),
1669
- /* @__PURE__ */ jsx(Flex$1, { ref: childrenContainerRef, grow: "1", height: "100%", style: { maxWidth: "100%" }, children }),
1670
- side === "right" && /* @__PURE__ */ jsxs(Fragment, { children: [
1806
+ /* @__PURE__ */ jsx(
1807
+ Flex$1,
1808
+ {
1809
+ ref: childrenContainerRef,
1810
+ grow: "1",
1811
+ height: "100%",
1812
+ style: { maxWidth: "100%", maxHeight: "100%", overflow: "hidden" },
1813
+ children
1814
+ }
1815
+ ),
1816
+ side === "right" && !hide && /* @__PURE__ */ jsxs(Fragment, { children: [
1671
1817
  open && overlayComponent,
1672
1818
  " ",
1673
1819
  content && SlideOut2
@@ -2449,7 +2595,7 @@ const _ToggleGroup = forwardRef(function ToggleGroup2({
2449
2595
  ...rest
2450
2596
  }, ref) {
2451
2597
  return /* @__PURE__ */ jsx(
2452
- Root$2,
2598
+ Root$3,
2453
2599
  {
2454
2600
  type,
2455
2601
  className: classNames("overmap-toggle-group", className),
@@ -2481,7 +2627,7 @@ const styles$7 = {
2481
2627
  const Root2 = memo(
2482
2628
  forwardRef(({ className, minContentGap = "2", children, ...rest }, ref) => {
2483
2629
  return /* @__PURE__ */ jsx(
2484
- Root$3,
2630
+ Root$4,
2485
2631
  {
2486
2632
  className: classNames(className, "overmap-toolbar", styles$7.default),
2487
2633
  ref,
@@ -4100,6 +4246,10 @@ export {
4100
4246
  ButtonList,
4101
4247
  Checkbox,
4102
4248
  ConfirmEditInput,
4249
+ ContextActionMenu,
4250
+ ContextMenu,
4251
+ ContextMultiSelectMenu,
4252
+ ContextSelectMenu,
4103
4253
  DefaultTheme,
4104
4254
  Dialog,
4105
4255
  DropdownItemMenu,