@overmap-ai/blocks 1.0.28 → 1.0.29-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/README.md +3 -3
  2. package/dist/DialogMenu/components/DialogCommandMenu.d.ts +1 -1
  3. package/dist/DialogMenu/components/DialogMultiSelectMenu.d.ts +1 -1
  4. package/dist/DialogMenu/components/DialogSelectMenu.d.ts +1 -1
  5. package/dist/DialogMenu/root/Root.d.ts +1 -1
  6. package/dist/ItemStack/Group.d.ts +9 -0
  7. package/dist/ItemStack/Item.d.ts +4 -0
  8. package/dist/OvermapDropdownMenu/DropdownMenu.d.ts +8 -0
  9. package/dist/OvermapDropdownMenu/index.d.ts +1 -0
  10. package/dist/OvermapDropdownMultiSelect/DropdownMultiSelect.d.ts +8 -0
  11. package/dist/OvermapDropdownMultiSelect/index.d.ts +1 -0
  12. package/dist/OvermapDropdownSelect/DropdownSelect.d.ts +8 -0
  13. package/dist/OvermapDropdownSelect/index.d.ts +1 -0
  14. package/dist/OvermapMenu/ClickTrigger/ClickTrigger.d.ts +3 -0
  15. package/dist/OvermapMenu/ClickTrigger/index.d.ts +1 -0
  16. package/dist/OvermapMenu/Content/Content.d.ts +3 -0
  17. package/dist/OvermapMenu/Content/context.d.ts +14 -0
  18. package/dist/OvermapMenu/Content/index.d.ts +2 -0
  19. package/dist/OvermapMenu/ContextTrigger/ContextTrigger.d.ts +3 -0
  20. package/dist/OvermapMenu/ContextTrigger/index.d.ts +1 -0
  21. package/dist/OvermapMenu/Group/Group.d.ts +3 -0
  22. package/dist/OvermapMenu/Group/index.d.ts +1 -0
  23. package/dist/OvermapMenu/Input/Input.d.ts +3 -0
  24. package/dist/OvermapMenu/Input/index.d.ts +1 -0
  25. package/dist/OvermapMenu/Item/Item.d.ts +3 -0
  26. package/dist/OvermapMenu/Item/index.d.ts +1 -0
  27. package/dist/OvermapMenu/MultiSelectGroup/MultiSelectGroup.d.ts +3 -0
  28. package/dist/OvermapMenu/MultiSelectGroup/index.d.ts +1 -0
  29. package/dist/OvermapMenu/MultiSelectItem/MultiSelectItem.d.ts +3 -0
  30. package/dist/OvermapMenu/MultiSelectItem/index.d.ts +1 -0
  31. package/dist/OvermapMenu/PageContent/PageContent.d.ts +3 -0
  32. package/dist/OvermapMenu/PageContent/index.d.ts +1 -0
  33. package/dist/OvermapMenu/PageTrigger/PageTrigger.d.ts +3 -0
  34. package/dist/OvermapMenu/PageTrigger/index.d.ts +1 -0
  35. package/dist/OvermapMenu/Pages/Pages.d.ts +3 -0
  36. package/dist/OvermapMenu/Pages/context.d.ts +8 -0
  37. package/dist/OvermapMenu/Pages/index.d.ts +2 -0
  38. package/dist/OvermapMenu/Scroll/Scroll.d.ts +2 -0
  39. package/dist/OvermapMenu/Scroll/index.d.ts +1 -0
  40. package/dist/OvermapMenu/SelectGroup/SelectGroup.d.ts +3 -0
  41. package/dist/OvermapMenu/SelectGroup/index.d.ts +1 -0
  42. package/dist/OvermapMenu/SelectItem/SelectItem.d.ts +3 -0
  43. package/dist/OvermapMenu/SelectItem/index.d.ts +1 -0
  44. package/dist/OvermapMenu/SelectedIndicator/SelectedIndicator.d.ts +2 -0
  45. package/dist/OvermapMenu/SelectedIndicator/context.d.ts +7 -0
  46. package/dist/OvermapMenu/SelectedIndicator/index.d.ts +2 -0
  47. package/dist/OvermapMenu/Separator/Separator.d.ts +3 -0
  48. package/dist/OvermapMenu/Separator/index.d.ts +1 -0
  49. package/dist/OvermapMenu/Sub/Sub.d.ts +3 -0
  50. package/dist/OvermapMenu/Sub/context.d.ts +24 -0
  51. package/dist/OvermapMenu/Sub/index.d.ts +2 -0
  52. package/dist/OvermapMenu/SubContent/SubContent.d.ts +3 -0
  53. package/dist/OvermapMenu/SubContent/index.d.ts +1 -0
  54. package/dist/OvermapMenu/SubTrigger/SubTrigger.d.ts +3 -0
  55. package/dist/OvermapMenu/SubTrigger/index.d.ts +1 -0
  56. package/dist/OvermapMenu/VirtualTrigger/VirtualTrigger.d.ts +3 -0
  57. package/dist/OvermapMenu/VirtualTrigger/index.d.ts +1 -0
  58. package/dist/OvermapMenu/constants.d.ts +3 -0
  59. package/dist/OvermapMenu/index.d.ts +29 -0
  60. package/dist/OvermapMenu/root/Root.d.ts +3 -0
  61. package/dist/OvermapMenu/root/context.d.ts +27 -0
  62. package/dist/OvermapMenu/root/index.d.ts +2 -0
  63. package/dist/OvermapMenu/typings.d.ts +96 -0
  64. package/dist/OvermapMenu/utils.d.ts +5 -0
  65. package/dist/blocks.js +1222 -897
  66. package/dist/blocks.js.map +1 -1
  67. package/dist/blocks.umd.cjs +1129 -805
  68. package/dist/blocks.umd.cjs.map +1 -1
  69. package/dist/index.d.ts +5 -9
  70. package/dist/style.css +180 -45
  71. package/dist/utils.d.ts +7 -0
  72. package/package.json +111 -109
  73. package/dist/BaseMenuGroups/BaseItemGroup/BaseItemGroup.d.ts +0 -3
  74. package/dist/BaseMenuGroups/BaseItemGroup/index.d.ts +0 -2
  75. package/dist/BaseMenuGroups/BaseItemGroup/typings.d.ts +0 -12
  76. package/dist/BaseMenuGroups/BaseMenuComponents.d.ts +0 -12
  77. package/dist/BaseMenuGroups/BaseMultiSelectGroup/BaseMultiSelectGroup.d.ts +0 -3
  78. package/dist/BaseMenuGroups/BaseMultiSelectGroup/index.d.ts +0 -2
  79. package/dist/BaseMenuGroups/BaseMultiSelectGroup/typings.d.ts +0 -16
  80. package/dist/BaseMenuGroups/BaseSelectGroup/BaseSelectGroup.d.ts +0 -3
  81. package/dist/BaseMenuGroups/BaseSelectGroup/index.d.ts +0 -2
  82. package/dist/BaseMenuGroups/BaseSelectGroup/typings.d.ts +0 -16
  83. package/dist/BaseMenuGroups/BaseSubMenuGroup/BaseSubMenuGroup.d.ts +0 -3
  84. package/dist/BaseMenuGroups/BaseSubMenuGroup/index.d.ts +0 -2
  85. package/dist/BaseMenuGroups/BaseSubMenuGroup/typings.d.ts +0 -14
  86. package/dist/BaseMenuGroups/index.d.ts +0 -5
  87. package/dist/BaseMenuGroups/typings.d.ts +0 -32
  88. package/dist/BaseMenuGroups/utils.d.ts +0 -5
  89. package/dist/ContextActionMenu/ContextActionMenu.d.ts +0 -8
  90. package/dist/ContextActionMenu/index.d.ts +0 -1
  91. package/dist/ContextMenu/ContextMenuGroups.d.ts +0 -6
  92. package/dist/ContextMenu/Root.d.ts +0 -24
  93. package/dist/ContextMenu/index.d.ts +0 -9
  94. package/dist/ContextMultiSelectMenu/ContextMultiSelectMenu.d.ts +0 -9
  95. package/dist/ContextMultiSelectMenu/index.d.ts +0 -1
  96. package/dist/ContextSelectMenu/ContextSelectMenu.d.ts +0 -9
  97. package/dist/ContextSelectMenu/index.d.ts +0 -1
  98. package/dist/DropdownItemMenu/DropdownItemMenu.d.ts +0 -10
  99. package/dist/DropdownItemMenu/index.d.ts +0 -1
  100. package/dist/DropdownMenu/DropdownMenu.d.ts +0 -10
  101. package/dist/DropdownMenu/DropdownMenuGroups.d.ts +0 -18
  102. package/dist/DropdownMenu/index.d.ts +0 -2
  103. package/dist/DropdownMultiSelect/DropdownMultiSelect.d.ts +0 -7
  104. package/dist/DropdownMultiSelect/index.d.ts +0 -1
  105. package/dist/DropdownSelect/DropdownSelect.d.ts +0 -7
  106. package/dist/DropdownSelect/index.d.ts +0 -1
package/README.md CHANGED
@@ -1,3 +1,3 @@
1
- # overmap-ai blocks
2
-
3
- Contains basic components used by overmap-ai libraries.
1
+ # overmap-ai blocks
2
+
3
+ Contains basic components used by overmap-ai libraries.
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import { DialogCommandMenuProps } from "../typings";
3
- /** The Dialog Command Menu component is a flexible UI element designed to present a list of command options within a
3
+ /** The Dialog Command OvermapMenu component is a flexible UI element designed to present a list of command options within a
4
4
  * dialog overlay. This component enhances user interaction by providing a structured and accessible way to execute
5
5
  * commands or actions from a centralized menu. */
6
6
  export declare const DialogCommandMenu: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<DialogCommandMenuProps & import("react").RefAttributes<HTMLDivElement>>>;
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import { DialogMultiSelectMenuProps } from "../typings";
3
- /** The Dialog Multi Select Menu component is a versatile UI element that enables users to select multiple options from
3
+ /** The Dialog Multi Select OvermapMenu component is a versatile UI element that enables users to select multiple options from
4
4
  * a list within a dialog overlay. This component enhances user interaction by providing a clear and accessible way to
5
5
  * make multiple selections in contexts such as forms, filters, and settings. */
6
6
  export declare const DialogMultiSelectMenu: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<DialogMultiSelectMenuProps & import("react").RefAttributes<HTMLDivElement>>>;
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import { DialogSelectMenuProps } from "../typings";
3
- /** The Dialog Select Menu component is a user interface element that provides a dropdown single selection menu within a dialog
3
+ /** The Dialog Select OvermapMenu component is a user interface element that provides a dropdown single selection menu within a dialog
4
4
  * overlay. It allows users to choose an option from a predefined list, offering an enhanced user experience through a
5
5
  * modal dialog. This component is particularly useful in forms and settings where space is limited, and a clean,
6
6
  * accessible selection method is needed. */
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import { DialogMenuProps } from "../typings";
3
- /** The Dialog Menu component is a flexible and customizable UI element that allows users to trigger a dialog containing
3
+ /** The Dialog OvermapMenu component is a flexible and customizable UI element that allows users to trigger a dialog containing
4
4
  * a menu of items. This component is designed to enhance user interaction by providing a structured and accessible
5
5
  * way to present multiple items/choices/options within a dialog overlay.*/
6
6
  export declare const Root: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<DialogMenuProps & import("react").RefAttributes<HTMLDivElement>>>;
@@ -0,0 +1,9 @@
1
+ import { ComponentProps, PropsWithChildren } from "react";
2
+ import { Flex } from "@radix-ui/themes";
3
+ import { OvermapResponsive } from "../typings";
4
+ interface ItemStackGroupProps extends PropsWithChildren {
5
+ direction: Extract<ComponentProps<typeof Flex>["direction"], "row" | "column">;
6
+ offset: OvermapResponsive<string>;
7
+ }
8
+ export declare const Group: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<ItemStackGroupProps & import("react").RefAttributes<HTMLDivElement>>>;
9
+ export {};
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ export declare const Item: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<{
3
+ children?: import("react").ReactNode;
4
+ } & import("react").RefAttributes<HTMLDivElement>>>;
@@ -0,0 +1,8 @@
1
+ import { ReactElement } from "react";
2
+ import { MenuClickTriggerProps, MenuRootProps, MenuItemProps } from "../OvermapMenu";
3
+ interface DropdownMenuProps extends Omit<MenuRootProps, "children">, Omit<MenuClickTriggerProps, "children"> {
4
+ trigger: ReactElement;
5
+ items: MenuItemProps[];
6
+ }
7
+ export declare const DropdownMenu: import("react").MemoExoticComponent<(props: DropdownMenuProps) => import("react/jsx-runtime").JSX.Element>;
8
+ export {};
@@ -0,0 +1 @@
1
+ export { DropdownMenu as OvermapDropdownMenu } from "./DropdownMenu";
@@ -0,0 +1,8 @@
1
+ import { ReactElement } from "react";
2
+ import { MenuClickTriggerProps, MenuMultiSelectGroupProps, MenuRootProps, MenuSelectItemProps } from "../OvermapMenu";
3
+ interface DropdownMultiSelectProps extends Omit<MenuRootProps, "children">, Omit<MenuClickTriggerProps, "children">, MenuMultiSelectGroupProps {
4
+ trigger: ReactElement;
5
+ items: MenuSelectItemProps[];
6
+ }
7
+ export declare const DropdownMultiSelect: import("react").MemoExoticComponent<(props: DropdownMultiSelectProps) => import("react/jsx-runtime").JSX.Element>;
8
+ export {};
@@ -0,0 +1 @@
1
+ export { DropdownMultiSelect as OvermapDropdownMultiSelect } from "./DropdownMultiSelect";
@@ -0,0 +1,8 @@
1
+ import { ReactElement } from "react";
2
+ import { MenuClickTriggerProps, MenuRootProps, MenuSelectGroupProps, MenuSelectItemProps } from "../OvermapMenu";
3
+ interface DropdownSelectProps extends Omit<MenuRootProps, "children">, Omit<MenuClickTriggerProps, "children">, MenuSelectGroupProps {
4
+ trigger: ReactElement;
5
+ items: MenuSelectItemProps[];
6
+ }
7
+ export declare const DropdownSelect: import("react").MemoExoticComponent<(props: DropdownSelectProps) => import("react/jsx-runtime").JSX.Element>;
8
+ export {};
@@ -0,0 +1 @@
1
+ export { DropdownSelect as OvermapDropdownSelect } from "./DropdownSelect";
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import { MenuClickTriggerProps } from "../typings";
3
+ export declare const ClickTrigger: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<MenuClickTriggerProps & import("react").RefAttributes<HTMLElement>>>;
@@ -0,0 +1 @@
1
+ export * from "./ClickTrigger.tsx";
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import { MenuContentProps } from "../typings";
3
+ export declare const Content: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<MenuContentProps & import("react").RefAttributes<HTMLDivElement>>>;
@@ -0,0 +1,14 @@
1
+ import { MutableRefObject } from "react";
2
+ import { UseInteractionsReturn, UseFloatingData } from "@floating-ui/react";
3
+ interface IMenuContentContext {
4
+ activeIndex: number | null;
5
+ getItemProps: UseInteractionsReturn["getItemProps"];
6
+ elementsRef: MutableRefObject<HTMLDivElement[]>;
7
+ setActiveIndex: (index: number | null) => void;
8
+ refs: UseFloatingData["refs"];
9
+ open: boolean;
10
+ setOpen: (open: boolean) => void;
11
+ }
12
+ export declare const MenuContentContext: import("react").Context<IMenuContentContext>;
13
+ export declare const useMenuContentContext: () => IMenuContentContext;
14
+ export {};
@@ -0,0 +1,2 @@
1
+ export * from "./Content";
2
+ export { useMenuContentContext } from "./context";
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import { MenuContextTriggerProps } from "../typings";
3
+ export declare const ContextTrigger: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<MenuContextTriggerProps & import("react").RefAttributes<HTMLElement>>>;
@@ -0,0 +1 @@
1
+ export * from "./ContextTrigger";
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import { MenuGroupProps } from "../typings";
3
+ export declare const Group: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<MenuGroupProps & import("react").RefAttributes<HTMLDivElement>>>;
@@ -0,0 +1 @@
1
+ export * from "./Group";
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import { MenuInputProps } from "../typings";
3
+ export declare const Input: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<MenuInputProps & import("react").RefAttributes<HTMLInputElement>>>;
@@ -0,0 +1 @@
1
+ export * from "./Input";
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import { MenuItemProps } from "../typings";
3
+ export declare const Item: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<MenuItemProps & import("react").RefAttributes<HTMLDivElement>>>;
@@ -0,0 +1 @@
1
+ export * from "./Item";
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import { MenuMultiSelectGroupProps } from "../typings";
3
+ export declare const MultiSelectGroup: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<MenuMultiSelectGroupProps & import("react").RefAttributes<HTMLDivElement>>>;
@@ -0,0 +1 @@
1
+ export * from "./MultiSelectGroup";
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import { MenuSelectItemProps } from "../typings";
3
+ export declare const MultiSelectItem: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<MenuSelectItemProps & import("react").RefAttributes<HTMLDivElement>>>;
@@ -0,0 +1 @@
1
+ export * from "./MultiSelectItem";
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import { PageContentProps } from "../typings";
3
+ export declare const PageContent: import("react").MemoExoticComponent<(props: PageContentProps) => import("react/jsx-runtime").JSX.Element>;
@@ -0,0 +1 @@
1
+ export * from "./PageContent";
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import { PageTriggerProps } from "../typings";
3
+ export declare const PageTrigger: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<PageTriggerProps & import("react").RefAttributes<HTMLDivElement>>>;
@@ -0,0 +1 @@
1
+ export * from "./PageTrigger";
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import { PageProps } from "../typings";
3
+ export declare const Pages: import("react").MemoExoticComponent<(props: PageProps) => import("react/jsx-runtime").JSX.Element>;
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ interface IPagesContext {
3
+ activePage: string;
4
+ setActivePage: (page: string) => void;
5
+ }
6
+ export declare const PagesContext: import("react").Context<IPagesContext>;
7
+ export declare const usePagesContext: () => IPagesContext;
8
+ export {};
@@ -0,0 +1,2 @@
1
+ export * from "./Pages";
2
+ export { usePagesContext } from "./context";
@@ -0,0 +1,2 @@
1
+ import { PropsWithChildren } from "react";
2
+ export declare const Scroll: import("react").MemoExoticComponent<(props: PropsWithChildren) => import("react/jsx-runtime").JSX.Element>;
@@ -0,0 +1 @@
1
+ export * from "./Scroll";
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import { MenuSelectGroupProps } from "../typings";
3
+ export declare const SelectGroup: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<MenuSelectGroupProps & import("react").RefAttributes<HTMLDivElement>>>;
@@ -0,0 +1 @@
1
+ export * from "./SelectGroup";
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import { MenuSelectItemProps } from "../typings";
3
+ export declare const SelectItem: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<MenuSelectItemProps & import("react").RefAttributes<HTMLDivElement>>>;
@@ -0,0 +1 @@
1
+ export * from "./SelectItem";
@@ -0,0 +1,2 @@
1
+ import { PropsWithChildren } from "react";
2
+ export declare const SelectedIndicator: import("react").MemoExoticComponent<(props: PropsWithChildren) => import("react/jsx-runtime").JSX.Element>;
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ interface ISelectedIndicatorContext {
3
+ selected: boolean;
4
+ }
5
+ export declare const SelectedIndicatorContext: import("react").Context<ISelectedIndicatorContext>;
6
+ export declare const useSelectedIndicatorContext: () => ISelectedIndicatorContext;
7
+ export {};
@@ -0,0 +1,2 @@
1
+ export * from "./SelectedIndicator";
2
+ export { useSelectedIndicatorContext, SelectedIndicatorContext } from "./context";
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import { MenuSeparatorProps } from "../typings";
3
+ export declare const Separator: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<Omit<MenuSeparatorProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>>;
@@ -0,0 +1 @@
1
+ export * from "./Separator";
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import { MenuSubProps } from "../typings";
3
+ export declare const Sub: import("react").MemoExoticComponent<(props: MenuSubProps) => import("react/jsx-runtime").JSX.Element>;
@@ -0,0 +1,24 @@
1
+ import { CSSProperties, MutableRefObject } from "react";
2
+ import { UseFloatingData, UseInteractionsReturn } from "@floating-ui/react";
3
+ import { MenuSide } from "../typings";
4
+ interface ISubContext {
5
+ open: boolean;
6
+ setOpen: (open: boolean) => void;
7
+ disabled: boolean;
8
+ side: MenuSide;
9
+ closeRoot: boolean;
10
+ modal: boolean;
11
+ nodeId: string;
12
+ refs: UseFloatingData["refs"];
13
+ floatingStyles: CSSProperties;
14
+ context: UseFloatingData["context"];
15
+ elementsRef: MutableRefObject<HTMLDivElement[]>;
16
+ activeIndex: number | null;
17
+ setActiveIndex: (index: number | null) => void;
18
+ getItemProps: UseInteractionsReturn["getItemProps"];
19
+ getFloatingProps: UseInteractionsReturn["getFloatingProps"];
20
+ getReferenceProps: UseInteractionsReturn["getReferenceProps"];
21
+ }
22
+ export declare const SubContext: import("react").Context<ISubContext>;
23
+ export declare const useSubContext: () => ISubContext;
24
+ export {};
@@ -0,0 +1,2 @@
1
+ export * from "./Sub";
2
+ export { useSubContext } from "./context";
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import { SubMenuContentProps } from "../typings";
3
+ export declare const SubContent: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<SubMenuContentProps & import("react").RefAttributes<HTMLDivElement>>>;
@@ -0,0 +1 @@
1
+ export * from "./SubContent";
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import { MenuSubTriggerProps } from "../typings";
3
+ export declare const SubTrigger: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<MenuSubTriggerProps & import("react").RefAttributes<HTMLDivElement>>>;
@@ -0,0 +1 @@
1
+ export * from "./SubTrigger.tsx";
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import { MenuVirtualTriggerProps } from "../typings";
3
+ export declare const VirtualTrigger: import("react").MemoExoticComponent<(props: MenuVirtualTriggerProps) => null>;
@@ -0,0 +1 @@
1
+ export * from "./VirtualTrigger";
@@ -0,0 +1,3 @@
1
+ export declare const MENU_OVERFLOW_PADDING = 20;
2
+ export declare const MENU_CONTENT_PADDING = 8;
3
+ export declare const MENU_MINIMUM_MAX_HEIGHT = 250;
@@ -0,0 +1,29 @@
1
+ /// <reference types="react" />
2
+ export declare const OvermapMenu: {
3
+ Root: import("react").MemoExoticComponent<(props: import("./typings").MenuRootProps) => import("react/jsx-runtime").JSX.Element>;
4
+ ClickTrigger: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<import("./typings").MenuClickTriggerProps & import("react").RefAttributes<HTMLElement>>>;
5
+ ContextTrigger: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<import("./typings").MenuContextTriggerProps & import("react").RefAttributes<HTMLElement>>>;
6
+ VirtualTrigger: import("react").MemoExoticComponent<(props: import("./typings").MenuVirtualTriggerProps) => null>;
7
+ Content: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<import("./typings").MenuContentProps & import("react").RefAttributes<HTMLDivElement>>>;
8
+ Item: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<import("./typings").MenuItemProps & import("react").RefAttributes<HTMLDivElement>>>;
9
+ Sub: import("react").MemoExoticComponent<(props: import("./typings").MenuSubProps) => import("react/jsx-runtime").JSX.Element>;
10
+ SubContent: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<import("./typings").SubMenuContentProps & import("react").RefAttributes<HTMLDivElement>>>;
11
+ SubTrigger: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<import("./typings").MenuSubTriggerProps & import("react").RefAttributes<HTMLDivElement>>>;
12
+ Group: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<import("./typings").MenuGroupProps & import("react").RefAttributes<HTMLDivElement>>>;
13
+ SelectGroup: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<import("./typings").MenuSelectGroupProps & import("react").RefAttributes<HTMLDivElement>>>;
14
+ MultiSelectGroup: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<import("./typings").MenuMultiSelectGroupProps & import("react").RefAttributes<HTMLDivElement>>>;
15
+ MultiSelectItem: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<import("./typings").MenuSelectItemProps & import("react").RefAttributes<HTMLDivElement>>>;
16
+ SelectItem: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<import("./typings").MenuSelectItemProps & import("react").RefAttributes<HTMLDivElement>>>;
17
+ SelectedIndicator: import("react").MemoExoticComponent<(props: {
18
+ children?: import("react").ReactNode;
19
+ }) => import("react/jsx-runtime").JSX.Element>;
20
+ PageContent: import("react").MemoExoticComponent<(props: import("./typings").PageContentProps) => import("react/jsx-runtime").JSX.Element>;
21
+ Pages: import("react").MemoExoticComponent<(props: import("./typings").PageProps) => import("react/jsx-runtime").JSX.Element>;
22
+ PageTrigger: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<import("./typings").PageTriggerProps & import("react").RefAttributes<HTMLDivElement>>>;
23
+ Separator: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<Omit<import("./typings").MenuSeparatorProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>>;
24
+ Input: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<import("./typings").MenuInputProps & import("react").RefAttributes<HTMLInputElement>>>;
25
+ Scroll: import("react").MemoExoticComponent<(props: {
26
+ children?: import("react").ReactNode;
27
+ }) => import("react/jsx-runtime").JSX.Element>;
28
+ };
29
+ export * from "./typings";
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import { MenuRootProps } from "../typings";
3
+ export declare const Root: import("react").MemoExoticComponent<(props: MenuRootProps) => import("react/jsx-runtime").JSX.Element>;
@@ -0,0 +1,27 @@
1
+ import { CSSProperties, MutableRefObject } from "react";
2
+ import { MiddlewareData, UseFloatingData, UseInteractionsReturn } from "@floating-ui/react";
3
+ import { OvermapItemGroupProps } from "../../OvermapItemGroup";
4
+ import { MenuSide, MenuTriggerType } from "../typings";
5
+ interface IMenuContext {
6
+ open: boolean;
7
+ setOpen: (open: boolean) => void;
8
+ size: OvermapItemGroupProps["size"];
9
+ side: MenuSide;
10
+ setTriggerType: (triggerType: MenuTriggerType) => void;
11
+ dialog: boolean;
12
+ modal: boolean;
13
+ nodeId: string;
14
+ refs: UseFloatingData["refs"];
15
+ floatingStyles: CSSProperties;
16
+ context: UseFloatingData["context"];
17
+ elementsRef: MutableRefObject<HTMLDivElement[]>;
18
+ activeIndex: number | null;
19
+ setActiveIndex: (index: number | null) => void;
20
+ getItemProps: UseInteractionsReturn["getItemProps"];
21
+ getFloatingProps: UseInteractionsReturn["getFloatingProps"];
22
+ getReferenceProps: UseInteractionsReturn["getReferenceProps"];
23
+ middlewareData: MiddlewareData;
24
+ }
25
+ export declare const MenuContext: import("react").Context<IMenuContext>;
26
+ export declare const useMenuContext: () => IMenuContext;
27
+ export {};
@@ -0,0 +1,2 @@
1
+ export * from "./Root";
2
+ export { useMenuContext } from "./context";
@@ -0,0 +1,96 @@
1
+ import { PropsWithChildren, ReactElement } from "react";
2
+ import { VirtualElement } from "@floating-ui/react";
3
+ import { OvermapItemProps } from "../OvermapItem";
4
+ import { OvermapItemGroupProps } from "../OvermapItemGroup";
5
+ import { SeparatorProps } from "../Separator";
6
+ import { OvermapInputItemProps } from "../OvermapInputItem";
7
+ export type MenuTriggerType = "click" | "context" | "virtual";
8
+ export type MenuAlignment = "start" | "center" | "end";
9
+ export type MenuSide = "top" | "right" | "bottom" | "left";
10
+ export interface MenuRootProps extends PropsWithChildren, Pick<OvermapItemGroupProps, "size"> {
11
+ open?: boolean;
12
+ onOpenChange?: (open: boolean) => void;
13
+ defaultOpen?: boolean;
14
+ side?: MenuSide;
15
+ align?: MenuAlignment;
16
+ offset?: number;
17
+ loop?: boolean;
18
+ dialog?: boolean;
19
+ modal?: boolean;
20
+ }
21
+ export interface MenuContentProps extends PropsWithChildren {
22
+ disableScroll?: boolean;
23
+ }
24
+ export interface MenuClickTriggerProps {
25
+ children: ReactElement;
26
+ disabled?: boolean;
27
+ }
28
+ export interface MenuContextTriggerProps {
29
+ children: ReactElement;
30
+ disabled?: boolean;
31
+ }
32
+ export interface MenuVirtualTriggerProps {
33
+ virtualElement: VirtualElement | null;
34
+ disabled?: boolean;
35
+ }
36
+ export interface MenuGroupProps extends PropsWithChildren {
37
+ }
38
+ export interface MenuSelectGroupProps extends MenuGroupProps {
39
+ value: string | null;
40
+ onValueChange: (value: string | null) => void;
41
+ }
42
+ export interface MenuMultiSelectGroupProps extends MenuGroupProps {
43
+ values: string[];
44
+ onValuesChange: (values: string[]) => void;
45
+ }
46
+ export interface MenuItemMeta {
47
+ active: boolean;
48
+ selected: boolean;
49
+ }
50
+ type ActiveAndSelectedItemCallback<T> = (meta: MenuItemMeta) => T;
51
+ export interface MenuItemProps extends Omit<OvermapItemProps, "leftSlot" | "rightSlot" | "children"> {
52
+ leftSlot?: OvermapItemProps["leftSlot"] | ActiveAndSelectedItemCallback<OvermapItemProps["leftSlot"]>;
53
+ rightSlot?: OvermapItemProps["rightSlot"] | ActiveAndSelectedItemCallback<OvermapItemProps["rightSlot"]>;
54
+ children: OvermapItemProps["children"] | ActiveAndSelectedItemCallback<OvermapItemProps["children"]>;
55
+ closeOnSelect?: boolean;
56
+ onSelect?: () => void;
57
+ }
58
+ export interface MenuSelectItemProps extends MenuItemProps {
59
+ value: string;
60
+ }
61
+ export interface MenuSubProps extends PropsWithChildren {
62
+ disabled?: boolean;
63
+ open?: boolean;
64
+ onOpenChange?: (open: boolean) => void;
65
+ defaultOpen?: boolean;
66
+ side?: MenuSide;
67
+ align?: MenuAlignment;
68
+ closeRoot?: boolean;
69
+ loop?: boolean;
70
+ modal?: boolean;
71
+ }
72
+ export interface SubMenuContentProps extends PropsWithChildren {
73
+ disableScroll?: boolean;
74
+ }
75
+ export interface MenuSubTriggerProps extends Omit<MenuItemProps, "closeOnSelect" | "disabled"> {
76
+ }
77
+ export interface PageProps extends PropsWithChildren {
78
+ defaultPage?: string;
79
+ page?: string;
80
+ onPageChange?: (page: string) => void;
81
+ }
82
+ export interface PageContentProps extends PropsWithChildren {
83
+ page: string;
84
+ }
85
+ export interface PageTriggerProps extends Omit<MenuItemProps, "closeOnSelect"> {
86
+ page: string;
87
+ }
88
+ export interface MenuSeparatorProps extends SeparatorProps {
89
+ extend?: boolean;
90
+ spacingAbove?: boolean;
91
+ spacingBelow?: boolean;
92
+ }
93
+ export interface MenuInputProps extends Omit<OvermapInputItemProps, "ref" | "size"> {
94
+ onValueChange?: (value: string) => void;
95
+ }
96
+ export {};
@@ -0,0 +1,5 @@
1
+ import { MenuAlignment, MenuSide } from "./typings";
2
+ export declare const computeOffsets: (side: MenuSide, alignment: MenuAlignment) => {
3
+ mainAxis: number;
4
+ crossAxis: number;
5
+ };