From 6063abf1362d3c6d1f2bfac8fd15bdf24cf0af90 Mon Sep 17 00:00:00 2001 From: Mo Gorhom Date: Sat, 15 May 2021 12:14:32 +0100 Subject: [PATCH 1/5] chore: updated react-native in example --- example/ios/Podfile.lock | 418 +++++++++++++++++++-------------------- example/package.json | 4 +- example/yarn.lock | 15 +- 3 files changed, 219 insertions(+), 218 deletions(-) diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock index 8004675db..a29a3deb8 100644 --- a/example/ios/Podfile.lock +++ b/example/ios/Podfile.lock @@ -2,14 +2,14 @@ PODS: - boost-for-react-native (1.63.0) - CocoaAsyncSocket (7.6.5) - DoubleConversion (1.1.6) - - FBLazyVector (0.64.0) - - FBReactNativeSpec (0.64.0): + - FBLazyVector (0.64.1) + - FBReactNativeSpec (0.64.1): - RCT-Folly (= 2020.01.13.00) - - RCTRequired (= 0.64.0) - - RCTTypeSafety (= 0.64.0) - - React-Core (= 0.64.0) - - React-jsi (= 0.64.0) - - ReactCommon/turbomodule/core (= 0.64.0) + - RCTRequired (= 0.64.1) + - RCTTypeSafety (= 0.64.1) + - React-Core (= 0.64.1) + - React-jsi (= 0.64.1) + - ReactCommon/turbomodule/core (= 0.64.1) - Flipper (0.79.1): - Flipper-Folly (~> 2.5) - Flipper-RSocket (~> 1.3) @@ -74,200 +74,200 @@ PODS: - DoubleConversion - glog - libevent - - RCTRequired (0.64.0) - - RCTTypeSafety (0.64.0): - - FBLazyVector (= 0.64.0) + - RCTRequired (0.64.1) + - RCTTypeSafety (0.64.1): + - FBLazyVector (= 0.64.1) - RCT-Folly (= 2020.01.13.00) - - RCTRequired (= 0.64.0) - - React-Core (= 0.64.0) - - React (0.64.0): - - React-Core (= 0.64.0) - - React-Core/DevSupport (= 0.64.0) - - React-Core/RCTWebSocket (= 0.64.0) - - React-RCTActionSheet (= 0.64.0) - - React-RCTAnimation (= 0.64.0) - - React-RCTBlob (= 0.64.0) - - React-RCTImage (= 0.64.0) - - React-RCTLinking (= 0.64.0) - - React-RCTNetwork (= 0.64.0) - - React-RCTSettings (= 0.64.0) - - React-RCTText (= 0.64.0) - - React-RCTVibration (= 0.64.0) - - React-callinvoker (0.64.0) - - React-Core (0.64.0): + - RCTRequired (= 0.64.1) + - React-Core (= 0.64.1) + - React (0.64.1): + - React-Core (= 0.64.1) + - React-Core/DevSupport (= 0.64.1) + - React-Core/RCTWebSocket (= 0.64.1) + - React-RCTActionSheet (= 0.64.1) + - React-RCTAnimation (= 0.64.1) + - React-RCTBlob (= 0.64.1) + - React-RCTImage (= 0.64.1) + - React-RCTLinking (= 0.64.1) + - React-RCTNetwork (= 0.64.1) + - React-RCTSettings (= 0.64.1) + - React-RCTText (= 0.64.1) + - React-RCTVibration (= 0.64.1) + - React-callinvoker (0.64.1) + - React-Core (0.64.1): - glog - RCT-Folly (= 2020.01.13.00) - - React-Core/Default (= 0.64.0) - - React-cxxreact (= 0.64.0) - - React-jsi (= 0.64.0) - - React-jsiexecutor (= 0.64.0) - - React-perflogger (= 0.64.0) + - React-Core/Default (= 0.64.1) + - React-cxxreact (= 0.64.1) + - React-jsi (= 0.64.1) + - React-jsiexecutor (= 0.64.1) + - React-perflogger (= 0.64.1) - Yoga - - React-Core/CoreModulesHeaders (0.64.0): + - React-Core/CoreModulesHeaders (0.64.1): - glog - RCT-Folly (= 2020.01.13.00) - React-Core/Default - - React-cxxreact (= 0.64.0) - - React-jsi (= 0.64.0) - - React-jsiexecutor (= 0.64.0) - - React-perflogger (= 0.64.0) + - React-cxxreact (= 0.64.1) + - React-jsi (= 0.64.1) + - React-jsiexecutor (= 0.64.1) + - React-perflogger (= 0.64.1) - Yoga - - React-Core/Default (0.64.0): + - React-Core/Default (0.64.1): - glog - RCT-Folly (= 2020.01.13.00) - - React-cxxreact (= 0.64.0) - - React-jsi (= 0.64.0) - - React-jsiexecutor (= 0.64.0) - - React-perflogger (= 0.64.0) + - React-cxxreact (= 0.64.1) + - React-jsi (= 0.64.1) + - React-jsiexecutor (= 0.64.1) + - React-perflogger (= 0.64.1) - Yoga - - React-Core/DevSupport (0.64.0): + - React-Core/DevSupport (0.64.1): - glog - RCT-Folly (= 2020.01.13.00) - - React-Core/Default (= 0.64.0) - - React-Core/RCTWebSocket (= 0.64.0) - - React-cxxreact (= 0.64.0) - - React-jsi (= 0.64.0) - - React-jsiexecutor (= 0.64.0) - - React-jsinspector (= 0.64.0) - - React-perflogger (= 0.64.0) + - React-Core/Default (= 0.64.1) + - React-Core/RCTWebSocket (= 0.64.1) + - React-cxxreact (= 0.64.1) + - React-jsi (= 0.64.1) + - React-jsiexecutor (= 0.64.1) + - React-jsinspector (= 0.64.1) + - React-perflogger (= 0.64.1) - Yoga - - React-Core/Hermes (0.64.0): + - React-Core/Hermes (0.64.1): - glog - hermes-engine - RCT-Folly (= 2020.01.13.00) - RCT-Folly/Futures - - React-cxxreact (= 0.64.0) - - React-jsi (= 0.64.0) - - React-jsiexecutor (= 0.64.0) - - React-perflogger (= 0.64.0) + - React-cxxreact (= 0.64.1) + - React-jsi (= 0.64.1) + - React-jsiexecutor (= 0.64.1) + - React-perflogger (= 0.64.1) - Yoga - - React-Core/RCTActionSheetHeaders (0.64.0): + - React-Core/RCTActionSheetHeaders (0.64.1): - glog - RCT-Folly (= 2020.01.13.00) - React-Core/Default - - React-cxxreact (= 0.64.0) - - React-jsi (= 0.64.0) - - React-jsiexecutor (= 0.64.0) - - React-perflogger (= 0.64.0) + - React-cxxreact (= 0.64.1) + - React-jsi (= 0.64.1) + - React-jsiexecutor (= 0.64.1) + - React-perflogger (= 0.64.1) - Yoga - - React-Core/RCTAnimationHeaders (0.64.0): + - React-Core/RCTAnimationHeaders (0.64.1): - glog - RCT-Folly (= 2020.01.13.00) - React-Core/Default - - React-cxxreact (= 0.64.0) - - React-jsi (= 0.64.0) - - React-jsiexecutor (= 0.64.0) - - React-perflogger (= 0.64.0) + - React-cxxreact (= 0.64.1) + - React-jsi (= 0.64.1) + - React-jsiexecutor (= 0.64.1) + - React-perflogger (= 0.64.1) - Yoga - - React-Core/RCTBlobHeaders (0.64.0): + - React-Core/RCTBlobHeaders (0.64.1): - glog - RCT-Folly (= 2020.01.13.00) - React-Core/Default - - React-cxxreact (= 0.64.0) - - React-jsi (= 0.64.0) - - React-jsiexecutor (= 0.64.0) - - React-perflogger (= 0.64.0) + - React-cxxreact (= 0.64.1) + - React-jsi (= 0.64.1) + - React-jsiexecutor (= 0.64.1) + - React-perflogger (= 0.64.1) - Yoga - - React-Core/RCTImageHeaders (0.64.0): + - React-Core/RCTImageHeaders (0.64.1): - glog - RCT-Folly (= 2020.01.13.00) - React-Core/Default - - React-cxxreact (= 0.64.0) - - React-jsi (= 0.64.0) - - React-jsiexecutor (= 0.64.0) - - React-perflogger (= 0.64.0) + - React-cxxreact (= 0.64.1) + - React-jsi (= 0.64.1) + - React-jsiexecutor (= 0.64.1) + - React-perflogger (= 0.64.1) - Yoga - - React-Core/RCTLinkingHeaders (0.64.0): + - React-Core/RCTLinkingHeaders (0.64.1): - glog - RCT-Folly (= 2020.01.13.00) - React-Core/Default - - React-cxxreact (= 0.64.0) - - React-jsi (= 0.64.0) - - React-jsiexecutor (= 0.64.0) - - React-perflogger (= 0.64.0) + - React-cxxreact (= 0.64.1) + - React-jsi (= 0.64.1) + - React-jsiexecutor (= 0.64.1) + - React-perflogger (= 0.64.1) - Yoga - - React-Core/RCTNetworkHeaders (0.64.0): + - React-Core/RCTNetworkHeaders (0.64.1): - glog - RCT-Folly (= 2020.01.13.00) - React-Core/Default - - React-cxxreact (= 0.64.0) - - React-jsi (= 0.64.0) - - React-jsiexecutor (= 0.64.0) - - React-perflogger (= 0.64.0) + - React-cxxreact (= 0.64.1) + - React-jsi (= 0.64.1) + - React-jsiexecutor (= 0.64.1) + - React-perflogger (= 0.64.1) - Yoga - - React-Core/RCTSettingsHeaders (0.64.0): + - React-Core/RCTSettingsHeaders (0.64.1): - glog - RCT-Folly (= 2020.01.13.00) - React-Core/Default - - React-cxxreact (= 0.64.0) - - React-jsi (= 0.64.0) - - React-jsiexecutor (= 0.64.0) - - React-perflogger (= 0.64.0) + - React-cxxreact (= 0.64.1) + - React-jsi (= 0.64.1) + - React-jsiexecutor (= 0.64.1) + - React-perflogger (= 0.64.1) - Yoga - - React-Core/RCTTextHeaders (0.64.0): + - React-Core/RCTTextHeaders (0.64.1): - glog - RCT-Folly (= 2020.01.13.00) - React-Core/Default - - React-cxxreact (= 0.64.0) - - React-jsi (= 0.64.0) - - React-jsiexecutor (= 0.64.0) - - React-perflogger (= 0.64.0) + - React-cxxreact (= 0.64.1) + - React-jsi (= 0.64.1) + - React-jsiexecutor (= 0.64.1) + - React-perflogger (= 0.64.1) - Yoga - - React-Core/RCTVibrationHeaders (0.64.0): + - React-Core/RCTVibrationHeaders (0.64.1): - glog - RCT-Folly (= 2020.01.13.00) - React-Core/Default - - React-cxxreact (= 0.64.0) - - React-jsi (= 0.64.0) - - React-jsiexecutor (= 0.64.0) - - React-perflogger (= 0.64.0) + - React-cxxreact (= 0.64.1) + - React-jsi (= 0.64.1) + - React-jsiexecutor (= 0.64.1) + - React-perflogger (= 0.64.1) - Yoga - - React-Core/RCTWebSocket (0.64.0): + - React-Core/RCTWebSocket (0.64.1): - glog - RCT-Folly (= 2020.01.13.00) - - React-Core/Default (= 0.64.0) - - React-cxxreact (= 0.64.0) - - React-jsi (= 0.64.0) - - React-jsiexecutor (= 0.64.0) - - React-perflogger (= 0.64.0) + - React-Core/Default (= 0.64.1) + - React-cxxreact (= 0.64.1) + - React-jsi (= 0.64.1) + - React-jsiexecutor (= 0.64.1) + - React-perflogger (= 0.64.1) - Yoga - - React-CoreModules (0.64.0): - - FBReactNativeSpec (= 0.64.0) + - React-CoreModules (0.64.1): + - FBReactNativeSpec (= 0.64.1) - RCT-Folly (= 2020.01.13.00) - - RCTTypeSafety (= 0.64.0) - - React-Core/CoreModulesHeaders (= 0.64.0) - - React-jsi (= 0.64.0) - - React-RCTImage (= 0.64.0) - - ReactCommon/turbomodule/core (= 0.64.0) - - React-cxxreact (0.64.0): + - RCTTypeSafety (= 0.64.1) + - React-Core/CoreModulesHeaders (= 0.64.1) + - React-jsi (= 0.64.1) + - React-RCTImage (= 0.64.1) + - ReactCommon/turbomodule/core (= 0.64.1) + - React-cxxreact (0.64.1): - boost-for-react-native (= 1.63.0) - DoubleConversion - glog - RCT-Folly (= 2020.01.13.00) - - React-callinvoker (= 0.64.0) - - React-jsi (= 0.64.0) - - React-jsinspector (= 0.64.0) - - React-perflogger (= 0.64.0) - - React-runtimeexecutor (= 0.64.0) - - React-jsi (0.64.0): + - React-callinvoker (= 0.64.1) + - React-jsi (= 0.64.1) + - React-jsinspector (= 0.64.1) + - React-perflogger (= 0.64.1) + - React-runtimeexecutor (= 0.64.1) + - React-jsi (0.64.1): - boost-for-react-native (= 1.63.0) - DoubleConversion - glog - RCT-Folly (= 2020.01.13.00) - - React-jsi/Default (= 0.64.0) - - React-jsi/Default (0.64.0): + - React-jsi/Default (= 0.64.1) + - React-jsi/Default (0.64.1): - boost-for-react-native (= 1.63.0) - DoubleConversion - glog - RCT-Folly (= 2020.01.13.00) - - React-jsiexecutor (0.64.0): + - React-jsiexecutor (0.64.1): - DoubleConversion - glog - RCT-Folly (= 2020.01.13.00) - - React-cxxreact (= 0.64.0) - - React-jsi (= 0.64.0) - - React-perflogger (= 0.64.0) - - React-jsinspector (0.64.0) + - React-cxxreact (= 0.64.1) + - React-jsi (= 0.64.1) + - React-perflogger (= 0.64.1) + - React-jsinspector (0.64.1) - react-native-blur (0.8.0): - React - react-native-maps (0.28.0): @@ -276,71 +276,71 @@ PODS: - React-Core - react-native-safe-area-context (3.2.0): - React-Core - - React-perflogger (0.64.0) - - React-RCTActionSheet (0.64.0): - - React-Core/RCTActionSheetHeaders (= 0.64.0) - - React-RCTAnimation (0.64.0): - - FBReactNativeSpec (= 0.64.0) + - React-perflogger (0.64.1) + - React-RCTActionSheet (0.64.1): + - React-Core/RCTActionSheetHeaders (= 0.64.1) + - React-RCTAnimation (0.64.1): + - FBReactNativeSpec (= 0.64.1) - RCT-Folly (= 2020.01.13.00) - - RCTTypeSafety (= 0.64.0) - - React-Core/RCTAnimationHeaders (= 0.64.0) - - React-jsi (= 0.64.0) - - ReactCommon/turbomodule/core (= 0.64.0) - - React-RCTBlob (0.64.0): - - FBReactNativeSpec (= 0.64.0) + - RCTTypeSafety (= 0.64.1) + - React-Core/RCTAnimationHeaders (= 0.64.1) + - React-jsi (= 0.64.1) + - ReactCommon/turbomodule/core (= 0.64.1) + - React-RCTBlob (0.64.1): + - FBReactNativeSpec (= 0.64.1) - RCT-Folly (= 2020.01.13.00) - - React-Core/RCTBlobHeaders (= 0.64.0) - - React-Core/RCTWebSocket (= 0.64.0) - - React-jsi (= 0.64.0) - - React-RCTNetwork (= 0.64.0) - - ReactCommon/turbomodule/core (= 0.64.0) - - React-RCTImage (0.64.0): - - FBReactNativeSpec (= 0.64.0) + - React-Core/RCTBlobHeaders (= 0.64.1) + - React-Core/RCTWebSocket (= 0.64.1) + - React-jsi (= 0.64.1) + - React-RCTNetwork (= 0.64.1) + - ReactCommon/turbomodule/core (= 0.64.1) + - React-RCTImage (0.64.1): + - FBReactNativeSpec (= 0.64.1) - RCT-Folly (= 2020.01.13.00) - - RCTTypeSafety (= 0.64.0) - - React-Core/RCTImageHeaders (= 0.64.0) - - React-jsi (= 0.64.0) - - React-RCTNetwork (= 0.64.0) - - ReactCommon/turbomodule/core (= 0.64.0) - - React-RCTLinking (0.64.0): - - FBReactNativeSpec (= 0.64.0) - - React-Core/RCTLinkingHeaders (= 0.64.0) - - React-jsi (= 0.64.0) - - ReactCommon/turbomodule/core (= 0.64.0) - - React-RCTNetwork (0.64.0): - - FBReactNativeSpec (= 0.64.0) + - RCTTypeSafety (= 0.64.1) + - React-Core/RCTImageHeaders (= 0.64.1) + - React-jsi (= 0.64.1) + - React-RCTNetwork (= 0.64.1) + - ReactCommon/turbomodule/core (= 0.64.1) + - React-RCTLinking (0.64.1): + - FBReactNativeSpec (= 0.64.1) + - React-Core/RCTLinkingHeaders (= 0.64.1) + - React-jsi (= 0.64.1) + - ReactCommon/turbomodule/core (= 0.64.1) + - React-RCTNetwork (0.64.1): + - FBReactNativeSpec (= 0.64.1) - RCT-Folly (= 2020.01.13.00) - - RCTTypeSafety (= 0.64.0) - - React-Core/RCTNetworkHeaders (= 0.64.0) - - React-jsi (= 0.64.0) - - ReactCommon/turbomodule/core (= 0.64.0) - - React-RCTSettings (0.64.0): - - FBReactNativeSpec (= 0.64.0) + - RCTTypeSafety (= 0.64.1) + - React-Core/RCTNetworkHeaders (= 0.64.1) + - React-jsi (= 0.64.1) + - ReactCommon/turbomodule/core (= 0.64.1) + - React-RCTSettings (0.64.1): + - FBReactNativeSpec (= 0.64.1) - RCT-Folly (= 2020.01.13.00) - - RCTTypeSafety (= 0.64.0) - - React-Core/RCTSettingsHeaders (= 0.64.0) - - React-jsi (= 0.64.0) - - ReactCommon/turbomodule/core (= 0.64.0) - - React-RCTText (0.64.0): - - React-Core/RCTTextHeaders (= 0.64.0) - - React-RCTVibration (0.64.0): - - FBReactNativeSpec (= 0.64.0) + - RCTTypeSafety (= 0.64.1) + - React-Core/RCTSettingsHeaders (= 0.64.1) + - React-jsi (= 0.64.1) + - ReactCommon/turbomodule/core (= 0.64.1) + - React-RCTText (0.64.1): + - React-Core/RCTTextHeaders (= 0.64.1) + - React-RCTVibration (0.64.1): + - FBReactNativeSpec (= 0.64.1) - RCT-Folly (= 2020.01.13.00) - - React-Core/RCTVibrationHeaders (= 0.64.0) - - React-jsi (= 0.64.0) - - ReactCommon/turbomodule/core (= 0.64.0) - - React-runtimeexecutor (0.64.0): - - React-jsi (= 0.64.0) - - ReactCommon/turbomodule/core (0.64.0): + - React-Core/RCTVibrationHeaders (= 0.64.1) + - React-jsi (= 0.64.1) + - ReactCommon/turbomodule/core (= 0.64.1) + - React-runtimeexecutor (0.64.1): + - React-jsi (= 0.64.1) + - ReactCommon/turbomodule/core (0.64.1): - DoubleConversion - glog - RCT-Folly (= 2020.01.13.00) - - React-callinvoker (= 0.64.0) - - React-Core (= 0.64.0) - - React-cxxreact (= 0.64.0) - - React-jsi (= 0.64.0) - - React-perflogger (= 0.64.0) - - RNCMaskedView (0.1.10): + - React-callinvoker (= 0.64.1) + - React-Core (= 0.64.1) + - React-cxxreact (= 0.64.1) + - React-jsi (= 0.64.1) + - React-perflogger (= 0.64.1) + - RNCMaskedView (0.1.11): - React - RNGestureHandler (1.10.3): - React-Core @@ -535,8 +535,8 @@ SPEC CHECKSUMS: boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99 DoubleConversion: cf9b38bf0b2d048436d9a82ad2abe1404f11e7de - FBLazyVector: 49cbe4b43e445b06bf29199b6ad2057649e4c8f5 - FBReactNativeSpec: c426cca9d43fd70ac19a77e504a6fd12ecb473f6 + FBLazyVector: 7b423f9e248eae65987838148c36eec1dbfe0b53 + FBReactNativeSpec: 9d8115c36a99910daf73c86418be916ff6db1da9 Flipper: da2ca681187fb82c668a2c3c54b003cbd3c26859 Flipper-DoubleConversion: 38631e41ef4f9b12861c67d17cb5518d06badc41 Flipper-Folly: 755929a4f851b2fb2c347d533a23f191b008554c @@ -549,37 +549,37 @@ SPEC CHECKSUMS: libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 OpenSSL-Universal: 1aa4f6a6ee7256b83db99ec1ccdaa80d10f9af9b RCT-Folly: ec7a233ccc97cc556cf7237f0db1ff65b986f27c - RCTRequired: 2f8cb5b7533219bf4218a045f92768129cf7050a - RCTTypeSafety: 512728b73549e72ad7330b92f3d42936f2a4de5b - React: 98eac01574128a790f0bbbafe2d1a8607291ac24 - React-callinvoker: def3f7fae16192df68d9b69fd4bbb59092ee36bc - React-Core: 70a52aa5dbe9b83befae82038451a7df9fd54c5a - React-CoreModules: 052edef46117862e2570eb3a0f06d81c61d2c4b8 - React-cxxreact: c1dc71b30653cfb4770efdafcbdc0ad6d388baab - React-jsi: 74341196d9547cbcbcfa4b3bbbf03af56431d5a1 - React-jsiexecutor: 06a9c77b56902ae7ffcdd7a4905f664adc5d237b - React-jsinspector: 0ae35a37b20d5e031eb020a69cc5afdbd6406301 + RCTRequired: ec2ebc96b7bfba3ca5c32740f5a0c6a014a274d2 + RCTTypeSafety: 22567f31e67c3e088c7ac23ea46ab6d4779c0ea5 + React: a241e3dbb1e91d06332f1dbd2b3ab26e1a4c4b9d + React-callinvoker: da4d1c6141696a00163960906bc8a55b985e4ce4 + React-Core: 46ba164c437d7dac607b470c83c8308b05799748 + React-CoreModules: 217bd14904491c7b9940ff8b34a3fe08013c2f14 + React-cxxreact: 0090588ae6660c4615d3629fdd5c768d0983add4 + React-jsi: 5de8204706bd872b78ea646aee5d2561ca1214b6 + React-jsiexecutor: 124e8f99992490d0d13e0649d950d3e1aae06fe9 + React-jsinspector: 500a59626037be5b3b3d89c5151bc3baa9abf1a9 react-native-blur: cad4d93b364f91e7b7931b3fa935455487e5c33c react-native-maps: 2d405b4e8cee0282e4c02bac434d81450dfea877 react-native-pager-view: c0c3833fbf06f3c63fb0ef8c4125bf1363b073d8 react-native-safe-area-context: f0906bf8bc9835ac9a9d3f97e8bde2a997d8da79 - React-perflogger: 9c547d8f06b9bf00cb447f2b75e8d7f19b7e02af - React-RCTActionSheet: 3080b6e12e0e1a5b313c8c0050699b5c794a1b11 - React-RCTAnimation: 3f96f21a497ae7dabf4d2f150ee43f906aaf516f - React-RCTBlob: 283b8e5025e7f954176bc48164f846909002f3ed - React-RCTImage: 5088a484faac78f2d877e1b79125d3bb1ea94a16 - React-RCTLinking: 5e8fbb3e9a8bc2e4e3eb15b1eb8bda5fcac27b8c - React-RCTNetwork: 38ec277217b1e841d5e6a1fa78da65b9212ccb28 - React-RCTSettings: 242d6e692108c3de4f3bb74b7586a8799e9ab070 - React-RCTText: 8746736ac8eb5a4a74719aa695b7a236a93a83d2 - React-RCTVibration: 0fd6b21751a33cb72fce1a4a33ab9678416d307a - React-runtimeexecutor: cad74a1eaa53ee6e7a3620231939d8fe2c6afcf0 - ReactCommon: cfe2b7fd20e0dbd2d1185cd7d8f99633fbc5ff05 - RNCMaskedView: 5a8ec07677aa885546a0d98da336457e2bea557f + React-perflogger: aad6d4b4a267936b3667260d1f649b6f6069a675 + React-RCTActionSheet: fc376be462c9c8d6ad82c0905442fd77f82a9d2a + React-RCTAnimation: ba0a1c3a2738be224a08092fa7f1b444ab77d309 + React-RCTBlob: f758d4403fc5828a326dc69e27b41e1a92f34947 + React-RCTImage: ce57088705f4a8d03f6594b066a59c29143ba73e + React-RCTLinking: 852a3a95c65fa63f657a4b4e2d3d83a815e00a7c + React-RCTNetwork: 9d7ccb8a08d522d71700b4fb677d9fa28cccd118 + React-RCTSettings: d8aaf4389ff06114dee8c42ef5f0f2915946011e + React-RCTText: 809c12ed6b261796ba056c04fcd20d8b90bcc81d + React-RCTVibration: 4b99a7f5c6c0abbc5256410cc5425fb8531986e1 + React-runtimeexecutor: ff951a0c241bfaefc4940a3f1f1a229e7cb32fa6 + ReactCommon: bedc99ed4dae329c4fcf128d0c31b9115e5365ca + RNCMaskedView: 0e1bc4bfa8365eba5fbbb71e07fbdc0555249489 RNGestureHandler: a479ebd5ed4221a810967000735517df0d2db211 RNReanimated: b8c8004b43446e3c2709fe64b2b41072f87428ad RNScreens: bd1523c3bde7069b8e958e5a16e1fc7722ad0bdd - Yoga: 8c8436d4171c87504c648ae23b1d81242bdf3bbf + Yoga: a7de31c64fe738607e7a3803e3f591a4b1df7393 YogaKit: f782866e155069a2cca2517aafea43200b01fd5a PODFILE CHECKSUM: 2f4ae4d58ce330d6cb052a4c2a4ba7c0b027700e diff --git a/example/package.json b/example/package.json index cfee2d2fb..e9d1ee34b 100644 --- a/example/package.json +++ b/example/package.json @@ -13,14 +13,14 @@ "@gorhom/portal": "^1.0.4", "@gorhom/showcase-template": "^2.0.4", "@react-native-community/blur": "^3.6.0", - "@react-native-community/masked-view": "0.1.10", + "@react-native-community/masked-view": "0.1.11", "@react-navigation/material-top-tabs": "^5.3.15", "@react-navigation/native": "^5.9.4", "@react-navigation/stack": "^5.14.4", "faker": "^4.1.0", "nanoid": "^3.1.20", "react": "17.0.1", - "react-native": "facebook/react-native#cf8a364767df830d7255339741350bb53ab1a68a", + "react-native": "0.64.1", "react-native-gesture-handler": "^1.10.3", "react-native-maps": "^0.28.0", "react-native-pager-view": "^5.1.5", diff --git a/example/yarn.lock b/example/yarn.lock index 30d950f26..6805ab8e5 100644 --- a/example/yarn.lock +++ b/example/yarn.lock @@ -1177,10 +1177,10 @@ sudo-prompt "^9.0.0" wcwidth "^1.0.1" -"@react-native-community/masked-view@0.1.10": - version "0.1.10" - resolved "https://registry.yarnpkg.com/@react-native-community/masked-view/-/masked-view-0.1.10.tgz#5dda643e19e587793bc2034dd9bf7398ad43d401" - integrity sha512-rk4sWFsmtOw8oyx8SD3KSvawwaK7gRBSEIy2TAwURyGt+3TizssXP1r8nx3zY+R7v2vYYHXZ+k2/GULAT/bcaQ== +"@react-native-community/masked-view@0.1.11": + version "0.1.11" + resolved "https://registry.yarnpkg.com/@react-native-community/masked-view/-/masked-view-0.1.11.tgz#2f4c6e10bee0786abff4604e39a37ded6f3980ce" + integrity sha512-rQfMIGSR/1r/SyN87+VD8xHHzDYeHaJq6elOSCAD+0iLagXkSI2pfA0LmSXP21uw5i3em7GkkRjfJ8wpqWXZNw== "@react-native/assets@1.0.0": version "1.0.0" @@ -3902,9 +3902,10 @@ react-native-tab-view@^3.0.1: resolved "https://registry.yarnpkg.com/react-native-tab-view/-/react-native-tab-view-3.0.1.tgz#7ed8c5c4a0bb48fa8895e612d26e6d545ed03447" integrity sha512-L7qXtYz5Z+NdWyu38zaJrlHA/8H6rNFRZXe3ydym12UEEPPoefbVZ71b9YK2O6QP0u4pUlzMpMVM/Lsz2DJ4jg== -react-native@facebook/react-native#cf8a364767df830d7255339741350bb53ab1a68a: - version "0.64.0" - resolved "https://codeload.github.com/facebook/react-native/tar.gz/cf8a364767df830d7255339741350bb53ab1a68a" +react-native@0.64.1: + version "0.64.1" + resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.64.1.tgz#cd38f5b47b085549686f34eb0c9dcd466f307635" + integrity sha512-jvSj+hNAfwvhaSmxd5KHJ5HidtG0pDXzoH6DaqNpU74g3CmAiA8vuk58B5yx/DYuffGq6PeMniAcwuh3Xp4biQ== dependencies: "@jest/create-cache-key-function" "^26.5.0" "@react-native-community/cli" "^5.0.1-alpha.0" From 929572a403e96cbcae685a4dcdf3256c0af27103 Mon Sep 17 00:00:00 2001 From: Mo Gorhom Date: Sat, 15 May 2021 17:08:38 +0100 Subject: [PATCH 2/5] chore: updated react/react native types --- example/package.json | 4 ++-- example/yarn.lock | 16 ++++++++-------- package.json | 4 ++-- yarn.lock | 22 ++++++++++++++-------- 4 files changed, 26 insertions(+), 20 deletions(-) diff --git a/example/package.json b/example/package.json index e9d1ee34b..0e246e4aa 100644 --- a/example/package.json +++ b/example/package.json @@ -34,8 +34,8 @@ "@babel/core": "^7.13.10", "@babel/runtime": "^7.13.10", "@types/faker": "^4.1.12", - "@types/react": "^17.0.3", - "@types/react-native": "^0.64.4", + "@types/react": "^17.0.5", + "@types/react-native": "^0.64.5", "metro-react-native-babel-preset": "^0.65.2", "typescript": "^4.2.4" } diff --git a/example/yarn.lock b/example/yarn.lock index 6805ab8e5..82dc1fc24 100644 --- a/example/yarn.lock +++ b/example/yarn.lock @@ -1312,10 +1312,10 @@ resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.3.tgz#2ab0d5da2e5815f94b0b9d4b95d1e5f243ab2ca7" integrity sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw== -"@types/react-native@^0.64.4": - version "0.64.4" - resolved "https://registry.yarnpkg.com/@types/react-native/-/react-native-0.64.4.tgz#9f11bef7dd5520801884829c73b19d75aa42e73c" - integrity sha512-VqnlmadGkD5usREvnuyVpWDS1W8f6cCz6MP5fZdgONsaZ9/Ijfb9Iq9MZ5O3bnW1OyJixDX9HtSp3COsFSLD8Q== +"@types/react-native@^0.64.5": + version "0.64.5" + resolved "https://registry.yarnpkg.com/@types/react-native/-/react-native-0.64.5.tgz#219738b52b2e372ec057d3c8f20fbd6c37b245cd" + integrity sha512-k0r8MnQX7UFboZDvMKLov26gFLXKrNgLhCfSVhjaZ6wMUofKijxvee7/wgfAqtT2zS5FR4an4+qn0r72SCbw3g== dependencies: "@types/react" "*" @@ -1327,10 +1327,10 @@ "@types/prop-types" "*" csstype "^3.0.2" -"@types/react@^17.0.3": - version "17.0.3" - resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.3.tgz#ba6e215368501ac3826951eef2904574c262cc79" - integrity sha512-wYOUxIgs2HZZ0ACNiIayItyluADNbONl7kt8lkLjVK8IitMH5QMyAh75Fwhmo37r1m7L2JaFj03sIfxBVDvRAg== +"@types/react@^17.0.5": + version "17.0.5" + resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.5.tgz#3d887570c4489011f75a3fc8f965bf87d09a1bea" + integrity sha512-bj4biDB9ZJmGAYTWSKJly6bMr4BLUiBrx9ujiJEoP9XIDY9CTaPGxE5QWN/1WjpPLzYF7/jRNnV2nNxNe970sw== dependencies: "@types/prop-types" "*" "@types/scheduler" "*" diff --git a/package.json b/package.json index 77e0e6c9a..7a8882194 100644 --- a/package.json +++ b/package.json @@ -48,8 +48,8 @@ "@react-native-community/eslint-config": "^2.0.0", "@release-it/conventional-changelog": "^2.0.0", "@types/invariant": "^2.2.34", - "@types/react": "^16.9.46", - "@types/react-native": "^0.63.8", + "@types/react": "^17.0.5", + "@types/react-native": "^0.64.5", "auto-changelog": "^2.2.1", "copyfiles": "^2.4.1", "eslint": "^7.24.0", diff --git a/yarn.lock b/yarn.lock index dbfc6656c..57de48c96 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2232,10 +2232,10 @@ resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.3.tgz#2ab0d5da2e5815f94b0b9d4b95d1e5f243ab2ca7" integrity sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw== -"@types/react-native@^0.63.8": - version "0.63.8" - resolved "https://registry.yarnpkg.com/@types/react-native/-/react-native-0.63.8.tgz#73ec087122c64c309eeaf150b565b8d755f0fb1f" - integrity sha512-QRwGFRTyGafRVTUS+0GYyJrlpmS3boyBaFI0ULSc+mh/lQNxrzbdQvoL2k5X7+t9hxyqA4dTQAlP6l0ir/fNJQ== +"@types/react-native@^0.64.5": + version "0.64.5" + resolved "https://registry.yarnpkg.com/@types/react-native/-/react-native-0.64.5.tgz#219738b52b2e372ec057d3c8f20fbd6c37b245cd" + integrity sha512-k0r8MnQX7UFboZDvMKLov26gFLXKrNgLhCfSVhjaZ6wMUofKijxvee7/wgfAqtT2zS5FR4an4+qn0r72SCbw3g== dependencies: "@types/react" "*" @@ -2247,12 +2247,13 @@ "@types/prop-types" "*" csstype "^3.0.2" -"@types/react@^16.9.46": - version "16.9.46" - resolved "https://registry.yarnpkg.com/@types/react/-/react-16.9.46.tgz#f0326cd7adceda74148baa9bff6e918632f5069e" - integrity sha512-dbHzO3aAq1lB3jRQuNpuZ/mnu+CdD3H0WVaaBQA8LTT3S33xhVBUj232T8M3tAhSWJs/D/UqORYUlJNl/8VQZg== +"@types/react@^17.0.5": + version "17.0.5" + resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.5.tgz#3d887570c4489011f75a3fc8f965bf87d09a1bea" + integrity sha512-bj4biDB9ZJmGAYTWSKJly6bMr4BLUiBrx9ujiJEoP9XIDY9CTaPGxE5QWN/1WjpPLzYF7/jRNnV2nNxNe970sw== dependencies: "@types/prop-types" "*" + "@types/scheduler" "*" csstype "^3.0.2" "@types/responselike@*", "@types/responselike@^1.0.0": @@ -2262,6 +2263,11 @@ dependencies: "@types/node" "*" +"@types/scheduler@*": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.1.tgz#18845205e86ff0038517aab7a18a62a6b9f71275" + integrity sha512-EaCxbanVeyxDRTQBkdLb3Bvl/HK7PBK6UJjsSixB0iHKoWxE5uu2Q/DgtpOhPIojN0Zl1whvOd7PoHs2P0s5eA== + "@types/stack-utils@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" From 9e9121f232045af9fbe33111766267b7a6d17f3d Mon Sep 17 00:00:00 2001 From: Mo Gorhom Date: Sat, 15 May 2021 17:11:24 +0100 Subject: [PATCH 3/5] chore: updated scrollable hooks --- src/hooks/useScrollable.ts | 3 +-- src/hooks/useScrollableInternal.ts | 6 ++---- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/src/hooks/useScrollable.ts b/src/hooks/useScrollable.ts index fe71f4a71..9fddb0bdf 100644 --- a/src/hooks/useScrollable.ts +++ b/src/hooks/useScrollable.ts @@ -54,11 +54,10 @@ export const useScrollable = () => { }, []); const flashScrollableIndicators = useCallback(() => { - let type = scrollableRef.current?.type ?? undefined; let node = scrollableRef.current?.node ?? undefined; let didResize = scrollableRef.current?.didResize ?? false; - if (!type || !node) { + if (!node) { return; } diff --git a/src/hooks/useScrollableInternal.ts b/src/hooks/useScrollableInternal.ts index 08fe460f6..01acfa99a 100644 --- a/src/hooks/useScrollableInternal.ts +++ b/src/hooks/useScrollableInternal.ts @@ -9,14 +9,14 @@ import { useAnimatedProps, } from 'react-native-reanimated'; import { useBottomSheetInternal } from './useBottomSheetInternal'; -import type { Scrollable, ScrollableType } from '../types'; +import type { Scrollable } from '../types'; import { ANIMATION_STATE, SCROLLABLE_DECELERATION_RATE_MAPPER, SCROLLABLE_STATE, } from '../constants'; -export const useScrollableInternal = (type: ScrollableType) => { +export const useScrollableInternal = () => { // refs const scrollableRef = useAnimatedRef(); const scrollableContentOffsetY = useSharedValue(0); @@ -101,7 +101,6 @@ export const useScrollableInternal = (type: ScrollableType) => { if (id) { setScrollableRef({ id: id, - type, node: scrollableRef, didResize: false, }); @@ -118,7 +117,6 @@ export const useScrollableInternal = (type: ScrollableType) => { scrollableContentOffsetY, scrollableRef, setScrollableRef, - type, ]); return { From f43ecaf7a14d28493effb8575f9236a440bcf0f0 Mon Sep 17 00:00:00 2001 From: Mo Gorhom Date: Sat, 15 May 2021 17:13:24 +0100 Subject: [PATCH 4/5] chore: deleted old scrollable components --- src/components/flatList/FlatList.tsx | 85 ---------------------- src/components/flatList/index.ts | 1 - src/components/flatList/styles.ts | 7 -- src/components/flatList/types.d.ts | 83 --------------------- src/components/scrollView/ScrollView.tsx | 84 --------------------- src/components/scrollView/index.ts | 1 - src/components/scrollView/styles.ts | 7 -- src/components/scrollView/types.d.ts | 69 ------------------ src/components/sectionList/SectionList.tsx | 85 ---------------------- src/components/sectionList/index.ts | 1 - src/components/sectionList/styles.ts | 7 -- src/components/sectionList/types.d.ts | 48 ------------ 12 files changed, 478 deletions(-) delete mode 100644 src/components/flatList/FlatList.tsx delete mode 100644 src/components/flatList/index.ts delete mode 100644 src/components/flatList/styles.ts delete mode 100644 src/components/flatList/types.d.ts delete mode 100644 src/components/scrollView/ScrollView.tsx delete mode 100644 src/components/scrollView/index.ts delete mode 100644 src/components/scrollView/styles.ts delete mode 100644 src/components/scrollView/types.d.ts delete mode 100644 src/components/sectionList/SectionList.tsx delete mode 100644 src/components/sectionList/index.ts delete mode 100644 src/components/sectionList/styles.ts delete mode 100644 src/components/sectionList/types.d.ts diff --git a/src/components/flatList/FlatList.tsx b/src/components/flatList/FlatList.tsx deleted file mode 100644 index 788dde9d3..000000000 --- a/src/components/flatList/FlatList.tsx +++ /dev/null @@ -1,85 +0,0 @@ -import React, { - forwardRef, - Ref, - useRef, - useImperativeHandle, - useEffect, - memo, -} from 'react'; -import { - FlatList as RNFlatList, - FlatListProps as RNFlatListProps, -} from 'react-native'; -import Animated from 'react-native-reanimated'; -import { NativeViewGestureHandler } from 'react-native-gesture-handler'; -import BottomSheetDraggableView from '../bottomSheetDraggableView'; -import { useScrollableInternal, useBottomSheetInternal } from '../../hooks'; -import type { - BottomSheetFlatListProps, - BottomSheetFlatListType, -} from './types'; -import { styles } from './styles'; - -const AnimatedFlatList = Animated.createAnimatedComponent>( - RNFlatList -); - -const BottomSheetFlatListName = 'FlatList'; - -const BottomSheetFlatListComponent = forwardRef( - (props: BottomSheetFlatListProps, ref: Ref) => { - // props - const { - focusHook: useFocusHook = useEffect, - overScrollMode = 'never', - ...rest - } = props; - - // refs - const nativeGestureRef = useRef(null); - - // hooks - const { - scrollableRef, - scrollableAnimatedProps, - handleScrollEvent, - handleSettingScrollable, - } = useScrollableInternal(BottomSheetFlatListName); - const { enableContentPanningGesture } = useBottomSheetInternal(); - - // effects - // @ts-ignore - useImperativeHandle(ref, () => scrollableRef.current); - useFocusHook(handleSettingScrollable); - - // render - return ( - - - - - - ); - } -); - -const BottomSheetFlatList = memo(BottomSheetFlatListComponent); -BottomSheetFlatList.displayName = 'BottomSheetFlatList'; - -export default (BottomSheetFlatList as any) as typeof BottomSheetFlatListType; diff --git a/src/components/flatList/index.ts b/src/components/flatList/index.ts deleted file mode 100644 index bc7e47b75..000000000 --- a/src/components/flatList/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default } from './FlatList'; diff --git a/src/components/flatList/styles.ts b/src/components/flatList/styles.ts deleted file mode 100644 index 31e937d84..000000000 --- a/src/components/flatList/styles.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { StyleSheet } from 'react-native'; - -export const styles = StyleSheet.create({ - container: { - flex: 1, - }, -}); diff --git a/src/components/flatList/types.d.ts b/src/components/flatList/types.d.ts deleted file mode 100644 index 6646480db..000000000 --- a/src/components/flatList/types.d.ts +++ /dev/null @@ -1,83 +0,0 @@ -import type { Component, EffectCallback, DependencyList } from 'react'; -import type { FlatListProps as RNFlatListProps } from 'react-native'; - -type BottomSheetFlatListProps = Omit< - RNFlatListProps, - 'decelerationRate' | 'onScrollBeginDrag' | 'scrollEventThrottle' -> & { - /** - * This needed when bottom sheet used with multiple scrollables to allow bottom sheet detect the current scrollable ref, especially when used with `React Navigation`. You will need to provide `useFocusEffect` from `@react-navigation/native`. - * @type (effect: EffectCallback, deps?: DependencyList) => void - */ - focusHook?: (effect: EffectCallback, deps?: DependencyList) => void; -}; - -export class BottomSheetFlatListType extends Component< - BottomSheetFlatListProps -> { - /** - * Scrolls to the end of the content. May be janky without `getItemLayout` prop. - */ - scrollToEnd: (params?: { animated?: boolean | null }) => void; - - /** - * Scrolls to the item at the specified index such that it is positioned in the viewable area - * such that viewPosition 0 places it at the top, 1 at the bottom, and 0.5 centered in the middle. - * Cannot scroll to locations outside the render window without specifying the getItemLayout prop. - */ - scrollToIndex: (params: { - animated?: boolean | null; - index: number; - viewOffset?: number; - viewPosition?: number; - }) => void; - - /** - * Requires linear scan through data - use `scrollToIndex` instead if possible. - * May be janky without `getItemLayout` prop. - */ - scrollToItem: (params: { - animated?: boolean | null; - item: ItemT; - viewPosition?: number; - }) => void; - - /** - * Scroll to a specific content pixel offset, like a normal `ScrollView`. - */ - scrollToOffset: (params: { - animated?: boolean | null; - offset: number; - }) => void; - - /** - * Tells the list an interaction has occured, which should trigger viewability calculations, - * e.g. if waitForInteractions is true and the user has not scrolled. This is typically called - * by taps on items or by navigation actions. - */ - recordInteraction: () => void; - - /** - * Displays the scroll indicators momentarily. - */ - flashScrollIndicators: () => void; - - /** - * Provides a handle to the underlying scroll responder. - */ - getScrollResponder: () => JSX.Element | null | undefined; - - /** - * Provides a reference to the underlying host component - */ - getNativeScrollRef: () => - | React.RefObject - | React.RefObject - | null - | undefined; - - getScrollableNode: () => any; - - // TODO: use `unknown` instead of `any` for Typescript >= 3.0 - setNativeProps: (props: { [key: string]: any }) => void; -} diff --git a/src/components/scrollView/ScrollView.tsx b/src/components/scrollView/ScrollView.tsx deleted file mode 100644 index 8ce52654a..000000000 --- a/src/components/scrollView/ScrollView.tsx +++ /dev/null @@ -1,84 +0,0 @@ -import React, { - useRef, - useImperativeHandle, - useEffect, - forwardRef, - Ref, - memo, -} from 'react'; -import { - ScrollView as RNScrollView, - ScrollViewProps as RNScrollViewProps, -} from 'react-native'; -import Animated from 'react-native-reanimated'; -import { NativeViewGestureHandler } from 'react-native-gesture-handler'; -import BottomSheetDraggableView from '../bottomSheetDraggableView'; -import { useScrollableInternal, useBottomSheetInternal } from '../../hooks'; -import type { - BottomSheetScrollViewType, - BottomSheetScrollViewProps, -} from './types'; -import { styles } from './styles'; - -const AnimatedScrollView = Animated.createAnimatedComponent( - RNScrollView -); - -const BottomSheetScrollViewName = 'ScrollView'; - -const BottomSheetScrollViewComponent = forwardRef( - (props: BottomSheetScrollViewProps, ref: Ref) => { - // props - const { - focusHook: useFocusHook = useEffect, - overScrollMode = 'never', - ...rest - } = props; - - // refs - const nativeGestureRef = useRef(null); - - // hooks - const { - scrollableRef, - scrollableAnimatedProps, - handleScrollEvent, - handleSettingScrollable, - } = useScrollableInternal(BottomSheetScrollViewName); - const { enableContentPanningGesture } = useBottomSheetInternal(); - - // effects - // @ts-ignore - useImperativeHandle(ref, () => scrollableRef.current); - useFocusHook(handleSettingScrollable); - - return ( - - - - - - ); - } -); - -const BottomSheetScrollView = memo(BottomSheetScrollViewComponent); -BottomSheetScrollView.displayName = 'BottomSheetScrollView'; - -export default (BottomSheetScrollView as any) as typeof BottomSheetScrollViewType; diff --git a/src/components/scrollView/index.ts b/src/components/scrollView/index.ts deleted file mode 100644 index 2a7445dbf..000000000 --- a/src/components/scrollView/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default } from './ScrollView'; diff --git a/src/components/scrollView/styles.ts b/src/components/scrollView/styles.ts deleted file mode 100644 index 31e937d84..000000000 --- a/src/components/scrollView/styles.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { StyleSheet } from 'react-native'; - -export const styles = StyleSheet.create({ - container: { - flex: 1, - }, -}); diff --git a/src/components/scrollView/types.d.ts b/src/components/scrollView/types.d.ts deleted file mode 100644 index cf0ee48b8..000000000 --- a/src/components/scrollView/types.d.ts +++ /dev/null @@ -1,69 +0,0 @@ -import type { Component, EffectCallback, DependencyList } from 'react'; -import type { - ScrollViewProps as RNScrollViewProps, - ScrollResponderMixin, -} from 'react-native'; - -export type BottomSheetScrollViewProps = Omit< - RNScrollViewProps, - 'decelerationRate' | 'onScrollBeginDrag' | 'scrollEventThrottle' -> & { - children: React.ReactNode[] | React.ReactNode; - /** - * This needed when bottom sheet used with multiple scrollables to allow bottom sheet detect the current scrollable ref, especially when used with `React Navigation`. You will need to provide `useFocusEffect` from `@react-navigation/native`. - * @type (effect: EffectCallback, deps?: DependencyList) => void - */ - focusHook?: (effect: EffectCallback, deps?: DependencyList) => void; -}; - -type Constructor = new (...args: any[]) => T; - -declare class BottomSheetScrollViewComponent extends Component {} -declare const BottomSheetScrollViewBase: Constructor & - typeof BottomSheetScrollViewComponent; - -export class BottomSheetScrollViewType extends BottomSheetScrollViewBase { - /** - * Scrolls to a given x, y offset, either immediately or with a smooth animation. - * Syntax: - * - * scrollTo(options: {x: number = 0; y: number = 0; animated: boolean = true}) - * - * Note: The weird argument signature is due to the fact that, for historical reasons, - * the function also accepts separate arguments as an alternative to the options object. - * This is deprecated due to ambiguity (y before x), and SHOULD NOT BE USED. - */ - scrollTo( - y?: number | { x?: number; y?: number; animated?: boolean }, - x?: number, - animated?: boolean - ): void; - - /** - * A helper function that scrolls to the end of the scrollview; - * If this is a vertical ScrollView, it scrolls to the bottom. - * If this is a horizontal ScrollView scrolls to the right. - * - * The options object has an animated prop, that enables the scrolling animation or not. - * The animated prop defaults to true - */ - scrollToEnd(options?: { animated: boolean }): void; - - /** - * Returns a reference to the underlying scroll responder, which supports - * operations like `scrollTo`. All ScrollView-like components should - * implement this method so that they can be composed while providing access - * to the underlying scroll responder's methods. - */ - getScrollResponder(): JSX.Element; - - getScrollableNode(): any; - - // Undocumented - getInnerViewNode(): any; - - /** - * @deprecated Use scrollTo instead - */ - scrollWithoutAnimationTo?: (y: number, x: number) => void; -} diff --git a/src/components/sectionList/SectionList.tsx b/src/components/sectionList/SectionList.tsx deleted file mode 100644 index b0d1d133b..000000000 --- a/src/components/sectionList/SectionList.tsx +++ /dev/null @@ -1,85 +0,0 @@ -import React, { - useImperativeHandle, - useEffect, - useRef, - Ref, - forwardRef, - memo, -} from 'react'; -import { - SectionList as RNSectionList, - SectionListProps as RNSectionListProps, -} from 'react-native'; -import Animated from 'react-native-reanimated'; -import { NativeViewGestureHandler } from 'react-native-gesture-handler'; -import BottomSheetDraggableView from '../bottomSheetDraggableView'; -import { useScrollableInternal, useBottomSheetInternal } from '../../hooks'; -import type { - BottomSheetSectionListProps, - BottomSheetSectionListType, -} from './types'; -import { styles } from './styles'; - -const AnimatedSectionList = Animated.createAnimatedComponent< - RNSectionListProps ->(RNSectionList); - -const BottomSheetSectionListName = 'SectionList'; - -const BottomSheetSectionListComponent = forwardRef( - (props: BottomSheetSectionListProps, ref: Ref) => { - // props - const { - focusHook: useFocusHook = useEffect, - overScrollMode = 'never', - ...rest - } = props; - - // refs - const nativeGestureRef = useRef(null); - - // hooks - const { - scrollableRef, - scrollableAnimatedProps, - handleScrollEvent, - handleSettingScrollable, - } = useScrollableInternal(BottomSheetSectionListName); - const { enableContentPanningGesture } = useBottomSheetInternal(); - - // effects - // @ts-ignore - useImperativeHandle(ref, () => scrollableRef.current); - useFocusHook(handleSettingScrollable); - - // render - return ( - - - - - - ); - } -); - -const BottomSheetSectionList = memo(BottomSheetSectionListComponent); -BottomSheetSectionList.displayName = 'BottomSheetSectionList'; - -export default (BottomSheetSectionList as any) as typeof BottomSheetSectionListType; diff --git a/src/components/sectionList/index.ts b/src/components/sectionList/index.ts deleted file mode 100644 index f6a374b63..000000000 --- a/src/components/sectionList/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default } from './SectionList'; diff --git a/src/components/sectionList/styles.ts b/src/components/sectionList/styles.ts deleted file mode 100644 index 31e937d84..000000000 --- a/src/components/sectionList/styles.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { StyleSheet } from 'react-native'; - -export const styles = StyleSheet.create({ - container: { - flex: 1, - }, -}); diff --git a/src/components/sectionList/types.d.ts b/src/components/sectionList/types.d.ts deleted file mode 100644 index 82a15f013..000000000 --- a/src/components/sectionList/types.d.ts +++ /dev/null @@ -1,48 +0,0 @@ -import type { Component, EffectCallback, DependencyList } from 'react'; -import type { SectionListProps as RNSectionListProps } from 'react-native'; - -type BottomSheetSectionListProps = Omit< - RNSectionListProps, - 'decelerationRate' | 'onScrollBeginDrag' | 'scrollEventThrottle' -> & { - /** - * This needed when bottom sheet used with multiple scrollables to allow bottom sheet detect the current scrollable ref, especially when used with `React Navigation`. You will need to provide `useFocusEffect` from `@react-navigation/native`. - * @type (effect: EffectCallback, deps?: DependencyList) => void - */ - focusHook?: (effect: EffectCallback, deps?: DependencyList) => void; -}; - -export class BottomSheetSectionListType extends Component< - BottomSheetSectionListProps -> { - /** - * Scrolls to the item at the specified sectionIndex and itemIndex (within the section) - * positioned in the viewable area such that viewPosition 0 places it at the top - * (and may be covered by a sticky header), 1 at the bottom, and 0.5 centered in the middle. - */ - scrollToLocation(params: SectionListScrollParams): void; - - /** - * Tells the list an interaction has occurred, which should trigger viewability calculations, e.g. - * if `waitForInteractions` is true and the user has not scrolled. This is typically called by - * taps on items or by navigation actions. - */ - recordInteraction(): void; - - /** - * Displays the scroll indicators momentarily. - * - * @platform ios - */ - flashScrollIndicators(): void; - - /** - * Provides a handle to the underlying scroll responder. - */ - getScrollResponder(): ScrollView | undefined; - - /** - * Provides a handle to the underlying scroll node. - */ - getScrollableNode(): NodeHandle | undefined; -} From 226ed7fbf41d8a5be08df9a9afb20bb1dfd958ce Mon Sep 17 00:00:00 2001 From: Mo Gorhom Date: Sat, 15 May 2021 17:16:50 +0100 Subject: [PATCH 5/5] refactor: added the new generic scrollable method --- src/components/bottomSheet/BottomSheet.tsx | 1 + .../BottomSheetFlatList.tsx | 27 +++ .../BottomSheetScrollView.tsx | 27 +++ .../BottomSheetSectionList.tsx | 27 +++ .../createBottomSheetScrollableComponent.tsx | 68 ++++++ src/components/bottomSheetScrollable/index.ts | 9 + .../bottomSheetScrollable/styles.ts | 7 + .../bottomSheetScrollable/types.d.ts | 211 ++++++++++++++++++ src/index.ts | 51 +++-- src/types.d.ts | 1 - 10 files changed, 406 insertions(+), 23 deletions(-) create mode 100644 src/components/bottomSheetScrollable/BottomSheetFlatList.tsx create mode 100644 src/components/bottomSheetScrollable/BottomSheetScrollView.tsx create mode 100644 src/components/bottomSheetScrollable/BottomSheetSectionList.tsx create mode 100644 src/components/bottomSheetScrollable/createBottomSheetScrollableComponent.tsx create mode 100644 src/components/bottomSheetScrollable/index.ts create mode 100644 src/components/bottomSheetScrollable/styles.ts create mode 100644 src/components/bottomSheetScrollable/types.d.ts diff --git a/src/components/bottomSheet/BottomSheet.tsx b/src/components/bottomSheet/BottomSheet.tsx index dd114d034..1ef531858 100644 --- a/src/components/bottomSheet/BottomSheet.tsx +++ b/src/components/bottomSheet/BottomSheet.tsx @@ -1063,6 +1063,7 @@ const BottomSheetComponent = forwardRef( animatedPosition, animatedSheetHeight, animatedSheetState, + animatedScrollableState, animatedContainerHeight, animatedHandleHeight, isLayoutCalculated, diff --git a/src/components/bottomSheetScrollable/BottomSheetFlatList.tsx b/src/components/bottomSheetScrollable/BottomSheetFlatList.tsx new file mode 100644 index 000000000..dc9cf24a3 --- /dev/null +++ b/src/components/bottomSheetScrollable/BottomSheetFlatList.tsx @@ -0,0 +1,27 @@ +import { memo } from 'react'; +import { + FlatList as RNFlatList, + FlatListProps as RNFlatListProps, +} from 'react-native'; +import Animated from 'react-native-reanimated'; +import { createBottomSheetScrollableComponent } from './createBottomSheetScrollableComponent'; +import type { + BottomSheetFlatListMethods, + BottomSheetFlatListProps, +} from './types'; + +const AnimatedFlatList = Animated.createAnimatedComponent>( + RNFlatList +); + +const BottomSheetFlatListComponent = createBottomSheetScrollableComponent< + BottomSheetFlatListMethods, + BottomSheetFlatListProps +>(AnimatedFlatList); + +const BottomSheetFlatList = memo(BottomSheetFlatListComponent); +BottomSheetFlatList.displayName = 'BottomSheetFlatList'; + +export default BottomSheetFlatList as ( + props: BottomSheetFlatListProps +) => ReturnType; diff --git a/src/components/bottomSheetScrollable/BottomSheetScrollView.tsx b/src/components/bottomSheetScrollable/BottomSheetScrollView.tsx new file mode 100644 index 000000000..ed5d377f9 --- /dev/null +++ b/src/components/bottomSheetScrollable/BottomSheetScrollView.tsx @@ -0,0 +1,27 @@ +import { memo } from 'react'; +import { + ScrollView as RNScrollView, + ScrollViewProps as RNScrollViewProps, +} from 'react-native'; +import Animated from 'react-native-reanimated'; +import { createBottomSheetScrollableComponent } from './createBottomSheetScrollableComponent'; +import type { + BottomSheetScrollViewMethods, + BottomSheetScrollViewProps, +} from './types'; + +const AnimatedScrollView = Animated.createAnimatedComponent( + RNScrollView +); + +const BottomSheetScrollViewComponent = createBottomSheetScrollableComponent< + BottomSheetScrollViewMethods, + BottomSheetScrollViewProps +>(AnimatedScrollView); + +const BottomSheetScrollView = memo(BottomSheetScrollViewComponent); +BottomSheetScrollView.displayName = 'BottomSheetScrollView'; + +export default BottomSheetScrollView as ( + props: BottomSheetScrollViewProps +) => ReturnType; diff --git a/src/components/bottomSheetScrollable/BottomSheetSectionList.tsx b/src/components/bottomSheetScrollable/BottomSheetSectionList.tsx new file mode 100644 index 000000000..46b7c1311 --- /dev/null +++ b/src/components/bottomSheetScrollable/BottomSheetSectionList.tsx @@ -0,0 +1,27 @@ +import { memo } from 'react'; +import { + SectionList as RNSectionList, + SectionListProps as RNSectionListProps, +} from 'react-native'; +import Animated from 'react-native-reanimated'; +import { createBottomSheetScrollableComponent } from './createBottomSheetScrollableComponent'; +import type { + BottomSheetSectionListMethods, + BottomSheetSectionListProps, +} from './types'; + +const AnimatedSectionList = Animated.createAnimatedComponent< + RNSectionListProps +>(RNSectionList); + +const BottomSheetSectionListComponent = createBottomSheetScrollableComponent< + BottomSheetSectionListMethods, + BottomSheetSectionListProps +>(AnimatedSectionList); + +const BottomSheetSectionList = memo(BottomSheetSectionListComponent); +BottomSheetSectionList.displayName = 'BottomSheetSectionList'; + +export default BottomSheetSectionList as ( + props: BottomSheetSectionListProps +) => ReturnType; diff --git a/src/components/bottomSheetScrollable/createBottomSheetScrollableComponent.tsx b/src/components/bottomSheetScrollable/createBottomSheetScrollableComponent.tsx new file mode 100644 index 000000000..ee7381c92 --- /dev/null +++ b/src/components/bottomSheetScrollable/createBottomSheetScrollableComponent.tsx @@ -0,0 +1,68 @@ +import React, { + forwardRef, + useEffect, + useImperativeHandle, + useRef, +} from 'react'; +import { NativeViewGestureHandler } from 'react-native-gesture-handler'; +import BottomSheetDraggableView from '../bottomSheetDraggableView'; +import { useScrollableInternal, useBottomSheetInternal } from '../../hooks'; +import { styles } from './styles'; + +export function createBottomSheetScrollableComponent( + ScrollableComponent: any +) { + return forwardRef((props, ref) => { + // props + const { + focusHook: useFocusHook = useEffect, + overScrollMode = 'never', + ...rest + }: any = props; + + //#region refs + const nativeGestureRef = useRef(null); + //#endregion + + //#region hooks + const { + scrollableRef, + scrollableAnimatedProps, + handleScrollEvent, + handleSettingScrollable, + } = useScrollableInternal(); + const { enableContentPanningGesture } = useBottomSheetInternal(); + //#endregion + + //#region effects + // @ts-ignore + useImperativeHandle(ref, () => scrollableRef.current); + useFocusHook(handleSettingScrollable); + //#endregion + + //#region render + return ( + + + + + + ); + //#endregion + }); +} diff --git a/src/components/bottomSheetScrollable/index.ts b/src/components/bottomSheetScrollable/index.ts new file mode 100644 index 000000000..41f2c18f2 --- /dev/null +++ b/src/components/bottomSheetScrollable/index.ts @@ -0,0 +1,9 @@ +export { default as BottomSheetSectionList } from './BottomSheetSectionList'; +export { default as BottomSheetFlatList } from './BottomSheetFlatList'; +export { default as BottomSheetScrollView } from './BottomSheetScrollView'; + +export type { + BottomSheetFlatListMethods, + BottomSheetScrollViewMethods, + BottomSheetSectionListMethods, +} from './types'; diff --git a/src/components/bottomSheetScrollable/styles.ts b/src/components/bottomSheetScrollable/styles.ts new file mode 100644 index 000000000..31e937d84 --- /dev/null +++ b/src/components/bottomSheetScrollable/styles.ts @@ -0,0 +1,7 @@ +import { StyleSheet } from 'react-native'; + +export const styles = StyleSheet.create({ + container: { + flex: 1, + }, +}); diff --git a/src/components/bottomSheetScrollable/types.d.ts b/src/components/bottomSheetScrollable/types.d.ts new file mode 100644 index 000000000..4f2c2bde4 --- /dev/null +++ b/src/components/bottomSheetScrollable/types.d.ts @@ -0,0 +1,211 @@ +import type { ReactNode, Ref } from 'react'; +import type { + ScrollViewProps, + FlatListProps, + SectionListProps, +} from 'react-native'; +import type Animated from 'react-native-reanimated'; + +export interface BottomSheetScrollableProps { + /** + * This needed when bottom sheet used with multiple scrollables to allow bottom sheet + * detect the current scrollable ref, especially when used with `React Navigation`. + * You will need to provide `useFocusEffect` from `@react-navigation/native`. + * @type (effect: EffectCallback, deps?: DependencyList) => void + */ + focusHook?: (effect: EffectCallback, deps?: DependencyList) => void; + // contentContainerStyle?: StyleProp< + // Animated.AnimateStyle> + // >; +} + +export type ScrollableProps = + | ScrollViewProps + | FlatListProps + | SectionListProps; + +//#region FlatList +export type BottomSheetFlatListProps = Omit< + Animated.AnimateProps>, + 'decelerationRate' | 'onScrollBeginDrag' | 'scrollEventThrottle' +> & + BottomSheetScrollableProps & { + ref?: Ref; + }; + +export interface BottomSheetFlatListMethods { + /** + * Scrolls to the end of the content. May be janky without `getItemLayout` prop. + */ + scrollToEnd: (params?: { animated?: boolean | null }) => void; + + /** + * Scrolls to the item at the specified index such that it is positioned in the viewable area + * such that viewPosition 0 places it at the top, 1 at the bottom, and 0.5 centered in the middle. + * Cannot scroll to locations outside the render window without specifying the getItemLayout prop. + */ + scrollToIndex: (params: { + animated?: boolean | null; + index: number; + viewOffset?: number; + viewPosition?: number; + }) => void; + + /** + * Requires linear scan through data - use `scrollToIndex` instead if possible. + * May be janky without `getItemLayout` prop. + */ + scrollToItem: (params: { + animated?: boolean | null; + item: ItemT; + viewPosition?: number; + }) => void; + + /** + * Scroll to a specific content pixel offset, like a normal `ScrollView`. + */ + scrollToOffset: (params: { + animated?: boolean | null; + offset: number; + }) => void; + + /** + * Tells the list an interaction has occured, which should trigger viewability calculations, + * e.g. if waitForInteractions is true and the user has not scrolled. This is typically called + * by taps on items or by navigation actions. + */ + recordInteraction: () => void; + + /** + * Displays the scroll indicators momentarily. + */ + flashScrollIndicators: () => void; + + /** + * Provides a handle to the underlying scroll responder. + */ + getScrollResponder: () => JSX.Element | null | undefined; + + /** + * Provides a reference to the underlying host component + */ + getNativeScrollRef: () => + | React.RefObject + | React.RefObject + | null + | undefined; + + getScrollableNode: () => any; + + // TODO: use `unknown` instead of `any` for Typescript >= 3.0 + setNativeProps: (props: { [key: string]: any }) => void; +} +//#endregion + +//#region ScrollView +export type BottomSheetScrollViewProps = Omit< + Animated.AnimateProps, + 'decelerationRate' | 'onScrollBeginDrag' | 'scrollEventThrottle' +> & + BottomSheetScrollableProps & { + ref?: Ref; + children: ReactNode | ReactNode[]; + }; + +export interface BottomSheetScrollViewMethods { + /** + * Scrolls to a given x, y offset, either immediately or with a smooth animation. + * Syntax: + * + * scrollTo(options: {x: number = 0; y: number = 0; animated: boolean = true}) + * + * Note: The weird argument signature is due to the fact that, for historical reasons, + * the function also accepts separate arguments as an alternative to the options object. + * This is deprecated due to ambiguity (y before x), and SHOULD NOT BE USED. + */ + scrollTo( + y?: number | { x?: number; y?: number; animated?: boolean }, + x?: number, + animated?: boolean + ): void; + + /** + * A helper function that scrolls to the end of the scrollview; + * If this is a vertical ScrollView, it scrolls to the bottom. + * If this is a horizontal ScrollView scrolls to the right. + * + * The options object has an animated prop, that enables the scrolling animation or not. + * The animated prop defaults to true + */ + scrollToEnd(options?: { animated: boolean }): void; + + /** + * Returns a reference to the underlying scroll responder, which supports + * operations like `scrollTo`. All ScrollView-like components should + * implement this method so that they can be composed while providing access + * to the underlying scroll responder's methods. + */ + getScrollResponder(): JSX.Element; + + getScrollableNode(): any; + + // Undocumented + getInnerViewNode(): any; + + /** + * @deprecated Use scrollTo instead + */ + scrollWithoutAnimationTo?: (y: number, x: number) => void; + + /** + * This function sends props straight to native. They will not participate in + * future diff process - this means that if you do not include them in the + * next render, they will remain active (see [Direct + * Manipulation](https://reactnative.dev/docs/direct-manipulation)). + */ + setNativeProps(nativeProps: object): void; +} +//#endregion + +//#region SectionList +type BottomSheetSectionListProps = Omit< + Animated.AnimateProps>, + 'decelerationRate' | 'onScrollBeginDrag' | 'scrollEventThrottle' +> & + BottomSheetScrollableProps & { + ref?: Ref; + }; + +export interface BottomSheetSectionListMethods { + /** + * Scrolls to the item at the specified sectionIndex and itemIndex (within the section) + * positioned in the viewable area such that viewPosition 0 places it at the top + * (and may be covered by a sticky header), 1 at the bottom, and 0.5 centered in the middle. + */ + scrollToLocation(params: SectionListScrollParams): void; + + /** + * Tells the list an interaction has occurred, which should trigger viewability calculations, e.g. + * if `waitForInteractions` is true and the user has not scrolled. This is typically called by + * taps on items or by navigation actions. + */ + recordInteraction(): void; + + /** + * Displays the scroll indicators momentarily. + * + * @platform ios + */ + flashScrollIndicators(): void; + + /** + * Provides a handle to the underlying scroll responder. + */ + getScrollResponder(): ScrollView | undefined; + + /** + * Provides a handle to the underlying scroll node. + */ + getScrollableNode(): NodeHandle | undefined; +} +//#endregion diff --git a/src/index.ts b/src/index.ts index 99554cf75..67023c41f 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,42 +1,49 @@ +// bottom sheet export { default } from './components/bottomSheet'; -// scrollables -export { default as BottomSheetFlatList } from './components/flatList'; -export { default as BottomSheetSectionList } from './components/sectionList'; -export { default as BottomSheetScrollView } from './components/scrollView'; +// bottom sheet modal +export { default as BottomSheetModal } from './components/bottomSheetModal'; +export { default as BottomSheetModalProvider } from './components/bottomSheetModalProvider'; + +//#region hooks +export { useBottomSheet } from './hooks/useBottomSheet'; +export { useBottomSheetModal } from './hooks/useBottomSheetModal'; +export { useBottomSheetSpringConfigs } from './hooks/useBottomSheetSpringConfigs'; +export { useBottomSheetTimingConfigs } from './hooks/useBottomSheetTimingConfigs'; +//#endregion + +//#region components +export { + BottomSheetScrollView, + BottomSheetSectionList, + BottomSheetFlatList, +} from './components/bottomSheetScrollable'; export { default as BottomSheetDraggableView } from './components/bottomSheetDraggableView'; export { default as BottomSheetView } from './components/view'; +export { default as BottomSheetTextInput } from './components/bottomSheetTextInput'; +export { default as BottomSheetBackdrop } from './components/bottomSheetBackdrop'; -// helpers import BottomSheetTouchable from './components/touchables'; export const { TouchableHighlight, TouchableOpacity, TouchableWithoutFeedback, } = BottomSheetTouchable; +//#endregion -// text input -export { default as BottomSheetTextInput } from './components/bottomSheetTextInput'; - -// backdrop -export { default as BottomSheetBackdrop } from './components/bottomSheetBackdrop'; - -// modal -export { default as BottomSheetModal } from './components/bottomSheetModal'; -export { default as BottomSheetModalProvider } from './components/bottomSheetModalProvider'; - -// hooks -export { useBottomSheet } from './hooks/useBottomSheet'; -export { useBottomSheetModal } from './hooks/useBottomSheetModal'; -export { useBottomSheetSpringConfigs } from './hooks/useBottomSheetSpringConfigs'; -export { useBottomSheetTimingConfigs } from './hooks/useBottomSheetTimingConfigs'; - -// components types +//#region types export type { BottomSheetProps } from './components/bottomSheet'; export type { BottomSheetModalProps } from './components/bottomSheetModal'; export type { BottomSheetHandleProps } from './components/bottomSheetHandle'; export type { BottomSheetBackgroundProps } from './components/bottomSheetBackground'; export type { BottomSheetBackdropProps } from './components/bottomSheetBackdrop'; +export type { + BottomSheetFlatListMethods, + BottomSheetScrollViewMethods, + BottomSheetSectionListMethods, +} from './components/bottomSheetScrollable'; +//#endregion + // logger export { enableLogging } from './utilities/logger'; diff --git a/src/types.d.ts b/src/types.d.ts index ded482ad9..40088ab4f 100644 --- a/src/types.d.ts +++ b/src/types.d.ts @@ -74,7 +74,6 @@ export type ScrollableType = 'FlatList' | 'ScrollView' | 'SectionList' | 'View'; export type ScrollableRef = { id: number; node: React.RefObject; - type: ScrollableType; didResize: boolean; }; //#endregion