@amazon-devices/react-native-safe-area-context 2.0.1759135970 → 8.0.9000000000-rn-83
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/920f0b3a0c43cc93db1621b4c3a47e06a0d4ed32175c793e9934ad9c764fbc25.bundle +7374 -0
- package/SystemBundles/920f0b3a0c43cc93db1621b4c3a47e06a0d4ed32175c793e9934ad9c764fbc25.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/oss-attribution/attribution.txt +0 -0
- package/oss-attribution/licenseInfos.json +1 -0
- package/package.json +137 -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 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_NativeSafeAreaProvider","_interopRequireDefault","require","e","__esModule","default"],"sourceRoot":"../../src","sources":["NativeSafeAreaProvider.tsx"],"mappings":";;;;;;;;;;;AAAA,IAAAA,uBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAoE,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}
|
|
@@ -3,7 +3,11 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports
|
|
6
|
+
Object.defineProperty(exports, "NativeSafeAreaProvider", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _CompatNativeSafeAreaProvider.CompatNativeSafeAreaProvider;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
7
12
|
var _CompatNativeSafeAreaProvider = require("./CompatNativeSafeAreaProvider");
|
|
8
|
-
var _default = exports.default = _CompatNativeSafeAreaProvider.CompatNativeSafeAreaProvider;
|
|
9
13
|
//# sourceMappingURL=NativeSafeAreaProvider.kepler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_CompatNativeSafeAreaProvider","require","
|
|
1
|
+
{"version":3,"names":["_CompatNativeSafeAreaProvider","require"],"sourceRoot":"../../src","sources":["NativeSafeAreaProvider.kepler.tsx"],"mappings":";;;;;;;;;;;AAAA,IAAAA,6BAAA,GAAAC,OAAA","ignoreList":[]}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.NativeSafeAreaProvider = NativeSafeAreaProvider;
|
|
7
|
+
var React = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
10
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
11
|
+
/* eslint-env browser */
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* TODO:
|
|
15
|
+
* Currently insets and frame are based on the window and are not
|
|
16
|
+
* relative to the provider view. This is inconsistent with iOS and Android.
|
|
17
|
+
* However in most cases if the provider view covers the screen this is not
|
|
18
|
+
* an issue.
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
const CSSTransitions = {
|
|
22
|
+
WebkitTransition: 'webkitTransitionEnd',
|
|
23
|
+
Transition: 'transitionEnd',
|
|
24
|
+
MozTransition: 'transitionend',
|
|
25
|
+
MSTransition: 'msTransitionEnd',
|
|
26
|
+
OTransition: 'oTransitionEnd'
|
|
27
|
+
};
|
|
28
|
+
function NativeSafeAreaProvider({
|
|
29
|
+
children,
|
|
30
|
+
style,
|
|
31
|
+
onInsetsChange
|
|
32
|
+
}) {
|
|
33
|
+
React.useEffect(() => {
|
|
34
|
+
// Skip for SSR.
|
|
35
|
+
if (typeof document === 'undefined') {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
const element = createContextElement();
|
|
39
|
+
document.body.appendChild(element);
|
|
40
|
+
const onEnd = () => {
|
|
41
|
+
const {
|
|
42
|
+
paddingTop,
|
|
43
|
+
paddingBottom,
|
|
44
|
+
paddingLeft,
|
|
45
|
+
paddingRight
|
|
46
|
+
} = window.getComputedStyle(element);
|
|
47
|
+
const insets = {
|
|
48
|
+
top: paddingTop ? parseInt(paddingTop, 10) : 0,
|
|
49
|
+
bottom: paddingBottom ? parseInt(paddingBottom, 10) : 0,
|
|
50
|
+
left: paddingLeft ? parseInt(paddingLeft, 10) : 0,
|
|
51
|
+
right: paddingRight ? parseInt(paddingRight, 10) : 0
|
|
52
|
+
};
|
|
53
|
+
const frame = {
|
|
54
|
+
x: 0,
|
|
55
|
+
y: 0,
|
|
56
|
+
width: document.documentElement.offsetWidth,
|
|
57
|
+
height: document.documentElement.offsetHeight
|
|
58
|
+
};
|
|
59
|
+
// @ts-ignore: missing properties
|
|
60
|
+
onInsetsChange({
|
|
61
|
+
nativeEvent: {
|
|
62
|
+
insets,
|
|
63
|
+
frame
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
};
|
|
67
|
+
element.addEventListener(getSupportedTransitionEvent(), onEnd);
|
|
68
|
+
onEnd();
|
|
69
|
+
return () => {
|
|
70
|
+
document.body.removeChild(element);
|
|
71
|
+
element.removeEventListener(getSupportedTransitionEvent(), onEnd);
|
|
72
|
+
};
|
|
73
|
+
}, [onInsetsChange]);
|
|
74
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
75
|
+
style: style,
|
|
76
|
+
children: children
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
let _supportedTransitionEvent = null;
|
|
80
|
+
function getSupportedTransitionEvent() {
|
|
81
|
+
if (_supportedTransitionEvent != null) {
|
|
82
|
+
return _supportedTransitionEvent;
|
|
83
|
+
}
|
|
84
|
+
const element = document.createElement('invalidtype');
|
|
85
|
+
_supportedTransitionEvent = CSSTransitions.Transition;
|
|
86
|
+
for (const key in CSSTransitions) {
|
|
87
|
+
if (element.style[key] !== undefined) {
|
|
88
|
+
_supportedTransitionEvent = CSSTransitions[key];
|
|
89
|
+
break;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return _supportedTransitionEvent;
|
|
93
|
+
}
|
|
94
|
+
let _supportedEnv = null;
|
|
95
|
+
function getSupportedEnv() {
|
|
96
|
+
if (_supportedEnv !== null) {
|
|
97
|
+
return _supportedEnv;
|
|
98
|
+
}
|
|
99
|
+
const {
|
|
100
|
+
CSS
|
|
101
|
+
} = window;
|
|
102
|
+
if (CSS && CSS.supports && CSS.supports('top: constant(safe-area-inset-top)')) {
|
|
103
|
+
_supportedEnv = 'constant';
|
|
104
|
+
} else {
|
|
105
|
+
_supportedEnv = 'env';
|
|
106
|
+
}
|
|
107
|
+
return _supportedEnv;
|
|
108
|
+
}
|
|
109
|
+
function getInset(side) {
|
|
110
|
+
return `${getSupportedEnv()}(safe-area-inset-${side})`;
|
|
111
|
+
}
|
|
112
|
+
function createContextElement() {
|
|
113
|
+
const element = document.createElement('div');
|
|
114
|
+
const {
|
|
115
|
+
style
|
|
116
|
+
} = element;
|
|
117
|
+
style.position = 'fixed';
|
|
118
|
+
style.left = '0';
|
|
119
|
+
style.top = '0';
|
|
120
|
+
style.width = '0';
|
|
121
|
+
style.height = '0';
|
|
122
|
+
style.zIndex = '-1';
|
|
123
|
+
style.overflow = 'hidden';
|
|
124
|
+
style.visibility = 'hidden';
|
|
125
|
+
// Bacon: Anything faster than this and the callback will be invoked too early with the wrong insets
|
|
126
|
+
style.transitionDuration = '0.05s';
|
|
127
|
+
style.transitionProperty = 'padding';
|
|
128
|
+
style.transitionDelay = '0s';
|
|
129
|
+
style.paddingTop = getInset('top');
|
|
130
|
+
style.paddingBottom = getInset('bottom');
|
|
131
|
+
style.paddingLeft = getInset('left');
|
|
132
|
+
style.paddingRight = getInset('right');
|
|
133
|
+
return element;
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=NativeSafeAreaProvider.web.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","CSSTransitions","WebkitTransition","Transition","MozTransition","MSTransition","OTransition","NativeSafeAreaProvider","children","style","onInsetsChange","useEffect","document","element","createContextElement","body","appendChild","onEnd","paddingTop","paddingBottom","paddingLeft","paddingRight","window","getComputedStyle","insets","top","parseInt","bottom","left","right","frame","x","y","width","documentElement","offsetWidth","height","offsetHeight","nativeEvent","addEventListener","getSupportedTransitionEvent","removeChild","removeEventListener","jsx","View","_supportedTransitionEvent","createElement","key","undefined","_supportedEnv","getSupportedEnv","CSS","supports","getInset","side","position","zIndex","overflow","visibility","transitionDuration","transitionProperty","transitionDelay"],"sourceRoot":"../../src","sources":["NativeSafeAreaProvider.web.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,7 +3,11 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports
|
|
6
|
+
Object.defineProperty(exports, "NativeSafeAreaProvider", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _CompatNativeSafeAreaProvider.CompatNativeSafeAreaProvider;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
7
12
|
var _CompatNativeSafeAreaProvider = require("./CompatNativeSafeAreaProvider");
|
|
8
|
-
var _default = exports.default = _CompatNativeSafeAreaProvider.CompatNativeSafeAreaProvider;
|
|
9
13
|
//# sourceMappingURL=NativeSafeAreaProvider.windows.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_CompatNativeSafeAreaProvider","require","
|
|
1
|
+
{"version":3,"names":["_CompatNativeSafeAreaProvider","require"],"sourceRoot":"../../src","sources":["NativeSafeAreaProvider.windows.tsx"],"mappings":";;;;;;;;;;;AAAA,IAAAA,6BAAA,GAAAC,OAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../src","sources":["SafeArea.types.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -11,26 +11,29 @@ exports.useSafeAreaInsets = useSafeAreaInsets;
|
|
|
11
11
|
exports.withSafeAreaInsets = withSafeAreaInsets;
|
|
12
12
|
var React = _interopRequireWildcard(require("react"));
|
|
13
13
|
var _reactNative = require("react-native");
|
|
14
|
-
var _NativeSafeAreaProvider =
|
|
15
|
-
|
|
16
|
-
function
|
|
17
|
-
|
|
18
|
-
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
14
|
+
var _NativeSafeAreaProvider = require("./NativeSafeAreaProvider");
|
|
15
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
17
|
+
const isDev = process.env.NODE_ENV !== 'production';
|
|
19
18
|
const SafeAreaInsetsContext = exports.SafeAreaInsetsContext = /*#__PURE__*/React.createContext(null);
|
|
20
|
-
|
|
19
|
+
if (isDev) {
|
|
20
|
+
SafeAreaInsetsContext.displayName = 'SafeAreaInsetsContext';
|
|
21
|
+
}
|
|
21
22
|
const SafeAreaFrameContext = exports.SafeAreaFrameContext = /*#__PURE__*/React.createContext(null);
|
|
22
|
-
|
|
23
|
+
if (isDev) {
|
|
24
|
+
SafeAreaFrameContext.displayName = 'SafeAreaFrameContext';
|
|
25
|
+
}
|
|
23
26
|
function SafeAreaProvider({
|
|
24
27
|
children,
|
|
25
28
|
initialMetrics,
|
|
26
29
|
initialSafeAreaInsets,
|
|
27
|
-
style
|
|
30
|
+
style,
|
|
31
|
+
...others
|
|
28
32
|
}) {
|
|
29
|
-
var _ref, _ref2, _initialMetrics$inset, _ref3, _initialMetrics$frame;
|
|
30
33
|
const parentInsets = useParentSafeAreaInsets();
|
|
31
34
|
const parentFrame = useParentSafeAreaFrame();
|
|
32
|
-
const [insets, setInsets] = React.useState(
|
|
33
|
-
const [frame, setFrame] = React.useState(
|
|
35
|
+
const [insets, setInsets] = React.useState(initialMetrics?.insets ?? initialSafeAreaInsets ?? parentInsets ?? null);
|
|
36
|
+
const [frame, setFrame] = React.useState(initialMetrics?.frame ?? parentFrame ?? {
|
|
34
37
|
// Backwards compat so we render anyway if we don't have frame.
|
|
35
38
|
x: 0,
|
|
36
39
|
y: 0,
|
|
@@ -44,23 +47,35 @@ function SafeAreaProvider({
|
|
|
44
47
|
insets: nextInsets
|
|
45
48
|
}
|
|
46
49
|
} = event;
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
50
|
+
setFrame(curFrame => {
|
|
51
|
+
if (
|
|
52
|
+
// Backwards compat with old native code that won't send frame.
|
|
53
|
+
nextFrame && (nextFrame.height !== curFrame.height || nextFrame.width !== curFrame.width || nextFrame.x !== curFrame.x || nextFrame.y !== curFrame.y)) {
|
|
54
|
+
return nextFrame;
|
|
55
|
+
} else {
|
|
56
|
+
return curFrame;
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
setInsets(curInsets => {
|
|
60
|
+
if (!curInsets || nextInsets.bottom !== curInsets.bottom || nextInsets.left !== curInsets.left || nextInsets.right !== curInsets.right || nextInsets.top !== curInsets.top) {
|
|
61
|
+
return nextInsets;
|
|
62
|
+
} else {
|
|
63
|
+
return curInsets;
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
}, []);
|
|
67
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_NativeSafeAreaProvider.NativeSafeAreaProvider, {
|
|
57
68
|
style: [styles.fill, style],
|
|
58
|
-
onInsetsChange: onInsetsChange
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
69
|
+
onInsetsChange: onInsetsChange,
|
|
70
|
+
...others,
|
|
71
|
+
children: insets != null ? /*#__PURE__*/(0, _jsxRuntime.jsx)(SafeAreaFrameContext.Provider, {
|
|
72
|
+
value: frame,
|
|
73
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(SafeAreaInsetsContext.Provider, {
|
|
74
|
+
value: insets,
|
|
75
|
+
children: children
|
|
76
|
+
})
|
|
77
|
+
}) : null
|
|
78
|
+
});
|
|
64
79
|
}
|
|
65
80
|
const styles = _reactNative.StyleSheet.create({
|
|
66
81
|
fill: {
|
|
@@ -73,25 +88,30 @@ function useParentSafeAreaInsets() {
|
|
|
73
88
|
function useParentSafeAreaFrame() {
|
|
74
89
|
return React.useContext(SafeAreaFrameContext);
|
|
75
90
|
}
|
|
91
|
+
const NO_INSETS_ERROR = 'No safe area value available. Make sure you are rendering `<SafeAreaProvider>` at the top of your app.';
|
|
76
92
|
function useSafeAreaInsets() {
|
|
77
|
-
const
|
|
78
|
-
if (
|
|
79
|
-
throw new Error(
|
|
93
|
+
const insets = React.useContext(SafeAreaInsetsContext);
|
|
94
|
+
if (insets == null) {
|
|
95
|
+
throw new Error(NO_INSETS_ERROR);
|
|
80
96
|
}
|
|
81
|
-
return
|
|
97
|
+
return insets;
|
|
82
98
|
}
|
|
83
99
|
function useSafeAreaFrame() {
|
|
84
100
|
const frame = React.useContext(SafeAreaFrameContext);
|
|
85
101
|
if (frame == null) {
|
|
86
|
-
throw new Error(
|
|
102
|
+
throw new Error(NO_INSETS_ERROR);
|
|
87
103
|
}
|
|
88
104
|
return frame;
|
|
89
105
|
}
|
|
90
106
|
function withSafeAreaInsets(WrappedComponent) {
|
|
91
|
-
return /*#__PURE__*/React.forwardRef((props, ref) =>
|
|
92
|
-
insets
|
|
93
|
-
|
|
94
|
-
|
|
107
|
+
return /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
108
|
+
const insets = useSafeAreaInsets();
|
|
109
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(WrappedComponent, {
|
|
110
|
+
...props,
|
|
111
|
+
insets: insets,
|
|
112
|
+
ref: ref
|
|
113
|
+
});
|
|
114
|
+
});
|
|
95
115
|
}
|
|
96
116
|
|
|
97
117
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_NativeSafeAreaProvider","_interopRequireDefault","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","SafeAreaInsetsContext","exports","createContext","displayName","SafeAreaFrameContext","SafeAreaProvider","children","initialMetrics","initialSafeAreaInsets","style","_ref","_ref2","_initialMetrics$inset","_ref3","_initialMetrics$frame","parentInsets","useParentSafeAreaInsets","parentFrame","useParentSafeAreaFrame","insets","setInsets","useState","frame","setFrame","x","y","width","Dimensions","height","onInsetsChange","useCallback","event","nativeEvent","nextFrame","nextInsets","bottom","left","right","top","createElement","styles","fill","Provider","value","StyleSheet","create","flex","useContext","useSafeAreaInsets","safeArea","Error","useSafeAreaFrame","withSafeAreaInsets","WrappedComponent","forwardRef","props","ref","SafeAreaConsumer","useSafeArea","Consumer","SafeAreaContext"],"sources":["SafeAreaContext.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Dimensions, StyleProp, StyleSheet, ViewStyle } from 'react-native';\nimport NativeSafeAreaProvider from './NativeSafeAreaProvider';\nimport { EdgeInsets, InsetChangedEvent, Metrics, Rect } from './SafeArea.types';\n\nexport const SafeAreaInsetsContext = React.createContext<EdgeInsets | null>(\n null,\n);\nSafeAreaInsetsContext.displayName = 'SafeAreaInsetsContext';\n\nexport const SafeAreaFrameContext = React.createContext<Rect | null>(null);\nSafeAreaFrameContext.displayName = 'SafeAreaFrameContext';\n\nexport interface SafeAreaViewProps {\n children?: React.ReactNode;\n initialMetrics?: Metrics | null;\n /**\n * @deprecated\n */\n initialSafeAreaInsets?: EdgeInsets | null;\n style?: StyleProp<ViewStyle>;\n}\n\nexport function SafeAreaProvider({\n children,\n initialMetrics,\n initialSafeAreaInsets,\n style,\n}: SafeAreaViewProps) {\n const parentInsets = useParentSafeAreaInsets();\n const parentFrame = useParentSafeAreaFrame();\n const [insets, setInsets] = React.useState<EdgeInsets | null>(\n initialMetrics?.insets ?? initialSafeAreaInsets ?? parentInsets ?? null,\n );\n const [frame, setFrame] = React.useState<Rect>(\n initialMetrics?.frame ??\n parentFrame ?? {\n // Backwards compat so we render anyway if we don't have frame.\n x: 0,\n y: 0,\n width: Dimensions.get('window').width,\n height: Dimensions.get('window').height,\n },\n );\n const onInsetsChange = React.useCallback(\n (event: InsetChangedEvent) => {\n const {\n nativeEvent: { frame: nextFrame, insets: nextInsets },\n } = event;\n\n if (\n // Backwards compat with old native code that won't send frame.\n nextFrame &&\n (nextFrame.height !== frame.height ||\n nextFrame.width !== frame.width ||\n nextFrame.x !== frame.x ||\n nextFrame.y !== frame.y)\n ) {\n setFrame(nextFrame);\n }\n\n if (\n !insets ||\n nextInsets.bottom !== insets.bottom ||\n nextInsets.left !== insets.left ||\n nextInsets.right !== insets.right ||\n nextInsets.top !== insets.top\n ) {\n setInsets(nextInsets);\n }\n },\n [frame, insets],\n );\n\n return (\n <NativeSafeAreaProvider\n style={[styles.fill, style]}\n onInsetsChange={onInsetsChange}\n >\n {insets != null ? (\n <SafeAreaFrameContext.Provider value={frame}>\n <SafeAreaInsetsContext.Provider value={insets}>\n {children}\n </SafeAreaInsetsContext.Provider>\n </SafeAreaFrameContext.Provider>\n ) : null}\n </NativeSafeAreaProvider>\n );\n}\n\nconst styles = StyleSheet.create({\n fill: { flex: 1 },\n});\n\nfunction useParentSafeAreaInsets(): EdgeInsets | null {\n return React.useContext(SafeAreaInsetsContext);\n}\n\nfunction useParentSafeAreaFrame(): Rect | null {\n return React.useContext(SafeAreaFrameContext);\n}\n\nexport function useSafeAreaInsets(): EdgeInsets {\n const safeArea = React.useContext(SafeAreaInsetsContext);\n if (safeArea == null) {\n throw new Error(\n 'No safe area insets value available. Make sure you are rendering `<SafeAreaProvider>` at the top of your app.',\n );\n }\n return safeArea;\n}\n\nexport function useSafeAreaFrame(): Rect {\n const frame = React.useContext(SafeAreaFrameContext);\n if (frame == null) {\n throw new Error(\n 'No safe area frame value available. Make sure you are rendering `<SafeAreaProvider>` at the top of your app.',\n );\n }\n return frame;\n}\n\nexport function withSafeAreaInsets<T>(\n WrappedComponent: React.ComponentType<T>,\n) {\n return React.forwardRef((props: T, ref: React.Ref<T>) => (\n <SafeAreaConsumer>\n {(insets) => <WrappedComponent {...props} insets={insets} ref={ref} />}\n </SafeAreaConsumer>\n ));\n}\n\n/**\n * @deprecated\n */\nexport function useSafeArea(): EdgeInsets {\n return useSafeAreaInsets();\n}\n\n/**\n * @deprecated\n */\nexport const SafeAreaConsumer = SafeAreaInsetsContext.Consumer;\n\n/**\n * @deprecated\n */\nexport const SafeAreaContext = SafeAreaInsetsContext;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_NativeSafeAreaProvider","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","isDev","process","env","NODE_ENV","SafeAreaInsetsContext","exports","createContext","displayName","SafeAreaFrameContext","SafeAreaProvider","children","initialMetrics","initialSafeAreaInsets","style","others","parentInsets","useParentSafeAreaInsets","parentFrame","useParentSafeAreaFrame","insets","setInsets","useState","frame","setFrame","x","y","width","Dimensions","height","onInsetsChange","useCallback","event","nativeEvent","nextFrame","nextInsets","curFrame","curInsets","bottom","left","right","top","jsx","NativeSafeAreaProvider","styles","fill","Provider","value","StyleSheet","create","flex","useContext","NO_INSETS_ERROR","useSafeAreaInsets","Error","useSafeAreaFrame","withSafeAreaInsets","WrappedComponent","forwardRef","props","ref","useSafeArea","SafeAreaConsumer","Consumer","SafeAreaContext"],"sourceRoot":"../../src","sources":["SafeAreaContext.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,80 +3,47 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.SafeAreaView =
|
|
7
|
-
var
|
|
8
|
-
var
|
|
9
|
-
var
|
|
10
|
-
|
|
11
|
-
function
|
|
12
|
-
function
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
ALL = 0b1111;
|
|
19
|
-
|
|
20
|
-
/* eslint-disable no-bitwise */
|
|
21
|
-
|
|
22
|
-
const edgeBitmaskMap = {
|
|
23
|
-
top: TOP,
|
|
24
|
-
right: RIGHT,
|
|
25
|
-
bottom: BOTTOM,
|
|
26
|
-
left: LEFT
|
|
6
|
+
exports.SafeAreaView = void 0;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var React = _react;
|
|
9
|
+
var _NativeSafeAreaView = _interopRequireDefault(require("./specs/NativeSafeAreaView"));
|
|
10
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
13
|
+
const defaultEdges = {
|
|
14
|
+
top: 'additive',
|
|
15
|
+
left: 'additive',
|
|
16
|
+
bottom: 'additive',
|
|
17
|
+
right: 'additive'
|
|
27
18
|
};
|
|
28
|
-
|
|
29
|
-
style = {},
|
|
30
|
-
mode,
|
|
19
|
+
const SafeAreaView = exports.SafeAreaView = /*#__PURE__*/React.forwardRef(({
|
|
31
20
|
edges,
|
|
32
|
-
...
|
|
33
|
-
}) {
|
|
34
|
-
const
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
const insetTop = edgeBitmask & TOP ? insets.top : 0;
|
|
38
|
-
const insetRight = edgeBitmask & RIGHT ? insets.right : 0;
|
|
39
|
-
const insetBottom = edgeBitmask & BOTTOM ? insets.bottom : 0;
|
|
40
|
-
const insetLeft = edgeBitmask & LEFT ? insets.left : 0;
|
|
41
|
-
const flatStyle = _reactNative.StyleSheet.flatten(style);
|
|
42
|
-
if (mode === 'margin') {
|
|
43
|
-
const {
|
|
44
|
-
margin = 0,
|
|
45
|
-
marginVertical = margin,
|
|
46
|
-
marginHorizontal = margin,
|
|
47
|
-
marginTop = marginVertical,
|
|
48
|
-
marginRight = marginHorizontal,
|
|
49
|
-
marginBottom = marginVertical,
|
|
50
|
-
marginLeft = marginHorizontal
|
|
51
|
-
} = flatStyle;
|
|
52
|
-
const marginStyle = {
|
|
53
|
-
marginTop: marginTop + insetTop,
|
|
54
|
-
marginRight: marginRight + insetRight,
|
|
55
|
-
marginBottom: marginBottom + insetBottom,
|
|
56
|
-
marginLeft: marginLeft + insetLeft
|
|
57
|
-
};
|
|
58
|
-
return [style, marginStyle];
|
|
59
|
-
} else {
|
|
60
|
-
const {
|
|
61
|
-
padding = 0,
|
|
62
|
-
paddingVertical = padding,
|
|
63
|
-
paddingHorizontal = padding,
|
|
64
|
-
paddingTop = paddingVertical,
|
|
65
|
-
paddingRight = paddingHorizontal,
|
|
66
|
-
paddingBottom = paddingVertical,
|
|
67
|
-
paddingLeft = paddingHorizontal
|
|
68
|
-
} = flatStyle;
|
|
69
|
-
const paddingStyle = {
|
|
70
|
-
paddingTop: paddingTop + insetTop,
|
|
71
|
-
paddingRight: paddingRight + insetRight,
|
|
72
|
-
paddingBottom: paddingBottom + insetBottom,
|
|
73
|
-
paddingLeft: paddingLeft + insetLeft
|
|
74
|
-
};
|
|
75
|
-
return [style, paddingStyle];
|
|
21
|
+
...props
|
|
22
|
+
}, ref) => {
|
|
23
|
+
const nativeEdges = (0, _react.useMemo)(() => {
|
|
24
|
+
if (edges == null) {
|
|
25
|
+
return defaultEdges;
|
|
76
26
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
27
|
+
const edgesObj = Array.isArray(edges) ? edges.reduce((acc, edge) => {
|
|
28
|
+
acc[edge] = 'additive';
|
|
29
|
+
return acc;
|
|
30
|
+
}, {}) :
|
|
31
|
+
// ts has trouble with refining readonly arrays.
|
|
32
|
+
edges;
|
|
33
|
+
|
|
34
|
+
// make sure that we always pass all edges, required for fabric
|
|
35
|
+
const requiredEdges = {
|
|
36
|
+
top: edgesObj.top ?? 'off',
|
|
37
|
+
right: edgesObj.right ?? 'off',
|
|
38
|
+
bottom: edgesObj.bottom ?? 'off',
|
|
39
|
+
left: edgesObj.left ?? 'off'
|
|
40
|
+
};
|
|
41
|
+
return requiredEdges;
|
|
42
|
+
}, [edges]);
|
|
43
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_NativeSafeAreaView.default, {
|
|
44
|
+
...props,
|
|
45
|
+
edges: nativeEdges,
|
|
46
|
+
ref: ref
|
|
47
|
+
});
|
|
48
|
+
});
|
|
82
49
|
//# sourceMappingURL=SafeAreaView.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","React","_NativeSafeAreaView","_interopRequireDefault","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","defaultEdges","top","left","bottom","right","SafeAreaView","exports","forwardRef","edges","props","ref","nativeEdges","useMemo","edgesObj","Array","isArray","reduce","acc","edge","requiredEdges","jsx"],"sourceRoot":"../../src","sources":["SafeAreaView.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAA+B,IAAAC,KAAA,GAAAH,MAAA;AAQ/B,IAAAI,mBAAA,GAAAC,sBAAA,CAAAH,OAAA;AAA4D,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAG,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAN,wBAAAM,CAAA,EAAAG,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAV,uBAAA,YAAAA,CAAAM,CAAA,EAAAG,CAAA,SAAAA,CAAA,IAAAH,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,MAAAO,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAR,OAAA,EAAAF,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAS,CAAA,MAAAF,CAAA,GAAAJ,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAE,CAAA,CAAAI,GAAA,CAAAX,CAAA,UAAAO,CAAA,CAAAK,GAAA,CAAAZ,CAAA,GAAAO,CAAA,CAAAM,GAAA,CAAAb,CAAA,EAAAS,CAAA,gBAAAN,CAAA,IAAAH,CAAA,gBAAAG,CAAA,OAAAW,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAG,CAAA,OAAAK,CAAA,IAAAD,CAAA,GAAAS,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAG,CAAA,OAAAK,CAAA,CAAAI,GAAA,IAAAJ,CAAA,CAAAK,GAAA,IAAAN,CAAA,CAAAE,CAAA,EAAAN,CAAA,EAAAK,CAAA,IAAAC,CAAA,CAAAN,CAAA,IAAAH,CAAA,CAAAG,CAAA,WAAAM,CAAA,KAAAT,CAAA,EAAAG,CAAA;AAG5D,MAAMgB,YAAoC,GAAG;EAC3CC,GAAG,EAAE,UAAU;EACfC,IAAI,EAAE,UAAU;EAChBC,MAAM,EAAE,UAAU;EAClBC,KAAK,EAAE;AACT,CAAC;AAIM,MAAMC,YAAY,GAAAC,OAAA,CAAAD,YAAA,gBAAG5B,KAAK,CAAC8B,UAAU,CAG1C,CAAC;EAAEC,KAAK;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,KAAK;EAC9B,MAAMC,WAAW,GAAG,IAAAC,cAAO,EAAC,MAAM;IAChC,IAAIJ,KAAK,IAAI,IAAI,EAAE;MACjB,OAAOR,YAAY;IACrB;IAEA,MAAMa,QAAQ,GAAGC,KAAK,CAACC,OAAO,CAACP,KAAK,CAAC,GACjCA,KAAK,CAACQ,MAAM,CAAa,CAACC,GAAG,EAAEC,IAAU,KAAK;MAC5CD,GAAG,CAACC,IAAI,CAAC,GAAG,UAAU;MACtB,OAAOD,GAAG;IACZ,CAAC,EAAE,CAAC,CAAC,CAAC;IACN;IACCT,KAAoB;;IAEzB;IACA,MAAMW,aAAqC,GAAG;MAC5ClB,GAAG,EAAEY,QAAQ,CAACZ,GAAG,IAAI,KAAK;MAC1BG,KAAK,EAAES,QAAQ,CAACT,KAAK,IAAI,KAAK;MAC9BD,MAAM,EAAEU,QAAQ,CAACV,MAAM,IAAI,KAAK;MAChCD,IAAI,EAAEW,QAAQ,CAACX,IAAI,IAAI;IACzB,CAAC;IAED,OAAOiB,aAAa;EACtB,CAAC,EAAE,CAACX,KAAK,CAAC,CAAC;EAEX,oBAAO,IAAA5B,WAAA,CAAAwC,GAAA,EAAC1C,mBAAA,CAAAK,OAAkB;IAAA,GAAK0B,KAAK;IAAED,KAAK,EAAEG,WAAY;IAACD,GAAG,EAAEA;EAAI,CAAE,CAAC;AACxE,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","SafeAreaView","exports","View"],"
|
|
1
|
+
{"version":3,"names":["_reactNative","require","SafeAreaView","exports","View"],"sourceRoot":"../../src","sources":["SafeAreaView.kepler.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEO,MAAMC,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAGE,iBAAI","ignoreList":[]}
|