@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,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":"AACA,SAcEA,cAAA,QAEK;AACP,SAASC,UAAA,QAAwC;AACjD,SAASC,oBAAA,QAA4B;AACrC,SACEC,oBAAA,EACAC,WAAA,EACAC,mBAAA,EACAC,SAAA,EACAC,KAAA,EACAC,IAAA,EACAC,MAAA,EAEAC,gBAAA,EACAC,IAAA,EAEAC,oBAAA,QACK;AACP,YAAYC,KAAA,MAAW;AACvB,SAASC,KAAA,QAAa;AAqKd,SAAAC,GAAA;AAjKD,MAAMC,qBAAA,GAAwB;AAqH9B,SAASC,oBAAoBC,MAAA,EAA6B;EAC/D,MAAM;MAAEC;IAAK,IAAInB,cAAA,CAAekB,MAAM;IAMhCE,kBAAA,GAAqB;IAErB;MAAEC,QAAA,EAAUC,YAAA;MAAcC,gBAAA,EAAkBC;IAAe,IAC/DnB,mBAAA,CAAsC;IAElCoB,QAAA,GAAYC,KAAA,IAAkC;MAClD,MAAM;UACJC,KAAA;UACAC,QAAA;UACAC,GAAA;UACAC,IAAA,EAAMC,QAAA;UACNC,WAAA;UACAC,YAAA;UACAC,KAAA,GAAQ;UACR,GAAGC;QACL,IAAIT,KAAA;QACEU,UAAA,GAAavB,KAAA,CAAMwB,MAAA,CAAuB,IAAI;QAC9C,CAACP,IAAA,GAAO,IAAOQ,OAAO,IAAIpC,oBAAA,CAAqB;UACnDqC,IAAA,EAAMR,QAAA;UACNS,WAAA,EAAaR,WAAA;UACbS,QAAA,EAAUR;QACZ,CAAC;MAED,OACE,eAAAlB,GAAA,CAACO,YAAA;QACCK,KAAA;QACAe,SAAA,EAAW5B,KAAA,CAAM;QACjBsB,UAAA;QACAO,SAAA,EAAW7B,KAAA,CAAM;QACjBgB,IAAA;QACAG,YAAA,EAAcK,OAAA;QACdM,YAAA,EAAc/B,KAAA,CAAMgC,WAAA,CAClB,MAAMP,OAAA,CAASQ,QAAA,IAAa,CAACA,QAAQ,GACrC,CAACR,OAAO,CACV;QACAJ,KAAA;QAEAN,QAAA,iBAAAb,GAAA,CAACI,IAAA;UACCQ,KAAA,EAAOA,KAAA,IAASX,qBAAA;UAChBc,IAAA;UACAG,YAAA,EAAcK,OAAA;UACdT,GAAA;UACAK,KAAA;UACC,GAAGC,IAAA;UAEHP;QAAA,CACH;MAAA,CACF;IAEJ;EAEAH,QAAA,CAASsB,WAAA,GAAc3B,kBAAA;EAMvB,MAAM4B,YAAA,GAAe;IAEfC,gBAAA,GAAmB9B,IAAA,CAAK+B,MAAA;IAExBC,WAAA,GAAcxC,IAAA,CAAKyC,SAAA,CACvB,CAAC1B,KAAA,EAAO2B,YAAA,KAAiB;MACvB,MAAM;UACJ1B,KAAA;UACA2B,OAAA;UACA1B,QAAA;UACA2B,QAAA,GAAW;UACXC,SAAA;UACA,GAAGC;QACL,IAAI/B,KAAA;QACEgC,OAAA,GAAUlC,cAAA,CAAeG,KAAK;QAC9BgC,IAAA,GAAOL,OAAA,GAAU9C,IAAA,GAAOG,IAAA;QACxBiD,aAAA,GAAgBlD,gBAAA,CAAiB;QAIjCmD,UAAA,GAAatD,KAAA,GAASqD,aAAA,GAAgB,YAAY,kBAAmB;MAE3E,OACE,eAAA7C,GAAA,CAACkC,gBAAA;QACCK,OAAA,EAAO;QACPQ,aAAA,EAAed,YAAA;QACfrB,KAAA,EAAOA,KAAA,IAASX,qBAAA;QAEhBY,QAAA,iBAAAb,GAAA,CAAC4C,IAAA;UACCI,IAAA,EAAK;UACLC,EAAA,EAAIN,OAAA,CAAQhB,SAAA;UACZ,iBAAc;UACd,iBAAegB,OAAA,CAAQ5B,IAAA;UACvB,iBAAe4B,OAAA,CAAQ5B,IAAA,GAAO4B,OAAA,CAAQf,SAAA,GAAY;UAClD,cAAYe,OAAA,CAAQ5B,IAAA,GAAO,SAAS;UACpC,iBAAeyB,QAAA,GAAW,KAAK;UAC/B,iBAAeA,QAAA,IAAY;UAC3BU,GAAA,EAAK7D,WAAA,CAAYiD,YAAA,EAAcK,OAAA,CAAQtB,UAAU;UAE/C,CAACyB,UAAU,GAAG1D,oBAAA;UAAA;UAEZuB,KAAA,CAAMmC,UAAU,GACfK,KAAA,IAAU;YAGT,IAAI,CAACX,QAAA,EAAU;cACb,IACEhD,KAAA,IACA2D,KAAA,YAAiBC,YAAA,IACjBD,KAAA,CAAME,MAAA,KAAW,KACjBF,KAAA,CAAMG,OAAA,KAAY,IAElB;cACFX,OAAA,CAAQd,YAAA,CAAa,GAGhBc,OAAA,CAAQ5B,IAAA,IAAMoC,KAAA,CAAMI,cAAA,CAAe;YAC1C;UACF,CACF;UAED,IAAI/D,KAAA,IAAS;YACZgE,SAAA,EAAWpE,oBAAA,CAAqBqD,SAAA,EAAYU,KAAA,IAAU;cAChDX,QAAA,KACA,CAAC,SAAS,GAAG,EAAEiB,QAAA,CAASN,KAAA,CAAMO,GAAG,KAAGf,OAAA,CAAQd,YAAA,CAAa,GACzDsB,KAAA,CAAMO,GAAA,KAAQ,eAAaf,OAAA,CAAQzB,YAAA,CAAa,EAAI,GAGpD,CAAC,SAAS,KAAK,WAAW,EAAEuC,QAAA,CAASN,KAAA,CAAMO,GAAG,KAChDP,KAAA,CAAMI,cAAA,CAAe;YACzB,CAAC;UACH;UACC,GAAGb,YAAA;UAEH7B;QAAA,CACH;MAAA,CACF;IAEJ,CACF;EAEAuB,WAAA,CAAYJ,WAAA,GAAcC,YAAA;EAM1B,MAAM0B,WAAA,GAAc;IAEdC,UAAA,GAAcjD,KAAA,IAAwC;MAC1D,MAAM;UAAEC,KAAA;UAAOC,QAAA;UAAU,GAAGgD;QAAY,IAAIlD,KAAA;QAEtCgC,OAAA,GAAUpD,SAAA,GAAYkB,cAAA,CAAeG,KAAK,IAAI;QAE9CkD,OAAA,GAAUvE,SAAA,GACd,eAAAS,GAAA,CAACO,YAAA;UAAc,GAAGoC,OAAA;UAAU9B;QAAA,CAAS,IAErCA,QAAA;MAEF,OACE,eAAAb,GAAA,CAACI,IAAA,CAAK2D,MAAA,EAAL;QAAYnD,KAAA,EAAOA,KAAA,IAASX,qBAAA;QAAwB,GAAG4D,WAAA;QACrDhD,QAAA,EAAAiD;MAAA,CACH;IAEJ;EAEAF,UAAA,CAAW5B,WAAA,GAAc2B,WAAA;EAMzB,MAAMK,YAAA,GAAe;IAEfC,WAAA,GAAcnE,KAAA,CAAMoE,UAAA,CACxB,CAACvD,KAAA,EAAO2B,YAAA,KAAiB;MACvB,MAAM;UAAE1B,KAAA;UAAO,GAAGuD;QAAa,IAAIxD,KAAA;QAC7BgC,OAAA,GAAUlC,cAAA,CAAeG,KAAK;QAC9BwD,uBAAA,GAA0BtE,KAAA,CAAMwB,MAAA,CAAO,EAAK;MAElD,OACE,eAAAtB,GAAA,CAACI,IAAA,CAAKiE,OAAA,EAAL;QACCpB,EAAA,EAAIN,OAAA,CAAQf,SAAA;QACZ,mBAAiBe,OAAA,CAAQhB,SAAA;QACzBf,KAAA,EAAOA,KAAA,IAASX,qBAAA;QACf,GAAGkE,YAAA;QACJjB,GAAA,EAAKZ,YAAA;QACLgC,gBAAA,EAAkBlF,oBAAA,CAAqBuB,KAAA,CAAM2D,gBAAA,EAAmBnB,KAAA,IAAU;UACnEiB,uBAAA,CAAwBG,OAAA,IAE3BC,qBAAA,CAAsB,MAAM;YAC1B,MAAMC,QAAA,GAAWC,QAAA,CAASC,aAAA;YAC1B,CAAI,CAACF,QAAA,IAAYA,QAAA,KAAaC,QAAA,CAASE,IAAA,KACrCjC,OAAA,CAAQtB,UAAA,CAAWkD,OAAA,EAASM,KAAA,CAAM;UAEtC,CAAC,GAEHT,uBAAA,CAAwBG,OAAA,GAAU,IAElCpB,KAAA,CAAMI,cAAA,CAAe;QACvB,CAAC;QACDuB,iBAAA,EAAmB1F,oBAAA,CAAqBuB,KAAA,CAAMmE,iBAAA,EAAoB3B,KAAA,IAAU;UAC1E,MAAM4B,aAAA,GAAgB5B,KAAA,CAAM6B,MAAA,CAAOD,aAAA;YAC7BE,aAAA,GACJF,aAAA,CAAc1B,MAAA,KAAW,KAAK0B,aAAA,CAAczB,OAAA,KAAY;YACpD4B,YAAA,GAAeH,aAAA,CAAc1B,MAAA,KAAW,KAAK4B,aAAA;UACnD,CAAI,CAACtC,OAAA,CAAQxB,KAAA,IAAS+D,YAAA,MAAcd,uBAAA,CAAwBG,OAAA,GAAU;QACxE,CAAC;QACDY,KAAA,EACE3F,KAAA,GACI;UACE,GAAImB,KAAA,CAAMwE,KAAA;UAER,2CACE;UACF,0CACE;UACF,2CACE;UACF,gCAAgC;UAChC,iCACE;QAEN,IACAxE,KAAA,CAAMwE;MAAA,CAEd;IAEJ,CACF;EAEAlB,WAAA,CAAYjC,WAAA,GAAcgC,YAAA;EAM1B,MAAMoB,sBAAA,GAAyB;IAEzBC,OAAA,GAAW1E,KAAA,IAAqC;MACpD,MAAM;UAAEC,KAAA;UAAOC,QAAA;UAAUE,IAAA,EAAMC,QAAA;UAAUE,YAAA;UAAcD,WAAA;UAAa,GAAGG;QAAK,IAAIT,KAAA;QAC1E,CAACI,IAAA,GAAO,IAAOQ,OAAO,IAAIpC,oBAAA,CAAqB;UACnDqC,IAAA,EAAMR,QAAA;UACNS,WAAA,EAAaR,WAAA;UACbS,QAAA,EAAUR;QACZ,CAAC;MAED,OACE,eAAAlB,GAAA,CAACI,IAAA,CAAKkF,GAAA,EAAL;QACC1E,KAAA,EAAOA,KAAA,IAASX,qBAAA;QAChBc,IAAA;QACAG,YAAA,EAAcK,OAAA;QACb,GAAGH,IAAA;QAEHP;MAAA,CACH;IAEJ;EAEAwE,OAAA,CAAQrD,WAAA,GAAcoD,sBAAA;EAMtB,MAAMG,gBAAA,GAAmB;IAEnBC,cAAA,GAAiB1F,KAAA,CAAMoE,UAAA,CAG3B,CAACvD,KAAA,EAAO2B,YAAA,KAAiB;MACzB,MAAM;QAAE1B,KAAA;QAAO,GAAG6E;MAAgB,IAAI9E,KAAA;MAEtC,OACE,eAAAX,GAAA,CAACI,IAAA,CAAKsF,UAAA,EAAL;QACC9E,KAAA,EAAOA,KAAA,IAASX,qBAAA;QACf,GAAGwF,eAAA;QACJvC,GAAA,EAAKZ,YAAA;QACL6C,KAAA,EACE3F,KAAA,GACI;UACE,GAAImB,KAAA,CAAMwE,KAAA;UAER,2CACE;UACF,0CACE;UACF,2CACE;UACF,gCAAgC;UAChC,iCAAiC;QAErC,IACA;MAAA,CAER;IAEJ,CAAC;EAEDK,cAAA,CAAexD,WAAA,GAAcuD,gBAAA;EAM7B,MAAMI,cAAA,GAAiBjG,MAAA,CAAOR,UAAA,EAAY;MACxC0G,UAAA,EAAY;MACZC,SAAA,EAAW;MACXC,8BAAA,EAAgC;MAChCC,4BAAA,EAA8B;MAE9B,iBAAiB;QACfC,SAAA,EAAW;MACb;IACF,CAAC;IAKKC,KAAA,GAAQ7F,IAAA,CAAK6F,KAAA;IACbC,KAAA,GAAQ9F,IAAA,CAAK8F,KAAA;IACbC,IAAA,GAAO/F,IAAA,CAAK+F,IAAA;IACZC,YAAA,GAAehG,IAAA,CAAKgG,YAAA;IACpBC,UAAA,GAAajG,IAAA,CAAKiG,UAAA;IAClBC,SAAA,GAAYlG,IAAA,CAAKkG,SAAA;IACjBC,aAAA,GAAgBnG,IAAA,CAAKmG,aAAA;IACrBC,SAAA,GAAYpG,IAAA,CAAKoG,SAAA;IACjBC,KAAA,GAAQrG,IAAA,CAAKqG,KAAA;IACbC,UAAA,GAAatG,IAAA,CAAKsG,UAAA;IAClBC,SAAA,GAAYvG,IAAA,CAAKuG,SAAA;IACjBC,YAAA,GAAexG,IAAA,CAAKwG,YAAA;IACpBC,SAAA,GAAYzG,IAAA,CAAKyG,SAAA;IACjBC,QAAA,GAAW1G,IAAA,CAAK0G,QAAA;EAEtB,OAAOjH,oBAAA,CAAqBa,QAAA,EAAU;IACpCqG,IAAA,EAAMrG,QAAA;IACNsG,OAAA,EAAS5E,WAAA;IACT2B,MAAA,EAAQH,UAAA;IACRS,OAAA,EAASJ,WAAA;IACTgC,KAAA;IACAC,KAAA;IACAC,IAAA;IACAC,YAAA;IACAC,UAAA;IACAC,SAAA;IACAC,aAAA;IACAC,SAAA;IACAC,KAAA;IACAnB,GAAA,EAAKD,OAAA;IACLqB,UAAA;IACAhB,UAAA,EAAYF,cAAA;IACZmB,SAAA;IACAC,YAAA;IACAC,SAAA;IACAC,QAAA;IACA5H,UAAA,EAAYyG;EACd,CAAC;AACH","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":[]}