@vxrn/safe-area 1.14.4 → 1.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/dist/cjs/InitialWindow.cjs +14 -12
  3. package/dist/cjs/InitialWindow.native.js +14 -12
  4. package/dist/cjs/InitialWindow.native.js.map +1 -1
  5. package/dist/cjs/NativeSafeAreaProvider.cjs +98 -61
  6. package/dist/cjs/NativeSafeAreaProvider.native.js +115 -79
  7. package/dist/cjs/NativeSafeAreaProvider.native.js.map +1 -1
  8. package/dist/cjs/SafeArea-types.cjs +7 -5
  9. package/dist/cjs/SafeArea-types.native.js +7 -5
  10. package/dist/cjs/SafeArea-types.native.js.map +1 -1
  11. package/dist/cjs/SafeAreaContext.cjs +82 -55
  12. package/dist/cjs/SafeAreaContext.native.js +88 -70
  13. package/dist/cjs/SafeAreaContext.native.js.map +1 -1
  14. package/dist/cjs/SafeAreaView.cjs +94 -92
  15. package/dist/cjs/SafeAreaView.native.js +97 -95
  16. package/dist/cjs/SafeAreaView.native.js.map +1 -1
  17. package/dist/cjs/index.cjs +7 -5
  18. package/dist/cjs/index.native.js +7 -5
  19. package/dist/cjs/index.native.js.map +1 -1
  20. package/dist/esm/InitialWindow.mjs +2 -2
  21. package/dist/esm/InitialWindow.mjs.map +1 -1
  22. package/dist/esm/InitialWindow.native.js +2 -2
  23. package/dist/esm/InitialWindow.native.js.map +1 -1
  24. package/dist/esm/NativeSafeAreaProvider.mjs +71 -36
  25. package/dist/esm/NativeSafeAreaProvider.mjs.map +1 -1
  26. package/dist/esm/NativeSafeAreaProvider.native.js +81 -47
  27. package/dist/esm/NativeSafeAreaProvider.native.js.map +1 -1
  28. package/dist/esm/SafeAreaContext.mjs +54 -29
  29. package/dist/esm/SafeAreaContext.mjs.map +1 -1
  30. package/dist/esm/SafeAreaContext.native.js +60 -44
  31. package/dist/esm/SafeAreaContext.native.js.map +1 -1
  32. package/dist/esm/SafeAreaView.mjs +65 -65
  33. package/dist/esm/SafeAreaView.mjs.map +1 -1
  34. package/dist/esm/SafeAreaView.native.js +69 -69
  35. package/dist/esm/SafeAreaView.native.js.map +1 -1
  36. package/package.json +2 -2
  37. package/src/SafeAreaContext.tsx +8 -2
  38. package/types/SafeAreaContext.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","StyleSheet","useSafeAreaInsets","jsx","TOP","RIGHT","BOTTOM","LEFT","ALL","edgeBitmaskMap","top","right","bottom","left","SafeAreaView","forwardRef","style","mode","edges","rest","ref","insets","edgeBitmask","Array","isArray","reduce","acc","edge","Object","keys","appliedStyle","useMemo","insetTop","insetRight","insetBottom","insetLeft","flatStyle","flatten","margin","marginVertical","marginHorizontal","marginTop","marginRight","marginBottom","marginLeft","marginStyle","padding","paddingVertical","paddingHorizontal","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingStyle"],"sources":["../../src/SafeAreaView.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","View","StyleSheet","useSafeAreaInsets","jsx","TOP","RIGHT","BOTTOM","LEFT","ALL","edgeBitmaskMap","top","right","bottom","left","SafeAreaView","forwardRef","style","mode","edges","rest","ref","insets","edgeBitmask","Array","isArray","reduce","acc","edge","Object","keys","appliedStyle","useMemo","insetTop","insetRight","insetBottom","insetLeft","flatStyle","flatten","margin","marginVertical","marginHorizontal","marginTop","marginRight","marginBottom","marginLeft","marginStyle","padding","paddingVertical","paddingHorizontal","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingStyle"],"sources":["../../src/SafeAreaView.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -2,76 +2,76 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import * as React from "react";
3
3
  import { View, StyleSheet } from "react-native";
4
4
  import { useSafeAreaInsets } from "./SafeAreaContext.native.js";
5
- var TOP = 8,
6
- RIGHT = 4,
7
- BOTTOM = 2,
8
- LEFT = 1,
9
- ALL = 15,
10
- edgeBitmaskMap = {
11
- top: TOP,
12
- right: RIGHT,
13
- bottom: BOTTOM,
14
- left: LEFT
15
- },
16
- SafeAreaView = /* @__PURE__ */React.forwardRef(function (param, ref) {
5
+ var TOP = 8;
6
+ var RIGHT = 4;
7
+ var BOTTOM = 2;
8
+ var LEFT = 1;
9
+ var ALL = 15;
10
+ var edgeBitmaskMap = {
11
+ top: TOP,
12
+ right: RIGHT,
13
+ bottom: BOTTOM,
14
+ left: LEFT
15
+ };
16
+ var SafeAreaView = /* @__PURE__ */React.forwardRef(function (param, ref) {
17
+ var {
18
+ style = {},
19
+ mode,
20
+ edges,
21
+ ...rest
22
+ } = param;
23
+ var insets = useSafeAreaInsets();
24
+ var edgeBitmask = edges != null ? Array.isArray(edges) ? edges.reduce(function (acc, edge) {
25
+ return acc | edgeBitmaskMap[edge];
26
+ }, 0) : Object.keys(edges).reduce(function (acc, edge) {
27
+ return acc | edgeBitmaskMap[edge];
28
+ }, 0) : ALL;
29
+ var appliedStyle = React.useMemo(function () {
30
+ var insetTop = edgeBitmask & TOP ? insets.top : 0;
31
+ var insetRight = edgeBitmask & RIGHT ? insets.right : 0;
32
+ var insetBottom = edgeBitmask & BOTTOM ? insets.bottom : 0;
33
+ var insetLeft = edgeBitmask & LEFT ? insets.left : 0;
34
+ var flatStyle = StyleSheet.flatten(style);
35
+ if (mode === "margin") {
36
+ var {
37
+ margin = 0,
38
+ marginVertical = margin,
39
+ marginHorizontal = margin,
40
+ marginTop = marginVertical,
41
+ marginRight = marginHorizontal,
42
+ marginBottom = marginVertical,
43
+ marginLeft = marginHorizontal
44
+ } = flatStyle;
45
+ var marginStyle = {
46
+ marginTop: marginTop + insetTop,
47
+ marginRight: marginRight + insetRight,
48
+ marginBottom: marginBottom + insetBottom,
49
+ marginLeft: marginLeft + insetLeft
50
+ };
51
+ return [style, marginStyle];
52
+ }
17
53
  var {
18
- style = {},
19
- mode,
20
- edges,
21
- ...rest
22
- } = param,
23
- insets = useSafeAreaInsets(),
24
- edgeBitmask = edges != null ? Array.isArray(edges) ? edges.reduce(function (acc, edge) {
25
- return acc | edgeBitmaskMap[edge];
26
- }, 0) : Object.keys(edges).reduce(function (acc, edge) {
27
- return acc | edgeBitmaskMap[edge];
28
- }, 0) : ALL,
29
- appliedStyle = React.useMemo(function () {
30
- var insetTop = edgeBitmask & TOP ? insets.top : 0,
31
- insetRight = edgeBitmask & RIGHT ? insets.right : 0,
32
- insetBottom = edgeBitmask & BOTTOM ? insets.bottom : 0,
33
- insetLeft = edgeBitmask & LEFT ? insets.left : 0,
34
- flatStyle = StyleSheet.flatten(style);
35
- if (mode === "margin") {
36
- var {
37
- margin = 0,
38
- marginVertical = margin,
39
- marginHorizontal = margin,
40
- marginTop = marginVertical,
41
- marginRight = marginHorizontal,
42
- marginBottom = marginVertical,
43
- marginLeft = marginHorizontal
44
- } = flatStyle,
45
- marginStyle = {
46
- marginTop: marginTop + insetTop,
47
- marginRight: marginRight + insetRight,
48
- marginBottom: marginBottom + insetBottom,
49
- marginLeft: marginLeft + insetLeft
50
- };
51
- return [style, marginStyle];
52
- }
53
- var {
54
- padding = 0,
55
- paddingVertical = padding,
56
- paddingHorizontal = padding,
57
- paddingTop = paddingVertical,
58
- paddingRight = paddingHorizontal,
59
- paddingBottom = paddingVertical,
60
- paddingLeft = paddingHorizontal
61
- } = flatStyle,
62
- paddingStyle = {
63
- paddingTop: paddingTop + insetTop,
64
- paddingRight: paddingRight + insetRight,
65
- paddingBottom: paddingBottom + insetBottom,
66
- paddingLeft: paddingLeft + insetLeft
67
- };
68
- return [style, paddingStyle];
69
- }, [style, insets, mode, edgeBitmask]);
70
- return /* @__PURE__ */_jsx(View, {
71
- style: appliedStyle,
72
- ...rest,
73
- ref
74
- });
54
+ padding = 0,
55
+ paddingVertical = padding,
56
+ paddingHorizontal = padding,
57
+ paddingTop = paddingVertical,
58
+ paddingRight = paddingHorizontal,
59
+ paddingBottom = paddingVertical,
60
+ paddingLeft = paddingHorizontal
61
+ } = flatStyle;
62
+ var paddingStyle = {
63
+ paddingTop: paddingTop + insetTop,
64
+ paddingRight: paddingRight + insetRight,
65
+ paddingBottom: paddingBottom + insetBottom,
66
+ paddingLeft: paddingLeft + insetLeft
67
+ };
68
+ return [style, paddingStyle];
69
+ }, [style, insets, mode, edgeBitmask]);
70
+ return /* @__PURE__ */_jsx(View, {
71
+ style: appliedStyle,
72
+ ...rest,
73
+ ref
75
74
  });
75
+ });
76
76
  export { SafeAreaView };
77
77
  //# sourceMappingURL=SafeAreaView.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["jsx","_jsx","React","View","StyleSheet","useSafeAreaInsets","TOP","RIGHT","BOTTOM","LEFT","ALL","edgeBitmaskMap","top","right","bottom","left","SafeAreaView","forwardRef","param","ref","style","mode","edges","rest","insets","edgeBitmask","Array","isArray","reduce","acc","edge","Object","keys","appliedStyle","useMemo","insetTop","insetRight","insetBottom","insetLeft","flatStyle","flatten","margin","marginVertical","marginHorizontal","marginTop","marginRight","marginBottom","marginLeft","marginStyle","padding","paddingVertical","paddingHorizontal","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingStyle"],"sources":["../../src/SafeAreaView.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAAAA,GAAY,IAAAC,IAAA,QAAW;AACvB,YAASC,KAAM;AACf,SAASC,IAAA,EAAAC,UAAA,sBAAyB;AAqFzB,SAAAC,iBAAA;AA7ET,IAAAC,GAAM;EAAMC,KACN;EAAQC,MACR;EAASC,IACT;EAAOC,GACP,KAAM;EAAAC,cAIN;IACJC,GAAA,EAAKN,GAAA;IACLO,KAAA,EAAON,KAAA;IACPO,MAAA,EAAQN,MAAA;IACRO,IAAA,EAAMN;EACR;EAEaO,YAAA,GAAe,eAAMd,KAG7B,CAAAe,UAAY,WAAMC,KAAO,EAAGC,GAAA,EAAK;IACpC;QAAMC,KAAA,IAAS;QAAAC,IAAA;QAAAC,KAAA;QAAA,GAAkBC;MAE3B,IAAAL,KAAA;MACJM,MAAA,GAASnB,iBACC;MAAQoB,WACZ,GAAAH,KAAM,IAAQ,OAAaI,KAAA,CAAAC,OAAqB,CAAAL,KAAA,IAAAA,KAAe,CAAAM,MAAO,CAAC,UACvEC,GAAO,EAAAC,IAAK;QAIlB,OAAMD,GAAA,GAAAlB,cAAW,CAAAmB,IAAc;MAO/B,QAAIC,MAAA,CAASC,IAAA,CAAAV,KAAU,EAAAM,MAAA,WAAAC,GAAA,EAAAC,IAAA;QACrB,OAAAD,GAAM,GAAAlB,cAAA,CAAAmB,IAAA;MAAA,QACJpB,GAAA;MAAAuB,YAAS,GAAA/B,KAAA,CAAAgC,OAAA;QAAA,IACTC,QAAA,GAAAV,WAAiB,GAAAnB,GAAA,GAAAkB,MAAA,CAAAZ,GAAA;UAAAwB,UAAA,GAAAX,WAAA,GAAAlB,KAAA,GAAAiB,MAAA,CAAAX,KAAA;UAAAwB,WAAA,GAAAZ,WAAA,GAAAjB,MAAA,GAAAgB,MAAA,CAAAV,MAAA;UAAAwB,SAAA,GAAAb,WAAA,GAAAhB,IAAA,GAAAe,MAAA,CAAAT,IAAA;UAAAwB,SAAA,GAAAnC,UAAA,CAAAoC,OAAA,CAAApB,KAAA;QAAA,IACjBC,IAAA,eAAmB;UAAA,IACnB;cAAAoB,MAAA,GAAY;cAAAC,cAAA,GAAAD,MAAA;cAAAE,gBAAA,GAAAF,MAAA;cAAAG,SAAA,GAAAF,cAAA;cAAAG,WAAA,GAAAF,gBAAA;cAAAG,YAAA,GAAAJ,cAAA;cAAAK,UAAA,GAAAJ;YAAA,IAAAJ,SAAA;YAAAS,WAAA;cACZJ,SAAA,EAAAA,SAAc,GAAAT,QAAA;cACdU,WAAA,EAAAA,WAAe,GAAAT,UAAA;cACfU,YAAA,EAAaA,YAAA,GAAAT,WAAA;cACfU,UAAI,EAAAA,UAEE,GAAAT;YAAc;UACK,OACvB,CACAlB,KAAA,EACA4B,WAAA,CACF;QAEA;QACF;YAAAC,OAAA;YAAAC,eAAA,GAAAD,OAAA;YAAAE,iBAAA,GAAAF,OAAA;YAAAG,UAAA,GAAAF,eAAA;YAAAG,YAAA,GAAAF,iBAAA;YAAAG,aAAA,GAAAJ,eAAA;YAAAK,WAAA,GAAAJ;UAAA,IAAAZ,SAAA;UAAAiB,YAAA;YAEAJ,UAAM,EAAAA,UAAA,GAAAjB,QAAA;YACJkB,YAAU,EAAAA,YAAA,GAAAjB,UAAA;YACVkB,aAAA,EAAAA,aAAkB,GAAAjB,WAAA;YAClBkB,WAAA,EAAAA,WAAoB,GAAAjB;UAAA;QACP,OACb,CACAlB,KAAA,EACAoC,YAAA,CACF;MAEqB,IACMpC,KACzB,EAA6BI,MAC7B,EAA+BH,IAC/B,EACFI,WAAA,CAEA;IACF,OAAI,eAAexB,IAAM,CAAAE,IAAA;MAEzBiB,KAAO,EAAAa,YAAA;MACR,GAAAV,IAAA","ignoreList":[]}
1
+ {"version":3,"names":["jsx","_jsx","React","View","StyleSheet","useSafeAreaInsets","TOP","RIGHT","BOTTOM","LEFT","ALL","edgeBitmaskMap","top","right","bottom","left","SafeAreaView","forwardRef","param","ref","style","mode","edges","rest","insets","edgeBitmask","Array","isArray","reduce","acc","edge","Object","keys","appliedStyle","useMemo","insetTop","insetRight","insetBottom","insetLeft","flatStyle","flatten","margin","marginVertical","marginHorizontal","marginTop","marginRight","marginBottom","marginLeft","marginStyle","padding","paddingVertical","paddingHorizontal","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingStyle"],"sources":["../../src/SafeAreaView.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAAAA,GAAY,IAAAC,IAAA,QAAW;AACvB,YAASC,KAAM;AACf,SAASC,IAAA,EAAAC,UAAA,sBAAyB;AAqFzB,SAAAC,iBAAA;AA7ET,IAAAC,GAAM;AACN,IAAAC,KAAM;AACN,IAAAC,MAAM;AACN,IAAAC,IAAM;AACN,IAAAC,GAAM,KAAM;AAIZ,IAAAC,cAAM;EACJC,GAAA,EAAKN,GAAA;EACLO,KAAA,EAAON,KAAA;EACPO,MAAA,EAAQN,MAAA;EACRO,IAAA,EAAMN;AACR;AAEO,IAAAO,YAAM,kBAAqBd,KAG/B,CAAEe,UAAS,WAASC,KAAO,EAAAC,GAAG;EAC/B;IAAMC,KAAA,IAAS;IAAAC,IAAA;IAAAC,KAAA;IAAA,GAAkBC;EAAA,IAAAL,KAAA;EAEjC,IAAAM,MAAM,GAAAnB,iBACK;EAMX,IAAAoB,WAAM,GAAAH,KAAe,IAAM,OAAAI,KAAQ,CAAAC,OAAM,CAAAL,KAAA,IAAAA,KAAA,CAAAM,MAAA,WAAAC,GAAA,EAAAC,IAAA;IACvC,OAAMD,GAAA,GAAAlB,cAAW,CAAAmB,IAAc;EAC/B,QAAMC,MAAA,CAAAC,IAAA,CAAAV,KAAa,EAAAM,MAAA,WAAsBC,GAAA,EAAAC,IAAO;IAChD,OAAMD,GAAA,GAAAlB,cAAc,CAAAmB,IAAA;EACpB,QAAMpB,GAAA;EAEN,IAAAuB,YAAM,GAAA/B,KAAY,CAAAgC,OAAW,aAAa;IAE1C,IAAIC,QAAA,GAASV,WAAU,GAAAnB,GAAA,GAAAkB,MAAA,CAAAZ,GAAA;IACrB,IAAAwB,UAAM,GAAAX,WAAA,GAAAlB,KAAA,GAAAiB,MAAA,CAAAX,KAAA;IAAA,IACJwB,WAAS,GAAAZ,WAAA,GAAAjB,MAAA,GAAAgB,MAAA,CAAAV,MAAA;IAAA,IACTwB,SAAA,GAAAb,WAAiB,GAAAhB,IAAA,GAAAe,MAAA,CAAAT,IAAA;IAAA,IACjBwB,SAAA,GAAAnC,UAAmB,CAAAoC,OAAA,CAAApB,KAAA;IAAA,IACnBC,IAAA,aAAY;MAAA,IACZ;QAAAoB,MAAA,IAAc;QAAAC,cAAA,GAAAD,MAAA;QAAAE,gBAAA,GAAAF,MAAA;QAAAG,SAAA,GAAAF,cAAA;QAAAG,WAAA,GAAAF,gBAAA;QAAAG,YAAA,GAAAJ,cAAA;QAAAK,UAAA,GAAAJ;MAAA,IAAAJ,SAAA;MAAA,IACdS,WAAA,GAAe;QACfJ,SAAA,EAAAA,SAAa,GAAAT,QAAA;QACfU,WAAI,EAAAA,WAAA,GAAAT,UAAA;QAEJU,YAAM,EAAAA,YAAc,GAAAT,WAAA;QAClBU,UAAA,EAAWA,UAAA,GAAYT;MAAA;MACI,OAC3B,CACAlB,KAAA,EACF4B,WAAA,CAEA;IACF;IAEA;MAAMC,OAAA;MAAAC,eAAA,GAAAD,OAAA;MAAAE,iBAAA,GAAAF,OAAA;MAAAG,UAAA,GAAAF,eAAA;MAAAG,YAAA,GAAAF,iBAAA;MAAAG,aAAA,GAAAJ,eAAA;MAAAK,WAAA,GAAAJ;IAAA,IAAAZ,SAAA;IAAA,IACJiB,YAAU;MACVJ,UAAA,EAAAA,UAAkB,GAAAjB,QAAA;MAClBkB,YAAA,EAAAA,YAAoB,GAAAjB,UAAA;MACpBkB,aAAa,EAAAA,aAAA,GAAAjB,WAAA;MACbkB,WAAA,EAAAA,WAAe,GAAAjB;IAAA;IACC,OAChB,CACFlB,KAAI,EAEJoC,YAAM,CAAe;EACM,IACIpC,KAC7B,EAA+BI,MAC/B,EACFH,IAAA,EAEAI,WAAQ,CACV;EAEA,OAAO,eAAAxB,IAAC,CAAAE,IAAA;IACTiB,KAAA,EAAAa,YAAA","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vxrn/safe-area",
3
- "version": "1.14.4",
3
+ "version": "1.15.0",
4
4
  "source": "src/index.ts",
5
5
  "types": "./types/index.d.ts",
6
6
  "type": "module",
@@ -28,6 +28,6 @@
28
28
  },
29
29
  "devDependencies": {
30
30
  "@biomejs/biome": "2.3.3",
31
- "@tamagui/build": "2.0.0-rc.32"
31
+ "@tamagui/build": "2.0.0-rc.36-1775258360494"
32
32
  }
33
33
  }
@@ -24,6 +24,8 @@ export interface SafeAreaProviderProps {
24
24
  initialSafeAreaInsets?: EdgeInsets | null
25
25
  }
26
26
 
27
+ const ZERO_INSETS: EdgeInsets = { top: 0, bottom: 0, left: 0, right: 0 }
28
+
27
29
  export function SafeAreaProvider({
28
30
  children,
29
31
  initialMetrics,
@@ -32,8 +34,12 @@ export function SafeAreaProvider({
32
34
  }: SafeAreaProviderProps) {
33
35
  const parentInsets = useParentSafeAreaInsets()
34
36
  const parentFrame = useParentSafeAreaFrame()
35
- const [insets, setInsets] = React.useState<EdgeInsets | null>(
36
- initialMetrics?.insets ?? initialSafeAreaInsets ?? parentInsets ?? null
37
+ // default to zero insets so useSafeAreaInsets() doesn't throw on the first
38
+ // render. Real insets are populated shortly after mount (on web via
39
+ // NativeSafeAreaProvider's useEffect DOM measurement, on native via the
40
+ // native insetChanged event).
41
+ const [insets, setInsets] = React.useState<EdgeInsets>(
42
+ initialMetrics?.insets ?? initialSafeAreaInsets ?? parentInsets ?? ZERO_INSETS
37
43
  )
38
44
  const [frame, setFrame] = React.useState<Rect>(
39
45
  initialMetrics?.frame ??
@@ -1 +1 @@
1
- {"version":3,"file":"SafeAreaContext.d.ts","sourceRoot":"","sources":["../src/SafeAreaContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,OAAO,KAAK,EAAE,UAAU,EAAqB,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAIpF,eAAO,MAAM,qBAAqB,kCAA+C,CAAA;AAKjF,eAAO,MAAM,oBAAoB,4BAAyC,CAAA;AAK1E,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,cAAc,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;IAC/B;;OAEG;IACH,qBAAqB,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;CAC1C;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,cAAc,EACd,qBAAqB,EACrB,GAAG,MAAM,EACV,EAAE,qBAAqB,2CA4DvB;AAaD,wBAAgB,iBAAiB,IAAI,UAAU,CAM9C;AAED,wBAAgB,gBAAgB,IAAI,IAAI,CAMvC;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,MAAM,EAAE,UAAU,CAAA;CACnB,CAAA;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAClC,gBAAgB,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,GAAG,uBAAuB,CAAC,GACjE,KAAK,CAAC,yBAAyB,CAChC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CACxD,CAMA;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,UAAU,CAExC;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,mCAAiC,CAAA;AAE9D;;GAEG;AACH,eAAO,MAAM,eAAe,kCAAwB,CAAA"}
1
+ {"version":3,"file":"SafeAreaContext.d.ts","sourceRoot":"","sources":["../src/SafeAreaContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,OAAO,KAAK,EAAE,UAAU,EAAqB,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAIpF,eAAO,MAAM,qBAAqB,kCAA+C,CAAA;AAKjF,eAAO,MAAM,oBAAoB,4BAAyC,CAAA;AAK1E,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,cAAc,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;IAC/B;;OAEG;IACH,qBAAqB,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;CAC1C;AAID,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,cAAc,EACd,qBAAqB,EACrB,GAAG,MAAM,EACV,EAAE,qBAAqB,2CAgEvB;AAaD,wBAAgB,iBAAiB,IAAI,UAAU,CAM9C;AAED,wBAAgB,gBAAgB,IAAI,IAAI,CAMvC;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,MAAM,EAAE,UAAU,CAAA;CACnB,CAAA;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAClC,gBAAgB,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,GAAG,uBAAuB,CAAC,GACjE,KAAK,CAAC,yBAAyB,CAChC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CACxD,CAMA;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,UAAU,CAExC;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,mCAAiC,CAAA;AAE9D;;GAEG;AACH,eAAO,MAAM,eAAe,kCAAwB,CAAA"}