@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
package/lib/commonjs/network.js
CHANGED
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.NetworkController = void 0;
|
|
7
|
+
var _nativeModules = require("./nativeModules.js");
|
|
7
8
|
/**
|
|
8
9
|
* Network reachability → eager liveness check (optional enhancement).
|
|
9
10
|
*
|
|
@@ -23,10 +24,25 @@ exports.NetworkController = void 0;
|
|
|
23
24
|
function isOnline(status) {
|
|
24
25
|
return status.isConnected === true && status.isInternetReachable !== false;
|
|
25
26
|
}
|
|
27
|
+
const NETINFO_MODULE = 'RNCNetInfo';
|
|
28
|
+
const NETINFO_UNAVAILABLE_WARNING = '[Userflow] Optional peer @react-native-community/netinfo is not installed or not linked; ' + 'skipping instant network-aware reconnect. Connection recovery still works ' + 'via the adaptive heartbeat and foreground liveness probe.';
|
|
29
|
+
function warnNetInfoUnavailable() {
|
|
30
|
+
if (!__DEV__) return;
|
|
31
|
+
// eslint-disable-next-line no-console -- intentional missing-optional-peer diagnostic
|
|
32
|
+
console.warn(NETINFO_UNAVAILABLE_WARNING);
|
|
33
|
+
}
|
|
26
34
|
function defaultSubscribe(handler) {
|
|
27
|
-
//
|
|
28
|
-
//
|
|
29
|
-
//
|
|
35
|
+
// Check the native module before require. NetInfo throws while its module
|
|
36
|
+
// loads when RNCNetInfo is missing, and Metro reports that as fatal before
|
|
37
|
+
// this try/catch can see it.
|
|
38
|
+
if (!(0, _nativeModules.isNativeModuleLinked)(NETINFO_MODULE)) {
|
|
39
|
+
warnNetInfoUnavailable();
|
|
40
|
+
return () => {};
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// Lazy require so the SDK works without the optional peer. When installed
|
|
44
|
+
// and linked, NetInfo makes offline→online reconnect fast; when absent the
|
|
45
|
+
// transport's adaptive heartbeat + foreground probe still recover.
|
|
30
46
|
try {
|
|
31
47
|
// eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires -- optional peer at import time
|
|
32
48
|
const NetInfo = require('@react-native-community/netinfo');
|
|
@@ -37,10 +53,7 @@ function defaultSubscribe(handler) {
|
|
|
37
53
|
});
|
|
38
54
|
});
|
|
39
55
|
} catch {
|
|
40
|
-
|
|
41
|
-
// eslint-disable-next-line no-console -- intentional missing-optional-peer diagnostic
|
|
42
|
-
console.warn('[Userflow] Optional peer @react-native-community/netinfo is not installed; ' + 'skipping instant network-aware reconnect. Connection recovery still works ' + 'via the adaptive heartbeat and foreground liveness probe.');
|
|
43
|
-
}
|
|
56
|
+
warnNetInfoUnavailable();
|
|
44
57
|
return () => {};
|
|
45
58
|
}
|
|
46
59
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isOnline","status","isConnected","isInternetReachable","
|
|
1
|
+
{"version":3,"names":["_nativeModules","require","isOnline","status","isConnected","isInternetReachable","NETINFO_MODULE","NETINFO_UNAVAILABLE_WARNING","warnNetInfoUnavailable","__DEV__","console","warn","defaultSubscribe","handler","isNativeModuleLinked","NetInfo","addEventListener","state","NetworkController","unsubscribe","started","wasOnline","constructor","deps","ensureAlive","subscribe","start","handleStatus","stop","online","previous","exports"],"sourceRoot":"../../src","sources":["network.ts"],"mappings":";;;;;;AAgBA,IAAAA,cAAA,GAAAC,OAAA;AAhBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAgBA,SAASC,QAAQA,CAACC,MAAqB,EAAW;EAChD,OAAOA,MAAM,CAACC,WAAW,KAAK,IAAI,IAAID,MAAM,CAACE,mBAAmB,KAAK,KAAK;AAC5E;AAEA,MAAMC,cAAc,GAAG,YAAY;AAEnC,MAAMC,2BAA2B,GAC/B,2FAA2F,GAC3F,4EAA4E,GAC5E,2DAA2D;AAE7D,SAASC,sBAAsBA,CAAA,EAAS;EACtC,IAAI,CAACC,OAAO,EAAE;EACd;EACAC,OAAO,CAACC,IAAI,CAACJ,2BAA2B,CAAC;AAC3C;AAEA,SAASK,gBAAgBA,CAACC,OAAwC,EAAc;EAC9E;EACA;EACA;EACA,IAAI,CAAC,IAAAC,mCAAoB,EAACR,cAAc,CAAC,EAAE;IACzCE,sBAAsB,CAAC,CAAC;IACxB,OAAO,MAAM,CAAC,CAAC;EACjB;;EAEA;EACA;EACA;EACA,IAAI;IACF;IACA,MAAMO,OAAO,GAAGd,OAAO,CAAC,iCAAiC,CAOxD;IACD,OAAOc,OAAO,CAACC,gBAAgB,CAAEC,KAAK,IAAK;MACzCJ,OAAO,CAAC;QACNT,WAAW,EAAEa,KAAK,CAACb,WAAW;QAC9BC,mBAAmB,EAAEY,KAAK,CAACZ;MAC7B,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC,CAAC,MAAM;IACNG,sBAAsB,CAAC,CAAC;IACxB,OAAO,MAAM,CAAC,CAAC;EACjB;AACF;;AAEA;AACA;AACA;AACA;AACO,MAAMU,iBAAiB,CAAC;EAIrBC,WAAW,GAAwB,IAAI;EACvCC,OAAO,GAAG,KAAK;EACfC,SAAS,GAAmB,IAAI;EAExCC,WAAWA,CAACC,IAA2B,EAAE;IACvC,IAAI,CAACC,WAAW,GAAGD,IAAI,CAACC,WAAW;IACnC,IAAI,CAACC,SAAS,GAAGF,IAAI,CAACE,SAAS,IAAIb,gBAAgB;EACrD;EAEAc,KAAKA,CAAA,EAAS;IACZ,IAAI,IAAI,CAACN,OAAO,EAAE;IAClB,IAAI,CAACA,OAAO,GAAG,IAAI;IACnB,IAAI,CAACD,WAAW,GAAG,IAAI,CAACM,SAAS,CAAEtB,MAAM,IAAK;MAC5C,IAAI,CAACwB,YAAY,CAACxB,MAAM,CAAC;IAC3B,CAAC,CAAC;EACJ;EAEAyB,IAAIA,CAAA,EAAS;IACX,IAAI,CAAC,IAAI,CAACR,OAAO,EAAE;IACnB,IAAI,CAACA,OAAO,GAAG,KAAK;IACpB,IAAI,CAACD,WAAW,GAAG,CAAC;IACpB,IAAI,CAACA,WAAW,GAAG,IAAI;IACvB,IAAI,CAACE,SAAS,GAAG,IAAI;EACvB;;EAEA;EACAM,YAAYA,CAACxB,MAAqB,EAAQ;IACxC,IAAI,CAAC,IAAI,CAACiB,OAAO,EAAE;IAEnB,MAAMS,MAAM,GAAG3B,QAAQ,CAACC,MAAM,CAAC;IAC/B,MAAM2B,QAAQ,GAAG,IAAI,CAACT,SAAS;IAC/B,IAAI,CAACA,SAAS,GAAGQ,MAAM;;IAEvB;IACA,IAAIC,QAAQ,KAAK,IAAI,EAAE;IACvB,IAAI,CAACA,QAAQ,IAAID,MAAM,EAAE;MACvB,IAAI,CAACL,WAAW,CAAC,CAAC;IACpB;EACF;AACF;AAACO,OAAA,CAAAb,iBAAA,GAAAA,iBAAA","ignoreList":[]}
|
|
@@ -6,9 +6,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.PAIRING_DEVICE_ID_STORAGE_KEY = void 0;
|
|
7
7
|
exports.getOrCreatePairingDeviceId = getOrCreatePairingDeviceId;
|
|
8
8
|
exports.resetPairingDeviceIdForTests = resetPairingDeviceIdForTests;
|
|
9
|
-
var _asyncStorage = _interopRequireDefault(require("@react-native-async-storage/async-storage"));
|
|
10
9
|
var _anonymousId = require("../anonymousId.js");
|
|
11
|
-
|
|
10
|
+
var _asyncStorage = require("../storage/asyncStorage.js");
|
|
12
11
|
/**
|
|
13
12
|
* Stable id for this install on the pairing channel.
|
|
14
13
|
*
|
|
@@ -20,20 +19,24 @@ const PAIRING_DEVICE_ID_STORAGE_KEY = exports.PAIRING_DEVICE_ID_STORAGE_KEY = 'u
|
|
|
20
19
|
let memoized = null;
|
|
21
20
|
async function getOrCreatePairingDeviceId() {
|
|
22
21
|
if (memoized !== null) return memoized;
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
22
|
+
const storage = (0, _asyncStorage.getAsyncStorage)();
|
|
23
|
+
if (storage) {
|
|
24
|
+
try {
|
|
25
|
+
const stored = await storage.getItem(PAIRING_DEVICE_ID_STORAGE_KEY);
|
|
26
|
+
if (typeof stored === 'string' && stored.length > 0) {
|
|
27
|
+
memoized = stored;
|
|
28
|
+
return stored;
|
|
29
|
+
}
|
|
30
|
+
} catch {
|
|
31
|
+
memoized = (0, _anonymousId.uuid)();
|
|
32
|
+
return memoized;
|
|
28
33
|
}
|
|
29
|
-
} catch {
|
|
30
|
-
memoized = (0, _anonymousId.uuid)();
|
|
31
|
-
return memoized;
|
|
32
34
|
}
|
|
33
35
|
const created = (0, _anonymousId.uuid)();
|
|
34
36
|
memoized = created;
|
|
37
|
+
if (!storage) return created;
|
|
35
38
|
try {
|
|
36
|
-
await
|
|
39
|
+
await storage.setItem(PAIRING_DEVICE_ID_STORAGE_KEY, created);
|
|
37
40
|
} catch {
|
|
38
41
|
// Keep the in-memory id for this process. A later launch may mint another.
|
|
39
42
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_anonymousId","require","_asyncStorage","PAIRING_DEVICE_ID_STORAGE_KEY","exports","memoized","getOrCreatePairingDeviceId","storage","getAsyncStorage","stored","getItem","length","uuid","created","setItem","resetPairingDeviceIdForTests"],"sourceRoot":"../../../src","sources":["pairing/deviceId.ts"],"mappings":";;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAME,6BAA6B,GAAAC,OAAA,CAAAD,6BAAA,GAAG,0BAA0B;AAEvE,IAAIE,QAAuB,GAAG,IAAI;AAE3B,eAAeC,0BAA0BA,CAAA,EAAoB;EAClE,IAAID,QAAQ,KAAK,IAAI,EAAE,OAAOA,QAAQ;EAEtC,MAAME,OAAO,GAAG,IAAAC,6BAAe,EAAC,CAAC;EACjC,IAAID,OAAO,EAAE;IACX,IAAI;MACF,MAAME,MAAM,GAAG,MAAMF,OAAO,CAACG,OAAO,CAACP,6BAA6B,CAAC;MACnE,IAAI,OAAOM,MAAM,KAAK,QAAQ,IAAIA,MAAM,CAACE,MAAM,GAAG,CAAC,EAAE;QACnDN,QAAQ,GAAGI,MAAM;QACjB,OAAOA,MAAM;MACf;IACF,CAAC,CAAC,MAAM;MACNJ,QAAQ,GAAG,IAAAO,iBAAI,EAAC,CAAC;MACjB,OAAOP,QAAQ;IACjB;EACF;EAEA,MAAMQ,OAAO,GAAG,IAAAD,iBAAI,EAAC,CAAC;EACtBP,QAAQ,GAAGQ,OAAO;EAClB,IAAI,CAACN,OAAO,EAAE,OAAOM,OAAO;EAC5B,IAAI;IACF,MAAMN,OAAO,CAACO,OAAO,CAACX,6BAA6B,EAAEU,OAAO,CAAC;EAC/D,CAAC,CAAC,MAAM;IACN;EAAA;EAEF,OAAOA,OAAO;AAChB;;AAEA;AACO,SAASE,4BAA4BA,CAAA,EAAS;EACnDV,QAAQ,GAAG,IAAI;AACjB","ignoreList":[]}
|
|
@@ -7,6 +7,7 @@ exports.PAIRING_TOKEN_STORAGE_KEY = exports.PAIRING_PURPOSE_STORAGE_KEY = void 0
|
|
|
7
7
|
exports.createMemoryPairingTokenStore = createMemoryPairingTokenStore;
|
|
8
8
|
exports.createPairingTokenStore = createPairingTokenStore;
|
|
9
9
|
exports.resetPairingTokenStoreCacheForTests = resetPairingTokenStoreCacheForTests;
|
|
10
|
+
var _nativeModules = require("../nativeModules.js");
|
|
10
11
|
var _deepLink = require("./deepLink.js");
|
|
11
12
|
/**
|
|
12
13
|
* Persist the pairing JWT so a relaunch can resume Builder pairing until the
|
|
@@ -18,28 +19,40 @@ var _deepLink = require("./deepLink.js");
|
|
|
18
19
|
const PAIRING_TOKEN_STORAGE_KEY = exports.PAIRING_TOKEN_STORAGE_KEY = 'userflow.pairingToken';
|
|
19
20
|
const PAIRING_PURPOSE_STORAGE_KEY = exports.PAIRING_PURPOSE_STORAGE_KEY = 'userflow.pairingPurpose';
|
|
20
21
|
let cachedSecureStore;
|
|
22
|
+
const SECURE_STORE_MODULE = 'ExpoSecureStore';
|
|
23
|
+
const SECURE_STORE_UNAVAILABLE_WARNING = '[Userflow] Optional peer expo-secure-store is unavailable; ' + 'pairing JWT persistence falls back to in-memory storage.';
|
|
21
24
|
|
|
22
25
|
/** Expo modules must be installed natively — not just the JS package. */
|
|
23
26
|
function isExpoModulesRuntimeAvailable() {
|
|
24
27
|
const expo = globalThis.expo;
|
|
25
28
|
return typeof expo?.EventEmitter === 'function';
|
|
26
29
|
}
|
|
30
|
+
function warnSecureStoreUnavailable() {
|
|
31
|
+
if (!__DEV__) return;
|
|
32
|
+
// eslint-disable-next-line no-console -- intentional missing-optional-peer diagnostic
|
|
33
|
+
console.warn(SECURE_STORE_UNAVAILABLE_WARNING);
|
|
34
|
+
}
|
|
27
35
|
function tryLoadExpoSecureStore() {
|
|
28
36
|
if (cachedSecureStore !== undefined) return cachedSecureStore;
|
|
29
37
|
if (typeof require !== 'function' || !isExpoModulesRuntimeAvailable()) {
|
|
30
38
|
cachedSecureStore = null;
|
|
31
39
|
return cachedSecureStore;
|
|
32
40
|
}
|
|
41
|
+
|
|
42
|
+
// expo-secure-store calls requireNativeModule at import and throws when the
|
|
43
|
+
// native module is missing. Metro reports that as fatal before try/catch.
|
|
44
|
+
if (!(0, _nativeModules.isNativeModuleLinked)(SECURE_STORE_MODULE)) {
|
|
45
|
+
cachedSecureStore = null;
|
|
46
|
+
warnSecureStoreUnavailable();
|
|
47
|
+
return cachedSecureStore;
|
|
48
|
+
}
|
|
33
49
|
try {
|
|
34
50
|
// Optional peer — absent in bare RN without expo-secure-store.
|
|
35
51
|
// eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires -- optional peer at import time
|
|
36
52
|
cachedSecureStore = require('expo-secure-store');
|
|
37
53
|
} catch {
|
|
38
54
|
cachedSecureStore = null;
|
|
39
|
-
|
|
40
|
-
// eslint-disable-next-line no-console -- intentional missing-optional-peer diagnostic
|
|
41
|
-
console.warn('[Userflow] Optional peer expo-secure-store is unavailable; ' + 'pairing JWT persistence falls back to in-memory storage.');
|
|
42
|
-
}
|
|
55
|
+
warnSecureStoreUnavailable();
|
|
43
56
|
}
|
|
44
57
|
return cachedSecureStore;
|
|
45
58
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_nativeModules","require","_deepLink","PAIRING_TOKEN_STORAGE_KEY","exports","PAIRING_PURPOSE_STORAGE_KEY","cachedSecureStore","SECURE_STORE_MODULE","SECURE_STORE_UNAVAILABLE_WARNING","isExpoModulesRuntimeAvailable","expo","globalThis","EventEmitter","warnSecureStoreUnavailable","__DEV__","console","warn","tryLoadExpoSecureStore","undefined","isNativeModuleLinked","createMemoryPairingTokenStore","value","purposeValue","get","set","token","clear","getPurpose","setPurpose","purpose","createPairingTokenStore","secure","getItemAsync","setItemAsync","error","Error","message","String","deleteItemAsync","parsePairingPurpose","resetPairingTokenStoreCacheForTests"],"sourceRoot":"../../../src","sources":["pairing/tokenStorage.ts"],"mappings":";;;;;;;;;AAQA,IAAAA,cAAA,GAAAC,OAAA;AAEA,IAAAC,SAAA,GAAAD,OAAA;AAVA;AACA;AACA;AACA;AACA;;AAQA;AACO,MAAME,yBAAyB,GAAAC,OAAA,CAAAD,yBAAA,GAAG,uBAAuB;AACzD,MAAME,2BAA2B,GAAAD,OAAA,CAAAC,2BAAA,GAAG,yBAAyB;AAsBpE,IAAIC,iBAAuD;AAE3D,MAAMC,mBAAmB,GAAG,iBAAiB;AAE7C,MAAMC,gCAAgC,GACpC,6DAA6D,GAC7D,0DAA0D;;AAE5D;AACA,SAASC,6BAA6BA,CAAA,EAAY;EAChD,MAAMC,IAAI,GAAIC,UAAU,CAA2CD,IAAI;EACvE,OAAO,OAAOA,IAAI,EAAEE,YAAY,KAAK,UAAU;AACjD;AAEA,SAASC,0BAA0BA,CAAA,EAAS;EAC1C,IAAI,CAACC,OAAO,EAAE;EACd;EACAC,OAAO,CAACC,IAAI,CAACR,gCAAgC,CAAC;AAChD;AAEA,SAASS,sBAAsBA,CAAA,EAA6B;EAC1D,IAAIX,iBAAiB,KAAKY,SAAS,EAAE,OAAOZ,iBAAiB;EAE7D,IAAI,OAAOL,OAAO,KAAK,UAAU,IAAI,CAACQ,6BAA6B,CAAC,CAAC,EAAE;IACrEH,iBAAiB,GAAG,IAAI;IACxB,OAAOA,iBAAiB;EAC1B;;EAEA;EACA;EACA,IAAI,CAAC,IAAAa,mCAAoB,EAACZ,mBAAmB,CAAC,EAAE;IAC9CD,iBAAiB,GAAG,IAAI;IACxBO,0BAA0B,CAAC,CAAC;IAC5B,OAAOP,iBAAiB;EAC1B;EAEA,IAAI;IACF;IACA;IACAA,iBAAiB,GAAGL,OAAO,CAAC,mBAAmB,CAAsB;EACvE,CAAC,CAAC,MAAM;IACNK,iBAAiB,GAAG,IAAI;IACxBO,0BAA0B,CAAC,CAAC;EAC9B;EAEA,OAAOP,iBAAiB;AAC1B;;AAEA;AACO,SAASc,6BAA6BA,CAAA,EAAsB;EACjE,IAAIC,KAAoB,GAAG,IAAI;EAC/B,IAAIC,YAAmC,GAAG,IAAI;EAC9C,OAAO;IACL,MAAMC,GAAGA,CAAA,EAAG;MACV,OAAOF,KAAK;IACd,CAAC;IACD,MAAMG,GAAGA,CAACC,KAAa,EAAE;MACvBJ,KAAK,GAAGI,KAAK;IACf,CAAC;IACD,MAAMC,KAAKA,CAAA,EAAG;MACZL,KAAK,GAAG,IAAI;MACZC,YAAY,GAAG,IAAI;IACrB,CAAC;IACD,MAAMK,UAAUA,CAAA,EAAG;MACjB,OAAOL,YAAY;IACrB,CAAC;IACD,MAAMM,UAAUA,CAACC,OAA8B,EAAE;MAC/CP,YAAY,GAAGO,OAAO;IACxB;EACF,CAAC;AACH;;AAEA;AACA;AACA;AACO,SAASC,uBAAuBA,CAAA,EAAsB;EAC3D,MAAMC,MAAM,GAAGd,sBAAsB,CAAC,CAAC;EACvC,IAAI,CAACc,MAAM,EAAE,OAAOX,6BAA6B,CAAC,CAAC;EAEnD,OAAO;IACL,MAAMG,GAAGA,CAAA,EAAG;MACV,IAAI;QACF,OAAO,MAAMQ,MAAM,CAACC,YAAY,CAAC7B,yBAAyB,CAAC;MAC7D,CAAC,CAAC,MAAM;QACN,OAAO,IAAI;MACb;IACF,CAAC;IACD,MAAMqB,GAAGA,CAACC,KAAa,EAAE;MACvB,IAAI;QACF,MAAMM,MAAM,CAACE,YAAY,CAAC9B,yBAAyB,EAAEsB,KAAK,CAAC;MAC7D,CAAC,CAAC,OAAOS,KAAK,EAAE;QACd;QACA,IAAIpB,OAAO,EAAE;UACX;UACAC,OAAO,CAACC,IAAI,CACV,2FAA2F,EAC3FkB,KAAK,YAAYC,KAAK,GAAGD,KAAK,CAACE,OAAO,GAAGC,MAAM,CAACH,KAAK,CACvD,CAAC;QACH;MACF;IACF,CAAC;IACD,MAAMR,KAAKA,CAAA,EAAG;MACZ,IAAI;QACF,MAAMK,MAAM,CAACO,eAAe,CAACnC,yBAAyB,CAAC;MACzD,CAAC,CAAC,MAAM;QACN;MAAA;MAEF,IAAI;QACF,MAAM4B,MAAM,CAACO,eAAe,CAACjC,2BAA2B,CAAC;MAC3D,CAAC,CAAC,MAAM;QACN;MAAA;IAEJ,CAAC;IACD,MAAMsB,UAAUA,CAAA,EAAG;MACjB,IAAI;QACF,OAAO,IAAAY,6BAAmB,EAAC,MAAMR,MAAM,CAACC,YAAY,CAAC3B,2BAA2B,CAAC,CAAC;MACpF,CAAC,CAAC,MAAM;QACN,OAAO,IAAI;MACb;IACF,CAAC;IACD,MAAMuB,UAAUA,CAACC,OAA8B,EAAE;MAC/C,IAAI;QACF,IAAIA,OAAO,EAAE;UACX,MAAME,MAAM,CAACE,YAAY,CAAC5B,2BAA2B,EAAEwB,OAAO,CAAC;QACjE,CAAC,MAAM;UACL,MAAME,MAAM,CAACO,eAAe,CAACjC,2BAA2B,CAAC;QAC3D;MACF,CAAC,CAAC,MAAM;QACN;MAAA;IAEJ;EACF,CAAC;AACH;;AAEA;AACO,SAASmC,mCAAmCA,CAAA,EAAS;EAC1DlC,iBAAiB,GAAGY,SAAS;AAC/B","ignoreList":[]}
|
|
@@ -6,6 +6,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.TargetPressBridge = TargetPressBridge;
|
|
7
7
|
var React = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
|
+
var _elementTapMonitor = require("../anchors/elementTapMonitor.js");
|
|
10
|
+
var _touchTargetFiber = require("../anchors/fiber/touchTargetFiber.js");
|
|
9
11
|
var _targetPressMonitor = require("../anchors/targetPressMonitor.js");
|
|
10
12
|
var _changedTouchPoints = require("./changedTouchPoints.js");
|
|
11
13
|
var _isolateCall = require("./isolateCall.js");
|
|
@@ -18,7 +20,8 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
|
|
|
18
20
|
*
|
|
19
21
|
* The Userflow overlay is a sibling above the app, so hole Pressables would
|
|
20
22
|
* intercept presses. Instead we hit-test bubbled `onTouchStart` / `onTouchEnd`
|
|
21
|
-
* against the rect registered by {@link TooltipSurface}
|
|
23
|
+
* against the rect registered by {@link TooltipSurface}, and — while an
|
|
24
|
+
* element click condition is tracked — against the fiber under the finger.
|
|
22
25
|
*
|
|
23
26
|
* Preview-chrome double taps are observed by `DoubleTapBridge` around the
|
|
24
27
|
* whole provider tree — this bridge never sees overlay touches.
|
|
@@ -30,15 +33,21 @@ function TargetPressBridge({
|
|
|
30
33
|
}) {
|
|
31
34
|
const onTouchStart = React.useCallback(event => {
|
|
32
35
|
(0, _isolateCall.isolateSync)('target-press', () => {
|
|
36
|
+
const observingTaps = _elementTapMonitor.elementTapMonitor.subscriberCount > 0;
|
|
33
37
|
(0, _changedTouchPoints.forEachChangedTouch)(event, (identifier, pageX, pageY) => {
|
|
34
38
|
_targetPressMonitor.targetPressMonitor.handleTouchStart(identifier, pageX, pageY);
|
|
39
|
+
if (!observingTaps || !(0, _touchTargetFiber.touchBelongsToEvent)(event, identifier)) return;
|
|
40
|
+
_elementTapMonitor.elementTapMonitor.handleTouchStart(identifier, pageX, pageY, (0, _touchTargetFiber.touchTargetFiber)(event, identifier));
|
|
35
41
|
});
|
|
36
42
|
});
|
|
37
43
|
}, []);
|
|
38
44
|
const onTouchEnd = React.useCallback(event => {
|
|
39
45
|
(0, _isolateCall.isolateSync)('target-press', () => {
|
|
46
|
+
const observingTaps = _elementTapMonitor.elementTapMonitor.subscriberCount > 0;
|
|
40
47
|
(0, _changedTouchPoints.forEachChangedTouch)(event, (identifier, pageX, pageY) => {
|
|
41
48
|
_targetPressMonitor.targetPressMonitor.handleTouchEnd(identifier, pageX, pageY);
|
|
49
|
+
if (!observingTaps) return;
|
|
50
|
+
_elementTapMonitor.elementTapMonitor.handleTouchEnd(identifier, pageX, pageY);
|
|
42
51
|
});
|
|
43
52
|
});
|
|
44
53
|
}, []);
|
|
@@ -47,10 +56,12 @@ function TargetPressBridge({
|
|
|
47
56
|
const points = (0, _changedTouchPoints.changedTouchPoints)(event);
|
|
48
57
|
if (points.length === 0) {
|
|
49
58
|
_targetPressMonitor.targetPressMonitor.cancelTouch();
|
|
59
|
+
_elementTapMonitor.elementTapMonitor.cancelTouch();
|
|
50
60
|
return;
|
|
51
61
|
}
|
|
52
62
|
for (const touch of points) {
|
|
53
63
|
_targetPressMonitor.targetPressMonitor.cancelTouch(touch.identifier);
|
|
64
|
+
_elementTapMonitor.elementTapMonitor.cancelTouch(touch.identifier);
|
|
54
65
|
}
|
|
55
66
|
});
|
|
56
67
|
}, []);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_targetPressMonitor","_changedTouchPoints","_isolateCall","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TargetPressBridge","children","onTouchStart","useCallback","event","isolateSync","forEachChangedTouch","identifier","pageX","pageY","targetPressMonitor","handleTouchStart","onTouchEnd","handleTouchEnd","onTouchCancel","points","changedTouchPoints","length","cancelTouch","touch","jsx","View","style","styles","root","collapsable","testID","StyleSheet","create","flex"],"sourceRoot":"../../../src","sources":["runtime/TargetPressBridge.tsx"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,
|
|
1
|
+
{"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_elementTapMonitor","_touchTargetFiber","_targetPressMonitor","_changedTouchPoints","_isolateCall","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TargetPressBridge","children","onTouchStart","useCallback","event","isolateSync","observingTaps","elementTapMonitor","subscriberCount","forEachChangedTouch","identifier","pageX","pageY","targetPressMonitor","handleTouchStart","touchBelongsToEvent","touchTargetFiber","onTouchEnd","handleTouchEnd","onTouchCancel","points","changedTouchPoints","length","cancelTouch","touch","jsx","View","style","styles","root","collapsable","testID","StyleSheet","create","flex"],"sourceRoot":"../../../src","sources":["runtime/TargetPressBridge.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -181,14 +181,17 @@ function HostSafeArea({
|
|
|
181
181
|
children
|
|
182
182
|
}) {
|
|
183
183
|
const Context = (0, _safeArea.getSafeAreaInsetsContext)();
|
|
184
|
-
|
|
185
|
-
|
|
184
|
+
// Re-provide only when a parent already supplied insets, or when a banner
|
|
185
|
+
// override applies. Supplying a value with no parent would hide the host's
|
|
186
|
+
// own missing SafeAreaProvider from its useSafeAreaInsets() calls.
|
|
187
|
+
const parent = (0, _safeArea.useParentSafeAreaInsets)();
|
|
188
|
+
if (!Context || insets == null && parent == null) {
|
|
186
189
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
|
|
187
190
|
children: children
|
|
188
191
|
});
|
|
189
192
|
}
|
|
190
193
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(Context.Provider, {
|
|
191
|
-
value: insets ??
|
|
194
|
+
value: insets ?? parent,
|
|
192
195
|
children: children
|
|
193
196
|
});
|
|
194
197
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_FiberScanRoot","_DoubleTapBridge","_elementPickerController","_absoluteFill","_safeArea","_surfaceLayoutInsets","_BannerHost","_SdkErrorBoundary","_TargetPressBridge","_UserflowOverlay","_bannerEngine","_bannerEngineContext","_bannerPlacement","_flowEngine","_isolateCall","_useBannerSession","_userflowCore","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","UserflowContext","createContext","overlayResetKeyFromEngine","engine","session","getFlowSession","id","getCurrentStep","useOverlayErrorBoundaryResetKey","resetKey","setResetKey","useState","useEffect","apply","next","isolateSync","on","UserflowProvider","children","engineProp","bannerEngine","bannerEngineProp","getFlowSessionEngine","getUserflowCore","getBannerSessionEngine","contextValue","useMemo","overlayResetKey","trapHostAccessibility","setTrapHostAccessibility","onTrapChange","useCallback","trap","onOverlayError","bannerSession","useBannerSession","safeInsets","useUserflowSafeAreaInsets","pickerActive","setPickerActive","elementPickerController","getState","active","subscribe","banner","version","flowEdge","overlay","bannerEdge","embedMode","hostInsets","top","bottom","appContent","jsx","View","style","styles","testID","importantForAccessibility","undefined","accessibilityElementsHidden","TargetPressBridge","FiberScanRoot","BannerEngineContext","Provider","value","SurfaceLayoutInsetsProvider","DoubleTapBridge","jsxs","root","collapsable","BannerHost","placement","edge","hidden","HostSafeArea","insets","pointerEvents","SdkErrorBoundary","scope","onError","UserflowOverlay","Context","getSafeAreaInsetsContext","
|
|
1
|
+
{"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_FiberScanRoot","_DoubleTapBridge","_elementPickerController","_absoluteFill","_safeArea","_surfaceLayoutInsets","_BannerHost","_SdkErrorBoundary","_TargetPressBridge","_UserflowOverlay","_bannerEngine","_bannerEngineContext","_bannerPlacement","_flowEngine","_isolateCall","_useBannerSession","_userflowCore","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","UserflowContext","createContext","overlayResetKeyFromEngine","engine","session","getFlowSession","id","getCurrentStep","useOverlayErrorBoundaryResetKey","resetKey","setResetKey","useState","useEffect","apply","next","isolateSync","on","UserflowProvider","children","engineProp","bannerEngine","bannerEngineProp","getFlowSessionEngine","getUserflowCore","getBannerSessionEngine","contextValue","useMemo","overlayResetKey","trapHostAccessibility","setTrapHostAccessibility","onTrapChange","useCallback","trap","onOverlayError","bannerSession","useBannerSession","safeInsets","useUserflowSafeAreaInsets","pickerActive","setPickerActive","elementPickerController","getState","active","subscribe","banner","version","flowEdge","overlay","bannerEdge","embedMode","hostInsets","top","bottom","appContent","jsx","View","style","styles","testID","importantForAccessibility","undefined","accessibilityElementsHidden","TargetPressBridge","FiberScanRoot","BannerEngineContext","Provider","value","SurfaceLayoutInsetsProvider","DoubleTapBridge","jsxs","root","collapsable","BannerHost","placement","edge","hidden","HostSafeArea","insets","pointerEvents","SdkErrorBoundary","scope","onError","UserflowOverlay","Context","getSafeAreaInsetsContext","parent","useParentSafeAreaInsets","Fragment","useUserflow","ctx","useContext","Error","StyleSheet","create","flex","ABSOLUTE_FILL"],"sourceRoot":"../../../src","sources":["runtime/UserflowProvider.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getAsyncStorage = getAsyncStorage;
|
|
7
|
+
exports.isAsyncStorageLinked = isAsyncStorageLinked;
|
|
8
|
+
exports.resetAsyncStorageCacheForTests = resetAsyncStorageCacheForTests;
|
|
9
|
+
const ASYNC_STORAGE_NATIVE_MODULES = ['RNAsyncStorage', 'RNCAsyncStorage', 'RNC_AsyncSQLiteDBStorage', 'PlatformLocalStorage', 'AsyncSQLiteDBStorage', 'AsyncLocalStorage'];
|
|
10
|
+
let cached;
|
|
11
|
+
function loadReactNative() {
|
|
12
|
+
try {
|
|
13
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires
|
|
14
|
+
return require('react-native');
|
|
15
|
+
} catch {
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
function nativeModuleRegistered(name, reactNative) {
|
|
20
|
+
try {
|
|
21
|
+
const turbo = reactNative.TurboModuleRegistry;
|
|
22
|
+
if (typeof turbo?.get === 'function' && turbo.get(name) != null) {
|
|
23
|
+
return true;
|
|
24
|
+
}
|
|
25
|
+
} catch {
|
|
26
|
+
// A missing turbo registry is not a failed link check.
|
|
27
|
+
}
|
|
28
|
+
try {
|
|
29
|
+
return reactNative.NativeModules?.[name] != null;
|
|
30
|
+
} catch {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/** True when some AsyncStorage native binary is in this build. */
|
|
36
|
+
function isAsyncStorageLinked() {
|
|
37
|
+
const reactNative = loadReactNative();
|
|
38
|
+
if (!reactNative) return false;
|
|
39
|
+
return ASYNC_STORAGE_NATIVE_MODULES.some(name => nativeModuleRegistered(name, reactNative));
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* The AsyncStorage JS API, or `null` when the package or its native module is
|
|
44
|
+
* missing. Never requires the package until the native module is registered.
|
|
45
|
+
*/
|
|
46
|
+
function getAsyncStorage() {
|
|
47
|
+
if (cached !== undefined) return cached;
|
|
48
|
+
if (typeof require !== 'function' || !isAsyncStorageLinked()) {
|
|
49
|
+
cached = null;
|
|
50
|
+
return cached;
|
|
51
|
+
}
|
|
52
|
+
try {
|
|
53
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires
|
|
54
|
+
const mod = require('@react-native-async-storage/async-storage');
|
|
55
|
+
const storage = mod?.default ?? mod;
|
|
56
|
+
cached = typeof storage?.getItem === 'function' && typeof storage.setItem === 'function' && typeof storage.removeItem === 'function' ? storage : null;
|
|
57
|
+
} catch {
|
|
58
|
+
cached = null;
|
|
59
|
+
}
|
|
60
|
+
return cached;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/** @internal */
|
|
64
|
+
function resetAsyncStorageCacheForTests() {
|
|
65
|
+
cached = undefined;
|
|
66
|
+
}
|
|
67
|
+
//# 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;AACO,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;AACO,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;AACO,SAASoB,8BAA8BA,CAAA,EAAS;EACrDpB,MAAM,GAAGa,SAAS;AACpB","ignoreList":[]}
|
|
@@ -50,7 +50,9 @@ function BannerSurface({
|
|
|
50
50
|
if (!webView) {
|
|
51
51
|
if (!warnedMissingWebView) {
|
|
52
52
|
warnedMissingWebView = true;
|
|
53
|
-
|
|
53
|
+
if (__DEV__) {
|
|
54
|
+
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.');
|
|
55
|
+
}
|
|
54
56
|
}
|
|
55
57
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_BannerBar.BannerBar, {
|
|
56
58
|
session: session,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","_interopRequireWildcard","require","_evalJsController","_getWebView","_BannerBar","_BannerWebViewBar","_bannerAutoRunSession","_bannerNeedsWebView","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","warnedMissingWebView","BannerSurface","session","onActions","onDismiss","banner","version","theme","needsWebView","bannerNeedsWebView","webView","getEvalJsWebView","useLayoutEffect","evalJsController","setBannerOwnsWebView","id","dismissWebViewBanner","useCallback","endReason","clearBannerAutoRunEvalSession","reset","console","warn","jsx","BannerBar","BannerWebViewBar","resetBannerSurfaceWarningsForTests"],"sourceRoot":"../../../src","sources":["surfaces/BannerSurface.tsx"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["React","_interopRequireWildcard","require","_evalJsController","_getWebView","_BannerBar","_BannerWebViewBar","_bannerAutoRunSession","_bannerNeedsWebView","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","warnedMissingWebView","BannerSurface","session","onActions","onDismiss","banner","version","theme","needsWebView","bannerNeedsWebView","webView","getEvalJsWebView","useLayoutEffect","evalJsController","setBannerOwnsWebView","id","dismissWebViewBanner","useCallback","endReason","clearBannerAutoRunEvalSession","reset","__DEV__","console","warn","jsx","BannerBar","BannerWebViewBar","resetBannerSurfaceWarningsForTests"],"sourceRoot":"../../../src","sources":["surfaces/BannerSurface.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,42 +3,100 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
exports.MISSING_SAFE_AREA_PROVIDER_WARNING = void 0;
|
|
6
7
|
exports.getSafeAreaInsetsContext = getSafeAreaInsetsContext;
|
|
8
|
+
exports.isSafeAreaContextInstalled = isSafeAreaContextInstalled;
|
|
7
9
|
exports.resetSafeAreaInsetsCacheForTests = resetSafeAreaInsetsCacheForTests;
|
|
10
|
+
exports.useParentSafeAreaInsets = useParentSafeAreaInsets;
|
|
8
11
|
exports.useUserflowSafeAreaInsets = useUserflowSafeAreaInsets;
|
|
12
|
+
var _react = _interopRequireDefault(require("react"));
|
|
13
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
14
|
const ZERO_INSETS = {
|
|
10
15
|
top: 0,
|
|
11
16
|
right: 0,
|
|
12
17
|
bottom: 0,
|
|
13
18
|
left: 0
|
|
14
19
|
};
|
|
15
|
-
let cachedHook;
|
|
16
|
-
let cachedInsetsContext;
|
|
17
20
|
|
|
18
21
|
/**
|
|
19
|
-
*
|
|
20
|
-
*
|
|
22
|
+
* Used only when `react-native-safe-area-context` is not installed, so
|
|
23
|
+
* {@link useUserflowSafeAreaInsets} can call `useContext` unconditionally.
|
|
21
24
|
*/
|
|
22
|
-
|
|
23
|
-
|
|
25
|
+
const FallbackInsetsContext = /*#__PURE__*/_react.default.createContext(null);
|
|
26
|
+
const MISSING_SAFE_AREA_PROVIDER_WARNING = exports.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.';
|
|
27
|
+
let cachedModule;
|
|
28
|
+
let warnedMissingProvider = false;
|
|
29
|
+
function loadSafeAreaModule() {
|
|
30
|
+
if (cachedModule !== undefined) return cachedModule;
|
|
24
31
|
if (typeof require !== 'function') {
|
|
25
|
-
|
|
26
|
-
return
|
|
32
|
+
cachedModule = null;
|
|
33
|
+
return null;
|
|
27
34
|
}
|
|
28
35
|
try {
|
|
29
36
|
// Optional peer — Expo / React Navigation apps usually have it.
|
|
30
37
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
31
38
|
const mod = require('react-native-safe-area-context');
|
|
32
|
-
|
|
39
|
+
cachedModule = mod?.SafeAreaInsetsContext ? mod : null;
|
|
33
40
|
} catch {
|
|
34
|
-
|
|
41
|
+
cachedModule = null;
|
|
42
|
+
}
|
|
43
|
+
return cachedModule;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/** True when the optional peer's JavaScript package can be loaded. */
|
|
47
|
+
function isSafeAreaContextInstalled() {
|
|
48
|
+
return loadSafeAreaModule() != null;
|
|
49
|
+
}
|
|
50
|
+
function copyInsets(insets) {
|
|
51
|
+
if (!insets) return null;
|
|
52
|
+
const top = insets.top;
|
|
53
|
+
const right = insets.right;
|
|
54
|
+
const bottom = insets.bottom;
|
|
55
|
+
const left = insets.left;
|
|
56
|
+
if (typeof top !== 'number' || typeof right !== 'number' || typeof bottom !== 'number' || typeof left !== 'number') {
|
|
57
|
+
return null;
|
|
35
58
|
}
|
|
36
|
-
return
|
|
59
|
+
return {
|
|
60
|
+
top,
|
|
61
|
+
right,
|
|
62
|
+
bottom,
|
|
63
|
+
left
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/** Device insets from the optional peer, before any provider has measured. */
|
|
68
|
+
function readInitialInsets() {
|
|
69
|
+
return copyInsets(loadSafeAreaModule()?.initialWindowMetrics?.insets);
|
|
70
|
+
}
|
|
71
|
+
function warnMissingProvider() {
|
|
72
|
+
if (warnedMissingProvider || !__DEV__) return;
|
|
73
|
+
warnedMissingProvider = true;
|
|
74
|
+
// eslint-disable-next-line no-console -- intentional missing-provider diagnostic
|
|
75
|
+
console.warn(MISSING_SAFE_AREA_PROVIDER_WARNING);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Safe-area insets for flow chrome.
|
|
80
|
+
*
|
|
81
|
+
* Reads `SafeAreaInsetsContext` directly. `useSafeAreaInsets()` throws when the
|
|
82
|
+
* peer is installed but no `SafeAreaProvider` is mounted, which would take down
|
|
83
|
+
* the host tree. A missing provider falls back to `initialWindowMetrics`, then
|
|
84
|
+
* zero, and warns once in development.
|
|
85
|
+
*/
|
|
86
|
+
function insetsContext() {
|
|
87
|
+
return loadSafeAreaModule()?.SafeAreaInsetsContext ?? FallbackInsetsContext;
|
|
37
88
|
}
|
|
38
89
|
|
|
39
|
-
/**
|
|
90
|
+
/** Value from the nearest provider, or `null` when the peer or provider is absent. */
|
|
91
|
+
function useParentSafeAreaInsets() {
|
|
92
|
+
return copyInsets(_react.default.useContext(insetsContext()));
|
|
93
|
+
}
|
|
40
94
|
function useUserflowSafeAreaInsets() {
|
|
41
|
-
|
|
95
|
+
const fromProvider = useParentSafeAreaInsets();
|
|
96
|
+
if (fromProvider) return fromProvider;
|
|
97
|
+
if (!loadSafeAreaModule()) return ZERO_INSETS;
|
|
98
|
+
warnMissingProvider();
|
|
99
|
+
return readInitialInsets() ?? ZERO_INSETS;
|
|
42
100
|
}
|
|
43
101
|
|
|
44
102
|
/**
|
|
@@ -46,24 +104,12 @@ function useUserflowSafeAreaInsets() {
|
|
|
46
104
|
* In-flow banners override this so host screens do not add the inset the banner already consumed.
|
|
47
105
|
*/
|
|
48
106
|
function getSafeAreaInsetsContext() {
|
|
49
|
-
|
|
50
|
-
if (typeof require !== 'function') {
|
|
51
|
-
cachedInsetsContext = null;
|
|
52
|
-
return null;
|
|
53
|
-
}
|
|
54
|
-
try {
|
|
55
|
-
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
56
|
-
const mod = require('react-native-safe-area-context');
|
|
57
|
-
cachedInsetsContext = mod.SafeAreaInsetsContext ?? null;
|
|
58
|
-
} catch {
|
|
59
|
-
cachedInsetsContext = null;
|
|
60
|
-
}
|
|
61
|
-
return cachedInsetsContext;
|
|
107
|
+
return loadSafeAreaModule()?.SafeAreaInsetsContext ?? null;
|
|
62
108
|
}
|
|
63
109
|
|
|
64
110
|
/** @internal */
|
|
65
111
|
function resetSafeAreaInsetsCacheForTests() {
|
|
66
|
-
|
|
67
|
-
|
|
112
|
+
cachedModule = undefined;
|
|
113
|
+
warnedMissingProvider = false;
|
|
68
114
|
}
|
|
69
115
|
//# sourceMappingURL=safeArea.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ZERO_INSETS","top","right","bottom","left","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","e","__esModule","default","ZERO_INSETS","top","right","bottom","left","FallbackInsetsContext","React","createContext","MISSING_SAFE_AREA_PROVIDER_WARNING","exports","cachedModule","warnedMissingProvider","loadSafeAreaModule","undefined","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":"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","ignoreList":[]}
|
package/lib/commonjs/version.js
CHANGED
|
@@ -5,5 +5,5 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.SDK_VERSION = void 0;
|
|
7
7
|
/** Generated by scripts/write-version.mjs — do not edit. */
|
|
8
|
-
const SDK_VERSION = exports.SDK_VERSION = '0.
|
|
8
|
+
const SDK_VERSION = exports.SDK_VERSION = '0.4.0';
|
|
9
9
|
//# sourceMappingURL=version.js.map
|