45 lines
1.8 KiB
JavaScript
45 lines
1.8 KiB
JavaScript
![]() |
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
||
|
|
||
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
||
|
|
||
|
/**
|
||
|
* Copyright (c) Nicolas Gallagher.
|
||
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
||
|
*
|
||
|
* This source code is licensed under the MIT license found in the
|
||
|
* LICENSE file in the root directory of this source tree.
|
||
|
*
|
||
|
*
|
||
|
*/
|
||
|
import { canUseDOM } from 'fbjs/lib/ExecutionEnvironment';
|
||
|
import StyleSheet from '../StyleSheet';
|
||
|
import View from '../View';
|
||
|
import React, { forwardRef } from 'react';
|
||
|
|
||
|
var cssFunction = function () {
|
||
|
if (canUseDOM && window.CSS && window.CSS.supports && window.CSS.supports('top: constant(safe-area-inset-top)')) {
|
||
|
return 'constant';
|
||
|
}
|
||
|
|
||
|
return 'env';
|
||
|
}();
|
||
|
|
||
|
var SafeAreaView = forwardRef(function (props, ref) {
|
||
|
var style = props.style,
|
||
|
rest = _objectWithoutPropertiesLoose(props, ["style"]);
|
||
|
|
||
|
return React.createElement(View, _extends({}, rest, {
|
||
|
ref: ref,
|
||
|
style: StyleSheet.compose(styles.root, style)
|
||
|
}));
|
||
|
});
|
||
|
SafeAreaView.displayName = 'SafeAreaView';
|
||
|
var styles = StyleSheet.create({
|
||
|
root: {
|
||
|
paddingTop: cssFunction + "(safe-area-inset-top)",
|
||
|
paddingRight: cssFunction + "(safe-area-inset-right)",
|
||
|
paddingBottom: cssFunction + "(safe-area-inset-bottom)",
|
||
|
paddingLeft: cssFunction + "(safe-area-inset-left)"
|
||
|
}
|
||
|
});
|
||
|
export default SafeAreaView;
|