@userflow-tech/react-native 0.3.0 → 0.4.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 +360 -70
- package/docs/anchoring.md +58 -42
- package/docs/troubleshooting.md +69 -27
- package/expo-plugin/hostDependencyWarnings.d.ts +21 -0
- package/expo-plugin/hostDependencyWarnings.d.ts.map +1 -0
- package/expo-plugin/hostDependencyWarnings.js +101 -0
- package/expo-plugin/hostDependencyWarnings.js.map +1 -0
- package/expo-plugin/withUserflow.d.ts.map +1 -1
- package/expo-plugin/withUserflow.js +16 -0
- package/expo-plugin/withUserflow.js.map +1 -1
- package/lib/commonjs/anchors/AnchorRegistry.js +7 -0
- package/lib/commonjs/anchors/AnchorRegistry.js.map +1 -1
- package/lib/commonjs/anchors/elementConditionEvaluator.js +189 -55
- package/lib/commonjs/anchors/elementConditionEvaluator.js.map +1 -1
- package/lib/commonjs/anchors/elementTapMonitor.js +92 -0
- package/lib/commonjs/anchors/elementTapMonitor.js.map +1 -0
- package/lib/commonjs/anchors/elementTargetMatch.js +85 -0
- package/lib/commonjs/anchors/elementTargetMatch.js.map +1 -0
- package/lib/commonjs/anchors/fiber/findAnchorFiber.js +64 -39
- package/lib/commonjs/anchors/fiber/findAnchorFiber.js.map +1 -1
- package/lib/commonjs/anchors/fiber/touchTargetFiber.js +105 -0
- package/lib/commonjs/anchors/fiber/touchTargetFiber.js.map +1 -0
- package/lib/commonjs/anchors/resolveAnchorHost.js +2 -1
- package/lib/commonjs/anchors/resolveAnchorHost.js.map +1 -1
- package/lib/commonjs/anchors/resolveAutoAnchorHost.js +4 -2
- package/lib/commonjs/anchors/resolveAutoAnchorHost.js.map +1 -1
- package/lib/commonjs/anchors/resolveElementTargets.js +158 -0
- package/lib/commonjs/anchors/resolveElementTargets.js.map +1 -0
- package/lib/commonjs/anchors/targetPressMonitor.js +9 -3
- package/lib/commonjs/anchors/targetPressMonitor.js.map +1 -1
- package/lib/commonjs/anchors/useUserflowAnchor.js +1 -0
- package/lib/commonjs/anchors/useUserflowAnchor.js.map +1 -1
- package/lib/commonjs/anonymousId.js +16 -7
- package/lib/commonjs/anonymousId.js.map +1 -1
- package/lib/commonjs/authoring/capturePickerScreenshot.js +9 -1
- package/lib/commonjs/authoring/capturePickerScreenshot.js.map +1 -1
- package/lib/commonjs/evalJs/getWebView.js +5 -13
- package/lib/commonjs/evalJs/getWebView.js.map +1 -1
- package/lib/commonjs/hostAppVersion.js +6 -1
- package/lib/commonjs/hostAppVersion.js.map +1 -1
- package/lib/commonjs/index.js +5 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/installCheck.js +183 -0
- package/lib/commonjs/installCheck.js.map +1 -0
- package/lib/commonjs/nativeModules.js +44 -0
- package/lib/commonjs/nativeModules.js.map +1 -0
- package/lib/commonjs/network.js +20 -7
- package/lib/commonjs/network.js.map +1 -1
- package/lib/commonjs/pairing/deviceId.js +14 -11
- package/lib/commonjs/pairing/deviceId.js.map +1 -1
- package/lib/commonjs/pairing/tokenStorage.js +17 -4
- package/lib/commonjs/pairing/tokenStorage.js.map +1 -1
- package/lib/commonjs/runtime/TargetPressBridge.js +12 -1
- package/lib/commonjs/runtime/TargetPressBridge.js.map +1 -1
- package/lib/commonjs/runtime/UserflowProvider.js +6 -3
- package/lib/commonjs/runtime/UserflowProvider.js.map +1 -1
- package/lib/commonjs/storage/asyncStorage.js +67 -0
- package/lib/commonjs/storage/asyncStorage.js.map +1 -0
- package/lib/commonjs/surfaces/BannerSurface.js +3 -1
- package/lib/commonjs/surfaces/BannerSurface.js.map +1 -1
- package/lib/commonjs/surfaces/safeArea.js +74 -28
- package/lib/commonjs/surfaces/safeArea.js.map +1 -1
- package/lib/commonjs/version.js +1 -1
- package/lib/module/anchors/AnchorRegistry.js +7 -0
- package/lib/module/anchors/AnchorRegistry.js.map +1 -1
- package/lib/module/anchors/elementConditionEvaluator.js +189 -55
- package/lib/module/anchors/elementConditionEvaluator.js.map +1 -1
- package/lib/module/anchors/elementTapMonitor.js +87 -0
- package/lib/module/anchors/elementTapMonitor.js.map +1 -0
- package/lib/module/anchors/elementTargetMatch.js +78 -0
- package/lib/module/anchors/elementTargetMatch.js.map +1 -0
- package/lib/module/anchors/fiber/findAnchorFiber.js +62 -39
- package/lib/module/anchors/fiber/findAnchorFiber.js.map +1 -1
- package/lib/module/anchors/fiber/touchTargetFiber.js +100 -0
- package/lib/module/anchors/fiber/touchTargetFiber.js.map +1 -0
- package/lib/module/anchors/resolveAnchorHost.js +2 -1
- package/lib/module/anchors/resolveAnchorHost.js.map +1 -1
- package/lib/module/anchors/resolveAutoAnchorHost.js +3 -3
- package/lib/module/anchors/resolveAutoAnchorHost.js.map +1 -1
- package/lib/module/anchors/resolveElementTargets.js +152 -0
- package/lib/module/anchors/resolveElementTargets.js.map +1 -0
- package/lib/module/anchors/targetPressMonitor.js +8 -3
- package/lib/module/anchors/targetPressMonitor.js.map +1 -1
- package/lib/module/anchors/useUserflowAnchor.js +1 -0
- package/lib/module/anchors/useUserflowAnchor.js.map +1 -1
- package/lib/module/anonymousId.js +15 -5
- package/lib/module/anonymousId.js.map +1 -1
- package/lib/module/authoring/capturePickerScreenshot.js +9 -1
- package/lib/module/authoring/capturePickerScreenshot.js.map +1 -1
- package/lib/module/evalJs/getWebView.js +5 -13
- package/lib/module/evalJs/getWebView.js.map +1 -1
- package/lib/module/hostAppVersion.js +6 -1
- package/lib/module/hostAppVersion.js.map +1 -1
- package/lib/module/index.js +5 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/installCheck.js +169 -0
- package/lib/module/installCheck.js.map +1 -0
- package/lib/module/nativeModules.js +40 -0
- package/lib/module/nativeModules.js.map +1 -0
- package/lib/module/network.js +20 -7
- package/lib/module/network.js.map +1 -1
- package/lib/module/pairing/deviceId.js +14 -10
- package/lib/module/pairing/deviceId.js.map +1 -1
- package/lib/module/pairing/tokenStorage.js +17 -4
- package/lib/module/pairing/tokenStorage.js.map +1 -1
- package/lib/module/runtime/TargetPressBridge.js +12 -1
- package/lib/module/runtime/TargetPressBridge.js.map +1 -1
- package/lib/module/runtime/UserflowProvider.js +7 -4
- package/lib/module/runtime/UserflowProvider.js.map +1 -1
- package/lib/module/storage/asyncStorage.js +61 -0
- package/lib/module/storage/asyncStorage.js.map +1 -0
- package/lib/module/surfaces/BannerSurface.js +3 -1
- package/lib/module/surfaces/BannerSurface.js.map +1 -1
- package/lib/module/surfaces/safeArea.js +70 -28
- package/lib/module/surfaces/safeArea.js.map +1 -1
- 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/elementConditionEvaluator.d.ts +12 -16
- package/lib/typescript/commonjs/src/anchors/elementConditionEvaluator.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/anchors/elementTapMonitor.d.ts +36 -0
- package/lib/typescript/commonjs/src/anchors/elementTapMonitor.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/anchors/elementTargetMatch.d.ts +20 -0
- package/lib/typescript/commonjs/src/anchors/elementTargetMatch.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/anchors/fiber/findAnchorFiber.d.ts +17 -5
- package/lib/typescript/commonjs/src/anchors/fiber/findAnchorFiber.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/anchors/fiber/touchTargetFiber.d.ts +24 -0
- package/lib/typescript/commonjs/src/anchors/fiber/touchTargetFiber.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/anchors/resolveAnchorHost.d.ts +2 -1
- package/lib/typescript/commonjs/src/anchors/resolveAnchorHost.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/anchors/resolveAutoAnchorHost.d.ts +10 -1
- package/lib/typescript/commonjs/src/anchors/resolveAutoAnchorHost.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/anchors/resolveElementTargets.d.ts +39 -0
- package/lib/typescript/commonjs/src/anchors/resolveElementTargets.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/anchors/targetPressMonitor.d.ts +2 -0
- package/lib/typescript/commonjs/src/anchors/targetPressMonitor.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/anchors/useUserflowAnchor.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/anonymousId.d.ts +2 -0
- package/lib/typescript/commonjs/src/anonymousId.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/authoring/capturePickerScreenshot.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/evalJs/getWebView.d.ts +2 -1
- package/lib/typescript/commonjs/src/evalJs/getWebView.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/hostAppVersion.d.ts +1 -1
- package/lib/typescript/commonjs/src/hostAppVersion.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/installCheck.d.ts +48 -0
- package/lib/typescript/commonjs/src/installCheck.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/nativeModules.d.ts +13 -0
- package/lib/typescript/commonjs/src/nativeModules.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/network.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/pairing/deviceId.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/pairing/tokenStorage.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/runtime/TargetPressBridge.d.ts +2 -1
- package/lib/typescript/commonjs/src/runtime/TargetPressBridge.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/runtime/UserflowProvider.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/storage/asyncStorage.d.ts +15 -0
- package/lib/typescript/commonjs/src/storage/asyncStorage.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/surfaces/BannerSurface.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/surfaces/safeArea.d.ts +6 -2
- package/lib/typescript/commonjs/src/surfaces/safeArea.d.ts.map +1 -1
- 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/elementConditionEvaluator.d.ts +12 -16
- package/lib/typescript/module/src/anchors/elementConditionEvaluator.d.ts.map +1 -1
- package/lib/typescript/module/src/anchors/elementTapMonitor.d.ts +36 -0
- package/lib/typescript/module/src/anchors/elementTapMonitor.d.ts.map +1 -0
- package/lib/typescript/module/src/anchors/elementTargetMatch.d.ts +20 -0
- package/lib/typescript/module/src/anchors/elementTargetMatch.d.ts.map +1 -0
- package/lib/typescript/module/src/anchors/fiber/findAnchorFiber.d.ts +17 -5
- package/lib/typescript/module/src/anchors/fiber/findAnchorFiber.d.ts.map +1 -1
- package/lib/typescript/module/src/anchors/fiber/touchTargetFiber.d.ts +24 -0
- package/lib/typescript/module/src/anchors/fiber/touchTargetFiber.d.ts.map +1 -0
- package/lib/typescript/module/src/anchors/resolveAnchorHost.d.ts +2 -1
- package/lib/typescript/module/src/anchors/resolveAnchorHost.d.ts.map +1 -1
- package/lib/typescript/module/src/anchors/resolveAutoAnchorHost.d.ts +10 -1
- package/lib/typescript/module/src/anchors/resolveAutoAnchorHost.d.ts.map +1 -1
- package/lib/typescript/module/src/anchors/resolveElementTargets.d.ts +39 -0
- package/lib/typescript/module/src/anchors/resolveElementTargets.d.ts.map +1 -0
- package/lib/typescript/module/src/anchors/targetPressMonitor.d.ts +2 -0
- package/lib/typescript/module/src/anchors/targetPressMonitor.d.ts.map +1 -1
- package/lib/typescript/module/src/anchors/useUserflowAnchor.d.ts.map +1 -1
- package/lib/typescript/module/src/anonymousId.d.ts +2 -0
- package/lib/typescript/module/src/anonymousId.d.ts.map +1 -1
- package/lib/typescript/module/src/authoring/capturePickerScreenshot.d.ts.map +1 -1
- package/lib/typescript/module/src/evalJs/getWebView.d.ts +2 -1
- package/lib/typescript/module/src/evalJs/getWebView.d.ts.map +1 -1
- package/lib/typescript/module/src/hostAppVersion.d.ts +1 -1
- package/lib/typescript/module/src/hostAppVersion.d.ts.map +1 -1
- package/lib/typescript/module/src/index.d.ts.map +1 -1
- package/lib/typescript/module/src/installCheck.d.ts +48 -0
- package/lib/typescript/module/src/installCheck.d.ts.map +1 -0
- package/lib/typescript/module/src/nativeModules.d.ts +13 -0
- package/lib/typescript/module/src/nativeModules.d.ts.map +1 -0
- package/lib/typescript/module/src/network.d.ts.map +1 -1
- package/lib/typescript/module/src/pairing/deviceId.d.ts.map +1 -1
- package/lib/typescript/module/src/pairing/tokenStorage.d.ts.map +1 -1
- package/lib/typescript/module/src/runtime/TargetPressBridge.d.ts +2 -1
- package/lib/typescript/module/src/runtime/TargetPressBridge.d.ts.map +1 -1
- package/lib/typescript/module/src/runtime/UserflowProvider.d.ts.map +1 -1
- package/lib/typescript/module/src/storage/asyncStorage.d.ts +15 -0
- package/lib/typescript/module/src/storage/asyncStorage.d.ts.map +1 -0
- package/lib/typescript/module/src/surfaces/BannerSurface.d.ts.map +1 -1
- package/lib/typescript/module/src/surfaces/safeArea.d.ts +6 -2
- package/lib/typescript/module/src/surfaces/safeArea.d.ts.map +1 -1
- package/lib/typescript/module/src/version.d.ts +1 -1
- package/package.json +25 -8
- package/src/anchors/AnchorRegistry.ts +12 -0
- package/src/anchors/elementConditionEvaluator.ts +235 -70
- package/src/anchors/elementTapMonitor.ts +95 -0
- package/src/anchors/elementTargetMatch.ts +90 -0
- package/src/anchors/fiber/findAnchorFiber.ts +66 -35
- package/src/anchors/fiber/touchTargetFiber.ts +125 -0
- package/src/anchors/resolveAnchorHost.ts +2 -1
- package/src/anchors/resolveAutoAnchorHost.ts +3 -3
- package/src/anchors/resolveElementTargets.ts +165 -0
- package/src/anchors/targetPressMonitor.ts +12 -3
- package/src/anchors/useUserflowAnchor.ts +1 -0
- package/src/anonymousId.ts +19 -8
- package/src/authoring/capturePickerScreenshot.ts +10 -1
- package/src/evalJs/getWebView.ts +6 -13
- package/src/hostAppVersion.ts +7 -1
- package/src/index.ts +10 -0
- package/src/installCheck.ts +225 -0
- package/src/nativeModules.ts +48 -0
- package/src/network.ts +27 -11
- package/src/pairing/deviceId.ts +14 -11
- package/src/pairing/tokenStorage.ts +23 -7
- package/src/runtime/TargetPressBridge.tsx +17 -1
- package/src/runtime/UserflowProvider.tsx +11 -4
- package/src/storage/asyncStorage.ts +88 -0
- package/src/surfaces/BannerSurface.tsx +7 -5
- package/src/surfaces/safeArea.ts +85 -40
- package/src/version.ts +1 -1
- package/vendor/core/dist/constants.d.ts +2 -0
- package/vendor/core/dist/constants.d.ts.map +1 -1
- package/vendor/core/dist/constants.js +2 -0
- package/vendor/core/dist/constants.js.map +1 -1
- package/vendor/core/dist/engine/ClientConditionEngine.d.ts +20 -1
- package/vendor/core/dist/engine/ClientConditionEngine.d.ts.map +1 -1
- package/vendor/core/dist/engine/ClientConditionEngine.js +13 -10
- package/vendor/core/dist/engine/ClientConditionEngine.js.map +1 -1
- package/vendor/core/dist/engine/UserflowCore.d.ts.map +1 -1
- package/vendor/core/dist/engine/UserflowCore.js +21 -2
- package/vendor/core/dist/engine/UserflowCore.js.map +1 -1
- package/vendor/core/dist/index.d.ts +1 -1
- package/vendor/core/dist/index.d.ts.map +1 -1
- package/vendor/core/dist/index.js.map +1 -1
- package/vendor/core/dist/version.d.ts +1 -1
- package/vendor/core/dist/version.js +1 -1
- package/vendor/core/package.json +1 -1
- package/vendor/protocol/package.json +1 -1
- package/docs/webview-custom-banner-poc.md +0 -64
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import AsyncStorage from '@react-native-async-storage/async-storage';
|
|
4
3
|
import { uuid } from "../anonymousId.js";
|
|
4
|
+
import { getAsyncStorage } from "../storage/asyncStorage.js";
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Stable id for this install on the pairing channel.
|
|
@@ -14,20 +14,24 @@ export const PAIRING_DEVICE_ID_STORAGE_KEY = 'userflow:pairingDeviceId';
|
|
|
14
14
|
let memoized = null;
|
|
15
15
|
export async function getOrCreatePairingDeviceId() {
|
|
16
16
|
if (memoized !== null) return memoized;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
17
|
+
const storage = getAsyncStorage();
|
|
18
|
+
if (storage) {
|
|
19
|
+
try {
|
|
20
|
+
const stored = await storage.getItem(PAIRING_DEVICE_ID_STORAGE_KEY);
|
|
21
|
+
if (typeof stored === 'string' && stored.length > 0) {
|
|
22
|
+
memoized = stored;
|
|
23
|
+
return stored;
|
|
24
|
+
}
|
|
25
|
+
} catch {
|
|
26
|
+
memoized = uuid();
|
|
27
|
+
return memoized;
|
|
22
28
|
}
|
|
23
|
-
} catch {
|
|
24
|
-
memoized = uuid();
|
|
25
|
-
return memoized;
|
|
26
29
|
}
|
|
27
30
|
const created = uuid();
|
|
28
31
|
memoized = created;
|
|
32
|
+
if (!storage) return created;
|
|
29
33
|
try {
|
|
30
|
-
await
|
|
34
|
+
await storage.setItem(PAIRING_DEVICE_ID_STORAGE_KEY, created);
|
|
31
35
|
} catch {
|
|
32
36
|
// Keep the in-memory id for this process. A later launch may mint another.
|
|
33
37
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["uuid","getAsyncStorage","PAIRING_DEVICE_ID_STORAGE_KEY","memoized","getOrCreatePairingDeviceId","storage","stored","getItem","length","created","setItem","resetPairingDeviceIdForTests"],"sourceRoot":"../../../src","sources":["pairing/deviceId.ts"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,mBAAgB;AACrC,SAASC,eAAe,QAAQ,4BAAyB;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,6BAA6B,GAAG,0BAA0B;AAEvE,IAAIC,QAAuB,GAAG,IAAI;AAElC,OAAO,eAAeC,0BAA0BA,CAAA,EAAoB;EAClE,IAAID,QAAQ,KAAK,IAAI,EAAE,OAAOA,QAAQ;EAEtC,MAAME,OAAO,GAAGJ,eAAe,CAAC,CAAC;EACjC,IAAII,OAAO,EAAE;IACX,IAAI;MACF,MAAMC,MAAM,GAAG,MAAMD,OAAO,CAACE,OAAO,CAACL,6BAA6B,CAAC;MACnE,IAAI,OAAOI,MAAM,KAAK,QAAQ,IAAIA,MAAM,CAACE,MAAM,GAAG,CAAC,EAAE;QACnDL,QAAQ,GAAGG,MAAM;QACjB,OAAOA,MAAM;MACf;IACF,CAAC,CAAC,MAAM;MACNH,QAAQ,GAAGH,IAAI,CAAC,CAAC;MACjB,OAAOG,QAAQ;IACjB;EACF;EAEA,MAAMM,OAAO,GAAGT,IAAI,CAAC,CAAC;EACtBG,QAAQ,GAAGM,OAAO;EAClB,IAAI,CAACJ,OAAO,EAAE,OAAOI,OAAO;EAC5B,IAAI;IACF,MAAMJ,OAAO,CAACK,OAAO,CAACR,6BAA6B,EAAEO,OAAO,CAAC;EAC/D,CAAC,CAAC,MAAM;IACN;EAAA;EAEF,OAAOA,OAAO;AAChB;;AAEA;AACA,OAAO,SAASE,4BAA4BA,CAAA,EAAS;EACnDR,QAAQ,GAAG,IAAI;AACjB","ignoreList":[]}
|
|
@@ -6,34 +6,47 @@
|
|
|
6
6
|
* the in-memory fallback does not survive a process restart.
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
+
import { isNativeModuleLinked } from "../nativeModules.js";
|
|
9
10
|
import { parsePairingPurpose } from "./deepLink.js";
|
|
10
11
|
|
|
11
12
|
// SecureStore rejects keys outside [A-Za-z0-9._-], so no `userflow:` prefix here.
|
|
12
13
|
export const PAIRING_TOKEN_STORAGE_KEY = 'userflow.pairingToken';
|
|
13
14
|
export const PAIRING_PURPOSE_STORAGE_KEY = 'userflow.pairingPurpose';
|
|
14
15
|
let cachedSecureStore;
|
|
16
|
+
const SECURE_STORE_MODULE = 'ExpoSecureStore';
|
|
17
|
+
const SECURE_STORE_UNAVAILABLE_WARNING = '[Userflow] Optional peer expo-secure-store is unavailable; ' + 'pairing JWT persistence falls back to in-memory storage.';
|
|
15
18
|
|
|
16
19
|
/** Expo modules must be installed natively — not just the JS package. */
|
|
17
20
|
function isExpoModulesRuntimeAvailable() {
|
|
18
21
|
const expo = globalThis.expo;
|
|
19
22
|
return typeof expo?.EventEmitter === 'function';
|
|
20
23
|
}
|
|
24
|
+
function warnSecureStoreUnavailable() {
|
|
25
|
+
if (!__DEV__) return;
|
|
26
|
+
// eslint-disable-next-line no-console -- intentional missing-optional-peer diagnostic
|
|
27
|
+
console.warn(SECURE_STORE_UNAVAILABLE_WARNING);
|
|
28
|
+
}
|
|
21
29
|
function tryLoadExpoSecureStore() {
|
|
22
30
|
if (cachedSecureStore !== undefined) return cachedSecureStore;
|
|
23
31
|
if (typeof require !== 'function' || !isExpoModulesRuntimeAvailable()) {
|
|
24
32
|
cachedSecureStore = null;
|
|
25
33
|
return cachedSecureStore;
|
|
26
34
|
}
|
|
35
|
+
|
|
36
|
+
// expo-secure-store calls requireNativeModule at import and throws when the
|
|
37
|
+
// native module is missing. Metro reports that as fatal before try/catch.
|
|
38
|
+
if (!isNativeModuleLinked(SECURE_STORE_MODULE)) {
|
|
39
|
+
cachedSecureStore = null;
|
|
40
|
+
warnSecureStoreUnavailable();
|
|
41
|
+
return cachedSecureStore;
|
|
42
|
+
}
|
|
27
43
|
try {
|
|
28
44
|
// Optional peer — absent in bare RN without expo-secure-store.
|
|
29
45
|
// eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires -- optional peer at import time
|
|
30
46
|
cachedSecureStore = require('expo-secure-store');
|
|
31
47
|
} catch {
|
|
32
48
|
cachedSecureStore = null;
|
|
33
|
-
|
|
34
|
-
// eslint-disable-next-line no-console -- intentional missing-optional-peer diagnostic
|
|
35
|
-
console.warn('[Userflow] Optional peer expo-secure-store is unavailable; ' + 'pairing JWT persistence falls back to in-memory storage.');
|
|
36
|
-
}
|
|
49
|
+
warnSecureStoreUnavailable();
|
|
37
50
|
}
|
|
38
51
|
return cachedSecureStore;
|
|
39
52
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["parsePairingPurpose","PAIRING_TOKEN_STORAGE_KEY","PAIRING_PURPOSE_STORAGE_KEY","cachedSecureStore","isExpoModulesRuntimeAvailable","expo","globalThis","EventEmitter","
|
|
1
|
+
{"version":3,"names":["isNativeModuleLinked","parsePairingPurpose","PAIRING_TOKEN_STORAGE_KEY","PAIRING_PURPOSE_STORAGE_KEY","cachedSecureStore","SECURE_STORE_MODULE","SECURE_STORE_UNAVAILABLE_WARNING","isExpoModulesRuntimeAvailable","expo","globalThis","EventEmitter","warnSecureStoreUnavailable","__DEV__","console","warn","tryLoadExpoSecureStore","undefined","require","createMemoryPairingTokenStore","value","purposeValue","get","set","token","clear","getPurpose","setPurpose","purpose","createPairingTokenStore","secure","getItemAsync","setItemAsync","error","Error","message","String","deleteItemAsync","resetPairingTokenStoreCacheForTests"],"sourceRoot":"../../../src","sources":["pairing/tokenStorage.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import { StyleSheet, View } from 'react-native';
|
|
5
|
+
import { elementTapMonitor } from "../anchors/elementTapMonitor.js";
|
|
6
|
+
import { touchBelongsToEvent, touchTargetFiber } from "../anchors/fiber/touchTargetFiber.js";
|
|
5
7
|
import { targetPressMonitor } from "../anchors/targetPressMonitor.js";
|
|
6
8
|
import { changedTouchPoints, forEachChangedTouch } from "./changedTouchPoints.js";
|
|
7
9
|
import { isolateSync } from "./isolateCall.js";
|
|
@@ -13,7 +15,8 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
13
15
|
*
|
|
14
16
|
* The Userflow overlay is a sibling above the app, so hole Pressables would
|
|
15
17
|
* intercept presses. Instead we hit-test bubbled `onTouchStart` / `onTouchEnd`
|
|
16
|
-
* against the rect registered by {@link TooltipSurface}
|
|
18
|
+
* against the rect registered by {@link TooltipSurface}, and — while an
|
|
19
|
+
* element click condition is tracked — against the fiber under the finger.
|
|
17
20
|
*
|
|
18
21
|
* Preview-chrome double taps are observed by `DoubleTapBridge` around the
|
|
19
22
|
* whole provider tree — this bridge never sees overlay touches.
|
|
@@ -25,15 +28,21 @@ export function TargetPressBridge({
|
|
|
25
28
|
}) {
|
|
26
29
|
const onTouchStart = React.useCallback(event => {
|
|
27
30
|
isolateSync('target-press', () => {
|
|
31
|
+
const observingTaps = elementTapMonitor.subscriberCount > 0;
|
|
28
32
|
forEachChangedTouch(event, (identifier, pageX, pageY) => {
|
|
29
33
|
targetPressMonitor.handleTouchStart(identifier, pageX, pageY);
|
|
34
|
+
if (!observingTaps || !touchBelongsToEvent(event, identifier)) return;
|
|
35
|
+
elementTapMonitor.handleTouchStart(identifier, pageX, pageY, touchTargetFiber(event, identifier));
|
|
30
36
|
});
|
|
31
37
|
});
|
|
32
38
|
}, []);
|
|
33
39
|
const onTouchEnd = React.useCallback(event => {
|
|
34
40
|
isolateSync('target-press', () => {
|
|
41
|
+
const observingTaps = elementTapMonitor.subscriberCount > 0;
|
|
35
42
|
forEachChangedTouch(event, (identifier, pageX, pageY) => {
|
|
36
43
|
targetPressMonitor.handleTouchEnd(identifier, pageX, pageY);
|
|
44
|
+
if (!observingTaps) return;
|
|
45
|
+
elementTapMonitor.handleTouchEnd(identifier, pageX, pageY);
|
|
37
46
|
});
|
|
38
47
|
});
|
|
39
48
|
}, []);
|
|
@@ -42,10 +51,12 @@ export function TargetPressBridge({
|
|
|
42
51
|
const points = changedTouchPoints(event);
|
|
43
52
|
if (points.length === 0) {
|
|
44
53
|
targetPressMonitor.cancelTouch();
|
|
54
|
+
elementTapMonitor.cancelTouch();
|
|
45
55
|
return;
|
|
46
56
|
}
|
|
47
57
|
for (const touch of points) {
|
|
48
58
|
targetPressMonitor.cancelTouch(touch.identifier);
|
|
59
|
+
elementTapMonitor.cancelTouch(touch.identifier);
|
|
49
60
|
}
|
|
50
61
|
});
|
|
51
62
|
}, []);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","StyleSheet","View","targetPressMonitor","changedTouchPoints","forEachChangedTouch","isolateSync","jsx","_jsx","TargetPressBridge","children","onTouchStart","useCallback","event","identifier","pageX","pageY","handleTouchStart","onTouchEnd","handleTouchEnd","onTouchCancel","points","length","cancelTouch","touch","style","styles","root","collapsable","testID","create","flex"],"sourceRoot":"../../../src","sources":["runtime/TargetPressBridge.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,UAAU,EAAEC,IAAI,QAAoC,cAAc;AAE3E,SAASC,kBAAkB,QAAQ,kCAA+B;AAElE,SAASC,kBAAkB,EAAEC,mBAAmB,QAAQ,yBAAsB;AAC9E,SAASC,WAAW,QAAQ,kBAAe;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAM5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAAC;EAAEC;AAAiC,CAAC,EAAsB;EAC1F,MAAMC,YAAY,
|
|
1
|
+
{"version":3,"names":["React","StyleSheet","View","elementTapMonitor","touchBelongsToEvent","touchTargetFiber","targetPressMonitor","changedTouchPoints","forEachChangedTouch","isolateSync","jsx","_jsx","TargetPressBridge","children","onTouchStart","useCallback","event","observingTaps","subscriberCount","identifier","pageX","pageY","handleTouchStart","onTouchEnd","handleTouchEnd","onTouchCancel","points","length","cancelTouch","touch","style","styles","root","collapsable","testID","create","flex"],"sourceRoot":"../../../src","sources":["runtime/TargetPressBridge.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,7 +6,7 @@ import { FiberScanRoot } from "../anchors/fiber/FiberScanRoot.js";
|
|
|
6
6
|
import { DoubleTapBridge } from "../authoring/chrome/DoubleTapBridge.js";
|
|
7
7
|
import { elementPickerController } from "../authoring/elementPickerController.js";
|
|
8
8
|
import { ABSOLUTE_FILL } from "../surfaces/absoluteFill.js";
|
|
9
|
-
import { getSafeAreaInsetsContext, useUserflowSafeAreaInsets } from "../surfaces/safeArea.js";
|
|
9
|
+
import { getSafeAreaInsetsContext, useParentSafeAreaInsets, useUserflowSafeAreaInsets } from "../surfaces/safeArea.js";
|
|
10
10
|
import { SurfaceLayoutInsetsProvider } from "../surfaces/surfaceLayoutInsets.js";
|
|
11
11
|
import { BannerHost } from "./BannerHost.js";
|
|
12
12
|
import { SdkErrorBoundary } from "./SdkErrorBoundary.js";
|
|
@@ -175,14 +175,17 @@ function HostSafeArea({
|
|
|
175
175
|
children
|
|
176
176
|
}) {
|
|
177
177
|
const Context = getSafeAreaInsetsContext();
|
|
178
|
-
|
|
179
|
-
|
|
178
|
+
// Re-provide only when a parent already supplied insets, or when a banner
|
|
179
|
+
// override applies. Supplying a value with no parent would hide the host's
|
|
180
|
+
// own missing SafeAreaProvider from its useSafeAreaInsets() calls.
|
|
181
|
+
const parent = useParentSafeAreaInsets();
|
|
182
|
+
if (!Context || insets == null && parent == null) {
|
|
180
183
|
return /*#__PURE__*/_jsx(_Fragment, {
|
|
181
184
|
children: children
|
|
182
185
|
});
|
|
183
186
|
}
|
|
184
187
|
return /*#__PURE__*/_jsx(Context.Provider, {
|
|
185
|
-
value: insets ??
|
|
188
|
+
value: insets ?? parent,
|
|
186
189
|
children: children
|
|
187
190
|
});
|
|
188
191
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","StyleSheet","View","FiberScanRoot","DoubleTapBridge","elementPickerController","ABSOLUTE_FILL","getSafeAreaInsetsContext","useUserflowSafeAreaInsets","SurfaceLayoutInsetsProvider","BannerHost","SdkErrorBoundary","TargetPressBridge","UserflowOverlay","getBannerSessionEngine","BannerEngineContext","bannerEdge","getFlowSessionEngine","isolateSync","useBannerSession","getUserflowCore","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","UserflowContext","createContext","overlayResetKeyFromEngine","engine","session","getFlowSession","id","getCurrentStep","useOverlayErrorBoundaryResetKey","resetKey","setResetKey","useState","useEffect","apply","next","on","UserflowProvider","children","engineProp","bannerEngine","bannerEngineProp","contextValue","useMemo","overlayResetKey","trapHostAccessibility","setTrapHostAccessibility","onTrapChange","useCallback","trap","onOverlayError","bannerSession","safeInsets","pickerActive","setPickerActive","getState","active","subscribe","banner","version","flowEdge","overlay","embedMode","hostInsets","top","bottom","appContent","style","styles","testID","importantForAccessibility","undefined","accessibilityElementsHidden","Provider","value","root","collapsable","placement","edge","hidden","HostSafeArea","insets","pointerEvents","scope","onError","Context","
|
|
1
|
+
{"version":3,"names":["React","StyleSheet","View","FiberScanRoot","DoubleTapBridge","elementPickerController","ABSOLUTE_FILL","getSafeAreaInsetsContext","useParentSafeAreaInsets","useUserflowSafeAreaInsets","SurfaceLayoutInsetsProvider","BannerHost","SdkErrorBoundary","TargetPressBridge","UserflowOverlay","getBannerSessionEngine","BannerEngineContext","bannerEdge","getFlowSessionEngine","isolateSync","useBannerSession","getUserflowCore","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","UserflowContext","createContext","overlayResetKeyFromEngine","engine","session","getFlowSession","id","getCurrentStep","useOverlayErrorBoundaryResetKey","resetKey","setResetKey","useState","useEffect","apply","next","on","UserflowProvider","children","engineProp","bannerEngine","bannerEngineProp","contextValue","useMemo","overlayResetKey","trapHostAccessibility","setTrapHostAccessibility","onTrapChange","useCallback","trap","onOverlayError","bannerSession","safeInsets","pickerActive","setPickerActive","getState","active","subscribe","banner","version","flowEdge","overlay","embedMode","hostInsets","top","bottom","appContent","style","styles","testID","importantForAccessibility","undefined","accessibilityElementsHidden","Provider","value","root","collapsable","placement","edge","hidden","HostSafeArea","insets","pointerEvents","scope","onError","Context","parent","useUserflow","ctx","useContext","Error","create","flex"],"sourceRoot":"../../../src","sources":["runtime/UserflowProvider.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const ASYNC_STORAGE_NATIVE_MODULES = ['RNAsyncStorage', 'RNCAsyncStorage', 'RNC_AsyncSQLiteDBStorage', 'PlatformLocalStorage', 'AsyncSQLiteDBStorage', 'AsyncLocalStorage'];
|
|
4
|
+
let cached;
|
|
5
|
+
function loadReactNative() {
|
|
6
|
+
try {
|
|
7
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires
|
|
8
|
+
return require('react-native');
|
|
9
|
+
} catch {
|
|
10
|
+
return null;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
function nativeModuleRegistered(name, reactNative) {
|
|
14
|
+
try {
|
|
15
|
+
const turbo = reactNative.TurboModuleRegistry;
|
|
16
|
+
if (typeof turbo?.get === 'function' && turbo.get(name) != null) {
|
|
17
|
+
return true;
|
|
18
|
+
}
|
|
19
|
+
} catch {
|
|
20
|
+
// A missing turbo registry is not a failed link check.
|
|
21
|
+
}
|
|
22
|
+
try {
|
|
23
|
+
return reactNative.NativeModules?.[name] != null;
|
|
24
|
+
} catch {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/** True when some AsyncStorage native binary is in this build. */
|
|
30
|
+
export function isAsyncStorageLinked() {
|
|
31
|
+
const reactNative = loadReactNative();
|
|
32
|
+
if (!reactNative) return false;
|
|
33
|
+
return ASYNC_STORAGE_NATIVE_MODULES.some(name => nativeModuleRegistered(name, reactNative));
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* The AsyncStorage JS API, or `null` when the package or its native module is
|
|
38
|
+
* missing. Never requires the package until the native module is registered.
|
|
39
|
+
*/
|
|
40
|
+
export function getAsyncStorage() {
|
|
41
|
+
if (cached !== undefined) return cached;
|
|
42
|
+
if (typeof require !== 'function' || !isAsyncStorageLinked()) {
|
|
43
|
+
cached = null;
|
|
44
|
+
return cached;
|
|
45
|
+
}
|
|
46
|
+
try {
|
|
47
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires
|
|
48
|
+
const mod = require('@react-native-async-storage/async-storage');
|
|
49
|
+
const storage = mod?.default ?? mod;
|
|
50
|
+
cached = typeof storage?.getItem === 'function' && typeof storage.setItem === 'function' && typeof storage.removeItem === 'function' ? storage : null;
|
|
51
|
+
} catch {
|
|
52
|
+
cached = null;
|
|
53
|
+
}
|
|
54
|
+
return cached;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/** @internal */
|
|
58
|
+
export function resetAsyncStorageCacheForTests() {
|
|
59
|
+
cached = undefined;
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=asyncStorage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ASYNC_STORAGE_NATIVE_MODULES","cached","loadReactNative","require","nativeModuleRegistered","name","reactNative","turbo","TurboModuleRegistry","get","NativeModules","isAsyncStorageLinked","some","getAsyncStorage","undefined","mod","storage","default","getItem","setItem","removeItem","resetAsyncStorageCacheForTests"],"sourceRoot":"../../../src","sources":["storage/asyncStorage.ts"],"mappings":";;AAIA,MAAMA,4BAA4B,GAAG,CACnC,gBAAgB,EAChB,iBAAiB,EACjB,0BAA0B,EAC1B,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,CACX;AAQV,IAAIC,MAA2C;AAE/C,SAASC,eAAeA,CAAA,EAAmC;EACzD,IAAI;IACF;IACA,OAAOC,OAAO,CAAC,cAAc,CAAC;EAChC,CAAC,CAAC,MAAM;IACN,OAAO,IAAI;EACb;AACF;AAEA,SAASC,sBAAsBA,CAACC,IAAY,EAAEC,WAAoC,EAAW;EAC3F,IAAI;IACF,MAAMC,KAAK,GAAGD,WAAW,CAACE,mBAAmB;IAC7C,IAAI,OAAOD,KAAK,EAAEE,GAAG,KAAK,UAAU,IAAIF,KAAK,CAACE,GAAG,CAACJ,IAAI,CAAC,IAAI,IAAI,EAAE;MAC/D,OAAO,IAAI;IACb;EACF,CAAC,CAAC,MAAM;IACN;EAAA;EAEF,IAAI;IACF,OAAOC,WAAW,CAACI,aAAa,GAAGL,IAAI,CAAC,IAAI,IAAI;EAClD,CAAC,CAAC,MAAM;IACN,OAAO,KAAK;EACd;AACF;;AAEA;AACA,OAAO,SAASM,oBAAoBA,CAAA,EAAY;EAC9C,MAAML,WAAW,GAAGJ,eAAe,CAAC,CAAC;EACrC,IAAI,CAACI,WAAW,EAAE,OAAO,KAAK;EAC9B,OAAON,4BAA4B,CAACY,IAAI,CAAEP,IAAI,IAAKD,sBAAsB,CAACC,IAAI,EAAEC,WAAW,CAAC,CAAC;AAC/F;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASO,eAAeA,CAAA,EAA4B;EACzD,IAAIZ,MAAM,KAAKa,SAAS,EAAE,OAAOb,MAAM;EAEvC,IAAI,OAAOE,OAAO,KAAK,UAAU,IAAI,CAACQ,oBAAoB,CAAC,CAAC,EAAE;IAC5DV,MAAM,GAAG,IAAI;IACb,OAAOA,MAAM;EACf;EAEA,IAAI;IACF;IACA,MAAMc,GAAG,GAAGZ,OAAO,CAAC,2CAA2C,CAElC;IAC7B,MAAMa,OAAO,GAAGD,GAAG,EAAEE,OAAO,IAAIF,GAAG;IACnCd,MAAM,GACJ,OAAOe,OAAO,EAAEE,OAAO,KAAK,UAAU,IACtC,OAAOF,OAAO,CAACG,OAAO,KAAK,UAAU,IACrC,OAAOH,OAAO,CAACI,UAAU,KAAK,UAAU,GACnCJ,OAAO,GACR,IAAI;EACZ,CAAC,CAAC,MAAM;IACNf,MAAM,GAAG,IAAI;EACf;EAEA,OAAOA,MAAM;AACf;;AAEA;AACA,OAAO,SAASoB,8BAA8BA,CAAA,EAAS;EACrDpB,MAAM,GAAGa,SAAS;AACpB","ignoreList":[]}
|
|
@@ -44,7 +44,9 @@ export function BannerSurface({
|
|
|
44
44
|
if (!webView) {
|
|
45
45
|
if (!warnedMissingWebView) {
|
|
46
46
|
warnedMissingWebView = true;
|
|
47
|
-
|
|
47
|
+
if (__DEV__) {
|
|
48
|
+
console.warn('Userflow: WebView banner requires react-native-webview in the native binary. ' + 'Add it to your app (e.g. npx expo install react-native-webview), run pod install under ios/, ' + 'then rebuild with expo run:ios (not Expo Go). Falling back to the native banner bar.');
|
|
49
|
+
}
|
|
48
50
|
}
|
|
49
51
|
return /*#__PURE__*/_jsx(BannerBar, {
|
|
50
52
|
session: session,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","evalJsController","getEvalJsWebView","BannerBar","BannerWebViewBar","clearBannerAutoRunEvalSession","bannerNeedsWebView","jsx","_jsx","warnedMissingWebView","BannerSurface","session","onActions","onDismiss","banner","version","theme","needsWebView","webView","useLayoutEffect","setBannerOwnsWebView","id","dismissWebViewBanner","useCallback","endReason","reset","console","warn","resetBannerSurfaceWarningsForTests"],"sourceRoot":"../../../src","sources":["surfaces/BannerSurface.tsx"],"mappings":";;AAKA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,gBAAgB,QAAQ,+BAA4B;AAC7D,SAASC,gBAAgB,QAAQ,yBAAsB;AAEvD,SAASC,SAAS,QAAQ,gBAAa;AACvC,SAASC,gBAAgB,QAAQ,qCAAkC;AACnE,SAASC,6BAA6B,QAAQ,yCAAsC;AACpF,SAASC,kBAAkB,QAAQ,uCAAoC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAQxE,IAAIC,oBAAoB,GAAG,KAAK;;AAEhC;AACA;AACA;AACA;AACA,OAAO,SAASC,aAAaA,CAAC;EAC5BC,OAAO;EACPC,SAAS;EACTC;AACkB,CAAC,EAA6B;EAChD,MAAMC,MAAM,GAAGH,OAAO,CAACI,OAAO,CAACD,MAAM;EACrC,MAAME,KAAK,GAAGL,OAAO,CAACI,OAAO,CAACC,KAAK;EACnC,MAAMC,YAAY,GAAGH,MAAM,IAAI,IAAI,IAAIR,kBAAkB,CAACQ,MAAM,EAAEE,KAAK,CAAC;EACxE,MAAME,OAAO,GAAGD,YAAY,GAAGf,gBAAgB,CAAC,CAAC,GAAG,IAAI;EAExDF,KAAK,CAACmB,eAAe,CAAC,MAAM;IAC1B,IAAI,CAACF,YAAY,IAAI,CAACC,OAAO,EAAE;MAC7B;IACF;IACAjB,gBAAgB,CAACmB,oBAAoB,CAAC,IAAI,CAAC;IAC3C,OAAO,MAAM;MACXnB,gBAAgB,CAACmB,oBAAoB,CAAC,KAAK,CAAC;IAC9C,CAAC;EACH,CAAC,EAAE,CAACH,YAAY,EAAEC,OAAO,EAAEP,OAAO,CAACU,EAAE,CAAC,CAAC;EAEvC,MAAMC,oBAAoB,GAAGtB,KAAK,CAACuB,WAAW,CAC3CC,SAA6B,IAAK;IACjCnB,6BAA6B,CAACM,OAAO,CAACU,EAAE,CAAC;IACzCpB,gBAAgB,CAACwB,KAAK,CAAC,CAAC;IACxBZ,SAAS,CAACW,SAAS,CAAC;EACtB,CAAC,EACD,CAACX,SAAS,EAAEF,OAAO,CAACU,EAAE,CACxB,CAAC;EAED,IAAI,CAACP,MAAM,EAAE;IACX,OAAO,IAAI;EACb;EACA,IAAIG,YAAY,EAAE;IAChB,IAAI,CAACC,OAAO,EAAE;MACZ,IAAI,CAACT,oBAAoB,EAAE;QACzBA,oBAAoB,GAAG,IAAI;
|
|
1
|
+
{"version":3,"names":["React","evalJsController","getEvalJsWebView","BannerBar","BannerWebViewBar","clearBannerAutoRunEvalSession","bannerNeedsWebView","jsx","_jsx","warnedMissingWebView","BannerSurface","session","onActions","onDismiss","banner","version","theme","needsWebView","webView","useLayoutEffect","setBannerOwnsWebView","id","dismissWebViewBanner","useCallback","endReason","reset","__DEV__","console","warn","resetBannerSurfaceWarningsForTests"],"sourceRoot":"../../../src","sources":["surfaces/BannerSurface.tsx"],"mappings":";;AAKA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,gBAAgB,QAAQ,+BAA4B;AAC7D,SAASC,gBAAgB,QAAQ,yBAAsB;AAEvD,SAASC,SAAS,QAAQ,gBAAa;AACvC,SAASC,gBAAgB,QAAQ,qCAAkC;AACnE,SAASC,6BAA6B,QAAQ,yCAAsC;AACpF,SAASC,kBAAkB,QAAQ,uCAAoC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAQxE,IAAIC,oBAAoB,GAAG,KAAK;;AAEhC;AACA;AACA;AACA;AACA,OAAO,SAASC,aAAaA,CAAC;EAC5BC,OAAO;EACPC,SAAS;EACTC;AACkB,CAAC,EAA6B;EAChD,MAAMC,MAAM,GAAGH,OAAO,CAACI,OAAO,CAACD,MAAM;EACrC,MAAME,KAAK,GAAGL,OAAO,CAACI,OAAO,CAACC,KAAK;EACnC,MAAMC,YAAY,GAAGH,MAAM,IAAI,IAAI,IAAIR,kBAAkB,CAACQ,MAAM,EAAEE,KAAK,CAAC;EACxE,MAAME,OAAO,GAAGD,YAAY,GAAGf,gBAAgB,CAAC,CAAC,GAAG,IAAI;EAExDF,KAAK,CAACmB,eAAe,CAAC,MAAM;IAC1B,IAAI,CAACF,YAAY,IAAI,CAACC,OAAO,EAAE;MAC7B;IACF;IACAjB,gBAAgB,CAACmB,oBAAoB,CAAC,IAAI,CAAC;IAC3C,OAAO,MAAM;MACXnB,gBAAgB,CAACmB,oBAAoB,CAAC,KAAK,CAAC;IAC9C,CAAC;EACH,CAAC,EAAE,CAACH,YAAY,EAAEC,OAAO,EAAEP,OAAO,CAACU,EAAE,CAAC,CAAC;EAEvC,MAAMC,oBAAoB,GAAGtB,KAAK,CAACuB,WAAW,CAC3CC,SAA6B,IAAK;IACjCnB,6BAA6B,CAACM,OAAO,CAACU,EAAE,CAAC;IACzCpB,gBAAgB,CAACwB,KAAK,CAAC,CAAC;IACxBZ,SAAS,CAACW,SAAS,CAAC;EACtB,CAAC,EACD,CAACX,SAAS,EAAEF,OAAO,CAACU,EAAE,CACxB,CAAC;EAED,IAAI,CAACP,MAAM,EAAE;IACX,OAAO,IAAI;EACb;EACA,IAAIG,YAAY,EAAE;IAChB,IAAI,CAACC,OAAO,EAAE;MACZ,IAAI,CAACT,oBAAoB,EAAE;QACzBA,oBAAoB,GAAG,IAAI;QAC3B,IAAIiB,OAAO,EAAE;UACXC,OAAO,CAACC,IAAI,CACV,+EAA+E,GAC7E,+FAA+F,GAC/F,sFACJ,CAAC;QACH;MACF;MACA,oBAAOpB,IAAA,CAACL,SAAS;QAACQ,OAAO,EAAEA,OAAQ;QAACC,SAAS,EAAEA,SAAU;QAACC,SAAS,EAAEA;MAAU,CAAE,CAAC;IACpF;IACA,oBACEL,IAAA,CAACJ,gBAAgB;MAACO,OAAO,EAAEA,OAAQ;MAACC,SAAS,EAAEA,SAAU;MAACC,SAAS,EAAES;IAAqB,CAAE,CAAC;EAEjG;EACA,oBAAOd,IAAA,CAACL,SAAS;IAACQ,OAAO,EAAEA,OAAQ;IAACC,SAAS,EAAEA,SAAU;IAACC,SAAS,EAAEA;EAAU,CAAE,CAAC;AACpF;;AAEA;AACA,OAAO,SAASgB,kCAAkCA,CAAA,EAAS;EACzDpB,oBAAoB,GAAG,KAAK;AAC9B","ignoreList":[]}
|
|
@@ -1,38 +1,92 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import React from 'react';
|
|
3
4
|
const ZERO_INSETS = {
|
|
4
5
|
top: 0,
|
|
5
6
|
right: 0,
|
|
6
7
|
bottom: 0,
|
|
7
8
|
left: 0
|
|
8
9
|
};
|
|
9
|
-
let cachedHook;
|
|
10
|
-
let cachedInsetsContext;
|
|
11
10
|
|
|
12
11
|
/**
|
|
13
|
-
*
|
|
14
|
-
*
|
|
12
|
+
* Used only when `react-native-safe-area-context` is not installed, so
|
|
13
|
+
* {@link useUserflowSafeAreaInsets} can call `useContext` unconditionally.
|
|
15
14
|
*/
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
const FallbackInsetsContext = /*#__PURE__*/React.createContext(null);
|
|
16
|
+
export const MISSING_SAFE_AREA_PROVIDER_WARNING = '[Userflow] UserflowProvider is not inside a <SafeAreaProvider>, so flow cards use the ' + "device's initial safe-area insets. Wrap your app in <SafeAreaProvider> from " + 'react-native-safe-area-context.';
|
|
17
|
+
let cachedModule;
|
|
18
|
+
let warnedMissingProvider = false;
|
|
19
|
+
function loadSafeAreaModule() {
|
|
20
|
+
if (cachedModule !== undefined) return cachedModule;
|
|
18
21
|
if (typeof require !== 'function') {
|
|
19
|
-
|
|
20
|
-
return
|
|
22
|
+
cachedModule = null;
|
|
23
|
+
return null;
|
|
21
24
|
}
|
|
22
25
|
try {
|
|
23
26
|
// Optional peer — Expo / React Navigation apps usually have it.
|
|
24
27
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
25
28
|
const mod = require('react-native-safe-area-context');
|
|
26
|
-
|
|
29
|
+
cachedModule = mod?.SafeAreaInsetsContext ? mod : null;
|
|
27
30
|
} catch {
|
|
28
|
-
|
|
31
|
+
cachedModule = null;
|
|
32
|
+
}
|
|
33
|
+
return cachedModule;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/** True when the optional peer's JavaScript package can be loaded. */
|
|
37
|
+
export function isSafeAreaContextInstalled() {
|
|
38
|
+
return loadSafeAreaModule() != null;
|
|
39
|
+
}
|
|
40
|
+
function copyInsets(insets) {
|
|
41
|
+
if (!insets) return null;
|
|
42
|
+
const top = insets.top;
|
|
43
|
+
const right = insets.right;
|
|
44
|
+
const bottom = insets.bottom;
|
|
45
|
+
const left = insets.left;
|
|
46
|
+
if (typeof top !== 'number' || typeof right !== 'number' || typeof bottom !== 'number' || typeof left !== 'number') {
|
|
47
|
+
return null;
|
|
29
48
|
}
|
|
30
|
-
return
|
|
49
|
+
return {
|
|
50
|
+
top,
|
|
51
|
+
right,
|
|
52
|
+
bottom,
|
|
53
|
+
left
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/** Device insets from the optional peer, before any provider has measured. */
|
|
58
|
+
function readInitialInsets() {
|
|
59
|
+
return copyInsets(loadSafeAreaModule()?.initialWindowMetrics?.insets);
|
|
60
|
+
}
|
|
61
|
+
function warnMissingProvider() {
|
|
62
|
+
if (warnedMissingProvider || !__DEV__) return;
|
|
63
|
+
warnedMissingProvider = true;
|
|
64
|
+
// eslint-disable-next-line no-console -- intentional missing-provider diagnostic
|
|
65
|
+
console.warn(MISSING_SAFE_AREA_PROVIDER_WARNING);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Safe-area insets for flow chrome.
|
|
70
|
+
*
|
|
71
|
+
* Reads `SafeAreaInsetsContext` directly. `useSafeAreaInsets()` throws when the
|
|
72
|
+
* peer is installed but no `SafeAreaProvider` is mounted, which would take down
|
|
73
|
+
* the host tree. A missing provider falls back to `initialWindowMetrics`, then
|
|
74
|
+
* zero, and warns once in development.
|
|
75
|
+
*/
|
|
76
|
+
function insetsContext() {
|
|
77
|
+
return loadSafeAreaModule()?.SafeAreaInsetsContext ?? FallbackInsetsContext;
|
|
31
78
|
}
|
|
32
79
|
|
|
33
|
-
/**
|
|
80
|
+
/** Value from the nearest provider, or `null` when the peer or provider is absent. */
|
|
81
|
+
export function useParentSafeAreaInsets() {
|
|
82
|
+
return copyInsets(React.useContext(insetsContext()));
|
|
83
|
+
}
|
|
34
84
|
export function useUserflowSafeAreaInsets() {
|
|
35
|
-
|
|
85
|
+
const fromProvider = useParentSafeAreaInsets();
|
|
86
|
+
if (fromProvider) return fromProvider;
|
|
87
|
+
if (!loadSafeAreaModule()) return ZERO_INSETS;
|
|
88
|
+
warnMissingProvider();
|
|
89
|
+
return readInitialInsets() ?? ZERO_INSETS;
|
|
36
90
|
}
|
|
37
91
|
|
|
38
92
|
/**
|
|
@@ -40,24 +94,12 @@ export function useUserflowSafeAreaInsets() {
|
|
|
40
94
|
* In-flow banners override this so host screens do not add the inset the banner already consumed.
|
|
41
95
|
*/
|
|
42
96
|
export function getSafeAreaInsetsContext() {
|
|
43
|
-
|
|
44
|
-
if (typeof require !== 'function') {
|
|
45
|
-
cachedInsetsContext = null;
|
|
46
|
-
return null;
|
|
47
|
-
}
|
|
48
|
-
try {
|
|
49
|
-
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
50
|
-
const mod = require('react-native-safe-area-context');
|
|
51
|
-
cachedInsetsContext = mod.SafeAreaInsetsContext ?? null;
|
|
52
|
-
} catch {
|
|
53
|
-
cachedInsetsContext = null;
|
|
54
|
-
}
|
|
55
|
-
return cachedInsetsContext;
|
|
97
|
+
return loadSafeAreaModule()?.SafeAreaInsetsContext ?? null;
|
|
56
98
|
}
|
|
57
99
|
|
|
58
100
|
/** @internal */
|
|
59
101
|
export function resetSafeAreaInsetsCacheForTests() {
|
|
60
|
-
|
|
61
|
-
|
|
102
|
+
cachedModule = undefined;
|
|
103
|
+
warnedMissingProvider = false;
|
|
62
104
|
}
|
|
63
105
|
//# sourceMappingURL=safeArea.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ZERO_INSETS","top","right","bottom","left","
|
|
1
|
+
{"version":3,"names":["React","ZERO_INSETS","top","right","bottom","left","FallbackInsetsContext","createContext","MISSING_SAFE_AREA_PROVIDER_WARNING","cachedModule","warnedMissingProvider","loadSafeAreaModule","undefined","require","mod","SafeAreaInsetsContext","isSafeAreaContextInstalled","copyInsets","insets","readInitialInsets","initialWindowMetrics","warnMissingProvider","__DEV__","console","warn","insetsContext","useParentSafeAreaInsets","useContext","useUserflowSafeAreaInsets","fromProvider","getSafeAreaInsetsContext","resetSafeAreaInsetsCacheForTests"],"sourceRoot":"../../../src","sources":["surfaces/safeArea.ts"],"mappings":";;AAAA,OAAOA,KAAK,MAAwB,OAAO;AAS3C,MAAMC,WAAuB,GAAG;EAAEC,GAAG,EAAE,CAAC;EAAEC,KAAK,EAAE,CAAC;EAAEC,MAAM,EAAE,CAAC;EAAEC,IAAI,EAAE;AAAE,CAAC;;AAExE;AACA;AACA;AACA;AACA,MAAMC,qBAAqB,gBAAGN,KAAK,CAACO,aAAa,CAAoB,IAAI,CAAC;AAE1E,OAAO,MAAMC,kCAAkC,GAC7C,wFAAwF,GACxF,8EAA8E,GAC9E,iCAAiC;AAOnC,IAAIC,YAA+C;AACnD,IAAIC,qBAAqB,GAAG,KAAK;AAEjC,SAASC,kBAAkBA,CAAA,EAA0B;EACnD,IAAIF,YAAY,KAAKG,SAAS,EAAE,OAAOH,YAAY;EAEnD,IAAI,OAAOI,OAAO,KAAK,UAAU,EAAE;IACjCJ,YAAY,GAAG,IAAI;IACnB,OAAO,IAAI;EACb;EAEA,IAAI;IACF;IACA;IACA,MAAMK,GAAG,GAAGD,OAAO,CAAC,gCAAgC,CAAmB;IACvEJ,YAAY,GAAGK,GAAG,EAAEC,qBAAqB,GAAGD,GAAG,GAAG,IAAI;EACxD,CAAC,CAAC,MAAM;IACNL,YAAY,GAAG,IAAI;EACrB;EAEA,OAAOA,YAAY;AACrB;;AAEA;AACA,OAAO,SAASO,0BAA0BA,CAAA,EAAY;EACpD,OAAOL,kBAAkB,CAAC,CAAC,IAAI,IAAI;AACrC;AAEA,SAASM,UAAUA,CAACC,MAA8C,EAAqB;EACrF,IAAI,CAACA,MAAM,EAAE,OAAO,IAAI;EACxB,MAAMhB,GAAG,GAAGgB,MAAM,CAAChB,GAAG;EACtB,MAAMC,KAAK,GAAGe,MAAM,CAACf,KAAK;EAC1B,MAAMC,MAAM,GAAGc,MAAM,CAACd,MAAM;EAC5B,MAAMC,IAAI,GAAGa,MAAM,CAACb,IAAI;EACxB,IACE,OAAOH,GAAG,KAAK,QAAQ,IACvB,OAAOC,KAAK,KAAK,QAAQ,IACzB,OAAOC,MAAM,KAAK,QAAQ,IAC1B,OAAOC,IAAI,KAAK,QAAQ,EACxB;IACA,OAAO,IAAI;EACb;EACA,OAAO;IAAEH,GAAG;IAAEC,KAAK;IAAEC,MAAM;IAAEC;EAAK,CAAC;AACrC;;AAEA;AACA,SAASc,iBAAiBA,CAAA,EAAsB;EAC9C,OAAOF,UAAU,CAACN,kBAAkB,CAAC,CAAC,EAAES,oBAAoB,EAAEF,MAAM,CAAC;AACvE;AAEA,SAASG,mBAAmBA,CAAA,EAAS;EACnC,IAAIX,qBAAqB,IAAI,CAACY,OAAO,EAAE;EACvCZ,qBAAqB,GAAG,IAAI;EAC5B;EACAa,OAAO,CAACC,IAAI,CAAChB,kCAAkC,CAAC;AAClD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASiB,aAAaA,CAAA,EAA+B;EACnD,OAAOd,kBAAkB,CAAC,CAAC,EAAEI,qBAAqB,IAAIT,qBAAqB;AAC7E;;AAEA;AACA,OAAO,SAASoB,uBAAuBA,CAAA,EAAsB;EAC3D,OAAOT,UAAU,CAACjB,KAAK,CAAC2B,UAAU,CAACF,aAAa,CAAC,CAAC,CAAC,CAAC;AACtD;AAEA,OAAO,SAASG,yBAAyBA,CAAA,EAAe;EACtD,MAAMC,YAAY,GAAGH,uBAAuB,CAAC,CAAC;EAC9C,IAAIG,YAAY,EAAE,OAAOA,YAAY;EACrC,IAAI,CAAClB,kBAAkB,CAAC,CAAC,EAAE,OAAOV,WAAW;EAC7CoB,mBAAmB,CAAC,CAAC;EACrB,OAAOF,iBAAiB,CAAC,CAAC,IAAIlB,WAAW;AAC3C;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAAS6B,wBAAwBA,CAAA,EAAsC;EAC5E,OAAOnB,kBAAkB,CAAC,CAAC,EAAEI,qBAAqB,IAAI,IAAI;AAC5D;;AAEA;AACA,OAAO,SAASgB,gCAAgCA,CAAA,EAAS;EACvDtB,YAAY,GAAGG,SAAS;EACxBF,qBAAqB,GAAG,KAAK;AAC/B","ignoreList":[]}
|
package/lib/module/version.js
CHANGED
|
@@ -6,6 +6,11 @@ export interface AnchorHost {
|
|
|
6
6
|
* Called when the measured rect is not fully visible (bounded retries per step).
|
|
7
7
|
*/
|
|
8
8
|
scrollIntoView?: () => void;
|
|
9
|
+
/**
|
|
10
|
+
* Public instance this host was registered from, when known. Element click
|
|
11
|
+
* conditions use it to match a tap to this anchor.
|
|
12
|
+
*/
|
|
13
|
+
node?: object | null;
|
|
9
14
|
}
|
|
10
15
|
type Listener = () => void;
|
|
11
16
|
/**
|
|
@@ -19,6 +24,8 @@ export declare class AnchorRegistry {
|
|
|
19
24
|
register(id: string, host: AnchorHost): void;
|
|
20
25
|
unregister(id: string, host: AnchorHost): void;
|
|
21
26
|
get(id: string): AnchorHost | null;
|
|
27
|
+
/** Every host registered for `id`, in registration order. */
|
|
28
|
+
getAll(id: string): AnchorHost[];
|
|
22
29
|
/** True when more than one host is registered for the same id. */
|
|
23
30
|
isAmbiguous(id: string): boolean;
|
|
24
31
|
subscribe(listener: Listener): () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnchorRegistry.d.ts","sourceRoot":"","sources":["../../../../../src/anchors/AnchorRegistry.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,MAAM,WAAW,UAAU;IACzB,eAAe,EAAE,CACf,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,KACpE,IAAI,CAAC;IACV;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"AnchorRegistry.d.ts","sourceRoot":"","sources":["../../../../../src/anchors/AnchorRegistry.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,MAAM,WAAW,UAAU;IACzB,eAAe,EAAE,CACf,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,KACpE,IAAI,CAAC;IACV;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,KAAK,QAAQ,GAAG,MAAM,IAAI,CAAC;AAE3B;;;;GAIG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsC;IAC9D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuB;IAEjD,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI;IAW5C,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI;IAU9C,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAUlC,6DAA6D;IAC7D,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,EAAE;IAMhC,kEAAkE;IAClE,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAIhC,SAAS,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,IAAI;IAOzC,uCAAuC;IACvC,KAAK,IAAI,IAAI;IAKb,OAAO,CAAC,IAAI;CAKb;AAED,6EAA6E;AAC7E,eAAO,MAAM,cAAc,gBAAuB,CAAC"}
|
|
@@ -1,25 +1,21 @@
|
|
|
1
1
|
import type { ConditionEvaluator } from '@userflow-tech/core';
|
|
2
2
|
/**
|
|
3
3
|
* Evaluate ELEMENT client conditions against manual anchors, fiber-resolved
|
|
4
|
-
* `testID` / `nativeID` / `accessibilityLabel` targets, and AUTO
|
|
5
|
-
* selectors.
|
|
4
|
+
* `userflowId` / `testID` / `nativeID` / `accessibilityLabel` targets, and AUTO
|
|
5
|
+
* (codeless) selectors.
|
|
6
6
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* just because the auto-anchor registry is empty. Web-interaction states
|
|
11
|
-
* (CLICK, DISABLED, …) still report unknown.
|
|
7
|
+
* PRESENT / NOT_PRESENT: any uniquely-or-not host on a visible navigator screen
|
|
8
|
+
* counts (web parity — duplicates are present). A measured 0×0 host counts as
|
|
9
|
+
* absent. AUTO `unknown` / `ambiguous` stay `null`.
|
|
12
10
|
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
* ScrollView, opacity 0, etc.) would need async `measureInWindow` and is out
|
|
18
|
-
* of scope.
|
|
11
|
+
* CLICK / NOT_CLICK: latch from the first matching tap, including a tap on a
|
|
12
|
+
* descendant. The latch survives re-attach via `previousIsTrue` and is cleared
|
|
13
|
+
* when the server untracks. Disabled hosts are ignored. Until it latches, an
|
|
14
|
+
* AUTO selector that does not resolve reports `null`, like presence.
|
|
19
15
|
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
16
|
+
* Element states are compared as string literals rather than protocol enums so
|
|
17
|
+
* the wire values stay obvious next to the branches. They match
|
|
18
|
+
* `FlowConditionElementState`.
|
|
23
19
|
*/
|
|
24
20
|
export declare function createElementConditionEvaluator(warn?: (message: string) => void): ConditionEvaluator;
|
|
25
21
|
//# sourceMappingURL=elementConditionEvaluator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"elementConditionEvaluator.d.ts","sourceRoot":"","sources":["../../../../../src/anchors/elementConditionEvaluator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"elementConditionEvaluator.d.ts","sourceRoot":"","sources":["../../../../../src/anchors/elementConditionEvaluator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAGnB,MAAM,qBAAqB,CAAC;AAmB7B;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,+BAA+B,CAC7C,IAAI,GAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAK1B,GACA,kBAAkB,CA2BpB"}
|