{"ast":null,"code":"import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nconst _excluded = [\"style\", \"mode\", \"edges\"];\nfunction _extends() {\n  return _extends = Object.assign ? Object.assign.bind() : function (n) {\n    for (var e = 1; e < arguments.length; e++) {\n      var t = arguments[e];\n      for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n    }\n    return n;\n  }, _extends.apply(null, arguments);\n}\nimport * as React from 'react';\nimport StyleSheet from \"react-native-web/dist/exports/StyleSheet\";\nimport View from \"react-native-web/dist/exports/View\";\nimport { useSafeAreaInsets } from \"./SafeAreaContext\";\nconst defaultEdges = {\n  top: 'additive',\n  left: 'additive',\n  bottom: 'additive',\n  right: 'additive'\n};\nfunction getEdgeValue(inset, current, mode) {\n  switch (mode) {\n    case 'off':\n      return current;\n    case 'maximum':\n      return Math.max(current, inset);\n    case 'additive':\n    default:\n      return current + inset;\n  }\n}\nexport const SafeAreaView = React.forwardRef((_ref, ref) => {\n  let {\n      style = {},\n      mode,\n      edges\n    } = _ref,\n    rest = _objectWithoutPropertiesLoose(_ref, _excluded);\n  const insets = useSafeAreaInsets();\n  const edgesRecord = React.useMemo(() => {\n    if (edges == null) {\n      return defaultEdges;\n    }\n    return Array.isArray(edges) ? edges.reduce((acc, edge) => {\n      acc[edge] = 'additive';\n      return acc;\n    }, {}) : edges;\n  }, [edges]);\n  const appliedStyle = React.useMemo(() => {\n    const flatStyle = StyleSheet.flatten(style);\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: getEdgeValue(insets.top, marginTop, edgesRecord.top),\n        marginRight: getEdgeValue(insets.right, marginRight, edgesRecord.right),\n        marginBottom: getEdgeValue(insets.bottom, marginBottom, edgesRecord.bottom),\n        marginLeft: getEdgeValue(insets.left, marginLeft, edgesRecord.left)\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      const paddingStyle = {\n        paddingTop: getEdgeValue(insets.top, paddingTop, edgesRecord.top),\n        paddingRight: getEdgeValue(insets.right, paddingRight, edgesRecord.right),\n        paddingBottom: getEdgeValue(insets.bottom, paddingBottom, edgesRecord.bottom),\n        paddingLeft: getEdgeValue(insets.left, paddingLeft, edgesRecord.left)\n      };\n      return [style, paddingStyle];\n    }\n  }, [edgesRecord.bottom, edgesRecord.left, edgesRecord.right, edgesRecord.top, insets.bottom, insets.left, insets.right, insets.top, mode, style]);\n  return React.createElement(View, _extends({\n    style: appliedStyle\n  }, rest, {\n    ref: ref\n  }));\n});","map":{"version":3,"names":["React","StyleSheet","View","useSafeAreaInsets","defaultEdges","top","left","bottom","right","getEdgeValue","inset","current","mode","Math","max","SafeAreaView","forwardRef","_ref","ref","style","edges","rest","_objectWithoutPropertiesLoose","_excluded","insets","edgesRecord","useMemo","Array","isArray","reduce","acc","edge","appliedStyle","flatStyle","flatten","margin","marginVertical","marginHorizontal","marginTop","marginRight","marginBottom","marginLeft","marginStyle","padding","paddingVertical","paddingHorizontal","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingStyle","createElement","_extends"],"sources":["/Users/pmouli/Documents/GitHub.nosync/boots-strapper/mobile/node_modules/react-native-safe-area-context/src/SafeAreaView.web.tsx"],"sourcesContent":["import * as React from 'react';\nimport { StyleSheet, View } from 'react-native';\nimport {\n  Edge,\n  EdgeMode,\n  EdgeRecord,\n  NativeSafeAreaViewInstance,\n  NativeSafeAreaViewProps,\n} from './SafeArea.types';\nimport { useSafeAreaInsets } from './SafeAreaContext';\n\nconst defaultEdges: Record<Edge, EdgeMode> = {\n  top: 'additive',\n  left: 'additive',\n  bottom: 'additive',\n  right: 'additive',\n};\n\nfunction getEdgeValue(\n  inset: number,\n  current: number,\n  mode: EdgeMode | undefined,\n) {\n  switch (mode) {\n    case 'off':\n      return current;\n    case 'maximum':\n      return Math.max(current, inset);\n    case 'additive':\n    default:\n      return current + inset;\n  }\n}\n\nexport const SafeAreaView = React.forwardRef<\n  NativeSafeAreaViewInstance,\n  NativeSafeAreaViewProps\n>(({ style = {}, mode, edges, ...rest }, ref) => {\n  const insets = useSafeAreaInsets();\n\n  const edgesRecord = React.useMemo(() => {\n    if (edges == null) {\n      return defaultEdges;\n    }\n\n    return Array.isArray(edges)\n      ? edges.reduce<EdgeRecord>((acc, edge: Edge) => {\n          acc[edge] = 'additive';\n          return acc;\n        }, {})\n      : // ts has trouble with refining readonly arrays.\n        (edges as EdgeRecord);\n  }, [edges]);\n\n  const appliedStyle = React.useMemo(() => {\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: getEdgeValue(insets.top, marginTop, edgesRecord.top),\n        marginRight: getEdgeValue(insets.right, marginRight, edgesRecord.right),\n        marginBottom: getEdgeValue(\n          insets.bottom,\n          marginBottom,\n          edgesRecord.bottom,\n        ),\n        marginLeft: getEdgeValue(insets.left, marginLeft, edgesRecord.left),\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: getEdgeValue(insets.top, paddingTop, edgesRecord.top),\n        paddingRight: getEdgeValue(\n          insets.right,\n          paddingRight,\n          edgesRecord.right,\n        ),\n        paddingBottom: getEdgeValue(\n          insets.bottom,\n          paddingBottom,\n          edgesRecord.bottom,\n        ),\n        paddingLeft: getEdgeValue(insets.left, paddingLeft, edgesRecord.left),\n      };\n\n      return [style, paddingStyle];\n    }\n  }, [\n    edgesRecord.bottom,\n    edgesRecord.left,\n    edgesRecord.right,\n    edgesRecord.top,\n    insets.bottom,\n    insets.left,\n    insets.right,\n    insets.top,\n    mode,\n    style,\n  ]);\n\n  return <View style={appliedStyle} {...rest} ref={ref} />;\n});\n"],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAAA,OAAAC,UAAA;AAAA,OAAAC,IAAA;AAS9B,SAASC,iBAAiB;AAE1B,MAAMC,YAAoC,GAAG;EAC3CC,GAAG,EAAE,UAAU;EACfC,IAAI,EAAE,UAAU;EAChBC,MAAM,EAAE,UAAU;EAClBC,KAAK,EAAE;AACT,CAAC;AAED,SAASC,YAAYA,CACnBC,KAAa,EACbC,OAAe,EACfC,IAA0B,EAC1B;EACA,QAAQA,IAAI;IACV,KAAK,KAAK;MACR,OAAOD,OAAO;IAChB,KAAK,SAAS;MACZ,OAAOE,IAAI,CAACC,GAAG,CAACH,OAAO,EAAED,KAAK,CAAC;IACjC,KAAK,UAAU;IACf;MACE,OAAOC,OAAO,GAAGD,KAAK;EAC1B;AACF;AAEA,OAAO,MAAMK,YAAY,GAAGf,KAAK,CAACgB,UAAU,CAG1C,CAAAC,IAAA,EAAuCC,GAAG,KAAK;EAAA,IAA9C;MAAEC,KAAK,GAAG,CAAC,CAAC;MAAEP,IAAI;MAAEQ;IAAe,CAAC,GAAAH,IAAA;IAANI,IAAA,GAAAC,6BAAA,CAAAL,IAAA,EAAAM,SAAA;EAC/B,MAAMC,MAAM,GAAGrB,iBAAiB,CAAC,CAAC;EAElC,MAAMsB,WAAW,GAAGzB,KAAK,CAAC0B,OAAO,CAAC,MAAM;IACtC,IAAIN,KAAK,IAAI,IAAI,EAAE;MACjB,OAAOhB,YAAY;IACrB;IAEA,OAAOuB,KAAK,CAACC,OAAO,CAACR,KAAK,CAAC,GACvBA,KAAK,CAACS,MAAM,CAAa,CAACC,GAAG,EAAEC,IAAU,KAAK;MAC5CD,GAAG,CAACC,IAAI,CAAC,GAAG,UAAU;MACtB,OAAOD,GAAG;IACZ,CAAC,EAAE,CAAC,CAAC,CAAC,GAELV,KAAoB;EAC3B,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAEX,MAAMY,YAAY,GAAGhC,KAAK,CAAC0B,OAAO,CAAC,MAAM;IACvC,MAAMO,SAAS,GAAGhC,UAAU,CAACiC,OAAO,CAACf,KAAK,CAA2B;IAErE,IAAIP,IAAI,KAAK,QAAQ,EAAE;MACrB,MAAM;QACJuB,MAAM,GAAG,CAAC;QACVC,cAAc,GAAGD,MAAM;QACvBE,gBAAgB,GAAGF,MAAM;QACzBG,SAAS,GAAGF,cAAc;QAC1BG,WAAW,GAAGF,gBAAgB;QAC9BG,YAAY,GAAGJ,cAAc;QAC7BK,UAAU,GAAGJ;MACf,CAAC,GAAGJ,SAAS;MAEb,MAAMS,WAAW,GAAG;QAClBJ,SAAS,EAAE7B,YAAY,CAACe,MAAM,CAACnB,GAAG,EAAEiC,SAAS,EAAEb,WAAW,CAACpB,GAAG,CAAC;QAC/DkC,WAAW,EAAE9B,YAAY,CAACe,MAAM,CAAChB,KAAK,EAAE+B,WAAW,EAAEd,WAAW,CAACjB,KAAK,CAAC;QACvEgC,YAAY,EAAE/B,YAAY,CACxBe,MAAM,CAACjB,MAAM,EACbiC,YAAY,EACZf,WAAW,CAAClB,MACd,CAAC;QACDkC,UAAU,EAAEhC,YAAY,CAACe,MAAM,CAAClB,IAAI,EAAEmC,UAAU,EAAEhB,WAAW,CAACnB,IAAI;MACpE,CAAC;MAED,OAAO,CAACa,KAAK,EAAEuB,WAAW,CAAC;IAC7B,CAAC,MAAM;MACL,MAAM;QACJC,OAAO,GAAG,CAAC;QACXC,eAAe,GAAGD,OAAO;QACzBE,iBAAiB,GAAGF,OAAO;QAC3BG,UAAU,GAAGF,eAAe;QAC5BG,YAAY,GAAGF,iBAAiB;QAChCG,aAAa,GAAGJ,eAAe;QAC/BK,WAAW,GAAGJ;MAChB,CAAC,GAAGZ,SAAS;MAEb,MAAMiB,YAAY,GAAG;QACnBJ,UAAU,EAAErC,YAAY,CAACe,MAAM,CAACnB,GAAG,EAAEyC,UAAU,EAAErB,WAAW,CAACpB,GAAG,CAAC;QACjE0C,YAAY,EAAEtC,YAAY,CACxBe,MAAM,CAAChB,KAAK,EACZuC,YAAY,EACZtB,WAAW,CAACjB,KACd,CAAC;QACDwC,aAAa,EAAEvC,YAAY,CACzBe,MAAM,CAACjB,MAAM,EACbyC,aAAa,EACbvB,WAAW,CAAClB,MACd,CAAC;QACD0C,WAAW,EAAExC,YAAY,CAACe,MAAM,CAAClB,IAAI,EAAE2C,WAAW,EAAExB,WAAW,CAACnB,IAAI;MACtE,CAAC;MAED,OAAO,CAACa,KAAK,EAAE+B,YAAY,CAAC;IAC9B;EACF,CAAC,EAAE,CACDzB,WAAW,CAAClB,MAAM,EAClBkB,WAAW,CAACnB,IAAI,EAChBmB,WAAW,CAACjB,KAAK,EACjBiB,WAAW,CAACpB,GAAG,EACfmB,MAAM,CAACjB,MAAM,EACbiB,MAAM,CAAClB,IAAI,EACXkB,MAAM,CAAChB,KAAK,EACZgB,MAAM,CAACnB,GAAG,EACVO,IAAI,EACJO,KAAK,CACN,CAAC;EAEF,OAAOnB,KAAA,CAAAmD,aAAA,CAACjD,IAAI,EAAAkD,QAAA;IAACjC,KAAK,EAAEa;EAAa,GAAKX,IAAI;IAAEH,GAAG,EAAEA;EAAI,EAAE,CAAC;AAC1D,CAAC,CAAC","ignoreList":[]},"metadata":{"hasCjsExports":false},"sourceType":"module","externalDependencies":[]}