@userflow-tech/react-native 0.1.1 → 0.2.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 (788) hide show
  1. package/README.md +97 -61
  2. package/app.plugin.js +11 -1
  3. package/babel-plugin/index.d.ts +8 -8
  4. package/babel-plugin/index.d.ts.map +1 -1
  5. package/babel-plugin/index.js +17 -9
  6. package/babel-plugin/index.js.map +1 -1
  7. package/babel-plugin.js +13 -0
  8. package/docs/anchoring.md +141 -13
  9. package/docs/deep-linking.md +18 -15
  10. package/docs/theme-mapping.md +44 -15
  11. package/docs/troubleshooting.md +36 -29
  12. package/expo-plugin/withUserflow.js +1 -1
  13. package/expo-plugin/withUserflow.js.map +1 -1
  14. package/lib/commonjs/anchors/AutoAnchorRegistry.js +124 -2
  15. package/lib/commonjs/anchors/AutoAnchorRegistry.js.map +1 -1
  16. package/lib/commonjs/anchors/anchorChangeTicker.js +10 -0
  17. package/lib/commonjs/anchors/anchorChangeTicker.js.map +1 -1
  18. package/lib/commonjs/anchors/elementConditionEvaluator.js +25 -12
  19. package/lib/commonjs/anchors/elementConditionEvaluator.js.map +1 -1
  20. package/lib/commonjs/anchors/fiber/FiberScanRoot.js +11 -47
  21. package/lib/commonjs/anchors/fiber/FiberScanRoot.js.map +1 -1
  22. package/lib/commonjs/anchors/fiber/FiberScanRootStore.js +50 -0
  23. package/lib/commonjs/anchors/fiber/FiberScanRootStore.js.map +1 -0
  24. package/lib/commonjs/anchors/fiber/fiberInternals.js +145 -3
  25. package/lib/commonjs/anchors/fiber/fiberInternals.js.map +1 -1
  26. package/lib/commonjs/anchors/fiber/indexHostFibers.js +129 -0
  27. package/lib/commonjs/anchors/fiber/indexHostFibers.js.map +1 -0
  28. package/lib/commonjs/anchors/fiber/readHostContent.js +131 -0
  29. package/lib/commonjs/anchors/fiber/readHostContent.js.map +1 -0
  30. package/lib/commonjs/anchors/fiberAnchorCache.js +50 -0
  31. package/lib/commonjs/anchors/fiberAnchorCache.js.map +1 -0
  32. package/lib/commonjs/anchors/resolveAnchorHost.js +15 -21
  33. package/lib/commonjs/anchors/resolveAnchorHost.js.map +1 -1
  34. package/lib/commonjs/anchors/resolveAutoAnchorHost.js +171 -0
  35. package/lib/commonjs/anchors/resolveAutoAnchorHost.js.map +1 -0
  36. package/lib/commonjs/anchors/semanticMatcher.js +285 -0
  37. package/lib/commonjs/anchors/semanticMatcher.js.map +1 -0
  38. package/lib/commonjs/authoring/ElementPickerOverlay.js +490 -0
  39. package/lib/commonjs/authoring/ElementPickerOverlay.js.map +1 -0
  40. package/lib/commonjs/authoring/capturePickerScreenshot.js +73 -0
  41. package/lib/commonjs/authoring/capturePickerScreenshot.js.map +1 -0
  42. package/lib/commonjs/authoring/chrome/ChromeBarTransition.js +94 -0
  43. package/lib/commonjs/authoring/chrome/ChromeBarTransition.js.map +1 -0
  44. package/lib/commonjs/authoring/chrome/ChromeBottomSheet.js +64 -0
  45. package/lib/commonjs/authoring/chrome/ChromeBottomSheet.js.map +1 -0
  46. package/lib/commonjs/authoring/chrome/ChromeButton.js +94 -0
  47. package/lib/commonjs/authoring/chrome/ChromeButton.js.map +1 -0
  48. package/lib/commonjs/authoring/chrome/ChromeDialog.js +131 -0
  49. package/lib/commonjs/authoring/chrome/ChromeDialog.js.map +1 -0
  50. package/lib/commonjs/authoring/chrome/ChromeIcon.js +39 -0
  51. package/lib/commonjs/authoring/chrome/ChromeIcon.js.map +1 -0
  52. package/lib/commonjs/authoring/chrome/ChromeTooltip.js +88 -0
  53. package/lib/commonjs/authoring/chrome/ChromeTooltip.js.map +1 -0
  54. package/lib/commonjs/authoring/chrome/ChromeTopBar.js +110 -0
  55. package/lib/commonjs/authoring/chrome/ChromeTopBar.js.map +1 -0
  56. package/lib/commonjs/authoring/chrome/DoubleTapBridge.js +57 -0
  57. package/lib/commonjs/authoring/chrome/DoubleTapBridge.js.map +1 -0
  58. package/lib/commonjs/authoring/chrome/doubleTapMonitor.js +80 -0
  59. package/lib/commonjs/authoring/chrome/doubleTapMonitor.js.map +1 -0
  60. package/lib/commonjs/authoring/chrome/icons/arrow-left-from-bracket.png +0 -0
  61. package/lib/commonjs/authoring/chrome/icons/arrow-left-from-bracket@2x.png +0 -0
  62. package/lib/commonjs/authoring/chrome/icons/arrow-left-from-bracket@3x.png +0 -0
  63. package/lib/commonjs/authoring/chrome/icons/arrow-rotate-left.png +0 -0
  64. package/lib/commonjs/authoring/chrome/icons/arrow-rotate-left@2x.png +0 -0
  65. package/lib/commonjs/authoring/chrome/icons/arrow-rotate-left@3x.png +0 -0
  66. package/lib/commonjs/authoring/chrome/icons/userflow-logomark.png +0 -0
  67. package/lib/commonjs/authoring/chrome/icons/userflow-logomark@2x.png +0 -0
  68. package/lib/commonjs/authoring/chrome/icons/userflow-logomark@3x.png +0 -0
  69. package/lib/commonjs/authoring/chrome/icons/xmark.png +0 -0
  70. package/lib/commonjs/authoring/chrome/icons/xmark@2x.png +0 -0
  71. package/lib/commonjs/authoring/chrome/icons/xmark@3x.png +0 -0
  72. package/lib/commonjs/authoring/chrome/tokens.js +150 -0
  73. package/lib/commonjs/authoring/chrome/tokens.js.map +1 -0
  74. package/lib/commonjs/authoring/doubleTap.js +23 -0
  75. package/lib/commonjs/authoring/doubleTap.js.map +1 -0
  76. package/lib/commonjs/authoring/elementPickerController.js +102 -0
  77. package/lib/commonjs/authoring/elementPickerController.js.map +1 -0
  78. package/lib/commonjs/authoring/fingerprintFromInstance.js +195 -0
  79. package/lib/commonjs/authoring/fingerprintFromInstance.js.map +1 -0
  80. package/lib/commonjs/authoring/hitTest.js +106 -0
  81. package/lib/commonjs/authoring/hitTest.js.map +1 -0
  82. package/lib/commonjs/content/RichContentRenderer.js +12 -2
  83. package/lib/commonjs/content/RichContentRenderer.js.map +1 -1
  84. package/lib/commonjs/content/StepButton.js +19 -4
  85. package/lib/commonjs/content/StepButton.js.map +1 -1
  86. package/lib/commonjs/content/resolveStepButtonChrome.js +8 -6
  87. package/lib/commonjs/content/resolveStepButtonChrome.js.map +1 -1
  88. package/lib/commonjs/content/themeColor.js +11 -0
  89. package/lib/commonjs/content/themeColor.js.map +1 -1
  90. package/lib/commonjs/deviceContext.js +158 -0
  91. package/lib/commonjs/deviceContext.js.map +1 -0
  92. package/lib/commonjs/expo-router/useUserflowExpoRouter.js +40 -4
  93. package/lib/commonjs/expo-router/useUserflowExpoRouter.js.map +1 -1
  94. package/lib/commonjs/hostAppVersion.js +242 -0
  95. package/lib/commonjs/hostAppVersion.js.map +1 -0
  96. package/lib/commonjs/index.js +118 -5
  97. package/lib/commonjs/index.js.map +1 -1
  98. package/lib/commonjs/lifecycle.js +2 -0
  99. package/lib/commonjs/lifecycle.js.map +1 -1
  100. package/lib/commonjs/navigation/WithUserflowReactNavigation.js +17 -8
  101. package/lib/commonjs/navigation/WithUserflowReactNavigation.js.map +1 -1
  102. package/lib/commonjs/navigation/isOverlayPresentation.js +64 -0
  103. package/lib/commonjs/navigation/isOverlayPresentation.js.map +1 -0
  104. package/lib/commonjs/pairing/PairingController.js +29 -2
  105. package/lib/commonjs/pairing/PairingController.js.map +1 -1
  106. package/lib/commonjs/pairing/PreviewModeBanner.js +211 -84
  107. package/lib/commonjs/pairing/PreviewModeBanner.js.map +1 -1
  108. package/lib/commonjs/pairing/diagnostics.js +9 -0
  109. package/lib/commonjs/pairing/diagnostics.js.map +1 -1
  110. package/lib/commonjs/pairing/elementPickerRelay.js +91 -0
  111. package/lib/commonjs/pairing/elementPickerRelay.js.map +1 -0
  112. package/lib/commonjs/pairing/resolvePreviewChrome.js +52 -0
  113. package/lib/commonjs/pairing/resolvePreviewChrome.js.map +1 -0
  114. package/lib/commonjs/pairing/tokenStorage.js +25 -2
  115. package/lib/commonjs/pairing/tokenStorage.js.map +1 -1
  116. package/lib/commonjs/pairing/usePairingState.js +3 -1
  117. package/lib/commonjs/pairing/usePairingState.js.map +1 -1
  118. package/lib/commonjs/runtime/FlowRenderer.js +45 -21
  119. package/lib/commonjs/runtime/FlowRenderer.js.map +1 -1
  120. package/lib/commonjs/runtime/FlowSurfaceFade.js +47 -24
  121. package/lib/commonjs/runtime/FlowSurfaceFade.js.map +1 -1
  122. package/lib/commonjs/runtime/TargetPressBridge.js +13 -44
  123. package/lib/commonjs/runtime/TargetPressBridge.js.map +1 -1
  124. package/lib/commonjs/runtime/UserflowProvider.js +74 -20
  125. package/lib/commonjs/runtime/UserflowProvider.js.map +1 -1
  126. package/lib/commonjs/runtime/changedTouchPoints.js +48 -0
  127. package/lib/commonjs/runtime/changedTouchPoints.js.map +1 -0
  128. package/lib/commonjs/runtime/flowEngine.js +3 -1
  129. package/lib/commonjs/runtime/flowEngine.js.map +1 -1
  130. package/lib/commonjs/runtime/flowSessionViewState.js +32 -7
  131. package/lib/commonjs/runtime/flowSessionViewState.js.map +1 -1
  132. package/lib/commonjs/runtime/useFlowSessionState.js +2 -1
  133. package/lib/commonjs/runtime/useFlowSessionState.js.map +1 -1
  134. package/lib/commonjs/screenTracker.js +46 -4
  135. package/lib/commonjs/screenTracker.js.map +1 -1
  136. package/lib/commonjs/surfaces/CardFade.js +31 -0
  137. package/lib/commonjs/surfaces/CardFade.js.map +1 -0
  138. package/lib/commonjs/surfaces/CloseButton.js +11 -6
  139. package/lib/commonjs/surfaces/CloseButton.js.map +1 -1
  140. package/lib/commonjs/surfaces/ModalSurface.js +50 -34
  141. package/lib/commonjs/surfaces/ModalSurface.js.map +1 -1
  142. package/lib/commonjs/surfaces/TooltipSurface.js +366 -87
  143. package/lib/commonjs/surfaces/TooltipSurface.js.map +1 -1
  144. package/lib/commonjs/surfaces/cardTransition.js +70 -0
  145. package/lib/commonjs/surfaces/cardTransition.js.map +1 -0
  146. package/lib/commonjs/surfaces/resolveHighlightChrome.js +109 -0
  147. package/lib/commonjs/surfaces/resolveHighlightChrome.js.map +1 -0
  148. package/lib/commonjs/surfaces/resolveModalLayout.js +7 -3
  149. package/lib/commonjs/surfaces/resolveModalLayout.js.map +1 -1
  150. package/lib/commonjs/surfaces/resolveTooltipLayout.js +0 -4
  151. package/lib/commonjs/surfaces/resolveTooltipLayout.js.map +1 -1
  152. package/lib/commonjs/surfaces/surfaceInteractionConfig.js +33 -0
  153. package/lib/commonjs/surfaces/surfaceInteractionConfig.js.map +1 -0
  154. package/lib/commonjs/surfaces/surfaceLayoutInsets.js +128 -0
  155. package/lib/commonjs/surfaces/surfaceLayoutInsets.js.map +1 -0
  156. package/lib/commonjs/surfaces/themeChrome.js +4 -1
  157. package/lib/commonjs/surfaces/themeChrome.js.map +1 -1
  158. package/lib/commonjs/surfaces/tooltip/TooltipBubble.js +142 -21
  159. package/lib/commonjs/surfaces/tooltip/TooltipBubble.js.map +1 -1
  160. package/lib/commonjs/surfaces/tooltip/TooltipCutout.js +100 -47
  161. package/lib/commonjs/surfaces/tooltip/TooltipCutout.js.map +1 -1
  162. package/lib/commonjs/surfaces/tooltip/TooltipHighlight.js +124 -0
  163. package/lib/commonjs/surfaces/tooltip/TooltipHighlight.js.map +1 -0
  164. package/lib/commonjs/surfaces/tooltip/computeTooltipPosition.js +67 -13
  165. package/lib/commonjs/surfaces/tooltip/computeTooltipPosition.js.map +1 -1
  166. package/lib/commonjs/surfaces/tooltip/inferTooltipPlacement.js +88 -19
  167. package/lib/commonjs/surfaces/tooltip/inferTooltipPlacement.js.map +1 -1
  168. package/lib/commonjs/surfaces/tooltip/placementDiagnostics.js +52 -0
  169. package/lib/commonjs/surfaces/tooltip/placementDiagnostics.js.map +1 -0
  170. package/lib/commonjs/surfaces/tooltip/rect.js +12 -0
  171. package/lib/commonjs/surfaces/tooltip/rect.js.map +1 -1
  172. package/lib/commonjs/surfaces/tooltip/resolveSideCardWidth.js +103 -0
  173. package/lib/commonjs/surfaces/tooltip/resolveSideCardWidth.js.map +1 -0
  174. package/lib/commonjs/version.js +1 -1
  175. package/lib/module/anchors/AutoAnchorRegistry.js +125 -2
  176. package/lib/module/anchors/AutoAnchorRegistry.js.map +1 -1
  177. package/lib/module/anchors/anchorChangeTicker.js +10 -0
  178. package/lib/module/anchors/anchorChangeTicker.js.map +1 -1
  179. package/lib/module/anchors/elementConditionEvaluator.js +25 -12
  180. package/lib/module/anchors/elementConditionEvaluator.js.map +1 -1
  181. package/lib/module/anchors/fiber/FiberScanRoot.js +2 -43
  182. package/lib/module/anchors/fiber/FiberScanRoot.js.map +1 -1
  183. package/lib/module/anchors/fiber/FiberScanRootStore.js +46 -0
  184. package/lib/module/anchors/fiber/FiberScanRootStore.js.map +1 -0
  185. package/lib/module/anchors/fiber/fiberInternals.js +139 -3
  186. package/lib/module/anchors/fiber/fiberInternals.js.map +1 -1
  187. package/lib/module/anchors/fiber/indexHostFibers.js +122 -0
  188. package/lib/module/anchors/fiber/indexHostFibers.js.map +1 -0
  189. package/lib/module/anchors/fiber/readHostContent.js +127 -0
  190. package/lib/module/anchors/fiber/readHostContent.js.map +1 -0
  191. package/lib/module/anchors/fiberAnchorCache.js +40 -0
  192. package/lib/module/anchors/fiberAnchorCache.js.map +1 -0
  193. package/lib/module/anchors/resolveAnchorHost.js +15 -21
  194. package/lib/module/anchors/resolveAnchorHost.js.map +1 -1
  195. package/lib/module/anchors/resolveAutoAnchorHost.js +167 -0
  196. package/lib/module/anchors/resolveAutoAnchorHost.js.map +1 -0
  197. package/lib/module/anchors/semanticMatcher.js +280 -0
  198. package/lib/module/anchors/semanticMatcher.js.map +1 -0
  199. package/lib/module/authoring/ElementPickerOverlay.js +485 -0
  200. package/lib/module/authoring/ElementPickerOverlay.js.map +1 -0
  201. package/lib/module/authoring/capturePickerScreenshot.js +68 -0
  202. package/lib/module/authoring/capturePickerScreenshot.js.map +1 -0
  203. package/lib/module/authoring/chrome/ChromeBarTransition.js +88 -0
  204. package/lib/module/authoring/chrome/ChromeBarTransition.js.map +1 -0
  205. package/lib/module/authoring/chrome/ChromeBottomSheet.js +59 -0
  206. package/lib/module/authoring/chrome/ChromeBottomSheet.js.map +1 -0
  207. package/lib/module/authoring/chrome/ChromeButton.js +89 -0
  208. package/lib/module/authoring/chrome/ChromeButton.js.map +1 -0
  209. package/lib/module/authoring/chrome/ChromeDialog.js +126 -0
  210. package/lib/module/authoring/chrome/ChromeDialog.js.map +1 -0
  211. package/lib/module/authoring/chrome/ChromeIcon.js +33 -0
  212. package/lib/module/authoring/chrome/ChromeIcon.js.map +1 -0
  213. package/lib/module/authoring/chrome/ChromeTooltip.js +82 -0
  214. package/lib/module/authoring/chrome/ChromeTooltip.js.map +1 -0
  215. package/lib/module/authoring/chrome/ChromeTopBar.js +104 -0
  216. package/lib/module/authoring/chrome/ChromeTopBar.js.map +1 -0
  217. package/lib/module/authoring/chrome/DoubleTapBridge.js +52 -0
  218. package/lib/module/authoring/chrome/DoubleTapBridge.js.map +1 -0
  219. package/lib/module/authoring/chrome/doubleTapMonitor.js +75 -0
  220. package/lib/module/authoring/chrome/doubleTapMonitor.js.map +1 -0
  221. package/lib/module/authoring/chrome/icons/arrow-left-from-bracket.png +0 -0
  222. package/lib/module/authoring/chrome/icons/arrow-left-from-bracket@2x.png +0 -0
  223. package/lib/module/authoring/chrome/icons/arrow-left-from-bracket@3x.png +0 -0
  224. package/lib/module/authoring/chrome/icons/arrow-rotate-left.png +0 -0
  225. package/lib/module/authoring/chrome/icons/arrow-rotate-left@2x.png +0 -0
  226. package/lib/module/authoring/chrome/icons/arrow-rotate-left@3x.png +0 -0
  227. package/lib/module/authoring/chrome/icons/userflow-logomark.png +0 -0
  228. package/lib/module/authoring/chrome/icons/userflow-logomark@2x.png +0 -0
  229. package/lib/module/authoring/chrome/icons/userflow-logomark@3x.png +0 -0
  230. package/lib/module/authoring/chrome/icons/xmark.png +0 -0
  231. package/lib/module/authoring/chrome/icons/xmark@2x.png +0 -0
  232. package/lib/module/authoring/chrome/icons/xmark@3x.png +0 -0
  233. package/lib/module/authoring/chrome/tokens.js +146 -0
  234. package/lib/module/authoring/chrome/tokens.js.map +1 -0
  235. package/lib/module/authoring/doubleTap.js +18 -0
  236. package/lib/module/authoring/doubleTap.js.map +1 -0
  237. package/lib/module/authoring/elementPickerController.js +97 -0
  238. package/lib/module/authoring/elementPickerController.js.map +1 -0
  239. package/lib/module/authoring/fingerprintFromInstance.js +187 -0
  240. package/lib/module/authoring/fingerprintFromInstance.js.map +1 -0
  241. package/lib/module/authoring/hitTest.js +100 -0
  242. package/lib/module/authoring/hitTest.js.map +1 -0
  243. package/lib/module/content/RichContentRenderer.js +12 -2
  244. package/lib/module/content/RichContentRenderer.js.map +1 -1
  245. package/lib/module/content/StepButton.js +19 -4
  246. package/lib/module/content/StepButton.js.map +1 -1
  247. package/lib/module/content/resolveStepButtonChrome.js +8 -6
  248. package/lib/module/content/resolveStepButtonChrome.js.map +1 -1
  249. package/lib/module/content/themeColor.js +10 -0
  250. package/lib/module/content/themeColor.js.map +1 -1
  251. package/lib/module/deviceContext.js +142 -0
  252. package/lib/module/deviceContext.js.map +1 -0
  253. package/lib/module/expo-router/useUserflowExpoRouter.js +42 -6
  254. package/lib/module/expo-router/useUserflowExpoRouter.js.map +1 -1
  255. package/lib/module/hostAppVersion.js +225 -0
  256. package/lib/module/hostAppVersion.js.map +1 -0
  257. package/lib/module/index.js +119 -6
  258. package/lib/module/index.js.map +1 -1
  259. package/lib/module/lifecycle.js +2 -0
  260. package/lib/module/lifecycle.js.map +1 -1
  261. package/lib/module/navigation/WithUserflowReactNavigation.js +18 -9
  262. package/lib/module/navigation/WithUserflowReactNavigation.js.map +1 -1
  263. package/lib/module/navigation/isOverlayPresentation.js +58 -0
  264. package/lib/module/navigation/isOverlayPresentation.js.map +1 -0
  265. package/lib/module/pairing/PairingController.js +30 -3
  266. package/lib/module/pairing/PairingController.js.map +1 -1
  267. package/lib/module/pairing/PreviewModeBanner.js +212 -85
  268. package/lib/module/pairing/PreviewModeBanner.js.map +1 -1
  269. package/lib/module/pairing/diagnostics.js +8 -0
  270. package/lib/module/pairing/diagnostics.js.map +1 -1
  271. package/lib/module/pairing/elementPickerRelay.js +87 -0
  272. package/lib/module/pairing/elementPickerRelay.js.map +1 -0
  273. package/lib/module/pairing/resolvePreviewChrome.js +48 -0
  274. package/lib/module/pairing/resolvePreviewChrome.js.map +1 -0
  275. package/lib/module/pairing/tokenStorage.js +24 -2
  276. package/lib/module/pairing/tokenStorage.js.map +1 -1
  277. package/lib/module/pairing/usePairingState.js +3 -1
  278. package/lib/module/pairing/usePairingState.js.map +1 -1
  279. package/lib/module/runtime/FlowRenderer.js +45 -21
  280. package/lib/module/runtime/FlowRenderer.js.map +1 -1
  281. package/lib/module/runtime/FlowSurfaceFade.js +49 -26
  282. package/lib/module/runtime/FlowSurfaceFade.js.map +1 -1
  283. package/lib/module/runtime/TargetPressBridge.js +12 -43
  284. package/lib/module/runtime/TargetPressBridge.js.map +1 -1
  285. package/lib/module/runtime/UserflowProvider.js +74 -20
  286. package/lib/module/runtime/UserflowProvider.js.map +1 -1
  287. package/lib/module/runtime/changedTouchPoints.js +43 -0
  288. package/lib/module/runtime/changedTouchPoints.js.map +1 -0
  289. package/lib/module/runtime/flowEngine.js +3 -1
  290. package/lib/module/runtime/flowEngine.js.map +1 -1
  291. package/lib/module/runtime/flowSessionViewState.js +32 -7
  292. package/lib/module/runtime/flowSessionViewState.js.map +1 -1
  293. package/lib/module/runtime/useFlowSessionState.js +2 -1
  294. package/lib/module/runtime/useFlowSessionState.js.map +1 -1
  295. package/lib/module/screenTracker.js +42 -4
  296. package/lib/module/screenTracker.js.map +1 -1
  297. package/lib/module/surfaces/CardFade.js +26 -0
  298. package/lib/module/surfaces/CardFade.js.map +1 -0
  299. package/lib/module/surfaces/CloseButton.js +10 -6
  300. package/lib/module/surfaces/CloseButton.js.map +1 -1
  301. package/lib/module/surfaces/ModalSurface.js +52 -36
  302. package/lib/module/surfaces/ModalSurface.js.map +1 -1
  303. package/lib/module/surfaces/TooltipSurface.js +368 -90
  304. package/lib/module/surfaces/TooltipSurface.js.map +1 -1
  305. package/lib/module/surfaces/cardTransition.js +64 -0
  306. package/lib/module/surfaces/cardTransition.js.map +1 -0
  307. package/lib/module/surfaces/resolveHighlightChrome.js +102 -0
  308. package/lib/module/surfaces/resolveHighlightChrome.js.map +1 -0
  309. package/lib/module/surfaces/resolveModalLayout.js +7 -3
  310. package/lib/module/surfaces/resolveModalLayout.js.map +1 -1
  311. package/lib/module/surfaces/resolveTooltipLayout.js +1 -4
  312. package/lib/module/surfaces/resolveTooltipLayout.js.map +1 -1
  313. package/lib/module/surfaces/surfaceInteractionConfig.js +27 -0
  314. package/lib/module/surfaces/surfaceInteractionConfig.js.map +1 -0
  315. package/lib/module/surfaces/surfaceLayoutInsets.js +119 -0
  316. package/lib/module/surfaces/surfaceLayoutInsets.js.map +1 -0
  317. package/lib/module/surfaces/themeChrome.js +3 -1
  318. package/lib/module/surfaces/themeChrome.js.map +1 -1
  319. package/lib/module/surfaces/tooltip/TooltipBubble.js +143 -22
  320. package/lib/module/surfaces/tooltip/TooltipBubble.js.map +1 -1
  321. package/lib/module/surfaces/tooltip/TooltipCutout.js +100 -47
  322. package/lib/module/surfaces/tooltip/TooltipCutout.js.map +1 -1
  323. package/lib/module/surfaces/tooltip/TooltipHighlight.js +118 -0
  324. package/lib/module/surfaces/tooltip/TooltipHighlight.js.map +1 -0
  325. package/lib/module/surfaces/tooltip/computeTooltipPosition.js +67 -13
  326. package/lib/module/surfaces/tooltip/computeTooltipPosition.js.map +1 -1
  327. package/lib/module/surfaces/tooltip/inferTooltipPlacement.js +87 -19
  328. package/lib/module/surfaces/tooltip/inferTooltipPlacement.js.map +1 -1
  329. package/lib/module/surfaces/tooltip/placementDiagnostics.js +43 -0
  330. package/lib/module/surfaces/tooltip/placementDiagnostics.js.map +1 -0
  331. package/lib/module/surfaces/tooltip/rect.js +11 -0
  332. package/lib/module/surfaces/tooltip/rect.js.map +1 -1
  333. package/lib/module/surfaces/tooltip/resolveSideCardWidth.js +96 -0
  334. package/lib/module/surfaces/tooltip/resolveSideCardWidth.js.map +1 -0
  335. package/lib/module/version.js +1 -1
  336. package/lib/typescript/commonjs/src/anchors/AutoAnchorRegistry.d.ts +26 -0
  337. package/lib/typescript/commonjs/src/anchors/AutoAnchorRegistry.d.ts.map +1 -1
  338. package/lib/typescript/commonjs/src/anchors/anchorChangeTicker.d.ts +2 -0
  339. package/lib/typescript/commonjs/src/anchors/anchorChangeTicker.d.ts.map +1 -1
  340. package/lib/typescript/commonjs/src/anchors/elementConditionEvaluator.d.ts +14 -10
  341. package/lib/typescript/commonjs/src/anchors/elementConditionEvaluator.d.ts.map +1 -1
  342. package/lib/typescript/commonjs/src/anchors/fiber/FiberScanRoot.d.ts +1 -20
  343. package/lib/typescript/commonjs/src/anchors/fiber/FiberScanRoot.d.ts.map +1 -1
  344. package/lib/typescript/commonjs/src/anchors/fiber/FiberScanRootStore.d.ts +21 -0
  345. package/lib/typescript/commonjs/src/anchors/fiber/FiberScanRootStore.d.ts.map +1 -0
  346. package/lib/typescript/commonjs/src/anchors/fiber/fiberInternals.d.ts +42 -1
  347. package/lib/typescript/commonjs/src/anchors/fiber/fiberInternals.d.ts.map +1 -1
  348. package/lib/typescript/commonjs/src/anchors/fiber/indexHostFibers.d.ts +42 -0
  349. package/lib/typescript/commonjs/src/anchors/fiber/indexHostFibers.d.ts.map +1 -0
  350. package/lib/typescript/commonjs/src/anchors/fiber/readHostContent.d.ts +17 -0
  351. package/lib/typescript/commonjs/src/anchors/fiber/readHostContent.d.ts.map +1 -0
  352. package/lib/typescript/commonjs/src/anchors/fiberAnchorCache.d.ts +20 -0
  353. package/lib/typescript/commonjs/src/anchors/fiberAnchorCache.d.ts.map +1 -0
  354. package/lib/typescript/commonjs/src/anchors/resolveAnchorHost.d.ts +5 -5
  355. package/lib/typescript/commonjs/src/anchors/resolveAnchorHost.d.ts.map +1 -1
  356. package/lib/typescript/commonjs/src/anchors/resolveAutoAnchorHost.d.ts +38 -0
  357. package/lib/typescript/commonjs/src/anchors/resolveAutoAnchorHost.d.ts.map +1 -0
  358. package/lib/typescript/commonjs/src/anchors/semanticMatcher.d.ts +48 -0
  359. package/lib/typescript/commonjs/src/anchors/semanticMatcher.d.ts.map +1 -0
  360. package/lib/typescript/commonjs/src/authoring/ElementPickerOverlay.d.ts +7 -0
  361. package/lib/typescript/commonjs/src/authoring/ElementPickerOverlay.d.ts.map +1 -0
  362. package/lib/typescript/commonjs/src/authoring/capturePickerScreenshot.d.ts +11 -0
  363. package/lib/typescript/commonjs/src/authoring/capturePickerScreenshot.d.ts.map +1 -0
  364. package/lib/typescript/commonjs/src/authoring/chrome/ChromeBarTransition.d.ts +32 -0
  365. package/lib/typescript/commonjs/src/authoring/chrome/ChromeBarTransition.d.ts.map +1 -0
  366. package/lib/typescript/commonjs/src/authoring/chrome/ChromeBottomSheet.d.ts +13 -0
  367. package/lib/typescript/commonjs/src/authoring/chrome/ChromeBottomSheet.d.ts.map +1 -0
  368. package/lib/typescript/commonjs/src/authoring/chrome/ChromeButton.d.ts +20 -0
  369. package/lib/typescript/commonjs/src/authoring/chrome/ChromeButton.d.ts.map +1 -0
  370. package/lib/typescript/commonjs/src/authoring/chrome/ChromeDialog.d.ts +14 -0
  371. package/lib/typescript/commonjs/src/authoring/chrome/ChromeDialog.d.ts.map +1 -0
  372. package/lib/typescript/commonjs/src/authoring/chrome/ChromeIcon.d.ts +13 -0
  373. package/lib/typescript/commonjs/src/authoring/chrome/ChromeIcon.d.ts.map +1 -0
  374. package/lib/typescript/commonjs/src/authoring/chrome/ChromeTooltip.d.ts +17 -0
  375. package/lib/typescript/commonjs/src/authoring/chrome/ChromeTooltip.d.ts.map +1 -0
  376. package/lib/typescript/commonjs/src/authoring/chrome/ChromeTopBar.d.ts +25 -0
  377. package/lib/typescript/commonjs/src/authoring/chrome/ChromeTopBar.d.ts.map +1 -0
  378. package/lib/typescript/commonjs/src/authoring/chrome/DoubleTapBridge.d.ts +12 -0
  379. package/lib/typescript/commonjs/src/authoring/chrome/DoubleTapBridge.d.ts.map +1 -0
  380. package/lib/typescript/commonjs/src/authoring/chrome/doubleTapMonitor.d.ts +26 -0
  381. package/lib/typescript/commonjs/src/authoring/chrome/doubleTapMonitor.d.ts.map +1 -0
  382. package/lib/typescript/commonjs/src/authoring/chrome/tokens.d.ts +141 -0
  383. package/lib/typescript/commonjs/src/authoring/chrome/tokens.d.ts.map +1 -0
  384. package/lib/typescript/commonjs/src/authoring/doubleTap.d.ts +14 -0
  385. package/lib/typescript/commonjs/src/authoring/doubleTap.d.ts.map +1 -0
  386. package/lib/typescript/commonjs/src/authoring/elementPickerController.d.ts +59 -0
  387. package/lib/typescript/commonjs/src/authoring/elementPickerController.d.ts.map +1 -0
  388. package/lib/typescript/commonjs/src/authoring/fingerprintFromInstance.d.ts +26 -0
  389. package/lib/typescript/commonjs/src/authoring/fingerprintFromInstance.d.ts.map +1 -0
  390. package/lib/typescript/commonjs/src/authoring/hitTest.d.ts +31 -0
  391. package/lib/typescript/commonjs/src/authoring/hitTest.d.ts.map +1 -0
  392. package/lib/typescript/commonjs/src/content/RichContentRenderer.d.ts +6 -1
  393. package/lib/typescript/commonjs/src/content/RichContentRenderer.d.ts.map +1 -1
  394. package/lib/typescript/commonjs/src/content/StepButton.d.ts.map +1 -1
  395. package/lib/typescript/commonjs/src/content/resolveStepButtonChrome.d.ts.map +1 -1
  396. package/lib/typescript/commonjs/src/content/themeColor.d.ts +5 -0
  397. package/lib/typescript/commonjs/src/content/themeColor.d.ts.map +1 -1
  398. package/lib/typescript/commonjs/src/deviceContext.d.ts +66 -0
  399. package/lib/typescript/commonjs/src/deviceContext.d.ts.map +1 -0
  400. package/lib/typescript/commonjs/src/expo-router/useUserflowExpoRouter.d.ts.map +1 -1
  401. package/lib/typescript/commonjs/src/hostAppVersion.d.ts +69 -0
  402. package/lib/typescript/commonjs/src/hostAppVersion.d.ts.map +1 -0
  403. package/lib/typescript/commonjs/src/index.d.ts +53 -2
  404. package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
  405. package/lib/typescript/commonjs/src/lifecycle.d.ts +6 -0
  406. package/lib/typescript/commonjs/src/lifecycle.d.ts.map +1 -1
  407. package/lib/typescript/commonjs/src/navigation/WithUserflowReactNavigation.d.ts.map +1 -1
  408. package/lib/typescript/commonjs/src/navigation/isOverlayPresentation.d.ts +14 -0
  409. package/lib/typescript/commonjs/src/navigation/isOverlayPresentation.d.ts.map +1 -0
  410. package/lib/typescript/commonjs/src/pairing/PairingController.d.ts +7 -0
  411. package/lib/typescript/commonjs/src/pairing/PairingController.d.ts.map +1 -1
  412. package/lib/typescript/commonjs/src/pairing/PreviewModeBanner.d.ts +6 -1
  413. package/lib/typescript/commonjs/src/pairing/PreviewModeBanner.d.ts.map +1 -1
  414. package/lib/typescript/commonjs/src/pairing/diagnostics.d.ts +5 -0
  415. package/lib/typescript/commonjs/src/pairing/diagnostics.d.ts.map +1 -1
  416. package/lib/typescript/commonjs/src/pairing/elementPickerRelay.d.ts +11 -0
  417. package/lib/typescript/commonjs/src/pairing/elementPickerRelay.d.ts.map +1 -0
  418. package/lib/typescript/commonjs/src/pairing/resolvePreviewChrome.d.ts +16 -0
  419. package/lib/typescript/commonjs/src/pairing/resolvePreviewChrome.d.ts.map +1 -0
  420. package/lib/typescript/commonjs/src/pairing/tokenStorage.d.ts +2 -0
  421. package/lib/typescript/commonjs/src/pairing/tokenStorage.d.ts.map +1 -1
  422. package/lib/typescript/commonjs/src/pairing/usePairingState.d.ts.map +1 -1
  423. package/lib/typescript/commonjs/src/runtime/FlowRenderer.d.ts +6 -3
  424. package/lib/typescript/commonjs/src/runtime/FlowRenderer.d.ts.map +1 -1
  425. package/lib/typescript/commonjs/src/runtime/FlowSurfaceFade.d.ts +20 -7
  426. package/lib/typescript/commonjs/src/runtime/FlowSurfaceFade.d.ts.map +1 -1
  427. package/lib/typescript/commonjs/src/runtime/TargetPressBridge.d.ts +5 -1
  428. package/lib/typescript/commonjs/src/runtime/TargetPressBridge.d.ts.map +1 -1
  429. package/lib/typescript/commonjs/src/runtime/UserflowProvider.d.ts +6 -4
  430. package/lib/typescript/commonjs/src/runtime/UserflowProvider.d.ts.map +1 -1
  431. package/lib/typescript/commonjs/src/runtime/changedTouchPoints.d.ts +10 -0
  432. package/lib/typescript/commonjs/src/runtime/changedTouchPoints.d.ts.map +1 -0
  433. package/lib/typescript/commonjs/src/runtime/flowEngine.d.ts.map +1 -1
  434. package/lib/typescript/commonjs/src/runtime/flowSessionViewState.d.ts +12 -3
  435. package/lib/typescript/commonjs/src/runtime/flowSessionViewState.d.ts.map +1 -1
  436. package/lib/typescript/commonjs/src/runtime/useFlowSessionState.d.ts +1 -0
  437. package/lib/typescript/commonjs/src/runtime/useFlowSessionState.d.ts.map +1 -1
  438. package/lib/typescript/commonjs/src/screenTracker.d.ts +21 -3
  439. package/lib/typescript/commonjs/src/screenTracker.d.ts.map +1 -1
  440. package/lib/typescript/commonjs/src/surfaces/CardFade.d.ts +12 -0
  441. package/lib/typescript/commonjs/src/surfaces/CardFade.d.ts.map +1 -0
  442. package/lib/typescript/commonjs/src/surfaces/CloseButton.d.ts +8 -2
  443. package/lib/typescript/commonjs/src/surfaces/CloseButton.d.ts.map +1 -1
  444. package/lib/typescript/commonjs/src/surfaces/MadeWithUserflow.d.ts +1 -1
  445. package/lib/typescript/commonjs/src/surfaces/ModalSurface.d.ts +1 -1
  446. package/lib/typescript/commonjs/src/surfaces/ModalSurface.d.ts.map +1 -1
  447. package/lib/typescript/commonjs/src/surfaces/TooltipSurface.d.ts +12 -1
  448. package/lib/typescript/commonjs/src/surfaces/TooltipSurface.d.ts.map +1 -1
  449. package/lib/typescript/commonjs/src/surfaces/cardTransition.d.ts +31 -0
  450. package/lib/typescript/commonjs/src/surfaces/cardTransition.d.ts.map +1 -0
  451. package/lib/typescript/commonjs/src/surfaces/resolveHighlightChrome.d.ts +44 -0
  452. package/lib/typescript/commonjs/src/surfaces/resolveHighlightChrome.d.ts.map +1 -0
  453. package/lib/typescript/commonjs/src/surfaces/resolveModalLayout.d.ts +1 -1
  454. package/lib/typescript/commonjs/src/surfaces/resolveModalLayout.d.ts.map +1 -1
  455. package/lib/typescript/commonjs/src/surfaces/resolveTooltipLayout.d.ts +0 -7
  456. package/lib/typescript/commonjs/src/surfaces/resolveTooltipLayout.d.ts.map +1 -1
  457. package/lib/typescript/commonjs/src/surfaces/surfaceInteractionConfig.d.ts +15 -0
  458. package/lib/typescript/commonjs/src/surfaces/surfaceInteractionConfig.d.ts.map +1 -0
  459. package/lib/typescript/commonjs/src/surfaces/surfaceLayoutInsets.d.ts +38 -0
  460. package/lib/typescript/commonjs/src/surfaces/surfaceLayoutInsets.d.ts.map +1 -0
  461. package/lib/typescript/commonjs/src/surfaces/themeChrome.d.ts +3 -1
  462. package/lib/typescript/commonjs/src/surfaces/themeChrome.d.ts.map +1 -1
  463. package/lib/typescript/commonjs/src/surfaces/tooltip/TooltipBubble.d.ts +21 -6
  464. package/lib/typescript/commonjs/src/surfaces/tooltip/TooltipBubble.d.ts.map +1 -1
  465. package/lib/typescript/commonjs/src/surfaces/tooltip/TooltipCutout.d.ts +18 -10
  466. package/lib/typescript/commonjs/src/surfaces/tooltip/TooltipCutout.d.ts.map +1 -1
  467. package/lib/typescript/commonjs/src/surfaces/tooltip/TooltipHighlight.d.ts +25 -0
  468. package/lib/typescript/commonjs/src/surfaces/tooltip/TooltipHighlight.d.ts.map +1 -0
  469. package/lib/typescript/commonjs/src/surfaces/tooltip/computeTooltipPosition.d.ts +23 -0
  470. package/lib/typescript/commonjs/src/surfaces/tooltip/computeTooltipPosition.d.ts.map +1 -1
  471. package/lib/typescript/commonjs/src/surfaces/tooltip/inferTooltipPlacement.d.ts +47 -1
  472. package/lib/typescript/commonjs/src/surfaces/tooltip/inferTooltipPlacement.d.ts.map +1 -1
  473. package/lib/typescript/commonjs/src/surfaces/tooltip/placementDiagnostics.d.ts +39 -0
  474. package/lib/typescript/commonjs/src/surfaces/tooltip/placementDiagnostics.d.ts.map +1 -0
  475. package/lib/typescript/commonjs/src/surfaces/tooltip/rect.d.ts +2 -0
  476. package/lib/typescript/commonjs/src/surfaces/tooltip/rect.d.ts.map +1 -1
  477. package/lib/typescript/commonjs/src/surfaces/tooltip/resolveSideCardWidth.d.ts +76 -0
  478. package/lib/typescript/commonjs/src/surfaces/tooltip/resolveSideCardWidth.d.ts.map +1 -0
  479. package/lib/typescript/commonjs/src/version.d.ts +1 -1
  480. package/lib/typescript/module/src/anchors/AutoAnchorRegistry.d.ts +26 -0
  481. package/lib/typescript/module/src/anchors/AutoAnchorRegistry.d.ts.map +1 -1
  482. package/lib/typescript/module/src/anchors/anchorChangeTicker.d.ts +2 -0
  483. package/lib/typescript/module/src/anchors/anchorChangeTicker.d.ts.map +1 -1
  484. package/lib/typescript/module/src/anchors/elementConditionEvaluator.d.ts +14 -10
  485. package/lib/typescript/module/src/anchors/elementConditionEvaluator.d.ts.map +1 -1
  486. package/lib/typescript/module/src/anchors/fiber/FiberScanRoot.d.ts +1 -20
  487. package/lib/typescript/module/src/anchors/fiber/FiberScanRoot.d.ts.map +1 -1
  488. package/lib/typescript/module/src/anchors/fiber/FiberScanRootStore.d.ts +21 -0
  489. package/lib/typescript/module/src/anchors/fiber/FiberScanRootStore.d.ts.map +1 -0
  490. package/lib/typescript/module/src/anchors/fiber/fiberInternals.d.ts +42 -1
  491. package/lib/typescript/module/src/anchors/fiber/fiberInternals.d.ts.map +1 -1
  492. package/lib/typescript/module/src/anchors/fiber/indexHostFibers.d.ts +42 -0
  493. package/lib/typescript/module/src/anchors/fiber/indexHostFibers.d.ts.map +1 -0
  494. package/lib/typescript/module/src/anchors/fiber/readHostContent.d.ts +17 -0
  495. package/lib/typescript/module/src/anchors/fiber/readHostContent.d.ts.map +1 -0
  496. package/lib/typescript/module/src/anchors/fiberAnchorCache.d.ts +20 -0
  497. package/lib/typescript/module/src/anchors/fiberAnchorCache.d.ts.map +1 -0
  498. package/lib/typescript/module/src/anchors/resolveAnchorHost.d.ts +5 -5
  499. package/lib/typescript/module/src/anchors/resolveAnchorHost.d.ts.map +1 -1
  500. package/lib/typescript/module/src/anchors/resolveAutoAnchorHost.d.ts +38 -0
  501. package/lib/typescript/module/src/anchors/resolveAutoAnchorHost.d.ts.map +1 -0
  502. package/lib/typescript/module/src/anchors/semanticMatcher.d.ts +48 -0
  503. package/lib/typescript/module/src/anchors/semanticMatcher.d.ts.map +1 -0
  504. package/lib/typescript/module/src/authoring/ElementPickerOverlay.d.ts +7 -0
  505. package/lib/typescript/module/src/authoring/ElementPickerOverlay.d.ts.map +1 -0
  506. package/lib/typescript/module/src/authoring/capturePickerScreenshot.d.ts +11 -0
  507. package/lib/typescript/module/src/authoring/capturePickerScreenshot.d.ts.map +1 -0
  508. package/lib/typescript/module/src/authoring/chrome/ChromeBarTransition.d.ts +32 -0
  509. package/lib/typescript/module/src/authoring/chrome/ChromeBarTransition.d.ts.map +1 -0
  510. package/lib/typescript/module/src/authoring/chrome/ChromeBottomSheet.d.ts +13 -0
  511. package/lib/typescript/module/src/authoring/chrome/ChromeBottomSheet.d.ts.map +1 -0
  512. package/lib/typescript/module/src/authoring/chrome/ChromeButton.d.ts +20 -0
  513. package/lib/typescript/module/src/authoring/chrome/ChromeButton.d.ts.map +1 -0
  514. package/lib/typescript/module/src/authoring/chrome/ChromeDialog.d.ts +14 -0
  515. package/lib/typescript/module/src/authoring/chrome/ChromeDialog.d.ts.map +1 -0
  516. package/lib/typescript/module/src/authoring/chrome/ChromeIcon.d.ts +13 -0
  517. package/lib/typescript/module/src/authoring/chrome/ChromeIcon.d.ts.map +1 -0
  518. package/lib/typescript/module/src/authoring/chrome/ChromeTooltip.d.ts +17 -0
  519. package/lib/typescript/module/src/authoring/chrome/ChromeTooltip.d.ts.map +1 -0
  520. package/lib/typescript/module/src/authoring/chrome/ChromeTopBar.d.ts +25 -0
  521. package/lib/typescript/module/src/authoring/chrome/ChromeTopBar.d.ts.map +1 -0
  522. package/lib/typescript/module/src/authoring/chrome/DoubleTapBridge.d.ts +12 -0
  523. package/lib/typescript/module/src/authoring/chrome/DoubleTapBridge.d.ts.map +1 -0
  524. package/lib/typescript/module/src/authoring/chrome/doubleTapMonitor.d.ts +26 -0
  525. package/lib/typescript/module/src/authoring/chrome/doubleTapMonitor.d.ts.map +1 -0
  526. package/lib/typescript/module/src/authoring/chrome/tokens.d.ts +141 -0
  527. package/lib/typescript/module/src/authoring/chrome/tokens.d.ts.map +1 -0
  528. package/lib/typescript/module/src/authoring/doubleTap.d.ts +14 -0
  529. package/lib/typescript/module/src/authoring/doubleTap.d.ts.map +1 -0
  530. package/lib/typescript/module/src/authoring/elementPickerController.d.ts +59 -0
  531. package/lib/typescript/module/src/authoring/elementPickerController.d.ts.map +1 -0
  532. package/lib/typescript/module/src/authoring/fingerprintFromInstance.d.ts +26 -0
  533. package/lib/typescript/module/src/authoring/fingerprintFromInstance.d.ts.map +1 -0
  534. package/lib/typescript/module/src/authoring/hitTest.d.ts +31 -0
  535. package/lib/typescript/module/src/authoring/hitTest.d.ts.map +1 -0
  536. package/lib/typescript/module/src/content/RichContentRenderer.d.ts +6 -1
  537. package/lib/typescript/module/src/content/RichContentRenderer.d.ts.map +1 -1
  538. package/lib/typescript/module/src/content/StepButton.d.ts.map +1 -1
  539. package/lib/typescript/module/src/content/resolveStepButtonChrome.d.ts.map +1 -1
  540. package/lib/typescript/module/src/content/themeColor.d.ts +5 -0
  541. package/lib/typescript/module/src/content/themeColor.d.ts.map +1 -1
  542. package/lib/typescript/module/src/deviceContext.d.ts +66 -0
  543. package/lib/typescript/module/src/deviceContext.d.ts.map +1 -0
  544. package/lib/typescript/module/src/expo-router/useUserflowExpoRouter.d.ts.map +1 -1
  545. package/lib/typescript/module/src/hostAppVersion.d.ts +69 -0
  546. package/lib/typescript/module/src/hostAppVersion.d.ts.map +1 -0
  547. package/lib/typescript/module/src/index.d.ts +53 -2
  548. package/lib/typescript/module/src/index.d.ts.map +1 -1
  549. package/lib/typescript/module/src/lifecycle.d.ts +6 -0
  550. package/lib/typescript/module/src/lifecycle.d.ts.map +1 -1
  551. package/lib/typescript/module/src/navigation/WithUserflowReactNavigation.d.ts.map +1 -1
  552. package/lib/typescript/module/src/navigation/isOverlayPresentation.d.ts +14 -0
  553. package/lib/typescript/module/src/navigation/isOverlayPresentation.d.ts.map +1 -0
  554. package/lib/typescript/module/src/pairing/PairingController.d.ts +7 -0
  555. package/lib/typescript/module/src/pairing/PairingController.d.ts.map +1 -1
  556. package/lib/typescript/module/src/pairing/PreviewModeBanner.d.ts +6 -1
  557. package/lib/typescript/module/src/pairing/PreviewModeBanner.d.ts.map +1 -1
  558. package/lib/typescript/module/src/pairing/diagnostics.d.ts +5 -0
  559. package/lib/typescript/module/src/pairing/diagnostics.d.ts.map +1 -1
  560. package/lib/typescript/module/src/pairing/elementPickerRelay.d.ts +11 -0
  561. package/lib/typescript/module/src/pairing/elementPickerRelay.d.ts.map +1 -0
  562. package/lib/typescript/module/src/pairing/resolvePreviewChrome.d.ts +16 -0
  563. package/lib/typescript/module/src/pairing/resolvePreviewChrome.d.ts.map +1 -0
  564. package/lib/typescript/module/src/pairing/tokenStorage.d.ts +2 -0
  565. package/lib/typescript/module/src/pairing/tokenStorage.d.ts.map +1 -1
  566. package/lib/typescript/module/src/pairing/usePairingState.d.ts.map +1 -1
  567. package/lib/typescript/module/src/runtime/FlowRenderer.d.ts +6 -3
  568. package/lib/typescript/module/src/runtime/FlowRenderer.d.ts.map +1 -1
  569. package/lib/typescript/module/src/runtime/FlowSurfaceFade.d.ts +20 -7
  570. package/lib/typescript/module/src/runtime/FlowSurfaceFade.d.ts.map +1 -1
  571. package/lib/typescript/module/src/runtime/TargetPressBridge.d.ts +5 -1
  572. package/lib/typescript/module/src/runtime/TargetPressBridge.d.ts.map +1 -1
  573. package/lib/typescript/module/src/runtime/UserflowProvider.d.ts +6 -4
  574. package/lib/typescript/module/src/runtime/UserflowProvider.d.ts.map +1 -1
  575. package/lib/typescript/module/src/runtime/changedTouchPoints.d.ts +10 -0
  576. package/lib/typescript/module/src/runtime/changedTouchPoints.d.ts.map +1 -0
  577. package/lib/typescript/module/src/runtime/flowEngine.d.ts.map +1 -1
  578. package/lib/typescript/module/src/runtime/flowSessionViewState.d.ts +12 -3
  579. package/lib/typescript/module/src/runtime/flowSessionViewState.d.ts.map +1 -1
  580. package/lib/typescript/module/src/runtime/useFlowSessionState.d.ts +1 -0
  581. package/lib/typescript/module/src/runtime/useFlowSessionState.d.ts.map +1 -1
  582. package/lib/typescript/module/src/screenTracker.d.ts +21 -3
  583. package/lib/typescript/module/src/screenTracker.d.ts.map +1 -1
  584. package/lib/typescript/module/src/surfaces/CardFade.d.ts +12 -0
  585. package/lib/typescript/module/src/surfaces/CardFade.d.ts.map +1 -0
  586. package/lib/typescript/module/src/surfaces/CloseButton.d.ts +8 -2
  587. package/lib/typescript/module/src/surfaces/CloseButton.d.ts.map +1 -1
  588. package/lib/typescript/module/src/surfaces/MadeWithUserflow.d.ts +1 -1
  589. package/lib/typescript/module/src/surfaces/ModalSurface.d.ts +1 -1
  590. package/lib/typescript/module/src/surfaces/ModalSurface.d.ts.map +1 -1
  591. package/lib/typescript/module/src/surfaces/TooltipSurface.d.ts +12 -1
  592. package/lib/typescript/module/src/surfaces/TooltipSurface.d.ts.map +1 -1
  593. package/lib/typescript/module/src/surfaces/cardTransition.d.ts +31 -0
  594. package/lib/typescript/module/src/surfaces/cardTransition.d.ts.map +1 -0
  595. package/lib/typescript/module/src/surfaces/resolveHighlightChrome.d.ts +44 -0
  596. package/lib/typescript/module/src/surfaces/resolveHighlightChrome.d.ts.map +1 -0
  597. package/lib/typescript/module/src/surfaces/resolveModalLayout.d.ts +1 -1
  598. package/lib/typescript/module/src/surfaces/resolveModalLayout.d.ts.map +1 -1
  599. package/lib/typescript/module/src/surfaces/resolveTooltipLayout.d.ts +0 -7
  600. package/lib/typescript/module/src/surfaces/resolveTooltipLayout.d.ts.map +1 -1
  601. package/lib/typescript/module/src/surfaces/surfaceInteractionConfig.d.ts +15 -0
  602. package/lib/typescript/module/src/surfaces/surfaceInteractionConfig.d.ts.map +1 -0
  603. package/lib/typescript/module/src/surfaces/surfaceLayoutInsets.d.ts +38 -0
  604. package/lib/typescript/module/src/surfaces/surfaceLayoutInsets.d.ts.map +1 -0
  605. package/lib/typescript/module/src/surfaces/themeChrome.d.ts +3 -1
  606. package/lib/typescript/module/src/surfaces/themeChrome.d.ts.map +1 -1
  607. package/lib/typescript/module/src/surfaces/tooltip/TooltipBubble.d.ts +21 -6
  608. package/lib/typescript/module/src/surfaces/tooltip/TooltipBubble.d.ts.map +1 -1
  609. package/lib/typescript/module/src/surfaces/tooltip/TooltipCutout.d.ts +18 -10
  610. package/lib/typescript/module/src/surfaces/tooltip/TooltipCutout.d.ts.map +1 -1
  611. package/lib/typescript/module/src/surfaces/tooltip/TooltipHighlight.d.ts +25 -0
  612. package/lib/typescript/module/src/surfaces/tooltip/TooltipHighlight.d.ts.map +1 -0
  613. package/lib/typescript/module/src/surfaces/tooltip/computeTooltipPosition.d.ts +23 -0
  614. package/lib/typescript/module/src/surfaces/tooltip/computeTooltipPosition.d.ts.map +1 -1
  615. package/lib/typescript/module/src/surfaces/tooltip/inferTooltipPlacement.d.ts +47 -1
  616. package/lib/typescript/module/src/surfaces/tooltip/inferTooltipPlacement.d.ts.map +1 -1
  617. package/lib/typescript/module/src/surfaces/tooltip/placementDiagnostics.d.ts +39 -0
  618. package/lib/typescript/module/src/surfaces/tooltip/placementDiagnostics.d.ts.map +1 -0
  619. package/lib/typescript/module/src/surfaces/tooltip/rect.d.ts +2 -0
  620. package/lib/typescript/module/src/surfaces/tooltip/rect.d.ts.map +1 -1
  621. package/lib/typescript/module/src/surfaces/tooltip/resolveSideCardWidth.d.ts +76 -0
  622. package/lib/typescript/module/src/surfaces/tooltip/resolveSideCardWidth.d.ts.map +1 -0
  623. package/lib/typescript/module/src/version.d.ts +1 -1
  624. package/package.json +22 -16
  625. package/src/anchors/AutoAnchorRegistry.ts +139 -2
  626. package/src/anchors/anchorChangeTicker.ts +10 -0
  627. package/src/anchors/elementConditionEvaluator.ts +29 -16
  628. package/src/anchors/fiber/FiberScanRoot.tsx +2 -50
  629. package/src/anchors/fiber/FiberScanRootStore.ts +51 -0
  630. package/src/anchors/fiber/fiberInternals.ts +166 -3
  631. package/src/anchors/fiber/indexHostFibers.ts +136 -0
  632. package/src/anchors/fiber/readHostContent.ts +146 -0
  633. package/src/anchors/fiberAnchorCache.ts +45 -0
  634. package/src/anchors/resolveAnchorHost.ts +23 -23
  635. package/src/anchors/resolveAutoAnchorHost.ts +180 -0
  636. package/src/anchors/semanticMatcher.ts +361 -0
  637. package/src/authoring/ElementPickerOverlay.tsx +553 -0
  638. package/src/authoring/capturePickerScreenshot.ts +90 -0
  639. package/src/authoring/chrome/ChromeBarTransition.tsx +106 -0
  640. package/src/authoring/chrome/ChromeBottomSheet.tsx +69 -0
  641. package/src/authoring/chrome/ChromeButton.tsx +103 -0
  642. package/src/authoring/chrome/ChromeDialog.tsx +121 -0
  643. package/src/authoring/chrome/ChromeIcon.tsx +40 -0
  644. package/src/authoring/chrome/ChromeTooltip.tsx +89 -0
  645. package/src/authoring/chrome/ChromeTopBar.tsx +126 -0
  646. package/src/authoring/chrome/DoubleTapBridge.tsx +60 -0
  647. package/src/authoring/chrome/doubleTapMonitor.ts +80 -0
  648. package/src/authoring/chrome/icons/arrow-left-from-bracket.png +0 -0
  649. package/src/authoring/chrome/icons/arrow-left-from-bracket@2x.png +0 -0
  650. package/src/authoring/chrome/icons/arrow-left-from-bracket@3x.png +0 -0
  651. package/src/authoring/chrome/icons/arrow-rotate-left.png +0 -0
  652. package/src/authoring/chrome/icons/arrow-rotate-left@2x.png +0 -0
  653. package/src/authoring/chrome/icons/arrow-rotate-left@3x.png +0 -0
  654. package/src/authoring/chrome/icons/userflow-logomark.png +0 -0
  655. package/src/authoring/chrome/icons/userflow-logomark@2x.png +0 -0
  656. package/src/authoring/chrome/icons/userflow-logomark@3x.png +0 -0
  657. package/src/authoring/chrome/icons/xmark.png +0 -0
  658. package/src/authoring/chrome/icons/xmark@2x.png +0 -0
  659. package/src/authoring/chrome/icons/xmark@3x.png +0 -0
  660. package/src/authoring/chrome/tokens.ts +106 -0
  661. package/src/authoring/doubleTap.ts +27 -0
  662. package/src/authoring/elementPickerController.ts +135 -0
  663. package/src/authoring/fingerprintFromInstance.ts +152 -0
  664. package/src/authoring/hitTest.ts +133 -0
  665. package/src/content/RichContentRenderer.tsx +22 -1
  666. package/src/content/StepButton.tsx +17 -2
  667. package/src/content/resolveStepButtonChrome.ts +12 -6
  668. package/src/content/themeColor.ts +10 -0
  669. package/src/deviceContext.ts +168 -0
  670. package/src/expo-router/useUserflowExpoRouter.ts +47 -4
  671. package/src/hostAppVersion.ts +258 -0
  672. package/src/index.ts +148 -4
  673. package/src/lifecycle.ts +8 -0
  674. package/src/navigation/WithUserflowReactNavigation.tsx +23 -7
  675. package/src/navigation/isOverlayPresentation.ts +76 -0
  676. package/src/pairing/PairingController.ts +32 -3
  677. package/src/pairing/PreviewModeBanner.tsx +250 -94
  678. package/src/pairing/diagnostics.ts +8 -0
  679. package/src/pairing/elementPickerRelay.ts +100 -0
  680. package/src/pairing/resolvePreviewChrome.ts +57 -0
  681. package/src/pairing/tokenStorage.ts +31 -2
  682. package/src/pairing/usePairingState.ts +2 -0
  683. package/src/runtime/FlowRenderer.tsx +55 -27
  684. package/src/runtime/FlowSurfaceFade.tsx +51 -30
  685. package/src/runtime/TargetPressBridge.tsx +14 -32
  686. package/src/runtime/UserflowProvider.tsx +76 -13
  687. package/src/runtime/changedTouchPoints.ts +34 -0
  688. package/src/runtime/flowEngine.ts +2 -0
  689. package/src/runtime/flowSessionViewState.ts +42 -4
  690. package/src/runtime/useFlowSessionState.ts +2 -0
  691. package/src/screenTracker.ts +46 -4
  692. package/src/surfaces/CardFade.tsx +18 -0
  693. package/src/surfaces/CloseButton.tsx +17 -7
  694. package/src/surfaces/MadeWithUserflow.tsx +1 -1
  695. package/src/surfaces/ModalSurface.tsx +48 -35
  696. package/src/surfaces/TooltipSurface.tsx +406 -86
  697. package/src/surfaces/cardTransition.ts +67 -0
  698. package/src/surfaces/resolveHighlightChrome.ts +139 -0
  699. package/src/surfaces/resolveModalLayout.ts +16 -8
  700. package/src/surfaces/resolveTooltipLayout.ts +1 -14
  701. package/src/surfaces/surfaceInteractionConfig.ts +25 -0
  702. package/src/surfaces/surfaceLayoutInsets.tsx +135 -0
  703. package/src/surfaces/themeChrome.ts +5 -3
  704. package/src/surfaces/tooltip/TooltipBubble.tsx +154 -19
  705. package/src/surfaces/tooltip/TooltipCutout.tsx +106 -49
  706. package/src/surfaces/tooltip/TooltipHighlight.tsx +144 -0
  707. package/src/surfaces/tooltip/computeTooltipPosition.ts +98 -12
  708. package/src/surfaces/tooltip/inferTooltipPlacement.ts +107 -18
  709. package/src/surfaces/tooltip/placementDiagnostics.ts +70 -0
  710. package/src/surfaces/tooltip/rect.ts +11 -0
  711. package/src/surfaces/tooltip/resolveSideCardWidth.ts +121 -0
  712. package/src/version.ts +1 -1
  713. package/vendor/core/dist/attributes.d.ts +1 -2
  714. package/vendor/core/dist/attributes.d.ts.map +1 -1
  715. package/vendor/core/dist/attributes.js.map +1 -1
  716. package/vendor/core/dist/engine/FlowSessionEngine.d.ts +69 -1
  717. package/vendor/core/dist/engine/FlowSessionEngine.d.ts.map +1 -1
  718. package/vendor/core/dist/engine/FlowSessionEngine.js +268 -7
  719. package/vendor/core/dist/engine/FlowSessionEngine.js.map +1 -1
  720. package/vendor/core/dist/engine/PairingEngine.d.ts +44 -1
  721. package/vendor/core/dist/engine/PairingEngine.d.ts.map +1 -1
  722. package/vendor/core/dist/engine/PairingEngine.js +103 -9
  723. package/vendor/core/dist/engine/PairingEngine.js.map +1 -1
  724. package/vendor/core/dist/engine/UserflowCore.d.ts +23 -4
  725. package/vendor/core/dist/engine/UserflowCore.d.ts.map +1 -1
  726. package/vendor/core/dist/engine/UserflowCore.js +64 -1
  727. package/vendor/core/dist/engine/UserflowCore.js.map +1 -1
  728. package/vendor/core/dist/engine/conditionOperators.d.ts +16 -0
  729. package/vendor/core/dist/engine/conditionOperators.d.ts.map +1 -0
  730. package/vendor/core/dist/engine/conditionOperators.js +168 -0
  731. package/vendor/core/dist/engine/conditionOperators.js.map +1 -0
  732. package/vendor/core/dist/engine/handleActions.d.ts +27 -4
  733. package/vendor/core/dist/engine/handleActions.d.ts.map +1 -1
  734. package/vendor/core/dist/engine/handleActions.js +140 -13
  735. package/vendor/core/dist/engine/handleActions.js.map +1 -1
  736. package/vendor/core/dist/engine/simpleObservable.d.ts +13 -0
  737. package/vendor/core/dist/engine/simpleObservable.d.ts.map +1 -0
  738. package/vendor/core/dist/engine/simpleObservable.js +29 -0
  739. package/vendor/core/dist/engine/simpleObservable.js.map +1 -0
  740. package/vendor/core/dist/engine/trackCondition.d.ts +25 -0
  741. package/vendor/core/dist/engine/trackCondition.d.ts.map +1 -0
  742. package/vendor/core/dist/engine/trackCondition.js +177 -0
  743. package/vendor/core/dist/engine/trackCondition.js.map +1 -0
  744. package/vendor/core/dist/engine/trackStepTriggers.d.ts +21 -0
  745. package/vendor/core/dist/engine/trackStepTriggers.d.ts.map +1 -0
  746. package/vendor/core/dist/engine/trackStepTriggers.js +49 -0
  747. package/vendor/core/dist/engine/trackStepTriggers.js.map +1 -0
  748. package/vendor/core/dist/index.d.ts +4 -3
  749. package/vendor/core/dist/index.d.ts.map +1 -1
  750. package/vendor/core/dist/index.js +2 -1
  751. package/vendor/core/dist/index.js.map +1 -1
  752. package/vendor/core/dist/normalizeAttributes.d.ts +8 -0
  753. package/vendor/core/dist/normalizeAttributes.d.ts.map +1 -0
  754. package/vendor/core/dist/normalizeAttributes.js +127 -0
  755. package/vendor/core/dist/normalizeAttributes.js.map +1 -0
  756. package/vendor/core/dist/transport/phoenix.d.ts +11 -6
  757. package/vendor/core/dist/transport/phoenix.d.ts.map +1 -1
  758. package/vendor/core/dist/transport/phoenix.js +59 -5
  759. package/vendor/core/dist/transport/phoenix.js.map +1 -1
  760. package/vendor/core/dist/types.d.ts +26 -1
  761. package/vendor/core/dist/types.d.ts.map +1 -1
  762. package/vendor/core/dist/version.d.ts +1 -1
  763. package/vendor/core/dist/version.js +1 -1
  764. package/vendor/core/package.json +1 -1
  765. package/vendor/protocol/dist/attributes.d.ts +43 -0
  766. package/vendor/protocol/dist/attributes.d.ts.map +1 -0
  767. package/vendor/protocol/dist/attributes.js +15 -0
  768. package/vendor/protocol/dist/attributes.js.map +1 -0
  769. package/vendor/protocol/dist/autoData.d.ts +2 -2
  770. package/vendor/protocol/dist/autoData.js +2 -2
  771. package/vendor/protocol/dist/events.d.ts +8 -0
  772. package/vendor/protocol/dist/events.d.ts.map +1 -1
  773. package/vendor/protocol/dist/flows.d.ts +66 -4
  774. package/vendor/protocol/dist/flows.d.ts.map +1 -1
  775. package/vendor/protocol/dist/flows.js +50 -3
  776. package/vendor/protocol/dist/flows.js.map +1 -1
  777. package/vendor/protocol/dist/index.d.ts +1 -0
  778. package/vendor/protocol/dist/index.d.ts.map +1 -1
  779. package/vendor/protocol/dist/index.js +1 -0
  780. package/vendor/protocol/dist/index.js.map +1 -1
  781. package/vendor/protocol/dist/messages.d.ts +25 -4
  782. package/vendor/protocol/dist/messages.d.ts.map +1 -1
  783. package/vendor/protocol/dist/messages.js +4 -0
  784. package/vendor/protocol/dist/messages.js.map +1 -1
  785. package/vendor/protocol/dist/pairing.d.ts +26 -0
  786. package/vendor/protocol/dist/pairing.d.ts.map +1 -1
  787. package/vendor/protocol/dist/pairing.js.map +1 -1
  788. package/vendor/protocol/package.json +1 -1
@@ -0,0 +1,13 @@
1
+ import * as React from 'react';
2
+ import { type ImageStyle, type StyleProp } from 'react-native';
3
+ export type ChromeIconName = 'arrow-left-from-bracket' | 'arrow-rotate-left' | 'xmark';
4
+ export interface ChromeIconProps {
5
+ name: ChromeIconName;
6
+ tintColor: string;
7
+ size?: number;
8
+ style?: StyleProp<ImageStyle>;
9
+ testID?: string;
10
+ }
11
+ /** Monochrome PNG glyph tinted via `tintColor` (white source assets). */
12
+ export declare function ChromeIcon({ name, tintColor, size, style, testID, }: ChromeIconProps): React.ReactElement;
13
+ //# sourceMappingURL=ChromeIcon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChromeIcon.d.ts","sourceRoot":"","sources":["../../../../../../src/authoring/chrome/ChromeIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAS,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAMtE,MAAM,MAAM,cAAc,GAAG,yBAAyB,GAAG,mBAAmB,GAAG,OAAO,CAAC;AAQvF,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,cAAc,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,yEAAyE;AACzE,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,SAAS,EACT,IAAS,EACT,KAAK,EACL,MAAM,GACP,EAAE,eAAe,GAAG,KAAK,CAAC,YAAY,CAStC"}
@@ -0,0 +1,17 @@
1
+ import * as React from 'react';
2
+ export declare const CHROME_TOOLTIP_NOTCH_SIZE = 8;
3
+ export declare const CHROME_TOOLTIP_DEFAULT_DURATION_MS = 5000;
4
+ export interface ChromeTooltipProps {
5
+ children: string;
6
+ visible?: boolean;
7
+ /** Auto-dismiss delay. `0` keeps the bubble until the parent hides it. */
8
+ durationMs?: number;
9
+ onDismiss?: () => void;
10
+ testID?: string;
11
+ }
12
+ /**
13
+ * Onboarding bubble with an upward notch. Pointer-events none so it does not
14
+ * steal the double-tap that shows/hides authoring chrome.
15
+ */
16
+ export declare function ChromeTooltip({ children, visible, durationMs, onDismiss, testID, }: ChromeTooltipProps): React.ReactElement | null;
17
+ //# sourceMappingURL=ChromeTooltip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChromeTooltip.d.ts","sourceRoot":"","sources":["../../../../../../src/authoring/chrome/ChromeTooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAC3C,eAAO,MAAM,kCAAkC,OAAO,CAAC;AAEvD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0EAA0E;IAC1E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,OAAc,EACd,UAA+C,EAC/C,SAAS,EACT,MAAkC,GACnC,EAAE,kBAAkB,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,CAuChD"}
@@ -0,0 +1,25 @@
1
+ import * as React from 'react';
2
+ export type ChromeTopBarTone = 'default' | 'error';
3
+ export interface ChromeTopBarProps {
4
+ label: string;
5
+ tone?: ChromeTopBarTone;
6
+ left?: React.ReactNode;
7
+ right?: React.ReactNode;
8
+ /** Laid-out height of the bar including safe-area padding. */
9
+ onMeasureHeight?: (height: number) => void;
10
+ /** Error-tone labels wrap on narrow devices. Default 1. */
11
+ numberOfLines?: number;
12
+ /** Hide the bar from VoiceOver/TalkBack while a dialog is open above it. */
13
+ accessibilityElementsHidden?: boolean | undefined;
14
+ importantForAccessibility?: 'auto' | 'yes' | 'no' | 'no-hide-descendants' | undefined;
15
+ testID?: string;
16
+ }
17
+ /**
18
+ * Full-bleed authoring top bar. Height comes from safe-area + content, not
19
+ * the 120pt Figma frame (that number already includes the status bar).
20
+ *
21
+ * Measured on the Pro Max reference: 4pt below the status bar, 16pt above
22
+ * the bottom edge of the bar.
23
+ */
24
+ export declare function ChromeTopBar({ label, tone, left, right, onMeasureHeight, numberOfLines, accessibilityElementsHidden, importantForAccessibility, testID, }: ChromeTopBarProps): React.ReactElement;
25
+ //# sourceMappingURL=ChromeTopBar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChromeTopBar.d.ts","sourceRoot":"","sources":["../../../../../../src/authoring/chrome/ChromeTopBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,OAAO,CAAC;AAEnD,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,8DAA8D;IAC9D,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,2DAA2D;IAC3D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4EAA4E;IAC5E,2BAA2B,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAClD,yBAAyB,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,GAAG,qBAAqB,GAAG,SAAS,CAAC;IACtF,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,IAAgB,EAChB,IAAI,EACJ,KAAK,EACL,eAAe,EACf,aAAiB,EACjB,2BAA2B,EAC3B,yBAAyB,EACzB,MAAkC,GACnC,EAAE,iBAAiB,GAAG,KAAK,CAAC,YAAY,CA0CxC"}
@@ -0,0 +1,12 @@
1
+ import * as React from 'react';
2
+ export interface DoubleTapBridgeProps {
3
+ children: React.ReactNode;
4
+ }
5
+ /**
6
+ * Observes screen-wide touches for {@link doubleTapMonitor} without claiming
7
+ * the responder. Must wrap **both** host app content and authoring chrome —
8
+ * preview-bar taps never bubble through `TargetPressBridge`, which only
9
+ * wraps the app tree.
10
+ */
11
+ export declare function DoubleTapBridge({ children }: DoubleTapBridgeProps): React.ReactElement;
12
+ //# sourceMappingURL=DoubleTapBridge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DoubleTapBridge.d.ts","sourceRoot":"","sources":["../../../../../../src/authoring/chrome/DoubleTapBridge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,EAAE,QAAQ,EAAE,EAAE,oBAAoB,GAAG,KAAK,CAAC,YAAY,CAoCtF"}
@@ -0,0 +1,26 @@
1
+ import { type TouchIdentifier } from '../../anchors/targetPressMonitor';
2
+ export interface DoubleTapSubscription {
3
+ onDoubleTap: () => void;
4
+ }
5
+ /**
6
+ * Screen-wide double-tap observer. Never claims the responder — the host app
7
+ * keeps scrolling and tapping. Used by preview-mode chrome, which has no
8
+ * capture layer of its own.
9
+ *
10
+ * Distinct from `targetPressMonitor`: that singleton is bound to a tooltip
11
+ * target rect and fires `onPress`, not a double-tap toggle.
12
+ */
13
+ export declare class DoubleTapMonitor {
14
+ private subscription;
15
+ private touchStarts;
16
+ private lastTap;
17
+ set(subscription: DoubleTapSubscription | null): void;
18
+ handleTouchStart(identifier: TouchIdentifier, pageX: number, pageY: number): void;
19
+ handleTouchEnd(identifier: TouchIdentifier, pageX: number, pageY: number): void;
20
+ cancelTouch(identifier?: TouchIdentifier): void;
21
+ /** Test helper. */
22
+ resetForTests(): void;
23
+ }
24
+ /** Shared singleton used by PreviewModeBanner and DoubleTapBridge. */
25
+ export declare const doubleTapMonitor: DoubleTapMonitor;
26
+ //# sourceMappingURL=doubleTapMonitor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doubleTapMonitor.d.ts","sourceRoot":"","sources":["../../../../../../src/authoring/chrome/doubleTapMonitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,eAAe,EAErB,MAAM,kCAAkC,CAAC;AAG1C,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB;AAED;;;;;;;GAOG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,YAAY,CAAsC;IAC1D,OAAO,CAAC,WAAW,CAA0C;IAC7D,OAAO,CAAC,OAAO,CAA0B;IAEzC,GAAG,CAAC,YAAY,EAAE,qBAAqB,GAAG,IAAI,GAAG,IAAI;IAQrD,gBAAgB,CAAC,UAAU,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAQjF,cAAc,CAAC,UAAU,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAsB/E,WAAW,CAAC,UAAU,CAAC,EAAE,eAAe,GAAG,IAAI;IAQ/C,mBAAmB;IACnB,aAAa,IAAI,IAAI;CAKtB;AAED,sEAAsE;AACtE,eAAO,MAAM,gBAAgB,kBAAyB,CAAC"}
@@ -0,0 +1,141 @@
1
+ /**
2
+ * Authoring-chrome tokens from the Userflow React Native Figma file
3
+ * (`BojC6qdlFUytdD1bRsNLV8`). These are independent of end-user flow
4
+ * `ThemeFragment` — pairing / picker UI is not themed by the server.
5
+ *
6
+ * Typography omits `fontFamily` so RN uses SF Pro / Roboto.
7
+ */
8
+ export declare const chromeColors: {
9
+ readonly primaryText: "#132b39";
10
+ readonly invertedText: "#ffffff";
11
+ readonly blue500: "#1a57e6";
12
+ readonly overlay: "rgba(0, 0, 0, 0.2)";
13
+ /** Figma Colors/Effect/Focus Ring (`#2f69ee59`). */
14
+ readonly focusRing: "rgba(47, 105, 238, 0.35)";
15
+ readonly bgMiddle: "#f4f8fb";
16
+ readonly danger: "#57000e";
17
+ readonly white: "#ffffff";
18
+ /** Figma Shadow/Button. Opacity is applied in `chromeShadows`. */
19
+ readonly shadowButton: "rgb(54, 107, 214)";
20
+ };
21
+ /**
22
+ * `chromeColors.overlay` split for TooltipCutout's composite-once contract
23
+ * (`backdropColor` + `backdropOpacity` rather than a single rgba string).
24
+ */
25
+ export declare const chromeOverlay: {
26
+ readonly color: "#000000";
27
+ readonly opacity: 0.2;
28
+ };
29
+ export declare const chromeSpace: {
30
+ readonly 0: 0;
31
+ readonly 8: 8;
32
+ readonly 12: 12;
33
+ readonly 16: 16;
34
+ readonly 20: 20;
35
+ readonly 24: 24;
36
+ };
37
+ export declare const chromeRadius: {
38
+ readonly md: 4;
39
+ readonly lg: 8;
40
+ readonly fullyRounded: 9999;
41
+ };
42
+ export declare const chromeText: {
43
+ readonly barTitle: {
44
+ readonly fontSize: 16;
45
+ readonly fontWeight: "600";
46
+ readonly lineHeight: 20;
47
+ };
48
+ readonly buttonLabel: {
49
+ readonly fontSize: 16;
50
+ readonly fontWeight: "600";
51
+ readonly lineHeight: 20;
52
+ };
53
+ /** Figma Labels/SM Bold — bottom-sheet helper copy (3869:521). */
54
+ readonly labelSmBold: {
55
+ readonly fontSize: 14;
56
+ readonly fontWeight: "600";
57
+ readonly lineHeight: 16;
58
+ };
59
+ readonly dialogTitle: {
60
+ readonly fontSize: 18;
61
+ readonly fontWeight: "500";
62
+ readonly lineHeight: 24;
63
+ };
64
+ readonly dialogBody: {
65
+ readonly fontSize: 16;
66
+ readonly fontWeight: "400";
67
+ readonly lineHeight: 24;
68
+ };
69
+ readonly tooltip: {
70
+ readonly fontSize: 14;
71
+ readonly fontWeight: "500";
72
+ readonly lineHeight: 16;
73
+ };
74
+ };
75
+ /**
76
+ * Figma drop shadows approximated as RN `shadow*` + Android `elevation`.
77
+ * There is no shared chrome shadow helper — TooltipBubble's elevation pairing
78
+ * is tooltip-specific and is not reused here.
79
+ */
80
+ export declare const chromeShadows: {
81
+ /** Shadow/Button — primary pill. */
82
+ readonly button: {
83
+ readonly shadowColor: "rgb(54, 107, 214)";
84
+ readonly shadowOffset: {
85
+ readonly width: 0;
86
+ readonly height: 4;
87
+ };
88
+ readonly shadowOpacity: 0.5;
89
+ readonly shadowRadius: 8;
90
+ readonly elevation: 4;
91
+ };
92
+ /** Shadow/Button (Subtle) — secondary / icon pills. */
93
+ readonly buttonSubtle: {
94
+ readonly shadowColor: "rgb(54, 107, 214)";
95
+ readonly shadowOffset: {
96
+ readonly width: 0;
97
+ readonly height: 2;
98
+ };
99
+ readonly shadowOpacity: 0.5;
100
+ readonly shadowRadius: 4;
101
+ readonly elevation: 2;
102
+ };
103
+ /** Shadow/Card — full-bleed top/bottom bars. */
104
+ readonly card: {
105
+ readonly shadowColor: "#132b39";
106
+ readonly shadowOffset: {
107
+ readonly width: 0;
108
+ readonly height: 4;
109
+ };
110
+ readonly shadowOpacity: 0.1;
111
+ readonly shadowRadius: 12;
112
+ readonly elevation: 8;
113
+ };
114
+ /** Shadow/Default (Subtle) — onboarding tooltip. */
115
+ readonly tooltip: {
116
+ readonly shadowColor: "#132b39";
117
+ readonly shadowOffset: {
118
+ readonly width: 0;
119
+ readonly height: 4;
120
+ };
121
+ readonly shadowOpacity: 0.1;
122
+ readonly shadowRadius: 12;
123
+ readonly elevation: 4;
124
+ };
125
+ /**
126
+ * Dialog card. Carries the values ChromeDialog shipped with (shadowRadius 6 /
127
+ * elevation 6). Figma names this Shadow/Default (Subtle) — the same token as
128
+ * `tooltip` — but the radius-convention audit across chrome shadows is Phase 6.
129
+ */
130
+ readonly dialog: {
131
+ readonly shadowColor: "#132b39";
132
+ readonly shadowOffset: {
133
+ readonly width: 0;
134
+ readonly height: 4;
135
+ };
136
+ readonly shadowOpacity: 0.1;
137
+ readonly shadowRadius: 6;
138
+ readonly elevation: 6;
139
+ };
140
+ };
141
+ //# sourceMappingURL=tokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../../../../../src/authoring/chrome/tokens.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AAEH,eAAO,MAAM,YAAY;;;;;IAKvB,oDAAoD;;;;;IAKpD,kEAAkE;;CAE1D,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,aAAa;;;CAA8C,CAAC;AAEzE,eAAO,MAAM,WAAW;;;;;;;CAOd,CAAC;AAEX,eAAO,MAAM,YAAY;;;;CAIf,CAAC;AAEX,eAAO,MAAM,UAAU;;;;;;;;;;;IAGrB,kEAAkE;;;;;;;;;;;;;;;;;;;;;CAKtB,CAAC;AAE/C;;;;GAIG;AACH,eAAO,MAAM,aAAa;IACxB,oCAAoC;;;;;;;;;;;IAQpC,uDAAuD;;;;;;;;;;;IAQvD,gDAAgD;;;;;;;;;;;IAQhD,oDAAoD;;;;;;;;;;;IAQpD;;;;OAIG;;;;;;;;;;;CAQyC,CAAC"}
@@ -0,0 +1,14 @@
1
+ export declare const DOUBLE_TAP_WINDOW_MS = 300;
2
+ export declare const DOUBLE_TAP_SLOP = 40;
3
+ export interface TapSample {
4
+ pageX: number;
5
+ pageY: number;
6
+ timestamp: number;
7
+ }
8
+ /**
9
+ * True when `next` lands close enough in space and time to `prev` to count as
10
+ * the second half of a double tap. Inclusive on both the time window and slop
11
+ * so a tap at exactly the boundary still toggles chrome rather than selecting.
12
+ */
13
+ export declare function isDoubleTap(prev: TapSample | null, next: TapSample, windowMs?: number, slop?: number): boolean;
14
+ //# sourceMappingURL=doubleTap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doubleTap.d.ts","sourceRoot":"","sources":["../../../../../src/authoring/doubleTap.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,MAAM,CAAC;AACxC,eAAO,MAAM,eAAe,KAAK,CAAC;AAElC,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,SAAS,GAAG,IAAI,EACtB,IAAI,EAAE,SAAS,EACf,QAAQ,GAAE,MAA6B,EACvC,IAAI,GAAE,MAAwB,GAC7B,OAAO,CAOT"}
@@ -0,0 +1,59 @@
1
+ import type { AutoAnchorInstance } from '../anchors/AutoAnchorRegistry';
2
+ import type { HitRect } from './hitTest';
3
+ export interface ElementPickerScreenshot {
4
+ dataUrl: string;
5
+ width: number;
6
+ height: number;
7
+ targetX1: number;
8
+ targetY1: number;
9
+ targetX2: number;
10
+ targetY2: number;
11
+ }
12
+ export interface ElementPickerResult {
13
+ instance: AutoAnchorInstance;
14
+ autoData: string;
15
+ text?: string | null;
16
+ rect: HitRect;
17
+ screenshot?: ElementPickerScreenshot;
18
+ }
19
+ export interface ElementPickerRequest {
20
+ /** Caller-supplied id (pairing `idempotency_key`). Minted when omitted. */
21
+ requestId?: string;
22
+ elementType?: string | null;
23
+ onResult: (result: ElementPickerResult) => void | Promise<void>;
24
+ onCancel?: () => void;
25
+ }
26
+ export interface ElementPickerState {
27
+ active: boolean;
28
+ requestId?: string;
29
+ elementType?: string | null;
30
+ }
31
+ export type ElementPickerListener = (state: ElementPickerState) => void;
32
+ /**
33
+ * Module singleton for the in-app element picker. Pairing glue (and the QA
34
+ * harness) call {@link beginSelection}; {@link ElementPickerOverlay} reads
35
+ * state and commits/cancels.
36
+ */
37
+ export declare class ElementPickerController {
38
+ private request;
39
+ private nextId;
40
+ private readonly listeners;
41
+ getState(): ElementPickerState;
42
+ subscribe(listener: ElementPickerListener): () => void;
43
+ beginSelection(request: ElementPickerRequest): void;
44
+ /**
45
+ * Deliver `result` to the active request. When `expectedId` is passed, a
46
+ * mismatch (stale Confirm after a newer `beginSelection`) is a no-op.
47
+ * Omitting `expectedId` is for synchronous tests/QA.
48
+ *
49
+ * If `onResult` returns a rejected promise (e.g. relay not connected), the
50
+ * request stays active so the overlay can retry. Ack timeouts should be
51
+ * swallowed by the caller of `onResult`, not thrown here.
52
+ */
53
+ commit(result: ElementPickerResult, expectedId?: string): Promise<boolean>;
54
+ cancel(): void;
55
+ resetForTests(): void;
56
+ private emit;
57
+ }
58
+ export declare const elementPickerController: ElementPickerController;
59
+ //# sourceMappingURL=elementPickerController.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"elementPickerController.d.ts","sourceRoot":"","sources":["../../../../../src/authoring/elementPickerController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAExE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,CAAC,EAAE,uBAAuB,CAAC;CACtC;AAED,MAAM,WAAW,oBAAoB;IACnC,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChE,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,MAAM,qBAAqB,GAAG,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;AAQxE;;;;GAIG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoC;IAE9D,QAAQ,IAAI,kBAAkB;IAS9B,SAAS,CAAC,QAAQ,EAAE,qBAAqB,GAAG,MAAM,IAAI;IAQtD,cAAc,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI;IASnD;;;;;;;;OAQG;IACG,MAAM,CAAC,MAAM,EAAE,mBAAmB,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAehF,MAAM,IAAI,IAAI;IAYd,aAAa,IAAI,IAAI;IAMrB,OAAO,CAAC,IAAI;CAUb;AAED,eAAO,MAAM,uBAAuB,yBAAgC,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { type MobileAutoData, type MobileFingerprint } from '@userflow-tech/protocol';
2
+ import { type AutoAnchorInstance } from '../anchors/AutoAnchorRegistry';
3
+ import type { MatchMissReason } from '../anchors/semanticMatcher';
4
+ /**
5
+ * Inverse of `scoreInstance` field-reads: snapshot a live registry instance
6
+ * into the fingerprint the scored matcher consumes at play time.
7
+ */
8
+ export declare function fingerprintFromInstance(inst: AutoAnchorInstance): MobileFingerprint;
9
+ /** Wrap a live instance in the `FlowSelector.autoData` envelope. */
10
+ export declare function autoDataFromInstance(inst: AutoAnchorInstance): MobileAutoData;
11
+ export declare function encodeInstanceAutoData(inst: AutoAnchorInstance): string;
12
+ export type PickerFingerprintFailure = {
13
+ ok: false;
14
+ reason: MatchMissReason | 'wrong-instance';
15
+ };
16
+ export type PickerFingerprintSuccess = {
17
+ ok: true;
18
+ autoData: string;
19
+ };
20
+ export type PickerFingerprintValidation = PickerFingerprintSuccess | PickerFingerprintFailure;
21
+ /**
22
+ * Encode `inst` and run the play-time matcher. Confirm may proceed only on a
23
+ * unique hit of this same instance.
24
+ */
25
+ export declare function validatePickerFingerprint(inst: AutoAnchorInstance): PickerFingerprintValidation;
26
+ //# sourceMappingURL=fingerprintFromInstance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fingerprintFromInstance.d.ts","sourceRoot":"","sources":["../../../../../src/authoring/fingerprintFromInstance.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACvB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAsB,KAAK,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAE5F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAsClE;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,kBAAkB,GAAG,iBAAiB,CA+BnF;AAED,oEAAoE;AACpE,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,kBAAkB,GAAG,cAAc,CA8B7E;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,kBAAkB,GAAG,MAAM,CAEvE;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,EAAE,EAAE,KAAK,CAAC;IACV,MAAM,EAAE,eAAe,GAAG,gBAAgB,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,EAAE,EAAE,IAAI,CAAC;IACT,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG,wBAAwB,GAAG,wBAAwB,CAAC;AAE9F;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,kBAAkB,GAAG,2BAA2B,CAU/F"}
@@ -0,0 +1,31 @@
1
+ import { type AutoAnchorInstance } from '../anchors/AutoAnchorRegistry';
2
+ export interface HitRect {
3
+ x: number;
4
+ y: number;
5
+ width: number;
6
+ height: number;
7
+ }
8
+ export interface HitCandidate {
9
+ instance: AutoAnchorInstance;
10
+ rect: HitRect;
11
+ area: number;
12
+ }
13
+ export type MeasureInstance = (inst: AutoAnchorInstance) => Promise<HitRect | null>;
14
+ export type InstanceFilter = (inst: AutoAnchorInstance) => boolean;
15
+ /**
16
+ * Measure a live auto-anchor instance in window coordinates. Prefers the
17
+ * public instance's `measureInWindow`, then the fiber host path.
18
+ */
19
+ export declare function measureInstanceRect(inst: AutoAnchorInstance): Promise<HitRect | null>;
20
+ /**
21
+ * Hit-test window coordinates against visible auto-anchor instances.
22
+ * Returns containing candidates sorted by area ascending (smallest / deepest first).
23
+ */
24
+ export declare function hitTestAt(x: number, y: number, opts?: {
25
+ instanceFilter?: InstanceFilter;
26
+ measure?: MeasureInstance;
27
+ instances?: AutoAnchorInstance[];
28
+ }): Promise<HitCandidate[]>;
29
+ /** Cycle to the next-larger containing candidate (wraps). */
30
+ export declare function nextContainingIndex(candidates: HitCandidate[], currentIndex: number): number;
31
+ //# sourceMappingURL=hitTest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hitTest.d.ts","sourceRoot":"","sources":["../../../../../src/authoring/hitTest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAM5F,MAAM,WAAW,OAAO;IACtB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,kBAAkB,KAAK,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;AACpF,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,kBAAkB,KAAK,OAAO,CAAC;AA0DnE;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAcrF;AAED;;;GAGG;AACH,wBAAsB,SAAS,CAC7B,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,IAAI,CAAC,EAAE;IACL,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,SAAS,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAClC,GACA,OAAO,CAAC,YAAY,EAAE,CAAC,CAgBzB;AAED,6DAA6D;AAC7D,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,YAAY,EAAE,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAG5F"}
@@ -1,5 +1,6 @@
1
1
  import type { FlowActionFragment, FlowButtonFragment, ThemeFragment } from '@userflow-tech/protocol';
2
2
  import * as React from 'react';
3
+ import type { TextStyle } from 'react-native';
3
4
  import type { JustifyContent, LookupAttribute, RichContentDoc } from './types';
4
5
  export interface RichContentRendererProps {
5
6
  content: string | RichContentDoc | null | undefined;
@@ -16,6 +17,10 @@ export interface RichContentRendererProps {
16
17
  * Web: modal → center, tooltip/bubble → end.
17
18
  */
18
19
  defaultButtonsAlign?: JustifyContent;
20
+ /** Override H1 weight (modal uses `normal`; tooltip keeps the default bold). */
21
+ heading1FontWeight?: TextStyle['fontWeight'];
22
+ /** Extra H1 styles (callers that need per-heading layout). */
23
+ heading1Style?: TextStyle;
19
24
  }
20
- export declare function RichContentRenderer({ content, buttons, theme, sessionData, lookupAttribute, onActions, defaultButtonsAlign, }: RichContentRendererProps): React.ReactElement;
25
+ export declare function RichContentRenderer({ content, buttons, theme, sessionData, lookupAttribute, onActions, defaultButtonsAlign, heading1FontWeight, heading1Style, }: RichContentRendererProps): React.ReactElement;
21
26
  //# sourceMappingURL=RichContentRenderer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RichContentRenderer.d.ts","sourceRoot":"","sources":["../../../../../src/content/RichContentRenderer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AA4B/B,OAAO,KAAK,EASV,cAAc,EAGd,eAAe,EAKf,cAAc,EAKf,MAAM,SAAS,CAAC;AAEjB,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,GAAG,SAAS,CAAC;IACpD,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,KAAK,EAAE,aAAa,CAAC;IACrB,WAAW,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,EAAE,CAAC;IAC1D,eAAe,EAAE,eAAe,CAAC;IACjC,SAAS,EAAE,CAAC,OAAO,EAAE,kBAAkB,EAAE,KAAK,IAAI,CAAC;IACnD;;;OAGG;IACH,mBAAmB,CAAC,EAAE,cAAc,CAAC;CACtC;AAED,wBAAgB,mBAAmB,CAAC,EAClC,OAAO,EACP,OAAO,EACP,KAAK,EACL,WAAW,EACX,eAAe,EACf,SAAS,EACT,mBAAmB,GACpB,EAAE,wBAAwB,GAAG,KAAK,CAAC,YAAY,CAoB/C"}
1
+ {"version":3,"file":"RichContentRenderer.d.ts","sourceRoot":"","sources":["../../../../../src/content/RichContentRenderer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,SAAS,EAAa,MAAM,cAAc,CAAC;AA2BzD,OAAO,KAAK,EASV,cAAc,EAGd,eAAe,EAKf,cAAc,EAKf,MAAM,SAAS,CAAC;AAEjB,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,GAAG,SAAS,CAAC;IACpD,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,KAAK,EAAE,aAAa,CAAC;IACrB,WAAW,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,EAAE,CAAC;IAC1D,eAAe,EAAE,eAAe,CAAC;IACjC,SAAS,EAAE,CAAC,OAAO,EAAE,kBAAkB,EAAE,KAAK,IAAI,CAAC;IACnD;;;OAGG;IACH,mBAAmB,CAAC,EAAE,cAAc,CAAC;IACrC,gFAAgF;IAChF,kBAAkB,CAAC,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;IAC7C,8DAA8D;IAC9D,aAAa,CAAC,EAAE,SAAS,CAAC;CAC3B;AAED,wBAAgB,mBAAmB,CAAC,EAClC,OAAO,EACP,OAAO,EACP,KAAK,EACL,WAAW,EACX,eAAe,EACf,SAAS,EACT,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,GACd,EAAE,wBAAwB,GAAG,KAAK,CAAC,YAAY,CAsB/C"}
@@ -1 +1 @@
1
- {"version":3,"file":"StepButton.d.ts","sourceRoot":"","sources":["../../../../../src/content/StepButton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,kBAAkB,CAAC;IAC3B,KAAK,EAAE,aAAa,CAAC;IACrB,WAAW,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,EAAE,CAAC;IAC1D,SAAS,EAAE,CAAC,OAAO,EAAE,kBAAkB,EAAE,KAAK,IAAI,CAAC;CACpD;AAED,wBAAgB,UAAU,CAAC,EACzB,MAAM,EACN,KAAK,EACL,WAAW,EACX,SAAS,GACV,EAAE,eAAe,GAAG,KAAK,CAAC,YAAY,CAkCtC"}
1
+ {"version":3,"file":"StepButton.d.ts","sourceRoot":"","sources":["../../../../../src/content/StepButton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,kBAAkB,CAAC;IAC3B,KAAK,EAAE,aAAa,CAAC;IACrB,WAAW,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,EAAE,CAAC;IAC1D,SAAS,EAAE,CAAC,OAAO,EAAE,kBAAkB,EAAE,KAAK,IAAI,CAAC;CACpD;AAED,wBAAgB,UAAU,CAAC,EACzB,MAAM,EACN,KAAK,EACL,WAAW,EACX,SAAS,GACV,EAAE,eAAe,GAAG,KAAK,CAAC,YAAY,CAiCtC"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolveStepButtonChrome.d.ts","sourceRoot":"","sources":["../../../../../src/content/resolveStepButtonChrome.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzD,MAAM,WAAW,gBAAgB;IAC/B,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;CACrC;AAyBD;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,aAAa,EACpB,SAAS,EAAE,OAAO,GACjB,gBAAgB,CA0DlB;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,gBAAgB,GAAG,SAAS,CAY5E"}
1
+ {"version":3,"file":"resolveStepButtonChrome.d.ts","sourceRoot":"","sources":["../../../../../src/content/resolveStepButtonChrome.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzD,MAAM,WAAW,gBAAgB;IAC/B,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;CACrC;AAyBD;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,aAAa,EACpB,SAAS,EAAE,OAAO,GACjB,gBAAgB,CAgElB;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,gBAAgB,GAAG,SAAS,CAY5E"}
@@ -35,6 +35,11 @@ export declare function parseThemeRgb(color: string | null | undefined): Rgb | n
35
35
  * Falls back to neutral gray when the color cannot be parsed.
36
36
  */
37
37
  export declare function foregroundAlpha(color: string | null | undefined, alpha: number): string;
38
+ /**
39
+ * Web's default `backdropHighlightColor` is `#ffffff`. An opaque white stroke
40
+ * on a dimmed backdrop reads as a thick frame, not the mobile focus ring.
41
+ */
42
+ export declare function isNearWhite(color: string | null | undefined): boolean;
38
43
  /**
39
44
  * Extra margin below quote/code so that with {@link ROOT_CONTENT_GAP} the
40
45
  * visual spacing matches web `margin-bottom: $padding-16`.
@@ -1 +1 @@
1
- {"version":3,"file":"themeColor.d.ts","sourceRoot":"","sources":["../../../../../src/content/themeColor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,mEAAmE;AACnE,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAE3C,iEAAiE;AACjE,eAAO,MAAM,iBAAiB,OAAO,CAAC;AAEtC,+EAA+E;AAC/E,eAAO,MAAM,aAAa,IAAI,CAAC;AAC/B,eAAO,MAAM,aAAa,IAAI,CAAC;AAC/B,eAAO,MAAM,aAAa,IAAI,CAAC;AAC/B,eAAO,MAAM,cAAc,KAAK,CAAC;AAEjC;;;GAGG;AACH,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAElC,sDAAsD;AACtD,eAAO,MAAM,mBAAmB,QAAQ,CAAC;AAEzC,qDAAqD;AACrD,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAE1C,gDAAgD;AAChD,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAK3C,MAAM,MAAM,GAAG,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAOtD,+DAA+D;AAC/D,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,GAAG,GAAG,IAAI,CAmC1E;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAGvF;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAGxD"}
1
+ {"version":3,"file":"themeColor.d.ts","sourceRoot":"","sources":["../../../../../src/content/themeColor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,mEAAmE;AACnE,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAE3C,iEAAiE;AACjE,eAAO,MAAM,iBAAiB,OAAO,CAAC;AAEtC,+EAA+E;AAC/E,eAAO,MAAM,aAAa,IAAI,CAAC;AAC/B,eAAO,MAAM,aAAa,IAAI,CAAC;AAC/B,eAAO,MAAM,aAAa,IAAI,CAAC;AAC/B,eAAO,MAAM,cAAc,KAAK,CAAC;AAEjC;;;GAGG;AACH,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAElC,sDAAsD;AACtD,eAAO,MAAM,mBAAmB,QAAQ,CAAC;AAEzC,qDAAqD;AACrD,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAE1C,gDAAgD;AAChD,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAK3C,MAAM,MAAM,GAAG,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAOtD,+DAA+D;AAC/D,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,GAAG,GAAG,IAAI,CAmC1E;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAGvF;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAIrE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAGxD"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Resolve mobile platform metadata for Userflow user attributes.
3
+ *
4
+ * Cached once during {@link Userflow.init} and merged into identify attributes
5
+ * (same lifecycle as {@link hostAppVersion.ts}).
6
+ */
7
+ export type SdkPlatform = 'react_native';
8
+ export type DeviceOs = 'ios' | 'android';
9
+ export type DeviceType = 'phone' | 'tablet';
10
+ export interface DeviceContext {
11
+ sdk: SdkPlatform;
12
+ deviceOs?: DeviceOs;
13
+ deviceType?: DeviceType;
14
+ }
15
+ /** Android `smallestScreenWidthDp` tablet threshold (sw600dp). */
16
+ export declare const ANDROID_TABLET_SMALLEST_WIDTH_DP = 600;
17
+ export declare const SDK_USER_ATTRIBUTE = "sdk";
18
+ export declare const DEVICE_OS_USER_ATTRIBUTE = "device_os";
19
+ export declare const DEVICE_TYPE_USER_ATTRIBUTE = "device_type";
20
+ interface PlatformShape {
21
+ OS?: string;
22
+ isPad?: boolean;
23
+ }
24
+ interface ScreenShape {
25
+ width: number;
26
+ height: number;
27
+ }
28
+ /** Visible for tests: map `Platform.OS` to a supported device OS value. */
29
+ export declare function resolveDeviceOs(platformOs: string | undefined): DeviceOs | undefined;
30
+ /** Visible for tests: smallest screen width. `Dimensions` values are already dp. */
31
+ export declare function smallestScreenWidthDp(screen: ScreenShape): number;
32
+ /** Visible for tests: classify phone vs tablet for the current platform. */
33
+ export declare function resolveDeviceTypeFromSources(sources: {
34
+ platform?: PlatformShape;
35
+ screen?: ScreenShape;
36
+ }): DeviceType | undefined;
37
+ /** Visible for tests: build the cached device context from RN platform APIs. */
38
+ export declare function resolveDeviceContextFromSources(sources: {
39
+ platform?: PlatformShape;
40
+ screen?: ScreenShape;
41
+ }): DeviceContext;
42
+ export declare function resolveDeviceContext(): DeviceContext;
43
+ /**
44
+ * Resolve and cache device metadata during {@link Userflow.init}.
45
+ * Re-running init replaces the cache.
46
+ */
47
+ export declare function cacheDeviceContextAtInit(): DeviceContext;
48
+ /** Returns the context cached at init, or `null` before init. */
49
+ export declare function getCachedDeviceContext(): DeviceContext | null;
50
+ /** Returns cached device fields for UpsertUser, or `{}` before init. */
51
+ export declare function deviceContextUserAttributes(): Record<string, string>;
52
+ /** Optional user-attribute keys added by {@link mergeDeviceContextUserAttributes}. */
53
+ export type DeviceContextUserAttributeMap = Partial<{
54
+ [SDK_USER_ATTRIBUTE]: SdkPlatform;
55
+ [DEVICE_OS_USER_ATTRIBUTE]: DeviceOs;
56
+ [DEVICE_TYPE_USER_ATTRIBUTE]: DeviceType;
57
+ }>;
58
+ /** Merges cached device attrs into identify attributes; caller values win on key conflicts. */
59
+ export declare function mergeDeviceContextUserAttributes<T extends Record<string, unknown>>(attributes?: T): (T & DeviceContextUserAttributeMap) | undefined;
60
+ export declare function formatDeviceContextLog(resolved: DeviceContext | null): string;
61
+ /** Log cached user-attribute values. Requires {@link cacheDeviceContextAtInit}. */
62
+ export declare function logDeviceContext(): void;
63
+ /** @internal Resets init cache between tests. */
64
+ export declare function resetCachedDeviceContextForTests(): void;
65
+ export {};
66
+ //# sourceMappingURL=deviceContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deviceContext.d.ts","sourceRoot":"","sources":["../../../../src/deviceContext.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,WAAW,GAAG,cAAc,CAAC;AACzC,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;AACzC,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE5C,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,WAAW,CAAC;IACjB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED,kEAAkE;AAClE,eAAO,MAAM,gCAAgC,MAAM,CAAC;AAEpD,eAAO,MAAM,kBAAkB,QAAQ,CAAC;AACxC,eAAO,MAAM,wBAAwB,cAAc,CAAC;AACpD,eAAO,MAAM,0BAA0B,gBAAgB,CAAC;AAExD,UAAU,aAAa;IACrB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,UAAU,WAAW;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,2EAA2E;AAC3E,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAIpF;AAED,oFAAoF;AACpF,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAEjE;AAED,4EAA4E;AAC5E,wBAAgB,4BAA4B,CAAC,OAAO,EAAE;IACpD,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,GAAG,UAAU,GAAG,SAAS,CAWzB;AAED,gFAAgF;AAChF,wBAAgB,+BAA+B,CAAC,OAAO,EAAE;IACvD,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,GAAG,aAAa,CAQhB;AAwBD,wBAAgB,oBAAoB,IAAI,aAAa,CAEpD;AAKD;;;GAGG;AACH,wBAAgB,wBAAwB,IAAI,aAAa,CAGxD;AAED,iEAAiE;AACjE,wBAAgB,sBAAsB,IAAI,aAAa,GAAG,IAAI,CAE7D;AAED,wEAAwE;AACxE,wBAAgB,2BAA2B,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAQpE;AAED,sFAAsF;AACtF,MAAM,MAAM,6BAA6B,GAAG,OAAO,CAAC;IAClD,CAAC,kBAAkB,CAAC,EAAE,WAAW,CAAC;IAClC,CAAC,wBAAwB,CAAC,EAAE,QAAQ,CAAC;IACrC,CAAC,0BAA0B,CAAC,EAAE,UAAU,CAAC;CAC1C,CAAC,CAAC;AAEH,+FAA+F;AAC/F,wBAAgB,gCAAgC,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChF,UAAU,CAAC,EAAE,CAAC,GACb,CAAC,CAAC,GAAG,6BAA6B,CAAC,GAAG,SAAS,CAMjD;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,GAAG,MAAM,CAO7E;AAED,mFAAmF;AACnF,wBAAgB,gBAAgB,IAAI,IAAI,CAGvC;AAED,iDAAiD;AACjD,wBAAgB,gCAAgC,IAAI,IAAI,CAEvD"}
@@ -1 +1 @@
1
- {"version":3,"file":"useUserflowExpoRouter.d.ts","sourceRoot":"","sources":["../../../../../src/expo-router/useUserflowExpoRouter.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAkB5C"}
1
+ {"version":3,"file":"useUserflowExpoRouter.d.ts","sourceRoot":"","sources":["../../../../../src/expo-router/useUserflowExpoRouter.ts"],"names":[],"mappings":"AAWA;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAwD5C"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Read the host app's native marketing version (store version), not the
3
+ * SDK package version. React Native does not expose the store version on
4
+ * `Platform`; Expo hosts may use optional expo modules; bare RN reads
5
+ * `NativeModules.RNDeviceInfo` constants from the bundled device-info native
6
+ * module (after autolink + rebuild). The OS name is `Platform.OS`.
7
+ *
8
+ * Do not `require('react-native-device-info')` — that package throws at import
9
+ * when the native module is missing, and Metro/Hermes may surface it as uncaught
10
+ * even inside try/catch.
11
+ */
12
+ export type HostAppVersionSource = 'expo-application' | 'expo-constants' | 'react-native-device-info' | 'init-override';
13
+ export interface HostAppVersion {
14
+ version: string;
15
+ build?: string;
16
+ source: HostAppVersionSource;
17
+ }
18
+ export interface RNDeviceInfoConstants {
19
+ appVersion?: string;
20
+ buildNumber?: string;
21
+ }
22
+ /** Visible for tests: map an `expo-application` module shape to a version. */
23
+ export declare function readExpoApplication(mod: unknown): HostAppVersion | null;
24
+ /** Visible for tests: map an `expo-constants` module shape to a version. */
25
+ export declare function readExpoConstants(mod: unknown): HostAppVersion | null;
26
+ /** Visible for tests: map linked RNDeviceInfo native constants to a version. */
27
+ export declare function readDeviceInfoFromNativeModule(module: RNDeviceInfoConstants | null | undefined): HostAppVersion | null;
28
+ /** Visible for tests: first non-null reader wins (Expo modules, then RNDeviceInfo). */
29
+ export declare function resolveHostAppVersionFromSources(sources: {
30
+ expoApplication?: unknown;
31
+ expoConstants?: unknown;
32
+ deviceInfoNative?: RNDeviceInfoConstants | null;
33
+ }): HostAppVersion | null;
34
+ export declare function resolveHostAppVersion(): HostAppVersion | null;
35
+ export interface HostAppVersionInitOptions {
36
+ /** When set, overrides auto-detection for the lifetime of this init. */
37
+ appVersion?: string;
38
+ appBuild?: string;
39
+ }
40
+ /** Visible for tests: resolve version for init, honoring an optional client override. */
41
+ export declare function resolveHostAppVersionForInit(options?: HostAppVersionInitOptions): HostAppVersion | null;
42
+ /**
43
+ * Resolve and cache the host app version during {@link Userflow.init}.
44
+ * Re-running init replaces the cache.
45
+ */
46
+ export declare function cacheHostAppVersionAtInit(options?: HostAppVersionInitOptions): HostAppVersion | null;
47
+ /** Returns the version cached at init, or `null` before init or when unavailable. */
48
+ export declare function getCachedHostAppVersion(): HostAppVersion | null;
49
+ /** User attribute keys for the host app's native store version. */
50
+ export declare const HOST_APP_VERSION_USER_ATTRIBUTE = "app_version";
51
+ export declare const HOST_APP_BUILD_USER_ATTRIBUTE = "app_build";
52
+ /** Returns cached host version fields for UpsertUser, or `{}` when unavailable. */
53
+ export declare function hostAppVersionUserAttributes(): Record<string, string>;
54
+ /** Optional user-attribute keys added by {@link mergeHostAppVersionUserAttributes}. */
55
+ export type HostAppVersionUserAttributeMap = Partial<{
56
+ [HOST_APP_VERSION_USER_ATTRIBUTE]: string;
57
+ [HOST_APP_BUILD_USER_ATTRIBUTE]: string;
58
+ }>;
59
+ /** Merges cached host version attrs into identify attributes; caller values win on key conflicts. */
60
+ export declare function mergeHostAppVersionUserAttributes<T extends Record<string, unknown>>(attributes?: T): (T & HostAppVersionUserAttributeMap) | undefined;
61
+ /** @internal Resets init cache between tests. */
62
+ export declare function resetCachedHostAppVersionForTests(): void;
63
+ export declare function formatHostAppVersionLog(resolved: HostAppVersion | null, os: string): {
64
+ level: 'log' | 'warn';
65
+ message: string;
66
+ };
67
+ /** Log the host app's native version and platform OS to the console. */
68
+ export declare function logHostAppVersion(): void;
69
+ //# sourceMappingURL=hostAppVersion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hostAppVersion.d.ts","sourceRoot":"","sources":["../../../../src/hostAppVersion.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,MAAM,oBAAoB,GAC5B,kBAAkB,GAClB,gBAAgB,GAChB,0BAA0B,GAC1B,eAAe,CAAC;AAEpB,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,oBAAoB,CAAC;CAC9B;AAED,MAAM,WAAW,qBAAqB;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AA+CD,8EAA8E;AAC9E,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,cAAc,GAAG,IAAI,CAOvE;AAED,4EAA4E;AAC5E,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,cAAc,GAAG,IAAI,CAYrE;AAED,gFAAgF;AAChF,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,qBAAqB,GAAG,IAAI,GAAG,SAAS,GAC/C,cAAc,GAAG,IAAI,CAUvB;AAED,uFAAuF;AACvF,wBAAgB,gCAAgC,CAAC,OAAO,EAAE;IACxD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;CACjD,GAAG,cAAc,GAAG,IAAI,CAMxB;AAED,wBAAgB,qBAAqB,IAAI,cAAc,GAAG,IAAI,CAM7D;AAED,MAAM,WAAW,yBAAyB;IACxC,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,yFAAyF;AACzF,wBAAgB,4BAA4B,CAC1C,OAAO,GAAE,yBAA8B,GACtC,cAAc,GAAG,IAAI,CAWvB;AAKD;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,GAAE,yBAA8B,GACtC,cAAc,GAAG,IAAI,CAGvB;AAED,qFAAqF;AACrF,wBAAgB,uBAAuB,IAAI,cAAc,GAAG,IAAI,CAE/D;AAED,mEAAmE;AACnE,eAAO,MAAM,+BAA+B,gBAAgB,CAAC;AAC7D,eAAO,MAAM,6BAA6B,cAAc,CAAC;AAEzD,mFAAmF;AACnF,wBAAgB,4BAA4B,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAOrE;AAED,uFAAuF;AACvF,MAAM,MAAM,8BAA8B,GAAG,OAAO,CAAC;IACnD,CAAC,+BAA+B,CAAC,EAAE,MAAM,CAAC;IAC1C,CAAC,6BAA6B,CAAC,EAAE,MAAM,CAAC;CACzC,CAAC,CAAC;AAEH,qGAAqG;AACrG,wBAAgB,iCAAiC,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjF,UAAU,CAAC,EAAE,CAAC,GACb,CAAC,CAAC,GAAG,8BAA8B,CAAC,GAAG,SAAS,CAMlD;AAED,iDAAiD;AACjD,wBAAgB,iCAAiC,IAAI,IAAI,CAExD;AAaD,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,cAAc,GAAG,IAAI,EAC/B,EAAE,EAAE,MAAM,GACT;IACD,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;CACjB,CAcA;AAED,wEAAwE;AACxE,wBAAgB,iBAAiB,IAAI,IAAI,CAWxC"}