UNPKG

@madeja-studio/telar

Version:

UI component library by Madeja Studio

2 lines 2.12 kB
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.SafeAreaViewEdges=exports.SafeAreaView=void 0;var _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var _cepillo=require("@madeja-studio/cepillo");var _react=require("react");var _reactNative=require("react-native");var _reactNativeSafeAreaContext=require("react-native-safe-area-context");var _index=_interopRequireDefault(require("../../tailwind/index.js"));var _jsxRuntime=require("react/jsx-runtime");var _excluded=["children","edges","modifiers","style"];var _this=void 0,_jsxFileName="/Users/sergio/Development/madeja.studio/telar/src/component/layout/SafeAreaView.tsx";var SafeAreaViewEdges=exports.SafeAreaViewEdges={All:['top','bottom','left','right'],NoBottom:['top','left','right'],NoTop:['left','right','bottom'],NoVertical:['left','right']};var EDGES_BY_MODIFIER={modal:SafeAreaViewEdges.NoTop,scroll:SafeAreaViewEdges.NoBottom};var SafeAreaView=exports.SafeAreaView=function SafeAreaView(_ref){var children=_ref.children,userEdges=_ref.edges,userModifiers=_ref.modifiers,style=_ref.style,props=(0,_objectWithoutProperties2.default)(_ref,_excluded);var _useSafeAreaInsets=(0,_reactNativeSafeAreaContext.useSafeAreaInsets)(),top=_useSafeAreaInsets.top;var modifiers=(0,_react.useMemo)(function(){return(0,_cepillo.valueToArray)(userModifiers);},[userModifiers]);var edges=(0,_react.useMemo)(function(){return modifiers.reduce(function(acc,mod){return(0,_cepillo.intersection)(acc,new Set(EDGES_BY_MODIFIER[mod]));},new Set(SafeAreaViewEdges.All));},[userModifiers]);var isModal=modifiers.some(function(mod){return mod==='modal';});var isAndroidModal=isModal&&_reactNative.Platform.OS==='android';return(0,_jsxRuntime.jsx)(_reactNativeSafeAreaContext.SafeAreaView,Object.assign({edges:userEdges!=null?userEdges:Array.from(edges),style:[_index.default.style(`flex-1`,isAndroidModal&&{flex:1,paddingTop:top}),style]},props,{children:children}));}; //# sourceMappingURL=SafeAreaView.js.map