@tamagui/native 2.6.3 → 2.7.0

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.
Files changed (69) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/dist/cjs/expoUIMenuAdapter.cjs +265 -0
  3. package/dist/cjs/expoUIMenuAdapter.native.js +321 -0
  4. package/dist/cjs/expoUIMenuAdapter.native.js.map +1 -0
  5. package/dist/cjs/index.cjs +5 -2
  6. package/dist/cjs/index.native.js +5 -2
  7. package/dist/cjs/index.native.js.map +1 -1
  8. package/dist/cjs/{zeegoState.cjs → nativeMenuState.cjs} +19 -19
  9. package/dist/cjs/{zeegoState.native.js → nativeMenuState.native.js} +20 -20
  10. package/dist/cjs/nativeMenuState.native.js.map +1 -0
  11. package/dist/cjs/setup-expo-ui-menu.cjs +17 -0
  12. package/dist/cjs/setup-expo-ui-menu.native.js +20 -0
  13. package/dist/cjs/setup-expo-ui-menu.native.js.map +1 -0
  14. package/dist/cjs/setup-zeego.cjs +11 -13
  15. package/dist/cjs/setup-zeego.native.js +11 -13
  16. package/dist/cjs/setup-zeego.native.js.map +1 -1
  17. package/dist/esm/expoUIMenuAdapter.mjs +229 -0
  18. package/dist/esm/expoUIMenuAdapter.mjs.map +1 -0
  19. package/dist/esm/expoUIMenuAdapter.native.js +282 -0
  20. package/dist/esm/expoUIMenuAdapter.native.js.map +1 -0
  21. package/dist/esm/index.js +3 -2
  22. package/dist/esm/index.js.map +1 -1
  23. package/dist/esm/index.mjs +3 -2
  24. package/dist/esm/index.mjs.map +1 -1
  25. package/dist/esm/index.native.js +3 -2
  26. package/dist/esm/index.native.js.map +1 -1
  27. package/dist/esm/nativeMenuState.mjs +20 -0
  28. package/dist/esm/nativeMenuState.mjs.map +1 -0
  29. package/dist/esm/nativeMenuState.native.js +20 -0
  30. package/dist/esm/nativeMenuState.native.js.map +1 -0
  31. package/dist/esm/setup-expo-ui-menu.mjs +18 -0
  32. package/dist/esm/setup-expo-ui-menu.mjs.map +1 -0
  33. package/dist/esm/setup-expo-ui-menu.native.js +18 -0
  34. package/dist/esm/setup-expo-ui-menu.native.js.map +1 -0
  35. package/dist/esm/setup-zeego.mjs +11 -13
  36. package/dist/esm/setup-zeego.mjs.map +1 -1
  37. package/dist/esm/setup-zeego.native.js +11 -13
  38. package/dist/esm/setup-zeego.native.js.map +1 -1
  39. package/package.json +14 -2
  40. package/setup-expo-ui-menu/index.cjs +1 -0
  41. package/setup-expo-ui-menu/index.js +1 -0
  42. package/setup-expo-ui-menu/index.native.cjs +1 -0
  43. package/setup-expo-ui-menu/index.native.js +1 -0
  44. package/setup-expo-ui-menu.cjs +1 -0
  45. package/src/expoUIMenuAdapter.tsx +320 -0
  46. package/src/index.ts +5 -4
  47. package/src/nativeMenuState.ts +63 -0
  48. package/src/setup-expo-ui-menu.ts +25 -0
  49. package/src/setup-zeego.ts +12 -16
  50. package/src/types.ts +0 -6
  51. package/types/expoUIMenuAdapter.d.ts +8 -0
  52. package/types/expoUIMenuAdapter.d.ts.map +11 -0
  53. package/types/index.d.ts +5 -3
  54. package/types/index.d.ts.map +2 -2
  55. package/types/nativeMenuState.d.ts +38 -0
  56. package/types/nativeMenuState.d.ts.map +11 -0
  57. package/types/setup-expo-ui-menu.d.ts +3 -0
  58. package/types/setup-expo-ui-menu.d.ts.map +11 -0
  59. package/types/setup-zeego.d.ts.map +1 -1
  60. package/types/types.d.ts +0 -5
  61. package/types/types.d.ts.map +2 -2
  62. package/dist/cjs/zeegoState.native.js.map +0 -1
  63. package/dist/esm/zeegoState.mjs +0 -21
  64. package/dist/esm/zeegoState.mjs.map +0 -1
  65. package/dist/esm/zeegoState.native.js +0 -21
  66. package/dist/esm/zeegoState.native.js.map +0 -1
  67. package/src/zeegoState.ts +0 -28
  68. package/types/zeegoState.d.ts +0 -9
  69. package/types/zeegoState.d.ts.map +0 -11
@@ -0,0 +1,282 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React from "react";
3
+ function _type_of(obj) {
4
+ "@swc/helpers - typeof";
5
+
6
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
7
+ }
8
+ function marker(name) {
9
+ var Marker = function () {
10
+ return null;
11
+ };
12
+ Marker.displayName = `ExpoUI${name}`;
13
+ return Marker;
14
+ }
15
+ function elementOfType(children, type) {
16
+ var _iteratorNormalCompletion = true,
17
+ _didIteratorError = false,
18
+ _iteratorError = void 0;
19
+ try {
20
+ for (var _iterator = React.Children.toArray(children)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
21
+ var child = _step.value;
22
+ if (/* @__PURE__ */React.isValidElement(child) && child.type === type) {
23
+ return child;
24
+ }
25
+ }
26
+ } catch (err) {
27
+ _didIteratorError = true;
28
+ _iteratorError = err;
29
+ } finally {
30
+ try {
31
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
32
+ _iterator.return();
33
+ }
34
+ } finally {
35
+ if (_didIteratorError) {
36
+ throw _iteratorError;
37
+ }
38
+ }
39
+ }
40
+ return null;
41
+ }
42
+ function textFromNode(node) {
43
+ if (typeof node === "string" || typeof node === "number") return String(node);
44
+ if (! /* @__PURE__ */React.isValidElement(node)) return "";
45
+ return React.Children.toArray(node.props.children).map(textFromNode).join("");
46
+ }
47
+ function createExpoUIMenuAdapter(param) {
48
+ var {
49
+ MenuView
50
+ } = param;
51
+ var NativeMenuView = MenuView;
52
+ function createModule(isContextMenu) {
53
+ var Trigger = marker("Trigger");
54
+ var Content = marker("Content");
55
+ var Item = marker("Item");
56
+ var ItemTitle = marker("ItemTitle");
57
+ var ItemSubtitle = marker("ItemSubtitle");
58
+ var ItemIcon = marker("ItemIcon");
59
+ var ItemImage = marker("ItemImage");
60
+ var ItemIndicator = marker("ItemIndicator");
61
+ var Group = marker("Group");
62
+ var Label = marker("Label");
63
+ var Separator = marker("Separator");
64
+ var Sub = marker("Sub");
65
+ var SubTrigger = marker("SubTrigger");
66
+ var SubContent = marker("SubContent");
67
+ var CheckboxItem = marker("CheckboxItem");
68
+ var Preview = marker("Preview");
69
+ var Auxiliary = marker("Auxiliary");
70
+ function Root(param2) {
71
+ var {
72
+ children,
73
+ onOpenChange,
74
+ onOpenWillChange
75
+ } = param2;
76
+ var trigger = elementOfType(children, Trigger);
77
+ var content = elementOfType(children, Content);
78
+ var preview = elementOfType(children, Preview);
79
+ var auxiliary = elementOfType(children, Auxiliary);
80
+ if (preview || auxiliary) {
81
+ throw new Error("@expo/ui/community/menu does not support Tamagui context-menu previews or auxiliary views");
82
+ }
83
+ if (!trigger || !content) {
84
+ throw new Error("Tamagui native menus require one Trigger and one Content");
85
+ }
86
+ var nextId = 0;
87
+ var handlers = /* @__PURE__ */new Map();
88
+ function actionId(element) {
89
+ return element.key == null ? `tamagui-menu-${nextId++}` : String(element.key).replace(/^\.\$/, "");
90
+ }
91
+ function itemTitle(element) {
92
+ if (typeof element.props.textValue === "string") return element.props.textValue;
93
+ var title = elementOfType(element.props.children, ItemTitle);
94
+ return title ? textFromNode(title.props.children) : "";
95
+ }
96
+ function actionImage(element) {
97
+ var image = elementOfType(element.props.children, ItemImage);
98
+ if (image === null || image === void 0 ? void 0 : image.props.source) return image.props.source;
99
+ var icon = elementOfType(element.props.children, ItemIcon);
100
+ if (!icon) return void 0;
101
+ var ios = icon.props.ios;
102
+ if ((typeof ios === "undefined" ? "undefined" : _type_of(ios)) === "object" && ios && "name" in ios && typeof ios.name === "string") {
103
+ return ios.name;
104
+ }
105
+ return typeof icon.props.iosIconName === "string" ? icon.props.iosIconName : void 0;
106
+ }
107
+ function attributes(element) {
108
+ var destructive = element.props.destructive === true;
109
+ var disabled = element.props.disabled === true;
110
+ var hidden = element.props.hidden === true;
111
+ return destructive || disabled || hidden ? {
112
+ destructive,
113
+ disabled,
114
+ hidden
115
+ } : void 0;
116
+ }
117
+ function actionsFrom(childrenToParse) {
118
+ var actions = [];
119
+ var section = null;
120
+ function append(action) {
121
+ if (section) {
122
+ section.push(action);
123
+ } else {
124
+ actions.push(action);
125
+ }
126
+ }
127
+ function flushSection() {
128
+ if (!(section === null || section === void 0 ? void 0 : section.length)) {
129
+ section = [];
130
+ return;
131
+ }
132
+ actions.push({
133
+ id: `tamagui-menu-section-${nextId++}`,
134
+ title: "",
135
+ subactions: section,
136
+ displayInline: true
137
+ });
138
+ section = [];
139
+ }
140
+ var _iteratorNormalCompletion = true,
141
+ _didIteratorError = false,
142
+ _iteratorError = void 0;
143
+ try {
144
+ var _loop = function () {
145
+ var child = _step.value;
146
+ if (! /* @__PURE__ */React.isValidElement(child)) return "continue";
147
+ if (child.type === Separator) {
148
+ if (!section) section = actions.splice(0);
149
+ flushSection();
150
+ return "continue";
151
+ }
152
+ if (child.type === Group) {
153
+ var label2 = elementOfType(child.props.children, Label);
154
+ append({
155
+ id: actionId(child),
156
+ title: label2 ? textFromNode(label2.props.children) : "",
157
+ subactions: actionsFrom(child.props.children),
158
+ displayInline: true
159
+ });
160
+ return "continue";
161
+ }
162
+ if (child.type === Sub) {
163
+ var subTrigger = elementOfType(child.props.children, SubTrigger);
164
+ var subContent = elementOfType(child.props.children, SubContent);
165
+ if (!subTrigger || !subContent) {
166
+ throw new Error("Tamagui native submenus require one SubTrigger and SubContent");
167
+ }
168
+ append({
169
+ id: actionId(child),
170
+ title: itemTitle(subTrigger),
171
+ image: actionImage(subTrigger),
172
+ attributes: attributes(subTrigger),
173
+ subactions: actionsFrom(subContent.props.children)
174
+ });
175
+ return "continue";
176
+ }
177
+ if (child.type !== Item && child.type !== CheckboxItem) return "continue";
178
+ if (elementOfType(child.props.children, ItemSubtitle)) {
179
+ throw new Error("@expo/ui/community/menu does not support menu item subtitles");
180
+ }
181
+ var id = actionId(child);
182
+ if (child.type === CheckboxItem) {
183
+ var current = child.props.value === true || child.props.value === "on" || child.props.checked === true;
184
+ var onValueChange = child.props.onValueChange;
185
+ var onCheckedChange = child.props.onCheckedChange;
186
+ handlers.set(id, function () {
187
+ if (typeof onValueChange === "function") {
188
+ onValueChange(current ? "off" : "on", current ? "on" : "off");
189
+ } else if (typeof onCheckedChange === "function") {
190
+ onCheckedChange(!current);
191
+ }
192
+ });
193
+ append({
194
+ id,
195
+ title: itemTitle(child),
196
+ image: actionImage(child),
197
+ state: current ? "on" : "off",
198
+ attributes: attributes(child)
199
+ });
200
+ return "continue";
201
+ }
202
+ var onSelect = child.props.onSelect;
203
+ if (typeof onSelect === "function") {
204
+ handlers.set(id, function () {
205
+ return onSelect();
206
+ });
207
+ }
208
+ append({
209
+ id,
210
+ title: itemTitle(child),
211
+ image: actionImage(child),
212
+ attributes: attributes(child)
213
+ });
214
+ };
215
+ for (var _iterator = React.Children.toArray(childrenToParse)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) _loop();
216
+ } catch (err) {
217
+ _didIteratorError = true;
218
+ _iteratorError = err;
219
+ } finally {
220
+ try {
221
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
222
+ _iterator.return();
223
+ }
224
+ } finally {
225
+ if (_didIteratorError) {
226
+ throw _iteratorError;
227
+ }
228
+ }
229
+ }
230
+ if (section) flushSection();
231
+ return actions;
232
+ }
233
+ var label = elementOfType(content.props.children, Label);
234
+ var triggerAction = trigger.props.action;
235
+ return /* @__PURE__ */_jsx(NativeMenuView, {
236
+ actions: actionsFrom(content.props.children),
237
+ title: label ? textFromNode(label.props.children) : void 0,
238
+ shouldOpenOnLongPress: triggerAction === "longPress" || triggerAction !== "press" && isContextMenu,
239
+ onPressAction: function (event) {
240
+ var _handlers_get;
241
+ return (_handlers_get = handlers.get(event.nativeEvent.event)) === null || _handlers_get === void 0 ? void 0 : _handlers_get();
242
+ },
243
+ onOpenMenu: function () {
244
+ onOpenWillChange === null || onOpenWillChange === void 0 ? void 0 : onOpenWillChange(true);
245
+ onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(true);
246
+ },
247
+ onCloseMenu: function () {
248
+ onOpenWillChange === null || onOpenWillChange === void 0 ? void 0 : onOpenWillChange(false);
249
+ onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(false);
250
+ },
251
+ children: trigger.props.children
252
+ });
253
+ }
254
+ return {
255
+ Root,
256
+ Trigger,
257
+ Content,
258
+ Item,
259
+ ItemTitle,
260
+ ItemSubtitle,
261
+ ItemIcon,
262
+ ItemImage,
263
+ ItemIndicator,
264
+ Group,
265
+ Label,
266
+ Separator,
267
+ Sub,
268
+ SubTrigger,
269
+ SubContent,
270
+ CheckboxItem,
271
+ Preview,
272
+ Auxiliary
273
+ };
274
+ }
275
+ return {
276
+ name: "expo-ui",
277
+ Menu: createModule(false),
278
+ ContextMenu: createModule(true)
279
+ };
280
+ }
281
+ export { createExpoUIMenuAdapter };
282
+ //# sourceMappingURL=expoUIMenuAdapter.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["jsx","_jsx","React","_type_of","obj","Symbol","constructor","marker","name","Marker","displayName","elementOfType","children","type","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Children","toArray","iterator","_step","next","done","child","value","isValidElement","err","return","textFromNode","node","String","props","map","join","createExpoUIMenuAdapter","param","MenuView","NativeMenuView","createModule","isContextMenu","Trigger","Content","Item","ItemTitle","ItemSubtitle","ItemIcon","ItemImage","ItemIndicator","Group","Label","Separator","Sub","SubTrigger","SubContent","CheckboxItem","Preview","Auxiliary","Root","param2","onOpenChange","onOpenWillChange","trigger","content","preview","auxiliary","Error","nextId","handlers","Map","actionId","element","key","replace","itemTitle","textValue","title","actionImage","image","source","icon","ios","iosIconName","attributes","destructive","disabled","hidden","actionsFrom","childrenToParse","actions","section","append","action","push","flushSection","length","id","subactions","displayInline","_loop","splice","label2","subTrigger","subContent","current","checked","onValueChange","onCheckedChange","set","state","onSelect","label","triggerAction","shouldOpenOnLongPress","onPressAction","event","_handlers_get","get","nativeEvent","onOpenMenu"],"sources":["../../src/expoUIMenuAdapter.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/dist/esm/index.js CHANGED
@@ -5,9 +5,10 @@ import { getWorklets } from "./workletsState.mjs";
5
5
  import { getSafeArea } from "./safeAreaState.mjs";
6
6
  import { getLinearGradient } from "./linearGradientState.mjs";
7
7
  import { isKeyboardControllerEnabled, getKeyboardControllerState, setKeyboardControllerState } from "./keyboardControllerState.mjs";
8
- import { getZeego } from "./zeegoState.mjs";
8
+ import { getNativeMenuAdapter, registerNativeMenuAdapter } from "./nativeMenuState.mjs";
9
+ import { createExpoUIMenuAdapter } from "./expoUIMenuAdapter.mjs";
9
10
  import { NativeMenuContext } from "./nativeMenuContext.mjs";
10
11
  import { getBurnt } from "./burntState.mjs";
11
12
  import { NativePortal, NativePortalHost, NativePortalProvider } from "./components.mjs";
12
- export { NativeMenuContext, NativePortal, NativePortalHost, NativePortalProvider, getBurnt, getGestureHandler, getKeyboardControllerState, getLinearGradient, getPortal, getSafeArea, getWorklets, getZeego, isKeyboardControllerEnabled, setKeyboardControllerState, claimExternalPressOwnership as unstable_claimExternalPressOwnership, hasExternalPressOwnership as unstable_hasExternalPressOwnership, releaseExternalPressOwnership as unstable_releaseExternalPressOwnership };
13
+ export { NativeMenuContext, NativePortal, NativePortalHost, NativePortalProvider, createExpoUIMenuAdapter, getBurnt, getGestureHandler, getKeyboardControllerState, getLinearGradient, getNativeMenuAdapter, getPortal, getSafeArea, getWorklets, isKeyboardControllerEnabled, registerNativeMenuAdapter, setKeyboardControllerState, claimExternalPressOwnership as unstable_claimExternalPressOwnership, hasExternalPressOwnership as unstable_hasExternalPressOwnership, releaseExternalPressOwnership as unstable_releaseExternalPressOwnership };
13
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["getPortal","getGestureHandler","claimExternalPressOwnership","hasExternalPressOwnership","releaseExternalPressOwnership","getWorklets","getSafeArea","getLinearGradient","isKeyboardControllerEnabled","getKeyboardControllerState","setKeyboardControllerState","getZeego","NativeMenuContext","getBurnt","NativePortal","NativePortalHost","NativePortalProvider"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAuCA,SAASA,SAAA,QAAiB;AAI1B,SAASC,iBAAA,QAAyB;AAClC,SACiCC,2BAAA,EACFC,yBAAA,EACIC,6BAAA,QAC5B;AAWP,SAASC,WAAA,QAAmB;AAI5B,SAASC,WAAA,QAAmB;AAI5B,SAASC,iBAAA,QAAyB;AAIlC,SACEC,2BAAA,EACAC,0BAAA,EACAC,0BAAA,QACK;AAIP,SAASC,QAAA,QAAgB;AAEzB,SAASC,iBAAA,QAAyB;AAGlC,SAASC,QAAA,QAAgB;AAIzB,SAASC,YAAA,EAAcC,gBAAA,EAAkBC,oBAAA,QAA4B","ignoreList":[]}
1
+ {"version":3,"names":["getPortal","getGestureHandler","claimExternalPressOwnership","hasExternalPressOwnership","releaseExternalPressOwnership","getWorklets","getSafeArea","getLinearGradient","isKeyboardControllerEnabled","getKeyboardControllerState","setKeyboardControllerState","getNativeMenuAdapter","registerNativeMenuAdapter","createExpoUIMenuAdapter","NativeMenuContext","getBurnt","NativePortal","NativePortalHost","NativePortalProvider"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAuCA,SAASA,SAAA,QAAiB;AAI1B,SAASC,iBAAA,QAAyB;AAClC,SACiCC,2BAAA,EACFC,yBAAA,EACIC,6BAAA,QAC5B;AAWP,SAASC,WAAA,QAAmB;AAI5B,SAASC,WAAA,QAAmB;AAI5B,SAASC,iBAAA,QAAyB;AAIlC,SACEC,2BAAA,EACAC,0BAAA,EACAC,0BAAA,QACK;AAIP,SAASC,oBAAA,EAAsBC,yBAAA,QAAiC;AAChE,SAASC,uBAAA,QAA+B;AAExC,SAASC,iBAAA,QAAyB;AAGlC,SAASC,QAAA,QAAgB;AAIzB,SAASC,YAAA,EAAcC,gBAAA,EAAkBC,oBAAA,QAA4B","ignoreList":[]}
@@ -5,9 +5,10 @@ import { getWorklets } from "./workletsState.mjs";
5
5
  import { getSafeArea } from "./safeAreaState.mjs";
6
6
  import { getLinearGradient } from "./linearGradientState.mjs";
7
7
  import { isKeyboardControllerEnabled, getKeyboardControllerState, setKeyboardControllerState } from "./keyboardControllerState.mjs";
8
- import { getZeego } from "./zeegoState.mjs";
8
+ import { getNativeMenuAdapter, registerNativeMenuAdapter } from "./nativeMenuState.mjs";
9
+ import { createExpoUIMenuAdapter } from "./expoUIMenuAdapter.mjs";
9
10
  import { NativeMenuContext } from "./nativeMenuContext.mjs";
10
11
  import { getBurnt } from "./burntState.mjs";
11
12
  import { NativePortal, NativePortalHost, NativePortalProvider } from "./components.mjs";
12
- export { NativeMenuContext, NativePortal, NativePortalHost, NativePortalProvider, getBurnt, getGestureHandler, getKeyboardControllerState, getLinearGradient, getPortal, getSafeArea, getWorklets, getZeego, isKeyboardControllerEnabled, setKeyboardControllerState, claimExternalPressOwnership as unstable_claimExternalPressOwnership, hasExternalPressOwnership as unstable_hasExternalPressOwnership, releaseExternalPressOwnership as unstable_releaseExternalPressOwnership };
13
+ export { NativeMenuContext, NativePortal, NativePortalHost, NativePortalProvider, createExpoUIMenuAdapter, getBurnt, getGestureHandler, getKeyboardControllerState, getLinearGradient, getNativeMenuAdapter, getPortal, getSafeArea, getWorklets, isKeyboardControllerEnabled, registerNativeMenuAdapter, setKeyboardControllerState, claimExternalPressOwnership as unstable_claimExternalPressOwnership, hasExternalPressOwnership as unstable_hasExternalPressOwnership, releaseExternalPressOwnership as unstable_releaseExternalPressOwnership };
13
14
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["getPortal","getGestureHandler","claimExternalPressOwnership","hasExternalPressOwnership","releaseExternalPressOwnership","getWorklets","getSafeArea","getLinearGradient","isKeyboardControllerEnabled","getKeyboardControllerState","setKeyboardControllerState","getZeego","NativeMenuContext","getBurnt","NativePortal","NativePortalHost","NativePortalProvider"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAuCA,SAASA,SAAA,QAAiB;AAI1B,SAASC,iBAAA,QAAyB;AAClC,SACiCC,2BAAA,EACFC,yBAAA,EACIC,6BAAA,QAC5B;AAWP,SAASC,WAAA,QAAmB;AAI5B,SAASC,WAAA,QAAmB;AAI5B,SAASC,iBAAA,QAAyB;AAIlC,SACEC,2BAAA,EACAC,0BAAA,EACAC,0BAAA,QACK;AAIP,SAASC,QAAA,QAAgB;AAEzB,SAASC,iBAAA,QAAyB;AAGlC,SAASC,QAAA,QAAgB;AAIzB,SAASC,YAAA,EAAcC,gBAAA,EAAkBC,oBAAA,QAA4B","ignoreList":[]}
1
+ {"version":3,"names":["getPortal","getGestureHandler","claimExternalPressOwnership","hasExternalPressOwnership","releaseExternalPressOwnership","getWorklets","getSafeArea","getLinearGradient","isKeyboardControllerEnabled","getKeyboardControllerState","setKeyboardControllerState","getNativeMenuAdapter","registerNativeMenuAdapter","createExpoUIMenuAdapter","NativeMenuContext","getBurnt","NativePortal","NativePortalHost","NativePortalProvider"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAuCA,SAASA,SAAA,QAAiB;AAI1B,SAASC,iBAAA,QAAyB;AAClC,SACiCC,2BAAA,EACFC,yBAAA,EACIC,6BAAA,QAC5B;AAWP,SAASC,WAAA,QAAmB;AAI5B,SAASC,WAAA,QAAmB;AAI5B,SAASC,iBAAA,QAAyB;AAIlC,SACEC,2BAAA,EACAC,0BAAA,EACAC,0BAAA,QACK;AAIP,SAASC,oBAAA,EAAsBC,yBAAA,QAAiC;AAChE,SAASC,uBAAA,QAA+B;AAExC,SAASC,iBAAA,QAAyB;AAGlC,SAASC,QAAA,QAAgB;AAIzB,SAASC,YAAA,EAAcC,gBAAA,EAAkBC,oBAAA,QAA4B","ignoreList":[]}
@@ -5,9 +5,10 @@ import { getWorklets } from "./workletsState.native.js";
5
5
  import { getSafeArea } from "./safeAreaState.native.js";
6
6
  import { getLinearGradient } from "./linearGradientState.native.js";
7
7
  import { isKeyboardControllerEnabled, getKeyboardControllerState, setKeyboardControllerState } from "./keyboardControllerState.native.js";
8
- import { getZeego } from "./zeegoState.native.js";
8
+ import { getNativeMenuAdapter, registerNativeMenuAdapter } from "./nativeMenuState.native.js";
9
+ import { createExpoUIMenuAdapter } from "./expoUIMenuAdapter.native.js";
9
10
  import { NativeMenuContext } from "./nativeMenuContext.native.js";
10
11
  import { getBurnt } from "./burntState.native.js";
11
12
  import { NativePortal, NativePortalHost, NativePortalProvider } from "./components.native.js";
12
- export { NativeMenuContext, NativePortal, NativePortalHost, NativePortalProvider, getBurnt, getGestureHandler, getKeyboardControllerState, getLinearGradient, getPortal, getSafeArea, getWorklets, getZeego, isKeyboardControllerEnabled, setKeyboardControllerState, claimExternalPressOwnership as unstable_claimExternalPressOwnership, hasExternalPressOwnership as unstable_hasExternalPressOwnership, releaseExternalPressOwnership as unstable_releaseExternalPressOwnership };
13
+ export { NativeMenuContext, NativePortal, NativePortalHost, NativePortalProvider, createExpoUIMenuAdapter, getBurnt, getGestureHandler, getKeyboardControllerState, getLinearGradient, getNativeMenuAdapter, getPortal, getSafeArea, getWorklets, isKeyboardControllerEnabled, registerNativeMenuAdapter, setKeyboardControllerState, claimExternalPressOwnership as unstable_claimExternalPressOwnership, hasExternalPressOwnership as unstable_hasExternalPressOwnership, releaseExternalPressOwnership as unstable_releaseExternalPressOwnership };
13
14
  //# sourceMappingURL=index.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["getPortal","getGestureHandler","claimExternalPressOwnership","hasExternalPressOwnership","releaseExternalPressOwnership","getWorklets","getSafeArea","getLinearGradient","isKeyboardControllerEnabled","getKeyboardControllerState","setKeyboardControllerState","getZeego","NativeMenuContext","getBurnt","NativePortal","NativePortalHost","NativePortalProvider"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAuCA,SAASA,SAAA,QAAiB;AAI1B,SAASC,iBAAA,QAAyB;AAClC,SAAAC,2BAAA,EAAAC,yBAAA,EAAAC,6BAAA;AAAA,SACiCC,WAAA;AAAA,SACFC,WAAA;AAAA,SACIC,iBAAA;AAAA,SAC5BC,2BAAA,EAAAC,0BAAA,EAAAC,0BAAA;AAWP,SAASC,QAAA,gCAAmB;AAI5B,SAASC,iBAAA,QAAmB;AAI5B,SAASC,QAAA,gCAAyB;AAIlC,SAAAC,YAAA,EAAAC,gBAAA,EAAAC,oBAAA;AAAA,SAEEJ,iBAAA,EACAE,YAAA,EAAAC,gBACK,EAIPC,oBAAS,EAETH,QAAS,EAGTZ,iBAAS,EAITQ,0BAAuB,E","ignoreList":[]}
1
+ {"version":3,"names":["getPortal","getGestureHandler","claimExternalPressOwnership","hasExternalPressOwnership","releaseExternalPressOwnership","getWorklets","getSafeArea","getLinearGradient","isKeyboardControllerEnabled","getKeyboardControllerState","setKeyboardControllerState","getNativeMenuAdapter","registerNativeMenuAdapter","createExpoUIMenuAdapter","NativeMenuContext","getBurnt","NativePortal","NativePortalHost","NativePortalProvider"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAuCA,SAASA,SAAA,QAAiB;AAI1B,SAASC,iBAAA,QAAyB;AAClC,SAAAC,2BAAA,EAAAC,yBAAA,EAAAC,6BAAA;AAAA,SACiCC,WAAA;AAAA,SACFC,WAAA;AAAA,SACIC,iBAAA;AAAA,SAC5BC,2BAAA,EAAAC,0BAAA,EAAAC,0BAAA;AAWP,SAASC,oBAAmB,EAAAC,yBAAA;AAI5B,SAASC,uBAAmB;AAI5B,SAASC,iBAAA,QAAyB;AAIlC,SAAAC,QAAA;AAAA,SACEC,YAAA,EAAAC,gBAAA,EAAAC,oBAAA;AAAA,SAEAJ,iBAAA,EAAAE,YACK,EAIPC,gBAAS,EACTC,oBAAS,EAETL,uBAAS,EAGTE,QAAS,EAITd,iBAAS,E","ignoreList":[]}
@@ -0,0 +1,20 @@
1
+ import { createGlobalState } from "./globalState.mjs";
2
+ const state = createGlobalState("native-menu-adapter", {
3
+ enabled: false,
4
+ adapter: null
5
+ });
6
+ function registerNativeMenuAdapter(adapter) {
7
+ const current = state.get().adapter;
8
+ if (current && current.name !== adapter.name) {
9
+ throw new Error(`A native menu adapter named "${current.name}" is already registered. Register exactly one adapter before rendering Tamagui menus.`);
10
+ }
11
+ state.set({
12
+ enabled: true,
13
+ adapter
14
+ });
15
+ }
16
+ function getNativeMenuAdapter() {
17
+ return state.get().adapter;
18
+ }
19
+ export { getNativeMenuAdapter, registerNativeMenuAdapter };
20
+ //# sourceMappingURL=nativeMenuState.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createGlobalState","state","enabled","adapter","registerNativeMenuAdapter","current","get","name","Error","set","getNativeMenuAdapter"],"sources":["../../src/nativeMenuState.ts"],"sourcesContent":[null],"mappings":"AAEA,SAASA,iBAAA,QAAyB;AAsClC,MAAMC,KAAA,GAAQD,iBAAA,CAAmC,uBAAuB;EACtEE,OAAA,EAAS;EACTC,OAAA,EAAS;AACX,CAAC;AAMM,SAASC,0BAA0BD,OAAA,EAAkC;EAC1E,MAAME,OAAA,GAAUJ,KAAA,CAAMK,GAAA,CAAI,EAAEH,OAAA;EAC5B,IAAIE,OAAA,IAAWA,OAAA,CAAQE,IAAA,KAASJ,OAAA,CAAQI,IAAA,EAAM;IAC5C,MAAM,IAAIC,KAAA,CACR,gCAAgCH,OAAA,CAAQE,IAAI,uFAE9C;EACF;EACAN,KAAA,CAAMQ,GAAA,CAAI;IAAEP,OAAA,EAAS;IAAMC;EAAQ,CAAC;AACtC;AAEO,SAASO,qBAAA,EAAiD;EAC/D,OAAOT,KAAA,CAAMK,GAAA,CAAI,EAAEH,OAAA;AACrB","ignoreList":[]}
@@ -0,0 +1,20 @@
1
+ import { createGlobalState } from "./globalState.native.js";
2
+ var state = createGlobalState("native-menu-adapter", {
3
+ enabled: false,
4
+ adapter: null
5
+ });
6
+ function registerNativeMenuAdapter(adapter) {
7
+ var current = state.get().adapter;
8
+ if (current && current.name !== adapter.name) {
9
+ throw new Error(`A native menu adapter named "${current.name}" is already registered. Register exactly one adapter before rendering Tamagui menus.`);
10
+ }
11
+ state.set({
12
+ enabled: true,
13
+ adapter
14
+ });
15
+ }
16
+ function getNativeMenuAdapter() {
17
+ return state.get().adapter;
18
+ }
19
+ export { getNativeMenuAdapter, registerNativeMenuAdapter };
20
+ //# sourceMappingURL=nativeMenuState.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createGlobalState","state","enabled","adapter","registerNativeMenuAdapter","current","get","name","Error","set","getNativeMenuAdapter"],"sources":["../../src/nativeMenuState.ts"],"sourcesContent":[null],"mappings":"AAEA,SAASA,iBAAA,QAAyB;AAsClC,IAAAC,KAAM,GAAAD,iBAAQ,sBAAmC;EAC/CE,OAAA,EAAS;EACTC,OAAA,EAAS;AACX,CAAC;AAMM,SAASC,0BAA0BD,OAAA,EAAkC;EAC1E,IAAAE,OAAM,GAAAJ,KAAU,CAAAK,GAAM,GAAIH,OAAE;EAC5B,IAAIE,OAAA,IAAWA,OAAA,CAAQE,IAAA,KAASJ,OAAA,CAAQI,IAAA,EAAM;IAC5C,MAAM,IAAIC,KAAA,iCAAAH,OAAA,CAAAE,IAAA;EAAA;EACoCN,KAE9C,CAAAQ,GAAA;IACFP,OAAA;IACAC;EACF;AAEO;AACL,SAAOO,oBAAYA,CAAA;EACrB,OAAAT,KAAA,CAAAK,GAAA,GAAAH,OAAA","ignoreList":[]}
@@ -0,0 +1,18 @@
1
+ import { createExpoUIMenuAdapter } from "./expoUIMenuAdapter.mjs";
2
+ import { registerNativeMenuAdapter } from "./nativeMenuState.mjs";
3
+ function setup() {
4
+ let MenuView;
5
+ try {
6
+ MenuView = require("@expo/ui/community/menu").MenuView;
7
+ } catch (error) {
8
+ if (process.env.NODE_ENV === "development") {
9
+ console.warn("Error setting up Expo UI native menus", error);
10
+ }
11
+ return;
12
+ }
13
+ registerNativeMenuAdapter(createExpoUIMenuAdapter({
14
+ MenuView
15
+ }));
16
+ }
17
+ setup();
18
+ //# sourceMappingURL=setup-expo-ui-menu.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createExpoUIMenuAdapter","registerNativeMenuAdapter","setup","MenuView","require","error","process","env","NODE_ENV","console","warn"],"sources":["../../src/setup-expo-ui-menu.ts"],"sourcesContent":[null],"mappings":"AAOA,SAASA,uBAAA,QAA+B;AACxC,SAASC,yBAAA,QAAiC;AAE1C,SAASC,MAAA,EAAc;EACrB,IAAIC,QAAA;EACJ,IAAI;IACFA,QAAA,GAAWC,OAAA,CAAQ,yBAAyB,EAAED,QAAA;EAChD,SAASE,KAAA,EAAO;IACd,IAAIC,OAAA,CAAQC,GAAA,CAAIC,QAAA,KAAa,eAAe;MAC1CC,OAAA,CAAQC,IAAA,CAAK,yCAAyCL,KAAK;IAC7D;IACA;EACF;EAEAJ,yBAAA,CAA0BD,uBAAA,CAAwB;IAAEG;EAAS,CAAC,CAAC;AACjE;AAEAD,KAAA,CAAM","ignoreList":[]}
@@ -0,0 +1,18 @@
1
+ import { createExpoUIMenuAdapter } from "./expoUIMenuAdapter.native.js";
2
+ import { registerNativeMenuAdapter } from "./nativeMenuState.native.js";
3
+ function setup() {
4
+ var MenuView;
5
+ try {
6
+ MenuView = require("@expo/ui/community/menu").MenuView;
7
+ } catch (error) {
8
+ if (process.env.NODE_ENV === "development") {
9
+ console.warn("Error setting up Expo UI native menus", error);
10
+ }
11
+ return;
12
+ }
13
+ registerNativeMenuAdapter(createExpoUIMenuAdapter({
14
+ MenuView
15
+ }));
16
+ }
17
+ setup();
18
+ //# sourceMappingURL=setup-expo-ui-menu.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createExpoUIMenuAdapter","registerNativeMenuAdapter","setup","MenuView","require","error","process","env","NODE_ENV","console","warn"],"sources":["../../src/setup-expo-ui-menu.ts"],"sourcesContent":[null],"mappings":"AAOA,SAASA,uBAAA,QAA+B;AACxC,SAASC,yBAAA,QAAiC;AAE1C,SAASC,MAAA,EAAc;EACrB,IAAIC,QAAA;EACJ,IAAI;IACFA,QAAA,GAAWC,OAAA,CAAQ,yBAAyB,EAAED,QAAA;EAChD,SAASE,KAAA,EAAO;IACd,IAAIC,OAAA,CAAQC,GAAA,CAAIC,QAAA,KAAa,eAAe;MAC1CC,OAAA,CAAQC,IAAA,CAAK,yCAAyCL,KAAK;IAC7D;IACA;EACF;EAEAJ,yBAAA,CAA0BD,uBAAA,CAAwB;IACpDG;EAEA","ignoreList":[]}
@@ -1,23 +1,21 @@
1
- import { getZeego } from "./zeegoState.mjs";
1
+ import { registerNativeMenuAdapter } from "./nativeMenuState.mjs";
2
2
  function setup() {
3
- const g = globalThis;
4
- if (g.__tamagui_native_zeego_setup) return;
5
- g.__tamagui_native_zeego_setup = true;
3
+ let Menu;
4
+ let ContextMenu;
6
5
  try {
7
- const DropdownMenu = require("zeego/dropdown-menu");
8
- const ContextMenu = require("zeego/context-menu");
9
- if (DropdownMenu && ContextMenu) {
10
- getZeego().set({
11
- enabled: true,
12
- DropdownMenu,
13
- ContextMenu
14
- });
15
- }
6
+ Menu = require("zeego/dropdown-menu");
7
+ ContextMenu = require("zeego/context-menu");
16
8
  } catch (err) {
17
9
  if (process.env.NODE_ENV === "development") {
18
10
  console.warn(`Error setting up Zeego`, err);
19
11
  }
12
+ return;
20
13
  }
14
+ registerNativeMenuAdapter({
15
+ name: "zeego",
16
+ Menu,
17
+ ContextMenu
18
+ });
21
19
  }
22
20
  setup();
23
21
  //# sourceMappingURL=setup-zeego.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["getZeego","setup","g","globalThis","__tamagui_native_zeego_setup","DropdownMenu","require","ContextMenu","set","enabled","err","process","env","NODE_ENV","console","warn"],"sources":["../../src/setup-zeego.ts"],"sourcesContent":[null],"mappings":"AAcA,SAASA,QAAA,QAAgB;AAEzB,SAASC,MAAA,EAAc;EACrB,MAAMC,CAAA,GAAIC,UAAA;EACV,IAAID,CAAA,CAAEE,4BAAA,EAA8B;EACpCF,CAAA,CAAEE,4BAAA,GAA+B;EAEjC,IAAI;IACF,MAAMC,YAAA,GAAeC,OAAA,CAAQ,qBAAqB;IAClD,MAAMC,WAAA,GAAcD,OAAA,CAAQ,oBAAoB;IAEhD,IAAID,YAAA,IAAgBE,WAAA,EAAa;MAC/BP,QAAA,CAAS,EAAEQ,GAAA,CAAI;QACbC,OAAA,EAAS;QACTJ,YAAA;QACAE;MACF,CAAC;IACH;EACF,SAASG,GAAA,EAAK;IACZ,IAAIC,OAAA,CAAQC,GAAA,CAAIC,QAAA,KAAa,eAAe;MAC1CC,OAAA,CAAQC,IAAA,CAAK,0BAA0BL,GAAG;IAC5C;EAEF;AACF;AAGAT,KAAA,CAAM","ignoreList":[]}
1
+ {"version":3,"names":["registerNativeMenuAdapter","setup","Menu","ContextMenu","require","err","process","env","NODE_ENV","console","warn","name"],"sources":["../../src/setup-zeego.ts"],"sourcesContent":[null],"mappings":"AAcA,SAASA,yBAAA,QAAiC;AAE1C,SAASC,MAAA,EAAc;EACrB,IAAIC,IAAA;EACJ,IAAIC,WAAA;EACJ,IAAI;IACFD,IAAA,GAAOE,OAAA,CAAQ,qBAAqB;IACpCD,WAAA,GAAcC,OAAA,CAAQ,oBAAoB;EAC5C,SAASC,GAAA,EAAK;IACZ,IAAIC,OAAA,CAAQC,GAAA,CAAIC,QAAA,KAAa,eAAe;MAC1CC,OAAA,CAAQC,IAAA,CAAK,0BAA0BL,GAAG;IAC5C;IACA;EACF;EAEAL,yBAAA,CAA0B;IACxBW,IAAA,EAAM;IACNT,IAAA;IACAC;EACF,CAAC;AACH;AAGAF,KAAA,CAAM","ignoreList":[]}
@@ -1,23 +1,21 @@
1
- import { getZeego } from "./zeegoState.native.js";
1
+ import { registerNativeMenuAdapter } from "./nativeMenuState.native.js";
2
2
  function setup() {
3
- var g = globalThis;
4
- if (g.__tamagui_native_zeego_setup) return;
5
- g.__tamagui_native_zeego_setup = true;
3
+ var Menu;
4
+ var ContextMenu;
6
5
  try {
7
- var DropdownMenu = require("zeego/dropdown-menu");
8
- var ContextMenu = require("zeego/context-menu");
9
- if (DropdownMenu && ContextMenu) {
10
- getZeego().set({
11
- enabled: true,
12
- DropdownMenu,
13
- ContextMenu
14
- });
15
- }
6
+ Menu = require("zeego/dropdown-menu");
7
+ ContextMenu = require("zeego/context-menu");
16
8
  } catch (err) {
17
9
  if (process.env.NODE_ENV === "development") {
18
10
  console.warn(`Error setting up Zeego`, err);
19
11
  }
12
+ return;
20
13
  }
14
+ registerNativeMenuAdapter({
15
+ name: "zeego",
16
+ Menu,
17
+ ContextMenu
18
+ });
21
19
  }
22
20
  setup();
23
21
  //# sourceMappingURL=setup-zeego.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["getZeego","setup","g","globalThis","__tamagui_native_zeego_setup","DropdownMenu","require","ContextMenu","set","enabled","err","process","env","NODE_ENV","console","warn"],"sources":["../../src/setup-zeego.ts"],"sourcesContent":[null],"mappings":"AAcA,SAASA,QAAA,QAAgB;AAEzB,SAASC,MAAA,EAAc;EACrB,IAAAC,CAAA,GAAMC,UAAI;EACV,IAAID,CAAA,CAAEE,4BAAA,EAA8B;EACpCF,CAAA,CAAEE,4BAAA,GAA+B;EAEjC,IAAI;IACF,IAAAC,YAAM,GAAAC,OAAe,sBAAQ;IAC7B,IAAAC,WAAM,GAAAD,OAAc,qBAAQ;IAE5B,IAAID,YAAA,IAAgBE,WAAA,EAAa;MAC/BP,QAAA,CAAS,EAAEQ,GAAA,CAAI;QACbC,OAAA,EAAS;QACTJ,YAAA;QACAE;MACF,CAAC;IACH;EACF,SAASG,GAAA,EAAK;IACZ,IAAIC,OAAA,CAAQC,GAAA,CAAIC,QAAA,KAAa,eAAe;MAC1CC,OAAA,CAAQC,IAAA,CAAK,0BAA0BL,GAAG;IAC5C;EAEF;AACF;AAGAT,KAAA,CAAM","ignoreList":[]}
1
+ {"version":3,"names":["registerNativeMenuAdapter","setup","Menu","ContextMenu","require","err","process","env","NODE_ENV","console","warn","name"],"sources":["../../src/setup-zeego.ts"],"sourcesContent":[null],"mappings":"AAcA,SAASA,yBAAA,QAAiC;AAE1C,SAASC,MAAA,EAAc;EACrB,IAAIC,IAAA;EACJ,IAAIC,WAAA;EACJ,IAAI;IACFD,IAAA,GAAOE,OAAA,CAAQ,qBAAqB;IACpCD,WAAA,GAAcC,OAAA,CAAQ,oBAAoB;EAC5C,SAASC,GAAA,EAAK;IACZ,IAAIC,OAAA,CAAQC,GAAA,CAAIC,QAAA,KAAa,eAAe;MAC1CC,OAAA,CAAQC,IAAA,CAAK,0BAA0BL,GAAG;IAC5C;IACA;EACF;EAEAL,yBAAA,CAA0B;IACxBW,IAAA,EAAM;IACNT,IAAA;IACAC;EACF,CAAC;AACH;AAGAF,KAAA,CAAM","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/native",
3
- "version": "2.6.3",
3
+ "version": "2.7.0",
4
4
  "description": "Native setup modules for Tamagui - portals, gesture handler, worklets, and more",
5
5
  "type": "module",
6
6
  "sideEffects": [
@@ -36,6 +36,9 @@
36
36
  "setup-zeego": [
37
37
  "./types/setup-zeego.d.ts"
38
38
  ],
39
+ "setup-expo-ui-menu": [
40
+ "./types/setup-expo-ui-menu.d.ts"
41
+ ],
39
42
  "setup-burnt": [
40
43
  "./types/setup-burnt.d.ts"
41
44
  ]
@@ -124,6 +127,15 @@
124
127
  "require": "./dist/cjs/setup-zeego.cjs",
125
128
  "default": "./dist/esm/setup-zeego.mjs"
126
129
  },
130
+ "./setup-expo-ui-menu": {
131
+ "types": "./types/setup-expo-ui-menu.d.ts",
132
+ "react-native": "./dist/esm/setup-expo-ui-menu.native.js",
133
+ "browser": "./dist/esm/setup-expo-ui-menu.mjs",
134
+ "module": "./dist/esm/setup-expo-ui-menu.mjs",
135
+ "import": "./dist/esm/setup-expo-ui-menu.mjs",
136
+ "require": "./dist/cjs/setup-expo-ui-menu.cjs",
137
+ "default": "./dist/esm/setup-expo-ui-menu.mjs"
138
+ },
127
139
  "./setup-burnt": {
128
140
  "types": "./types/setup-burnt.d.ts",
129
141
  "react-native": "./dist/esm/setup-burnt.native.js",
@@ -144,7 +156,7 @@
144
156
  "clean:build": "tamagui-build clean:build"
145
157
  },
146
158
  "devDependencies": {
147
- "@tamagui/build": "2.6.3",
159
+ "@tamagui/build": "2.7.0",
148
160
  "burnt": "^0.12.2",
149
161
  "react": ">=19",
150
162
  "react-native": "0.83.2",
@@ -0,0 +1 @@
1
+ Object.assign(module.exports, require('../dist/cjs/setup-expo-ui-menu.cjs'))
@@ -0,0 +1 @@
1
+ Object.assign(module.exports, require('../dist/cjs/setup-expo-ui-menu.cjs'))
@@ -0,0 +1 @@
1
+ Object.assign(module.exports, require('../dist/cjs/setup-expo-ui-menu.native.js'))
@@ -0,0 +1 @@
1
+ Object.assign(module.exports, require('../dist/cjs/setup-expo-ui-menu.native.js'))
@@ -0,0 +1 @@
1
+ Object.assign(module.exports, require('./dist/cjs/setup-expo-ui-menu.cjs'))