@radix-ui/react-dropdown-menu 0.0.0-20250116175529

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.
package/README.md ADDED
@@ -0,0 +1,13 @@
1
+ # `react-dropdown-menu`
2
+
3
+ ## Installation
4
+
5
+ ```sh
6
+ $ yarn add @radix-ui/react-dropdown-menu
7
+ # or
8
+ $ npm install @radix-ui/react-dropdown-menu
9
+ ```
10
+
11
+ ## Usage
12
+
13
+ View docs [here](https://radix-ui.com/primitives/docs/components/dropdown-menu).
@@ -0,0 +1,97 @@
1
+ import * as _radix_ui_react_context from '@radix-ui/react-context';
2
+ import * as React from 'react';
3
+ import { Primitive } from '@radix-ui/react-primitive';
4
+ import * as MenuPrimitive from '@radix-ui/react-menu';
5
+
6
+ type Direction = 'ltr' | 'rtl';
7
+ declare const createDropdownMenuScope: _radix_ui_react_context.CreateScope;
8
+ interface DropdownMenuProps {
9
+ children?: React.ReactNode;
10
+ dir?: Direction;
11
+ open?: boolean;
12
+ defaultOpen?: boolean;
13
+ onOpenChange?(open: boolean): void;
14
+ modal?: boolean;
15
+ }
16
+ declare const DropdownMenu: React.FC<DropdownMenuProps>;
17
+ type PrimitiveButtonProps = React.ComponentPropsWithoutRef<typeof Primitive.button>;
18
+ interface DropdownMenuTriggerProps extends PrimitiveButtonProps {
19
+ }
20
+ declare const DropdownMenuTrigger: React.ForwardRefExoticComponent<DropdownMenuTriggerProps & React.RefAttributes<HTMLButtonElement>>;
21
+ type MenuPortalProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.Portal>;
22
+ interface DropdownMenuPortalProps extends MenuPortalProps {
23
+ }
24
+ declare const DropdownMenuPortal: React.FC<DropdownMenuPortalProps>;
25
+ type MenuContentProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.Content>;
26
+ interface DropdownMenuContentProps extends Omit<MenuContentProps, 'onEntryFocus'> {
27
+ }
28
+ declare const DropdownMenuContent: React.ForwardRefExoticComponent<DropdownMenuContentProps & React.RefAttributes<HTMLDivElement>>;
29
+ type MenuGroupProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.Group>;
30
+ interface DropdownMenuGroupProps extends MenuGroupProps {
31
+ }
32
+ declare const DropdownMenuGroup: React.ForwardRefExoticComponent<DropdownMenuGroupProps & React.RefAttributes<HTMLDivElement>>;
33
+ type MenuLabelProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.Label>;
34
+ interface DropdownMenuLabelProps extends MenuLabelProps {
35
+ }
36
+ declare const DropdownMenuLabel: React.ForwardRefExoticComponent<DropdownMenuLabelProps & React.RefAttributes<HTMLDivElement>>;
37
+ type MenuItemProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.Item>;
38
+ interface DropdownMenuItemProps extends MenuItemProps {
39
+ }
40
+ declare const DropdownMenuItem: React.ForwardRefExoticComponent<DropdownMenuItemProps & React.RefAttributes<HTMLDivElement>>;
41
+ type MenuCheckboxItemProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.CheckboxItem>;
42
+ interface DropdownMenuCheckboxItemProps extends MenuCheckboxItemProps {
43
+ }
44
+ declare const DropdownMenuCheckboxItem: React.ForwardRefExoticComponent<DropdownMenuCheckboxItemProps & React.RefAttributes<HTMLDivElement>>;
45
+ type MenuRadioGroupProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.RadioGroup>;
46
+ interface DropdownMenuRadioGroupProps extends MenuRadioGroupProps {
47
+ }
48
+ declare const DropdownMenuRadioGroup: React.ForwardRefExoticComponent<DropdownMenuRadioGroupProps & React.RefAttributes<HTMLDivElement>>;
49
+ type MenuRadioItemProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.RadioItem>;
50
+ interface DropdownMenuRadioItemProps extends MenuRadioItemProps {
51
+ }
52
+ declare const DropdownMenuRadioItem: React.ForwardRefExoticComponent<DropdownMenuRadioItemProps & React.RefAttributes<HTMLDivElement>>;
53
+ type MenuItemIndicatorProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.ItemIndicator>;
54
+ interface DropdownMenuItemIndicatorProps extends MenuItemIndicatorProps {
55
+ }
56
+ declare const DropdownMenuItemIndicator: React.ForwardRefExoticComponent<DropdownMenuItemIndicatorProps & React.RefAttributes<HTMLSpanElement>>;
57
+ type MenuSeparatorProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.Separator>;
58
+ interface DropdownMenuSeparatorProps extends MenuSeparatorProps {
59
+ }
60
+ declare const DropdownMenuSeparator: React.ForwardRefExoticComponent<DropdownMenuSeparatorProps & React.RefAttributes<HTMLDivElement>>;
61
+ type MenuArrowProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.Arrow>;
62
+ interface DropdownMenuArrowProps extends MenuArrowProps {
63
+ }
64
+ declare const DropdownMenuArrow: React.ForwardRefExoticComponent<DropdownMenuArrowProps & React.RefAttributes<SVGSVGElement>>;
65
+ interface DropdownMenuSubProps {
66
+ children?: React.ReactNode;
67
+ open?: boolean;
68
+ defaultOpen?: boolean;
69
+ onOpenChange?(open: boolean): void;
70
+ }
71
+ declare const DropdownMenuSub: React.FC<DropdownMenuSubProps>;
72
+ type MenuSubTriggerProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.SubTrigger>;
73
+ interface DropdownMenuSubTriggerProps extends MenuSubTriggerProps {
74
+ }
75
+ declare const DropdownMenuSubTrigger: React.ForwardRefExoticComponent<DropdownMenuSubTriggerProps & React.RefAttributes<HTMLDivElement>>;
76
+ type MenuSubContentProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.SubContent>;
77
+ interface DropdownMenuSubContentProps extends MenuSubContentProps {
78
+ }
79
+ declare const DropdownMenuSubContent: React.ForwardRefExoticComponent<DropdownMenuSubContentProps & React.RefAttributes<HTMLDivElement>>;
80
+ declare const Root: React.FC<DropdownMenuProps>;
81
+ declare const Trigger: React.ForwardRefExoticComponent<DropdownMenuTriggerProps & React.RefAttributes<HTMLButtonElement>>;
82
+ declare const Portal: React.FC<DropdownMenuPortalProps>;
83
+ declare const Content: React.ForwardRefExoticComponent<DropdownMenuContentProps & React.RefAttributes<HTMLDivElement>>;
84
+ declare const Group: React.ForwardRefExoticComponent<DropdownMenuGroupProps & React.RefAttributes<HTMLDivElement>>;
85
+ declare const Label: React.ForwardRefExoticComponent<DropdownMenuLabelProps & React.RefAttributes<HTMLDivElement>>;
86
+ declare const Item: React.ForwardRefExoticComponent<DropdownMenuItemProps & React.RefAttributes<HTMLDivElement>>;
87
+ declare const CheckboxItem: React.ForwardRefExoticComponent<DropdownMenuCheckboxItemProps & React.RefAttributes<HTMLDivElement>>;
88
+ declare const RadioGroup: React.ForwardRefExoticComponent<DropdownMenuRadioGroupProps & React.RefAttributes<HTMLDivElement>>;
89
+ declare const RadioItem: React.ForwardRefExoticComponent<DropdownMenuRadioItemProps & React.RefAttributes<HTMLDivElement>>;
90
+ declare const ItemIndicator: React.ForwardRefExoticComponent<DropdownMenuItemIndicatorProps & React.RefAttributes<HTMLSpanElement>>;
91
+ declare const Separator: React.ForwardRefExoticComponent<DropdownMenuSeparatorProps & React.RefAttributes<HTMLDivElement>>;
92
+ declare const Arrow: React.ForwardRefExoticComponent<DropdownMenuArrowProps & React.RefAttributes<SVGSVGElement>>;
93
+ declare const Sub: React.FC<DropdownMenuSubProps>;
94
+ declare const SubTrigger: React.ForwardRefExoticComponent<DropdownMenuSubTriggerProps & React.RefAttributes<HTMLDivElement>>;
95
+ declare const SubContent: React.ForwardRefExoticComponent<DropdownMenuSubContentProps & React.RefAttributes<HTMLDivElement>>;
96
+
97
+ export { Arrow, CheckboxItem, Content, DropdownMenu, DropdownMenuArrow, type DropdownMenuArrowProps, DropdownMenuCheckboxItem, type DropdownMenuCheckboxItemProps, DropdownMenuContent, type DropdownMenuContentProps, DropdownMenuGroup, type DropdownMenuGroupProps, DropdownMenuItem, DropdownMenuItemIndicator, type DropdownMenuItemIndicatorProps, type DropdownMenuItemProps, DropdownMenuLabel, type DropdownMenuLabelProps, DropdownMenuPortal, type DropdownMenuPortalProps, type DropdownMenuProps, DropdownMenuRadioGroup, type DropdownMenuRadioGroupProps, DropdownMenuRadioItem, type DropdownMenuRadioItemProps, DropdownMenuSeparator, type DropdownMenuSeparatorProps, DropdownMenuSub, DropdownMenuSubContent, type DropdownMenuSubContentProps, type DropdownMenuSubProps, DropdownMenuSubTrigger, type DropdownMenuSubTriggerProps, DropdownMenuTrigger, type DropdownMenuTriggerProps, Group, Item, ItemIndicator, Label, Portal, RadioGroup, RadioItem, Root, Separator, Sub, SubContent, SubTrigger, Trigger, createDropdownMenuScope };
@@ -0,0 +1,97 @@
1
+ import * as _radix_ui_react_context from '@radix-ui/react-context';
2
+ import * as React from 'react';
3
+ import { Primitive } from '@radix-ui/react-primitive';
4
+ import * as MenuPrimitive from '@radix-ui/react-menu';
5
+
6
+ type Direction = 'ltr' | 'rtl';
7
+ declare const createDropdownMenuScope: _radix_ui_react_context.CreateScope;
8
+ interface DropdownMenuProps {
9
+ children?: React.ReactNode;
10
+ dir?: Direction;
11
+ open?: boolean;
12
+ defaultOpen?: boolean;
13
+ onOpenChange?(open: boolean): void;
14
+ modal?: boolean;
15
+ }
16
+ declare const DropdownMenu: React.FC<DropdownMenuProps>;
17
+ type PrimitiveButtonProps = React.ComponentPropsWithoutRef<typeof Primitive.button>;
18
+ interface DropdownMenuTriggerProps extends PrimitiveButtonProps {
19
+ }
20
+ declare const DropdownMenuTrigger: React.ForwardRefExoticComponent<DropdownMenuTriggerProps & React.RefAttributes<HTMLButtonElement>>;
21
+ type MenuPortalProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.Portal>;
22
+ interface DropdownMenuPortalProps extends MenuPortalProps {
23
+ }
24
+ declare const DropdownMenuPortal: React.FC<DropdownMenuPortalProps>;
25
+ type MenuContentProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.Content>;
26
+ interface DropdownMenuContentProps extends Omit<MenuContentProps, 'onEntryFocus'> {
27
+ }
28
+ declare const DropdownMenuContent: React.ForwardRefExoticComponent<DropdownMenuContentProps & React.RefAttributes<HTMLDivElement>>;
29
+ type MenuGroupProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.Group>;
30
+ interface DropdownMenuGroupProps extends MenuGroupProps {
31
+ }
32
+ declare const DropdownMenuGroup: React.ForwardRefExoticComponent<DropdownMenuGroupProps & React.RefAttributes<HTMLDivElement>>;
33
+ type MenuLabelProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.Label>;
34
+ interface DropdownMenuLabelProps extends MenuLabelProps {
35
+ }
36
+ declare const DropdownMenuLabel: React.ForwardRefExoticComponent<DropdownMenuLabelProps & React.RefAttributes<HTMLDivElement>>;
37
+ type MenuItemProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.Item>;
38
+ interface DropdownMenuItemProps extends MenuItemProps {
39
+ }
40
+ declare const DropdownMenuItem: React.ForwardRefExoticComponent<DropdownMenuItemProps & React.RefAttributes<HTMLDivElement>>;
41
+ type MenuCheckboxItemProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.CheckboxItem>;
42
+ interface DropdownMenuCheckboxItemProps extends MenuCheckboxItemProps {
43
+ }
44
+ declare const DropdownMenuCheckboxItem: React.ForwardRefExoticComponent<DropdownMenuCheckboxItemProps & React.RefAttributes<HTMLDivElement>>;
45
+ type MenuRadioGroupProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.RadioGroup>;
46
+ interface DropdownMenuRadioGroupProps extends MenuRadioGroupProps {
47
+ }
48
+ declare const DropdownMenuRadioGroup: React.ForwardRefExoticComponent<DropdownMenuRadioGroupProps & React.RefAttributes<HTMLDivElement>>;
49
+ type MenuRadioItemProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.RadioItem>;
50
+ interface DropdownMenuRadioItemProps extends MenuRadioItemProps {
51
+ }
52
+ declare const DropdownMenuRadioItem: React.ForwardRefExoticComponent<DropdownMenuRadioItemProps & React.RefAttributes<HTMLDivElement>>;
53
+ type MenuItemIndicatorProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.ItemIndicator>;
54
+ interface DropdownMenuItemIndicatorProps extends MenuItemIndicatorProps {
55
+ }
56
+ declare const DropdownMenuItemIndicator: React.ForwardRefExoticComponent<DropdownMenuItemIndicatorProps & React.RefAttributes<HTMLSpanElement>>;
57
+ type MenuSeparatorProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.Separator>;
58
+ interface DropdownMenuSeparatorProps extends MenuSeparatorProps {
59
+ }
60
+ declare const DropdownMenuSeparator: React.ForwardRefExoticComponent<DropdownMenuSeparatorProps & React.RefAttributes<HTMLDivElement>>;
61
+ type MenuArrowProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.Arrow>;
62
+ interface DropdownMenuArrowProps extends MenuArrowProps {
63
+ }
64
+ declare const DropdownMenuArrow: React.ForwardRefExoticComponent<DropdownMenuArrowProps & React.RefAttributes<SVGSVGElement>>;
65
+ interface DropdownMenuSubProps {
66
+ children?: React.ReactNode;
67
+ open?: boolean;
68
+ defaultOpen?: boolean;
69
+ onOpenChange?(open: boolean): void;
70
+ }
71
+ declare const DropdownMenuSub: React.FC<DropdownMenuSubProps>;
72
+ type MenuSubTriggerProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.SubTrigger>;
73
+ interface DropdownMenuSubTriggerProps extends MenuSubTriggerProps {
74
+ }
75
+ declare const DropdownMenuSubTrigger: React.ForwardRefExoticComponent<DropdownMenuSubTriggerProps & React.RefAttributes<HTMLDivElement>>;
76
+ type MenuSubContentProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.SubContent>;
77
+ interface DropdownMenuSubContentProps extends MenuSubContentProps {
78
+ }
79
+ declare const DropdownMenuSubContent: React.ForwardRefExoticComponent<DropdownMenuSubContentProps & React.RefAttributes<HTMLDivElement>>;
80
+ declare const Root: React.FC<DropdownMenuProps>;
81
+ declare const Trigger: React.ForwardRefExoticComponent<DropdownMenuTriggerProps & React.RefAttributes<HTMLButtonElement>>;
82
+ declare const Portal: React.FC<DropdownMenuPortalProps>;
83
+ declare const Content: React.ForwardRefExoticComponent<DropdownMenuContentProps & React.RefAttributes<HTMLDivElement>>;
84
+ declare const Group: React.ForwardRefExoticComponent<DropdownMenuGroupProps & React.RefAttributes<HTMLDivElement>>;
85
+ declare const Label: React.ForwardRefExoticComponent<DropdownMenuLabelProps & React.RefAttributes<HTMLDivElement>>;
86
+ declare const Item: React.ForwardRefExoticComponent<DropdownMenuItemProps & React.RefAttributes<HTMLDivElement>>;
87
+ declare const CheckboxItem: React.ForwardRefExoticComponent<DropdownMenuCheckboxItemProps & React.RefAttributes<HTMLDivElement>>;
88
+ declare const RadioGroup: React.ForwardRefExoticComponent<DropdownMenuRadioGroupProps & React.RefAttributes<HTMLDivElement>>;
89
+ declare const RadioItem: React.ForwardRefExoticComponent<DropdownMenuRadioItemProps & React.RefAttributes<HTMLDivElement>>;
90
+ declare const ItemIndicator: React.ForwardRefExoticComponent<DropdownMenuItemIndicatorProps & React.RefAttributes<HTMLSpanElement>>;
91
+ declare const Separator: React.ForwardRefExoticComponent<DropdownMenuSeparatorProps & React.RefAttributes<HTMLDivElement>>;
92
+ declare const Arrow: React.ForwardRefExoticComponent<DropdownMenuArrowProps & React.RefAttributes<SVGSVGElement>>;
93
+ declare const Sub: React.FC<DropdownMenuSubProps>;
94
+ declare const SubTrigger: React.ForwardRefExoticComponent<DropdownMenuSubTriggerProps & React.RefAttributes<HTMLDivElement>>;
95
+ declare const SubContent: React.ForwardRefExoticComponent<DropdownMenuSubContentProps & React.RefAttributes<HTMLDivElement>>;
96
+
97
+ export { Arrow, CheckboxItem, Content, DropdownMenu, DropdownMenuArrow, type DropdownMenuArrowProps, DropdownMenuCheckboxItem, type DropdownMenuCheckboxItemProps, DropdownMenuContent, type DropdownMenuContentProps, DropdownMenuGroup, type DropdownMenuGroupProps, DropdownMenuItem, DropdownMenuItemIndicator, type DropdownMenuItemIndicatorProps, type DropdownMenuItemProps, DropdownMenuLabel, type DropdownMenuLabelProps, DropdownMenuPortal, type DropdownMenuPortalProps, type DropdownMenuProps, DropdownMenuRadioGroup, type DropdownMenuRadioGroupProps, DropdownMenuRadioItem, type DropdownMenuRadioItemProps, DropdownMenuSeparator, type DropdownMenuSeparatorProps, DropdownMenuSub, DropdownMenuSubContent, type DropdownMenuSubContentProps, type DropdownMenuSubProps, DropdownMenuSubTrigger, type DropdownMenuSubTriggerProps, DropdownMenuTrigger, type DropdownMenuTriggerProps, Group, Item, ItemIndicator, Label, Portal, RadioGroup, RadioItem, Root, Separator, Sub, SubContent, SubTrigger, Trigger, createDropdownMenuScope };
package/dist/index.js ADDED
@@ -0,0 +1,335 @@
1
+ "use strict";
2
+ "use client";
3
+ var __create = Object.create;
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getProtoOf = Object.getPrototypeOf;
8
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __export = (target, all) => {
10
+ for (var name in all)
11
+ __defProp(target, name, { get: all[name], enumerable: true });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from))
16
+ if (!__hasOwnProp.call(to, key) && key !== except)
17
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
18
+ }
19
+ return to;
20
+ };
21
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
22
+ // If the importer is in node compatibility mode or this is not an ESM
23
+ // file that has been converted to a CommonJS file using a Babel-
24
+ // compatible transform (i.e. "__esModule" has not been set), then set
25
+ // "default" to the CommonJS "module.exports" for node compatibility.
26
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
27
+ mod
28
+ ));
29
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
30
+
31
+ // packages/react/dropdown-menu/src/index.ts
32
+ var src_exports = {};
33
+ __export(src_exports, {
34
+ Arrow: () => Arrow2,
35
+ CheckboxItem: () => CheckboxItem2,
36
+ Content: () => Content2,
37
+ DropdownMenu: () => DropdownMenu,
38
+ DropdownMenuArrow: () => DropdownMenuArrow,
39
+ DropdownMenuCheckboxItem: () => DropdownMenuCheckboxItem,
40
+ DropdownMenuContent: () => DropdownMenuContent,
41
+ DropdownMenuGroup: () => DropdownMenuGroup,
42
+ DropdownMenuItem: () => DropdownMenuItem,
43
+ DropdownMenuItemIndicator: () => DropdownMenuItemIndicator,
44
+ DropdownMenuLabel: () => DropdownMenuLabel,
45
+ DropdownMenuPortal: () => DropdownMenuPortal,
46
+ DropdownMenuRadioGroup: () => DropdownMenuRadioGroup,
47
+ DropdownMenuRadioItem: () => DropdownMenuRadioItem,
48
+ DropdownMenuSeparator: () => DropdownMenuSeparator,
49
+ DropdownMenuSub: () => DropdownMenuSub,
50
+ DropdownMenuSubContent: () => DropdownMenuSubContent,
51
+ DropdownMenuSubTrigger: () => DropdownMenuSubTrigger,
52
+ DropdownMenuTrigger: () => DropdownMenuTrigger,
53
+ Group: () => Group2,
54
+ Item: () => Item2,
55
+ ItemIndicator: () => ItemIndicator2,
56
+ Label: () => Label2,
57
+ Portal: () => Portal2,
58
+ RadioGroup: () => RadioGroup2,
59
+ RadioItem: () => RadioItem2,
60
+ Root: () => Root2,
61
+ Separator: () => Separator2,
62
+ Sub: () => Sub2,
63
+ SubContent: () => SubContent2,
64
+ SubTrigger: () => SubTrigger2,
65
+ Trigger: () => Trigger,
66
+ createDropdownMenuScope: () => createDropdownMenuScope
67
+ });
68
+ module.exports = __toCommonJS(src_exports);
69
+
70
+ // packages/react/dropdown-menu/src/DropdownMenu.tsx
71
+ var React = __toESM(require("react"));
72
+ var import_primitive = require("@radix-ui/primitive");
73
+ var import_react_compose_refs = require("@radix-ui/react-compose-refs");
74
+ var import_react_context = require("@radix-ui/react-context");
75
+ var import_react_use_controllable_state = require("@radix-ui/react-use-controllable-state");
76
+ var import_react_primitive = require("@radix-ui/react-primitive");
77
+ var MenuPrimitive = __toESM(require("@radix-ui/react-menu"));
78
+ var import_react_menu = require("@radix-ui/react-menu");
79
+ var import_react_id = require("@radix-ui/react-id");
80
+ var import_jsx_runtime = require("react/jsx-runtime");
81
+ var DROPDOWN_MENU_NAME = "DropdownMenu";
82
+ var [createDropdownMenuContext, createDropdownMenuScope] = (0, import_react_context.createContextScope)(
83
+ DROPDOWN_MENU_NAME,
84
+ [import_react_menu.createMenuScope]
85
+ );
86
+ var useMenuScope = (0, import_react_menu.createMenuScope)();
87
+ var [DropdownMenuProvider, useDropdownMenuContext] = createDropdownMenuContext(DROPDOWN_MENU_NAME);
88
+ var DropdownMenu = (props) => {
89
+ const {
90
+ __scopeDropdownMenu,
91
+ children,
92
+ dir,
93
+ open: openProp,
94
+ defaultOpen,
95
+ onOpenChange,
96
+ modal = true
97
+ } = props;
98
+ const menuScope = useMenuScope(__scopeDropdownMenu);
99
+ const triggerRef = React.useRef(null);
100
+ const [open = false, setOpen] = (0, import_react_use_controllable_state.useControllableState)({
101
+ prop: openProp,
102
+ defaultProp: defaultOpen,
103
+ onChange: onOpenChange
104
+ });
105
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
106
+ DropdownMenuProvider,
107
+ {
108
+ scope: __scopeDropdownMenu,
109
+ triggerId: (0, import_react_id.useId)(),
110
+ triggerRef,
111
+ contentId: (0, import_react_id.useId)(),
112
+ open,
113
+ onOpenChange: setOpen,
114
+ onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),
115
+ modal,
116
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuPrimitive.Root, { ...menuScope, open, onOpenChange: setOpen, dir, modal, children })
117
+ }
118
+ );
119
+ };
120
+ DropdownMenu.displayName = DROPDOWN_MENU_NAME;
121
+ var TRIGGER_NAME = "DropdownMenuTrigger";
122
+ var DropdownMenuTrigger = React.forwardRef(
123
+ (props, forwardedRef) => {
124
+ const { __scopeDropdownMenu, disabled = false, ...triggerProps } = props;
125
+ const context = useDropdownMenuContext(TRIGGER_NAME, __scopeDropdownMenu);
126
+ const menuScope = useMenuScope(__scopeDropdownMenu);
127
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuPrimitive.Anchor, { asChild: true, ...menuScope, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
128
+ import_react_primitive.Primitive.button,
129
+ {
130
+ type: "button",
131
+ id: context.triggerId,
132
+ "aria-haspopup": "menu",
133
+ "aria-expanded": context.open,
134
+ "aria-controls": context.open ? context.contentId : void 0,
135
+ "data-state": context.open ? "open" : "closed",
136
+ "data-disabled": disabled ? "" : void 0,
137
+ disabled,
138
+ ...triggerProps,
139
+ ref: (0, import_react_compose_refs.composeRefs)(forwardedRef, context.triggerRef),
140
+ onPointerDown: (0, import_primitive.composeEventHandlers)(props.onPointerDown, (event) => {
141
+ if (!disabled && event.button === 0 && event.ctrlKey === false) {
142
+ context.onOpenToggle();
143
+ if (!context.open) event.preventDefault();
144
+ }
145
+ }),
146
+ onKeyDown: (0, import_primitive.composeEventHandlers)(props.onKeyDown, (event) => {
147
+ if (disabled) return;
148
+ if (["Enter", " "].includes(event.key)) context.onOpenToggle();
149
+ if (event.key === "ArrowDown") context.onOpenChange(true);
150
+ if (["Enter", " ", "ArrowDown"].includes(event.key)) event.preventDefault();
151
+ })
152
+ }
153
+ ) });
154
+ }
155
+ );
156
+ DropdownMenuTrigger.displayName = TRIGGER_NAME;
157
+ var PORTAL_NAME = "DropdownMenuPortal";
158
+ var DropdownMenuPortal = (props) => {
159
+ const { __scopeDropdownMenu, ...portalProps } = props;
160
+ const menuScope = useMenuScope(__scopeDropdownMenu);
161
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuPrimitive.Portal, { ...menuScope, ...portalProps });
162
+ };
163
+ DropdownMenuPortal.displayName = PORTAL_NAME;
164
+ var CONTENT_NAME = "DropdownMenuContent";
165
+ var DropdownMenuContent = React.forwardRef(
166
+ (props, forwardedRef) => {
167
+ const { __scopeDropdownMenu, ...contentProps } = props;
168
+ const context = useDropdownMenuContext(CONTENT_NAME, __scopeDropdownMenu);
169
+ const menuScope = useMenuScope(__scopeDropdownMenu);
170
+ const hasInteractedOutsideRef = React.useRef(false);
171
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
172
+ MenuPrimitive.Content,
173
+ {
174
+ id: context.contentId,
175
+ "aria-labelledby": context.triggerId,
176
+ ...menuScope,
177
+ ...contentProps,
178
+ ref: forwardedRef,
179
+ onCloseAutoFocus: (0, import_primitive.composeEventHandlers)(props.onCloseAutoFocus, (event) => {
180
+ if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();
181
+ hasInteractedOutsideRef.current = false;
182
+ event.preventDefault();
183
+ }),
184
+ onInteractOutside: (0, import_primitive.composeEventHandlers)(props.onInteractOutside, (event) => {
185
+ const originalEvent = event.detail.originalEvent;
186
+ const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;
187
+ const isRightClick = originalEvent.button === 2 || ctrlLeftClick;
188
+ if (!context.modal || isRightClick) hasInteractedOutsideRef.current = true;
189
+ }),
190
+ style: {
191
+ ...props.style,
192
+ // re-namespace exposed content custom properties
193
+ ...{
194
+ "--radix-dropdown-menu-content-transform-origin": "var(--radix-popper-transform-origin)",
195
+ "--radix-dropdown-menu-content-available-width": "var(--radix-popper-available-width)",
196
+ "--radix-dropdown-menu-content-available-height": "var(--radix-popper-available-height)",
197
+ "--radix-dropdown-menu-trigger-width": "var(--radix-popper-anchor-width)",
198
+ "--radix-dropdown-menu-trigger-height": "var(--radix-popper-anchor-height)"
199
+ }
200
+ }
201
+ }
202
+ );
203
+ }
204
+ );
205
+ DropdownMenuContent.displayName = CONTENT_NAME;
206
+ var GROUP_NAME = "DropdownMenuGroup";
207
+ var DropdownMenuGroup = React.forwardRef(
208
+ (props, forwardedRef) => {
209
+ const { __scopeDropdownMenu, ...groupProps } = props;
210
+ const menuScope = useMenuScope(__scopeDropdownMenu);
211
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuPrimitive.Group, { ...menuScope, ...groupProps, ref: forwardedRef });
212
+ }
213
+ );
214
+ DropdownMenuGroup.displayName = GROUP_NAME;
215
+ var LABEL_NAME = "DropdownMenuLabel";
216
+ var DropdownMenuLabel = React.forwardRef(
217
+ (props, forwardedRef) => {
218
+ const { __scopeDropdownMenu, ...labelProps } = props;
219
+ const menuScope = useMenuScope(__scopeDropdownMenu);
220
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuPrimitive.Label, { ...menuScope, ...labelProps, ref: forwardedRef });
221
+ }
222
+ );
223
+ DropdownMenuLabel.displayName = LABEL_NAME;
224
+ var ITEM_NAME = "DropdownMenuItem";
225
+ var DropdownMenuItem = React.forwardRef(
226
+ (props, forwardedRef) => {
227
+ const { __scopeDropdownMenu, ...itemProps } = props;
228
+ const menuScope = useMenuScope(__scopeDropdownMenu);
229
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuPrimitive.Item, { ...menuScope, ...itemProps, ref: forwardedRef });
230
+ }
231
+ );
232
+ DropdownMenuItem.displayName = ITEM_NAME;
233
+ var CHECKBOX_ITEM_NAME = "DropdownMenuCheckboxItem";
234
+ var DropdownMenuCheckboxItem = React.forwardRef((props, forwardedRef) => {
235
+ const { __scopeDropdownMenu, ...checkboxItemProps } = props;
236
+ const menuScope = useMenuScope(__scopeDropdownMenu);
237
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuPrimitive.CheckboxItem, { ...menuScope, ...checkboxItemProps, ref: forwardedRef });
238
+ });
239
+ DropdownMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;
240
+ var RADIO_GROUP_NAME = "DropdownMenuRadioGroup";
241
+ var DropdownMenuRadioGroup = React.forwardRef((props, forwardedRef) => {
242
+ const { __scopeDropdownMenu, ...radioGroupProps } = props;
243
+ const menuScope = useMenuScope(__scopeDropdownMenu);
244
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuPrimitive.RadioGroup, { ...menuScope, ...radioGroupProps, ref: forwardedRef });
245
+ });
246
+ DropdownMenuRadioGroup.displayName = RADIO_GROUP_NAME;
247
+ var RADIO_ITEM_NAME = "DropdownMenuRadioItem";
248
+ var DropdownMenuRadioItem = React.forwardRef((props, forwardedRef) => {
249
+ const { __scopeDropdownMenu, ...radioItemProps } = props;
250
+ const menuScope = useMenuScope(__scopeDropdownMenu);
251
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuPrimitive.RadioItem, { ...menuScope, ...radioItemProps, ref: forwardedRef });
252
+ });
253
+ DropdownMenuRadioItem.displayName = RADIO_ITEM_NAME;
254
+ var INDICATOR_NAME = "DropdownMenuItemIndicator";
255
+ var DropdownMenuItemIndicator = React.forwardRef((props, forwardedRef) => {
256
+ const { __scopeDropdownMenu, ...itemIndicatorProps } = props;
257
+ const menuScope = useMenuScope(__scopeDropdownMenu);
258
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuPrimitive.ItemIndicator, { ...menuScope, ...itemIndicatorProps, ref: forwardedRef });
259
+ });
260
+ DropdownMenuItemIndicator.displayName = INDICATOR_NAME;
261
+ var SEPARATOR_NAME = "DropdownMenuSeparator";
262
+ var DropdownMenuSeparator = React.forwardRef((props, forwardedRef) => {
263
+ const { __scopeDropdownMenu, ...separatorProps } = props;
264
+ const menuScope = useMenuScope(__scopeDropdownMenu);
265
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuPrimitive.Separator, { ...menuScope, ...separatorProps, ref: forwardedRef });
266
+ });
267
+ DropdownMenuSeparator.displayName = SEPARATOR_NAME;
268
+ var ARROW_NAME = "DropdownMenuArrow";
269
+ var DropdownMenuArrow = React.forwardRef(
270
+ (props, forwardedRef) => {
271
+ const { __scopeDropdownMenu, ...arrowProps } = props;
272
+ const menuScope = useMenuScope(__scopeDropdownMenu);
273
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuPrimitive.Arrow, { ...menuScope, ...arrowProps, ref: forwardedRef });
274
+ }
275
+ );
276
+ DropdownMenuArrow.displayName = ARROW_NAME;
277
+ var DropdownMenuSub = (props) => {
278
+ const { __scopeDropdownMenu, children, open: openProp, onOpenChange, defaultOpen } = props;
279
+ const menuScope = useMenuScope(__scopeDropdownMenu);
280
+ const [open = false, setOpen] = (0, import_react_use_controllable_state.useControllableState)({
281
+ prop: openProp,
282
+ defaultProp: defaultOpen,
283
+ onChange: onOpenChange
284
+ });
285
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuPrimitive.Sub, { ...menuScope, open, onOpenChange: setOpen, children });
286
+ };
287
+ var SUB_TRIGGER_NAME = "DropdownMenuSubTrigger";
288
+ var DropdownMenuSubTrigger = React.forwardRef((props, forwardedRef) => {
289
+ const { __scopeDropdownMenu, ...subTriggerProps } = props;
290
+ const menuScope = useMenuScope(__scopeDropdownMenu);
291
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuPrimitive.SubTrigger, { ...menuScope, ...subTriggerProps, ref: forwardedRef });
292
+ });
293
+ DropdownMenuSubTrigger.displayName = SUB_TRIGGER_NAME;
294
+ var SUB_CONTENT_NAME = "DropdownMenuSubContent";
295
+ var DropdownMenuSubContent = React.forwardRef((props, forwardedRef) => {
296
+ const { __scopeDropdownMenu, ...subContentProps } = props;
297
+ const menuScope = useMenuScope(__scopeDropdownMenu);
298
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
299
+ MenuPrimitive.SubContent,
300
+ {
301
+ ...menuScope,
302
+ ...subContentProps,
303
+ ref: forwardedRef,
304
+ style: {
305
+ ...props.style,
306
+ // re-namespace exposed content custom properties
307
+ ...{
308
+ "--radix-dropdown-menu-content-transform-origin": "var(--radix-popper-transform-origin)",
309
+ "--radix-dropdown-menu-content-available-width": "var(--radix-popper-available-width)",
310
+ "--radix-dropdown-menu-content-available-height": "var(--radix-popper-available-height)",
311
+ "--radix-dropdown-menu-trigger-width": "var(--radix-popper-anchor-width)",
312
+ "--radix-dropdown-menu-trigger-height": "var(--radix-popper-anchor-height)"
313
+ }
314
+ }
315
+ }
316
+ );
317
+ });
318
+ DropdownMenuSubContent.displayName = SUB_CONTENT_NAME;
319
+ var Root2 = DropdownMenu;
320
+ var Trigger = DropdownMenuTrigger;
321
+ var Portal2 = DropdownMenuPortal;
322
+ var Content2 = DropdownMenuContent;
323
+ var Group2 = DropdownMenuGroup;
324
+ var Label2 = DropdownMenuLabel;
325
+ var Item2 = DropdownMenuItem;
326
+ var CheckboxItem2 = DropdownMenuCheckboxItem;
327
+ var RadioGroup2 = DropdownMenuRadioGroup;
328
+ var RadioItem2 = DropdownMenuRadioItem;
329
+ var ItemIndicator2 = DropdownMenuItemIndicator;
330
+ var Separator2 = DropdownMenuSeparator;
331
+ var Arrow2 = DropdownMenuArrow;
332
+ var Sub2 = DropdownMenuSub;
333
+ var SubTrigger2 = DropdownMenuSubTrigger;
334
+ var SubContent2 = DropdownMenuSubContent;
335
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/index.ts", "../src/DropdownMenu.tsx"],
4
+ "sourcesContent": ["'use client';\nexport {\n createDropdownMenuScope,\n //\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuPortal,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuLabel,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuItemIndicator,\n DropdownMenuSeparator,\n DropdownMenuArrow,\n DropdownMenuSub,\n DropdownMenuSubTrigger,\n DropdownMenuSubContent,\n //\n Root,\n Trigger,\n Portal,\n Content,\n Group,\n Label,\n Item,\n CheckboxItem,\n RadioGroup,\n RadioItem,\n ItemIndicator,\n Separator,\n Arrow,\n Sub,\n SubTrigger,\n SubContent,\n} from './DropdownMenu';\nexport type {\n DropdownMenuProps,\n DropdownMenuTriggerProps,\n DropdownMenuPortalProps,\n DropdownMenuContentProps,\n DropdownMenuGroupProps,\n DropdownMenuLabelProps,\n DropdownMenuItemProps,\n DropdownMenuCheckboxItemProps,\n DropdownMenuRadioGroupProps,\n DropdownMenuRadioItemProps,\n DropdownMenuItemIndicatorProps,\n DropdownMenuSeparatorProps,\n DropdownMenuArrowProps,\n DropdownMenuSubProps,\n DropdownMenuSubTriggerProps,\n DropdownMenuSubContentProps,\n} from './DropdownMenu';\n", "import * as React from 'react';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { composeRefs } from '@radix-ui/react-compose-refs';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport * as MenuPrimitive from '@radix-ui/react-menu';\nimport { createMenuScope } from '@radix-ui/react-menu';\nimport { useId } from '@radix-ui/react-id';\n\nimport type { Scope } from '@radix-ui/react-context';\n\ntype Direction = 'ltr' | 'rtl';\n\n/* -------------------------------------------------------------------------------------------------\n * DropdownMenu\n * -----------------------------------------------------------------------------------------------*/\n\nconst DROPDOWN_MENU_NAME = 'DropdownMenu';\n\ntype ScopedProps<P> = P & { __scopeDropdownMenu?: Scope };\nconst [createDropdownMenuContext, createDropdownMenuScope] = createContextScope(\n DROPDOWN_MENU_NAME,\n [createMenuScope]\n);\nconst useMenuScope = createMenuScope();\n\ntype DropdownMenuContextValue = {\n triggerId: string;\n triggerRef: React.RefObject<HTMLButtonElement | null>;\n contentId: string;\n open: boolean;\n onOpenChange(open: boolean): void;\n onOpenToggle(): void;\n modal: boolean;\n};\n\nconst [DropdownMenuProvider, useDropdownMenuContext] =\n createDropdownMenuContext<DropdownMenuContextValue>(DROPDOWN_MENU_NAME);\n\ninterface DropdownMenuProps {\n children?: React.ReactNode;\n dir?: Direction;\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?(open: boolean): void;\n modal?: boolean;\n}\n\nconst DropdownMenu: React.FC<DropdownMenuProps> = (props: ScopedProps<DropdownMenuProps>) => {\n const {\n __scopeDropdownMenu,\n children,\n dir,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = true,\n } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n const triggerRef = React.useRef<HTMLButtonElement>(null);\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange,\n });\n\n return (\n <DropdownMenuProvider\n scope={__scopeDropdownMenu}\n triggerId={useId()}\n triggerRef={triggerRef}\n contentId={useId()}\n open={open}\n onOpenChange={setOpen}\n onOpenToggle={React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen])}\n modal={modal}\n >\n <MenuPrimitive.Root {...menuScope} open={open} onOpenChange={setOpen} dir={dir} modal={modal}>\n {children}\n </MenuPrimitive.Root>\n </DropdownMenuProvider>\n );\n};\n\nDropdownMenu.displayName = DROPDOWN_MENU_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DropdownMenuTrigger\n * -----------------------------------------------------------------------------------------------*/\n\nconst TRIGGER_NAME = 'DropdownMenuTrigger';\n\ntype DropdownMenuTriggerElement = React.ElementRef<typeof Primitive.button>;\ntype PrimitiveButtonProps = React.ComponentPropsWithoutRef<typeof Primitive.button>;\ninterface DropdownMenuTriggerProps extends PrimitiveButtonProps {}\n\nconst DropdownMenuTrigger = React.forwardRef<DropdownMenuTriggerElement, DropdownMenuTriggerProps>(\n (props: ScopedProps<DropdownMenuTriggerProps>, forwardedRef) => {\n const { __scopeDropdownMenu, disabled = false, ...triggerProps } = props;\n const context = useDropdownMenuContext(TRIGGER_NAME, __scopeDropdownMenu);\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return (\n <MenuPrimitive.Anchor asChild {...menuScope}>\n <Primitive.button\n type=\"button\"\n id={context.triggerId}\n aria-haspopup=\"menu\"\n aria-expanded={context.open}\n aria-controls={context.open ? context.contentId : undefined}\n data-state={context.open ? 'open' : 'closed'}\n data-disabled={disabled ? '' : undefined}\n disabled={disabled}\n {...triggerProps}\n ref={composeRefs(forwardedRef, context.triggerRef)}\n onPointerDown={composeEventHandlers(props.onPointerDown, (event) => {\n // only call handler if it's the left button (mousedown gets triggered by all mouse buttons)\n // but not when the control key is pressed (avoiding MacOS right click)\n if (!disabled && event.button === 0 && event.ctrlKey === false) {\n context.onOpenToggle();\n // prevent trigger focusing when opening\n // this allows the content to be given focus without competition\n if (!context.open) event.preventDefault();\n }\n })}\n onKeyDown={composeEventHandlers(props.onKeyDown, (event) => {\n if (disabled) return;\n if (['Enter', ' '].includes(event.key)) context.onOpenToggle();\n if (event.key === 'ArrowDown') context.onOpenChange(true);\n // prevent keydown from scrolling window / first focused item to execute\n // that keydown (inadvertently closing the menu)\n if (['Enter', ' ', 'ArrowDown'].includes(event.key)) event.preventDefault();\n })}\n />\n </MenuPrimitive.Anchor>\n );\n }\n);\n\nDropdownMenuTrigger.displayName = TRIGGER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DropdownMenuPortal\n * -----------------------------------------------------------------------------------------------*/\n\nconst PORTAL_NAME = 'DropdownMenuPortal';\n\ntype MenuPortalProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.Portal>;\ninterface DropdownMenuPortalProps extends MenuPortalProps {}\n\nconst DropdownMenuPortal: React.FC<DropdownMenuPortalProps> = (\n props: ScopedProps<DropdownMenuPortalProps>\n) => {\n const { __scopeDropdownMenu, ...portalProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return <MenuPrimitive.Portal {...menuScope} {...portalProps} />;\n};\n\nDropdownMenuPortal.displayName = PORTAL_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DropdownMenuContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_NAME = 'DropdownMenuContent';\n\ntype DropdownMenuContentElement = React.ElementRef<typeof MenuPrimitive.Content>;\ntype MenuContentProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.Content>;\ninterface DropdownMenuContentProps extends Omit<MenuContentProps, 'onEntryFocus'> {}\n\nconst DropdownMenuContent = React.forwardRef<DropdownMenuContentElement, DropdownMenuContentProps>(\n (props: ScopedProps<DropdownMenuContentProps>, forwardedRef) => {\n const { __scopeDropdownMenu, ...contentProps } = props;\n const context = useDropdownMenuContext(CONTENT_NAME, __scopeDropdownMenu);\n const menuScope = useMenuScope(__scopeDropdownMenu);\n const hasInteractedOutsideRef = React.useRef(false);\n\n return (\n <MenuPrimitive.Content\n id={context.contentId}\n aria-labelledby={context.triggerId}\n {...menuScope}\n {...contentProps}\n ref={forwardedRef}\n onCloseAutoFocus={composeEventHandlers(props.onCloseAutoFocus, (event) => {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n hasInteractedOutsideRef.current = false;\n // Always prevent auto focus because we either focus manually or want user agent focus\n event.preventDefault();\n })}\n onInteractOutside={composeEventHandlers(props.onInteractOutside, (event) => {\n const originalEvent = event.detail.originalEvent as PointerEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n if (!context.modal || isRightClick) hasInteractedOutsideRef.current = true;\n })}\n style={{\n ...props.style,\n // re-namespace exposed content custom properties\n ...{\n '--radix-dropdown-menu-content-transform-origin':\n 'var(--radix-popper-transform-origin)',\n '--radix-dropdown-menu-content-available-width': 'var(--radix-popper-available-width)',\n '--radix-dropdown-menu-content-available-height':\n 'var(--radix-popper-available-height)',\n '--radix-dropdown-menu-trigger-width': 'var(--radix-popper-anchor-width)',\n '--radix-dropdown-menu-trigger-height': 'var(--radix-popper-anchor-height)',\n },\n }}\n />\n );\n }\n);\n\nDropdownMenuContent.displayName = CONTENT_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DropdownMenuGroup\n * -----------------------------------------------------------------------------------------------*/\n\nconst GROUP_NAME = 'DropdownMenuGroup';\n\ntype DropdownMenuGroupElement = React.ElementRef<typeof MenuPrimitive.Group>;\ntype MenuGroupProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.Group>;\ninterface DropdownMenuGroupProps extends MenuGroupProps {}\n\nconst DropdownMenuGroup = React.forwardRef<DropdownMenuGroupElement, DropdownMenuGroupProps>(\n (props: ScopedProps<DropdownMenuGroupProps>, forwardedRef) => {\n const { __scopeDropdownMenu, ...groupProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return <MenuPrimitive.Group {...menuScope} {...groupProps} ref={forwardedRef} />;\n }\n);\n\nDropdownMenuGroup.displayName = GROUP_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DropdownMenuLabel\n * -----------------------------------------------------------------------------------------------*/\n\nconst LABEL_NAME = 'DropdownMenuLabel';\n\ntype DropdownMenuLabelElement = React.ElementRef<typeof MenuPrimitive.Label>;\ntype MenuLabelProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.Label>;\ninterface DropdownMenuLabelProps extends MenuLabelProps {}\n\nconst DropdownMenuLabel = React.forwardRef<DropdownMenuLabelElement, DropdownMenuLabelProps>(\n (props: ScopedProps<DropdownMenuLabelProps>, forwardedRef) => {\n const { __scopeDropdownMenu, ...labelProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return <MenuPrimitive.Label {...menuScope} {...labelProps} ref={forwardedRef} />;\n }\n);\n\nDropdownMenuLabel.displayName = LABEL_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DropdownMenuItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst ITEM_NAME = 'DropdownMenuItem';\n\ntype DropdownMenuItemElement = React.ElementRef<typeof MenuPrimitive.Item>;\ntype MenuItemProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.Item>;\ninterface DropdownMenuItemProps extends MenuItemProps {}\n\nconst DropdownMenuItem = React.forwardRef<DropdownMenuItemElement, DropdownMenuItemProps>(\n (props: ScopedProps<DropdownMenuItemProps>, forwardedRef) => {\n const { __scopeDropdownMenu, ...itemProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return <MenuPrimitive.Item {...menuScope} {...itemProps} ref={forwardedRef} />;\n }\n);\n\nDropdownMenuItem.displayName = ITEM_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DropdownMenuCheckboxItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst CHECKBOX_ITEM_NAME = 'DropdownMenuCheckboxItem';\n\ntype DropdownMenuCheckboxItemElement = React.ElementRef<typeof MenuPrimitive.CheckboxItem>;\ntype MenuCheckboxItemProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.CheckboxItem>;\ninterface DropdownMenuCheckboxItemProps extends MenuCheckboxItemProps {}\n\nconst DropdownMenuCheckboxItem = React.forwardRef<\n DropdownMenuCheckboxItemElement,\n DropdownMenuCheckboxItemProps\n>((props: ScopedProps<DropdownMenuCheckboxItemProps>, forwardedRef) => {\n const { __scopeDropdownMenu, ...checkboxItemProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return <MenuPrimitive.CheckboxItem {...menuScope} {...checkboxItemProps} ref={forwardedRef} />;\n});\n\nDropdownMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DropdownMenuRadioGroup\n * -----------------------------------------------------------------------------------------------*/\n\nconst RADIO_GROUP_NAME = 'DropdownMenuRadioGroup';\n\ntype DropdownMenuRadioGroupElement = React.ElementRef<typeof MenuPrimitive.RadioGroup>;\ntype MenuRadioGroupProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.RadioGroup>;\ninterface DropdownMenuRadioGroupProps extends MenuRadioGroupProps {}\n\nconst DropdownMenuRadioGroup = React.forwardRef<\n DropdownMenuRadioGroupElement,\n DropdownMenuRadioGroupProps\n>((props: ScopedProps<DropdownMenuRadioGroupProps>, forwardedRef) => {\n const { __scopeDropdownMenu, ...radioGroupProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return <MenuPrimitive.RadioGroup {...menuScope} {...radioGroupProps} ref={forwardedRef} />;\n});\n\nDropdownMenuRadioGroup.displayName = RADIO_GROUP_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DropdownMenuRadioItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst RADIO_ITEM_NAME = 'DropdownMenuRadioItem';\n\ntype DropdownMenuRadioItemElement = React.ElementRef<typeof MenuPrimitive.RadioItem>;\ntype MenuRadioItemProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.RadioItem>;\ninterface DropdownMenuRadioItemProps extends MenuRadioItemProps {}\n\nconst DropdownMenuRadioItem = React.forwardRef<\n DropdownMenuRadioItemElement,\n DropdownMenuRadioItemProps\n>((props: ScopedProps<DropdownMenuRadioItemProps>, forwardedRef) => {\n const { __scopeDropdownMenu, ...radioItemProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return <MenuPrimitive.RadioItem {...menuScope} {...radioItemProps} ref={forwardedRef} />;\n});\n\nDropdownMenuRadioItem.displayName = RADIO_ITEM_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DropdownMenuItemIndicator\n * -----------------------------------------------------------------------------------------------*/\n\nconst INDICATOR_NAME = 'DropdownMenuItemIndicator';\n\ntype DropdownMenuItemIndicatorElement = React.ElementRef<typeof MenuPrimitive.ItemIndicator>;\ntype MenuItemIndicatorProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.ItemIndicator>;\ninterface DropdownMenuItemIndicatorProps extends MenuItemIndicatorProps {}\n\nconst DropdownMenuItemIndicator = React.forwardRef<\n DropdownMenuItemIndicatorElement,\n DropdownMenuItemIndicatorProps\n>((props: ScopedProps<DropdownMenuItemIndicatorProps>, forwardedRef) => {\n const { __scopeDropdownMenu, ...itemIndicatorProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return <MenuPrimitive.ItemIndicator {...menuScope} {...itemIndicatorProps} ref={forwardedRef} />;\n});\n\nDropdownMenuItemIndicator.displayName = INDICATOR_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DropdownMenuSeparator\n * -----------------------------------------------------------------------------------------------*/\n\nconst SEPARATOR_NAME = 'DropdownMenuSeparator';\n\ntype DropdownMenuSeparatorElement = React.ElementRef<typeof MenuPrimitive.Separator>;\ntype MenuSeparatorProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.Separator>;\ninterface DropdownMenuSeparatorProps extends MenuSeparatorProps {}\n\nconst DropdownMenuSeparator = React.forwardRef<\n DropdownMenuSeparatorElement,\n DropdownMenuSeparatorProps\n>((props: ScopedProps<DropdownMenuSeparatorProps>, forwardedRef) => {\n const { __scopeDropdownMenu, ...separatorProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return <MenuPrimitive.Separator {...menuScope} {...separatorProps} ref={forwardedRef} />;\n});\n\nDropdownMenuSeparator.displayName = SEPARATOR_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DropdownMenuArrow\n * -----------------------------------------------------------------------------------------------*/\n\nconst ARROW_NAME = 'DropdownMenuArrow';\n\ntype DropdownMenuArrowElement = React.ElementRef<typeof MenuPrimitive.Arrow>;\ntype MenuArrowProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.Arrow>;\ninterface DropdownMenuArrowProps extends MenuArrowProps {}\n\nconst DropdownMenuArrow = React.forwardRef<DropdownMenuArrowElement, DropdownMenuArrowProps>(\n (props: ScopedProps<DropdownMenuArrowProps>, forwardedRef) => {\n const { __scopeDropdownMenu, ...arrowProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return <MenuPrimitive.Arrow {...menuScope} {...arrowProps} ref={forwardedRef} />;\n }\n);\n\nDropdownMenuArrow.displayName = ARROW_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DropdownMenuSub\n * -----------------------------------------------------------------------------------------------*/\n\ninterface DropdownMenuSubProps {\n children?: React.ReactNode;\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?(open: boolean): void;\n}\n\nconst DropdownMenuSub: React.FC<DropdownMenuSubProps> = (\n props: ScopedProps<DropdownMenuSubProps>\n) => {\n const { __scopeDropdownMenu, children, open: openProp, onOpenChange, defaultOpen } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange,\n });\n\n return (\n <MenuPrimitive.Sub {...menuScope} open={open} onOpenChange={setOpen}>\n {children}\n </MenuPrimitive.Sub>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * DropdownMenuSubTrigger\n * -----------------------------------------------------------------------------------------------*/\n\nconst SUB_TRIGGER_NAME = 'DropdownMenuSubTrigger';\n\ntype DropdownMenuSubTriggerElement = React.ElementRef<typeof MenuPrimitive.SubTrigger>;\ntype MenuSubTriggerProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.SubTrigger>;\ninterface DropdownMenuSubTriggerProps extends MenuSubTriggerProps {}\n\nconst DropdownMenuSubTrigger = React.forwardRef<\n DropdownMenuSubTriggerElement,\n DropdownMenuSubTriggerProps\n>((props: ScopedProps<DropdownMenuSubTriggerProps>, forwardedRef) => {\n const { __scopeDropdownMenu, ...subTriggerProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return <MenuPrimitive.SubTrigger {...menuScope} {...subTriggerProps} ref={forwardedRef} />;\n});\n\nDropdownMenuSubTrigger.displayName = SUB_TRIGGER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DropdownMenuSubContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst SUB_CONTENT_NAME = 'DropdownMenuSubContent';\n\ntype DropdownMenuSubContentElement = React.ElementRef<typeof MenuPrimitive.Content>;\ntype MenuSubContentProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.SubContent>;\ninterface DropdownMenuSubContentProps extends MenuSubContentProps {}\n\nconst DropdownMenuSubContent = React.forwardRef<\n DropdownMenuSubContentElement,\n DropdownMenuSubContentProps\n>((props: ScopedProps<DropdownMenuSubContentProps>, forwardedRef) => {\n const { __scopeDropdownMenu, ...subContentProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n\n return (\n <MenuPrimitive.SubContent\n {...menuScope}\n {...subContentProps}\n ref={forwardedRef}\n style={{\n ...props.style,\n // re-namespace exposed content custom properties\n ...{\n '--radix-dropdown-menu-content-transform-origin': 'var(--radix-popper-transform-origin)',\n '--radix-dropdown-menu-content-available-width': 'var(--radix-popper-available-width)',\n '--radix-dropdown-menu-content-available-height': 'var(--radix-popper-available-height)',\n '--radix-dropdown-menu-trigger-width': 'var(--radix-popper-anchor-width)',\n '--radix-dropdown-menu-trigger-height': 'var(--radix-popper-anchor-height)',\n },\n }}\n />\n );\n});\n\nDropdownMenuSubContent.displayName = SUB_CONTENT_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\nconst Root = DropdownMenu;\nconst Trigger = DropdownMenuTrigger;\nconst Portal = DropdownMenuPortal;\nconst Content = DropdownMenuContent;\nconst Group = DropdownMenuGroup;\nconst Label = DropdownMenuLabel;\nconst Item = DropdownMenuItem;\nconst CheckboxItem = DropdownMenuCheckboxItem;\nconst RadioGroup = DropdownMenuRadioGroup;\nconst RadioItem = DropdownMenuRadioItem;\nconst ItemIndicator = DropdownMenuItemIndicator;\nconst Separator = DropdownMenuSeparator;\nconst Arrow = DropdownMenuArrow;\nconst Sub = DropdownMenuSub;\nconst SubTrigger = DropdownMenuSubTrigger;\nconst SubContent = DropdownMenuSubContent;\n\nexport {\n createDropdownMenuScope,\n //\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuPortal,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuLabel,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuItemIndicator,\n DropdownMenuSeparator,\n DropdownMenuArrow,\n DropdownMenuSub,\n DropdownMenuSubTrigger,\n DropdownMenuSubContent,\n //\n Root,\n Trigger,\n Portal,\n Content,\n Group,\n Label,\n Item,\n CheckboxItem,\n RadioGroup,\n RadioItem,\n ItemIndicator,\n Separator,\n Arrow,\n Sub,\n SubTrigger,\n SubContent,\n};\nexport type {\n DropdownMenuProps,\n DropdownMenuTriggerProps,\n DropdownMenuPortalProps,\n DropdownMenuContentProps,\n DropdownMenuGroupProps,\n DropdownMenuLabelProps,\n DropdownMenuItemProps,\n DropdownMenuCheckboxItemProps,\n DropdownMenuRadioGroupProps,\n DropdownMenuRadioItemProps,\n DropdownMenuItemIndicatorProps,\n DropdownMenuSeparatorProps,\n DropdownMenuArrowProps,\n DropdownMenuSubProps,\n DropdownMenuSubTriggerProps,\n DropdownMenuSubContentProps,\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,eAAAA;AAAA,EAAA,oBAAAC;AAAA,EAAA,eAAAC;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAAAC;AAAA,EAAA,YAAAC;AAAA,EAAA,qBAAAC;AAAA,EAAA,aAAAC;AAAA,EAAA,cAAAC;AAAA,EAAA,kBAAAC;AAAA,EAAA,iBAAAC;AAAA,EAAA,YAAAC;AAAA,EAAA,iBAAAC;AAAA,EAAA,WAAAC;AAAA,EAAA,kBAAAC;AAAA,EAAA,kBAAAC;AAAA,EAAA;AAAA;AAAA;AAAA;;;ACAA,YAAuB;AACvB,uBAAqC;AACrC,gCAA4B;AAC5B,2BAAmC;AACnC,0CAAqC;AACrC,6BAA0B;AAC1B,oBAA+B;AAC/B,wBAAgC;AAChC,sBAAsB;AAsEhB;AA5DN,IAAM,qBAAqB;AAG3B,IAAM,CAAC,2BAA2B,uBAAuB,QAAI;AAAA,EAC3D;AAAA,EACA,CAAC,iCAAe;AAClB;AACA,IAAM,mBAAe,mCAAgB;AAYrC,IAAM,CAAC,sBAAsB,sBAAsB,IACjD,0BAAoD,kBAAkB;AAWxE,IAAM,eAA4C,CAAC,UAA0C;AAC3F,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,EACV,IAAI;AACJ,QAAM,YAAY,aAAa,mBAAmB;AAClD,QAAM,aAAmB,aAA0B,IAAI;AACvD,QAAM,CAAC,OAAO,OAAO,OAAO,QAAI,0DAAqB;AAAA,IACnD,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACZ,CAAC;AAED,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAO;AAAA,MACP,eAAW,uBAAM;AAAA,MACjB;AAAA,MACA,eAAW,uBAAM;AAAA,MACjB;AAAA,MACA,cAAc;AAAA,MACd,cAAoB,kBAAY,MAAM,QAAQ,CAAC,aAAa,CAAC,QAAQ,GAAG,CAAC,OAAO,CAAC;AAAA,MACjF;AAAA,MAEA,sDAAe,oBAAd,EAAoB,GAAG,WAAW,MAAY,cAAc,SAAS,KAAU,OAC7E,UACH;AAAA;AAAA,EACF;AAEJ;AAEA,aAAa,cAAc;AAM3B,IAAM,eAAe;AAMrB,IAAM,sBAA4B;AAAA,EAChC,CAAC,OAA8C,iBAAiB;AAC9D,UAAM,EAAE,qBAAqB,WAAW,OAAO,GAAG,aAAa,IAAI;AACnE,UAAM,UAAU,uBAAuB,cAAc,mBAAmB;AACxE,UAAM,YAAY,aAAa,mBAAmB;AAClD,WACE,4CAAe,sBAAd,EAAqB,SAAO,MAAE,GAAG,WAChC;AAAA,MAAC,iCAAU;AAAA,MAAV;AAAA,QACC,MAAK;AAAA,QACL,IAAI,QAAQ;AAAA,QACZ,iBAAc;AAAA,QACd,iBAAe,QAAQ;AAAA,QACvB,iBAAe,QAAQ,OAAO,QAAQ,YAAY;AAAA,QAClD,cAAY,QAAQ,OAAO,SAAS;AAAA,QACpC,iBAAe,WAAW,KAAK;AAAA,QAC/B;AAAA,QACC,GAAG;AAAA,QACJ,SAAK,uCAAY,cAAc,QAAQ,UAAU;AAAA,QACjD,mBAAe,uCAAqB,MAAM,eAAe,CAAC,UAAU;AAGlE,cAAI,CAAC,YAAY,MAAM,WAAW,KAAK,MAAM,YAAY,OAAO;AAC9D,oBAAQ,aAAa;AAGrB,gBAAI,CAAC,QAAQ,KAAM,OAAM,eAAe;AAAA,UAC1C;AAAA,QACF,CAAC;AAAA,QACD,eAAW,uCAAqB,MAAM,WAAW,CAAC,UAAU;AAC1D,cAAI,SAAU;AACd,cAAI,CAAC,SAAS,GAAG,EAAE,SAAS,MAAM,GAAG,EAAG,SAAQ,aAAa;AAC7D,cAAI,MAAM,QAAQ,YAAa,SAAQ,aAAa,IAAI;AAGxD,cAAI,CAAC,SAAS,KAAK,WAAW,EAAE,SAAS,MAAM,GAAG,EAAG,OAAM,eAAe;AAAA,QAC5E,CAAC;AAAA;AAAA,IACH,GACF;AAAA,EAEJ;AACF;AAEA,oBAAoB,cAAc;AAMlC,IAAM,cAAc;AAKpB,IAAM,qBAAwD,CAC5D,UACG;AACH,QAAM,EAAE,qBAAqB,GAAG,YAAY,IAAI;AAChD,QAAM,YAAY,aAAa,mBAAmB;AAClD,SAAO,4CAAe,sBAAd,EAAsB,GAAG,WAAY,GAAG,aAAa;AAC/D;AAEA,mBAAmB,cAAc;AAMjC,IAAM,eAAe;AAMrB,IAAM,sBAA4B;AAAA,EAChC,CAAC,OAA8C,iBAAiB;AAC9D,UAAM,EAAE,qBAAqB,GAAG,aAAa,IAAI;AACjD,UAAM,UAAU,uBAAuB,cAAc,mBAAmB;AACxE,UAAM,YAAY,aAAa,mBAAmB;AAClD,UAAM,0BAAgC,aAAO,KAAK;AAElD,WACE;AAAA,MAAe;AAAA,MAAd;AAAA,QACC,IAAI,QAAQ;AAAA,QACZ,mBAAiB,QAAQ;AAAA,QACxB,GAAG;AAAA,QACH,GAAG;AAAA,QACJ,KAAK;AAAA,QACL,sBAAkB,uCAAqB,MAAM,kBAAkB,CAAC,UAAU;AACxE,cAAI,CAAC,wBAAwB,QAAS,SAAQ,WAAW,SAAS,MAAM;AACxE,kCAAwB,UAAU;AAElC,gBAAM,eAAe;AAAA,QACvB,CAAC;AAAA,QACD,uBAAmB,uCAAqB,MAAM,mBAAmB,CAAC,UAAU;AAC1E,gBAAM,gBAAgB,MAAM,OAAO;AACnC,gBAAM,gBAAgB,cAAc,WAAW,KAAK,cAAc,YAAY;AAC9E,gBAAM,eAAe,cAAc,WAAW,KAAK;AACnD,cAAI,CAAC,QAAQ,SAAS,aAAc,yBAAwB,UAAU;AAAA,QACxE,CAAC;AAAA,QACD,OAAO;AAAA,UACL,GAAG,MAAM;AAAA;AAAA,UAET,GAAG;AAAA,YACD,kDACE;AAAA,YACF,iDAAiD;AAAA,YACjD,kDACE;AAAA,YACF,uCAAuC;AAAA,YACvC,wCAAwC;AAAA,UAC1C;AAAA,QACF;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;AAEA,oBAAoB,cAAc;AAMlC,IAAM,aAAa;AAMnB,IAAM,oBAA0B;AAAA,EAC9B,CAAC,OAA4C,iBAAiB;AAC5D,UAAM,EAAE,qBAAqB,GAAG,WAAW,IAAI;AAC/C,UAAM,YAAY,aAAa,mBAAmB;AAClD,WAAO,4CAAe,qBAAd,EAAqB,GAAG,WAAY,GAAG,YAAY,KAAK,cAAc;AAAA,EAChF;AACF;AAEA,kBAAkB,cAAc;AAMhC,IAAM,aAAa;AAMnB,IAAM,oBAA0B;AAAA,EAC9B,CAAC,OAA4C,iBAAiB;AAC5D,UAAM,EAAE,qBAAqB,GAAG,WAAW,IAAI;AAC/C,UAAM,YAAY,aAAa,mBAAmB;AAClD,WAAO,4CAAe,qBAAd,EAAqB,GAAG,WAAY,GAAG,YAAY,KAAK,cAAc;AAAA,EAChF;AACF;AAEA,kBAAkB,cAAc;AAMhC,IAAM,YAAY;AAMlB,IAAM,mBAAyB;AAAA,EAC7B,CAAC,OAA2C,iBAAiB;AAC3D,UAAM,EAAE,qBAAqB,GAAG,UAAU,IAAI;AAC9C,UAAM,YAAY,aAAa,mBAAmB;AAClD,WAAO,4CAAe,oBAAd,EAAoB,GAAG,WAAY,GAAG,WAAW,KAAK,cAAc;AAAA,EAC9E;AACF;AAEA,iBAAiB,cAAc;AAM/B,IAAM,qBAAqB;AAM3B,IAAM,2BAAiC,iBAGrC,CAAC,OAAmD,iBAAiB;AACrE,QAAM,EAAE,qBAAqB,GAAG,kBAAkB,IAAI;AACtD,QAAM,YAAY,aAAa,mBAAmB;AAClD,SAAO,4CAAe,4BAAd,EAA4B,GAAG,WAAY,GAAG,mBAAmB,KAAK,cAAc;AAC9F,CAAC;AAED,yBAAyB,cAAc;AAMvC,IAAM,mBAAmB;AAMzB,IAAM,yBAA+B,iBAGnC,CAAC,OAAiD,iBAAiB;AACnE,QAAM,EAAE,qBAAqB,GAAG,gBAAgB,IAAI;AACpD,QAAM,YAAY,aAAa,mBAAmB;AAClD,SAAO,4CAAe,0BAAd,EAA0B,GAAG,WAAY,GAAG,iBAAiB,KAAK,cAAc;AAC1F,CAAC;AAED,uBAAuB,cAAc;AAMrC,IAAM,kBAAkB;AAMxB,IAAM,wBAA8B,iBAGlC,CAAC,OAAgD,iBAAiB;AAClE,QAAM,EAAE,qBAAqB,GAAG,eAAe,IAAI;AACnD,QAAM,YAAY,aAAa,mBAAmB;AAClD,SAAO,4CAAe,yBAAd,EAAyB,GAAG,WAAY,GAAG,gBAAgB,KAAK,cAAc;AACxF,CAAC;AAED,sBAAsB,cAAc;AAMpC,IAAM,iBAAiB;AAMvB,IAAM,4BAAkC,iBAGtC,CAAC,OAAoD,iBAAiB;AACtE,QAAM,EAAE,qBAAqB,GAAG,mBAAmB,IAAI;AACvD,QAAM,YAAY,aAAa,mBAAmB;AAClD,SAAO,4CAAe,6BAAd,EAA6B,GAAG,WAAY,GAAG,oBAAoB,KAAK,cAAc;AAChG,CAAC;AAED,0BAA0B,cAAc;AAMxC,IAAM,iBAAiB;AAMvB,IAAM,wBAA8B,iBAGlC,CAAC,OAAgD,iBAAiB;AAClE,QAAM,EAAE,qBAAqB,GAAG,eAAe,IAAI;AACnD,QAAM,YAAY,aAAa,mBAAmB;AAClD,SAAO,4CAAe,yBAAd,EAAyB,GAAG,WAAY,GAAG,gBAAgB,KAAK,cAAc;AACxF,CAAC;AAED,sBAAsB,cAAc;AAMpC,IAAM,aAAa;AAMnB,IAAM,oBAA0B;AAAA,EAC9B,CAAC,OAA4C,iBAAiB;AAC5D,UAAM,EAAE,qBAAqB,GAAG,WAAW,IAAI;AAC/C,UAAM,YAAY,aAAa,mBAAmB;AAClD,WAAO,4CAAe,qBAAd,EAAqB,GAAG,WAAY,GAAG,YAAY,KAAK,cAAc;AAAA,EAChF;AACF;AAEA,kBAAkB,cAAc;AAahC,IAAM,kBAAkD,CACtD,UACG;AACH,QAAM,EAAE,qBAAqB,UAAU,MAAM,UAAU,cAAc,YAAY,IAAI;AACrF,QAAM,YAAY,aAAa,mBAAmB;AAClD,QAAM,CAAC,OAAO,OAAO,OAAO,QAAI,0DAAqB;AAAA,IACnD,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACZ,CAAC;AAED,SACE,4CAAe,mBAAd,EAAmB,GAAG,WAAW,MAAY,cAAc,SACzD,UACH;AAEJ;AAMA,IAAM,mBAAmB;AAMzB,IAAM,yBAA+B,iBAGnC,CAAC,OAAiD,iBAAiB;AACnE,QAAM,EAAE,qBAAqB,GAAG,gBAAgB,IAAI;AACpD,QAAM,YAAY,aAAa,mBAAmB;AAClD,SAAO,4CAAe,0BAAd,EAA0B,GAAG,WAAY,GAAG,iBAAiB,KAAK,cAAc;AAC1F,CAAC;AAED,uBAAuB,cAAc;AAMrC,IAAM,mBAAmB;AAMzB,IAAM,yBAA+B,iBAGnC,CAAC,OAAiD,iBAAiB;AACnE,QAAM,EAAE,qBAAqB,GAAG,gBAAgB,IAAI;AACpD,QAAM,YAAY,aAAa,mBAAmB;AAElD,SACE;AAAA,IAAe;AAAA,IAAd;AAAA,MACE,GAAG;AAAA,MACH,GAAG;AAAA,MACJ,KAAK;AAAA,MACL,OAAO;AAAA,QACL,GAAG,MAAM;AAAA;AAAA,QAET,GAAG;AAAA,UACD,kDAAkD;AAAA,UAClD,iDAAiD;AAAA,UACjD,kDAAkD;AAAA,UAClD,uCAAuC;AAAA,UACvC,wCAAwC;AAAA,QAC1C;AAAA,MACF;AAAA;AAAA,EACF;AAEJ,CAAC;AAED,uBAAuB,cAAc;AAIrC,IAAMC,QAAO;AACb,IAAM,UAAU;AAChB,IAAMC,UAAS;AACf,IAAMC,WAAU;AAChB,IAAMC,SAAQ;AACd,IAAMC,SAAQ;AACd,IAAMC,QAAO;AACb,IAAMC,gBAAe;AACrB,IAAMC,cAAa;AACnB,IAAMC,aAAY;AAClB,IAAMC,iBAAgB;AACtB,IAAMC,aAAY;AAClB,IAAMC,SAAQ;AACd,IAAMC,OAAM;AACZ,IAAMC,cAAa;AACnB,IAAMC,cAAa;",
6
+ "names": ["Arrow", "CheckboxItem", "Content", "Group", "Item", "ItemIndicator", "Label", "Portal", "RadioGroup", "RadioItem", "Root", "Separator", "Sub", "SubContent", "SubTrigger", "Root", "Portal", "Content", "Group", "Label", "Item", "CheckboxItem", "RadioGroup", "RadioItem", "ItemIndicator", "Separator", "Arrow", "Sub", "SubTrigger", "SubContent"]
7
+ }
package/dist/index.mjs ADDED
@@ -0,0 +1,303 @@
1
+ "use client";
2
+
3
+ // packages/react/dropdown-menu/src/DropdownMenu.tsx
4
+ import * as React from "react";
5
+ import { composeEventHandlers } from "@radix-ui/primitive";
6
+ import { composeRefs } from "@radix-ui/react-compose-refs";
7
+ import { createContextScope } from "@radix-ui/react-context";
8
+ import { useControllableState } from "@radix-ui/react-use-controllable-state";
9
+ import { Primitive } from "@radix-ui/react-primitive";
10
+ import * as MenuPrimitive from "@radix-ui/react-menu";
11
+ import { createMenuScope } from "@radix-ui/react-menu";
12
+ import { useId } from "@radix-ui/react-id";
13
+ import { jsx } from "react/jsx-runtime";
14
+ var DROPDOWN_MENU_NAME = "DropdownMenu";
15
+ var [createDropdownMenuContext, createDropdownMenuScope] = createContextScope(
16
+ DROPDOWN_MENU_NAME,
17
+ [createMenuScope]
18
+ );
19
+ var useMenuScope = createMenuScope();
20
+ var [DropdownMenuProvider, useDropdownMenuContext] = createDropdownMenuContext(DROPDOWN_MENU_NAME);
21
+ var DropdownMenu = (props) => {
22
+ const {
23
+ __scopeDropdownMenu,
24
+ children,
25
+ dir,
26
+ open: openProp,
27
+ defaultOpen,
28
+ onOpenChange,
29
+ modal = true
30
+ } = props;
31
+ const menuScope = useMenuScope(__scopeDropdownMenu);
32
+ const triggerRef = React.useRef(null);
33
+ const [open = false, setOpen] = useControllableState({
34
+ prop: openProp,
35
+ defaultProp: defaultOpen,
36
+ onChange: onOpenChange
37
+ });
38
+ return /* @__PURE__ */ jsx(
39
+ DropdownMenuProvider,
40
+ {
41
+ scope: __scopeDropdownMenu,
42
+ triggerId: useId(),
43
+ triggerRef,
44
+ contentId: useId(),
45
+ open,
46
+ onOpenChange: setOpen,
47
+ onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),
48
+ modal,
49
+ children: /* @__PURE__ */ jsx(MenuPrimitive.Root, { ...menuScope, open, onOpenChange: setOpen, dir, modal, children })
50
+ }
51
+ );
52
+ };
53
+ DropdownMenu.displayName = DROPDOWN_MENU_NAME;
54
+ var TRIGGER_NAME = "DropdownMenuTrigger";
55
+ var DropdownMenuTrigger = React.forwardRef(
56
+ (props, forwardedRef) => {
57
+ const { __scopeDropdownMenu, disabled = false, ...triggerProps } = props;
58
+ const context = useDropdownMenuContext(TRIGGER_NAME, __scopeDropdownMenu);
59
+ const menuScope = useMenuScope(__scopeDropdownMenu);
60
+ return /* @__PURE__ */ jsx(MenuPrimitive.Anchor, { asChild: true, ...menuScope, children: /* @__PURE__ */ jsx(
61
+ Primitive.button,
62
+ {
63
+ type: "button",
64
+ id: context.triggerId,
65
+ "aria-haspopup": "menu",
66
+ "aria-expanded": context.open,
67
+ "aria-controls": context.open ? context.contentId : void 0,
68
+ "data-state": context.open ? "open" : "closed",
69
+ "data-disabled": disabled ? "" : void 0,
70
+ disabled,
71
+ ...triggerProps,
72
+ ref: composeRefs(forwardedRef, context.triggerRef),
73
+ onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {
74
+ if (!disabled && event.button === 0 && event.ctrlKey === false) {
75
+ context.onOpenToggle();
76
+ if (!context.open) event.preventDefault();
77
+ }
78
+ }),
79
+ onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {
80
+ if (disabled) return;
81
+ if (["Enter", " "].includes(event.key)) context.onOpenToggle();
82
+ if (event.key === "ArrowDown") context.onOpenChange(true);
83
+ if (["Enter", " ", "ArrowDown"].includes(event.key)) event.preventDefault();
84
+ })
85
+ }
86
+ ) });
87
+ }
88
+ );
89
+ DropdownMenuTrigger.displayName = TRIGGER_NAME;
90
+ var PORTAL_NAME = "DropdownMenuPortal";
91
+ var DropdownMenuPortal = (props) => {
92
+ const { __scopeDropdownMenu, ...portalProps } = props;
93
+ const menuScope = useMenuScope(__scopeDropdownMenu);
94
+ return /* @__PURE__ */ jsx(MenuPrimitive.Portal, { ...menuScope, ...portalProps });
95
+ };
96
+ DropdownMenuPortal.displayName = PORTAL_NAME;
97
+ var CONTENT_NAME = "DropdownMenuContent";
98
+ var DropdownMenuContent = React.forwardRef(
99
+ (props, forwardedRef) => {
100
+ const { __scopeDropdownMenu, ...contentProps } = props;
101
+ const context = useDropdownMenuContext(CONTENT_NAME, __scopeDropdownMenu);
102
+ const menuScope = useMenuScope(__scopeDropdownMenu);
103
+ const hasInteractedOutsideRef = React.useRef(false);
104
+ return /* @__PURE__ */ jsx(
105
+ MenuPrimitive.Content,
106
+ {
107
+ id: context.contentId,
108
+ "aria-labelledby": context.triggerId,
109
+ ...menuScope,
110
+ ...contentProps,
111
+ ref: forwardedRef,
112
+ onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {
113
+ if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();
114
+ hasInteractedOutsideRef.current = false;
115
+ event.preventDefault();
116
+ }),
117
+ onInteractOutside: composeEventHandlers(props.onInteractOutside, (event) => {
118
+ const originalEvent = event.detail.originalEvent;
119
+ const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;
120
+ const isRightClick = originalEvent.button === 2 || ctrlLeftClick;
121
+ if (!context.modal || isRightClick) hasInteractedOutsideRef.current = true;
122
+ }),
123
+ style: {
124
+ ...props.style,
125
+ // re-namespace exposed content custom properties
126
+ ...{
127
+ "--radix-dropdown-menu-content-transform-origin": "var(--radix-popper-transform-origin)",
128
+ "--radix-dropdown-menu-content-available-width": "var(--radix-popper-available-width)",
129
+ "--radix-dropdown-menu-content-available-height": "var(--radix-popper-available-height)",
130
+ "--radix-dropdown-menu-trigger-width": "var(--radix-popper-anchor-width)",
131
+ "--radix-dropdown-menu-trigger-height": "var(--radix-popper-anchor-height)"
132
+ }
133
+ }
134
+ }
135
+ );
136
+ }
137
+ );
138
+ DropdownMenuContent.displayName = CONTENT_NAME;
139
+ var GROUP_NAME = "DropdownMenuGroup";
140
+ var DropdownMenuGroup = React.forwardRef(
141
+ (props, forwardedRef) => {
142
+ const { __scopeDropdownMenu, ...groupProps } = props;
143
+ const menuScope = useMenuScope(__scopeDropdownMenu);
144
+ return /* @__PURE__ */ jsx(MenuPrimitive.Group, { ...menuScope, ...groupProps, ref: forwardedRef });
145
+ }
146
+ );
147
+ DropdownMenuGroup.displayName = GROUP_NAME;
148
+ var LABEL_NAME = "DropdownMenuLabel";
149
+ var DropdownMenuLabel = React.forwardRef(
150
+ (props, forwardedRef) => {
151
+ const { __scopeDropdownMenu, ...labelProps } = props;
152
+ const menuScope = useMenuScope(__scopeDropdownMenu);
153
+ return /* @__PURE__ */ jsx(MenuPrimitive.Label, { ...menuScope, ...labelProps, ref: forwardedRef });
154
+ }
155
+ );
156
+ DropdownMenuLabel.displayName = LABEL_NAME;
157
+ var ITEM_NAME = "DropdownMenuItem";
158
+ var DropdownMenuItem = React.forwardRef(
159
+ (props, forwardedRef) => {
160
+ const { __scopeDropdownMenu, ...itemProps } = props;
161
+ const menuScope = useMenuScope(__scopeDropdownMenu);
162
+ return /* @__PURE__ */ jsx(MenuPrimitive.Item, { ...menuScope, ...itemProps, ref: forwardedRef });
163
+ }
164
+ );
165
+ DropdownMenuItem.displayName = ITEM_NAME;
166
+ var CHECKBOX_ITEM_NAME = "DropdownMenuCheckboxItem";
167
+ var DropdownMenuCheckboxItem = React.forwardRef((props, forwardedRef) => {
168
+ const { __scopeDropdownMenu, ...checkboxItemProps } = props;
169
+ const menuScope = useMenuScope(__scopeDropdownMenu);
170
+ return /* @__PURE__ */ jsx(MenuPrimitive.CheckboxItem, { ...menuScope, ...checkboxItemProps, ref: forwardedRef });
171
+ });
172
+ DropdownMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;
173
+ var RADIO_GROUP_NAME = "DropdownMenuRadioGroup";
174
+ var DropdownMenuRadioGroup = React.forwardRef((props, forwardedRef) => {
175
+ const { __scopeDropdownMenu, ...radioGroupProps } = props;
176
+ const menuScope = useMenuScope(__scopeDropdownMenu);
177
+ return /* @__PURE__ */ jsx(MenuPrimitive.RadioGroup, { ...menuScope, ...radioGroupProps, ref: forwardedRef });
178
+ });
179
+ DropdownMenuRadioGroup.displayName = RADIO_GROUP_NAME;
180
+ var RADIO_ITEM_NAME = "DropdownMenuRadioItem";
181
+ var DropdownMenuRadioItem = React.forwardRef((props, forwardedRef) => {
182
+ const { __scopeDropdownMenu, ...radioItemProps } = props;
183
+ const menuScope = useMenuScope(__scopeDropdownMenu);
184
+ return /* @__PURE__ */ jsx(MenuPrimitive.RadioItem, { ...menuScope, ...radioItemProps, ref: forwardedRef });
185
+ });
186
+ DropdownMenuRadioItem.displayName = RADIO_ITEM_NAME;
187
+ var INDICATOR_NAME = "DropdownMenuItemIndicator";
188
+ var DropdownMenuItemIndicator = React.forwardRef((props, forwardedRef) => {
189
+ const { __scopeDropdownMenu, ...itemIndicatorProps } = props;
190
+ const menuScope = useMenuScope(__scopeDropdownMenu);
191
+ return /* @__PURE__ */ jsx(MenuPrimitive.ItemIndicator, { ...menuScope, ...itemIndicatorProps, ref: forwardedRef });
192
+ });
193
+ DropdownMenuItemIndicator.displayName = INDICATOR_NAME;
194
+ var SEPARATOR_NAME = "DropdownMenuSeparator";
195
+ var DropdownMenuSeparator = React.forwardRef((props, forwardedRef) => {
196
+ const { __scopeDropdownMenu, ...separatorProps } = props;
197
+ const menuScope = useMenuScope(__scopeDropdownMenu);
198
+ return /* @__PURE__ */ jsx(MenuPrimitive.Separator, { ...menuScope, ...separatorProps, ref: forwardedRef });
199
+ });
200
+ DropdownMenuSeparator.displayName = SEPARATOR_NAME;
201
+ var ARROW_NAME = "DropdownMenuArrow";
202
+ var DropdownMenuArrow = React.forwardRef(
203
+ (props, forwardedRef) => {
204
+ const { __scopeDropdownMenu, ...arrowProps } = props;
205
+ const menuScope = useMenuScope(__scopeDropdownMenu);
206
+ return /* @__PURE__ */ jsx(MenuPrimitive.Arrow, { ...menuScope, ...arrowProps, ref: forwardedRef });
207
+ }
208
+ );
209
+ DropdownMenuArrow.displayName = ARROW_NAME;
210
+ var DropdownMenuSub = (props) => {
211
+ const { __scopeDropdownMenu, children, open: openProp, onOpenChange, defaultOpen } = props;
212
+ const menuScope = useMenuScope(__scopeDropdownMenu);
213
+ const [open = false, setOpen] = useControllableState({
214
+ prop: openProp,
215
+ defaultProp: defaultOpen,
216
+ onChange: onOpenChange
217
+ });
218
+ return /* @__PURE__ */ jsx(MenuPrimitive.Sub, { ...menuScope, open, onOpenChange: setOpen, children });
219
+ };
220
+ var SUB_TRIGGER_NAME = "DropdownMenuSubTrigger";
221
+ var DropdownMenuSubTrigger = React.forwardRef((props, forwardedRef) => {
222
+ const { __scopeDropdownMenu, ...subTriggerProps } = props;
223
+ const menuScope = useMenuScope(__scopeDropdownMenu);
224
+ return /* @__PURE__ */ jsx(MenuPrimitive.SubTrigger, { ...menuScope, ...subTriggerProps, ref: forwardedRef });
225
+ });
226
+ DropdownMenuSubTrigger.displayName = SUB_TRIGGER_NAME;
227
+ var SUB_CONTENT_NAME = "DropdownMenuSubContent";
228
+ var DropdownMenuSubContent = React.forwardRef((props, forwardedRef) => {
229
+ const { __scopeDropdownMenu, ...subContentProps } = props;
230
+ const menuScope = useMenuScope(__scopeDropdownMenu);
231
+ return /* @__PURE__ */ jsx(
232
+ MenuPrimitive.SubContent,
233
+ {
234
+ ...menuScope,
235
+ ...subContentProps,
236
+ ref: forwardedRef,
237
+ style: {
238
+ ...props.style,
239
+ // re-namespace exposed content custom properties
240
+ ...{
241
+ "--radix-dropdown-menu-content-transform-origin": "var(--radix-popper-transform-origin)",
242
+ "--radix-dropdown-menu-content-available-width": "var(--radix-popper-available-width)",
243
+ "--radix-dropdown-menu-content-available-height": "var(--radix-popper-available-height)",
244
+ "--radix-dropdown-menu-trigger-width": "var(--radix-popper-anchor-width)",
245
+ "--radix-dropdown-menu-trigger-height": "var(--radix-popper-anchor-height)"
246
+ }
247
+ }
248
+ }
249
+ );
250
+ });
251
+ DropdownMenuSubContent.displayName = SUB_CONTENT_NAME;
252
+ var Root2 = DropdownMenu;
253
+ var Trigger = DropdownMenuTrigger;
254
+ var Portal2 = DropdownMenuPortal;
255
+ var Content2 = DropdownMenuContent;
256
+ var Group2 = DropdownMenuGroup;
257
+ var Label2 = DropdownMenuLabel;
258
+ var Item2 = DropdownMenuItem;
259
+ var CheckboxItem2 = DropdownMenuCheckboxItem;
260
+ var RadioGroup2 = DropdownMenuRadioGroup;
261
+ var RadioItem2 = DropdownMenuRadioItem;
262
+ var ItemIndicator2 = DropdownMenuItemIndicator;
263
+ var Separator2 = DropdownMenuSeparator;
264
+ var Arrow2 = DropdownMenuArrow;
265
+ var Sub2 = DropdownMenuSub;
266
+ var SubTrigger2 = DropdownMenuSubTrigger;
267
+ var SubContent2 = DropdownMenuSubContent;
268
+ export {
269
+ Arrow2 as Arrow,
270
+ CheckboxItem2 as CheckboxItem,
271
+ Content2 as Content,
272
+ DropdownMenu,
273
+ DropdownMenuArrow,
274
+ DropdownMenuCheckboxItem,
275
+ DropdownMenuContent,
276
+ DropdownMenuGroup,
277
+ DropdownMenuItem,
278
+ DropdownMenuItemIndicator,
279
+ DropdownMenuLabel,
280
+ DropdownMenuPortal,
281
+ DropdownMenuRadioGroup,
282
+ DropdownMenuRadioItem,
283
+ DropdownMenuSeparator,
284
+ DropdownMenuSub,
285
+ DropdownMenuSubContent,
286
+ DropdownMenuSubTrigger,
287
+ DropdownMenuTrigger,
288
+ Group2 as Group,
289
+ Item2 as Item,
290
+ ItemIndicator2 as ItemIndicator,
291
+ Label2 as Label,
292
+ Portal2 as Portal,
293
+ RadioGroup2 as RadioGroup,
294
+ RadioItem2 as RadioItem,
295
+ Root2 as Root,
296
+ Separator2 as Separator,
297
+ Sub2 as Sub,
298
+ SubContent2 as SubContent,
299
+ SubTrigger2 as SubTrigger,
300
+ Trigger,
301
+ createDropdownMenuScope
302
+ };
303
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/DropdownMenu.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { composeRefs } from '@radix-ui/react-compose-refs';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport * as MenuPrimitive from '@radix-ui/react-menu';\nimport { createMenuScope } from '@radix-ui/react-menu';\nimport { useId } from '@radix-ui/react-id';\n\nimport type { Scope } from '@radix-ui/react-context';\n\ntype Direction = 'ltr' | 'rtl';\n\n/* -------------------------------------------------------------------------------------------------\n * DropdownMenu\n * -----------------------------------------------------------------------------------------------*/\n\nconst DROPDOWN_MENU_NAME = 'DropdownMenu';\n\ntype ScopedProps<P> = P & { __scopeDropdownMenu?: Scope };\nconst [createDropdownMenuContext, createDropdownMenuScope] = createContextScope(\n DROPDOWN_MENU_NAME,\n [createMenuScope]\n);\nconst useMenuScope = createMenuScope();\n\ntype DropdownMenuContextValue = {\n triggerId: string;\n triggerRef: React.RefObject<HTMLButtonElement | null>;\n contentId: string;\n open: boolean;\n onOpenChange(open: boolean): void;\n onOpenToggle(): void;\n modal: boolean;\n};\n\nconst [DropdownMenuProvider, useDropdownMenuContext] =\n createDropdownMenuContext<DropdownMenuContextValue>(DROPDOWN_MENU_NAME);\n\ninterface DropdownMenuProps {\n children?: React.ReactNode;\n dir?: Direction;\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?(open: boolean): void;\n modal?: boolean;\n}\n\nconst DropdownMenu: React.FC<DropdownMenuProps> = (props: ScopedProps<DropdownMenuProps>) => {\n const {\n __scopeDropdownMenu,\n children,\n dir,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = true,\n } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n const triggerRef = React.useRef<HTMLButtonElement>(null);\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange,\n });\n\n return (\n <DropdownMenuProvider\n scope={__scopeDropdownMenu}\n triggerId={useId()}\n triggerRef={triggerRef}\n contentId={useId()}\n open={open}\n onOpenChange={setOpen}\n onOpenToggle={React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen])}\n modal={modal}\n >\n <MenuPrimitive.Root {...menuScope} open={open} onOpenChange={setOpen} dir={dir} modal={modal}>\n {children}\n </MenuPrimitive.Root>\n </DropdownMenuProvider>\n );\n};\n\nDropdownMenu.displayName = DROPDOWN_MENU_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DropdownMenuTrigger\n * -----------------------------------------------------------------------------------------------*/\n\nconst TRIGGER_NAME = 'DropdownMenuTrigger';\n\ntype DropdownMenuTriggerElement = React.ElementRef<typeof Primitive.button>;\ntype PrimitiveButtonProps = React.ComponentPropsWithoutRef<typeof Primitive.button>;\ninterface DropdownMenuTriggerProps extends PrimitiveButtonProps {}\n\nconst DropdownMenuTrigger = React.forwardRef<DropdownMenuTriggerElement, DropdownMenuTriggerProps>(\n (props: ScopedProps<DropdownMenuTriggerProps>, forwardedRef) => {\n const { __scopeDropdownMenu, disabled = false, ...triggerProps } = props;\n const context = useDropdownMenuContext(TRIGGER_NAME, __scopeDropdownMenu);\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return (\n <MenuPrimitive.Anchor asChild {...menuScope}>\n <Primitive.button\n type=\"button\"\n id={context.triggerId}\n aria-haspopup=\"menu\"\n aria-expanded={context.open}\n aria-controls={context.open ? context.contentId : undefined}\n data-state={context.open ? 'open' : 'closed'}\n data-disabled={disabled ? '' : undefined}\n disabled={disabled}\n {...triggerProps}\n ref={composeRefs(forwardedRef, context.triggerRef)}\n onPointerDown={composeEventHandlers(props.onPointerDown, (event) => {\n // only call handler if it's the left button (mousedown gets triggered by all mouse buttons)\n // but not when the control key is pressed (avoiding MacOS right click)\n if (!disabled && event.button === 0 && event.ctrlKey === false) {\n context.onOpenToggle();\n // prevent trigger focusing when opening\n // this allows the content to be given focus without competition\n if (!context.open) event.preventDefault();\n }\n })}\n onKeyDown={composeEventHandlers(props.onKeyDown, (event) => {\n if (disabled) return;\n if (['Enter', ' '].includes(event.key)) context.onOpenToggle();\n if (event.key === 'ArrowDown') context.onOpenChange(true);\n // prevent keydown from scrolling window / first focused item to execute\n // that keydown (inadvertently closing the menu)\n if (['Enter', ' ', 'ArrowDown'].includes(event.key)) event.preventDefault();\n })}\n />\n </MenuPrimitive.Anchor>\n );\n }\n);\n\nDropdownMenuTrigger.displayName = TRIGGER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DropdownMenuPortal\n * -----------------------------------------------------------------------------------------------*/\n\nconst PORTAL_NAME = 'DropdownMenuPortal';\n\ntype MenuPortalProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.Portal>;\ninterface DropdownMenuPortalProps extends MenuPortalProps {}\n\nconst DropdownMenuPortal: React.FC<DropdownMenuPortalProps> = (\n props: ScopedProps<DropdownMenuPortalProps>\n) => {\n const { __scopeDropdownMenu, ...portalProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return <MenuPrimitive.Portal {...menuScope} {...portalProps} />;\n};\n\nDropdownMenuPortal.displayName = PORTAL_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DropdownMenuContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_NAME = 'DropdownMenuContent';\n\ntype DropdownMenuContentElement = React.ElementRef<typeof MenuPrimitive.Content>;\ntype MenuContentProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.Content>;\ninterface DropdownMenuContentProps extends Omit<MenuContentProps, 'onEntryFocus'> {}\n\nconst DropdownMenuContent = React.forwardRef<DropdownMenuContentElement, DropdownMenuContentProps>(\n (props: ScopedProps<DropdownMenuContentProps>, forwardedRef) => {\n const { __scopeDropdownMenu, ...contentProps } = props;\n const context = useDropdownMenuContext(CONTENT_NAME, __scopeDropdownMenu);\n const menuScope = useMenuScope(__scopeDropdownMenu);\n const hasInteractedOutsideRef = React.useRef(false);\n\n return (\n <MenuPrimitive.Content\n id={context.contentId}\n aria-labelledby={context.triggerId}\n {...menuScope}\n {...contentProps}\n ref={forwardedRef}\n onCloseAutoFocus={composeEventHandlers(props.onCloseAutoFocus, (event) => {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n hasInteractedOutsideRef.current = false;\n // Always prevent auto focus because we either focus manually or want user agent focus\n event.preventDefault();\n })}\n onInteractOutside={composeEventHandlers(props.onInteractOutside, (event) => {\n const originalEvent = event.detail.originalEvent as PointerEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n if (!context.modal || isRightClick) hasInteractedOutsideRef.current = true;\n })}\n style={{\n ...props.style,\n // re-namespace exposed content custom properties\n ...{\n '--radix-dropdown-menu-content-transform-origin':\n 'var(--radix-popper-transform-origin)',\n '--radix-dropdown-menu-content-available-width': 'var(--radix-popper-available-width)',\n '--radix-dropdown-menu-content-available-height':\n 'var(--radix-popper-available-height)',\n '--radix-dropdown-menu-trigger-width': 'var(--radix-popper-anchor-width)',\n '--radix-dropdown-menu-trigger-height': 'var(--radix-popper-anchor-height)',\n },\n }}\n />\n );\n }\n);\n\nDropdownMenuContent.displayName = CONTENT_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DropdownMenuGroup\n * -----------------------------------------------------------------------------------------------*/\n\nconst GROUP_NAME = 'DropdownMenuGroup';\n\ntype DropdownMenuGroupElement = React.ElementRef<typeof MenuPrimitive.Group>;\ntype MenuGroupProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.Group>;\ninterface DropdownMenuGroupProps extends MenuGroupProps {}\n\nconst DropdownMenuGroup = React.forwardRef<DropdownMenuGroupElement, DropdownMenuGroupProps>(\n (props: ScopedProps<DropdownMenuGroupProps>, forwardedRef) => {\n const { __scopeDropdownMenu, ...groupProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return <MenuPrimitive.Group {...menuScope} {...groupProps} ref={forwardedRef} />;\n }\n);\n\nDropdownMenuGroup.displayName = GROUP_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DropdownMenuLabel\n * -----------------------------------------------------------------------------------------------*/\n\nconst LABEL_NAME = 'DropdownMenuLabel';\n\ntype DropdownMenuLabelElement = React.ElementRef<typeof MenuPrimitive.Label>;\ntype MenuLabelProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.Label>;\ninterface DropdownMenuLabelProps extends MenuLabelProps {}\n\nconst DropdownMenuLabel = React.forwardRef<DropdownMenuLabelElement, DropdownMenuLabelProps>(\n (props: ScopedProps<DropdownMenuLabelProps>, forwardedRef) => {\n const { __scopeDropdownMenu, ...labelProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return <MenuPrimitive.Label {...menuScope} {...labelProps} ref={forwardedRef} />;\n }\n);\n\nDropdownMenuLabel.displayName = LABEL_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DropdownMenuItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst ITEM_NAME = 'DropdownMenuItem';\n\ntype DropdownMenuItemElement = React.ElementRef<typeof MenuPrimitive.Item>;\ntype MenuItemProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.Item>;\ninterface DropdownMenuItemProps extends MenuItemProps {}\n\nconst DropdownMenuItem = React.forwardRef<DropdownMenuItemElement, DropdownMenuItemProps>(\n (props: ScopedProps<DropdownMenuItemProps>, forwardedRef) => {\n const { __scopeDropdownMenu, ...itemProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return <MenuPrimitive.Item {...menuScope} {...itemProps} ref={forwardedRef} />;\n }\n);\n\nDropdownMenuItem.displayName = ITEM_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DropdownMenuCheckboxItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst CHECKBOX_ITEM_NAME = 'DropdownMenuCheckboxItem';\n\ntype DropdownMenuCheckboxItemElement = React.ElementRef<typeof MenuPrimitive.CheckboxItem>;\ntype MenuCheckboxItemProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.CheckboxItem>;\ninterface DropdownMenuCheckboxItemProps extends MenuCheckboxItemProps {}\n\nconst DropdownMenuCheckboxItem = React.forwardRef<\n DropdownMenuCheckboxItemElement,\n DropdownMenuCheckboxItemProps\n>((props: ScopedProps<DropdownMenuCheckboxItemProps>, forwardedRef) => {\n const { __scopeDropdownMenu, ...checkboxItemProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return <MenuPrimitive.CheckboxItem {...menuScope} {...checkboxItemProps} ref={forwardedRef} />;\n});\n\nDropdownMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DropdownMenuRadioGroup\n * -----------------------------------------------------------------------------------------------*/\n\nconst RADIO_GROUP_NAME = 'DropdownMenuRadioGroup';\n\ntype DropdownMenuRadioGroupElement = React.ElementRef<typeof MenuPrimitive.RadioGroup>;\ntype MenuRadioGroupProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.RadioGroup>;\ninterface DropdownMenuRadioGroupProps extends MenuRadioGroupProps {}\n\nconst DropdownMenuRadioGroup = React.forwardRef<\n DropdownMenuRadioGroupElement,\n DropdownMenuRadioGroupProps\n>((props: ScopedProps<DropdownMenuRadioGroupProps>, forwardedRef) => {\n const { __scopeDropdownMenu, ...radioGroupProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return <MenuPrimitive.RadioGroup {...menuScope} {...radioGroupProps} ref={forwardedRef} />;\n});\n\nDropdownMenuRadioGroup.displayName = RADIO_GROUP_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DropdownMenuRadioItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst RADIO_ITEM_NAME = 'DropdownMenuRadioItem';\n\ntype DropdownMenuRadioItemElement = React.ElementRef<typeof MenuPrimitive.RadioItem>;\ntype MenuRadioItemProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.RadioItem>;\ninterface DropdownMenuRadioItemProps extends MenuRadioItemProps {}\n\nconst DropdownMenuRadioItem = React.forwardRef<\n DropdownMenuRadioItemElement,\n DropdownMenuRadioItemProps\n>((props: ScopedProps<DropdownMenuRadioItemProps>, forwardedRef) => {\n const { __scopeDropdownMenu, ...radioItemProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return <MenuPrimitive.RadioItem {...menuScope} {...radioItemProps} ref={forwardedRef} />;\n});\n\nDropdownMenuRadioItem.displayName = RADIO_ITEM_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DropdownMenuItemIndicator\n * -----------------------------------------------------------------------------------------------*/\n\nconst INDICATOR_NAME = 'DropdownMenuItemIndicator';\n\ntype DropdownMenuItemIndicatorElement = React.ElementRef<typeof MenuPrimitive.ItemIndicator>;\ntype MenuItemIndicatorProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.ItemIndicator>;\ninterface DropdownMenuItemIndicatorProps extends MenuItemIndicatorProps {}\n\nconst DropdownMenuItemIndicator = React.forwardRef<\n DropdownMenuItemIndicatorElement,\n DropdownMenuItemIndicatorProps\n>((props: ScopedProps<DropdownMenuItemIndicatorProps>, forwardedRef) => {\n const { __scopeDropdownMenu, ...itemIndicatorProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return <MenuPrimitive.ItemIndicator {...menuScope} {...itemIndicatorProps} ref={forwardedRef} />;\n});\n\nDropdownMenuItemIndicator.displayName = INDICATOR_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DropdownMenuSeparator\n * -----------------------------------------------------------------------------------------------*/\n\nconst SEPARATOR_NAME = 'DropdownMenuSeparator';\n\ntype DropdownMenuSeparatorElement = React.ElementRef<typeof MenuPrimitive.Separator>;\ntype MenuSeparatorProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.Separator>;\ninterface DropdownMenuSeparatorProps extends MenuSeparatorProps {}\n\nconst DropdownMenuSeparator = React.forwardRef<\n DropdownMenuSeparatorElement,\n DropdownMenuSeparatorProps\n>((props: ScopedProps<DropdownMenuSeparatorProps>, forwardedRef) => {\n const { __scopeDropdownMenu, ...separatorProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return <MenuPrimitive.Separator {...menuScope} {...separatorProps} ref={forwardedRef} />;\n});\n\nDropdownMenuSeparator.displayName = SEPARATOR_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DropdownMenuArrow\n * -----------------------------------------------------------------------------------------------*/\n\nconst ARROW_NAME = 'DropdownMenuArrow';\n\ntype DropdownMenuArrowElement = React.ElementRef<typeof MenuPrimitive.Arrow>;\ntype MenuArrowProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.Arrow>;\ninterface DropdownMenuArrowProps extends MenuArrowProps {}\n\nconst DropdownMenuArrow = React.forwardRef<DropdownMenuArrowElement, DropdownMenuArrowProps>(\n (props: ScopedProps<DropdownMenuArrowProps>, forwardedRef) => {\n const { __scopeDropdownMenu, ...arrowProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return <MenuPrimitive.Arrow {...menuScope} {...arrowProps} ref={forwardedRef} />;\n }\n);\n\nDropdownMenuArrow.displayName = ARROW_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DropdownMenuSub\n * -----------------------------------------------------------------------------------------------*/\n\ninterface DropdownMenuSubProps {\n children?: React.ReactNode;\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?(open: boolean): void;\n}\n\nconst DropdownMenuSub: React.FC<DropdownMenuSubProps> = (\n props: ScopedProps<DropdownMenuSubProps>\n) => {\n const { __scopeDropdownMenu, children, open: openProp, onOpenChange, defaultOpen } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange,\n });\n\n return (\n <MenuPrimitive.Sub {...menuScope} open={open} onOpenChange={setOpen}>\n {children}\n </MenuPrimitive.Sub>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * DropdownMenuSubTrigger\n * -----------------------------------------------------------------------------------------------*/\n\nconst SUB_TRIGGER_NAME = 'DropdownMenuSubTrigger';\n\ntype DropdownMenuSubTriggerElement = React.ElementRef<typeof MenuPrimitive.SubTrigger>;\ntype MenuSubTriggerProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.SubTrigger>;\ninterface DropdownMenuSubTriggerProps extends MenuSubTriggerProps {}\n\nconst DropdownMenuSubTrigger = React.forwardRef<\n DropdownMenuSubTriggerElement,\n DropdownMenuSubTriggerProps\n>((props: ScopedProps<DropdownMenuSubTriggerProps>, forwardedRef) => {\n const { __scopeDropdownMenu, ...subTriggerProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return <MenuPrimitive.SubTrigger {...menuScope} {...subTriggerProps} ref={forwardedRef} />;\n});\n\nDropdownMenuSubTrigger.displayName = SUB_TRIGGER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DropdownMenuSubContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst SUB_CONTENT_NAME = 'DropdownMenuSubContent';\n\ntype DropdownMenuSubContentElement = React.ElementRef<typeof MenuPrimitive.Content>;\ntype MenuSubContentProps = React.ComponentPropsWithoutRef<typeof MenuPrimitive.SubContent>;\ninterface DropdownMenuSubContentProps extends MenuSubContentProps {}\n\nconst DropdownMenuSubContent = React.forwardRef<\n DropdownMenuSubContentElement,\n DropdownMenuSubContentProps\n>((props: ScopedProps<DropdownMenuSubContentProps>, forwardedRef) => {\n const { __scopeDropdownMenu, ...subContentProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n\n return (\n <MenuPrimitive.SubContent\n {...menuScope}\n {...subContentProps}\n ref={forwardedRef}\n style={{\n ...props.style,\n // re-namespace exposed content custom properties\n ...{\n '--radix-dropdown-menu-content-transform-origin': 'var(--radix-popper-transform-origin)',\n '--radix-dropdown-menu-content-available-width': 'var(--radix-popper-available-width)',\n '--radix-dropdown-menu-content-available-height': 'var(--radix-popper-available-height)',\n '--radix-dropdown-menu-trigger-width': 'var(--radix-popper-anchor-width)',\n '--radix-dropdown-menu-trigger-height': 'var(--radix-popper-anchor-height)',\n },\n }}\n />\n );\n});\n\nDropdownMenuSubContent.displayName = SUB_CONTENT_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\nconst Root = DropdownMenu;\nconst Trigger = DropdownMenuTrigger;\nconst Portal = DropdownMenuPortal;\nconst Content = DropdownMenuContent;\nconst Group = DropdownMenuGroup;\nconst Label = DropdownMenuLabel;\nconst Item = DropdownMenuItem;\nconst CheckboxItem = DropdownMenuCheckboxItem;\nconst RadioGroup = DropdownMenuRadioGroup;\nconst RadioItem = DropdownMenuRadioItem;\nconst ItemIndicator = DropdownMenuItemIndicator;\nconst Separator = DropdownMenuSeparator;\nconst Arrow = DropdownMenuArrow;\nconst Sub = DropdownMenuSub;\nconst SubTrigger = DropdownMenuSubTrigger;\nconst SubContent = DropdownMenuSubContent;\n\nexport {\n createDropdownMenuScope,\n //\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuPortal,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuLabel,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuItemIndicator,\n DropdownMenuSeparator,\n DropdownMenuArrow,\n DropdownMenuSub,\n DropdownMenuSubTrigger,\n DropdownMenuSubContent,\n //\n Root,\n Trigger,\n Portal,\n Content,\n Group,\n Label,\n Item,\n CheckboxItem,\n RadioGroup,\n RadioItem,\n ItemIndicator,\n Separator,\n Arrow,\n Sub,\n SubTrigger,\n SubContent,\n};\nexport type {\n DropdownMenuProps,\n DropdownMenuTriggerProps,\n DropdownMenuPortalProps,\n DropdownMenuContentProps,\n DropdownMenuGroupProps,\n DropdownMenuLabelProps,\n DropdownMenuItemProps,\n DropdownMenuCheckboxItemProps,\n DropdownMenuRadioGroupProps,\n DropdownMenuRadioItemProps,\n DropdownMenuItemIndicatorProps,\n DropdownMenuSeparatorProps,\n DropdownMenuArrowProps,\n DropdownMenuSubProps,\n DropdownMenuSubTriggerProps,\n DropdownMenuSubContentProps,\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["Root", "Portal", "Content", "Group", "Label", "Item", "CheckboxItem", "RadioGroup", "RadioItem", "ItemIndicator", "Separator", "Arrow", "Sub", "SubTrigger", "SubContent"]
7
+ }
package/package.json ADDED
@@ -0,0 +1,60 @@
1
+ {
2
+ "name": "@radix-ui/react-dropdown-menu",
3
+ "version": "0.0.0-20250116175529",
4
+ "license": "MIT",
5
+ "exports": {
6
+ ".": {
7
+ "import": {
8
+ "types": "./dist/index.d.mts",
9
+ "default": "./dist/index.mjs"
10
+ },
11
+ "require": {
12
+ "types": "./dist/index.d.ts",
13
+ "default": "./dist/index.js"
14
+ }
15
+ }
16
+ },
17
+ "source": "./src/index.ts",
18
+ "main": "./dist/index.js",
19
+ "module": "./dist/index.mjs",
20
+ "types": "./dist/index.d.ts",
21
+ "files": [
22
+ "dist",
23
+ "README.md"
24
+ ],
25
+ "sideEffects": false,
26
+ "scripts": {
27
+ "clean": "rm -rf dist"
28
+ },
29
+ "dependencies": {
30
+ "@radix-ui/primitive": "workspace:*",
31
+ "@radix-ui/react-compose-refs": "workspace:*",
32
+ "@radix-ui/react-context": "workspace:*",
33
+ "@radix-ui/react-id": "workspace:*",
34
+ "@radix-ui/react-menu": "workspace:*",
35
+ "@radix-ui/react-primitive": "workspace:*",
36
+ "@radix-ui/react-use-controllable-state": "workspace:*"
37
+ },
38
+ "peerDependencies": {
39
+ "@types/react": "*",
40
+ "@types/react-dom": "*",
41
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
42
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
43
+ },
44
+ "peerDependenciesMeta": {
45
+ "@types/react": {
46
+ "optional": true
47
+ },
48
+ "@types/react-dom": {
49
+ "optional": true
50
+ }
51
+ },
52
+ "homepage": "https://radix-ui.com/primitives",
53
+ "repository": {
54
+ "type": "git",
55
+ "url": "git+https://github.com/radix-ui/primitives.git"
56
+ },
57
+ "bugs": {
58
+ "url": "https://github.com/radix-ui/primitives/issues"
59
+ }
60
+ }