@amazon-devices/react-native-safe-area-context 2.0.1759135970 → 8.0.9000000000
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 +6 -302
- package/SystemBundles/3e1c492419a85957481898df760cf9cf3bd38d3e26ef2e78822fb256fdee0153.bundle +7373 -0
- package/SystemBundles/3e1c492419a85957481898df760cf9cf3bd38d3e26ef2e78822fb256fdee0153.map +2780 -0
- package/SystemModules/amzn__react-native-safe-area-context-8.modules.txt +7 -0
- package/SystemModules/amzn__react-native-safe-area-context-8.private.modules.txt +61 -0
- package/SystemModules/keplerscript-system-bundle-config.json +3 -3
- package/android/build.gradle +103 -25
- package/android/gradle.properties +1 -0
- package/android/spotless.gradle +24 -0
- package/android/src/fabric/java/com/th3rdwave/safeareacontext/InsetsChangeEvent.kt +25 -0
- package/android/src/fabric/java/com/th3rdwave/safeareacontext/UIManagerHelperCompat.kt +14 -0
- package/android/src/main/AndroidManifest.xml +1 -2
- package/android/src/main/java/com/th3rdwave/safeareacontext/EdgeInsets.kt +3 -0
- package/android/src/main/java/com/th3rdwave/safeareacontext/Rect.kt +3 -0
- package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaContextModule.kt +32 -0
- package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaContextPackage.kt +41 -0
- package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaProvider.kt +47 -0
- package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaProviderManager.kt +41 -0
- package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaUtils.kt +102 -0
- package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaView.kt +155 -0
- package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaViewEdges.kt +16 -0
- package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaViewLocalData.kt +7 -0
- package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaViewManager.kt +73 -0
- package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaViewMode.kt +6 -0
- package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaViewShadowNode.kt +170 -0
- package/android/src/main/java/com/th3rdwave/safeareacontext/SerializationUtils.kt +39 -0
- package/android/src/main/jni/CMakeLists.txt +87 -0
- package/android/src/main/jni/safeareacontext.h +17 -0
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNCSafeAreaProviderManagerDelegate.java +31 -0
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNCSafeAreaProviderManagerInterface.java +16 -0
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNCSafeAreaViewManagerDelegate.java +41 -0
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNCSafeAreaViewManagerInterface.java +20 -0
- package/android/src/paper/java/com/th3rdwave/safeareacontext/InsetsChangeEvent.kt +29 -0
- package/android/src/paper/java/com/th3rdwave/safeareacontext/NativeSafeAreaContextSpec.java +56 -0
- package/android/src/paper/java/com/th3rdwave/safeareacontext/UIManagerHelperCompat.kt +20 -0
- package/common/cpp/react/renderer/components/safeareacontext/RNCSafeAreaViewComponentDescriptor.h +25 -0
- package/common/cpp/react/renderer/components/safeareacontext/RNCSafeAreaViewShadowNode.cpp +131 -0
- package/common/cpp/react/renderer/components/safeareacontext/RNCSafeAreaViewShadowNode.h +36 -0
- package/common/cpp/react/renderer/components/safeareacontext/RNCSafeAreaViewState.cpp +23 -0
- package/common/cpp/react/renderer/components/safeareacontext/RNCSafeAreaViewState.h +56 -0
- package/ios/Fabric/RNCSafeAreaProviderComponentView.h +13 -0
- package/ios/Fabric/RNCSafeAreaProviderComponentView.mm +129 -0
- package/ios/Fabric/RNCSafeAreaViewComponentView.h +11 -0
- package/ios/Fabric/RNCSafeAreaViewComponentView.mm +153 -0
- package/ios/RNCSafeAreaContext.h +9 -0
- package/ios/RNCSafeAreaContext.mm +85 -0
- package/ios/{SafeAreaView/RNCSafeAreaProvider.h → RNCSafeAreaProvider.h} +4 -0
- package/ios/RNCSafeAreaProvider.m +102 -0
- package/ios/RNCSafeAreaProviderManager.m +20 -0
- package/ios/{SafeAreaView/RNCSafeAreaShadowView.m → RNCSafeAreaShadowView.m} +50 -36
- package/ios/RNCSafeAreaUtils.h +22 -0
- package/ios/RNCSafeAreaUtils.m +41 -0
- package/ios/{SafeAreaView/RNCSafeAreaView.h → RNCSafeAreaView.h} +8 -4
- package/ios/RNCSafeAreaView.m +168 -0
- package/ios/RNCSafeAreaViewEdgeMode.h +12 -0
- package/ios/RNCSafeAreaViewEdgeMode.m +16 -0
- package/ios/RNCSafeAreaViewEdges.h +15 -0
- package/ios/RNCSafeAreaViewEdges.m +36 -0
- package/ios/{SafeAreaView/RNCSafeAreaViewLocalData.h → RNCSafeAreaViewLocalData.h} +12 -1
- package/ios/{SafeAreaView/RNCSafeAreaViewLocalData.m → RNCSafeAreaViewLocalData.m} +4 -0
- package/ios/{SafeAreaView/RNCSafeAreaViewManager.m → RNCSafeAreaViewManager.m} +5 -1
- package/ios/RNCSafeAreaViewMode.m +15 -0
- package/ios/{SafeAreaView.xcodeproj → RNSafeAreaContext.xcodeproj}/project.pbxproj +70 -56
- package/jest/mock.tsx +59 -0
- package/kepler-compatibility.json +2 -2
- package/lib/commonjs/CompatNativeSafeAreaProvider.js +7 -8
- package/lib/commonjs/CompatNativeSafeAreaProvider.js.map +1 -1
- package/lib/commonjs/InitialWindow.js.map +1 -1
- package/lib/commonjs/InitialWindow.kepler.js +1 -1
- package/lib/commonjs/InitialWindow.kepler.js.map +1 -1
- package/lib/commonjs/InitialWindow.native.js +4 -4
- package/lib/commonjs/InitialWindow.native.js.map +1 -1
- package/lib/commonjs/NativeSafeAreaProvider.js +7 -125
- package/lib/commonjs/NativeSafeAreaProvider.js.map +1 -1
- package/lib/commonjs/NativeSafeAreaProvider.kepler.js +6 -2
- package/lib/commonjs/NativeSafeAreaProvider.kepler.js.map +1 -1
- package/lib/commonjs/NativeSafeAreaProvider.web.js +135 -0
- package/lib/commonjs/NativeSafeAreaProvider.web.js.map +1 -0
- package/lib/commonjs/NativeSafeAreaProvider.windows.js +6 -2
- package/lib/commonjs/NativeSafeAreaProvider.windows.js.map +1 -1
- package/lib/commonjs/SafeArea.types.js.map +1 -1
- package/lib/commonjs/SafeAreaContext.js +56 -36
- package/lib/commonjs/SafeAreaContext.js.map +1 -1
- package/lib/commonjs/SafeAreaView.js +40 -73
- package/lib/commonjs/SafeAreaView.js.map +1 -1
- package/lib/commonjs/SafeAreaView.kepler.js.map +1 -1
- package/lib/commonjs/SafeAreaView.web.js +91 -0
- package/lib/commonjs/SafeAreaView.web.js.map +1 -0
- package/lib/commonjs/SafeAreaView.windows.js.map +1 -1
- package/lib/commonjs/index.js +1 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/package.json +1 -0
- package/lib/commonjs/specs/NativeSafeAreaContext.js +9 -0
- package/lib/commonjs/specs/NativeSafeAreaContext.js.map +1 -0
- package/lib/commonjs/specs/NativeSafeAreaProvider.js +10 -0
- package/lib/commonjs/specs/NativeSafeAreaProvider.js.map +1 -0
- package/lib/commonjs/specs/NativeSafeAreaView.js +12 -0
- package/lib/commonjs/specs/NativeSafeAreaView.js.map +1 -0
- package/lib/module/CompatNativeSafeAreaProvider.js +8 -5
- package/lib/module/CompatNativeSafeAreaProvider.js.map +1 -1
- package/lib/module/InitialWindow.js +2 -0
- package/lib/module/InitialWindow.js.map +1 -1
- package/lib/module/InitialWindow.kepler.js +3 -1
- package/lib/module/InitialWindow.kepler.js.map +1 -1
- package/lib/module/InitialWindow.native.js +5 -4
- package/lib/module/InitialWindow.native.js.map +1 -1
- package/lib/module/NativeSafeAreaProvider.js +3 -122
- package/lib/module/NativeSafeAreaProvider.js.map +1 -1
- package/lib/module/NativeSafeAreaProvider.kepler.js +3 -2
- package/lib/module/NativeSafeAreaProvider.kepler.js.map +1 -1
- package/lib/module/NativeSafeAreaProvider.web.js +130 -0
- package/lib/module/NativeSafeAreaProvider.web.js.map +1 -0
- package/lib/module/NativeSafeAreaProvider.windows.js +3 -2
- package/lib/module/NativeSafeAreaProvider.windows.js.map +1 -1
- package/lib/module/SafeArea.types.js +2 -0
- package/lib/module/SafeArea.types.js.map +1 -1
- package/lib/module/SafeAreaContext.js +57 -33
- package/lib/module/SafeAreaContext.js.map +1 -1
- package/lib/module/SafeAreaView.js +38 -69
- package/lib/module/SafeAreaView.js.map +1 -1
- package/lib/module/SafeAreaView.kepler.js +2 -0
- package/lib/module/SafeAreaView.kepler.js.map +1 -1
- package/lib/module/SafeAreaView.web.js +86 -0
- package/lib/module/SafeAreaView.web.js.map +1 -0
- package/lib/module/SafeAreaView.windows.js +2 -0
- package/lib/module/SafeAreaView.windows.js.map +1 -1
- package/lib/module/index.js +3 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/specs/NativeSafeAreaContext.js +5 -0
- package/lib/module/specs/NativeSafeAreaContext.js.map +1 -0
- package/lib/module/specs/NativeSafeAreaProvider.js +5 -0
- package/lib/module/specs/NativeSafeAreaProvider.js.map +1 -0
- package/lib/module/specs/NativeSafeAreaView.js +7 -0
- package/lib/module/specs/NativeSafeAreaView.js.map +1 -0
- package/lib/typescript/CompatNativeSafeAreaProvider.d.ts +4 -0
- package/lib/typescript/CompatNativeSafeAreaProvider.d.ts.map +1 -0
- package/lib/typescript/{src/InitialWindow.d.ts → InitialWindow.d.ts} +2 -1
- package/lib/typescript/InitialWindow.d.ts.map +1 -0
- package/lib/typescript/{src/InitialWindow.kepler.d.ts → InitialWindow.kepler.d.ts} +1 -0
- package/lib/typescript/InitialWindow.kepler.d.ts.map +1 -0
- package/lib/typescript/{src/InitialWindow.native.d.ts → InitialWindow.native.d.ts} +2 -1
- package/lib/typescript/InitialWindow.native.d.ts.map +1 -0
- package/lib/typescript/NativeSafeAreaProvider.d.ts +3 -0
- package/lib/typescript/NativeSafeAreaProvider.d.ts.map +1 -0
- package/lib/typescript/NativeSafeAreaProvider.kepler.d.ts +2 -0
- package/lib/typescript/NativeSafeAreaProvider.kepler.d.ts.map +1 -0
- package/lib/typescript/NativeSafeAreaProvider.web.d.ts +4 -0
- package/lib/typescript/NativeSafeAreaProvider.web.d.ts.map +1 -0
- package/lib/typescript/NativeSafeAreaProvider.windows.d.ts +2 -0
- package/lib/typescript/NativeSafeAreaProvider.windows.d.ts.map +1 -0
- package/lib/typescript/SafeArea.types.d.ts +36 -0
- package/lib/typescript/SafeArea.types.d.ts.map +1 -0
- package/lib/typescript/{src/SafeAreaContext.d.ts → SafeAreaContext.d.ts} +9 -6
- package/lib/typescript/SafeAreaContext.d.ts.map +1 -0
- package/lib/typescript/SafeAreaView.d.ts +5 -0
- package/lib/typescript/SafeAreaView.d.ts.map +1 -0
- package/lib/typescript/{src/SafeAreaView.kepler.d.ts → SafeAreaView.kepler.d.ts} +1 -0
- package/lib/typescript/SafeAreaView.kepler.d.ts.map +1 -0
- package/lib/typescript/SafeAreaView.web.d.ts +4 -0
- package/lib/typescript/SafeAreaView.web.d.ts.map +1 -0
- package/lib/typescript/SafeAreaView.windows.d.ts +3 -0
- package/lib/typescript/SafeAreaView.windows.d.ts.map +1 -0
- package/lib/typescript/{src/index.d.ts → index.d.ts} +1 -0
- package/lib/typescript/index.d.ts.map +1 -0
- package/lib/typescript/specs/NativeSafeAreaContext.d.ts +23 -0
- package/lib/typescript/specs/NativeSafeAreaContext.d.ts.map +1 -0
- package/lib/typescript/specs/NativeSafeAreaProvider.d.ts +22 -0
- package/lib/typescript/specs/NativeSafeAreaProvider.d.ts.map +1 -0
- package/lib/typescript/specs/NativeSafeAreaView.d.ts +14 -0
- package/lib/typescript/specs/NativeSafeAreaView.d.ts.map +1 -0
- package/package.json +1 -1
- package/react-native-safe-area-context.podspec +26 -4
- package/react-native.config.js +8 -0
- package/src/CompatNativeSafeAreaProvider.tsx +2 -3
- package/src/InitialWindow.kepler.ts +1 -1
- package/src/InitialWindow.native.ts +5 -11
- package/src/InitialWindow.ts +1 -1
- package/src/NativeSafeAreaProvider.kepler.tsx +1 -3
- package/src/NativeSafeAreaProvider.tsx +2 -128
- package/src/NativeSafeAreaProvider.web.tsx +127 -0
- package/src/NativeSafeAreaProvider.windows.tsx +1 -3
- package/src/SafeArea.types.ts +15 -11
- package/src/SafeAreaContext.tsx +66 -43
- package/src/SafeAreaView.tsx +47 -82
- package/src/SafeAreaView.web.tsx +123 -0
- package/src/SafeAreaView.windows.tsx +2 -1
- package/src/index.tsx +2 -0
- package/src/specs/NativeSafeAreaContext.ts +23 -0
- package/src/specs/NativeSafeAreaProvider.ts +29 -0
- package/src/specs/NativeSafeAreaView.ts +17 -0
- package/SystemBundles/e3c0cdeab56b8b622d4f0fd5a80812eafe199fa2287d0e3a09c5e573a1035350.bundle +0 -11031
- package/SystemBundles/e3c0cdeab56b8b622d4f0fd5a80812eafe199fa2287d0e3a09c5e573a1035350.map +0 -1
- package/SystemModules/amzn__react-native-safe-area-context-2.modules.txt +0 -55
- package/SystemModules/amzn__react-native-safe-area-context-2.private.modules.txt +0 -91
- package/THIRD_PARTY_NOTICES.txt +0 -24
- package/android/src/main/java/com/th3rdwave/safeareacontext/EdgeInsets.java +0 -22
- package/android/src/main/java/com/th3rdwave/safeareacontext/InsetsChangeEvent.java +0 -33
- package/android/src/main/java/com/th3rdwave/safeareacontext/Rect.java +0 -22
- package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaContextPackage.java +0 -31
- package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaProvider.java +0 -66
- package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaProviderManager.java +0 -94
- package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaUtils.java +0 -82
- package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaView.java +0 -159
- package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaViewEdges.java +0 -8
- package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaViewLocalData.java +0 -27
- package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaViewManager.java +0 -72
- package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaViewMode.java +0 -6
- package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaViewShadowNode.java +0 -201
- package/android/src/main/java/com/th3rdwave/safeareacontext/SerializationUtils.java +0 -52
- package/ios/SafeAreaView/RCTView+SafeAreaCompat.h +0 -16
- package/ios/SafeAreaView/RCTView+SafeAreaCompat.m +0 -57
- package/ios/SafeAreaView/RNCSafeAreaProvider.m +0 -65
- package/ios/SafeAreaView/RNCSafeAreaProviderManager.m +0 -61
- package/ios/SafeAreaView/RNCSafeAreaView.m +0 -118
- package/ios/SafeAreaView/RNCSafeAreaViewEdges.h +0 -9
- package/ios/SafeAreaView/RNCSafeAreaViewEdges.m +0 -13
- package/ios/SafeAreaView/RNCSafeAreaViewMode.m +0 -11
- package/lib/commonjs/NativeSafeAreaProvider.macos.js +0 -9
- package/lib/commonjs/NativeSafeAreaProvider.macos.js.map +0 -1
- package/lib/commonjs/NativeSafeAreaProvider.native.js +0 -9
- package/lib/commonjs/NativeSafeAreaProvider.native.js.map +0 -1
- package/lib/commonjs/SafeAreaView.macos.js +0 -9
- package/lib/commonjs/SafeAreaView.macos.js.map +0 -1
- package/lib/commonjs/SafeAreaView.native.js +0 -9
- package/lib/commonjs/SafeAreaView.native.js.map +0 -1
- package/lib/commonjs/useWindowDimensions.js +0 -32
- package/lib/commonjs/useWindowDimensions.js.map +0 -1
- package/lib/module/NativeSafeAreaProvider.macos.js +0 -3
- package/lib/module/NativeSafeAreaProvider.macos.js.map +0 -1
- package/lib/module/NativeSafeAreaProvider.native.js +0 -3
- package/lib/module/NativeSafeAreaProvider.native.js.map +0 -1
- package/lib/module/SafeAreaView.macos.js +0 -3
- package/lib/module/SafeAreaView.macos.js.map +0 -1
- package/lib/module/SafeAreaView.native.js +0 -3
- package/lib/module/SafeAreaView.native.js.map +0 -1
- package/lib/module/useWindowDimensions.js +0 -26
- package/lib/module/useWindowDimensions.js.map +0 -1
- package/lib/typescript/src/CompatNativeSafeAreaProvider.d.ts +0 -2
- package/lib/typescript/src/NativeSafeAreaProvider.d.ts +0 -2
- package/lib/typescript/src/NativeSafeAreaProvider.kepler.d.ts +0 -2
- package/lib/typescript/src/NativeSafeAreaProvider.macos.d.ts +0 -2
- package/lib/typescript/src/NativeSafeAreaProvider.native.d.ts +0 -3
- package/lib/typescript/src/NativeSafeAreaProvider.windows.d.ts +0 -2
- package/lib/typescript/src/SafeArea.types.d.ts +0 -31
- package/lib/typescript/src/SafeAreaView.d.ts +0 -2
- package/lib/typescript/src/SafeAreaView.macos.d.ts +0 -2
- package/lib/typescript/src/SafeAreaView.native.d.ts +0 -2
- package/lib/typescript/src/SafeAreaView.windows.d.ts +0 -2
- package/lib/typescript/src/useWindowDimensions.d.ts +0 -8
- package/src/NativeSafeAreaProvider.macos.tsx +0 -3
- package/src/NativeSafeAreaProvider.native.tsx +0 -6
- package/src/SafeAreaView.macos.tsx +0 -3
- package/src/SafeAreaView.native.tsx +0 -6
- package/src/useWindowDimensions.tsx +0 -35
- /package/ios/{SafeAreaView/RNCSafeAreaProviderManager.h → RNCSafeAreaProviderManager.h} +0 -0
- /package/ios/{SafeAreaView/RNCSafeAreaShadowView.h → RNCSafeAreaShadowView.h} +0 -0
- /package/ios/{SafeAreaView/RNCSafeAreaViewManager.h → RNCSafeAreaViewManager.h} +0 -0
- /package/ios/{SafeAreaView/RNCSafeAreaViewMode.h → RNCSafeAreaViewMode.h} +0 -0
|
@@ -1,22 +1,29 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
2
3
|
import * as React from 'react';
|
|
3
4
|
import { Dimensions, StyleSheet } from 'react-native';
|
|
4
|
-
import NativeSafeAreaProvider from './NativeSafeAreaProvider';
|
|
5
|
+
import { NativeSafeAreaProvider } from './NativeSafeAreaProvider';
|
|
6
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
+
const isDev = process.env.NODE_ENV !== 'production';
|
|
5
8
|
export const SafeAreaInsetsContext = /*#__PURE__*/React.createContext(null);
|
|
6
|
-
|
|
9
|
+
if (isDev) {
|
|
10
|
+
SafeAreaInsetsContext.displayName = 'SafeAreaInsetsContext';
|
|
11
|
+
}
|
|
7
12
|
export const SafeAreaFrameContext = /*#__PURE__*/React.createContext(null);
|
|
8
|
-
|
|
13
|
+
if (isDev) {
|
|
14
|
+
SafeAreaFrameContext.displayName = 'SafeAreaFrameContext';
|
|
15
|
+
}
|
|
9
16
|
export function SafeAreaProvider({
|
|
10
17
|
children,
|
|
11
18
|
initialMetrics,
|
|
12
19
|
initialSafeAreaInsets,
|
|
13
|
-
style
|
|
20
|
+
style,
|
|
21
|
+
...others
|
|
14
22
|
}) {
|
|
15
|
-
var _ref, _ref2, _initialMetrics$inset, _ref3, _initialMetrics$frame;
|
|
16
23
|
const parentInsets = useParentSafeAreaInsets();
|
|
17
24
|
const parentFrame = useParentSafeAreaFrame();
|
|
18
|
-
const [insets, setInsets] = React.useState(
|
|
19
|
-
const [frame, setFrame] = React.useState(
|
|
25
|
+
const [insets, setInsets] = React.useState(initialMetrics?.insets ?? initialSafeAreaInsets ?? parentInsets ?? null);
|
|
26
|
+
const [frame, setFrame] = React.useState(initialMetrics?.frame ?? parentFrame ?? {
|
|
20
27
|
// Backwards compat so we render anyway if we don't have frame.
|
|
21
28
|
x: 0,
|
|
22
29
|
y: 0,
|
|
@@ -30,23 +37,35 @@ export function SafeAreaProvider({
|
|
|
30
37
|
insets: nextInsets
|
|
31
38
|
}
|
|
32
39
|
} = event;
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
40
|
+
setFrame(curFrame => {
|
|
41
|
+
if (
|
|
42
|
+
// Backwards compat with old native code that won't send frame.
|
|
43
|
+
nextFrame && (nextFrame.height !== curFrame.height || nextFrame.width !== curFrame.width || nextFrame.x !== curFrame.x || nextFrame.y !== curFrame.y)) {
|
|
44
|
+
return nextFrame;
|
|
45
|
+
} else {
|
|
46
|
+
return curFrame;
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
setInsets(curInsets => {
|
|
50
|
+
if (!curInsets || nextInsets.bottom !== curInsets.bottom || nextInsets.left !== curInsets.left || nextInsets.right !== curInsets.right || nextInsets.top !== curInsets.top) {
|
|
51
|
+
return nextInsets;
|
|
52
|
+
} else {
|
|
53
|
+
return curInsets;
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
}, []);
|
|
57
|
+
return /*#__PURE__*/_jsx(NativeSafeAreaProvider, {
|
|
43
58
|
style: [styles.fill, style],
|
|
44
|
-
onInsetsChange: onInsetsChange
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
59
|
+
onInsetsChange: onInsetsChange,
|
|
60
|
+
...others,
|
|
61
|
+
children: insets != null ? /*#__PURE__*/_jsx(SafeAreaFrameContext.Provider, {
|
|
62
|
+
value: frame,
|
|
63
|
+
children: /*#__PURE__*/_jsx(SafeAreaInsetsContext.Provider, {
|
|
64
|
+
value: insets,
|
|
65
|
+
children: children
|
|
66
|
+
})
|
|
67
|
+
}) : null
|
|
68
|
+
});
|
|
50
69
|
}
|
|
51
70
|
const styles = StyleSheet.create({
|
|
52
71
|
fill: {
|
|
@@ -59,25 +78,30 @@ function useParentSafeAreaInsets() {
|
|
|
59
78
|
function useParentSafeAreaFrame() {
|
|
60
79
|
return React.useContext(SafeAreaFrameContext);
|
|
61
80
|
}
|
|
81
|
+
const NO_INSETS_ERROR = 'No safe area value available. Make sure you are rendering `<SafeAreaProvider>` at the top of your app.';
|
|
62
82
|
export function useSafeAreaInsets() {
|
|
63
|
-
const
|
|
64
|
-
if (
|
|
65
|
-
throw new Error(
|
|
83
|
+
const insets = React.useContext(SafeAreaInsetsContext);
|
|
84
|
+
if (insets == null) {
|
|
85
|
+
throw new Error(NO_INSETS_ERROR);
|
|
66
86
|
}
|
|
67
|
-
return
|
|
87
|
+
return insets;
|
|
68
88
|
}
|
|
69
89
|
export function useSafeAreaFrame() {
|
|
70
90
|
const frame = React.useContext(SafeAreaFrameContext);
|
|
71
91
|
if (frame == null) {
|
|
72
|
-
throw new Error(
|
|
92
|
+
throw new Error(NO_INSETS_ERROR);
|
|
73
93
|
}
|
|
74
94
|
return frame;
|
|
75
95
|
}
|
|
76
96
|
export function withSafeAreaInsets(WrappedComponent) {
|
|
77
|
-
return /*#__PURE__*/React.forwardRef((props, ref) =>
|
|
78
|
-
insets
|
|
79
|
-
|
|
80
|
-
|
|
97
|
+
return /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
98
|
+
const insets = useSafeAreaInsets();
|
|
99
|
+
return /*#__PURE__*/_jsx(WrappedComponent, {
|
|
100
|
+
...props,
|
|
101
|
+
insets: insets,
|
|
102
|
+
ref: ref
|
|
103
|
+
});
|
|
104
|
+
});
|
|
81
105
|
}
|
|
82
106
|
|
|
83
107
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Dimensions","StyleSheet","NativeSafeAreaProvider","
|
|
1
|
+
{"version":3,"names":["React","Dimensions","StyleSheet","NativeSafeAreaProvider","jsx","_jsx","isDev","process","env","NODE_ENV","SafeAreaInsetsContext","createContext","displayName","SafeAreaFrameContext","SafeAreaProvider","children","initialMetrics","initialSafeAreaInsets","style","others","parentInsets","useParentSafeAreaInsets","parentFrame","useParentSafeAreaFrame","insets","setInsets","useState","frame","setFrame","x","y","width","get","height","onInsetsChange","useCallback","event","nativeEvent","nextFrame","nextInsets","curFrame","curInsets","bottom","left","right","top","styles","fill","Provider","value","create","flex","useContext","NO_INSETS_ERROR","useSafeAreaInsets","Error","useSafeAreaFrame","withSafeAreaInsets","WrappedComponent","forwardRef","props","ref","useSafeArea","SafeAreaConsumer","Consumer","SafeAreaContext"],"sourceRoot":"../../src","sources":["SafeAreaContext.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,UAAU,EAAEC,UAAU,QAAwB,cAAc;AACrE,SAASC,sBAAsB,QAAQ,0BAA0B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAQlE,MAAMC,KAAK,GAAGC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY;AAEnD,OAAO,MAAMC,qBAAqB,gBAAGV,KAAK,CAACW,aAAa,CACtD,IACF,CAAC;AACD,IAAIL,KAAK,EAAE;EACTI,qBAAqB,CAACE,WAAW,GAAG,uBAAuB;AAC7D;AAEA,OAAO,MAAMC,oBAAoB,gBAAGb,KAAK,CAACW,aAAa,CAAc,IAAI,CAAC;AAC1E,IAAIL,KAAK,EAAE;EACTO,oBAAoB,CAACD,WAAW,GAAG,sBAAsB;AAC3D;AAWA,OAAO,SAASE,gBAAgBA,CAAC;EAC/BC,QAAQ;EACRC,cAAc;EACdC,qBAAqB;EACrBC,KAAK;EACL,GAAGC;AACkB,CAAC,EAAE;EACxB,MAAMC,YAAY,GAAGC,uBAAuB,CAAC,CAAC;EAC9C,MAAMC,WAAW,GAAGC,sBAAsB,CAAC,CAAC;EAC5C,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAGzB,KAAK,CAAC0B,QAAQ,CACxCV,cAAc,EAAEQ,MAAM,IAAIP,qBAAqB,IAAIG,YAAY,IAAI,IACrE,CAAC;EACD,MAAM,CAACO,KAAK,EAAEC,QAAQ,CAAC,GAAG5B,KAAK,CAAC0B,QAAQ,CACtCV,cAAc,EAAEW,KAAK,IACnBL,WAAW,IAAI;IACb;IACAO,CAAC,EAAE,CAAC;IACJC,CAAC,EAAE,CAAC;IACJC,KAAK,EAAE9B,UAAU,CAAC+B,GAAG,CAAC,QAAQ,CAAC,CAACD,KAAK;IACrCE,MAAM,EAAEhC,UAAU,CAAC+B,GAAG,CAAC,QAAQ,CAAC,CAACC;EACnC,CACJ,CAAC;EACD,MAAMC,cAAc,GAAGlC,KAAK,CAACmC,WAAW,CAAEC,KAAwB,IAAK;IACrE,MAAM;MACJC,WAAW,EAAE;QAAEV,KAAK,EAAEW,SAAS;QAAEd,MAAM,EAAEe;MAAW;IACtD,CAAC,GAAGH,KAAK;IAETR,QAAQ,CAAEY,QAAQ,IAAK;MACrB;MACE;MACAF,SAAS,KACRA,SAAS,CAACL,MAAM,KAAKO,QAAQ,CAACP,MAAM,IACnCK,SAAS,CAACP,KAAK,KAAKS,QAAQ,CAACT,KAAK,IAClCO,SAAS,CAACT,CAAC,KAAKW,QAAQ,CAACX,CAAC,IAC1BS,SAAS,CAACR,CAAC,KAAKU,QAAQ,CAACV,CAAC,CAAC,EAC7B;QACA,OAAOQ,SAAS;MAClB,CAAC,MAAM;QACL,OAAOE,QAAQ;MACjB;IACF,CAAC,CAAC;IAEFf,SAAS,CAAEgB,SAAS,IAAK;MACvB,IACE,CAACA,SAAS,IACVF,UAAU,CAACG,MAAM,KAAKD,SAAS,CAACC,MAAM,IACtCH,UAAU,CAACI,IAAI,KAAKF,SAAS,CAACE,IAAI,IAClCJ,UAAU,CAACK,KAAK,KAAKH,SAAS,CAACG,KAAK,IACpCL,UAAU,CAACM,GAAG,KAAKJ,SAAS,CAACI,GAAG,EAChC;QACA,OAAON,UAAU;MACnB,CAAC,MAAM;QACL,OAAOE,SAAS;MAClB;IACF,CAAC,CAAC;EACJ,CAAC,EAAE,EAAE,CAAC;EAEN,oBACEpC,IAAA,CAACF,sBAAsB;IACrBe,KAAK,EAAE,CAAC4B,MAAM,CAACC,IAAI,EAAE7B,KAAK,CAAE;IAC5BgB,cAAc,EAAEA,cAAe;IAAA,GAC3Bf,MAAM;IAAAJ,QAAA,EAETS,MAAM,IAAI,IAAI,gBACbnB,IAAA,CAACQ,oBAAoB,CAACmC,QAAQ;MAACC,KAAK,EAAEtB,KAAM;MAAAZ,QAAA,eAC1CV,IAAA,CAACK,qBAAqB,CAACsC,QAAQ;QAACC,KAAK,EAAEzB,MAAO;QAAAT,QAAA,EAC3CA;MAAQ,CACqB;IAAC,CACJ,CAAC,GAC9B;EAAI,CACc,CAAC;AAE7B;AAEA,MAAM+B,MAAM,GAAG5C,UAAU,CAACgD,MAAM,CAAC;EAC/BH,IAAI,EAAE;IAAEI,IAAI,EAAE;EAAE;AAClB,CAAC,CAAC;AAEF,SAAS9B,uBAAuBA,CAAA,EAAsB;EACpD,OAAOrB,KAAK,CAACoD,UAAU,CAAC1C,qBAAqB,CAAC;AAChD;AAEA,SAASa,sBAAsBA,CAAA,EAAgB;EAC7C,OAAOvB,KAAK,CAACoD,UAAU,CAACvC,oBAAoB,CAAC;AAC/C;AAEA,MAAMwC,eAAe,GACnB,wGAAwG;AAE1G,OAAO,SAASC,iBAAiBA,CAAA,EAAe;EAC9C,MAAM9B,MAAM,GAAGxB,KAAK,CAACoD,UAAU,CAAC1C,qBAAqB,CAAC;EACtD,IAAIc,MAAM,IAAI,IAAI,EAAE;IAClB,MAAM,IAAI+B,KAAK,CAACF,eAAe,CAAC;EAClC;EACA,OAAO7B,MAAM;AACf;AAEA,OAAO,SAASgC,gBAAgBA,CAAA,EAAS;EACvC,MAAM7B,KAAK,GAAG3B,KAAK,CAACoD,UAAU,CAACvC,oBAAoB,CAAC;EACpD,IAAIc,KAAK,IAAI,IAAI,EAAE;IACjB,MAAM,IAAI4B,KAAK,CAACF,eAAe,CAAC;EAClC;EACA,OAAO1B,KAAK;AACd;AAMA,OAAO,SAAS8B,kBAAkBA,CAChCC,gBAEC,EAGD;EACA,oBAAO1D,KAAK,CAAC2D,UAAU,CAAa,CAACC,KAAK,EAAEC,GAAG,KAAK;IAClD,MAAMrC,MAAM,GAAG8B,iBAAiB,CAAC,CAAC;IAClC,oBAAOjD,IAAA,CAACqD,gBAAgB;MAAA,GAAKE,KAAK;MAAEpC,MAAM,EAAEA,MAAO;MAACqC,GAAG,EAAEA;IAAI,CAAE,CAAC;EAClE,CAAC,CAAC;AACJ;;AAEA;AACA;AACA;AACA,OAAO,SAASC,WAAWA,CAAA,EAAe;EACxC,OAAOR,iBAAiB,CAAC,CAAC;AAC5B;;AAEA;AACA;AACA;AACA,OAAO,MAAMS,gBAAgB,GAAGrD,qBAAqB,CAACsD,QAAQ;;AAE9D;AACA;AACA;AACA,OAAO,MAAMC,eAAe,GAAGvD,qBAAqB","ignoreList":[]}
|
|
@@ -1,74 +1,43 @@
|
|
|
1
|
-
|
|
2
|
-
import * as React from 'react';
|
|
3
|
-
import { View, StyleSheet } from 'react-native';
|
|
4
|
-
import { useSafeAreaInsets } from './SafeAreaContext';
|
|
5
|
-
// prettier-ignore
|
|
6
|
-
const TOP = 0b1000,
|
|
7
|
-
RIGHT = 0b0100,
|
|
8
|
-
BOTTOM = 0b0010,
|
|
9
|
-
LEFT = 0b0001,
|
|
10
|
-
ALL = 0b1111;
|
|
11
|
-
|
|
12
|
-
/* eslint-disable no-bitwise */
|
|
1
|
+
"use strict";
|
|
13
2
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import NativeSafeAreaView from './specs/NativeSafeAreaView';
|
|
5
|
+
import { useMemo } from 'react';
|
|
6
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
+
const defaultEdges = {
|
|
8
|
+
top: 'additive',
|
|
9
|
+
left: 'additive',
|
|
10
|
+
bottom: 'additive',
|
|
11
|
+
right: 'additive'
|
|
19
12
|
};
|
|
20
|
-
export
|
|
21
|
-
style = {},
|
|
22
|
-
mode,
|
|
13
|
+
export const SafeAreaView = /*#__PURE__*/React.forwardRef(({
|
|
23
14
|
edges,
|
|
24
|
-
...
|
|
25
|
-
}) {
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
const insetTop = edgeBitmask & TOP ? insets.top : 0;
|
|
30
|
-
const insetRight = edgeBitmask & RIGHT ? insets.right : 0;
|
|
31
|
-
const insetBottom = edgeBitmask & BOTTOM ? insets.bottom : 0;
|
|
32
|
-
const insetLeft = edgeBitmask & LEFT ? insets.left : 0;
|
|
33
|
-
const flatStyle = StyleSheet.flatten(style);
|
|
34
|
-
if (mode === 'margin') {
|
|
35
|
-
const {
|
|
36
|
-
margin = 0,
|
|
37
|
-
marginVertical = margin,
|
|
38
|
-
marginHorizontal = margin,
|
|
39
|
-
marginTop = marginVertical,
|
|
40
|
-
marginRight = marginHorizontal,
|
|
41
|
-
marginBottom = marginVertical,
|
|
42
|
-
marginLeft = marginHorizontal
|
|
43
|
-
} = flatStyle;
|
|
44
|
-
const marginStyle = {
|
|
45
|
-
marginTop: marginTop + insetTop,
|
|
46
|
-
marginRight: marginRight + insetRight,
|
|
47
|
-
marginBottom: marginBottom + insetBottom,
|
|
48
|
-
marginLeft: marginLeft + insetLeft
|
|
49
|
-
};
|
|
50
|
-
return [style, marginStyle];
|
|
51
|
-
} else {
|
|
52
|
-
const {
|
|
53
|
-
padding = 0,
|
|
54
|
-
paddingVertical = padding,
|
|
55
|
-
paddingHorizontal = padding,
|
|
56
|
-
paddingTop = paddingVertical,
|
|
57
|
-
paddingRight = paddingHorizontal,
|
|
58
|
-
paddingBottom = paddingVertical,
|
|
59
|
-
paddingLeft = paddingHorizontal
|
|
60
|
-
} = flatStyle;
|
|
61
|
-
const paddingStyle = {
|
|
62
|
-
paddingTop: paddingTop + insetTop,
|
|
63
|
-
paddingRight: paddingRight + insetRight,
|
|
64
|
-
paddingBottom: paddingBottom + insetBottom,
|
|
65
|
-
paddingLeft: paddingLeft + insetLeft
|
|
66
|
-
};
|
|
67
|
-
return [style, paddingStyle];
|
|
15
|
+
...props
|
|
16
|
+
}, ref) => {
|
|
17
|
+
const nativeEdges = useMemo(() => {
|
|
18
|
+
if (edges == null) {
|
|
19
|
+
return defaultEdges;
|
|
68
20
|
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
21
|
+
const edgesObj = Array.isArray(edges) ? edges.reduce((acc, edge) => {
|
|
22
|
+
acc[edge] = 'additive';
|
|
23
|
+
return acc;
|
|
24
|
+
}, {}) :
|
|
25
|
+
// ts has trouble with refining readonly arrays.
|
|
26
|
+
edges;
|
|
27
|
+
|
|
28
|
+
// make sure that we always pass all edges, required for fabric
|
|
29
|
+
const requiredEdges = {
|
|
30
|
+
top: edgesObj.top ?? 'off',
|
|
31
|
+
right: edgesObj.right ?? 'off',
|
|
32
|
+
bottom: edgesObj.bottom ?? 'off',
|
|
33
|
+
left: edgesObj.left ?? 'off'
|
|
34
|
+
};
|
|
35
|
+
return requiredEdges;
|
|
36
|
+
}, [edges]);
|
|
37
|
+
return /*#__PURE__*/_jsx(NativeSafeAreaView, {
|
|
38
|
+
...props,
|
|
39
|
+
edges: nativeEdges,
|
|
40
|
+
ref: ref
|
|
41
|
+
});
|
|
42
|
+
});
|
|
74
43
|
//# sourceMappingURL=SafeAreaView.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","
|
|
1
|
+
{"version":3,"names":["React","NativeSafeAreaView","useMemo","jsx","_jsx","defaultEdges","top","left","bottom","right","SafeAreaView","forwardRef","edges","props","ref","nativeEdges","edgesObj","Array","isArray","reduce","acc","edge","requiredEdges"],"sourceRoot":"../../src","sources":["SafeAreaView.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAQ9B,OAAOC,kBAAkB,MAAM,4BAA4B;AAC3D,SAASC,OAAO,QAAQ,OAAO;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEhC,MAAMC,YAAoC,GAAG;EAC3CC,GAAG,EAAE,UAAU;EACfC,IAAI,EAAE,UAAU;EAChBC,MAAM,EAAE,UAAU;EAClBC,KAAK,EAAE;AACT,CAAC;AAID,OAAO,MAAMC,YAAY,gBAAGV,KAAK,CAACW,UAAU,CAG1C,CAAC;EAAEC,KAAK;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,KAAK;EAC9B,MAAMC,WAAW,GAAGb,OAAO,CAAC,MAAM;IAChC,IAAIU,KAAK,IAAI,IAAI,EAAE;MACjB,OAAOP,YAAY;IACrB;IAEA,MAAMW,QAAQ,GAAGC,KAAK,CAACC,OAAO,CAACN,KAAK,CAAC,GACjCA,KAAK,CAACO,MAAM,CAAa,CAACC,GAAG,EAAEC,IAAU,KAAK;MAC5CD,GAAG,CAACC,IAAI,CAAC,GAAG,UAAU;MACtB,OAAOD,GAAG;IACZ,CAAC,EAAE,CAAC,CAAC,CAAC;IACN;IACCR,KAAoB;;IAEzB;IACA,MAAMU,aAAqC,GAAG;MAC5ChB,GAAG,EAAEU,QAAQ,CAACV,GAAG,IAAI,KAAK;MAC1BG,KAAK,EAAEO,QAAQ,CAACP,KAAK,IAAI,KAAK;MAC9BD,MAAM,EAAEQ,QAAQ,CAACR,MAAM,IAAI,KAAK;MAChCD,IAAI,EAAES,QAAQ,CAACT,IAAI,IAAI;IACzB,CAAC;IAED,OAAOe,aAAa;EACtB,CAAC,EAAE,CAACV,KAAK,CAAC,CAAC;EAEX,oBAAOR,IAAA,CAACH,kBAAkB;IAAA,GAAKY,KAAK;IAAED,KAAK,EAAEG,WAAY;IAACD,GAAG,EAAEA;EAAI,CAAE,CAAC;AACxE,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["View","SafeAreaView"],"
|
|
1
|
+
{"version":3,"names":["View","SafeAreaView"],"sourceRoot":"../../src","sources":["SafeAreaView.kepler.tsx"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,cAAc;AAEnC,OAAO,MAAMC,YAAY,GAAGD,IAAI","ignoreList":[]}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import { StyleSheet, View } from 'react-native';
|
|
5
|
+
import { useSafeAreaInsets } from './SafeAreaContext';
|
|
6
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
+
const defaultEdges = {
|
|
8
|
+
top: 'additive',
|
|
9
|
+
left: 'additive',
|
|
10
|
+
bottom: 'additive',
|
|
11
|
+
right: 'additive'
|
|
12
|
+
};
|
|
13
|
+
function getEdgeValue(inset, current, mode) {
|
|
14
|
+
switch (mode) {
|
|
15
|
+
case 'off':
|
|
16
|
+
return current;
|
|
17
|
+
case 'maximum':
|
|
18
|
+
return Math.max(current, inset);
|
|
19
|
+
case 'additive':
|
|
20
|
+
default:
|
|
21
|
+
return current + inset;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
export const SafeAreaView = /*#__PURE__*/React.forwardRef(({
|
|
25
|
+
style = {},
|
|
26
|
+
mode,
|
|
27
|
+
edges,
|
|
28
|
+
...rest
|
|
29
|
+
}, ref) => {
|
|
30
|
+
const insets = useSafeAreaInsets();
|
|
31
|
+
const edgesRecord = React.useMemo(() => {
|
|
32
|
+
if (edges == null) {
|
|
33
|
+
return defaultEdges;
|
|
34
|
+
}
|
|
35
|
+
return Array.isArray(edges) ? edges.reduce((acc, edge) => {
|
|
36
|
+
acc[edge] = 'additive';
|
|
37
|
+
return acc;
|
|
38
|
+
}, {}) :
|
|
39
|
+
// ts has trouble with refining readonly arrays.
|
|
40
|
+
edges;
|
|
41
|
+
}, [edges]);
|
|
42
|
+
const appliedStyle = React.useMemo(() => {
|
|
43
|
+
const flatStyle = StyleSheet.flatten(style);
|
|
44
|
+
if (mode === 'margin') {
|
|
45
|
+
const {
|
|
46
|
+
margin = 0,
|
|
47
|
+
marginVertical = margin,
|
|
48
|
+
marginHorizontal = margin,
|
|
49
|
+
marginTop = marginVertical,
|
|
50
|
+
marginRight = marginHorizontal,
|
|
51
|
+
marginBottom = marginVertical,
|
|
52
|
+
marginLeft = marginHorizontal
|
|
53
|
+
} = flatStyle;
|
|
54
|
+
const marginStyle = {
|
|
55
|
+
marginTop: getEdgeValue(insets.top, marginTop, edgesRecord.top),
|
|
56
|
+
marginRight: getEdgeValue(insets.right, marginRight, edgesRecord.right),
|
|
57
|
+
marginBottom: getEdgeValue(insets.bottom, marginBottom, edgesRecord.bottom),
|
|
58
|
+
marginLeft: getEdgeValue(insets.left, marginLeft, edgesRecord.left)
|
|
59
|
+
};
|
|
60
|
+
return [style, marginStyle];
|
|
61
|
+
} else {
|
|
62
|
+
const {
|
|
63
|
+
padding = 0,
|
|
64
|
+
paddingVertical = padding,
|
|
65
|
+
paddingHorizontal = padding,
|
|
66
|
+
paddingTop = paddingVertical,
|
|
67
|
+
paddingRight = paddingHorizontal,
|
|
68
|
+
paddingBottom = paddingVertical,
|
|
69
|
+
paddingLeft = paddingHorizontal
|
|
70
|
+
} = flatStyle;
|
|
71
|
+
const paddingStyle = {
|
|
72
|
+
paddingTop: getEdgeValue(insets.top, paddingTop, edgesRecord.top),
|
|
73
|
+
paddingRight: getEdgeValue(insets.right, paddingRight, edgesRecord.right),
|
|
74
|
+
paddingBottom: getEdgeValue(insets.bottom, paddingBottom, edgesRecord.bottom),
|
|
75
|
+
paddingLeft: getEdgeValue(insets.left, paddingLeft, edgesRecord.left)
|
|
76
|
+
};
|
|
77
|
+
return [style, paddingStyle];
|
|
78
|
+
}
|
|
79
|
+
}, [edgesRecord.bottom, edgesRecord.left, edgesRecord.right, edgesRecord.top, insets.bottom, insets.left, insets.right, insets.top, mode, style]);
|
|
80
|
+
return /*#__PURE__*/_jsx(View, {
|
|
81
|
+
style: appliedStyle,
|
|
82
|
+
...rest,
|
|
83
|
+
ref: ref
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
//# sourceMappingURL=SafeAreaView.web.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","StyleSheet","View","useSafeAreaInsets","jsx","_jsx","defaultEdges","top","left","bottom","right","getEdgeValue","inset","current","mode","Math","max","SafeAreaView","forwardRef","style","edges","rest","ref","insets","edgesRecord","useMemo","Array","isArray","reduce","acc","edge","appliedStyle","flatStyle","flatten","margin","marginVertical","marginHorizontal","marginTop","marginRight","marginBottom","marginLeft","marginStyle","padding","paddingVertical","paddingHorizontal","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingStyle"],"sourceRoot":"../../src","sources":["SafeAreaView.web.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["View","SafeAreaView"],"
|
|
1
|
+
{"version":3,"names":["View","SafeAreaView"],"sourceRoot":"../../src","sources":["SafeAreaView.windows.tsx"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,cAAc;AAGnC,OAAO,MAAMC,YAAY,GAAGD,IAA6C","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";AAAA,YAAY;;AAEZ,cAAc,mBAAmB;AACjC,cAAc,gBAAgB;AAC9B,cAAc,iBAAiB;AAC/B,cAAc,kBAAkB","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["TurboModuleRegistry","get"],"sourceRoot":"../../../src","sources":["specs/NativeSafeAreaContext.ts"],"mappings":";;AAAA,SAAsBA,mBAAmB,QAAQ,cAAc;AAsB/D,eAAeA,mBAAmB,CAACC,GAAG,CAAO,oBAAoB,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["codegenNativeComponent"],"sourceRoot":"../../../src","sources":["specs/NativeSafeAreaProvider.ts"],"mappings":";;AAIA,OAAOA,sBAAsB,MAAM,yDAAyD;AAsB5F,eAAeA,sBAAsB,CACnC,qBACF,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["codegenNativeComponent","interfaceOnly"],"sourceRoot":"../../../src","sources":["specs/NativeSafeAreaView.ts"],"mappings":";;AAAA,OAAOA,sBAAsB,MAAM,yDAAyD;AAc5F,eAAeA,sBAAsB,CAAc,iBAAiB,EAAE;EACpEC,aAAa,EAAE;AACjB,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import type { NativeSafeAreaProviderProps } from './SafeArea.types';
|
|
3
|
+
export declare function CompatNativeSafeAreaProvider({ children, style, onInsetsChange, }: NativeSafeAreaProviderProps): React.JSX.Element;
|
|
4
|
+
//# sourceMappingURL=CompatNativeSafeAreaProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CompatNativeSafeAreaProvider.d.ts","sourceRoot":"","sources":["../../src/CompatNativeSafeAreaProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAEpE,wBAAgB,4BAA4B,CAAC,EAC3C,QAAQ,EACR,KAAK,EACL,cAAc,GACf,EAAE,2BAA2B,qBAmB7B"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { EdgeInsets, Metrics } from './SafeArea.types';
|
|
1
|
+
import type { EdgeInsets, Metrics } from './SafeArea.types';
|
|
2
2
|
export declare const initialWindowMetrics: Metrics | null;
|
|
3
3
|
/**
|
|
4
4
|
* @deprecated
|
|
5
5
|
*/
|
|
6
6
|
export declare const initialWindowSafeAreaInsets: EdgeInsets | null;
|
|
7
|
+
//# sourceMappingURL=InitialWindow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InitialWindow.d.ts","sourceRoot":"","sources":["../../src/InitialWindow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE5D,eAAO,MAAM,oBAAoB,EAAE,OAAO,GAAG,IAAW,CAAC;AAEzD;;GAEG;AACH,eAAO,MAAM,2BAA2B,EAAE,UAAU,GAAG,IAAW,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InitialWindow.kepler.d.ts","sourceRoot":"","sources":["../../src/InitialWindow.kepler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAK3C,eAAO,MAAM,oBAAoB,EAAW,OAAO,GAAG,IAAI,CAAC;AAC3D;;GAEG;AACH,eAAO,MAAM,2BAA2B,mDAA+B,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { Metrics } from './SafeArea.types';
|
|
1
|
+
import type { Metrics } from './SafeArea.types';
|
|
2
2
|
export declare const initialWindowMetrics: Metrics | null;
|
|
3
3
|
/**
|
|
4
4
|
* @deprecated
|
|
5
5
|
*/
|
|
6
6
|
export declare const initialWindowSafeAreaInsets: import("./SafeArea.types").EdgeInsets | undefined;
|
|
7
|
+
//# sourceMappingURL=InitialWindow.native.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InitialWindow.native.d.ts","sourceRoot":"","sources":["../../src/InitialWindow.native.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAGhD,eAAO,MAAM,oBAAoB,EACI,OAAO,GAAG,IAAI,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,2BAA2B,mDAA+B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NativeSafeAreaProvider.d.ts","sourceRoot":"","sources":["../../src/NativeSafeAreaProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,MAAM,gCAAgC,CAAC;AAEpE,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NativeSafeAreaProvider.kepler.d.ts","sourceRoot":"","sources":["../../src/NativeSafeAreaProvider.kepler.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,IAAI,sBAAsB,EAAE,MAAM,gCAAgC,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import type { NativeSafeAreaProviderProps } from './SafeArea.types';
|
|
3
|
+
export declare function NativeSafeAreaProvider({ children, style, onInsetsChange, }: NativeSafeAreaProviderProps): React.JSX.Element;
|
|
4
|
+
//# sourceMappingURL=NativeSafeAreaProvider.web.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NativeSafeAreaProvider.web.d.ts","sourceRoot":"","sources":["../../src/NativeSafeAreaProvider.web.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAkBpE,wBAAgB,sBAAsB,CAAC,EACrC,QAAQ,EACR,KAAK,EACL,cAAc,GACf,EAAE,2BAA2B,qBAqC7B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NativeSafeAreaProvider.windows.d.ts","sourceRoot":"","sources":["../../src/NativeSafeAreaProvider.windows.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,IAAI,sBAAsB,EAAE,MAAM,gCAAgC,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type * as React from 'react';
|
|
2
|
+
import type { NativeSyntheticEvent, ViewProps } from 'react-native';
|
|
3
|
+
import NativeSafeAreaView from './specs/NativeSafeAreaView';
|
|
4
|
+
export type Edge = 'top' | 'right' | 'bottom' | 'left';
|
|
5
|
+
export type EdgeMode = 'off' | 'additive' | 'maximum';
|
|
6
|
+
export type EdgeRecord = Partial<Record<Edge, EdgeMode>>;
|
|
7
|
+
export type Edges = readonly Edge[] | Readonly<EdgeRecord>;
|
|
8
|
+
export interface EdgeInsets {
|
|
9
|
+
top: number;
|
|
10
|
+
right: number;
|
|
11
|
+
bottom: number;
|
|
12
|
+
left: number;
|
|
13
|
+
}
|
|
14
|
+
export interface Rect {
|
|
15
|
+
x: number;
|
|
16
|
+
y: number;
|
|
17
|
+
width: number;
|
|
18
|
+
height: number;
|
|
19
|
+
}
|
|
20
|
+
export interface Metrics {
|
|
21
|
+
insets: EdgeInsets;
|
|
22
|
+
frame: Rect;
|
|
23
|
+
}
|
|
24
|
+
export type InsetChangedEvent = NativeSyntheticEvent<Metrics>;
|
|
25
|
+
export type InsetChangeNativeCallback = (event: InsetChangedEvent) => void;
|
|
26
|
+
export interface NativeSafeAreaProviderProps extends ViewProps {
|
|
27
|
+
children?: React.ReactNode;
|
|
28
|
+
onInsetsChange: InsetChangeNativeCallback;
|
|
29
|
+
}
|
|
30
|
+
export interface NativeSafeAreaViewProps extends ViewProps {
|
|
31
|
+
children?: React.ReactNode;
|
|
32
|
+
mode?: 'padding' | 'margin';
|
|
33
|
+
edges?: Edges;
|
|
34
|
+
}
|
|
35
|
+
export type NativeSafeAreaViewInstance = InstanceType<typeof NativeSafeAreaView>;
|
|
36
|
+
//# sourceMappingURL=SafeArea.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SafeArea.types.d.ts","sourceRoot":"","sources":["../../src/SafeArea.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,kBAAkB,MAAM,4BAA4B,CAAC;AAE5D,MAAM,MAAM,IAAI,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;AACvD,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,UAAU,GAAG,SAAS,CAAC;AAEtD,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;AACzD,MAAM,MAAM,KAAK,GAAG,SAAS,IAAI,EAAE,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;AAE3D,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,IAAI;IACnB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,EAAE,IAAI,CAAC;CACb;AAED,MAAM,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAE9D,MAAM,MAAM,yBAAyB,GAAG,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;AAE3E,MAAM,WAAW,2BAA4B,SAAQ,SAAS;IAC5D,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,cAAc,EAAE,yBAAyB,CAAC;CAC3C;AAED,MAAM,WAAW,uBAAwB,SAAQ,SAAS;IACxD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,IAAI,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC5B,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED,MAAM,MAAM,0BAA0B,GAAG,YAAY,CACnD,OAAO,kBAAkB,CAC1B,CAAC"}
|