@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,"file":"hostDependencyWarnings.js","sourceRoot":"","sources":["../plugin/hostDependencyWarnings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hostDependencyWarnings.js","sourceRoot":"","sources":["../plugin/hostDependencyWarnings.ts"],"names":[],"mappings":"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"}
@@ -50,6 +50,9 @@ function contentSignature(inst) {
50
50
  const parts = [inst.childText, inst.accessibilityLabel, inst.iconName, inst.imageSrc].filter(part => !!part);
51
51
  return parts.length > 0 ? parts.join('\u0000') : undefined;
52
52
  }
53
+
54
+ /** Twin evidence for one registry group, computed once per settle. */
55
+
53
56
  class AutoAnchorRegistry {
54
57
  instances = new Map();
55
58
  byRegistryKey = new Map();
@@ -58,6 +61,22 @@ class AutoAnchorRegistry {
58
61
  liveContent = new Map();
59
62
  listeners = new Set();
60
63
  notifyScheduled = false;
64
+ /** Settled {@link AutoAnchorInstance.ambiguous} verdicts by instance id. */
65
+ ambiguity = new Map();
66
+ /**
67
+ * Groups whose verdicts are out of date: `r:` registry key, `t:` template
68
+ * path, `m:` manual id. Mounting a list or reading changed row labels marks
69
+ * a group once; it is settled once, on the next read of a verdict, instead
70
+ * of being recomputed for every member that changed.
71
+ */
72
+ staleGroups = new Set();
73
+ /**
74
+ * Set instead of {@link staleGroups} once that outgrows the registry: with
75
+ * no flow or element condition reading verdicts, marks from list mounts
76
+ * would otherwise pile up for the whole session.
77
+ */
78
+ allStale = false;
79
+ settling = false;
61
80
  registerInstance(input) {
62
81
  const instanceId = mintInstanceId();
63
82
  const hints = input.hints ?? undefined;
@@ -126,6 +145,7 @@ class AutoAnchorRegistry {
126
145
  childInstanceIds: [],
127
146
  ambiguous: false
128
147
  };
148
+ this.defineAmbiguity(instance);
129
149
  this.instances.set(instanceId, instance);
130
150
  this.addIndex(this.byRegistryKey, input.registryKey, instanceId);
131
151
  this.addIndex(this.byTemplatePath, templatePath, instanceId);
@@ -136,7 +156,7 @@ class AutoAnchorRegistry {
136
156
  const parent = this.instances.get(input.parentInstanceId);
137
157
  if (parent) parent.childInstanceIds.push(instanceId);
138
158
  }
139
- this.recomputeAmbiguity(input.registryKey, templatePath, manualId);
159
+ this.markStale(instance);
140
160
  this.notify();
141
161
  return {
142
162
  instanceId,
@@ -163,7 +183,7 @@ class AutoAnchorRegistry {
163
183
  if (nextManual) inst.manualId = nextManual;else delete inst.manualId;
164
184
  }
165
185
  this.refreshManualIndexes(inst, prevIds);
166
- this.recomputeAmbiguity(inst.registryKey, inst.templatePath, inst.manualId);
186
+ this.markStale(inst, prevIds.manualId, prevIds.userflowId, prevIds.testID);
167
187
  this.notify();
168
188
  }
169
189
  getInstance(instanceId) {
@@ -224,24 +244,27 @@ class AutoAnchorRegistry {
224
244
  *
225
245
  * Direct fiber pointers are preferred; the scan-root index is built lazily
226
246
  * and only if some instance cannot reach its fiber that way (Paper release
227
- * builds, mainly), then reused for the rest of the pass.
247
+ * builds, mainly), then reused for the rest of the pass. Finding which fiber
248
+ * of each pair is committed walks to the root; the pass shares one walk per
249
+ * ancestor across every instance.
228
250
  *
229
251
  * Silent — does not notify listeners.
230
252
  */
231
253
  refreshLiveContent(instances) {
232
254
  const list = instances ?? this.allInstances();
233
255
  const getIndex = (0, _indexHostFibers.createLazyHostFiberIndex)();
256
+ const resolveCurrent = (0, _fiberInternals.createCurrentFiberResolver)();
234
257
  const seen = new Set();
235
258
  for (const inst of list) {
236
259
  if (seen.has(inst.instanceId)) continue;
237
260
  seen.add(inst.instanceId);
238
- this.refreshOneLiveContent(inst, getIndex);
261
+ this.refreshOneLiveContent(inst, getIndex, resolveCurrent);
239
262
  }
240
263
  }
241
- refreshOneLiveContent(inst, getIndex) {
264
+ refreshOneLiveContent(inst, getIndex, resolveCurrent) {
242
265
  let fiber = null;
243
266
  try {
244
- fiber = (0, _indexHostFibers.lookupHostFiber)(getIndex, inst.ref.current);
267
+ fiber = (0, _indexHostFibers.lookupHostFiber)(getIndex, inst.ref.current, resolveCurrent);
245
268
  } catch {
246
269
  fiber = null;
247
270
  }
@@ -252,12 +275,18 @@ class AutoAnchorRegistry {
252
275
  } catch {
253
276
  props = undefined;
254
277
  }
278
+
279
+ // Same committed fiber and same props object means nothing was committed
280
+ // here since the last read, so the subtree walk would return what we
281
+ // already have. A commit that re-renders this host or anything inside it
282
+ // makes the other fiber of the pair current, even when the host keeps its
283
+ // props object. Both only change at commit, unlike Fabric's
284
+ // `canonical.currentProps`, which is written during render and stays the
285
+ // same object when only a child changed. Matters because resolution polls
286
+ // this for every registered instance.
255
287
  const cached = this.liveContent.get(inst.instanceId);
256
- // Same fiber and same props object means no re-render since the last read,
257
- // so the subtree walk would return what we already have. Matters because
258
- // resolution polls this for every registered instance.
259
288
  if (cached && cached.fiber === fiber && props !== undefined && cached.props === props) {
260
- inst.childText = cached.childText;
289
+ if (cached.childText !== undefined) inst.childText = cached.childText;
261
290
  return;
262
291
  }
263
292
  if (props) this.applyLiveIdentity(inst, props);
@@ -267,21 +296,19 @@ class AutoAnchorRegistry {
267
296
  } catch {
268
297
  live = undefined;
269
298
  }
270
- if (live) {
271
- const changed = inst.childText !== live;
299
+
300
+ // A host with no readable text is cached too, so it is not walked again
301
+ // until it re-renders; its build-time hint stays.
302
+ this.liveContent.set(inst.instanceId, {
303
+ fiber,
304
+ props,
305
+ childText: live
306
+ });
307
+ if (live && inst.childText !== live) {
272
308
  inst.childText = live;
273
- this.liveContent.set(inst.instanceId, {
274
- fiber,
275
- props,
276
- childText: live
277
- });
278
309
  // Text is what separates helper-rendered twins, so the group's ambiguity
279
310
  // verdict is only trustworthy once it has been read.
280
- if (changed) this.recomputeAmbiguity(inst.registryKey, inst.templatePath, inst.manualId);
281
- return;
282
- }
283
- if (cached && cached.fiber !== fiber) {
284
- this.liveContent.delete(inst.instanceId);
311
+ this.markStale(inst);
285
312
  }
286
313
  }
287
314
 
@@ -304,7 +331,7 @@ class AutoAnchorRegistry {
304
331
  inst.manualId = liveTestID;
305
332
  }
306
333
  this.refreshManualIndexes(inst, prev);
307
- this.recomputeAmbiguity(inst.registryKey, inst.templatePath, inst.manualId);
334
+ this.markStale(inst, prev.manualId, prev.userflowId, prev.testID);
308
335
  }
309
336
  subscribe(listener) {
310
337
  this.listeners.add(listener);
@@ -340,6 +367,9 @@ class AutoAnchorRegistry {
340
367
  this.byManualId.clear();
341
368
  this.byTemplatePath.clear();
342
369
  this.liveContent.clear();
370
+ this.ambiguity.clear();
371
+ this.staleGroups.clear();
372
+ this.allStale = false;
343
373
  this.notifyScheduled = false;
344
374
  nextInstanceSeq = 1;
345
375
  }
@@ -358,12 +388,13 @@ class AutoAnchorRegistry {
358
388
  }
359
389
  this.instances.delete(instanceId);
360
390
  this.liveContent.delete(instanceId);
391
+ this.ambiguity.delete(instanceId);
361
392
  this.removeIndex(this.byRegistryKey, inst.registryKey, instanceId);
362
393
  this.removeIndex(this.byTemplatePath, inst.templatePath, instanceId);
363
394
  if (inst.manualId) this.removeIndex(this.byManualId, inst.manualId, instanceId);
364
395
  if (inst.userflowId) this.removeIndex(this.byManualId, inst.userflowId, instanceId);
365
396
  if (inst.testID) this.removeIndex(this.byManualId, inst.testID, instanceId);
366
- this.recomputeAmbiguity(inst.registryKey, inst.templatePath, inst.manualId);
397
+ this.markStale(inst);
367
398
  this.notify();
368
399
  }
369
400
  refreshManualIndexes(inst, prev) {
@@ -395,25 +426,104 @@ class AutoAnchorRegistry {
395
426
  return false;
396
427
  }
397
428
 
429
+ /**
430
+ * Back {@link AutoAnchorInstance.ambiguous} with a verdict that is settled on
431
+ * read, so callers holding an instance always see the current value.
432
+ */
433
+ defineAmbiguity(inst) {
434
+ const id = inst.instanceId;
435
+ Object.defineProperty(inst, 'ambiguous', {
436
+ configurable: true,
437
+ enumerable: true,
438
+ get: () => {
439
+ this.settleAmbiguity();
440
+ return this.ambiguity.get(id) ?? false;
441
+ },
442
+ set: value => {
443
+ this.ambiguity.set(id, value);
444
+ }
445
+ });
446
+ }
447
+
448
+ /** Every group `inst` belongs to, plus ids it was indexed under before a change. */
449
+ markStale(inst, ...previousIds) {
450
+ if (this.allStale) return;
451
+ this.staleGroups.add(`r:${inst.registryKey}`);
452
+ this.staleGroups.add(`t:${inst.templatePath}`);
453
+ for (const id of [inst.manualId, inst.userflowId, inst.testID, ...previousIds]) {
454
+ if (id) this.staleGroups.add(`m:${id}`);
455
+ }
456
+ // Settling every instance is linear in the registry, so past this size
457
+ // tracking groups no longer saves work.
458
+ if (this.staleGroups.size > this.instances.size) {
459
+ this.allStale = true;
460
+ this.staleGroups.clear();
461
+ }
462
+ }
463
+ groupIds(groupKey) {
464
+ const value = groupKey.slice(2);
465
+ if (groupKey.startsWith('r:')) return this.byRegistryKey.get(value);
466
+ if (groupKey.startsWith('t:')) return this.byTemplatePath.get(value);
467
+ return this.byManualId.get(value);
468
+ }
469
+
398
470
  /**
399
471
  * Instances sharing a template path are only twins while they look alike.
400
472
  * Four rows from one `field()` helper are indistinguishable at register time
401
473
  * and separate once their labels are read, so ambiguity is decided on
402
474
  * content, not on the shared path alone. An instance stays ambiguous when it
403
475
  * carries no content of its own, or when a peer carries the same content.
476
+ * An instance with a manual id is ambiguous only when another shares the id.
477
+ *
478
+ * Each stale group is settled once, in time linear in its size: recomputing
479
+ * a whole group for every member that changed made a list whose labels all
480
+ * changed cost the cube of its length.
404
481
  */
405
- recomputeAmbiguity(registryKey, templatePath, manualId) {
406
- const mark = list => {
407
- for (const i of list) {
408
- i.ambiguous = this.isTwinWithin(i, list) || (i.manualId ? this.getInstancesByManualId(i.manualId).length > 1 : false);
482
+ settleAmbiguity() {
483
+ if (this.staleGroups.size === 0 && !this.allStale || this.settling) return;
484
+ this.settling = true;
485
+ try {
486
+ const affected = new Set(this.allStale ? this.instances.keys() : []);
487
+ for (const groupKey of this.staleGroups) {
488
+ const ids = this.groupIds(groupKey);
489
+ if (ids) for (const id of ids) affected.add(id);
409
490
  }
410
- };
411
- mark(this.getInstancesByRegistryKey(registryKey));
412
- mark(this.getInstancesByTemplatePath(templatePath));
413
- if (manualId) {
414
- const list = this.getInstancesByManualId(manualId);
415
- for (const i of list) i.ambiguous = list.length > 1;
491
+ this.staleGroups.clear();
492
+ this.allStale = false;
493
+ const twinGroups = new Map();
494
+ for (const id of affected) {
495
+ const inst = this.instances.get(id);
496
+ if (!inst) continue;
497
+ this.ambiguity.set(id, this.computeAmbiguous(inst, twinGroups));
498
+ }
499
+ } finally {
500
+ this.settling = false;
501
+ }
502
+ }
503
+ computeAmbiguous(inst, twinGroups) {
504
+ if (inst.manualId) return (this.byManualId.get(inst.manualId)?.size ?? 0) > 1;
505
+ return this.isTwinInGroup(inst, `r:${inst.registryKey}`, twinGroups) || this.isTwinInGroup(inst, `t:${inst.templatePath}`, twinGroups);
506
+ }
507
+
508
+ /** {@link isTwinWithin} against a whole registry group, with the group's evidence memoized. */
509
+ isTwinInGroup(inst, groupKey, twinGroups) {
510
+ let group = twinGroups.get(groupKey);
511
+ if (!group) {
512
+ const members = this.idsToInstances(this.groupIds(groupKey));
513
+ const signatures = new Map();
514
+ for (const member of members) {
515
+ const sig = contentSignature(member);
516
+ if (sig) signatures.set(sig, (signatures.get(sig) ?? 0) + 1);
517
+ }
518
+ group = {
519
+ unlabelled: members.length > 1 && members.every(member => !member.manualId),
520
+ signatures
521
+ };
522
+ twinGroups.set(groupKey, group);
416
523
  }
524
+ if (!group.unlabelled) return false;
525
+ const sig = contentSignature(inst);
526
+ return !sig || (group.signatures.get(sig) ?? 0) > 1;
417
527
  }
418
528
  addIndex(map, key, instanceId) {
419
529
  let set = map.get(key);
@@ -1 +1 @@
1
- {"version":3,"names":["_fiberInternals","require","_indexHostFibers","_readHostContent","PRESSABLE_KINDS","Set","roleForKind","kind","has","nextInstanceSeq","mintInstanceId","id","toString","siblingGroupKey","inst","path","templatePath","structuralPath","idx","lastIndexOf","slice","contentSignature","parts","childText","accessibilityLabel","iconName","imageSrc","filter","part","length","join","undefined","AutoAnchorRegistry","instances","Map","byRegistryKey","byManualId","byTemplatePath","liveContent","listeners","notifyScheduled","registerInstance","input","instanceId","hints","role","ufid","registryKey","runtime","manualId","userflowId","literalUserflowId","testID","literalTestId","nativeID","startsWith","nativeId","literalLabel","instance","ref","isPressable","instanceScope","childShape","ancestors","ordinal","siblingIndex","parentInstanceId","childInstanceIds","ambiguous","set","addIndex","parent","get","push","recomputeAmbiguity","notify","dispose","unregisterInstance","updateInstance","patch","keys","Object","every","key","is","prevIds","assign","nextManual","refreshManualIndexes","getInstance","getInstancesByRegistryKey","idsToInstances","getInstancesByManualId","getInstancesByTemplatePath","allInstances","Array","from","values","orderedSiblingsIncludingSelf","group","i","sort","a","b","map","siblingWindow","windowSize","ordered","findIndex","previous","next","toDesc","text","Math","max","refreshLiveContent","list","getIndex","createLazyHostFiberIndex","seen","add","refreshOneLiveContent","fiber","lookupHostFiber","current","props","getLiveHostProps","cached","applyLiveIdentity","live","readHostPlaceholder","readHostText","changed","delete","raw","liveTestID","trim","prev","subscribe","listener","isAmbiguousKey","byKey","some","byManual","isAmbiguousAmong","include","peers","isTwinWithin","clear","childId","child","removeIndex","prevKeys","k","nextKeys","unlabelled","sig","count","peer","mark","size","out","flush","l","queueMicrotask","Promise","resolve","then","exports","autoAnchorRegistry"],"sourceRoot":"../../../src","sources":["anchors/AutoAnchorRegistry.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_fiberInternals","require","_indexHostFibers","_readHostContent","PRESSABLE_KINDS","Set","roleForKind","kind","has","nextInstanceSeq","mintInstanceId","id","toString","siblingGroupKey","inst","path","templatePath","structuralPath","idx","lastIndexOf","slice","contentSignature","parts","childText","accessibilityLabel","iconName","imageSrc","filter","part","length","join","undefined","AutoAnchorRegistry","instances","Map","byRegistryKey","byManualId","byTemplatePath","liveContent","listeners","notifyScheduled","ambiguity","staleGroups","allStale","settling","registerInstance","input","instanceId","hints","role","ufid","registryKey","runtime","manualId","userflowId","literalUserflowId","testID","literalTestId","nativeID","startsWith","nativeId","literalLabel","instance","ref","isPressable","instanceScope","childShape","ancestors","ordinal","siblingIndex","parentInstanceId","childInstanceIds","ambiguous","defineAmbiguity","set","addIndex","parent","get","push","markStale","notify","dispose","unregisterInstance","updateInstance","patch","keys","Object","every","key","is","prevIds","assign","nextManual","refreshManualIndexes","getInstance","getInstancesByRegistryKey","idsToInstances","getInstancesByManualId","getInstancesByTemplatePath","allInstances","Array","from","values","orderedSiblingsIncludingSelf","group","i","sort","a","b","map","siblingWindow","windowSize","ordered","findIndex","previous","next","toDesc","text","Math","max","refreshLiveContent","list","getIndex","createLazyHostFiberIndex","resolveCurrent","createCurrentFiberResolver","seen","add","refreshOneLiveContent","fiber","lookupHostFiber","current","props","getLiveHostProps","cached","applyLiveIdentity","live","readHostPlaceholder","readHostText","raw","liveTestID","trim","prev","subscribe","listener","delete","isAmbiguousKey","byKey","some","byManual","isAmbiguousAmong","include","peers","isTwinWithin","clear","childId","child","removeIndex","prevKeys","k","nextKeys","unlabelled","sig","count","peer","defineProperty","configurable","enumerable","settleAmbiguity","value","previousIds","size","groupIds","groupKey","affected","ids","twinGroups","computeAmbiguous","isTwinInGroup","members","signatures","member","out","flush","l","queueMicrotask","Promise","resolve","then","exports","autoAnchorRegistry"],"sourceRoot":"../../../src","sources":["anchors/AutoAnchorRegistry.ts"],"mappings":"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","ignoreList":[]}
@@ -7,14 +7,22 @@ exports.addAnimationFrameCallback = addAnimationFrameCallback;
7
7
  exports.animationFrameSubscriberCount = animationFrameSubscriberCount;
8
8
  exports.removeAnimationFrameCallback = removeAnimationFrameCallback;
9
9
  exports.resetAnimationFrameForTests = resetAnimationFrameForTests;
10
+ var _appActive = require("./appActive.js");
10
11
  /**
11
12
  * Shared requestAnimationFrame hub so multiple surfaces never stack loops.
12
13
  * Mirrors web userflowjs `util/animation-frame.tsx`.
14
+ *
15
+ * Paused while the app is not active. In bridgeless React Native,
16
+ * `requestAnimationFrame` is a 0 ms timer, and once the app is backgrounded
17
+ * iOS fires timers from an NSTimer instead of the display link, so a loop that
18
+ * kept going would spin as fast as the JS thread allows.
13
19
  */
14
20
 
15
21
  const callbacks = [];
16
22
  let rafHandle = null;
17
23
  let active = false;
24
+ let appActive = true;
25
+ let unsubscribeAppActive = null;
18
26
 
19
27
  /**
20
28
  * `callback` runs on every animation frame. Starts the shared loop when the
@@ -25,6 +33,7 @@ function addAnimationFrameCallback(callback) {
25
33
  callbacks.push(callback);
26
34
  if (callbacks.length === 1) {
27
35
  active = true;
36
+ watchAppState();
28
37
  requestNext();
29
38
  }
30
39
  }
@@ -40,6 +49,7 @@ function removeAnimationFrameCallback(callback) {
40
49
  if (callbacks.length === 0) {
41
50
  active = false;
42
51
  cancelPending();
52
+ unwatchAppState();
43
53
  }
44
54
  }
45
55
 
@@ -48,6 +58,7 @@ function resetAnimationFrameForTests() {
48
58
  callbacks.length = 0;
49
59
  active = false;
50
60
  cancelPending();
61
+ unwatchAppState();
51
62
  }
52
63
 
53
64
  /** Test helper — number of active subscribers. */
@@ -67,8 +78,25 @@ function onAnimationFrame() {
67
78
  }
68
79
  requestNext();
69
80
  }
81
+ function watchAppState() {
82
+ if (unsubscribeAppActive) return;
83
+ appActive = (0, _appActive.isAppActive)();
84
+ unsubscribeAppActive = (0, _appActive.subscribeAppActive)(next => {
85
+ appActive = next;
86
+ if (!next) {
87
+ cancelPending();
88
+ } else if (rafHandle == null) {
89
+ requestNext();
90
+ }
91
+ });
92
+ }
93
+ function unwatchAppState() {
94
+ unsubscribeAppActive?.();
95
+ unsubscribeAppActive = null;
96
+ appActive = true;
97
+ }
70
98
  function requestNext() {
71
- if (!active) return;
99
+ if (!active || !appActive) return;
72
100
  const raf = typeof globalThis.requestAnimationFrame === 'function' ? globalThis.requestAnimationFrame.bind(globalThis) : null;
73
101
  if (raf) {
74
102
  rafHandle = raf(onAnimationFrame);
@@ -1 +1 @@
1
- {"version":3,"names":["callbacks","rafHandle","active","addAnimationFrameCallback","callback","includes","push","length","requestNext","removeAnimationFrameCallback","idx","indexOf","splice","cancelPending","resetAnimationFrameForTests","animationFrameSubscriberCount","onAnimationFrame","snapshot","slice","raf","globalThis","requestAnimationFrame","bind","setTimeout","cancelAnimationFrame","clearTimeout"],"sourceRoot":"../../../src","sources":["anchors/animationFrame.ts"],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;;AAIA,MAAMA,SAAqB,GAAG,EAAE;AAChC,IAAIC,SAAwD,GAAG,IAAI;AACnE,IAAIC,MAAM,GAAG,KAAK;;AAElB;AACA;AACA;AACA;AACO,SAASC,yBAAyBA,CAACC,QAAkB,EAAQ;EAClE,IAAIJ,SAAS,CAACK,QAAQ,CAACD,QAAQ,CAAC,EAAE;EAClCJ,SAAS,CAACM,IAAI,CAACF,QAAQ,CAAC;EACxB,IAAIJ,SAAS,CAACO,MAAM,KAAK,CAAC,EAAE;IAC1BL,MAAM,GAAG,IAAI;IACbM,WAAW,CAAC,CAAC;EACf;AACF;;AAEA;AACA;AACA;AACA;AACO,SAASC,4BAA4BA,CAACL,QAAkB,EAAQ;EACrE,MAAMM,GAAG,GAAGV,SAAS,CAACW,OAAO,CAACP,QAAQ,CAAC;EACvC,IAAIM,GAAG,GAAG,CAAC,EAAE;EACbV,SAAS,CAACY,MAAM,CAACF,GAAG,EAAE,CAAC,CAAC;EACxB,IAAIV,SAAS,CAACO,MAAM,KAAK,CAAC,EAAE;IAC1BL,MAAM,GAAG,KAAK;IACdW,aAAa,CAAC,CAAC;EACjB;AACF;;AAEA;AACO,SAASC,2BAA2BA,CAAA,EAAS;EAClDd,SAAS,CAACO,MAAM,GAAG,CAAC;EACpBL,MAAM,GAAG,KAAK;EACdW,aAAa,CAAC,CAAC;AACjB;;AAEA;AACO,SAASE,6BAA6BA,CAAA,EAAW;EACtD,OAAOf,SAAS,CAACO,MAAM;AACzB;AAEA,SAASS,gBAAgBA,CAAA,EAAS;EAChCf,SAAS,GAAG,IAAI;EAChB;EACA,MAAMgB,QAAQ,GAAGjB,SAAS,CAACkB,KAAK,CAAC,CAAC;EAClC,KAAK,MAAMd,QAAQ,IAAIa,QAAQ,EAAE;IAC/B,IAAI;MACFb,QAAQ,CAAC,CAAC;IACZ,CAAC,CAAC,MAAM;MACN;IAAA;EAEJ;EACAI,WAAW,CAAC,CAAC;AACf;AAEA,SAASA,WAAWA,CAAA,EAAS;EAC3B,IAAI,CAACN,MAAM,EAAE;EACb,MAAMiB,GAAG,GACP,OAAOC,UAAU,CAACC,qBAAqB,KAAK,UAAU,GAClDD,UAAU,CAACC,qBAAqB,CAACC,IAAI,CAACF,UAAU,CAAC,GACjD,IAAI;EACV,IAAID,GAAG,EAAE;IACPlB,SAAS,GAAGkB,GAAG,CAACH,gBAAgB,CAAC;EACnC,CAAC,MAAM;IACL;IACA;IACAf,SAAS,GAAGsB,UAAU,CAACP,gBAAgB,EAAE,EAAE,CAAC;EAC9C;AACF;AAEA,SAASH,aAAaA,CAAA,EAAS;EAC7B,IAAIZ,SAAS,IAAI,IAAI,EAAE;EACvB,IAAI,OAAOmB,UAAU,CAACI,oBAAoB,KAAK,UAAU,IAAI,OAAOvB,SAAS,KAAK,QAAQ,EAAE;IAC1FmB,UAAU,CAACI,oBAAoB,CAACvB,SAAS,CAAC;EAC5C,CAAC,MAAM;IACLwB,YAAY,CAACxB,SAA0C,CAAC;EAC1D;EACAA,SAAS,GAAG,IAAI;AAClB","ignoreList":[]}
1
+ {"version":3,"names":["_appActive","require","callbacks","rafHandle","active","appActive","unsubscribeAppActive","addAnimationFrameCallback","callback","includes","push","length","watchAppState","requestNext","removeAnimationFrameCallback","idx","indexOf","splice","cancelPending","unwatchAppState","resetAnimationFrameForTests","animationFrameSubscriberCount","onAnimationFrame","snapshot","slice","isAppActive","subscribeAppActive","next","raf","globalThis","requestAnimationFrame","bind","setTimeout","cancelAnimationFrame","clearTimeout"],"sourceRoot":"../../../src","sources":["anchors/animationFrame.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.isAppActive = isAppActive;
7
+ exports.subscribeAppActive = subscribeAppActive;
8
+ var _reactNative = require("react-native");
9
+ /**
10
+ * Foreground signal for the anchoring loops (animation-frame tracking and the
11
+ * tooltip target search).
12
+ *
13
+ * Anything other than `background` / `inactive` counts as active, including
14
+ * `unknown` before the first native report. Hosts or test doubles without
15
+ * `AppState` always read as active and never notify.
16
+ */
17
+
18
+ function appState() {
19
+ const candidate = _reactNative.AppState;
20
+ return candidate && typeof candidate === 'object' ? candidate : null;
21
+ }
22
+ function isActiveState(state) {
23
+ return state !== 'background' && state !== 'inactive';
24
+ }
25
+
26
+ /** Whether the app is in the foreground right now. */
27
+ function isAppActive() {
28
+ try {
29
+ return isActiveState(appState()?.currentState);
30
+ } catch {
31
+ return true;
32
+ }
33
+ }
34
+
35
+ /**
36
+ * `listener(active)` runs when the app moves between foreground and anything
37
+ * else. Repeated reports of the same side are dropped. Returns an unsubscribe.
38
+ */
39
+ function subscribeAppActive(listener) {
40
+ const state = appState();
41
+ if (!state || typeof state.addEventListener !== 'function') return () => {};
42
+ let active = isAppActive();
43
+ try {
44
+ const subscription = state.addEventListener('change', next => {
45
+ const nextActive = isActiveState(next);
46
+ if (nextActive === active) return;
47
+ active = nextActive;
48
+ listener(nextActive);
49
+ });
50
+ return () => {
51
+ try {
52
+ subscription?.remove();
53
+ } catch {
54
+ // Teardown is best-effort.
55
+ }
56
+ };
57
+ } catch {
58
+ return () => {};
59
+ }
60
+ }
61
+ //# sourceMappingURL=appActive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","appState","candidate","AppState","isActiveState","state","isAppActive","currentState","subscribeAppActive","listener","addEventListener","active","subscription","next","nextActive","remove"],"sourceRoot":"../../../src","sources":["anchors/appActive.ts"],"mappings":";;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAUA,SAASC,QAAQA,CAAA,EAAwB;EACvC,MAAMC,SAAS,GAAGC,qBAAoC;EACtD,OAAOD,SAAS,IAAI,OAAOA,SAAS,KAAK,QAAQ,GAAGA,SAAS,GAAG,IAAI;AACtE;AAEA,SAASE,aAAaA,CAACC,KAAc,EAAW;EAC9C,OAAOA,KAAK,KAAK,YAAY,IAAIA,KAAK,KAAK,UAAU;AACvD;;AAEA;AACO,SAASC,WAAWA,CAAA,EAAY;EACrC,IAAI;IACF,OAAOF,aAAa,CAACH,QAAQ,CAAC,CAAC,EAAEM,YAAY,CAAC;EAChD,CAAC,CAAC,MAAM;IACN,OAAO,IAAI;EACb;AACF;;AAEA;AACA;AACA;AACA;AACO,SAASC,kBAAkBA,CAACC,QAAmC,EAAc;EAClF,MAAMJ,KAAK,GAAGJ,QAAQ,CAAC,CAAC;EACxB,IAAI,CAACI,KAAK,IAAI,OAAOA,KAAK,CAACK,gBAAgB,KAAK,UAAU,EAAE,OAAO,MAAM,CAAC,CAAC;EAC3E,IAAIC,MAAM,GAAGL,WAAW,CAAC,CAAC;EAC1B,IAAI;IACF,MAAMM,YAAY,GAAGP,KAAK,CAACK,gBAAgB,CAAC,QAAQ,EAAGG,IAAI,IAAK;MAC9D,MAAMC,UAAU,GAAGV,aAAa,CAACS,IAAI,CAAC;MACtC,IAAIC,UAAU,KAAKH,MAAM,EAAE;MAC3BA,MAAM,GAAGG,UAAU;MACnBL,QAAQ,CAACK,UAAU,CAAC;IACtB,CAAC,CAAC;IACF,OAAO,MAAM;MACX,IAAI;QACFF,YAAY,EAAEG,MAAM,CAAC,CAAC;MACxB,CAAC,CAAC,MAAM;QACN;MAAA;IAEJ,CAAC;EACH,CAAC,CAAC,MAAM;IACN,OAAO,MAAM,CAAC,CAAC;EACjB;AACF","ignoreList":[]}
@@ -152,20 +152,37 @@ function trackClick(condition, elementState, report, context, warnOnce) {
152
152
  const subscription = {
153
153
  unsubscribe: () => {}
154
154
  };
155
- subscription.unsubscribe = _elementTapMonitor.elementTapMonitor.subscribe(tap => {
156
- if (latched) return;
157
- if (!(0, _resolveElementTargets.tapMayHitSelector)(condition.selector, tap)) return;
158
- const resolution = (0, _resolveElementTargets.resolveElementTargets)(condition.selector);
159
- if (resolution.status !== 'found') return;
160
- const matched = resolution.targets.find(target => target.fiber != null && (0, _elementTargetMatch.fiberIsUnder)(tap.targetFiber, target.fiber));
161
- if (!matched?.fiber) return;
162
- if ((0, _elementTargetMatch.tapPathDisabled)(tap.targetFiber, matched.fiber)) return;
155
+ const latch = () => {
163
156
  latched = true;
164
157
  report(valueWhenOccurred, {
165
158
  immediate: true
166
159
  });
167
160
  subscription.unsubscribe();
168
161
  stopWatchingResolution();
162
+ };
163
+ subscription.unsubscribe = _elementTapMonitor.elementTapMonitor.subscribe(tap => {
164
+ if (latched) return;
165
+ if (!(0, _resolveElementTargets.tapMayHitSelector)(condition.selector, tap)) return;
166
+ const resolution = (0, _resolveElementTargets.resolveElementTargets)(condition.selector);
167
+ if (resolution.status === 'found') {
168
+ const matched = resolution.targets.find(target => target.fiber != null && (0, _elementTargetMatch.fiberIsUnder)(tap.targetFiber, target.fiber));
169
+ if (!matched?.fiber) return;
170
+ if ((0, _elementTargetMatch.tapPathDisabled)(tap.targetFiber, matched.fiber)) return;
171
+ latch();
172
+ return;
173
+ }
174
+
175
+ // The press may already have navigated away, so the live scan is absent.
176
+ // The fiber captured at touch start still carries the manual id. This is
177
+ // only the fallback: a target that is still on screen keeps the registry
178
+ // and prop-tier precedence of the live scan.
179
+ if (resolution.status !== 'absent') return;
180
+ if (condition.selector?.type === 'AUTO') return;
181
+ const anchorId = (0, _resolveManualAnchorId.resolveManualAnchorId)(condition.selector?.css);
182
+ const capturedHost = anchorId ? (0, _elementTargetMatch.fiberBearingAnchorId)(tap.targetFiber, anchorId) : null;
183
+ if (!capturedHost) return;
184
+ if ((0, _elementTargetMatch.tapPathDisabled)(tap.targetFiber, capturedHost)) return;
185
+ latch();
169
186
  });
170
187
  return () => {
171
188
  subscription.unsubscribe();