amis-rpc-design/node_modules/react-native-safe-area-context/lib/module/SafeAreaView.js
2023-10-07 19:42:30 +08:00

41 lines
1.4 KiB
JavaScript

function _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }
import * as React from 'react';
import NativeSafeAreaView from './specs/NativeSafeAreaView';
import { useMemo } from 'react';
const defaultEdges = {
top: 'additive',
left: 'additive',
bottom: 'additive',
right: 'additive'
};
export const SafeAreaView = /*#__PURE__*/React.forwardRef((_ref, ref) => {
let {
edges,
...props
} = _ref;
const nativeEdges = useMemo(() => {
if (edges == null) {
return defaultEdges;
}
const edgesObj = Array.isArray(edges) ? edges.reduce((acc, edge) => {
acc[edge] = 'additive';
return acc;
}, {}) :
// ts has trouble with refining readonly arrays.
edges;
// make sure that we always pass all edges, required for fabric
const requiredEdges = {
top: edgesObj.top ?? 'off',
right: edgesObj.right ?? 'off',
bottom: edgesObj.bottom ?? 'off',
left: edgesObj.left ?? 'off'
};
return requiredEdges;
}, [edges]);
return /*#__PURE__*/React.createElement(NativeSafeAreaView, _extends({}, props, {
edges: nativeEdges,
ref: ref
}));
});
//# sourceMappingURL=SafeAreaView.js.map