@namiml/expo-sdk 3.4.12-dev.202609302217 → 3.4.12-dev.202610052353
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/dist/index.cjs +21 -7
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.mjs +21 -7
- package/dist/index.mjs.map +1 -1
- package/package.json +3 -3
- package/src/components/PaywallScreen.tsx +15 -7
- package/src/context/PaywallContext.tsx +8 -0
package/dist/index.cjs
CHANGED
|
@@ -1939,6 +1939,12 @@ const PaywallProvider = ({ paywall, context, campaign, flow, onFirstFocusReady,
|
|
|
1939
1939
|
setSafeAreaBottom: (bottom) => {
|
|
1940
1940
|
providerRef.current?.setSafeAreaBottom(bottom);
|
|
1941
1941
|
},
|
|
1942
|
+
setSafeAreaLeft: (left) => {
|
|
1943
|
+
providerRef.current?.setSafeAreaLeft(left);
|
|
1944
|
+
},
|
|
1945
|
+
setSafeAreaRight: (right) => {
|
|
1946
|
+
providerRef.current?.setSafeAreaRight(right);
|
|
1947
|
+
},
|
|
1942
1948
|
setFullScreenPresentation: (full) => {
|
|
1943
1949
|
providerRef.current?.setFullScreenPresentation(full);
|
|
1944
1950
|
},
|
|
@@ -3472,13 +3478,15 @@ const PaywallScreen = ({ paywall, onClose, onCommitted, holdInteractionUntilFocu
|
|
|
3472
3478
|
const ctx = usePaywallContext();
|
|
3473
3479
|
const insets = reactNativeSafeAreaContext.useSafeAreaInsets();
|
|
3474
3480
|
const focusReadyCtx = useFirstFocusReadyContext();
|
|
3475
|
-
// Push the measured
|
|
3476
|
-
//
|
|
3477
|
-
//
|
|
3478
|
-
//
|
|
3479
|
-
//
|
|
3480
|
-
//
|
|
3481
|
-
//
|
|
3481
|
+
// Push the measured safe-area insets into paywall state so templates can
|
|
3482
|
+
// position chrome via ${state.safeAreaTop} (e.g. header topPadding,
|
|
3483
|
+
// background topMargin), ${state.safeAreaBottom} (e.g. a footer clear of the
|
|
3484
|
+
// home indicator / gesture bar) and ${state.safeAreaLeft} /
|
|
3485
|
+
// ${state.safeAreaRight} (content clear of a landscape notch, cutout or
|
|
3486
|
+
// side navigation bar). Mirrors the native renderers, which measure the
|
|
3487
|
+
// insets and set the same state. The full-bleed root lets the background
|
|
3488
|
+
// extend under the system bars and nothing pads the footer or the sides, so
|
|
3489
|
+
// each token is the only offset on its edge — no double-padding.
|
|
3482
3490
|
// Depend only on the inset values (stable per device/orientation) —
|
|
3483
3491
|
// depending on ctx would re-run every render and loop through setState.
|
|
3484
3492
|
require$$0.useEffect(() => {
|
|
@@ -3487,6 +3495,12 @@ const PaywallScreen = ({ paywall, onClose, onCommitted, holdInteractionUntilFocu
|
|
|
3487
3495
|
require$$0.useEffect(() => {
|
|
3488
3496
|
ctx.setSafeAreaBottom(insets.bottom);
|
|
3489
3497
|
}, [insets.bottom]);
|
|
3498
|
+
require$$0.useEffect(() => {
|
|
3499
|
+
ctx.setSafeAreaLeft(insets.left);
|
|
3500
|
+
}, [insets.left]);
|
|
3501
|
+
require$$0.useEffect(() => {
|
|
3502
|
+
ctx.setSafeAreaRight(insets.right);
|
|
3503
|
+
}, [insets.right]);
|
|
3490
3504
|
const scaleFactor = sdkCore.getDeviceScaleFactor(ctx.state.formFactor);
|
|
3491
3505
|
const userInteractionEnabled = ctx.state.userInteractionEnabled !== false;
|
|
3492
3506
|
const currentPageName = ctx.state.selectedPaywall === paywall
|