@office-iss/react-native-win32 0.78.3 → 0.79.0-preview.1
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/.flowconfig +4 -1
- package/CHANGELOG.json +159 -46
- package/CHANGELOG.md +49 -26
- package/IntegrationTests/AccessibilityManagerTest.js +17 -12
- package/IntegrationTests/AppEventsTest.js +47 -32
- package/IntegrationTests/GlobalEvalWithSourceUrlTest.js +10 -14
- package/IntegrationTests/ImageCachePolicyTest.js +64 -81
- package/IntegrationTests/ImageSnapshotTest.js +17 -20
- package/IntegrationTests/IntegrationTestHarnessTest.js +34 -52
- package/IntegrationTests/IntegrationTestsApp.js +11 -6
- package/IntegrationTests/LayoutEventsTest.js +17 -12
- package/IntegrationTests/LoggingTestModule.js +2 -1
- package/IntegrationTests/PromiseTest.js +51 -43
- package/IntegrationTests/SimpleSnapshotTest.js +19 -24
- package/IntegrationTests/SyncMethodTest.js +9 -13
- package/IntegrationTests/TimersTest.js +3 -3
- package/Libraries/ActionSheetIOS/ActionSheetIOS.js +39 -18
- package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +2 -2
- package/Libraries/Alert/Alert.js +33 -10
- package/Libraries/Alert/Alert.win32.js +32 -9
- package/Libraries/Alert/NativeAlertManager.js +2 -2
- package/Libraries/Alert/RCTAlertManager.android.js +1 -1
- package/Libraries/Alert/RCTAlertManager.ios.js +1 -1
- package/Libraries/Alert/RCTAlertManager.js.flow +18 -0
- package/Libraries/Animated/Animated.js +8 -37
- package/Libraries/Animated/Animated.js.flow +15 -0
- package/Libraries/Animated/AnimatedExports.js +47 -0
- package/Libraries/Animated/AnimatedExports.js.flow +48 -0
- package/Libraries/Animated/AnimatedMock.js +1 -1
- package/Libraries/Animated/NativeAnimatedModule.js +2 -2
- package/Libraries/Animated/NativeAnimatedTurboModule.js +2 -2
- package/Libraries/Animated/animations/Animation.js +1 -4
- package/Libraries/Animated/createAnimatedComponent.js +3 -3
- package/Libraries/Animated/nodes/AnimatedObject.js +1 -0
- package/Libraries/Animated/nodes/AnimatedValue.js +30 -22
- package/Libraries/Animated/useAnimatedProps.js +4 -333
- package/Libraries/Animated/useAnimatedValue.js +1 -3
- package/Libraries/AppState/AppState.js +24 -7
- package/Libraries/AppState/NativeAppState.js +2 -2
- package/Libraries/BatchedBridge/BatchedBridge.js +4 -2
- package/Libraries/BatchedBridge/MessageQueue.js +5 -4
- package/Libraries/BatchedBridge/NativeModules.js +6 -4
- package/Libraries/Blob/Blob.js +5 -5
- package/Libraries/Blob/BlobManager.js +3 -2
- package/Libraries/Blob/BlobRegistry.js +3 -9
- package/Libraries/Blob/File.js +3 -2
- package/Libraries/Blob/FileReader.js +8 -174
- package/Libraries/Blob/FileReader_new.js +231 -0
- package/Libraries/Blob/FileReader_old.js +186 -0
- package/Libraries/Blob/NativeBlobModule.js +2 -2
- package/Libraries/Blob/NativeFileReaderModule.js +2 -2
- package/Libraries/Blob/URL.js +1 -1
- package/Libraries/Blob/URLSearchParams.js +9 -10
- package/Libraries/Blob/URLSearchParams.js.flow +23 -0
- package/Libraries/BugReporting/BugReporting.js +2 -2
- package/Libraries/BugReporting/NativeBugReporting.js +2 -2
- package/Libraries/BugReporting/dumpReactTree.js +2 -2
- package/Libraries/BugReporting/getReactData.js +1 -1
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +1 -1
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.win32.js +1 -1
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +2 -2
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfoWin32.js +2 -2
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +2 -2
- package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +1 -1
- package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.ios.js +1 -1
- package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.js.flow +20 -0
- package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.win32.js +1 -1
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +11 -11
- package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +2 -2
- package/Libraries/Components/Button.js +6 -6
- package/Libraries/Components/Button.win32.js +6 -9
- package/Libraries/Components/Clipboard/Clipboard.js +1 -1
- package/Libraries/Components/Clipboard/NativeClipboard.js +2 -2
- package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +2 -2
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +14 -100
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +64 -4
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidTypes.js +138 -0
- package/Libraries/Components/Keyboard/Keyboard.js +9 -9
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +24 -25
- package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +2 -2
- package/Libraries/Components/LayoutConformance/LayoutConformance.js +7 -5
- package/Libraries/Components/LayoutConformance/LayoutConformanceNativeComponent.js +1 -1
- package/Libraries/Components/Pressable/Pressable.js +28 -73
- package/Libraries/Components/Pressable/Pressable.win32.js +29 -75
- package/Libraries/Components/Pressable/useAndroidRippleForView.js +17 -17
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +4 -47
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +13 -1
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +2 -2
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.js +54 -0
- package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +2 -2
- package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +2 -2
- package/Libraries/Components/RefreshControl/RefreshControl.js +17 -14
- package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +2 -1
- package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +2 -2
- package/Libraries/Components/SafeAreaView/SafeAreaView.js +1 -1
- package/Libraries/Components/SafeAreaView/SafeAreaView.win32.js +1 -1
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +2 -2
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +2 -4
- package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +2 -4
- package/Libraries/Components/ScrollView/ScrollView.js +139 -134
- package/Libraries/Components/ScrollView/ScrollViewCommands.js +3 -3
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +7 -9
- package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +5 -2
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +10 -11
- package/Libraries/Components/ScrollView/processDecelerationRate.js +1 -1
- package/Libraries/Components/Sound/NativeSoundManager.js +2 -2
- package/Libraries/Components/Sound/SoundManager.js +1 -1
- package/Libraries/Components/StaticRenderer.js +4 -4
- package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +2 -2
- package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +2 -2
- package/Libraries/Components/StatusBar/StatusBar.js +57 -31
- package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +2 -2
- package/Libraries/Components/Switch/Switch.js +74 -45
- package/Libraries/Components/Switch/SwitchNativeComponent.js +2 -2
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +33 -35
- package/Libraries/Components/TextInput/InputAccessoryView.js +5 -3
- package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +2 -2
- package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +2 -4
- package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +2 -4
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +5 -2
- package/Libraries/Components/TextInput/TextInput.flow.js +131 -121
- package/Libraries/Components/TextInput/TextInput.js +152 -149
- package/Libraries/Components/TextInput/TextInput.win32.js +154 -151
- package/Libraries/Components/TextInput/TextInputNativeCommands.js +1 -1
- package/Libraries/Components/TextInput/TextInputState.js +6 -20
- package/Libraries/Components/TextInput/TextInputState.win32.js +6 -20
- package/Libraries/Components/TextInput/Win32TextInputNativeComponent.js +1 -1
- package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +2 -2
- package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +1 -1
- package/Libraries/Components/ToastAndroid/ToastAndroid.d.ts +68 -6
- package/Libraries/Components/ToastAndroid/ToastAndroid.js +1 -1
- package/Libraries/Components/ToastAndroid/ToastAndroid.win32.js +1 -1
- package/Libraries/Components/Touchable/BoundingDimensions.js +1 -1
- package/Libraries/Components/Touchable/PooledClass.js +1 -1
- package/Libraries/Components/Touchable/Position.js +1 -1
- package/Libraries/Components/Touchable/Touchable.js +23 -23
- package/Libraries/Components/Touchable/Touchable.win32.js +23 -23
- package/Libraries/Components/Touchable/TouchableBounce.js +6 -6
- package/Libraries/Components/Touchable/TouchableHighlight.js +44 -23
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +102 -54
- package/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js +252 -47
- package/Libraries/Components/Touchable/TouchableOpacity.js +57 -15
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +114 -61
- package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +2 -2
- package/Libraries/Components/UnimplementedViews/UnimplementedView.js +11 -3
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +17 -3
- package/Libraries/Components/View/ReactNativeViewAttributes.js +1 -1
- package/Libraries/Components/View/ReactNativeViewAttributes.win32.js +1 -1
- package/Libraries/Components/View/View.js +2 -2
- package/Libraries/Components/View/View.win32.js +2 -2
- package/Libraries/Components/View/ViewAccessibility.js +245 -5
- package/Libraries/Components/View/ViewAccessibility.win32.js +245 -5
- package/Libraries/Components/View/ViewNativeComponent.js +2 -4
- package/Libraries/Components/View/ViewPropTypes.d.ts +14 -14
- package/Libraries/Components/View/ViewPropTypes.js +65 -253
- package/Libraries/Components/View/ViewPropTypes.win32.js +123 -312
- package/Libraries/Core/Devtools/getDevServer.js +1 -3
- package/Libraries/Core/Devtools/loadBundleFromServer.js +4 -2
- package/Libraries/Core/Devtools/loadBundleFromServer.win32.js +4 -2
- package/Libraries/Core/Devtools/openFileInEditor.js +2 -4
- package/Libraries/Core/Devtools/openURLInBrowser.js +5 -4
- package/Libraries/Core/Devtools/parseErrorStack.js +4 -4
- package/Libraries/Core/Devtools/parseHermesStack.js +2 -2
- package/Libraries/Core/Devtools/symbolicateStackTrace.js +6 -5
- package/Libraries/Core/ExceptionsManager.js +6 -4
- package/Libraries/Core/InitializeCore.js +7 -3
- package/Libraries/Core/NativeExceptionsManager.js +2 -2
- package/Libraries/Core/RawEventEmitter.js +2 -2
- package/Libraries/Core/ReactFiberErrorDialog.js +2 -2
- package/Libraries/Core/ReactNativeVersion.js +3 -5
- package/Libraries/Core/ReactNativeVersionCheck.js +2 -4
- package/Libraries/Core/ReactNativeVersionCheck.win32.js +2 -4
- package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +2 -2
- package/Libraries/Core/Timers/JSTimers.js +10 -8
- package/Libraries/Core/Timers/NativeTiming.js +2 -2
- package/Libraries/Core/Timers/immediateShim.js +2 -9
- package/Libraries/Core/polyfillPromise.js +1 -1
- package/Libraries/Core/registerCallableModule.js +1 -1
- package/Libraries/Core/setUpAlert.js +1 -1
- package/Libraries/Core/setUpBatchedBridge.js +13 -8
- package/Libraries/Core/setUpDeveloperTools.js +3 -35
- package/Libraries/Core/setUpErrorHandling.js +2 -2
- package/Libraries/Core/setUpReactDevTools.js +26 -6
- package/Libraries/Core/setUpReactRefresh.js +1 -1
- package/Libraries/Core/setUpTimers.js +45 -66
- package/Libraries/Core/setUpXHR.js +11 -8
- package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +2 -2
- package/Libraries/Debugging/DebuggingOverlayRegistry.js +10 -7
- package/Libraries/EventEmitter/NativeEventEmitter.js +8 -2
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +7 -5
- package/Libraries/EventEmitter/RCTEventEmitter.js +1 -1
- package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +1 -1
- package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +3 -2
- package/Libraries/Events/CustomEvent.js +3 -3
- package/Libraries/Events/EventPolyfill.js +2 -2
- package/Libraries/Image/AssetRegistry.js +8 -1
- package/Libraries/Image/AssetSourceResolver.js +4 -4
- package/Libraries/Image/Image.android.js +4 -2
- package/Libraries/Image/Image.ios.js +1 -1
- package/Libraries/Image/Image.js.flow +27 -0
- package/Libraries/Image/Image.win32.js +1 -1
- package/Libraries/Image/ImageBackground.js +2 -2
- package/Libraries/Image/ImageProps.js +109 -39
- package/Libraries/Image/ImageTypes.flow.js +16 -6
- package/Libraries/Image/ImageViewNativeComponent.js +8 -11
- package/Libraries/Image/NativeImageEditor.js +2 -2
- package/Libraries/Image/NativeImageLoaderAndroid.js +2 -2
- package/Libraries/Image/NativeImageLoaderIOS.js +2 -2
- package/Libraries/Image/NativeImageLoaderWin32.js +2 -2
- package/Libraries/Image/NativeImageStoreAndroid.js +2 -2
- package/Libraries/Image/NativeImageStoreIOS.js +2 -2
- package/Libraries/Image/RelativeImageStub.js +3 -1
- package/Libraries/Image/TextInlineImageNativeComponent.js +2 -4
- package/Libraries/Image/nativeImageSource.js +3 -3
- package/Libraries/Image/resolveAssetSource.js +4 -2
- package/Libraries/Image/resolveAssetSource.win32.js +1 -1
- package/Libraries/Interaction/FrameRateLogger.js +1 -1
- package/Libraries/Interaction/InteractionManager.js +20 -9
- package/Libraries/Interaction/InteractionManagerStub.js +10 -2
- package/Libraries/Interaction/JSEventLoopWatchdog.js +2 -2
- package/Libraries/Interaction/NativeFrameRateLogger.js +2 -2
- package/Libraries/Interaction/PanResponder.js +49 -46
- package/Libraries/Interaction/TaskQueue.js +4 -4
- package/Libraries/Interaction/TouchHistoryMath.js +27 -1
- package/Libraries/LayoutAnimation/LayoutAnimation.js +20 -6
- package/Libraries/Linking/Linking.d.ts +3 -3
- package/Libraries/Linking/Linking.js +10 -9
- package/Libraries/Linking/NativeIntentAndroid.js +2 -2
- package/Libraries/Linking/NativeLinkingManager.js +2 -2
- package/Libraries/Lists/FillRateHelper.js +4 -4
- package/Libraries/Lists/FlatList.js +30 -30
- package/Libraries/Lists/SectionList.js +10 -10
- package/Libraries/Lists/SectionListModern.js +9 -7
- package/Libraries/Lists/ViewabilityHelper.js +4 -3
- package/Libraries/Lists/VirtualizeUtils.js +3 -5
- package/Libraries/Lists/VirtualizedList.js +6 -6
- package/Libraries/Lists/VirtualizedListContext.js +5 -5
- package/Libraries/Lists/VirtualizedSectionList.js +5 -3
- package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +1 -1
- package/Libraries/LogBox/Data/LogBoxData.js +15 -15
- package/Libraries/LogBox/Data/LogBoxLog.js +51 -29
- package/Libraries/LogBox/Data/parseLogBoxLog.js +10 -10
- package/Libraries/LogBox/LogBox.js +22 -2
- package/Libraries/LogBox/LogBoxInspectorContainer.js +3 -3
- package/Libraries/LogBox/LogBoxNotificationContainer.js +3 -3
- package/Libraries/LogBox/UI/AnsiHighlight.js +7 -3
- package/Libraries/LogBox/UI/LogBoxButton.js +8 -6
- package/Libraries/LogBox/UI/LogBoxInspector.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorBody.js +8 -2
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +50 -31
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.win32.js +50 -31
- package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +11 -3
- package/Libraries/LogBox/UI/LogBoxInspectorFooterButton.js +2 -0
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +8 -2
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.win32.js +8 -2
- package/Libraries/LogBox/UI/LogBoxInspectorHeaderButton.js +2 -0
- package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +6 -4
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +5 -3
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.win32.js +5 -3
- package/Libraries/LogBox/UI/LogBoxInspectorSection.js +2 -2
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +4 -4
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +5 -3
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.win32.js +5 -3
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +2 -2
- package/Libraries/LogBox/UI/LogBoxNotification.js +6 -2
- package/Libraries/LogBox/UI/LogBoxNotificationCountBadge.js +3 -1
- package/Libraries/LogBox/UI/LogBoxNotificationDismissButton.js +2 -0
- package/Libraries/LogBox/UI/LogBoxNotificationMessage.js +4 -1
- package/Libraries/Modal/Modal.js +82 -89
- package/Libraries/Modal/NativeModalManager.js +2 -2
- package/Libraries/Modal/RCTModalHostViewNativeComponent.js +2 -2
- package/Libraries/NativeComponent/BaseViewConfig.android.js +16 -6
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +19 -9
- package/Libraries/NativeComponent/BaseViewConfig.js.flow +14 -0
- package/Libraries/NativeComponent/BaseViewConfig.win32.js +19 -9
- package/Libraries/NativeComponent/NativeComponentRegistry.js +1 -1
- package/Libraries/NativeComponent/StaticViewConfigValidator.js +5 -1
- package/Libraries/NativeModules/specs/NativeDevMenu.js +2 -2
- package/Libraries/NativeModules/specs/NativeDevSettings.js +2 -2
- package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +2 -2
- package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +2 -2
- package/Libraries/NativeModules/specs/NativeLogBox.js +2 -2
- package/Libraries/NativeModules/specs/NativeRedBox.js +2 -2
- package/Libraries/NativeModules/specs/NativeSourceCode.js +2 -2
- package/Libraries/Network/FormData.js +1 -1
- package/Libraries/Network/NativeNetworkingAndroid.js +2 -2
- package/Libraries/Network/NativeNetworkingIOS.js +2 -2
- package/Libraries/Network/RCTNetworking.android.js +1 -1
- package/Libraries/Network/RCTNetworking.ios.js +1 -1
- package/Libraries/Network/RCTNetworking.js.flow +44 -0
- package/Libraries/Network/RCTNetworking.win32.js +1 -1
- package/Libraries/Network/XMLHttpRequest.js +10 -685
- package/Libraries/Network/XMLHttpRequest_new.js +794 -0
- package/Libraries/Network/XMLHttpRequest_old.js +701 -0
- package/Libraries/Network/convertRequestBody.js +7 -4
- package/Libraries/Network/fetch.js +4 -3
- package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +2 -2
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +65 -63
- package/Libraries/Pressability/HoverState.js +1 -0
- package/Libraries/Pressability/HoverState.win32.js +1 -0
- package/Libraries/Pressability/Pressability.js +34 -34
- package/Libraries/Pressability/Pressability.win32.js +35 -35
- package/Libraries/Pressability/PressabilityDebug.js +2 -2
- package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +2 -2
- package/Libraries/Promise.js +2 -2
- package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +2 -2
- package/Libraries/PushNotificationIOS/PushNotificationIOS.js +119 -16
- package/Libraries/ReactNative/AppContainer-dev.js +4 -3
- package/Libraries/ReactNative/AppContainer.js +3 -3
- package/Libraries/ReactNative/AppRegistry.js +4 -4
- package/Libraries/ReactNative/BridgelessUIManager.js +4 -9
- package/Libraries/ReactNative/FabricUIManager.js +22 -10
- package/Libraries/ReactNative/I18nManager.js +4 -3
- package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +2 -2
- package/Libraries/ReactNative/NativeI18nManager.js +2 -2
- package/Libraries/ReactNative/NativeUIManager.js +2 -2
- package/Libraries/ReactNative/PaperUIManager.js +6 -6
- package/Libraries/ReactNative/PaperUIManager.win32.js +6 -6
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +7 -5
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +85 -30
- package/Libraries/ReactNative/ReactNativeFeatureFlags.js +3 -3
- package/Libraries/ReactNative/ReactNativeRuntimeDiagnostics.js +3 -3
- package/Libraries/ReactNative/RendererImplementation.js +12 -5
- package/Libraries/ReactNative/RootTag.js +1 -1
- package/Libraries/ReactNative/UIManager.d.ts +1 -0
- package/Libraries/ReactNative/UIManager.js +3 -3
- package/Libraries/ReactNative/UIManagerProperties.js +1 -1
- package/Libraries/ReactNative/getNativeComponentAttributes.js +10 -9
- package/Libraries/ReactNative/requireNativeComponent.js +3 -2
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +30 -10
- package/Libraries/Renderer/shims/ReactNativeTypes.js +40 -89
- package/Libraries/Settings/NativeSettingsManager.js +2 -2
- package/Libraries/Settings/Settings.ios.js +1 -1
- package/Libraries/Settings/Settings.js +3 -3
- package/Libraries/Settings/Settings.win32.js +3 -3
- package/Libraries/Share/NativeShareModule.js +2 -2
- package/Libraries/Share/Share.js +11 -4
- package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypes.js.flow +22 -0
- package/Libraries/StyleSheet/Rect.js +2 -2
- package/Libraries/StyleSheet/StyleSheet.js +4 -3
- package/Libraries/StyleSheet/StyleSheet.win32.js +5 -4
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +1 -1
- package/Libraries/StyleSheet/__flowtests__/StyleSheet-flowtest.js +1 -1
- package/Libraries/StyleSheet/flattenStyle.js +1 -1
- package/Libraries/StyleSheet/normalizeColor.js +1 -1
- package/Libraries/StyleSheet/private/_TransformStyle.js +18 -18
- package/Libraries/StyleSheet/processAspectRatio.js +1 -1
- package/Libraries/StyleSheet/processBackgroundImage.js +138 -136
- package/Libraries/StyleSheet/processBoxShadow.js +4 -0
- package/Libraries/StyleSheet/processColor.js +2 -2
- package/Libraries/StyleSheet/processColorArray.js +1 -1
- package/Libraries/StyleSheet/processFilter.js +4 -0
- package/Libraries/StyleSheet/processFontVariant.js +1 -1
- package/Libraries/StyleSheet/processTransform.js +1 -1
- package/Libraries/StyleSheet/setNormalizedColorAlpha.js +1 -1
- package/Libraries/Text/Text.d.ts +1 -1
- package/Libraries/Text/Text.js +19 -17
- package/Libraries/Text/Text.win32.js +19 -17
- package/Libraries/Text/TextAncestor.js +2 -3
- package/Libraries/Text/TextNativeComponent.js +3 -3
- package/Libraries/Text/TextNativeComponent.win32.js +3 -3
- package/Libraries/Text/TextProps.js +134 -94
- package/Libraries/Text/TextProps.win32.js +134 -94
- package/Libraries/TurboModule/TurboModuleRegistry.js +1 -1
- package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +2 -2
- package/Libraries/Types/CodegenTypes.js +5 -4
- package/Libraries/Types/CoreEventTypes.js +119 -86
- package/Libraries/Types/CoreEventTypes.win32.js +131 -93
- package/Libraries/Types/ReactDevToolsTypes.js +4 -8
- package/Libraries/UTFSequence.js +4 -3
- package/Libraries/Utilities/Appearance.js +0 -8
- package/Libraries/Utilities/BackHandler.android.js +3 -3
- package/Libraries/Utilities/BackHandler.ios.js +7 -7
- package/Libraries/Utilities/BackHandler.js.flow +25 -0
- package/Libraries/Utilities/BackHandler.win32.js +3 -3
- package/Libraries/Utilities/DevLoadingView.js +1 -1
- package/Libraries/Utilities/DevSettings.js +15 -1
- package/Libraries/Utilities/DeviceInfo.js +1 -1
- package/Libraries/Utilities/DeviceInfo.win32.js +1 -1
- package/Libraries/Utilities/Dimensions.js +5 -0
- package/Libraries/Utilities/Dimensions.win32.js +5 -0
- package/Libraries/Utilities/FeatureDetection.js +2 -4
- package/Libraries/Utilities/FocusManager.win32.js +3 -3
- package/Libraries/Utilities/GlobalPerformanceLogger.js +1 -1
- package/Libraries/Utilities/HMRClient.js +7 -7
- package/Libraries/Utilities/HMRClientProdShim.js +1 -1
- package/Libraries/Utilities/NativeAppearance.js +2 -2
- package/Libraries/Utilities/NativeDevLoadingView.js +2 -2
- package/Libraries/Utilities/NativeDeviceInfo.js +2 -2
- package/Libraries/Utilities/NativePlatformConstantsAndroid.js +2 -2
- package/Libraries/Utilities/NativePlatformConstantsIOS.js +2 -2
- package/Libraries/Utilities/NativePlatformConstantsWin.js +2 -2
- package/Libraries/Utilities/Platform.android.js +6 -6
- package/Libraries/Utilities/Platform.ios.js +6 -6
- package/{flow/Position.js → Libraries/Utilities/Platform.js.flow} +3 -6
- package/Libraries/Utilities/Platform.win32.js +4 -4
- package/Libraries/Utilities/{Platform.flow.win32.js → PlatformTypes.js} +105 -14
- package/Libraries/Utilities/PolyfillFunctions.js +3 -5
- package/Libraries/Utilities/RCTLog.js +1 -1
- package/Libraries/Utilities/ReactNativeTestTools.js +6 -6
- package/Libraries/Utilities/SceneTracker.js +1 -1
- package/Libraries/Utilities/__mocks__/GlobalPerformanceLogger.js +2 -2
- package/Libraries/Utilities/binaryToBase64.js +1 -1
- package/Libraries/Utilities/codegenNativeCommands.js +2 -2
- package/Libraries/Utilities/codegenNativeComponent.js +3 -3
- package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +1 -1
- package/Libraries/Utilities/defineLazyObjectProperty.js +1 -1
- package/Libraries/Utilities/differ/deepDiffer.js +6 -6
- package/Libraries/Utilities/differ/insetsDiffer.js +3 -3
- package/Libraries/Utilities/differ/matricesDiffer.js +3 -6
- package/Libraries/Utilities/differ/pointsDiffer.js +3 -3
- package/Libraries/Utilities/differ/sizesDiffer.js +3 -3
- package/Libraries/Utilities/dismissKeyboard.js +3 -2
- package/Libraries/Utilities/infoLog.js +1 -1
- package/Libraries/Utilities/logError.js +1 -1
- package/Libraries/Utilities/mapWithSeparator.js +1 -1
- package/Libraries/Utilities/stringifySafe.js +2 -2
- package/Libraries/Utilities/warnOnce.js +1 -1
- package/Libraries/Vibration/NativeVibration.js +2 -2
- package/Libraries/Vibration/Vibration.js +4 -4
- package/Libraries/WebSocket/NativeWebSocketModule.js +2 -2
- package/Libraries/WebSocket/WebSocket.js +8 -285
- package/Libraries/WebSocket/WebSocketEvent.js +2 -2
- package/Libraries/WebSocket/WebSocketInterceptor.js +39 -11
- package/Libraries/WebSocket/WebSocket_new.js +325 -0
- package/Libraries/WebSocket/WebSocket_old.js +297 -0
- package/Libraries/WebSocket/__mocks__/event-target-shim.js +1 -1
- package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +2 -4
- package/Libraries/vendor/core/ErrorUtils.js +1 -1
- package/Libraries/vendor/emitter/EventEmitter.js +21 -9
- package/flow/jest.js +14 -14
- package/index.js +153 -237
- package/index.win32.js +64 -55
- package/jest/mockScrollView.js +1 -1
- package/jest/setup.js +314 -264
- package/overrides.json +64 -75
- package/package.json +24 -24
- package/src/private/animated/createAnimatedPropsHook.js +360 -0
- package/src/private/animated/{useAnimatedPropsMemo.js → createAnimatedPropsMemoHook.js} +84 -32
- package/src/private/components/HScrollViewNativeComponents.js +2 -2
- package/src/private/components/SafeAreaView_INTERNAL_DO_NOT_USE.js +2 -2
- package/src/private/components/VScrollViewNativeComponents.js +1 -1
- package/src/private/debugging/ReactDevToolsSettingsManager.android.js +1 -1
- package/src/private/debugging/ReactDevToolsSettingsManager.win32.js +1 -1
- package/src/private/devmenu/DevMenu.js +2 -2
- package/src/private/featureflags/ReactNativeFeatureFlags.js +53 -75
- package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +5 -7
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +10 -12
- package/{Libraries/Inspector → src/private/inspector}/BorderBox.js +3 -3
- package/{Libraries/Inspector → src/private/inspector}/BoxInspector.js +9 -6
- package/{Libraries/Inspector → src/private/inspector}/ElementBox.js +9 -8
- package/{Libraries/Inspector → src/private/inspector}/ElementProperties.js +20 -15
- package/{Libraries/Inspector → src/private/inspector}/Inspector.js +21 -18
- package/{Libraries/Inspector → src/private/inspector}/InspectorOverlay.js +11 -10
- package/{Libraries/Inspector → src/private/inspector}/InspectorPanel.js +17 -15
- package/{Libraries/Inspector → src/private/inspector}/NetworkOverlay.js +43 -27
- package/{Libraries/Inspector → src/private/inspector}/PerformanceOverlay.js +8 -6
- package/{Libraries/Inspector → src/private/inspector}/ReactDevToolsOverlay.js +11 -10
- package/{Libraries/Inspector → src/private/inspector}/StyleInspector.js +6 -6
- package/{Libraries/Network → src/private/inspector}/XHRInterceptor.js +5 -2
- package/{Libraries/Inspector → src/private/inspector}/getInspectorDataForViewAtPoint.js +6 -6
- package/{Libraries/Inspector → src/private/inspector}/resolveBoxStyle.js +5 -4
- package/src/private/renderer/errorhandling/ErrorHandlers.js +5 -5
- package/src/private/setup/setUpDOM.js +43 -3
- package/src/private/{specs → specs_DEPRECATED}/components/ActivityIndicatorViewNativeComponent.js +3 -3
- package/src/private/{specs → specs_DEPRECATED}/components/AndroidDrawerLayoutNativeComponent.js +7 -7
- package/src/private/{specs → specs_DEPRECATED}/components/AndroidHorizontalScrollContentViewNativeComponent.js +3 -3
- package/src/private/{specs → specs_DEPRECATED}/components/AndroidSwipeRefreshLayoutNativeComponent.js +3 -3
- package/src/private/{specs → specs_DEPRECATED}/components/AndroidSwitchNativeComponent.js +5 -5
- package/src/private/{specs → specs_DEPRECATED}/components/DebuggingOverlayNativeComponent.js +3 -3
- package/src/private/{specs → specs_DEPRECATED}/components/ProgressBarAndroidNativeComponent.js +3 -3
- package/src/private/{specs → specs_DEPRECATED}/components/PullToRefreshViewNativeComponent.js +3 -3
- package/src/private/{specs → specs_DEPRECATED}/components/RCTInputAccessoryViewNativeComponent.js +3 -3
- package/src/private/{specs → specs_DEPRECATED}/components/RCTModalHostViewNativeComponent.js +5 -5
- package/src/private/{specs → specs_DEPRECATED}/components/RCTSafeAreaViewNativeComponent.js +3 -3
- package/src/private/{specs → specs_DEPRECATED}/components/SwitchNativeComponent.js +5 -5
- package/src/private/{specs → specs_DEPRECATED}/components/UnimplementedNativeViewNativeComponent.js +3 -3
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeAccessibilityManager.js +2 -2
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeActionSheetManager.js +7 -7
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeAlertManager.js +2 -2
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeAnimatedModule.js +2 -2
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeAnimatedTurboModule.js +2 -2
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeAppState.js +3 -3
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeBlobModule.js +1 -1
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeClipboard.js +1 -1
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeDevMenu.js +0 -1
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeDevSettings.js +0 -1
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeDeviceInfo.js +8 -8
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeDialogManagerAndroid.js +4 -4
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeExceptionsManager.js +3 -3
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeFrameRateLogger.js +1 -1
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeI18nManager.js +2 -2
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageEditor.js +9 -9
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageLoaderAndroid.js +1 -1
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageLoaderIOS.js +1 -1
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageLoaderWin32.js +1 -1
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageStoreAndroid.js +1 -1
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeImageStoreIOS.js +3 -3
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeNetworkingIOS.js +2 -2
- package/src/private/{specs → specs_DEPRECATED}/modules/NativePermissionsAndroid.js +5 -4
- package/src/private/{specs → specs_DEPRECATED}/modules/NativePlatformConstantsAndroid.js +4 -4
- package/src/private/{specs → specs_DEPRECATED}/modules/NativePlatformConstantsIOS.js +4 -4
- package/src/private/{specs → specs_DEPRECATED}/modules/NativePlatformConstantsWin.js +5 -10
- package/src/private/{specs → specs_DEPRECATED}/modules/NativePushNotificationManagerIOS.js +7 -7
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeSampleTurboModule.js +2 -2
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeSettingsManager.js +2 -2
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeShareModule.js +3 -3
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeSourceCode.js +2 -2
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeStatusBarManagerAndroid.js +4 -4
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeStatusBarManagerIOS.js +6 -6
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeToastAndroid.js +2 -2
- package/src/private/specs_DEPRECATED/modules/NativeUIManager.js +184 -0
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeVibration.js +1 -1
- package/src/private/{specs → specs_DEPRECATED}/modules/NativeWebSocketModule.js +1 -1
- package/{flow/react.js → src/private/types/HostComponent.js} +6 -5
- package/src/private/types/HostInstance.js +50 -0
- package/src/private/webapis/dom/events/CustomEvent.js +38 -0
- package/src/private/webapis/dom/events/Event.js +236 -0
- package/src/private/webapis/dom/events/EventHandlerAttributes.js +130 -0
- package/src/private/webapis/dom/events/EventTarget.js +436 -0
- package/src/private/webapis/dom/events/internals/EventInternals.js +120 -0
- package/src/private/webapis/dom/events/internals/EventTargetInternals.js +52 -0
- package/src/private/webapis/dom/nodes/ReactNativeDocument.js +121 -0
- package/src/private/webapis/dom/nodes/ReactNativeElement.js +82 -51
- package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +7 -6
- package/src/private/webapis/dom/nodes/ReadOnlyElement.js +26 -26
- package/src/private/webapis/dom/nodes/ReadOnlyNode.js +56 -78
- package/src/private/webapis/dom/nodes/internals/NodeInternals.js +144 -0
- package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentElementInstanceHandle.js +55 -0
- package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +44 -0
- package/src/private/webapis/dom/nodes/specs/NativeDOM.js +305 -194
- package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +2 -2
- package/src/private/webapis/dom/oldstylecollections/NodeList.js +2 -2
- package/src/private/webapis/{dom/oldstylecollections → geometry}/DOMRectList.js +3 -3
- package/src/private/webapis/html/events/MessageEvent.js +56 -0
- package/src/private/webapis/intersectionobserver/IntersectionObserver.js +6 -6
- package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +1 -1
- package/src/private/webapis/intersectionobserver/{IntersectionObserverManager.js → internals/IntersectionObserverManager.js} +20 -17
- package/src/private/webapis/mutationobserver/MutationObserver.js +11 -11
- package/src/private/webapis/mutationobserver/{MutationObserverManager.js → internals/MutationObserverManager.js} +12 -14
- package/src/private/webapis/performance/EventTiming.js +1 -1
- package/src/private/webapis/performance/Performance.js +3 -3
- package/src/private/webapis/performance/PerformanceObserver.js +8 -8
- package/src/private/webapis/performance/{RawPerformanceEntry.js → internals/RawPerformanceEntry.js} +6 -6
- package/src/private/webapis/performance/{Utilities.js → internals/Utilities.js} +1 -1
- package/src/private/webapis/performance/specs/__mocks__/NativePerformanceMock.js +1 -1
- package/src/private/webapis/websockets/events/CloseEvent.js +52 -0
- package/src/private/webapis/xhr/events/ProgressEvent.js +52 -0
- package/src/types/globals.d.ts +628 -0
- package/src-win/Libraries/Components/View/ViewPropTypes.d.ts +14 -14
- package/src-win/Libraries/Text/Text.d.ts +1 -1
- package/types/index.d.ts +2 -58
- package/Libraries/Animated/AnimatedWeb.js +0 -26
- package/Libraries/Inspector/Inspector.win32.js +0 -212
- package/Libraries/Inspector/InspectorOverlay.win32.js +0 -68
- package/Libraries/JSInspector/InspectorAgent.js +0 -27
- package/Libraries/JSInspector/JSInspector.js +0 -33
- package/Libraries/JSInspector/NetworkAgent.js +0 -295
- package/Libraries/Utilities/DebugEnvironment.js +0 -16
- package/Libraries/Utilities/Platform.flow.js +0 -91
- package/Libraries/YellowBox/YellowBoxDeprecated.d.ts +0 -19
- package/Libraries/YellowBox/YellowBoxDeprecated.js +0 -75
- package/src/private/specs/modules/NativeCPUTime.js +0 -24
- package/src/private/specs/modules/NativeFantom.js +0 -37
- package/src/private/specs/modules/NativeUIManager.js +0 -111
- package/types/modules/globals.d.ts +0 -599
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeAccessibilityInfo.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeAccessibilityInfoWin32.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeAppearance.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeBugReporting.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeDevLoadingView.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeDeviceEventManager.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeFileReaderModule.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeHeadlessJsTaskSupport.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeIntentAndroid.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeJSCHeapCapture.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeKeyboardObserver.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeLinkingManager.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeLogBox.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeModalManager.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeNetworkingAndroid.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeReactDevToolsSettingsManager.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeRedBox.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeSegmentFetcher.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeSoundManager.js +0 -0
- /package/src/private/{specs → specs_DEPRECATED}/modules/NativeTiming.js +0 -0
- /package/src/private/webapis/dom/nodes/{utilities → internals}/Traversal.js +0 -0
- /package/src/private/webapis/{dom/geometry → geometry}/DOMRect.js +0 -0
- /package/src/private/webapis/{dom/geometry → geometry}/DOMRectReadOnly.js +0 -0
- /package/src/private/webapis/{dom/oldstylecollections → utils}/ArrayLikeUtils.js +0 -0
|
@@ -10,10 +10,10 @@
|
|
|
10
10
|
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
|
-
import type {
|
|
13
|
+
import type {GestureResponderEvent} from '../Types/CoreEventTypes';
|
|
14
14
|
|
|
15
|
-
const InteractionManager = require('./InteractionManager');
|
|
16
|
-
const TouchHistoryMath = require('./TouchHistoryMath');
|
|
15
|
+
const InteractionManager = require('./InteractionManager').default;
|
|
16
|
+
const TouchHistoryMath = require('./TouchHistoryMath').default;
|
|
17
17
|
|
|
18
18
|
const currentCentroidXOfTouchesChangedAfter =
|
|
19
19
|
TouchHistoryMath.currentCentroidXOfTouchesChangedAfter;
|
|
@@ -124,7 +124,7 @@ const currentCentroidY = TouchHistoryMath.currentCentroidY;
|
|
|
124
124
|
* [PanResponder example in RNTester](https://github.com/facebook/react-native/blob/HEAD/packages/rn-tester/js/examples/PanResponder/PanResponderExample.js)
|
|
125
125
|
*/
|
|
126
126
|
|
|
127
|
-
export type
|
|
127
|
+
export type PanResponderGestureState = {
|
|
128
128
|
/**
|
|
129
129
|
* ID of the gestureState - persisted as long as there at least one touch on screen
|
|
130
130
|
*/
|
|
@@ -181,31 +181,34 @@ export type GestureState = {|
|
|
|
181
181
|
* @private
|
|
182
182
|
*/
|
|
183
183
|
_accountsForMovesUpTo: number,
|
|
184
|
-
|
|
184
|
+
};
|
|
185
185
|
|
|
186
186
|
type ActiveCallback = (
|
|
187
|
-
event:
|
|
188
|
-
gestureState:
|
|
187
|
+
event: GestureResponderEvent,
|
|
188
|
+
gestureState: PanResponderGestureState,
|
|
189
189
|
) => boolean;
|
|
190
190
|
|
|
191
|
-
type PassiveCallback = (
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
191
|
+
type PassiveCallback = (
|
|
192
|
+
event: GestureResponderEvent,
|
|
193
|
+
gestureState: PanResponderGestureState,
|
|
194
|
+
) => mixed;
|
|
195
|
+
|
|
196
|
+
export type GestureResponderHandlers = {
|
|
197
|
+
onMoveShouldSetResponder: (event: GestureResponderEvent) => boolean,
|
|
198
|
+
onMoveShouldSetResponderCapture: (event: GestureResponderEvent) => boolean,
|
|
199
|
+
onResponderEnd: (event: GestureResponderEvent) => void,
|
|
200
|
+
onResponderGrant: (event: GestureResponderEvent) => boolean,
|
|
201
|
+
onResponderMove: (event: GestureResponderEvent) => void,
|
|
202
|
+
onResponderReject: (event: GestureResponderEvent) => void,
|
|
203
|
+
onResponderRelease: (event: GestureResponderEvent) => void,
|
|
204
|
+
onResponderStart: (event: GestureResponderEvent) => void,
|
|
205
|
+
onResponderTerminate: (event: GestureResponderEvent) => void,
|
|
206
|
+
onResponderTerminationRequest: (event: GestureResponderEvent) => boolean,
|
|
207
|
+
onStartShouldSetResponder: (event: GestureResponderEvent) => boolean,
|
|
208
|
+
onStartShouldSetResponderCapture: (event: GestureResponderEvent) => boolean,
|
|
209
|
+
};
|
|
210
|
+
|
|
211
|
+
export type PanResponderCallbacks = $ReadOnly<{
|
|
209
212
|
onMoveShouldSetPanResponder?: ?ActiveCallback,
|
|
210
213
|
onMoveShouldSetPanResponderCapture?: ?ActiveCallback,
|
|
211
214
|
onStartShouldSetPanResponder?: ?ActiveCallback,
|
|
@@ -224,7 +227,7 @@ type PanResponderConfig = $ReadOnly<{|
|
|
|
224
227
|
onPanResponderTerminate?: ?PassiveCallback,
|
|
225
228
|
onPanResponderTerminationRequest?: ?ActiveCallback,
|
|
226
229
|
onShouldBlockNativeResponder?: ?ActiveCallback,
|
|
227
|
-
|
|
230
|
+
}>;
|
|
228
231
|
|
|
229
232
|
const PanResponder = {
|
|
230
233
|
/**
|
|
@@ -290,7 +293,7 @@ const PanResponder = {
|
|
|
290
293
|
* - vx/vy: Velocity.
|
|
291
294
|
*/
|
|
292
295
|
|
|
293
|
-
_initializeGestureState(gestureState:
|
|
296
|
+
_initializeGestureState(gestureState: PanResponderGestureState) {
|
|
294
297
|
gestureState.moveX = 0;
|
|
295
298
|
gestureState.moveY = 0;
|
|
296
299
|
gestureState.x0 = 0;
|
|
@@ -329,8 +332,8 @@ const PanResponder = {
|
|
|
329
332
|
* avoids more dispatches than necessary.
|
|
330
333
|
*/
|
|
331
334
|
_updateGestureStateOnMove(
|
|
332
|
-
gestureState:
|
|
333
|
-
touchHistory: $PropertyType<
|
|
335
|
+
gestureState: PanResponderGestureState,
|
|
336
|
+
touchHistory: $PropertyType<GestureResponderEvent, 'touchHistory'>,
|
|
334
337
|
) {
|
|
335
338
|
gestureState.numberActiveTouches = touchHistory.numberActiveTouches;
|
|
336
339
|
gestureState.moveX = currentCentroidXOfTouchesChangedAfter(
|
|
@@ -398,14 +401,14 @@ const PanResponder = {
|
|
|
398
401
|
* accordingly. (numberActiveTouches) may not be totally accurate unless you
|
|
399
402
|
* are the responder.
|
|
400
403
|
*/
|
|
401
|
-
create(config:
|
|
404
|
+
create(config: PanResponderCallbacks): {
|
|
402
405
|
getInteractionHandle: () => ?number,
|
|
403
|
-
panHandlers:
|
|
406
|
+
panHandlers: GestureResponderHandlers,
|
|
404
407
|
} {
|
|
405
408
|
const interactionState = {
|
|
406
409
|
handle: (null: ?number),
|
|
407
410
|
};
|
|
408
|
-
const gestureState:
|
|
411
|
+
const gestureState: PanResponderGestureState = {
|
|
409
412
|
// Useful for debugging
|
|
410
413
|
stateID: Math.random(),
|
|
411
414
|
moveX: 0,
|
|
@@ -420,17 +423,17 @@ const PanResponder = {
|
|
|
420
423
|
_accountsForMovesUpTo: 0,
|
|
421
424
|
};
|
|
422
425
|
const panHandlers = {
|
|
423
|
-
onStartShouldSetResponder(event:
|
|
426
|
+
onStartShouldSetResponder(event: GestureResponderEvent): boolean {
|
|
424
427
|
return config.onStartShouldSetPanResponder == null
|
|
425
428
|
? false
|
|
426
429
|
: config.onStartShouldSetPanResponder(event, gestureState);
|
|
427
430
|
},
|
|
428
|
-
onMoveShouldSetResponder(event:
|
|
431
|
+
onMoveShouldSetResponder(event: GestureResponderEvent): boolean {
|
|
429
432
|
return config.onMoveShouldSetPanResponder == null
|
|
430
433
|
? false
|
|
431
434
|
: config.onMoveShouldSetPanResponder(event, gestureState);
|
|
432
435
|
},
|
|
433
|
-
onStartShouldSetResponderCapture(event:
|
|
436
|
+
onStartShouldSetResponderCapture(event: GestureResponderEvent): boolean {
|
|
434
437
|
// TODO: Actually, we should reinitialize the state any time
|
|
435
438
|
// touches.length increases from 0 active to > 0 active.
|
|
436
439
|
if (event.nativeEvent.touches.length === 1) {
|
|
@@ -443,7 +446,7 @@ const PanResponder = {
|
|
|
443
446
|
: false;
|
|
444
447
|
},
|
|
445
448
|
|
|
446
|
-
onMoveShouldSetResponderCapture(event:
|
|
449
|
+
onMoveShouldSetResponderCapture(event: GestureResponderEvent): boolean {
|
|
447
450
|
const touchHistory = event.touchHistory;
|
|
448
451
|
// Responder system incorrectly dispatches should* to current responder
|
|
449
452
|
// Filter out any touch moves past the first one - we would have
|
|
@@ -460,7 +463,7 @@ const PanResponder = {
|
|
|
460
463
|
: false;
|
|
461
464
|
},
|
|
462
465
|
|
|
463
|
-
onResponderGrant(event:
|
|
466
|
+
onResponderGrant(event: GestureResponderEvent): boolean {
|
|
464
467
|
if (!interactionState.handle) {
|
|
465
468
|
interactionState.handle =
|
|
466
469
|
InteractionManager.createInteractionHandle();
|
|
@@ -478,7 +481,7 @@ const PanResponder = {
|
|
|
478
481
|
: config.onShouldBlockNativeResponder(event, gestureState);
|
|
479
482
|
},
|
|
480
483
|
|
|
481
|
-
onResponderReject(event:
|
|
484
|
+
onResponderReject(event: GestureResponderEvent): void {
|
|
482
485
|
clearInteractionHandle(
|
|
483
486
|
interactionState,
|
|
484
487
|
config.onPanResponderReject,
|
|
@@ -487,7 +490,7 @@ const PanResponder = {
|
|
|
487
490
|
);
|
|
488
491
|
},
|
|
489
492
|
|
|
490
|
-
onResponderRelease(event:
|
|
493
|
+
onResponderRelease(event: GestureResponderEvent): void {
|
|
491
494
|
clearInteractionHandle(
|
|
492
495
|
interactionState,
|
|
493
496
|
config.onPanResponderRelease,
|
|
@@ -497,7 +500,7 @@ const PanResponder = {
|
|
|
497
500
|
PanResponder._initializeGestureState(gestureState);
|
|
498
501
|
},
|
|
499
502
|
|
|
500
|
-
onResponderStart(event:
|
|
503
|
+
onResponderStart(event: GestureResponderEvent): void {
|
|
501
504
|
const touchHistory = event.touchHistory;
|
|
502
505
|
gestureState.numberActiveTouches = touchHistory.numberActiveTouches;
|
|
503
506
|
if (config.onPanResponderStart) {
|
|
@@ -505,7 +508,7 @@ const PanResponder = {
|
|
|
505
508
|
}
|
|
506
509
|
},
|
|
507
510
|
|
|
508
|
-
onResponderMove(event:
|
|
511
|
+
onResponderMove(event: GestureResponderEvent): void {
|
|
509
512
|
const touchHistory = event.touchHistory;
|
|
510
513
|
// Guard against the dispatch of two touch moves when there are two
|
|
511
514
|
// simultaneously changed touches.
|
|
@@ -523,7 +526,7 @@ const PanResponder = {
|
|
|
523
526
|
}
|
|
524
527
|
},
|
|
525
528
|
|
|
526
|
-
onResponderEnd(event:
|
|
529
|
+
onResponderEnd(event: GestureResponderEvent): void {
|
|
527
530
|
const touchHistory = event.touchHistory;
|
|
528
531
|
gestureState.numberActiveTouches = touchHistory.numberActiveTouches;
|
|
529
532
|
clearInteractionHandle(
|
|
@@ -534,7 +537,7 @@ const PanResponder = {
|
|
|
534
537
|
);
|
|
535
538
|
},
|
|
536
539
|
|
|
537
|
-
onResponderTerminate(event:
|
|
540
|
+
onResponderTerminate(event: GestureResponderEvent): void {
|
|
538
541
|
clearInteractionHandle(
|
|
539
542
|
interactionState,
|
|
540
543
|
config.onPanResponderTerminate,
|
|
@@ -544,7 +547,7 @@ const PanResponder = {
|
|
|
544
547
|
PanResponder._initializeGestureState(gestureState);
|
|
545
548
|
},
|
|
546
549
|
|
|
547
|
-
onResponderTerminationRequest(event:
|
|
550
|
+
onResponderTerminationRequest(event: GestureResponderEvent): boolean {
|
|
548
551
|
return config.onPanResponderTerminationRequest == null
|
|
549
552
|
? true
|
|
550
553
|
: config.onPanResponderTerminationRequest(event, gestureState);
|
|
@@ -562,8 +565,8 @@ const PanResponder = {
|
|
|
562
565
|
function clearInteractionHandle(
|
|
563
566
|
interactionState: {handle: ?number, ...},
|
|
564
567
|
callback: ?(ActiveCallback | PassiveCallback),
|
|
565
|
-
event:
|
|
566
|
-
gestureState:
|
|
568
|
+
event: GestureResponderEvent,
|
|
569
|
+
gestureState: PanResponderGestureState,
|
|
567
570
|
) {
|
|
568
571
|
if (interactionState.handle) {
|
|
569
572
|
InteractionManager.clearInteractionHandle(interactionState.handle);
|
|
@@ -10,14 +10,14 @@
|
|
|
10
10
|
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
|
-
const infoLog = require('../Utilities/infoLog');
|
|
13
|
+
const infoLog = require('../Utilities/infoLog').default;
|
|
14
14
|
const invariant = require('invariant');
|
|
15
15
|
|
|
16
|
-
type SimpleTask = {
|
|
16
|
+
export type SimpleTask = {
|
|
17
17
|
name: string,
|
|
18
18
|
run: () => void,
|
|
19
19
|
};
|
|
20
|
-
type PromiseTask = {
|
|
20
|
+
export type PromiseTask = {
|
|
21
21
|
name: string,
|
|
22
22
|
gen: () => Promise<void>,
|
|
23
23
|
};
|
|
@@ -180,4 +180,4 @@ class TaskQueue {
|
|
|
180
180
|
}
|
|
181
181
|
}
|
|
182
182
|
|
|
183
|
-
|
|
183
|
+
export default TaskQueue;
|
|
@@ -151,6 +151,32 @@ const TouchHistoryMath = {
|
|
|
151
151
|
},
|
|
152
152
|
|
|
153
153
|
noCentroid: -1,
|
|
154
|
+
} as {
|
|
155
|
+
centroidDimension: (
|
|
156
|
+
touchHistory: TouchHistoryMath,
|
|
157
|
+
touchesChangedAfter: number,
|
|
158
|
+
isXAxis: boolean,
|
|
159
|
+
ofCurrent: boolean,
|
|
160
|
+
) => number,
|
|
161
|
+
currentCentroidXOfTouchesChangedAfter: (
|
|
162
|
+
touchHistory: TouchHistoryMath,
|
|
163
|
+
touchesChangedAfter: number,
|
|
164
|
+
) => number,
|
|
165
|
+
currentCentroidYOfTouchesChangedAfter: (
|
|
166
|
+
touchHistory: TouchHistoryMath,
|
|
167
|
+
touchesChangedAfter: number,
|
|
168
|
+
) => number,
|
|
169
|
+
previousCentroidXOfTouchesChangedAfter: (
|
|
170
|
+
touchHistory: TouchHistoryMath,
|
|
171
|
+
touchesChangedAfter: number,
|
|
172
|
+
) => number,
|
|
173
|
+
previousCentroidYOfTouchesChangedAfter: (
|
|
174
|
+
touchHistory: TouchHistoryMath,
|
|
175
|
+
touchesChangedAfter: number,
|
|
176
|
+
) => number,
|
|
177
|
+
currentCentroidX: (touchHistory: TouchHistoryMath) => number,
|
|
178
|
+
currentCentroidY: (touchHistory: TouchHistoryMath) => number,
|
|
179
|
+
noCentroid: number,
|
|
154
180
|
};
|
|
155
181
|
|
|
156
|
-
|
|
182
|
+
export default TouchHistoryMath;
|
|
@@ -20,11 +20,25 @@ import * as ReactNativeFeatureFlags from '../../src/private/featureflags/ReactNa
|
|
|
20
20
|
import {getFabricUIManager} from '../ReactNative/FabricUIManager';
|
|
21
21
|
import Platform from '../Utilities/Platform';
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
export type {
|
|
24
|
+
LayoutAnimationType,
|
|
25
|
+
LayoutAnimationProperty,
|
|
26
|
+
LayoutAnimationAnimationConfig as LayoutAnimationAnim,
|
|
27
|
+
} from '../Renderer/shims/ReactNativeTypes';
|
|
28
|
+
|
|
29
|
+
const UIManager = require('../ReactNative/UIManager').default;
|
|
24
30
|
|
|
25
31
|
// Reexport type
|
|
26
32
|
export type LayoutAnimationConfig = LayoutAnimationConfig_;
|
|
27
33
|
|
|
34
|
+
export type LayoutAnimationTypes = $ReadOnly<{
|
|
35
|
+
[type in LayoutAnimationType]: type,
|
|
36
|
+
}>;
|
|
37
|
+
|
|
38
|
+
export type LayoutAnimationProperties = $ReadOnly<{
|
|
39
|
+
[prop in LayoutAnimationProperty]: prop,
|
|
40
|
+
}>;
|
|
41
|
+
|
|
28
42
|
type OnAnimationDidEndCallback = () => void;
|
|
29
43
|
type OnAnimationDidFailCallback = () => void;
|
|
30
44
|
|
|
@@ -103,8 +117,8 @@ function configureNext(
|
|
|
103
117
|
|
|
104
118
|
function create(
|
|
105
119
|
duration: number,
|
|
106
|
-
type
|
|
107
|
-
property
|
|
120
|
+
type?: LayoutAnimationType,
|
|
121
|
+
property?: LayoutAnimationProperty,
|
|
108
122
|
): LayoutAnimationConfig {
|
|
109
123
|
return {
|
|
110
124
|
duration,
|
|
@@ -174,13 +188,13 @@ const LayoutAnimation = {
|
|
|
174
188
|
easeIn: 'easeIn',
|
|
175
189
|
easeOut: 'easeOut',
|
|
176
190
|
keyboard: 'keyboard',
|
|
177
|
-
}),
|
|
191
|
+
}) as LayoutAnimationTypes,
|
|
178
192
|
Properties: Object.freeze({
|
|
179
193
|
opacity: 'opacity',
|
|
180
194
|
scaleX: 'scaleX',
|
|
181
195
|
scaleY: 'scaleY',
|
|
182
196
|
scaleXY: 'scaleXY',
|
|
183
|
-
}),
|
|
197
|
+
}) as LayoutAnimationProperties,
|
|
184
198
|
checkConfig(...args: Array<mixed>) {
|
|
185
199
|
console.error('LayoutAnimation.checkConfig(...) has been disabled.');
|
|
186
200
|
},
|
|
@@ -197,4 +211,4 @@ const LayoutAnimation = {
|
|
|
197
211
|
setEnabled,
|
|
198
212
|
};
|
|
199
213
|
|
|
200
|
-
|
|
214
|
+
export default LayoutAnimation;
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
import {NativeEventEmitter} from '../EventEmitter/NativeEventEmitter';
|
|
11
11
|
import {EmitterSubscription} from '../vendor/emitter/EventEmitter';
|
|
12
12
|
|
|
13
|
-
export interface
|
|
13
|
+
export interface LinkingImpl extends NativeEventEmitter {
|
|
14
14
|
/**
|
|
15
15
|
* Add a handler to Linking changes by listening to the `url` event type
|
|
16
16
|
* and providing the handler
|
|
@@ -57,5 +57,5 @@ export interface LinkingStatic extends NativeEventEmitter {
|
|
|
57
57
|
): Promise<void>;
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
-
export const Linking:
|
|
61
|
-
export type Linking =
|
|
60
|
+
export const Linking: LinkingImpl;
|
|
61
|
+
export type Linking = LinkingImpl;
|
|
@@ -21,13 +21,7 @@ type LinkingEventDefinitions = {
|
|
|
21
21
|
url: [{url: string}],
|
|
22
22
|
};
|
|
23
23
|
|
|
24
|
-
|
|
25
|
-
* `Linking` gives you a general interface to interact with both incoming
|
|
26
|
-
* and outgoing app links.
|
|
27
|
-
*
|
|
28
|
-
* See https://reactnative.dev/docs/linking
|
|
29
|
-
*/
|
|
30
|
-
class Linking extends NativeEventEmitter<LinkingEventDefinitions> {
|
|
24
|
+
class LinkingImpl extends NativeEventEmitter<LinkingEventDefinitions> {
|
|
31
25
|
constructor() {
|
|
32
26
|
super(Platform.OS === 'ios' ? nullthrows(NativeLinkingManager) : undefined);
|
|
33
27
|
}
|
|
@@ -41,7 +35,6 @@ class Linking extends NativeEventEmitter<LinkingEventDefinitions> {
|
|
|
41
35
|
addEventListener<K: $Keys<LinkingEventDefinitions>>(
|
|
42
36
|
eventType: K,
|
|
43
37
|
listener: (...$ElementType<LinkingEventDefinitions, K>) => mixed,
|
|
44
|
-
context: $FlowFixMe,
|
|
45
38
|
): EventSubscription {
|
|
46
39
|
return this.addListener(eventType, listener);
|
|
47
40
|
}
|
|
@@ -130,4 +123,12 @@ class Linking extends NativeEventEmitter<LinkingEventDefinitions> {
|
|
|
130
123
|
}
|
|
131
124
|
}
|
|
132
125
|
|
|
133
|
-
|
|
126
|
+
const Linking: LinkingImpl = new LinkingImpl();
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* `Linking` gives you a general interface to interact with both incoming
|
|
130
|
+
* and outgoing app links.
|
|
131
|
+
*
|
|
132
|
+
* See https://reactnative.dev/docs/linking
|
|
133
|
+
*/
|
|
134
|
+
export default Linking;
|
|
@@ -8,6 +8,6 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
export * from '../../src/private/
|
|
12
|
-
import NativeIntentAndroid from '../../src/private/
|
|
11
|
+
export * from '../../src/private/specs_DEPRECATED/modules/NativeIntentAndroid';
|
|
12
|
+
import NativeIntentAndroid from '../../src/private/specs_DEPRECATED/modules/NativeIntentAndroid';
|
|
13
13
|
export default NativeIntentAndroid;
|
|
@@ -8,6 +8,6 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
export * from '../../src/private/
|
|
12
|
-
import NativeLinkingManager from '../../src/private/
|
|
11
|
+
export * from '../../src/private/specs_DEPRECATED/modules/NativeLinkingManager';
|
|
12
|
+
import NativeLinkingManager from '../../src/private/specs_DEPRECATED/modules/NativeLinkingManager';
|
|
13
13
|
export default NativeLinkingManager;
|
|
@@ -10,10 +10,10 @@
|
|
|
10
10
|
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
|
-
import
|
|
13
|
+
import VirtualizedLists from '@react-native/virtualized-lists';
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
type FillRateHelperType = typeof VirtualizedLists.FillRateHelper;
|
|
16
|
+
const FillRateHelper: FillRateHelperType = VirtualizedLists.FillRateHelper;
|
|
17
17
|
|
|
18
18
|
export type {FillRateInfo} from '@react-native/virtualized-lists';
|
|
19
|
-
|
|
19
|
+
export default FillRateHelper;
|
|
@@ -11,35 +11,35 @@
|
|
|
11
11
|
import typeof ScrollViewNativeComponent from '../Components/ScrollView/ScrollViewNativeComponent';
|
|
12
12
|
import type {ViewStyleProp} from '../StyleSheet/StyleSheet';
|
|
13
13
|
import type {
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
ListRenderItem,
|
|
15
|
+
ListRenderItemInfo,
|
|
16
16
|
ViewabilityConfigCallbackPair,
|
|
17
17
|
ViewToken,
|
|
18
18
|
} from '@react-native/virtualized-lists';
|
|
19
19
|
|
|
20
20
|
import * as ReactNativeFeatureFlags from '../../src/private/featureflags/ReactNativeFeatureFlags';
|
|
21
21
|
import {type ScrollResponderType} from '../Components/ScrollView/ScrollView';
|
|
22
|
-
import
|
|
23
|
-
|
|
24
|
-
keyExtractor as defaultKeyExtractor,
|
|
25
|
-
} from '@react-native/virtualized-lists';
|
|
22
|
+
import View from '../Components/View/View';
|
|
23
|
+
import VirtualizedLists from '@react-native/virtualized-lists';
|
|
26
24
|
import memoizeOne from 'memoize-one';
|
|
25
|
+
import React from 'react';
|
|
27
26
|
|
|
28
|
-
const
|
|
29
|
-
const
|
|
30
|
-
const
|
|
31
|
-
const Platform = require('../Utilities/Platform');
|
|
27
|
+
const StyleSheet = require('../StyleSheet/StyleSheet').default;
|
|
28
|
+
const deepDiffer = require('../Utilities/differ/deepDiffer').default;
|
|
29
|
+
const Platform = require('../Utilities/Platform').default;
|
|
32
30
|
const invariant = require('invariant');
|
|
33
|
-
const React = require('react');
|
|
34
31
|
|
|
35
|
-
|
|
32
|
+
const VirtualizedList = VirtualizedLists.VirtualizedList;
|
|
33
|
+
const defaultKeyExtractor = VirtualizedLists.keyExtractor;
|
|
34
|
+
|
|
35
|
+
type RequiredProps<ItemT> = {
|
|
36
36
|
/**
|
|
37
37
|
* An array (or array-like list) of items to render. Other data types can be
|
|
38
38
|
* used by targeting VirtualizedList directly.
|
|
39
39
|
*/
|
|
40
40
|
data: ?$ReadOnly<$ArrayLike<ItemT>>,
|
|
41
|
-
|
|
42
|
-
type OptionalProps<ItemT> = {
|
|
41
|
+
};
|
|
42
|
+
type OptionalProps<ItemT> = {
|
|
43
43
|
/**
|
|
44
44
|
* Takes an item from `data` and renders it into the list. Example usage:
|
|
45
45
|
*
|
|
@@ -66,7 +66,7 @@ type OptionalProps<ItemT> = {|
|
|
|
66
66
|
* `highlight` and `unhighlight` (which set the `highlighted: boolean` prop) are insufficient for
|
|
67
67
|
* your use-case.
|
|
68
68
|
*/
|
|
69
|
-
renderItem?: ?
|
|
69
|
+
renderItem?: ?ListRenderItem<ItemT>,
|
|
70
70
|
|
|
71
71
|
/**
|
|
72
72
|
* Optional custom style for multi-item rows generated when numColumns > 1.
|
|
@@ -150,7 +150,7 @@ type OptionalProps<ItemT> = {|
|
|
|
150
150
|
* Enable an optimization to memoize the item renderer to prevent unnecessary rerenders.
|
|
151
151
|
*/
|
|
152
152
|
strictMode?: boolean,
|
|
153
|
-
|
|
153
|
+
};
|
|
154
154
|
|
|
155
155
|
/**
|
|
156
156
|
* Default Props Helper Functions
|
|
@@ -176,17 +176,18 @@ function isArrayLike(data: mixed): boolean {
|
|
|
176
176
|
return typeof Object(data).length === 'number';
|
|
177
177
|
}
|
|
178
178
|
|
|
179
|
-
type
|
|
179
|
+
type FlatListBaseProps<ItemT> = {
|
|
180
180
|
...RequiredProps<ItemT>,
|
|
181
181
|
...OptionalProps<ItemT>,
|
|
182
|
-
|
|
182
|
+
};
|
|
183
183
|
|
|
184
184
|
type VirtualizedListProps = React.ElementConfig<typeof VirtualizedList>;
|
|
185
185
|
|
|
186
|
-
export type
|
|
186
|
+
export type FlatListProps<ItemT> = {
|
|
187
187
|
...$Diff<
|
|
188
188
|
VirtualizedListProps,
|
|
189
189
|
{
|
|
190
|
+
data: $PropertyType<VirtualizedListProps, 'data'>,
|
|
190
191
|
getItem: $PropertyType<VirtualizedListProps, 'getItem'>,
|
|
191
192
|
getItemCount: $PropertyType<VirtualizedListProps, 'getItemCount'>,
|
|
192
193
|
getItemLayout: $PropertyType<VirtualizedListProps, 'getItemLayout'>,
|
|
@@ -195,7 +196,7 @@ export type Props<ItemT> = {
|
|
|
195
196
|
...
|
|
196
197
|
},
|
|
197
198
|
>,
|
|
198
|
-
...
|
|
199
|
+
...FlatListBaseProps<ItemT>,
|
|
199
200
|
...
|
|
200
201
|
};
|
|
201
202
|
|
|
@@ -307,7 +308,7 @@ export type Props<ItemT> = {
|
|
|
307
308
|
*
|
|
308
309
|
* Also inherits [ScrollView Props](docs/scrollview.html#props), unless it is nested in another FlatList of same orientation.
|
|
309
310
|
*/
|
|
310
|
-
class FlatList<ItemT> extends React.PureComponent<
|
|
311
|
+
class FlatList<ItemT = any> extends React.PureComponent<FlatListProps<ItemT>> {
|
|
311
312
|
/**
|
|
312
313
|
* Scrolls to the end of the content. May be janky without `getItemLayout` prop.
|
|
313
314
|
*/
|
|
@@ -422,7 +423,7 @@ class FlatList<ItemT> extends React.PureComponent<Props<ItemT>, void> {
|
|
|
422
423
|
}
|
|
423
424
|
}
|
|
424
425
|
|
|
425
|
-
constructor(props:
|
|
426
|
+
constructor(props: FlatListProps<ItemT>) {
|
|
426
427
|
super(props);
|
|
427
428
|
this._checkProps(this.props);
|
|
428
429
|
if (this.props.viewabilityConfigCallbackPairs) {
|
|
@@ -456,7 +457,7 @@ class FlatList<ItemT> extends React.PureComponent<Props<ItemT>, void> {
|
|
|
456
457
|
}
|
|
457
458
|
|
|
458
459
|
// $FlowFixMe[missing-local-annot]
|
|
459
|
-
componentDidUpdate(prevProps:
|
|
460
|
+
componentDidUpdate(prevProps: FlatListProps<ItemT>) {
|
|
460
461
|
invariant(
|
|
461
462
|
prevProps.numColumns === this.props.numColumns,
|
|
462
463
|
'Changing numColumns on the fly is not supported. Change the key prop on FlatList when ' +
|
|
@@ -488,7 +489,7 @@ class FlatList<ItemT> extends React.PureComponent<Props<ItemT>, void> {
|
|
|
488
489
|
};
|
|
489
490
|
|
|
490
491
|
// $FlowFixMe[missing-local-annot]
|
|
491
|
-
_checkProps(props:
|
|
492
|
+
_checkProps(props: FlatListProps<ItemT>) {
|
|
492
493
|
const {
|
|
493
494
|
// $FlowFixMe[prop-missing] this prop doesn't exist, is only used for an invariant
|
|
494
495
|
getItem,
|
|
@@ -618,7 +619,7 @@ class FlatList<ItemT> extends React.PureComponent<Props<ItemT>, void> {
|
|
|
618
619
|
|
|
619
620
|
_renderer = (
|
|
620
621
|
ListItemComponent: ?(React.ComponentType<any> | React.MixedElement),
|
|
621
|
-
renderItem: ?
|
|
622
|
+
renderItem: ?ListRenderItem<ItemT>,
|
|
622
623
|
columnWrapperStyle: ?ViewStyleProp,
|
|
623
624
|
numColumns: ?number,
|
|
624
625
|
extraData: ?any,
|
|
@@ -626,7 +627,7 @@ class FlatList<ItemT> extends React.PureComponent<Props<ItemT>, void> {
|
|
|
626
627
|
) => {
|
|
627
628
|
const cols = numColumnsOrDefault(numColumns);
|
|
628
629
|
|
|
629
|
-
const render = (props:
|
|
630
|
+
const render = (props: ListRenderItemInfo<ItemT>): React.Node => {
|
|
630
631
|
if (ListItemComponent) {
|
|
631
632
|
// $FlowFixMe[not-a-component] Component isn't valid
|
|
632
633
|
// $FlowFixMe[incompatible-type-arg] Component isn't valid
|
|
@@ -640,7 +641,7 @@ class FlatList<ItemT> extends React.PureComponent<Props<ItemT>, void> {
|
|
|
640
641
|
}
|
|
641
642
|
};
|
|
642
643
|
|
|
643
|
-
const renderProp = (info:
|
|
644
|
+
const renderProp = (info: ListRenderItemInfo<ItemT>) => {
|
|
644
645
|
if (cols > 1) {
|
|
645
646
|
const {item, index} = info;
|
|
646
647
|
invariant(
|
|
@@ -672,8 +673,7 @@ class FlatList<ItemT> extends React.PureComponent<Props<ItemT>, void> {
|
|
|
672
673
|
: {renderItem: renderProp};
|
|
673
674
|
};
|
|
674
675
|
|
|
675
|
-
|
|
676
|
-
_memoizedRenderer = memoizeOne(this._renderer);
|
|
676
|
+
_memoizedRenderer: ReturnType<typeof memoizeOne> = memoizeOne(this._renderer);
|
|
677
677
|
|
|
678
678
|
render(): React.Node {
|
|
679
679
|
const {
|
|
@@ -714,4 +714,4 @@ const styles = StyleSheet.create({
|
|
|
714
714
|
row: {flexDirection: 'row'},
|
|
715
715
|
});
|
|
716
716
|
|
|
717
|
-
|
|
717
|
+
export default FlatList;
|