@userflow-tech/react-native 0.4.4 → 0.5.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 +124 -34
- package/docs/anchoring.md +6 -1
- package/docs/deep-linking.md +26 -0
- package/docs/troubleshooting.md +50 -23
- package/expo-plugin/hostDependencyWarnings.d.ts +6 -4
- package/expo-plugin/hostDependencyWarnings.d.ts.map +1 -1
- package/expo-plugin/hostDependencyWarnings.js +8 -6
- package/expo-plugin/hostDependencyWarnings.js.map +1 -1
- 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/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/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/RichContentRenderer.js +3 -3
- package/lib/commonjs/content/RichContentRenderer.js.map +1 -1
- package/lib/commonjs/content/openSafeUrl.js +3 -1
- package/lib/commonjs/content/openSafeUrl.js.map +1 -1
- package/lib/commonjs/expo-router/useUserflowExpoRouter.js +6 -0
- package/lib/commonjs/expo-router/useUserflowExpoRouter.js.map +1 -1
- package/lib/commonjs/index.js +19 -5
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/installCheck.js +2 -2
- package/lib/commonjs/installCheck.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 +98 -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 +26 -0
- package/lib/commonjs/surfaces/BannerSurface.js.map +1 -1
- package/lib/commonjs/surfaces/TooltipSurface.js +43 -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 +112 -63
- package/lib/commonjs/surfaces/bannerWebView/BannerWebViewBar.js.map +1 -1
- package/lib/commonjs/surfaces/bannerWebView/buildCustomBannerHtml.js +59 -11
- 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/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/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/RichContentRenderer.js +3 -3
- package/lib/module/content/RichContentRenderer.js.map +1 -1
- package/lib/module/content/openSafeUrl.js +3 -1
- package/lib/module/content/openSafeUrl.js.map +1 -1
- package/lib/module/expo-router/useUserflowExpoRouter.js +7 -1
- package/lib/module/expo-router/useUserflowExpoRouter.js.map +1 -1
- package/lib/module/index.js +22 -7
- package/lib/module/index.js.map +1 -1
- package/lib/module/installCheck.js +2 -2
- package/lib/module/installCheck.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 +91 -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 +26 -0
- package/lib/module/surfaces/BannerSurface.js.map +1 -1
- package/lib/module/surfaces/TooltipSurface.js +44 -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 +113 -64
- package/lib/module/surfaces/bannerWebView/BannerWebViewBar.js.map +1 -1
- package/lib/module/surfaces/bannerWebView/buildCustomBannerHtml.js +59 -11
- 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/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/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/RichContentRenderer.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/content/openSafeUrl.d.ts.map +1 -1
- 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/installCheck.d.ts +1 -1
- package/lib/typescript/commonjs/src/installCheck.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 +17 -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 +5 -1
- package/lib/typescript/commonjs/src/surfaces/BannerSurface.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/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/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/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/RichContentRenderer.d.ts.map +1 -1
- package/lib/typescript/module/src/content/openSafeUrl.d.ts.map +1 -1
- 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/installCheck.d.ts +1 -1
- package/lib/typescript/module/src/installCheck.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 +17 -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 +5 -1
- package/lib/typescript/module/src/surfaces/BannerSurface.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/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/fiberInternals.ts +68 -0
- package/src/anchors/fiber/indexHostFibers.ts +8 -3
- package/src/anchors/fiber/resolveFiberPath.ts +25 -16
- 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/RichContentRenderer.tsx +4 -3
- package/src/content/openSafeUrl.ts +3 -1
- package/src/expo-router/useUserflowExpoRouter.ts +10 -1
- package/src/index.ts +20 -9
- package/src/installCheck.ts +4 -4
- 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 +121 -0
- package/src/screenTracker.ts +11 -0
- package/src/surfaces/BannerBar.tsx +93 -55
- package/src/surfaces/BannerSurface.tsx +59 -3
- package/src/surfaces/TooltipSurface.tsx +63 -51
- package/src/surfaces/bannerBarLayout.ts +80 -7
- package/src/surfaces/bannerWebView/BannerWebViewBar.tsx +149 -57
- package/src/surfaces/bannerWebView/buildCustomBannerHtml.ts +63 -11
- 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/package.json +1 -1
|
@@ -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"}
|
|
@@ -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"}
|
|
@@ -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;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fiberAnchorCache.d.ts","sourceRoot":"","sources":["../../../../../src/anchors/fiberAnchorCache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAEvD,UAAU,eAAe;IACvB,KAAK,EAAE,QAAQ,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;
|
|
1
|
+
{"version":3,"file":"fiberAnchorCache.d.ts","sourceRoot":"","sources":["../../../../../src/anchors/fiberAnchorCache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAEvD,UAAU,eAAe;IACvB,KAAK,EAAE,QAAQ,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAMD,wBAAgB,uBAAuB,IAAI,MAAM,GAAG,IAAI,CAEvD;AAED,wEAAwE;AACxE,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAWvE;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAK5E;AAED,sDAAsD;AACtD,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C;AAED,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAE5E;AAED,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,IAAI,CAEtE;AAED,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAExD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAEtD"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Taps that react-native-gesture-handler takes away from React Native.
|
|
3
|
+
*
|
|
4
|
+
* When a gesture-handler control activates, it cancels RN's touch stream, so
|
|
5
|
+
* the bridge sees `touchcancel` instead of `touchend`. The handler tag is read
|
|
6
|
+
* off the touched fiber (no import of gesture-handler), and the touch counts
|
|
7
|
+
* as a tap only if that handler later ends from ACTIVE on
|
|
8
|
+
* `onGestureHandlerStateChange`. Apps that never hit this path never subscribe.
|
|
9
|
+
*
|
|
10
|
+
* State numbers are gesture-handler's `State` enum. A future major that
|
|
11
|
+
* renumbers them degrades to "no tap", which is today's behavior.
|
|
12
|
+
*/
|
|
13
|
+
import type { AnyFiber } from './fiber/fiberInternals';
|
|
14
|
+
import { type TouchPoint } from './tapSlop';
|
|
15
|
+
/** gesture-handler `State` values this hand-off acts on. */
|
|
16
|
+
export declare const GESTURE_HANDLER_STATE: {
|
|
17
|
+
readonly FAILED: 1;
|
|
18
|
+
readonly CANCELLED: 3;
|
|
19
|
+
readonly ACTIVE: 4;
|
|
20
|
+
readonly END: 5;
|
|
21
|
+
};
|
|
22
|
+
/** Drop a handed-off touch that never reaches a terminal state. */
|
|
23
|
+
export declare const GESTURE_HANDLER_HANDOFF_TIMEOUT_MS = 10000;
|
|
24
|
+
export interface HandedOffTouch {
|
|
25
|
+
identifier: number | string;
|
|
26
|
+
pageX: number;
|
|
27
|
+
pageY: number;
|
|
28
|
+
handlerTags: readonly number[];
|
|
29
|
+
/**
|
|
30
|
+
* The gesture completed as a tap. `end` is set when the payload carried
|
|
31
|
+
* window coordinates; otherwise only the start point is known.
|
|
32
|
+
*/
|
|
33
|
+
onResolve: (end: TouchPoint | null) => void;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Handler tags for the control under `fiber`.
|
|
37
|
+
*
|
|
38
|
+
* Old-API buttons keep `handlerTag` on the class instance. `GestureDetector`
|
|
39
|
+
* keeps a `gesture` prop whose `toGestureArray()` entries each have one.
|
|
40
|
+
* Negative tags (gesture-handler's own root helper) are ignored.
|
|
41
|
+
*
|
|
42
|
+
* The walk stops at the nearest fiber that has a tag. A native handler with
|
|
43
|
+
* `disallowInterruption` (gesture-handler `ScrollView`, `FlatList`,
|
|
44
|
+
* `RefreshControl`) is a container, not a tap, so a scroll that starts inside
|
|
45
|
+
* it is dropped instead of latching the row. Never throws.
|
|
46
|
+
*/
|
|
47
|
+
export declare function collectGestureHandlerTags(fiber: AnyFiber | null): number[];
|
|
48
|
+
export declare class GestureHandlerHandoff {
|
|
49
|
+
private readonly pending;
|
|
50
|
+
private nextId;
|
|
51
|
+
private subscription;
|
|
52
|
+
/**
|
|
53
|
+
* Keep `touch` until its handler finishes or it expires.
|
|
54
|
+
* Returns a stop function; calling it drops the touch without a tap.
|
|
55
|
+
*/
|
|
56
|
+
track(touch: HandedOffTouch): () => void;
|
|
57
|
+
/** Test helper. Drops every pending touch and unsubscribes. */
|
|
58
|
+
resetForTests(): void;
|
|
59
|
+
/** @internal Test hook: how many touches are still waiting. */
|
|
60
|
+
get pendingCount(): number;
|
|
61
|
+
private ensureListening;
|
|
62
|
+
private stopListeningIfIdle;
|
|
63
|
+
private handleStateChange;
|
|
64
|
+
private apply;
|
|
65
|
+
private resolve;
|
|
66
|
+
private drop;
|
|
67
|
+
}
|
|
68
|
+
/** Shared singleton used by the tap monitors. */
|
|
69
|
+
export declare const gestureHandlerHandoff: GestureHandlerHandoff;
|
|
70
|
+
//# sourceMappingURL=gestureHandlerHandoff.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gestureHandlerHandoff.d.ts","sourceRoot":"","sources":["../../../../../src/anchors/gestureHandlerHandoff.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAOvD,OAAO,EAAE,KAAK,UAAU,EAAiB,MAAM,WAAW,CAAC;AAE3D,4DAA4D;AAC5D,eAAO,MAAM,qBAAqB;;;;;CAKxB,CAAC;AAEX,mEAAmE;AACnE,eAAO,MAAM,kCAAkC,QAAS,CAAC;AAIzD,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B;;;OAGG;IACH,SAAS,EAAE,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI,KAAK,IAAI,CAAC;CAC7C;AA+BD;;;;;;;;;;;GAWG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,GAAG,MAAM,EAAE,CAkB1E;AAED,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmC;IAC3D,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,YAAY,CAAwC;IAE5D;;;OAGG;IACH,KAAK,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,IAAI;IAkBxC,+DAA+D;IAC/D,aAAa,IAAI,IAAI;IASrB,+DAA+D;IAC/D,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,mBAAmB;IAM3B,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,KAAK;IAWb,OAAO,CAAC,OAAO;IAUf,OAAO,CAAC,IAAI;CAQb;AAED,iDAAiD;AACjD,eAAO,MAAM,qBAAqB,uBAA8B,CAAC"}
|
|
@@ -1 +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;AAevD,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;AAE1B,wEAAwE;AACxE,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAEvE;AAED,0CAA0C;AAC1C,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAEtD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,gBAAgB,CAmD9D"}
|
|
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;AAevD,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAEjE,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;AAE1B,wEAAwE;AACxE,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAEvE;AAED,0CAA0C;AAC1C,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAEtD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,gBAAgB,CAmD9D"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type MobileAutoData, type MobileFingerprint } from '@userflow-tech/protocol';
|
|
2
2
|
import type { AnchorHost } from './AnchorRegistry';
|
|
3
3
|
import type { AnyFiber } from './fiber/fiberInternals';
|
|
4
|
+
import { type FiberPathMissReason } from './fiber/resolveFiberPath';
|
|
4
5
|
import { type MatchResult } from './semanticMatcher';
|
|
5
6
|
export type AutoAnchorResolution = {
|
|
6
7
|
status: 'found';
|
|
@@ -21,6 +22,11 @@ export type AutoAnchorResolution = {
|
|
|
21
22
|
} | {
|
|
22
23
|
status: 'unknown';
|
|
23
24
|
match?: MatchResult;
|
|
25
|
+
/**
|
|
26
|
+
* Set when a fiber path did not resolve. Element conditions treat
|
|
27
|
+
* `no-match` as absent and `no-root` / `empty` as unknown.
|
|
28
|
+
*/
|
|
29
|
+
fiberMiss?: FiberPathMissReason;
|
|
24
30
|
};
|
|
25
31
|
/** Authoritative id that the existing fiber / manual resolver can look up. */
|
|
26
32
|
export declare function exactIdFromFingerprint(fp: MobileFingerprint): string | null;
|
|
@@ -38,10 +44,11 @@ export declare function resolveScoredAutoAnchor(fp: MobileFingerprint): AutoAnch
|
|
|
38
44
|
* carries a real `testID` / `userflowId` / non-`uf_` `nativeID` still resolves
|
|
39
45
|
* under Babel `stampOnly: true` (no auto-registry population).
|
|
40
46
|
*
|
|
41
|
-
* Scored matches run over `autoAnchorRegistry
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
* are skipped the same way the fiber scan
|
|
47
|
+
* Scored matches run over `autoAnchorRegistry`. A covered screen and a
|
|
48
|
+
* contradicted fingerprint are `absent`. Weak, missing, or tied evidence stays
|
|
49
|
+
* `unknown` here; element conditions decide which of those count as absent.
|
|
50
|
+
* Hosts on a covered navigator screen are skipped the same way the fiber scan
|
|
51
|
+
* skips them.
|
|
45
52
|
*/
|
|
46
53
|
export declare function resolveAutoAnchorHost(autoData: string | MobileAutoData | null | undefined): AutoAnchorResolution;
|
|
47
54
|
//# sourceMappingURL=resolveAutoAnchorHost.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveAutoAnchorHost.d.ts","sourceRoot":"","sources":["../../../../../src/anchors/resolveAutoAnchorHost.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACvB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"resolveAutoAnchorHost.d.ts","sourceRoot":"","sources":["../../../../../src/anchors/resolveAutoAnchorHost.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACvB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAGvD,OAAO,EAAoB,KAAK,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAGtF,OAAO,EAAoB,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEvE,MAAM,MAAM,oBAAoB,GAC5B;IACE,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB,GACD;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,KAAK,CAAC,EAAE,WAAW,CAAA;CAAE,GAC5C;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,KAAK,CAAC,EAAE,WAAW,CAAA;CAAE,GACzC;IACE,MAAM,EAAE,SAAS,CAAC;IAClB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB;;;OAGG;IACH,SAAS,CAAC,EAAE,mBAAmB,CAAC;CACjC,CAAC;AA8CN,8EAA8E;AAC9E,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,iBAAiB,GAAG,MAAM,GAAG,IAAI,CAK3E;AA8BD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,iBAAiB,GAAG,oBAAoB,CAYnF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,GAAG,SAAS,GACnD,oBAAoB,CAoCtB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveElementTargets.d.ts","sourceRoot":"","sources":["../../../../../src/anchors/resolveElementTargets.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,
|
|
1
|
+
{"version":3,"file":"resolveElementTargets.d.ts","sourceRoot":"","sources":["../../../../../src/anchors/resolveElementTargets.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAEL,KAAK,oBAAoB,EAE1B,MAAM,yBAAyB,CAAC;AAIjC,OAAO,EAAE,KAAK,UAAU,EAAkB,MAAM,kBAAkB,CAAC;AAEnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGtD,OAAO,EAAE,KAAK,QAAQ,EAA+B,MAAM,wBAAwB,CAAC;AAiBpF,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,CAAC,EAAE,QAAQ,CAAC;CAClB;AAED,MAAM,MAAM,uBAAuB,GAC/B;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,aAAa,EAAE,CAAA;CAAE,GAC7C;IAAE,MAAM,EAAE,QAAQ,CAAA;CAAE,GACpB;IACE,MAAM,EAAE,SAAS,CAAC;IAClB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEN,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,oBAAoB,GAAG,IAAI,GAAG,SAAS,GAChD,uBAAuB,CAUzB;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,oBAAoB,GAAG,IAAI,GAAG,SAAS,EACjD,GAAG,EAAE,UAAU,GACd,OAAO,CAOT"}
|
|
@@ -34,6 +34,8 @@ export declare function textsAgree(a: string | undefined, b: string | undefined)
|
|
|
34
34
|
type InstanceFilter = (inst: AutoAnchorInstance) => boolean;
|
|
35
35
|
interface MatchOptions {
|
|
36
36
|
instanceFilter?: InstanceFilter;
|
|
37
|
+
/** The caller refreshed live content earlier in this same synchronous call. */
|
|
38
|
+
liveContentFresh?: boolean;
|
|
37
39
|
}
|
|
38
40
|
/**
|
|
39
41
|
* Resolve a recorded fingerprint against the live auto-anchor registry.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semanticMatcher.d.ts","sourceRoot":"","sources":["../../../../../src/anchors/semanticMatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EAGvB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAsB,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAEnF;;;;;;;;;;GAUG;AAEH,MAAM,MAAM,eAAe,GACvB,eAAe,GACf,kBAAkB,GAClB,iBAAiB,GACjB,YAAY,GACZ,uBAAuB,GACvB,gBAAgB,CAAC;AAErB,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,wFAAwF;IACxF,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,eAAO,MAAM,eAAe,KAAK,CAAC;AAClC,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAiH1C,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAGhF;
|
|
1
|
+
{"version":3,"file":"semanticMatcher.d.ts","sourceRoot":"","sources":["../../../../../src/anchors/semanticMatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EAGvB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAsB,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAEnF;;;;;;;;;;GAUG;AAEH,MAAM,MAAM,eAAe,GACvB,eAAe,GACf,kBAAkB,GAClB,iBAAiB,GACjB,YAAY,GACZ,uBAAuB,GACvB,gBAAgB,CAAC;AAErB,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,wFAAwF;IACxF,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,eAAO,MAAM,eAAe,KAAK,CAAC;AAClC,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAiH1C,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAGhF;AAqFD,KAAK,cAAc,GAAG,CAAC,IAAI,EAAE,kBAAkB,KAAK,OAAO,CAAC;AAE5D,UAAU,YAAY;IACpB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,+EAA+E;IAC/E,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAgID;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,iBAAiB,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,WAAW,CAIxF;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,WAAW,CAM9F"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** Max finger travel (px) between start and end to count as a tap, not a scroll. */
|
|
2
|
+
export declare const TARGET_PRESS_TAP_SLOP = 10;
|
|
3
|
+
export interface TouchPoint {
|
|
4
|
+
pageX: number;
|
|
5
|
+
pageY: number;
|
|
6
|
+
}
|
|
7
|
+
/** True when the finger moved no more than `slop` between start and end. */
|
|
8
|
+
export declare function withinTapSlop(start: TouchPoint, end: TouchPoint, slop?: number): boolean;
|
|
9
|
+
//# sourceMappingURL=tapSlop.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tapSlop.d.ts","sourceRoot":"","sources":["../../../../../src/anchors/tapSlop.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAExC,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,4EAA4E;AAC5E,wBAAgB,aAAa,CAC3B,KAAK,EAAE,UAAU,EACjB,GAAG,EAAE,UAAU,EACf,IAAI,GAAE,MAA8B,GACnC,OAAO,CAIT"}
|