@userflow-tech/react-native 0.4.4 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (431) hide show
  1. package/README.md +124 -34
  2. package/docs/anchoring.md +6 -1
  3. package/docs/deep-linking.md +26 -0
  4. package/docs/troubleshooting.md +50 -23
  5. package/expo-plugin/hostDependencyWarnings.d.ts +6 -4
  6. package/expo-plugin/hostDependencyWarnings.d.ts.map +1 -1
  7. package/expo-plugin/hostDependencyWarnings.js +8 -6
  8. package/expo-plugin/hostDependencyWarnings.js.map +1 -1
  9. package/lib/commonjs/anchors/AutoAnchorRegistry.js +144 -34
  10. package/lib/commonjs/anchors/AutoAnchorRegistry.js.map +1 -1
  11. package/lib/commonjs/anchors/animationFrame.js +29 -1
  12. package/lib/commonjs/anchors/animationFrame.js.map +1 -1
  13. package/lib/commonjs/anchors/appActive.js +61 -0
  14. package/lib/commonjs/anchors/appActive.js.map +1 -0
  15. package/lib/commonjs/anchors/elementConditionEvaluator.js +25 -8
  16. package/lib/commonjs/anchors/elementConditionEvaluator.js.map +1 -1
  17. package/lib/commonjs/anchors/elementTapMonitor.js +67 -12
  18. package/lib/commonjs/anchors/elementTapMonitor.js.map +1 -1
  19. package/lib/commonjs/anchors/elementTargetMatch.js +33 -7
  20. package/lib/commonjs/anchors/elementTargetMatch.js.map +1 -1
  21. package/lib/commonjs/anchors/fiber/fiberInternals.js +66 -0
  22. package/lib/commonjs/anchors/fiber/fiberInternals.js.map +1 -1
  23. package/lib/commonjs/anchors/fiber/indexHostFibers.js +4 -3
  24. package/lib/commonjs/anchors/fiber/indexHostFibers.js.map +1 -1
  25. package/lib/commonjs/anchors/fiber/resolveFiberPath.js +30 -15
  26. package/lib/commonjs/anchors/fiber/resolveFiberPath.js.map +1 -1
  27. package/lib/commonjs/anchors/fiberAnchorCache.js +20 -0
  28. package/lib/commonjs/anchors/fiberAnchorCache.js.map +1 -1
  29. package/lib/commonjs/anchors/gestureHandlerHandoff.js +304 -0
  30. package/lib/commonjs/anchors/gestureHandlerHandoff.js.map +1 -0
  31. package/lib/commonjs/anchors/resolveAnchorHost.js +6 -0
  32. package/lib/commonjs/anchors/resolveAnchorHost.js.map +1 -1
  33. package/lib/commonjs/anchors/resolveAutoAnchorHost.js +11 -6
  34. package/lib/commonjs/anchors/resolveAutoAnchorHost.js.map +1 -1
  35. package/lib/commonjs/anchors/resolveElementTargets.js +63 -8
  36. package/lib/commonjs/anchors/resolveElementTargets.js.map +1 -1
  37. package/lib/commonjs/anchors/semanticMatcher.js +43 -21
  38. package/lib/commonjs/anchors/semanticMatcher.js.map +1 -1
  39. package/lib/commonjs/anchors/tapSlop.js +16 -0
  40. package/lib/commonjs/anchors/tapSlop.js.map +1 -0
  41. package/lib/commonjs/anchors/targetPressMonitor.js +66 -12
  42. package/lib/commonjs/anchors/targetPressMonitor.js.map +1 -1
  43. package/lib/commonjs/authoring/fingerprintFromInstance.js +5 -9
  44. package/lib/commonjs/authoring/fingerprintFromInstance.js.map +1 -1
  45. package/lib/commonjs/content/RichContentRenderer.js +3 -3
  46. package/lib/commonjs/content/RichContentRenderer.js.map +1 -1
  47. package/lib/commonjs/content/openSafeUrl.js +3 -1
  48. package/lib/commonjs/content/openSafeUrl.js.map +1 -1
  49. package/lib/commonjs/expo-router/useUserflowExpoRouter.js +6 -0
  50. package/lib/commonjs/expo-router/useUserflowExpoRouter.js.map +1 -1
  51. package/lib/commonjs/index.js +19 -5
  52. package/lib/commonjs/index.js.map +1 -1
  53. package/lib/commonjs/installCheck.js +2 -2
  54. package/lib/commonjs/installCheck.js.map +1 -1
  55. package/lib/commonjs/navigation/navigateUrlUtils.js +105 -0
  56. package/lib/commonjs/navigation/navigateUrlUtils.js.map +1 -0
  57. package/lib/commonjs/navigation/openExternalNavigateUrl.js +14 -0
  58. package/lib/commonjs/navigation/openExternalNavigateUrl.js.map +1 -0
  59. package/lib/commonjs/navigation/openFlowNavigateUrl.js +47 -41
  60. package/lib/commonjs/navigation/openFlowNavigateUrl.js.map +1 -1
  61. package/lib/commonjs/pairing/PairingController.js +3 -1
  62. package/lib/commonjs/pairing/PairingController.js.map +1 -1
  63. package/lib/commonjs/runtime/BannerHost.js +38 -29
  64. package/lib/commonjs/runtime/BannerHost.js.map +1 -1
  65. package/lib/commonjs/runtime/TargetPressBridge.js +55 -7
  66. package/lib/commonjs/runtime/TargetPressBridge.js.map +1 -1
  67. package/lib/commonjs/runtime/UserflowOverlay.js +5 -11
  68. package/lib/commonjs/runtime/UserflowOverlay.js.map +1 -1
  69. package/lib/commonjs/runtime/UserflowProvider.js +66 -40
  70. package/lib/commonjs/runtime/UserflowProvider.js.map +1 -1
  71. package/lib/commonjs/runtime/bannerEngine.js +8 -2
  72. package/lib/commonjs/runtime/bannerEngine.js.map +1 -1
  73. package/lib/commonjs/runtime/bannerFlowSpacer.js +71 -0
  74. package/lib/commonjs/runtime/bannerFlowSpacer.js.map +1 -0
  75. package/lib/commonjs/runtime/flowEngine.js +11 -0
  76. package/lib/commonjs/runtime/flowEngine.js.map +1 -1
  77. package/lib/commonjs/runtime/previewStart.js +39 -0
  78. package/lib/commonjs/runtime/previewStart.js.map +1 -0
  79. package/lib/commonjs/runtime/pushBannerLayoutContext.js +98 -0
  80. package/lib/commonjs/runtime/pushBannerLayoutContext.js.map +1 -0
  81. package/lib/commonjs/screenTracker.js +12 -0
  82. package/lib/commonjs/screenTracker.js.map +1 -1
  83. package/lib/commonjs/surfaces/BannerBar.js +79 -61
  84. package/lib/commonjs/surfaces/BannerBar.js.map +1 -1
  85. package/lib/commonjs/surfaces/BannerSurface.js +26 -0
  86. package/lib/commonjs/surfaces/BannerSurface.js.map +1 -1
  87. package/lib/commonjs/surfaces/TooltipSurface.js +43 -41
  88. package/lib/commonjs/surfaces/TooltipSurface.js.map +1 -1
  89. package/lib/commonjs/surfaces/bannerBarLayout.js +77 -10
  90. package/lib/commonjs/surfaces/bannerBarLayout.js.map +1 -1
  91. package/lib/commonjs/surfaces/bannerWebView/BannerWebViewBar.js +112 -63
  92. package/lib/commonjs/surfaces/bannerWebView/BannerWebViewBar.js.map +1 -1
  93. package/lib/commonjs/surfaces/bannerWebView/buildCustomBannerHtml.js +59 -11
  94. package/lib/commonjs/surfaces/bannerWebView/buildCustomBannerHtml.js.map +1 -1
  95. package/lib/commonjs/surfaces/hostAccessibilityTrap.js +28 -0
  96. package/lib/commonjs/surfaces/hostAccessibilityTrap.js.map +1 -0
  97. package/lib/commonjs/surfaces/resolveBannerTheme.js +6 -3
  98. package/lib/commonjs/surfaces/resolveBannerTheme.js.map +1 -1
  99. package/lib/commonjs/surfaces/tooltip/TooltipBubble.js +3 -2
  100. package/lib/commonjs/surfaces/tooltip/TooltipBubble.js.map +1 -1
  101. package/lib/commonjs/surfaces/tooltip/targetSearchSchedule.js +134 -0
  102. package/lib/commonjs/surfaces/tooltip/targetSearchSchedule.js.map +1 -0
  103. package/lib/commonjs/version.js +1 -1
  104. package/lib/module/anchors/AutoAnchorRegistry.js +145 -35
  105. package/lib/module/anchors/AutoAnchorRegistry.js.map +1 -1
  106. package/lib/module/anchors/animationFrame.js +29 -2
  107. package/lib/module/anchors/animationFrame.js.map +1 -1
  108. package/lib/module/anchors/appActive.js +57 -0
  109. package/lib/module/anchors/appActive.js.map +1 -0
  110. package/lib/module/anchors/elementConditionEvaluator.js +26 -9
  111. package/lib/module/anchors/elementConditionEvaluator.js.map +1 -1
  112. package/lib/module/anchors/elementTapMonitor.js +67 -12
  113. package/lib/module/anchors/elementTapMonitor.js.map +1 -1
  114. package/lib/module/anchors/elementTargetMatch.js +32 -7
  115. package/lib/module/anchors/elementTargetMatch.js.map +1 -1
  116. package/lib/module/anchors/fiber/fiberInternals.js +65 -0
  117. package/lib/module/anchors/fiber/fiberInternals.js.map +1 -1
  118. package/lib/module/anchors/fiber/indexHostFibers.js +4 -3
  119. package/lib/module/anchors/fiber/indexHostFibers.js.map +1 -1
  120. package/lib/module/anchors/fiber/resolveFiberPath.js +30 -15
  121. package/lib/module/anchors/fiber/resolveFiberPath.js.map +1 -1
  122. package/lib/module/anchors/fiberAnchorCache.js +19 -0
  123. package/lib/module/anchors/fiberAnchorCache.js.map +1 -1
  124. package/lib/module/anchors/gestureHandlerHandoff.js +298 -0
  125. package/lib/module/anchors/gestureHandlerHandoff.js.map +1 -0
  126. package/lib/module/anchors/resolveAnchorHost.js +1 -0
  127. package/lib/module/anchors/resolveAnchorHost.js.map +1 -1
  128. package/lib/module/anchors/resolveAutoAnchorHost.js +11 -6
  129. package/lib/module/anchors/resolveAutoAnchorHost.js.map +1 -1
  130. package/lib/module/anchors/resolveElementTargets.js +63 -8
  131. package/lib/module/anchors/resolveElementTargets.js.map +1 -1
  132. package/lib/module/anchors/semanticMatcher.js +43 -21
  133. package/lib/module/anchors/semanticMatcher.js.map +1 -1
  134. package/lib/module/anchors/tapSlop.js +11 -0
  135. package/lib/module/anchors/tapSlop.js.map +1 -0
  136. package/lib/module/anchors/targetPressMonitor.js +53 -8
  137. package/lib/module/anchors/targetPressMonitor.js.map +1 -1
  138. package/lib/module/authoring/fingerprintFromInstance.js +6 -10
  139. package/lib/module/authoring/fingerprintFromInstance.js.map +1 -1
  140. package/lib/module/content/RichContentRenderer.js +3 -3
  141. package/lib/module/content/RichContentRenderer.js.map +1 -1
  142. package/lib/module/content/openSafeUrl.js +3 -1
  143. package/lib/module/content/openSafeUrl.js.map +1 -1
  144. package/lib/module/expo-router/useUserflowExpoRouter.js +7 -1
  145. package/lib/module/expo-router/useUserflowExpoRouter.js.map +1 -1
  146. package/lib/module/index.js +22 -7
  147. package/lib/module/index.js.map +1 -1
  148. package/lib/module/installCheck.js +2 -2
  149. package/lib/module/installCheck.js.map +1 -1
  150. package/lib/module/navigation/navigateUrlUtils.js +94 -0
  151. package/lib/module/navigation/navigateUrlUtils.js.map +1 -0
  152. package/lib/module/navigation/openExternalNavigateUrl.js +11 -0
  153. package/lib/module/navigation/openExternalNavigateUrl.js.map +1 -0
  154. package/lib/module/navigation/openFlowNavigateUrl.js +22 -36
  155. package/lib/module/navigation/openFlowNavigateUrl.js.map +1 -1
  156. package/lib/module/pairing/PairingController.js +3 -1
  157. package/lib/module/pairing/PairingController.js.map +1 -1
  158. package/lib/module/runtime/BannerHost.js +38 -29
  159. package/lib/module/runtime/BannerHost.js.map +1 -1
  160. package/lib/module/runtime/TargetPressBridge.js +56 -8
  161. package/lib/module/runtime/TargetPressBridge.js.map +1 -1
  162. package/lib/module/runtime/UserflowOverlay.js +5 -11
  163. package/lib/module/runtime/UserflowOverlay.js.map +1 -1
  164. package/lib/module/runtime/UserflowProvider.js +66 -40
  165. package/lib/module/runtime/UserflowProvider.js.map +1 -1
  166. package/lib/module/runtime/bannerEngine.js +7 -2
  167. package/lib/module/runtime/bannerEngine.js.map +1 -1
  168. package/lib/module/runtime/bannerFlowSpacer.js +65 -0
  169. package/lib/module/runtime/bannerFlowSpacer.js.map +1 -0
  170. package/lib/module/runtime/flowEngine.js +11 -0
  171. package/lib/module/runtime/flowEngine.js.map +1 -1
  172. package/lib/module/runtime/previewStart.js +35 -0
  173. package/lib/module/runtime/previewStart.js.map +1 -0
  174. package/lib/module/runtime/pushBannerLayoutContext.js +91 -0
  175. package/lib/module/runtime/pushBannerLayoutContext.js.map +1 -0
  176. package/lib/module/screenTracker.js +11 -0
  177. package/lib/module/screenTracker.js.map +1 -1
  178. package/lib/module/surfaces/BannerBar.js +80 -62
  179. package/lib/module/surfaces/BannerBar.js.map +1 -1
  180. package/lib/module/surfaces/BannerSurface.js +26 -0
  181. package/lib/module/surfaces/BannerSurface.js.map +1 -1
  182. package/lib/module/surfaces/TooltipSurface.js +44 -42
  183. package/lib/module/surfaces/TooltipSurface.js.map +1 -1
  184. package/lib/module/surfaces/bannerBarLayout.js +72 -11
  185. package/lib/module/surfaces/bannerBarLayout.js.map +1 -1
  186. package/lib/module/surfaces/bannerWebView/BannerWebViewBar.js +113 -64
  187. package/lib/module/surfaces/bannerWebView/BannerWebViewBar.js.map +1 -1
  188. package/lib/module/surfaces/bannerWebView/buildCustomBannerHtml.js +59 -11
  189. package/lib/module/surfaces/bannerWebView/buildCustomBannerHtml.js.map +1 -1
  190. package/lib/module/surfaces/hostAccessibilityTrap.js +24 -0
  191. package/lib/module/surfaces/hostAccessibilityTrap.js.map +1 -0
  192. package/lib/module/surfaces/resolveBannerTheme.js +6 -3
  193. package/lib/module/surfaces/resolveBannerTheme.js.map +1 -1
  194. package/lib/module/surfaces/tooltip/TooltipBubble.js +3 -2
  195. package/lib/module/surfaces/tooltip/TooltipBubble.js.map +1 -1
  196. package/lib/module/surfaces/tooltip/targetSearchSchedule.js +128 -0
  197. package/lib/module/surfaces/tooltip/targetSearchSchedule.js.map +1 -0
  198. package/lib/module/version.js +1 -1
  199. package/lib/typescript/commonjs/src/anchors/AutoAnchorRegistry.d.ts +36 -2
  200. package/lib/typescript/commonjs/src/anchors/AutoAnchorRegistry.d.ts.map +1 -1
  201. package/lib/typescript/commonjs/src/anchors/animationFrame.d.ts +0 -4
  202. package/lib/typescript/commonjs/src/anchors/animationFrame.d.ts.map +1 -1
  203. package/lib/typescript/commonjs/src/anchors/appActive.d.ts +8 -0
  204. package/lib/typescript/commonjs/src/anchors/appActive.d.ts.map +1 -0
  205. package/lib/typescript/commonjs/src/anchors/elementTapMonitor.d.ts +17 -0
  206. package/lib/typescript/commonjs/src/anchors/elementTapMonitor.d.ts.map +1 -1
  207. package/lib/typescript/commonjs/src/anchors/elementTargetMatch.d.ts +7 -0
  208. package/lib/typescript/commonjs/src/anchors/elementTargetMatch.d.ts.map +1 -1
  209. package/lib/typescript/commonjs/src/anchors/fiber/fiberInternals.d.ts +7 -0
  210. package/lib/typescript/commonjs/src/anchors/fiber/fiberInternals.d.ts.map +1 -1
  211. package/lib/typescript/commonjs/src/anchors/fiber/indexHostFibers.d.ts +3 -2
  212. package/lib/typescript/commonjs/src/anchors/fiber/indexHostFibers.d.ts.map +1 -1
  213. package/lib/typescript/commonjs/src/anchors/fiber/resolveFiberPath.d.ts +3 -0
  214. package/lib/typescript/commonjs/src/anchors/fiber/resolveFiberPath.d.ts.map +1 -1
  215. package/lib/typescript/commonjs/src/anchors/fiberAnchorCache.d.ts +5 -0
  216. package/lib/typescript/commonjs/src/anchors/fiberAnchorCache.d.ts.map +1 -1
  217. package/lib/typescript/commonjs/src/anchors/gestureHandlerHandoff.d.ts +70 -0
  218. package/lib/typescript/commonjs/src/anchors/gestureHandlerHandoff.d.ts.map +1 -0
  219. package/lib/typescript/commonjs/src/anchors/resolveAnchorHost.d.ts +1 -0
  220. package/lib/typescript/commonjs/src/anchors/resolveAnchorHost.d.ts.map +1 -1
  221. package/lib/typescript/commonjs/src/anchors/resolveAutoAnchorHost.d.ts +11 -4
  222. package/lib/typescript/commonjs/src/anchors/resolveAutoAnchorHost.d.ts.map +1 -1
  223. package/lib/typescript/commonjs/src/anchors/resolveElementTargets.d.ts.map +1 -1
  224. package/lib/typescript/commonjs/src/anchors/semanticMatcher.d.ts +2 -0
  225. package/lib/typescript/commonjs/src/anchors/semanticMatcher.d.ts.map +1 -1
  226. package/lib/typescript/commonjs/src/anchors/tapSlop.d.ts +9 -0
  227. package/lib/typescript/commonjs/src/anchors/tapSlop.d.ts.map +1 -0
  228. package/lib/typescript/commonjs/src/anchors/targetPressMonitor.d.ts +13 -8
  229. package/lib/typescript/commonjs/src/anchors/targetPressMonitor.d.ts.map +1 -1
  230. package/lib/typescript/commonjs/src/authoring/fingerprintFromInstance.d.ts.map +1 -1
  231. package/lib/typescript/commonjs/src/content/RichContentRenderer.d.ts.map +1 -1
  232. package/lib/typescript/commonjs/src/content/openSafeUrl.d.ts.map +1 -1
  233. package/lib/typescript/commonjs/src/expo-router/useUserflowExpoRouter.d.ts.map +1 -1
  234. package/lib/typescript/commonjs/src/index.d.ts +6 -5
  235. package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
  236. package/lib/typescript/commonjs/src/installCheck.d.ts +1 -1
  237. package/lib/typescript/commonjs/src/installCheck.d.ts.map +1 -1
  238. package/lib/typescript/commonjs/src/navigation/navigateUrlUtils.d.ts +15 -0
  239. package/lib/typescript/commonjs/src/navigation/navigateUrlUtils.d.ts.map +1 -0
  240. package/lib/typescript/commonjs/src/navigation/openExternalNavigateUrl.d.ts +3 -0
  241. package/lib/typescript/commonjs/src/navigation/openExternalNavigateUrl.d.ts.map +1 -0
  242. package/lib/typescript/commonjs/src/navigation/openFlowNavigateUrl.d.ts +2 -5
  243. package/lib/typescript/commonjs/src/navigation/openFlowNavigateUrl.d.ts.map +1 -1
  244. package/lib/typescript/commonjs/src/pairing/PairingController.d.ts +6 -0
  245. package/lib/typescript/commonjs/src/pairing/PairingController.d.ts.map +1 -1
  246. package/lib/typescript/commonjs/src/runtime/BannerHost.d.ts.map +1 -1
  247. package/lib/typescript/commonjs/src/runtime/TargetPressBridge.d.ts +3 -0
  248. package/lib/typescript/commonjs/src/runtime/TargetPressBridge.d.ts.map +1 -1
  249. package/lib/typescript/commonjs/src/runtime/UserflowOverlay.d.ts.map +1 -1
  250. package/lib/typescript/commonjs/src/runtime/UserflowProvider.d.ts.map +1 -1
  251. package/lib/typescript/commonjs/src/runtime/bannerEngine.d.ts +5 -1
  252. package/lib/typescript/commonjs/src/runtime/bannerEngine.d.ts.map +1 -1
  253. package/lib/typescript/commonjs/src/runtime/bannerFlowSpacer.d.ts +15 -0
  254. package/lib/typescript/commonjs/src/runtime/bannerFlowSpacer.d.ts.map +1 -0
  255. package/lib/typescript/commonjs/src/runtime/flowEngine.d.ts.map +1 -1
  256. package/lib/typescript/commonjs/src/runtime/previewStart.d.ts +13 -0
  257. package/lib/typescript/commonjs/src/runtime/previewStart.d.ts.map +1 -0
  258. package/lib/typescript/commonjs/src/runtime/pushBannerLayoutContext.d.ts +17 -0
  259. package/lib/typescript/commonjs/src/runtime/pushBannerLayoutContext.d.ts.map +1 -0
  260. package/lib/typescript/commonjs/src/screenTracker.d.ts +6 -0
  261. package/lib/typescript/commonjs/src/screenTracker.d.ts.map +1 -1
  262. package/lib/typescript/commonjs/src/surfaces/BannerBar.d.ts +3 -1
  263. package/lib/typescript/commonjs/src/surfaces/BannerBar.d.ts.map +1 -1
  264. package/lib/typescript/commonjs/src/surfaces/BannerSurface.d.ts +5 -1
  265. package/lib/typescript/commonjs/src/surfaces/BannerSurface.d.ts.map +1 -1
  266. package/lib/typescript/commonjs/src/surfaces/TooltipSurface.d.ts +1 -1
  267. package/lib/typescript/commonjs/src/surfaces/TooltipSurface.d.ts.map +1 -1
  268. package/lib/typescript/commonjs/src/surfaces/bannerBarLayout.d.ts +17 -0
  269. package/lib/typescript/commonjs/src/surfaces/bannerBarLayout.d.ts.map +1 -1
  270. package/lib/typescript/commonjs/src/surfaces/bannerWebView/BannerWebViewBar.d.ts +3 -1
  271. package/lib/typescript/commonjs/src/surfaces/bannerWebView/BannerWebViewBar.d.ts.map +1 -1
  272. package/lib/typescript/commonjs/src/surfaces/bannerWebView/buildCustomBannerHtml.d.ts.map +1 -1
  273. package/lib/typescript/commonjs/src/surfaces/hostAccessibilityTrap.d.ts +14 -0
  274. package/lib/typescript/commonjs/src/surfaces/hostAccessibilityTrap.d.ts.map +1 -0
  275. package/lib/typescript/commonjs/src/surfaces/resolveBannerTheme.d.ts +4 -1
  276. package/lib/typescript/commonjs/src/surfaces/resolveBannerTheme.d.ts.map +1 -1
  277. package/lib/typescript/commonjs/src/surfaces/tooltip/TooltipBubble.d.ts +7 -1
  278. package/lib/typescript/commonjs/src/surfaces/tooltip/TooltipBubble.d.ts.map +1 -1
  279. package/lib/typescript/commonjs/src/surfaces/tooltip/targetSearchSchedule.d.ts +60 -0
  280. package/lib/typescript/commonjs/src/surfaces/tooltip/targetSearchSchedule.d.ts.map +1 -0
  281. package/lib/typescript/commonjs/src/version.d.ts +1 -1
  282. package/lib/typescript/module/src/anchors/AutoAnchorRegistry.d.ts +36 -2
  283. package/lib/typescript/module/src/anchors/AutoAnchorRegistry.d.ts.map +1 -1
  284. package/lib/typescript/module/src/anchors/animationFrame.d.ts +0 -4
  285. package/lib/typescript/module/src/anchors/animationFrame.d.ts.map +1 -1
  286. package/lib/typescript/module/src/anchors/appActive.d.ts +8 -0
  287. package/lib/typescript/module/src/anchors/appActive.d.ts.map +1 -0
  288. package/lib/typescript/module/src/anchors/elementTapMonitor.d.ts +17 -0
  289. package/lib/typescript/module/src/anchors/elementTapMonitor.d.ts.map +1 -1
  290. package/lib/typescript/module/src/anchors/elementTargetMatch.d.ts +7 -0
  291. package/lib/typescript/module/src/anchors/elementTargetMatch.d.ts.map +1 -1
  292. package/lib/typescript/module/src/anchors/fiber/fiberInternals.d.ts +7 -0
  293. package/lib/typescript/module/src/anchors/fiber/fiberInternals.d.ts.map +1 -1
  294. package/lib/typescript/module/src/anchors/fiber/indexHostFibers.d.ts +3 -2
  295. package/lib/typescript/module/src/anchors/fiber/indexHostFibers.d.ts.map +1 -1
  296. package/lib/typescript/module/src/anchors/fiber/resolveFiberPath.d.ts +3 -0
  297. package/lib/typescript/module/src/anchors/fiber/resolveFiberPath.d.ts.map +1 -1
  298. package/lib/typescript/module/src/anchors/fiberAnchorCache.d.ts +5 -0
  299. package/lib/typescript/module/src/anchors/fiberAnchorCache.d.ts.map +1 -1
  300. package/lib/typescript/module/src/anchors/gestureHandlerHandoff.d.ts +70 -0
  301. package/lib/typescript/module/src/anchors/gestureHandlerHandoff.d.ts.map +1 -0
  302. package/lib/typescript/module/src/anchors/resolveAnchorHost.d.ts +1 -0
  303. package/lib/typescript/module/src/anchors/resolveAnchorHost.d.ts.map +1 -1
  304. package/lib/typescript/module/src/anchors/resolveAutoAnchorHost.d.ts +11 -4
  305. package/lib/typescript/module/src/anchors/resolveAutoAnchorHost.d.ts.map +1 -1
  306. package/lib/typescript/module/src/anchors/resolveElementTargets.d.ts.map +1 -1
  307. package/lib/typescript/module/src/anchors/semanticMatcher.d.ts +2 -0
  308. package/lib/typescript/module/src/anchors/semanticMatcher.d.ts.map +1 -1
  309. package/lib/typescript/module/src/anchors/tapSlop.d.ts +9 -0
  310. package/lib/typescript/module/src/anchors/tapSlop.d.ts.map +1 -0
  311. package/lib/typescript/module/src/anchors/targetPressMonitor.d.ts +13 -8
  312. package/lib/typescript/module/src/anchors/targetPressMonitor.d.ts.map +1 -1
  313. package/lib/typescript/module/src/authoring/fingerprintFromInstance.d.ts.map +1 -1
  314. package/lib/typescript/module/src/content/RichContentRenderer.d.ts.map +1 -1
  315. package/lib/typescript/module/src/content/openSafeUrl.d.ts.map +1 -1
  316. package/lib/typescript/module/src/expo-router/useUserflowExpoRouter.d.ts.map +1 -1
  317. package/lib/typescript/module/src/index.d.ts +6 -5
  318. package/lib/typescript/module/src/index.d.ts.map +1 -1
  319. package/lib/typescript/module/src/installCheck.d.ts +1 -1
  320. package/lib/typescript/module/src/installCheck.d.ts.map +1 -1
  321. package/lib/typescript/module/src/navigation/navigateUrlUtils.d.ts +15 -0
  322. package/lib/typescript/module/src/navigation/navigateUrlUtils.d.ts.map +1 -0
  323. package/lib/typescript/module/src/navigation/openExternalNavigateUrl.d.ts +3 -0
  324. package/lib/typescript/module/src/navigation/openExternalNavigateUrl.d.ts.map +1 -0
  325. package/lib/typescript/module/src/navigation/openFlowNavigateUrl.d.ts +2 -5
  326. package/lib/typescript/module/src/navigation/openFlowNavigateUrl.d.ts.map +1 -1
  327. package/lib/typescript/module/src/pairing/PairingController.d.ts +6 -0
  328. package/lib/typescript/module/src/pairing/PairingController.d.ts.map +1 -1
  329. package/lib/typescript/module/src/runtime/BannerHost.d.ts.map +1 -1
  330. package/lib/typescript/module/src/runtime/TargetPressBridge.d.ts +3 -0
  331. package/lib/typescript/module/src/runtime/TargetPressBridge.d.ts.map +1 -1
  332. package/lib/typescript/module/src/runtime/UserflowOverlay.d.ts.map +1 -1
  333. package/lib/typescript/module/src/runtime/UserflowProvider.d.ts.map +1 -1
  334. package/lib/typescript/module/src/runtime/bannerEngine.d.ts +5 -1
  335. package/lib/typescript/module/src/runtime/bannerEngine.d.ts.map +1 -1
  336. package/lib/typescript/module/src/runtime/bannerFlowSpacer.d.ts +15 -0
  337. package/lib/typescript/module/src/runtime/bannerFlowSpacer.d.ts.map +1 -0
  338. package/lib/typescript/module/src/runtime/flowEngine.d.ts.map +1 -1
  339. package/lib/typescript/module/src/runtime/previewStart.d.ts +13 -0
  340. package/lib/typescript/module/src/runtime/previewStart.d.ts.map +1 -0
  341. package/lib/typescript/module/src/runtime/pushBannerLayoutContext.d.ts +17 -0
  342. package/lib/typescript/module/src/runtime/pushBannerLayoutContext.d.ts.map +1 -0
  343. package/lib/typescript/module/src/screenTracker.d.ts +6 -0
  344. package/lib/typescript/module/src/screenTracker.d.ts.map +1 -1
  345. package/lib/typescript/module/src/surfaces/BannerBar.d.ts +3 -1
  346. package/lib/typescript/module/src/surfaces/BannerBar.d.ts.map +1 -1
  347. package/lib/typescript/module/src/surfaces/BannerSurface.d.ts +5 -1
  348. package/lib/typescript/module/src/surfaces/BannerSurface.d.ts.map +1 -1
  349. package/lib/typescript/module/src/surfaces/TooltipSurface.d.ts +1 -1
  350. package/lib/typescript/module/src/surfaces/TooltipSurface.d.ts.map +1 -1
  351. package/lib/typescript/module/src/surfaces/bannerBarLayout.d.ts +17 -0
  352. package/lib/typescript/module/src/surfaces/bannerBarLayout.d.ts.map +1 -1
  353. package/lib/typescript/module/src/surfaces/bannerWebView/BannerWebViewBar.d.ts +3 -1
  354. package/lib/typescript/module/src/surfaces/bannerWebView/BannerWebViewBar.d.ts.map +1 -1
  355. package/lib/typescript/module/src/surfaces/bannerWebView/buildCustomBannerHtml.d.ts.map +1 -1
  356. package/lib/typescript/module/src/surfaces/hostAccessibilityTrap.d.ts +14 -0
  357. package/lib/typescript/module/src/surfaces/hostAccessibilityTrap.d.ts.map +1 -0
  358. package/lib/typescript/module/src/surfaces/resolveBannerTheme.d.ts +4 -1
  359. package/lib/typescript/module/src/surfaces/resolveBannerTheme.d.ts.map +1 -1
  360. package/lib/typescript/module/src/surfaces/tooltip/TooltipBubble.d.ts +7 -1
  361. package/lib/typescript/module/src/surfaces/tooltip/TooltipBubble.d.ts.map +1 -1
  362. package/lib/typescript/module/src/surfaces/tooltip/targetSearchSchedule.d.ts +60 -0
  363. package/lib/typescript/module/src/surfaces/tooltip/targetSearchSchedule.d.ts.map +1 -0
  364. package/lib/typescript/module/src/version.d.ts +1 -1
  365. package/package.json +1 -1
  366. package/src/anchors/AutoAnchorRegistry.ts +166 -35
  367. package/src/anchors/animationFrame.ts +31 -1
  368. package/src/anchors/appActive.ts +63 -0
  369. package/src/anchors/elementConditionEvaluator.ts +29 -12
  370. package/src/anchors/elementTapMonitor.ts +68 -10
  371. package/src/anchors/elementTargetMatch.ts +34 -7
  372. package/src/anchors/fiber/fiberInternals.ts +68 -0
  373. package/src/anchors/fiber/indexHostFibers.ts +8 -3
  374. package/src/anchors/fiber/resolveFiberPath.ts +25 -16
  375. package/src/anchors/fiberAnchorCache.ts +19 -0
  376. package/src/anchors/gestureHandlerHandoff.ts +356 -0
  377. package/src/anchors/resolveAnchorHost.ts +2 -0
  378. package/src/anchors/resolveAutoAnchorHost.ts +18 -8
  379. package/src/anchors/resolveElementTargets.ts +64 -7
  380. package/src/anchors/semanticMatcher.ts +48 -27
  381. package/src/anchors/tapSlop.ts +18 -0
  382. package/src/anchors/targetPressMonitor.ts +56 -19
  383. package/src/authoring/fingerprintFromInstance.ts +4 -5
  384. package/src/content/RichContentRenderer.tsx +4 -3
  385. package/src/content/openSafeUrl.ts +3 -1
  386. package/src/expo-router/useUserflowExpoRouter.ts +10 -1
  387. package/src/index.ts +20 -9
  388. package/src/installCheck.ts +4 -4
  389. package/src/navigation/navigateUrlUtils.ts +100 -0
  390. package/src/navigation/openExternalNavigateUrl.ts +9 -0
  391. package/src/navigation/openFlowNavigateUrl.ts +36 -36
  392. package/src/pairing/PairingController.ts +9 -1
  393. package/src/runtime/BannerHost.tsx +41 -23
  394. package/src/runtime/TargetPressBridge.tsx +66 -9
  395. package/src/runtime/UserflowOverlay.tsx +7 -9
  396. package/src/runtime/UserflowProvider.tsx +56 -32
  397. package/src/runtime/bannerEngine.ts +10 -2
  398. package/src/runtime/bannerFlowSpacer.tsx +70 -0
  399. package/src/runtime/flowEngine.ts +11 -0
  400. package/src/runtime/previewStart.ts +49 -0
  401. package/src/runtime/pushBannerLayoutContext.tsx +121 -0
  402. package/src/screenTracker.ts +11 -0
  403. package/src/surfaces/BannerBar.tsx +93 -55
  404. package/src/surfaces/BannerSurface.tsx +59 -3
  405. package/src/surfaces/TooltipSurface.tsx +63 -51
  406. package/src/surfaces/bannerBarLayout.ts +80 -7
  407. package/src/surfaces/bannerWebView/BannerWebViewBar.tsx +149 -57
  408. package/src/surfaces/bannerWebView/buildCustomBannerHtml.ts +63 -11
  409. package/src/surfaces/hostAccessibilityTrap.ts +25 -0
  410. package/src/surfaces/resolveBannerTheme.ts +14 -3
  411. package/src/surfaces/tooltip/TooltipBubble.tsx +8 -1
  412. package/src/surfaces/tooltip/targetSearchSchedule.ts +140 -0
  413. package/src/version.ts +1 -1
  414. package/vendor/core/dist/engine/BannerSessionEngine.d.ts +29 -2
  415. package/vendor/core/dist/engine/BannerSessionEngine.d.ts.map +1 -1
  416. package/vendor/core/dist/engine/BannerSessionEngine.js +87 -6
  417. package/vendor/core/dist/engine/BannerSessionEngine.js.map +1 -1
  418. package/vendor/core/dist/engine/ClientConditionEngine.d.ts.map +1 -1
  419. package/vendor/core/dist/engine/ClientConditionEngine.js +30 -7
  420. package/vendor/core/dist/engine/ClientConditionEngine.js.map +1 -1
  421. package/vendor/core/dist/engine/PairingEngine.d.ts +6 -1
  422. package/vendor/core/dist/engine/PairingEngine.d.ts.map +1 -1
  423. package/vendor/core/dist/engine/PairingEngine.js +23 -3
  424. package/vendor/core/dist/engine/PairingEngine.js.map +1 -1
  425. package/vendor/core/dist/engine/handleActions.d.ts.map +1 -1
  426. package/vendor/core/dist/engine/handleActions.js +67 -2
  427. package/vendor/core/dist/engine/handleActions.js.map +1 -1
  428. package/vendor/core/dist/version.d.ts +1 -1
  429. package/vendor/core/dist/version.js +1 -1
  430. package/vendor/core/package.json +1 -1
  431. package/vendor/protocol/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["_protocol","require","_anchorChangeTicker","_elementTapMonitor","_elementTargetMatch","_resolveElementTargets","_resolveManualAnchorId","MAX_MEASURED_HOSTS","MEASURE_TIMEOUT_MS","createElementConditionEvaluator","warn","message","__DEV__","console","warnedConditionIds","Set","warnOnce","conditionId","has","add","condition","report","context","elementState","trackPresence","trackClick","id","generation","reportedGeneration","measuring","changedWhileMeasuring","disposed","evaluate","gen","resolution","resolveElementTargets","selector","status","silent","warnUnknown","measureVisibility","targets","catch","then","visibility","present","unsubscribe","anchorChangeTicker","subscribe","clickSelectorUsable","valueWhenOccurred","previousIsTrue","latched","stopWatchingResolution","type","reportUnclickedOnceResolvable","subscription","elementTapMonitor","tap","tapMayHitSelector","matched","find","target","fiber","fiberIsUnder","targetFiber","tapPathDisabled","immediate","decodeMobileAutoData","autoData","fingerprint","resolveManualAnchorId","css","slice","measured","Promise","all","map","measureHost","some","size","width","height","includes","length","resolve","settled","finish","value","clearTimeout","timer","setTimeout","host","measureInWindow","_x","_y"],"sourceRoot":"../../../src","sources":["anchors/elementConditionEvaluator.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_protocol","require","_anchorChangeTicker","_elementTapMonitor","_elementTargetMatch","_resolveElementTargets","_resolveManualAnchorId","MAX_MEASURED_HOSTS","MEASURE_TIMEOUT_MS","createElementConditionEvaluator","warn","message","__DEV__","console","warnedConditionIds","Set","warnOnce","conditionId","has","add","condition","report","context","elementState","trackPresence","trackClick","id","generation","reportedGeneration","measuring","changedWhileMeasuring","disposed","evaluate","gen","resolution","resolveElementTargets","selector","status","silent","warnUnknown","measureVisibility","targets","catch","then","visibility","present","unsubscribe","anchorChangeTicker","subscribe","clickSelectorUsable","valueWhenOccurred","previousIsTrue","latched","stopWatchingResolution","type","reportUnclickedOnceResolvable","subscription","latch","immediate","elementTapMonitor","tap","tapMayHitSelector","matched","find","target","fiber","fiberIsUnder","targetFiber","tapPathDisabled","anchorId","resolveManualAnchorId","css","capturedHost","fiberBearingAnchorId","decodeMobileAutoData","autoData","fingerprint","slice","measured","Promise","all","map","measureHost","some","size","width","height","includes","length","resolve","settled","finish","value","clearTimeout","timer","setTimeout","host","measureInWindow","_x","_y"],"sourceRoot":"../../../src","sources":["anchors/elementConditionEvaluator.ts"],"mappings":"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","ignoreList":[]}
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.elementTapMonitor = exports.ElementTapMonitor = void 0;
7
+ var _gestureHandlerHandoff = require("./gestureHandlerHandoff.js");
7
8
  var _targetPressMonitor = require("./targetPressMonitor.js");
8
9
  /**
9
10
  * Pass-through tap observation for ELEMENT CLICK / NOT_CLICK conditions.
@@ -13,6 +14,9 @@ var _targetPressMonitor = require("./targetPressMonitor.js");
13
14
  * tooltip target-press monitor uses. The host fiber is the one captured at
14
15
  * touch start, before the press's setState commits a new tree.
15
16
  *
17
+ * A touch that gesture-handler cancels is handed off instead of dropped: the
18
+ * same fiber is emitted if that handler later ends as a tap.
19
+ *
16
20
  * With no subscribers the monitor stores nothing, so the bridge can skip the
17
21
  * fiber lookup entirely.
18
22
  */
@@ -20,6 +24,7 @@ var _targetPressMonitor = require("./targetPressMonitor.js");
20
24
  class ElementTapMonitor {
21
25
  listeners = new Set();
22
26
  touchStarts = new Map();
27
+ handoffStops = new Map();
23
28
  get subscriberCount() {
24
29
  return this.listeners.size;
25
30
  }
@@ -29,9 +34,23 @@ class ElementTapMonitor {
29
34
  this.listeners.delete(listener);
30
35
  if (this.listeners.size === 0) {
31
36
  this.touchStarts.clear();
37
+ this.dropHandoffs();
32
38
  }
33
39
  };
34
40
  }
41
+
42
+ /** Fingers with a recorded start that have not ended, cancelled, or been handed off. */
43
+ inProgressIdentifiers() {
44
+ return [...this.touchStarts.keys()];
45
+ }
46
+ hasTouch(identifier) {
47
+ return this.touchStarts.has(identifier);
48
+ }
49
+
50
+ /** Fiber captured at touch start, or null when this finger is not in progress. */
51
+ startFiber(identifier) {
52
+ return this.touchStarts.get(identifier)?.targetFiber ?? null;
53
+ }
35
54
  handleTouchStart(identifier, pageX, pageY, targetFiber) {
36
55
  if (this.listeners.size === 0) {
37
56
  this.touchStarts.clear();
@@ -56,33 +75,69 @@ class ElementTapMonitor {
56
75
  pageX,
57
76
  pageY
58
77
  })) return;
59
- const tap = {
60
- targetFiber: start.targetFiber
61
- };
62
- for (const listener of this.listeners) {
63
- // One condition's failure must not cost the others this tap, or abort
64
- // the bridge's handling of the event's remaining touches.
65
- try {
66
- listener(tap);
67
- } catch {
68
- // The condition stays at its current value.
69
- }
70
- }
78
+ this.emit(start.targetFiber);
79
+ }
80
+
81
+ /**
82
+ * Gesture-handler cancelled this finger. Forget the RN touch and emit the
83
+ * start fiber if that handler later ends as a tap. A start with no fiber
84
+ * cannot latch, so it is dropped.
85
+ */
86
+ handOffTouch(identifier, handlerTags) {
87
+ const start = this.touchStarts.get(identifier);
88
+ if (!start) return;
89
+ this.touchStarts.delete(identifier);
90
+ this.handoffStops.get(identifier)?.();
91
+ if (!start.targetFiber || handlerTags.length === 0 || this.listeners.size === 0) return;
92
+ const fiber = start.targetFiber;
93
+ const stop = _gestureHandlerHandoff.gestureHandlerHandoff.track({
94
+ identifier,
95
+ pageX: start.pageX,
96
+ pageY: start.pageY,
97
+ handlerTags,
98
+ onResolve: () => this.emit(fiber)
99
+ });
100
+ this.handoffStops.set(identifier, () => {
101
+ stop();
102
+ this.handoffStops.delete(identifier);
103
+ });
71
104
  }
72
105
 
73
106
  /** Drop in-progress gesture(s). Omit `identifier` to clear every finger. */
74
107
  cancelTouch(identifier) {
75
108
  if (identifier == null) {
76
109
  this.touchStarts.clear();
110
+ this.dropHandoffs();
77
111
  return;
78
112
  }
79
113
  this.touchStarts.delete(identifier);
114
+ this.handoffStops.get(identifier)?.();
80
115
  }
81
116
 
82
117
  /** Test helper. */
83
118
  resetForTests() {
84
119
  this.listeners.clear();
85
120
  this.touchStarts.clear();
121
+ this.dropHandoffs();
122
+ }
123
+ emit(targetFiber) {
124
+ if (this.listeners.size === 0) return;
125
+ const tap = {
126
+ targetFiber
127
+ };
128
+ for (const listener of this.listeners) {
129
+ // One condition's failure must not cost the others this tap, or abort
130
+ // the bridge's handling of the event's remaining touches.
131
+ try {
132
+ listener(tap);
133
+ } catch {
134
+ // The condition stays at its current value.
135
+ }
136
+ }
137
+ }
138
+ dropHandoffs() {
139
+ for (const stop of this.handoffStops.values()) stop();
140
+ this.handoffStops.clear();
86
141
  }
87
142
  }
88
143
 
@@ -1 +1 @@
1
- {"version":3,"names":["_targetPressMonitor","require","ElementTapMonitor","listeners","Set","touchStarts","Map","subscriberCount","size","subscribe","listener","add","delete","clear","handleTouchStart","identifier","pageX","pageY","targetFiber","set","handleTouchEnd","start","get","withinTapSlop","tap","cancelTouch","resetForTests","exports","elementTapMonitor"],"sourceRoot":"../../../src","sources":["anchors/elementTapMonitor.ts"],"mappings":";;;;;;AAYA,IAAAA,mBAAA,GAAAC,OAAA;AAZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAcO,MAAMC,iBAAiB,CAAC;EACZC,SAAS,GAAG,IAAIC,GAAG,CAAqB,CAAC;EACzCC,WAAW,GAAG,IAAIC,GAAG,CAA8B,CAAC;EAErE,IAAIC,eAAeA,CAAA,EAAW;IAC5B,OAAO,IAAI,CAACJ,SAAS,CAACK,IAAI;EAC5B;EAEAC,SAASA,CAACC,QAA4B,EAAc;IAClD,IAAI,CAACP,SAAS,CAACQ,GAAG,CAACD,QAAQ,CAAC;IAC5B,OAAO,MAAM;MACX,IAAI,CAACP,SAAS,CAACS,MAAM,CAACF,QAAQ,CAAC;MAC/B,IAAI,IAAI,CAACP,SAAS,CAACK,IAAI,KAAK,CAAC,EAAE;QAC7B,IAAI,CAACH,WAAW,CAACQ,KAAK,CAAC,CAAC;MAC1B;IACF,CAAC;EACH;EAEAC,gBAAgBA,CACdC,UAA2B,EAC3BC,KAAa,EACbC,KAAa,EACbC,WAA4B,EACtB;IACN,IAAI,IAAI,CAACf,SAAS,CAACK,IAAI,KAAK,CAAC,EAAE;MAC7B,IAAI,CAACH,WAAW,CAACQ,KAAK,CAAC,CAAC;MACxB;IACF;IACA,IAAI,CAACR,WAAW,CAACc,GAAG,CAACJ,UAAU,EAAE;MAAEC,KAAK;MAAEC,KAAK;MAAEC;IAAY,CAAC,CAAC;EACjE;;EAEA;AACF;AACA;AACA;EACEE,cAAcA,CAACL,UAA2B,EAAEC,KAAa,EAAEC,KAAa,EAAQ;IAC9E,MAAMI,KAAK,GAAG,IAAI,CAAChB,WAAW,CAACiB,GAAG,CAACP,UAAU,CAAC,IAAI,IAAI;IACtD,IAAI,CAACV,WAAW,CAACO,MAAM,CAACG,UAAU,CAAC;IACnC,IAAI,CAACM,KAAK,IAAI,IAAI,CAAClB,SAAS,CAACK,IAAI,KAAK,CAAC,IAAI,CAACa,KAAK,CAACH,WAAW,EAAE;IAC/D,IAAI,CAAC,IAAAK,iCAAa,EAACF,KAAK,EAAE;MAAEL,KAAK;MAAEC;IAAM,CAAC,CAAC,EAAE;IAE7C,MAAMO,GAAe,GAAG;MAAEN,WAAW,EAAEG,KAAK,CAACH;IAAY,CAAC;IAC1D,KAAK,MAAMR,QAAQ,IAAI,IAAI,CAACP,SAAS,EAAE;MACrC;MACA;MACA,IAAI;QACFO,QAAQ,CAACc,GAAG,CAAC;MACf,CAAC,CAAC,MAAM;QACN;MAAA;IAEJ;EACF;;EAEA;EACAC,WAAWA,CAACV,UAA4B,EAAQ;IAC9C,IAAIA,UAAU,IAAI,IAAI,EAAE;MACtB,IAAI,CAACV,WAAW,CAACQ,KAAK,CAAC,CAAC;MACxB;IACF;IACA,IAAI,CAACR,WAAW,CAACO,MAAM,CAACG,UAAU,CAAC;EACrC;;EAEA;EACAW,aAAaA,CAAA,EAAS;IACpB,IAAI,CAACvB,SAAS,CAACU,KAAK,CAAC,CAAC;IACtB,IAAI,CAACR,WAAW,CAACQ,KAAK,CAAC,CAAC;EAC1B;AACF;;AAEA;AAAAc,OAAA,CAAAzB,iBAAA,GAAAA,iBAAA;AACO,MAAM0B,iBAAiB,GAAAD,OAAA,CAAAC,iBAAA,GAAG,IAAI1B,iBAAiB,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_gestureHandlerHandoff","require","_targetPressMonitor","ElementTapMonitor","listeners","Set","touchStarts","Map","handoffStops","subscriberCount","size","subscribe","listener","add","delete","clear","dropHandoffs","inProgressIdentifiers","keys","hasTouch","identifier","has","startFiber","get","targetFiber","handleTouchStart","pageX","pageY","set","handleTouchEnd","start","withinTapSlop","emit","handOffTouch","handlerTags","length","fiber","stop","gestureHandlerHandoff","track","onResolve","cancelTouch","resetForTests","tap","values","exports","elementTapMonitor"],"sourceRoot":"../../../src","sources":["anchors/elementTapMonitor.ts"],"mappings":"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","ignoreList":[]}
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.anchorIdsAboveTap = anchorIdsAboveTap;
7
+ exports.fiberBearingAnchorId = fiberBearingAnchorId;
7
8
  exports.fiberIsUnder = fiberIsUnder;
8
9
  exports.sameFiber = sameFiber;
9
10
  exports.tapPathDisabled = tapPathDisabled;
@@ -26,18 +27,43 @@ function anchorIdsAboveTap(tap) {
26
27
  const ids = new Set();
27
28
  let current = tap.targetFiber;
28
29
  for (let depth = 0; current && depth < _fiberInternals.MAX_ANCESTOR_WALK; depth += 1) {
29
- const props = (0, _fiberInternals.getMemoizedProps)(current);
30
- if (props) {
31
- for (const tier of _findAnchorFiber.ANCHOR_PROP_TIERS) {
32
- const value = props[tier];
33
- if (typeof value === 'string') ids.add(value);
34
- }
35
- }
30
+ collectAnchorIds(current, ids);
36
31
  current = (0, _fiberInternals.getReturn)(current);
37
32
  }
38
33
  anchorIdsByTap.set(tap, ids);
39
34
  return ids;
40
35
  }
36
+
37
+ /**
38
+ * The fiber on `start` (or an ancestor) that carries `anchorId`.
39
+ *
40
+ * The touch-start fiber is kept after the press navigates away, so a click can
41
+ * still match when a live scan of the new screen no longer finds the id.
42
+ */
43
+ function fiberBearingAnchorId(start, anchorId) {
44
+ let current = start;
45
+ for (let depth = 0; current && depth < _fiberInternals.MAX_ANCESTOR_WALK; depth += 1) {
46
+ if (fiberHasAnchorId(current, anchorId)) return current;
47
+ current = (0, _fiberInternals.getReturn)(current);
48
+ }
49
+ return null;
50
+ }
51
+ function fiberHasAnchorId(fiber, anchorId) {
52
+ const props = (0, _fiberInternals.getMemoizedProps)(fiber);
53
+ if (!props) return false;
54
+ for (const tier of _findAnchorFiber.ANCHOR_PROP_TIERS) {
55
+ if (props[tier] === anchorId) return true;
56
+ }
57
+ return false;
58
+ }
59
+ function collectAnchorIds(fiber, ids) {
60
+ const props = (0, _fiberInternals.getMemoizedProps)(fiber);
61
+ if (!props) return;
62
+ for (const tier of _findAnchorFiber.ANCHOR_PROP_TIERS) {
63
+ const value = props[tier];
64
+ if (typeof value === 'string') ids.add(value);
65
+ }
66
+ }
41
67
  function sameFiber(a, b) {
42
68
  if (a == null || b == null) return false;
43
69
  if (a === b) return true;
@@ -1 +1 @@
1
- {"version":3,"names":["_fiberInternals","require","_findAnchorFiber","anchorIdsByTap","WeakMap","anchorIdsAboveTap","tap","cached","get","ids","Set","current","targetFiber","depth","MAX_ANCESTOR_WALK","props","getMemoizedProps","tier","ANCHOR_PROP_TIERS","value","add","getReturn","set","sameFiber","a","b","aAlt","getAlternate","bAlt","fiberIsUnder","node","host","fiberDisabled","fiber","getLiveHostProps","disabled","state","accessibilityState","tapPathDisabled","tapped"],"sourceRoot":"../../../src","sources":["anchors/elementTargetMatch.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_fiberInternals","require","_findAnchorFiber","anchorIdsByTap","WeakMap","anchorIdsAboveTap","tap","cached","get","ids","Set","current","targetFiber","depth","MAX_ANCESTOR_WALK","collectAnchorIds","getReturn","set","fiberBearingAnchorId","start","anchorId","fiberHasAnchorId","fiber","props","getMemoizedProps","tier","ANCHOR_PROP_TIERS","value","add","sameFiber","a","b","aAlt","getAlternate","bAlt","fiberIsUnder","node","host","fiberDisabled","getLiveHostProps","disabled","state","accessibilityState","tapPathDisabled","tapped"],"sourceRoot":"../../../src","sources":["anchors/elementTargetMatch.ts"],"mappings":"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","ignoreList":[]}
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.MAX_ANCESTOR_WALK = void 0;
7
7
  exports.coerceToFiber = coerceToFiber;
8
+ exports.createCurrentFiberResolver = createCurrentFiberResolver;
8
9
  exports.fiberFromPublicInstance = fiberFromPublicInstance;
9
10
  exports.getAlternate = getAlternate;
10
11
  exports.getChild = getChild;
@@ -296,6 +297,71 @@ function resolveCurrentFiber(fiber) {
296
297
  }
297
298
  return fiber;
298
299
  }
300
+
301
+ /** Where a fiber sits: its tree's current fiber, and whether it is under it. */
302
+
303
+ /**
304
+ * {@link resolveCurrentFiber} for many fibers in one synchronous pass. Where
305
+ * each ancestor sits is remembered, so the pass walks every ancestor once
306
+ * instead of once per fiber below it. Discard it when the pass ends: a render
307
+ * moves `return` pointers.
308
+ */
309
+ function createCurrentFiberResolver() {
310
+ const placeOf = new Map();
311
+ const locate = fiber => {
312
+ const path = [];
313
+ let above = null;
314
+ let cur = fiber;
315
+ for (let depth = 0; cur && depth < MAX_ANCESTOR_WALK; depth += 1) {
316
+ const known = placeOf.get(cur);
317
+ if (known !== undefined) {
318
+ above = known;
319
+ break;
320
+ }
321
+ path.push(cur);
322
+ // Only a HostRoot (or a detached fiber) has no parent, so the tag is
323
+ // read once, at the top, not at every step.
324
+ const parent = getReturn(cur);
325
+ if (!parent) {
326
+ const rootState = getFiberTag(cur) === HOST_ROOT_TAG ? getStateNode(cur) : null;
327
+ above = rootState?.current ? {
328
+ current: rootState.current,
329
+ inTree: false
330
+ } : null;
331
+ break;
332
+ }
333
+ cur = parent;
334
+ }
335
+ // Top down: a fiber is in the current tree when the current fiber is it
336
+ // or one of its ancestors.
337
+ let place = above;
338
+ for (let i = path.length - 1; i >= 0; i -= 1) {
339
+ if (place && !place.inTree && path[i] === place.current) {
340
+ place = {
341
+ current: place.current,
342
+ inTree: true
343
+ };
344
+ }
345
+ placeOf.set(path[i], place);
346
+ }
347
+ return place;
348
+ };
349
+ return fiber => {
350
+ if (!fiber) return fiber;
351
+ try {
352
+ const alternate = getAlternate(fiber);
353
+ if (!alternate) return fiber;
354
+ const own = locate(fiber);
355
+ if (!own || own.inTree) return fiber;
356
+ const other = locate(alternate);
357
+ // Two trees for one pair only happens on a corrupt graph.
358
+ if (!other || other.current !== own.current) return resolveCurrentFiber(fiber);
359
+ return other.inTree ? alternate : fiber;
360
+ } catch {
361
+ return fiber;
362
+ }
363
+ };
364
+ }
299
365
  function isInTree(fiber, root) {
300
366
  let cur = fiber;
301
367
  for (let depth = 0; cur && depth < MAX_ANCESTOR_WALK; depth += 1) {
@@ -1 +1 @@
1
- {"version":3,"names":["HOST_COMPONENT_TAG","HOST_ROOT_TAG","MAX_ANCESTOR_WALK","exports","HOST_STATE_NODE_KEYS","getChild","fiber","child","getSibling","sibling","getReturn","return","getAlternate","alternate","getMemoizedProps","p","memoizedProps","undefined","MAX_REACT_FIBER_TAG","FIBER_STRUCTURAL_KEYS","looksLikeHostNode","value","v","__nativeTag","_nativeTag","isReactFiber","tag","Number","isInteger","some","key","coerceToFiber","candidates","canonical","internalInstanceHandle","_internalInstanceHandle","candidate","nativeTagFromNode","nativeTag","isFinite","nativeTagFromHostFiber","getStateNode","publicInstanceFromHostFiber","node","n","pub","publicInstance","measureInWindow","measure","getLiveHostProps","memo","current","currentProps","stateNode","getFiberTag","t","getHostTypeName","type","isHostFiber","k","measureLayout","INSTANCE_FIBER_KEYS","fiberFromPublicInstance","instance","inst","fromCanonical","resolveCurrentFiber","cur","depth","rootState","currentRoot","isInTree","root","isFiberMounted"],"sourceRoot":"../../../../src","sources":["anchors/fiber/fiberInternals.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["HOST_COMPONENT_TAG","HOST_ROOT_TAG","MAX_ANCESTOR_WALK","exports","HOST_STATE_NODE_KEYS","getChild","fiber","child","getSibling","sibling","getReturn","return","getAlternate","alternate","getMemoizedProps","p","memoizedProps","undefined","MAX_REACT_FIBER_TAG","FIBER_STRUCTURAL_KEYS","looksLikeHostNode","value","v","__nativeTag","_nativeTag","isReactFiber","tag","Number","isInteger","some","key","coerceToFiber","candidates","canonical","internalInstanceHandle","_internalInstanceHandle","candidate","nativeTagFromNode","nativeTag","isFinite","nativeTagFromHostFiber","getStateNode","publicInstanceFromHostFiber","node","n","pub","publicInstance","measureInWindow","measure","getLiveHostProps","memo","current","currentProps","stateNode","getFiberTag","t","getHostTypeName","type","isHostFiber","k","measureLayout","INSTANCE_FIBER_KEYS","fiberFromPublicInstance","instance","inst","fromCanonical","resolveCurrentFiber","cur","depth","rootState","currentRoot","isInTree","createCurrentFiberResolver","placeOf","Map","locate","path","above","known","get","push","parent","inTree","place","i","length","set","own","other","root","isFiberMounted"],"sourceRoot":"../../../../src","sources":["anchors/fiber/fiberInternals.ts"],"mappings":"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","ignoreList":[]}
@@ -103,13 +103,14 @@ function createLazyHostFiberIndex(build = indexLiveHostFibers) {
103
103
 
104
104
  /**
105
105
  * Fiber for a public instance: direct pointer first, then the scan-root index
106
- * by identity / native tag.
106
+ * by identity / native tag. Pass a `createCurrentFiberResolver()` resolver when
107
+ * looking up many instances in one pass.
107
108
  */
108
- function lookupHostFiber(index, instance) {
109
+ function lookupHostFiber(index, instance, resolveCurrent = _fiberInternals.resolveCurrentFiber) {
109
110
  const direct = (0, _fiberInternals.fiberFromPublicInstance)(instance);
110
111
  if (direct) {
111
112
  try {
112
- return (0, _fiberInternals.resolveCurrentFiber)(direct);
113
+ return resolveCurrent(direct);
113
114
  } catch {
114
115
  return direct;
115
116
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_FiberScanRootStore","require","_fiberInternals","MAX_INDEX_NODES","emptyHostFiberIndex","byNativeTag","Map","byInstance","WeakMap","createHostFiberIndex","root","index","stack","visited","length","fiber","pop","isHostFiber","tag","nativeTagFromHostFiber","undefined","has","set","pub","publicInstanceFromHostFiber","sibling","getSibling","push","child","getChild","indexLiveHostFibers","fiberScanRoot","getFiber","createLazyHostFiberIndex","build","cached","lookupHostFiber","instance","direct","fiberFromPublicInstance","resolveCurrentFiber","resolved","fromMap","get","nativeTagFromNode"],"sourceRoot":"../../../../src","sources":["anchors/fiber/indexHostFibers.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_FiberScanRootStore","require","_fiberInternals","MAX_INDEX_NODES","emptyHostFiberIndex","byNativeTag","Map","byInstance","WeakMap","createHostFiberIndex","root","index","stack","visited","length","fiber","pop","isHostFiber","tag","nativeTagFromHostFiber","undefined","has","set","pub","publicInstanceFromHostFiber","sibling","getSibling","push","child","getChild","indexLiveHostFibers","fiberScanRoot","getFiber","createLazyHostFiberIndex","build","cached","lookupHostFiber","instance","resolveCurrent","resolveCurrentFiber","direct","fiberFromPublicInstance","resolved","fromMap","get","nativeTagFromNode"],"sourceRoot":"../../../../src","sources":["anchors/fiber/indexHostFibers.ts"],"mappings":"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","ignoreList":[]}
@@ -21,6 +21,9 @@ var _walkVisibleFibers = require("./walkVisibleFibers.js");
21
21
 
22
22
  const MIN_SCORE = 40;
23
23
  const UNIQUENESS_MARGIN = 12;
24
+
25
+ /** Why a fiber path did not resolve. Element conditions map these differently. */
26
+
24
27
  function stringProp(value) {
25
28
  return typeof value === 'string' && value.trim() ? value.trim() : undefined;
26
29
  }
@@ -32,17 +35,13 @@ function sameFiber(a, b) {
32
35
  const alt = (0, _fiberInternals.getAlternate)(a);
33
36
  return alt != null && alt === b;
34
37
  }
35
- function liveSegment(fiber) {
38
+
39
+ /** The live segment without its text, which needs a subtree walk. */
40
+ function liveIdentity(fiber) {
36
41
  const props = (0, _fiberInternals.getLiveHostProps)(fiber);
37
42
  const role = stringProp(props?.accessibilityRole) ?? stringProp(props?.role);
38
43
  const testID = stringProp(props?.testID);
39
44
  const accessibilityLabel = stringProp(props?.accessibilityLabel) ?? stringProp(props?.['aria-label']);
40
- let text;
41
- try {
42
- text = (0, _readHostContent.readHostText)(fiber, 1);
43
- } catch {
44
- text = undefined;
45
- }
46
45
  const hostKind = (0, _fiberInternals.getHostTypeName)(fiber);
47
46
  return {
48
47
  displayName: typeof fiber?.type === 'string' ? fiber.type : '',
@@ -57,7 +56,18 @@ function liveSegment(fiber) {
57
56
  } : {}),
58
57
  ...(accessibilityLabel ? {
59
58
  accessibilityLabel
60
- } : {}),
59
+ } : {})
60
+ };
61
+ }
62
+ function liveSegment(fiber) {
63
+ let text;
64
+ try {
65
+ text = (0, _readHostContent.readHostText)(fiber, 1);
66
+ } catch {
67
+ text = undefined;
68
+ }
69
+ return {
70
+ ...liveIdentity(fiber),
61
71
  ...(text ? {
62
72
  text
63
73
  } : {})
@@ -79,7 +89,8 @@ function scoreAlignment(expected, actual) {
79
89
  let kindAligned = 0;
80
90
  for (let i = 0; i < n; i += 1) {
81
91
  const exp = expected[expected.length - 1 - i];
82
- const live = liveSegment(actual[actual.length - 1 - i]);
92
+ // Alignment never compares text, so skip the subtree walk for every ancestor.
93
+ const live = liveIdentity(actual[actual.length - 1 - i]);
83
94
  const expKind = exp.hostKind ?? exp.displayName;
84
95
  const liveKind = live.hostKind ?? live.displayName;
85
96
  if (expKind && liveKind && expKind !== liveKind) break;
@@ -92,16 +103,17 @@ function scoreAlignment(expected, actual) {
92
103
  return score + kindAligned * 6;
93
104
  }
94
105
  function scoreHost(path, fiber) {
95
- const live = liveSegment(fiber);
96
106
  const leaf = path.segments[path.segments.length - 1];
97
107
  const leafKind = leaf?.hostKind ?? path.leafKind;
98
- const liveKind = live.hostKind ?? '';
108
+ // Kind first: most hosts fail here, before any props or text are read.
109
+ const liveKind = (0, _fiberInternals.getHostTypeName)(fiber) ?? '';
99
110
  if (leafKind && liveKind && leafKind !== liveKind) {
100
111
  return {
101
112
  score: -Infinity,
102
113
  textDisagreed: false
103
114
  };
104
115
  }
116
+ const live = liveSegment(fiber);
105
117
  let score = 20;
106
118
  if (leaf?.role && live.role === leaf.role) score += 15;
107
119
  if (leaf?.testID && live.testID === leaf.testID) score += 90;
@@ -135,9 +147,9 @@ function scoreHost(path, fiber) {
135
147
  }
136
148
  function resolveScored(path, root) {
137
149
  const scored = [];
150
+ // The walk already skips covered screens, so no per-host visibility walk.
138
151
  (0, _walkVisibleFibers.walkVisibleFibers)(root, fiber => {
139
152
  if (!(0, _fiberInternals.isHostFiber)(fiber)) return;
140
- if (!(0, _visibleScreens.isFiberOnVisibleScreen)(fiber)) return;
141
153
  const {
142
154
  score,
143
155
  textDisagreed
@@ -151,7 +163,8 @@ function resolveScored(path, root) {
151
163
  scored.sort((a, b) => b.score - a.score);
152
164
  const best = scored[0];
153
165
  if (!best || best.score < MIN_SCORE) return {
154
- status: 'unknown'
166
+ status: 'unknown',
167
+ reason: 'no-match'
155
168
  };
156
169
  const second = scored[1];
157
170
  if (second && best.score - second.score < UNIQUENESS_MARGIN) return {
@@ -173,7 +186,8 @@ function resolveScored(path, root) {
173
186
  */
174
187
  function resolveFiberPath(path) {
175
188
  if (!path || path.segments.length === 0) return {
176
- status: 'unknown'
189
+ status: 'unknown',
190
+ reason: 'empty'
177
191
  };
178
192
  const leaf = path.segments[path.segments.length - 1];
179
193
  const exactId = leaf?.testID;
@@ -202,7 +216,8 @@ function resolveFiberPath(path) {
202
216
  }
203
217
  const root = _FiberScanRoot.fiberScanRoot.getFiber();
204
218
  if (!root) return {
205
- status: 'unknown'
219
+ status: 'unknown',
220
+ reason: 'no-root'
206
221
  };
207
222
  const resolved = resolveScored(path, root);
208
223
  if (resolved.status === 'found') {
@@ -1 +1 @@
1
- {"version":3,"names":["_fiberAnchorCache","require","_resolveAnchorHost","_semanticMatcher","_FiberScanRoot","_fiberInternals","_readHostContent","_visibleScreens","_walkVisibleFibers","MIN_SCORE","UNIQUENESS_MARGIN","stringProp","value","trim","undefined","cacheKey","path","JSON","stringify","sameFiber","a","b","alt","getAlternate","liveSegment","fiber","props","getLiveHostProps","role","accessibilityRole","testID","accessibilityLabel","text","readHostText","hostKind","getHostTypeName","displayName","type","ancestorsOf","chain","current","depth","MAX_ANCESTOR_WALK","isHostFiber","push","getReturn","reverse","scoreAlignment","expected","actual","n","Math","min","length","score","kindAligned","i","exp","live","expKind","liveKind","siblingIndex","scoreHost","leaf","segments","leafKind","Infinity","textDisagreed","expectedText","leafText","expectedLabel","labelDisagreed","textsAgree","ancestors","fatalText","fatalLabel","offset","kindsAlign","every","segment","index","actualKind","resolveScored","root","scored","walkVisibleFibers","isFiberOnVisibleScreen","sort","best","status","second","cacheId","resolveFiberPath","exactId","exact","resolveAnchorHost","key","cached","getCachedFiberAnchor","screenKey","getFiberAnchorScreenKey","isFiberMounted","fiberScanRoot","getFiber","resolved","setCachedFiberAnchor","fibersMatch"],"sourceRoot":"../../../../src","sources":["anchors/fiber/resolveFiberPath.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_fiberAnchorCache","require","_resolveAnchorHost","_semanticMatcher","_FiberScanRoot","_fiberInternals","_readHostContent","_visibleScreens","_walkVisibleFibers","MIN_SCORE","UNIQUENESS_MARGIN","stringProp","value","trim","undefined","cacheKey","path","JSON","stringify","sameFiber","a","b","alt","getAlternate","liveIdentity","fiber","props","getLiveHostProps","role","accessibilityRole","testID","accessibilityLabel","hostKind","getHostTypeName","displayName","type","liveSegment","text","readHostText","ancestorsOf","chain","current","depth","MAX_ANCESTOR_WALK","isHostFiber","push","getReturn","reverse","scoreAlignment","expected","actual","n","Math","min","length","score","kindAligned","i","exp","live","expKind","liveKind","siblingIndex","scoreHost","leaf","segments","leafKind","Infinity","textDisagreed","expectedText","leafText","expectedLabel","labelDisagreed","textsAgree","ancestors","fatalText","fatalLabel","offset","kindsAlign","every","segment","index","actualKind","resolveScored","root","scored","walkVisibleFibers","sort","best","status","reason","second","cacheId","resolveFiberPath","exactId","exact","resolveAnchorHost","key","cached","getCachedFiberAnchor","screenKey","getFiberAnchorScreenKey","isFiberMounted","isFiberOnVisibleScreen","fiberScanRoot","getFiber","resolved","setCachedFiberAnchor","fibersMatch"],"sourceRoot":"../../../../src","sources":["anchors/fiber/resolveFiberPath.ts"],"mappings":"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","ignoreList":[]}