@userflow-tech/react-native 0.4.5 → 0.6.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/README.md +31 -2
- package/docs/anchoring.md +6 -1
- package/docs/custom-fonts.md +36 -0
- package/docs/troubleshooting.md +33 -6
- package/lib/commonjs/anchors/AutoAnchorRegistry.js +144 -34
- package/lib/commonjs/anchors/AutoAnchorRegistry.js.map +1 -1
- package/lib/commonjs/anchors/animationFrame.js +29 -1
- package/lib/commonjs/anchors/animationFrame.js.map +1 -1
- package/lib/commonjs/anchors/appActive.js +61 -0
- package/lib/commonjs/anchors/appActive.js.map +1 -0
- package/lib/commonjs/anchors/elementConditionEvaluator.js +25 -8
- package/lib/commonjs/anchors/elementConditionEvaluator.js.map +1 -1
- package/lib/commonjs/anchors/elementTapMonitor.js +67 -12
- package/lib/commonjs/anchors/elementTapMonitor.js.map +1 -1
- package/lib/commonjs/anchors/elementTargetMatch.js +33 -7
- package/lib/commonjs/anchors/elementTargetMatch.js.map +1 -1
- package/lib/commonjs/anchors/fiber/FiberScanRootStore.js +8 -0
- package/lib/commonjs/anchors/fiber/FiberScanRootStore.js.map +1 -1
- package/lib/commonjs/anchors/fiber/detectAppFontFamily.js +341 -0
- package/lib/commonjs/anchors/fiber/detectAppFontFamily.js.map +1 -0
- package/lib/commonjs/anchors/fiber/fiberInternals.js +66 -0
- package/lib/commonjs/anchors/fiber/fiberInternals.js.map +1 -1
- package/lib/commonjs/anchors/fiber/indexHostFibers.js +4 -3
- package/lib/commonjs/anchors/fiber/indexHostFibers.js.map +1 -1
- package/lib/commonjs/anchors/fiber/resolveFiberPath.js +30 -15
- package/lib/commonjs/anchors/fiber/resolveFiberPath.js.map +1 -1
- package/lib/commonjs/anchors/fiber/visibleScreens.js +6 -0
- package/lib/commonjs/anchors/fiber/visibleScreens.js.map +1 -1
- package/lib/commonjs/anchors/fiberAnchorCache.js +20 -0
- package/lib/commonjs/anchors/fiberAnchorCache.js.map +1 -1
- package/lib/commonjs/anchors/gestureHandlerHandoff.js +304 -0
- package/lib/commonjs/anchors/gestureHandlerHandoff.js.map +1 -0
- package/lib/commonjs/anchors/resolveAnchorHost.js +6 -0
- package/lib/commonjs/anchors/resolveAnchorHost.js.map +1 -1
- package/lib/commonjs/anchors/resolveAutoAnchorHost.js +11 -6
- package/lib/commonjs/anchors/resolveAutoAnchorHost.js.map +1 -1
- package/lib/commonjs/anchors/resolveElementTargets.js +63 -8
- package/lib/commonjs/anchors/resolveElementTargets.js.map +1 -1
- package/lib/commonjs/anchors/semanticMatcher.js +43 -21
- package/lib/commonjs/anchors/semanticMatcher.js.map +1 -1
- package/lib/commonjs/anchors/tapSlop.js +16 -0
- package/lib/commonjs/anchors/tapSlop.js.map +1 -0
- package/lib/commonjs/anchors/targetPressMonitor.js +66 -12
- package/lib/commonjs/anchors/targetPressMonitor.js.map +1 -1
- package/lib/commonjs/authoring/fingerprintFromInstance.js +5 -9
- package/lib/commonjs/authoring/fingerprintFromInstance.js.map +1 -1
- package/lib/commonjs/content/BannerStepButton.js +2 -1
- package/lib/commonjs/content/BannerStepButton.js.map +1 -1
- package/lib/commonjs/content/RichContentRenderer.js +20 -14
- package/lib/commonjs/content/RichContentRenderer.js.map +1 -1
- package/lib/commonjs/content/StepButton.js +2 -1
- package/lib/commonjs/content/StepButton.js.map +1 -1
- package/lib/commonjs/content/openSafeUrl.js +3 -1
- package/lib/commonjs/content/openSafeUrl.js.map +1 -1
- package/lib/commonjs/content/resolveContentFontFamily.js +96 -0
- package/lib/commonjs/content/resolveContentFontFamily.js.map +1 -0
- package/lib/commonjs/expo-router/useUserflowExpoRouter.js +6 -0
- package/lib/commonjs/expo-router/useUserflowExpoRouter.js.map +1 -1
- package/lib/commonjs/index.js +21 -5
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/navigation/navigateUrlUtils.js +105 -0
- package/lib/commonjs/navigation/navigateUrlUtils.js.map +1 -0
- package/lib/commonjs/navigation/openExternalNavigateUrl.js +14 -0
- package/lib/commonjs/navigation/openExternalNavigateUrl.js.map +1 -0
- package/lib/commonjs/navigation/openFlowNavigateUrl.js +47 -41
- package/lib/commonjs/navigation/openFlowNavigateUrl.js.map +1 -1
- package/lib/commonjs/pairing/PairingController.js +3 -1
- package/lib/commonjs/pairing/PairingController.js.map +1 -1
- package/lib/commonjs/runtime/BannerHost.js +38 -29
- package/lib/commonjs/runtime/BannerHost.js.map +1 -1
- package/lib/commonjs/runtime/TargetPressBridge.js +55 -7
- package/lib/commonjs/runtime/TargetPressBridge.js.map +1 -1
- package/lib/commonjs/runtime/UserflowOverlay.js +5 -11
- package/lib/commonjs/runtime/UserflowOverlay.js.map +1 -1
- package/lib/commonjs/runtime/UserflowProvider.js +66 -40
- package/lib/commonjs/runtime/UserflowProvider.js.map +1 -1
- package/lib/commonjs/runtime/bannerEngine.js +8 -2
- package/lib/commonjs/runtime/bannerEngine.js.map +1 -1
- package/lib/commonjs/runtime/bannerFlowSpacer.js +71 -0
- package/lib/commonjs/runtime/bannerFlowSpacer.js.map +1 -0
- package/lib/commonjs/runtime/flowEngine.js +11 -0
- package/lib/commonjs/runtime/flowEngine.js.map +1 -1
- package/lib/commonjs/runtime/previewStart.js +39 -0
- package/lib/commonjs/runtime/previewStart.js.map +1 -0
- package/lib/commonjs/runtime/pushBannerLayoutContext.js +101 -0
- package/lib/commonjs/runtime/pushBannerLayoutContext.js.map +1 -0
- package/lib/commonjs/screenTracker.js +12 -0
- package/lib/commonjs/screenTracker.js.map +1 -1
- package/lib/commonjs/surfaces/BannerBar.js +79 -61
- package/lib/commonjs/surfaces/BannerBar.js.map +1 -1
- package/lib/commonjs/surfaces/BannerSurface.js +28 -6
- package/lib/commonjs/surfaces/BannerSurface.js.map +1 -1
- package/lib/commonjs/surfaces/ProgressBar.js +2 -1
- package/lib/commonjs/surfaces/ProgressBar.js.map +1 -1
- package/lib/commonjs/surfaces/TooltipSurface.js +48 -41
- package/lib/commonjs/surfaces/TooltipSurface.js.map +1 -1
- package/lib/commonjs/surfaces/bannerBarLayout.js +77 -10
- package/lib/commonjs/surfaces/bannerBarLayout.js.map +1 -1
- package/lib/commonjs/surfaces/bannerWebView/BannerWebViewBar.js +114 -63
- package/lib/commonjs/surfaces/bannerWebView/BannerWebViewBar.js.map +1 -1
- package/lib/commonjs/surfaces/bannerWebView/bannerNeedsWebView.js +3 -33
- package/lib/commonjs/surfaces/bannerWebView/bannerNeedsWebView.js.map +1 -1
- package/lib/commonjs/surfaces/bannerWebView/bannerThemeStyles.js +2 -1
- package/lib/commonjs/surfaces/bannerWebView/bannerThemeStyles.js.map +1 -1
- package/lib/commonjs/surfaces/bannerWebView/bannerWebViewHeight.js +33 -0
- package/lib/commonjs/surfaces/bannerWebView/bannerWebViewHeight.js.map +1 -0
- package/lib/commonjs/surfaces/bannerWebView/buildCustomBannerHtml.js +104 -23
- package/lib/commonjs/surfaces/bannerWebView/buildCustomBannerHtml.js.map +1 -1
- package/lib/commonjs/surfaces/hostAccessibilityTrap.js +28 -0
- package/lib/commonjs/surfaces/hostAccessibilityTrap.js.map +1 -0
- package/lib/commonjs/surfaces/resolveBannerTheme.js +6 -3
- package/lib/commonjs/surfaces/resolveBannerTheme.js.map +1 -1
- package/lib/commonjs/surfaces/tooltip/TooltipBubble.js +3 -2
- package/lib/commonjs/surfaces/tooltip/TooltipBubble.js.map +1 -1
- package/lib/commonjs/surfaces/tooltip/targetSearchSchedule.js +134 -0
- package/lib/commonjs/surfaces/tooltip/targetSearchSchedule.js.map +1 -0
- package/lib/commonjs/version.js +1 -1
- package/lib/module/anchors/AutoAnchorRegistry.js +145 -35
- package/lib/module/anchors/AutoAnchorRegistry.js.map +1 -1
- package/lib/module/anchors/animationFrame.js +29 -2
- package/lib/module/anchors/animationFrame.js.map +1 -1
- package/lib/module/anchors/appActive.js +57 -0
- package/lib/module/anchors/appActive.js.map +1 -0
- package/lib/module/anchors/elementConditionEvaluator.js +26 -9
- package/lib/module/anchors/elementConditionEvaluator.js.map +1 -1
- package/lib/module/anchors/elementTapMonitor.js +67 -12
- package/lib/module/anchors/elementTapMonitor.js.map +1 -1
- package/lib/module/anchors/elementTargetMatch.js +32 -7
- package/lib/module/anchors/elementTargetMatch.js.map +1 -1
- package/lib/module/anchors/fiber/FiberScanRootStore.js +8 -0
- package/lib/module/anchors/fiber/FiberScanRootStore.js.map +1 -1
- package/lib/module/anchors/fiber/detectAppFontFamily.js +330 -0
- package/lib/module/anchors/fiber/detectAppFontFamily.js.map +1 -0
- package/lib/module/anchors/fiber/fiberInternals.js +65 -0
- package/lib/module/anchors/fiber/fiberInternals.js.map +1 -1
- package/lib/module/anchors/fiber/indexHostFibers.js +4 -3
- package/lib/module/anchors/fiber/indexHostFibers.js.map +1 -1
- package/lib/module/anchors/fiber/resolveFiberPath.js +30 -15
- package/lib/module/anchors/fiber/resolveFiberPath.js.map +1 -1
- package/lib/module/anchors/fiber/visibleScreens.js +5 -0
- package/lib/module/anchors/fiber/visibleScreens.js.map +1 -1
- package/lib/module/anchors/fiberAnchorCache.js +19 -0
- package/lib/module/anchors/fiberAnchorCache.js.map +1 -1
- package/lib/module/anchors/gestureHandlerHandoff.js +298 -0
- package/lib/module/anchors/gestureHandlerHandoff.js.map +1 -0
- package/lib/module/anchors/resolveAnchorHost.js +1 -0
- package/lib/module/anchors/resolveAnchorHost.js.map +1 -1
- package/lib/module/anchors/resolveAutoAnchorHost.js +11 -6
- package/lib/module/anchors/resolveAutoAnchorHost.js.map +1 -1
- package/lib/module/anchors/resolveElementTargets.js +63 -8
- package/lib/module/anchors/resolveElementTargets.js.map +1 -1
- package/lib/module/anchors/semanticMatcher.js +43 -21
- package/lib/module/anchors/semanticMatcher.js.map +1 -1
- package/lib/module/anchors/tapSlop.js +11 -0
- package/lib/module/anchors/tapSlop.js.map +1 -0
- package/lib/module/anchors/targetPressMonitor.js +53 -8
- package/lib/module/anchors/targetPressMonitor.js.map +1 -1
- package/lib/module/authoring/fingerprintFromInstance.js +6 -10
- package/lib/module/authoring/fingerprintFromInstance.js.map +1 -1
- package/lib/module/content/BannerStepButton.js +2 -1
- package/lib/module/content/BannerStepButton.js.map +1 -1
- package/lib/module/content/RichContentRenderer.js +20 -14
- package/lib/module/content/RichContentRenderer.js.map +1 -1
- package/lib/module/content/StepButton.js +2 -1
- package/lib/module/content/StepButton.js.map +1 -1
- package/lib/module/content/openSafeUrl.js +3 -1
- package/lib/module/content/openSafeUrl.js.map +1 -1
- package/lib/module/content/resolveContentFontFamily.js +89 -0
- package/lib/module/content/resolveContentFontFamily.js.map +1 -0
- package/lib/module/expo-router/useUserflowExpoRouter.js +7 -1
- package/lib/module/expo-router/useUserflowExpoRouter.js.map +1 -1
- package/lib/module/index.js +24 -7
- package/lib/module/index.js.map +1 -1
- package/lib/module/navigation/navigateUrlUtils.js +94 -0
- package/lib/module/navigation/navigateUrlUtils.js.map +1 -0
- package/lib/module/navigation/openExternalNavigateUrl.js +11 -0
- package/lib/module/navigation/openExternalNavigateUrl.js.map +1 -0
- package/lib/module/navigation/openFlowNavigateUrl.js +22 -36
- package/lib/module/navigation/openFlowNavigateUrl.js.map +1 -1
- package/lib/module/pairing/PairingController.js +3 -1
- package/lib/module/pairing/PairingController.js.map +1 -1
- package/lib/module/runtime/BannerHost.js +38 -29
- package/lib/module/runtime/BannerHost.js.map +1 -1
- package/lib/module/runtime/TargetPressBridge.js +56 -8
- package/lib/module/runtime/TargetPressBridge.js.map +1 -1
- package/lib/module/runtime/UserflowOverlay.js +5 -11
- package/lib/module/runtime/UserflowOverlay.js.map +1 -1
- package/lib/module/runtime/UserflowProvider.js +66 -40
- package/lib/module/runtime/UserflowProvider.js.map +1 -1
- package/lib/module/runtime/bannerEngine.js +7 -2
- package/lib/module/runtime/bannerEngine.js.map +1 -1
- package/lib/module/runtime/bannerFlowSpacer.js +65 -0
- package/lib/module/runtime/bannerFlowSpacer.js.map +1 -0
- package/lib/module/runtime/flowEngine.js +11 -0
- package/lib/module/runtime/flowEngine.js.map +1 -1
- package/lib/module/runtime/previewStart.js +35 -0
- package/lib/module/runtime/previewStart.js.map +1 -0
- package/lib/module/runtime/pushBannerLayoutContext.js +94 -0
- package/lib/module/runtime/pushBannerLayoutContext.js.map +1 -0
- package/lib/module/screenTracker.js +11 -0
- package/lib/module/screenTracker.js.map +1 -1
- package/lib/module/surfaces/BannerBar.js +80 -62
- package/lib/module/surfaces/BannerBar.js.map +1 -1
- package/lib/module/surfaces/BannerSurface.js +28 -6
- package/lib/module/surfaces/BannerSurface.js.map +1 -1
- package/lib/module/surfaces/ProgressBar.js +2 -1
- package/lib/module/surfaces/ProgressBar.js.map +1 -1
- package/lib/module/surfaces/TooltipSurface.js +49 -42
- package/lib/module/surfaces/TooltipSurface.js.map +1 -1
- package/lib/module/surfaces/bannerBarLayout.js +72 -11
- package/lib/module/surfaces/bannerBarLayout.js.map +1 -1
- package/lib/module/surfaces/bannerWebView/BannerWebViewBar.js +115 -64
- package/lib/module/surfaces/bannerWebView/BannerWebViewBar.js.map +1 -1
- package/lib/module/surfaces/bannerWebView/bannerNeedsWebView.js +3 -31
- package/lib/module/surfaces/bannerWebView/bannerNeedsWebView.js.map +1 -1
- package/lib/module/surfaces/bannerWebView/bannerThemeStyles.js +2 -1
- package/lib/module/surfaces/bannerWebView/bannerThemeStyles.js.map +1 -1
- package/lib/module/surfaces/bannerWebView/bannerWebViewHeight.js +29 -0
- package/lib/module/surfaces/bannerWebView/bannerWebViewHeight.js.map +1 -0
- package/lib/module/surfaces/bannerWebView/buildCustomBannerHtml.js +104 -23
- package/lib/module/surfaces/bannerWebView/buildCustomBannerHtml.js.map +1 -1
- package/lib/module/surfaces/hostAccessibilityTrap.js +24 -0
- package/lib/module/surfaces/hostAccessibilityTrap.js.map +1 -0
- package/lib/module/surfaces/resolveBannerTheme.js +6 -3
- package/lib/module/surfaces/resolveBannerTheme.js.map +1 -1
- package/lib/module/surfaces/tooltip/TooltipBubble.js +3 -2
- package/lib/module/surfaces/tooltip/TooltipBubble.js.map +1 -1
- package/lib/module/surfaces/tooltip/targetSearchSchedule.js +128 -0
- package/lib/module/surfaces/tooltip/targetSearchSchedule.js.map +1 -0
- package/lib/module/version.js +1 -1
- package/lib/typescript/commonjs/src/anchors/AutoAnchorRegistry.d.ts +36 -2
- package/lib/typescript/commonjs/src/anchors/AutoAnchorRegistry.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/anchors/animationFrame.d.ts +0 -4
- package/lib/typescript/commonjs/src/anchors/animationFrame.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/anchors/appActive.d.ts +8 -0
- package/lib/typescript/commonjs/src/anchors/appActive.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/anchors/elementTapMonitor.d.ts +17 -0
- package/lib/typescript/commonjs/src/anchors/elementTapMonitor.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/anchors/elementTargetMatch.d.ts +7 -0
- package/lib/typescript/commonjs/src/anchors/elementTargetMatch.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/anchors/fiber/FiberScanRootStore.d.ts +5 -0
- package/lib/typescript/commonjs/src/anchors/fiber/FiberScanRootStore.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/anchors/fiber/detectAppFontFamily.d.ts +30 -0
- package/lib/typescript/commonjs/src/anchors/fiber/detectAppFontFamily.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/anchors/fiber/fiberInternals.d.ts +7 -0
- package/lib/typescript/commonjs/src/anchors/fiber/fiberInternals.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/anchors/fiber/indexHostFibers.d.ts +3 -2
- package/lib/typescript/commonjs/src/anchors/fiber/indexHostFibers.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/anchors/fiber/resolveFiberPath.d.ts +3 -0
- package/lib/typescript/commonjs/src/anchors/fiber/resolveFiberPath.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/anchors/fiber/visibleScreens.d.ts +2 -0
- package/lib/typescript/commonjs/src/anchors/fiber/visibleScreens.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/anchors/fiberAnchorCache.d.ts +5 -0
- package/lib/typescript/commonjs/src/anchors/fiberAnchorCache.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/anchors/gestureHandlerHandoff.d.ts +70 -0
- package/lib/typescript/commonjs/src/anchors/gestureHandlerHandoff.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/anchors/resolveAnchorHost.d.ts +1 -0
- package/lib/typescript/commonjs/src/anchors/resolveAnchorHost.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/anchors/resolveAutoAnchorHost.d.ts +11 -4
- package/lib/typescript/commonjs/src/anchors/resolveAutoAnchorHost.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/anchors/resolveElementTargets.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/anchors/semanticMatcher.d.ts +2 -0
- package/lib/typescript/commonjs/src/anchors/semanticMatcher.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/anchors/tapSlop.d.ts +9 -0
- package/lib/typescript/commonjs/src/anchors/tapSlop.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/anchors/targetPressMonitor.d.ts +13 -8
- package/lib/typescript/commonjs/src/anchors/targetPressMonitor.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/authoring/fingerprintFromInstance.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/content/BannerStepButton.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/content/RichContentRenderer.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/content/StepButton.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/content/openSafeUrl.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/content/resolveContentFontFamily.d.ts +35 -0
- package/lib/typescript/commonjs/src/content/resolveContentFontFamily.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/expo-router/useUserflowExpoRouter.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/index.d.ts +6 -5
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/navigation/navigateUrlUtils.d.ts +15 -0
- package/lib/typescript/commonjs/src/navigation/navigateUrlUtils.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/navigation/openExternalNavigateUrl.d.ts +3 -0
- package/lib/typescript/commonjs/src/navigation/openExternalNavigateUrl.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/navigation/openFlowNavigateUrl.d.ts +2 -5
- package/lib/typescript/commonjs/src/navigation/openFlowNavigateUrl.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/pairing/PairingController.d.ts +6 -0
- package/lib/typescript/commonjs/src/pairing/PairingController.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/runtime/BannerHost.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/runtime/TargetPressBridge.d.ts +3 -0
- package/lib/typescript/commonjs/src/runtime/TargetPressBridge.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/runtime/UserflowOverlay.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/runtime/UserflowProvider.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/runtime/bannerEngine.d.ts +5 -1
- package/lib/typescript/commonjs/src/runtime/bannerEngine.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/runtime/bannerFlowSpacer.d.ts +15 -0
- package/lib/typescript/commonjs/src/runtime/bannerFlowSpacer.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/runtime/flowEngine.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/runtime/previewStart.d.ts +13 -0
- package/lib/typescript/commonjs/src/runtime/previewStart.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/runtime/pushBannerLayoutContext.d.ts +22 -0
- package/lib/typescript/commonjs/src/runtime/pushBannerLayoutContext.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/screenTracker.d.ts +6 -0
- package/lib/typescript/commonjs/src/screenTracker.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/surfaces/BannerBar.d.ts +3 -1
- package/lib/typescript/commonjs/src/surfaces/BannerBar.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/surfaces/BannerSurface.d.ts +6 -5
- package/lib/typescript/commonjs/src/surfaces/BannerSurface.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/surfaces/ProgressBar.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/surfaces/TooltipSurface.d.ts +1 -1
- package/lib/typescript/commonjs/src/surfaces/TooltipSurface.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/surfaces/bannerBarLayout.d.ts +17 -0
- package/lib/typescript/commonjs/src/surfaces/bannerBarLayout.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/surfaces/bannerWebView/BannerWebViewBar.d.ts +3 -1
- package/lib/typescript/commonjs/src/surfaces/bannerWebView/BannerWebViewBar.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/surfaces/bannerWebView/bannerNeedsWebView.d.ts +3 -12
- package/lib/typescript/commonjs/src/surfaces/bannerWebView/bannerNeedsWebView.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/surfaces/bannerWebView/bannerThemeStyles.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/surfaces/bannerWebView/bannerWebViewHeight.d.ts +13 -0
- package/lib/typescript/commonjs/src/surfaces/bannerWebView/bannerWebViewHeight.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/surfaces/bannerWebView/buildCustomBannerHtml.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/surfaces/hostAccessibilityTrap.d.ts +14 -0
- package/lib/typescript/commonjs/src/surfaces/hostAccessibilityTrap.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/surfaces/resolveBannerTheme.d.ts +4 -1
- package/lib/typescript/commonjs/src/surfaces/resolveBannerTheme.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/surfaces/tooltip/TooltipBubble.d.ts +7 -1
- package/lib/typescript/commonjs/src/surfaces/tooltip/TooltipBubble.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/surfaces/tooltip/targetSearchSchedule.d.ts +60 -0
- package/lib/typescript/commonjs/src/surfaces/tooltip/targetSearchSchedule.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/version.d.ts +1 -1
- package/lib/typescript/module/src/anchors/AutoAnchorRegistry.d.ts +36 -2
- package/lib/typescript/module/src/anchors/AutoAnchorRegistry.d.ts.map +1 -1
- package/lib/typescript/module/src/anchors/animationFrame.d.ts +0 -4
- package/lib/typescript/module/src/anchors/animationFrame.d.ts.map +1 -1
- package/lib/typescript/module/src/anchors/appActive.d.ts +8 -0
- package/lib/typescript/module/src/anchors/appActive.d.ts.map +1 -0
- package/lib/typescript/module/src/anchors/elementTapMonitor.d.ts +17 -0
- package/lib/typescript/module/src/anchors/elementTapMonitor.d.ts.map +1 -1
- package/lib/typescript/module/src/anchors/elementTargetMatch.d.ts +7 -0
- package/lib/typescript/module/src/anchors/elementTargetMatch.d.ts.map +1 -1
- package/lib/typescript/module/src/anchors/fiber/FiberScanRootStore.d.ts +5 -0
- package/lib/typescript/module/src/anchors/fiber/FiberScanRootStore.d.ts.map +1 -1
- package/lib/typescript/module/src/anchors/fiber/detectAppFontFamily.d.ts +30 -0
- package/lib/typescript/module/src/anchors/fiber/detectAppFontFamily.d.ts.map +1 -0
- package/lib/typescript/module/src/anchors/fiber/fiberInternals.d.ts +7 -0
- package/lib/typescript/module/src/anchors/fiber/fiberInternals.d.ts.map +1 -1
- package/lib/typescript/module/src/anchors/fiber/indexHostFibers.d.ts +3 -2
- package/lib/typescript/module/src/anchors/fiber/indexHostFibers.d.ts.map +1 -1
- package/lib/typescript/module/src/anchors/fiber/resolveFiberPath.d.ts +3 -0
- package/lib/typescript/module/src/anchors/fiber/resolveFiberPath.d.ts.map +1 -1
- package/lib/typescript/module/src/anchors/fiber/visibleScreens.d.ts +2 -0
- package/lib/typescript/module/src/anchors/fiber/visibleScreens.d.ts.map +1 -1
- package/lib/typescript/module/src/anchors/fiberAnchorCache.d.ts +5 -0
- package/lib/typescript/module/src/anchors/fiberAnchorCache.d.ts.map +1 -1
- package/lib/typescript/module/src/anchors/gestureHandlerHandoff.d.ts +70 -0
- package/lib/typescript/module/src/anchors/gestureHandlerHandoff.d.ts.map +1 -0
- package/lib/typescript/module/src/anchors/resolveAnchorHost.d.ts +1 -0
- package/lib/typescript/module/src/anchors/resolveAnchorHost.d.ts.map +1 -1
- package/lib/typescript/module/src/anchors/resolveAutoAnchorHost.d.ts +11 -4
- package/lib/typescript/module/src/anchors/resolveAutoAnchorHost.d.ts.map +1 -1
- package/lib/typescript/module/src/anchors/resolveElementTargets.d.ts.map +1 -1
- package/lib/typescript/module/src/anchors/semanticMatcher.d.ts +2 -0
- package/lib/typescript/module/src/anchors/semanticMatcher.d.ts.map +1 -1
- package/lib/typescript/module/src/anchors/tapSlop.d.ts +9 -0
- package/lib/typescript/module/src/anchors/tapSlop.d.ts.map +1 -0
- package/lib/typescript/module/src/anchors/targetPressMonitor.d.ts +13 -8
- package/lib/typescript/module/src/anchors/targetPressMonitor.d.ts.map +1 -1
- package/lib/typescript/module/src/authoring/fingerprintFromInstance.d.ts.map +1 -1
- package/lib/typescript/module/src/content/BannerStepButton.d.ts.map +1 -1
- package/lib/typescript/module/src/content/RichContentRenderer.d.ts.map +1 -1
- package/lib/typescript/module/src/content/StepButton.d.ts.map +1 -1
- package/lib/typescript/module/src/content/openSafeUrl.d.ts.map +1 -1
- package/lib/typescript/module/src/content/resolveContentFontFamily.d.ts +35 -0
- package/lib/typescript/module/src/content/resolveContentFontFamily.d.ts.map +1 -0
- package/lib/typescript/module/src/expo-router/useUserflowExpoRouter.d.ts.map +1 -1
- package/lib/typescript/module/src/index.d.ts +6 -5
- package/lib/typescript/module/src/index.d.ts.map +1 -1
- package/lib/typescript/module/src/navigation/navigateUrlUtils.d.ts +15 -0
- package/lib/typescript/module/src/navigation/navigateUrlUtils.d.ts.map +1 -0
- package/lib/typescript/module/src/navigation/openExternalNavigateUrl.d.ts +3 -0
- package/lib/typescript/module/src/navigation/openExternalNavigateUrl.d.ts.map +1 -0
- package/lib/typescript/module/src/navigation/openFlowNavigateUrl.d.ts +2 -5
- package/lib/typescript/module/src/navigation/openFlowNavigateUrl.d.ts.map +1 -1
- package/lib/typescript/module/src/pairing/PairingController.d.ts +6 -0
- package/lib/typescript/module/src/pairing/PairingController.d.ts.map +1 -1
- package/lib/typescript/module/src/runtime/BannerHost.d.ts.map +1 -1
- package/lib/typescript/module/src/runtime/TargetPressBridge.d.ts +3 -0
- package/lib/typescript/module/src/runtime/TargetPressBridge.d.ts.map +1 -1
- package/lib/typescript/module/src/runtime/UserflowOverlay.d.ts.map +1 -1
- package/lib/typescript/module/src/runtime/UserflowProvider.d.ts.map +1 -1
- package/lib/typescript/module/src/runtime/bannerEngine.d.ts +5 -1
- package/lib/typescript/module/src/runtime/bannerEngine.d.ts.map +1 -1
- package/lib/typescript/module/src/runtime/bannerFlowSpacer.d.ts +15 -0
- package/lib/typescript/module/src/runtime/bannerFlowSpacer.d.ts.map +1 -0
- package/lib/typescript/module/src/runtime/flowEngine.d.ts.map +1 -1
- package/lib/typescript/module/src/runtime/previewStart.d.ts +13 -0
- package/lib/typescript/module/src/runtime/previewStart.d.ts.map +1 -0
- package/lib/typescript/module/src/runtime/pushBannerLayoutContext.d.ts +22 -0
- package/lib/typescript/module/src/runtime/pushBannerLayoutContext.d.ts.map +1 -0
- package/lib/typescript/module/src/screenTracker.d.ts +6 -0
- package/lib/typescript/module/src/screenTracker.d.ts.map +1 -1
- package/lib/typescript/module/src/surfaces/BannerBar.d.ts +3 -1
- package/lib/typescript/module/src/surfaces/BannerBar.d.ts.map +1 -1
- package/lib/typescript/module/src/surfaces/BannerSurface.d.ts +6 -5
- package/lib/typescript/module/src/surfaces/BannerSurface.d.ts.map +1 -1
- package/lib/typescript/module/src/surfaces/ProgressBar.d.ts.map +1 -1
- package/lib/typescript/module/src/surfaces/TooltipSurface.d.ts +1 -1
- package/lib/typescript/module/src/surfaces/TooltipSurface.d.ts.map +1 -1
- package/lib/typescript/module/src/surfaces/bannerBarLayout.d.ts +17 -0
- package/lib/typescript/module/src/surfaces/bannerBarLayout.d.ts.map +1 -1
- package/lib/typescript/module/src/surfaces/bannerWebView/BannerWebViewBar.d.ts +3 -1
- package/lib/typescript/module/src/surfaces/bannerWebView/BannerWebViewBar.d.ts.map +1 -1
- package/lib/typescript/module/src/surfaces/bannerWebView/bannerNeedsWebView.d.ts +3 -12
- package/lib/typescript/module/src/surfaces/bannerWebView/bannerNeedsWebView.d.ts.map +1 -1
- package/lib/typescript/module/src/surfaces/bannerWebView/bannerThemeStyles.d.ts.map +1 -1
- package/lib/typescript/module/src/surfaces/bannerWebView/bannerWebViewHeight.d.ts +13 -0
- package/lib/typescript/module/src/surfaces/bannerWebView/bannerWebViewHeight.d.ts.map +1 -0
- package/lib/typescript/module/src/surfaces/bannerWebView/buildCustomBannerHtml.d.ts.map +1 -1
- package/lib/typescript/module/src/surfaces/hostAccessibilityTrap.d.ts +14 -0
- package/lib/typescript/module/src/surfaces/hostAccessibilityTrap.d.ts.map +1 -0
- package/lib/typescript/module/src/surfaces/resolveBannerTheme.d.ts +4 -1
- package/lib/typescript/module/src/surfaces/resolveBannerTheme.d.ts.map +1 -1
- package/lib/typescript/module/src/surfaces/tooltip/TooltipBubble.d.ts +7 -1
- package/lib/typescript/module/src/surfaces/tooltip/TooltipBubble.d.ts.map +1 -1
- package/lib/typescript/module/src/surfaces/tooltip/targetSearchSchedule.d.ts +60 -0
- package/lib/typescript/module/src/surfaces/tooltip/targetSearchSchedule.d.ts.map +1 -0
- package/lib/typescript/module/src/version.d.ts +1 -1
- package/package.json +1 -1
- package/src/anchors/AutoAnchorRegistry.ts +166 -35
- package/src/anchors/animationFrame.ts +31 -1
- package/src/anchors/appActive.ts +63 -0
- package/src/anchors/elementConditionEvaluator.ts +29 -12
- package/src/anchors/elementTapMonitor.ts +68 -10
- package/src/anchors/elementTargetMatch.ts +34 -7
- package/src/anchors/fiber/FiberScanRootStore.ts +8 -0
- package/src/anchors/fiber/detectAppFontFamily.ts +400 -0
- package/src/anchors/fiber/fiberInternals.ts +68 -0
- package/src/anchors/fiber/indexHostFibers.ts +8 -3
- package/src/anchors/fiber/resolveFiberPath.ts +25 -16
- package/src/anchors/fiber/visibleScreens.ts +5 -0
- package/src/anchors/fiberAnchorCache.ts +19 -0
- package/src/anchors/gestureHandlerHandoff.ts +356 -0
- package/src/anchors/resolveAnchorHost.ts +2 -0
- package/src/anchors/resolveAutoAnchorHost.ts +18 -8
- package/src/anchors/resolveElementTargets.ts +64 -7
- package/src/anchors/semanticMatcher.ts +48 -27
- package/src/anchors/tapSlop.ts +18 -0
- package/src/anchors/targetPressMonitor.ts +56 -19
- package/src/authoring/fingerprintFromInstance.ts +4 -5
- package/src/content/BannerStepButton.tsx +2 -1
- package/src/content/RichContentRenderer.tsx +19 -13
- package/src/content/StepButton.tsx +2 -1
- package/src/content/openSafeUrl.ts +3 -1
- package/src/content/resolveContentFontFamily.ts +119 -0
- package/src/expo-router/useUserflowExpoRouter.ts +10 -1
- package/src/index.ts +22 -9
- package/src/navigation/navigateUrlUtils.ts +100 -0
- package/src/navigation/openExternalNavigateUrl.ts +9 -0
- package/src/navigation/openFlowNavigateUrl.ts +36 -36
- package/src/pairing/PairingController.ts +9 -1
- package/src/runtime/BannerHost.tsx +41 -23
- package/src/runtime/TargetPressBridge.tsx +66 -9
- package/src/runtime/UserflowOverlay.tsx +7 -9
- package/src/runtime/UserflowProvider.tsx +56 -32
- package/src/runtime/bannerEngine.ts +10 -2
- package/src/runtime/bannerFlowSpacer.tsx +70 -0
- package/src/runtime/flowEngine.ts +11 -0
- package/src/runtime/previewStart.ts +49 -0
- package/src/runtime/pushBannerLayoutContext.tsx +126 -0
- package/src/screenTracker.ts +11 -0
- package/src/surfaces/BannerBar.tsx +93 -55
- package/src/surfaces/BannerSurface.tsx +61 -9
- package/src/surfaces/ProgressBar.tsx +2 -1
- package/src/surfaces/TooltipSurface.tsx +78 -53
- package/src/surfaces/bannerBarLayout.ts +80 -7
- package/src/surfaces/bannerWebView/BannerWebViewBar.tsx +151 -57
- package/src/surfaces/bannerWebView/bannerNeedsWebView.ts +4 -36
- package/src/surfaces/bannerWebView/bannerThemeStyles.ts +2 -1
- package/src/surfaces/bannerWebView/bannerWebViewHeight.ts +32 -0
- package/src/surfaces/bannerWebView/buildCustomBannerHtml.ts +111 -23
- package/src/surfaces/hostAccessibilityTrap.ts +25 -0
- package/src/surfaces/resolveBannerTheme.ts +14 -3
- package/src/surfaces/tooltip/TooltipBubble.tsx +8 -1
- package/src/surfaces/tooltip/targetSearchSchedule.ts +140 -0
- package/src/version.ts +1 -1
- package/vendor/core/dist/engine/BannerSessionEngine.d.ts +29 -2
- package/vendor/core/dist/engine/BannerSessionEngine.d.ts.map +1 -1
- package/vendor/core/dist/engine/BannerSessionEngine.js +87 -6
- package/vendor/core/dist/engine/BannerSessionEngine.js.map +1 -1
- package/vendor/core/dist/engine/ClientConditionEngine.d.ts.map +1 -1
- package/vendor/core/dist/engine/ClientConditionEngine.js +30 -7
- package/vendor/core/dist/engine/ClientConditionEngine.js.map +1 -1
- package/vendor/core/dist/engine/PairingEngine.d.ts +6 -1
- package/vendor/core/dist/engine/PairingEngine.d.ts.map +1 -1
- package/vendor/core/dist/engine/PairingEngine.js +23 -3
- package/vendor/core/dist/engine/PairingEngine.js.map +1 -1
- package/vendor/core/dist/engine/handleActions.d.ts.map +1 -1
- package/vendor/core/dist/engine/handleActions.js +67 -2
- package/vendor/core/dist/engine/handleActions.js.map +1 -1
- package/vendor/core/dist/version.d.ts +1 -1
- package/vendor/core/dist/version.js +1 -1
- package/vendor/core/package.json +1 -1
- package/vendor/protocol/dist/flows.d.ts +2 -0
- package/vendor/protocol/dist/flows.d.ts.map +1 -1
- package/vendor/protocol/package.json +1 -1
|
@@ -3,6 +3,16 @@ import { BannerContentLayout } from '@userflow-tech/protocol';
|
|
|
3
3
|
import type { ViewStyle } from 'react-native';
|
|
4
4
|
import type { EdgeInsets } from './safeArea';
|
|
5
5
|
export { BANNER_CLOSE_SLOT_SIZE, BANNER_ROOT_PADDING } from './bannerBarTokens';
|
|
6
|
+
/** Fixed horizontal chrome inside the embed width (padding, close/spacer slots, inner margins). */
|
|
7
|
+
export declare function bannerHorizontalChromeWidth(): number;
|
|
8
|
+
/** Outer bar cap — max embed width only (max content width limits the inner row on web). */
|
|
9
|
+
export declare function resolveBannerFrameMaxWidth(banner: BannerFragment): number | null;
|
|
10
|
+
export declare function bannerHasMaxContentWidth(banner: BannerFragment): boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Cap for the native inner row and WebView HTML `.userflowjs-banner-inner` only.
|
|
13
|
+
* Returns null when max content width is unset. May be 0 when embed width is narrower than chrome.
|
|
14
|
+
*/
|
|
15
|
+
export declare function resolveBannerInnerMaxWidth(banner: BannerFragment): number | null;
|
|
6
16
|
/** Outer frame: max embed width and builder outer margin (web `userflowjs-banner-frame`). */
|
|
7
17
|
export declare function bannerFrameStyle(banner: BannerFragment): ViewStyle;
|
|
8
18
|
/** Corner radius on the painted bar when configured in the builder. */
|
|
@@ -11,5 +21,12 @@ export declare function resolveBannerBarBorderRadius(banner: BannerFragment): nu
|
|
|
11
21
|
export declare function bannerOverlayHostPadding(insets: EdgeInsets): ViewStyle;
|
|
12
22
|
/** Flex justification for the inner row (web content-layout modifiers). */
|
|
13
23
|
export declare function bannerInnerJustifyContent(layout: BannerContentLayout): ViewStyle['justifyContent'];
|
|
24
|
+
/**
|
|
25
|
+
* Push-layout chrome: safe-area pad + bar background on the same node as the
|
|
26
|
+
* fade so an animated banner does not leave a visible status-bar strip at opacity 0.
|
|
27
|
+
*/
|
|
28
|
+
export declare function bannerPushLayoutChrome(edge: 'top' | 'bottom', insets: EdgeInsets, backgroundColor: string): ViewStyle;
|
|
29
|
+
/** Painted bar (`userflow-banner`) — fill the frame so max embed width clips chrome, not just margins. */
|
|
30
|
+
export declare function bannerBarRootStyle(banner: BannerFragment): ViewStyle;
|
|
14
31
|
export declare function bannerInnerStyle(banner: BannerFragment): ViewStyle;
|
|
15
32
|
//# sourceMappingURL=bannerBarLayout.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bannerBarLayout.d.ts","sourceRoot":"","sources":["../../../../../src/surfaces/bannerBarLayout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"bannerBarLayout.d.ts","sourceRoot":"","sources":["../../../../../src/surfaces/bannerBarLayout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAU9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAMhF,mGAAmG;AACnG,wBAAgB,2BAA2B,IAAI,MAAM,CAEpD;AAED,4FAA4F;AAC5F,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,GAAG,IAAI,CAEhF;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAExE;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,GAAG,IAAI,CAUhF;AAED,6FAA6F;AAC7F,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,SAAS,CAkBlE;AAED,uEAAuE;AACvE,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,CAEvF;AAED,2FAA2F;AAC3F,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,CAGtE;AAED,2EAA2E;AAC3E,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,mBAAmB,GAC1B,SAAS,CAAC,gBAAgB,CAAC,CAU7B;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,KAAK,GAAG,QAAQ,EACtB,MAAM,EAAE,UAAU,EAClB,eAAe,EAAE,MAAM,GACtB,SAAS,CAMX;AAKD,0GAA0G;AAC1G,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,cAAc,GAAG,SAAS,CAQpE;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,SAAS,CAmBlE"}
|
|
@@ -3,8 +3,10 @@ import { EndFlowReasonInput, type BannerSessionFragment } from '@userflow-tech/p
|
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
export interface BannerWebViewBarProps {
|
|
5
5
|
session: BannerSessionFragment;
|
|
6
|
+
pushLayoutEdge?: 'top' | 'bottom' | null;
|
|
7
|
+
overlaySafeEdge?: 'top' | 'bottom' | null;
|
|
6
8
|
onActions: (actions: FlowActionFragment[]) => void | Promise<void>;
|
|
7
9
|
onDismiss: (endReason: EndFlowReasonInput) => void;
|
|
8
10
|
}
|
|
9
|
-
export declare function BannerWebViewBar({ session, onActions, onDismiss, }: BannerWebViewBarProps): React.ReactElement | null;
|
|
11
|
+
export declare function BannerWebViewBar({ session, pushLayoutEdge, overlaySafeEdge, onActions, onDismiss, }: BannerWebViewBarProps): React.ReactElement | null;
|
|
10
12
|
//# sourceMappingURL=BannerWebViewBar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BannerWebViewBar.d.ts","sourceRoot":"","sources":["../../../../../../src/surfaces/bannerWebView/BannerWebViewBar.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAEL,kBAAkB,EAClB,KAAK,qBAAqB,EAC3B,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"BannerWebViewBar.d.ts","sourceRoot":"","sources":["../../../../../../src/surfaces/bannerWebView/BannerWebViewBar.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAEL,kBAAkB,EAClB,KAAK,qBAAqB,EAC3B,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAmC/B,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,qBAAqB,CAAC;IAC/B,cAAc,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,IAAI,CAAC;IACzC,eAAe,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,IAAI,CAAC;IAC1C,SAAS,EAAE,CAAC,OAAO,EAAE,kBAAkB,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,SAAS,EAAE,CAAC,SAAS,EAAE,kBAAkB,KAAK,IAAI,CAAC;CACpD;AAyBD,wBAAgB,gBAAgB,CAAC,EAC/B,OAAO,EACP,cAAqB,EACrB,eAAsB,EACtB,SAAS,EACT,SAAS,GACV,EAAE,qBAAqB,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,CAsUnD"}
|
|
@@ -1,13 +1,4 @@
|
|
|
1
|
-
import type { BannerFragment
|
|
2
|
-
/**
|
|
3
|
-
export declare function
|
|
4
|
-
/** @internal */
|
|
5
|
-
export declare function resetDebugForceWebViewBannerForTests(): void;
|
|
6
|
-
/**
|
|
7
|
-
* Use the WebView banner renderer when any button runs Evaluate JavaScript
|
|
8
|
-
* (needs the shared eval page), when the theme has published custom CSS
|
|
9
|
-
* (`.userflow-custom-container-*` / `.userflow-custom-button-*` via CDN),
|
|
10
|
-
* or when {@link setDebugForceWebViewBanner} is true.
|
|
11
|
-
*/
|
|
12
|
-
export declare function bannerNeedsWebView(banner: BannerFragment, theme?: ThemeFragment | null): boolean;
|
|
1
|
+
import type { BannerFragment } from '@userflow-tech/protocol';
|
|
2
|
+
/** Use the WebView banner renderer when the builder enabled custom banners. */
|
|
3
|
+
export declare function bannerNeedsWebView(banner: BannerFragment): boolean;
|
|
13
4
|
//# sourceMappingURL=bannerNeedsWebView.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bannerNeedsWebView.d.ts","sourceRoot":"","sources":["../../../../../../src/surfaces/bannerWebView/bannerNeedsWebView.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"bannerNeedsWebView.d.ts","sourceRoot":"","sources":["../../../../../../src/surfaces/bannerWebView/bannerNeedsWebView.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,+EAA+E;AAC/E,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAElE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bannerThemeStyles.d.ts","sourceRoot":"","sources":["../../../../../../src/surfaces/bannerWebView/bannerThemeStyles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"bannerThemeStyles.d.ts","sourceRoot":"","sources":["../../../../../../src/surfaces/bannerWebView/bannerThemeStyles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AA0C7D,4FAA4F;AAC5F,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAyCpF;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAKtE"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Height the native WebView should use for a custom banner.
|
|
3
|
+
*
|
|
4
|
+
* Custom CSS often sizes the card with `min-height` and takes the copy and
|
|
5
|
+
* buttons out of flow (`position: absolute`). The WebView is created shorter
|
|
6
|
+
* than that card, so a root that only looks as tall as the viewport because of
|
|
7
|
+
* `min-height` must not be replaced with the close button's box.
|
|
8
|
+
*
|
|
9
|
+
* When the root really is stretching to fill a taller viewport (`height: 100%`),
|
|
10
|
+
* fall back to in-flow content, and never below `min-height`.
|
|
11
|
+
*/
|
|
12
|
+
export declare function resolveBannerWebViewHeight(rectHeight: number, scrollHeight: number, viewportHeight: number, minHeight: number, contentHeight: number): number;
|
|
13
|
+
//# sourceMappingURL=bannerWebViewHeight.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bannerWebViewHeight.d.ts","sourceRoot":"","sources":["../../../../../../src/surfaces/bannerWebView/bannerWebViewHeight.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,GACpB,MAAM,CAcR"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildCustomBannerHtml.d.ts","sourceRoot":"","sources":["../../../../../../src/surfaces/bannerWebView/buildCustomBannerHtml.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAkB,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"buildCustomBannerHtml.d.ts","sourceRoot":"","sources":["../../../../../../src/surfaces/bannerWebView/buildCustomBannerHtml.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAkB,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAQrF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAsLxD,MAAM,WAAW,4BAA4B;IAC3C,+FAA+F;IAC/F,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,qBAAqB,EAC9B,eAAe,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,EAC/C,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,4BAA4B,GACrC,MAAM,CAiDR;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,qBAAqB,EAC9B,eAAe,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,EAC/C,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,4BAA4B,GACrC,MAAM,CAGR"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { FlowStepFragment } from '@userflow-tech/protocol';
|
|
2
|
+
/**
|
|
3
|
+
* Whether a step hides host app content from the accessibility tree.
|
|
4
|
+
*
|
|
5
|
+
* Modals always do. A tooltip does only when `tooltipTargetBlocked` seals its
|
|
6
|
+
* target too — otherwise the target is the control the step asks the user to
|
|
7
|
+
* press, so a screen reader has to be able to reach it.
|
|
8
|
+
*
|
|
9
|
+
* `UserflowOverlay` traps the host with this, and tooltip cards gate
|
|
10
|
+
* `accessibilityViewIsModal` on it: on iOS that flag alone drops the host app,
|
|
11
|
+
* target included, out of VoiceOver's reach.
|
|
12
|
+
*/
|
|
13
|
+
export declare function stepTrapsHostAccessibility(step: Pick<FlowStepFragment, 'appearance' | 'tooltipTargetBlocked'>): boolean;
|
|
14
|
+
//# sourceMappingURL=hostAccessibilityTrap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hostAccessibilityTrap.d.ts","sourceRoot":"","sources":["../../../../../src/surfaces/hostAccessibilityTrap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE;;;;;;;;;;GAUG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,IAAI,CAAC,gBAAgB,EAAE,YAAY,GAAG,sBAAsB,CAAC,GAClE,OAAO,CAST"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import type { ThemeFragment } from '@userflow-tech/protocol';
|
|
2
|
-
/**
|
|
2
|
+
/**
|
|
3
|
+
* Last-resort banner chrome when neither banner nor brand tokens are set on the
|
|
4
|
+
* wire (web `applyThemeDefaults` falls back to brand first).
|
|
5
|
+
*/
|
|
3
6
|
export declare const DEFAULT_BANNER_BACKGROUND_COLOR = "#0A1A24";
|
|
4
7
|
export declare const DEFAULT_BANNER_FOREGROUND_COLOR = "#FFFFFF";
|
|
5
8
|
export declare function resolveBannerBackgroundColor(theme: ThemeFragment): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveBannerTheme.d.ts","sourceRoot":"","sources":["../../../../../src/surfaces/resolveBannerTheme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D
|
|
1
|
+
{"version":3,"file":"resolveBannerTheme.d.ts","sourceRoot":"","sources":["../../../../../src/surfaces/resolveBannerTheme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D;;;GAGG;AACH,eAAO,MAAM,+BAA+B,YAAY,CAAC;AACzD,eAAO,MAAM,+BAA+B,YAAY,CAAC;AAOzD,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAMzE;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAMzE"}
|
|
@@ -15,6 +15,12 @@ export interface TooltipBubbleProps {
|
|
|
15
15
|
* target. Defaults to true so isolated chrome tests keep the diamond.
|
|
16
16
|
*/
|
|
17
17
|
showNotch?: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* iOS: confine VoiceOver to this card. VoiceOver then skips the host app,
|
|
20
|
+
* including the target, so set it only while the host is hidden from
|
|
21
|
+
* accessibility anyway. Defaults to false.
|
|
22
|
+
*/
|
|
23
|
+
accessibilityViewIsModal?: boolean;
|
|
18
24
|
}
|
|
19
25
|
/**
|
|
20
26
|
* Tooltip chrome shell: diamond notch + card fill sharing one shadow family.
|
|
@@ -34,5 +40,5 @@ export interface TooltipBubbleProps {
|
|
|
34
40
|
* iOS gets `shadow*` on the notch (`elevation` is inert there); Android gets
|
|
35
41
|
* `elevation`, which is the only shadow it honors on a rotated view.
|
|
36
42
|
*/
|
|
37
|
-
export declare function TooltipBubble({ chrome, notchPosition, style, onLayout, children, maxHeight, showNotch: showNotchProp, }: TooltipBubbleProps): React.ReactElement;
|
|
43
|
+
export declare function TooltipBubble({ chrome, notchPosition, style, onLayout, children, maxHeight, showNotch: showNotchProp, accessibilityViewIsModal, }: TooltipBubbleProps): React.ReactElement;
|
|
38
44
|
//# sourceMappingURL=TooltipBubble.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TooltipBubble.d.ts","sourceRoot":"","sources":["../../../../../../src/surfaces/tooltip/TooltipBubble.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAIL,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAItB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,YAAY,CAAC;IACrB,aAAa,EAAE,aAAa,CAAC;IAC7B,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC9C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,4FAA4F;IAC5F,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"TooltipBubble.d.ts","sourceRoot":"","sources":["../../../../../../src/surfaces/tooltip/TooltipBubble.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAIL,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAItB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,YAAY,CAAC;IACrB,aAAa,EAAE,aAAa,CAAC;IAC7B,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC9C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,4FAA4F;IAC5F,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,aAAa,EACb,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,SAAS,EAAE,aAAoB,EAC/B,wBAAgC,GACjC,EAAE,kBAAkB,GAAG,KAAK,CAAC,YAAY,CAgIzC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* When TooltipSurface looks for its target.
|
|
3
|
+
*
|
|
4
|
+
* - Anchored: a steady poll, so a covered or remounted host is noticed quickly.
|
|
5
|
+
* Each search is a cache hit for the resolved host.
|
|
6
|
+
* - Missing: exponential backoff. A miss walks the tree and scores registered
|
|
7
|
+
* hosts, so a target on another screen must not cost a full search every
|
|
8
|
+
* second for as long as the flow stays open.
|
|
9
|
+
* - Registry churn (list rows mounting while the user scrolls) pulls the next
|
|
10
|
+
* missing search forward, never closer than {@link MISSING_TRIGGER_GAP_MS}
|
|
11
|
+
* to the previous one.
|
|
12
|
+
* - A screen change or a return to the foreground starts the backoff over.
|
|
13
|
+
* - Nothing runs while paused (app not active).
|
|
14
|
+
*/
|
|
15
|
+
/** Poll while the target is anchored. */
|
|
16
|
+
export declare const ANCHORED_POLL_MS = 250;
|
|
17
|
+
/** First retry after a miss; doubles per consecutive miss. */
|
|
18
|
+
export declare const MISSING_BACKOFF_BASE_MS = 250;
|
|
19
|
+
/** Ceiling for the missing-target backoff. */
|
|
20
|
+
export declare const MISSING_BACKOFF_MAX_MS = 4000;
|
|
21
|
+
/** Closest a registry change can pull a missing search to the previous one. */
|
|
22
|
+
export declare const MISSING_TRIGGER_GAP_MS = 500;
|
|
23
|
+
export type TargetSearchMode = 'anchored' | 'missing';
|
|
24
|
+
export interface TargetSearchClock {
|
|
25
|
+
now(): number;
|
|
26
|
+
setTimeout(handler: () => void, ms: number): ReturnType<typeof setTimeout>;
|
|
27
|
+
clearTimeout(handle: ReturnType<typeof setTimeout>): void;
|
|
28
|
+
}
|
|
29
|
+
/** Delay before the next search after `misses` consecutive missing searches. */
|
|
30
|
+
export declare function missingBackoffDelay(misses: number): number;
|
|
31
|
+
export declare class TargetSearchSchedule {
|
|
32
|
+
private readonly search;
|
|
33
|
+
private readonly clock;
|
|
34
|
+
private mode;
|
|
35
|
+
/** Searches run since the target was last anchored (or the backoff restarted). */
|
|
36
|
+
private misses;
|
|
37
|
+
private lastRunAt;
|
|
38
|
+
private handle;
|
|
39
|
+
private dueAt;
|
|
40
|
+
private paused;
|
|
41
|
+
private disposed;
|
|
42
|
+
constructor(search: () => void, clock?: TargetSearchClock);
|
|
43
|
+
/** Search now and schedule the next one. No-op while paused. */
|
|
44
|
+
runNow(): void;
|
|
45
|
+
/** The target was found or lost. Starts the matching cadence from now. */
|
|
46
|
+
setMode(mode: TargetSearchMode): void;
|
|
47
|
+
/** Something the target may depend on changed (a registry mount / unmount). */
|
|
48
|
+
trigger(): void;
|
|
49
|
+
/** Restart the backoff and search now (screen change, foreground). */
|
|
50
|
+
rearm(): void;
|
|
51
|
+
/** Stop searching until {@link resume}. */
|
|
52
|
+
pause(): void;
|
|
53
|
+
/** Leave the paused state and search right away. */
|
|
54
|
+
resume(): void;
|
|
55
|
+
dispose(): void;
|
|
56
|
+
private nextDelay;
|
|
57
|
+
private scheduleIn;
|
|
58
|
+
private cancel;
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=targetSearchSchedule.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"targetSearchSchedule.d.ts","sourceRoot":"","sources":["../../../../../../src/surfaces/tooltip/targetSearchSchedule.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,yCAAyC;AACzC,eAAO,MAAM,gBAAgB,MAAM,CAAC;AACpC,8DAA8D;AAC9D,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAC3C,8CAA8C;AAC9C,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAC3C,+EAA+E;AAC/E,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAE1C,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,SAAS,CAAC;AAEtD,MAAM,WAAW,iBAAiB;IAChC,GAAG,IAAI,MAAM,CAAC;IACd,UAAU,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE,EAAE,EAAE,MAAM,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;IAC3E,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG,IAAI,CAAC;CAC3D;AAQD,gFAAgF;AAChF,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAG1D;AAED,qBAAa,oBAAoB;IAW7B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAXxB,OAAO,CAAC,IAAI,CAA+B;IAC3C,kFAAkF;IAClF,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,MAAM,CAA8C;IAC5D,OAAO,CAAC,KAAK,CAA4B;IACzC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAS;gBAGN,MAAM,EAAE,MAAM,IAAI,EAClB,KAAK,GAAE,iBAAgC;IAG1D,gEAAgE;IAChE,MAAM,IAAI,IAAI;IAcd,0EAA0E;IAC1E,OAAO,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI;IAQrC,+EAA+E;IAC/E,OAAO,IAAI,IAAI;IAQf,sEAAsE;IACtE,KAAK,IAAI,IAAI;IAMb,2CAA2C;IAC3C,KAAK,IAAI,IAAI;IAMb,oDAAoD;IACpD,MAAM,IAAI,IAAI;IAMd,OAAO,IAAI,IAAI;IAKf,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,UAAU;IAUlB,OAAO,CAAC,MAAM;CAOf"}
|
|
@@ -83,6 +83,22 @@ export declare class AutoAnchorRegistry {
|
|
|
83
83
|
private readonly liveContent;
|
|
84
84
|
private readonly listeners;
|
|
85
85
|
private notifyScheduled;
|
|
86
|
+
/** Settled {@link AutoAnchorInstance.ambiguous} verdicts by instance id. */
|
|
87
|
+
private readonly ambiguity;
|
|
88
|
+
/**
|
|
89
|
+
* Groups whose verdicts are out of date: `r:` registry key, `t:` template
|
|
90
|
+
* path, `m:` manual id. Mounting a list or reading changed row labels marks
|
|
91
|
+
* a group once; it is settled once, on the next read of a verdict, instead
|
|
92
|
+
* of being recomputed for every member that changed.
|
|
93
|
+
*/
|
|
94
|
+
private readonly staleGroups;
|
|
95
|
+
/**
|
|
96
|
+
* Set instead of {@link staleGroups} once that outgrows the registry: with
|
|
97
|
+
* no flow or element condition reading verdicts, marks from list mounts
|
|
98
|
+
* would otherwise pile up for the whole session.
|
|
99
|
+
*/
|
|
100
|
+
private allStale;
|
|
101
|
+
private settling;
|
|
86
102
|
registerInstance(input: RegisterInstanceInput): {
|
|
87
103
|
instanceId: string;
|
|
88
104
|
dispose: () => void;
|
|
@@ -104,7 +120,9 @@ export declare class AutoAnchorRegistry {
|
|
|
104
120
|
*
|
|
105
121
|
* Direct fiber pointers are preferred; the scan-root index is built lazily
|
|
106
122
|
* and only if some instance cannot reach its fiber that way (Paper release
|
|
107
|
-
* builds, mainly), then reused for the rest of the pass.
|
|
123
|
+
* builds, mainly), then reused for the rest of the pass. Finding which fiber
|
|
124
|
+
* of each pair is committed walks to the root; the pass shares one walk per
|
|
125
|
+
* ancestor across every instance.
|
|
108
126
|
*
|
|
109
127
|
* Silent — does not notify listeners.
|
|
110
128
|
*/
|
|
@@ -136,14 +154,30 @@ export declare class AutoAnchorRegistry {
|
|
|
136
154
|
* peer shares.
|
|
137
155
|
*/
|
|
138
156
|
private isTwinWithin;
|
|
157
|
+
/**
|
|
158
|
+
* Back {@link AutoAnchorInstance.ambiguous} with a verdict that is settled on
|
|
159
|
+
* read, so callers holding an instance always see the current value.
|
|
160
|
+
*/
|
|
161
|
+
private defineAmbiguity;
|
|
162
|
+
/** Every group `inst` belongs to, plus ids it was indexed under before a change. */
|
|
163
|
+
private markStale;
|
|
164
|
+
private groupIds;
|
|
139
165
|
/**
|
|
140
166
|
* Instances sharing a template path are only twins while they look alike.
|
|
141
167
|
* Four rows from one `field()` helper are indistinguishable at register time
|
|
142
168
|
* and separate once their labels are read, so ambiguity is decided on
|
|
143
169
|
* content, not on the shared path alone. An instance stays ambiguous when it
|
|
144
170
|
* carries no content of its own, or when a peer carries the same content.
|
|
171
|
+
* An instance with a manual id is ambiguous only when another shares the id.
|
|
172
|
+
*
|
|
173
|
+
* Each stale group is settled once, in time linear in its size: recomputing
|
|
174
|
+
* a whole group for every member that changed made a list whose labels all
|
|
175
|
+
* changed cost the cube of its length.
|
|
145
176
|
*/
|
|
146
|
-
private
|
|
177
|
+
private settleAmbiguity;
|
|
178
|
+
private computeAmbiguous;
|
|
179
|
+
/** {@link isTwinWithin} against a whole registry group, with the group's evidence memoized. */
|
|
180
|
+
private isTwinInGroup;
|
|
147
181
|
private addIndex;
|
|
148
182
|
private removeIndex;
|
|
149
183
|
private idsToInstances;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutoAnchorRegistry.d.ts","sourceRoot":"","sources":["../../../../../src/anchors/AutoAnchorRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAChG,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"AutoAnchorRegistry.d.ts","sourceRoot":"","sources":["../../../../../src/anchors/AutoAnchorRegistry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"animationFrame.d.ts","sourceRoot":"","sources":["../../../../../src/anchors/animationFrame.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"animationFrame.d.ts","sourceRoot":"","sources":["../../../../../src/anchors/animationFrame.ts"],"names":[],"mappings":"AAWA,KAAK,QAAQ,GAAG,MAAM,IAAI,CAAC;AAQ3B;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAQlE;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CASrE;AAED,uEAAuE;AACvE,wBAAgB,2BAA2B,IAAI,IAAI,CAKlD;AAED,kDAAkD;AAClD,wBAAgB,6BAA6B,IAAI,MAAM,CAEtD"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** Whether the app is in the foreground right now. */
|
|
2
|
+
export declare function isAppActive(): boolean;
|
|
3
|
+
/**
|
|
4
|
+
* `listener(active)` runs when the app moves between foreground and anything
|
|
5
|
+
* else. Repeated reports of the same side are dropped. Returns an unsubscribe.
|
|
6
|
+
*/
|
|
7
|
+
export declare function subscribeAppActive(listener: (active: boolean) => void): () => void;
|
|
8
|
+
//# sourceMappingURL=appActive.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"appActive.d.ts","sourceRoot":"","sources":["../../../../../src/anchors/appActive.ts"],"names":[],"mappings":"AA4BA,sDAAsD;AACtD,wBAAgB,WAAW,IAAI,OAAO,CAMrC;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI,CAqBlF"}
|
|
@@ -6,6 +6,9 @@
|
|
|
6
6
|
* tooltip target-press monitor uses. The host fiber is the one captured at
|
|
7
7
|
* touch start, before the press's setState commits a new tree.
|
|
8
8
|
*
|
|
9
|
+
* A touch that gesture-handler cancels is handed off instead of dropped: the
|
|
10
|
+
* same fiber is emitted if that handler later ends as a tap.
|
|
11
|
+
*
|
|
9
12
|
* With no subscribers the monitor stores nothing, so the bridge can skip the
|
|
10
13
|
* fiber lookup entirely.
|
|
11
14
|
*/
|
|
@@ -18,18 +21,32 @@ export type ElementTapListener = (tap: ElementTap) => void;
|
|
|
18
21
|
export declare class ElementTapMonitor {
|
|
19
22
|
private readonly listeners;
|
|
20
23
|
private readonly touchStarts;
|
|
24
|
+
private readonly handoffStops;
|
|
21
25
|
get subscriberCount(): number;
|
|
22
26
|
subscribe(listener: ElementTapListener): () => void;
|
|
27
|
+
/** Fingers with a recorded start that have not ended, cancelled, or been handed off. */
|
|
28
|
+
inProgressIdentifiers(): TouchIdentifier[];
|
|
29
|
+
hasTouch(identifier: TouchIdentifier): boolean;
|
|
30
|
+
/** Fiber captured at touch start, or null when this finger is not in progress. */
|
|
31
|
+
startFiber(identifier: TouchIdentifier): AnyFiber | null;
|
|
23
32
|
handleTouchStart(identifier: TouchIdentifier, pageX: number, pageY: number, targetFiber: AnyFiber | null): void;
|
|
24
33
|
/**
|
|
25
34
|
* Emit a tap when this finger started and ended within slop on a resolved
|
|
26
35
|
* host. Never claims the responder.
|
|
27
36
|
*/
|
|
28
37
|
handleTouchEnd(identifier: TouchIdentifier, pageX: number, pageY: number): void;
|
|
38
|
+
/**
|
|
39
|
+
* Gesture-handler cancelled this finger. Forget the RN touch and emit the
|
|
40
|
+
* start fiber if that handler later ends as a tap. A start with no fiber
|
|
41
|
+
* cannot latch, so it is dropped.
|
|
42
|
+
*/
|
|
43
|
+
handOffTouch(identifier: TouchIdentifier, handlerTags: readonly number[]): void;
|
|
29
44
|
/** Drop in-progress gesture(s). Omit `identifier` to clear every finger. */
|
|
30
45
|
cancelTouch(identifier?: TouchIdentifier): void;
|
|
31
46
|
/** Test helper. */
|
|
32
47
|
resetForTests(): void;
|
|
48
|
+
private emit;
|
|
49
|
+
private dropHandoffs;
|
|
33
50
|
}
|
|
34
51
|
/** Shared singleton used by TargetPressBridge and the element-condition evaluator. */
|
|
35
52
|
export declare const elementTapMonitor: ElementTapMonitor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"elementTapMonitor.d.ts","sourceRoot":"","sources":["../../../../../src/anchors/elementTapMonitor.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"elementTapMonitor.d.ts","sourceRoot":"","sources":["../../../../../src/anchors/elementTapMonitor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAEvD,OAAO,EAAE,KAAK,eAAe,EAAkC,MAAM,sBAAsB,CAAC;AAE5F,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,QAAQ,CAAC;CACvB;AAED,MAAM,MAAM,kBAAkB,GAAG,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,CAAC;AAM3D,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiC;IAC3D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA0C;IACtE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA0C;IAEvE,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED,SAAS,CAAC,QAAQ,EAAE,kBAAkB,GAAG,MAAM,IAAI;IAWnD,wFAAwF;IACxF,qBAAqB,IAAI,eAAe,EAAE;IAI1C,QAAQ,CAAC,UAAU,EAAE,eAAe,GAAG,OAAO;IAI9C,kFAAkF;IAClF,UAAU,CAAC,UAAU,EAAE,eAAe,GAAG,QAAQ,GAAG,IAAI;IAIxD,gBAAgB,CACd,UAAU,EAAE,eAAe,EAC3B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,QAAQ,GAAG,IAAI,GAC3B,IAAI;IAQP;;;OAGG;IACH,cAAc,CAAC,UAAU,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAS/E;;;;OAIG;IACH,YAAY,CAAC,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI;IAoB/E,4EAA4E;IAC5E,WAAW,CAAC,UAAU,CAAC,EAAE,eAAe,GAAG,IAAI;IAU/C,mBAAmB;IACnB,aAAa,IAAI,IAAI;IAMrB,OAAO,CAAC,IAAI;IAcZ,OAAO,CAAC,YAAY;CAIrB;AAED,sFAAsF;AACtF,eAAO,MAAM,iBAAiB,mBAA0B,CAAC"}
|
|
@@ -9,6 +9,13 @@ import { type AnyFiber } from './fiber/fiberInternals';
|
|
|
9
9
|
* shared by every click condition it is delivered to.
|
|
10
10
|
*/
|
|
11
11
|
export declare function anchorIdsAboveTap(tap: ElementTap): ReadonlySet<string>;
|
|
12
|
+
/**
|
|
13
|
+
* The fiber on `start` (or an ancestor) that carries `anchorId`.
|
|
14
|
+
*
|
|
15
|
+
* The touch-start fiber is kept after the press navigates away, so a click can
|
|
16
|
+
* still match when a live scan of the new screen no longer finds the id.
|
|
17
|
+
*/
|
|
18
|
+
export declare function fiberBearingAnchorId(start: AnyFiber, anchorId: string): AnyFiber | null;
|
|
12
19
|
export declare function sameFiber(a: AnyFiber, b: AnyFiber): boolean;
|
|
13
20
|
/** True when `node` is `host` or a descendant of it. */
|
|
14
21
|
export declare function fiberIsUnder(node: AnyFiber, host: AnyFiber): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"elementTargetMatch.d.ts","sourceRoot":"","sources":["../../../../../src/anchors/elementTargetMatch.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EACL,KAAK,QAAQ,EAMd,MAAM,wBAAwB,CAAC;AAKhC;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"elementTargetMatch.d.ts","sourceRoot":"","sources":["../../../../../src/anchors/elementTargetMatch.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EACL,KAAK,QAAQ,EAMd,MAAM,wBAAwB,CAAC;AAKhC;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,CAYtE;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAOvF;AAoBD,wBAAgB,SAAS,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAM3D;AAED,wDAAwD;AACxD,wBAAgB,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAOpE;AAoBD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAQzE"}
|
|
@@ -11,6 +11,11 @@ declare class FiberScanRootStore {
|
|
|
11
11
|
clear(): void;
|
|
12
12
|
/** Current (resolved) fiber under the scan root, or null when unmounted. */
|
|
13
13
|
getFiber(): AnyFiber | null;
|
|
14
|
+
/**
|
|
15
|
+
* Mounted scan-root instance. Font detection caches against this identity
|
|
16
|
+
* so a remount scans again and an update of the same root does not.
|
|
17
|
+
*/
|
|
18
|
+
getInstance(): unknown;
|
|
14
19
|
subscribe(listener: Listener): () => void;
|
|
15
20
|
/** Test helper. */
|
|
16
21
|
resetForTests(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FiberScanRootStore.d.ts","sourceRoot":"","sources":["../../../../../../src/anchors/fiber/FiberScanRootStore.ts"],"names":[],"mappings":"AAAA,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"}
|
|
1
|
+
{"version":3,"file":"FiberScanRootStore.d.ts","sourceRoot":"","sources":["../../../../../../src/anchors/fiber/FiberScanRootStore.ts"],"names":[],"mappings":"AAAA,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;;;OAGG;IACH,WAAW,IAAI,OAAO;IAItB,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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/** Drop the cached app font. Called from `Userflow.reset()`. */
|
|
2
|
+
export declare function resetDetectedAppFont(): void;
|
|
3
|
+
/**
|
|
4
|
+
* Family to apply, or null when the app font is the platform face or could
|
|
5
|
+
* not be read. Never throws.
|
|
6
|
+
*/
|
|
7
|
+
export declare function detectAppFontFamily(): string | null;
|
|
8
|
+
/**
|
|
9
|
+
* A single React Native family name. CSS stacks and generic keywords are not
|
|
10
|
+
* usable as a host `fontFamily` — RN treats the whole string as one face.
|
|
11
|
+
* Theme stacks are parsed by {@link themeConcreteFontFamily}.
|
|
12
|
+
*/
|
|
13
|
+
export declare function concreteFontFamily(value: unknown): string | undefined;
|
|
14
|
+
/**
|
|
15
|
+
* Family a theme author chose. A single concrete name is kept. A comma-separated
|
|
16
|
+
* list keeps the first family that is not a generic or a default-stack face,
|
|
17
|
+
* so `"Source Sans Pro", sans-serif` stays Source Sans Pro and the system
|
|
18
|
+
* stack still resolves to undefined.
|
|
19
|
+
*/
|
|
20
|
+
export declare function themeConcreteFontFamily(value: unknown): string | undefined;
|
|
21
|
+
/**
|
|
22
|
+
* Split a CSS `font-family` list. A quote that opens a family is wrapping and
|
|
23
|
+
* is removed; a quote inside a name stays, so `Foo"Bar` is one family.
|
|
24
|
+
* Commas inside wrapping quotes are not separators.
|
|
25
|
+
*/
|
|
26
|
+
export declare function splitCssFamilies(value: string): string[];
|
|
27
|
+
/** Generic keywords and vendor-prefixed faces stay unquoted in CSS. */
|
|
28
|
+
export declare function isBareCssFamily(name: string): boolean;
|
|
29
|
+
export declare function isIconFontFamily(name: string): boolean;
|
|
30
|
+
//# sourceMappingURL=detectAppFontFamily.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detectAppFontFamily.d.ts","sourceRoot":"","sources":["../../../../../../src/anchors/fiber/detectAppFontFamily.ts"],"names":[],"mappings":"AAmFA,gEAAgE;AAChE,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,GAAG,IAAI,CAqBnD;AAkBD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAMrE;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAW1E;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAyBxD;AAED,uEAAuE;AACvE,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAErD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAUtD"}
|
|
@@ -81,6 +81,13 @@ export declare function fiberFromPublicInstance(instance: unknown): AnyFiber | n
|
|
|
81
81
|
* Returns the input fiber when the root cannot be resolved (best-effort).
|
|
82
82
|
*/
|
|
83
83
|
export declare function resolveCurrentFiber(fiber: AnyFiber): AnyFiber;
|
|
84
|
+
/**
|
|
85
|
+
* {@link resolveCurrentFiber} for many fibers in one synchronous pass. Where
|
|
86
|
+
* each ancestor sits is remembered, so the pass walks every ancestor once
|
|
87
|
+
* instead of once per fiber below it. Discard it when the pass ends: a render
|
|
88
|
+
* moves `return` pointers.
|
|
89
|
+
*/
|
|
90
|
+
export declare function createCurrentFiberResolver(): (fiber: AnyFiber) => AnyFiber;
|
|
84
91
|
/**
|
|
85
92
|
* True when a previously-resolved fiber is still attached to a live tree
|
|
86
93
|
* (has a return path, or is itself a HostRoot).
|
|
@@ -1 +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;AAkCD;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAY9D;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,IAAI,CAkB7D;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAgBpE;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAE1E;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,CAuB1E;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAWrF;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;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,GAAG,IAAI,CAe1E;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ,CAuB7D;AAWD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CASvD"}
|
|
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;AAkCD;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAY9D;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,IAAI,CAkB7D;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAgBpE;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAE1E;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,CAuB1E;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAWrF;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;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,GAAG,IAAI,CAe1E;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ,CAuB7D;AAQD;;;;;GAKG;AACH,wBAAgB,0BAA0B,IAAI,CAAC,KAAK,EAAE,QAAQ,KAAK,QAAQ,CAsD1E;AAWD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CASvD"}
|
|
@@ -36,7 +36,8 @@ export type HostFiberIndexSource = HostFiberIndex | (() => HostFiberIndex);
|
|
|
36
36
|
export declare function createLazyHostFiberIndex(build?: () => HostFiberIndex): () => HostFiberIndex;
|
|
37
37
|
/**
|
|
38
38
|
* Fiber for a public instance: direct pointer first, then the scan-root index
|
|
39
|
-
* by identity / native tag.
|
|
39
|
+
* by identity / native tag. Pass a `createCurrentFiberResolver()` resolver when
|
|
40
|
+
* looking up many instances in one pass.
|
|
40
41
|
*/
|
|
41
|
-
export declare function lookupHostFiber(index: HostFiberIndexSource, instance: unknown): AnyFiber | null;
|
|
42
|
+
export declare function lookupHostFiber(index: HostFiberIndexSource, instance: unknown, resolveCurrent?: (fiber: AnyFiber) => AnyFiber): AnyFiber | null;
|
|
42
43
|
//# sourceMappingURL=indexHostFibers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indexHostFibers.d.ts","sourceRoot":"","sources":["../../../../../../src/anchors/fiber/indexHostFibers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EACL,KAAK,QAAQ,EASd,MAAM,kBAAkB,CAAC;AAK1B,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACnC,UAAU,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CACvC;AAED,wBAAgB,mBAAmB,IAAI,cAAc,CAEpD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,GAAG,cAAc,CAmCtF;AAED,wBAAgB,mBAAmB,IAAI,cAAc,CAEpD;AAED,yDAAyD;AACzD,MAAM,MAAM,oBAAoB,GAAG,cAAc,GAAG,CAAC,MAAM,cAAc,CAAC,CAAC;AAE3E;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,GAAE,MAAM,cAAoC,GAChD,MAAM,cAAc,CAYtB;AAED
|
|
1
|
+
{"version":3,"file":"indexHostFibers.d.ts","sourceRoot":"","sources":["../../../../../../src/anchors/fiber/indexHostFibers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EACL,KAAK,QAAQ,EASd,MAAM,kBAAkB,CAAC;AAK1B,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACnC,UAAU,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CACvC;AAED,wBAAgB,mBAAmB,IAAI,cAAc,CAEpD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,GAAG,cAAc,CAmCtF;AAED,wBAAgB,mBAAmB,IAAI,cAAc,CAEpD;AAED,yDAAyD;AACzD,MAAM,MAAM,oBAAoB,GAAG,cAAc,GAAG,CAAC,MAAM,cAAc,CAAC,CAAC;AAE3E;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,GAAE,MAAM,cAAoC,GAChD,MAAM,cAAc,CAYtB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,oBAAoB,EAC3B,QAAQ,EAAE,OAAO,EACjB,cAAc,GAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,QAA8B,GAClE,QAAQ,GAAG,IAAI,CAoBjB"}
|
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import type { MobileFiberPath } from '@userflow-tech/protocol';
|
|
7
7
|
import { type AnyFiber } from './fiberInternals';
|
|
8
|
+
/** Why a fiber path did not resolve. Element conditions map these differently. */
|
|
9
|
+
export type FiberPathMissReason = 'empty' | 'no-root' | 'no-match';
|
|
8
10
|
export type FiberPathResolution = {
|
|
9
11
|
status: 'found';
|
|
10
12
|
fiber: AnyFiber;
|
|
@@ -14,6 +16,7 @@ export type FiberPathResolution = {
|
|
|
14
16
|
status: 'ambiguous';
|
|
15
17
|
} | {
|
|
16
18
|
status: 'unknown';
|
|
19
|
+
reason: FiberPathMissReason;
|
|
17
20
|
};
|
|
18
21
|
/**
|
|
19
22
|
* Resolve `path` to the live host it describes. A leaf `testID` is authoritative
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveFiberPath.d.ts","sourceRoot":"","sources":["../../../../../../src/anchors/fiber/resolveFiberPath.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,eAAe,EAAsB,MAAM,yBAAyB,CAAC;AAWnF,OAAO,EACL,KAAK,QAAQ,EAQd,MAAM,kBAAkB,CAAC;AAQ1B,MAAM,MAAM,mBAAmB,GAC3B;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CAAE,GAC9E;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE,GACvB;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"resolveFiberPath.d.ts","sourceRoot":"","sources":["../../../../../../src/anchors/fiber/resolveFiberPath.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,eAAe,EAAsB,MAAM,yBAAyB,CAAC;AAWnF,OAAO,EACL,KAAK,QAAQ,EAQd,MAAM,kBAAkB,CAAC;AAQ1B,kFAAkF;AAClF,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,SAAS,GAAG,UAAU,CAAC;AAEnE,MAAM,MAAM,mBAAmB,GAC3B;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CAAE,GAC9E;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE,GACvB;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,mBAAmB,CAAA;CAAE,CAAC;AA8IvD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI,GAAG,SAAS,GAAG,mBAAmB,CAkC9F;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAE7D"}
|
|
@@ -25,6 +25,8 @@
|
|
|
25
25
|
*/
|
|
26
26
|
import { type AnyFiber } from './fiberInternals';
|
|
27
27
|
export declare function isScreenContainerFiber(fiber: AnyFiber): boolean;
|
|
28
|
+
/** Host screen the walk can key a cache on (`RNSScreen`, `RNSModalScreen`). */
|
|
29
|
+
export declare function isScreenHostFiber(fiber: AnyFiber): boolean;
|
|
28
30
|
/**
|
|
29
31
|
* Branches of `container` that are covered by another screen and so must not be
|
|
30
32
|
* scanned. Empty when there is nothing to prune. Alternates are included so a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visibleScreens.d.ts","sourceRoot":"","sources":["../../../../../../src/anchors/fiber/visibleScreens.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,EACL,KAAK,QAAQ,EASd,MAAM,kBAAkB,CAAC;AAqB1B,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAG/D;
|
|
1
|
+
{"version":3,"file":"visibleScreens.d.ts","sourceRoot":"","sources":["../../../../../../src/anchors/fiber/visibleScreens.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,EACL,KAAK,QAAQ,EASd,MAAM,kBAAkB,CAAC;AAqB1B,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAG/D;AAOD,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAE1D;AAyED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,CAUxE;AA0BD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAQ/D;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAWhE"}
|
|
@@ -6,6 +6,11 @@ interface FiberCacheEntry {
|
|
|
6
6
|
export declare function getFiberAnchorScreenKey(): string | null;
|
|
7
7
|
/** Invalidate fiber-resolved anchors when the active screen changes. */
|
|
8
8
|
export declare function notifyAnchorScreenChange(screenKey: string | null): void;
|
|
9
|
+
/**
|
|
10
|
+
* `listener` runs after the active screen changes, once the cache above is
|
|
11
|
+
* cleared. Searches that back off while a target is missing restart from here.
|
|
12
|
+
*/
|
|
13
|
+
export declare function subscribeAnchorScreenChange(listener: () => void): () => void;
|
|
9
14
|
/** Drop the fiber cache (preview restart / tests). */
|
|
10
15
|
export declare function clearFiberAnchorCache(): void;
|
|
11
16
|
export declare function getCachedFiberAnchor(id: string): FiberCacheEntry | undefined;
|