@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.
- package/README.md +6 -302
- package/SystemBundles/3e1c492419a85957481898df760cf9cf3bd38d3e26ef2e78822fb256fdee0153.bundle +7373 -0
- package/SystemBundles/3e1c492419a85957481898df760cf9cf3bd38d3e26ef2e78822fb256fdee0153.map +2780 -0
- package/SystemModules/amzn__react-native-safe-area-context-8.modules.txt +7 -0
- package/SystemModules/amzn__react-native-safe-area-context-8.private.modules.txt +61 -0
- package/SystemModules/keplerscript-system-bundle-config.json +3 -3
- package/android/build.gradle +103 -25
- package/android/gradle.properties +1 -0
- package/android/spotless.gradle +24 -0
- package/android/src/fabric/java/com/th3rdwave/safeareacontext/InsetsChangeEvent.kt +25 -0
- package/android/src/fabric/java/com/th3rdwave/safeareacontext/UIManagerHelperCompat.kt +14 -0
- package/android/src/main/AndroidManifest.xml +1 -2
- package/android/src/main/java/com/th3rdwave/safeareacontext/EdgeInsets.kt +3 -0
- package/android/src/main/java/com/th3rdwave/safeareacontext/Rect.kt +3 -0
- package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaContextModule.kt +32 -0
- package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaContextPackage.kt +41 -0
- package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaProvider.kt +47 -0
- package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaProviderManager.kt +41 -0
- package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaUtils.kt +102 -0
- package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaView.kt +155 -0
- package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaViewEdges.kt +16 -0
- package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaViewLocalData.kt +7 -0
- package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaViewManager.kt +73 -0
- package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaViewMode.kt +6 -0
- package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaViewShadowNode.kt +170 -0
- package/android/src/main/java/com/th3rdwave/safeareacontext/SerializationUtils.kt +39 -0
- package/android/src/main/jni/CMakeLists.txt +87 -0
- package/android/src/main/jni/safeareacontext.h +17 -0
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNCSafeAreaProviderManagerDelegate.java +31 -0
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNCSafeAreaProviderManagerInterface.java +16 -0
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNCSafeAreaViewManagerDelegate.java +41 -0
- package/android/src/paper/java/com/facebook/react/viewmanagers/RNCSafeAreaViewManagerInterface.java +20 -0
- package/android/src/paper/java/com/th3rdwave/safeareacontext/InsetsChangeEvent.kt +29 -0
- package/android/src/paper/java/com/th3rdwave/safeareacontext/NativeSafeAreaContextSpec.java +56 -0
- package/android/src/paper/java/com/th3rdwave/safeareacontext/UIManagerHelperCompat.kt +20 -0
- package/common/cpp/react/renderer/components/safeareacontext/RNCSafeAreaViewComponentDescriptor.h +25 -0
- package/common/cpp/react/renderer/components/safeareacontext/RNCSafeAreaViewShadowNode.cpp +131 -0
- package/common/cpp/react/renderer/components/safeareacontext/RNCSafeAreaViewShadowNode.h +36 -0
- package/common/cpp/react/renderer/components/safeareacontext/RNCSafeAreaViewState.cpp +23 -0
- package/common/cpp/react/renderer/components/safeareacontext/RNCSafeAreaViewState.h +56 -0
- package/ios/Fabric/RNCSafeAreaProviderComponentView.h +13 -0
- package/ios/Fabric/RNCSafeAreaProviderComponentView.mm +129 -0
- package/ios/Fabric/RNCSafeAreaViewComponentView.h +11 -0
- package/ios/Fabric/RNCSafeAreaViewComponentView.mm +153 -0
- package/ios/RNCSafeAreaContext.h +9 -0
- package/ios/RNCSafeAreaContext.mm +85 -0
- package/ios/{SafeAreaView/RNCSafeAreaProvider.h → RNCSafeAreaProvider.h} +4 -0
- package/ios/RNCSafeAreaProvider.m +102 -0
- package/ios/RNCSafeAreaProviderManager.m +20 -0
- package/ios/{SafeAreaView/RNCSafeAreaShadowView.m → RNCSafeAreaShadowView.m} +50 -36
- package/ios/RNCSafeAreaUtils.h +22 -0
- package/ios/RNCSafeAreaUtils.m +41 -0
- package/ios/{SafeAreaView/RNCSafeAreaView.h → RNCSafeAreaView.h} +8 -4
- package/ios/RNCSafeAreaView.m +168 -0
- package/ios/RNCSafeAreaViewEdgeMode.h +12 -0
- package/ios/RNCSafeAreaViewEdgeMode.m +16 -0
- package/ios/RNCSafeAreaViewEdges.h +15 -0
- package/ios/RNCSafeAreaViewEdges.m +36 -0
- package/ios/{SafeAreaView/RNCSafeAreaViewLocalData.h → RNCSafeAreaViewLocalData.h} +12 -1
- package/ios/{SafeAreaView/RNCSafeAreaViewLocalData.m → RNCSafeAreaViewLocalData.m} +4 -0
- package/ios/{SafeAreaView/RNCSafeAreaViewManager.m → RNCSafeAreaViewManager.m} +5 -1
- package/ios/RNCSafeAreaViewMode.m +15 -0
- package/ios/{SafeAreaView.xcodeproj → RNSafeAreaContext.xcodeproj}/project.pbxproj +70 -56
- package/jest/mock.tsx +59 -0
- package/kepler-compatibility.json +2 -2
- package/lib/commonjs/CompatNativeSafeAreaProvider.js +7 -8
- package/lib/commonjs/CompatNativeSafeAreaProvider.js.map +1 -1
- package/lib/commonjs/InitialWindow.js.map +1 -1
- package/lib/commonjs/InitialWindow.kepler.js +1 -1
- package/lib/commonjs/InitialWindow.kepler.js.map +1 -1
- package/lib/commonjs/InitialWindow.native.js +4 -4
- package/lib/commonjs/InitialWindow.native.js.map +1 -1
- package/lib/commonjs/NativeSafeAreaProvider.js +7 -125
- package/lib/commonjs/NativeSafeAreaProvider.js.map +1 -1
- package/lib/commonjs/NativeSafeAreaProvider.kepler.js +6 -2
- package/lib/commonjs/NativeSafeAreaProvider.kepler.js.map +1 -1
- package/lib/commonjs/NativeSafeAreaProvider.web.js +135 -0
- package/lib/commonjs/NativeSafeAreaProvider.web.js.map +1 -0
- package/lib/commonjs/NativeSafeAreaProvider.windows.js +6 -2
- package/lib/commonjs/NativeSafeAreaProvider.windows.js.map +1 -1
- package/lib/commonjs/SafeArea.types.js.map +1 -1
- package/lib/commonjs/SafeAreaContext.js +56 -36
- package/lib/commonjs/SafeAreaContext.js.map +1 -1
- package/lib/commonjs/SafeAreaView.js +40 -73
- package/lib/commonjs/SafeAreaView.js.map +1 -1
- package/lib/commonjs/SafeAreaView.kepler.js.map +1 -1
- package/lib/commonjs/SafeAreaView.web.js +91 -0
- package/lib/commonjs/SafeAreaView.web.js.map +1 -0
- package/lib/commonjs/SafeAreaView.windows.js.map +1 -1
- package/lib/commonjs/index.js +1 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/package.json +1 -0
- package/lib/commonjs/specs/NativeSafeAreaContext.js +9 -0
- package/lib/commonjs/specs/NativeSafeAreaContext.js.map +1 -0
- package/lib/commonjs/specs/NativeSafeAreaProvider.js +10 -0
- package/lib/commonjs/specs/NativeSafeAreaProvider.js.map +1 -0
- package/lib/commonjs/specs/NativeSafeAreaView.js +12 -0
- package/lib/commonjs/specs/NativeSafeAreaView.js.map +1 -0
- package/lib/module/CompatNativeSafeAreaProvider.js +8 -5
- package/lib/module/CompatNativeSafeAreaProvider.js.map +1 -1
- package/lib/module/InitialWindow.js +2 -0
- package/lib/module/InitialWindow.js.map +1 -1
- package/lib/module/InitialWindow.kepler.js +3 -1
- package/lib/module/InitialWindow.kepler.js.map +1 -1
- package/lib/module/InitialWindow.native.js +5 -4
- package/lib/module/InitialWindow.native.js.map +1 -1
- package/lib/module/NativeSafeAreaProvider.js +3 -122
- package/lib/module/NativeSafeAreaProvider.js.map +1 -1
- package/lib/module/NativeSafeAreaProvider.kepler.js +3 -2
- package/lib/module/NativeSafeAreaProvider.kepler.js.map +1 -1
- package/lib/module/NativeSafeAreaProvider.web.js +130 -0
- package/lib/module/NativeSafeAreaProvider.web.js.map +1 -0
- package/lib/module/NativeSafeAreaProvider.windows.js +3 -2
- package/lib/module/NativeSafeAreaProvider.windows.js.map +1 -1
- package/lib/module/SafeArea.types.js +2 -0
- package/lib/module/SafeArea.types.js.map +1 -1
- package/lib/module/SafeAreaContext.js +57 -33
- package/lib/module/SafeAreaContext.js.map +1 -1
- package/lib/module/SafeAreaView.js +38 -69
- package/lib/module/SafeAreaView.js.map +1 -1
- package/lib/module/SafeAreaView.kepler.js +2 -0
- package/lib/module/SafeAreaView.kepler.js.map +1 -1
- package/lib/module/SafeAreaView.web.js +86 -0
- package/lib/module/SafeAreaView.web.js.map +1 -0
- package/lib/module/SafeAreaView.windows.js +2 -0
- package/lib/module/SafeAreaView.windows.js.map +1 -1
- package/lib/module/index.js +3 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/specs/NativeSafeAreaContext.js +5 -0
- package/lib/module/specs/NativeSafeAreaContext.js.map +1 -0
- package/lib/module/specs/NativeSafeAreaProvider.js +5 -0
- package/lib/module/specs/NativeSafeAreaProvider.js.map +1 -0
- package/lib/module/specs/NativeSafeAreaView.js +7 -0
- package/lib/module/specs/NativeSafeAreaView.js.map +1 -0
- package/lib/typescript/CompatNativeSafeAreaProvider.d.ts +4 -0
- package/lib/typescript/CompatNativeSafeAreaProvider.d.ts.map +1 -0
- package/lib/typescript/{src/InitialWindow.d.ts → InitialWindow.d.ts} +2 -1
- package/lib/typescript/InitialWindow.d.ts.map +1 -0
- package/lib/typescript/{src/InitialWindow.kepler.d.ts → InitialWindow.kepler.d.ts} +1 -0
- package/lib/typescript/InitialWindow.kepler.d.ts.map +1 -0
- package/lib/typescript/{src/InitialWindow.native.d.ts → InitialWindow.native.d.ts} +2 -1
- package/lib/typescript/InitialWindow.native.d.ts.map +1 -0
- package/lib/typescript/NativeSafeAreaProvider.d.ts +3 -0
- package/lib/typescript/NativeSafeAreaProvider.d.ts.map +1 -0
- package/lib/typescript/NativeSafeAreaProvider.kepler.d.ts +2 -0
- package/lib/typescript/NativeSafeAreaProvider.kepler.d.ts.map +1 -0
- package/lib/typescript/NativeSafeAreaProvider.web.d.ts +4 -0
- package/lib/typescript/NativeSafeAreaProvider.web.d.ts.map +1 -0
- package/lib/typescript/NativeSafeAreaProvider.windows.d.ts +2 -0
- package/lib/typescript/NativeSafeAreaProvider.windows.d.ts.map +1 -0
- package/lib/typescript/SafeArea.types.d.ts +36 -0
- package/lib/typescript/SafeArea.types.d.ts.map +1 -0
- package/lib/typescript/{src/SafeAreaContext.d.ts → SafeAreaContext.d.ts} +9 -6
- package/lib/typescript/SafeAreaContext.d.ts.map +1 -0
- package/lib/typescript/SafeAreaView.d.ts +5 -0
- package/lib/typescript/SafeAreaView.d.ts.map +1 -0
- package/lib/typescript/{src/SafeAreaView.kepler.d.ts → SafeAreaView.kepler.d.ts} +1 -0
- package/lib/typescript/SafeAreaView.kepler.d.ts.map +1 -0
- package/lib/typescript/SafeAreaView.web.d.ts +4 -0
- package/lib/typescript/SafeAreaView.web.d.ts.map +1 -0
- package/lib/typescript/SafeAreaView.windows.d.ts +3 -0
- package/lib/typescript/SafeAreaView.windows.d.ts.map +1 -0
- package/lib/typescript/{src/index.d.ts → index.d.ts} +1 -0
- package/lib/typescript/index.d.ts.map +1 -0
- package/lib/typescript/specs/NativeSafeAreaContext.d.ts +23 -0
- package/lib/typescript/specs/NativeSafeAreaContext.d.ts.map +1 -0
- package/lib/typescript/specs/NativeSafeAreaProvider.d.ts +22 -0
- package/lib/typescript/specs/NativeSafeAreaProvider.d.ts.map +1 -0
- package/lib/typescript/specs/NativeSafeAreaView.d.ts +14 -0
- package/lib/typescript/specs/NativeSafeAreaView.d.ts.map +1 -0
- package/package.json +1 -1
- package/react-native-safe-area-context.podspec +26 -4
- package/react-native.config.js +8 -0
- package/src/CompatNativeSafeAreaProvider.tsx +2 -3
- package/src/InitialWindow.kepler.ts +1 -1
- package/src/InitialWindow.native.ts +5 -11
- package/src/InitialWindow.ts +1 -1
- package/src/NativeSafeAreaProvider.kepler.tsx +1 -3
- package/src/NativeSafeAreaProvider.tsx +2 -128
- package/src/NativeSafeAreaProvider.web.tsx +127 -0
- package/src/NativeSafeAreaProvider.windows.tsx +1 -3
- package/src/SafeArea.types.ts +15 -11
- package/src/SafeAreaContext.tsx +66 -43
- package/src/SafeAreaView.tsx +47 -82
- package/src/SafeAreaView.web.tsx +123 -0
- package/src/SafeAreaView.windows.tsx +2 -1
- package/src/index.tsx +2 -0
- package/src/specs/NativeSafeAreaContext.ts +23 -0
- package/src/specs/NativeSafeAreaProvider.ts +29 -0
- package/src/specs/NativeSafeAreaView.ts +17 -0
- package/SystemBundles/e3c0cdeab56b8b622d4f0fd5a80812eafe199fa2287d0e3a09c5e573a1035350.bundle +0 -11031
- package/SystemBundles/e3c0cdeab56b8b622d4f0fd5a80812eafe199fa2287d0e3a09c5e573a1035350.map +0 -1
- package/SystemModules/amzn__react-native-safe-area-context-2.modules.txt +0 -55
- package/SystemModules/amzn__react-native-safe-area-context-2.private.modules.txt +0 -91
- package/THIRD_PARTY_NOTICES.txt +0 -24
- package/android/src/main/java/com/th3rdwave/safeareacontext/EdgeInsets.java +0 -22
- package/android/src/main/java/com/th3rdwave/safeareacontext/InsetsChangeEvent.java +0 -33
- package/android/src/main/java/com/th3rdwave/safeareacontext/Rect.java +0 -22
- package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaContextPackage.java +0 -31
- package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaProvider.java +0 -66
- package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaProviderManager.java +0 -94
- package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaUtils.java +0 -82
- package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaView.java +0 -159
- package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaViewEdges.java +0 -8
- package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaViewLocalData.java +0 -27
- package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaViewManager.java +0 -72
- package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaViewMode.java +0 -6
- package/android/src/main/java/com/th3rdwave/safeareacontext/SafeAreaViewShadowNode.java +0 -201
- package/android/src/main/java/com/th3rdwave/safeareacontext/SerializationUtils.java +0 -52
- package/ios/SafeAreaView/RCTView+SafeAreaCompat.h +0 -16
- package/ios/SafeAreaView/RCTView+SafeAreaCompat.m +0 -57
- package/ios/SafeAreaView/RNCSafeAreaProvider.m +0 -65
- package/ios/SafeAreaView/RNCSafeAreaProviderManager.m +0 -61
- package/ios/SafeAreaView/RNCSafeAreaView.m +0 -118
- package/ios/SafeAreaView/RNCSafeAreaViewEdges.h +0 -9
- package/ios/SafeAreaView/RNCSafeAreaViewEdges.m +0 -13
- package/ios/SafeAreaView/RNCSafeAreaViewMode.m +0 -11
- package/lib/commonjs/NativeSafeAreaProvider.macos.js +0 -9
- package/lib/commonjs/NativeSafeAreaProvider.macos.js.map +0 -1
- package/lib/commonjs/NativeSafeAreaProvider.native.js +0 -9
- package/lib/commonjs/NativeSafeAreaProvider.native.js.map +0 -1
- package/lib/commonjs/SafeAreaView.macos.js +0 -9
- package/lib/commonjs/SafeAreaView.macos.js.map +0 -1
- package/lib/commonjs/SafeAreaView.native.js +0 -9
- package/lib/commonjs/SafeAreaView.native.js.map +0 -1
- package/lib/commonjs/useWindowDimensions.js +0 -32
- package/lib/commonjs/useWindowDimensions.js.map +0 -1
- package/lib/module/NativeSafeAreaProvider.macos.js +0 -3
- package/lib/module/NativeSafeAreaProvider.macos.js.map +0 -1
- package/lib/module/NativeSafeAreaProvider.native.js +0 -3
- package/lib/module/NativeSafeAreaProvider.native.js.map +0 -1
- package/lib/module/SafeAreaView.macos.js +0 -3
- package/lib/module/SafeAreaView.macos.js.map +0 -1
- package/lib/module/SafeAreaView.native.js +0 -3
- package/lib/module/SafeAreaView.native.js.map +0 -1
- package/lib/module/useWindowDimensions.js +0 -26
- package/lib/module/useWindowDimensions.js.map +0 -1
- package/lib/typescript/src/CompatNativeSafeAreaProvider.d.ts +0 -2
- package/lib/typescript/src/NativeSafeAreaProvider.d.ts +0 -2
- package/lib/typescript/src/NativeSafeAreaProvider.kepler.d.ts +0 -2
- package/lib/typescript/src/NativeSafeAreaProvider.macos.d.ts +0 -2
- package/lib/typescript/src/NativeSafeAreaProvider.native.d.ts +0 -3
- package/lib/typescript/src/NativeSafeAreaProvider.windows.d.ts +0 -2
- package/lib/typescript/src/SafeArea.types.d.ts +0 -31
- package/lib/typescript/src/SafeAreaView.d.ts +0 -2
- package/lib/typescript/src/SafeAreaView.macos.d.ts +0 -2
- package/lib/typescript/src/SafeAreaView.native.d.ts +0 -2
- package/lib/typescript/src/SafeAreaView.windows.d.ts +0 -2
- package/lib/typescript/src/useWindowDimensions.d.ts +0 -8
- package/src/NativeSafeAreaProvider.macos.tsx +0 -3
- package/src/NativeSafeAreaProvider.native.tsx +0 -6
- package/src/SafeAreaView.macos.tsx +0 -3
- package/src/SafeAreaView.native.tsx +0 -6
- package/src/useWindowDimensions.tsx +0 -35
- /package/ios/{SafeAreaView/RNCSafeAreaProviderManager.h → RNCSafeAreaProviderManager.h} +0 -0
- /package/ios/{SafeAreaView/RNCSafeAreaShadowView.h → RNCSafeAreaShadowView.h} +0 -0
- /package/ios/{SafeAreaView/RNCSafeAreaViewManager.h → RNCSafeAreaViewManager.h} +0 -0
- /package/ios/{SafeAreaView/RNCSafeAreaViewMode.h → RNCSafeAreaViewMode.h} +0 -0
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
#import "RNCSafeAreaProviderManager.h"
|
|
2
|
-
|
|
3
|
-
#import "RNCSafeAreaProvider.h"
|
|
4
|
-
|
|
5
|
-
@implementation RNCSafeAreaProviderManager
|
|
6
|
-
|
|
7
|
-
RCT_EXPORT_MODULE(RNCSafeAreaProvider)
|
|
8
|
-
|
|
9
|
-
RCT_EXPORT_VIEW_PROPERTY(onInsetsChange, RCTDirectEventBlock)
|
|
10
|
-
|
|
11
|
-
+ (BOOL)requiresMainQueueSetup
|
|
12
|
-
{
|
|
13
|
-
return YES;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
- (UIView *)view
|
|
17
|
-
{
|
|
18
|
-
return [RNCSafeAreaProvider new];
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
- (NSDictionary *)constantsToExport
|
|
22
|
-
{
|
|
23
|
-
UIWindow* window = [[UIApplication sharedApplication] keyWindow];
|
|
24
|
-
if (@available(iOS 11.0, *)) {
|
|
25
|
-
UIEdgeInsets safeAreaInsets = window.safeAreaInsets;
|
|
26
|
-
return @{
|
|
27
|
-
@"initialWindowMetrics": @{
|
|
28
|
-
@"insets": @{
|
|
29
|
-
@"top": @(safeAreaInsets.top),
|
|
30
|
-
@"right": @(safeAreaInsets.right),
|
|
31
|
-
@"bottom": @(safeAreaInsets.bottom),
|
|
32
|
-
@"left": @(safeAreaInsets.left),
|
|
33
|
-
},
|
|
34
|
-
@"frame": @{
|
|
35
|
-
@"x": @(window.frame.origin.x),
|
|
36
|
-
@"y": @(window.frame.origin.y),
|
|
37
|
-
@"width": @(window.frame.size.width),
|
|
38
|
-
@"height": @(window.frame.size.height),
|
|
39
|
-
},
|
|
40
|
-
}
|
|
41
|
-
};
|
|
42
|
-
} else {
|
|
43
|
-
return @{ @"initialWindowMetrics": @{
|
|
44
|
-
@"insets": @{
|
|
45
|
-
@"top": @(20),
|
|
46
|
-
@"right": @(0),
|
|
47
|
-
@"bottom": @(0),
|
|
48
|
-
@"left": @(0),
|
|
49
|
-
},
|
|
50
|
-
@"frame": @{
|
|
51
|
-
@"x": @(window.frame.origin.x),
|
|
52
|
-
@"y": @(window.frame.origin.y),
|
|
53
|
-
@"width": @(window.frame.size.width),
|
|
54
|
-
@"height": @(window.frame.size.height),
|
|
55
|
-
},
|
|
56
|
-
}
|
|
57
|
-
} ;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
@end
|
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
#import "RNCSafeAreaView.h"
|
|
2
|
-
|
|
3
|
-
#import <React/RCTBridge.h>
|
|
4
|
-
#import <React/RCTUIManager.h>
|
|
5
|
-
|
|
6
|
-
#import "RNCSafeAreaViewLocalData.h"
|
|
7
|
-
#import "RNCSafeAreaViewMode.h"
|
|
8
|
-
#import "RNCSafeAreaViewEdges.h"
|
|
9
|
-
#import "RCTView+SafeAreaCompat.h"
|
|
10
|
-
#import "RNCSafeAreaProvider.h"
|
|
11
|
-
|
|
12
|
-
@implementation RNCSafeAreaView {
|
|
13
|
-
__weak RCTBridge *_bridge;
|
|
14
|
-
UIEdgeInsets _currentSafeAreaInsets;
|
|
15
|
-
RNCSafeAreaViewMode _mode;
|
|
16
|
-
RNCSafeAreaViewEdges _edges;
|
|
17
|
-
__weak UIView * _Nullable _providerView;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
- (instancetype)initWithBridge:(RCTBridge *)bridge
|
|
21
|
-
{
|
|
22
|
-
if (self = [super initWithFrame:CGRectZero]) {
|
|
23
|
-
_bridge = bridge;
|
|
24
|
-
// Defaults
|
|
25
|
-
_mode = RNCSafeAreaViewModePadding;
|
|
26
|
-
_edges = RNCSafeAreaViewEdgesAll;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
return self;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
RCT_NOT_IMPLEMENTED(-(instancetype)initWithCoder : (NSCoder *)decoder)
|
|
33
|
-
RCT_NOT_IMPLEMENTED(-(instancetype)initWithFrame : (CGRect)frame)
|
|
34
|
-
|
|
35
|
-
- (NSString *)description
|
|
36
|
-
{
|
|
37
|
-
NSString *superDescription = [super description];
|
|
38
|
-
|
|
39
|
-
// Cutting the last `>` character.
|
|
40
|
-
if (superDescription.length > 0 && [superDescription characterAtIndex:superDescription.length - 1] == '>') {
|
|
41
|
-
superDescription = [superDescription substringToIndex:superDescription.length - 1];
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
return [NSString stringWithFormat:@"%@; RNCSafeAreaInsets = %@; appliedRNCSafeAreaInsets = %@>",
|
|
45
|
-
superDescription,
|
|
46
|
-
NSStringFromUIEdgeInsets([_providerView safeAreaInsetsOrEmulate]),
|
|
47
|
-
NSStringFromUIEdgeInsets(_currentSafeAreaInsets)];
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
- (void)safeAreaInsetsDidChange
|
|
51
|
-
{
|
|
52
|
-
[super safeAreaInsetsDidChange];
|
|
53
|
-
[self invalidateSafeAreaInsets];
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
- (void)layoutSubviews
|
|
57
|
-
{
|
|
58
|
-
[super layoutSubviews];
|
|
59
|
-
|
|
60
|
-
if (!self.nativeSafeAreaSupport) {
|
|
61
|
-
[self invalidateSafeAreaInsets];
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
- (void)didMoveToWindow
|
|
66
|
-
{
|
|
67
|
-
_providerView = [self findNearestProvider];
|
|
68
|
-
[self invalidateSafeAreaInsets];
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
- (void)invalidateSafeAreaInsets
|
|
72
|
-
{
|
|
73
|
-
if (_providerView == nil) {
|
|
74
|
-
return;
|
|
75
|
-
}
|
|
76
|
-
UIEdgeInsets safeAreaInsets = [_providerView safeAreaInsetsOrEmulate];
|
|
77
|
-
|
|
78
|
-
if (UIEdgeInsetsEqualToEdgeInsetsWithThreshold(safeAreaInsets, _currentSafeAreaInsets, 1.0 / RCTScreenScale())) {
|
|
79
|
-
return;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
_currentSafeAreaInsets = safeAreaInsets;
|
|
83
|
-
[self updateLocalData];
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
- (UIView *)findNearestProvider
|
|
87
|
-
{
|
|
88
|
-
UIView *current = self.reactSuperview;
|
|
89
|
-
while (current != nil) {
|
|
90
|
-
if ([current isKindOfClass:RNCSafeAreaProvider.class] ) {
|
|
91
|
-
return current;
|
|
92
|
-
}
|
|
93
|
-
current = current.reactSuperview;
|
|
94
|
-
}
|
|
95
|
-
return self;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
- (void)updateLocalData
|
|
99
|
-
{
|
|
100
|
-
RNCSafeAreaViewLocalData *localData = [[RNCSafeAreaViewLocalData alloc] initWithInsets:_currentSafeAreaInsets
|
|
101
|
-
mode:_mode
|
|
102
|
-
edges:_edges];
|
|
103
|
-
[_bridge.uiManager setLocalData:localData forView:self];
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
- (void)setMode:(RNCSafeAreaViewMode)mode
|
|
107
|
-
{
|
|
108
|
-
_mode = mode;
|
|
109
|
-
[self updateLocalData];
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
- (void)setEdges:(RNCSafeAreaViewEdges)edges
|
|
113
|
-
{
|
|
114
|
-
_edges = edges;
|
|
115
|
-
[self updateLocalData];
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
@end
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
#import <Foundation/Foundation.h>
|
|
2
|
-
|
|
3
|
-
typedef NS_ENUM(NSInteger, RNCSafeAreaViewEdges) {
|
|
4
|
-
RNCSafeAreaViewEdgesTop = 0b1000,
|
|
5
|
-
RNCSafeAreaViewEdgesRight = 0b0100,
|
|
6
|
-
RNCSafeAreaViewEdgesBottom = 0b0010,
|
|
7
|
-
RNCSafeAreaViewEdgesLeft = 0b0001,
|
|
8
|
-
RNCSafeAreaViewEdgesAll = 0b1111,
|
|
9
|
-
};
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
#import <React/RCTConvert.h>
|
|
2
|
-
#import "RNCSafeAreaViewEdges.h"
|
|
3
|
-
|
|
4
|
-
@implementation RCTConvert (RNCSafeAreaView)
|
|
5
|
-
|
|
6
|
-
RCT_MULTI_ENUM_CONVERTER(RNCSafeAreaViewEdges, (@{
|
|
7
|
-
@"top": @(RNCSafeAreaViewEdgesTop),
|
|
8
|
-
@"right": @(RNCSafeAreaViewEdgesRight),
|
|
9
|
-
@"bottom": @(RNCSafeAreaViewEdgesBottom),
|
|
10
|
-
@"left": @(RNCSafeAreaViewEdgesLeft),
|
|
11
|
-
}), RNCSafeAreaViewEdgesAll, integerValue);
|
|
12
|
-
|
|
13
|
-
@end
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
#import <React/RCTConvert.h>
|
|
2
|
-
#import "RNCSafeAreaViewMode.h"
|
|
3
|
-
|
|
4
|
-
@implementation RCTConvert (RNCSafeAreaView)
|
|
5
|
-
|
|
6
|
-
RCT_MULTI_ENUM_CONVERTER(RNCSafeAreaViewMode, (@{
|
|
7
|
-
@"padding": @(RNCSafeAreaViewModePadding),
|
|
8
|
-
@"margin": @(RNCSafeAreaViewModeMargin),
|
|
9
|
-
}), RNCSafeAreaViewModePadding, integerValue);
|
|
10
|
-
|
|
11
|
-
@end
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _CompatNativeSafeAreaProvider = require("./CompatNativeSafeAreaProvider");
|
|
8
|
-
var _default = exports.default = _CompatNativeSafeAreaProvider.CompatNativeSafeAreaProvider;
|
|
9
|
-
//# sourceMappingURL=NativeSafeAreaProvider.macos.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_CompatNativeSafeAreaProvider","require","_default","exports","default","CompatNativeSafeAreaProvider"],"sources":["NativeSafeAreaProvider.macos.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,9 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _reactNative = require("react-native");
|
|
8
|
-
var _default = exports.default = (0, _reactNative.requireNativeComponent)('RNCSafeAreaProvider');
|
|
9
|
-
//# sourceMappingURL=NativeSafeAreaProvider.native.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_default","exports","default","requireNativeComponent"],"sources":["NativeSafeAreaProvider.native.tsx"],"sourcesContent":["import { requireNativeComponent } from 'react-native';\nimport { NativeSafeAreaProviderProps } from './SafeArea.types';\n\nexport default requireNativeComponent<NativeSafeAreaProviderProps>(\n 'RNCSafeAreaProvider',\n);"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAAsD,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAGvC,IAAAC,mCAAsB,EACjC,qBACJ,CAAC","ignoreList":[]}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.SafeAreaView = void 0;
|
|
7
|
-
var _reactNative = require("react-native");
|
|
8
|
-
const SafeAreaView = exports.SafeAreaView = _reactNative.View;
|
|
9
|
-
//# sourceMappingURL=SafeAreaView.macos.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","SafeAreaView","exports","View"],"sources":["SafeAreaView.macos.tsx"],"sourcesContent":["import { View } from 'react-native';\n\nexport const SafeAreaView = View;\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEO,MAAMC,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAGE,iBAAI","ignoreList":[]}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.SafeAreaView = void 0;
|
|
7
|
-
var _reactNative = require("react-native");
|
|
8
|
-
const SafeAreaView = exports.SafeAreaView = (0, _reactNative.requireNativeComponent)('RNCSafeAreaView');
|
|
9
|
-
//# sourceMappingURL=SafeAreaView.native.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","SafeAreaView","exports","requireNativeComponent"],"sources":["SafeAreaView.native.tsx"],"sourcesContent":["import { requireNativeComponent } from 'react-native';\nimport { NativeSafeAreaViewProps } from './SafeArea.types';\n\nexport const SafeAreaView = requireNativeComponent<NativeSafeAreaViewProps>(\n 'RNCSafeAreaView',\n);"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAGO,MAAMC,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG,IAAAE,mCAAsB,EAC9C,iBACJ,CAAC","ignoreList":[]}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = useWindowDimensions;
|
|
7
|
-
var _reactNative = require("react-native");
|
|
8
|
-
var _react = require("react");
|
|
9
|
-
// Copied from https://github.com/facebook/react-native/blob/8d57691a/Libraries/Utilities/useWindowDimensions.js
|
|
10
|
-
// for compatibility with React Native < 0.61.
|
|
11
|
-
function useWindowDimensions() {
|
|
12
|
-
const [dimensions, setDimensions] = (0, _react.useState)(() => _reactNative.Dimensions.get('window'));
|
|
13
|
-
(0, _react.useEffect)(() => {
|
|
14
|
-
function handleChange({
|
|
15
|
-
window
|
|
16
|
-
}) {
|
|
17
|
-
if (dimensions.width !== window.width || dimensions.height !== window.height || dimensions.scale !== window.scale || dimensions.fontScale !== window.fontScale) {
|
|
18
|
-
setDimensions(window);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
const subscription = _reactNative.Dimensions.addEventListener('change', handleChange);
|
|
22
|
-
// We might have missed an update between calling `get` in render and
|
|
23
|
-
// `addEventListener` in this handler, so we set it here. If there was
|
|
24
|
-
// no change, React will filter out this update as a no-op.
|
|
25
|
-
handleChange({
|
|
26
|
-
window: _reactNative.Dimensions.get('window')
|
|
27
|
-
});
|
|
28
|
-
return () => subscription.remove();
|
|
29
|
-
}, [dimensions]);
|
|
30
|
-
return dimensions;
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=useWindowDimensions.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_react","useWindowDimensions","dimensions","setDimensions","useState","Dimensions","get","useEffect","handleChange","window","width","height","scale","fontScale","subscription","addEventListener","remove"],"sources":["useWindowDimensions.tsx"],"sourcesContent":["import { Dimensions } from 'react-native';\nimport { useEffect, useState } from 'react';\n\ntype DisplayMetrics = {\n width: number;\n height: number;\n scale: number;\n fontScale: number;\n};\n\n// Copied from https://github.com/facebook/react-native/blob/8d57691a/Libraries/Utilities/useWindowDimensions.js\n// for compatibility with React Native < 0.61.\nexport default function useWindowDimensions(): DisplayMetrics {\n const [dimensions, setDimensions] = useState(() => Dimensions.get('window'));\n useEffect(() => {\n function handleChange({ window }: { window: DisplayMetrics }) {\n if (\n dimensions.width !== window.width ||\n dimensions.height !== window.height ||\n dimensions.scale !== window.scale ||\n dimensions.fontScale !== window.fontScale\n ) {\n setDimensions(window);\n }\n }\n const subscription = Dimensions.addEventListener('change', handleChange);\n // We might have missed an update between calling `get` in render and\n // `addEventListener` in this handler, so we set it here. If there was\n // no change, React will filter out this update as a no-op.\n handleChange({ window: Dimensions.get('window') });\n\n return () => subscription.remove();\n }, [dimensions]);\n return dimensions;\n}\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AASA;AACA;AACe,SAASE,mBAAmBA,CAAA,EAAmB;EAC5D,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAG,IAAAC,eAAQ,EAAC,MAAMC,uBAAU,CAACC,GAAG,CAAC,QAAQ,CAAC,CAAC;EAC5E,IAAAC,gBAAS,EAAC,MAAM;IACd,SAASC,YAAYA,CAAC;MAAEC;IAAmC,CAAC,EAAE;MAC5D,IACEP,UAAU,CAACQ,KAAK,KAAKD,MAAM,CAACC,KAAK,IACjCR,UAAU,CAACS,MAAM,KAAKF,MAAM,CAACE,MAAM,IACnCT,UAAU,CAACU,KAAK,KAAKH,MAAM,CAACG,KAAK,IACjCV,UAAU,CAACW,SAAS,KAAKJ,MAAM,CAACI,SAAS,EACzC;QACAV,aAAa,CAACM,MAAM,CAAC;MACvB;IACF;IACA,MAAMK,YAAY,GAAGT,uBAAU,CAACU,gBAAgB,CAAC,QAAQ,EAAEP,YAAY,CAAC;IACxE;IACA;IACA;IACAA,YAAY,CAAC;MAAEC,MAAM,EAAEJ,uBAAU,CAACC,GAAG,CAAC,QAAQ;IAAE,CAAC,CAAC;IAElD,OAAO,MAAMQ,YAAY,CAACE,MAAM,CAAC,CAAC;EACpC,CAAC,EAAE,CAACd,UAAU,CAAC,CAAC;EAChB,OAAOA,UAAU;AACnB","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["CompatNativeSafeAreaProvider"],"sources":["NativeSafeAreaProvider.macos.tsx"],"sourcesContent":["import { CompatNativeSafeAreaProvider } from './CompatNativeSafeAreaProvider';\n\nexport default CompatNativeSafeAreaProvider;\n"],"mappings":"AAAA,SAASA,4BAA4B,QAAQ,gCAAgC;AAE7E,eAAeA,4BAA4B","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["requireNativeComponent"],"sources":["NativeSafeAreaProvider.native.tsx"],"sourcesContent":["import { requireNativeComponent } from 'react-native';\nimport { NativeSafeAreaProviderProps } from './SafeArea.types';\n\nexport default requireNativeComponent<NativeSafeAreaProviderProps>(\n 'RNCSafeAreaProvider',\n);"],"mappings":"AAAA,SAASA,sBAAsB,QAAQ,cAAc;AAGrD,eAAeA,sBAAsB,CACjC,qBACJ,CAAC","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["View","SafeAreaView"],"sources":["SafeAreaView.macos.tsx"],"sourcesContent":["import { View } from 'react-native';\n\nexport const SafeAreaView = View;\n"],"mappings":"AAAA,SAASA,IAAI,QAAQ,cAAc;AAEnC,OAAO,MAAMC,YAAY,GAAGD,IAAI","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["requireNativeComponent","SafeAreaView"],"sources":["SafeAreaView.native.tsx"],"sourcesContent":["import { requireNativeComponent } from 'react-native';\nimport { NativeSafeAreaViewProps } from './SafeArea.types';\n\nexport const SafeAreaView = requireNativeComponent<NativeSafeAreaViewProps>(\n 'RNCSafeAreaView',\n);"],"mappings":"AAAA,SAASA,sBAAsB,QAAQ,cAAc;AAGrD,OAAO,MAAMC,YAAY,GAAGD,sBAAsB,CAC9C,iBACJ,CAAC","ignoreList":[]}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { Dimensions } from 'react-native';
|
|
2
|
-
import { useEffect, useState } from 'react';
|
|
3
|
-
// Copied from https://github.com/facebook/react-native/blob/8d57691a/Libraries/Utilities/useWindowDimensions.js
|
|
4
|
-
// for compatibility with React Native < 0.61.
|
|
5
|
-
export default function useWindowDimensions() {
|
|
6
|
-
const [dimensions, setDimensions] = useState(() => Dimensions.get('window'));
|
|
7
|
-
useEffect(() => {
|
|
8
|
-
function handleChange({
|
|
9
|
-
window
|
|
10
|
-
}) {
|
|
11
|
-
if (dimensions.width !== window.width || dimensions.height !== window.height || dimensions.scale !== window.scale || dimensions.fontScale !== window.fontScale) {
|
|
12
|
-
setDimensions(window);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
const subscription = Dimensions.addEventListener('change', handleChange);
|
|
16
|
-
// We might have missed an update between calling `get` in render and
|
|
17
|
-
// `addEventListener` in this handler, so we set it here. If there was
|
|
18
|
-
// no change, React will filter out this update as a no-op.
|
|
19
|
-
handleChange({
|
|
20
|
-
window: Dimensions.get('window')
|
|
21
|
-
});
|
|
22
|
-
return () => subscription.remove();
|
|
23
|
-
}, [dimensions]);
|
|
24
|
-
return dimensions;
|
|
25
|
-
}
|
|
26
|
-
//# sourceMappingURL=useWindowDimensions.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["Dimensions","useEffect","useState","useWindowDimensions","dimensions","setDimensions","get","handleChange","window","width","height","scale","fontScale","subscription","addEventListener","remove"],"sources":["useWindowDimensions.tsx"],"sourcesContent":["import { Dimensions } from 'react-native';\nimport { useEffect, useState } from 'react';\n\ntype DisplayMetrics = {\n width: number;\n height: number;\n scale: number;\n fontScale: number;\n};\n\n// Copied from https://github.com/facebook/react-native/blob/8d57691a/Libraries/Utilities/useWindowDimensions.js\n// for compatibility with React Native < 0.61.\nexport default function useWindowDimensions(): DisplayMetrics {\n const [dimensions, setDimensions] = useState(() => Dimensions.get('window'));\n useEffect(() => {\n function handleChange({ window }: { window: DisplayMetrics }) {\n if (\n dimensions.width !== window.width ||\n dimensions.height !== window.height ||\n dimensions.scale !== window.scale ||\n dimensions.fontScale !== window.fontScale\n ) {\n setDimensions(window);\n }\n }\n const subscription = Dimensions.addEventListener('change', handleChange);\n // We might have missed an update between calling `get` in render and\n // `addEventListener` in this handler, so we set it here. If there was\n // no change, React will filter out this update as a no-op.\n handleChange({ window: Dimensions.get('window') });\n\n return () => subscription.remove();\n }, [dimensions]);\n return dimensions;\n}\n"],"mappings":"AAAA,SAASA,UAAU,QAAQ,cAAc;AACzC,SAASC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAS3C;AACA;AACA,eAAe,SAASC,mBAAmBA,CAAA,EAAmB;EAC5D,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAGH,QAAQ,CAAC,MAAMF,UAAU,CAACM,GAAG,CAAC,QAAQ,CAAC,CAAC;EAC5EL,SAAS,CAAC,MAAM;IACd,SAASM,YAAYA,CAAC;MAAEC;IAAmC,CAAC,EAAE;MAC5D,IACEJ,UAAU,CAACK,KAAK,KAAKD,MAAM,CAACC,KAAK,IACjCL,UAAU,CAACM,MAAM,KAAKF,MAAM,CAACE,MAAM,IACnCN,UAAU,CAACO,KAAK,KAAKH,MAAM,CAACG,KAAK,IACjCP,UAAU,CAACQ,SAAS,KAAKJ,MAAM,CAACI,SAAS,EACzC;QACAP,aAAa,CAACG,MAAM,CAAC;MACvB;IACF;IACA,MAAMK,YAAY,GAAGb,UAAU,CAACc,gBAAgB,CAAC,QAAQ,EAAEP,YAAY,CAAC;IACxE;IACA;IACA;IACAA,YAAY,CAAC;MAAEC,MAAM,EAAER,UAAU,CAACM,GAAG,CAAC,QAAQ;IAAE,CAAC,CAAC;IAElD,OAAO,MAAMO,YAAY,CAACE,MAAM,CAAC,CAAC;EACpC,CAAC,EAAE,CAACX,UAAU,CAAC,CAAC;EAChB,OAAOA,UAAU;AACnB","ignoreList":[]}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
import { NativeSyntheticEvent, StyleProp, ViewProps, ViewStyle } from 'react-native';
|
|
3
|
-
export type Edge = 'top' | 'right' | 'bottom' | 'left';
|
|
4
|
-
export interface EdgeInsets {
|
|
5
|
-
top: number;
|
|
6
|
-
right: number;
|
|
7
|
-
bottom: number;
|
|
8
|
-
left: number;
|
|
9
|
-
}
|
|
10
|
-
export interface Rect {
|
|
11
|
-
x: number;
|
|
12
|
-
y: number;
|
|
13
|
-
width: number;
|
|
14
|
-
height: number;
|
|
15
|
-
}
|
|
16
|
-
export interface Metrics {
|
|
17
|
-
insets: EdgeInsets;
|
|
18
|
-
frame: Rect;
|
|
19
|
-
}
|
|
20
|
-
export type InsetChangedEvent = NativeSyntheticEvent<Metrics>;
|
|
21
|
-
export type InsetChangeNativeCallback = (event: InsetChangedEvent) => void;
|
|
22
|
-
export interface NativeSafeAreaProviderProps {
|
|
23
|
-
children?: React.ReactNode;
|
|
24
|
-
style?: StyleProp<ViewStyle>;
|
|
25
|
-
onInsetsChange: InsetChangeNativeCallback;
|
|
26
|
-
}
|
|
27
|
-
export type NativeSafeAreaViewProps = ViewProps & {
|
|
28
|
-
children?: React.ReactNode;
|
|
29
|
-
mode?: 'padding' | 'margin';
|
|
30
|
-
edges?: ReadonlyArray<Edge>;
|
|
31
|
-
};
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { Dimensions } from 'react-native';
|
|
2
|
-
import { useEffect, useState } from 'react';
|
|
3
|
-
|
|
4
|
-
type DisplayMetrics = {
|
|
5
|
-
width: number;
|
|
6
|
-
height: number;
|
|
7
|
-
scale: number;
|
|
8
|
-
fontScale: number;
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
// Copied from https://github.com/facebook/react-native/blob/8d57691a/Libraries/Utilities/useWindowDimensions.js
|
|
12
|
-
// for compatibility with React Native < 0.61.
|
|
13
|
-
export default function useWindowDimensions(): DisplayMetrics {
|
|
14
|
-
const [dimensions, setDimensions] = useState(() => Dimensions.get('window'));
|
|
15
|
-
useEffect(() => {
|
|
16
|
-
function handleChange({ window }: { window: DisplayMetrics }) {
|
|
17
|
-
if (
|
|
18
|
-
dimensions.width !== window.width ||
|
|
19
|
-
dimensions.height !== window.height ||
|
|
20
|
-
dimensions.scale !== window.scale ||
|
|
21
|
-
dimensions.fontScale !== window.fontScale
|
|
22
|
-
) {
|
|
23
|
-
setDimensions(window);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
const subscription = Dimensions.addEventListener('change', handleChange);
|
|
27
|
-
// We might have missed an update between calling `get` in render and
|
|
28
|
-
// `addEventListener` in this handler, so we set it here. If there was
|
|
29
|
-
// no change, React will filter out this update as a no-op.
|
|
30
|
-
handleChange({ window: Dimensions.get('window') });
|
|
31
|
-
|
|
32
|
-
return () => subscription.remove();
|
|
33
|
-
}, [dimensions]);
|
|
34
|
-
return dimensions;
|
|
35
|
-
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|