@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 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 top and bottom safe-area insets into paywall state so
3476
- // templates can position chrome via ${state.safeAreaTop} (e.g. header
3477
- // topPadding, background topMargin) and ${state.safeAreaBottom} (e.g. a
3478
- // footer clear of the home indicator / gesture bar). Mirrors the native
3479
- // renderers, which measure the insets and set the same state. The full-bleed
3480
- // root lets the background extend under the system bars and nothing pads the
3481
- // footer, so the token is the only bottom offset — no double-padding.
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