@tamagui/menu 1.144.2 → 1.144.4

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.
@@ -0,0 +1,301 @@
1
+ "use strict";
2
+
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
+ __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __export = (target, all) => {
10
+ for (var name in all) __defProp(target, name, {
11
+ get: all[name],
12
+ enumerable: !0
13
+ });
14
+ },
15
+ __copyProps = (to, from, except, desc) => {
16
+ if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
17
+ get: () => from[key],
18
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
19
+ });
20
+ return to;
21
+ };
22
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
23
+ // If the importer is in node compatibility mode or this is not an ESM
24
+ // file that has been converted to a CommonJS file using a Babel-
25
+ // compatible transform (i.e. "__esModule" has not been set), then set
26
+ // "default" to the CommonJS "module.exports" for node compatibility.
27
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
28
+ value: mod,
29
+ enumerable: !0
30
+ }) : target, mod)),
31
+ __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
32
+ value: !0
33
+ }), mod);
34
+ var createNonNativeMenu_exports = {};
35
+ __export(createNonNativeMenu_exports, {
36
+ DROPDOWN_MENU_CONTEXT: () => DROPDOWN_MENU_CONTEXT,
37
+ createNonNativeMenu: () => createNonNativeMenu
38
+ });
39
+ module.exports = __toCommonJS(createNonNativeMenu_exports);
40
+ var import_jsx_runtime = require("react/jsx-runtime"),
41
+ import_create_menu = require("@tamagui/create-menu"),
42
+ import_scroll_view = require("@tamagui/scroll-view"),
43
+ import_use_controllable_state = require("@tamagui/use-controllable-state"),
44
+ import_web = require("@tamagui/web"),
45
+ React = __toESM(require("react"), 1),
46
+ import_react = require("react");
47
+ function _instanceof(left, right) {
48
+ return right != null && typeof Symbol < "u" && right[Symbol.hasInstance] ? !!right[Symbol.hasInstance](left) : left instanceof right;
49
+ }
50
+ var DROPDOWN_MENU_CONTEXT = "MenuContext";
51
+ function createNonNativeMenu(params) {
52
+ var {
53
+ Menu
54
+ } = (0, import_create_menu.createBaseMenu)(params),
55
+ DROPDOWN_MENU_NAME = "Menu",
56
+ {
57
+ Provider: MenuProvider,
58
+ useStyledContext: useMenuContext
59
+ } = (0, import_web.createStyledContext)(),
60
+ MenuComp = function (props) {
61
+ var {
62
+ scope,
63
+ children,
64
+ dir,
65
+ open: openProp,
66
+ defaultOpen,
67
+ onOpenChange,
68
+ modal = !0,
69
+ ...rest
70
+ } = props,
71
+ triggerRef = React.useRef(null),
72
+ [open = !1, setOpen] = (0, import_use_controllable_state.useControllableState)({
73
+ prop: openProp,
74
+ defaultProp: defaultOpen,
75
+ onChange: onOpenChange
76
+ });
77
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(MenuProvider, {
78
+ scope,
79
+ triggerId: (0, import_react.useId)(),
80
+ triggerRef,
81
+ contentId: (0, import_react.useId)(),
82
+ open,
83
+ onOpenChange: setOpen,
84
+ onOpenToggle: React.useCallback(function () {
85
+ return setOpen(function (prevOpen) {
86
+ return !prevOpen;
87
+ });
88
+ }, [setOpen]),
89
+ modal,
90
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(Menu, {
91
+ scope: scope || DROPDOWN_MENU_CONTEXT,
92
+ open,
93
+ onOpenChange: setOpen,
94
+ dir,
95
+ modal,
96
+ ...rest,
97
+ children
98
+ })
99
+ });
100
+ };
101
+ MenuComp.displayName = DROPDOWN_MENU_NAME;
102
+ var TRIGGER_NAME = "MenuTrigger",
103
+ MenuTriggerFrame = Menu.Anchor,
104
+ MenuTrigger = import_web.View.styleable(function (props, forwardedRef) {
105
+ var {
106
+ scope,
107
+ asChild,
108
+ children,
109
+ disabled = !1,
110
+ onKeydown,
111
+ ...triggerProps
112
+ } = props,
113
+ context = useMenuContext(scope),
114
+ Comp = asChild ? import_web.Slot : import_web.View,
115
+ isTouchDevice = (0, import_web.useIsTouchDevice)(),
116
+ pressEvent = import_web.isWeb ? isTouchDevice ? "onClick" : "onPointerDown" : "onPress";
117
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(MenuTriggerFrame, {
118
+ asChild: !0,
119
+ componentName: TRIGGER_NAME,
120
+ scope: scope || DROPDOWN_MENU_CONTEXT,
121
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(Comp, {
122
+ role: "button",
123
+ id: context.triggerId,
124
+ "aria-haspopup": "menu",
125
+ "aria-expanded": context.open,
126
+ "aria-controls": context.open ? context.contentId : void 0,
127
+ "data-state": context.open ? "open" : "closed",
128
+ "data-disabled": disabled ? "" : void 0,
129
+ "aria-disabled": disabled || void 0,
130
+ ref: (0, import_web.composeRefs)(forwardedRef, context.triggerRef),
131
+ [pressEvent]: (0, import_web.composeEventHandlers)(
132
+ //@ts-ignore
133
+ props[pressEvent], function (event) {
134
+ if (!disabled) {
135
+ if (import_web.isWeb && _instanceof(event, PointerEvent) && event.button !== 0 && event.ctrlKey === !0) return;
136
+ context.onOpenToggle(), context.open || event.preventDefault();
137
+ }
138
+ }),
139
+ ...(import_web.isWeb && {
140
+ onKeyDown: (0, import_web.composeEventHandlers)(onKeydown, function (event) {
141
+ disabled || (["Enter", " "].includes(event.key) && context.onOpenToggle(), event.key === "ArrowDown" && context.onOpenChange(!0), ["Enter", " ", "ArrowDown"].includes(event.key) && event.preventDefault());
142
+ })
143
+ }),
144
+ ...triggerProps,
145
+ children
146
+ })
147
+ });
148
+ });
149
+ MenuTrigger.displayName = TRIGGER_NAME;
150
+ var PORTAL_NAME = "MenuPortal",
151
+ MenuPortal = function (props) {
152
+ var {
153
+ scope,
154
+ children,
155
+ ...portalProps
156
+ } = props,
157
+ context = import_web.isAndroid ? useMenuContext(scope) : null,
158
+ content = import_web.isAndroid ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(MenuProvider, {
159
+ ...context,
160
+ children
161
+ }) : children;
162
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(Menu.Portal, {
163
+ scope: scope || DROPDOWN_MENU_CONTEXT,
164
+ ...portalProps,
165
+ children: content
166
+ });
167
+ };
168
+ MenuPortal.displayName = PORTAL_NAME;
169
+ var CONTENT_NAME = "MenuContent",
170
+ MenuContent = /* @__PURE__ */React.forwardRef(function (props, forwardedRef) {
171
+ var {
172
+ scope,
173
+ ...contentProps
174
+ } = props,
175
+ context = useMenuContext(scope),
176
+ hasInteractedOutsideRef = React.useRef(!1);
177
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(Menu.Content, {
178
+ id: context.contentId,
179
+ "aria-labelledby": context.triggerId,
180
+ scope: scope || DROPDOWN_MENU_CONTEXT,
181
+ ...contentProps,
182
+ ref: forwardedRef,
183
+ onCloseAutoFocus: (0, import_web.composeEventHandlers)(props.onCloseAutoFocus, function (event) {
184
+ hasInteractedOutsideRef.current || requestAnimationFrame(function () {
185
+ var activeEl = document.activeElement;
186
+ if (!activeEl || activeEl === document.body) {
187
+ var _context_triggerRef_current;
188
+ (_context_triggerRef_current = context.triggerRef.current) === null || _context_triggerRef_current === void 0 || _context_triggerRef_current.focus();
189
+ }
190
+ }), hasInteractedOutsideRef.current = !1, event.preventDefault();
191
+ }),
192
+ onInteractOutside: (0, import_web.composeEventHandlers)(props.onInteractOutside, function (event) {
193
+ var originalEvent = event.detail.originalEvent,
194
+ ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === !0,
195
+ isRightClick = originalEvent.button === 2 || ctrlLeftClick;
196
+ (!context.modal || isRightClick) && (hasInteractedOutsideRef.current = !0);
197
+ }),
198
+ style: import_web.isWeb ? {
199
+ ...props.style,
200
+ "--tamagui-menu-content-transform-origin": "var(--tamagui-popper-transform-origin)",
201
+ "--tamagui-menu-content-available-width": "var(--tamagui-popper-available-width)",
202
+ "--tamagui-menu-content-available-height": "var(--tamagui-popper-available-height)",
203
+ "--tamagui-menu-trigger-width": "var(--tamagui-popper-anchor-width)",
204
+ "--tamagui-menu-trigger-height": "var(--tamagui-popper-anchor-height)"
205
+ } : props.style
206
+ });
207
+ });
208
+ MenuContent.displayName = CONTENT_NAME;
209
+ var DROPDOWN_MENU_SUB_NAME = "MenuSub",
210
+ MenuSub = function (props) {
211
+ var {
212
+ scope,
213
+ children,
214
+ open: openProp,
215
+ onOpenChange,
216
+ defaultOpen,
217
+ ...rest
218
+ } = props,
219
+ [open = !1, setOpen] = (0, import_use_controllable_state.useControllableState)({
220
+ prop: openProp,
221
+ defaultProp: defaultOpen,
222
+ onChange: onOpenChange
223
+ });
224
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(Menu.Sub, {
225
+ scope: scope || DROPDOWN_MENU_CONTEXT,
226
+ open,
227
+ onOpenChange: setOpen,
228
+ ...rest,
229
+ children
230
+ });
231
+ };
232
+ MenuSub.displayName = DROPDOWN_MENU_SUB_NAME;
233
+ var SUB_CONTENT_NAME = "MenuSubContent",
234
+ MenuSubContent = /* @__PURE__ */React.forwardRef(function (props, forwardedRef) {
235
+ var {
236
+ scope,
237
+ ...subContentProps
238
+ } = props;
239
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(Menu.SubContent, {
240
+ scope: scope || DROPDOWN_MENU_CONTEXT,
241
+ ...subContentProps,
242
+ ref: forwardedRef,
243
+ style: import_web.isWeb ? {
244
+ ...props.style,
245
+ "--tamagui-menu-content-transform-origin": "var(--tamagui-popper-transform-origin)",
246
+ "--tamagui-menu-content-available-width": "var(--tamagui-popper-available-width)",
247
+ "--tamagui-menu-content-available-height": "var(--tamagui-popper-available-height)",
248
+ "--tamagui-menu-trigger-width": "var(--tamagui-popper-anchor-width)",
249
+ "--tamagui-menu-trigger-height": "var(--tamagui-popper-anchor-height)"
250
+ } : null
251
+ });
252
+ });
253
+ MenuSubContent.displayName = SUB_CONTENT_NAME;
254
+ var MenuScrollView = (0, import_web.styled)(import_scroll_view.ScrollView, {
255
+ flexShrink: 1,
256
+ alignSelf: "stretch",
257
+ showsHorizontalScrollIndicator: !1,
258
+ showsVerticalScrollIndicator: !1,
259
+ "$platform-web": {
260
+ maxHeight: "var(--tamagui-menu-content-available-height)"
261
+ }
262
+ }),
263
+ Group = Menu.Group,
264
+ Label = Menu.Label,
265
+ Item = Menu.Item,
266
+ CheckboxItem = Menu.CheckboxItem,
267
+ RadioGroup = Menu.RadioGroup,
268
+ RadioItem = Menu.RadioItem,
269
+ ItemIndicator = Menu.ItemIndicator,
270
+ Separator = Menu.Separator,
271
+ Arrow = Menu.Arrow,
272
+ SubTrigger = Menu.SubTrigger,
273
+ ItemTitle = Menu.ItemTitle,
274
+ ItemSubtitle = Menu.ItemSubtitle,
275
+ ItemImage = Menu.ItemImage,
276
+ ItemIcon = Menu.ItemIcon;
277
+ return (0, import_web.withStaticProperties)(MenuComp, {
278
+ Root: MenuComp,
279
+ Trigger: MenuTrigger,
280
+ Portal: MenuPortal,
281
+ Content: MenuContent,
282
+ Group,
283
+ Label,
284
+ Item,
285
+ CheckboxItem,
286
+ RadioGroup,
287
+ RadioItem,
288
+ ItemIndicator,
289
+ Separator,
290
+ Arrow,
291
+ Sub: MenuSub,
292
+ SubTrigger,
293
+ SubContent: MenuSubContent,
294
+ ItemTitle,
295
+ ItemSubtitle,
296
+ ItemImage,
297
+ ItemIcon,
298
+ ScrollView: MenuScrollView
299
+ });
300
+ }
301
+ //# sourceMappingURL=createNonNativeMenu.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createNonNativeMenu_exports","__export","DROPDOWN_MENU_CONTEXT","createNonNativeMenu","module","exports","import_jsx_runtime","require","import_create_menu","import_scroll_view","import_use_controllable_state","import_web","React","__toESM","import_react","_instanceof","left","right","Symbol","hasInstance","params","Menu","createBaseMenu","DROPDOWN_MENU_NAME","Provider","MenuProvider","useStyledContext","useMenuContext","createStyledContext","MenuComp","props","scope","children","dir","open","openProp","defaultOpen","onOpenChange","modal","rest","triggerRef","useRef","setOpen","useControllableState","prop","defaultProp","onChange","jsx","triggerId","useId","contentId","onOpenToggle","useCallback","prevOpen","displayName","TRIGGER_NAME","MenuTriggerFrame","Anchor","MenuTrigger","View","styleable","forwardedRef","asChild","disabled","onKeydown","triggerProps","context","Comp","Slot","isTouchDevice","useIsTouchDevice","pressEvent","isWeb","componentName","role","id","ref","composeRefs","composeEventHandlers","event","PointerEvent","button","ctrlKey","preventDefault","onKeyDown","includes","key","PORTAL_NAME","MenuPortal","portalProps","isAndroid","content","Portal","CONTENT_NAME","MenuContent","forwardRef","contentProps","hasInteractedOutsideRef","Content","onCloseAutoFocus","current","requestAnimationFrame","activeEl","document","activeElement","body","_context_triggerRef_current","focus","onInteractOutside","originalEvent","detail","ctrlLeftClick","isRightClick","style","DROPDOWN_MENU_SUB_NAME","MenuSub","Sub","SUB_CONTENT_NAME","MenuSubContent","subContentProps","SubContent","MenuScrollView","styled","ScrollView","flexShrink","alignSelf","showsHorizontalScrollIndicator","showsVerticalScrollIndicator","maxHeight","Group","Label","Item","CheckboxItem","RadioGroup","RadioItem","ItemIndicator","Separator","Arrow","SubTrigger","ItemTitle","ItemSubtitle","ItemImage","ItemIcon","withStaticProperties","Root","Trigger"],"sources":["../../src/createNonNativeMenu.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,235 @@
1
+ import {
2
+ createBaseMenu
3
+ } from "@tamagui/create-menu";
4
+ import { ScrollView } from "@tamagui/scroll-view";
5
+ import { useControllableState } from "@tamagui/use-controllable-state";
6
+ import {
7
+ composeEventHandlers,
8
+ composeRefs,
9
+ createStyledContext,
10
+ isAndroid,
11
+ isWeb,
12
+ Slot,
13
+ styled,
14
+ useIsTouchDevice,
15
+ View,
16
+ withStaticProperties
17
+ } from "@tamagui/web";
18
+ import * as React from "react";
19
+ import { useId } from "react";
20
+ import { jsx } from "react/jsx-runtime";
21
+ const DROPDOWN_MENU_CONTEXT = "MenuContext";
22
+ function createNonNativeMenu(params) {
23
+ const { Menu } = createBaseMenu(params), DROPDOWN_MENU_NAME = "Menu", { Provider: MenuProvider, useStyledContext: useMenuContext } = createStyledContext(), MenuComp = (props) => {
24
+ const {
25
+ scope,
26
+ children,
27
+ dir,
28
+ open: openProp,
29
+ defaultOpen,
30
+ onOpenChange,
31
+ modal = !0,
32
+ ...rest
33
+ } = props, triggerRef = React.useRef(null), [open = !1, setOpen] = useControllableState({
34
+ prop: openProp,
35
+ defaultProp: defaultOpen,
36
+ onChange: onOpenChange
37
+ });
38
+ return /* @__PURE__ */ jsx(
39
+ MenuProvider,
40
+ {
41
+ scope,
42
+ triggerId: useId(),
43
+ triggerRef,
44
+ contentId: useId(),
45
+ open,
46
+ onOpenChange: setOpen,
47
+ onOpenToggle: React.useCallback(
48
+ () => setOpen((prevOpen) => !prevOpen),
49
+ [setOpen]
50
+ ),
51
+ modal,
52
+ children: /* @__PURE__ */ jsx(
53
+ Menu,
54
+ {
55
+ scope: scope || DROPDOWN_MENU_CONTEXT,
56
+ open,
57
+ onOpenChange: setOpen,
58
+ dir,
59
+ modal,
60
+ ...rest,
61
+ children
62
+ }
63
+ )
64
+ }
65
+ );
66
+ };
67
+ MenuComp.displayName = DROPDOWN_MENU_NAME;
68
+ const TRIGGER_NAME = "MenuTrigger", MenuTriggerFrame = Menu.Anchor, MenuTrigger = View.styleable(
69
+ (props, forwardedRef) => {
70
+ const {
71
+ scope,
72
+ asChild,
73
+ children,
74
+ disabled = !1,
75
+ onKeydown,
76
+ ...triggerProps
77
+ } = props, context = useMenuContext(scope), Comp = asChild ? Slot : View, isTouchDevice = useIsTouchDevice(), pressEvent = isWeb ? isTouchDevice ? "onClick" : "onPointerDown" : "onPress";
78
+ return /* @__PURE__ */ jsx(
79
+ MenuTriggerFrame,
80
+ {
81
+ asChild: !0,
82
+ componentName: TRIGGER_NAME,
83
+ scope: scope || DROPDOWN_MENU_CONTEXT,
84
+ children: /* @__PURE__ */ jsx(
85
+ Comp,
86
+ {
87
+ role: "button",
88
+ id: context.triggerId,
89
+ "aria-haspopup": "menu",
90
+ "aria-expanded": context.open,
91
+ "aria-controls": context.open ? context.contentId : void 0,
92
+ "data-state": context.open ? "open" : "closed",
93
+ "data-disabled": disabled ? "" : void 0,
94
+ "aria-disabled": disabled || void 0,
95
+ ref: composeRefs(forwardedRef, context.triggerRef),
96
+ [pressEvent]: composeEventHandlers(
97
+ //@ts-ignore
98
+ props[pressEvent],
99
+ (event) => {
100
+ if (!disabled) {
101
+ if (isWeb && event instanceof PointerEvent && event.button !== 0 && event.ctrlKey === !0)
102
+ return;
103
+ context.onOpenToggle(), context.open || event.preventDefault();
104
+ }
105
+ }
106
+ ),
107
+ ...isWeb && {
108
+ onKeyDown: composeEventHandlers(onKeydown, (event) => {
109
+ disabled || (["Enter", " "].includes(event.key) && context.onOpenToggle(), event.key === "ArrowDown" && context.onOpenChange(!0), ["Enter", " ", "ArrowDown"].includes(event.key) && event.preventDefault());
110
+ })
111
+ },
112
+ ...triggerProps,
113
+ children
114
+ }
115
+ )
116
+ }
117
+ );
118
+ }
119
+ );
120
+ MenuTrigger.displayName = TRIGGER_NAME;
121
+ const PORTAL_NAME = "MenuPortal", MenuPortal = (props) => {
122
+ const { scope, children, ...portalProps } = props, context = isAndroid ? useMenuContext(scope) : null, content = isAndroid ? /* @__PURE__ */ jsx(MenuProvider, { ...context, children }) : children;
123
+ return /* @__PURE__ */ jsx(Menu.Portal, { scope: scope || DROPDOWN_MENU_CONTEXT, ...portalProps, children: content });
124
+ };
125
+ MenuPortal.displayName = PORTAL_NAME;
126
+ const CONTENT_NAME = "MenuContent", MenuContent = React.forwardRef(
127
+ (props, forwardedRef) => {
128
+ const { scope, ...contentProps } = props, context = useMenuContext(scope), hasInteractedOutsideRef = React.useRef(!1);
129
+ return /* @__PURE__ */ jsx(
130
+ Menu.Content,
131
+ {
132
+ id: context.contentId,
133
+ "aria-labelledby": context.triggerId,
134
+ scope: scope || DROPDOWN_MENU_CONTEXT,
135
+ ...contentProps,
136
+ ref: forwardedRef,
137
+ onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {
138
+ hasInteractedOutsideRef.current || requestAnimationFrame(() => {
139
+ const activeEl = document.activeElement;
140
+ (!activeEl || activeEl === document.body) && context.triggerRef.current?.focus();
141
+ }), hasInteractedOutsideRef.current = !1, event.preventDefault();
142
+ }),
143
+ onInteractOutside: composeEventHandlers(props.onInteractOutside, (event) => {
144
+ const originalEvent = event.detail.originalEvent, ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === !0, isRightClick = originalEvent.button === 2 || ctrlLeftClick;
145
+ (!context.modal || isRightClick) && (hasInteractedOutsideRef.current = !0);
146
+ }),
147
+ style: isWeb ? {
148
+ ...props.style,
149
+ "--tamagui-menu-content-transform-origin": "var(--tamagui-popper-transform-origin)",
150
+ "--tamagui-menu-content-available-width": "var(--tamagui-popper-available-width)",
151
+ "--tamagui-menu-content-available-height": "var(--tamagui-popper-available-height)",
152
+ "--tamagui-menu-trigger-width": "var(--tamagui-popper-anchor-width)",
153
+ "--tamagui-menu-trigger-height": "var(--tamagui-popper-anchor-height)"
154
+ } : props.style
155
+ }
156
+ );
157
+ }
158
+ );
159
+ MenuContent.displayName = CONTENT_NAME;
160
+ const DROPDOWN_MENU_SUB_NAME = "MenuSub", MenuSub = (props) => {
161
+ const { scope, children, open: openProp, onOpenChange, defaultOpen, ...rest } = props, [open = !1, setOpen] = useControllableState({
162
+ prop: openProp,
163
+ defaultProp: defaultOpen,
164
+ onChange: onOpenChange
165
+ });
166
+ return /* @__PURE__ */ jsx(
167
+ Menu.Sub,
168
+ {
169
+ scope: scope || DROPDOWN_MENU_CONTEXT,
170
+ open,
171
+ onOpenChange: setOpen,
172
+ ...rest,
173
+ children
174
+ }
175
+ );
176
+ };
177
+ MenuSub.displayName = DROPDOWN_MENU_SUB_NAME;
178
+ const SUB_CONTENT_NAME = "MenuSubContent", MenuSubContent = React.forwardRef((props, forwardedRef) => {
179
+ const { scope, ...subContentProps } = props;
180
+ return /* @__PURE__ */ jsx(
181
+ Menu.SubContent,
182
+ {
183
+ scope: scope || DROPDOWN_MENU_CONTEXT,
184
+ ...subContentProps,
185
+ ref: forwardedRef,
186
+ style: isWeb ? {
187
+ ...props.style,
188
+ "--tamagui-menu-content-transform-origin": "var(--tamagui-popper-transform-origin)",
189
+ "--tamagui-menu-content-available-width": "var(--tamagui-popper-available-width)",
190
+ "--tamagui-menu-content-available-height": "var(--tamagui-popper-available-height)",
191
+ "--tamagui-menu-trigger-width": "var(--tamagui-popper-anchor-width)",
192
+ "--tamagui-menu-trigger-height": "var(--tamagui-popper-anchor-height)"
193
+ } : null
194
+ }
195
+ );
196
+ });
197
+ MenuSubContent.displayName = SUB_CONTENT_NAME;
198
+ const MenuScrollView = styled(ScrollView, {
199
+ flexShrink: 1,
200
+ alignSelf: "stretch",
201
+ showsHorizontalScrollIndicator: !1,
202
+ showsVerticalScrollIndicator: !1,
203
+ "$platform-web": {
204
+ maxHeight: "var(--tamagui-menu-content-available-height)"
205
+ }
206
+ }), Group = Menu.Group, Label = Menu.Label, Item = Menu.Item, CheckboxItem = Menu.CheckboxItem, RadioGroup = Menu.RadioGroup, RadioItem = Menu.RadioItem, ItemIndicator = Menu.ItemIndicator, Separator = Menu.Separator, Arrow = Menu.Arrow, SubTrigger = Menu.SubTrigger, ItemTitle = Menu.ItemTitle, ItemSubtitle = Menu.ItemSubtitle, ItemImage = Menu.ItemImage, ItemIcon = Menu.ItemIcon;
207
+ return withStaticProperties(MenuComp, {
208
+ Root: MenuComp,
209
+ Trigger: MenuTrigger,
210
+ Portal: MenuPortal,
211
+ Content: MenuContent,
212
+ Group,
213
+ Label,
214
+ Item,
215
+ CheckboxItem,
216
+ RadioGroup,
217
+ RadioItem,
218
+ ItemIndicator,
219
+ Separator,
220
+ Arrow,
221
+ Sub: MenuSub,
222
+ SubTrigger,
223
+ SubContent: MenuSubContent,
224
+ ItemTitle,
225
+ ItemSubtitle,
226
+ ItemImage,
227
+ ItemIcon,
228
+ ScrollView: MenuScrollView
229
+ });
230
+ }
231
+ export {
232
+ DROPDOWN_MENU_CONTEXT,
233
+ createNonNativeMenu
234
+ };
235
+ //# sourceMappingURL=createNonNativeMenu.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/createNonNativeMenu.tsx"],
4
+ "mappings": "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",
5
+ "names": []
6
+ }