@userflow-tech/react-native 0.1.1 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +97 -61
- package/app.plugin.js +11 -1
- package/babel-plugin/index.d.ts +8 -8
- package/babel-plugin/index.d.ts.map +1 -1
- package/babel-plugin/index.js +17 -9
- package/babel-plugin/index.js.map +1 -1
- package/babel-plugin.js +13 -0
- package/docs/anchoring.md +141 -13
- package/docs/deep-linking.md +18 -15
- package/docs/theme-mapping.md +44 -15
- package/docs/troubleshooting.md +36 -29
- package/expo-plugin/withUserflow.js +1 -1
- package/expo-plugin/withUserflow.js.map +1 -1
- package/lib/commonjs/anchors/AutoAnchorRegistry.js +124 -2
- package/lib/commonjs/anchors/AutoAnchorRegistry.js.map +1 -1
- package/lib/commonjs/anchors/anchorChangeTicker.js +10 -0
- package/lib/commonjs/anchors/anchorChangeTicker.js.map +1 -1
- package/lib/commonjs/anchors/elementConditionEvaluator.js +25 -12
- package/lib/commonjs/anchors/elementConditionEvaluator.js.map +1 -1
- package/lib/commonjs/anchors/fiber/FiberScanRoot.js +11 -47
- package/lib/commonjs/anchors/fiber/FiberScanRoot.js.map +1 -1
- package/lib/commonjs/anchors/fiber/FiberScanRootStore.js +50 -0
- package/lib/commonjs/anchors/fiber/FiberScanRootStore.js.map +1 -0
- package/lib/commonjs/anchors/fiber/fiberInternals.js +145 -3
- package/lib/commonjs/anchors/fiber/fiberInternals.js.map +1 -1
- package/lib/commonjs/anchors/fiber/indexHostFibers.js +129 -0
- package/lib/commonjs/anchors/fiber/indexHostFibers.js.map +1 -0
- package/lib/commonjs/anchors/fiber/readHostContent.js +131 -0
- package/lib/commonjs/anchors/fiber/readHostContent.js.map +1 -0
- package/lib/commonjs/anchors/fiberAnchorCache.js +50 -0
- package/lib/commonjs/anchors/fiberAnchorCache.js.map +1 -0
- package/lib/commonjs/anchors/resolveAnchorHost.js +15 -21
- package/lib/commonjs/anchors/resolveAnchorHost.js.map +1 -1
- package/lib/commonjs/anchors/resolveAutoAnchorHost.js +171 -0
- package/lib/commonjs/anchors/resolveAutoAnchorHost.js.map +1 -0
- package/lib/commonjs/anchors/semanticMatcher.js +285 -0
- package/lib/commonjs/anchors/semanticMatcher.js.map +1 -0
- package/lib/commonjs/authoring/ElementPickerOverlay.js +490 -0
- package/lib/commonjs/authoring/ElementPickerOverlay.js.map +1 -0
- package/lib/commonjs/authoring/capturePickerScreenshot.js +73 -0
- package/lib/commonjs/authoring/capturePickerScreenshot.js.map +1 -0
- package/lib/commonjs/authoring/chrome/ChromeBarTransition.js +94 -0
- package/lib/commonjs/authoring/chrome/ChromeBarTransition.js.map +1 -0
- package/lib/commonjs/authoring/chrome/ChromeBottomSheet.js +64 -0
- package/lib/commonjs/authoring/chrome/ChromeBottomSheet.js.map +1 -0
- package/lib/commonjs/authoring/chrome/ChromeButton.js +94 -0
- package/lib/commonjs/authoring/chrome/ChromeButton.js.map +1 -0
- package/lib/commonjs/authoring/chrome/ChromeDialog.js +131 -0
- package/lib/commonjs/authoring/chrome/ChromeDialog.js.map +1 -0
- package/lib/commonjs/authoring/chrome/ChromeIcon.js +39 -0
- package/lib/commonjs/authoring/chrome/ChromeIcon.js.map +1 -0
- package/lib/commonjs/authoring/chrome/ChromeTooltip.js +88 -0
- package/lib/commonjs/authoring/chrome/ChromeTooltip.js.map +1 -0
- package/lib/commonjs/authoring/chrome/ChromeTopBar.js +110 -0
- package/lib/commonjs/authoring/chrome/ChromeTopBar.js.map +1 -0
- package/lib/commonjs/authoring/chrome/DoubleTapBridge.js +57 -0
- package/lib/commonjs/authoring/chrome/DoubleTapBridge.js.map +1 -0
- package/lib/commonjs/authoring/chrome/doubleTapMonitor.js +80 -0
- package/lib/commonjs/authoring/chrome/doubleTapMonitor.js.map +1 -0
- package/lib/commonjs/authoring/chrome/icons/arrow-left-from-bracket.png +0 -0
- package/lib/commonjs/authoring/chrome/icons/arrow-left-from-bracket@2x.png +0 -0
- package/lib/commonjs/authoring/chrome/icons/arrow-left-from-bracket@3x.png +0 -0
- package/lib/commonjs/authoring/chrome/icons/arrow-rotate-left.png +0 -0
- package/lib/commonjs/authoring/chrome/icons/arrow-rotate-left@2x.png +0 -0
- package/lib/commonjs/authoring/chrome/icons/arrow-rotate-left@3x.png +0 -0
- package/lib/commonjs/authoring/chrome/icons/userflow-logomark.png +0 -0
- package/lib/commonjs/authoring/chrome/icons/userflow-logomark@2x.png +0 -0
- package/lib/commonjs/authoring/chrome/icons/userflow-logomark@3x.png +0 -0
- package/lib/commonjs/authoring/chrome/icons/xmark.png +0 -0
- package/lib/commonjs/authoring/chrome/icons/xmark@2x.png +0 -0
- package/lib/commonjs/authoring/chrome/icons/xmark@3x.png +0 -0
- package/lib/commonjs/authoring/chrome/tokens.js +150 -0
- package/lib/commonjs/authoring/chrome/tokens.js.map +1 -0
- package/lib/commonjs/authoring/doubleTap.js +23 -0
- package/lib/commonjs/authoring/doubleTap.js.map +1 -0
- package/lib/commonjs/authoring/elementPickerController.js +102 -0
- package/lib/commonjs/authoring/elementPickerController.js.map +1 -0
- package/lib/commonjs/authoring/fingerprintFromInstance.js +195 -0
- package/lib/commonjs/authoring/fingerprintFromInstance.js.map +1 -0
- package/lib/commonjs/authoring/hitTest.js +106 -0
- package/lib/commonjs/authoring/hitTest.js.map +1 -0
- package/lib/commonjs/content/RichContentRenderer.js +12 -2
- package/lib/commonjs/content/RichContentRenderer.js.map +1 -1
- package/lib/commonjs/content/StepButton.js +19 -4
- package/lib/commonjs/content/StepButton.js.map +1 -1
- package/lib/commonjs/content/resolveStepButtonChrome.js +8 -6
- package/lib/commonjs/content/resolveStepButtonChrome.js.map +1 -1
- package/lib/commonjs/content/themeColor.js +11 -0
- package/lib/commonjs/content/themeColor.js.map +1 -1
- package/lib/commonjs/deviceContext.js +158 -0
- package/lib/commonjs/deviceContext.js.map +1 -0
- package/lib/commonjs/expo-router/useUserflowExpoRouter.js +40 -4
- package/lib/commonjs/expo-router/useUserflowExpoRouter.js.map +1 -1
- package/lib/commonjs/hostAppVersion.js +242 -0
- package/lib/commonjs/hostAppVersion.js.map +1 -0
- package/lib/commonjs/index.js +118 -5
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/lifecycle.js +2 -0
- package/lib/commonjs/lifecycle.js.map +1 -1
- package/lib/commonjs/navigation/WithUserflowReactNavigation.js +17 -8
- package/lib/commonjs/navigation/WithUserflowReactNavigation.js.map +1 -1
- package/lib/commonjs/navigation/isOverlayPresentation.js +64 -0
- package/lib/commonjs/navigation/isOverlayPresentation.js.map +1 -0
- package/lib/commonjs/pairing/PairingController.js +29 -2
- package/lib/commonjs/pairing/PairingController.js.map +1 -1
- package/lib/commonjs/pairing/PreviewModeBanner.js +211 -84
- package/lib/commonjs/pairing/PreviewModeBanner.js.map +1 -1
- package/lib/commonjs/pairing/diagnostics.js +9 -0
- package/lib/commonjs/pairing/diagnostics.js.map +1 -1
- package/lib/commonjs/pairing/elementPickerRelay.js +91 -0
- package/lib/commonjs/pairing/elementPickerRelay.js.map +1 -0
- package/lib/commonjs/pairing/resolvePreviewChrome.js +52 -0
- package/lib/commonjs/pairing/resolvePreviewChrome.js.map +1 -0
- package/lib/commonjs/pairing/tokenStorage.js +25 -2
- package/lib/commonjs/pairing/tokenStorage.js.map +1 -1
- package/lib/commonjs/pairing/usePairingState.js +3 -1
- package/lib/commonjs/pairing/usePairingState.js.map +1 -1
- package/lib/commonjs/runtime/FlowRenderer.js +45 -21
- package/lib/commonjs/runtime/FlowRenderer.js.map +1 -1
- package/lib/commonjs/runtime/FlowSurfaceFade.js +47 -24
- package/lib/commonjs/runtime/FlowSurfaceFade.js.map +1 -1
- package/lib/commonjs/runtime/TargetPressBridge.js +13 -44
- package/lib/commonjs/runtime/TargetPressBridge.js.map +1 -1
- package/lib/commonjs/runtime/UserflowProvider.js +74 -20
- package/lib/commonjs/runtime/UserflowProvider.js.map +1 -1
- package/lib/commonjs/runtime/changedTouchPoints.js +48 -0
- package/lib/commonjs/runtime/changedTouchPoints.js.map +1 -0
- package/lib/commonjs/runtime/flowEngine.js +3 -1
- package/lib/commonjs/runtime/flowEngine.js.map +1 -1
- package/lib/commonjs/runtime/flowSessionViewState.js +32 -7
- package/lib/commonjs/runtime/flowSessionViewState.js.map +1 -1
- package/lib/commonjs/runtime/useFlowSessionState.js +2 -1
- package/lib/commonjs/runtime/useFlowSessionState.js.map +1 -1
- package/lib/commonjs/screenTracker.js +46 -4
- package/lib/commonjs/screenTracker.js.map +1 -1
- package/lib/commonjs/surfaces/CardFade.js +31 -0
- package/lib/commonjs/surfaces/CardFade.js.map +1 -0
- package/lib/commonjs/surfaces/CloseButton.js +11 -6
- package/lib/commonjs/surfaces/CloseButton.js.map +1 -1
- package/lib/commonjs/surfaces/ModalSurface.js +50 -34
- package/lib/commonjs/surfaces/ModalSurface.js.map +1 -1
- package/lib/commonjs/surfaces/TooltipSurface.js +366 -87
- package/lib/commonjs/surfaces/TooltipSurface.js.map +1 -1
- package/lib/commonjs/surfaces/cardTransition.js +70 -0
- package/lib/commonjs/surfaces/cardTransition.js.map +1 -0
- package/lib/commonjs/surfaces/resolveHighlightChrome.js +109 -0
- package/lib/commonjs/surfaces/resolveHighlightChrome.js.map +1 -0
- package/lib/commonjs/surfaces/resolveModalLayout.js +7 -3
- package/lib/commonjs/surfaces/resolveModalLayout.js.map +1 -1
- package/lib/commonjs/surfaces/resolveTooltipLayout.js +0 -4
- package/lib/commonjs/surfaces/resolveTooltipLayout.js.map +1 -1
- package/lib/commonjs/surfaces/surfaceInteractionConfig.js +33 -0
- package/lib/commonjs/surfaces/surfaceInteractionConfig.js.map +1 -0
- package/lib/commonjs/surfaces/surfaceLayoutInsets.js +128 -0
- package/lib/commonjs/surfaces/surfaceLayoutInsets.js.map +1 -0
- package/lib/commonjs/surfaces/themeChrome.js +4 -1
- package/lib/commonjs/surfaces/themeChrome.js.map +1 -1
- package/lib/commonjs/surfaces/tooltip/TooltipBubble.js +142 -21
- package/lib/commonjs/surfaces/tooltip/TooltipBubble.js.map +1 -1
- package/lib/commonjs/surfaces/tooltip/TooltipCutout.js +100 -47
- package/lib/commonjs/surfaces/tooltip/TooltipCutout.js.map +1 -1
- package/lib/commonjs/surfaces/tooltip/TooltipHighlight.js +124 -0
- package/lib/commonjs/surfaces/tooltip/TooltipHighlight.js.map +1 -0
- package/lib/commonjs/surfaces/tooltip/computeTooltipPosition.js +67 -13
- package/lib/commonjs/surfaces/tooltip/computeTooltipPosition.js.map +1 -1
- package/lib/commonjs/surfaces/tooltip/inferTooltipPlacement.js +88 -19
- package/lib/commonjs/surfaces/tooltip/inferTooltipPlacement.js.map +1 -1
- package/lib/commonjs/surfaces/tooltip/placementDiagnostics.js +52 -0
- package/lib/commonjs/surfaces/tooltip/placementDiagnostics.js.map +1 -0
- package/lib/commonjs/surfaces/tooltip/rect.js +12 -0
- package/lib/commonjs/surfaces/tooltip/rect.js.map +1 -1
- package/lib/commonjs/surfaces/tooltip/resolveSideCardWidth.js +103 -0
- package/lib/commonjs/surfaces/tooltip/resolveSideCardWidth.js.map +1 -0
- package/lib/commonjs/version.js +1 -1
- package/lib/module/anchors/AutoAnchorRegistry.js +125 -2
- package/lib/module/anchors/AutoAnchorRegistry.js.map +1 -1
- package/lib/module/anchors/anchorChangeTicker.js +10 -0
- package/lib/module/anchors/anchorChangeTicker.js.map +1 -1
- package/lib/module/anchors/elementConditionEvaluator.js +25 -12
- package/lib/module/anchors/elementConditionEvaluator.js.map +1 -1
- package/lib/module/anchors/fiber/FiberScanRoot.js +2 -43
- package/lib/module/anchors/fiber/FiberScanRoot.js.map +1 -1
- package/lib/module/anchors/fiber/FiberScanRootStore.js +46 -0
- package/lib/module/anchors/fiber/FiberScanRootStore.js.map +1 -0
- package/lib/module/anchors/fiber/fiberInternals.js +139 -3
- package/lib/module/anchors/fiber/fiberInternals.js.map +1 -1
- package/lib/module/anchors/fiber/indexHostFibers.js +122 -0
- package/lib/module/anchors/fiber/indexHostFibers.js.map +1 -0
- package/lib/module/anchors/fiber/readHostContent.js +127 -0
- package/lib/module/anchors/fiber/readHostContent.js.map +1 -0
- package/lib/module/anchors/fiberAnchorCache.js +40 -0
- package/lib/module/anchors/fiberAnchorCache.js.map +1 -0
- package/lib/module/anchors/resolveAnchorHost.js +15 -21
- package/lib/module/anchors/resolveAnchorHost.js.map +1 -1
- package/lib/module/anchors/resolveAutoAnchorHost.js +167 -0
- package/lib/module/anchors/resolveAutoAnchorHost.js.map +1 -0
- package/lib/module/anchors/semanticMatcher.js +280 -0
- package/lib/module/anchors/semanticMatcher.js.map +1 -0
- package/lib/module/authoring/ElementPickerOverlay.js +485 -0
- package/lib/module/authoring/ElementPickerOverlay.js.map +1 -0
- package/lib/module/authoring/capturePickerScreenshot.js +68 -0
- package/lib/module/authoring/capturePickerScreenshot.js.map +1 -0
- package/lib/module/authoring/chrome/ChromeBarTransition.js +88 -0
- package/lib/module/authoring/chrome/ChromeBarTransition.js.map +1 -0
- package/lib/module/authoring/chrome/ChromeBottomSheet.js +59 -0
- package/lib/module/authoring/chrome/ChromeBottomSheet.js.map +1 -0
- package/lib/module/authoring/chrome/ChromeButton.js +89 -0
- package/lib/module/authoring/chrome/ChromeButton.js.map +1 -0
- package/lib/module/authoring/chrome/ChromeDialog.js +126 -0
- package/lib/module/authoring/chrome/ChromeDialog.js.map +1 -0
- package/lib/module/authoring/chrome/ChromeIcon.js +33 -0
- package/lib/module/authoring/chrome/ChromeIcon.js.map +1 -0
- package/lib/module/authoring/chrome/ChromeTooltip.js +82 -0
- package/lib/module/authoring/chrome/ChromeTooltip.js.map +1 -0
- package/lib/module/authoring/chrome/ChromeTopBar.js +104 -0
- package/lib/module/authoring/chrome/ChromeTopBar.js.map +1 -0
- package/lib/module/authoring/chrome/DoubleTapBridge.js +52 -0
- package/lib/module/authoring/chrome/DoubleTapBridge.js.map +1 -0
- package/lib/module/authoring/chrome/doubleTapMonitor.js +75 -0
- package/lib/module/authoring/chrome/doubleTapMonitor.js.map +1 -0
- package/lib/module/authoring/chrome/icons/arrow-left-from-bracket.png +0 -0
- package/lib/module/authoring/chrome/icons/arrow-left-from-bracket@2x.png +0 -0
- package/lib/module/authoring/chrome/icons/arrow-left-from-bracket@3x.png +0 -0
- package/lib/module/authoring/chrome/icons/arrow-rotate-left.png +0 -0
- package/lib/module/authoring/chrome/icons/arrow-rotate-left@2x.png +0 -0
- package/lib/module/authoring/chrome/icons/arrow-rotate-left@3x.png +0 -0
- package/lib/module/authoring/chrome/icons/userflow-logomark.png +0 -0
- package/lib/module/authoring/chrome/icons/userflow-logomark@2x.png +0 -0
- package/lib/module/authoring/chrome/icons/userflow-logomark@3x.png +0 -0
- package/lib/module/authoring/chrome/icons/xmark.png +0 -0
- package/lib/module/authoring/chrome/icons/xmark@2x.png +0 -0
- package/lib/module/authoring/chrome/icons/xmark@3x.png +0 -0
- package/lib/module/authoring/chrome/tokens.js +146 -0
- package/lib/module/authoring/chrome/tokens.js.map +1 -0
- package/lib/module/authoring/doubleTap.js +18 -0
- package/lib/module/authoring/doubleTap.js.map +1 -0
- package/lib/module/authoring/elementPickerController.js +97 -0
- package/lib/module/authoring/elementPickerController.js.map +1 -0
- package/lib/module/authoring/fingerprintFromInstance.js +187 -0
- package/lib/module/authoring/fingerprintFromInstance.js.map +1 -0
- package/lib/module/authoring/hitTest.js +100 -0
- package/lib/module/authoring/hitTest.js.map +1 -0
- package/lib/module/content/RichContentRenderer.js +12 -2
- package/lib/module/content/RichContentRenderer.js.map +1 -1
- package/lib/module/content/StepButton.js +19 -4
- package/lib/module/content/StepButton.js.map +1 -1
- package/lib/module/content/resolveStepButtonChrome.js +8 -6
- package/lib/module/content/resolveStepButtonChrome.js.map +1 -1
- package/lib/module/content/themeColor.js +10 -0
- package/lib/module/content/themeColor.js.map +1 -1
- package/lib/module/deviceContext.js +142 -0
- package/lib/module/deviceContext.js.map +1 -0
- package/lib/module/expo-router/useUserflowExpoRouter.js +42 -6
- package/lib/module/expo-router/useUserflowExpoRouter.js.map +1 -1
- package/lib/module/hostAppVersion.js +225 -0
- package/lib/module/hostAppVersion.js.map +1 -0
- package/lib/module/index.js +119 -6
- package/lib/module/index.js.map +1 -1
- package/lib/module/lifecycle.js +2 -0
- package/lib/module/lifecycle.js.map +1 -1
- package/lib/module/navigation/WithUserflowReactNavigation.js +18 -9
- package/lib/module/navigation/WithUserflowReactNavigation.js.map +1 -1
- package/lib/module/navigation/isOverlayPresentation.js +58 -0
- package/lib/module/navigation/isOverlayPresentation.js.map +1 -0
- package/lib/module/pairing/PairingController.js +30 -3
- package/lib/module/pairing/PairingController.js.map +1 -1
- package/lib/module/pairing/PreviewModeBanner.js +212 -85
- package/lib/module/pairing/PreviewModeBanner.js.map +1 -1
- package/lib/module/pairing/diagnostics.js +8 -0
- package/lib/module/pairing/diagnostics.js.map +1 -1
- package/lib/module/pairing/elementPickerRelay.js +87 -0
- package/lib/module/pairing/elementPickerRelay.js.map +1 -0
- package/lib/module/pairing/resolvePreviewChrome.js +48 -0
- package/lib/module/pairing/resolvePreviewChrome.js.map +1 -0
- package/lib/module/pairing/tokenStorage.js +24 -2
- package/lib/module/pairing/tokenStorage.js.map +1 -1
- package/lib/module/pairing/usePairingState.js +3 -1
- package/lib/module/pairing/usePairingState.js.map +1 -1
- package/lib/module/runtime/FlowRenderer.js +45 -21
- package/lib/module/runtime/FlowRenderer.js.map +1 -1
- package/lib/module/runtime/FlowSurfaceFade.js +49 -26
- package/lib/module/runtime/FlowSurfaceFade.js.map +1 -1
- package/lib/module/runtime/TargetPressBridge.js +12 -43
- package/lib/module/runtime/TargetPressBridge.js.map +1 -1
- package/lib/module/runtime/UserflowProvider.js +74 -20
- package/lib/module/runtime/UserflowProvider.js.map +1 -1
- package/lib/module/runtime/changedTouchPoints.js +43 -0
- package/lib/module/runtime/changedTouchPoints.js.map +1 -0
- package/lib/module/runtime/flowEngine.js +3 -1
- package/lib/module/runtime/flowEngine.js.map +1 -1
- package/lib/module/runtime/flowSessionViewState.js +32 -7
- package/lib/module/runtime/flowSessionViewState.js.map +1 -1
- package/lib/module/runtime/useFlowSessionState.js +2 -1
- package/lib/module/runtime/useFlowSessionState.js.map +1 -1
- package/lib/module/screenTracker.js +42 -4
- package/lib/module/screenTracker.js.map +1 -1
- package/lib/module/surfaces/CardFade.js +26 -0
- package/lib/module/surfaces/CardFade.js.map +1 -0
- package/lib/module/surfaces/CloseButton.js +10 -6
- package/lib/module/surfaces/CloseButton.js.map +1 -1
- package/lib/module/surfaces/ModalSurface.js +52 -36
- package/lib/module/surfaces/ModalSurface.js.map +1 -1
- package/lib/module/surfaces/TooltipSurface.js +368 -90
- package/lib/module/surfaces/TooltipSurface.js.map +1 -1
- package/lib/module/surfaces/cardTransition.js +64 -0
- package/lib/module/surfaces/cardTransition.js.map +1 -0
- package/lib/module/surfaces/resolveHighlightChrome.js +102 -0
- package/lib/module/surfaces/resolveHighlightChrome.js.map +1 -0
- package/lib/module/surfaces/resolveModalLayout.js +7 -3
- package/lib/module/surfaces/resolveModalLayout.js.map +1 -1
- package/lib/module/surfaces/resolveTooltipLayout.js +1 -4
- package/lib/module/surfaces/resolveTooltipLayout.js.map +1 -1
- package/lib/module/surfaces/surfaceInteractionConfig.js +27 -0
- package/lib/module/surfaces/surfaceInteractionConfig.js.map +1 -0
- package/lib/module/surfaces/surfaceLayoutInsets.js +119 -0
- package/lib/module/surfaces/surfaceLayoutInsets.js.map +1 -0
- package/lib/module/surfaces/themeChrome.js +3 -1
- package/lib/module/surfaces/themeChrome.js.map +1 -1
- package/lib/module/surfaces/tooltip/TooltipBubble.js +143 -22
- package/lib/module/surfaces/tooltip/TooltipBubble.js.map +1 -1
- package/lib/module/surfaces/tooltip/TooltipCutout.js +100 -47
- package/lib/module/surfaces/tooltip/TooltipCutout.js.map +1 -1
- package/lib/module/surfaces/tooltip/TooltipHighlight.js +118 -0
- package/lib/module/surfaces/tooltip/TooltipHighlight.js.map +1 -0
- package/lib/module/surfaces/tooltip/computeTooltipPosition.js +67 -13
- package/lib/module/surfaces/tooltip/computeTooltipPosition.js.map +1 -1
- package/lib/module/surfaces/tooltip/inferTooltipPlacement.js +87 -19
- package/lib/module/surfaces/tooltip/inferTooltipPlacement.js.map +1 -1
- package/lib/module/surfaces/tooltip/placementDiagnostics.js +43 -0
- package/lib/module/surfaces/tooltip/placementDiagnostics.js.map +1 -0
- package/lib/module/surfaces/tooltip/rect.js +11 -0
- package/lib/module/surfaces/tooltip/rect.js.map +1 -1
- package/lib/module/surfaces/tooltip/resolveSideCardWidth.js +96 -0
- package/lib/module/surfaces/tooltip/resolveSideCardWidth.js.map +1 -0
- package/lib/module/version.js +1 -1
- package/lib/typescript/commonjs/src/anchors/AutoAnchorRegistry.d.ts +26 -0
- package/lib/typescript/commonjs/src/anchors/AutoAnchorRegistry.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/anchors/anchorChangeTicker.d.ts +2 -0
- package/lib/typescript/commonjs/src/anchors/anchorChangeTicker.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/anchors/elementConditionEvaluator.d.ts +14 -10
- package/lib/typescript/commonjs/src/anchors/elementConditionEvaluator.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/anchors/fiber/FiberScanRoot.d.ts +1 -20
- package/lib/typescript/commonjs/src/anchors/fiber/FiberScanRoot.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/anchors/fiber/FiberScanRootStore.d.ts +21 -0
- package/lib/typescript/commonjs/src/anchors/fiber/FiberScanRootStore.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/anchors/fiber/fiberInternals.d.ts +42 -1
- package/lib/typescript/commonjs/src/anchors/fiber/fiberInternals.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/anchors/fiber/indexHostFibers.d.ts +42 -0
- package/lib/typescript/commonjs/src/anchors/fiber/indexHostFibers.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/anchors/fiber/readHostContent.d.ts +17 -0
- package/lib/typescript/commonjs/src/anchors/fiber/readHostContent.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/anchors/fiberAnchorCache.d.ts +20 -0
- package/lib/typescript/commonjs/src/anchors/fiberAnchorCache.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/anchors/resolveAnchorHost.d.ts +5 -5
- package/lib/typescript/commonjs/src/anchors/resolveAnchorHost.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/anchors/resolveAutoAnchorHost.d.ts +38 -0
- package/lib/typescript/commonjs/src/anchors/resolveAutoAnchorHost.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/anchors/semanticMatcher.d.ts +48 -0
- package/lib/typescript/commonjs/src/anchors/semanticMatcher.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/authoring/ElementPickerOverlay.d.ts +7 -0
- package/lib/typescript/commonjs/src/authoring/ElementPickerOverlay.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/authoring/capturePickerScreenshot.d.ts +11 -0
- package/lib/typescript/commonjs/src/authoring/capturePickerScreenshot.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/authoring/chrome/ChromeBarTransition.d.ts +32 -0
- package/lib/typescript/commonjs/src/authoring/chrome/ChromeBarTransition.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/authoring/chrome/ChromeBottomSheet.d.ts +13 -0
- package/lib/typescript/commonjs/src/authoring/chrome/ChromeBottomSheet.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/authoring/chrome/ChromeButton.d.ts +20 -0
- package/lib/typescript/commonjs/src/authoring/chrome/ChromeButton.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/authoring/chrome/ChromeDialog.d.ts +14 -0
- package/lib/typescript/commonjs/src/authoring/chrome/ChromeDialog.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/authoring/chrome/ChromeIcon.d.ts +13 -0
- package/lib/typescript/commonjs/src/authoring/chrome/ChromeIcon.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/authoring/chrome/ChromeTooltip.d.ts +17 -0
- package/lib/typescript/commonjs/src/authoring/chrome/ChromeTooltip.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/authoring/chrome/ChromeTopBar.d.ts +25 -0
- package/lib/typescript/commonjs/src/authoring/chrome/ChromeTopBar.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/authoring/chrome/DoubleTapBridge.d.ts +12 -0
- package/lib/typescript/commonjs/src/authoring/chrome/DoubleTapBridge.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/authoring/chrome/doubleTapMonitor.d.ts +26 -0
- package/lib/typescript/commonjs/src/authoring/chrome/doubleTapMonitor.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/authoring/chrome/tokens.d.ts +141 -0
- package/lib/typescript/commonjs/src/authoring/chrome/tokens.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/authoring/doubleTap.d.ts +14 -0
- package/lib/typescript/commonjs/src/authoring/doubleTap.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/authoring/elementPickerController.d.ts +59 -0
- package/lib/typescript/commonjs/src/authoring/elementPickerController.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/authoring/fingerprintFromInstance.d.ts +26 -0
- package/lib/typescript/commonjs/src/authoring/fingerprintFromInstance.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/authoring/hitTest.d.ts +31 -0
- package/lib/typescript/commonjs/src/authoring/hitTest.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/content/RichContentRenderer.d.ts +6 -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/resolveStepButtonChrome.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/content/themeColor.d.ts +5 -0
- package/lib/typescript/commonjs/src/content/themeColor.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/deviceContext.d.ts +66 -0
- package/lib/typescript/commonjs/src/deviceContext.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/expo-router/useUserflowExpoRouter.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/hostAppVersion.d.ts +69 -0
- package/lib/typescript/commonjs/src/hostAppVersion.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/index.d.ts +53 -2
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/lifecycle.d.ts +6 -0
- package/lib/typescript/commonjs/src/lifecycle.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/navigation/WithUserflowReactNavigation.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/navigation/isOverlayPresentation.d.ts +14 -0
- package/lib/typescript/commonjs/src/navigation/isOverlayPresentation.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/pairing/PairingController.d.ts +7 -0
- package/lib/typescript/commonjs/src/pairing/PairingController.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/pairing/PreviewModeBanner.d.ts +6 -1
- package/lib/typescript/commonjs/src/pairing/PreviewModeBanner.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/pairing/diagnostics.d.ts +5 -0
- package/lib/typescript/commonjs/src/pairing/diagnostics.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/pairing/elementPickerRelay.d.ts +11 -0
- package/lib/typescript/commonjs/src/pairing/elementPickerRelay.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/pairing/resolvePreviewChrome.d.ts +16 -0
- package/lib/typescript/commonjs/src/pairing/resolvePreviewChrome.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/pairing/tokenStorage.d.ts +2 -0
- package/lib/typescript/commonjs/src/pairing/tokenStorage.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/pairing/usePairingState.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/runtime/FlowRenderer.d.ts +6 -3
- package/lib/typescript/commonjs/src/runtime/FlowRenderer.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/runtime/FlowSurfaceFade.d.ts +20 -7
- package/lib/typescript/commonjs/src/runtime/FlowSurfaceFade.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/runtime/TargetPressBridge.d.ts +5 -1
- package/lib/typescript/commonjs/src/runtime/TargetPressBridge.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/runtime/UserflowProvider.d.ts +6 -4
- package/lib/typescript/commonjs/src/runtime/UserflowProvider.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/runtime/changedTouchPoints.d.ts +10 -0
- package/lib/typescript/commonjs/src/runtime/changedTouchPoints.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/runtime/flowEngine.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/runtime/flowSessionViewState.d.ts +12 -3
- package/lib/typescript/commonjs/src/runtime/flowSessionViewState.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/runtime/useFlowSessionState.d.ts +1 -0
- package/lib/typescript/commonjs/src/runtime/useFlowSessionState.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/screenTracker.d.ts +21 -3
- package/lib/typescript/commonjs/src/screenTracker.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/surfaces/CardFade.d.ts +12 -0
- package/lib/typescript/commonjs/src/surfaces/CardFade.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/surfaces/CloseButton.d.ts +8 -2
- package/lib/typescript/commonjs/src/surfaces/CloseButton.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/surfaces/MadeWithUserflow.d.ts +1 -1
- package/lib/typescript/commonjs/src/surfaces/ModalSurface.d.ts +1 -1
- package/lib/typescript/commonjs/src/surfaces/ModalSurface.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/surfaces/TooltipSurface.d.ts +12 -1
- package/lib/typescript/commonjs/src/surfaces/TooltipSurface.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/surfaces/cardTransition.d.ts +31 -0
- package/lib/typescript/commonjs/src/surfaces/cardTransition.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/surfaces/resolveHighlightChrome.d.ts +44 -0
- package/lib/typescript/commonjs/src/surfaces/resolveHighlightChrome.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/surfaces/resolveModalLayout.d.ts +1 -1
- package/lib/typescript/commonjs/src/surfaces/resolveModalLayout.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/surfaces/resolveTooltipLayout.d.ts +0 -7
- package/lib/typescript/commonjs/src/surfaces/resolveTooltipLayout.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/surfaces/surfaceInteractionConfig.d.ts +15 -0
- package/lib/typescript/commonjs/src/surfaces/surfaceInteractionConfig.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/surfaces/surfaceLayoutInsets.d.ts +38 -0
- package/lib/typescript/commonjs/src/surfaces/surfaceLayoutInsets.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/surfaces/themeChrome.d.ts +3 -1
- package/lib/typescript/commonjs/src/surfaces/themeChrome.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/surfaces/tooltip/TooltipBubble.d.ts +21 -6
- package/lib/typescript/commonjs/src/surfaces/tooltip/TooltipBubble.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/surfaces/tooltip/TooltipCutout.d.ts +18 -10
- package/lib/typescript/commonjs/src/surfaces/tooltip/TooltipCutout.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/surfaces/tooltip/TooltipHighlight.d.ts +25 -0
- package/lib/typescript/commonjs/src/surfaces/tooltip/TooltipHighlight.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/surfaces/tooltip/computeTooltipPosition.d.ts +23 -0
- package/lib/typescript/commonjs/src/surfaces/tooltip/computeTooltipPosition.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/surfaces/tooltip/inferTooltipPlacement.d.ts +47 -1
- package/lib/typescript/commonjs/src/surfaces/tooltip/inferTooltipPlacement.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/surfaces/tooltip/placementDiagnostics.d.ts +39 -0
- package/lib/typescript/commonjs/src/surfaces/tooltip/placementDiagnostics.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/surfaces/tooltip/rect.d.ts +2 -0
- package/lib/typescript/commonjs/src/surfaces/tooltip/rect.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/surfaces/tooltip/resolveSideCardWidth.d.ts +76 -0
- package/lib/typescript/commonjs/src/surfaces/tooltip/resolveSideCardWidth.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/version.d.ts +1 -1
- package/lib/typescript/module/src/anchors/AutoAnchorRegistry.d.ts +26 -0
- package/lib/typescript/module/src/anchors/AutoAnchorRegistry.d.ts.map +1 -1
- package/lib/typescript/module/src/anchors/anchorChangeTicker.d.ts +2 -0
- package/lib/typescript/module/src/anchors/anchorChangeTicker.d.ts.map +1 -1
- package/lib/typescript/module/src/anchors/elementConditionEvaluator.d.ts +14 -10
- package/lib/typescript/module/src/anchors/elementConditionEvaluator.d.ts.map +1 -1
- package/lib/typescript/module/src/anchors/fiber/FiberScanRoot.d.ts +1 -20
- package/lib/typescript/module/src/anchors/fiber/FiberScanRoot.d.ts.map +1 -1
- package/lib/typescript/module/src/anchors/fiber/FiberScanRootStore.d.ts +21 -0
- package/lib/typescript/module/src/anchors/fiber/FiberScanRootStore.d.ts.map +1 -0
- package/lib/typescript/module/src/anchors/fiber/fiberInternals.d.ts +42 -1
- package/lib/typescript/module/src/anchors/fiber/fiberInternals.d.ts.map +1 -1
- package/lib/typescript/module/src/anchors/fiber/indexHostFibers.d.ts +42 -0
- package/lib/typescript/module/src/anchors/fiber/indexHostFibers.d.ts.map +1 -0
- package/lib/typescript/module/src/anchors/fiber/readHostContent.d.ts +17 -0
- package/lib/typescript/module/src/anchors/fiber/readHostContent.d.ts.map +1 -0
- package/lib/typescript/module/src/anchors/fiberAnchorCache.d.ts +20 -0
- package/lib/typescript/module/src/anchors/fiberAnchorCache.d.ts.map +1 -0
- package/lib/typescript/module/src/anchors/resolveAnchorHost.d.ts +5 -5
- package/lib/typescript/module/src/anchors/resolveAnchorHost.d.ts.map +1 -1
- package/lib/typescript/module/src/anchors/resolveAutoAnchorHost.d.ts +38 -0
- package/lib/typescript/module/src/anchors/resolveAutoAnchorHost.d.ts.map +1 -0
- package/lib/typescript/module/src/anchors/semanticMatcher.d.ts +48 -0
- package/lib/typescript/module/src/anchors/semanticMatcher.d.ts.map +1 -0
- package/lib/typescript/module/src/authoring/ElementPickerOverlay.d.ts +7 -0
- package/lib/typescript/module/src/authoring/ElementPickerOverlay.d.ts.map +1 -0
- package/lib/typescript/module/src/authoring/capturePickerScreenshot.d.ts +11 -0
- package/lib/typescript/module/src/authoring/capturePickerScreenshot.d.ts.map +1 -0
- package/lib/typescript/module/src/authoring/chrome/ChromeBarTransition.d.ts +32 -0
- package/lib/typescript/module/src/authoring/chrome/ChromeBarTransition.d.ts.map +1 -0
- package/lib/typescript/module/src/authoring/chrome/ChromeBottomSheet.d.ts +13 -0
- package/lib/typescript/module/src/authoring/chrome/ChromeBottomSheet.d.ts.map +1 -0
- package/lib/typescript/module/src/authoring/chrome/ChromeButton.d.ts +20 -0
- package/lib/typescript/module/src/authoring/chrome/ChromeButton.d.ts.map +1 -0
- package/lib/typescript/module/src/authoring/chrome/ChromeDialog.d.ts +14 -0
- package/lib/typescript/module/src/authoring/chrome/ChromeDialog.d.ts.map +1 -0
- package/lib/typescript/module/src/authoring/chrome/ChromeIcon.d.ts +13 -0
- package/lib/typescript/module/src/authoring/chrome/ChromeIcon.d.ts.map +1 -0
- package/lib/typescript/module/src/authoring/chrome/ChromeTooltip.d.ts +17 -0
- package/lib/typescript/module/src/authoring/chrome/ChromeTooltip.d.ts.map +1 -0
- package/lib/typescript/module/src/authoring/chrome/ChromeTopBar.d.ts +25 -0
- package/lib/typescript/module/src/authoring/chrome/ChromeTopBar.d.ts.map +1 -0
- package/lib/typescript/module/src/authoring/chrome/DoubleTapBridge.d.ts +12 -0
- package/lib/typescript/module/src/authoring/chrome/DoubleTapBridge.d.ts.map +1 -0
- package/lib/typescript/module/src/authoring/chrome/doubleTapMonitor.d.ts +26 -0
- package/lib/typescript/module/src/authoring/chrome/doubleTapMonitor.d.ts.map +1 -0
- package/lib/typescript/module/src/authoring/chrome/tokens.d.ts +141 -0
- package/lib/typescript/module/src/authoring/chrome/tokens.d.ts.map +1 -0
- package/lib/typescript/module/src/authoring/doubleTap.d.ts +14 -0
- package/lib/typescript/module/src/authoring/doubleTap.d.ts.map +1 -0
- package/lib/typescript/module/src/authoring/elementPickerController.d.ts +59 -0
- package/lib/typescript/module/src/authoring/elementPickerController.d.ts.map +1 -0
- package/lib/typescript/module/src/authoring/fingerprintFromInstance.d.ts +26 -0
- package/lib/typescript/module/src/authoring/fingerprintFromInstance.d.ts.map +1 -0
- package/lib/typescript/module/src/authoring/hitTest.d.ts +31 -0
- package/lib/typescript/module/src/authoring/hitTest.d.ts.map +1 -0
- package/lib/typescript/module/src/content/RichContentRenderer.d.ts +6 -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/resolveStepButtonChrome.d.ts.map +1 -1
- package/lib/typescript/module/src/content/themeColor.d.ts +5 -0
- package/lib/typescript/module/src/content/themeColor.d.ts.map +1 -1
- package/lib/typescript/module/src/deviceContext.d.ts +66 -0
- package/lib/typescript/module/src/deviceContext.d.ts.map +1 -0
- package/lib/typescript/module/src/expo-router/useUserflowExpoRouter.d.ts.map +1 -1
- package/lib/typescript/module/src/hostAppVersion.d.ts +69 -0
- package/lib/typescript/module/src/hostAppVersion.d.ts.map +1 -0
- package/lib/typescript/module/src/index.d.ts +53 -2
- package/lib/typescript/module/src/index.d.ts.map +1 -1
- package/lib/typescript/module/src/lifecycle.d.ts +6 -0
- package/lib/typescript/module/src/lifecycle.d.ts.map +1 -1
- package/lib/typescript/module/src/navigation/WithUserflowReactNavigation.d.ts.map +1 -1
- package/lib/typescript/module/src/navigation/isOverlayPresentation.d.ts +14 -0
- package/lib/typescript/module/src/navigation/isOverlayPresentation.d.ts.map +1 -0
- package/lib/typescript/module/src/pairing/PairingController.d.ts +7 -0
- package/lib/typescript/module/src/pairing/PairingController.d.ts.map +1 -1
- package/lib/typescript/module/src/pairing/PreviewModeBanner.d.ts +6 -1
- package/lib/typescript/module/src/pairing/PreviewModeBanner.d.ts.map +1 -1
- package/lib/typescript/module/src/pairing/diagnostics.d.ts +5 -0
- package/lib/typescript/module/src/pairing/diagnostics.d.ts.map +1 -1
- package/lib/typescript/module/src/pairing/elementPickerRelay.d.ts +11 -0
- package/lib/typescript/module/src/pairing/elementPickerRelay.d.ts.map +1 -0
- package/lib/typescript/module/src/pairing/resolvePreviewChrome.d.ts +16 -0
- package/lib/typescript/module/src/pairing/resolvePreviewChrome.d.ts.map +1 -0
- package/lib/typescript/module/src/pairing/tokenStorage.d.ts +2 -0
- package/lib/typescript/module/src/pairing/tokenStorage.d.ts.map +1 -1
- package/lib/typescript/module/src/pairing/usePairingState.d.ts.map +1 -1
- package/lib/typescript/module/src/runtime/FlowRenderer.d.ts +6 -3
- package/lib/typescript/module/src/runtime/FlowRenderer.d.ts.map +1 -1
- package/lib/typescript/module/src/runtime/FlowSurfaceFade.d.ts +20 -7
- package/lib/typescript/module/src/runtime/FlowSurfaceFade.d.ts.map +1 -1
- package/lib/typescript/module/src/runtime/TargetPressBridge.d.ts +5 -1
- package/lib/typescript/module/src/runtime/TargetPressBridge.d.ts.map +1 -1
- package/lib/typescript/module/src/runtime/UserflowProvider.d.ts +6 -4
- package/lib/typescript/module/src/runtime/UserflowProvider.d.ts.map +1 -1
- package/lib/typescript/module/src/runtime/changedTouchPoints.d.ts +10 -0
- package/lib/typescript/module/src/runtime/changedTouchPoints.d.ts.map +1 -0
- package/lib/typescript/module/src/runtime/flowEngine.d.ts.map +1 -1
- package/lib/typescript/module/src/runtime/flowSessionViewState.d.ts +12 -3
- package/lib/typescript/module/src/runtime/flowSessionViewState.d.ts.map +1 -1
- package/lib/typescript/module/src/runtime/useFlowSessionState.d.ts +1 -0
- package/lib/typescript/module/src/runtime/useFlowSessionState.d.ts.map +1 -1
- package/lib/typescript/module/src/screenTracker.d.ts +21 -3
- package/lib/typescript/module/src/screenTracker.d.ts.map +1 -1
- package/lib/typescript/module/src/surfaces/CardFade.d.ts +12 -0
- package/lib/typescript/module/src/surfaces/CardFade.d.ts.map +1 -0
- package/lib/typescript/module/src/surfaces/CloseButton.d.ts +8 -2
- package/lib/typescript/module/src/surfaces/CloseButton.d.ts.map +1 -1
- package/lib/typescript/module/src/surfaces/MadeWithUserflow.d.ts +1 -1
- package/lib/typescript/module/src/surfaces/ModalSurface.d.ts +1 -1
- package/lib/typescript/module/src/surfaces/ModalSurface.d.ts.map +1 -1
- package/lib/typescript/module/src/surfaces/TooltipSurface.d.ts +12 -1
- package/lib/typescript/module/src/surfaces/TooltipSurface.d.ts.map +1 -1
- package/lib/typescript/module/src/surfaces/cardTransition.d.ts +31 -0
- package/lib/typescript/module/src/surfaces/cardTransition.d.ts.map +1 -0
- package/lib/typescript/module/src/surfaces/resolveHighlightChrome.d.ts +44 -0
- package/lib/typescript/module/src/surfaces/resolveHighlightChrome.d.ts.map +1 -0
- package/lib/typescript/module/src/surfaces/resolveModalLayout.d.ts +1 -1
- package/lib/typescript/module/src/surfaces/resolveModalLayout.d.ts.map +1 -1
- package/lib/typescript/module/src/surfaces/resolveTooltipLayout.d.ts +0 -7
- package/lib/typescript/module/src/surfaces/resolveTooltipLayout.d.ts.map +1 -1
- package/lib/typescript/module/src/surfaces/surfaceInteractionConfig.d.ts +15 -0
- package/lib/typescript/module/src/surfaces/surfaceInteractionConfig.d.ts.map +1 -0
- package/lib/typescript/module/src/surfaces/surfaceLayoutInsets.d.ts +38 -0
- package/lib/typescript/module/src/surfaces/surfaceLayoutInsets.d.ts.map +1 -0
- package/lib/typescript/module/src/surfaces/themeChrome.d.ts +3 -1
- package/lib/typescript/module/src/surfaces/themeChrome.d.ts.map +1 -1
- package/lib/typescript/module/src/surfaces/tooltip/TooltipBubble.d.ts +21 -6
- package/lib/typescript/module/src/surfaces/tooltip/TooltipBubble.d.ts.map +1 -1
- package/lib/typescript/module/src/surfaces/tooltip/TooltipCutout.d.ts +18 -10
- package/lib/typescript/module/src/surfaces/tooltip/TooltipCutout.d.ts.map +1 -1
- package/lib/typescript/module/src/surfaces/tooltip/TooltipHighlight.d.ts +25 -0
- package/lib/typescript/module/src/surfaces/tooltip/TooltipHighlight.d.ts.map +1 -0
- package/lib/typescript/module/src/surfaces/tooltip/computeTooltipPosition.d.ts +23 -0
- package/lib/typescript/module/src/surfaces/tooltip/computeTooltipPosition.d.ts.map +1 -1
- package/lib/typescript/module/src/surfaces/tooltip/inferTooltipPlacement.d.ts +47 -1
- package/lib/typescript/module/src/surfaces/tooltip/inferTooltipPlacement.d.ts.map +1 -1
- package/lib/typescript/module/src/surfaces/tooltip/placementDiagnostics.d.ts +39 -0
- package/lib/typescript/module/src/surfaces/tooltip/placementDiagnostics.d.ts.map +1 -0
- package/lib/typescript/module/src/surfaces/tooltip/rect.d.ts +2 -0
- package/lib/typescript/module/src/surfaces/tooltip/rect.d.ts.map +1 -1
- package/lib/typescript/module/src/surfaces/tooltip/resolveSideCardWidth.d.ts +76 -0
- package/lib/typescript/module/src/surfaces/tooltip/resolveSideCardWidth.d.ts.map +1 -0
- package/lib/typescript/module/src/version.d.ts +1 -1
- package/package.json +22 -16
- package/src/anchors/AutoAnchorRegistry.ts +139 -2
- package/src/anchors/anchorChangeTicker.ts +10 -0
- package/src/anchors/elementConditionEvaluator.ts +29 -16
- package/src/anchors/fiber/FiberScanRoot.tsx +2 -50
- package/src/anchors/fiber/FiberScanRootStore.ts +51 -0
- package/src/anchors/fiber/fiberInternals.ts +166 -3
- package/src/anchors/fiber/indexHostFibers.ts +136 -0
- package/src/anchors/fiber/readHostContent.ts +146 -0
- package/src/anchors/fiberAnchorCache.ts +45 -0
- package/src/anchors/resolveAnchorHost.ts +23 -23
- package/src/anchors/resolveAutoAnchorHost.ts +180 -0
- package/src/anchors/semanticMatcher.ts +361 -0
- package/src/authoring/ElementPickerOverlay.tsx +553 -0
- package/src/authoring/capturePickerScreenshot.ts +90 -0
- package/src/authoring/chrome/ChromeBarTransition.tsx +106 -0
- package/src/authoring/chrome/ChromeBottomSheet.tsx +69 -0
- package/src/authoring/chrome/ChromeButton.tsx +103 -0
- package/src/authoring/chrome/ChromeDialog.tsx +121 -0
- package/src/authoring/chrome/ChromeIcon.tsx +40 -0
- package/src/authoring/chrome/ChromeTooltip.tsx +89 -0
- package/src/authoring/chrome/ChromeTopBar.tsx +126 -0
- package/src/authoring/chrome/DoubleTapBridge.tsx +60 -0
- package/src/authoring/chrome/doubleTapMonitor.ts +80 -0
- package/src/authoring/chrome/icons/arrow-left-from-bracket.png +0 -0
- package/src/authoring/chrome/icons/arrow-left-from-bracket@2x.png +0 -0
- package/src/authoring/chrome/icons/arrow-left-from-bracket@3x.png +0 -0
- package/src/authoring/chrome/icons/arrow-rotate-left.png +0 -0
- package/src/authoring/chrome/icons/arrow-rotate-left@2x.png +0 -0
- package/src/authoring/chrome/icons/arrow-rotate-left@3x.png +0 -0
- package/src/authoring/chrome/icons/userflow-logomark.png +0 -0
- package/src/authoring/chrome/icons/userflow-logomark@2x.png +0 -0
- package/src/authoring/chrome/icons/userflow-logomark@3x.png +0 -0
- package/src/authoring/chrome/icons/xmark.png +0 -0
- package/src/authoring/chrome/icons/xmark@2x.png +0 -0
- package/src/authoring/chrome/icons/xmark@3x.png +0 -0
- package/src/authoring/chrome/tokens.ts +106 -0
- package/src/authoring/doubleTap.ts +27 -0
- package/src/authoring/elementPickerController.ts +135 -0
- package/src/authoring/fingerprintFromInstance.ts +152 -0
- package/src/authoring/hitTest.ts +133 -0
- package/src/content/RichContentRenderer.tsx +22 -1
- package/src/content/StepButton.tsx +17 -2
- package/src/content/resolveStepButtonChrome.ts +12 -6
- package/src/content/themeColor.ts +10 -0
- package/src/deviceContext.ts +168 -0
- package/src/expo-router/useUserflowExpoRouter.ts +47 -4
- package/src/hostAppVersion.ts +258 -0
- package/src/index.ts +148 -4
- package/src/lifecycle.ts +8 -0
- package/src/navigation/WithUserflowReactNavigation.tsx +23 -7
- package/src/navigation/isOverlayPresentation.ts +76 -0
- package/src/pairing/PairingController.ts +32 -3
- package/src/pairing/PreviewModeBanner.tsx +250 -94
- package/src/pairing/diagnostics.ts +8 -0
- package/src/pairing/elementPickerRelay.ts +100 -0
- package/src/pairing/resolvePreviewChrome.ts +57 -0
- package/src/pairing/tokenStorage.ts +31 -2
- package/src/pairing/usePairingState.ts +2 -0
- package/src/runtime/FlowRenderer.tsx +55 -27
- package/src/runtime/FlowSurfaceFade.tsx +51 -30
- package/src/runtime/TargetPressBridge.tsx +14 -32
- package/src/runtime/UserflowProvider.tsx +76 -13
- package/src/runtime/changedTouchPoints.ts +34 -0
- package/src/runtime/flowEngine.ts +2 -0
- package/src/runtime/flowSessionViewState.ts +42 -4
- package/src/runtime/useFlowSessionState.ts +2 -0
- package/src/screenTracker.ts +46 -4
- package/src/surfaces/CardFade.tsx +18 -0
- package/src/surfaces/CloseButton.tsx +17 -7
- package/src/surfaces/MadeWithUserflow.tsx +1 -1
- package/src/surfaces/ModalSurface.tsx +48 -35
- package/src/surfaces/TooltipSurface.tsx +406 -86
- package/src/surfaces/cardTransition.ts +67 -0
- package/src/surfaces/resolveHighlightChrome.ts +139 -0
- package/src/surfaces/resolveModalLayout.ts +16 -8
- package/src/surfaces/resolveTooltipLayout.ts +1 -14
- package/src/surfaces/surfaceInteractionConfig.ts +25 -0
- package/src/surfaces/surfaceLayoutInsets.tsx +135 -0
- package/src/surfaces/themeChrome.ts +5 -3
- package/src/surfaces/tooltip/TooltipBubble.tsx +154 -19
- package/src/surfaces/tooltip/TooltipCutout.tsx +106 -49
- package/src/surfaces/tooltip/TooltipHighlight.tsx +144 -0
- package/src/surfaces/tooltip/computeTooltipPosition.ts +98 -12
- package/src/surfaces/tooltip/inferTooltipPlacement.ts +107 -18
- package/src/surfaces/tooltip/placementDiagnostics.ts +70 -0
- package/src/surfaces/tooltip/rect.ts +11 -0
- package/src/surfaces/tooltip/resolveSideCardWidth.ts +121 -0
- package/src/version.ts +1 -1
- package/vendor/core/dist/attributes.d.ts +1 -2
- package/vendor/core/dist/attributes.d.ts.map +1 -1
- package/vendor/core/dist/attributes.js.map +1 -1
- package/vendor/core/dist/engine/FlowSessionEngine.d.ts +69 -1
- package/vendor/core/dist/engine/FlowSessionEngine.d.ts.map +1 -1
- package/vendor/core/dist/engine/FlowSessionEngine.js +268 -7
- package/vendor/core/dist/engine/FlowSessionEngine.js.map +1 -1
- package/vendor/core/dist/engine/PairingEngine.d.ts +44 -1
- package/vendor/core/dist/engine/PairingEngine.d.ts.map +1 -1
- package/vendor/core/dist/engine/PairingEngine.js +103 -9
- package/vendor/core/dist/engine/PairingEngine.js.map +1 -1
- package/vendor/core/dist/engine/UserflowCore.d.ts +23 -4
- package/vendor/core/dist/engine/UserflowCore.d.ts.map +1 -1
- package/vendor/core/dist/engine/UserflowCore.js +64 -1
- package/vendor/core/dist/engine/UserflowCore.js.map +1 -1
- package/vendor/core/dist/engine/conditionOperators.d.ts +16 -0
- package/vendor/core/dist/engine/conditionOperators.d.ts.map +1 -0
- package/vendor/core/dist/engine/conditionOperators.js +168 -0
- package/vendor/core/dist/engine/conditionOperators.js.map +1 -0
- package/vendor/core/dist/engine/handleActions.d.ts +27 -4
- package/vendor/core/dist/engine/handleActions.d.ts.map +1 -1
- package/vendor/core/dist/engine/handleActions.js +140 -13
- package/vendor/core/dist/engine/handleActions.js.map +1 -1
- package/vendor/core/dist/engine/simpleObservable.d.ts +13 -0
- package/vendor/core/dist/engine/simpleObservable.d.ts.map +1 -0
- package/vendor/core/dist/engine/simpleObservable.js +29 -0
- package/vendor/core/dist/engine/simpleObservable.js.map +1 -0
- package/vendor/core/dist/engine/trackCondition.d.ts +25 -0
- package/vendor/core/dist/engine/trackCondition.d.ts.map +1 -0
- package/vendor/core/dist/engine/trackCondition.js +177 -0
- package/vendor/core/dist/engine/trackCondition.js.map +1 -0
- package/vendor/core/dist/engine/trackStepTriggers.d.ts +21 -0
- package/vendor/core/dist/engine/trackStepTriggers.d.ts.map +1 -0
- package/vendor/core/dist/engine/trackStepTriggers.js +49 -0
- package/vendor/core/dist/engine/trackStepTriggers.js.map +1 -0
- package/vendor/core/dist/index.d.ts +4 -3
- package/vendor/core/dist/index.d.ts.map +1 -1
- package/vendor/core/dist/index.js +2 -1
- package/vendor/core/dist/index.js.map +1 -1
- package/vendor/core/dist/normalizeAttributes.d.ts +8 -0
- package/vendor/core/dist/normalizeAttributes.d.ts.map +1 -0
- package/vendor/core/dist/normalizeAttributes.js +127 -0
- package/vendor/core/dist/normalizeAttributes.js.map +1 -0
- package/vendor/core/dist/transport/phoenix.d.ts +11 -6
- package/vendor/core/dist/transport/phoenix.d.ts.map +1 -1
- package/vendor/core/dist/transport/phoenix.js +59 -5
- package/vendor/core/dist/transport/phoenix.js.map +1 -1
- package/vendor/core/dist/types.d.ts +26 -1
- package/vendor/core/dist/types.d.ts.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/attributes.d.ts +43 -0
- package/vendor/protocol/dist/attributes.d.ts.map +1 -0
- package/vendor/protocol/dist/attributes.js +15 -0
- package/vendor/protocol/dist/attributes.js.map +1 -0
- package/vendor/protocol/dist/autoData.d.ts +2 -2
- package/vendor/protocol/dist/autoData.js +2 -2
- package/vendor/protocol/dist/events.d.ts +8 -0
- package/vendor/protocol/dist/events.d.ts.map +1 -1
- package/vendor/protocol/dist/flows.d.ts +66 -4
- package/vendor/protocol/dist/flows.d.ts.map +1 -1
- package/vendor/protocol/dist/flows.js +50 -3
- package/vendor/protocol/dist/flows.js.map +1 -1
- package/vendor/protocol/dist/index.d.ts +1 -0
- package/vendor/protocol/dist/index.d.ts.map +1 -1
- package/vendor/protocol/dist/index.js +1 -0
- package/vendor/protocol/dist/index.js.map +1 -1
- package/vendor/protocol/dist/messages.d.ts +25 -4
- package/vendor/protocol/dist/messages.d.ts.map +1 -1
- package/vendor/protocol/dist/messages.js +4 -0
- package/vendor/protocol/dist/messages.js.map +1 -1
- package/vendor/protocol/dist/pairing.d.ts +26 -0
- package/vendor/protocol/dist/pairing.d.ts.map +1 -1
- package/vendor/protocol/dist/pairing.js.map +1 -1
- package/vendor/protocol/package.json +1 -1
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import { StyleSheet, View } from 'react-native';
|
|
5
|
+
import { changedTouchPoints, forEachChangedTouch } from "../../runtime/changedTouchPoints.js";
|
|
6
|
+
import { doubleTapMonitor } from "./doubleTapMonitor.js";
|
|
7
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
|
+
/**
|
|
9
|
+
* Observes screen-wide touches for {@link doubleTapMonitor} without claiming
|
|
10
|
+
* the responder. Must wrap **both** host app content and authoring chrome —
|
|
11
|
+
* preview-bar taps never bubble through `TargetPressBridge`, which only
|
|
12
|
+
* wraps the app tree.
|
|
13
|
+
*/
|
|
14
|
+
export function DoubleTapBridge({
|
|
15
|
+
children
|
|
16
|
+
}) {
|
|
17
|
+
const onTouchStart = React.useCallback(event => {
|
|
18
|
+
forEachChangedTouch(event, (identifier, pageX, pageY) => {
|
|
19
|
+
doubleTapMonitor.handleTouchStart(identifier, pageX, pageY);
|
|
20
|
+
});
|
|
21
|
+
}, []);
|
|
22
|
+
const onTouchEnd = React.useCallback(event => {
|
|
23
|
+
forEachChangedTouch(event, (identifier, pageX, pageY) => {
|
|
24
|
+
doubleTapMonitor.handleTouchEnd(identifier, pageX, pageY);
|
|
25
|
+
});
|
|
26
|
+
}, []);
|
|
27
|
+
const onTouchCancel = React.useCallback(event => {
|
|
28
|
+
const points = changedTouchPoints(event);
|
|
29
|
+
if (points.length === 0) {
|
|
30
|
+
doubleTapMonitor.cancelTouch();
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
for (const touch of points) {
|
|
34
|
+
doubleTapMonitor.cancelTouch(touch.identifier);
|
|
35
|
+
}
|
|
36
|
+
}, []);
|
|
37
|
+
return /*#__PURE__*/_jsx(View, {
|
|
38
|
+
style: styles.root,
|
|
39
|
+
collapsable: false,
|
|
40
|
+
onTouchStart: onTouchStart,
|
|
41
|
+
onTouchEnd: onTouchEnd,
|
|
42
|
+
onTouchCancel: onTouchCancel,
|
|
43
|
+
testID: "userflow-double-tap-bridge",
|
|
44
|
+
children: children
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
const styles = StyleSheet.create({
|
|
48
|
+
root: {
|
|
49
|
+
flex: 1
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
//# sourceMappingURL=DoubleTapBridge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","StyleSheet","View","changedTouchPoints","forEachChangedTouch","doubleTapMonitor","jsx","_jsx","DoubleTapBridge","children","onTouchStart","useCallback","event","identifier","pageX","pageY","handleTouchStart","onTouchEnd","handleTouchEnd","onTouchCancel","points","length","cancelTouch","touch","style","styles","root","collapsable","testID","create","flex"],"sourceRoot":"../../../../src","sources":["authoring/chrome/DoubleTapBridge.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,UAAU,EAAEC,IAAI,QAAoC,cAAc;AAE3E,SAASC,kBAAkB,EAAEC,mBAAmB,QAAQ,qCAAkC;AAE1F,SAASC,gBAAgB,QAAQ,uBAAoB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAMtD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,eAAeA,CAAC;EAAEC;AAA+B,CAAC,EAAsB;EACtF,MAAMC,YAAY,GAAGV,KAAK,CAACW,WAAW,CAAEC,KAA4B,IAAK;IACvER,mBAAmB,CAACQ,KAAK,EAAE,CAACC,UAAU,EAAEC,KAAK,EAAEC,KAAK,KAAK;MACvDV,gBAAgB,CAACW,gBAAgB,CAACH,UAAU,EAAEC,KAAK,EAAEC,KAAK,CAAC;IAC7D,CAAC,CAAC;EACJ,CAAC,EAAE,EAAE,CAAC;EAEN,MAAME,UAAU,GAAGjB,KAAK,CAACW,WAAW,CAAEC,KAA4B,IAAK;IACrER,mBAAmB,CAACQ,KAAK,EAAE,CAACC,UAAU,EAAEC,KAAK,EAAEC,KAAK,KAAK;MACvDV,gBAAgB,CAACa,cAAc,CAACL,UAAU,EAAEC,KAAK,EAAEC,KAAK,CAAC;IAC3D,CAAC,CAAC;EACJ,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMI,aAAa,GAAGnB,KAAK,CAACW,WAAW,CAAEC,KAA4B,IAAK;IACxE,MAAMQ,MAAM,GAAGjB,kBAAkB,CAACS,KAAK,CAAC;IACxC,IAAIQ,MAAM,CAACC,MAAM,KAAK,CAAC,EAAE;MACvBhB,gBAAgB,CAACiB,WAAW,CAAC,CAAC;MAC9B;IACF;IACA,KAAK,MAAMC,KAAK,IAAIH,MAAM,EAAE;MAC1Bf,gBAAgB,CAACiB,WAAW,CAACC,KAAK,CAACV,UAAU,CAAC;IAChD;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,oBACEN,IAAA,CAACL,IAAI;IACHsB,KAAK,EAAEC,MAAM,CAACC,IAAK;IACnBC,WAAW,EAAE,KAAM;IACnBjB,YAAY,EAAEA,YAAa;IAC3BO,UAAU,EAAEA,UAAW;IACvBE,aAAa,EAAEA,aAAc;IAC7BS,MAAM,EAAC,4BAA4B;IAAAnB,QAAA,EAElCA;EAAQ,CACL,CAAC;AAEX;AAEA,MAAMgB,MAAM,GAAGxB,UAAU,CAAC4B,MAAM,CAAC;EAC/BH,IAAI,EAAE;IACJI,IAAI,EAAE;EACR;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { TARGET_PRESS_TAP_SLOP } from "../../anchors/targetPressMonitor.js";
|
|
4
|
+
import { isDoubleTap } from "../doubleTap.js";
|
|
5
|
+
/**
|
|
6
|
+
* Screen-wide double-tap observer. Never claims the responder — the host app
|
|
7
|
+
* keeps scrolling and tapping. Used by preview-mode chrome, which has no
|
|
8
|
+
* capture layer of its own.
|
|
9
|
+
*
|
|
10
|
+
* Distinct from `targetPressMonitor`: that singleton is bound to a tooltip
|
|
11
|
+
* target rect and fires `onPress`, not a double-tap toggle.
|
|
12
|
+
*/
|
|
13
|
+
export class DoubleTapMonitor {
|
|
14
|
+
subscription = null;
|
|
15
|
+
touchStarts = new Map();
|
|
16
|
+
lastTap = null;
|
|
17
|
+
set(subscription) {
|
|
18
|
+
this.subscription = subscription;
|
|
19
|
+
if (!subscription) {
|
|
20
|
+
this.touchStarts.clear();
|
|
21
|
+
this.lastTap = null;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
handleTouchStart(identifier, pageX, pageY) {
|
|
25
|
+
if (!this.subscription) {
|
|
26
|
+
this.touchStarts.clear();
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
this.touchStarts.set(identifier, {
|
|
30
|
+
pageX,
|
|
31
|
+
pageY
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
handleTouchEnd(identifier, pageX, pageY) {
|
|
35
|
+
const start = this.touchStarts.get(identifier) ?? null;
|
|
36
|
+
this.touchStarts.delete(identifier);
|
|
37
|
+
const sub = this.subscription;
|
|
38
|
+
if (!start || !sub) return;
|
|
39
|
+
const dx = pageX - start.pageX;
|
|
40
|
+
const dy = pageY - start.pageY;
|
|
41
|
+
if (dx * dx + dy * dy > TARGET_PRESS_TAP_SLOP * TARGET_PRESS_TAP_SLOP) {
|
|
42
|
+
this.lastTap = null;
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
const sample = {
|
|
46
|
+
pageX,
|
|
47
|
+
pageY,
|
|
48
|
+
timestamp: Date.now()
|
|
49
|
+
};
|
|
50
|
+
if (isDoubleTap(this.lastTap, sample)) {
|
|
51
|
+
this.lastTap = null;
|
|
52
|
+
sub.onDoubleTap();
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
this.lastTap = sample;
|
|
56
|
+
}
|
|
57
|
+
cancelTouch(identifier) {
|
|
58
|
+
if (identifier == null) {
|
|
59
|
+
this.touchStarts.clear();
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
this.touchStarts.delete(identifier);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/** Test helper. */
|
|
66
|
+
resetForTests() {
|
|
67
|
+
this.subscription = null;
|
|
68
|
+
this.touchStarts.clear();
|
|
69
|
+
this.lastTap = null;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/** Shared singleton used by PreviewModeBanner and DoubleTapBridge. */
|
|
74
|
+
export const doubleTapMonitor = new DoubleTapMonitor();
|
|
75
|
+
//# sourceMappingURL=doubleTapMonitor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["TARGET_PRESS_TAP_SLOP","isDoubleTap","DoubleTapMonitor","subscription","touchStarts","Map","lastTap","set","clear","handleTouchStart","identifier","pageX","pageY","handleTouchEnd","start","get","delete","sub","dx","dy","sample","timestamp","Date","now","onDoubleTap","cancelTouch","resetForTests","doubleTapMonitor"],"sourceRoot":"../../../../src","sources":["authoring/chrome/doubleTapMonitor.ts"],"mappings":";;AAAA,SACEA,qBAAqB,QAGhB,qCAAkC;AACzC,SAASC,WAAW,QAAwB,iBAAc;AAM1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,gBAAgB,CAAC;EACpBC,YAAY,GAAiC,IAAI;EACjDC,WAAW,GAAG,IAAIC,GAAG,CAA8B,CAAC;EACpDC,OAAO,GAAqB,IAAI;EAExCC,GAAGA,CAACJ,YAA0C,EAAQ;IACpD,IAAI,CAACA,YAAY,GAAGA,YAAY;IAChC,IAAI,CAACA,YAAY,EAAE;MACjB,IAAI,CAACC,WAAW,CAACI,KAAK,CAAC,CAAC;MACxB,IAAI,CAACF,OAAO,GAAG,IAAI;IACrB;EACF;EAEAG,gBAAgBA,CAACC,UAA2B,EAAEC,KAAa,EAAEC,KAAa,EAAQ;IAChF,IAAI,CAAC,IAAI,CAACT,YAAY,EAAE;MACtB,IAAI,CAACC,WAAW,CAACI,KAAK,CAAC,CAAC;MACxB;IACF;IACA,IAAI,CAACJ,WAAW,CAACG,GAAG,CAACG,UAAU,EAAE;MAAEC,KAAK;MAAEC;IAAM,CAAC,CAAC;EACpD;EAEAC,cAAcA,CAACH,UAA2B,EAAEC,KAAa,EAAEC,KAAa,EAAQ;IAC9E,MAAME,KAAK,GAAG,IAAI,CAACV,WAAW,CAACW,GAAG,CAACL,UAAU,CAAC,IAAI,IAAI;IACtD,IAAI,CAACN,WAAW,CAACY,MAAM,CAACN,UAAU,CAAC;IACnC,MAAMO,GAAG,GAAG,IAAI,CAACd,YAAY;IAC7B,IAAI,CAACW,KAAK,IAAI,CAACG,GAAG,EAAE;IAEpB,MAAMC,EAAE,GAAGP,KAAK,GAAGG,KAAK,CAACH,KAAK;IAC9B,MAAMQ,EAAE,GAAGP,KAAK,GAAGE,KAAK,CAACF,KAAK;IAC9B,IAAIM,EAAE,GAAGA,EAAE,GAAGC,EAAE,GAAGA,EAAE,GAAGnB,qBAAqB,GAAGA,qBAAqB,EAAE;MACrE,IAAI,CAACM,OAAO,GAAG,IAAI;MACnB;IACF;IAEA,MAAMc,MAAiB,GAAG;MAAET,KAAK;MAAEC,KAAK;MAAES,SAAS,EAAEC,IAAI,CAACC,GAAG,CAAC;IAAE,CAAC;IACjE,IAAItB,WAAW,CAAC,IAAI,CAACK,OAAO,EAAEc,MAAM,CAAC,EAAE;MACrC,IAAI,CAACd,OAAO,GAAG,IAAI;MACnBW,GAAG,CAACO,WAAW,CAAC,CAAC;MACjB;IACF;IACA,IAAI,CAAClB,OAAO,GAAGc,MAAM;EACvB;EAEAK,WAAWA,CAACf,UAA4B,EAAQ;IAC9C,IAAIA,UAAU,IAAI,IAAI,EAAE;MACtB,IAAI,CAACN,WAAW,CAACI,KAAK,CAAC,CAAC;MACxB;IACF;IACA,IAAI,CAACJ,WAAW,CAACY,MAAM,CAACN,UAAU,CAAC;EACrC;;EAEA;EACAgB,aAAaA,CAAA,EAAS;IACpB,IAAI,CAACvB,YAAY,GAAG,IAAI;IACxB,IAAI,CAACC,WAAW,CAACI,KAAK,CAAC,CAAC;IACxB,IAAI,CAACF,OAAO,GAAG,IAAI;EACrB;AACF;;AAEA;AACA,OAAO,MAAMqB,gBAAgB,GAAG,IAAIzB,gBAAgB,CAAC,CAAC","ignoreList":[]}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Authoring-chrome tokens from the Userflow React Native Figma file
|
|
5
|
+
* (`BojC6qdlFUytdD1bRsNLV8`). These are independent of end-user flow
|
|
6
|
+
* `ThemeFragment` — pairing / picker UI is not themed by the server.
|
|
7
|
+
*
|
|
8
|
+
* Typography omits `fontFamily` so RN uses SF Pro / Roboto.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
export const chromeColors = {
|
|
12
|
+
primaryText: '#132b39',
|
|
13
|
+
invertedText: '#ffffff',
|
|
14
|
+
blue500: '#1a57e6',
|
|
15
|
+
overlay: 'rgba(0, 0, 0, 0.2)',
|
|
16
|
+
/** Figma Colors/Effect/Focus Ring (`#2f69ee59`). */
|
|
17
|
+
focusRing: 'rgba(47, 105, 238, 0.35)',
|
|
18
|
+
bgMiddle: '#f4f8fb',
|
|
19
|
+
danger: '#57000e',
|
|
20
|
+
white: '#ffffff',
|
|
21
|
+
/** Figma Shadow/Button. Opacity is applied in `chromeShadows`. */
|
|
22
|
+
shadowButton: 'rgb(54, 107, 214)'
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* `chromeColors.overlay` split for TooltipCutout's composite-once contract
|
|
27
|
+
* (`backdropColor` + `backdropOpacity` rather than a single rgba string).
|
|
28
|
+
*/
|
|
29
|
+
export const chromeOverlay = {
|
|
30
|
+
color: '#000000',
|
|
31
|
+
opacity: 0.2
|
|
32
|
+
};
|
|
33
|
+
export const chromeSpace = {
|
|
34
|
+
0: 0,
|
|
35
|
+
8: 8,
|
|
36
|
+
12: 12,
|
|
37
|
+
16: 16,
|
|
38
|
+
20: 20,
|
|
39
|
+
24: 24
|
|
40
|
+
};
|
|
41
|
+
export const chromeRadius = {
|
|
42
|
+
md: 4,
|
|
43
|
+
lg: 8,
|
|
44
|
+
fullyRounded: 9999
|
|
45
|
+
};
|
|
46
|
+
export const chromeText = {
|
|
47
|
+
barTitle: {
|
|
48
|
+
fontSize: 16,
|
|
49
|
+
fontWeight: '600',
|
|
50
|
+
lineHeight: 20
|
|
51
|
+
},
|
|
52
|
+
buttonLabel: {
|
|
53
|
+
fontSize: 16,
|
|
54
|
+
fontWeight: '600',
|
|
55
|
+
lineHeight: 20
|
|
56
|
+
},
|
|
57
|
+
/** Figma Labels/SM Bold — bottom-sheet helper copy (3869:521). */
|
|
58
|
+
labelSmBold: {
|
|
59
|
+
fontSize: 14,
|
|
60
|
+
fontWeight: '600',
|
|
61
|
+
lineHeight: 16
|
|
62
|
+
},
|
|
63
|
+
dialogTitle: {
|
|
64
|
+
fontSize: 18,
|
|
65
|
+
fontWeight: '500',
|
|
66
|
+
lineHeight: 24
|
|
67
|
+
},
|
|
68
|
+
dialogBody: {
|
|
69
|
+
fontSize: 16,
|
|
70
|
+
fontWeight: '400',
|
|
71
|
+
lineHeight: 24
|
|
72
|
+
},
|
|
73
|
+
tooltip: {
|
|
74
|
+
fontSize: 14,
|
|
75
|
+
fontWeight: '500',
|
|
76
|
+
lineHeight: 16
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Figma drop shadows approximated as RN `shadow*` + Android `elevation`.
|
|
82
|
+
* There is no shared chrome shadow helper — TooltipBubble's elevation pairing
|
|
83
|
+
* is tooltip-specific and is not reused here.
|
|
84
|
+
*/
|
|
85
|
+
export const chromeShadows = {
|
|
86
|
+
/** Shadow/Button — primary pill. */
|
|
87
|
+
button: {
|
|
88
|
+
shadowColor: chromeColors.shadowButton,
|
|
89
|
+
shadowOffset: {
|
|
90
|
+
width: 0,
|
|
91
|
+
height: 4
|
|
92
|
+
},
|
|
93
|
+
shadowOpacity: 0.5,
|
|
94
|
+
shadowRadius: 8,
|
|
95
|
+
elevation: 4
|
|
96
|
+
},
|
|
97
|
+
/** Shadow/Button (Subtle) — secondary / icon pills. */
|
|
98
|
+
buttonSubtle: {
|
|
99
|
+
shadowColor: chromeColors.shadowButton,
|
|
100
|
+
shadowOffset: {
|
|
101
|
+
width: 0,
|
|
102
|
+
height: 2
|
|
103
|
+
},
|
|
104
|
+
shadowOpacity: 0.5,
|
|
105
|
+
shadowRadius: 4,
|
|
106
|
+
elevation: 2
|
|
107
|
+
},
|
|
108
|
+
/** Shadow/Card — full-bleed top/bottom bars. */
|
|
109
|
+
card: {
|
|
110
|
+
shadowColor: chromeColors.primaryText,
|
|
111
|
+
shadowOffset: {
|
|
112
|
+
width: 0,
|
|
113
|
+
height: 4
|
|
114
|
+
},
|
|
115
|
+
shadowOpacity: 0.1,
|
|
116
|
+
shadowRadius: 12,
|
|
117
|
+
elevation: 8
|
|
118
|
+
},
|
|
119
|
+
/** Shadow/Default (Subtle) — onboarding tooltip. */
|
|
120
|
+
tooltip: {
|
|
121
|
+
shadowColor: chromeColors.primaryText,
|
|
122
|
+
shadowOffset: {
|
|
123
|
+
width: 0,
|
|
124
|
+
height: 4
|
|
125
|
+
},
|
|
126
|
+
shadowOpacity: 0.1,
|
|
127
|
+
shadowRadius: 12,
|
|
128
|
+
elevation: 4
|
|
129
|
+
},
|
|
130
|
+
/**
|
|
131
|
+
* Dialog card. Carries the values ChromeDialog shipped with (shadowRadius 6 /
|
|
132
|
+
* elevation 6). Figma names this Shadow/Default (Subtle) — the same token as
|
|
133
|
+
* `tooltip` — but the radius-convention audit across chrome shadows is Phase 6.
|
|
134
|
+
*/
|
|
135
|
+
dialog: {
|
|
136
|
+
shadowColor: chromeColors.primaryText,
|
|
137
|
+
shadowOffset: {
|
|
138
|
+
width: 0,
|
|
139
|
+
height: 4
|
|
140
|
+
},
|
|
141
|
+
shadowOpacity: 0.1,
|
|
142
|
+
shadowRadius: 6,
|
|
143
|
+
elevation: 6
|
|
144
|
+
}
|
|
145
|
+
};
|
|
146
|
+
//# sourceMappingURL=tokens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["chromeColors","primaryText","invertedText","blue500","overlay","focusRing","bgMiddle","danger","white","shadowButton","chromeOverlay","color","opacity","chromeSpace","chromeRadius","md","lg","fullyRounded","chromeText","barTitle","fontSize","fontWeight","lineHeight","buttonLabel","labelSmBold","dialogTitle","dialogBody","tooltip","chromeShadows","button","shadowColor","shadowOffset","width","height","shadowOpacity","shadowRadius","elevation","buttonSubtle","card","dialog"],"sourceRoot":"../../../../src","sources":["authoring/chrome/tokens.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export const DOUBLE_TAP_WINDOW_MS = 300;
|
|
4
|
+
export const DOUBLE_TAP_SLOP = 40;
|
|
5
|
+
/**
|
|
6
|
+
* True when `next` lands close enough in space and time to `prev` to count as
|
|
7
|
+
* the second half of a double tap. Inclusive on both the time window and slop
|
|
8
|
+
* so a tap at exactly the boundary still toggles chrome rather than selecting.
|
|
9
|
+
*/
|
|
10
|
+
export function isDoubleTap(prev, next, windowMs = DOUBLE_TAP_WINDOW_MS, slop = DOUBLE_TAP_SLOP) {
|
|
11
|
+
if (prev == null) return false;
|
|
12
|
+
const dt = next.timestamp - prev.timestamp;
|
|
13
|
+
if (dt < 0 || dt > windowMs) return false;
|
|
14
|
+
const dx = next.pageX - prev.pageX;
|
|
15
|
+
const dy = next.pageY - prev.pageY;
|
|
16
|
+
return dx * dx + dy * dy <= slop * slop;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=doubleTap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DOUBLE_TAP_WINDOW_MS","DOUBLE_TAP_SLOP","isDoubleTap","prev","next","windowMs","slop","dt","timestamp","dx","pageX","dy","pageY"],"sourceRoot":"../../../src","sources":["authoring/doubleTap.ts"],"mappings":";;AAAA,OAAO,MAAMA,oBAAoB,GAAG,GAAG;AACvC,OAAO,MAAMC,eAAe,GAAG,EAAE;AAQjC;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,WAAWA,CACzBC,IAAsB,EACtBC,IAAe,EACfC,QAAgB,GAAGL,oBAAoB,EACvCM,IAAY,GAAGL,eAAe,EACrB;EACT,IAAIE,IAAI,IAAI,IAAI,EAAE,OAAO,KAAK;EAC9B,MAAMI,EAAE,GAAGH,IAAI,CAACI,SAAS,GAAGL,IAAI,CAACK,SAAS;EAC1C,IAAID,EAAE,GAAG,CAAC,IAAIA,EAAE,GAAGF,QAAQ,EAAE,OAAO,KAAK;EACzC,MAAMI,EAAE,GAAGL,IAAI,CAACM,KAAK,GAAGP,IAAI,CAACO,KAAK;EAClC,MAAMC,EAAE,GAAGP,IAAI,CAACQ,KAAK,GAAGT,IAAI,CAACS,KAAK;EAClC,OAAOH,EAAE,GAAGA,EAAE,GAAGE,EAAE,GAAGA,EAAE,IAAIL,IAAI,GAAGA,IAAI;AACzC","ignoreList":[]}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const IDLE = {
|
|
4
|
+
active: false
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* Module singleton for the in-app element picker. Pairing glue (and the QA
|
|
8
|
+
* harness) call {@link beginSelection}; {@link ElementPickerOverlay} reads
|
|
9
|
+
* state and commits/cancels.
|
|
10
|
+
*/
|
|
11
|
+
export class ElementPickerController {
|
|
12
|
+
request = null;
|
|
13
|
+
nextId = 1;
|
|
14
|
+
listeners = new Set();
|
|
15
|
+
getState() {
|
|
16
|
+
if (!this.request) return {
|
|
17
|
+
...IDLE
|
|
18
|
+
};
|
|
19
|
+
return {
|
|
20
|
+
active: true,
|
|
21
|
+
requestId: this.request.requestId,
|
|
22
|
+
...(this.request.elementType != null ? {
|
|
23
|
+
elementType: this.request.elementType
|
|
24
|
+
} : {})
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
subscribe(listener) {
|
|
28
|
+
this.listeners.add(listener);
|
|
29
|
+
listener(this.getState());
|
|
30
|
+
return () => {
|
|
31
|
+
this.listeners.delete(listener);
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
beginSelection(request) {
|
|
35
|
+
if (this.request) {
|
|
36
|
+
this.request.onCancel?.();
|
|
37
|
+
}
|
|
38
|
+
const requestId = request.requestId ?? `pick-${this.nextId++}`;
|
|
39
|
+
this.request = {
|
|
40
|
+
...request,
|
|
41
|
+
requestId
|
|
42
|
+
};
|
|
43
|
+
this.emit();
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Deliver `result` to the active request. When `expectedId` is passed, a
|
|
48
|
+
* mismatch (stale Confirm after a newer `beginSelection`) is a no-op.
|
|
49
|
+
* Omitting `expectedId` is for synchronous tests/QA.
|
|
50
|
+
*
|
|
51
|
+
* If `onResult` returns a rejected promise (e.g. relay not connected), the
|
|
52
|
+
* request stays active so the overlay can retry. Ack timeouts should be
|
|
53
|
+
* swallowed by the caller of `onResult`, not thrown here.
|
|
54
|
+
*/
|
|
55
|
+
async commit(result, expectedId) {
|
|
56
|
+
const req = this.request;
|
|
57
|
+
if (!req) return false;
|
|
58
|
+
if (expectedId != null && req.requestId !== expectedId) return false;
|
|
59
|
+
try {
|
|
60
|
+
await req.onResult(result);
|
|
61
|
+
} catch {
|
|
62
|
+
return this.request === req ? false : true;
|
|
63
|
+
}
|
|
64
|
+
if (this.request !== req) return true;
|
|
65
|
+
this.request = null;
|
|
66
|
+
this.emit();
|
|
67
|
+
return true;
|
|
68
|
+
}
|
|
69
|
+
cancel() {
|
|
70
|
+
const req = this.request;
|
|
71
|
+
this.request = null;
|
|
72
|
+
this.emit();
|
|
73
|
+
if (!req) return;
|
|
74
|
+
try {
|
|
75
|
+
req.onCancel?.();
|
|
76
|
+
} catch {
|
|
77
|
+
// Authoring callbacks must not break the host.
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
resetForTests() {
|
|
81
|
+
this.request = null;
|
|
82
|
+
this.nextId = 1;
|
|
83
|
+
this.listeners.clear();
|
|
84
|
+
}
|
|
85
|
+
emit() {
|
|
86
|
+
const state = this.getState();
|
|
87
|
+
for (const listener of this.listeners) {
|
|
88
|
+
try {
|
|
89
|
+
listener(state);
|
|
90
|
+
} catch {
|
|
91
|
+
// listeners are infrastructure
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
export const elementPickerController = new ElementPickerController();
|
|
97
|
+
//# sourceMappingURL=elementPickerController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["IDLE","active","ElementPickerController","request","nextId","listeners","Set","getState","requestId","elementType","subscribe","listener","add","delete","beginSelection","onCancel","emit","commit","result","expectedId","req","onResult","cancel","resetForTests","clear","state","elementPickerController"],"sourceRoot":"../../../src","sources":["authoring/elementPickerController.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { encodeMobileAutoData, MOBILE_AUTODATA_VERSION, MOBILE_FINGERPRINT_VERSION } from '@userflow-tech/protocol';
|
|
4
|
+
import { Dimensions, Platform } from 'react-native';
|
|
5
|
+
import { autoAnchorRegistry } from "../anchors/AutoAnchorRegistry.js";
|
|
6
|
+
import * as semanticMatcher from "../anchors/semanticMatcher.js";
|
|
7
|
+
import { getCurrentScreenLocation } from "../screenTracker.js";
|
|
8
|
+
function deriveIdentityStrength(inst) {
|
|
9
|
+
const hasId = !!(inst.userflowId || inst.testID || inst.manualId || inst.nativeID && !inst.nativeID.startsWith('uf_'));
|
|
10
|
+
if (hasId) return 'id';
|
|
11
|
+
if (inst.childText || inst.accessibilityLabel || inst.iconName || inst.imageSrc) {
|
|
12
|
+
return 'content';
|
|
13
|
+
}
|
|
14
|
+
return 'structural';
|
|
15
|
+
}
|
|
16
|
+
function screenFromLocation() {
|
|
17
|
+
const location = getCurrentScreenLocation();
|
|
18
|
+
if (!location) return {
|
|
19
|
+
screenId: 'unknown'
|
|
20
|
+
};
|
|
21
|
+
if ('path' in location) return {
|
|
22
|
+
screenId: location.path,
|
|
23
|
+
screenName: location.path
|
|
24
|
+
};
|
|
25
|
+
return {
|
|
26
|
+
screenId: location.screen,
|
|
27
|
+
screenName: location.screen
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
function deviceMetadata() {
|
|
31
|
+
try {
|
|
32
|
+
const window = Dimensions.get('window');
|
|
33
|
+
return {
|
|
34
|
+
screenWidth: window.width,
|
|
35
|
+
screenHeight: window.height,
|
|
36
|
+
scale: window.scale,
|
|
37
|
+
platform: Platform.OS === 'android' ? 'android' : 'ios'
|
|
38
|
+
};
|
|
39
|
+
} catch {
|
|
40
|
+
return undefined;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Inverse of `scoreInstance` field-reads: snapshot a live registry instance
|
|
46
|
+
* into the fingerprint the scored matcher consumes at play time.
|
|
47
|
+
*/
|
|
48
|
+
export function fingerprintFromInstance(inst) {
|
|
49
|
+
autoAnchorRegistry.refreshLiveContent([inst, ...autoAnchorRegistry.orderedSiblingsIncludingSelf(inst.instanceId)]);
|
|
50
|
+
const window = autoAnchorRegistry.siblingWindow(inst.instanceId, 2);
|
|
51
|
+
return {
|
|
52
|
+
version: MOBILE_FINGERPRINT_VERSION,
|
|
53
|
+
structuralPath: inst.structuralPath,
|
|
54
|
+
templatePath: inst.templatePath,
|
|
55
|
+
...(inst.instanceScope ? {
|
|
56
|
+
instanceScope: inst.instanceScope
|
|
57
|
+
} : {}),
|
|
58
|
+
kind: inst.kind,
|
|
59
|
+
role: inst.role,
|
|
60
|
+
...(inst.manualId ? {
|
|
61
|
+
manualId: inst.manualId
|
|
62
|
+
} : {}),
|
|
63
|
+
...(inst.userflowId ? {
|
|
64
|
+
userflowId: inst.userflowId
|
|
65
|
+
} : {}),
|
|
66
|
+
...(inst.testID ? {
|
|
67
|
+
testID: inst.testID
|
|
68
|
+
} : {}),
|
|
69
|
+
...(inst.nativeID ? {
|
|
70
|
+
nativeID: inst.nativeID
|
|
71
|
+
} : {}),
|
|
72
|
+
...(inst.childText ? {
|
|
73
|
+
childText: inst.childText
|
|
74
|
+
} : {}),
|
|
75
|
+
...(inst.accessibilityLabel ? {
|
|
76
|
+
accessibilityLabel: inst.accessibilityLabel
|
|
77
|
+
} : {}),
|
|
78
|
+
...(inst.childShape ? {
|
|
79
|
+
childShape: inst.childShape
|
|
80
|
+
} : {}),
|
|
81
|
+
...(inst.iconName ? {
|
|
82
|
+
iconName: inst.iconName
|
|
83
|
+
} : {}),
|
|
84
|
+
...(inst.imageSrc ? {
|
|
85
|
+
imageSrc: inst.imageSrc
|
|
86
|
+
} : {}),
|
|
87
|
+
ancestors: inst.ancestors ? [...inst.ancestors] : [],
|
|
88
|
+
previousSiblings: window.previous,
|
|
89
|
+
nextSiblings: window.next,
|
|
90
|
+
...(inst.ordinal !== undefined ? {
|
|
91
|
+
ordinal: inst.ordinal
|
|
92
|
+
} : {}),
|
|
93
|
+
...(inst.siblingIndex !== undefined ? {
|
|
94
|
+
siblingIndex: inst.siblingIndex
|
|
95
|
+
} : {}),
|
|
96
|
+
isPressable: inst.isPressable,
|
|
97
|
+
ambiguous: inst.ambiguous,
|
|
98
|
+
identityStrength: deriveIdentityStrength(inst)
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
/** Wrap a live instance in the `FlowSelector.autoData` envelope. */
|
|
103
|
+
export function autoDataFromInstance(inst) {
|
|
104
|
+
const fingerprint = fingerprintFromInstance(inst);
|
|
105
|
+
const {
|
|
106
|
+
screenId,
|
|
107
|
+
screenName
|
|
108
|
+
} = screenFromLocation();
|
|
109
|
+
const device = deviceMetadata();
|
|
110
|
+
const selector = inst.structuralPath || inst.templatePath || inst.registryKey;
|
|
111
|
+
return {
|
|
112
|
+
version: MOBILE_AUTODATA_VERSION,
|
|
113
|
+
platform: 'react-native',
|
|
114
|
+
selector,
|
|
115
|
+
displayName: inst.kind,
|
|
116
|
+
...(inst.manualId ? {
|
|
117
|
+
anchorId: inst.manualId,
|
|
118
|
+
manualId: inst.manualId
|
|
119
|
+
} : {}),
|
|
120
|
+
primary: {
|
|
121
|
+
ufid: inst.structuralPath || inst.registryKey,
|
|
122
|
+
...(inst.nativeID ? {
|
|
123
|
+
nativeId: inst.nativeID
|
|
124
|
+
} : {})
|
|
125
|
+
},
|
|
126
|
+
fingerprint,
|
|
127
|
+
screenId,
|
|
128
|
+
...(screenName ? {
|
|
129
|
+
screenName
|
|
130
|
+
} : {}),
|
|
131
|
+
platformData: {
|
|
132
|
+
...(inst.testID ? {
|
|
133
|
+
testID: inst.testID
|
|
134
|
+
} : {}),
|
|
135
|
+
...(inst.accessibilityLabel ? {
|
|
136
|
+
accessibilityLabel: inst.accessibilityLabel
|
|
137
|
+
} : {}),
|
|
138
|
+
...(inst.childText ? {
|
|
139
|
+
childText: inst.childText
|
|
140
|
+
} : {}),
|
|
141
|
+
...(inst.childShape ? {
|
|
142
|
+
childShape: inst.childShape
|
|
143
|
+
} : {}),
|
|
144
|
+
...(inst.structuralPath ? {
|
|
145
|
+
structuralPath: inst.structuralPath
|
|
146
|
+
} : {}),
|
|
147
|
+
...(inst.templatePath ? {
|
|
148
|
+
templatePath: inst.templatePath
|
|
149
|
+
} : {}),
|
|
150
|
+
...(inst.instanceScope ? {
|
|
151
|
+
instanceScope: inst.instanceScope
|
|
152
|
+
} : {}),
|
|
153
|
+
isPressable: inst.isPressable
|
|
154
|
+
},
|
|
155
|
+
...(device ? {
|
|
156
|
+
device
|
|
157
|
+
} : {})
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
export function encodeInstanceAutoData(inst) {
|
|
161
|
+
return encodeMobileAutoData(autoDataFromInstance(inst));
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Encode `inst` and run the play-time matcher. Confirm may proceed only on a
|
|
165
|
+
* unique hit of this same instance.
|
|
166
|
+
*/
|
|
167
|
+
export function validatePickerFingerprint(inst) {
|
|
168
|
+
const autoData = encodeInstanceAutoData(inst);
|
|
169
|
+
const match = semanticMatcher.matchAutoData(autoData);
|
|
170
|
+
if (!match.instance) {
|
|
171
|
+
return {
|
|
172
|
+
ok: false,
|
|
173
|
+
reason: match.reason ?? 'no-candidates'
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
if (match.instance.instanceId !== inst.instanceId) {
|
|
177
|
+
return {
|
|
178
|
+
ok: false,
|
|
179
|
+
reason: 'wrong-instance'
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
return {
|
|
183
|
+
ok: true,
|
|
184
|
+
autoData
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
//# sourceMappingURL=fingerprintFromInstance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["encodeMobileAutoData","MOBILE_AUTODATA_VERSION","MOBILE_FINGERPRINT_VERSION","Dimensions","Platform","autoAnchorRegistry","semanticMatcher","getCurrentScreenLocation","deriveIdentityStrength","inst","hasId","userflowId","testID","manualId","nativeID","startsWith","childText","accessibilityLabel","iconName","imageSrc","screenFromLocation","location","screenId","path","screenName","screen","deviceMetadata","window","get","screenWidth","width","screenHeight","height","scale","platform","OS","undefined","fingerprintFromInstance","refreshLiveContent","orderedSiblingsIncludingSelf","instanceId","siblingWindow","version","structuralPath","templatePath","instanceScope","kind","role","childShape","ancestors","previousSiblings","previous","nextSiblings","next","ordinal","siblingIndex","isPressable","ambiguous","identityStrength","autoDataFromInstance","fingerprint","device","selector","registryKey","displayName","anchorId","primary","ufid","nativeId","platformData","encodeInstanceAutoData","validatePickerFingerprint","autoData","match","matchAutoData","instance","ok","reason"],"sourceRoot":"../../../src","sources":["authoring/fingerprintFromInstance.ts"],"mappings":"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","ignoreList":[]}
|