@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 +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 _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\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 === \"undefined\" ? \"undefined\" : _type_of(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":";;;;AAEA,SAAS,SAAS,KAAK;CACrB;CACA,OAAO,OAAO,OAAO,WAAW,eAAe,IAAI,gBAAgB,SAAS,WAAW,OAAO;AAChG;AACA,SAAS,OAAO,MAAM;CACpB,IAAI,SAAS,WAAW;EACtB,OAAO;CACT;CACA,OAAO,cAAc,SAAS;CAC9B,OAAO;AACT;AACA,SAAS,aAAa,WAAW,MAAM;CACrC,IAAI,cAAc,MAAM,OAAO;CAC/B,IAAI,SAAS,KAAK;CAClB,IAAI,CAAC,QAAQ,OAAO;CACpB,OAAO,OAAO,cAAc,cAAc,UAAU,gBAAgB;AACtE;AACA,SAAS,cAAc,UAAU,MAAM;CACrC,IAAI,4BAA4B,MAAM,oBAAoB,OAAO,iBAAiB,KAAK;CACvF,IAAI;EACF,KAAK,IAAI,YAAY,MAAM,SAAS,QAAQ,QAAQ,EAAE,OAAO,UAAU,GAAG,OAAO,EAAE,6BAA6B,QAAQ,UAAU,KAAK,GAAG,OAAO,4BAA4B,MAAM;GACjL,IAAI,QAAQ,MAAM;GAClB,IAAoB,sBAAM,eAAe,KAAK,KAAK,aAAa,MAAM,MAAM,IAAI,GAAG;IACjF,OAAO;GACT;EACF;CACF,SAAS,KAAK;EACZ,oBAAoB;EACpB,iBAAiB;CACnB,UAAU;EACR,IAAI;GACF,IAAI,CAAC,6BAA6B,UAAU,UAAU,MAAM;IAC1D,UAAU,OAAO;GACnB;EACF,UAAU;GACR,IAAI,mBAAmB;IACrB,MAAM;GACR;EACF;CACF;CACA,OAAO;AACT;AACA,IAAI,oCAAoC,IAAI,IAAI;AAChD,SAAS,gBAAgB,SAAS;CAChC,IAAI,kBAAkB,IAAI,OAAO,KAAK,QAAQ,IAAI,aAAa,cAAc;EAC3E;CACF;CACA,kBAAkB,IAAI,OAAO;CAC7B,QAAQ,KAAK,sDAAsD,QAAQ,kFAAkF;AAC/J;AACA,SAAS,aAAa,MAAM;CAC1B,IAAI,OAAO,SAAS,YAAY,OAAO,SAAS,UAAU,OAAO,OAAO,IAAI;CAC5E,IAAI,CAAiB,sBAAM,eAAe,IAAI,GAAG,OAAO;CACxD,OAAO,MAAM,SAAS,QAAQ,KAAK,MAAM,QAAQ,EAAE,IAAI,YAAY,EAAE,KAAK,EAAE;AAC9E;AACA,SAAS,wBAAwB,OAAO;CACtC,IAAI,EAAE,aAAa;CACnB,IAAI,iBAAiB;CACrB,SAAS,aAAa,eAAe;EACnC,IAAI,UAAU,OAAO,SAAS;EAC9B,IAAI,UAAU,OAAO,SAAS;EAC9B,IAAI,OAAO,OAAO,MAAM;EACxB,IAAI,YAAY,OAAO,WAAW;EAClC,IAAI,eAAe,OAAO,cAAc;EACxC,IAAI,WAAW,OAAO,UAAU;EAChC,IAAI,YAAY,OAAO,WAAW;EAClC,IAAI,gBAAgB,OAAO,eAAe;EAC1C,IAAI,QAAQ,OAAO,OAAO;EAC1B,IAAI,QAAQ,OAAO,OAAO;EAC1B,IAAI,YAAY,OAAO,WAAW;EAClC,IAAI,MAAM,OAAO,KAAK;EACtB,IAAI,aAAa,OAAO,YAAY;EACpC,IAAI,aAAa,OAAO,YAAY;EACpC,IAAI,eAAe,OAAO,cAAc;EACxC,IAAI,UAAU,OAAO,SAAS;EAC9B,IAAI,YAAY,OAAO,WAAW;EAClC,SAAS,KAAK,QAAQ;GACpB,IAAI,EAAE,UAAU,cAAc,qBAAqB;GACnD,IAAI,UAAU,cAAc,UAAU,OAAO;GAC7C,IAAI,UAAU,cAAc,UAAU,OAAO;GAC7C,IAAI,UAAU,cAAc,UAAU,OAAO;GAC7C,IAAI,YAAY,cAAc,UAAU,SAAS;GACjD,IAAI,WAAW,WAAW;IACxB,gBAAgB,0CAA0C;GAC5D;GACA,IAAI,CAAC,WAAW,CAAC,SAAS;IACxB,MAAM,IAAI,MAAM,0DAA0D;GAC5E;GACA,IAAI,SAAS;GACb,IAAI,2BAA2B,IAAI,IAAI;GACvC,SAAS,SAAS,SAAS;IACzB,OAAO,QAAQ,OAAO,OAAO,gBAAgB,aAAa,OAAO,QAAQ,GAAG,EAAE,QAAQ,SAAS,EAAE;GACnG;GACA,SAAS,UAAU,SAAS;IAC1B,IAAI,OAAO,QAAQ,MAAM,cAAc,UAAU,OAAO,QAAQ,MAAM;IACtE,IAAI,QAAQ,cAAc,QAAQ,MAAM,UAAU,SAAS;IAC3D,OAAO,QAAQ,aAAa,MAAM,MAAM,QAAQ,IAAI;GACtD;GACA,SAAS,YAAY,SAAS;IAC5B,IAAI,QAAQ,cAAc,QAAQ,MAAM,UAAU,SAAS;IAC3D,IAAI,UAAU,QAAQ,UAAU,KAAK,IAAI,KAAK,IAAI,MAAM,MAAM,QAAQ,OAAO,MAAM,MAAM;IACzF,IAAI,OAAO,cAAc,QAAQ,MAAM,UAAU,QAAQ;IACzD,IAAI,CAAC,MAAM,OAAO,KAAK;IACvB,IAAI,MAAM,KAAK,MAAM;IACrB,KAAK,OAAO,QAAQ,cAAc,cAAc,SAAS,GAAG,OAAO,YAAY,OAAO,UAAU,OAAO,OAAO,IAAI,SAAS,UAAU;KACnI,OAAO,IAAI;IACb;IACA,OAAO,OAAO,KAAK,MAAM,gBAAgB,WAAW,KAAK,MAAM,cAAc,KAAK;GACpF;GACA,SAAS,WAAW,SAAS;IAC3B,IAAI,cAAc,QAAQ,MAAM,gBAAgB;IAChD,IAAI,WAAW,QAAQ,MAAM,aAAa;IAC1C,IAAI,SAAS,QAAQ,MAAM,WAAW;IACtC,OAAO,eAAe,YAAY,SAAS;KACzC;KACA;KACA;IACF,IAAI,KAAK;GACX;GACA,SAAS,YAAY,iBAAiB;IACpC,IAAI,UAAU,CAAC;IACf,IAAI,UAAU;IACd,SAAS,OAAO,QAAQ;KACtB,IAAI,SAAS;MACX,QAAQ,KAAK,MAAM;KACrB,OAAO;MACL,QAAQ,KAAK,MAAM;KACrB;IACF;IACA,SAAS,eAAe;KACtB,IAAI,EAAE,YAAY,QAAQ,YAAY,KAAK,IAAI,KAAK,IAAI,QAAQ,SAAS;MACvE,UAAU,CAAC;MACX;KACF;KACA,QAAQ,KAAK;MACX,IAAI,wBAAwB;MAC5B,OAAO;MACP,YAAY;MACZ,eAAe;KACjB,CAAC;KACD,UAAU,CAAC;IACb;IACA,IAAI,4BAA4B,MAAM,oBAAoB,OAAO,iBAAiB,KAAK;IACvF,IAAI;KACF,IAAI,QAAQ,WAAW;MACrB,IAAI,QAAQ,MAAM;MAClB,IAAI,CAAiB,sBAAM,eAAe,KAAK,GAAG,OAAO;MACzD,IAAI,aAAa,MAAM,MAAM,SAAS,GAAG;OACvC,IAAI,CAAC,SAAS,UAAU,QAAQ,OAAO,CAAC;OACxC,aAAa;OACb,OAAO;MACT;MACA,IAAI,aAAa,MAAM,MAAM,KAAK,GAAG;OACnC,IAAI,SAAS,cAAc,MAAM,MAAM,UAAU,KAAK;OACtD,OAAO;QACL,IAAI,SAAS,KAAK;QAClB,OAAO,SAAS,aAAa,OAAO,MAAM,QAAQ,IAAI;QACtD,YAAY,YAAY,MAAM,MAAM,QAAQ;QAC5C,eAAe;OACjB,CAAC;OACD,OAAO;MACT;MACA,IAAI,aAAa,MAAM,MAAM,GAAG,GAAG;OACjC,IAAI,aAAa,cAAc,MAAM,MAAM,UAAU,UAAU;OAC/D,IAAI,aAAa,cAAc,MAAM,MAAM,UAAU,UAAU;OAC/D,IAAI,CAAC,cAAc,CAAC,YAAY;QAC9B,MAAM,IAAI,MAAM,+DAA+D;OACjF;OACA,OAAO;QACL,IAAI,SAAS,KAAK;QAClB,OAAO,UAAU,UAAU;QAC3B,OAAO,YAAY,UAAU;QAC7B,YAAY,WAAW,UAAU;QACjC,YAAY,YAAY,WAAW,MAAM,QAAQ;OACnD,CAAC;OACD,OAAO;MACT;MACA,IAAI,CAAC,aAAa,MAAM,MAAM,IAAI,KAAK,CAAC,aAAa,MAAM,MAAM,YAAY,GAAG,OAAO;MACvF,IAAI,cAAc,MAAM,MAAM,UAAU,YAAY,GAAG;OACrD,gBAAgB,qBAAqB;MACvC;MACA,IAAI,KAAK,SAAS,KAAK;MACvB,IAAI,aAAa,MAAM,MAAM,YAAY,GAAG;OAC1C,IAAI,UAAU,MAAM,MAAM,UAAU,QAAQ,MAAM,MAAM,UAAU,QAAQ,MAAM,MAAM,YAAY;OAClG,IAAI,gBAAgB,MAAM,MAAM;OAChC,IAAI,kBAAkB,MAAM,MAAM;OAClC,SAAS,IAAI,IAAI,WAAW;QAC1B,IAAI,OAAO,kBAAkB,YAAY;SACvC,cAAc,UAAU,QAAQ,MAAM,UAAU,OAAO,KAAK;QAC9D,OAAO,IAAI,OAAO,oBAAoB,YAAY;SAChD,gBAAgB,CAAC,OAAO;QAC1B;OACF,CAAC;OACD,OAAO;QACL;QACA,OAAO,UAAU,KAAK;QACtB,OAAO,YAAY,KAAK;QACxB,OAAO,UAAU,OAAO;QACxB,YAAY,WAAW,KAAK;OAC9B,CAAC;OACD,OAAO;MACT;MACA,IAAI,WAAW,MAAM,MAAM;MAC3B,IAAI,OAAO,aAAa,YAAY;OAClC,SAAS,IAAI,IAAI,WAAW;QAC1B,OAAO,SAAS;OAClB,CAAC;MACH;MACA,OAAO;OACL;OACA,OAAO,UAAU,KAAK;OACtB,OAAO,YAAY,KAAK;OACxB,YAAY,WAAW,KAAK;MAC9B,CAAC;KACH;KACA,KAAK,IAAI,YAAY,MAAM,SAAS,QAAQ,eAAe,EAAE,OAAO,UAAU,GAAG,OAAO,EAAE,6BAA6B,QAAQ,UAAU,KAAK,GAAG,OAAO,4BAA4B,MAAM,MAAM;IAClM,SAAS,KAAK;KACZ,oBAAoB;KACpB,iBAAiB;IACnB,UAAU;KACR,IAAI;MACF,IAAI,CAAC,6BAA6B,UAAU,UAAU,MAAM;OAC1D,UAAU,OAAO;MACnB;KACF,UAAU;MACR,IAAI,mBAAmB;OACrB,MAAM;MACR;KACF;IACF;IACA,IAAI,SAAS,aAAa;IAC1B,OAAO;GACT;GACA,IAAI,QAAQ,cAAc,QAAQ,MAAM,UAAU,KAAK;GACvD,IAAI,gBAAgB,QAAQ,MAAM;GAClC,OAAuB,oBAAK,gBAAgB;IAC1C,SAAS,YAAY,QAAQ,MAAM,QAAQ;IAC3C,OAAO,QAAQ,aAAa,MAAM,MAAM,QAAQ,IAAI,KAAK;IACzD,uBAAuB,kBAAkB,eAAe,kBAAkB,WAAW;IACrF,eAAe,SAAS,OAAO;KAC7B,IAAI;KACJ,QAAQ,gBAAgB,SAAS,IAAI,MAAM,YAAY,KAAK,OAAO,QAAQ,kBAAkB,KAAK,IAAI,KAAK,IAAI,cAAc;IAC/H;IACA,YAAY,WAAW;KACrB,qBAAqB,QAAQ,qBAAqB,KAAK,IAAI,KAAK,IAAI,iBAAiB,IAAI;KACzF,iBAAiB,QAAQ,iBAAiB,KAAK,IAAI,KAAK,IAAI,aAAa,IAAI;IAC/E;IACA,aAAa,WAAW;KACtB,qBAAqB,QAAQ,qBAAqB,KAAK,IAAI,KAAK,IAAI,iBAAiB,KAAK;KAC1F,iBAAiB,QAAQ,iBAAiB,KAAK,IAAI,KAAK,IAAI,aAAa,KAAK;IAChF;IACA,UAAU,QAAQ,MAAM;GAC1B,CAAC;EACH;EACA,OAAO;GACL;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF;CACF;CACA,OAAO;EACL,MAAM;EACN,MAAM,aAAa,KAAK;EACxB,aAAa,aAAa,IAAI;CAChC;AACF"}
@@ -1,6 +1,5 @@
1
- import { getGestureHandler } from "./gestureState.mjs";
2
- import { claimExternalPressOwnership, hasExternalPressOwnership, releaseExternalPressOwnership } from "./gestureState.mjs";
1
+ import { claimExternalPressOwnership, getGestureHandler, hasExternalPressOwnership, releaseExternalPressOwnership } from "./gestureState.mjs";
3
2
  import { PressBoundary } from "./PressBoundary.mjs";
4
3
  import { getGestureHandlerConfig, setupGestureHandler } from "./setup-gesture-handler.mjs";
5
- export { PressBoundary, getGestureHandler, getGestureHandlerConfig, setupGestureHandler, claimExternalPressOwnership as unstable_claimExternalPressOwnership, hasExternalPressOwnership as unstable_hasExternalPressOwnership, releaseExternalPressOwnership as unstable_releaseExternalPressOwnership };
6
- //# sourceMappingURL=gesture-handler.mjs.map
4
+
5
+ export { PressBoundary, getGestureHandler, getGestureHandlerConfig, setupGestureHandler, claimExternalPressOwnership as unstable_claimExternalPressOwnership, hasExternalPressOwnership as unstable_hasExternalPressOwnership, releaseExternalPressOwnership as unstable_releaseExternalPressOwnership };
@@ -1,6 +1,5 @@
1
- import { getGestureHandler } from "./gestureState.native.js";
2
- import { claimExternalPressOwnership, hasExternalPressOwnership, releaseExternalPressOwnership } from "./gestureState.native.js";
1
+ import { claimExternalPressOwnership, getGestureHandler, hasExternalPressOwnership, releaseExternalPressOwnership } from "./gestureState.native.js";
3
2
  import { PressBoundary } from "./PressBoundary.native.js";
4
3
  import { getGestureHandlerConfig, setupGestureHandler } from "./setup-gesture-handler.native.js";
5
- export { PressBoundary, getGestureHandler, getGestureHandlerConfig, setupGestureHandler, claimExternalPressOwnership as unstable_claimExternalPressOwnership, hasExternalPressOwnership as unstable_hasExternalPressOwnership, releaseExternalPressOwnership as unstable_releaseExternalPressOwnership };
6
- //# sourceMappingURL=gesture-handler.native.js.map
4
+
5
+ export { PressBoundary, getGestureHandler, getGestureHandlerConfig, setupGestureHandler, claimExternalPressOwnership as unstable_claimExternalPressOwnership, hasExternalPressOwnership as unstable_hasExternalPressOwnership, releaseExternalPressOwnership as unstable_releaseExternalPressOwnership };
@@ -1,38 +1,39 @@
1
1
  import { createGlobalState } from "./globalState.mjs";
2
+
2
3
  const state = createGlobalState(`gesture`, {
3
- enabled: false,
4
- Gesture: null,
5
- GestureDetector: null,
6
- ScrollView: null,
7
- RootView: null
4
+ enabled: false,
5
+ Gesture: null,
6
+ GestureDetector: null,
7
+ ScrollView: null,
8
+ RootView: null
8
9
  });
9
10
  const GESTURE_ENABLED_FREEZE_KEY = "__tamagui_gesture_enabled_freeze__";
10
11
  function getGestureEnabledFreezeState() {
11
- const g = globalThis;
12
- if (!g[GESTURE_ENABLED_FREEZE_KEY]) {
13
- g[GESTURE_ENABLED_FREEZE_KEY] = {
14
- frozen: false,
15
- enabled: false,
16
- warned: false
17
- };
18
- }
19
- return g[GESTURE_ENABLED_FREEZE_KEY];
12
+ const g = globalThis;
13
+ if (!g[GESTURE_ENABLED_FREEZE_KEY]) {
14
+ g[GESTURE_ENABLED_FREEZE_KEY] = {
15
+ frozen: false,
16
+ enabled: false,
17
+ warned: false
18
+ };
19
+ }
20
+ return g[GESTURE_ENABLED_FREEZE_KEY];
20
21
  }
21
22
  function warnGestureEnabledMutationIgnored(source) {
22
- const freezeState = getGestureEnabledFreezeState();
23
- if (freezeState.warned || process.env.NODE_ENV === "production") {
24
- return;
25
- }
26
- freezeState.warned = true;
27
- console.warn(`[Tamagui] Ignored ${source} because gesture handler press events were already ${freezeState.enabled ? "enabled" : "disabled"} when TamaguiProvider mounted. Configure gesture handler mode before the first render.`);
23
+ const freezeState = getGestureEnabledFreezeState();
24
+ if (freezeState.warned || process.env.NODE_ENV === "production") {
25
+ return;
26
+ }
27
+ freezeState.warned = true;
28
+ console.warn(`[Tamagui] Ignored ${source} because gesture handler press events were already ${freezeState.enabled ? "enabled" : "disabled"} when TamaguiProvider mounted. Configure gesture handler mode before the first render.`);
28
29
  }
29
30
  function canChangeGestureHandlerEnabled(nextEnabled, source) {
30
- const freezeState = getGestureEnabledFreezeState();
31
- if (!freezeState.frozen || freezeState.enabled === nextEnabled) {
32
- return true;
33
- }
34
- warnGestureEnabledMutationIgnored(source);
35
- return false;
31
+ const freezeState = getGestureEnabledFreezeState();
32
+ if (!freezeState.frozen || freezeState.enabled === nextEnabled) {
33
+ return true;
34
+ }
35
+ warnGestureEnabledMutationIgnored(source);
36
+ return false;
36
37
  }
37
38
  let pressGestureDebugId = 0;
38
39
  let externalPressDebugId = 0;
@@ -40,181 +41,178 @@ const PRESS_MOVE_CANCEL_DISTANCE = 12;
40
41
  const PRESS_MOVE_CANCEL_DISTANCE_SQ = PRESS_MOVE_CANCEL_DISTANCE * PRESS_MOVE_CANCEL_DISTANCE;
41
42
  const PRESS_STATE_KEY = "__tamagui_press_state__";
42
43
  function getEventPointerId(e) {
43
- const pointerId = e?.pointerId ?? e?.pointer?.id ?? e?.event?.pointerId ?? e?.event?.pointer?.id ?? e?.nativeEvent?.pointerId ?? e?.nativeEvent?.id ?? e?.event?.nativeEvent?.pointerId ?? e?.event?.nativeEvent?.id ?? null;
44
- return pointerId == null || Number.isNaN(pointerId) ? null : Number(pointerId);
44
+ const pointerId = e?.pointerId ?? e?.pointer?.id ?? e?.event?.pointerId ?? e?.event?.pointer?.id ?? e?.nativeEvent?.pointerId ?? e?.nativeEvent?.id ?? e?.event?.nativeEvent?.pointerId ?? e?.event?.nativeEvent?.id ?? null;
45
+ return pointerId == null || Number.isNaN(pointerId) ? null : Number(pointerId);
45
46
  }
46
47
  const pressState = globalThis[PRESS_STATE_KEY] ??= {
47
- owner: null,
48
- ownerId: null,
49
- ownerSource: null,
50
- ownerPointerId: null,
51
- timestamp: 0
48
+ owner: null,
49
+ ownerId: null,
50
+ ownerSource: null,
51
+ ownerPointerId: null,
52
+ timestamp: 0
52
53
  };
53
54
  function resetPressOwner() {
54
- pressState.owner = null;
55
- pressState.ownerId = null;
56
- pressState.ownerSource = null;
57
- pressState.ownerPointerId = null;
58
- pressState.timestamp = 0;
55
+ pressState.owner = null;
56
+ pressState.ownerId = null;
57
+ pressState.ownerSource = null;
58
+ pressState.ownerPointerId = null;
59
+ pressState.timestamp = 0;
59
60
  }
60
61
  function resetStaleOwner(now, debugName) {
61
- if (now - pressState.timestamp > 2e3) {
62
- resetPressOwner();
63
- }
62
+ if (now - pressState.timestamp > 2e3) {
63
+ resetPressOwner();
64
+ }
64
65
  }
65
66
  function claimExternalPressOwnership(debugName) {
66
- const now = Date.now();
67
- resetStaleOwner(now, debugName);
68
- const token = {};
69
- const ownerId = ++externalPressDebugId;
70
- pressState.owner = token;
71
- pressState.ownerId = ownerId;
72
- pressState.ownerSource = "external";
73
- pressState.timestamp = now;
74
- return token;
67
+ const now = Date.now();
68
+ resetStaleOwner(now, debugName);
69
+ const token = {};
70
+ const ownerId = ++externalPressDebugId;
71
+ pressState.owner = token;
72
+ pressState.ownerId = ownerId;
73
+ pressState.ownerSource = "external";
74
+ pressState.timestamp = now;
75
+ return token;
75
76
  }
76
77
  function releaseExternalPressOwnership(token, debugName) {
77
- if (!token || pressState.owner !== token) {
78
- return;
79
- }
80
- resetPressOwner();
78
+ if (!token || pressState.owner !== token) {
79
+ return;
80
+ }
81
+ resetPressOwner();
81
82
  }
82
83
  function hasExternalPressOwnership() {
83
- resetStaleOwner(Date.now());
84
- return pressState.ownerSource === "external";
84
+ resetStaleOwner(Date.now());
85
+ return pressState.ownerSource === "external";
85
86
  }
86
87
  function getGestureHandler() {
87
- return {
88
- get isEnabled() {
89
- return state.get().enabled;
90
- },
91
- get state() {
92
- return state.get();
93
- },
94
- set(updates) {
95
- if (updates.enabled !== void 0 && !canChangeGestureHandlerEnabled(updates.enabled, "getGestureHandler().set()")) {
96
- return;
97
- }
98
- Object.assign(state.get(), updates);
99
- },
100
- disable() {
101
- if (!canChangeGestureHandlerEnabled(false, "getGestureHandler().disable()")) {
102
- return;
103
- }
104
- state.get().enabled = false;
105
- },
106
- createPressGesture(config) {
107
- const {
108
- Gesture
109
- } = state.get();
110
- if (!Gesture) return null;
111
- const longPressDuration = config.delayLongPress ?? 500;
112
- const myToken = {};
113
- const myDebugId = ++pressGestureDebugId;
114
- const flags = {
115
- didLongPress: false,
116
- didPressIn: false,
117
- pressInTimer: null,
118
- // absolute (screen) coords of the press start, and whether the finger
119
- // has since travelled far enough to be treated as a scroll/drag.
120
- moveStartX: null,
121
- moveStartY: 0,
122
- cancelledByMove: false
123
- };
124
- const GRACE_PERIOD_MS = process.env.TAMAGUI_RNGH_PRESS_DELAY ? +process.env.TAMAGUI_RNGH_PRESS_DELAY : 24;
125
- const tryClaimOwnership = e => {
126
- const now = Date.now();
127
- resetStaleOwner(now, config.debugName);
128
- const currentPointerId = getEventPointerId(e);
129
- const isSameTouchPointer = currentPointerId == null || pressState.ownerPointerId == null || pressState.ownerPointerId === currentPointerId;
130
- if (pressState.owner === null || pressState.ownerSource === "internal" && isSameTouchPointer) {
131
- pressState.owner = myToken;
132
- pressState.ownerId = myDebugId;
133
- pressState.ownerSource = "internal";
134
- pressState.ownerPointerId = currentPointerId;
135
- pressState.timestamp = now;
136
- }
137
- return pressState.owner === myToken;
138
- };
139
- const isOwner = () => pressState.owner === myToken;
140
- const releaseOwnership = () => {
141
- if (flags.pressInTimer) {
142
- clearTimeout(flags.pressInTimer);
143
- flags.pressInTimer = null;
144
- }
145
- if (pressState.owner === myToken) {
146
- resetPressOwner();
147
- }
148
- };
149
- const firePressIn = e => {
150
- if (!flags.didPressIn && isOwner()) {
151
- flags.didPressIn = true;
152
- config.onPressIn?.(e);
153
- }
154
- };
155
- const schedulePressIn = e => {
156
- if (flags.pressInTimer) {
157
- clearTimeout(flags.pressInTimer);
158
- }
159
- flags.pressInTimer = setTimeout(() => {
160
- flags.pressInTimer = null;
161
- if (isOwner()) {
162
- firePressIn(e);
163
- }
164
- }, GRACE_PERIOD_MS + 1);
165
- };
166
- const tap = Gesture.Tap().runOnJS(true).maxDuration(1e4).onBegin(e => {
167
- flags.didLongPress = false;
168
- flags.didPressIn = false;
169
- flags.cancelledByMove = false;
170
- flags.moveStartX = typeof e.absoluteX === "number" ? e.absoluteX : null;
171
- flags.moveStartY = typeof e.absoluteY === "number" ? e.absoluteY : 0;
172
- tryClaimOwnership(e);
173
- schedulePressIn(e);
174
- }).onTouchesMove(e => {
175
- if (flags.cancelledByMove || flags.moveStartX === null) return;
176
- const touch = e.changedTouches?.[0] ?? e.allTouches?.[0];
177
- if (!touch) return;
178
- const dx = touch.absoluteX - flags.moveStartX;
179
- const dy = touch.absoluteY - flags.moveStartY;
180
- if (dx * dx + dy * dy <= PRESS_MOVE_CANCEL_DISTANCE_SQ) return;
181
- flags.cancelledByMove = true;
182
- if (flags.pressInTimer) {
183
- clearTimeout(flags.pressInTimer);
184
- flags.pressInTimer = null;
185
- }
186
- if (flags.didPressIn) {
187
- flags.didPressIn = false;
188
- config.onPressOut?.(e);
189
- }
190
- releaseOwnership();
191
- }).onEnd(e => {
192
- if (isOwner() && !flags.didLongPress && !flags.cancelledByMove) {
193
- firePressIn(e);
194
- config.onPress?.(e);
195
- }
196
- }).onFinalize(e => {
197
- if (isOwner()) {
198
- config.onPressOut?.(e);
199
- releaseOwnership();
200
- } else if (flags.didPressIn) {
201
- flags.didPressIn = false;
202
- config.onPressOut?.(e);
203
- }
204
- });
205
- if (config.hitSlop) tap.hitSlop(config.hitSlop);
206
- if (!config.onLongPress) return tap;
207
- const longPress = Gesture.LongPress().runOnJS(true).minDuration(longPressDuration).onStart(e => {
208
- flags.didLongPress = true;
209
- if (isOwner()) {
210
- firePressIn(e);
211
- config.onLongPress?.(e);
212
- }
213
- });
214
- if (config.hitSlop) longPress.hitSlop(config.hitSlop);
215
- return Gesture.Exclusive(longPress, tap);
216
- }
217
- };
88
+ return {
89
+ get isEnabled() {
90
+ return state.get().enabled;
91
+ },
92
+ get state() {
93
+ return state.get();
94
+ },
95
+ set(updates) {
96
+ if (updates.enabled !== void 0 && !canChangeGestureHandlerEnabled(updates.enabled, "getGestureHandler().set()")) {
97
+ return;
98
+ }
99
+ Object.assign(state.get(), updates);
100
+ },
101
+ disable() {
102
+ if (!canChangeGestureHandlerEnabled(false, "getGestureHandler().disable()")) {
103
+ return;
104
+ }
105
+ state.get().enabled = false;
106
+ },
107
+ createPressGesture(config) {
108
+ const { Gesture } = state.get();
109
+ if (!Gesture) return null;
110
+ const longPressDuration = config.delayLongPress ?? 500;
111
+ const myToken = {};
112
+ const myDebugId = ++pressGestureDebugId;
113
+ const flags = {
114
+ didLongPress: false,
115
+ didPressIn: false,
116
+ pressInTimer: null,
117
+ moveStartX: null,
118
+ moveStartY: 0,
119
+ cancelledByMove: false
120
+ };
121
+ const GRACE_PERIOD_MS = process.env.TAMAGUI_RNGH_PRESS_DELAY ? +process.env.TAMAGUI_RNGH_PRESS_DELAY : 24;
122
+ const tryClaimOwnership = (e) => {
123
+ const now = Date.now();
124
+ resetStaleOwner(now, config.debugName);
125
+ const currentPointerId = getEventPointerId(e);
126
+ const isSameTouchPointer = currentPointerId == null || pressState.ownerPointerId == null || pressState.ownerPointerId === currentPointerId;
127
+ if (pressState.owner === null || pressState.ownerSource === "internal" && isSameTouchPointer) {
128
+ pressState.owner = myToken;
129
+ pressState.ownerId = myDebugId;
130
+ pressState.ownerSource = "internal";
131
+ pressState.ownerPointerId = currentPointerId;
132
+ pressState.timestamp = now;
133
+ }
134
+ return pressState.owner === myToken;
135
+ };
136
+ const isOwner = () => pressState.owner === myToken;
137
+ const releaseOwnership = () => {
138
+ if (flags.pressInTimer) {
139
+ clearTimeout(flags.pressInTimer);
140
+ flags.pressInTimer = null;
141
+ }
142
+ if (pressState.owner === myToken) {
143
+ resetPressOwner();
144
+ }
145
+ };
146
+ const firePressIn = (e) => {
147
+ if (!flags.didPressIn && isOwner()) {
148
+ flags.didPressIn = true;
149
+ config.onPressIn?.(e);
150
+ }
151
+ };
152
+ const schedulePressIn = (e) => {
153
+ if (flags.pressInTimer) {
154
+ clearTimeout(flags.pressInTimer);
155
+ }
156
+ flags.pressInTimer = setTimeout(() => {
157
+ flags.pressInTimer = null;
158
+ if (isOwner()) {
159
+ firePressIn(e);
160
+ }
161
+ }, GRACE_PERIOD_MS + 1);
162
+ };
163
+ const tap = Gesture.Tap().runOnJS(true).maxDuration(1e4).onBegin((e) => {
164
+ flags.didLongPress = false;
165
+ flags.didPressIn = false;
166
+ flags.cancelledByMove = false;
167
+ flags.moveStartX = typeof e.absoluteX === "number" ? e.absoluteX : null;
168
+ flags.moveStartY = typeof e.absoluteY === "number" ? e.absoluteY : 0;
169
+ tryClaimOwnership(e);
170
+ schedulePressIn(e);
171
+ }).onTouchesMove((e) => {
172
+ if (flags.cancelledByMove || flags.moveStartX === null) return;
173
+ const touch = e.changedTouches?.[0] ?? e.allTouches?.[0];
174
+ if (!touch) return;
175
+ const dx = touch.absoluteX - flags.moveStartX;
176
+ const dy = touch.absoluteY - flags.moveStartY;
177
+ if (dx * dx + dy * dy <= PRESS_MOVE_CANCEL_DISTANCE_SQ) return;
178
+ flags.cancelledByMove = true;
179
+ if (flags.pressInTimer) {
180
+ clearTimeout(flags.pressInTimer);
181
+ flags.pressInTimer = null;
182
+ }
183
+ if (flags.didPressIn) {
184
+ flags.didPressIn = false;
185
+ config.onPressOut?.(e);
186
+ }
187
+ releaseOwnership();
188
+ }).onEnd((e) => {
189
+ if (isOwner() && !flags.didLongPress && !flags.cancelledByMove) {
190
+ firePressIn(e);
191
+ config.onPress?.(e);
192
+ }
193
+ }).onFinalize((e) => {
194
+ if (isOwner()) {
195
+ config.onPressOut?.(e);
196
+ releaseOwnership();
197
+ } else if (flags.didPressIn) {
198
+ flags.didPressIn = false;
199
+ config.onPressOut?.(e);
200
+ }
201
+ });
202
+ if (config.hitSlop) tap.hitSlop(config.hitSlop);
203
+ if (!config.onLongPress) return tap;
204
+ const longPress = Gesture.LongPress().runOnJS(true).minDuration(longPressDuration).onStart((e) => {
205
+ flags.didLongPress = true;
206
+ if (isOwner()) {
207
+ firePressIn(e);
208
+ config.onLongPress?.(e);
209
+ }
210
+ });
211
+ if (config.hitSlop) longPress.hitSlop(config.hitSlop);
212
+ return Gesture.Exclusive(longPress, tap);
213
+ }
214
+ };
218
215
  }
216
+
219
217
  export { canChangeGestureHandlerEnabled, claimExternalPressOwnership, getGestureHandler, hasExternalPressOwnership, releaseExternalPressOwnership };
220
218
  //# sourceMappingURL=gestureState.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["createGlobalState","state","enabled","Gesture","GestureDetector","ScrollView","RootView","GESTURE_ENABLED_FREEZE_KEY","getGestureEnabledFreezeState","g","globalThis","frozen","warned","warnGestureEnabledMutationIgnored","source","freezeState","process","env","NODE_ENV","console","warn","canChangeGestureHandlerEnabled","nextEnabled","pressGestureDebugId","externalPressDebugId","PRESS_MOVE_CANCEL_DISTANCE","PRESS_MOVE_CANCEL_DISTANCE_SQ","PRESS_STATE_KEY","getEventPointerId","e","pointerId","pointer","id","event","nativeEvent","Number","isNaN","pressState","owner","ownerId","ownerSource","ownerPointerId","timestamp","resetPressOwner","resetStaleOwner","now","debugName","claimExternalPressOwnership","Date","token","releaseExternalPressOwnership","hasExternalPressOwnership","getGestureHandler","isEnabled","get","set","updates","Object","assign","disable","createPressGesture","config","longPressDuration","delayLongPress","myToken","myDebugId","flags","didLongPress","didPressIn","pressInTimer","moveStartX","moveStartY","cancelledByMove","GRACE_PERIOD_MS","TAMAGUI_RNGH_PRESS_DELAY","tryClaimOwnership","currentPointerId","isSameTouchPointer","isOwner","releaseOwnership","clearTimeout","firePressIn","onPressIn","schedulePressIn","setTimeout","tap","Tap","runOnJS","maxDuration","onBegin","absoluteX","absoluteY","onTouchesMove","touch","changedTouches","allTouches","dx","dy","onPressOut","onEnd","onPress","onFinalize","hitSlop","onLongPress","longPress","LongPress","minDuration","onStart","Exclusive"],"sources":["../../src/gestureState.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,iBAAA,QAAyB;AAGlC,MAAMC,KAAA,GAAQD,iBAAA,CAAgC,WAAW;EACvDE,OAAA,EAAS;EACTC,OAAA,EAAS;EACTC,eAAA,EAAiB;EACjBC,UAAA,EAAY;EACZC,QAAA,EAAU;AACZ,CAAC;AAQD,MAAMC,0BAAA,GAA6B;AAEnC,SAASC,6BAAA,EAA0D;EACjE,MAAMC,CAAA,GAAIC,UAAA;EAIV,IAAI,CAACD,CAAA,CAAEF,0BAA0B,GAAG;IAClCE,CAAA,CAAEF,0BAA0B,IAAI;MAC9BI,MAAA,EAAQ;MACRT,OAAA,EAAS;MACTU,MAAA,EAAQ;IACV;EACF;EAEA,OAAOH,CAAA,CAAEF,0BAA0B;AACrC;AAEA,SAASM,kCAAkCC,MAAA,EAAgB;EACzD,MAAMC,WAAA,GAAcP,4BAAA,CAA6B;EAEjD,IAAIO,WAAA,CAAYH,MAAA,IAAUI,OAAA,CAAQC,GAAA,CAAIC,QAAA,KAAa,cAAc;IAC/D;EACF;EAEAH,WAAA,CAAYH,MAAA,GAAS;EAErBO,OAAA,CAAQC,IAAA,CACN,qBAAqBN,MAAM,sDACtBC,WAAA,CAAYb,OAAA,GAAU,YAAY,UAAU,wFAEnD;AACF;AAEO,SAASmB,+BACdC,WAAA,EACAR,MAAA,EACS;EACT,MAAMC,WAAA,GAAcP,4BAAA,CAA6B;EAEjD,IAAI,CAACO,WAAA,CAAYJ,MAAA,IAAUI,WAAA,CAAYb,OAAA,KAAYoB,WAAA,EAAa;IAC9D,OAAO;EACT;EAEAT,iCAAA,CAAkCC,MAAM;EACxC,OAAO;AACT;AAEA,IAAIS,mBAAA,GAAsB;AAC1B,IAAIC,oBAAA,GAAuB;AAU3B,MAAMC,0BAAA,GAA6B;AACnC,MAAMC,6BAAA,GACJD,0BAAA,GAA6BA,0BAAA;AAyB/B,MAAME,eAAA,GAAkB;AAExB,SAASC,kBAAkBC,CAAA,EAAuB;EAChD,MAAMC,SAAA,GACJD,CAAA,EAAGC,SAAA,IACHD,CAAA,EAAGE,OAAA,EAASC,EAAA,IACZH,CAAA,EAAGI,KAAA,EAAOH,SAAA,IACVD,CAAA,EAAGI,KAAA,EAAOF,OAAA,EAASC,EAAA,IACnBH,CAAA,EAAGK,WAAA,EAAaJ,SAAA,IAChBD,CAAA,EAAGK,WAAA,EAAaF,EAAA,IAChBH,CAAA,EAAGI,KAAA,EAAOC,WAAA,EAAaJ,SAAA,IACvBD,CAAA,EAAGI,KAAA,EAAOC,WAAA,EAAaF,EAAA,IACvB;EAEF,OAAOF,SAAA,IAAa,QAAQK,MAAA,CAAOC,KAAA,CAAMN,SAAS,IAAI,OAAOK,MAAA,CAAOL,SAAS;AAC/E;AAQA,MAAMO,UAAA,GACJ3B,UAAA,CAGAiB,eAAe,MAAM;EACrBW,KAAA,EAAO;EACPC,OAAA,EAAS;EACTC,WAAA,EAAa;EACbC,cAAA,EAAgB;EAChBC,SAAA,EAAW;AACb;AA6BA,SAASC,gBAAA,EAAkB;EACzBN,UAAA,CAAWC,KAAA,GAAQ;EACnBD,UAAA,CAAWE,OAAA,GAAU;EACrBF,UAAA,CAAWG,WAAA,GAAc;EACzBH,UAAA,CAAWI,cAAA,GAAiB;EAC5BJ,UAAA,CAAWK,SAAA,GAAY;AACzB;AAEA,SAASE,gBAAgBC,GAAA,EAAaC,SAAA,EAA2B;EAC/D,IAAID,GAAA,GAAMR,UAAA,CAAWK,SAAA,GAAY,KAAM;IACrCC,eAAA,CAAgB;EAClB;AACF;AAEO,SAASI,4BACdD,SAAA,EAC6B;EAC7B,MAAMD,GAAA,GAAMG,IAAA,CAAKH,GAAA,CAAI;EACrBD,eAAA,CAAgBC,GAAA,EAAKC,SAAS;EAE9B,MAAMG,KAAA,GAAQ,CAAC;EACf,MAAMV,OAAA,GAAU,EAAEf,oBAAA;EAElBa,UAAA,CAAWC,KAAA,GAAQW,KAAA;EACnBZ,UAAA,CAAWE,OAAA,GAAUA,OAAA;EACrBF,UAAA,CAAWG,WAAA,GAAc;EACzBH,UAAA,CAAWK,SAAA,GAAYG,GAAA;EAEvB,OAAOI,KAAA;AACT;AAEO,SAASC,8BACdD,KAAA,EACAH,SAAA,EACM;EACN,IAAI,CAACG,KAAA,IAASZ,UAAA,CAAWC,KAAA,KAAUW,KAAA,EAAO;IACxC;EACF;EACAN,eAAA,CAAgB;AAClB;AAEO,SAASQ,0BAAA,EAAqC;EACnDP,eAAA,CAAgBI,IAAA,CAAKH,GAAA,CAAI,CAAC;EAC1B,OAAOR,UAAA,CAAWG,WAAA,KAAgB;AACpC;AAEO,SAASY,kBAAA,EAA4C;EAC1D,OAAO;IACL,IAAIC,UAAA,EAAqB;MACvB,OAAOpD,KAAA,CAAMqD,GAAA,CAAI,EAAEpD,OAAA;IACrB;IACA,IAAID,MAAA,EAAsB;MACxB,OAAOA,KAAA,CAAMqD,GAAA,CAAI;IACnB;IACAC,IAAIC,OAAA,EAAsC;MACxC,IACEA,OAAA,CAAQtD,OAAA,KAAY,UACpB,CAACmB,8BAAA,CAA+BmC,OAAA,CAAQtD,OAAA,EAAS,2BAA2B,GAC5E;QACA;MACF;MAEAuD,MAAA,CAAOC,MAAA,CAAOzD,KAAA,CAAMqD,GAAA,CAAI,GAAGE,OAAO;IACpC;IAEAG,QAAA,EAAgB;MACd,IAAI,CAACtC,8BAAA,CAA+B,OAAO,+BAA+B,GAAG;QAC3E;MACF;MAEApB,KAAA,CAAMqD,GAAA,CAAI,EAAEpD,OAAA,GAAU;IACxB;IAEA0D,mBAAmBC,MAAA,EAAiC;MAClD,MAAM;QAAE1D;MAAQ,IAAIF,KAAA,CAAMqD,GAAA,CAAI;MAC9B,IAAI,CAACnD,OAAA,EAAS,OAAO;MAErB,MAAM2D,iBAAA,GAAoBD,MAAA,CAAOE,cAAA,IAAkB;MAGnD,MAAMC,OAAA,GAAU,CAAC;MACjB,MAAMC,SAAA,GAAY,EAAE1C,mBAAA;MAOpB,MAAM2C,KAAA,GAAQ;QACZC,YAAA,EAAc;QACdC,UAAA,EAAY;QACZC,YAAA,EAAc;QAAA;QAAA;QAGdC,UAAA,EAAY;QACZC,UAAA,EAAY;QACZC,eAAA,EAAiB;MACnB;MAMA,MAAMC,eAAA,GAAkBzD,OAAA,CAAQC,GAAA,CAAIyD,wBAAA,GAChC,CAAC1D,OAAA,CAAQC,GAAA,CAAIyD,wBAAA,GACb;MAEJ,MAAMC,iBAAA,GAAqB9C,CAAA,IAAW;QACpC,MAAMgB,GAAA,GAAMG,IAAA,CAAKH,GAAA,CAAI;QACrBD,eAAA,CAAgBC,GAAA,EAAKgB,MAAA,CAAOf,SAAS;QAErC,MAAM8B,gBAAA,GAAmBhD,iBAAA,CAAkBC,CAAC;QAC5C,MAAMgD,kBAAA,GACJD,gBAAA,IAAoB,QACpBvC,UAAA,CAAWI,cAAA,IAAkB,QAC7BJ,UAAA,CAAWI,cAAA,KAAmBmC,gBAAA;QAEhC,IACEvC,UAAA,CAAWC,KAAA,KAAU,QACpBD,UAAA,CAAWG,WAAA,KAAgB,cAAcqC,kBAAA,EAC1C;UACAxC,UAAA,CAAWC,KAAA,GAAQ0B,OAAA;UACnB3B,UAAA,CAAWE,OAAA,GAAU0B,SAAA;UACrB5B,UAAA,CAAWG,WAAA,GAAc;UACzBH,UAAA,CAAWI,cAAA,GAAiBmC,gBAAA;UAC5BvC,UAAA,CAAWK,SAAA,GAAYG,GAAA;QACzB;QACA,OAAOR,UAAA,CAAWC,KAAA,KAAU0B,OAAA;MAC9B;MAEA,MAAMc,OAAA,GAAUA,CAAA,KAAMzC,UAAA,CAAWC,KAAA,KAAU0B,OAAA;MAE3C,MAAMe,gBAAA,GAAmBA,CAAA,KAAM;QAC7B,IAAIb,KAAA,CAAMG,YAAA,EAAc;UACtBW,YAAA,CAAad,KAAA,CAAMG,YAAY;UAC/BH,KAAA,CAAMG,YAAA,GAAe;QACvB;QACA,IAAIhC,UAAA,CAAWC,KAAA,KAAU0B,OAAA,EAAS;UAChCrB,eAAA,CAAgB;QAClB;MACF;MAEA,MAAMsC,WAAA,GAAepD,CAAA,IAAW;QAC9B,IAAI,CAACqC,KAAA,CAAME,UAAA,IAAcU,OAAA,CAAQ,GAAG;UAClCZ,KAAA,CAAME,UAAA,GAAa;UACnBP,MAAA,CAAOqB,SAAA,GAAYrD,CAAC;QACtB;MACF;MAEA,MAAMsD,eAAA,GAAmBtD,CAAA,IAAW;QAClC,IAAIqC,KAAA,CAAMG,YAAA,EAAc;UACtBW,YAAA,CAAad,KAAA,CAAMG,YAAY;QACjC;QACAH,KAAA,CAAMG,YAAA,GAAee,UAAA,CAAW,MAAM;UACpClB,KAAA,CAAMG,YAAA,GAAe;UACrB,IAAIS,OAAA,CAAQ,GAAG;YACbG,WAAA,CAAYpD,CAAC;UACf;QACF,GAAG4C,eAAA,GAAkB,CAAC;MACxB;MAcA,MAAMY,GAAA,GAAMlF,OAAA,CAAQmF,GAAA,CAAI,EACrBC,OAAA,CAAQ,IAAI,EACZC,WAAA,CAAY,GAAK,EACjBC,OAAA,CAAS5D,CAAA,IAAyB;QACjCqC,KAAA,CAAMC,YAAA,GAAe;QACrBD,KAAA,CAAME,UAAA,GAAa;QACnBF,KAAA,CAAMM,eAAA,GAAkB;QACxBN,KAAA,CAAMI,UAAA,GAAa,OAAOzC,CAAA,CAAE6D,SAAA,KAAc,WAAW7D,CAAA,CAAE6D,SAAA,GAAY;QACnExB,KAAA,CAAMK,UAAA,GAAa,OAAO1C,CAAA,CAAE8D,SAAA,KAAc,WAAW9D,CAAA,CAAE8D,SAAA,GAAY;QACnEhB,iBAAA,CAAkB9C,CAAC;QAGnBsD,eAAA,CAAgBtD,CAAC;MACnB,CAAC,EACA+D,aAAA,CAAe/D,CAAA,IAAyB;QACvC,IAAIqC,KAAA,CAAMM,eAAA,IAAmBN,KAAA,CAAMI,UAAA,KAAe,MAAM;QACxD,MAAMuB,KAAA,GAAQhE,CAAA,CAAEiE,cAAA,GAAiB,CAAC,KAAKjE,CAAA,CAAEkE,UAAA,GAAa,CAAC;QACvD,IAAI,CAACF,KAAA,EAAO;QACZ,MAAMG,EAAA,GAAKH,KAAA,CAAMH,SAAA,GAAYxB,KAAA,CAAMI,UAAA;QACnC,MAAM2B,EAAA,GAAKJ,KAAA,CAAMF,SAAA,GAAYzB,KAAA,CAAMK,UAAA;QACnC,IAAIyB,EAAA,GAAKA,EAAA,GAAKC,EAAA,GAAKA,EAAA,IAAMvE,6BAAA,EAA+B;QAIxDwC,KAAA,CAAMM,eAAA,GAAkB;QACxB,IAAIN,KAAA,CAAMG,YAAA,EAAc;UACtBW,YAAA,CAAad,KAAA,CAAMG,YAAY;UAC/BH,KAAA,CAAMG,YAAA,GAAe;QACvB;QACA,IAAIH,KAAA,CAAME,UAAA,EAAY;UACpBF,KAAA,CAAME,UAAA,GAAa;UACnBP,MAAA,CAAOqC,UAAA,GAAarE,CAAC;QACvB;QACAkD,gBAAA,CAAiB;MACnB,CAAC,EACAoB,KAAA,CAAOtE,CAAA,IAAe;QACrB,IAAIiD,OAAA,CAAQ,KAAK,CAACZ,KAAA,CAAMC,YAAA,IAAgB,CAACD,KAAA,CAAMM,eAAA,EAAiB;UAC9DS,WAAA,CAAYpD,CAAC;UACbgC,MAAA,CAAOuC,OAAA,GAAUvE,CAAC;QACpB;MACF,CAAC,EACAwE,UAAA,CAAYxE,CAAA,IAAe;QAC1B,IAAIiD,OAAA,CAAQ,GAAG;UACbjB,MAAA,CAAOqC,UAAA,GAAarE,CAAC;UACrBkD,gBAAA,CAAiB;QACnB,WAAWb,KAAA,CAAME,UAAA,EAAY;UAK3BF,KAAA,CAAME,UAAA,GAAa;UACnBP,MAAA,CAAOqC,UAAA,GAAarE,CAAC;QACvB;MACF,CAAC;MAEH,IAAIgC,MAAA,CAAOyC,OAAA,EAASjB,GAAA,CAAIiB,OAAA,CAAQzC,MAAA,CAAOyC,OAAO;MAG9C,IAAI,CAACzC,MAAA,CAAO0C,WAAA,EAAa,OAAOlB,GAAA;MAGhC,MAAMmB,SAAA,GAAYrG,OAAA,CAAQsG,SAAA,CAAU,EACjClB,OAAA,CAAQ,IAAI,EACZmB,WAAA,CAAY5C,iBAAiB,EAC7B6C,OAAA,CAAS9E,CAAA,IAAW;QACnBqC,KAAA,CAAMC,YAAA,GAAe;QACrB,IAAIW,OAAA,CAAQ,GAAG;UACbG,WAAA,CAAYpD,CAAC;UACbgC,MAAA,CAAO0C,WAAA,GAAc1E,CAAC;QACxB;MACF,CAAC;MAEH,IAAIgC,MAAA,CAAOyC,OAAA,EAASE,SAAA,CAAUF,OAAA,CAAQzC,MAAA,CAAOyC,OAAO;MAGpD,OAAOnG,OAAA,CAAQyG,SAAA,CAAUJ,SAAA,EAAWnB,GAAG;IACzC;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"file":"gestureState.js","names":[],"sources":["esm/gestureState.js"],"sourcesContent":["import { createGlobalState } from \"./globalState\";\nconst state = createGlobalState(`gesture`, {\n enabled: false,\n Gesture: null,\n GestureDetector: null,\n ScrollView: null,\n RootView: null\n});\nconst GESTURE_ENABLED_FREEZE_KEY = \"__tamagui_gesture_enabled_freeze__\";\nfunction getGestureEnabledFreezeState() {\n const g = globalThis;\n if (!g[GESTURE_ENABLED_FREEZE_KEY]) {\n g[GESTURE_ENABLED_FREEZE_KEY] = {\n frozen: false,\n enabled: false,\n warned: false\n };\n }\n return g[GESTURE_ENABLED_FREEZE_KEY];\n}\nfunction warnGestureEnabledMutationIgnored(source) {\n const freezeState = getGestureEnabledFreezeState();\n if (freezeState.warned || process.env.NODE_ENV === \"production\") {\n return;\n }\n freezeState.warned = true;\n console.warn(\n `[Tamagui] Ignored ${source} because gesture handler press events were already ${freezeState.enabled ? \"enabled\" : \"disabled\"} when TamaguiProvider mounted. Configure gesture handler mode before the first render.`\n );\n}\nfunction canChangeGestureHandlerEnabled(nextEnabled, source) {\n const freezeState = getGestureEnabledFreezeState();\n if (!freezeState.frozen || freezeState.enabled === nextEnabled) {\n return true;\n }\n warnGestureEnabledMutationIgnored(source);\n return false;\n}\nlet pressGestureDebugId = 0;\nlet externalPressDebugId = 0;\nconst PRESS_MOVE_CANCEL_DISTANCE = 12;\nconst PRESS_MOVE_CANCEL_DISTANCE_SQ = PRESS_MOVE_CANCEL_DISTANCE * PRESS_MOVE_CANCEL_DISTANCE;\nconst PRESS_STATE_KEY = \"__tamagui_press_state__\";\nfunction getEventPointerId(e) {\n const pointerId = e?.pointerId ?? e?.pointer?.id ?? e?.event?.pointerId ?? e?.event?.pointer?.id ?? e?.nativeEvent?.pointerId ?? e?.nativeEvent?.id ?? e?.event?.nativeEvent?.pointerId ?? e?.event?.nativeEvent?.id ?? null;\n return pointerId == null || Number.isNaN(pointerId) ? null : Number(pointerId);\n}\nconst pressState = globalThis[PRESS_STATE_KEY] ??= {\n owner: null,\n ownerId: null,\n ownerSource: null,\n ownerPointerId: null,\n timestamp: 0\n};\nfunction resetPressOwner() {\n pressState.owner = null;\n pressState.ownerId = null;\n pressState.ownerSource = null;\n pressState.ownerPointerId = null;\n pressState.timestamp = 0;\n}\nfunction resetStaleOwner(now, debugName) {\n if (now - pressState.timestamp > 2e3) {\n resetPressOwner();\n }\n}\nfunction claimExternalPressOwnership(debugName) {\n const now = Date.now();\n resetStaleOwner(now, debugName);\n const token = {};\n const ownerId = ++externalPressDebugId;\n pressState.owner = token;\n pressState.ownerId = ownerId;\n pressState.ownerSource = \"external\";\n pressState.timestamp = now;\n return token;\n}\nfunction releaseExternalPressOwnership(token, debugName) {\n if (!token || pressState.owner !== token) {\n return;\n }\n resetPressOwner();\n}\nfunction hasExternalPressOwnership() {\n resetStaleOwner(Date.now());\n return pressState.ownerSource === \"external\";\n}\nfunction getGestureHandler() {\n return {\n get isEnabled() {\n return state.get().enabled;\n },\n get state() {\n return state.get();\n },\n set(updates) {\n if (updates.enabled !== void 0 && !canChangeGestureHandlerEnabled(updates.enabled, \"getGestureHandler().set()\")) {\n return;\n }\n Object.assign(state.get(), updates);\n },\n disable() {\n if (!canChangeGestureHandlerEnabled(false, \"getGestureHandler().disable()\")) {\n return;\n }\n state.get().enabled = false;\n },\n createPressGesture(config) {\n const { Gesture } = state.get();\n if (!Gesture) return null;\n const longPressDuration = config.delayLongPress ?? 500;\n const myToken = {};\n const myDebugId = ++pressGestureDebugId;\n const flags = {\n didLongPress: false,\n didPressIn: false,\n pressInTimer: null,\n // absolute (screen) coords of the press start, and whether the finger\n // has since travelled far enough to be treated as a scroll/drag.\n moveStartX: null,\n moveStartY: 0,\n cancelledByMove: false\n };\n const GRACE_PERIOD_MS = process.env.TAMAGUI_RNGH_PRESS_DELAY ? +process.env.TAMAGUI_RNGH_PRESS_DELAY : 24;\n const tryClaimOwnership = (e) => {\n const now = Date.now();\n resetStaleOwner(now, config.debugName);\n const currentPointerId = getEventPointerId(e);\n const isSameTouchPointer = currentPointerId == null || pressState.ownerPointerId == null || pressState.ownerPointerId === currentPointerId;\n if (pressState.owner === null || pressState.ownerSource === \"internal\" && isSameTouchPointer) {\n pressState.owner = myToken;\n pressState.ownerId = myDebugId;\n pressState.ownerSource = \"internal\";\n pressState.ownerPointerId = currentPointerId;\n pressState.timestamp = now;\n }\n return pressState.owner === myToken;\n };\n const isOwner = () => pressState.owner === myToken;\n const releaseOwnership = () => {\n if (flags.pressInTimer) {\n clearTimeout(flags.pressInTimer);\n flags.pressInTimer = null;\n }\n if (pressState.owner === myToken) {\n resetPressOwner();\n }\n };\n const firePressIn = (e) => {\n if (!flags.didPressIn && isOwner()) {\n flags.didPressIn = true;\n config.onPressIn?.(e);\n }\n };\n const schedulePressIn = (e) => {\n if (flags.pressInTimer) {\n clearTimeout(flags.pressInTimer);\n }\n flags.pressInTimer = setTimeout(() => {\n flags.pressInTimer = null;\n if (isOwner()) {\n firePressIn(e);\n }\n }, GRACE_PERIOD_MS + 1);\n };\n const tap = Gesture.Tap().runOnJS(true).maxDuration(1e4).onBegin((e) => {\n flags.didLongPress = false;\n flags.didPressIn = false;\n flags.cancelledByMove = false;\n flags.moveStartX = typeof e.absoluteX === \"number\" ? e.absoluteX : null;\n flags.moveStartY = typeof e.absoluteY === \"number\" ? e.absoluteY : 0;\n tryClaimOwnership(e);\n schedulePressIn(e);\n }).onTouchesMove((e) => {\n if (flags.cancelledByMove || flags.moveStartX === null) return;\n const touch = e.changedTouches?.[0] ?? e.allTouches?.[0];\n if (!touch) return;\n const dx = touch.absoluteX - flags.moveStartX;\n const dy = touch.absoluteY - flags.moveStartY;\n if (dx * dx + dy * dy <= PRESS_MOVE_CANCEL_DISTANCE_SQ) return;\n flags.cancelledByMove = true;\n if (flags.pressInTimer) {\n clearTimeout(flags.pressInTimer);\n flags.pressInTimer = null;\n }\n if (flags.didPressIn) {\n flags.didPressIn = false;\n config.onPressOut?.(e);\n }\n releaseOwnership();\n }).onEnd((e) => {\n if (isOwner() && !flags.didLongPress && !flags.cancelledByMove) {\n firePressIn(e);\n config.onPress?.(e);\n }\n }).onFinalize((e) => {\n if (isOwner()) {\n config.onPressOut?.(e);\n releaseOwnership();\n } else if (flags.didPressIn) {\n flags.didPressIn = false;\n config.onPressOut?.(e);\n }\n });\n if (config.hitSlop) tap.hitSlop(config.hitSlop);\n if (!config.onLongPress) return tap;\n const longPress = Gesture.LongPress().runOnJS(true).minDuration(longPressDuration).onStart((e) => {\n flags.didLongPress = true;\n if (isOwner()) {\n firePressIn(e);\n config.onLongPress?.(e);\n }\n });\n if (config.hitSlop) longPress.hitSlop(config.hitSlop);\n return Gesture.Exclusive(longPress, tap);\n }\n };\n}\nexport {\n canChangeGestureHandlerEnabled,\n claimExternalPressOwnership,\n getGestureHandler,\n hasExternalPressOwnership,\n releaseExternalPressOwnership\n};\n//# sourceMappingURL=gestureState.js.map\n"],"mappings":"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"}