@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,248 @@
1
+ "use strict";
2
+
3
+ import * as ReactNS from 'react';
4
+ import { autoAnchorRegistry, roleForKind } from "./AutoAnchorRegistry.js";
5
+ import { expandBuildTimeHints, isHintsInput } from "./hintsCodec.js";
6
+
7
+ /**
8
+ * Runtime half of build-time auto-anchoring (see `@userflow-tech/babel-plugin`).
9
+ *
10
+ * Each mount creates a distinct AutoAnchorRegistry instance. Shared templates
11
+ * (design-system / list rows) register separately and are marked ambiguous
12
+ * when they lack a unique manual id or call-site scope.
13
+ *
14
+ * Canonical signature (what Babel emits via `__ufRef`):
15
+ * __userflowAutoAnchor(id, hints, userRef, kind, runtime?)
16
+ */
17
+
18
+ function cacheKey(id, scope) {
19
+ return scope ? `${id}@@${scope}` : id;
20
+ }
21
+ const cache = new Map();
22
+
23
+ /**
24
+ * Legacy string refs (`ref="foo"`) assigned `owner.refs.foo` via React internals.
25
+ * Best-effort: modern React may not expose an owner; never throws into app code.
26
+ */
27
+ function assignLegacyStringRef(name, instance) {
28
+ try {
29
+ const React = ReactNS;
30
+ const internals = React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE ?? React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
31
+ const owner = internals?.ReactCurrentOwner?.current;
32
+ if (!owner) return;
33
+ if (owner.refs == null) {
34
+ owner.refs = {};
35
+ }
36
+ if (instance) {
37
+ owner.refs[name] = instance;
38
+ } else {
39
+ delete owner.refs[name];
40
+ }
41
+ } catch {
42
+ // String-ref owner unavailable — ignore rather than break the host.
43
+ }
44
+ }
45
+ function attachUserRef(userRef, instance) {
46
+ if (userRef == null || userRef === '') return;
47
+ if (typeof userRef === 'string') {
48
+ assignLegacyStringRef(userRef, instance);
49
+ return;
50
+ }
51
+ if (typeof userRef === 'function') {
52
+ const result = userRef(instance);
53
+ if (typeof result === 'function') {
54
+ return result;
55
+ }
56
+ return;
57
+ }
58
+ try {
59
+ userRef.current = instance;
60
+ } catch {
61
+ // Read-only ref object — nothing to do.
62
+ }
63
+ }
64
+ function detachUserRef(userRef, reg) {
65
+ if (reg.userRefCleanup) {
66
+ try {
67
+ reg.userRefCleanup();
68
+ } catch {
69
+ // App cleanup must not break unmount.
70
+ }
71
+ reg.userRefCleanup = null;
72
+ return;
73
+ }
74
+ attachUserRef(userRef, null);
75
+ }
76
+ function teardownRegistration(entry, reg) {
77
+ detachUserRef(entry.userRef, reg);
78
+ reg.dispose();
79
+ }
80
+ function isRefLike(value) {
81
+ return typeof value === 'function' || typeof value === 'object' && value !== null && 'current' in value;
82
+ }
83
+ function isUserRef(value) {
84
+ if (typeof value === 'string') return value.length > 0;
85
+ return isRefLike(value);
86
+ }
87
+ function isRuntime(value) {
88
+ return typeof value === 'object' && value !== null && !isRefLike(value) && !isHintsInput(value);
89
+ }
90
+ function resolveHints(raw, kind) {
91
+ if (raw == null) return raw;
92
+ return expandBuildTimeHints(raw, kind);
93
+ }
94
+ export function __userflowAutoAnchor(id, hintsOrUserRef, userRefOrKind, kindOrRuntime, maybeRuntime) {
95
+ let hints;
96
+ let userRef;
97
+ let elementKind;
98
+ let runtime;
99
+ if (isHintsInput(hintsOrUserRef)) {
100
+ userRef = isUserRef(userRefOrKind) ? userRefOrKind : null;
101
+ if (typeof kindOrRuntime === 'string') {
102
+ elementKind = kindOrRuntime;
103
+ runtime = maybeRuntime;
104
+ } else if (isRuntime(kindOrRuntime)) {
105
+ runtime = kindOrRuntime;
106
+ }
107
+ hints = resolveHints(hintsOrUserRef, elementKind);
108
+ } else {
109
+ hints = undefined;
110
+ userRef = isUserRef(hintsOrUserRef) ? hintsOrUserRef : null;
111
+ elementKind = typeof userRefOrKind === 'string' ? userRefOrKind : undefined;
112
+ if (isRuntime(kindOrRuntime)) runtime = kindOrRuntime;else if (maybeRuntime) runtime = maybeRuntime;
113
+ }
114
+ const resolvedId = typeof id === 'string' && id.length > 0 ? id : hints?.nativeId ?? hints?.ufid ?? 'uf_unknown';
115
+ const scope = runtime?.scope;
116
+ const key = cacheKey(resolvedId, scope);
117
+ const existing = cache.get(key);
118
+ if (existing) {
119
+ existing.userRef = userRef;
120
+ existing.hints = hints;
121
+ existing.kind = elementKind ?? existing.kind;
122
+ existing.runtime = runtime ?? existing.runtime;
123
+ if (existing.registrations.size === 1 && (hints || runtime)) {
124
+ const [reg] = existing.registrations.values();
125
+ const patch = {};
126
+ if (runtime?.childText !== undefined) patch.childText = runtime.childText;
127
+ if (runtime?.accessibilityLabel !== undefined) {
128
+ patch.accessibilityLabel = runtime.accessibilityLabel;
129
+ }
130
+ if (runtime?.scope) patch.instanceScope = runtime.scope;
131
+ if (runtime?.userflowId) patch.userflowId = runtime.userflowId;
132
+ if (runtime?.testID) patch.testID = runtime.testID;
133
+ if (runtime?.nativeID) patch.nativeID = runtime.nativeID;
134
+ if (runtime?.manualId || runtime?.userflowId || runtime?.testID) {
135
+ const mid = runtime.manualId ?? runtime.userflowId ?? runtime.testID ?? existing.runtime?.manualId;
136
+ if (mid) patch.manualId = mid;
137
+ }
138
+ autoAnchorRegistry.updateInstance(reg.instanceId, patch);
139
+ }
140
+ return existing.callback;
141
+ }
142
+ const entry = {
143
+ userRef,
144
+ hints,
145
+ kind: elementKind,
146
+ runtime,
147
+ registrations: new Map(),
148
+ callback: instance => {
149
+ if (instance) {
150
+ if (entry.registrations.has(instance)) return undefined;
151
+ const cleanup = attachUserRef(entry.userRef, instance);
152
+ const holder = {
153
+ current: instance
154
+ };
155
+ const kind = entry.kind ?? 'View';
156
+ const rt = entry.runtime;
157
+ const composedPath = rt?.scope && entry.hints?.templatePath ? `${rt.scope} :: ${entry.hints.templatePath}` : entry.hints?.structuralPath ?? entry.hints?.ufid;
158
+ const hintsForReg = entry.hints ? {
159
+ ...entry.hints,
160
+ ...(composedPath ? {
161
+ structuralPath: composedPath,
162
+ ufid: composedPath
163
+ } : {}),
164
+ role: entry.hints.role ?? roleForKind(kind)
165
+ } : {
166
+ ufid: resolvedId,
167
+ nativeId: resolvedId,
168
+ role: roleForKind(kind)
169
+ };
170
+ const {
171
+ instanceId,
172
+ dispose
173
+ } = autoAnchorRegistry.registerInstance({
174
+ registryKey: resolvedId,
175
+ ref: holder,
176
+ kind,
177
+ hints: hintsForReg,
178
+ ...(rt?.scope ? {
179
+ instanceScope: rt.scope
180
+ } : {}),
181
+ runtime: {
182
+ ...(rt?.manualId ? {
183
+ manualId: rt.manualId
184
+ } : {}),
185
+ ...(rt?.userflowId ? {
186
+ userflowId: rt.userflowId
187
+ } : {}),
188
+ ...(rt?.testID ? {
189
+ testID: rt.testID
190
+ } : {}),
191
+ ...(rt?.nativeID ? {
192
+ nativeID: rt.nativeID
193
+ } : {}),
194
+ ...(rt?.childText ? {
195
+ childText: rt.childText
196
+ } : {}),
197
+ ...(rt?.accessibilityLabel ? {
198
+ accessibilityLabel: rt.accessibilityLabel
199
+ } : {}),
200
+ ...(rt?.iconName ? {
201
+ iconName: rt.iconName
202
+ } : {}),
203
+ ...(rt?.imageSrc ? {
204
+ imageSrc: rt.imageSrc
205
+ } : {}),
206
+ ...(rt?.reactKey ? {
207
+ reactKey: rt.reactKey
208
+ } : {}),
209
+ ...(!rt?.manualId && !rt?.userflowId && !rt?.testID && !resolvedId.startsWith('uf_') ? {
210
+ manualId: resolvedId
211
+ } : {})
212
+ }
213
+ });
214
+ const reg = {
215
+ holder,
216
+ instanceId,
217
+ dispose,
218
+ userRefCleanup: typeof cleanup === 'function' ? cleanup : null
219
+ };
220
+ entry.registrations.set(instance, reg);
221
+ return () => {
222
+ const r = entry.registrations.get(instance);
223
+ if (!r) return;
224
+ entry.registrations.delete(instance);
225
+ teardownRegistration(entry, r);
226
+ };
227
+ }
228
+ const first = entry.registrations.keys().next();
229
+ if (!first.done) {
230
+ const inst = first.value;
231
+ const r = entry.registrations.get(inst);
232
+ entry.registrations.delete(inst);
233
+ teardownRegistration(entry, r);
234
+ }
235
+ return undefined;
236
+ }
237
+ };
238
+ cache.set(key, entry);
239
+ return entry.callback;
240
+ }
241
+
242
+ /** Test helper — drop factory cache and registry instances. */
243
+ export function __resetAutoAnchorForTests() {
244
+ cache.clear();
245
+ autoAnchorRegistry.clear();
246
+ }
247
+ globalThis.__userflowAutoAnchor = __userflowAutoAnchor;
248
+ //# sourceMappingURL=autoAnchor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ReactNS","autoAnchorRegistry","roleForKind","expandBuildTimeHints","isHintsInput","cacheKey","id","scope","cache","Map","assignLegacyStringRef","name","instance","React","internals","__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","owner","ReactCurrentOwner","current","refs","attachUserRef","userRef","result","detachUserRef","reg","userRefCleanup","teardownRegistration","entry","dispose","isRefLike","value","isUserRef","length","isRuntime","resolveHints","raw","kind","__userflowAutoAnchor","hintsOrUserRef","userRefOrKind","kindOrRuntime","maybeRuntime","hints","elementKind","runtime","undefined","resolvedId","nativeId","ufid","key","existing","get","registrations","size","values","patch","childText","accessibilityLabel","instanceScope","userflowId","testID","nativeID","manualId","mid","updateInstance","instanceId","callback","has","cleanup","holder","rt","composedPath","templatePath","structuralPath","hintsForReg","role","registerInstance","registryKey","ref","iconName","imageSrc","reactKey","startsWith","set","r","delete","first","keys","next","done","inst","__resetAutoAnchorForTests","clear","globalThis"],"sourceRoot":"../../../src","sources":["anchors/autoAnchor.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+
3
+ import { anchorChangeTicker } from "./anchorChangeTicker.js";
4
+ import { resolveAnchorHost } from "./resolveAnchorHost.js";
5
+ import { resolveManualAnchorId } from "./resolveManualAnchorId.js";
6
+
7
+ /** ELEMENT states the mobile SDK can evaluate today. */
8
+ const SUPPORTED_ELEMENT_STATES = new Set(['PRESENT', 'NOT_PRESENT']);
9
+
10
+ /**
11
+ * Evaluate ELEMENT client conditions against manual anchors and fiber-resolved
12
+ * `testID` / `nativeID` / `accessibilityLabel` targets.
13
+ *
14
+ * Supports PRESENT / NOT_PRESENT for MANUAL selectors (`css` → anchor id).
15
+ * AUTO / codeless selectors and web-interaction states (CLICK, DISABLED, …)
16
+ * report unknown (`null`) so gated flows stay blocked rather than inventing
17
+ * a truth value.
18
+ *
19
+ * "Present" means `resolveAnchorHost` finds a unique host. That already skips
20
+ * screens covered by another navigator screen, so an id on a pushed-under
21
+ * screen counts as absent. Pixel visibility (off-screen inside a ScrollView,
22
+ * opacity 0, etc.) would need async `measureInWindow` and is out of scope.
23
+ *
24
+ * Note: compares string literals rather than importing protocol enums so Jest
25
+ * (which cannot resolve the ESM-only `@userflow-tech/protocol` package) stays
26
+ * hermetic. Wire values match `FlowConditionElementState` / `FlowSelectorType`.
27
+ */
28
+ export function createElementConditionEvaluator(warn = message => {
29
+ if (__DEV__) {
30
+ // eslint-disable-next-line no-console -- intentional development diagnostic
31
+ console.warn(message);
32
+ }
33
+ }) {
34
+ const warnedConditionIds = new Set();
35
+ const warnOnce = (conditionId, message) => {
36
+ if (warnedConditionIds.has(conditionId)) return;
37
+ warnedConditionIds.add(conditionId);
38
+ warn(message);
39
+ };
40
+ return (condition, report) => {
41
+ const evaluate = () => {
42
+ const result = evaluateElementCondition(condition, warnOnce);
43
+ report(result);
44
+ };
45
+ evaluate();
46
+ return anchorChangeTicker.subscribe(evaluate);
47
+ };
48
+ }
49
+ function evaluateElementCondition(condition, warnOnce) {
50
+ const elementState = condition.elementState;
51
+ if (elementState == null || !SUPPORTED_ELEMENT_STATES.has(elementState)) {
52
+ warnOnce(condition.id, `[Userflow] ELEMENT condition ${condition.id} uses unsupported elementState ` + `"${elementState ?? 'null'}" (only PRESENT / NOT_PRESENT are supported); ` + 'leaving unknown');
53
+ return null;
54
+ }
55
+ const selector = condition.selector;
56
+ if (selector == null) {
57
+ warnOnce(condition.id, `[Userflow] ELEMENT condition ${condition.id} has no selector; leaving unknown`);
58
+ return null;
59
+ }
60
+ if (selector.type === 'AUTO') {
61
+ warnOnce(condition.id, `[Userflow] ELEMENT condition ${condition.id} uses an AUTO (codeless) selector; ` + 'manual anchors only are supported today — leaving unknown');
62
+ return null;
63
+ }
64
+ const anchorId = resolveManualAnchorId(selector.css);
65
+ if (anchorId == null) {
66
+ warnOnce(condition.id, `[Userflow] ELEMENT condition ${condition.id} has no resolvable manual anchor id; ` + 'leaving unknown');
67
+ return null;
68
+ }
69
+ const resolution = resolveAnchorHost(anchorId);
70
+ // Ambiguous counts as not present for PRESENT (fail closed) and as "present"
71
+ // for NOT_PRESENT would be wrong — treat ambiguous as unknown so gated flows
72
+ // stay blocked rather than inventing a truth value.
73
+ if (resolution.status === 'ambiguous') {
74
+ return null;
75
+ }
76
+ const present = resolution.status === 'found';
77
+ return elementState === 'PRESENT' ? present : !present;
78
+ }
79
+ //# sourceMappingURL=elementConditionEvaluator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["anchorChangeTicker","resolveAnchorHost","resolveManualAnchorId","SUPPORTED_ELEMENT_STATES","Set","createElementConditionEvaluator","warn","message","__DEV__","console","warnedConditionIds","warnOnce","conditionId","has","add","condition","report","evaluate","result","evaluateElementCondition","subscribe","elementState","id","selector","type","anchorId","css","resolution","status","present"],"sourceRoot":"../../../src","sources":["anchors/elementConditionEvaluator.ts"],"mappings":";;AAGA,SAASA,kBAAkB,QAAQ,yBAAsB;AACzD,SAASC,iBAAiB,QAAQ,wBAAqB;AACvD,SAASC,qBAAqB,QAAQ,4BAAyB;;AAE/D;AACA,MAAMC,wBAAwB,GAAG,IAAIC,GAAG,CAAC,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;;AAEpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,+BAA+BA,CAC7CC,IAA+B,GAAIC,OAAO,IAAK;EAC7C,IAAIC,OAAO,EAAE;IACX;IACAC,OAAO,CAACH,IAAI,CAACC,OAAO,CAAC;EACvB;AACF,CAAC,EACmB;EACpB,MAAMG,kBAAkB,GAAG,IAAIN,GAAG,CAAS,CAAC;EAE5C,MAAMO,QAAQ,GAAGA,CAACC,WAAmB,EAAEL,OAAe,KAAW;IAC/D,IAAIG,kBAAkB,CAACG,GAAG,CAACD,WAAW,CAAC,EAAE;IACzCF,kBAAkB,CAACI,GAAG,CAACF,WAAW,CAAC;IACnCN,IAAI,CAACC,OAAO,CAAC;EACf,CAAC;EAED,OAAO,CAACQ,SAAS,EAAEC,MAAM,KAAK;IAC5B,MAAMC,QAAQ,GAAGA,CAAA,KAAY;MAC3B,MAAMC,MAAM,GAAGC,wBAAwB,CAACJ,SAAS,EAAEJ,QAAQ,CAAC;MAC5DK,MAAM,CAACE,MAAM,CAAC;IAChB,CAAC;IAEDD,QAAQ,CAAC,CAAC;IACV,OAAOjB,kBAAkB,CAACoB,SAAS,CAACH,QAAQ,CAAC;EAC/C,CAAC;AACH;AAEA,SAASE,wBAAwBA,CAC/BJ,SAAgC,EAChCJ,QAAwD,EACxC;EAChB,MAAMU,YAAY,GAAGN,SAAS,CAACM,YAA6B;EAC5D,IAAIA,YAAY,IAAI,IAAI,IAAI,CAAClB,wBAAwB,CAACU,GAAG,CAACQ,YAAY,CAAC,EAAE;IACvEV,QAAQ,CACNI,SAAS,CAACO,EAAE,EACZ,gCAAgCP,SAAS,CAACO,EAAE,iCAAiC,GAC3E,IAAID,YAAY,IAAI,MAAM,gDAAgD,GAC1E,iBACJ,CAAC;IACD,OAAO,IAAI;EACb;EAEA,MAAME,QAAQ,GAAGR,SAAS,CAACQ,QAAQ;EACnC,IAAIA,QAAQ,IAAI,IAAI,EAAE;IACpBZ,QAAQ,CACNI,SAAS,CAACO,EAAE,EACZ,gCAAgCP,SAAS,CAACO,EAAE,mCAC9C,CAAC;IACD,OAAO,IAAI;EACb;EAEA,IAAKC,QAAQ,CAACC,IAAI,KAAuB,MAAM,EAAE;IAC/Cb,QAAQ,CACNI,SAAS,CAACO,EAAE,EACZ,gCAAgCP,SAAS,CAACO,EAAE,qCAAqC,GAC/E,2DACJ,CAAC;IACD,OAAO,IAAI;EACb;EAEA,MAAMG,QAAQ,GAAGvB,qBAAqB,CAACqB,QAAQ,CAACG,GAAG,CAAC;EACpD,IAAID,QAAQ,IAAI,IAAI,EAAE;IACpBd,QAAQ,CACNI,SAAS,CAACO,EAAE,EACZ,gCAAgCP,SAAS,CAACO,EAAE,uCAAuC,GACjF,iBACJ,CAAC;IACD,OAAO,IAAI;EACb;EAEA,MAAMK,UAAU,GAAG1B,iBAAiB,CAACwB,QAAQ,CAAC;EAC9C;EACA;EACA;EACA,IAAIE,UAAU,CAACC,MAAM,KAAK,WAAW,EAAE;IACrC,OAAO,IAAI;EACb;EACA,MAAMC,OAAO,GAAGF,UAAU,CAACC,MAAM,KAAK,OAAO;EAC7C,OAAOP,YAAY,KAAK,SAAS,GAAGQ,OAAO,GAAG,CAACA,OAAO;AACxD","ignoreList":[]}
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+
3
+ import * as React from 'react';
4
+ import { StyleSheet, View } from 'react-native';
5
+ import { fiberFromPublicInstance, resolveCurrentFiber } from "./fiberInternals.js";
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ /**
8
+ * Module singleton holding the fiber under which testID / nativeID /
9
+ * accessibilityLabel scans run. Seeded by {@link FiberScanRoot}.
10
+ */
11
+ class FiberScanRootStore {
12
+ instance = null;
13
+ listeners = new Set();
14
+ set(instance) {
15
+ this.instance = instance;
16
+ this.emit();
17
+ }
18
+ clear() {
19
+ this.instance = null;
20
+ this.emit();
21
+ }
22
+
23
+ /** Current (resolved) fiber under the scan root, or null when unmounted. */
24
+ getFiber() {
25
+ if (!this.instance) return null;
26
+ const fiber = fiberFromPublicInstance(this.instance);
27
+ if (!fiber) return null;
28
+ return resolveCurrentFiber(fiber);
29
+ }
30
+ subscribe(listener) {
31
+ this.listeners.add(listener);
32
+ return () => {
33
+ this.listeners.delete(listener);
34
+ };
35
+ }
36
+
37
+ /** Test helper. */
38
+ resetForTests() {
39
+ this.instance = null;
40
+ this.listeners.clear();
41
+ }
42
+ emit() {
43
+ for (const listener of this.listeners) {
44
+ listener();
45
+ }
46
+ }
47
+ }
48
+ export const fiberScanRoot = new FiberScanRootStore();
49
+ /**
50
+ * Class component that publishes its own `_reactInternals` fiber as the scan
51
+ * root for testID-based anchoring. Class instances expose `_reactInternals` in
52
+ * both Paper and Fabric production builds (unlike host refs, which null out
53
+ * `_internalFiberInstanceHandleDEV` on Paper release).
54
+ *
55
+ * Renders the same content-root `View` that {@link UserflowProvider} previously
56
+ * owned so the layout tree is unchanged. The Userflow overlay sits as a
57
+ * *sibling*, so SDK-owned `testID`s never self-match.
58
+ */
59
+ export class FiberScanRoot extends React.Component {
60
+ componentDidMount() {
61
+ fiberScanRoot.set(this);
62
+ }
63
+ componentDidUpdate() {
64
+ // Re-publish after updates so a remount-without-unmount still has a live
65
+ // pointer (defensive; normally the instance identity is stable).
66
+ fiberScanRoot.set(this);
67
+ }
68
+ componentWillUnmount() {
69
+ fiberScanRoot.clear();
70
+ }
71
+ render() {
72
+ return /*#__PURE__*/_jsx(View, {
73
+ style: styles.contentRoot,
74
+ collapsable: false,
75
+ children: this.props.children
76
+ });
77
+ }
78
+ }
79
+ const styles = StyleSheet.create({
80
+ contentRoot: {
81
+ flex: 1
82
+ }
83
+ });
84
+ //# sourceMappingURL=FiberScanRoot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","StyleSheet","View","fiberFromPublicInstance","resolveCurrentFiber","jsx","_jsx","FiberScanRootStore","instance","listeners","Set","set","emit","clear","getFiber","fiber","subscribe","listener","add","delete","resetForTests","fiberScanRoot","FiberScanRoot","Component","componentDidMount","componentDidUpdate","componentWillUnmount","render","style","styles","contentRoot","collapsable","children","props","create","flex"],"sourceRoot":"../../../../src","sources":["anchors/fiber/FiberScanRoot.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAE/C,SAAwBC,uBAAuB,EAAEC,mBAAmB,QAAQ,qBAAkB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAI/F;AACA;AACA;AACA;AACA,MAAMC,kBAAkB,CAAC;EACfC,QAAQ,GAAY,IAAI;EACfC,SAAS,GAAG,IAAIC,GAAG,CAAW,CAAC;EAEhDC,GAAGA,CAACH,QAAiB,EAAQ;IAC3B,IAAI,CAACA,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACI,IAAI,CAAC,CAAC;EACb;EAEAC,KAAKA,CAAA,EAAS;IACZ,IAAI,CAACL,QAAQ,GAAG,IAAI;IACpB,IAAI,CAACI,IAAI,CAAC,CAAC;EACb;;EAEA;EACAE,QAAQA,CAAA,EAAoB;IAC1B,IAAI,CAAC,IAAI,CAACN,QAAQ,EAAE,OAAO,IAAI;IAC/B,MAAMO,KAAK,GAAGZ,uBAAuB,CAAC,IAAI,CAACK,QAAQ,CAAC;IACpD,IAAI,CAACO,KAAK,EAAE,OAAO,IAAI;IACvB,OAAOX,mBAAmB,CAACW,KAAK,CAAC;EACnC;EAEAC,SAASA,CAACC,QAAkB,EAAc;IACxC,IAAI,CAACR,SAAS,CAACS,GAAG,CAACD,QAAQ,CAAC;IAC5B,OAAO,MAAM;MACX,IAAI,CAACR,SAAS,CAACU,MAAM,CAACF,QAAQ,CAAC;IACjC,CAAC;EACH;;EAEA;EACAG,aAAaA,CAAA,EAAS;IACpB,IAAI,CAACZ,QAAQ,GAAG,IAAI;IACpB,IAAI,CAACC,SAAS,CAACI,KAAK,CAAC,CAAC;EACxB;EAEQD,IAAIA,CAAA,EAAS;IACnB,KAAK,MAAMK,QAAQ,IAAI,IAAI,CAACR,SAAS,EAAE;MACrCQ,QAAQ,CAAC,CAAC;IACZ;EACF;AACF;AAEA,OAAO,MAAMI,aAAa,GAAG,IAAId,kBAAkB,CAAC,CAAC;AAMrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMe,aAAa,SAAStB,KAAK,CAACuB,SAAS,CAAqB;EAC5DC,iBAAiBA,CAAA,EAAS;IACjCH,aAAa,CAACV,GAAG,CAAC,IAAI,CAAC;EACzB;EAESc,kBAAkBA,CAAA,EAAS;IAClC;IACA;IACAJ,aAAa,CAACV,GAAG,CAAC,IAAI,CAAC;EACzB;EAESe,oBAAoBA,CAAA,EAAS;IACpCL,aAAa,CAACR,KAAK,CAAC,CAAC;EACvB;EAESc,MAAMA,CAAA,EAAuB;IACpC,oBACErB,IAAA,CAACJ,IAAI;MAAC0B,KAAK,EAAEC,MAAM,CAACC,WAAY;MAACC,WAAW,EAAE,KAAM;MAAAC,QAAA,EACjD,IAAI,CAACC,KAAK,CAACD;IAAQ,CAChB,CAAC;EAEX;AACF;AAEA,MAAMH,MAAM,GAAG5B,UAAU,CAACiC,MAAM,CAAC;EAC/BJ,WAAW,EAAE;IACXK,IAAI,EAAE;EACR;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,164 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Compatibility layer for the React Native / React **internals** that
5
+ * testID-based anchoring depends on. Every accessor is feature-detected and
6
+ * **never throws** (returns `undefined`/`false`/`null` on a missing or renamed
7
+ * field) so an RN shape change degrades to not-found rather than crashing the
8
+ * host app.
9
+ *
10
+ * Explicitly **no** `__REACT_DEVTOOLS_GLOBAL_HOOK__`. Fibers are reached only
11
+ * through production-present pointers on class instances (`_reactInternals`).
12
+ */
13
+
14
+ // The fiber shape we touch is intentionally permissive; we never mutate.
15
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
16
+
17
+ /** React reconciler `HostComponent` fiber tag. */
18
+ const HOST_COMPONENT_TAG = 5;
19
+
20
+ /** React reconciler `HostRoot` fiber tag. */
21
+ const HOST_ROOT_TAG = 3;
22
+
23
+ /**
24
+ * Bound for `return`-pointer walks. Only a loop guard, not a real limit:
25
+ * measured fiber depth in a modest Expo Router app is already ~150 from a
26
+ * tagged view to the provider, and ~80 from the provider to the HostRoot, so a
27
+ * small cap silently disables the walk instead of protecting anything.
28
+ */
29
+ export const MAX_ANCESTOR_WALK = 10_000;
30
+
31
+ /** Keys/methods that mark a `stateNode` as a measurable native view instance. */
32
+ const HOST_STATE_NODE_KEYS = ['viewConfig', '_nativeTag', '__nativeTag', 'nativeTag', '_internalInstanceHandle', 'node', 'canonical'];
33
+ export function getChild(fiber) {
34
+ return fiber?.child ?? null;
35
+ }
36
+ export function getSibling(fiber) {
37
+ return fiber?.sibling ?? null;
38
+ }
39
+ export function getReturn(fiber) {
40
+ return fiber?.return ?? null;
41
+ }
42
+ export function getAlternate(fiber) {
43
+ return fiber?.alternate ?? null;
44
+ }
45
+ export function getMemoizedProps(fiber) {
46
+ const p = fiber?.memoizedProps;
47
+ return p && typeof p === 'object' ? p : undefined;
48
+ }
49
+ export function getStateNode(fiber) {
50
+ return fiber?.stateNode ?? null;
51
+ }
52
+ export function getFiberTag(fiber) {
53
+ const t = fiber?.tag;
54
+ return typeof t === 'number' ? t : undefined;
55
+ }
56
+
57
+ /** Native component name for a host fiber (e.g. `RNSScreen`), else undefined. */
58
+ export function getHostTypeName(fiber) {
59
+ const t = fiber?.type;
60
+ return typeof t === 'string' ? t : undefined;
61
+ }
62
+
63
+ /**
64
+ * True when `fiber` is a host component. Checks both Paper/Fabric stateNode
65
+ * markers and the HostComponent tag (react-test-renderer host fibers often
66
+ * have `tag === 5` without native keys).
67
+ */
68
+ export function isHostFiber(fiber) {
69
+ const node = fiber?.stateNode;
70
+ if (node && typeof node === 'object') {
71
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
72
+ const n = node;
73
+ for (const k of HOST_STATE_NODE_KEYS) {
74
+ if (k in node) return true;
75
+ }
76
+ if (typeof n.measure === 'function' || typeof n.measureInWindow === 'function' || typeof n.measureLayout === 'function') {
77
+ return true;
78
+ }
79
+ }
80
+ return getFiberTag(fiber) === HOST_COMPONENT_TAG;
81
+ }
82
+
83
+ /**
84
+ * Ordered pointer names a class / public instance uses to reference its fiber.
85
+ * `_internalFiberInstanceHandleDEV` is intentionally omitted — DEV-only.
86
+ */
87
+ const INSTANCE_FIBER_KEYS = ['_reactInternals',
88
+ // class / pre-19 / Fabric & Paper prod
89
+ '_reactInternalFiber',
90
+ // legacy
91
+ '__internalInstanceHandle',
92
+ // Fabric public instance (RN 0.7x+)
93
+ '_internalInstanceHandle' // older Fabric / Paper bridge
94
+ ];
95
+
96
+ /** Resolve a fiber from a class or host public instance. Returns null when unavailable. */
97
+ export function fiberFromPublicInstance(instance) {
98
+ if (!instance || typeof instance !== 'object') return null;
99
+ try {
100
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
101
+ const inst = instance;
102
+ for (const key of INSTANCE_FIBER_KEYS) {
103
+ const handle = inst[key];
104
+ if (handle) return handle;
105
+ }
106
+ } catch {
107
+ // Feature-detection must itself never throw.
108
+ }
109
+ return null;
110
+ }
111
+
112
+ /**
113
+ * Pick the "current" tree fiber between `fiber` and its alternate by walking
114
+ * to the HostRoot and comparing against `root.stateNode.current`.
115
+ *
116
+ * Returns the input fiber when the root cannot be resolved (best-effort).
117
+ */
118
+ export function resolveCurrentFiber(fiber) {
119
+ if (!fiber) return fiber;
120
+ try {
121
+ const alternate = getAlternate(fiber);
122
+ if (!alternate) return fiber;
123
+ let cur = fiber;
124
+ for (let depth = 0; cur && depth < MAX_ANCESTOR_WALK; depth += 1) {
125
+ if (getFiberTag(cur) === HOST_ROOT_TAG) {
126
+ const rootState = getStateNode(cur);
127
+ const currentRoot = rootState?.current;
128
+ if (!currentRoot) return fiber;
129
+ // Walk both candidates upward; whichever lands on currentRoot is live.
130
+ if (isInTree(fiber, currentRoot)) return fiber;
131
+ if (isInTree(alternate, currentRoot)) return alternate;
132
+ return fiber;
133
+ }
134
+ cur = getReturn(cur);
135
+ }
136
+ } catch {
137
+ // Best-effort.
138
+ }
139
+ return fiber;
140
+ }
141
+ function isInTree(fiber, root) {
142
+ let cur = fiber;
143
+ for (let depth = 0; cur && depth < MAX_ANCESTOR_WALK; depth += 1) {
144
+ if (cur === root) return true;
145
+ cur = getReturn(cur);
146
+ }
147
+ return false;
148
+ }
149
+
150
+ /**
151
+ * True when a previously-resolved fiber is still attached to a live tree
152
+ * (has a return path, or is itself a HostRoot).
153
+ */
154
+ export function isFiberMounted(fiber) {
155
+ if (!fiber) return false;
156
+ try {
157
+ if (getFiberTag(fiber) === HOST_ROOT_TAG) return true;
158
+ // A fiber with no return is detached (unless HostRoot, handled above).
159
+ return getReturn(fiber) != null;
160
+ } catch {
161
+ return false;
162
+ }
163
+ }
164
+ //# sourceMappingURL=fiberInternals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["HOST_COMPONENT_TAG","HOST_ROOT_TAG","MAX_ANCESTOR_WALK","HOST_STATE_NODE_KEYS","getChild","fiber","child","getSibling","sibling","getReturn","return","getAlternate","alternate","getMemoizedProps","p","memoizedProps","undefined","getStateNode","stateNode","getFiberTag","t","tag","getHostTypeName","type","isHostFiber","node","n","k","measure","measureInWindow","measureLayout","INSTANCE_FIBER_KEYS","fiberFromPublicInstance","instance","inst","key","handle","resolveCurrentFiber","cur","depth","rootState","currentRoot","current","isInTree","root","isFiberMounted"],"sourceRoot":"../../../../src","sources":["anchors/fiber/fiberInternals.ts"],"mappings":"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","ignoreList":[]}