@vxrn/safe-area 1.25.5 → 1.25.7

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 (61) hide show
  1. package/.turbo/turbo-build.log +2 -0
  2. package/dist/cjs/InitialWindow.cjs +30 -0
  3. package/dist/cjs/InitialWindow.native.js +33 -0
  4. package/dist/cjs/InitialWindow.native.js.map +1 -0
  5. package/dist/cjs/NativeSafeAreaProvider.cjs +162 -0
  6. package/dist/cjs/NativeSafeAreaProvider.native.js +173 -0
  7. package/dist/cjs/NativeSafeAreaProvider.native.js.map +1 -0
  8. package/dist/cjs/SafeArea-types.cjs +18 -0
  9. package/dist/cjs/SafeArea-types.native.js +21 -0
  10. package/dist/cjs/SafeArea-types.native.js.map +1 -0
  11. package/dist/cjs/SafeAreaContext.cjs +149 -0
  12. package/dist/cjs/SafeAreaContext.native.js +154 -0
  13. package/dist/cjs/SafeAreaContext.native.js.map +1 -0
  14. package/dist/cjs/SafeAreaView.cjs +123 -0
  15. package/dist/cjs/SafeAreaView.native.js +133 -0
  16. package/dist/cjs/SafeAreaView.native.js.map +1 -0
  17. package/dist/cjs/getWindowFrame.cjs +35 -0
  18. package/dist/cjs/getWindowFrame.native.js +43 -0
  19. package/dist/cjs/getWindowFrame.native.js.map +1 -0
  20. package/dist/cjs/index.cjs +22 -0
  21. package/dist/cjs/index.native.js +25 -0
  22. package/dist/cjs/index.native.js.map +1 -0
  23. package/dist/esm/InitialWindow.mjs +4 -0
  24. package/dist/esm/InitialWindow.mjs.map +1 -0
  25. package/dist/esm/InitialWindow.native.js +4 -0
  26. package/dist/esm/InitialWindow.native.js.map +1 -0
  27. package/dist/esm/NativeSafeAreaProvider.mjs +126 -0
  28. package/dist/esm/NativeSafeAreaProvider.mjs.map +1 -0
  29. package/dist/esm/NativeSafeAreaProvider.native.js +134 -0
  30. package/dist/esm/NativeSafeAreaProvider.native.js.map +1 -0
  31. package/dist/esm/SafeArea-types.mjs +2 -0
  32. package/dist/esm/SafeArea-types.mjs.map +1 -0
  33. package/dist/esm/SafeArea-types.native.js +2 -0
  34. package/dist/esm/SafeArea-types.native.js.map +1 -0
  35. package/dist/esm/SafeAreaContext.mjs +105 -0
  36. package/dist/esm/SafeAreaContext.mjs.map +1 -0
  37. package/dist/esm/SafeAreaContext.native.js +107 -0
  38. package/dist/esm/SafeAreaContext.native.js.map +1 -0
  39. package/dist/esm/SafeAreaView.mjs +87 -0
  40. package/dist/esm/SafeAreaView.mjs.map +1 -0
  41. package/dist/esm/SafeAreaView.native.js +94 -0
  42. package/dist/esm/SafeAreaView.native.js.map +1 -0
  43. package/dist/esm/getWindowFrame.mjs +10 -0
  44. package/dist/esm/getWindowFrame.mjs.map +1 -0
  45. package/dist/esm/getWindowFrame.native.js +15 -0
  46. package/dist/esm/getWindowFrame.native.js.map +1 -0
  47. package/dist/esm/index.js +4 -0
  48. package/dist/esm/index.js.map +1 -0
  49. package/dist/esm/index.mjs +4 -0
  50. package/dist/esm/index.mjs.map +1 -0
  51. package/dist/esm/index.native.js +4 -0
  52. package/dist/esm/index.native.js.map +1 -0
  53. package/package.json +1 -1
  54. package/types/InitialWindow.d.ts.map +1 -0
  55. package/types/NativeSafeAreaProvider.d.ts.map +1 -0
  56. package/types/SafeArea-types.d.ts.map +1 -0
  57. package/types/SafeAreaContext.d.ts.map +1 -0
  58. package/types/SafeAreaView.d.ts.map +1 -0
  59. package/types/getWindowFrame.d.ts.map +1 -0
  60. package/types/getWindowFrame.native.d.ts.map +1 -0
  61. package/types/index.d.ts.map +1 -0
@@ -0,0 +1,2 @@
1
+ $ tamagui-build
2
+ built @vxrn/safe-area in 2347 ms
@@ -0,0 +1,30 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: true
9
+ });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
14
+ get: () => from[key],
15
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
+ });
17
+ }
18
+ return to;
19
+ };
20
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
+ value: true
22
+ }), mod);
23
+ var InitialWindow_exports = {};
24
+ __export(InitialWindow_exports, {
25
+ initialWindowMetrics: () => initialWindowMetrics,
26
+ initialWindowSafeAreaInsets: () => initialWindowSafeAreaInsets
27
+ });
28
+ module.exports = __toCommonJS(InitialWindow_exports);
29
+ const initialWindowMetrics = null;
30
+ const initialWindowSafeAreaInsets = null;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
25
+ var InitialWindow_exports = {};
26
+ __export(InitialWindow_exports, {
27
+ initialWindowMetrics: () => initialWindowMetrics,
28
+ initialWindowSafeAreaInsets: () => initialWindowSafeAreaInsets
29
+ });
30
+ module.exports = __toCommonJS(InitialWindow_exports);
31
+ var initialWindowMetrics = null;
32
+ var initialWindowSafeAreaInsets = null;
33
+ //# sourceMappingURL=InitialWindow.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","InitialWindow_exports","__export","initialWindowMetrics","initialWindowSafeAreaInsets","module","exports"],"sources":["../../src/InitialWindow.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,qBAAA;AAAAC,QAAA,CAAAD,qBAAA;EAAAE,oBAAA,EAAAA,CAAA,KAAAA,oBAAA;EAAAC,2BAAA,EAAAA,CAAA,KAAAA;AAAA;AAEOC,MAAM,CAAAC,OAAA,GAAAV,YAAuC,CAAAK,qBAAA;AAK7C,IAAAE,oBAAM","ignoreList":[]}
@@ -0,0 +1,162 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
23
+ // If the importer is in node compatibility mode or this is not an ESM
24
+ // file that has been converted to a CommonJS file using a Babel-
25
+ // compatible transform (i.e. "__esModule" has not been set), then set
26
+ // "default" to the CommonJS "module.exports" for node compatibility.
27
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
28
+ value: mod,
29
+ enumerable: true
30
+ }) : target, mod));
31
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
32
+ value: true
33
+ }), mod);
34
+ var NativeSafeAreaProvider_exports = {};
35
+ __export(NativeSafeAreaProvider_exports, {
36
+ NativeSafeAreaProvider: () => NativeSafeAreaProvider
37
+ });
38
+ module.exports = __toCommonJS(NativeSafeAreaProvider_exports);
39
+ var React = __toESM(require("react"), 1);
40
+ var import_jsx_runtime = require("react/jsx-runtime");
41
+ const CSSTransitions = {
42
+ WebkitTransition: "webkitTransitionEnd",
43
+ Transition: "transitionEnd",
44
+ MozTransition: "transitionend",
45
+ MSTransition: "msTransitionEnd",
46
+ OTransition: "oTransitionEnd"
47
+ };
48
+ function NativeSafeAreaProvider({
49
+ children,
50
+ style,
51
+ onInsetsChange
52
+ }) {
53
+ React.useEffect(() => {
54
+ if (typeof document === "undefined") {
55
+ return;
56
+ }
57
+ const element = createContextElement();
58
+ document.body.appendChild(element);
59
+ const onEnd = () => {
60
+ const {
61
+ paddingTop,
62
+ paddingBottom,
63
+ paddingLeft,
64
+ paddingRight
65
+ } = window.getComputedStyle(element);
66
+ const insets = {
67
+ top: paddingTop ? Number.parseInt(paddingTop, 10) : 0,
68
+ bottom: paddingBottom ? Number.parseInt(paddingBottom, 10) : 0,
69
+ left: paddingLeft ? Number.parseInt(paddingLeft, 10) : 0,
70
+ right: paddingRight ? Number.parseInt(paddingRight, 10) : 0
71
+ };
72
+ const frame = {
73
+ x: 0,
74
+ y: 0,
75
+ width: document.documentElement.offsetWidth,
76
+ height: document.documentElement.offsetHeight
77
+ };
78
+ onInsetsChange({
79
+ nativeEvent: {
80
+ insets,
81
+ frame
82
+ }
83
+ });
84
+ };
85
+ element.addEventListener(getSupportedTransitionEvent(), onEnd);
86
+ onEnd();
87
+ return () => {
88
+ document.body.removeChild(element);
89
+ element.removeEventListener(getSupportedTransitionEvent(), onEnd);
90
+ };
91
+ }, [onInsetsChange]);
92
+ if (style) {
93
+ const styleValue = style;
94
+ const styleValues = Array.isArray(styleValue) ? styleValue.flat(Number.POSITIVE_INFINITY) : [styleValue];
95
+ const flattenedStyle = styleValues.reduce((result, value) => value && typeof value === "object" ? Object.assign(result, value) : result, {});
96
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)("div", {
97
+ style: flattenedStyle,
98
+ children
99
+ });
100
+ }
101
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)("div", {
102
+ style: {
103
+ display: "contents"
104
+ },
105
+ children
106
+ });
107
+ }
108
+ let _supportedTransitionEvent = null;
109
+ function getSupportedTransitionEvent() {
110
+ if (_supportedTransitionEvent != null) {
111
+ return _supportedTransitionEvent;
112
+ }
113
+ const element = document.createElement("invalidtype");
114
+ _supportedTransitionEvent = CSSTransitions.Transition;
115
+ for (const key in CSSTransitions) {
116
+ if (element.style[key] !== void 0) {
117
+ _supportedTransitionEvent = CSSTransitions[key];
118
+ break;
119
+ }
120
+ }
121
+ return _supportedTransitionEvent;
122
+ }
123
+ let _supportedEnv = null;
124
+ function getSupportedEnv() {
125
+ if (_supportedEnv !== null) {
126
+ return _supportedEnv;
127
+ }
128
+ const {
129
+ CSS
130
+ } = window;
131
+ if (CSS && CSS.supports && CSS.supports("top: constant(safe-area-inset-top)")) {
132
+ _supportedEnv = "constant";
133
+ } else {
134
+ _supportedEnv = "env";
135
+ }
136
+ return _supportedEnv;
137
+ }
138
+ function getInset(side) {
139
+ return `${getSupportedEnv()}(safe-area-inset-${side})`;
140
+ }
141
+ function createContextElement() {
142
+ const element = document.createElement("div");
143
+ const {
144
+ style
145
+ } = element;
146
+ style.position = "fixed";
147
+ style.left = "0";
148
+ style.top = "0";
149
+ style.width = "0";
150
+ style.height = "0";
151
+ style.zIndex = "-1";
152
+ style.overflow = "hidden";
153
+ style.visibility = "hidden";
154
+ style.transitionDuration = "0.05s";
155
+ style.transitionProperty = "padding";
156
+ style.transitionDelay = "0s";
157
+ style.paddingTop = getInset("top");
158
+ style.paddingBottom = getInset("bottom");
159
+ style.paddingLeft = getInset("left");
160
+ style.paddingRight = getInset("right");
161
+ return element;
162
+ }
@@ -0,0 +1,173 @@
1
+ "use strict";
2
+
3
+ var __create = Object.create;
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getProtoOf = Object.getPrototypeOf;
8
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __export = (target, all) => {
10
+ for (var name in all) __defProp(target, name, {
11
+ get: all[name],
12
+ enumerable: true
13
+ });
14
+ };
15
+ var __copyProps = (to, from, except, desc) => {
16
+ if (from && typeof from === "object" || typeof from === "function") {
17
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
18
+ get: () => from[key],
19
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
20
+ });
21
+ }
22
+ return to;
23
+ };
24
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
25
+ // If the importer is in node compatibility mode or this is not an ESM
26
+ // file that has been converted to a CommonJS file using a Babel-
27
+ // compatible transform (i.e. "__esModule" has not been set), then set
28
+ // "default" to the CommonJS "module.exports" for node compatibility.
29
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
30
+ value: mod,
31
+ enumerable: true
32
+ }) : target, mod));
33
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
34
+ value: true
35
+ }), mod);
36
+ var NativeSafeAreaProvider_exports = {};
37
+ __export(NativeSafeAreaProvider_exports, {
38
+ NativeSafeAreaProvider: () => NativeSafeAreaProvider
39
+ });
40
+ module.exports = __toCommonJS(NativeSafeAreaProvider_exports);
41
+ var import_jsx_runtime = require("react/jsx-runtime");
42
+ var React = __toESM(require("react"), 1);
43
+ function _type_of(obj) {
44
+ "@swc/helpers - typeof";
45
+
46
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
47
+ }
48
+ var CSSTransitions = {
49
+ WebkitTransition: "webkitTransitionEnd",
50
+ Transition: "transitionEnd",
51
+ MozTransition: "transitionend",
52
+ MSTransition: "msTransitionEnd",
53
+ OTransition: "oTransitionEnd"
54
+ };
55
+ function NativeSafeAreaProvider(param) {
56
+ var {
57
+ children,
58
+ style,
59
+ onInsetsChange
60
+ } = param;
61
+ React.useEffect(function () {
62
+ if (typeof document === "undefined") {
63
+ return;
64
+ }
65
+ var element = createContextElement();
66
+ document.body.appendChild(element);
67
+ var onEnd = function () {
68
+ var {
69
+ paddingTop,
70
+ paddingBottom,
71
+ paddingLeft,
72
+ paddingRight
73
+ } = window.getComputedStyle(element);
74
+ var insets = {
75
+ top: paddingTop ? Number.parseInt(paddingTop, 10) : 0,
76
+ bottom: paddingBottom ? Number.parseInt(paddingBottom, 10) : 0,
77
+ left: paddingLeft ? Number.parseInt(paddingLeft, 10) : 0,
78
+ right: paddingRight ? Number.parseInt(paddingRight, 10) : 0
79
+ };
80
+ var frame = {
81
+ x: 0,
82
+ y: 0,
83
+ width: document.documentElement.offsetWidth,
84
+ height: document.documentElement.offsetHeight
85
+ };
86
+ onInsetsChange({
87
+ nativeEvent: {
88
+ insets,
89
+ frame
90
+ }
91
+ });
92
+ };
93
+ element.addEventListener(getSupportedTransitionEvent(), onEnd);
94
+ onEnd();
95
+ return function () {
96
+ document.body.removeChild(element);
97
+ element.removeEventListener(getSupportedTransitionEvent(), onEnd);
98
+ };
99
+ }, [onInsetsChange]);
100
+ if (style) {
101
+ var styleValue = style;
102
+ var styleValues = Array.isArray(styleValue) ? styleValue.flat(Number.POSITIVE_INFINITY) : [styleValue];
103
+ var flattenedStyle = styleValues.reduce(function (result, value) {
104
+ return value && (typeof value === "undefined" ? "undefined" : _type_of(value)) === "object" ? Object.assign(result, value) : result;
105
+ }, {});
106
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)("div", {
107
+ style: flattenedStyle,
108
+ children
109
+ });
110
+ }
111
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)("div", {
112
+ style: {
113
+ display: "contents"
114
+ },
115
+ children
116
+ });
117
+ }
118
+ var _supportedTransitionEvent = null;
119
+ function getSupportedTransitionEvent() {
120
+ if (_supportedTransitionEvent != null) {
121
+ return _supportedTransitionEvent;
122
+ }
123
+ var element = document.createElement("invalidtype");
124
+ _supportedTransitionEvent = CSSTransitions.Transition;
125
+ for (var key in CSSTransitions) {
126
+ if (element.style[key] !== void 0) {
127
+ _supportedTransitionEvent = CSSTransitions[key];
128
+ break;
129
+ }
130
+ }
131
+ return _supportedTransitionEvent;
132
+ }
133
+ var _supportedEnv = null;
134
+ function getSupportedEnv() {
135
+ if (_supportedEnv !== null) {
136
+ return _supportedEnv;
137
+ }
138
+ var {
139
+ CSS
140
+ } = window;
141
+ if (CSS && CSS.supports && CSS.supports("top: constant(safe-area-inset-top)")) {
142
+ _supportedEnv = "constant";
143
+ } else {
144
+ _supportedEnv = "env";
145
+ }
146
+ return _supportedEnv;
147
+ }
148
+ function getInset(side) {
149
+ return `${getSupportedEnv()}(safe-area-inset-${side})`;
150
+ }
151
+ function createContextElement() {
152
+ var element = document.createElement("div");
153
+ var {
154
+ style
155
+ } = element;
156
+ style.position = "fixed";
157
+ style.left = "0";
158
+ style.top = "0";
159
+ style.width = "0";
160
+ style.height = "0";
161
+ style.zIndex = "-1";
162
+ style.overflow = "hidden";
163
+ style.visibility = "hidden";
164
+ style.transitionDuration = "0.05s";
165
+ style.transitionProperty = "padding";
166
+ style.transitionDelay = "0s";
167
+ style.paddingTop = getInset("top");
168
+ style.paddingBottom = getInset("bottom");
169
+ style.paddingLeft = getInset("left");
170
+ style.paddingRight = getInset("right");
171
+ return element;
172
+ }
173
+ //# sourceMappingURL=NativeSafeAreaProvider.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","NativeSafeAreaProvider_exports","__export","NativeSafeAreaProvider","module","exports","import_jsx_runtime","require","React","__toESM","_type_of","obj","Symbol","constructor","CSSTransitions","WebkitTransition","Transition","MozTransition","MSTransition","OTransition","param","children","style","onInsetsChange","useEffect","document","element","createContextElement","body","appendChild","onEnd","paddingTop","paddingBottom","paddingLeft","paddingRight","window","getComputedStyle","insets","top","Number","parseInt","bottom","left","right","frame","x","y","width","documentElement","offsetWidth","height","offsetHeight","nativeEvent","addEventListener","getSupportedTransitionEvent","removeChild","removeEventListener","styleValue","styleValues","Array","isArray","flat","POSITIVE_INFINITY","flattenedStyle","reduce","result","Object","assign","jsx","display","_supportedTransitionEvent","createElement","key","_supportedEnv","getSupportedEnv","CSS","supports","getInset","side"],"sources":["../../src/NativeSafeAreaProvider.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,18 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __copyProps = (to, from, except, desc) => {
6
+ if (from && typeof from === "object" || typeof from === "function") {
7
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
8
+ get: () => from[key],
9
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
10
+ });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
15
+ value: true
16
+ }), mod);
17
+ var SafeArea_types_exports = {};
18
+ module.exports = __toCommonJS(SafeArea_types_exports);
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __copyProps = (to, from, except, desc) => {
8
+ if (from && typeof from === "object" || typeof from === "function") {
9
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
10
+ get: () => from[key],
11
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
12
+ });
13
+ }
14
+ return to;
15
+ };
16
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
17
+ value: true
18
+ }), mod);
19
+ var SafeArea_types_exports = {};
20
+ module.exports = __toCommonJS(SafeArea_types_exports);
21
+ //# sourceMappingURL=SafeArea-types.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","SafeArea_types_exports"],"sources":["../../src/SafeArea-types.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,sBAAA","ignoreList":[]}
@@ -0,0 +1,149 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
23
+ // If the importer is in node compatibility mode or this is not an ESM
24
+ // file that has been converted to a CommonJS file using a Babel-
25
+ // compatible transform (i.e. "__esModule" has not been set), then set
26
+ // "default" to the CommonJS "module.exports" for node compatibility.
27
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
28
+ value: mod,
29
+ enumerable: true
30
+ }) : target, mod));
31
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
32
+ value: true
33
+ }), mod);
34
+ var SafeAreaContext_exports = {};
35
+ __export(SafeAreaContext_exports, {
36
+ SafeAreaConsumer: () => SafeAreaConsumer,
37
+ SafeAreaContext: () => SafeAreaContext,
38
+ SafeAreaFrameContext: () => SafeAreaFrameContext,
39
+ SafeAreaInsetsContext: () => SafeAreaInsetsContext,
40
+ SafeAreaProvider: () => SafeAreaProvider,
41
+ useSafeArea: () => useSafeArea,
42
+ useSafeAreaFrame: () => useSafeAreaFrame,
43
+ useSafeAreaInsets: () => useSafeAreaInsets,
44
+ withSafeAreaInsets: () => withSafeAreaInsets
45
+ });
46
+ module.exports = __toCommonJS(SafeAreaContext_exports);
47
+ var React = __toESM(require("react"), 1);
48
+ var import_NativeSafeAreaProvider = require("./NativeSafeAreaProvider.cjs");
49
+ var import_getWindowFrame = require("./getWindowFrame.cjs");
50
+ var import_jsx_runtime = require("react/jsx-runtime");
51
+ const isDev = process.env.NODE_ENV !== "production";
52
+ const SafeAreaInsetsContext = React.createContext(null);
53
+ if (isDev) {
54
+ SafeAreaInsetsContext.displayName = "SafeAreaInsetsContext";
55
+ }
56
+ const SafeAreaFrameContext = React.createContext(null);
57
+ if (isDev) {
58
+ SafeAreaFrameContext.displayName = "SafeAreaFrameContext";
59
+ }
60
+ const ZERO_INSETS = {
61
+ top: 0,
62
+ bottom: 0,
63
+ left: 0,
64
+ right: 0
65
+ };
66
+ function SafeAreaProvider({
67
+ children,
68
+ initialMetrics,
69
+ initialSafeAreaInsets,
70
+ ...others
71
+ }) {
72
+ const parentInsets = useParentSafeAreaInsets();
73
+ const parentFrame = useParentSafeAreaFrame();
74
+ const [insets, setInsets] = React.useState(initialMetrics?.insets ?? initialSafeAreaInsets ?? parentInsets ?? ZERO_INSETS);
75
+ const [frame, setFrame] = React.useState(initialMetrics?.frame ?? parentFrame ??
76
+ // backwards compat so we render anyway if we don't have frame.
77
+ (0, import_getWindowFrame.getWindowFrame)());
78
+ const onInsetsChange = React.useCallback(event => {
79
+ const {
80
+ nativeEvent: {
81
+ frame: nextFrame,
82
+ insets: nextInsets
83
+ }
84
+ } = event;
85
+ React.startTransition(() => {
86
+ setFrame(curFrame => {
87
+ if (
88
+ // Backwards compat with old native code that won't send frame.
89
+ nextFrame && (nextFrame.height !== curFrame.height || nextFrame.width !== curFrame.width || nextFrame.x !== curFrame.x || nextFrame.y !== curFrame.y)) {
90
+ return nextFrame;
91
+ }
92
+ return curFrame;
93
+ });
94
+ setInsets(curInsets => {
95
+ if (!curInsets || nextInsets.bottom !== curInsets.bottom || nextInsets.left !== curInsets.left || nextInsets.right !== curInsets.right || nextInsets.top !== curInsets.top) {
96
+ return nextInsets;
97
+ }
98
+ return curInsets;
99
+ });
100
+ });
101
+ }, []);
102
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_NativeSafeAreaProvider.NativeSafeAreaProvider, {
103
+ onInsetsChange,
104
+ ...others,
105
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(SafeAreaFrameContext.Provider, {
106
+ value: frame,
107
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(SafeAreaInsetsContext.Provider, {
108
+ value: insets,
109
+ children
110
+ })
111
+ })
112
+ });
113
+ }
114
+ function useParentSafeAreaInsets() {
115
+ return React.useContext(SafeAreaInsetsContext);
116
+ }
117
+ function useParentSafeAreaFrame() {
118
+ return React.useContext(SafeAreaFrameContext);
119
+ }
120
+ const NO_INSETS_ERROR = "No safe area value available. Make sure you are rendering `<SafeAreaProvider>` at the top of your app.";
121
+ function useSafeAreaInsets() {
122
+ const insets = React.useContext(SafeAreaInsetsContext);
123
+ if (insets == null) {
124
+ throw new Error(NO_INSETS_ERROR);
125
+ }
126
+ return insets;
127
+ }
128
+ function useSafeAreaFrame() {
129
+ const frame = React.useContext(SafeAreaFrameContext);
130
+ if (frame == null) {
131
+ throw new Error(NO_INSETS_ERROR);
132
+ }
133
+ return frame;
134
+ }
135
+ function withSafeAreaInsets(WrappedComponent) {
136
+ return React.forwardRef((props, ref) => {
137
+ const insets = useSafeAreaInsets();
138
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(WrappedComponent, {
139
+ ...props,
140
+ insets,
141
+ ref
142
+ });
143
+ });
144
+ }
145
+ function useSafeArea() {
146
+ return useSafeAreaInsets();
147
+ }
148
+ const SafeAreaConsumer = SafeAreaInsetsContext.Consumer;
149
+ const SafeAreaContext = SafeAreaInsetsContext;