@userflow-tech/react-native 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +76 -0
- package/README.md +337 -0
- package/docs/anchoring.md +264 -0
- package/docs/deep-linking.md +271 -0
- package/docs/identity-verification.md +95 -0
- package/docs/theme-mapping.md +101 -0
- package/docs/troubleshooting.md +107 -0
- package/lib/commonjs/anchors/AnchorRegistry.js +72 -0
- package/lib/commonjs/anchors/AnchorRegistry.js.map +1 -0
- package/lib/commonjs/anchors/AutoAnchorRegistry.js +315 -0
- package/lib/commonjs/anchors/AutoAnchorRegistry.js.map +1 -0
- package/lib/commonjs/anchors/ScrollContainerRegistry.js +93 -0
- package/lib/commonjs/anchors/ScrollContainerRegistry.js.map +1 -0
- package/lib/commonjs/anchors/anchorChangeTicker.js +83 -0
- package/lib/commonjs/anchors/anchorChangeTicker.js.map +1 -0
- package/lib/commonjs/anchors/animationFrame.js +90 -0
- package/lib/commonjs/anchors/animationFrame.js.map +1 -0
- package/lib/commonjs/anchors/autoAnchor.js +253 -0
- package/lib/commonjs/anchors/autoAnchor.js.map +1 -0
- package/lib/commonjs/anchors/elementConditionEvaluator.js +82 -0
- package/lib/commonjs/anchors/elementConditionEvaluator.js.map +1 -0
- package/lib/commonjs/anchors/fiber/FiberScanRoot.js +90 -0
- package/lib/commonjs/anchors/fiber/FiberScanRoot.js.map +1 -0
- package/lib/commonjs/anchors/fiber/fiberInternals.js +180 -0
- package/lib/commonjs/anchors/fiber/fiberInternals.js.map +1 -0
- package/lib/commonjs/anchors/fiber/findAnchorFiber.js +214 -0
- package/lib/commonjs/anchors/fiber/findAnchorFiber.js.map +1 -0
- package/lib/commonjs/anchors/fiber/findScrollAncestors.js +176 -0
- package/lib/commonjs/anchors/fiber/findScrollAncestors.js.map +1 -0
- package/lib/commonjs/anchors/fiber/measureHostFiber.js +75 -0
- package/lib/commonjs/anchors/fiber/measureHostFiber.js.map +1 -0
- package/lib/commonjs/anchors/fiber/visibleScreens.js +165 -0
- package/lib/commonjs/anchors/fiber/visibleScreens.js.map +1 -0
- package/lib/commonjs/anchors/hintsCodec.js +120 -0
- package/lib/commonjs/anchors/hintsCodec.js.map +1 -0
- package/lib/commonjs/anchors/resolveAnchorHost.js +112 -0
- package/lib/commonjs/anchors/resolveAnchorHost.js.map +1 -0
- package/lib/commonjs/anchors/resolveManualAnchorId.js +17 -0
- package/lib/commonjs/anchors/resolveManualAnchorId.js.map +1 -0
- package/lib/commonjs/anchors/scrollAnchorIntoView.js +227 -0
- package/lib/commonjs/anchors/scrollAnchorIntoView.js.map +1 -0
- package/lib/commonjs/anchors/scrollConfig.js +48 -0
- package/lib/commonjs/anchors/scrollConfig.js.map +1 -0
- package/lib/commonjs/anchors/targetPressMonitor.js +113 -0
- package/lib/commonjs/anchors/targetPressMonitor.js.map +1 -0
- package/lib/commonjs/anchors/useUserflowAnchor.js +91 -0
- package/lib/commonjs/anchors/useUserflowAnchor.js.map +1 -0
- package/lib/commonjs/anchors/useUserflowScrollContainer.js +76 -0
- package/lib/commonjs/anchors/useUserflowScrollContainer.js.map +1 -0
- package/lib/commonjs/anonymousId.js +42 -0
- package/lib/commonjs/anonymousId.js.map +1 -0
- package/lib/commonjs/content/RichContentRenderer.js +675 -0
- package/lib/commonjs/content/RichContentRenderer.js.map +1 -0
- package/lib/commonjs/content/StepButton.js +57 -0
- package/lib/commonjs/content/StepButton.js.map +1 -0
- package/lib/commonjs/content/buttonAppearance.js +18 -0
- package/lib/commonjs/content/buttonAppearance.js.map +1 -0
- package/lib/commonjs/content/deserialize.js +129 -0
- package/lib/commonjs/content/deserialize.js.map +1 -0
- package/lib/commonjs/content/imageLayout.js +24 -0
- package/lib/commonjs/content/imageLayout.js.map +1 -0
- package/lib/commonjs/content/migrateFlowBlocks.js +39 -0
- package/lib/commonjs/content/migrateFlowBlocks.js.map +1 -0
- package/lib/commonjs/content/openSafeUrl.js +37 -0
- package/lib/commonjs/content/openSafeUrl.js.map +1 -0
- package/lib/commonjs/content/resolveStepButtonChrome.js +95 -0
- package/lib/commonjs/content/resolveStepButtonChrome.js.map +1 -0
- package/lib/commonjs/content/themeColor.js +106 -0
- package/lib/commonjs/content/themeColor.js.map +1 -0
- package/lib/commonjs/content/types.js +2 -0
- package/lib/commonjs/content/types.js.map +1 -0
- package/lib/commonjs/deepLinking.js +162 -0
- package/lib/commonjs/deepLinking.js.map +1 -0
- package/lib/commonjs/expo-router/UserflowExpoRouterScreenTracker.js +13 -0
- package/lib/commonjs/expo-router/UserflowExpoRouterScreenTracker.js.map +1 -0
- package/lib/commonjs/expo-router/getExpoRouterScreenTracker.js +44 -0
- package/lib/commonjs/expo-router/getExpoRouterScreenTracker.js.map +1 -0
- package/lib/commonjs/expo-router/index.js +20 -0
- package/lib/commonjs/expo-router/index.js.map +1 -0
- package/lib/commonjs/expo-router/useUserflowExpoRouter.js +45 -0
- package/lib/commonjs/expo-router/useUserflowExpoRouter.js.map +1 -0
- package/lib/commonjs/index.js +356 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/lifecycle.js +200 -0
- package/lib/commonjs/lifecycle.js.map +1 -0
- package/lib/commonjs/navigation/WithUserflowReactNavigation.js +69 -0
- package/lib/commonjs/navigation/WithUserflowReactNavigation.js.map +1 -0
- package/lib/commonjs/navigation/chainCallbacks.js +16 -0
- package/lib/commonjs/navigation/chainCallbacks.js.map +1 -0
- package/lib/commonjs/navigation/getActiveRouteName.js +18 -0
- package/lib/commonjs/navigation/getActiveRouteName.js.map +1 -0
- package/lib/commonjs/navigation/index.js +50 -0
- package/lib/commonjs/navigation/index.js.map +1 -0
- package/lib/commonjs/navigation/openFlowNavigateUrl.js +110 -0
- package/lib/commonjs/navigation/openFlowNavigateUrl.js.map +1 -0
- package/lib/commonjs/network.js +90 -0
- package/lib/commonjs/network.js.map +1 -0
- package/lib/commonjs/pairing/PairingController.js +290 -0
- package/lib/commonjs/pairing/PairingController.js.map +1 -0
- package/lib/commonjs/pairing/PreviewModeBanner.js +118 -0
- package/lib/commonjs/pairing/PreviewModeBanner.js.map +1 -0
- package/lib/commonjs/pairing/deepLink.js +141 -0
- package/lib/commonjs/pairing/deepLink.js.map +1 -0
- package/lib/commonjs/pairing/diagnostics.js +115 -0
- package/lib/commonjs/pairing/diagnostics.js.map +1 -0
- package/lib/commonjs/pairing/index.js +58 -0
- package/lib/commonjs/pairing/index.js.map +1 -0
- package/lib/commonjs/pairing/pairingRuntime.js +85 -0
- package/lib/commonjs/pairing/pairingRuntime.js.map +1 -0
- package/lib/commonjs/pairing/tokenStorage.js +70 -0
- package/lib/commonjs/pairing/tokenStorage.js.map +1 -0
- package/lib/commonjs/pairing/usePairingState.js +40 -0
- package/lib/commonjs/pairing/usePairingState.js.map +1 -0
- package/lib/commonjs/runtime/FlowRenderer.js +57 -0
- package/lib/commonjs/runtime/FlowRenderer.js.map +1 -0
- package/lib/commonjs/runtime/FlowSurfaceFade.js +53 -0
- package/lib/commonjs/runtime/FlowSurfaceFade.js.map +1 -0
- package/lib/commonjs/runtime/TargetPressBridge.js +96 -0
- package/lib/commonjs/runtime/TargetPressBridge.js.map +1 -0
- package/lib/commonjs/runtime/UserflowProvider.js +91 -0
- package/lib/commonjs/runtime/UserflowProvider.js.map +1 -0
- package/lib/commonjs/runtime/clientConditions.js +50 -0
- package/lib/commonjs/runtime/clientConditions.js.map +1 -0
- package/lib/commonjs/runtime/flowEngine.js +63 -0
- package/lib/commonjs/runtime/flowEngine.js.map +1 -0
- package/lib/commonjs/runtime/flowSessionViewState.js +48 -0
- package/lib/commonjs/runtime/flowSessionViewState.js.map +1 -0
- package/lib/commonjs/runtime/useFlowSessionState.js +25 -0
- package/lib/commonjs/runtime/useFlowSessionState.js.map +1 -0
- package/lib/commonjs/runtime/userflowCore.js +13 -0
- package/lib/commonjs/runtime/userflowCore.js.map +1 -0
- package/lib/commonjs/screenTracker.js +87 -0
- package/lib/commonjs/screenTracker.js.map +1 -0
- package/lib/commonjs/surfaces/CloseButton.js +52 -0
- package/lib/commonjs/surfaces/CloseButton.js.map +1 -0
- package/lib/commonjs/surfaces/MadeWithUserflow.js +90 -0
- package/lib/commonjs/surfaces/MadeWithUserflow.js.map +1 -0
- package/lib/commonjs/surfaces/ModalSurface.js +170 -0
- package/lib/commonjs/surfaces/ModalSurface.js.map +1 -0
- package/lib/commonjs/surfaces/ProgressBar.js +116 -0
- package/lib/commonjs/surfaces/ProgressBar.js.map +1 -0
- package/lib/commonjs/surfaces/TooltipSurface.js +638 -0
- package/lib/commonjs/surfaces/TooltipSurface.js.map +1 -0
- package/lib/commonjs/surfaces/absoluteFill.js +29 -0
- package/lib/commonjs/surfaces/absoluteFill.js.map +1 -0
- package/lib/commonjs/surfaces/assets/png.d.js +2 -0
- package/lib/commonjs/surfaces/assets/png.d.js.map +1 -0
- package/lib/commonjs/surfaces/assets/userflow-logomark.png +0 -0
- package/lib/commonjs/surfaces/parseBackdropOpacity.js +20 -0
- package/lib/commonjs/surfaces/parseBackdropOpacity.js.map +1 -0
- package/lib/commonjs/surfaces/progress.js +35 -0
- package/lib/commonjs/surfaces/progress.js.map +1 -0
- package/lib/commonjs/surfaces/resolveCloseButtonColor.js +24 -0
- package/lib/commonjs/surfaces/resolveCloseButtonColor.js.map +1 -0
- package/lib/commonjs/surfaces/resolveModalLayout.js +67 -0
- package/lib/commonjs/surfaces/resolveModalLayout.js.map +1 -0
- package/lib/commonjs/surfaces/resolveTooltipLayout.js +64 -0
- package/lib/commonjs/surfaces/resolveTooltipLayout.js.map +1 -0
- package/lib/commonjs/surfaces/safeArea.js +46 -0
- package/lib/commonjs/surfaces/safeArea.js.map +1 -0
- package/lib/commonjs/surfaces/themeChrome.js +90 -0
- package/lib/commonjs/surfaces/themeChrome.js.map +1 -0
- package/lib/commonjs/surfaces/tooltip/TooltipBubble.js +108 -0
- package/lib/commonjs/surfaces/tooltip/TooltipBubble.js.map +1 -0
- package/lib/commonjs/surfaces/tooltip/TooltipCutout.js +103 -0
- package/lib/commonjs/surfaces/tooltip/TooltipCutout.js.map +1 -0
- package/lib/commonjs/surfaces/tooltip/TooltipNotch.js +64 -0
- package/lib/commonjs/surfaces/tooltip/TooltipNotch.js.map +1 -0
- package/lib/commonjs/surfaces/tooltip/computeTooltipPosition.js +102 -0
- package/lib/commonjs/surfaces/tooltip/computeTooltipPosition.js.map +1 -0
- package/lib/commonjs/surfaces/tooltip/inferTooltipPlacement.js +100 -0
- package/lib/commonjs/surfaces/tooltip/inferTooltipPlacement.js.map +1 -0
- package/lib/commonjs/surfaces/tooltip/parseBackdropPadding.js +15 -0
- package/lib/commonjs/surfaces/tooltip/parseBackdropPadding.js.map +1 -0
- package/lib/commonjs/surfaces/tooltip/rect.js +51 -0
- package/lib/commonjs/surfaces/tooltip/rect.js.map +1 -0
- package/lib/commonjs/useUserflowScreen.js +24 -0
- package/lib/commonjs/useUserflowScreen.js.map +1 -0
- package/lib/commonjs/version.js +9 -0
- package/lib/commonjs/version.js.map +1 -0
- package/lib/module/anchors/AnchorRegistry.js +67 -0
- package/lib/module/anchors/AnchorRegistry.js.map +1 -0
- package/lib/module/anchors/AutoAnchorRegistry.js +309 -0
- package/lib/module/anchors/AutoAnchorRegistry.js.map +1 -0
- package/lib/module/anchors/ScrollContainerRegistry.js +86 -0
- package/lib/module/anchors/ScrollContainerRegistry.js.map +1 -0
- package/lib/module/anchors/anchorChangeTicker.js +79 -0
- package/lib/module/anchors/anchorChangeTicker.js.map +1 -0
- package/lib/module/anchors/animationFrame.js +83 -0
- package/lib/module/anchors/animationFrame.js.map +1 -0
- package/lib/module/anchors/autoAnchor.js +248 -0
- package/lib/module/anchors/autoAnchor.js.map +1 -0
- package/lib/module/anchors/elementConditionEvaluator.js +79 -0
- package/lib/module/anchors/elementConditionEvaluator.js.map +1 -0
- package/lib/module/anchors/fiber/FiberScanRoot.js +84 -0
- package/lib/module/anchors/fiber/FiberScanRoot.js.map +1 -0
- package/lib/module/anchors/fiber/fiberInternals.js +164 -0
- package/lib/module/anchors/fiber/fiberInternals.js.map +1 -0
- package/lib/module/anchors/fiber/findAnchorFiber.js +210 -0
- package/lib/module/anchors/fiber/findAnchorFiber.js.map +1 -0
- package/lib/module/anchors/fiber/findScrollAncestors.js +172 -0
- package/lib/module/anchors/fiber/findScrollAncestors.js.map +1 -0
- package/lib/module/anchors/fiber/measureHostFiber.js +70 -0
- package/lib/module/anchors/fiber/measureHostFiber.js.map +1 -0
- package/lib/module/anchors/fiber/visibleScreens.js +159 -0
- package/lib/module/anchors/fiber/visibleScreens.js.map +1 -0
- package/lib/module/anchors/hintsCodec.js +111 -0
- package/lib/module/anchors/hintsCodec.js.map +1 -0
- package/lib/module/anchors/resolveAnchorHost.js +105 -0
- package/lib/module/anchors/resolveAnchorHost.js.map +1 -0
- package/lib/module/anchors/resolveManualAnchorId.js +13 -0
- package/lib/module/anchors/resolveManualAnchorId.js.map +1 -0
- package/lib/module/anchors/scrollAnchorIntoView.js +222 -0
- package/lib/module/anchors/scrollAnchorIntoView.js.map +1 -0
- package/lib/module/anchors/scrollConfig.js +40 -0
- package/lib/module/anchors/scrollConfig.js.map +1 -0
- package/lib/module/anchors/targetPressMonitor.js +105 -0
- package/lib/module/anchors/targetPressMonitor.js.map +1 -0
- package/lib/module/anchors/useUserflowAnchor.js +87 -0
- package/lib/module/anchors/useUserflowAnchor.js.map +1 -0
- package/lib/module/anchors/useUserflowScrollContainer.js +71 -0
- package/lib/module/anchors/useUserflowScrollContainer.js.map +1 -0
- package/lib/module/anonymousId.js +36 -0
- package/lib/module/anonymousId.js.map +1 -0
- package/lib/module/content/RichContentRenderer.js +670 -0
- package/lib/module/content/RichContentRenderer.js.map +1 -0
- package/lib/module/content/StepButton.js +52 -0
- package/lib/module/content/StepButton.js.map +1 -0
- package/lib/module/content/buttonAppearance.js +14 -0
- package/lib/module/content/buttonAppearance.js.map +1 -0
- package/lib/module/content/deserialize.js +116 -0
- package/lib/module/content/deserialize.js.map +1 -0
- package/lib/module/content/imageLayout.js +20 -0
- package/lib/module/content/imageLayout.js.map +1 -0
- package/lib/module/content/migrateFlowBlocks.js +35 -0
- package/lib/module/content/migrateFlowBlocks.js.map +1 -0
- package/lib/module/content/openSafeUrl.js +32 -0
- package/lib/module/content/openSafeUrl.js.map +1 -0
- package/lib/module/content/resolveStepButtonChrome.js +90 -0
- package/lib/module/content/resolveStepButtonChrome.js.map +1 -0
- package/lib/module/content/themeColor.js +99 -0
- package/lib/module/content/themeColor.js.map +1 -0
- package/lib/module/content/types.js +2 -0
- package/lib/module/content/types.js.map +1 -0
- package/lib/module/deepLinking.js +152 -0
- package/lib/module/deepLinking.js.map +1 -0
- package/lib/module/expo-router/UserflowExpoRouterScreenTracker.js +10 -0
- package/lib/module/expo-router/UserflowExpoRouterScreenTracker.js.map +1 -0
- package/lib/module/expo-router/getExpoRouterScreenTracker.js +39 -0
- package/lib/module/expo-router/getExpoRouterScreenTracker.js.map +1 -0
- package/lib/module/expo-router/index.js +5 -0
- package/lib/module/expo-router/index.js.map +1 -0
- package/lib/module/expo-router/useUserflowExpoRouter.js +42 -0
- package/lib/module/expo-router/useUserflowExpoRouter.js.map +1 -0
- package/lib/module/index.js +259 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/lifecycle.js +195 -0
- package/lib/module/lifecycle.js.map +1 -0
- package/lib/module/navigation/WithUserflowReactNavigation.js +65 -0
- package/lib/module/navigation/WithUserflowReactNavigation.js.map +1 -0
- package/lib/module/navigation/chainCallbacks.js +12 -0
- package/lib/module/navigation/chainCallbacks.js.map +1 -0
- package/lib/module/navigation/getActiveRouteName.js +14 -0
- package/lib/module/navigation/getActiveRouteName.js.map +1 -0
- package/lib/module/navigation/index.js +5 -0
- package/lib/module/navigation/index.js.map +1 -0
- package/lib/module/navigation/openFlowNavigateUrl.js +100 -0
- package/lib/module/navigation/openFlowNavigateUrl.js.map +1 -0
- package/lib/module/network.js +85 -0
- package/lib/module/network.js.map +1 -0
- package/lib/module/pairing/PairingController.js +286 -0
- package/lib/module/pairing/PairingController.js.map +1 -0
- package/lib/module/pairing/PreviewModeBanner.js +113 -0
- package/lib/module/pairing/PreviewModeBanner.js.map +1 -0
- package/lib/module/pairing/deepLink.js +134 -0
- package/lib/module/pairing/deepLink.js.map +1 -0
- package/lib/module/pairing/diagnostics.js +101 -0
- package/lib/module/pairing/diagnostics.js.map +1 -0
- package/lib/module/pairing/index.js +7 -0
- package/lib/module/pairing/index.js.map +1 -0
- package/lib/module/pairing/pairingRuntime.js +77 -0
- package/lib/module/pairing/pairingRuntime.js.map +1 -0
- package/lib/module/pairing/tokenStorage.js +65 -0
- package/lib/module/pairing/tokenStorage.js.map +1 -0
- package/lib/module/pairing/usePairingState.js +35 -0
- package/lib/module/pairing/usePairingState.js.map +1 -0
- package/lib/module/runtime/FlowRenderer.js +52 -0
- package/lib/module/runtime/FlowRenderer.js.map +1 -0
- package/lib/module/runtime/FlowSurfaceFade.js +48 -0
- package/lib/module/runtime/FlowSurfaceFade.js.map +1 -0
- package/lib/module/runtime/TargetPressBridge.js +91 -0
- package/lib/module/runtime/TargetPressBridge.js.map +1 -0
- package/lib/module/runtime/UserflowProvider.js +85 -0
- package/lib/module/runtime/UserflowProvider.js.map +1 -0
- package/lib/module/runtime/clientConditions.js +43 -0
- package/lib/module/runtime/clientConditions.js.map +1 -0
- package/lib/module/runtime/flowEngine.js +54 -0
- package/lib/module/runtime/flowEngine.js.map +1 -0
- package/lib/module/runtime/flowSessionViewState.js +42 -0
- package/lib/module/runtime/flowSessionViewState.js.map +1 -0
- package/lib/module/runtime/useFlowSessionState.js +21 -0
- package/lib/module/runtime/useFlowSessionState.js.map +1 -0
- package/lib/module/runtime/userflowCore.js +10 -0
- package/lib/module/runtime/userflowCore.js.map +1 -0
- package/lib/module/screenTracker.js +79 -0
- package/lib/module/screenTracker.js.map +1 -0
- package/lib/module/surfaces/CloseButton.js +47 -0
- package/lib/module/surfaces/CloseButton.js.map +1 -0
- package/lib/module/surfaces/MadeWithUserflow.js +83 -0
- package/lib/module/surfaces/MadeWithUserflow.js.map +1 -0
- package/lib/module/surfaces/ModalSurface.js +165 -0
- package/lib/module/surfaces/ModalSurface.js.map +1 -0
- package/lib/module/surfaces/ProgressBar.js +111 -0
- package/lib/module/surfaces/ProgressBar.js.map +1 -0
- package/lib/module/surfaces/TooltipSurface.js +633 -0
- package/lib/module/surfaces/TooltipSurface.js.map +1 -0
- package/lib/module/surfaces/absoluteFill.js +25 -0
- package/lib/module/surfaces/absoluteFill.js.map +1 -0
- package/lib/module/surfaces/assets/png.d.js +2 -0
- package/lib/module/surfaces/assets/png.d.js.map +1 -0
- package/lib/module/surfaces/assets/userflow-logomark.png +0 -0
- package/lib/module/surfaces/parseBackdropOpacity.js +16 -0
- package/lib/module/surfaces/parseBackdropOpacity.js.map +1 -0
- package/lib/module/surfaces/progress.js +31 -0
- package/lib/module/surfaces/progress.js.map +1 -0
- package/lib/module/surfaces/resolveCloseButtonColor.js +20 -0
- package/lib/module/surfaces/resolveCloseButtonColor.js.map +1 -0
- package/lib/module/surfaces/resolveModalLayout.js +59 -0
- package/lib/module/surfaces/resolveModalLayout.js.map +1 -0
- package/lib/module/surfaces/resolveTooltipLayout.js +57 -0
- package/lib/module/surfaces/resolveTooltipLayout.js.map +1 -0
- package/lib/module/surfaces/safeArea.js +41 -0
- package/lib/module/surfaces/safeArea.js.map +1 -0
- package/lib/module/surfaces/themeChrome.js +86 -0
- package/lib/module/surfaces/themeChrome.js.map +1 -0
- package/lib/module/surfaces/tooltip/TooltipBubble.js +103 -0
- package/lib/module/surfaces/tooltip/TooltipBubble.js.map +1 -0
- package/lib/module/surfaces/tooltip/TooltipCutout.js +98 -0
- package/lib/module/surfaces/tooltip/TooltipCutout.js.map +1 -0
- package/lib/module/surfaces/tooltip/TooltipNotch.js +55 -0
- package/lib/module/surfaces/tooltip/TooltipNotch.js.map +1 -0
- package/lib/module/surfaces/tooltip/computeTooltipPosition.js +97 -0
- package/lib/module/surfaces/tooltip/computeTooltipPosition.js.map +1 -0
- package/lib/module/surfaces/tooltip/inferTooltipPlacement.js +95 -0
- package/lib/module/surfaces/tooltip/inferTooltipPlacement.js.map +1 -0
- package/lib/module/surfaces/tooltip/parseBackdropPadding.js +11 -0
- package/lib/module/surfaces/tooltip/parseBackdropPadding.js.map +1 -0
- package/lib/module/surfaces/tooltip/rect.js +44 -0
- package/lib/module/surfaces/tooltip/rect.js.map +1 -0
- package/lib/module/useUserflowScreen.js +21 -0
- package/lib/module/useUserflowScreen.js.map +1 -0
- package/lib/module/version.js +5 -0
- package/lib/module/version.js.map +1 -0
- package/lib/typescript/commonjs/package.json +1 -0
- package/lib/typescript/commonjs/src/anchors/AnchorRegistry.d.ts +32 -0
- package/lib/typescript/commonjs/src/anchors/AnchorRegistry.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/anchors/AutoAnchorRegistry.d.ts +113 -0
- package/lib/typescript/commonjs/src/anchors/AutoAnchorRegistry.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/anchors/ScrollContainerRegistry.d.ts +46 -0
- package/lib/typescript/commonjs/src/anchors/ScrollContainerRegistry.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/anchors/anchorChangeTicker.d.ts +30 -0
- package/lib/typescript/commonjs/src/anchors/anchorChangeTicker.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/anchors/animationFrame.d.ts +21 -0
- package/lib/typescript/commonjs/src/anchors/animationFrame.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/anchors/autoAnchor.d.ts +31 -0
- package/lib/typescript/commonjs/src/anchors/autoAnchor.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/anchors/elementConditionEvaluator.d.ts +21 -0
- package/lib/typescript/commonjs/src/anchors/elementConditionEvaluator.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/anchors/fiber/FiberScanRoot.d.ts +41 -0
- package/lib/typescript/commonjs/src/anchors/fiber/FiberScanRoot.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/anchors/fiber/fiberInternals.d.ts +48 -0
- package/lib/typescript/commonjs/src/anchors/fiber/fiberInternals.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/anchors/fiber/findAnchorFiber.d.ts +33 -0
- package/lib/typescript/commonjs/src/anchors/fiber/findAnchorFiber.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/anchors/fiber/findScrollAncestors.d.ts +47 -0
- package/lib/typescript/commonjs/src/anchors/fiber/findScrollAncestors.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/anchors/fiber/measureHostFiber.d.ts +20 -0
- package/lib/typescript/commonjs/src/anchors/fiber/measureHostFiber.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/anchors/fiber/visibleScreens.d.ts +42 -0
- package/lib/typescript/commonjs/src/anchors/fiber/visibleScreens.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/anchors/hintsCodec.d.ts +40 -0
- package/lib/typescript/commonjs/src/anchors/hintsCodec.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/anchors/resolveAnchorHost.d.ts +32 -0
- package/lib/typescript/commonjs/src/anchors/resolveAnchorHost.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/anchors/resolveManualAnchorId.d.ts +6 -0
- package/lib/typescript/commonjs/src/anchors/resolveManualAnchorId.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/anchors/scrollAnchorIntoView.d.ts +59 -0
- package/lib/typescript/commonjs/src/anchors/scrollAnchorIntoView.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/anchors/scrollConfig.d.ts +30 -0
- package/lib/typescript/commonjs/src/anchors/scrollConfig.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/anchors/targetPressMonitor.d.ts +64 -0
- package/lib/typescript/commonjs/src/anchors/targetPressMonitor.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/anchors/useUserflowAnchor.d.ts +30 -0
- package/lib/typescript/commonjs/src/anchors/useUserflowAnchor.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/anchors/useUserflowScrollContainer.d.ts +34 -0
- package/lib/typescript/commonjs/src/anchors/useUserflowScrollContainer.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/anonymousId.d.ts +5 -0
- package/lib/typescript/commonjs/src/anonymousId.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/content/RichContentRenderer.d.ts +21 -0
- package/lib/typescript/commonjs/src/content/RichContentRenderer.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/content/StepButton.d.ts +13 -0
- package/lib/typescript/commonjs/src/content/StepButton.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/content/buttonAppearance.d.ts +8 -0
- package/lib/typescript/commonjs/src/content/buttonAppearance.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/content/deserialize.d.ts +27 -0
- package/lib/typescript/commonjs/src/content/deserialize.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/content/imageLayout.d.ts +13 -0
- package/lib/typescript/commonjs/src/content/imageLayout.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/content/migrateFlowBlocks.d.ts +12 -0
- package/lib/typescript/commonjs/src/content/migrateFlowBlocks.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/content/openSafeUrl.d.ts +12 -0
- package/lib/typescript/commonjs/src/content/openSafeUrl.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/content/resolveStepButtonChrome.d.ts +24 -0
- package/lib/typescript/commonjs/src/content/resolveStepButtonChrome.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/content/themeColor.d.ts +43 -0
- package/lib/typescript/commonjs/src/content/themeColor.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/content/types.d.ts +144 -0
- package/lib/typescript/commonjs/src/content/types.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/deepLinking.d.ts +54 -0
- package/lib/typescript/commonjs/src/deepLinking.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/expo-router/UserflowExpoRouterScreenTracker.d.ts +3 -0
- package/lib/typescript/commonjs/src/expo-router/UserflowExpoRouterScreenTracker.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/expo-router/getExpoRouterScreenTracker.d.ts +13 -0
- package/lib/typescript/commonjs/src/expo-router/getExpoRouterScreenTracker.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/expo-router/index.d.ts +3 -0
- package/lib/typescript/commonjs/src/expo-router/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/expo-router/useUserflowExpoRouter.d.ts +17 -0
- package/lib/typescript/commonjs/src/expo-router/useUserflowExpoRouter.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/index.d.ts +112 -0
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/lifecycle.d.ts +96 -0
- package/lib/typescript/commonjs/src/lifecycle.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/navigation/WithUserflowReactNavigation.d.ts +21 -0
- package/lib/typescript/commonjs/src/navigation/WithUserflowReactNavigation.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/navigation/chainCallbacks.d.ts +3 -0
- package/lib/typescript/commonjs/src/navigation/chainCallbacks.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/navigation/getActiveRouteName.d.ts +6 -0
- package/lib/typescript/commonjs/src/navigation/getActiveRouteName.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/navigation/index.d.ts +5 -0
- package/lib/typescript/commonjs/src/navigation/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/navigation/openFlowNavigateUrl.d.ts +33 -0
- package/lib/typescript/commonjs/src/navigation/openFlowNavigateUrl.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/network.d.ts +42 -0
- package/lib/typescript/commonjs/src/network.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/pairing/PairingController.d.ts +104 -0
- package/lib/typescript/commonjs/src/pairing/PairingController.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/pairing/PreviewModeBanner.d.ts +11 -0
- package/lib/typescript/commonjs/src/pairing/PreviewModeBanner.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/pairing/deepLink.d.ts +53 -0
- package/lib/typescript/commonjs/src/pairing/deepLink.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/pairing/diagnostics.d.ts +52 -0
- package/lib/typescript/commonjs/src/pairing/diagnostics.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/pairing/index.d.ts +10 -0
- package/lib/typescript/commonjs/src/pairing/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/pairing/pairingRuntime.d.ts +24 -0
- package/lib/typescript/commonjs/src/pairing/pairingRuntime.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/pairing/tokenStorage.d.ts +16 -0
- package/lib/typescript/commonjs/src/pairing/tokenStorage.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/pairing/usePairingState.d.ts +4 -0
- package/lib/typescript/commonjs/src/pairing/usePairingState.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/runtime/FlowRenderer.d.ts +13 -0
- package/lib/typescript/commonjs/src/runtime/FlowRenderer.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/runtime/FlowSurfaceFade.d.ts +13 -0
- package/lib/typescript/commonjs/src/runtime/FlowSurfaceFade.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/runtime/TargetPressBridge.d.ts +16 -0
- package/lib/typescript/commonjs/src/runtime/TargetPressBridge.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/runtime/UserflowProvider.d.ts +32 -0
- package/lib/typescript/commonjs/src/runtime/UserflowProvider.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/runtime/clientConditions.d.ts +10 -0
- package/lib/typescript/commonjs/src/runtime/clientConditions.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/runtime/flowEngine.d.ts +17 -0
- package/lib/typescript/commonjs/src/runtime/flowEngine.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/runtime/flowSessionViewState.d.ts +18 -0
- package/lib/typescript/commonjs/src/runtime/flowSessionViewState.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/runtime/useFlowSessionState.d.ts +10 -0
- package/lib/typescript/commonjs/src/runtime/useFlowSessionState.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/runtime/userflowCore.d.ts +3 -0
- package/lib/typescript/commonjs/src/runtime/userflowCore.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/screenTracker.d.ts +28 -0
- package/lib/typescript/commonjs/src/screenTracker.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/surfaces/CloseButton.d.ts +8 -0
- package/lib/typescript/commonjs/src/surfaces/CloseButton.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/surfaces/MadeWithUserflow.d.ts +28 -0
- package/lib/typescript/commonjs/src/surfaces/MadeWithUserflow.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/surfaces/ModalSurface.d.ts +23 -0
- package/lib/typescript/commonjs/src/surfaces/ModalSurface.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/surfaces/ProgressBar.d.ts +19 -0
- package/lib/typescript/commonjs/src/surfaces/ProgressBar.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/surfaces/TooltipSurface.d.ts +17 -0
- package/lib/typescript/commonjs/src/surfaces/TooltipSurface.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/surfaces/absoluteFill.d.ts +18 -0
- package/lib/typescript/commonjs/src/surfaces/absoluteFill.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/surfaces/parseBackdropOpacity.d.ts +5 -0
- package/lib/typescript/commonjs/src/surfaces/parseBackdropOpacity.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/surfaces/progress.d.ts +14 -0
- package/lib/typescript/commonjs/src/surfaces/progress.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/surfaces/resolveCloseButtonColor.d.ts +9 -0
- package/lib/typescript/commonjs/src/surfaces/resolveCloseButtonColor.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/surfaces/resolveModalLayout.d.ts +36 -0
- package/lib/typescript/commonjs/src/surfaces/resolveModalLayout.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/surfaces/resolveTooltipLayout.d.ts +24 -0
- package/lib/typescript/commonjs/src/surfaces/resolveTooltipLayout.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/surfaces/safeArea.d.ts +11 -0
- package/lib/typescript/commonjs/src/surfaces/safeArea.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/surfaces/themeChrome.d.ts +36 -0
- package/lib/typescript/commonjs/src/surfaces/themeChrome.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/surfaces/tooltip/TooltipBubble.d.ts +23 -0
- package/lib/typescript/commonjs/src/surfaces/tooltip/TooltipBubble.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/surfaces/tooltip/TooltipCutout.d.ts +31 -0
- package/lib/typescript/commonjs/src/surfaces/tooltip/TooltipCutout.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/surfaces/tooltip/TooltipNotch.d.ts +29 -0
- package/lib/typescript/commonjs/src/surfaces/tooltip/TooltipNotch.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/surfaces/tooltip/computeTooltipPosition.d.ts +43 -0
- package/lib/typescript/commonjs/src/surfaces/tooltip/computeTooltipPosition.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/surfaces/tooltip/inferTooltipPlacement.d.ts +34 -0
- package/lib/typescript/commonjs/src/surfaces/tooltip/inferTooltipPlacement.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/surfaces/tooltip/parseBackdropPadding.d.ts +3 -0
- package/lib/typescript/commonjs/src/surfaces/tooltip/parseBackdropPadding.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/surfaces/tooltip/rect.d.ts +29 -0
- package/lib/typescript/commonjs/src/surfaces/tooltip/rect.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/useUserflowScreen.d.ts +10 -0
- package/lib/typescript/commonjs/src/useUserflowScreen.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/version.d.ts +3 -0
- package/lib/typescript/commonjs/src/version.d.ts.map +1 -0
- package/lib/typescript/module/package.json +1 -0
- package/lib/typescript/module/src/anchors/AnchorRegistry.d.ts +32 -0
- package/lib/typescript/module/src/anchors/AnchorRegistry.d.ts.map +1 -0
- package/lib/typescript/module/src/anchors/AutoAnchorRegistry.d.ts +113 -0
- package/lib/typescript/module/src/anchors/AutoAnchorRegistry.d.ts.map +1 -0
- package/lib/typescript/module/src/anchors/ScrollContainerRegistry.d.ts +46 -0
- package/lib/typescript/module/src/anchors/ScrollContainerRegistry.d.ts.map +1 -0
- package/lib/typescript/module/src/anchors/anchorChangeTicker.d.ts +30 -0
- package/lib/typescript/module/src/anchors/anchorChangeTicker.d.ts.map +1 -0
- package/lib/typescript/module/src/anchors/animationFrame.d.ts +21 -0
- package/lib/typescript/module/src/anchors/animationFrame.d.ts.map +1 -0
- package/lib/typescript/module/src/anchors/autoAnchor.d.ts +31 -0
- package/lib/typescript/module/src/anchors/autoAnchor.d.ts.map +1 -0
- package/lib/typescript/module/src/anchors/elementConditionEvaluator.d.ts +21 -0
- package/lib/typescript/module/src/anchors/elementConditionEvaluator.d.ts.map +1 -0
- package/lib/typescript/module/src/anchors/fiber/FiberScanRoot.d.ts +41 -0
- package/lib/typescript/module/src/anchors/fiber/FiberScanRoot.d.ts.map +1 -0
- package/lib/typescript/module/src/anchors/fiber/fiberInternals.d.ts +48 -0
- package/lib/typescript/module/src/anchors/fiber/fiberInternals.d.ts.map +1 -0
- package/lib/typescript/module/src/anchors/fiber/findAnchorFiber.d.ts +33 -0
- package/lib/typescript/module/src/anchors/fiber/findAnchorFiber.d.ts.map +1 -0
- package/lib/typescript/module/src/anchors/fiber/findScrollAncestors.d.ts +47 -0
- package/lib/typescript/module/src/anchors/fiber/findScrollAncestors.d.ts.map +1 -0
- package/lib/typescript/module/src/anchors/fiber/measureHostFiber.d.ts +20 -0
- package/lib/typescript/module/src/anchors/fiber/measureHostFiber.d.ts.map +1 -0
- package/lib/typescript/module/src/anchors/fiber/visibleScreens.d.ts +42 -0
- package/lib/typescript/module/src/anchors/fiber/visibleScreens.d.ts.map +1 -0
- package/lib/typescript/module/src/anchors/hintsCodec.d.ts +40 -0
- package/lib/typescript/module/src/anchors/hintsCodec.d.ts.map +1 -0
- package/lib/typescript/module/src/anchors/resolveAnchorHost.d.ts +32 -0
- package/lib/typescript/module/src/anchors/resolveAnchorHost.d.ts.map +1 -0
- package/lib/typescript/module/src/anchors/resolveManualAnchorId.d.ts +6 -0
- package/lib/typescript/module/src/anchors/resolveManualAnchorId.d.ts.map +1 -0
- package/lib/typescript/module/src/anchors/scrollAnchorIntoView.d.ts +59 -0
- package/lib/typescript/module/src/anchors/scrollAnchorIntoView.d.ts.map +1 -0
- package/lib/typescript/module/src/anchors/scrollConfig.d.ts +30 -0
- package/lib/typescript/module/src/anchors/scrollConfig.d.ts.map +1 -0
- package/lib/typescript/module/src/anchors/targetPressMonitor.d.ts +64 -0
- package/lib/typescript/module/src/anchors/targetPressMonitor.d.ts.map +1 -0
- package/lib/typescript/module/src/anchors/useUserflowAnchor.d.ts +30 -0
- package/lib/typescript/module/src/anchors/useUserflowAnchor.d.ts.map +1 -0
- package/lib/typescript/module/src/anchors/useUserflowScrollContainer.d.ts +34 -0
- package/lib/typescript/module/src/anchors/useUserflowScrollContainer.d.ts.map +1 -0
- package/lib/typescript/module/src/anonymousId.d.ts +5 -0
- package/lib/typescript/module/src/anonymousId.d.ts.map +1 -0
- package/lib/typescript/module/src/content/RichContentRenderer.d.ts +21 -0
- package/lib/typescript/module/src/content/RichContentRenderer.d.ts.map +1 -0
- package/lib/typescript/module/src/content/StepButton.d.ts +13 -0
- package/lib/typescript/module/src/content/StepButton.d.ts.map +1 -0
- package/lib/typescript/module/src/content/buttonAppearance.d.ts +8 -0
- package/lib/typescript/module/src/content/buttonAppearance.d.ts.map +1 -0
- package/lib/typescript/module/src/content/deserialize.d.ts +27 -0
- package/lib/typescript/module/src/content/deserialize.d.ts.map +1 -0
- package/lib/typescript/module/src/content/imageLayout.d.ts +13 -0
- package/lib/typescript/module/src/content/imageLayout.d.ts.map +1 -0
- package/lib/typescript/module/src/content/migrateFlowBlocks.d.ts +12 -0
- package/lib/typescript/module/src/content/migrateFlowBlocks.d.ts.map +1 -0
- package/lib/typescript/module/src/content/openSafeUrl.d.ts +12 -0
- package/lib/typescript/module/src/content/openSafeUrl.d.ts.map +1 -0
- package/lib/typescript/module/src/content/resolveStepButtonChrome.d.ts +24 -0
- package/lib/typescript/module/src/content/resolveStepButtonChrome.d.ts.map +1 -0
- package/lib/typescript/module/src/content/themeColor.d.ts +43 -0
- package/lib/typescript/module/src/content/themeColor.d.ts.map +1 -0
- package/lib/typescript/module/src/content/types.d.ts +144 -0
- package/lib/typescript/module/src/content/types.d.ts.map +1 -0
- package/lib/typescript/module/src/deepLinking.d.ts +54 -0
- package/lib/typescript/module/src/deepLinking.d.ts.map +1 -0
- package/lib/typescript/module/src/expo-router/UserflowExpoRouterScreenTracker.d.ts +3 -0
- package/lib/typescript/module/src/expo-router/UserflowExpoRouterScreenTracker.d.ts.map +1 -0
- package/lib/typescript/module/src/expo-router/getExpoRouterScreenTracker.d.ts +13 -0
- package/lib/typescript/module/src/expo-router/getExpoRouterScreenTracker.d.ts.map +1 -0
- package/lib/typescript/module/src/expo-router/index.d.ts +3 -0
- package/lib/typescript/module/src/expo-router/index.d.ts.map +1 -0
- package/lib/typescript/module/src/expo-router/useUserflowExpoRouter.d.ts +17 -0
- package/lib/typescript/module/src/expo-router/useUserflowExpoRouter.d.ts.map +1 -0
- package/lib/typescript/module/src/index.d.ts +112 -0
- package/lib/typescript/module/src/index.d.ts.map +1 -0
- package/lib/typescript/module/src/lifecycle.d.ts +96 -0
- package/lib/typescript/module/src/lifecycle.d.ts.map +1 -0
- package/lib/typescript/module/src/navigation/WithUserflowReactNavigation.d.ts +21 -0
- package/lib/typescript/module/src/navigation/WithUserflowReactNavigation.d.ts.map +1 -0
- package/lib/typescript/module/src/navigation/chainCallbacks.d.ts +3 -0
- package/lib/typescript/module/src/navigation/chainCallbacks.d.ts.map +1 -0
- package/lib/typescript/module/src/navigation/getActiveRouteName.d.ts +6 -0
- package/lib/typescript/module/src/navigation/getActiveRouteName.d.ts.map +1 -0
- package/lib/typescript/module/src/navigation/index.d.ts +5 -0
- package/lib/typescript/module/src/navigation/index.d.ts.map +1 -0
- package/lib/typescript/module/src/navigation/openFlowNavigateUrl.d.ts +33 -0
- package/lib/typescript/module/src/navigation/openFlowNavigateUrl.d.ts.map +1 -0
- package/lib/typescript/module/src/network.d.ts +42 -0
- package/lib/typescript/module/src/network.d.ts.map +1 -0
- package/lib/typescript/module/src/pairing/PairingController.d.ts +104 -0
- package/lib/typescript/module/src/pairing/PairingController.d.ts.map +1 -0
- package/lib/typescript/module/src/pairing/PreviewModeBanner.d.ts +11 -0
- package/lib/typescript/module/src/pairing/PreviewModeBanner.d.ts.map +1 -0
- package/lib/typescript/module/src/pairing/deepLink.d.ts +53 -0
- package/lib/typescript/module/src/pairing/deepLink.d.ts.map +1 -0
- package/lib/typescript/module/src/pairing/diagnostics.d.ts +52 -0
- package/lib/typescript/module/src/pairing/diagnostics.d.ts.map +1 -0
- package/lib/typescript/module/src/pairing/index.d.ts +10 -0
- package/lib/typescript/module/src/pairing/index.d.ts.map +1 -0
- package/lib/typescript/module/src/pairing/pairingRuntime.d.ts +24 -0
- package/lib/typescript/module/src/pairing/pairingRuntime.d.ts.map +1 -0
- package/lib/typescript/module/src/pairing/tokenStorage.d.ts +16 -0
- package/lib/typescript/module/src/pairing/tokenStorage.d.ts.map +1 -0
- package/lib/typescript/module/src/pairing/usePairingState.d.ts +4 -0
- package/lib/typescript/module/src/pairing/usePairingState.d.ts.map +1 -0
- package/lib/typescript/module/src/runtime/FlowRenderer.d.ts +13 -0
- package/lib/typescript/module/src/runtime/FlowRenderer.d.ts.map +1 -0
- package/lib/typescript/module/src/runtime/FlowSurfaceFade.d.ts +13 -0
- package/lib/typescript/module/src/runtime/FlowSurfaceFade.d.ts.map +1 -0
- package/lib/typescript/module/src/runtime/TargetPressBridge.d.ts +16 -0
- package/lib/typescript/module/src/runtime/TargetPressBridge.d.ts.map +1 -0
- package/lib/typescript/module/src/runtime/UserflowProvider.d.ts +32 -0
- package/lib/typescript/module/src/runtime/UserflowProvider.d.ts.map +1 -0
- package/lib/typescript/module/src/runtime/clientConditions.d.ts +10 -0
- package/lib/typescript/module/src/runtime/clientConditions.d.ts.map +1 -0
- package/lib/typescript/module/src/runtime/flowEngine.d.ts +17 -0
- package/lib/typescript/module/src/runtime/flowEngine.d.ts.map +1 -0
- package/lib/typescript/module/src/runtime/flowSessionViewState.d.ts +18 -0
- package/lib/typescript/module/src/runtime/flowSessionViewState.d.ts.map +1 -0
- package/lib/typescript/module/src/runtime/useFlowSessionState.d.ts +10 -0
- package/lib/typescript/module/src/runtime/useFlowSessionState.d.ts.map +1 -0
- package/lib/typescript/module/src/runtime/userflowCore.d.ts +3 -0
- package/lib/typescript/module/src/runtime/userflowCore.d.ts.map +1 -0
- package/lib/typescript/module/src/screenTracker.d.ts +28 -0
- package/lib/typescript/module/src/screenTracker.d.ts.map +1 -0
- package/lib/typescript/module/src/surfaces/CloseButton.d.ts +8 -0
- package/lib/typescript/module/src/surfaces/CloseButton.d.ts.map +1 -0
- package/lib/typescript/module/src/surfaces/MadeWithUserflow.d.ts +28 -0
- package/lib/typescript/module/src/surfaces/MadeWithUserflow.d.ts.map +1 -0
- package/lib/typescript/module/src/surfaces/ModalSurface.d.ts +23 -0
- package/lib/typescript/module/src/surfaces/ModalSurface.d.ts.map +1 -0
- package/lib/typescript/module/src/surfaces/ProgressBar.d.ts +19 -0
- package/lib/typescript/module/src/surfaces/ProgressBar.d.ts.map +1 -0
- package/lib/typescript/module/src/surfaces/TooltipSurface.d.ts +17 -0
- package/lib/typescript/module/src/surfaces/TooltipSurface.d.ts.map +1 -0
- package/lib/typescript/module/src/surfaces/absoluteFill.d.ts +18 -0
- package/lib/typescript/module/src/surfaces/absoluteFill.d.ts.map +1 -0
- package/lib/typescript/module/src/surfaces/parseBackdropOpacity.d.ts +5 -0
- package/lib/typescript/module/src/surfaces/parseBackdropOpacity.d.ts.map +1 -0
- package/lib/typescript/module/src/surfaces/progress.d.ts +14 -0
- package/lib/typescript/module/src/surfaces/progress.d.ts.map +1 -0
- package/lib/typescript/module/src/surfaces/resolveCloseButtonColor.d.ts +9 -0
- package/lib/typescript/module/src/surfaces/resolveCloseButtonColor.d.ts.map +1 -0
- package/lib/typescript/module/src/surfaces/resolveModalLayout.d.ts +36 -0
- package/lib/typescript/module/src/surfaces/resolveModalLayout.d.ts.map +1 -0
- package/lib/typescript/module/src/surfaces/resolveTooltipLayout.d.ts +24 -0
- package/lib/typescript/module/src/surfaces/resolveTooltipLayout.d.ts.map +1 -0
- package/lib/typescript/module/src/surfaces/safeArea.d.ts +11 -0
- package/lib/typescript/module/src/surfaces/safeArea.d.ts.map +1 -0
- package/lib/typescript/module/src/surfaces/themeChrome.d.ts +36 -0
- package/lib/typescript/module/src/surfaces/themeChrome.d.ts.map +1 -0
- package/lib/typescript/module/src/surfaces/tooltip/TooltipBubble.d.ts +23 -0
- package/lib/typescript/module/src/surfaces/tooltip/TooltipBubble.d.ts.map +1 -0
- package/lib/typescript/module/src/surfaces/tooltip/TooltipCutout.d.ts +31 -0
- package/lib/typescript/module/src/surfaces/tooltip/TooltipCutout.d.ts.map +1 -0
- package/lib/typescript/module/src/surfaces/tooltip/TooltipNotch.d.ts +29 -0
- package/lib/typescript/module/src/surfaces/tooltip/TooltipNotch.d.ts.map +1 -0
- package/lib/typescript/module/src/surfaces/tooltip/computeTooltipPosition.d.ts +43 -0
- package/lib/typescript/module/src/surfaces/tooltip/computeTooltipPosition.d.ts.map +1 -0
- package/lib/typescript/module/src/surfaces/tooltip/inferTooltipPlacement.d.ts +34 -0
- package/lib/typescript/module/src/surfaces/tooltip/inferTooltipPlacement.d.ts.map +1 -0
- package/lib/typescript/module/src/surfaces/tooltip/parseBackdropPadding.d.ts +3 -0
- package/lib/typescript/module/src/surfaces/tooltip/parseBackdropPadding.d.ts.map +1 -0
- package/lib/typescript/module/src/surfaces/tooltip/rect.d.ts +29 -0
- package/lib/typescript/module/src/surfaces/tooltip/rect.d.ts.map +1 -0
- package/lib/typescript/module/src/useUserflowScreen.d.ts +10 -0
- package/lib/typescript/module/src/useUserflowScreen.d.ts.map +1 -0
- package/lib/typescript/module/src/version.d.ts +3 -0
- package/lib/typescript/module/src/version.d.ts.map +1 -0
- package/package.json +144 -0
- package/src/anchors/AnchorRegistry.ts +81 -0
- package/src/anchors/AutoAnchorRegistry.ts +439 -0
- package/src/anchors/ScrollContainerRegistry.ts +108 -0
- package/src/anchors/anchorChangeTicker.ts +84 -0
- package/src/anchors/animationFrame.ts +88 -0
- package/src/anchors/autoAnchor.ts +310 -0
- package/src/anchors/elementConditionEvaluator.ts +108 -0
- package/src/anchors/fiber/FiberScanRoot.tsx +98 -0
- package/src/anchors/fiber/fiberInternals.ts +181 -0
- package/src/anchors/fiber/findAnchorFiber.ts +225 -0
- package/src/anchors/fiber/findScrollAncestors.ts +229 -0
- package/src/anchors/fiber/measureHostFiber.ts +85 -0
- package/src/anchors/fiber/visibleScreens.ts +173 -0
- package/src/anchors/hintsCodec.ts +125 -0
- package/src/anchors/resolveAnchorHost.ts +102 -0
- package/src/anchors/resolveManualAnchorId.ts +10 -0
- package/src/anchors/scrollAnchorIntoView.ts +251 -0
- package/src/anchors/scrollConfig.ts +61 -0
- package/src/anchors/targetPressMonitor.ts +127 -0
- package/src/anchors/useUserflowAnchor.ts +88 -0
- package/src/anchors/useUserflowScrollContainer.ts +86 -0
- package/src/anonymousId.ts +38 -0
- package/src/content/RichContentRenderer.tsx +721 -0
- package/src/content/StepButton.tsx +70 -0
- package/src/content/buttonAppearance.ts +11 -0
- package/src/content/deserialize.ts +147 -0
- package/src/content/imageLayout.ts +29 -0
- package/src/content/migrateFlowBlocks.ts +39 -0
- package/src/content/openSafeUrl.ts +30 -0
- package/src/content/resolveStepButtonChrome.ts +122 -0
- package/src/content/themeColor.ts +98 -0
- package/src/content/types.ts +189 -0
- package/src/deepLinking.ts +182 -0
- package/src/expo-router/UserflowExpoRouterScreenTracker.tsx +7 -0
- package/src/expo-router/getExpoRouterScreenTracker.ts +49 -0
- package/src/expo-router/index.ts +2 -0
- package/src/expo-router/useUserflowExpoRouter.ts +40 -0
- package/src/index.ts +362 -0
- package/src/lifecycle.ts +253 -0
- package/src/navigation/WithUserflowReactNavigation.tsx +87 -0
- package/src/navigation/chainCallbacks.ts +12 -0
- package/src/navigation/getActiveRouteName.ts +18 -0
- package/src/navigation/index.ts +11 -0
- package/src/navigation/openFlowNavigateUrl.ts +113 -0
- package/src/network.ts +113 -0
- package/src/pairing/PairingController.ts +356 -0
- package/src/pairing/PreviewModeBanner.tsx +130 -0
- package/src/pairing/deepLink.ts +128 -0
- package/src/pairing/diagnostics.ts +135 -0
- package/src/pairing/index.ts +19 -0
- package/src/pairing/pairingRuntime.ts +76 -0
- package/src/pairing/tokenStorage.ts +76 -0
- package/src/pairing/usePairingState.ts +43 -0
- package/src/runtime/FlowRenderer.tsx +60 -0
- package/src/runtime/FlowSurfaceFade.tsx +55 -0
- package/src/runtime/TargetPressBridge.tsx +86 -0
- package/src/runtime/UserflowProvider.tsx +89 -0
- package/src/runtime/clientConditions.ts +42 -0
- package/src/runtime/flowEngine.ts +53 -0
- package/src/runtime/flowSessionViewState.ts +55 -0
- package/src/runtime/useFlowSessionState.ts +36 -0
- package/src/runtime/userflowCore.ts +8 -0
- package/src/screenTracker.ts +83 -0
- package/src/surfaces/CloseButton.tsx +41 -0
- package/src/surfaces/MadeWithUserflow.tsx +103 -0
- package/src/surfaces/ModalSurface.tsx +215 -0
- package/src/surfaces/ProgressBar.tsx +142 -0
- package/src/surfaces/TooltipSurface.tsx +743 -0
- package/src/surfaces/absoluteFill.ts +24 -0
- package/src/surfaces/assets/png.d.ts +4 -0
- package/src/surfaces/assets/userflow-logomark.png +0 -0
- package/src/surfaces/parseBackdropOpacity.ts +13 -0
- package/src/surfaces/progress.ts +37 -0
- package/src/surfaces/resolveCloseButtonColor.ts +23 -0
- package/src/surfaces/resolveModalLayout.ts +85 -0
- package/src/surfaces/resolveTooltipLayout.ts +73 -0
- package/src/surfaces/safeArea.ts +48 -0
- package/src/surfaces/themeChrome.ts +126 -0
- package/src/surfaces/tooltip/TooltipBubble.tsx +123 -0
- package/src/surfaces/tooltip/TooltipCutout.tsx +110 -0
- package/src/surfaces/tooltip/TooltipNotch.tsx +67 -0
- package/src/surfaces/tooltip/computeTooltipPosition.ts +125 -0
- package/src/surfaces/tooltip/inferTooltipPlacement.ts +109 -0
- package/src/surfaces/tooltip/parseBackdropPadding.ts +8 -0
- package/src/surfaces/tooltip/rect.ts +62 -0
- package/src/useUserflowScreen.ts +17 -0
- package/src/version.ts +2 -0
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { type AnyFiber } from './fiberInternals';
|
|
3
|
+
type Listener = () => void;
|
|
4
|
+
/**
|
|
5
|
+
* Module singleton holding the fiber under which testID / nativeID /
|
|
6
|
+
* accessibilityLabel scans run. Seeded by {@link FiberScanRoot}.
|
|
7
|
+
*/
|
|
8
|
+
declare class FiberScanRootStore {
|
|
9
|
+
private instance;
|
|
10
|
+
private readonly listeners;
|
|
11
|
+
set(instance: unknown): void;
|
|
12
|
+
clear(): void;
|
|
13
|
+
/** Current (resolved) fiber under the scan root, or null when unmounted. */
|
|
14
|
+
getFiber(): AnyFiber | null;
|
|
15
|
+
subscribe(listener: Listener): () => void;
|
|
16
|
+
/** Test helper. */
|
|
17
|
+
resetForTests(): void;
|
|
18
|
+
private emit;
|
|
19
|
+
}
|
|
20
|
+
export declare const fiberScanRoot: FiberScanRootStore;
|
|
21
|
+
export interface FiberScanRootProps {
|
|
22
|
+
children: React.ReactNode;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Class component that publishes its own `_reactInternals` fiber as the scan
|
|
26
|
+
* root for testID-based anchoring. Class instances expose `_reactInternals` in
|
|
27
|
+
* both Paper and Fabric production builds (unlike host refs, which null out
|
|
28
|
+
* `_internalFiberInstanceHandleDEV` on Paper release).
|
|
29
|
+
*
|
|
30
|
+
* Renders the same content-root `View` that {@link UserflowProvider} previously
|
|
31
|
+
* owned so the layout tree is unchanged. The Userflow overlay sits as a
|
|
32
|
+
* *sibling*, so SDK-owned `testID`s never self-match.
|
|
33
|
+
*/
|
|
34
|
+
export declare class FiberScanRoot extends React.Component<FiberScanRootProps> {
|
|
35
|
+
componentDidMount(): void;
|
|
36
|
+
componentDidUpdate(): void;
|
|
37
|
+
componentWillUnmount(): void;
|
|
38
|
+
render(): React.ReactElement;
|
|
39
|
+
}
|
|
40
|
+
export {};
|
|
41
|
+
//# sourceMappingURL=FiberScanRoot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FiberScanRoot.d.ts","sourceRoot":"","sources":["../../../../../../src/anchors/fiber/FiberScanRoot.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,KAAK,QAAQ,EAAgD,MAAM,kBAAkB,CAAC;AAE/F,KAAK,QAAQ,GAAG,MAAM,IAAI,CAAC;AAE3B;;;GAGG;AACH,cAAM,kBAAkB;IACtB,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuB;IAEjD,GAAG,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAK5B,KAAK,IAAI,IAAI;IAKb,4EAA4E;IAC5E,QAAQ,IAAI,QAAQ,GAAG,IAAI;IAO3B,SAAS,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,IAAI;IAOzC,mBAAmB;IACnB,aAAa,IAAI,IAAI;IAKrB,OAAO,CAAC,IAAI;CAKb;AAED,eAAO,MAAM,aAAa,oBAA2B,CAAC;AAEtD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED;;;;;;;;;GASG;AACH,qBAAa,aAAc,SAAQ,KAAK,CAAC,SAAS,CAAC,kBAAkB,CAAC;IAC3D,iBAAiB,IAAI,IAAI;IAIzB,kBAAkB,IAAI,IAAI;IAM1B,oBAAoB,IAAI,IAAI;IAI5B,MAAM,IAAI,KAAK,CAAC,YAAY;CAOtC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Compatibility layer for the React Native / React **internals** that
|
|
3
|
+
* testID-based anchoring depends on. Every accessor is feature-detected and
|
|
4
|
+
* **never throws** (returns `undefined`/`false`/`null` on a missing or renamed
|
|
5
|
+
* field) so an RN shape change degrades to not-found rather than crashing the
|
|
6
|
+
* host app.
|
|
7
|
+
*
|
|
8
|
+
* Explicitly **no** `__REACT_DEVTOOLS_GLOBAL_HOOK__`. Fibers are reached only
|
|
9
|
+
* through production-present pointers on class instances (`_reactInternals`).
|
|
10
|
+
*/
|
|
11
|
+
export type AnyFiber = any;
|
|
12
|
+
/**
|
|
13
|
+
* Bound for `return`-pointer walks. Only a loop guard, not a real limit:
|
|
14
|
+
* measured fiber depth in a modest Expo Router app is already ~150 from a
|
|
15
|
+
* tagged view to the provider, and ~80 from the provider to the HostRoot, so a
|
|
16
|
+
* small cap silently disables the walk instead of protecting anything.
|
|
17
|
+
*/
|
|
18
|
+
export declare const MAX_ANCESTOR_WALK = 10000;
|
|
19
|
+
export declare function getChild(fiber: AnyFiber): AnyFiber | null;
|
|
20
|
+
export declare function getSibling(fiber: AnyFiber): AnyFiber | null;
|
|
21
|
+
export declare function getReturn(fiber: AnyFiber): AnyFiber | null;
|
|
22
|
+
export declare function getAlternate(fiber: AnyFiber): AnyFiber | null;
|
|
23
|
+
export declare function getMemoizedProps(fiber: AnyFiber): Record<string, unknown> | undefined;
|
|
24
|
+
export declare function getStateNode(fiber: AnyFiber): unknown;
|
|
25
|
+
export declare function getFiberTag(fiber: AnyFiber): number | undefined;
|
|
26
|
+
/** Native component name for a host fiber (e.g. `RNSScreen`), else undefined. */
|
|
27
|
+
export declare function getHostTypeName(fiber: AnyFiber): string | undefined;
|
|
28
|
+
/**
|
|
29
|
+
* True when `fiber` is a host component. Checks both Paper/Fabric stateNode
|
|
30
|
+
* markers and the HostComponent tag (react-test-renderer host fibers often
|
|
31
|
+
* have `tag === 5` without native keys).
|
|
32
|
+
*/
|
|
33
|
+
export declare function isHostFiber(fiber: AnyFiber): boolean;
|
|
34
|
+
/** Resolve a fiber from a class or host public instance. Returns null when unavailable. */
|
|
35
|
+
export declare function fiberFromPublicInstance(instance: unknown): AnyFiber | null;
|
|
36
|
+
/**
|
|
37
|
+
* Pick the "current" tree fiber between `fiber` and its alternate by walking
|
|
38
|
+
* to the HostRoot and comparing against `root.stateNode.current`.
|
|
39
|
+
*
|
|
40
|
+
* Returns the input fiber when the root cannot be resolved (best-effort).
|
|
41
|
+
*/
|
|
42
|
+
export declare function resolveCurrentFiber(fiber: AnyFiber): AnyFiber;
|
|
43
|
+
/**
|
|
44
|
+
* True when a previously-resolved fiber is still attached to a live tree
|
|
45
|
+
* (has a return path, or is itself a HostRoot).
|
|
46
|
+
*/
|
|
47
|
+
export declare function isFiberMounted(fiber: AnyFiber): boolean;
|
|
48
|
+
//# sourceMappingURL=fiberInternals.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fiberInternals.d.ts","sourceRoot":"","sources":["../../../../../../src/anchors/fiber/fiberInternals.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,MAAM,MAAM,QAAQ,GAAG,GAAG,CAAC;AAQ3B;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,QAAS,CAAC;AAaxC,wBAAgB,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAEzD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAE3D;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAE1D;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAE7D;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAGrF;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAErD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAG/D;AAED,iFAAiF;AACjF,wBAAgB,eAAe,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAGnE;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAiBpD;AAaD,2FAA2F;AAC3F,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,GAAG,IAAI,CAa1E;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ,CAuB7D;AAWD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CASvD"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { type AnyFiber } from './fiberInternals';
|
|
2
|
+
export type AnchorPropTier = 'testID' | 'nativeID' | 'accessibilityLabel';
|
|
3
|
+
export type FindAnchorFiberResult = {
|
|
4
|
+
status: 'found';
|
|
5
|
+
fiber: AnyFiber;
|
|
6
|
+
tier: AnchorPropTier;
|
|
7
|
+
} | {
|
|
8
|
+
status: 'ambiguous';
|
|
9
|
+
tier: AnchorPropTier;
|
|
10
|
+
} | {
|
|
11
|
+
status: 'missing';
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Bounded DFS under `rootFiber` looking for fibers whose memoizedProps match
|
|
15
|
+
* `id` on testID, then nativeID, then accessibilityLabel. Uses the highest
|
|
16
|
+
* tier that has any match so a testID hit is never made ambiguous by an
|
|
17
|
+
* unrelated accessibilityLabel.
|
|
18
|
+
*
|
|
19
|
+
* Composite matches descend to the shallowest host descendant. Multiple
|
|
20
|
+
* matches on a single root-to-leaf chain (e.g. Pressable forwarding testID to
|
|
21
|
+
* its inner View) collapse to the outermost host. Disjoint matches fail closed
|
|
22
|
+
* as ambiguous.
|
|
23
|
+
*
|
|
24
|
+
* The walk never follows `rootFiber.sibling` so the Userflow overlay (a sibling
|
|
25
|
+
* of {@link FiberScanRoot} in UserflowProvider) cannot self-match SDK testIDs.
|
|
26
|
+
*/
|
|
27
|
+
export declare function findAnchorFiber(rootFiber: AnyFiber, id: string): FindAnchorFiberResult;
|
|
28
|
+
/**
|
|
29
|
+
* BFS under `fiber` for the shallowest host descendant. Returns `fiber` itself
|
|
30
|
+
* when it is already a host.
|
|
31
|
+
*/
|
|
32
|
+
export declare function nearestHostDescendant(fiber: AnyFiber, maxNodes?: number): AnyFiber | null;
|
|
33
|
+
//# sourceMappingURL=findAnchorFiber.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"findAnchorFiber.d.ts","sourceRoot":"","sources":["../../../../../../src/anchors/fiber/findAnchorFiber.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,QAAQ,EAOd,MAAM,kBAAkB,CAAC;AAa1B,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,UAAU,GAAG,oBAAoB,CAAC;AAI1E,MAAM,MAAM,qBAAqB,GAC7B;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,cAAc,CAAA;CAAE,GAC1D;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,cAAc,CAAA;CAAE,GAC7C;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,CAAC;AAE1B;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,qBAAqB,CAkGtF;AAsBD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,SAAQ,GAAG,QAAQ,GAAG,IAAI,CAkBxF"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Walk the fiber `return` chain from an anchor host upward and collect
|
|
3
|
+
* scrollable ancestors (innermost first). Used to scroll tooltip targets into
|
|
4
|
+
* view without requiring the host app to register ScrollViews.
|
|
5
|
+
*
|
|
6
|
+
* Detection is duck-typed on `stateNode` (ScrollView → `scrollTo`,
|
|
7
|
+
* FlatList/VirtualizedList → `scrollToOffset`, SectionList → `scrollToLocation`)
|
|
8
|
+
* so an RN rename degrades to "no scroll ancestor" rather than crashing.
|
|
9
|
+
*/
|
|
10
|
+
import { type AnyFiber } from './fiberInternals';
|
|
11
|
+
export interface ScrollAncestor {
|
|
12
|
+
/** Class / composite instance that exposes scrollTo / scrollToOffset / … */
|
|
13
|
+
instance: ScrollableInstance;
|
|
14
|
+
/** Host fiber for the scroll viewport (RCTScrollView), when resolvable. */
|
|
15
|
+
containerFiber: AnyFiber | null;
|
|
16
|
+
/** Host fiber for the content view that translates with scroll, when resolvable. */
|
|
17
|
+
contentFiber: AnyFiber | null;
|
|
18
|
+
/** True when the scroller scrolls on the horizontal axis. */
|
|
19
|
+
horizontal: boolean;
|
|
20
|
+
}
|
|
21
|
+
export type ScrollableInstance = {
|
|
22
|
+
scrollTo?: (options: {
|
|
23
|
+
x?: number;
|
|
24
|
+
y?: number;
|
|
25
|
+
animated?: boolean;
|
|
26
|
+
}) => void;
|
|
27
|
+
scrollToOffset?: (options: {
|
|
28
|
+
offset: number;
|
|
29
|
+
animated?: boolean;
|
|
30
|
+
}) => void;
|
|
31
|
+
scrollToLocation?: (options: {
|
|
32
|
+
sectionIndex: number;
|
|
33
|
+
itemIndex: number;
|
|
34
|
+
animated?: boolean;
|
|
35
|
+
viewOffset?: number;
|
|
36
|
+
}) => void;
|
|
37
|
+
getNativeScrollRef?: () => unknown;
|
|
38
|
+
getInnerViewRef?: () => unknown;
|
|
39
|
+
props?: any;
|
|
40
|
+
_listRef?: any;
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* Collect scrollable ancestors of `fiber`, innermost first.
|
|
44
|
+
* Never throws — missing / renamed internals simply yield an empty list.
|
|
45
|
+
*/
|
|
46
|
+
export declare function findScrollAncestors(fiber: AnyFiber): ScrollAncestor[];
|
|
47
|
+
//# sourceMappingURL=findScrollAncestors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"findScrollAncestors.d.ts","sourceRoot":"","sources":["../../../../../../src/anchors/fiber/findScrollAncestors.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,KAAK,QAAQ,EASd,MAAM,kBAAkB,CAAC;AAc1B,MAAM,WAAW,cAAc;IAC7B,4EAA4E;IAC5E,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,2EAA2E;IAC3E,cAAc,EAAE,QAAQ,GAAG,IAAI,CAAC;IAChC,oFAAoF;IACpF,YAAY,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC9B,6DAA6D;IAC7D,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IAC7E,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IAC3E,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE;QAC3B,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,KAAK,IAAI,CAAC;IACX,kBAAkB,CAAC,EAAE,MAAM,OAAO,CAAC;IACnC,eAAe,CAAC,EAAE,MAAM,OAAO,CAAC;IAEhC,KAAK,CAAC,EAAE,GAAG,CAAC;IAEZ,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,QAAQ,GAAG,cAAc,EAAE,CAwBrE"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { AnyFiber } from './fiberInternals';
|
|
2
|
+
type MeasureInWindowCallback = (x: number, y: number, width: number, height: number) => void;
|
|
3
|
+
/**
|
|
4
|
+
* Feature-detected `measureInWindow` for a host fiber. Tries, in order:
|
|
5
|
+
*
|
|
6
|
+
* 1. `stateNode.measureInWindow` — Paper host, or materialized Fabric public instance
|
|
7
|
+
* 2. `nativeFabricUIManager.measureInWindow(stateNode.node, …)` — Fabric without public instance
|
|
8
|
+
* 3. `stateNode.canonical.publicInstance.measureInWindow`
|
|
9
|
+
* 4. `UIManager.measureInWindow(nativeTag, …)` — last resort
|
|
10
|
+
*
|
|
11
|
+
* Invokes `callback` with zeros when no measurable path is found (callers treat
|
|
12
|
+
* zero-size as missing).
|
|
13
|
+
*/
|
|
14
|
+
export declare function measureHostFiber(fiber: AnyFiber, callback: MeasureInWindowCallback): void;
|
|
15
|
+
/**
|
|
16
|
+
* Build an `AnchorHost`-compatible `measureInWindow` bound to a host fiber.
|
|
17
|
+
*/
|
|
18
|
+
export declare function createFiberMeasureInWindow(fiber: AnyFiber): (callback: MeasureInWindowCallback) => void;
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=measureHostFiber.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"measureHostFiber.d.ts","sourceRoot":"","sources":["../../../../../../src/anchors/fiber/measureHostFiber.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGjD,KAAK,uBAAuB,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;AAE7F;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,uBAAuB,GAAG,IAAI,CAuDzF;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,QAAQ,GACd,CAAC,QAAQ,EAAE,uBAAuB,KAAK,IAAI,CAI7C"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Restricts anchor scanning to the screens a user can actually see.
|
|
3
|
+
*
|
|
4
|
+
* A navigator keeps earlier screens mounted, so without this a tooltip could
|
|
5
|
+
* anchor to a view on a covered screen — measured on device: with a screen
|
|
6
|
+
* pushed on top, an anchor on the screen underneath still resolved and measured
|
|
7
|
+
* to an on-screen rect. Reusing one `testID` across two stacked screens also
|
|
8
|
+
* degraded to `ambiguous` and failed closed, even though only one was visible.
|
|
9
|
+
*
|
|
10
|
+
* Rules, derived from what react-native-screens actually exposes:
|
|
11
|
+
*
|
|
12
|
+
* - Native stack (`RNSScreenStack`): every mounted screen reports
|
|
13
|
+
* `activityState === 2`, so it is useless as a discriminator. Sibling order
|
|
14
|
+
* is what matters — the **last** branch owning a screen is on top.
|
|
15
|
+
* - Container-style navigators (tabs, non-native stacks) do vary
|
|
16
|
+
* `activityState`, so the active branches win. When every branch is active
|
|
17
|
+
* (e.g. multi-pane), all stay scannable — we must not fall back to
|
|
18
|
+
* last-sibling there, or visible panes get pruned.
|
|
19
|
+
*
|
|
20
|
+
* Branches that own no screen at all (tab bars, headers, other global chrome)
|
|
21
|
+
* are always kept, so anchors outside the screen stack keep resolving.
|
|
22
|
+
*
|
|
23
|
+
* Everything is feature-detected: an app without react-native-screens, or a
|
|
24
|
+
* renamed native component, prunes nothing and behaves as before.
|
|
25
|
+
*/
|
|
26
|
+
import { type AnyFiber } from './fiberInternals';
|
|
27
|
+
export declare function isScreenContainerFiber(fiber: AnyFiber): boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Branches of `container` that are covered by another screen and so must not be
|
|
30
|
+
* scanned. Empty when there is nothing to prune. Alternates are included so a
|
|
31
|
+
* fiber captured on a previous render still matches.
|
|
32
|
+
*/
|
|
33
|
+
export declare function coveredScreenBranches(container: AnyFiber): Set<AnyFiber>;
|
|
34
|
+
/**
|
|
35
|
+
* Whether `fiber` lives on a screen the user can currently see.
|
|
36
|
+
*
|
|
37
|
+
* Needed in addition to scan-time pruning: a resolved anchor is cached, and the
|
|
38
|
+
* cache would otherwise keep serving a host after its screen was covered by a
|
|
39
|
+
* newly pushed one. Walks outward so nested navigators are handled.
|
|
40
|
+
*/
|
|
41
|
+
export declare function isFiberOnVisibleScreen(fiber: AnyFiber): boolean;
|
|
42
|
+
//# sourceMappingURL=visibleScreens.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"visibleScreens.d.ts","sourceRoot":"","sources":["../../../../../../src/anchors/fiber/visibleScreens.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,EACL,KAAK,QAAQ,EAQd,MAAM,kBAAkB,CAAC;AAqB1B,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAG/D;AA0CD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,CAiCxE;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAyB/D"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { SemanticSegment } from '@userflow-tech/protocol';
|
|
2
|
+
import { type BuildTimeHints } from './AutoAnchorRegistry';
|
|
3
|
+
/**
|
|
4
|
+
* Compact build-time hints wire format (v1) emitted by `@userflow-tech/babel-plugin`.
|
|
5
|
+
* Expanded once at register time so the auto-anchor registry still sees full paths.
|
|
6
|
+
*/
|
|
7
|
+
export declare const COMPACT_HINTS_VERSION: 1;
|
|
8
|
+
export interface CompactBuildTimeHints {
|
|
9
|
+
v: typeof COMPACT_HINTS_VERSION;
|
|
10
|
+
/** nativeId (`uf_<hash>`). */
|
|
11
|
+
n: string;
|
|
12
|
+
/** Single template / structural path (was ufid + structuralPath + templatePath). */
|
|
13
|
+
p: string;
|
|
14
|
+
ct?: string;
|
|
15
|
+
cs?: string;
|
|
16
|
+
icn?: string;
|
|
17
|
+
img?: string;
|
|
18
|
+
o?: number;
|
|
19
|
+
si?: number;
|
|
20
|
+
tid?: string;
|
|
21
|
+
uid?: string;
|
|
22
|
+
lid?: string;
|
|
23
|
+
}
|
|
24
|
+
export type HintsInput = BuildTimeHints | CompactBuildTimeHints;
|
|
25
|
+
export declare function isCompactHints(value: unknown): value is CompactBuildTimeHints;
|
|
26
|
+
export declare function isLegacyBuildTimeHints(value: unknown): value is BuildTimeHints;
|
|
27
|
+
/** True when the value is either compact v1 or legacy long-key hints. */
|
|
28
|
+
export declare function isHintsInput(value: unknown): value is HintsInput;
|
|
29
|
+
/**
|
|
30
|
+
* Parse path segments after `module::Component > …` into ancestor descriptors
|
|
31
|
+
* (everything except the leaf). Matches Babel `formatSegment` output.
|
|
32
|
+
*/
|
|
33
|
+
export declare function parseAncestorsFromPath(path: string): SemanticSegment[];
|
|
34
|
+
export declare function parsePathSegment(part: string): SemanticSegment | null;
|
|
35
|
+
/**
|
|
36
|
+
* Expand compact (or legacy) hints into the full `BuildTimeHints` shape used
|
|
37
|
+
* by AutoAnchorRegistry.
|
|
38
|
+
*/
|
|
39
|
+
export declare function expandBuildTimeHints(input: HintsInput, kind?: string): BuildTimeHints;
|
|
40
|
+
//# sourceMappingURL=hintsCodec.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hintsCodec.d.ts","sourceRoot":"","sources":["../../../../../src/anchors/hintsCodec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE7E,OAAO,EAAe,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAExE;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAG,CAAU,CAAC;AAEhD,MAAM,WAAW,qBAAqB;IACpC,CAAC,EAAE,OAAO,qBAAqB,CAAC;IAChC,8BAA8B;IAC9B,CAAC,EAAE,MAAM,CAAC;IACV,oFAAoF;IACpF,CAAC,EAAE,MAAM,CAAC;IACV,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,UAAU,GAAG,cAAc,GAAG,qBAAqB,CAAC;AAEhE,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,qBAAqB,CAQ7E;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAQ9E;AAED,yEAAyE;AACzE,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAEhE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,EAAE,CAUtE;AAID,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAerE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,cAAc,CA+BrF"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { type AnchorHost } from './AnchorRegistry';
|
|
2
|
+
import type { AnyFiber } from './fiber/fiberInternals';
|
|
3
|
+
export type AnchorResolution = {
|
|
4
|
+
status: 'found';
|
|
5
|
+
host: AnchorHost;
|
|
6
|
+
fiber?: AnyFiber;
|
|
7
|
+
} | {
|
|
8
|
+
status: 'ambiguous';
|
|
9
|
+
} | {
|
|
10
|
+
status: 'missing';
|
|
11
|
+
};
|
|
12
|
+
/** Invalidate fiber-resolved anchors when the active screen changes. */
|
|
13
|
+
export declare function notifyAnchorScreenChange(screenKey: string | null): void;
|
|
14
|
+
/** Test helper — drop the fiber cache. */
|
|
15
|
+
export declare function clearFiberAnchorCache(): void;
|
|
16
|
+
/**
|
|
17
|
+
* Resolve a MANUAL anchor id to a measurable host.
|
|
18
|
+
*
|
|
19
|
+
* Tier 0: {@link anchorRegistry} (`useUserflowAnchor`) — higher priority, fails
|
|
20
|
+
* closed on ambiguous registry keys.
|
|
21
|
+
* Tier 1+: fiber scan for `testID`, then `nativeID`, then `accessibilityLabel`.
|
|
22
|
+
*
|
|
23
|
+
* Synchronous (the walk is pure JS; only measurement is async via the returned
|
|
24
|
+
* host). Caches the resolved fiber per id and revalidates cheaply before reuse.
|
|
25
|
+
*/
|
|
26
|
+
export declare function resolveAnchorHost(id: string): AnchorResolution;
|
|
27
|
+
/**
|
|
28
|
+
* Drop a cached fiber entry after a zero-size measure so the next resolve
|
|
29
|
+
* re-scans (the host may have remounted under a new fiber).
|
|
30
|
+
*/
|
|
31
|
+
export declare function invalidateFiberAnchor(id: string): void;
|
|
32
|
+
//# sourceMappingURL=resolveAnchorHost.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveAnchorHost.d.ts","sourceRoot":"","sources":["../../../../../src/anchors/resolveAnchorHost.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAkB,MAAM,kBAAkB,CAAC;AAEnE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAMvD,MAAM,MAAM,gBAAgB,GACxB;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,CAAC,EAAE,QAAQ,CAAA;CAAE,GACvD;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE,GACvB;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,CAAC;AAU1B,wEAAwE;AACxE,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAIvE;AAED,0CAA0C;AAC1C,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,gBAAgB,CAkD9D;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAEtD"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolve a manual tooltip target id from `FlowSelectorFragment.css`.
|
|
3
|
+
* Web MANUAL fixtures use `#save-button`; strip a leading `#`.
|
|
4
|
+
*/
|
|
5
|
+
export declare function resolveManualAnchorId(css: string | null | undefined): string | null;
|
|
6
|
+
//# sourceMappingURL=resolveManualAnchorId.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveManualAnchorId.d.ts","sourceRoot":"","sources":["../../../../../src/anchors/resolveManualAnchorId.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAKnF"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Scroll a tooltip anchor into view by walking fiber scroll ancestors
|
|
3
|
+
* (or an explicit scroll-container registry override).
|
|
4
|
+
*
|
|
5
|
+
* Content offset is derived from two `measureInWindow` calls — container
|
|
6
|
+
* origin minus content origin — so the host app does not need to wire
|
|
7
|
+
* `onScroll`. Semantics match web `scrollIntoView({ block: 'nearest' })`:
|
|
8
|
+
* the minimal delta that brings the padded target fully inside the viewport.
|
|
9
|
+
*/
|
|
10
|
+
import type { Rect } from '../surfaces/tooltip/inferTooltipPlacement';
|
|
11
|
+
import type { AnchorHost } from './AnchorRegistry';
|
|
12
|
+
import type { AnyFiber } from './fiber/fiberInternals';
|
|
13
|
+
import { type ScrollPadding } from './scrollConfig';
|
|
14
|
+
export interface ScrollAnchorIntoViewOptions {
|
|
15
|
+
/** Measured window rect of the tooltip target. */
|
|
16
|
+
rect: Rect;
|
|
17
|
+
/** Measurable host (registry or fiber-backed). */
|
|
18
|
+
host: AnchorHost;
|
|
19
|
+
/**
|
|
20
|
+
* Cached anchor host fiber — enables automatic scroll-ancestor discovery.
|
|
21
|
+
* When omitted, only the registry / custom / host.scrollIntoView paths run.
|
|
22
|
+
*/
|
|
23
|
+
fiber?: AnyFiber | null;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Best-effort scroll so `opts.rect` becomes fully visible.
|
|
27
|
+
*
|
|
28
|
+
* Order:
|
|
29
|
+
* 1. `setCustomScrollIntoView` override (replaces everything)
|
|
30
|
+
* 2. Explicit `useUserflowScrollContainer` registry (opt-in override)
|
|
31
|
+
* 3. Fiber scroll-ancestor walk (automatic for testID anchors)
|
|
32
|
+
* 4. `host.scrollIntoView` (RN Web / DOM)
|
|
33
|
+
*
|
|
34
|
+
* Returns `true` when at least one scroll was attempted.
|
|
35
|
+
*/
|
|
36
|
+
export declare function scrollAnchorIntoView(opts: ScrollAnchorIntoViewOptions): boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Drive every scroll ancestor of `fiber`, innermost first, so nested
|
|
39
|
+
* scrollers compose correctly.
|
|
40
|
+
*/
|
|
41
|
+
export declare function scrollFiberAncestors(fiber: AnyFiber, target: Rect): boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Pure helper exported for unit tests: compute the next content offset that
|
|
44
|
+
* brings `target` fully inside `container` with `block: 'nearest'` semantics.
|
|
45
|
+
*/
|
|
46
|
+
export declare function computeNearestScrollOffset(opts: {
|
|
47
|
+
target: Rect;
|
|
48
|
+
container: Rect;
|
|
49
|
+
contentOffset: {
|
|
50
|
+
x: number;
|
|
51
|
+
y: number;
|
|
52
|
+
};
|
|
53
|
+
padding?: Partial<ScrollPadding>;
|
|
54
|
+
}): {
|
|
55
|
+
x: number;
|
|
56
|
+
y: number;
|
|
57
|
+
changed: boolean;
|
|
58
|
+
};
|
|
59
|
+
//# sourceMappingURL=scrollAnchorIntoView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scrollAnchorIntoView.d.ts","sourceRoot":"","sources":["../../../../../src/anchors/scrollAnchorIntoView.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,2CAA2C,CAAC;AAEtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAGvD,OAAO,EAA6C,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAK/F,MAAM,WAAW,2BAA2B;IAC1C,kDAAkD;IAClD,IAAI,EAAE,IAAI,CAAC;IACX,kDAAkD;IAClD,IAAI,EAAE,UAAU,CAAC;IACjB;;;OAGG;IACH,KAAK,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;CACzB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,2BAA2B,GAAG,OAAO,CAqC/E;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAG,OAAO,CAY3E;AAmHD;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE;IAC/C,MAAM,EAAE,IAAI,CAAC;IACb,SAAS,EAAE,IAAI,CAAC;IAChB,aAAa,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACxC,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;CAClC,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CA0B7C"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Integrator-level scroll configuration, mirroring web userflow.js
|
|
3
|
+
* `setScrollPadding` / `setCustomScrollIntoView`.
|
|
4
|
+
*/
|
|
5
|
+
import type { Rect } from '../surfaces/tooltip/inferTooltipPlacement';
|
|
6
|
+
export interface ScrollPadding {
|
|
7
|
+
top?: number;
|
|
8
|
+
right?: number;
|
|
9
|
+
bottom?: number;
|
|
10
|
+
left?: number;
|
|
11
|
+
}
|
|
12
|
+
/** Target passed to a custom scroll-into-view override. */
|
|
13
|
+
export interface ScrollIntoViewTarget {
|
|
14
|
+
rect: Rect;
|
|
15
|
+
measureInWindow: (callback: (x: number, y: number, width: number, height: number) => void) => void;
|
|
16
|
+
}
|
|
17
|
+
export type CustomScrollIntoView = (target: ScrollIntoViewTarget) => void;
|
|
18
|
+
/** Sticky header/footer insets applied when deciding whether / how far to scroll. */
|
|
19
|
+
export declare function setScrollPadding(padding: ScrollPadding | null | undefined): void;
|
|
20
|
+
export declare function getScrollPadding(): ScrollPadding | null;
|
|
21
|
+
/**
|
|
22
|
+
* Replace the SDK's scroll-into-view behavior entirely. Useful for scroll
|
|
23
|
+
* libraries the fiber walk cannot drive (some FlashList / Reanimated setups).
|
|
24
|
+
* Pass `null` to restore the default.
|
|
25
|
+
*/
|
|
26
|
+
export declare function setCustomScrollIntoView(fn: CustomScrollIntoView | null | undefined): void;
|
|
27
|
+
export declare function getCustomScrollIntoView(): CustomScrollIntoView | null;
|
|
28
|
+
/** Test helper — reset to defaults. */
|
|
29
|
+
export declare function resetScrollConfig(): void;
|
|
30
|
+
//# sourceMappingURL=scrollConfig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scrollConfig.d.ts","sourceRoot":"","sources":["../../../../../src/anchors/scrollConfig.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,2CAA2C,CAAC;AAEtE,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,2DAA2D;AAC3D,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,IAAI,CAAC;IACX,eAAe,EAAE,CACf,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,KACpE,IAAI,CAAC;CACX;AAED,MAAM,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,CAAC;AAY1E,qFAAqF;AACrF,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAEhF;AAED,wBAAgB,gBAAgB,IAAI,aAAa,GAAG,IAAI,CAEvD;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,oBAAoB,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAEzF;AAED,wBAAgB,uBAAuB,IAAI,oBAAoB,GAAG,IAAI,CAErE;AAED,uCAAuC;AACvC,wBAAgB,iBAAiB,IAAI,IAAI,CAGxC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Active tooltip target-press subscription.
|
|
3
|
+
*
|
|
4
|
+
* {@link TooltipSurface} registers while a TOOLTIP step has a measured target,
|
|
5
|
+
* non-empty `actions`, and `tooltipTargetBlocked === false`. The bridge reads
|
|
6
|
+
* this at touch time so rAF measure updates do not re-render the provider.
|
|
7
|
+
*/
|
|
8
|
+
export interface TargetPressRect {
|
|
9
|
+
x: number;
|
|
10
|
+
y: number;
|
|
11
|
+
width: number;
|
|
12
|
+
height: number;
|
|
13
|
+
}
|
|
14
|
+
export interface TargetPressSubscription {
|
|
15
|
+
/** Latest measured target bounds (window coordinates). */
|
|
16
|
+
getRect: () => TargetPressRect | null;
|
|
17
|
+
/** Runs step.actions — same role as web `onTooltipTargetClick`. */
|
|
18
|
+
onPress: () => void;
|
|
19
|
+
}
|
|
20
|
+
/** Max finger travel (px) between start and end to count as a tap, not a scroll. */
|
|
21
|
+
export declare const TARGET_PRESS_TAP_SLOP = 10;
|
|
22
|
+
export declare function pointInRect(x: number, y: number, rect: TargetPressRect): boolean;
|
|
23
|
+
export interface TouchPoint {
|
|
24
|
+
pageX: number;
|
|
25
|
+
pageY: number;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* True when start and end both land in `rect` and movement stays within tap
|
|
29
|
+
* slop — mirrors a DOM click on the target without claiming the responder.
|
|
30
|
+
*/
|
|
31
|
+
export declare function isTargetTap(start: TouchPoint, end: TouchPoint, rect: TargetPressRect, slop?: number): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Module singleton for the active tooltip target-click listener.
|
|
34
|
+
* At most one subscription (one visible tooltip step).
|
|
35
|
+
*
|
|
36
|
+
* In-progress touches are keyed by native `identifier` so multi-touch start/end
|
|
37
|
+
* pairs correctly when several fingers are down. RN types `identifier` as
|
|
38
|
+
* `string`; accept `number | string` for tests and older typings.
|
|
39
|
+
*/
|
|
40
|
+
export type TouchIdentifier = number | string;
|
|
41
|
+
export declare class TargetPressMonitor {
|
|
42
|
+
private subscription;
|
|
43
|
+
private touchStarts;
|
|
44
|
+
set(subscription: TargetPressSubscription | null): void;
|
|
45
|
+
clear(): void;
|
|
46
|
+
get(): TargetPressSubscription | null;
|
|
47
|
+
/** Record touch start for `identifier`; ignores when no active subscription. */
|
|
48
|
+
handleTouchStart(identifier: TouchIdentifier, pageX: number, pageY: number): void;
|
|
49
|
+
/**
|
|
50
|
+
* If the gesture for `identifier` is a tap on the registered target, invoke
|
|
51
|
+
* `onPress`. Never claims the responder — app controls still receive the press.
|
|
52
|
+
*/
|
|
53
|
+
handleTouchEnd(identifier: TouchIdentifier, pageX: number, pageY: number): void;
|
|
54
|
+
/**
|
|
55
|
+
* Drop in-progress gesture(s). With `identifier`, cancels that finger only;
|
|
56
|
+
* otherwise clears all (e.g. blanket `onTouchCancel`).
|
|
57
|
+
*/
|
|
58
|
+
cancelTouch(identifier?: TouchIdentifier): void;
|
|
59
|
+
/** Test helper. */
|
|
60
|
+
resetForTests(): void;
|
|
61
|
+
}
|
|
62
|
+
/** Shared singleton used by TooltipSurface and TargetPressBridge. */
|
|
63
|
+
export declare const targetPressMonitor: TargetPressMonitor;
|
|
64
|
+
//# sourceMappingURL=targetPressMonitor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"targetPressMonitor.d.ts","sourceRoot":"","sources":["../../../../../src/anchors/targetPressMonitor.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,uBAAuB;IACtC,0DAA0D;IAC1D,OAAO,EAAE,MAAM,eAAe,GAAG,IAAI,CAAC;IACtC,mEAAmE;IACnE,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,oFAAoF;AACpF,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAExC,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAEhF;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,UAAU,EACjB,GAAG,EAAE,UAAU,EACf,IAAI,EAAE,eAAe,EACrB,IAAI,GAAE,MAA8B,GACnC,OAAO,CAMT;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,CAAC;AAE9C,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,YAAY,CAAwC;IAC5D,OAAO,CAAC,WAAW,CAA0C;IAE7D,GAAG,CAAC,YAAY,EAAE,uBAAuB,GAAG,IAAI,GAAG,IAAI;IAOvD,KAAK,IAAI,IAAI;IAIb,GAAG,IAAI,uBAAuB,GAAG,IAAI;IAIrC,gFAAgF;IAChF,gBAAgB,CAAC,UAAU,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAQjF;;;OAGG;IACH,cAAc,CAAC,UAAU,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAc/E;;;OAGG;IACH,WAAW,CAAC,UAAU,CAAC,EAAE,eAAe,GAAG,IAAI;IAQ/C,mBAAmB;IACnB,aAAa,IAAI,IAAI;CAItB;AAED,qEAAqE;AACrE,eAAO,MAAM,kBAAkB,oBAA2B,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import type { View } from 'react-native';
|
|
3
|
+
/**
|
|
4
|
+
* Register a view as a manual Userflow tooltip / embed target.
|
|
5
|
+
*
|
|
6
|
+
* Prefer tagging with a plain `testID` (or `nativeID` / `accessibilityLabel`)
|
|
7
|
+
* on the target view — the SDK resolves those via a fiber-tree scan without a
|
|
8
|
+
* hook. Use this hook when you need an explicit override (e.g. a third-party
|
|
9
|
+
* component that does not forward `testID`, or when the same string appears on
|
|
10
|
+
* multiple views).
|
|
11
|
+
*
|
|
12
|
+
* Usage (override):
|
|
13
|
+
* ```tsx
|
|
14
|
+
* const anchorRef = useUserflowAnchor('invite-teammates');
|
|
15
|
+
* return <Pressable ref={anchorRef}>Invite</Pressable>;
|
|
16
|
+
* ```
|
|
17
|
+
*
|
|
18
|
+
* Preferred (no hook):
|
|
19
|
+
* ```tsx
|
|
20
|
+
* return <Pressable testID="invite-teammates">Invite</Pressable>;
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
* When the target can sit inside a scrollable screen, also register the parent
|
|
24
|
+
* {@link ScrollView} with {@link useUserflowScrollContainer} so off-screen
|
|
25
|
+
* anchors are scrolled into view before the tooltip places.
|
|
26
|
+
*
|
|
27
|
+
* Phase 3 resolves targets via `step.selector.css` (leading `#` stripped).
|
|
28
|
+
*/
|
|
29
|
+
export declare function useUserflowAnchor(id: string): React.RefCallback<View>;
|
|
30
|
+
//# sourceMappingURL=useUserflowAnchor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useUserflowAnchor.d.ts","sourceRoot":"","sources":["../../../../../src/anchors/useUserflowAnchor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAIzC;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAwDrE"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import type { NativeScrollEvent, NativeSyntheticEvent, ScrollView } from 'react-native';
|
|
3
|
+
export interface UserflowScrollContainerProps {
|
|
4
|
+
/** Attach to the host ScrollView (or merge with an existing ref). */
|
|
5
|
+
ref: React.RefCallback<ScrollView>;
|
|
6
|
+
/** Forward to ScrollView so content offsets stay in sync for scroll-into-view. */
|
|
7
|
+
onScroll: (event: NativeSyntheticEvent<NativeScrollEvent>) => void;
|
|
8
|
+
/** Required for frequent offset updates while scrolling. */
|
|
9
|
+
scrollEventThrottle: number;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Register a host {@link ScrollView} so tooltip anchors can be scrolled into view
|
|
13
|
+
* when their measured window rect is not fully visible.
|
|
14
|
+
*
|
|
15
|
+
* Usually unnecessary — the SDK discovers ScrollView / FlatList ancestors via
|
|
16
|
+
* the fiber walk for `testID` anchors. Use this hook as an explicit override
|
|
17
|
+
* for scroll libraries the walk cannot drive, or when the target is only
|
|
18
|
+
* registered via {@link useUserflowAnchor} without a discoverable fiber.
|
|
19
|
+
*
|
|
20
|
+
* Usage:
|
|
21
|
+
* ```tsx
|
|
22
|
+
* const scroll = useUserflowScrollContainer();
|
|
23
|
+
* return (
|
|
24
|
+
* <ScrollView {...scroll}>
|
|
25
|
+
* <Pressable testID="invite-teammates">Invite</Pressable>
|
|
26
|
+
* </ScrollView>
|
|
27
|
+
* );
|
|
28
|
+
* ```
|
|
29
|
+
*
|
|
30
|
+
* Screen tracking ≠ scroll registration — only ScrollViews you pass through this
|
|
31
|
+
* hook participate in the registry override path.
|
|
32
|
+
*/
|
|
33
|
+
export declare function useUserflowScrollContainer(onScrollProp?: (event: NativeSyntheticEvent<NativeScrollEvent>) => void): UserflowScrollContainerProps;
|
|
34
|
+
//# sourceMappingURL=useUserflowScrollContainer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useUserflowScrollContainer.d.ts","sourceRoot":"","sources":["../../../../../src/anchors/useUserflowScrollContainer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAQxF,MAAM,WAAW,4BAA4B;IAC3C,qEAAqE;IACrE,GAAG,EAAE,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IACnC,kFAAkF;IAClF,QAAQ,EAAE,CAAC,KAAK,EAAE,oBAAoB,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IACnE,4DAA4D;IAC5D,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,0BAA0B,CACxC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,CAAC,iBAAiB,CAAC,KAAK,IAAI,GACtE,4BAA4B,CA2C9B"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/** Matches the web SDK's `userflow:anonymousId` localStorage key. */
|
|
2
|
+
export declare const ANONYMOUS_ID_STORAGE_KEY = "userflow:anonymousId";
|
|
3
|
+
export declare function getOrCreateAnonymousId(): Promise<string>;
|
|
4
|
+
export declare function clearAnonymousId(): Promise<void>;
|
|
5
|
+
//# sourceMappingURL=anonymousId.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"anonymousId.d.ts","sourceRoot":"","sources":["../../../../src/anonymousId.ts"],"names":[],"mappings":"AAGA,qEAAqE;AACrE,eAAO,MAAM,wBAAwB,yBAAyB,CAAC;AAY/D,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,MAAM,CAAC,CAa9D;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAMtD"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { FlowActionFragment, FlowButtonFragment, ThemeFragment } from '@userflow-tech/protocol';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import type { JustifyContent, LookupAttribute, RichContentDoc } from './types';
|
|
4
|
+
export interface RichContentRendererProps {
|
|
5
|
+
content: string | RichContentDoc | null | undefined;
|
|
6
|
+
buttons: FlowButtonFragment[];
|
|
7
|
+
theme: ThemeFragment;
|
|
8
|
+
sessionData: {
|
|
9
|
+
name: string;
|
|
10
|
+
value: string | string[];
|
|
11
|
+
}[];
|
|
12
|
+
lookupAttribute: LookupAttribute;
|
|
13
|
+
onActions: (actions: FlowActionFragment[]) => void;
|
|
14
|
+
/**
|
|
15
|
+
* Default justify for button-groups when `align` is unset.
|
|
16
|
+
* Web: modal → center, tooltip/bubble → end.
|
|
17
|
+
*/
|
|
18
|
+
defaultButtonsAlign?: JustifyContent;
|
|
19
|
+
}
|
|
20
|
+
export declare function RichContentRenderer({ content, buttons, theme, sessionData, lookupAttribute, onActions, defaultButtonsAlign, }: RichContentRendererProps): React.ReactElement;
|
|
21
|
+
//# sourceMappingURL=RichContentRenderer.d.ts.map
|