@vxrn/safe-area 2.0.0-beta.33.1 → 2.0.0-beta.45.1

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 (60) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/dist/cjs/InitialWindow.cjs +15 -17
  3. package/dist/cjs/InitialWindow.native.cjs +30 -0
  4. package/dist/cjs/InitialWindow.native.js +15 -16
  5. package/dist/cjs/InitialWindow.native.js.map +1 -1
  6. package/dist/cjs/NativeSafeAreaProvider.cjs +109 -135
  7. package/dist/cjs/NativeSafeAreaProvider.native.cjs +141 -0
  8. package/dist/cjs/NativeSafeAreaProvider.native.js +111 -141
  9. package/dist/cjs/NativeSafeAreaProvider.native.js.map +1 -1
  10. package/dist/cjs/SafeArea-types.cjs +9 -11
  11. package/dist/cjs/SafeArea-types.native.cjs +18 -0
  12. package/dist/cjs/SafeArea-types.native.js +9 -10
  13. package/dist/cjs/SafeArea-types.native.js.map +1 -1
  14. package/dist/cjs/SafeAreaContext.cjs +85 -106
  15. package/dist/cjs/SafeAreaContext.native.cjs +132 -0
  16. package/dist/cjs/SafeAreaContext.native.js +88 -108
  17. package/dist/cjs/SafeAreaContext.native.js.map +1 -1
  18. package/dist/cjs/SafeAreaView.cjs +67 -100
  19. package/dist/cjs/SafeAreaView.native.cjs +99 -0
  20. package/dist/cjs/SafeAreaView.native.js +74 -106
  21. package/dist/cjs/SafeAreaView.native.js.map +1 -1
  22. package/dist/cjs/getWindowFrame.cjs +20 -24
  23. package/dist/cjs/getWindowFrame.native.cjs +35 -0
  24. package/dist/cjs/getWindowFrame.native.js +21 -27
  25. package/dist/cjs/getWindowFrame.native.js.map +1 -1
  26. package/dist/cjs/index.cjs +9 -11
  27. package/dist/cjs/index.native.cjs +22 -0
  28. package/dist/cjs/index.native.js +9 -10
  29. package/dist/cjs/index.native.js.map +1 -1
  30. package/dist/esm/InitialWindow.mjs +1 -0
  31. package/dist/esm/InitialWindow.mjs.map +1 -1
  32. package/dist/esm/InitialWindow.native.js +1 -0
  33. package/dist/esm/InitialWindow.native.js.map +1 -1
  34. package/dist/esm/NativeSafeAreaProvider.mjs +94 -109
  35. package/dist/esm/NativeSafeAreaProvider.mjs.map +1 -1
  36. package/dist/esm/NativeSafeAreaProvider.native.js +96 -116
  37. package/dist/esm/NativeSafeAreaProvider.native.js.map +1 -1
  38. package/dist/esm/SafeArea-types.mjs +0 -2
  39. package/dist/esm/SafeArea-types.native.js +0 -2
  40. package/dist/esm/SafeAreaContext.mjs +62 -74
  41. package/dist/esm/SafeAreaContext.mjs.map +1 -1
  42. package/dist/esm/SafeAreaContext.native.js +66 -78
  43. package/dist/esm/SafeAreaContext.native.js.map +1 -1
  44. package/dist/esm/SafeAreaView.mjs +52 -74
  45. package/dist/esm/SafeAreaView.mjs.map +1 -1
  46. package/dist/esm/SafeAreaView.native.js +60 -82
  47. package/dist/esm/SafeAreaView.native.js.map +1 -1
  48. package/dist/esm/getWindowFrame.mjs +7 -6
  49. package/dist/esm/getWindowFrame.mjs.map +1 -1
  50. package/dist/esm/getWindowFrame.native.js +9 -10
  51. package/dist/esm/getWindowFrame.native.js.map +1 -1
  52. package/dist/esm/index.js +5 -4
  53. package/dist/esm/index.mjs +5 -4
  54. package/dist/esm/index.native.js +5 -4
  55. package/package.json +2 -2
  56. package/dist/esm/SafeArea-types.mjs.map +0 -1
  57. package/dist/esm/SafeArea-types.native.js.map +0 -1
  58. package/dist/esm/index.js.map +0 -1
  59. package/dist/esm/index.mjs.map +0 -1
  60. package/dist/esm/index.native.js.map +0 -1
@@ -5,43 +5,36 @@ var __getOwnPropNames = Object.getOwnPropertyNames;
5
5
  var __getProtoOf = Object.getPrototypeOf;
6
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
7
  var __export = (target, all) => {
8
- for (var name in all) __defProp(target, name, {
9
- get: all[name],
10
- enumerable: true
11
- });
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
12
  };
13
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;
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
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
22
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
23
+ value: mod,
24
+ enumerable: true
30
25
  }) : target, mod));
31
- var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
32
- value: true
33
- }), mod);
26
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
34
27
  var SafeAreaContext_exports = {};
35
28
  __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
29
+ SafeAreaConsumer: () => SafeAreaConsumer,
30
+ SafeAreaContext: () => SafeAreaContext,
31
+ SafeAreaFrameContext: () => SafeAreaFrameContext,
32
+ SafeAreaInsetsContext: () => SafeAreaInsetsContext,
33
+ SafeAreaProvider: () => SafeAreaProvider,
34
+ useSafeArea: () => useSafeArea,
35
+ useSafeAreaFrame: () => useSafeAreaFrame,
36
+ useSafeAreaInsets: () => useSafeAreaInsets,
37
+ withSafeAreaInsets: () => withSafeAreaInsets
45
38
  });
46
39
  module.exports = __toCommonJS(SafeAreaContext_exports);
47
40
  var React = __toESM(require("react"), 1);
@@ -51,99 +44,85 @@ var import_jsx_runtime = require("react/jsx-runtime");
51
44
  const isDev = process.env.NODE_ENV !== "production";
52
45
  const SafeAreaInsetsContext = React.createContext(null);
53
46
  if (isDev) {
54
- SafeAreaInsetsContext.displayName = "SafeAreaInsetsContext";
47
+ SafeAreaInsetsContext.displayName = "SafeAreaInsetsContext";
55
48
  }
56
49
  const SafeAreaFrameContext = React.createContext(null);
57
50
  if (isDev) {
58
- SafeAreaFrameContext.displayName = "SafeAreaFrameContext";
51
+ SafeAreaFrameContext.displayName = "SafeAreaFrameContext";
59
52
  }
60
53
  const ZERO_INSETS = {
61
- top: 0,
62
- bottom: 0,
63
- left: 0,
64
- right: 0
54
+ top: 0,
55
+ bottom: 0,
56
+ left: 0,
57
+ right: 0
65
58
  };
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
- });
59
+ function SafeAreaProvider({ children, initialMetrics, initialSafeAreaInsets, ...others }) {
60
+ const parentInsets = useParentSafeAreaInsets();
61
+ const parentFrame = useParentSafeAreaFrame();
62
+ const [insets, setInsets] = React.useState(initialMetrics?.insets ?? initialSafeAreaInsets ?? parentInsets ?? ZERO_INSETS);
63
+ const [frame, setFrame] = React.useState(initialMetrics?.frame ?? parentFrame ?? (0, import_getWindowFrame.getWindowFrame)());
64
+ const onInsetsChange = React.useCallback((event) => {
65
+ const { nativeEvent: { frame: nextFrame, insets: nextInsets } } = event;
66
+ React.startTransition(() => {
67
+ setFrame((curFrame) => {
68
+ if (nextFrame && (nextFrame.height !== curFrame.height || nextFrame.width !== curFrame.width || nextFrame.x !== curFrame.x || nextFrame.y !== curFrame.y)) {
69
+ return nextFrame;
70
+ }
71
+ return curFrame;
72
+ });
73
+ setInsets((curInsets) => {
74
+ if (!curInsets || nextInsets.bottom !== curInsets.bottom || nextInsets.left !== curInsets.left || nextInsets.right !== curInsets.right || nextInsets.top !== curInsets.top) {
75
+ return nextInsets;
76
+ }
77
+ return curInsets;
78
+ });
79
+ });
80
+ }, []);
81
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_NativeSafeAreaProvider.NativeSafeAreaProvider, {
82
+ onInsetsChange,
83
+ ...others,
84
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SafeAreaFrameContext.Provider, {
85
+ value: frame,
86
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SafeAreaInsetsContext.Provider, {
87
+ value: insets,
88
+ children
89
+ })
90
+ })
91
+ });
113
92
  }
114
93
  function useParentSafeAreaInsets() {
115
- return React.useContext(SafeAreaInsetsContext);
94
+ return React.useContext(SafeAreaInsetsContext);
116
95
  }
117
96
  function useParentSafeAreaFrame() {
118
- return React.useContext(SafeAreaFrameContext);
97
+ return React.useContext(SafeAreaFrameContext);
119
98
  }
120
99
  const NO_INSETS_ERROR = "No safe area value available. Make sure you are rendering `<SafeAreaProvider>` at the top of your app.";
121
100
  function useSafeAreaInsets() {
122
- const insets = React.useContext(SafeAreaInsetsContext);
123
- if (insets == null) {
124
- throw new Error(NO_INSETS_ERROR);
125
- }
126
- return insets;
101
+ const insets = React.useContext(SafeAreaInsetsContext);
102
+ if (insets == null) {
103
+ throw new Error(NO_INSETS_ERROR);
104
+ }
105
+ return insets;
127
106
  }
128
107
  function useSafeAreaFrame() {
129
- const frame = React.useContext(SafeAreaFrameContext);
130
- if (frame == null) {
131
- throw new Error(NO_INSETS_ERROR);
132
- }
133
- return frame;
108
+ const frame = React.useContext(SafeAreaFrameContext);
109
+ if (frame == null) {
110
+ throw new Error(NO_INSETS_ERROR);
111
+ }
112
+ return frame;
134
113
  }
135
114
  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
- });
115
+ return React.forwardRef((props, ref) => {
116
+ const insets = useSafeAreaInsets();
117
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(WrappedComponent, {
118
+ ...props,
119
+ insets,
120
+ ref
121
+ });
122
+ });
144
123
  }
145
124
  function useSafeArea() {
146
- return useSafeAreaInsets();
125
+ return useSafeAreaInsets();
147
126
  }
148
127
  const SafeAreaConsumer = SafeAreaInsetsContext.Consumer;
149
- const SafeAreaContext = SafeAreaInsetsContext;
128
+ const SafeAreaContext = SafeAreaInsetsContext;
@@ -0,0 +1,132 @@
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(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
25
+ value: mod,
26
+ enumerable: true
27
+ }) : target, mod));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var SafeAreaContext_exports = {};
30
+ __export(SafeAreaContext_exports, {
31
+ SafeAreaConsumer: () => SafeAreaConsumer,
32
+ SafeAreaContext: () => SafeAreaContext,
33
+ SafeAreaFrameContext: () => SafeAreaFrameContext,
34
+ SafeAreaInsetsContext: () => SafeAreaInsetsContext,
35
+ SafeAreaProvider: () => SafeAreaProvider,
36
+ useSafeArea: () => useSafeArea,
37
+ useSafeAreaFrame: () => useSafeAreaFrame,
38
+ useSafeAreaInsets: () => useSafeAreaInsets,
39
+ withSafeAreaInsets: () => withSafeAreaInsets
40
+ });
41
+ module.exports = __toCommonJS(SafeAreaContext_exports);
42
+ var import_jsx_runtime = require("react/jsx-runtime");
43
+ var React = __toESM(require("react"), 1);
44
+ var import_NativeSafeAreaProvider = require("./NativeSafeAreaProvider.native.js");
45
+ var import_getWindowFrame = require("./getWindowFrame.native.js");
46
+ var isDev = process.env.NODE_ENV !== "production";
47
+ var SafeAreaInsetsContext = /* @__PURE__ */ React.createContext(null);
48
+ if (isDev) {
49
+ SafeAreaInsetsContext.displayName = "SafeAreaInsetsContext";
50
+ }
51
+ var SafeAreaFrameContext = /* @__PURE__ */ React.createContext(null);
52
+ if (isDev) {
53
+ SafeAreaFrameContext.displayName = "SafeAreaFrameContext";
54
+ }
55
+ var ZERO_INSETS = {
56
+ top: 0,
57
+ bottom: 0,
58
+ left: 0,
59
+ right: 0
60
+ };
61
+ function SafeAreaProvider(param) {
62
+ var { children, initialMetrics, initialSafeAreaInsets, ...others } = param;
63
+ var _ref, _ref1, _ref2, _ref3, _ref4;
64
+ var parentInsets = useParentSafeAreaInsets();
65
+ var parentFrame = useParentSafeAreaFrame();
66
+ var [insets, setInsets] = React.useState((_ref = (_ref1 = (_ref2 = initialMetrics === null || initialMetrics === void 0 ? void 0 : initialMetrics.insets) !== null && _ref2 !== void 0 ? _ref2 : initialSafeAreaInsets) !== null && _ref1 !== void 0 ? _ref1 : parentInsets) !== null && _ref !== void 0 ? _ref : ZERO_INSETS);
67
+ var [frame, setFrame] = React.useState((_ref3 = (_ref4 = initialMetrics === null || initialMetrics === void 0 ? void 0 : initialMetrics.frame) !== null && _ref4 !== void 0 ? _ref4 : parentFrame) !== null && _ref3 !== void 0 ? _ref3 : (0, import_getWindowFrame.getWindowFrame)());
68
+ var onInsetsChange = React.useCallback(function(event) {
69
+ var { nativeEvent: { frame: nextFrame, insets: nextInsets } } = event;
70
+ React.startTransition(function() {
71
+ setFrame(function(curFrame) {
72
+ if (nextFrame && (nextFrame.height !== curFrame.height || nextFrame.width !== curFrame.width || nextFrame.x !== curFrame.x || nextFrame.y !== curFrame.y)) {
73
+ return nextFrame;
74
+ }
75
+ return curFrame;
76
+ });
77
+ setInsets(function(curInsets) {
78
+ if (!curInsets || nextInsets.bottom !== curInsets.bottom || nextInsets.left !== curInsets.left || nextInsets.right !== curInsets.right || nextInsets.top !== curInsets.top) {
79
+ return nextInsets;
80
+ }
81
+ return curInsets;
82
+ });
83
+ });
84
+ }, []);
85
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_NativeSafeAreaProvider.NativeSafeAreaProvider, {
86
+ onInsetsChange,
87
+ ...others,
88
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SafeAreaFrameContext.Provider, {
89
+ value: frame,
90
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SafeAreaInsetsContext.Provider, {
91
+ value: insets,
92
+ children
93
+ })
94
+ })
95
+ });
96
+ }
97
+ function useParentSafeAreaInsets() {
98
+ return React.useContext(SafeAreaInsetsContext);
99
+ }
100
+ function useParentSafeAreaFrame() {
101
+ return React.useContext(SafeAreaFrameContext);
102
+ }
103
+ var NO_INSETS_ERROR = "No safe area value available. Make sure you are rendering `<SafeAreaProvider>` at the top of your app.";
104
+ function useSafeAreaInsets() {
105
+ var insets = React.useContext(SafeAreaInsetsContext);
106
+ if (insets == null) {
107
+ throw new Error(NO_INSETS_ERROR);
108
+ }
109
+ return insets;
110
+ }
111
+ function useSafeAreaFrame() {
112
+ var frame = React.useContext(SafeAreaFrameContext);
113
+ if (frame == null) {
114
+ throw new Error(NO_INSETS_ERROR);
115
+ }
116
+ return frame;
117
+ }
118
+ function withSafeAreaInsets(WrappedComponent) {
119
+ return /* @__PURE__ */ React.forwardRef(function(props, ref) {
120
+ var insets = useSafeAreaInsets();
121
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(WrappedComponent, {
122
+ ...props,
123
+ insets,
124
+ ref
125
+ });
126
+ });
127
+ }
128
+ function useSafeArea() {
129
+ return useSafeAreaInsets();
130
+ }
131
+ var SafeAreaConsumer = SafeAreaInsetsContext.Consumer;
132
+ var SafeAreaContext = SafeAreaInsetsContext;
@@ -7,43 +7,36 @@ var __getOwnPropNames = Object.getOwnPropertyNames;
7
7
  var __getProtoOf = Object.getPrototypeOf;
8
8
  var __hasOwnProp = Object.prototype.hasOwnProperty;
9
9
  var __export = (target, all) => {
10
- for (var name in all) __defProp(target, name, {
11
- get: all[name],
12
- enumerable: true
13
- });
10
+ for (var name in all) __defProp(target, name, {
11
+ get: all[name],
12
+ enumerable: true
13
+ });
14
14
  };
15
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;
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
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
24
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
25
+ value: mod,
26
+ enumerable: true
32
27
  }) : target, mod));
33
- var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
34
- value: true
35
- }), mod);
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
36
29
  var SafeAreaContext_exports = {};
37
30
  __export(SafeAreaContext_exports, {
38
- SafeAreaConsumer: () => SafeAreaConsumer,
39
- SafeAreaContext: () => SafeAreaContext,
40
- SafeAreaFrameContext: () => SafeAreaFrameContext,
41
- SafeAreaInsetsContext: () => SafeAreaInsetsContext,
42
- SafeAreaProvider: () => SafeAreaProvider,
43
- useSafeArea: () => useSafeArea,
44
- useSafeAreaFrame: () => useSafeAreaFrame,
45
- useSafeAreaInsets: () => useSafeAreaInsets,
46
- withSafeAreaInsets: () => withSafeAreaInsets
31
+ SafeAreaConsumer: () => SafeAreaConsumer,
32
+ SafeAreaContext: () => SafeAreaContext,
33
+ SafeAreaFrameContext: () => SafeAreaFrameContext,
34
+ SafeAreaInsetsContext: () => SafeAreaInsetsContext,
35
+ SafeAreaProvider: () => SafeAreaProvider,
36
+ useSafeArea: () => useSafeArea,
37
+ useSafeAreaFrame: () => useSafeAreaFrame,
38
+ useSafeAreaInsets: () => useSafeAreaInsets,
39
+ withSafeAreaInsets: () => withSafeAreaInsets
47
40
  });
48
41
  module.exports = __toCommonJS(SafeAreaContext_exports);
49
42
  var import_jsx_runtime = require("react/jsx-runtime");
@@ -51,104 +44,91 @@ var React = __toESM(require("react"), 1);
51
44
  var import_NativeSafeAreaProvider = require("./NativeSafeAreaProvider.native.js");
52
45
  var import_getWindowFrame = require("./getWindowFrame.native.js");
53
46
  var isDev = process.env.NODE_ENV !== "production";
54
- var SafeAreaInsetsContext = /* @__PURE__ */React.createContext(null);
47
+ var SafeAreaInsetsContext = /* @__PURE__ */ React.createContext(null);
55
48
  if (isDev) {
56
- SafeAreaInsetsContext.displayName = "SafeAreaInsetsContext";
49
+ SafeAreaInsetsContext.displayName = "SafeAreaInsetsContext";
57
50
  }
58
- var SafeAreaFrameContext = /* @__PURE__ */React.createContext(null);
51
+ var SafeAreaFrameContext = /* @__PURE__ */ React.createContext(null);
59
52
  if (isDev) {
60
- SafeAreaFrameContext.displayName = "SafeAreaFrameContext";
53
+ SafeAreaFrameContext.displayName = "SafeAreaFrameContext";
61
54
  }
62
55
  var ZERO_INSETS = {
63
- top: 0,
64
- bottom: 0,
65
- left: 0,
66
- right: 0
56
+ top: 0,
57
+ bottom: 0,
58
+ left: 0,
59
+ right: 0
67
60
  };
68
61
  function SafeAreaProvider(param) {
69
- var {
70
- children,
71
- initialMetrics,
72
- initialSafeAreaInsets,
73
- ...others
74
- } = param;
75
- var _ref, _ref1, _ref2, _ref3, _ref4;
76
- var parentInsets = useParentSafeAreaInsets();
77
- var parentFrame = useParentSafeAreaFrame();
78
- var [insets, setInsets] = React.useState((_ref = (_ref1 = (_ref2 = initialMetrics === null || initialMetrics === void 0 ? void 0 : initialMetrics.insets) !== null && _ref2 !== void 0 ? _ref2 : initialSafeAreaInsets) !== null && _ref1 !== void 0 ? _ref1 : parentInsets) !== null && _ref !== void 0 ? _ref : ZERO_INSETS);
79
- var [frame, setFrame] = React.useState((_ref3 = (_ref4 = initialMetrics === null || initialMetrics === void 0 ? void 0 : initialMetrics.frame) !== null && _ref4 !== void 0 ? _ref4 : parentFrame) !== null && _ref3 !== void 0 ? _ref3 :
80
- // backwards compat so we render anyway if we don't have frame.
81
- (0, import_getWindowFrame.getWindowFrame)());
82
- var onInsetsChange = React.useCallback(function (event) {
83
- var {
84
- nativeEvent: {
85
- frame: nextFrame,
86
- insets: nextInsets
87
- }
88
- } = event;
89
- React.startTransition(function () {
90
- setFrame(function (curFrame) {
91
- if (
92
- // Backwards compat with old native code that won't send frame.
93
- nextFrame && (nextFrame.height !== curFrame.height || nextFrame.width !== curFrame.width || nextFrame.x !== curFrame.x || nextFrame.y !== curFrame.y)) {
94
- return nextFrame;
95
- }
96
- return curFrame;
97
- });
98
- setInsets(function (curInsets) {
99
- if (!curInsets || nextInsets.bottom !== curInsets.bottom || nextInsets.left !== curInsets.left || nextInsets.right !== curInsets.right || nextInsets.top !== curInsets.top) {
100
- return nextInsets;
101
- }
102
- return curInsets;
103
- });
104
- });
105
- }, []);
106
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_NativeSafeAreaProvider.NativeSafeAreaProvider, {
107
- onInsetsChange,
108
- ...others,
109
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(SafeAreaFrameContext.Provider, {
110
- value: frame,
111
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(SafeAreaInsetsContext.Provider, {
112
- value: insets,
113
- children
114
- })
115
- })
116
- });
62
+ var { children, initialMetrics, initialSafeAreaInsets, ...others } = param;
63
+ var _ref, _ref1, _ref2, _ref3, _ref4;
64
+ var parentInsets = useParentSafeAreaInsets();
65
+ var parentFrame = useParentSafeAreaFrame();
66
+ var [insets, setInsets] = React.useState((_ref = (_ref1 = (_ref2 = initialMetrics === null || initialMetrics === void 0 ? void 0 : initialMetrics.insets) !== null && _ref2 !== void 0 ? _ref2 : initialSafeAreaInsets) !== null && _ref1 !== void 0 ? _ref1 : parentInsets) !== null && _ref !== void 0 ? _ref : ZERO_INSETS);
67
+ var [frame, setFrame] = React.useState((_ref3 = (_ref4 = initialMetrics === null || initialMetrics === void 0 ? void 0 : initialMetrics.frame) !== null && _ref4 !== void 0 ? _ref4 : parentFrame) !== null && _ref3 !== void 0 ? _ref3 : (0, import_getWindowFrame.getWindowFrame)());
68
+ var onInsetsChange = React.useCallback(function(event) {
69
+ var { nativeEvent: { frame: nextFrame, insets: nextInsets } } = event;
70
+ React.startTransition(function() {
71
+ setFrame(function(curFrame) {
72
+ if (nextFrame && (nextFrame.height !== curFrame.height || nextFrame.width !== curFrame.width || nextFrame.x !== curFrame.x || nextFrame.y !== curFrame.y)) {
73
+ return nextFrame;
74
+ }
75
+ return curFrame;
76
+ });
77
+ setInsets(function(curInsets) {
78
+ if (!curInsets || nextInsets.bottom !== curInsets.bottom || nextInsets.left !== curInsets.left || nextInsets.right !== curInsets.right || nextInsets.top !== curInsets.top) {
79
+ return nextInsets;
80
+ }
81
+ return curInsets;
82
+ });
83
+ });
84
+ }, []);
85
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_NativeSafeAreaProvider.NativeSafeAreaProvider, {
86
+ onInsetsChange,
87
+ ...others,
88
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SafeAreaFrameContext.Provider, {
89
+ value: frame,
90
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SafeAreaInsetsContext.Provider, {
91
+ value: insets,
92
+ children
93
+ })
94
+ })
95
+ });
117
96
  }
118
97
  function useParentSafeAreaInsets() {
119
- return React.useContext(SafeAreaInsetsContext);
98
+ return React.useContext(SafeAreaInsetsContext);
120
99
  }
121
100
  function useParentSafeAreaFrame() {
122
- return React.useContext(SafeAreaFrameContext);
101
+ return React.useContext(SafeAreaFrameContext);
123
102
  }
124
103
  var NO_INSETS_ERROR = "No safe area value available. Make sure you are rendering `<SafeAreaProvider>` at the top of your app.";
125
104
  function useSafeAreaInsets() {
126
- var insets = React.useContext(SafeAreaInsetsContext);
127
- if (insets == null) {
128
- throw new Error(NO_INSETS_ERROR);
129
- }
130
- return insets;
105
+ var insets = React.useContext(SafeAreaInsetsContext);
106
+ if (insets == null) {
107
+ throw new Error(NO_INSETS_ERROR);
108
+ }
109
+ return insets;
131
110
  }
132
111
  function useSafeAreaFrame() {
133
- var frame = React.useContext(SafeAreaFrameContext);
134
- if (frame == null) {
135
- throw new Error(NO_INSETS_ERROR);
136
- }
137
- return frame;
112
+ var frame = React.useContext(SafeAreaFrameContext);
113
+ if (frame == null) {
114
+ throw new Error(NO_INSETS_ERROR);
115
+ }
116
+ return frame;
138
117
  }
139
118
  function withSafeAreaInsets(WrappedComponent) {
140
- return /* @__PURE__ */React.forwardRef(function (props, ref) {
141
- var insets = useSafeAreaInsets();
142
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(WrappedComponent, {
143
- ...props,
144
- insets,
145
- ref
146
- });
147
- });
119
+ return /* @__PURE__ */ React.forwardRef(function(props, ref) {
120
+ var insets = useSafeAreaInsets();
121
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(WrappedComponent, {
122
+ ...props,
123
+ insets,
124
+ ref
125
+ });
126
+ });
148
127
  }
149
128
  function useSafeArea() {
150
- return useSafeAreaInsets();
129
+ return useSafeAreaInsets();
151
130
  }
152
131
  var SafeAreaConsumer = SafeAreaInsetsContext.Consumer;
153
132
  var SafeAreaContext = SafeAreaInsetsContext;
133
+
154
134
  //# sourceMappingURL=SafeAreaContext.native.js.map