@tamagui/native 2.7.7 → 3.0.0-beta.1093.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 (231) hide show
  1. package/dist/cjs/PressBoundary.cjs +15 -80
  2. package/dist/cjs/PressBoundary.native.cjs +85 -0
  3. package/dist/cjs/PressBoundary.native.js +64 -82
  4. package/dist/cjs/PressBoundary.native.js.map +1 -1
  5. package/dist/cjs/burntState.cjs +28 -32
  6. package/dist/cjs/burntState.native.cjs +44 -0
  7. package/dist/cjs/burntState.native.js +28 -31
  8. package/dist/cjs/burntState.native.js.map +1 -1
  9. package/dist/cjs/components.cjs +34 -55
  10. package/dist/cjs/components.native.cjs +55 -0
  11. package/dist/cjs/components.native.js +34 -54
  12. package/dist/cjs/components.native.js.map +1 -1
  13. package/dist/cjs/expoUIMenuAdapter.cjs +239 -254
  14. package/dist/cjs/expoUIMenuAdapter.native.cjs +310 -0
  15. package/dist/cjs/expoUIMenuAdapter.native.js +282 -305
  16. package/dist/cjs/expoUIMenuAdapter.native.js.map +1 -1
  17. package/dist/cjs/gesture-handler.cjs +20 -22
  18. package/dist/cjs/gesture-handler.native.cjs +37 -0
  19. package/dist/cjs/gesture-handler.native.js +20 -21
  20. package/dist/cjs/gesture-handler.native.js.map +1 -1
  21. package/dist/cjs/gestureState.cjs +201 -207
  22. package/dist/cjs/gestureState.native.cjs +261 -0
  23. package/dist/cjs/gestureState.native.js +214 -219
  24. package/dist/cjs/gestureState.native.js.map +1 -1
  25. package/dist/cjs/globalState.cjs +30 -34
  26. package/dist/cjs/globalState.native.cjs +43 -0
  27. package/dist/cjs/globalState.native.js +30 -33
  28. package/dist/cjs/globalState.native.js.map +1 -1
  29. package/dist/cjs/index.cjs +33 -34
  30. package/dist/cjs/index.native.cjs +58 -0
  31. package/dist/cjs/index.native.js +33 -33
  32. package/dist/cjs/index.native.js.map +1 -1
  33. package/dist/cjs/keyboardControllerState.cjs +27 -29
  34. package/dist/cjs/keyboardControllerState.native.cjs +49 -0
  35. package/dist/cjs/keyboardControllerState.native.js +27 -28
  36. package/dist/cjs/keyboardControllerState.native.js.map +1 -1
  37. package/dist/cjs/linearGradientState.cjs +27 -31
  38. package/dist/cjs/linearGradientState.native.cjs +43 -0
  39. package/dist/cjs/linearGradientState.native.js +27 -30
  40. package/dist/cjs/linearGradientState.native.js.map +1 -1
  41. package/dist/cjs/nativeMenuContext.cjs +14 -18
  42. package/dist/cjs/nativeMenuContext.native.cjs +27 -0
  43. package/dist/cjs/nativeMenuContext.native.js +14 -17
  44. package/dist/cjs/nativeMenuContext.native.js.map +1 -1
  45. package/dist/cjs/nativeMenuState.cjs +26 -28
  46. package/dist/cjs/nativeMenuState.native.cjs +46 -0
  47. package/dist/cjs/nativeMenuState.native.js +26 -27
  48. package/dist/cjs/nativeMenuState.native.js.map +1 -1
  49. package/dist/cjs/portalState.cjs +27 -31
  50. package/dist/cjs/portalState.native.cjs +43 -0
  51. package/dist/cjs/portalState.native.js +27 -30
  52. package/dist/cjs/portalState.native.js.map +1 -1
  53. package/dist/cjs/safeAreaState.cjs +76 -53
  54. package/dist/cjs/safeAreaState.native.cjs +100 -0
  55. package/dist/cjs/safeAreaState.native.js +78 -52
  56. package/dist/cjs/safeAreaState.native.js.map +1 -1
  57. package/dist/cjs/setup-burnt.cjs +14 -14
  58. package/dist/cjs/setup-burnt.native.cjs +19 -0
  59. package/dist/cjs/setup-burnt.native.js +14 -13
  60. package/dist/cjs/setup-burnt.native.js.map +1 -1
  61. package/dist/cjs/setup-expo-linear-gradient.cjs +13 -13
  62. package/dist/cjs/setup-expo-linear-gradient.native.cjs +18 -0
  63. package/dist/cjs/setup-expo-linear-gradient.native.js +13 -12
  64. package/dist/cjs/setup-expo-linear-gradient.native.js.map +1 -1
  65. package/dist/cjs/setup-expo-ui-menu.cjs +11 -13
  66. package/dist/cjs/setup-expo-ui-menu.native.cjs +17 -0
  67. package/dist/cjs/setup-expo-ui-menu.native.js +11 -12
  68. package/dist/cjs/setup-expo-ui-menu.native.js.map +1 -1
  69. package/dist/cjs/setup-gesture-handler.cjs +50 -57
  70. package/dist/cjs/setup-gesture-handler.native.cjs +71 -0
  71. package/dist/cjs/setup-gesture-handler.native.js +50 -56
  72. package/dist/cjs/setup-gesture-handler.native.js.map +1 -1
  73. package/dist/cjs/setup-keyboard-controller.native.cjs +27 -0
  74. package/dist/cjs/setup-keyboard-controller.native.js +22 -29
  75. package/dist/cjs/setup-keyboard-controller.native.js.map +1 -1
  76. package/dist/cjs/setup-safe-area.cjs +16 -3
  77. package/dist/cjs/setup-safe-area.native.cjs +27 -0
  78. package/dist/cjs/setup-safe-area.native.js +22 -16
  79. package/dist/cjs/setup-safe-area.native.js.map +1 -1
  80. package/dist/cjs/setup-teleport.cjs +15 -15
  81. package/dist/cjs/setup-teleport.native.cjs +20 -0
  82. package/dist/cjs/setup-teleport.native.js +15 -14
  83. package/dist/cjs/setup-teleport.native.js.map +1 -1
  84. package/dist/cjs/setup-worklets.cjs +18 -18
  85. package/dist/cjs/setup-worklets.native.cjs +23 -0
  86. package/dist/cjs/setup-worklets.native.js +18 -17
  87. package/dist/cjs/setup-worklets.native.js.map +1 -1
  88. package/dist/cjs/setup-zeego.cjs +17 -17
  89. package/dist/cjs/setup-zeego.native.cjs +22 -0
  90. package/dist/cjs/setup-zeego.native.js +17 -16
  91. package/dist/cjs/setup-zeego.native.js.map +1 -1
  92. package/dist/cjs/types.cjs +9 -11
  93. package/dist/cjs/types.native.cjs +18 -0
  94. package/dist/cjs/types.native.js +9 -10
  95. package/dist/cjs/types.native.js.map +1 -1
  96. package/dist/cjs/workletsState.cjs +30 -34
  97. package/dist/cjs/workletsState.native.cjs +46 -0
  98. package/dist/cjs/workletsState.native.js +30 -33
  99. package/dist/cjs/workletsState.native.js.map +1 -1
  100. package/dist/esm/PressBoundary.mjs +5 -53
  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 +267 -280
  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 +87 -8
  194. package/src/PressBoundary.native.tsx +75 -0
  195. package/src/PressBoundary.tsx +16 -80
  196. package/src/expoUIMenuAdapter.tsx +1 -2
  197. package/src/gesture-handler.ts +1 -1
  198. package/src/gestureState.ts +2 -2
  199. package/src/index.ts +1 -1
  200. package/src/safeAreaState.ts +59 -27
  201. package/src/setup-safe-area.ts +27 -22
  202. package/src/setup-safe-area.web.ts +2 -0
  203. package/src/types.ts +12 -0
  204. package/types/PressBoundary.d.ts +13 -12
  205. package/types/PressBoundary.d.ts.map +2 -2
  206. package/types/PressBoundary.native.d.ts +8 -0
  207. package/types/PressBoundary.native.d.ts.map +11 -0
  208. package/types/expoUIMenuAdapter.d.ts.map +2 -2
  209. package/types/gesture-handler.d.ts +1 -1
  210. package/types/gesture-handler.d.ts.map +1 -1
  211. package/types/gestureState.d.ts.map +1 -1
  212. package/types/index.d.ts +1 -1
  213. package/types/index.d.ts.map +2 -2
  214. package/types/safeAreaState.d.ts +5 -2
  215. package/types/safeAreaState.d.ts.map +2 -2
  216. package/types/setup-safe-area.d.ts.map +1 -1
  217. package/types/setup-safe-area.web.d.ts +3 -0
  218. package/types/setup-safe-area.web.d.ts.map +11 -0
  219. package/types/types.d.ts +11 -0
  220. package/types/types.d.ts.map +2 -2
  221. package/.turbo/turbo-build.log +0 -2
  222. package/dist/esm/gesture-handler.mjs.map +0 -1
  223. package/dist/esm/gesture-handler.native.js.map +0 -1
  224. package/dist/esm/index.js.map +0 -1
  225. package/dist/esm/index.mjs.map +0 -1
  226. package/dist/esm/index.native.js.map +0 -1
  227. package/dist/esm/setup-keyboard-controller.mjs.map +0 -1
  228. package/dist/esm/setup-safe-area.mjs.map +0 -1
  229. package/dist/esm/types.mjs.map +0 -1
  230. package/dist/esm/types.native.js.map +0 -1
  231. package/tsconfig.json +0 -12
@@ -1,296 +1,283 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
1
+ import { jsx } from "react/jsx-runtime";
2
2
  import React from "react";
3
- function _type_of(obj) {
4
- "@swc/helpers - typeof";
5
3
 
6
- return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
7
- }
8
4
  function marker(name) {
9
- var Marker = function () {
10
- return null;
11
- };
12
- Marker.displayName = `ExpoUI${name}`;
13
- return Marker;
5
+ var Marker = function() {
6
+ return null;
7
+ };
8
+ Marker.displayName = `ExpoUI${name}`;
9
+ return Marker;
14
10
  }
15
11
  function isMarkerType(candidate, type) {
16
- if (candidate === type) return true;
17
- var wanted = type.displayName;
18
- if (!wanted) return false;
19
- return typeof candidate === "function" && candidate.displayName === wanted;
12
+ if (candidate === type) return true;
13
+ var wanted = type.displayName;
14
+ if (!wanted) return false;
15
+ return typeof candidate === "function" && candidate.displayName === wanted;
20
16
  }
21
17
  function elementOfType(children, type) {
22
- var _iteratorNormalCompletion = true,
23
- _didIteratorError = false,
24
- _iteratorError = void 0;
25
- try {
26
- for (var _iterator = React.Children.toArray(children)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
27
- var child = _step.value;
28
- if (/* @__PURE__ */React.isValidElement(child) && isMarkerType(child.type, type)) {
29
- return child;
30
- }
31
- }
32
- } catch (err) {
33
- _didIteratorError = true;
34
- _iteratorError = err;
35
- } finally {
36
- try {
37
- if (!_iteratorNormalCompletion && _iterator.return != null) {
38
- _iterator.return();
39
- }
40
- } finally {
41
- if (_didIteratorError) {
42
- throw _iteratorError;
43
- }
44
- }
45
- }
46
- return null;
18
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _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) && isMarkerType(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;
47
41
  }
48
- var warnedUnsupported = /* @__PURE__ */new Set();
42
+ var warnedUnsupported = /* @__PURE__ */ new Set();
49
43
  function warnUnsupported(feature) {
50
- if (warnedUnsupported.has(feature) || process.env.NODE_ENV === "production") {
51
- return;
52
- }
53
- warnedUnsupported.add(feature);
54
- 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.`);
44
+ if (warnedUnsupported.has(feature) || process.env.NODE_ENV === "production") {
45
+ return;
46
+ }
47
+ warnedUnsupported.add(feature);
48
+ 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.`);
55
49
  }
56
50
  function textFromNode(node) {
57
- if (typeof node === "string" || typeof node === "number") return String(node);
58
- if (! /* @__PURE__ */React.isValidElement(node)) return "";
59
- return React.Children.toArray(node.props.children).map(textFromNode).join("");
51
+ if (typeof node === "string" || typeof node === "number") return String(node);
52
+ if (!/* @__PURE__ */ React.isValidElement(node)) return "";
53
+ return React.Children.toArray(node.props.children).map(textFromNode).join("");
60
54
  }
61
55
  function createExpoUIMenuAdapter(param) {
62
- var {
63
- MenuView
64
- } = param;
65
- var NativeMenuView = MenuView;
66
- function createModule(isContextMenu) {
67
- var Trigger = marker("Trigger");
68
- var Content = marker("Content");
69
- var Item = marker("Item");
70
- var ItemTitle = marker("ItemTitle");
71
- var ItemSubtitle = marker("ItemSubtitle");
72
- var ItemIcon = marker("ItemIcon");
73
- var ItemImage = marker("ItemImage");
74
- var ItemIndicator = marker("ItemIndicator");
75
- var Group = marker("Group");
76
- var Label = marker("Label");
77
- var Separator = marker("Separator");
78
- var Sub = marker("Sub");
79
- var SubTrigger = marker("SubTrigger");
80
- var SubContent = marker("SubContent");
81
- var CheckboxItem = marker("CheckboxItem");
82
- var Preview = marker("Preview");
83
- var Auxiliary = marker("Auxiliary");
84
- function Root(param2) {
85
- var {
86
- children,
87
- onOpenChange,
88
- onOpenWillChange
89
- } = param2;
90
- var trigger = elementOfType(children, Trigger);
91
- var content = elementOfType(children, Content);
92
- var preview = elementOfType(children, Preview);
93
- var auxiliary = elementOfType(children, Auxiliary);
94
- if (preview || auxiliary) {
95
- warnUnsupported("context-menu previews or auxiliary views");
96
- }
97
- if (!trigger || !content) {
98
- throw new Error("Tamagui native menus require one Trigger and one Content");
99
- }
100
- var nextId = 0;
101
- var handlers = /* @__PURE__ */new Map();
102
- function actionId(element) {
103
- return element.key == null ? `tamagui-menu-${nextId++}` : String(element.key).replace(/^\.\$/, "");
104
- }
105
- function itemTitle(element) {
106
- if (typeof element.props.textValue === "string") return element.props.textValue;
107
- var title = elementOfType(element.props.children, ItemTitle);
108
- return title ? textFromNode(title.props.children) : "";
109
- }
110
- function actionImage(element) {
111
- var image = elementOfType(element.props.children, ItemImage);
112
- if (image === null || image === void 0 ? void 0 : image.props.source) return image.props.source;
113
- var icon = elementOfType(element.props.children, ItemIcon);
114
- if (!icon) return void 0;
115
- var ios = icon.props.ios;
116
- if ((typeof ios === "undefined" ? "undefined" : _type_of(ios)) === "object" && ios && "name" in ios && typeof ios.name === "string") {
117
- return ios.name;
118
- }
119
- return typeof icon.props.iosIconName === "string" ? icon.props.iosIconName : void 0;
120
- }
121
- function attributes(element) {
122
- var destructive = element.props.destructive === true;
123
- var disabled = element.props.disabled === true;
124
- var hidden = element.props.hidden === true;
125
- return destructive || disabled || hidden ? {
126
- destructive,
127
- disabled,
128
- hidden
129
- } : void 0;
130
- }
131
- function actionsFrom(childrenToParse) {
132
- var actions = [];
133
- var section = null;
134
- function append(action) {
135
- if (section) {
136
- section.push(action);
137
- } else {
138
- actions.push(action);
139
- }
140
- }
141
- function flushSection() {
142
- if (!(section === null || section === void 0 ? void 0 : section.length)) {
143
- section = [];
144
- return;
145
- }
146
- actions.push({
147
- id: `tamagui-menu-section-${nextId++}`,
148
- title: "",
149
- subactions: section,
150
- displayInline: true
151
- });
152
- section = [];
153
- }
154
- var _iteratorNormalCompletion = true,
155
- _didIteratorError = false,
156
- _iteratorError = void 0;
157
- try {
158
- var _loop = function () {
159
- var child = _step.value;
160
- if (! /* @__PURE__ */React.isValidElement(child)) return "continue";
161
- if (isMarkerType(child.type, Separator)) {
162
- if (!section) section = actions.splice(0);
163
- flushSection();
164
- return "continue";
165
- }
166
- if (isMarkerType(child.type, Group)) {
167
- var label2 = elementOfType(child.props.children, Label);
168
- append({
169
- id: actionId(child),
170
- title: label2 ? textFromNode(label2.props.children) : "",
171
- subactions: actionsFrom(child.props.children),
172
- displayInline: true
173
- });
174
- return "continue";
175
- }
176
- if (isMarkerType(child.type, Sub)) {
177
- var subTrigger = elementOfType(child.props.children, SubTrigger);
178
- var subContent = elementOfType(child.props.children, SubContent);
179
- if (!subTrigger || !subContent) {
180
- throw new Error("Tamagui native submenus require one SubTrigger and SubContent");
181
- }
182
- append({
183
- id: actionId(child),
184
- title: itemTitle(subTrigger),
185
- image: actionImage(subTrigger),
186
- attributes: attributes(subTrigger),
187
- subactions: actionsFrom(subContent.props.children)
188
- });
189
- return "continue";
190
- }
191
- if (!isMarkerType(child.type, Item) && !isMarkerType(child.type, CheckboxItem)) return "continue";
192
- if (elementOfType(child.props.children, ItemSubtitle)) {
193
- warnUnsupported("menu item subtitles");
194
- }
195
- var id = actionId(child);
196
- if (isMarkerType(child.type, CheckboxItem)) {
197
- var current = child.props.value === true || child.props.value === "on" || child.props.checked === true;
198
- var onValueChange = child.props.onValueChange;
199
- var onCheckedChange = child.props.onCheckedChange;
200
- handlers.set(id, function () {
201
- if (typeof onValueChange === "function") {
202
- onValueChange(current ? "off" : "on", current ? "on" : "off");
203
- } else if (typeof onCheckedChange === "function") {
204
- onCheckedChange(!current);
205
- }
206
- });
207
- append({
208
- id,
209
- title: itemTitle(child),
210
- image: actionImage(child),
211
- state: current ? "on" : "off",
212
- attributes: attributes(child)
213
- });
214
- return "continue";
215
- }
216
- var onSelect = child.props.onSelect;
217
- if (typeof onSelect === "function") {
218
- handlers.set(id, function () {
219
- return onSelect();
220
- });
221
- }
222
- append({
223
- id,
224
- title: itemTitle(child),
225
- image: actionImage(child),
226
- attributes: attributes(child)
227
- });
228
- };
229
- for (var _iterator = React.Children.toArray(childrenToParse)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) _loop();
230
- } catch (err) {
231
- _didIteratorError = true;
232
- _iteratorError = err;
233
- } finally {
234
- try {
235
- if (!_iteratorNormalCompletion && _iterator.return != null) {
236
- _iterator.return();
237
- }
238
- } finally {
239
- if (_didIteratorError) {
240
- throw _iteratorError;
241
- }
242
- }
243
- }
244
- if (section) flushSection();
245
- return actions;
246
- }
247
- var label = elementOfType(content.props.children, Label);
248
- var triggerAction = trigger.props.action;
249
- return /* @__PURE__ */_jsx(NativeMenuView, {
250
- actions: actionsFrom(content.props.children),
251
- title: label ? textFromNode(label.props.children) : void 0,
252
- shouldOpenOnLongPress: triggerAction === "longPress" || triggerAction !== "press" && isContextMenu,
253
- onPressAction: function (event) {
254
- var _handlers_get;
255
- return (_handlers_get = handlers.get(event.nativeEvent.event)) === null || _handlers_get === void 0 ? void 0 : _handlers_get();
256
- },
257
- onOpenMenu: function () {
258
- onOpenWillChange === null || onOpenWillChange === void 0 ? void 0 : onOpenWillChange(true);
259
- onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(true);
260
- },
261
- onCloseMenu: function () {
262
- onOpenWillChange === null || onOpenWillChange === void 0 ? void 0 : onOpenWillChange(false);
263
- onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(false);
264
- },
265
- children: trigger.props.children
266
- });
267
- }
268
- return {
269
- Root,
270
- Trigger,
271
- Content,
272
- Item,
273
- ItemTitle,
274
- ItemSubtitle,
275
- ItemIcon,
276
- ItemImage,
277
- ItemIndicator,
278
- Group,
279
- Label,
280
- Separator,
281
- Sub,
282
- SubTrigger,
283
- SubContent,
284
- CheckboxItem,
285
- Preview,
286
- Auxiliary
287
- };
288
- }
289
- return {
290
- name: "expo-ui",
291
- Menu: createModule(false),
292
- ContextMenu: createModule(true)
293
- };
56
+ var { MenuView } = param;
57
+ var NativeMenuView = MenuView;
58
+ function createModule(isContextMenu) {
59
+ var Trigger = marker("Trigger");
60
+ var Content = marker("Content");
61
+ var Item = marker("Item");
62
+ var ItemTitle = marker("ItemTitle");
63
+ var ItemSubtitle = marker("ItemSubtitle");
64
+ var ItemIcon = marker("ItemIcon");
65
+ var ItemImage = marker("ItemImage");
66
+ var ItemIndicator = marker("ItemIndicator");
67
+ var Group = marker("Group");
68
+ var Label = marker("Label");
69
+ var Separator = marker("Separator");
70
+ var Sub = marker("Sub");
71
+ var SubTrigger = marker("SubTrigger");
72
+ var SubContent = marker("SubContent");
73
+ var CheckboxItem = marker("CheckboxItem");
74
+ var Preview = marker("Preview");
75
+ var Auxiliary = marker("Auxiliary");
76
+ function Root(param2) {
77
+ var { children, onOpenChange, onOpenWillChange } = param2;
78
+ var trigger = elementOfType(children, Trigger);
79
+ var content = elementOfType(children, Content);
80
+ var preview = elementOfType(children, Preview);
81
+ var auxiliary = elementOfType(children, Auxiliary);
82
+ if (preview || auxiliary) {
83
+ warnUnsupported("context-menu previews or auxiliary views");
84
+ }
85
+ if (!trigger || !content) {
86
+ throw new Error("Tamagui native menus require one Trigger and one Content");
87
+ }
88
+ var nextId = 0;
89
+ var handlers = /* @__PURE__ */ new Map();
90
+ function actionId(element) {
91
+ return element.key == null ? `tamagui-menu-${nextId++}` : String(element.key).replace(/^\.\$/, "");
92
+ }
93
+ function itemTitle(element) {
94
+ if (typeof element.props.textValue === "string") return element.props.textValue;
95
+ var title = elementOfType(element.props.children, ItemTitle);
96
+ return title ? textFromNode(title.props.children) : "";
97
+ }
98
+ function actionImage(element) {
99
+ var image = elementOfType(element.props.children, ItemImage);
100
+ if (image === null || image === void 0 ? void 0 : image.props.source) return image.props.source;
101
+ var icon = elementOfType(element.props.children, ItemIcon);
102
+ if (!icon) return void 0;
103
+ var ios = icon.props.ios;
104
+ if (typeof ios === "object" && ios && "name" in ios && typeof ios.name === "string") {
105
+ return ios.name;
106
+ }
107
+ return typeof icon.props.iosIconName === "string" ? icon.props.iosIconName : void 0;
108
+ }
109
+ function attributes(element) {
110
+ var destructive = element.props.destructive === true;
111
+ var disabled = element.props.disabled === true;
112
+ var hidden = element.props.hidden === true;
113
+ return destructive || disabled || hidden ? {
114
+ destructive,
115
+ disabled,
116
+ hidden
117
+ } : void 0;
118
+ }
119
+ function actionsFrom(childrenToParse) {
120
+ var actions = [];
121
+ var section = null;
122
+ function append(action) {
123
+ if (section) {
124
+ section.push(action);
125
+ } else {
126
+ actions.push(action);
127
+ }
128
+ }
129
+ function flushSection() {
130
+ if (!(section === null || section === void 0 ? void 0 : section.length)) {
131
+ section = [];
132
+ return;
133
+ }
134
+ actions.push({
135
+ id: `tamagui-menu-section-${nextId++}`,
136
+ title: "",
137
+ subactions: section,
138
+ displayInline: true
139
+ });
140
+ section = [];
141
+ }
142
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
143
+ try {
144
+ var _loop = function() {
145
+ var child = _step.value;
146
+ if (!/* @__PURE__ */ React.isValidElement(child)) return "continue";
147
+ if (isMarkerType(child.type, Separator)) {
148
+ if (!section) section = actions.splice(0);
149
+ flushSection();
150
+ return "continue";
151
+ }
152
+ if (isMarkerType(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 (isMarkerType(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 (!isMarkerType(child.type, Item) && !isMarkerType(child.type, CheckboxItem)) return "continue";
178
+ if (elementOfType(child.props.children, ItemSubtitle)) {
179
+ warnUnsupported("menu item subtitles");
180
+ }
181
+ var id = actionId(child);
182
+ if (isMarkerType(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
+ };
294
280
  }
281
+
295
282
  export { createExpoUIMenuAdapter };
296
283
  //# sourceMappingURL=expoUIMenuAdapter.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["jsx","_jsx","React","_type_of","obj","Symbol","constructor","marker","name","Marker","displayName","isMarkerType","candidate","type","wanted","elementOfType","children","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Children","toArray","iterator","_step","next","done","child","value","isValidElement","err","return","warnedUnsupported","Set","warnUnsupported","feature","has","process","env","NODE_ENV","add","console","warn","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"],"sources":["../../src/expoUIMenuAdapter.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"expoUIMenuAdapter.native.js","names":[],"sources":["esm/expoUIMenuAdapter.native.js"],"sourcesContent":["import { jsx as _jsx } from \"react/jsx-runtime\";\nimport React from \"react\";\nfunction marker(name) {\n var Marker = function() {\n return null;\n };\n Marker.displayName = `ExpoUI${name}`;\n return Marker;\n}\nfunction isMarkerType(candidate, type) {\n if (candidate === type) return true;\n var wanted = type.displayName;\n if (!wanted) return false;\n return typeof candidate === \"function\" && candidate.displayName === wanted;\n}\nfunction elementOfType(children, type) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = React.Children.toArray(children)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var child = _step.value;\n if (/* @__PURE__ */ React.isValidElement(child) && isMarkerType(child.type, type)) {\n return child;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return null;\n}\nvar warnedUnsupported = /* @__PURE__ */ new Set();\nfunction warnUnsupported(feature) {\n if (warnedUnsupported.has(feature) || process.env.NODE_ENV === \"production\") {\n return;\n }\n warnedUnsupported.add(feature);\n 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.`);\n}\nfunction textFromNode(node) {\n if (typeof node === \"string\" || typeof node === \"number\") return String(node);\n if (!/* @__PURE__ */ React.isValidElement(node)) return \"\";\n return React.Children.toArray(node.props.children).map(textFromNode).join(\"\");\n}\nfunction createExpoUIMenuAdapter(param) {\n var { MenuView } = param;\n var NativeMenuView = MenuView;\n function createModule(isContextMenu) {\n var Trigger = marker(\"Trigger\");\n var Content = marker(\"Content\");\n var Item = marker(\"Item\");\n var ItemTitle = marker(\"ItemTitle\");\n var ItemSubtitle = marker(\"ItemSubtitle\");\n var ItemIcon = marker(\"ItemIcon\");\n var ItemImage = marker(\"ItemImage\");\n var ItemIndicator = marker(\"ItemIndicator\");\n var Group = marker(\"Group\");\n var Label = marker(\"Label\");\n var Separator = marker(\"Separator\");\n var Sub = marker(\"Sub\");\n var SubTrigger = marker(\"SubTrigger\");\n var SubContent = marker(\"SubContent\");\n var CheckboxItem = marker(\"CheckboxItem\");\n var Preview = marker(\"Preview\");\n var Auxiliary = marker(\"Auxiliary\");\n function Root(param2) {\n var { children, onOpenChange, onOpenWillChange } = param2;\n var trigger = elementOfType(children, Trigger);\n var content = elementOfType(children, Content);\n var preview = elementOfType(children, Preview);\n var auxiliary = elementOfType(children, Auxiliary);\n if (preview || auxiliary) {\n warnUnsupported(\"context-menu previews or auxiliary views\");\n }\n if (!trigger || !content) {\n throw new Error(\"Tamagui native menus require one Trigger and one Content\");\n }\n var nextId = 0;\n var handlers = /* @__PURE__ */ new Map();\n function actionId(element) {\n return element.key == null ? `tamagui-menu-${nextId++}` : String(element.key).replace(/^\\.\\$/, \"\");\n }\n function itemTitle(element) {\n if (typeof element.props.textValue === \"string\") return element.props.textValue;\n var title = elementOfType(element.props.children, ItemTitle);\n return title ? textFromNode(title.props.children) : \"\";\n }\n function actionImage(element) {\n var image = elementOfType(element.props.children, ItemImage);\n if (image === null || image === void 0 ? void 0 : image.props.source) return image.props.source;\n var icon = elementOfType(element.props.children, ItemIcon);\n if (!icon) return void 0;\n var ios = icon.props.ios;\n if (typeof ios === \"object\" && ios && \"name\" in ios && typeof ios.name === \"string\") {\n return ios.name;\n }\n return typeof icon.props.iosIconName === \"string\" ? icon.props.iosIconName : void 0;\n }\n function attributes(element) {\n var destructive = element.props.destructive === true;\n var disabled = element.props.disabled === true;\n var hidden = element.props.hidden === true;\n return destructive || disabled || hidden ? {\n destructive,\n disabled,\n hidden\n } : void 0;\n }\n function actionsFrom(childrenToParse) {\n var actions = [];\n var section = null;\n function append(action) {\n if (section) {\n section.push(action);\n } else {\n actions.push(action);\n }\n }\n function flushSection() {\n if (!(section === null || section === void 0 ? void 0 : section.length)) {\n section = [];\n return;\n }\n actions.push({\n id: `tamagui-menu-section-${nextId++}`,\n title: \"\",\n subactions: section,\n displayInline: true\n });\n section = [];\n }\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n var _loop = function() {\n var child = _step.value;\n if (!/* @__PURE__ */ React.isValidElement(child)) return \"continue\";\n if (isMarkerType(child.type, Separator)) {\n if (!section) section = actions.splice(0);\n flushSection();\n return \"continue\";\n }\n if (isMarkerType(child.type, Group)) {\n var label2 = elementOfType(child.props.children, Label);\n append({\n id: actionId(child),\n title: label2 ? textFromNode(label2.props.children) : \"\",\n subactions: actionsFrom(child.props.children),\n displayInline: true\n });\n return \"continue\";\n }\n if (isMarkerType(child.type, Sub)) {\n var subTrigger = elementOfType(child.props.children, SubTrigger);\n var subContent = elementOfType(child.props.children, SubContent);\n if (!subTrigger || !subContent) {\n throw new Error(\"Tamagui native submenus require one SubTrigger and SubContent\");\n }\n append({\n id: actionId(child),\n title: itemTitle(subTrigger),\n image: actionImage(subTrigger),\n attributes: attributes(subTrigger),\n subactions: actionsFrom(subContent.props.children)\n });\n return \"continue\";\n }\n if (!isMarkerType(child.type, Item) && !isMarkerType(child.type, CheckboxItem)) return \"continue\";\n if (elementOfType(child.props.children, ItemSubtitle)) {\n warnUnsupported(\"menu item subtitles\");\n }\n var id = actionId(child);\n if (isMarkerType(child.type, CheckboxItem)) {\n var current = child.props.value === true || child.props.value === \"on\" || child.props.checked === true;\n var onValueChange = child.props.onValueChange;\n var onCheckedChange = child.props.onCheckedChange;\n handlers.set(id, function() {\n if (typeof onValueChange === \"function\") {\n onValueChange(current ? \"off\" : \"on\", current ? \"on\" : \"off\");\n } else if (typeof onCheckedChange === \"function\") {\n onCheckedChange(!current);\n }\n });\n append({\n id,\n title: itemTitle(child),\n image: actionImage(child),\n state: current ? \"on\" : \"off\",\n attributes: attributes(child)\n });\n return \"continue\";\n }\n var onSelect = child.props.onSelect;\n if (typeof onSelect === \"function\") {\n handlers.set(id, function() {\n return onSelect();\n });\n }\n append({\n id,\n title: itemTitle(child),\n image: actionImage(child),\n attributes: attributes(child)\n });\n };\n for (var _iterator = React.Children.toArray(childrenToParse)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) _loop();\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n if (section) flushSection();\n return actions;\n }\n var label = elementOfType(content.props.children, Label);\n var triggerAction = trigger.props.action;\n return /* @__PURE__ */ _jsx(NativeMenuView, {\n actions: actionsFrom(content.props.children),\n title: label ? textFromNode(label.props.children) : void 0,\n shouldOpenOnLongPress: triggerAction === \"longPress\" || triggerAction !== \"press\" && isContextMenu,\n onPressAction: function(event) {\n var _handlers_get;\n return (_handlers_get = handlers.get(event.nativeEvent.event)) === null || _handlers_get === void 0 ? void 0 : _handlers_get();\n },\n onOpenMenu: function() {\n onOpenWillChange === null || onOpenWillChange === void 0 ? void 0 : onOpenWillChange(true);\n onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(true);\n },\n onCloseMenu: function() {\n onOpenWillChange === null || onOpenWillChange === void 0 ? void 0 : onOpenWillChange(false);\n onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(false);\n },\n children: trigger.props.children\n });\n }\n return {\n Root,\n Trigger,\n Content,\n Item,\n ItemTitle,\n ItemSubtitle,\n ItemIcon,\n ItemImage,\n ItemIndicator,\n Group,\n Label,\n Separator,\n Sub,\n SubTrigger,\n SubContent,\n CheckboxItem,\n Preview,\n Auxiliary\n };\n }\n return {\n name: \"expo-ui\",\n Menu: createModule(false),\n ContextMenu: createModule(true)\n };\n}\nexport {\n createExpoUIMenuAdapter\n};\n//# sourceMappingURL=expoUIMenuAdapter.js.map\n"],"mappings":"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"}