@userflow-tech/react-native 0.5.0 → 0.7.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 (328) hide show
  1. package/README.md +65 -33
  2. package/docs/custom-fonts.md +36 -0
  3. package/docs/troubleshooting.md +45 -44
  4. package/expo-plugin/hostDependencyWarnings.d.ts +5 -5
  5. package/expo-plugin/hostDependencyWarnings.js +7 -7
  6. package/expo-plugin/hostDependencyWarnings.js.map +1 -1
  7. package/lib/commonjs/anchors/AnchorRegistry.js +5 -0
  8. package/lib/commonjs/anchors/AnchorRegistry.js.map +1 -1
  9. package/lib/commonjs/anchors/ScrollContainerRegistry.js +8 -0
  10. package/lib/commonjs/anchors/ScrollContainerRegistry.js.map +1 -1
  11. package/lib/commonjs/anchors/fiber/FiberScanRootStore.js +8 -0
  12. package/lib/commonjs/anchors/fiber/FiberScanRootStore.js.map +1 -1
  13. package/lib/commonjs/anchors/fiber/detectAppFontFamily.js +341 -0
  14. package/lib/commonjs/anchors/fiber/detectAppFontFamily.js.map +1 -0
  15. package/lib/commonjs/anchors/fiber/presentedModal.js +215 -0
  16. package/lib/commonjs/anchors/fiber/presentedModal.js.map +1 -0
  17. package/lib/commonjs/anchors/fiber/touchTargetFiber.js +1 -0
  18. package/lib/commonjs/anchors/fiber/touchTargetFiber.js.map +1 -1
  19. package/lib/commonjs/anchors/fiber/visibleRect.js +12 -3
  20. package/lib/commonjs/anchors/fiber/visibleRect.js.map +1 -1
  21. package/lib/commonjs/anchors/fiber/visibleScreens.js +6 -0
  22. package/lib/commonjs/anchors/fiber/visibleScreens.js.map +1 -1
  23. package/lib/commonjs/anchors/useUserflowAnchor.js.map +1 -1
  24. package/lib/commonjs/anchors/useUserflowScrollContainer.js.map +1 -1
  25. package/lib/commonjs/authoring/ElementPickerOverlay.js +197 -138
  26. package/lib/commonjs/authoring/ElementPickerOverlay.js.map +1 -1
  27. package/lib/commonjs/authoring/hitTest.js +67 -10
  28. package/lib/commonjs/authoring/hitTest.js.map +1 -1
  29. package/lib/commonjs/authoring/hostAtPoint.js +45 -21
  30. package/lib/commonjs/authoring/hostAtPoint.js.map +1 -1
  31. package/lib/commonjs/content/BannerStepButton.js +2 -1
  32. package/lib/commonjs/content/BannerStepButton.js.map +1 -1
  33. package/lib/commonjs/content/RichContentRenderer.js +27 -9
  34. package/lib/commonjs/content/RichContentRenderer.js.map +1 -1
  35. package/lib/commonjs/content/StepButton.js +2 -1
  36. package/lib/commonjs/content/StepButton.js.map +1 -1
  37. package/lib/commonjs/content/resolveContentFontFamily.js +96 -0
  38. package/lib/commonjs/content/resolveContentFontFamily.js.map +1 -0
  39. package/lib/commonjs/deepLinking.js.map +1 -1
  40. package/lib/commonjs/deviceContext.js +39 -19
  41. package/lib/commonjs/deviceContext.js.map +1 -1
  42. package/lib/commonjs/index.js +13 -5
  43. package/lib/commonjs/index.js.map +1 -1
  44. package/lib/commonjs/installCheck.js +3 -3
  45. package/lib/commonjs/installCheck.js.map +1 -1
  46. package/lib/commonjs/lifecycle.js +2 -0
  47. package/lib/commonjs/lifecycle.js.map +1 -1
  48. package/lib/commonjs/pairing/PairingController.js.map +1 -1
  49. package/lib/commonjs/runtime/BannerHost.js +3 -3
  50. package/lib/commonjs/runtime/BannerHost.js.map +1 -1
  51. package/lib/commonjs/runtime/UserflowOverlay.js +17 -13
  52. package/lib/commonjs/runtime/UserflowOverlay.js.map +1 -1
  53. package/lib/commonjs/runtime/WindowOverlayHost.js +83 -0
  54. package/lib/commonjs/runtime/WindowOverlayHost.js.map +1 -0
  55. package/lib/commonjs/runtime/pushBannerLayoutContext.js +11 -8
  56. package/lib/commonjs/runtime/pushBannerLayoutContext.js.map +1 -1
  57. package/lib/commonjs/runtime/userflowCore.js +9 -2
  58. package/lib/commonjs/runtime/userflowCore.js.map +1 -1
  59. package/lib/commonjs/surfaces/BannerSurface.js +2 -6
  60. package/lib/commonjs/surfaces/BannerSurface.js.map +1 -1
  61. package/lib/commonjs/surfaces/ProgressBar.js +2 -1
  62. package/lib/commonjs/surfaces/ProgressBar.js.map +1 -1
  63. package/lib/commonjs/surfaces/TooltipSurface.js +114 -51
  64. package/lib/commonjs/surfaces/TooltipSurface.js.map +1 -1
  65. package/lib/commonjs/surfaces/bannerWebView/BannerWebViewBar.js +6 -4
  66. package/lib/commonjs/surfaces/bannerWebView/BannerWebViewBar.js.map +1 -1
  67. package/lib/commonjs/surfaces/bannerWebView/bannerNeedsWebView.js +3 -33
  68. package/lib/commonjs/surfaces/bannerWebView/bannerNeedsWebView.js.map +1 -1
  69. package/lib/commonjs/surfaces/bannerWebView/bannerThemeStyles.js +2 -1
  70. package/lib/commonjs/surfaces/bannerWebView/bannerThemeStyles.js.map +1 -1
  71. package/lib/commonjs/surfaces/bannerWebView/bannerWebViewHeight.js +33 -0
  72. package/lib/commonjs/surfaces/bannerWebView/bannerWebViewHeight.js.map +1 -0
  73. package/lib/commonjs/surfaces/bannerWebView/buildCustomBannerHtml.js +45 -12
  74. package/lib/commonjs/surfaces/bannerWebView/buildCustomBannerHtml.js.map +1 -1
  75. package/lib/commonjs/surfaces/tooltip/TooltipHighlight.js +6 -6
  76. package/lib/commonjs/surfaces/tooltip/TooltipHighlight.js.map +1 -1
  77. package/lib/commonjs/surfaces/tooltip/targetOrigin.js +74 -0
  78. package/lib/commonjs/surfaces/tooltip/targetOrigin.js.map +1 -0
  79. package/lib/commonjs/version.js +1 -1
  80. package/lib/module/anchors/AnchorRegistry.js +5 -0
  81. package/lib/module/anchors/AnchorRegistry.js.map +1 -1
  82. package/lib/module/anchors/ScrollContainerRegistry.js +8 -0
  83. package/lib/module/anchors/ScrollContainerRegistry.js.map +1 -1
  84. package/lib/module/anchors/fiber/FiberScanRootStore.js +8 -0
  85. package/lib/module/anchors/fiber/FiberScanRootStore.js.map +1 -1
  86. package/lib/module/anchors/fiber/detectAppFontFamily.js +330 -0
  87. package/lib/module/anchors/fiber/detectAppFontFamily.js.map +1 -0
  88. package/lib/module/anchors/fiber/presentedModal.js +206 -0
  89. package/lib/module/anchors/fiber/presentedModal.js.map +1 -0
  90. package/lib/module/anchors/fiber/touchTargetFiber.js +1 -0
  91. package/lib/module/anchors/fiber/touchTargetFiber.js.map +1 -1
  92. package/lib/module/anchors/fiber/visibleRect.js +12 -3
  93. package/lib/module/anchors/fiber/visibleRect.js.map +1 -1
  94. package/lib/module/anchors/fiber/visibleScreens.js +5 -0
  95. package/lib/module/anchors/fiber/visibleScreens.js.map +1 -1
  96. package/lib/module/anchors/useUserflowAnchor.js.map +1 -1
  97. package/lib/module/anchors/useUserflowScrollContainer.js.map +1 -1
  98. package/lib/module/authoring/ElementPickerOverlay.js +199 -140
  99. package/lib/module/authoring/ElementPickerOverlay.js.map +1 -1
  100. package/lib/module/authoring/hitTest.js +67 -11
  101. package/lib/module/authoring/hitTest.js.map +1 -1
  102. package/lib/module/authoring/hostAtPoint.js +45 -21
  103. package/lib/module/authoring/hostAtPoint.js.map +1 -1
  104. package/lib/module/content/BannerStepButton.js +2 -1
  105. package/lib/module/content/BannerStepButton.js.map +1 -1
  106. package/lib/module/content/RichContentRenderer.js +27 -9
  107. package/lib/module/content/RichContentRenderer.js.map +1 -1
  108. package/lib/module/content/StepButton.js +2 -1
  109. package/lib/module/content/StepButton.js.map +1 -1
  110. package/lib/module/content/resolveContentFontFamily.js +89 -0
  111. package/lib/module/content/resolveContentFontFamily.js.map +1 -0
  112. package/lib/module/deepLinking.js.map +1 -1
  113. package/lib/module/deviceContext.js +38 -17
  114. package/lib/module/deviceContext.js.map +1 -1
  115. package/lib/module/index.js +13 -5
  116. package/lib/module/index.js.map +1 -1
  117. package/lib/module/installCheck.js +3 -3
  118. package/lib/module/installCheck.js.map +1 -1
  119. package/lib/module/lifecycle.js +2 -0
  120. package/lib/module/lifecycle.js.map +1 -1
  121. package/lib/module/pairing/PairingController.js.map +1 -1
  122. package/lib/module/runtime/BannerHost.js +3 -3
  123. package/lib/module/runtime/BannerHost.js.map +1 -1
  124. package/lib/module/runtime/UserflowOverlay.js +18 -14
  125. package/lib/module/runtime/UserflowOverlay.js.map +1 -1
  126. package/lib/module/runtime/WindowOverlayHost.js +76 -0
  127. package/lib/module/runtime/WindowOverlayHost.js.map +1 -0
  128. package/lib/module/runtime/pushBannerLayoutContext.js +11 -8
  129. package/lib/module/runtime/pushBannerLayoutContext.js.map +1 -1
  130. package/lib/module/runtime/userflowCore.js +9 -2
  131. package/lib/module/runtime/userflowCore.js.map +1 -1
  132. package/lib/module/surfaces/BannerSurface.js +2 -6
  133. package/lib/module/surfaces/BannerSurface.js.map +1 -1
  134. package/lib/module/surfaces/ProgressBar.js +2 -1
  135. package/lib/module/surfaces/ProgressBar.js.map +1 -1
  136. package/lib/module/surfaces/TooltipSurface.js +114 -51
  137. package/lib/module/surfaces/TooltipSurface.js.map +1 -1
  138. package/lib/module/surfaces/bannerWebView/BannerWebViewBar.js +6 -4
  139. package/lib/module/surfaces/bannerWebView/BannerWebViewBar.js.map +1 -1
  140. package/lib/module/surfaces/bannerWebView/bannerNeedsWebView.js +3 -31
  141. package/lib/module/surfaces/bannerWebView/bannerNeedsWebView.js.map +1 -1
  142. package/lib/module/surfaces/bannerWebView/bannerThemeStyles.js +2 -1
  143. package/lib/module/surfaces/bannerWebView/bannerThemeStyles.js.map +1 -1
  144. package/lib/module/surfaces/bannerWebView/bannerWebViewHeight.js +29 -0
  145. package/lib/module/surfaces/bannerWebView/bannerWebViewHeight.js.map +1 -0
  146. package/lib/module/surfaces/bannerWebView/buildCustomBannerHtml.js +45 -12
  147. package/lib/module/surfaces/bannerWebView/buildCustomBannerHtml.js.map +1 -1
  148. package/lib/module/surfaces/tooltip/TooltipHighlight.js +6 -6
  149. package/lib/module/surfaces/tooltip/TooltipHighlight.js.map +1 -1
  150. package/lib/module/surfaces/tooltip/targetOrigin.js +67 -0
  151. package/lib/module/surfaces/tooltip/targetOrigin.js.map +1 -0
  152. package/lib/module/version.js +1 -1
  153. package/lib/typescript/commonjs/src/anchors/AnchorRegistry.d.ts +7 -0
  154. package/lib/typescript/commonjs/src/anchors/AnchorRegistry.d.ts.map +1 -1
  155. package/lib/typescript/commonjs/src/anchors/ScrollContainerRegistry.d.ts +11 -2
  156. package/lib/typescript/commonjs/src/anchors/ScrollContainerRegistry.d.ts.map +1 -1
  157. package/lib/typescript/commonjs/src/anchors/fiber/FiberScanRootStore.d.ts +5 -0
  158. package/lib/typescript/commonjs/src/anchors/fiber/FiberScanRootStore.d.ts.map +1 -1
  159. package/lib/typescript/commonjs/src/anchors/fiber/detectAppFontFamily.d.ts +30 -0
  160. package/lib/typescript/commonjs/src/anchors/fiber/detectAppFontFamily.d.ts.map +1 -0
  161. package/lib/typescript/commonjs/src/anchors/fiber/presentedModal.d.ts +45 -0
  162. package/lib/typescript/commonjs/src/anchors/fiber/presentedModal.d.ts.map +1 -0
  163. package/lib/typescript/commonjs/src/anchors/fiber/visibleRect.d.ts +5 -2
  164. package/lib/typescript/commonjs/src/anchors/fiber/visibleRect.d.ts.map +1 -1
  165. package/lib/typescript/commonjs/src/anchors/fiber/visibleScreens.d.ts +2 -0
  166. package/lib/typescript/commonjs/src/anchors/fiber/visibleScreens.d.ts.map +1 -1
  167. package/lib/typescript/commonjs/src/anchors/useUserflowAnchor.d.ts +2 -2
  168. package/lib/typescript/commonjs/src/anchors/useUserflowAnchor.d.ts.map +1 -1
  169. package/lib/typescript/commonjs/src/anchors/useUserflowScrollContainer.d.ts +3 -2
  170. package/lib/typescript/commonjs/src/anchors/useUserflowScrollContainer.d.ts.map +1 -1
  171. package/lib/typescript/commonjs/src/authoring/ElementPickerOverlay.d.ts +4 -0
  172. package/lib/typescript/commonjs/src/authoring/ElementPickerOverlay.d.ts.map +1 -1
  173. package/lib/typescript/commonjs/src/authoring/hitTest.d.ts +25 -2
  174. package/lib/typescript/commonjs/src/authoring/hitTest.d.ts.map +1 -1
  175. package/lib/typescript/commonjs/src/authoring/hostAtPoint.d.ts +6 -1
  176. package/lib/typescript/commonjs/src/authoring/hostAtPoint.d.ts.map +1 -1
  177. package/lib/typescript/commonjs/src/content/BannerStepButton.d.ts.map +1 -1
  178. package/lib/typescript/commonjs/src/content/RichContentRenderer.d.ts.map +1 -1
  179. package/lib/typescript/commonjs/src/content/StepButton.d.ts.map +1 -1
  180. package/lib/typescript/commonjs/src/content/resolveContentFontFamily.d.ts +35 -0
  181. package/lib/typescript/commonjs/src/content/resolveContentFontFamily.d.ts.map +1 -0
  182. package/lib/typescript/commonjs/src/deepLinking.d.ts +1 -1
  183. package/lib/typescript/commonjs/src/deepLinking.d.ts.map +1 -1
  184. package/lib/typescript/commonjs/src/deviceContext.d.ts +14 -5
  185. package/lib/typescript/commonjs/src/deviceContext.d.ts.map +1 -1
  186. package/lib/typescript/commonjs/src/index.d.ts +11 -5
  187. package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
  188. package/lib/typescript/commonjs/src/installCheck.d.ts +2 -2
  189. package/lib/typescript/commonjs/src/installCheck.d.ts.map +1 -1
  190. package/lib/typescript/commonjs/src/lifecycle.d.ts +1 -0
  191. package/lib/typescript/commonjs/src/lifecycle.d.ts.map +1 -1
  192. package/lib/typescript/commonjs/src/pairing/PairingController.d.ts +1 -1
  193. package/lib/typescript/commonjs/src/pairing/PairingController.d.ts.map +1 -1
  194. package/lib/typescript/commonjs/src/runtime/UserflowOverlay.d.ts.map +1 -1
  195. package/lib/typescript/commonjs/src/runtime/WindowOverlayHost.d.ts +34 -0
  196. package/lib/typescript/commonjs/src/runtime/WindowOverlayHost.d.ts.map +1 -0
  197. package/lib/typescript/commonjs/src/runtime/pushBannerLayoutContext.d.ts +5 -0
  198. package/lib/typescript/commonjs/src/runtime/pushBannerLayoutContext.d.ts.map +1 -1
  199. package/lib/typescript/commonjs/src/runtime/userflowCore.d.ts.map +1 -1
  200. package/lib/typescript/commonjs/src/surfaces/BannerSurface.d.ts +1 -4
  201. package/lib/typescript/commonjs/src/surfaces/BannerSurface.d.ts.map +1 -1
  202. package/lib/typescript/commonjs/src/surfaces/ProgressBar.d.ts.map +1 -1
  203. package/lib/typescript/commonjs/src/surfaces/TooltipSurface.d.ts.map +1 -1
  204. package/lib/typescript/commonjs/src/surfaces/bannerWebView/BannerWebViewBar.d.ts.map +1 -1
  205. package/lib/typescript/commonjs/src/surfaces/bannerWebView/bannerNeedsWebView.d.ts +3 -12
  206. package/lib/typescript/commonjs/src/surfaces/bannerWebView/bannerNeedsWebView.d.ts.map +1 -1
  207. package/lib/typescript/commonjs/src/surfaces/bannerWebView/bannerThemeStyles.d.ts.map +1 -1
  208. package/lib/typescript/commonjs/src/surfaces/bannerWebView/bannerWebViewHeight.d.ts +13 -0
  209. package/lib/typescript/commonjs/src/surfaces/bannerWebView/bannerWebViewHeight.d.ts.map +1 -0
  210. package/lib/typescript/commonjs/src/surfaces/bannerWebView/buildCustomBannerHtml.d.ts.map +1 -1
  211. package/lib/typescript/commonjs/src/surfaces/tooltip/targetOrigin.d.ts +26 -0
  212. package/lib/typescript/commonjs/src/surfaces/tooltip/targetOrigin.d.ts.map +1 -0
  213. package/lib/typescript/commonjs/src/version.d.ts +1 -1
  214. package/lib/typescript/module/src/anchors/AnchorRegistry.d.ts +7 -0
  215. package/lib/typescript/module/src/anchors/AnchorRegistry.d.ts.map +1 -1
  216. package/lib/typescript/module/src/anchors/ScrollContainerRegistry.d.ts +11 -2
  217. package/lib/typescript/module/src/anchors/ScrollContainerRegistry.d.ts.map +1 -1
  218. package/lib/typescript/module/src/anchors/fiber/FiberScanRootStore.d.ts +5 -0
  219. package/lib/typescript/module/src/anchors/fiber/FiberScanRootStore.d.ts.map +1 -1
  220. package/lib/typescript/module/src/anchors/fiber/detectAppFontFamily.d.ts +30 -0
  221. package/lib/typescript/module/src/anchors/fiber/detectAppFontFamily.d.ts.map +1 -0
  222. package/lib/typescript/module/src/anchors/fiber/presentedModal.d.ts +45 -0
  223. package/lib/typescript/module/src/anchors/fiber/presentedModal.d.ts.map +1 -0
  224. package/lib/typescript/module/src/anchors/fiber/visibleRect.d.ts +5 -2
  225. package/lib/typescript/module/src/anchors/fiber/visibleRect.d.ts.map +1 -1
  226. package/lib/typescript/module/src/anchors/fiber/visibleScreens.d.ts +2 -0
  227. package/lib/typescript/module/src/anchors/fiber/visibleScreens.d.ts.map +1 -1
  228. package/lib/typescript/module/src/anchors/useUserflowAnchor.d.ts +2 -2
  229. package/lib/typescript/module/src/anchors/useUserflowAnchor.d.ts.map +1 -1
  230. package/lib/typescript/module/src/anchors/useUserflowScrollContainer.d.ts +3 -2
  231. package/lib/typescript/module/src/anchors/useUserflowScrollContainer.d.ts.map +1 -1
  232. package/lib/typescript/module/src/authoring/ElementPickerOverlay.d.ts +4 -0
  233. package/lib/typescript/module/src/authoring/ElementPickerOverlay.d.ts.map +1 -1
  234. package/lib/typescript/module/src/authoring/hitTest.d.ts +25 -2
  235. package/lib/typescript/module/src/authoring/hitTest.d.ts.map +1 -1
  236. package/lib/typescript/module/src/authoring/hostAtPoint.d.ts +6 -1
  237. package/lib/typescript/module/src/authoring/hostAtPoint.d.ts.map +1 -1
  238. package/lib/typescript/module/src/content/BannerStepButton.d.ts.map +1 -1
  239. package/lib/typescript/module/src/content/RichContentRenderer.d.ts.map +1 -1
  240. package/lib/typescript/module/src/content/StepButton.d.ts.map +1 -1
  241. package/lib/typescript/module/src/content/resolveContentFontFamily.d.ts +35 -0
  242. package/lib/typescript/module/src/content/resolveContentFontFamily.d.ts.map +1 -0
  243. package/lib/typescript/module/src/deepLinking.d.ts +1 -1
  244. package/lib/typescript/module/src/deepLinking.d.ts.map +1 -1
  245. package/lib/typescript/module/src/deviceContext.d.ts +14 -5
  246. package/lib/typescript/module/src/deviceContext.d.ts.map +1 -1
  247. package/lib/typescript/module/src/index.d.ts +11 -5
  248. package/lib/typescript/module/src/index.d.ts.map +1 -1
  249. package/lib/typescript/module/src/installCheck.d.ts +2 -2
  250. package/lib/typescript/module/src/installCheck.d.ts.map +1 -1
  251. package/lib/typescript/module/src/lifecycle.d.ts +1 -0
  252. package/lib/typescript/module/src/lifecycle.d.ts.map +1 -1
  253. package/lib/typescript/module/src/pairing/PairingController.d.ts +1 -1
  254. package/lib/typescript/module/src/pairing/PairingController.d.ts.map +1 -1
  255. package/lib/typescript/module/src/runtime/UserflowOverlay.d.ts.map +1 -1
  256. package/lib/typescript/module/src/runtime/WindowOverlayHost.d.ts +34 -0
  257. package/lib/typescript/module/src/runtime/WindowOverlayHost.d.ts.map +1 -0
  258. package/lib/typescript/module/src/runtime/pushBannerLayoutContext.d.ts +5 -0
  259. package/lib/typescript/module/src/runtime/pushBannerLayoutContext.d.ts.map +1 -1
  260. package/lib/typescript/module/src/runtime/userflowCore.d.ts.map +1 -1
  261. package/lib/typescript/module/src/surfaces/BannerSurface.d.ts +1 -4
  262. package/lib/typescript/module/src/surfaces/BannerSurface.d.ts.map +1 -1
  263. package/lib/typescript/module/src/surfaces/ProgressBar.d.ts.map +1 -1
  264. package/lib/typescript/module/src/surfaces/TooltipSurface.d.ts.map +1 -1
  265. package/lib/typescript/module/src/surfaces/bannerWebView/BannerWebViewBar.d.ts.map +1 -1
  266. package/lib/typescript/module/src/surfaces/bannerWebView/bannerNeedsWebView.d.ts +3 -12
  267. package/lib/typescript/module/src/surfaces/bannerWebView/bannerNeedsWebView.d.ts.map +1 -1
  268. package/lib/typescript/module/src/surfaces/bannerWebView/bannerThemeStyles.d.ts.map +1 -1
  269. package/lib/typescript/module/src/surfaces/bannerWebView/bannerWebViewHeight.d.ts +13 -0
  270. package/lib/typescript/module/src/surfaces/bannerWebView/bannerWebViewHeight.d.ts.map +1 -0
  271. package/lib/typescript/module/src/surfaces/bannerWebView/buildCustomBannerHtml.d.ts.map +1 -1
  272. package/lib/typescript/module/src/surfaces/tooltip/targetOrigin.d.ts +26 -0
  273. package/lib/typescript/module/src/surfaces/tooltip/targetOrigin.d.ts.map +1 -0
  274. package/lib/typescript/module/src/version.d.ts +1 -1
  275. package/package.json +5 -4
  276. package/src/anchors/AnchorRegistry.ts +8 -0
  277. package/src/anchors/ScrollContainerRegistry.ts +15 -3
  278. package/src/anchors/fiber/FiberScanRootStore.ts +8 -0
  279. package/src/anchors/fiber/detectAppFontFamily.ts +400 -0
  280. package/src/anchors/fiber/presentedModal.ts +203 -0
  281. package/src/anchors/fiber/touchTargetFiber.ts +2 -1
  282. package/src/anchors/fiber/visibleRect.ts +12 -3
  283. package/src/anchors/fiber/visibleScreens.ts +5 -0
  284. package/src/anchors/useUserflowAnchor.ts +4 -5
  285. package/src/anchors/useUserflowScrollContainer.ts +5 -4
  286. package/src/authoring/ElementPickerOverlay.tsx +242 -166
  287. package/src/authoring/hitTest.ts +88 -13
  288. package/src/authoring/hostAtPoint.ts +67 -21
  289. package/src/content/BannerStepButton.tsx +2 -1
  290. package/src/content/RichContentRenderer.tsx +16 -9
  291. package/src/content/StepButton.tsx +2 -1
  292. package/src/content/resolveContentFontFamily.ts +119 -0
  293. package/src/deepLinking.ts +2 -1
  294. package/src/deviceContext.ts +50 -14
  295. package/src/index.ts +13 -5
  296. package/src/installCheck.ts +3 -3
  297. package/src/lifecycle.ts +2 -1
  298. package/src/pairing/PairingController.ts +2 -1
  299. package/src/runtime/BannerHost.tsx +3 -3
  300. package/src/runtime/UserflowOverlay.tsx +29 -21
  301. package/src/runtime/WindowOverlayHost.tsx +95 -0
  302. package/src/runtime/pushBannerLayoutContext.tsx +14 -9
  303. package/src/runtime/userflowCore.ts +8 -2
  304. package/src/surfaces/BannerSurface.tsx +2 -6
  305. package/src/surfaces/ProgressBar.tsx +2 -1
  306. package/src/surfaces/TooltipSurface.tsx +118 -47
  307. package/src/surfaces/bannerWebView/BannerWebViewBar.tsx +6 -4
  308. package/src/surfaces/bannerWebView/bannerNeedsWebView.ts +4 -36
  309. package/src/surfaces/bannerWebView/bannerThemeStyles.ts +2 -1
  310. package/src/surfaces/bannerWebView/bannerWebViewHeight.ts +32 -0
  311. package/src/surfaces/bannerWebView/buildCustomBannerHtml.ts +48 -12
  312. package/src/surfaces/tooltip/TooltipHighlight.tsx +3 -5
  313. package/src/surfaces/tooltip/targetOrigin.ts +74 -0
  314. package/src/version.ts +1 -1
  315. package/vendor/core/dist/engine/UserflowCore.d.ts +7 -0
  316. package/vendor/core/dist/engine/UserflowCore.d.ts.map +1 -1
  317. package/vendor/core/dist/engine/UserflowCore.js +3 -2
  318. package/vendor/core/dist/engine/UserflowCore.js.map +1 -1
  319. package/vendor/core/dist/transport/phoenix.d.ts +12 -2
  320. package/vendor/core/dist/transport/phoenix.d.ts.map +1 -1
  321. package/vendor/core/dist/transport/phoenix.js +7 -6
  322. package/vendor/core/dist/transport/phoenix.js.map +1 -1
  323. package/vendor/core/dist/version.d.ts +1 -1
  324. package/vendor/core/dist/version.js +1 -1
  325. package/vendor/core/package.json +1 -1
  326. package/vendor/protocol/dist/flows.d.ts +2 -0
  327. package/vendor/protocol/dist/flows.d.ts.map +1 -1
  328. package/vendor/protocol/package.json +1 -1
@@ -58,6 +58,7 @@ function readTargetInst(event) {
58
58
  return event._targetInst;
59
59
  }
60
60
  function nativeTagForTouch(event, identifier) {
61
+ // Readonly: React Native 0.88 types changedTouches as a readonly array.
61
62
  const native = event.nativeEvent;
62
63
  if (identifier != null && native.changedTouches) {
63
64
  const touch = native.changedTouches.find(entry => entry.identifier === identifier);
@@ -1 +1 @@
1
- {"version":3,"names":["_fiberInternals","require","_findAnchorFiber","_indexHostFibers","touchTargetFiber","event","identifier","tag","nativeTagForTouch","fromInst","hostFromFiber","readTargetInst","tagMatches","fromInstance","hostFromInstance","target","undefined","createLazyHostFiberIndex","byNativeTag","get","touchBelongsToEvent","own","_targetInst","native","nativeEvent","changedTouches","touch","find","entry","touchTag","asTag","value","Number","isFinite","fiber","fiberTag","nativeTagFromHostFiber","isReactFiber","current","resolveCurrentFiber","isHostFiber","nearestHostDescendant","lookupHostFiber"],"sourceRoot":"../../../../src","sources":["anchors/fiber/touchTargetFiber.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_fiberInternals","require","_findAnchorFiber","_indexHostFibers","touchTargetFiber","event","identifier","tag","nativeTagForTouch","fromInst","hostFromFiber","readTargetInst","tagMatches","fromInstance","hostFromInstance","target","undefined","createLazyHostFiberIndex","byNativeTag","get","touchBelongsToEvent","own","_targetInst","native","nativeEvent","changedTouches","touch","find","entry","touchTag","asTag","value","Number","isFinite","fiber","fiberTag","nativeTagFromHostFiber","isReactFiber","current","resolveCurrentFiber","isHostFiber","nearestHostDescendant","lookupHostFiber"],"sourceRoot":"../../../../src","sources":["anchors/fiber/touchTargetFiber.ts"],"mappings":";;;;;;;AAeA,IAAAA,eAAA,GAAAC,OAAA;AAOA,IAAAC,gBAAA,GAAAD,OAAA;AACA,IAAAE,gBAAA,GAAAF,OAAA;AAvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAaO,SAASG,gBAAgBA,CAC9BC,KAA4B,EAC5BC,UAA4B,EACX;EACjB,IAAI;IACF,MAAMC,GAAG,GAAGC,iBAAiB,CAACH,KAAK,EAAEC,UAAU,CAAC;IAEhD,MAAMG,QAAQ,GAAGC,aAAa,CAACC,cAAc,CAACN,KAAK,CAAC,CAAC;IACrD,IAAII,QAAQ,IAAIG,UAAU,CAACH,QAAQ,EAAEF,GAAG,CAAC,EAAE,OAAOE,QAAQ;IAE1D,MAAMI,YAAY,GAAGC,gBAAgB,CAACT,KAAK,CAACU,MAAM,CAAC;IACnD,IAAIF,YAAY,IAAID,UAAU,CAACC,YAAY,EAAEN,GAAG,CAAC,EAAE,OAAOM,YAAY;IAEtE,IAAIN,GAAG,KAAKS,SAAS,EAAE,OAAO,IAAI;IAClC;IACA;IACA,OAAO,IAAAC,yCAAwB,EAAC,CAAC,CAAC,CAAC,CAACC,WAAW,CAACC,GAAG,CAACZ,GAAG,CAAC,IAAI,IAAI;EAClE,CAAC,CAAC,MAAM;IACN,OAAO,IAAI;EACb;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAASa,mBAAmBA,CACjCf,KAA4B,EAC5BC,UAA2B,EAClB;EACT,IAAI;IACF,MAAMC,GAAG,GAAGC,iBAAiB,CAACH,KAAK,EAAEC,UAAU,CAAC;IAChD,IAAIC,GAAG,KAAKS,SAAS,EAAE,OAAO,IAAI;IAClC,MAAMK,GAAG,GAAGX,aAAa,CAACC,cAAc,CAACN,KAAK,CAAC,CAAC,IAAIS,gBAAgB,CAACT,KAAK,CAACU,MAAM,CAAC;IAClF,OAAOM,GAAG,IAAI,IAAI,IAAIT,UAAU,CAACS,GAAG,EAAEd,GAAG,CAAC;EAC5C,CAAC,CAAC,MAAM;IACN,OAAO,IAAI;EACb;AACF;AAEA,SAASI,cAAcA,CAACN,KAA4B,EAAW;EAC7D,OAAQA,KAAK,CAA+BiB,WAAW;AACzD;AAEA,SAASd,iBAAiBA,CACxBH,KAA4B,EAC5BC,UAAuC,EACnB;EACpB;EACA,MAAMiB,MAAM,GAAGlB,KAAK,CAACmB,WAGpB;EACD,IAAIlB,UAAU,IAAI,IAAI,IAAIiB,MAAM,CAACE,cAAc,EAAE;IAC/C,MAAMC,KAAK,GAAGH,MAAM,CAACE,cAAc,CAACE,IAAI,CAAEC,KAAK,IAAKA,KAAK,CAACtB,UAAU,KAAKA,UAAU,CAAC;IACpF,MAAMuB,QAAQ,GAAGC,KAAK,CAACJ,KAAK,EAAEX,MAAM,CAAC;IACrC,IAAIc,QAAQ,KAAKb,SAAS,EAAE,OAAOa,QAAQ;EAC7C;EACA,OAAOC,KAAK,CAACP,MAAM,CAACR,MAAM,CAAC;AAC7B;AAEA,SAASe,KAAKA,CAACC,KAAc,EAAsB;EACjD,OAAO,OAAOA,KAAK,KAAK,QAAQ,IAAIC,MAAM,CAACC,QAAQ,CAACF,KAAK,CAAC,GAAGA,KAAK,GAAGf,SAAS;AAChF;;AAEA;AACA;AACA;AACA;AACA;AACA,SAASJ,UAAUA,CAACsB,KAAe,EAAE3B,GAAuB,EAAW;EACrE,IAAIA,GAAG,KAAKS,SAAS,EAAE,OAAO,IAAI;EAClC,MAAMmB,QAAQ,GAAG,IAAAC,sCAAsB,EAACF,KAAK,CAAC;EAC9C,IAAIC,QAAQ,KAAKnB,SAAS,EAAE,OAAO,IAAI;EACvC,OAAOmB,QAAQ,KAAK5B,GAAG;AACzB;AAEA,SAASG,aAAaA,CAACqB,KAAc,EAAmB;EACtD,IAAI,CAAC,IAAAM,4BAAY,EAACN,KAAK,CAAC,EAAE,OAAO,IAAI;EACrC,IAAI;IACF,MAAMO,OAAO,GAAG,IAAAC,mCAAmB,EAACR,KAAK,CAAC;IAC1C,IAAI,IAAAS,2BAAW,EAACF,OAAO,CAAC,EAAE,OAAOA,OAAO;IACxC,OAAO,IAAAG,sCAAqB,EAACH,OAAO,CAAC;EACvC,CAAC,CAAC,MAAM;IACN,OAAO,IAAI;EACb;AACF;AAEA,SAASxB,gBAAgBA,CAACiB,KAAc,EAAmB;EACzD,IAAI,CAACA,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE,OAAO,IAAI;EACpD,IAAI;IACF,MAAMG,KAAK,GAAG,IAAAQ,gCAAe,EAAC,IAAAzB,yCAAwB,EAAC,CAAC,EAAEc,KAAK,CAAC;IAChE,IAAI,CAACG,KAAK,EAAE,OAAO,IAAI;IACvB,IAAI,IAAAM,2BAAW,EAACN,KAAK,CAAC,EAAE,OAAOA,KAAK;IACpC,OAAO,IAAAO,sCAAqB,EAACP,KAAK,CAAC;EACrC,CAAC,CAAC,MAAM;IACN,OAAO,IAAI;EACb;AACF","ignoreList":[]}
@@ -10,6 +10,7 @@ exports.topmostVisibleModalHost = topmostVisibleModalHost;
10
10
  var _fiberInternals = require("./fiberInternals.js");
11
11
  var _findScrollAncestors = require("./findScrollAncestors.js");
12
12
  var _measureHostFiber = require("./measureHostFiber.js");
13
+ var _visibleScreens = require("./visibleScreens.js");
13
14
  /**
14
15
  * Geometry helpers for "what the user can actually see".
15
16
  *
@@ -23,6 +24,9 @@ const MEASURE_TIMEOUT_MS = 400;
23
24
 
24
25
  /** Paper and Fabric names for React Native's `<Modal>`. */
25
26
  const MODAL_HOST_TYPES = new Set(['RCTModalHostView', 'ModalHostView']);
27
+
28
+ /** react-native-screens' iOS host for `modal`, `transparentModal`, `formSheet` and other presented screens. */
29
+ const SCREENS_MODAL_TYPE = 'RNSModalScreen';
26
30
  function measureFiberRect(fiber) {
27
31
  return new Promise(resolve => {
28
32
  let settled = false;
@@ -95,9 +99,11 @@ async function clipToScrollViewports(fiber, rect) {
95
99
  }
96
100
  function isModalHost(fiber) {
97
101
  const type = (0, _fiberInternals.getHostTypeName)(fiber);
98
- return type !== undefined && MODAL_HOST_TYPES.has(type);
102
+ return type !== undefined && (MODAL_HOST_TYPES.has(type) || type === SCREENS_MODAL_TYPE);
99
103
  }
100
104
  function isModalVisible(fiber) {
105
+ // A presented screen stays mounted under the next one; only the top of its stack is visible.
106
+ if ((0, _fiberInternals.getHostTypeName)(fiber) === SCREENS_MODAL_TYPE) return (0, _visibleScreens.isFiberOnVisibleScreen)(fiber);
101
107
  const props = (0, _fiberInternals.getMemoizedProps)(fiber);
102
108
  if (!props) return true;
103
109
  if (props.visible === false) return false;
@@ -105,8 +111,11 @@ function isModalVisible(fiber) {
105
111
  }
106
112
 
107
113
  /**
108
- * The visible modal host drawn on top, or null. Later siblings win: React
109
- * Native mounts a newer `<Modal>` after the previous one.
114
+ * The visible modal host drawn on top, or null: a React Native `<Modal>` or a
115
+ * screen react-native-screens presents natively. Later fibers win: React Native
116
+ * mounts a newer `<Modal>` after the previous one, a native stack's newest
117
+ * screen is its last child, and a modal presented from inside another one sits
118
+ * deeper in the tree.
110
119
  */
111
120
  function topmostVisibleModalHost(root, maxNodes = 8_000) {
112
121
  if (!root) return null;
@@ -1 +1 @@
1
- {"version":3,"names":["_fiberInternals","require","_findScrollAncestors","_measureHostFiber","MEASURE_TIMEOUT_MS","MODAL_HOST_TYPES","Set","measureFiberRect","fiber","Promise","resolve","settled","timer","setTimeout","measureHostFiber","x","y","width","height","clearTimeout","intersectRects","a","b","Math","max","right","min","bottom","clipToScrollViewports","rect","ancestors","findScrollAncestors","clipped","ancestor","containerFiber","viewport","isModalHost","type","getHostTypeName","undefined","has","isModalVisible","props","getMemoizedProps","visible","topmostVisibleModalHost","root","maxNodes","stack","topmost","visited","length","pop","isHostFiber","sibling","getSibling","push","child","getChild","fiberIsUnder","maxDepth","current","depth","alternate","getReturn"],"sourceRoot":"../../../../src","sources":["anchors/fiber/visibleRect.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_fiberInternals","require","_findScrollAncestors","_measureHostFiber","_visibleScreens","MEASURE_TIMEOUT_MS","MODAL_HOST_TYPES","Set","SCREENS_MODAL_TYPE","measureFiberRect","fiber","Promise","resolve","settled","timer","setTimeout","measureHostFiber","x","y","width","height","clearTimeout","intersectRects","a","b","Math","max","right","min","bottom","clipToScrollViewports","rect","ancestors","findScrollAncestors","clipped","ancestor","containerFiber","viewport","isModalHost","type","getHostTypeName","undefined","has","isModalVisible","isFiberOnVisibleScreen","props","getMemoizedProps","visible","topmostVisibleModalHost","root","maxNodes","stack","topmost","visited","length","pop","isHostFiber","sibling","getSibling","push","child","getChild","fiberIsUnder","maxDepth","current","depth","alternate","getReturn"],"sourceRoot":"../../../../src","sources":["anchors/fiber/visibleRect.ts"],"mappings":"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","ignoreList":[]}
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.coveredScreenBranches = coveredScreenBranches;
7
7
  exports.isFiberOnVisibleScreen = isFiberOnVisibleScreen;
8
8
  exports.isScreenContainerFiber = isScreenContainerFiber;
9
+ exports.isScreenHostFiber = isScreenHostFiber;
9
10
  exports.screensCoveringFiber = screensCoveringFiber;
10
11
  var _fiberInternals = require("./fiberInternals.js");
11
12
  /**
@@ -56,6 +57,11 @@ function isScreenFiber(fiber) {
56
57
  const type = (0, _fiberInternals.getHostTypeName)(fiber);
57
58
  return type !== undefined && SCREEN_TYPES.has(type);
58
59
  }
60
+
61
+ /** Host screen the walk can key a cache on (`RNSScreen`, `RNSModalScreen`). */
62
+ function isScreenHostFiber(fiber) {
63
+ return isScreenFiber(fiber);
64
+ }
59
65
  function isStackContainer(fiber) {
60
66
  const type = (0, _fiberInternals.getHostTypeName)(fiber);
61
67
  return type !== undefined && STACK_CONTAINER_TYPES.has(type);
@@ -1 +1 @@
1
- {"version":3,"names":["_fiberInternals","require","SCREEN_TYPES","Set","SCREEN_CONTAINER_TYPES","STACK_CONTAINER_TYPES","ACTIVITY_STATE_ACTIVE","MAX_BRANCH_NODES","isScreenContainerFiber","fiber","type","getHostTypeName","undefined","has","isScreenFiber","isStackContainer","ownedScreen","branch","stack","visited","length","pop","sibling","getSibling","push","child","getChild","isActive","screen","getMemoizedProps","activityState","screenBranches","container","branches","guard","visible","active","filter","entry","coveredScreenBranches","covered","includes","add","alternate","coveringContainer","previous","current","depth","MAX_ANCESTOR_WALK","resolveCurrentFiber","previousAlternate","getAlternate","getReturn","isFiberOnVisibleScreen","screensCoveringFiber","map","reverse"],"sourceRoot":"../../../../src","sources":["anchors/fiber/visibleScreens.ts"],"mappings":";;;;;;;;;AAyBA,IAAAA,eAAA,GAAAC,OAAA;AAzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAaA;AACA,MAAMC,YAAY,GAAG,IAAIC,GAAG,CAAC,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;;AAE7D;AACA,MAAMC,sBAAsB,GAAG,IAAID,GAAG,CAAC,CACrC,gBAAgB,EAChB,oBAAoB,EACpB,8BAA8B,CAC/B,CAAC;;AAEF;AACA,MAAME,qBAAqB,GAAG,IAAIF,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC;;AAEzD;AACA,MAAMG,qBAAqB,GAAG,CAAC;;AAE/B;AACA,MAAMC,gBAAgB,GAAG,GAAG;AAErB,SAASC,sBAAsBA,CAACC,KAAe,EAAW;EAC/D,MAAMC,IAAI,GAAG,IAAAC,+BAAe,EAACF,KAAK,CAAC;EACnC,OAAOC,IAAI,KAAKE,SAAS,IAAIR,sBAAsB,CAACS,GAAG,CAACH,IAAI,CAAC;AAC/D;AAEA,SAASI,aAAaA,CAACL,KAAe,EAAW;EAC/C,MAAMC,IAAI,GAAG,IAAAC,+BAAe,EAACF,KAAK,CAAC;EACnC,OAAOC,IAAI,KAAKE,SAAS,IAAIV,YAAY,CAACW,GAAG,CAACH,IAAI,CAAC;AACrD;AAEA,SAASK,gBAAgBA,CAACN,KAAe,EAAW;EAClD,MAAMC,IAAI,GAAG,IAAAC,+BAAe,EAACF,KAAK,CAAC;EACnC,OAAOC,IAAI,KAAKE,SAAS,IAAIP,qBAAqB,CAACQ,GAAG,CAACH,IAAI,CAAC;AAC9D;;AAEA;AACA,SAASM,WAAWA,CAACC,MAAgB,EAAmB;EACtD,MAAMC,KAAiB,GAAG,CAACD,MAAM,CAAC;EAClC,IAAIE,OAAO,GAAG,CAAC;EACf,OAAOD,KAAK,CAACE,MAAM,GAAG,CAAC,IAAID,OAAO,GAAGZ,gBAAgB,EAAE;IACrD,MAAME,KAAK,GAAGS,KAAK,CAACG,GAAG,CAAC,CAAC;IACzB,IAAI,CAACZ,KAAK,EAAE;IACZU,OAAO,IAAI,CAAC;IACZ,IAAIL,aAAa,CAACL,KAAK,CAAC,EAAE,OAAOA,KAAK;IACtC;IACA;IACA,IAAIA,KAAK,KAAKQ,MAAM,IAAIT,sBAAsB,CAACC,KAAK,CAAC,EAAE;MACrD,MAAMa,OAAO,GAAG,IAAAC,0BAAU,EAACd,KAAK,CAAC;MACjC,IAAIa,OAAO,EAAEJ,KAAK,CAACM,IAAI,CAACF,OAAO,CAAC;MAChC;IACF;IACA,MAAMG,KAAK,GAAG,IAAAC,wBAAQ,EAACjB,KAAK,CAAC;IAC7B,IAAIgB,KAAK,EAAEP,KAAK,CAACM,IAAI,CAACC,KAAK,CAAC;IAC5B,IAAIhB,KAAK,KAAKQ,MAAM,EAAE;MACpB,MAAMK,OAAO,GAAG,IAAAC,0BAAU,EAACd,KAAK,CAAC;MACjC,IAAIa,OAAO,EAAEJ,KAAK,CAACM,IAAI,CAACF,OAAO,CAAC;IAClC;EACF;EACA,OAAO,IAAI;AACb;AAEA,SAASK,QAAQA,CAACC,MAAgB,EAAW;EAC3C,OAAO,IAAAC,gCAAgB,EAACD,MAAM,CAAC,EAAEE,aAAa,KAAKxB,qBAAqB;AAC1E;AAOA;AACA,SAASyB,cAAcA,CAACC,SAAmB,EAGzC;EACA,MAAMC,QAAwB,GAAG,EAAE;EACnC,IAAIR,KAAK,GAAG,IAAAC,wBAAQ,EAACM,SAAS,CAAC;EAC/B,IAAIE,KAAK,GAAG,CAAC;EACb,OAAOT,KAAK,IAAIS,KAAK,GAAG,GAAG,EAAE;IAC3B,MAAMN,MAAM,GAAGZ,WAAW,CAACS,KAAK,CAAC;IACjC,IAAIG,MAAM,EAAEK,QAAQ,CAACT,IAAI,CAAC;MAAEP,MAAM,EAAEQ,KAAK;MAAEG;IAAO,CAAC,CAAC;IACpDH,KAAK,GAAG,IAAAF,0BAAU,EAACE,KAAK,CAAC;IACzBS,KAAK,IAAI,CAAC;EACZ;EAEA,IAAID,QAAQ,CAACb,MAAM,IAAI,CAAC,EAAE,OAAO;IAAEa,QAAQ;IAAEE,OAAO,EAAEF;EAAS,CAAC;EAEhE,IAAIlB,gBAAgB,CAACiB,SAAS,CAAC,EAAE;IAC/B;IACA;IACA,OAAO;MAAEC,QAAQ;MAAEE,OAAO,EAAE,CAACF,QAAQ,CAACA,QAAQ,CAACb,MAAM,GAAG,CAAC,CAAC;IAAG,CAAC;EAChE;EACA,MAAMgB,MAAM,GAAGH,QAAQ,CAACI,MAAM,CAAEC,KAAK,IAAKX,QAAQ,CAACW,KAAK,CAACV,MAAM,CAAC,CAAC;EACjE;EACA;EACA,OAAO;IACLK,QAAQ;IACRE,OAAO,EAAEC,MAAM,CAAChB,MAAM,GAAG,CAAC,GAAGgB,MAAM,GAAG,CAACH,QAAQ,CAACA,QAAQ,CAACb,MAAM,GAAG,CAAC,CAAC;EACtE,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACO,SAASmB,qBAAqBA,CAACP,SAAmB,EAAiB;EACxE,MAAM;IAAEC,QAAQ;IAAEE;EAAQ,CAAC,GAAGJ,cAAc,CAACC,SAAS,CAAC;EACvD,MAAMQ,OAAO,GAAG,IAAIrC,GAAG,CAAW,CAAC;EACnC,KAAK,MAAMmC,KAAK,IAAIL,QAAQ,EAAE;IAC5B,IAAIE,OAAO,CAACM,QAAQ,CAACH,KAAK,CAAC,EAAE;IAC7BE,OAAO,CAACE,GAAG,CAACJ,KAAK,CAACrB,MAAM,CAAC;IACzB,MAAM0B,SAAS,GAAGL,KAAK,CAACrB,MAAM,CAAC0B,SAAS;IACxC,IAAIA,SAAS,EAAEH,OAAO,CAACE,GAAG,CAACC,SAAS,CAAC;EACvC;EACA,OAAOH,OAAO;AAChB;;AAEA;AACA;AACA;AACA;AACA,SAASI,iBAAiBA,CAACnC,KAAe,EAAmB;EAC3D,IAAIoC,QAAyB,GAAG,IAAI;EACpC,IAAIC,OAAiB,GAAGrC,KAAK;EAC7B,KAAK,IAAIsC,KAAK,GAAG,CAAC,EAAED,OAAO,IAAIC,KAAK,GAAGC,iCAAiB,EAAED,KAAK,IAAI,CAAC,EAAE;IACpE,IAAIF,QAAQ,IAAIrC,sBAAsB,CAACsC,OAAO,CAAC,EAAE;MAC/C;MACA;MACA;MACA,MAAMd,SAAS,GAAG,IAAAiB,mCAAmB,EAACH,OAAO,CAAC;MAC9C,MAAMN,OAAO,GAAGD,qBAAqB,CAACP,SAAS,CAAC;MAChD,IAAIQ,OAAO,CAAC3B,GAAG,CAACgC,QAAQ,CAAC,EAAE,OAAOb,SAAS;MAC3C,MAAMkB,iBAAiB,GAAG,IAAAC,4BAAY,EAACN,QAAQ,CAAC;MAChD,IAAIK,iBAAiB,IAAIV,OAAO,CAAC3B,GAAG,CAACqC,iBAAiB,CAAC,EAAE,OAAOlB,SAAS;IAC3E;IACAa,QAAQ,GAAGC,OAAO;IAClBA,OAAO,GAAG,IAAAM,yBAAS,EAACN,OAAO,CAAC;EAC9B;EACA,OAAO,IAAI;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASO,sBAAsBA,CAAC5C,KAAe,EAAW;EAC/D,IAAI,CAACA,KAAK,EAAE,OAAO,KAAK;EACxB,IAAI;IACF,OAAOmC,iBAAiB,CAACnC,KAAK,CAAC,KAAK,IAAI;EAC1C,CAAC,CAAC,MAAM;IACN;IACA,OAAO,IAAI;EACb;AACF;;AAEA;AACA;AACA;AACA;AACO,SAAS6C,oBAAoBA,CAAC7C,KAAe,EAAc;EAChE,IAAI,CAACA,KAAK,EAAE,OAAO,EAAE;EACrB,IAAI;IACF,MAAMuB,SAAS,GAAGY,iBAAiB,CAACnC,KAAK,CAAC;IAC1C,IAAI,CAACuB,SAAS,EAAE,OAAO,EAAE;IACzB,OAAOD,cAAc,CAACC,SAAS,CAAC,CAC7BG,OAAO,CAACoB,GAAG,CAAEjB,KAAK,IAAKA,KAAK,CAACV,MAAM,CAAC,CACpC4B,OAAO,CAAC,CAAC;EACd,CAAC,CAAC,MAAM;IACN,OAAO,EAAE;EACX;AACF","ignoreList":[]}
1
+ {"version":3,"names":["_fiberInternals","require","SCREEN_TYPES","Set","SCREEN_CONTAINER_TYPES","STACK_CONTAINER_TYPES","ACTIVITY_STATE_ACTIVE","MAX_BRANCH_NODES","isScreenContainerFiber","fiber","type","getHostTypeName","undefined","has","isScreenFiber","isScreenHostFiber","isStackContainer","ownedScreen","branch","stack","visited","length","pop","sibling","getSibling","push","child","getChild","isActive","screen","getMemoizedProps","activityState","screenBranches","container","branches","guard","visible","active","filter","entry","coveredScreenBranches","covered","includes","add","alternate","coveringContainer","previous","current","depth","MAX_ANCESTOR_WALK","resolveCurrentFiber","previousAlternate","getAlternate","getReturn","isFiberOnVisibleScreen","screensCoveringFiber","map","reverse"],"sourceRoot":"../../../../src","sources":["anchors/fiber/visibleScreens.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["React","_interopRequireWildcard","require","_AnchorRegistry","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","useUserflowAnchor","id","hostRef","useRef","idRef","useEffect","previousId","current","host","anchorRegistry","unregister","register","useCallback","node","previous","currentId","measureInWindow","callback","scrollIntoView","scrollable","block","inline"],"sourceRoot":"../../../src","sources":["anchors/useUserflowAnchor.ts"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAGA,IAAAC,eAAA,GAAAD,OAAA;AAAmE,SAAAD,wBAAAG,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAL,uBAAA,YAAAA,CAAAG,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAEnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASkB,iBAAiBA,CAACC,EAAU,EAA2B;EACrE,MAAMC,OAAO,GAAGzB,KAAK,CAAC0B,MAAM,CAAoB,IAAI,CAAC;EACrD,MAAMC,KAAK,GAAG3B,KAAK,CAAC0B,MAAM,CAACF,EAAE,CAAC;EAE9BxB,KAAK,CAAC4B,SAAS,CAAC,MAAM;IACpB,MAAMC,UAAU,GAAGF,KAAK,CAACG,OAAO;IAChC,MAAMC,IAAI,GAAGN,OAAO,CAACK,OAAO;IAC5B,IAAID,UAAU,KAAKL,EAAE,IAAIO,IAAI,EAAE;MAC7BC,8BAAc,CAACC,UAAU,CAACJ,UAAU,EAAEE,IAAI,CAAC;MAC3C,IAAIP,EAAE,EAAE;QACNQ,8BAAc,CAACE,QAAQ,CAACV,EAAE,EAAEO,IAAI,CAAC;MACnC;IACF;IACAJ,KAAK,CAACG,OAAO,GAAGN,EAAE;EACpB,CAAC,EAAE,CAACA,EAAE,CAAC,CAAC;EAERxB,KAAK,CAAC4B,SAAS,CAAC,MAAM;IACpB,OAAO,MAAM;MACX,MAAMG,IAAI,GAAGN,OAAO,CAACK,OAAO;MAC5B,IAAIC,IAAI,EAAE;QACRC,8BAAc,CAACC,UAAU,CAACN,KAAK,CAACG,OAAO,EAAEC,IAAI,CAAC;QAC9CN,OAAO,CAACK,OAAO,GAAG,IAAI;MACxB;IACF,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO9B,KAAK,CAACmC,WAAW,CAAEC,IAAiB,IAAK;IAC9C,MAAMC,QAAQ,GAAGZ,OAAO,CAACK,OAAO;IAChC,MAAMQ,SAAS,GAAGX,KAAK,CAACG,OAAO;IAC/B,IAAIO,QAAQ,EAAE;MACZL,8BAAc,CAACC,UAAU,CAACK,SAAS,EAAED,QAAQ,CAAC;IAChD;IACA,IAAI,CAACD,IAAI,EAAE;MACTX,OAAO,CAACK,OAAO,GAAG,IAAI;MACtB;IACF;;IAEA;IACA,MAAMC,IAAgB,GAAG;MACvBQ,eAAe,EAAGC,QAAQ,IAAK;QAC7BJ,IAAI,CAACG,eAAe,CAACC,QAAQ,CAAC;MAChC,CAAC;MACDJ,IAAI;MACJK,cAAc,EAAEA,CAAA,KAAM;QACpB,MAAMC,UAAU,GAAGN,IAElB;QACD,IAAI,OAAOM,UAAU,CAACD,cAAc,KAAK,UAAU,EAAE;UACnDC,UAAU,CAACD,cAAc,CAAC;YAAEE,KAAK,EAAE,SAAS;YAAEC,MAAM,EAAE;UAAU,CAAC,CAAC;QACpE;MACF;IACF,CAAC;IACDnB,OAAO,CAACK,OAAO,GAAGC,IAAI;IACtB,IAAIO,SAAS,EAAE;MACbN,8BAAc,CAACE,QAAQ,CAACI,SAAS,EAAEP,IAAI,CAAC;IAC1C;EACF,CAAC,EAAE,EAAE,CAAC;AACR","ignoreList":[]}
1
+ {"version":3,"names":["React","_interopRequireWildcard","require","_AnchorRegistry","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","useUserflowAnchor","id","hostRef","useRef","idRef","useEffect","previousId","current","host","anchorRegistry","unregister","register","useCallback","node","previous","currentId","measureInWindow","callback","scrollIntoView","scrollable","block","inline"],"sourceRoot":"../../../src","sources":["anchors/useUserflowAnchor.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["React","_interopRequireWildcard","require","_ScrollContainerRegistry","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","useUserflowScrollContainer","onScrollProp","hostRef","useRef","nodeRef","offsetRef","x","y","useEffect","host","current","scrollContainerRegistry","unregister","ref","useCallback","node","previous","createScrollContainerHost","register","onScroll","event","contentOffset","nativeEvent","scrollEventThrottle"],"sourceRoot":"../../../src","sources":["anchors/useUserflowScrollContainer.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","_interopRequireWildcard","require","_ScrollContainerRegistry","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","useUserflowScrollContainer","onScrollProp","hostRef","useRef","nodeRef","offsetRef","x","y","useEffect","host","current","scrollContainerRegistry","unregister","ref","useCallback","node","previous","createScrollContainerHost","register","onScroll","event","contentOffset","nativeEvent","scrollEventThrottle"],"sourceRoot":"../../../src","sources":["anchors/useUserflowScrollContainer.ts"],"mappings":"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","ignoreList":[]}
@@ -7,6 +7,7 @@ exports.ElementPickerOverlay = ElementPickerOverlay;
7
7
  var React = _interopRequireWildcard(require("react"));
8
8
  var _reactNative = require("react-native");
9
9
  var _targetPressMonitor = require("../anchors/targetPressMonitor.js");
10
+ var _WindowOverlayHost = require("../runtime/WindowOverlayHost.js");
10
11
  var _absoluteFill = require("../surfaces/absoluteFill.js");
11
12
  var _surfaceLayoutInsets = require("../surfaces/surfaceLayoutInsets.js");
12
13
  var _TooltipCutout = require("../surfaces/tooltip/TooltipCutout.js");
@@ -35,6 +36,8 @@ const CONFIRM_HELPER = 'Return to the Userflow app after confirming';
35
36
  const WARNING_HELPER = 'Element may have an unreliable ID. This element may be selected but could break later on.';
36
37
  const ERROR_LABEL = 'Can’t select this element';
37
38
  const ERROR_HELPER = 'Element ID not found — select a different element';
39
+ const UNPLACEABLE_SHEET_HELPER = 'Can’t tell where this sheet is on screen — in Navigate screens, close the keyboard or expand the sheet';
40
+ const BEHIND_SHEET_HELPER = 'This part of the screen is behind the sheet — select inside the sheet, or close it in Navigate screens';
38
41
  const ONBOARDING_COPY = 'Double tap anywhere to access the menu';
39
42
  const RETURN_NUDGE_TITLE = 'Return to the Userflow app';
40
43
  const RETURN_NUDGE_BODY = 'The element was selected successfully. You may now return to the Userflow app to continue editing your flow.';
@@ -57,6 +60,23 @@ function waitForCapturePaint() {
57
60
  setTimeout(resolve, 0);
58
61
  });
59
62
  }
63
+ async function hitsAtTap(pageX, pageY) {
64
+ let modalMiss = null;
65
+ const hits = await (0, _hitTest.hitTestAt)(pageX, pageY, {
66
+ onModalMiss: miss => {
67
+ modalMiss = miss;
68
+ }
69
+ });
70
+ return {
71
+ hits,
72
+ modalMiss
73
+ };
74
+ }
75
+ function modalMissHelper(miss) {
76
+ if (miss === 'unplaceable') return UNPLACEABLE_SHEET_HELPER;
77
+ if (miss === 'outside') return BEHIND_SHEET_HELPER;
78
+ return null;
79
+ }
60
80
  function ringStyle(rect, inset) {
61
81
  return {
62
82
  position: 'absolute',
@@ -72,6 +92,10 @@ function ringStyle(rect, inset) {
72
92
  * Overlay chrome for in-app element picking. Mounted by UserflowProvider;
73
93
  * renders nothing until {@link elementPickerController.beginSelection}.
74
94
  * Every pick shows the menu and onboarding tooltip.
95
+ *
96
+ * Drawn in {@link WindowOverlayHost} so native modal screens on iOS cannot
97
+ * cover it. It mounts only while there is something to show, so the window
98
+ * container exists only for the pick.
75
99
  */
76
100
  function ElementPickerOverlay() {
77
101
  const [state, setState] = React.useState(() => _elementPickerController.elementPickerController.getState());
@@ -212,12 +236,15 @@ function ElementPickerOverlay() {
212
236
  setShowOnboarding(false);
213
237
  }
214
238
  }, [phase]);
215
- const applySelection = React.useCallback(hits => {
239
+ const applySelection = React.useCallback(({
240
+ hits,
241
+ modalMiss
242
+ }) => {
216
243
  if (hits.length === 0) {
217
244
  setCandidates([]);
218
245
  setIndex(0);
219
246
  setSelection('error-no-element');
220
- setStatus(null);
247
+ setStatus(modalMissHelper(modalMiss));
221
248
  return;
222
249
  }
223
250
  const nextIndex = (0, _hitTest.defaultCandidateIndex)(hits);
@@ -226,18 +253,18 @@ function ElementPickerOverlay() {
226
253
  setSelection(selectionFromAssessment((0, _fingerprintFromInstance.assessPickerTarget)(hits[nextIndex].target)));
227
254
  setStatus(null);
228
255
  }, []);
229
- const applyHits = React.useCallback(hits => {
256
+ const applyHits = React.useCallback(tapHits => {
230
257
  if (modeRef.current !== 'select') return;
231
258
  lastTapRef.current = null;
232
259
  setChromeVisible(true);
233
- applySelection(hits);
260
+ applySelection(tapHits);
234
261
  }, [applySelection]);
235
262
  const scheduleSelection = React.useCallback((pageX, pageY) => {
236
263
  cancelPendingSelection();
237
264
  const gen = tapGenRef.current;
238
265
  setBusy(true);
239
266
  setStatus(null);
240
- const hitsPromise = (0, _hitTest.hitTestAt)(pageX, pageY);
267
+ const hitsPromise = hitsAtTap(pageX, pageY);
241
268
  const wait = new Promise(resolve => {
242
269
  applyResolveRef.current = resolve;
243
270
  applyTimerRef.current = setTimeout(() => {
@@ -248,9 +275,9 @@ function ElementPickerOverlay() {
248
275
  });
249
276
  void (async () => {
250
277
  try {
251
- const [hits] = await Promise.all([hitsPromise, wait]);
278
+ const [tapHits] = await Promise.all([hitsPromise, wait]);
252
279
  if (tapGenRef.current !== gen) return;
253
- applyHits(hits);
280
+ applyHits(tapHits);
254
281
  } finally {
255
282
  if (tapGenRef.current === gen) setBusy(false);
256
283
  }
@@ -270,8 +297,7 @@ function ElementPickerOverlay() {
270
297
  setBusy(true);
271
298
  setStatus(null);
272
299
  try {
273
- const hits = await (0, _hitTest.hitTestAt)(pageX, pageY);
274
- applySelection(hits);
300
+ applySelection(await hitsAtTap(pageX, pageY));
275
301
  } finally {
276
302
  setBusy(false);
277
303
  }
@@ -335,6 +361,37 @@ function ElementPickerOverlay() {
335
361
  }
336
362
  scheduleSelection(pageX, pageY);
337
363
  }, [hideOrShowChrome, onTap, scheduleSelection, selected, selection]);
364
+
365
+ // The keyboard opening or closing moves a sheet under the selection, and a
366
+ // rotation moves everything. Measure the selection again so the ring, re-tap
367
+ // cycling, the crop and the rect sent to the Builder follow it.
368
+ const candidatesRef = React.useRef(candidates);
369
+ candidatesRef.current = candidates;
370
+ const hasSelection = candidates.length > 0;
371
+ React.useEffect(() => {
372
+ if (!hasSelection) return;
373
+ let latest = 0;
374
+ const refresh = () => {
375
+ const run = latest += 1;
376
+ const before = candidatesRef.current;
377
+ void (0, _hitTest.remeasureCandidates)(before).then(next => {
378
+ if (run !== latest || candidatesRef.current !== before) return;
379
+ if (next) {
380
+ setCandidates(next);
381
+ return;
382
+ }
383
+ setCandidates([]);
384
+ setIndex(0);
385
+ setSelection('idle');
386
+ setStatus(null);
387
+ });
388
+ };
389
+ const subscriptions = [_reactNative.Keyboard.addListener('keyboardDidShow', refresh), _reactNative.Keyboard.addListener('keyboardDidHide', refresh), _reactNative.Dimensions.addEventListener('change', refresh)];
390
+ return () => {
391
+ latest += 1;
392
+ for (const subscription of subscriptions) subscription.remove();
393
+ };
394
+ }, [hasSelection]);
338
395
  const deselect = React.useCallback(() => {
339
396
  setCandidates([]);
340
397
  setIndex(0);
@@ -396,139 +453,141 @@ function ElementPickerOverlay() {
396
453
  const helperText = status ?? (isError ? ERROR_HELPER : selection === 'warning' ? WARNING_HELPER : phase === 'selected' ? CONFIRM_HELPER : undefined);
397
454
  const helperIcon = status ? undefined : toneIcon;
398
455
  const tooltipVisible = state.active && showOnboarding && chromeVisible && phase === 'selecting';
399
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
400
- pointerEvents: "box-none",
401
- style: styles.root,
402
- testID: "userflow-element-picker",
403
- children: [returnNudge && !state.active ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChromeDialog.ChromeDialog, {
404
- body: RETURN_NUDGE_BODY,
405
- onClose: dismissReturnNudge,
406
- title: RETURN_NUDGE_TITLE,
407
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChromeButton.ChromeButton, {
408
- accessibilityLabel: "Okay",
409
- flex: true,
410
- label: "Okay",
411
- onPress: dismissReturnNudge,
412
- testID: "userflow-element-picker-return-okay"
413
- })
414
- }) : null, state.active && (phase === 'selecting' || phase === 'blocked') ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
415
- pointerEvents: "none",
416
- style: styles.dim,
417
- testID: "userflow-element-picker-dim"
418
- }) : null, state.active && selected ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
419
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_TooltipCutout.TooltipCutout, {
420
- backdropColor: _tokens.chromeOverlay.color,
421
- backdropOpacity: _tokens.chromeOverlay.opacity,
422
- targetBlocked: false,
423
- targetRect: {
424
- top: selected.rect.y,
425
- left: selected.rect.x,
426
- width: selected.rect.width,
427
- height: selected.rect.height
428
- }
429
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
456
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_WindowOverlayHost.WindowOverlayHost, {
457
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
458
+ pointerEvents: "box-none",
459
+ style: styles.root,
460
+ testID: "userflow-element-picker",
461
+ children: [returnNudge && !state.active ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChromeDialog.ChromeDialog, {
462
+ body: RETURN_NUDGE_BODY,
463
+ onClose: dismissReturnNudge,
464
+ title: RETURN_NUDGE_TITLE,
465
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChromeButton.ChromeButton, {
466
+ accessibilityLabel: "Okay",
467
+ flex: true,
468
+ label: "Okay",
469
+ onPress: dismissReturnNudge,
470
+ testID: "userflow-element-picker-return-okay"
471
+ })
472
+ }) : null, state.active && (phase === 'selecting' || phase === 'blocked') ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
430
473
  pointerEvents: "none",
431
- style: [ringStyle(selected.rect, 5), {
432
- borderWidth: 4,
433
- borderColor: _tokens.chromeColors.focusRing
434
- }],
435
- testID: "userflow-element-picker-focus-ring"
436
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
474
+ style: styles.dim,
475
+ testID: "userflow-element-picker-dim"
476
+ }) : null, state.active && selected ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
477
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_TooltipCutout.TooltipCutout, {
478
+ backdropColor: _tokens.chromeOverlay.color,
479
+ backdropOpacity: _tokens.chromeOverlay.opacity,
480
+ targetBlocked: false,
481
+ targetRect: {
482
+ top: selected.rect.y,
483
+ left: selected.rect.x,
484
+ width: selected.rect.width,
485
+ height: selected.rect.height
486
+ }
487
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
488
+ pointerEvents: "none",
489
+ style: [ringStyle(selected.rect, 5), {
490
+ borderWidth: 4,
491
+ borderColor: _tokens.chromeColors.focusRing
492
+ }],
493
+ testID: "userflow-element-picker-focus-ring"
494
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
495
+ pointerEvents: "none",
496
+ style: [ringStyle(selected.rect, 1), {
497
+ borderWidth: 1,
498
+ borderColor: _tokens.chromeColors.white
499
+ }],
500
+ testID: "userflow-element-picker-focus-ring-inner"
501
+ })]
502
+ }) : null, state.active && mode === 'select' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
503
+ testID: "userflow-element-picker-capture",
504
+ style: styles.capture,
505
+ onStartShouldSetResponder: () => true,
506
+ onResponderGrant: onGrant,
507
+ onResponderRelease: onRelease
508
+ }) : null, showChromeBars ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChromeBarTransition.ChromeBarTransition, {
509
+ edge: "top",
510
+ pointerEvents: "box-none",
511
+ style: styles.top,
512
+ visible: chromeBarsVisible,
513
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChromeTopBar.ChromeTopBar, {
514
+ label: barLabel,
515
+ onMeasureHeight: onMeasureHeight,
516
+ tone: isError ? 'error' : 'default',
517
+ ...(toneIcon ? {
518
+ icon: toneIcon
519
+ } : {})
520
+ })
521
+ }) : null, tooltipVisible ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
437
522
  pointerEvents: "none",
438
- style: [ringStyle(selected.rect, 1), {
439
- borderWidth: 1,
440
- borderColor: _tokens.chromeColors.white
523
+ style: [styles.tooltip, {
524
+ top: barHeight
441
525
  }],
442
- testID: "userflow-element-picker-focus-ring-inner"
443
- })]
444
- }) : null, state.active && mode === 'select' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
445
- testID: "userflow-element-picker-capture",
446
- style: styles.capture,
447
- onStartShouldSetResponder: () => true,
448
- onResponderGrant: onGrant,
449
- onResponderRelease: onRelease
450
- }) : null, showChromeBars ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChromeBarTransition.ChromeBarTransition, {
451
- edge: "top",
452
- pointerEvents: "box-none",
453
- style: styles.top,
454
- visible: chromeBarsVisible,
455
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChromeTopBar.ChromeTopBar, {
456
- label: barLabel,
457
- onMeasureHeight: onMeasureHeight,
458
- tone: isError ? 'error' : 'default',
459
- ...(toneIcon ? {
460
- icon: toneIcon
461
- } : {})
462
- })
463
- }) : null, tooltipVisible ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
464
- pointerEvents: "none",
465
- style: [styles.tooltip, {
466
- top: barHeight
467
- }],
468
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChromeTooltip.ChromeTooltip, {
469
- onDismiss: () => {
470
- setShowOnboarding(false);
471
- setChromeVisible(false);
472
- },
473
- children: ONBOARDING_COPY
474
- })
475
- }) : null, showChromeBars ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChromeBarTransition.ChromeBarTransition, {
476
- edge: "bottom",
477
- pointerEvents: "box-none",
478
- style: styles.bottom,
479
- visible: chromeBarsVisible,
480
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChromeBottomSheet.ChromeBottomSheet, {
481
- helperText: helperText,
482
- onMeasureHeight: onMeasureSheetHeight,
483
- tone: isError ? 'error' : 'default',
484
- ...(helperIcon ? {
485
- helperIcon
486
- } : {}),
487
- children: phase === 'selected' || phase === 'blocked' ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
488
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ChromeButton.ChromeButton, {
489
- accessibilityLabel: "Deselect",
490
- label: "Deselect",
491
- onPress: deselect,
492
- testID: "userflow-element-picker-deselect",
493
- variant: "secondary"
494
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChromeButton.ChromeButton, {
495
- accessibilityLabel: "Confirm element",
496
- disabled: busy || isError,
497
- label: "Confirm element",
498
- onPress: () => {
499
- void confirm();
500
- },
501
- testID: "userflow-element-picker-confirm"
502
- })]
503
- }) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
504
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ChromeButton.ChromeButton, {
505
- accessibilityLabel: "Cancel element selection",
506
- label: "Cancel",
507
- onPress: () => _elementPickerController.elementPickerController.cancel(),
508
- testID: "userflow-element-picker-cancel",
509
- variant: "secondary"
510
- }), phase === 'selecting' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChromeButton.ChromeButton, {
511
- accessibilityLabel: "Navigate screens",
512
- label: "Navigate screens",
513
- onPress: () => {
514
- cancelPendingSelection();
515
- lastTapRef.current = null;
516
- setStatus(null);
517
- setMode('navigate');
518
- },
519
- testID: "userflow-element-picker-navigate"
520
- }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChromeButton.ChromeButton, {
521
- accessibilityLabel: "Select element here",
522
- label: "Select element here",
523
- onPress: () => {
524
- setStatus(null);
525
- setMode('select');
526
- },
527
- testID: "userflow-element-picker-select-here"
528
- })]
526
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChromeTooltip.ChromeTooltip, {
527
+ onDismiss: () => {
528
+ setShowOnboarding(false);
529
+ setChromeVisible(false);
530
+ },
531
+ children: ONBOARDING_COPY
532
+ })
533
+ }) : null, showChromeBars ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChromeBarTransition.ChromeBarTransition, {
534
+ edge: "bottom",
535
+ pointerEvents: "box-none",
536
+ style: styles.bottom,
537
+ visible: chromeBarsVisible,
538
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChromeBottomSheet.ChromeBottomSheet, {
539
+ helperText: helperText,
540
+ onMeasureHeight: onMeasureSheetHeight,
541
+ tone: isError ? 'error' : 'default',
542
+ ...(helperIcon ? {
543
+ helperIcon
544
+ } : {}),
545
+ children: phase === 'selected' || phase === 'blocked' ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
546
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ChromeButton.ChromeButton, {
547
+ accessibilityLabel: "Deselect",
548
+ label: "Deselect",
549
+ onPress: deselect,
550
+ testID: "userflow-element-picker-deselect",
551
+ variant: "secondary"
552
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChromeButton.ChromeButton, {
553
+ accessibilityLabel: "Confirm element",
554
+ disabled: busy || isError,
555
+ label: "Confirm element",
556
+ onPress: () => {
557
+ void confirm();
558
+ },
559
+ testID: "userflow-element-picker-confirm"
560
+ })]
561
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
562
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ChromeButton.ChromeButton, {
563
+ accessibilityLabel: "Cancel element selection",
564
+ label: "Cancel",
565
+ onPress: () => _elementPickerController.elementPickerController.cancel(),
566
+ testID: "userflow-element-picker-cancel",
567
+ variant: "secondary"
568
+ }), phase === 'selecting' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChromeButton.ChromeButton, {
569
+ accessibilityLabel: "Navigate screens",
570
+ label: "Navigate screens",
571
+ onPress: () => {
572
+ cancelPendingSelection();
573
+ lastTapRef.current = null;
574
+ setStatus(null);
575
+ setMode('navigate');
576
+ },
577
+ testID: "userflow-element-picker-navigate"
578
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChromeButton.ChromeButton, {
579
+ accessibilityLabel: "Select element here",
580
+ label: "Select element here",
581
+ onPress: () => {
582
+ setStatus(null);
583
+ setMode('select');
584
+ },
585
+ testID: "userflow-element-picker-select-here"
586
+ })]
587
+ })
529
588
  })
530
- })
531
- }) : null]
589
+ }) : null]
590
+ })
532
591
  });
533
592
  }
534
593
  const styles = _reactNative.StyleSheet.create({