@tamagui/native 2.7.7 → 3.0.0-beta.643.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.
- package/dist/cjs/PressBoundary.cjs +53 -71
- package/dist/cjs/PressBoundary.native.cjs +86 -0
- package/dist/cjs/PressBoundary.native.js +63 -80
- package/dist/cjs/PressBoundary.native.js.map +1 -1
- package/dist/cjs/burntState.cjs +29 -32
- package/dist/cjs/burntState.native.cjs +45 -0
- package/dist/cjs/burntState.native.js +29 -31
- package/dist/cjs/burntState.native.js.map +1 -1
- package/dist/cjs/components.cjs +35 -55
- package/dist/cjs/components.native.cjs +56 -0
- package/dist/cjs/components.native.js +35 -54
- package/dist/cjs/components.native.js.map +1 -1
- package/dist/cjs/expoUIMenuAdapter.cjs +240 -254
- package/dist/cjs/expoUIMenuAdapter.native.cjs +315 -0
- package/dist/cjs/expoUIMenuAdapter.native.js +285 -303
- package/dist/cjs/expoUIMenuAdapter.native.js.map +1 -1
- package/dist/cjs/gesture-handler.cjs +21 -22
- package/dist/cjs/gesture-handler.native.cjs +38 -0
- package/dist/cjs/gesture-handler.native.js +21 -21
- package/dist/cjs/gesture-handler.native.js.map +1 -1
- package/dist/cjs/gestureState.cjs +202 -207
- package/dist/cjs/gestureState.native.cjs +262 -0
- package/dist/cjs/gestureState.native.js +215 -219
- package/dist/cjs/gestureState.native.js.map +1 -1
- package/dist/cjs/globalState.cjs +31 -34
- package/dist/cjs/globalState.native.cjs +44 -0
- package/dist/cjs/globalState.native.js +31 -33
- package/dist/cjs/globalState.native.js.map +1 -1
- package/dist/cjs/index.cjs +34 -34
- package/dist/cjs/index.native.cjs +59 -0
- package/dist/cjs/index.native.js +34 -33
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/keyboardControllerState.cjs +28 -29
- package/dist/cjs/keyboardControllerState.native.cjs +50 -0
- package/dist/cjs/keyboardControllerState.native.js +28 -28
- package/dist/cjs/keyboardControllerState.native.js.map +1 -1
- package/dist/cjs/linearGradientState.cjs +28 -31
- package/dist/cjs/linearGradientState.native.cjs +44 -0
- package/dist/cjs/linearGradientState.native.js +28 -30
- package/dist/cjs/linearGradientState.native.js.map +1 -1
- package/dist/cjs/nativeMenuContext.cjs +15 -18
- package/dist/cjs/nativeMenuContext.native.cjs +28 -0
- package/dist/cjs/nativeMenuContext.native.js +15 -17
- package/dist/cjs/nativeMenuContext.native.js.map +1 -1
- package/dist/cjs/nativeMenuState.cjs +27 -28
- package/dist/cjs/nativeMenuState.native.cjs +47 -0
- package/dist/cjs/nativeMenuState.native.js +27 -27
- package/dist/cjs/nativeMenuState.native.js.map +1 -1
- package/dist/cjs/portalState.cjs +28 -31
- package/dist/cjs/portalState.native.cjs +44 -0
- package/dist/cjs/portalState.native.js +28 -30
- package/dist/cjs/portalState.native.js.map +1 -1
- package/dist/cjs/safeAreaState.cjs +77 -53
- package/dist/cjs/safeAreaState.native.cjs +101 -0
- package/dist/cjs/safeAreaState.native.js +79 -52
- package/dist/cjs/safeAreaState.native.js.map +1 -1
- package/dist/cjs/setup-burnt.cjs +15 -14
- package/dist/cjs/setup-burnt.native.cjs +20 -0
- package/dist/cjs/setup-burnt.native.js +15 -13
- package/dist/cjs/setup-burnt.native.js.map +1 -1
- package/dist/cjs/setup-expo-linear-gradient.cjs +14 -13
- package/dist/cjs/setup-expo-linear-gradient.native.cjs +19 -0
- package/dist/cjs/setup-expo-linear-gradient.native.js +14 -12
- package/dist/cjs/setup-expo-linear-gradient.native.js.map +1 -1
- package/dist/cjs/setup-expo-ui-menu.cjs +12 -13
- package/dist/cjs/setup-expo-ui-menu.native.cjs +18 -0
- package/dist/cjs/setup-expo-ui-menu.native.js +12 -12
- package/dist/cjs/setup-expo-ui-menu.native.js.map +1 -1
- package/dist/cjs/setup-gesture-handler.cjs +51 -57
- package/dist/cjs/setup-gesture-handler.native.cjs +72 -0
- package/dist/cjs/setup-gesture-handler.native.js +51 -56
- package/dist/cjs/setup-gesture-handler.native.js.map +1 -1
- package/dist/cjs/setup-keyboard-controller.native.cjs +28 -0
- package/dist/cjs/setup-keyboard-controller.native.js +23 -29
- package/dist/cjs/setup-keyboard-controller.native.js.map +1 -1
- package/dist/cjs/setup-safe-area.cjs +17 -3
- package/dist/cjs/setup-safe-area.native.cjs +28 -0
- package/dist/cjs/setup-safe-area.native.js +23 -16
- package/dist/cjs/setup-safe-area.native.js.map +1 -1
- package/dist/cjs/setup-teleport.cjs +16 -15
- package/dist/cjs/setup-teleport.native.cjs +21 -0
- package/dist/cjs/setup-teleport.native.js +16 -14
- package/dist/cjs/setup-teleport.native.js.map +1 -1
- package/dist/cjs/setup-worklets.cjs +19 -18
- package/dist/cjs/setup-worklets.native.cjs +24 -0
- package/dist/cjs/setup-worklets.native.js +19 -17
- package/dist/cjs/setup-worklets.native.js.map +1 -1
- package/dist/cjs/setup-zeego.cjs +18 -17
- package/dist/cjs/setup-zeego.native.cjs +23 -0
- package/dist/cjs/setup-zeego.native.js +18 -16
- package/dist/cjs/setup-zeego.native.js.map +1 -1
- package/dist/cjs/types.cjs +10 -11
- package/dist/cjs/types.native.cjs +19 -0
- package/dist/cjs/types.native.js +10 -10
- package/dist/cjs/types.native.js.map +1 -1
- package/dist/cjs/workletsState.cjs +31 -34
- package/dist/cjs/workletsState.native.cjs +47 -0
- package/dist/cjs/workletsState.native.js +31 -33
- package/dist/cjs/workletsState.native.js.map +1 -1
- package/dist/esm/PressBoundary.mjs +37 -45
- package/dist/esm/PressBoundary.mjs.map +1 -1
- package/dist/esm/PressBoundary.native.js +48 -56
- package/dist/esm/PressBoundary.native.js.map +1 -1
- package/dist/esm/burntState.mjs +16 -14
- package/dist/esm/burntState.mjs.map +1 -1
- package/dist/esm/burntState.native.js +16 -14
- package/dist/esm/burntState.native.js.map +1 -1
- package/dist/esm/components.mjs +20 -37
- package/dist/esm/components.mjs.map +1 -1
- package/dist/esm/components.native.js +21 -38
- package/dist/esm/components.native.js.map +1 -1
- package/dist/esm/expoUIMenuAdapter.mjs +224 -228
- package/dist/esm/expoUIMenuAdapter.mjs.map +1 -1
- package/dist/esm/expoUIMenuAdapter.native.js +270 -279
- package/dist/esm/expoUIMenuAdapter.native.js.map +1 -1
- package/dist/esm/gesture-handler.mjs +3 -4
- package/dist/esm/gesture-handler.native.js +3 -4
- package/dist/esm/gestureState.mjs +185 -187
- package/dist/esm/gestureState.mjs.map +1 -1
- package/dist/esm/gestureState.native.js +198 -200
- package/dist/esm/gestureState.native.js.map +1 -1
- package/dist/esm/globalState.mjs +17 -16
- package/dist/esm/globalState.mjs.map +1 -1
- package/dist/esm/globalState.native.js +17 -16
- package/dist/esm/globalState.native.js.map +1 -1
- package/dist/esm/index.js +5 -6
- package/dist/esm/index.mjs +5 -6
- package/dist/esm/index.native.js +5 -6
- package/dist/esm/keyboardControllerState.mjs +13 -11
- package/dist/esm/keyboardControllerState.mjs.map +1 -1
- package/dist/esm/keyboardControllerState.native.js +13 -11
- package/dist/esm/keyboardControllerState.native.js.map +1 -1
- package/dist/esm/linearGradientState.mjs +15 -13
- package/dist/esm/linearGradientState.mjs.map +1 -1
- package/dist/esm/linearGradientState.native.js +15 -13
- package/dist/esm/linearGradientState.native.js.map +1 -1
- package/dist/esm/nativeMenuContext.mjs +2 -0
- package/dist/esm/nativeMenuContext.mjs.map +1 -1
- package/dist/esm/nativeMenuContext.native.js +2 -0
- package/dist/esm/nativeMenuContext.native.js.map +1 -1
- package/dist/esm/nativeMenuState.mjs +13 -11
- package/dist/esm/nativeMenuState.mjs.map +1 -1
- package/dist/esm/nativeMenuState.native.js +13 -11
- package/dist/esm/nativeMenuState.native.js.map +1 -1
- package/dist/esm/portalState.mjs +15 -13
- package/dist/esm/portalState.mjs.map +1 -1
- package/dist/esm/portalState.native.js +15 -13
- package/dist/esm/portalState.native.js.map +1 -1
- package/dist/esm/safeAreaState.mjs +64 -38
- package/dist/esm/safeAreaState.mjs.map +1 -1
- package/dist/esm/safeAreaState.native.js +66 -38
- package/dist/esm/safeAreaState.native.js.map +1 -1
- package/dist/esm/setup-burnt.mjs +20 -13
- package/dist/esm/setup-burnt.mjs.map +1 -1
- package/dist/esm/setup-burnt.native.js +20 -13
- package/dist/esm/setup-burnt.native.js.map +1 -1
- package/dist/esm/setup-expo-linear-gradient.mjs +19 -12
- package/dist/esm/setup-expo-linear-gradient.mjs.map +1 -1
- package/dist/esm/setup-expo-linear-gradient.native.js +19 -12
- package/dist/esm/setup-expo-linear-gradient.native.js.map +1 -1
- package/dist/esm/setup-expo-ui-menu.mjs +17 -12
- package/dist/esm/setup-expo-ui-menu.mjs.map +1 -1
- package/dist/esm/setup-expo-ui-menu.native.js +17 -12
- package/dist/esm/setup-expo-ui-menu.native.js.map +1 -1
- package/dist/esm/setup-gesture-handler.mjs +42 -40
- package/dist/esm/setup-gesture-handler.mjs.map +1 -1
- package/dist/esm/setup-gesture-handler.native.js +42 -40
- package/dist/esm/setup-gesture-handler.native.js.map +1 -1
- package/dist/esm/setup-keyboard-controller.mjs +0 -2
- package/dist/esm/setup-keyboard-controller.native.js +28 -29
- package/dist/esm/setup-keyboard-controller.native.js.map +1 -1
- package/dist/esm/setup-safe-area.mjs +0 -4
- package/dist/esm/setup-safe-area.native.js +23 -22
- package/dist/esm/setup-safe-area.native.js.map +1 -1
- package/dist/esm/setup-teleport.mjs +21 -14
- package/dist/esm/setup-teleport.mjs.map +1 -1
- package/dist/esm/setup-teleport.native.js +21 -14
- package/dist/esm/setup-teleport.native.js.map +1 -1
- package/dist/esm/setup-worklets.mjs +24 -17
- package/dist/esm/setup-worklets.mjs.map +1 -1
- package/dist/esm/setup-worklets.native.js +24 -17
- package/dist/esm/setup-worklets.native.js.map +1 -1
- package/dist/esm/setup-zeego.mjs +23 -16
- package/dist/esm/setup-zeego.mjs.map +1 -1
- package/dist/esm/setup-zeego.native.js +23 -16
- package/dist/esm/setup-zeego.native.js.map +1 -1
- package/dist/esm/types.mjs +0 -2
- package/dist/esm/types.native.js +0 -2
- package/dist/esm/workletsState.mjs +18 -16
- package/dist/esm/workletsState.mjs.map +1 -1
- package/dist/esm/workletsState.native.js +18 -16
- package/dist/esm/workletsState.native.js.map +1 -1
- package/package.json +84 -7
- package/src/PressBoundary.tsx +48 -45
- package/src/expoUIMenuAdapter.tsx +1 -2
- package/src/gestureState.ts +2 -2
- package/src/index.ts +1 -1
- package/src/safeAreaState.ts +59 -27
- package/src/setup-safe-area.ts +27 -22
- package/src/setup-safe-area.web.ts +2 -0
- package/src/types.ts +1 -0
- package/types/PressBoundary.d.ts +3 -1
- package/types/PressBoundary.d.ts.map +2 -2
- package/types/expoUIMenuAdapter.d.ts.map +2 -2
- package/types/gestureState.d.ts.map +1 -1
- package/types/index.d.ts +1 -1
- package/types/index.d.ts.map +2 -2
- package/types/safeAreaState.d.ts +5 -2
- package/types/safeAreaState.d.ts.map +2 -2
- package/types/setup-safe-area.d.ts.map +1 -1
- package/types/setup-safe-area.web.d.ts +3 -0
- package/types/setup-safe-area.web.d.ts.map +11 -0
- package/types/types.d.ts +1 -0
- package/types/types.d.ts.map +2 -2
- package/.turbo/turbo-build.log +0 -2
- package/dist/esm/gesture-handler.mjs.map +0 -1
- package/dist/esm/gesture-handler.native.js.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/index.mjs.map +0 -1
- package/dist/esm/index.native.js.map +0 -1
- package/dist/esm/setup-keyboard-controller.mjs.map +0 -1
- package/dist/esm/setup-safe-area.mjs.map +0 -1
- package/dist/esm/types.mjs.map +0 -1
- package/dist/esm/types.native.js.map +0 -1
- 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":"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"}
|
|
@@ -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
|
-
|
|
6
|
-
|
|
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
|
-
|
|
6
|
-
|
|
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
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
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
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
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
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
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
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
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
|
-
|
|
44
|
-
|
|
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
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
48
|
+
owner: null,
|
|
49
|
+
ownerId: null,
|
|
50
|
+
ownerSource: null,
|
|
51
|
+
ownerPointerId: null,
|
|
52
|
+
timestamp: 0
|
|
52
53
|
};
|
|
53
54
|
function resetPressOwner() {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
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
|
-
|
|
62
|
-
|
|
63
|
-
|
|
62
|
+
if (now - pressState.timestamp > 2e3) {
|
|
63
|
+
resetPressOwner();
|
|
64
|
+
}
|
|
64
65
|
}
|
|
65
66
|
function claimExternalPressOwnership(debugName) {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
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
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
78
|
+
if (!token || pressState.owner !== token) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
resetPressOwner();
|
|
81
82
|
}
|
|
82
83
|
function hasExternalPressOwnership() {
|
|
83
|
-
|
|
84
|
-
|
|
84
|
+
resetStaleOwner(Date.now());
|
|
85
|
+
return pressState.ownerSource === "external";
|
|
85
86
|
}
|
|
86
87
|
function getGestureHandler() {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
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":"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","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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"}
|