@amazon-devices/react-native-safe-area-context 2.0.1758683737 → 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 -4
  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
@@ -1 +1 @@
1
- {"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","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","View","_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","_interopRequireDefault","require","e","__esModule","default"],"sourceRoot":"../../src","sources":["NativeSafeAreaProvider.tsx"],"mappings":";;;;;;;;;;;AAAA,IAAAA,uBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAoE,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}
@@ -3,7 +3,11 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = void 0;
6
+ Object.defineProperty(exports, "NativeSafeAreaProvider", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _CompatNativeSafeAreaProvider.CompatNativeSafeAreaProvider;
10
+ }
11
+ });
7
12
  var _CompatNativeSafeAreaProvider = require("./CompatNativeSafeAreaProvider");
8
- var _default = exports.default = _CompatNativeSafeAreaProvider.CompatNativeSafeAreaProvider;
9
13
  //# sourceMappingURL=NativeSafeAreaProvider.kepler.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_CompatNativeSafeAreaProvider","require","_default","exports","default","CompatNativeSafeAreaProvider"],"sources":["NativeSafeAreaProvider.kepler.tsx"],"sourcesContent":["import { CompatNativeSafeAreaProvider } from './CompatNativeSafeAreaProvider';\n\nexport default CompatNativeSafeAreaProvider;"],"mappings":";;;;;;AAAA,IAAAA,6BAAA,GAAAC,OAAA;AAA8E,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAE/DC,0DAA4B","ignoreList":[]}
1
+ {"version":3,"names":["_CompatNativeSafeAreaProvider","require"],"sourceRoot":"../../src","sources":["NativeSafeAreaProvider.kepler.tsx"],"mappings":";;;;;;;;;;;AAAA,IAAAA,6BAAA,GAAAC,OAAA","ignoreList":[]}
@@ -0,0 +1,135 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.NativeSafeAreaProvider = NativeSafeAreaProvider;
7
+ var React = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
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); }
11
+ /* eslint-env browser */
12
+
13
+ /**
14
+ * TODO:
15
+ * Currently insets and frame are based on the window and are not
16
+ * relative to the provider view. This is inconsistent with iOS and Android.
17
+ * However in most cases if the provider view covers the screen this is not
18
+ * an issue.
19
+ */
20
+
21
+ const CSSTransitions = {
22
+ WebkitTransition: 'webkitTransitionEnd',
23
+ Transition: 'transitionEnd',
24
+ MozTransition: 'transitionend',
25
+ MSTransition: 'msTransitionEnd',
26
+ OTransition: 'oTransitionEnd'
27
+ };
28
+ function NativeSafeAreaProvider({
29
+ children,
30
+ style,
31
+ onInsetsChange
32
+ }) {
33
+ React.useEffect(() => {
34
+ // Skip for SSR.
35
+ if (typeof document === 'undefined') {
36
+ return;
37
+ }
38
+ const element = createContextElement();
39
+ document.body.appendChild(element);
40
+ const onEnd = () => {
41
+ const {
42
+ paddingTop,
43
+ paddingBottom,
44
+ paddingLeft,
45
+ paddingRight
46
+ } = window.getComputedStyle(element);
47
+ const insets = {
48
+ top: paddingTop ? parseInt(paddingTop, 10) : 0,
49
+ bottom: paddingBottom ? parseInt(paddingBottom, 10) : 0,
50
+ left: paddingLeft ? parseInt(paddingLeft, 10) : 0,
51
+ right: paddingRight ? parseInt(paddingRight, 10) : 0
52
+ };
53
+ const frame = {
54
+ x: 0,
55
+ y: 0,
56
+ width: document.documentElement.offsetWidth,
57
+ height: document.documentElement.offsetHeight
58
+ };
59
+ // @ts-ignore: missing properties
60
+ onInsetsChange({
61
+ nativeEvent: {
62
+ insets,
63
+ frame
64
+ }
65
+ });
66
+ };
67
+ element.addEventListener(getSupportedTransitionEvent(), onEnd);
68
+ onEnd();
69
+ return () => {
70
+ document.body.removeChild(element);
71
+ element.removeEventListener(getSupportedTransitionEvent(), onEnd);
72
+ };
73
+ }, [onInsetsChange]);
74
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
75
+ style: style,
76
+ children: children
77
+ });
78
+ }
79
+ let _supportedTransitionEvent = null;
80
+ function getSupportedTransitionEvent() {
81
+ if (_supportedTransitionEvent != null) {
82
+ return _supportedTransitionEvent;
83
+ }
84
+ const element = document.createElement('invalidtype');
85
+ _supportedTransitionEvent = CSSTransitions.Transition;
86
+ for (const key in CSSTransitions) {
87
+ if (element.style[key] !== undefined) {
88
+ _supportedTransitionEvent = CSSTransitions[key];
89
+ break;
90
+ }
91
+ }
92
+ return _supportedTransitionEvent;
93
+ }
94
+ let _supportedEnv = null;
95
+ function getSupportedEnv() {
96
+ if (_supportedEnv !== null) {
97
+ return _supportedEnv;
98
+ }
99
+ const {
100
+ CSS
101
+ } = window;
102
+ if (CSS && CSS.supports && CSS.supports('top: constant(safe-area-inset-top)')) {
103
+ _supportedEnv = 'constant';
104
+ } else {
105
+ _supportedEnv = 'env';
106
+ }
107
+ return _supportedEnv;
108
+ }
109
+ function getInset(side) {
110
+ return `${getSupportedEnv()}(safe-area-inset-${side})`;
111
+ }
112
+ function createContextElement() {
113
+ const element = document.createElement('div');
114
+ const {
115
+ style
116
+ } = element;
117
+ style.position = 'fixed';
118
+ style.left = '0';
119
+ style.top = '0';
120
+ style.width = '0';
121
+ style.height = '0';
122
+ style.zIndex = '-1';
123
+ style.overflow = 'hidden';
124
+ style.visibility = 'hidden';
125
+ // Bacon: Anything faster than this and the callback will be invoked too early with the wrong insets
126
+ style.transitionDuration = '0.05s';
127
+ style.transitionProperty = 'padding';
128
+ style.transitionDelay = '0s';
129
+ style.paddingTop = getInset('top');
130
+ style.paddingBottom = getInset('bottom');
131
+ style.paddingLeft = getInset('left');
132
+ style.paddingRight = getInset('right');
133
+ return element;
134
+ }
135
+ //# sourceMappingURL=NativeSafeAreaProvider.web.js.map
@@ -0,0 +1 @@
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","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","jsx","View","_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":[]}
@@ -3,7 +3,11 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = void 0;
6
+ Object.defineProperty(exports, "NativeSafeAreaProvider", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _CompatNativeSafeAreaProvider.CompatNativeSafeAreaProvider;
10
+ }
11
+ });
7
12
  var _CompatNativeSafeAreaProvider = require("./CompatNativeSafeAreaProvider");
8
- var _default = exports.default = _CompatNativeSafeAreaProvider.CompatNativeSafeAreaProvider;
9
13
  //# sourceMappingURL=NativeSafeAreaProvider.windows.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_CompatNativeSafeAreaProvider","require","_default","exports","default","CompatNativeSafeAreaProvider"],"sources":["NativeSafeAreaProvider.windows.tsx"],"sourcesContent":["import { CompatNativeSafeAreaProvider } from './CompatNativeSafeAreaProvider';\n\nexport default CompatNativeSafeAreaProvider;\n"],"mappings":";;;;;;AAAA,IAAAA,6BAAA,GAAAC,OAAA;AAA8E,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAE/DC,0DAA4B","ignoreList":[]}
1
+ {"version":3,"names":["_CompatNativeSafeAreaProvider","require"],"sourceRoot":"../../src","sources":["NativeSafeAreaProvider.windows.tsx"],"mappings":";;;;;;;;;;;AAAA,IAAAA,6BAAA,GAAAC,OAAA","ignoreList":[]}
@@ -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":[]}
@@ -11,26 +11,29 @@ exports.useSafeAreaInsets = useSafeAreaInsets;
11
11
  exports.withSafeAreaInsets = withSafeAreaInsets;
12
12
  var React = _interopRequireWildcard(require("react"));
13
13
  var _reactNative = require("react-native");
14
- var _NativeSafeAreaProvider = _interopRequireDefault(require("./NativeSafeAreaProvider"));
15
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
- 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); }
17
- 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; }
18
- function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
14
+ var _NativeSafeAreaProvider = require("./NativeSafeAreaProvider");
15
+ var _jsxRuntime = require("react/jsx-runtime");
16
+ 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); }
17
+ const isDev = process.env.NODE_ENV !== 'production';
19
18
  const SafeAreaInsetsContext = exports.SafeAreaInsetsContext = /*#__PURE__*/React.createContext(null);
20
- SafeAreaInsetsContext.displayName = 'SafeAreaInsetsContext';
19
+ if (isDev) {
20
+ SafeAreaInsetsContext.displayName = 'SafeAreaInsetsContext';
21
+ }
21
22
  const SafeAreaFrameContext = exports.SafeAreaFrameContext = /*#__PURE__*/React.createContext(null);
22
- SafeAreaFrameContext.displayName = 'SafeAreaFrameContext';
23
+ if (isDev) {
24
+ SafeAreaFrameContext.displayName = 'SafeAreaFrameContext';
25
+ }
23
26
  function SafeAreaProvider({
24
27
  children,
25
28
  initialMetrics,
26
29
  initialSafeAreaInsets,
27
- style
30
+ style,
31
+ ...others
28
32
  }) {
29
- var _ref, _ref2, _initialMetrics$inset, _ref3, _initialMetrics$frame;
30
33
  const parentInsets = useParentSafeAreaInsets();
31
34
  const parentFrame = useParentSafeAreaFrame();
32
- const [insets, setInsets] = React.useState((_ref = (_ref2 = (_initialMetrics$inset = initialMetrics === null || initialMetrics === void 0 ? void 0 : initialMetrics.insets) !== null && _initialMetrics$inset !== void 0 ? _initialMetrics$inset : initialSafeAreaInsets) !== null && _ref2 !== void 0 ? _ref2 : parentInsets) !== null && _ref !== void 0 ? _ref : null);
33
- const [frame, setFrame] = React.useState((_ref3 = (_initialMetrics$frame = initialMetrics === null || initialMetrics === void 0 ? void 0 : initialMetrics.frame) !== null && _initialMetrics$frame !== void 0 ? _initialMetrics$frame : parentFrame) !== null && _ref3 !== void 0 ? _ref3 : {
35
+ const [insets, setInsets] = React.useState(initialMetrics?.insets ?? initialSafeAreaInsets ?? parentInsets ?? null);
36
+ const [frame, setFrame] = React.useState(initialMetrics?.frame ?? parentFrame ?? {
34
37
  // Backwards compat so we render anyway if we don't have frame.
35
38
  x: 0,
36
39
  y: 0,
@@ -44,23 +47,35 @@ function SafeAreaProvider({
44
47
  insets: nextInsets
45
48
  }
46
49
  } = event;
47
- if (
48
- // Backwards compat with old native code that won't send frame.
49
- nextFrame && (nextFrame.height !== frame.height || nextFrame.width !== frame.width || nextFrame.x !== frame.x || nextFrame.y !== frame.y)) {
50
- setFrame(nextFrame);
51
- }
52
- if (!insets || nextInsets.bottom !== insets.bottom || nextInsets.left !== insets.left || nextInsets.right !== insets.right || nextInsets.top !== insets.top) {
53
- setInsets(nextInsets);
54
- }
55
- }, [frame, insets]);
56
- return /*#__PURE__*/React.createElement(_NativeSafeAreaProvider.default, {
50
+ setFrame(curFrame => {
51
+ if (
52
+ // Backwards compat with old native code that won't send frame.
53
+ nextFrame && (nextFrame.height !== curFrame.height || nextFrame.width !== curFrame.width || nextFrame.x !== curFrame.x || nextFrame.y !== curFrame.y)) {
54
+ return nextFrame;
55
+ } else {
56
+ return curFrame;
57
+ }
58
+ });
59
+ setInsets(curInsets => {
60
+ if (!curInsets || nextInsets.bottom !== curInsets.bottom || nextInsets.left !== curInsets.left || nextInsets.right !== curInsets.right || nextInsets.top !== curInsets.top) {
61
+ return nextInsets;
62
+ } else {
63
+ return curInsets;
64
+ }
65
+ });
66
+ }, []);
67
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_NativeSafeAreaProvider.NativeSafeAreaProvider, {
57
68
  style: [styles.fill, style],
58
- onInsetsChange: onInsetsChange
59
- }, insets != null ? /*#__PURE__*/React.createElement(SafeAreaFrameContext.Provider, {
60
- value: frame
61
- }, /*#__PURE__*/React.createElement(SafeAreaInsetsContext.Provider, {
62
- value: insets
63
- }, children)) : null);
69
+ onInsetsChange: onInsetsChange,
70
+ ...others,
71
+ children: insets != null ? /*#__PURE__*/(0, _jsxRuntime.jsx)(SafeAreaFrameContext.Provider, {
72
+ value: frame,
73
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(SafeAreaInsetsContext.Provider, {
74
+ value: insets,
75
+ children: children
76
+ })
77
+ }) : null
78
+ });
64
79
  }
65
80
  const styles = _reactNative.StyleSheet.create({
66
81
  fill: {
@@ -73,25 +88,30 @@ function useParentSafeAreaInsets() {
73
88
  function useParentSafeAreaFrame() {
74
89
  return React.useContext(SafeAreaFrameContext);
75
90
  }
91
+ const NO_INSETS_ERROR = 'No safe area value available. Make sure you are rendering `<SafeAreaProvider>` at the top of your app.';
76
92
  function useSafeAreaInsets() {
77
- const safeArea = React.useContext(SafeAreaInsetsContext);
78
- if (safeArea == null) {
79
- throw new Error('No safe area insets value available. Make sure you are rendering `<SafeAreaProvider>` at the top of your app.');
93
+ const insets = React.useContext(SafeAreaInsetsContext);
94
+ if (insets == null) {
95
+ throw new Error(NO_INSETS_ERROR);
80
96
  }
81
- return safeArea;
97
+ return insets;
82
98
  }
83
99
  function useSafeAreaFrame() {
84
100
  const frame = React.useContext(SafeAreaFrameContext);
85
101
  if (frame == null) {
86
- throw new Error('No safe area frame value available. Make sure you are rendering `<SafeAreaProvider>` at the top of your app.');
102
+ throw new Error(NO_INSETS_ERROR);
87
103
  }
88
104
  return frame;
89
105
  }
90
106
  function withSafeAreaInsets(WrappedComponent) {
91
- return /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SafeAreaConsumer, null, insets => /*#__PURE__*/React.createElement(WrappedComponent, _extends({}, props, {
92
- insets: insets,
93
- ref: ref
94
- }))));
107
+ return /*#__PURE__*/React.forwardRef((props, ref) => {
108
+ const insets = useSafeAreaInsets();
109
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(WrappedComponent, {
110
+ ...props,
111
+ insets: insets,
112
+ ref: ref
113
+ });
114
+ });
95
115
  }
96
116
 
97
117
  /**
@@ -1 +1 @@
1
- {"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_NativeSafeAreaProvider","_interopRequireDefault","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","SafeAreaInsetsContext","exports","createContext","displayName","SafeAreaFrameContext","SafeAreaProvider","children","initialMetrics","initialSafeAreaInsets","style","_ref","_ref2","_initialMetrics$inset","_ref3","_initialMetrics$frame","parentInsets","useParentSafeAreaInsets","parentFrame","useParentSafeAreaFrame","insets","setInsets","useState","frame","setFrame","x","y","width","Dimensions","height","onInsetsChange","useCallback","event","nativeEvent","nextFrame","nextInsets","bottom","left","right","top","createElement","styles","fill","Provider","value","StyleSheet","create","flex","useContext","useSafeAreaInsets","safeArea","Error","useSafeAreaFrame","withSafeAreaInsets","WrappedComponent","forwardRef","props","ref","SafeAreaConsumer","useSafeArea","Consumer","SafeAreaContext"],"sources":["SafeAreaContext.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Dimensions, StyleProp, StyleSheet, ViewStyle } from 'react-native';\nimport NativeSafeAreaProvider from './NativeSafeAreaProvider';\nimport { EdgeInsets, InsetChangedEvent, Metrics, Rect } from './SafeArea.types';\n\nexport const SafeAreaInsetsContext = React.createContext<EdgeInsets | null>(\n null,\n);\nSafeAreaInsetsContext.displayName = 'SafeAreaInsetsContext';\n\nexport const SafeAreaFrameContext = React.createContext<Rect | null>(null);\nSafeAreaFrameContext.displayName = 'SafeAreaFrameContext';\n\nexport interface SafeAreaViewProps {\n children?: React.ReactNode;\n initialMetrics?: Metrics | null;\n /**\n * @deprecated\n */\n initialSafeAreaInsets?: EdgeInsets | null;\n style?: StyleProp<ViewStyle>;\n}\n\nexport function SafeAreaProvider({\n children,\n initialMetrics,\n initialSafeAreaInsets,\n style,\n}: SafeAreaViewProps) {\n const parentInsets = useParentSafeAreaInsets();\n const parentFrame = useParentSafeAreaFrame();\n const [insets, setInsets] = React.useState<EdgeInsets | null>(\n initialMetrics?.insets ?? initialSafeAreaInsets ?? parentInsets ?? null,\n );\n const [frame, setFrame] = React.useState<Rect>(\n initialMetrics?.frame ??\n parentFrame ?? {\n // Backwards compat so we render anyway if we don't have frame.\n x: 0,\n y: 0,\n width: Dimensions.get('window').width,\n height: Dimensions.get('window').height,\n },\n );\n const onInsetsChange = React.useCallback(\n (event: InsetChangedEvent) => {\n const {\n nativeEvent: { frame: nextFrame, insets: nextInsets },\n } = event;\n\n if (\n // Backwards compat with old native code that won't send frame.\n nextFrame &&\n (nextFrame.height !== frame.height ||\n nextFrame.width !== frame.width ||\n nextFrame.x !== frame.x ||\n nextFrame.y !== frame.y)\n ) {\n setFrame(nextFrame);\n }\n\n if (\n !insets ||\n nextInsets.bottom !== insets.bottom ||\n nextInsets.left !== insets.left ||\n nextInsets.right !== insets.right ||\n nextInsets.top !== insets.top\n ) {\n setInsets(nextInsets);\n }\n },\n [frame, insets],\n );\n\n return (\n <NativeSafeAreaProvider\n style={[styles.fill, style]}\n onInsetsChange={onInsetsChange}\n >\n {insets != null ? (\n <SafeAreaFrameContext.Provider value={frame}>\n <SafeAreaInsetsContext.Provider value={insets}>\n {children}\n </SafeAreaInsetsContext.Provider>\n </SafeAreaFrameContext.Provider>\n ) : null}\n </NativeSafeAreaProvider>\n );\n}\n\nconst styles = StyleSheet.create({\n fill: { flex: 1 },\n});\n\nfunction useParentSafeAreaInsets(): EdgeInsets | null {\n return React.useContext(SafeAreaInsetsContext);\n}\n\nfunction useParentSafeAreaFrame(): Rect | null {\n return React.useContext(SafeAreaFrameContext);\n}\n\nexport function useSafeAreaInsets(): EdgeInsets {\n const safeArea = React.useContext(SafeAreaInsetsContext);\n if (safeArea == null) {\n throw new Error(\n 'No safe area insets value available. Make sure you are rendering `<SafeAreaProvider>` at the top of your app.',\n );\n }\n return safeArea;\n}\n\nexport function useSafeAreaFrame(): Rect {\n const frame = React.useContext(SafeAreaFrameContext);\n if (frame == null) {\n throw new Error(\n 'No safe area frame value available. Make sure you are rendering `<SafeAreaProvider>` at the top of your app.',\n );\n }\n return frame;\n}\n\nexport function withSafeAreaInsets<T>(\n WrappedComponent: React.ComponentType<T>,\n) {\n return React.forwardRef((props: T, ref: React.Ref<T>) => (\n <SafeAreaConsumer>\n {(insets) => <WrappedComponent {...props} insets={insets} ref={ref} />}\n </SafeAreaConsumer>\n ));\n}\n\n/**\n * @deprecated\n */\nexport function useSafeArea(): EdgeInsets {\n return useSafeAreaInsets();\n}\n\n/**\n * @deprecated\n */\nexport const SafeAreaConsumer = SafeAreaInsetsContext.Consumer;\n\n/**\n * @deprecated\n */\nexport const SafeAreaContext = SafeAreaInsetsContext;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_NativeSafeAreaProvider","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","isDev","process","env","NODE_ENV","SafeAreaInsetsContext","exports","createContext","displayName","SafeAreaFrameContext","SafeAreaProvider","children","initialMetrics","initialSafeAreaInsets","style","others","parentInsets","useParentSafeAreaInsets","parentFrame","useParentSafeAreaFrame","insets","setInsets","useState","frame","setFrame","x","y","width","Dimensions","height","onInsetsChange","useCallback","event","nativeEvent","nextFrame","nextInsets","curFrame","curInsets","bottom","left","right","top","jsx","NativeSafeAreaProvider","styles","fill","Provider","value","StyleSheet","create","flex","useContext","NO_INSETS_ERROR","useSafeAreaInsets","Error","useSafeAreaFrame","withSafeAreaInsets","WrappedComponent","forwardRef","props","ref","useSafeArea","SafeAreaConsumer","Consumer","SafeAreaContext"],"sourceRoot":"../../src","sources":["SafeAreaContext.tsx"],"mappings":"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","ignoreList":[]}
@@ -3,80 +3,47 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.SafeAreaView = SafeAreaView;
7
- var React = _interopRequireWildcard(require("react"));
8
- var _reactNative = require("react-native");
9
- var _SafeAreaContext = require("./SafeAreaContext");
10
- 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); }
11
- 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; }
12
- function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
13
- // prettier-ignore
14
- const TOP = 0b1000,
15
- RIGHT = 0b0100,
16
- BOTTOM = 0b0010,
17
- LEFT = 0b0001,
18
- ALL = 0b1111;
19
-
20
- /* eslint-disable no-bitwise */
21
-
22
- const edgeBitmaskMap = {
23
- top: TOP,
24
- right: RIGHT,
25
- bottom: BOTTOM,
26
- left: LEFT
6
+ exports.SafeAreaView = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var React = _react;
9
+ var _NativeSafeAreaView = _interopRequireDefault(require("./specs/NativeSafeAreaView"));
10
+ var _jsxRuntime = require("react/jsx-runtime");
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
+ 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
+ const defaultEdges = {
14
+ top: 'additive',
15
+ left: 'additive',
16
+ bottom: 'additive',
17
+ right: 'additive'
27
18
  };
28
- function SafeAreaView({
29
- style = {},
30
- mode,
19
+ const SafeAreaView = exports.SafeAreaView = /*#__PURE__*/React.forwardRef(({
31
20
  edges,
32
- ...rest
33
- }) {
34
- const insets = (0, _SafeAreaContext.useSafeAreaInsets)();
35
- const edgeBitmask = edges != null ? edges.reduce((accum, edge) => accum | edgeBitmaskMap[edge], 0) : ALL;
36
- const appliedStyle = React.useMemo(() => {
37
- const insetTop = edgeBitmask & TOP ? insets.top : 0;
38
- const insetRight = edgeBitmask & RIGHT ? insets.right : 0;
39
- const insetBottom = edgeBitmask & BOTTOM ? insets.bottom : 0;
40
- const insetLeft = edgeBitmask & LEFT ? insets.left : 0;
41
- const flatStyle = _reactNative.StyleSheet.flatten(style);
42
- if (mode === 'margin') {
43
- const {
44
- margin = 0,
45
- marginVertical = margin,
46
- marginHorizontal = margin,
47
- marginTop = marginVertical,
48
- marginRight = marginHorizontal,
49
- marginBottom = marginVertical,
50
- marginLeft = marginHorizontal
51
- } = flatStyle;
52
- const marginStyle = {
53
- marginTop: marginTop + insetTop,
54
- marginRight: marginRight + insetRight,
55
- marginBottom: marginBottom + insetBottom,
56
- marginLeft: marginLeft + insetLeft
57
- };
58
- return [style, marginStyle];
59
- } else {
60
- const {
61
- padding = 0,
62
- paddingVertical = padding,
63
- paddingHorizontal = padding,
64
- paddingTop = paddingVertical,
65
- paddingRight = paddingHorizontal,
66
- paddingBottom = paddingVertical,
67
- paddingLeft = paddingHorizontal
68
- } = flatStyle;
69
- const paddingStyle = {
70
- paddingTop: paddingTop + insetTop,
71
- paddingRight: paddingRight + insetRight,
72
- paddingBottom: paddingBottom + insetBottom,
73
- paddingLeft: paddingLeft + insetLeft
74
- };
75
- return [style, paddingStyle];
21
+ ...props
22
+ }, ref) => {
23
+ const nativeEdges = (0, _react.useMemo)(() => {
24
+ if (edges == null) {
25
+ return defaultEdges;
76
26
  }
77
- }, [style, insets, mode, edgeBitmask]);
78
- return /*#__PURE__*/React.createElement(_reactNative.View, _extends({
79
- style: appliedStyle
80
- }, rest));
81
- }
27
+ const edgesObj = Array.isArray(edges) ? edges.reduce((acc, edge) => {
28
+ acc[edge] = 'additive';
29
+ return acc;
30
+ }, {}) :
31
+ // ts has trouble with refining readonly arrays.
32
+ edges;
33
+
34
+ // make sure that we always pass all edges, required for fabric
35
+ const requiredEdges = {
36
+ top: edgesObj.top ?? 'off',
37
+ right: edgesObj.right ?? 'off',
38
+ bottom: edgesObj.bottom ?? 'off',
39
+ left: edgesObj.left ?? 'off'
40
+ };
41
+ return requiredEdges;
42
+ }, [edges]);
43
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_NativeSafeAreaView.default, {
44
+ ...props,
45
+ edges: nativeEdges,
46
+ ref: ref
47
+ });
48
+ });
82
49
  //# sourceMappingURL=SafeAreaView.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_SafeAreaContext","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","TOP","RIGHT","BOTTOM","LEFT","ALL","edgeBitmaskMap","top","right","bottom","left","SafeAreaView","style","mode","edges","rest","insets","useSafeAreaInsets","edgeBitmask","reduce","accum","edge","appliedStyle","useMemo","insetTop","insetRight","insetBottom","insetLeft","flatStyle","StyleSheet","flatten","margin","marginVertical","marginHorizontal","marginTop","marginRight","marginBottom","marginLeft","marginStyle","padding","paddingVertical","paddingHorizontal","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingStyle","createElement","View"],"sources":["SafeAreaView.tsx"],"sourcesContent":["import * as React from 'react';\nimport { View, StyleSheet } from 'react-native';\nimport { useSafeAreaInsets } from './SafeAreaContext';\nimport { Edge, NativeSafeAreaViewProps } from './SafeArea.types';\n\n// prettier-ignore\nconst TOP = 0b1000,\n RIGHT = 0b0100,\n BOTTOM = 0b0010,\n LEFT = 0b0001,\n ALL = 0b1111;\n\n/* eslint-disable no-bitwise */\n\nconst edgeBitmaskMap: Record<Edge, number> = {\n top: TOP,\n right: RIGHT,\n bottom: BOTTOM,\n left: LEFT,\n};\n\nexport function SafeAreaView({\n style = {},\n mode,\n edges,\n ...rest\n }: NativeSafeAreaViewProps) {\n const insets = useSafeAreaInsets();\n\n const edgeBitmask =\n edges != null\n ? edges.reduce((accum, edge) => accum | edgeBitmaskMap[edge], 0)\n : ALL;\n\n const appliedStyle = React.useMemo(() => {\n const insetTop = edgeBitmask & TOP ? insets.top : 0;\n const insetRight = edgeBitmask & RIGHT ? insets.right : 0;\n const insetBottom = edgeBitmask & BOTTOM ? insets.bottom : 0;\n const insetLeft = edgeBitmask & LEFT ? insets.left : 0;\n\n const flatStyle = StyleSheet.flatten(style) as Record<string, number>;\n\n if (mode === 'margin') {\n const {\n margin = 0,\n marginVertical = margin,\n marginHorizontal = margin,\n marginTop = marginVertical,\n marginRight = marginHorizontal,\n marginBottom = marginVertical,\n marginLeft = marginHorizontal,\n } = flatStyle;\n\n const marginStyle = {\n marginTop: marginTop + insetTop,\n marginRight: marginRight + insetRight,\n marginBottom: marginBottom + insetBottom,\n marginLeft: marginLeft + insetLeft,\n };\n\n return [style, marginStyle];\n } else {\n const {\n padding = 0,\n paddingVertical = padding,\n paddingHorizontal = padding,\n paddingTop = paddingVertical,\n paddingRight = paddingHorizontal,\n paddingBottom = paddingVertical,\n paddingLeft = paddingHorizontal,\n } = flatStyle;\n\n const paddingStyle = {\n paddingTop: paddingTop + insetTop,\n paddingRight: paddingRight + insetRight,\n paddingBottom: paddingBottom + insetBottom,\n paddingLeft: paddingLeft + insetLeft,\n };\n\n return [style, paddingStyle];\n }\n }, [style, insets, mode, edgeBitmask]);\n\n return <View style={appliedStyle} {...rest} />;\n}"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","React","_NativeSafeAreaView","_interopRequireDefault","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","defaultEdges","top","left","bottom","right","SafeAreaView","exports","forwardRef","edges","props","ref","nativeEdges","useMemo","edgesObj","Array","isArray","reduce","acc","edge","requiredEdges","jsx"],"sourceRoot":"../../src","sources":["SafeAreaView.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAA+B,IAAAC,KAAA,GAAAH,MAAA;AAQ/B,IAAAI,mBAAA,GAAAC,sBAAA,CAAAH,OAAA;AAA4D,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAG,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAN,wBAAAM,CAAA,EAAAG,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAV,uBAAA,YAAAA,CAAAM,CAAA,EAAAG,CAAA,SAAAA,CAAA,IAAAH,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,MAAAO,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAR,OAAA,EAAAF,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAS,CAAA,MAAAF,CAAA,GAAAJ,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAE,CAAA,CAAAI,GAAA,CAAAX,CAAA,UAAAO,CAAA,CAAAK,GAAA,CAAAZ,CAAA,GAAAO,CAAA,CAAAM,GAAA,CAAAb,CAAA,EAAAS,CAAA,gBAAAN,CAAA,IAAAH,CAAA,gBAAAG,CAAA,OAAAW,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAG,CAAA,OAAAK,CAAA,IAAAD,CAAA,GAAAS,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAG,CAAA,OAAAK,CAAA,CAAAI,GAAA,IAAAJ,CAAA,CAAAK,GAAA,IAAAN,CAAA,CAAAE,CAAA,EAAAN,CAAA,EAAAK,CAAA,IAAAC,CAAA,CAAAN,CAAA,IAAAH,CAAA,CAAAG,CAAA,WAAAM,CAAA,KAAAT,CAAA,EAAAG,CAAA;AAG5D,MAAMgB,YAAoC,GAAG;EAC3CC,GAAG,EAAE,UAAU;EACfC,IAAI,EAAE,UAAU;EAChBC,MAAM,EAAE,UAAU;EAClBC,KAAK,EAAE;AACT,CAAC;AAIM,MAAMC,YAAY,GAAAC,OAAA,CAAAD,YAAA,gBAAG5B,KAAK,CAAC8B,UAAU,CAG1C,CAAC;EAAEC,KAAK;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,KAAK;EAC9B,MAAMC,WAAW,GAAG,IAAAC,cAAO,EAAC,MAAM;IAChC,IAAIJ,KAAK,IAAI,IAAI,EAAE;MACjB,OAAOR,YAAY;IACrB;IAEA,MAAMa,QAAQ,GAAGC,KAAK,CAACC,OAAO,CAACP,KAAK,CAAC,GACjCA,KAAK,CAACQ,MAAM,CAAa,CAACC,GAAG,EAAEC,IAAU,KAAK;MAC5CD,GAAG,CAACC,IAAI,CAAC,GAAG,UAAU;MACtB,OAAOD,GAAG;IACZ,CAAC,EAAE,CAAC,CAAC,CAAC;IACN;IACCT,KAAoB;;IAEzB;IACA,MAAMW,aAAqC,GAAG;MAC5ClB,GAAG,EAAEY,QAAQ,CAACZ,GAAG,IAAI,KAAK;MAC1BG,KAAK,EAAES,QAAQ,CAACT,KAAK,IAAI,KAAK;MAC9BD,MAAM,EAAEU,QAAQ,CAACV,MAAM,IAAI,KAAK;MAChCD,IAAI,EAAEW,QAAQ,CAACX,IAAI,IAAI;IACzB,CAAC;IAED,OAAOiB,aAAa;EACtB,CAAC,EAAE,CAACX,KAAK,CAAC,CAAC;EAEX,oBAAO,IAAA5B,WAAA,CAAAwC,GAAA,EAAC1C,mBAAA,CAAAK,OAAkB;IAAA,GAAK0B,KAAK;IAAED,KAAK,EAAEG,WAAY;IAACD,GAAG,EAAEA;EAAI,CAAE,CAAC;AACxE,CAAC,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","SafeAreaView","exports","View"],"sources":["SafeAreaView.kepler.tsx"],"sourcesContent":["import { View } from 'react-native';\n\nexport const SafeAreaView = View;"],"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.kepler.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEO,MAAMC,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAGE,iBAAI","ignoreList":[]}