@office-iss/react-native-win32 0.71.5 → 0.72.0-preview.2
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 +15 -3
- package/CHANGELOG.json +321 -45
- package/CHANGELOG.md +149 -26
- package/IntegrationTests/IntegrationTestHarnessTest.js +1 -0
- package/Libraries/ActionSheetIOS/ActionSheetIOS.js +1 -1
- package/Libraries/Alert/Alert.d.ts +4 -4
- package/Libraries/Alert/Alert.win32.js +1 -0
- package/Libraries/Animated/Animated.d.ts +17 -6
- package/Libraries/Animated/NativeAnimatedHelper.js +18 -6
- package/Libraries/Animated/NativeAnimatedHelper.win32.js +606 -0
- package/Libraries/Animated/bezier.js +1 -1
- package/Libraries/Animated/components/AnimatedFlatList.js +8 -3
- package/Libraries/Animated/components/AnimatedScrollView.js +4 -1
- package/Libraries/Animated/components/AnimatedSectionList.js +12 -3
- package/Libraries/Animated/createAnimatedComponent.js +26 -239
- package/Libraries/Animated/nodes/AnimatedColor.js +47 -80
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +167 -121
- package/Libraries/Animated/nodes/AnimatedNode.js +3 -5
- package/Libraries/Animated/nodes/AnimatedProps.js +7 -6
- package/Libraries/Animated/nodes/AnimatedStyle.js +42 -8
- package/Libraries/Animated/nodes/AnimatedTransform.js +1 -1
- package/Libraries/Animated/nodes/AnimatedValue.js +8 -12
- package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -1
- package/Libraries/Animated/useAnimatedProps.js +7 -10
- package/Libraries/BatchedBridge/MessageQueue.js +2 -1
- package/Libraries/BatchedBridge/NativeModules.d.ts +1 -1
- package/Libraries/BatchedBridge/NativeModules.js +1 -0
- package/Libraries/Blob/Blob.js +4 -0
- package/Libraries/Blob/FileReader.js +30 -2
- package/Libraries/Blob/URL.js +3 -1
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +2 -2
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +2 -3
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.win32.js +2 -3
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +6 -4
- package/Libraries/Components/Button.js +3 -2
- package/Libraries/Components/Button.win32.js +451 -0
- package/Libraries/Components/Clipboard/Clipboard.js +1 -1
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +4 -0
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -0
- package/Libraries/Components/Pressable/Pressable.d.ts +1 -1
- package/Libraries/Components/Pressable/Pressable.js +1 -1
- package/Libraries/Components/RefreshControl/RefreshControl.js +1 -0
- package/Libraries/Components/SafeAreaView/SafeAreaView.js +1 -2
- package/Libraries/Components/SafeAreaView/SafeAreaView.win32.js +1 -2
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +12 -6
- package/Libraries/Components/ScrollView/ScrollView.d.ts +2 -2
- package/Libraries/Components/ScrollView/ScrollView.js +149 -91
- package/Libraries/Components/ScrollView/ScrollView.win32.js +1939 -0
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +16 -6
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +5 -7
- package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +1 -1
- package/Libraries/Components/StatusBar/StatusBar.js +3 -0
- package/Libraries/Components/Switch/Switch.js +3 -1
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +21 -11
- package/Libraries/Components/TextInput/InputAccessoryView.d.ts +1 -1
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +11 -5
- package/Libraries/Components/TextInput/TextInput.Types.win32.d.ts +51 -0
- package/Libraries/Components/TextInput/TextInput.Types.win32.js +3 -0
- package/Libraries/Components/TextInput/TextInput.Types.win32.js.map +1 -0
- package/Libraries/Components/TextInput/TextInput.d.ts +15 -5
- package/Libraries/Components/TextInput/TextInput.flow.js +1 -1
- package/Libraries/Components/TextInput/TextInput.js +130 -103
- package/Libraries/Components/TextInput/TextInput.win32.js +202 -890
- package/Libraries/Components/Touchable/Touchable.d.ts +1 -1
- package/Libraries/Components/Touchable/Touchable.flow.js +30 -4
- package/Libraries/Components/Touchable/Touchable.js +6 -3
- package/Libraries/Components/Touchable/Touchable.win32.js +6 -3
- package/Libraries/Components/Touchable/TouchableHighlight.js +1 -1
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +2 -2
- package/Libraries/Components/Touchable/TouchableOpacity.js +3 -0
- package/Libraries/Components/Touchable/TouchableWin32.js.map +1 -1
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +1 -1
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +2 -2
- package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlay.js +179 -0
- package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlayNativeComponent.js +43 -0
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +26 -0
- package/Libraries/Components/View/View.js +35 -16
- package/Libraries/Components/View/View.win32.js +38 -16
- package/Libraries/Components/View/ViewAccessibility.d.ts +6 -6
- package/Libraries/Components/View/ViewAccessibility.js +10 -1
- package/Libraries/Components/View/ViewAccessibility.win32.d.ts +5 -5
- package/Libraries/Components/View/ViewNativeComponent.js +32 -8
- package/Libraries/Components/View/ViewPropTypes.d.ts +1 -1
- package/Libraries/Components/View/ViewPropTypes.js +1 -1
- package/Libraries/Components/View/ViewPropTypes.win32.d.ts +1 -1
- package/Libraries/Components/View/ViewPropTypes.win32.js +1 -1
- package/Libraries/Components/View/ViewWin32.js +2 -35
- package/Libraries/Core/Devtools/openFileInEditor.js +1 -0
- package/Libraries/Core/Devtools/openURLInBrowser.js +1 -0
- package/Libraries/Core/Devtools/parseErrorStack.js +2 -2
- package/Libraries/Core/Devtools/parseHermesStack.js +54 -34
- package/Libraries/Core/ExceptionsManager.js +2 -2
- package/Libraries/Core/InitializeCore.js +2 -1
- package/Libraries/Core/ReactNativeVersion.js +3 -3
- package/Libraries/Core/ReactNativeVersionCheck.js +4 -8
- package/Libraries/Core/ReactNativeVersionCheck.win32.js +4 -8
- package/Libraries/Core/Timers/JSTimers.js +1 -1
- package/Libraries/Core/Timers/immediateShim.js +1 -0
- package/Libraries/Core/Timers/queueMicrotask.js +1 -1
- package/Libraries/Core/setUpAlert.js +1 -1
- package/Libraries/Core/setUpDOM.js +18 -0
- package/Libraries/Core/setUpDeveloperTools.js +1 -1
- package/Libraries/Core/setUpGlobals.js +5 -2
- package/Libraries/Core/setUpNavigator.js +6 -5
- package/Libraries/Core/setUpPerformance.js +23 -13
- package/Libraries/Core/setUpReactDevTools.js +2 -0
- package/Libraries/Core/setUpSegmentFetcher.js +0 -41
- package/Libraries/Core/setUpTimers.js +2 -2
- package/Libraries/DOM/Geometry/DOMRect.js +82 -0
- package/Libraries/DOM/Geometry/DOMRectReadOnly.js +188 -0
- package/Libraries/DOM/Nodes/ReactNativeElement.js +75 -0
- package/Libraries/DOM/Nodes/ReadOnlyElement.js +89 -0
- package/Libraries/DOM/Nodes/ReadOnlyNode.js +167 -0
- package/Libraries/DOM/OldStyleCollections/ArrayLikeUtils.js +46 -0
- package/Libraries/DOM/OldStyleCollections/DOMRectList.js +76 -0
- package/Libraries/DOM/OldStyleCollections/HTMLCollection.js +82 -0
- package/Libraries/DOM/OldStyleCollections/NodeList.js +104 -0
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.android.js +35 -0
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.d.ts +20 -0
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.ios.js +49 -0
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.win32.js +35 -0
- package/Libraries/DevToolsSettings/NativeDevToolsSettingsManager.js +24 -0
- package/Libraries/EventEmitter/NativeEventEmitter.d.ts +1 -2
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.d.ts +1 -2
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +9 -1
- package/Libraries/Events/EventPolyfill.js +1 -1
- package/Libraries/Image/AssetRegistry.js +1 -1
- package/Libraries/Image/AssetSourceResolver.js +3 -3
- package/Libraries/Image/Image.android.js +4 -1
- package/Libraries/Image/Image.d.ts +63 -2
- package/Libraries/Image/Image.ios.js +3 -0
- package/Libraries/Image/Image.win32.js +3 -0
- package/Libraries/Image/ImageBackground.js +1 -0
- package/Libraries/Image/ImageProps.js +1 -1
- package/Libraries/Image/ImageViewNativeComponent.js +4 -4
- package/Libraries/Image/RelativeImageStub.js +1 -1
- package/Libraries/Image/TextInlineImageNativeComponent.js +1 -1
- package/Libraries/Image/resolveAssetSource.js +1 -1
- package/Libraries/Inspector/DevtoolsOverlay.js +26 -19
- package/Libraries/Inspector/ElementBox.js +4 -1
- package/Libraries/Inspector/Inspector.js +5 -6
- package/Libraries/Inspector/Inspector.win32.js +7 -6
- package/Libraries/Inspector/InspectorOverlay.js +3 -3
- package/Libraries/Inspector/InspectorOverlay.win32.js +2 -1
- package/Libraries/Inspector/NetworkOverlay.js +1 -1
- package/Libraries/Interaction/JSEventLoopWatchdog.js +1 -1
- package/Libraries/Interaction/PanResponder.js +5 -6
- package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -1
- package/Libraries/Linking/Linking.js +1 -4
- package/Libraries/Lists/FillRateHelper.js +4 -238
- package/Libraries/Lists/FlatList.d.ts +15 -22
- package/Libraries/Lists/FlatList.js +9 -6
- package/Libraries/Lists/SectionList.d.ts +10 -6
- package/Libraries/Lists/SectionList.js +5 -3
- package/Libraries/Lists/SectionListModern.js +3 -3
- package/Libraries/Lists/ViewabilityHelper.js +8 -344
- package/Libraries/Lists/VirtualizeUtils.js +4 -244
- package/Libraries/Lists/VirtualizedList.js +10 -1867
- package/Libraries/Lists/VirtualizedListContext.js +6 -104
- package/Libraries/Lists/VirtualizedSectionList.js +9 -602
- package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +1 -0
- package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +1 -1
- package/Libraries/LogBox/Data/LogBoxData.js +1 -1
- package/Libraries/LogBox/Data/parseLogBoxLog.js +1 -1
- package/Libraries/LogBox/LogBox.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspector.js +1 -3
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.win32.js +168 -0
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.win32.js +3 -0
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.win32.js +193 -0
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +1 -0
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +2 -2
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.win32.js +7 -3
- package/Libraries/LogBox/UI/LogBoxMessage.js +87 -5
- package/Libraries/LogBox/UI/LogBoxNotification.js +5 -7
- package/Libraries/Modal/Modal.js +2 -2
- package/Libraries/NativeComponent/BaseViewConfig.android.js +32 -12
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +43 -19
- package/Libraries/NativeComponent/BaseViewConfig.win32.js +43 -19
- package/Libraries/NativeComponent/NativeComponentRegistryUnstable.js +4 -1
- package/Libraries/NativeComponent/ViewConfig.js +1 -0
- package/Libraries/NativeComponent/ViewConfigIgnore.js +1 -4
- package/Libraries/Network/RCTNetworking.android.js +2 -2
- package/Libraries/Network/RCTNetworking.ios.js +1 -1
- package/Libraries/Network/RCTNetworking.win32.js +1 -1
- package/Libraries/Network/XMLHttpRequest.js +1 -1
- package/Libraries/Pressability/Pressability.js +10 -4
- package/Libraries/Pressability/Pressability.win32.js +9 -3
- package/Libraries/ReactNative/AppContainer.js +7 -1
- package/Libraries/ReactNative/AppRegistry.d.ts +1 -1
- package/Libraries/ReactNative/AppRegistry.js +10 -13
- package/Libraries/ReactNative/FabricUIManager.js +24 -8
- package/Libraries/ReactNative/NativeUIManager.js +5 -5
- package/Libraries/ReactNative/ReactNativeFeatureFlags.js +10 -10
- package/Libraries/ReactNative/UIManager.js +168 -1
- package/Libraries/ReactNative/getCachedComponentWithDebugName.js +5 -5
- package/Libraries/ReactNative/getNativeComponentAttributes.js +1 -1
- package/Libraries/ReactNative/requireNativeComponent.d.ts +1 -1
- package/Libraries/ReactNative/requireNativeComponent.js +1 -1
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +1 -0
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +26 -3
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +13 -1
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +13 -1
- package/Libraries/Renderer/public/ReactFabricPublicInstanceUtils.js +38 -0
- package/Libraries/Renderer/shims/ReactNativeTypes.js +6 -6
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +7 -7
- package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
- package/Libraries/Share/Share.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
- package/Libraries/StyleSheet/StyleSheet.js +1 -1
- package/Libraries/StyleSheet/StyleSheet.win32.js +1 -1
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +115 -76
- package/Libraries/StyleSheet/StyleSheetTypes.js +188 -33
- package/Libraries/StyleSheet/flattenStyle.js +2 -0
- package/Libraries/StyleSheet/normalizeColor.js +1 -1
- package/Libraries/StyleSheet/processColor.js +1 -1
- package/Libraries/Text/Text.d.ts +12 -2
- package/Libraries/Text/Text.js +50 -41
- package/Libraries/Text/TextProps.js +3 -4
- package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +6 -0
- package/Libraries/Types/CodegenTypes.js +1 -0
- package/Libraries/UTFSequence.js +3 -1
- package/Libraries/Utilities/Appearance.d.ts +10 -0
- package/Libraries/Utilities/Appearance.js +13 -0
- package/Libraries/Utilities/Dimensions.js +1 -1
- package/Libraries/Utilities/Dimensions.win32.js +1 -1
- package/Libraries/Utilities/GlobalPerformanceLogger.js +12 -1
- package/Libraries/Utilities/HMRClient.js +16 -10
- package/Libraries/Utilities/{createPerformanceLogger.d.ts → IPerformanceLogger.d.ts} +4 -4
- package/Libraries/Utilities/IPerformanceLogger.js +49 -0
- package/Libraries/Utilities/LoadingView.android.js +28 -11
- package/Libraries/Utilities/NativeAppearance.js +1 -0
- package/Libraries/Utilities/NativePlatformConstantsWin.js +1 -1
- package/Libraries/Utilities/PixelRatio.js +2 -2
- package/Libraries/Utilities/Platform.win32.js +1 -1
- package/Libraries/Utilities/ReactNativeTestTools.js +1 -1
- package/Libraries/Utilities/__mocks__/PixelRatio.js +1 -1
- package/Libraries/Utilities/codegenNativeCommands.js +2 -0
- package/Libraries/Utilities/createPerformanceLogger.js +55 -43
- package/Libraries/Utilities/stringifySafe.js +2 -7
- package/Libraries/Utilities/useColorScheme.win32.js +26 -0
- package/Libraries/Utilities/useWindowDimensions.js +3 -3
- package/Libraries/WebPerformance/EventCounts.js +78 -0
- package/Libraries/WebPerformance/MemoryInfo.js +54 -0
- package/Libraries/WebPerformance/NativePerformance.js +38 -0
- package/Libraries/WebPerformance/NativePerformanceObserver.js +22 -7
- package/Libraries/WebPerformance/Performance.js +312 -0
- package/Libraries/WebPerformance/PerformanceEntry.js +45 -0
- package/Libraries/WebPerformance/PerformanceEventTiming.js +38 -0
- package/Libraries/WebPerformance/PerformanceObserver.js +196 -101
- package/Libraries/WebPerformance/RawPerformanceEntry.js +87 -0
- package/Libraries/WebPerformance/ReactNativeStartupTiming.js +65 -0
- package/Libraries/WebPerformance/__mocks__/NativePerformance.js +65 -0
- package/Libraries/WebPerformance/__mocks__/NativePerformanceObserver.js +101 -0
- package/Libraries/YellowBox/YellowBoxDeprecated.js +1 -1
- package/Libraries/vendor/core/ErrorUtils.js +1 -1
- package/Libraries/vendor/emitter/EventEmitter.d.ts +2 -2
- package/Libraries/vendor/emitter/EventEmitter.js +9 -1
- package/flow/global.js +29 -4
- package/flow/jest.js +258 -164
- package/flow/use-sync-external-store.js +1 -0
- package/index.js +56 -42
- package/index.win32.js +56 -42
- package/interface.js +1 -1
- package/jest/local-setup.js +33 -0
- package/jest/mockComponent.js +4 -2
- package/jest/mockNativeComponent.js +1 -1
- package/jest/mockScrollView.js +2 -1
- package/jest/react-native-env.js +1 -3
- package/jest/setup.js +11 -8
- package/overrides.json +122 -85
- package/package.json +40 -30
- package/rn-get-polyfills.js +1 -1
- package/src/Libraries/Components/TextInput/TextInput.Types.win32.ts +68 -0
- package/src/Libraries/Components/Touchable/TouchableWin32.tsx +3 -3
- package/src/Libraries/Components/View/ViewAccessibility.win32.d.ts +5 -5
- package/src/Libraries/Components/View/ViewPropTypes.win32.d.ts +1 -1
- package/types/index.d.ts +2 -6
- package/types/modules/Codegen.d.ts +4 -4
- package/types/modules/globals.d.ts +27 -25
- package/types/public/DeprecatedPropertiesAlias.d.ts +0 -20
- package/types/public/ReactNativeRenderer.d.ts +2 -7
- package/Libraries/Animated/createAnimatedComponentInjection.js +0 -48
- package/Libraries/Animated/createAnimatedComponent_EXPERIMENTAL.js +0 -48
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.flow.js +0 -208
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.flow.js +0 -58
- package/Libraries/Components/DatePicker/DatePickerIOS.android.js +0 -47
- package/Libraries/Components/DatePicker/DatePickerIOS.d.ts +0 -92
- package/Libraries/Components/DatePicker/DatePickerIOS.flow.android.js +0 -14
- package/Libraries/Components/DatePicker/DatePickerIOS.flow.ios.js +0 -113
- package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +0 -242
- package/Libraries/Components/DatePicker/DatePickerIOS.win32.js +0 -47
- package/Libraries/Components/DatePicker/RCTDatePickerNativeComponent.js +0 -60
- package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +0 -26
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.android.js +0 -45
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.d.ts +0 -62
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js +0 -75
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.win32.js +0 -45
- package/Libraries/Components/ProgressViewIOS/RCTProgressViewNativeComponent.js +0 -33
- package/Libraries/Components/SafeAreaView/SafeAreaView.flow.js +0 -19
- package/Libraries/Components/Slider/Slider.d.ts +0 -132
- package/Libraries/Components/Slider/Slider.js +0 -282
- package/Libraries/Components/Slider/SliderNativeComponent.js +0 -56
- package/Libraries/Components/TextInput/Win32TextInputNativeComponent.js +0 -23
- package/Libraries/Interaction/Batchinator.js +0 -76
- package/Libraries/Interaction/BridgeSpyStallHandler.js +0 -63
- package/Libraries/Interaction/InteractionStallDebugger.js +0 -23
- package/Libraries/Interaction/PanResponder.flow.js +0 -257
- package/Libraries/Lists/CellRenderMask.js +0 -155
- package/Libraries/Lists/ChildListCollection.js +0 -72
- package/Libraries/Lists/StateSafePureComponent.js +0 -85
- package/Libraries/Lists/VirtualizedList.d.ts +0 -347
- package/Libraries/Lists/VirtualizedListCellRenderer.js +0 -259
- package/Libraries/Lists/VirtualizedListProps.js +0 -279
- package/Libraries/Performance/PureComponentDebug.js +0 -74
- package/Libraries/Reliability/UserFlow.js +0 -158
- package/Libraries/Renderer/implementations/ReactNativeRenderer.d.ts +0 -149
- package/Libraries/Renderer/shims/ReactNativeTypes.d.ts +0 -141
- package/Libraries/Utilities/MatrixMath.js +0 -748
- package/Libraries/Utilities/buildStyleInterpolator.js +0 -209
- package/Libraries/Utilities/clamp.js +0 -23
- package/Libraries/Utilities/deprecatedPropType.js +0 -36
- package/Libraries/Utilities/groupByEveryN.js +0 -51
- package/Libraries/Utilities/mergeIntoFast.js +0 -26
- package/Libraries/Utilities/setAndForwardRef.js +0 -71
- package/Libraries/Utilities/truncate.js +0 -51
- package/flow/JSITimerInternalType.js +0 -30
|
@@ -10,244 +10,10 @@
|
|
|
10
10
|
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
|
-
import
|
|
13
|
+
import {typeof FillRateHelper as FillRateHelperType} from '@react-native/virtualized-lists';
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
class Info {
|
|
18
|
-
any_blank_count: number = 0;
|
|
19
|
-
any_blank_ms: number = 0;
|
|
20
|
-
any_blank_speed_sum: number = 0;
|
|
21
|
-
mostly_blank_count: number = 0;
|
|
22
|
-
mostly_blank_ms: number = 0;
|
|
23
|
-
pixels_blank: number = 0;
|
|
24
|
-
pixels_sampled: number = 0;
|
|
25
|
-
pixels_scrolled: number = 0;
|
|
26
|
-
total_time_spent: number = 0;
|
|
27
|
-
sample_count: number = 0;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
type FrameMetrics = {
|
|
31
|
-
inLayout?: boolean,
|
|
32
|
-
length: number,
|
|
33
|
-
offset: number,
|
|
34
|
-
...
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
const DEBUG = false;
|
|
38
|
-
|
|
39
|
-
let _listeners: Array<(Info) => void> = [];
|
|
40
|
-
let _minSampleCount = 10;
|
|
41
|
-
let _sampleRate = DEBUG ? 1 : null;
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* A helper class for detecting when the maximem fill rate of `VirtualizedList` is exceeded.
|
|
45
|
-
* By default the sampling rate is set to zero and this will do nothing. If you want to collect
|
|
46
|
-
* samples (e.g. to log them), make sure to call `FillRateHelper.setSampleRate(0.0-1.0)`.
|
|
47
|
-
*
|
|
48
|
-
* Listeners and sample rate are global for all `VirtualizedList`s - typical usage will combine with
|
|
49
|
-
* `SceneTracker.getActiveScene` to determine the context of the events.
|
|
50
|
-
*/
|
|
51
|
-
class FillRateHelper {
|
|
52
|
-
_anyBlankStartTime: ?number = null;
|
|
53
|
-
_enabled = false;
|
|
54
|
-
_getFrameMetrics: (index: number, props: FrameMetricProps) => ?FrameMetrics;
|
|
55
|
-
_info: Info = new Info();
|
|
56
|
-
_mostlyBlankStartTime: ?number = null;
|
|
57
|
-
_samplesStartTime: ?number = null;
|
|
58
|
-
|
|
59
|
-
static addListener(callback: FillRateInfo => void): {
|
|
60
|
-
remove: () => void,
|
|
61
|
-
...
|
|
62
|
-
} {
|
|
63
|
-
if (_sampleRate === null) {
|
|
64
|
-
console.warn('Call `FillRateHelper.setSampleRate` before `addListener`.');
|
|
65
|
-
}
|
|
66
|
-
_listeners.push(callback);
|
|
67
|
-
return {
|
|
68
|
-
remove: () => {
|
|
69
|
-
_listeners = _listeners.filter(listener => callback !== listener);
|
|
70
|
-
},
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
static setSampleRate(sampleRate: number) {
|
|
75
|
-
_sampleRate = sampleRate;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
static setMinSampleCount(minSampleCount: number) {
|
|
79
|
-
_minSampleCount = minSampleCount;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
constructor(
|
|
83
|
-
getFrameMetrics: (index: number, props: FrameMetricProps) => ?FrameMetrics,
|
|
84
|
-
) {
|
|
85
|
-
this._getFrameMetrics = getFrameMetrics;
|
|
86
|
-
this._enabled = (_sampleRate || 0) > Math.random();
|
|
87
|
-
this._resetData();
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
activate() {
|
|
91
|
-
if (this._enabled && this._samplesStartTime == null) {
|
|
92
|
-
DEBUG && console.debug('FillRateHelper: activate');
|
|
93
|
-
this._samplesStartTime = global.performance.now();
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
deactivateAndFlush() {
|
|
98
|
-
if (!this._enabled) {
|
|
99
|
-
return;
|
|
100
|
-
}
|
|
101
|
-
const start = this._samplesStartTime; // const for flow
|
|
102
|
-
if (start == null) {
|
|
103
|
-
DEBUG &&
|
|
104
|
-
console.debug('FillRateHelper: bail on deactivate with no start time');
|
|
105
|
-
return;
|
|
106
|
-
}
|
|
107
|
-
if (this._info.sample_count < _minSampleCount) {
|
|
108
|
-
// Don't bother with under-sampled events.
|
|
109
|
-
this._resetData();
|
|
110
|
-
return;
|
|
111
|
-
}
|
|
112
|
-
const total_time_spent = global.performance.now() - start;
|
|
113
|
-
const info: any = {
|
|
114
|
-
...this._info,
|
|
115
|
-
total_time_spent,
|
|
116
|
-
};
|
|
117
|
-
if (DEBUG) {
|
|
118
|
-
const derived = {
|
|
119
|
-
avg_blankness: this._info.pixels_blank / this._info.pixels_sampled,
|
|
120
|
-
avg_speed: this._info.pixels_scrolled / (total_time_spent / 1000),
|
|
121
|
-
avg_speed_when_any_blank:
|
|
122
|
-
this._info.any_blank_speed_sum / this._info.any_blank_count,
|
|
123
|
-
any_blank_per_min:
|
|
124
|
-
this._info.any_blank_count / (total_time_spent / 1000 / 60),
|
|
125
|
-
any_blank_time_frac: this._info.any_blank_ms / total_time_spent,
|
|
126
|
-
mostly_blank_per_min:
|
|
127
|
-
this._info.mostly_blank_count / (total_time_spent / 1000 / 60),
|
|
128
|
-
mostly_blank_time_frac: this._info.mostly_blank_ms / total_time_spent,
|
|
129
|
-
};
|
|
130
|
-
for (const key in derived) {
|
|
131
|
-
// $FlowFixMe[prop-missing]
|
|
132
|
-
derived[key] = Math.round(1000 * derived[key]) / 1000;
|
|
133
|
-
}
|
|
134
|
-
console.debug('FillRateHelper deactivateAndFlush: ', {derived, info});
|
|
135
|
-
}
|
|
136
|
-
_listeners.forEach(listener => listener(info));
|
|
137
|
-
this._resetData();
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
computeBlankness(
|
|
141
|
-
props: {
|
|
142
|
-
...FrameMetricProps,
|
|
143
|
-
initialNumToRender?: ?number,
|
|
144
|
-
...
|
|
145
|
-
},
|
|
146
|
-
cellsAroundViewport: {
|
|
147
|
-
first: number,
|
|
148
|
-
last: number,
|
|
149
|
-
...
|
|
150
|
-
},
|
|
151
|
-
scrollMetrics: {
|
|
152
|
-
dOffset: number,
|
|
153
|
-
offset: number,
|
|
154
|
-
velocity: number,
|
|
155
|
-
visibleLength: number,
|
|
156
|
-
...
|
|
157
|
-
},
|
|
158
|
-
): number {
|
|
159
|
-
if (
|
|
160
|
-
!this._enabled ||
|
|
161
|
-
props.getItemCount(props.data) === 0 ||
|
|
162
|
-
cellsAroundViewport.last < cellsAroundViewport.first ||
|
|
163
|
-
this._samplesStartTime == null
|
|
164
|
-
) {
|
|
165
|
-
return 0;
|
|
166
|
-
}
|
|
167
|
-
const {dOffset, offset, velocity, visibleLength} = scrollMetrics;
|
|
168
|
-
|
|
169
|
-
// Denominator metrics that we track for all events - most of the time there is no blankness and
|
|
170
|
-
// we want to capture that.
|
|
171
|
-
this._info.sample_count++;
|
|
172
|
-
this._info.pixels_sampled += Math.round(visibleLength);
|
|
173
|
-
this._info.pixels_scrolled += Math.round(Math.abs(dOffset));
|
|
174
|
-
const scrollSpeed = Math.round(Math.abs(velocity) * 1000); // px / sec
|
|
175
|
-
|
|
176
|
-
// Whether blank now or not, record the elapsed time blank if we were blank last time.
|
|
177
|
-
const now = global.performance.now();
|
|
178
|
-
if (this._anyBlankStartTime != null) {
|
|
179
|
-
this._info.any_blank_ms += now - this._anyBlankStartTime;
|
|
180
|
-
}
|
|
181
|
-
this._anyBlankStartTime = null;
|
|
182
|
-
if (this._mostlyBlankStartTime != null) {
|
|
183
|
-
this._info.mostly_blank_ms += now - this._mostlyBlankStartTime;
|
|
184
|
-
}
|
|
185
|
-
this._mostlyBlankStartTime = null;
|
|
186
|
-
|
|
187
|
-
let blankTop = 0;
|
|
188
|
-
let first = cellsAroundViewport.first;
|
|
189
|
-
let firstFrame = this._getFrameMetrics(first, props);
|
|
190
|
-
while (
|
|
191
|
-
first <= cellsAroundViewport.last &&
|
|
192
|
-
(!firstFrame || !firstFrame.inLayout)
|
|
193
|
-
) {
|
|
194
|
-
firstFrame = this._getFrameMetrics(first, props);
|
|
195
|
-
first++;
|
|
196
|
-
}
|
|
197
|
-
// Only count blankTop if we aren't rendering the first item, otherwise we will count the header
|
|
198
|
-
// as blank.
|
|
199
|
-
if (firstFrame && first > 0) {
|
|
200
|
-
blankTop = Math.min(
|
|
201
|
-
visibleLength,
|
|
202
|
-
Math.max(0, firstFrame.offset - offset),
|
|
203
|
-
);
|
|
204
|
-
}
|
|
205
|
-
let blankBottom = 0;
|
|
206
|
-
let last = cellsAroundViewport.last;
|
|
207
|
-
let lastFrame = this._getFrameMetrics(last, props);
|
|
208
|
-
while (
|
|
209
|
-
last >= cellsAroundViewport.first &&
|
|
210
|
-
(!lastFrame || !lastFrame.inLayout)
|
|
211
|
-
) {
|
|
212
|
-
lastFrame = this._getFrameMetrics(last, props);
|
|
213
|
-
last--;
|
|
214
|
-
}
|
|
215
|
-
// Only count blankBottom if we aren't rendering the last item, otherwise we will count the
|
|
216
|
-
// footer as blank.
|
|
217
|
-
if (lastFrame && last < props.getItemCount(props.data) - 1) {
|
|
218
|
-
const bottomEdge = lastFrame.offset + lastFrame.length;
|
|
219
|
-
blankBottom = Math.min(
|
|
220
|
-
visibleLength,
|
|
221
|
-
Math.max(0, offset + visibleLength - bottomEdge),
|
|
222
|
-
);
|
|
223
|
-
}
|
|
224
|
-
const pixels_blank = Math.round(blankTop + blankBottom);
|
|
225
|
-
const blankness = pixels_blank / visibleLength;
|
|
226
|
-
if (blankness > 0) {
|
|
227
|
-
this._anyBlankStartTime = now;
|
|
228
|
-
this._info.any_blank_speed_sum += scrollSpeed;
|
|
229
|
-
this._info.any_blank_count++;
|
|
230
|
-
this._info.pixels_blank += pixels_blank;
|
|
231
|
-
if (blankness > 0.5) {
|
|
232
|
-
this._mostlyBlankStartTime = now;
|
|
233
|
-
this._info.mostly_blank_count++;
|
|
234
|
-
}
|
|
235
|
-
} else if (scrollSpeed < 0.01 || Math.abs(dOffset) < 1) {
|
|
236
|
-
this.deactivateAndFlush();
|
|
237
|
-
}
|
|
238
|
-
return blankness;
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
enabled(): boolean {
|
|
242
|
-
return this._enabled;
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
_resetData() {
|
|
246
|
-
this._anyBlankStartTime = null;
|
|
247
|
-
this._info = new Info();
|
|
248
|
-
this._mostlyBlankStartTime = null;
|
|
249
|
-
this._samplesStartTime = null;
|
|
250
|
-
}
|
|
251
|
-
}
|
|
15
|
+
const FillRateHelper: FillRateHelperType =
|
|
16
|
+
require('@react-native/virtualized-lists').FillRateHelper;
|
|
252
17
|
|
|
18
|
+
export type {FillRateInfo} from '@react-native/virtualized-lists';
|
|
253
19
|
module.exports = FillRateHelper;
|
|
@@ -12,7 +12,7 @@ import type {
|
|
|
12
12
|
ListRenderItem,
|
|
13
13
|
ViewToken,
|
|
14
14
|
VirtualizedListProps,
|
|
15
|
-
} from '
|
|
15
|
+
} from '@react-native/virtualized-lists';
|
|
16
16
|
import type {ScrollViewComponent} from '../Components/ScrollView/ScrollView';
|
|
17
17
|
import type {StyleProp} from '../StyleSheet/StyleSheet';
|
|
18
18
|
import type {ViewStyle} from '../StyleSheet/StyleSheetTypes';
|
|
@@ -41,7 +41,7 @@ export interface FlatListProps<ItemT> extends VirtualizedListProps<ItemT> {
|
|
|
41
41
|
|
|
42
42
|
/**
|
|
43
43
|
* An array (or array-like list) of items to render. Other data types can be
|
|
44
|
-
* used by
|
|
44
|
+
* used by targeting VirtualizedList directly.
|
|
45
45
|
*/
|
|
46
46
|
data: ArrayLike<ItemT> | null | undefined;
|
|
47
47
|
|
|
@@ -50,7 +50,7 @@ export interface FlatListProps<ItemT> extends VirtualizedListProps<ItemT> {
|
|
|
50
50
|
* If any of your `renderItem`, Header, Footer, etc. functions depend on anything outside of the `data` prop,
|
|
51
51
|
* stick it here and treat it immutably.
|
|
52
52
|
*/
|
|
53
|
-
extraData?: any;
|
|
53
|
+
extraData?: any | undefined;
|
|
54
54
|
|
|
55
55
|
/**
|
|
56
56
|
* `getItemLayout` is an optional optimization that lets us skip measurement of dynamic
|
|
@@ -66,7 +66,7 @@ export interface FlatListProps<ItemT> extends VirtualizedListProps<ItemT> {
|
|
|
66
66
|
*/
|
|
67
67
|
getItemLayout?:
|
|
68
68
|
| ((
|
|
69
|
-
data:
|
|
69
|
+
data: ArrayLike<ItemT> | null | undefined,
|
|
70
70
|
index: number,
|
|
71
71
|
) => {length: number; offset: number; index: number})
|
|
72
72
|
| undefined;
|
|
@@ -104,19 +104,6 @@ export interface FlatListProps<ItemT> extends VirtualizedListProps<ItemT> {
|
|
|
104
104
|
*/
|
|
105
105
|
numColumns?: number | undefined;
|
|
106
106
|
|
|
107
|
-
/**
|
|
108
|
-
* Called once when the scroll position gets within onEndReachedThreshold of the rendered content.
|
|
109
|
-
*/
|
|
110
|
-
onEndReached?: ((info: {distanceFromEnd: number}) => void) | null | undefined;
|
|
111
|
-
|
|
112
|
-
/**
|
|
113
|
-
* How far from the end (in units of visible length of the list) the bottom edge of the
|
|
114
|
-
* list must be from the end of the content to trigger the `onEndReached` callback.
|
|
115
|
-
* Thus a value of 0.5 will trigger `onEndReached` when the end of the content is
|
|
116
|
-
* within half the visible length of the list.
|
|
117
|
-
*/
|
|
118
|
-
onEndReachedThreshold?: number | null | undefined;
|
|
119
|
-
|
|
120
107
|
/**
|
|
121
108
|
* If provided, a standard RefreshControl will be added for "Pull to Refresh" functionality.
|
|
122
109
|
* Make sure to also set the refreshing prop correctly.
|
|
@@ -145,7 +132,7 @@ export interface FlatListProps<ItemT> extends VirtualizedListProps<ItemT> {
|
|
|
145
132
|
* _renderItem = ({item}) => (
|
|
146
133
|
* <TouchableOpacity onPress={() => this._onPress(item)}>
|
|
147
134
|
* <Text>{item.title}</Text>
|
|
148
|
-
*
|
|
135
|
+
* </TouchableOpacity>
|
|
149
136
|
* );
|
|
150
137
|
* ...
|
|
151
138
|
* <FlatList data={[{title: 'Title Text', key: 'item1'}]} renderItem={this._renderItem} />
|
|
@@ -157,7 +144,7 @@ export interface FlatListProps<ItemT> extends VirtualizedListProps<ItemT> {
|
|
|
157
144
|
/**
|
|
158
145
|
* See `ViewabilityHelper` for flow type and further documentation.
|
|
159
146
|
*/
|
|
160
|
-
viewabilityConfig?: any;
|
|
147
|
+
viewabilityConfig?: any | undefined;
|
|
161
148
|
|
|
162
149
|
/**
|
|
163
150
|
* Note: may have bugs (missing content) in some circumstances - use at your own risk.
|
|
@@ -179,9 +166,10 @@ export interface FlatListProps<ItemT> extends VirtualizedListProps<ItemT> {
|
|
|
179
166
|
fadingEdgeLength?: number | undefined;
|
|
180
167
|
}
|
|
181
168
|
|
|
182
|
-
export class
|
|
183
|
-
|
|
184
|
-
|
|
169
|
+
export abstract class FlatListComponent<
|
|
170
|
+
ItemT,
|
|
171
|
+
Props,
|
|
172
|
+
> extends React.Component<Props> {
|
|
185
173
|
/**
|
|
186
174
|
* Scrolls to the end of the content. May be janky without `getItemLayout` prop.
|
|
187
175
|
*/
|
|
@@ -249,3 +237,8 @@ export class FlatList<ItemT = any> extends React.Component<
|
|
|
249
237
|
// TODO: use `unknown` instead of `any` for Typescript >= 3.0
|
|
250
238
|
setNativeProps: (props: {[key: string]: any}) => void;
|
|
251
239
|
}
|
|
240
|
+
|
|
241
|
+
export class FlatList<ItemT = any> extends FlatListComponent<
|
|
242
|
+
ItemT,
|
|
243
|
+
FlatListProps<ItemT>
|
|
244
|
+
> {}
|
|
@@ -11,14 +11,17 @@
|
|
|
11
11
|
import typeof ScrollViewNativeComponent from '../Components/ScrollView/ScrollViewNativeComponent';
|
|
12
12
|
import type {ViewStyleProp} from '../StyleSheet/StyleSheet';
|
|
13
13
|
import type {
|
|
14
|
+
RenderItemProps,
|
|
15
|
+
RenderItemType,
|
|
14
16
|
ViewabilityConfigCallbackPair,
|
|
15
17
|
ViewToken,
|
|
16
|
-
} from '
|
|
17
|
-
import type {RenderItemProps, RenderItemType} from './VirtualizedList';
|
|
18
|
+
} from '@react-native/virtualized-lists';
|
|
18
19
|
|
|
19
20
|
import {type ScrollResponderType} from '../Components/ScrollView/ScrollView';
|
|
20
|
-
import
|
|
21
|
-
|
|
21
|
+
import {
|
|
22
|
+
VirtualizedList,
|
|
23
|
+
keyExtractor as defaultKeyExtractor,
|
|
24
|
+
} from '@react-native/virtualized-lists';
|
|
22
25
|
import memoizeOne from 'memoize-one';
|
|
23
26
|
|
|
24
27
|
const View = require('../Components/View/View');
|
|
@@ -31,7 +34,7 @@ const React = require('react');
|
|
|
31
34
|
type RequiredProps<ItemT> = {|
|
|
32
35
|
/**
|
|
33
36
|
* An array (or array-like list) of items to render. Other data types can be
|
|
34
|
-
* used by
|
|
37
|
+
* used by targeting VirtualizedList directly.
|
|
35
38
|
*/
|
|
36
39
|
data: ?$ArrayLike<ItemT>,
|
|
37
40
|
|};
|
|
@@ -88,7 +91,7 @@ type OptionalProps<ItemT> = {|
|
|
|
88
91
|
* specify `ItemSeparatorComponent`.
|
|
89
92
|
*/
|
|
90
93
|
getItemLayout?: (
|
|
91
|
-
data:
|
|
94
|
+
data: ?$ArrayLike<ItemT>,
|
|
92
95
|
index: number,
|
|
93
96
|
) => {
|
|
94
97
|
length: number,
|
|
@@ -11,7 +11,7 @@ import type * as React from 'react';
|
|
|
11
11
|
import type {
|
|
12
12
|
ListRenderItemInfo,
|
|
13
13
|
VirtualizedListWithoutRenderItemProps,
|
|
14
|
-
} from '
|
|
14
|
+
} from '@react-native/virtualized-lists';
|
|
15
15
|
import type {
|
|
16
16
|
ScrollView,
|
|
17
17
|
ScrollViewProps,
|
|
@@ -75,7 +75,7 @@ export interface SectionListProps<ItemT, SectionT = DefaultSectionT>
|
|
|
75
75
|
* If any of your `renderItem`, Header, Footer, etc. functions depend on anything outside of the `data` prop,
|
|
76
76
|
* stick it here and treat it immutably.
|
|
77
77
|
*/
|
|
78
|
-
extraData?: any;
|
|
78
|
+
extraData?: any | undefined;
|
|
79
79
|
|
|
80
80
|
/**
|
|
81
81
|
* `getItemLayout` is an optional optimization that lets us skip measurement of dynamic
|
|
@@ -210,10 +210,9 @@ export interface SectionListScrollParams {
|
|
|
210
210
|
viewPosition?: number | undefined;
|
|
211
211
|
}
|
|
212
212
|
|
|
213
|
-
export class
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
> extends React.Component<SectionListProps<ItemT, SectionT>> {
|
|
213
|
+
export abstract class SectionListComponent<
|
|
214
|
+
Props,
|
|
215
|
+
> extends React.Component<Props> {
|
|
217
216
|
/**
|
|
218
217
|
* Scrolls to the item at the specified sectionIndex and itemIndex (within the section)
|
|
219
218
|
* positioned in the viewable area such that viewPosition 0 places it at the top
|
|
@@ -246,6 +245,11 @@ export class SectionList<
|
|
|
246
245
|
getScrollableNode(): NodeHandle | undefined;
|
|
247
246
|
}
|
|
248
247
|
|
|
248
|
+
export class SectionList<
|
|
249
|
+
ItemT = any,
|
|
250
|
+
SectionT = DefaultSectionT,
|
|
251
|
+
> extends SectionListComponent<SectionListProps<ItemT, SectionT>> {}
|
|
252
|
+
|
|
249
253
|
/* This definition is deprecated because it extends the wrong base type */
|
|
250
254
|
export interface SectionListStatic<ItemT, SectionT = DefaultSectionT>
|
|
251
255
|
extends React.ComponentClass<SectionListProps<ItemT, SectionT>> {
|
|
@@ -12,13 +12,13 @@
|
|
|
12
12
|
|
|
13
13
|
import type {ScrollResponderType} from '../Components/ScrollView/ScrollView';
|
|
14
14
|
import type {
|
|
15
|
-
Props as VirtualizedSectionListProps,
|
|
16
15
|
ScrollToLocationParamsType,
|
|
17
16
|
SectionBase as _SectionBase,
|
|
18
|
-
|
|
17
|
+
VirtualizedSectionListProps,
|
|
18
|
+
} from '@react-native/virtualized-lists';
|
|
19
19
|
|
|
20
20
|
import Platform from '../Utilities/Platform';
|
|
21
|
-
import VirtualizedSectionList from '
|
|
21
|
+
import {VirtualizedSectionList} from '@react-native/virtualized-lists';
|
|
22
22
|
import * as React from 'react';
|
|
23
23
|
|
|
24
24
|
type Item = any;
|
|
@@ -248,7 +248,9 @@ export default class SectionList<
|
|
|
248
248
|
{...restProps}
|
|
249
249
|
stickySectionHeadersEnabled={stickySectionHeadersEnabled}
|
|
250
250
|
ref={this._captureRef}
|
|
251
|
+
// $FlowFixMe[missing-local-annot]
|
|
251
252
|
getItemCount={items => items.length}
|
|
253
|
+
// $FlowFixMe[missing-local-annot]
|
|
252
254
|
getItem={(items, index) => items[index]}
|
|
253
255
|
/>
|
|
254
256
|
);
|
|
@@ -12,14 +12,14 @@
|
|
|
12
12
|
|
|
13
13
|
import type {ScrollResponderType} from '../Components/ScrollView/ScrollView';
|
|
14
14
|
import type {
|
|
15
|
-
Props as VirtualizedSectionListProps,
|
|
16
15
|
ScrollToLocationParamsType,
|
|
17
16
|
SectionBase as _SectionBase,
|
|
18
|
-
|
|
17
|
+
VirtualizedSectionListProps,
|
|
18
|
+
} from '@react-native/virtualized-lists';
|
|
19
19
|
import type {AbstractComponent, Element, ElementRef} from 'react';
|
|
20
20
|
|
|
21
21
|
import Platform from '../Utilities/Platform';
|
|
22
|
-
import VirtualizedSectionList from '
|
|
22
|
+
import {VirtualizedSectionList} from '@react-native/virtualized-lists';
|
|
23
23
|
import React, {forwardRef, useImperativeHandle, useRef} from 'react';
|
|
24
24
|
|
|
25
25
|
type Item = any;
|