react-native 0.0.0-201c10733 → 0.0.0-268efb102
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/Libraries/ActionSheetIOS/ActionSheetIOS.js +14 -3
- package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +2 -2
- package/Libraries/ActionSheetIOS/React-RCTActionSheet.podspec +1 -1
- package/Libraries/Alert/Alert.js +3 -5
- package/Libraries/Alert/NativeAlertManager.js +0 -2
- package/Libraries/Alert/RCTAlertManager.android.js +0 -2
- package/Libraries/Alert/RCTAlertManager.ios.js +0 -2
- package/Libraries/Animated/Animated.js +0 -2
- package/Libraries/Animated/AnimatedEvent.js +26 -7
- package/Libraries/Animated/AnimatedImplementation.js +0 -2
- package/Libraries/Animated/AnimatedMock.js +1 -8
- package/Libraries/Animated/AnimatedWeb.js +6 -3
- package/Libraries/Animated/NativeAnimatedHelper.js +10 -7
- package/Libraries/Animated/NativeAnimatedModule.js +0 -2
- package/Libraries/Animated/NativeAnimatedTurboModule.js +0 -2
- package/Libraries/Animated/animations/Animation.js +1 -0
- package/Libraries/Animated/animations/DecayAnimation.js +2 -0
- package/Libraries/Animated/animations/SpringAnimation.js +1 -0
- package/Libraries/Animated/animations/TimingAnimation.js +3 -0
- package/Libraries/Animated/components/AnimatedFlatList.js +0 -2
- package/Libraries/Animated/components/AnimatedImage.js +0 -2
- package/Libraries/Animated/components/AnimatedScrollView.js +0 -2
- package/Libraries/Animated/components/AnimatedSectionList.js +1 -3
- package/Libraries/Animated/components/AnimatedText.js +0 -2
- package/Libraries/Animated/components/AnimatedView.js +0 -2
- package/Libraries/Animated/createAnimatedComponent.js +25 -19
- package/Libraries/Animated/createAnimatedComponentInjection.js +48 -0
- package/Libraries/Animated/createAnimatedComponent_EXPERIMENTAL.js +48 -0
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +21 -22
- package/Libraries/Animated/nodes/AnimatedProps.js +0 -1
- package/Libraries/Animated/nodes/AnimatedValue.js +24 -5
- package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -0
- package/Libraries/Animated/useAnimatedProps.js +211 -0
- package/Libraries/AppState/AppState.js +90 -164
- package/Libraries/AppState/NativeAppState.js +0 -2
- package/Libraries/BatchedBridge/MessageQueue.js +19 -14
- package/Libraries/BatchedBridge/NativeModules.js +5 -1
- package/Libraries/Blob/BlobManager.js +0 -2
- package/Libraries/Blob/FileReader.js +1 -3
- package/Libraries/Blob/NativeBlobModule.js +0 -2
- package/Libraries/Blob/NativeFileReaderModule.js +0 -2
- package/Libraries/Blob/RCTBlobManager.h +2 -1
- package/Libraries/Blob/RCTBlobManager.mm +1 -3
- package/Libraries/Blob/RCTBlobPlugins.mm +4 -3
- package/Libraries/Blob/React-RCTBlob.podspec +3 -3
- package/Libraries/Blob/URL.js +18 -20
- package/Libraries/BugReporting/BugReporting.js +2 -2
- package/Libraries/BugReporting/getReactData.js +2 -2
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +350 -0
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +4 -2
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +0 -2
- package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +35 -0
- package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.ios.js +26 -0
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +6 -8
- package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +0 -2
- package/Libraries/Components/Button.js +45 -15
- package/Libraries/Components/Clipboard/Clipboard.js +0 -2
- package/Libraries/Components/Clipboard/NativeClipboard.js +0 -2
- package/Libraries/Components/DatePicker/DatePickerIOS.android.js +4 -5
- package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +50 -14
- package/Libraries/Components/DatePicker/RCTDatePickerNativeComponent.js +1 -2
- package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +0 -2
- package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +0 -2
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +4 -9
- package/Libraries/Components/Keyboard/Keyboard.js +16 -17
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +17 -22
- package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +0 -2
- package/Libraries/Components/MaskedView/MaskedViewIOS.ios.js +3 -3
- package/Libraries/Components/Pressable/Pressable.js +20 -7
- package/Libraries/Components/Pressable/useAndroidRippleForView.js +18 -17
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +0 -2
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +0 -2
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.android.js +4 -5
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js +2 -5
- package/Libraries/Components/ProgressViewIOS/RCTProgressViewNativeComponent.js +0 -2
- package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +0 -2
- package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +9 -3
- package/Libraries/Components/RefreshControl/RefreshControl.js +5 -7
- package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +2 -3
- package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +0 -2
- package/Libraries/Components/SafeAreaView/SafeAreaView.js +1 -1
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +11 -15
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +2 -4
- package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +2 -4
- package/Libraries/Components/ScrollView/ScrollView.js +754 -170
- package/Libraries/Components/ScrollView/ScrollViewContext.js +0 -2
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +3 -4
- package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +2 -0
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +31 -10
- package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +2 -0
- package/Libraries/Components/ScrollView/processDecelerationRate.js +0 -2
- package/Libraries/Components/SegmentedControlIOS/RCTSegmentedControlNativeComponent.js +0 -2
- package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.android.js +4 -5
- package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.ios.js +17 -11
- package/Libraries/Components/Slider/Slider.js +19 -8
- package/Libraries/Components/Slider/SliderNativeComponent.js +0 -2
- package/Libraries/Components/Sound/NativeSoundManager.js +0 -2
- package/Libraries/Components/Sound/SoundManager.js +0 -1
- package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +0 -2
- package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +0 -2
- package/Libraries/Components/StatusBar/StatusBar.js +10 -21
- package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +0 -2
- package/Libraries/Components/Switch/Switch.js +98 -118
- package/Libraries/Components/Switch/SwitchNativeComponent.js +0 -2
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +9 -8
- package/Libraries/Components/TextInput/AndroidTextInputViewConfig.js +2 -3
- package/Libraries/Components/TextInput/InputAccessoryView.js +6 -8
- package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +0 -2
- package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +6 -5
- package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +6 -16
- package/Libraries/Components/TextInput/{RCTSinglelineTextInputViewConfig.js → RCTTextInputViewConfig.js} +3 -5
- package/Libraries/Components/TextInput/TextInput.js +128 -69
- package/Libraries/Components/TextInput/TextInputNativeCommands.js +0 -2
- package/Libraries/Components/TextInput/TextInputState.js +1 -3
- package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +0 -2
- package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +0 -1
- package/Libraries/Components/Touchable/BoundingDimensions.js +1 -2
- package/Libraries/Components/Touchable/PooledClass.js +1 -2
- package/Libraries/Components/Touchable/Position.js +1 -2
- package/Libraries/Components/Touchable/Touchable.js +26 -55
- package/Libraries/Components/Touchable/TouchableBounce.js +0 -2
- package/Libraries/Components/Touchable/TouchableHighlight.js +22 -6
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +16 -5
- package/Libraries/Components/Touchable/TouchableOpacity.js +19 -8
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +13 -4
- package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +0 -2
- package/Libraries/Components/UnimplementedViews/UnimplementedView.js +2 -3
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +133 -68
- package/Libraries/Components/View/ReactNativeViewAttributes.js +1 -2
- package/Libraries/Components/View/ReactNativeViewViewConfig.js +1 -3
- package/Libraries/Components/View/View.js +2 -4
- package/Libraries/Components/View/ViewAccessibility.js +3 -0
- package/Libraries/Components/View/ViewNativeComponent.js +0 -2
- package/Libraries/Core/Devtools/getDevServer.js +0 -2
- package/Libraries/Core/Devtools/parseErrorStack.js +0 -9
- package/Libraries/Core/Devtools/parseHermesStack.js +1 -1
- package/Libraries/Core/ExceptionsManager.js +51 -41
- package/Libraries/Core/ExtendedError.js +19 -0
- package/Libraries/Core/InitializeCore.js +1 -0
- package/Libraries/Core/NativeExceptionsManager.js +0 -2
- package/Libraries/Core/ReactFiberErrorDialog.js +44 -34
- package/Libraries/Core/ReactNativeVersion.js +1 -1
- package/Libraries/Core/ReactNativeVersionCheck.js +0 -2
- package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +0 -2
- package/Libraries/Core/Timers/JSTimers.js +41 -31
- package/Libraries/Core/Timers/NativeTiming.js +0 -2
- package/Libraries/Core/Timers/immediateShim.js +67 -0
- package/Libraries/Core/Timers/queueMicrotask.js +41 -0
- package/Libraries/Core/polyfillPromise.js +1 -1
- package/Libraries/Core/setUpBatchedBridge.js +1 -1
- package/Libraries/Core/setUpDeveloperTools.js +53 -58
- package/Libraries/Core/setUpGlobals.js +2 -0
- package/Libraries/Core/setUpReactDevTools.js +18 -1
- package/Libraries/Core/setUpRegeneratorRuntime.js +25 -8
- package/Libraries/Core/setUpTimers.js +65 -6
- package/Libraries/Core/setUpXHR.js +4 -4
- package/Libraries/DeprecatedPropTypes/DeprecatedImagePropType.android.js +131 -0
- package/Libraries/DeprecatedPropTypes/{DeprecatedImagePropType.js → DeprecatedImagePropType.ios.js} +0 -0
- package/Libraries/DeprecatedPropTypes/DeprecatedTextInputPropTypes.js +5 -5
- package/Libraries/DeprecatedPropTypes/DeprecatedViewAccessibility.js +2 -0
- package/Libraries/EventEmitter/NativeEventEmitter.js +100 -51
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +9 -77
- package/Libraries/EventEmitter/RCTEventEmitter.js +5 -1
- package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +0 -2
- package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +31 -10
- package/Libraries/FBLazyVector/BUCK +5 -1
- package/Libraries/FBLazyVector/FBLazyVector.podspec +1 -1
- package/Libraries/HeapCapture/HeapCapture.js +0 -2
- package/Libraries/HeapCapture/NativeJSCHeapCapture.js +0 -2
- package/Libraries/Image/AssetUtils.js +0 -2
- package/Libraries/Image/Image.android.js +22 -133
- package/Libraries/Image/Image.ios.js +39 -33
- package/Libraries/Image/ImageAnalyticsTagContext.js +0 -2
- package/Libraries/Image/ImageBackground.js +10 -8
- package/Libraries/Image/ImageInjection.js +28 -0
- package/Libraries/Image/ImagePickerIOS.js +0 -2
- package/Libraries/Image/ImageProps.js +28 -0
- package/Libraries/Image/ImageSource.js +57 -14
- package/Libraries/Image/ImageViewNativeComponent.js +0 -2
- package/Libraries/Image/NativeImageEditor.js +0 -2
- package/Libraries/Image/NativeImageLoaderAndroid.js +0 -2
- package/Libraries/Image/NativeImageLoaderIOS.js +2 -3
- package/Libraries/Image/NativeImagePickerIOS.js +0 -2
- package/Libraries/Image/NativeImageStoreAndroid.js +0 -2
- package/Libraries/Image/NativeImageStoreIOS.js +0 -2
- package/Libraries/Image/RCTGIFImageDecoder.mm +6 -0
- package/Libraries/Image/RCTImageLoader.h +2 -2
- package/Libraries/Image/RCTImageLoader.mm +6 -18
- package/Libraries/Image/RCTImageLoaderWithAttributionProtocol.h +0 -5
- package/Libraries/Image/RCTImagePlugins.mm +4 -3
- package/Libraries/Image/RCTImageStoreManager.mm +5 -5
- package/Libraries/Image/RCTLocalAssetImageLoader.mm +5 -0
- package/Libraries/Image/React-RCTImage.podspec +3 -3
- package/Libraries/Image/TextInlineImageNativeComponent.js +84 -2
- package/Libraries/Image/nativeImageSource.js +0 -2
- package/Libraries/Inspector/ElementProperties.js +1 -1
- package/Libraries/Inspector/Inspector.js +13 -4
- package/Libraries/Inspector/InspectorPanel.js +1 -1
- package/Libraries/Interaction/FrameRateLogger.js +0 -2
- package/Libraries/Interaction/InteractionManager.js +3 -5
- package/Libraries/Interaction/PanResponder.js +1 -1
- package/Libraries/LayoutAnimation/LayoutAnimation.js +53 -17
- package/Libraries/Linking/Linking.js +5 -7
- package/Libraries/Linking/NativeIntentAndroid.js +0 -2
- package/Libraries/Linking/NativeLinkingManager.js +0 -2
- package/Libraries/LinkingIOS/RCTLinkingPlugins.mm +4 -3
- package/Libraries/LinkingIOS/React-RCTLinking.podspec +3 -3
- package/Libraries/Lists/CellRenderMask.js +145 -0
- package/Libraries/Lists/FillRateHelper.js +1 -1
- package/Libraries/Lists/FlatList.js +77 -53
- package/Libraries/Lists/SectionList.js +20 -23
- package/Libraries/Lists/SectionListModern.js +249 -0
- package/Libraries/Lists/ViewabilityHelper.js +9 -9
- package/Libraries/Lists/VirtualizeUtils.js +18 -20
- package/Libraries/Lists/VirtualizedList.js +176 -132
- package/Libraries/Lists/VirtualizedListContext.js +0 -2
- package/Libraries/Lists/VirtualizedSectionList.js +247 -209
- package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +6 -6
- package/Libraries/LogBox/Data/LogBoxData.js +21 -19
- package/Libraries/LogBox/Data/LogBoxLog.js +0 -2
- package/Libraries/LogBox/Data/LogBoxSymbolication.js +0 -2
- package/Libraries/LogBox/Data/parseLogBoxLog.js +0 -2
- package/Libraries/LogBox/LogBox.js +114 -49
- package/Libraries/LogBox/LogBoxInspectorContainer.js +0 -2
- package/Libraries/LogBox/LogBoxNotificationContainer.js +0 -2
- package/Libraries/LogBox/UI/LogBoxButton.js +0 -2
- package/Libraries/LogBox/UI/LogBoxImages/alert-triangle.png +0 -0
- package/Libraries/LogBox/UI/LogBoxImages/chevron-left.png +0 -0
- package/Libraries/LogBox/UI/LogBoxImages/chevron-right.png +0 -0
- package/Libraries/LogBox/UI/LogBoxImages/close.png +0 -0
- package/Libraries/LogBox/UI/LogBoxImages/loader.png +0 -0
- package/Libraries/LogBox/UI/LogBoxInspector.js +0 -2
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +0 -2
- package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +0 -2
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +0 -2
- package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +0 -2
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +0 -2
- package/Libraries/LogBox/UI/LogBoxInspectorSection.js +0 -2
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +4 -5
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +0 -2
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +4 -3
- package/Libraries/LogBox/UI/LogBoxMessage.js +0 -2
- package/Libraries/LogBox/UI/LogBoxNotification.js +3 -4
- package/Libraries/LogBox/UI/LogBoxStyle.js +0 -2
- package/Libraries/Modal/Modal.js +42 -21
- package/Libraries/{Text/TextInjection.js → Modal/ModalInjection.js} +3 -5
- package/Libraries/Modal/NativeModalManager.js +0 -2
- package/Libraries/Modal/RCTModalHostViewNativeComponent.js +8 -4
- package/Libraries/NativeAnimation/Nodes/RCTPropsAnimatedNode.m +0 -3
- package/Libraries/NativeAnimation/RCTAnimationPlugins.mm +4 -3
- package/Libraries/NativeAnimation/RCTNativeAnimatedModule.mm +6 -3
- package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.h +1 -1
- package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.m +1 -1
- package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +32 -28
- package/Libraries/NativeAnimation/React-RCTAnimation.podspec +3 -3
- package/Libraries/NativeComponent/NativeComponentRegistry.js +34 -2
- package/Libraries/NativeModules/specs/NativeAnimationsDebugModule.js +0 -2
- package/Libraries/NativeModules/specs/NativeDevMenu.js +0 -2
- package/Libraries/NativeModules/specs/NativeDevSettings.js +0 -2
- package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +0 -2
- package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +0 -2
- package/Libraries/NativeModules/specs/NativeLogBox.js +0 -2
- package/Libraries/NativeModules/specs/NativeRedBox.js +0 -2
- package/Libraries/NativeModules/specs/NativeSourceCode.js +0 -2
- package/Libraries/Network/NativeNetworkingAndroid.js +0 -2
- package/Libraries/Network/NativeNetworkingIOS.js +0 -2
- package/Libraries/Network/RCTDataRequestHandler.mm +6 -0
- package/Libraries/Network/RCTFileRequestHandler.mm +6 -0
- package/Libraries/Network/RCTHTTPRequestHandler.h +5 -0
- package/Libraries/Network/RCTHTTPRequestHandler.mm +25 -7
- package/Libraries/Network/RCTNetworkPlugins.mm +4 -3
- package/Libraries/Network/RCTNetworking.android.js +6 -3
- package/Libraries/Network/RCTNetworking.h +1 -1
- package/Libraries/Network/RCTNetworking.ios.js +63 -21
- package/Libraries/Network/RCTNetworking.mm +3 -3
- package/Libraries/Network/React-RCTNetwork.podspec +2 -2
- package/Libraries/Network/XMLHttpRequest.js +5 -3
- package/Libraries/Network/convertRequestBody.js +2 -1
- package/Libraries/NewAppScreen/components/Colors.js +0 -2
- package/Libraries/NewAppScreen/components/Header.js +1 -1
- package/Libraries/NewAppScreen/components/HermesBadge.js +4 -1
- package/Libraries/NewAppScreen/components/LearnMoreLinks.js +0 -1
- package/Libraries/NewAppScreen/components/logo.png +0 -0
- package/Libraries/NewAppScreen/index.js +0 -2
- package/Libraries/Performance/NativeJSCSamplingProfiler.js +0 -2
- package/Libraries/Performance/QuickPerformanceLogger.js +4 -4
- package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +4 -3
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +10 -5
- package/Libraries/Pressability/HoverState.js +0 -2
- package/Libraries/Pressability/Pressability.js +18 -13
- package/Libraries/Pressability/PressabilityDebug.js +9 -4
- package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +48 -0
- package/Libraries/Pressability/PressabilityTypes.js +18 -0
- package/Libraries/Pressability/usePressability.js +0 -2
- package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +3 -0
- package/Libraries/PushNotificationIOS/PushNotificationIOS.js +18 -3
- package/Libraries/PushNotificationIOS/RCTPushNotificationManager.mm +13 -1
- package/Libraries/PushNotificationIOS/RCTPushNotificationPlugins.mm +4 -3
- package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +3 -3
- package/Libraries/RCTRequired/BUCK +4 -1
- package/Libraries/RCTRequired/RCTRequired.podspec +2 -2
- package/Libraries/ReactNative/AppContainer.js +3 -25
- package/Libraries/ReactNative/AppRegistry.js +48 -7
- package/Libraries/ReactNative/DisplayMode.js +32 -0
- package/Libraries/ReactNative/DummyUIManager.js +7 -2
- package/Libraries/ReactNative/FabricUIManager.js +6 -5
- package/Libraries/ReactNative/HeadlessJsTaskError.js +0 -2
- package/Libraries/ReactNative/I18nManager.js +23 -9
- package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +0 -2
- package/Libraries/ReactNative/NativeI18nManager.js +1 -2
- package/Libraries/ReactNative/NativeUIManager.js +2 -3
- package/Libraries/ReactNative/PaperUIManager.js +13 -7
- package/Libraries/ReactNative/RootTag.js +2 -4
- package/Libraries/ReactNative/UIManager.js +2 -3
- package/Libraries/ReactNative/UIManagerInjection.js +0 -2
- package/Libraries/ReactNative/getCachedComponentWithDebugName.js +32 -0
- package/Libraries/ReactNative/renderApplication.js +24 -6
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +6 -3
- package/Libraries/Reliability/UserFlow.js +7 -0
- package/Libraries/Renderer/REVISION +1 -1
- package/Libraries/Renderer/implementations/ReactFabric-dev.fb.js +9484 -7643
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +7877 -6935
- package/Libraries/Renderer/implementations/ReactFabric-prod.fb.js +3038 -2506
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +2112 -1937
- package/Libraries/Renderer/implementations/ReactFabric-profiling.fb.js +3375 -2693
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +2568 -2244
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.fb.js +9638 -7942
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +5736 -4864
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.fb.js +2865 -2464
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +2275 -2120
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.fb.js +3190 -2643
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +2565 -2259
- package/Libraries/Renderer/shims/ReactFabric.js +5 -3
- package/Libraries/Renderer/shims/ReactFeatureFlags.js +3 -0
- package/Libraries/Renderer/shims/ReactNative.js +3 -0
- package/Libraries/Renderer/shims/ReactNativeTypes.js +21 -15
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +5 -0
- package/Libraries/Renderer/shims/createReactNativeComponentClass.js +3 -0
- package/Libraries/Settings/NativeSettingsManager.js +0 -2
- package/Libraries/Settings/RCTSettingsPlugins.mm +4 -3
- package/Libraries/Settings/React-RCTSettings.podspec +2 -2
- package/Libraries/Settings/Settings.ios.js +4 -2
- package/Libraries/Share/NativeShareModule.js +0 -2
- package/Libraries/Share/Share.js +0 -2
- package/Libraries/Storage/AsyncStorage.js +1 -2
- package/Libraries/Storage/NativeAsyncLocalStorage.js +0 -2
- package/Libraries/Storage/NativeAsyncSQLiteDBStorage.js +0 -2
- package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +0 -2
- package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +16 -3
- package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +8 -3
- package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +2 -2
- package/Libraries/StyleSheet/Rect.js +0 -2
- package/Libraries/StyleSheet/StyleSheet.js +3 -5
- package/Libraries/StyleSheet/normalizeColor.js +2 -4
- package/Libraries/StyleSheet/processColorArray.js +16 -6
- package/Libraries/StyleSheet/processTransform.js +6 -6
- package/Libraries/StyleSheet/splitLayoutProps.js +0 -4
- package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponent.mm +1 -1
- package/Libraries/Text/React-RCTText.podspec +2 -2
- package/Libraries/Text/Text.js +187 -235
- package/Libraries/Text/TextInput/Multiline/RCTUITextView.h +0 -2
- package/Libraries/Text/TextInput/Multiline/RCTUITextView.m +12 -2
- package/Libraries/Text/TextInput/RCTBaseTextInputView.m +10 -12
- package/Libraries/Text/TextInput/RCTInputAccessoryViewContent.m +4 -11
- package/Libraries/Text/TextNativeComponent.js +0 -2
- package/Libraries/Text/TextProps.js +7 -7
- package/Libraries/TurboModule/RCTExport.js +1 -1
- package/Libraries/TurboModule/TurboModuleRegistry.js +1 -5
- package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +0 -2
- package/Libraries/TypeSafety/RCTTypeSafety.podspec +3 -3
- package/Libraries/Types/CoreEventTypes.js +0 -2
- package/Libraries/{Components/Picker/PickerAndroid.ios.js → Types/RootTagTypes.js} +2 -3
- package/Libraries/UTFSequence.js +1 -1
- package/Libraries/Utilities/Appearance.js +13 -7
- package/Libraries/Utilities/BackHandler.android.js +0 -2
- package/Libraries/Utilities/DebugEnvironment.js +0 -2
- package/Libraries/Utilities/DevSettings.js +48 -58
- package/Libraries/Utilities/DeviceInfo.js +0 -2
- package/Libraries/Utilities/Dimensions.js +19 -20
- package/Libraries/Utilities/FeatureDetection.js +31 -0
- package/Libraries/Utilities/GlobalPerformanceLogger.js +0 -2
- package/Libraries/Utilities/HMRClient.js +15 -10
- package/Libraries/Utilities/JSDevSupportModule.js +0 -2
- package/Libraries/Utilities/LoadingView.android.js +0 -2
- package/Libraries/Utilities/LoadingView.ios.js +0 -2
- package/Libraries/Utilities/MatrixMath.js +1 -1
- package/Libraries/Utilities/NativeAppearance.js +0 -2
- package/Libraries/Utilities/NativeDevLoadingView.js +0 -2
- package/Libraries/Utilities/NativeDevSplitBundleLoader.js +0 -2
- package/Libraries/Utilities/NativeDeviceInfo.js +1 -3
- package/Libraries/Utilities/NativeJSDevSupport.js +0 -2
- package/Libraries/Utilities/NativePlatformConstantsAndroid.js +0 -2
- package/Libraries/Utilities/NativePlatformConstantsIOS.js +0 -2
- package/Libraries/Utilities/PerformanceLoggerContext.js +8 -4
- package/Libraries/Utilities/Platform.android.js +0 -2
- package/Libraries/Utilities/Platform.ios.js +0 -2
- package/Libraries/Utilities/ReactNativeTestTools.js +12 -19
- package/Libraries/Utilities/codegenNativeCommands.js +1 -3
- package/Libraries/Utilities/codegenNativeComponent.js +0 -2
- package/Libraries/Utilities/createPerformanceLogger.js +0 -2
- package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +1 -0
- package/Libraries/Utilities/defineLazyObjectProperty.js +1 -1
- package/Libraries/Utilities/deprecatedPropType.js +2 -4
- package/Libraries/Utilities/stringifySafe.js +1 -3
- package/Libraries/Utilities/useColorScheme.js +4 -4
- package/Libraries/Utilities/useMergeRefs.js +44 -0
- package/Libraries/Utilities/useRefEffect.js +45 -0
- package/Libraries/Utilities/useWindowDimensions.js +9 -6
- package/Libraries/Utilities/verifyComponentAttributeEquivalence.js +0 -2
- package/Libraries/Vibration/NativeVibration.js +0 -2
- package/Libraries/Vibration/RCTVibrationPlugins.mm +4 -3
- package/Libraries/Vibration/React-RCTVibration.podspec +2 -2
- package/Libraries/Vibration/Vibration.js +0 -2
- package/Libraries/WebSocket/NativeWebSocketModule.js +0 -2
- package/Libraries/WebSocket/WebSocket.js +12 -12
- package/Libraries/WebSocket/WebSocketInterceptor.js +6 -3
- package/Libraries/YellowBox/YellowBoxDeprecated.js +1 -0
- package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +0 -2
- package/Libraries/promiseRejectionTrackingOptions.js +2 -2
- package/Libraries/vendor/emitter/EventEmitter.js +36 -2
- package/Libraries/vendor/emitter/EventSubscription.js +19 -0
- package/Libraries/vendor/emitter/_EmitterSubscription.js +7 -7
- package/Libraries/vendor/emitter/_EventEmitter.js +28 -42
- package/Libraries/vendor/emitter/_EventSubscription.js +4 -2
- package/Libraries/vendor/emitter/_EventSubscriptionVendor.js +1 -1
- package/Libraries/vendor/emitter/__flowtests__/EventEmitter-flowtest.js +0 -2
- package/README.md +5 -5
- package/React/Base/RCTAssert.h +29 -11
- package/React/Base/RCTAssert.m +52 -0
- package/React/Base/RCTBridge+Private.h +8 -0
- package/React/Base/RCTBridge.h +20 -0
- package/React/Base/RCTBridge.m +39 -7
- package/React/Base/RCTBridgeModule.h +62 -12
- package/React/Base/RCTBundleManager.m +78 -0
- package/React/Base/RCTBundleURLProvider.h +35 -9
- package/React/Base/RCTBundleURLProvider.mm +90 -25
- package/React/Base/RCTCallableJSModules.m +47 -0
- package/React/Base/RCTConstants.h +3 -16
- package/React/Base/RCTConstants.m +6 -36
- package/React/Base/RCTConvert.h +1 -1
- package/React/Base/RCTConvert.m +31 -7
- package/React/Base/RCTCxxConvert.h +1 -1
- package/React/Base/RCTDefines.h +22 -3
- package/React/Base/RCTEventDispatcherProtocol.h +3 -2
- package/React/{Views/RCTPickerManager.h → Base/RCTInitializing.h} +4 -2
- package/React/Base/RCTJSThread.h +29 -0
- package/React/Base/RCTJSThread.m +19 -0
- package/React/Base/RCTModuleData.h +11 -3
- package/React/Base/RCTModuleData.mm +66 -1
- package/React/Base/RCTMultipartStreamReader.m +0 -2
- package/React/Base/RCTRootView.h +25 -1
- package/React/Base/RCTRootView.m +27 -4
- package/React/Base/RCTTouchHandler.m +3 -0
- package/React/Base/RCTUtils.h +3 -0
- package/React/Base/RCTUtils.m +14 -7
- package/React/Base/RCTVersion.m +1 -1
- package/React/Base/Surface/RCTSurfaceStage.h +6 -11
- package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.h +12 -0
- package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.mm +46 -2
- package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.mm +3 -0
- package/React/CoreModules/BUCK +4 -3
- package/React/CoreModules/CoreModulesPlugins.mm +4 -3
- package/React/CoreModules/RCTAccessibilityManager.mm +1 -1
- package/React/CoreModules/RCTActionSheetManager.mm +14 -5
- package/React/CoreModules/RCTAsyncLocalStorage.mm +4 -0
- package/React/CoreModules/RCTDevLoadingView.mm +25 -33
- package/React/CoreModules/RCTDevMenu.h +0 -5
- package/React/CoreModules/RCTDevMenu.mm +29 -60
- package/React/CoreModules/RCTDevSettings.h +12 -2
- package/React/CoreModules/RCTDevSettings.mm +96 -53
- package/React/CoreModules/RCTDevSplitBundleLoader.mm +3 -8
- package/React/CoreModules/RCTDeviceInfo.mm +4 -5
- package/React/CoreModules/RCTEventDispatcher.h +2 -1
- package/React/CoreModules/RCTEventDispatcher.mm +23 -25
- package/React/CoreModules/RCTKeyboardObserver.mm +1 -1
- package/React/CoreModules/RCTLogBox.mm +14 -10
- package/React/CoreModules/RCTPerfMonitor.mm +15 -4
- package/React/CoreModules/RCTRedBox.mm +3 -12
- package/React/CoreModules/RCTSourceCode.mm +2 -1
- package/React/CoreModules/RCTTiming.h +2 -1
- package/React/CoreModules/RCTTiming.mm +1 -3
- package/React/CoreModules/RCTWebSocketExecutor.mm +6 -0
- package/React/CoreModules/React-CoreModules.podspec +3 -3
- package/React/CxxBridge/RCTCxxBridge.mm +93 -33
- package/React/CxxModule/RCTNativeModule.mm +3 -1
- package/React/DevSupport/RCTPackagerConnection.h +3 -0
- package/React/DevSupport/RCTPackagerConnection.mm +19 -8
- package/{Libraries → React}/FBReactNativeSpec/FBReactNativeSpec.podspec +15 -8
- package/React/Fabric/Mounting/ComponentViews/Image/RCTImageComponentView.h +2 -1
- package/React/Fabric/Mounting/ComponentViews/Image/RCTImageComponentView.mm +5 -10
- package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropComponentView.mm +4 -2
- package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropCoordinatorAdapter.mm +1 -3
- package/React/Fabric/Mounting/ComponentViews/Modal/RCTFabricModalHostViewController.mm +7 -0
- package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.h +3 -1
- package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +62 -20
- package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.h +0 -1
- package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.mm +0 -1
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTEnhancedScrollView.mm +5 -0
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +135 -87
- package/React/Fabric/Mounting/ComponentViews/Text/RCTAccessibilityElement.h +23 -0
- package/React/Fabric/Mounting/ComponentViews/Text/RCTAccessibilityElement.mm +22 -0
- package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentAccessibilityProvider.mm +14 -9
- package/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.mm +104 -16
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +53 -17
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.mm +48 -2
- package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.h +6 -0
- package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +122 -8
- package/React/Fabric/Mounting/RCTComponentViewFactory.h +10 -2
- package/React/Fabric/Mounting/RCTComponentViewFactory.mm +83 -46
- package/React/Fabric/Mounting/RCTComponentViewProtocol.h +3 -0
- package/React/Fabric/Mounting/RCTComponentViewRegistry.mm +1 -12
- package/React/Fabric/Mounting/RCTMountingManager.h +22 -1
- package/React/Fabric/Mounting/RCTMountingManager.mm +57 -3
- package/React/Fabric/Mounting/UIView+ComponentViewProtocol.h +4 -0
- package/React/Fabric/Mounting/UIView+ComponentViewProtocol.mm +30 -4
- package/React/Fabric/RCTConversions.h +3 -0
- package/React/Fabric/RCTScheduler.h +8 -16
- package/React/Fabric/RCTScheduler.mm +36 -54
- package/React/Fabric/RCTSurfacePresenter.h +8 -16
- package/React/Fabric/RCTSurfacePresenter.mm +49 -170
- package/React/Fabric/RCTSurfacePresenterBridgeAdapter.h +4 -2
- package/React/Fabric/RCTSurfacePresenterBridgeAdapter.mm +1 -1
- package/React/Fabric/RCTSurfaceRegistry.h +1 -1
- package/React/Fabric/Surface/RCTFabricSurface.h +2 -6
- package/React/Fabric/Surface/RCTFabricSurface.mm +132 -129
- package/React/Modules/RCTEventEmitter.h +1 -2
- package/React/Modules/RCTEventEmitter.m +8 -11
- package/React/Modules/RCTI18nUtil.h +14 -6
- package/React/Modules/RCTI18nUtil.m +1 -47
- package/React/Modules/RCTUIManager.m +8 -2
- package/React/Profiler/RCTProfileTrampoline-arm.S +1 -1
- package/React/Profiler/RCTProfileTrampoline-arm64.S +2 -2
- package/React/React-RCTFabric.podspec +5 -5
- package/React/Tests/Text/RCTParagraphComponentViewTests.mm +63 -0
- package/React/Views/RCTComponentData.h +10 -1
- package/React/Views/RCTComponentData.m +23 -8
- package/React/Views/RCTDatePickerManager.m +33 -0
- package/React/Views/RCTFont.mm +54 -38
- package/React/Views/RCTModalHostView.h +5 -1
- package/React/Views/RCTModalHostView.m +52 -20
- package/React/Views/RCTModalHostViewManager.m +5 -0
- package/React/Views/RCTView.h +7 -7
- package/React/Views/RCTView.m +32 -49
- package/React/Views/RCTViewManager.m +22 -4
- package/React/Views/RCTWeakViewHolder.h +19 -0
- package/React/Views/RefreshControl/RCTRefreshControl.m +26 -0
- package/React/Views/RefreshControl/RCTRefreshControlManager.m +1 -0
- package/React/Views/SafeAreaView/RCTSafeAreaView.m +1 -5
- package/React/Views/ScrollView/RCTScrollView.h +1 -0
- package/React/Views/ScrollView/RCTScrollView.m +123 -36
- package/React/Views/ScrollView/RCTScrollViewManager.m +4 -7
- package/React/Views/UIView+React.m +2 -11
- package/React/third-party.xcconfig +1 -1
- package/React-Core.podspec +5 -4
- package/React.podspec +2 -2
- package/ReactAndroid/Android-prebuilt.mk +19 -3
- package/ReactAndroid/README.md +2 -2
- package/ReactAndroid/build.gradle +137 -25
- package/ReactAndroid/gradle.properties +7 -5
- package/ReactAndroid/src/androidTest/buck-runner/BUCK +1 -0
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/BUCK +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactAppInstrumentationTestCase.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/idledetection/BUCK +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/idledetection/ReactIdleDetectionUtil.java +1 -1
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/rule/BUCK +5 -5
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/BUCK +0 -2
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/core/BUCK +5 -5
- package/ReactAndroid/src/androidTest/js/BUCK +26 -0
- package/ReactAndroid/src/androidTest/js/TestBundle.js +0 -12
- package/ReactAndroid/src/androidTest/js/UIManagerTestModule.js +7 -6
- package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/Android.mk +2 -2
- package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/Android.mk +4 -4
- package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/HermesExecutorFactory.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/RuntimeConfig.java +0 -6
- package/ReactAndroid/src/main/java/com/facebook/proguard/annotations/BUCK +2 -2
- package/ReactAndroid/src/main/java/com/facebook/proguard/annotations/proguard_annotations.pro +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/BUCK +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/CoreModulesPackage.java +3 -2
- package/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactAndroidHWInputDeviceHelper.java +5 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactFragment.java +6 -2
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +184 -92
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java +37 -1
- package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +21 -1
- package/ReactAndroid/src/main/java/com/facebook/react/{turbomodule/core/ReactPackageTurboModuleManagerDelegate.java → ReactPackageTurboModuleManagerDelegate.java} +2 -3
- package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +40 -28
- package/ReactAndroid/src/main/java/com/facebook/react/animated/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java +10 -2
- package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java +5 -5
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/BackgroundExecutor.java +3 -2
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseJavaModule.java +7 -5
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstance.java +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +11 -3
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/CxxModuleWrapperBase.java +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JSIModuleRegistry.java +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaModuleWrapper.java +37 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleHolder.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModule.java +8 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModuleRegistry.java +26 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +46 -8
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContextBaseJavaModule.java +2 -3
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactCxxErrorHandler.java +39 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactMarkerConstants.java +7 -3
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/{ReactSoftException.java → ReactSoftExceptionLogger.java} +8 -3
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/RuntimeScheduler.java +21 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/SoftAssertions.java +8 -7
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/UIManager.java +10 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/BUCK +3 -2
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/BUCK +29 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.java +347 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBufferSoLoader.java +33 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/Android.mk +39 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/BUCK +34 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/OnLoad.cpp +15 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/ReadableMapBuffer.cpp +76 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/react/common/mapbuffer/ReadableMapBuffer.h +51 -0
- package/ReactAndroid/src/main/java/com/facebook/react/config/BUCK +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +61 -29
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.java +275 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.java +97 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevLoadingViewController.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.java +9 -58
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +189 -352
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.java +4 -73
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DisabledDevSupportManager.java +13 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxModule.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PackagerStatusCheck.java +100 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/{ReactInstanceManagerDevHelper.java → ReactInstanceDevHelper.java} +3 -2
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/RedBoxHandler.java +2 -16
- package/ReactAndroid/src/main/java/com/facebook/react/{modules/datepicker/DatePickerMode.java → devsupport/interfaces/BundleLoadCallback.java} +3 -6
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.java +6 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/ErrorType.java +23 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/Binding.java +15 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricComponents.java +4 -3
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricJSIModuleProvider.java +9 -64
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +317 -393
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/StateWrapperImpl.java +40 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/SurfaceHandler.java +50 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/SurfaceHandlerBinding.java +131 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.java +36 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.java +14 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Android.mk +5 -3
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/AsyncEventBeatV2.cpp +69 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/AsyncEventBeatV2.h +40 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/BUCK +4 -4
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.cpp +308 -103
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.h +33 -8
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/CoreComponentsRegistry.cpp +3 -6
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventEmitterWrapper.cpp +22 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventEmitterWrapper.h +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/OnLoad.cpp +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/StateWrapperImpl.cpp +16 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/StateWrapperImpl.h +3 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/SurfaceHandlerBinding.cpp +122 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/SurfaceHandlerBinding.h +68 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.java +414 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.java +134 -71
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +247 -40
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.java +4 -6
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.java +13 -6
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/SendAccessibilityEvent.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/Android.mk +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskContext.java +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/AccessibilityInfoModule.java +21 -4
- package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/appstate/AppStateModule.java +11 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/appstate/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobProvider.java +35 -7
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/Android.mk +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/bundleloader/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/camera/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/{JavaScriptTimerManager.java → JavaScriptTimerExecutor.java} +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.java +7 -7
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/TimingModule.java +7 -4
- package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/AnimationsDebugModule.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/DeviceInfoModule.java +19 -8
- package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/DialogModule.java +12 -4
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/FrescoModule.java +10 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/BUCK +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.java +19 -13
- package/ReactAndroid/src/main/java/com/facebook/react/modules/image/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.java +23 -19
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java +1 -4
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/OkHttpClientProvider.java +1 -18
- package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/share/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/sound/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/storage/AsyncStorageModule.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/storage/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/BUCK +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/toast/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/vibration/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/ReconnectingWebSocket.java +11 -9
- package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/jni/Android.mk +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/jni/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/shell/BUCK +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.java +0 -9
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/BUCK +0 -1
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/TurboModuleManager.java +9 -6
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/TurboModuleManagerDelegate.java +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/interfaces/TurboModule.java +4 -4
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/Android.mk +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/BUCK +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/TurboModuleManager.cpp +40 -7
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/TurboModuleManager.h +10 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BUCK +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +15 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ComponentNameResolver.java +17 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ComponentNameResolverManager.java +41 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.java +7 -28
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/FabricViewStateManager.java +2 -11
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSTouchDispatcher.java +14 -5
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +4 -13
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyOptimizer.java +10 -13
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/OnLayoutEvent.java +17 -6
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/PixelUtil.java +1 -6
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.java +16 -10
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactClippingProhibitedView.java +26 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactClippingViewGroupHelper.java +5 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactOverflowView.java +25 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/RootViewUtil.java +18 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/StateWrapper.java +21 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.java +162 -66
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +4 -8
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementationProvider.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerHelper.java +29 -20
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +15 -17
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelper.java +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +13 -6
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java +7 -4
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerRegistry.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerResolver.java +26 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagersPropertyCache.java +16 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ContentSizeChangeEvent.java +8 -3
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/Event.java +100 -8
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/LockFreeEventDispatcherImpl.java +236 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.java +8 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ReactEventEmitter.java +21 -7
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEvent.java +58 -4
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/interfaces/ViewProps.java +10 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/Android.mk +37 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/BUCK +41 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/ComponentNameResolverManager.cpp +77 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/ComponentNameResolverManager.h +54 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/OnLoad.cpp +16 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayoutManager.java +12 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerClosedEvent.java +9 -10
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerOpenedEvent.java +9 -10
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerSlideEvent.java +7 -13
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/events/DrawerStateChangedEvent.java +7 -13
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/ImageLoadEvent.java +2 -16
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageManager.java +10 -5
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/BUCK +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.java +12 -3
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.java +23 -12
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/RequestCloseEvent.java +12 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ShowEvent.java +12 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollContainerView.java +29 -6
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +184 -24
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.java +9 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +109 -12
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.java +18 -3
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java +9 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEvent.java +37 -20
- package/ReactAndroid/src/main/java/com/facebook/react/views/slider/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSliderEvent.java +0 -5
- package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSliderManager.java +5 -7
- package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSlidingCompleteEvent.java +13 -16
- package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/RefreshEvent.java +12 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/SwipeRefreshLayoutManager.java +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitch.java +13 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchEvent.java +9 -13
- package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchManager.java +6 -10
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/CustomStyleSpan.java +6 -8
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactClickableSpan.java +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactFontManager.java +59 -44
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.java +0 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.java +32 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +19 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java +48 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTypefaceUtils.java +41 -59
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +230 -139
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +45 -20
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManagerMapBuffer.java +616 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TypefaceStyle.java +72 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactContentSizeChangedEvent.java +3 -13
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +19 -8
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditTextInputConnectionWrapper.java +3 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextChangedEvent.java +3 -13
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputBlurEvent.java +3 -13
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputEndEditingEvent.java +3 -13
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputEvent.java +3 -13
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputFocusEvent.java +8 -18
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputKeyPressEvent.java +9 -20
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +126 -63
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputSelectionEvent.java +3 -13
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputSubmitEditingEvent.java +8 -18
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/CanvasUtil.java +92 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundDrawable.java +39 -8
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +49 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.java +3 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ViewGroupClickEvent.java +11 -4
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNode.java +13 -7
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +24 -2
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaProps.java +151 -0
- package/ReactAndroid/src/main/jni/first-party/fb/BUCK +4 -0
- package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNIVanilla.cpp +2 -7
- package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJTypesVanilla.h +8 -4
- package/ReactAndroid/src/main/jni/react/jni/Android.mk +6 -3
- package/ReactAndroid/src/main/jni/react/jni/BUCK +5 -2
- package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +61 -0
- package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.h +8 -0
- package/ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.cpp +18 -0
- package/{ReactCommon/react/renderer/components/picker/iospicker/primitives.h → ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.h} +6 -10
- package/ReactAndroid/src/main/jni/react/jni/JReactSoftExceptionLogger.cpp +21 -0
- package/ReactAndroid/src/main/jni/react/jni/JReactSoftExceptionLogger.h +28 -0
- package/{ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerComponentDescriptor.h → ReactAndroid/src/main/jni/react/jni/JRuntimeScheduler.cpp} +8 -7
- package/ReactAndroid/src/main/jni/react/jni/JRuntimeScheduler.h +30 -0
- package/ReactAndroid/src/main/jni/react/jni/JSLoader.cpp +1 -1
- package/ReactAndroid/src/main/jni/react/jni/JavaModuleWrapper.cpp +0 -94
- package/ReactAndroid/src/main/jni/react/jni/JavaModuleWrapper.h +0 -30
- package/ReactAndroid/src/main/jni/react/jni/ProxyExecutor.h +1 -0
- package/ReactAndroid/src/main/jni/third-party/boost/Android.mk +7 -2
- package/ReactAndroid/src/main/jni/third-party/boost/asm/arm/jump_arm_aapcs_elf_gas.S +86 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/arm/make_arm_aapcs_elf_gas.S +79 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/arm/ontop_arm_aapcs_elf_gas.S +91 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/arm64/jump_arm64_aapcs_elf_gas.S +114 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/arm64/make_arm64_aapcs_elf_gas.S +85 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/arm64/ontop_arm64_aapcs_elf_gas.S +113 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/x86/jump_i386_sysv_elf_gas.S +78 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/x86/make_i386_sysv_elf_gas.S +106 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/x86/ontop_i386_sysv_elf_gas.S +85 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/x86_64/jump_x86_64_sysv_elf_gas.S +76 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/x86_64/make_x86_64_sysv_elf_gas.S +81 -0
- package/ReactAndroid/src/main/jni/third-party/boost/asm/x86_64/ontop_x86_64_sysv_elf_gas.S +79 -0
- package/ReactAndroid/src/main/jni/third-party/fmt/Android.mk +15 -0
- package/ReactAndroid/src/main/jni/third-party/folly/Android.mk +36 -16
- package/ReactAndroid/src/main/jni/third-party/libevent/Android.mk +36 -0
- package/ReactAndroid/src/main/jni/third-party/libevent/evconfig-private.h +49 -0
- package/{third-party-podspecs/libevent.podspec → ReactAndroid/src/main/jni/third-party/libevent/event-config.h} +141 -366
- package/ReactAndroid/src/main/libraries/fbjni/BUCK +2 -2
- package/ReactAndroid/src/main/libraries/fresco/fresco-react-native/BUCK +26 -26
- package/ReactAndroid/src/main/libraries/soloader/java/com/facebook/soloader/BUCK +5 -5
- package/ReactAndroid/src/main/res/devsupport/values/strings.xml +2 -1
- package/ReactAndroid/src/main/res/views/uimanager/values/strings_unlocalized.xml +4 -8
- package/ReactAndroid/src/main/third-party/android/androidx/BUCK +63 -2
- package/ReactAndroid/src/main/third-party/java/infer-annotations/BUCK +2 -2
- package/ReactAndroid/src/main/third-party/java/okhttp/BUCK +29 -9
- package/ReactAndroid/src/main/third-party/java/okio/BUCK +15 -5
- package/ReactAndroid/src/main/third-party/java/robolectric/{4.4/BUCK → BUCK} +0 -0
- package/ReactAndroid/src/main/third-party/java/testing-support-lib/BUCK +0 -31
- package/ReactAndroid/src/main/third-party/kotlin/BUCK +91 -0
- package/ReactAndroid/src/test/java/com/facebook/react/RootViewTest.java +8 -3
- package/ReactAndroid/src/test/java/com/facebook/react/animated/NativeAnimatedNodeTraversalTest.java +1 -1
- package/ReactAndroid/src/test/java/com/facebook/react/bridge/BUCK +1 -1
- package/ReactAndroid/src/test/java/com/facebook/react/bridge/ReactTestHelper.java +1 -0
- package/ReactAndroid/src/test/java/com/facebook/react/devsupport/JSDebuggerWebSocketClientTest.java +3 -1
- package/ReactAndroid/src/test/java/com/facebook/react/modules/BUCK +1 -0
- package/ReactAndroid/src/test/java/com/facebook/react/modules/deviceinfo/DeviceInfoModuleTest.java +168 -0
- package/ReactAndroid/src/test/java/com/facebook/react/modules/dialog/DialogModuleTest.java +1 -1
- package/ReactAndroid/src/test/java/com/facebook/react/modules/network/NetworkingModuleTest.java +10 -10
- package/ReactAndroid/src/test/java/com/facebook/react/modules/timing/TimingModuleTest.java +1 -1
- package/ReactAndroid/src/test/java/com/facebook/react/uimanager/BaseViewManagerTest.java +32 -0
- package/ReactAndroid/src/test/java/com/facebook/react/views/image/ReactImagePropertyTest.java +8 -0
- package/ReactAndroid/src/test/java/com/facebook/react/views/textinput/ReactTextInputPropertyTest.java +4 -0
- package/ReactCommon/React-Fabric.podspec +58 -14
- package/ReactCommon/ReactCommon.podspec +8 -3
- package/ReactCommon/better/Android.mk +1 -1
- package/ReactCommon/better/BUCK +2 -2
- package/ReactCommon/callinvoker/Android.mk +1 -1
- package/ReactCommon/callinvoker/BUCK +3 -3
- package/ReactCommon/callinvoker/React-callinvoker.podspec +3 -3
- package/ReactCommon/cxxreact/Android.mk +2 -1
- package/ReactCommon/cxxreact/BUCK +2 -4
- package/ReactCommon/cxxreact/CxxNativeModule.cpp +28 -0
- package/ReactCommon/cxxreact/CxxNativeModule.h +9 -0
- package/ReactCommon/cxxreact/Instance.cpp +21 -1
- package/ReactCommon/cxxreact/MethodCall.cpp +2 -2
- package/ReactCommon/cxxreact/ModuleRegistry.cpp +5 -0
- package/ReactCommon/cxxreact/NativeToJsBridge.cpp +0 -21
- package/ReactCommon/cxxreact/NativeToJsBridge.h +0 -6
- package/ReactCommon/cxxreact/React-cxxreact.podspec +5 -4
- package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
- package/ReactCommon/hermes/React-hermes.podspec +5 -5
- package/ReactCommon/hermes/executor/Android.mk +4 -4
- package/ReactCommon/hermes/inspector/Android.mk +1 -2
- package/ReactCommon/hermes/inspector/BUCK +8 -5
- package/ReactCommon/hermes/inspector/chrome/Connection.cpp +115 -0
- package/ReactCommon/hermes/inspector/chrome/MessageTypes.cpp +215 -1
- package/ReactCommon/hermes/inspector/chrome/MessageTypes.h +115 -1
- package/ReactCommon/hermes/inspector/chrome/tests/ConnectionTests.cpp +144 -0
- package/ReactCommon/hermes/inspector/tools/message_types.txt +4 -0
- package/ReactCommon/hermes/inspector/tools/msggen/__tests__/CommandTest.js +1 -3
- package/ReactCommon/hermes/inspector/tools/msggen/__tests__/EventTest.js +1 -3
- package/ReactCommon/hermes/inspector/tools/msggen/__tests__/GraphTest.js +1 -3
- package/ReactCommon/hermes/inspector/tools/msggen/__tests__/HeaderWriterTest.js +1 -3
- package/ReactCommon/hermes/inspector/tools/msggen/__tests__/ImplementationWriterTest.js +1 -3
- package/ReactCommon/hermes/inspector/tools/msggen/__tests__/PropertyTest.js +1 -3
- package/ReactCommon/hermes/inspector/tools/msggen/__tests__/TypeTest.js +1 -3
- package/ReactCommon/hermes/inspector/tools/msggen/package.json +8 -5
- package/ReactCommon/hermes/inspector/tools/msggen/src/Command.js +0 -2
- package/ReactCommon/hermes/inspector/tools/msggen/src/Converters.js +0 -2
- package/ReactCommon/hermes/inspector/tools/msggen/src/Event.js +0 -2
- package/ReactCommon/hermes/inspector/tools/msggen/src/Graph.js +0 -2
- package/ReactCommon/hermes/inspector/tools/msggen/src/HeaderWriter.js +0 -2
- package/ReactCommon/hermes/inspector/tools/msggen/src/ImplementationWriter.js +0 -2
- package/ReactCommon/hermes/inspector/tools/msggen/src/Property.js +1 -2
- package/ReactCommon/hermes/inspector/tools/msggen/src/TestHelpers.js +1 -3
- package/ReactCommon/hermes/inspector/tools/msggen/src/Type.js +0 -2
- package/ReactCommon/hermes/inspector/tools/msggen/src/index.js +1 -3
- package/ReactCommon/hermes/inspector/tools/msggen/yarn.lock +2246 -1419
- package/ReactCommon/jsi/Android.mk +1 -1
- package/ReactCommon/jsi/BUCK +1 -3
- package/ReactCommon/jsi/JSCRuntime.cpp +7 -0
- package/ReactCommon/jsi/React-jsi.podspec +4 -4
- package/ReactCommon/jsi/jsi/CMakeLists.txt +1 -1
- package/ReactCommon/jsi/jsi/decorator.h +15 -0
- package/ReactCommon/jsi/jsi/instrumentation.h +13 -0
- package/ReactCommon/jsi/jsi/jsi.cpp +3 -0
- package/ReactCommon/jsi/jsi/jsi.h +31 -2
- package/ReactCommon/jsi/jsi/jsilib-posix.cpp +1 -11
- package/ReactCommon/jsiexecutor/Android.mk +2 -2
- package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +3 -3
- package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +36 -3
- package/ReactCommon/jsiexecutor/jsireact/JSINativeModules.cpp +2 -0
- package/ReactCommon/jsinspector/BUCK +2 -0
- package/ReactCommon/jsinspector/React-jsinspector.podspec +1 -1
- package/ReactCommon/logger/Android.mk +23 -0
- package/ReactCommon/logger/BUCK +43 -0
- package/ReactCommon/logger/React-logger.podspec +40 -0
- package/ReactCommon/logger/react_native_log.cpp +52 -0
- package/ReactCommon/logger/react_native_log.h +33 -0
- package/ReactCommon/react/config/Android.mk +1 -1
- package/ReactCommon/react/config/BUCK +1 -1
- package/ReactCommon/react/debug/Android.mk +31 -0
- package/ReactCommon/react/debug/BUCK +69 -0
- package/ReactCommon/react/debug/flags.h +19 -0
- package/ReactCommon/react/debug/react_native_assert.cpp +45 -0
- package/ReactCommon/react/debug/react_native_assert.h +64 -0
- package/ReactCommon/react/nativemodule/core/Android.mk +3 -3
- package/ReactCommon/react/nativemodule/core/BUCK +3 -3
- package/ReactCommon/react/nativemodule/core/ReactCommon/LongLivedObject.cpp +1 -0
- package/ReactCommon/react/nativemodule/core/ReactCommon/LongLivedObject.h +3 -2
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.cpp +1 -1
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +46 -1
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.h +10 -0
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +55 -1
- package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +76 -42
- package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.h +11 -1
- package/ReactCommon/react/nativemodule/core/platform/ios/RCTBlockGuard.h +24 -0
- package/ReactCommon/react/nativemodule/core/platform/ios/RCTBlockGuard.mm +28 -0
- package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModule.h +7 -16
- package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModule.mm +79 -32
- package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.h +0 -7
- package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.mm +123 -127
- package/ReactCommon/react/nativemodule/samples/BUCK +4 -5
- package/ReactCommon/react/nativemodule/samples/platform/android/Android.mk +2 -2
- package/ReactCommon/react/nativemodule/samples/platform/ios/RCTSampleTurboCxxModule.mm +12 -0
- package/ReactCommon/react/nativemodule/samples/platform/ios/RCTSampleTurboModule.mm +0 -2
- package/ReactCommon/react/renderer/animations/Android.mk +3 -2
- package/ReactCommon/react/renderer/animations/BUCK +6 -3
- package/ReactCommon/react/renderer/animations/LayoutAnimationCallbackWrapper.h +34 -0
- package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.cpp +11 -66
- package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.h +8 -13
- package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +1117 -1147
- package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.h +98 -243
- package/ReactCommon/react/renderer/animations/conversions.h +212 -0
- package/ReactCommon/react/renderer/animations/primitives.h +104 -0
- package/ReactCommon/react/renderer/animations/tests/LayoutAnimationTest.cpp +544 -0
- package/ReactCommon/react/renderer/animations/utils.cpp +71 -0
- package/ReactCommon/react/renderer/animations/utils.h +80 -0
- package/ReactCommon/react/renderer/attributedstring/Android.mk +4 -2
- package/ReactCommon/react/renderer/attributedstring/AttributedString.h +0 -1
- package/ReactCommon/react/renderer/attributedstring/AttributedStringBox.cpp +28 -6
- package/ReactCommon/react/renderer/attributedstring/AttributedStringBox.h +2 -2
- package/ReactCommon/react/renderer/attributedstring/BUCK +9 -4
- package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.cpp +7 -3
- package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.h +12 -2
- package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +7 -2
- package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +3 -1
- package/ReactCommon/react/renderer/attributedstring/conversions.h +718 -305
- package/ReactCommon/react/renderer/attributedstring/primitives.h +34 -1
- package/ReactCommon/react/renderer/attributedstring/tests/AttributedStringBoxTest.cpp +105 -0
- package/ReactCommon/react/renderer/attributedstring/tests/AttributedStringTest.cpp +17 -20
- package/ReactCommon/react/renderer/attributedstring/tests/ParagraphAttributesTest.cpp +7 -12
- package/ReactCommon/react/renderer/attributedstring/tests/TextAttributesTest.cpp +13 -15
- package/ReactCommon/react/renderer/componentregistry/Android.mk +3 -2
- package/ReactCommon/react/renderer/componentregistry/BUCK +5 -4
- package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorProviderRegistry.cpp +2 -2
- package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorProviderRegistry.h +1 -0
- package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +17 -67
- package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.h +4 -1
- package/ReactCommon/react/renderer/componentregistry/componentNameByReactViewName.cpp +73 -0
- package/ReactCommon/react/renderer/{components/picker/iospicker/PickerShadowNode.cpp → componentregistry/componentNameByReactViewName.h} +7 -2
- package/ReactCommon/react/renderer/componentregistry/native/Android.mk +29 -0
- package/ReactCommon/react/renderer/componentregistry/native/BUCK +58 -0
- package/ReactCommon/react/renderer/componentregistry/native/NativeComponentRegistryBinding.cpp +68 -0
- package/ReactCommon/react/renderer/componentregistry/native/NativeComponentRegistryBinding.h +61 -0
- package/ReactCommon/react/renderer/components/image/Android.mk +5 -3
- package/ReactCommon/react/renderer/components/image/BUCK +7 -3
- package/ReactCommon/react/renderer/components/image/ImageComponentDescriptor.h +3 -2
- package/ReactCommon/react/renderer/components/image/ImageProps.cpp +28 -9
- package/ReactCommon/react/renderer/components/image/ImageProps.h +5 -1
- package/ReactCommon/react/renderer/components/image/ImageState.h +9 -1
- package/ReactCommon/react/renderer/components/image/conversions.h +29 -18
- package/ReactCommon/react/renderer/components/inputaccessory/BUCK +4 -3
- package/ReactCommon/react/renderer/components/inputaccessory/InputAccessoryComponentDescriptor.h +5 -3
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/BUCK +3 -3
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.h +1 -1
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm +17 -4
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewProps.cpp +5 -10
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropViewProps.h +2 -0
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.h +1 -1
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/RCTLegacyViewManagerInteropCoordinator.mm +69 -12
- package/ReactCommon/react/renderer/components/modal/Android.mk +4 -3
- package/ReactCommon/react/renderer/components/modal/BUCK +6 -2
- package/ReactCommon/react/renderer/components/modal/ModalHostViewComponentDescriptor.h +5 -3
- package/ReactCommon/react/renderer/components/modal/ModalHostViewState.h +6 -0
- package/ReactCommon/react/renderer/components/progressbar/Android.mk +3 -3
- package/ReactCommon/react/renderer/components/progressbar/BUCK +4 -3
- package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarComponentDescriptor.h +4 -2
- package/ReactCommon/react/renderer/components/root/Android.mk +4 -3
- package/ReactCommon/react/renderer/components/root/BUCK +4 -3
- package/ReactCommon/react/renderer/components/root/RootProps.cpp +12 -2
- package/ReactCommon/react/renderer/components/root/RootProps.h +6 -1
- package/ReactCommon/react/renderer/components/root/RootShadowNode.cpp +7 -1
- package/ReactCommon/react/renderer/components/root/RootShadowNode.h +2 -0
- package/ReactCommon/react/renderer/components/root/tests/RootShadowNodeTest.cpp +35 -3
- package/ReactCommon/react/renderer/components/safeareaview/BUCK +4 -3
- package/ReactCommon/react/renderer/components/safeareaview/SafeAreaViewComponentDescriptor.h +5 -3
- package/ReactCommon/react/renderer/components/scrollview/Android.mk +5 -3
- package/ReactCommon/react/renderer/components/scrollview/BUCK +6 -3
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.cpp +59 -6
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.h +10 -5
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewShadowNode.cpp +23 -2
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewShadowNode.h +1 -0
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewState.cpp +1 -1
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewState.h +12 -2
- package/ReactCommon/react/renderer/components/scrollview/conversions.h +5 -0
- package/ReactCommon/react/renderer/components/slider/Android.mk +4 -3
- package/ReactCommon/react/renderer/components/slider/BUCK +5 -3
- package/ReactCommon/react/renderer/components/slider/SliderComponentDescriptor.h +4 -2
- package/ReactCommon/react/renderer/components/slider/SliderState.h +8 -0
- package/ReactCommon/react/renderer/components/slider/platform/ios/SliderMeasurementsManager.cpp +3 -1
- package/ReactCommon/react/renderer/components/switch/Android.mk +3 -3
- package/ReactCommon/react/renderer/components/switch/BUCK +3 -3
- package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchComponentDescriptor.h +4 -2
- package/ReactCommon/react/renderer/components/text/Android.mk +5 -3
- package/ReactCommon/react/renderer/components/text/BUCK +10 -4
- package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +32 -0
- package/ReactCommon/react/renderer/components/text/BaseTextProps.h +5 -1
- package/ReactCommon/react/renderer/components/text/BaseTextShadowNode.cpp +2 -3
- package/ReactCommon/react/renderer/components/text/ParagraphComponentDescriptor.h +5 -24
- package/ReactCommon/react/renderer/components/text/ParagraphProps.cpp +15 -6
- package/ReactCommon/react/renderer/components/text/ParagraphProps.h +5 -1
- package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp +9 -16
- package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.h +7 -6
- package/ReactCommon/react/renderer/components/text/ParagraphState.cpp +4 -0
- package/ReactCommon/react/renderer/components/text/ParagraphState.h +8 -3
- package/ReactCommon/react/renderer/components/text/RawTextProps.cpp +3 -2
- package/ReactCommon/react/renderer/components/text/RawTextProps.h +5 -1
- package/ReactCommon/react/renderer/components/text/RawTextShadowNode.h +36 -2
- package/ReactCommon/react/renderer/components/text/TextProps.cpp +6 -3
- package/ReactCommon/react/renderer/components/text/TextProps.h +5 -1
- package/ReactCommon/react/renderer/components/text/TextShadowNode.h +23 -0
- package/ReactCommon/react/renderer/components/text/conversions.h +22 -0
- package/ReactCommon/react/renderer/components/text/tests/ParagraphLocalDataTest.cpp +8 -5
- package/ReactCommon/react/renderer/components/textinput/Android.mk +5 -3
- package/ReactCommon/react/renderer/components/textinput/BUCK +8 -4
- package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputComponentDescriptor.h +8 -5
- package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.cpp +58 -91
- package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.h +10 -6
- package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.cpp +2 -8
- package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.h +5 -5
- package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputState.cpp +0 -3
- package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputState.h +5 -8
- package/ReactCommon/react/renderer/components/textinput/iostextinput/BUCK +5 -4
- package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputComponentDescriptor.h +4 -2
- package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputProps.cpp +46 -22
- package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputProps.h +6 -5
- package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputShadowNode.cpp +3 -2
- package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputShadowNode.h +6 -6
- package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputState.h +2 -0
- package/ReactCommon/react/renderer/components/textinput/iostextinput/conversions.h +19 -7
- package/ReactCommon/react/renderer/components/textinput/iostextinput/primitives.h +6 -0
- package/ReactCommon/react/renderer/components/textinput/iostextinput/propsConversions.h +63 -2
- package/ReactCommon/react/renderer/components/unimplementedview/Android.mk +4 -3
- package/ReactCommon/react/renderer/components/unimplementedview/BUCK +4 -3
- package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewComponentDescriptor.cpp +8 -3
- package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewComponentDescriptor.h +5 -2
- package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewProps.h +1 -0
- package/ReactCommon/react/renderer/components/view/AccessibilityPrimitives.h +28 -0
- package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +24 -1
- package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +4 -1
- package/ReactCommon/react/renderer/components/view/Android.mk +6 -4
- package/ReactCommon/react/renderer/components/view/BUCK +5 -3
- package/ReactCommon/react/renderer/components/view/TouchEventEmitter.cpp +19 -5
- package/ReactCommon/react/renderer/components/view/TouchEventEmitter.h +2 -1
- package/ReactCommon/react/renderer/components/view/ViewComponentDescriptor.h +0 -22
- package/ReactCommon/react/renderer/components/view/ViewEventEmitter.cpp +1 -1
- package/ReactCommon/react/renderer/components/view/ViewProps.cpp +62 -14
- package/ReactCommon/react/renderer/components/view/ViewProps.h +7 -1
- package/ReactCommon/react/renderer/components/view/ViewPropsInterpolation.h +5 -8
- package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +5 -19
- package/ReactCommon/react/renderer/components/view/ViewShadowNode.h +1 -1
- package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +147 -78
- package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.h +4 -9
- package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +3 -2
- package/ReactCommon/react/renderer/components/view/YogaStylableProps.h +2 -0
- package/ReactCommon/react/renderer/components/view/accessibilityPropsConversions.h +99 -24
- package/ReactCommon/react/renderer/components/view/conversions.h +89 -45
- package/ReactCommon/react/renderer/components/view/primitives.h +5 -4
- package/ReactCommon/react/renderer/components/view/propsConversions.h +163 -28
- package/ReactCommon/react/renderer/components/view/tests/ViewTest.cpp +11 -2
- package/ReactCommon/react/renderer/core/Android.mk +4 -2
- package/ReactCommon/react/renderer/core/BUCK +7 -4
- package/ReactCommon/react/renderer/core/BatchedEventQueue.cpp +2 -34
- package/ReactCommon/react/renderer/core/BatchedEventQueue.h +2 -9
- package/ReactCommon/react/renderer/core/ComponentDescriptor.h +6 -3
- package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +28 -27
- package/ReactCommon/react/renderer/core/ConcreteShadowNode.h +11 -5
- package/ReactCommon/react/renderer/core/ConcreteState.h +7 -3
- package/ReactCommon/react/renderer/core/DynamicPropsUtilities.cpp +35 -0
- package/ReactCommon/react/renderer/{components/picker/iospicker/PickerState.h → core/DynamicPropsUtilities.h} +5 -4
- package/ReactCommon/react/renderer/core/EventDispatcher.cpp +9 -15
- package/ReactCommon/react/renderer/core/EventDispatcher.h +5 -10
- package/ReactCommon/react/renderer/core/EventEmitter.cpp +22 -12
- package/ReactCommon/react/renderer/core/EventEmitter.h +7 -2
- package/ReactCommon/react/renderer/core/EventPipe.h +2 -0
- package/ReactCommon/react/renderer/core/EventPriority.h +1 -1
- package/ReactCommon/react/renderer/core/EventQueue.cpp +39 -36
- package/ReactCommon/react/renderer/core/EventQueue.h +14 -8
- package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +82 -0
- package/ReactCommon/react/renderer/core/EventQueueProcessor.h +36 -0
- package/ReactCommon/react/renderer/core/EventTarget.cpp +4 -2
- package/ReactCommon/react/renderer/core/LayoutConstraints.h +6 -0
- package/ReactCommon/react/renderer/core/LayoutMetrics.cpp +65 -0
- package/ReactCommon/react/renderer/core/LayoutMetrics.h +35 -2
- package/ReactCommon/react/renderer/core/LayoutPrimitives.h +14 -6
- package/ReactCommon/react/renderer/core/LayoutableShadowNode.cpp +1 -1
- package/ReactCommon/react/renderer/core/LayoutableShadowNode.h +2 -7
- package/ReactCommon/react/renderer/core/Props.cpp +10 -2
- package/ReactCommon/react/renderer/core/Props.h +6 -1
- package/ReactCommon/react/renderer/core/PropsParserContext.h +29 -0
- package/ReactCommon/react/renderer/core/RawEvent.cpp +4 -2
- package/ReactCommon/react/renderer/core/RawEvent.h +40 -3
- package/ReactCommon/react/renderer/core/RawProps.cpp +5 -3
- package/ReactCommon/react/renderer/core/RawProps.h +3 -1
- package/ReactCommon/react/renderer/core/RawPropsKey.cpp +18 -7
- package/ReactCommon/react/renderer/core/RawPropsKeyMap.cpp +8 -6
- package/ReactCommon/react/renderer/core/RawPropsParser.cpp +10 -7
- package/ReactCommon/react/renderer/core/RawPropsParser.h +11 -2
- package/ReactCommon/react/renderer/core/RawValue.h +9 -7
- package/ReactCommon/react/renderer/core/ReactEventPriority.h +43 -0
- package/ReactCommon/react/renderer/core/ReactPrimitives.h +34 -2
- package/ReactCommon/react/renderer/core/Sealable.cpp +4 -3
- package/ReactCommon/react/renderer/core/Sealable.h +5 -1
- package/ReactCommon/react/renderer/core/ShadowNode.cpp +42 -13
- package/ReactCommon/react/renderer/core/ShadowNode.h +14 -4
- package/ReactCommon/react/renderer/core/ShadowNodeFamily.cpp +2 -1
- package/ReactCommon/react/renderer/core/ShadowNodeFamily.h +2 -1
- package/ReactCommon/react/renderer/core/ShadowNodeTraits.h +17 -1
- package/ReactCommon/react/renderer/core/State.h +3 -0
- package/ReactCommon/react/renderer/core/StateData.h +3 -0
- package/ReactCommon/react/renderer/core/propsConversions.h +19 -9
- package/ReactCommon/react/renderer/core/tests/ComponentDescriptorTest.cpp +16 -4
- package/ReactCommon/react/renderer/core/tests/ConcreteShadowNodeTest.cpp +1 -1
- package/ReactCommon/react/renderer/core/tests/DynamicPropsUtilitiesTest.cpp +66 -0
- package/ReactCommon/react/renderer/core/tests/EventQueueProcessorTest.cpp +134 -0
- package/ReactCommon/react/renderer/core/tests/RawPropsTest.cpp +99 -30
- package/ReactCommon/react/renderer/core/tests/TestComponent.h +11 -7
- package/ReactCommon/react/renderer/core/tests/traitCastTest.cpp +31 -0
- package/ReactCommon/react/renderer/debug/Android.mk +1 -1
- package/ReactCommon/react/renderer/debug/BUCK +4 -6
- package/ReactCommon/react/renderer/debug/DebugStringConvertible.h +11 -25
- package/ReactCommon/react/renderer/debug/flags.h +50 -0
- package/ReactCommon/react/renderer/element/BUCK +3 -3
- package/ReactCommon/react/renderer/graphics/Android.mk +7 -3
- package/ReactCommon/react/renderer/graphics/BUCK +16 -4
- package/ReactCommon/react/renderer/graphics/React-graphics.podspec +4 -3
- package/ReactCommon/react/renderer/graphics/Transform.cpp +5 -4
- package/ReactCommon/react/renderer/graphics/Transform.h +1 -1
- package/ReactCommon/react/renderer/graphics/conversions.h +102 -44
- package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/PlatformColorParser.h +67 -0
- package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/Color.cpp +14 -6
- package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/Color.h +2 -0
- package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/PlatformColorParser.h +29 -0
- package/ReactCommon/react/renderer/graphics/platform/ios/Color.cpp +14 -6
- package/ReactCommon/react/renderer/graphics/platform/ios/Color.h +44 -1
- package/ReactCommon/react/renderer/graphics/platform/ios/PlatformColorParser.h +34 -0
- package/ReactCommon/react/renderer/graphics/platform/ios/RCTPlatformColorUtils.h +12 -0
- package/ReactCommon/react/renderer/graphics/platform/ios/RCTPlatformColorUtils.mm +206 -0
- package/ReactCommon/react/renderer/imagemanager/Android.mk +3 -2
- package/ReactCommon/react/renderer/imagemanager/BUCK +5 -4
- package/ReactCommon/react/renderer/imagemanager/ImageResponseObserverCoordinator.cpp +5 -4
- package/ReactCommon/react/renderer/imagemanager/platform/ios/RCTImagePrimitivesConversions.h +8 -6
- package/ReactCommon/react/renderer/imagemanager/platform/ios/RCTSyncImageManager.mm +1 -1
- package/ReactCommon/react/renderer/leakchecker/Android.mk +29 -0
- package/ReactCommon/react/renderer/{components/picker/iospicker → leakchecker}/BUCK +8 -12
- package/ReactCommon/react/renderer/leakchecker/LeakChecker.cpp +60 -0
- package/ReactCommon/react/renderer/leakchecker/LeakChecker.h +39 -0
- package/ReactCommon/react/renderer/leakchecker/WeakFamilyRegistry.cpp +37 -0
- package/ReactCommon/react/renderer/leakchecker/WeakFamilyRegistry.h +39 -0
- package/ReactCommon/react/renderer/mapbuffer/Android.mk +9 -6
- package/ReactCommon/react/renderer/mapbuffer/BUCK +14 -5
- package/ReactCommon/react/renderer/mapbuffer/MapBuffer.cpp +131 -4
- package/ReactCommon/react/renderer/mapbuffer/MapBuffer.h +40 -4
- package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.cpp +226 -0
- package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.h +94 -0
- package/ReactCommon/react/renderer/mapbuffer/primitives.h +91 -0
- package/ReactCommon/react/renderer/mapbuffer/tests/MapBufferTest.cpp +141 -5
- package/ReactCommon/react/renderer/mounting/Android.mk +5 -2
- package/ReactCommon/react/renderer/mounting/BUCK +6 -3
- package/ReactCommon/react/renderer/mounting/Differentiator.cpp +794 -620
- package/ReactCommon/react/renderer/mounting/Differentiator.h +31 -4
- package/ReactCommon/react/renderer/mounting/MountingCoordinator.cpp +4 -2
- package/ReactCommon/react/renderer/mounting/MountingCoordinator.h +1 -4
- package/ReactCommon/react/renderer/mounting/MountingOverrideDelegate.h +1 -1
- package/ReactCommon/react/renderer/mounting/MountingTransaction.h +2 -2
- package/ReactCommon/react/renderer/mounting/MountingTransactionMetadata.h +1 -1
- package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +19 -15
- package/ReactCommon/react/renderer/mounting/ShadowTree.h +11 -4
- package/ReactCommon/react/renderer/mounting/ShadowTreeRegistry.cpp +3 -1
- package/ReactCommon/react/renderer/mounting/ShadowTreeRevision.h +1 -1
- package/ReactCommon/react/renderer/mounting/ShadowView.cpp +15 -1
- package/ReactCommon/react/renderer/mounting/ShadowView.h +45 -2
- package/ReactCommon/react/renderer/mounting/ShadowViewMutation.cpp +28 -0
- package/ReactCommon/react/renderer/mounting/ShadowViewMutation.h +17 -0
- package/ReactCommon/react/renderer/mounting/StubView.cpp +21 -2
- package/ReactCommon/react/renderer/mounting/StubView.h +3 -0
- package/ReactCommon/react/renderer/mounting/StubViewTree.cpp +204 -77
- package/ReactCommon/react/renderer/mounting/TelemetryController.cpp +1 -1
- package/ReactCommon/react/renderer/mounting/TelemetryController.h +1 -1
- package/ReactCommon/react/renderer/mounting/stubs.cpp +5 -4
- package/ReactCommon/react/renderer/mounting/tests/MountingTest.cpp +13 -2
- package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +232 -9
- package/ReactCommon/react/renderer/mounting/tests/StateReconciliationTest.cpp +18 -8
- package/ReactCommon/react/renderer/runtimescheduler/Android.mk +28 -0
- package/ReactCommon/react/renderer/runtimescheduler/BUCK +77 -0
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +118 -0
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +105 -0
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.cpp +171 -0
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.h +44 -0
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.cpp +30 -0
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.h +34 -0
- package/ReactCommon/react/renderer/{components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerComponentDescriptor.h → runtimescheduler/RuntimeSchedulerClock.h} +8 -5
- package/ReactCommon/react/renderer/runtimescheduler/SchedulerPriority.h +65 -0
- package/ReactCommon/react/renderer/runtimescheduler/Task.cpp +37 -0
- package/ReactCommon/react/renderer/runtimescheduler/Task.h +48 -0
- package/ReactCommon/react/renderer/runtimescheduler/primitives.h +41 -0
- package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +472 -0
- package/ReactCommon/react/renderer/runtimescheduler/tests/SchedulerPriorityTest.cpp +46 -0
- package/ReactCommon/react/renderer/runtimescheduler/tests/StubClock.h +41 -0
- package/ReactCommon/react/renderer/runtimescheduler/tests/StubQueue.h +38 -0
- package/ReactCommon/react/renderer/scheduler/Android.mk +4 -2
- package/ReactCommon/react/renderer/scheduler/AsynchronousEventBeat.cpp +16 -13
- package/ReactCommon/react/renderer/scheduler/AsynchronousEventBeat.h +4 -4
- package/ReactCommon/react/renderer/scheduler/BUCK +5 -3
- package/ReactCommon/react/renderer/{components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerShadowNode.cpp → scheduler/InspectorData.h} +10 -2
- package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +81 -132
- package/ReactCommon/react/renderer/scheduler/Scheduler.h +32 -35
- package/ReactCommon/react/renderer/scheduler/SchedulerDelegate.h +12 -10
- package/ReactCommon/react/renderer/scheduler/SchedulerToolbox.h +2 -0
- package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +317 -0
- package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +209 -0
- package/ReactCommon/react/renderer/scheduler/SurfaceManager.cpp +104 -0
- package/ReactCommon/react/renderer/scheduler/SurfaceManager.h +67 -0
- package/ReactCommon/react/renderer/scheduler/SynchronousEventBeat.cpp +14 -5
- package/ReactCommon/react/renderer/scheduler/SynchronousEventBeat.h +4 -1
- package/ReactCommon/react/renderer/telemetry/Android.mk +31 -0
- package/ReactCommon/react/renderer/telemetry/BUCK +84 -0
- package/ReactCommon/react/renderer/{mounting → telemetry}/SurfaceTelemetry.cpp +5 -0
- package/ReactCommon/react/renderer/{mounting → telemetry}/SurfaceTelemetry.h +3 -1
- package/ReactCommon/react/renderer/telemetry/TransactionTelemetry.cpp +163 -0
- package/ReactCommon/react/renderer/{mounting → telemetry}/TransactionTelemetry.h +11 -0
- package/ReactCommon/react/renderer/telemetry/tests/TransactionTelemetryTest.cpp +176 -0
- package/ReactCommon/react/renderer/templateprocessor/Android.mk +1 -1
- package/ReactCommon/react/renderer/templateprocessor/BUCK +3 -3
- package/ReactCommon/react/renderer/templateprocessor/UITemplateProcessor.cpp +5 -5
- package/ReactCommon/react/renderer/textlayoutmanager/Android.mk +5 -2
- package/ReactCommon/react/renderer/textlayoutmanager/BUCK +5 -3
- package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.cpp +12 -9
- package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +132 -3
- package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h +17 -1
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTAttributedTextUtils.h +2 -0
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTAttributedTextUtils.mm +22 -0
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/TextLayoutManager.mm +25 -3
- package/ReactCommon/react/renderer/{components/picker → timeline}/BUCK +14 -28
- package/ReactCommon/react/renderer/timeline/Timeline.cpp +120 -0
- package/ReactCommon/react/renderer/timeline/Timeline.h +63 -0
- package/ReactCommon/react/renderer/timeline/TimelineController.cpp +77 -0
- package/ReactCommon/react/renderer/timeline/TimelineController.h +80 -0
- package/ReactCommon/react/renderer/timeline/TimelineFrame.cpp +25 -0
- package/ReactCommon/react/renderer/timeline/TimelineFrame.h +46 -0
- package/ReactCommon/react/renderer/timeline/TimelineHandler.cpp +97 -0
- package/ReactCommon/react/renderer/timeline/TimelineHandler.h +80 -0
- package/ReactCommon/react/renderer/timeline/TimelineSnapshot.cpp +30 -0
- package/ReactCommon/react/renderer/timeline/TimelineSnapshot.h +36 -0
- package/ReactCommon/react/renderer/uimanager/Android.mk +4 -2
- package/ReactCommon/react/renderer/uimanager/BUCK +5 -3
- package/ReactCommon/react/renderer/uimanager/LayoutAnimationStatusDelegate.h +2 -4
- package/ReactCommon/react/renderer/uimanager/UIManager.cpp +121 -36
- package/ReactCommon/react/renderer/uimanager/UIManager.h +40 -21
- package/ReactCommon/react/renderer/uimanager/UIManagerAnimationDelegate.h +3 -5
- package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +201 -77
- package/ReactCommon/react/renderer/uimanager/UIManagerBinding.h +29 -6
- package/ReactCommon/react/renderer/uimanager/UIManagerCommitHook.h +2 -4
- package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +16 -15
- package/ReactCommon/react/renderer/uimanager/primitives.h +57 -9
- package/ReactCommon/react/test_utils/BUCK +57 -0
- package/ReactCommon/react/{renderer/mounting/tests → test_utils}/Entropy.h +4 -0
- package/ReactCommon/react/test_utils/MockClock.h +29 -0
- package/ReactCommon/react/{renderer/components/picker/iospicker/PickerEventEmitter.h → test_utils/MockSurfaceHandler.h} +6 -9
- package/ReactCommon/react/{renderer/mounting/tests → test_utils}/shadowTreeGeneration.h +61 -5
- package/ReactCommon/react/utils/Android.mk +8 -3
- package/ReactCommon/react/utils/BUCK +9 -2
- package/ReactCommon/react/utils/CalledOnceMovableOnlyFunction.h +6 -4
- package/ReactCommon/react/utils/ContextContainer.h +4 -24
- package/ReactCommon/react/utils/LayoutManager.h +56 -0
- package/ReactCommon/react/utils/ManagedObjectWrapper.h +3 -1
- package/ReactCommon/react/utils/RunLoopObserver.cpp +5 -4
- package/ReactCommon/reactperflogger/Android.mk +1 -1
- package/ReactCommon/reactperflogger/BUCK +1 -1
- package/ReactCommon/reactperflogger/React-perflogger.podspec +2 -2
- package/ReactCommon/runtimeexecutor/Android.mk +1 -1
- package/ReactCommon/runtimeexecutor/BUCK +2 -2
- package/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +2 -2
- package/ReactCommon/runtimeexecutor/ReactCommon/RuntimeExecutor.h +14 -2
- package/ReactCommon/yoga/Yoga.podspec +1 -1
- package/ReactCommon/yoga/yoga/BitUtils.h +3 -2
- package/ReactCommon/yoga/yoga/Utils.cpp +1 -1
- package/ReactCommon/yoga/yoga/YGNode.cpp +111 -110
- package/ReactCommon/yoga/yoga/YGNode.h +11 -0
- package/ReactCommon/yoga/yoga/YGNodePrint.cpp +7 -4
- package/ReactCommon/yoga/yoga/Yoga-internal.h +4 -5
- package/ReactCommon/yoga/yoga/Yoga.cpp +114 -159
- package/ReactCommon/yoga/yoga/Yoga.h +1 -1
- package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.aar +0 -0
- package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.aar.md5 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.aar.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.aar.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.aar.sha512 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.module +272 -0
- package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.module.md5 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.module.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.module.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.module.sha512 +1 -0
- package/android/com/facebook/react/react-native/{0.0.0-201c10733/react-native-0.0.0-201c10733.pom → 0.0.0-268efb102/react-native-0.0.0-268efb102.pom} +24 -13
- package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.pom.md5 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.pom.sha1 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.pom.sha256 +1 -0
- package/android/com/facebook/react/react-native/0.0.0-268efb102/react-native-0.0.0-268efb102.pom.sha512 +1 -0
- package/android/com/facebook/react/react-native/maven-metadata.xml +4 -3
- package/android/com/facebook/react/react-native/maven-metadata.xml.md5 +1 -1
- package/android/com/facebook/react/react-native/maven-metadata.xml.sha1 +1 -1
- package/android/com/facebook/react/react-native/maven-metadata.xml.sha256 +1 -0
- package/android/com/facebook/react/react-native/maven-metadata.xml.sha512 +1 -0
- package/flow/HermesInternalType.js +114 -0
- package/flow/global.js +68 -0
- package/flow-typed/npm/react-test-renderer_v16.x.x.js +79 -0
- package/index.js +122 -60
- package/jest/preprocessor.js +75 -7
- package/jest/renderer.js +3 -9
- package/jest/setup.js +21 -15
- package/package.json +61 -21
- package/react.gradle +47 -25
- package/scripts/find-node.sh +39 -0
- package/scripts/generate-specs-cli.js +20 -2
- package/scripts/ios-configure-glog.sh +4 -0
- package/scripts/react-native-xcode.sh +7 -23
- package/scripts/react_native_pods.rb +215 -47
- package/template/_flowconfig +3 -4
- package/template/_gitignore +1 -0
- package/template/android/app/build.gradle +12 -7
- package/template/android/app/src/main/res/values/styles.xml +0 -1
- package/template/android/build.gradle +7 -8
- package/template/android/gradle/wrapper/gradle-wrapper.properties +1 -1
- package/template/android/gradle.properties +1 -1
- package/template/ios/HelloWorld.xcodeproj/project.pbxproj +2 -0
- package/template/ios/Podfile +1 -0
- package/template/package.json +4 -5
- package/third-party-podspecs/DoubleConversion.podspec +1 -1
- package/third-party-podspecs/RCT-Folly.podspec +31 -11
- package/third-party-podspecs/boost.podspec +23 -0
- package/third-party-podspecs/glog.podspec +1 -1
- package/Libraries/BUCK +0 -56
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.android.js +0 -169
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.ios.js +0 -280
- package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.android.js +0 -89
- package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.ios.js +0 -30
- package/Libraries/Components/DatePickerAndroid/DatePickerAndroidTypes.js +0 -30
- package/Libraries/Components/Picker/AndroidDialogPickerNativeComponent.js +0 -82
- package/Libraries/Components/Picker/AndroidDialogPickerViewConfig.js +0 -30
- package/Libraries/Components/Picker/AndroidDropdownPickerNativeComponent.js +0 -69
- package/Libraries/Components/Picker/Picker.js +0 -165
- package/Libraries/Components/Picker/PickerAndroid.android.js +0 -145
- package/Libraries/Components/Picker/PickerIOS.android.js +0 -14
- package/Libraries/Components/Picker/PickerIOS.ios.js +0 -164
- package/Libraries/Components/Picker/RCTPickerNativeComponent.js +0 -72
- package/Libraries/Components/Picker/RCTPickerViewConfig.js +0 -41
- package/Libraries/Components/ScrollResponder.js +0 -797
- package/Libraries/Components/StaticContainer.react.js +0 -51
- package/Libraries/Components/StatusBar/StatusBarIOS.js +0 -35
- package/Libraries/Components/Touchable/ensurePositiveDelayProps.js +0 -26
- package/Libraries/Interaction/InteractionMixin.js +0 -55
- package/Libraries/ReactNative/queryLayoutByID.js +0 -58
- package/Libraries/StyleSheet/StyleSheetValidation.js +0 -100
- package/Libraries/Utilities/registerGeneratedViewConfig.js +0 -36
- package/Libraries/promiseRejectionIsError.js +0 -24
- package/React/Base/RCTJSInvokerModule.h +0 -18
- package/React/Fabric/Mounting/ComponentViews/Picker/RCTPickerComponentView.h +0 -19
- package/React/Fabric/Mounting/ComponentViews/Picker/RCTPickerComponentView.mm +0 -206
- package/React/Views/RCTPicker.h +0 -23
- package/React/Views/RCTPicker.m +0 -122
- package/React/Views/RCTPickerManager.m +0 -68
- package/ReactAndroid/release.gradle +0 -87
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/DatePickerDialogTestCase.java +0 -172
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/ReactPickerTestCase.java +0 -196
- package/ReactAndroid/src/androidTest/js/DatePickerDialogTestModule.js +0 -45
- package/ReactAndroid/src/androidTest/js/PickerAndroidTestModule.js +0 -89
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerImpl.java +0 -82
- package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/BUCK +0 -27
- package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerDialogFragment.java +0 -137
- package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerDialogModule.java +0 -147
- package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DismissableDatePickerDialog.java +0 -117
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidDialogPickerManagerDelegate.java +0 -48
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidDialogPickerManagerInterface.java +0 -23
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidDropdownPickerManagerDelegate.java +0 -48
- package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidDropdownPickerManagerInterface.java +0 -22
- package/ReactAndroid/src/main/java/com/facebook/react/views/picker/BUCK +0 -30
- package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactDialogPickerManager.java +0 -51
- package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactDropdownPickerManager.java +0 -50
- package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPicker.java +0 -196
- package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPickerAdapter.java +0 -95
- package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPickerItem.java +0 -43
- package/ReactAndroid/src/main/java/com/facebook/react/views/picker/ReactPickerManager.java +0 -97
- package/ReactAndroid/src/main/java/com/facebook/react/views/picker/events/PickerItemSelectEvent.java +0 -40
- package/ReactCommon/cxxreact/re_worker_requirements +0 -6
- package/ReactCommon/react/renderer/components/picker/Android.mk +0 -37
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerEventEmitter.cpp +0 -23
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerEventEmitter.h +0 -27
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerProps.cpp +0 -28
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerProps.h +0 -77
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDialogPickerShadowNode.h +0 -29
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerEventEmitter.cpp +0 -23
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerEventEmitter.h +0 -27
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerProps.cpp +0 -28
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerProps.h +0 -77
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerShadowNode.cpp +0 -17
- package/ReactCommon/react/renderer/components/picker/androidpicker/react/renderer/components/androidpicker/AndroidDropdownPickerShadowNode.h +0 -29
- package/ReactCommon/react/renderer/components/picker/iospicker/PickerComponentDescriptor.h +0 -26
- package/ReactCommon/react/renderer/components/picker/iospicker/PickerEventEmitter.cpp +0 -23
- package/ReactCommon/react/renderer/components/picker/iospicker/PickerProps.cpp +0 -46
- package/ReactCommon/react/renderer/components/picker/iospicker/PickerProps.h +0 -36
- package/ReactCommon/react/renderer/components/picker/iospicker/PickerShadowNode.h +0 -33
- package/ReactCommon/react/renderer/components/picker/iospicker/conversions.h +0 -47
- package/ReactCommon/react/renderer/mounting/TransactionTelemetry.cpp +0 -142
- package/ReactCommon/react/renderer/mounting/tests/TransactionTelemetryTest.cpp +0 -125
- package/android/com/facebook/react/react-native/0.0.0-201c10733/react-native-0.0.0-201c10733.aar +0 -0
- package/android/com/facebook/react/react-native/0.0.0-201c10733/react-native-0.0.0-201c10733.aar.md5 +0 -1
- package/android/com/facebook/react/react-native/0.0.0-201c10733/react-native-0.0.0-201c10733.aar.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.0.0-201c10733/react-native-0.0.0-201c10733.pom.md5 +0 -1
- package/android/com/facebook/react/react-native/0.0.0-201c10733/react-native-0.0.0-201c10733.pom.sha1 +0 -1
- package/scripts/generate-specs.sh +0 -91
|
@@ -8,23 +8,24 @@
|
|
|
8
8
|
* @flow strict-local
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
'use strict';
|
|
12
|
-
|
|
13
11
|
import AnimatedImplementation from '../../Animated/AnimatedImplementation';
|
|
12
|
+
import Dimensions from '../../Utilities/Dimensions';
|
|
14
13
|
import Platform from '../../Utilities/Platform';
|
|
15
14
|
import * as React from 'react';
|
|
16
15
|
import ReactNative from '../../Renderer/shims/ReactNative';
|
|
17
16
|
require('../../Renderer/shims/ReactNative'); // Force side effects to prevent T55744311
|
|
18
|
-
import ScrollResponder from '../ScrollResponder';
|
|
19
17
|
import ScrollViewStickyHeader from './ScrollViewStickyHeader';
|
|
20
18
|
import StyleSheet from '../../StyleSheet/StyleSheet';
|
|
21
19
|
import View from '../View/View';
|
|
20
|
+
import UIManager from '../../ReactNative/UIManager';
|
|
21
|
+
import Keyboard from '../Keyboard/Keyboard';
|
|
22
|
+
import FrameRateLogger from '../../Interaction/FrameRateLogger';
|
|
23
|
+
import TextInputState from '../TextInput/TextInputState';
|
|
22
24
|
|
|
23
25
|
import dismissKeyboard from '../../Utilities/dismissKeyboard';
|
|
24
26
|
import flattenStyle from '../../StyleSheet/flattenStyle';
|
|
25
27
|
import invariant from 'invariant';
|
|
26
28
|
import processDecelerationRate from './processDecelerationRate';
|
|
27
|
-
import resolveAssetSource from '../../Image/resolveAssetSource';
|
|
28
29
|
import splitLayoutProps from '../../StyleSheet/splitLayoutProps';
|
|
29
30
|
import setAndForwardRef from '../../Utilities/setAndForwardRef';
|
|
30
31
|
|
|
@@ -38,11 +39,13 @@ import type {
|
|
|
38
39
|
LayoutEvent,
|
|
39
40
|
} from '../../Types/CoreEventTypes';
|
|
40
41
|
import type {HostComponent} from '../../Renderer/shims/ReactNativeTypes';
|
|
41
|
-
import type {State as ScrollResponderState} from '../ScrollResponder';
|
|
42
42
|
import type {ViewProps} from '../View/ViewPropTypes';
|
|
43
43
|
import ScrollViewContext, {HORIZONTAL, VERTICAL} from './ScrollViewContext';
|
|
44
44
|
import type {Props as ScrollViewStickyHeaderProps} from './ScrollViewStickyHeader';
|
|
45
|
+
import type {KeyboardEvent} from '../Keyboard/Keyboard';
|
|
46
|
+
import type {EventSubscription} from '../../vendor/emitter/EventEmitter';
|
|
45
47
|
|
|
48
|
+
import Commands from './ScrollViewCommands';
|
|
46
49
|
import AndroidHorizontalScrollContentViewNativeComponent from './AndroidHorizontalScrollContentViewNativeComponent';
|
|
47
50
|
import AndroidHorizontalScrollViewNativeComponent from './AndroidHorizontalScrollViewNativeComponent';
|
|
48
51
|
import ScrollContentViewNativeComponent from './ScrollContentViewNativeComponent';
|
|
@@ -68,6 +71,79 @@ const {NativeHorizontalScrollViewTuple, NativeVerticalScrollViewTuple} =
|
|
|
68
71
|
],
|
|
69
72
|
};
|
|
70
73
|
|
|
74
|
+
/*
|
|
75
|
+
* iOS scroll event timing nuances:
|
|
76
|
+
* ===============================
|
|
77
|
+
*
|
|
78
|
+
*
|
|
79
|
+
* Scrolling without bouncing, if you touch down:
|
|
80
|
+
* -------------------------------
|
|
81
|
+
*
|
|
82
|
+
* 1. `onMomentumScrollBegin` (when animation begins after letting up)
|
|
83
|
+
* ... physical touch starts ...
|
|
84
|
+
* 2. `onTouchStartCapture` (when you press down to stop the scroll)
|
|
85
|
+
* 3. `onTouchStart` (same, but bubble phase)
|
|
86
|
+
* 4. `onResponderRelease` (when lifting up - you could pause forever before * lifting)
|
|
87
|
+
* 5. `onMomentumScrollEnd`
|
|
88
|
+
*
|
|
89
|
+
*
|
|
90
|
+
* Scrolling with bouncing, if you touch down:
|
|
91
|
+
* -------------------------------
|
|
92
|
+
*
|
|
93
|
+
* 1. `onMomentumScrollBegin` (when animation begins after letting up)
|
|
94
|
+
* ... bounce begins ...
|
|
95
|
+
* ... some time elapses ...
|
|
96
|
+
* ... physical touch during bounce ...
|
|
97
|
+
* 2. `onMomentumScrollEnd` (Makes no sense why this occurs first during bounce)
|
|
98
|
+
* 3. `onTouchStartCapture` (immediately after `onMomentumScrollEnd`)
|
|
99
|
+
* 4. `onTouchStart` (same, but bubble phase)
|
|
100
|
+
* 5. `onTouchEnd` (You could hold the touch start for a long time)
|
|
101
|
+
* 6. `onMomentumScrollBegin` (When releasing the view starts bouncing back)
|
|
102
|
+
*
|
|
103
|
+
* So when we receive an `onTouchStart`, how can we tell if we are touching
|
|
104
|
+
* *during* an animation (which then causes the animation to stop)? The only way
|
|
105
|
+
* to tell is if the `touchStart` occurred immediately after the
|
|
106
|
+
* `onMomentumScrollEnd`.
|
|
107
|
+
*
|
|
108
|
+
* This is abstracted out for you, so you can just call this.scrollResponderIsAnimating() if
|
|
109
|
+
* necessary
|
|
110
|
+
*
|
|
111
|
+
* `ScrollView` also includes logic for blurring a currently focused input
|
|
112
|
+
* if one is focused while scrolling. This is a natural place
|
|
113
|
+
* to put this logic since it can support not dismissing the keyboard while
|
|
114
|
+
* scrolling, unless a recognized "tap"-like gesture has occurred.
|
|
115
|
+
*
|
|
116
|
+
* The public lifecycle API includes events for keyboard interaction, responder
|
|
117
|
+
* interaction, and scrolling (among others). The keyboard callbacks
|
|
118
|
+
* `onKeyboardWill/Did/*` are *global* events, but are invoked on scroll
|
|
119
|
+
* responder's props so that you can guarantee that the scroll responder's
|
|
120
|
+
* internal state has been updated accordingly (and deterministically) by
|
|
121
|
+
* the time the props callbacks are invoke. Otherwise, you would always wonder
|
|
122
|
+
* if the scroll responder is currently in a state where it recognizes new
|
|
123
|
+
* keyboard positions etc. If coordinating scrolling with keyboard movement,
|
|
124
|
+
* *always* use these hooks instead of listening to your own global keyboard
|
|
125
|
+
* events.
|
|
126
|
+
*
|
|
127
|
+
* Public keyboard lifecycle API: (props callbacks)
|
|
128
|
+
*
|
|
129
|
+
* Standard Keyboard Appearance Sequence:
|
|
130
|
+
*
|
|
131
|
+
* this.props.onKeyboardWillShow
|
|
132
|
+
* this.props.onKeyboardDidShow
|
|
133
|
+
*
|
|
134
|
+
* `onScrollResponderKeyboardDismissed` will be invoked if an appropriate
|
|
135
|
+
* tap inside the scroll responder's scrollable region was responsible
|
|
136
|
+
* for the dismissal of the keyboard. There are other reasons why the
|
|
137
|
+
* keyboard could be dismissed.
|
|
138
|
+
*
|
|
139
|
+
* this.props.onScrollResponderKeyboardDismissed
|
|
140
|
+
*
|
|
141
|
+
* Standard Keyboard Hide Sequence:
|
|
142
|
+
*
|
|
143
|
+
* this.props.onKeyboardWillHide
|
|
144
|
+
* this.props.onKeyboardDidHide
|
|
145
|
+
*/
|
|
146
|
+
|
|
71
147
|
// Public methods for ScrollView
|
|
72
148
|
export type ScrollViewImperativeMethods = $ReadOnly<{|
|
|
73
149
|
getScrollResponder: $PropertyType<ScrollView, 'getScrollResponder'>,
|
|
@@ -78,14 +154,9 @@ export type ScrollViewImperativeMethods = $ReadOnly<{|
|
|
|
78
154
|
scrollTo: $PropertyType<ScrollView, 'scrollTo'>,
|
|
79
155
|
scrollToEnd: $PropertyType<ScrollView, 'scrollToEnd'>,
|
|
80
156
|
flashScrollIndicators: $PropertyType<ScrollView, 'flashScrollIndicators'>,
|
|
81
|
-
|
|
82
|
-
// ScrollResponder.Mixin public methods
|
|
83
|
-
scrollResponderZoomTo: $PropertyType<
|
|
84
|
-
typeof ScrollResponder.Mixin,
|
|
85
|
-
'scrollResponderZoomTo',
|
|
86
|
-
>,
|
|
157
|
+
scrollResponderZoomTo: $PropertyType<ScrollView, 'scrollResponderZoomTo'>,
|
|
87
158
|
scrollResponderScrollNativeHandleToKeyboard: $PropertyType<
|
|
88
|
-
|
|
159
|
+
ScrollView,
|
|
89
160
|
'scrollResponderScrollNativeHandleToKeyboard',
|
|
90
161
|
>,
|
|
91
162
|
|}>;
|
|
@@ -100,6 +171,18 @@ type IOSProps = $ReadOnly<{|
|
|
|
100
171
|
* @platform ios
|
|
101
172
|
*/
|
|
102
173
|
automaticallyAdjustContentInsets?: ?boolean,
|
|
174
|
+
/**
|
|
175
|
+
* Controls whether the ScrollView should automatically adjust it's contentInset
|
|
176
|
+
* and scrollViewInsets when the Keyboard changes it's size. The default value is false.
|
|
177
|
+
* @platform ios
|
|
178
|
+
*/
|
|
179
|
+
automaticallyAdjustKeyboardInsets?: ?boolean,
|
|
180
|
+
/**
|
|
181
|
+
* Controls whether iOS should automatically adjust the scroll indicator
|
|
182
|
+
* insets. The default value is true. Available on iOS 13 and later.
|
|
183
|
+
* @platform ios
|
|
184
|
+
*/
|
|
185
|
+
automaticallyAdjustsScrollIndicatorInsets?: ?boolean,
|
|
103
186
|
/**
|
|
104
187
|
* The amount by which the scroll view content is inset from the edges
|
|
105
188
|
* of the scroll view. Defaults to `{top: 0, left: 0, bottom: 0, right: 0}`.
|
|
@@ -356,32 +439,15 @@ type AndroidProps = $ReadOnly<{|
|
|
|
356
439
|
fadingEdgeLength?: ?number,
|
|
357
440
|
|}>;
|
|
358
441
|
|
|
359
|
-
type VRProps = $ReadOnly<{|
|
|
360
|
-
/**
|
|
361
|
-
* Optionally an image can be used for the scroll bar thumb. This will
|
|
362
|
-
* override the color. While the image is loading or the image fails to
|
|
363
|
-
* load the color will be used instead. Use an alpha of 0 in the color
|
|
364
|
-
* to avoid seeing it while the image is loading.
|
|
365
|
-
*
|
|
366
|
-
* - `uri` - a string representing the resource identifier for the image, which
|
|
367
|
-
* should be either a local file path or the name of a static image resource
|
|
368
|
-
* - `number` - Opaque type returned by something like
|
|
369
|
-
* `import IMAGE from './image.jpg'`.
|
|
370
|
-
* @platform vr
|
|
371
|
-
*/
|
|
372
|
-
scrollBarThumbImage?: ?($ReadOnly<{||}> | number), // Opaque type returned by import IMAGE from './image.jpg'
|
|
373
|
-
|}>;
|
|
374
|
-
|
|
375
442
|
type StickyHeaderComponentType = React.AbstractComponent<
|
|
376
443
|
ScrollViewStickyHeaderProps,
|
|
377
|
-
$ReadOnly<{setNextHeaderY: number => void
|
|
444
|
+
$ReadOnly<interface {setNextHeaderY: number => void}>,
|
|
378
445
|
>;
|
|
379
446
|
|
|
380
447
|
export type Props = $ReadOnly<{|
|
|
381
448
|
...ViewProps,
|
|
382
449
|
...IOSProps,
|
|
383
450
|
...AndroidProps,
|
|
384
|
-
...VRProps,
|
|
385
451
|
|
|
386
452
|
/**
|
|
387
453
|
* These styles will be applied to the scroll view content container which
|
|
@@ -444,10 +510,8 @@ export type Props = $ReadOnly<{|
|
|
|
444
510
|
* On android this is not supported and it will have the same behavior as 'none'.
|
|
445
511
|
*/
|
|
446
512
|
keyboardDismissMode?: ?// default
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
| 'interactive'
|
|
450
|
-
), // ios only
|
|
513
|
+
// cross-platform
|
|
514
|
+
('none' | 'on-drag' | 'interactive'), // ios only
|
|
451
515
|
/**
|
|
452
516
|
* Determines when the keyboard should stay visible after a tap.
|
|
453
517
|
*
|
|
@@ -494,7 +558,10 @@ export type Props = $ReadOnly<{|
|
|
|
494
558
|
* which this ScrollView renders.
|
|
495
559
|
*/
|
|
496
560
|
onContentSizeChange?: (contentWidth: number, contentHeight: number) => void,
|
|
497
|
-
onKeyboardDidShow?: (event:
|
|
561
|
+
onKeyboardDidShow?: (event: KeyboardEvent) => void,
|
|
562
|
+
onKeyboardDidHide?: (event: KeyboardEvent) => void,
|
|
563
|
+
onKeyboardWillShow?: (event: KeyboardEvent) => void,
|
|
564
|
+
onKeyboardWillHide?: (event: KeyboardEvent) => void,
|
|
498
565
|
/**
|
|
499
566
|
* When true, the scroll view stops on multiples of the scroll view's size
|
|
500
567
|
* when scrolling. This can be used for horizontal pagination. The default
|
|
@@ -516,6 +583,11 @@ export type Props = $ReadOnly<{|
|
|
|
516
583
|
* The default value is true.
|
|
517
584
|
*/
|
|
518
585
|
showsVerticalScrollIndicator?: ?boolean,
|
|
586
|
+
/**
|
|
587
|
+
* When true, Sticky header is hidden when scrolling down, and dock at the top
|
|
588
|
+
* when scrolling up
|
|
589
|
+
*/
|
|
590
|
+
stickyHeaderHiddenOnScroll?: ?boolean,
|
|
519
591
|
/**
|
|
520
592
|
* An array of child indices determining which children get docked to the
|
|
521
593
|
* top of the screen when scrolling. For example, passing
|
|
@@ -579,7 +651,8 @@ export type Props = $ReadOnly<{|
|
|
|
579
651
|
*
|
|
580
652
|
* See [RefreshControl](docs/refreshcontrol.html).
|
|
581
653
|
*/
|
|
582
|
-
|
|
654
|
+
/* $FlowFixMe[unclear-type] - how to handle generic type without existential
|
|
655
|
+
* operator? */
|
|
583
656
|
refreshControl?: ?React.Element<any>,
|
|
584
657
|
children?: React.Node,
|
|
585
658
|
/**
|
|
@@ -599,22 +672,9 @@ export type Props = $ReadOnly<{|
|
|
|
599
672
|
|
|
600
673
|
type State = {|
|
|
601
674
|
layoutHeight: ?number,
|
|
602
|
-
...ScrollResponderState,
|
|
603
675
|
|};
|
|
604
676
|
|
|
605
|
-
|
|
606
|
-
node: React.ElementRef<typeof ScrollView>,
|
|
607
|
-
): typeof ScrollResponder.Mixin {
|
|
608
|
-
const scrollResponder = {...ScrollResponder.Mixin};
|
|
609
|
-
|
|
610
|
-
for (const key in scrollResponder) {
|
|
611
|
-
if (typeof scrollResponder[key] === 'function') {
|
|
612
|
-
scrollResponder[key] = scrollResponder[key].bind(node);
|
|
613
|
-
}
|
|
614
|
-
}
|
|
615
|
-
|
|
616
|
-
return scrollResponder;
|
|
617
|
-
}
|
|
677
|
+
const IS_ANIMATING_TOUCH_START_THRESHOLD_MS = 16;
|
|
618
678
|
|
|
619
679
|
type ScrollViewComponentStatics = $ReadOnly<{|
|
|
620
680
|
Context: typeof ScrollViewContext,
|
|
@@ -657,61 +717,17 @@ type ScrollViewComponentStatics = $ReadOnly<{|
|
|
|
657
717
|
*/
|
|
658
718
|
class ScrollView extends React.Component<Props, State> {
|
|
659
719
|
static Context: typeof ScrollViewContext = ScrollViewContext;
|
|
660
|
-
/**
|
|
661
|
-
* Part 1: Removing ScrollResponder.Mixin:
|
|
662
|
-
*
|
|
663
|
-
* 1. Mixin methods should be flow typed. That's why we create a
|
|
664
|
-
* copy of ScrollResponder.Mixin and attach it to this._scrollResponder.
|
|
665
|
-
* Otherwise, we'd have to manually declare each method on the component
|
|
666
|
-
* class and assign it a flow type.
|
|
667
|
-
* 2. Mixin methods can call component methods, and access the component's
|
|
668
|
-
* props and state. So, we need to bind all mixin methods to the
|
|
669
|
-
* component instance.
|
|
670
|
-
* 3. Continued...
|
|
671
|
-
*/
|
|
672
|
-
_scrollResponder: typeof ScrollResponder.Mixin = createScrollResponder(this);
|
|
673
720
|
|
|
674
721
|
constructor(props: Props) {
|
|
675
722
|
super(props);
|
|
676
723
|
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
* this. Since mixin methods are bound to the component instance, we need
|
|
682
|
-
* to copy all mixin methods to the component instance. This is also
|
|
683
|
-
* necessary because getScrollResponder() is a public method that returns
|
|
684
|
-
* an object that can be used to execute all scrollResponder methods.
|
|
685
|
-
* Since the object returned from that method is the ScrollView instance,
|
|
686
|
-
* we need to bind all mixin methods to the ScrollView instance.
|
|
687
|
-
*/
|
|
688
|
-
for (const key in ScrollResponder.Mixin) {
|
|
689
|
-
if (
|
|
690
|
-
typeof ScrollResponder.Mixin[key] === 'function' &&
|
|
691
|
-
key.startsWith('scrollResponder')
|
|
692
|
-
) {
|
|
693
|
-
// $FlowFixMe - dynamically adding properties to a class
|
|
694
|
-
(this: any)[key] = ScrollResponder.Mixin[key].bind(this);
|
|
695
|
-
}
|
|
696
|
-
}
|
|
697
|
-
|
|
698
|
-
/**
|
|
699
|
-
* Part 3: Removing ScrollResponder.Mixin
|
|
700
|
-
*
|
|
701
|
-
* 4. Mixins can initialize properties and use properties on the component
|
|
702
|
-
* instance.
|
|
703
|
-
*/
|
|
704
|
-
Object.keys(ScrollResponder.Mixin)
|
|
705
|
-
.filter(key => typeof ScrollResponder.Mixin[key] !== 'function')
|
|
706
|
-
.forEach(key => {
|
|
707
|
-
// $FlowFixMe - dynamically adding properties to a class
|
|
708
|
-
(this: any)[key] = ScrollResponder.Mixin[key];
|
|
709
|
-
});
|
|
724
|
+
this._scrollAnimatedValue = new AnimatedImplementation.Value(
|
|
725
|
+
this.props.contentOffset?.y ?? 0,
|
|
726
|
+
);
|
|
727
|
+
this._scrollAnimatedValue.setOffset(this.props.contentInset?.top ?? 0);
|
|
710
728
|
}
|
|
711
729
|
|
|
712
|
-
_scrollAnimatedValue: AnimatedImplementation.Value
|
|
713
|
-
0,
|
|
714
|
-
);
|
|
730
|
+
_scrollAnimatedValue: AnimatedImplementation.Value;
|
|
715
731
|
_scrollAnimatedValueAttachment: ?{detach: () => void, ...} = null;
|
|
716
732
|
_stickyHeaderRefs: Map<
|
|
717
733
|
string,
|
|
@@ -719,43 +735,95 @@ class ScrollView extends React.Component<Props, State> {
|
|
|
719
735
|
> = new Map();
|
|
720
736
|
_headerLayoutYs: Map<string, number> = new Map();
|
|
721
737
|
|
|
738
|
+
_keyboardWillOpenTo: ?KeyboardEvent = null;
|
|
739
|
+
_additionalScrollOffset: number = 0;
|
|
740
|
+
_isTouching: boolean = false;
|
|
741
|
+
_lastMomentumScrollBeginTime: number = 0;
|
|
742
|
+
_lastMomentumScrollEndTime: number = 0;
|
|
743
|
+
|
|
744
|
+
// Reset to false every time becomes responder. This is used to:
|
|
745
|
+
// - Determine if the scroll view has been scrolled and therefore should
|
|
746
|
+
// refuse to give up its responder lock.
|
|
747
|
+
// - Determine if releasing should dismiss the keyboard when we are in
|
|
748
|
+
// tap-to-dismiss mode (this.props.keyboardShouldPersistTaps !== 'always').
|
|
749
|
+
_observedScrollSinceBecomingResponder: boolean = false;
|
|
750
|
+
_becameResponderWhileAnimating: boolean = false;
|
|
751
|
+
_preventNegativeScrollOffset: ?boolean = null;
|
|
752
|
+
|
|
753
|
+
_animated = null;
|
|
754
|
+
|
|
755
|
+
_subscriptionKeyboardWillShow: ?EventSubscription = null;
|
|
756
|
+
_subscriptionKeyboardWillHide: ?EventSubscription = null;
|
|
757
|
+
_subscriptionKeyboardDidShow: ?EventSubscription = null;
|
|
758
|
+
_subscriptionKeyboardDidHide: ?EventSubscription = null;
|
|
759
|
+
|
|
722
760
|
state: State = {
|
|
723
761
|
layoutHeight: null,
|
|
724
|
-
...ScrollResponder.Mixin.scrollResponderMixinGetInitialState(),
|
|
725
762
|
};
|
|
726
763
|
|
|
727
|
-
|
|
728
|
-
this.
|
|
729
|
-
|
|
730
|
-
|
|
764
|
+
componentDidMount() {
|
|
765
|
+
if (typeof this.props.keyboardShouldPersistTaps === 'boolean') {
|
|
766
|
+
console.warn(
|
|
767
|
+
`'keyboardShouldPersistTaps={${
|
|
768
|
+
this.props.keyboardShouldPersistTaps === true ? 'true' : 'false'
|
|
769
|
+
}}' is deprecated. ` +
|
|
770
|
+
`Use 'keyboardShouldPersistTaps="${
|
|
771
|
+
this.props.keyboardShouldPersistTaps ? 'always' : 'never'
|
|
772
|
+
}"' instead`,
|
|
773
|
+
);
|
|
774
|
+
}
|
|
775
|
+
|
|
776
|
+
this._keyboardWillOpenTo = null;
|
|
777
|
+
this._additionalScrollOffset = 0;
|
|
778
|
+
|
|
779
|
+
this._subscriptionKeyboardWillShow = Keyboard.addListener(
|
|
780
|
+
'keyboardWillShow',
|
|
781
|
+
this.scrollResponderKeyboardWillShow,
|
|
731
782
|
);
|
|
732
|
-
this.
|
|
733
|
-
|
|
734
|
-
|
|
783
|
+
this._subscriptionKeyboardWillHide = Keyboard.addListener(
|
|
784
|
+
'keyboardWillHide',
|
|
785
|
+
this.scrollResponderKeyboardWillHide,
|
|
786
|
+
);
|
|
787
|
+
this._subscriptionKeyboardDidShow = Keyboard.addListener(
|
|
788
|
+
'keyboardDidShow',
|
|
789
|
+
this.scrollResponderKeyboardDidShow,
|
|
790
|
+
);
|
|
791
|
+
this._subscriptionKeyboardDidHide = Keyboard.addListener(
|
|
792
|
+
'keyboardDidHide',
|
|
793
|
+
this.scrollResponderKeyboardDidHide,
|
|
794
|
+
);
|
|
795
|
+
|
|
796
|
+
this._updateAnimatedNodeAttachment();
|
|
735
797
|
}
|
|
736
798
|
|
|
737
|
-
|
|
738
|
-
const
|
|
739
|
-
?
|
|
799
|
+
componentDidUpdate(prevProps: Props) {
|
|
800
|
+
const prevContentInsetTop = prevProps.contentInset
|
|
801
|
+
? prevProps.contentInset.top
|
|
740
802
|
: 0;
|
|
741
|
-
const
|
|
742
|
-
?
|
|
803
|
+
const newContentInsetTop = this.props.contentInset
|
|
804
|
+
? this.props.contentInset.top
|
|
743
805
|
: 0;
|
|
744
|
-
if (
|
|
745
|
-
this._scrollAnimatedValue.setOffset(
|
|
806
|
+
if (prevContentInsetTop !== newContentInsetTop) {
|
|
807
|
+
this._scrollAnimatedValue.setOffset(newContentInsetTop || 0);
|
|
746
808
|
}
|
|
747
|
-
}
|
|
748
809
|
|
|
749
|
-
componentDidMount() {
|
|
750
|
-
this._updateAnimatedNodeAttachment();
|
|
751
|
-
}
|
|
752
|
-
|
|
753
|
-
componentDidUpdate() {
|
|
754
810
|
this._updateAnimatedNodeAttachment();
|
|
755
811
|
}
|
|
756
812
|
|
|
757
813
|
componentWillUnmount() {
|
|
758
|
-
this.
|
|
814
|
+
if (this._subscriptionKeyboardWillShow != null) {
|
|
815
|
+
this._subscriptionKeyboardWillShow.remove();
|
|
816
|
+
}
|
|
817
|
+
if (this._subscriptionKeyboardWillHide != null) {
|
|
818
|
+
this._subscriptionKeyboardWillHide.remove();
|
|
819
|
+
}
|
|
820
|
+
if (this._subscriptionKeyboardDidShow != null) {
|
|
821
|
+
this._subscriptionKeyboardDidShow.remove();
|
|
822
|
+
}
|
|
823
|
+
if (this._subscriptionKeyboardDidHide != null) {
|
|
824
|
+
this._subscriptionKeyboardDidHide.remove();
|
|
825
|
+
}
|
|
826
|
+
|
|
759
827
|
if (this._scrollAnimatedValueAttachment) {
|
|
760
828
|
this._scrollAnimatedValueAttachment.detach();
|
|
761
829
|
}
|
|
@@ -784,10 +852,7 @@ class ScrollView extends React.Component<Props, State> {
|
|
|
784
852
|
ref.scrollTo = this.scrollTo;
|
|
785
853
|
ref.scrollToEnd = this.scrollToEnd;
|
|
786
854
|
ref.flashScrollIndicators = this.flashScrollIndicators;
|
|
787
|
-
|
|
788
|
-
// $FlowFixMe - This method was manually bound from ScrollResponder.mixin
|
|
789
855
|
ref.scrollResponderZoomTo = this.scrollResponderZoomTo;
|
|
790
|
-
// $FlowFixMe - This method was manually bound from ScrollResponder.mixin
|
|
791
856
|
ref.scrollResponderScrollNativeHandleToKeyboard = this.scrollResponderScrollNativeHandleToKeyboard;
|
|
792
857
|
}
|
|
793
858
|
},
|
|
@@ -800,7 +865,7 @@ class ScrollView extends React.Component<Props, State> {
|
|
|
800
865
|
* to the underlying scroll responder's methods.
|
|
801
866
|
*/
|
|
802
867
|
getScrollResponder: () => ScrollResponderType = () => {
|
|
803
|
-
// $FlowFixMe
|
|
868
|
+
// $FlowFixMe[unclear-type]
|
|
804
869
|
return ((this: any): ScrollResponderType);
|
|
805
870
|
};
|
|
806
871
|
|
|
@@ -868,11 +933,10 @@ class ScrollView extends React.Component<Props, State> {
|
|
|
868
933
|
x = options.x;
|
|
869
934
|
animated = options.animated;
|
|
870
935
|
}
|
|
871
|
-
this.
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
});
|
|
936
|
+
if (this._scrollViewRef == null) {
|
|
937
|
+
return;
|
|
938
|
+
}
|
|
939
|
+
Commands.scrollTo(this._scrollViewRef, x || 0, y || 0, animated !== false);
|
|
876
940
|
};
|
|
877
941
|
|
|
878
942
|
/**
|
|
@@ -888,9 +952,10 @@ class ScrollView extends React.Component<Props, State> {
|
|
|
888
952
|
) => {
|
|
889
953
|
// Default to true
|
|
890
954
|
const animated = (options && options.animated) !== false;
|
|
891
|
-
this.
|
|
892
|
-
|
|
893
|
-
}
|
|
955
|
+
if (this._scrollViewRef == null) {
|
|
956
|
+
return;
|
|
957
|
+
}
|
|
958
|
+
Commands.scrollToEnd(this._scrollViewRef, animated);
|
|
894
959
|
};
|
|
895
960
|
|
|
896
961
|
/**
|
|
@@ -899,7 +964,150 @@ class ScrollView extends React.Component<Props, State> {
|
|
|
899
964
|
* @platform ios
|
|
900
965
|
*/
|
|
901
966
|
flashScrollIndicators: () => void = () => {
|
|
902
|
-
this.
|
|
967
|
+
if (this._scrollViewRef == null) {
|
|
968
|
+
return;
|
|
969
|
+
}
|
|
970
|
+
Commands.flashScrollIndicators(this._scrollViewRef);
|
|
971
|
+
};
|
|
972
|
+
|
|
973
|
+
/**
|
|
974
|
+
* This method should be used as the callback to onFocus in a TextInputs'
|
|
975
|
+
* parent view. Note that any module using this mixin needs to return
|
|
976
|
+
* the parent view's ref in getScrollViewRef() in order to use this method.
|
|
977
|
+
* @param {number} nodeHandle The TextInput node handle
|
|
978
|
+
* @param {number} additionalOffset The scroll view's bottom "contentInset".
|
|
979
|
+
* Default is 0.
|
|
980
|
+
* @param {bool} preventNegativeScrolling Whether to allow pulling the content
|
|
981
|
+
* down to make it meet the keyboard's top. Default is false.
|
|
982
|
+
*/
|
|
983
|
+
scrollResponderScrollNativeHandleToKeyboard: <T>(
|
|
984
|
+
nodeHandle: number | React.ElementRef<HostComponent<T>>,
|
|
985
|
+
additionalOffset?: number,
|
|
986
|
+
preventNegativeScrollOffset?: boolean,
|
|
987
|
+
) => void = <T>(
|
|
988
|
+
nodeHandle: number | React.ElementRef<HostComponent<T>>,
|
|
989
|
+
additionalOffset?: number,
|
|
990
|
+
preventNegativeScrollOffset?: boolean,
|
|
991
|
+
) => {
|
|
992
|
+
this._additionalScrollOffset = additionalOffset || 0;
|
|
993
|
+
this._preventNegativeScrollOffset = !!preventNegativeScrollOffset;
|
|
994
|
+
|
|
995
|
+
if (this._innerViewRef == null) {
|
|
996
|
+
return;
|
|
997
|
+
}
|
|
998
|
+
|
|
999
|
+
if (typeof nodeHandle === 'number') {
|
|
1000
|
+
UIManager.measureLayout(
|
|
1001
|
+
nodeHandle,
|
|
1002
|
+
ReactNative.findNodeHandle(this),
|
|
1003
|
+
// $FlowFixMe[method-unbinding] added when improving typing for this parameters
|
|
1004
|
+
this._textInputFocusError,
|
|
1005
|
+
this._inputMeasureAndScrollToKeyboard,
|
|
1006
|
+
);
|
|
1007
|
+
} else {
|
|
1008
|
+
nodeHandle.measureLayout(
|
|
1009
|
+
this._innerViewRef,
|
|
1010
|
+
this._inputMeasureAndScrollToKeyboard,
|
|
1011
|
+
// $FlowFixMe[method-unbinding] added when improving typing for this parameters
|
|
1012
|
+
this._textInputFocusError,
|
|
1013
|
+
);
|
|
1014
|
+
}
|
|
1015
|
+
};
|
|
1016
|
+
|
|
1017
|
+
/**
|
|
1018
|
+
* A helper function to zoom to a specific rect in the scrollview. The argument has the shape
|
|
1019
|
+
* {x: number; y: number; width: number; height: number; animated: boolean = true}
|
|
1020
|
+
*
|
|
1021
|
+
* @platform ios
|
|
1022
|
+
*/
|
|
1023
|
+
scrollResponderZoomTo: (
|
|
1024
|
+
rect: {|
|
|
1025
|
+
x: number,
|
|
1026
|
+
y: number,
|
|
1027
|
+
width: number,
|
|
1028
|
+
height: number,
|
|
1029
|
+
animated?: boolean,
|
|
1030
|
+
|},
|
|
1031
|
+
animated?: boolean, // deprecated, put this inside the rect argument instead
|
|
1032
|
+
) => void = (
|
|
1033
|
+
rect: {|
|
|
1034
|
+
x: number,
|
|
1035
|
+
y: number,
|
|
1036
|
+
width: number,
|
|
1037
|
+
height: number,
|
|
1038
|
+
animated?: boolean,
|
|
1039
|
+
|},
|
|
1040
|
+
animated?: boolean, // deprecated, put this inside the rect argument instead
|
|
1041
|
+
) => {
|
|
1042
|
+
invariant(Platform.OS === 'ios', 'zoomToRect is not implemented');
|
|
1043
|
+
if ('animated' in rect) {
|
|
1044
|
+
this._animated = rect.animated;
|
|
1045
|
+
delete rect.animated;
|
|
1046
|
+
} else if (typeof animated !== 'undefined') {
|
|
1047
|
+
console.warn(
|
|
1048
|
+
'`scrollResponderZoomTo` `animated` argument is deprecated. Use `options.animated` instead',
|
|
1049
|
+
);
|
|
1050
|
+
}
|
|
1051
|
+
|
|
1052
|
+
if (this._scrollViewRef == null) {
|
|
1053
|
+
return;
|
|
1054
|
+
}
|
|
1055
|
+
Commands.zoomToRect(this._scrollViewRef, rect, animated !== false);
|
|
1056
|
+
};
|
|
1057
|
+
|
|
1058
|
+
_textInputFocusError() {
|
|
1059
|
+
console.warn('Error measuring text field.');
|
|
1060
|
+
}
|
|
1061
|
+
|
|
1062
|
+
/**
|
|
1063
|
+
* The calculations performed here assume the scroll view takes up the entire
|
|
1064
|
+
* screen - even if has some content inset. We then measure the offsets of the
|
|
1065
|
+
* keyboard, and compensate both for the scroll view's "contentInset".
|
|
1066
|
+
*
|
|
1067
|
+
* @param {number} left Position of input w.r.t. table view.
|
|
1068
|
+
* @param {number} top Position of input w.r.t. table view.
|
|
1069
|
+
* @param {number} width Width of the text input.
|
|
1070
|
+
* @param {number} height Height of the text input.
|
|
1071
|
+
*/
|
|
1072
|
+
_inputMeasureAndScrollToKeyboard: (
|
|
1073
|
+
left: number,
|
|
1074
|
+
top: number,
|
|
1075
|
+
width: number,
|
|
1076
|
+
height: number,
|
|
1077
|
+
) => void = (left: number, top: number, width: number, height: number) => {
|
|
1078
|
+
let keyboardScreenY = Dimensions.get('window').height;
|
|
1079
|
+
|
|
1080
|
+
const scrollTextInputIntoVisibleRect = () => {
|
|
1081
|
+
if (this._keyboardWillOpenTo != null) {
|
|
1082
|
+
keyboardScreenY = this._keyboardWillOpenTo.endCoordinates.screenY;
|
|
1083
|
+
}
|
|
1084
|
+
let scrollOffsetY =
|
|
1085
|
+
top - keyboardScreenY + height + this._additionalScrollOffset;
|
|
1086
|
+
|
|
1087
|
+
// By default, this can scroll with negative offset, pulling the content
|
|
1088
|
+
// down so that the target component's bottom meets the keyboard's top.
|
|
1089
|
+
// If requested otherwise, cap the offset at 0 minimum to avoid content
|
|
1090
|
+
// shifting down.
|
|
1091
|
+
if (this._preventNegativeScrollOffset === true) {
|
|
1092
|
+
scrollOffsetY = Math.max(0, scrollOffsetY);
|
|
1093
|
+
}
|
|
1094
|
+
this.scrollTo({x: 0, y: scrollOffsetY, animated: true});
|
|
1095
|
+
|
|
1096
|
+
this._additionalScrollOffset = 0;
|
|
1097
|
+
this._preventNegativeScrollOffset = false;
|
|
1098
|
+
};
|
|
1099
|
+
|
|
1100
|
+
if (this._keyboardWillOpenTo == null) {
|
|
1101
|
+
// `_keyboardWillOpenTo` is set inside `scrollResponderKeyboardWillShow` which
|
|
1102
|
+
// is not guaranteed to be called before `_inputMeasureAndScrollToKeyboard` but native has already scheduled it.
|
|
1103
|
+
// In case it was not called before `_inputMeasureAndScrollToKeyboard`, we postpone scrolling to
|
|
1104
|
+
// text input.
|
|
1105
|
+
setTimeout(() => {
|
|
1106
|
+
scrollTextInputIntoVisibleRect();
|
|
1107
|
+
}, 0);
|
|
1108
|
+
} else {
|
|
1109
|
+
scrollTextInputIntoVisibleRect();
|
|
1110
|
+
}
|
|
903
1111
|
};
|
|
904
1112
|
|
|
905
1113
|
_getKeyForIndex(index, childArray) {
|
|
@@ -976,15 +1184,8 @@ class ScrollView extends React.Component<Props, State> {
|
|
|
976
1184
|
);
|
|
977
1185
|
}
|
|
978
1186
|
}
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
this.props.keyboardDismissMode === 'on-drag' &&
|
|
982
|
-
this.state.isTouching
|
|
983
|
-
) {
|
|
984
|
-
dismissKeyboard();
|
|
985
|
-
}
|
|
986
|
-
}
|
|
987
|
-
this._scrollResponder.scrollResponderHandleScroll(e);
|
|
1187
|
+
this._observedScrollSinceBecomingResponder = true;
|
|
1188
|
+
this.props.onScroll && this.props.onScroll(e);
|
|
988
1189
|
};
|
|
989
1190
|
|
|
990
1191
|
_handleLayout = (e: LayoutEvent) => {
|
|
@@ -1012,6 +1213,398 @@ class ScrollView extends React.Component<Props, State> {
|
|
|
1012
1213
|
},
|
|
1013
1214
|
});
|
|
1014
1215
|
|
|
1216
|
+
/**
|
|
1217
|
+
* Warning, this may be called several times for a single keyboard opening.
|
|
1218
|
+
* It's best to store the information in this method and then take any action
|
|
1219
|
+
* at a later point (either in `keyboardDidShow` or other).
|
|
1220
|
+
*
|
|
1221
|
+
* Here's the order that events occur in:
|
|
1222
|
+
* - focus
|
|
1223
|
+
* - willShow {startCoordinates, endCoordinates} several times
|
|
1224
|
+
* - didShow several times
|
|
1225
|
+
* - blur
|
|
1226
|
+
* - willHide {startCoordinates, endCoordinates} several times
|
|
1227
|
+
* - didHide several times
|
|
1228
|
+
*
|
|
1229
|
+
* The `ScrollResponder` module callbacks for each of these events.
|
|
1230
|
+
* Even though any user could have easily listened to keyboard events
|
|
1231
|
+
* themselves, using these `props` callbacks ensures that ordering of events
|
|
1232
|
+
* is consistent - and not dependent on the order that the keyboard events are
|
|
1233
|
+
* subscribed to. This matters when telling the scroll view to scroll to where
|
|
1234
|
+
* the keyboard is headed - the scroll responder better have been notified of
|
|
1235
|
+
* the keyboard destination before being instructed to scroll to where the
|
|
1236
|
+
* keyboard will be. Stick to the `ScrollResponder` callbacks, and everything
|
|
1237
|
+
* will work.
|
|
1238
|
+
*
|
|
1239
|
+
* WARNING: These callbacks will fire even if a keyboard is displayed in a
|
|
1240
|
+
* different navigation pane. Filter out the events to determine if they are
|
|
1241
|
+
* relevant to you. (For example, only if you receive these callbacks after
|
|
1242
|
+
* you had explicitly focused a node etc).
|
|
1243
|
+
*/
|
|
1244
|
+
|
|
1245
|
+
scrollResponderKeyboardWillShow: (e: KeyboardEvent) => void = (
|
|
1246
|
+
e: KeyboardEvent,
|
|
1247
|
+
) => {
|
|
1248
|
+
this._keyboardWillOpenTo = e;
|
|
1249
|
+
this.props.onKeyboardWillShow && this.props.onKeyboardWillShow(e);
|
|
1250
|
+
};
|
|
1251
|
+
|
|
1252
|
+
scrollResponderKeyboardWillHide: (e: KeyboardEvent) => void = (
|
|
1253
|
+
e: KeyboardEvent,
|
|
1254
|
+
) => {
|
|
1255
|
+
this._keyboardWillOpenTo = null;
|
|
1256
|
+
this.props.onKeyboardWillHide && this.props.onKeyboardWillHide(e);
|
|
1257
|
+
};
|
|
1258
|
+
|
|
1259
|
+
scrollResponderKeyboardDidShow: (e: KeyboardEvent) => void = (
|
|
1260
|
+
e: KeyboardEvent,
|
|
1261
|
+
) => {
|
|
1262
|
+
// TODO(7693961): The event for DidShow is not available on iOS yet.
|
|
1263
|
+
// Use the one from WillShow and do not assign.
|
|
1264
|
+
if (e) {
|
|
1265
|
+
this._keyboardWillOpenTo = e;
|
|
1266
|
+
}
|
|
1267
|
+
this.props.onKeyboardDidShow && this.props.onKeyboardDidShow(e);
|
|
1268
|
+
};
|
|
1269
|
+
|
|
1270
|
+
scrollResponderKeyboardDidHide: (e: KeyboardEvent) => void = (
|
|
1271
|
+
e: KeyboardEvent,
|
|
1272
|
+
) => {
|
|
1273
|
+
this._keyboardWillOpenTo = null;
|
|
1274
|
+
this.props.onKeyboardDidHide && this.props.onKeyboardDidHide(e);
|
|
1275
|
+
};
|
|
1276
|
+
|
|
1277
|
+
/**
|
|
1278
|
+
* Invoke this from an `onMomentumScrollBegin` event.
|
|
1279
|
+
*/
|
|
1280
|
+
_handleMomentumScrollBegin: (e: ScrollEvent) => void = (e: ScrollEvent) => {
|
|
1281
|
+
this._lastMomentumScrollBeginTime = global.performance.now();
|
|
1282
|
+
this.props.onMomentumScrollBegin && this.props.onMomentumScrollBegin(e);
|
|
1283
|
+
};
|
|
1284
|
+
|
|
1285
|
+
/**
|
|
1286
|
+
* Invoke this from an `onMomentumScrollEnd` event.
|
|
1287
|
+
*/
|
|
1288
|
+
_handleMomentumScrollEnd: (e: ScrollEvent) => void = (e: ScrollEvent) => {
|
|
1289
|
+
FrameRateLogger.endScroll();
|
|
1290
|
+
this._lastMomentumScrollEndTime = global.performance.now();
|
|
1291
|
+
this.props.onMomentumScrollEnd && this.props.onMomentumScrollEnd(e);
|
|
1292
|
+
};
|
|
1293
|
+
|
|
1294
|
+
/**
|
|
1295
|
+
* Unfortunately, `onScrollBeginDrag` also fires when *stopping* the scroll
|
|
1296
|
+
* animation, and there's not an easy way to distinguish a drag vs. stopping
|
|
1297
|
+
* momentum.
|
|
1298
|
+
*
|
|
1299
|
+
* Invoke this from an `onScrollBeginDrag` event.
|
|
1300
|
+
*/
|
|
1301
|
+
_handleScrollBeginDrag: (e: ScrollEvent) => void = (e: ScrollEvent) => {
|
|
1302
|
+
FrameRateLogger.beginScroll(); // TODO: track all scrolls after implementing onScrollEndAnimation
|
|
1303
|
+
|
|
1304
|
+
if (
|
|
1305
|
+
Platform.OS === 'android' &&
|
|
1306
|
+
this.props.keyboardDismissMode === 'on-drag'
|
|
1307
|
+
) {
|
|
1308
|
+
dismissKeyboard();
|
|
1309
|
+
}
|
|
1310
|
+
|
|
1311
|
+
this.props.onScrollBeginDrag && this.props.onScrollBeginDrag(e);
|
|
1312
|
+
};
|
|
1313
|
+
|
|
1314
|
+
/**
|
|
1315
|
+
* Invoke this from an `onScrollEndDrag` event.
|
|
1316
|
+
*/
|
|
1317
|
+
_handleScrollEndDrag: (e: ScrollEvent) => void = (e: ScrollEvent) => {
|
|
1318
|
+
const {velocity} = e.nativeEvent;
|
|
1319
|
+
// - If we are animating, then this is a "drag" that is stopping the scrollview and momentum end
|
|
1320
|
+
// will fire.
|
|
1321
|
+
// - If velocity is non-zero, then the interaction will stop when momentum scroll ends or
|
|
1322
|
+
// another drag starts and ends.
|
|
1323
|
+
// - If we don't get velocity, better to stop the interaction twice than not stop it.
|
|
1324
|
+
if (
|
|
1325
|
+
!this._isAnimating() &&
|
|
1326
|
+
(!velocity || (velocity.x === 0 && velocity.y === 0))
|
|
1327
|
+
) {
|
|
1328
|
+
FrameRateLogger.endScroll();
|
|
1329
|
+
}
|
|
1330
|
+
this.props.onScrollEndDrag && this.props.onScrollEndDrag(e);
|
|
1331
|
+
};
|
|
1332
|
+
|
|
1333
|
+
/**
|
|
1334
|
+
* A helper function for this class that lets us quickly determine if the
|
|
1335
|
+
* view is currently animating. This is particularly useful to know when
|
|
1336
|
+
* a touch has just started or ended.
|
|
1337
|
+
*/
|
|
1338
|
+
_isAnimating: () => boolean = () => {
|
|
1339
|
+
const now = global.performance.now();
|
|
1340
|
+
const timeSinceLastMomentumScrollEnd =
|
|
1341
|
+
now - this._lastMomentumScrollEndTime;
|
|
1342
|
+
const isAnimating =
|
|
1343
|
+
timeSinceLastMomentumScrollEnd < IS_ANIMATING_TOUCH_START_THRESHOLD_MS ||
|
|
1344
|
+
this._lastMomentumScrollEndTime < this._lastMomentumScrollBeginTime;
|
|
1345
|
+
return isAnimating;
|
|
1346
|
+
};
|
|
1347
|
+
|
|
1348
|
+
/**
|
|
1349
|
+
* Invoke this from an `onResponderGrant` event.
|
|
1350
|
+
*/
|
|
1351
|
+
_handleResponderGrant: (e: PressEvent) => void = (e: PressEvent) => {
|
|
1352
|
+
this._observedScrollSinceBecomingResponder = false;
|
|
1353
|
+
this.props.onResponderGrant && this.props.onResponderGrant(e);
|
|
1354
|
+
this._becameResponderWhileAnimating = this._isAnimating();
|
|
1355
|
+
};
|
|
1356
|
+
|
|
1357
|
+
/**
|
|
1358
|
+
* Invoke this from an `onResponderReject` event.
|
|
1359
|
+
*
|
|
1360
|
+
* Some other element is not yielding its role as responder. Normally, we'd
|
|
1361
|
+
* just disable the `UIScrollView`, but a touch has already began on it, the
|
|
1362
|
+
* `UIScrollView` will not accept being disabled after that. The easiest
|
|
1363
|
+
* solution for now is to accept the limitation of disallowing this
|
|
1364
|
+
* altogether. To improve this, find a way to disable the `UIScrollView` after
|
|
1365
|
+
* a touch has already started.
|
|
1366
|
+
*/
|
|
1367
|
+
_handleResponderReject: () => void = () => {};
|
|
1368
|
+
|
|
1369
|
+
/**
|
|
1370
|
+
* Invoke this from an `onResponderRelease` event.
|
|
1371
|
+
*/
|
|
1372
|
+
_handleResponderRelease: (e: PressEvent) => void = (e: PressEvent) => {
|
|
1373
|
+
this._isTouching = e.nativeEvent.touches.length !== 0;
|
|
1374
|
+
this.props.onResponderRelease && this.props.onResponderRelease(e);
|
|
1375
|
+
|
|
1376
|
+
if (typeof e.target === 'number') {
|
|
1377
|
+
if (__DEV__) {
|
|
1378
|
+
console.error(
|
|
1379
|
+
'Did not expect event target to be a number. Should have been a native component',
|
|
1380
|
+
);
|
|
1381
|
+
}
|
|
1382
|
+
|
|
1383
|
+
return;
|
|
1384
|
+
}
|
|
1385
|
+
|
|
1386
|
+
// By default scroll views will unfocus a textField
|
|
1387
|
+
// if another touch occurs outside of it
|
|
1388
|
+
const currentlyFocusedTextInput = TextInputState.currentlyFocusedInput();
|
|
1389
|
+
if (
|
|
1390
|
+
this.props.keyboardShouldPersistTaps !== true &&
|
|
1391
|
+
this.props.keyboardShouldPersistTaps !== 'always' &&
|
|
1392
|
+
this._keyboardIsDismissible() &&
|
|
1393
|
+
e.target !== currentlyFocusedTextInput &&
|
|
1394
|
+
!this._observedScrollSinceBecomingResponder &&
|
|
1395
|
+
!this._becameResponderWhileAnimating
|
|
1396
|
+
) {
|
|
1397
|
+
TextInputState.blurTextInput(currentlyFocusedTextInput);
|
|
1398
|
+
}
|
|
1399
|
+
};
|
|
1400
|
+
|
|
1401
|
+
/**
|
|
1402
|
+
* We will allow the scroll view to give up its lock iff it acquired the lock
|
|
1403
|
+
* during an animation. This is a very useful default that happens to satisfy
|
|
1404
|
+
* many common user experiences.
|
|
1405
|
+
*
|
|
1406
|
+
* - Stop a scroll on the left edge, then turn that into an outer view's
|
|
1407
|
+
* backswipe.
|
|
1408
|
+
* - Stop a scroll mid-bounce at the top, continue pulling to have the outer
|
|
1409
|
+
* view dismiss.
|
|
1410
|
+
* - However, without catching the scroll view mid-bounce (while it is
|
|
1411
|
+
* motionless), if you drag far enough for the scroll view to become
|
|
1412
|
+
* responder (and therefore drag the scroll view a bit), any backswipe
|
|
1413
|
+
* navigation of a swipe gesture higher in the view hierarchy, should be
|
|
1414
|
+
* rejected.
|
|
1415
|
+
*/
|
|
1416
|
+
_handleResponderTerminationRequest: () => boolean = () => {
|
|
1417
|
+
return !this._observedScrollSinceBecomingResponder;
|
|
1418
|
+
};
|
|
1419
|
+
|
|
1420
|
+
/**
|
|
1421
|
+
* Invoke this from an `onScroll` event.
|
|
1422
|
+
*/
|
|
1423
|
+
_handleScrollShouldSetResponder: () => boolean = () => {
|
|
1424
|
+
// Allow any event touch pass through if the default pan responder is disabled
|
|
1425
|
+
if (this.props.disableScrollViewPanResponder === true) {
|
|
1426
|
+
return false;
|
|
1427
|
+
}
|
|
1428
|
+
return this._isTouching;
|
|
1429
|
+
};
|
|
1430
|
+
|
|
1431
|
+
/**
|
|
1432
|
+
* Merely touch starting is not sufficient for a scroll view to become the
|
|
1433
|
+
* responder. Being the "responder" means that the very next touch move/end
|
|
1434
|
+
* event will result in an action/movement.
|
|
1435
|
+
*
|
|
1436
|
+
* Invoke this from an `onStartShouldSetResponder` event.
|
|
1437
|
+
*
|
|
1438
|
+
* `onStartShouldSetResponder` is used when the next move/end will trigger
|
|
1439
|
+
* some UI movement/action, but when you want to yield priority to views
|
|
1440
|
+
* nested inside of the view.
|
|
1441
|
+
*
|
|
1442
|
+
* There may be some cases where scroll views actually should return `true`
|
|
1443
|
+
* from `onStartShouldSetResponder`: Any time we are detecting a standard tap
|
|
1444
|
+
* that gives priority to nested views.
|
|
1445
|
+
*
|
|
1446
|
+
* - If a single tap on the scroll view triggers an action such as
|
|
1447
|
+
* recentering a map style view yet wants to give priority to interaction
|
|
1448
|
+
* views inside (such as dropped pins or labels), then we would return true
|
|
1449
|
+
* from this method when there is a single touch.
|
|
1450
|
+
*
|
|
1451
|
+
* - Similar to the previous case, if a two finger "tap" should trigger a
|
|
1452
|
+
* zoom, we would check the `touches` count, and if `>= 2`, we would return
|
|
1453
|
+
* true.
|
|
1454
|
+
*
|
|
1455
|
+
*/
|
|
1456
|
+
_handleStartShouldSetResponder: (e: PressEvent) => boolean = (
|
|
1457
|
+
e: PressEvent,
|
|
1458
|
+
) => {
|
|
1459
|
+
// Allow any event touch pass through if the default pan responder is disabled
|
|
1460
|
+
if (this.props.disableScrollViewPanResponder === true) {
|
|
1461
|
+
return false;
|
|
1462
|
+
}
|
|
1463
|
+
|
|
1464
|
+
const currentlyFocusedInput = TextInputState.currentlyFocusedInput();
|
|
1465
|
+
|
|
1466
|
+
if (
|
|
1467
|
+
this.props.keyboardShouldPersistTaps === 'handled' &&
|
|
1468
|
+
this._keyboardIsDismissible() &&
|
|
1469
|
+
e.target !== currentlyFocusedInput
|
|
1470
|
+
) {
|
|
1471
|
+
return true;
|
|
1472
|
+
}
|
|
1473
|
+
return false;
|
|
1474
|
+
};
|
|
1475
|
+
|
|
1476
|
+
/**
|
|
1477
|
+
* There are times when the scroll view wants to become the responder
|
|
1478
|
+
* (meaning respond to the next immediate `touchStart/touchEnd`), in a way
|
|
1479
|
+
* that *doesn't* give priority to nested views (hence the capture phase):
|
|
1480
|
+
*
|
|
1481
|
+
* - Currently animating.
|
|
1482
|
+
* - Tapping anywhere that is not a text input, while the keyboard is
|
|
1483
|
+
* up (which should dismiss the keyboard).
|
|
1484
|
+
*
|
|
1485
|
+
* Invoke this from an `onStartShouldSetResponderCapture` event.
|
|
1486
|
+
*/
|
|
1487
|
+
_handleStartShouldSetResponderCapture: (e: PressEvent) => boolean = (
|
|
1488
|
+
e: PressEvent,
|
|
1489
|
+
) => {
|
|
1490
|
+
// The scroll view should receive taps instead of its descendants if:
|
|
1491
|
+
// * it is already animating/decelerating
|
|
1492
|
+
if (this._isAnimating()) {
|
|
1493
|
+
return true;
|
|
1494
|
+
}
|
|
1495
|
+
|
|
1496
|
+
// Allow any event touch pass through if the default pan responder is disabled
|
|
1497
|
+
if (this.props.disableScrollViewPanResponder === true) {
|
|
1498
|
+
return false;
|
|
1499
|
+
}
|
|
1500
|
+
|
|
1501
|
+
// * the keyboard is up, keyboardShouldPersistTaps is 'never' (the default),
|
|
1502
|
+
// and a new touch starts with a non-textinput target (in which case the
|
|
1503
|
+
// first tap should be sent to the scroll view and dismiss the keyboard,
|
|
1504
|
+
// then the second tap goes to the actual interior view)
|
|
1505
|
+
const {keyboardShouldPersistTaps} = this.props;
|
|
1506
|
+
const keyboardNeverPersistTaps =
|
|
1507
|
+
!keyboardShouldPersistTaps || keyboardShouldPersistTaps === 'never';
|
|
1508
|
+
|
|
1509
|
+
if (typeof e.target === 'number') {
|
|
1510
|
+
if (__DEV__) {
|
|
1511
|
+
console.error(
|
|
1512
|
+
'Did not expect event target to be a number. Should have been a native component',
|
|
1513
|
+
);
|
|
1514
|
+
}
|
|
1515
|
+
|
|
1516
|
+
return false;
|
|
1517
|
+
}
|
|
1518
|
+
|
|
1519
|
+
if (
|
|
1520
|
+
keyboardNeverPersistTaps &&
|
|
1521
|
+
this._keyboardIsDismissible() &&
|
|
1522
|
+
e.target != null &&
|
|
1523
|
+
!TextInputState.isTextInput(e.target)
|
|
1524
|
+
) {
|
|
1525
|
+
return true;
|
|
1526
|
+
}
|
|
1527
|
+
|
|
1528
|
+
return false;
|
|
1529
|
+
};
|
|
1530
|
+
|
|
1531
|
+
/**
|
|
1532
|
+
* Do we consider there to be a dismissible soft-keyboard open?
|
|
1533
|
+
*/
|
|
1534
|
+
_keyboardIsDismissible: () => boolean = () => {
|
|
1535
|
+
const currentlyFocusedInput = TextInputState.currentlyFocusedInput();
|
|
1536
|
+
|
|
1537
|
+
// We cannot dismiss the keyboard without an input to blur, even if a soft
|
|
1538
|
+
// keyboard is open (e.g. when keyboard is open due to a native component
|
|
1539
|
+
// not participating in TextInputState). It's also possible that the
|
|
1540
|
+
// currently focused input isn't a TextInput (such as by calling ref.focus
|
|
1541
|
+
// on a non-TextInput).
|
|
1542
|
+
const hasFocusedTextInput =
|
|
1543
|
+
currentlyFocusedInput != null &&
|
|
1544
|
+
TextInputState.isTextInput(currentlyFocusedInput);
|
|
1545
|
+
|
|
1546
|
+
// Even if an input is focused, we may not have a keyboard to dismiss. E.g
|
|
1547
|
+
// when using a physical keyboard. Ensure we have an event for an opened
|
|
1548
|
+
// keyboard, except on Android where setting windowSoftInputMode to
|
|
1549
|
+
// adjustNone leads to missing keyboard events.
|
|
1550
|
+
const softKeyboardMayBeOpen =
|
|
1551
|
+
this._keyboardWillOpenTo != null || Platform.OS === 'android';
|
|
1552
|
+
|
|
1553
|
+
return hasFocusedTextInput && softKeyboardMayBeOpen;
|
|
1554
|
+
};
|
|
1555
|
+
|
|
1556
|
+
/**
|
|
1557
|
+
* Invoke this from an `onTouchEnd` event.
|
|
1558
|
+
*
|
|
1559
|
+
* @param {PressEvent} e Event.
|
|
1560
|
+
*/
|
|
1561
|
+
_handleTouchEnd: (e: PressEvent) => void = (e: PressEvent) => {
|
|
1562
|
+
const nativeEvent = e.nativeEvent;
|
|
1563
|
+
this._isTouching = nativeEvent.touches.length !== 0;
|
|
1564
|
+
this.props.onTouchEnd && this.props.onTouchEnd(e);
|
|
1565
|
+
};
|
|
1566
|
+
|
|
1567
|
+
/**
|
|
1568
|
+
* Invoke this from an `onTouchCancel` event.
|
|
1569
|
+
*
|
|
1570
|
+
* @param {PressEvent} e Event.
|
|
1571
|
+
*/
|
|
1572
|
+
_handleTouchCancel: (e: PressEvent) => void = (e: PressEvent) => {
|
|
1573
|
+
this._isTouching = false;
|
|
1574
|
+
this.props.onTouchCancel && this.props.onTouchCancel(e);
|
|
1575
|
+
};
|
|
1576
|
+
|
|
1577
|
+
/**
|
|
1578
|
+
* Invoke this from an `onTouchStart` event.
|
|
1579
|
+
*
|
|
1580
|
+
* Since we know that the `SimpleEventPlugin` occurs later in the plugin
|
|
1581
|
+
* order, after `ResponderEventPlugin`, we can detect that we were *not*
|
|
1582
|
+
* permitted to be the responder (presumably because a contained view became
|
|
1583
|
+
* responder). The `onResponderReject` won't fire in that case - it only
|
|
1584
|
+
* fires when a *current* responder rejects our request.
|
|
1585
|
+
*
|
|
1586
|
+
* @param {PressEvent} e Touch Start event.
|
|
1587
|
+
*/
|
|
1588
|
+
_handleTouchStart: (e: PressEvent) => void = (e: PressEvent) => {
|
|
1589
|
+
this._isTouching = true;
|
|
1590
|
+
this.props.onTouchStart && this.props.onTouchStart(e);
|
|
1591
|
+
};
|
|
1592
|
+
|
|
1593
|
+
/**
|
|
1594
|
+
* Invoke this from an `onTouchMove` event.
|
|
1595
|
+
*
|
|
1596
|
+
* Since we know that the `SimpleEventPlugin` occurs later in the plugin
|
|
1597
|
+
* order, after `ResponderEventPlugin`, we can detect that we were *not*
|
|
1598
|
+
* permitted to be the responder (presumably because a contained view became
|
|
1599
|
+
* responder). The `onResponderReject` won't fire in that case - it only
|
|
1600
|
+
* fires when a *current* responder rejects our request.
|
|
1601
|
+
*
|
|
1602
|
+
* @param {PressEvent} e Touch Start event.
|
|
1603
|
+
*/
|
|
1604
|
+
_handleTouchMove: (e: PressEvent) => void = (e: PressEvent) => {
|
|
1605
|
+
this.props.onTouchMove && this.props.onTouchMove(e);
|
|
1606
|
+
};
|
|
1607
|
+
|
|
1015
1608
|
render(): React.Node | React.Element<string> {
|
|
1016
1609
|
const [NativeDirectionalScrollView, NativeDirectionalScrollContentView] =
|
|
1017
1610
|
this.props.horizontal === true
|
|
@@ -1066,6 +1659,7 @@ class ScrollView extends React.Component<Props, State> {
|
|
|
1066
1659
|
onLayout={event => this._onStickyHeaderLayout(index, event, key)}
|
|
1067
1660
|
scrollAnimatedValue={this._scrollAnimatedValue}
|
|
1068
1661
|
inverted={this.props.invertStickyHeaders}
|
|
1662
|
+
hiddenOnScroll={this.props.stickyHeaderHiddenOnScroll}
|
|
1069
1663
|
scrollViewHeight={this.state.layoutHeight}>
|
|
1070
1664
|
{child}
|
|
1071
1665
|
</StickyHeaderComponent>
|
|
@@ -1125,33 +1719,23 @@ class ScrollView extends React.Component<Props, State> {
|
|
|
1125
1719
|
// bubble up from TextInputs
|
|
1126
1720
|
onContentSizeChange: null,
|
|
1127
1721
|
onLayout: this._handleLayout,
|
|
1128
|
-
onMomentumScrollBegin: this.
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
.
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
.scrollResponderHandleScrollShouldSetResponder,
|
|
1145
|
-
onStartShouldSetResponder: this._scrollResponder
|
|
1146
|
-
.scrollResponderHandleStartShouldSetResponder,
|
|
1147
|
-
onStartShouldSetResponderCapture: this._scrollResponder
|
|
1148
|
-
.scrollResponderHandleStartShouldSetResponderCapture,
|
|
1149
|
-
onTouchEnd: this._scrollResponder.scrollResponderHandleTouchEnd,
|
|
1150
|
-
onTouchMove: this._scrollResponder.scrollResponderHandleTouchMove,
|
|
1151
|
-
onTouchStart: this._scrollResponder.scrollResponderHandleTouchStart,
|
|
1152
|
-
onTouchCancel: this._scrollResponder.scrollResponderHandleTouchCancel,
|
|
1722
|
+
onMomentumScrollBegin: this._handleMomentumScrollBegin,
|
|
1723
|
+
onMomentumScrollEnd: this._handleMomentumScrollEnd,
|
|
1724
|
+
onResponderGrant: this._handleResponderGrant,
|
|
1725
|
+
onResponderReject: this._handleResponderReject,
|
|
1726
|
+
onResponderRelease: this._handleResponderRelease,
|
|
1727
|
+
onResponderTerminationRequest: this._handleResponderTerminationRequest,
|
|
1728
|
+
onScrollBeginDrag: this._handleScrollBeginDrag,
|
|
1729
|
+
onScrollEndDrag: this._handleScrollEndDrag,
|
|
1730
|
+
onScrollShouldSetResponder: this._handleScrollShouldSetResponder,
|
|
1731
|
+
onStartShouldSetResponder: this._handleStartShouldSetResponder,
|
|
1732
|
+
onStartShouldSetResponderCapture: this
|
|
1733
|
+
._handleStartShouldSetResponderCapture,
|
|
1734
|
+
onTouchEnd: this._handleTouchEnd,
|
|
1735
|
+
onTouchMove: this._handleTouchMove,
|
|
1736
|
+
onTouchStart: this._handleTouchStart,
|
|
1737
|
+
onTouchCancel: this._handleTouchCancel,
|
|
1153
1738
|
onScroll: this._handleScroll,
|
|
1154
|
-
scrollBarThumbImage: resolveAssetSource(this.props.scrollBarThumbImage),
|
|
1155
1739
|
scrollEventThrottle: hasStickyHeaders
|
|
1156
1740
|
? 1
|
|
1157
1741
|
: this.props.scrollEventThrottle,
|
|
@@ -1245,7 +1829,7 @@ function Wrapper(props, ref) {
|
|
|
1245
1829
|
Wrapper.displayName = 'ScrollView';
|
|
1246
1830
|
const ForwardedScrollView = React.forwardRef(Wrapper);
|
|
1247
1831
|
|
|
1248
|
-
// $FlowFixMe Add static context to ForwardedScrollView
|
|
1832
|
+
// $FlowFixMe[prop-missing] Add static context to ForwardedScrollView
|
|
1249
1833
|
ForwardedScrollView.Context = ScrollViewContext;
|
|
1250
1834
|
|
|
1251
1835
|
ForwardedScrollView.displayName = 'ScrollView';
|