@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,36 @@
1
+ #import "RNCSafeAreaViewEdges.h"
2
+ #import <React/RCTConvert.h>
3
+ #import "RNCSafeAreaViewEdgeMode.h"
4
+
5
+ RNCSafeAreaViewEdges RNCSafeAreaViewEdgesMake(
6
+ RNCSafeAreaViewEdgeMode top,
7
+ RNCSafeAreaViewEdgeMode right,
8
+ RNCSafeAreaViewEdgeMode bottom,
9
+ RNCSafeAreaViewEdgeMode left)
10
+ {
11
+ RNCSafeAreaViewEdges edges;
12
+ edges.top = top;
13
+ edges.left = left;
14
+ edges.bottom = bottom;
15
+ edges.right = right;
16
+ return edges;
17
+ }
18
+
19
+ RNCSafeAreaViewEdges RNCSafeAreaViewEdgesMakeString(NSString *top, NSString *right, NSString *bottom, NSString *left)
20
+ {
21
+ RNCSafeAreaViewEdges edges;
22
+ edges.top = [RCTConvert RNCSafeAreaViewEdgeMode:top];
23
+ edges.right = [RCTConvert RNCSafeAreaViewEdgeMode:right];
24
+ edges.bottom = [RCTConvert RNCSafeAreaViewEdgeMode:bottom];
25
+ edges.left = [RCTConvert RNCSafeAreaViewEdgeMode:left];
26
+ return edges;
27
+ }
28
+
29
+ @implementation RCTConvert (RNCSafeAreaViewEdges)
30
+
31
+ RCT_CUSTOM_CONVERTER(
32
+ RNCSafeAreaViewEdges,
33
+ RNCSafeAreaViewEdges,
34
+ RNCSafeAreaViewEdgesMakeString(json[@"top"], json[@"right"], json[@"bottom"], json[@"left"]))
35
+
36
+ @end
@@ -1,15 +1,26 @@
1
+ #if TARGET_OS_IPHONE
1
2
  #import <UIKit/UIKit.h>
3
+ #elif TARGET_OS_OSX
4
+ #import <AppKit/AppKit.h>
5
+ #endif
2
6
 
3
- #import "RNCSafeAreaViewMode.h"
4
7
  #import "RNCSafeAreaViewEdges.h"
8
+ #import "RNCSafeAreaViewMode.h"
5
9
 
6
10
  NS_ASSUME_NONNULL_BEGIN
7
11
 
8
12
  @interface RNCSafeAreaViewLocalData : NSObject
9
13
 
14
+ #if TARGET_OS_IPHONE
10
15
  - (instancetype)initWithInsets:(UIEdgeInsets)insets mode:(RNCSafeAreaViewMode)mode edges:(RNCSafeAreaViewEdges)edges;
11
16
 
12
17
  @property (atomic, readonly) UIEdgeInsets insets;
18
+ #elif TARGET_OS_OSX
19
+ - (instancetype)initWithInsets:(NSEdgeInsets)insets mode:(RNCSafeAreaViewMode)mode edges:(RNCSafeAreaViewEdges)edges;
20
+
21
+ @property (atomic, readonly) NSEdgeInsets insets;
22
+ #endif
23
+
13
24
  @property (atomic, readonly) RNCSafeAreaViewMode mode;
14
25
  @property (atomic, readonly) RNCSafeAreaViewEdges edges;
15
26
 
@@ -2,7 +2,11 @@
2
2
 
3
3
  @implementation RNCSafeAreaViewLocalData
4
4
 
5
+ #if TARGET_OS_IPHONE
5
6
  - (instancetype)initWithInsets:(UIEdgeInsets)insets mode:(RNCSafeAreaViewMode)mode edges:(RNCSafeAreaViewEdges)edges
7
+ #elif TARGET_OS_OSX
8
+ - (instancetype)initWithInsets:(NSEdgeInsets)insets mode:(RNCSafeAreaViewMode)mode edges:(RNCSafeAreaViewEdges)edges
9
+ #endif
6
10
  {
7
11
  if (self = [super init]) {
8
12
  _insets = insets;
@@ -2,14 +2,18 @@
2
2
 
3
3
  #import "RNCSafeAreaShadowView.h"
4
4
  #import "RNCSafeAreaView.h"
5
- #import "RNCSafeAreaViewMode.h"
6
5
  #import "RNCSafeAreaViewEdges.h"
6
+ #import "RNCSafeAreaViewMode.h"
7
7
 
8
8
  @implementation RNCSafeAreaViewManager
9
9
 
10
10
  RCT_EXPORT_MODULE(RNCSafeAreaView)
11
11
 
12
+ #if TARGET_OS_IPHONE
12
13
  - (UIView *)view
14
+ #elif TARGET_OS_OSX
15
+ - (NSView *)view
16
+ #endif
13
17
  {
14
18
  return [[RNCSafeAreaView alloc] initWithBridge:self.bridge];
15
19
  }
@@ -0,0 +1,15 @@
1
+ #import "RNCSafeAreaViewMode.h"
2
+ #import <React/RCTConvert.h>
3
+
4
+ @implementation RCTConvert (RNCSafeAreaView)
5
+
6
+ RCT_MULTI_ENUM_CONVERTER(
7
+ RNCSafeAreaViewMode,
8
+ (@{
9
+ @"padding" : @(RNCSafeAreaViewModePadding),
10
+ @"margin" : @(RNCSafeAreaViewModeMargin),
11
+ }),
12
+ RNCSafeAreaViewModePadding,
13
+ integerValue);
14
+
15
+ @end
@@ -7,15 +7,17 @@
7
7
  objects = {
8
8
 
9
9
  /* Begin PBXBuildFile section */
10
- 19AC186D23048EBB0093B581 /* RNCSafeAreaView.m in Sources */ = {isa = PBXBuildFile; fileRef = 19AC186C23048EBB0093B581 /* RNCSafeAreaView.m */; };
11
- 2EF2DACC23198DA400BBA425 /* RNCSafeAreaViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 2EF2DACB23198DA400BBA425 /* RNCSafeAreaViewManager.m */; };
12
- 456B6CDC25B3B45F002C1C0C /* RNCSafeAreaProviderManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 456B6CCF25B3B45F002C1C0C /* RNCSafeAreaProviderManager.m */; };
13
- 456B6CDD25B3B45F002C1C0C /* RNCSafeAreaShadowView.m in Sources */ = {isa = PBXBuildFile; fileRef = 456B6CD225B3B45F002C1C0C /* RNCSafeAreaShadowView.m */; };
14
- 456B6CDE25B3B45F002C1C0C /* RNCSafeAreaViewEdges.m in Sources */ = {isa = PBXBuildFile; fileRef = 456B6CD325B3B45F002C1C0C /* RNCSafeAreaViewEdges.m */; };
15
- 456B6CDF25B3B45F002C1C0C /* RCTView+SafeAreaCompat.m in Sources */ = {isa = PBXBuildFile; fileRef = 456B6CD525B3B45F002C1C0C /* RCTView+SafeAreaCompat.m */; };
16
- 456B6CE025B3B45F002C1C0C /* RNCSafeAreaViewMode.m in Sources */ = {isa = PBXBuildFile; fileRef = 456B6CD825B3B45F002C1C0C /* RNCSafeAreaViewMode.m */; };
17
- 456B6CE125B3B45F002C1C0C /* RNCSafeAreaViewLocalData.m in Sources */ = {isa = PBXBuildFile; fileRef = 456B6CDA25B3B45F002C1C0C /* RNCSafeAreaViewLocalData.m */; };
18
- 456B6CE225B3B45F002C1C0C /* RNCSafeAreaProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = 456B6CDB25B3B45F002C1C0C /* RNCSafeAreaProvider.m */; };
10
+ 0C7844E127C02CEE001807FB /* RNCSafeAreaViewLocalData.m in Sources */ = {isa = PBXBuildFile; fileRef = 0C7844D227C02CEE001807FB /* RNCSafeAreaViewLocalData.m */; };
11
+ 0C7844E227C02CEE001807FB /* RNCSafeAreaViewMode.m in Sources */ = {isa = PBXBuildFile; fileRef = 0C7844D327C02CEE001807FB /* RNCSafeAreaViewMode.m */; };
12
+ 0C7844E327C02CEE001807FB /* RNCSafeAreaShadowView.m in Sources */ = {isa = PBXBuildFile; fileRef = 0C7844D527C02CEE001807FB /* RNCSafeAreaShadowView.m */; };
13
+ 0C7844E427C02CEE001807FB /* RNCSafeAreaProviderManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 0C7844D627C02CEE001807FB /* RNCSafeAreaProviderManager.m */; };
14
+ 0C7844E527C02CEE001807FB /* RNCSafeAreaViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 0C7844D927C02CEE001807FB /* RNCSafeAreaViewManager.m */; };
15
+ 0C7844E627C02CEE001807FB /* RNCSafeAreaViewEdges.m in Sources */ = {isa = PBXBuildFile; fileRef = 0C7844DE27C02CEE001807FB /* RNCSafeAreaViewEdges.m */; };
16
+ 0C7844E727C02CEE001807FB /* RNCSafeAreaUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 0C7844DF27C02CEE001807FB /* RNCSafeAreaUtils.m */; };
17
+ 0C7844E827C02CEE001807FB /* RNCSafeAreaView.m in Sources */ = {isa = PBXBuildFile; fileRef = 0C7844E027C02CEE001807FB /* RNCSafeAreaView.m */; };
18
+ 0C7844EF27C02D03001807FB /* RNCSafeAreaContext.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0C7844EA27C02D03001807FB /* RNCSafeAreaContext.mm */; };
19
+ 0C7844F027C02D03001807FB /* RNCSafeAreaProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = 0C7844ED27C02D03001807FB /* RNCSafeAreaProvider.m */; };
20
+ AA53A9EE2A321C01009AB3B2 /* RNCSafeAreaViewEdgeModes.m in Sources */ = {isa = PBXBuildFile; fileRef = AA53A9ED2A321C01009AB3B2 /* RNCSafeAreaViewEdgeModes.m */; };
19
21
  C923EDBC220C2C1A00D3100F /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C923EDBB220C2C1A00D3100F /* SystemConfiguration.framework */; };
20
22
  /* End PBXBuildFile section */
21
23
 
@@ -32,25 +34,30 @@
32
34
  /* End PBXCopyFilesBuildPhase section */
33
35
 
34
36
  /* Begin PBXFileReference section */
37
+ 0C7844D227C02CEE001807FB /* RNCSafeAreaViewLocalData.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RNCSafeAreaViewLocalData.m; sourceTree = "<group>"; };
38
+ 0C7844D327C02CEE001807FB /* RNCSafeAreaViewMode.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RNCSafeAreaViewMode.m; sourceTree = "<group>"; };
39
+ 0C7844D427C02CEE001807FB /* RNCSafeAreaViewLocalData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RNCSafeAreaViewLocalData.h; sourceTree = "<group>"; };
40
+ 0C7844D527C02CEE001807FB /* RNCSafeAreaShadowView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RNCSafeAreaShadowView.m; sourceTree = "<group>"; };
41
+ 0C7844D627C02CEE001807FB /* RNCSafeAreaProviderManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RNCSafeAreaProviderManager.m; sourceTree = "<group>"; };
42
+ 0C7844D727C02CEE001807FB /* RNCSafeAreaShadowView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RNCSafeAreaShadowView.h; sourceTree = "<group>"; };
43
+ 0C7844D827C02CEE001807FB /* RNCSafeAreaView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RNCSafeAreaView.h; sourceTree = "<group>"; };
44
+ 0C7844D927C02CEE001807FB /* RNCSafeAreaViewManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RNCSafeAreaViewManager.m; sourceTree = "<group>"; };
45
+ 0C7844DA27C02CEE001807FB /* RNCSafeAreaViewEdges.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RNCSafeAreaViewEdges.h; sourceTree = "<group>"; };
46
+ 0C7844DB27C02CEE001807FB /* RNCSafeAreaUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RNCSafeAreaUtils.h; sourceTree = "<group>"; };
47
+ 0C7844DC27C02CEE001807FB /* RNCSafeAreaViewMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RNCSafeAreaViewMode.h; sourceTree = "<group>"; };
48
+ 0C7844DD27C02CEE001807FB /* RNCSafeAreaViewManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RNCSafeAreaViewManager.h; sourceTree = "<group>"; };
49
+ 0C7844DE27C02CEE001807FB /* RNCSafeAreaViewEdges.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RNCSafeAreaViewEdges.m; sourceTree = "<group>"; };
50
+ 0C7844DF27C02CEE001807FB /* RNCSafeAreaUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RNCSafeAreaUtils.m; sourceTree = "<group>"; };
51
+ 0C7844E027C02CEE001807FB /* RNCSafeAreaView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RNCSafeAreaView.m; sourceTree = "<group>"; };
52
+ 0C7844E927C02D03001807FB /* RNCSafeAreaContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RNCSafeAreaContext.h; sourceTree = "<group>"; };
53
+ 0C7844EA27C02D03001807FB /* RNCSafeAreaContext.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RNCSafeAreaContext.mm; sourceTree = "<group>"; };
54
+ 0C7844EB27C02D03001807FB /* RNCSafeAreaProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RNCSafeAreaProvider.h; sourceTree = "<group>"; };
55
+ 0C7844EC27C02D03001807FB /* RNCSafeAreaProviderManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RNCSafeAreaProviderManager.h; sourceTree = "<group>"; };
56
+ 0C7844ED27C02D03001807FB /* RNCSafeAreaProvider.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RNCSafeAreaProvider.m; sourceTree = "<group>"; };
57
+ 0C7844EE27C02D03001807FB /* Fabric */ = {isa = PBXFileReference; lastKnownFileType = folder; path = Fabric; sourceTree = "<group>"; };
35
58
  134814201AA4EA6300B7C361 /* libRNCSafeAreaContext.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libRNCSafeAreaContext.a; sourceTree = BUILT_PRODUCTS_DIR; };
36
- 19AC186B23048EBB0093B581 /* RNCSafeAreaView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RNCSafeAreaView.h; path = SafeAreaView/RNCSafeAreaView.h; sourceTree = "<group>"; };
37
- 19AC186C23048EBB0093B581 /* RNCSafeAreaView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = RNCSafeAreaView.m; path = SafeAreaView/RNCSafeAreaView.m; sourceTree = "<group>"; };
38
- 2EF2DACA23198DA300BBA425 /* RNCSafeAreaViewManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RNCSafeAreaViewManager.h; path = SafeAreaView/RNCSafeAreaViewManager.h; sourceTree = "<group>"; };
39
- 2EF2DACB23198DA400BBA425 /* RNCSafeAreaViewManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RNCSafeAreaViewManager.m; path = SafeAreaView/RNCSafeAreaViewManager.m; sourceTree = "<group>"; };
40
- 456B6CCE25B3B45F002C1C0C /* RNCSafeAreaShadowView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RNCSafeAreaShadowView.h; path = SafeAreaView/RNCSafeAreaShadowView.h; sourceTree = "<group>"; };
41
- 456B6CCF25B3B45F002C1C0C /* RNCSafeAreaProviderManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RNCSafeAreaProviderManager.m; path = SafeAreaView/RNCSafeAreaProviderManager.m; sourceTree = "<group>"; };
42
- 456B6CD025B3B45F002C1C0C /* RNCSafeAreaProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RNCSafeAreaProvider.h; path = SafeAreaView/RNCSafeAreaProvider.h; sourceTree = "<group>"; };
43
- 456B6CD125B3B45F002C1C0C /* RNCSafeAreaViewLocalData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RNCSafeAreaViewLocalData.h; path = SafeAreaView/RNCSafeAreaViewLocalData.h; sourceTree = "<group>"; };
44
- 456B6CD225B3B45F002C1C0C /* RNCSafeAreaShadowView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RNCSafeAreaShadowView.m; path = SafeAreaView/RNCSafeAreaShadowView.m; sourceTree = "<group>"; };
45
- 456B6CD325B3B45F002C1C0C /* RNCSafeAreaViewEdges.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RNCSafeAreaViewEdges.m; path = SafeAreaView/RNCSafeAreaViewEdges.m; sourceTree = "<group>"; };
46
- 456B6CD425B3B45F002C1C0C /* RNCSafeAreaViewEdges.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RNCSafeAreaViewEdges.h; path = SafeAreaView/RNCSafeAreaViewEdges.h; sourceTree = "<group>"; };
47
- 456B6CD525B3B45F002C1C0C /* RCTView+SafeAreaCompat.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "RCTView+SafeAreaCompat.m"; path = "SafeAreaView/RCTView+SafeAreaCompat.m"; sourceTree = "<group>"; };
48
- 456B6CD625B3B45F002C1C0C /* RNCSafeAreaViewMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RNCSafeAreaViewMode.h; path = SafeAreaView/RNCSafeAreaViewMode.h; sourceTree = "<group>"; };
49
- 456B6CD725B3B45F002C1C0C /* RNCSafeAreaProviderManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RNCSafeAreaProviderManager.h; path = SafeAreaView/RNCSafeAreaProviderManager.h; sourceTree = "<group>"; };
50
- 456B6CD825B3B45F002C1C0C /* RNCSafeAreaViewMode.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RNCSafeAreaViewMode.m; path = SafeAreaView/RNCSafeAreaViewMode.m; sourceTree = "<group>"; };
51
- 456B6CD925B3B45F002C1C0C /* RCTView+SafeAreaCompat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "RCTView+SafeAreaCompat.h"; path = "SafeAreaView/RCTView+SafeAreaCompat.h"; sourceTree = "<group>"; };
52
- 456B6CDA25B3B45F002C1C0C /* RNCSafeAreaViewLocalData.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RNCSafeAreaViewLocalData.m; path = SafeAreaView/RNCSafeAreaViewLocalData.m; sourceTree = "<group>"; };
53
- 456B6CDB25B3B45F002C1C0C /* RNCSafeAreaProvider.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RNCSafeAreaProvider.m; path = SafeAreaView/RNCSafeAreaProvider.m; sourceTree = "<group>"; };
59
+ AA53A9EC2A321C01009AB3B2 /* RNCSafeAreaViewEdgeModes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RNCSafeAreaViewEdgeModes.h; sourceTree = "<group>"; };
60
+ AA53A9ED2A321C01009AB3B2 /* RNCSafeAreaViewEdgeModes.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RNCSafeAreaViewEdgeModes.m; sourceTree = "<group>"; };
54
61
  C923EDBB220C2C1A00D3100F /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; };
55
62
  /* End PBXFileReference section */
56
63
 
@@ -77,24 +84,29 @@
77
84
  58B511D21A9E6C8500147676 = {
78
85
  isa = PBXGroup;
79
86
  children = (
80
- 456B6CD925B3B45F002C1C0C /* RCTView+SafeAreaCompat.h */,
81
- 456B6CD525B3B45F002C1C0C /* RCTView+SafeAreaCompat.m */,
82
- 456B6CD025B3B45F002C1C0C /* RNCSafeAreaProvider.h */,
83
- 456B6CDB25B3B45F002C1C0C /* RNCSafeAreaProvider.m */,
84
- 456B6CD725B3B45F002C1C0C /* RNCSafeAreaProviderManager.h */,
85
- 456B6CCF25B3B45F002C1C0C /* RNCSafeAreaProviderManager.m */,
86
- 456B6CCE25B3B45F002C1C0C /* RNCSafeAreaShadowView.h */,
87
- 456B6CD225B3B45F002C1C0C /* RNCSafeAreaShadowView.m */,
88
- 456B6CD425B3B45F002C1C0C /* RNCSafeAreaViewEdges.h */,
89
- 456B6CD325B3B45F002C1C0C /* RNCSafeAreaViewEdges.m */,
90
- 456B6CD125B3B45F002C1C0C /* RNCSafeAreaViewLocalData.h */,
91
- 456B6CDA25B3B45F002C1C0C /* RNCSafeAreaViewLocalData.m */,
92
- 456B6CD625B3B45F002C1C0C /* RNCSafeAreaViewMode.h */,
93
- 456B6CD825B3B45F002C1C0C /* RNCSafeAreaViewMode.m */,
94
- 2EF2DACA23198DA300BBA425 /* RNCSafeAreaViewManager.h */,
95
- 2EF2DACB23198DA400BBA425 /* RNCSafeAreaViewManager.m */,
96
- 19AC186B23048EBB0093B581 /* RNCSafeAreaView.h */,
97
- 19AC186C23048EBB0093B581 /* RNCSafeAreaView.m */,
87
+ AA53A9EC2A321C01009AB3B2 /* RNCSafeAreaViewEdgeModes.h */,
88
+ AA53A9ED2A321C01009AB3B2 /* RNCSafeAreaViewEdgeModes.m */,
89
+ 0C7844EE27C02D03001807FB /* Fabric */,
90
+ 0C7844E927C02D03001807FB /* RNCSafeAreaContext.h */,
91
+ 0C7844EA27C02D03001807FB /* RNCSafeAreaContext.mm */,
92
+ 0C7844EB27C02D03001807FB /* RNCSafeAreaProvider.h */,
93
+ 0C7844ED27C02D03001807FB /* RNCSafeAreaProvider.m */,
94
+ 0C7844EC27C02D03001807FB /* RNCSafeAreaProviderManager.h */,
95
+ 0C7844D627C02CEE001807FB /* RNCSafeAreaProviderManager.m */,
96
+ 0C7844D727C02CEE001807FB /* RNCSafeAreaShadowView.h */,
97
+ 0C7844D527C02CEE001807FB /* RNCSafeAreaShadowView.m */,
98
+ 0C7844DB27C02CEE001807FB /* RNCSafeAreaUtils.h */,
99
+ 0C7844DF27C02CEE001807FB /* RNCSafeAreaUtils.m */,
100
+ 0C7844D827C02CEE001807FB /* RNCSafeAreaView.h */,
101
+ 0C7844E027C02CEE001807FB /* RNCSafeAreaView.m */,
102
+ 0C7844DA27C02CEE001807FB /* RNCSafeAreaViewEdges.h */,
103
+ 0C7844DE27C02CEE001807FB /* RNCSafeAreaViewEdges.m */,
104
+ 0C7844D427C02CEE001807FB /* RNCSafeAreaViewLocalData.h */,
105
+ 0C7844D227C02CEE001807FB /* RNCSafeAreaViewLocalData.m */,
106
+ 0C7844DD27C02CEE001807FB /* RNCSafeAreaViewManager.h */,
107
+ 0C7844D927C02CEE001807FB /* RNCSafeAreaViewManager.m */,
108
+ 0C7844DC27C02CEE001807FB /* RNCSafeAreaViewMode.h */,
109
+ 0C7844D327C02CEE001807FB /* RNCSafeAreaViewMode.m */,
98
110
  134814211AA4EA7D00B7C361 /* Products */,
99
111
  C923EDBA220C2C1A00D3100F /* Frameworks */,
100
112
  );
@@ -142,7 +154,7 @@
142
154
  };
143
155
  };
144
156
  };
145
- buildConfigurationList = 58B511D61A9E6C8500147676 /* Build configuration list for PBXProject "SafeAreaView" */;
157
+ buildConfigurationList = 58B511D61A9E6C8500147676 /* Build configuration list for PBXProject "RNSafeAreaContext" */;
146
158
  compatibilityVersion = "Xcode 3.2";
147
159
  developmentRegion = en;
148
160
  hasScannedForEncodings = 0;
@@ -165,15 +177,17 @@
165
177
  isa = PBXSourcesBuildPhase;
166
178
  buildActionMask = 2147483647;
167
179
  files = (
168
- 456B6CE125B3B45F002C1C0C /* RNCSafeAreaViewLocalData.m in Sources */,
169
- 456B6CDF25B3B45F002C1C0C /* RCTView+SafeAreaCompat.m in Sources */,
170
- 456B6CDE25B3B45F002C1C0C /* RNCSafeAreaViewEdges.m in Sources */,
171
- 456B6CDC25B3B45F002C1C0C /* RNCSafeAreaProviderManager.m in Sources */,
172
- 456B6CE025B3B45F002C1C0C /* RNCSafeAreaViewMode.m in Sources */,
173
- 2EF2DACC23198DA400BBA425 /* RNCSafeAreaViewManager.m in Sources */,
174
- 456B6CDD25B3B45F002C1C0C /* RNCSafeAreaShadowView.m in Sources */,
175
- 19AC186D23048EBB0093B581 /* RNCSafeAreaView.m in Sources */,
176
- 456B6CE225B3B45F002C1C0C /* RNCSafeAreaProvider.m in Sources */,
180
+ AA53A9EE2A321C01009AB3B2 /* RNCSafeAreaViewEdgeModes.m in Sources */,
181
+ 0C7844E427C02CEE001807FB /* RNCSafeAreaProviderManager.m in Sources */,
182
+ 0C7844E727C02CEE001807FB /* RNCSafeAreaUtils.m in Sources */,
183
+ 0C7844E827C02CEE001807FB /* RNCSafeAreaView.m in Sources */,
184
+ 0C7844E627C02CEE001807FB /* RNCSafeAreaViewEdges.m in Sources */,
185
+ 0C7844E527C02CEE001807FB /* RNCSafeAreaViewManager.m in Sources */,
186
+ 0C7844EF27C02D03001807FB /* RNCSafeAreaContext.mm in Sources */,
187
+ 0C7844E127C02CEE001807FB /* RNCSafeAreaViewLocalData.m in Sources */,
188
+ 0C7844E227C02CEE001807FB /* RNCSafeAreaViewMode.m in Sources */,
189
+ 0C7844F027C02D03001807FB /* RNCSafeAreaProvider.m in Sources */,
190
+ 0C7844E327C02CEE001807FB /* RNCSafeAreaShadowView.m in Sources */,
177
191
  );
178
192
  runOnlyForDeploymentPostprocessing = 0;
179
193
  };
@@ -314,7 +328,7 @@
314
328
  /* End XCBuildConfiguration section */
315
329
 
316
330
  /* Begin XCConfigurationList section */
317
- 58B511D61A9E6C8500147676 /* Build configuration list for PBXProject "SafeAreaView" */ = {
331
+ 58B511D61A9E6C8500147676 /* Build configuration list for PBXProject "RNSafeAreaContext" */ = {
318
332
  isa = XCConfigurationList;
319
333
  buildConfigurations = (
320
334
  58B511ED1A9E6C8500147676 /* Debug */,
package/jest/mock.tsx ADDED
@@ -0,0 +1,59 @@
1
+ import { jest } from '@jest/globals';
2
+ import React, { useContext } from 'react';
3
+ import type { Metrics } from '../src/SafeArea.types';
4
+ import type {
5
+ SafeAreaProviderProps,
6
+ SafeAreaInsetsContext,
7
+ SafeAreaFrameContext,
8
+ } from '../src/SafeAreaContext';
9
+
10
+ const MOCK_INITIAL_METRICS: Metrics = {
11
+ frame: {
12
+ width: 320,
13
+ height: 640,
14
+ x: 0,
15
+ y: 0,
16
+ },
17
+ insets: {
18
+ left: 0,
19
+ right: 0,
20
+ bottom: 0,
21
+ top: 0,
22
+ },
23
+ };
24
+
25
+ const RNSafeAreaContext = jest.requireActual<{
26
+ SafeAreaInsetsContext: typeof SafeAreaInsetsContext;
27
+ SafeAreaFrameContext: typeof SafeAreaFrameContext;
28
+ }>('@amazon-devices/react-native-safe-area-context');
29
+
30
+ export default {
31
+ ...RNSafeAreaContext,
32
+ initialWindowMetrics: MOCK_INITIAL_METRICS,
33
+ useSafeAreaInsets: jest.fn(() => {
34
+ return (
35
+ useContext(RNSafeAreaContext.SafeAreaInsetsContext) ??
36
+ MOCK_INITIAL_METRICS.insets
37
+ );
38
+ }),
39
+ useSafeAreaFrame: jest.fn(() => {
40
+ return (
41
+ useContext(RNSafeAreaContext.SafeAreaFrameContext) ??
42
+ MOCK_INITIAL_METRICS.frame
43
+ );
44
+ }),
45
+ // Provide a simpler implementation with default values.
46
+ SafeAreaProvider: ({ children, initialMetrics }: SafeAreaProviderProps) => {
47
+ return (
48
+ <RNSafeAreaContext.SafeAreaFrameContext.Provider
49
+ value={initialMetrics?.frame ?? MOCK_INITIAL_METRICS.frame}
50
+ >
51
+ <RNSafeAreaContext.SafeAreaInsetsContext.Provider
52
+ value={initialMetrics?.insets ?? MOCK_INITIAL_METRICS.insets}
53
+ >
54
+ {children}
55
+ </RNSafeAreaContext.SafeAreaInsetsContext.Provider>
56
+ </RNSafeAreaContext.SafeAreaFrameContext.Provider>
57
+ );
58
+ },
59
+ };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "versions": {
3
- "2.0.0": "/com.amazon.kepler.safe_area_context_2@ISafeAreaContext_0",
4
- "2.0.1759135970": "/com.amazon.kepler.safe_area_context_2@ISafeAreaContext_0"
3
+ "8.0.0": "/com.amazon.kepler.safe_area_context_8@ISafeAreaContext_0",
4
+ "8.0.9000000000": "/com.amazon.kepler.safe_area_context_8@ISafeAreaContext_0"
5
5
  }
6
6
  }
@@ -6,16 +6,14 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.CompatNativeSafeAreaProvider = CompatNativeSafeAreaProvider;
7
7
  var React = _interopRequireWildcard(require("react"));
8
8
  var _reactNative = require("react-native");
9
- var _useWindowDimensions = _interopRequireDefault(require("./useWindowDimensions"));
10
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
12
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
9
+ var _jsxRuntime = require("react/jsx-runtime");
10
+ 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); }
13
11
  function CompatNativeSafeAreaProvider({
14
12
  children,
15
13
  style,
16
14
  onInsetsChange
17
15
  }) {
18
- const window = (0, _useWindowDimensions.default)();
16
+ const window = (0, _reactNative.useWindowDimensions)();
19
17
  React.useEffect(() => {
20
18
  const insets = {
21
19
  top: 0,
@@ -37,8 +35,9 @@ function CompatNativeSafeAreaProvider({
37
35
  }
38
36
  });
39
37
  }, [onInsetsChange, window.height, window.width]);
40
- return /*#__PURE__*/React.createElement(_reactNative.View, {
41
- style: style
42
- }, children);
38
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
39
+ style: style,
40
+ children: children
41
+ });
43
42
  }
44
43
  //# sourceMappingURL=CompatNativeSafeAreaProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_useWindowDimensions","_interopRequireDefault","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","CompatNativeSafeAreaProvider","children","style","onInsetsChange","window","useWindowDimensions","useEffect","insets","top","bottom","left","right","frame","x","y","width","height","nativeEvent","createElement","View"],"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,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,oBAAA,GAAAC,sBAAA,CAAAH,OAAA;AAAwD,SAAAG,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,yBAAAH,CAAA,6BAAAI,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAD,wBAAA,YAAAA,CAAAH,CAAA,WAAAA,CAAA,GAAAM,CAAA,GAAAD,CAAA,KAAAL,CAAA;AAAA,SAAAL,wBAAAK,CAAA,EAAAK,CAAA,SAAAA,CAAA,IAAAL,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAE,OAAA,EAAAF,CAAA,QAAAM,CAAA,GAAAH,wBAAA,CAAAE,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAC,GAAA,CAAAP,CAAA,UAAAM,CAAA,CAAAE,GAAA,CAAAR,CAAA,OAAAS,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAf,CAAA,oBAAAe,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAe,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAd,CAAA,EAAAe,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAf,CAAA,CAAAe,CAAA,YAAAN,CAAA,CAAAP,OAAA,GAAAF,CAAA,EAAAM,CAAA,IAAAA,CAAA,CAAAa,GAAA,CAAAnB,CAAA,EAAAS,CAAA,GAAAA,CAAA;AAEjD,SAASW,4BAA4BA,CAAC;EAC3CC,QAAQ;EACRC,KAAK;EACLC;AAC2B,CAAC,EAAE;EAC9B,MAAMC,MAAM,GAAG,IAAAC,4BAAmB,EAAC,CAAC;EACpC/B,KAAK,CAACgC,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,EAAEX,MAAM,CAACW,KAAK;MACnBC,MAAM,EAAEZ,MAAM,CAACY;IACjB,CAAC;IACD;IACAb,cAAc,CAAC;MAAEc,WAAW,EAAE;QAAEV,MAAM;QAAEK;MAAM;IAAE,CAAC,CAAC;EACpD,CAAC,EAAE,CAACT,cAAc,EAAEC,MAAM,CAACY,MAAM,EAAEZ,MAAM,CAACW,KAAK,CAAC,CAAC;EACjD,oBAAOzC,KAAA,CAAA4C,aAAA,CAACzC,YAAA,CAAA0C,IAAI;IAACjB,KAAK,EAAEA;EAAM,GAAED,QAAe,CAAC;AAC9C","ignoreList":[]}
1
+ {"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","CompatNativeSafeAreaProvider","children","style","onInsetsChange","window","useWindowDimensions","useEffect","insets","top","bottom","left","right","frame","x","y","width","height","nativeEvent","jsx","View"],"sourceRoot":"../../src","sources":["CompatNativeSafeAreaProvider.tsx"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAAyD,IAAAE,WAAA,GAAAF,OAAA;AAAA,SAAAD,wBAAAI,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAN,uBAAA,YAAAA,CAAAI,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAGlD,SAASkB,4BAA4BA,CAAC;EAC3CC,QAAQ;EACRC,KAAK;EACLC;AAC2B,CAAC,EAAE;EAC9B,MAAMC,MAAM,GAAG,IAAAC,gCAAmB,EAAC,CAAC;EACpC7B,KAAK,CAAC8B,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,EAAEX,MAAM,CAACW,KAAK;MACnBC,MAAM,EAAEZ,MAAM,CAACY;IACjB,CAAC;IACD;IACAb,cAAc,CAAC;MAAEc,WAAW,EAAE;QAAEV,MAAM;QAAEK;MAAM;IAAE,CAAC,CAAC;EACpD,CAAC,EAAE,CAACT,cAAc,EAAEC,MAAM,CAACY,MAAM,EAAEZ,MAAM,CAACW,KAAK,CAAC,CAAC;EACjD,oBAAO,IAAAnC,WAAA,CAAAsC,GAAA,EAACvC,YAAA,CAAAwC,IAAI;IAACjB,KAAK,EAAEA,KAAM;IAAAD,QAAA,EAAEA;EAAQ,CAAO,CAAC;AAC9C","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["initialWindowMetrics","exports","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":";;;;;;AAEO,MAAMA,oBAAoC,GAAAC,OAAA,CAAAD,oBAAA,GAAG,IAAI;;AAExD;AACA;AACA;AACO,MAAME,2BAA8C,GAAAD,OAAA,CAAAC,2BAAA,GAAG,IAAI","ignoreList":[]}
1
+ {"version":3,"names":["initialWindowMetrics","exports","initialWindowSafeAreaInsets"],"sourceRoot":"../../src","sources":["InitialWindow.ts"],"mappings":";;;;;;AAEO,MAAMA,oBAAoC,GAAAC,OAAA,CAAAD,oBAAA,GAAG,IAAI;;AAExD;AACA;AACA;AACO,MAAME,2BAA8C,GAAAD,OAAA,CAAAC,2BAAA,GAAG,IAAI","ignoreList":[]}
@@ -11,5 +11,5 @@ const initialWindowMetrics = exports.initialWindowMetrics = null;
11
11
  /**
12
12
  * @deprecated
13
13
  */
14
- const initialWindowSafeAreaInsets = exports.initialWindowSafeAreaInsets = initialWindowMetrics === null || initialWindowMetrics === void 0 ? void 0 : initialWindowMetrics.insets;
14
+ const initialWindowSafeAreaInsets = exports.initialWindowSafeAreaInsets = initialWindowMetrics?.insets;
15
15
  //# sourceMappingURL=InitialWindow.kepler.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["initialWindowMetrics","exports","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;AACO,MAAMA,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,GAAG,IAAsB;AAC1D;AACA;AACA;AACO,MAAME,2BAA2B,GAAAD,OAAA,CAAAC,2BAAA,GAAGF,oBAAoB,aAApBA,oBAAoB,uBAApBA,oBAAoB,CAAEG,MAAM","ignoreList":[]}
1
+ {"version":3,"names":["initialWindowMetrics","exports","initialWindowSafeAreaInsets","insets"],"sourceRoot":"../../src","sources":["InitialWindow.kepler.ts"],"mappings":";;;;;;AAEA;AACA;AACA;AACO,MAAMA,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,GAAG,IAAsB;AAC1D;AACA;AACA;AACO,MAAME,2BAA2B,GAAAD,OAAA,CAAAC,2BAAA,GAAGF,oBAAoB,EAAEG,MAAM","ignoreList":[]}
@@ -4,12 +4,12 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.initialWindowSafeAreaInsets = exports.initialWindowMetrics = void 0;
7
- var _reactNative = require("react-native");
8
- const RNCSafeAreaProviderConfig = _reactNative.UIManager.getViewManagerConfig('RNCSafeAreaProvider');
9
- const initialWindowMetrics = exports.initialWindowMetrics = RNCSafeAreaProviderConfig != null && RNCSafeAreaProviderConfig.Constants != null ? RNCSafeAreaProviderConfig.Constants.initialWindowMetrics : null;
7
+ var _NativeSafeAreaContext = _interopRequireDefault(require("./specs/NativeSafeAreaContext"));
8
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
+ const initialWindowMetrics = exports.initialWindowMetrics = _NativeSafeAreaContext.default?.getConstants?.()?.initialWindowMetrics ?? null;
10
10
 
11
11
  /**
12
12
  * @deprecated
13
13
  */
14
- const initialWindowSafeAreaInsets = exports.initialWindowSafeAreaInsets = initialWindowMetrics === null || initialWindowMetrics === void 0 ? void 0 : initialWindowMetrics.insets;
14
+ const initialWindowSafeAreaInsets = exports.initialWindowSafeAreaInsets = initialWindowMetrics?.insets;
15
15
  //# sourceMappingURL=InitialWindow.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","RNCSafeAreaProviderConfig","UIManager","getViewManagerConfig","initialWindowMetrics","exports","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,IAAAA,YAAA,GAAAC,OAAA;AAGA,MAAMC,yBAAyB,GAAGC,sBAAS,CAACC,oBAAoB,CAC5D,qBACJ,CAAQ;AAED,MAAMC,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,GAAIH,yBAAyB,IAAI,IAAI,IAClEA,yBAAyB,CAACK,SAAS,IAAI,IAAI,GACzCL,yBAAyB,CAACK,SAAS,CAACF,oBAAoB,GACxD,IAAuB;;AAE7B;AACA;AACA;AACO,MAAMG,2BAA2B,GAAAF,OAAA,CAAAE,2BAAA,GAAGH,oBAAoB,aAApBA,oBAAoB,uBAApBA,oBAAoB,CAAEI,MAAM","ignoreList":[]}
1
+ {"version":3,"names":["_NativeSafeAreaContext","_interopRequireDefault","require","e","__esModule","default","initialWindowMetrics","exports","NativeSafeAreaContext","getConstants","initialWindowSafeAreaInsets","insets"],"sourceRoot":"../../src","sources":["InitialWindow.native.ts"],"mappings":";;;;;;AACA,IAAAA,sBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAkE,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE3D,MAAMG,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,GAAIE,8BAAqB,EAAEC,YAAY,GAAG,CAAC,EACxEH,oBAAoB,IAAI,IAAuB;;AAEnD;AACA;AACA;AACO,MAAMI,2BAA2B,GAAAH,OAAA,CAAAG,2BAAA,GAAGJ,oBAAoB,EAAEK,MAAM","ignoreList":[]}
@@ -3,130 +3,12 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = NativeSafeAreaView;
7
- var React = _interopRequireWildcard(require("react"));
8
- var _reactNative = require("react-native");
9
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
10
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
11
- /**
12
- * TODO:
13
- * Currently insets and frame are based on the window and are not
14
- * relative to the provider view. This is inconsistent with iOS and Android.
15
- * However in most cases if the provider view covers the screen this is not
16
- * an issue.
17
- */
18
-
19
- const CSSTransitions = {
20
- WebkitTransition: 'webkitTransitionEnd',
21
- Transition: 'transitionEnd',
22
- MozTransition: 'transitionend',
23
- MSTransition: 'msTransitionEnd',
24
- OTransition: 'oTransitionEnd'
25
- };
26
- function NativeSafeAreaView({
27
- children,
28
- style,
29
- onInsetsChange
30
- }) {
31
- React.useEffect(() => {
32
- // Skip for SSR.
33
- if (typeof document === 'undefined') {
34
- return;
35
- }
36
- const element = createContextElement();
37
- document.body.appendChild(element);
38
- const onEnd = () => {
39
- const {
40
- paddingTop,
41
- paddingBottom,
42
- paddingLeft,
43
- paddingRight
44
- } = window.getComputedStyle(element);
45
- const insets = {
46
- top: paddingTop ? parseInt(paddingTop, 10) : 0,
47
- bottom: paddingBottom ? parseInt(paddingBottom, 10) : 0,
48
- left: paddingLeft ? parseInt(paddingLeft, 10) : 0,
49
- right: paddingRight ? parseInt(paddingRight, 10) : 0
50
- };
51
- const frame = {
52
- x: 0,
53
- y: 0,
54
- width: document.documentElement.offsetWidth,
55
- height: document.documentElement.offsetHeight
56
- };
57
- // @ts-ignore: missing properties
58
- onInsetsChange({
59
- nativeEvent: {
60
- insets,
61
- frame
62
- }
63
- });
64
- };
65
- element.addEventListener(getSupportedTransitionEvent(), onEnd);
66
- onEnd();
67
- return () => {
68
- document.body.removeChild(element);
69
- element.removeEventListener(getSupportedTransitionEvent(), onEnd);
70
- };
71
- }, [onInsetsChange]);
72
- return /*#__PURE__*/React.createElement(_reactNative.View, {
73
- style: style
74
- }, children);
75
- }
76
- let _supportedTransitionEvent = null;
77
- function getSupportedTransitionEvent() {
78
- if (_supportedTransitionEvent !== null) {
79
- return _supportedTransitionEvent;
80
- }
81
- const element = document.createElement('invalidtype');
82
- _supportedTransitionEvent = CSSTransitions.Transition;
83
- for (const key in CSSTransitions) {
84
- if (element.style[key] !== undefined) {
85
- _supportedTransitionEvent = CSSTransitions[key];
86
- break;
87
- }
88
- }
89
- return _supportedTransitionEvent;
90
- }
91
- let _supportedEnv = null;
92
- function getSupportedEnv() {
93
- if (_supportedEnv !== null) {
94
- return _supportedEnv;
6
+ Object.defineProperty(exports, "NativeSafeAreaProvider", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _NativeSafeAreaProvider.default;
95
10
  }
96
- const {
97
- CSS
98
- } = window;
99
- if (CSS && CSS.supports && CSS.supports('top: constant(safe-area-inset-top)')) {
100
- _supportedEnv = 'constant';
101
- } else {
102
- _supportedEnv = 'env';
103
- }
104
- return _supportedEnv;
105
- }
106
- function getInset(side) {
107
- return `${getSupportedEnv()}(safe-area-inset-${side})`;
108
- }
109
- function createContextElement() {
110
- const element = document.createElement('div');
111
- const {
112
- style
113
- } = element;
114
- style.position = 'fixed';
115
- style.left = '0';
116
- style.top = '0';
117
- style.width = '0';
118
- style.height = '0';
119
- style.zIndex = '-1';
120
- style.overflow = 'hidden';
121
- style.visibility = 'hidden';
122
- // Bacon: Anything faster than this and the callback will be invoked too early with the wrong insets
123
- style.transitionDuration = '0.05s';
124
- style.transitionProperty = 'padding';
125
- style.transitionDelay = '0s';
126
- style.paddingTop = getInset('top');
127
- style.paddingBottom = getInset('bottom');
128
- style.paddingLeft = getInset('left');
129
- style.paddingRight = getInset('right');
130
- return element;
131
- }
11
+ });
12
+ var _NativeSafeAreaProvider = _interopRequireDefault(require("./specs/NativeSafeAreaProvider"));
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
132
14
  //# sourceMappingURL=NativeSafeAreaProvider.js.map