@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":["getLiveHostProps","createLazyHostFiberIndex","lookupHostFiber","readHostPlaceholder","readHostText","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","seen","add","refreshOneLiveContent","fiber","current","props","cached","applyLiveIdentity","live","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","autoAnchorRegistry"],"sourceRoot":"../../../src","sources":["anchors/AutoAnchorRegistry.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createCurrentFiberResolver","getLiveHostProps","createLazyHostFiberIndex","lookupHostFiber","readHostPlaceholder","readHostText","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","resolveCurrent","seen","add","refreshOneLiveContent","fiber","current","props","cached","applyLiveIdentity","live","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","autoAnchorRegistry"],"sourceRoot":"../../../src","sources":["anchors/AutoAnchorRegistry.ts"],"mappings":";;AAGA,SACEA,0BAA0B,EAC1BC,gBAAgB,QAEX,2BAAwB;AAC/B,SACEC,wBAAwB,EACxBC,eAAe,QAEV,4BAAyB;AAChC,SAASC,mBAAmB,EAAEC,YAAY,QAAQ,4BAAyB;;AAE3E;AACA;AACA;AACA;AACA;AACA;AACA;;AAMA;;AAoEA,MAAMC,eAAe,GAAG,IAAIC,GAAG,CAAS,CACtC,WAAW,EACX,kBAAkB,EAClB,oBAAoB,EACpB,0BAA0B,EAC1B,yBAAyB,CAC1B,CAAC;AAEF,OAAO,SAASC,WAAWA,CAACC,IAAY,EAAgB;EACtD,IAAIH,eAAe,CAACI,GAAG,CAACD,IAAI,CAAC,EAAE,OAAO,QAAQ;EAC9C,IAAIA,IAAI,KAAK,MAAM,EAAE,OAAO,MAAM;EAClC,IAAIA,IAAI,KAAK,OAAO,EAAE,OAAO,OAAO;EACpC,IAAIA,IAAI,KAAK,WAAW,IAAIA,IAAI,KAAK,WAAW,EAAE,OAAO,OAAO;EAChE,IAAIA,IAAI,KAAK,MAAM,IAAIA,IAAI,KAAK,YAAY,IAAIA,IAAI,KAAK,cAAc,EAAE,OAAO,OAAO;EACvF,OAAO,OAAO;AAChB;AAEA,IAAIE,eAAe,GAAG,CAAC;AAEvB,SAASC,cAAcA,CAAA,EAAW;EAChC,MAAMC,EAAE,GAAG,QAAQF,eAAe,CAACG,QAAQ,CAAC,EAAE,CAAC,EAAE;EACjDH,eAAe,IAAI,CAAC;EACpB,OAAOE,EAAE;AACX;;AAEA;AACA,SAASE,eAAeA,CAACC,IAAwB,EAAU;EACzD,MAAMC,IAAI,GAAGD,IAAI,CAACE,YAAY,IAAIF,IAAI,CAACG,cAAc;EACrD,MAAMC,GAAG,GAAGH,IAAI,CAACI,WAAW,CAAC,KAAK,CAAC;EACnC,OAAOD,GAAG,KAAK,CAAC,CAAC,GAAGH,IAAI,GAAGA,IAAI,CAACK,KAAK,CAAC,CAAC,EAAEF,GAAG,CAAC;AAC/C;;AAEA;AACA;AACA;AACA;AACA;AACA,SAASG,gBAAgBA,CAACP,IAAwB,EAAsB;EACtE,MAAMQ,KAAK,GAAG,CAACR,IAAI,CAACS,SAAS,EAAET,IAAI,CAACU,kBAAkB,EAAEV,IAAI,CAACW,QAAQ,EAAEX,IAAI,CAACY,QAAQ,CAAC,CAACC,MAAM,CACzFC,IAAI,IAAqB,CAAC,CAACA,IAC9B,CAAC;EACD,OAAON,KAAK,CAACO,MAAM,GAAG,CAAC,GAAGP,KAAK,CAACQ,IAAI,CAAC,QAAQ,CAAC,GAAGC,SAAS;AAC5D;;AAWA;;AAQA,OAAO,MAAMC,kBAAkB,CAAC;EACbC,SAAS,GAAG,IAAIC,GAAG,CAA6B,CAAC;EACjDC,aAAa,GAAG,IAAID,GAAG,CAAsB,CAAC;EAC9CE,UAAU,GAAG,IAAIF,GAAG,CAAsB,CAAC;EAC3CG,cAAc,GAAG,IAAIH,GAAG,CAAsB,CAAC;EAC/CI,WAAW,GAAG,IAAIJ,GAAG,CAA2B,CAAC;EACjDK,SAAS,GAAG,IAAIlC,GAAG,CAAqB,CAAC;EAClDmC,eAAe,GAAG,KAAK;EAC/B;EACiBC,SAAS,GAAG,IAAIP,GAAG,CAAkB,CAAC;EACvD;AACF;AACA;AACA;AACA;AACA;EACmBQ,WAAW,GAAG,IAAIrC,GAAG,CAAS,CAAC;EAChD;AACF;AACA;AACA;AACA;EACUsC,QAAQ,GAAG,KAAK;EAChBC,QAAQ,GAAG,KAAK;EAExBC,gBAAgBA,CAACC,KAA4B,EAA+C;IAC1F,MAAMC,UAAU,GAAGrC,cAAc,CAAC,CAAC;IACnC,MAAMsC,KAAK,GAAGF,KAAK,CAACE,KAAK,IAAIjB,SAAS;IACtC,MAAMxB,IAAI,GAAGuC,KAAK,CAACvC,IAAI;IACvB,MAAM0C,IAAI,GAAGD,KAAK,EAAEC,IAAI,IAAI3C,WAAW,CAACC,IAAI,CAAC;IAC7C,MAAMS,YAAY,GAAGgC,KAAK,EAAEhC,YAAY,IAAIgC,KAAK,EAAEE,IAAI,IAAIJ,KAAK,CAACK,WAAW;IAC5E,MAAMlC,cAAc,GAAG+B,KAAK,EAAE/B,cAAc,IAAI+B,KAAK,EAAEE,IAAI,IAAIlC,YAAY;IAC3E,MAAMoC,OAAO,GAAGN,KAAK,CAACM,OAAO,IAAI,CAAC,CAAC;IAEnC,MAAMC,QAAQ,GACZD,OAAO,CAACC,QAAQ,IAChBD,OAAO,CAACE,UAAU,IAClBN,KAAK,EAAEO,iBAAiB,IACxBH,OAAO,CAACI,MAAM,IACdR,KAAK,EAAES,aAAa,KACnBL,OAAO,CAACM,QAAQ,IAAI,CAACN,OAAO,CAACM,QAAQ,CAACC,UAAU,CAAC,KAAK,CAAC,GAAGP,OAAO,CAACM,QAAQ,GAAG3B,SAAS,CAAC;IAE1F,MAAMuB,UAAU,GAAGF,OAAO,CAACE,UAAU,IAAIN,KAAK,EAAEO,iBAAiB;IACjE,MAAMC,MAAM,GAAGJ,OAAO,CAACI,MAAM,IAAIR,KAAK,EAAES,aAAa;IACrD,MAAMC,QAAQ,GAAGN,OAAO,CAACM,QAAQ,IAAIV,KAAK,EAAEY,QAAQ;IACpD,MAAMrC,SAAS,GAAG6B,OAAO,CAAC7B,SAAS,IAAIyB,KAAK,EAAEzB,SAAS;IACvD,MAAMC,kBAAkB,GAAG4B,OAAO,CAAC5B,kBAAkB,IAAIwB,KAAK,EAAEa,YAAY;IAC5E,MAAMpC,QAAQ,GAAG2B,OAAO,CAAC3B,QAAQ,IAAIuB,KAAK,EAAEvB,QAAQ;IACpD,MAAMC,QAAQ,GAAG0B,OAAO,CAAC1B,QAAQ,IAAIsB,KAAK,EAAEtB,QAAQ;IAEpD,MAAMoC,QAA4B,GAAG;MACnCf,UAAU;MACVI,WAAW,EAAEL,KAAK,CAACK,WAAW;MAC9BY,GAAG,EAAEjB,KAAK,CAACiB,GAAG;MACdxD,IAAI;MACJ0C,IAAI;MACJe,WAAW,EAAE5D,eAAe,CAACI,GAAG,CAACD,IAAI,CAAC;MACtCS,YAAY;MACZC,cAAc;MACd,IAAI6B,KAAK,CAACmB,aAAa,GAAG;QAAEA,aAAa,EAAEnB,KAAK,CAACmB;MAAc,CAAC,GAAG,CAAC,CAAC,CAAC;MACtE,IAAIZ,QAAQ,GAAG;QAAEA;MAAS,CAAC,GAAG,CAAC,CAAC,CAAC;MACjC,IAAIC,UAAU,GAAG;QAAEA;MAAW,CAAC,GAAG,CAAC,CAAC,CAAC;MACrC,IAAIE,MAAM,GAAG;QAAEA;MAAO,CAAC,GAAG,CAAC,CAAC,CAAC;MAC7B,IAAIE,QAAQ,GAAG;QAAEA;MAAS,CAAC,GAAG,CAAC,CAAC,CAAC;MACjC,IAAInC,SAAS,GAAG;QAAEA;MAAU,CAAC,GAAG,CAAC,CAAC,CAAC;MACnC,IAAIC,kBAAkB,GAAG;QAAEA;MAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;MACrD,IAAIwB,KAAK,EAAEkB,UAAU,GAAG;QAAEA,UAAU,EAAElB,KAAK,CAACkB;MAAW,CAAC,GAAG,CAAC,CAAC,CAAC;MAC9D,IAAIzC,QAAQ,GAAG;QAAEA;MAAS,CAAC,GAAG,CAAC,CAAC,CAAC;MACjC,IAAIC,QAAQ,GAAG;QAAEA;MAAS,CAAC,GAAG,CAAC,CAAC,CAAC;MACjCyC,SAAS,EAAEnB,KAAK,EAAEmB,SAAS,GAAG,CAAC,GAAGnB,KAAK,CAACmB,SAAS,CAAC,GAAG,EAAE;MACvD,IAAInB,KAAK,EAAEoB,OAAO,KAAKrC,SAAS,GAAG;QAAEqC,OAAO,EAAEpB,KAAK,CAACoB;MAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;MACnE,IAAIpB,KAAK,EAAEqB,YAAY,KAAKtC,SAAS,GAAG;QAAEsC,YAAY,EAAErB,KAAK,CAACqB;MAAa,CAAC,GAAG,CAAC,CAAC,CAAC;MAClF,IAAIvB,KAAK,CAACwB,gBAAgB,GAAG;QAAEA,gBAAgB,EAAExB,KAAK,CAACwB;MAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;MAC/EC,gBAAgB,EAAE,EAAE;MACpBC,SAAS,EAAE;IACb,CAAC;IACD,IAAI,CAACC,eAAe,CAACX,QAAQ,CAAC;IAE9B,IAAI,CAAC7B,SAAS,CAACyC,GAAG,CAAC3B,UAAU,EAAEe,QAAQ,CAAC;IACxC,IAAI,CAACa,QAAQ,CAAC,IAAI,CAACxC,aAAa,EAAEW,KAAK,CAACK,WAAW,EAAEJ,UAAU,CAAC;IAChE,IAAI,CAAC4B,QAAQ,CAAC,IAAI,CAACtC,cAAc,EAAErB,YAAY,EAAE+B,UAAU,CAAC;IAC5D,IAAIM,QAAQ,EAAE,IAAI,CAACsB,QAAQ,CAAC,IAAI,CAACvC,UAAU,EAAEiB,QAAQ,EAAEN,UAAU,CAAC;IAClE,IAAIe,QAAQ,CAACR,UAAU,EAAE,IAAI,CAACqB,QAAQ,CAAC,IAAI,CAACvC,UAAU,EAAE0B,QAAQ,CAACR,UAAU,EAAEP,UAAU,CAAC;IACxF,IAAIe,QAAQ,CAACN,MAAM,EAAE,IAAI,CAACmB,QAAQ,CAAC,IAAI,CAACvC,UAAU,EAAE0B,QAAQ,CAACN,MAAM,EAAET,UAAU,CAAC;IAEhF,IAAID,KAAK,CAACwB,gBAAgB,EAAE;MAC1B,MAAMM,MAAM,GAAG,IAAI,CAAC3C,SAAS,CAAC4C,GAAG,CAAC/B,KAAK,CAACwB,gBAAgB,CAAC;MACzD,IAAIM,MAAM,EAAEA,MAAM,CAACL,gBAAgB,CAACO,IAAI,CAAC/B,UAAU,CAAC;IACtD;IAEA,IAAI,CAACgC,SAAS,CAACjB,QAAQ,CAAC;IACxB,IAAI,CAACkB,MAAM,CAAC,CAAC;IAEb,OAAO;MACLjC,UAAU;MACVkC,OAAO,EAAEA,CAAA,KAAM;QACb,IAAI,CAACC,kBAAkB,CAACnC,UAAU,CAAC;MACrC;IACF,CAAC;EACH;EAEAoC,cAAcA,CACZpC,UAAkB,EAClBqC,KAiBC,EACK;IACN,MAAMtE,IAAI,GAAG,IAAI,CAACmB,SAAS,CAAC4C,GAAG,CAAC9B,UAAU,CAAC;IAC3C,IAAI,CAACjC,IAAI,EAAE;IACX;IACA;IACA,MAAMuE,IAAI,GAAGC,MAAM,CAACD,IAAI,CAACD,KAAK,CAA2B;IACzD,IAAIC,IAAI,CAACE,KAAK,CAAEC,GAAG,IAAKF,MAAM,CAACG,EAAE,CAAC3E,IAAI,CAAC0E,GAAG,CAAC,EAAEJ,KAAK,CAACI,GAAG,CAAC,CAAC,CAAC,EAAE;IAE3D,MAAME,OAAO,GAAG;MACdrC,QAAQ,EAAEvC,IAAI,CAACuC,QAAQ;MACvBC,UAAU,EAAExC,IAAI,CAACwC,UAAU;MAC3BE,MAAM,EAAE1C,IAAI,CAAC0C;IACf,CAAC;IACD8B,MAAM,CAACK,MAAM,CAAC7E,IAAI,EAAEsE,KAAK,CAAC;IAC1B,IACEA,KAAK,CAAC/B,QAAQ,KAAKtB,SAAS,IAC5BqD,KAAK,CAAC9B,UAAU,KAAKvB,SAAS,IAC9BqD,KAAK,CAAC5B,MAAM,KAAKzB,SAAS,EAC1B;MACA,MAAM6D,UAAU,GACdR,KAAK,CAAC/B,QAAQ,IACdvC,IAAI,CAACwC,UAAU,IACfxC,IAAI,CAAC0C,MAAM,KACV1C,IAAI,CAAC4C,QAAQ,IAAI,CAAC5C,IAAI,CAAC4C,QAAQ,CAACC,UAAU,CAAC,KAAK,CAAC,GAAG7C,IAAI,CAAC4C,QAAQ,GAAG3B,SAAS,CAAC;MACjF,IAAI6D,UAAU,EAAE9E,IAAI,CAACuC,QAAQ,GAAGuC,UAAU,CAAC,KACtC,OAAO9E,IAAI,CAACuC,QAAQ;IAC3B;IACA,IAAI,CAACwC,oBAAoB,CAAC/E,IAAI,EAAE4E,OAAO,CAAC;IACxC,IAAI,CAACX,SAAS,CAACjE,IAAI,EAAE4E,OAAO,CAACrC,QAAQ,EAAEqC,OAAO,CAACpC,UAAU,EAAEoC,OAAO,CAAClC,MAAM,CAAC;IAC1E,IAAI,CAACwB,MAAM,CAAC,CAAC;EACf;EAEAc,WAAWA,CAAC/C,UAAkB,EAAkC;IAC9D,OAAO,IAAI,CAACd,SAAS,CAAC4C,GAAG,CAAC9B,UAAU,CAAC;EACvC;EAEAgD,yBAAyBA,CAACP,GAAW,EAAwB;IAC3D,OAAO,IAAI,CAACQ,cAAc,CAAC,IAAI,CAAC7D,aAAa,CAAC0C,GAAG,CAACW,GAAG,CAAC,CAAC;EACzD;EAEAS,sBAAsBA,CAACtF,EAAU,EAAwB;IACvD,OAAO,IAAI,CAACqF,cAAc,CAAC,IAAI,CAAC5D,UAAU,CAACyC,GAAG,CAAClE,EAAE,CAAC,CAAC;EACrD;EAEAuF,0BAA0BA,CAACnF,IAAY,EAAwB;IAC7D,OAAO,IAAI,CAACiF,cAAc,CAAC,IAAI,CAAC3D,cAAc,CAACwC,GAAG,CAAC9D,IAAI,CAAC,CAAC;EAC3D;EAEAoF,YAAYA,CAAA,EAAyB;IACnC,OAAOC,KAAK,CAACC,IAAI,CAAC,IAAI,CAACpE,SAAS,CAACqE,MAAM,CAAC,CAAC,CAAC;EAC5C;EAEAC,4BAA4BA,CAACxD,UAAkB,EAAwB;IACrE,MAAMjC,IAAI,GAAG,IAAI,CAACmB,SAAS,CAAC4C,GAAG,CAAC9B,UAAU,CAAC;IAC3C,IAAI,CAACjC,IAAI,EAAE,OAAO,EAAE;IACpB,IAAI,CAACA,IAAI,CAACwD,gBAAgB,EAAE;MAC1B,MAAMkC,KAAK,GAAG3F,eAAe,CAACC,IAAI,CAAC;MACnC,OAAO,IAAI,CAACqF,YAAY,CAAC,CAAC,CACvBxE,MAAM,CAAE8E,CAAC,IAAK,CAACA,CAAC,CAACnC,gBAAgB,IAAIzD,eAAe,CAAC4F,CAAC,CAAC,KAAKD,KAAK,CAAC,CAClEE,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAK,CAACD,CAAC,CAACtC,YAAY,IAAI,CAAC,KAAKuC,CAAC,CAACvC,YAAY,IAAI,CAAC,CAAC,CAAC;IAClE;IACA,MAAMO,MAAM,GAAG,IAAI,CAAC3C,SAAS,CAAC4C,GAAG,CAAC/D,IAAI,CAACwD,gBAAgB,CAAC;IACxD,IAAI,CAACM,MAAM,EAAE,OAAO,CAAC9D,IAAI,CAAC;IAC1B,OAAO8D,MAAM,CAACL,gBAAgB,CAC3BsC,GAAG,CAAElG,EAAE,IAAK,IAAI,CAACsB,SAAS,CAAC4C,GAAG,CAAClE,EAAE,CAAC,CAAC,CACnCgB,MAAM,CAAE8E,CAAC,IAA8B,CAAC,CAACA,CAAC,CAAC,CAC3CC,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAK,CAACD,CAAC,CAACtC,YAAY,IAAI,CAAC,KAAKuC,CAAC,CAACvC,YAAY,IAAI,CAAC,CAAC,CAAC;EAClE;EAEAyC,aAAaA,CACX/D,UAAkB,EAClBgE,UAAU,GAAG,CAAC,EACgD;IAC9D,MAAMC,OAAO,GAAG,IAAI,CAACT,4BAA4B,CAACxD,UAAU,CAAC;IAC7D,MAAM7B,GAAG,GAAG8F,OAAO,CAACC,SAAS,CAAER,CAAC,IAAKA,CAAC,CAAC1D,UAAU,KAAKA,UAAU,CAAC;IACjE,IAAI7B,GAAG,GAAG,CAAC,EAAE,OAAO;MAAEgG,QAAQ,EAAE,EAAE;MAAEC,IAAI,EAAE;IAAG,CAAC;IAC9C,MAAMC,MAAM,GAAIX,CAAqB,KAAyB;MAC5DlG,IAAI,EAAEkG,CAAC,CAAClG,IAAI;MACZ0C,IAAI,EAAEwD,CAAC,CAACxD,IAAI;MACZ,IAAIwD,CAAC,CAAClF,SAAS,GAAG;QAAE8F,IAAI,EAAEZ,CAAC,CAAClF;MAAU,CAAC,GAAG,CAAC,CAAC,CAAC;MAC7C,IAAIkF,CAAC,CAACjD,MAAM,GAAG;QAAEA,MAAM,EAAEiD,CAAC,CAACjD;MAAO,CAAC,GAAG,CAAC,CAAC,CAAC;MACzC,IAAIiD,CAAC,CAACnD,UAAU,GAAG;QAAEA,UAAU,EAAEmD,CAAC,CAACnD;MAAW,CAAC,GAAG,CAAC,CAAC;IACtD,CAAC,CAAC;IACF,OAAO;MACL4D,QAAQ,EAAEF,OAAO,CAAC5F,KAAK,CAACkG,IAAI,CAACC,GAAG,CAAC,CAAC,EAAErG,GAAG,GAAG6F,UAAU,CAAC,EAAE7F,GAAG,CAAC,CAAC2F,GAAG,CAACO,MAAM,CAAC;MACvED,IAAI,EAAEH,OAAO,CAAC5F,KAAK,CAACF,GAAG,GAAG,CAAC,EAAEA,GAAG,GAAG,CAAC,GAAG6F,UAAU,CAAC,CAACF,GAAG,CAACO,MAAM;IAC/D,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEI,kBAAkBA,CAACvF,SAAgC,EAAQ;IACzD,MAAMwF,IAAI,GAAGxF,SAAS,IAAI,IAAI,CAACkE,YAAY,CAAC,CAAC;IAC7C,MAAMuB,QAAQ,GAAG1H,wBAAwB,CAAC,CAAC;IAC3C,MAAM2H,cAAc,GAAG7H,0BAA0B,CAAC,CAAC;IACnD,MAAM8H,IAAI,GAAG,IAAIvH,GAAG,CAAS,CAAC;IAC9B,KAAK,MAAMS,IAAI,IAAI2G,IAAI,EAAE;MACvB,IAAIG,IAAI,CAACpH,GAAG,CAACM,IAAI,CAACiC,UAAU,CAAC,EAAE;MAC/B6E,IAAI,CAACC,GAAG,CAAC/G,IAAI,CAACiC,UAAU,CAAC;MACzB,IAAI,CAAC+E,qBAAqB,CAAChH,IAAI,EAAE4G,QAAQ,EAAEC,cAAc,CAAC;IAC5D;EACF;EAEQG,qBAAqBA,CAC3BhH,IAAwB,EACxB4G,QAA8B,EAC9BC,cAA6C,EACvC;IACN,IAAII,KAAsB,GAAG,IAAI;IACjC,IAAI;MACFA,KAAK,GAAG9H,eAAe,CAACyH,QAAQ,EAAE5G,IAAI,CAACiD,GAAG,CAACiE,OAAO,EAAEL,cAAc,CAAC;IACrE,CAAC,CAAC,MAAM;MACNI,KAAK,GAAG,IAAI;IACd;IACA,IAAI,CAACA,KAAK,EAAE;IAEZ,IAAIE,KAA0C;IAC9C,IAAI;MACFA,KAAK,GAAGlI,gBAAgB,CAACgI,KAAK,CAAC;IACjC,CAAC,CAAC,MAAM;MACNE,KAAK,GAAGlG,SAAS;IACnB;;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,MAAMmG,MAAM,GAAG,IAAI,CAAC5F,WAAW,CAACuC,GAAG,CAAC/D,IAAI,CAACiC,UAAU,CAAC;IACpD,IAAImF,MAAM,IAAIA,MAAM,CAACH,KAAK,KAAKA,KAAK,IAAIE,KAAK,KAAKlG,SAAS,IAAImG,MAAM,CAACD,KAAK,KAAKA,KAAK,EAAE;MACrF,IAAIC,MAAM,CAAC3G,SAAS,KAAKQ,SAAS,EAAEjB,IAAI,CAACS,SAAS,GAAG2G,MAAM,CAAC3G,SAAS;MACrE;IACF;IAEA,IAAI0G,KAAK,EAAE,IAAI,CAACE,iBAAiB,CAACrH,IAAI,EAAEmH,KAAK,CAAC;IAE9C,IAAIG,IAAwB;IAC5B,IAAI;MACFA,IAAI,GACFtH,IAAI,CAACmC,IAAI,KAAK,OAAO,GAChB/C,mBAAmB,CAAC6H,KAAK,CAAC,IAAI5H,YAAY,CAAC4H,KAAK,CAAC,GAClD5H,YAAY,CAAC4H,KAAK,CAAC;IAC3B,CAAC,CAAC,MAAM;MACNK,IAAI,GAAGrG,SAAS;IAClB;;IAEA;IACA;IACA,IAAI,CAACO,WAAW,CAACoC,GAAG,CAAC5D,IAAI,CAACiC,UAAU,EAAE;MAAEgF,KAAK;MAAEE,KAAK;MAAE1G,SAAS,EAAE6G;IAAK,CAAC,CAAC;IACxE,IAAIA,IAAI,IAAItH,IAAI,CAACS,SAAS,KAAK6G,IAAI,EAAE;MACnCtH,IAAI,CAACS,SAAS,GAAG6G,IAAI;MACrB;MACA;MACA,IAAI,CAACrD,SAAS,CAACjE,IAAI,CAAC;IACtB;EACF;;EAEA;AACF;AACA;AACA;AACA;EACUqH,iBAAiBA,CAACrH,IAAwB,EAAEmH,KAA8B,EAAQ;IACxF,MAAMI,GAAG,GAAGJ,KAAK,CAACzE,MAAM;IACxB,MAAM8E,UAAU,GAAG,OAAOD,GAAG,KAAK,QAAQ,IAAIA,GAAG,CAACE,IAAI,CAAC,CAAC,GAAGF,GAAG,CAACE,IAAI,CAAC,CAAC,GAAGxG,SAAS;IACjF,IAAI,CAACuG,UAAU,IAAIA,UAAU,KAAKxH,IAAI,CAAC0C,MAAM,EAAE;IAE/C,MAAMgF,IAAI,GAAG;MAAEnF,QAAQ,EAAEvC,IAAI,CAACuC,QAAQ;MAAEC,UAAU,EAAExC,IAAI,CAACwC,UAAU;MAAEE,MAAM,EAAE1C,IAAI,CAAC0C;IAAO,CAAC;IAC1F1C,IAAI,CAAC0C,MAAM,GAAG8E,UAAU;IACxB,IAAI,CAACxH,IAAI,CAACwC,UAAU,KAAK,CAACxC,IAAI,CAACuC,QAAQ,IAAIvC,IAAI,CAACuC,QAAQ,KAAKmF,IAAI,CAAChF,MAAM,CAAC,EAAE;MACzE1C,IAAI,CAACuC,QAAQ,GAAGiF,UAAU;IAC5B;IACA,IAAI,CAACzC,oBAAoB,CAAC/E,IAAI,EAAE0H,IAAI,CAAC;IACrC,IAAI,CAACzD,SAAS,CAACjE,IAAI,EAAE0H,IAAI,CAACnF,QAAQ,EAAEmF,IAAI,CAAClF,UAAU,EAAEkF,IAAI,CAAChF,MAAM,CAAC;EACnE;EAEAiF,SAASA,CAACC,QAA4B,EAAc;IAClD,IAAI,CAACnG,SAAS,CAACsF,GAAG,CAACa,QAAQ,CAAC;IAC5B,OAAO,MAAM;MACX,IAAI,CAACnG,SAAS,CAACoG,MAAM,CAACD,QAAQ,CAAC;IACjC,CAAC;EACH;EAEAE,cAAcA,CAACpD,GAAW,EAAW;IACnC,MAAMqD,KAAK,GAAG,IAAI,CAAC9C,yBAAyB,CAACP,GAAG,CAAC;IACjD,IAAIqD,KAAK,CAAChH,MAAM,GAAG,CAAC,EAAE,OAAOgH,KAAK,CAACC,IAAI,CAAErC,CAAC,IAAKA,CAAC,CAACjC,SAAS,CAAC;IAC3D,MAAMuE,QAAQ,GAAG,IAAI,CAAC9C,sBAAsB,CAACT,GAAG,CAAC;IACjD,OAAOuD,QAAQ,CAAClH,MAAM,GAAG,CAAC,IAAIkH,QAAQ,CAACD,IAAI,CAAErC,CAAC,IAAKA,CAAC,CAACjC,SAAS,CAAC;EACjE;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACEwE,gBAAgBA,CAAClI,IAAwB,EAAEmI,OAA2C,EAAW;IAC/F,IAAI,CAACnI,IAAI,CAAC0D,SAAS,EAAE,OAAO,KAAK;IACjC,MAAM0E,KAAK,GAAIzB,IAA0B,IAAKA,IAAI,CAAC9F,MAAM,CAAE8E,CAAC,IAAKA,CAAC,KAAK3F,IAAI,IAAImI,OAAO,CAACxC,CAAC,CAAC,CAAC;IAC1F,IAAI3F,IAAI,CAACuC,QAAQ,EAAE,OAAO6F,KAAK,CAAC,IAAI,CAACjD,sBAAsB,CAACnF,IAAI,CAACuC,QAAQ,CAAC,CAAC,CAACxB,MAAM,GAAG,CAAC;IACtF,OACE,IAAI,CAACsH,YAAY,CAACrI,IAAI,EAAEoI,KAAK,CAAC,IAAI,CAAChD,0BAA0B,CAACpF,IAAI,CAACE,YAAY,CAAC,CAAC,CAAC,IAClF,IAAI,CAACmI,YAAY,CAACrI,IAAI,EAAEoI,KAAK,CAAC,IAAI,CAACnD,yBAAyB,CAACjF,IAAI,CAACqC,WAAW,CAAC,CAAC,CAAC;EAEpF;;EAEA;EACAiG,KAAKA,CAAA,EAAS;IACZ,IAAI,CAACnH,SAAS,CAACmH,KAAK,CAAC,CAAC;IACtB,IAAI,CAACjH,aAAa,CAACiH,KAAK,CAAC,CAAC;IAC1B,IAAI,CAAChH,UAAU,CAACgH,KAAK,CAAC,CAAC;IACvB,IAAI,CAAC/G,cAAc,CAAC+G,KAAK,CAAC,CAAC;IAC3B,IAAI,CAAC9G,WAAW,CAAC8G,KAAK,CAAC,CAAC;IACxB,IAAI,CAAC3G,SAAS,CAAC2G,KAAK,CAAC,CAAC;IACtB,IAAI,CAAC1G,WAAW,CAAC0G,KAAK,CAAC,CAAC;IACxB,IAAI,CAACzG,QAAQ,GAAG,KAAK;IACrB,IAAI,CAACH,eAAe,GAAG,KAAK;IAC5B/B,eAAe,GAAG,CAAC;EACrB;EAEQyE,kBAAkBA,CAACnC,UAAkB,EAAQ;IACnD,MAAMjC,IAAI,GAAG,IAAI,CAACmB,SAAS,CAAC4C,GAAG,CAAC9B,UAAU,CAAC;IAC3C,IAAI,CAACjC,IAAI,EAAE;IAEX,IAAIA,IAAI,CAACwD,gBAAgB,EAAE;MACzB,MAAMM,MAAM,GAAG,IAAI,CAAC3C,SAAS,CAAC4C,GAAG,CAAC/D,IAAI,CAACwD,gBAAgB,CAAC;MACxD,IAAIM,MAAM,EAAE;QACVA,MAAM,CAACL,gBAAgB,GAAGK,MAAM,CAACL,gBAAgB,CAAC5C,MAAM,CAAEhB,EAAE,IAAKA,EAAE,KAAKoC,UAAU,CAAC;MACrF;IACF;IACA,KAAK,MAAMsG,OAAO,IAAI,CAAC,GAAGvI,IAAI,CAACyD,gBAAgB,CAAC,EAAE;MAChD,MAAM+E,KAAK,GAAG,IAAI,CAACrH,SAAS,CAAC4C,GAAG,CAACwE,OAAO,CAAC;MACzC,IAAIC,KAAK,EAAE,OAAOA,KAAK,CAAChF,gBAAgB;IAC1C;IAEA,IAAI,CAACrC,SAAS,CAAC0G,MAAM,CAAC5F,UAAU,CAAC;IACjC,IAAI,CAACT,WAAW,CAACqG,MAAM,CAAC5F,UAAU,CAAC;IACnC,IAAI,CAACN,SAAS,CAACkG,MAAM,CAAC5F,UAAU,CAAC;IACjC,IAAI,CAACwG,WAAW,CAAC,IAAI,CAACpH,aAAa,EAAErB,IAAI,CAACqC,WAAW,EAAEJ,UAAU,CAAC;IAClE,IAAI,CAACwG,WAAW,CAAC,IAAI,CAAClH,cAAc,EAAEvB,IAAI,CAACE,YAAY,EAAE+B,UAAU,CAAC;IACpE,IAAIjC,IAAI,CAACuC,QAAQ,EAAE,IAAI,CAACkG,WAAW,CAAC,IAAI,CAACnH,UAAU,EAAEtB,IAAI,CAACuC,QAAQ,EAAEN,UAAU,CAAC;IAC/E,IAAIjC,IAAI,CAACwC,UAAU,EAAE,IAAI,CAACiG,WAAW,CAAC,IAAI,CAACnH,UAAU,EAAEtB,IAAI,CAACwC,UAAU,EAAEP,UAAU,CAAC;IACnF,IAAIjC,IAAI,CAAC0C,MAAM,EAAE,IAAI,CAAC+F,WAAW,CAAC,IAAI,CAACnH,UAAU,EAAEtB,IAAI,CAAC0C,MAAM,EAAET,UAAU,CAAC;IAE3E,IAAI,CAACgC,SAAS,CAACjE,IAAI,CAAC;IACpB,IAAI,CAACkE,MAAM,CAAC,CAAC;EACf;EAEQa,oBAAoBA,CAC1B/E,IAAwB,EACxB0H,IAIC,EACK;IACN,MAAMgB,QAAQ,GAAG,IAAInJ,GAAG,CACtB,CAACmI,IAAI,CAACnF,QAAQ,EAAEmF,IAAI,CAAClF,UAAU,EAAEkF,IAAI,CAAChF,MAAM,CAAC,CAAC7B,MAAM,CAAE8H,CAAC,IAAkB,CAAC,CAACA,CAAC,CAC9E,CAAC;IACD,MAAMC,QAAQ,GAAG,IAAIrJ,GAAG,CACtB,CAACS,IAAI,CAACuC,QAAQ,EAAEvC,IAAI,CAACwC,UAAU,EAAExC,IAAI,CAAC0C,MAAM,CAAC,CAAC7B,MAAM,CAAE8H,CAAC,IAAkB,CAAC,CAACA,CAAC,CAC9E,CAAC;IACD,KAAK,MAAMjE,GAAG,IAAIgE,QAAQ,EAAE;MAC1B,IAAI,CAACE,QAAQ,CAAClJ,GAAG,CAACgF,GAAG,CAAC,EAAE,IAAI,CAAC+D,WAAW,CAAC,IAAI,CAACnH,UAAU,EAAEoD,GAAG,EAAE1E,IAAI,CAACiC,UAAU,CAAC;IACjF;IACA,KAAK,MAAMyC,GAAG,IAAIkE,QAAQ,EAAE;MAC1B,IAAI,CAACF,QAAQ,CAAChJ,GAAG,CAACgF,GAAG,CAAC,EAAE,IAAI,CAACb,QAAQ,CAAC,IAAI,CAACvC,UAAU,EAAEoD,GAAG,EAAE1E,IAAI,CAACiC,UAAU,CAAC;IAC9E;EACF;;EAEA;AACF;AACA;AACA;AACA;EACUoG,YAAYA,CAACrI,IAAwB,EAAE2G,IAA0B,EAAW;IAClF,MAAMkC,UAAU,GAAGlC,IAAI,CAAC5F,MAAM,GAAG,CAAC,IAAI4F,IAAI,CAAClC,KAAK,CAAEkB,CAAC,IAAK,CAACA,CAAC,CAACpD,QAAQ,CAAC;IACpE,IAAI,CAACsG,UAAU,EAAE,OAAO,KAAK;IAC7B,MAAMC,GAAG,GAAGvI,gBAAgB,CAACP,IAAI,CAAC;IAClC,IAAI,CAAC8I,GAAG,EAAE,OAAO,IAAI;IACrB,IAAIC,KAAK,GAAG,CAAC;IACb,KAAK,MAAMC,IAAI,IAAIrC,IAAI,EAAE;MACvB,IAAIpG,gBAAgB,CAACyI,IAAI,CAAC,KAAKF,GAAG,EAAEC,KAAK,IAAI,CAAC;MAC9C,IAAIA,KAAK,GAAG,CAAC,EAAE,OAAO,IAAI;IAC5B;IACA,OAAO,KAAK;EACd;;EAEA;AACF;AACA;AACA;EACUpF,eAAeA,CAAC3D,IAAwB,EAAQ;IACtD,MAAMH,EAAE,GAAGG,IAAI,CAACiC,UAAU;IAC1BuC,MAAM,CAACyE,cAAc,CAACjJ,IAAI,EAAE,WAAW,EAAE;MACvCkJ,YAAY,EAAE,IAAI;MAClBC,UAAU,EAAE,IAAI;MAChBpF,GAAG,EAAEA,CAAA,KAAM;QACT,IAAI,CAACqF,eAAe,CAAC,CAAC;QACtB,OAAO,IAAI,CAACzH,SAAS,CAACoC,GAAG,CAAClE,EAAE,CAAC,IAAI,KAAK;MACxC,CAAC;MACD+D,GAAG,EAAGyF,KAAc,IAAK;QACvB,IAAI,CAAC1H,SAAS,CAACiC,GAAG,CAAC/D,EAAE,EAAEwJ,KAAK,CAAC;MAC/B;IACF,CAAC,CAAC;EACJ;;EAEA;EACQpF,SAASA,CAACjE,IAAwB,EAAE,GAAGsJ,WAAsC,EAAQ;IAC3F,IAAI,IAAI,CAACzH,QAAQ,EAAE;IACnB,IAAI,CAACD,WAAW,CAACmF,GAAG,CAAC,KAAK/G,IAAI,CAACqC,WAAW,EAAE,CAAC;IAC7C,IAAI,CAACT,WAAW,CAACmF,GAAG,CAAC,KAAK/G,IAAI,CAACE,YAAY,EAAE,CAAC;IAC9C,KAAK,MAAML,EAAE,IAAI,CAACG,IAAI,CAACuC,QAAQ,EAAEvC,IAAI,CAACwC,UAAU,EAAExC,IAAI,CAAC0C,MAAM,EAAE,GAAG4G,WAAW,CAAC,EAAE;MAC9E,IAAIzJ,EAAE,EAAE,IAAI,CAAC+B,WAAW,CAACmF,GAAG,CAAC,KAAKlH,EAAE,EAAE,CAAC;IACzC;IACA;IACA;IACA,IAAI,IAAI,CAAC+B,WAAW,CAAC2H,IAAI,GAAG,IAAI,CAACpI,SAAS,CAACoI,IAAI,EAAE;MAC/C,IAAI,CAAC1H,QAAQ,GAAG,IAAI;MACpB,IAAI,CAACD,WAAW,CAAC0G,KAAK,CAAC,CAAC;IAC1B;EACF;EAEQkB,QAAQA,CAACC,QAAgB,EAA2B;IAC1D,MAAMJ,KAAK,GAAGI,QAAQ,CAACnJ,KAAK,CAAC,CAAC,CAAC;IAC/B,IAAImJ,QAAQ,CAAC5G,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,IAAI,CAACxB,aAAa,CAAC0C,GAAG,CAACsF,KAAK,CAAC;IACnE,IAAII,QAAQ,CAAC5G,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,IAAI,CAACtB,cAAc,CAACwC,GAAG,CAACsF,KAAK,CAAC;IACpE,OAAO,IAAI,CAAC/H,UAAU,CAACyC,GAAG,CAACsF,KAAK,CAAC;EACnC;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACUD,eAAeA,CAAA,EAAS;IAC9B,IAAK,IAAI,CAACxH,WAAW,CAAC2H,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC1H,QAAQ,IAAK,IAAI,CAACC,QAAQ,EAAE;IACtE,IAAI,CAACA,QAAQ,GAAG,IAAI;IACpB,IAAI;MACF,MAAM4H,QAAQ,GAAG,IAAInK,GAAG,CAAS,IAAI,CAACsC,QAAQ,GAAG,IAAI,CAACV,SAAS,CAACoD,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;MAC5E,KAAK,MAAMkF,QAAQ,IAAI,IAAI,CAAC7H,WAAW,EAAE;QACvC,MAAM+H,GAAG,GAAG,IAAI,CAACH,QAAQ,CAACC,QAAQ,CAAC;QACnC,IAAIE,GAAG,EAAE,KAAK,MAAM9J,EAAE,IAAI8J,GAAG,EAAED,QAAQ,CAAC3C,GAAG,CAAClH,EAAE,CAAC;MACjD;MACA,IAAI,CAAC+B,WAAW,CAAC0G,KAAK,CAAC,CAAC;MACxB,IAAI,CAACzG,QAAQ,GAAG,KAAK;MAErB,MAAM+H,UAAU,GAAG,IAAIxI,GAAG,CAAoB,CAAC;MAC/C,KAAK,MAAMvB,EAAE,IAAI6J,QAAQ,EAAE;QACzB,MAAM1J,IAAI,GAAG,IAAI,CAACmB,SAAS,CAAC4C,GAAG,CAAClE,EAAE,CAAC;QACnC,IAAI,CAACG,IAAI,EAAE;QACX,IAAI,CAAC2B,SAAS,CAACiC,GAAG,CAAC/D,EAAE,EAAE,IAAI,CAACgK,gBAAgB,CAAC7J,IAAI,EAAE4J,UAAU,CAAC,CAAC;MACjE;IACF,CAAC,SAAS;MACR,IAAI,CAAC9H,QAAQ,GAAG,KAAK;IACvB;EACF;EAEQ+H,gBAAgBA,CAAC7J,IAAwB,EAAE4J,UAAkC,EAAW;IAC9F,IAAI5J,IAAI,CAACuC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAACjB,UAAU,CAACyC,GAAG,CAAC/D,IAAI,CAACuC,QAAQ,CAAC,EAAEgH,IAAI,IAAI,CAAC,IAAI,CAAC;IAC7E,OACE,IAAI,CAACO,aAAa,CAAC9J,IAAI,EAAE,KAAKA,IAAI,CAACqC,WAAW,EAAE,EAAEuH,UAAU,CAAC,IAC7D,IAAI,CAACE,aAAa,CAAC9J,IAAI,EAAE,KAAKA,IAAI,CAACE,YAAY,EAAE,EAAE0J,UAAU,CAAC;EAElE;;EAEA;EACQE,aAAaA,CACnB9J,IAAwB,EACxByJ,QAAgB,EAChBG,UAAkC,EACzB;IACT,IAAIlE,KAAK,GAAGkE,UAAU,CAAC7F,GAAG,CAAC0F,QAAQ,CAAC;IACpC,IAAI,CAAC/D,KAAK,EAAE;MACV,MAAMqE,OAAO,GAAG,IAAI,CAAC7E,cAAc,CAAC,IAAI,CAACsE,QAAQ,CAACC,QAAQ,CAAC,CAAC;MAC5D,MAAMO,UAAU,GAAG,IAAI5I,GAAG,CAAiB,CAAC;MAC5C,KAAK,MAAM6I,MAAM,IAAIF,OAAO,EAAE;QAC5B,MAAMjB,GAAG,GAAGvI,gBAAgB,CAAC0J,MAAM,CAAC;QACpC,IAAInB,GAAG,EAAEkB,UAAU,CAACpG,GAAG,CAACkF,GAAG,EAAE,CAACkB,UAAU,CAACjG,GAAG,CAAC+E,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;MAC9D;MACApD,KAAK,GAAG;QACNmD,UAAU,EAAEkB,OAAO,CAAChJ,MAAM,GAAG,CAAC,IAAIgJ,OAAO,CAACtF,KAAK,CAAEwF,MAAM,IAAK,CAACA,MAAM,CAAC1H,QAAQ,CAAC;QAC7EyH;MACF,CAAC;MACDJ,UAAU,CAAChG,GAAG,CAAC6F,QAAQ,EAAE/D,KAAK,CAAC;IACjC;IACA,IAAI,CAACA,KAAK,CAACmD,UAAU,EAAE,OAAO,KAAK;IACnC,MAAMC,GAAG,GAAGvI,gBAAgB,CAACP,IAAI,CAAC;IAClC,OAAO,CAAC8I,GAAG,IAAI,CAACpD,KAAK,CAACsE,UAAU,CAACjG,GAAG,CAAC+E,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;EACrD;EAEQjF,QAAQA,CAACkC,GAA6B,EAAErB,GAAW,EAAEzC,UAAkB,EAAQ;IACrF,IAAI2B,GAAG,GAAGmC,GAAG,CAAChC,GAAG,CAACW,GAAG,CAAC;IACtB,IAAI,CAACd,GAAG,EAAE;MACRA,GAAG,GAAG,IAAIrE,GAAG,CAAC,CAAC;MACfwG,GAAG,CAACnC,GAAG,CAACc,GAAG,EAAEd,GAAG,CAAC;IACnB;IACAA,GAAG,CAACmD,GAAG,CAAC9E,UAAU,CAAC;EACrB;EAEQwG,WAAWA,CAAC1C,GAA6B,EAAErB,GAAW,EAAEzC,UAAkB,EAAQ;IACxF,MAAM2B,GAAG,GAAGmC,GAAG,CAAChC,GAAG,CAACW,GAAG,CAAC;IACxB,IAAI,CAACd,GAAG,EAAE;IACVA,GAAG,CAACiE,MAAM,CAAC5F,UAAU,CAAC;IACtB,IAAI2B,GAAG,CAAC2F,IAAI,KAAK,CAAC,EAAExD,GAAG,CAAC8B,MAAM,CAACnD,GAAG,CAAC;EACrC;EAEQQ,cAAcA,CAACtB,GAA4B,EAAwB;IACzE,IAAI,CAACA,GAAG,EAAE,OAAO,EAAE;IACnB,MAAMsG,GAAyB,GAAG,EAAE;IACpC,KAAK,MAAMrK,EAAE,IAAI+D,GAAG,EAAE;MACpB,MAAM5D,IAAI,GAAG,IAAI,CAACmB,SAAS,CAAC4C,GAAG,CAAClE,EAAE,CAAC;MACnC,IAAIG,IAAI,EAAEkK,GAAG,CAAClG,IAAI,CAAChE,IAAI,CAAC;IAC1B;IACA,OAAOkK,GAAG;EACZ;EAEQhG,MAAMA,CAAA,EAAS;IACrB,IAAI,IAAI,CAACxC,eAAe,EAAE;IAC1B,IAAI,CAACA,eAAe,GAAG,IAAI;IAC3B,MAAMyI,KAAK,GAAGA,CAAA,KAAM;MAClB,IAAI,CAACzI,eAAe,GAAG,KAAK;MAC5B,KAAK,MAAM0I,CAAC,IAAI,IAAI,CAAC3I,SAAS,EAAE;QAC9B,IAAI;UACF2I,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,MAAM;UACN;QAAA;MAEJ;IACF,CAAC;IACD,IAAI,OAAOC,cAAc,KAAK,UAAU,EAAE;MACxCA,cAAc,CAACF,KAAK,CAAC;IACvB,CAAC,MAAM;MACL,KAAKG,OAAO,CAACC,OAAO,CAAC,CAAC,CAACC,IAAI,CAACL,KAAK,CAAC;IACpC;EACF;AACF;AAEA,OAAO,MAAMM,kBAAkB,GAAG,IAAIvJ,kBAAkB,CAAC,CAAC","ignoreList":[]}
@@ -3,11 +3,18 @@
3
3
  /**
4
4
  * Shared requestAnimationFrame hub so multiple surfaces never stack loops.
5
5
  * Mirrors web userflowjs `util/animation-frame.tsx`.
6
+ *
7
+ * Paused while the app is not active. In bridgeless React Native,
8
+ * `requestAnimationFrame` is a 0 ms timer, and once the app is backgrounded
9
+ * iOS fires timers from an NSTimer instead of the display link, so a loop that
10
+ * kept going would spin as fast as the JS thread allows.
6
11
  */
7
-
12
+ import { isAppActive, subscribeAppActive } from "./appActive.js";
8
13
  const callbacks = [];
9
14
  let rafHandle = null;
10
15
  let active = false;
16
+ let appActive = true;
17
+ let unsubscribeAppActive = null;
11
18
 
12
19
  /**
13
20
  * `callback` runs on every animation frame. Starts the shared loop when the
@@ -18,6 +25,7 @@ export function addAnimationFrameCallback(callback) {
18
25
  callbacks.push(callback);
19
26
  if (callbacks.length === 1) {
20
27
  active = true;
28
+ watchAppState();
21
29
  requestNext();
22
30
  }
23
31
  }
@@ -33,6 +41,7 @@ export function removeAnimationFrameCallback(callback) {
33
41
  if (callbacks.length === 0) {
34
42
  active = false;
35
43
  cancelPending();
44
+ unwatchAppState();
36
45
  }
37
46
  }
38
47
 
@@ -41,6 +50,7 @@ export function resetAnimationFrameForTests() {
41
50
  callbacks.length = 0;
42
51
  active = false;
43
52
  cancelPending();
53
+ unwatchAppState();
44
54
  }
45
55
 
46
56
  /** Test helper — number of active subscribers. */
@@ -60,8 +70,25 @@ function onAnimationFrame() {
60
70
  }
61
71
  requestNext();
62
72
  }
73
+ function watchAppState() {
74
+ if (unsubscribeAppActive) return;
75
+ appActive = isAppActive();
76
+ unsubscribeAppActive = subscribeAppActive(next => {
77
+ appActive = next;
78
+ if (!next) {
79
+ cancelPending();
80
+ } else if (rafHandle == null) {
81
+ requestNext();
82
+ }
83
+ });
84
+ }
85
+ function unwatchAppState() {
86
+ unsubscribeAppActive?.();
87
+ unsubscribeAppActive = null;
88
+ appActive = true;
89
+ }
63
90
  function requestNext() {
64
- if (!active) return;
91
+ if (!active || !appActive) return;
65
92
  const raf = typeof globalThis.requestAnimationFrame === 'function' ? globalThis.requestAnimationFrame.bind(globalThis) : null;
66
93
  if (raf) {
67
94
  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;AACA,OAAO,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;AACA,OAAO,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;AACA,OAAO,SAASC,2BAA2BA,CAAA,EAAS;EAClDd,SAAS,CAACO,MAAM,GAAG,CAAC;EACpBL,MAAM,GAAG,KAAK;EACdW,aAAa,CAAC,CAAC;AACjB;;AAEA;AACA,OAAO,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":["isAppActive","subscribeAppActive","callbacks","rafHandle","active","appActive","unsubscribeAppActive","addAnimationFrameCallback","callback","includes","push","length","watchAppState","requestNext","removeAnimationFrameCallback","idx","indexOf","splice","cancelPending","unwatchAppState","resetAnimationFrameForTests","animationFrameSubscriberCount","onAnimationFrame","snapshot","slice","next","raf","globalThis","requestAnimationFrame","bind","setTimeout","cancelAnimationFrame","clearTimeout"],"sourceRoot":"../../../src","sources":["anchors/animationFrame.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+
3
+ import { AppState } from 'react-native';
4
+
5
+ /**
6
+ * Foreground signal for the anchoring loops (animation-frame tracking and the
7
+ * tooltip target search).
8
+ *
9
+ * Anything other than `background` / `inactive` counts as active, including
10
+ * `unknown` before the first native report. Hosts or test doubles without
11
+ * `AppState` always read as active and never notify.
12
+ */
13
+
14
+ function appState() {
15
+ const candidate = AppState;
16
+ return candidate && typeof candidate === 'object' ? candidate : null;
17
+ }
18
+ function isActiveState(state) {
19
+ return state !== 'background' && state !== 'inactive';
20
+ }
21
+
22
+ /** Whether the app is in the foreground right now. */
23
+ export function isAppActive() {
24
+ try {
25
+ return isActiveState(appState()?.currentState);
26
+ } catch {
27
+ return true;
28
+ }
29
+ }
30
+
31
+ /**
32
+ * `listener(active)` runs when the app moves between foreground and anything
33
+ * else. Repeated reports of the same side are dropped. Returns an unsubscribe.
34
+ */
35
+ export function subscribeAppActive(listener) {
36
+ const state = appState();
37
+ if (!state || typeof state.addEventListener !== 'function') return () => {};
38
+ let active = isAppActive();
39
+ try {
40
+ const subscription = state.addEventListener('change', next => {
41
+ const nextActive = isActiveState(next);
42
+ if (nextActive === active) return;
43
+ active = nextActive;
44
+ listener(nextActive);
45
+ });
46
+ return () => {
47
+ try {
48
+ subscription?.remove();
49
+ } catch {
50
+ // Teardown is best-effort.
51
+ }
52
+ };
53
+ } catch {
54
+ return () => {};
55
+ }
56
+ }
57
+ //# sourceMappingURL=appActive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["AppState","appState","candidate","isActiveState","state","isAppActive","currentState","subscribeAppActive","listener","addEventListener","active","subscription","next","nextActive","remove"],"sourceRoot":"../../../src","sources":["anchors/appActive.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,cAAc;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAUA,SAASC,QAAQA,CAAA,EAAwB;EACvC,MAAMC,SAAS,GAAGF,QAAoC;EACtD,OAAOE,SAAS,IAAI,OAAOA,SAAS,KAAK,QAAQ,GAAGA,SAAS,GAAG,IAAI;AACtE;AAEA,SAASC,aAAaA,CAACC,KAAc,EAAW;EAC9C,OAAOA,KAAK,KAAK,YAAY,IAAIA,KAAK,KAAK,UAAU;AACvD;;AAEA;AACA,OAAO,SAASC,WAAWA,CAAA,EAAY;EACrC,IAAI;IACF,OAAOF,aAAa,CAACF,QAAQ,CAAC,CAAC,EAAEK,YAAY,CAAC;EAChD,CAAC,CAAC,MAAM;IACN,OAAO,IAAI;EACb;AACF;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASC,kBAAkBA,CAACC,QAAmC,EAAc;EAClF,MAAMJ,KAAK,GAAGH,QAAQ,CAAC,CAAC;EACxB,IAAI,CAACG,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":[]}
@@ -3,7 +3,7 @@
3
3
  import { decodeMobileAutoData } from '@userflow-tech/protocol';
4
4
  import { anchorChangeTicker } from "./anchorChangeTicker.js";
5
5
  import { elementTapMonitor } from "./elementTapMonitor.js";
6
- import { fiberIsUnder, tapPathDisabled } from "./elementTargetMatch.js";
6
+ import { fiberBearingAnchorId, fiberIsUnder, tapPathDisabled } from "./elementTargetMatch.js";
7
7
  import { resolveElementTargets, tapMayHitSelector } from "./resolveElementTargets.js";
8
8
  import { resolveManualAnchorId } from "./resolveManualAnchorId.js";
9
9
 
@@ -149,20 +149,37 @@ function trackClick(condition, elementState, report, context, warnOnce) {
149
149
  const subscription = {
150
150
  unsubscribe: () => {}
151
151
  };
152
- subscription.unsubscribe = elementTapMonitor.subscribe(tap => {
153
- if (latched) return;
154
- if (!tapMayHitSelector(condition.selector, tap)) return;
155
- const resolution = resolveElementTargets(condition.selector);
156
- if (resolution.status !== 'found') return;
157
- const matched = resolution.targets.find(target => target.fiber != null && fiberIsUnder(tap.targetFiber, target.fiber));
158
- if (!matched?.fiber) return;
159
- if (tapPathDisabled(tap.targetFiber, matched.fiber)) return;
152
+ const latch = () => {
160
153
  latched = true;
161
154
  report(valueWhenOccurred, {
162
155
  immediate: true
163
156
  });
164
157
  subscription.unsubscribe();
165
158
  stopWatchingResolution();
159
+ };
160
+ subscription.unsubscribe = elementTapMonitor.subscribe(tap => {
161
+ if (latched) return;
162
+ if (!tapMayHitSelector(condition.selector, tap)) return;
163
+ const resolution = resolveElementTargets(condition.selector);
164
+ if (resolution.status === 'found') {
165
+ const matched = resolution.targets.find(target => target.fiber != null && fiberIsUnder(tap.targetFiber, target.fiber));
166
+ if (!matched?.fiber) return;
167
+ if (tapPathDisabled(tap.targetFiber, matched.fiber)) return;
168
+ latch();
169
+ return;
170
+ }
171
+
172
+ // The press may already have navigated away, so the live scan is absent.
173
+ // The fiber captured at touch start still carries the manual id. This is
174
+ // only the fallback: a target that is still on screen keeps the registry
175
+ // and prop-tier precedence of the live scan.
176
+ if (resolution.status !== 'absent') return;
177
+ if (condition.selector?.type === 'AUTO') return;
178
+ const anchorId = resolveManualAnchorId(condition.selector?.css);
179
+ const capturedHost = anchorId ? fiberBearingAnchorId(tap.targetFiber, anchorId) : null;
180
+ if (!capturedHost) return;
181
+ if (tapPathDisabled(tap.targetFiber, capturedHost)) return;
182
+ latch();
166
183
  });
167
184
  return () => {
168
185
  subscription.unsubscribe();
@@ -1 +1 @@
1
- {"version":3,"names":["decodeMobileAutoData","anchorChangeTicker","elementTapMonitor","fiberIsUnder","tapPathDisabled","resolveElementTargets","tapMayHitSelector","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","selector","status","silent","warnUnknown","measureVisibility","targets","catch","then","visibility","present","unsubscribe","subscribe","clickSelectorUsable","valueWhenOccurred","previousIsTrue","latched","stopWatchingResolution","type","reportUnclickedOnceResolvable","subscription","tap","matched","find","target","fiber","targetFiber","immediate","autoData","fingerprint","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":["decodeMobileAutoData","anchorChangeTicker","elementTapMonitor","fiberBearingAnchorId","fiberIsUnder","tapPathDisabled","resolveElementTargets","tapMayHitSelector","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","selector","status","silent","warnUnknown","measureVisibility","targets","catch","then","visibility","present","unsubscribe","subscribe","clickSelectorUsable","valueWhenOccurred","previousIsTrue","latched","stopWatchingResolution","type","reportUnclickedOnceResolvable","subscription","latch","immediate","tap","matched","find","target","fiber","targetFiber","anchorId","css","capturedHost","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":[]}
@@ -8,14 +8,19 @@
8
8
  * tooltip target-press monitor uses. The host fiber is the one captured at
9
9
  * touch start, before the press's setState commits a new tree.
10
10
  *
11
+ * A touch that gesture-handler cancels is handed off instead of dropped: the
12
+ * same fiber is emitted if that handler later ends as a tap.
13
+ *
11
14
  * With no subscribers the monitor stores nothing, so the bridge can skip the
12
15
  * fiber lookup entirely.
13
16
  */
14
17
 
18
+ import { gestureHandlerHandoff } from "./gestureHandlerHandoff.js";
15
19
  import { withinTapSlop } from "./targetPressMonitor.js";
16
20
  export class ElementTapMonitor {
17
21
  listeners = new Set();
18
22
  touchStarts = new Map();
23
+ handoffStops = new Map();
19
24
  get subscriberCount() {
20
25
  return this.listeners.size;
21
26
  }
@@ -25,9 +30,23 @@ export class ElementTapMonitor {
25
30
  this.listeners.delete(listener);
26
31
  if (this.listeners.size === 0) {
27
32
  this.touchStarts.clear();
33
+ this.dropHandoffs();
28
34
  }
29
35
  };
30
36
  }
37
+
38
+ /** Fingers with a recorded start that have not ended, cancelled, or been handed off. */
39
+ inProgressIdentifiers() {
40
+ return [...this.touchStarts.keys()];
41
+ }
42
+ hasTouch(identifier) {
43
+ return this.touchStarts.has(identifier);
44
+ }
45
+
46
+ /** Fiber captured at touch start, or null when this finger is not in progress. */
47
+ startFiber(identifier) {
48
+ return this.touchStarts.get(identifier)?.targetFiber ?? null;
49
+ }
31
50
  handleTouchStart(identifier, pageX, pageY, targetFiber) {
32
51
  if (this.listeners.size === 0) {
33
52
  this.touchStarts.clear();
@@ -52,33 +71,69 @@ export class ElementTapMonitor {
52
71
  pageX,
53
72
  pageY
54
73
  })) return;
55
- const tap = {
56
- targetFiber: start.targetFiber
57
- };
58
- for (const listener of this.listeners) {
59
- // One condition's failure must not cost the others this tap, or abort
60
- // the bridge's handling of the event's remaining touches.
61
- try {
62
- listener(tap);
63
- } catch {
64
- // The condition stays at its current value.
65
- }
66
- }
74
+ this.emit(start.targetFiber);
75
+ }
76
+
77
+ /**
78
+ * Gesture-handler cancelled this finger. Forget the RN touch and emit the
79
+ * start fiber if that handler later ends as a tap. A start with no fiber
80
+ * cannot latch, so it is dropped.
81
+ */
82
+ handOffTouch(identifier, handlerTags) {
83
+ const start = this.touchStarts.get(identifier);
84
+ if (!start) return;
85
+ this.touchStarts.delete(identifier);
86
+ this.handoffStops.get(identifier)?.();
87
+ if (!start.targetFiber || handlerTags.length === 0 || this.listeners.size === 0) return;
88
+ const fiber = start.targetFiber;
89
+ const stop = gestureHandlerHandoff.track({
90
+ identifier,
91
+ pageX: start.pageX,
92
+ pageY: start.pageY,
93
+ handlerTags,
94
+ onResolve: () => this.emit(fiber)
95
+ });
96
+ this.handoffStops.set(identifier, () => {
97
+ stop();
98
+ this.handoffStops.delete(identifier);
99
+ });
67
100
  }
68
101
 
69
102
  /** Drop in-progress gesture(s). Omit `identifier` to clear every finger. */
70
103
  cancelTouch(identifier) {
71
104
  if (identifier == null) {
72
105
  this.touchStarts.clear();
106
+ this.dropHandoffs();
73
107
  return;
74
108
  }
75
109
  this.touchStarts.delete(identifier);
110
+ this.handoffStops.get(identifier)?.();
76
111
  }
77
112
 
78
113
  /** Test helper. */
79
114
  resetForTests() {
80
115
  this.listeners.clear();
81
116
  this.touchStarts.clear();
117
+ this.dropHandoffs();
118
+ }
119
+ emit(targetFiber) {
120
+ if (this.listeners.size === 0) return;
121
+ const tap = {
122
+ targetFiber
123
+ };
124
+ for (const listener of this.listeners) {
125
+ // One condition's failure must not cost the others this tap, or abort
126
+ // the bridge's handling of the event's remaining touches.
127
+ try {
128
+ listener(tap);
129
+ } catch {
130
+ // The condition stays at its current value.
131
+ }
132
+ }
133
+ }
134
+ dropHandoffs() {
135
+ for (const stop of this.handoffStops.values()) stop();
136
+ this.handoffStops.clear();
82
137
  }
83
138
  }
84
139
 
@@ -1 +1 @@
1
- {"version":3,"names":["withinTapSlop","ElementTapMonitor","listeners","Set","touchStarts","Map","subscriberCount","size","subscribe","listener","add","delete","clear","handleTouchStart","identifier","pageX","pageY","targetFiber","set","handleTouchEnd","start","get","tap","cancelTouch","resetForTests","elementTapMonitor"],"sourceRoot":"../../../src","sources":["anchors/elementTapMonitor.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAgDA,aAAa,QAAQ,yBAAsB;AAY3F,OAAO,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,CAACjB,aAAa,CAACoB,KAAK,EAAE;MAAEL,KAAK;MAAEC;IAAM,CAAC,CAAC,EAAE;IAE7C,MAAMM,GAAe,GAAG;MAAEL,WAAW,EAAEG,KAAK,CAACH;IAAY,CAAC;IAC1D,KAAK,MAAMR,QAAQ,IAAI,IAAI,CAACP,SAAS,EAAE;MACrC;MACA;MACA,IAAI;QACFO,QAAQ,CAACa,GAAG,CAAC;MACf,CAAC,CAAC,MAAM;QACN;MAAA;IAEJ;EACF;;EAEA;EACAC,WAAWA,CAACT,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;EACAU,aAAaA,CAAA,EAAS;IACpB,IAAI,CAACtB,SAAS,CAACU,KAAK,CAAC,CAAC;IACtB,IAAI,CAACR,WAAW,CAACQ,KAAK,CAAC,CAAC;EAC1B;AACF;;AAEA;AACA,OAAO,MAAMa,iBAAiB,GAAG,IAAIxB,iBAAiB,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["gestureHandlerHandoff","withinTapSlop","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","emit","handOffTouch","handlerTags","length","fiber","stop","track","onResolve","cancelTouch","resetForTests","tap","values","elementTapMonitor"],"sourceRoot":"../../../src","sources":["anchors/elementTapMonitor.ts"],"mappings":"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","ignoreList":[]}
@@ -19,18 +19,43 @@ export function anchorIdsAboveTap(tap) {
19
19
  const ids = new Set();
20
20
  let current = tap.targetFiber;
21
21
  for (let depth = 0; current && depth < MAX_ANCESTOR_WALK; depth += 1) {
22
- const props = getMemoizedProps(current);
23
- if (props) {
24
- for (const tier of ANCHOR_PROP_TIERS) {
25
- const value = props[tier];
26
- if (typeof value === 'string') ids.add(value);
27
- }
28
- }
22
+ collectAnchorIds(current, ids);
29
23
  current = getReturn(current);
30
24
  }
31
25
  anchorIdsByTap.set(tap, ids);
32
26
  return ids;
33
27
  }
28
+
29
+ /**
30
+ * The fiber on `start` (or an ancestor) that carries `anchorId`.
31
+ *
32
+ * The touch-start fiber is kept after the press navigates away, so a click can
33
+ * still match when a live scan of the new screen no longer finds the id.
34
+ */
35
+ export function fiberBearingAnchorId(start, anchorId) {
36
+ let current = start;
37
+ for (let depth = 0; current && depth < MAX_ANCESTOR_WALK; depth += 1) {
38
+ if (fiberHasAnchorId(current, anchorId)) return current;
39
+ current = getReturn(current);
40
+ }
41
+ return null;
42
+ }
43
+ function fiberHasAnchorId(fiber, anchorId) {
44
+ const props = getMemoizedProps(fiber);
45
+ if (!props) return false;
46
+ for (const tier of ANCHOR_PROP_TIERS) {
47
+ if (props[tier] === anchorId) return true;
48
+ }
49
+ return false;
50
+ }
51
+ function collectAnchorIds(fiber, ids) {
52
+ const props = getMemoizedProps(fiber);
53
+ if (!props) return;
54
+ for (const tier of ANCHOR_PROP_TIERS) {
55
+ const value = props[tier];
56
+ if (typeof value === 'string') ids.add(value);
57
+ }
58
+ }
34
59
  export function sameFiber(a, b) {
35
60
  if (a == null || b == null) return false;
36
61
  if (a === b) return true;
@@ -1 +1 @@
1
- {"version":3,"names":["MAX_ANCESTOR_WALK","getAlternate","getLiveHostProps","getMemoizedProps","getReturn","ANCHOR_PROP_TIERS","anchorIdsByTap","WeakMap","anchorIdsAboveTap","tap","cached","get","ids","Set","current","targetFiber","depth","props","tier","value","add","set","sameFiber","a","b","aAlt","bAlt","fiberIsUnder","node","host","fiberDisabled","fiber","disabled","state","accessibilityState","tapPathDisabled","tapped"],"sourceRoot":"../../../src","sources":["anchors/elementTargetMatch.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["MAX_ANCESTOR_WALK","getAlternate","getLiveHostProps","getMemoizedProps","getReturn","ANCHOR_PROP_TIERS","anchorIdsByTap","WeakMap","anchorIdsAboveTap","tap","cached","get","ids","Set","current","targetFiber","depth","collectAnchorIds","set","fiberBearingAnchorId","start","anchorId","fiberHasAnchorId","fiber","props","tier","value","add","sameFiber","a","b","aAlt","bAlt","fiberIsUnder","node","host","fiberDisabled","disabled","state","accessibilityState","tapPathDisabled","tapped"],"sourceRoot":"../../../src","sources":["anchors/elementTargetMatch.ts"],"mappings":"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","ignoreList":[]}