@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.
- package/dist/cjs/createNonNativeMenu.cjs +288 -0
- package/dist/cjs/createNonNativeMenu.js +240 -0
- package/dist/cjs/createNonNativeMenu.js.map +6 -0
- package/dist/cjs/createNonNativeMenu.native.js +301 -0
- package/dist/cjs/createNonNativeMenu.native.js.map +1 -0
- package/dist/esm/createNonNativeMenu.js +235 -0
- package/dist/esm/createNonNativeMenu.js.map +6 -0
- package/dist/esm/createNonNativeMenu.mjs +253 -0
- package/dist/esm/createNonNativeMenu.mjs.map +1 -0
- package/dist/esm/createNonNativeMenu.native.js +263 -0
- package/dist/esm/createNonNativeMenu.native.js.map +1 -0
- package/dist/jsx/createNonNativeMenu.js +235 -0
- package/dist/jsx/createNonNativeMenu.js.map +6 -0
- package/dist/jsx/createNonNativeMenu.mjs +253 -0
- package/dist/jsx/createNonNativeMenu.mjs.map +1 -0
- package/dist/jsx/createNonNativeMenu.native.js +301 -0
- package/dist/jsx/createNonNativeMenu.native.js.map +1 -0
- package/package.json +6 -6
- package/types/createNonNativeMenu.d.ts.map +1 -0
|
@@ -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
|
+
}
|