@userflow-tech/react-native 0.1.0 → 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 (850) hide show
  1. package/README.md +114 -68
  2. package/app.plugin.js +13 -0
  3. package/babel-plugin/index.d.ts +43 -0
  4. package/babel-plugin/index.d.ts.map +1 -0
  5. package/babel-plugin/index.js +862 -0
  6. package/babel-plugin/index.js.map +1 -0
  7. package/babel-plugin.js +13 -0
  8. package/docs/anchoring.md +141 -13
  9. package/docs/deep-linking.md +20 -17
  10. package/docs/theme-mapping.md +44 -15
  11. package/docs/troubleshooting.md +37 -30
  12. package/expo-plugin/withUserflow.d.ts +17 -0
  13. package/expo-plugin/withUserflow.d.ts.map +1 -0
  14. package/expo-plugin/withUserflow.js +99 -0
  15. package/expo-plugin/withUserflow.js.map +1 -0
  16. package/lib/commonjs/anchors/AutoAnchorRegistry.js +125 -3
  17. package/lib/commonjs/anchors/AutoAnchorRegistry.js.map +1 -1
  18. package/lib/commonjs/anchors/anchorChangeTicker.js +10 -0
  19. package/lib/commonjs/anchors/anchorChangeTicker.js.map +1 -1
  20. package/lib/commonjs/anchors/autoAnchor.js +1 -1
  21. package/lib/commonjs/anchors/elementConditionEvaluator.js +25 -12
  22. package/lib/commonjs/anchors/elementConditionEvaluator.js.map +1 -1
  23. package/lib/commonjs/anchors/fiber/FiberScanRoot.js +11 -47
  24. package/lib/commonjs/anchors/fiber/FiberScanRoot.js.map +1 -1
  25. package/lib/commonjs/anchors/fiber/FiberScanRootStore.js +50 -0
  26. package/lib/commonjs/anchors/fiber/FiberScanRootStore.js.map +1 -0
  27. package/lib/commonjs/anchors/fiber/fiberInternals.js +145 -3
  28. package/lib/commonjs/anchors/fiber/fiberInternals.js.map +1 -1
  29. package/lib/commonjs/anchors/fiber/indexHostFibers.js +129 -0
  30. package/lib/commonjs/anchors/fiber/indexHostFibers.js.map +1 -0
  31. package/lib/commonjs/anchors/fiber/readHostContent.js +131 -0
  32. package/lib/commonjs/anchors/fiber/readHostContent.js.map +1 -0
  33. package/lib/commonjs/anchors/fiberAnchorCache.js +50 -0
  34. package/lib/commonjs/anchors/fiberAnchorCache.js.map +1 -0
  35. package/lib/commonjs/anchors/hintsCodec.js +1 -1
  36. package/lib/commonjs/anchors/resolveAnchorHost.js +15 -21
  37. package/lib/commonjs/anchors/resolveAnchorHost.js.map +1 -1
  38. package/lib/commonjs/anchors/resolveAutoAnchorHost.js +171 -0
  39. package/lib/commonjs/anchors/resolveAutoAnchorHost.js.map +1 -0
  40. package/lib/commonjs/anchors/semanticMatcher.js +285 -0
  41. package/lib/commonjs/anchors/semanticMatcher.js.map +1 -0
  42. package/lib/commonjs/authoring/ElementPickerOverlay.js +490 -0
  43. package/lib/commonjs/authoring/ElementPickerOverlay.js.map +1 -0
  44. package/lib/commonjs/authoring/capturePickerScreenshot.js +73 -0
  45. package/lib/commonjs/authoring/capturePickerScreenshot.js.map +1 -0
  46. package/lib/commonjs/authoring/chrome/ChromeBarTransition.js +94 -0
  47. package/lib/commonjs/authoring/chrome/ChromeBarTransition.js.map +1 -0
  48. package/lib/commonjs/authoring/chrome/ChromeBottomSheet.js +64 -0
  49. package/lib/commonjs/authoring/chrome/ChromeBottomSheet.js.map +1 -0
  50. package/lib/commonjs/authoring/chrome/ChromeButton.js +94 -0
  51. package/lib/commonjs/authoring/chrome/ChromeButton.js.map +1 -0
  52. package/lib/commonjs/authoring/chrome/ChromeDialog.js +131 -0
  53. package/lib/commonjs/authoring/chrome/ChromeDialog.js.map +1 -0
  54. package/lib/commonjs/authoring/chrome/ChromeIcon.js +39 -0
  55. package/lib/commonjs/authoring/chrome/ChromeIcon.js.map +1 -0
  56. package/lib/commonjs/authoring/chrome/ChromeTooltip.js +88 -0
  57. package/lib/commonjs/authoring/chrome/ChromeTooltip.js.map +1 -0
  58. package/lib/commonjs/authoring/chrome/ChromeTopBar.js +110 -0
  59. package/lib/commonjs/authoring/chrome/ChromeTopBar.js.map +1 -0
  60. package/lib/commonjs/authoring/chrome/DoubleTapBridge.js +57 -0
  61. package/lib/commonjs/authoring/chrome/DoubleTapBridge.js.map +1 -0
  62. package/lib/commonjs/authoring/chrome/doubleTapMonitor.js +80 -0
  63. package/lib/commonjs/authoring/chrome/doubleTapMonitor.js.map +1 -0
  64. package/lib/commonjs/authoring/chrome/icons/arrow-left-from-bracket.png +0 -0
  65. package/lib/commonjs/authoring/chrome/icons/arrow-left-from-bracket@2x.png +0 -0
  66. package/lib/commonjs/authoring/chrome/icons/arrow-left-from-bracket@3x.png +0 -0
  67. package/lib/commonjs/authoring/chrome/icons/arrow-rotate-left.png +0 -0
  68. package/lib/commonjs/authoring/chrome/icons/arrow-rotate-left@2x.png +0 -0
  69. package/lib/commonjs/authoring/chrome/icons/arrow-rotate-left@3x.png +0 -0
  70. package/lib/commonjs/authoring/chrome/icons/userflow-logomark.png +0 -0
  71. package/lib/commonjs/authoring/chrome/icons/userflow-logomark@2x.png +0 -0
  72. package/lib/commonjs/authoring/chrome/icons/userflow-logomark@3x.png +0 -0
  73. package/lib/commonjs/authoring/chrome/icons/xmark.png +0 -0
  74. package/lib/commonjs/authoring/chrome/icons/xmark@2x.png +0 -0
  75. package/lib/commonjs/authoring/chrome/icons/xmark@3x.png +0 -0
  76. package/lib/commonjs/authoring/chrome/tokens.js +150 -0
  77. package/lib/commonjs/authoring/chrome/tokens.js.map +1 -0
  78. package/lib/commonjs/authoring/doubleTap.js +23 -0
  79. package/lib/commonjs/authoring/doubleTap.js.map +1 -0
  80. package/lib/commonjs/authoring/elementPickerController.js +102 -0
  81. package/lib/commonjs/authoring/elementPickerController.js.map +1 -0
  82. package/lib/commonjs/authoring/fingerprintFromInstance.js +195 -0
  83. package/lib/commonjs/authoring/fingerprintFromInstance.js.map +1 -0
  84. package/lib/commonjs/authoring/hitTest.js +106 -0
  85. package/lib/commonjs/authoring/hitTest.js.map +1 -0
  86. package/lib/commonjs/content/RichContentRenderer.js +12 -2
  87. package/lib/commonjs/content/RichContentRenderer.js.map +1 -1
  88. package/lib/commonjs/content/StepButton.js +19 -4
  89. package/lib/commonjs/content/StepButton.js.map +1 -1
  90. package/lib/commonjs/content/resolveStepButtonChrome.js +8 -6
  91. package/lib/commonjs/content/resolveStepButtonChrome.js.map +1 -1
  92. package/lib/commonjs/content/themeColor.js +11 -0
  93. package/lib/commonjs/content/themeColor.js.map +1 -1
  94. package/lib/commonjs/deviceContext.js +158 -0
  95. package/lib/commonjs/deviceContext.js.map +1 -0
  96. package/lib/commonjs/expo-router/useUserflowExpoRouter.js +40 -4
  97. package/lib/commonjs/expo-router/useUserflowExpoRouter.js.map +1 -1
  98. package/lib/commonjs/hostAppVersion.js +242 -0
  99. package/lib/commonjs/hostAppVersion.js.map +1 -0
  100. package/lib/commonjs/index.js +118 -5
  101. package/lib/commonjs/index.js.map +1 -1
  102. package/lib/commonjs/lifecycle.js +2 -0
  103. package/lib/commonjs/lifecycle.js.map +1 -1
  104. package/lib/commonjs/navigation/WithUserflowReactNavigation.js +17 -8
  105. package/lib/commonjs/navigation/WithUserflowReactNavigation.js.map +1 -1
  106. package/lib/commonjs/navigation/isOverlayPresentation.js +64 -0
  107. package/lib/commonjs/navigation/isOverlayPresentation.js.map +1 -0
  108. package/lib/commonjs/pairing/PairingController.js +29 -2
  109. package/lib/commonjs/pairing/PairingController.js.map +1 -1
  110. package/lib/commonjs/pairing/PreviewModeBanner.js +211 -84
  111. package/lib/commonjs/pairing/PreviewModeBanner.js.map +1 -1
  112. package/lib/commonjs/pairing/diagnostics.js +11 -2
  113. package/lib/commonjs/pairing/diagnostics.js.map +1 -1
  114. package/lib/commonjs/pairing/elementPickerRelay.js +91 -0
  115. package/lib/commonjs/pairing/elementPickerRelay.js.map +1 -0
  116. package/lib/commonjs/pairing/resolvePreviewChrome.js +52 -0
  117. package/lib/commonjs/pairing/resolvePreviewChrome.js.map +1 -0
  118. package/lib/commonjs/pairing/tokenStorage.js +25 -2
  119. package/lib/commonjs/pairing/tokenStorage.js.map +1 -1
  120. package/lib/commonjs/pairing/usePairingState.js +3 -1
  121. package/lib/commonjs/pairing/usePairingState.js.map +1 -1
  122. package/lib/commonjs/runtime/FlowRenderer.js +45 -21
  123. package/lib/commonjs/runtime/FlowRenderer.js.map +1 -1
  124. package/lib/commonjs/runtime/FlowSurfaceFade.js +47 -24
  125. package/lib/commonjs/runtime/FlowSurfaceFade.js.map +1 -1
  126. package/lib/commonjs/runtime/TargetPressBridge.js +13 -44
  127. package/lib/commonjs/runtime/TargetPressBridge.js.map +1 -1
  128. package/lib/commonjs/runtime/UserflowProvider.js +74 -20
  129. package/lib/commonjs/runtime/UserflowProvider.js.map +1 -1
  130. package/lib/commonjs/runtime/changedTouchPoints.js +48 -0
  131. package/lib/commonjs/runtime/changedTouchPoints.js.map +1 -0
  132. package/lib/commonjs/runtime/flowEngine.js +3 -1
  133. package/lib/commonjs/runtime/flowEngine.js.map +1 -1
  134. package/lib/commonjs/runtime/flowSessionViewState.js +32 -7
  135. package/lib/commonjs/runtime/flowSessionViewState.js.map +1 -1
  136. package/lib/commonjs/runtime/useFlowSessionState.js +2 -1
  137. package/lib/commonjs/runtime/useFlowSessionState.js.map +1 -1
  138. package/lib/commonjs/screenTracker.js +46 -4
  139. package/lib/commonjs/screenTracker.js.map +1 -1
  140. package/lib/commonjs/surfaces/CardFade.js +31 -0
  141. package/lib/commonjs/surfaces/CardFade.js.map +1 -0
  142. package/lib/commonjs/surfaces/CloseButton.js +11 -6
  143. package/lib/commonjs/surfaces/CloseButton.js.map +1 -1
  144. package/lib/commonjs/surfaces/ModalSurface.js +50 -34
  145. package/lib/commonjs/surfaces/ModalSurface.js.map +1 -1
  146. package/lib/commonjs/surfaces/TooltipSurface.js +366 -87
  147. package/lib/commonjs/surfaces/TooltipSurface.js.map +1 -1
  148. package/lib/commonjs/surfaces/cardTransition.js +70 -0
  149. package/lib/commonjs/surfaces/cardTransition.js.map +1 -0
  150. package/lib/commonjs/surfaces/resolveHighlightChrome.js +109 -0
  151. package/lib/commonjs/surfaces/resolveHighlightChrome.js.map +1 -0
  152. package/lib/commonjs/surfaces/resolveModalLayout.js +7 -3
  153. package/lib/commonjs/surfaces/resolveModalLayout.js.map +1 -1
  154. package/lib/commonjs/surfaces/resolveTooltipLayout.js +0 -4
  155. package/lib/commonjs/surfaces/resolveTooltipLayout.js.map +1 -1
  156. package/lib/commonjs/surfaces/surfaceInteractionConfig.js +33 -0
  157. package/lib/commonjs/surfaces/surfaceInteractionConfig.js.map +1 -0
  158. package/lib/commonjs/surfaces/surfaceLayoutInsets.js +128 -0
  159. package/lib/commonjs/surfaces/surfaceLayoutInsets.js.map +1 -0
  160. package/lib/commonjs/surfaces/themeChrome.js +4 -1
  161. package/lib/commonjs/surfaces/themeChrome.js.map +1 -1
  162. package/lib/commonjs/surfaces/tooltip/TooltipBubble.js +142 -21
  163. package/lib/commonjs/surfaces/tooltip/TooltipBubble.js.map +1 -1
  164. package/lib/commonjs/surfaces/tooltip/TooltipCutout.js +100 -47
  165. package/lib/commonjs/surfaces/tooltip/TooltipCutout.js.map +1 -1
  166. package/lib/commonjs/surfaces/tooltip/TooltipHighlight.js +124 -0
  167. package/lib/commonjs/surfaces/tooltip/TooltipHighlight.js.map +1 -0
  168. package/lib/commonjs/surfaces/tooltip/computeTooltipPosition.js +67 -13
  169. package/lib/commonjs/surfaces/tooltip/computeTooltipPosition.js.map +1 -1
  170. package/lib/commonjs/surfaces/tooltip/inferTooltipPlacement.js +88 -19
  171. package/lib/commonjs/surfaces/tooltip/inferTooltipPlacement.js.map +1 -1
  172. package/lib/commonjs/surfaces/tooltip/placementDiagnostics.js +52 -0
  173. package/lib/commonjs/surfaces/tooltip/placementDiagnostics.js.map +1 -0
  174. package/lib/commonjs/surfaces/tooltip/rect.js +12 -0
  175. package/lib/commonjs/surfaces/tooltip/rect.js.map +1 -1
  176. package/lib/commonjs/surfaces/tooltip/resolveSideCardWidth.js +103 -0
  177. package/lib/commonjs/surfaces/tooltip/resolveSideCardWidth.js.map +1 -0
  178. package/lib/commonjs/version.js +1 -1
  179. package/lib/module/anchors/AutoAnchorRegistry.js +126 -3
  180. package/lib/module/anchors/AutoAnchorRegistry.js.map +1 -1
  181. package/lib/module/anchors/anchorChangeTicker.js +10 -0
  182. package/lib/module/anchors/anchorChangeTicker.js.map +1 -1
  183. package/lib/module/anchors/autoAnchor.js +1 -1
  184. package/lib/module/anchors/elementConditionEvaluator.js +25 -12
  185. package/lib/module/anchors/elementConditionEvaluator.js.map +1 -1
  186. package/lib/module/anchors/fiber/FiberScanRoot.js +2 -43
  187. package/lib/module/anchors/fiber/FiberScanRoot.js.map +1 -1
  188. package/lib/module/anchors/fiber/FiberScanRootStore.js +46 -0
  189. package/lib/module/anchors/fiber/FiberScanRootStore.js.map +1 -0
  190. package/lib/module/anchors/fiber/fiberInternals.js +139 -3
  191. package/lib/module/anchors/fiber/fiberInternals.js.map +1 -1
  192. package/lib/module/anchors/fiber/indexHostFibers.js +122 -0
  193. package/lib/module/anchors/fiber/indexHostFibers.js.map +1 -0
  194. package/lib/module/anchors/fiber/readHostContent.js +127 -0
  195. package/lib/module/anchors/fiber/readHostContent.js.map +1 -0
  196. package/lib/module/anchors/fiberAnchorCache.js +40 -0
  197. package/lib/module/anchors/fiberAnchorCache.js.map +1 -0
  198. package/lib/module/anchors/hintsCodec.js +1 -1
  199. package/lib/module/anchors/resolveAnchorHost.js +15 -21
  200. package/lib/module/anchors/resolveAnchorHost.js.map +1 -1
  201. package/lib/module/anchors/resolveAutoAnchorHost.js +167 -0
  202. package/lib/module/anchors/resolveAutoAnchorHost.js.map +1 -0
  203. package/lib/module/anchors/semanticMatcher.js +280 -0
  204. package/lib/module/anchors/semanticMatcher.js.map +1 -0
  205. package/lib/module/authoring/ElementPickerOverlay.js +485 -0
  206. package/lib/module/authoring/ElementPickerOverlay.js.map +1 -0
  207. package/lib/module/authoring/capturePickerScreenshot.js +68 -0
  208. package/lib/module/authoring/capturePickerScreenshot.js.map +1 -0
  209. package/lib/module/authoring/chrome/ChromeBarTransition.js +88 -0
  210. package/lib/module/authoring/chrome/ChromeBarTransition.js.map +1 -0
  211. package/lib/module/authoring/chrome/ChromeBottomSheet.js +59 -0
  212. package/lib/module/authoring/chrome/ChromeBottomSheet.js.map +1 -0
  213. package/lib/module/authoring/chrome/ChromeButton.js +89 -0
  214. package/lib/module/authoring/chrome/ChromeButton.js.map +1 -0
  215. package/lib/module/authoring/chrome/ChromeDialog.js +126 -0
  216. package/lib/module/authoring/chrome/ChromeDialog.js.map +1 -0
  217. package/lib/module/authoring/chrome/ChromeIcon.js +33 -0
  218. package/lib/module/authoring/chrome/ChromeIcon.js.map +1 -0
  219. package/lib/module/authoring/chrome/ChromeTooltip.js +82 -0
  220. package/lib/module/authoring/chrome/ChromeTooltip.js.map +1 -0
  221. package/lib/module/authoring/chrome/ChromeTopBar.js +104 -0
  222. package/lib/module/authoring/chrome/ChromeTopBar.js.map +1 -0
  223. package/lib/module/authoring/chrome/DoubleTapBridge.js +52 -0
  224. package/lib/module/authoring/chrome/DoubleTapBridge.js.map +1 -0
  225. package/lib/module/authoring/chrome/doubleTapMonitor.js +75 -0
  226. package/lib/module/authoring/chrome/doubleTapMonitor.js.map +1 -0
  227. package/lib/module/authoring/chrome/icons/arrow-left-from-bracket.png +0 -0
  228. package/lib/module/authoring/chrome/icons/arrow-left-from-bracket@2x.png +0 -0
  229. package/lib/module/authoring/chrome/icons/arrow-left-from-bracket@3x.png +0 -0
  230. package/lib/module/authoring/chrome/icons/arrow-rotate-left.png +0 -0
  231. package/lib/module/authoring/chrome/icons/arrow-rotate-left@2x.png +0 -0
  232. package/lib/module/authoring/chrome/icons/arrow-rotate-left@3x.png +0 -0
  233. package/lib/module/authoring/chrome/icons/userflow-logomark.png +0 -0
  234. package/lib/module/authoring/chrome/icons/userflow-logomark@2x.png +0 -0
  235. package/lib/module/authoring/chrome/icons/userflow-logomark@3x.png +0 -0
  236. package/lib/module/authoring/chrome/icons/xmark.png +0 -0
  237. package/lib/module/authoring/chrome/icons/xmark@2x.png +0 -0
  238. package/lib/module/authoring/chrome/icons/xmark@3x.png +0 -0
  239. package/lib/module/authoring/chrome/tokens.js +146 -0
  240. package/lib/module/authoring/chrome/tokens.js.map +1 -0
  241. package/lib/module/authoring/doubleTap.js +18 -0
  242. package/lib/module/authoring/doubleTap.js.map +1 -0
  243. package/lib/module/authoring/elementPickerController.js +97 -0
  244. package/lib/module/authoring/elementPickerController.js.map +1 -0
  245. package/lib/module/authoring/fingerprintFromInstance.js +187 -0
  246. package/lib/module/authoring/fingerprintFromInstance.js.map +1 -0
  247. package/lib/module/authoring/hitTest.js +100 -0
  248. package/lib/module/authoring/hitTest.js.map +1 -0
  249. package/lib/module/content/RichContentRenderer.js +12 -2
  250. package/lib/module/content/RichContentRenderer.js.map +1 -1
  251. package/lib/module/content/StepButton.js +19 -4
  252. package/lib/module/content/StepButton.js.map +1 -1
  253. package/lib/module/content/resolveStepButtonChrome.js +8 -6
  254. package/lib/module/content/resolveStepButtonChrome.js.map +1 -1
  255. package/lib/module/content/themeColor.js +10 -0
  256. package/lib/module/content/themeColor.js.map +1 -1
  257. package/lib/module/deviceContext.js +142 -0
  258. package/lib/module/deviceContext.js.map +1 -0
  259. package/lib/module/expo-router/useUserflowExpoRouter.js +42 -6
  260. package/lib/module/expo-router/useUserflowExpoRouter.js.map +1 -1
  261. package/lib/module/hostAppVersion.js +225 -0
  262. package/lib/module/hostAppVersion.js.map +1 -0
  263. package/lib/module/index.js +119 -6
  264. package/lib/module/index.js.map +1 -1
  265. package/lib/module/lifecycle.js +2 -0
  266. package/lib/module/lifecycle.js.map +1 -1
  267. package/lib/module/navigation/WithUserflowReactNavigation.js +18 -9
  268. package/lib/module/navigation/WithUserflowReactNavigation.js.map +1 -1
  269. package/lib/module/navigation/isOverlayPresentation.js +58 -0
  270. package/lib/module/navigation/isOverlayPresentation.js.map +1 -0
  271. package/lib/module/pairing/PairingController.js +30 -3
  272. package/lib/module/pairing/PairingController.js.map +1 -1
  273. package/lib/module/pairing/PreviewModeBanner.js +212 -85
  274. package/lib/module/pairing/PreviewModeBanner.js.map +1 -1
  275. package/lib/module/pairing/diagnostics.js +10 -2
  276. package/lib/module/pairing/diagnostics.js.map +1 -1
  277. package/lib/module/pairing/elementPickerRelay.js +87 -0
  278. package/lib/module/pairing/elementPickerRelay.js.map +1 -0
  279. package/lib/module/pairing/resolvePreviewChrome.js +48 -0
  280. package/lib/module/pairing/resolvePreviewChrome.js.map +1 -0
  281. package/lib/module/pairing/tokenStorage.js +24 -2
  282. package/lib/module/pairing/tokenStorage.js.map +1 -1
  283. package/lib/module/pairing/usePairingState.js +3 -1
  284. package/lib/module/pairing/usePairingState.js.map +1 -1
  285. package/lib/module/runtime/FlowRenderer.js +45 -21
  286. package/lib/module/runtime/FlowRenderer.js.map +1 -1
  287. package/lib/module/runtime/FlowSurfaceFade.js +49 -26
  288. package/lib/module/runtime/FlowSurfaceFade.js.map +1 -1
  289. package/lib/module/runtime/TargetPressBridge.js +12 -43
  290. package/lib/module/runtime/TargetPressBridge.js.map +1 -1
  291. package/lib/module/runtime/UserflowProvider.js +74 -20
  292. package/lib/module/runtime/UserflowProvider.js.map +1 -1
  293. package/lib/module/runtime/changedTouchPoints.js +43 -0
  294. package/lib/module/runtime/changedTouchPoints.js.map +1 -0
  295. package/lib/module/runtime/flowEngine.js +3 -1
  296. package/lib/module/runtime/flowEngine.js.map +1 -1
  297. package/lib/module/runtime/flowSessionViewState.js +32 -7
  298. package/lib/module/runtime/flowSessionViewState.js.map +1 -1
  299. package/lib/module/runtime/useFlowSessionState.js +2 -1
  300. package/lib/module/runtime/useFlowSessionState.js.map +1 -1
  301. package/lib/module/screenTracker.js +42 -4
  302. package/lib/module/screenTracker.js.map +1 -1
  303. package/lib/module/surfaces/CardFade.js +26 -0
  304. package/lib/module/surfaces/CardFade.js.map +1 -0
  305. package/lib/module/surfaces/CloseButton.js +10 -6
  306. package/lib/module/surfaces/CloseButton.js.map +1 -1
  307. package/lib/module/surfaces/ModalSurface.js +52 -36
  308. package/lib/module/surfaces/ModalSurface.js.map +1 -1
  309. package/lib/module/surfaces/TooltipSurface.js +368 -90
  310. package/lib/module/surfaces/TooltipSurface.js.map +1 -1
  311. package/lib/module/surfaces/cardTransition.js +64 -0
  312. package/lib/module/surfaces/cardTransition.js.map +1 -0
  313. package/lib/module/surfaces/resolveHighlightChrome.js +102 -0
  314. package/lib/module/surfaces/resolveHighlightChrome.js.map +1 -0
  315. package/lib/module/surfaces/resolveModalLayout.js +7 -3
  316. package/lib/module/surfaces/resolveModalLayout.js.map +1 -1
  317. package/lib/module/surfaces/resolveTooltipLayout.js +1 -4
  318. package/lib/module/surfaces/resolveTooltipLayout.js.map +1 -1
  319. package/lib/module/surfaces/surfaceInteractionConfig.js +27 -0
  320. package/lib/module/surfaces/surfaceInteractionConfig.js.map +1 -0
  321. package/lib/module/surfaces/surfaceLayoutInsets.js +119 -0
  322. package/lib/module/surfaces/surfaceLayoutInsets.js.map +1 -0
  323. package/lib/module/surfaces/themeChrome.js +3 -1
  324. package/lib/module/surfaces/themeChrome.js.map +1 -1
  325. package/lib/module/surfaces/tooltip/TooltipBubble.js +143 -22
  326. package/lib/module/surfaces/tooltip/TooltipBubble.js.map +1 -1
  327. package/lib/module/surfaces/tooltip/TooltipCutout.js +100 -47
  328. package/lib/module/surfaces/tooltip/TooltipCutout.js.map +1 -1
  329. package/lib/module/surfaces/tooltip/TooltipHighlight.js +118 -0
  330. package/lib/module/surfaces/tooltip/TooltipHighlight.js.map +1 -0
  331. package/lib/module/surfaces/tooltip/computeTooltipPosition.js +67 -13
  332. package/lib/module/surfaces/tooltip/computeTooltipPosition.js.map +1 -1
  333. package/lib/module/surfaces/tooltip/inferTooltipPlacement.js +87 -19
  334. package/lib/module/surfaces/tooltip/inferTooltipPlacement.js.map +1 -1
  335. package/lib/module/surfaces/tooltip/placementDiagnostics.js +43 -0
  336. package/lib/module/surfaces/tooltip/placementDiagnostics.js.map +1 -0
  337. package/lib/module/surfaces/tooltip/rect.js +11 -0
  338. package/lib/module/surfaces/tooltip/rect.js.map +1 -1
  339. package/lib/module/surfaces/tooltip/resolveSideCardWidth.js +96 -0
  340. package/lib/module/surfaces/tooltip/resolveSideCardWidth.js.map +1 -0
  341. package/lib/module/version.js +1 -1
  342. package/lib/typescript/commonjs/src/anchors/AutoAnchorRegistry.d.ts +27 -1
  343. package/lib/typescript/commonjs/src/anchors/AutoAnchorRegistry.d.ts.map +1 -1
  344. package/lib/typescript/commonjs/src/anchors/anchorChangeTicker.d.ts +2 -0
  345. package/lib/typescript/commonjs/src/anchors/anchorChangeTicker.d.ts.map +1 -1
  346. package/lib/typescript/commonjs/src/anchors/autoAnchor.d.ts +1 -1
  347. package/lib/typescript/commonjs/src/anchors/elementConditionEvaluator.d.ts +14 -10
  348. package/lib/typescript/commonjs/src/anchors/elementConditionEvaluator.d.ts.map +1 -1
  349. package/lib/typescript/commonjs/src/anchors/fiber/FiberScanRoot.d.ts +1 -20
  350. package/lib/typescript/commonjs/src/anchors/fiber/FiberScanRoot.d.ts.map +1 -1
  351. package/lib/typescript/commonjs/src/anchors/fiber/FiberScanRootStore.d.ts +21 -0
  352. package/lib/typescript/commonjs/src/anchors/fiber/FiberScanRootStore.d.ts.map +1 -0
  353. package/lib/typescript/commonjs/src/anchors/fiber/fiberInternals.d.ts +42 -1
  354. package/lib/typescript/commonjs/src/anchors/fiber/fiberInternals.d.ts.map +1 -1
  355. package/lib/typescript/commonjs/src/anchors/fiber/indexHostFibers.d.ts +42 -0
  356. package/lib/typescript/commonjs/src/anchors/fiber/indexHostFibers.d.ts.map +1 -0
  357. package/lib/typescript/commonjs/src/anchors/fiber/readHostContent.d.ts +17 -0
  358. package/lib/typescript/commonjs/src/anchors/fiber/readHostContent.d.ts.map +1 -0
  359. package/lib/typescript/commonjs/src/anchors/fiberAnchorCache.d.ts +20 -0
  360. package/lib/typescript/commonjs/src/anchors/fiberAnchorCache.d.ts.map +1 -0
  361. package/lib/typescript/commonjs/src/anchors/hintsCodec.d.ts +1 -1
  362. package/lib/typescript/commonjs/src/anchors/resolveAnchorHost.d.ts +5 -5
  363. package/lib/typescript/commonjs/src/anchors/resolveAnchorHost.d.ts.map +1 -1
  364. package/lib/typescript/commonjs/src/anchors/resolveAutoAnchorHost.d.ts +38 -0
  365. package/lib/typescript/commonjs/src/anchors/resolveAutoAnchorHost.d.ts.map +1 -0
  366. package/lib/typescript/commonjs/src/anchors/semanticMatcher.d.ts +48 -0
  367. package/lib/typescript/commonjs/src/anchors/semanticMatcher.d.ts.map +1 -0
  368. package/lib/typescript/commonjs/src/authoring/ElementPickerOverlay.d.ts +7 -0
  369. package/lib/typescript/commonjs/src/authoring/ElementPickerOverlay.d.ts.map +1 -0
  370. package/lib/typescript/commonjs/src/authoring/capturePickerScreenshot.d.ts +11 -0
  371. package/lib/typescript/commonjs/src/authoring/capturePickerScreenshot.d.ts.map +1 -0
  372. package/lib/typescript/commonjs/src/authoring/chrome/ChromeBarTransition.d.ts +32 -0
  373. package/lib/typescript/commonjs/src/authoring/chrome/ChromeBarTransition.d.ts.map +1 -0
  374. package/lib/typescript/commonjs/src/authoring/chrome/ChromeBottomSheet.d.ts +13 -0
  375. package/lib/typescript/commonjs/src/authoring/chrome/ChromeBottomSheet.d.ts.map +1 -0
  376. package/lib/typescript/commonjs/src/authoring/chrome/ChromeButton.d.ts +20 -0
  377. package/lib/typescript/commonjs/src/authoring/chrome/ChromeButton.d.ts.map +1 -0
  378. package/lib/typescript/commonjs/src/authoring/chrome/ChromeDialog.d.ts +14 -0
  379. package/lib/typescript/commonjs/src/authoring/chrome/ChromeDialog.d.ts.map +1 -0
  380. package/lib/typescript/commonjs/src/authoring/chrome/ChromeIcon.d.ts +13 -0
  381. package/lib/typescript/commonjs/src/authoring/chrome/ChromeIcon.d.ts.map +1 -0
  382. package/lib/typescript/commonjs/src/authoring/chrome/ChromeTooltip.d.ts +17 -0
  383. package/lib/typescript/commonjs/src/authoring/chrome/ChromeTooltip.d.ts.map +1 -0
  384. package/lib/typescript/commonjs/src/authoring/chrome/ChromeTopBar.d.ts +25 -0
  385. package/lib/typescript/commonjs/src/authoring/chrome/ChromeTopBar.d.ts.map +1 -0
  386. package/lib/typescript/commonjs/src/authoring/chrome/DoubleTapBridge.d.ts +12 -0
  387. package/lib/typescript/commonjs/src/authoring/chrome/DoubleTapBridge.d.ts.map +1 -0
  388. package/lib/typescript/commonjs/src/authoring/chrome/doubleTapMonitor.d.ts +26 -0
  389. package/lib/typescript/commonjs/src/authoring/chrome/doubleTapMonitor.d.ts.map +1 -0
  390. package/lib/typescript/commonjs/src/authoring/chrome/tokens.d.ts +141 -0
  391. package/lib/typescript/commonjs/src/authoring/chrome/tokens.d.ts.map +1 -0
  392. package/lib/typescript/commonjs/src/authoring/doubleTap.d.ts +14 -0
  393. package/lib/typescript/commonjs/src/authoring/doubleTap.d.ts.map +1 -0
  394. package/lib/typescript/commonjs/src/authoring/elementPickerController.d.ts +59 -0
  395. package/lib/typescript/commonjs/src/authoring/elementPickerController.d.ts.map +1 -0
  396. package/lib/typescript/commonjs/src/authoring/fingerprintFromInstance.d.ts +26 -0
  397. package/lib/typescript/commonjs/src/authoring/fingerprintFromInstance.d.ts.map +1 -0
  398. package/lib/typescript/commonjs/src/authoring/hitTest.d.ts +31 -0
  399. package/lib/typescript/commonjs/src/authoring/hitTest.d.ts.map +1 -0
  400. package/lib/typescript/commonjs/src/content/RichContentRenderer.d.ts +6 -1
  401. package/lib/typescript/commonjs/src/content/RichContentRenderer.d.ts.map +1 -1
  402. package/lib/typescript/commonjs/src/content/StepButton.d.ts.map +1 -1
  403. package/lib/typescript/commonjs/src/content/resolveStepButtonChrome.d.ts.map +1 -1
  404. package/lib/typescript/commonjs/src/content/themeColor.d.ts +5 -0
  405. package/lib/typescript/commonjs/src/content/themeColor.d.ts.map +1 -1
  406. package/lib/typescript/commonjs/src/deviceContext.d.ts +66 -0
  407. package/lib/typescript/commonjs/src/deviceContext.d.ts.map +1 -0
  408. package/lib/typescript/commonjs/src/expo-router/useUserflowExpoRouter.d.ts.map +1 -1
  409. package/lib/typescript/commonjs/src/hostAppVersion.d.ts +69 -0
  410. package/lib/typescript/commonjs/src/hostAppVersion.d.ts.map +1 -0
  411. package/lib/typescript/commonjs/src/index.d.ts +53 -2
  412. package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
  413. package/lib/typescript/commonjs/src/lifecycle.d.ts +6 -0
  414. package/lib/typescript/commonjs/src/lifecycle.d.ts.map +1 -1
  415. package/lib/typescript/commonjs/src/navigation/WithUserflowReactNavigation.d.ts.map +1 -1
  416. package/lib/typescript/commonjs/src/navigation/isOverlayPresentation.d.ts +14 -0
  417. package/lib/typescript/commonjs/src/navigation/isOverlayPresentation.d.ts.map +1 -0
  418. package/lib/typescript/commonjs/src/pairing/PairingController.d.ts +7 -0
  419. package/lib/typescript/commonjs/src/pairing/PairingController.d.ts.map +1 -1
  420. package/lib/typescript/commonjs/src/pairing/PreviewModeBanner.d.ts +6 -1
  421. package/lib/typescript/commonjs/src/pairing/PreviewModeBanner.d.ts.map +1 -1
  422. package/lib/typescript/commonjs/src/pairing/diagnostics.d.ts +5 -0
  423. package/lib/typescript/commonjs/src/pairing/diagnostics.d.ts.map +1 -1
  424. package/lib/typescript/commonjs/src/pairing/elementPickerRelay.d.ts +11 -0
  425. package/lib/typescript/commonjs/src/pairing/elementPickerRelay.d.ts.map +1 -0
  426. package/lib/typescript/commonjs/src/pairing/resolvePreviewChrome.d.ts +16 -0
  427. package/lib/typescript/commonjs/src/pairing/resolvePreviewChrome.d.ts.map +1 -0
  428. package/lib/typescript/commonjs/src/pairing/tokenStorage.d.ts +2 -0
  429. package/lib/typescript/commonjs/src/pairing/tokenStorage.d.ts.map +1 -1
  430. package/lib/typescript/commonjs/src/pairing/usePairingState.d.ts.map +1 -1
  431. package/lib/typescript/commonjs/src/runtime/FlowRenderer.d.ts +6 -3
  432. package/lib/typescript/commonjs/src/runtime/FlowRenderer.d.ts.map +1 -1
  433. package/lib/typescript/commonjs/src/runtime/FlowSurfaceFade.d.ts +20 -7
  434. package/lib/typescript/commonjs/src/runtime/FlowSurfaceFade.d.ts.map +1 -1
  435. package/lib/typescript/commonjs/src/runtime/TargetPressBridge.d.ts +5 -1
  436. package/lib/typescript/commonjs/src/runtime/TargetPressBridge.d.ts.map +1 -1
  437. package/lib/typescript/commonjs/src/runtime/UserflowProvider.d.ts +6 -4
  438. package/lib/typescript/commonjs/src/runtime/UserflowProvider.d.ts.map +1 -1
  439. package/lib/typescript/commonjs/src/runtime/changedTouchPoints.d.ts +10 -0
  440. package/lib/typescript/commonjs/src/runtime/changedTouchPoints.d.ts.map +1 -0
  441. package/lib/typescript/commonjs/src/runtime/flowEngine.d.ts.map +1 -1
  442. package/lib/typescript/commonjs/src/runtime/flowSessionViewState.d.ts +12 -3
  443. package/lib/typescript/commonjs/src/runtime/flowSessionViewState.d.ts.map +1 -1
  444. package/lib/typescript/commonjs/src/runtime/useFlowSessionState.d.ts +1 -0
  445. package/lib/typescript/commonjs/src/runtime/useFlowSessionState.d.ts.map +1 -1
  446. package/lib/typescript/commonjs/src/screenTracker.d.ts +21 -3
  447. package/lib/typescript/commonjs/src/screenTracker.d.ts.map +1 -1
  448. package/lib/typescript/commonjs/src/surfaces/CardFade.d.ts +12 -0
  449. package/lib/typescript/commonjs/src/surfaces/CardFade.d.ts.map +1 -0
  450. package/lib/typescript/commonjs/src/surfaces/CloseButton.d.ts +8 -2
  451. package/lib/typescript/commonjs/src/surfaces/CloseButton.d.ts.map +1 -1
  452. package/lib/typescript/commonjs/src/surfaces/MadeWithUserflow.d.ts +1 -1
  453. package/lib/typescript/commonjs/src/surfaces/ModalSurface.d.ts +1 -1
  454. package/lib/typescript/commonjs/src/surfaces/ModalSurface.d.ts.map +1 -1
  455. package/lib/typescript/commonjs/src/surfaces/TooltipSurface.d.ts +12 -1
  456. package/lib/typescript/commonjs/src/surfaces/TooltipSurface.d.ts.map +1 -1
  457. package/lib/typescript/commonjs/src/surfaces/cardTransition.d.ts +31 -0
  458. package/lib/typescript/commonjs/src/surfaces/cardTransition.d.ts.map +1 -0
  459. package/lib/typescript/commonjs/src/surfaces/resolveHighlightChrome.d.ts +44 -0
  460. package/lib/typescript/commonjs/src/surfaces/resolveHighlightChrome.d.ts.map +1 -0
  461. package/lib/typescript/commonjs/src/surfaces/resolveModalLayout.d.ts +1 -1
  462. package/lib/typescript/commonjs/src/surfaces/resolveModalLayout.d.ts.map +1 -1
  463. package/lib/typescript/commonjs/src/surfaces/resolveTooltipLayout.d.ts +0 -7
  464. package/lib/typescript/commonjs/src/surfaces/resolveTooltipLayout.d.ts.map +1 -1
  465. package/lib/typescript/commonjs/src/surfaces/surfaceInteractionConfig.d.ts +15 -0
  466. package/lib/typescript/commonjs/src/surfaces/surfaceInteractionConfig.d.ts.map +1 -0
  467. package/lib/typescript/commonjs/src/surfaces/surfaceLayoutInsets.d.ts +38 -0
  468. package/lib/typescript/commonjs/src/surfaces/surfaceLayoutInsets.d.ts.map +1 -0
  469. package/lib/typescript/commonjs/src/surfaces/themeChrome.d.ts +3 -1
  470. package/lib/typescript/commonjs/src/surfaces/themeChrome.d.ts.map +1 -1
  471. package/lib/typescript/commonjs/src/surfaces/tooltip/TooltipBubble.d.ts +21 -6
  472. package/lib/typescript/commonjs/src/surfaces/tooltip/TooltipBubble.d.ts.map +1 -1
  473. package/lib/typescript/commonjs/src/surfaces/tooltip/TooltipCutout.d.ts +18 -10
  474. package/lib/typescript/commonjs/src/surfaces/tooltip/TooltipCutout.d.ts.map +1 -1
  475. package/lib/typescript/commonjs/src/surfaces/tooltip/TooltipHighlight.d.ts +25 -0
  476. package/lib/typescript/commonjs/src/surfaces/tooltip/TooltipHighlight.d.ts.map +1 -0
  477. package/lib/typescript/commonjs/src/surfaces/tooltip/computeTooltipPosition.d.ts +23 -0
  478. package/lib/typescript/commonjs/src/surfaces/tooltip/computeTooltipPosition.d.ts.map +1 -1
  479. package/lib/typescript/commonjs/src/surfaces/tooltip/inferTooltipPlacement.d.ts +47 -1
  480. package/lib/typescript/commonjs/src/surfaces/tooltip/inferTooltipPlacement.d.ts.map +1 -1
  481. package/lib/typescript/commonjs/src/surfaces/tooltip/placementDiagnostics.d.ts +39 -0
  482. package/lib/typescript/commonjs/src/surfaces/tooltip/placementDiagnostics.d.ts.map +1 -0
  483. package/lib/typescript/commonjs/src/surfaces/tooltip/rect.d.ts +2 -0
  484. package/lib/typescript/commonjs/src/surfaces/tooltip/rect.d.ts.map +1 -1
  485. package/lib/typescript/commonjs/src/surfaces/tooltip/resolveSideCardWidth.d.ts +76 -0
  486. package/lib/typescript/commonjs/src/surfaces/tooltip/resolveSideCardWidth.d.ts.map +1 -0
  487. package/lib/typescript/commonjs/src/version.d.ts +1 -1
  488. package/lib/typescript/module/src/anchors/AutoAnchorRegistry.d.ts +27 -1
  489. package/lib/typescript/module/src/anchors/AutoAnchorRegistry.d.ts.map +1 -1
  490. package/lib/typescript/module/src/anchors/anchorChangeTicker.d.ts +2 -0
  491. package/lib/typescript/module/src/anchors/anchorChangeTicker.d.ts.map +1 -1
  492. package/lib/typescript/module/src/anchors/autoAnchor.d.ts +1 -1
  493. package/lib/typescript/module/src/anchors/elementConditionEvaluator.d.ts +14 -10
  494. package/lib/typescript/module/src/anchors/elementConditionEvaluator.d.ts.map +1 -1
  495. package/lib/typescript/module/src/anchors/fiber/FiberScanRoot.d.ts +1 -20
  496. package/lib/typescript/module/src/anchors/fiber/FiberScanRoot.d.ts.map +1 -1
  497. package/lib/typescript/module/src/anchors/fiber/FiberScanRootStore.d.ts +21 -0
  498. package/lib/typescript/module/src/anchors/fiber/FiberScanRootStore.d.ts.map +1 -0
  499. package/lib/typescript/module/src/anchors/fiber/fiberInternals.d.ts +42 -1
  500. package/lib/typescript/module/src/anchors/fiber/fiberInternals.d.ts.map +1 -1
  501. package/lib/typescript/module/src/anchors/fiber/indexHostFibers.d.ts +42 -0
  502. package/lib/typescript/module/src/anchors/fiber/indexHostFibers.d.ts.map +1 -0
  503. package/lib/typescript/module/src/anchors/fiber/readHostContent.d.ts +17 -0
  504. package/lib/typescript/module/src/anchors/fiber/readHostContent.d.ts.map +1 -0
  505. package/lib/typescript/module/src/anchors/fiberAnchorCache.d.ts +20 -0
  506. package/lib/typescript/module/src/anchors/fiberAnchorCache.d.ts.map +1 -0
  507. package/lib/typescript/module/src/anchors/hintsCodec.d.ts +1 -1
  508. package/lib/typescript/module/src/anchors/resolveAnchorHost.d.ts +5 -5
  509. package/lib/typescript/module/src/anchors/resolveAnchorHost.d.ts.map +1 -1
  510. package/lib/typescript/module/src/anchors/resolveAutoAnchorHost.d.ts +38 -0
  511. package/lib/typescript/module/src/anchors/resolveAutoAnchorHost.d.ts.map +1 -0
  512. package/lib/typescript/module/src/anchors/semanticMatcher.d.ts +48 -0
  513. package/lib/typescript/module/src/anchors/semanticMatcher.d.ts.map +1 -0
  514. package/lib/typescript/module/src/authoring/ElementPickerOverlay.d.ts +7 -0
  515. package/lib/typescript/module/src/authoring/ElementPickerOverlay.d.ts.map +1 -0
  516. package/lib/typescript/module/src/authoring/capturePickerScreenshot.d.ts +11 -0
  517. package/lib/typescript/module/src/authoring/capturePickerScreenshot.d.ts.map +1 -0
  518. package/lib/typescript/module/src/authoring/chrome/ChromeBarTransition.d.ts +32 -0
  519. package/lib/typescript/module/src/authoring/chrome/ChromeBarTransition.d.ts.map +1 -0
  520. package/lib/typescript/module/src/authoring/chrome/ChromeBottomSheet.d.ts +13 -0
  521. package/lib/typescript/module/src/authoring/chrome/ChromeBottomSheet.d.ts.map +1 -0
  522. package/lib/typescript/module/src/authoring/chrome/ChromeButton.d.ts +20 -0
  523. package/lib/typescript/module/src/authoring/chrome/ChromeButton.d.ts.map +1 -0
  524. package/lib/typescript/module/src/authoring/chrome/ChromeDialog.d.ts +14 -0
  525. package/lib/typescript/module/src/authoring/chrome/ChromeDialog.d.ts.map +1 -0
  526. package/lib/typescript/module/src/authoring/chrome/ChromeIcon.d.ts +13 -0
  527. package/lib/typescript/module/src/authoring/chrome/ChromeIcon.d.ts.map +1 -0
  528. package/lib/typescript/module/src/authoring/chrome/ChromeTooltip.d.ts +17 -0
  529. package/lib/typescript/module/src/authoring/chrome/ChromeTooltip.d.ts.map +1 -0
  530. package/lib/typescript/module/src/authoring/chrome/ChromeTopBar.d.ts +25 -0
  531. package/lib/typescript/module/src/authoring/chrome/ChromeTopBar.d.ts.map +1 -0
  532. package/lib/typescript/module/src/authoring/chrome/DoubleTapBridge.d.ts +12 -0
  533. package/lib/typescript/module/src/authoring/chrome/DoubleTapBridge.d.ts.map +1 -0
  534. package/lib/typescript/module/src/authoring/chrome/doubleTapMonitor.d.ts +26 -0
  535. package/lib/typescript/module/src/authoring/chrome/doubleTapMonitor.d.ts.map +1 -0
  536. package/lib/typescript/module/src/authoring/chrome/tokens.d.ts +141 -0
  537. package/lib/typescript/module/src/authoring/chrome/tokens.d.ts.map +1 -0
  538. package/lib/typescript/module/src/authoring/doubleTap.d.ts +14 -0
  539. package/lib/typescript/module/src/authoring/doubleTap.d.ts.map +1 -0
  540. package/lib/typescript/module/src/authoring/elementPickerController.d.ts +59 -0
  541. package/lib/typescript/module/src/authoring/elementPickerController.d.ts.map +1 -0
  542. package/lib/typescript/module/src/authoring/fingerprintFromInstance.d.ts +26 -0
  543. package/lib/typescript/module/src/authoring/fingerprintFromInstance.d.ts.map +1 -0
  544. package/lib/typescript/module/src/authoring/hitTest.d.ts +31 -0
  545. package/lib/typescript/module/src/authoring/hitTest.d.ts.map +1 -0
  546. package/lib/typescript/module/src/content/RichContentRenderer.d.ts +6 -1
  547. package/lib/typescript/module/src/content/RichContentRenderer.d.ts.map +1 -1
  548. package/lib/typescript/module/src/content/StepButton.d.ts.map +1 -1
  549. package/lib/typescript/module/src/content/resolveStepButtonChrome.d.ts.map +1 -1
  550. package/lib/typescript/module/src/content/themeColor.d.ts +5 -0
  551. package/lib/typescript/module/src/content/themeColor.d.ts.map +1 -1
  552. package/lib/typescript/module/src/deviceContext.d.ts +66 -0
  553. package/lib/typescript/module/src/deviceContext.d.ts.map +1 -0
  554. package/lib/typescript/module/src/expo-router/useUserflowExpoRouter.d.ts.map +1 -1
  555. package/lib/typescript/module/src/hostAppVersion.d.ts +69 -0
  556. package/lib/typescript/module/src/hostAppVersion.d.ts.map +1 -0
  557. package/lib/typescript/module/src/index.d.ts +53 -2
  558. package/lib/typescript/module/src/index.d.ts.map +1 -1
  559. package/lib/typescript/module/src/lifecycle.d.ts +6 -0
  560. package/lib/typescript/module/src/lifecycle.d.ts.map +1 -1
  561. package/lib/typescript/module/src/navigation/WithUserflowReactNavigation.d.ts.map +1 -1
  562. package/lib/typescript/module/src/navigation/isOverlayPresentation.d.ts +14 -0
  563. package/lib/typescript/module/src/navigation/isOverlayPresentation.d.ts.map +1 -0
  564. package/lib/typescript/module/src/pairing/PairingController.d.ts +7 -0
  565. package/lib/typescript/module/src/pairing/PairingController.d.ts.map +1 -1
  566. package/lib/typescript/module/src/pairing/PreviewModeBanner.d.ts +6 -1
  567. package/lib/typescript/module/src/pairing/PreviewModeBanner.d.ts.map +1 -1
  568. package/lib/typescript/module/src/pairing/diagnostics.d.ts +5 -0
  569. package/lib/typescript/module/src/pairing/diagnostics.d.ts.map +1 -1
  570. package/lib/typescript/module/src/pairing/elementPickerRelay.d.ts +11 -0
  571. package/lib/typescript/module/src/pairing/elementPickerRelay.d.ts.map +1 -0
  572. package/lib/typescript/module/src/pairing/resolvePreviewChrome.d.ts +16 -0
  573. package/lib/typescript/module/src/pairing/resolvePreviewChrome.d.ts.map +1 -0
  574. package/lib/typescript/module/src/pairing/tokenStorage.d.ts +2 -0
  575. package/lib/typescript/module/src/pairing/tokenStorage.d.ts.map +1 -1
  576. package/lib/typescript/module/src/pairing/usePairingState.d.ts.map +1 -1
  577. package/lib/typescript/module/src/runtime/FlowRenderer.d.ts +6 -3
  578. package/lib/typescript/module/src/runtime/FlowRenderer.d.ts.map +1 -1
  579. package/lib/typescript/module/src/runtime/FlowSurfaceFade.d.ts +20 -7
  580. package/lib/typescript/module/src/runtime/FlowSurfaceFade.d.ts.map +1 -1
  581. package/lib/typescript/module/src/runtime/TargetPressBridge.d.ts +5 -1
  582. package/lib/typescript/module/src/runtime/TargetPressBridge.d.ts.map +1 -1
  583. package/lib/typescript/module/src/runtime/UserflowProvider.d.ts +6 -4
  584. package/lib/typescript/module/src/runtime/UserflowProvider.d.ts.map +1 -1
  585. package/lib/typescript/module/src/runtime/changedTouchPoints.d.ts +10 -0
  586. package/lib/typescript/module/src/runtime/changedTouchPoints.d.ts.map +1 -0
  587. package/lib/typescript/module/src/runtime/flowEngine.d.ts.map +1 -1
  588. package/lib/typescript/module/src/runtime/flowSessionViewState.d.ts +12 -3
  589. package/lib/typescript/module/src/runtime/flowSessionViewState.d.ts.map +1 -1
  590. package/lib/typescript/module/src/runtime/useFlowSessionState.d.ts +1 -0
  591. package/lib/typescript/module/src/runtime/useFlowSessionState.d.ts.map +1 -1
  592. package/lib/typescript/module/src/screenTracker.d.ts +21 -3
  593. package/lib/typescript/module/src/screenTracker.d.ts.map +1 -1
  594. package/lib/typescript/module/src/surfaces/CardFade.d.ts +12 -0
  595. package/lib/typescript/module/src/surfaces/CardFade.d.ts.map +1 -0
  596. package/lib/typescript/module/src/surfaces/CloseButton.d.ts +8 -2
  597. package/lib/typescript/module/src/surfaces/CloseButton.d.ts.map +1 -1
  598. package/lib/typescript/module/src/surfaces/MadeWithUserflow.d.ts +1 -1
  599. package/lib/typescript/module/src/surfaces/ModalSurface.d.ts +1 -1
  600. package/lib/typescript/module/src/surfaces/ModalSurface.d.ts.map +1 -1
  601. package/lib/typescript/module/src/surfaces/TooltipSurface.d.ts +12 -1
  602. package/lib/typescript/module/src/surfaces/TooltipSurface.d.ts.map +1 -1
  603. package/lib/typescript/module/src/surfaces/cardTransition.d.ts +31 -0
  604. package/lib/typescript/module/src/surfaces/cardTransition.d.ts.map +1 -0
  605. package/lib/typescript/module/src/surfaces/resolveHighlightChrome.d.ts +44 -0
  606. package/lib/typescript/module/src/surfaces/resolveHighlightChrome.d.ts.map +1 -0
  607. package/lib/typescript/module/src/surfaces/resolveModalLayout.d.ts +1 -1
  608. package/lib/typescript/module/src/surfaces/resolveModalLayout.d.ts.map +1 -1
  609. package/lib/typescript/module/src/surfaces/resolveTooltipLayout.d.ts +0 -7
  610. package/lib/typescript/module/src/surfaces/resolveTooltipLayout.d.ts.map +1 -1
  611. package/lib/typescript/module/src/surfaces/surfaceInteractionConfig.d.ts +15 -0
  612. package/lib/typescript/module/src/surfaces/surfaceInteractionConfig.d.ts.map +1 -0
  613. package/lib/typescript/module/src/surfaces/surfaceLayoutInsets.d.ts +38 -0
  614. package/lib/typescript/module/src/surfaces/surfaceLayoutInsets.d.ts.map +1 -0
  615. package/lib/typescript/module/src/surfaces/themeChrome.d.ts +3 -1
  616. package/lib/typescript/module/src/surfaces/themeChrome.d.ts.map +1 -1
  617. package/lib/typescript/module/src/surfaces/tooltip/TooltipBubble.d.ts +21 -6
  618. package/lib/typescript/module/src/surfaces/tooltip/TooltipBubble.d.ts.map +1 -1
  619. package/lib/typescript/module/src/surfaces/tooltip/TooltipCutout.d.ts +18 -10
  620. package/lib/typescript/module/src/surfaces/tooltip/TooltipCutout.d.ts.map +1 -1
  621. package/lib/typescript/module/src/surfaces/tooltip/TooltipHighlight.d.ts +25 -0
  622. package/lib/typescript/module/src/surfaces/tooltip/TooltipHighlight.d.ts.map +1 -0
  623. package/lib/typescript/module/src/surfaces/tooltip/computeTooltipPosition.d.ts +23 -0
  624. package/lib/typescript/module/src/surfaces/tooltip/computeTooltipPosition.d.ts.map +1 -1
  625. package/lib/typescript/module/src/surfaces/tooltip/inferTooltipPlacement.d.ts +47 -1
  626. package/lib/typescript/module/src/surfaces/tooltip/inferTooltipPlacement.d.ts.map +1 -1
  627. package/lib/typescript/module/src/surfaces/tooltip/placementDiagnostics.d.ts +39 -0
  628. package/lib/typescript/module/src/surfaces/tooltip/placementDiagnostics.d.ts.map +1 -0
  629. package/lib/typescript/module/src/surfaces/tooltip/rect.d.ts +2 -0
  630. package/lib/typescript/module/src/surfaces/tooltip/rect.d.ts.map +1 -1
  631. package/lib/typescript/module/src/surfaces/tooltip/resolveSideCardWidth.d.ts +76 -0
  632. package/lib/typescript/module/src/surfaces/tooltip/resolveSideCardWidth.d.ts.map +1 -0
  633. package/lib/typescript/module/src/version.d.ts +1 -1
  634. package/package.json +32 -18
  635. package/src/anchors/AutoAnchorRegistry.ts +140 -3
  636. package/src/anchors/anchorChangeTicker.ts +10 -0
  637. package/src/anchors/autoAnchor.ts +1 -1
  638. package/src/anchors/elementConditionEvaluator.ts +29 -16
  639. package/src/anchors/fiber/FiberScanRoot.tsx +2 -50
  640. package/src/anchors/fiber/FiberScanRootStore.ts +51 -0
  641. package/src/anchors/fiber/fiberInternals.ts +166 -3
  642. package/src/anchors/fiber/indexHostFibers.ts +136 -0
  643. package/src/anchors/fiber/readHostContent.ts +146 -0
  644. package/src/anchors/fiberAnchorCache.ts +45 -0
  645. package/src/anchors/hintsCodec.ts +1 -1
  646. package/src/anchors/resolveAnchorHost.ts +23 -23
  647. package/src/anchors/resolveAutoAnchorHost.ts +180 -0
  648. package/src/anchors/semanticMatcher.ts +361 -0
  649. package/src/authoring/ElementPickerOverlay.tsx +553 -0
  650. package/src/authoring/capturePickerScreenshot.ts +90 -0
  651. package/src/authoring/chrome/ChromeBarTransition.tsx +106 -0
  652. package/src/authoring/chrome/ChromeBottomSheet.tsx +69 -0
  653. package/src/authoring/chrome/ChromeButton.tsx +103 -0
  654. package/src/authoring/chrome/ChromeDialog.tsx +121 -0
  655. package/src/authoring/chrome/ChromeIcon.tsx +40 -0
  656. package/src/authoring/chrome/ChromeTooltip.tsx +89 -0
  657. package/src/authoring/chrome/ChromeTopBar.tsx +126 -0
  658. package/src/authoring/chrome/DoubleTapBridge.tsx +60 -0
  659. package/src/authoring/chrome/doubleTapMonitor.ts +80 -0
  660. package/src/authoring/chrome/icons/arrow-left-from-bracket.png +0 -0
  661. package/src/authoring/chrome/icons/arrow-left-from-bracket@2x.png +0 -0
  662. package/src/authoring/chrome/icons/arrow-left-from-bracket@3x.png +0 -0
  663. package/src/authoring/chrome/icons/arrow-rotate-left.png +0 -0
  664. package/src/authoring/chrome/icons/arrow-rotate-left@2x.png +0 -0
  665. package/src/authoring/chrome/icons/arrow-rotate-left@3x.png +0 -0
  666. package/src/authoring/chrome/icons/userflow-logomark.png +0 -0
  667. package/src/authoring/chrome/icons/userflow-logomark@2x.png +0 -0
  668. package/src/authoring/chrome/icons/userflow-logomark@3x.png +0 -0
  669. package/src/authoring/chrome/icons/xmark.png +0 -0
  670. package/src/authoring/chrome/icons/xmark@2x.png +0 -0
  671. package/src/authoring/chrome/icons/xmark@3x.png +0 -0
  672. package/src/authoring/chrome/tokens.ts +106 -0
  673. package/src/authoring/doubleTap.ts +27 -0
  674. package/src/authoring/elementPickerController.ts +135 -0
  675. package/src/authoring/fingerprintFromInstance.ts +152 -0
  676. package/src/authoring/hitTest.ts +133 -0
  677. package/src/content/RichContentRenderer.tsx +22 -1
  678. package/src/content/StepButton.tsx +17 -2
  679. package/src/content/resolveStepButtonChrome.ts +12 -6
  680. package/src/content/themeColor.ts +10 -0
  681. package/src/deviceContext.ts +168 -0
  682. package/src/expo-router/useUserflowExpoRouter.ts +47 -4
  683. package/src/hostAppVersion.ts +258 -0
  684. package/src/index.ts +148 -4
  685. package/src/lifecycle.ts +8 -0
  686. package/src/navigation/WithUserflowReactNavigation.tsx +23 -7
  687. package/src/navigation/isOverlayPresentation.ts +76 -0
  688. package/src/pairing/PairingController.ts +32 -3
  689. package/src/pairing/PreviewModeBanner.tsx +250 -94
  690. package/src/pairing/diagnostics.ts +10 -2
  691. package/src/pairing/elementPickerRelay.ts +100 -0
  692. package/src/pairing/resolvePreviewChrome.ts +57 -0
  693. package/src/pairing/tokenStorage.ts +31 -2
  694. package/src/pairing/usePairingState.ts +2 -0
  695. package/src/runtime/FlowRenderer.tsx +55 -27
  696. package/src/runtime/FlowSurfaceFade.tsx +51 -30
  697. package/src/runtime/TargetPressBridge.tsx +14 -32
  698. package/src/runtime/UserflowProvider.tsx +76 -13
  699. package/src/runtime/changedTouchPoints.ts +34 -0
  700. package/src/runtime/flowEngine.ts +2 -0
  701. package/src/runtime/flowSessionViewState.ts +42 -4
  702. package/src/runtime/useFlowSessionState.ts +2 -0
  703. package/src/screenTracker.ts +46 -4
  704. package/src/surfaces/CardFade.tsx +18 -0
  705. package/src/surfaces/CloseButton.tsx +17 -7
  706. package/src/surfaces/MadeWithUserflow.tsx +1 -1
  707. package/src/surfaces/ModalSurface.tsx +48 -35
  708. package/src/surfaces/TooltipSurface.tsx +406 -86
  709. package/src/surfaces/cardTransition.ts +67 -0
  710. package/src/surfaces/resolveHighlightChrome.ts +139 -0
  711. package/src/surfaces/resolveModalLayout.ts +16 -8
  712. package/src/surfaces/resolveTooltipLayout.ts +1 -14
  713. package/src/surfaces/surfaceInteractionConfig.ts +25 -0
  714. package/src/surfaces/surfaceLayoutInsets.tsx +135 -0
  715. package/src/surfaces/themeChrome.ts +5 -3
  716. package/src/surfaces/tooltip/TooltipBubble.tsx +154 -19
  717. package/src/surfaces/tooltip/TooltipCutout.tsx +106 -49
  718. package/src/surfaces/tooltip/TooltipHighlight.tsx +144 -0
  719. package/src/surfaces/tooltip/computeTooltipPosition.ts +98 -12
  720. package/src/surfaces/tooltip/inferTooltipPlacement.ts +107 -18
  721. package/src/surfaces/tooltip/placementDiagnostics.ts +70 -0
  722. package/src/surfaces/tooltip/rect.ts +11 -0
  723. package/src/surfaces/tooltip/resolveSideCardWidth.ts +121 -0
  724. package/src/version.ts +1 -1
  725. package/vendor/core/LICENSE +76 -0
  726. package/vendor/core/README.md +9 -0
  727. package/vendor/core/dist/attributes.d.ts +15 -0
  728. package/vendor/core/dist/attributes.d.ts.map +1 -0
  729. package/vendor/core/dist/attributes.js +55 -0
  730. package/vendor/core/dist/attributes.js.map +1 -0
  731. package/vendor/core/dist/constants.d.ts +21 -0
  732. package/vendor/core/dist/constants.d.ts.map +1 -0
  733. package/vendor/core/dist/constants.js +21 -0
  734. package/vendor/core/dist/constants.js.map +1 -0
  735. package/vendor/core/dist/engine/ClientConditionEngine.d.ts +68 -0
  736. package/vendor/core/dist/engine/ClientConditionEngine.d.ts.map +1 -0
  737. package/vendor/core/dist/engine/ClientConditionEngine.js +197 -0
  738. package/vendor/core/dist/engine/ClientConditionEngine.js.map +1 -0
  739. package/vendor/core/dist/engine/FlowSessionEngine.d.ts +160 -0
  740. package/vendor/core/dist/engine/FlowSessionEngine.d.ts.map +1 -0
  741. package/vendor/core/dist/engine/FlowSessionEngine.js +571 -0
  742. package/vendor/core/dist/engine/FlowSessionEngine.js.map +1 -0
  743. package/vendor/core/dist/engine/PairingEngine.d.ts +135 -0
  744. package/vendor/core/dist/engine/PairingEngine.d.ts.map +1 -0
  745. package/vendor/core/dist/engine/PairingEngine.js +396 -0
  746. package/vendor/core/dist/engine/PairingEngine.js.map +1 -0
  747. package/vendor/core/dist/engine/UserflowCore.d.ts +145 -0
  748. package/vendor/core/dist/engine/UserflowCore.d.ts.map +1 -0
  749. package/vendor/core/dist/engine/UserflowCore.js +329 -0
  750. package/vendor/core/dist/engine/UserflowCore.js.map +1 -0
  751. package/vendor/core/dist/engine/conditionOperators.d.ts +16 -0
  752. package/vendor/core/dist/engine/conditionOperators.d.ts.map +1 -0
  753. package/vendor/core/dist/engine/conditionOperators.js +168 -0
  754. package/vendor/core/dist/engine/conditionOperators.js.map +1 -0
  755. package/vendor/core/dist/engine/handleActions.d.ts +42 -0
  756. package/vendor/core/dist/engine/handleActions.d.ts.map +1 -0
  757. package/vendor/core/dist/engine/handleActions.js +198 -0
  758. package/vendor/core/dist/engine/handleActions.js.map +1 -0
  759. package/vendor/core/dist/engine/interpolateSessionData.d.ts +7 -0
  760. package/vendor/core/dist/engine/interpolateSessionData.d.ts.map +1 -0
  761. package/vendor/core/dist/engine/interpolateSessionData.js +29 -0
  762. package/vendor/core/dist/engine/interpolateSessionData.js.map +1 -0
  763. package/vendor/core/dist/engine/simpleObservable.d.ts +13 -0
  764. package/vendor/core/dist/engine/simpleObservable.d.ts.map +1 -0
  765. package/vendor/core/dist/engine/simpleObservable.js +29 -0
  766. package/vendor/core/dist/engine/simpleObservable.js.map +1 -0
  767. package/vendor/core/dist/engine/trackCondition.d.ts +25 -0
  768. package/vendor/core/dist/engine/trackCondition.d.ts.map +1 -0
  769. package/vendor/core/dist/engine/trackCondition.js +177 -0
  770. package/vendor/core/dist/engine/trackCondition.js.map +1 -0
  771. package/vendor/core/dist/engine/trackStepTriggers.d.ts +21 -0
  772. package/vendor/core/dist/engine/trackStepTriggers.d.ts.map +1 -0
  773. package/vendor/core/dist/engine/trackStepTriggers.js +49 -0
  774. package/vendor/core/dist/engine/trackStepTriggers.js.map +1 -0
  775. package/vendor/core/dist/errors.d.ts +9 -0
  776. package/vendor/core/dist/errors.d.ts.map +1 -0
  777. package/vendor/core/dist/errors.js +15 -0
  778. package/vendor/core/dist/errors.js.map +1 -0
  779. package/vendor/core/dist/eventAttributes.d.ts +7 -0
  780. package/vendor/core/dist/eventAttributes.d.ts.map +1 -0
  781. package/vendor/core/dist/eventAttributes.js +31 -0
  782. package/vendor/core/dist/eventAttributes.js.map +1 -0
  783. package/vendor/core/dist/index.d.ts +31 -0
  784. package/vendor/core/dist/index.d.ts.map +1 -0
  785. package/vendor/core/dist/index.js +22 -0
  786. package/vendor/core/dist/index.js.map +1 -0
  787. package/vendor/core/dist/normalizeAttributes.d.ts +8 -0
  788. package/vendor/core/dist/normalizeAttributes.d.ts.map +1 -0
  789. package/vendor/core/dist/normalizeAttributes.js +127 -0
  790. package/vendor/core/dist/normalizeAttributes.js.map +1 -0
  791. package/vendor/core/dist/transport/backoff.d.ts +11 -0
  792. package/vendor/core/dist/transport/backoff.d.ts.map +1 -0
  793. package/vendor/core/dist/transport/backoff.js +17 -0
  794. package/vendor/core/dist/transport/backoff.js.map +1 -0
  795. package/vendor/core/dist/transport/pairing.d.ts +121 -0
  796. package/vendor/core/dist/transport/pairing.d.ts.map +1 -0
  797. package/vendor/core/dist/transport/pairing.js +551 -0
  798. package/vendor/core/dist/transport/pairing.js.map +1 -0
  799. package/vendor/core/dist/transport/phoenix.d.ts +228 -0
  800. package/vendor/core/dist/transport/phoenix.d.ts.map +1 -0
  801. package/vendor/core/dist/transport/phoenix.js +811 -0
  802. package/vendor/core/dist/transport/phoenix.js.map +1 -0
  803. package/vendor/core/dist/transport/rateLimiter.d.ts +17 -0
  804. package/vendor/core/dist/transport/rateLimiter.d.ts.map +1 -0
  805. package/vendor/core/dist/transport/rateLimiter.js +30 -0
  806. package/vendor/core/dist/transport/rateLimiter.js.map +1 -0
  807. package/vendor/core/dist/transport/scheduler.d.ts +12 -0
  808. package/vendor/core/dist/transport/scheduler.d.ts.map +1 -0
  809. package/vendor/core/dist/transport/scheduler.js +11 -0
  810. package/vendor/core/dist/transport/scheduler.js.map +1 -0
  811. package/vendor/core/dist/types.d.ts +60 -0
  812. package/vendor/core/dist/types.d.ts.map +1 -0
  813. package/vendor/core/dist/types.js +2 -0
  814. package/vendor/core/dist/types.js.map +1 -0
  815. package/vendor/core/dist/version.d.ts +3 -0
  816. package/vendor/core/dist/version.d.ts.map +1 -0
  817. package/vendor/core/dist/version.js +3 -0
  818. package/vendor/core/dist/version.js.map +1 -0
  819. package/vendor/core/package.json +20 -0
  820. package/vendor/protocol/LICENSE +76 -0
  821. package/vendor/protocol/README.md +8 -0
  822. package/vendor/protocol/dist/attributes.d.ts +43 -0
  823. package/vendor/protocol/dist/attributes.d.ts.map +1 -0
  824. package/vendor/protocol/dist/attributes.js +15 -0
  825. package/vendor/protocol/dist/attributes.js.map +1 -0
  826. package/vendor/protocol/dist/autoData.d.ts +232 -0
  827. package/vendor/protocol/dist/autoData.d.ts.map +1 -0
  828. package/vendor/protocol/dist/autoData.js +78 -0
  829. package/vendor/protocol/dist/autoData.js.map +1 -0
  830. package/vendor/protocol/dist/events.d.ts +24 -0
  831. package/vendor/protocol/dist/events.d.ts.map +1 -0
  832. package/vendor/protocol/dist/events.js +8 -0
  833. package/vendor/protocol/dist/events.js.map +1 -0
  834. package/vendor/protocol/dist/flows.d.ts +360 -0
  835. package/vendor/protocol/dist/flows.d.ts.map +1 -0
  836. package/vendor/protocol/dist/flows.js +201 -0
  837. package/vendor/protocol/dist/flows.js.map +1 -0
  838. package/vendor/protocol/dist/index.d.ts +25 -0
  839. package/vendor/protocol/dist/index.d.ts.map +1 -0
  840. package/vendor/protocol/dist/index.js +17 -0
  841. package/vendor/protocol/dist/index.js.map +1 -0
  842. package/vendor/protocol/dist/messages.d.ts +187 -0
  843. package/vendor/protocol/dist/messages.d.ts.map +1 -0
  844. package/vendor/protocol/dist/messages.js +61 -0
  845. package/vendor/protocol/dist/messages.js.map +1 -0
  846. package/vendor/protocol/dist/pairing.d.ts +82 -0
  847. package/vendor/protocol/dist/pairing.d.ts.map +1 -0
  848. package/vendor/protocol/dist/pairing.js +146 -0
  849. package/vendor/protocol/dist/pairing.js.map +1 -0
  850. package/vendor/protocol/package.json +17 -0
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+
3
+ /** React Navigation `options.presentation` values that are overlays, not screens. */
4
+ const OVERLAY_PRESENTATIONS = new Set(['modal', 'transparentModal', 'containedModal', 'containedTransparentModal', 'fullScreenModal', 'formSheet', 'pageSheet']);
5
+
6
+ /** True when the focused route is a modal / sheet overlay, not a screen navigation. */
7
+ export function isOverlayPresentation(presentation) {
8
+ return typeof presentation === 'string' && OVERLAY_PRESENTATIONS.has(presentation);
9
+ }
10
+ function presentationFromHolder(holder) {
11
+ if (holder == null || typeof holder !== 'object') return undefined;
12
+ const getCurrentOptions = holder.getCurrentOptions;
13
+ if (typeof getCurrentOptions !== 'function') return undefined;
14
+ try {
15
+ return getCurrentOptions()?.presentation;
16
+ } catch {
17
+ return undefined;
18
+ }
19
+ }
20
+
21
+ /**
22
+ * Reads `presentation` from a React Navigation container ref.
23
+ * Accepts either a `NavigationContainerRef` or a `NavigationContainerRefWithCurrent`
24
+ * (`ref.current` is checked when the wrapper itself has no `getCurrentOptions`).
25
+ */
26
+ export function readNavigationPresentation(ref) {
27
+ const fromRef = presentationFromHolder(ref);
28
+ if (fromRef !== undefined) return fromRef;
29
+ if (ref != null && typeof ref === 'object' && 'current' in ref) {
30
+ return presentationFromHolder(ref.current);
31
+ }
32
+ return undefined;
33
+ }
34
+ function subscribeHolder(holder, listener) {
35
+ if (holder == null || typeof holder !== 'object') return undefined;
36
+ const addListener = holder.addListener;
37
+ if (typeof addListener !== 'function') return undefined;
38
+ try {
39
+ const unsubscribe = addListener.call(holder, 'state', listener);
40
+ return typeof unsubscribe === 'function' ? unsubscribe : undefined;
41
+ } catch {
42
+ return undefined;
43
+ }
44
+ }
45
+
46
+ /**
47
+ * Subscribes to React Navigation container `state` events.
48
+ * Accepts a `NavigationContainerRef` or `NavigationContainerRefWithCurrent`.
49
+ */
50
+ export function subscribeNavigationState(ref, listener) {
51
+ const fromRef = subscribeHolder(ref, listener);
52
+ if (fromRef) return fromRef;
53
+ if (ref != null && typeof ref === 'object' && 'current' in ref) {
54
+ return subscribeHolder(ref.current, listener);
55
+ }
56
+ return undefined;
57
+ }
58
+ //# sourceMappingURL=isOverlayPresentation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["OVERLAY_PRESENTATIONS","Set","isOverlayPresentation","presentation","has","presentationFromHolder","holder","undefined","getCurrentOptions","readNavigationPresentation","ref","fromRef","current","subscribeHolder","listener","addListener","unsubscribe","call","subscribeNavigationState"],"sourceRoot":"../../../src","sources":["navigation/isOverlayPresentation.ts"],"mappings":";;AAAA;AACA,MAAMA,qBAAqB,GAAG,IAAIC,GAAG,CAAC,CACpC,OAAO,EACP,kBAAkB,EAClB,gBAAgB,EAChB,2BAA2B,EAC3B,iBAAiB,EACjB,WAAW,EACX,WAAW,CACZ,CAAC;;AAEF;AACA,OAAO,SAASC,qBAAqBA,CAACC,YAAqB,EAAW;EACpE,OAAO,OAAOA,YAAY,KAAK,QAAQ,IAAIH,qBAAqB,CAACI,GAAG,CAACD,YAAY,CAAC;AACpF;AAMA,SAASE,sBAAsBA,CAACC,MAAe,EAAsB;EACnE,IAAIA,MAAM,IAAI,IAAI,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE,OAAOC,SAAS;EAClE,MAAMC,iBAAiB,GAAIF,MAAM,CAAmBE,iBAAiB;EACrE,IAAI,OAAOA,iBAAiB,KAAK,UAAU,EAAE,OAAOD,SAAS;EAC7D,IAAI;IACF,OAAOC,iBAAiB,CAAC,CAAC,EAAEL,YAAY;EAC1C,CAAC,CAAC,MAAM;IACN,OAAOI,SAAS;EAClB;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,0BAA0BA,CAACC,GAAY,EAAsB;EAC3E,MAAMC,OAAO,GAAGN,sBAAsB,CAACK,GAAG,CAAC;EAC3C,IAAIC,OAAO,KAAKJ,SAAS,EAAE,OAAOI,OAAO;EACzC,IAAID,GAAG,IAAI,IAAI,IAAI,OAAOA,GAAG,KAAK,QAAQ,IAAI,SAAS,IAAIA,GAAG,EAAE;IAC9D,OAAOL,sBAAsB,CAAEK,GAAG,CAA0BE,OAAO,CAAC;EACtE;EACA,OAAOL,SAAS;AAClB;AAMA,SAASM,eAAeA,CAACP,MAAe,EAAEQ,QAAoB,EAA4B;EACxF,IAAIR,MAAM,IAAI,IAAI,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE,OAAOC,SAAS;EAClE,MAAMQ,WAAW,GAAIT,MAAM,CAAyBS,WAAW;EAC/D,IAAI,OAAOA,WAAW,KAAK,UAAU,EAAE,OAAOR,SAAS;EACvD,IAAI;IACF,MAAMS,WAAW,GAAGD,WAAW,CAACE,IAAI,CAACX,MAAM,EAAE,OAAO,EAAEQ,QAAQ,CAAC;IAC/D,OAAO,OAAOE,WAAW,KAAK,UAAU,GAAGA,WAAW,GAAGT,SAAS;EACpE,CAAC,CAAC,MAAM;IACN,OAAOA,SAAS;EAClB;AACF;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASW,wBAAwBA,CACtCR,GAAY,EACZI,QAAoB,EACM;EAC1B,MAAMH,OAAO,GAAGE,eAAe,CAACH,GAAG,EAAEI,QAAQ,CAAC;EAC9C,IAAIH,OAAO,EAAE,OAAOA,OAAO;EAC3B,IAAID,GAAG,IAAI,IAAI,IAAI,OAAOA,GAAG,KAAK,QAAQ,IAAI,SAAS,IAAIA,GAAG,EAAE;IAC9D,OAAOG,eAAe,CAAEH,GAAG,CAA0BE,OAAO,EAAEE,QAAQ,CAAC;EACzE;EACA,OAAOP,SAAS;AAClB","ignoreList":[]}
@@ -2,8 +2,10 @@
2
2
 
3
3
  import { DEFAULT_PAIRING_ENDPOINT, PairingEngine } from '@userflow-tech/core';
4
4
  import { AppState, Linking, Platform } from 'react-native';
5
+ import { clearFiberAnchorCache } from "../anchors/fiberAnchorCache.js";
5
6
  import { inspectPairingDeepLink, isPairingAttempt } from "./deepLink.js";
6
- import { defaultPairingLogger, pairingAttemptRejectionMessage, pairingConnectFailedMessage, pairingLinkDeferredMessage, pairingLinkInitFailedMessage, pairingListenerSetupFailedMessage, pairingTokenStoreClearFailedMessage } from "./diagnostics.js";
7
+ import { defaultPairingLogger, pairingAttemptRejectionMessage, pairingConnectFailedMessage, pairingLinkDeferredMessage, pairingLinkInitFailedMessage, pairingListenerSetupFailedMessage, pairingPreviewErrorMessage, pairingTokenStoreClearFailedMessage } from "./diagnostics.js";
8
+ import { bindElementPickerRelay } from "./elementPickerRelay.js";
7
9
  import { createPairingTokenStore } from "./tokenStorage.js";
8
10
 
9
11
  /**
@@ -32,6 +34,7 @@ export class PairingController {
32
34
  deferredPairingToken = null;
33
35
  /** Diagnostics already emitted for the current init attempt. */
34
36
  loggedOnce = new Set();
37
+ relayUnsub = null;
35
38
  constructor(options) {
36
39
  this.core = options.core;
37
40
  this.pairingEndpoint = options.pairingEndpoint ?? DEFAULT_PAIRING_ENDPOINT;
@@ -59,7 +62,9 @@ export class PairingController {
59
62
  previewActive: false,
60
63
  lastError: null,
61
64
  needsRescan: false,
62
- awaitingStartCondition: false
65
+ awaitingStartCondition: false,
66
+ canRestartPreview: false,
67
+ previewRestartGeneration: 0
63
68
  };
64
69
  }
65
70
 
@@ -76,7 +81,9 @@ export class PairingController {
76
81
  previewActive: false,
77
82
  lastError: `Userflow.init() failed, so preview could not start: ${this.initFailureReason ?? 'unknown error'}`,
78
83
  needsRescan: true,
79
- awaitingStartCondition: false
84
+ awaitingStartCondition: false,
85
+ canRestartPreview: false,
86
+ previewRestartGeneration: 0
80
87
  };
81
88
  }
82
89
  onStateChange(listener) {
@@ -138,6 +145,7 @@ export class PairingController {
138
145
  this.appStateSub?.remove();
139
146
  this.appStateSub = null;
140
147
  this.started = false;
148
+ this.unbindRelay();
141
149
  void this.exitPreview();
142
150
  }
143
151
 
@@ -243,6 +251,16 @@ export class PairingController {
243
251
  this.emit(this.getState());
244
252
  }
245
253
 
254
+ /**
255
+ * Replay the last previewed flow from step 1. No-ops when nothing has been
256
+ * delivered yet (restart control is hidden in that case).
257
+ */
258
+ async restartPreview() {
259
+ if (!this.engine) return false;
260
+ clearFiberAnchorCache();
261
+ return this.engine.restartPreview();
262
+ }
263
+
246
264
  /** Flush queued startFlowWithToken after identify. */
247
265
  notifyIdentified() {
248
266
  this.engine?.notifyIdentified();
@@ -262,12 +280,21 @@ export class PairingController {
262
280
  });
263
281
  this.engine.onStateChange(state => {
264
282
  this.emit(state);
283
+ if (state.lastError) {
284
+ this.warnOnce(pairingPreviewErrorMessage(state.lastError));
285
+ }
265
286
  if (state.status === 'token_expired' || state.needsRescan) {
266
287
  void this.tokenStore.clear();
267
288
  }
268
289
  });
290
+ this.unbindRelay();
291
+ this.relayUnsub = bindElementPickerRelay(this.engine);
269
292
  return this.engine;
270
293
  }
294
+ unbindRelay() {
295
+ this.relayUnsub?.();
296
+ this.relayUnsub = null;
297
+ }
271
298
  emit(state) {
272
299
  for (const listener of this.listeners) {
273
300
  try {
@@ -1 +1 @@
1
- {"version":3,"names":["DEFAULT_PAIRING_ENDPOINT","PairingEngine","AppState","Linking","Platform","inspectPairingDeepLink","isPairingAttempt","defaultPairingLogger","pairingAttemptRejectionMessage","pairingConnectFailedMessage","pairingLinkDeferredMessage","pairingLinkInitFailedMessage","pairingListenerSetupFailedMessage","pairingTokenStoreClearFailedMessage","createPairingTokenStore","PairingController","engine","started","urlSub","appStateSub","listeners","Set","initPhase","initFailureReason","deferredPairingToken","loggedOnce","constructor","options","core","pairingEndpoint","tokenStore","LinkingModule","AppStateModule","clearLocalSession","undefined","logger","getEngine","hasStarted","getState","blocked","blockedState","status","pairingId","deviceId","previewActive","lastError","needsRescan","awaitingStartCondition","onStateChange","listener","add","delete","start","startListening","error","warnOnce","describeError","clear","ensureEngine","addEventListener","url","handleUrl","catch","next","ensureAlive","initial","getInitialURL","stop","remove","exitPreview","inspected","ok","reason","link","pairingToken","emit","enterPreview","notifyInitStarted","wasBlocked","notifyInitialized","deferred","notifyInitFailed","message","has","set","notifyIdentified","sendClientMessage","send","onServerMessage","handler","isIdentified","getUserId","pairingOptions","deviceMeta","os","OS","state","Error","String"],"sourceRoot":"../../../src","sources":["pairing/PairingController.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["DEFAULT_PAIRING_ENDPOINT","PairingEngine","AppState","Linking","Platform","clearFiberAnchorCache","inspectPairingDeepLink","isPairingAttempt","defaultPairingLogger","pairingAttemptRejectionMessage","pairingConnectFailedMessage","pairingLinkDeferredMessage","pairingLinkInitFailedMessage","pairingListenerSetupFailedMessage","pairingPreviewErrorMessage","pairingTokenStoreClearFailedMessage","bindElementPickerRelay","createPairingTokenStore","PairingController","engine","started","urlSub","appStateSub","listeners","Set","initPhase","initFailureReason","deferredPairingToken","loggedOnce","relayUnsub","constructor","options","core","pairingEndpoint","tokenStore","LinkingModule","AppStateModule","clearLocalSession","undefined","logger","getEngine","hasStarted","getState","blocked","blockedState","status","pairingId","deviceId","previewActive","lastError","needsRescan","awaitingStartCondition","canRestartPreview","previewRestartGeneration","onStateChange","listener","add","delete","start","startListening","error","warnOnce","describeError","clear","ensureEngine","addEventListener","url","handleUrl","catch","next","ensureAlive","initial","getInitialURL","stop","remove","unbindRelay","exitPreview","inspected","ok","reason","link","pairingToken","emit","enterPreview","notifyInitStarted","wasBlocked","notifyInitialized","deferred","notifyInitFailed","message","has","set","restartPreview","notifyIdentified","sendClientMessage","send","onServerMessage","handler","isIdentified","getUserId","pairingOptions","deviceMeta","os","OS","state","Error","String"],"sourceRoot":"../../../src","sources":["pairing/PairingController.ts"],"mappings":"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","ignoreList":[]}
@@ -1,64 +1,221 @@
1
1
  "use strict";
2
2
 
3
3
  import * as React from 'react';
4
- import { Pressable, StyleSheet, Text, View } from 'react-native';
4
+ import { StyleSheet, View } from 'react-native';
5
+ import { ChromeBarTransition, useChromeBarMounted } from "../authoring/chrome/ChromeBarTransition.js";
6
+ import { ChromeButton } from "../authoring/chrome/ChromeButton.js";
7
+ import { ChromeDialog } from "../authoring/chrome/ChromeDialog.js";
8
+ import { ChromeTooltip } from "../authoring/chrome/ChromeTooltip.js";
9
+ import { ChromeTopBar } from "../authoring/chrome/ChromeTopBar.js";
10
+ import { doubleTapMonitor } from "../authoring/chrome/doubleTapMonitor.js";
11
+ import { useReportPreviewBannerHeight } from "../surfaces/surfaceLayoutInsets.js";
12
+ import { resolvePreviewChrome } from "./resolvePreviewChrome.js";
5
13
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
+ const ONBOARDING_COPY = 'Double tap anywhere to access the menu';
6
15
  /**
7
16
  * Overlay chrome for Builder pairing preview mode.
8
17
  */
9
18
  export function PreviewModeBanner({
10
19
  state,
11
- onExit
20
+ onExit,
21
+ onRestart,
22
+ onConfirmingChange,
23
+ suppressed = false
12
24
  }) {
13
- if (!state.previewActive && state.status === 'idle') return null;
14
- if (!state.previewActive && state.status !== 'token_expired' && state.status !== 'device_already_paired' && state.status !== 'error') {
15
- return null;
25
+ const setBannerHeight = useReportPreviewBannerHeight();
26
+ const chrome = resolvePreviewChrome(state);
27
+ const [chromeShown, setChromeShown] = React.useState(true);
28
+ const [showOnboarding, setShowOnboarding] = React.useState(false);
29
+ const [barHeight, setBarHeight] = React.useState(0);
30
+ const sessionArmedRef = React.useRef(false);
31
+ const isError = chrome.visible && chrome.tone === 'error';
32
+ const visible = chrome.visible && !suppressed && (chromeShown || isError);
33
+ const [confirming, setConfirming] = React.useState(null);
34
+ const showRestart = Boolean(state.canRestartPreview) && !isError;
35
+ const showDialog = confirming != null && visible && !isError;
36
+ // Keep the bar mounted through its slide-out (double-tap hide, preview end,
37
+ // or picker suppression), rendering the last known chrome while it leaves.
38
+ const barMounted = useChromeBarMounted(visible);
39
+ const lastVisibleChromeRef = React.useRef(null);
40
+ if (chrome.visible) {
41
+ lastVisibleChromeRef.current = chrome;
16
42
  }
17
- const needsRescan = state.needsRescan;
18
- // No pairing id means the session never started (e.g. init failed), so
19
- // "Pairing ended" would misdescribe it.
20
- const neverPaired = state.status === 'error' && !state.previewActive && state.pairingId === null;
21
- const title = neverPaired ? 'Preview unavailable' : needsRescan ? 'Pairing ended' : 'Preview mode';
22
- const detail = state.lastError ?? (state.status === 'reconnecting' ? 'Reconnecting…' : state.status === 'connecting' ? 'Connecting to Builder…' :
23
- // Mirrors the Builder's own wording. Without this the banner reads
24
- // "Paired" while the flow is absent, which looks like a broken preview
25
- // rather than a condition that has not matched yet.
26
- state.awaitingStartCondition ? 'Waiting for auto-start condition to trigger…' : 'Paired with Userflow Builder');
27
- return /*#__PURE__*/_jsx(View, {
28
- style: styles.wrap,
43
+ const barChrome = chrome.visible ? chrome : lastVisibleChromeRef.current;
44
+ React.useEffect(() => {
45
+ if (!chrome.visible) {
46
+ sessionArmedRef.current = false;
47
+ setChromeShown(true);
48
+ setShowOnboarding(false);
49
+ setBarHeight(0);
50
+ return;
51
+ }
52
+ if (isError) {
53
+ setChromeShown(true);
54
+ setShowOnboarding(false);
55
+ return;
56
+ }
57
+ if (!sessionArmedRef.current) {
58
+ sessionArmedRef.current = true;
59
+ setShowOnboarding(true);
60
+ }
61
+ }, [chrome.visible, isError]);
62
+ React.useEffect(() => {
63
+ if (!visible || isError) {
64
+ setConfirming(null);
65
+ return;
66
+ }
67
+ if (confirming === 'restart' && !state.canRestartPreview) {
68
+ setConfirming(null);
69
+ }
70
+ }, [confirming, isError, state.canRestartPreview, visible]);
71
+ React.useEffect(() => {
72
+ if (!chrome.visible) {
73
+ setBannerHeight(0);
74
+ return;
75
+ }
76
+ if (suppressed) return;
77
+ if (!chromeShown && !isError) {
78
+ setBannerHeight(0);
79
+ return;
80
+ }
81
+ if (barHeight > 0) {
82
+ setBannerHeight(barHeight);
83
+ }
84
+ }, [barHeight, chrome.visible, chromeShown, isError, setBannerHeight, suppressed]);
85
+ React.useEffect(() => {
86
+ if (!chrome.visible || suppressed || isError) {
87
+ doubleTapMonitor.set(null);
88
+ return;
89
+ }
90
+ doubleTapMonitor.set({
91
+ onDoubleTap: () => {
92
+ setShowOnboarding(false);
93
+ setChromeShown(shown => !shown);
94
+ }
95
+ });
96
+ return () => {
97
+ doubleTapMonitor.set(null);
98
+ };
99
+ }, [chrome.visible, isError, suppressed]);
100
+ React.useEffect(() => {
101
+ onConfirmingChange?.(showDialog);
102
+ }, [showDialog, onConfirmingChange]);
103
+ React.useEffect(() => {
104
+ return () => {
105
+ onConfirmingChange?.(false);
106
+ };
107
+ }, [onConfirmingChange]);
108
+ const onMeasureHeight = React.useCallback(height => {
109
+ setBarHeight(Math.max(0, height));
110
+ }, []);
111
+ const onLeftPress = React.useCallback(() => {
112
+ if (isError) {
113
+ onExit();
114
+ return;
115
+ }
116
+ setConfirming('exit');
117
+ }, [isError, onExit]);
118
+ const onRightPress = React.useCallback(() => {
119
+ if (isError || !state.canRestartPreview) return;
120
+ setConfirming('restart');
121
+ }, [isError, state.canRestartPreview]);
122
+ const closeDialog = React.useCallback(() => {
123
+ setConfirming(null);
124
+ }, []);
125
+ const confirmExit = React.useCallback(() => {
126
+ setConfirming(null);
127
+ onExit();
128
+ }, [onExit]);
129
+ const confirmRestart = React.useCallback(() => {
130
+ setConfirming(null);
131
+ onRestart?.();
132
+ }, [onRestart]);
133
+ if (!barMounted && !showDialog) return null;
134
+ const tooltipVisible = visible && showOnboarding && !isError && !showDialog;
135
+ return /*#__PURE__*/_jsxs(View, {
136
+ accessibilityViewIsModal: showDialog,
29
137
  pointerEvents: "box-none",
30
- children: /*#__PURE__*/_jsxs(View, {
31
- style: [styles.banner, needsRescan ? styles.bannerWarn : styles.bannerActive],
32
- children: [/*#__PURE__*/_jsxs(View, {
33
- style: styles.textCol,
34
- children: [/*#__PURE__*/_jsx(Text, {
35
- style: styles.title,
36
- children: title
37
- }), /*#__PURE__*/_jsx(Text, {
38
- style: styles.detail,
39
- numberOfLines: 2,
40
- children: needsRescan ? `${detail} Re-scan the QR code to continue.` : detail
41
- })]
42
- }), !needsRescan ? /*#__PURE__*/_jsx(Pressable, {
43
- accessibilityRole: "button",
138
+ style: [styles.wrap, showDialog ? styles.wrapConfirming : null],
139
+ testID: "userflow-preview-banner",
140
+ children: [showDialog && confirming === 'exit' ?
141
+ /*#__PURE__*/
142
+ // Dialog first so its scrim paints under the bar (Figma: Overlay then Button Sheet).
143
+ _jsxs(ChromeDialog, {
144
+ body: "You will need to pair your device again in Userflow to preview this flow.",
145
+ onClose: closeDialog,
146
+ title: "Exit preview mode?",
147
+ children: [/*#__PURE__*/_jsx(ChromeButton, {
148
+ accessibilityLabel: "Cancel",
149
+ flex: true,
150
+ label: "Cancel",
151
+ onPress: closeDialog,
152
+ testID: "userflow-preview-exit-cancel",
153
+ variant: "secondary"
154
+ }), /*#__PURE__*/_jsx(ChromeButton, {
44
155
  accessibilityLabel: "Exit preview",
45
- onPress: onExit,
46
- style: styles.button,
47
- children: /*#__PURE__*/_jsx(Text, {
48
- style: styles.buttonLabel,
49
- children: "Exit preview"
50
- })
51
- }) : /*#__PURE__*/_jsx(Pressable, {
52
- accessibilityRole: "button",
53
- accessibilityLabel: "Dismiss pairing message",
54
- onPress: onExit,
55
- style: styles.button,
56
- children: /*#__PURE__*/_jsx(Text, {
57
- style: styles.buttonLabel,
58
- children: "Dismiss"
59
- })
156
+ flex: true,
157
+ icon: "arrow-left-from-bracket",
158
+ label: "Exit",
159
+ onPress: confirmExit,
160
+ testID: "userflow-preview-exit-confirm"
60
161
  })]
61
- })
162
+ }) : null, showDialog && confirming === 'restart' ? /*#__PURE__*/_jsxs(ChromeDialog, {
163
+ body: "This will restart the flow from the first step.",
164
+ onClose: closeDialog,
165
+ title: "Restart flow?",
166
+ children: [/*#__PURE__*/_jsx(ChromeButton, {
167
+ accessibilityLabel: "Cancel",
168
+ flex: true,
169
+ label: "Cancel",
170
+ onPress: closeDialog,
171
+ testID: "userflow-preview-restart-cancel",
172
+ variant: "secondary"
173
+ }), /*#__PURE__*/_jsx(ChromeButton, {
174
+ accessibilityLabel: "Restart flow",
175
+ flex: true,
176
+ icon: "arrow-rotate-left",
177
+ label: "Restart",
178
+ onPress: confirmRestart,
179
+ testID: "userflow-preview-restart-confirm"
180
+ })]
181
+ }) : null, barMounted && barChrome ? /*#__PURE__*/_jsx(ChromeBarTransition, {
182
+ edge: "top",
183
+ pointerEvents: "box-none",
184
+ visible: visible,
185
+ children: /*#__PURE__*/_jsx(ChromeTopBar, {
186
+ accessibilityElementsHidden: showDialog,
187
+ importantForAccessibility: showDialog ? 'no-hide-descendants' : undefined,
188
+ label: barChrome.label,
189
+ numberOfLines: barChrome.numberOfLines,
190
+ onMeasureHeight: onMeasureHeight,
191
+ tone: barChrome.tone,
192
+ left: /*#__PURE__*/_jsx(ChromeButton, {
193
+ accessibilityLabel: isError ? 'Dismiss pairing message' : 'Exit preview',
194
+ icon: "arrow-left-from-bracket",
195
+ onPress: onLeftPress,
196
+ testID: "userflow-preview-exit",
197
+ variant: "icon"
198
+ }),
199
+ right: showRestart ? /*#__PURE__*/_jsx(ChromeButton, {
200
+ accessibilityLabel: "Restart flow",
201
+ icon: "arrow-rotate-left",
202
+ onPress: onRightPress,
203
+ testID: "userflow-preview-restart",
204
+ variant: "icon"
205
+ }) : undefined
206
+ })
207
+ }) : null, tooltipVisible ? /*#__PURE__*/_jsx(View, {
208
+ pointerEvents: "none",
209
+ style: [styles.tooltip, {
210
+ top: barHeight
211
+ }],
212
+ children: /*#__PURE__*/_jsx(ChromeTooltip, {
213
+ onDismiss: () => {
214
+ setShowOnboarding(false);
215
+ },
216
+ children: ONBOARDING_COPY
217
+ })
218
+ }) : null]
62
219
  });
63
220
  }
64
221
  const styles = StyleSheet.create({
@@ -67,47 +224,17 @@ const styles = StyleSheet.create({
67
224
  top: 0,
68
225
  left: 0,
69
226
  right: 0,
227
+ bottom: 0,
70
228
  zIndex: 1000
71
229
  },
72
- banner: {
73
- marginTop: 48,
74
- marginHorizontal: 12,
75
- borderRadius: 10,
76
- paddingHorizontal: 12,
77
- paddingVertical: 10,
78
- flexDirection: 'row',
79
- alignItems: 'center',
80
- gap: 10
81
- },
82
- bannerActive: {
83
- backgroundColor: 'rgba(17, 24, 39, 0.92)'
84
- },
85
- bannerWarn: {
86
- backgroundColor: 'rgba(127, 29, 29, 0.94)'
87
- },
88
- textCol: {
89
- flex: 1
90
- },
91
- title: {
92
- color: '#ffffff',
93
- fontSize: 13,
94
- fontWeight: '700'
230
+ wrapConfirming: {
231
+ zIndex: 1200
95
232
  },
96
- detail: {
97
- color: 'rgba(255,255,255,0.85)',
98
- fontSize: 12,
99
- marginTop: 2
100
- },
101
- button: {
102
- paddingHorizontal: 10,
103
- paddingVertical: 8,
104
- borderRadius: 8,
105
- backgroundColor: 'rgba(255,255,255,0.14)'
106
- },
107
- buttonLabel: {
108
- color: '#ffffff',
109
- fontSize: 12,
110
- fontWeight: '600'
233
+ tooltip: {
234
+ position: 'absolute',
235
+ left: 0,
236
+ right: 0,
237
+ alignItems: 'center'
111
238
  }
112
239
  });
113
240
  //# sourceMappingURL=PreviewModeBanner.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","Pressable","StyleSheet","Text","View","jsx","_jsx","jsxs","_jsxs","PreviewModeBanner","state","onExit","previewActive","status","needsRescan","neverPaired","pairingId","title","detail","lastError","awaitingStartCondition","style","styles","wrap","pointerEvents","children","banner","bannerWarn","bannerActive","textCol","numberOfLines","accessibilityRole","accessibilityLabel","onPress","button","buttonLabel","create","position","top","left","right","zIndex","marginTop","marginHorizontal","borderRadius","paddingHorizontal","paddingVertical","flexDirection","alignItems","gap","backgroundColor","flex","color","fontSize","fontWeight"],"sourceRoot":"../../../src","sources":["pairing/PreviewModeBanner.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","StyleSheet","View","ChromeBarTransition","useChromeBarMounted","ChromeButton","ChromeDialog","ChromeTooltip","ChromeTopBar","doubleTapMonitor","useReportPreviewBannerHeight","resolvePreviewChrome","jsx","_jsx","jsxs","_jsxs","ONBOARDING_COPY","PreviewModeBanner","state","onExit","onRestart","onConfirmingChange","suppressed","setBannerHeight","chrome","chromeShown","setChromeShown","useState","showOnboarding","setShowOnboarding","barHeight","setBarHeight","sessionArmedRef","useRef","isError","visible","tone","confirming","setConfirming","showRestart","Boolean","canRestartPreview","showDialog","barMounted","lastVisibleChromeRef","current","barChrome","useEffect","set","onDoubleTap","shown","onMeasureHeight","useCallback","height","Math","max","onLeftPress","onRightPress","closeDialog","confirmExit","confirmRestart","tooltipVisible","accessibilityViewIsModal","pointerEvents","style","styles","wrap","wrapConfirming","testID","children","body","onClose","title","accessibilityLabel","flex","label","onPress","variant","icon","edge","accessibilityElementsHidden","importantForAccessibility","undefined","numberOfLines","left","right","tooltip","top","onDismiss","create","position","bottom","zIndex","alignItems"],"sourceRoot":"../../../src","sources":["pairing/PreviewModeBanner.tsx"],"mappings":";;AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAE/C,SAASC,mBAAmB,EAAEC,mBAAmB,QAAQ,4CAAyC;AAClG,SAASC,YAAY,QAAQ,qCAAkC;AAC/D,SAASC,YAAY,QAAQ,qCAAkC;AAC/D,SAASC,aAAa,QAAQ,sCAAmC;AACjE,SAASC,YAAY,QAAQ,qCAAkC;AAC/D,SAASC,gBAAgB,QAAQ,yCAAsC;AACvE,SAASC,4BAA4B,QAAQ,oCAAiC;AAE9E,SAASC,oBAAoB,QAA4B,2BAAwB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAKlF,MAAMC,eAAe,GAAG,wCAAwC;AAYhE;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAAC;EAChCC,KAAK;EACLC,MAAM;EACNC,SAAS;EACTC,kBAAkB;EAClBC,UAAU,GAAG;AACS,CAAC,EAA6B;EACpD,MAAMC,eAAe,GAAGb,4BAA4B,CAAC,CAAC;EACtD,MAAMc,MAAM,GAAGb,oBAAoB,CAACO,KAAK,CAAC;EAC1C,MAAM,CAACO,WAAW,EAAEC,cAAc,CAAC,GAAG1B,KAAK,CAAC2B,QAAQ,CAAC,IAAI,CAAC;EAC1D,MAAM,CAACC,cAAc,EAAEC,iBAAiB,CAAC,GAAG7B,KAAK,CAAC2B,QAAQ,CAAC,KAAK,CAAC;EACjE,MAAM,CAACG,SAAS,EAAEC,YAAY,CAAC,GAAG/B,KAAK,CAAC2B,QAAQ,CAAC,CAAC,CAAC;EACnD,MAAMK,eAAe,GAAGhC,KAAK,CAACiC,MAAM,CAAC,KAAK,CAAC;EAC3C,MAAMC,OAAO,GAAGV,MAAM,CAACW,OAAO,IAAIX,MAAM,CAACY,IAAI,KAAK,OAAO;EACzD,MAAMD,OAAO,GAAGX,MAAM,CAACW,OAAO,IAAI,CAACb,UAAU,KAAKG,WAAW,IAAIS,OAAO,CAAC;EACzE,MAAM,CAACG,UAAU,EAAEC,aAAa,CAAC,GAAGtC,KAAK,CAAC2B,QAAQ,CAAwB,IAAI,CAAC;EAC/E,MAAMY,WAAW,GAAGC,OAAO,CAACtB,KAAK,CAACuB,iBAAiB,CAAC,IAAI,CAACP,OAAO;EAChE,MAAMQ,UAAU,GAAGL,UAAU,IAAI,IAAI,IAAIF,OAAO,IAAI,CAACD,OAAO;EAC5D;EACA;EACA,MAAMS,UAAU,GAAGvC,mBAAmB,CAAC+B,OAAO,CAAC;EAC/C,MAAMS,oBAAoB,GAAG5C,KAAK,CAACiC,MAAM,CAA8B,IAAI,CAAC;EAC5E,IAAIT,MAAM,CAACW,OAAO,EAAE;IAClBS,oBAAoB,CAACC,OAAO,GAAGrB,MAAM;EACvC;EACA,MAAMsB,SAAS,GAAGtB,MAAM,CAACW,OAAO,GAAGX,MAAM,GAAGoB,oBAAoB,CAACC,OAAO;EAExE7C,KAAK,CAAC+C,SAAS,CAAC,MAAM;IACpB,IAAI,CAACvB,MAAM,CAACW,OAAO,EAAE;MACnBH,eAAe,CAACa,OAAO,GAAG,KAAK;MAC/BnB,cAAc,CAAC,IAAI,CAAC;MACpBG,iBAAiB,CAAC,KAAK,CAAC;MACxBE,YAAY,CAAC,CAAC,CAAC;MACf;IACF;IACA,IAAIG,OAAO,EAAE;MACXR,cAAc,CAAC,IAAI,CAAC;MACpBG,iBAAiB,CAAC,KAAK,CAAC;MACxB;IACF;IACA,IAAI,CAACG,eAAe,CAACa,OAAO,EAAE;MAC5Bb,eAAe,CAACa,OAAO,GAAG,IAAI;MAC9BhB,iBAAiB,CAAC,IAAI,CAAC;IACzB;EACF,CAAC,EAAE,CAACL,MAAM,CAACW,OAAO,EAAED,OAAO,CAAC,CAAC;EAE7BlC,KAAK,CAAC+C,SAAS,CAAC,MAAM;IACpB,IAAI,CAACZ,OAAO,IAAID,OAAO,EAAE;MACvBI,aAAa,CAAC,IAAI,CAAC;MACnB;IACF;IACA,IAAID,UAAU,KAAK,SAAS,IAAI,CAACnB,KAAK,CAACuB,iBAAiB,EAAE;MACxDH,aAAa,CAAC,IAAI,CAAC;IACrB;EACF,CAAC,EAAE,CAACD,UAAU,EAAEH,OAAO,EAAEhB,KAAK,CAACuB,iBAAiB,EAAEN,OAAO,CAAC,CAAC;EAE3DnC,KAAK,CAAC+C,SAAS,CAAC,MAAM;IACpB,IAAI,CAACvB,MAAM,CAACW,OAAO,EAAE;MACnBZ,eAAe,CAAC,CAAC,CAAC;MAClB;IACF;IACA,IAAID,UAAU,EAAE;IAChB,IAAI,CAACG,WAAW,IAAI,CAACS,OAAO,EAAE;MAC5BX,eAAe,CAAC,CAAC,CAAC;MAClB;IACF;IACA,IAAIO,SAAS,GAAG,CAAC,EAAE;MACjBP,eAAe,CAACO,SAAS,CAAC;IAC5B;EACF,CAAC,EAAE,CAACA,SAAS,EAAEN,MAAM,CAACW,OAAO,EAAEV,WAAW,EAAES,OAAO,EAAEX,eAAe,EAAED,UAAU,CAAC,CAAC;EAElFtB,KAAK,CAAC+C,SAAS,CAAC,MAAM;IACpB,IAAI,CAACvB,MAAM,CAACW,OAAO,IAAIb,UAAU,IAAIY,OAAO,EAAE;MAC5CzB,gBAAgB,CAACuC,GAAG,CAAC,IAAI,CAAC;MAC1B;IACF;IACAvC,gBAAgB,CAACuC,GAAG,CAAC;MACnBC,WAAW,EAAEA,CAAA,KAAM;QACjBpB,iBAAiB,CAAC,KAAK,CAAC;QACxBH,cAAc,CAAEwB,KAAK,IAAK,CAACA,KAAK,CAAC;MACnC;IACF,CAAC,CAAC;IACF,OAAO,MAAM;MACXzC,gBAAgB,CAACuC,GAAG,CAAC,IAAI,CAAC;IAC5B,CAAC;EACH,CAAC,EAAE,CAACxB,MAAM,CAACW,OAAO,EAAED,OAAO,EAAEZ,UAAU,CAAC,CAAC;EAEzCtB,KAAK,CAAC+C,SAAS,CAAC,MAAM;IACpB1B,kBAAkB,GAAGqB,UAAU,CAAC;EAClC,CAAC,EAAE,CAACA,UAAU,EAAErB,kBAAkB,CAAC,CAAC;EAEpCrB,KAAK,CAAC+C,SAAS,CAAC,MAAM;IACpB,OAAO,MAAM;MACX1B,kBAAkB,GAAG,KAAK,CAAC;IAC7B,CAAC;EACH,CAAC,EAAE,CAACA,kBAAkB,CAAC,CAAC;EAExB,MAAM8B,eAAe,GAAGnD,KAAK,CAACoD,WAAW,CAAEC,MAAc,IAAK;IAC5DtB,YAAY,CAACuB,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEF,MAAM,CAAC,CAAC;EACnC,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMG,WAAW,GAAGxD,KAAK,CAACoD,WAAW,CAAC,MAAM;IAC1C,IAAIlB,OAAO,EAAE;MACXf,MAAM,CAAC,CAAC;MACR;IACF;IACAmB,aAAa,CAAC,MAAM,CAAC;EACvB,CAAC,EAAE,CAACJ,OAAO,EAAEf,MAAM,CAAC,CAAC;EAErB,MAAMsC,YAAY,GAAGzD,KAAK,CAACoD,WAAW,CAAC,MAAM;IAC3C,IAAIlB,OAAO,IAAI,CAAChB,KAAK,CAACuB,iBAAiB,EAAE;IACzCH,aAAa,CAAC,SAAS,CAAC;EAC1B,CAAC,EAAE,CAACJ,OAAO,EAAEhB,KAAK,CAACuB,iBAAiB,CAAC,CAAC;EAEtC,MAAMiB,WAAW,GAAG1D,KAAK,CAACoD,WAAW,CAAC,MAAM;IAC1Cd,aAAa,CAAC,IAAI,CAAC;EACrB,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMqB,WAAW,GAAG3D,KAAK,CAACoD,WAAW,CAAC,MAAM;IAC1Cd,aAAa,CAAC,IAAI,CAAC;IACnBnB,MAAM,CAAC,CAAC;EACV,CAAC,EAAE,CAACA,MAAM,CAAC,CAAC;EAEZ,MAAMyC,cAAc,GAAG5D,KAAK,CAACoD,WAAW,CAAC,MAAM;IAC7Cd,aAAa,CAAC,IAAI,CAAC;IACnBlB,SAAS,GAAG,CAAC;EACf,CAAC,EAAE,CAACA,SAAS,CAAC,CAAC;EAEf,IAAI,CAACuB,UAAU,IAAI,CAACD,UAAU,EAAE,OAAO,IAAI;EAE3C,MAAMmB,cAAc,GAAG1B,OAAO,IAAIP,cAAc,IAAI,CAACM,OAAO,IAAI,CAACQ,UAAU;EAE3E,oBACE3B,KAAA,CAACb,IAAI;IACH4D,wBAAwB,EAAEpB,UAAW;IACrCqB,aAAa,EAAC,UAAU;IACxBC,KAAK,EAAE,CAACC,MAAM,CAACC,IAAI,EAAExB,UAAU,GAAGuB,MAAM,CAACE,cAAc,GAAG,IAAI,CAAE;IAChEC,MAAM,EAAC,yBAAyB;IAAAC,QAAA,GAE/B3B,UAAU,IAAIL,UAAU,KAAK,MAAM;IAAA;IAClC;IACAtB,KAAA,CAACT,YAAY;MACXgE,IAAI,EAAC,2EAA2E;MAChFC,OAAO,EAAEb,WAAY;MACrBc,KAAK,EAAC,oBAAoB;MAAAH,QAAA,gBAE1BxD,IAAA,CAACR,YAAY;QACXoE,kBAAkB,EAAC,QAAQ;QAC3BC,IAAI;QACJC,KAAK,EAAC,QAAQ;QACdC,OAAO,EAAElB,WAAY;QACrBU,MAAM,EAAC,8BAA8B;QACrCS,OAAO,EAAC;MAAW,CACpB,CAAC,eACFhE,IAAA,CAACR,YAAY;QACXoE,kBAAkB,EAAC,cAAc;QACjCC,IAAI;QACJI,IAAI,EAAC,yBAAyB;QAC9BH,KAAK,EAAC,MAAM;QACZC,OAAO,EAAEjB,WAAY;QACrBS,MAAM,EAAC;MAA+B,CACvC,CAAC;IAAA,CACU,CAAC,GACb,IAAI,EACP1B,UAAU,IAAIL,UAAU,KAAK,SAAS,gBACrCtB,KAAA,CAACT,YAAY;MACXgE,IAAI,EAAC,iDAAiD;MACtDC,OAAO,EAAEb,WAAY;MACrBc,KAAK,EAAC,eAAe;MAAAH,QAAA,gBAErBxD,IAAA,CAACR,YAAY;QACXoE,kBAAkB,EAAC,QAAQ;QAC3BC,IAAI;QACJC,KAAK,EAAC,QAAQ;QACdC,OAAO,EAAElB,WAAY;QACrBU,MAAM,EAAC,iCAAiC;QACxCS,OAAO,EAAC;MAAW,CACpB,CAAC,eACFhE,IAAA,CAACR,YAAY;QACXoE,kBAAkB,EAAC,cAAc;QACjCC,IAAI;QACJI,IAAI,EAAC,mBAAmB;QACxBH,KAAK,EAAC,SAAS;QACfC,OAAO,EAAEhB,cAAe;QACxBQ,MAAM,EAAC;MAAkC,CAC1C,CAAC;IAAA,CACU,CAAC,GACb,IAAI,EACPzB,UAAU,IAAIG,SAAS,gBACtBjC,IAAA,CAACV,mBAAmB;MAAC4E,IAAI,EAAC,KAAK;MAAChB,aAAa,EAAC,UAAU;MAAC5B,OAAO,EAAEA,OAAQ;MAAAkC,QAAA,eACxExD,IAAA,CAACL,YAAY;QACXwE,2BAA2B,EAAEtC,UAAW;QACxCuC,yBAAyB,EAAEvC,UAAU,GAAG,qBAAqB,GAAGwC,SAAU;QAC1EP,KAAK,EAAE7B,SAAS,CAAC6B,KAAM;QACvBQ,aAAa,EAAErC,SAAS,CAACqC,aAAc;QACvChC,eAAe,EAAEA,eAAgB;QACjCf,IAAI,EAAEU,SAAS,CAACV,IAAK;QACrBgD,IAAI,eACFvE,IAAA,CAACR,YAAY;UACXoE,kBAAkB,EAAEvC,OAAO,GAAG,yBAAyB,GAAG,cAAe;UACzE4C,IAAI,EAAC,yBAAyB;UAC9BF,OAAO,EAAEpB,WAAY;UACrBY,MAAM,EAAC,uBAAuB;UAC9BS,OAAO,EAAC;QAAM,CACf,CACF;QACDQ,KAAK,EACH9C,WAAW,gBACT1B,IAAA,CAACR,YAAY;UACXoE,kBAAkB,EAAC,cAAc;UACjCK,IAAI,EAAC,mBAAmB;UACxBF,OAAO,EAAEnB,YAAa;UACtBW,MAAM,EAAC,0BAA0B;UACjCS,OAAO,EAAC;QAAM,CACf,CAAC,GACAK;MACL,CACF;IAAC,CACiB,CAAC,GACpB,IAAI,EACPrB,cAAc,gBACbhD,IAAA,CAACX,IAAI;MAAC6D,aAAa,EAAC,MAAM;MAACC,KAAK,EAAE,CAACC,MAAM,CAACqB,OAAO,EAAE;QAAEC,GAAG,EAAEzD;MAAU,CAAC,CAAE;MAAAuC,QAAA,eACrExD,IAAA,CAACN,aAAa;QACZiF,SAAS,EAAEA,CAAA,KAAM;UACf3D,iBAAiB,CAAC,KAAK,CAAC;QAC1B,CAAE;QAAAwC,QAAA,EAEDrD;MAAe,CACH;IAAC,CACZ,CAAC,GACL,IAAI;EAAA,CACJ,CAAC;AAEX;AAEA,MAAMiD,MAAM,GAAGhE,UAAU,CAACwF,MAAM,CAAC;EAC/BvB,IAAI,EAAE;IACJwB,QAAQ,EAAE,UAAU;IACpBH,GAAG,EAAE,CAAC;IACNH,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRM,MAAM,EAAE,CAAC;IACTC,MAAM,EAAE;EACV,CAAC;EACDzB,cAAc,EAAE;IACdyB,MAAM,EAAE;EACV,CAAC;EACDN,OAAO,EAAE;IACPI,QAAQ,EAAE,UAAU;IACpBN,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRQ,UAAU,EAAE;EACd;AACF,CAAC,CAAC","ignoreList":[]}
@@ -55,6 +55,14 @@ export function pairingConnectFailedMessage(reason) {
55
55
  return `${PREFIX} Builder pairing could not connect: ${reason}. The app is unaffected — ` + `re-open the pairing link from the Builder to try again.`;
56
56
  }
57
57
 
58
+ /**
59
+ * Engine-reported pairing failure (`lastError`). The preview top bar no longer
60
+ * has a second line for this, so it must reach Metro under the `[Userflow]` prefix.
61
+ */
62
+ export function pairingPreviewErrorMessage(reason) {
63
+ return `${PREFIX} Builder pairing: ${reason}`;
64
+ }
65
+
58
66
  /** A pairing link arrived without the `pairing_token` query parameter. */
59
67
  export function pairingMissingTokenMessage(url) {
60
68
  return `${PREFIX} Ignoring Builder pairing link "${redactPairingToken(url)}": no ` + `"pairing_token" query parameter. Open the link straight from the Builder QR ` + `code rather than reconstructing it by hand.`;
@@ -65,7 +73,7 @@ export function pairingMissingTokenMessage(url) {
65
73
  * host app's own scheme substituted for the environment's `scheme_id`.
66
74
  */
67
75
  export function pairingForeignSchemeMessage(url) {
68
- return `${PREFIX} Ignoring "${redactPairingToken(url)}": this is a Builder pairing ` + `link, but it was opened with a scheme Userflow does not own. Use your ` + `environment's scheme_id ("userflow-" followed by digits) exactly as the ` + `pairing QR code provides it — do not substitute your app's own scheme. ` + `Register it via the @userflow-tech/expo plugin ({ schemeId: 'userflow-…' }) and ` + `rebuild the native app; a Metro reload is not enough.`;
76
+ return `${PREFIX} Ignoring "${redactPairingToken(url)}": this is a Builder pairing ` + `link, but it was opened with a scheme Userflow does not own. Use your ` + `environment's scheme_id ("userflow-" followed by digits) exactly as the ` + `pairing QR code provides it — do not substitute your app's own scheme. ` + `Register it via the @userflow-tech/react-native plugin ({ schemeId: 'userflow-…' }) and ` + `rebuild the native app; a Metro reload is not enough.`;
69
77
  }
70
78
 
71
79
  /** Message for a pairing attempt that could not be used. */
@@ -96,6 +104,6 @@ export function pairingListenerSetupFailedMessage(reason) {
96
104
  * can match preview links but not pairing ones.
97
105
  */
98
106
  export function pairingSchemeShapeMessage(url) {
99
- return `${PREFIX} Ignoring Builder pairing link "${redactPairingToken(url)}": the scheme must be your ` + `environment's scheme_id — "userflow-" followed by digits (e.g. userflow-257587). ` + `Check the schemeId passed to the @userflow-tech/expo plugin.`;
107
+ return `${PREFIX} Ignoring Builder pairing link "${redactPairingToken(url)}": the scheme must be your ` + `environment's scheme_id — "userflow-" followed by digits (e.g. userflow-257587). ` + `Check the schemeId passed to the @userflow-tech/react-native plugin.`;
100
108
  }
101
109
  //# sourceMappingURL=diagnostics.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["PREFIX","redactPairingToken","url","replace","defaultPairingLogger","message","console","warn","pairingLinkDeferredMessage","pairingLinkInitFailedMessage","reason","pairingConnectFailedMessage","pairingMissingTokenMessage","pairingForeignSchemeMessage","pairingAttemptRejectionMessage","pairingSchemeShapeMessage","pairingTokenStoreClearFailedMessage","pairingListenerSetupFailedMessage"],"sourceRoot":"../../../src","sources":["pairing/diagnostics.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA,MAAMA,MAAM,GAAG,YAAY;;AAE3B;AACA;AACA;AACA;AACA,SAASC,kBAAkBA,CAACC,GAAW,EAAU;EAC/C,OAAOA,GAAG,CAACC,OAAO,CAAC,wBAAwB,EAAE,cAAc,CAAC;AAC9D;;AAEA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,oBAAmC,GAAIC,OAAO,IAAK;EAC9D;EACAC,OAAO,CAACC,IAAI,CAACF,OAAO,CAAC;AACvB,CAAC;;AAED;AACA,OAAO,SAASG,0BAA0BA,CAAA,EAAW;EACnD,OACE,GAAGR,MAAM,kEAAkE,GAC3E,uDAAuD;AAE3D;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASS,4BAA4BA,CAACC,MAAc,EAAU;EACnE,OACE,GAAGV,MAAM,wEAAwE,GACjF,iBAAiBU,MAAM,2DAA2D,GAClF,mEAAmE;AAEvE;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASC,2BAA2BA,CAACD,MAAc,EAAU;EAClE,OACE,GAAGV,MAAM,uCAAuCU,MAAM,4BAA4B,GAClF,yDAAyD;AAE7D;;AAEA;AACA,OAAO,SAASE,0BAA0BA,CAACV,GAAW,EAAU;EAC9D,OACE,GAAGF,MAAM,mCAAmCC,kBAAkB,CAACC,GAAG,CAAC,QAAQ,GAC3E,8EAA8E,GAC9E,6CAA6C;AAEjD;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASW,2BAA2BA,CAACX,GAAW,EAAU;EAC/D,OACE,GAAGF,MAAM,cAAcC,kBAAkB,CAACC,GAAG,CAAC,+BAA+B,GAC7E,wEAAwE,GACxE,0EAA0E,GAC1E,yEAAyE,GACzE,kFAAkF,GAClF,uDAAuD;AAE3D;;AAEA;AACA,OAAO,SAASY,8BAA8BA,CAC5CJ,MAA+B,EAC/BR,GAAW,EACH;EACR,QAAQQ,MAAM;IACZ,KAAK,gBAAgB;MACnB,OAAOG,2BAA2B,CAACX,GAAG,CAAC;IACzC,KAAK,kBAAkB;MACrB,OAAOa,yBAAyB,CAACb,GAAG,CAAC;IACvC,KAAK,eAAe;MAClB,OAAOU,0BAA0B,CAACV,GAAG,CAAC;EAC1C;AACF;;AAEA;AACA,OAAO,SAASc,mCAAmCA,CAACN,MAAc,EAAU;EAC1E,OACE,GAAGV,MAAM,8CAA8CU,MAAM,iBAAiB,GAC9E,6EAA6E;AAEjF;;AAEA;AACA,OAAO,SAASO,iCAAiCA,CAACP,MAAc,EAAU;EACxE,OACE,GAAGV,MAAM,+CAA+CU,MAAM,iBAAiB,GAC/E,4EAA4E;AAEhF;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASK,yBAAyBA,CAACb,GAAW,EAAU;EAC7D,OACE,GAAGF,MAAM,mCAAmCC,kBAAkB,CAACC,GAAG,CAAC,6BAA6B,GAChG,mFAAmF,GACnF,8DAA8D;AAElE","ignoreList":[]}
1
+ {"version":3,"names":["PREFIX","redactPairingToken","url","replace","defaultPairingLogger","message","console","warn","pairingLinkDeferredMessage","pairingLinkInitFailedMessage","reason","pairingConnectFailedMessage","pairingPreviewErrorMessage","pairingMissingTokenMessage","pairingForeignSchemeMessage","pairingAttemptRejectionMessage","pairingSchemeShapeMessage","pairingTokenStoreClearFailedMessage","pairingListenerSetupFailedMessage"],"sourceRoot":"../../../src","sources":["pairing/diagnostics.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA,MAAMA,MAAM,GAAG,YAAY;;AAE3B;AACA;AACA;AACA;AACA,SAASC,kBAAkBA,CAACC,GAAW,EAAU;EAC/C,OAAOA,GAAG,CAACC,OAAO,CAAC,wBAAwB,EAAE,cAAc,CAAC;AAC9D;;AAEA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,oBAAmC,GAAIC,OAAO,IAAK;EAC9D;EACAC,OAAO,CAACC,IAAI,CAACF,OAAO,CAAC;AACvB,CAAC;;AAED;AACA,OAAO,SAASG,0BAA0BA,CAAA,EAAW;EACnD,OACE,GAAGR,MAAM,kEAAkE,GAC3E,uDAAuD;AAE3D;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASS,4BAA4BA,CAACC,MAAc,EAAU;EACnE,OACE,GAAGV,MAAM,wEAAwE,GACjF,iBAAiBU,MAAM,2DAA2D,GAClF,mEAAmE;AAEvE;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASC,2BAA2BA,CAACD,MAAc,EAAU;EAClE,OACE,GAAGV,MAAM,uCAAuCU,MAAM,4BAA4B,GAClF,yDAAyD;AAE7D;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASE,0BAA0BA,CAACF,MAAc,EAAU;EACjE,OAAO,GAAGV,MAAM,qBAAqBU,MAAM,EAAE;AAC/C;;AAEA;AACA,OAAO,SAASG,0BAA0BA,CAACX,GAAW,EAAU;EAC9D,OACE,GAAGF,MAAM,mCAAmCC,kBAAkB,CAACC,GAAG,CAAC,QAAQ,GAC3E,8EAA8E,GAC9E,6CAA6C;AAEjD;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASY,2BAA2BA,CAACZ,GAAW,EAAU;EAC/D,OACE,GAAGF,MAAM,cAAcC,kBAAkB,CAACC,GAAG,CAAC,+BAA+B,GAC7E,wEAAwE,GACxE,0EAA0E,GAC1E,yEAAyE,GACzE,0FAA0F,GAC1F,uDAAuD;AAE3D;;AAEA;AACA,OAAO,SAASa,8BAA8BA,CAC5CL,MAA+B,EAC/BR,GAAW,EACH;EACR,QAAQQ,MAAM;IACZ,KAAK,gBAAgB;MACnB,OAAOI,2BAA2B,CAACZ,GAAG,CAAC;IACzC,KAAK,kBAAkB;MACrB,OAAOc,yBAAyB,CAACd,GAAG,CAAC;IACvC,KAAK,eAAe;MAClB,OAAOW,0BAA0B,CAACX,GAAG,CAAC;EAC1C;AACF;;AAEA;AACA,OAAO,SAASe,mCAAmCA,CAACP,MAAc,EAAU;EAC1E,OACE,GAAGV,MAAM,8CAA8CU,MAAM,iBAAiB,GAC9E,6EAA6E;AAEjF;;AAEA;AACA,OAAO,SAASQ,iCAAiCA,CAACR,MAAc,EAAU;EACxE,OACE,GAAGV,MAAM,+CAA+CU,MAAM,iBAAiB,GAC/E,4EAA4E;AAEhF;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASM,yBAAyBA,CAACd,GAAW,EAAU;EAC7D,OACE,GAAGF,MAAM,mCAAmCC,kBAAkB,CAACC,GAAG,CAAC,6BAA6B,GAChG,mFAAmF,GACnF,sEAAsE;AAE1E","ignoreList":[]}