@tamagui/native 2.7.7 → 3.0.0-beta.637.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (225) hide show
  1. package/dist/cjs/PressBoundary.cjs +53 -71
  2. package/dist/cjs/PressBoundary.native.cjs +86 -0
  3. package/dist/cjs/PressBoundary.native.js +63 -80
  4. package/dist/cjs/PressBoundary.native.js.map +1 -1
  5. package/dist/cjs/burntState.cjs +29 -32
  6. package/dist/cjs/burntState.native.cjs +45 -0
  7. package/dist/cjs/burntState.native.js +29 -31
  8. package/dist/cjs/burntState.native.js.map +1 -1
  9. package/dist/cjs/components.cjs +35 -55
  10. package/dist/cjs/components.native.cjs +56 -0
  11. package/dist/cjs/components.native.js +35 -54
  12. package/dist/cjs/components.native.js.map +1 -1
  13. package/dist/cjs/expoUIMenuAdapter.cjs +240 -254
  14. package/dist/cjs/expoUIMenuAdapter.native.cjs +315 -0
  15. package/dist/cjs/expoUIMenuAdapter.native.js +285 -303
  16. package/dist/cjs/expoUIMenuAdapter.native.js.map +1 -1
  17. package/dist/cjs/gesture-handler.cjs +21 -22
  18. package/dist/cjs/gesture-handler.native.cjs +38 -0
  19. package/dist/cjs/gesture-handler.native.js +21 -21
  20. package/dist/cjs/gesture-handler.native.js.map +1 -1
  21. package/dist/cjs/gestureState.cjs +202 -207
  22. package/dist/cjs/gestureState.native.cjs +262 -0
  23. package/dist/cjs/gestureState.native.js +215 -219
  24. package/dist/cjs/gestureState.native.js.map +1 -1
  25. package/dist/cjs/globalState.cjs +31 -34
  26. package/dist/cjs/globalState.native.cjs +44 -0
  27. package/dist/cjs/globalState.native.js +31 -33
  28. package/dist/cjs/globalState.native.js.map +1 -1
  29. package/dist/cjs/index.cjs +34 -34
  30. package/dist/cjs/index.native.cjs +59 -0
  31. package/dist/cjs/index.native.js +34 -33
  32. package/dist/cjs/index.native.js.map +1 -1
  33. package/dist/cjs/keyboardControllerState.cjs +28 -29
  34. package/dist/cjs/keyboardControllerState.native.cjs +50 -0
  35. package/dist/cjs/keyboardControllerState.native.js +28 -28
  36. package/dist/cjs/keyboardControllerState.native.js.map +1 -1
  37. package/dist/cjs/linearGradientState.cjs +28 -31
  38. package/dist/cjs/linearGradientState.native.cjs +44 -0
  39. package/dist/cjs/linearGradientState.native.js +28 -30
  40. package/dist/cjs/linearGradientState.native.js.map +1 -1
  41. package/dist/cjs/nativeMenuContext.cjs +15 -18
  42. package/dist/cjs/nativeMenuContext.native.cjs +28 -0
  43. package/dist/cjs/nativeMenuContext.native.js +15 -17
  44. package/dist/cjs/nativeMenuContext.native.js.map +1 -1
  45. package/dist/cjs/nativeMenuState.cjs +27 -28
  46. package/dist/cjs/nativeMenuState.native.cjs +47 -0
  47. package/dist/cjs/nativeMenuState.native.js +27 -27
  48. package/dist/cjs/nativeMenuState.native.js.map +1 -1
  49. package/dist/cjs/portalState.cjs +28 -31
  50. package/dist/cjs/portalState.native.cjs +44 -0
  51. package/dist/cjs/portalState.native.js +28 -30
  52. package/dist/cjs/portalState.native.js.map +1 -1
  53. package/dist/cjs/safeAreaState.cjs +77 -53
  54. package/dist/cjs/safeAreaState.native.cjs +101 -0
  55. package/dist/cjs/safeAreaState.native.js +79 -52
  56. package/dist/cjs/safeAreaState.native.js.map +1 -1
  57. package/dist/cjs/setup-burnt.cjs +15 -14
  58. package/dist/cjs/setup-burnt.native.cjs +20 -0
  59. package/dist/cjs/setup-burnt.native.js +15 -13
  60. package/dist/cjs/setup-burnt.native.js.map +1 -1
  61. package/dist/cjs/setup-expo-linear-gradient.cjs +14 -13
  62. package/dist/cjs/setup-expo-linear-gradient.native.cjs +19 -0
  63. package/dist/cjs/setup-expo-linear-gradient.native.js +14 -12
  64. package/dist/cjs/setup-expo-linear-gradient.native.js.map +1 -1
  65. package/dist/cjs/setup-expo-ui-menu.cjs +12 -13
  66. package/dist/cjs/setup-expo-ui-menu.native.cjs +18 -0
  67. package/dist/cjs/setup-expo-ui-menu.native.js +12 -12
  68. package/dist/cjs/setup-expo-ui-menu.native.js.map +1 -1
  69. package/dist/cjs/setup-gesture-handler.cjs +51 -57
  70. package/dist/cjs/setup-gesture-handler.native.cjs +72 -0
  71. package/dist/cjs/setup-gesture-handler.native.js +51 -56
  72. package/dist/cjs/setup-gesture-handler.native.js.map +1 -1
  73. package/dist/cjs/setup-keyboard-controller.native.cjs +28 -0
  74. package/dist/cjs/setup-keyboard-controller.native.js +23 -29
  75. package/dist/cjs/setup-keyboard-controller.native.js.map +1 -1
  76. package/dist/cjs/setup-safe-area.cjs +17 -3
  77. package/dist/cjs/setup-safe-area.native.cjs +28 -0
  78. package/dist/cjs/setup-safe-area.native.js +23 -16
  79. package/dist/cjs/setup-safe-area.native.js.map +1 -1
  80. package/dist/cjs/setup-teleport.cjs +16 -15
  81. package/dist/cjs/setup-teleport.native.cjs +21 -0
  82. package/dist/cjs/setup-teleport.native.js +16 -14
  83. package/dist/cjs/setup-teleport.native.js.map +1 -1
  84. package/dist/cjs/setup-worklets.cjs +19 -18
  85. package/dist/cjs/setup-worklets.native.cjs +24 -0
  86. package/dist/cjs/setup-worklets.native.js +19 -17
  87. package/dist/cjs/setup-worklets.native.js.map +1 -1
  88. package/dist/cjs/setup-zeego.cjs +18 -17
  89. package/dist/cjs/setup-zeego.native.cjs +23 -0
  90. package/dist/cjs/setup-zeego.native.js +18 -16
  91. package/dist/cjs/setup-zeego.native.js.map +1 -1
  92. package/dist/cjs/types.cjs +10 -11
  93. package/dist/cjs/types.native.cjs +19 -0
  94. package/dist/cjs/types.native.js +10 -10
  95. package/dist/cjs/types.native.js.map +1 -1
  96. package/dist/cjs/workletsState.cjs +31 -34
  97. package/dist/cjs/workletsState.native.cjs +47 -0
  98. package/dist/cjs/workletsState.native.js +31 -33
  99. package/dist/cjs/workletsState.native.js.map +1 -1
  100. package/dist/esm/PressBoundary.mjs +37 -45
  101. package/dist/esm/PressBoundary.mjs.map +1 -1
  102. package/dist/esm/PressBoundary.native.js +48 -56
  103. package/dist/esm/PressBoundary.native.js.map +1 -1
  104. package/dist/esm/burntState.mjs +16 -14
  105. package/dist/esm/burntState.mjs.map +1 -1
  106. package/dist/esm/burntState.native.js +16 -14
  107. package/dist/esm/burntState.native.js.map +1 -1
  108. package/dist/esm/components.mjs +20 -37
  109. package/dist/esm/components.mjs.map +1 -1
  110. package/dist/esm/components.native.js +21 -38
  111. package/dist/esm/components.native.js.map +1 -1
  112. package/dist/esm/expoUIMenuAdapter.mjs +224 -228
  113. package/dist/esm/expoUIMenuAdapter.mjs.map +1 -1
  114. package/dist/esm/expoUIMenuAdapter.native.js +270 -279
  115. package/dist/esm/expoUIMenuAdapter.native.js.map +1 -1
  116. package/dist/esm/gesture-handler.mjs +3 -4
  117. package/dist/esm/gesture-handler.native.js +3 -4
  118. package/dist/esm/gestureState.mjs +185 -187
  119. package/dist/esm/gestureState.mjs.map +1 -1
  120. package/dist/esm/gestureState.native.js +198 -200
  121. package/dist/esm/gestureState.native.js.map +1 -1
  122. package/dist/esm/globalState.mjs +17 -16
  123. package/dist/esm/globalState.mjs.map +1 -1
  124. package/dist/esm/globalState.native.js +17 -16
  125. package/dist/esm/globalState.native.js.map +1 -1
  126. package/dist/esm/index.js +5 -6
  127. package/dist/esm/index.mjs +5 -6
  128. package/dist/esm/index.native.js +5 -6
  129. package/dist/esm/keyboardControllerState.mjs +13 -11
  130. package/dist/esm/keyboardControllerState.mjs.map +1 -1
  131. package/dist/esm/keyboardControllerState.native.js +13 -11
  132. package/dist/esm/keyboardControllerState.native.js.map +1 -1
  133. package/dist/esm/linearGradientState.mjs +15 -13
  134. package/dist/esm/linearGradientState.mjs.map +1 -1
  135. package/dist/esm/linearGradientState.native.js +15 -13
  136. package/dist/esm/linearGradientState.native.js.map +1 -1
  137. package/dist/esm/nativeMenuContext.mjs +2 -0
  138. package/dist/esm/nativeMenuContext.mjs.map +1 -1
  139. package/dist/esm/nativeMenuContext.native.js +2 -0
  140. package/dist/esm/nativeMenuContext.native.js.map +1 -1
  141. package/dist/esm/nativeMenuState.mjs +13 -11
  142. package/dist/esm/nativeMenuState.mjs.map +1 -1
  143. package/dist/esm/nativeMenuState.native.js +13 -11
  144. package/dist/esm/nativeMenuState.native.js.map +1 -1
  145. package/dist/esm/portalState.mjs +15 -13
  146. package/dist/esm/portalState.mjs.map +1 -1
  147. package/dist/esm/portalState.native.js +15 -13
  148. package/dist/esm/portalState.native.js.map +1 -1
  149. package/dist/esm/safeAreaState.mjs +64 -38
  150. package/dist/esm/safeAreaState.mjs.map +1 -1
  151. package/dist/esm/safeAreaState.native.js +66 -38
  152. package/dist/esm/safeAreaState.native.js.map +1 -1
  153. package/dist/esm/setup-burnt.mjs +20 -13
  154. package/dist/esm/setup-burnt.mjs.map +1 -1
  155. package/dist/esm/setup-burnt.native.js +20 -13
  156. package/dist/esm/setup-burnt.native.js.map +1 -1
  157. package/dist/esm/setup-expo-linear-gradient.mjs +19 -12
  158. package/dist/esm/setup-expo-linear-gradient.mjs.map +1 -1
  159. package/dist/esm/setup-expo-linear-gradient.native.js +19 -12
  160. package/dist/esm/setup-expo-linear-gradient.native.js.map +1 -1
  161. package/dist/esm/setup-expo-ui-menu.mjs +17 -12
  162. package/dist/esm/setup-expo-ui-menu.mjs.map +1 -1
  163. package/dist/esm/setup-expo-ui-menu.native.js +17 -12
  164. package/dist/esm/setup-expo-ui-menu.native.js.map +1 -1
  165. package/dist/esm/setup-gesture-handler.mjs +42 -40
  166. package/dist/esm/setup-gesture-handler.mjs.map +1 -1
  167. package/dist/esm/setup-gesture-handler.native.js +42 -40
  168. package/dist/esm/setup-gesture-handler.native.js.map +1 -1
  169. package/dist/esm/setup-keyboard-controller.mjs +0 -2
  170. package/dist/esm/setup-keyboard-controller.native.js +28 -29
  171. package/dist/esm/setup-keyboard-controller.native.js.map +1 -1
  172. package/dist/esm/setup-safe-area.mjs +0 -4
  173. package/dist/esm/setup-safe-area.native.js +23 -22
  174. package/dist/esm/setup-safe-area.native.js.map +1 -1
  175. package/dist/esm/setup-teleport.mjs +21 -14
  176. package/dist/esm/setup-teleport.mjs.map +1 -1
  177. package/dist/esm/setup-teleport.native.js +21 -14
  178. package/dist/esm/setup-teleport.native.js.map +1 -1
  179. package/dist/esm/setup-worklets.mjs +24 -17
  180. package/dist/esm/setup-worklets.mjs.map +1 -1
  181. package/dist/esm/setup-worklets.native.js +24 -17
  182. package/dist/esm/setup-worklets.native.js.map +1 -1
  183. package/dist/esm/setup-zeego.mjs +23 -16
  184. package/dist/esm/setup-zeego.mjs.map +1 -1
  185. package/dist/esm/setup-zeego.native.js +23 -16
  186. package/dist/esm/setup-zeego.native.js.map +1 -1
  187. package/dist/esm/types.mjs +0 -2
  188. package/dist/esm/types.native.js +0 -2
  189. package/dist/esm/workletsState.mjs +18 -16
  190. package/dist/esm/workletsState.mjs.map +1 -1
  191. package/dist/esm/workletsState.native.js +18 -16
  192. package/dist/esm/workletsState.native.js.map +1 -1
  193. package/package.json +84 -7
  194. package/src/PressBoundary.tsx +48 -45
  195. package/src/expoUIMenuAdapter.tsx +1 -2
  196. package/src/gestureState.ts +2 -2
  197. package/src/index.ts +1 -1
  198. package/src/safeAreaState.ts +59 -27
  199. package/src/setup-safe-area.ts +27 -22
  200. package/src/setup-safe-area.web.ts +2 -0
  201. package/src/types.ts +1 -0
  202. package/types/PressBoundary.d.ts +3 -1
  203. package/types/PressBoundary.d.ts.map +2 -2
  204. package/types/expoUIMenuAdapter.d.ts.map +2 -2
  205. package/types/gestureState.d.ts.map +1 -1
  206. package/types/index.d.ts +1 -1
  207. package/types/index.d.ts.map +2 -2
  208. package/types/safeAreaState.d.ts +5 -2
  209. package/types/safeAreaState.d.ts.map +2 -2
  210. package/types/setup-safe-area.d.ts.map +1 -1
  211. package/types/setup-safe-area.web.d.ts +3 -0
  212. package/types/setup-safe-area.web.d.ts.map +11 -0
  213. package/types/types.d.ts +1 -0
  214. package/types/types.d.ts.map +2 -2
  215. package/.turbo/turbo-build.log +0 -2
  216. package/dist/esm/gesture-handler.mjs.map +0 -1
  217. package/dist/esm/gesture-handler.native.js.map +0 -1
  218. package/dist/esm/index.js.map +0 -1
  219. package/dist/esm/index.mjs.map +0 -1
  220. package/dist/esm/index.native.js.map +0 -1
  221. package/dist/esm/setup-keyboard-controller.mjs.map +0 -1
  222. package/dist/esm/setup-safe-area.mjs.map +0 -1
  223. package/dist/esm/types.mjs.map +0 -1
  224. package/dist/esm/types.native.js.map +0 -1
  225. package/tsconfig.json +0 -12
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+
3
4
  var __create = Object.create;
4
5
  var __defProp = Object.defineProperty;
5
6
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -7,329 +8,310 @@ var __getOwnPropNames = Object.getOwnPropertyNames;
7
8
  var __getProtoOf = Object.getPrototypeOf;
8
9
  var __hasOwnProp = Object.prototype.hasOwnProperty;
9
10
  var __export = (target, all) => {
10
- for (var name in all) __defProp(target, name, {
11
- get: all[name],
12
- enumerable: true
13
- });
11
+ for (var name in all) __defProp(target, name, {
12
+ get: all[name],
13
+ enumerable: true
14
+ });
14
15
  };
15
16
  var __copyProps = (to, from, except, desc) => {
16
- if (from && typeof from === "object" || typeof from === "function") {
17
- for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
18
- get: () => from[key],
19
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
20
- });
21
- }
22
- return to;
17
+ if (from && typeof from === "object" || typeof from === "function") {
18
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
19
+ get: () => from[key],
20
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
21
+ });
22
+ }
23
+ return to;
23
24
  };
24
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
25
- // If the importer is in node compatibility mode or this is not an ESM
26
- // file that has been converted to a CommonJS file using a Babel-
27
- // compatible transform (i.e. "__esModule" has not been set), then set
28
- // "default" to the CommonJS "module.exports" for node compatibility.
29
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
30
- value: mod,
31
- enumerable: true
25
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
26
+ value: mod,
27
+ enumerable: true
32
28
  }) : target, mod));
33
- var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
34
- value: true
35
- }), mod);
29
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
36
30
  var expoUIMenuAdapter_exports = {};
37
- __export(expoUIMenuAdapter_exports, {
38
- createExpoUIMenuAdapter: () => createExpoUIMenuAdapter
39
- });
31
+ __export(expoUIMenuAdapter_exports, { createExpoUIMenuAdapter: () => createExpoUIMenuAdapter });
40
32
  module.exports = __toCommonJS(expoUIMenuAdapter_exports);
41
33
  var import_jsx_runtime = require("react/jsx-runtime");
42
34
  var import_react = __toESM(require("react"), 1);
43
35
  function _type_of(obj) {
44
- "@swc/helpers - typeof";
45
-
46
- return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
36
+ "@swc/helpers - typeof";
37
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
47
38
  }
48
39
  function marker(name) {
49
- var Marker = function () {
50
- return null;
51
- };
52
- Marker.displayName = `ExpoUI${name}`;
53
- return Marker;
40
+ var Marker = function() {
41
+ return null;
42
+ };
43
+ Marker.displayName = `ExpoUI${name}`;
44
+ return Marker;
54
45
  }
55
46
  function isMarkerType(candidate, type) {
56
- if (candidate === type) return true;
57
- var wanted = type.displayName;
58
- if (!wanted) return false;
59
- return typeof candidate === "function" && candidate.displayName === wanted;
47
+ if (candidate === type) return true;
48
+ var wanted = type.displayName;
49
+ if (!wanted) return false;
50
+ return typeof candidate === "function" && candidate.displayName === wanted;
60
51
  }
61
52
  function elementOfType(children, type) {
62
- var _iteratorNormalCompletion = true,
63
- _didIteratorError = false,
64
- _iteratorError = void 0;
65
- try {
66
- for (var _iterator = import_react.default.Children.toArray(children)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
67
- var child = _step.value;
68
- if (/* @__PURE__ */import_react.default.isValidElement(child) && isMarkerType(child.type, type)) {
69
- return child;
70
- }
71
- }
72
- } catch (err) {
73
- _didIteratorError = true;
74
- _iteratorError = err;
75
- } finally {
76
- try {
77
- if (!_iteratorNormalCompletion && _iterator.return != null) {
78
- _iterator.return();
79
- }
80
- } finally {
81
- if (_didIteratorError) {
82
- throw _iteratorError;
83
- }
84
- }
85
- }
86
- return null;
53
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
54
+ try {
55
+ for (var _iterator = import_react.default.Children.toArray(children)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
56
+ var child = _step.value;
57
+ if (/* @__PURE__ */ import_react.default.isValidElement(child) && isMarkerType(child.type, type)) {
58
+ return child;
59
+ }
60
+ }
61
+ } catch (err) {
62
+ _didIteratorError = true;
63
+ _iteratorError = err;
64
+ } finally {
65
+ try {
66
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
67
+ _iterator.return();
68
+ }
69
+ } finally {
70
+ if (_didIteratorError) {
71
+ throw _iteratorError;
72
+ }
73
+ }
74
+ }
75
+ return null;
87
76
  }
88
- var warnedUnsupported = /* @__PURE__ */new Set();
77
+ var warnedUnsupported = /* @__PURE__ */ new Set();
89
78
  function warnUnsupported(feature) {
90
- if (warnedUnsupported.has(feature) || process.env.NODE_ENV === "production") {
91
- return;
92
- }
93
- warnedUnsupported.add(feature);
94
- console.warn(`[Tamagui] @expo/ui/community/menu does not support ${feature}, so it will not render. Register a different native menu adapter if you need it.`);
79
+ if (warnedUnsupported.has(feature) || process.env.NODE_ENV === "production") {
80
+ return;
81
+ }
82
+ warnedUnsupported.add(feature);
83
+ console.warn(`[Tamagui] @expo/ui/community/menu does not support ${feature}, so it will not render. Register a different native menu adapter if you need it.`);
95
84
  }
96
85
  function textFromNode(node) {
97
- if (typeof node === "string" || typeof node === "number") return String(node);
98
- if (! /* @__PURE__ */import_react.default.isValidElement(node)) return "";
99
- return import_react.default.Children.toArray(node.props.children).map(textFromNode).join("");
86
+ if (typeof node === "string" || typeof node === "number") return String(node);
87
+ if (!/* @__PURE__ */ import_react.default.isValidElement(node)) return "";
88
+ return import_react.default.Children.toArray(node.props.children).map(textFromNode).join("");
100
89
  }
101
90
  function createExpoUIMenuAdapter(param) {
102
- var {
103
- MenuView
104
- } = param;
105
- var NativeMenuView = MenuView;
106
- function createModule(isContextMenu) {
107
- var Trigger = marker("Trigger");
108
- var Content = marker("Content");
109
- var Item = marker("Item");
110
- var ItemTitle = marker("ItemTitle");
111
- var ItemSubtitle = marker("ItemSubtitle");
112
- var ItemIcon = marker("ItemIcon");
113
- var ItemImage = marker("ItemImage");
114
- var ItemIndicator = marker("ItemIndicator");
115
- var Group = marker("Group");
116
- var Label = marker("Label");
117
- var Separator = marker("Separator");
118
- var Sub = marker("Sub");
119
- var SubTrigger = marker("SubTrigger");
120
- var SubContent = marker("SubContent");
121
- var CheckboxItem = marker("CheckboxItem");
122
- var Preview = marker("Preview");
123
- var Auxiliary = marker("Auxiliary");
124
- function Root(param2) {
125
- var {
126
- children,
127
- onOpenChange,
128
- onOpenWillChange
129
- } = param2;
130
- var trigger = elementOfType(children, Trigger);
131
- var content = elementOfType(children, Content);
132
- var preview = elementOfType(children, Preview);
133
- var auxiliary = elementOfType(children, Auxiliary);
134
- if (preview || auxiliary) {
135
- warnUnsupported("context-menu previews or auxiliary views");
136
- }
137
- if (!trigger || !content) {
138
- throw new Error("Tamagui native menus require one Trigger and one Content");
139
- }
140
- var nextId = 0;
141
- var handlers = /* @__PURE__ */new Map();
142
- function actionId(element) {
143
- return element.key == null ? `tamagui-menu-${nextId++}` : String(element.key).replace(/^\.\$/, "");
144
- }
145
- function itemTitle(element) {
146
- if (typeof element.props.textValue === "string") return element.props.textValue;
147
- var title = elementOfType(element.props.children, ItemTitle);
148
- return title ? textFromNode(title.props.children) : "";
149
- }
150
- function actionImage(element) {
151
- var image = elementOfType(element.props.children, ItemImage);
152
- if (image === null || image === void 0 ? void 0 : image.props.source) return image.props.source;
153
- var icon = elementOfType(element.props.children, ItemIcon);
154
- if (!icon) return void 0;
155
- var ios = icon.props.ios;
156
- if ((typeof ios === "undefined" ? "undefined" : _type_of(ios)) === "object" && ios && "name" in ios && typeof ios.name === "string") {
157
- return ios.name;
158
- }
159
- return typeof icon.props.iosIconName === "string" ? icon.props.iosIconName : void 0;
160
- }
161
- function attributes(element) {
162
- var destructive = element.props.destructive === true;
163
- var disabled = element.props.disabled === true;
164
- var hidden = element.props.hidden === true;
165
- return destructive || disabled || hidden ? {
166
- destructive,
167
- disabled,
168
- hidden
169
- } : void 0;
170
- }
171
- function actionsFrom(childrenToParse) {
172
- var actions = [];
173
- var section = null;
174
- function append(action) {
175
- if (section) {
176
- section.push(action);
177
- } else {
178
- actions.push(action);
179
- }
180
- }
181
- function flushSection() {
182
- if (!(section === null || section === void 0 ? void 0 : section.length)) {
183
- section = [];
184
- return;
185
- }
186
- actions.push({
187
- id: `tamagui-menu-section-${nextId++}`,
188
- title: "",
189
- subactions: section,
190
- displayInline: true
191
- });
192
- section = [];
193
- }
194
- var _iteratorNormalCompletion = true,
195
- _didIteratorError = false,
196
- _iteratorError = void 0;
197
- try {
198
- var _loop = function () {
199
- var child = _step.value;
200
- if (! /* @__PURE__ */import_react.default.isValidElement(child)) return "continue";
201
- if (isMarkerType(child.type, Separator)) {
202
- if (!section) section = actions.splice(0);
203
- flushSection();
204
- return "continue";
205
- }
206
- if (isMarkerType(child.type, Group)) {
207
- var label2 = elementOfType(child.props.children, Label);
208
- append({
209
- id: actionId(child),
210
- title: label2 ? textFromNode(label2.props.children) : "",
211
- subactions: actionsFrom(child.props.children),
212
- displayInline: true
213
- });
214
- return "continue";
215
- }
216
- if (isMarkerType(child.type, Sub)) {
217
- var subTrigger = elementOfType(child.props.children, SubTrigger);
218
- var subContent = elementOfType(child.props.children, SubContent);
219
- if (!subTrigger || !subContent) {
220
- throw new Error("Tamagui native submenus require one SubTrigger and SubContent");
221
- }
222
- append({
223
- id: actionId(child),
224
- title: itemTitle(subTrigger),
225
- image: actionImage(subTrigger),
226
- attributes: attributes(subTrigger),
227
- subactions: actionsFrom(subContent.props.children)
228
- });
229
- return "continue";
230
- }
231
- if (!isMarkerType(child.type, Item) && !isMarkerType(child.type, CheckboxItem)) return "continue";
232
- if (elementOfType(child.props.children, ItemSubtitle)) {
233
- warnUnsupported("menu item subtitles");
234
- }
235
- var id = actionId(child);
236
- if (isMarkerType(child.type, CheckboxItem)) {
237
- var current = child.props.value === true || child.props.value === "on" || child.props.checked === true;
238
- var onValueChange = child.props.onValueChange;
239
- var onCheckedChange = child.props.onCheckedChange;
240
- handlers.set(id, function () {
241
- if (typeof onValueChange === "function") {
242
- onValueChange(current ? "off" : "on", current ? "on" : "off");
243
- } else if (typeof onCheckedChange === "function") {
244
- onCheckedChange(!current);
245
- }
246
- });
247
- append({
248
- id,
249
- title: itemTitle(child),
250
- image: actionImage(child),
251
- state: current ? "on" : "off",
252
- attributes: attributes(child)
253
- });
254
- return "continue";
255
- }
256
- var onSelect = child.props.onSelect;
257
- if (typeof onSelect === "function") {
258
- handlers.set(id, function () {
259
- return onSelect();
260
- });
261
- }
262
- append({
263
- id,
264
- title: itemTitle(child),
265
- image: actionImage(child),
266
- attributes: attributes(child)
267
- });
268
- };
269
- for (var _iterator = import_react.default.Children.toArray(childrenToParse)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) _loop();
270
- } catch (err) {
271
- _didIteratorError = true;
272
- _iteratorError = err;
273
- } finally {
274
- try {
275
- if (!_iteratorNormalCompletion && _iterator.return != null) {
276
- _iterator.return();
277
- }
278
- } finally {
279
- if (_didIteratorError) {
280
- throw _iteratorError;
281
- }
282
- }
283
- }
284
- if (section) flushSection();
285
- return actions;
286
- }
287
- var label = elementOfType(content.props.children, Label);
288
- var triggerAction = trigger.props.action;
289
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(NativeMenuView, {
290
- actions: actionsFrom(content.props.children),
291
- title: label ? textFromNode(label.props.children) : void 0,
292
- shouldOpenOnLongPress: triggerAction === "longPress" || triggerAction !== "press" && isContextMenu,
293
- onPressAction: function (event) {
294
- var _handlers_get;
295
- return (_handlers_get = handlers.get(event.nativeEvent.event)) === null || _handlers_get === void 0 ? void 0 : _handlers_get();
296
- },
297
- onOpenMenu: function () {
298
- onOpenWillChange === null || onOpenWillChange === void 0 ? void 0 : onOpenWillChange(true);
299
- onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(true);
300
- },
301
- onCloseMenu: function () {
302
- onOpenWillChange === null || onOpenWillChange === void 0 ? void 0 : onOpenWillChange(false);
303
- onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(false);
304
- },
305
- children: trigger.props.children
306
- });
307
- }
308
- return {
309
- Root,
310
- Trigger,
311
- Content,
312
- Item,
313
- ItemTitle,
314
- ItemSubtitle,
315
- ItemIcon,
316
- ItemImage,
317
- ItemIndicator,
318
- Group,
319
- Label,
320
- Separator,
321
- Sub,
322
- SubTrigger,
323
- SubContent,
324
- CheckboxItem,
325
- Preview,
326
- Auxiliary
327
- };
328
- }
329
- return {
330
- name: "expo-ui",
331
- Menu: createModule(false),
332
- ContextMenu: createModule(true)
333
- };
91
+ var { MenuView } = param;
92
+ var NativeMenuView = MenuView;
93
+ function createModule(isContextMenu) {
94
+ var Trigger = marker("Trigger");
95
+ var Content = marker("Content");
96
+ var Item = marker("Item");
97
+ var ItemTitle = marker("ItemTitle");
98
+ var ItemSubtitle = marker("ItemSubtitle");
99
+ var ItemIcon = marker("ItemIcon");
100
+ var ItemImage = marker("ItemImage");
101
+ var ItemIndicator = marker("ItemIndicator");
102
+ var Group = marker("Group");
103
+ var Label = marker("Label");
104
+ var Separator = marker("Separator");
105
+ var Sub = marker("Sub");
106
+ var SubTrigger = marker("SubTrigger");
107
+ var SubContent = marker("SubContent");
108
+ var CheckboxItem = marker("CheckboxItem");
109
+ var Preview = marker("Preview");
110
+ var Auxiliary = marker("Auxiliary");
111
+ function Root(param2) {
112
+ var { children, onOpenChange, onOpenWillChange } = param2;
113
+ var trigger = elementOfType(children, Trigger);
114
+ var content = elementOfType(children, Content);
115
+ var preview = elementOfType(children, Preview);
116
+ var auxiliary = elementOfType(children, Auxiliary);
117
+ if (preview || auxiliary) {
118
+ warnUnsupported("context-menu previews or auxiliary views");
119
+ }
120
+ if (!trigger || !content) {
121
+ throw new Error("Tamagui native menus require one Trigger and one Content");
122
+ }
123
+ var nextId = 0;
124
+ var handlers = /* @__PURE__ */ new Map();
125
+ function actionId(element) {
126
+ return element.key == null ? `tamagui-menu-${nextId++}` : String(element.key).replace(/^\.\$/, "");
127
+ }
128
+ function itemTitle(element) {
129
+ if (typeof element.props.textValue === "string") return element.props.textValue;
130
+ var title = elementOfType(element.props.children, ItemTitle);
131
+ return title ? textFromNode(title.props.children) : "";
132
+ }
133
+ function actionImage(element) {
134
+ var image = elementOfType(element.props.children, ItemImage);
135
+ if (image === null || image === void 0 ? void 0 : image.props.source) return image.props.source;
136
+ var icon = elementOfType(element.props.children, ItemIcon);
137
+ if (!icon) return void 0;
138
+ var ios = icon.props.ios;
139
+ if ((typeof ios === "undefined" ? "undefined" : _type_of(ios)) === "object" && ios && "name" in ios && typeof ios.name === "string") {
140
+ return ios.name;
141
+ }
142
+ return typeof icon.props.iosIconName === "string" ? icon.props.iosIconName : void 0;
143
+ }
144
+ function attributes(element) {
145
+ var destructive = element.props.destructive === true;
146
+ var disabled = element.props.disabled === true;
147
+ var hidden = element.props.hidden === true;
148
+ return destructive || disabled || hidden ? {
149
+ destructive,
150
+ disabled,
151
+ hidden
152
+ } : void 0;
153
+ }
154
+ function actionsFrom(childrenToParse) {
155
+ var actions = [];
156
+ var section = null;
157
+ function append(action) {
158
+ if (section) {
159
+ section.push(action);
160
+ } else {
161
+ actions.push(action);
162
+ }
163
+ }
164
+ function flushSection() {
165
+ if (!(section === null || section === void 0 ? void 0 : section.length)) {
166
+ section = [];
167
+ return;
168
+ }
169
+ actions.push({
170
+ id: `tamagui-menu-section-${nextId++}`,
171
+ title: "",
172
+ subactions: section,
173
+ displayInline: true
174
+ });
175
+ section = [];
176
+ }
177
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
178
+ try {
179
+ var _loop = function() {
180
+ var child = _step.value;
181
+ if (!/* @__PURE__ */ import_react.default.isValidElement(child)) return "continue";
182
+ if (isMarkerType(child.type, Separator)) {
183
+ if (!section) section = actions.splice(0);
184
+ flushSection();
185
+ return "continue";
186
+ }
187
+ if (isMarkerType(child.type, Group)) {
188
+ var label2 = elementOfType(child.props.children, Label);
189
+ append({
190
+ id: actionId(child),
191
+ title: label2 ? textFromNode(label2.props.children) : "",
192
+ subactions: actionsFrom(child.props.children),
193
+ displayInline: true
194
+ });
195
+ return "continue";
196
+ }
197
+ if (isMarkerType(child.type, Sub)) {
198
+ var subTrigger = elementOfType(child.props.children, SubTrigger);
199
+ var subContent = elementOfType(child.props.children, SubContent);
200
+ if (!subTrigger || !subContent) {
201
+ throw new Error("Tamagui native submenus require one SubTrigger and SubContent");
202
+ }
203
+ append({
204
+ id: actionId(child),
205
+ title: itemTitle(subTrigger),
206
+ image: actionImage(subTrigger),
207
+ attributes: attributes(subTrigger),
208
+ subactions: actionsFrom(subContent.props.children)
209
+ });
210
+ return "continue";
211
+ }
212
+ if (!isMarkerType(child.type, Item) && !isMarkerType(child.type, CheckboxItem)) return "continue";
213
+ if (elementOfType(child.props.children, ItemSubtitle)) {
214
+ warnUnsupported("menu item subtitles");
215
+ }
216
+ var id = actionId(child);
217
+ if (isMarkerType(child.type, CheckboxItem)) {
218
+ var current = child.props.value === true || child.props.value === "on" || child.props.checked === true;
219
+ var onValueChange = child.props.onValueChange;
220
+ var onCheckedChange = child.props.onCheckedChange;
221
+ handlers.set(id, function() {
222
+ if (typeof onValueChange === "function") {
223
+ onValueChange(current ? "off" : "on", current ? "on" : "off");
224
+ } else if (typeof onCheckedChange === "function") {
225
+ onCheckedChange(!current);
226
+ }
227
+ });
228
+ append({
229
+ id,
230
+ title: itemTitle(child),
231
+ image: actionImage(child),
232
+ state: current ? "on" : "off",
233
+ attributes: attributes(child)
234
+ });
235
+ return "continue";
236
+ }
237
+ var onSelect = child.props.onSelect;
238
+ if (typeof onSelect === "function") {
239
+ handlers.set(id, function() {
240
+ return onSelect();
241
+ });
242
+ }
243
+ append({
244
+ id,
245
+ title: itemTitle(child),
246
+ image: actionImage(child),
247
+ attributes: attributes(child)
248
+ });
249
+ };
250
+ for (var _iterator = import_react.default.Children.toArray(childrenToParse)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) _loop();
251
+ } catch (err) {
252
+ _didIteratorError = true;
253
+ _iteratorError = err;
254
+ } finally {
255
+ try {
256
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
257
+ _iterator.return();
258
+ }
259
+ } finally {
260
+ if (_didIteratorError) {
261
+ throw _iteratorError;
262
+ }
263
+ }
264
+ }
265
+ if (section) flushSection();
266
+ return actions;
267
+ }
268
+ var label = elementOfType(content.props.children, Label);
269
+ var triggerAction = trigger.props.action;
270
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(NativeMenuView, {
271
+ actions: actionsFrom(content.props.children),
272
+ title: label ? textFromNode(label.props.children) : void 0,
273
+ shouldOpenOnLongPress: triggerAction === "longPress" || triggerAction !== "press" && isContextMenu,
274
+ onPressAction: function(event) {
275
+ var _handlers_get;
276
+ return (_handlers_get = handlers.get(event.nativeEvent.event)) === null || _handlers_get === void 0 ? void 0 : _handlers_get();
277
+ },
278
+ onOpenMenu: function() {
279
+ onOpenWillChange === null || onOpenWillChange === void 0 ? void 0 : onOpenWillChange(true);
280
+ onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(true);
281
+ },
282
+ onCloseMenu: function() {
283
+ onOpenWillChange === null || onOpenWillChange === void 0 ? void 0 : onOpenWillChange(false);
284
+ onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(false);
285
+ },
286
+ children: trigger.props.children
287
+ });
288
+ }
289
+ return {
290
+ Root,
291
+ Trigger,
292
+ Content,
293
+ Item,
294
+ ItemTitle,
295
+ ItemSubtitle,
296
+ ItemIcon,
297
+ ItemImage,
298
+ ItemIndicator,
299
+ Group,
300
+ Label,
301
+ Separator,
302
+ Sub,
303
+ SubTrigger,
304
+ SubContent,
305
+ CheckboxItem,
306
+ Preview,
307
+ Auxiliary
308
+ };
309
+ }
310
+ return {
311
+ name: "expo-ui",
312
+ Menu: createModule(false),
313
+ ContextMenu: createModule(true)
314
+ };
334
315
  }
316
+
335
317
  //# sourceMappingURL=expoUIMenuAdapter.native.js.map