diff --git a/CHANGELOG.md b/CHANGELOG.md index 0f8e397f3df80..4f35e39cee048 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ Package-specific changes not released in any SDK will be added here just before ### 📚 3rd party library updates +- Updated `react-native-safe-area-context` from `4.3.1` to `4.4.1`. ([#19055](https://github.com/expo/expo/pull/19401) by [@brentvatne](https://github.com/brentvatne)) - Updated `@stripe/stripe-react-native` from `0.13.1` to `0.18.1` on iOS. ([#19055](https://github.com/expo/expo/pull/19055) by [@tsapeta](https://github.com/tsapeta)) - Updated `@shopify/flash-list` from `1.1.0` to `1.3.0`. ([#19317](https://github.com/expo/expo/pull/19317) by [@kudo](https://github.com/kudo)) - Updated `react-native-view-shot` from `3.3.0` to `3.4.0`. ([#19405](https://github.com/expo/expo/pull/19405) by [@douglowder](https://github.com/douglowder)) diff --git a/android/expoview/src/main/java/versioned/host/exp/exponent/modules/api/safeareacontext/SafeAreaContextPackage.kt b/android/expoview/src/main/java/versioned/host/exp/exponent/modules/api/safeareacontext/SafeAreaContextPackage.kt index ef8f8f4767c58..afd388bd92bdb 100644 --- a/android/expoview/src/main/java/versioned/host/exp/exponent/modules/api/safeareacontext/SafeAreaContextPackage.kt +++ b/android/expoview/src/main/java/versioned/host/exp/exponent/modules/api/safeareacontext/SafeAreaContextPackage.kt @@ -9,7 +9,6 @@ import com.facebook.react.module.model.ReactModuleInfo import com.facebook.react.module.model.ReactModuleInfoProvider import com.facebook.react.turbomodule.core.interfaces.TurboModule import com.facebook.react.uimanager.ViewManager -import com.facebook.soloader.SoLoader // Fool autolinking for older versions that do not support TurboReactPackage. // public class SafeAreaContextPackage implements ReactPackage { @@ -40,13 +39,6 @@ class SafeAreaContextPackage : TurboReactPackage() { } override fun createViewManagers(reactContext: ReactApplicationContext): List> { - if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) { - // For Fabric, we load c++ native library here, this triggers screen's Fabric - // component registration which is necessary in order to avoid asking users - // to manually add init calls in their application code. - // This should no longer be needed if RN's autolink mechanism has Fabric support - SoLoader.loadLibrary("safeareacontext_modules") - } return listOf>(SafeAreaProviderManager(), SafeAreaViewManager()) } } diff --git a/apps/bare-expo/ios/Podfile.lock b/apps/bare-expo/ios/Podfile.lock index 79a3177a3b89e..2fb48b24c6a33 100644 --- a/apps/bare-expo/ios/Podfile.lock +++ b/apps/bare-expo/ios/Podfile.lock @@ -624,11 +624,11 @@ PODS: - glog - react-native-netinfo (9.3.3): - React-Core - - react-native-safe-area-context (4.3.1): + - react-native-safe-area-context (4.4.1): - RCT-Folly - RCTRequired - RCTTypeSafety - - React + - React-Core - ReactCommon/turbomodule/core - react-native-segmented-control (2.4.0): - React-Core @@ -712,7 +712,7 @@ PODS: - React-Core - RNCPicker (2.4.6): - React-Core - - RNDateTimePicker (6.2.0): + - RNDateTimePicker (6.5.0): - React-Core - RNGestureHandler (2.7.0): - React-Core @@ -1351,7 +1351,7 @@ SPEC CHECKSUMS: React-jsinspector: 26c42646ab0bb69e29e837e23754fe7121eeaf94 React-logger: 1bfd109a0ffa4c0989bbfac0c2d8c4abe4637faa react-native-netinfo: b514dd6d9cd512b90e178c5b7158df1a1c568d47 - react-native-safe-area-context: 6c12e3859b6f27b25de4fee8201cfb858432d8de + react-native-safe-area-context: 99b24a0c5acd0d5dcac2b1a7f18c49ea317be99a react-native-segmented-control: 06607462630512ff8eef652ec560e6235a30cc3e react-native-slider: 98b724cd3e44c3454a6d0724e796d4e9c52189ce react-native-view-shot: a60a98a18c72bcaaaf2138f9aab960ae9b0d96c7 @@ -1372,7 +1372,7 @@ SPEC CHECKSUMS: RNCAsyncStorage: 466b9df1a14bccda91da86e0b7d9a345d78e1673 RNCMaskedView: c298b644a10c0c142055b3ae24d83879ecb13ccd RNCPicker: 2f71e09c52ab6327e2c393213368ea0e5bfbcb65 - RNDateTimePicker: 30e6733efc179d1e49d6008ea5fce42cdc9aeeca + RNDateTimePicker: 154f8246e9c32fd663995647a7f9f667a8c6b258 RNGestureHandler: 7673697e7c0e9391adefae4faa087442bc04af33 RNReanimated: 60e291d42c77752a0f6d6f358387bdf225a87c6e RNScreens: f3230dd008a7d0ce5c0a8bc78ff12cf2315bda24 diff --git a/apps/bare-expo/package.json b/apps/bare-expo/package.json index 916198c2d4c99..91b659b84156a 100644 --- a/apps/bare-expo/package.json +++ b/apps/bare-expo/package.json @@ -114,7 +114,7 @@ "react-native": "0.70.2", "react-native-gesture-handler": "~2.7.0", "react-native-reanimated": "~2.10.0", - "react-native-safe-area-context": "4.3.1", + "react-native-safe-area-context": "4.4.1", "react-native-screens": "~3.18.0", "react-native-shared-element": "0.8.4", "react-native-svg": "12.3.0", diff --git a/apps/native-component-list/package.json b/apps/native-component-list/package.json index de53b90c8d124..6a3f883c53f5c 100644 --- a/apps/native-component-list/package.json +++ b/apps/native-component-list/package.json @@ -150,7 +150,7 @@ "react-native-pager-view": "5.4.24", "react-native-paper": "^4.0.1", "react-native-reanimated": "~2.10.0", - "react-native-safe-area-context": "4.3.1", + "react-native-safe-area-context": "4.4.1", "react-native-safe-area-view": "^0.14.8", "react-native-screens": "~3.18.0", "react-native-shared-element": "0.8.4", diff --git a/home/package.json b/home/package.json index 9d8652f54929c..8d5bf19aeeef1 100644 --- a/home/package.json +++ b/home/package.json @@ -61,7 +61,7 @@ "react-native-maps": "0.31.1", "react-native-paper": "^4.0.1", "react-native-reanimated": "~2.10.0", - "react-native-safe-area-context": "4.3.1", + "react-native-safe-area-context": "4.4.1", "react-native-screens": "~3.18.0", "react-redux": "^7.2.0", "react-string-replace": "^0.4.4", diff --git a/ios/Podfile.lock b/ios/Podfile.lock index ff5297e1ba00c..c81ca0419493d 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -1907,11 +1907,11 @@ PODS: - React-Core - react-native-pager-view (5.4.24): - React-Core - - react-native-safe-area-context (4.3.1): + - react-native-safe-area-context (4.4.1): - RCT-Folly - RCTRequired - RCTTypeSafety - - React + - React-Core - ReactCommon/turbomodule/core - react-native-segmented-control (2.4.0): - React-Core @@ -3492,7 +3492,7 @@ SPEC CHECKSUMS: React-logger: 1bfd109a0ffa4c0989bbfac0c2d8c4abe4637faa react-native-netinfo: b514dd6d9cd512b90e178c5b7158df1a1c568d47 react-native-pager-view: 95d0418c3c74279840abec6926653d32447bafb6 - react-native-safe-area-context: 6c12e3859b6f27b25de4fee8201cfb858432d8de + react-native-safe-area-context: 99b24a0c5acd0d5dcac2b1a7f18c49ea317be99a react-native-segmented-control: 06607462630512ff8eef652ec560e6235a30cc3e react-native-skia: 78330615997e720dd07db28f4b8dfff22e9dd031 react-native-webview: d33e2db8925d090871ffeb232dfa50cb3a727581 diff --git a/ios/vendored/unversioned/react-native-safe-area-context/ios/RNCSafeAreaContext.mm b/ios/vendored/unversioned/react-native-safe-area-context/ios/RNCSafeAreaContext.mm index 32984203c801e..a0815028b3632 100644 --- a/ios/vendored/unversioned/react-native-safe-area-context/ios/RNCSafeAreaContext.mm +++ b/ios/vendored/unversioned/react-native-safe-area-context/ios/RNCSafeAreaContext.mm @@ -1,15 +1,15 @@ #import "RNCSafeAreaContext.h" -#if __has_include() +#if __has_include() #define RCT_USE_CODEGEN 1 #else #define RCT_USE_CODEGEN 0 #endif -#import #import +#import #if RCT_USE_CODEGEN -#import +#import #endif #if RCT_USE_CODEGEN @@ -62,7 +62,7 @@ - (NSDictionary *)getConstants } }; }); - + return constants; } diff --git a/ios/vendored/unversioned/react-native-safe-area-context/ios/SafeAreaContextSpec/SafeAreaContextSpec-generated.mm b/ios/vendored/unversioned/react-native-safe-area-context/ios/SafeAreaContextSpec/SafeAreaContextSpec-generated.mm deleted file mode 100644 index b2827b9e1b86b..0000000000000 --- a/ios/vendored/unversioned/react-native-safe-area-context/ios/SafeAreaContextSpec/SafeAreaContextSpec-generated.mm +++ /dev/null @@ -1,31 +0,0 @@ -/** - * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). - * - * Do not edit this file as changes may cause incorrect behavior and will be lost - * once the code is regenerated. - * - * @generated by codegen project: GenerateModuleObjCpp - * - * We create an umbrella header (and corresponding implementation) here since - * Cxx compilation in BUCK has a limitation: source-code producing genrule()s - * must have a single output. More files => more genrule()s => slower builds. - */ - -#import "SafeAreaContextSpec.h" - - -namespace facebook { - namespace react { - - static facebook::jsi::Value __hostFunction_NativeSafeAreaContextSpecJSI_getConstants(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { - return static_cast(turboModule).invokeObjCMethod(rt, ObjectKind, "getConstants", @selector(getConstants), args, count); - } - - NativeSafeAreaContextSpecJSI::NativeSafeAreaContextSpecJSI(const ObjCTurboModule::InitParams ¶ms) - : ObjCTurboModule(params) { - - methodMap_["getConstants"] = MethodMetadata {0, __hostFunction_NativeSafeAreaContextSpecJSI_getConstants}; - - } - } // namespace react -} // namespace facebook diff --git a/ios/vendored/unversioned/react-native-safe-area-context/ios/SafeAreaContextSpec/SafeAreaContextSpec.h b/ios/vendored/unversioned/react-native-safe-area-context/ios/SafeAreaContextSpec/SafeAreaContextSpec.h deleted file mode 100644 index 7dfcd73bc4051..0000000000000 --- a/ios/vendored/unversioned/react-native-safe-area-context/ios/SafeAreaContextSpec/SafeAreaContextSpec.h +++ /dev/null @@ -1,209 +0,0 @@ -/** - * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). - * - * Do not edit this file as changes may cause incorrect behavior and will be lost - * once the code is regenerated. - * - * @generated by codegen project: GenerateModuleObjCpp - * - * We create an umbrella header (and corresponding implementation) here since - * Cxx compilation in BUCK has a limitation: source-code producing genrule()s - * must have a single output. More files => more genrule()s => slower builds. - */ - -#ifndef __cplusplus -#error This file must be compiled as Obj-C++. If you are importing it, you must change your file extension to .mm. -#endif -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import - -namespace JS { - namespace NativeSafeAreaContext { - struct ConstantsInitialWindowMetricsInsets { - - struct Builder { - struct Input { - RCTRequired top; - RCTRequired right; - RCTRequired bottom; - RCTRequired left; - }; - - /** Initialize with a set of values */ - Builder(const Input i); - /** Initialize with an existing ConstantsInitialWindowMetricsInsets */ - Builder(ConstantsInitialWindowMetricsInsets i); - /** Builds the object. Generally used only by the infrastructure. */ - NSDictionary *buildUnsafeRawValue() const { return _factory(); }; - private: - NSDictionary *(^_factory)(void); - }; - - static ConstantsInitialWindowMetricsInsets fromUnsafeRawValue(NSDictionary *const v) { return {v}; } - NSDictionary *unsafeRawValue() const { return _v; } - private: - ConstantsInitialWindowMetricsInsets(NSDictionary *const v) : _v(v) {} - NSDictionary *_v; - }; - } -} -namespace JS { - namespace NativeSafeAreaContext { - struct ConstantsInitialWindowMetricsFrame { - - struct Builder { - struct Input { - RCTRequired x; - RCTRequired y; - RCTRequired width; - RCTRequired height; - }; - - /** Initialize with a set of values */ - Builder(const Input i); - /** Initialize with an existing ConstantsInitialWindowMetricsFrame */ - Builder(ConstantsInitialWindowMetricsFrame i); - /** Builds the object. Generally used only by the infrastructure. */ - NSDictionary *buildUnsafeRawValue() const { return _factory(); }; - private: - NSDictionary *(^_factory)(void); - }; - - static ConstantsInitialWindowMetricsFrame fromUnsafeRawValue(NSDictionary *const v) { return {v}; } - NSDictionary *unsafeRawValue() const { return _v; } - private: - ConstantsInitialWindowMetricsFrame(NSDictionary *const v) : _v(v) {} - NSDictionary *_v; - }; - } -} -namespace JS { - namespace NativeSafeAreaContext { - struct ConstantsInitialWindowMetrics { - - struct Builder { - struct Input { - RCTRequired insets; - RCTRequired frame; - }; - - /** Initialize with a set of values */ - Builder(const Input i); - /** Initialize with an existing ConstantsInitialWindowMetrics */ - Builder(ConstantsInitialWindowMetrics i); - /** Builds the object. Generally used only by the infrastructure. */ - NSDictionary *buildUnsafeRawValue() const { return _factory(); }; - private: - NSDictionary *(^_factory)(void); - }; - - static ConstantsInitialWindowMetrics fromUnsafeRawValue(NSDictionary *const v) { return {v}; } - NSDictionary *unsafeRawValue() const { return _v; } - private: - ConstantsInitialWindowMetrics(NSDictionary *const v) : _v(v) {} - NSDictionary *_v; - }; - } -} -namespace JS { - namespace NativeSafeAreaContext { - struct Constants { - - struct Builder { - struct Input { - std::optional initialWindowMetrics; - }; - - /** Initialize with a set of values */ - Builder(const Input i); - /** Initialize with an existing Constants */ - Builder(Constants i); - /** Builds the object. Generally used only by the infrastructure. */ - NSDictionary *buildUnsafeRawValue() const { return _factory(); }; - private: - NSDictionary *(^_factory)(void); - }; - - static Constants fromUnsafeRawValue(NSDictionary *const v) { return {v}; } - NSDictionary *unsafeRawValue() const { return _v; } - private: - Constants(NSDictionary *const v) : _v(v) {} - NSDictionary *_v; - }; - } -} -@protocol NativeSafeAreaContextSpec - -- (facebook::react::ModuleConstants)constantsToExport; -- (facebook::react::ModuleConstants)getConstants; - -@end -namespace facebook { - namespace react { - /** - * ObjC++ class for module 'NativeSafeAreaContext' - */ - class JSI_EXPORT NativeSafeAreaContextSpecJSI : public ObjCTurboModule { - public: - NativeSafeAreaContextSpecJSI(const ObjCTurboModule::InitParams ¶ms); - }; - } // namespace react -} // namespace facebook -inline JS::NativeSafeAreaContext::ConstantsInitialWindowMetricsInsets::Builder::Builder(const Input i) : _factory(^{ - NSMutableDictionary *d = [NSMutableDictionary new]; - auto top = i.top.get(); - d[@"top"] = @(top); - auto right = i.right.get(); - d[@"right"] = @(right); - auto bottom = i.bottom.get(); - d[@"bottom"] = @(bottom); - auto left = i.left.get(); - d[@"left"] = @(left); - return d; -}) {} -inline JS::NativeSafeAreaContext::ConstantsInitialWindowMetricsInsets::Builder::Builder(ConstantsInitialWindowMetricsInsets i) : _factory(^{ - return i.unsafeRawValue(); -}) {} -inline JS::NativeSafeAreaContext::ConstantsInitialWindowMetricsFrame::Builder::Builder(const Input i) : _factory(^{ - NSMutableDictionary *d = [NSMutableDictionary new]; - auto x = i.x.get(); - d[@"x"] = @(x); - auto y = i.y.get(); - d[@"y"] = @(y); - auto width = i.width.get(); - d[@"width"] = @(width); - auto height = i.height.get(); - d[@"height"] = @(height); - return d; -}) {} -inline JS::NativeSafeAreaContext::ConstantsInitialWindowMetricsFrame::Builder::Builder(ConstantsInitialWindowMetricsFrame i) : _factory(^{ - return i.unsafeRawValue(); -}) {} -inline JS::NativeSafeAreaContext::ConstantsInitialWindowMetrics::Builder::Builder(const Input i) : _factory(^{ - NSMutableDictionary *d = [NSMutableDictionary new]; - auto insets = i.insets.get(); - d[@"insets"] = insets.buildUnsafeRawValue(); - auto frame = i.frame.get(); - d[@"frame"] = frame.buildUnsafeRawValue(); - return d; -}) {} -inline JS::NativeSafeAreaContext::ConstantsInitialWindowMetrics::Builder::Builder(ConstantsInitialWindowMetrics i) : _factory(^{ - return i.unsafeRawValue(); -}) {} -inline JS::NativeSafeAreaContext::Constants::Builder::Builder(const Input i) : _factory(^{ - NSMutableDictionary *d = [NSMutableDictionary new]; - auto initialWindowMetrics = i.initialWindowMetrics; - d[@"initialWindowMetrics"] = initialWindowMetrics.has_value() ? initialWindowMetrics.value().buildUnsafeRawValue() : nil; - return d; -}) {} -inline JS::NativeSafeAreaContext::Constants::Builder::Builder(Constants i) : _factory(^{ - return i.unsafeRawValue(); -}) {} diff --git a/ios/vendored/unversioned/react-native-safe-area-context/react-native-safe-area-context.podspec.json b/ios/vendored/unversioned/react-native-safe-area-context/react-native-safe-area-context.podspec.json index 6263139d91279..3882c5db996ae 100644 --- a/ios/vendored/unversioned/react-native-safe-area-context/react-native-safe-area-context.podspec.json +++ b/ios/vendored/unversioned/react-native-safe-area-context/react-native-safe-area-context.podspec.json @@ -1,6 +1,6 @@ { "name": "react-native-safe-area-context", - "version": "4.3.1", + "version": "4.4.1", "summary": "A flexible way to handle safe area, also works on Android and web.", "license": "MIT", "authors": "Janic Duplessis ", @@ -11,7 +11,7 @@ }, "source": { "git": "https://github.com/th3rdwave/react-native-safe-area-context.git", - "tag": "v4.3.1" + "tag": "v4.4.1" }, "source_files": "ios/**/*.{h,m,mm}", "exclude_files": "ios/Fabric", @@ -21,7 +21,7 @@ "CLANG_CXX_LANGUAGE_STANDARD": "c++17" }, "dependencies": { - "React": [], + "React-Core": [], "RCT-Folly": [], "RCTRequired": [], "RCTTypeSafety": [], diff --git a/packages/expo-stories/package.json b/packages/expo-stories/package.json index 113507fbd0653..77c9094cb0591 100644 --- a/packages/expo-stories/package.json +++ b/packages/expo-stories/package.json @@ -31,7 +31,7 @@ "fs-extra": "^9.1.0", "glob": "^7.1.7", "react-native-gesture-handler": "~2.7.0", - "react-native-safe-area-context": "4.3.1", + "react-native-safe-area-context": "4.4.1", "react-native-screens": "~3.18.0", "react-native-svg": "12.3.0", "sane": "^5.0.1" diff --git a/packages/expo/bundledNativeModules.json b/packages/expo/bundledNativeModules.json index e6f1a9f15b321..63a5f8384c367 100644 --- a/packages/expo/bundledNativeModules.json +++ b/packages/expo/bundledNativeModules.json @@ -95,8 +95,8 @@ "react-native-maps": "0.31.1", "react-native-pager-view": "5.4.24", "react-native-reanimated": "~2.10.0", - "react-native-safe-area-context": "4.3.1", "react-native-screens": "~3.18.0", + "react-native-safe-area-context": "4.4.1", "react-native-shared-element": "0.8.4", "react-native-svg": "12.3.0", "react-native-view-shot": "3.4.0", diff --git a/yarn.lock b/yarn.lock index 8ba61f13961f4..acd761db5d8af 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3302,10 +3302,10 @@ prompts "^2.4.0" semver "^6.3.0" -"@react-native-community/datetimepicker@6.2.0": - version "6.2.0" - resolved "https://registry.yarnpkg.com/@react-native-community/datetimepicker/-/datetimepicker-6.2.0.tgz#50bc629e70e4030c48205c01efbc65a8f35d82d4" - integrity sha512-w1ZS+wYO3qSASliRp+B7mPphOhtVm++rhSbj1WsgXdgLgDXSkDxpMnAXXQu9M0XdcgBwVJ6wDExeIwuzU5Jtfg== +"@react-native-community/datetimepicker@6.5.0": + version "6.5.0" + resolved "https://registry.yarnpkg.com/@react-native-community/datetimepicker/-/datetimepicker-6.5.0.tgz#ecbcb0f995f57570ae5fa11ed66d23fcc67c2a3c" + integrity sha512-s0gxsz/l3Ln2+dZV+4RZI94+A+JO8ywrjC17cGK8ozM+VLXHAUARgGLGc+vqNJkxzZzGUqnkO6/kypQGoK7t/A== dependencies: invariant "^2.2.4" @@ -17253,10 +17253,10 @@ react-native-reanimated@~2.10.0: setimmediate "^1.0.5" string-hash-64 "^1.0.3" -react-native-safe-area-context@4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/react-native-safe-area-context/-/react-native-safe-area-context-4.3.1.tgz#5cf97b25b395e0d09bc1f828920cd7da0d792ade" - integrity sha512-cEr7fknJCToTrSyDCVNg0GRdRMhyLeQa2NZwVCuzEQcWedOw/59ExomjmzCE4rxrKXs6OJbyfNtFRNyewDaHuA== +react-native-safe-area-context@4.4.1: + version "4.4.1" + resolved "https://registry.yarnpkg.com/react-native-safe-area-context/-/react-native-safe-area-context-4.4.1.tgz#239c60b8a9a80eac70a38a822b04c0f1d15ffc01" + integrity sha512-N9XTjiuD73ZpVlejHrUWIFZc+6Z14co1K/p1IFMkImU7+avD69F3y+lhkqA2hN/+vljdZrBSiOwXPkuo43nFQA== react-native-safe-area-view@^0.14.8, react-native-safe-area-view@^0.14.9: version "0.14.9"