@userflow-tech/react-native 0.5.0 → 0.7.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 +65 -33
- package/docs/custom-fonts.md +36 -0
- package/docs/troubleshooting.md +45 -44
- package/expo-plugin/hostDependencyWarnings.d.ts +5 -5
- package/expo-plugin/hostDependencyWarnings.js +7 -7
- package/expo-plugin/hostDependencyWarnings.js.map +1 -1
- package/lib/commonjs/anchors/AnchorRegistry.js +5 -0
- package/lib/commonjs/anchors/AnchorRegistry.js.map +1 -1
- package/lib/commonjs/anchors/ScrollContainerRegistry.js +8 -0
- package/lib/commonjs/anchors/ScrollContainerRegistry.js.map +1 -1
- package/lib/commonjs/anchors/fiber/FiberScanRootStore.js +8 -0
- package/lib/commonjs/anchors/fiber/FiberScanRootStore.js.map +1 -1
- package/lib/commonjs/anchors/fiber/detectAppFontFamily.js +341 -0
- package/lib/commonjs/anchors/fiber/detectAppFontFamily.js.map +1 -0
- package/lib/commonjs/anchors/fiber/presentedModal.js +215 -0
- package/lib/commonjs/anchors/fiber/presentedModal.js.map +1 -0
- package/lib/commonjs/anchors/fiber/touchTargetFiber.js +1 -0
- package/lib/commonjs/anchors/fiber/touchTargetFiber.js.map +1 -1
- package/lib/commonjs/anchors/fiber/visibleRect.js +12 -3
- package/lib/commonjs/anchors/fiber/visibleRect.js.map +1 -1
- package/lib/commonjs/anchors/fiber/visibleScreens.js +6 -0
- package/lib/commonjs/anchors/fiber/visibleScreens.js.map +1 -1
- package/lib/commonjs/anchors/useUserflowAnchor.js.map +1 -1
- package/lib/commonjs/anchors/useUserflowScrollContainer.js.map +1 -1
- package/lib/commonjs/authoring/ElementPickerOverlay.js +197 -138
- package/lib/commonjs/authoring/ElementPickerOverlay.js.map +1 -1
- package/lib/commonjs/authoring/hitTest.js +67 -10
- package/lib/commonjs/authoring/hitTest.js.map +1 -1
- package/lib/commonjs/authoring/hostAtPoint.js +45 -21
- package/lib/commonjs/authoring/hostAtPoint.js.map +1 -1
- package/lib/commonjs/content/BannerStepButton.js +2 -1
- package/lib/commonjs/content/BannerStepButton.js.map +1 -1
- package/lib/commonjs/content/RichContentRenderer.js +27 -9
- package/lib/commonjs/content/RichContentRenderer.js.map +1 -1
- package/lib/commonjs/content/StepButton.js +2 -1
- package/lib/commonjs/content/StepButton.js.map +1 -1
- package/lib/commonjs/content/resolveContentFontFamily.js +96 -0
- package/lib/commonjs/content/resolveContentFontFamily.js.map +1 -0
- package/lib/commonjs/deepLinking.js.map +1 -1
- package/lib/commonjs/deviceContext.js +39 -19
- package/lib/commonjs/deviceContext.js.map +1 -1
- package/lib/commonjs/index.js +13 -5
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/installCheck.js +3 -3
- package/lib/commonjs/installCheck.js.map +1 -1
- package/lib/commonjs/lifecycle.js +2 -0
- package/lib/commonjs/lifecycle.js.map +1 -1
- package/lib/commonjs/pairing/PairingController.js.map +1 -1
- package/lib/commonjs/runtime/BannerHost.js +3 -3
- package/lib/commonjs/runtime/BannerHost.js.map +1 -1
- package/lib/commonjs/runtime/UserflowOverlay.js +17 -13
- package/lib/commonjs/runtime/UserflowOverlay.js.map +1 -1
- package/lib/commonjs/runtime/WindowOverlayHost.js +83 -0
- package/lib/commonjs/runtime/WindowOverlayHost.js.map +1 -0
- package/lib/commonjs/runtime/pushBannerLayoutContext.js +11 -8
- package/lib/commonjs/runtime/pushBannerLayoutContext.js.map +1 -1
- package/lib/commonjs/runtime/userflowCore.js +9 -2
- package/lib/commonjs/runtime/userflowCore.js.map +1 -1
- package/lib/commonjs/surfaces/BannerSurface.js +2 -6
- package/lib/commonjs/surfaces/BannerSurface.js.map +1 -1
- package/lib/commonjs/surfaces/ProgressBar.js +2 -1
- package/lib/commonjs/surfaces/ProgressBar.js.map +1 -1
- package/lib/commonjs/surfaces/TooltipSurface.js +114 -51
- package/lib/commonjs/surfaces/TooltipSurface.js.map +1 -1
- package/lib/commonjs/surfaces/bannerWebView/BannerWebViewBar.js +6 -4
- package/lib/commonjs/surfaces/bannerWebView/BannerWebViewBar.js.map +1 -1
- package/lib/commonjs/surfaces/bannerWebView/bannerNeedsWebView.js +3 -33
- package/lib/commonjs/surfaces/bannerWebView/bannerNeedsWebView.js.map +1 -1
- package/lib/commonjs/surfaces/bannerWebView/bannerThemeStyles.js +2 -1
- package/lib/commonjs/surfaces/bannerWebView/bannerThemeStyles.js.map +1 -1
- package/lib/commonjs/surfaces/bannerWebView/bannerWebViewHeight.js +33 -0
- package/lib/commonjs/surfaces/bannerWebView/bannerWebViewHeight.js.map +1 -0
- package/lib/commonjs/surfaces/bannerWebView/buildCustomBannerHtml.js +45 -12
- package/lib/commonjs/surfaces/bannerWebView/buildCustomBannerHtml.js.map +1 -1
- package/lib/commonjs/surfaces/tooltip/TooltipHighlight.js +6 -6
- package/lib/commonjs/surfaces/tooltip/TooltipHighlight.js.map +1 -1
- package/lib/commonjs/surfaces/tooltip/targetOrigin.js +74 -0
- package/lib/commonjs/surfaces/tooltip/targetOrigin.js.map +1 -0
- package/lib/commonjs/version.js +1 -1
- package/lib/module/anchors/AnchorRegistry.js +5 -0
- package/lib/module/anchors/AnchorRegistry.js.map +1 -1
- package/lib/module/anchors/ScrollContainerRegistry.js +8 -0
- package/lib/module/anchors/ScrollContainerRegistry.js.map +1 -1
- package/lib/module/anchors/fiber/FiberScanRootStore.js +8 -0
- package/lib/module/anchors/fiber/FiberScanRootStore.js.map +1 -1
- package/lib/module/anchors/fiber/detectAppFontFamily.js +330 -0
- package/lib/module/anchors/fiber/detectAppFontFamily.js.map +1 -0
- package/lib/module/anchors/fiber/presentedModal.js +206 -0
- package/lib/module/anchors/fiber/presentedModal.js.map +1 -0
- package/lib/module/anchors/fiber/touchTargetFiber.js +1 -0
- package/lib/module/anchors/fiber/touchTargetFiber.js.map +1 -1
- package/lib/module/anchors/fiber/visibleRect.js +12 -3
- package/lib/module/anchors/fiber/visibleRect.js.map +1 -1
- package/lib/module/anchors/fiber/visibleScreens.js +5 -0
- package/lib/module/anchors/fiber/visibleScreens.js.map +1 -1
- package/lib/module/anchors/useUserflowAnchor.js.map +1 -1
- package/lib/module/anchors/useUserflowScrollContainer.js.map +1 -1
- package/lib/module/authoring/ElementPickerOverlay.js +199 -140
- package/lib/module/authoring/ElementPickerOverlay.js.map +1 -1
- package/lib/module/authoring/hitTest.js +67 -11
- package/lib/module/authoring/hitTest.js.map +1 -1
- package/lib/module/authoring/hostAtPoint.js +45 -21
- package/lib/module/authoring/hostAtPoint.js.map +1 -1
- package/lib/module/content/BannerStepButton.js +2 -1
- package/lib/module/content/BannerStepButton.js.map +1 -1
- package/lib/module/content/RichContentRenderer.js +27 -9
- package/lib/module/content/RichContentRenderer.js.map +1 -1
- package/lib/module/content/StepButton.js +2 -1
- package/lib/module/content/StepButton.js.map +1 -1
- package/lib/module/content/resolveContentFontFamily.js +89 -0
- package/lib/module/content/resolveContentFontFamily.js.map +1 -0
- package/lib/module/deepLinking.js.map +1 -1
- package/lib/module/deviceContext.js +38 -17
- package/lib/module/deviceContext.js.map +1 -1
- package/lib/module/index.js +13 -5
- package/lib/module/index.js.map +1 -1
- package/lib/module/installCheck.js +3 -3
- package/lib/module/installCheck.js.map +1 -1
- package/lib/module/lifecycle.js +2 -0
- package/lib/module/lifecycle.js.map +1 -1
- package/lib/module/pairing/PairingController.js.map +1 -1
- package/lib/module/runtime/BannerHost.js +3 -3
- package/lib/module/runtime/BannerHost.js.map +1 -1
- package/lib/module/runtime/UserflowOverlay.js +18 -14
- package/lib/module/runtime/UserflowOverlay.js.map +1 -1
- package/lib/module/runtime/WindowOverlayHost.js +76 -0
- package/lib/module/runtime/WindowOverlayHost.js.map +1 -0
- package/lib/module/runtime/pushBannerLayoutContext.js +11 -8
- package/lib/module/runtime/pushBannerLayoutContext.js.map +1 -1
- package/lib/module/runtime/userflowCore.js +9 -2
- package/lib/module/runtime/userflowCore.js.map +1 -1
- package/lib/module/surfaces/BannerSurface.js +2 -6
- package/lib/module/surfaces/BannerSurface.js.map +1 -1
- package/lib/module/surfaces/ProgressBar.js +2 -1
- package/lib/module/surfaces/ProgressBar.js.map +1 -1
- package/lib/module/surfaces/TooltipSurface.js +114 -51
- package/lib/module/surfaces/TooltipSurface.js.map +1 -1
- package/lib/module/surfaces/bannerWebView/BannerWebViewBar.js +6 -4
- package/lib/module/surfaces/bannerWebView/BannerWebViewBar.js.map +1 -1
- package/lib/module/surfaces/bannerWebView/bannerNeedsWebView.js +3 -31
- package/lib/module/surfaces/bannerWebView/bannerNeedsWebView.js.map +1 -1
- package/lib/module/surfaces/bannerWebView/bannerThemeStyles.js +2 -1
- package/lib/module/surfaces/bannerWebView/bannerThemeStyles.js.map +1 -1
- package/lib/module/surfaces/bannerWebView/bannerWebViewHeight.js +29 -0
- package/lib/module/surfaces/bannerWebView/bannerWebViewHeight.js.map +1 -0
- package/lib/module/surfaces/bannerWebView/buildCustomBannerHtml.js +45 -12
- package/lib/module/surfaces/bannerWebView/buildCustomBannerHtml.js.map +1 -1
- package/lib/module/surfaces/tooltip/TooltipHighlight.js +6 -6
- package/lib/module/surfaces/tooltip/TooltipHighlight.js.map +1 -1
- package/lib/module/surfaces/tooltip/targetOrigin.js +67 -0
- package/lib/module/surfaces/tooltip/targetOrigin.js.map +1 -0
- package/lib/module/version.js +1 -1
- package/lib/typescript/commonjs/src/anchors/AnchorRegistry.d.ts +7 -0
- package/lib/typescript/commonjs/src/anchors/AnchorRegistry.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/anchors/ScrollContainerRegistry.d.ts +11 -2
- package/lib/typescript/commonjs/src/anchors/ScrollContainerRegistry.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/anchors/fiber/FiberScanRootStore.d.ts +5 -0
- package/lib/typescript/commonjs/src/anchors/fiber/FiberScanRootStore.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/anchors/fiber/detectAppFontFamily.d.ts +30 -0
- package/lib/typescript/commonjs/src/anchors/fiber/detectAppFontFamily.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/anchors/fiber/presentedModal.d.ts +45 -0
- package/lib/typescript/commonjs/src/anchors/fiber/presentedModal.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/anchors/fiber/visibleRect.d.ts +5 -2
- package/lib/typescript/commonjs/src/anchors/fiber/visibleRect.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/anchors/fiber/visibleScreens.d.ts +2 -0
- package/lib/typescript/commonjs/src/anchors/fiber/visibleScreens.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/anchors/useUserflowAnchor.d.ts +2 -2
- package/lib/typescript/commonjs/src/anchors/useUserflowAnchor.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/anchors/useUserflowScrollContainer.d.ts +3 -2
- package/lib/typescript/commonjs/src/anchors/useUserflowScrollContainer.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/authoring/ElementPickerOverlay.d.ts +4 -0
- package/lib/typescript/commonjs/src/authoring/ElementPickerOverlay.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/authoring/hitTest.d.ts +25 -2
- package/lib/typescript/commonjs/src/authoring/hitTest.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/authoring/hostAtPoint.d.ts +6 -1
- package/lib/typescript/commonjs/src/authoring/hostAtPoint.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/content/BannerStepButton.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/content/RichContentRenderer.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/content/StepButton.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/content/resolveContentFontFamily.d.ts +35 -0
- package/lib/typescript/commonjs/src/content/resolveContentFontFamily.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/deepLinking.d.ts +1 -1
- package/lib/typescript/commonjs/src/deepLinking.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/deviceContext.d.ts +14 -5
- package/lib/typescript/commonjs/src/deviceContext.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/index.d.ts +11 -5
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/installCheck.d.ts +2 -2
- package/lib/typescript/commonjs/src/installCheck.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/lifecycle.d.ts +1 -0
- package/lib/typescript/commonjs/src/lifecycle.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/pairing/PairingController.d.ts +1 -1
- package/lib/typescript/commonjs/src/pairing/PairingController.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/runtime/UserflowOverlay.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/runtime/WindowOverlayHost.d.ts +34 -0
- package/lib/typescript/commonjs/src/runtime/WindowOverlayHost.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/runtime/pushBannerLayoutContext.d.ts +5 -0
- package/lib/typescript/commonjs/src/runtime/pushBannerLayoutContext.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/runtime/userflowCore.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/surfaces/BannerSurface.d.ts +1 -4
- package/lib/typescript/commonjs/src/surfaces/BannerSurface.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/surfaces/ProgressBar.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/surfaces/TooltipSurface.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/surfaces/bannerWebView/BannerWebViewBar.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/surfaces/bannerWebView/bannerNeedsWebView.d.ts +3 -12
- package/lib/typescript/commonjs/src/surfaces/bannerWebView/bannerNeedsWebView.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/surfaces/bannerWebView/bannerThemeStyles.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/surfaces/bannerWebView/bannerWebViewHeight.d.ts +13 -0
- package/lib/typescript/commonjs/src/surfaces/bannerWebView/bannerWebViewHeight.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/surfaces/bannerWebView/buildCustomBannerHtml.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/surfaces/tooltip/targetOrigin.d.ts +26 -0
- package/lib/typescript/commonjs/src/surfaces/tooltip/targetOrigin.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/version.d.ts +1 -1
- package/lib/typescript/module/src/anchors/AnchorRegistry.d.ts +7 -0
- package/lib/typescript/module/src/anchors/AnchorRegistry.d.ts.map +1 -1
- package/lib/typescript/module/src/anchors/ScrollContainerRegistry.d.ts +11 -2
- package/lib/typescript/module/src/anchors/ScrollContainerRegistry.d.ts.map +1 -1
- package/lib/typescript/module/src/anchors/fiber/FiberScanRootStore.d.ts +5 -0
- package/lib/typescript/module/src/anchors/fiber/FiberScanRootStore.d.ts.map +1 -1
- package/lib/typescript/module/src/anchors/fiber/detectAppFontFamily.d.ts +30 -0
- package/lib/typescript/module/src/anchors/fiber/detectAppFontFamily.d.ts.map +1 -0
- package/lib/typescript/module/src/anchors/fiber/presentedModal.d.ts +45 -0
- package/lib/typescript/module/src/anchors/fiber/presentedModal.d.ts.map +1 -0
- package/lib/typescript/module/src/anchors/fiber/visibleRect.d.ts +5 -2
- package/lib/typescript/module/src/anchors/fiber/visibleRect.d.ts.map +1 -1
- package/lib/typescript/module/src/anchors/fiber/visibleScreens.d.ts +2 -0
- package/lib/typescript/module/src/anchors/fiber/visibleScreens.d.ts.map +1 -1
- package/lib/typescript/module/src/anchors/useUserflowAnchor.d.ts +2 -2
- package/lib/typescript/module/src/anchors/useUserflowAnchor.d.ts.map +1 -1
- package/lib/typescript/module/src/anchors/useUserflowScrollContainer.d.ts +3 -2
- package/lib/typescript/module/src/anchors/useUserflowScrollContainer.d.ts.map +1 -1
- package/lib/typescript/module/src/authoring/ElementPickerOverlay.d.ts +4 -0
- package/lib/typescript/module/src/authoring/ElementPickerOverlay.d.ts.map +1 -1
- package/lib/typescript/module/src/authoring/hitTest.d.ts +25 -2
- package/lib/typescript/module/src/authoring/hitTest.d.ts.map +1 -1
- package/lib/typescript/module/src/authoring/hostAtPoint.d.ts +6 -1
- package/lib/typescript/module/src/authoring/hostAtPoint.d.ts.map +1 -1
- package/lib/typescript/module/src/content/BannerStepButton.d.ts.map +1 -1
- package/lib/typescript/module/src/content/RichContentRenderer.d.ts.map +1 -1
- package/lib/typescript/module/src/content/StepButton.d.ts.map +1 -1
- package/lib/typescript/module/src/content/resolveContentFontFamily.d.ts +35 -0
- package/lib/typescript/module/src/content/resolveContentFontFamily.d.ts.map +1 -0
- package/lib/typescript/module/src/deepLinking.d.ts +1 -1
- package/lib/typescript/module/src/deepLinking.d.ts.map +1 -1
- package/lib/typescript/module/src/deviceContext.d.ts +14 -5
- package/lib/typescript/module/src/deviceContext.d.ts.map +1 -1
- package/lib/typescript/module/src/index.d.ts +11 -5
- package/lib/typescript/module/src/index.d.ts.map +1 -1
- package/lib/typescript/module/src/installCheck.d.ts +2 -2
- package/lib/typescript/module/src/installCheck.d.ts.map +1 -1
- package/lib/typescript/module/src/lifecycle.d.ts +1 -0
- package/lib/typescript/module/src/lifecycle.d.ts.map +1 -1
- package/lib/typescript/module/src/pairing/PairingController.d.ts +1 -1
- package/lib/typescript/module/src/pairing/PairingController.d.ts.map +1 -1
- package/lib/typescript/module/src/runtime/UserflowOverlay.d.ts.map +1 -1
- package/lib/typescript/module/src/runtime/WindowOverlayHost.d.ts +34 -0
- package/lib/typescript/module/src/runtime/WindowOverlayHost.d.ts.map +1 -0
- package/lib/typescript/module/src/runtime/pushBannerLayoutContext.d.ts +5 -0
- package/lib/typescript/module/src/runtime/pushBannerLayoutContext.d.ts.map +1 -1
- package/lib/typescript/module/src/runtime/userflowCore.d.ts.map +1 -1
- package/lib/typescript/module/src/surfaces/BannerSurface.d.ts +1 -4
- package/lib/typescript/module/src/surfaces/BannerSurface.d.ts.map +1 -1
- package/lib/typescript/module/src/surfaces/ProgressBar.d.ts.map +1 -1
- package/lib/typescript/module/src/surfaces/TooltipSurface.d.ts.map +1 -1
- package/lib/typescript/module/src/surfaces/bannerWebView/BannerWebViewBar.d.ts.map +1 -1
- package/lib/typescript/module/src/surfaces/bannerWebView/bannerNeedsWebView.d.ts +3 -12
- package/lib/typescript/module/src/surfaces/bannerWebView/bannerNeedsWebView.d.ts.map +1 -1
- package/lib/typescript/module/src/surfaces/bannerWebView/bannerThemeStyles.d.ts.map +1 -1
- package/lib/typescript/module/src/surfaces/bannerWebView/bannerWebViewHeight.d.ts +13 -0
- package/lib/typescript/module/src/surfaces/bannerWebView/bannerWebViewHeight.d.ts.map +1 -0
- package/lib/typescript/module/src/surfaces/bannerWebView/buildCustomBannerHtml.d.ts.map +1 -1
- package/lib/typescript/module/src/surfaces/tooltip/targetOrigin.d.ts +26 -0
- package/lib/typescript/module/src/surfaces/tooltip/targetOrigin.d.ts.map +1 -0
- package/lib/typescript/module/src/version.d.ts +1 -1
- package/package.json +5 -4
- package/src/anchors/AnchorRegistry.ts +8 -0
- package/src/anchors/ScrollContainerRegistry.ts +15 -3
- package/src/anchors/fiber/FiberScanRootStore.ts +8 -0
- package/src/anchors/fiber/detectAppFontFamily.ts +400 -0
- package/src/anchors/fiber/presentedModal.ts +203 -0
- package/src/anchors/fiber/touchTargetFiber.ts +2 -1
- package/src/anchors/fiber/visibleRect.ts +12 -3
- package/src/anchors/fiber/visibleScreens.ts +5 -0
- package/src/anchors/useUserflowAnchor.ts +4 -5
- package/src/anchors/useUserflowScrollContainer.ts +5 -4
- package/src/authoring/ElementPickerOverlay.tsx +242 -166
- package/src/authoring/hitTest.ts +88 -13
- package/src/authoring/hostAtPoint.ts +67 -21
- package/src/content/BannerStepButton.tsx +2 -1
- package/src/content/RichContentRenderer.tsx +16 -9
- package/src/content/StepButton.tsx +2 -1
- package/src/content/resolveContentFontFamily.ts +119 -0
- package/src/deepLinking.ts +2 -1
- package/src/deviceContext.ts +50 -14
- package/src/index.ts +13 -5
- package/src/installCheck.ts +3 -3
- package/src/lifecycle.ts +2 -1
- package/src/pairing/PairingController.ts +2 -1
- package/src/runtime/BannerHost.tsx +3 -3
- package/src/runtime/UserflowOverlay.tsx +29 -21
- package/src/runtime/WindowOverlayHost.tsx +95 -0
- package/src/runtime/pushBannerLayoutContext.tsx +14 -9
- package/src/runtime/userflowCore.ts +8 -2
- package/src/surfaces/BannerSurface.tsx +2 -6
- package/src/surfaces/ProgressBar.tsx +2 -1
- package/src/surfaces/TooltipSurface.tsx +118 -47
- package/src/surfaces/bannerWebView/BannerWebViewBar.tsx +6 -4
- package/src/surfaces/bannerWebView/bannerNeedsWebView.ts +4 -36
- package/src/surfaces/bannerWebView/bannerThemeStyles.ts +2 -1
- package/src/surfaces/bannerWebView/bannerWebViewHeight.ts +32 -0
- package/src/surfaces/bannerWebView/buildCustomBannerHtml.ts +48 -12
- package/src/surfaces/tooltip/TooltipHighlight.tsx +3 -5
- package/src/surfaces/tooltip/targetOrigin.ts +74 -0
- package/src/version.ts +1 -1
- package/vendor/core/dist/engine/UserflowCore.d.ts +7 -0
- package/vendor/core/dist/engine/UserflowCore.d.ts.map +1 -1
- package/vendor/core/dist/engine/UserflowCore.js +3 -2
- package/vendor/core/dist/engine/UserflowCore.js.map +1 -1
- package/vendor/core/dist/transport/phoenix.d.ts +12 -2
- package/vendor/core/dist/transport/phoenix.d.ts.map +1 -1
- package/vendor/core/dist/transport/phoenix.js +7 -6
- package/vendor/core/dist/transport/phoenix.js.map +1 -1
- package/vendor/core/dist/version.d.ts +1 -1
- package/vendor/core/dist/version.js +1 -1
- package/vendor/core/package.json +1 -1
- package/vendor/protocol/dist/flows.d.ts +2 -0
- package/vendor/protocol/dist/flows.d.ts.map +1 -1
- package/vendor/protocol/package.json +1 -1
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { AnyFiber } from './fiberInternals';
|
|
2
|
+
export interface Point {
|
|
3
|
+
x: number;
|
|
4
|
+
y: number;
|
|
5
|
+
}
|
|
6
|
+
export interface Size {
|
|
7
|
+
width: number;
|
|
8
|
+
height: number;
|
|
9
|
+
}
|
|
10
|
+
export interface PresentedModal {
|
|
11
|
+
/** `RNSModalScreen`, or React Native's `ModalHostView`. */
|
|
12
|
+
host: AnyFiber;
|
|
13
|
+
/**
|
|
14
|
+
* Window position of `(0, 0)` in the space the modal's content is measured
|
|
15
|
+
* and hit-tested in. Null when the modal cannot be placed.
|
|
16
|
+
*/
|
|
17
|
+
origin: Point | null;
|
|
18
|
+
/** The modal's size, when it was measured (iOS Fabric only). */
|
|
19
|
+
size: Size | null;
|
|
20
|
+
/** True on iOS Fabric, where that space is the modal's own rather than the window's. */
|
|
21
|
+
modalSpace: boolean;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Window origin of a presented modal of `size`, bottom-anchored. Null when it
|
|
25
|
+
* is narrower than the window (see above) or does not fit in it, as
|
|
26
|
+
* mid-rotation.
|
|
27
|
+
*/
|
|
28
|
+
export declare function modalOriginInWindow(size: Size, windowSize: Size): Point | null;
|
|
29
|
+
/**
|
|
30
|
+
* The modal drawn on top of the app and where its content space sits in the
|
|
31
|
+
* window, or null when nothing is presented. Look it up per tap: a
|
|
32
|
+
* `fitToContents` sheet resizes as its content changes.
|
|
33
|
+
*/
|
|
34
|
+
export declare function locatePresentedModal(root: AnyFiber | null): Promise<PresentedModal | null>;
|
|
35
|
+
/** True when window point `(x, y)` is outside a placed modal, on the screen it covers. */
|
|
36
|
+
export declare function isOutsideModal(x: number, y: number, modal: PresentedModal): boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Window position of `(0, 0)` in the space `fiber` is measured in, given what
|
|
39
|
+
* {@link locatePresentedModal} returned. Null when `modal` covers `fiber`, or
|
|
40
|
+
* `fiber` is inside a modal that cannot be placed.
|
|
41
|
+
*/
|
|
42
|
+
export declare function measureOriginOf(fiber: AnyFiber, modal: PresentedModal | null): Point | null;
|
|
43
|
+
/** `rect`, measured in `modal`'s content space, in window coordinates. */
|
|
44
|
+
export declare function rectInWindow<T extends Point>(rect: T, modal: PresentedModal): T;
|
|
45
|
+
//# sourceMappingURL=presentedModal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presentedModal.d.ts","sourceRoot":"","sources":["../../../../../../src/anchors/fiber/presentedModal.ts"],"names":[],"mappings":"AAsCA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAIjD,MAAM,WAAW,KAAK;IACpB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,IAAI;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,2DAA2D;IAC3D,IAAI,EAAE,QAAQ,CAAC;IACf;;;OAGG;IACH,MAAM,EAAE,KAAK,GAAG,IAAI,CAAC;IACrB,gEAAgE;IAChE,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,wFAAwF;IACxF,UAAU,EAAE,OAAO,CAAC;CACrB;AA0ED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,GAAG,KAAK,GAAG,IAAI,CAO9E;AAYD;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAUhG;AAED,0FAA0F;AAC1F,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,OAAO,CAInF;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,CAI3F;AAED,0EAA0E;AAC1E,wBAAgB,YAAY,CAAC,CAAC,SAAS,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,cAAc,GAAG,CAAC,CAI/E"}
|
|
@@ -22,8 +22,11 @@ export declare function intersectRects(a: VisibleRect, b: VisibleRect): VisibleR
|
|
|
22
22
|
*/
|
|
23
23
|
export declare function clipToScrollViewports(fiber: AnyFiber | null, rect: VisibleRect): Promise<VisibleRect | null>;
|
|
24
24
|
/**
|
|
25
|
-
* The visible modal host drawn on top, or null
|
|
26
|
-
*
|
|
25
|
+
* The visible modal host drawn on top, or null: a React Native `<Modal>` or a
|
|
26
|
+
* screen react-native-screens presents natively. Later fibers win: React Native
|
|
27
|
+
* mounts a newer `<Modal>` after the previous one, a native stack's newest
|
|
28
|
+
* screen is its last child, and a modal presented from inside another one sits
|
|
29
|
+
* deeper in the tree.
|
|
27
30
|
*/
|
|
28
31
|
export declare function topmostVisibleModalHost(root: AnyFiber | null, maxNodes?: number): AnyFiber | null;
|
|
29
32
|
/** True when `fiber` is `ancestor` or sits under it. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visibleRect.d.ts","sourceRoot":"","sources":["../../../../../../src/anchors/fiber/visibleRect.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EACL,KAAK,QAAQ,EAOd,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"visibleRect.d.ts","sourceRoot":"","sources":["../../../../../../src/anchors/fiber/visibleRect.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EACL,KAAK,QAAQ,EAOd,MAAM,kBAAkB,CAAC;AAK1B,MAAM,WAAW,WAAW;IAC1B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAUD,KAAK,eAAe,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;AA8BrF,wBAAgB,cAAc,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,GAAG,WAAW,GAAG,IAAI,CASjF;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,QAAQ,GAAG,IAAI,EACtB,IAAI,EAAE,WAAW,GAChB,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAgB7B;AAgBD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,EAAE,QAAQ,SAAQ,GAAG,QAAQ,GAAG,IAAI,CAwBhG;AAED,wDAAwD;AACxD,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,SAAS,GAAG,OAAO,CAQ5F;AAED,YAAY,EAAE,eAAe,EAAE,CAAC"}
|
|
@@ -25,6 +25,8 @@
|
|
|
25
25
|
*/
|
|
26
26
|
import { type AnyFiber } from './fiberInternals';
|
|
27
27
|
export declare function isScreenContainerFiber(fiber: AnyFiber): boolean;
|
|
28
|
+
/** Host screen the walk can key a cache on (`RNSScreen`, `RNSModalScreen`). */
|
|
29
|
+
export declare function isScreenHostFiber(fiber: AnyFiber): boolean;
|
|
28
30
|
/**
|
|
29
31
|
* Branches of `container` that are covered by another screen and so must not be
|
|
30
32
|
* scanned. Empty when there is nothing to prune. Alternates are included so a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visibleScreens.d.ts","sourceRoot":"","sources":["../../../../../../src/anchors/fiber/visibleScreens.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,EACL,KAAK,QAAQ,EASd,MAAM,kBAAkB,CAAC;AAqB1B,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAG/D;
|
|
1
|
+
{"version":3,"file":"visibleScreens.d.ts","sourceRoot":"","sources":["../../../../../../src/anchors/fiber/visibleScreens.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,EACL,KAAK,QAAQ,EASd,MAAM,kBAAkB,CAAC;AAqB1B,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAG/D;AAOD,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAE1D;AAyED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,CAUxE;AA0BD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAQ/D;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAWhE"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import type
|
|
2
|
+
import { type MeasurableNode } from './AnchorRegistry';
|
|
3
3
|
/**
|
|
4
4
|
* Register a view as a manual Userflow tooltip / embed target.
|
|
5
5
|
*
|
|
@@ -26,5 +26,5 @@ import type { View } from 'react-native';
|
|
|
26
26
|
*
|
|
27
27
|
* Phase 3 resolves targets via `step.selector.css` (leading `#` stripped).
|
|
28
28
|
*/
|
|
29
|
-
export declare function useUserflowAnchor(id: string): React.RefCallback<
|
|
29
|
+
export declare function useUserflowAnchor(id: string): React.RefCallback<MeasurableNode>;
|
|
30
30
|
//# sourceMappingURL=useUserflowAnchor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useUserflowAnchor.d.ts","sourceRoot":"","sources":["../../../../../src/anchors/useUserflowAnchor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"useUserflowAnchor.d.ts","sourceRoot":"","sources":["../../../../../src/anchors/useUserflowAnchor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAmC,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAExF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,cAAc,CAAC,CAyD/E"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import type { NativeScrollEvent, NativeSyntheticEvent
|
|
2
|
+
import type { NativeScrollEvent, NativeSyntheticEvent } from 'react-native';
|
|
3
|
+
import { type ScrollContainerNode } from './ScrollContainerRegistry';
|
|
3
4
|
export interface UserflowScrollContainerProps {
|
|
4
5
|
/** Attach to the host ScrollView (or merge with an existing ref). */
|
|
5
|
-
ref: React.RefCallback<
|
|
6
|
+
ref: React.RefCallback<ScrollContainerNode>;
|
|
6
7
|
/** Forward to ScrollView so content offsets stay in sync for scroll-into-view. */
|
|
7
8
|
onScroll: (event: NativeSyntheticEvent<NativeScrollEvent>) => void;
|
|
8
9
|
/** Required for frequent offset updates while scrolling. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useUserflowScrollContainer.d.ts","sourceRoot":"","sources":["../../../../../src/anchors/useUserflowScrollContainer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,
|
|
1
|
+
{"version":3,"file":"useUserflowScrollContainer.d.ts","sourceRoot":"","sources":["../../../../../src/anchors/useUserflowScrollContainer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAE5E,OAAO,EAIL,KAAK,mBAAmB,EACzB,MAAM,2BAA2B,CAAC;AAEnC,MAAM,WAAW,4BAA4B;IAC3C,qEAAqE;IACrE,GAAG,EAAE,KAAK,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;IAC5C,kFAAkF;IAClF,QAAQ,EAAE,CAAC,KAAK,EAAE,oBAAoB,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IACnE,4DAA4D;IAC5D,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,0BAA0B,CACxC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,CAAC,iBAAiB,CAAC,KAAK,IAAI,GACtE,4BAA4B,CA2C9B"}
|
|
@@ -3,6 +3,10 @@ import * as React from 'react';
|
|
|
3
3
|
* Overlay chrome for in-app element picking. Mounted by UserflowProvider;
|
|
4
4
|
* renders nothing until {@link elementPickerController.beginSelection}.
|
|
5
5
|
* Every pick shows the menu and onboarding tooltip.
|
|
6
|
+
*
|
|
7
|
+
* Drawn in {@link WindowOverlayHost} so native modal screens on iOS cannot
|
|
8
|
+
* cover it. It mounts only while there is something to show, so the window
|
|
9
|
+
* container exists only for the pick.
|
|
6
10
|
*/
|
|
7
11
|
export declare function ElementPickerOverlay(): React.ReactElement | null;
|
|
8
12
|
//# sourceMappingURL=ElementPickerOverlay.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ElementPickerOverlay.d.ts","sourceRoot":"","sources":["../../../../../src/authoring/ElementPickerOverlay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ElementPickerOverlay.d.ts","sourceRoot":"","sources":["../../../../../src/authoring/ElementPickerOverlay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAwH/B;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,IAAI,KAAK,CAAC,YAAY,GAAG,IAAI,CA+jBhE"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { SemanticRole } from '@userflow-tech/protocol';
|
|
2
2
|
import { type AutoAnchorInstance } from '../anchors/AutoAnchorRegistry';
|
|
3
3
|
import { type AnyFiber } from '../anchors/fiber/fiberInternals';
|
|
4
|
+
import { type PresentedModal } from '../anchors/fiber/presentedModal';
|
|
4
5
|
export interface HitRect {
|
|
5
6
|
x: number;
|
|
6
7
|
y: number;
|
|
@@ -32,7 +33,12 @@ export interface HitCandidate {
|
|
|
32
33
|
}
|
|
33
34
|
export type MeasureInstance = (inst: AutoAnchorInstance) => Promise<HitRect | null>;
|
|
34
35
|
export type InstanceFilter = (inst: AutoAnchorInstance) => boolean;
|
|
35
|
-
|
|
36
|
+
/**
|
|
37
|
+
* Why a tap on a presented modal found nothing: the modal cannot be placed in
|
|
38
|
+
* the window, or the tap was outside it.
|
|
39
|
+
*/
|
|
40
|
+
export type ModalMiss = 'unplaceable' | 'outside';
|
|
41
|
+
export type HostAtPoint = (x: number, y: number, presented?: PresentedModal | null) => Promise<AnyFiber | null>;
|
|
36
42
|
/**
|
|
37
43
|
* Measure a live auto-anchor instance in window coordinates. Prefers the
|
|
38
44
|
* public instance's `measureInWindow`, then the fiber host path.
|
|
@@ -48,8 +54,11 @@ export declare function fiberTargetDescriptor(fiber: AnyFiber): FiberTargetDescr
|
|
|
48
54
|
* {@link FiberScanRoot}. Hosts above it (the provider's own wrappers) are never
|
|
49
55
|
* resolvable at play time. Empty when `host` is on a covered screen: its
|
|
50
56
|
* ancestors above the navigator are not what was tapped.
|
|
57
|
+
*
|
|
58
|
+
* The walk also stops at `boundary`, a presented modal: hosts above it are
|
|
59
|
+
* drawn beneath the modal, not around what was tapped.
|
|
51
60
|
*/
|
|
52
|
-
export declare function candidateChain(host: AnyFiber, byFiber: Map<AnyFiber, AutoAnchorInstance
|
|
61
|
+
export declare function candidateChain(host: AnyFiber, byFiber: Map<AnyFiber, AutoAnchorInstance>, boundary?: AnyFiber | null): PickTarget[];
|
|
53
62
|
/**
|
|
54
63
|
* First control-sized pressable in an innermost-first list, else 0. A
|
|
55
64
|
* screen-sized pressable ancestor would select an invisible full-screen rect.
|
|
@@ -63,13 +72,27 @@ export declare function defaultCandidateIndex(candidates: HitCandidate[]): numbe
|
|
|
63
72
|
* lands on a covered screen. A visible native hit with no identifiable
|
|
64
73
|
* ancestor returns no candidates: geometry ignores stacking order and would
|
|
65
74
|
* offer whatever lies underneath the tap.
|
|
75
|
+
*
|
|
76
|
+
* While a modal is presented, only its content is a candidate, and candidate
|
|
77
|
+
* rects come back in window coordinates. A modal that cannot be placed in the
|
|
78
|
+
* window yields no candidates rather than a guess, and so does a tap outside
|
|
79
|
+
* the modal, on the screen it covers. Both call `onModalMiss` so the caller
|
|
80
|
+
* can say why.
|
|
66
81
|
*/
|
|
67
82
|
export declare function hitTestAt(x: number, y: number, opts?: {
|
|
68
83
|
instanceFilter?: InstanceFilter;
|
|
69
84
|
measure?: MeasureInstance;
|
|
70
85
|
instances?: AutoAnchorInstance[];
|
|
71
86
|
hostAtPoint?: HostAtPoint;
|
|
87
|
+
onModalMiss?: (miss: ModalMiss) => void;
|
|
72
88
|
}): Promise<HitCandidate[]>;
|
|
89
|
+
/**
|
|
90
|
+
* `candidates` measured again, for when the screen may have moved under a
|
|
91
|
+
* selection: the keyboard opening or closing resizes or moves a sheet. Null
|
|
92
|
+
* when one can no longer be measured, or its modal can no longer be placed,
|
|
93
|
+
* so the caller drops the selection rather than keep a stale rect.
|
|
94
|
+
*/
|
|
95
|
+
export declare function remeasureCandidates(candidates: HitCandidate[], measure?: MeasureInstance): Promise<HitCandidate[] | null>;
|
|
73
96
|
/** Cycle to the next-larger containing candidate (wraps). */
|
|
74
97
|
export declare function nextContainingIndex(candidates: HitCandidate[], currentIndex: number): number;
|
|
75
98
|
//# sourceMappingURL=hitTest.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hitTest.d.ts","sourceRoot":"","sources":["../../../../../src/authoring/hitTest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAG5D,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACL,KAAK,QAAQ,EAMd,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"hitTest.d.ts","sourceRoot":"","sources":["../../../../../src/authoring/hitTest.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
import { type AnyFiber } from '../anchors/fiber/fiberInternals';
|
|
2
|
+
import { type PresentedModal } from '../anchors/fiber/presentedModal';
|
|
2
3
|
/**
|
|
3
4
|
* Host fiber drawn on top at window coordinates, or null when neither Fabric
|
|
4
5
|
* nor Paper hit-testing is available.
|
|
6
|
+
*
|
|
7
|
+
* While a modal is presented, only its content can be hit, and nothing is
|
|
8
|
+
* when the modal cannot be placed in the window. Pass `presented` when the
|
|
9
|
+
* caller has already looked it up.
|
|
5
10
|
*/
|
|
6
|
-
export declare function hostAtPoint(x: number, y: number): Promise<AnyFiber | null>;
|
|
11
|
+
export declare function hostAtPoint(x: number, y: number, presented?: PresentedModal | null): Promise<AnyFiber | null>;
|
|
7
12
|
//# sourceMappingURL=hostAtPoint.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hostAtPoint.d.ts","sourceRoot":"","sources":["../../../../../src/authoring/hostAtPoint.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hostAtPoint.d.ts","sourceRoot":"","sources":["../../../../../src/authoring/hostAtPoint.ts"],"names":[],"mappings":"AAyBA,OAAO,EACL,KAAK,QAAQ,EAMd,MAAM,iCAAiC,CAAC;AAIzC,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,iCAAiC,CAAC;AA8NzC;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAC/B,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,SAAS,CAAC,EAAE,cAAc,GAAG,IAAI,GAChC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAkB1B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BannerStepButton.d.ts","sourceRoot":"","sources":["../../../../../src/content/BannerStepButton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"BannerStepButton.d.ts","sourceRoot":"","sources":["../../../../../src/content/BannerStepButton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAa/B,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,KAAK,EAAE,aAAa,CAAC;IACrB,WAAW,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,EAAE,CAAC;IAC1D,SAAS,EAAE,CAAC,OAAO,EAAE,kBAAkB,EAAE,KAAK,IAAI,CAAC;CACpD;AAED,qEAAqE;AACrE,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,EACN,KAAK,EACL,WAAW,EACX,SAAS,GACV,EAAE,qBAAqB,GAAG,KAAK,CAAC,YAAY,CAuC5C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RichContentRenderer.d.ts","sourceRoot":"","sources":["../../../../../src/content/RichContentRenderer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,SAAS,EAAa,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"RichContentRenderer.d.ts","sourceRoot":"","sources":["../../../../../src/content/RichContentRenderer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,SAAS,EAAa,MAAM,cAAc,CAAC;AA6BzD,OAAO,KAAK,EASV,cAAc,EAGd,eAAe,EAKf,cAAc,EAKf,MAAM,SAAS,CAAC;AAEjB,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,GAAG,SAAS,CAAC;IACpD,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,KAAK,EAAE,aAAa,CAAC;IACrB,WAAW,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,EAAE,CAAC;IAC1D,eAAe,EAAE,eAAe,CAAC;IACjC,SAAS,EAAE,CAAC,OAAO,EAAE,kBAAkB,EAAE,KAAK,IAAI,CAAC;IACnD;;;OAGG;IACH,mBAAmB,CAAC,EAAE,cAAc,CAAC;IACrC,gFAAgF;IAChF,kBAAkB,CAAC,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;IAC7C,8DAA8D;IAC9D,aAAa,CAAC,EAAE,SAAS,CAAC;CAC3B;AAED,wBAAgB,mBAAmB,CAAC,EAClC,OAAO,EACP,OAAO,EACP,KAAK,EACL,WAAW,EACX,eAAe,EACf,SAAS,EACT,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,GACd,EAAE,wBAAwB,GAAG,KAAK,CAAC,YAAY,CAsB/C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepButton.d.ts","sourceRoot":"","sources":["../../../../../src/content/StepButton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"StepButton.d.ts","sourceRoot":"","sources":["../../../../../src/content/StepButton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,kBAAkB,CAAC;IAC3B,KAAK,EAAE,aAAa,CAAC;IACrB,WAAW,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,EAAE,CAAC;IAC1D,SAAS,EAAE,CAAC,OAAO,EAAE,kBAAkB,EAAE,KAAK,IAAI,CAAC;CACpD;AAED,wBAAgB,UAAU,CAAC,EACzB,MAAM,EACN,KAAK,EACL,WAAW,EACX,SAAS,GACV,EAAE,eAAe,GAAG,KAAK,CAAC,YAAY,CAiCtC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Font family for SDK content text.
|
|
3
|
+
*
|
|
4
|
+
* A single concrete theme family is kept. A comma-separated custom list keeps
|
|
5
|
+
* the first family that is not part of the default system stack. That stack,
|
|
6
|
+
* generics, and empty values use the detected app font, or omit `fontFamily`
|
|
7
|
+
* so the platform face renders with no warning.
|
|
8
|
+
*/
|
|
9
|
+
import type { ThemeFragment } from '@userflow-tech/protocol';
|
|
10
|
+
export type AppFontDetector = () => string | null;
|
|
11
|
+
export declare function resolveContentFontFamily(theme: ThemeFragment, detect?: AppFontDetector): string | undefined;
|
|
12
|
+
/**
|
|
13
|
+
* CSS `font-family` for banner WebViews. Names are quoted so a multi-word
|
|
14
|
+
* family stays one face. A substituted app face keeps a platform fallback for
|
|
15
|
+
* when the WebView cannot resolve it.
|
|
16
|
+
*/
|
|
17
|
+
export declare function contentFontFamilyCss(theme: ThemeFragment, detect?: AppFontDetector): string;
|
|
18
|
+
/**
|
|
19
|
+
* `@font-face` rule that publishes the native family name inside the WebView.
|
|
20
|
+
*
|
|
21
|
+
* One regular face only. A weight range would make that static file match
|
|
22
|
+
* bold, and an italic rule with the same upright source would match italic,
|
|
23
|
+
* so the WebView would not synthesize either. `local()` is the family native
|
|
24
|
+
* text already uses. A `file://` source is not included: iOS treats that URL
|
|
25
|
+
* as a navigation and replaces the banner page.
|
|
26
|
+
*/
|
|
27
|
+
export declare function contentFontFaceCss(theme: ThemeFragment, detect?: AppFontDetector): string;
|
|
28
|
+
/**
|
|
29
|
+
* Re-applies the banner face after theme custom.css. Equal-specificity rules
|
|
30
|
+
* in that stylesheet would otherwise replace it with a web font the WebView
|
|
31
|
+
* has not loaded. Code stays mono, including `<strong>`, `<em>`, and `<u>`
|
|
32
|
+
* wrapped inside `<code>`.
|
|
33
|
+
*/
|
|
34
|
+
export declare function bannerContentFontLockCss(theme: ThemeFragment, detect?: AppFontDetector): string;
|
|
35
|
+
//# sourceMappingURL=resolveContentFontFamily.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveContentFontFamily.d.ts","sourceRoot":"","sources":["../../../../../src/content/resolveContentFontFamily.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAW7D,MAAM,MAAM,eAAe,GAAG,MAAM,MAAM,GAAG,IAAI,CAAC;AAIlD,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,aAAa,EACpB,MAAM,GAAE,eAAqC,GAC5C,MAAM,GAAG,SAAS,CAEpB;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,aAAa,EACpB,MAAM,GAAE,eAAqC,GAC5C,MAAM,CAMR;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,aAAa,EACpB,MAAM,GAAE,eAAqC,GAC5C,MAAM,CAKR;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,aAAa,EACpB,MAAM,GAAE,eAAqC,GAC5C,MAAM,CAOR"}
|
|
@@ -21,7 +21,7 @@ export interface DeepLinkingDeps {
|
|
|
21
21
|
startFlowWithToken: DeepLinkStartFlowWithToken;
|
|
22
22
|
/** Optional Linking overrides for tests. */
|
|
23
23
|
linking?: {
|
|
24
|
-
getInitialURL: () => Promise<string | null>;
|
|
24
|
+
getInitialURL: () => Promise<string | null | undefined>;
|
|
25
25
|
addEventListener: (type: 'url', handler: (event: {
|
|
26
26
|
url: string;
|
|
27
27
|
}) => void) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deepLinking.d.ts","sourceRoot":"","sources":["../../../../src/deepLinking.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,gFAAgF;AAChF,eAAO,MAAM,0BAA0B,cAAc,CAAC;AAEtD,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,0BAA0B;IACzC,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,eAAe;IAC9B,sEAAsE;IACtE,YAAY,EAAE,MAAM,OAAO,CAAC;IAC5B,+CAA+C;IAC/C,kBAAkB,EAAE,0BAA0B,CAAC;IAC/C,4CAA4C;IAC5C,OAAO,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"deepLinking.d.ts","sourceRoot":"","sources":["../../../../src/deepLinking.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,gFAAgF;AAChF,eAAO,MAAM,0BAA0B,cAAc,CAAC;AAEtD,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,0BAA0B;IACzC,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,eAAe;IAC9B,sEAAsE;IACtE,YAAY,EAAE,MAAM,OAAO,CAAC;IAC5B,+CAA+C;IAC/C,kBAAkB,EAAE,0BAA0B,CAAC;IAC/C,4CAA4C;IAC5C,OAAO,CAAC,EAAE;QAER,aAAa,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;QACxD,gBAAgB,EAAE,CAChB,IAAI,EAAE,KAAK,EACX,OAAO,EAAE,CAAC,KAAK,EAAE;YAAE,GAAG,EAAE,MAAM,CAAA;SAAE,KAAK,IAAI,KACtC;YAAE,MAAM,EAAE,MAAM,IAAI,CAAA;SAAE,CAAC;KAC7B,CAAC;CACH;AAiBD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,qBAAqB,GAAG,IAAI,CA0C9E;AAmBD;;GAEG;AACH,wBAAsB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOhE;AAED,sFAAsF;AACtF,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC,CAQ9D;AAED,0EAA0E;AAC1E,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,CAiBhE;AAED,uDAAuD;AACvD,wBAAgB,eAAe,IAAI,IAAI,CAOtC;AAED,4DAA4D;AAC5D,wBAAgB,gCAAgC,IAAI,MAAM,GAAG,IAAI,CAEhE;AAED,sDAAsD;AACtD,wBAAgB,0BAA0B,IAAI,IAAI,CAEjD"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Resolve mobile platform metadata for Userflow
|
|
2
|
+
* Resolve mobile platform metadata and the running SDK version for Userflow
|
|
3
|
+
* user attributes.
|
|
3
4
|
*
|
|
4
5
|
* Cached once during {@link Userflow.init} and merged into identify attributes
|
|
5
6
|
* (same lifecycle as {@link hostAppVersion.ts}).
|
|
@@ -9,12 +10,18 @@ export type DeviceOs = 'ios' | 'android';
|
|
|
9
10
|
export type DeviceType = 'phone' | 'tablet';
|
|
10
11
|
export interface DeviceContext {
|
|
11
12
|
sdk: SdkPlatform;
|
|
13
|
+
/**
|
|
14
|
+
* Published `@userflow-tech/react-native` version, e.g. `0.4.6`. Always set by
|
|
15
|
+
* the SDK; optional so context objects built by host code (mocks) stay valid.
|
|
16
|
+
*/
|
|
17
|
+
sdkVersion?: string;
|
|
12
18
|
deviceOs?: DeviceOs;
|
|
13
19
|
deviceType?: DeviceType;
|
|
14
20
|
}
|
|
15
21
|
/** Android `smallestScreenWidthDp` tablet threshold (sw600dp). */
|
|
16
22
|
export declare const ANDROID_TABLET_SMALLEST_WIDTH_DP = 600;
|
|
17
23
|
export declare const SDK_USER_ATTRIBUTE = "sdk";
|
|
24
|
+
export declare const SDK_VERSION_USER_ATTRIBUTE = "sdk_version";
|
|
18
25
|
export declare const DEVICE_OS_USER_ATTRIBUTE = "device_os";
|
|
19
26
|
export declare const DEVICE_TYPE_USER_ATTRIBUTE = "device_type";
|
|
20
27
|
interface PlatformShape {
|
|
@@ -47,20 +54,22 @@ export declare function resolveDeviceContext(): DeviceContext;
|
|
|
47
54
|
export declare function cacheDeviceContextAtInit(): DeviceContext;
|
|
48
55
|
/** Returns the context cached at init, or `null` before init. */
|
|
49
56
|
export declare function getCachedDeviceContext(): DeviceContext | null;
|
|
50
|
-
/** Returns cached device fields for UpsertUser, or `{}` before init. */
|
|
51
|
-
export declare function deviceContextUserAttributes(): Record<string, string>;
|
|
52
57
|
/** Optional user-attribute keys added by {@link mergeDeviceContextUserAttributes}. */
|
|
53
58
|
export type DeviceContextUserAttributeMap = Partial<{
|
|
54
59
|
[SDK_USER_ATTRIBUTE]: SdkPlatform;
|
|
60
|
+
[SDK_VERSION_USER_ATTRIBUTE]: string;
|
|
55
61
|
[DEVICE_OS_USER_ATTRIBUTE]: DeviceOs;
|
|
56
62
|
[DEVICE_TYPE_USER_ATTRIBUTE]: DeviceType;
|
|
57
63
|
}>;
|
|
58
|
-
/**
|
|
64
|
+
/**
|
|
65
|
+
* Merges cached device attrs into identify attributes. Caller values win on key
|
|
66
|
+
* conflicts, except `sdk_version`, which always reports the running SDK.
|
|
67
|
+
*/
|
|
59
68
|
export declare function mergeDeviceContextUserAttributes<T extends Record<string, unknown>>(attributes?: T): (T & DeviceContextUserAttributeMap) | undefined;
|
|
60
69
|
export declare function formatDeviceContextLog(resolved: DeviceContext | null): string;
|
|
61
70
|
/** Log cached user-attribute values. Requires {@link cacheDeviceContextAtInit}. */
|
|
62
71
|
export declare function logDeviceContext(): void;
|
|
63
|
-
/** @internal Resets init cache between tests. */
|
|
72
|
+
/** @internal Resets init cache and the one-time override warning between tests. */
|
|
64
73
|
export declare function resetCachedDeviceContextForTests(): void;
|
|
65
74
|
export {};
|
|
66
75
|
//# sourceMappingURL=deviceContext.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deviceContext.d.ts","sourceRoot":"","sources":["../../../../src/deviceContext.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"deviceContext.d.ts","sourceRoot":"","sources":["../../../../src/deviceContext.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,MAAM,MAAM,WAAW,GAAG,cAAc,CAAC;AACzC,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;AACzC,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE5C,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,WAAW,CAAC;IACjB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED,kEAAkE;AAClE,eAAO,MAAM,gCAAgC,MAAM,CAAC;AAEpD,eAAO,MAAM,kBAAkB,QAAQ,CAAC;AACxC,eAAO,MAAM,0BAA0B,gBAAgB,CAAC;AACxD,eAAO,MAAM,wBAAwB,cAAc,CAAC;AACpD,eAAO,MAAM,0BAA0B,gBAAgB,CAAC;AAExD,UAAU,aAAa;IACrB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,UAAU,WAAW;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,2EAA2E;AAC3E,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAIpF;AAED,oFAAoF;AACpF,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAEjE;AAED,4EAA4E;AAC5E,wBAAgB,4BAA4B,CAAC,OAAO,EAAE;IACpD,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,GAAG,UAAU,GAAG,SAAS,CAWzB;AAED,gFAAgF;AAChF,wBAAgB,+BAA+B,CAAC,OAAO,EAAE;IACvD,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,GAAG,aAAa,CAShB;AAwBD,wBAAgB,oBAAoB,IAAI,aAAa,CAEpD;AAMD;;;GAGG;AACH,wBAAgB,wBAAwB,IAAI,aAAa,CAGxD;AAED,iEAAiE;AACjE,wBAAgB,sBAAsB,IAAI,aAAa,GAAG,IAAI,CAE7D;AAWD,sFAAsF;AACtF,MAAM,MAAM,6BAA6B,GAAG,OAAO,CAAC;IAClD,CAAC,kBAAkB,CAAC,EAAE,WAAW,CAAC;IAClC,CAAC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACrC,CAAC,wBAAwB,CAAC,EAAE,QAAQ,CAAC;IACrC,CAAC,0BAA0B,CAAC,EAAE,UAAU,CAAC;CAC1C,CAAC,CAAC;AAmBH;;;GAGG;AACH,wBAAgB,gCAAgC,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChF,UAAU,CAAC,EAAE,CAAC,GACb,CAAC,CAAC,GAAG,6BAA6B,CAAC,GAAG,SAAS,CAWjD;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,GAAG,MAAM,CAO7E;AAED,mFAAmF;AACnF,wBAAgB,gBAAgB,IAAI,IAAI,CAGvC;AAED,mFAAmF;AACnF,wBAAgB,gCAAgC,IAAI,IAAI,CAGvD"}
|
|
@@ -73,9 +73,15 @@ export declare const Userflow: {
|
|
|
73
73
|
* `init({ onNavigate })`). Wins over React Navigation / Expo Router / Linking.
|
|
74
74
|
*/
|
|
75
75
|
setOnNavigate(handler: FlowNavigateHandler | null | undefined): void;
|
|
76
|
-
/**
|
|
76
|
+
/**
|
|
77
|
+
* Identify the current user and upsert their attributes. The SDK adds `sdk_version`
|
|
78
|
+
* itself; a value passed for it here is ignored.
|
|
79
|
+
*/
|
|
77
80
|
identify(userId: string, attributes?: UserflowAttributes, options?: UserflowIdentifyOptions): Promise<void>;
|
|
78
|
-
/**
|
|
81
|
+
/**
|
|
82
|
+
* Identify an anonymous user with a stable auto-generated id stored on device. Like
|
|
83
|
+
* {@link identify}, the SDK sets `sdk_version` itself.
|
|
84
|
+
*/
|
|
79
85
|
identifyAnonymous(attributes?: UserflowAttributes, options?: UserflowIdentifyOptions): Promise<void>;
|
|
80
86
|
/**
|
|
81
87
|
* Handle an inbound URL. Returns `true` when it was a Userflow preview deep
|
|
@@ -114,8 +120,8 @@ export declare const Userflow: {
|
|
|
114
120
|
*/
|
|
115
121
|
getHostAppVersion(): HostAppVersion | null;
|
|
116
122
|
/**
|
|
117
|
-
* Platform metadata cached during {@link init} (`sdk`, `
|
|
118
|
-
* or `null` before init.
|
|
123
|
+
* Platform metadata cached during {@link init} (`sdk`, `sdkVersion`, `deviceOs`,
|
|
124
|
+
* `deviceType`), or `null` before init.
|
|
119
125
|
*/
|
|
120
126
|
getDeviceContext(): DeviceContext | null;
|
|
121
127
|
/** The flow session engine (created lazily; attach runs after identify). */
|
|
@@ -171,7 +177,7 @@ export declare const Userflow: {
|
|
|
171
177
|
*/
|
|
172
178
|
logHostAppVersion(): void;
|
|
173
179
|
/**
|
|
174
|
-
* Log cached user-attribute values (`sdk`, `device_os`, `device_type`).
|
|
180
|
+
* Log cached user-attribute values (`sdk`, `sdk_version`, `device_os`, `device_type`).
|
|
175
181
|
* Requires {@link init}; before init, logs that init is required.
|
|
176
182
|
*/
|
|
177
183
|
logDeviceContext(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,uBAAuB,EACvB,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,EACnB,oBAAoB,EACpB,0BAA0B,EAC3B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export declare const INSTALL_CHECK_HEADER = "[Userflow] Native setup is incomplete. Flows may not run until you fix the following, then rebuild the app (a Metro reload is not enough):";
|
|
2
2
|
export declare const INSTALL_ASYNC_STORAGE_LINE = "- @react-native-async-storage/async-storage is not linked. Anonymous users and Builder pairing will not persist. Add it to the app package.json (npx expo install @react-native-async-storage/async-storage), run pod install on iOS, and rebuild.";
|
|
3
|
-
export declare const INSTALL_VIEW_SHOT_LINE = "- react-native-view-shot is not linked, so Builder element selection gets no screenshot. Install it and rebuild. On Expo SDK 56
|
|
3
|
+
export declare const INSTALL_VIEW_SHOT_LINE = "- react-native-view-shot is not linked, so Builder element selection gets no screenshot. Install it and rebuild. On Expo SDK 56 to 58, run npx expo install react-native-view-shot unpinned, with no expo.install.exclude entry for it. Otherwise install react-native-view-shot@^5.0.0; on Expo SDK 55 and older, an unpinned npx expo install resolves 4.0.3.";
|
|
4
4
|
export declare const INSTALL_WEBVIEW_LINE = "- react-native-webview is not linked. Evaluate JavaScript and WebView banners will not run. Install it (npx expo install react-native-webview) and rebuild.";
|
|
5
5
|
export declare const INSTALL_DEVICE_INFO_LINE = "- react-native-device-info is not linked, so app_version and app_build are not sent. npm install react-native-device-info, then rebuild.";
|
|
6
6
|
export declare const INSTALL_CHECK_FOOTER = "See node_modules/@userflow-tech/react-native/docs/troubleshooting.md.";
|
|
@@ -16,7 +16,7 @@ export declare const INSTALL_SAFE_AREA_WARNING: string;
|
|
|
16
16
|
export declare function formatViewShotVersionWarning(version: string): string;
|
|
17
17
|
export declare const EXPO_GO_WARNING = "[Userflow] This app is running in Expo Go, which cannot load the SDK native modules. Builder preview links will not open the app. Use a development build (npx expo run:ios / npx expo run:android).";
|
|
18
18
|
export declare const INIT_OPTIONS_IGNORED_WARNING = "[Userflow] Userflow.init() already ran with different options. The new clientToken, serverEndpoint, and pairingEndpoint are ignored because init runs once per process. Userflow.reset() does not apply new credentials. Restart the app to change them.";
|
|
19
|
-
/** Dev warning when view-shot 4.x is installed. Null on 5.x or when it is absent. */
|
|
19
|
+
/** Dev warning when view-shot 4.x is installed. Null on 5.x and later, or when it is absent. */
|
|
20
20
|
export declare function viewShotVersionWarning(): string | null;
|
|
21
21
|
/** Lines for missing native modules. Empty when the build looks complete. */
|
|
22
22
|
export declare function collectInstallFindings(): string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installCheck.d.ts","sourceRoot":"","sources":["../../../../src/installCheck.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,oBAAoB,+IAC6G,CAAC;AAE/I,eAAO,MAAM,0BAA0B,uPAC+M,CAAC;AAEvP,eAAO,MAAM,sBAAsB,
|
|
1
|
+
{"version":3,"file":"installCheck.d.ts","sourceRoot":"","sources":["../../../../src/installCheck.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,oBAAoB,+IAC6G,CAAC;AAE/I,eAAO,MAAM,0BAA0B,uPAC+M,CAAC;AAEvP,eAAO,MAAM,sBAAsB,oWACgU,CAAC;AAEpW,eAAO,MAAM,oBAAoB,gKAC8H,CAAC;AAEhK,eAAO,MAAM,wBAAwB,6IACuG,CAAC;AAE7I,eAAO,MAAM,oBAAoB,0EACwC,CAAC;AAE1E;;;GAGG;AACH,eAAO,MAAM,yBAAyB,QAEhB,CAAC;AAEvB;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAQpE;AAED,eAAO,MAAM,eAAe,yMAC4K,CAAC;AAEzM,eAAO,MAAM,4BAA4B,6PACmN,CAAC;AA0C7P,gGAAgG;AAChG,wBAAgB,sBAAsB,IAAI,MAAM,GAAG,IAAI,CAOtD;AAED,6EAA6E;AAC7E,wBAAgB,sBAAsB,IAAI,MAAM,EAAE,CAWjD;AAED,wBAAgB,aAAa,IAAI,MAAM,GAAG,IAAI,CAI7C;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAExE;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,IAAI,IAAI,CA0B9C;AAED,gBAAgB;AAChB,wBAAgB,yBAAyB,IAAI,IAAI,CAIhD;AAwBD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE;IAC/C,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,GAAG,IAAI,CAgBP;AAED,wEAAwE;AACxE,wBAAgB,iBAAiB,IAAI,IAAI,CAExC;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CAG/C"}
|
|
@@ -75,6 +75,7 @@ export declare class LifecycleController {
|
|
|
75
75
|
private readonly scheduler;
|
|
76
76
|
private readonly now;
|
|
77
77
|
private readonly suspendGraceMs;
|
|
78
|
+
/** Wider than AppStateStatus: React Native 0.88 types currentState as `string | null | undefined`. */
|
|
78
79
|
private readonly getCurrentAppState;
|
|
79
80
|
private readonly subscribeAppState;
|
|
80
81
|
private unsubscribeAppState;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../../../src/lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,KAAK,EAAE,cAAc,EAA2B,MAAM,cAAc,CAAC;AAE5E,2FAA2F;AAC3F,eAAO,MAAM,qBAAqB,QAAgB,CAAC;AAEnD,wEAAwE;AACxE,eAAO,MAAM,iCAAiC,QAAgB,CAAC;AAE/D;;;GAGG;AACH,eAAO,MAAM,gBAAgB,OAAQ,CAAC;AAEtC,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAExD,MAAM,WAAW,kBAAkB;IACjC,UAAU,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE,EAAE,EAAE,MAAM,GAAG,WAAW,CAAC;IACzD,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;CACzC;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B;;;;;OAKG;IACH,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB;;;OAGG;IACH,gBAAgB,EAAE,MAAM,OAAO,CAAC;IAChC;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,gEAAgE;IAChE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4EAA4E;IAC5E,kBAAkB,CAAC,EAAE,MAAM,cAAc,CAAC;IAC1C,+DAA+D;IAC/D,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,KAAK,MAAM,IAAI,CAAC;CAC/E;AAYD;;;;GAIG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAa;IAC/C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IACzC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAgB;IACjD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA2B;IAC1D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAC/C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,
|
|
1
|
+
{"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../../../src/lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,KAAK,EAAE,cAAc,EAA2B,MAAM,cAAc,CAAC;AAE5E,2FAA2F;AAC3F,eAAO,MAAM,qBAAqB,QAAgB,CAAC;AAEnD,wEAAwE;AACxE,eAAO,MAAM,iCAAiC,QAAgB,CAAC;AAE/D;;;GAGG;AACH,eAAO,MAAM,gBAAgB,OAAQ,CAAC;AAEtC,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAExD,MAAM,WAAW,kBAAkB;IACjC,UAAU,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE,EAAE,EAAE,MAAM,GAAG,WAAW,CAAC;IACzD,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;CACzC;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B;;;;;OAKG;IACH,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB;;;OAGG;IACH,gBAAgB,EAAE,MAAM,OAAO,CAAC;IAChC;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,gEAAgE;IAChE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4EAA4E;IAC5E,kBAAkB,CAAC,EAAE,MAAM,cAAc,CAAC;IAC1C,+DAA+D;IAC/D,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,KAAK,MAAM,IAAI,CAAC;CAC/E;AAYD;;;;GAIG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAa;IAC/C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IACzC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAgB;IACjD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA2B;IAC1D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAC/C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,sGAAsG;IACtG,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAkC;IACrE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA4D;IAE9F,OAAO,CAAC,mBAAmB,CAA6B;IACxD,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,OAAO,CAAS;IACxB,iFAAiF;IACjF,OAAO,CAAC,SAAS,CAAS;gBAEd,IAAI,EAAE,uBAAuB;IAczC,KAAK,IAAI,IAAI;IAYb,IAAI,IAAI,IAAI;IAWZ;;;OAGG;IACH,cAAc,IAAI,IAAI;IAOtB,yBAAyB;IACzB,oBAAoB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IAalD,OAAO,CAAC,YAAY;IAkBpB,OAAO,CAAC,YAAY;IAqCpB,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,iBAAiB;IAczB,OAAO,CAAC,cAAc;CAMvB"}
|
|
@@ -23,7 +23,7 @@ export interface PairingControllerOptions {
|
|
|
23
23
|
*/
|
|
24
24
|
cancelPendingDraftEnd?: () => void;
|
|
25
25
|
LinkingModule?: {
|
|
26
|
-
getInitialURL(): Promise<string | null>;
|
|
26
|
+
getInitialURL(): Promise<string | null | undefined>;
|
|
27
27
|
addEventListener(type: 'url', handler: (event: {
|
|
28
28
|
url: string;
|
|
29
29
|
}) => void): {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PairingController.d.ts","sourceRoot":"","sources":["../../../../../src/pairing/PairingController.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,aAAa,EACb,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,YAAY,EAClB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAY,KAAK,cAAc,EAAqB,MAAM,cAAc,CAAC;AAOhF,OAAO,EASL,KAAK,aAAa,EACnB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAA2B,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEjF,MAAM,MAAM,yBAAyB,GAAG,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;AAY5E,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,YAAY,CAAC;IACnB,+EAA+E;IAC/E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,mDAAmD;IACnD,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B;;;OAGG;IACH,6BAA6B,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,kEAAkE;IAClE,eAAe,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC;;;OAGG;IACH,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;IACnC,aAAa,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"PairingController.d.ts","sourceRoot":"","sources":["../../../../../src/pairing/PairingController.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserflowOverlay.d.ts","sourceRoot":"","sources":["../../../../../src/runtime/UserflowOverlay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"UserflowOverlay.d.ts","sourceRoot":"","sources":["../../../../../src/runtime/UserflowOverlay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAiB/B,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,YAAY,EAAE,mBAAmB,CAAC;IAClC,6EAA6E;IAC7E,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACvC;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,YAAY,EACZ,YAAY,GACb,EAAE,oBAAoB,GAAG,KAAK,CAAC,YAAY,CAyF3C"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export interface WindowOverlayHostProps {
|
|
3
|
+
children: React.ReactNode;
|
|
4
|
+
/**
|
|
5
|
+
* Hide everything outside the host from VoiceOver, natively presented
|
|
6
|
+
* modals included. Defaults to false.
|
|
7
|
+
*/
|
|
8
|
+
accessibilityModal?: boolean;
|
|
9
|
+
}
|
|
10
|
+
/** True when {@link WindowOverlayHost} draws above natively presented modals. */
|
|
11
|
+
export declare function hasWindowOverlayHost(): boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Hosts SDK chrome above everything else in the app window.
|
|
14
|
+
*
|
|
15
|
+
* On iOS, react-native-screens presents `modal`, `transparentModal`,
|
|
16
|
+
* `formSheet` and `fullScreenModal` screens, and React Native presents
|
|
17
|
+
* `<Modal>`, as view controllers above the React Native root view, so chrome
|
|
18
|
+
* rendered in `UserflowProvider`'s overlay is drawn beneath them and never
|
|
19
|
+
* receives touches there. `FullWindowOverlay` moves its children into a
|
|
20
|
+
* container on the window itself. Measured on iOS 17.4 and 26.5 with
|
|
21
|
+
* react-native-screens 4.16, that container stays above sheets whether they are
|
|
22
|
+
* presented before or after it mounts.
|
|
23
|
+
*
|
|
24
|
+
* Each host is its own container, stacked by when it was attached rather than
|
|
25
|
+
* by React order, so chrome that has to keep a paint order shares one host.
|
|
26
|
+
*
|
|
27
|
+
* Touches inside the host arrive in window coordinates, as they do in the root
|
|
28
|
+
* view. Children render in place when the overlay is unavailable: on Android,
|
|
29
|
+
* and in apps without react-native-screens.
|
|
30
|
+
*/
|
|
31
|
+
export declare function WindowOverlayHost({ children, accessibilityModal, }: WindowOverlayHostProps): React.ReactElement;
|
|
32
|
+
/** @internal Clears the cached `FullWindowOverlay` lookup between tests. */
|
|
33
|
+
export declare function resetWindowOverlayHostForTests(): void;
|
|
34
|
+
//# sourceMappingURL=WindowOverlayHost.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WindowOverlayHost.d.ts","sourceRoot":"","sources":["../../../../../src/runtime/WindowOverlayHost.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AA6C/B,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,iFAAiF;AACjF,wBAAgB,oBAAoB,IAAI,OAAO,CAE9C;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,QAAQ,EACR,kBAA0B,GAC3B,EAAE,sBAAsB,GAAG,KAAK,CAAC,YAAY,CAQ7C;AAED,4EAA4E;AAC5E,wBAAgB,8BAA8B,IAAI,IAAI,CAErD"}
|
|
@@ -11,6 +11,11 @@ export declare function usePushBannerLayoutRegistration(edge: PushBannerLayoutEd
|
|
|
11
11
|
* Clears the host top/bottom safe-area override only after push-layout chrome
|
|
12
12
|
* has laid out, so a session without visible chrome cannot leave a white strip.
|
|
13
13
|
*
|
|
14
|
+
* Remembers which edge laid out instead of resetting a flag in an effect: on
|
|
15
|
+
* Fabric the chrome's first onLayout can run before the mount's passive effects
|
|
16
|
+
* flush, and a reset there would discard it until the banner happened to
|
|
17
|
+
* re-layout, leaving already-mounted host screens on the old inset.
|
|
18
|
+
*
|
|
14
19
|
* @internal
|
|
15
20
|
*/
|
|
16
21
|
export declare function usePushBannerHostInsetRegistration(edge: PushBannerLayoutEdge | null | undefined, sessionId: string, enabled: boolean): (event: LayoutChangeEvent) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pushBannerLayoutContext.d.ts","sourceRoot":"","sources":["../../../../../src/runtime/pushBannerLayoutContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEtD,MAAM,MAAM,oBAAoB,GAAG,KAAK,GAAG,QAAQ,CAAC;AA8BpD,wBAAgB,wBAAwB,CAAC,EACvC,QAAQ,EACR,kBAAkB,GACnB,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,kBAAkB,EAAE,CAAC,IAAI,EAAE,oBAAoB,GAAG,IAAI,KAAK,IAAI,CAAC;CACjE,GAAG,KAAK,CAAC,YAAY,CA+BrB;AAED,gBAAgB;AAChB,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,oBAAoB,GAAG,IAAI,GAAG,SAAS,EAC7C,SAAS,EAAE,MAAM,GAAG,SAAS,GAC5B,IAAI,CAYN;AAED
|
|
1
|
+
{"version":3,"file":"pushBannerLayoutContext.d.ts","sourceRoot":"","sources":["../../../../../src/runtime/pushBannerLayoutContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEtD,MAAM,MAAM,oBAAoB,GAAG,KAAK,GAAG,QAAQ,CAAC;AA8BpD,wBAAgB,wBAAwB,CAAC,EACvC,QAAQ,EACR,kBAAkB,GACnB,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,kBAAkB,EAAE,CAAC,IAAI,EAAE,oBAAoB,GAAG,IAAI,KAAK,IAAI,CAAC;CACjE,GAAG,KAAK,CAAC,YAAY,CA+BrB;AAED,gBAAgB;AAChB,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,oBAAoB,GAAG,IAAI,GAAG,SAAS,EAC7C,SAAS,EAAE,MAAM,GAAG,SAAS,GAC5B,IAAI,CAYN;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kCAAkC,CAChD,IAAI,EAAE,oBAAoB,GAAG,IAAI,GAAG,SAAS,EAC7C,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,GACf,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAoBpC"}
|