@amazon-devices/react-native-safe-area-context 2.0.1759135970 → 8.0.9000000000

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 (258) hide show
  1. package/README.md +6 -302
  2. package/SystemBundles/3e1c492419a85957481898df760cf9cf3bd38d3e26ef2e78822fb256fdee0153.bundle +7373 -0
  3. package/SystemBundles/3e1c492419a85957481898df760cf9cf3bd38d3e26ef2e78822fb256fdee0153.map +2780 -0
  4. package/SystemModules/amzn__react-native-safe-area-context-8.modules.txt +7 -0
  5. package/SystemModules/amzn__react-native-safe-area-context-8.private.modules.txt +61 -0
  6. package/SystemModules/keplerscript-system-bundle-config.json +3 -3
  7. package/android/build.gradle +103 -25
  8. package/android/gradle.properties +1 -0
  9. package/android/spotless.gradle +24 -0
  10. package/android/src/fabric/java/com/th3rdwave/safeareacontext/InsetsChangeEvent.kt +25 -0
  11. package/android/src/fabric/java/com/th3rdwave/safeareacontext/UIManagerHelperCompat.kt +14 -0
  12. package/android/src/main/AndroidManifest.xml +1 -2
  13. package/android/src/main/java/com/th3rdwave/safeareacontext/EdgeInsets.kt +3 -0
  14. package/android/src/main/java/com/th3rdwave/safeareacontext/Rect.kt +3 -0
  15. package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaContextModule.kt +32 -0
  16. package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaContextPackage.kt +41 -0
  17. package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaProvider.kt +47 -0
  18. package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaProviderManager.kt +41 -0
  19. package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaUtils.kt +102 -0
  20. package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaView.kt +155 -0
  21. package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaViewEdges.kt +16 -0
  22. package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaViewLocalData.kt +7 -0
  23. package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaViewManager.kt +73 -0
  24. package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaViewMode.kt +6 -0
  25. package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaViewShadowNode.kt +170 -0
  26. package/android/src/main/java/com/th3rdwave/safeareacontext/SerializationUtils.kt +39 -0
  27. package/android/src/main/jni/CMakeLists.txt +87 -0
  28. package/android/src/main/jni/safeareacontext.h +17 -0
  29. package/android/src/paper/java/com/facebook/react/viewmanagers/RNCSafeAreaProviderManagerDelegate.java +31 -0
  30. package/android/src/paper/java/com/facebook/react/viewmanagers/RNCSafeAreaProviderManagerInterface.java +16 -0
  31. package/android/src/paper/java/com/facebook/react/viewmanagers/RNCSafeAreaViewManagerDelegate.java +41 -0
  32. package/android/src/paper/java/com/facebook/react/viewmanagers/RNCSafeAreaViewManagerInterface.java +20 -0
  33. package/android/src/paper/java/com/th3rdwave/safeareacontext/InsetsChangeEvent.kt +29 -0
  34. package/android/src/paper/java/com/th3rdwave/safeareacontext/NativeSafeAreaContextSpec.java +56 -0
  35. package/android/src/paper/java/com/th3rdwave/safeareacontext/UIManagerHelperCompat.kt +20 -0
  36. package/common/cpp/react/renderer/components/safeareacontext/RNCSafeAreaViewComponentDescriptor.h +25 -0
  37. package/common/cpp/react/renderer/components/safeareacontext/RNCSafeAreaViewShadowNode.cpp +131 -0
  38. package/common/cpp/react/renderer/components/safeareacontext/RNCSafeAreaViewShadowNode.h +36 -0
  39. package/common/cpp/react/renderer/components/safeareacontext/RNCSafeAreaViewState.cpp +23 -0
  40. package/common/cpp/react/renderer/components/safeareacontext/RNCSafeAreaViewState.h +56 -0
  41. package/ios/Fabric/RNCSafeAreaProviderComponentView.h +13 -0
  42. package/ios/Fabric/RNCSafeAreaProviderComponentView.mm +129 -0
  43. package/ios/Fabric/RNCSafeAreaViewComponentView.h +11 -0
  44. package/ios/Fabric/RNCSafeAreaViewComponentView.mm +153 -0
  45. package/ios/RNCSafeAreaContext.h +9 -0
  46. package/ios/RNCSafeAreaContext.mm +85 -0
  47. package/ios/{SafeAreaView/RNCSafeAreaProvider.h → RNCSafeAreaProvider.h} +4 -0
  48. package/ios/RNCSafeAreaProvider.m +102 -0
  49. package/ios/RNCSafeAreaProviderManager.m +20 -0
  50. package/ios/{SafeAreaView/RNCSafeAreaShadowView.m → RNCSafeAreaShadowView.m} +50 -36
  51. package/ios/RNCSafeAreaUtils.h +22 -0
  52. package/ios/RNCSafeAreaUtils.m +41 -0
  53. package/ios/{SafeAreaView/RNCSafeAreaView.h → RNCSafeAreaView.h} +8 -4
  54. package/ios/RNCSafeAreaView.m +168 -0
  55. package/ios/RNCSafeAreaViewEdgeMode.h +12 -0
  56. package/ios/RNCSafeAreaViewEdgeMode.m +16 -0
  57. package/ios/RNCSafeAreaViewEdges.h +15 -0
  58. package/ios/RNCSafeAreaViewEdges.m +36 -0
  59. package/ios/{SafeAreaView/RNCSafeAreaViewLocalData.h → RNCSafeAreaViewLocalData.h} +12 -1
  60. package/ios/{SafeAreaView/RNCSafeAreaViewLocalData.m → RNCSafeAreaViewLocalData.m} +4 -0
  61. package/ios/{SafeAreaView/RNCSafeAreaViewManager.m → RNCSafeAreaViewManager.m} +5 -1
  62. package/ios/RNCSafeAreaViewMode.m +15 -0
  63. package/ios/{SafeAreaView.xcodeproj → RNSafeAreaContext.xcodeproj}/project.pbxproj +70 -56
  64. package/jest/mock.tsx +59 -0
  65. package/kepler-compatibility.json +2 -2
  66. package/lib/commonjs/CompatNativeSafeAreaProvider.js +7 -8
  67. package/lib/commonjs/CompatNativeSafeAreaProvider.js.map +1 -1
  68. package/lib/commonjs/InitialWindow.js.map +1 -1
  69. package/lib/commonjs/InitialWindow.kepler.js +1 -1
  70. package/lib/commonjs/InitialWindow.kepler.js.map +1 -1
  71. package/lib/commonjs/InitialWindow.native.js +4 -4
  72. package/lib/commonjs/InitialWindow.native.js.map +1 -1
  73. package/lib/commonjs/NativeSafeAreaProvider.js +7 -125
  74. package/lib/commonjs/NativeSafeAreaProvider.js.map +1 -1
  75. package/lib/commonjs/NativeSafeAreaProvider.kepler.js +6 -2
  76. package/lib/commonjs/NativeSafeAreaProvider.kepler.js.map +1 -1
  77. package/lib/commonjs/NativeSafeAreaProvider.web.js +135 -0
  78. package/lib/commonjs/NativeSafeAreaProvider.web.js.map +1 -0
  79. package/lib/commonjs/NativeSafeAreaProvider.windows.js +6 -2
  80. package/lib/commonjs/NativeSafeAreaProvider.windows.js.map +1 -1
  81. package/lib/commonjs/SafeArea.types.js.map +1 -1
  82. package/lib/commonjs/SafeAreaContext.js +56 -36
  83. package/lib/commonjs/SafeAreaContext.js.map +1 -1
  84. package/lib/commonjs/SafeAreaView.js +40 -73
  85. package/lib/commonjs/SafeAreaView.js.map +1 -1
  86. package/lib/commonjs/SafeAreaView.kepler.js.map +1 -1
  87. package/lib/commonjs/SafeAreaView.web.js +91 -0
  88. package/lib/commonjs/SafeAreaView.web.js.map +1 -0
  89. package/lib/commonjs/SafeAreaView.windows.js.map +1 -1
  90. package/lib/commonjs/index.js +1 -0
  91. package/lib/commonjs/index.js.map +1 -1
  92. package/lib/commonjs/package.json +1 -0
  93. package/lib/commonjs/specs/NativeSafeAreaContext.js +9 -0
  94. package/lib/commonjs/specs/NativeSafeAreaContext.js.map +1 -0
  95. package/lib/commonjs/specs/NativeSafeAreaProvider.js +10 -0
  96. package/lib/commonjs/specs/NativeSafeAreaProvider.js.map +1 -0
  97. package/lib/commonjs/specs/NativeSafeAreaView.js +12 -0
  98. package/lib/commonjs/specs/NativeSafeAreaView.js.map +1 -0
  99. package/lib/module/CompatNativeSafeAreaProvider.js +8 -5
  100. package/lib/module/CompatNativeSafeAreaProvider.js.map +1 -1
  101. package/lib/module/InitialWindow.js +2 -0
  102. package/lib/module/InitialWindow.js.map +1 -1
  103. package/lib/module/InitialWindow.kepler.js +3 -1
  104. package/lib/module/InitialWindow.kepler.js.map +1 -1
  105. package/lib/module/InitialWindow.native.js +5 -4
  106. package/lib/module/InitialWindow.native.js.map +1 -1
  107. package/lib/module/NativeSafeAreaProvider.js +3 -122
  108. package/lib/module/NativeSafeAreaProvider.js.map +1 -1
  109. package/lib/module/NativeSafeAreaProvider.kepler.js +3 -2
  110. package/lib/module/NativeSafeAreaProvider.kepler.js.map +1 -1
  111. package/lib/module/NativeSafeAreaProvider.web.js +130 -0
  112. package/lib/module/NativeSafeAreaProvider.web.js.map +1 -0
  113. package/lib/module/NativeSafeAreaProvider.windows.js +3 -2
  114. package/lib/module/NativeSafeAreaProvider.windows.js.map +1 -1
  115. package/lib/module/SafeArea.types.js +2 -0
  116. package/lib/module/SafeArea.types.js.map +1 -1
  117. package/lib/module/SafeAreaContext.js +57 -33
  118. package/lib/module/SafeAreaContext.js.map +1 -1
  119. package/lib/module/SafeAreaView.js +38 -69
  120. package/lib/module/SafeAreaView.js.map +1 -1
  121. package/lib/module/SafeAreaView.kepler.js +2 -0
  122. package/lib/module/SafeAreaView.kepler.js.map +1 -1
  123. package/lib/module/SafeAreaView.web.js +86 -0
  124. package/lib/module/SafeAreaView.web.js.map +1 -0
  125. package/lib/module/SafeAreaView.windows.js +2 -0
  126. package/lib/module/SafeAreaView.windows.js.map +1 -1
  127. package/lib/module/index.js +3 -0
  128. package/lib/module/index.js.map +1 -1
  129. package/lib/module/specs/NativeSafeAreaContext.js +5 -0
  130. package/lib/module/specs/NativeSafeAreaContext.js.map +1 -0
  131. package/lib/module/specs/NativeSafeAreaProvider.js +5 -0
  132. package/lib/module/specs/NativeSafeAreaProvider.js.map +1 -0
  133. package/lib/module/specs/NativeSafeAreaView.js +7 -0
  134. package/lib/module/specs/NativeSafeAreaView.js.map +1 -0
  135. package/lib/typescript/CompatNativeSafeAreaProvider.d.ts +4 -0
  136. package/lib/typescript/CompatNativeSafeAreaProvider.d.ts.map +1 -0
  137. package/lib/typescript/{src/InitialWindow.d.ts → InitialWindow.d.ts} +2 -1
  138. package/lib/typescript/InitialWindow.d.ts.map +1 -0
  139. package/lib/typescript/{src/InitialWindow.kepler.d.ts → InitialWindow.kepler.d.ts} +1 -0
  140. package/lib/typescript/InitialWindow.kepler.d.ts.map +1 -0
  141. package/lib/typescript/{src/InitialWindow.native.d.ts → InitialWindow.native.d.ts} +2 -1
  142. package/lib/typescript/InitialWindow.native.d.ts.map +1 -0
  143. package/lib/typescript/NativeSafeAreaProvider.d.ts +3 -0
  144. package/lib/typescript/NativeSafeAreaProvider.d.ts.map +1 -0
  145. package/lib/typescript/NativeSafeAreaProvider.kepler.d.ts +2 -0
  146. package/lib/typescript/NativeSafeAreaProvider.kepler.d.ts.map +1 -0
  147. package/lib/typescript/NativeSafeAreaProvider.web.d.ts +4 -0
  148. package/lib/typescript/NativeSafeAreaProvider.web.d.ts.map +1 -0
  149. package/lib/typescript/NativeSafeAreaProvider.windows.d.ts +2 -0
  150. package/lib/typescript/NativeSafeAreaProvider.windows.d.ts.map +1 -0
  151. package/lib/typescript/SafeArea.types.d.ts +36 -0
  152. package/lib/typescript/SafeArea.types.d.ts.map +1 -0
  153. package/lib/typescript/{src/SafeAreaContext.d.ts → SafeAreaContext.d.ts} +9 -6
  154. package/lib/typescript/SafeAreaContext.d.ts.map +1 -0
  155. package/lib/typescript/SafeAreaView.d.ts +5 -0
  156. package/lib/typescript/SafeAreaView.d.ts.map +1 -0
  157. package/lib/typescript/{src/SafeAreaView.kepler.d.ts → SafeAreaView.kepler.d.ts} +1 -0
  158. package/lib/typescript/SafeAreaView.kepler.d.ts.map +1 -0
  159. package/lib/typescript/SafeAreaView.web.d.ts +4 -0
  160. package/lib/typescript/SafeAreaView.web.d.ts.map +1 -0
  161. package/lib/typescript/SafeAreaView.windows.d.ts +3 -0
  162. package/lib/typescript/SafeAreaView.windows.d.ts.map +1 -0
  163. package/lib/typescript/{src/index.d.ts → index.d.ts} +1 -0
  164. package/lib/typescript/index.d.ts.map +1 -0
  165. package/lib/typescript/specs/NativeSafeAreaContext.d.ts +23 -0
  166. package/lib/typescript/specs/NativeSafeAreaContext.d.ts.map +1 -0
  167. package/lib/typescript/specs/NativeSafeAreaProvider.d.ts +22 -0
  168. package/lib/typescript/specs/NativeSafeAreaProvider.d.ts.map +1 -0
  169. package/lib/typescript/specs/NativeSafeAreaView.d.ts +14 -0
  170. package/lib/typescript/specs/NativeSafeAreaView.d.ts.map +1 -0
  171. package/package.json +1 -1
  172. package/react-native-safe-area-context.podspec +26 -4
  173. package/react-native.config.js +8 -0
  174. package/src/CompatNativeSafeAreaProvider.tsx +2 -3
  175. package/src/InitialWindow.kepler.ts +1 -1
  176. package/src/InitialWindow.native.ts +5 -11
  177. package/src/InitialWindow.ts +1 -1
  178. package/src/NativeSafeAreaProvider.kepler.tsx +1 -3
  179. package/src/NativeSafeAreaProvider.tsx +2 -128
  180. package/src/NativeSafeAreaProvider.web.tsx +127 -0
  181. package/src/NativeSafeAreaProvider.windows.tsx +1 -3
  182. package/src/SafeArea.types.ts +15 -11
  183. package/src/SafeAreaContext.tsx +66 -43
  184. package/src/SafeAreaView.tsx +47 -82
  185. package/src/SafeAreaView.web.tsx +123 -0
  186. package/src/SafeAreaView.windows.tsx +2 -1
  187. package/src/index.tsx +2 -0
  188. package/src/specs/NativeSafeAreaContext.ts +23 -0
  189. package/src/specs/NativeSafeAreaProvider.ts +29 -0
  190. package/src/specs/NativeSafeAreaView.ts +17 -0
  191. package/SystemBundles/e3c0cdeab56b8b622d4f0fd5a80812eafe199fa2287d0e3a09c5e573a1035350.bundle +0 -11031
  192. package/SystemBundles/e3c0cdeab56b8b622d4f0fd5a80812eafe199fa2287d0e3a09c5e573a1035350.map +0 -1
  193. package/SystemModules/amzn__react-native-safe-area-context-2.modules.txt +0 -55
  194. package/SystemModules/amzn__react-native-safe-area-context-2.private.modules.txt +0 -91
  195. package/THIRD_PARTY_NOTICES.txt +0 -24
  196. package/android/src/main/java/com/th3rdwave/safeareacontext/EdgeInsets.java +0 -22
  197. package/android/src/main/java/com/th3rdwave/safeareacontext/InsetsChangeEvent.java +0 -33
  198. package/android/src/main/java/com/th3rdwave/safeareacontext/Rect.java +0 -22
  199. package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaContextPackage.java +0 -31
  200. package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaProvider.java +0 -66
  201. package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaProviderManager.java +0 -94
  202. package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaUtils.java +0 -82
  203. package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaView.java +0 -159
  204. package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaViewEdges.java +0 -8
  205. package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaViewLocalData.java +0 -27
  206. package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaViewManager.java +0 -72
  207. package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaViewMode.java +0 -6
  208. package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaViewShadowNode.java +0 -201
  209. package/android/src/main/java/com/th3rdwave/safeareacontext/SerializationUtils.java +0 -52
  210. package/ios/SafeAreaView/RCTView+SafeAreaCompat.h +0 -16
  211. package/ios/SafeAreaView/RCTView+SafeAreaCompat.m +0 -57
  212. package/ios/SafeAreaView/RNCSafeAreaProvider.m +0 -65
  213. package/ios/SafeAreaView/RNCSafeAreaProviderManager.m +0 -61
  214. package/ios/SafeAreaView/RNCSafeAreaView.m +0 -118
  215. package/ios/SafeAreaView/RNCSafeAreaViewEdges.h +0 -9
  216. package/ios/SafeAreaView/RNCSafeAreaViewEdges.m +0 -13
  217. package/ios/SafeAreaView/RNCSafeAreaViewMode.m +0 -11
  218. package/lib/commonjs/NativeSafeAreaProvider.macos.js +0 -9
  219. package/lib/commonjs/NativeSafeAreaProvider.macos.js.map +0 -1
  220. package/lib/commonjs/NativeSafeAreaProvider.native.js +0 -9
  221. package/lib/commonjs/NativeSafeAreaProvider.native.js.map +0 -1
  222. package/lib/commonjs/SafeAreaView.macos.js +0 -9
  223. package/lib/commonjs/SafeAreaView.macos.js.map +0 -1
  224. package/lib/commonjs/SafeAreaView.native.js +0 -9
  225. package/lib/commonjs/SafeAreaView.native.js.map +0 -1
  226. package/lib/commonjs/useWindowDimensions.js +0 -32
  227. package/lib/commonjs/useWindowDimensions.js.map +0 -1
  228. package/lib/module/NativeSafeAreaProvider.macos.js +0 -3
  229. package/lib/module/NativeSafeAreaProvider.macos.js.map +0 -1
  230. package/lib/module/NativeSafeAreaProvider.native.js +0 -3
  231. package/lib/module/NativeSafeAreaProvider.native.js.map +0 -1
  232. package/lib/module/SafeAreaView.macos.js +0 -3
  233. package/lib/module/SafeAreaView.macos.js.map +0 -1
  234. package/lib/module/SafeAreaView.native.js +0 -3
  235. package/lib/module/SafeAreaView.native.js.map +0 -1
  236. package/lib/module/useWindowDimensions.js +0 -26
  237. package/lib/module/useWindowDimensions.js.map +0 -1
  238. package/lib/typescript/src/CompatNativeSafeAreaProvider.d.ts +0 -2
  239. package/lib/typescript/src/NativeSafeAreaProvider.d.ts +0 -2
  240. package/lib/typescript/src/NativeSafeAreaProvider.kepler.d.ts +0 -2
  241. package/lib/typescript/src/NativeSafeAreaProvider.macos.d.ts +0 -2
  242. package/lib/typescript/src/NativeSafeAreaProvider.native.d.ts +0 -3
  243. package/lib/typescript/src/NativeSafeAreaProvider.windows.d.ts +0 -2
  244. package/lib/typescript/src/SafeArea.types.d.ts +0 -31
  245. package/lib/typescript/src/SafeAreaView.d.ts +0 -2
  246. package/lib/typescript/src/SafeAreaView.macos.d.ts +0 -2
  247. package/lib/typescript/src/SafeAreaView.native.d.ts +0 -2
  248. package/lib/typescript/src/SafeAreaView.windows.d.ts +0 -2
  249. package/lib/typescript/src/useWindowDimensions.d.ts +0 -8
  250. package/src/NativeSafeAreaProvider.macos.tsx +0 -3
  251. package/src/NativeSafeAreaProvider.native.tsx +0 -6
  252. package/src/SafeAreaView.macos.tsx +0 -3
  253. package/src/SafeAreaView.native.tsx +0 -6
  254. package/src/useWindowDimensions.tsx +0 -35
  255. /package/ios/{SafeAreaView/RNCSafeAreaProviderManager.h → RNCSafeAreaProviderManager.h} +0 -0
  256. /package/ios/{SafeAreaView/RNCSafeAreaShadowView.h → RNCSafeAreaShadowView.h} +0 -0
  257. /package/ios/{SafeAreaView/RNCSafeAreaViewManager.h → RNCSafeAreaViewManager.h} +0 -0
  258. /package/ios/{SafeAreaView/RNCSafeAreaViewMode.h → RNCSafeAreaViewMode.h} +0 -0
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SafeAreaView = void 0;
7
+ var React = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _SafeAreaContext = require("./SafeAreaContext");
10
+ var _jsxRuntime = require("react/jsx-runtime");
11
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
12
+ const defaultEdges = {
13
+ top: 'additive',
14
+ left: 'additive',
15
+ bottom: 'additive',
16
+ right: 'additive'
17
+ };
18
+ function getEdgeValue(inset, current, mode) {
19
+ switch (mode) {
20
+ case 'off':
21
+ return current;
22
+ case 'maximum':
23
+ return Math.max(current, inset);
24
+ case 'additive':
25
+ default:
26
+ return current + inset;
27
+ }
28
+ }
29
+ const SafeAreaView = exports.SafeAreaView = /*#__PURE__*/React.forwardRef(({
30
+ style = {},
31
+ mode,
32
+ edges,
33
+ ...rest
34
+ }, ref) => {
35
+ const insets = (0, _SafeAreaContext.useSafeAreaInsets)();
36
+ const edgesRecord = React.useMemo(() => {
37
+ if (edges == null) {
38
+ return defaultEdges;
39
+ }
40
+ return Array.isArray(edges) ? edges.reduce((acc, edge) => {
41
+ acc[edge] = 'additive';
42
+ return acc;
43
+ }, {}) :
44
+ // ts has trouble with refining readonly arrays.
45
+ edges;
46
+ }, [edges]);
47
+ const appliedStyle = React.useMemo(() => {
48
+ const flatStyle = _reactNative.StyleSheet.flatten(style);
49
+ if (mode === 'margin') {
50
+ const {
51
+ margin = 0,
52
+ marginVertical = margin,
53
+ marginHorizontal = margin,
54
+ marginTop = marginVertical,
55
+ marginRight = marginHorizontal,
56
+ marginBottom = marginVertical,
57
+ marginLeft = marginHorizontal
58
+ } = flatStyle;
59
+ const marginStyle = {
60
+ marginTop: getEdgeValue(insets.top, marginTop, edgesRecord.top),
61
+ marginRight: getEdgeValue(insets.right, marginRight, edgesRecord.right),
62
+ marginBottom: getEdgeValue(insets.bottom, marginBottom, edgesRecord.bottom),
63
+ marginLeft: getEdgeValue(insets.left, marginLeft, edgesRecord.left)
64
+ };
65
+ return [style, marginStyle];
66
+ } else {
67
+ const {
68
+ padding = 0,
69
+ paddingVertical = padding,
70
+ paddingHorizontal = padding,
71
+ paddingTop = paddingVertical,
72
+ paddingRight = paddingHorizontal,
73
+ paddingBottom = paddingVertical,
74
+ paddingLeft = paddingHorizontal
75
+ } = flatStyle;
76
+ const paddingStyle = {
77
+ paddingTop: getEdgeValue(insets.top, paddingTop, edgesRecord.top),
78
+ paddingRight: getEdgeValue(insets.right, paddingRight, edgesRecord.right),
79
+ paddingBottom: getEdgeValue(insets.bottom, paddingBottom, edgesRecord.bottom),
80
+ paddingLeft: getEdgeValue(insets.left, paddingLeft, edgesRecord.left)
81
+ };
82
+ return [style, paddingStyle];
83
+ }
84
+ }, [edgesRecord.bottom, edgesRecord.left, edgesRecord.right, edgesRecord.top, insets.bottom, insets.left, insets.right, insets.top, mode, style]);
85
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
86
+ style: appliedStyle,
87
+ ...rest,
88
+ ref: ref
89
+ });
90
+ });
91
+ //# sourceMappingURL=SafeAreaView.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_SafeAreaContext","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","defaultEdges","top","left","bottom","right","getEdgeValue","inset","current","mode","Math","max","SafeAreaView","exports","forwardRef","style","edges","rest","ref","insets","useSafeAreaInsets","edgesRecord","useMemo","Array","isArray","reduce","acc","edge","appliedStyle","flatStyle","StyleSheet","flatten","margin","marginVertical","marginHorizontal","marginTop","marginRight","marginBottom","marginLeft","marginStyle","padding","paddingVertical","paddingHorizontal","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingStyle","jsx","View"],"sourceRoot":"../../src","sources":["SafeAreaView.web.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","SafeAreaView","exports","View"],"sources":["SafeAreaView.windows.tsx"],"sourcesContent":["import { View } from 'react-native';\n\nexport const SafeAreaView = View;\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEO,MAAMC,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAGE,iBAAI","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","SafeAreaView","exports","View"],"sourceRoot":"../../src","sources":["SafeAreaView.windows.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAGO,MAAMC,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAGE,iBAA6C","ignoreList":[]}
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ 'use client';
2
3
 
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
@@ -1 +1 @@
1
- {"version":3,"names":["_SafeAreaContext","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_SafeAreaView","_InitialWindow","_SafeArea"],"sources":["index.tsx"],"sourcesContent":["export * from './SafeAreaContext';\nexport * from './SafeAreaView';\nexport * from './InitialWindow';\nexport * from './SafeArea.types';\n"],"mappings":";;;;;AAAA,IAAAA,gBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,gBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,gBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,gBAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,aAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,aAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,aAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,aAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,cAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,cAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,cAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,cAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,SAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,SAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,SAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,SAAA,CAAAP,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["Object","defineProperty","exports","value","_SafeAreaContext","require","keys","forEach","key","enumerable","get","_SafeAreaView","_InitialWindow","_SafeArea"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";AAAA,YAAY;;AAACA,MAAA,CAAAC,cAAA,CAAAC,OAAA;EAAAC,KAAA;AAAA;AAEb,IAAAC,gBAAA,GAAAC,OAAA;AAAAL,MAAA,CAAAM,IAAA,CAAAF,gBAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAN,OAAA,IAAAA,OAAA,CAAAM,GAAA,MAAAJ,gBAAA,CAAAI,GAAA;EAAAR,MAAA,CAAAC,cAAA,CAAAC,OAAA,EAAAM,GAAA;IAAAC,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAN,gBAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AACA,IAAAG,aAAA,GAAAN,OAAA;AAAAL,MAAA,CAAAM,IAAA,CAAAK,aAAA,EAAAJ,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAN,OAAA,IAAAA,OAAA,CAAAM,GAAA,MAAAG,aAAA,CAAAH,GAAA;EAAAR,MAAA,CAAAC,cAAA,CAAAC,OAAA,EAAAM,GAAA;IAAAC,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,aAAA,CAAAH,GAAA;IAAA;EAAA;AAAA;AACA,IAAAI,cAAA,GAAAP,OAAA;AAAAL,MAAA,CAAAM,IAAA,CAAAM,cAAA,EAAAL,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAN,OAAA,IAAAA,OAAA,CAAAM,GAAA,MAAAI,cAAA,CAAAJ,GAAA;EAAAR,MAAA,CAAAC,cAAA,CAAAC,OAAA,EAAAM,GAAA;IAAAC,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,cAAA,CAAAJ,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,SAAA,GAAAR,OAAA;AAAAL,MAAA,CAAAM,IAAA,CAAAO,SAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAN,OAAA,IAAAA,OAAA,CAAAM,GAAA,MAAAK,SAAA,CAAAL,GAAA;EAAAR,MAAA,CAAAC,cAAA,CAAAC,OAAA,EAAAM,GAAA;IAAAC,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,SAAA,CAAAL,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"type":"commonjs"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _reactNative = require("react-native");
8
+ var _default = exports.default = _reactNative.TurboModuleRegistry.get('RNCSafeAreaContext');
9
+ //# sourceMappingURL=NativeSafeAreaContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","_default","exports","default","TurboModuleRegistry","get"],"sourceRoot":"../../../src","sources":["specs/NativeSafeAreaContext.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAAgE,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAsBjDC,gCAAmB,CAACC,GAAG,CAAO,oBAAoB,CAAC","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _codegenNativeComponent = _interopRequireDefault(require("react-native/Libraries/Utilities/codegenNativeComponent"));
8
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
+ var _default = exports.default = (0, _codegenNativeComponent.default)('RNCSafeAreaProvider');
10
+ //# sourceMappingURL=NativeSafeAreaProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_codegenNativeComponent","_interopRequireDefault","require","e","__esModule","default","_default","exports","codegenNativeComponent"],"sourceRoot":"../../../src","sources":["specs/NativeSafeAreaProvider.ts"],"mappings":";;;;;;AAIA,IAAAA,uBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA6F,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,IAAAG,QAAA,GAAAC,OAAA,CAAAF,OAAA,GAsB9E,IAAAG,+BAAsB,EACnC,qBACF,CAAC","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _codegenNativeComponent = _interopRequireDefault(require("react-native/Libraries/Utilities/codegenNativeComponent"));
8
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
+ var _default = exports.default = (0, _codegenNativeComponent.default)('RNCSafeAreaView', {
10
+ interfaceOnly: true
11
+ });
12
+ //# sourceMappingURL=NativeSafeAreaView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_codegenNativeComponent","_interopRequireDefault","require","e","__esModule","default","_default","exports","codegenNativeComponent","interfaceOnly"],"sourceRoot":"../../../src","sources":["specs/NativeSafeAreaView.ts"],"mappings":";;;;;;AAAA,IAAAA,uBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA6F,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,IAAAG,QAAA,GAAAC,OAAA,CAAAF,OAAA,GAc9E,IAAAG,+BAAsB,EAAc,iBAAiB,EAAE;EACpEC,aAAa,EAAE;AACjB,CAAC,CAAC","ignoreList":[]}
@@ -1,6 +1,8 @@
1
+ "use strict";
2
+
1
3
  import * as React from 'react';
2
- import { View } from 'react-native';
3
- import useWindowDimensions from './useWindowDimensions';
4
+ import { useWindowDimensions, View } from 'react-native';
5
+ import { jsx as _jsx } from "react/jsx-runtime";
4
6
  export function CompatNativeSafeAreaProvider({
5
7
  children,
6
8
  style,
@@ -28,8 +30,9 @@ export function CompatNativeSafeAreaProvider({
28
30
  }
29
31
  });
30
32
  }, [onInsetsChange, window.height, window.width]);
31
- return /*#__PURE__*/React.createElement(View, {
32
- style: style
33
- }, children);
33
+ return /*#__PURE__*/_jsx(View, {
34
+ style: style,
35
+ children: children
36
+ });
34
37
  }
35
38
  //# sourceMappingURL=CompatNativeSafeAreaProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","useWindowDimensions","CompatNativeSafeAreaProvider","children","style","onInsetsChange","window","useEffect","insets","top","bottom","left","right","frame","x","y","width","height","nativeEvent","createElement"],"sources":["CompatNativeSafeAreaProvider.tsx"],"sourcesContent":["import * as React from 'react';\nimport { View } from 'react-native';\nimport { NativeSafeAreaProviderProps } from './SafeArea.types';\nimport useWindowDimensions from './useWindowDimensions';\n\nexport function CompatNativeSafeAreaProvider({\n children,\n style,\n onInsetsChange,\n}: NativeSafeAreaProviderProps) {\n const window = useWindowDimensions();\n React.useEffect(() => {\n const insets = {\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n };\n const frame = {\n x: 0,\n y: 0,\n width: window.width,\n height: window.height,\n };\n // @ts-ignore: missing properties\n onInsetsChange({ nativeEvent: { insets, frame } });\n }, [onInsetsChange, window.height, window.width]);\n return <View style={style}>{children}</View>;\n}\n"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,IAAI,QAAQ,cAAc;AAEnC,OAAOC,mBAAmB,MAAM,uBAAuB;AAEvD,OAAO,SAASC,4BAA4BA,CAAC;EAC3CC,QAAQ;EACRC,KAAK;EACLC;AAC2B,CAAC,EAAE;EAC9B,MAAMC,MAAM,GAAGL,mBAAmB,CAAC,CAAC;EACpCF,KAAK,CAACQ,SAAS,CAAC,MAAM;IACpB,MAAMC,MAAM,GAAG;MACbC,GAAG,EAAE,CAAC;MACNC,MAAM,EAAE,CAAC;MACTC,IAAI,EAAE,CAAC;MACPC,KAAK,EAAE;IACT,CAAC;IACD,MAAMC,KAAK,GAAG;MACZC,CAAC,EAAE,CAAC;MACJC,CAAC,EAAE,CAAC;MACJC,KAAK,EAAEV,MAAM,CAACU,KAAK;MACnBC,MAAM,EAAEX,MAAM,CAACW;IACjB,CAAC;IACD;IACAZ,cAAc,CAAC;MAAEa,WAAW,EAAE;QAAEV,MAAM;QAAEK;MAAM;IAAE,CAAC,CAAC;EACpD,CAAC,EAAE,CAACR,cAAc,EAAEC,MAAM,CAACW,MAAM,EAAEX,MAAM,CAACU,KAAK,CAAC,CAAC;EACjD,oBAAOjB,KAAA,CAAAoB,aAAA,CAACnB,IAAI;IAACI,KAAK,EAAEA;EAAM,GAAED,QAAe,CAAC;AAC9C","ignoreList":[]}
1
+ {"version":3,"names":["React","useWindowDimensions","View","jsx","_jsx","CompatNativeSafeAreaProvider","children","style","onInsetsChange","window","useEffect","insets","top","bottom","left","right","frame","x","y","width","height","nativeEvent"],"sourceRoot":"../../src","sources":["CompatNativeSafeAreaProvider.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,mBAAmB,EAAEC,IAAI,QAAQ,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAGzD,OAAO,SAASC,4BAA4BA,CAAC;EAC3CC,QAAQ;EACRC,KAAK;EACLC;AAC2B,CAAC,EAAE;EAC9B,MAAMC,MAAM,GAAGR,mBAAmB,CAAC,CAAC;EACpCD,KAAK,CAACU,SAAS,CAAC,MAAM;IACpB,MAAMC,MAAM,GAAG;MACbC,GAAG,EAAE,CAAC;MACNC,MAAM,EAAE,CAAC;MACTC,IAAI,EAAE,CAAC;MACPC,KAAK,EAAE;IACT,CAAC;IACD,MAAMC,KAAK,GAAG;MACZC,CAAC,EAAE,CAAC;MACJC,CAAC,EAAE,CAAC;MACJC,KAAK,EAAEV,MAAM,CAACU,KAAK;MACnBC,MAAM,EAAEX,MAAM,CAACW;IACjB,CAAC;IACD;IACAZ,cAAc,CAAC;MAAEa,WAAW,EAAE;QAAEV,MAAM;QAAEK;MAAM;IAAE,CAAC,CAAC;EACpD,CAAC,EAAE,CAACR,cAAc,EAAEC,MAAM,CAACW,MAAM,EAAEX,MAAM,CAACU,KAAK,CAAC,CAAC;EACjD,oBAAOf,IAAA,CAACF,IAAI;IAACK,KAAK,EAAEA,KAAM;IAAAD,QAAA,EAAEA;EAAQ,CAAO,CAAC;AAC9C","ignoreList":[]}
@@ -1,3 +1,5 @@
1
+ "use strict";
2
+
1
3
  export const initialWindowMetrics = null;
2
4
 
3
5
  /**
@@ -1 +1 @@
1
- {"version":3,"names":["initialWindowMetrics","initialWindowSafeAreaInsets"],"sources":["InitialWindow.ts"],"sourcesContent":["import { EdgeInsets, Metrics } from './SafeArea.types';\n\nexport const initialWindowMetrics: Metrics | null = null;\n\n/**\n * @deprecated\n */\nexport const initialWindowSafeAreaInsets: EdgeInsets | null = null;\n"],"mappings":"AAEA,OAAO,MAAMA,oBAAoC,GAAG,IAAI;;AAExD;AACA;AACA;AACA,OAAO,MAAMC,2BAA8C,GAAG,IAAI","ignoreList":[]}
1
+ {"version":3,"names":["initialWindowMetrics","initialWindowSafeAreaInsets"],"sourceRoot":"../../src","sources":["InitialWindow.ts"],"mappings":";;AAEA,OAAO,MAAMA,oBAAoC,GAAG,IAAI;;AAExD;AACA;AACA;AACA,OAAO,MAAMC,2BAA8C,GAAG,IAAI","ignoreList":[]}
@@ -1,3 +1,5 @@
1
+ "use strict";
2
+
1
3
  // amznmod_react for kepler, `initialWindowMetrics` is always null
2
4
  // so assigning null directly,
3
5
  // and only calling getViewManagerConfig() for non-kepler platforms
@@ -5,5 +7,5 @@ export const initialWindowMetrics = null;
5
7
  /**
6
8
  * @deprecated
7
9
  */
8
- export const initialWindowSafeAreaInsets = initialWindowMetrics === null || initialWindowMetrics === void 0 ? void 0 : initialWindowMetrics.insets;
10
+ export const initialWindowSafeAreaInsets = initialWindowMetrics?.insets;
9
11
  //# sourceMappingURL=InitialWindow.kepler.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["initialWindowMetrics","initialWindowSafeAreaInsets","insets"],"sources":["InitialWindow.kepler.ts"],"sourcesContent":["import { Metrics } from './SafeArea.types';\n\n// amznmod_react for kepler, `initialWindowMetrics` is always null\n// so assigning null directly, \n// and only calling getViewManagerConfig() for non-kepler platforms\nexport const initialWindowMetrics = null as Metrics | null;\n/**\n * @deprecated\n */\nexport const initialWindowSafeAreaInsets = initialWindowMetrics?.insets;\n"],"mappings":"AAEA;AACA;AACA;AACA,OAAO,MAAMA,oBAAoB,GAAG,IAAsB;AAC1D;AACA;AACA;AACA,OAAO,MAAMC,2BAA2B,GAAGD,oBAAoB,aAApBA,oBAAoB,uBAApBA,oBAAoB,CAAEE,MAAM","ignoreList":[]}
1
+ {"version":3,"names":["initialWindowMetrics","initialWindowSafeAreaInsets","insets"],"sourceRoot":"../../src","sources":["InitialWindow.kepler.ts"],"mappings":";;AAEA;AACA;AACA;AACA,OAAO,MAAMA,oBAAoB,GAAG,IAAsB;AAC1D;AACA;AACA;AACA,OAAO,MAAMC,2BAA2B,GAAGD,oBAAoB,EAAEE,MAAM","ignoreList":[]}
@@ -1,9 +1,10 @@
1
- import { UIManager } from 'react-native';
2
- const RNCSafeAreaProviderConfig = UIManager.getViewManagerConfig('RNCSafeAreaProvider');
3
- export const initialWindowMetrics = RNCSafeAreaProviderConfig != null && RNCSafeAreaProviderConfig.Constants != null ? RNCSafeAreaProviderConfig.Constants.initialWindowMetrics : null;
1
+ "use strict";
2
+
3
+ import NativeSafeAreaContext from './specs/NativeSafeAreaContext';
4
+ export const initialWindowMetrics = NativeSafeAreaContext?.getConstants?.()?.initialWindowMetrics ?? null;
4
5
 
5
6
  /**
6
7
  * @deprecated
7
8
  */
8
- export const initialWindowSafeAreaInsets = initialWindowMetrics === null || initialWindowMetrics === void 0 ? void 0 : initialWindowMetrics.insets;
9
+ export const initialWindowSafeAreaInsets = initialWindowMetrics?.insets;
9
10
  //# sourceMappingURL=InitialWindow.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["UIManager","RNCSafeAreaProviderConfig","getViewManagerConfig","initialWindowMetrics","Constants","initialWindowSafeAreaInsets","insets"],"sources":["InitialWindow.native.ts"],"sourcesContent":["import { UIManager } from 'react-native';\nimport { Metrics } from './SafeArea.types';\n\nconst RNCSafeAreaProviderConfig = UIManager.getViewManagerConfig(\n 'RNCSafeAreaProvider',\n) as any;\n\nexport const initialWindowMetrics = (RNCSafeAreaProviderConfig != null &&\n RNCSafeAreaProviderConfig.Constants != null\n ? RNCSafeAreaProviderConfig.Constants.initialWindowMetrics\n : null) as Metrics | null;\n\n/**\n * @deprecated\n */\nexport const initialWindowSafeAreaInsets = initialWindowMetrics?.insets;"],"mappings":"AAAA,SAASA,SAAS,QAAQ,cAAc;AAGxC,MAAMC,yBAAyB,GAAGD,SAAS,CAACE,oBAAoB,CAC5D,qBACJ,CAAQ;AAER,OAAO,MAAMC,oBAAoB,GAAIF,yBAAyB,IAAI,IAAI,IAClEA,yBAAyB,CAACG,SAAS,IAAI,IAAI,GACzCH,yBAAyB,CAACG,SAAS,CAACD,oBAAoB,GACxD,IAAuB;;AAE7B;AACA;AACA;AACA,OAAO,MAAME,2BAA2B,GAAGF,oBAAoB,aAApBA,oBAAoB,uBAApBA,oBAAoB,CAAEG,MAAM","ignoreList":[]}
1
+ {"version":3,"names":["NativeSafeAreaContext","initialWindowMetrics","getConstants","initialWindowSafeAreaInsets","insets"],"sourceRoot":"../../src","sources":["InitialWindow.native.ts"],"mappings":";;AACA,OAAOA,qBAAqB,MAAM,+BAA+B;AAEjE,OAAO,MAAMC,oBAAoB,GAAID,qBAAqB,EAAEE,YAAY,GAAG,CAAC,EACxED,oBAAoB,IAAI,IAAuB;;AAEnD;AACA;AACA;AACA,OAAO,MAAME,2BAA2B,GAAGF,oBAAoB,EAAEG,MAAM","ignoreList":[]}
@@ -1,124 +1,5 @@
1
- import * as React from 'react';
2
- import { View } from 'react-native';
3
- /**
4
- * TODO:
5
- * Currently insets and frame are based on the window and are not
6
- * relative to the provider view. This is inconsistent with iOS and Android.
7
- * However in most cases if the provider view covers the screen this is not
8
- * an issue.
9
- */
1
+ "use strict";
10
2
 
11
- const CSSTransitions = {
12
- WebkitTransition: 'webkitTransitionEnd',
13
- Transition: 'transitionEnd',
14
- MozTransition: 'transitionend',
15
- MSTransition: 'msTransitionEnd',
16
- OTransition: 'oTransitionEnd'
17
- };
18
- export default function NativeSafeAreaView({
19
- children,
20
- style,
21
- onInsetsChange
22
- }) {
23
- React.useEffect(() => {
24
- // Skip for SSR.
25
- if (typeof document === 'undefined') {
26
- return;
27
- }
28
- const element = createContextElement();
29
- document.body.appendChild(element);
30
- const onEnd = () => {
31
- const {
32
- paddingTop,
33
- paddingBottom,
34
- paddingLeft,
35
- paddingRight
36
- } = window.getComputedStyle(element);
37
- const insets = {
38
- top: paddingTop ? parseInt(paddingTop, 10) : 0,
39
- bottom: paddingBottom ? parseInt(paddingBottom, 10) : 0,
40
- left: paddingLeft ? parseInt(paddingLeft, 10) : 0,
41
- right: paddingRight ? parseInt(paddingRight, 10) : 0
42
- };
43
- const frame = {
44
- x: 0,
45
- y: 0,
46
- width: document.documentElement.offsetWidth,
47
- height: document.documentElement.offsetHeight
48
- };
49
- // @ts-ignore: missing properties
50
- onInsetsChange({
51
- nativeEvent: {
52
- insets,
53
- frame
54
- }
55
- });
56
- };
57
- element.addEventListener(getSupportedTransitionEvent(), onEnd);
58
- onEnd();
59
- return () => {
60
- document.body.removeChild(element);
61
- element.removeEventListener(getSupportedTransitionEvent(), onEnd);
62
- };
63
- }, [onInsetsChange]);
64
- return /*#__PURE__*/React.createElement(View, {
65
- style: style
66
- }, children);
67
- }
68
- let _supportedTransitionEvent = null;
69
- function getSupportedTransitionEvent() {
70
- if (_supportedTransitionEvent !== null) {
71
- return _supportedTransitionEvent;
72
- }
73
- const element = document.createElement('invalidtype');
74
- _supportedTransitionEvent = CSSTransitions.Transition;
75
- for (const key in CSSTransitions) {
76
- if (element.style[key] !== undefined) {
77
- _supportedTransitionEvent = CSSTransitions[key];
78
- break;
79
- }
80
- }
81
- return _supportedTransitionEvent;
82
- }
83
- let _supportedEnv = null;
84
- function getSupportedEnv() {
85
- if (_supportedEnv !== null) {
86
- return _supportedEnv;
87
- }
88
- const {
89
- CSS
90
- } = window;
91
- if (CSS && CSS.supports && CSS.supports('top: constant(safe-area-inset-top)')) {
92
- _supportedEnv = 'constant';
93
- } else {
94
- _supportedEnv = 'env';
95
- }
96
- return _supportedEnv;
97
- }
98
- function getInset(side) {
99
- return `${getSupportedEnv()}(safe-area-inset-${side})`;
100
- }
101
- function createContextElement() {
102
- const element = document.createElement('div');
103
- const {
104
- style
105
- } = element;
106
- style.position = 'fixed';
107
- style.left = '0';
108
- style.top = '0';
109
- style.width = '0';
110
- style.height = '0';
111
- style.zIndex = '-1';
112
- style.overflow = 'hidden';
113
- style.visibility = 'hidden';
114
- // Bacon: Anything faster than this and the callback will be invoked too early with the wrong insets
115
- style.transitionDuration = '0.05s';
116
- style.transitionProperty = 'padding';
117
- style.transitionDelay = '0s';
118
- style.paddingTop = getInset('top');
119
- style.paddingBottom = getInset('bottom');
120
- style.paddingLeft = getInset('left');
121
- style.paddingRight = getInset('right');
122
- return element;
123
- }
3
+ import NativeSafeAreaProvider from './specs/NativeSafeAreaProvider';
4
+ export { NativeSafeAreaProvider };
124
5
  //# sourceMappingURL=NativeSafeAreaProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","CSSTransitions","WebkitTransition","Transition","MozTransition","MSTransition","OTransition","NativeSafeAreaView","children","style","onInsetsChange","useEffect","document","element","createContextElement","body","appendChild","onEnd","paddingTop","paddingBottom","paddingLeft","paddingRight","window","getComputedStyle","insets","top","parseInt","bottom","left","right","frame","x","y","width","documentElement","offsetWidth","height","offsetHeight","nativeEvent","addEventListener","getSupportedTransitionEvent","removeChild","removeEventListener","createElement","_supportedTransitionEvent","key","undefined","_supportedEnv","getSupportedEnv","CSS","supports","getInset","side","position","zIndex","overflow","visibility","transitionDuration","transitionProperty","transitionDelay"],"sources":["NativeSafeAreaProvider.tsx"],"sourcesContent":["import * as React from 'react';\nimport { View } from 'react-native';\nimport { NativeSafeAreaProviderProps } from './SafeArea.types';\n\n/**\n * TODO:\n * Currently insets and frame are based on the window and are not\n * relative to the provider view. This is inconsistent with iOS and Android.\n * However in most cases if the provider view covers the screen this is not\n * an issue.\n */\n\nconst CSSTransitions: Record<string, string> = {\n WebkitTransition: 'webkitTransitionEnd',\n Transition: 'transitionEnd',\n MozTransition: 'transitionend',\n MSTransition: 'msTransitionEnd',\n OTransition: 'oTransitionEnd',\n};\n\nexport default function NativeSafeAreaView({\n children,\n style,\n onInsetsChange,\n}: NativeSafeAreaProviderProps) {\n React.useEffect(() => {\n // Skip for SSR.\n if (typeof document === 'undefined') {\n return;\n }\n\n const element = createContextElement();\n document.body.appendChild(element);\n const onEnd = () => {\n const {\n paddingTop,\n paddingBottom,\n paddingLeft,\n paddingRight,\n } = window.getComputedStyle(element);\n\n const insets = {\n top: paddingTop ? parseInt(paddingTop, 10) : 0,\n bottom: paddingBottom ? parseInt(paddingBottom, 10) : 0,\n left: paddingLeft ? parseInt(paddingLeft, 10) : 0,\n right: paddingRight ? parseInt(paddingRight, 10) : 0,\n };\n const frame = {\n x: 0,\n y: 0,\n width: document.documentElement.offsetWidth,\n height: document.documentElement.offsetHeight,\n };\n // @ts-ignore: missing properties\n onInsetsChange({ nativeEvent: { insets, frame } });\n };\n element.addEventListener(getSupportedTransitionEvent(), onEnd);\n onEnd();\n return () => {\n document.body.removeChild(element);\n element.removeEventListener(getSupportedTransitionEvent(), onEnd);\n };\n }, [onInsetsChange]);\n\n return <View style={style}>{children}</View>;\n}\n\nlet _supportedTransitionEvent: string | null = null;\nfunction getSupportedTransitionEvent(): string {\n if (_supportedTransitionEvent !== null) {\n return _supportedTransitionEvent;\n }\n const element = document.createElement('invalidtype');\n\n _supportedTransitionEvent = CSSTransitions.Transition;\n for (const key in CSSTransitions) {\n if (element.style[key as keyof CSSStyleDeclaration] !== undefined) {\n _supportedTransitionEvent = CSSTransitions[key];\n break;\n }\n }\n return _supportedTransitionEvent;\n}\n\ntype CssEnv = 'constant' | 'env';\n\nlet _supportedEnv: CssEnv | null = null;\nfunction getSupportedEnv(): CssEnv {\n if (_supportedEnv !== null) {\n return _supportedEnv;\n }\n const { CSS } = window;\n if (\n CSS &&\n CSS.supports &&\n CSS.supports('top: constant(safe-area-inset-top)')\n ) {\n _supportedEnv = 'constant';\n } else {\n _supportedEnv = 'env';\n }\n return _supportedEnv;\n}\n\nfunction getInset(side: string): string {\n return `${getSupportedEnv()}(safe-area-inset-${side})`;\n}\n\nfunction createContextElement(): HTMLElement {\n const element = document.createElement('div');\n const { style } = element;\n style.position = 'fixed';\n style.left = '0';\n style.top = '0';\n style.width = '0';\n style.height = '0';\n style.zIndex = '-1';\n style.overflow = 'hidden';\n style.visibility = 'hidden';\n // Bacon: Anything faster than this and the callback will be invoked too early with the wrong insets\n style.transitionDuration = '0.05s';\n style.transitionProperty = 'padding';\n style.transitionDelay = '0s';\n style.paddingTop = getInset('top');\n style.paddingBottom = getInset('bottom');\n style.paddingLeft = getInset('left');\n style.paddingRight = getInset('right');\n return element;\n}"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["NativeSafeAreaProvider"],"sourceRoot":"../../src","sources":["NativeSafeAreaProvider.tsx"],"mappings":";;AAAA,OAAOA,sBAAsB,MAAM,gCAAgC;AAEnE,SAASA,sBAAsB","ignoreList":[]}
@@ -1,3 +1,4 @@
1
- import { CompatNativeSafeAreaProvider } from './CompatNativeSafeAreaProvider';
2
- export default CompatNativeSafeAreaProvider;
1
+ "use strict";
2
+
3
+ export { CompatNativeSafeAreaProvider as NativeSafeAreaProvider } from './CompatNativeSafeAreaProvider';
3
4
  //# sourceMappingURL=NativeSafeAreaProvider.kepler.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["CompatNativeSafeAreaProvider"],"sources":["NativeSafeAreaProvider.kepler.tsx"],"sourcesContent":["import { CompatNativeSafeAreaProvider } from './CompatNativeSafeAreaProvider';\n\nexport default CompatNativeSafeAreaProvider;"],"mappings":"AAAA,SAASA,4BAA4B,QAAQ,gCAAgC;AAE7E,eAAeA,4BAA4B","ignoreList":[]}
1
+ {"version":3,"names":["CompatNativeSafeAreaProvider","NativeSafeAreaProvider"],"sourceRoot":"../../src","sources":["NativeSafeAreaProvider.kepler.tsx"],"mappings":";;AAAA,SAASA,4BAA4B,IAAIC,sBAAsB,QAAQ,gCAAgC","ignoreList":[]}
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+
3
+ /* eslint-env browser */
4
+
5
+ import * as React from 'react';
6
+ import { View } from 'react-native';
7
+ import { jsx as _jsx } from "react/jsx-runtime";
8
+ /**
9
+ * TODO:
10
+ * Currently insets and frame are based on the window and are not
11
+ * relative to the provider view. This is inconsistent with iOS and Android.
12
+ * However in most cases if the provider view covers the screen this is not
13
+ * an issue.
14
+ */
15
+
16
+ const CSSTransitions = {
17
+ WebkitTransition: 'webkitTransitionEnd',
18
+ Transition: 'transitionEnd',
19
+ MozTransition: 'transitionend',
20
+ MSTransition: 'msTransitionEnd',
21
+ OTransition: 'oTransitionEnd'
22
+ };
23
+ export function NativeSafeAreaProvider({
24
+ children,
25
+ style,
26
+ onInsetsChange
27
+ }) {
28
+ React.useEffect(() => {
29
+ // Skip for SSR.
30
+ if (typeof document === 'undefined') {
31
+ return;
32
+ }
33
+ const element = createContextElement();
34
+ document.body.appendChild(element);
35
+ const onEnd = () => {
36
+ const {
37
+ paddingTop,
38
+ paddingBottom,
39
+ paddingLeft,
40
+ paddingRight
41
+ } = window.getComputedStyle(element);
42
+ const insets = {
43
+ top: paddingTop ? parseInt(paddingTop, 10) : 0,
44
+ bottom: paddingBottom ? parseInt(paddingBottom, 10) : 0,
45
+ left: paddingLeft ? parseInt(paddingLeft, 10) : 0,
46
+ right: paddingRight ? parseInt(paddingRight, 10) : 0
47
+ };
48
+ const frame = {
49
+ x: 0,
50
+ y: 0,
51
+ width: document.documentElement.offsetWidth,
52
+ height: document.documentElement.offsetHeight
53
+ };
54
+ // @ts-ignore: missing properties
55
+ onInsetsChange({
56
+ nativeEvent: {
57
+ insets,
58
+ frame
59
+ }
60
+ });
61
+ };
62
+ element.addEventListener(getSupportedTransitionEvent(), onEnd);
63
+ onEnd();
64
+ return () => {
65
+ document.body.removeChild(element);
66
+ element.removeEventListener(getSupportedTransitionEvent(), onEnd);
67
+ };
68
+ }, [onInsetsChange]);
69
+ return /*#__PURE__*/_jsx(View, {
70
+ style: style,
71
+ children: children
72
+ });
73
+ }
74
+ let _supportedTransitionEvent = null;
75
+ function getSupportedTransitionEvent() {
76
+ if (_supportedTransitionEvent != null) {
77
+ return _supportedTransitionEvent;
78
+ }
79
+ const element = document.createElement('invalidtype');
80
+ _supportedTransitionEvent = CSSTransitions.Transition;
81
+ for (const key in CSSTransitions) {
82
+ if (element.style[key] !== undefined) {
83
+ _supportedTransitionEvent = CSSTransitions[key];
84
+ break;
85
+ }
86
+ }
87
+ return _supportedTransitionEvent;
88
+ }
89
+ let _supportedEnv = null;
90
+ function getSupportedEnv() {
91
+ if (_supportedEnv !== null) {
92
+ return _supportedEnv;
93
+ }
94
+ const {
95
+ CSS
96
+ } = window;
97
+ if (CSS && CSS.supports && CSS.supports('top: constant(safe-area-inset-top)')) {
98
+ _supportedEnv = 'constant';
99
+ } else {
100
+ _supportedEnv = 'env';
101
+ }
102
+ return _supportedEnv;
103
+ }
104
+ function getInset(side) {
105
+ return `${getSupportedEnv()}(safe-area-inset-${side})`;
106
+ }
107
+ function createContextElement() {
108
+ const element = document.createElement('div');
109
+ const {
110
+ style
111
+ } = element;
112
+ style.position = 'fixed';
113
+ style.left = '0';
114
+ style.top = '0';
115
+ style.width = '0';
116
+ style.height = '0';
117
+ style.zIndex = '-1';
118
+ style.overflow = 'hidden';
119
+ style.visibility = 'hidden';
120
+ // Bacon: Anything faster than this and the callback will be invoked too early with the wrong insets
121
+ style.transitionDuration = '0.05s';
122
+ style.transitionProperty = 'padding';
123
+ style.transitionDelay = '0s';
124
+ style.paddingTop = getInset('top');
125
+ style.paddingBottom = getInset('bottom');
126
+ style.paddingLeft = getInset('left');
127
+ style.paddingRight = getInset('right');
128
+ return element;
129
+ }
130
+ //# sourceMappingURL=NativeSafeAreaProvider.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","View","jsx","_jsx","CSSTransitions","WebkitTransition","Transition","MozTransition","MSTransition","OTransition","NativeSafeAreaProvider","children","style","onInsetsChange","useEffect","document","element","createContextElement","body","appendChild","onEnd","paddingTop","paddingBottom","paddingLeft","paddingRight","window","getComputedStyle","insets","top","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"],"sourceRoot":"../../src","sources":["NativeSafeAreaProvider.web.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,4 @@
1
- import { CompatNativeSafeAreaProvider } from './CompatNativeSafeAreaProvider';
2
- export default CompatNativeSafeAreaProvider;
1
+ "use strict";
2
+
3
+ export { CompatNativeSafeAreaProvider as NativeSafeAreaProvider } from './CompatNativeSafeAreaProvider';
3
4
  //# sourceMappingURL=NativeSafeAreaProvider.windows.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["CompatNativeSafeAreaProvider"],"sources":["NativeSafeAreaProvider.windows.tsx"],"sourcesContent":["import { CompatNativeSafeAreaProvider } from './CompatNativeSafeAreaProvider';\n\nexport default CompatNativeSafeAreaProvider;\n"],"mappings":"AAAA,SAASA,4BAA4B,QAAQ,gCAAgC;AAE7E,eAAeA,4BAA4B","ignoreList":[]}
1
+ {"version":3,"names":["CompatNativeSafeAreaProvider","NativeSafeAreaProvider"],"sourceRoot":"../../src","sources":["NativeSafeAreaProvider.windows.tsx"],"mappings":";;AAAA,SAASA,4BAA4B,IAAIC,sBAAsB,QAAQ,gCAAgC","ignoreList":[]}
@@ -1,2 +1,4 @@
1
+ "use strict";
2
+
1
3
  export {};
2
4
  //# sourceMappingURL=SafeArea.types.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["SafeArea.types.ts"],"sourcesContent":["import {\n NativeSyntheticEvent,\n StyleProp,\n ViewProps,\n ViewStyle,\n} from 'react-native';\n\nexport type Edge = 'top' | 'right' | 'bottom' | 'left';\n\nexport interface EdgeInsets {\n top: number;\n right: number;\n bottom: number;\n left: number;\n}\n\nexport interface Rect {\n x: number;\n y: number;\n width: number;\n height: number;\n}\n\nexport interface Metrics {\n insets: EdgeInsets;\n frame: Rect;\n}\n\nexport type InsetChangedEvent = NativeSyntheticEvent<Metrics>;\n\nexport type InsetChangeNativeCallback = (event: InsetChangedEvent) => void;\n\nexport interface NativeSafeAreaProviderProps {\n children?: React.ReactNode;\n style?: StyleProp<ViewStyle>;\n onInsetsChange: InsetChangeNativeCallback;\n}\n\nexport type NativeSafeAreaViewProps = ViewProps & {\n children?: React.ReactNode;\n mode?: 'padding' | 'margin';\n edges?: ReadonlyArray<Edge>;\n};\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["SafeArea.types.ts"],"mappings":"","ignoreList":[]}