{"version":3,"file":"SafeAreaView.js","names":[],"sources":["esm/safe-area-context/SafeAreaView.js"],"sourcesContent":["import * as React from \"react\";\nimport { useSafeAreaInsets } from \"./SafeAreaContext\";\nimport { jsx } from \"react/jsx-runtime\";\nconst TOP = 8;\nconst RIGHT = 4;\nconst BOTTOM = 2;\nconst LEFT = 1;\nconst ALL = 15;\nconst edgeBitmaskMap = {\n  top: TOP,\n  right: RIGHT,\n  bottom: BOTTOM,\n  left: LEFT\n};\nconst SafeAreaView = React.forwardRef(({ style = {}, mode, edges, ...rest }, ref) => {\n  const insets = useSafeAreaInsets();\n  const edgeBitmask = edges != null ? Array.isArray(edges) ? edges.reduce((acc, edge) => acc | edgeBitmaskMap[edge], 0) : Object.keys(edges).reduce((acc, edge) => acc | edgeBitmaskMap[edge], 0) : ALL;\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    const flatStyle = (Array.isArray(style) ? style.flat(Number.POSITIVE_INFINITY) : [style]).reduce(\n      (result, value) => value ? Object.assign(result, value) : result,\n      {}\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      const marginStyle = {\n        marginTop: marginTop + insetTop,\n        marginRight: marginRight + insetRight,\n        marginBottom: marginBottom + insetBottom,\n        marginLeft: marginLeft + insetLeft\n      };\n      const {\n        marginVertical: _marginVertical,\n        marginHorizontal: _marginHorizontal,\n        ...domStyle2\n      } = flatStyle;\n      return { ...domStyle2, ...marginStyle };\n    }\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    const paddingStyle = {\n      paddingTop: paddingTop + insetTop,\n      paddingRight: paddingRight + insetRight,\n      paddingBottom: paddingBottom + insetBottom,\n      paddingLeft: paddingLeft + insetLeft\n    };\n    const {\n      paddingVertical: _paddingVertical,\n      paddingHorizontal: _paddingHorizontal,\n      ...domStyle\n    } = flatStyle;\n    return { ...domStyle, ...paddingStyle };\n  }, [style, insets, mode, edgeBitmask]);\n  return /* @__PURE__ */ jsx(\n    \"div\",\n    {\n      ...rest,\n      style: appliedStyle,\n      ref\n    }\n  );\n});\nexport {\n  SafeAreaView\n};\n//# sourceMappingURL=SafeAreaView.js.map\n"],"mappings":";;;;;AAGA,MAAM,MAAM;AACZ,MAAM,QAAQ;AACd,MAAM,SAAS;AACf,MAAM,OAAO;AACb,MAAM,MAAM;AACZ,MAAM,iBAAiB;CACrB,KAAK;CACL,OAAO;CACP,QAAQ;CACR,MAAM;AACR;AACA,MAAM,eAAe,MAAM,YAAY,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,GAAG,QAAQ,QAAQ;CACnF,MAAM,SAAS,kBAAkB;CACjC,MAAM,cAAc,SAAS,OAAO,MAAM,QAAQ,KAAK,IAAI,MAAM,QAAQ,KAAK,SAAS,MAAM,eAAe,OAAO,CAAC,IAAI,OAAO,KAAK,KAAK,CAAC,CAAC,QAAQ,KAAK,SAAS,MAAM,eAAe,OAAO,CAAC,IAAI;CAClM,MAAM,eAAe,MAAM,cAAc;EACvC,MAAM,WAAW,cAAc,MAAM,OAAO,MAAM;EAClD,MAAM,aAAa,cAAc,QAAQ,OAAO,QAAQ;EACxD,MAAM,cAAc,cAAc,SAAS,OAAO,SAAS;EAC3D,MAAM,YAAY,cAAc,OAAO,OAAO,OAAO;EACrD,MAAM,aAAa,MAAM,QAAQ,KAAK,IAAI,MAAM,KAAK,OAAO,iBAAiB,IAAI,CAAC,KAAK,EAAC,CAAE,QACvF,QAAQ,UAAU,QAAQ,OAAO,OAAO,QAAQ,KAAK,IAAI,QAC1D,CAAC,CACH;EACA,IAAI,SAAS,UAAU;GACrB,MAAM,EACJ,SAAS,GACT,iBAAiB,QACjB,mBAAmB,QACnB,YAAY,gBACZ,cAAc,kBACd,eAAe,gBACf,aAAa,qBACX;GACJ,MAAM,cAAc;IAClB,WAAW,YAAY;IACvB,aAAa,cAAc;IAC3B,cAAc,eAAe;IAC7B,YAAY,aAAa;GAC3B;GACA,MAAM,EACJ,gBAAgB,iBAChB,kBAAkB,mBAClB,GAAG,cACD;GACJ,OAAO;IAAE,GAAG;IAAW,GAAG;GAAY;EACxC;EACA,MAAM,EACJ,UAAU,GACV,kBAAkB,SAClB,oBAAoB,SACpB,aAAa,iBACb,eAAe,mBACf,gBAAgB,iBAChB,cAAc,sBACZ;EACJ,MAAM,eAAe;GACnB,YAAY,aAAa;GACzB,cAAc,eAAe;GAC7B,eAAe,gBAAgB;GAC/B,aAAa,cAAc;EAC7B;EACA,MAAM,EACJ,iBAAiB,kBACjB,mBAAmB,oBACnB,GAAG,aACD;EACJ,OAAO;GAAE,GAAG;GAAU,GAAG;EAAa;CACxC,GAAG;EAAC;EAAO;EAAQ;EAAM;CAAW,CAAC;CACrC,OAAuB,oBACrB,OACA;EACE,GAAG;EACH,OAAO;EACP;CACF,CACF;AACF,CAAC"}