@userflow-tech/react-native 0.4.5 → 0.6.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 (502) hide show
  1. package/README.md +31 -2
  2. package/docs/anchoring.md +6 -1
  3. package/docs/custom-fonts.md +36 -0
  4. package/docs/troubleshooting.md +33 -6
  5. package/lib/commonjs/anchors/AutoAnchorRegistry.js +144 -34
  6. package/lib/commonjs/anchors/AutoAnchorRegistry.js.map +1 -1
  7. package/lib/commonjs/anchors/animationFrame.js +29 -1
  8. package/lib/commonjs/anchors/animationFrame.js.map +1 -1
  9. package/lib/commonjs/anchors/appActive.js +61 -0
  10. package/lib/commonjs/anchors/appActive.js.map +1 -0
  11. package/lib/commonjs/anchors/elementConditionEvaluator.js +25 -8
  12. package/lib/commonjs/anchors/elementConditionEvaluator.js.map +1 -1
  13. package/lib/commonjs/anchors/elementTapMonitor.js +67 -12
  14. package/lib/commonjs/anchors/elementTapMonitor.js.map +1 -1
  15. package/lib/commonjs/anchors/elementTargetMatch.js +33 -7
  16. package/lib/commonjs/anchors/elementTargetMatch.js.map +1 -1
  17. package/lib/commonjs/anchors/fiber/FiberScanRootStore.js +8 -0
  18. package/lib/commonjs/anchors/fiber/FiberScanRootStore.js.map +1 -1
  19. package/lib/commonjs/anchors/fiber/detectAppFontFamily.js +341 -0
  20. package/lib/commonjs/anchors/fiber/detectAppFontFamily.js.map +1 -0
  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/fiber/visibleScreens.js +6 -0
  28. package/lib/commonjs/anchors/fiber/visibleScreens.js.map +1 -1
  29. package/lib/commonjs/anchors/fiberAnchorCache.js +20 -0
  30. package/lib/commonjs/anchors/fiberAnchorCache.js.map +1 -1
  31. package/lib/commonjs/anchors/gestureHandlerHandoff.js +304 -0
  32. package/lib/commonjs/anchors/gestureHandlerHandoff.js.map +1 -0
  33. package/lib/commonjs/anchors/resolveAnchorHost.js +6 -0
  34. package/lib/commonjs/anchors/resolveAnchorHost.js.map +1 -1
  35. package/lib/commonjs/anchors/resolveAutoAnchorHost.js +11 -6
  36. package/lib/commonjs/anchors/resolveAutoAnchorHost.js.map +1 -1
  37. package/lib/commonjs/anchors/resolveElementTargets.js +63 -8
  38. package/lib/commonjs/anchors/resolveElementTargets.js.map +1 -1
  39. package/lib/commonjs/anchors/semanticMatcher.js +43 -21
  40. package/lib/commonjs/anchors/semanticMatcher.js.map +1 -1
  41. package/lib/commonjs/anchors/tapSlop.js +16 -0
  42. package/lib/commonjs/anchors/tapSlop.js.map +1 -0
  43. package/lib/commonjs/anchors/targetPressMonitor.js +66 -12
  44. package/lib/commonjs/anchors/targetPressMonitor.js.map +1 -1
  45. package/lib/commonjs/authoring/fingerprintFromInstance.js +5 -9
  46. package/lib/commonjs/authoring/fingerprintFromInstance.js.map +1 -1
  47. package/lib/commonjs/content/BannerStepButton.js +2 -1
  48. package/lib/commonjs/content/BannerStepButton.js.map +1 -1
  49. package/lib/commonjs/content/RichContentRenderer.js +20 -14
  50. package/lib/commonjs/content/RichContentRenderer.js.map +1 -1
  51. package/lib/commonjs/content/StepButton.js +2 -1
  52. package/lib/commonjs/content/StepButton.js.map +1 -1
  53. package/lib/commonjs/content/openSafeUrl.js +3 -1
  54. package/lib/commonjs/content/openSafeUrl.js.map +1 -1
  55. package/lib/commonjs/content/resolveContentFontFamily.js +96 -0
  56. package/lib/commonjs/content/resolveContentFontFamily.js.map +1 -0
  57. package/lib/commonjs/expo-router/useUserflowExpoRouter.js +6 -0
  58. package/lib/commonjs/expo-router/useUserflowExpoRouter.js.map +1 -1
  59. package/lib/commonjs/index.js +21 -5
  60. package/lib/commonjs/index.js.map +1 -1
  61. package/lib/commonjs/navigation/navigateUrlUtils.js +105 -0
  62. package/lib/commonjs/navigation/navigateUrlUtils.js.map +1 -0
  63. package/lib/commonjs/navigation/openExternalNavigateUrl.js +14 -0
  64. package/lib/commonjs/navigation/openExternalNavigateUrl.js.map +1 -0
  65. package/lib/commonjs/navigation/openFlowNavigateUrl.js +47 -41
  66. package/lib/commonjs/navigation/openFlowNavigateUrl.js.map +1 -1
  67. package/lib/commonjs/pairing/PairingController.js +3 -1
  68. package/lib/commonjs/pairing/PairingController.js.map +1 -1
  69. package/lib/commonjs/runtime/BannerHost.js +38 -29
  70. package/lib/commonjs/runtime/BannerHost.js.map +1 -1
  71. package/lib/commonjs/runtime/TargetPressBridge.js +55 -7
  72. package/lib/commonjs/runtime/TargetPressBridge.js.map +1 -1
  73. package/lib/commonjs/runtime/UserflowOverlay.js +5 -11
  74. package/lib/commonjs/runtime/UserflowOverlay.js.map +1 -1
  75. package/lib/commonjs/runtime/UserflowProvider.js +66 -40
  76. package/lib/commonjs/runtime/UserflowProvider.js.map +1 -1
  77. package/lib/commonjs/runtime/bannerEngine.js +8 -2
  78. package/lib/commonjs/runtime/bannerEngine.js.map +1 -1
  79. package/lib/commonjs/runtime/bannerFlowSpacer.js +71 -0
  80. package/lib/commonjs/runtime/bannerFlowSpacer.js.map +1 -0
  81. package/lib/commonjs/runtime/flowEngine.js +11 -0
  82. package/lib/commonjs/runtime/flowEngine.js.map +1 -1
  83. package/lib/commonjs/runtime/previewStart.js +39 -0
  84. package/lib/commonjs/runtime/previewStart.js.map +1 -0
  85. package/lib/commonjs/runtime/pushBannerLayoutContext.js +101 -0
  86. package/lib/commonjs/runtime/pushBannerLayoutContext.js.map +1 -0
  87. package/lib/commonjs/screenTracker.js +12 -0
  88. package/lib/commonjs/screenTracker.js.map +1 -1
  89. package/lib/commonjs/surfaces/BannerBar.js +79 -61
  90. package/lib/commonjs/surfaces/BannerBar.js.map +1 -1
  91. package/lib/commonjs/surfaces/BannerSurface.js +28 -6
  92. package/lib/commonjs/surfaces/BannerSurface.js.map +1 -1
  93. package/lib/commonjs/surfaces/ProgressBar.js +2 -1
  94. package/lib/commonjs/surfaces/ProgressBar.js.map +1 -1
  95. package/lib/commonjs/surfaces/TooltipSurface.js +48 -41
  96. package/lib/commonjs/surfaces/TooltipSurface.js.map +1 -1
  97. package/lib/commonjs/surfaces/bannerBarLayout.js +77 -10
  98. package/lib/commonjs/surfaces/bannerBarLayout.js.map +1 -1
  99. package/lib/commonjs/surfaces/bannerWebView/BannerWebViewBar.js +114 -63
  100. package/lib/commonjs/surfaces/bannerWebView/BannerWebViewBar.js.map +1 -1
  101. package/lib/commonjs/surfaces/bannerWebView/bannerNeedsWebView.js +3 -33
  102. package/lib/commonjs/surfaces/bannerWebView/bannerNeedsWebView.js.map +1 -1
  103. package/lib/commonjs/surfaces/bannerWebView/bannerThemeStyles.js +2 -1
  104. package/lib/commonjs/surfaces/bannerWebView/bannerThemeStyles.js.map +1 -1
  105. package/lib/commonjs/surfaces/bannerWebView/bannerWebViewHeight.js +33 -0
  106. package/lib/commonjs/surfaces/bannerWebView/bannerWebViewHeight.js.map +1 -0
  107. package/lib/commonjs/surfaces/bannerWebView/buildCustomBannerHtml.js +104 -23
  108. package/lib/commonjs/surfaces/bannerWebView/buildCustomBannerHtml.js.map +1 -1
  109. package/lib/commonjs/surfaces/hostAccessibilityTrap.js +28 -0
  110. package/lib/commonjs/surfaces/hostAccessibilityTrap.js.map +1 -0
  111. package/lib/commonjs/surfaces/resolveBannerTheme.js +6 -3
  112. package/lib/commonjs/surfaces/resolveBannerTheme.js.map +1 -1
  113. package/lib/commonjs/surfaces/tooltip/TooltipBubble.js +3 -2
  114. package/lib/commonjs/surfaces/tooltip/TooltipBubble.js.map +1 -1
  115. package/lib/commonjs/surfaces/tooltip/targetSearchSchedule.js +134 -0
  116. package/lib/commonjs/surfaces/tooltip/targetSearchSchedule.js.map +1 -0
  117. package/lib/commonjs/version.js +1 -1
  118. package/lib/module/anchors/AutoAnchorRegistry.js +145 -35
  119. package/lib/module/anchors/AutoAnchorRegistry.js.map +1 -1
  120. package/lib/module/anchors/animationFrame.js +29 -2
  121. package/lib/module/anchors/animationFrame.js.map +1 -1
  122. package/lib/module/anchors/appActive.js +57 -0
  123. package/lib/module/anchors/appActive.js.map +1 -0
  124. package/lib/module/anchors/elementConditionEvaluator.js +26 -9
  125. package/lib/module/anchors/elementConditionEvaluator.js.map +1 -1
  126. package/lib/module/anchors/elementTapMonitor.js +67 -12
  127. package/lib/module/anchors/elementTapMonitor.js.map +1 -1
  128. package/lib/module/anchors/elementTargetMatch.js +32 -7
  129. package/lib/module/anchors/elementTargetMatch.js.map +1 -1
  130. package/lib/module/anchors/fiber/FiberScanRootStore.js +8 -0
  131. package/lib/module/anchors/fiber/FiberScanRootStore.js.map +1 -1
  132. package/lib/module/anchors/fiber/detectAppFontFamily.js +330 -0
  133. package/lib/module/anchors/fiber/detectAppFontFamily.js.map +1 -0
  134. package/lib/module/anchors/fiber/fiberInternals.js +65 -0
  135. package/lib/module/anchors/fiber/fiberInternals.js.map +1 -1
  136. package/lib/module/anchors/fiber/indexHostFibers.js +4 -3
  137. package/lib/module/anchors/fiber/indexHostFibers.js.map +1 -1
  138. package/lib/module/anchors/fiber/resolveFiberPath.js +30 -15
  139. package/lib/module/anchors/fiber/resolveFiberPath.js.map +1 -1
  140. package/lib/module/anchors/fiber/visibleScreens.js +5 -0
  141. package/lib/module/anchors/fiber/visibleScreens.js.map +1 -1
  142. package/lib/module/anchors/fiberAnchorCache.js +19 -0
  143. package/lib/module/anchors/fiberAnchorCache.js.map +1 -1
  144. package/lib/module/anchors/gestureHandlerHandoff.js +298 -0
  145. package/lib/module/anchors/gestureHandlerHandoff.js.map +1 -0
  146. package/lib/module/anchors/resolveAnchorHost.js +1 -0
  147. package/lib/module/anchors/resolveAnchorHost.js.map +1 -1
  148. package/lib/module/anchors/resolveAutoAnchorHost.js +11 -6
  149. package/lib/module/anchors/resolveAutoAnchorHost.js.map +1 -1
  150. package/lib/module/anchors/resolveElementTargets.js +63 -8
  151. package/lib/module/anchors/resolveElementTargets.js.map +1 -1
  152. package/lib/module/anchors/semanticMatcher.js +43 -21
  153. package/lib/module/anchors/semanticMatcher.js.map +1 -1
  154. package/lib/module/anchors/tapSlop.js +11 -0
  155. package/lib/module/anchors/tapSlop.js.map +1 -0
  156. package/lib/module/anchors/targetPressMonitor.js +53 -8
  157. package/lib/module/anchors/targetPressMonitor.js.map +1 -1
  158. package/lib/module/authoring/fingerprintFromInstance.js +6 -10
  159. package/lib/module/authoring/fingerprintFromInstance.js.map +1 -1
  160. package/lib/module/content/BannerStepButton.js +2 -1
  161. package/lib/module/content/BannerStepButton.js.map +1 -1
  162. package/lib/module/content/RichContentRenderer.js +20 -14
  163. package/lib/module/content/RichContentRenderer.js.map +1 -1
  164. package/lib/module/content/StepButton.js +2 -1
  165. package/lib/module/content/StepButton.js.map +1 -1
  166. package/lib/module/content/openSafeUrl.js +3 -1
  167. package/lib/module/content/openSafeUrl.js.map +1 -1
  168. package/lib/module/content/resolveContentFontFamily.js +89 -0
  169. package/lib/module/content/resolveContentFontFamily.js.map +1 -0
  170. package/lib/module/expo-router/useUserflowExpoRouter.js +7 -1
  171. package/lib/module/expo-router/useUserflowExpoRouter.js.map +1 -1
  172. package/lib/module/index.js +24 -7
  173. package/lib/module/index.js.map +1 -1
  174. package/lib/module/navigation/navigateUrlUtils.js +94 -0
  175. package/lib/module/navigation/navigateUrlUtils.js.map +1 -0
  176. package/lib/module/navigation/openExternalNavigateUrl.js +11 -0
  177. package/lib/module/navigation/openExternalNavigateUrl.js.map +1 -0
  178. package/lib/module/navigation/openFlowNavigateUrl.js +22 -36
  179. package/lib/module/navigation/openFlowNavigateUrl.js.map +1 -1
  180. package/lib/module/pairing/PairingController.js +3 -1
  181. package/lib/module/pairing/PairingController.js.map +1 -1
  182. package/lib/module/runtime/BannerHost.js +38 -29
  183. package/lib/module/runtime/BannerHost.js.map +1 -1
  184. package/lib/module/runtime/TargetPressBridge.js +56 -8
  185. package/lib/module/runtime/TargetPressBridge.js.map +1 -1
  186. package/lib/module/runtime/UserflowOverlay.js +5 -11
  187. package/lib/module/runtime/UserflowOverlay.js.map +1 -1
  188. package/lib/module/runtime/UserflowProvider.js +66 -40
  189. package/lib/module/runtime/UserflowProvider.js.map +1 -1
  190. package/lib/module/runtime/bannerEngine.js +7 -2
  191. package/lib/module/runtime/bannerEngine.js.map +1 -1
  192. package/lib/module/runtime/bannerFlowSpacer.js +65 -0
  193. package/lib/module/runtime/bannerFlowSpacer.js.map +1 -0
  194. package/lib/module/runtime/flowEngine.js +11 -0
  195. package/lib/module/runtime/flowEngine.js.map +1 -1
  196. package/lib/module/runtime/previewStart.js +35 -0
  197. package/lib/module/runtime/previewStart.js.map +1 -0
  198. package/lib/module/runtime/pushBannerLayoutContext.js +94 -0
  199. package/lib/module/runtime/pushBannerLayoutContext.js.map +1 -0
  200. package/lib/module/screenTracker.js +11 -0
  201. package/lib/module/screenTracker.js.map +1 -1
  202. package/lib/module/surfaces/BannerBar.js +80 -62
  203. package/lib/module/surfaces/BannerBar.js.map +1 -1
  204. package/lib/module/surfaces/BannerSurface.js +28 -6
  205. package/lib/module/surfaces/BannerSurface.js.map +1 -1
  206. package/lib/module/surfaces/ProgressBar.js +2 -1
  207. package/lib/module/surfaces/ProgressBar.js.map +1 -1
  208. package/lib/module/surfaces/TooltipSurface.js +49 -42
  209. package/lib/module/surfaces/TooltipSurface.js.map +1 -1
  210. package/lib/module/surfaces/bannerBarLayout.js +72 -11
  211. package/lib/module/surfaces/bannerBarLayout.js.map +1 -1
  212. package/lib/module/surfaces/bannerWebView/BannerWebViewBar.js +115 -64
  213. package/lib/module/surfaces/bannerWebView/BannerWebViewBar.js.map +1 -1
  214. package/lib/module/surfaces/bannerWebView/bannerNeedsWebView.js +3 -31
  215. package/lib/module/surfaces/bannerWebView/bannerNeedsWebView.js.map +1 -1
  216. package/lib/module/surfaces/bannerWebView/bannerThemeStyles.js +2 -1
  217. package/lib/module/surfaces/bannerWebView/bannerThemeStyles.js.map +1 -1
  218. package/lib/module/surfaces/bannerWebView/bannerWebViewHeight.js +29 -0
  219. package/lib/module/surfaces/bannerWebView/bannerWebViewHeight.js.map +1 -0
  220. package/lib/module/surfaces/bannerWebView/buildCustomBannerHtml.js +104 -23
  221. package/lib/module/surfaces/bannerWebView/buildCustomBannerHtml.js.map +1 -1
  222. package/lib/module/surfaces/hostAccessibilityTrap.js +24 -0
  223. package/lib/module/surfaces/hostAccessibilityTrap.js.map +1 -0
  224. package/lib/module/surfaces/resolveBannerTheme.js +6 -3
  225. package/lib/module/surfaces/resolveBannerTheme.js.map +1 -1
  226. package/lib/module/surfaces/tooltip/TooltipBubble.js +3 -2
  227. package/lib/module/surfaces/tooltip/TooltipBubble.js.map +1 -1
  228. package/lib/module/surfaces/tooltip/targetSearchSchedule.js +128 -0
  229. package/lib/module/surfaces/tooltip/targetSearchSchedule.js.map +1 -0
  230. package/lib/module/version.js +1 -1
  231. package/lib/typescript/commonjs/src/anchors/AutoAnchorRegistry.d.ts +36 -2
  232. package/lib/typescript/commonjs/src/anchors/AutoAnchorRegistry.d.ts.map +1 -1
  233. package/lib/typescript/commonjs/src/anchors/animationFrame.d.ts +0 -4
  234. package/lib/typescript/commonjs/src/anchors/animationFrame.d.ts.map +1 -1
  235. package/lib/typescript/commonjs/src/anchors/appActive.d.ts +8 -0
  236. package/lib/typescript/commonjs/src/anchors/appActive.d.ts.map +1 -0
  237. package/lib/typescript/commonjs/src/anchors/elementTapMonitor.d.ts +17 -0
  238. package/lib/typescript/commonjs/src/anchors/elementTapMonitor.d.ts.map +1 -1
  239. package/lib/typescript/commonjs/src/anchors/elementTargetMatch.d.ts +7 -0
  240. package/lib/typescript/commonjs/src/anchors/elementTargetMatch.d.ts.map +1 -1
  241. package/lib/typescript/commonjs/src/anchors/fiber/FiberScanRootStore.d.ts +5 -0
  242. package/lib/typescript/commonjs/src/anchors/fiber/FiberScanRootStore.d.ts.map +1 -1
  243. package/lib/typescript/commonjs/src/anchors/fiber/detectAppFontFamily.d.ts +30 -0
  244. package/lib/typescript/commonjs/src/anchors/fiber/detectAppFontFamily.d.ts.map +1 -0
  245. package/lib/typescript/commonjs/src/anchors/fiber/fiberInternals.d.ts +7 -0
  246. package/lib/typescript/commonjs/src/anchors/fiber/fiberInternals.d.ts.map +1 -1
  247. package/lib/typescript/commonjs/src/anchors/fiber/indexHostFibers.d.ts +3 -2
  248. package/lib/typescript/commonjs/src/anchors/fiber/indexHostFibers.d.ts.map +1 -1
  249. package/lib/typescript/commonjs/src/anchors/fiber/resolveFiberPath.d.ts +3 -0
  250. package/lib/typescript/commonjs/src/anchors/fiber/resolveFiberPath.d.ts.map +1 -1
  251. package/lib/typescript/commonjs/src/anchors/fiber/visibleScreens.d.ts +2 -0
  252. package/lib/typescript/commonjs/src/anchors/fiber/visibleScreens.d.ts.map +1 -1
  253. package/lib/typescript/commonjs/src/anchors/fiberAnchorCache.d.ts +5 -0
  254. package/lib/typescript/commonjs/src/anchors/fiberAnchorCache.d.ts.map +1 -1
  255. package/lib/typescript/commonjs/src/anchors/gestureHandlerHandoff.d.ts +70 -0
  256. package/lib/typescript/commonjs/src/anchors/gestureHandlerHandoff.d.ts.map +1 -0
  257. package/lib/typescript/commonjs/src/anchors/resolveAnchorHost.d.ts +1 -0
  258. package/lib/typescript/commonjs/src/anchors/resolveAnchorHost.d.ts.map +1 -1
  259. package/lib/typescript/commonjs/src/anchors/resolveAutoAnchorHost.d.ts +11 -4
  260. package/lib/typescript/commonjs/src/anchors/resolveAutoAnchorHost.d.ts.map +1 -1
  261. package/lib/typescript/commonjs/src/anchors/resolveElementTargets.d.ts.map +1 -1
  262. package/lib/typescript/commonjs/src/anchors/semanticMatcher.d.ts +2 -0
  263. package/lib/typescript/commonjs/src/anchors/semanticMatcher.d.ts.map +1 -1
  264. package/lib/typescript/commonjs/src/anchors/tapSlop.d.ts +9 -0
  265. package/lib/typescript/commonjs/src/anchors/tapSlop.d.ts.map +1 -0
  266. package/lib/typescript/commonjs/src/anchors/targetPressMonitor.d.ts +13 -8
  267. package/lib/typescript/commonjs/src/anchors/targetPressMonitor.d.ts.map +1 -1
  268. package/lib/typescript/commonjs/src/authoring/fingerprintFromInstance.d.ts.map +1 -1
  269. package/lib/typescript/commonjs/src/content/BannerStepButton.d.ts.map +1 -1
  270. package/lib/typescript/commonjs/src/content/RichContentRenderer.d.ts.map +1 -1
  271. package/lib/typescript/commonjs/src/content/StepButton.d.ts.map +1 -1
  272. package/lib/typescript/commonjs/src/content/openSafeUrl.d.ts.map +1 -1
  273. package/lib/typescript/commonjs/src/content/resolveContentFontFamily.d.ts +35 -0
  274. package/lib/typescript/commonjs/src/content/resolveContentFontFamily.d.ts.map +1 -0
  275. package/lib/typescript/commonjs/src/expo-router/useUserflowExpoRouter.d.ts.map +1 -1
  276. package/lib/typescript/commonjs/src/index.d.ts +6 -5
  277. package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
  278. package/lib/typescript/commonjs/src/navigation/navigateUrlUtils.d.ts +15 -0
  279. package/lib/typescript/commonjs/src/navigation/navigateUrlUtils.d.ts.map +1 -0
  280. package/lib/typescript/commonjs/src/navigation/openExternalNavigateUrl.d.ts +3 -0
  281. package/lib/typescript/commonjs/src/navigation/openExternalNavigateUrl.d.ts.map +1 -0
  282. package/lib/typescript/commonjs/src/navigation/openFlowNavigateUrl.d.ts +2 -5
  283. package/lib/typescript/commonjs/src/navigation/openFlowNavigateUrl.d.ts.map +1 -1
  284. package/lib/typescript/commonjs/src/pairing/PairingController.d.ts +6 -0
  285. package/lib/typescript/commonjs/src/pairing/PairingController.d.ts.map +1 -1
  286. package/lib/typescript/commonjs/src/runtime/BannerHost.d.ts.map +1 -1
  287. package/lib/typescript/commonjs/src/runtime/TargetPressBridge.d.ts +3 -0
  288. package/lib/typescript/commonjs/src/runtime/TargetPressBridge.d.ts.map +1 -1
  289. package/lib/typescript/commonjs/src/runtime/UserflowOverlay.d.ts.map +1 -1
  290. package/lib/typescript/commonjs/src/runtime/UserflowProvider.d.ts.map +1 -1
  291. package/lib/typescript/commonjs/src/runtime/bannerEngine.d.ts +5 -1
  292. package/lib/typescript/commonjs/src/runtime/bannerEngine.d.ts.map +1 -1
  293. package/lib/typescript/commonjs/src/runtime/bannerFlowSpacer.d.ts +15 -0
  294. package/lib/typescript/commonjs/src/runtime/bannerFlowSpacer.d.ts.map +1 -0
  295. package/lib/typescript/commonjs/src/runtime/flowEngine.d.ts.map +1 -1
  296. package/lib/typescript/commonjs/src/runtime/previewStart.d.ts +13 -0
  297. package/lib/typescript/commonjs/src/runtime/previewStart.d.ts.map +1 -0
  298. package/lib/typescript/commonjs/src/runtime/pushBannerLayoutContext.d.ts +22 -0
  299. package/lib/typescript/commonjs/src/runtime/pushBannerLayoutContext.d.ts.map +1 -0
  300. package/lib/typescript/commonjs/src/screenTracker.d.ts +6 -0
  301. package/lib/typescript/commonjs/src/screenTracker.d.ts.map +1 -1
  302. package/lib/typescript/commonjs/src/surfaces/BannerBar.d.ts +3 -1
  303. package/lib/typescript/commonjs/src/surfaces/BannerBar.d.ts.map +1 -1
  304. package/lib/typescript/commonjs/src/surfaces/BannerSurface.d.ts +6 -5
  305. package/lib/typescript/commonjs/src/surfaces/BannerSurface.d.ts.map +1 -1
  306. package/lib/typescript/commonjs/src/surfaces/ProgressBar.d.ts.map +1 -1
  307. package/lib/typescript/commonjs/src/surfaces/TooltipSurface.d.ts +1 -1
  308. package/lib/typescript/commonjs/src/surfaces/TooltipSurface.d.ts.map +1 -1
  309. package/lib/typescript/commonjs/src/surfaces/bannerBarLayout.d.ts +17 -0
  310. package/lib/typescript/commonjs/src/surfaces/bannerBarLayout.d.ts.map +1 -1
  311. package/lib/typescript/commonjs/src/surfaces/bannerWebView/BannerWebViewBar.d.ts +3 -1
  312. package/lib/typescript/commonjs/src/surfaces/bannerWebView/BannerWebViewBar.d.ts.map +1 -1
  313. package/lib/typescript/commonjs/src/surfaces/bannerWebView/bannerNeedsWebView.d.ts +3 -12
  314. package/lib/typescript/commonjs/src/surfaces/bannerWebView/bannerNeedsWebView.d.ts.map +1 -1
  315. package/lib/typescript/commonjs/src/surfaces/bannerWebView/bannerThemeStyles.d.ts.map +1 -1
  316. package/lib/typescript/commonjs/src/surfaces/bannerWebView/bannerWebViewHeight.d.ts +13 -0
  317. package/lib/typescript/commonjs/src/surfaces/bannerWebView/bannerWebViewHeight.d.ts.map +1 -0
  318. package/lib/typescript/commonjs/src/surfaces/bannerWebView/buildCustomBannerHtml.d.ts.map +1 -1
  319. package/lib/typescript/commonjs/src/surfaces/hostAccessibilityTrap.d.ts +14 -0
  320. package/lib/typescript/commonjs/src/surfaces/hostAccessibilityTrap.d.ts.map +1 -0
  321. package/lib/typescript/commonjs/src/surfaces/resolveBannerTheme.d.ts +4 -1
  322. package/lib/typescript/commonjs/src/surfaces/resolveBannerTheme.d.ts.map +1 -1
  323. package/lib/typescript/commonjs/src/surfaces/tooltip/TooltipBubble.d.ts +7 -1
  324. package/lib/typescript/commonjs/src/surfaces/tooltip/TooltipBubble.d.ts.map +1 -1
  325. package/lib/typescript/commonjs/src/surfaces/tooltip/targetSearchSchedule.d.ts +60 -0
  326. package/lib/typescript/commonjs/src/surfaces/tooltip/targetSearchSchedule.d.ts.map +1 -0
  327. package/lib/typescript/commonjs/src/version.d.ts +1 -1
  328. package/lib/typescript/module/src/anchors/AutoAnchorRegistry.d.ts +36 -2
  329. package/lib/typescript/module/src/anchors/AutoAnchorRegistry.d.ts.map +1 -1
  330. package/lib/typescript/module/src/anchors/animationFrame.d.ts +0 -4
  331. package/lib/typescript/module/src/anchors/animationFrame.d.ts.map +1 -1
  332. package/lib/typescript/module/src/anchors/appActive.d.ts +8 -0
  333. package/lib/typescript/module/src/anchors/appActive.d.ts.map +1 -0
  334. package/lib/typescript/module/src/anchors/elementTapMonitor.d.ts +17 -0
  335. package/lib/typescript/module/src/anchors/elementTapMonitor.d.ts.map +1 -1
  336. package/lib/typescript/module/src/anchors/elementTargetMatch.d.ts +7 -0
  337. package/lib/typescript/module/src/anchors/elementTargetMatch.d.ts.map +1 -1
  338. package/lib/typescript/module/src/anchors/fiber/FiberScanRootStore.d.ts +5 -0
  339. package/lib/typescript/module/src/anchors/fiber/FiberScanRootStore.d.ts.map +1 -1
  340. package/lib/typescript/module/src/anchors/fiber/detectAppFontFamily.d.ts +30 -0
  341. package/lib/typescript/module/src/anchors/fiber/detectAppFontFamily.d.ts.map +1 -0
  342. package/lib/typescript/module/src/anchors/fiber/fiberInternals.d.ts +7 -0
  343. package/lib/typescript/module/src/anchors/fiber/fiberInternals.d.ts.map +1 -1
  344. package/lib/typescript/module/src/anchors/fiber/indexHostFibers.d.ts +3 -2
  345. package/lib/typescript/module/src/anchors/fiber/indexHostFibers.d.ts.map +1 -1
  346. package/lib/typescript/module/src/anchors/fiber/resolveFiberPath.d.ts +3 -0
  347. package/lib/typescript/module/src/anchors/fiber/resolveFiberPath.d.ts.map +1 -1
  348. package/lib/typescript/module/src/anchors/fiber/visibleScreens.d.ts +2 -0
  349. package/lib/typescript/module/src/anchors/fiber/visibleScreens.d.ts.map +1 -1
  350. package/lib/typescript/module/src/anchors/fiberAnchorCache.d.ts +5 -0
  351. package/lib/typescript/module/src/anchors/fiberAnchorCache.d.ts.map +1 -1
  352. package/lib/typescript/module/src/anchors/gestureHandlerHandoff.d.ts +70 -0
  353. package/lib/typescript/module/src/anchors/gestureHandlerHandoff.d.ts.map +1 -0
  354. package/lib/typescript/module/src/anchors/resolveAnchorHost.d.ts +1 -0
  355. package/lib/typescript/module/src/anchors/resolveAnchorHost.d.ts.map +1 -1
  356. package/lib/typescript/module/src/anchors/resolveAutoAnchorHost.d.ts +11 -4
  357. package/lib/typescript/module/src/anchors/resolveAutoAnchorHost.d.ts.map +1 -1
  358. package/lib/typescript/module/src/anchors/resolveElementTargets.d.ts.map +1 -1
  359. package/lib/typescript/module/src/anchors/semanticMatcher.d.ts +2 -0
  360. package/lib/typescript/module/src/anchors/semanticMatcher.d.ts.map +1 -1
  361. package/lib/typescript/module/src/anchors/tapSlop.d.ts +9 -0
  362. package/lib/typescript/module/src/anchors/tapSlop.d.ts.map +1 -0
  363. package/lib/typescript/module/src/anchors/targetPressMonitor.d.ts +13 -8
  364. package/lib/typescript/module/src/anchors/targetPressMonitor.d.ts.map +1 -1
  365. package/lib/typescript/module/src/authoring/fingerprintFromInstance.d.ts.map +1 -1
  366. package/lib/typescript/module/src/content/BannerStepButton.d.ts.map +1 -1
  367. package/lib/typescript/module/src/content/RichContentRenderer.d.ts.map +1 -1
  368. package/lib/typescript/module/src/content/StepButton.d.ts.map +1 -1
  369. package/lib/typescript/module/src/content/openSafeUrl.d.ts.map +1 -1
  370. package/lib/typescript/module/src/content/resolveContentFontFamily.d.ts +35 -0
  371. package/lib/typescript/module/src/content/resolveContentFontFamily.d.ts.map +1 -0
  372. package/lib/typescript/module/src/expo-router/useUserflowExpoRouter.d.ts.map +1 -1
  373. package/lib/typescript/module/src/index.d.ts +6 -5
  374. package/lib/typescript/module/src/index.d.ts.map +1 -1
  375. package/lib/typescript/module/src/navigation/navigateUrlUtils.d.ts +15 -0
  376. package/lib/typescript/module/src/navigation/navigateUrlUtils.d.ts.map +1 -0
  377. package/lib/typescript/module/src/navigation/openExternalNavigateUrl.d.ts +3 -0
  378. package/lib/typescript/module/src/navigation/openExternalNavigateUrl.d.ts.map +1 -0
  379. package/lib/typescript/module/src/navigation/openFlowNavigateUrl.d.ts +2 -5
  380. package/lib/typescript/module/src/navigation/openFlowNavigateUrl.d.ts.map +1 -1
  381. package/lib/typescript/module/src/pairing/PairingController.d.ts +6 -0
  382. package/lib/typescript/module/src/pairing/PairingController.d.ts.map +1 -1
  383. package/lib/typescript/module/src/runtime/BannerHost.d.ts.map +1 -1
  384. package/lib/typescript/module/src/runtime/TargetPressBridge.d.ts +3 -0
  385. package/lib/typescript/module/src/runtime/TargetPressBridge.d.ts.map +1 -1
  386. package/lib/typescript/module/src/runtime/UserflowOverlay.d.ts.map +1 -1
  387. package/lib/typescript/module/src/runtime/UserflowProvider.d.ts.map +1 -1
  388. package/lib/typescript/module/src/runtime/bannerEngine.d.ts +5 -1
  389. package/lib/typescript/module/src/runtime/bannerEngine.d.ts.map +1 -1
  390. package/lib/typescript/module/src/runtime/bannerFlowSpacer.d.ts +15 -0
  391. package/lib/typescript/module/src/runtime/bannerFlowSpacer.d.ts.map +1 -0
  392. package/lib/typescript/module/src/runtime/flowEngine.d.ts.map +1 -1
  393. package/lib/typescript/module/src/runtime/previewStart.d.ts +13 -0
  394. package/lib/typescript/module/src/runtime/previewStart.d.ts.map +1 -0
  395. package/lib/typescript/module/src/runtime/pushBannerLayoutContext.d.ts +22 -0
  396. package/lib/typescript/module/src/runtime/pushBannerLayoutContext.d.ts.map +1 -0
  397. package/lib/typescript/module/src/screenTracker.d.ts +6 -0
  398. package/lib/typescript/module/src/screenTracker.d.ts.map +1 -1
  399. package/lib/typescript/module/src/surfaces/BannerBar.d.ts +3 -1
  400. package/lib/typescript/module/src/surfaces/BannerBar.d.ts.map +1 -1
  401. package/lib/typescript/module/src/surfaces/BannerSurface.d.ts +6 -5
  402. package/lib/typescript/module/src/surfaces/BannerSurface.d.ts.map +1 -1
  403. package/lib/typescript/module/src/surfaces/ProgressBar.d.ts.map +1 -1
  404. package/lib/typescript/module/src/surfaces/TooltipSurface.d.ts +1 -1
  405. package/lib/typescript/module/src/surfaces/TooltipSurface.d.ts.map +1 -1
  406. package/lib/typescript/module/src/surfaces/bannerBarLayout.d.ts +17 -0
  407. package/lib/typescript/module/src/surfaces/bannerBarLayout.d.ts.map +1 -1
  408. package/lib/typescript/module/src/surfaces/bannerWebView/BannerWebViewBar.d.ts +3 -1
  409. package/lib/typescript/module/src/surfaces/bannerWebView/BannerWebViewBar.d.ts.map +1 -1
  410. package/lib/typescript/module/src/surfaces/bannerWebView/bannerNeedsWebView.d.ts +3 -12
  411. package/lib/typescript/module/src/surfaces/bannerWebView/bannerNeedsWebView.d.ts.map +1 -1
  412. package/lib/typescript/module/src/surfaces/bannerWebView/bannerThemeStyles.d.ts.map +1 -1
  413. package/lib/typescript/module/src/surfaces/bannerWebView/bannerWebViewHeight.d.ts +13 -0
  414. package/lib/typescript/module/src/surfaces/bannerWebView/bannerWebViewHeight.d.ts.map +1 -0
  415. package/lib/typescript/module/src/surfaces/bannerWebView/buildCustomBannerHtml.d.ts.map +1 -1
  416. package/lib/typescript/module/src/surfaces/hostAccessibilityTrap.d.ts +14 -0
  417. package/lib/typescript/module/src/surfaces/hostAccessibilityTrap.d.ts.map +1 -0
  418. package/lib/typescript/module/src/surfaces/resolveBannerTheme.d.ts +4 -1
  419. package/lib/typescript/module/src/surfaces/resolveBannerTheme.d.ts.map +1 -1
  420. package/lib/typescript/module/src/surfaces/tooltip/TooltipBubble.d.ts +7 -1
  421. package/lib/typescript/module/src/surfaces/tooltip/TooltipBubble.d.ts.map +1 -1
  422. package/lib/typescript/module/src/surfaces/tooltip/targetSearchSchedule.d.ts +60 -0
  423. package/lib/typescript/module/src/surfaces/tooltip/targetSearchSchedule.d.ts.map +1 -0
  424. package/lib/typescript/module/src/version.d.ts +1 -1
  425. package/package.json +1 -1
  426. package/src/anchors/AutoAnchorRegistry.ts +166 -35
  427. package/src/anchors/animationFrame.ts +31 -1
  428. package/src/anchors/appActive.ts +63 -0
  429. package/src/anchors/elementConditionEvaluator.ts +29 -12
  430. package/src/anchors/elementTapMonitor.ts +68 -10
  431. package/src/anchors/elementTargetMatch.ts +34 -7
  432. package/src/anchors/fiber/FiberScanRootStore.ts +8 -0
  433. package/src/anchors/fiber/detectAppFontFamily.ts +400 -0
  434. package/src/anchors/fiber/fiberInternals.ts +68 -0
  435. package/src/anchors/fiber/indexHostFibers.ts +8 -3
  436. package/src/anchors/fiber/resolveFiberPath.ts +25 -16
  437. package/src/anchors/fiber/visibleScreens.ts +5 -0
  438. package/src/anchors/fiberAnchorCache.ts +19 -0
  439. package/src/anchors/gestureHandlerHandoff.ts +356 -0
  440. package/src/anchors/resolveAnchorHost.ts +2 -0
  441. package/src/anchors/resolveAutoAnchorHost.ts +18 -8
  442. package/src/anchors/resolveElementTargets.ts +64 -7
  443. package/src/anchors/semanticMatcher.ts +48 -27
  444. package/src/anchors/tapSlop.ts +18 -0
  445. package/src/anchors/targetPressMonitor.ts +56 -19
  446. package/src/authoring/fingerprintFromInstance.ts +4 -5
  447. package/src/content/BannerStepButton.tsx +2 -1
  448. package/src/content/RichContentRenderer.tsx +19 -13
  449. package/src/content/StepButton.tsx +2 -1
  450. package/src/content/openSafeUrl.ts +3 -1
  451. package/src/content/resolveContentFontFamily.ts +119 -0
  452. package/src/expo-router/useUserflowExpoRouter.ts +10 -1
  453. package/src/index.ts +22 -9
  454. package/src/navigation/navigateUrlUtils.ts +100 -0
  455. package/src/navigation/openExternalNavigateUrl.ts +9 -0
  456. package/src/navigation/openFlowNavigateUrl.ts +36 -36
  457. package/src/pairing/PairingController.ts +9 -1
  458. package/src/runtime/BannerHost.tsx +41 -23
  459. package/src/runtime/TargetPressBridge.tsx +66 -9
  460. package/src/runtime/UserflowOverlay.tsx +7 -9
  461. package/src/runtime/UserflowProvider.tsx +56 -32
  462. package/src/runtime/bannerEngine.ts +10 -2
  463. package/src/runtime/bannerFlowSpacer.tsx +70 -0
  464. package/src/runtime/flowEngine.ts +11 -0
  465. package/src/runtime/previewStart.ts +49 -0
  466. package/src/runtime/pushBannerLayoutContext.tsx +126 -0
  467. package/src/screenTracker.ts +11 -0
  468. package/src/surfaces/BannerBar.tsx +93 -55
  469. package/src/surfaces/BannerSurface.tsx +61 -9
  470. package/src/surfaces/ProgressBar.tsx +2 -1
  471. package/src/surfaces/TooltipSurface.tsx +78 -53
  472. package/src/surfaces/bannerBarLayout.ts +80 -7
  473. package/src/surfaces/bannerWebView/BannerWebViewBar.tsx +151 -57
  474. package/src/surfaces/bannerWebView/bannerNeedsWebView.ts +4 -36
  475. package/src/surfaces/bannerWebView/bannerThemeStyles.ts +2 -1
  476. package/src/surfaces/bannerWebView/bannerWebViewHeight.ts +32 -0
  477. package/src/surfaces/bannerWebView/buildCustomBannerHtml.ts +111 -23
  478. package/src/surfaces/hostAccessibilityTrap.ts +25 -0
  479. package/src/surfaces/resolveBannerTheme.ts +14 -3
  480. package/src/surfaces/tooltip/TooltipBubble.tsx +8 -1
  481. package/src/surfaces/tooltip/targetSearchSchedule.ts +140 -0
  482. package/src/version.ts +1 -1
  483. package/vendor/core/dist/engine/BannerSessionEngine.d.ts +29 -2
  484. package/vendor/core/dist/engine/BannerSessionEngine.d.ts.map +1 -1
  485. package/vendor/core/dist/engine/BannerSessionEngine.js +87 -6
  486. package/vendor/core/dist/engine/BannerSessionEngine.js.map +1 -1
  487. package/vendor/core/dist/engine/ClientConditionEngine.d.ts.map +1 -1
  488. package/vendor/core/dist/engine/ClientConditionEngine.js +30 -7
  489. package/vendor/core/dist/engine/ClientConditionEngine.js.map +1 -1
  490. package/vendor/core/dist/engine/PairingEngine.d.ts +6 -1
  491. package/vendor/core/dist/engine/PairingEngine.d.ts.map +1 -1
  492. package/vendor/core/dist/engine/PairingEngine.js +23 -3
  493. package/vendor/core/dist/engine/PairingEngine.js.map +1 -1
  494. package/vendor/core/dist/engine/handleActions.d.ts.map +1 -1
  495. package/vendor/core/dist/engine/handleActions.js +67 -2
  496. package/vendor/core/dist/engine/handleActions.js.map +1 -1
  497. package/vendor/core/dist/version.d.ts +1 -1
  498. package/vendor/core/dist/version.js +1 -1
  499. package/vendor/core/package.json +1 -1
  500. package/vendor/protocol/dist/flows.d.ts +2 -0
  501. package/vendor/protocol/dist/flows.d.ts.map +1 -1
  502. package/vendor/protocol/package.json +1 -1
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.isExternalNavigateUrl = isExternalNavigateUrl;
7
+ exports.isInAppNavigateUrl = isInAppNavigateUrl;
8
+ exports.mustNotUseExpoRouterPush = mustNotUseExpoRouterPush;
9
+ exports.normalizeExternalNavigateUrl = normalizeExternalNavigateUrl;
10
+ exports.normalizeInAppPath = normalizeInAppPath;
11
+ exports.normalizeNavigateUrlInput = normalizeNavigateUrlInput;
12
+ exports.routeNameFromPath = routeNameFromPath;
13
+ exports.shouldOpenExternalNavigateUrl = shouldOpenExternalNavigateUrl;
14
+ const ABSOLUTE_WEB_URL = /^https?:\/\//i;
15
+
16
+ /** Hostname.tld with optional port, path, query, or hash — not an in-app screen name like `Profile`. */
17
+ const BARE_EXTERNAL_HOST = /^[\w.-]+\.[a-z]{2,}(?::\d+)?(?:\/[^\s?#]*)?(?:\?[^\s#]*)?(?:#[^\s]*)?$/i;
18
+ function isAllowlistedWebUrl(url) {
19
+ const trimmed = url.trim();
20
+ if (!trimmed) {
21
+ return false;
22
+ }
23
+ if (!ABSOLUTE_WEB_URL.test(trimmed) && !/^mailto:/i.test(trimmed) && !/^tel:/i.test(trimmed)) {
24
+ return false;
25
+ }
26
+ try {
27
+ const parsed = new URL(trimmed);
28
+ return parsed.protocol === 'http:' || parsed.protocol === 'https:' || parsed.protocol === 'mailto:' || parsed.protocol === 'tel:';
29
+ } catch {
30
+ return ABSOLUTE_WEB_URL.test(trimmed);
31
+ }
32
+ }
33
+
34
+ /** Fix common builder typos before classification (`https:/google.com`). */
35
+ function normalizeNavigateUrlInput(url) {
36
+ const trimmed = url.trim();
37
+ return trimmed.replace(/^(https?):\/(?!\/)/i, '$1://');
38
+ }
39
+
40
+ /** Prefix `https://` when the builder URL omitted the scheme (e.g. `google.com`). */
41
+ function normalizeExternalNavigateUrl(url) {
42
+ const trimmed = normalizeNavigateUrlInput(url);
43
+ if (ABSOLUTE_WEB_URL.test(trimmed)) {
44
+ return trimmed;
45
+ }
46
+ if (BARE_EXTERNAL_HOST.test(trimmed) && !trimmed.startsWith('/')) {
47
+ return `https://${trimmed}`;
48
+ }
49
+ return trimmed;
50
+ }
51
+
52
+ /** True when the URL should open outside the app (browser / mail / tel). */
53
+ function shouldOpenExternalNavigateUrl(url) {
54
+ const trimmed = normalizeNavigateUrlInput(url);
55
+ if (!trimmed) {
56
+ return false;
57
+ }
58
+ if (isAllowlistedWebUrl(trimmed)) {
59
+ return true;
60
+ }
61
+ if (ABSOLUTE_WEB_URL.test(trimmed)) {
62
+ return true;
63
+ }
64
+ if (/^mailto:/i.test(trimmed) || /^tel:/i.test(trimmed)) {
65
+ return true;
66
+ }
67
+ if (BARE_EXTERNAL_HOST.test(trimmed) && !trimmed.startsWith('/')) {
68
+ return true;
69
+ }
70
+ return false;
71
+ }
72
+
73
+ /** True for http(s) / mailto / tel (external). */
74
+ function isExternalNavigateUrl(url) {
75
+ return shouldOpenExternalNavigateUrl(url);
76
+ }
77
+
78
+ /** Path-like in-app URL: leading slash, or no scheme. */
79
+ function isInAppNavigateUrl(url) {
80
+ const trimmed = normalizeNavigateUrlInput(url);
81
+ if (!trimmed) return false;
82
+ if (shouldOpenExternalNavigateUrl(trimmed)) return false;
83
+ if (/^[a-z][a-z0-9+.-]*:/i.test(trimmed)) return false;
84
+ return true;
85
+ }
86
+
87
+ /** Never pass absolute / external URLs to Expo Router `push`. */
88
+ function mustNotUseExpoRouterPush(url) {
89
+ const trimmed = normalizeNavigateUrlInput(url);
90
+ if (!trimmed) return false;
91
+ if (shouldOpenExternalNavigateUrl(trimmed)) return true;
92
+ if (trimmed.includes('://')) return true;
93
+ return false;
94
+ }
95
+ function normalizeInAppPath(url) {
96
+ const trimmed = normalizeNavigateUrlInput(url);
97
+ if (trimmed.startsWith('/')) return trimmed;
98
+ return `/${trimmed}`;
99
+ }
100
+ function routeNameFromPath(path) {
101
+ const normalized = normalizeInAppPath(path).replace(/^\//, '');
102
+ const [first] = normalized.split(/[/?#]/);
103
+ return first || normalized;
104
+ }
105
+ //# sourceMappingURL=navigateUrlUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ABSOLUTE_WEB_URL","BARE_EXTERNAL_HOST","isAllowlistedWebUrl","url","trimmed","trim","test","parsed","URL","protocol","normalizeNavigateUrlInput","replace","normalizeExternalNavigateUrl","startsWith","shouldOpenExternalNavigateUrl","isExternalNavigateUrl","isInAppNavigateUrl","mustNotUseExpoRouterPush","includes","normalizeInAppPath","routeNameFromPath","path","normalized","first","split"],"sourceRoot":"../../../src","sources":["navigation/navigateUrlUtils.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.openExternalNavigateUrl = openExternalNavigateUrl;
7
+ var _openSafeUrl = require("../content/openSafeUrl.js");
8
+ var _navigateUrlUtils = require("./navigateUrlUtils.js");
9
+ /** Open http(s)/mailto/tel via Linking (documented SDK behavior). */
10
+ async function openExternalNavigateUrl(url) {
11
+ const external = (0, _navigateUrlUtils.normalizeExternalNavigateUrl)(url);
12
+ await (0, _openSafeUrl.openSafeUrl)(external);
13
+ }
14
+ //# sourceMappingURL=openExternalNavigateUrl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_openSafeUrl","require","_navigateUrlUtils","openExternalNavigateUrl","url","external","normalizeExternalNavigateUrl","openSafeUrl"],"sourceRoot":"../../../src","sources":["navigation/openExternalNavigateUrl.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,IAAAC,iBAAA,GAAAD,OAAA;AAEA;AACO,eAAeE,uBAAuBA,CAACC,GAAW,EAAiB;EACxE,MAAMC,QAAQ,GAAG,IAAAC,8CAA4B,EAACF,GAAG,CAAC;EAClD,MAAM,IAAAG,wBAAW,EAACF,QAAQ,CAAC;AAC7B","ignoreList":[]}
@@ -3,16 +3,39 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.isExternalNavigateUrl = isExternalNavigateUrl;
7
- exports.isInAppNavigateUrl = isInAppNavigateUrl;
6
+ Object.defineProperty(exports, "isExternalNavigateUrl", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _navigateUrlUtils.isExternalNavigateUrl;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "isInAppNavigateUrl", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _navigateUrlUtils.isInAppNavigateUrl;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "normalizeExternalNavigateUrl", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _navigateUrlUtils.normalizeExternalNavigateUrl;
22
+ }
23
+ });
8
24
  exports.openFlowNavigateUrl = openFlowNavigateUrl;
9
25
  exports.resetFlowNavigateRegistryForTests = resetFlowNavigateRegistryForTests;
10
26
  exports.setExpoRouterNavigator = setExpoRouterNavigator;
11
27
  exports.setHostOnNavigate = setHostOnNavigate;
12
28
  exports.setReactNavigationRef = setReactNavigationRef;
13
- var _reactNative = require("react-native");
29
+ Object.defineProperty(exports, "shouldOpenExternalNavigateUrl", {
30
+ enumerable: true,
31
+ get: function () {
32
+ return _navigateUrlUtils.shouldOpenExternalNavigateUrl;
33
+ }
34
+ });
14
35
  var _openSafeUrl = require("../content/openSafeUrl.js");
15
36
  var _isolateCall = require("../runtime/isolateCall.js");
37
+ var _navigateUrlUtils = require("./navigateUrlUtils.js");
38
+ var _openExternalNavigateUrl = require("./openExternalNavigateUrl.js");
16
39
  let hostOnNavigate = null;
17
40
  let navigationRef = null;
18
41
  let expoRouter = null;
@@ -31,37 +54,12 @@ function setReactNavigationRef(ref) {
31
54
  function setExpoRouterNavigator(router) {
32
55
  expoRouter = router ?? null;
33
56
  }
34
-
35
- /** True for http(s) / mailto / tel (external). */
36
- function isExternalNavigateUrl(url) {
37
- return (0, _openSafeUrl.isSafeUrl)(url);
38
- }
39
-
40
- /** Path-like in-app URL: leading slash, or no scheme. */
41
- function isInAppNavigateUrl(url) {
42
- const trimmed = url.trim();
43
- if (!trimmed) return false;
44
- if (isExternalNavigateUrl(trimmed)) return false;
45
- if (/^[a-z][a-z0-9+.-]*:/i.test(trimmed)) return false;
46
- return true;
47
- }
48
- function normalizeInAppPath(url) {
49
- const trimmed = url.trim();
50
- if (trimmed.startsWith('/')) return trimmed;
51
- return `/${trimmed}`;
52
- }
53
- function routeNameFromPath(path) {
54
- const normalized = normalizeInAppPath(path).replace(/^\//, '');
55
- const [first] = normalized.split(/[/?#]/);
56
- return first || normalized;
57
- }
58
-
59
57
  /**
60
58
  * Open a flow NAVIGATE url.
61
59
  *
62
60
  * Priority:
63
61
  * 1. Host `onNavigate` (custom schemes / exotic routing)
64
- * 2. External allowlisted schemes → Linking / `openSafeUrl`
62
+ * 2. External allowlisted schemes → in-app browser / Linking
65
63
  * 3. Path-like → Expo Router `push` or React Navigation `navigate`
66
64
  * 4. Fallback → Linking (best-effort)
67
65
  *
@@ -71,40 +69,48 @@ function routeNameFromPath(path) {
71
69
  * `@userflow-tech/react-native/expo-router` under `UserflowProvider`.
72
70
  */
73
71
  async function openFlowNavigateUrl(url) {
74
- const trimmed = url.trim();
72
+ const trimmed = (0, _navigateUrlUtils.normalizeNavigateUrlInput)(url);
75
73
  if (!trimmed) return;
74
+ if (__DEV__) {
75
+ // eslint-disable-next-line no-console -- intentional development diagnostic
76
+ console.log('[Userflow] NAVIGATE openFlowNavigateUrl', {
77
+ url: trimmed,
78
+ external: (0, _navigateUrlUtils.shouldOpenExternalNavigateUrl)(trimmed),
79
+ inApp: (0, _navigateUrlUtils.isInAppNavigateUrl)(trimmed)
80
+ });
81
+ }
76
82
  if (hostOnNavigate) {
77
83
  await (0, _isolateCall.isolateAsync)('onNavigate', async () => {
78
84
  await hostOnNavigate(trimmed);
79
85
  });
80
86
  return;
81
87
  }
82
- if (isExternalNavigateUrl(trimmed)) {
83
- await (0, _openSafeUrl.openSafeUrl)(trimmed);
88
+ if ((0, _navigateUrlUtils.shouldOpenExternalNavigateUrl)(trimmed)) {
89
+ await (0, _openExternalNavigateUrl.openExternalNavigateUrl)(trimmed);
84
90
  return;
85
91
  }
86
- if (isInAppNavigateUrl(trimmed)) {
92
+ if ((0, _navigateUrlUtils.isInAppNavigateUrl)(trimmed)) {
87
93
  if (expoRouter) {
94
+ if ((0, _navigateUrlUtils.mustNotUseExpoRouterPush)(trimmed)) {
95
+ await (0, _openExternalNavigateUrl.openExternalNavigateUrl)(trimmed);
96
+ return;
97
+ }
88
98
  (0, _isolateCall.isolateSync)('onNavigate', () => {
89
- expoRouter.push(normalizeInAppPath(trimmed));
99
+ expoRouter.push((0, _navigateUrlUtils.normalizeInAppPath)(trimmed));
90
100
  });
91
101
  return;
92
102
  }
93
103
  if (navigationRef?.isReady()) {
94
104
  (0, _isolateCall.isolateSync)('onNavigate', () => {
95
- const name = routeNameFromPath(trimmed);
105
+ const name = (0, _navigateUrlUtils.routeNameFromPath)(trimmed);
96
106
  // eslint-disable-next-line @typescript-eslint/no-explicit-any -- route names are host-defined
97
107
  navigationRef.navigate(name);
98
108
  });
99
109
  return;
100
110
  }
101
111
  }
102
-
103
- // Last resort — may fail for custom schemes; hosts should set onNavigate.
104
- try {
105
- await _reactNative.Linking.openURL(trimmed);
106
- } catch {
107
- // Best-effort.
112
+ if ((0, _openSafeUrl.isSafeUrl)(trimmed) || /^https?:\/\//i.test(trimmed)) {
113
+ await (0, _openExternalNavigateUrl.openExternalNavigateUrl)(trimmed);
108
114
  }
109
115
  }
110
116
 
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_openSafeUrl","_isolateCall","hostOnNavigate","navigationRef","expoRouter","setHostOnNavigate","handler","setReactNavigationRef","ref","setExpoRouterNavigator","router","isExternalNavigateUrl","url","isSafeUrl","isInAppNavigateUrl","trimmed","trim","test","normalizeInAppPath","startsWith","routeNameFromPath","path","normalized","replace","first","split","openFlowNavigateUrl","isolateAsync","openSafeUrl","isolateSync","push","isReady","name","navigate","Linking","openURL","resetFlowNavigateRegistryForTests"],"sourceRoot":"../../../src","sources":["navigation/openFlowNavigateUrl.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_openSafeUrl","require","_isolateCall","_navigateUrlUtils","_openExternalNavigateUrl","hostOnNavigate","navigationRef","expoRouter","setHostOnNavigate","handler","setReactNavigationRef","ref","setExpoRouterNavigator","router","openFlowNavigateUrl","url","trimmed","normalizeNavigateUrlInput","__DEV__","console","log","external","shouldOpenExternalNavigateUrl","inApp","isInAppNavigateUrl","isolateAsync","openExternalNavigateUrl","mustNotUseExpoRouterPush","isolateSync","push","normalizeInAppPath","isReady","name","routeNameFromPath","navigate","isSafeUrl","test","resetFlowNavigateRegistryForTests"],"sourceRoot":"../../../src","sources":["navigation/openFlowNavigateUrl.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,iBAAA,GAAAF,OAAA;AAQA,IAAAG,wBAAA,GAAAH,OAAA;AAQA,IAAII,cAA0C,GAAG,IAAI;AACrD,IAAIC,aAA2D,GAAG,IAAI;AACtE,IAAIC,UAAiC,GAAG,IAAI;;AAE5C;AACO,SAASC,iBAAiBA,CAACC,OAA+C,EAAQ;EACvFJ,cAAc,GAAGI,OAAO,IAAI,IAAI;AAClC;;AAEA;AACO,SAASC,qBAAqBA,CACnCC,GAA6D,EACvD;EACNL,aAAa,GAAGK,GAAG,IAAI,IAAI;AAC7B;;AAEA;AACO,SAASC,sBAAsBA,CAACC,MAAyC,EAAQ;EACtFN,UAAU,GAAGM,MAAM,IAAI,IAAI;AAC7B;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,eAAeC,mBAAmBA,CAACC,GAAW,EAAiB;EACpE,MAAMC,OAAO,GAAG,IAAAC,2CAAyB,EAACF,GAAG,CAAC;EAC9C,IAAI,CAACC,OAAO,EAAE;EAEd,IAAIE,OAAO,EAAE;IACX;IACAC,OAAO,CAACC,GAAG,CAAC,yCAAyC,EAAE;MACrDL,GAAG,EAAEC,OAAO;MACZK,QAAQ,EAAE,IAAAC,+CAA6B,EAACN,OAAO,CAAC;MAChDO,KAAK,EAAE,IAAAC,oCAAkB,EAACR,OAAO;IACnC,CAAC,CAAC;EACJ;EAEA,IAAIX,cAAc,EAAE;IAClB,MAAM,IAAAoB,yBAAY,EAAC,YAAY,EAAE,YAAY;MAC3C,MAAMpB,cAAc,CAAEW,OAAO,CAAC;IAChC,CAAC,CAAC;IACF;EACF;EAEA,IAAI,IAAAM,+CAA6B,EAACN,OAAO,CAAC,EAAE;IAC1C,MAAM,IAAAU,gDAAuB,EAACV,OAAO,CAAC;IACtC;EACF;EAEA,IAAI,IAAAQ,oCAAkB,EAACR,OAAO,CAAC,EAAE;IAC/B,IAAIT,UAAU,EAAE;MACd,IAAI,IAAAoB,0CAAwB,EAACX,OAAO,CAAC,EAAE;QACrC,MAAM,IAAAU,gDAAuB,EAACV,OAAO,CAAC;QACtC;MACF;MACA,IAAAY,wBAAW,EAAC,YAAY,EAAE,MAAM;QAC9BrB,UAAU,CAAEsB,IAAI,CAAC,IAAAC,oCAAkB,EAACd,OAAO,CAAC,CAAC;MAC/C,CAAC,CAAC;MACF;IACF;IACA,IAAIV,aAAa,EAAEyB,OAAO,CAAC,CAAC,EAAE;MAC5B,IAAAH,wBAAW,EAAC,YAAY,EAAE,MAAM;QAC9B,MAAMI,IAAI,GAAG,IAAAC,mCAAiB,EAACjB,OAAO,CAAC;QACvC;QACCV,aAAa,CAA2C4B,QAAQ,CAACF,IAAW,CAAC;MAChF,CAAC,CAAC;MACF;IACF;EACF;EAEA,IAAI,IAAAG,sBAAS,EAACnB,OAAO,CAAC,IAAI,eAAe,CAACoB,IAAI,CAACpB,OAAO,CAAC,EAAE;IACvD,MAAM,IAAAU,gDAAuB,EAACV,OAAO,CAAC;EACxC;AACF;;AAEA;AACO,SAASqB,iCAAiCA,CAAA,EAAS;EACxDhC,cAAc,GAAG,IAAI;EACrBC,aAAa,GAAG,IAAI;EACpBC,UAAU,GAAG,IAAI;AACnB","ignoreList":[]}
@@ -65,6 +65,7 @@ class PairingController {
65
65
  this.LinkingModule = options.LinkingModule ?? _reactNative.Linking;
66
66
  this.AppStateModule = options.AppStateModule ?? _reactNative.AppState;
67
67
  this.clearLocalSession = options.clearLocalSession ?? undefined;
68
+ this.prepareForBuilderPreviewStart = options.prepareForBuilderPreviewStart ?? undefined;
68
69
  this.endDraftSession = options.endDraftSession ?? undefined;
69
70
  this.cancelPendingDraftEnd = options.cancelPendingDraftEnd ?? undefined;
70
71
  this.logger = options.logger ?? _diagnostics.defaultPairingLogger;
@@ -496,7 +497,8 @@ class PairingController {
496
497
  } : {})
497
498
  }),
498
499
  onBeforePreviewStart: () => {
499
- this.clearLocalSession?.();
500
+ const run = this.prepareForBuilderPreviewStart ?? this.clearLocalSession;
501
+ return run?.();
500
502
  }
501
503
  });
502
504
  this.engine.onStateChange(state => {
@@ -1 +1 @@
1
- {"version":3,"names":["_core","require","_protocol","_reactNative","_fiberAnchorCache","_evalJsController","_deepLink","_deviceId","_diagnostics","_elementPickerRelay","_tokenStorage","PairingController","engine","started","urlSub","appStateSub","listeners","Set","pairingDeviceId","acceptedPairingToken","launchEpoch","enterAttempt","previewSaveQueue","Promise","resolve","initPhase","initFailureReason","deferredPairingToken","deferredPurpose","loggedOnce","relayUnsub","constructor","options","core","pairingEndpoint","DEFAULT_PAIRING_ENDPOINT","tokenStore","createPairingTokenStore","LinkingModule","Linking","AppStateModule","AppState","clearLocalSession","undefined","endDraftSession","cancelPendingDraftEnd","logger","defaultPairingLogger","deviceIdProvider","getOrCreatePairingDeviceId","getEngine","hasStarted","getState","blocked","blockedState","held","heldState","status","pairingId","deviceId","previewActive","lastError","needsRescan","awaitingStartCondition","canRestartPreview","previewRestartGeneration","pairingSessionGeneration","previewStartGeneration","pairingPurpose","onStateChange","listener","add","delete","start","startListening","error","warnOnce","pairingListenerSetupFailedMessage","describeError","ensureEngine","addEventListener","url","handleUrl","catch","pairingConnectFailedMessage","next","ensureAlive","initial","getInitialURL","resumeStoredToken","epoch","stored","get","claims","decodePairingJwt","isPairingJwtExpired","current","clear","pairingTokenStoreClearFailedMessage","purpose","getPurpose","connectWhenReady","stop","remove","unbindRelay","exitPreview","inspected","inspectPairingDeepLink","ok","isPairingAttempt","reason","pairingAttemptRejectionMessage","link","pairingToken","token","source","pairingLinkInitFailedMessage","pairingLinkDeferredMessage","emit","enterPreview","notifyInitStarted","wasBlocked","notifyInitialized","deferred","notifyInitFailed","message","has","attempt","resolveDeviceId","saved","savePreviewCredentials","discardPreviewToken","previous","release","set","revertPreviewCredentials","setPurpose","evalJsController","reset","pairingPreviewErrorMessage","restartPreview","clearFiberAnchorCache","notifyIdentified","PairingEngine","sendClientMessage","send","onServerMessage","handler","isIdentified","getUserId","pairingOptions","deviceMeta","os","Platform","OS","device_id","onBeforePreviewStart","state","bindElementPickerRelay","exports","Error","String"],"sourceRoot":"../../../src","sources":["pairing/PairingController.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_core","require","_protocol","_reactNative","_fiberAnchorCache","_evalJsController","_deepLink","_deviceId","_diagnostics","_elementPickerRelay","_tokenStorage","PairingController","engine","started","urlSub","appStateSub","listeners","Set","pairingDeviceId","acceptedPairingToken","launchEpoch","enterAttempt","previewSaveQueue","Promise","resolve","initPhase","initFailureReason","deferredPairingToken","deferredPurpose","loggedOnce","relayUnsub","constructor","options","core","pairingEndpoint","DEFAULT_PAIRING_ENDPOINT","tokenStore","createPairingTokenStore","LinkingModule","Linking","AppStateModule","AppState","clearLocalSession","undefined","prepareForBuilderPreviewStart","endDraftSession","cancelPendingDraftEnd","logger","defaultPairingLogger","deviceIdProvider","getOrCreatePairingDeviceId","getEngine","hasStarted","getState","blocked","blockedState","held","heldState","status","pairingId","deviceId","previewActive","lastError","needsRescan","awaitingStartCondition","canRestartPreview","previewRestartGeneration","pairingSessionGeneration","previewStartGeneration","pairingPurpose","onStateChange","listener","add","delete","start","startListening","error","warnOnce","pairingListenerSetupFailedMessage","describeError","ensureEngine","addEventListener","url","handleUrl","catch","pairingConnectFailedMessage","next","ensureAlive","initial","getInitialURL","resumeStoredToken","epoch","stored","get","claims","decodePairingJwt","isPairingJwtExpired","current","clear","pairingTokenStoreClearFailedMessage","purpose","getPurpose","connectWhenReady","stop","remove","unbindRelay","exitPreview","inspected","inspectPairingDeepLink","ok","isPairingAttempt","reason","pairingAttemptRejectionMessage","link","pairingToken","token","source","pairingLinkInitFailedMessage","pairingLinkDeferredMessage","emit","enterPreview","notifyInitStarted","wasBlocked","notifyInitialized","deferred","notifyInitFailed","message","has","attempt","resolveDeviceId","saved","savePreviewCredentials","discardPreviewToken","previous","release","set","revertPreviewCredentials","setPurpose","evalJsController","reset","pairingPreviewErrorMessage","restartPreview","clearFiberAnchorCache","notifyIdentified","PairingEngine","sendClientMessage","send","onServerMessage","handler","isIdentified","getUserId","pairingOptions","deviceMeta","os","Platform","OS","device_id","onBeforePreviewStart","run","state","bindElementPickerRelay","exports","Error","String"],"sourceRoot":"../../../src","sources":["pairing/PairingController.ts"],"mappings":"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","ignoreList":[]}
@@ -8,7 +8,7 @@ var React = _interopRequireWildcard(require("react"));
8
8
  var _reactNative = require("react-native");
9
9
  var _BannerSurface = require("../surfaces/BannerSurface.js");
10
10
  var _bannerBarLayout = require("../surfaces/bannerBarLayout.js");
11
- var _resolveBannerTheme = require("../surfaces/resolveBannerTheme.js");
11
+ var _bannerNeedsWebView = require("../surfaces/bannerWebView/bannerNeedsWebView.js");
12
12
  var _safeArea = require("../surfaces/safeArea.js");
13
13
  var _SdkErrorBoundary = require("./SdkErrorBoundary.js");
14
14
  var _bannerPlacement = require("./bannerPlacement.js");
@@ -42,55 +42,64 @@ function BannerHost({
42
42
  if (hidden || !session || !banner || !edge) return null;
43
43
  if (edgeFilter && edge !== edgeFilter) return null;
44
44
  const floats = banner.overlay !== false;
45
- if (placement === 'overlay' !== floats) return null;
45
+ const usesWebView = (0, _bannerNeedsWebView.bannerNeedsWebView)(banner);
46
+ // Custom banner WebViews paint in the overlay host (same as userflow.js). A second
47
+ // WKWebView in the flow slot often fails to load after the first banner dismisses.
48
+ const hostAsOverlay = floats || usesWebView;
49
+ if (placement === 'overlay' !== hostAsOverlay) return null;
50
+ const pushLayoutEdge = placement === 'flow' && !hostAsOverlay ? edge : null;
51
+ // Builder overlay:true floats below the status bar. Push-layout WebViews in the overlay
52
+ // host still paint safe-area chrome (overlay:false + custom banner).
53
+ const overlaySafeEdge = hostAsOverlay && !floats ? edge : null;
54
+ const surface = /*#__PURE__*/(0, _jsxRuntime.jsx)(_BannerSurface.BannerSurface, {
55
+ session: session,
56
+ pushLayoutEdge: pushLayoutEdge,
57
+ overlaySafeEdge: overlaySafeEdge,
58
+ onActions: actions => engine.handleActions(actions),
59
+ onDismiss: endReason => {
60
+ void engine.endBanner(endReason);
61
+ }
62
+ });
46
63
  const bar = /*#__PURE__*/(0, _jsxRuntime.jsx)(_SdkErrorBoundary.SdkErrorBoundary, {
47
64
  scope: "banner",
48
65
  resetKey: session.id,
49
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_BannerSurface.BannerSurface, {
50
- session: session,
51
- onActions: actions => engine.handleActions(actions),
52
- onDismiss: endReason => {
53
- void engine.endBanner(endReason);
54
- }
55
- })
66
+ children: placement === 'flow' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
67
+ testID: "userflow-banner-flow",
68
+ style: styles.flow,
69
+ children: surface
70
+ }) : surface
56
71
  });
57
72
  if (placement === 'flow') {
58
- const backgroundColor = bannerBackground(session);
59
- const safePad = edge === 'top' ? {
60
- paddingTop: insets.top
61
- } : {
62
- paddingBottom: insets.bottom
63
- };
64
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
65
- testID: "userflow-banner-flow",
66
- style: [styles.flow, safePad, {
67
- backgroundColor
68
- }],
69
- children: bar
70
- });
73
+ return bar;
71
74
  }
72
75
  const edgeStyle = edge === 'top' ? {
73
- top: insets.top
76
+ top: floats ? insets.top : 0
74
77
  } : {
75
- bottom: insets.bottom
78
+ bottom: floats ? insets.bottom : 0
76
79
  };
77
80
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
78
81
  pointerEvents: "box-none",
79
82
  style: [styles.pin, edgeStyle, (0, _bannerBarLayout.bannerOverlayHostPadding)(insets)],
80
- children: bar
83
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
84
+ pointerEvents: "auto",
85
+ style: styles.pinInteractive,
86
+ children: bar
87
+ })
81
88
  });
82
89
  }
83
- function bannerBackground(session) {
84
- return (0, _resolveBannerTheme.resolveBannerBackgroundColor)(session.version.theme);
85
- }
86
90
  const styles = _reactNative.StyleSheet.create({
87
91
  pin: {
88
92
  position: 'absolute',
89
93
  left: 0,
90
- right: 0
94
+ right: 0,
95
+ zIndex: 10,
96
+ elevation: 10
91
97
  },
92
98
  flow: {
93
99
  alignSelf: 'stretch'
100
+ },
101
+ pinInteractive: {
102
+ alignSelf: 'stretch'
94
103
  }
95
104
  });
96
105
  //# sourceMappingURL=BannerHost.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_BannerSurface","_bannerBarLayout","_resolveBannerTheme","_safeArea","_SdkErrorBoundary","_bannerPlacement","_embedBannerRegistry","_useBannerSession","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","BannerHost","engine","hidden","placement","edge","edgeFilter","session","useBannerSession","banner","version","bannerEdge","embedMode","insets","useUserflowSafeAreaInsets","useEffect","placeholderId","embedBannerPlaceholderId","hasEmbedBannerPlaceholder","message","warnBannerOnce","id","floats","overlay","bar","jsx","SdkErrorBoundary","scope","resetKey","children","BannerSurface","onActions","actions","handleActions","onDismiss","endReason","endBanner","backgroundColor","bannerBackground","safePad","paddingTop","top","paddingBottom","bottom","View","testID","style","styles","flow","edgeStyle","pointerEvents","pin","bannerOverlayHostPadding","resolveBannerBackgroundColor","theme","StyleSheet","create","position","left","right","alignSelf"],"sourceRoot":"../../../src","sources":["runtime/BannerHost.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_BannerSurface","_bannerBarLayout","_bannerNeedsWebView","_safeArea","_SdkErrorBoundary","_bannerPlacement","_embedBannerRegistry","_useBannerSession","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","BannerHost","engine","hidden","placement","edge","edgeFilter","session","useBannerSession","banner","version","bannerEdge","embedMode","insets","useUserflowSafeAreaInsets","useEffect","placeholderId","embedBannerPlaceholderId","hasEmbedBannerPlaceholder","message","warnBannerOnce","id","floats","overlay","usesWebView","bannerNeedsWebView","hostAsOverlay","pushLayoutEdge","overlaySafeEdge","surface","jsx","BannerSurface","onActions","actions","handleActions","onDismiss","endReason","endBanner","bar","SdkErrorBoundary","scope","resetKey","children","View","testID","style","styles","flow","edgeStyle","top","bottom","pointerEvents","pin","bannerOverlayHostPadding","pinInteractive","StyleSheet","create","position","left","right","zIndex","elevation","alignSelf"],"sourceRoot":"../../../src","sources":["runtime/BannerHost.tsx"],"mappings":"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","ignoreList":[]}
@@ -8,6 +8,7 @@ var React = _interopRequireWildcard(require("react"));
8
8
  var _reactNative = require("react-native");
9
9
  var _elementTapMonitor = require("../anchors/elementTapMonitor.js");
10
10
  var _touchTargetFiber = require("../anchors/fiber/touchTargetFiber.js");
11
+ var _gestureHandlerHandoff = require("../anchors/gestureHandlerHandoff.js");
11
12
  var _targetPressMonitor = require("../anchors/targetPressMonitor.js");
12
13
  var _changedTouchPoints = require("./changedTouchPoints.js");
13
14
  var _isolateCall = require("./isolateCall.js");
@@ -26,6 +27,9 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
26
27
  * Preview-chrome double taps are observed by `DoubleTapBridge` around the
27
28
  * whole provider tree — this bridge never sees overlay touches.
28
29
  *
30
+ * A touch that gesture-handler cancels is not dropped. The start is kept and
31
+ * counts as a tap if that handler later ends from ACTIVE.
32
+ *
29
33
  * Does not claim the gesture responder.
30
34
  */
31
35
  function TargetPressBridge({
@@ -53,15 +57,23 @@ function TargetPressBridge({
53
57
  }, []);
54
58
  const onTouchCancel = React.useCallback(event => {
55
59
  (0, _isolateCall.isolateSync)('target-press', () => {
56
- const points = (0, _changedTouchPoints.changedTouchPoints)(event);
57
- if (points.length === 0) {
58
- _targetPressMonitor.targetPressMonitor.cancelTouch();
59
- _elementTapMonitor.elementTapMonitor.cancelTouch();
60
+ const changed = event.nativeEvent.changedTouches;
61
+ if (!changed || changed.length === 0) {
62
+ const identifiers = inProgressIdentifiers();
63
+ if (identifiers.length === 0) {
64
+ _targetPressMonitor.targetPressMonitor.cancelTouch();
65
+ _elementTapMonitor.elementTapMonitor.cancelTouch();
66
+ return;
67
+ }
68
+ // No per-finger target on this event; every finger shares its view.
69
+ const fallback = (0, _touchTargetFiber.touchTargetFiber)(event);
70
+ for (const identifier of identifiers) {
71
+ handOffCancelledTouch(event, identifier, fallback);
72
+ }
60
73
  return;
61
74
  }
62
- for (const touch of points) {
63
- _targetPressMonitor.targetPressMonitor.cancelTouch(touch.identifier);
64
- _elementTapMonitor.elementTapMonitor.cancelTouch(touch.identifier);
75
+ for (const touch of changed) {
76
+ handOffCancelledTouch(event, touch.identifier, null);
65
77
  }
66
78
  });
67
79
  }, []);
@@ -75,6 +87,42 @@ function TargetPressBridge({
75
87
  children: children
76
88
  });
77
89
  }
90
+
91
+ /**
92
+ * A finger gesture-handler cancelled. Keep it if the touched view belongs to a
93
+ * gesture-handler control. A scroll container, or a touch with no handler, is
94
+ * dropped the way a system cancel is.
95
+ * `fallbackFiber` is used when this event names no per-finger target.
96
+ */
97
+ function handOffCancelledTouch(event, identifier, fallbackFiber) {
98
+ const elementHas = _elementTapMonitor.elementTapMonitor.hasTouch(identifier);
99
+ const tooltipHas = _targetPressMonitor.targetPressMonitor.hasTouch(identifier);
100
+ if (!elementHas && !tooltipHas) {
101
+ _elementTapMonitor.elementTapMonitor.cancelTouch(identifier);
102
+ _targetPressMonitor.targetPressMonitor.cancelTouch(identifier);
103
+ return;
104
+ }
105
+ const stored = elementHas ? _elementTapMonitor.elementTapMonitor.startFiber(identifier) : null;
106
+ const fiber = stored ?? fallbackFiber ?? (0, _touchTargetFiber.touchTargetFiber)(event, identifier);
107
+ const tags = (0, _gestureHandlerHandoff.collectGestureHandlerTags)(fiber);
108
+ if (tags.length === 0) {
109
+ _elementTapMonitor.elementTapMonitor.cancelTouch(identifier);
110
+ _targetPressMonitor.targetPressMonitor.cancelTouch(identifier);
111
+ return;
112
+ }
113
+ if (elementHas) _elementTapMonitor.elementTapMonitor.handOffTouch(identifier, tags);
114
+ if (tooltipHas) _targetPressMonitor.targetPressMonitor.handOffTouch(identifier, tags);
115
+ }
116
+ function inProgressIdentifiers() {
117
+ const seen = new Set();
118
+ const identifiers = [];
119
+ for (const identifier of [..._elementTapMonitor.elementTapMonitor.inProgressIdentifiers(), ..._targetPressMonitor.targetPressMonitor.inProgressIdentifiers()]) {
120
+ if (seen.has(identifier)) continue;
121
+ seen.add(identifier);
122
+ identifiers.push(identifier);
123
+ }
124
+ return identifiers;
125
+ }
78
126
  const styles = _reactNative.StyleSheet.create({
79
127
  root: {
80
128
  flex: 1