@userflow-tech/react-native 0.1.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 (783) hide show
  1. package/LICENSE +76 -0
  2. package/README.md +337 -0
  3. package/docs/anchoring.md +264 -0
  4. package/docs/deep-linking.md +271 -0
  5. package/docs/identity-verification.md +95 -0
  6. package/docs/theme-mapping.md +101 -0
  7. package/docs/troubleshooting.md +107 -0
  8. package/lib/commonjs/anchors/AnchorRegistry.js +72 -0
  9. package/lib/commonjs/anchors/AnchorRegistry.js.map +1 -0
  10. package/lib/commonjs/anchors/AutoAnchorRegistry.js +315 -0
  11. package/lib/commonjs/anchors/AutoAnchorRegistry.js.map +1 -0
  12. package/lib/commonjs/anchors/ScrollContainerRegistry.js +93 -0
  13. package/lib/commonjs/anchors/ScrollContainerRegistry.js.map +1 -0
  14. package/lib/commonjs/anchors/anchorChangeTicker.js +83 -0
  15. package/lib/commonjs/anchors/anchorChangeTicker.js.map +1 -0
  16. package/lib/commonjs/anchors/animationFrame.js +90 -0
  17. package/lib/commonjs/anchors/animationFrame.js.map +1 -0
  18. package/lib/commonjs/anchors/autoAnchor.js +253 -0
  19. package/lib/commonjs/anchors/autoAnchor.js.map +1 -0
  20. package/lib/commonjs/anchors/elementConditionEvaluator.js +82 -0
  21. package/lib/commonjs/anchors/elementConditionEvaluator.js.map +1 -0
  22. package/lib/commonjs/anchors/fiber/FiberScanRoot.js +90 -0
  23. package/lib/commonjs/anchors/fiber/FiberScanRoot.js.map +1 -0
  24. package/lib/commonjs/anchors/fiber/fiberInternals.js +180 -0
  25. package/lib/commonjs/anchors/fiber/fiberInternals.js.map +1 -0
  26. package/lib/commonjs/anchors/fiber/findAnchorFiber.js +214 -0
  27. package/lib/commonjs/anchors/fiber/findAnchorFiber.js.map +1 -0
  28. package/lib/commonjs/anchors/fiber/findScrollAncestors.js +176 -0
  29. package/lib/commonjs/anchors/fiber/findScrollAncestors.js.map +1 -0
  30. package/lib/commonjs/anchors/fiber/measureHostFiber.js +75 -0
  31. package/lib/commonjs/anchors/fiber/measureHostFiber.js.map +1 -0
  32. package/lib/commonjs/anchors/fiber/visibleScreens.js +165 -0
  33. package/lib/commonjs/anchors/fiber/visibleScreens.js.map +1 -0
  34. package/lib/commonjs/anchors/hintsCodec.js +120 -0
  35. package/lib/commonjs/anchors/hintsCodec.js.map +1 -0
  36. package/lib/commonjs/anchors/resolveAnchorHost.js +112 -0
  37. package/lib/commonjs/anchors/resolveAnchorHost.js.map +1 -0
  38. package/lib/commonjs/anchors/resolveManualAnchorId.js +17 -0
  39. package/lib/commonjs/anchors/resolveManualAnchorId.js.map +1 -0
  40. package/lib/commonjs/anchors/scrollAnchorIntoView.js +227 -0
  41. package/lib/commonjs/anchors/scrollAnchorIntoView.js.map +1 -0
  42. package/lib/commonjs/anchors/scrollConfig.js +48 -0
  43. package/lib/commonjs/anchors/scrollConfig.js.map +1 -0
  44. package/lib/commonjs/anchors/targetPressMonitor.js +113 -0
  45. package/lib/commonjs/anchors/targetPressMonitor.js.map +1 -0
  46. package/lib/commonjs/anchors/useUserflowAnchor.js +91 -0
  47. package/lib/commonjs/anchors/useUserflowAnchor.js.map +1 -0
  48. package/lib/commonjs/anchors/useUserflowScrollContainer.js +76 -0
  49. package/lib/commonjs/anchors/useUserflowScrollContainer.js.map +1 -0
  50. package/lib/commonjs/anonymousId.js +42 -0
  51. package/lib/commonjs/anonymousId.js.map +1 -0
  52. package/lib/commonjs/content/RichContentRenderer.js +675 -0
  53. package/lib/commonjs/content/RichContentRenderer.js.map +1 -0
  54. package/lib/commonjs/content/StepButton.js +57 -0
  55. package/lib/commonjs/content/StepButton.js.map +1 -0
  56. package/lib/commonjs/content/buttonAppearance.js +18 -0
  57. package/lib/commonjs/content/buttonAppearance.js.map +1 -0
  58. package/lib/commonjs/content/deserialize.js +129 -0
  59. package/lib/commonjs/content/deserialize.js.map +1 -0
  60. package/lib/commonjs/content/imageLayout.js +24 -0
  61. package/lib/commonjs/content/imageLayout.js.map +1 -0
  62. package/lib/commonjs/content/migrateFlowBlocks.js +39 -0
  63. package/lib/commonjs/content/migrateFlowBlocks.js.map +1 -0
  64. package/lib/commonjs/content/openSafeUrl.js +37 -0
  65. package/lib/commonjs/content/openSafeUrl.js.map +1 -0
  66. package/lib/commonjs/content/resolveStepButtonChrome.js +95 -0
  67. package/lib/commonjs/content/resolveStepButtonChrome.js.map +1 -0
  68. package/lib/commonjs/content/themeColor.js +106 -0
  69. package/lib/commonjs/content/themeColor.js.map +1 -0
  70. package/lib/commonjs/content/types.js +2 -0
  71. package/lib/commonjs/content/types.js.map +1 -0
  72. package/lib/commonjs/deepLinking.js +162 -0
  73. package/lib/commonjs/deepLinking.js.map +1 -0
  74. package/lib/commonjs/expo-router/UserflowExpoRouterScreenTracker.js +13 -0
  75. package/lib/commonjs/expo-router/UserflowExpoRouterScreenTracker.js.map +1 -0
  76. package/lib/commonjs/expo-router/getExpoRouterScreenTracker.js +44 -0
  77. package/lib/commonjs/expo-router/getExpoRouterScreenTracker.js.map +1 -0
  78. package/lib/commonjs/expo-router/index.js +20 -0
  79. package/lib/commonjs/expo-router/index.js.map +1 -0
  80. package/lib/commonjs/expo-router/useUserflowExpoRouter.js +45 -0
  81. package/lib/commonjs/expo-router/useUserflowExpoRouter.js.map +1 -0
  82. package/lib/commonjs/index.js +356 -0
  83. package/lib/commonjs/index.js.map +1 -0
  84. package/lib/commonjs/lifecycle.js +200 -0
  85. package/lib/commonjs/lifecycle.js.map +1 -0
  86. package/lib/commonjs/navigation/WithUserflowReactNavigation.js +69 -0
  87. package/lib/commonjs/navigation/WithUserflowReactNavigation.js.map +1 -0
  88. package/lib/commonjs/navigation/chainCallbacks.js +16 -0
  89. package/lib/commonjs/navigation/chainCallbacks.js.map +1 -0
  90. package/lib/commonjs/navigation/getActiveRouteName.js +18 -0
  91. package/lib/commonjs/navigation/getActiveRouteName.js.map +1 -0
  92. package/lib/commonjs/navigation/index.js +50 -0
  93. package/lib/commonjs/navigation/index.js.map +1 -0
  94. package/lib/commonjs/navigation/openFlowNavigateUrl.js +110 -0
  95. package/lib/commonjs/navigation/openFlowNavigateUrl.js.map +1 -0
  96. package/lib/commonjs/network.js +90 -0
  97. package/lib/commonjs/network.js.map +1 -0
  98. package/lib/commonjs/pairing/PairingController.js +290 -0
  99. package/lib/commonjs/pairing/PairingController.js.map +1 -0
  100. package/lib/commonjs/pairing/PreviewModeBanner.js +118 -0
  101. package/lib/commonjs/pairing/PreviewModeBanner.js.map +1 -0
  102. package/lib/commonjs/pairing/deepLink.js +141 -0
  103. package/lib/commonjs/pairing/deepLink.js.map +1 -0
  104. package/lib/commonjs/pairing/diagnostics.js +115 -0
  105. package/lib/commonjs/pairing/diagnostics.js.map +1 -0
  106. package/lib/commonjs/pairing/index.js +58 -0
  107. package/lib/commonjs/pairing/index.js.map +1 -0
  108. package/lib/commonjs/pairing/pairingRuntime.js +85 -0
  109. package/lib/commonjs/pairing/pairingRuntime.js.map +1 -0
  110. package/lib/commonjs/pairing/tokenStorage.js +70 -0
  111. package/lib/commonjs/pairing/tokenStorage.js.map +1 -0
  112. package/lib/commonjs/pairing/usePairingState.js +40 -0
  113. package/lib/commonjs/pairing/usePairingState.js.map +1 -0
  114. package/lib/commonjs/runtime/FlowRenderer.js +57 -0
  115. package/lib/commonjs/runtime/FlowRenderer.js.map +1 -0
  116. package/lib/commonjs/runtime/FlowSurfaceFade.js +53 -0
  117. package/lib/commonjs/runtime/FlowSurfaceFade.js.map +1 -0
  118. package/lib/commonjs/runtime/TargetPressBridge.js +96 -0
  119. package/lib/commonjs/runtime/TargetPressBridge.js.map +1 -0
  120. package/lib/commonjs/runtime/UserflowProvider.js +91 -0
  121. package/lib/commonjs/runtime/UserflowProvider.js.map +1 -0
  122. package/lib/commonjs/runtime/clientConditions.js +50 -0
  123. package/lib/commonjs/runtime/clientConditions.js.map +1 -0
  124. package/lib/commonjs/runtime/flowEngine.js +63 -0
  125. package/lib/commonjs/runtime/flowEngine.js.map +1 -0
  126. package/lib/commonjs/runtime/flowSessionViewState.js +48 -0
  127. package/lib/commonjs/runtime/flowSessionViewState.js.map +1 -0
  128. package/lib/commonjs/runtime/useFlowSessionState.js +25 -0
  129. package/lib/commonjs/runtime/useFlowSessionState.js.map +1 -0
  130. package/lib/commonjs/runtime/userflowCore.js +13 -0
  131. package/lib/commonjs/runtime/userflowCore.js.map +1 -0
  132. package/lib/commonjs/screenTracker.js +87 -0
  133. package/lib/commonjs/screenTracker.js.map +1 -0
  134. package/lib/commonjs/surfaces/CloseButton.js +52 -0
  135. package/lib/commonjs/surfaces/CloseButton.js.map +1 -0
  136. package/lib/commonjs/surfaces/MadeWithUserflow.js +90 -0
  137. package/lib/commonjs/surfaces/MadeWithUserflow.js.map +1 -0
  138. package/lib/commonjs/surfaces/ModalSurface.js +170 -0
  139. package/lib/commonjs/surfaces/ModalSurface.js.map +1 -0
  140. package/lib/commonjs/surfaces/ProgressBar.js +116 -0
  141. package/lib/commonjs/surfaces/ProgressBar.js.map +1 -0
  142. package/lib/commonjs/surfaces/TooltipSurface.js +638 -0
  143. package/lib/commonjs/surfaces/TooltipSurface.js.map +1 -0
  144. package/lib/commonjs/surfaces/absoluteFill.js +29 -0
  145. package/lib/commonjs/surfaces/absoluteFill.js.map +1 -0
  146. package/lib/commonjs/surfaces/assets/png.d.js +2 -0
  147. package/lib/commonjs/surfaces/assets/png.d.js.map +1 -0
  148. package/lib/commonjs/surfaces/assets/userflow-logomark.png +0 -0
  149. package/lib/commonjs/surfaces/parseBackdropOpacity.js +20 -0
  150. package/lib/commonjs/surfaces/parseBackdropOpacity.js.map +1 -0
  151. package/lib/commonjs/surfaces/progress.js +35 -0
  152. package/lib/commonjs/surfaces/progress.js.map +1 -0
  153. package/lib/commonjs/surfaces/resolveCloseButtonColor.js +24 -0
  154. package/lib/commonjs/surfaces/resolveCloseButtonColor.js.map +1 -0
  155. package/lib/commonjs/surfaces/resolveModalLayout.js +67 -0
  156. package/lib/commonjs/surfaces/resolveModalLayout.js.map +1 -0
  157. package/lib/commonjs/surfaces/resolveTooltipLayout.js +64 -0
  158. package/lib/commonjs/surfaces/resolveTooltipLayout.js.map +1 -0
  159. package/lib/commonjs/surfaces/safeArea.js +46 -0
  160. package/lib/commonjs/surfaces/safeArea.js.map +1 -0
  161. package/lib/commonjs/surfaces/themeChrome.js +90 -0
  162. package/lib/commonjs/surfaces/themeChrome.js.map +1 -0
  163. package/lib/commonjs/surfaces/tooltip/TooltipBubble.js +108 -0
  164. package/lib/commonjs/surfaces/tooltip/TooltipBubble.js.map +1 -0
  165. package/lib/commonjs/surfaces/tooltip/TooltipCutout.js +103 -0
  166. package/lib/commonjs/surfaces/tooltip/TooltipCutout.js.map +1 -0
  167. package/lib/commonjs/surfaces/tooltip/TooltipNotch.js +64 -0
  168. package/lib/commonjs/surfaces/tooltip/TooltipNotch.js.map +1 -0
  169. package/lib/commonjs/surfaces/tooltip/computeTooltipPosition.js +102 -0
  170. package/lib/commonjs/surfaces/tooltip/computeTooltipPosition.js.map +1 -0
  171. package/lib/commonjs/surfaces/tooltip/inferTooltipPlacement.js +100 -0
  172. package/lib/commonjs/surfaces/tooltip/inferTooltipPlacement.js.map +1 -0
  173. package/lib/commonjs/surfaces/tooltip/parseBackdropPadding.js +15 -0
  174. package/lib/commonjs/surfaces/tooltip/parseBackdropPadding.js.map +1 -0
  175. package/lib/commonjs/surfaces/tooltip/rect.js +51 -0
  176. package/lib/commonjs/surfaces/tooltip/rect.js.map +1 -0
  177. package/lib/commonjs/useUserflowScreen.js +24 -0
  178. package/lib/commonjs/useUserflowScreen.js.map +1 -0
  179. package/lib/commonjs/version.js +9 -0
  180. package/lib/commonjs/version.js.map +1 -0
  181. package/lib/module/anchors/AnchorRegistry.js +67 -0
  182. package/lib/module/anchors/AnchorRegistry.js.map +1 -0
  183. package/lib/module/anchors/AutoAnchorRegistry.js +309 -0
  184. package/lib/module/anchors/AutoAnchorRegistry.js.map +1 -0
  185. package/lib/module/anchors/ScrollContainerRegistry.js +86 -0
  186. package/lib/module/anchors/ScrollContainerRegistry.js.map +1 -0
  187. package/lib/module/anchors/anchorChangeTicker.js +79 -0
  188. package/lib/module/anchors/anchorChangeTicker.js.map +1 -0
  189. package/lib/module/anchors/animationFrame.js +83 -0
  190. package/lib/module/anchors/animationFrame.js.map +1 -0
  191. package/lib/module/anchors/autoAnchor.js +248 -0
  192. package/lib/module/anchors/autoAnchor.js.map +1 -0
  193. package/lib/module/anchors/elementConditionEvaluator.js +79 -0
  194. package/lib/module/anchors/elementConditionEvaluator.js.map +1 -0
  195. package/lib/module/anchors/fiber/FiberScanRoot.js +84 -0
  196. package/lib/module/anchors/fiber/FiberScanRoot.js.map +1 -0
  197. package/lib/module/anchors/fiber/fiberInternals.js +164 -0
  198. package/lib/module/anchors/fiber/fiberInternals.js.map +1 -0
  199. package/lib/module/anchors/fiber/findAnchorFiber.js +210 -0
  200. package/lib/module/anchors/fiber/findAnchorFiber.js.map +1 -0
  201. package/lib/module/anchors/fiber/findScrollAncestors.js +172 -0
  202. package/lib/module/anchors/fiber/findScrollAncestors.js.map +1 -0
  203. package/lib/module/anchors/fiber/measureHostFiber.js +70 -0
  204. package/lib/module/anchors/fiber/measureHostFiber.js.map +1 -0
  205. package/lib/module/anchors/fiber/visibleScreens.js +159 -0
  206. package/lib/module/anchors/fiber/visibleScreens.js.map +1 -0
  207. package/lib/module/anchors/hintsCodec.js +111 -0
  208. package/lib/module/anchors/hintsCodec.js.map +1 -0
  209. package/lib/module/anchors/resolveAnchorHost.js +105 -0
  210. package/lib/module/anchors/resolveAnchorHost.js.map +1 -0
  211. package/lib/module/anchors/resolveManualAnchorId.js +13 -0
  212. package/lib/module/anchors/resolveManualAnchorId.js.map +1 -0
  213. package/lib/module/anchors/scrollAnchorIntoView.js +222 -0
  214. package/lib/module/anchors/scrollAnchorIntoView.js.map +1 -0
  215. package/lib/module/anchors/scrollConfig.js +40 -0
  216. package/lib/module/anchors/scrollConfig.js.map +1 -0
  217. package/lib/module/anchors/targetPressMonitor.js +105 -0
  218. package/lib/module/anchors/targetPressMonitor.js.map +1 -0
  219. package/lib/module/anchors/useUserflowAnchor.js +87 -0
  220. package/lib/module/anchors/useUserflowAnchor.js.map +1 -0
  221. package/lib/module/anchors/useUserflowScrollContainer.js +71 -0
  222. package/lib/module/anchors/useUserflowScrollContainer.js.map +1 -0
  223. package/lib/module/anonymousId.js +36 -0
  224. package/lib/module/anonymousId.js.map +1 -0
  225. package/lib/module/content/RichContentRenderer.js +670 -0
  226. package/lib/module/content/RichContentRenderer.js.map +1 -0
  227. package/lib/module/content/StepButton.js +52 -0
  228. package/lib/module/content/StepButton.js.map +1 -0
  229. package/lib/module/content/buttonAppearance.js +14 -0
  230. package/lib/module/content/buttonAppearance.js.map +1 -0
  231. package/lib/module/content/deserialize.js +116 -0
  232. package/lib/module/content/deserialize.js.map +1 -0
  233. package/lib/module/content/imageLayout.js +20 -0
  234. package/lib/module/content/imageLayout.js.map +1 -0
  235. package/lib/module/content/migrateFlowBlocks.js +35 -0
  236. package/lib/module/content/migrateFlowBlocks.js.map +1 -0
  237. package/lib/module/content/openSafeUrl.js +32 -0
  238. package/lib/module/content/openSafeUrl.js.map +1 -0
  239. package/lib/module/content/resolveStepButtonChrome.js +90 -0
  240. package/lib/module/content/resolveStepButtonChrome.js.map +1 -0
  241. package/lib/module/content/themeColor.js +99 -0
  242. package/lib/module/content/themeColor.js.map +1 -0
  243. package/lib/module/content/types.js +2 -0
  244. package/lib/module/content/types.js.map +1 -0
  245. package/lib/module/deepLinking.js +152 -0
  246. package/lib/module/deepLinking.js.map +1 -0
  247. package/lib/module/expo-router/UserflowExpoRouterScreenTracker.js +10 -0
  248. package/lib/module/expo-router/UserflowExpoRouterScreenTracker.js.map +1 -0
  249. package/lib/module/expo-router/getExpoRouterScreenTracker.js +39 -0
  250. package/lib/module/expo-router/getExpoRouterScreenTracker.js.map +1 -0
  251. package/lib/module/expo-router/index.js +5 -0
  252. package/lib/module/expo-router/index.js.map +1 -0
  253. package/lib/module/expo-router/useUserflowExpoRouter.js +42 -0
  254. package/lib/module/expo-router/useUserflowExpoRouter.js.map +1 -0
  255. package/lib/module/index.js +259 -0
  256. package/lib/module/index.js.map +1 -0
  257. package/lib/module/lifecycle.js +195 -0
  258. package/lib/module/lifecycle.js.map +1 -0
  259. package/lib/module/navigation/WithUserflowReactNavigation.js +65 -0
  260. package/lib/module/navigation/WithUserflowReactNavigation.js.map +1 -0
  261. package/lib/module/navigation/chainCallbacks.js +12 -0
  262. package/lib/module/navigation/chainCallbacks.js.map +1 -0
  263. package/lib/module/navigation/getActiveRouteName.js +14 -0
  264. package/lib/module/navigation/getActiveRouteName.js.map +1 -0
  265. package/lib/module/navigation/index.js +5 -0
  266. package/lib/module/navigation/index.js.map +1 -0
  267. package/lib/module/navigation/openFlowNavigateUrl.js +100 -0
  268. package/lib/module/navigation/openFlowNavigateUrl.js.map +1 -0
  269. package/lib/module/network.js +85 -0
  270. package/lib/module/network.js.map +1 -0
  271. package/lib/module/pairing/PairingController.js +286 -0
  272. package/lib/module/pairing/PairingController.js.map +1 -0
  273. package/lib/module/pairing/PreviewModeBanner.js +113 -0
  274. package/lib/module/pairing/PreviewModeBanner.js.map +1 -0
  275. package/lib/module/pairing/deepLink.js +134 -0
  276. package/lib/module/pairing/deepLink.js.map +1 -0
  277. package/lib/module/pairing/diagnostics.js +101 -0
  278. package/lib/module/pairing/diagnostics.js.map +1 -0
  279. package/lib/module/pairing/index.js +7 -0
  280. package/lib/module/pairing/index.js.map +1 -0
  281. package/lib/module/pairing/pairingRuntime.js +77 -0
  282. package/lib/module/pairing/pairingRuntime.js.map +1 -0
  283. package/lib/module/pairing/tokenStorage.js +65 -0
  284. package/lib/module/pairing/tokenStorage.js.map +1 -0
  285. package/lib/module/pairing/usePairingState.js +35 -0
  286. package/lib/module/pairing/usePairingState.js.map +1 -0
  287. package/lib/module/runtime/FlowRenderer.js +52 -0
  288. package/lib/module/runtime/FlowRenderer.js.map +1 -0
  289. package/lib/module/runtime/FlowSurfaceFade.js +48 -0
  290. package/lib/module/runtime/FlowSurfaceFade.js.map +1 -0
  291. package/lib/module/runtime/TargetPressBridge.js +91 -0
  292. package/lib/module/runtime/TargetPressBridge.js.map +1 -0
  293. package/lib/module/runtime/UserflowProvider.js +85 -0
  294. package/lib/module/runtime/UserflowProvider.js.map +1 -0
  295. package/lib/module/runtime/clientConditions.js +43 -0
  296. package/lib/module/runtime/clientConditions.js.map +1 -0
  297. package/lib/module/runtime/flowEngine.js +54 -0
  298. package/lib/module/runtime/flowEngine.js.map +1 -0
  299. package/lib/module/runtime/flowSessionViewState.js +42 -0
  300. package/lib/module/runtime/flowSessionViewState.js.map +1 -0
  301. package/lib/module/runtime/useFlowSessionState.js +21 -0
  302. package/lib/module/runtime/useFlowSessionState.js.map +1 -0
  303. package/lib/module/runtime/userflowCore.js +10 -0
  304. package/lib/module/runtime/userflowCore.js.map +1 -0
  305. package/lib/module/screenTracker.js +79 -0
  306. package/lib/module/screenTracker.js.map +1 -0
  307. package/lib/module/surfaces/CloseButton.js +47 -0
  308. package/lib/module/surfaces/CloseButton.js.map +1 -0
  309. package/lib/module/surfaces/MadeWithUserflow.js +83 -0
  310. package/lib/module/surfaces/MadeWithUserflow.js.map +1 -0
  311. package/lib/module/surfaces/ModalSurface.js +165 -0
  312. package/lib/module/surfaces/ModalSurface.js.map +1 -0
  313. package/lib/module/surfaces/ProgressBar.js +111 -0
  314. package/lib/module/surfaces/ProgressBar.js.map +1 -0
  315. package/lib/module/surfaces/TooltipSurface.js +633 -0
  316. package/lib/module/surfaces/TooltipSurface.js.map +1 -0
  317. package/lib/module/surfaces/absoluteFill.js +25 -0
  318. package/lib/module/surfaces/absoluteFill.js.map +1 -0
  319. package/lib/module/surfaces/assets/png.d.js +2 -0
  320. package/lib/module/surfaces/assets/png.d.js.map +1 -0
  321. package/lib/module/surfaces/assets/userflow-logomark.png +0 -0
  322. package/lib/module/surfaces/parseBackdropOpacity.js +16 -0
  323. package/lib/module/surfaces/parseBackdropOpacity.js.map +1 -0
  324. package/lib/module/surfaces/progress.js +31 -0
  325. package/lib/module/surfaces/progress.js.map +1 -0
  326. package/lib/module/surfaces/resolveCloseButtonColor.js +20 -0
  327. package/lib/module/surfaces/resolveCloseButtonColor.js.map +1 -0
  328. package/lib/module/surfaces/resolveModalLayout.js +59 -0
  329. package/lib/module/surfaces/resolveModalLayout.js.map +1 -0
  330. package/lib/module/surfaces/resolveTooltipLayout.js +57 -0
  331. package/lib/module/surfaces/resolveTooltipLayout.js.map +1 -0
  332. package/lib/module/surfaces/safeArea.js +41 -0
  333. package/lib/module/surfaces/safeArea.js.map +1 -0
  334. package/lib/module/surfaces/themeChrome.js +86 -0
  335. package/lib/module/surfaces/themeChrome.js.map +1 -0
  336. package/lib/module/surfaces/tooltip/TooltipBubble.js +103 -0
  337. package/lib/module/surfaces/tooltip/TooltipBubble.js.map +1 -0
  338. package/lib/module/surfaces/tooltip/TooltipCutout.js +98 -0
  339. package/lib/module/surfaces/tooltip/TooltipCutout.js.map +1 -0
  340. package/lib/module/surfaces/tooltip/TooltipNotch.js +55 -0
  341. package/lib/module/surfaces/tooltip/TooltipNotch.js.map +1 -0
  342. package/lib/module/surfaces/tooltip/computeTooltipPosition.js +97 -0
  343. package/lib/module/surfaces/tooltip/computeTooltipPosition.js.map +1 -0
  344. package/lib/module/surfaces/tooltip/inferTooltipPlacement.js +95 -0
  345. package/lib/module/surfaces/tooltip/inferTooltipPlacement.js.map +1 -0
  346. package/lib/module/surfaces/tooltip/parseBackdropPadding.js +11 -0
  347. package/lib/module/surfaces/tooltip/parseBackdropPadding.js.map +1 -0
  348. package/lib/module/surfaces/tooltip/rect.js +44 -0
  349. package/lib/module/surfaces/tooltip/rect.js.map +1 -0
  350. package/lib/module/useUserflowScreen.js +21 -0
  351. package/lib/module/useUserflowScreen.js.map +1 -0
  352. package/lib/module/version.js +5 -0
  353. package/lib/module/version.js.map +1 -0
  354. package/lib/typescript/commonjs/package.json +1 -0
  355. package/lib/typescript/commonjs/src/anchors/AnchorRegistry.d.ts +32 -0
  356. package/lib/typescript/commonjs/src/anchors/AnchorRegistry.d.ts.map +1 -0
  357. package/lib/typescript/commonjs/src/anchors/AutoAnchorRegistry.d.ts +113 -0
  358. package/lib/typescript/commonjs/src/anchors/AutoAnchorRegistry.d.ts.map +1 -0
  359. package/lib/typescript/commonjs/src/anchors/ScrollContainerRegistry.d.ts +46 -0
  360. package/lib/typescript/commonjs/src/anchors/ScrollContainerRegistry.d.ts.map +1 -0
  361. package/lib/typescript/commonjs/src/anchors/anchorChangeTicker.d.ts +30 -0
  362. package/lib/typescript/commonjs/src/anchors/anchorChangeTicker.d.ts.map +1 -0
  363. package/lib/typescript/commonjs/src/anchors/animationFrame.d.ts +21 -0
  364. package/lib/typescript/commonjs/src/anchors/animationFrame.d.ts.map +1 -0
  365. package/lib/typescript/commonjs/src/anchors/autoAnchor.d.ts +31 -0
  366. package/lib/typescript/commonjs/src/anchors/autoAnchor.d.ts.map +1 -0
  367. package/lib/typescript/commonjs/src/anchors/elementConditionEvaluator.d.ts +21 -0
  368. package/lib/typescript/commonjs/src/anchors/elementConditionEvaluator.d.ts.map +1 -0
  369. package/lib/typescript/commonjs/src/anchors/fiber/FiberScanRoot.d.ts +41 -0
  370. package/lib/typescript/commonjs/src/anchors/fiber/FiberScanRoot.d.ts.map +1 -0
  371. package/lib/typescript/commonjs/src/anchors/fiber/fiberInternals.d.ts +48 -0
  372. package/lib/typescript/commonjs/src/anchors/fiber/fiberInternals.d.ts.map +1 -0
  373. package/lib/typescript/commonjs/src/anchors/fiber/findAnchorFiber.d.ts +33 -0
  374. package/lib/typescript/commonjs/src/anchors/fiber/findAnchorFiber.d.ts.map +1 -0
  375. package/lib/typescript/commonjs/src/anchors/fiber/findScrollAncestors.d.ts +47 -0
  376. package/lib/typescript/commonjs/src/anchors/fiber/findScrollAncestors.d.ts.map +1 -0
  377. package/lib/typescript/commonjs/src/anchors/fiber/measureHostFiber.d.ts +20 -0
  378. package/lib/typescript/commonjs/src/anchors/fiber/measureHostFiber.d.ts.map +1 -0
  379. package/lib/typescript/commonjs/src/anchors/fiber/visibleScreens.d.ts +42 -0
  380. package/lib/typescript/commonjs/src/anchors/fiber/visibleScreens.d.ts.map +1 -0
  381. package/lib/typescript/commonjs/src/anchors/hintsCodec.d.ts +40 -0
  382. package/lib/typescript/commonjs/src/anchors/hintsCodec.d.ts.map +1 -0
  383. package/lib/typescript/commonjs/src/anchors/resolveAnchorHost.d.ts +32 -0
  384. package/lib/typescript/commonjs/src/anchors/resolveAnchorHost.d.ts.map +1 -0
  385. package/lib/typescript/commonjs/src/anchors/resolveManualAnchorId.d.ts +6 -0
  386. package/lib/typescript/commonjs/src/anchors/resolveManualAnchorId.d.ts.map +1 -0
  387. package/lib/typescript/commonjs/src/anchors/scrollAnchorIntoView.d.ts +59 -0
  388. package/lib/typescript/commonjs/src/anchors/scrollAnchorIntoView.d.ts.map +1 -0
  389. package/lib/typescript/commonjs/src/anchors/scrollConfig.d.ts +30 -0
  390. package/lib/typescript/commonjs/src/anchors/scrollConfig.d.ts.map +1 -0
  391. package/lib/typescript/commonjs/src/anchors/targetPressMonitor.d.ts +64 -0
  392. package/lib/typescript/commonjs/src/anchors/targetPressMonitor.d.ts.map +1 -0
  393. package/lib/typescript/commonjs/src/anchors/useUserflowAnchor.d.ts +30 -0
  394. package/lib/typescript/commonjs/src/anchors/useUserflowAnchor.d.ts.map +1 -0
  395. package/lib/typescript/commonjs/src/anchors/useUserflowScrollContainer.d.ts +34 -0
  396. package/lib/typescript/commonjs/src/anchors/useUserflowScrollContainer.d.ts.map +1 -0
  397. package/lib/typescript/commonjs/src/anonymousId.d.ts +5 -0
  398. package/lib/typescript/commonjs/src/anonymousId.d.ts.map +1 -0
  399. package/lib/typescript/commonjs/src/content/RichContentRenderer.d.ts +21 -0
  400. package/lib/typescript/commonjs/src/content/RichContentRenderer.d.ts.map +1 -0
  401. package/lib/typescript/commonjs/src/content/StepButton.d.ts +13 -0
  402. package/lib/typescript/commonjs/src/content/StepButton.d.ts.map +1 -0
  403. package/lib/typescript/commonjs/src/content/buttonAppearance.d.ts +8 -0
  404. package/lib/typescript/commonjs/src/content/buttonAppearance.d.ts.map +1 -0
  405. package/lib/typescript/commonjs/src/content/deserialize.d.ts +27 -0
  406. package/lib/typescript/commonjs/src/content/deserialize.d.ts.map +1 -0
  407. package/lib/typescript/commonjs/src/content/imageLayout.d.ts +13 -0
  408. package/lib/typescript/commonjs/src/content/imageLayout.d.ts.map +1 -0
  409. package/lib/typescript/commonjs/src/content/migrateFlowBlocks.d.ts +12 -0
  410. package/lib/typescript/commonjs/src/content/migrateFlowBlocks.d.ts.map +1 -0
  411. package/lib/typescript/commonjs/src/content/openSafeUrl.d.ts +12 -0
  412. package/lib/typescript/commonjs/src/content/openSafeUrl.d.ts.map +1 -0
  413. package/lib/typescript/commonjs/src/content/resolveStepButtonChrome.d.ts +24 -0
  414. package/lib/typescript/commonjs/src/content/resolveStepButtonChrome.d.ts.map +1 -0
  415. package/lib/typescript/commonjs/src/content/themeColor.d.ts +43 -0
  416. package/lib/typescript/commonjs/src/content/themeColor.d.ts.map +1 -0
  417. package/lib/typescript/commonjs/src/content/types.d.ts +144 -0
  418. package/lib/typescript/commonjs/src/content/types.d.ts.map +1 -0
  419. package/lib/typescript/commonjs/src/deepLinking.d.ts +54 -0
  420. package/lib/typescript/commonjs/src/deepLinking.d.ts.map +1 -0
  421. package/lib/typescript/commonjs/src/expo-router/UserflowExpoRouterScreenTracker.d.ts +3 -0
  422. package/lib/typescript/commonjs/src/expo-router/UserflowExpoRouterScreenTracker.d.ts.map +1 -0
  423. package/lib/typescript/commonjs/src/expo-router/getExpoRouterScreenTracker.d.ts +13 -0
  424. package/lib/typescript/commonjs/src/expo-router/getExpoRouterScreenTracker.d.ts.map +1 -0
  425. package/lib/typescript/commonjs/src/expo-router/index.d.ts +3 -0
  426. package/lib/typescript/commonjs/src/expo-router/index.d.ts.map +1 -0
  427. package/lib/typescript/commonjs/src/expo-router/useUserflowExpoRouter.d.ts +17 -0
  428. package/lib/typescript/commonjs/src/expo-router/useUserflowExpoRouter.d.ts.map +1 -0
  429. package/lib/typescript/commonjs/src/index.d.ts +112 -0
  430. package/lib/typescript/commonjs/src/index.d.ts.map +1 -0
  431. package/lib/typescript/commonjs/src/lifecycle.d.ts +96 -0
  432. package/lib/typescript/commonjs/src/lifecycle.d.ts.map +1 -0
  433. package/lib/typescript/commonjs/src/navigation/WithUserflowReactNavigation.d.ts +21 -0
  434. package/lib/typescript/commonjs/src/navigation/WithUserflowReactNavigation.d.ts.map +1 -0
  435. package/lib/typescript/commonjs/src/navigation/chainCallbacks.d.ts +3 -0
  436. package/lib/typescript/commonjs/src/navigation/chainCallbacks.d.ts.map +1 -0
  437. package/lib/typescript/commonjs/src/navigation/getActiveRouteName.d.ts +6 -0
  438. package/lib/typescript/commonjs/src/navigation/getActiveRouteName.d.ts.map +1 -0
  439. package/lib/typescript/commonjs/src/navigation/index.d.ts +5 -0
  440. package/lib/typescript/commonjs/src/navigation/index.d.ts.map +1 -0
  441. package/lib/typescript/commonjs/src/navigation/openFlowNavigateUrl.d.ts +33 -0
  442. package/lib/typescript/commonjs/src/navigation/openFlowNavigateUrl.d.ts.map +1 -0
  443. package/lib/typescript/commonjs/src/network.d.ts +42 -0
  444. package/lib/typescript/commonjs/src/network.d.ts.map +1 -0
  445. package/lib/typescript/commonjs/src/pairing/PairingController.d.ts +104 -0
  446. package/lib/typescript/commonjs/src/pairing/PairingController.d.ts.map +1 -0
  447. package/lib/typescript/commonjs/src/pairing/PreviewModeBanner.d.ts +11 -0
  448. package/lib/typescript/commonjs/src/pairing/PreviewModeBanner.d.ts.map +1 -0
  449. package/lib/typescript/commonjs/src/pairing/deepLink.d.ts +53 -0
  450. package/lib/typescript/commonjs/src/pairing/deepLink.d.ts.map +1 -0
  451. package/lib/typescript/commonjs/src/pairing/diagnostics.d.ts +52 -0
  452. package/lib/typescript/commonjs/src/pairing/diagnostics.d.ts.map +1 -0
  453. package/lib/typescript/commonjs/src/pairing/index.d.ts +10 -0
  454. package/lib/typescript/commonjs/src/pairing/index.d.ts.map +1 -0
  455. package/lib/typescript/commonjs/src/pairing/pairingRuntime.d.ts +24 -0
  456. package/lib/typescript/commonjs/src/pairing/pairingRuntime.d.ts.map +1 -0
  457. package/lib/typescript/commonjs/src/pairing/tokenStorage.d.ts +16 -0
  458. package/lib/typescript/commonjs/src/pairing/tokenStorage.d.ts.map +1 -0
  459. package/lib/typescript/commonjs/src/pairing/usePairingState.d.ts +4 -0
  460. package/lib/typescript/commonjs/src/pairing/usePairingState.d.ts.map +1 -0
  461. package/lib/typescript/commonjs/src/runtime/FlowRenderer.d.ts +13 -0
  462. package/lib/typescript/commonjs/src/runtime/FlowRenderer.d.ts.map +1 -0
  463. package/lib/typescript/commonjs/src/runtime/FlowSurfaceFade.d.ts +13 -0
  464. package/lib/typescript/commonjs/src/runtime/FlowSurfaceFade.d.ts.map +1 -0
  465. package/lib/typescript/commonjs/src/runtime/TargetPressBridge.d.ts +16 -0
  466. package/lib/typescript/commonjs/src/runtime/TargetPressBridge.d.ts.map +1 -0
  467. package/lib/typescript/commonjs/src/runtime/UserflowProvider.d.ts +32 -0
  468. package/lib/typescript/commonjs/src/runtime/UserflowProvider.d.ts.map +1 -0
  469. package/lib/typescript/commonjs/src/runtime/clientConditions.d.ts +10 -0
  470. package/lib/typescript/commonjs/src/runtime/clientConditions.d.ts.map +1 -0
  471. package/lib/typescript/commonjs/src/runtime/flowEngine.d.ts +17 -0
  472. package/lib/typescript/commonjs/src/runtime/flowEngine.d.ts.map +1 -0
  473. package/lib/typescript/commonjs/src/runtime/flowSessionViewState.d.ts +18 -0
  474. package/lib/typescript/commonjs/src/runtime/flowSessionViewState.d.ts.map +1 -0
  475. package/lib/typescript/commonjs/src/runtime/useFlowSessionState.d.ts +10 -0
  476. package/lib/typescript/commonjs/src/runtime/useFlowSessionState.d.ts.map +1 -0
  477. package/lib/typescript/commonjs/src/runtime/userflowCore.d.ts +3 -0
  478. package/lib/typescript/commonjs/src/runtime/userflowCore.d.ts.map +1 -0
  479. package/lib/typescript/commonjs/src/screenTracker.d.ts +28 -0
  480. package/lib/typescript/commonjs/src/screenTracker.d.ts.map +1 -0
  481. package/lib/typescript/commonjs/src/surfaces/CloseButton.d.ts +8 -0
  482. package/lib/typescript/commonjs/src/surfaces/CloseButton.d.ts.map +1 -0
  483. package/lib/typescript/commonjs/src/surfaces/MadeWithUserflow.d.ts +28 -0
  484. package/lib/typescript/commonjs/src/surfaces/MadeWithUserflow.d.ts.map +1 -0
  485. package/lib/typescript/commonjs/src/surfaces/ModalSurface.d.ts +23 -0
  486. package/lib/typescript/commonjs/src/surfaces/ModalSurface.d.ts.map +1 -0
  487. package/lib/typescript/commonjs/src/surfaces/ProgressBar.d.ts +19 -0
  488. package/lib/typescript/commonjs/src/surfaces/ProgressBar.d.ts.map +1 -0
  489. package/lib/typescript/commonjs/src/surfaces/TooltipSurface.d.ts +17 -0
  490. package/lib/typescript/commonjs/src/surfaces/TooltipSurface.d.ts.map +1 -0
  491. package/lib/typescript/commonjs/src/surfaces/absoluteFill.d.ts +18 -0
  492. package/lib/typescript/commonjs/src/surfaces/absoluteFill.d.ts.map +1 -0
  493. package/lib/typescript/commonjs/src/surfaces/parseBackdropOpacity.d.ts +5 -0
  494. package/lib/typescript/commonjs/src/surfaces/parseBackdropOpacity.d.ts.map +1 -0
  495. package/lib/typescript/commonjs/src/surfaces/progress.d.ts +14 -0
  496. package/lib/typescript/commonjs/src/surfaces/progress.d.ts.map +1 -0
  497. package/lib/typescript/commonjs/src/surfaces/resolveCloseButtonColor.d.ts +9 -0
  498. package/lib/typescript/commonjs/src/surfaces/resolveCloseButtonColor.d.ts.map +1 -0
  499. package/lib/typescript/commonjs/src/surfaces/resolveModalLayout.d.ts +36 -0
  500. package/lib/typescript/commonjs/src/surfaces/resolveModalLayout.d.ts.map +1 -0
  501. package/lib/typescript/commonjs/src/surfaces/resolveTooltipLayout.d.ts +24 -0
  502. package/lib/typescript/commonjs/src/surfaces/resolveTooltipLayout.d.ts.map +1 -0
  503. package/lib/typescript/commonjs/src/surfaces/safeArea.d.ts +11 -0
  504. package/lib/typescript/commonjs/src/surfaces/safeArea.d.ts.map +1 -0
  505. package/lib/typescript/commonjs/src/surfaces/themeChrome.d.ts +36 -0
  506. package/lib/typescript/commonjs/src/surfaces/themeChrome.d.ts.map +1 -0
  507. package/lib/typescript/commonjs/src/surfaces/tooltip/TooltipBubble.d.ts +23 -0
  508. package/lib/typescript/commonjs/src/surfaces/tooltip/TooltipBubble.d.ts.map +1 -0
  509. package/lib/typescript/commonjs/src/surfaces/tooltip/TooltipCutout.d.ts +31 -0
  510. package/lib/typescript/commonjs/src/surfaces/tooltip/TooltipCutout.d.ts.map +1 -0
  511. package/lib/typescript/commonjs/src/surfaces/tooltip/TooltipNotch.d.ts +29 -0
  512. package/lib/typescript/commonjs/src/surfaces/tooltip/TooltipNotch.d.ts.map +1 -0
  513. package/lib/typescript/commonjs/src/surfaces/tooltip/computeTooltipPosition.d.ts +43 -0
  514. package/lib/typescript/commonjs/src/surfaces/tooltip/computeTooltipPosition.d.ts.map +1 -0
  515. package/lib/typescript/commonjs/src/surfaces/tooltip/inferTooltipPlacement.d.ts +34 -0
  516. package/lib/typescript/commonjs/src/surfaces/tooltip/inferTooltipPlacement.d.ts.map +1 -0
  517. package/lib/typescript/commonjs/src/surfaces/tooltip/parseBackdropPadding.d.ts +3 -0
  518. package/lib/typescript/commonjs/src/surfaces/tooltip/parseBackdropPadding.d.ts.map +1 -0
  519. package/lib/typescript/commonjs/src/surfaces/tooltip/rect.d.ts +29 -0
  520. package/lib/typescript/commonjs/src/surfaces/tooltip/rect.d.ts.map +1 -0
  521. package/lib/typescript/commonjs/src/useUserflowScreen.d.ts +10 -0
  522. package/lib/typescript/commonjs/src/useUserflowScreen.d.ts.map +1 -0
  523. package/lib/typescript/commonjs/src/version.d.ts +3 -0
  524. package/lib/typescript/commonjs/src/version.d.ts.map +1 -0
  525. package/lib/typescript/module/package.json +1 -0
  526. package/lib/typescript/module/src/anchors/AnchorRegistry.d.ts +32 -0
  527. package/lib/typescript/module/src/anchors/AnchorRegistry.d.ts.map +1 -0
  528. package/lib/typescript/module/src/anchors/AutoAnchorRegistry.d.ts +113 -0
  529. package/lib/typescript/module/src/anchors/AutoAnchorRegistry.d.ts.map +1 -0
  530. package/lib/typescript/module/src/anchors/ScrollContainerRegistry.d.ts +46 -0
  531. package/lib/typescript/module/src/anchors/ScrollContainerRegistry.d.ts.map +1 -0
  532. package/lib/typescript/module/src/anchors/anchorChangeTicker.d.ts +30 -0
  533. package/lib/typescript/module/src/anchors/anchorChangeTicker.d.ts.map +1 -0
  534. package/lib/typescript/module/src/anchors/animationFrame.d.ts +21 -0
  535. package/lib/typescript/module/src/anchors/animationFrame.d.ts.map +1 -0
  536. package/lib/typescript/module/src/anchors/autoAnchor.d.ts +31 -0
  537. package/lib/typescript/module/src/anchors/autoAnchor.d.ts.map +1 -0
  538. package/lib/typescript/module/src/anchors/elementConditionEvaluator.d.ts +21 -0
  539. package/lib/typescript/module/src/anchors/elementConditionEvaluator.d.ts.map +1 -0
  540. package/lib/typescript/module/src/anchors/fiber/FiberScanRoot.d.ts +41 -0
  541. package/lib/typescript/module/src/anchors/fiber/FiberScanRoot.d.ts.map +1 -0
  542. package/lib/typescript/module/src/anchors/fiber/fiberInternals.d.ts +48 -0
  543. package/lib/typescript/module/src/anchors/fiber/fiberInternals.d.ts.map +1 -0
  544. package/lib/typescript/module/src/anchors/fiber/findAnchorFiber.d.ts +33 -0
  545. package/lib/typescript/module/src/anchors/fiber/findAnchorFiber.d.ts.map +1 -0
  546. package/lib/typescript/module/src/anchors/fiber/findScrollAncestors.d.ts +47 -0
  547. package/lib/typescript/module/src/anchors/fiber/findScrollAncestors.d.ts.map +1 -0
  548. package/lib/typescript/module/src/anchors/fiber/measureHostFiber.d.ts +20 -0
  549. package/lib/typescript/module/src/anchors/fiber/measureHostFiber.d.ts.map +1 -0
  550. package/lib/typescript/module/src/anchors/fiber/visibleScreens.d.ts +42 -0
  551. package/lib/typescript/module/src/anchors/fiber/visibleScreens.d.ts.map +1 -0
  552. package/lib/typescript/module/src/anchors/hintsCodec.d.ts +40 -0
  553. package/lib/typescript/module/src/anchors/hintsCodec.d.ts.map +1 -0
  554. package/lib/typescript/module/src/anchors/resolveAnchorHost.d.ts +32 -0
  555. package/lib/typescript/module/src/anchors/resolveAnchorHost.d.ts.map +1 -0
  556. package/lib/typescript/module/src/anchors/resolveManualAnchorId.d.ts +6 -0
  557. package/lib/typescript/module/src/anchors/resolveManualAnchorId.d.ts.map +1 -0
  558. package/lib/typescript/module/src/anchors/scrollAnchorIntoView.d.ts +59 -0
  559. package/lib/typescript/module/src/anchors/scrollAnchorIntoView.d.ts.map +1 -0
  560. package/lib/typescript/module/src/anchors/scrollConfig.d.ts +30 -0
  561. package/lib/typescript/module/src/anchors/scrollConfig.d.ts.map +1 -0
  562. package/lib/typescript/module/src/anchors/targetPressMonitor.d.ts +64 -0
  563. package/lib/typescript/module/src/anchors/targetPressMonitor.d.ts.map +1 -0
  564. package/lib/typescript/module/src/anchors/useUserflowAnchor.d.ts +30 -0
  565. package/lib/typescript/module/src/anchors/useUserflowAnchor.d.ts.map +1 -0
  566. package/lib/typescript/module/src/anchors/useUserflowScrollContainer.d.ts +34 -0
  567. package/lib/typescript/module/src/anchors/useUserflowScrollContainer.d.ts.map +1 -0
  568. package/lib/typescript/module/src/anonymousId.d.ts +5 -0
  569. package/lib/typescript/module/src/anonymousId.d.ts.map +1 -0
  570. package/lib/typescript/module/src/content/RichContentRenderer.d.ts +21 -0
  571. package/lib/typescript/module/src/content/RichContentRenderer.d.ts.map +1 -0
  572. package/lib/typescript/module/src/content/StepButton.d.ts +13 -0
  573. package/lib/typescript/module/src/content/StepButton.d.ts.map +1 -0
  574. package/lib/typescript/module/src/content/buttonAppearance.d.ts +8 -0
  575. package/lib/typescript/module/src/content/buttonAppearance.d.ts.map +1 -0
  576. package/lib/typescript/module/src/content/deserialize.d.ts +27 -0
  577. package/lib/typescript/module/src/content/deserialize.d.ts.map +1 -0
  578. package/lib/typescript/module/src/content/imageLayout.d.ts +13 -0
  579. package/lib/typescript/module/src/content/imageLayout.d.ts.map +1 -0
  580. package/lib/typescript/module/src/content/migrateFlowBlocks.d.ts +12 -0
  581. package/lib/typescript/module/src/content/migrateFlowBlocks.d.ts.map +1 -0
  582. package/lib/typescript/module/src/content/openSafeUrl.d.ts +12 -0
  583. package/lib/typescript/module/src/content/openSafeUrl.d.ts.map +1 -0
  584. package/lib/typescript/module/src/content/resolveStepButtonChrome.d.ts +24 -0
  585. package/lib/typescript/module/src/content/resolveStepButtonChrome.d.ts.map +1 -0
  586. package/lib/typescript/module/src/content/themeColor.d.ts +43 -0
  587. package/lib/typescript/module/src/content/themeColor.d.ts.map +1 -0
  588. package/lib/typescript/module/src/content/types.d.ts +144 -0
  589. package/lib/typescript/module/src/content/types.d.ts.map +1 -0
  590. package/lib/typescript/module/src/deepLinking.d.ts +54 -0
  591. package/lib/typescript/module/src/deepLinking.d.ts.map +1 -0
  592. package/lib/typescript/module/src/expo-router/UserflowExpoRouterScreenTracker.d.ts +3 -0
  593. package/lib/typescript/module/src/expo-router/UserflowExpoRouterScreenTracker.d.ts.map +1 -0
  594. package/lib/typescript/module/src/expo-router/getExpoRouterScreenTracker.d.ts +13 -0
  595. package/lib/typescript/module/src/expo-router/getExpoRouterScreenTracker.d.ts.map +1 -0
  596. package/lib/typescript/module/src/expo-router/index.d.ts +3 -0
  597. package/lib/typescript/module/src/expo-router/index.d.ts.map +1 -0
  598. package/lib/typescript/module/src/expo-router/useUserflowExpoRouter.d.ts +17 -0
  599. package/lib/typescript/module/src/expo-router/useUserflowExpoRouter.d.ts.map +1 -0
  600. package/lib/typescript/module/src/index.d.ts +112 -0
  601. package/lib/typescript/module/src/index.d.ts.map +1 -0
  602. package/lib/typescript/module/src/lifecycle.d.ts +96 -0
  603. package/lib/typescript/module/src/lifecycle.d.ts.map +1 -0
  604. package/lib/typescript/module/src/navigation/WithUserflowReactNavigation.d.ts +21 -0
  605. package/lib/typescript/module/src/navigation/WithUserflowReactNavigation.d.ts.map +1 -0
  606. package/lib/typescript/module/src/navigation/chainCallbacks.d.ts +3 -0
  607. package/lib/typescript/module/src/navigation/chainCallbacks.d.ts.map +1 -0
  608. package/lib/typescript/module/src/navigation/getActiveRouteName.d.ts +6 -0
  609. package/lib/typescript/module/src/navigation/getActiveRouteName.d.ts.map +1 -0
  610. package/lib/typescript/module/src/navigation/index.d.ts +5 -0
  611. package/lib/typescript/module/src/navigation/index.d.ts.map +1 -0
  612. package/lib/typescript/module/src/navigation/openFlowNavigateUrl.d.ts +33 -0
  613. package/lib/typescript/module/src/navigation/openFlowNavigateUrl.d.ts.map +1 -0
  614. package/lib/typescript/module/src/network.d.ts +42 -0
  615. package/lib/typescript/module/src/network.d.ts.map +1 -0
  616. package/lib/typescript/module/src/pairing/PairingController.d.ts +104 -0
  617. package/lib/typescript/module/src/pairing/PairingController.d.ts.map +1 -0
  618. package/lib/typescript/module/src/pairing/PreviewModeBanner.d.ts +11 -0
  619. package/lib/typescript/module/src/pairing/PreviewModeBanner.d.ts.map +1 -0
  620. package/lib/typescript/module/src/pairing/deepLink.d.ts +53 -0
  621. package/lib/typescript/module/src/pairing/deepLink.d.ts.map +1 -0
  622. package/lib/typescript/module/src/pairing/diagnostics.d.ts +52 -0
  623. package/lib/typescript/module/src/pairing/diagnostics.d.ts.map +1 -0
  624. package/lib/typescript/module/src/pairing/index.d.ts +10 -0
  625. package/lib/typescript/module/src/pairing/index.d.ts.map +1 -0
  626. package/lib/typescript/module/src/pairing/pairingRuntime.d.ts +24 -0
  627. package/lib/typescript/module/src/pairing/pairingRuntime.d.ts.map +1 -0
  628. package/lib/typescript/module/src/pairing/tokenStorage.d.ts +16 -0
  629. package/lib/typescript/module/src/pairing/tokenStorage.d.ts.map +1 -0
  630. package/lib/typescript/module/src/pairing/usePairingState.d.ts +4 -0
  631. package/lib/typescript/module/src/pairing/usePairingState.d.ts.map +1 -0
  632. package/lib/typescript/module/src/runtime/FlowRenderer.d.ts +13 -0
  633. package/lib/typescript/module/src/runtime/FlowRenderer.d.ts.map +1 -0
  634. package/lib/typescript/module/src/runtime/FlowSurfaceFade.d.ts +13 -0
  635. package/lib/typescript/module/src/runtime/FlowSurfaceFade.d.ts.map +1 -0
  636. package/lib/typescript/module/src/runtime/TargetPressBridge.d.ts +16 -0
  637. package/lib/typescript/module/src/runtime/TargetPressBridge.d.ts.map +1 -0
  638. package/lib/typescript/module/src/runtime/UserflowProvider.d.ts +32 -0
  639. package/lib/typescript/module/src/runtime/UserflowProvider.d.ts.map +1 -0
  640. package/lib/typescript/module/src/runtime/clientConditions.d.ts +10 -0
  641. package/lib/typescript/module/src/runtime/clientConditions.d.ts.map +1 -0
  642. package/lib/typescript/module/src/runtime/flowEngine.d.ts +17 -0
  643. package/lib/typescript/module/src/runtime/flowEngine.d.ts.map +1 -0
  644. package/lib/typescript/module/src/runtime/flowSessionViewState.d.ts +18 -0
  645. package/lib/typescript/module/src/runtime/flowSessionViewState.d.ts.map +1 -0
  646. package/lib/typescript/module/src/runtime/useFlowSessionState.d.ts +10 -0
  647. package/lib/typescript/module/src/runtime/useFlowSessionState.d.ts.map +1 -0
  648. package/lib/typescript/module/src/runtime/userflowCore.d.ts +3 -0
  649. package/lib/typescript/module/src/runtime/userflowCore.d.ts.map +1 -0
  650. package/lib/typescript/module/src/screenTracker.d.ts +28 -0
  651. package/lib/typescript/module/src/screenTracker.d.ts.map +1 -0
  652. package/lib/typescript/module/src/surfaces/CloseButton.d.ts +8 -0
  653. package/lib/typescript/module/src/surfaces/CloseButton.d.ts.map +1 -0
  654. package/lib/typescript/module/src/surfaces/MadeWithUserflow.d.ts +28 -0
  655. package/lib/typescript/module/src/surfaces/MadeWithUserflow.d.ts.map +1 -0
  656. package/lib/typescript/module/src/surfaces/ModalSurface.d.ts +23 -0
  657. package/lib/typescript/module/src/surfaces/ModalSurface.d.ts.map +1 -0
  658. package/lib/typescript/module/src/surfaces/ProgressBar.d.ts +19 -0
  659. package/lib/typescript/module/src/surfaces/ProgressBar.d.ts.map +1 -0
  660. package/lib/typescript/module/src/surfaces/TooltipSurface.d.ts +17 -0
  661. package/lib/typescript/module/src/surfaces/TooltipSurface.d.ts.map +1 -0
  662. package/lib/typescript/module/src/surfaces/absoluteFill.d.ts +18 -0
  663. package/lib/typescript/module/src/surfaces/absoluteFill.d.ts.map +1 -0
  664. package/lib/typescript/module/src/surfaces/parseBackdropOpacity.d.ts +5 -0
  665. package/lib/typescript/module/src/surfaces/parseBackdropOpacity.d.ts.map +1 -0
  666. package/lib/typescript/module/src/surfaces/progress.d.ts +14 -0
  667. package/lib/typescript/module/src/surfaces/progress.d.ts.map +1 -0
  668. package/lib/typescript/module/src/surfaces/resolveCloseButtonColor.d.ts +9 -0
  669. package/lib/typescript/module/src/surfaces/resolveCloseButtonColor.d.ts.map +1 -0
  670. package/lib/typescript/module/src/surfaces/resolveModalLayout.d.ts +36 -0
  671. package/lib/typescript/module/src/surfaces/resolveModalLayout.d.ts.map +1 -0
  672. package/lib/typescript/module/src/surfaces/resolveTooltipLayout.d.ts +24 -0
  673. package/lib/typescript/module/src/surfaces/resolveTooltipLayout.d.ts.map +1 -0
  674. package/lib/typescript/module/src/surfaces/safeArea.d.ts +11 -0
  675. package/lib/typescript/module/src/surfaces/safeArea.d.ts.map +1 -0
  676. package/lib/typescript/module/src/surfaces/themeChrome.d.ts +36 -0
  677. package/lib/typescript/module/src/surfaces/themeChrome.d.ts.map +1 -0
  678. package/lib/typescript/module/src/surfaces/tooltip/TooltipBubble.d.ts +23 -0
  679. package/lib/typescript/module/src/surfaces/tooltip/TooltipBubble.d.ts.map +1 -0
  680. package/lib/typescript/module/src/surfaces/tooltip/TooltipCutout.d.ts +31 -0
  681. package/lib/typescript/module/src/surfaces/tooltip/TooltipCutout.d.ts.map +1 -0
  682. package/lib/typescript/module/src/surfaces/tooltip/TooltipNotch.d.ts +29 -0
  683. package/lib/typescript/module/src/surfaces/tooltip/TooltipNotch.d.ts.map +1 -0
  684. package/lib/typescript/module/src/surfaces/tooltip/computeTooltipPosition.d.ts +43 -0
  685. package/lib/typescript/module/src/surfaces/tooltip/computeTooltipPosition.d.ts.map +1 -0
  686. package/lib/typescript/module/src/surfaces/tooltip/inferTooltipPlacement.d.ts +34 -0
  687. package/lib/typescript/module/src/surfaces/tooltip/inferTooltipPlacement.d.ts.map +1 -0
  688. package/lib/typescript/module/src/surfaces/tooltip/parseBackdropPadding.d.ts +3 -0
  689. package/lib/typescript/module/src/surfaces/tooltip/parseBackdropPadding.d.ts.map +1 -0
  690. package/lib/typescript/module/src/surfaces/tooltip/rect.d.ts +29 -0
  691. package/lib/typescript/module/src/surfaces/tooltip/rect.d.ts.map +1 -0
  692. package/lib/typescript/module/src/useUserflowScreen.d.ts +10 -0
  693. package/lib/typescript/module/src/useUserflowScreen.d.ts.map +1 -0
  694. package/lib/typescript/module/src/version.d.ts +3 -0
  695. package/lib/typescript/module/src/version.d.ts.map +1 -0
  696. package/package.json +144 -0
  697. package/src/anchors/AnchorRegistry.ts +81 -0
  698. package/src/anchors/AutoAnchorRegistry.ts +439 -0
  699. package/src/anchors/ScrollContainerRegistry.ts +108 -0
  700. package/src/anchors/anchorChangeTicker.ts +84 -0
  701. package/src/anchors/animationFrame.ts +88 -0
  702. package/src/anchors/autoAnchor.ts +310 -0
  703. package/src/anchors/elementConditionEvaluator.ts +108 -0
  704. package/src/anchors/fiber/FiberScanRoot.tsx +98 -0
  705. package/src/anchors/fiber/fiberInternals.ts +181 -0
  706. package/src/anchors/fiber/findAnchorFiber.ts +225 -0
  707. package/src/anchors/fiber/findScrollAncestors.ts +229 -0
  708. package/src/anchors/fiber/measureHostFiber.ts +85 -0
  709. package/src/anchors/fiber/visibleScreens.ts +173 -0
  710. package/src/anchors/hintsCodec.ts +125 -0
  711. package/src/anchors/resolveAnchorHost.ts +102 -0
  712. package/src/anchors/resolveManualAnchorId.ts +10 -0
  713. package/src/anchors/scrollAnchorIntoView.ts +251 -0
  714. package/src/anchors/scrollConfig.ts +61 -0
  715. package/src/anchors/targetPressMonitor.ts +127 -0
  716. package/src/anchors/useUserflowAnchor.ts +88 -0
  717. package/src/anchors/useUserflowScrollContainer.ts +86 -0
  718. package/src/anonymousId.ts +38 -0
  719. package/src/content/RichContentRenderer.tsx +721 -0
  720. package/src/content/StepButton.tsx +70 -0
  721. package/src/content/buttonAppearance.ts +11 -0
  722. package/src/content/deserialize.ts +147 -0
  723. package/src/content/imageLayout.ts +29 -0
  724. package/src/content/migrateFlowBlocks.ts +39 -0
  725. package/src/content/openSafeUrl.ts +30 -0
  726. package/src/content/resolveStepButtonChrome.ts +122 -0
  727. package/src/content/themeColor.ts +98 -0
  728. package/src/content/types.ts +189 -0
  729. package/src/deepLinking.ts +182 -0
  730. package/src/expo-router/UserflowExpoRouterScreenTracker.tsx +7 -0
  731. package/src/expo-router/getExpoRouterScreenTracker.ts +49 -0
  732. package/src/expo-router/index.ts +2 -0
  733. package/src/expo-router/useUserflowExpoRouter.ts +40 -0
  734. package/src/index.ts +362 -0
  735. package/src/lifecycle.ts +253 -0
  736. package/src/navigation/WithUserflowReactNavigation.tsx +87 -0
  737. package/src/navigation/chainCallbacks.ts +12 -0
  738. package/src/navigation/getActiveRouteName.ts +18 -0
  739. package/src/navigation/index.ts +11 -0
  740. package/src/navigation/openFlowNavigateUrl.ts +113 -0
  741. package/src/network.ts +113 -0
  742. package/src/pairing/PairingController.ts +356 -0
  743. package/src/pairing/PreviewModeBanner.tsx +130 -0
  744. package/src/pairing/deepLink.ts +128 -0
  745. package/src/pairing/diagnostics.ts +135 -0
  746. package/src/pairing/index.ts +19 -0
  747. package/src/pairing/pairingRuntime.ts +76 -0
  748. package/src/pairing/tokenStorage.ts +76 -0
  749. package/src/pairing/usePairingState.ts +43 -0
  750. package/src/runtime/FlowRenderer.tsx +60 -0
  751. package/src/runtime/FlowSurfaceFade.tsx +55 -0
  752. package/src/runtime/TargetPressBridge.tsx +86 -0
  753. package/src/runtime/UserflowProvider.tsx +89 -0
  754. package/src/runtime/clientConditions.ts +42 -0
  755. package/src/runtime/flowEngine.ts +53 -0
  756. package/src/runtime/flowSessionViewState.ts +55 -0
  757. package/src/runtime/useFlowSessionState.ts +36 -0
  758. package/src/runtime/userflowCore.ts +8 -0
  759. package/src/screenTracker.ts +83 -0
  760. package/src/surfaces/CloseButton.tsx +41 -0
  761. package/src/surfaces/MadeWithUserflow.tsx +103 -0
  762. package/src/surfaces/ModalSurface.tsx +215 -0
  763. package/src/surfaces/ProgressBar.tsx +142 -0
  764. package/src/surfaces/TooltipSurface.tsx +743 -0
  765. package/src/surfaces/absoluteFill.ts +24 -0
  766. package/src/surfaces/assets/png.d.ts +4 -0
  767. package/src/surfaces/assets/userflow-logomark.png +0 -0
  768. package/src/surfaces/parseBackdropOpacity.ts +13 -0
  769. package/src/surfaces/progress.ts +37 -0
  770. package/src/surfaces/resolveCloseButtonColor.ts +23 -0
  771. package/src/surfaces/resolveModalLayout.ts +85 -0
  772. package/src/surfaces/resolveTooltipLayout.ts +73 -0
  773. package/src/surfaces/safeArea.ts +48 -0
  774. package/src/surfaces/themeChrome.ts +126 -0
  775. package/src/surfaces/tooltip/TooltipBubble.tsx +123 -0
  776. package/src/surfaces/tooltip/TooltipCutout.tsx +110 -0
  777. package/src/surfaces/tooltip/TooltipNotch.tsx +67 -0
  778. package/src/surfaces/tooltip/computeTooltipPosition.ts +125 -0
  779. package/src/surfaces/tooltip/inferTooltipPlacement.ts +109 -0
  780. package/src/surfaces/tooltip/parseBackdropPadding.ts +8 -0
  781. package/src/surfaces/tooltip/rect.ts +62 -0
  782. package/src/useUserflowScreen.ts +17 -0
  783. package/src/version.ts +2 -0
@@ -0,0 +1,46 @@
1
+ import type { NativeScrollEvent, NativeSyntheticEvent, ScrollView } from 'react-native';
2
+ import type { Rect } from '../surfaces/tooltip/inferTooltipPlacement';
3
+ export interface ScrollContainerHost {
4
+ measureInWindow: (callback: (x: number, y: number, width: number, height: number) => void) => void;
5
+ getContentOffset: () => {
6
+ x: number;
7
+ y: number;
8
+ };
9
+ scrollTo: (options: {
10
+ x?: number;
11
+ y?: number;
12
+ animated?: boolean;
13
+ }) => void;
14
+ }
15
+ type Listener = () => void;
16
+ /**
17
+ * Registry of host {@link ScrollView}s used as an explicit override when
18
+ * scrolling tooltip anchors into view. Prefer automatic fiber discovery for
19
+ * `testID` anchors; register here for scroll libraries the walk cannot drive.
20
+ */
21
+ export declare class ScrollContainerRegistry {
22
+ private readonly containers;
23
+ private readonly listeners;
24
+ register(host: ScrollContainerHost): void;
25
+ unregister(host: ScrollContainerHost): void;
26
+ /** Snapshot of registered containers (most recently registered last). */
27
+ list(): ScrollContainerHost[];
28
+ /**
29
+ * Scroll the first registered container that can bring `target` into its
30
+ * visible window region. Best-effort — no-op when nothing is registered.
31
+ */
32
+ scrollTargetIntoView(target: Rect): void;
33
+ subscribe(listener: Listener): () => void;
34
+ clear(): void;
35
+ private emit;
36
+ }
37
+ /** Module singleton used by {@link useUserflowScrollContainer} and TooltipSurface. */
38
+ export declare const scrollContainerRegistry: ScrollContainerRegistry;
39
+ /** Build a host from a live ScrollView + tracked content offset. */
40
+ export declare function createScrollContainerHost(node: ScrollView, getContentOffset: () => {
41
+ x: number;
42
+ y: number;
43
+ }): ScrollContainerHost;
44
+ export type ScrollContainerScrollHandler = (event: NativeSyntheticEvent<NativeScrollEvent>) => void;
45
+ export {};
46
+ //# sourceMappingURL=ScrollContainerRegistry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScrollContainerRegistry.d.ts","sourceRoot":"","sources":["../../../../../src/anchors/ScrollContainerRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,UAAU,EAAQ,MAAM,cAAc,CAAC;AAE9F,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,2CAA2C,CAAC;AAKtE,MAAM,WAAW,mBAAmB;IAClC,eAAe,EAAE,CACf,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,KACpE,IAAI,CAAC;IACV,gBAAgB,EAAE,MAAM;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACjD,QAAQ,EAAE,CAAC,OAAO,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;CAC7E;AAED,KAAK,QAAQ,GAAG,MAAM,IAAI,CAAC;AAE3B;;;;GAIG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkC;IAC7D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuB;IAEjD,QAAQ,CAAC,IAAI,EAAE,mBAAmB,GAAG,IAAI;IAKzC,UAAU,CAAC,IAAI,EAAE,mBAAmB,GAAG,IAAI;IAK3C,yEAAyE;IACzE,IAAI,IAAI,mBAAmB,EAAE;IAI7B;;;OAGG;IACH,oBAAoB,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI;IAuBxC,SAAS,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,IAAI;IAOzC,KAAK,IAAI,IAAI;IAKb,OAAO,CAAC,IAAI;CAKb;AAED,sFAAsF;AACtF,eAAO,MAAM,uBAAuB,yBAAgC,CAAC;AAErE,oEAAoE;AACpE,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,UAAU,EAChB,gBAAgB,EAAE,MAAM;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/C,mBAAmB,CAWrB;AAED,MAAM,MAAM,4BAA4B,GAAG,CAAC,KAAK,EAAE,oBAAoB,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC"}
@@ -0,0 +1,30 @@
1
+ type Listener = () => void;
2
+ /**
3
+ * Change signal for ELEMENT client conditions.
4
+ *
5
+ * Fiber-resolved anchors (testID / nativeID / accessibilityLabel) do not emit
6
+ * registry events, so we combine:
7
+ * - {@link anchorRegistry} mount/unmount
8
+ * - {@link fiberScanRoot} mount/unmount
9
+ * - screen-change notifications
10
+ * - a slow interval that only runs while at least one listener is subscribed
11
+ */
12
+ declare class AnchorChangeTicker {
13
+ private readonly listeners;
14
+ private intervalHandle;
15
+ private unsubRegistry;
16
+ private unsubScan;
17
+ /** Poll interval while ELEMENT conditions are tracked (ms). */
18
+ static readonly INTERVAL_MS = 1000;
19
+ subscribe(listener: Listener): () => void;
20
+ /** Push a change from outside (e.g. screen navigation). */
21
+ notify(): void;
22
+ /** Test helper. */
23
+ resetForTests(): void;
24
+ private start;
25
+ private stop;
26
+ private emit;
27
+ }
28
+ export declare const anchorChangeTicker: AnchorChangeTicker;
29
+ export {};
30
+ //# sourceMappingURL=anchorChangeTicker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anchorChangeTicker.d.ts","sourceRoot":"","sources":["../../../../../src/anchors/anchorChangeTicker.ts"],"names":[],"mappings":"AAGA,KAAK,QAAQ,GAAG,MAAM,IAAI,CAAC;AAE3B;;;;;;;;;GASG;AACH,cAAM,kBAAkB;IACtB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuB;IACjD,OAAO,CAAC,cAAc,CAA+C;IACrE,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,SAAS,CAA6B;IAE9C,+DAA+D;IAC/D,MAAM,CAAC,QAAQ,CAAC,WAAW,QAAQ;IAEnC,SAAS,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,IAAI;IAczC,2DAA2D;IAC3D,MAAM,IAAI,IAAI;IAId,mBAAmB;IACnB,aAAa,IAAI,IAAI;IAKrB,OAAO,CAAC,KAAK;IAYb,OAAO,CAAC,IAAI;IAeZ,OAAO,CAAC,IAAI;CAKb;AAED,eAAO,MAAM,kBAAkB,oBAA2B,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Shared requestAnimationFrame hub so multiple surfaces never stack loops.
3
+ * Mirrors web userflowjs `util/animation-frame.tsx`.
4
+ */
5
+ type Callback = () => void;
6
+ /**
7
+ * `callback` runs on every animation frame. Starts the shared loop when the
8
+ * first subscriber attaches.
9
+ */
10
+ export declare function addAnimationFrameCallback(callback: Callback): void;
11
+ /**
12
+ * Remove a previously added callback. Stops the loop when the last subscriber
13
+ * detaches.
14
+ */
15
+ export declare function removeAnimationFrameCallback(callback: Callback): void;
16
+ /** Test helper — drop all subscribers and cancel the pending frame. */
17
+ export declare function resetAnimationFrameForTests(): void;
18
+ /** Test helper — number of active subscribers. */
19
+ export declare function animationFrameSubscriberCount(): number;
20
+ export {};
21
+ //# sourceMappingURL=animationFrame.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"animationFrame.d.ts","sourceRoot":"","sources":["../../../../../src/anchors/animationFrame.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,KAAK,QAAQ,GAAG,MAAM,IAAI,CAAC;AAM3B;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAOlE;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAQrE;AAED,uEAAuE;AACvE,wBAAgB,2BAA2B,IAAI,IAAI,CAIlD;AAED,kDAAkD;AAClD,wBAAgB,6BAA6B,IAAI,MAAM,CAEtD"}
@@ -0,0 +1,31 @@
1
+ import type { Ref } from 'react';
2
+ import { type HintsInput } from './hintsCodec';
3
+ /**
4
+ * Runtime half of build-time auto-anchoring (see `@userflow-tech/babel-plugin`).
5
+ *
6
+ * Each mount creates a distinct AutoAnchorRegistry instance. Shared templates
7
+ * (design-system / list rows) register separately and are marked ambiguous
8
+ * when they lack a unique manual id or call-site scope.
9
+ *
10
+ * Canonical signature (what Babel emits via `__ufRef`):
11
+ * __userflowAutoAnchor(id, hints, userRef, kind, runtime?)
12
+ */
13
+ type HostInstance = unknown;
14
+ type UserRef = Ref<HostInstance> | string | null | undefined;
15
+ export interface AutoAnchorRuntime {
16
+ userflowId?: string;
17
+ testID?: string;
18
+ nativeID?: string;
19
+ childText?: string;
20
+ accessibilityLabel?: string;
21
+ iconName?: string;
22
+ imageSrc?: string;
23
+ scope?: string;
24
+ reactKey?: string;
25
+ manualId?: string;
26
+ }
27
+ export declare function __userflowAutoAnchor(id: string, hintsOrUserRef?: HintsInput | Ref<HostInstance> | null, userRefOrKind?: UserRef | string, kindOrRuntime?: string | AutoAnchorRuntime, maybeRuntime?: AutoAnchorRuntime): (instance: HostInstance) => void | (() => void);
28
+ /** Test helper — drop factory cache and registry instances. */
29
+ export declare function __resetAutoAnchorForTests(): void;
30
+ export {};
31
+ //# sourceMappingURL=autoAnchor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autoAnchor.d.ts","sourceRoot":"","sources":["../../../../../src/anchors/autoAnchor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAQjC,OAAO,EAAsC,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAEnF;;;;;;;;;GASG;AAEH,KAAK,YAAY,GAAG,OAAO,CAAC;AAE5B,KAAK,OAAO,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;AAE7D,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAyHD,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,MAAM,EACV,cAAc,CAAC,EAAE,UAAU,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,IAAI,EACtD,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,EAChC,aAAa,CAAC,EAAE,MAAM,GAAG,iBAAiB,EAC1C,YAAY,CAAC,EAAE,iBAAiB,GAC/B,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,CAwIjD;AAED,+DAA+D;AAC/D,wBAAgB,yBAAyB,IAAI,IAAI,CAGhD"}
@@ -0,0 +1,21 @@
1
+ import type { ConditionEvaluator } from '@userflow-tech/core';
2
+ /**
3
+ * Evaluate ELEMENT client conditions against manual anchors and fiber-resolved
4
+ * `testID` / `nativeID` / `accessibilityLabel` targets.
5
+ *
6
+ * Supports PRESENT / NOT_PRESENT for MANUAL selectors (`css` → anchor id).
7
+ * AUTO / codeless selectors and web-interaction states (CLICK, DISABLED, …)
8
+ * report unknown (`null`) so gated flows stay blocked rather than inventing
9
+ * a truth value.
10
+ *
11
+ * "Present" means `resolveAnchorHost` finds a unique host. That already skips
12
+ * screens covered by another navigator screen, so an id on a pushed-under
13
+ * screen counts as absent. Pixel visibility (off-screen inside a ScrollView,
14
+ * opacity 0, etc.) would need async `measureInWindow` and is out of scope.
15
+ *
16
+ * Note: compares string literals rather than importing protocol enums so Jest
17
+ * (which cannot resolve the ESM-only `@userflow-tech/protocol` package) stays
18
+ * hermetic. Wire values match `FlowConditionElementState` / `FlowSelectorType`.
19
+ */
20
+ export declare function createElementConditionEvaluator(warn?: (message: string) => void): ConditionEvaluator;
21
+ //# sourceMappingURL=elementConditionEvaluator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"elementConditionEvaluator.d.ts","sourceRoot":"","sources":["../../../../../src/anchors/elementConditionEvaluator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAU9D;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,+BAA+B,CAC7C,IAAI,GAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAK1B,GACA,kBAAkB,CAkBpB"}
@@ -0,0 +1,41 @@
1
+ import * as React from 'react';
2
+ import { type AnyFiber } from './fiberInternals';
3
+ type Listener = () => void;
4
+ /**
5
+ * Module singleton holding the fiber under which testID / nativeID /
6
+ * accessibilityLabel scans run. Seeded by {@link FiberScanRoot}.
7
+ */
8
+ declare class FiberScanRootStore {
9
+ private instance;
10
+ private readonly listeners;
11
+ set(instance: unknown): void;
12
+ clear(): void;
13
+ /** Current (resolved) fiber under the scan root, or null when unmounted. */
14
+ getFiber(): AnyFiber | null;
15
+ subscribe(listener: Listener): () => void;
16
+ /** Test helper. */
17
+ resetForTests(): void;
18
+ private emit;
19
+ }
20
+ export declare const fiberScanRoot: FiberScanRootStore;
21
+ export interface FiberScanRootProps {
22
+ children: React.ReactNode;
23
+ }
24
+ /**
25
+ * Class component that publishes its own `_reactInternals` fiber as the scan
26
+ * root for testID-based anchoring. Class instances expose `_reactInternals` in
27
+ * both Paper and Fabric production builds (unlike host refs, which null out
28
+ * `_internalFiberInstanceHandleDEV` on Paper release).
29
+ *
30
+ * Renders the same content-root `View` that {@link UserflowProvider} previously
31
+ * owned so the layout tree is unchanged. The Userflow overlay sits as a
32
+ * *sibling*, so SDK-owned `testID`s never self-match.
33
+ */
34
+ export declare class FiberScanRoot extends React.Component<FiberScanRootProps> {
35
+ componentDidMount(): void;
36
+ componentDidUpdate(): void;
37
+ componentWillUnmount(): void;
38
+ render(): React.ReactElement;
39
+ }
40
+ export {};
41
+ //# sourceMappingURL=FiberScanRoot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FiberScanRoot.d.ts","sourceRoot":"","sources":["../../../../../../src/anchors/fiber/FiberScanRoot.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,KAAK,QAAQ,EAAgD,MAAM,kBAAkB,CAAC;AAE/F,KAAK,QAAQ,GAAG,MAAM,IAAI,CAAC;AAE3B;;;GAGG;AACH,cAAM,kBAAkB;IACtB,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuB;IAEjD,GAAG,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAK5B,KAAK,IAAI,IAAI;IAKb,4EAA4E;IAC5E,QAAQ,IAAI,QAAQ,GAAG,IAAI;IAO3B,SAAS,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,IAAI;IAOzC,mBAAmB;IACnB,aAAa,IAAI,IAAI;IAKrB,OAAO,CAAC,IAAI;CAKb;AAED,eAAO,MAAM,aAAa,oBAA2B,CAAC;AAEtD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED;;;;;;;;;GASG;AACH,qBAAa,aAAc,SAAQ,KAAK,CAAC,SAAS,CAAC,kBAAkB,CAAC;IAC3D,iBAAiB,IAAI,IAAI;IAIzB,kBAAkB,IAAI,IAAI;IAM1B,oBAAoB,IAAI,IAAI;IAI5B,MAAM,IAAI,KAAK,CAAC,YAAY;CAOtC"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Compatibility layer for the React Native / React **internals** that
3
+ * testID-based anchoring depends on. Every accessor is feature-detected and
4
+ * **never throws** (returns `undefined`/`false`/`null` on a missing or renamed
5
+ * field) so an RN shape change degrades to not-found rather than crashing the
6
+ * host app.
7
+ *
8
+ * Explicitly **no** `__REACT_DEVTOOLS_GLOBAL_HOOK__`. Fibers are reached only
9
+ * through production-present pointers on class instances (`_reactInternals`).
10
+ */
11
+ export type AnyFiber = any;
12
+ /**
13
+ * Bound for `return`-pointer walks. Only a loop guard, not a real limit:
14
+ * measured fiber depth in a modest Expo Router app is already ~150 from a
15
+ * tagged view to the provider, and ~80 from the provider to the HostRoot, so a
16
+ * small cap silently disables the walk instead of protecting anything.
17
+ */
18
+ export declare const MAX_ANCESTOR_WALK = 10000;
19
+ export declare function getChild(fiber: AnyFiber): AnyFiber | null;
20
+ export declare function getSibling(fiber: AnyFiber): AnyFiber | null;
21
+ export declare function getReturn(fiber: AnyFiber): AnyFiber | null;
22
+ export declare function getAlternate(fiber: AnyFiber): AnyFiber | null;
23
+ export declare function getMemoizedProps(fiber: AnyFiber): Record<string, unknown> | undefined;
24
+ export declare function getStateNode(fiber: AnyFiber): unknown;
25
+ export declare function getFiberTag(fiber: AnyFiber): number | undefined;
26
+ /** Native component name for a host fiber (e.g. `RNSScreen`), else undefined. */
27
+ export declare function getHostTypeName(fiber: AnyFiber): string | undefined;
28
+ /**
29
+ * True when `fiber` is a host component. Checks both Paper/Fabric stateNode
30
+ * markers and the HostComponent tag (react-test-renderer host fibers often
31
+ * have `tag === 5` without native keys).
32
+ */
33
+ export declare function isHostFiber(fiber: AnyFiber): boolean;
34
+ /** Resolve a fiber from a class or host public instance. Returns null when unavailable. */
35
+ export declare function fiberFromPublicInstance(instance: unknown): AnyFiber | null;
36
+ /**
37
+ * Pick the "current" tree fiber between `fiber` and its alternate by walking
38
+ * to the HostRoot and comparing against `root.stateNode.current`.
39
+ *
40
+ * Returns the input fiber when the root cannot be resolved (best-effort).
41
+ */
42
+ export declare function resolveCurrentFiber(fiber: AnyFiber): AnyFiber;
43
+ /**
44
+ * True when a previously-resolved fiber is still attached to a live tree
45
+ * (has a return path, or is itself a HostRoot).
46
+ */
47
+ export declare function isFiberMounted(fiber: AnyFiber): boolean;
48
+ //# sourceMappingURL=fiberInternals.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fiberInternals.d.ts","sourceRoot":"","sources":["../../../../../../src/anchors/fiber/fiberInternals.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,MAAM,MAAM,QAAQ,GAAG,GAAG,CAAC;AAQ3B;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,QAAS,CAAC;AAaxC,wBAAgB,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAEzD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAE3D;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAE1D;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAE7D;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAGrF;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAErD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAG/D;AAED,iFAAiF;AACjF,wBAAgB,eAAe,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAGnE;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAiBpD;AAaD,2FAA2F;AAC3F,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,GAAG,IAAI,CAa1E;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ,CAuB7D;AAWD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CASvD"}
@@ -0,0 +1,33 @@
1
+ import { type AnyFiber } from './fiberInternals';
2
+ export type AnchorPropTier = 'testID' | 'nativeID' | 'accessibilityLabel';
3
+ export type FindAnchorFiberResult = {
4
+ status: 'found';
5
+ fiber: AnyFiber;
6
+ tier: AnchorPropTier;
7
+ } | {
8
+ status: 'ambiguous';
9
+ tier: AnchorPropTier;
10
+ } | {
11
+ status: 'missing';
12
+ };
13
+ /**
14
+ * Bounded DFS under `rootFiber` looking for fibers whose memoizedProps match
15
+ * `id` on testID, then nativeID, then accessibilityLabel. Uses the highest
16
+ * tier that has any match so a testID hit is never made ambiguous by an
17
+ * unrelated accessibilityLabel.
18
+ *
19
+ * Composite matches descend to the shallowest host descendant. Multiple
20
+ * matches on a single root-to-leaf chain (e.g. Pressable forwarding testID to
21
+ * its inner View) collapse to the outermost host. Disjoint matches fail closed
22
+ * as ambiguous.
23
+ *
24
+ * The walk never follows `rootFiber.sibling` so the Userflow overlay (a sibling
25
+ * of {@link FiberScanRoot} in UserflowProvider) cannot self-match SDK testIDs.
26
+ */
27
+ export declare function findAnchorFiber(rootFiber: AnyFiber, id: string): FindAnchorFiberResult;
28
+ /**
29
+ * BFS under `fiber` for the shallowest host descendant. Returns `fiber` itself
30
+ * when it is already a host.
31
+ */
32
+ export declare function nearestHostDescendant(fiber: AnyFiber, maxNodes?: number): AnyFiber | null;
33
+ //# sourceMappingURL=findAnchorFiber.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findAnchorFiber.d.ts","sourceRoot":"","sources":["../../../../../../src/anchors/fiber/findAnchorFiber.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,QAAQ,EAOd,MAAM,kBAAkB,CAAC;AAa1B,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,UAAU,GAAG,oBAAoB,CAAC;AAI1E,MAAM,MAAM,qBAAqB,GAC7B;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,cAAc,CAAA;CAAE,GAC1D;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,cAAc,CAAA;CAAE,GAC7C;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,CAAC;AAE1B;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,qBAAqB,CAkGtF;AAsBD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,SAAQ,GAAG,QAAQ,GAAG,IAAI,CAkBxF"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Walk the fiber `return` chain from an anchor host upward and collect
3
+ * scrollable ancestors (innermost first). Used to scroll tooltip targets into
4
+ * view without requiring the host app to register ScrollViews.
5
+ *
6
+ * Detection is duck-typed on `stateNode` (ScrollView → `scrollTo`,
7
+ * FlatList/VirtualizedList → `scrollToOffset`, SectionList → `scrollToLocation`)
8
+ * so an RN rename degrades to "no scroll ancestor" rather than crashing.
9
+ */
10
+ import { type AnyFiber } from './fiberInternals';
11
+ export interface ScrollAncestor {
12
+ /** Class / composite instance that exposes scrollTo / scrollToOffset / … */
13
+ instance: ScrollableInstance;
14
+ /** Host fiber for the scroll viewport (RCTScrollView), when resolvable. */
15
+ containerFiber: AnyFiber | null;
16
+ /** Host fiber for the content view that translates with scroll, when resolvable. */
17
+ contentFiber: AnyFiber | null;
18
+ /** True when the scroller scrolls on the horizontal axis. */
19
+ horizontal: boolean;
20
+ }
21
+ export type ScrollableInstance = {
22
+ scrollTo?: (options: {
23
+ x?: number;
24
+ y?: number;
25
+ animated?: boolean;
26
+ }) => void;
27
+ scrollToOffset?: (options: {
28
+ offset: number;
29
+ animated?: boolean;
30
+ }) => void;
31
+ scrollToLocation?: (options: {
32
+ sectionIndex: number;
33
+ itemIndex: number;
34
+ animated?: boolean;
35
+ viewOffset?: number;
36
+ }) => void;
37
+ getNativeScrollRef?: () => unknown;
38
+ getInnerViewRef?: () => unknown;
39
+ props?: any;
40
+ _listRef?: any;
41
+ };
42
+ /**
43
+ * Collect scrollable ancestors of `fiber`, innermost first.
44
+ * Never throws — missing / renamed internals simply yield an empty list.
45
+ */
46
+ export declare function findScrollAncestors(fiber: AnyFiber): ScrollAncestor[];
47
+ //# sourceMappingURL=findScrollAncestors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findScrollAncestors.d.ts","sourceRoot":"","sources":["../../../../../../src/anchors/fiber/findScrollAncestors.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,KAAK,QAAQ,EASd,MAAM,kBAAkB,CAAC;AAc1B,MAAM,WAAW,cAAc;IAC7B,4EAA4E;IAC5E,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,2EAA2E;IAC3E,cAAc,EAAE,QAAQ,GAAG,IAAI,CAAC;IAChC,oFAAoF;IACpF,YAAY,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC9B,6DAA6D;IAC7D,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IAC7E,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IAC3E,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE;QAC3B,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,KAAK,IAAI,CAAC;IACX,kBAAkB,CAAC,EAAE,MAAM,OAAO,CAAC;IACnC,eAAe,CAAC,EAAE,MAAM,OAAO,CAAC;IAEhC,KAAK,CAAC,EAAE,GAAG,CAAC;IAEZ,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,QAAQ,GAAG,cAAc,EAAE,CAwBrE"}
@@ -0,0 +1,20 @@
1
+ import type { AnyFiber } from './fiberInternals';
2
+ type MeasureInWindowCallback = (x: number, y: number, width: number, height: number) => void;
3
+ /**
4
+ * Feature-detected `measureInWindow` for a host fiber. Tries, in order:
5
+ *
6
+ * 1. `stateNode.measureInWindow` — Paper host, or materialized Fabric public instance
7
+ * 2. `nativeFabricUIManager.measureInWindow(stateNode.node, …)` — Fabric without public instance
8
+ * 3. `stateNode.canonical.publicInstance.measureInWindow`
9
+ * 4. `UIManager.measureInWindow(nativeTag, …)` — last resort
10
+ *
11
+ * Invokes `callback` with zeros when no measurable path is found (callers treat
12
+ * zero-size as missing).
13
+ */
14
+ export declare function measureHostFiber(fiber: AnyFiber, callback: MeasureInWindowCallback): void;
15
+ /**
16
+ * Build an `AnchorHost`-compatible `measureInWindow` bound to a host fiber.
17
+ */
18
+ export declare function createFiberMeasureInWindow(fiber: AnyFiber): (callback: MeasureInWindowCallback) => void;
19
+ export {};
20
+ //# sourceMappingURL=measureHostFiber.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"measureHostFiber.d.ts","sourceRoot":"","sources":["../../../../../../src/anchors/fiber/measureHostFiber.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGjD,KAAK,uBAAuB,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;AAE7F;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,uBAAuB,GAAG,IAAI,CAuDzF;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,QAAQ,GACd,CAAC,QAAQ,EAAE,uBAAuB,KAAK,IAAI,CAI7C"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Restricts anchor scanning to the screens a user can actually see.
3
+ *
4
+ * A navigator keeps earlier screens mounted, so without this a tooltip could
5
+ * anchor to a view on a covered screen — measured on device: with a screen
6
+ * pushed on top, an anchor on the screen underneath still resolved and measured
7
+ * to an on-screen rect. Reusing one `testID` across two stacked screens also
8
+ * degraded to `ambiguous` and failed closed, even though only one was visible.
9
+ *
10
+ * Rules, derived from what react-native-screens actually exposes:
11
+ *
12
+ * - Native stack (`RNSScreenStack`): every mounted screen reports
13
+ * `activityState === 2`, so it is useless as a discriminator. Sibling order
14
+ * is what matters — the **last** branch owning a screen is on top.
15
+ * - Container-style navigators (tabs, non-native stacks) do vary
16
+ * `activityState`, so the active branches win. When every branch is active
17
+ * (e.g. multi-pane), all stay scannable — we must not fall back to
18
+ * last-sibling there, or visible panes get pruned.
19
+ *
20
+ * Branches that own no screen at all (tab bars, headers, other global chrome)
21
+ * are always kept, so anchors outside the screen stack keep resolving.
22
+ *
23
+ * Everything is feature-detected: an app without react-native-screens, or a
24
+ * renamed native component, prunes nothing and behaves as before.
25
+ */
26
+ import { type AnyFiber } from './fiberInternals';
27
+ export declare function isScreenContainerFiber(fiber: AnyFiber): boolean;
28
+ /**
29
+ * Branches of `container` that are covered by another screen and so must not be
30
+ * scanned. Empty when there is nothing to prune. Alternates are included so a
31
+ * fiber captured on a previous render still matches.
32
+ */
33
+ export declare function coveredScreenBranches(container: AnyFiber): Set<AnyFiber>;
34
+ /**
35
+ * Whether `fiber` lives on a screen the user can currently see.
36
+ *
37
+ * Needed in addition to scan-time pruning: a resolved anchor is cached, and the
38
+ * cache would otherwise keep serving a host after its screen was covered by a
39
+ * newly pushed one. Walks outward so nested navigators are handled.
40
+ */
41
+ export declare function isFiberOnVisibleScreen(fiber: AnyFiber): boolean;
42
+ //# sourceMappingURL=visibleScreens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"visibleScreens.d.ts","sourceRoot":"","sources":["../../../../../../src/anchors/fiber/visibleScreens.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,EACL,KAAK,QAAQ,EAQd,MAAM,kBAAkB,CAAC;AAqB1B,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAG/D;AA0CD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,CAiCxE;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAyB/D"}
@@ -0,0 +1,40 @@
1
+ import type { SemanticSegment } from '@userflow-tech/protocol';
2
+ import { type BuildTimeHints } from './AutoAnchorRegistry';
3
+ /**
4
+ * Compact build-time hints wire format (v1) emitted by `@userflow-tech/babel-plugin`.
5
+ * Expanded once at register time so the auto-anchor registry still sees full paths.
6
+ */
7
+ export declare const COMPACT_HINTS_VERSION: 1;
8
+ export interface CompactBuildTimeHints {
9
+ v: typeof COMPACT_HINTS_VERSION;
10
+ /** nativeId (`uf_<hash>`). */
11
+ n: string;
12
+ /** Single template / structural path (was ufid + structuralPath + templatePath). */
13
+ p: string;
14
+ ct?: string;
15
+ cs?: string;
16
+ icn?: string;
17
+ img?: string;
18
+ o?: number;
19
+ si?: number;
20
+ tid?: string;
21
+ uid?: string;
22
+ lid?: string;
23
+ }
24
+ export type HintsInput = BuildTimeHints | CompactBuildTimeHints;
25
+ export declare function isCompactHints(value: unknown): value is CompactBuildTimeHints;
26
+ export declare function isLegacyBuildTimeHints(value: unknown): value is BuildTimeHints;
27
+ /** True when the value is either compact v1 or legacy long-key hints. */
28
+ export declare function isHintsInput(value: unknown): value is HintsInput;
29
+ /**
30
+ * Parse path segments after `module::Component > …` into ancestor descriptors
31
+ * (everything except the leaf). Matches Babel `formatSegment` output.
32
+ */
33
+ export declare function parseAncestorsFromPath(path: string): SemanticSegment[];
34
+ export declare function parsePathSegment(part: string): SemanticSegment | null;
35
+ /**
36
+ * Expand compact (or legacy) hints into the full `BuildTimeHints` shape used
37
+ * by AutoAnchorRegistry.
38
+ */
39
+ export declare function expandBuildTimeHints(input: HintsInput, kind?: string): BuildTimeHints;
40
+ //# sourceMappingURL=hintsCodec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hintsCodec.d.ts","sourceRoot":"","sources":["../../../../../src/anchors/hintsCodec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE7E,OAAO,EAAe,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAExE;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAG,CAAU,CAAC;AAEhD,MAAM,WAAW,qBAAqB;IACpC,CAAC,EAAE,OAAO,qBAAqB,CAAC;IAChC,8BAA8B;IAC9B,CAAC,EAAE,MAAM,CAAC;IACV,oFAAoF;IACpF,CAAC,EAAE,MAAM,CAAC;IACV,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,UAAU,GAAG,cAAc,GAAG,qBAAqB,CAAC;AAEhE,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,qBAAqB,CAQ7E;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAQ9E;AAED,yEAAyE;AACzE,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAEhE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,EAAE,CAUtE;AAID,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAerE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,cAAc,CA+BrF"}
@@ -0,0 +1,32 @@
1
+ import { type AnchorHost } from './AnchorRegistry';
2
+ import type { AnyFiber } from './fiber/fiberInternals';
3
+ export type AnchorResolution = {
4
+ status: 'found';
5
+ host: AnchorHost;
6
+ fiber?: AnyFiber;
7
+ } | {
8
+ status: 'ambiguous';
9
+ } | {
10
+ status: 'missing';
11
+ };
12
+ /** Invalidate fiber-resolved anchors when the active screen changes. */
13
+ export declare function notifyAnchorScreenChange(screenKey: string | null): void;
14
+ /** Test helper — drop the fiber cache. */
15
+ export declare function clearFiberAnchorCache(): void;
16
+ /**
17
+ * Resolve a MANUAL anchor id to a measurable host.
18
+ *
19
+ * Tier 0: {@link anchorRegistry} (`useUserflowAnchor`) — higher priority, fails
20
+ * closed on ambiguous registry keys.
21
+ * Tier 1+: fiber scan for `testID`, then `nativeID`, then `accessibilityLabel`.
22
+ *
23
+ * Synchronous (the walk is pure JS; only measurement is async via the returned
24
+ * host). Caches the resolved fiber per id and revalidates cheaply before reuse.
25
+ */
26
+ export declare function resolveAnchorHost(id: string): AnchorResolution;
27
+ /**
28
+ * Drop a cached fiber entry after a zero-size measure so the next resolve
29
+ * re-scans (the host may have remounted under a new fiber).
30
+ */
31
+ export declare function invalidateFiberAnchor(id: string): void;
32
+ //# sourceMappingURL=resolveAnchorHost.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveAnchorHost.d.ts","sourceRoot":"","sources":["../../../../../src/anchors/resolveAnchorHost.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAkB,MAAM,kBAAkB,CAAC;AAEnE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAMvD,MAAM,MAAM,gBAAgB,GACxB;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,CAAC,EAAE,QAAQ,CAAA;CAAE,GACvD;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE,GACvB;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,CAAC;AAU1B,wEAAwE;AACxE,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAIvE;AAED,0CAA0C;AAC1C,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,gBAAgB,CAkD9D;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAEtD"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Resolve a manual tooltip target id from `FlowSelectorFragment.css`.
3
+ * Web MANUAL fixtures use `#save-button`; strip a leading `#`.
4
+ */
5
+ export declare function resolveManualAnchorId(css: string | null | undefined): string | null;
6
+ //# sourceMappingURL=resolveManualAnchorId.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveManualAnchorId.d.ts","sourceRoot":"","sources":["../../../../../src/anchors/resolveManualAnchorId.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAKnF"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Scroll a tooltip anchor into view by walking fiber scroll ancestors
3
+ * (or an explicit scroll-container registry override).
4
+ *
5
+ * Content offset is derived from two `measureInWindow` calls — container
6
+ * origin minus content origin — so the host app does not need to wire
7
+ * `onScroll`. Semantics match web `scrollIntoView({ block: 'nearest' })`:
8
+ * the minimal delta that brings the padded target fully inside the viewport.
9
+ */
10
+ import type { Rect } from '../surfaces/tooltip/inferTooltipPlacement';
11
+ import type { AnchorHost } from './AnchorRegistry';
12
+ import type { AnyFiber } from './fiber/fiberInternals';
13
+ import { type ScrollPadding } from './scrollConfig';
14
+ export interface ScrollAnchorIntoViewOptions {
15
+ /** Measured window rect of the tooltip target. */
16
+ rect: Rect;
17
+ /** Measurable host (registry or fiber-backed). */
18
+ host: AnchorHost;
19
+ /**
20
+ * Cached anchor host fiber — enables automatic scroll-ancestor discovery.
21
+ * When omitted, only the registry / custom / host.scrollIntoView paths run.
22
+ */
23
+ fiber?: AnyFiber | null;
24
+ }
25
+ /**
26
+ * Best-effort scroll so `opts.rect` becomes fully visible.
27
+ *
28
+ * Order:
29
+ * 1. `setCustomScrollIntoView` override (replaces everything)
30
+ * 2. Explicit `useUserflowScrollContainer` registry (opt-in override)
31
+ * 3. Fiber scroll-ancestor walk (automatic for testID anchors)
32
+ * 4. `host.scrollIntoView` (RN Web / DOM)
33
+ *
34
+ * Returns `true` when at least one scroll was attempted.
35
+ */
36
+ export declare function scrollAnchorIntoView(opts: ScrollAnchorIntoViewOptions): boolean;
37
+ /**
38
+ * Drive every scroll ancestor of `fiber`, innermost first, so nested
39
+ * scrollers compose correctly.
40
+ */
41
+ export declare function scrollFiberAncestors(fiber: AnyFiber, target: Rect): boolean;
42
+ /**
43
+ * Pure helper exported for unit tests: compute the next content offset that
44
+ * brings `target` fully inside `container` with `block: 'nearest'` semantics.
45
+ */
46
+ export declare function computeNearestScrollOffset(opts: {
47
+ target: Rect;
48
+ container: Rect;
49
+ contentOffset: {
50
+ x: number;
51
+ y: number;
52
+ };
53
+ padding?: Partial<ScrollPadding>;
54
+ }): {
55
+ x: number;
56
+ y: number;
57
+ changed: boolean;
58
+ };
59
+ //# sourceMappingURL=scrollAnchorIntoView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scrollAnchorIntoView.d.ts","sourceRoot":"","sources":["../../../../../src/anchors/scrollAnchorIntoView.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,2CAA2C,CAAC;AAEtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAGvD,OAAO,EAA6C,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAK/F,MAAM,WAAW,2BAA2B;IAC1C,kDAAkD;IAClD,IAAI,EAAE,IAAI,CAAC;IACX,kDAAkD;IAClD,IAAI,EAAE,UAAU,CAAC;IACjB;;;OAGG;IACH,KAAK,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;CACzB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,2BAA2B,GAAG,OAAO,CAqC/E;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAG,OAAO,CAY3E;AAmHD;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE;IAC/C,MAAM,EAAE,IAAI,CAAC;IACb,SAAS,EAAE,IAAI,CAAC;IAChB,aAAa,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACxC,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;CAClC,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CA0B7C"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Integrator-level scroll configuration, mirroring web userflow.js
3
+ * `setScrollPadding` / `setCustomScrollIntoView`.
4
+ */
5
+ import type { Rect } from '../surfaces/tooltip/inferTooltipPlacement';
6
+ export interface ScrollPadding {
7
+ top?: number;
8
+ right?: number;
9
+ bottom?: number;
10
+ left?: number;
11
+ }
12
+ /** Target passed to a custom scroll-into-view override. */
13
+ export interface ScrollIntoViewTarget {
14
+ rect: Rect;
15
+ measureInWindow: (callback: (x: number, y: number, width: number, height: number) => void) => void;
16
+ }
17
+ export type CustomScrollIntoView = (target: ScrollIntoViewTarget) => void;
18
+ /** Sticky header/footer insets applied when deciding whether / how far to scroll. */
19
+ export declare function setScrollPadding(padding: ScrollPadding | null | undefined): void;
20
+ export declare function getScrollPadding(): ScrollPadding | null;
21
+ /**
22
+ * Replace the SDK's scroll-into-view behavior entirely. Useful for scroll
23
+ * libraries the fiber walk cannot drive (some FlashList / Reanimated setups).
24
+ * Pass `null` to restore the default.
25
+ */
26
+ export declare function setCustomScrollIntoView(fn: CustomScrollIntoView | null | undefined): void;
27
+ export declare function getCustomScrollIntoView(): CustomScrollIntoView | null;
28
+ /** Test helper — reset to defaults. */
29
+ export declare function resetScrollConfig(): void;
30
+ //# sourceMappingURL=scrollConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scrollConfig.d.ts","sourceRoot":"","sources":["../../../../../src/anchors/scrollConfig.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,2CAA2C,CAAC;AAEtE,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,2DAA2D;AAC3D,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,IAAI,CAAC;IACX,eAAe,EAAE,CACf,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,KACpE,IAAI,CAAC;CACX;AAED,MAAM,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,CAAC;AAY1E,qFAAqF;AACrF,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAEhF;AAED,wBAAgB,gBAAgB,IAAI,aAAa,GAAG,IAAI,CAEvD;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,oBAAoB,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAEzF;AAED,wBAAgB,uBAAuB,IAAI,oBAAoB,GAAG,IAAI,CAErE;AAED,uCAAuC;AACvC,wBAAgB,iBAAiB,IAAI,IAAI,CAGxC"}