@vxrn/safe-area 0.1.75 → 0.1.77
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/dist/cjs/NativeSafeAreaProvider.js +6 -6
- package/dist/cjs/NativeSafeAreaProvider.js.map +1 -1
- package/dist/cjs/NativeSafeAreaProvider.native.js +6 -7
- package/dist/cjs/NativeSafeAreaProvider.native.js.map +2 -2
- package/dist/cjs/SafeAreaContext.js +7 -17
- package/dist/cjs/SafeAreaContext.js.map +1 -1
- package/dist/cjs/SafeAreaContext.native.js +13 -21
- package/dist/cjs/SafeAreaContext.native.js.map +2 -2
- package/dist/esm/NativeSafeAreaProvider.js +6 -7
- package/dist/esm/NativeSafeAreaProvider.js.map +1 -1
- package/dist/esm/NativeSafeAreaProvider.mjs +6 -8
- package/dist/esm/NativeSafeAreaProvider.native.js +6 -8
- package/dist/esm/NativeSafeAreaProvider.native.js.map +2 -2
- package/dist/esm/SafeAreaContext.js +8 -18
- package/dist/esm/SafeAreaContext.js.map +1 -1
- package/dist/esm/SafeAreaContext.mjs +8 -13
- package/dist/esm/SafeAreaContext.native.js +14 -22
- package/dist/esm/SafeAreaContext.native.js.map +2 -2
- package/package.json +1 -1
- package/src/NativeSafeAreaProvider.tsx +5 -5
- package/src/SafeAreaContext.tsx +30 -41
- package/types/SafeAreaContext.d.ts +2 -3
|
@@ -25,7 +25,7 @@ __export(NativeSafeAreaProvider_exports, {
|
|
|
25
25
|
NativeSafeAreaProvider: () => NativeSafeAreaProvider
|
|
26
26
|
});
|
|
27
27
|
module.exports = __toCommonJS(NativeSafeAreaProvider_exports);
|
|
28
|
-
var React = __toESM(require("react"), 1),
|
|
28
|
+
var React = __toESM(require("react"), 1), import_jsx_runtime = require("react/jsx-runtime");
|
|
29
29
|
const CSSTransitions = {
|
|
30
30
|
WebkitTransition: "webkitTransitionEnd",
|
|
31
31
|
Transition: "transitionEnd",
|
|
@@ -45,10 +45,10 @@ function NativeSafeAreaProvider({
|
|
|
45
45
|
document.body.appendChild(element);
|
|
46
46
|
const onEnd = () => {
|
|
47
47
|
const { paddingTop, paddingBottom, paddingLeft, paddingRight } = window.getComputedStyle(element), insets = {
|
|
48
|
-
top: paddingTop ? parseInt(paddingTop, 10) : 0,
|
|
49
|
-
bottom: paddingBottom ? parseInt(paddingBottom, 10) : 0,
|
|
50
|
-
left: paddingLeft ? parseInt(paddingLeft, 10) : 0,
|
|
51
|
-
right: paddingRight ? parseInt(paddingRight, 10) : 0
|
|
48
|
+
top: paddingTop ? Number.parseInt(paddingTop, 10) : 0,
|
|
49
|
+
bottom: paddingBottom ? Number.parseInt(paddingBottom, 10) : 0,
|
|
50
|
+
left: paddingLeft ? Number.parseInt(paddingLeft, 10) : 0,
|
|
51
|
+
right: paddingRight ? Number.parseInt(paddingRight, 10) : 0
|
|
52
52
|
}, frame = {
|
|
53
53
|
x: 0,
|
|
54
54
|
y: 0,
|
|
@@ -60,7 +60,7 @@ function NativeSafeAreaProvider({
|
|
|
60
60
|
return element.addEventListener(getSupportedTransitionEvent(), onEnd), onEnd(), () => {
|
|
61
61
|
document.body.removeChild(element), element.removeEventListener(getSupportedTransitionEvent(), onEnd);
|
|
62
62
|
};
|
|
63
|
-
}, [onInsetsChange]), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
63
|
+
}, [onInsetsChange]), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children });
|
|
64
64
|
}
|
|
65
65
|
let _supportedTransitionEvent = null;
|
|
66
66
|
function getSupportedTransitionEvent() {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/NativeSafeAreaProvider.tsx"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,YAAuB,
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,YAAuB,8BA4Dd;AAhDT,MAAM,iBAAyC;AAAA,EAC7C,kBAAkB;AAAA,EAClB,YAAY;AAAA,EACZ,eAAe;AAAA,EACf,cAAc;AAAA,EACd,aAAa;AACf;AAEO,SAAS,uBAAuB;AAAA,EACrC;AAAA,EACA;AAAA,EACA;AACF,GAAgC;AAC9B,eAAM,UAAU,MAAM;AAEpB,QAAI,OAAO,WAAa;AACtB;AAGF,UAAM,UAAU,qBAAqB;AACrC,aAAS,KAAK,YAAY,OAAO;AACjC,UAAM,QAAQ,MAAM;AAClB,YAAM,EAAE,YAAY,eAAe,aAAa,aAAa,IAC3D,OAAO,iBAAiB,OAAO,GAE3B,SAAS;AAAA,QACb,KAAK,aAAa,OAAO,SAAS,YAAY,EAAE,IAAI;AAAA,QACpD,QAAQ,gBAAgB,OAAO,SAAS,eAAe,EAAE,IAAI;AAAA,QAC7D,MAAM,cAAc,OAAO,SAAS,aAAa,EAAE,IAAI;AAAA,QACvD,OAAO,eAAe,OAAO,SAAS,cAAc,EAAE,IAAI;AAAA,MAC5D,GACM,QAAQ;AAAA,QACZ,GAAG;AAAA,QACH,GAAG;AAAA,QACH,OAAO,SAAS,gBAAgB;AAAA,QAChC,QAAQ,SAAS,gBAAgB;AAAA,MACnC;AAEA,qBAAe,EAAE,aAAa,EAAE,QAAQ,MAAM,EAAE,CAAC;AAAA,IACnD;AACA,mBAAQ,iBAAiB,4BAA4B,GAAG,KAAK,GAC7D,MAAM,GACC,MAAM;AACX,eAAS,KAAK,YAAY,OAAO,GACjC,QAAQ,oBAAoB,4BAA4B,GAAG,KAAK;AAAA,IAClE;AAAA,EACF,GAAG,CAAC,cAAc,CAAC,GAEZ,2EAAG,UAAS;AACrB;AAEA,IAAI,4BAAuD;AAC3D,SAAS,8BAAsC;AAC7C,MAAI,6BAA6B;AAC/B,WAAO;AAET,QAAM,UAAU,SAAS,cAAc,aAAa;AAEpD,8BAA4B,eAAe;AAC3C,aAAW,OAAO;AAChB,QAAI,QAAQ,MAAM,GAAgC,MAAM,QAAW;AACjE,kCAA4B,eAAe,GAAG;AAC9C;AAAA,IACF;AAEF,SAAO;AACT;AAIA,IAAI,gBAA+B;AACnC,SAAS,kBAA0B;AACjC,MAAI,kBAAkB;AACpB,WAAO;AAET,QAAM,EAAE,IAAI,IAAI;AAChB,SAAI,OAAO,IAAI,YAAY,IAAI,SAAS,oCAAoC,IAC1E,gBAAgB,aAEhB,gBAAgB,OAEX;AACT;AAEA,SAAS,SAAS,MAAsB;AACtC,SAAO,GAAG,gBAAgB,CAAC,oBAAoB,IAAI;AACrD;AAEA,SAAS,uBAAoC;AAC3C,QAAM,UAAU,SAAS,cAAc,KAAK,GACtC,EAAE,MAAM,IAAI;AAClB,eAAM,WAAW,SACjB,MAAM,OAAO,KACb,MAAM,MAAM,KACZ,MAAM,QAAQ,KACd,MAAM,SAAS,KACf,MAAM,SAAS,MACf,MAAM,WAAW,UACjB,MAAM,aAAa,UAEnB,MAAM,qBAAqB,SAC3B,MAAM,qBAAqB,WAC3B,MAAM,kBAAkB,MACxB,MAAM,aAAa,SAAS,KAAK,GACjC,MAAM,gBAAgB,SAAS,QAAQ,GACvC,MAAM,cAAc,SAAS,MAAM,GACnC,MAAM,eAAe,SAAS,OAAO,GAC9B;AACT;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -26,7 +26,7 @@ __export(NativeSafeAreaProvider_exports, {
|
|
|
26
26
|
NativeSafeAreaProvider: () => NativeSafeAreaProvider
|
|
27
27
|
});
|
|
28
28
|
module.exports = __toCommonJS(NativeSafeAreaProvider_exports);
|
|
29
|
-
var import_jsx_runtime = require("react/jsx-runtime"), React = __toESM(require("react"), 1),
|
|
29
|
+
var import_jsx_runtime = require("react/jsx-runtime"), React = __toESM(require("react"), 1), CSSTransitions = {
|
|
30
30
|
WebkitTransition: "webkitTransitionEnd",
|
|
31
31
|
Transition: "transitionEnd",
|
|
32
32
|
MozTransition: "transitionend",
|
|
@@ -41,10 +41,10 @@ function NativeSafeAreaProvider(param) {
|
|
|
41
41
|
document.body.appendChild(element);
|
|
42
42
|
var onEnd = function() {
|
|
43
43
|
var _window_getComputedStyle = window.getComputedStyle(element), paddingTop = _window_getComputedStyle.paddingTop, paddingBottom = _window_getComputedStyle.paddingBottom, paddingLeft = _window_getComputedStyle.paddingLeft, paddingRight = _window_getComputedStyle.paddingRight, insets = {
|
|
44
|
-
top: paddingTop ? parseInt(paddingTop, 10) : 0,
|
|
45
|
-
bottom: paddingBottom ? parseInt(paddingBottom, 10) : 0,
|
|
46
|
-
left: paddingLeft ? parseInt(paddingLeft, 10) : 0,
|
|
47
|
-
right: paddingRight ? parseInt(paddingRight, 10) : 0
|
|
44
|
+
top: paddingTop ? Number.parseInt(paddingTop, 10) : 0,
|
|
45
|
+
bottom: paddingBottom ? Number.parseInt(paddingBottom, 10) : 0,
|
|
46
|
+
left: paddingLeft ? Number.parseInt(paddingLeft, 10) : 0,
|
|
47
|
+
right: paddingRight ? Number.parseInt(paddingRight, 10) : 0
|
|
48
48
|
}, frame = {
|
|
49
49
|
x: 0,
|
|
50
50
|
y: 0,
|
|
@@ -64,8 +64,7 @@ function NativeSafeAreaProvider(param) {
|
|
|
64
64
|
}
|
|
65
65
|
}, [
|
|
66
66
|
onInsetsChange
|
|
67
|
-
]), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
68
|
-
style,
|
|
67
|
+
]), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {
|
|
69
68
|
children
|
|
70
69
|
});
|
|
71
70
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/Users/n8/vxrn/packages/safe-area/src/NativeSafeAreaProvider.tsx"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;AAAsB,yBAAA,8BAEtB,QAAuB,
|
|
5
|
-
"names": ["CSSTransitions", "WebkitTransition", "Transition", "MozTransition", "MSTransition", "OTransition", "NativeSafeAreaProvider", "children", "style", "onInsetsChange", "React", "useEffect", "document", "element", "createContextElement", "body", "appendChild", "onEnd", "window", "getComputedStyle", "paddingTop", "paddingBottom", "paddingLeft", "paddingRight", "insets", "top", "parseInt", "bottom", "left", "right", "frame", "x", "y", "width", "documentElement", "offsetWidth", "height", "offsetHeight", "nativeEvent", "addEventListener", "getSupportedTransitionEvent", "removeChild", "removeEventListener", "_jsx", "
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;AAAsB,yBAAA,8BAEtB,QAAuB,8BAYjBA,iBAAyC;EAC7CC,kBAAkB;EAClBC,YAAY;EACZC,eAAe;EACfC,cAAc;EACdC,aAAa;AACf;AAEO,SAASC,uBAAuB,OAIT;MAH5BC,WADqC,MACrCA,UACAC,QAFqC,MAErCA,OACAC,iBAHqC,MAGrCA;AAEAC,eAAMC,UAAU,WAAA;AAEd,QAAI,SAAOC,WAAa,MAIxB;UAAMC,UAAUC,qBAAAA;AAChBF,eAASG,KAAKC,YAAYH,OAAAA;AAC1B,UAAMI,QAAQ,WAAA;AACZ,YACEC,2BAAAA,OAAOC,iBAAiBN,OAAAA,GADlBO,aACNF,yBADME,YAAYC,gBAClBH,yBADkBG,eAAeC,cACjCJ,yBADiCI,aAAaC,eAC9CL,yBAD8CK,cAG1CC,SAAS;UACbC,KAAKL,aAAaM,OAAOC,SAASP,YAAY,EAAA,IAAM;UACpDQ,QAAQP,gBAAgBK,OAAOC,SAASN,eAAe,EAAA,IAAM;UAC7DQ,MAAMP,cAAcI,OAAOC,SAASL,aAAa,EAAA,IAAM;UACvDQ,OAAOP,eAAeG,OAAOC,SAASJ,cAAc,EAAA,IAAM;QAC5D,GACMQ,QAAQ;UACZC,GAAG;UACHC,GAAG;UACHC,OAAOtB,SAASuB,gBAAgBC;UAChCC,QAAQzB,SAASuB,gBAAgBG;QACnC;AAEA7B,uBAAe;UAAE8B,aAAa;YAAEf;YAAQO;UAAM;QAAE,CAAA;MAClD;AACAlB,qBAAQ2B,iBAAiBC,4BAAAA,GAA+BxB,KAAAA,GACxDA,MAAAA,GACO,WAAA;AACLL,iBAASG,KAAK2B,YAAY7B,OAAAA,GAC1BA,QAAQ8B,oBAAoBF,4BAAAA,GAA+BxB,KAAAA;MAC7D;;EACF,GAAG;IAACR;GAAe,GAEZ,uCAAAmC,KAAA,mBAAAC,UAAA;;;AACT;AAEA,IAAIC,4BAAuD;AAC3D,SAASL,8BAAAA;AACP,MAAIK,6BAA6B;AAC/B,WAAOA;AAET,MAAMjC,UAAUD,SAASmC,cAAc,aAAA;AAEvCD,8BAA4B9C,eAAeE;AAC3C,WAAW8C,OAAOhD;AAChB,QAAIa,QAAQL,MAAMwC,GAAAA,MAAsCC,QAAW;AACjEH,kCAA4B9C,eAAegD,GAAAA;AAC3C;IACF;AAEF,SAAOF;AACT;AAIA,IAAII,gBAA+B;AACnC,SAASC,kBAAAA;AACP,MAAID,kBAAkB;AACpB,WAAOA;AAET,MAAQE,MAAQlC,OAARkC;AACR,SAAIA,OAAOA,IAAIC,YAAYD,IAAIC,SAAS,oCAAA,IACtCH,gBAAgB,aAEhBA,gBAAgB,OAEXA;AACT;AAEA,SAASI,SAASC,MAAY;AAC5B,SAAQ,GAAuCA,OAArCJ,gBAAAA,GAAkB,mBAAA,EAAwB,OAALI,MAAK,GAAA;AACtD;AAEA,SAASzC,uBAAAA;AACP,MAAMD,UAAUD,SAASmC,cAAc,KAAA,GAC/BvC,QAAUK,QAAVL;AACRA,eAAMgD,WAAW,SACjBhD,MAAMqB,OAAO,KACbrB,MAAMiB,MAAM,KACZjB,MAAM0B,QAAQ,KACd1B,MAAM6B,SAAS,KACf7B,MAAMiD,SAAS,MACfjD,MAAMkD,WAAW,UACjBlD,MAAMmD,aAAa,UAEnBnD,MAAMoD,qBAAqB,SAC3BpD,MAAMqD,qBAAqB,WAC3BrD,MAAMsD,kBAAkB,MACxBtD,MAAMY,aAAakC,SAAS,KAAA,GAC5B9C,MAAMa,gBAAgBiC,SAAS,QAAA,GAC/B9C,MAAMc,cAAcgC,SAAS,MAAA,GAC7B9C,MAAMe,eAAe+B,SAAS,OAAA,GACvBzC;AACT;",
|
|
5
|
+
"names": ["CSSTransitions", "WebkitTransition", "Transition", "MozTransition", "MSTransition", "OTransition", "NativeSafeAreaProvider", "children", "style", "onInsetsChange", "React", "useEffect", "document", "element", "createContextElement", "body", "appendChild", "onEnd", "window", "getComputedStyle", "paddingTop", "paddingBottom", "paddingLeft", "paddingRight", "insets", "top", "Number", "parseInt", "bottom", "left", "right", "frame", "x", "y", "width", "documentElement", "offsetWidth", "height", "offsetHeight", "nativeEvent", "addEventListener", "getSupportedTransitionEvent", "removeChild", "removeEventListener", "_jsx", "_Fragment", "_supportedTransitionEvent", "createElement", "key", "undefined", "_supportedEnv", "getSupportedEnv", "CSS", "supports", "getInset", "side", "position", "zIndex", "overflow", "visibility", "transitionDuration", "transitionProperty", "transitionDelay"]
|
|
6
6
|
}
|
|
@@ -42,7 +42,6 @@ function SafeAreaProvider({
|
|
|
42
42
|
children,
|
|
43
43
|
initialMetrics,
|
|
44
44
|
initialSafeAreaInsets,
|
|
45
|
-
style,
|
|
46
45
|
...others
|
|
47
46
|
}) {
|
|
48
47
|
const parentInsets = useParentSafeAreaInsets(), parentFrame = useParentSafeAreaFrame(), [insets, setInsets] = React.useState(
|
|
@@ -59,24 +58,15 @@ function SafeAreaProvider({
|
|
|
59
58
|
const {
|
|
60
59
|
nativeEvent: { frame: nextFrame, insets: nextInsets }
|
|
61
60
|
} = event;
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
61
|
+
React.startTransition(() => {
|
|
62
|
+
setFrame((curFrame) => (
|
|
63
|
+
// Backwards compat with old native code that won't send frame.
|
|
64
|
+
nextFrame && (nextFrame.height !== curFrame.height || nextFrame.width !== curFrame.width || nextFrame.x !== curFrame.x || nextFrame.y !== curFrame.y) ? nextFrame : curFrame
|
|
65
|
+
)), setInsets((curInsets) => !curInsets || nextInsets.bottom !== curInsets.bottom || nextInsets.left !== curInsets.left || nextInsets.right !== curInsets.right || nextInsets.top !== curInsets.top ? nextInsets : curInsets);
|
|
66
|
+
});
|
|
66
67
|
}, []);
|
|
67
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
68
|
-
import_NativeSafeAreaProvider.NativeSafeAreaProvider,
|
|
69
|
-
{
|
|
70
|
-
style: [styles.fill, style],
|
|
71
|
-
onInsetsChange,
|
|
72
|
-
...others,
|
|
73
|
-
children: insets != null ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SafeAreaFrameContext.Provider, { value: frame, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SafeAreaInsetsContext.Provider, { value: insets, children }) }) : null
|
|
74
|
-
}
|
|
75
|
-
);
|
|
68
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_NativeSafeAreaProvider.NativeSafeAreaProvider, { onInsetsChange, ...others, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SafeAreaFrameContext.Provider, { value: frame, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SafeAreaInsetsContext.Provider, { value: insets, children }) }) });
|
|
76
69
|
}
|
|
77
|
-
const styles = import_react_native.StyleSheet.create({
|
|
78
|
-
fill: { flex: 1 }
|
|
79
|
-
});
|
|
80
70
|
function useParentSafeAreaInsets() {
|
|
81
71
|
return React.useContext(SafeAreaInsetsContext);
|
|
82
72
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/SafeAreaContext.tsx"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAAuB,8BACvB,sBAAuD,yBACvD,gCAAuC,
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAAuB,8BACvB,sBAAuD,yBACvD,gCAAuC,qCAmF/B;AAhFR,MAAM,QAAQ,QAAQ,IAAI,aAAa,cAE1B,wBAAwB,MAAM,cAAiC,IAAI;AAC5E,UACF,sBAAsB,cAAc;AAG/B,MAAM,uBAAuB,MAAM,cAA2B,IAAI;AACrE,UACF,qBAAqB,cAAc;AAY9B,SAAS,iBAAiB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAA0B;AACxB,QAAM,eAAe,wBAAwB,GACvC,cAAc,uBAAuB,GACrC,CAAC,QAAQ,SAAS,IAAI,MAAM;AAAA,IAChC,gBAAgB,UAAU,yBAAyB,gBAAgB;AAAA,EACrE,GACM,CAAC,OAAO,QAAQ,IAAI,MAAM;AAAA,IAC9B,gBAAgB,SACd,eAAe;AAAA;AAAA,MAEb,GAAG;AAAA,MACH,GAAG;AAAA,MACH,OAAO,+BAAW,IAAI,QAAQ,EAAE;AAAA,MAChC,QAAQ,+BAAW,IAAI,QAAQ,EAAE;AAAA,IACnC;AAAA,EACJ,GACM,iBAAiB,MAAM,YAAY,CAAC,UAA6B;AACrE,UAAM;AAAA,MACJ,aAAa,EAAE,OAAO,WAAW,QAAQ,WAAW;AAAA,IACtD,IAAI;AAEJ,UAAM,gBAAgB,MAAM;AAC1B,eAAS,CAAC;AAAA;AAAA,QAGN,cACC,UAAU,WAAW,SAAS,UAC7B,UAAU,UAAU,SAAS,SAC7B,UAAU,MAAM,SAAS,KACzB,UAAU,MAAM,SAAS,KAEpB,YAEF;AAAA,OACR,GAED,UAAU,CAAC,cAEP,CAAC,aACD,WAAW,WAAW,UAAU,UAChC,WAAW,SAAS,UAAU,QAC9B,WAAW,UAAU,UAAU,SAC/B,WAAW,QAAQ,UAAU,MAEtB,aAEF,SACR;AAAA,IACH,CAAC;AAAA,EACH,GAAG,CAAC,CAAC;AAEL,SACE,4CAAC,wDAAuB,gBAAiC,GAAG,QAC1D,sDAAC,qBAAqB,UAArB,EAA8B,OAAO,OACpC,sDAAC,sBAAsB,UAAtB,EAA+B,OAAO,QAAS,UAAS,GAC3D,GACF;AAEJ;AAEA,SAAS,0BAA6C;AACpD,SAAO,MAAM,WAAW,qBAAqB;AAC/C;AAEA,SAAS,yBAAsC;AAC7C,SAAO,MAAM,WAAW,oBAAoB;AAC9C;AAEA,MAAM,kBACJ;AAEK,SAAS,oBAAgC;AAC9C,QAAM,SAAS,MAAM,WAAW,qBAAqB;AACrD,MAAI,UAAU;AACZ,UAAM,IAAI,MAAM,eAAe;AAEjC,SAAO;AACT;AAEO,SAAS,mBAAyB;AACvC,QAAM,QAAQ,MAAM,WAAW,oBAAoB;AACnD,MAAI,SAAS;AACX,UAAM,IAAI,MAAM,eAAe;AAEjC,SAAO;AACT;AAMO,SAAS,mBACd,kBAC0F;AAC1F,SAAO,MAAM,WAAW,CAAC,OAAU,QAA4B;AAC7D,UAAM,SAAS,kBAAkB;AACjC,WAAO,4CAAC,oBAAkB,GAAG,OAAO,QAAgB,KAAU;AAAA,EAChE,CAAC;AACH;AAKO,SAAS,cAA0B;AACxC,SAAO,kBAAkB;AAC3B;AAKO,MAAM,mBAAmB,sBAAsB,UAKzC,kBAAkB;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -140,11 +140,10 @@ isDev && (SafeAreaInsetsContext.displayName = "SafeAreaInsetsContext");
|
|
|
140
140
|
var SafeAreaFrameContext = /* @__PURE__ */ React.createContext(null);
|
|
141
141
|
isDev && (SafeAreaFrameContext.displayName = "SafeAreaFrameContext");
|
|
142
142
|
function SafeAreaProvider(_param) {
|
|
143
|
-
var children = _param.children, initialMetrics = _param.initialMetrics, initialSafeAreaInsets = _param.initialSafeAreaInsets,
|
|
143
|
+
var children = _param.children, initialMetrics = _param.initialMetrics, initialSafeAreaInsets = _param.initialSafeAreaInsets, others = _object_without_properties(_param, [
|
|
144
144
|
"children",
|
|
145
145
|
"initialMetrics",
|
|
146
|
-
"initialSafeAreaInsets"
|
|
147
|
-
"style"
|
|
146
|
+
"initialSafeAreaInsets"
|
|
148
147
|
]), parentInsets = useParentSafeAreaInsets(), parentFrame = useParentSafeAreaFrame(), _initialMetrics_insets, _ref, _ref1, _React_useState = _sliced_to_array(React.useState((_ref1 = (_ref = (_initialMetrics_insets = initialMetrics == null ? void 0 : initialMetrics.insets) !== null && _initialMetrics_insets !== void 0 ? _initialMetrics_insets : initialSafeAreaInsets) !== null && _ref !== void 0 ? _ref : parentInsets) !== null && _ref1 !== void 0 ? _ref1 : null), 2), insets = _React_useState[0], setInsets = _React_useState[1], _initialMetrics_frame, _ref2, _React_useState1 = _sliced_to_array(React.useState((_ref2 = (_initialMetrics_frame = initialMetrics == null ? void 0 : initialMetrics.frame) !== null && _initialMetrics_frame !== void 0 ? _initialMetrics_frame : parentFrame) !== null && _ref2 !== void 0 ? _ref2 : {
|
|
149
148
|
// Backwards compat so we render anyway if we don't have frame.
|
|
150
149
|
x: 0,
|
|
@@ -153,36 +152,29 @@ function SafeAreaProvider(_param) {
|
|
|
153
152
|
height: import_react_native.Dimensions.get("window").height
|
|
154
153
|
}), 2), frame = _React_useState1[0], setFrame = _React_useState1[1], onInsetsChange = React.useCallback(function(event) {
|
|
155
154
|
var _event_nativeEvent = event.nativeEvent, nextFrame = _event_nativeEvent.frame, nextInsets = _event_nativeEvent.insets;
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
155
|
+
React.startTransition(function() {
|
|
156
|
+
setFrame(function(curFrame) {
|
|
157
|
+
return (
|
|
158
|
+
// Backwards compat with old native code that won't send frame.
|
|
159
|
+
nextFrame && (nextFrame.height !== curFrame.height || nextFrame.width !== curFrame.width || nextFrame.x !== curFrame.x || nextFrame.y !== curFrame.y) ? nextFrame : curFrame
|
|
160
|
+
);
|
|
161
|
+
}), setInsets(function(curInsets) {
|
|
162
|
+
return !curInsets || nextInsets.bottom !== curInsets.bottom || nextInsets.left !== curInsets.left || nextInsets.right !== curInsets.right || nextInsets.top !== curInsets.top ? nextInsets : curInsets;
|
|
163
|
+
});
|
|
163
164
|
});
|
|
164
165
|
}, []);
|
|
165
166
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_NativeSafeAreaProvider.NativeSafeAreaProvider, _object_spread_props(_object_spread({
|
|
166
|
-
style: [
|
|
167
|
-
styles.fill,
|
|
168
|
-
style
|
|
169
|
-
],
|
|
170
167
|
onInsetsChange
|
|
171
168
|
}, others), {
|
|
172
|
-
children:
|
|
169
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SafeAreaFrameContext.Provider, {
|
|
173
170
|
value: frame,
|
|
174
171
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SafeAreaInsetsContext.Provider, {
|
|
175
172
|
value: insets,
|
|
176
173
|
children
|
|
177
174
|
})
|
|
178
|
-
})
|
|
175
|
+
})
|
|
179
176
|
}));
|
|
180
177
|
}
|
|
181
|
-
var styles = import_react_native.StyleSheet.create({
|
|
182
|
-
fill: {
|
|
183
|
-
flex: 1
|
|
184
|
-
}
|
|
185
|
-
});
|
|
186
178
|
function useParentSafeAreaInsets() {
|
|
187
179
|
return React.useContext(SafeAreaInsetsContext);
|
|
188
180
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/Users/n8/vxrn/packages/safe-area/src/SafeAreaContext.tsx"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uDAAA,QAAuB,8BACvB,sBAAuD,yBACvD,gCAAuC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGvC,IAAMA,QAAQC,QAAQC,IAAIC,aAAa,cAE1BC,wBAAwBC,sBAAMC,cAAiC,IAAA;AACxEN,UACFI,sBAAsBG,cAAc;AAG/B,IAAMC,uBAAuBH,sBAAMC,cAA2B,IAAA;AACjEN,UACFQ,qBAAqBD,cAAc;AAY9B,SAASE,iBAAiB,QAAA;MAC/BC,WAD+B,OAC/BA,UACAC,iBAF+B,OAE/BA,gBACAC,wBAH+B,OAG/BA,
|
|
5
|
-
"names": ["isDev", "process", "env", "NODE_ENV", "SafeAreaInsetsContext", "React", "createContext", "displayName", "SafeAreaFrameContext", "SafeAreaProvider", "children", "initialMetrics", "initialSafeAreaInsets", "
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["isDev", "process", "env", "NODE_ENV", "SafeAreaInsetsContext", "React", "createContext", "displayName", "SafeAreaFrameContext", "SafeAreaProvider", "children", "initialMetrics", "initialSafeAreaInsets", "others", "parentInsets", "useParentSafeAreaInsets", "parentFrame", "useParentSafeAreaFrame", "useState", "insets", "setInsets", "frame", "x", "y", "width", "Dimensions", "get", "height", "setFrame", "onInsetsChange", "useCallback", "event", "nativeEvent", "nextFrame", "nextInsets", "startTransition", "curFrame", "curInsets", "bottom", "left", "right", "top", "_jsx", "NativeSafeAreaProvider", "Provider", "value", "useContext", "NO_INSETS_ERROR", "useSafeAreaInsets", "Error", "useSafeAreaFrame", "withSafeAreaInsets", "WrappedComponent", "forwardRef", "props", "ref", "useSafeArea", "SafeAreaConsumer", "Consumer", "SafeAreaContext"]
|
|
6
6
|
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import {
|
|
3
|
-
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Fragment, jsx } from "react/jsx-runtime";
|
|
4
3
|
const CSSTransitions = {
|
|
5
4
|
WebkitTransition: "webkitTransitionEnd",
|
|
6
5
|
Transition: "transitionEnd",
|
|
@@ -20,10 +19,10 @@ function NativeSafeAreaProvider({
|
|
|
20
19
|
document.body.appendChild(element);
|
|
21
20
|
const onEnd = () => {
|
|
22
21
|
const { paddingTop, paddingBottom, paddingLeft, paddingRight } = window.getComputedStyle(element), insets = {
|
|
23
|
-
top: paddingTop ? parseInt(paddingTop, 10) : 0,
|
|
24
|
-
bottom: paddingBottom ? parseInt(paddingBottom, 10) : 0,
|
|
25
|
-
left: paddingLeft ? parseInt(paddingLeft, 10) : 0,
|
|
26
|
-
right: paddingRight ? parseInt(paddingRight, 10) : 0
|
|
22
|
+
top: paddingTop ? Number.parseInt(paddingTop, 10) : 0,
|
|
23
|
+
bottom: paddingBottom ? Number.parseInt(paddingBottom, 10) : 0,
|
|
24
|
+
left: paddingLeft ? Number.parseInt(paddingLeft, 10) : 0,
|
|
25
|
+
right: paddingRight ? Number.parseInt(paddingRight, 10) : 0
|
|
27
26
|
}, frame = {
|
|
28
27
|
x: 0,
|
|
29
28
|
y: 0,
|
|
@@ -35,7 +34,7 @@ function NativeSafeAreaProvider({
|
|
|
35
34
|
return element.addEventListener(getSupportedTransitionEvent(), onEnd), onEnd(), () => {
|
|
36
35
|
document.body.removeChild(element), element.removeEventListener(getSupportedTransitionEvent(), onEnd);
|
|
37
36
|
};
|
|
38
|
-
}, [onInsetsChange]), /* @__PURE__ */ jsx(
|
|
37
|
+
}, [onInsetsChange]), /* @__PURE__ */ jsx(Fragment, { children });
|
|
39
38
|
}
|
|
40
39
|
let _supportedTransitionEvent = null;
|
|
41
40
|
function getSupportedTransitionEvent() {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/NativeSafeAreaProvider.tsx"],
|
|
4
|
-
"mappings": "AAEA,YAAY,WAAW;
|
|
4
|
+
"mappings": "AAEA,YAAY,WAAW;AA4Dd;AAhDT,MAAM,iBAAyC;AAAA,EAC7C,kBAAkB;AAAA,EAClB,YAAY;AAAA,EACZ,eAAe;AAAA,EACf,cAAc;AAAA,EACd,aAAa;AACf;AAEO,SAAS,uBAAuB;AAAA,EACrC;AAAA,EACA;AAAA,EACA;AACF,GAAgC;AAC9B,eAAM,UAAU,MAAM;AAEpB,QAAI,OAAO,WAAa;AACtB;AAGF,UAAM,UAAU,qBAAqB;AACrC,aAAS,KAAK,YAAY,OAAO;AACjC,UAAM,QAAQ,MAAM;AAClB,YAAM,EAAE,YAAY,eAAe,aAAa,aAAa,IAC3D,OAAO,iBAAiB,OAAO,GAE3B,SAAS;AAAA,QACb,KAAK,aAAa,OAAO,SAAS,YAAY,EAAE,IAAI;AAAA,QACpD,QAAQ,gBAAgB,OAAO,SAAS,eAAe,EAAE,IAAI;AAAA,QAC7D,MAAM,cAAc,OAAO,SAAS,aAAa,EAAE,IAAI;AAAA,QACvD,OAAO,eAAe,OAAO,SAAS,cAAc,EAAE,IAAI;AAAA,MAC5D,GACM,QAAQ;AAAA,QACZ,GAAG;AAAA,QACH,GAAG;AAAA,QACH,OAAO,SAAS,gBAAgB;AAAA,QAChC,QAAQ,SAAS,gBAAgB;AAAA,MACnC;AAEA,qBAAe,EAAE,aAAa,EAAE,QAAQ,MAAM,EAAE,CAAC;AAAA,IACnD;AACA,mBAAQ,iBAAiB,4BAA4B,GAAG,KAAK,GAC7D,MAAM,GACC,MAAM;AACX,eAAS,KAAK,YAAY,OAAO,GACjC,QAAQ,oBAAoB,4BAA4B,GAAG,KAAK;AAAA,IAClE;AAAA,EACF,GAAG,CAAC,cAAc,CAAC,GAEZ,gCAAG,UAAS;AACrB;AAEA,IAAI,4BAAuD;AAC3D,SAAS,8BAAsC;AAC7C,MAAI,6BAA6B;AAC/B,WAAO;AAET,QAAM,UAAU,SAAS,cAAc,aAAa;AAEpD,8BAA4B,eAAe;AAC3C,aAAW,OAAO;AAChB,QAAI,QAAQ,MAAM,GAAgC,MAAM,QAAW;AACjE,kCAA4B,eAAe,GAAG;AAC9C;AAAA,IACF;AAEF,SAAO;AACT;AAIA,IAAI,gBAA+B;AACnC,SAAS,kBAA0B;AACjC,MAAI,kBAAkB;AACpB,WAAO;AAET,QAAM,EAAE,IAAI,IAAI;AAChB,SAAI,OAAO,IAAI,YAAY,IAAI,SAAS,oCAAoC,IAC1E,gBAAgB,aAEhB,gBAAgB,OAEX;AACT;AAEA,SAAS,SAAS,MAAsB;AACtC,SAAO,GAAG,gBAAgB,CAAC,oBAAoB,IAAI;AACrD;AAEA,SAAS,uBAAoC;AAC3C,QAAM,UAAU,SAAS,cAAc,KAAK,GACtC,EAAE,MAAM,IAAI;AAClB,eAAM,WAAW,SACjB,MAAM,OAAO,KACb,MAAM,MAAM,KACZ,MAAM,QAAQ,KACd,MAAM,SAAS,KACf,MAAM,SAAS,MACf,MAAM,WAAW,UACjB,MAAM,aAAa,UAEnB,MAAM,qBAAqB,SAC3B,MAAM,qBAAqB,WAC3B,MAAM,kBAAkB,MACxB,MAAM,aAAa,SAAS,KAAK,GACjC,MAAM,gBAAgB,SAAS,QAAQ,GACvC,MAAM,cAAc,SAAS,MAAM,GACnC,MAAM,eAAe,SAAS,OAAO,GAC9B;AACT;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import {
|
|
3
|
-
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Fragment, jsx } from "react/jsx-runtime";
|
|
4
3
|
const CSSTransitions = {
|
|
5
4
|
WebkitTransition: "webkitTransitionEnd",
|
|
6
5
|
Transition: "transitionEnd",
|
|
@@ -25,10 +24,10 @@ function NativeSafeAreaProvider({
|
|
|
25
24
|
paddingRight
|
|
26
25
|
} = window.getComputedStyle(element),
|
|
27
26
|
insets = {
|
|
28
|
-
top: paddingTop ? parseInt(paddingTop, 10) : 0,
|
|
29
|
-
bottom: paddingBottom ? parseInt(paddingBottom, 10) : 0,
|
|
30
|
-
left: paddingLeft ? parseInt(paddingLeft, 10) : 0,
|
|
31
|
-
right: paddingRight ? parseInt(paddingRight, 10) : 0
|
|
27
|
+
top: paddingTop ? Number.parseInt(paddingTop, 10) : 0,
|
|
28
|
+
bottom: paddingBottom ? Number.parseInt(paddingBottom, 10) : 0,
|
|
29
|
+
left: paddingLeft ? Number.parseInt(paddingLeft, 10) : 0,
|
|
30
|
+
right: paddingRight ? Number.parseInt(paddingRight, 10) : 0
|
|
32
31
|
},
|
|
33
32
|
frame = {
|
|
34
33
|
x: 0,
|
|
@@ -46,8 +45,7 @@ function NativeSafeAreaProvider({
|
|
|
46
45
|
return element.addEventListener(getSupportedTransitionEvent(), onEnd), onEnd(), () => {
|
|
47
46
|
document.body.removeChild(element), element.removeEventListener(getSupportedTransitionEvent(), onEnd);
|
|
48
47
|
};
|
|
49
|
-
}, [onInsetsChange]), /* @__PURE__ */jsx(
|
|
50
|
-
style,
|
|
48
|
+
}, [onInsetsChange]), /* @__PURE__ */jsx(Fragment, {
|
|
51
49
|
children
|
|
52
50
|
});
|
|
53
51
|
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import * as React from "react";
|
|
3
|
-
import { View } from "react-native";
|
|
4
3
|
var CSSTransitions = {
|
|
5
4
|
WebkitTransition: "webkitTransitionEnd",
|
|
6
5
|
Transition: "transitionEnd",
|
|
@@ -16,10 +15,10 @@ function NativeSafeAreaProvider(param) {
|
|
|
16
15
|
document.body.appendChild(element);
|
|
17
16
|
var onEnd = function() {
|
|
18
17
|
var _window_getComputedStyle = window.getComputedStyle(element), paddingTop = _window_getComputedStyle.paddingTop, paddingBottom = _window_getComputedStyle.paddingBottom, paddingLeft = _window_getComputedStyle.paddingLeft, paddingRight = _window_getComputedStyle.paddingRight, insets = {
|
|
19
|
-
top: paddingTop ? parseInt(paddingTop, 10) : 0,
|
|
20
|
-
bottom: paddingBottom ? parseInt(paddingBottom, 10) : 0,
|
|
21
|
-
left: paddingLeft ? parseInt(paddingLeft, 10) : 0,
|
|
22
|
-
right: paddingRight ? parseInt(paddingRight, 10) : 0
|
|
18
|
+
top: paddingTop ? Number.parseInt(paddingTop, 10) : 0,
|
|
19
|
+
bottom: paddingBottom ? Number.parseInt(paddingBottom, 10) : 0,
|
|
20
|
+
left: paddingLeft ? Number.parseInt(paddingLeft, 10) : 0,
|
|
21
|
+
right: paddingRight ? Number.parseInt(paddingRight, 10) : 0
|
|
23
22
|
}, frame = {
|
|
24
23
|
x: 0,
|
|
25
24
|
y: 0,
|
|
@@ -39,8 +38,7 @@ function NativeSafeAreaProvider(param) {
|
|
|
39
38
|
}
|
|
40
39
|
}, [
|
|
41
40
|
onInsetsChange
|
|
42
|
-
]), /* @__PURE__ */ _jsx(
|
|
43
|
-
style,
|
|
41
|
+
]), /* @__PURE__ */ _jsx(_Fragment, {
|
|
44
42
|
children
|
|
45
43
|
});
|
|
46
44
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/Users/n8/vxrn/packages/safe-area/src/NativeSafeAreaProvider.tsx"],
|
|
4
|
-
"mappings": "AAAsB,SAAA,OAAA,YAAA;AAEtB,YAAYA,WAAW;
|
|
5
|
-
"names": ["React", "
|
|
4
|
+
"mappings": "AAAsB,SAAA,OAAA,MAAA,YAAA,iBAAA;AAEtB,YAAYA,WAAW;AAYvB,IAAMC,iBAAyC;EAC7CC,kBAAkB;EAClBC,YAAY;EACZC,eAAe;EACfC,cAAc;EACdC,aAAa;AACf;AAEO,SAASC,uBAAuB,OAIT;MAH5BC,WADqC,MACrCA,UACAC,QAFqC,MAErCA,OACAC,iBAHqC,MAGrCA;AAEAV,eAAMW,UAAU,WAAA;AAEd,QAAI,SAAOC,WAAa,MAIxB;UAAMC,UAAUC,qBAAAA;AAChBF,eAASG,KAAKC,YAAYH,OAAAA;AAC1B,UAAMI,QAAQ,WAAA;AACZ,YACEC,2BAAAA,OAAOC,iBAAiBN,OAAAA,GADlBO,aACNF,yBADME,YAAYC,gBAClBH,yBADkBG,eAAeC,cACjCJ,yBADiCI,aAAaC,eAC9CL,yBAD8CK,cAG1CC,SAAS;UACbC,KAAKL,aAAaM,OAAOC,SAASP,YAAY,EAAA,IAAM;UACpDQ,QAAQP,gBAAgBK,OAAOC,SAASN,eAAe,EAAA,IAAM;UAC7DQ,MAAMP,cAAcI,OAAOC,SAASL,aAAa,EAAA,IAAM;UACvDQ,OAAOP,eAAeG,OAAOC,SAASJ,cAAc,EAAA,IAAM;QAC5D,GACMQ,QAAQ;UACZC,GAAG;UACHC,GAAG;UACHC,OAAOtB,SAASuB,gBAAgBC;UAChCC,QAAQzB,SAASuB,gBAAgBG;QACnC;AAEA5B,uBAAe;UAAE6B,aAAa;YAAEf;YAAQO;UAAM;QAAE,CAAA;MAClD;AACAlB,qBAAQ2B,iBAAiBC,4BAAAA,GAA+BxB,KAAAA,GACxDA,MAAAA,GACO,WAAA;AACLL,iBAASG,KAAK2B,YAAY7B,OAAAA,GAC1BA,QAAQ8B,oBAAoBF,4BAAAA,GAA+BxB,KAAAA;MAC7D;;EACF,GAAG;IAACP;GAAe,GAEZ,qBAAA,WAAA;;;AACT;AAEA,IAAIkC,4BAAuD;AAC3D,SAASH,8BAAAA;AACP,MAAIG,6BAA6B;AAC/B,WAAOA;AAET,MAAM/B,UAAUD,SAASiC,cAAc,aAAA;AAEvCD,8BAA4B3C,eAAeE;AAC3C,WAAW2C,OAAO7C;AAChB,QAAIY,QAAQJ,MAAMqC,GAAAA,MAAsCC,QAAW;AACjEH,kCAA4B3C,eAAe6C,GAAAA;AAC3C;IACF;AAEF,SAAOF;AACT;AAIA,IAAII,gBAA+B;AACnC,SAASC,kBAAAA;AACP,MAAID,kBAAkB;AACpB,WAAOA;AAET,MAAQE,MAAQhC,OAARgC;AACR,SAAIA,OAAOA,IAAIC,YAAYD,IAAIC,SAAS,oCAAA,IACtCH,gBAAgB,aAEhBA,gBAAgB,OAEXA;AACT;AAEA,SAASI,SAASC,MAAY;AAC5B,SAAQ,GAAuCA,OAArCJ,gBAAAA,GAAkB,mBAAA,EAAwB,OAALI,MAAK,GAAA;AACtD;AAEA,SAASvC,uBAAAA;AACP,MAAMD,UAAUD,SAASiC,cAAc,KAAA,GAC/BpC,QAAUI,QAAVJ;AACRA,eAAM6C,WAAW,SACjB7C,MAAMoB,OAAO,KACbpB,MAAMgB,MAAM,KACZhB,MAAMyB,QAAQ,KACdzB,MAAM4B,SAAS,KACf5B,MAAM8C,SAAS,MACf9C,MAAM+C,WAAW,UACjB/C,MAAMgD,aAAa,UAEnBhD,MAAMiD,qBAAqB,SAC3BjD,MAAMkD,qBAAqB,WAC3BlD,MAAMmD,kBAAkB,MACxBnD,MAAMW,aAAagC,SAAS,KAAA,GAC5B3C,MAAMY,gBAAgB+B,SAAS,QAAA,GAC/B3C,MAAMa,cAAc8B,SAAS,MAAA,GAC7B3C,MAAMc,eAAe6B,SAAS,OAAA,GACvBvC;AACT;",
|
|
5
|
+
"names": ["React", "CSSTransitions", "WebkitTransition", "Transition", "MozTransition", "MSTransition", "OTransition", "NativeSafeAreaProvider", "children", "style", "onInsetsChange", "useEffect", "document", "element", "createContextElement", "body", "appendChild", "onEnd", "window", "getComputedStyle", "paddingTop", "paddingBottom", "paddingLeft", "paddingRight", "insets", "top", "Number", "parseInt", "bottom", "left", "right", "frame", "x", "y", "width", "documentElement", "offsetWidth", "height", "offsetHeight", "nativeEvent", "addEventListener", "getSupportedTransitionEvent", "removeChild", "removeEventListener", "_supportedTransitionEvent", "createElement", "key", "undefined", "_supportedEnv", "getSupportedEnv", "CSS", "supports", "getInset", "side", "position", "zIndex", "overflow", "visibility", "transitionDuration", "transitionProperty", "transitionDelay"]
|
|
6
6
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import { Dimensions
|
|
2
|
+
import { Dimensions } from "react-native-web";
|
|
3
3
|
import { NativeSafeAreaProvider } from "./NativeSafeAreaProvider";
|
|
4
4
|
import { jsx } from "react/jsx-runtime";
|
|
5
5
|
const isDev = process.env.NODE_ENV !== "production", SafeAreaInsetsContext = React.createContext(null);
|
|
@@ -10,7 +10,6 @@ function SafeAreaProvider({
|
|
|
10
10
|
children,
|
|
11
11
|
initialMetrics,
|
|
12
12
|
initialSafeAreaInsets,
|
|
13
|
-
style,
|
|
14
13
|
...others
|
|
15
14
|
}) {
|
|
16
15
|
const parentInsets = useParentSafeAreaInsets(), parentFrame = useParentSafeAreaFrame(), [insets, setInsets] = React.useState(
|
|
@@ -27,24 +26,15 @@ function SafeAreaProvider({
|
|
|
27
26
|
const {
|
|
28
27
|
nativeEvent: { frame: nextFrame, insets: nextInsets }
|
|
29
28
|
} = event;
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
29
|
+
React.startTransition(() => {
|
|
30
|
+
setFrame((curFrame) => (
|
|
31
|
+
// Backwards compat with old native code that won't send frame.
|
|
32
|
+
nextFrame && (nextFrame.height !== curFrame.height || nextFrame.width !== curFrame.width || nextFrame.x !== curFrame.x || nextFrame.y !== curFrame.y) ? nextFrame : curFrame
|
|
33
|
+
)), setInsets((curInsets) => !curInsets || nextInsets.bottom !== curInsets.bottom || nextInsets.left !== curInsets.left || nextInsets.right !== curInsets.right || nextInsets.top !== curInsets.top ? nextInsets : curInsets);
|
|
34
|
+
});
|
|
34
35
|
}, []);
|
|
35
|
-
return /* @__PURE__ */ jsx(
|
|
36
|
-
NativeSafeAreaProvider,
|
|
37
|
-
{
|
|
38
|
-
style: [styles.fill, style],
|
|
39
|
-
onInsetsChange,
|
|
40
|
-
...others,
|
|
41
|
-
children: insets != null ? /* @__PURE__ */ jsx(SafeAreaFrameContext.Provider, { value: frame, children: /* @__PURE__ */ jsx(SafeAreaInsetsContext.Provider, { value: insets, children }) }) : null
|
|
42
|
-
}
|
|
43
|
-
);
|
|
36
|
+
return /* @__PURE__ */ jsx(NativeSafeAreaProvider, { onInsetsChange, ...others, children: /* @__PURE__ */ jsx(SafeAreaFrameContext.Provider, { value: frame, children: /* @__PURE__ */ jsx(SafeAreaInsetsContext.Provider, { value: insets, children }) }) });
|
|
44
37
|
}
|
|
45
|
-
const styles = StyleSheet.create({
|
|
46
|
-
fill: { flex: 1 }
|
|
47
|
-
});
|
|
48
38
|
function useParentSafeAreaInsets() {
|
|
49
39
|
return React.useContext(SafeAreaInsetsContext);
|
|
50
40
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/SafeAreaContext.tsx"],
|
|
4
|
-
"mappings": "AAAA,YAAY,WAAW;AACvB,SAAS,
|
|
4
|
+
"mappings": "AAAA,YAAY,WAAW;AACvB,SAAS,kBAA8C;AACvD,SAAS,8BAA8B;AAmF/B;AAhFR,MAAM,QAAQ,QAAQ,IAAI,aAAa,cAE1B,wBAAwB,MAAM,cAAiC,IAAI;AAC5E,UACF,sBAAsB,cAAc;AAG/B,MAAM,uBAAuB,MAAM,cAA2B,IAAI;AACrE,UACF,qBAAqB,cAAc;AAY9B,SAAS,iBAAiB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAA0B;AACxB,QAAM,eAAe,wBAAwB,GACvC,cAAc,uBAAuB,GACrC,CAAC,QAAQ,SAAS,IAAI,MAAM;AAAA,IAChC,gBAAgB,UAAU,yBAAyB,gBAAgB;AAAA,EACrE,GACM,CAAC,OAAO,QAAQ,IAAI,MAAM;AAAA,IAC9B,gBAAgB,SACd,eAAe;AAAA;AAAA,MAEb,GAAG;AAAA,MACH,GAAG;AAAA,MACH,OAAO,WAAW,IAAI,QAAQ,EAAE;AAAA,MAChC,QAAQ,WAAW,IAAI,QAAQ,EAAE;AAAA,IACnC;AAAA,EACJ,GACM,iBAAiB,MAAM,YAAY,CAAC,UAA6B;AACrE,UAAM;AAAA,MACJ,aAAa,EAAE,OAAO,WAAW,QAAQ,WAAW;AAAA,IACtD,IAAI;AAEJ,UAAM,gBAAgB,MAAM;AAC1B,eAAS,CAAC;AAAA;AAAA,QAGN,cACC,UAAU,WAAW,SAAS,UAC7B,UAAU,UAAU,SAAS,SAC7B,UAAU,MAAM,SAAS,KACzB,UAAU,MAAM,SAAS,KAEpB,YAEF;AAAA,OACR,GAED,UAAU,CAAC,cAEP,CAAC,aACD,WAAW,WAAW,UAAU,UAChC,WAAW,SAAS,UAAU,QAC9B,WAAW,UAAU,UAAU,SAC/B,WAAW,QAAQ,UAAU,MAEtB,aAEF,SACR;AAAA,IACH,CAAC;AAAA,EACH,GAAG,CAAC,CAAC;AAEL,SACE,oBAAC,0BAAuB,gBAAiC,GAAG,QAC1D,8BAAC,qBAAqB,UAArB,EAA8B,OAAO,OACpC,8BAAC,sBAAsB,UAAtB,EAA+B,OAAO,QAAS,UAAS,GAC3D,GACF;AAEJ;AAEA,SAAS,0BAA6C;AACpD,SAAO,MAAM,WAAW,qBAAqB;AAC/C;AAEA,SAAS,yBAAsC;AAC7C,SAAO,MAAM,WAAW,oBAAoB;AAC9C;AAEA,MAAM,kBACJ;AAEK,SAAS,oBAAgC;AAC9C,QAAM,SAAS,MAAM,WAAW,qBAAqB;AACrD,MAAI,UAAU;AACZ,UAAM,IAAI,MAAM,eAAe;AAEjC,SAAO;AACT;AAEO,SAAS,mBAAyB;AACvC,QAAM,QAAQ,MAAM,WAAW,oBAAoB;AACnD,MAAI,SAAS;AACX,UAAM,IAAI,MAAM,eAAe;AAEjC,SAAO;AACT;AAMO,SAAS,mBACd,kBAC0F;AAC1F,SAAO,MAAM,WAAW,CAAC,OAAU,QAA4B;AAC7D,UAAM,SAAS,kBAAkB;AACjC,WAAO,oBAAC,oBAAkB,GAAG,OAAO,QAAgB,KAAU;AAAA,EAChE,CAAC;AACH;AAKO,SAAS,cAA0B;AACxC,SAAO,kBAAkB;AAC3B;AAKO,MAAM,mBAAmB,sBAAsB,UAKzC,kBAAkB;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import { Dimensions
|
|
2
|
+
import { Dimensions } from "react-native-web";
|
|
3
3
|
import { NativeSafeAreaProvider } from "./NativeSafeAreaProvider.mjs";
|
|
4
4
|
import { jsx } from "react/jsx-runtime";
|
|
5
5
|
const isDev = process.env.NODE_ENV !== "production",
|
|
@@ -11,7 +11,6 @@ function SafeAreaProvider({
|
|
|
11
11
|
children,
|
|
12
12
|
initialMetrics,
|
|
13
13
|
initialSafeAreaInsets,
|
|
14
|
-
style,
|
|
15
14
|
...others
|
|
16
15
|
}) {
|
|
17
16
|
const parentInsets = useParentSafeAreaInsets(),
|
|
@@ -31,28 +30,24 @@ function SafeAreaProvider({
|
|
|
31
30
|
insets: nextInsets
|
|
32
31
|
}
|
|
33
32
|
} = event;
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
33
|
+
React.startTransition(() => {
|
|
34
|
+
setFrame(curFrame =>
|
|
35
|
+
// Backwards compat with old native code that won't send frame.
|
|
36
|
+
nextFrame && (nextFrame.height !== curFrame.height || nextFrame.width !== curFrame.width || nextFrame.x !== curFrame.x || nextFrame.y !== curFrame.y) ? nextFrame : curFrame), setInsets(curInsets => !curInsets || nextInsets.bottom !== curInsets.bottom || nextInsets.left !== curInsets.left || nextInsets.right !== curInsets.right || nextInsets.top !== curInsets.top ? nextInsets : curInsets);
|
|
37
|
+
});
|
|
37
38
|
}, []);
|
|
38
39
|
return /* @__PURE__ */jsx(NativeSafeAreaProvider, {
|
|
39
|
-
style: [styles.fill, style],
|
|
40
40
|
onInsetsChange,
|
|
41
41
|
...others,
|
|
42
|
-
children:
|
|
42
|
+
children: /* @__PURE__ */jsx(SafeAreaFrameContext.Provider, {
|
|
43
43
|
value: frame,
|
|
44
44
|
children: /* @__PURE__ */jsx(SafeAreaInsetsContext.Provider, {
|
|
45
45
|
value: insets,
|
|
46
46
|
children
|
|
47
47
|
})
|
|
48
|
-
})
|
|
48
|
+
})
|
|
49
49
|
});
|
|
50
50
|
}
|
|
51
|
-
const styles = StyleSheet.create({
|
|
52
|
-
fill: {
|
|
53
|
-
flex: 1
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
51
|
function useParentSafeAreaInsets() {
|
|
57
52
|
return React.useContext(SafeAreaInsetsContext);
|
|
58
53
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import * as React from "react";
|
|
3
|
-
import { Dimensions
|
|
3
|
+
import { Dimensions } from "react-native";
|
|
4
4
|
import { NativeSafeAreaProvider } from "./NativeSafeAreaProvider";
|
|
5
5
|
function _array_like_to_array(arr, len) {
|
|
6
6
|
(len == null || len > arr.length) && (len = arr.length);
|
|
@@ -107,11 +107,10 @@ isDev && (SafeAreaInsetsContext.displayName = "SafeAreaInsetsContext");
|
|
|
107
107
|
var SafeAreaFrameContext = /* @__PURE__ */ React.createContext(null);
|
|
108
108
|
isDev && (SafeAreaFrameContext.displayName = "SafeAreaFrameContext");
|
|
109
109
|
function SafeAreaProvider(_param) {
|
|
110
|
-
var children = _param.children, initialMetrics = _param.initialMetrics, initialSafeAreaInsets = _param.initialSafeAreaInsets,
|
|
110
|
+
var children = _param.children, initialMetrics = _param.initialMetrics, initialSafeAreaInsets = _param.initialSafeAreaInsets, others = _object_without_properties(_param, [
|
|
111
111
|
"children",
|
|
112
112
|
"initialMetrics",
|
|
113
|
-
"initialSafeAreaInsets"
|
|
114
|
-
"style"
|
|
113
|
+
"initialSafeAreaInsets"
|
|
115
114
|
]), parentInsets = useParentSafeAreaInsets(), parentFrame = useParentSafeAreaFrame(), _initialMetrics_insets, _ref, _ref1, _React_useState = _sliced_to_array(React.useState((_ref1 = (_ref = (_initialMetrics_insets = initialMetrics == null ? void 0 : initialMetrics.insets) !== null && _initialMetrics_insets !== void 0 ? _initialMetrics_insets : initialSafeAreaInsets) !== null && _ref !== void 0 ? _ref : parentInsets) !== null && _ref1 !== void 0 ? _ref1 : null), 2), insets = _React_useState[0], setInsets = _React_useState[1], _initialMetrics_frame, _ref2, _React_useState1 = _sliced_to_array(React.useState((_ref2 = (_initialMetrics_frame = initialMetrics == null ? void 0 : initialMetrics.frame) !== null && _initialMetrics_frame !== void 0 ? _initialMetrics_frame : parentFrame) !== null && _ref2 !== void 0 ? _ref2 : {
|
|
116
115
|
// Backwards compat so we render anyway if we don't have frame.
|
|
117
116
|
x: 0,
|
|
@@ -120,36 +119,29 @@ function SafeAreaProvider(_param) {
|
|
|
120
119
|
height: Dimensions.get("window").height
|
|
121
120
|
}), 2), frame = _React_useState1[0], setFrame = _React_useState1[1], onInsetsChange = React.useCallback(function(event) {
|
|
122
121
|
var _event_nativeEvent = event.nativeEvent, nextFrame = _event_nativeEvent.frame, nextInsets = _event_nativeEvent.insets;
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
122
|
+
React.startTransition(function() {
|
|
123
|
+
setFrame(function(curFrame) {
|
|
124
|
+
return (
|
|
125
|
+
// Backwards compat with old native code that won't send frame.
|
|
126
|
+
nextFrame && (nextFrame.height !== curFrame.height || nextFrame.width !== curFrame.width || nextFrame.x !== curFrame.x || nextFrame.y !== curFrame.y) ? nextFrame : curFrame
|
|
127
|
+
);
|
|
128
|
+
}), setInsets(function(curInsets) {
|
|
129
|
+
return !curInsets || nextInsets.bottom !== curInsets.bottom || nextInsets.left !== curInsets.left || nextInsets.right !== curInsets.right || nextInsets.top !== curInsets.top ? nextInsets : curInsets;
|
|
130
|
+
});
|
|
130
131
|
});
|
|
131
132
|
}, []);
|
|
132
133
|
return /* @__PURE__ */ _jsx(NativeSafeAreaProvider, _object_spread_props(_object_spread({
|
|
133
|
-
style: [
|
|
134
|
-
styles.fill,
|
|
135
|
-
style
|
|
136
|
-
],
|
|
137
134
|
onInsetsChange
|
|
138
135
|
}, others), {
|
|
139
|
-
children:
|
|
136
|
+
children: /* @__PURE__ */ _jsx(SafeAreaFrameContext.Provider, {
|
|
140
137
|
value: frame,
|
|
141
138
|
children: /* @__PURE__ */ _jsx(SafeAreaInsetsContext.Provider, {
|
|
142
139
|
value: insets,
|
|
143
140
|
children
|
|
144
141
|
})
|
|
145
|
-
})
|
|
142
|
+
})
|
|
146
143
|
}));
|
|
147
144
|
}
|
|
148
|
-
var styles = StyleSheet.create({
|
|
149
|
-
fill: {
|
|
150
|
-
flex: 1
|
|
151
|
-
}
|
|
152
|
-
});
|
|
153
145
|
function useParentSafeAreaInsets() {
|
|
154
146
|
return React.useContext(SafeAreaInsetsContext);
|
|
155
147
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/Users/n8/vxrn/packages/safe-area/src/SafeAreaContext.tsx"],
|
|
4
|
-
"mappings": ";AAAA,YAAYA,WAAW;AACvB,SAASC,
|
|
5
|
-
"names": ["React", "Dimensions", "
|
|
4
|
+
"mappings": ";AAAA,YAAYA,WAAW;AACvB,SAASC,kBAA8C;AACvD,SAASC,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGvC,IAAMC,QAAQC,QAAQC,IAAIC,aAAa,cAE1BC,wBAAwBP,sBAAMQ,cAAiC,IAAA;AACxEL,UACFI,sBAAsBE,cAAc;AAG/B,IAAMC,uBAAuBV,sBAAMQ,cAA2B,IAAA;AACjEL,UACFO,qBAAqBD,cAAc;AAY9B,SAASE,iBAAiB,QAAA;MAC/BC,WAD+B,OAC/BA,UACAC,iBAF+B,OAE/BA,gBACAC,wBAH+B,OAG/BA,uBACGC,SAAAA,2BAJ4B,QAAA;IAC/BH;IACAC;IACAC;MAGME,eAAeC,wBAAAA,GACfC,cAAcC,uBAAAA,GAElBN,wBAAAA,MAAAA,OAD0Bb,kBAAAA,iBAAAA,MAAMoB,UAChCP,SAAAA,QAAAA,yBAAAA,kBAAAA,OAAAA,SAAAA,eAAgBQ,YAAM,QAAtBR,2BAAAA,SAAAA,yBAA0BC,2BAAAA,QAA1BD,SAAAA,SAAAA,OAAmDG,kBAAAA,QAAnDH,UAAAA,SAAAA,QAAmE,IAAA,GAAA,CAAA,GAD9DQ,SAAqBrB,gBAAAA,CAAAA,GAAbsB,YAAatB,gBAAAA,CAAAA,GAI1Ba,uBAAAA,OADwBb,mBAAAA,iBAAAA,MAAMoB,UAC9BP,SAAAA,wBAAAA,kBAAAA,OAAAA,SAAAA,eAAgBU,WAAK,QAArBV,0BAAAA,SAAAA,wBACEK,iBAAAA,QADFL,UAAAA,SAAAA,QACiB;;IAEbW,GAAG;IACHC,GAAG;IACHC,OAAOzB,WAAW0B,IAAI,QAAA,EAAUD;IAChCE,QAAQ3B,WAAW0B,IAAI,QAAA,EAAUC;EACnC,CAAA,GAAA,CAAA,GARGL,QAAmBvB,iBAAAA,CAAAA,GAAZ6B,WAAY7B,iBAAAA,CAAAA,GAUpB8B,iBAAiB9B,MAAM+B,YAAY,SAACC,OAAAA;AACxC,QAAA,qBAEIA,MADFC,aAAsBC,YAAAA,mBAAPX,OAA0BY,aAAAA,mBAARd;AAGnCrB,UAAMoC,gBAAgB,WAAA;AACpBP,eAAS,SAACQ,UAAAA;AACR;;UAEEH,cACCA,UAAUN,WAAWS,SAAST,UAC7BM,UAAUR,UAAUW,SAASX,SAC7BQ,UAAUV,MAAMa,SAASb,KACzBU,UAAUT,MAAMY,SAASZ,KAEpBS,YAEFG;;MACT,CAAA,GAEAf,UAAU,SAACgB,WAAAA;AACT,eACE,CAACA,aACDH,WAAWI,WAAWD,UAAUC,UAChCJ,WAAWK,SAASF,UAAUE,QAC9BL,WAAWM,UAAUH,UAAUG,SAC/BN,WAAWO,QAAQJ,UAAUI,MAEtBP,aAEFG;MACT,CAAA;IACF,CAAA;EACF,GAAG,CAAA,CAAE;AAEL,SACE,qBAACpC,wBAAAA,qBAAAA,eAAAA;IAAuB4B;KAAoCf,MAAAA,GAAAA;cAC1D,qBAACL,qBAAqBiC,UAAQ;MAACC,OAAOrB;gBACpC,qBAAChB,sBAAsBoC,UAAQ;QAACC,OAAOvB;;;;;AAI/C;AAEA,SAASJ,0BAAAA;AACP,SAAOjB,MAAM6C,WAAWtC,qBAAAA;AAC1B;AAEA,SAASY,yBAAAA;AACP,SAAOnB,MAAM6C,WAAWnC,oBAAAA;AAC1B;AAEA,IAAMoC,kBACJ;AAEK,SAASC,oBAAAA;AACd,MAAM1B,SAASrB,MAAM6C,WAAWtC,qBAAAA;AAChC,MAAIc,UAAU;AACZ,UAAM,IAAI2B,MAAMF,eAAAA;AAElB,SAAOzB;AACT;AAEO,SAAS4B,mBAAAA;AACd,MAAM1B,QAAQvB,MAAM6C,WAAWnC,oBAAAA;AAC/B,MAAIa,SAAS;AACX,UAAM,IAAIyB,MAAMF,eAAAA;AAElB,SAAOvB;AACT;AAMO,SAAS2B,mBACdC,kBAAkE;AAElE,SAAOnD,sBAAMoD,WAAW,SAACC,OAAUC,KAAAA;AACjC,QAAMjC,SAAS0B,kBAAAA;AACf,WAAO,qBAACI,kBAAAA,qBAAAA,eAAAA,CAAAA,GAAqBE,KAAAA,GAAAA;MAAOhC;MAAgBiC;;EACtD,CAAA;AACF;AAKO,SAASC,cAAAA;AACd,SAAOR,kBAAAA;AACT;AAKO,IAAMS,mBAAmBjD,sBAAsBkD,UAKzCC,kBAAkBnD;",
|
|
5
|
+
"names": ["React", "Dimensions", "NativeSafeAreaProvider", "isDev", "process", "env", "NODE_ENV", "SafeAreaInsetsContext", "createContext", "displayName", "SafeAreaFrameContext", "SafeAreaProvider", "children", "initialMetrics", "initialSafeAreaInsets", "others", "parentInsets", "useParentSafeAreaInsets", "parentFrame", "useParentSafeAreaFrame", "useState", "insets", "setInsets", "frame", "x", "y", "width", "get", "height", "setFrame", "onInsetsChange", "useCallback", "event", "nativeEvent", "nextFrame", "nextInsets", "startTransition", "curFrame", "curInsets", "bottom", "left", "right", "top", "Provider", "value", "useContext", "NO_INSETS_ERROR", "useSafeAreaInsets", "Error", "useSafeAreaFrame", "withSafeAreaInsets", "WrappedComponent", "forwardRef", "props", "ref", "useSafeArea", "SafeAreaConsumer", "Consumer", "SafeAreaContext"]
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -38,10 +38,10 @@ export function NativeSafeAreaProvider({
|
|
|
38
38
|
window.getComputedStyle(element)
|
|
39
39
|
|
|
40
40
|
const insets = {
|
|
41
|
-
top: paddingTop ? parseInt(paddingTop, 10) : 0,
|
|
42
|
-
bottom: paddingBottom ? parseInt(paddingBottom, 10) : 0,
|
|
43
|
-
left: paddingLeft ? parseInt(paddingLeft, 10) : 0,
|
|
44
|
-
right: paddingRight ? parseInt(paddingRight, 10) : 0,
|
|
41
|
+
top: paddingTop ? Number.parseInt(paddingTop, 10) : 0,
|
|
42
|
+
bottom: paddingBottom ? Number.parseInt(paddingBottom, 10) : 0,
|
|
43
|
+
left: paddingLeft ? Number.parseInt(paddingLeft, 10) : 0,
|
|
44
|
+
right: paddingRight ? Number.parseInt(paddingRight, 10) : 0,
|
|
45
45
|
}
|
|
46
46
|
const frame = {
|
|
47
47
|
x: 0,
|
|
@@ -60,7 +60,7 @@ export function NativeSafeAreaProvider({
|
|
|
60
60
|
}
|
|
61
61
|
}, [onInsetsChange])
|
|
62
62
|
|
|
63
|
-
return
|
|
63
|
+
return <>{children}</>
|
|
64
64
|
}
|
|
65
65
|
|
|
66
66
|
let _supportedTransitionEvent: string | null | undefined = null
|
package/src/SafeAreaContext.tsx
CHANGED
|
@@ -15,7 +15,7 @@ if (isDev) {
|
|
|
15
15
|
SafeAreaFrameContext.displayName = 'SafeAreaFrameContext'
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
export interface SafeAreaProviderProps
|
|
18
|
+
export interface SafeAreaProviderProps {
|
|
19
19
|
children?: React.ReactNode
|
|
20
20
|
initialMetrics?: Metrics | null
|
|
21
21
|
/**
|
|
@@ -28,7 +28,6 @@ export function SafeAreaProvider({
|
|
|
28
28
|
children,
|
|
29
29
|
initialMetrics,
|
|
30
30
|
initialSafeAreaInsets,
|
|
31
|
-
style,
|
|
32
31
|
...others
|
|
33
32
|
}: SafeAreaProviderProps) {
|
|
34
33
|
const parentInsets = useParentSafeAreaInsets()
|
|
@@ -51,55 +50,45 @@ export function SafeAreaProvider({
|
|
|
51
50
|
nativeEvent: { frame: nextFrame, insets: nextInsets },
|
|
52
51
|
} = event
|
|
53
52
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
nextFrame.
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
53
|
+
React.startTransition(() => {
|
|
54
|
+
setFrame((curFrame) => {
|
|
55
|
+
if (
|
|
56
|
+
// Backwards compat with old native code that won't send frame.
|
|
57
|
+
nextFrame &&
|
|
58
|
+
(nextFrame.height !== curFrame.height ||
|
|
59
|
+
nextFrame.width !== curFrame.width ||
|
|
60
|
+
nextFrame.x !== curFrame.x ||
|
|
61
|
+
nextFrame.y !== curFrame.y)
|
|
62
|
+
) {
|
|
63
|
+
return nextFrame
|
|
64
|
+
}
|
|
65
65
|
return curFrame
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
} else {
|
|
66
|
+
})
|
|
67
|
+
|
|
68
|
+
setInsets((curInsets) => {
|
|
69
|
+
if (
|
|
70
|
+
!curInsets ||
|
|
71
|
+
nextInsets.bottom !== curInsets.bottom ||
|
|
72
|
+
nextInsets.left !== curInsets.left ||
|
|
73
|
+
nextInsets.right !== curInsets.right ||
|
|
74
|
+
nextInsets.top !== curInsets.top
|
|
75
|
+
) {
|
|
76
|
+
return nextInsets
|
|
77
|
+
}
|
|
79
78
|
return curInsets
|
|
80
|
-
}
|
|
79
|
+
})
|
|
81
80
|
})
|
|
82
81
|
}, [])
|
|
83
82
|
|
|
84
83
|
return (
|
|
85
|
-
<NativeSafeAreaProvider
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
>
|
|
90
|
-
{insets != null ? (
|
|
91
|
-
<SafeAreaFrameContext.Provider value={frame}>
|
|
92
|
-
<SafeAreaInsetsContext.Provider value={insets}>{children}</SafeAreaInsetsContext.Provider>
|
|
93
|
-
</SafeAreaFrameContext.Provider>
|
|
94
|
-
) : null}
|
|
84
|
+
<NativeSafeAreaProvider onInsetsChange={onInsetsChange} {...others}>
|
|
85
|
+
<SafeAreaFrameContext.Provider value={frame}>
|
|
86
|
+
<SafeAreaInsetsContext.Provider value={insets}>{children}</SafeAreaInsetsContext.Provider>
|
|
87
|
+
</SafeAreaFrameContext.Provider>
|
|
95
88
|
</NativeSafeAreaProvider>
|
|
96
89
|
)
|
|
97
90
|
}
|
|
98
91
|
|
|
99
|
-
const styles = StyleSheet.create({
|
|
100
|
-
fill: { flex: 1 },
|
|
101
|
-
})
|
|
102
|
-
|
|
103
92
|
function useParentSafeAreaInsets(): EdgeInsets | null {
|
|
104
93
|
return React.useContext(SafeAreaInsetsContext)
|
|
105
94
|
}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { type ViewProps } from 'react-native';
|
|
3
2
|
import type { EdgeInsets, Metrics, Rect } from './SafeArea-types';
|
|
4
3
|
export declare const SafeAreaInsetsContext: React.Context<EdgeInsets | null>;
|
|
5
4
|
export declare const SafeAreaFrameContext: React.Context<Rect | null>;
|
|
6
|
-
export interface SafeAreaProviderProps
|
|
5
|
+
export interface SafeAreaProviderProps {
|
|
7
6
|
children?: React.ReactNode;
|
|
8
7
|
initialMetrics?: Metrics | null;
|
|
9
8
|
/**
|
|
@@ -11,7 +10,7 @@ export interface SafeAreaProviderProps extends ViewProps {
|
|
|
11
10
|
*/
|
|
12
11
|
initialSafeAreaInsets?: EdgeInsets | null;
|
|
13
12
|
}
|
|
14
|
-
export declare function SafeAreaProvider({ children, initialMetrics, initialSafeAreaInsets,
|
|
13
|
+
export declare function SafeAreaProvider({ children, initialMetrics, initialSafeAreaInsets, ...others }: SafeAreaProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
15
14
|
export declare function useSafeAreaInsets(): EdgeInsets;
|
|
16
15
|
export declare function useSafeAreaFrame(): Rect;
|
|
17
16
|
export type WithSafeAreaInsetsProps = {
|