@amazon-devices/react-native-safe-area-context 2.0.1758683737
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/LICENSE +7 -0
- package/README.md +315 -0
- package/SystemBundles/e3c0cdeab56b8b622d4f0fd5a80812eafe199fa2287d0e3a09c5e573a1035350.bundle +11031 -0
- package/SystemBundles/e3c0cdeab56b8b622d4f0fd5a80812eafe199fa2287d0e3a09c5e573a1035350.map +1 -0
- package/SystemModules/amzn__react-native-safe-area-context-2.modules.txt +55 -0
- package/SystemModules/amzn__react-native-safe-area-context-2.private.modules.txt +91 -0
- package/SystemModules/keplerscript-system-bundle-config.json +7 -0
- package/THIRD_PARTY_NOTICES.txt +24 -0
- package/android/build.gradle +46 -0
- package/android/src/main/AndroidManifest.xml +6 -0
- package/android/src/main/java/com/th3rdwave/safeareacontext/EdgeInsets.java +22 -0
- package/android/src/main/java/com/th3rdwave/safeareacontext/InsetsChangeEvent.java +33 -0
- package/android/src/main/java/com/th3rdwave/safeareacontext/Rect.java +22 -0
- package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaContextPackage.java +31 -0
- package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaProvider.java +66 -0
- package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaProviderManager.java +94 -0
- package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaUtils.java +82 -0
- package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaView.java +159 -0
- package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaViewEdges.java +8 -0
- package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaViewLocalData.java +27 -0
- package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaViewManager.java +72 -0
- package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaViewMode.java +6 -0
- package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaViewShadowNode.java +201 -0
- package/android/src/main/java/com/th3rdwave/safeareacontext/SerializationUtils.java +52 -0
- package/ios/SafeAreaView/RCTView+SafeAreaCompat.h +16 -0
- package/ios/SafeAreaView/RCTView+SafeAreaCompat.m +57 -0
- package/ios/SafeAreaView/RNCSafeAreaProvider.h +13 -0
- package/ios/SafeAreaView/RNCSafeAreaProvider.m +65 -0
- package/ios/SafeAreaView/RNCSafeAreaProviderManager.h +9 -0
- package/ios/SafeAreaView/RNCSafeAreaProviderManager.m +61 -0
- package/ios/SafeAreaView/RNCSafeAreaShadowView.h +9 -0
- package/ios/SafeAreaView/RNCSafeAreaShadowView.m +180 -0
- package/ios/SafeAreaView/RNCSafeAreaView.h +21 -0
- package/ios/SafeAreaView/RNCSafeAreaView.m +118 -0
- package/ios/SafeAreaView/RNCSafeAreaViewEdges.h +9 -0
- package/ios/SafeAreaView/RNCSafeAreaViewEdges.m +13 -0
- package/ios/SafeAreaView/RNCSafeAreaViewLocalData.h +18 -0
- package/ios/SafeAreaView/RNCSafeAreaViewLocalData.m +16 -0
- package/ios/SafeAreaView/RNCSafeAreaViewManager.h +9 -0
- package/ios/SafeAreaView/RNCSafeAreaViewManager.m +25 -0
- package/ios/SafeAreaView/RNCSafeAreaViewMode.h +7 -0
- package/ios/SafeAreaView/RNCSafeAreaViewMode.m +11 -0
- package/ios/SafeAreaView.xcodeproj/project.pbxproj +338 -0
- package/kepler-compatibility.json +8 -0
- package/kepler-transformed-package-info.json +3 -0
- package/lib/commonjs/CompatNativeSafeAreaProvider.js +44 -0
- package/lib/commonjs/CompatNativeSafeAreaProvider.js.map +1 -0
- package/lib/commonjs/InitialWindow.js +13 -0
- package/lib/commonjs/InitialWindow.js.map +1 -0
- package/lib/commonjs/InitialWindow.kepler.js +15 -0
- package/lib/commonjs/InitialWindow.kepler.js.map +1 -0
- package/lib/commonjs/InitialWindow.native.js +15 -0
- package/lib/commonjs/InitialWindow.native.js.map +1 -0
- package/lib/commonjs/NativeSafeAreaProvider.js +132 -0
- package/lib/commonjs/NativeSafeAreaProvider.js.map +1 -0
- package/lib/commonjs/NativeSafeAreaProvider.kepler.js +9 -0
- package/lib/commonjs/NativeSafeAreaProvider.kepler.js.map +1 -0
- package/lib/commonjs/NativeSafeAreaProvider.macos.js +9 -0
- package/lib/commonjs/NativeSafeAreaProvider.macos.js.map +1 -0
- package/lib/commonjs/NativeSafeAreaProvider.native.js +9 -0
- package/lib/commonjs/NativeSafeAreaProvider.native.js.map +1 -0
- package/lib/commonjs/NativeSafeAreaProvider.windows.js +9 -0
- package/lib/commonjs/NativeSafeAreaProvider.windows.js.map +1 -0
- package/lib/commonjs/SafeArea.types.js +6 -0
- package/lib/commonjs/SafeArea.types.js.map +1 -0
- package/lib/commonjs/SafeAreaContext.js +113 -0
- package/lib/commonjs/SafeAreaContext.js.map +1 -0
- package/lib/commonjs/SafeAreaView.js +82 -0
- package/lib/commonjs/SafeAreaView.js.map +1 -0
- package/lib/commonjs/SafeAreaView.kepler.js +9 -0
- package/lib/commonjs/SafeAreaView.kepler.js.map +1 -0
- package/lib/commonjs/SafeAreaView.macos.js +9 -0
- package/lib/commonjs/SafeAreaView.macos.js.map +1 -0
- package/lib/commonjs/SafeAreaView.native.js +9 -0
- package/lib/commonjs/SafeAreaView.native.js.map +1 -0
- package/lib/commonjs/SafeAreaView.windows.js +9 -0
- package/lib/commonjs/SafeAreaView.windows.js.map +1 -0
- package/lib/commonjs/index.js +50 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/useWindowDimensions.js +32 -0
- package/lib/commonjs/useWindowDimensions.js.map +1 -0
- package/lib/module/CompatNativeSafeAreaProvider.js +35 -0
- package/lib/module/CompatNativeSafeAreaProvider.js.map +1 -0
- package/lib/module/InitialWindow.js +7 -0
- package/lib/module/InitialWindow.js.map +1 -0
- package/lib/module/InitialWindow.kepler.js +9 -0
- package/lib/module/InitialWindow.kepler.js.map +1 -0
- package/lib/module/InitialWindow.native.js +9 -0
- package/lib/module/InitialWindow.native.js.map +1 -0
- package/lib/module/NativeSafeAreaProvider.js +124 -0
- package/lib/module/NativeSafeAreaProvider.js.map +1 -0
- package/lib/module/NativeSafeAreaProvider.kepler.js +3 -0
- package/lib/module/NativeSafeAreaProvider.kepler.js.map +1 -0
- package/lib/module/NativeSafeAreaProvider.macos.js +3 -0
- package/lib/module/NativeSafeAreaProvider.macos.js.map +1 -0
- package/lib/module/NativeSafeAreaProvider.native.js +3 -0
- package/lib/module/NativeSafeAreaProvider.native.js.map +1 -0
- package/lib/module/NativeSafeAreaProvider.windows.js +3 -0
- package/lib/module/NativeSafeAreaProvider.windows.js.map +1 -0
- package/lib/module/SafeArea.types.js +2 -0
- package/lib/module/SafeArea.types.js.map +1 -0
- package/lib/module/SafeAreaContext.js +99 -0
- package/lib/module/SafeAreaContext.js.map +1 -0
- package/lib/module/SafeAreaView.js +74 -0
- package/lib/module/SafeAreaView.js.map +1 -0
- package/lib/module/SafeAreaView.kepler.js +3 -0
- package/lib/module/SafeAreaView.kepler.js.map +1 -0
- package/lib/module/SafeAreaView.macos.js +3 -0
- package/lib/module/SafeAreaView.macos.js.map +1 -0
- package/lib/module/SafeAreaView.native.js +3 -0
- package/lib/module/SafeAreaView.native.js.map +1 -0
- package/lib/module/SafeAreaView.windows.js +3 -0
- package/lib/module/SafeAreaView.windows.js.map +1 -0
- package/lib/module/index.js +5 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/useWindowDimensions.js +26 -0
- package/lib/module/useWindowDimensions.js.map +1 -0
- package/lib/typescript/src/CompatNativeSafeAreaProvider.d.ts +2 -0
- package/lib/typescript/src/InitialWindow.d.ts +6 -0
- package/lib/typescript/src/InitialWindow.kepler.d.ts +6 -0
- package/lib/typescript/src/InitialWindow.native.d.ts +6 -0
- package/lib/typescript/src/NativeSafeAreaProvider.d.ts +2 -0
- package/lib/typescript/src/NativeSafeAreaProvider.kepler.d.ts +2 -0
- package/lib/typescript/src/NativeSafeAreaProvider.macos.d.ts +2 -0
- package/lib/typescript/src/NativeSafeAreaProvider.native.d.ts +3 -0
- package/lib/typescript/src/NativeSafeAreaProvider.windows.d.ts +2 -0
- package/lib/typescript/src/SafeArea.types.d.ts +31 -0
- package/lib/typescript/src/SafeAreaContext.d.ts +30 -0
- package/lib/typescript/src/SafeAreaView.d.ts +2 -0
- package/lib/typescript/src/SafeAreaView.kepler.d.ts +2 -0
- package/lib/typescript/src/SafeAreaView.macos.d.ts +2 -0
- package/lib/typescript/src/SafeAreaView.native.d.ts +2 -0
- package/lib/typescript/src/SafeAreaView.windows.d.ts +2 -0
- package/lib/typescript/src/index.d.ts +4 -0
- package/lib/typescript/src/useWindowDimensions.d.ts +8 -0
- package/package.json +1 -0
- package/react-native-safe-area-context.podspec +19 -0
- package/react-native.config.js +8 -0
- package/src/CompatNativeSafeAreaProvider.tsx +29 -0
- package/src/InitialWindow.kepler.ts +10 -0
- package/src/InitialWindow.native.ts +16 -0
- package/src/InitialWindow.ts +8 -0
- package/src/NativeSafeAreaProvider.kepler.tsx +3 -0
- package/src/NativeSafeAreaProvider.macos.tsx +3 -0
- package/src/NativeSafeAreaProvider.native.tsx +6 -0
- package/src/NativeSafeAreaProvider.tsx +129 -0
- package/src/NativeSafeAreaProvider.windows.tsx +3 -0
- package/src/SafeArea.types.ts +43 -0
- package/src/SafeAreaContext.tsx +148 -0
- package/src/SafeAreaView.kepler.tsx +3 -0
- package/src/SafeAreaView.macos.tsx +3 -0
- package/src/SafeAreaView.native.tsx +6 -0
- package/src/SafeAreaView.tsx +85 -0
- package/src/SafeAreaView.windows.tsx +3 -0
- package/src/index.tsx +4 -0
- package/src/useWindowDimensions.tsx +35 -0
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _reactNative = require("react-native");
|
|
8
|
+
var _default = exports.default = (0, _reactNative.requireNativeComponent)('RNCSafeAreaProvider');
|
|
9
|
+
//# sourceMappingURL=NativeSafeAreaProvider.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_default","exports","default","requireNativeComponent"],"sources":["NativeSafeAreaProvider.native.tsx"],"sourcesContent":["import { requireNativeComponent } from 'react-native';\nimport { NativeSafeAreaProviderProps } from './SafeArea.types';\n\nexport default requireNativeComponent<NativeSafeAreaProviderProps>(\n 'RNCSafeAreaProvider',\n);"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAAsD,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAGvC,IAAAC,mCAAsB,EACjC,qBACJ,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _CompatNativeSafeAreaProvider = require("./CompatNativeSafeAreaProvider");
|
|
8
|
+
var _default = exports.default = _CompatNativeSafeAreaProvider.CompatNativeSafeAreaProvider;
|
|
9
|
+
//# sourceMappingURL=NativeSafeAreaProvider.windows.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_CompatNativeSafeAreaProvider","require","_default","exports","default","CompatNativeSafeAreaProvider"],"sources":["NativeSafeAreaProvider.windows.tsx"],"sourcesContent":["import { CompatNativeSafeAreaProvider } from './CompatNativeSafeAreaProvider';\n\nexport default CompatNativeSafeAreaProvider;\n"],"mappings":";;;;;;AAAA,IAAAA,6BAAA,GAAAC,OAAA;AAA8E,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAE/DC,0DAA4B","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["SafeArea.types.ts"],"sourcesContent":["import {\n NativeSyntheticEvent,\n StyleProp,\n ViewProps,\n ViewStyle,\n} from 'react-native';\n\nexport type Edge = 'top' | 'right' | 'bottom' | 'left';\n\nexport interface EdgeInsets {\n top: number;\n right: number;\n bottom: number;\n left: number;\n}\n\nexport interface Rect {\n x: number;\n y: number;\n width: number;\n height: number;\n}\n\nexport interface Metrics {\n insets: EdgeInsets;\n frame: Rect;\n}\n\nexport type InsetChangedEvent = NativeSyntheticEvent<Metrics>;\n\nexport type InsetChangeNativeCallback = (event: InsetChangedEvent) => void;\n\nexport interface NativeSafeAreaProviderProps {\n children?: React.ReactNode;\n style?: StyleProp<ViewStyle>;\n onInsetsChange: InsetChangeNativeCallback;\n}\n\nexport type NativeSafeAreaViewProps = ViewProps & {\n children?: React.ReactNode;\n mode?: 'padding' | 'margin';\n edges?: ReadonlyArray<Edge>;\n};\n"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.SafeAreaInsetsContext = exports.SafeAreaFrameContext = exports.SafeAreaContext = exports.SafeAreaConsumer = void 0;
|
|
7
|
+
exports.SafeAreaProvider = SafeAreaProvider;
|
|
8
|
+
exports.useSafeArea = useSafeArea;
|
|
9
|
+
exports.useSafeAreaFrame = useSafeAreaFrame;
|
|
10
|
+
exports.useSafeAreaInsets = useSafeAreaInsets;
|
|
11
|
+
exports.withSafeAreaInsets = withSafeAreaInsets;
|
|
12
|
+
var React = _interopRequireWildcard(require("react"));
|
|
13
|
+
var _reactNative = require("react-native");
|
|
14
|
+
var _NativeSafeAreaProvider = _interopRequireDefault(require("./NativeSafeAreaProvider"));
|
|
15
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
16
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
17
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
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); }
|
|
19
|
+
const SafeAreaInsetsContext = exports.SafeAreaInsetsContext = /*#__PURE__*/React.createContext(null);
|
|
20
|
+
SafeAreaInsetsContext.displayName = 'SafeAreaInsetsContext';
|
|
21
|
+
const SafeAreaFrameContext = exports.SafeAreaFrameContext = /*#__PURE__*/React.createContext(null);
|
|
22
|
+
SafeAreaFrameContext.displayName = 'SafeAreaFrameContext';
|
|
23
|
+
function SafeAreaProvider({
|
|
24
|
+
children,
|
|
25
|
+
initialMetrics,
|
|
26
|
+
initialSafeAreaInsets,
|
|
27
|
+
style
|
|
28
|
+
}) {
|
|
29
|
+
var _ref, _ref2, _initialMetrics$inset, _ref3, _initialMetrics$frame;
|
|
30
|
+
const parentInsets = useParentSafeAreaInsets();
|
|
31
|
+
const parentFrame = useParentSafeAreaFrame();
|
|
32
|
+
const [insets, setInsets] = React.useState((_ref = (_ref2 = (_initialMetrics$inset = initialMetrics === null || initialMetrics === void 0 ? void 0 : initialMetrics.insets) !== null && _initialMetrics$inset !== void 0 ? _initialMetrics$inset : initialSafeAreaInsets) !== null && _ref2 !== void 0 ? _ref2 : parentInsets) !== null && _ref !== void 0 ? _ref : null);
|
|
33
|
+
const [frame, setFrame] = React.useState((_ref3 = (_initialMetrics$frame = initialMetrics === null || initialMetrics === void 0 ? void 0 : initialMetrics.frame) !== null && _initialMetrics$frame !== void 0 ? _initialMetrics$frame : parentFrame) !== null && _ref3 !== void 0 ? _ref3 : {
|
|
34
|
+
// Backwards compat so we render anyway if we don't have frame.
|
|
35
|
+
x: 0,
|
|
36
|
+
y: 0,
|
|
37
|
+
width: _reactNative.Dimensions.get('window').width,
|
|
38
|
+
height: _reactNative.Dimensions.get('window').height
|
|
39
|
+
});
|
|
40
|
+
const onInsetsChange = React.useCallback(event => {
|
|
41
|
+
const {
|
|
42
|
+
nativeEvent: {
|
|
43
|
+
frame: nextFrame,
|
|
44
|
+
insets: nextInsets
|
|
45
|
+
}
|
|
46
|
+
} = event;
|
|
47
|
+
if (
|
|
48
|
+
// Backwards compat with old native code that won't send frame.
|
|
49
|
+
nextFrame && (nextFrame.height !== frame.height || nextFrame.width !== frame.width || nextFrame.x !== frame.x || nextFrame.y !== frame.y)) {
|
|
50
|
+
setFrame(nextFrame);
|
|
51
|
+
}
|
|
52
|
+
if (!insets || nextInsets.bottom !== insets.bottom || nextInsets.left !== insets.left || nextInsets.right !== insets.right || nextInsets.top !== insets.top) {
|
|
53
|
+
setInsets(nextInsets);
|
|
54
|
+
}
|
|
55
|
+
}, [frame, insets]);
|
|
56
|
+
return /*#__PURE__*/React.createElement(_NativeSafeAreaProvider.default, {
|
|
57
|
+
style: [styles.fill, style],
|
|
58
|
+
onInsetsChange: onInsetsChange
|
|
59
|
+
}, insets != null ? /*#__PURE__*/React.createElement(SafeAreaFrameContext.Provider, {
|
|
60
|
+
value: frame
|
|
61
|
+
}, /*#__PURE__*/React.createElement(SafeAreaInsetsContext.Provider, {
|
|
62
|
+
value: insets
|
|
63
|
+
}, children)) : null);
|
|
64
|
+
}
|
|
65
|
+
const styles = _reactNative.StyleSheet.create({
|
|
66
|
+
fill: {
|
|
67
|
+
flex: 1
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
function useParentSafeAreaInsets() {
|
|
71
|
+
return React.useContext(SafeAreaInsetsContext);
|
|
72
|
+
}
|
|
73
|
+
function useParentSafeAreaFrame() {
|
|
74
|
+
return React.useContext(SafeAreaFrameContext);
|
|
75
|
+
}
|
|
76
|
+
function useSafeAreaInsets() {
|
|
77
|
+
const safeArea = React.useContext(SafeAreaInsetsContext);
|
|
78
|
+
if (safeArea == null) {
|
|
79
|
+
throw new Error('No safe area insets value available. Make sure you are rendering `<SafeAreaProvider>` at the top of your app.');
|
|
80
|
+
}
|
|
81
|
+
return safeArea;
|
|
82
|
+
}
|
|
83
|
+
function useSafeAreaFrame() {
|
|
84
|
+
const frame = React.useContext(SafeAreaFrameContext);
|
|
85
|
+
if (frame == null) {
|
|
86
|
+
throw new Error('No safe area frame value available. Make sure you are rendering `<SafeAreaProvider>` at the top of your app.');
|
|
87
|
+
}
|
|
88
|
+
return frame;
|
|
89
|
+
}
|
|
90
|
+
function withSafeAreaInsets(WrappedComponent) {
|
|
91
|
+
return /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SafeAreaConsumer, null, insets => /*#__PURE__*/React.createElement(WrappedComponent, _extends({}, props, {
|
|
92
|
+
insets: insets,
|
|
93
|
+
ref: ref
|
|
94
|
+
}))));
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* @deprecated
|
|
99
|
+
*/
|
|
100
|
+
function useSafeArea() {
|
|
101
|
+
return useSafeAreaInsets();
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* @deprecated
|
|
106
|
+
*/
|
|
107
|
+
const SafeAreaConsumer = exports.SafeAreaConsumer = SafeAreaInsetsContext.Consumer;
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* @deprecated
|
|
111
|
+
*/
|
|
112
|
+
const SafeAreaContext = exports.SafeAreaContext = SafeAreaInsetsContext;
|
|
113
|
+
//# sourceMappingURL=SafeAreaContext.js.map
|
|
@@ -0,0 +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":[]}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.SafeAreaView = SafeAreaView;
|
|
7
|
+
var React = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _SafeAreaContext = require("./SafeAreaContext");
|
|
10
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
11
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
12
|
+
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); }
|
|
13
|
+
// prettier-ignore
|
|
14
|
+
const TOP = 0b1000,
|
|
15
|
+
RIGHT = 0b0100,
|
|
16
|
+
BOTTOM = 0b0010,
|
|
17
|
+
LEFT = 0b0001,
|
|
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
|
|
27
|
+
};
|
|
28
|
+
function SafeAreaView({
|
|
29
|
+
style = {},
|
|
30
|
+
mode,
|
|
31
|
+
edges,
|
|
32
|
+
...rest
|
|
33
|
+
}) {
|
|
34
|
+
const insets = (0, _SafeAreaContext.useSafeAreaInsets)();
|
|
35
|
+
const edgeBitmask = edges != null ? edges.reduce((accum, edge) => accum | edgeBitmaskMap[edge], 0) : ALL;
|
|
36
|
+
const appliedStyle = React.useMemo(() => {
|
|
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];
|
|
76
|
+
}
|
|
77
|
+
}, [style, insets, mode, edgeBitmask]);
|
|
78
|
+
return /*#__PURE__*/React.createElement(_reactNative.View, _extends({
|
|
79
|
+
style: appliedStyle
|
|
80
|
+
}, rest));
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=SafeAreaView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_SafeAreaContext","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","TOP","RIGHT","BOTTOM","LEFT","ALL","edgeBitmaskMap","top","right","bottom","left","SafeAreaView","style","mode","edges","rest","insets","useSafeAreaInsets","edgeBitmask","reduce","accum","edge","appliedStyle","useMemo","insetTop","insetRight","insetBottom","insetLeft","flatStyle","StyleSheet","flatten","margin","marginVertical","marginHorizontal","marginTop","marginRight","marginBottom","marginLeft","marginStyle","padding","paddingVertical","paddingHorizontal","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingStyle","createElement","View"],"sources":["SafeAreaView.tsx"],"sourcesContent":["import * as React from 'react';\nimport { View, StyleSheet } from 'react-native';\nimport { useSafeAreaInsets } from './SafeAreaContext';\nimport { Edge, NativeSafeAreaViewProps } from './SafeArea.types';\n\n// prettier-ignore\nconst TOP = 0b1000,\n RIGHT = 0b0100,\n BOTTOM = 0b0010,\n LEFT = 0b0001,\n ALL = 0b1111;\n\n/* eslint-disable no-bitwise */\n\nconst edgeBitmaskMap: Record<Edge, number> = {\n top: TOP,\n right: RIGHT,\n bottom: BOTTOM,\n left: LEFT,\n};\n\nexport function SafeAreaView({\n style = {},\n mode,\n edges,\n ...rest\n }: NativeSafeAreaViewProps) {\n const insets = useSafeAreaInsets();\n\n const edgeBitmask =\n edges != null\n ? edges.reduce((accum, edge) => accum | edgeBitmaskMap[edge], 0)\n : ALL;\n\n const appliedStyle = React.useMemo(() => {\n const insetTop = edgeBitmask & TOP ? insets.top : 0;\n const insetRight = edgeBitmask & RIGHT ? insets.right : 0;\n const insetBottom = edgeBitmask & BOTTOM ? insets.bottom : 0;\n const insetLeft = edgeBitmask & LEFT ? insets.left : 0;\n\n const flatStyle = StyleSheet.flatten(style) as Record<string, number>;\n\n if (mode === 'margin') {\n const {\n margin = 0,\n marginVertical = margin,\n marginHorizontal = margin,\n marginTop = marginVertical,\n marginRight = marginHorizontal,\n marginBottom = marginVertical,\n marginLeft = marginHorizontal,\n } = flatStyle;\n\n const marginStyle = {\n marginTop: marginTop + insetTop,\n marginRight: marginRight + insetRight,\n marginBottom: marginBottom + insetBottom,\n marginLeft: marginLeft + insetLeft,\n };\n\n return [style, marginStyle];\n } else {\n const {\n padding = 0,\n paddingVertical = padding,\n paddingHorizontal = padding,\n paddingTop = paddingVertical,\n paddingRight = paddingHorizontal,\n paddingBottom = paddingVertical,\n paddingLeft = paddingHorizontal,\n } = flatStyle;\n\n const paddingStyle = {\n paddingTop: paddingTop + insetTop,\n paddingRight: paddingRight + insetRight,\n paddingBottom: paddingBottom + insetBottom,\n paddingLeft: paddingLeft + insetLeft,\n };\n\n return [style, paddingStyle];\n }\n }, [style, insets, mode, edgeBitmask]);\n\n return <View style={appliedStyle} {...rest} />;\n}"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.SafeAreaView = void 0;
|
|
7
|
+
var _reactNative = require("react-native");
|
|
8
|
+
const SafeAreaView = exports.SafeAreaView = _reactNative.View;
|
|
9
|
+
//# sourceMappingURL=SafeAreaView.kepler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNative","require","SafeAreaView","exports","View"],"sources":["SafeAreaView.kepler.tsx"],"sourcesContent":["import { View } from 'react-native';\n\nexport const SafeAreaView = View;"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEO,MAAMC,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAGE,iBAAI","ignoreList":[]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.SafeAreaView = void 0;
|
|
7
|
+
var _reactNative = require("react-native");
|
|
8
|
+
const SafeAreaView = exports.SafeAreaView = _reactNative.View;
|
|
9
|
+
//# sourceMappingURL=SafeAreaView.macos.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNative","require","SafeAreaView","exports","View"],"sources":["SafeAreaView.macos.tsx"],"sourcesContent":["import { View } from 'react-native';\n\nexport const SafeAreaView = View;\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEO,MAAMC,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAGE,iBAAI","ignoreList":[]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.SafeAreaView = void 0;
|
|
7
|
+
var _reactNative = require("react-native");
|
|
8
|
+
const SafeAreaView = exports.SafeAreaView = (0, _reactNative.requireNativeComponent)('RNCSafeAreaView');
|
|
9
|
+
//# sourceMappingURL=SafeAreaView.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNative","require","SafeAreaView","exports","requireNativeComponent"],"sources":["SafeAreaView.native.tsx"],"sourcesContent":["import { requireNativeComponent } from 'react-native';\nimport { NativeSafeAreaViewProps } from './SafeArea.types';\n\nexport const SafeAreaView = requireNativeComponent<NativeSafeAreaViewProps>(\n 'RNCSafeAreaView',\n);"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAGO,MAAMC,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG,IAAAE,mCAAsB,EAC9C,iBACJ,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.SafeAreaView = void 0;
|
|
7
|
+
var _reactNative = require("react-native");
|
|
8
|
+
const SafeAreaView = exports.SafeAreaView = _reactNative.View;
|
|
9
|
+
//# sourceMappingURL=SafeAreaView.windows.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNative","require","SafeAreaView","exports","View"],"sources":["SafeAreaView.windows.tsx"],"sourcesContent":["import { View } from 'react-native';\n\nexport const SafeAreaView = View;\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEO,MAAMC,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAGE,iBAAI","ignoreList":[]}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _SafeAreaContext = require("./SafeAreaContext");
|
|
7
|
+
Object.keys(_SafeAreaContext).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _SafeAreaContext[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () {
|
|
13
|
+
return _SafeAreaContext[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
var _SafeAreaView = require("./SafeAreaView");
|
|
18
|
+
Object.keys(_SafeAreaView).forEach(function (key) {
|
|
19
|
+
if (key === "default" || key === "__esModule") return;
|
|
20
|
+
if (key in exports && exports[key] === _SafeAreaView[key]) return;
|
|
21
|
+
Object.defineProperty(exports, key, {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function () {
|
|
24
|
+
return _SafeAreaView[key];
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
var _InitialWindow = require("./InitialWindow");
|
|
29
|
+
Object.keys(_InitialWindow).forEach(function (key) {
|
|
30
|
+
if (key === "default" || key === "__esModule") return;
|
|
31
|
+
if (key in exports && exports[key] === _InitialWindow[key]) return;
|
|
32
|
+
Object.defineProperty(exports, key, {
|
|
33
|
+
enumerable: true,
|
|
34
|
+
get: function () {
|
|
35
|
+
return _InitialWindow[key];
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
var _SafeArea = require("./SafeArea.types");
|
|
40
|
+
Object.keys(_SafeArea).forEach(function (key) {
|
|
41
|
+
if (key === "default" || key === "__esModule") return;
|
|
42
|
+
if (key in exports && exports[key] === _SafeArea[key]) return;
|
|
43
|
+
Object.defineProperty(exports, key, {
|
|
44
|
+
enumerable: true,
|
|
45
|
+
get: function () {
|
|
46
|
+
return _SafeArea[key];
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_SafeAreaContext","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_SafeAreaView","_InitialWindow","_SafeArea"],"sources":["index.tsx"],"sourcesContent":["export * from './SafeAreaContext';\nexport * from './SafeAreaView';\nexport * from './InitialWindow';\nexport * from './SafeArea.types';\n"],"mappings":";;;;;AAAA,IAAAA,gBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,gBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,gBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,gBAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,aAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,aAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,aAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,aAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,cAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,cAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,cAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,cAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,SAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,SAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,SAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,SAAA,CAAAP,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = useWindowDimensions;
|
|
7
|
+
var _reactNative = require("react-native");
|
|
8
|
+
var _react = require("react");
|
|
9
|
+
// Copied from https://github.com/facebook/react-native/blob/8d57691a/Libraries/Utilities/useWindowDimensions.js
|
|
10
|
+
// for compatibility with React Native < 0.61.
|
|
11
|
+
function useWindowDimensions() {
|
|
12
|
+
const [dimensions, setDimensions] = (0, _react.useState)(() => _reactNative.Dimensions.get('window'));
|
|
13
|
+
(0, _react.useEffect)(() => {
|
|
14
|
+
function handleChange({
|
|
15
|
+
window
|
|
16
|
+
}) {
|
|
17
|
+
if (dimensions.width !== window.width || dimensions.height !== window.height || dimensions.scale !== window.scale || dimensions.fontScale !== window.fontScale) {
|
|
18
|
+
setDimensions(window);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
const subscription = _reactNative.Dimensions.addEventListener('change', handleChange);
|
|
22
|
+
// We might have missed an update between calling `get` in render and
|
|
23
|
+
// `addEventListener` in this handler, so we set it here. If there was
|
|
24
|
+
// no change, React will filter out this update as a no-op.
|
|
25
|
+
handleChange({
|
|
26
|
+
window: _reactNative.Dimensions.get('window')
|
|
27
|
+
});
|
|
28
|
+
return () => subscription.remove();
|
|
29
|
+
}, [dimensions]);
|
|
30
|
+
return dimensions;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=useWindowDimensions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_react","useWindowDimensions","dimensions","setDimensions","useState","Dimensions","get","useEffect","handleChange","window","width","height","scale","fontScale","subscription","addEventListener","remove"],"sources":["useWindowDimensions.tsx"],"sourcesContent":["import { Dimensions } from 'react-native';\nimport { useEffect, useState } from 'react';\n\ntype DisplayMetrics = {\n width: number;\n height: number;\n scale: number;\n fontScale: number;\n};\n\n// Copied from https://github.com/facebook/react-native/blob/8d57691a/Libraries/Utilities/useWindowDimensions.js\n// for compatibility with React Native < 0.61.\nexport default function useWindowDimensions(): DisplayMetrics {\n const [dimensions, setDimensions] = useState(() => Dimensions.get('window'));\n useEffect(() => {\n function handleChange({ window }: { window: DisplayMetrics }) {\n if (\n dimensions.width !== window.width ||\n dimensions.height !== window.height ||\n dimensions.scale !== window.scale ||\n dimensions.fontScale !== window.fontScale\n ) {\n setDimensions(window);\n }\n }\n const subscription = Dimensions.addEventListener('change', handleChange);\n // We might have missed an update between calling `get` in render and\n // `addEventListener` in this handler, so we set it here. If there was\n // no change, React will filter out this update as a no-op.\n handleChange({ window: Dimensions.get('window') });\n\n return () => subscription.remove();\n }, [dimensions]);\n return dimensions;\n}\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AASA;AACA;AACe,SAASE,mBAAmBA,CAAA,EAAmB;EAC5D,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAG,IAAAC,eAAQ,EAAC,MAAMC,uBAAU,CAACC,GAAG,CAAC,QAAQ,CAAC,CAAC;EAC5E,IAAAC,gBAAS,EAAC,MAAM;IACd,SAASC,YAAYA,CAAC;MAAEC;IAAmC,CAAC,EAAE;MAC5D,IACEP,UAAU,CAACQ,KAAK,KAAKD,MAAM,CAACC,KAAK,IACjCR,UAAU,CAACS,MAAM,KAAKF,MAAM,CAACE,MAAM,IACnCT,UAAU,CAACU,KAAK,KAAKH,MAAM,CAACG,KAAK,IACjCV,UAAU,CAACW,SAAS,KAAKJ,MAAM,CAACI,SAAS,EACzC;QACAV,aAAa,CAACM,MAAM,CAAC;MACvB;IACF;IACA,MAAMK,YAAY,GAAGT,uBAAU,CAACU,gBAAgB,CAAC,QAAQ,EAAEP,YAAY,CAAC;IACxE;IACA;IACA;IACAA,YAAY,CAAC;MAAEC,MAAM,EAAEJ,uBAAU,CAACC,GAAG,CAAC,QAAQ;IAAE,CAAC,CAAC;IAElD,OAAO,MAAMQ,YAAY,CAACE,MAAM,CAAC,CAAC;EACpC,CAAC,EAAE,CAACd,UAAU,CAAC,CAAC;EAChB,OAAOA,UAAU;AACnB","ignoreList":[]}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { View } from 'react-native';
|
|
3
|
+
import useWindowDimensions from './useWindowDimensions';
|
|
4
|
+
export function CompatNativeSafeAreaProvider({
|
|
5
|
+
children,
|
|
6
|
+
style,
|
|
7
|
+
onInsetsChange
|
|
8
|
+
}) {
|
|
9
|
+
const window = useWindowDimensions();
|
|
10
|
+
React.useEffect(() => {
|
|
11
|
+
const insets = {
|
|
12
|
+
top: 0,
|
|
13
|
+
bottom: 0,
|
|
14
|
+
left: 0,
|
|
15
|
+
right: 0
|
|
16
|
+
};
|
|
17
|
+
const frame = {
|
|
18
|
+
x: 0,
|
|
19
|
+
y: 0,
|
|
20
|
+
width: window.width,
|
|
21
|
+
height: window.height
|
|
22
|
+
};
|
|
23
|
+
// @ts-ignore: missing properties
|
|
24
|
+
onInsetsChange({
|
|
25
|
+
nativeEvent: {
|
|
26
|
+
insets,
|
|
27
|
+
frame
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
}, [onInsetsChange, window.height, window.width]);
|
|
31
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
32
|
+
style: style
|
|
33
|
+
}, children);
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=CompatNativeSafeAreaProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","View","useWindowDimensions","CompatNativeSafeAreaProvider","children","style","onInsetsChange","window","useEffect","insets","top","bottom","left","right","frame","x","y","width","height","nativeEvent","createElement"],"sources":["CompatNativeSafeAreaProvider.tsx"],"sourcesContent":["import * as React from 'react';\nimport { View } from 'react-native';\nimport { NativeSafeAreaProviderProps } from './SafeArea.types';\nimport useWindowDimensions from './useWindowDimensions';\n\nexport function CompatNativeSafeAreaProvider({\n children,\n style,\n onInsetsChange,\n}: NativeSafeAreaProviderProps) {\n const window = useWindowDimensions();\n React.useEffect(() => {\n const insets = {\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n };\n const frame = {\n x: 0,\n y: 0,\n width: window.width,\n height: window.height,\n };\n // @ts-ignore: missing properties\n onInsetsChange({ nativeEvent: { insets, frame } });\n }, [onInsetsChange, window.height, window.width]);\n return <View style={style}>{children}</View>;\n}\n"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,IAAI,QAAQ,cAAc;AAEnC,OAAOC,mBAAmB,MAAM,uBAAuB;AAEvD,OAAO,SAASC,4BAA4BA,CAAC;EAC3CC,QAAQ;EACRC,KAAK;EACLC;AAC2B,CAAC,EAAE;EAC9B,MAAMC,MAAM,GAAGL,mBAAmB,CAAC,CAAC;EACpCF,KAAK,CAACQ,SAAS,CAAC,MAAM;IACpB,MAAMC,MAAM,GAAG;MACbC,GAAG,EAAE,CAAC;MACNC,MAAM,EAAE,CAAC;MACTC,IAAI,EAAE,CAAC;MACPC,KAAK,EAAE;IACT,CAAC;IACD,MAAMC,KAAK,GAAG;MACZC,CAAC,EAAE,CAAC;MACJC,CAAC,EAAE,CAAC;MACJC,KAAK,EAAEV,MAAM,CAACU,KAAK;MACnBC,MAAM,EAAEX,MAAM,CAACW;IACjB,CAAC;IACD;IACAZ,cAAc,CAAC;MAAEa,WAAW,EAAE;QAAEV,MAAM;QAAEK;MAAM;IAAE,CAAC,CAAC;EACpD,CAAC,EAAE,CAACR,cAAc,EAAEC,MAAM,CAACW,MAAM,EAAEX,MAAM,CAACU,KAAK,CAAC,CAAC;EACjD,oBAAOjB,KAAA,CAAAoB,aAAA,CAACnB,IAAI;IAACI,KAAK,EAAEA;EAAM,GAAED,QAAe,CAAC;AAC9C","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["initialWindowMetrics","initialWindowSafeAreaInsets"],"sources":["InitialWindow.ts"],"sourcesContent":["import { EdgeInsets, Metrics } from './SafeArea.types';\n\nexport const initialWindowMetrics: Metrics | null = null;\n\n/**\n * @deprecated\n */\nexport const initialWindowSafeAreaInsets: EdgeInsets | null = null;\n"],"mappings":"AAEA,OAAO,MAAMA,oBAAoC,GAAG,IAAI;;AAExD;AACA;AACA;AACA,OAAO,MAAMC,2BAA8C,GAAG,IAAI","ignoreList":[]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// amznmod_react for kepler, `initialWindowMetrics` is always null
|
|
2
|
+
// so assigning null directly,
|
|
3
|
+
// and only calling getViewManagerConfig() for non-kepler platforms
|
|
4
|
+
export const initialWindowMetrics = null;
|
|
5
|
+
/**
|
|
6
|
+
* @deprecated
|
|
7
|
+
*/
|
|
8
|
+
export const initialWindowSafeAreaInsets = initialWindowMetrics === null || initialWindowMetrics === void 0 ? void 0 : initialWindowMetrics.insets;
|
|
9
|
+
//# sourceMappingURL=InitialWindow.kepler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["initialWindowMetrics","initialWindowSafeAreaInsets","insets"],"sources":["InitialWindow.kepler.ts"],"sourcesContent":["import { Metrics } from './SafeArea.types';\n\n// amznmod_react for kepler, `initialWindowMetrics` is always null\n// so assigning null directly, \n// and only calling getViewManagerConfig() for non-kepler platforms\nexport const initialWindowMetrics = null as Metrics | null;\n/**\n * @deprecated\n */\nexport const initialWindowSafeAreaInsets = initialWindowMetrics?.insets;\n"],"mappings":"AAEA;AACA;AACA;AACA,OAAO,MAAMA,oBAAoB,GAAG,IAAsB;AAC1D;AACA;AACA;AACA,OAAO,MAAMC,2BAA2B,GAAGD,oBAAoB,aAApBA,oBAAoB,uBAApBA,oBAAoB,CAAEE,MAAM","ignoreList":[]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { UIManager } from 'react-native';
|
|
2
|
+
const RNCSafeAreaProviderConfig = UIManager.getViewManagerConfig('RNCSafeAreaProvider');
|
|
3
|
+
export const initialWindowMetrics = RNCSafeAreaProviderConfig != null && RNCSafeAreaProviderConfig.Constants != null ? RNCSafeAreaProviderConfig.Constants.initialWindowMetrics : null;
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* @deprecated
|
|
7
|
+
*/
|
|
8
|
+
export const initialWindowSafeAreaInsets = initialWindowMetrics === null || initialWindowMetrics === void 0 ? void 0 : initialWindowMetrics.insets;
|
|
9
|
+
//# sourceMappingURL=InitialWindow.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["UIManager","RNCSafeAreaProviderConfig","getViewManagerConfig","initialWindowMetrics","Constants","initialWindowSafeAreaInsets","insets"],"sources":["InitialWindow.native.ts"],"sourcesContent":["import { UIManager } from 'react-native';\nimport { Metrics } from './SafeArea.types';\n\nconst RNCSafeAreaProviderConfig = UIManager.getViewManagerConfig(\n 'RNCSafeAreaProvider',\n) as any;\n\nexport const initialWindowMetrics = (RNCSafeAreaProviderConfig != null &&\n RNCSafeAreaProviderConfig.Constants != null\n ? RNCSafeAreaProviderConfig.Constants.initialWindowMetrics\n : null) as Metrics | null;\n\n/**\n * @deprecated\n */\nexport const initialWindowSafeAreaInsets = initialWindowMetrics?.insets;"],"mappings":"AAAA,SAASA,SAAS,QAAQ,cAAc;AAGxC,MAAMC,yBAAyB,GAAGD,SAAS,CAACE,oBAAoB,CAC5D,qBACJ,CAAQ;AAER,OAAO,MAAMC,oBAAoB,GAAIF,yBAAyB,IAAI,IAAI,IAClEA,yBAAyB,CAACG,SAAS,IAAI,IAAI,GACzCH,yBAAyB,CAACG,SAAS,CAACD,oBAAoB,GACxD,IAAuB;;AAE7B;AACA;AACA;AACA,OAAO,MAAME,2BAA2B,GAAGF,oBAAoB,aAApBA,oBAAoB,uBAApBA,oBAAoB,CAAEG,MAAM","ignoreList":[]}
|