@tamagui/menu 2.7.7 → 3.0.0-beta.643.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Menu.cjs +152 -174
- package/dist/cjs/Menu.native.cjs +181 -0
- package/dist/cjs/Menu.native.js +161 -182
- package/dist/cjs/Menu.native.js.map +1 -1
- package/dist/cjs/createNonNativeMenu.cjs +324 -369
- package/dist/cjs/createNonNativeMenu.native.cjs +375 -0
- package/dist/cjs/createNonNativeMenu.native.js +345 -387
- package/dist/cjs/createNonNativeMenu.native.js.map +1 -1
- package/dist/cjs/index.cjs +15 -29
- package/dist/cjs/index.native.cjs +29 -0
- package/dist/cjs/index.native.js +16 -29
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/esm/Menu.mjs +136 -148
- package/dist/esm/Menu.mjs.map +1 -1
- package/dist/esm/Menu.native.js +146 -158
- package/dist/esm/Menu.native.js.map +1 -1
- package/dist/esm/createNonNativeMenu.mjs +308 -345
- package/dist/esm/createNonNativeMenu.mjs.map +1 -1
- package/dist/esm/createNonNativeMenu.native.js +330 -365
- package/dist/esm/createNonNativeMenu.native.js.map +1 -1
- package/dist/esm/index.js +3 -12
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs +3 -12
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +3 -12
- package/dist/esm/index.native.js.map +1 -1
- package/dist/jsx/Menu.mjs +136 -148
- package/dist/jsx/Menu.mjs.map +1 -1
- package/dist/jsx/Menu.native.cjs +181 -0
- package/dist/jsx/Menu.native.js +161 -182
- package/dist/jsx/Menu.native.js.map +1 -1
- package/dist/jsx/createNonNativeMenu.mjs +308 -345
- package/dist/jsx/createNonNativeMenu.mjs.map +1 -1
- package/dist/jsx/createNonNativeMenu.native.cjs +375 -0
- package/dist/jsx/createNonNativeMenu.native.js +345 -387
- package/dist/jsx/createNonNativeMenu.native.js.map +1 -1
- package/dist/jsx/index.js +3 -12
- package/dist/jsx/index.js.map +1 -1
- package/dist/jsx/index.mjs +3 -12
- package/dist/jsx/index.mjs.map +1 -1
- package/dist/jsx/index.native.cjs +29 -0
- package/dist/jsx/index.native.js +16 -29
- package/dist/jsx/index.native.js.map +1 -1
- package/package.json +11 -10
- package/src/Menu.tsx +3 -7
- package/src/createNonNativeMenu.tsx +55 -49
- package/src/index.tsx +1 -13
- package/types/Menu.d.ts +127 -73
- package/types/Menu.d.ts.map +1 -1
- package/types/createNonNativeMenu.d.ts +111 -106
- package/types/createNonNativeMenu.d.ts.map +1 -1
- package/types/index.d.ts +126 -71
- package/types/index.d.ts.map +1 -1
|
@@ -0,0 +1,375 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
var __create = Object.create;
|
|
5
|
+
var __defProp = Object.defineProperty;
|
|
6
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
7
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
8
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
9
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
10
|
+
var __export = (target, all) => {
|
|
11
|
+
for (var name in all) __defProp(target, name, {
|
|
12
|
+
get: all[name],
|
|
13
|
+
enumerable: true
|
|
14
|
+
});
|
|
15
|
+
};
|
|
16
|
+
var __copyProps = (to, from, except, desc) => {
|
|
17
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
18
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
19
|
+
get: () => from[key],
|
|
20
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
return to;
|
|
24
|
+
};
|
|
25
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
26
|
+
value: mod,
|
|
27
|
+
enumerable: true
|
|
28
|
+
}) : target, mod));
|
|
29
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
30
|
+
var createNonNativeMenu_exports = {};
|
|
31
|
+
__export(createNonNativeMenu_exports, {
|
|
32
|
+
DROPDOWN_MENU_CONTEXT: () => DROPDOWN_MENU_CONTEXT,
|
|
33
|
+
createNonNativeMenu: () => createNonNativeMenu
|
|
34
|
+
});
|
|
35
|
+
module.exports = __toCommonJS(createNonNativeMenu_exports);
|
|
36
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
37
|
+
var import_core = require("@tamagui/core");
|
|
38
|
+
var import_create_menu = require("@tamagui/create-menu");
|
|
39
|
+
var import_popper = require("@tamagui/popper");
|
|
40
|
+
var import_scroll_view = require("@tamagui/scroll-view");
|
|
41
|
+
var import_use_controllable_state = require("@tamagui/use-controllable-state");
|
|
42
|
+
var import_web = require("@tamagui/web");
|
|
43
|
+
var React = __toESM(require("react"), 1);
|
|
44
|
+
var import_react = require("react");
|
|
45
|
+
function _instanceof(left, right) {
|
|
46
|
+
if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
|
|
47
|
+
return !!right[Symbol.hasInstance](left);
|
|
48
|
+
} else {
|
|
49
|
+
return left instanceof right;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
var DROPDOWN_MENU_CONTEXT = "MenuContext";
|
|
53
|
+
function useMenuTriggerSetup(open) {
|
|
54
|
+
var triggerStateSettersRef = React.useRef(/* @__PURE__ */ new Map());
|
|
55
|
+
var activeTriggerIdRef = React.useRef(null);
|
|
56
|
+
var setActiveTrigger = (0, import_web.useEvent)(function(id) {
|
|
57
|
+
var prevId = activeTriggerIdRef.current;
|
|
58
|
+
if (prevId === id) return;
|
|
59
|
+
if (prevId) {
|
|
60
|
+
var _triggerStateSettersRef_current_get;
|
|
61
|
+
(_triggerStateSettersRef_current_get = triggerStateSettersRef.current.get(prevId)) === null || _triggerStateSettersRef_current_get === void 0 ? void 0 : _triggerStateSettersRef_current_get(false);
|
|
62
|
+
}
|
|
63
|
+
activeTriggerIdRef.current = id;
|
|
64
|
+
if (id && open) {
|
|
65
|
+
var _triggerStateSettersRef_current_get1;
|
|
66
|
+
(_triggerStateSettersRef_current_get1 = triggerStateSettersRef.current.get(id)) === null || _triggerStateSettersRef_current_get1 === void 0 ? void 0 : _triggerStateSettersRef_current_get1(true);
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
var registerTrigger = (0, import_web.useEvent)(function(id, setOpenState) {
|
|
70
|
+
triggerStateSettersRef.current.set(id, setOpenState);
|
|
71
|
+
setOpenState(activeTriggerIdRef.current === id && open);
|
|
72
|
+
});
|
|
73
|
+
var unregisterTrigger = (0, import_web.useEvent)(function(id) {
|
|
74
|
+
triggerStateSettersRef.current.delete(id);
|
|
75
|
+
if (activeTriggerIdRef.current === id) {
|
|
76
|
+
activeTriggerIdRef.current = null;
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
React.useEffect(function() {
|
|
80
|
+
if (!open) {
|
|
81
|
+
setActiveTrigger(null);
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
var activeId = activeTriggerIdRef.current;
|
|
85
|
+
if (activeId) {
|
|
86
|
+
var _triggerStateSettersRef_current_get;
|
|
87
|
+
(_triggerStateSettersRef_current_get = triggerStateSettersRef.current.get(activeId)) === null || _triggerStateSettersRef_current_get === void 0 ? void 0 : _triggerStateSettersRef_current_get(true);
|
|
88
|
+
}
|
|
89
|
+
}, [open, setActiveTrigger]);
|
|
90
|
+
return {
|
|
91
|
+
setActiveTrigger,
|
|
92
|
+
registerTrigger,
|
|
93
|
+
unregisterTrigger
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
function createNonNativeMenu() {
|
|
97
|
+
var { Menu } = (0, import_create_menu.createBaseMenu)();
|
|
98
|
+
var DROPDOWN_MENU_NAME = "Menu";
|
|
99
|
+
var { Provider: MenuProvider, useStyledContext: useMenuContext } = (0, import_web.createStyledContext)();
|
|
100
|
+
var MenuComp = function(props) {
|
|
101
|
+
var { scope, children, dir, open: openProp, defaultOpen, onOpenChange, modal = true, ...rest } = props;
|
|
102
|
+
var triggerRef = React.useRef(null);
|
|
103
|
+
var [open = false, setOpen] = (0, import_use_controllable_state.useControllableState)({
|
|
104
|
+
prop: openProp,
|
|
105
|
+
defaultProp: defaultOpen,
|
|
106
|
+
onChange: onOpenChange
|
|
107
|
+
});
|
|
108
|
+
var openRef = React.useRef(open);
|
|
109
|
+
openRef.current = open;
|
|
110
|
+
var { setActiveTrigger, registerTrigger, unregisterTrigger } = useMenuTriggerSetup(open);
|
|
111
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuProvider, {
|
|
112
|
+
scope,
|
|
113
|
+
triggerId: (0, import_react.useId)(),
|
|
114
|
+
triggerRef,
|
|
115
|
+
contentId: (0, import_react.useId)(),
|
|
116
|
+
openRef,
|
|
117
|
+
onOpenChange: React.useCallback(function(nextOpen) {
|
|
118
|
+
return setOpen(nextOpen);
|
|
119
|
+
}, [setOpen]),
|
|
120
|
+
onOpenToggle: React.useCallback(function() {
|
|
121
|
+
return setOpen(function(prevOpen) {
|
|
122
|
+
return !prevOpen;
|
|
123
|
+
});
|
|
124
|
+
}, [setOpen]),
|
|
125
|
+
modal,
|
|
126
|
+
setActiveTrigger,
|
|
127
|
+
registerTrigger,
|
|
128
|
+
unregisterTrigger,
|
|
129
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Menu, {
|
|
130
|
+
scope: scope || DROPDOWN_MENU_CONTEXT,
|
|
131
|
+
open,
|
|
132
|
+
onOpenChange: setOpen,
|
|
133
|
+
dir,
|
|
134
|
+
modal,
|
|
135
|
+
...rest,
|
|
136
|
+
children
|
|
137
|
+
})
|
|
138
|
+
});
|
|
139
|
+
};
|
|
140
|
+
MenuComp.displayName = DROPDOWN_MENU_NAME;
|
|
141
|
+
var TRIGGER_NAME = "MenuTrigger";
|
|
142
|
+
var MenuTriggerFrame = Menu.Anchor;
|
|
143
|
+
var MenuTrigger = (0, import_core.createStyledHOC)(import_web.View, function(props, forwardedRef) {
|
|
144
|
+
var { scope, asChild, children, disabled = false, onKeydown, onKeyDown = onKeydown, ...triggerProps } = props;
|
|
145
|
+
var context = useMenuContext(scope);
|
|
146
|
+
var popperCtx = (0, import_popper.usePopperContextSlow)(scope || DROPDOWN_MENU_CONTEXT);
|
|
147
|
+
var Comp = asChild ? import_web.Slot : import_web.View;
|
|
148
|
+
var isTouchDevice = (0, import_web.useIsTouchDevice)();
|
|
149
|
+
var triggerElRef = React.useRef(null);
|
|
150
|
+
var triggerId = React.useId();
|
|
151
|
+
var [triggerOpen, setTriggerOpen] = React.useState(false);
|
|
152
|
+
var { registerTrigger, unregisterTrigger } = context;
|
|
153
|
+
React.useEffect(function() {
|
|
154
|
+
registerTrigger(triggerId, setTriggerOpen);
|
|
155
|
+
return function() {
|
|
156
|
+
return unregisterTrigger(triggerId);
|
|
157
|
+
};
|
|
158
|
+
}, [
|
|
159
|
+
registerTrigger,
|
|
160
|
+
unregisterTrigger,
|
|
161
|
+
triggerId
|
|
162
|
+
]);
|
|
163
|
+
var activateSelf = React.useCallback(function() {
|
|
164
|
+
context.setActiveTrigger(triggerId);
|
|
165
|
+
var el = triggerElRef.current;
|
|
166
|
+
if (el) {
|
|
167
|
+
context.triggerRef.current = el;
|
|
168
|
+
if (_instanceof(el, HTMLElement)) {
|
|
169
|
+
var _popperCtx_refs;
|
|
170
|
+
(_popperCtx_refs = popperCtx.refs) === null || _popperCtx_refs === void 0 ? void 0 : _popperCtx_refs.setReference(el);
|
|
171
|
+
requestAnimationFrame(function() {
|
|
172
|
+
var _popperCtx_update;
|
|
173
|
+
return (_popperCtx_update = popperCtx.update) === null || _popperCtx_update === void 0 ? void 0 : _popperCtx_update.call(popperCtx);
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
}, [
|
|
178
|
+
context,
|
|
179
|
+
triggerId,
|
|
180
|
+
popperCtx
|
|
181
|
+
]);
|
|
182
|
+
var pressEvent = import_web.isWeb ? isTouchDevice ? "onClick" : "onPointerDown" : "onPress";
|
|
183
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuTriggerFrame, {
|
|
184
|
+
asChild: true,
|
|
185
|
+
className: `is_${TRIGGER_NAME}`,
|
|
186
|
+
scope: scope || DROPDOWN_MENU_CONTEXT,
|
|
187
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Comp, {
|
|
188
|
+
role: "button",
|
|
189
|
+
id: context.triggerId,
|
|
190
|
+
"aria-haspopup": "menu",
|
|
191
|
+
"aria-expanded": triggerOpen,
|
|
192
|
+
"aria-controls": triggerOpen ? context.contentId : void 0,
|
|
193
|
+
"data-state": triggerOpen ? "open" : "closed",
|
|
194
|
+
"data-disabled": disabled ? "" : void 0,
|
|
195
|
+
"aria-disabled": disabled || void 0,
|
|
196
|
+
ref: (0, import_web.composeRefs)(forwardedRef, context.triggerRef, triggerElRef),
|
|
197
|
+
...triggerProps,
|
|
198
|
+
[pressEvent]: (0, import_web.composeEventHandlers)(props[pressEvent], function(event) {
|
|
199
|
+
if (!disabled) {
|
|
200
|
+
if (import_web.isWeb && _instanceof(event, PointerEvent) && event.button !== 0 && event.ctrlKey === true) return;
|
|
201
|
+
if (context.openRef.current) {
|
|
202
|
+
context.setActiveTrigger(null);
|
|
203
|
+
} else {
|
|
204
|
+
activateSelf();
|
|
205
|
+
}
|
|
206
|
+
context.onOpenToggle();
|
|
207
|
+
if (!context.openRef.current) event.preventDefault();
|
|
208
|
+
}
|
|
209
|
+
}),
|
|
210
|
+
...import_web.isWeb && { onKeyDown: (0, import_web.composeEventHandlers)(onKeyDown, function(event) {
|
|
211
|
+
if (disabled) return;
|
|
212
|
+
if (["Enter", " "].includes(event.key)) {
|
|
213
|
+
if (context.openRef.current) {
|
|
214
|
+
context.setActiveTrigger(null);
|
|
215
|
+
} else {
|
|
216
|
+
activateSelf();
|
|
217
|
+
}
|
|
218
|
+
context.onOpenToggle();
|
|
219
|
+
}
|
|
220
|
+
if (event.key === "ArrowDown") {
|
|
221
|
+
activateSelf();
|
|
222
|
+
context.onOpenChange(true);
|
|
223
|
+
}
|
|
224
|
+
if ([
|
|
225
|
+
"Enter",
|
|
226
|
+
" ",
|
|
227
|
+
"ArrowDown"
|
|
228
|
+
].includes(event.key)) event.preventDefault();
|
|
229
|
+
}) },
|
|
230
|
+
children
|
|
231
|
+
})
|
|
232
|
+
});
|
|
233
|
+
});
|
|
234
|
+
MenuTrigger.displayName = TRIGGER_NAME;
|
|
235
|
+
var PORTAL_NAME = "MenuPortal";
|
|
236
|
+
var MenuPortal = function(props) {
|
|
237
|
+
var { scope, children, ...portalProps } = props;
|
|
238
|
+
var context = import_web.isAndroid ? useMenuContext(scope) : null;
|
|
239
|
+
var content = import_web.isAndroid ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MenuProvider, {
|
|
240
|
+
...context,
|
|
241
|
+
children
|
|
242
|
+
}) : children;
|
|
243
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Menu.Portal, {
|
|
244
|
+
scope: scope || DROPDOWN_MENU_CONTEXT,
|
|
245
|
+
...portalProps,
|
|
246
|
+
children: content
|
|
247
|
+
});
|
|
248
|
+
};
|
|
249
|
+
MenuPortal.displayName = PORTAL_NAME;
|
|
250
|
+
var CONTENT_NAME = "MenuContent";
|
|
251
|
+
var MenuContent = (0, import_core.createStyledHOC)(Menu.Content, function(props, forwardedRef) {
|
|
252
|
+
var { scope, ...contentProps } = props;
|
|
253
|
+
var context = useMenuContext(scope);
|
|
254
|
+
var hasInteractedOutsideRef = React.useRef(false);
|
|
255
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Menu.Content, {
|
|
256
|
+
id: context.contentId,
|
|
257
|
+
"aria-labelledby": context.triggerId,
|
|
258
|
+
scope: scope || DROPDOWN_MENU_CONTEXT,
|
|
259
|
+
...contentProps,
|
|
260
|
+
ref: forwardedRef,
|
|
261
|
+
onCloseAutoFocus: (0, import_web.composeEventHandlers)(props.onCloseAutoFocus, function(event) {
|
|
262
|
+
if (!hasInteractedOutsideRef.current) {
|
|
263
|
+
requestAnimationFrame(function() {
|
|
264
|
+
var activeEl = document.activeElement;
|
|
265
|
+
if (!activeEl || activeEl === document.body) {
|
|
266
|
+
var _context_triggerRef_current;
|
|
267
|
+
(_context_triggerRef_current = context.triggerRef.current) === null || _context_triggerRef_current === void 0 ? void 0 : _context_triggerRef_current.focus();
|
|
268
|
+
}
|
|
269
|
+
});
|
|
270
|
+
}
|
|
271
|
+
hasInteractedOutsideRef.current = false;
|
|
272
|
+
event.cancel();
|
|
273
|
+
}),
|
|
274
|
+
onInteractOutside: (0, import_web.composeEventHandlers)(props.onInteractOutside, function(event) {
|
|
275
|
+
if (event.interaction !== "pointer" || !event.event) return;
|
|
276
|
+
var originalEvent = event.event;
|
|
277
|
+
var ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;
|
|
278
|
+
var isRightClick = originalEvent.button === 2 || ctrlLeftClick;
|
|
279
|
+
if (!context.modal || isRightClick) hasInteractedOutsideRef.current = true;
|
|
280
|
+
}),
|
|
281
|
+
style: import_web.isWeb ? {
|
|
282
|
+
...props.style,
|
|
283
|
+
...{
|
|
284
|
+
"--tamagui-menu-content-transform-origin": "var(--tamagui-popper-transform-origin)",
|
|
285
|
+
"--tamagui-menu-content-available-width": "var(--tamagui-popper-available-width)",
|
|
286
|
+
"--tamagui-menu-content-available-height": "var(--tamagui-popper-available-height)",
|
|
287
|
+
"--tamagui-menu-trigger-width": "var(--tamagui-popper-anchor-width)",
|
|
288
|
+
"--tamagui-menu-trigger-height": "var(--tamagui-popper-anchor-height)"
|
|
289
|
+
}
|
|
290
|
+
} : props.style
|
|
291
|
+
});
|
|
292
|
+
});
|
|
293
|
+
MenuContent.displayName = CONTENT_NAME;
|
|
294
|
+
var DROPDOWN_MENU_SUB_NAME = "MenuSub";
|
|
295
|
+
var MenuSub = function(props) {
|
|
296
|
+
var { scope, children, open: openProp, onOpenChange, defaultOpen, ...rest } = props;
|
|
297
|
+
var [open = false, setOpen] = (0, import_use_controllable_state.useControllableState)({
|
|
298
|
+
prop: openProp,
|
|
299
|
+
defaultProp: defaultOpen,
|
|
300
|
+
onChange: onOpenChange
|
|
301
|
+
});
|
|
302
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Menu.Sub, {
|
|
303
|
+
scope: scope || DROPDOWN_MENU_CONTEXT,
|
|
304
|
+
open,
|
|
305
|
+
onOpenChange: setOpen,
|
|
306
|
+
...rest,
|
|
307
|
+
children
|
|
308
|
+
});
|
|
309
|
+
};
|
|
310
|
+
MenuSub.displayName = DROPDOWN_MENU_SUB_NAME;
|
|
311
|
+
var SUB_CONTENT_NAME = "MenuSubContent";
|
|
312
|
+
var MenuSubContent = (0, import_core.createStyledHOC)(Menu.SubContent, function(props, forwardedRef) {
|
|
313
|
+
var { scope, ...subContentProps } = props;
|
|
314
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Menu.SubContent, {
|
|
315
|
+
scope: scope || DROPDOWN_MENU_CONTEXT,
|
|
316
|
+
...subContentProps,
|
|
317
|
+
ref: forwardedRef,
|
|
318
|
+
style: import_web.isWeb ? {
|
|
319
|
+
...props.style,
|
|
320
|
+
...{
|
|
321
|
+
"--tamagui-menu-content-transform-origin": "var(--tamagui-popper-transform-origin)",
|
|
322
|
+
"--tamagui-menu-content-available-width": "var(--tamagui-popper-available-width)",
|
|
323
|
+
"--tamagui-menu-content-available-height": "var(--tamagui-popper-available-height)",
|
|
324
|
+
"--tamagui-menu-trigger-width": "var(--tamagui-popper-anchor-width)",
|
|
325
|
+
"--tamagui-menu-trigger-height": "var(--tamagui-popper-anchor-height)"
|
|
326
|
+
}
|
|
327
|
+
} : null
|
|
328
|
+
});
|
|
329
|
+
});
|
|
330
|
+
MenuSubContent.displayName = SUB_CONTENT_NAME;
|
|
331
|
+
var MenuScrollView = (0, import_web.styled)(import_scroll_view.ScrollView, {
|
|
332
|
+
flexShrink: 1,
|
|
333
|
+
alignSelf: "stretch",
|
|
334
|
+
maxHeight: "web:var(--tamagui-menu-content-available-height)",
|
|
335
|
+
showsHorizontalScrollIndicator: false,
|
|
336
|
+
showsVerticalScrollIndicator: false
|
|
337
|
+
});
|
|
338
|
+
var Group = Menu.Group;
|
|
339
|
+
var Label = Menu.Label;
|
|
340
|
+
var Item = Menu.Item;
|
|
341
|
+
var CheckboxItem = Menu.CheckboxItem;
|
|
342
|
+
var RadioGroup = Menu.RadioGroup;
|
|
343
|
+
var RadioItem = Menu.RadioItem;
|
|
344
|
+
var ItemIndicator = Menu.ItemIndicator;
|
|
345
|
+
var Separator = Menu.Separator;
|
|
346
|
+
var Arrow = Menu.Arrow;
|
|
347
|
+
var SubTrigger = Menu.SubTrigger;
|
|
348
|
+
var ItemTitle = Menu.ItemTitle;
|
|
349
|
+
var ItemSubtitle = Menu.ItemSubtitle;
|
|
350
|
+
var ItemImage = Menu.ItemImage;
|
|
351
|
+
var ItemIcon = Menu.ItemIcon;
|
|
352
|
+
return (0, import_web.withStaticProperties)(MenuComp, {
|
|
353
|
+
Root: MenuComp,
|
|
354
|
+
Trigger: MenuTrigger,
|
|
355
|
+
Portal: MenuPortal,
|
|
356
|
+
Content: MenuContent,
|
|
357
|
+
Group,
|
|
358
|
+
Label,
|
|
359
|
+
Item,
|
|
360
|
+
CheckboxItem,
|
|
361
|
+
RadioGroup,
|
|
362
|
+
RadioItem,
|
|
363
|
+
ItemIndicator,
|
|
364
|
+
Separator,
|
|
365
|
+
Arrow,
|
|
366
|
+
Sub: MenuSub,
|
|
367
|
+
SubTrigger,
|
|
368
|
+
SubContent: MenuSubContent,
|
|
369
|
+
ItemTitle,
|
|
370
|
+
ItemSubtitle,
|
|
371
|
+
ItemImage,
|
|
372
|
+
ItemIcon,
|
|
373
|
+
ScrollView: MenuScrollView
|
|
374
|
+
});
|
|
375
|
+
}
|