From be89fc229cf8057d9b7b26627a61c69ab627fd51 Mon Sep 17 00:00:00 2001 From: Oskar Eichler <62393985+OskarEichler@users.noreply.github.com> Date: Thu, 27 Aug 2026 20:07:44 +0300 Subject: [PATCH 1/2] fix(web): forward provider view props and listen for standard transitions --- src/CompatNativeSafeAreaProvider.tsx | 3 ++- src/NativeSafeAreaProvider.web.tsx | 7 ++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/CompatNativeSafeAreaProvider.tsx b/src/CompatNativeSafeAreaProvider.tsx index 114ad8d1..4e1d8741 100644 --- a/src/CompatNativeSafeAreaProvider.tsx +++ b/src/CompatNativeSafeAreaProvider.tsx @@ -6,6 +6,7 @@ export function CompatNativeSafeAreaProvider({ children, style, onInsetsChange, + ...rest }: NativeSafeAreaProviderProps) { const window = useWindowDimensions(); React.useEffect(() => { @@ -24,5 +25,5 @@ export function CompatNativeSafeAreaProvider({ // @ts-ignore: missing properties onInsetsChange({ nativeEvent: { insets, frame } }); }, [onInsetsChange, window.height, window.width]); - return {children}; + return {children}; } diff --git a/src/NativeSafeAreaProvider.web.tsx b/src/NativeSafeAreaProvider.web.tsx index 82828693..a769f57e 100644 --- a/src/NativeSafeAreaProvider.web.tsx +++ b/src/NativeSafeAreaProvider.web.tsx @@ -5,8 +5,8 @@ import { View } from 'react-native'; import type { NativeSafeAreaProviderProps } from './SafeArea.types'; const CSSTransitions: Record = { + transition: 'transitionend', WebkitTransition: 'webkitTransitionEnd', - Transition: 'transitionEnd', MozTransition: 'transitionend', MSTransition: 'msTransitionEnd', OTransition: 'oTransitionEnd', @@ -16,6 +16,7 @@ export function NativeSafeAreaProvider({ children, style, onInsetsChange, + ...rest }: NativeSafeAreaProviderProps) { const viewRef = React.useRef(null); @@ -108,7 +109,7 @@ export function NativeSafeAreaProvider({ }, [onInsetsChange]); return ( - + {children} ); @@ -121,7 +122,7 @@ function getSupportedTransitionEvent(): string { } const element = document.createElement('invalidtype'); - _supportedTransitionEvent = CSSTransitions.Transition; + _supportedTransitionEvent = CSSTransitions.transition; for (const key in CSSTransitions) { if (element.style[key as keyof CSSStyleDeclaration] !== undefined) { _supportedTransitionEvent = CSSTransitions[key]; From ba712c7134fba03056828c517bf28628b000d15a Mon Sep 17 00:00:00 2001 From: Oskar Eichler <62393985+OskarEichler@users.noreply.github.com> Date: Thu, 27 Aug 2026 20:10:52 +0300 Subject: [PATCH 2/2] style: format provider changes --- src/CompatNativeSafeAreaProvider.tsx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/CompatNativeSafeAreaProvider.tsx b/src/CompatNativeSafeAreaProvider.tsx index 4e1d8741..b155cc5a 100644 --- a/src/CompatNativeSafeAreaProvider.tsx +++ b/src/CompatNativeSafeAreaProvider.tsx @@ -25,5 +25,9 @@ export function CompatNativeSafeAreaProvider({ // @ts-ignore: missing properties onInsetsChange({ nativeEvent: { insets, frame } }); }, [onInsetsChange, window.height, window.width]); - return {children}; + return ( + + {children} + + ); }