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