@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.
- package/.turbo/turbo-build.log +2 -0
- package/dist/cjs/InitialWindow.cjs +30 -0
- package/dist/cjs/InitialWindow.native.js +33 -0
- package/dist/cjs/InitialWindow.native.js.map +1 -0
- package/dist/cjs/NativeSafeAreaProvider.cjs +162 -0
- package/dist/cjs/NativeSafeAreaProvider.native.js +173 -0
- package/dist/cjs/NativeSafeAreaProvider.native.js.map +1 -0
- package/dist/cjs/SafeArea-types.cjs +18 -0
- package/dist/cjs/SafeArea-types.native.js +21 -0
- package/dist/cjs/SafeArea-types.native.js.map +1 -0
- package/dist/cjs/SafeAreaContext.cjs +149 -0
- package/dist/cjs/SafeAreaContext.native.js +154 -0
- package/dist/cjs/SafeAreaContext.native.js.map +1 -0
- package/dist/cjs/SafeAreaView.cjs +123 -0
- package/dist/cjs/SafeAreaView.native.js +133 -0
- package/dist/cjs/SafeAreaView.native.js.map +1 -0
- package/dist/cjs/getWindowFrame.cjs +35 -0
- package/dist/cjs/getWindowFrame.native.js +43 -0
- package/dist/cjs/getWindowFrame.native.js.map +1 -0
- package/dist/cjs/index.cjs +22 -0
- package/dist/cjs/index.native.js +25 -0
- package/dist/cjs/index.native.js.map +1 -0
- package/dist/esm/InitialWindow.mjs +4 -0
- package/dist/esm/InitialWindow.mjs.map +1 -0
- package/dist/esm/InitialWindow.native.js +4 -0
- package/dist/esm/InitialWindow.native.js.map +1 -0
- package/dist/esm/NativeSafeAreaProvider.mjs +126 -0
- package/dist/esm/NativeSafeAreaProvider.mjs.map +1 -0
- package/dist/esm/NativeSafeAreaProvider.native.js +134 -0
- package/dist/esm/NativeSafeAreaProvider.native.js.map +1 -0
- package/dist/esm/SafeArea-types.mjs +2 -0
- package/dist/esm/SafeArea-types.mjs.map +1 -0
- package/dist/esm/SafeArea-types.native.js +2 -0
- package/dist/esm/SafeArea-types.native.js.map +1 -0
- package/dist/esm/SafeAreaContext.mjs +105 -0
- package/dist/esm/SafeAreaContext.mjs.map +1 -0
- package/dist/esm/SafeAreaContext.native.js +107 -0
- package/dist/esm/SafeAreaContext.native.js.map +1 -0
- package/dist/esm/SafeAreaView.mjs +87 -0
- package/dist/esm/SafeAreaView.mjs.map +1 -0
- package/dist/esm/SafeAreaView.native.js +94 -0
- package/dist/esm/SafeAreaView.native.js.map +1 -0
- package/dist/esm/getWindowFrame.mjs +10 -0
- package/dist/esm/getWindowFrame.mjs.map +1 -0
- package/dist/esm/getWindowFrame.native.js +15 -0
- package/dist/esm/getWindowFrame.native.js.map +1 -0
- package/dist/esm/index.js +4 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/index.mjs +4 -0
- package/dist/esm/index.mjs.map +1 -0
- package/dist/esm/index.native.js +4 -0
- package/dist/esm/index.native.js.map +1 -0
- package/package.json +1 -1
- package/types/InitialWindow.d.ts.map +1 -0
- package/types/NativeSafeAreaProvider.d.ts.map +1 -0
- package/types/SafeArea-types.d.ts.map +1 -0
- package/types/SafeAreaContext.d.ts.map +1 -0
- package/types/SafeAreaView.d.ts.map +1 -0
- package/types/getWindowFrame.d.ts.map +1 -0
- package/types/getWindowFrame.native.d.ts.map +1 -0
- package/types/index.d.ts.map +1 -0
|
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,8BAAA;AAAAC,QAAA,CAAAD,8BAAA;EAAAE,sBAAA,EAAAA,CAAA,KAAAA;AAAA;AAEAC,MAAA,CAAAC,OAAuB,GAAAT,YAAA,CAAAK,8BAAA;AA0EZ,IAAAK,kBAAA,GAAAC,OAAA;AA/DX,IAAAC,KAAM,GAAAC,OAAA,CAAAF,OAAyC;AAAA,SAC7CG,SAAAC,GAAkB;EAClB,uBAAY;;EACZ,OAAAA,GAAA,WAAeC,MAAA,oBAAAD,GAAA,CAAAE,WAAA,KAAAD,MAAA,qBAAAD,GAAA;AAAA;AACD,IACdG,cAAa;EACfC,gBAAA;EAEOC,UAAS;EACdC,aAAA;EACAC,YAAA;EACAC,WAAA;AACF;AACE,SAAMhB,sBAAgBA,CAAAiB,KAAA;EAEpB;IAAIC,QAAO;IAAAC,KAAA;IAAAC;EAAa,CAAa,GAAAH,KAAA;EACnCZ,KAAA,CAAAgB,SAAA;IACF,WAAAC,QAAA;MAEA;IACA;IACA,IAAAC,OAAM,GAAQC,oBAAM;IAClBF,QAAM,CAAAG,IAAE,CAAAC,WAAY,CAAAH,OAAA;IAGpB,IAAAI,KAAM,YAAAA,CAAA,EAAS;MAAA,IACb;QAAAC,UAAK;QAAAC,aAAoB;QAAAC,WAAS;QAAAC;MAAkB,IAAAC,MAAA,CAAAC,gBAAA,CAAAV,OAAA;MAAA,IACpDW,MAAQ;QACRC,GAAA,EAAAP,UAAM,GAAAQ,MAAc,CAAAC,QAAO,CAAAT,UAAS,KAAa,GAAE;QACnDU,MAAA,EAAOT,aAAA,GAAeO,MAAO,CAAAC,QAAS,CAAAR,aAAc,EAAE,GAAI;QAC5DU,IAAA,EAAAT,WAAA,GAAAM,MAAA,CAAAC,QAAA,CAAAP,WAAA;QACAU,KAAM,EAAAT,YAAQ,GAAAK,MAAA,CAAAC,QAAA,CAAAN,YAAA;MAAA;MACT,IACHU,KAAG;QACHC,CAAA;QACAC,CAAA;QACFC,KAAA,EAAAtB,QAAA,CAAAuB,eAAA,CAAAC,WAAA;QAEAC,MAAA,EAAAzB,QAAiB,CAAAuB,eAAe,CAAAG;MAClC;MACA5B,cAAQ;QACR6B,WAAM;UACNf,MAAO;UACLO;QACA;MACF;IACF,CAAG;IAKHlB,OAAI,CAAA2B,gBAAO,CAAAC,2BAAA,IAAAxB,KAAA;IACTA,KAAA,CAAM;IACN,OAAM;MAGNL,QAAM,CAAAG,IAAA,CAAA2B,WAAiB,CAAA7B,OAAY;MACjCA,OAAC,CAAA8B,mBACC,CAASF,2BAAiB,CACtB,GAAAxB,KAAO;IACP;EACL,GACH,CACAP,cAAO,CACT;EAEA,IAAAD,KAAO;IACT,IAAAmC,UAAA,GAAAnC,KAAA;IAEI,IAAAoC,WAAA,GAAAC,KAAA,CAAAC,OAAuD,CAAAH,UAAA,IAAAA,UAAA,CAAAI,IAAA,CAAAtB,MAAA,CAAAuB,iBAAA,KAC3DL,UAAS,CACP;IACE,IAAAM,cAAO,GAAAL,WAAA,CAAAM,MAAA,WAAAC,MAAA,EAAAjE,KAAA;MACT,OAAAA,KAAA,YAAAA,KAAA,iCAAAU,QAAA,CAAAV,KAAA,kBAAAkE,MAAA,CAAAC,MAAA,CAAAF,MAAA,EAAAjE,KAAA,IAAAiE,MAAA;IACA,IAAM;IAEN,0BAA4B3D,kBAAe,CAAA8D,GAAA;MAC3C9C,KAAA,EAAWyC,cAAO;MAChB1C;IACE;EACA;EAAA,OACF,mBAAAf,kBAAA,CAAA8D,GAAA;IACF9C,KAAA;MACA+C,OAAO;IACT;IAIIhD;EACJ;AACE;AACE,IAAAiD,yBAAO;AAAA,SACThB,4BAAA;EACA,IAAAgB,yBAAgB;IAChB,OAAIA,yBAA2B;EAC7B;EACF,IAAA5C,OAAO,GAAAD,QAAA,CAAA8C,aAAA;EACLD,yBAAgB,GAAAxD,cAAA,CAAAE,UAAA;EAClB,SAAAwD,GAAA,IAAA1D,cAAA;IACA,IAAAY,OAAO,CAAAJ,KAAA,CAAAkD,GAAA;MACTF,yBAAA,GAAAxD,cAAA,CAAA0D,GAAA;MAEA;IACE;EACF;EAEA,OAASF,yBAAoC;AAC3C;AACA,IAAAG,aAAc,GAAI;AAClB,SAAMC,eAAWA,CAAA;EACjB,IAAAD,aAAa;IACb,OAAMA,aAAM;EACZ;EACA;IAAME;EAAA,IAAAxC,MAAS;EACf,IAAAwC,GAAM,IAAAA,GAAA,CAASC,QAAA,IAAAD,GAAA,CAAAC,QAAA;IACfH,aAAM,GAAW;EACjB,OAAM;IAENA,aAAM;EACN;EACA,OAAMA,aAAA;AACN;AACA,SAAMI,SAAAC,IAAA,EAAgB;EACtB,OAAM,GAAAJ,eAAc,sBAAeI,IAAA;AACnC;AACA,SAAOnD,qBAAA;EACT,IAAAD,OAAA,GAAAD,QAAA,CAAA8C,aAAA","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;
|