@userflow-tech/react-native 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +114 -68
- package/app.plugin.js +13 -0
- package/babel-plugin/index.d.ts +43 -0
- package/babel-plugin/index.d.ts.map +1 -0
- package/babel-plugin/index.js +862 -0
- package/babel-plugin/index.js.map +1 -0
- package/babel-plugin.js +13 -0
- package/docs/anchoring.md +141 -13
- package/docs/deep-linking.md +20 -17
- package/docs/theme-mapping.md +44 -15
- package/docs/troubleshooting.md +37 -30
- package/expo-plugin/withUserflow.d.ts +17 -0
- package/expo-plugin/withUserflow.d.ts.map +1 -0
- package/expo-plugin/withUserflow.js +99 -0
- package/expo-plugin/withUserflow.js.map +1 -0
- package/lib/commonjs/anchors/AutoAnchorRegistry.js +125 -3
- 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/autoAnchor.js +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/hintsCodec.js +1 -1
- 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 +11 -2
- 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 +126 -3
- 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/autoAnchor.js +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/hintsCodec.js +1 -1
- 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 +10 -2
- 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 +27 -1
- 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/autoAnchor.d.ts +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/hintsCodec.d.ts +1 -1
- 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 +27 -1
- 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/autoAnchor.d.ts +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/hintsCodec.d.ts +1 -1
- 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 +32 -18
- package/src/anchors/AutoAnchorRegistry.ts +140 -3
- package/src/anchors/anchorChangeTicker.ts +10 -0
- package/src/anchors/autoAnchor.ts +1 -1
- 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/hintsCodec.ts +1 -1
- 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 +10 -2
- 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/LICENSE +76 -0
- package/vendor/core/README.md +9 -0
- package/vendor/core/dist/attributes.d.ts +15 -0
- package/vendor/core/dist/attributes.d.ts.map +1 -0
- package/vendor/core/dist/attributes.js +55 -0
- package/vendor/core/dist/attributes.js.map +1 -0
- package/vendor/core/dist/constants.d.ts +21 -0
- package/vendor/core/dist/constants.d.ts.map +1 -0
- package/vendor/core/dist/constants.js +21 -0
- package/vendor/core/dist/constants.js.map +1 -0
- package/vendor/core/dist/engine/ClientConditionEngine.d.ts +68 -0
- package/vendor/core/dist/engine/ClientConditionEngine.d.ts.map +1 -0
- package/vendor/core/dist/engine/ClientConditionEngine.js +197 -0
- package/vendor/core/dist/engine/ClientConditionEngine.js.map +1 -0
- package/vendor/core/dist/engine/FlowSessionEngine.d.ts +160 -0
- package/vendor/core/dist/engine/FlowSessionEngine.d.ts.map +1 -0
- package/vendor/core/dist/engine/FlowSessionEngine.js +571 -0
- package/vendor/core/dist/engine/FlowSessionEngine.js.map +1 -0
- package/vendor/core/dist/engine/PairingEngine.d.ts +135 -0
- package/vendor/core/dist/engine/PairingEngine.d.ts.map +1 -0
- package/vendor/core/dist/engine/PairingEngine.js +396 -0
- package/vendor/core/dist/engine/PairingEngine.js.map +1 -0
- package/vendor/core/dist/engine/UserflowCore.d.ts +145 -0
- package/vendor/core/dist/engine/UserflowCore.d.ts.map +1 -0
- package/vendor/core/dist/engine/UserflowCore.js +329 -0
- package/vendor/core/dist/engine/UserflowCore.js.map +1 -0
- 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 +42 -0
- package/vendor/core/dist/engine/handleActions.d.ts.map +1 -0
- package/vendor/core/dist/engine/handleActions.js +198 -0
- package/vendor/core/dist/engine/handleActions.js.map +1 -0
- package/vendor/core/dist/engine/interpolateSessionData.d.ts +7 -0
- package/vendor/core/dist/engine/interpolateSessionData.d.ts.map +1 -0
- package/vendor/core/dist/engine/interpolateSessionData.js +29 -0
- package/vendor/core/dist/engine/interpolateSessionData.js.map +1 -0
- 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/errors.d.ts +9 -0
- package/vendor/core/dist/errors.d.ts.map +1 -0
- package/vendor/core/dist/errors.js +15 -0
- package/vendor/core/dist/errors.js.map +1 -0
- package/vendor/core/dist/eventAttributes.d.ts +7 -0
- package/vendor/core/dist/eventAttributes.d.ts.map +1 -0
- package/vendor/core/dist/eventAttributes.js +31 -0
- package/vendor/core/dist/eventAttributes.js.map +1 -0
- package/vendor/core/dist/index.d.ts +31 -0
- package/vendor/core/dist/index.d.ts.map +1 -0
- package/vendor/core/dist/index.js +22 -0
- package/vendor/core/dist/index.js.map +1 -0
- 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/backoff.d.ts +11 -0
- package/vendor/core/dist/transport/backoff.d.ts.map +1 -0
- package/vendor/core/dist/transport/backoff.js +17 -0
- package/vendor/core/dist/transport/backoff.js.map +1 -0
- package/vendor/core/dist/transport/pairing.d.ts +121 -0
- package/vendor/core/dist/transport/pairing.d.ts.map +1 -0
- package/vendor/core/dist/transport/pairing.js +551 -0
- package/vendor/core/dist/transport/pairing.js.map +1 -0
- package/vendor/core/dist/transport/phoenix.d.ts +228 -0
- package/vendor/core/dist/transport/phoenix.d.ts.map +1 -0
- package/vendor/core/dist/transport/phoenix.js +811 -0
- package/vendor/core/dist/transport/phoenix.js.map +1 -0
- package/vendor/core/dist/transport/rateLimiter.d.ts +17 -0
- package/vendor/core/dist/transport/rateLimiter.d.ts.map +1 -0
- package/vendor/core/dist/transport/rateLimiter.js +30 -0
- package/vendor/core/dist/transport/rateLimiter.js.map +1 -0
- package/vendor/core/dist/transport/scheduler.d.ts +12 -0
- package/vendor/core/dist/transport/scheduler.d.ts.map +1 -0
- package/vendor/core/dist/transport/scheduler.js +11 -0
- package/vendor/core/dist/transport/scheduler.js.map +1 -0
- package/vendor/core/dist/types.d.ts +60 -0
- package/vendor/core/dist/types.d.ts.map +1 -0
- package/vendor/core/dist/types.js +2 -0
- package/vendor/core/dist/types.js.map +1 -0
- package/vendor/core/dist/version.d.ts +3 -0
- package/vendor/core/dist/version.d.ts.map +1 -0
- package/vendor/core/dist/version.js +3 -0
- package/vendor/core/dist/version.js.map +1 -0
- package/vendor/core/package.json +20 -0
- package/vendor/protocol/LICENSE +76 -0
- package/vendor/protocol/README.md +8 -0
- 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 +232 -0
- package/vendor/protocol/dist/autoData.d.ts.map +1 -0
- package/vendor/protocol/dist/autoData.js +78 -0
- package/vendor/protocol/dist/autoData.js.map +1 -0
- package/vendor/protocol/dist/events.d.ts +24 -0
- package/vendor/protocol/dist/events.d.ts.map +1 -0
- package/vendor/protocol/dist/events.js +8 -0
- package/vendor/protocol/dist/events.js.map +1 -0
- package/vendor/protocol/dist/flows.d.ts +360 -0
- package/vendor/protocol/dist/flows.d.ts.map +1 -0
- package/vendor/protocol/dist/flows.js +201 -0
- package/vendor/protocol/dist/flows.js.map +1 -0
- package/vendor/protocol/dist/index.d.ts +25 -0
- package/vendor/protocol/dist/index.d.ts.map +1 -0
- package/vendor/protocol/dist/index.js +17 -0
- package/vendor/protocol/dist/index.js.map +1 -0
- package/vendor/protocol/dist/messages.d.ts +187 -0
- package/vendor/protocol/dist/messages.d.ts.map +1 -0
- package/vendor/protocol/dist/messages.js +61 -0
- package/vendor/protocol/dist/messages.js.map +1 -0
- package/vendor/protocol/dist/pairing.d.ts +82 -0
- package/vendor/protocol/dist/pairing.d.ts.map +1 -0
- package/vendor/protocol/dist/pairing.js +146 -0
- package/vendor/protocol/dist/pairing.js.map +1 -0
- package/vendor/protocol/package.json +17 -0
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ChromeTopBar = ChromeTopBar;
|
|
7
|
+
var React = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _safeArea = require("../../surfaces/safeArea.js");
|
|
10
|
+
var _userflowLogomark = _interopRequireDefault(require("./icons/userflow-logomark.png"));
|
|
11
|
+
var _tokens = require("./tokens.js");
|
|
12
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
15
|
+
/**
|
|
16
|
+
* Full-bleed authoring top bar. Height comes from safe-area + content, not
|
|
17
|
+
* the 120pt Figma frame (that number already includes the status bar).
|
|
18
|
+
*
|
|
19
|
+
* Measured on the Pro Max reference: 4pt below the status bar, 16pt above
|
|
20
|
+
* the bottom edge of the bar.
|
|
21
|
+
*/
|
|
22
|
+
function ChromeTopBar({
|
|
23
|
+
label,
|
|
24
|
+
tone = 'default',
|
|
25
|
+
left,
|
|
26
|
+
right,
|
|
27
|
+
onMeasureHeight,
|
|
28
|
+
numberOfLines = 1,
|
|
29
|
+
accessibilityElementsHidden,
|
|
30
|
+
importantForAccessibility,
|
|
31
|
+
testID = 'userflow-chrome-top-bar'
|
|
32
|
+
}) {
|
|
33
|
+
const insets = (0, _safeArea.useUserflowSafeAreaInsets)();
|
|
34
|
+
const onLayout = React.useCallback(event => {
|
|
35
|
+
onMeasureHeight?.(event.nativeEvent.layout.height);
|
|
36
|
+
}, [onMeasureHeight]);
|
|
37
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
38
|
+
accessibilityElementsHidden: accessibilityElementsHidden,
|
|
39
|
+
importantForAccessibility: importantForAccessibility,
|
|
40
|
+
testID: testID,
|
|
41
|
+
onLayout: onLayout,
|
|
42
|
+
style: [styles.bar, _tokens.chromeShadows.card, {
|
|
43
|
+
backgroundColor: tone === 'error' ? _tokens.chromeColors.danger : _tokens.chromeColors.primaryText,
|
|
44
|
+
paddingTop: insets.top + CONTENT_TOP_GAP
|
|
45
|
+
}],
|
|
46
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
47
|
+
style: styles.row,
|
|
48
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
49
|
+
style: styles.slot,
|
|
50
|
+
children: left
|
|
51
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
52
|
+
style: styles.labelRow,
|
|
53
|
+
pointerEvents: "none",
|
|
54
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Image, {
|
|
55
|
+
accessibilityIgnoresInvertColors: true,
|
|
56
|
+
source: _userflowLogomark.default,
|
|
57
|
+
style: styles.logomark,
|
|
58
|
+
testID: "userflow-chrome-logomark"
|
|
59
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
60
|
+
numberOfLines: numberOfLines,
|
|
61
|
+
style: [_tokens.chromeText.barTitle, styles.label],
|
|
62
|
+
children: label
|
|
63
|
+
})]
|
|
64
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
65
|
+
style: styles.slot,
|
|
66
|
+
children: right
|
|
67
|
+
})]
|
|
68
|
+
})
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
const SLOT = 40;
|
|
72
|
+
/** Gap between the status-bar inset and the content row (Figma: 5pt / we use 4). */
|
|
73
|
+
const CONTENT_TOP_GAP = 4;
|
|
74
|
+
const styles = _reactNative.StyleSheet.create({
|
|
75
|
+
bar: {
|
|
76
|
+
paddingHorizontal: _tokens.chromeSpace[24],
|
|
77
|
+
paddingBottom: _tokens.chromeSpace[16]
|
|
78
|
+
},
|
|
79
|
+
row: {
|
|
80
|
+
flexDirection: 'row',
|
|
81
|
+
alignItems: 'center',
|
|
82
|
+
minHeight: SLOT
|
|
83
|
+
},
|
|
84
|
+
slot: {
|
|
85
|
+
width: SLOT,
|
|
86
|
+
height: SLOT,
|
|
87
|
+
alignItems: 'center',
|
|
88
|
+
justifyContent: 'center'
|
|
89
|
+
},
|
|
90
|
+
labelRow: {
|
|
91
|
+
flex: 1,
|
|
92
|
+
flexDirection: 'row',
|
|
93
|
+
alignItems: 'center',
|
|
94
|
+
justifyContent: 'center',
|
|
95
|
+
gap: _tokens.chromeSpace[8],
|
|
96
|
+
paddingHorizontal: _tokens.chromeSpace[8]
|
|
97
|
+
},
|
|
98
|
+
label: {
|
|
99
|
+
color: _tokens.chromeColors.invertedText,
|
|
100
|
+
textAlign: 'center',
|
|
101
|
+
flexShrink: 1
|
|
102
|
+
},
|
|
103
|
+
logomark: {
|
|
104
|
+
// Figma `Warstwa_1` stacked-card mark. Not the Made-with-Userflow footer glyph.
|
|
105
|
+
width: 24,
|
|
106
|
+
height: 22,
|
|
107
|
+
tintColor: _tokens.chromeColors.invertedText
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
//# sourceMappingURL=ChromeTopBar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_safeArea","_userflowLogomark","_interopRequireDefault","_tokens","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ChromeTopBar","label","tone","left","right","onMeasureHeight","numberOfLines","accessibilityElementsHidden","importantForAccessibility","testID","insets","useUserflowSafeAreaInsets","onLayout","useCallback","event","nativeEvent","layout","height","jsx","View","style","styles","bar","chromeShadows","card","backgroundColor","chromeColors","danger","primaryText","paddingTop","top","CONTENT_TOP_GAP","children","jsxs","row","slot","labelRow","pointerEvents","Image","accessibilityIgnoresInvertColors","source","logomark","Text","chromeText","barTitle","SLOT","StyleSheet","create","paddingHorizontal","chromeSpace","paddingBottom","flexDirection","alignItems","minHeight","width","justifyContent","flex","gap","color","invertedText","textAlign","flexShrink","tintColor"],"sourceRoot":"../../../../src","sources":["authoring/chrome/ChromeTopBar.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.DoubleTapBridge = DoubleTapBridge;
|
|
7
|
+
var React = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _changedTouchPoints = require("../../runtime/changedTouchPoints.js");
|
|
10
|
+
var _doubleTapMonitor = require("./doubleTapMonitor.js");
|
|
11
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
13
|
+
/**
|
|
14
|
+
* Observes screen-wide touches for {@link doubleTapMonitor} without claiming
|
|
15
|
+
* the responder. Must wrap **both** host app content and authoring chrome —
|
|
16
|
+
* preview-bar taps never bubble through `TargetPressBridge`, which only
|
|
17
|
+
* wraps the app tree.
|
|
18
|
+
*/
|
|
19
|
+
function DoubleTapBridge({
|
|
20
|
+
children
|
|
21
|
+
}) {
|
|
22
|
+
const onTouchStart = React.useCallback(event => {
|
|
23
|
+
(0, _changedTouchPoints.forEachChangedTouch)(event, (identifier, pageX, pageY) => {
|
|
24
|
+
_doubleTapMonitor.doubleTapMonitor.handleTouchStart(identifier, pageX, pageY);
|
|
25
|
+
});
|
|
26
|
+
}, []);
|
|
27
|
+
const onTouchEnd = React.useCallback(event => {
|
|
28
|
+
(0, _changedTouchPoints.forEachChangedTouch)(event, (identifier, pageX, pageY) => {
|
|
29
|
+
_doubleTapMonitor.doubleTapMonitor.handleTouchEnd(identifier, pageX, pageY);
|
|
30
|
+
});
|
|
31
|
+
}, []);
|
|
32
|
+
const onTouchCancel = React.useCallback(event => {
|
|
33
|
+
const points = (0, _changedTouchPoints.changedTouchPoints)(event);
|
|
34
|
+
if (points.length === 0) {
|
|
35
|
+
_doubleTapMonitor.doubleTapMonitor.cancelTouch();
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
for (const touch of points) {
|
|
39
|
+
_doubleTapMonitor.doubleTapMonitor.cancelTouch(touch.identifier);
|
|
40
|
+
}
|
|
41
|
+
}, []);
|
|
42
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
43
|
+
style: styles.root,
|
|
44
|
+
collapsable: false,
|
|
45
|
+
onTouchStart: onTouchStart,
|
|
46
|
+
onTouchEnd: onTouchEnd,
|
|
47
|
+
onTouchCancel: onTouchCancel,
|
|
48
|
+
testID: "userflow-double-tap-bridge",
|
|
49
|
+
children: children
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
const styles = _reactNative.StyleSheet.create({
|
|
53
|
+
root: {
|
|
54
|
+
flex: 1
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
//# sourceMappingURL=DoubleTapBridge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_changedTouchPoints","_doubleTapMonitor","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DoubleTapBridge","children","onTouchStart","useCallback","event","forEachChangedTouch","identifier","pageX","pageY","doubleTapMonitor","handleTouchStart","onTouchEnd","handleTouchEnd","onTouchCancel","points","changedTouchPoints","length","cancelTouch","touch","jsx","View","style","styles","root","collapsable","testID","StyleSheet","create","flex"],"sourceRoot":"../../../../src","sources":["authoring/chrome/DoubleTapBridge.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.doubleTapMonitor = exports.DoubleTapMonitor = void 0;
|
|
7
|
+
var _targetPressMonitor = require("../../anchors/targetPressMonitor.js");
|
|
8
|
+
var _doubleTap = require("../doubleTap.js");
|
|
9
|
+
/**
|
|
10
|
+
* Screen-wide double-tap observer. Never claims the responder — the host app
|
|
11
|
+
* keeps scrolling and tapping. Used by preview-mode chrome, which has no
|
|
12
|
+
* capture layer of its own.
|
|
13
|
+
*
|
|
14
|
+
* Distinct from `targetPressMonitor`: that singleton is bound to a tooltip
|
|
15
|
+
* target rect and fires `onPress`, not a double-tap toggle.
|
|
16
|
+
*/
|
|
17
|
+
class DoubleTapMonitor {
|
|
18
|
+
subscription = null;
|
|
19
|
+
touchStarts = new Map();
|
|
20
|
+
lastTap = null;
|
|
21
|
+
set(subscription) {
|
|
22
|
+
this.subscription = subscription;
|
|
23
|
+
if (!subscription) {
|
|
24
|
+
this.touchStarts.clear();
|
|
25
|
+
this.lastTap = null;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
handleTouchStart(identifier, pageX, pageY) {
|
|
29
|
+
if (!this.subscription) {
|
|
30
|
+
this.touchStarts.clear();
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
this.touchStarts.set(identifier, {
|
|
34
|
+
pageX,
|
|
35
|
+
pageY
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
handleTouchEnd(identifier, pageX, pageY) {
|
|
39
|
+
const start = this.touchStarts.get(identifier) ?? null;
|
|
40
|
+
this.touchStarts.delete(identifier);
|
|
41
|
+
const sub = this.subscription;
|
|
42
|
+
if (!start || !sub) return;
|
|
43
|
+
const dx = pageX - start.pageX;
|
|
44
|
+
const dy = pageY - start.pageY;
|
|
45
|
+
if (dx * dx + dy * dy > _targetPressMonitor.TARGET_PRESS_TAP_SLOP * _targetPressMonitor.TARGET_PRESS_TAP_SLOP) {
|
|
46
|
+
this.lastTap = null;
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
const sample = {
|
|
50
|
+
pageX,
|
|
51
|
+
pageY,
|
|
52
|
+
timestamp: Date.now()
|
|
53
|
+
};
|
|
54
|
+
if ((0, _doubleTap.isDoubleTap)(this.lastTap, sample)) {
|
|
55
|
+
this.lastTap = null;
|
|
56
|
+
sub.onDoubleTap();
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
this.lastTap = sample;
|
|
60
|
+
}
|
|
61
|
+
cancelTouch(identifier) {
|
|
62
|
+
if (identifier == null) {
|
|
63
|
+
this.touchStarts.clear();
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
this.touchStarts.delete(identifier);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/** Test helper. */
|
|
70
|
+
resetForTests() {
|
|
71
|
+
this.subscription = null;
|
|
72
|
+
this.touchStarts.clear();
|
|
73
|
+
this.lastTap = null;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/** Shared singleton used by PreviewModeBanner and DoubleTapBridge. */
|
|
78
|
+
exports.DoubleTapMonitor = DoubleTapMonitor;
|
|
79
|
+
const doubleTapMonitor = exports.doubleTapMonitor = new DoubleTapMonitor();
|
|
80
|
+
//# sourceMappingURL=doubleTapMonitor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_targetPressMonitor","require","_doubleTap","DoubleTapMonitor","subscription","touchStarts","Map","lastTap","set","clear","handleTouchStart","identifier","pageX","pageY","handleTouchEnd","start","get","delete","sub","dx","dy","TARGET_PRESS_TAP_SLOP","sample","timestamp","Date","now","isDoubleTap","onDoubleTap","cancelTouch","resetForTests","exports","doubleTapMonitor"],"sourceRoot":"../../../../src","sources":["authoring/chrome/doubleTapMonitor.ts"],"mappings":";;;;;;AAAA,IAAAA,mBAAA,GAAAC,OAAA;AAKA,IAAAC,UAAA,GAAAD,OAAA;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAME,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,GAAGC,yCAAqB,GAAGA,yCAAqB,EAAE;MACrE,IAAI,CAACd,OAAO,GAAG,IAAI;MACnB;IACF;IAEA,MAAMe,MAAiB,GAAG;MAAEV,KAAK;MAAEC,KAAK;MAAEU,SAAS,EAAEC,IAAI,CAACC,GAAG,CAAC;IAAE,CAAC;IACjE,IAAI,IAAAC,sBAAW,EAAC,IAAI,CAACnB,OAAO,EAAEe,MAAM,CAAC,EAAE;MACrC,IAAI,CAACf,OAAO,GAAG,IAAI;MACnBW,GAAG,CAACS,WAAW,CAAC,CAAC;MACjB;IACF;IACA,IAAI,CAACpB,OAAO,GAAGe,MAAM;EACvB;EAEAM,WAAWA,CAACjB,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;EACAkB,aAAaA,CAAA,EAAS;IACpB,IAAI,CAACzB,YAAY,GAAG,IAAI;IACxB,IAAI,CAACC,WAAW,CAACI,KAAK,CAAC,CAAC;IACxB,IAAI,CAACF,OAAO,GAAG,IAAI;EACrB;AACF;;AAEA;AAAAuB,OAAA,CAAA3B,gBAAA,GAAAA,gBAAA;AACO,MAAM4B,gBAAgB,GAAAD,OAAA,CAAAC,gBAAA,GAAG,IAAI5B,gBAAgB,CAAC,CAAC","ignoreList":[]}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.chromeText = exports.chromeSpace = exports.chromeShadows = exports.chromeRadius = exports.chromeOverlay = exports.chromeColors = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* Authoring-chrome tokens from the Userflow React Native Figma file
|
|
9
|
+
* (`BojC6qdlFUytdD1bRsNLV8`). These are independent of end-user flow
|
|
10
|
+
* `ThemeFragment` — pairing / picker UI is not themed by the server.
|
|
11
|
+
*
|
|
12
|
+
* Typography omits `fontFamily` so RN uses SF Pro / Roboto.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
const chromeColors = exports.chromeColors = {
|
|
16
|
+
primaryText: '#132b39',
|
|
17
|
+
invertedText: '#ffffff',
|
|
18
|
+
blue500: '#1a57e6',
|
|
19
|
+
overlay: 'rgba(0, 0, 0, 0.2)',
|
|
20
|
+
/** Figma Colors/Effect/Focus Ring (`#2f69ee59`). */
|
|
21
|
+
focusRing: 'rgba(47, 105, 238, 0.35)',
|
|
22
|
+
bgMiddle: '#f4f8fb',
|
|
23
|
+
danger: '#57000e',
|
|
24
|
+
white: '#ffffff',
|
|
25
|
+
/** Figma Shadow/Button. Opacity is applied in `chromeShadows`. */
|
|
26
|
+
shadowButton: 'rgb(54, 107, 214)'
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* `chromeColors.overlay` split for TooltipCutout's composite-once contract
|
|
31
|
+
* (`backdropColor` + `backdropOpacity` rather than a single rgba string).
|
|
32
|
+
*/
|
|
33
|
+
const chromeOverlay = exports.chromeOverlay = {
|
|
34
|
+
color: '#000000',
|
|
35
|
+
opacity: 0.2
|
|
36
|
+
};
|
|
37
|
+
const chromeSpace = exports.chromeSpace = {
|
|
38
|
+
0: 0,
|
|
39
|
+
8: 8,
|
|
40
|
+
12: 12,
|
|
41
|
+
16: 16,
|
|
42
|
+
20: 20,
|
|
43
|
+
24: 24
|
|
44
|
+
};
|
|
45
|
+
const chromeRadius = exports.chromeRadius = {
|
|
46
|
+
md: 4,
|
|
47
|
+
lg: 8,
|
|
48
|
+
fullyRounded: 9999
|
|
49
|
+
};
|
|
50
|
+
const chromeText = exports.chromeText = {
|
|
51
|
+
barTitle: {
|
|
52
|
+
fontSize: 16,
|
|
53
|
+
fontWeight: '600',
|
|
54
|
+
lineHeight: 20
|
|
55
|
+
},
|
|
56
|
+
buttonLabel: {
|
|
57
|
+
fontSize: 16,
|
|
58
|
+
fontWeight: '600',
|
|
59
|
+
lineHeight: 20
|
|
60
|
+
},
|
|
61
|
+
/** Figma Labels/SM Bold — bottom-sheet helper copy (3869:521). */
|
|
62
|
+
labelSmBold: {
|
|
63
|
+
fontSize: 14,
|
|
64
|
+
fontWeight: '600',
|
|
65
|
+
lineHeight: 16
|
|
66
|
+
},
|
|
67
|
+
dialogTitle: {
|
|
68
|
+
fontSize: 18,
|
|
69
|
+
fontWeight: '500',
|
|
70
|
+
lineHeight: 24
|
|
71
|
+
},
|
|
72
|
+
dialogBody: {
|
|
73
|
+
fontSize: 16,
|
|
74
|
+
fontWeight: '400',
|
|
75
|
+
lineHeight: 24
|
|
76
|
+
},
|
|
77
|
+
tooltip: {
|
|
78
|
+
fontSize: 14,
|
|
79
|
+
fontWeight: '500',
|
|
80
|
+
lineHeight: 16
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Figma drop shadows approximated as RN `shadow*` + Android `elevation`.
|
|
86
|
+
* There is no shared chrome shadow helper — TooltipBubble's elevation pairing
|
|
87
|
+
* is tooltip-specific and is not reused here.
|
|
88
|
+
*/
|
|
89
|
+
const chromeShadows = exports.chromeShadows = {
|
|
90
|
+
/** Shadow/Button — primary pill. */
|
|
91
|
+
button: {
|
|
92
|
+
shadowColor: chromeColors.shadowButton,
|
|
93
|
+
shadowOffset: {
|
|
94
|
+
width: 0,
|
|
95
|
+
height: 4
|
|
96
|
+
},
|
|
97
|
+
shadowOpacity: 0.5,
|
|
98
|
+
shadowRadius: 8,
|
|
99
|
+
elevation: 4
|
|
100
|
+
},
|
|
101
|
+
/** Shadow/Button (Subtle) — secondary / icon pills. */
|
|
102
|
+
buttonSubtle: {
|
|
103
|
+
shadowColor: chromeColors.shadowButton,
|
|
104
|
+
shadowOffset: {
|
|
105
|
+
width: 0,
|
|
106
|
+
height: 2
|
|
107
|
+
},
|
|
108
|
+
shadowOpacity: 0.5,
|
|
109
|
+
shadowRadius: 4,
|
|
110
|
+
elevation: 2
|
|
111
|
+
},
|
|
112
|
+
/** Shadow/Card — full-bleed top/bottom bars. */
|
|
113
|
+
card: {
|
|
114
|
+
shadowColor: chromeColors.primaryText,
|
|
115
|
+
shadowOffset: {
|
|
116
|
+
width: 0,
|
|
117
|
+
height: 4
|
|
118
|
+
},
|
|
119
|
+
shadowOpacity: 0.1,
|
|
120
|
+
shadowRadius: 12,
|
|
121
|
+
elevation: 8
|
|
122
|
+
},
|
|
123
|
+
/** Shadow/Default (Subtle) — onboarding tooltip. */
|
|
124
|
+
tooltip: {
|
|
125
|
+
shadowColor: chromeColors.primaryText,
|
|
126
|
+
shadowOffset: {
|
|
127
|
+
width: 0,
|
|
128
|
+
height: 4
|
|
129
|
+
},
|
|
130
|
+
shadowOpacity: 0.1,
|
|
131
|
+
shadowRadius: 12,
|
|
132
|
+
elevation: 4
|
|
133
|
+
},
|
|
134
|
+
/**
|
|
135
|
+
* Dialog card. Carries the values ChromeDialog shipped with (shadowRadius 6 /
|
|
136
|
+
* elevation 6). Figma names this Shadow/Default (Subtle) — the same token as
|
|
137
|
+
* `tooltip` — but the radius-convention audit across chrome shadows is Phase 6.
|
|
138
|
+
*/
|
|
139
|
+
dialog: {
|
|
140
|
+
shadowColor: chromeColors.primaryText,
|
|
141
|
+
shadowOffset: {
|
|
142
|
+
width: 0,
|
|
143
|
+
height: 4
|
|
144
|
+
},
|
|
145
|
+
shadowOpacity: 0.1,
|
|
146
|
+
shadowRadius: 6,
|
|
147
|
+
elevation: 6
|
|
148
|
+
}
|
|
149
|
+
};
|
|
150
|
+
//# sourceMappingURL=tokens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["chromeColors","exports","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,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.DOUBLE_TAP_WINDOW_MS = exports.DOUBLE_TAP_SLOP = void 0;
|
|
7
|
+
exports.isDoubleTap = isDoubleTap;
|
|
8
|
+
const DOUBLE_TAP_WINDOW_MS = exports.DOUBLE_TAP_WINDOW_MS = 300;
|
|
9
|
+
const DOUBLE_TAP_SLOP = exports.DOUBLE_TAP_SLOP = 40;
|
|
10
|
+
/**
|
|
11
|
+
* True when `next` lands close enough in space and time to `prev` to count as
|
|
12
|
+
* the second half of a double tap. Inclusive on both the time window and slop
|
|
13
|
+
* so a tap at exactly the boundary still toggles chrome rather than selecting.
|
|
14
|
+
*/
|
|
15
|
+
function isDoubleTap(prev, next, windowMs = DOUBLE_TAP_WINDOW_MS, slop = DOUBLE_TAP_SLOP) {
|
|
16
|
+
if (prev == null) return false;
|
|
17
|
+
const dt = next.timestamp - prev.timestamp;
|
|
18
|
+
if (dt < 0 || dt > windowMs) return false;
|
|
19
|
+
const dx = next.pageX - prev.pageX;
|
|
20
|
+
const dy = next.pageY - prev.pageY;
|
|
21
|
+
return dx * dx + dy * dy <= slop * slop;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=doubleTap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DOUBLE_TAP_WINDOW_MS","exports","DOUBLE_TAP_SLOP","isDoubleTap","prev","next","windowMs","slop","dt","timestamp","dx","pageX","dy","pageY"],"sourceRoot":"../../../src","sources":["authoring/doubleTap.ts"],"mappings":";;;;;;;AAAO,MAAMA,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,GAAG,GAAG;AAChC,MAAME,eAAe,GAAAD,OAAA,CAAAC,eAAA,GAAG,EAAE;AAQjC;AACA;AACA;AACA;AACA;AACO,SAASC,WAAWA,CACzBC,IAAsB,EACtBC,IAAe,EACfC,QAAgB,GAAGN,oBAAoB,EACvCO,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,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.elementPickerController = exports.ElementPickerController = void 0;
|
|
7
|
+
const IDLE = {
|
|
8
|
+
active: false
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Module singleton for the in-app element picker. Pairing glue (and the QA
|
|
12
|
+
* harness) call {@link beginSelection}; {@link ElementPickerOverlay} reads
|
|
13
|
+
* state and commits/cancels.
|
|
14
|
+
*/
|
|
15
|
+
class ElementPickerController {
|
|
16
|
+
request = null;
|
|
17
|
+
nextId = 1;
|
|
18
|
+
listeners = new Set();
|
|
19
|
+
getState() {
|
|
20
|
+
if (!this.request) return {
|
|
21
|
+
...IDLE
|
|
22
|
+
};
|
|
23
|
+
return {
|
|
24
|
+
active: true,
|
|
25
|
+
requestId: this.request.requestId,
|
|
26
|
+
...(this.request.elementType != null ? {
|
|
27
|
+
elementType: this.request.elementType
|
|
28
|
+
} : {})
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
subscribe(listener) {
|
|
32
|
+
this.listeners.add(listener);
|
|
33
|
+
listener(this.getState());
|
|
34
|
+
return () => {
|
|
35
|
+
this.listeners.delete(listener);
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
beginSelection(request) {
|
|
39
|
+
if (this.request) {
|
|
40
|
+
this.request.onCancel?.();
|
|
41
|
+
}
|
|
42
|
+
const requestId = request.requestId ?? `pick-${this.nextId++}`;
|
|
43
|
+
this.request = {
|
|
44
|
+
...request,
|
|
45
|
+
requestId
|
|
46
|
+
};
|
|
47
|
+
this.emit();
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Deliver `result` to the active request. When `expectedId` is passed, a
|
|
52
|
+
* mismatch (stale Confirm after a newer `beginSelection`) is a no-op.
|
|
53
|
+
* Omitting `expectedId` is for synchronous tests/QA.
|
|
54
|
+
*
|
|
55
|
+
* If `onResult` returns a rejected promise (e.g. relay not connected), the
|
|
56
|
+
* request stays active so the overlay can retry. Ack timeouts should be
|
|
57
|
+
* swallowed by the caller of `onResult`, not thrown here.
|
|
58
|
+
*/
|
|
59
|
+
async commit(result, expectedId) {
|
|
60
|
+
const req = this.request;
|
|
61
|
+
if (!req) return false;
|
|
62
|
+
if (expectedId != null && req.requestId !== expectedId) return false;
|
|
63
|
+
try {
|
|
64
|
+
await req.onResult(result);
|
|
65
|
+
} catch {
|
|
66
|
+
return this.request === req ? false : true;
|
|
67
|
+
}
|
|
68
|
+
if (this.request !== req) return true;
|
|
69
|
+
this.request = null;
|
|
70
|
+
this.emit();
|
|
71
|
+
return true;
|
|
72
|
+
}
|
|
73
|
+
cancel() {
|
|
74
|
+
const req = this.request;
|
|
75
|
+
this.request = null;
|
|
76
|
+
this.emit();
|
|
77
|
+
if (!req) return;
|
|
78
|
+
try {
|
|
79
|
+
req.onCancel?.();
|
|
80
|
+
} catch {
|
|
81
|
+
// Authoring callbacks must not break the host.
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
resetForTests() {
|
|
85
|
+
this.request = null;
|
|
86
|
+
this.nextId = 1;
|
|
87
|
+
this.listeners.clear();
|
|
88
|
+
}
|
|
89
|
+
emit() {
|
|
90
|
+
const state = this.getState();
|
|
91
|
+
for (const listener of this.listeners) {
|
|
92
|
+
try {
|
|
93
|
+
listener(state);
|
|
94
|
+
} catch {
|
|
95
|
+
// listeners are infrastructure
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
exports.ElementPickerController = ElementPickerController;
|
|
101
|
+
const elementPickerController = exports.elementPickerController = new ElementPickerController();
|
|
102
|
+
//# 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","exports","elementPickerController"],"sourceRoot":"../../../src","sources":["authoring/elementPickerController.ts"],"mappings":"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","ignoreList":[]}
|