@office-iss/react-native-win32 0.67.0 → 0.68.0-preview.3
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/.eslintignore +2 -1
- package/.flowconfig +6 -2
- package/CHANGELOG.json +366 -41
- package/CHANGELOG.md +136 -24
- package/IntegrationTests/AccessibilityManagerTest.js +1 -1
- package/IntegrationTests/AppEventsTest.js +2 -1
- package/IntegrationTests/AsyncStorageTest.js +8 -6
- package/IntegrationTests/GlobalEvalWithSourceUrlTest.js +1 -1
- package/IntegrationTests/ImageCachePolicyTest.js +1 -1
- package/IntegrationTests/ImageSnapshotTest.js +1 -1
- package/IntegrationTests/IntegrationTestHarnessTest.js +8 -6
- package/IntegrationTests/IntegrationTestsApp.js +3 -9
- package/IntegrationTests/LayoutEventsTest.js +1 -1
- package/IntegrationTests/LoggingTestModule.js +8 -8
- package/IntegrationTests/PromiseTest.js +1 -1
- package/IntegrationTests/PropertiesUpdateTest.js +1 -1
- package/IntegrationTests/RCTRootViewIntegrationTestApp.js +3 -9
- package/IntegrationTests/ReactContentSizeUpdateTest.js +1 -1
- package/IntegrationTests/SimpleSnapshotTest.js +1 -1
- package/IntegrationTests/SizeFlexibilityUpdateTest.js +1 -1
- package/IntegrationTests/SyncMethodTest.js +1 -1
- package/IntegrationTests/TimersTest.js +1 -1
- package/IntegrationTests/WebSocketTest.js +2 -2
- package/IntegrationTests/launchWebSocketServer.command +1 -1
- package/IntegrationTests/websocket_integration_test_server.js +1 -1
- package/Libraries/ActionSheetIOS/ActionSheetIOS.js +4 -4
- package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +1 -1
- package/Libraries/Alert/Alert.js +4 -4
- package/Libraries/Alert/Alert.win32.js +3 -3
- package/Libraries/Alert/NativeAlertManager.js +1 -1
- package/Libraries/Alert/RCTAlertManager.android.js +2 -2
- package/Libraries/Alert/RCTAlertManager.ios.js +1 -1
- package/Libraries/Animated/Animated.js +1 -1
- package/Libraries/Animated/AnimatedEvent.js +11 -6
- package/Libraries/Animated/AnimatedImplementation.js +116 -85
- package/Libraries/Animated/AnimatedMock.js +65 -22
- package/Libraries/{Components/Touchable/__mocks__/ensureComponentIsNative.js → Animated/AnimatedPlatformConfig.js} +3 -2
- package/Libraries/Animated/AnimatedWeb.js +1 -1
- package/Libraries/Animated/Easing.js +38 -40
- package/Libraries/Animated/NativeAnimatedHelper.js +24 -21
- package/Libraries/Animated/NativeAnimatedModule.js +1 -1
- package/Libraries/Animated/NativeAnimatedTurboModule.js +1 -1
- package/Libraries/Animated/SpringConfig.js +11 -11
- package/Libraries/Animated/animations/Animation.js +6 -4
- package/Libraries/Animated/animations/DecayAnimation.js +6 -1
- package/Libraries/Animated/animations/SpringAnimation.js +16 -1
- package/Libraries/Animated/animations/TimingAnimation.js +15 -2
- package/Libraries/Animated/bezier.js +20 -9
- package/Libraries/Animated/components/AnimatedFlatList.js +1 -1
- package/Libraries/Animated/components/AnimatedImage.js +1 -1
- package/Libraries/Animated/components/AnimatedScrollView.js +1 -1
- package/Libraries/Animated/components/AnimatedSectionList.js +1 -1
- package/Libraries/Animated/components/AnimatedText.js +1 -1
- package/Libraries/Animated/components/AnimatedView.js +1 -1
- package/Libraries/Animated/createAnimatedComponent.js +4 -4
- package/Libraries/Animated/createAnimatedComponentInjection.js +1 -1
- package/Libraries/Animated/createAnimatedComponent_EXPERIMENTAL.js +1 -1
- package/Libraries/Animated/nodes/AnimatedAddition.js +6 -5
- package/Libraries/Animated/nodes/AnimatedColor.js +266 -0
- package/Libraries/Animated/nodes/AnimatedDiffClamp.js +5 -4
- package/Libraries/Animated/nodes/AnimatedDivision.js +6 -5
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +8 -6
- package/Libraries/Animated/nodes/AnimatedModulo.js +5 -4
- package/Libraries/Animated/nodes/AnimatedMultiplication.js +6 -5
- package/Libraries/Animated/nodes/AnimatedNode.js +31 -18
- package/Libraries/Animated/nodes/AnimatedProps.js +12 -4
- package/Libraries/Animated/nodes/AnimatedStyle.js +9 -7
- package/Libraries/Animated/nodes/AnimatedSubtraction.js +6 -5
- package/Libraries/Animated/nodes/AnimatedTracking.js +8 -6
- package/Libraries/Animated/nodes/AnimatedTransform.js +6 -4
- package/Libraries/Animated/nodes/AnimatedValue.js +21 -12
- package/Libraries/Animated/nodes/AnimatedValueXY.js +14 -14
- package/Libraries/Animated/nodes/AnimatedWithChildren.js +6 -5
- package/Libraries/Animated/useAnimatedProps.js +1 -1
- package/Libraries/AppState/AppState.js +9 -8
- package/Libraries/AppState/NativeAppState.js +1 -1
- package/Libraries/BatchedBridge/BatchedBridge.js +1 -1
- package/Libraries/BatchedBridge/MessageQueue.js +7 -9
- package/Libraries/BatchedBridge/NativeModules.js +1 -1
- package/Libraries/BatchedBridge/__mocks__/MessageQueueTestConfig.js +1 -1
- package/Libraries/BatchedBridge/__mocks__/MessageQueueTestModule.js +3 -3
- package/Libraries/Blob/Blob.js +1 -1
- package/Libraries/Blob/BlobManager.js +1 -1
- package/Libraries/Blob/BlobRegistry.js +1 -1
- package/Libraries/Blob/BlobTypes.js +1 -1
- package/Libraries/Blob/File.js +1 -1
- package/Libraries/Blob/FileReader.js +1 -1
- package/Libraries/Blob/NativeBlobModule.js +1 -1
- package/Libraries/Blob/NativeFileReaderModule.js +1 -1
- package/Libraries/Blob/URL.js +26 -21
- package/Libraries/Blob/__mocks__/BlobModule.js +1 -1
- package/Libraries/Blob/__mocks__/FileReaderModule.js +1 -1
- package/Libraries/BugReporting/BugReporting.js +1 -1
- package/Libraries/BugReporting/NativeBugReporting.js +1 -1
- package/Libraries/BugReporting/dumpReactTree.js +1 -1
- package/Libraries/BugReporting/getReactData.js +15 -6
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +89 -29
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.win32.js +95 -35
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +4 -1
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +5 -1
- package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +1 -1
- package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.ios.js +1 -1
- package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.win32.js +1 -1
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +1 -1
- package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +5 -5
- package/Libraries/Components/Button.js +1 -1
- package/Libraries/Components/Clipboard/Clipboard.js +1 -1
- package/Libraries/Components/Clipboard/NativeClipboard.js +1 -1
- package/Libraries/Components/DatePicker/DatePickerIOS.android.js +1 -1
- package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +18 -2
- package/Libraries/Components/DatePicker/DatePickerIOS.win32.js +1 -1
- package/Libraries/Components/DatePicker/RCTDatePickerNativeComponent.js +1 -1
- package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +1 -1
- package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +3 -3
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +5 -4
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.ios.js +1 -1
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +1 -1
- package/Libraries/Components/Keyboard/Keyboard.js +7 -6
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +11 -6
- package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +1 -1
- package/Libraries/Components/MaskedView/MaskedViewIOS.android.js +1 -1
- package/Libraries/Components/MaskedView/MaskedViewIOS.ios.js +1 -1
- package/Libraries/Components/MaskedView/MaskedViewIOS.win32.js +1 -1
- package/Libraries/Components/MaskedView/RCTMaskedViewNativeComponent.js +1 -1
- package/Libraries/Components/Pressable/Pressable.js +38 -2
- package/Libraries/Components/Pressable/Pressable.win32.js +1 -1
- package/Libraries/Components/Pressable/useAndroidRippleForView.js +1 -1
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +6 -5
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.ios.js +1 -1
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +1 -1
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +1 -1
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.android.js +1 -1
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js +3 -2
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.win32.js +1 -1
- package/Libraries/Components/ProgressViewIOS/RCTProgressViewNativeComponent.js +1 -1
- package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +1 -2
- package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +1 -1
- package/Libraries/Components/RefreshControl/RefreshControl.js +3 -8
- package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +3 -4
- package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +1 -1
- package/Libraries/Components/SafeAreaView/SafeAreaView.js +3 -3
- package/Libraries/Components/SafeAreaView/SafeAreaView.win32.js +3 -3
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +3 -1
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +16 -6
- package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +4 -6
- package/Libraries/Components/ScrollView/ScrollView.js +22 -15
- package/Libraries/Components/ScrollView/ScrollViewCommands.js +1 -1
- package/Libraries/Components/ScrollView/ScrollViewContext.js +1 -1
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +135 -71
- package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +2 -1
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +2 -2
- package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +2 -1
- package/Libraries/Components/ScrollView/processDecelerationRate.js +1 -1
- package/Libraries/Components/SegmentedControlIOS/RCTSegmentedControlNativeComponent.js +1 -1
- package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.android.js +1 -1
- package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.ios.js +3 -9
- package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.js +1 -1
- package/Libraries/Components/Slider/Slider.js +1 -1
- package/Libraries/Components/Slider/SliderNativeComponent.js +3 -3
- package/Libraries/Components/Sound/NativeSoundManager.js +1 -1
- package/Libraries/Components/Sound/SoundManager.js +2 -2
- package/Libraries/Components/StaticRenderer.js +1 -1
- package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +1 -1
- package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +1 -1
- package/Libraries/Components/StatusBar/StatusBar.js +1 -1
- package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +1 -1
- package/Libraries/Components/Switch/Switch.js +1 -1
- package/Libraries/Components/Switch/SwitchNativeComponent.js +1 -1
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +175 -14
- package/Libraries/Components/TextInput/InputAccessoryView.js +1 -1
- package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +1 -1
- package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +10 -5
- package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +6 -5
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +32 -11
- package/Libraries/Components/TextInput/TextInput.js +131 -31
- package/Libraries/Components/TextInput/TextInputNativeCommands.js +1 -1
- package/Libraries/Components/TextInput/TextInputState.js +1 -1
- package/Libraries/Components/TextInput/TextInputState.win32.js +1 -1
- package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +1 -1
- package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +4 -4
- package/Libraries/Components/ToastAndroid/ToastAndroid.ios.js +4 -4
- package/Libraries/Components/ToastAndroid/ToastAndroid.win32.js +4 -4
- package/Libraries/Components/Touchable/BoundingDimensions.js +3 -3
- package/Libraries/Components/Touchable/PooledClass.js +12 -12
- package/Libraries/Components/Touchable/Position.js +2 -2
- package/Libraries/Components/Touchable/Touchable.js +27 -40
- package/Libraries/Components/Touchable/TouchableBounce.js +3 -6
- package/Libraries/Components/Touchable/TouchableHighlight.js +3 -6
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +5 -12
- package/Libraries/Components/Touchable/TouchableOpacity.js +3 -7
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +3 -6
- package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +1 -1
- package/Libraries/Components/UnimplementedViews/UnimplementedView.js +1 -1
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +1 -1
- package/Libraries/Components/View/ReactNativeViewAttributes.js +1 -1
- package/Libraries/Components/View/ReactNativeViewAttributes.win32.js +1 -1
- package/Libraries/Components/View/ReactNativeViewViewConfig.js +13 -2
- package/Libraries/Components/View/ReactNativeViewViewConfig.win32.js +13 -2
- package/Libraries/Components/View/ReactNativeViewViewConfigAndroid.js +1 -1
- package/Libraries/Components/View/View.js +1 -1
- package/Libraries/Components/View/View.win32.js +2 -2
- package/Libraries/Components/View/ViewAccessibility.js +1 -1
- package/Libraries/Components/View/ViewNativeComponent.js +4 -5
- package/Libraries/Components/View/ViewPropTypes.js +38 -31
- package/Libraries/Components/View/ViewPropTypes.win32.js +38 -31
- package/Libraries/Core/Devtools/getDevServer.js +1 -1
- package/Libraries/Core/Devtools/openFileInEditor.js +1 -1
- package/Libraries/Core/Devtools/openURLInBrowser.js +1 -1
- package/Libraries/Core/Devtools/parseErrorStack.js +1 -1
- package/Libraries/Core/Devtools/parseHermesStack.js +3 -2
- package/Libraries/Core/Devtools/symbolicateStackTrace.js +1 -1
- package/Libraries/Core/ExceptionsManager.js +3 -3
- package/Libraries/Core/ExtendedError.js +1 -1
- package/Libraries/Core/InitializeCore.js +1 -3
- package/Libraries/Core/NativeExceptionsManager.js +3 -4
- package/Libraries/Core/ReactFiberErrorDialog.js +1 -1
- package/Libraries/Core/ReactNativeVersion.js +4 -4
- package/Libraries/Core/ReactNativeVersionCheck.js +12 -2
- package/Libraries/Core/ReactNativeVersionCheck.win32.js +12 -2
- package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +1 -1
- package/Libraries/Core/Timers/JSTimers.js +35 -42
- package/Libraries/Core/Timers/NativeTiming.js +1 -1
- package/Libraries/Core/Timers/immediateShim.js +1 -1
- package/Libraries/Core/Timers/queueMicrotask.js +1 -1
- package/Libraries/Core/__mocks__/ErrorUtils.js +1 -1
- package/Libraries/Core/checkNativeVersion.js +1 -1
- package/Libraries/Core/polyfillPromise.js +1 -1
- package/Libraries/Core/setUpAlert.js +2 -2
- package/Libraries/Core/setUpBatchedBridge.js +15 -3
- package/Libraries/Core/setUpDeveloperTools.js +2 -2
- package/Libraries/Core/setUpErrorHandling.js +2 -2
- package/Libraries/Core/setUpGlobals.js +1 -1
- package/Libraries/Core/setUpNavigator.js +1 -1
- package/Libraries/Core/setUpPerformance.js +2 -2
- package/Libraries/Core/setUpReactDevTools.js +1 -1
- package/Libraries/Core/setUpReactRefresh.js +1 -1
- package/Libraries/Core/setUpRegeneratorRuntime.js +2 -2
- package/Libraries/Core/setUpSegmentFetcher.js +5 -5
- package/Libraries/Core/setUpSystrace.js +1 -1
- package/Libraries/Core/setUpTimers.js +12 -2
- package/Libraries/Core/setUpXHR.js +1 -1
- package/Libraries/EventEmitter/NativeEventEmitter.js +3 -2
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +1 -1
- package/Libraries/EventEmitter/RCTEventEmitter.js +1 -1
- package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +1 -1
- package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +3 -2
- package/Libraries/HeapCapture/HeapCapture.js +2 -2
- package/Libraries/HeapCapture/NativeJSCHeapCapture.js +1 -1
- package/Libraries/Image/AssetRegistry.js +1 -1
- package/Libraries/Image/AssetSourceResolver.js +3 -5
- package/Libraries/Image/AssetUtils.js +1 -1
- package/Libraries/Image/Image.android.js +38 -30
- package/Libraries/Image/Image.ios.js +17 -20
- package/Libraries/Image/Image.win32.js +19 -22
- package/Libraries/Image/ImageAnalyticsTagContext.js +3 -4
- package/Libraries/Image/ImageBackground.js +11 -2
- package/Libraries/Image/ImageInjection.js +1 -1
- package/Libraries/Image/ImagePickerIOS.js +7 -7
- package/Libraries/Image/ImageProps.js +18 -18
- package/Libraries/Image/ImageResizeMode.js +1 -1
- package/Libraries/Image/ImageSource.js +1 -1
- package/Libraries/Image/ImageViewNativeComponent.js +96 -61
- package/Libraries/Image/NativeImageEditor.js +1 -1
- package/Libraries/Image/NativeImageLoaderAndroid.js +2 -4
- package/Libraries/Image/NativeImageLoaderIOS.js +1 -1
- package/Libraries/Image/NativeImageLoaderWin32.js +1 -1
- package/Libraries/Image/NativeImagePickerIOS.js +1 -1
- package/Libraries/Image/NativeImageStoreAndroid.js +1 -1
- package/Libraries/Image/NativeImageStoreIOS.js +1 -1
- package/Libraries/Image/RelativeImageStub.js +1 -1
- package/Libraries/Image/TextInlineImageNativeComponent.js +14 -74
- package/Libraries/Image/nativeImageSource.js +3 -3
- package/Libraries/Image/resolveAssetSource.js +1 -1
- package/Libraries/Image/resolveAssetSource.win32.js +1 -1
- package/Libraries/Inspector/BorderBox.js +1 -1
- package/Libraries/Inspector/BoxInspector.js +1 -1
- package/Libraries/Inspector/ElementBox.js +1 -1
- package/Libraries/Inspector/ElementProperties.js +1 -1
- package/Libraries/Inspector/Inspector.js +2 -2
- package/Libraries/Inspector/Inspector.win32.js +7 -7
- package/Libraries/Inspector/InspectorOverlay.js +1 -1
- package/Libraries/Inspector/InspectorOverlay.win32.js +1 -1
- package/Libraries/Inspector/InspectorPanel.js +1 -1
- package/Libraries/Inspector/NetworkOverlay.js +3 -6
- package/Libraries/Inspector/PerformanceOverlay.js +1 -1
- package/Libraries/Inspector/StyleInspector.js +1 -1
- package/Libraries/Inspector/resolveBoxStyle.js +1 -1
- package/Libraries/Interaction/Batchinator.js +1 -1
- package/Libraries/Interaction/BridgeSpyStallHandler.js +2 -2
- package/Libraries/Interaction/FrameRateLogger.js +3 -3
- package/Libraries/Interaction/InteractionManager.js +3 -5
- package/Libraries/Interaction/InteractionStallDebugger.js +1 -1
- package/Libraries/Interaction/JSEventLoopWatchdog.js +5 -5
- package/Libraries/Interaction/NativeFrameRateLogger.js +1 -1
- package/Libraries/Interaction/PanResponder.js +4 -5
- package/Libraries/Interaction/TaskQueue.js +1 -1
- package/Libraries/Interaction/TouchHistoryMath.js +8 -8
- package/Libraries/JSInspector/InspectorAgent.js +1 -1
- package/Libraries/JSInspector/JSInspector.js +1 -1
- package/Libraries/JSInspector/NetworkAgent.js +2 -7
- package/Libraries/LayoutAnimation/LayoutAnimation.js +4 -4
- package/Libraries/Linking/Linking.js +8 -8
- package/Libraries/Linking/NativeIntentAndroid.js +1 -1
- package/Libraries/Linking/NativeLinkingManager.js +1 -1
- package/Libraries/Lists/CellRenderMask.js +1 -1
- package/Libraries/Lists/FillRateHelper.js +5 -4
- package/Libraries/Lists/FlatList.js +4 -5
- package/Libraries/Lists/SectionList.js +4 -4
- package/Libraries/Lists/SectionListModern.js +4 -4
- package/Libraries/Lists/ViewabilityHelper.js +5 -11
- package/Libraries/Lists/VirtualizeUtils.js +3 -7
- package/Libraries/Lists/VirtualizedList.js +23 -33
- package/Libraries/Lists/VirtualizedListContext.js +3 -4
- package/Libraries/Lists/VirtualizedSectionList.js +54 -63
- package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +1 -1
- package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +1 -1
- package/Libraries/Lists/__tests__/CellRenderMask-test.js +1 -1
- package/Libraries/Lists/__tests__/{FillRateHelper-test.js → FillRateHelper-test.windows.js} +8 -8
- package/Libraries/Lists/__tests__/{FlatList-test.js → FlatList-test.windows.js} +3 -3
- package/Libraries/Lists/__tests__/{SectionList-test.js → SectionList-test.windows.js} +15 -15
- package/Libraries/Lists/__tests__/ViewabilityHelper-test.js +15 -15
- package/Libraries/Lists/__tests__/{VirtualizeUtils-test.js → VirtualizeUtils-test.windows.js} +19 -22
- package/Libraries/Lists/__tests__/{VirtualizedList-test.js → VirtualizedList-test.windows.js} +32 -32
- package/Libraries/Lists/__tests__/{VirtualizedSectionList-test.js → VirtualizedSectionList-test.windows.js} +15 -15
- package/Libraries/LogBox/Data/LogBoxData.js +2 -2
- package/Libraries/LogBox/Data/LogBoxLog.js +1 -1
- package/Libraries/LogBox/Data/LogBoxSymbolication.js +1 -1
- package/Libraries/LogBox/Data/parseLogBoxLog.js +13 -24
- package/Libraries/LogBox/LogBox.js +4 -4
- package/Libraries/LogBox/LogBoxInspectorContainer.js +1 -1
- package/Libraries/LogBox/LogBoxNotificationContainer.js +1 -1
- package/Libraries/LogBox/UI/AnsiHighlight.js +10 -5
- package/Libraries/LogBox/UI/LogBoxButton.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspector.js +4 -2
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.win32.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +2 -2
- package/Libraries/LogBox/UI/LogBoxInspectorSection.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +1 -2
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +2 -2
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.win32.js +2 -2
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +4 -2
- package/Libraries/LogBox/UI/LogBoxMessage.js +7 -3
- package/Libraries/LogBox/UI/LogBoxNotification.js +7 -4
- package/Libraries/LogBox/UI/LogBoxStyle.js +1 -1
- package/Libraries/LogBox/UI/LogBoxStyle.win32.js +1 -1
- package/Libraries/Modal/Modal.js +15 -14
- package/Libraries/Modal/ModalInjection.js +1 -1
- package/Libraries/Modal/NativeModalManager.js +1 -1
- package/Libraries/Modal/RCTModalHostViewNativeComponent.js +12 -12
- package/Libraries/NativeComponent/NativeComponentRegistry.js +30 -33
- package/Libraries/NativeComponent/NativeComponentRegistryUnstable.js +27 -0
- package/Libraries/NativeComponent/StaticViewConfigValidator.js +198 -0
- package/Libraries/NativeComponent/ViewConfig.js +1 -1
- package/Libraries/NativeModules/specs/NativeAnimationsDebugModule.js +1 -1
- package/Libraries/NativeModules/specs/NativeDevMenu.js +1 -1
- package/Libraries/NativeModules/specs/NativeDevSettings.js +1 -1
- package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +1 -1
- package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +1 -1
- package/Libraries/NativeModules/specs/NativeLogBox.js +1 -1
- package/Libraries/NativeModules/specs/NativeRedBox.js +1 -1
- package/Libraries/NativeModules/specs/NativeSourceCode.js +1 -1
- package/Libraries/Network/FormData.js +1 -1
- package/Libraries/Network/NativeNetworkingAndroid.js +1 -1
- package/Libraries/Network/NativeNetworkingIOS.js +1 -1
- package/Libraries/Network/RCTNetworking.android.js +1 -1
- package/Libraries/Network/RCTNetworking.ios.js +1 -1
- package/Libraries/Network/RCTNetworking.win32.js +2 -2
- package/Libraries/Network/XHRInterceptor.js +6 -7
- package/Libraries/Network/XMLHttpRequest.js +44 -8
- package/Libraries/Network/convertRequestBody.js +1 -1
- package/Libraries/Network/fetch.js +1 -1
- package/Libraries/NewAppScreen/components/Colors.js +1 -1
- package/Libraries/NewAppScreen/components/DebugInstructions.js +1 -1
- package/Libraries/NewAppScreen/components/Header.js +1 -1
- package/Libraries/NewAppScreen/components/HermesBadge.js +1 -1
- package/Libraries/NewAppScreen/components/LearnMoreLinks.js +1 -1
- package/Libraries/NewAppScreen/components/ReloadInstructions.js +1 -1
- package/Libraries/NewAppScreen/index.js +1 -1
- package/Libraries/Performance/NativeJSCSamplingProfiler.js +1 -1
- package/Libraries/Performance/PureComponentDebug.js +1 -1
- package/Libraries/Performance/QuickPerformanceLogger.js +18 -1
- package/Libraries/Performance/SamplingProfiler.js +4 -4
- package/Libraries/Performance/Systrace.js +9 -2
- package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +7 -2
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +20 -9
- package/Libraries/Pressability/HoverState.js +1 -1
- package/Libraries/Pressability/HoverState.win32.js +1 -1
- package/Libraries/Pressability/Pressability.js +3 -3
- package/Libraries/Pressability/Pressability.win32.js +14 -14
- package/Libraries/Pressability/PressabilityDebug.js +15 -12
- package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +5 -3
- package/Libraries/Pressability/PressabilityTypes.js +1 -1
- package/Libraries/Pressability/usePressability.js +1 -1
- package/Libraries/Promise.js +1 -1
- package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +1 -1
- package/Libraries/PushNotificationIOS/PushNotificationIOS.js +33 -32
- package/Libraries/ReactNative/AppContainer.js +3 -3
- package/Libraries/ReactNative/AppRegistry.js +15 -13
- package/Libraries/ReactNative/DisplayMode.js +1 -1
- package/Libraries/ReactNative/DummyUIManager.js +13 -6
- package/Libraries/ReactNative/FabricUIManager.js +1 -1
- package/Libraries/ReactNative/HeadlessJsTaskError.js +1 -1
- package/Libraries/ReactNative/I18nManager.js +3 -6
- package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +1 -1
- package/Libraries/ReactNative/NativeI18nManager.js +1 -1
- package/Libraries/ReactNative/NativeUIManager.js +1 -1
- package/Libraries/ReactNative/PaperUIManager.js +3 -4
- package/Libraries/ReactNative/PaperUIManager.win32.js +8 -9
- package/Libraries/ReactNative/ReactFabricInternals.js +1 -1
- package/Libraries/ReactNative/RootTag.js +3 -4
- package/Libraries/ReactNative/UIManager.js +5 -7
- package/Libraries/ReactNative/UIManagerInjection.js +4 -2
- package/Libraries/ReactNative/UIManagerProperties.js +1 -1
- package/Libraries/ReactNative/getCachedComponentWithDebugName.js +4 -2
- package/Libraries/ReactNative/getNativeComponentAttributes.js +21 -9
- package/Libraries/ReactNative/renderApplication.js +1 -1
- package/Libraries/ReactNative/requireNativeComponent.js +1 -1
- package/Libraries/ReactPrivate/ReactNativePrivateInitializeCore.js +1 -1
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +1 -1
- package/Libraries/Reliability/UserFlow.js +1 -1
- package/Libraries/Renderer/implementations/ReactFabric-dev.fb.js +1134 -426
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +1 -1
- package/Libraries/Renderer/implementations/ReactFabric-prod.fb.js +265 -236
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +1 -1
- package/Libraries/Renderer/implementations/ReactFabric-profiling.fb.js +538 -302
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +1 -1
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.fb.js +1084 -463
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +1 -1
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.fb.js +251 -224
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +1 -1
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.fb.js +519 -281
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +1 -1
- package/Libraries/Renderer/shims/ReactFabric.js +2 -2
- package/Libraries/Renderer/shims/ReactFeatureFlags.js +2 -2
- package/Libraries/Renderer/shims/ReactNative.js +2 -2
- package/Libraries/Renderer/shims/ReactNativeTypes.js +2 -2
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +2 -4
- package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
- package/Libraries/Settings/NativeSettingsManager.js +1 -1
- package/Libraries/Settings/Settings.android.js +1 -1
- package/Libraries/Settings/Settings.ios.js +1 -1
- package/Libraries/Share/NativeShareModule.js +1 -1
- package/Libraries/Share/Share.js +1 -1
- package/Libraries/Storage/AsyncStorage.js +34 -35
- package/Libraries/Storage/NativeAsyncLocalStorage.js +1 -1
- package/Libraries/Storage/NativeAsyncSQLiteDBStorage.js +1 -1
- package/Libraries/StyleSheet/EdgeInsetsPropType.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +1 -1
- package/Libraries/StyleSheet/PointPropType.js +1 -1
- package/Libraries/StyleSheet/Rect.js +1 -1
- package/Libraries/StyleSheet/StyleSheet.js +3 -2
- package/Libraries/StyleSheet/StyleSheet.win32.js +3 -2
- package/Libraries/StyleSheet/StyleSheetTypes.js +2 -2
- 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/processColor.js +3 -3
- package/Libraries/StyleSheet/processColorArray.js +1 -1
- package/Libraries/StyleSheet/processTransform.js +21 -2
- package/Libraries/StyleSheet/setNormalizedColorAlpha.js +1 -1
- package/Libraries/StyleSheet/splitLayoutProps.js +2 -4
- package/Libraries/Text/Text.js +11 -12
- package/Libraries/Text/TextAncestor.js +1 -1
- package/Libraries/Text/TextNativeComponent.js +10 -8
- package/Libraries/Text/TextNativeComponent.win32.js +9 -7
- package/Libraries/Text/TextProps.js +19 -19
- package/Libraries/TurboModule/RCTExport.js +1 -1
- package/Libraries/TurboModule/TurboModuleRegistry.js +1 -1
- package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +1 -1
- package/Libraries/Types/CodegenTypes.js +1 -1
- package/Libraries/Types/CoreEventTypes.js +1 -1
- package/Libraries/Types/CoreEventTypes.win32.js +1 -1
- package/Libraries/Types/RootTagTypes.js +1 -1
- package/Libraries/UTFSequence.js +1 -1
- package/Libraries/Utilities/Appearance.js +7 -6
- package/Libraries/Utilities/BackHandler.android.js +5 -5
- package/Libraries/Utilities/BackHandler.ios.js +1 -1
- package/Libraries/Utilities/BackHandler.win32.js +5 -5
- package/Libraries/Utilities/DebugEnvironment.js +1 -1
- package/Libraries/Utilities/DevSettings.js +1 -1
- package/Libraries/Utilities/DeviceInfo.js +1 -1
- package/Libraries/Utilities/Dimensions.js +1 -1
- package/Libraries/Utilities/FeatureDetection.js +1 -1
- package/Libraries/Utilities/GlobalPerformanceLogger.js +1 -1
- package/Libraries/Utilities/HMRClient.js +3 -3
- package/Libraries/Utilities/HMRClientProdShim.js +1 -1
- package/Libraries/Utilities/JSDevSupportModule.js +4 -5
- package/Libraries/Utilities/LoadingView.android.js +1 -1
- package/Libraries/Utilities/LoadingView.ios.js +1 -1
- package/Libraries/Utilities/LoadingView.js +1 -1
- package/Libraries/Utilities/MatrixMath.js +20 -20
- package/Libraries/Utilities/NativeAppearance.js +1 -1
- package/Libraries/Utilities/NativeDevLoadingView.js +1 -1
- package/Libraries/Utilities/NativeDevSplitBundleLoader.js +1 -1
- package/Libraries/Utilities/NativeDeviceInfo.js +1 -1
- package/Libraries/Utilities/NativeJSDevSupport.js +1 -1
- package/Libraries/Utilities/NativePlatformConstantsAndroid.js +1 -1
- package/Libraries/Utilities/NativePlatformConstantsIOS.js +1 -1
- package/Libraries/Utilities/PerformanceLoggerContext.js +3 -4
- package/Libraries/Utilities/PixelRatio.js +1 -1
- package/Libraries/Utilities/Platform.android.js +1 -1
- package/Libraries/Utilities/Platform.ios.js +1 -1
- package/Libraries/Utilities/PolyfillFunctions.js +1 -1
- package/Libraries/Utilities/RCTLog.js +1 -1
- package/Libraries/Utilities/ReactNativeTestTools.js +8 -12
- package/Libraries/Utilities/SceneTracker.js +5 -4
- package/Libraries/Utilities/__mocks__/BackHandler.js +4 -4
- package/Libraries/Utilities/__mocks__/GlobalPerformanceLogger.js +1 -1
- package/Libraries/Utilities/__mocks__/PixelRatio.js +1 -1
- package/Libraries/Utilities/binaryToBase64.js +1 -1
- package/Libraries/Utilities/buildStyleInterpolator.js +10 -10
- package/Libraries/Utilities/clamp.js +1 -1
- package/Libraries/Utilities/codegenNativeCommands.js +1 -1
- package/Libraries/Utilities/codegenNativeComponent.js +4 -3
- package/Libraries/Utilities/createPerformanceLogger.js +1 -1
- package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +3 -3
- package/Libraries/Utilities/defineLazyObjectProperty.js +1 -1
- package/Libraries/Utilities/deprecatedPropType.js +1 -1
- package/Libraries/Utilities/differ/deepDiffer.js +2 -2
- package/Libraries/Utilities/differ/insetsDiffer.js +2 -2
- package/Libraries/Utilities/differ/matricesDiffer.js +6 -2
- package/Libraries/Utilities/differ/pointsDiffer.js +2 -2
- package/Libraries/Utilities/differ/sizesDiffer.js +11 -5
- package/Libraries/Utilities/dismissKeyboard.js +1 -1
- package/Libraries/Utilities/groupByEveryN.js +1 -1
- package/Libraries/Utilities/infoLog.js +1 -1
- package/Libraries/Utilities/logError.js +2 -2
- package/Libraries/Utilities/mapWithSeparator.js +1 -1
- package/Libraries/Utilities/mergeIntoFast.js +2 -2
- package/Libraries/Utilities/setAndForwardRef.js +1 -1
- package/Libraries/Utilities/stringifySafe.js +1 -1
- package/Libraries/Utilities/truncate.js +2 -2
- package/Libraries/Utilities/useColorScheme.js +1 -1
- package/Libraries/Utilities/useMergeRefs.js +1 -1
- package/Libraries/Utilities/useRefEffect.js +1 -1
- package/Libraries/Utilities/useWindowDimensions.js +6 -2
- package/Libraries/Utilities/verifyComponentAttributeEquivalence.js +4 -2
- package/Libraries/Utilities/warnOnce.js +1 -1
- package/Libraries/Vibration/NativeVibration.js +1 -1
- package/Libraries/Vibration/Vibration.js +6 -6
- package/Libraries/WebSocket/NativeWebSocketModule.js +1 -1
- package/Libraries/WebSocket/WebSocket.js +1 -1
- package/Libraries/WebSocket/WebSocketEvent.js +1 -1
- package/Libraries/WebSocket/WebSocketInterceptor.js +7 -7
- package/Libraries/WebSocket/__mocks__/event-target-shim.js +1 -1
- package/Libraries/YellowBox/YellowBoxDeprecated.js +1 -1
- package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +1 -1
- package/Libraries/promiseRejectionTrackingOptions.js +2 -2
- package/Libraries/vendor/core/ErrorUtils.js +1 -1
- package/Libraries/vendor/emitter/EventEmitter.js +1 -1
- package/Libraries/vendor/emitter/EventSubscription.js +1 -1
- package/Libraries/vendor/emitter/_EmitterSubscription.js +3 -2
- package/Libraries/vendor/emitter/_EventEmitter.js +3 -2
- package/Libraries/vendor/emitter/_EventSubscription.js +3 -2
- package/Libraries/vendor/emitter/_EventSubscriptionVendor.js +2 -2
- package/Libraries/vendor/emitter/__flowtests__/EventEmitter-flowtest.js +1 -1
- package/flow/HermesInternalType.js +1 -1
- package/flow/Position.js +1 -1
- package/flow/Promise.js +1 -1
- package/flow/Stringish.js +1 -1
- package/flow/console.js +1 -1
- package/flow/global.js +2 -6
- package/flow/jest.js +1 -1
- package/flow/use-subscription.js +1 -1
- package/flow-typed/npm/glob_v7.x.x.js +79 -0
- package/index.js +26 -17
- package/index.win32.js +26 -20
- package/interface.js +1 -1
- package/jest/MockNativeMethods.js +1 -1
- package/jest/assetFileTransformer.js +3 -3
- package/jest/mockComponent.js +1 -1
- package/jest/mockModal.js +3 -3
- package/jest/mockNativeComponent.js +5 -1
- package/jest/mockScrollView.js +1 -1
- package/jest/preprocessor.js +3 -3
- package/jest/renderer.js +1 -1
- package/jest/setup.js +5 -4
- package/overrides.json +68 -68
- package/package.json +27 -25
- package/rn-get-polyfills.js +1 -1
- package/rntypes/globals.d.ts +6 -5
- package/rntypes/index.d.ts +89 -312
- package/rntypes/legacy-properties.d.ts +0 -28
- package/src/rntypes/globals.d.ts +6 -5
- package/src/rntypes/index.d.ts +89 -312
- package/src/rntypes/legacy-properties.d.ts +0 -28
- package/Libraries/Components/TextInput/AndroidTextInputViewConfig.js +0 -116
- package/Libraries/DeprecatedPropTypes/DeprecatedColorPropType.js +0 -76
- package/Libraries/DeprecatedPropTypes/DeprecatedEdgeInsetsPropType.js +0 -28
- package/Libraries/DeprecatedPropTypes/DeprecatedImagePropType.android.js +0 -131
- package/Libraries/DeprecatedPropTypes/DeprecatedImagePropType.ios.js +0 -82
- package/Libraries/DeprecatedPropTypes/DeprecatedImagePropType.win32.js +0 -82
- package/Libraries/DeprecatedPropTypes/DeprecatedImageSourcePropType.js +0 -40
- package/Libraries/DeprecatedPropTypes/DeprecatedImageStylePropTypes.js +0 -76
- package/Libraries/DeprecatedPropTypes/DeprecatedLayoutPropTypes.js +0 -233
- package/Libraries/DeprecatedPropTypes/DeprecatedPointPropType.js +0 -24
- package/Libraries/DeprecatedPropTypes/DeprecatedShadowPropTypesIOS.js +0 -30
- package/Libraries/DeprecatedPropTypes/DeprecatedStyleSheetPropType.js +0 -32
- package/Libraries/DeprecatedPropTypes/DeprecatedTextInputPropTypes.js +0 -622
- package/Libraries/DeprecatedPropTypes/DeprecatedTextPropTypes.js +0 -158
- package/Libraries/DeprecatedPropTypes/DeprecatedTextStylePropTypes.js +0 -157
- package/Libraries/DeprecatedPropTypes/DeprecatedTransformPropTypes.js +0 -99
- package/Libraries/DeprecatedPropTypes/DeprecatedViewAccessibility.js +0 -46
- package/Libraries/DeprecatedPropTypes/DeprecatedViewPropTypes.js +0 -408
- package/Libraries/DeprecatedPropTypes/DeprecatedViewStylePropTypes.js +0 -68
- package/Libraries/DeprecatedPropTypes/deprecatedCreateStrictShapeTypeChecker.js +0 -86
- package/flow-typed/npm/prop-types_v15.x.x.js +0 -42
- package/src/Libraries/Lists/__tests__/__snapshots__/FlatList-test.js.snap +0 -427
- package/src/Libraries/Lists/__tests__/__snapshots__/SectionList-test.js.snap +0 -391
- package/src/Libraries/Lists/__tests__/__snapshots__/VirtualizeUtils-test.js.snap +0 -3
- package/src/Libraries/Lists/__tests__/__snapshots__/VirtualizedList-test.js.snap +0 -4634
- package/src/Libraries/Lists/__tests__/__snapshots__/VirtualizedSectionList-test.js.snap +0 -1153
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -27,7 +27,7 @@ export type SectionBase<SectionItemT> = _SectionBase<SectionItemT>;
|
|
|
27
27
|
|
|
28
28
|
type RequiredProps<SectionT: SectionBase<any>> = {|
|
|
29
29
|
/**
|
|
30
|
-
* The actual data to render, akin to the `data` prop in [`<FlatList>`](https://reactnative.dev/docs/flatlist
|
|
30
|
+
* The actual data to render, akin to the `data` prop in [`<FlatList>`](https://reactnative.dev/docs/flatlist).
|
|
31
31
|
*
|
|
32
32
|
* General shape:
|
|
33
33
|
*
|
|
@@ -131,7 +131,7 @@ export type Props<SectionT> = {|
|
|
|
131
131
|
* - Scroll loading.
|
|
132
132
|
*
|
|
133
133
|
* If you don't need section support and want a simpler interface, use
|
|
134
|
-
* [`<FlatList>`](https://reactnative.dev/docs/flatlist
|
|
134
|
+
* [`<FlatList>`](https://reactnative.dev/docs/flatlist).
|
|
135
135
|
*
|
|
136
136
|
* Simple Examples:
|
|
137
137
|
*
|
|
@@ -153,7 +153,7 @@ export type Props<SectionT> = {|
|
|
|
153
153
|
* ]}
|
|
154
154
|
* />
|
|
155
155
|
*
|
|
156
|
-
* This is a convenience wrapper around [`<VirtualizedList>`](docs/virtualizedlist
|
|
156
|
+
* This is a convenience wrapper around [`<VirtualizedList>`](docs/virtualizedlist),
|
|
157
157
|
* and thus inherits its props (as well as those of `ScrollView`) that aren't explicitly listed
|
|
158
158
|
* here, along with the following caveats:
|
|
159
159
|
*
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -28,7 +28,7 @@ export type SectionBase<SectionItemT> = _SectionBase<SectionItemT>;
|
|
|
28
28
|
|
|
29
29
|
type RequiredProps<SectionT: SectionBase<any>> = {|
|
|
30
30
|
/**
|
|
31
|
-
* The actual data to render, akin to the `data` prop in [`<FlatList>`](https://reactnative.dev/docs/flatlist
|
|
31
|
+
* The actual data to render, akin to the `data` prop in [`<FlatList>`](https://reactnative.dev/docs/flatlist).
|
|
32
32
|
*
|
|
33
33
|
* General shape:
|
|
34
34
|
*
|
|
@@ -132,7 +132,7 @@ export type Props<SectionT> = {|
|
|
|
132
132
|
* - Scroll loading.
|
|
133
133
|
*
|
|
134
134
|
* If you don't need section support and want a simpler interface, use
|
|
135
|
-
* [`<FlatList>`](https://reactnative.dev/docs/flatlist
|
|
135
|
+
* [`<FlatList>`](https://reactnative.dev/docs/flatlist).
|
|
136
136
|
*
|
|
137
137
|
* Simple Examples:
|
|
138
138
|
*
|
|
@@ -154,7 +154,7 @@ export type Props<SectionT> = {|
|
|
|
154
154
|
* ]}
|
|
155
155
|
* />
|
|
156
156
|
*
|
|
157
|
-
* This is a convenience wrapper around [`<VirtualizedList>`](docs/virtualizedlist
|
|
157
|
+
* This is a convenience wrapper around [`<VirtualizedList>`](docs/virtualizedlist),
|
|
158
158
|
* and thus inherits its props (as well as those of `ScrollView`) that aren't explicitly listed
|
|
159
159
|
* here, along with the following caveats:
|
|
160
160
|
*
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -102,9 +102,7 @@ class ViewabilityHelper {
|
|
|
102
102
|
itemCount: number,
|
|
103
103
|
scrollOffset: number,
|
|
104
104
|
viewportHeight: number,
|
|
105
|
-
getFrameMetrics: (
|
|
106
|
-
index: number,
|
|
107
|
-
) => ?{
|
|
105
|
+
getFrameMetrics: (index: number) => ?{
|
|
108
106
|
length: number,
|
|
109
107
|
offset: number,
|
|
110
108
|
...
|
|
@@ -116,10 +114,8 @@ class ViewabilityHelper {
|
|
|
116
114
|
...
|
|
117
115
|
},
|
|
118
116
|
): Array<number> {
|
|
119
|
-
const {
|
|
120
|
-
|
|
121
|
-
viewAreaCoveragePercentThreshold,
|
|
122
|
-
} = this._config;
|
|
117
|
+
const {itemVisiblePercentThreshold, viewAreaCoveragePercentThreshold} =
|
|
118
|
+
this._config;
|
|
123
119
|
const viewAreaMode = viewAreaCoveragePercentThreshold != null;
|
|
124
120
|
const viewablePercentThreshold = viewAreaMode
|
|
125
121
|
? viewAreaCoveragePercentThreshold
|
|
@@ -179,9 +175,7 @@ class ViewabilityHelper {
|
|
|
179
175
|
itemCount: number,
|
|
180
176
|
scrollOffset: number,
|
|
181
177
|
viewportHeight: number,
|
|
182
|
-
getFrameMetrics: (
|
|
183
|
-
index: number,
|
|
184
|
-
) => ?{
|
|
178
|
+
getFrameMetrics: (index: number) => ?{
|
|
185
179
|
length: number,
|
|
186
180
|
offset: number,
|
|
187
181
|
...
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -20,9 +20,7 @@ import invariant from 'invariant';
|
|
|
20
20
|
export function elementsThatOverlapOffsets(
|
|
21
21
|
offsets: Array<number>,
|
|
22
22
|
itemCount: number,
|
|
23
|
-
getFrameMetrics: (
|
|
24
|
-
index: number,
|
|
25
|
-
) => {
|
|
23
|
+
getFrameMetrics: (index: number) => {
|
|
26
24
|
length: number,
|
|
27
25
|
offset: number,
|
|
28
26
|
...
|
|
@@ -96,9 +94,7 @@ export function computeWindowedRenderLimits(
|
|
|
96
94
|
last: number,
|
|
97
95
|
...
|
|
98
96
|
},
|
|
99
|
-
getFrameMetricsApprox: (
|
|
100
|
-
index: number,
|
|
101
|
-
) => {
|
|
97
|
+
getFrameMetricsApprox: (index: number) => {
|
|
102
98
|
length: number,
|
|
103
99
|
offset: number,
|
|
104
100
|
...
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -349,8 +349,8 @@ function windowSizeOrDefault(windowSize: ?number) {
|
|
|
349
349
|
}
|
|
350
350
|
|
|
351
351
|
/**
|
|
352
|
-
* Base implementation for the more convenient [`<FlatList>`](https://reactnative.dev/docs/flatlist
|
|
353
|
-
* and [`<SectionList>`](https://reactnative.dev/docs/sectionlist
|
|
352
|
+
* Base implementation for the more convenient [`<FlatList>`](https://reactnative.dev/docs/flatlist)
|
|
353
|
+
* and [`<SectionList>`](https://reactnative.dev/docs/sectionlist) components, which are also better
|
|
354
354
|
* documented. In general, this should only really be used if you need more flexibility than
|
|
355
355
|
* `FlatList` provides, e.g. for use with immutable data instead of plain arrays.
|
|
356
356
|
*
|
|
@@ -441,9 +441,9 @@ class VirtualizedList extends React.PureComponent<Props, State> {
|
|
|
441
441
|
);
|
|
442
442
|
invariant(
|
|
443
443
|
index < getItemCount(data),
|
|
444
|
-
`scrollToIndex out of range: requested index ${index} is out of 0 to ${
|
|
445
|
-
data
|
|
446
|
-
|
|
444
|
+
`scrollToIndex out of range: requested index ${index} is out of 0 to ${
|
|
445
|
+
getItemCount(data) - 1
|
|
446
|
+
}`,
|
|
447
447
|
);
|
|
448
448
|
if (!getItemLayout && index > this._highestMeasuredFrameIndex) {
|
|
449
449
|
invariant(
|
|
@@ -703,12 +703,14 @@ class VirtualizedList extends React.PureComponent<Props, State> {
|
|
|
703
703
|
onViewableItemsChanged: pair.onViewableItemsChanged,
|
|
704
704
|
}),
|
|
705
705
|
);
|
|
706
|
-
} else
|
|
707
|
-
this.
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
706
|
+
} else {
|
|
707
|
+
const {onViewableItemsChanged, viewabilityConfig} = this.props;
|
|
708
|
+
if (onViewableItemsChanged) {
|
|
709
|
+
this._viewabilityTuples.push({
|
|
710
|
+
viewabilityHelper: new ViewabilityHelper(viewabilityConfig),
|
|
711
|
+
onViewableItemsChanged: onViewableItemsChanged,
|
|
712
|
+
});
|
|
713
|
+
}
|
|
712
714
|
}
|
|
713
715
|
|
|
714
716
|
let initialState = {
|
|
@@ -882,11 +884,8 @@ class VirtualizedList extends React.PureComponent<Props, State> {
|
|
|
882
884
|
);
|
|
883
885
|
}
|
|
884
886
|
}
|
|
885
|
-
const {
|
|
886
|
-
|
|
887
|
-
ListFooterComponent,
|
|
888
|
-
ListHeaderComponent,
|
|
889
|
-
} = this.props;
|
|
887
|
+
const {ListEmptyComponent, ListFooterComponent, ListHeaderComponent} =
|
|
888
|
+
this.props;
|
|
890
889
|
const {data, horizontal} = this.props;
|
|
891
890
|
const isVirtualizationDisabled = this._isVirtualizationDisabled();
|
|
892
891
|
const inversionStyle = this.props.inverted
|
|
@@ -1496,12 +1495,8 @@ class VirtualizedList extends React.PureComponent<Props, State> {
|
|
|
1496
1495
|
}
|
|
1497
1496
|
|
|
1498
1497
|
_maybeCallOnEndReached() {
|
|
1499
|
-
const {
|
|
1500
|
-
|
|
1501
|
-
getItemCount,
|
|
1502
|
-
onEndReached,
|
|
1503
|
-
onEndReachedThreshold,
|
|
1504
|
-
} = this.props;
|
|
1498
|
+
const {data, getItemCount, onEndReached, onEndReachedThreshold} =
|
|
1499
|
+
this.props;
|
|
1505
1500
|
const {contentLength, visibleLength, offset} = this._scrollMetrics;
|
|
1506
1501
|
const distanceFromEnd = contentLength - visibleLength - offset;
|
|
1507
1502
|
const threshold =
|
|
@@ -1588,15 +1583,11 @@ class VirtualizedList extends React.PureComponent<Props, State> {
|
|
|
1588
1583
|
// know our offset from our offset from our parent
|
|
1589
1584
|
return;
|
|
1590
1585
|
}
|
|
1591
|
-
({
|
|
1592
|
-
|
|
1593
|
-
|
|
1594
|
-
|
|
1595
|
-
|
|
1596
|
-
} = this._convertParentScrollMetrics({
|
|
1597
|
-
visibleLength,
|
|
1598
|
-
offset,
|
|
1599
|
-
}));
|
|
1586
|
+
({visibleLength, contentLength, offset, dOffset} =
|
|
1587
|
+
this._convertParentScrollMetrics({
|
|
1588
|
+
visibleLength,
|
|
1589
|
+
offset,
|
|
1590
|
+
}));
|
|
1600
1591
|
}
|
|
1601
1592
|
|
|
1602
1593
|
const dt = this._scrollMetrics.timestamp
|
|
@@ -1802,7 +1793,6 @@ class VirtualizedList extends React.PureComponent<Props, State> {
|
|
|
1802
1793
|
}
|
|
1803
1794
|
}
|
|
1804
1795
|
if (someChildHasMore) {
|
|
1805
|
-
// $FlowFixMe[incompatible-use]
|
|
1806
1796
|
newState.last = ii;
|
|
1807
1797
|
break;
|
|
1808
1798
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -64,9 +64,8 @@ type Context = $ReadOnly<{
|
|
|
64
64
|
debugInfo: ListDebugInfo,
|
|
65
65
|
}>;
|
|
66
66
|
|
|
67
|
-
export const VirtualizedListContext: React.Context<?Context> =
|
|
68
|
-
null
|
|
69
|
-
);
|
|
67
|
+
export const VirtualizedListContext: React.Context<?Context> =
|
|
68
|
+
React.createContext(null);
|
|
70
69
|
if (__DEV__) {
|
|
71
70
|
VirtualizedListContext.displayName = 'VirtualizedListContext';
|
|
72
71
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -240,9 +240,7 @@ class VirtualizedSectionList<
|
|
|
240
240
|
return (info && info.key) || String(index);
|
|
241
241
|
};
|
|
242
242
|
|
|
243
|
-
_subExtractor(
|
|
244
|
-
index: number,
|
|
245
|
-
): ?{
|
|
243
|
+
_subExtractor(index: number): ?{
|
|
246
244
|
section: SectionT,
|
|
247
245
|
// Key of the section or combined key for section + item
|
|
248
246
|
key: string,
|
|
@@ -339,63 +337,58 @@ class VirtualizedSectionList<
|
|
|
339
337
|
}
|
|
340
338
|
};
|
|
341
339
|
|
|
342
|
-
_renderItem =
|
|
343
|
-
|
|
344
|
-
index,
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
return renderSectionHeader ? renderSectionHeader({section}) : null;
|
|
340
|
+
_renderItem =
|
|
341
|
+
(listItemCount: number) =>
|
|
342
|
+
({item, index}: {item: Item, index: number, ...}) => {
|
|
343
|
+
const info = this._subExtractor(index);
|
|
344
|
+
if (!info) {
|
|
345
|
+
return null;
|
|
346
|
+
}
|
|
347
|
+
const infoIndex = info.index;
|
|
348
|
+
if (infoIndex == null) {
|
|
349
|
+
const {section} = info;
|
|
350
|
+
if (info.header === true) {
|
|
351
|
+
const {renderSectionHeader} = this.props;
|
|
352
|
+
return renderSectionHeader ? renderSectionHeader({section}) : null;
|
|
353
|
+
} else {
|
|
354
|
+
const {renderSectionFooter} = this.props;
|
|
355
|
+
return renderSectionFooter ? renderSectionFooter({section}) : null;
|
|
356
|
+
}
|
|
360
357
|
} else {
|
|
361
|
-
const
|
|
362
|
-
|
|
358
|
+
const renderItem = info.section.renderItem || this.props.renderItem;
|
|
359
|
+
const SeparatorComponent = this._getSeparatorComponent(
|
|
360
|
+
index,
|
|
361
|
+
info,
|
|
362
|
+
listItemCount,
|
|
363
|
+
);
|
|
364
|
+
invariant(renderItem, 'no renderItem!');
|
|
365
|
+
return (
|
|
366
|
+
<ItemWithSeparator
|
|
367
|
+
SeparatorComponent={SeparatorComponent}
|
|
368
|
+
LeadingSeparatorComponent={
|
|
369
|
+
infoIndex === 0 ? this.props.SectionSeparatorComponent : undefined
|
|
370
|
+
}
|
|
371
|
+
cellKey={info.key}
|
|
372
|
+
index={infoIndex}
|
|
373
|
+
item={item}
|
|
374
|
+
leadingItem={info.leadingItem}
|
|
375
|
+
leadingSection={info.leadingSection}
|
|
376
|
+
prevCellKey={(this._subExtractor(index - 1) || {}).key}
|
|
377
|
+
// Callback to provide updateHighlight for this item
|
|
378
|
+
setSelfHighlightCallback={this._setUpdateHighlightFor}
|
|
379
|
+
setSelfUpdatePropsCallback={this._setUpdatePropsFor}
|
|
380
|
+
// Provide child ability to set highlight/updateProps for previous item using prevCellKey
|
|
381
|
+
updateHighlightFor={this._updateHighlightFor}
|
|
382
|
+
updatePropsFor={this._updatePropsFor}
|
|
383
|
+
renderItem={renderItem}
|
|
384
|
+
section={info.section}
|
|
385
|
+
trailingItem={info.trailingItem}
|
|
386
|
+
trailingSection={info.trailingSection}
|
|
387
|
+
inverted={!!this.props.inverted}
|
|
388
|
+
/>
|
|
389
|
+
);
|
|
363
390
|
}
|
|
364
|
-
}
|
|
365
|
-
const renderItem = info.section.renderItem || this.props.renderItem;
|
|
366
|
-
const SeparatorComponent = this._getSeparatorComponent(
|
|
367
|
-
index,
|
|
368
|
-
info,
|
|
369
|
-
listItemCount,
|
|
370
|
-
);
|
|
371
|
-
invariant(renderItem, 'no renderItem!');
|
|
372
|
-
return (
|
|
373
|
-
<ItemWithSeparator
|
|
374
|
-
SeparatorComponent={SeparatorComponent}
|
|
375
|
-
LeadingSeparatorComponent={
|
|
376
|
-
infoIndex === 0 ? this.props.SectionSeparatorComponent : undefined
|
|
377
|
-
}
|
|
378
|
-
cellKey={info.key}
|
|
379
|
-
index={infoIndex}
|
|
380
|
-
item={item}
|
|
381
|
-
leadingItem={info.leadingItem}
|
|
382
|
-
leadingSection={info.leadingSection}
|
|
383
|
-
prevCellKey={(this._subExtractor(index - 1) || {}).key}
|
|
384
|
-
// Callback to provide updateHighlight for this item
|
|
385
|
-
setSelfHighlightCallback={this._setUpdateHighlightFor}
|
|
386
|
-
setSelfUpdatePropsCallback={this._setUpdatePropsFor}
|
|
387
|
-
// Provide child ability to set highlight/updateProps for previous item using prevCellKey
|
|
388
|
-
updateHighlightFor={this._updateHighlightFor}
|
|
389
|
-
updatePropsFor={this._updatePropsFor}
|
|
390
|
-
renderItem={renderItem}
|
|
391
|
-
section={info.section}
|
|
392
|
-
trailingItem={info.trailingItem}
|
|
393
|
-
trailingSection={info.trailingSection}
|
|
394
|
-
inverted={!!this.props.inverted}
|
|
395
|
-
/>
|
|
396
|
-
);
|
|
397
|
-
}
|
|
398
|
-
};
|
|
391
|
+
};
|
|
399
392
|
|
|
400
393
|
_updatePropsFor = (cellKey, value) => {
|
|
401
394
|
const updateProps = this._updatePropsMap[cellKey];
|
|
@@ -506,10 +499,8 @@ function ItemWithSeparator(props: ItemWithSeparatorProps): React.Node {
|
|
|
506
499
|
inverted,
|
|
507
500
|
} = props;
|
|
508
501
|
|
|
509
|
-
const [
|
|
510
|
-
|
|
511
|
-
setLeadingSeparatorHighlighted,
|
|
512
|
-
] = React.useState(false);
|
|
502
|
+
const [leadingSeparatorHiglighted, setLeadingSeparatorHighlighted] =
|
|
503
|
+
React.useState(false);
|
|
513
504
|
|
|
514
505
|
const [separatorHighlighted, setSeparatorHighlighted] = React.useState(false);
|
|
515
506
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -31,7 +31,7 @@ function computeResult({helper, props, state, scroll}): number {
|
|
|
31
31
|
return helper.computeBlankness(
|
|
32
32
|
{
|
|
33
33
|
data: dataGlobal,
|
|
34
|
-
getItemCount: data2 => data2.length,
|
|
34
|
+
getItemCount: (data2) => data2.length,
|
|
35
35
|
initialNumToRender: 10,
|
|
36
36
|
...(props || {}),
|
|
37
37
|
},
|
|
@@ -40,13 +40,13 @@ function computeResult({helper, props, state, scroll}): number {
|
|
|
40
40
|
);
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
describe('computeBlankness', function() {
|
|
43
|
+
describe('computeBlankness', function () {
|
|
44
44
|
beforeEach(() => {
|
|
45
45
|
FillRateHelper.setSampleRate(1);
|
|
46
46
|
FillRateHelper.setMinSampleCount(0);
|
|
47
47
|
});
|
|
48
48
|
|
|
49
|
-
it('computes correct blankness of viewport', function() {
|
|
49
|
+
it('computes correct blankness of viewport', function () {
|
|
50
50
|
const helper = new FillRateHelper(getFrameMetrics);
|
|
51
51
|
rowFramesGlobal = {
|
|
52
52
|
header: {y: 0, height: 0, inLayout: true},
|
|
@@ -65,7 +65,7 @@ describe('computeBlankness', function() {
|
|
|
65
65
|
expect(blankness).toBe(1);
|
|
66
66
|
});
|
|
67
67
|
|
|
68
|
-
it('skips frames that are not in layout', function() {
|
|
68
|
+
it('skips frames that are not in layout', function () {
|
|
69
69
|
const helper = new FillRateHelper(getFrameMetrics);
|
|
70
70
|
rowFramesGlobal = {
|
|
71
71
|
header: {y: 0, height: 0, inLayout: false},
|
|
@@ -79,7 +79,7 @@ describe('computeBlankness', function() {
|
|
|
79
79
|
expect(blankness).toBe(0.3);
|
|
80
80
|
});
|
|
81
81
|
|
|
82
|
-
it('sampling rate can disable', function() {
|
|
82
|
+
it('sampling rate can disable', function () {
|
|
83
83
|
let helper = new FillRateHelper(getFrameMetrics);
|
|
84
84
|
rowFramesGlobal = {
|
|
85
85
|
header: {y: 0, height: 0, inLayout: true},
|
|
@@ -96,9 +96,9 @@ describe('computeBlankness', function() {
|
|
|
96
96
|
expect(blankness).toBe(0);
|
|
97
97
|
});
|
|
98
98
|
|
|
99
|
-
it('can handle multiple listeners and unsubscribe', function() {
|
|
99
|
+
it('can handle multiple listeners and unsubscribe', function () {
|
|
100
100
|
const listeners = [jest.fn(), jest.fn(), jest.fn()];
|
|
101
|
-
const subscriptions = listeners.map(listener =>
|
|
101
|
+
const subscriptions = listeners.map((listener) =>
|
|
102
102
|
FillRateHelper.addListener(listener),
|
|
103
103
|
);
|
|
104
104
|
subscriptions[1].remove();
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -102,13 +102,13 @@ describe('FlatList', () => {
|
|
|
102
102
|
ReactTestRenderer.create(
|
|
103
103
|
<FlatList
|
|
104
104
|
data={[{key: 'outer0'}, {key: 'outer1'}]}
|
|
105
|
-
renderItem={outerInfo => (
|
|
105
|
+
renderItem={(outerInfo) => (
|
|
106
106
|
<FlatList
|
|
107
107
|
data={[
|
|
108
108
|
{key: outerInfo.item.key + ':inner0'},
|
|
109
109
|
{key: outerInfo.item.key + ':inner1'},
|
|
110
110
|
]}
|
|
111
|
-
renderItem={innerInfo => {
|
|
111
|
+
renderItem={(innerInfo) => {
|
|
112
112
|
return <item title={innerInfo.item.key} />;
|
|
113
113
|
}}
|
|
114
114
|
ref={listRef}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -39,21 +39,21 @@ describe('SectionList', () => {
|
|
|
39
39
|
const component = ReactTestRenderer.create(
|
|
40
40
|
<SectionList
|
|
41
41
|
initialNumToRender={Infinity}
|
|
42
|
-
ItemSeparatorComponent={props => (
|
|
42
|
+
ItemSeparatorComponent={(props) => (
|
|
43
43
|
<defaultItemSeparator v={propStr(props)} />
|
|
44
44
|
)}
|
|
45
|
-
ListEmptyComponent={props => <empty v={propStr(props)} />}
|
|
46
|
-
ListFooterComponent={props => <footer v={propStr(props)} />}
|
|
47
|
-
ListHeaderComponent={props => <header v={propStr(props)} />}
|
|
48
|
-
SectionSeparatorComponent={props => (
|
|
45
|
+
ListEmptyComponent={(props) => <empty v={propStr(props)} />}
|
|
46
|
+
ListFooterComponent={(props) => <footer v={propStr(props)} />}
|
|
47
|
+
ListHeaderComponent={(props) => <header v={propStr(props)} />}
|
|
48
|
+
SectionSeparatorComponent={(props) => (
|
|
49
49
|
<sectionSeparator v={propStr(props)} />
|
|
50
50
|
)}
|
|
51
51
|
sections={[
|
|
52
52
|
{
|
|
53
|
-
renderItem: props => <itemForSection1 v={propStr(props)} />,
|
|
53
|
+
renderItem: (props) => <itemForSection1 v={propStr(props)} />,
|
|
54
54
|
key: 's1',
|
|
55
55
|
keyExtractor: (item, index) => item.id,
|
|
56
|
-
ItemSeparatorComponent: props => (
|
|
56
|
+
ItemSeparatorComponent: (props) => (
|
|
57
57
|
<itemSeparatorForSection1 v={propStr(props)} />
|
|
58
58
|
),
|
|
59
59
|
data: [{id: 'i1s1'}, {id: 'i2s1'}],
|
|
@@ -69,9 +69,9 @@ describe('SectionList', () => {
|
|
|
69
69
|
]}
|
|
70
70
|
refreshing={false}
|
|
71
71
|
onRefresh={jest.fn()}
|
|
72
|
-
renderItem={props => <defaultItem v={propStr(props)} />}
|
|
73
|
-
renderSectionHeader={props => <sectionHeader v={propStr(props)} />}
|
|
74
|
-
renderSectionFooter={props => <sectionFooter v={propStr(props)} />}
|
|
72
|
+
renderItem={(props) => <defaultItem v={propStr(props)} />}
|
|
73
|
+
renderSectionHeader={(props) => <sectionHeader v={propStr(props)} />}
|
|
74
|
+
renderSectionFooter={(props) => <sectionFooter v={propStr(props)} />}
|
|
75
75
|
/>,
|
|
76
76
|
);
|
|
77
77
|
expect(component).toMatchSnapshot();
|
|
@@ -81,8 +81,8 @@ describe('SectionList', () => {
|
|
|
81
81
|
<SectionList
|
|
82
82
|
sections={[{key: 's1', data: []}]}
|
|
83
83
|
renderItem={({item}) => <item v={item.key} />}
|
|
84
|
-
renderSectionHeader={props => <sectionHeader v={propStr(props)} />}
|
|
85
|
-
renderSectionFooter={props => <sectionFooter v={propStr(props)} />}
|
|
84
|
+
renderSectionHeader={(props) => <sectionHeader v={propStr(props)} />}
|
|
85
|
+
renderSectionFooter={(props) => <sectionFooter v={propStr(props)} />}
|
|
86
86
|
/>,
|
|
87
87
|
);
|
|
88
88
|
expect(component).toMatchSnapshot();
|
|
@@ -92,7 +92,7 @@ describe('SectionList', () => {
|
|
|
92
92
|
<SectionList
|
|
93
93
|
sections={[{key: 's1', data: []}]}
|
|
94
94
|
renderItem={({item}) => <item v={item.key} />}
|
|
95
|
-
renderSectionFooter={props => <sectionFooter v={propStr(props)} />}
|
|
95
|
+
renderSectionFooter={(props) => <sectionFooter v={propStr(props)} />}
|
|
96
96
|
/>,
|
|
97
97
|
);
|
|
98
98
|
expect(component).toMatchSnapshot();
|
|
@@ -101,7 +101,7 @@ describe('SectionList', () => {
|
|
|
101
101
|
|
|
102
102
|
function propStr(props) {
|
|
103
103
|
return Object.keys(props)
|
|
104
|
-
.map(k => {
|
|
104
|
+
.map((k) => {
|
|
105
105
|
const propObj = props[k] || {};
|
|
106
106
|
return `${k}:${propObj.key || propObj.id || props[k]}`;
|
|
107
107
|
})
|