react-native-tvos 0.69.8-2 → 0.71.7-0rc0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Libraries/ActionSheetIOS/ActionSheetIOS.d.ts +80 -0
- package/Libraries/ActionSheetIOS/ActionSheetIOS.js +4 -3
- package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +1 -0
- package/Libraries/Alert/Alert.d.ts +91 -0
- package/Libraries/Alert/Alert.js +25 -5
- package/Libraries/Alert/Alert.js.flow +49 -0
- package/Libraries/Alert/NativeAlertManager.js +3 -0
- package/Libraries/Alert/RCTAlertManager.ios.js +2 -1
- package/Libraries/Animated/Animated.d.ts +615 -0
- package/Libraries/Animated/Animated.js +13 -11
- package/Libraries/Animated/AnimatedEvent.js +19 -21
- package/Libraries/Animated/AnimatedImplementation.js +38 -26
- package/Libraries/Animated/AnimatedMock.js +15 -12
- package/Libraries/Animated/AnimatedWeb.js +2 -2
- package/Libraries/Animated/Easing.d.ts +37 -0
- package/Libraries/Animated/Easing.js +2 -2
- package/Libraries/Animated/NativeAnimatedHelper.js +247 -112
- package/Libraries/Animated/NativeAnimatedModule.js +4 -0
- package/Libraries/Animated/NativeAnimatedTurboModule.js +4 -0
- package/Libraries/Animated/SpringConfig.js +2 -7
- package/Libraries/Animated/animations/Animation.js +3 -4
- package/Libraries/Animated/animations/DecayAnimation.js +5 -8
- package/Libraries/Animated/animations/SpringAnimation.js +12 -17
- package/Libraries/Animated/animations/TimingAnimation.js +12 -16
- package/Libraries/Animated/bezier.js +2 -2
- package/Libraries/Animated/components/AnimatedFlatList.js +5 -6
- package/Libraries/Animated/components/AnimatedImage.js +5 -6
- package/Libraries/Animated/components/AnimatedScrollView.js +110 -14
- package/Libraries/Animated/components/AnimatedSectionList.js +4 -5
- package/Libraries/Animated/components/AnimatedText.js +5 -6
- package/Libraries/Animated/components/AnimatedView.js +5 -6
- package/Libraries/Animated/createAnimatedComponent.js +14 -14
- package/Libraries/Animated/createAnimatedComponent_EXPERIMENTAL.js +2 -2
- package/Libraries/Animated/nodes/AnimatedAddition.js +9 -9
- package/Libraries/Animated/nodes/AnimatedColor.js +56 -35
- package/Libraries/Animated/nodes/AnimatedDiffClamp.js +9 -9
- package/Libraries/Animated/nodes/AnimatedDivision.js +10 -10
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +28 -30
- package/Libraries/Animated/nodes/AnimatedModulo.js +9 -9
- package/Libraries/Animated/nodes/AnimatedMultiplication.js +10 -11
- package/Libraries/Animated/nodes/AnimatedNode.js +10 -8
- package/Libraries/Animated/nodes/AnimatedProps.js +15 -25
- package/Libraries/Animated/nodes/AnimatedStyle.js +14 -21
- package/Libraries/Animated/nodes/AnimatedSubtraction.js +10 -10
- package/Libraries/Animated/nodes/AnimatedTracking.js +8 -12
- package/Libraries/Animated/nodes/AnimatedTransform.js +39 -32
- package/Libraries/Animated/nodes/AnimatedValue.js +23 -15
- package/Libraries/Animated/nodes/AnimatedValueXY.js +31 -7
- package/Libraries/Animated/nodes/AnimatedWithChildren.js +4 -5
- package/Libraries/Animated/useAnimatedProps.js +9 -16
- package/Libraries/Animated/useAnimatedValue.d.ts +15 -0
- package/Libraries/Animated/useAnimatedValue.js +25 -0
- package/Libraries/AppDelegate/RCTAppDelegate.h +123 -0
- package/Libraries/AppDelegate/RCTAppDelegate.mm +171 -0
- package/Libraries/AppDelegate/React-RCTAppDelegate.podspec +73 -0
- package/Libraries/AppState/AppState.d.ts +58 -0
- package/Libraries/AppState/AppState.js +3 -39
- package/Libraries/AppState/NativeAppState.js +1 -0
- package/Libraries/BatchedBridge/MessageQueue.js +28 -18
- package/Libraries/BatchedBridge/NativeModules.d.ts +25 -0
- package/Libraries/BatchedBridge/NativeModules.js +4 -4
- package/Libraries/Blob/Blob.js +6 -0
- package/Libraries/Blob/BlobManager.js +5 -3
- package/Libraries/Blob/File.js +2 -3
- package/Libraries/Blob/FileReader.js +6 -11
- package/Libraries/Blob/NativeBlobModule.js +1 -0
- package/Libraries/Blob/NativeFileReaderModule.js +1 -0
- package/Libraries/Blob/RCTBlobCollector.h +0 -2
- package/Libraries/Blob/RCTBlobCollector.mm +27 -23
- package/Libraries/Blob/RCTBlobManager.h +1 -1
- package/Libraries/Blob/RCTBlobManager.mm +34 -28
- package/Libraries/Blob/RCTFileReaderModule.mm +24 -17
- package/Libraries/Blob/React-RCTBlob.podspec +5 -2
- package/Libraries/Blob/URL.js +11 -9
- package/Libraries/BugReporting/NativeBugReporting.js +1 -0
- package/Libraries/BugReporting/getReactData.js +1 -1
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +157 -0
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.flow.js +208 -0
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +40 -28
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +1 -0
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +5 -0
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.d.ts +86 -0
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.flow.js +58 -0
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +7 -8
- package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +2 -3
- package/Libraries/Components/Button.d.ts +42 -0
- package/Libraries/Components/Button.flow.js +265 -0
- package/Libraries/Components/Button.js +62 -18
- package/Libraries/Components/Clipboard/Clipboard.d.ts +28 -0
- package/Libraries/Components/Clipboard/NativeClipboard.js +1 -0
- package/Libraries/Components/DatePicker/DatePickerIOS.android.js +4 -2
- package/Libraries/Components/DatePicker/DatePickerIOS.d.ts +92 -0
- package/Libraries/Components/{MaskedView/MaskedViewIOS.android.js → DatePicker/DatePickerIOS.flow.android.js} +3 -2
- package/Libraries/Components/DatePicker/DatePickerIOS.flow.ios.js +113 -0
- package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +8 -7
- package/Libraries/Components/DatePicker/RCTDatePickerNativeComponent.js +6 -5
- package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +1 -0
- package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +5 -4
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +17 -14
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.d.ts +141 -0
- package/Libraries/Components/Keyboard/Keyboard.d.ts +109 -0
- package/Libraries/Components/Keyboard/Keyboard.js +35 -19
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.d.ts +46 -0
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +35 -15
- package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +1 -0
- package/Libraries/Components/Pressable/Pressable.d.ts +167 -0
- package/Libraries/Components/Pressable/Pressable.js +77 -25
- package/Libraries/Components/Pressable/useAndroidRippleForView.js +5 -4
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +3 -3
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.d.ts +83 -0
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +2 -2
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.android.js +1 -1
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.d.ts +62 -0
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js +4 -4
- package/Libraries/Components/ProgressViewIOS/RCTProgressViewNativeComponent.js +2 -2
- package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +5 -6
- package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +4 -4
- package/Libraries/Components/RefreshControl/RefreshControl.d.ts +87 -0
- package/Libraries/Components/RefreshControl/RefreshControl.js +4 -3
- package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +2 -3
- package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +2 -4
- package/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +24 -0
- package/Libraries/Components/SafeAreaView/SafeAreaView.flow.js +19 -0
- package/Libraries/Components/SafeAreaView/SafeAreaView.js +8 -34
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +2 -1
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +2 -1
- package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +2 -1
- package/Libraries/Components/ScrollView/ScrollView.d.ts +911 -0
- package/Libraries/Components/ScrollView/ScrollView.js +99 -62
- package/Libraries/Components/ScrollView/ScrollViewCommands.js +3 -3
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +2 -1
- package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +3 -3
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +243 -267
- package/Libraries/Components/Slider/Slider.d.ts +132 -0
- package/Libraries/Components/Slider/Slider.js +9 -10
- package/Libraries/Components/Slider/SliderNativeComponent.js +4 -5
- package/Libraries/Components/Sound/NativeSoundManager.js +1 -0
- package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +1 -0
- package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +1 -0
- package/Libraries/Components/StatusBar/StatusBar.d.ts +138 -0
- package/Libraries/Components/StatusBar/StatusBar.js +21 -18
- package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +8 -8
- package/Libraries/Components/Switch/Switch.d.ts +115 -0
- package/Libraries/Components/Switch/Switch.js +7 -14
- package/Libraries/Components/Switch/SwitchNativeComponent.js +9 -4
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +40 -12
- package/Libraries/Components/TextInput/InputAccessoryView.d.ts +34 -0
- package/Libraries/Components/TextInput/InputAccessoryView.js +17 -17
- package/Libraries/Components/TextInput/InputAccessoryView.js.flow +25 -0
- package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +1 -1
- package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +3 -2
- package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +3 -2
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +3 -1
- package/Libraries/Components/TextInput/TextInput.d.ts +855 -0
- package/Libraries/Components/TextInput/TextInput.flow.js +1057 -0
- package/Libraries/Components/TextInput/TextInput.js +361 -39
- package/Libraries/Components/TextInput/TextInputNativeCommands.js +2 -2
- package/Libraries/Components/TextInput/TextInputState.js +22 -5
- package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +1 -0
- package/Libraries/Components/ToastAndroid/ToastAndroid.d.ts +47 -0
- package/Libraries/Components/Touchable/PooledClass.js +16 -4
- package/Libraries/Components/Touchable/Touchable.d.ts +90 -0
- package/Libraries/Components/Touchable/Touchable.flow.js +258 -0
- package/Libraries/Components/Touchable/Touchable.js +62 -14
- package/Libraries/Components/Touchable/TouchableBounce.js +44 -10
- package/Libraries/Components/Touchable/TouchableHighlight.d.ts +68 -0
- package/Libraries/Components/Touchable/TouchableHighlight.js +32 -10
- package/Libraries/Components/Touchable/TouchableNativeFeedback.d.ts +114 -0
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +60 -22
- package/Libraries/Components/Touchable/TouchableOpacity.d.ts +109 -0
- package/Libraries/Components/Touchable/TouchableOpacity.js +55 -18
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +143 -0
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +67 -13
- package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +1 -1
- package/Libraries/Components/UnimplementedViews/UnimplementedView.js +1 -1
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +13 -9
- package/Libraries/Components/View/View.d.ts +29 -0
- package/Libraries/Components/View/View.js +92 -10
- package/Libraries/Components/View/ViewAccessibility.d.ts +373 -0
- package/Libraries/Components/View/ViewAccessibility.js +70 -1
- package/Libraries/Components/View/ViewNativeComponent.js +3 -3
- package/Libraries/Components/View/ViewPropTypes.d.ts +245 -0
- package/Libraries/Components/View/ViewPropTypes.js +107 -20
- package/Libraries/Core/Devtools/openFileInEditor.js +3 -0
- package/Libraries/Core/Devtools/parseErrorStack.js +1 -1
- package/Libraries/Core/Devtools/symbolicateStackTrace.js +2 -2
- package/Libraries/Core/ExceptionsManager.js +10 -0
- package/Libraries/Core/ExtendedError.js +11 -8
- package/Libraries/Core/InitializeCore.js +2 -1
- package/Libraries/Core/NativeExceptionsManager.js +3 -4
- package/Libraries/Core/RawEventEmitter.js +2 -1
- package/Libraries/Core/ReactFiberErrorDialog.js +2 -2
- package/Libraries/Core/ReactNativeVersion.js +3 -3
- package/Libraries/Core/ReactNativeVersionCheck.js +1 -0
- package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +1 -0
- package/Libraries/Core/Timers/JSTimers.js +15 -13
- package/Libraries/Core/Timers/NativeTiming.js +1 -0
- package/Libraries/Core/polyfillPromise.js +0 -32
- package/Libraries/Core/setUpBatchedBridge.js +6 -6
- package/Libraries/Core/setUpDeveloperTools.js +4 -6
- package/Libraries/Core/setUpPerformance.js +1 -1
- package/Libraries/Core/setUpReactDevTools.js +4 -1
- package/Libraries/Core/setUpRegeneratorRuntime.js +1 -1
- package/Libraries/Core/setUpTimers.js +1 -1
- package/Libraries/EventEmitter/NativeEventEmitter.d.ts +70 -0
- package/Libraries/EventEmitter/NativeEventEmitter.js +1 -13
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.d.ts +30 -0
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +2 -1
- package/Libraries/EventEmitter/RCTNativeAppEventEmitter.d.ts +32 -0
- package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +1 -0
- package/Libraries/Events/EventPolyfill.js +1 -1
- package/Libraries/FBLazyVector/BUCK +2 -1
- package/Libraries/FBLazyVector/FBLazyVector/FBLazyIterator.h +9 -12
- package/Libraries/FBLazyVector/FBLazyVector/FBLazyVector.h +9 -6
- package/Libraries/HeapCapture/NativeJSCHeapCapture.js +1 -0
- package/Libraries/Image/AssetSourceResolver.js +6 -8
- package/Libraries/Image/Image.android.js +68 -48
- package/Libraries/Image/Image.d.ts +322 -0
- package/Libraries/Image/Image.flow.js +64 -0
- package/Libraries/Image/Image.ios.js +61 -31
- package/Libraries/Image/ImageBackground.js +18 -7
- package/Libraries/Image/ImageBackground.js.flow +17 -0
- package/Libraries/Image/ImageInjection.js +2 -1
- package/Libraries/Image/ImageProps.js +88 -5
- package/Libraries/Image/ImageResizeMode.d.ts +49 -0
- package/Libraries/Image/ImageSource.d.ts +76 -0
- package/Libraries/Image/ImageSource.js +7 -7
- package/Libraries/Image/ImageSourceUtils.js +80 -0
- package/Libraries/Image/ImageUtils.js +21 -0
- package/Libraries/Image/ImageViewNativeComponent.js +8 -5
- package/Libraries/Image/ImageViewNativeComponent.js.flow +45 -0
- package/Libraries/Image/NativeImageEditor.js +1 -0
- package/Libraries/Image/NativeImageLoaderAndroid.js +1 -0
- package/Libraries/Image/NativeImageLoaderIOS.js +1 -0
- package/Libraries/Image/NativeImageStoreAndroid.js +1 -0
- package/Libraries/Image/NativeImageStoreIOS.js +1 -0
- package/Libraries/Image/RCTAnimatedImage.m +5 -2
- package/Libraries/Image/RCTDisplayWeakRefreshable.h +1 -0
- package/Libraries/Image/RCTDisplayWeakRefreshable.m +4 -2
- package/Libraries/Image/RCTGIFImageDecoder.mm +7 -4
- package/Libraries/Image/RCTImageBlurUtils.m +22 -17
- package/Libraries/Image/RCTImageCache.h +7 -7
- package/Libraries/Image/RCTImageCache.m +16 -21
- package/Libraries/Image/RCTImageDataDecoder.h +1 -1
- package/Libraries/Image/RCTImageEditingManager.mm +53 -44
- package/Libraries/Image/RCTImageLoader.h +7 -7
- package/Libraries/Image/RCTImageLoader.mm +417 -367
- package/Libraries/Image/RCTImageLoaderProtocol.h +14 -17
- package/Libraries/Image/RCTImageLoaderWithAttributionProtocol.h +2 -2
- package/Libraries/Image/RCTImageStoreManager.mm +30 -25
- package/Libraries/Image/RCTImageURLLoader.h +11 -8
- package/Libraries/Image/RCTImageURLLoaderWithAttribution.h +6 -4
- package/Libraries/Image/RCTImageURLLoaderWithAttribution.mm +3 -1
- package/Libraries/Image/RCTImageUtils.h +19 -18
- package/Libraries/Image/RCTImageUtils.m +61 -67
- package/Libraries/Image/RCTImageView.h +2 -2
- package/Libraries/Image/RCTImageView.mm +50 -43
- package/Libraries/Image/RCTImageViewManager.mm +45 -41
- package/Libraries/Image/RCTLocalAssetImageLoader.mm +12 -10
- package/Libraries/Image/RCTResizeMode.h +1 -1
- package/Libraries/Image/RCTResizeMode.m +12 -8
- package/Libraries/Image/RCTUIImageViewAnimated.m +21 -13
- package/Libraries/Image/React-RCTImage.podspec +1 -1
- package/Libraries/Image/TextInlineImageNativeComponent.js +4 -3
- package/Libraries/Image/TextInlineImageNativeComponent.js.flow +27 -0
- package/Libraries/Image/nativeImageSource.js +2 -2
- package/Libraries/Image/resolveAssetSource.js +5 -5
- package/Libraries/Inspector/BorderBox.js +1 -1
- package/Libraries/Inspector/BoxInspector.js +3 -4
- package/Libraries/Inspector/DevtoolsOverlay.js +213 -0
- package/Libraries/Inspector/ElementBox.js +6 -7
- package/Libraries/Inspector/ElementProperties.js +10 -11
- package/Libraries/Inspector/Inspector.js +22 -108
- package/Libraries/Inspector/InspectorOverlay.js +5 -5
- package/Libraries/Inspector/InspectorPanel.js +12 -10
- package/Libraries/Inspector/NetworkOverlay.js +19 -10
- package/Libraries/Inspector/PerformanceOverlay.js +3 -3
- package/Libraries/Inspector/StyleInspector.js +2 -2
- package/Libraries/Inspector/getInspectorDataForViewAtPoint.js +71 -0
- package/Libraries/Interaction/BridgeSpyStallHandler.js +1 -1
- package/Libraries/Interaction/InteractionManager.d.ts +74 -0
- package/Libraries/Interaction/InteractionManager.js +8 -8
- package/Libraries/Interaction/NativeFrameRateLogger.js +1 -0
- package/Libraries/Interaction/PanResponder.d.ts +202 -0
- package/Libraries/Interaction/PanResponder.flow.js +257 -0
- package/Libraries/Interaction/PanResponder.js +20 -17
- package/Libraries/JSInspector/JSInspector.js +0 -3
- package/Libraries/JSInspector/NetworkAgent.js +3 -3
- package/Libraries/LayoutAnimation/LayoutAnimation.d.ts +84 -0
- package/Libraries/LayoutAnimation/LayoutAnimation.js +4 -3
- package/Libraries/Linking/Linking.d.ts +61 -0
- package/Libraries/Linking/Linking.js +3 -13
- package/Libraries/Linking/NativeIntentAndroid.js +1 -0
- package/Libraries/Linking/NativeLinkingManager.js +1 -0
- package/Libraries/LinkingIOS/RCTLinkingManager.h +5 -5
- package/Libraries/LinkingIOS/RCTLinkingManager.mm +75 -63
- package/Libraries/LinkingIOS/React-RCTLinking.podspec +1 -1
- package/Libraries/Lists/CellRenderMask.js +13 -3
- package/Libraries/Lists/ChildListCollection.js +72 -0
- package/Libraries/Lists/FillRateHelper.js +28 -17
- package/Libraries/Lists/FlatList.d.ts +251 -0
- package/Libraries/Lists/FlatList.js +90 -75
- package/Libraries/Lists/FlatList.js.flow +115 -0
- package/Libraries/Lists/SectionList.d.ts +258 -0
- package/Libraries/Lists/SectionList.js +7 -5
- package/Libraries/Lists/SectionListModern.js +6 -6
- package/Libraries/Lists/StateSafePureComponent.js +85 -0
- package/Libraries/Lists/ViewabilityHelper.js +39 -14
- package/Libraries/Lists/VirtualizeUtils.js +48 -31
- package/Libraries/Lists/VirtualizedList.d.ts +347 -0
- package/Libraries/Lists/VirtualizedList.js +605 -900
- package/Libraries/Lists/VirtualizedListCellRenderer.js +259 -0
- package/Libraries/Lists/VirtualizedListContext.js +8 -48
- package/Libraries/Lists/VirtualizedListProps.js +279 -0
- package/Libraries/Lists/VirtualizedSectionList.js +18 -11
- package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +1 -1
- package/Libraries/LogBox/Data/LogBoxData.js +10 -9
- package/Libraries/LogBox/Data/LogBoxLog.js +5 -5
- package/Libraries/LogBox/Data/LogBoxSymbolication.js +4 -4
- package/Libraries/LogBox/Data/parseLogBoxLog.js +6 -4
- package/Libraries/LogBox/LogBox.d.ts +28 -0
- package/Libraries/LogBox/LogBox.js +14 -12
- package/Libraries/LogBox/LogBoxInspectorContainer.js +3 -2
- package/Libraries/LogBox/LogBoxNotificationContainer.js +2 -2
- package/Libraries/LogBox/UI/AnsiHighlight.js +7 -5
- package/Libraries/LogBox/UI/LogBoxButton.js +7 -6
- package/Libraries/LogBox/UI/LogBoxInspector.js +6 -6
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +12 -8
- package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +3 -3
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +7 -6
- package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +6 -5
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +7 -6
- package/Libraries/LogBox/UI/LogBoxInspectorSection.js +2 -2
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +3 -6
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +5 -5
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +12 -7
- package/Libraries/LogBox/UI/LogBoxMessage.js +3 -3
- package/Libraries/LogBox/UI/LogBoxNotification.js +6 -5
- package/Libraries/Modal/Modal.d.ts +104 -0
- package/Libraries/Modal/Modal.js +14 -14
- package/Libraries/Modal/NativeModalManager.js +1 -0
- package/Libraries/Modal/RCTModalHostViewNativeComponent.js +3 -3
- package/Libraries/NativeAnimation/Drivers/RCTDecayAnimation.h +1 -1
- package/Libraries/NativeAnimation/Drivers/RCTDecayAnimation.m +6 -9
- package/Libraries/NativeAnimation/Drivers/RCTEventAnimation.h +1 -2
- package/Libraries/NativeAnimation/Drivers/RCTEventAnimation.m +2 -4
- package/Libraries/NativeAnimation/Drivers/RCTFrameAnimation.h +1 -1
- package/Libraries/NativeAnimation/Drivers/RCTFrameAnimation.m +14 -21
- package/Libraries/NativeAnimation/Drivers/RCTSpringAnimation.h +1 -1
- package/Libraries/NativeAnimation/Drivers/RCTSpringAnimation.m +8 -22
- package/Libraries/NativeAnimation/Nodes/RCTAdditionAnimatedNode.m +1 -2
- package/Libraries/NativeAnimation/Nodes/RCTAnimatedNode.h +2 -3
- package/Libraries/NativeAnimation/Nodes/RCTAnimatedNode.m +3 -5
- package/Libraries/NativeAnimation/Nodes/RCTColorAnimatedNode.m +2 -4
- package/Libraries/NativeAnimation/Nodes/RCTDiffClampAnimatedNode.m +7 -4
- package/Libraries/NativeAnimation/Nodes/RCTDivisionAnimatedNode.m +1 -2
- package/Libraries/NativeAnimation/Nodes/RCTInterpolationAnimatedNode.m +14 -20
- package/Libraries/NativeAnimation/Nodes/RCTMultiplicationAnimatedNode.m +1 -2
- package/Libraries/NativeAnimation/Nodes/RCTPropsAnimatedNode.m +13 -16
- package/Libraries/NativeAnimation/Nodes/RCTStyleAnimatedNode.m +5 -7
- package/Libraries/NativeAnimation/Nodes/RCTSubtractionAnimatedNode.h +0 -1
- package/Libraries/NativeAnimation/Nodes/RCTSubtractionAnimatedNode.m +1 -3
- package/Libraries/NativeAnimation/Nodes/RCTTrackingAnimatedNode.h +0 -1
- package/Libraries/NativeAnimation/Nodes/RCTTrackingAnimatedNode.m +3 -8
- package/Libraries/NativeAnimation/Nodes/RCTTransformAnimatedNode.m +4 -6
- package/Libraries/NativeAnimation/Nodes/RCTValueAnimatedNode.m +1 -2
- package/Libraries/NativeAnimation/RCTAnimationUtils.h +14 -12
- package/Libraries/NativeAnimation/RCTAnimationUtils.m +15 -19
- package/Libraries/NativeAnimation/RCTNativeAnimatedModule.h +6 -1
- package/Libraries/NativeAnimation/RCTNativeAnimatedModule.mm +82 -69
- package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.h +11 -20
- package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.m +55 -64
- package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.h +5 -1
- package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +68 -55
- package/Libraries/NativeAnimation/React-RCTAnimation.podspec +1 -1
- package/Libraries/NativeComponent/BaseViewConfig.android.js +36 -20
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +34 -15
- package/Libraries/NativeComponent/NativeComponentRegistry.js +5 -4
- package/Libraries/NativeComponent/PlatformBaseViewConfig.js +1 -0
- package/Libraries/NativeComponent/StaticViewConfigValidator.js +1 -1
- package/Libraries/NativeComponent/ViewConfig.js +1 -0
- package/Libraries/NativeModules/specs/NativeAnimationsDebugModule.js +1 -0
- package/Libraries/NativeModules/specs/NativeDevMenu.js +1 -0
- package/Libraries/NativeModules/specs/NativeDevSettings.js +1 -0
- package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +1 -0
- package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +1 -0
- package/Libraries/NativeModules/specs/NativeLogBox.js +1 -0
- package/Libraries/NativeModules/specs/NativeRedBox.js +1 -0
- package/Libraries/NativeModules/specs/NativeSourceCode.js +1 -0
- package/Libraries/Network/NativeNetworkingAndroid.js +1 -0
- package/Libraries/Network/NativeNetworkingIOS.js +1 -0
- package/Libraries/Network/RCTDataRequestHandler.mm +8 -11
- package/Libraries/Network/RCTFileRequestHandler.mm +10 -16
- package/Libraries/Network/RCTHTTPRequestHandler.h +4 -3
- package/Libraries/Network/RCTHTTPRequestHandler.mm +19 -23
- package/Libraries/Network/RCTNetworkTask.mm +2 -3
- package/Libraries/Network/RCTNetworking.android.js +4 -3
- package/Libraries/Network/RCTNetworking.ios.js +3 -2
- package/Libraries/Network/RCTNetworking.mm +189 -168
- package/Libraries/Network/React-RCTNetwork.podspec +1 -1
- package/Libraries/Network/XMLHttpRequest.js +9 -11
- package/Libraries/Network/convertRequestBody.js +1 -2
- package/Libraries/NewAppScreen/components/DebugInstructions.js +4 -1
- package/Libraries/NewAppScreen/components/Header.js +6 -2
- package/Libraries/NewAppScreen/components/HermesBadge.js +8 -9
- package/Libraries/NewAppScreen/components/LearnMoreLinks.js +8 -9
- package/Libraries/NewAppScreen/components/ReloadInstructions.js +4 -1
- package/Libraries/NewAppScreen/index.js +1 -1
- package/Libraries/Performance/NativeJSCSamplingProfiler.js +1 -0
- package/Libraries/Performance/PureComponentDebug.js +1 -0
- package/Libraries/Performance/QuickPerformanceLogger.js +34 -10
- package/Libraries/Performance/Systrace.d.ts +66 -0
- package/Libraries/Performance/Systrace.js +110 -195
- package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +10 -1
- package/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +115 -0
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +23 -4
- package/Libraries/Pressability/Pressability.js +38 -26
- package/Libraries/Pressability/PressabilityDebug.js +2 -2
- package/Libraries/Promise.js +0 -1
- package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +1 -0
- package/Libraries/PushNotificationIOS/PushNotificationIOS.d.ts +295 -0
- package/Libraries/PushNotificationIOS/PushNotificationIOS.js +19 -14
- package/Libraries/PushNotificationIOS/RCTPushNotificationManager.h +2 -1
- package/Libraries/PushNotificationIOS/RCTPushNotificationManager.mm +142 -103
- package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +1 -1
- package/Libraries/RCTRequired/BUCK +2 -1
- package/Libraries/RCTRequired/RCTRequired/RCTRequired.h +31 -18
- package/Libraries/ReactNative/AppContainer.js +17 -7
- package/Libraries/ReactNative/AppRegistry.d.ts +119 -0
- package/Libraries/ReactNative/AppRegistry.js +30 -28
- package/Libraries/ReactNative/BridgelessUIManager.js +5 -2
- package/Libraries/ReactNative/FabricUIManager.js +3 -3
- package/Libraries/ReactNative/I18nManager.d.ts +25 -0
- package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +1 -0
- package/Libraries/ReactNative/NativeI18nManager.js +1 -0
- package/Libraries/ReactNative/NativeUIManager.js +1 -0
- package/Libraries/ReactNative/PaperUIManager.js +10 -10
- package/Libraries/ReactNative/ReactNativeFeatureFlags.js +21 -0
- package/Libraries/ReactNative/ReactNativeRuntimeDiagnostics.js +68 -0
- package/Libraries/ReactNative/RendererImplementation.js +112 -0
- package/Libraries/ReactNative/RendererProxy.d.ts +20 -0
- package/Libraries/ReactNative/RendererProxy.js +26 -0
- package/Libraries/ReactNative/RootTag.d.ts +13 -0
- package/Libraries/ReactNative/RootTag.js +0 -1
- package/Libraries/ReactNative/UIManager.d.ts +157 -0
- package/Libraries/ReactNative/UIManager.js +1 -1
- package/Libraries/ReactNative/getCachedComponentWithDebugName.js +1 -0
- package/Libraries/ReactNative/getNativeComponentAttributes.js +6 -7
- package/Libraries/ReactNative/renderApplication.js +39 -21
- package/Libraries/ReactNative/requireNativeComponent.d.ts +23 -0
- package/Libraries/ReactNative/requireNativeComponent.js +2 -2
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +10 -9
- package/Libraries/Renderer/README.md +22 -0
- package/Libraries/Renderer/REVISION +1 -1
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +4765 -3842
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +1632 -1271
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +1754 -1381
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +4726 -3782
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +1706 -1342
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +1720 -1343
- package/Libraries/Renderer/implementations/ReactNativeRenderer.d.ts +149 -0
- 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.d.ts +141 -0
- package/Libraries/Renderer/shims/ReactNativeTypes.js +23 -22
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +8 -8
- package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
- package/Libraries/Settings/NativeSettingsManager.js +1 -0
- package/Libraries/Settings/RCTSettingsManager.mm +10 -12
- package/Libraries/Settings/React-RCTSettings.podspec +1 -1
- package/Libraries/Settings/Settings.d.ts +18 -0
- package/Libraries/Share/NativeShareModule.js +1 -0
- package/Libraries/Share/Share.d.ts +80 -0
- package/Libraries/Share/Share.js +7 -5
- package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypes.d.ts +18 -0
- package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +9 -1
- package/Libraries/StyleSheet/PlatformColorValueTypesIOS.d.ts +25 -0
- package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +1 -0
- package/Libraries/StyleSheet/StyleSheet.d.ts +160 -0
- package/Libraries/StyleSheet/StyleSheet.js +15 -11
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +331 -0
- package/Libraries/StyleSheet/StyleSheetTypes.js +101 -24
- package/Libraries/StyleSheet/__flowtests__/StyleSheet-flowtest.js +2 -2
- package/Libraries/StyleSheet/flattenStyle.js +1 -1
- package/Libraries/StyleSheet/normalizeColor.js +3 -3
- package/Libraries/StyleSheet/private/_TransformStyle.js +26 -24
- package/Libraries/StyleSheet/processAspectRatio.js +63 -0
- package/Libraries/StyleSheet/processColor.d.ts +16 -0
- package/Libraries/StyleSheet/processColor.js +3 -4
- package/Libraries/StyleSheet/processColorArray.js +1 -0
- package/Libraries/StyleSheet/processFontVariant.js +30 -0
- package/Libraries/StyleSheet/processTransform.js +114 -103
- package/Libraries/StyleSheet/splitLayoutProps.js +7 -0
- package/Libraries/SurfaceBackedComponent/RCTSurfaceBackedComponent.mm +9 -12
- package/Libraries/SurfaceBackedComponent/RCTSurfaceBackedComponentState.h +1 -1
- package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponent.mm +9 -14
- package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponentController.mm +16 -12
- package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponentOptions.h +1 -1
- package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponentState.h +2 -3
- package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponentState.mm +3 -8
- package/Libraries/Text/BaseText/RCTBaseTextShadowView.h +4 -2
- package/Libraries/Text/BaseText/RCTBaseTextShadowView.m +13 -12
- package/Libraries/Text/BaseText/RCTBaseTextViewManager.m +2 -0
- package/Libraries/Text/RCTConvert+Text.m +16 -14
- package/Libraries/Text/RCTTextAttributes.h +3 -0
- package/Libraries/Text/RCTTextAttributes.m +75 -54
- package/Libraries/Text/RawText/RCTRawTextShadowView.m +2 -1
- package/Libraries/Text/Text/NSTextStorage+FontScaling.m +22 -42
- package/Libraries/Text/Text/RCTDynamicTypeRamp.h +37 -0
- package/Libraries/Text/Text/RCTDynamicTypeRamp.m +86 -0
- package/Libraries/Text/Text/RCTTextShadowView.m +152 -175
- package/Libraries/Text/Text/RCTTextView.m +38 -40
- package/Libraries/Text/Text/RCTTextViewManager.m +7 -8
- package/Libraries/Text/Text.d.ts +209 -0
- package/Libraries/Text/Text.js +105 -19
- package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputView.m +10 -23
- package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputViewManager.m +1 -1
- package/Libraries/Text/TextInput/Multiline/RCTUITextView.h +1 -1
- package/Libraries/Text/TextInput/Multiline/RCTUITextView.m +18 -12
- package/Libraries/Text/TextInput/RCTBackedTextInputDelegate.h +10 -6
- package/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.h +1 -1
- package/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.m +33 -14
- package/Libraries/Text/TextInput/RCTBackedTextInputViewProtocol.h +1 -2
- package/Libraries/Text/TextInput/RCTBaseTextInputShadowView.m +37 -47
- package/Libraries/Text/TextInput/RCTBaseTextInputView.h +2 -3
- package/Libraries/Text/TextInput/RCTBaseTextInputView.m +177 -155
- package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.m +19 -17
- package/Libraries/Text/TextInput/RCTInputAccessoryShadowView.m +1 -1
- package/Libraries/Text/TextInput/RCTInputAccessoryView.m +2 -3
- package/Libraries/Text/TextInput/RCTInputAccessoryViewContent.m +1 -2
- package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputView.m +3 -4
- package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputViewManager.m +1 -2
- package/Libraries/Text/TextInput/Singleline/RCTUITextField.h +1 -1
- package/Libraries/Text/TextInput/Singleline/RCTUITextField.m +7 -5
- package/Libraries/Text/TextNativeComponent.js +49 -41
- package/Libraries/Text/TextProps.js +64 -7
- package/{React/Views/RCTMaskedViewManager.h → Libraries/TurboModule/RCTExport.d.ts} +6 -6
- package/Libraries/TurboModule/TurboModuleRegistry.d.ts +13 -0
- package/Libraries/TurboModule/TurboModuleRegistry.js +3 -1
- package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +1 -0
- package/Libraries/TypeSafety/RCTConvertHelpers.h +22 -12
- package/Libraries/TypeSafety/RCTConvertHelpers.mm +2 -2
- package/Libraries/TypeSafety/RCTTypedModuleConstants.h +7 -5
- package/Libraries/TypeSafety/RCTTypedModuleConstants.mm +6 -4
- package/Libraries/Types/CoreEventTypes.d.ts +263 -0
- package/Libraries/Types/CoreEventTypes.js +139 -12
- package/Libraries/Utilities/AcessibilityMapping.js +154 -0
- package/Libraries/Utilities/Appearance.d.ts +43 -0
- package/Libraries/Utilities/Appearance.js +3 -3
- package/Libraries/Utilities/BackHandler.android.js +3 -5
- package/Libraries/Utilities/BackHandler.d.ts +38 -0
- package/Libraries/Utilities/DevSettings.d.ts +32 -0
- package/Libraries/Utilities/DevSettings.js +4 -2
- package/Libraries/Utilities/Dimensions.d.ts +79 -0
- package/Libraries/Utilities/Dimensions.js +2 -15
- package/Libraries/Utilities/GlobalPerformanceLogger.js +2 -1
- package/Libraries/Utilities/HMRClient.js +26 -11
- package/Libraries/Utilities/LoadingView.ios.js +1 -1
- package/Libraries/Utilities/NativeAppearance.js +1 -0
- package/Libraries/Utilities/NativeDevLoadingView.js +1 -0
- package/Libraries/Utilities/NativeDevSplitBundleLoader.js +1 -0
- package/Libraries/Utilities/NativeDeviceInfo.js +1 -0
- package/Libraries/Utilities/NativePlatformConstantsAndroid.js +1 -0
- package/Libraries/Utilities/NativePlatformConstantsIOS.js +1 -0
- package/Libraries/Utilities/PerformanceLoggerContext.js +3 -2
- package/Libraries/Utilities/PixelRatio.d.ts +64 -0
- package/Libraries/Utilities/PixelRatio.js.flow +21 -0
- package/Libraries/Utilities/Platform.android.js +11 -5
- package/Libraries/Utilities/Platform.d.ts +102 -0
- package/Libraries/Utilities/Platform.ios.js +12 -12
- package/Libraries/Utilities/PolyfillFunctions.js +1 -1
- package/Libraries/Utilities/ReactNativeTestTools.js +12 -14
- package/Libraries/Utilities/codegenNativeCommands.js +2 -2
- package/Libraries/Utilities/codegenNativeComponent.js +4 -1
- package/Libraries/Utilities/createPerformanceLogger.d.ts +48 -0
- package/Libraries/Utilities/createPerformanceLogger.js +7 -8
- package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +2 -0
- package/Libraries/Utilities/differ/deepDiffer.js +1 -1
- package/Libraries/Utilities/groupByEveryN.js +1 -1
- package/Libraries/Utilities/stringifySafe.js +6 -2
- package/Libraries/Utilities/truncate.js +1 -1
- package/Libraries/Utilities/useColorScheme.js +3 -2
- package/Libraries/Utilities/useRefEffect.js +1 -1
- package/Libraries/Utilities/verifyComponentAttributeEquivalence.js +2 -2
- package/Libraries/Vibration/NativeVibration.js +1 -0
- package/Libraries/Vibration/RCTVibration.mm +5 -5
- package/Libraries/Vibration/React-RCTVibration.podspec +1 -1
- package/Libraries/Vibration/Vibration.d.ts +43 -0
- package/Libraries/Vibration/Vibration.js +2 -1
- package/Libraries/WebPerformance/NativePerformanceObserver.cpp +42 -0
- package/Libraries/WebPerformance/NativePerformanceObserver.h +64 -0
- package/Libraries/WebPerformance/NativePerformanceObserver.js +41 -0
- package/Libraries/WebPerformance/PerformanceObserver.js +223 -0
- package/Libraries/WebSocket/NativeWebSocketModule.js +1 -0
- package/Libraries/WebSocket/RCTReconnectingWebSocket.m +5 -2
- package/Libraries/WebSocket/RCTSRWebSocket.h +20 -16
- package/Libraries/WebSocket/RCTSRWebSocket.m +293 -187
- package/Libraries/WebSocket/WebSocket.js +12 -3
- package/Libraries/WebSocket/WebSocketInterceptor.js +1 -1
- package/Libraries/Wrapper/Example/RCTWrapperExampleView.m +5 -12
- package/Libraries/Wrapper/Example/RCTWrapperExampleViewController.m +2 -1
- package/Libraries/Wrapper/Example/RCTWrapperReactRootViewController.m +4 -5
- package/Libraries/Wrapper/Example/RCTWrapperReactRootViewManager.m +2 -3
- package/Libraries/Wrapper/RCTWrapper.h +50 -48
- package/Libraries/Wrapper/RCTWrapperShadowView.m +9 -8
- package/Libraries/Wrapper/RCTWrapperView.m +1 -4
- package/Libraries/Wrapper/RCTWrapperViewControllerHostingView.m +1 -2
- package/Libraries/YellowBox/YellowBoxDeprecated.d.ts +19 -0
- package/Libraries/YellowBox/YellowBoxDeprecated.js +2 -3
- package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +2 -1
- package/Libraries/vendor/core/ErrorUtils.d.ts +15 -0
- package/Libraries/vendor/emitter/EventEmitter.d.ts +164 -0
- package/Libraries/vendor/emitter/EventEmitter.js +105 -12
- package/Libraries/vendor/emitter/__flowtests__/EventEmitter-flowtest.js +73 -117
- package/React/AppSetup/RCTAppSetupUtils.h +6 -2
- package/React/AppSetup/RCTAppSetupUtils.mm +10 -8
- package/React/Base/RCTAssert.h +16 -10
- package/React/Base/RCTAssert.m +46 -31
- package/React/Base/RCTBridge.h +3 -107
- package/React/Base/RCTBridge.m +0 -18
- package/React/Base/RCTBridgeConstants.h +71 -0
- package/React/Base/RCTBridgeConstants.m +18 -0
- package/React/Base/RCTBridgeModule.h +4 -47
- package/React/Base/RCTBundleManager.h +23 -0
- package/React/Base/RCTBundleManager.m +1 -1
- package/React/Base/RCTConstants.h +55 -7
- package/React/Base/RCTConstants.m +30 -19
- package/React/Base/RCTConvert.h +3 -0
- package/React/Base/RCTConvert.m +29 -1
- package/React/Base/RCTDefines.h +2 -2
- package/React/Base/RCTEventDispatcherProtocol.h +5 -0
- package/React/Base/RCTKeyCommands.m +1 -1
- package/React/Base/RCTModuleData.mm +1 -0
- package/React/Base/RCTModuleMethod.mm +1 -1
- package/React/Base/RCTModuleRegistry.m +3 -1
- package/React/Base/RCTMultipartStreamReader.m +1 -0
- package/React/Base/RCTTurboModuleRegistry.h +29 -0
- package/React/Base/RCTVersion.m +3 -3
- package/React/Base/Surface/RCTSurface.mm +2 -1
- package/React/CoreModules/BUCK +6 -5
- package/React/CoreModules/CoreModulesPlugins.h +1 -1
- package/React/CoreModules/CoreModulesPlugins.mm +1 -1
- package/React/CoreModules/RCTAccessibilityManager.h +1 -0
- package/React/CoreModules/RCTAccessibilityManager.mm +11 -0
- package/React/CoreModules/RCTAlertController.m +35 -3
- package/React/CoreModules/RCTAlertManager.mm +55 -26
- package/React/CoreModules/RCTAppState.mm +2 -2
- package/React/CoreModules/RCTDevLoadingView.mm +15 -0
- package/React/CoreModules/RCTDevSettings.mm +1 -0
- package/React/CoreModules/RCTDeviceInfo.mm +28 -11
- package/React/CoreModules/RCTEventDispatcher.mm +12 -3
- package/React/CoreModules/RCTExceptionsManager.h +4 -1
- package/React/CoreModules/RCTExceptionsManager.mm +4 -12
- package/React/CoreModules/RCTLogBox.mm +2 -2
- package/React/CoreModules/RCTLogBoxView.mm +1 -1
- package/React/CoreModules/RCTRedBox.mm +7 -1
- package/React/CoreModules/React-CoreModules.podspec +2 -1
- package/React/CxxBridge/JSCExecutorFactory.mm +1 -1
- package/React/CxxBridge/RCTCxxBridge.mm +2 -1
- package/React/CxxBridge/RCTJSIExecutorRuntimeInstaller.mm +1 -3
- package/React/CxxModule/RCTNativeModule.mm +15 -0
- package/React/CxxUtils/RCTFollyConvert.mm +11 -4
- package/React/FBReactNativeSpec/FBReactNativeSpec.podspec +1 -1
- package/React/Fabric/Mounting/ComponentViews/LegacyViewManagerInterop/RCTLegacyViewManagerInteropComponentView.mm +0 -8
- package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.h +1 -0
- package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.mm +1 -0
- package/React/Fabric/Mounting/ComponentViews/SafeAreaView/RCTSafeAreaViewComponentView.mm +1 -11
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.mm +1 -1
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +8 -3
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +23 -5
- package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +16 -1
- package/React/Fabric/Mounting/RCTComponentViewFactory.mm +11 -7
- package/React/Fabric/Mounting/RCTComponentViewProtocol.h +1 -1
- package/React/Fabric/Mounting/RCTComponentViewRegistry.h +0 -5
- package/React/Fabric/Mounting/RCTComponentViewRegistry.mm +0 -39
- package/React/Fabric/Mounting/RCTMountingManager.h +1 -1
- package/React/Fabric/Mounting/RCTMountingManager.mm +11 -9
- package/React/Fabric/Mounting/UIView+ComponentViewProtocol.h +1 -1
- package/React/Fabric/Mounting/UIView+ComponentViewProtocol.mm +1 -1
- package/React/Fabric/RCTScheduler.mm +0 -9
- package/React/Fabric/RCTSurfacePresenter.h +2 -1
- package/React/Fabric/RCTSurfacePresenter.mm +20 -18
- package/React/Fabric/RCTSurfacePresenterBridgeAdapter.mm +3 -1
- package/React/Fabric/RCTSurfaceTouchHandler.mm +475 -61
- package/React/Fabric/Utils/RCTReactTaggedView.h +34 -0
- package/React/Fabric/Utils/RCTReactTaggedView.mm +55 -0
- package/React/Modules/RCTEventEmitter.h +2 -0
- package/React/Modules/RCTEventEmitter.m +15 -0
- package/React/Modules/RCTUIManager.m +1 -1
- package/React/Profiler/RCTProfile.h +20 -0
- package/React/React-RCTFabric.podspec +1 -1
- package/React/Tests/Mounting/RCTComponentViewRegistryTests.mm +1 -0
- package/React/Views/RCTBorderCurve.h +13 -0
- package/React/Views/RCTComponentData.m +1 -0
- package/React/Views/RCTDatePickerManager.m +4 -0
- package/React/Views/RCTFont.mm +80 -0
- package/React/Views/RCTModalHostViewManager.m +16 -12
- package/React/Views/RCTProgressViewManager.m +4 -0
- package/React/Views/RCTSegmentedControlManager.m +4 -0
- package/React/Views/RCTShadowView.h +3 -0
- package/React/Views/RCTShadowView.m +14 -0
- package/React/Views/RCTView.h +11 -3
- package/React/Views/RCTView.m +18 -2
- package/React/Views/RCTViewManager.m +23 -3
- package/React/Views/RCTViewUtils.h +1 -0
- package/React/Views/RCTWrapperViewController.m +9 -10
- package/React/Views/SafeAreaView/RCTSafeAreaView.h +0 -2
- package/React/Views/SafeAreaView/RCTSafeAreaView.m +2 -70
- package/React/Views/SafeAreaView/RCTSafeAreaViewManager.m +0 -2
- package/React/third-party.xcconfig +1 -1
- package/React-Core.podspec +45 -8
- package/ReactAndroid/Android-prebuilt.mk +10 -2
- package/ReactAndroid/README.md +3 -2
- package/ReactAndroid/build.gradle +361 -148
- package/ReactAndroid/cmake-utils/ReactNative-application.cmake +119 -0
- package/ReactAndroid/cmake-utils/default-app-setup/CMakeLists.txt +31 -0
- package/ReactAndroid/cmake-utils/default-app-setup/OnLoad.cpp +88 -0
- package/ReactAndroid/cmake-utils/folly-flags.cmake +22 -0
- package/ReactAndroid/external-artifacts/build.gradle +44 -0
- package/ReactAndroid/gradle.properties +24 -14
- package/ReactAndroid/hermes-engine/build.gradle +27 -34
- package/ReactAndroid/publish.gradle +100 -0
- package/ReactAndroid/src/main/java/com/facebook/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/debug/debugoverlay/model/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/debug/holder/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/debug/tags/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/BUCK +4 -30
- package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/BUCK +5 -22
- package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/HermesExecutor.java +14 -8
- package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/HermesExecutorFactory.java +11 -1
- package/ReactAndroid/src/main/java/com/facebook/hermes/unicode/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/perftest/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/proguard/annotations/BUCK +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/BUCK +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/CompositeReactPackage.java +4 -3
- package/ReactAndroid/src/main/java/com/facebook/react/CompositeReactPackageTurboModuleManagerDelegate.java +67 -0
- package/ReactAndroid/src/main/java/com/facebook/react/CoreModulesPackage.java +2 -4
- package/ReactAndroid/src/main/java/com/facebook/react/JSEngineResolutionAlgorithm.java +18 -0
- package/ReactAndroid/src/main/java/com/facebook/react/LazyReactPackage.java +1 -3
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +41 -43
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java +20 -45
- package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +19 -12
- package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +67 -5
- package/ReactAndroid/src/main/java/com/facebook/react/TurboReactPackage.java +3 -1
- package/ReactAndroid/src/main/java/com/facebook/react/ViewManagerOnDemandReactPackage.java +2 -3
- package/ReactAndroid/src/main/java/com/facebook/react/animated/BUCK +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java +248 -38
- package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java +56 -4
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/AssertionException.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/BUCK +2 -4
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/BackgroundExecutor.java +19 -2
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +10 -19
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ColorPropConverter.java +28 -21
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/{DefaultNativeModuleCallExceptionHandler.java → DefaultJSExceptionHandler.java} +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/GuardedAsyncTask.java +3 -4
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/GuardedResultAsyncTask.java +3 -4
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/GuardedRunnable.java +3 -4
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/{NativeModuleCallExceptionHandler.java → JSExceptionHandler.java} +5 -5
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ModuleSpec.java +2 -9
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeModuleRegistry.java +1 -3
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +14 -14
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactCxxErrorHandler.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReadableNativeMap.java +45 -43
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/SoftAssertions.java +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/UiThreadUtil.java +17 -4
- package/ReactAndroid/src/main/java/com/facebook/react/common/BUCK +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/BUCK +1 -3
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/MapBuffer.kt +10 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.kt +22 -1
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/WritableMapBuffer.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/network/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/config/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +47 -41
- package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultComponentsRegistry.kt +35 -0
- package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultJSIModulePackage.kt +58 -0
- package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt +49 -0
- package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactActivityDelegate.kt +46 -0
- package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactNativeHost.kt +71 -0
- package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultTurboModuleManagerDelegate.kt +33 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BUCK +2 -4
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevLoadingViewController.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +5 -5
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DisabledDevSupportManager.java +4 -4
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/BUCK +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/Binding.java +24 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/CoreComponentsRegistry.java +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/{bridge/queue/NativeRunnable.java → fabric/CppComponentRegistry.java} +11 -8
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/CppViewMutationsWrapper.java +47 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/DevToolsReactPerfLogger.java +85 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricComponents.java +0 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricJSIModuleProvider.java +14 -7
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +109 -40
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/GuardedFrameCallback.java +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/LayoutMetricsConversions.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.java +10 -8
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.java +11 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +467 -56
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/DispatchStringCommandMountItem.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.java +31 -17
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/BUCK +3 -25
- package/ReactAndroid/src/main/java/com/facebook/react/jstasks/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/module/annotations/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/module/model/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/module/processing/BUCK +0 -3
- package/ReactAndroid/src/main/java/com/facebook/react/module/processing/ReactModuleSpecProcessor.java +4 -5
- package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/BUCK +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/BUCK +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/appregistry/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/appstate/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BUCK +2 -3
- package/ReactAndroid/src/main/java/com/facebook/react/modules/bundleloader/BUCK +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/camera/BUCK +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/common/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/BUCK +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/BUCK +2 -3
- package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/BUCK +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/BUCK +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fabric/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/BUCK +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/BUCK +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/image/BUCK +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/BUCK +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/BUCK +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java +12 -18
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/RequestBodyUtil.java +14 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/share/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/sound/BUCK +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/BUCK +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoModule.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/BUCK +2 -4
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/modules/toast/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/vibration/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/BUCK +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.java +11 -3
- package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/BUCK +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/processing/BUCK +0 -1
- package/ReactAndroid/src/main/java/com/facebook/react/processing/ReactPropertyProcessor.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/BUCK +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/shell/BUCK +1 -3
- package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.java +0 -5
- package/ReactAndroid/src/main/java/com/facebook/react/surface/BUCK +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/touch/BUCK +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/BUCK +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/interfaces/BUCK +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BUCK +4 -7
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +159 -17
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerAdapter.java +8 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerDelegate.java +9 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerInterface.java +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.java +3 -14
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/GuardedFrameCallback.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSPointerDispatcher.java +380 -195
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.java +24 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.java +26 -3
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNode.java +6 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNodeImpl.java +16 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +42 -37
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +5 -31
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstants.java +0 -3
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleConstantsHelper.java +2 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java +109 -3
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerRegistry.java +51 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerResolver.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.java +14 -4
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/BUCK +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/BUCK +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/Event.java +11 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEvent.java +225 -42
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEventHelper.java +166 -12
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ReactEventEmitter.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/util/BUCK +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/util/BUCK +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/util/RNLog.java +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/views/common/BUCK +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/BUCK +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayout.java +12 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/BUCK +3 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.java +30 -30
- package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/BUCK +2 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ImageSource.java +9 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/BUCK +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.java +15 -6
- package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/BUCK +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/BUCK +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +17 -20
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.java +12 -5
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +52 -12
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewAccessibilityDelegate.java +154 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.java +0 -11
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/slider/BUCK +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSliderEvent.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/BUCK +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/ReactSwipeRefreshLayout.java +12 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/BUCK +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/BUCK +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/CustomLetterSpacingSpan.java +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/CustomStyleSpan.java +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactFontManager.java +10 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.java +18 -17
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextUpdate.java +1 -5
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +94 -14
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java +42 -17
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTypefaceUtils.java +60 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +75 -15
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +2 -25
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManagerMapBuffer.java +7 -18
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/BUCK +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/BUCK +9 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +264 -120
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +139 -110
- package/ReactAndroid/src/main/java/com/facebook/react/views/unimplementedview/BUCK +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/BUCK +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactMapBufferPropSetter.kt +37 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundDrawable.java +24 -9
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundManager.java +11 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +74 -30
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.java +17 -0
- package/ReactAndroid/src/main/java/com/facebook/systrace/BUCK +5 -1
- package/ReactAndroid/src/main/java/com/facebook/systrace/Systrace.java +22 -8
- package/ReactAndroid/src/main/java/com/facebook/systrace/SystraceMessage.java +61 -8
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaAlign.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDimension.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDirection.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDisplay.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaEdge.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaExperimentalFeature.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaFlexDirection.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaGutter.java +35 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaJustify.java +3 -2
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaLogLevel.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaMeasureMode.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNative.java +3 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNode.java +4 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +10 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeType.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaOverflow.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaPositionType.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaPrintOptions.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaUnit.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaWrap.java +2 -0
- package/ReactAndroid/src/main/jni/CMakeLists.txt +27 -13
- package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNIVanilla.cpp +23 -0
- package/ReactAndroid/src/main/jni/react/cxxcomponents/BUCK +44 -0
- package/ReactAndroid/src/main/jni/react/cxxcomponents/CMakeLists.txt +22 -0
- package/ReactAndroid/src/main/jni/react/cxxcomponents/Component.h +66 -0
- package/ReactAndroid/src/main/jni/react/cxxcomponents/ComponentManager.h +26 -0
- package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/BUCK +3 -3
- package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/Binding.cpp +54 -69
- package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/Binding.h +9 -16
- package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/CMakeLists.txt +1 -0
- package/ReactAndroid/src/main/jni/react/fabric/ComponentRegistryResolver.cpp +51 -0
- package/ReactAndroid/src/main/jni/react/fabric/ComponentRegistryResolver.h +47 -0
- package/ReactAndroid/src/main/jni/react/fabric/CppComponentRegistry.cpp +73 -0
- package/ReactAndroid/src/main/jni/react/fabric/CppComponentRegistry.h +64 -0
- package/ReactAndroid/src/main/jni/react/fabric/CppViewMutationsWrapper.cpp +100 -0
- package/ReactAndroid/src/main/jni/react/fabric/CppViewMutationsWrapper.h +39 -0
- package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/FabricMountItem.cpp +11 -2
- package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/FabricMountItem.h +11 -2
- package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/FabricMountingManager.cpp +125 -67
- package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/FabricMountingManager.h +3 -4
- package/ReactAndroid/src/main/jni/react/fabric/JBackgroundExecutor.cpp +30 -0
- package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/JBackgroundExecutor.h +1 -8
- package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/OnLoad.cpp +2 -0
- package/ReactAndroid/src/main/jni/react/fabric/viewPropConversions.h +215 -0
- package/ReactAndroid/src/main/{java/com/facebook → jni/react}/hermes/.clang-tidy +1 -0
- package/ReactAndroid/src/main/jni/react/hermes/instrumentation/BUCK +27 -0
- package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/BUCK +19 -0
- package/ReactAndroid/src/main/{java/com/facebook → jni/react}/hermes/reactexecutor/CMakeLists.txt +5 -14
- package/ReactAndroid/src/main/{java/com/facebook → jni/react}/hermes/reactexecutor/OnLoad.cpp +18 -5
- package/ReactAndroid/src/main/jni/react/jni/BUCK +3 -4
- package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +11 -28
- package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.h +2 -10
- package/ReactAndroid/src/main/jni/react/jni/JCallback.h +7 -0
- package/ReactAndroid/src/main/jni/react/jni/JMessageQueueThread.cpp +5 -7
- package/ReactAndroid/src/main/jni/react/jscexecutor/BUCK +22 -0
- package/ReactAndroid/src/main/jni/react/jscexecutor/CMakeLists.txt +36 -0
- package/ReactAndroid/src/main/{java/com/facebook → jni}/react/jscexecutor/OnLoad.cpp +1 -1
- package/ReactAndroid/src/main/{java/com/facebook/react/common/mapbuffer/jni → jni/react/mapbuffer}/BUCK +0 -1
- package/ReactAndroid/src/main/jni/react/newarchdefaults/CMakeLists.txt +22 -0
- package/{template/android/app/src/main/jni/MainComponentsRegistry.cpp → ReactAndroid/src/main/jni/react/newarchdefaults/DefaultComponentsRegistry.cpp} +22 -13
- package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultComponentsRegistry.h +47 -0
- package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultTurboModuleManagerDelegate.cpp +60 -0
- package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultTurboModuleManagerDelegate.h +53 -0
- package/ReactAndroid/src/main/jni/react/newarchdefaults/OnLoad.cpp +18 -0
- package/ReactAndroid/src/main/jni/react/perftests/BUCK +0 -1
- package/ReactAndroid/src/main/{java/com/facebook/react/modules/blob/jni → jni/react/reactnativeblob}/BUCK +0 -1
- package/ReactAndroid/src/main/{java/com/facebook/react/reactperflogger/jni → jni/react/reactperflogger}/BUCK +0 -1
- package/ReactAndroid/src/main/{java/com/facebook/react/reactperflogger/jni → jni/react/reactperflogger}/reactperflogger/.clang-tidy +1 -0
- package/ReactAndroid/src/main/{java/com/facebook/react/turbomodule/core/jni → jni/react/turbomodule}/BUCK +3 -3
- package/ReactAndroid/src/main/{java/com/facebook/react/turbomodule/core/jni → jni/react/turbomodule}/CMakeLists.txt +2 -1
- package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/CompositeTurboModuleManagerDelegate.cpp +59 -0
- package/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/CompositeTurboModuleManagerDelegate.h +49 -0
- package/ReactAndroid/src/main/{java/com/facebook/react/turbomodule/core/jni → jni/react/turbomodule}/ReactCommon/OnLoad.cpp +3 -0
- package/ReactAndroid/src/main/{java/com/facebook/react/turbomodule/core/jni → jni/react/turbomodule}/ReactCommon/TurboModuleManager.cpp +18 -6
- package/ReactAndroid/src/main/{java/com/facebook/react/turbomodule/core/jni → jni/react/turbomodule}/ReactCommon/TurboModuleManagerDelegate.h +3 -3
- package/ReactAndroid/src/main/{java/com/facebook/react/uimanager/jni → jni/react/uimanager}/BUCK +0 -2
- package/ReactAndroid/src/main/libraries/fbcore/src/main/java/com/facebook/common/logging/BUCK +1 -0
- package/ReactAndroid/src/main/libraries/fbjni/BUCK +1 -1
- package/ReactAndroid/src/main/libraries/fresco/fresco-react-native/BUCK +7 -6
- package/ReactAndroid/src/main/libraries/soloader/java/com/facebook/soloader/BUCK +5 -5
- package/ReactAndroid/src/main/res/views/uimanager/values/ids.xml +17 -17
- package/ReactCommon/React-Fabric.podspec +16 -5
- package/ReactCommon/ReactCommon.podspec +24 -6
- package/ReactCommon/butter/BUCK +4 -3
- package/ReactCommon/butter/CMakeLists.txt +3 -1
- package/ReactCommon/callinvoker/BUCK +1 -1
- package/ReactCommon/callinvoker/CMakeLists.txt +7 -1
- package/ReactCommon/callinvoker/React-callinvoker.podspec +1 -1
- package/ReactCommon/cxxreact/BUCK +19 -14
- package/ReactCommon/cxxreact/CxxNativeModule.cpp +33 -25
- package/ReactCommon/cxxreact/JSBigString.h +2 -2
- package/ReactCommon/cxxreact/JSBundleType.h +7 -4
- package/ReactCommon/cxxreact/JSExecutor.h +1 -1
- package/ReactCommon/cxxreact/NativeToJsBridge.cpp +2 -2
- package/ReactCommon/cxxreact/React-cxxreact.podspec +5 -1
- package/ReactCommon/cxxreact/ReactNativeVersion.h +3 -3
- package/ReactCommon/cxxreact/SampleCxxModule.cpp +1 -1
- package/ReactCommon/cxxreact/SystraceSection.h +11 -1
- package/ReactCommon/cxxreact/tests/BUCK +6 -48
- package/ReactCommon/cxxreact/tests/jsarg_helpers.cpp +3 -4
- package/ReactCommon/cxxreact/tests/jsbigstring.cpp +0 -43
- package/ReactCommon/cxxreact/tests/main.cpp +15 -0
- package/ReactCommon/cxxreact/tests/methodcall.cpp +1 -2
- package/ReactCommon/hermes/React-hermes.podspec +10 -7
- package/ReactCommon/hermes/executor/CMakeLists.txt +6 -5
- package/ReactCommon/hermes/executor/HermesExecutorFactory.cpp +36 -24
- package/ReactCommon/hermes/executor/HermesExecutorFactory.h +6 -0
- package/ReactCommon/hermes/inspector/BUCK +5 -5
- package/ReactCommon/hermes/inspector/CMakeLists.txt +4 -4
- package/ReactCommon/hermes/inspector/Inspector.cpp +1 -1
- package/ReactCommon/hermes/inspector/RuntimeAdapter.cpp +3 -8
- package/ReactCommon/hermes/inspector/RuntimeAdapter.h +5 -10
- package/ReactCommon/hermes/inspector/chrome/Connection.cpp +87 -20
- package/ReactCommon/hermes/inspector/chrome/Connection.h +1 -1
- package/ReactCommon/hermes/inspector/chrome/ConnectionDemux.cpp +8 -19
- package/ReactCommon/hermes/inspector/chrome/ConnectionDemux.h +3 -2
- package/ReactCommon/hermes/inspector/chrome/MessageConverters.cpp +10 -0
- package/ReactCommon/hermes/inspector/chrome/MessageTypes.cpp +106 -1
- package/ReactCommon/hermes/inspector/chrome/MessageTypes.h +49 -1
- package/ReactCommon/hermes/inspector/chrome/Registration.cpp +4 -4
- package/ReactCommon/hermes/inspector/chrome/Registration.h +9 -5
- package/ReactCommon/hermes/inspector/chrome/cli/main.cpp +5 -3
- package/ReactCommon/hermes/inspector/chrome/tests/ConnectionDemuxTests.cpp +3 -5
- package/ReactCommon/hermes/inspector/chrome/tests/ConnectionTests.cpp +48 -0
- package/ReactCommon/hermes/inspector/chrome/tests/SyncConnection.cpp +1 -3
- package/ReactCommon/hermes/inspector/tests/InspectorTests.cpp +1 -3
- package/ReactCommon/hermes/inspector/tools/message_types.txt +2 -0
- package/ReactCommon/hermes/inspector/tools/run_msggen +3 -1
- package/ReactCommon/{microprofiler → jsc}/.clang-tidy +1 -0
- package/ReactCommon/jsc/BUCK +34 -0
- package/ReactCommon/jsc/CMakeLists.txt +35 -0
- package/ReactCommon/{jsi → jsc}/JSCRuntime.cpp +71 -0
- package/ReactCommon/{React-bridging.podspec → jsc/React-jsc.podspec} +10 -15
- package/ReactCommon/jserrorhandler/BUCK +30 -0
- package/ReactCommon/jserrorhandler/JsErrorHandler.cpp +107 -0
- package/ReactCommon/jserrorhandler/JsErrorHandler.h +39 -0
- package/ReactCommon/jsi/BUCK +3 -34
- package/ReactCommon/jsi/CMakeLists.txt +0 -16
- package/ReactCommon/jsi/React-jsi.podspec +21 -13
- package/ReactCommon/jsi/jsi/JSIDynamic.cpp +7 -2
- package/ReactCommon/jsi/jsi/decorator.h +44 -0
- package/ReactCommon/jsi/jsi/jsi-inl.h +35 -2
- package/ReactCommon/jsi/jsi/jsi.cpp +44 -8
- package/ReactCommon/jsi/jsi/jsi.h +157 -0
- package/ReactCommon/jsiexecutor/BUCK +1 -2
- package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +5 -1
- package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +2 -7
- package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.h +0 -2
- package/ReactCommon/jsinspector/BUCK +3 -2
- package/ReactCommon/libraries/fbcore/src/test/java/com/facebook/powermock/BUCK +2 -0
- package/ReactCommon/logger/BUCK +1 -1
- package/ReactCommon/logger/React-logger.podspec +1 -1
- package/ReactCommon/react/bridging/Array.h +19 -0
- package/ReactCommon/react/bridging/BUCK +2 -2
- package/ReactCommon/react/bridging/Base.h +1 -2
- package/ReactCommon/react/bridging/CMakeLists.txt +8 -1
- package/ReactCommon/react/bridging/CallbackWrapper.h +1 -1
- package/ReactCommon/react/bridging/Class.h +21 -0
- package/ReactCommon/react/bridging/Convert.h +9 -0
- package/ReactCommon/react/bridging/tests/BridgingTest.cpp +113 -0
- package/ReactCommon/react/bridging/tests/BridgingTest.h +1 -1
- package/ReactCommon/react/config/BUCK +1 -3
- package/ReactCommon/react/config/CMakeLists.txt +2 -0
- package/ReactCommon/react/debug/BUCK +3 -4
- package/ReactCommon/react/debug/CMakeLists.txt +2 -0
- package/ReactCommon/react/nativemodule/core/BUCK +3 -5
- package/ReactCommon/react/nativemodule/core/CMakeLists.txt +8 -1
- package/ReactCommon/react/nativemodule/core/ReactCommon/CallbackWrapper.h +11 -0
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboCxxModule.cpp +35 -18
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboCxxModule.h +4 -2
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.cpp +23 -4
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.h +37 -19
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +46 -61
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.h +11 -12
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +1 -2
- package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +91 -145
- package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.h +5 -22
- package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.h +2 -2
- package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.mm +5 -2
- package/ReactCommon/react/nativemodule/samples/BUCK +2 -1
- package/ReactCommon/react/nativemodule/samples/platform/android/CMakeLists.txt +27 -0
- package/ReactCommon/react/nativemodule/samples/platform/android/ReactCommon/SampleTurboModuleSpec.cpp +39 -12
- package/ReactCommon/react/nativemodule/samples/platform/android/ReactCommon/SampleTurboModuleSpec.h +1 -1
- package/ReactCommon/react/renderer/.clang-tidy +144 -0
- package/ReactCommon/react/renderer/animations/BUCK +1 -6
- package/ReactCommon/react/renderer/animations/CMakeLists.txt +8 -1
- package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.cpp +4 -6
- package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +45 -35
- package/ReactCommon/react/renderer/animations/tests/LayoutAnimationTest.cpp +7 -10
- package/ReactCommon/react/renderer/animations/utils.cpp +2 -4
- package/ReactCommon/react/renderer/attributedstring/AttributedString.cpp +22 -5
- package/ReactCommon/react/renderer/attributedstring/AttributedString.h +13 -1
- package/ReactCommon/react/renderer/attributedstring/AttributedStringBox.cpp +2 -4
- package/ReactCommon/react/renderer/attributedstring/BUCK +3 -5
- package/ReactCommon/react/renderer/attributedstring/CMakeLists.txt +8 -1
- package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.cpp +2 -4
- package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +14 -4
- package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +3 -0
- package/ReactCommon/react/renderer/attributedstring/conversions.h +134 -0
- package/ReactCommon/react/renderer/attributedstring/primitives.h +30 -0
- package/ReactCommon/react/renderer/attributedstring/tests/AttributedStringBoxTest.cpp +2 -4
- package/ReactCommon/react/renderer/attributedstring/tests/ParagraphAttributesTest.cpp +2 -4
- package/ReactCommon/react/renderer/componentregistry/BUCK +1 -8
- package/ReactCommon/react/renderer/componentregistry/CMakeLists.txt +8 -1
- package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorProviderRegistry.cpp +3 -5
- package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorProviderRegistry.h +1 -1
- package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +7 -14
- package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.h +3 -2
- package/ReactCommon/react/renderer/componentregistry/componentNameByReactViewName.cpp +2 -4
- package/ReactCommon/react/renderer/componentregistry/native/BUCK +1 -7
- package/ReactCommon/react/renderer/componentregistry/native/CMakeLists.txt +8 -1
- package/ReactCommon/react/renderer/componentregistry/native/NativeComponentRegistryBinding.cpp +5 -7
- package/ReactCommon/react/renderer/components/image/BUCK +1 -4
- package/ReactCommon/react/renderer/components/image/CMakeLists.txt +8 -1
- package/ReactCommon/react/renderer/components/image/ImageEventEmitter.cpp +2 -4
- package/ReactCommon/react/renderer/components/image/ImageProps.cpp +82 -41
- package/ReactCommon/react/renderer/components/image/ImageProps.h +13 -7
- package/ReactCommon/react/renderer/components/image/ImageShadowNode.cpp +2 -4
- package/ReactCommon/react/renderer/components/image/ImageState.cpp +2 -4
- package/ReactCommon/react/renderer/components/inputaccessory/BUCK +1 -1
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/BUCK +3 -3
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm +0 -3
- package/ReactCommon/react/renderer/components/modal/BUCK +2 -4
- package/ReactCommon/react/renderer/components/modal/CMakeLists.txt +8 -1
- package/ReactCommon/react/renderer/components/modal/ModalHostViewShadowNode.cpp +2 -4
- package/ReactCommon/react/renderer/components/modal/ModalHostViewState.cpp +2 -4
- package/ReactCommon/react/renderer/components/progressbar/BUCK +2 -5
- package/ReactCommon/react/renderer/components/progressbar/CMakeLists.txt +8 -1
- package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarMeasurementsManager.cpp +2 -4
- package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarShadowNode.cpp +3 -5
- package/ReactCommon/react/renderer/components/root/BUCK +1 -5
- package/ReactCommon/react/renderer/components/root/CMakeLists.txt +8 -1
- package/ReactCommon/react/renderer/components/root/RootProps.cpp +4 -6
- package/ReactCommon/react/renderer/components/root/RootShadowNode.cpp +2 -4
- package/ReactCommon/react/renderer/components/safeareaview/BUCK +1 -1
- package/ReactCommon/react/renderer/components/scrollview/BUCK +2 -5
- package/ReactCommon/react/renderer/components/scrollview/CMakeLists.txt +8 -1
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.cpp +2 -4
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.cpp +342 -202
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.h +6 -0
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewShadowNode.cpp +2 -4
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewState.cpp +2 -4
- package/ReactCommon/react/renderer/components/slider/BUCK +2 -4
- package/ReactCommon/react/renderer/components/slider/CMakeLists.txt +8 -1
- package/ReactCommon/react/renderer/components/slider/SliderShadowNode.cpp +3 -5
- package/ReactCommon/react/renderer/components/slider/SliderState.cpp +2 -4
- package/ReactCommon/react/renderer/components/slider/platform/android/react/renderer/components/slider/SliderMeasurementsManager.cpp +2 -4
- package/ReactCommon/react/renderer/components/switch/BUCK +1 -9
- package/ReactCommon/react/renderer/components/switch/CMakeLists.txt +2 -0
- package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchMeasurementsManager.cpp +2 -4
- package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchShadowNode.cpp +3 -5
- package/ReactCommon/react/renderer/components/text/BUCK +1 -6
- package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +135 -22
- package/ReactCommon/react/renderer/components/text/BaseTextProps.h +6 -0
- package/ReactCommon/react/renderer/components/text/BaseTextShadowNode.cpp +4 -6
- package/ReactCommon/react/renderer/components/text/CMakeLists.txt +8 -1
- package/ReactCommon/react/renderer/components/text/ParagraphEventEmitter.cpp +2 -4
- package/ReactCommon/react/renderer/components/text/ParagraphProps.cpp +103 -21
- package/ReactCommon/react/renderer/components/text/ParagraphProps.h +9 -3
- package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp +5 -6
- package/ReactCommon/react/renderer/components/text/ParagraphState.cpp +2 -4
- package/ReactCommon/react/renderer/components/text/ParagraphState.h +9 -0
- package/ReactCommon/react/renderer/components/text/RawTextProps.cpp +2 -4
- package/ReactCommon/react/renderer/components/text/RawTextShadowNode.cpp +2 -4
- package/ReactCommon/react/renderer/components/text/TextProps.cpp +11 -4
- package/ReactCommon/react/renderer/components/text/TextProps.h +6 -0
- package/ReactCommon/react/renderer/components/text/TextShadowNode.cpp +2 -4
- package/ReactCommon/react/renderer/components/text/conversions.h +1 -9
- package/ReactCommon/react/renderer/components/textinput/BUCK +2 -6
- package/ReactCommon/react/renderer/components/textinput/CMakeLists.txt +8 -1
- package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.cpp +223 -66
- package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.h +65 -59
- package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.cpp +9 -11
- package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputState.cpp +24 -4
- package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputState.h +1 -3
- package/ReactCommon/react/renderer/components/textinput/iostextinput/BUCK +4 -10
- package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputEventEmitter.cpp +2 -4
- package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputEventEmitter.h +2 -2
- package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputProps.cpp +11 -4
- package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputProps.h +6 -0
- package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputShadowNode.cpp +2 -4
- package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputState.cpp +4 -6
- package/ReactCommon/react/renderer/components/textinput/iostextinput/conversions.h +20 -0
- package/ReactCommon/react/renderer/components/textinput/iostextinput/primitives.h +10 -2
- package/ReactCommon/react/renderer/components/textinput/iostextinput/propsConversions.h +4 -4
- package/ReactCommon/react/renderer/components/unimplementedview/BUCK +1 -9
- package/ReactCommon/react/renderer/components/unimplementedview/CMakeLists.txt +8 -1
- package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewComponentDescriptor.cpp +2 -4
- package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewProps.cpp +2 -4
- package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewShadowNode.cpp +2 -4
- package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +223 -119
- package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +12 -1
- package/ReactCommon/react/renderer/components/view/AccessibilityPropsMapBuffer.cpp +168 -0
- package/ReactCommon/react/renderer/components/view/AccessibilityPropsMapBuffer.h +33 -0
- package/ReactCommon/react/renderer/components/view/BUCK +3 -4
- package/ReactCommon/react/renderer/components/view/CMakeLists.txt +8 -1
- package/ReactCommon/react/renderer/components/view/PointerEvent.cpp +20 -7
- package/ReactCommon/react/renderer/components/view/PointerEvent.h +72 -6
- package/ReactCommon/react/renderer/components/view/Touch.cpp +3 -5
- package/ReactCommon/react/renderer/components/view/Touch.h +1 -1
- package/ReactCommon/react/renderer/components/view/TouchEvent.cpp +3 -5
- package/ReactCommon/react/renderer/components/view/TouchEventEmitter.cpp +49 -12
- package/ReactCommon/react/renderer/components/view/TouchEventEmitter.h +5 -3
- package/ReactCommon/react/renderer/components/view/ViewEventEmitter.cpp +2 -4
- package/ReactCommon/react/renderer/components/view/ViewProps.cpp +338 -161
- package/ReactCommon/react/renderer/components/view/ViewProps.h +12 -0
- package/ReactCommon/react/renderer/components/view/ViewPropsInterpolation.h +3 -3
- package/ReactCommon/react/renderer/components/view/ViewPropsMapBuffer.cpp +202 -0
- package/ReactCommon/react/renderer/components/view/ViewPropsMapBuffer.h +56 -0
- package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +9 -28
- package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +8 -9
- package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +120 -5
- package/ReactCommon/react/renderer/components/view/YogaStylableProps.h +12 -1
- package/ReactCommon/react/renderer/components/view/YogaStylablePropsMapBuffer.cpp +87 -0
- package/ReactCommon/{hermes/inspector/chrome/AutoAttachUtils.h → react/renderer/components/view/YogaStylablePropsMapBuffer.h} +11 -11
- package/ReactCommon/react/renderer/components/view/conversions.h +23 -2
- package/ReactCommon/react/renderer/components/view/primitives.h +17 -0
- package/ReactCommon/react/renderer/components/view/propsConversions.h +73 -18
- package/ReactCommon/react/renderer/components/view/tests/LayoutTest.cpp +2 -4
- package/ReactCommon/react/renderer/components/view/tests/ViewTest.cpp +2 -4
- package/ReactCommon/react/renderer/components/view/viewPropConversions.h +198 -0
- package/ReactCommon/react/renderer/core/BUCK +8 -9
- package/ReactCommon/react/renderer/core/BatchedEventQueue.cpp +2 -4
- package/ReactCommon/react/renderer/core/CMakeLists.txt +9 -1
- package/ReactCommon/react/renderer/core/ComponentDescriptor.cpp +2 -4
- package/ReactCommon/react/renderer/core/ComponentDescriptor.h +5 -5
- package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +23 -8
- package/ReactCommon/react/renderer/core/ConcreteShadowNode.h +4 -3
- package/ReactCommon/react/renderer/core/CoreFeatures.cpp +17 -0
- package/ReactCommon/react/renderer/core/CoreFeatures.h +31 -0
- package/ReactCommon/react/renderer/core/DynamicPropsUtilities.cpp +2 -4
- package/ReactCommon/react/renderer/core/EventBeat.cpp +2 -4
- package/ReactCommon/react/renderer/core/EventDispatcher.cpp +2 -4
- package/ReactCommon/react/renderer/core/EventEmitter.cpp +3 -5
- package/ReactCommon/react/renderer/core/EventQueue.cpp +3 -5
- package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +2 -4
- package/ReactCommon/react/renderer/core/EventTarget.cpp +3 -5
- package/ReactCommon/react/renderer/core/LayoutConstraints.cpp +2 -4
- package/ReactCommon/react/renderer/core/LayoutMetrics.cpp +3 -5
- package/ReactCommon/react/renderer/core/LayoutableShadowNode.cpp +96 -18
- package/ReactCommon/react/renderer/core/Props.cpp +26 -12
- package/ReactCommon/react/renderer/core/Props.h +25 -13
- package/ReactCommon/react/renderer/core/PropsMacros.h +108 -0
- package/ReactCommon/react/renderer/core/PropsMapBuffer.cpp +37 -0
- package/ReactCommon/react/renderer/core/PropsMapBuffer.h +23 -0
- package/ReactCommon/react/renderer/core/RawEvent.cpp +2 -4
- package/ReactCommon/react/renderer/core/RawProps.cpp +12 -6
- package/ReactCommon/react/renderer/core/RawProps.h +10 -1
- package/ReactCommon/react/renderer/core/RawPropsKey.cpp +4 -6
- package/ReactCommon/react/renderer/core/RawPropsKeyMap.cpp +2 -4
- package/ReactCommon/react/renderer/core/RawPropsParser.cpp +65 -4
- package/ReactCommon/react/renderer/core/RawPropsParser.h +9 -0
- package/ReactCommon/react/renderer/core/RawPropsPrimitives.h +2 -0
- package/ReactCommon/react/renderer/core/RawValue.h +12 -14
- package/ReactCommon/react/renderer/core/Sealable.cpp +4 -6
- package/ReactCommon/react/renderer/core/ShadowNode.cpp +14 -12
- package/ReactCommon/react/renderer/core/ShadowNode.h +17 -21
- package/ReactCommon/react/renderer/core/ShadowNodeFamily.cpp +3 -5
- package/ReactCommon/react/renderer/core/ShadowNodeFamilyFragment.cpp +2 -4
- package/ReactCommon/react/renderer/core/ShadowNodeFragment.cpp +2 -4
- package/ReactCommon/react/renderer/core/ShadowNodeTraits.cpp +1 -3
- package/ReactCommon/react/renderer/core/ShadowNodeTraits.h +18 -13
- package/ReactCommon/react/renderer/core/State.cpp +2 -4
- package/ReactCommon/react/renderer/core/UnbatchedEventQueue.cpp +2 -4
- package/ReactCommon/react/renderer/core/propsConversions.h +40 -29
- package/ReactCommon/react/renderer/core/tests/ComponentDescriptorTest.cpp +9 -9
- package/ReactCommon/react/renderer/core/tests/EventQueueProcessorTest.cpp +3 -3
- package/ReactCommon/react/renderer/core/tests/LayoutableShadowNodeTest.cpp +372 -0
- package/ReactCommon/react/renderer/core/tests/RawPropsTest.cpp +2 -2
- package/ReactCommon/react/renderer/core/tests/ShadowNodeTest.cpp +4 -4
- package/ReactCommon/react/renderer/core/tests/TestComponent.h +4 -2
- package/ReactCommon/react/renderer/core/tests/benchmarks/RawPropsBenchmark.cpp +2 -4
- package/ReactCommon/react/renderer/debug/BUCK +1 -4
- package/ReactCommon/react/renderer/debug/CMakeLists.txt +8 -1
- package/ReactCommon/react/renderer/debug/DebugStringConvertible.cpp +6 -8
- package/ReactCommon/react/renderer/debug/DebugStringConvertibleItem.cpp +2 -4
- package/ReactCommon/react/renderer/element/BUCK +1 -1
- package/ReactCommon/react/renderer/element/ComponentBuilder.cpp +2 -4
- package/ReactCommon/react/renderer/graphics/BUCK +2 -5
- package/ReactCommon/react/renderer/graphics/CMakeLists.txt +8 -1
- package/ReactCommon/react/renderer/graphics/React-graphics.podspec +1 -1
- package/ReactCommon/react/renderer/graphics/RectangleEdges.h +5 -0
- package/ReactCommon/react/renderer/graphics/Transform.cpp +43 -17
- package/ReactCommon/react/renderer/graphics/Transform.h +20 -5
- package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/PlatformColorParser.h +11 -23
- package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/Color.cpp +4 -6
- package/ReactCommon/react/renderer/graphics/tests/TransformTest.cpp +7 -0
- package/ReactCommon/react/renderer/imagemanager/BUCK +12 -31
- package/ReactCommon/react/renderer/imagemanager/CMakeLists.txt +8 -1
- package/ReactCommon/react/renderer/imagemanager/ImageManager.h +1 -1
- package/ReactCommon/react/renderer/imagemanager/ImageResponse.cpp +2 -4
- package/ReactCommon/react/renderer/imagemanager/ImageResponseObserverCoordinator.cpp +2 -4
- package/ReactCommon/react/renderer/imagemanager/ImageTelemetry.cpp +2 -4
- package/ReactCommon/react/renderer/imagemanager/platform/cxx/react/renderer/imagemanager/ImageManager.cpp +6 -7
- package/ReactCommon/react/renderer/imagemanager/platform/cxx/react/renderer/imagemanager/ImageRequest.cpp +2 -4
- package/ReactCommon/react/renderer/imagemanager/platform/ios/RCTImagePrimitivesConversions.h +14 -16
- package/ReactCommon/react/renderer/leakchecker/BUCK +1 -1
- package/ReactCommon/react/renderer/leakchecker/CMakeLists.txt +8 -1
- package/ReactCommon/react/renderer/leakchecker/LeakChecker.cpp +4 -6
- package/ReactCommon/react/renderer/leakchecker/LeakChecker.h +1 -1
- package/ReactCommon/react/renderer/leakchecker/WeakFamilyRegistry.cpp +3 -6
- package/ReactCommon/react/renderer/mapbuffer/BUCK +5 -6
- package/ReactCommon/react/renderer/mapbuffer/CMakeLists.txt +8 -1
- package/ReactCommon/react/renderer/mapbuffer/MapBuffer.cpp +28 -5
- package/ReactCommon/react/renderer/mapbuffer/MapBuffer.h +2 -0
- package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.cpp +35 -4
- package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.h +5 -0
- package/ReactCommon/react/renderer/mapbuffer/tests/MapBufferTest.cpp +25 -0
- package/ReactCommon/react/renderer/mounting/BUCK +2 -5
- package/ReactCommon/react/renderer/mounting/CMakeLists.txt +8 -1
- package/ReactCommon/react/renderer/mounting/Differentiator.cpp +50 -97
- package/ReactCommon/react/renderer/mounting/MountingCoordinator.cpp +4 -6
- package/ReactCommon/react/renderer/mounting/MountingCoordinator.h +1 -1
- package/ReactCommon/react/renderer/mounting/MountingTransaction.cpp +2 -4
- package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +8 -10
- package/ReactCommon/react/renderer/mounting/ShadowTree.h +4 -4
- package/ReactCommon/react/renderer/mounting/ShadowTreeRegistry.cpp +2 -4
- package/ReactCommon/react/renderer/mounting/ShadowView.cpp +5 -6
- package/ReactCommon/react/renderer/mounting/ShadowViewMutation.cpp +40 -13
- package/ReactCommon/react/renderer/mounting/ShadowViewMutation.h +39 -6
- package/ReactCommon/react/renderer/mounting/StubView.cpp +4 -6
- package/ReactCommon/react/renderer/mounting/StubView.h +1 -1
- package/ReactCommon/react/renderer/mounting/StubViewTree.cpp +7 -4
- package/ReactCommon/react/renderer/mounting/TelemetryController.cpp +2 -4
- package/ReactCommon/react/renderer/mounting/stubs.cpp +2 -4
- package/ReactCommon/react/renderer/mounting/tests/MountingTest.cpp +131 -123
- package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +6 -8
- package/ReactCommon/react/renderer/mounting/tests/StackingContextTest.cpp +2 -4
- package/ReactCommon/react/renderer/mounting/tests/StateReconciliationTest.cpp +6 -6
- package/ReactCommon/react/renderer/runtimescheduler/BUCK +2 -1
- package/ReactCommon/react/renderer/runtimescheduler/CMakeLists.txt +8 -1
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +12 -23
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +0 -10
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.cpp +22 -9
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.cpp +2 -4
- package/ReactCommon/react/renderer/runtimescheduler/Task.cpp +6 -8
- package/ReactCommon/react/renderer/runtimescheduler/Task.h +1 -1
- package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +45 -64
- package/ReactCommon/react/renderer/scheduler/AsynchronousEventBeat.cpp +1 -1
- package/ReactCommon/react/renderer/scheduler/BUCK +1 -5
- package/ReactCommon/react/renderer/scheduler/CMakeLists.txt +8 -1
- package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +18 -38
- package/ReactCommon/react/renderer/scheduler/Scheduler.h +1 -4
- package/ReactCommon/react/renderer/scheduler/SchedulerDelegate.h +0 -8
- package/ReactCommon/react/renderer/scheduler/SchedulerToolbox.h +7 -0
- package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +10 -9
- package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +1 -1
- package/ReactCommon/react/renderer/scheduler/SurfaceManager.cpp +2 -4
- package/ReactCommon/react/renderer/scheduler/SynchronousEventBeat.cpp +3 -5
- package/ReactCommon/react/renderer/telemetry/BUCK +1 -5
- package/ReactCommon/react/renderer/telemetry/CMakeLists.txt +8 -1
- package/ReactCommon/react/renderer/telemetry/SurfaceTelemetry.cpp +2 -4
- package/ReactCommon/react/renderer/telemetry/TransactionTelemetry.cpp +2 -4
- package/ReactCommon/react/renderer/templateprocessor/BUCK +3 -5
- package/ReactCommon/react/renderer/templateprocessor/CMakeLists.txt +8 -1
- package/ReactCommon/react/renderer/templateprocessor/UITemplateProcessor.cpp +8 -10
- package/ReactCommon/react/renderer/templateprocessor/UITemplateProcessor.h +3 -3
- package/ReactCommon/react/renderer/templateprocessor/tests/UITemplateProcessorTest.cpp +8 -9
- package/ReactCommon/react/renderer/textlayoutmanager/BUCK +1 -5
- package/ReactCommon/react/renderer/textlayoutmanager/CMakeLists.txt +8 -1
- package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.cpp +2 -4
- package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.h +4 -1
- package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +8 -72
- package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h +1 -2
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTAttributedTextUtils.mm +133 -9
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTTextPrimitivesConversions.h +46 -23
- package/ReactCommon/react/renderer/timeline/BUCK +2 -5
- package/ReactCommon/react/renderer/timeline/Timeline.cpp +7 -8
- package/ReactCommon/react/renderer/timeline/TimelineController.cpp +3 -5
- package/ReactCommon/react/renderer/timeline/TimelineFrame.cpp +2 -4
- package/ReactCommon/react/renderer/timeline/TimelineHandler.cpp +3 -5
- package/ReactCommon/react/renderer/timeline/TimelineHandler.h +2 -2
- package/ReactCommon/react/renderer/timeline/TimelineSnapshot.cpp +2 -4
- package/ReactCommon/react/renderer/uimanager/BUCK +2 -5
- package/ReactCommon/react/renderer/uimanager/CMakeLists.txt +8 -1
- package/ReactCommon/react/renderer/uimanager/LayoutAnimationStatusDelegate.h +2 -0
- package/ReactCommon/react/renderer/uimanager/SurfaceRegistryBinding.cpp +66 -24
- package/ReactCommon/react/renderer/uimanager/UIManager.cpp +17 -20
- package/ReactCommon/react/renderer/uimanager/UIManager.h +3 -3
- package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +52 -56
- package/ReactCommon/react/renderer/uimanager/UIManagerBinding.h +1 -7
- package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +0 -9
- package/ReactCommon/react/renderer/uimanager/primitives.h +7 -7
- package/ReactCommon/react/test_utils/BUCK +1 -1
- package/ReactCommon/react/test_utils/shadowTreeGeneration.h +7 -1
- package/ReactCommon/react/utils/BUCK +2 -6
- package/ReactCommon/react/utils/CMakeLists.txt +2 -0
- package/ReactCommon/react/utils/ManagedObjectWrapper.h +1 -1
- package/ReactCommon/react/utils/ManagedObjectWrapper.mm +1 -3
- package/ReactCommon/reactperflogger/BUCK +3 -3
- package/ReactCommon/reactperflogger/CMakeLists.txt +7 -1
- package/ReactCommon/reactperflogger/React-perflogger.podspec +1 -1
- package/ReactCommon/runtimeexecutor/BUCK +1 -1
- package/ReactCommon/runtimeexecutor/CMakeLists.txt +7 -1
- package/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +1 -1
- package/ReactCommon/yoga/CMakeLists.txt +7 -1
- package/ReactCommon/yoga/yoga/CompactValue.h +49 -29
- package/ReactCommon/yoga/yoga/Utils.cpp +4 -0
- package/ReactCommon/yoga/yoga/YGEnums.cpp +14 -0
- package/ReactCommon/yoga/yoga/YGEnums.h +31 -52
- package/ReactCommon/yoga/yoga/YGMacros.h +43 -0
- package/ReactCommon/yoga/yoga/YGNode.cpp +33 -0
- package/ReactCommon/yoga/yoga/YGNode.h +11 -0
- package/ReactCommon/yoga/yoga/YGNodePrint.cpp +14 -0
- package/ReactCommon/yoga/yoga/YGStyle.cpp +1 -1
- package/ReactCommon/yoga/yoga/YGStyle.h +5 -0
- package/ReactCommon/yoga/yoga/Yoga.cpp +81 -29
- package/ReactCommon/yoga/yoga/Yoga.h +7 -0
- package/ReactCommon/yoga/yoga/event/event.h +3 -0
- package/android/README.md +21 -0
- package/build.gradle.kts +133 -0
- package/flow/JSITimerInternalType.js +30 -0
- package/flow/jest.js +2 -2
- package/flow-typed/npm/{react-dom_v16.x.x.js → react-dom_v17.x.x.js} +58 -31
- package/flow-typed/npm/yargs_v17.x.x.js +341 -0
- package/gradle.properties +12 -0
- package/index.js +89 -61
- package/interface.js +8 -0
- package/jest/react-native-env.js +18 -0
- package/jest/renderer.js +2 -2
- package/jest/setup.js +11 -9
- package/jest-preset.js +1 -1
- package/package.json +75 -56
- package/react.gradle +27 -7
- package/scripts/cocoapods/__tests__/codegen-test.rb +244 -0
- package/scripts/cocoapods/__tests__/codegen_utils-test.rb +548 -0
- package/scripts/cocoapods/__tests__/fabric-test.rb +55 -0
- package/scripts/cocoapods/__tests__/flipper-test.rb +155 -0
- package/scripts/cocoapods/__tests__/jsengine-test.rb +154 -0
- package/scripts/cocoapods/__tests__/local_podspec_patch-test.rb +171 -0
- package/scripts/cocoapods/__tests__/new_architecture-test.rb +290 -0
- package/scripts/cocoapods/__tests__/test_utils/CodegenScriptPhaseExtractorMock.rb +21 -0
- package/scripts/cocoapods/__tests__/test_utils/CodegenUtilsMock.rb +108 -0
- package/scripts/cocoapods/__tests__/test_utils/DirMock.rb +84 -0
- package/scripts/cocoapods/__tests__/test_utils/EnvironmentMock.rb +21 -0
- package/scripts/cocoapods/__tests__/test_utils/FileMock.rb +132 -0
- package/scripts/cocoapods/__tests__/test_utils/FileUtilsMock.rb +40 -0
- package/scripts/cocoapods/__tests__/test_utils/FinderMock.rb +28 -0
- package/scripts/cocoapods/__tests__/test_utils/InstallerMock.rb +213 -0
- package/scripts/cocoapods/__tests__/test_utils/LocalPodspecPatchMock.rb +14 -0
- package/scripts/cocoapods/__tests__/test_utils/Open3Mock.rb +43 -0
- package/scripts/cocoapods/__tests__/test_utils/PathnameMock.rb +42 -0
- package/scripts/cocoapods/__tests__/test_utils/PodMock.rb +144 -0
- package/scripts/cocoapods/__tests__/test_utils/SpecMock.rb +30 -0
- package/scripts/cocoapods/__tests__/test_utils/SysctlCheckerMock.rb +21 -0
- package/scripts/cocoapods/__tests__/test_utils/TargetDefinitionMock.rb +12 -0
- package/scripts/cocoapods/__tests__/test_utils/podSpy.rb +38 -0
- package/scripts/cocoapods/__tests__/test_utils/systemUtils.rb +14 -0
- package/scripts/cocoapods/__tests__/utils-test.rb +565 -0
- package/scripts/cocoapods/codegen.rb +106 -0
- package/scripts/cocoapods/codegen_script_phase_extractor.rb +13 -0
- package/scripts/cocoapods/codegen_utils.rb +331 -0
- package/scripts/cocoapods/fabric.rb +16 -0
- package/scripts/cocoapods/flipper.rb +118 -0
- package/scripts/cocoapods/helpers.rb +28 -0
- package/scripts/cocoapods/jsengine.rb +81 -0
- package/scripts/cocoapods/local_podspec_patch.rb +51 -0
- package/scripts/cocoapods/new_architecture.rb +101 -0
- package/scripts/cocoapods/utils.rb +188 -0
- package/scripts/codegen/codegen-utils.js +37 -0
- package/scripts/codegen/generate-artifacts-executor.js +560 -0
- package/scripts/codegen/generate-specs-cli-executor.js +127 -0
- package/scripts/generate-codegen-artifacts.js +72 -0
- package/scripts/generate-specs-cli.js +3 -88
- package/scripts/hermes/hermes-utils.js +144 -76
- package/scripts/hermes/prepare-hermes-for-build.js +9 -10
- package/scripts/ios-configure-glog.sh +3 -2
- package/scripts/launchPackager.command +4 -0
- package/scripts/native_modules.rb +6 -0
- package/scripts/packager.sh +1 -1
- package/scripts/react-native-xcode.sh +25 -19
- package/scripts/react_native_pods.rb +148 -554
- package/scripts/react_native_pods_utils/script_phases.sh +15 -17
- package/sdks/.hermesversion +1 -1
- package/sdks/hermes-engine/hermes-engine.podspec +104 -43
- package/sdks/hermes-engine/hermes-utils.rb +26 -0
- package/sdks/hermes-engine/utils/build-apple-framework.sh +84 -39
- package/sdks/hermes-engine/utils/build-hermes-xcode.sh +65 -0
- package/sdks/hermes-engine/utils/build-hermesc-xcode.sh +22 -0
- package/sdks/hermes-engine/utils/build-ios-framework.sh +2 -1
- package/sdks/hermes-engine/utils/build-mac-framework.sh +2 -1
- package/sdks/hermes-engine/utils/copy-hermes-xcode.sh +22 -0
- package/sdks/hermesc/linux64-bin/hermesc +0 -0
- package/sdks/hermesc/osx-bin/hermesc +0 -0
- package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
- package/settings.gradle.kts +34 -0
- package/template/{App.js → App.tsx} +14 -8
- package/template/Gemfile +2 -2
- package/template/_gitignore +6 -6
- package/template/_node-version +1 -0
- package/template/android/app/build.gradle +68 -222
- package/template/android/app/src/debug/java/com/helloworld/ReactNativeFlipper.java +4 -2
- package/template/android/app/src/main/AndroidManifest.xml +1 -2
- package/template/android/app/src/main/java/com/helloworld/MainActivity.java +13 -26
- package/template/android/app/src/main/java/com/helloworld/MainApplication.java +16 -47
- package/template/android/app/src/release/java/com/helloworld/ReactNativeFlipper.java +20 -0
- package/template/android/build.gradle +6 -38
- package/template/android/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/template/android/gradle/wrapper/gradle-wrapper.properties +1 -1
- package/template/android/gradle.properties +8 -0
- package/template/android/settings.gradle +0 -7
- package/template/ios/HelloWorld/AppDelegate.h +2 -4
- package/template/ios/HelloWorld/AppDelegate.mm +12 -112
- package/template/ios/HelloWorld/Info.plist +2 -2
- package/template/ios/Podfile +19 -8
- package/template/package.json +19 -12
- package/template/tsconfig.json +3 -0
- package/third-party-podspecs/RCT-Folly.podspec +6 -5
- package/third-party-podspecs/boost.podspec +1 -1
- package/types/index.d.ts +213 -0
- package/types/modules/BatchedBridge.d.ts +32 -0
- package/types/modules/Codegen.d.ts +74 -0
- package/types/modules/Devtools.d.ts +31 -0
- package/types/modules/LaunchScreen.d.ts +18 -0
- package/types/modules/globals.d.ts +577 -0
- package/types/private/TimerMixin.d.ts +19 -0
- package/{React/Views/RCTMaskedView.h → types/private/Utilities.d.ts} +4 -8
- package/types/public/DeprecatedPropertiesAlias.d.ts +205 -0
- package/types/public/Insets.d.ts +15 -0
- package/types/public/ReactNativeRenderer.d.ts +149 -0
- package/types/public/ReactNativeTypes.d.ts +143 -0
- package/types/tsconfig.json +15 -0
- package/types/tslint.json +23 -0
- package/Libraries/Components/MaskedView/MaskedViewIOS.ios.js +0 -93
- package/Libraries/Components/MaskedView/RCTMaskedViewNativeComponent.js +0 -21
- package/Libraries/Core/setUpSystrace.js +0 -21
- package/Libraries/Image/ImagePickerIOS.js +0 -103
- package/Libraries/Image/NativeImagePickerIOS.js +0 -38
- package/Libraries/Storage/AsyncStorage.js +0 -379
- package/Libraries/Storage/NativeAsyncLocalStorage.js +0 -44
- package/Libraries/Storage/NativeAsyncSQLiteDBStorage.js +0 -44
- package/Libraries/Utilities/JSDevSupportModule.js +0 -37
- package/Libraries/Utilities/NativeJSDevSupport.js +0 -23
- package/Libraries/vendor/emitter/EventSubscription.js +0 -19
- package/Libraries/vendor/emitter/_EmitterSubscription.js +0 -62
- package/Libraries/vendor/emitter/_EventEmitter.js +0 -184
- package/Libraries/vendor/emitter/_EventSubscription.js +0 -45
- package/Libraries/vendor/emitter/_EventSubscriptionVendor.js +0 -108
- package/React/CoreModules/RCTAsyncLocalStorage.h +0 -41
- package/React/CoreModules/RCTAsyncLocalStorage.mm +0 -474
- package/React/Views/RCTMaskedView.m +0 -34
- package/React/Views/RCTMaskedViewManager.m +0 -22
- package/ReactAndroid/src/androidTest/AndroidManifest.xml +0 -20
- package/ReactAndroid/src/androidTest/assets/BUCK +0 -7
- package/ReactAndroid/src/androidTest/buck-runner/AndroidManifest.xml +0 -28
- package/ReactAndroid/src/androidTest/buck-runner/BUCK +0 -24
- package/ReactAndroid/src/androidTest/java/com/facebook/react/bridge/ArgumentsTest.java +0 -93
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/AbstractScrollViewTestCase.java +0 -108
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/AssertModule.java +0 -53
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/BUCK +0 -46
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/FabricUIManagerFactory.java +0 -19
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/FakeAsyncLocalStorage.java +0 -56
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/FakeWebSocketModule.java +0 -44
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/InstanceSpecForTestPackage.java +0 -38
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/IntRecordingModule.java +0 -54
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/JSIntegrationTestChecker.java +0 -55
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/MultipleFailureException.java +0 -46
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactAppInstrumentationTestCase.java +0 -152
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactAppTestActivity.java +0 -378
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactInstanceSpecForTest.java +0 -127
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactInstrumentationTest.java +0 -125
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactIntegrationTestCase.java +0 -209
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactSettingsForTests.java +0 -59
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactTestAppShell.java +0 -38
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactTestApplicationImpl.java +0 -22
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactTestFactory.java +0 -27
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ReactTestHelper.java +0 -217
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/ScreenshotingFrameLayout.java +0 -77
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/SingleTouchGestureGenerator.java +0 -150
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/StringRecordingModule.java +0 -42
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/idledetection/BUCK +0 -16
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/idledetection/IdleWaiter.java +0 -14
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/idledetection/ReactBridgeIdleSignaler.java +0 -65
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/idledetection/ReactIdleDetectionUtil.java +0 -121
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/network/BUCK +0 -25
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/network/NetworkRecordingModuleMock.java +0 -147
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/rule/BUCK +0 -43
- package/ReactAndroid/src/androidTest/java/com/facebook/react/testing/rule/ReactNativeTestRule.java +0 -184
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/AnimatedTransformTest.java +0 -49
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/BUCK +0 -43
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/CatalystMeasureLayoutTest.java +0 -138
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/CatalystMultitouchHandlingTestCase.java +0 -681
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/CatalystNativeJSToJavaParametersTestCase.java +0 -837
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/CatalystNativeJavaToJSArgumentsTestCase.java +0 -385
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/CatalystNativeJavaToJSReturnValuesTestCase.java +0 -162
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/CatalystSubviewsClippingTestCase.java +0 -301
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/CatalystTouchBubblingTestCase.java +0 -155
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/CatalystUIManagerTestCase.java +0 -256
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/ImageErrorTestCase.java +0 -47
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/ImageOverlayColorTestCase.java +0 -25
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/InitialPropsTestCase.java +0 -120
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/JSLocaleTest.java +0 -102
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/JSResponderTestCase.java +0 -62
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/LayoutEventsTestCase.java +0 -37
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/NativeIdTestCase.java +0 -89
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/ProgressBarTestCase.java +0 -123
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/ReactHorizontalScrollViewTestCase.java +0 -125
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/ReactScrollViewTestCase.java +0 -127
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/ReactSwipeRefreshLayoutTestCase.java +0 -97
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/ShareTestCase.java +0 -92
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/TestIdTestCase.java +0 -46
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/TextInputTestCase.java +0 -327
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/ViewRenderingTestCase.java +0 -154
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/core/BUCK +0 -33
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/core/ReactInstanceManagerTest.java +0 -96
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/core/ReactRootViewTest.java +0 -203
- package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/core/WritableNativeMapTest.java +0 -130
- package/ReactAndroid/src/androidTest/js/AnimatedTransformTestModule.js +0 -85
- package/ReactAndroid/src/androidTest/js/Asserts.js +0 -38
- package/ReactAndroid/src/androidTest/js/BUCK +0 -29
- package/ReactAndroid/src/androidTest/js/CatalystRootViewTestModule.js +0 -62
- package/ReactAndroid/src/androidTest/js/ImageErrorTestApp.js +0 -56
- package/ReactAndroid/src/androidTest/js/ImageOverlayColorTestApp.js +0 -29
- package/ReactAndroid/src/androidTest/js/InitialPropsTestApp.js +0 -25
- package/ReactAndroid/src/androidTest/js/JSResponderTestApp.js +0 -66
- package/ReactAndroid/src/androidTest/js/LayoutEventsTestApp.js +0 -89
- package/ReactAndroid/src/androidTest/js/MeasureLayoutTestModule.js +0 -214
- package/ReactAndroid/src/androidTest/js/MultitouchHandlingTestAppModule.js +0 -78
- package/ReactAndroid/src/androidTest/js/NativeIdTestModule.js +0 -76
- package/ReactAndroid/src/androidTest/js/ProgressBarTestModule.js +0 -59
- package/ReactAndroid/src/androidTest/js/ScrollViewTestModule.js +0 -183
- package/ReactAndroid/src/androidTest/js/ShareTestModule.js +0 -36
- package/ReactAndroid/src/androidTest/js/SubviewsClippingTestModule.js +0 -369
- package/ReactAndroid/src/androidTest/js/SwipeRefreshLayoutTestModule.js +0 -101
- package/ReactAndroid/src/androidTest/js/TestBundle.js +0 -113
- package/ReactAndroid/src/androidTest/js/TestIdTestModule.js +0 -86
- package/ReactAndroid/src/androidTest/js/TestJSLocaleModule.js +0 -28
- package/ReactAndroid/src/androidTest/js/TestJSToJavaParametersModule.js +0 -125
- package/ReactAndroid/src/androidTest/js/TestJavaToJSArgumentsModule.js +0 -114
- package/ReactAndroid/src/androidTest/js/TestJavaToJSReturnValuesModule.js +0 -39
- package/ReactAndroid/src/androidTest/js/TextInputTestModule.js +0 -185
- package/ReactAndroid/src/androidTest/js/TouchBubblingTestAppModule.js +0 -84
- package/ReactAndroid/src/androidTest/js/UIManagerTestModule.js +0 -268
- package/ReactAndroid/src/androidTest/js/ViewRenderingTestModule.js +0 -109
- package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/Android.mk +0 -31
- package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/Android.mk +0 -55
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/Android.mk +0 -49
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/JSDevSupport.java +0 -103
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Android.mk +0 -105
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/JBackgroundExecutor.cpp +0 -35
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/viewPropConversions.h +0 -527
- package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/Android.mk +0 -27
- package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/CMakeLists.txt +0 -23
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/Android.mk +0 -27
- package/ReactAndroid/src/main/java/com/facebook/react/modules/storage/AsyncLocalStorageUtil.java +0 -125
- package/ReactAndroid/src/main/java/com/facebook/react/modules/storage/AsyncStorageErrorUtil.java +0 -38
- package/ReactAndroid/src/main/java/com/facebook/react/modules/storage/AsyncStorageModule.java +0 -433
- package/ReactAndroid/src/main/java/com/facebook/react/modules/storage/BUCK +0 -26
- package/ReactAndroid/src/main/java/com/facebook/react/modules/storage/ReactDatabaseSupplier.java +0 -163
- package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/jni/Android.mk +0 -32
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/Android.mk +0 -63
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementationProvider.java +0 -72
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/LockFreeEventDispatcherImpl.java +0 -242
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/Android.mk +0 -45
- package/ReactAndroid/src/main/jni/Application.mk +0 -34
- package/ReactAndroid/src/main/jni/first-party/fb/Android.mk +0 -30
- package/ReactAndroid/src/main/jni/first-party/fbgloginit/Android.mk +0 -23
- package/ReactAndroid/src/main/jni/first-party/fbjni/Android.mk +0 -14
- package/ReactAndroid/src/main/jni/first-party/fbjni/CMakeLists.txt +0 -15
- package/ReactAndroid/src/main/jni/first-party/yogajni/Android.mk +0 -27
- package/ReactAndroid/src/main/jni/react/jni/Android.mk +0 -176
- package/ReactAndroid/src/main/jni/react/jni/JNativeRunnable.h +0 -52
- package/ReactAndroid/src/main/jni/third-party/boost/Android.mk +0 -15
- package/ReactAndroid/src/main/jni/third-party/double-conversion/Android.mk +0 -22
- package/ReactAndroid/src/main/jni/third-party/fmt/Android.mk +0 -15
- package/ReactAndroid/src/main/jni/third-party/folly/Android.mk +0 -128
- package/ReactAndroid/src/main/jni/third-party/glog/Android.mk +0 -32
- package/ReactAndroid/src/main/jni/third-party/jsc/Android.mk +0 -6
- package/ReactAndroid/src/main/jni/third-party/libevent/Android.mk +0 -36
- package/ReactAndroid/src/test/java/com/facebook/common/logging/BUCK +0 -17
- package/ReactAndroid/src/test/java/com/facebook/common/logging/FakeLoggingDelegate.java +0 -138
- package/ReactAndroid/src/test/java/com/facebook/react/BUCK +0 -28
- package/ReactAndroid/src/test/java/com/facebook/react/CompositeReactPackageTest.java +0 -156
- package/ReactAndroid/src/test/java/com/facebook/react/ReactActivityDelegateTest.kt +0 -62
- package/ReactAndroid/src/test/java/com/facebook/react/RootViewTest.java +0 -255
- package/ReactAndroid/src/test/java/com/facebook/react/animated/BUCK +0 -22
- package/ReactAndroid/src/test/java/com/facebook/react/animated/NativeAnimatedInterpolationTest.java +0 -123
- package/ReactAndroid/src/test/java/com/facebook/react/animated/NativeAnimatedNodeTraversalTest.java +0 -1294
- package/ReactAndroid/src/test/java/com/facebook/react/bridge/BUCK +0 -44
- package/ReactAndroid/src/test/java/com/facebook/react/bridge/BaseJavaModuleTest.java +0 -103
- package/ReactAndroid/src/test/java/com/facebook/react/bridge/FallbackJSBundleLoaderTest.java +0 -176
- package/ReactAndroid/src/test/java/com/facebook/react/bridge/InstanceHandleHelper.java +0 -19
- package/ReactAndroid/src/test/java/com/facebook/react/bridge/JavaOnlyArrayTest.java +0 -37
- package/ReactAndroid/src/test/java/com/facebook/react/bridge/JavaScriptModuleRegistryTest.java +0 -35
- package/ReactAndroid/src/test/java/com/facebook/react/bridge/ReactTestHelper.java +0 -59
- package/ReactAndroid/src/test/java/com/facebook/react/devsupport/BUCK +0 -23
- package/ReactAndroid/src/test/java/com/facebook/react/devsupport/JSDebuggerWebSocketClientTest.java +0 -139
- package/ReactAndroid/src/test/java/com/facebook/react/devsupport/MultipartStreamReaderTest.java +0 -151
- package/ReactAndroid/src/test/java/com/facebook/react/devsupport/StackTraceHelperTest.java +0 -65
- package/ReactAndroid/src/test/java/com/facebook/react/fabric/events/BUCK +0 -16
- package/ReactAndroid/src/test/java/com/facebook/react/fabric/events/TouchEventDispatchTest.java +0 -616
- package/ReactAndroid/src/test/java/com/facebook/react/modules/BUCK +0 -45
- package/ReactAndroid/src/test/java/com/facebook/react/modules/blob/BlobModuleTest.java +0 -156
- package/ReactAndroid/src/test/java/com/facebook/react/modules/camera/ImageStoreManagerTest.java +0 -81
- package/ReactAndroid/src/test/java/com/facebook/react/modules/clipboard/ClipboardModuleTest.java +0 -57
- package/ReactAndroid/src/test/java/com/facebook/react/modules/deviceinfo/DeviceInfoModuleTest.java +0 -168
- package/ReactAndroid/src/test/java/com/facebook/react/modules/dialog/DialogModuleTest.java +0 -165
- package/ReactAndroid/src/test/java/com/facebook/react/modules/network/HeaderUtilTest.java +0 -73
- package/ReactAndroid/src/test/java/com/facebook/react/modules/network/NetworkingModuleTest.java +0 -647
- package/ReactAndroid/src/test/java/com/facebook/react/modules/network/ProgressiveStringDecoderTest.java +0 -138
- package/ReactAndroid/src/test/java/com/facebook/react/modules/network/ReactCookieJarContainerTest.java +0 -71
- package/ReactAndroid/src/test/java/com/facebook/react/modules/share/ShareModuleTest.java +0 -230
- package/ReactAndroid/src/test/java/com/facebook/react/modules/storage/AsyncStorageModuleTest.java +0 -345
- package/ReactAndroid/src/test/java/com/facebook/react/modules/timing/TimingModuleTest.java +0 -306
- package/ReactAndroid/src/test/java/com/facebook/react/packagerconnection/BUCK +0 -18
- package/ReactAndroid/src/test/java/com/facebook/react/packagerconnection/JSPackagerClientTest.java +0 -144
- package/ReactAndroid/src/test/java/com/facebook/react/uimanager/BUCK +0 -40
- package/ReactAndroid/src/test/java/com/facebook/react/uimanager/BaseViewManagerTest.java +0 -79
- package/ReactAndroid/src/test/java/com/facebook/react/uimanager/LayoutPropertyApplicatorTest.java +0 -470
- package/ReactAndroid/src/test/java/com/facebook/react/uimanager/MatrixMathHelperTest.java +0 -173
- package/ReactAndroid/src/test/java/com/facebook/react/uimanager/ReactPropAnnotationSetterSpecTest.java +0 -125
- package/ReactAndroid/src/test/java/com/facebook/react/uimanager/ReactPropAnnotationSetterTest.java +0 -499
- package/ReactAndroid/src/test/java/com/facebook/react/uimanager/ReactPropConstantsTest.java +0 -163
- package/ReactAndroid/src/test/java/com/facebook/react/uimanager/ReactPropForShadowNodeSetterTest.java +0 -160
- package/ReactAndroid/src/test/java/com/facebook/react/uimanager/ReactPropForShadowNodeSpecTest.java +0 -122
- package/ReactAndroid/src/test/java/com/facebook/react/uimanager/SimpleViewPropertyTest.java +0 -116
- package/ReactAndroid/src/test/java/com/facebook/react/uimanager/UIManagerModuleConstantsTest.java +0 -173
- package/ReactAndroid/src/test/java/com/facebook/react/uimanager/UIManagerModuleTest.java +0 -721
- package/ReactAndroid/src/test/java/com/facebook/react/uimanager/layoutanimation/BUCK +0 -16
- package/ReactAndroid/src/test/java/com/facebook/react/uimanager/layoutanimation/InterpolatorTypeTest.java +0 -49
- package/ReactAndroid/src/test/java/com/facebook/react/util/BUCK +0 -17
- package/ReactAndroid/src/test/java/com/facebook/react/util/JSStackTraceTest.java +0 -96
- package/ReactAndroid/src/test/java/com/facebook/react/views/BUCK +0 -41
- package/ReactAndroid/src/test/java/com/facebook/react/views/image/ImageResizeModeTest.java +0 -42
- package/ReactAndroid/src/test/java/com/facebook/react/views/image/ReactImagePropertyTest.java +0 -143
- package/ReactAndroid/src/test/java/com/facebook/react/views/slider/ReactSliderPropertyTest.java +0 -100
- package/ReactAndroid/src/test/java/com/facebook/react/views/text/CustomLineHeightSpanTest.java +0 -113
- package/ReactAndroid/src/test/java/com/facebook/react/views/text/ReactTextTest.java +0 -516
- package/ReactAndroid/src/test/java/com/facebook/react/views/textinput/ReactTextInputPropertyTest.java +0 -400
- package/ReactAndroid/src/test/java/com/facebook/react/views/textinput/TextInputTest.java +0 -174
- package/ReactAndroid/src/test/java/com/facebook/react/views/view/ColorUtilTest.java +0 -56
- package/ReactAndroid/src/test/java/org/mockito/configuration/BUCK +0 -13
- package/ReactAndroid/src/test/java/org/mockito/configuration/MockitoConfiguration.java +0 -24
- package/ReactAndroid/src/test/resources/BUCK +0 -18
- package/ReactAndroid/src/test/resources/robolectric.properties +0 -2
- package/ReactCommon/butter/Android.mk +0 -27
- package/ReactCommon/callinvoker/Android.mk +0 -25
- package/ReactCommon/cxxreact/Android.mk +0 -51
- package/ReactCommon/hermes/executor/Android.mk +0 -41
- package/ReactCommon/hermes/inspector/Android.mk +0 -36
- package/ReactCommon/hermes/inspector/chrome/AutoAttachUtils.cpp +0 -151
- package/ReactCommon/hermes/inspector/tools/msggen/.babelrc +0 -8
- package/ReactCommon/hermes/inspector/tools/msggen/__tests__/CommandTest.js +0 -62
- package/ReactCommon/hermes/inspector/tools/msggen/__tests__/EventTest.js +0 -47
- package/ReactCommon/hermes/inspector/tools/msggen/__tests__/GraphTest.js +0 -78
- package/ReactCommon/hermes/inspector/tools/msggen/__tests__/HeaderWriterTest.js +0 -128
- package/ReactCommon/hermes/inspector/tools/msggen/__tests__/ImplementationWriterTest.js +0 -171
- package/ReactCommon/hermes/inspector/tools/msggen/__tests__/PropertyTest.js +0 -131
- package/ReactCommon/hermes/inspector/tools/msggen/__tests__/TypeTest.js +0 -50
- package/ReactCommon/hermes/inspector/tools/msggen/package.json +0 -41
- package/ReactCommon/hermes/inspector/tools/msggen/src/Command.js +0 -79
- package/ReactCommon/hermes/inspector/tools/msggen/src/Converters.js +0 -39
- package/ReactCommon/hermes/inspector/tools/msggen/src/Event.js +0 -57
- package/ReactCommon/hermes/inspector/tools/msggen/src/GeneratedHeader.js +0 -16
- package/ReactCommon/hermes/inspector/tools/msggen/src/Graph.js +0 -90
- package/ReactCommon/hermes/inspector/tools/msggen/src/HeaderWriter.js +0 -323
- package/ReactCommon/hermes/inspector/tools/msggen/src/ImplementationWriter.js +0 -421
- package/ReactCommon/hermes/inspector/tools/msggen/src/Property.js +0 -219
- package/ReactCommon/hermes/inspector/tools/msggen/src/TestHelpers.js +0 -40
- package/ReactCommon/hermes/inspector/tools/msggen/src/Type.js +0 -98
- package/ReactCommon/hermes/inspector/tools/msggen/src/custom.json +0 -26
- package/ReactCommon/hermes/inspector/tools/msggen/src/index.js +0 -251
- package/ReactCommon/jsi/Android.mk +0 -41
- package/ReactCommon/jsiexecutor/Android.mk +0 -23
- package/ReactCommon/jsinspector/Android.mk +0 -20
- package/ReactCommon/logger/Android.mk +0 -24
- package/ReactCommon/microprofiler/BUCK +0 -30
- package/ReactCommon/microprofiler/MicroProfiler.cpp +0 -252
- package/ReactCommon/microprofiler/MicroProfiler.h +0 -89
- package/ReactCommon/react/bridging/Android.mk +0 -27
- package/ReactCommon/react/config/Android.mk +0 -26
- package/ReactCommon/react/debug/Android.mk +0 -30
- package/ReactCommon/react/nativemodule/core/Android.mk +0 -40
- package/ReactCommon/react/nativemodule/samples/platform/android/Android.mk +0 -23
- package/ReactCommon/react/renderer/animations/Android.mk +0 -58
- package/ReactCommon/react/renderer/attributedstring/Android.mk +0 -53
- package/ReactCommon/react/renderer/componentregistry/Android.mk +0 -42
- package/ReactCommon/react/renderer/componentregistry/native/Android.mk +0 -37
- package/ReactCommon/react/renderer/components/image/Android.mk +0 -51
- package/ReactCommon/react/renderer/components/modal/Android.mk +0 -55
- package/ReactCommon/react/renderer/components/progressbar/Android.mk +0 -53
- package/ReactCommon/react/renderer/components/root/Android.mk +0 -46
- package/ReactCommon/react/renderer/components/scrollview/Android.mk +0 -49
- package/ReactCommon/react/renderer/components/slider/Android.mk +0 -59
- package/ReactCommon/react/renderer/components/switch/Android.mk +0 -53
- package/ReactCommon/react/renderer/components/text/Android.mk +0 -59
- package/ReactCommon/react/renderer/components/textinput/Android.mk +0 -67
- package/ReactCommon/react/renderer/components/unimplementedview/Android.mk +0 -47
- package/ReactCommon/react/renderer/components/view/Android.mk +0 -47
- package/ReactCommon/react/renderer/core/Android.mk +0 -41
- package/ReactCommon/react/renderer/debug/Android.mk +0 -28
- package/ReactCommon/react/renderer/graphics/Android.mk +0 -39
- package/ReactCommon/react/renderer/imagemanager/Android.mk +0 -44
- package/ReactCommon/react/renderer/leakchecker/Android.mk +0 -33
- package/ReactCommon/react/renderer/mapbuffer/Android.mk +0 -34
- package/ReactCommon/react/renderer/mounting/Android.mk +0 -55
- package/ReactCommon/react/renderer/runtimescheduler/Android.mk +0 -34
- package/ReactCommon/react/renderer/scheduler/Android.mk +0 -62
- package/ReactCommon/react/renderer/telemetry/Android.mk +0 -43
- package/ReactCommon/react/renderer/templateprocessor/Android.mk +0 -46
- package/ReactCommon/react/renderer/textlayoutmanager/Android.mk +0 -63
- package/ReactCommon/react/renderer/uimanager/Android.mk +0 -58
- package/ReactCommon/react/utils/Android.mk +0 -33
- package/ReactCommon/reactperflogger/Android.mk +0 -26
- package/ReactCommon/runtimeexecutor/Android.mk +0 -19
- package/ReactCommon/yoga/Android.mk +0 -21
- package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-debug-javadoc.jar +0 -0
- package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-debug-javadoc.jar.md5 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-debug-javadoc.jar.sha1 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-debug-javadoc.jar.sha256 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-debug-javadoc.jar.sha512 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-debug-sources.jar +0 -0
- package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-debug-sources.jar.md5 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-debug-sources.jar.sha1 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-debug-sources.jar.sha256 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-debug-sources.jar.sha512 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-debug.aar +0 -0
- package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-debug.aar.md5 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-debug.aar.sha1 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-debug.aar.sha256 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-debug.aar.sha512 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-release-javadoc.jar +0 -0
- package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-release-javadoc.jar.md5 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-release-javadoc.jar.sha1 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-release-javadoc.jar.sha256 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-release-javadoc.jar.sha512 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-release-sources.jar +0 -0
- package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-release-sources.jar.md5 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-release-sources.jar.sha1 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-release-sources.jar.sha256 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-release-sources.jar.sha512 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-release.aar +0 -0
- package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-release.aar.md5 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-release.aar.sha1 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-release.aar.sha256 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2-release.aar.sha512 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2.module +0 -246
- package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2.module.md5 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2.module.sha1 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2.module.sha256 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2.module.sha512 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2.pom +0 -44
- package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2.pom.md5 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2.pom.sha1 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2.pom.sha256 +0 -1
- package/android/com/facebook/react/hermes-engine/0.69.8-2/hermes-engine-0.69.8-2.pom.sha512 +0 -1
- package/android/com/facebook/react/hermes-engine/maven-metadata.xml +0 -13
- package/android/com/facebook/react/hermes-engine/maven-metadata.xml.md5 +0 -1
- package/android/com/facebook/react/hermes-engine/maven-metadata.xml.sha1 +0 -1
- package/android/com/facebook/react/hermes-engine/maven-metadata.xml.sha256 +0 -1
- package/android/com/facebook/react/hermes-engine/maven-metadata.xml.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-debug-javadoc.jar +0 -0
- package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-debug-javadoc.jar.md5 +0 -1
- package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-debug-javadoc.jar.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-debug-javadoc.jar.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-debug-javadoc.jar.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-debug-sources.jar +0 -0
- package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-debug-sources.jar.md5 +0 -1
- package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-debug-sources.jar.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-debug-sources.jar.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-debug-sources.jar.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-debug.aar +0 -0
- package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-debug.aar.md5 +0 -1
- package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-debug.aar.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-debug.aar.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-debug.aar.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-release-javadoc.jar +0 -0
- package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-release-javadoc.jar.md5 +0 -1
- package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-release-javadoc.jar.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-release-javadoc.jar.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-release-javadoc.jar.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-release-sources.jar +0 -0
- package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-release-sources.jar.md5 +0 -1
- package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-release-sources.jar.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-release-sources.jar.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-release-sources.jar.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-release.aar +0 -0
- package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-release.aar.md5 +0 -1
- package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-release.aar.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-release.aar.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2-release.aar.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2.module +0 -670
- package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2.module.md5 +0 -1
- package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2.module.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2.module.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2.module.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2.pom +0 -156
- package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2.pom.md5 +0 -1
- package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2.pom.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2.pom.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.69.8-2/react-native-0.69.8-2.pom.sha512 +0 -1
- package/android/com/facebook/react/react-native/maven-metadata.xml +0 -13
- package/android/com/facebook/react/react-native/maven-metadata.xml.md5 +0 -1
- package/android/com/facebook/react/react-native/maven-metadata.xml.sha1 +0 -1
- package/android/com/facebook/react/react-native/maven-metadata.xml.sha256 +0 -1
- package/android/com/facebook/react/react-native/maven-metadata.xml.sha512 +0 -1
- package/jest/preprocessor.js +0 -40
- package/jest/preprocessor_DO_NOT_USE.js +0 -122
- package/scripts/generate-artifacts.js +0 -318
- package/template/_buckconfig +0 -6
- package/template/_flowconfig +0 -66
- package/template/_ruby-version +0 -1
- package/template/android/app/_BUCK +0 -55
- package/template/android/app/build_defs.bzl +0 -19
- package/template/android/app/src/main/java/com/helloworld/newarchitecture/MainApplicationReactNativeHost.java +0 -116
- package/template/android/app/src/main/java/com/helloworld/newarchitecture/components/MainComponentsRegistry.java +0 -36
- package/template/android/app/src/main/java/com/helloworld/newarchitecture/modules/MainApplicationTurboModuleManagerDelegate.java +0 -48
- package/template/android/app/src/main/jni/Android.mk +0 -48
- package/template/android/app/src/main/jni/MainApplicationModuleProvider.cpp +0 -24
- package/template/android/app/src/main/jni/MainApplicationModuleProvider.h +0 -16
- package/template/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.cpp +0 -45
- package/template/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.h +0 -38
- package/template/android/app/src/main/jni/MainComponentsRegistry.h +0 -32
- package/template/android/app/src/main/jni/OnLoad.cpp +0 -11
- package/tvos-types.d.ts +0 -192
- /package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/AsyncEventBeat.cpp +0 -0
- /package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/AsyncEventBeat.h +0 -0
- /package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/ComponentFactory.cpp +0 -0
- /package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/ComponentFactory.h +0 -0
- /package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/CoreComponentsRegistry.cpp +0 -0
- /package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/CoreComponentsRegistry.h +0 -0
- /package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/EventBeatManager.cpp +0 -0
- /package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/EventBeatManager.h +0 -0
- /package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/EventEmitterWrapper.cpp +0 -0
- /package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/EventEmitterWrapper.h +0 -0
- /package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/JFabricUIManager.cpp +0 -0
- /package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/JFabricUIManager.h +0 -0
- /package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/ReactNativeConfigHolder.cpp +0 -0
- /package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/ReactNativeConfigHolder.h +0 -0
- /package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/StateWrapperImpl.cpp +0 -0
- /package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/StateWrapperImpl.h +0 -0
- /package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/SurfaceHandlerBinding.cpp +0 -0
- /package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/SurfaceHandlerBinding.h +0 -0
- /package/ReactAndroid/src/main/{java/com/facebook → jni/react}/hermes/instrumentation/CMakeLists.txt +0 -0
- /package/ReactAndroid/src/main/{java/com/facebook → jni/react}/hermes/instrumentation/HermesMemoryDumper.h +0 -0
- /package/ReactAndroid/src/main/{java/com/facebook → jni/react}/hermes/instrumentation/HermesSamplingProfiler.cpp +0 -0
- /package/ReactAndroid/src/main/{java/com/facebook → jni/react}/hermes/instrumentation/HermesSamplingProfiler.h +0 -0
- /package/ReactAndroid/src/main/{java/com/facebook → jni/react}/hermes/instrumentation/OnLoad.cpp +0 -0
- /package/ReactAndroid/src/main/{java/com/facebook/react/common/mapbuffer/jni → jni/react/mapbuffer}/CMakeLists.txt +0 -0
- /package/ReactAndroid/src/main/{java/com/facebook/react/common/mapbuffer/jni → jni/react/mapbuffer}/react/common/mapbuffer/.clang-tidy +0 -0
- /package/ReactAndroid/src/main/{java/com/facebook/react/common/mapbuffer/jni → jni/react/mapbuffer}/react/common/mapbuffer/JReadableMapBuffer.cpp +0 -0
- /package/ReactAndroid/src/main/{java/com/facebook/react/common/mapbuffer/jni → jni/react/mapbuffer}/react/common/mapbuffer/JReadableMapBuffer.h +0 -0
- /package/ReactAndroid/src/main/{java/com/facebook/react/common/mapbuffer/jni → jni/react/mapbuffer}/react/common/mapbuffer/JWritableMapBuffer.cpp +0 -0
- /package/ReactAndroid/src/main/{java/com/facebook/react/common/mapbuffer/jni → jni/react/mapbuffer}/react/common/mapbuffer/JWritableMapBuffer.h +0 -0
- /package/ReactAndroid/src/main/{java/com/facebook/react/common/mapbuffer/jni → jni/react/mapbuffer}/react/common/mapbuffer/OnLoad.cpp +0 -0
- /package/ReactAndroid/src/main/{java/com/facebook/react/modules/blob/jni → jni/react/reactnativeblob}/BlobCollector.cpp +0 -0
- /package/ReactAndroid/src/main/{java/com/facebook/react/modules/blob/jni → jni/react/reactnativeblob}/BlobCollector.h +0 -0
- /package/ReactAndroid/src/main/{java/com/facebook/react/modules/blob/jni → jni/react/reactnativeblob}/CMakeLists.txt +0 -0
- /package/ReactAndroid/src/main/{java/com/facebook/react/modules/blob/jni → jni/react/reactnativeblob}/OnLoad.cpp +0 -0
- /package/ReactAndroid/src/main/{java/com/facebook/react/reactperflogger/jni → jni/react/reactperflogger}/CMakeLists.txt +0 -0
- /package/ReactAndroid/src/main/{java/com/facebook/react/reactperflogger/jni → jni/react/reactperflogger}/reactperflogger/JNativeModulePerfLogger.h +0 -0
- /package/ReactAndroid/src/main/{java/com/facebook/react/reactperflogger/jni → jni/react/reactperflogger}/reactperflogger/OnLoad.cpp +0 -0
- /package/ReactAndroid/src/main/{java/com/facebook/react/turbomodule/core/jni → jni/react/turbomodule}/ReactCommon/CallInvokerHolder.cpp +0 -0
- /package/ReactAndroid/src/main/{java/com/facebook/react/turbomodule/core/jni → jni/react/turbomodule}/ReactCommon/CallInvokerHolder.h +0 -0
- /package/ReactAndroid/src/main/{java/com/facebook/react/turbomodule/core/jni → jni/react/turbomodule}/ReactCommon/TurboModuleManager.h +0 -0
- /package/ReactAndroid/src/main/{java/com/facebook/react/uimanager/jni → jni/react/uimanager}/CMakeLists.txt +0 -0
- /package/ReactAndroid/src/main/{java/com/facebook/react/uimanager/jni → jni/react/uimanager}/ComponentNameResolverManager.cpp +0 -0
- /package/ReactAndroid/src/main/{java/com/facebook/react/uimanager/jni → jni/react/uimanager}/ComponentNameResolverManager.h +0 -0
- /package/ReactAndroid/src/main/{java/com/facebook/react/uimanager/jni → jni/react/uimanager}/OnLoad.cpp +0 -0
- /package/ReactCommon/{jsi → jsc}/JSCRuntime.h +0 -0
- /package/template/__tests__/{App-test.js → App-test.tsx} +0 -0
|
@@ -8,61 +8,53 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
const Batchinator = require('../Interaction/Batchinator');
|
|
12
|
-
const FillRateHelper = require('./FillRateHelper');
|
|
13
|
-
const ReactNative = require('../Renderer/shims/ReactNative');
|
|
14
|
-
const RefreshControl = require('../Components/RefreshControl/RefreshControl');
|
|
15
|
-
const ScrollView = require('../Components/ScrollView/ScrollView');
|
|
16
|
-
const StyleSheet = require('../StyleSheet/StyleSheet');
|
|
17
|
-
const View = require('../Components/View/View');
|
|
18
|
-
const ViewabilityHelper = require('./ViewabilityHelper');
|
|
19
|
-
|
|
20
|
-
const flattenStyle = require('../StyleSheet/flattenStyle');
|
|
21
|
-
const infoLog = require('../Utilities/infoLog');
|
|
22
|
-
const invariant = require('invariant');
|
|
23
|
-
|
|
24
|
-
import {
|
|
25
|
-
keyExtractor as defaultKeyExtractor,
|
|
26
|
-
computeWindowedRenderLimits,
|
|
27
|
-
} from './VirtualizeUtils';
|
|
28
|
-
|
|
29
|
-
import * as React from 'react';
|
|
30
11
|
import type {ScrollResponderType} from '../Components/ScrollView/ScrollView';
|
|
31
12
|
import type {ViewStyleProp} from '../StyleSheet/StyleSheet';
|
|
13
|
+
import type {LayoutEvent, ScrollEvent} from '../Types/CoreEventTypes';
|
|
14
|
+
import type {ViewToken} from './ViewabilityHelper';
|
|
32
15
|
import type {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
16
|
+
FrameMetricProps,
|
|
17
|
+
Item,
|
|
18
|
+
Props,
|
|
19
|
+
RenderItemProps,
|
|
20
|
+
RenderItemType,
|
|
21
|
+
Separators,
|
|
22
|
+
} from './VirtualizedListProps';
|
|
23
|
+
|
|
24
|
+
import RefreshControl from '../Components/RefreshControl/RefreshControl';
|
|
25
|
+
import ScrollView from '../Components/ScrollView/ScrollView';
|
|
26
|
+
import View from '../Components/View/View';
|
|
27
|
+
import Batchinator from '../Interaction/Batchinator';
|
|
28
|
+
import {findNodeHandle} from '../ReactNative/RendererProxy';
|
|
29
|
+
import flattenStyle from '../StyleSheet/flattenStyle';
|
|
30
|
+
import StyleSheet from '../StyleSheet/StyleSheet';
|
|
31
|
+
import clamp from '../Utilities/clamp';
|
|
32
|
+
import infoLog from '../Utilities/infoLog';
|
|
33
|
+
import {CellRenderMask} from './CellRenderMask';
|
|
34
|
+
import ChildListCollection from './ChildListCollection';
|
|
35
|
+
import FillRateHelper from './FillRateHelper';
|
|
36
|
+
import StateSafePureComponent from './StateSafePureComponent';
|
|
37
|
+
import ViewabilityHelper from './ViewabilityHelper';
|
|
38
|
+
import CellRenderer from './VirtualizedListCellRenderer';
|
|
38
39
|
import {
|
|
39
40
|
VirtualizedListCellContextProvider,
|
|
40
41
|
VirtualizedListContext,
|
|
41
42
|
VirtualizedListContextProvider,
|
|
42
|
-
type ChildListState,
|
|
43
|
-
type ListDebugInfo,
|
|
44
43
|
} from './VirtualizedListContext.js';
|
|
45
44
|
import TVFocusGuideView from '../Components/TV/TVFocusGuideView';
|
|
45
|
+
import {
|
|
46
|
+
computeWindowedRenderLimits,
|
|
47
|
+
keyExtractor as defaultKeyExtractor,
|
|
48
|
+
} from './VirtualizeUtils';
|
|
49
|
+
import invariant from 'invariant';
|
|
50
|
+
import * as React from 'react';
|
|
46
51
|
|
|
47
|
-
type
|
|
48
|
-
|
|
49
|
-
export type Separators = {
|
|
50
|
-
highlight: () => void,
|
|
51
|
-
unhighlight: () => void,
|
|
52
|
-
updateProps: (select: 'leading' | 'trailing', newProps: Object) => void,
|
|
53
|
-
...
|
|
54
|
-
};
|
|
52
|
+
export type {RenderItemProps, RenderItemType, Separators};
|
|
55
53
|
|
|
56
|
-
|
|
57
|
-
item: ItemT,
|
|
58
|
-
index: number,
|
|
59
|
-
separators: Separators,
|
|
60
|
-
...
|
|
61
|
-
};
|
|
54
|
+
const ON_END_REACHED_EPSILON = 0.001;
|
|
62
55
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
) => React.Node;
|
|
56
|
+
let _usedIndexForKey = false;
|
|
57
|
+
let _keylessItemComponentName: string = '';
|
|
66
58
|
|
|
67
59
|
type ViewabilityHelperCallbackTuple = {
|
|
68
60
|
viewabilityHelper: ViewabilityHelper,
|
|
@@ -74,245 +66,9 @@ type ViewabilityHelperCallbackTuple = {
|
|
|
74
66
|
...
|
|
75
67
|
};
|
|
76
68
|
|
|
77
|
-
type RequiredProps = {|
|
|
78
|
-
/**
|
|
79
|
-
* The default accessor functions assume this is an Array<{key: string} | {id: string}> but you can override
|
|
80
|
-
* getItem, getItemCount, and keyExtractor to handle any type of index-based data.
|
|
81
|
-
*/
|
|
82
|
-
data?: any,
|
|
83
|
-
/**
|
|
84
|
-
* A generic accessor for extracting an item from any sort of data blob.
|
|
85
|
-
*/
|
|
86
|
-
getItem: (data: any, index: number) => ?Item,
|
|
87
|
-
/**
|
|
88
|
-
* Determines how many items are in the data blob.
|
|
89
|
-
*/
|
|
90
|
-
getItemCount: (data: any) => number,
|
|
91
|
-
|};
|
|
92
|
-
type OptionalProps = {|
|
|
93
|
-
renderItem?: ?RenderItemType<Item>,
|
|
94
|
-
/**
|
|
95
|
-
* `debug` will turn on extra logging and visual overlays to aid with debugging both usage and
|
|
96
|
-
* implementation, but with a significant perf hit.
|
|
97
|
-
*/
|
|
98
|
-
debug?: ?boolean,
|
|
99
|
-
/**
|
|
100
|
-
* DEPRECATED: Virtualization provides significant performance and memory optimizations, but fully
|
|
101
|
-
* unmounts react instances that are outside of the render window. You should only need to disable
|
|
102
|
-
* this for debugging purposes. Defaults to false.
|
|
103
|
-
*/
|
|
104
|
-
disableVirtualization?: ?boolean,
|
|
105
|
-
/**
|
|
106
|
-
* A marker property for telling the list to re-render (since it implements `PureComponent`). If
|
|
107
|
-
* any of your `renderItem`, Header, Footer, etc. functions depend on anything outside of the
|
|
108
|
-
* `data` prop, stick it here and treat it immutably.
|
|
109
|
-
*/
|
|
110
|
-
extraData?: any,
|
|
111
|
-
// e.g. height, y
|
|
112
|
-
getItemLayout?: (
|
|
113
|
-
data: any,
|
|
114
|
-
index: number,
|
|
115
|
-
) => {
|
|
116
|
-
length: number,
|
|
117
|
-
offset: number,
|
|
118
|
-
index: number,
|
|
119
|
-
...
|
|
120
|
-
},
|
|
121
|
-
horizontal?: ?boolean,
|
|
122
|
-
/**
|
|
123
|
-
* How many items to render in the initial batch. This should be enough to fill the screen but not
|
|
124
|
-
* much more. Note these items will never be unmounted as part of the windowed rendering in order
|
|
125
|
-
* to improve perceived performance of scroll-to-top actions.
|
|
126
|
-
*/
|
|
127
|
-
initialNumToRender?: ?number,
|
|
128
|
-
/**
|
|
129
|
-
* Instead of starting at the top with the first item, start at `initialScrollIndex`. This
|
|
130
|
-
* disables the "scroll to top" optimization that keeps the first `initialNumToRender` items
|
|
131
|
-
* always rendered and immediately renders the items starting at this initial index. Requires
|
|
132
|
-
* `getItemLayout` to be implemented.
|
|
133
|
-
*/
|
|
134
|
-
initialScrollIndex?: ?number,
|
|
135
|
-
/**
|
|
136
|
-
* Reverses the direction of scroll. Uses scale transforms of -1.
|
|
137
|
-
*/
|
|
138
|
-
inverted?: ?boolean,
|
|
139
|
-
keyExtractor?: ?(item: Item, index: number) => string,
|
|
140
|
-
/**
|
|
141
|
-
* Each cell is rendered using this element. Can be a React Component Class,
|
|
142
|
-
* or a render function. Defaults to using View.
|
|
143
|
-
*/
|
|
144
|
-
CellRendererComponent?: ?React.ComponentType<any>,
|
|
145
|
-
/**
|
|
146
|
-
* Rendered in between each item, but not at the top or bottom. By default, `highlighted` and
|
|
147
|
-
* `leadingItem` props are provided. `renderItem` provides `separators.highlight`/`unhighlight`
|
|
148
|
-
* which will update the `highlighted` prop, but you can also add custom props with
|
|
149
|
-
* `separators.updateProps`.
|
|
150
|
-
*/
|
|
151
|
-
ItemSeparatorComponent?: ?React.ComponentType<any>,
|
|
152
|
-
/**
|
|
153
|
-
* Takes an item from `data` and renders it into the list. Example usage:
|
|
154
|
-
*
|
|
155
|
-
* <FlatList
|
|
156
|
-
* ItemSeparatorComponent={Platform.OS !== 'android' && ({highlighted}) => (
|
|
157
|
-
* <View style={[style.separator, highlighted && {marginLeft: 0}]} />
|
|
158
|
-
* )}
|
|
159
|
-
* data={[{title: 'Title Text', key: 'item1'}]}
|
|
160
|
-
* ListItemComponent={({item, separators}) => (
|
|
161
|
-
* <TouchableHighlight
|
|
162
|
-
* onPress={() => this._onPress(item)}
|
|
163
|
-
* onShowUnderlay={separators.highlight}
|
|
164
|
-
* onHideUnderlay={separators.unhighlight}>
|
|
165
|
-
* <View style={{backgroundColor: 'white'}}>
|
|
166
|
-
* <Text>{item.title}</Text>
|
|
167
|
-
* </View>
|
|
168
|
-
* </TouchableHighlight>
|
|
169
|
-
* )}
|
|
170
|
-
* />
|
|
171
|
-
*
|
|
172
|
-
* Provides additional metadata like `index` if you need it, as well as a more generic
|
|
173
|
-
* `separators.updateProps` function which let's you set whatever props you want to change the
|
|
174
|
-
* rendering of either the leading separator or trailing separator in case the more common
|
|
175
|
-
* `highlight` and `unhighlight` (which set the `highlighted: boolean` prop) are insufficient for
|
|
176
|
-
* your use-case.
|
|
177
|
-
*/
|
|
178
|
-
ListItemComponent?: ?(React.ComponentType<any> | React.Element<any>),
|
|
179
|
-
/**
|
|
180
|
-
* Rendered when the list is empty. Can be a React Component Class, a render function, or
|
|
181
|
-
* a rendered element.
|
|
182
|
-
*/
|
|
183
|
-
ListEmptyComponent?: ?(React.ComponentType<any> | React.Element<any>),
|
|
184
|
-
/**
|
|
185
|
-
* Rendered at the bottom of all the items. Can be a React Component Class, a render function, or
|
|
186
|
-
* a rendered element.
|
|
187
|
-
*/
|
|
188
|
-
ListFooterComponent?: ?(React.ComponentType<any> | React.Element<any>),
|
|
189
|
-
/**
|
|
190
|
-
* Styling for internal View for ListFooterComponent
|
|
191
|
-
*/
|
|
192
|
-
ListFooterComponentStyle?: ViewStyleProp,
|
|
193
|
-
/**
|
|
194
|
-
* Rendered at the top of all the items. Can be a React Component Class, a render function, or
|
|
195
|
-
* a rendered element.
|
|
196
|
-
*/
|
|
197
|
-
ListHeaderComponent?: ?(React.ComponentType<any> | React.Element<any>),
|
|
198
|
-
/**
|
|
199
|
-
* Styling for internal View for ListHeaderComponent
|
|
200
|
-
*/
|
|
201
|
-
ListHeaderComponentStyle?: ViewStyleProp,
|
|
202
|
-
/**
|
|
203
|
-
* A unique identifier for this list. If there are multiple VirtualizedLists at the same level of
|
|
204
|
-
* nesting within another VirtualizedList, this key is necessary for virtualization to
|
|
205
|
-
* work properly.
|
|
206
|
-
*/
|
|
207
|
-
listKey?: string,
|
|
208
|
-
/**
|
|
209
|
-
* The maximum number of items to render in each incremental render batch. The more rendered at
|
|
210
|
-
* once, the better the fill rate, but responsiveness may suffer because rendering content may
|
|
211
|
-
* interfere with responding to button taps or other interactions.
|
|
212
|
-
*/
|
|
213
|
-
maxToRenderPerBatch?: ?number,
|
|
214
|
-
/**
|
|
215
|
-
* Called once when the scroll position gets within `onEndReachedThreshold` of the rendered
|
|
216
|
-
* content.
|
|
217
|
-
*/
|
|
218
|
-
onEndReached?: ?(info: {distanceFromEnd: number, ...}) => void,
|
|
219
|
-
/**
|
|
220
|
-
* How far from the end (in units of visible length of the list) the bottom edge of the
|
|
221
|
-
* list must be from the end of the content to trigger the `onEndReached` callback.
|
|
222
|
-
* Thus a value of 0.5 will trigger `onEndReached` when the end of the content is
|
|
223
|
-
* within half the visible length of the list.
|
|
224
|
-
*/
|
|
225
|
-
onEndReachedThreshold?: ?number,
|
|
226
|
-
/**
|
|
227
|
-
* If provided, a standard RefreshControl will be added for "Pull to Refresh" functionality. Make
|
|
228
|
-
* sure to also set the `refreshing` prop correctly.
|
|
229
|
-
*/
|
|
230
|
-
onRefresh?: ?() => void,
|
|
231
|
-
/**
|
|
232
|
-
* Used to handle failures when scrolling to an index that has not been measured yet. Recommended
|
|
233
|
-
* action is to either compute your own offset and `scrollTo` it, or scroll as far as possible and
|
|
234
|
-
* then try again after more items have been rendered.
|
|
235
|
-
*/
|
|
236
|
-
onScrollToIndexFailed?: ?(info: {
|
|
237
|
-
index: number,
|
|
238
|
-
highestMeasuredFrameIndex: number,
|
|
239
|
-
averageItemLength: number,
|
|
240
|
-
...
|
|
241
|
-
}) => void,
|
|
242
|
-
/**
|
|
243
|
-
* Called when the viewability of rows changes, as defined by the
|
|
244
|
-
* `viewabilityConfig` prop.
|
|
245
|
-
*/
|
|
246
|
-
onViewableItemsChanged?: ?(info: {
|
|
247
|
-
viewableItems: Array<ViewToken>,
|
|
248
|
-
changed: Array<ViewToken>,
|
|
249
|
-
...
|
|
250
|
-
}) => void,
|
|
251
|
-
persistentScrollbar?: ?boolean,
|
|
252
|
-
/**
|
|
253
|
-
* Set this when offset is needed for the loading indicator to show correctly.
|
|
254
|
-
*/
|
|
255
|
-
progressViewOffset?: number,
|
|
256
|
-
/**
|
|
257
|
-
* A custom refresh control element. When set, it overrides the default
|
|
258
|
-
* <RefreshControl> component built internally. The onRefresh and refreshing
|
|
259
|
-
* props are also ignored. Only works for vertical VirtualizedList.
|
|
260
|
-
*/
|
|
261
|
-
refreshControl?: ?React.Element<any>,
|
|
262
|
-
/**
|
|
263
|
-
* Set this true while waiting for new data from a refresh.
|
|
264
|
-
*/
|
|
265
|
-
refreshing?: ?boolean,
|
|
266
|
-
/**
|
|
267
|
-
* Note: may have bugs (missing content) in some circumstances - use at your own risk.
|
|
268
|
-
*
|
|
269
|
-
* This may improve scroll performance for large lists.
|
|
270
|
-
*/
|
|
271
|
-
removeClippedSubviews?: boolean,
|
|
272
|
-
/**
|
|
273
|
-
* Render a custom scroll component, e.g. with a differently styled `RefreshControl`.
|
|
274
|
-
*/
|
|
275
|
-
renderScrollComponent?: (props: Object) => React.Element<any>,
|
|
276
|
-
/**
|
|
277
|
-
* Amount of time between low-pri item render batches, e.g. for rendering items quite a ways off
|
|
278
|
-
* screen. Similar fill rate/responsiveness tradeoff as `maxToRenderPerBatch`.
|
|
279
|
-
*/
|
|
280
|
-
updateCellsBatchingPeriod?: ?number,
|
|
281
|
-
/**
|
|
282
|
-
* See `ViewabilityHelper` for flow type and further documentation.
|
|
283
|
-
*/
|
|
284
|
-
viewabilityConfig?: ViewabilityConfig,
|
|
285
|
-
/**
|
|
286
|
-
* List of ViewabilityConfig/onViewableItemsChanged pairs. A specific onViewableItemsChanged
|
|
287
|
-
* will be called when its corresponding ViewabilityConfig's conditions are met.
|
|
288
|
-
*/
|
|
289
|
-
viewabilityConfigCallbackPairs?: Array<ViewabilityConfigCallbackPair>,
|
|
290
|
-
/**
|
|
291
|
-
* Determines the maximum number of items rendered outside of the visible area, in units of
|
|
292
|
-
* visible lengths. So if your list fills the screen, then `windowSize={21}` (the default) will
|
|
293
|
-
* render the visible screen area plus up to 10 screens above and 10 below the viewport. Reducing
|
|
294
|
-
* this number will reduce memory consumption and may improve performance, but will increase the
|
|
295
|
-
* chance that fast scrolling may reveal momentary blank areas of unrendered content.
|
|
296
|
-
*/
|
|
297
|
-
windowSize?: ?number,
|
|
298
|
-
/**
|
|
299
|
-
* The legacy implementation is no longer supported.
|
|
300
|
-
*/
|
|
301
|
-
legacyImplementation?: empty,
|
|
302
|
-
|};
|
|
303
|
-
|
|
304
|
-
type Props = {|
|
|
305
|
-
...React.ElementConfig<typeof ScrollView>,
|
|
306
|
-
...RequiredProps,
|
|
307
|
-
...OptionalProps,
|
|
308
|
-
|};
|
|
309
|
-
|
|
310
|
-
let _usedIndexForKey = false;
|
|
311
|
-
let _keylessItemComponentName: string = '';
|
|
312
|
-
|
|
313
69
|
type State = {
|
|
314
|
-
|
|
315
|
-
last: number,
|
|
70
|
+
renderMask: CellRenderMask,
|
|
71
|
+
cellsAroundViewport: {first: number, last: number},
|
|
316
72
|
};
|
|
317
73
|
|
|
318
74
|
/**
|
|
@@ -350,6 +106,19 @@ function windowSizeOrDefault(windowSize: ?number) {
|
|
|
350
106
|
return windowSize ?? 21;
|
|
351
107
|
}
|
|
352
108
|
|
|
109
|
+
function findLastWhere<T>(
|
|
110
|
+
arr: $ReadOnlyArray<T>,
|
|
111
|
+
predicate: (element: T) => boolean,
|
|
112
|
+
): T | null {
|
|
113
|
+
for (let i = arr.length - 1; i >= 0; i--) {
|
|
114
|
+
if (predicate(arr[i])) {
|
|
115
|
+
return arr[i];
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
return null;
|
|
120
|
+
}
|
|
121
|
+
|
|
353
122
|
/**
|
|
354
123
|
* Base implementation for the more convenient [`<FlatList>`](https://reactnative.dev/docs/flatlist)
|
|
355
124
|
* and [`<SectionList>`](https://reactnative.dev/docs/sectionlist) components, which are also better
|
|
@@ -379,14 +148,17 @@ function windowSizeOrDefault(windowSize: ?number) {
|
|
|
379
148
|
* - As an effort to remove defaultProps, use helper functions when referencing certain props
|
|
380
149
|
*
|
|
381
150
|
*/
|
|
382
|
-
class VirtualizedList extends
|
|
151
|
+
export default class VirtualizedList extends StateSafePureComponent<
|
|
152
|
+
Props,
|
|
153
|
+
State,
|
|
154
|
+
> {
|
|
383
155
|
static contextType: typeof VirtualizedListContext = VirtualizedListContext;
|
|
384
156
|
|
|
385
157
|
// scrollToEnd may be janky without getItemLayout prop
|
|
386
158
|
scrollToEnd(params?: ?{animated?: ?boolean, ...}) {
|
|
387
159
|
const animated = params ? params.animated : true;
|
|
388
160
|
const veryLast = this.props.getItemCount(this.props.data) - 1;
|
|
389
|
-
const frame = this.__getFrameMetricsApprox(veryLast);
|
|
161
|
+
const frame = this.__getFrameMetricsApprox(veryLast, this.props);
|
|
390
162
|
const offset = Math.max(
|
|
391
163
|
0,
|
|
392
164
|
frame.offset +
|
|
@@ -422,7 +194,7 @@ class VirtualizedList extends React.PureComponent<Props, State> {
|
|
|
422
194
|
viewOffset?: number,
|
|
423
195
|
viewPosition?: number,
|
|
424
196
|
...
|
|
425
|
-
}) {
|
|
197
|
+
}): $FlowFixMe {
|
|
426
198
|
const {
|
|
427
199
|
data,
|
|
428
200
|
horizontal,
|
|
@@ -460,11 +232,11 @@ class VirtualizedList extends React.PureComponent<Props, State> {
|
|
|
460
232
|
});
|
|
461
233
|
return;
|
|
462
234
|
}
|
|
463
|
-
const frame = this.__getFrameMetricsApprox(index);
|
|
235
|
+
const frame = this.__getFrameMetricsApprox(Math.floor(index), this.props);
|
|
464
236
|
const offset =
|
|
465
237
|
Math.max(
|
|
466
238
|
0,
|
|
467
|
-
|
|
239
|
+
this._getOffsetApprox(index, this.props) -
|
|
468
240
|
(viewPosition || 0) *
|
|
469
241
|
(this._scrollMetrics.visibleLength - frame.length),
|
|
470
242
|
) - (viewOffset || 0);
|
|
@@ -492,6 +264,7 @@ class VirtualizedList extends React.PureComponent<Props, State> {
|
|
|
492
264
|
scrollToItem(params: {
|
|
493
265
|
animated?: ?boolean,
|
|
494
266
|
item: Item,
|
|
267
|
+
viewOffset?: number,
|
|
495
268
|
viewPosition?: number,
|
|
496
269
|
...
|
|
497
270
|
}) {
|
|
@@ -541,12 +314,12 @@ class VirtualizedList extends React.PureComponent<Props, State> {
|
|
|
541
314
|
|
|
542
315
|
recordInteraction() {
|
|
543
316
|
this._nestedChildLists.forEach(childList => {
|
|
544
|
-
childList.
|
|
317
|
+
childList.recordInteraction();
|
|
545
318
|
});
|
|
546
319
|
this._viewabilityTuples.forEach(t => {
|
|
547
320
|
t.viewabilityHelper.recordInteraction();
|
|
548
321
|
});
|
|
549
|
-
this._updateViewableItems(this.props.
|
|
322
|
+
this._updateViewableItems(this.props, this.state.cellsAroundViewport);
|
|
550
323
|
}
|
|
551
324
|
|
|
552
325
|
flashScrollIndicators() {
|
|
@@ -572,7 +345,7 @@ class VirtualizedList extends React.PureComponent<Props, State> {
|
|
|
572
345
|
if (this._scrollRef && this._scrollRef.getScrollableNode) {
|
|
573
346
|
return this._scrollRef.getScrollableNode();
|
|
574
347
|
} else {
|
|
575
|
-
return
|
|
348
|
+
return findNodeHandle(this._scrollRef);
|
|
576
349
|
}
|
|
577
350
|
}
|
|
578
351
|
|
|
@@ -596,19 +369,7 @@ class VirtualizedList extends React.PureComponent<Props, State> {
|
|
|
596
369
|
return this.context?.cellKey || 'rootList';
|
|
597
370
|
}
|
|
598
371
|
|
|
599
|
-
|
|
600
|
-
return this.props.listKey || this._getCellKey();
|
|
601
|
-
}
|
|
602
|
-
|
|
603
|
-
_getDebugInfo(): ListDebugInfo {
|
|
604
|
-
return {
|
|
605
|
-
listKey: this._getListKey(),
|
|
606
|
-
cellKey: this._getCellKey(),
|
|
607
|
-
horizontal: horizontalOrDefault(this.props.horizontal),
|
|
608
|
-
parent: this.context?.debugInfo,
|
|
609
|
-
};
|
|
610
|
-
}
|
|
611
|
-
|
|
372
|
+
// $FlowFixMe[missing-local-annot]
|
|
612
373
|
_getScrollMetrics = () => {
|
|
613
374
|
return this._scrollMetrics;
|
|
614
375
|
};
|
|
@@ -617,6 +378,7 @@ class VirtualizedList extends React.PureComponent<Props, State> {
|
|
|
617
378
|
return this._hasMore;
|
|
618
379
|
}
|
|
619
380
|
|
|
381
|
+
// $FlowFixMe[missing-local-annot]
|
|
620
382
|
_getOutermostParentListRef = () => {
|
|
621
383
|
if (this._isNestedWithSameOrientation()) {
|
|
622
384
|
return this.context.getOutermostParentListRef();
|
|
@@ -625,56 +387,20 @@ class VirtualizedList extends React.PureComponent<Props, State> {
|
|
|
625
387
|
}
|
|
626
388
|
};
|
|
627
389
|
|
|
628
|
-
_getNestedChildState = (key: string): ?ChildListState => {
|
|
629
|
-
const existingChildData = this._nestedChildLists.get(key);
|
|
630
|
-
return existingChildData && existingChildData.state;
|
|
631
|
-
};
|
|
632
|
-
|
|
633
390
|
_registerAsNestedChild = (childList: {
|
|
634
391
|
cellKey: string,
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
...
|
|
639
|
-
}): ?ChildListState => {
|
|
640
|
-
// Register the mapping between this child key and the cellKey for its cell
|
|
641
|
-
const childListsInCell =
|
|
642
|
-
this._cellKeysToChildListKeys.get(childList.cellKey) || new Set();
|
|
643
|
-
childListsInCell.add(childList.key);
|
|
644
|
-
this._cellKeysToChildListKeys.set(childList.cellKey, childListsInCell);
|
|
645
|
-
const existingChildData = this._nestedChildLists.get(childList.key);
|
|
646
|
-
if (existingChildData && existingChildData.ref !== null) {
|
|
647
|
-
console.error(
|
|
648
|
-
'A VirtualizedList contains a cell which itself contains ' +
|
|
649
|
-
'more than one VirtualizedList of the same orientation as the parent ' +
|
|
650
|
-
'list. You must pass a unique listKey prop to each sibling list.\n\n' +
|
|
651
|
-
describeNestedLists({
|
|
652
|
-
...childList,
|
|
653
|
-
// We're called from the child's componentDidMount, so it's safe to
|
|
654
|
-
// read the child's props here (albeit weird).
|
|
655
|
-
horizontal: !!childList.ref.props.horizontal,
|
|
656
|
-
}),
|
|
657
|
-
);
|
|
658
|
-
}
|
|
659
|
-
this._nestedChildLists.set(childList.key, {
|
|
660
|
-
ref: childList.ref,
|
|
661
|
-
state: null,
|
|
662
|
-
});
|
|
663
|
-
|
|
392
|
+
ref: React.ElementRef<typeof VirtualizedList>,
|
|
393
|
+
}): void => {
|
|
394
|
+
this._nestedChildLists.add(childList.ref, childList.cellKey);
|
|
664
395
|
if (this._hasInteracted) {
|
|
665
396
|
childList.ref.recordInteraction();
|
|
666
397
|
}
|
|
667
398
|
};
|
|
668
399
|
|
|
669
400
|
_unregisterAsNestedChild = (childList: {
|
|
670
|
-
|
|
671
|
-
state: ChildListState,
|
|
672
|
-
...
|
|
401
|
+
ref: React.ElementRef<typeof VirtualizedList>,
|
|
673
402
|
}): void => {
|
|
674
|
-
this._nestedChildLists.
|
|
675
|
-
ref: null,
|
|
676
|
-
state: childList.state,
|
|
677
|
-
});
|
|
403
|
+
this._nestedChildLists.remove(childList.ref);
|
|
678
404
|
};
|
|
679
405
|
|
|
680
406
|
state: State;
|
|
@@ -692,6 +418,11 @@ class VirtualizedList extends React.PureComponent<Props, State> {
|
|
|
692
418
|
'VirtualizedList: The windowSize prop must be present and set to a value greater than 0.',
|
|
693
419
|
);
|
|
694
420
|
|
|
421
|
+
invariant(
|
|
422
|
+
props.getItemCount,
|
|
423
|
+
'VirtualizedList: The "getItemCount" prop must be provided',
|
|
424
|
+
);
|
|
425
|
+
|
|
695
426
|
this._fillRateHelper = new FillRateHelper(this._getFrameMetrics);
|
|
696
427
|
this._updateCellsToRenderBatcher = new Batchinator(
|
|
697
428
|
this._updateCellsToRender,
|
|
@@ -715,55 +446,210 @@ class VirtualizedList extends React.PureComponent<Props, State> {
|
|
|
715
446
|
}
|
|
716
447
|
}
|
|
717
448
|
|
|
718
|
-
|
|
719
|
-
|
|
449
|
+
invariant(
|
|
450
|
+
!this.context,
|
|
451
|
+
'Unexpectedly saw VirtualizedListContext available in ctor',
|
|
452
|
+
);
|
|
453
|
+
|
|
454
|
+
const initialRenderRegion = VirtualizedList._initialRenderRegion(props);
|
|
455
|
+
|
|
456
|
+
this.state = {
|
|
457
|
+
cellsAroundViewport: initialRenderRegion,
|
|
458
|
+
renderMask: VirtualizedList._createRenderMask(props, initialRenderRegion),
|
|
459
|
+
};
|
|
460
|
+
}
|
|
461
|
+
|
|
462
|
+
static _createRenderMask(
|
|
463
|
+
props: Props,
|
|
464
|
+
cellsAroundViewport: {first: number, last: number},
|
|
465
|
+
additionalRegions?: ?$ReadOnlyArray<{first: number, last: number}>,
|
|
466
|
+
): CellRenderMask {
|
|
467
|
+
const itemCount = props.getItemCount(props.data);
|
|
468
|
+
|
|
469
|
+
invariant(
|
|
470
|
+
cellsAroundViewport.first >= 0 &&
|
|
471
|
+
cellsAroundViewport.last >= cellsAroundViewport.first - 1 &&
|
|
472
|
+
cellsAroundViewport.last < itemCount,
|
|
473
|
+
`Invalid cells around viewport "[${cellsAroundViewport.first}, ${cellsAroundViewport.last}]" was passed to VirtualizedList._createRenderMask`,
|
|
474
|
+
);
|
|
475
|
+
|
|
476
|
+
const renderMask = new CellRenderMask(itemCount);
|
|
477
|
+
|
|
478
|
+
if (itemCount > 0) {
|
|
479
|
+
const allRegions = [cellsAroundViewport, ...(additionalRegions ?? [])];
|
|
480
|
+
for (const region of allRegions) {
|
|
481
|
+
renderMask.addCells(region);
|
|
482
|
+
}
|
|
483
|
+
|
|
484
|
+
// The initially rendered cells are retained as part of the
|
|
485
|
+
// "scroll-to-top" optimization
|
|
486
|
+
if (props.initialScrollIndex == null || props.initialScrollIndex <= 0) {
|
|
487
|
+
const initialRegion = VirtualizedList._initialRenderRegion(props);
|
|
488
|
+
renderMask.addCells(initialRegion);
|
|
489
|
+
}
|
|
490
|
+
|
|
491
|
+
// The layout coordinates of sticker headers may be off-screen while the
|
|
492
|
+
// actual header is on-screen. Keep the most recent before the viewport
|
|
493
|
+
// rendered, even if its layout coordinates are not in viewport.
|
|
494
|
+
const stickyIndicesSet = new Set(props.stickyHeaderIndices);
|
|
495
|
+
VirtualizedList._ensureClosestStickyHeader(
|
|
496
|
+
props,
|
|
497
|
+
stickyIndicesSet,
|
|
498
|
+
renderMask,
|
|
499
|
+
cellsAroundViewport.first,
|
|
500
|
+
);
|
|
501
|
+
}
|
|
502
|
+
|
|
503
|
+
return renderMask;
|
|
504
|
+
}
|
|
505
|
+
|
|
506
|
+
static _initialRenderRegion(props: Props): {first: number, last: number} {
|
|
507
|
+
const itemCount = props.getItemCount(props.data);
|
|
508
|
+
const scrollIndex = Math.floor(Math.max(0, props.initialScrollIndex ?? 0));
|
|
509
|
+
|
|
510
|
+
return {
|
|
511
|
+
first: scrollIndex,
|
|
720
512
|
last:
|
|
721
513
|
Math.min(
|
|
722
|
-
|
|
723
|
-
(
|
|
724
|
-
initialNumToRenderOrDefault(this.props.initialNumToRender),
|
|
514
|
+
itemCount,
|
|
515
|
+
scrollIndex + initialNumToRenderOrDefault(props.initialNumToRender),
|
|
725
516
|
) - 1,
|
|
726
517
|
};
|
|
518
|
+
}
|
|
727
519
|
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
520
|
+
static _ensureClosestStickyHeader(
|
|
521
|
+
props: Props,
|
|
522
|
+
stickyIndicesSet: Set<number>,
|
|
523
|
+
renderMask: CellRenderMask,
|
|
524
|
+
cellIdx: number,
|
|
525
|
+
) {
|
|
526
|
+
const stickyOffset = props.ListHeaderComponent ? 1 : 0;
|
|
527
|
+
|
|
528
|
+
for (let itemIdx = cellIdx - 1; itemIdx >= 0; itemIdx--) {
|
|
529
|
+
if (stickyIndicesSet.has(itemIdx + stickyOffset)) {
|
|
530
|
+
renderMask.addCells({first: itemIdx, last: itemIdx});
|
|
531
|
+
break;
|
|
532
|
+
}
|
|
533
|
+
}
|
|
534
|
+
}
|
|
535
|
+
|
|
536
|
+
_adjustCellsAroundViewport(
|
|
537
|
+
props: Props,
|
|
538
|
+
cellsAroundViewport: {first: number, last: number},
|
|
539
|
+
): {first: number, last: number} {
|
|
540
|
+
const {data, getItemCount} = props;
|
|
541
|
+
const onEndReachedThreshold = onEndReachedThresholdOrDefault(
|
|
542
|
+
props.onEndReachedThreshold,
|
|
543
|
+
);
|
|
544
|
+
this._updateViewableItems(props, cellsAroundViewport);
|
|
545
|
+
|
|
546
|
+
const {contentLength, offset, visibleLength} = this._scrollMetrics;
|
|
547
|
+
const distanceFromEnd = contentLength - visibleLength - offset;
|
|
548
|
+
|
|
549
|
+
// Wait until the scroll view metrics have been set up. And until then,
|
|
550
|
+
// we will trust the initialNumToRender suggestion
|
|
551
|
+
if (visibleLength <= 0 || contentLength <= 0) {
|
|
552
|
+
return cellsAroundViewport.last >= getItemCount(data)
|
|
553
|
+
? VirtualizedList._constrainToItemCount(cellsAroundViewport, props)
|
|
554
|
+
: cellsAroundViewport;
|
|
555
|
+
}
|
|
556
|
+
|
|
557
|
+
let newCellsAroundViewport: {first: number, last: number};
|
|
558
|
+
if (props.disableVirtualization) {
|
|
559
|
+
const renderAhead =
|
|
560
|
+
distanceFromEnd < onEndReachedThreshold * visibleLength
|
|
561
|
+
? maxToRenderPerBatchOrDefault(props.maxToRenderPerBatch)
|
|
562
|
+
: 0;
|
|
563
|
+
|
|
564
|
+
newCellsAroundViewport = {
|
|
565
|
+
first: 0,
|
|
566
|
+
last: Math.min(
|
|
567
|
+
cellsAroundViewport.last + renderAhead,
|
|
568
|
+
getItemCount(data) - 1,
|
|
569
|
+
),
|
|
570
|
+
};
|
|
571
|
+
} else {
|
|
572
|
+
// If we have a non-zero initialScrollIndex and run this before we've scrolled,
|
|
573
|
+
// we'll wipe out the initialNumToRender rendered elements starting at initialScrollIndex.
|
|
574
|
+
// So let's wait until we've scrolled the view to the right place. And until then,
|
|
575
|
+
// we will trust the initialScrollIndex suggestion.
|
|
576
|
+
|
|
577
|
+
// Thus, we want to recalculate the windowed render limits if any of the following hold:
|
|
578
|
+
// - initialScrollIndex is undefined or is 0
|
|
579
|
+
// - initialScrollIndex > 0 AND scrolling is complete
|
|
580
|
+
// - initialScrollIndex > 0 AND the end of the list is visible (this handles the case
|
|
581
|
+
// where the list is shorter than the visible area)
|
|
582
|
+
if (
|
|
583
|
+
props.initialScrollIndex &&
|
|
584
|
+
!this._scrollMetrics.offset &&
|
|
585
|
+
Math.abs(distanceFromEnd) >= Number.EPSILON
|
|
586
|
+
) {
|
|
587
|
+
return cellsAroundViewport.last >= getItemCount(data)
|
|
588
|
+
? VirtualizedList._constrainToItemCount(cellsAroundViewport, props)
|
|
589
|
+
: cellsAroundViewport;
|
|
734
590
|
}
|
|
591
|
+
|
|
592
|
+
newCellsAroundViewport = computeWindowedRenderLimits(
|
|
593
|
+
props,
|
|
594
|
+
maxToRenderPerBatchOrDefault(props.maxToRenderPerBatch),
|
|
595
|
+
windowSizeOrDefault(props.windowSize),
|
|
596
|
+
cellsAroundViewport,
|
|
597
|
+
this.__getFrameMetricsApprox,
|
|
598
|
+
this._scrollMetrics,
|
|
599
|
+
);
|
|
600
|
+
invariant(
|
|
601
|
+
newCellsAroundViewport.last < getItemCount(data),
|
|
602
|
+
'computeWindowedRenderLimits() should return range in-bounds',
|
|
603
|
+
);
|
|
604
|
+
}
|
|
605
|
+
|
|
606
|
+
if (this._nestedChildLists.size() > 0) {
|
|
607
|
+
// If some cell in the new state has a child list in it, we should only render
|
|
608
|
+
// up through that item, so that we give that list a chance to render.
|
|
609
|
+
// Otherwise there's churn from multiple child lists mounting and un-mounting
|
|
610
|
+
// their items.
|
|
611
|
+
|
|
612
|
+
// Will this prevent rendering if the nested list doesn't realize the end?
|
|
613
|
+
const childIdx = this._findFirstChildWithMore(
|
|
614
|
+
newCellsAroundViewport.first,
|
|
615
|
+
newCellsAroundViewport.last,
|
|
616
|
+
);
|
|
617
|
+
|
|
618
|
+
newCellsAroundViewport.last = childIdx ?? newCellsAroundViewport.last;
|
|
735
619
|
}
|
|
736
620
|
|
|
737
|
-
|
|
621
|
+
return newCellsAroundViewport;
|
|
622
|
+
}
|
|
623
|
+
|
|
624
|
+
_findFirstChildWithMore(first: number, last: number): number | null {
|
|
625
|
+
for (let ii = first; ii <= last; ii++) {
|
|
626
|
+
const cellKeyForIndex = this._indicesToKeys.get(ii);
|
|
627
|
+
if (
|
|
628
|
+
cellKeyForIndex != null &&
|
|
629
|
+
this._nestedChildLists.anyInCell(cellKeyForIndex, childList =>
|
|
630
|
+
childList.hasMore(),
|
|
631
|
+
)
|
|
632
|
+
) {
|
|
633
|
+
return ii;
|
|
634
|
+
}
|
|
635
|
+
}
|
|
636
|
+
|
|
637
|
+
return null;
|
|
738
638
|
}
|
|
739
639
|
|
|
740
640
|
componentDidMount() {
|
|
741
641
|
if (this._isNestedWithSameOrientation()) {
|
|
742
642
|
this.context.registerAsNestedChild({
|
|
743
|
-
cellKey: this._getCellKey(),
|
|
744
|
-
key: this._getListKey(),
|
|
745
643
|
ref: this,
|
|
746
|
-
|
|
747
|
-
// the parent's props. This is why we explicitly propagate debugInfo
|
|
748
|
-
// "down" via context and "up" again via this method call on the
|
|
749
|
-
// parent.
|
|
750
|
-
parentDebugInfo: this.context.debugInfo,
|
|
644
|
+
cellKey: this.context.cellKey,
|
|
751
645
|
});
|
|
752
646
|
}
|
|
753
647
|
}
|
|
754
648
|
|
|
755
649
|
componentWillUnmount() {
|
|
756
650
|
if (this._isNestedWithSameOrientation()) {
|
|
757
|
-
this.context.unregisterAsNestedChild({
|
|
758
|
-
key: this._getListKey(),
|
|
759
|
-
state: {
|
|
760
|
-
first: this.state.first,
|
|
761
|
-
last: this.state.last,
|
|
762
|
-
frames: this._frames,
|
|
763
|
-
},
|
|
764
|
-
});
|
|
651
|
+
this.context.unregisterAsNestedChild({ref: this});
|
|
765
652
|
}
|
|
766
|
-
this._updateViewableItems(null);
|
|
767
653
|
this._updateCellsToRenderBatcher.dispose({abort: true});
|
|
768
654
|
this._viewabilityTuples.forEach(tuple => {
|
|
769
655
|
tuple.viewabilityHelper.dispose();
|
|
@@ -772,18 +658,21 @@ class VirtualizedList extends React.PureComponent<Props, State> {
|
|
|
772
658
|
}
|
|
773
659
|
|
|
774
660
|
static getDerivedStateFromProps(newProps: Props, prevState: State): State {
|
|
775
|
-
const {data, getItemCount} = newProps;
|
|
776
|
-
const maxToRenderPerBatch = maxToRenderPerBatchOrDefault(
|
|
777
|
-
newProps.maxToRenderPerBatch,
|
|
778
|
-
);
|
|
779
661
|
// first and last could be stale (e.g. if a new, shorter items props is passed in), so we make
|
|
780
662
|
// sure we're rendering a reasonable range here.
|
|
663
|
+
const itemCount = newProps.getItemCount(newProps.data);
|
|
664
|
+
if (itemCount === prevState.renderMask.numCells()) {
|
|
665
|
+
return prevState;
|
|
666
|
+
}
|
|
667
|
+
|
|
668
|
+
const constrainedCells = VirtualizedList._constrainToItemCount(
|
|
669
|
+
prevState.cellsAroundViewport,
|
|
670
|
+
newProps,
|
|
671
|
+
);
|
|
672
|
+
|
|
781
673
|
return {
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
Math.min(prevState.first, getItemCount(data) - 1 - maxToRenderPerBatch),
|
|
785
|
-
),
|
|
786
|
-
last: Math.max(0, Math.min(prevState.last, getItemCount(data) - 1)),
|
|
674
|
+
cellsAroundViewport: constrainedCells,
|
|
675
|
+
renderMask: VirtualizedList._createRenderMask(newProps, constrainedCells),
|
|
787
676
|
};
|
|
788
677
|
}
|
|
789
678
|
|
|
@@ -814,7 +703,7 @@ class VirtualizedList extends React.PureComponent<Props, State> {
|
|
|
814
703
|
last = Math.min(end, last);
|
|
815
704
|
for (let ii = first; ii <= last; ii++) {
|
|
816
705
|
const item = getItem(data, ii);
|
|
817
|
-
const key = this._keyExtractor(item, ii);
|
|
706
|
+
const key = this._keyExtractor(item, ii, this.props);
|
|
818
707
|
this._indicesToKeys.set(ii, key);
|
|
819
708
|
if (stickyIndicesFromProps.has(ii + stickyOffset)) {
|
|
820
709
|
stickyHeaderIndices.push(cells.length);
|
|
@@ -836,6 +725,7 @@ class VirtualizedList extends React.PureComponent<Props, State> {
|
|
|
836
725
|
prevCellKey={prevCellKey}
|
|
837
726
|
onCellLayout={this._onCellLayout}
|
|
838
727
|
onUpdateSeparators={this._onUpdateSeparators}
|
|
728
|
+
onCellFocusCapture={e => this._onCellFocusCapture(key)}
|
|
839
729
|
onUnmount={this._onCellUnmount}
|
|
840
730
|
ref={ref => {
|
|
841
731
|
this._cellRefs[key] = ref;
|
|
@@ -847,6 +737,23 @@ class VirtualizedList extends React.PureComponent<Props, State> {
|
|
|
847
737
|
}
|
|
848
738
|
}
|
|
849
739
|
|
|
740
|
+
static _constrainToItemCount(
|
|
741
|
+
cells: {first: number, last: number},
|
|
742
|
+
props: Props,
|
|
743
|
+
): {first: number, last: number} {
|
|
744
|
+
const itemCount = props.getItemCount(props.data);
|
|
745
|
+
const last = Math.min(itemCount - 1, cells.last);
|
|
746
|
+
|
|
747
|
+
const maxToRenderPerBatch = maxToRenderPerBatchOrDefault(
|
|
748
|
+
props.maxToRenderPerBatch,
|
|
749
|
+
);
|
|
750
|
+
|
|
751
|
+
return {
|
|
752
|
+
first: clamp(0, itemCount - 1 - maxToRenderPerBatch, cells.first),
|
|
753
|
+
last,
|
|
754
|
+
};
|
|
755
|
+
}
|
|
756
|
+
|
|
850
757
|
_onUpdateSeparators = (keys: Array<?string>, newProps: Object) => {
|
|
851
758
|
keys.forEach(key => {
|
|
852
759
|
const ref = key != null && this._cellRefs[key];
|
|
@@ -854,10 +761,6 @@ class VirtualizedList extends React.PureComponent<Props, State> {
|
|
|
854
761
|
});
|
|
855
762
|
};
|
|
856
763
|
|
|
857
|
-
_isVirtualizationDisabled(): boolean {
|
|
858
|
-
return this.props.disableVirtualization || false;
|
|
859
|
-
}
|
|
860
|
-
|
|
861
764
|
_isNestedWithSameOrientation(): boolean {
|
|
862
765
|
const nestedContext = this.context;
|
|
863
766
|
return !!(
|
|
@@ -869,9 +772,17 @@ class VirtualizedList extends React.PureComponent<Props, State> {
|
|
|
869
772
|
_getSpacerKey = (isVertical: boolean): string =>
|
|
870
773
|
isVertical ? 'height' : 'width';
|
|
871
774
|
|
|
872
|
-
_keyExtractor(
|
|
873
|
-
|
|
874
|
-
|
|
775
|
+
_keyExtractor(
|
|
776
|
+
item: Item,
|
|
777
|
+
index: number,
|
|
778
|
+
props: {
|
|
779
|
+
keyExtractor?: ?(item: Item, index: number) => string,
|
|
780
|
+
...
|
|
781
|
+
},
|
|
782
|
+
// $FlowFixMe[missing-local-annot]
|
|
783
|
+
) {
|
|
784
|
+
if (props.keyExtractor != null) {
|
|
785
|
+
return props.keyExtractor(item, index);
|
|
875
786
|
}
|
|
876
787
|
|
|
877
788
|
const key = defaultKeyExtractor(item, index);
|
|
@@ -897,15 +808,16 @@ class VirtualizedList extends React.PureComponent<Props, State> {
|
|
|
897
808
|
const {ListEmptyComponent, ListFooterComponent, ListHeaderComponent} =
|
|
898
809
|
this.props;
|
|
899
810
|
const {data, horizontal} = this.props;
|
|
900
|
-
const isVirtualizationDisabled = this._isVirtualizationDisabled();
|
|
901
811
|
const inversionStyle = this.props.inverted
|
|
902
812
|
? horizontalOrDefault(this.props.horizontal)
|
|
903
813
|
? styles.horizontallyInverted
|
|
904
814
|
: styles.verticallyInverted
|
|
905
815
|
: null;
|
|
906
|
-
const cells = [];
|
|
816
|
+
const cells: Array<any | React.Node> = [];
|
|
907
817
|
const stickyIndicesFromProps = new Set(this.props.stickyHeaderIndices);
|
|
908
818
|
const stickyHeaderIndices = [];
|
|
819
|
+
|
|
820
|
+
// 1. Add cell for ListHeaderComponent
|
|
909
821
|
if (ListHeaderComponent) {
|
|
910
822
|
if (stickyIndicesFromProps.has(0)) {
|
|
911
823
|
stickyHeaderIndices.push(0);
|
|
@@ -935,77 +847,91 @@ class VirtualizedList extends React.PureComponent<Props, State> {
|
|
|
935
847
|
</VirtualizedListCellContextProvider>,
|
|
936
848
|
);
|
|
937
849
|
}
|
|
850
|
+
|
|
851
|
+
// 2a. Add a cell for ListEmptyComponent if applicable
|
|
938
852
|
const itemCount = this.props.getItemCount(data);
|
|
853
|
+
if (itemCount === 0 && ListEmptyComponent) {
|
|
854
|
+
const element: React.Element<any> = ((React.isValidElement(
|
|
855
|
+
ListEmptyComponent,
|
|
856
|
+
) ? (
|
|
857
|
+
ListEmptyComponent
|
|
858
|
+
) : (
|
|
859
|
+
// $FlowFixMe[not-a-component]
|
|
860
|
+
// $FlowFixMe[incompatible-type-arg]
|
|
861
|
+
<ListEmptyComponent />
|
|
862
|
+
)): any);
|
|
863
|
+
cells.push(
|
|
864
|
+
<VirtualizedListCellContextProvider
|
|
865
|
+
cellKey={this._getCellKey() + '-empty'}
|
|
866
|
+
key="$empty">
|
|
867
|
+
{React.cloneElement(element, {
|
|
868
|
+
onLayout: (event: LayoutEvent) => {
|
|
869
|
+
this._onLayoutEmpty(event);
|
|
870
|
+
if (element.props.onLayout) {
|
|
871
|
+
element.props.onLayout(event);
|
|
872
|
+
}
|
|
873
|
+
},
|
|
874
|
+
style: StyleSheet.compose(inversionStyle, element.props.style),
|
|
875
|
+
})}
|
|
876
|
+
</VirtualizedListCellContextProvider>,
|
|
877
|
+
);
|
|
878
|
+
}
|
|
879
|
+
|
|
880
|
+
// 2b. Add cells and spacers for each item
|
|
939
881
|
if (itemCount > 0) {
|
|
940
882
|
_usedIndexForKey = false;
|
|
941
883
|
_keylessItemComponentName = '';
|
|
942
884
|
const spacerKey = this._getSpacerKey(!horizontal);
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
inversionStyle,
|
|
954
|
-
);
|
|
955
|
-
const firstAfterInitial = Math.max(lastInitialIndex + 1, first);
|
|
956
|
-
if (!isVirtualizationDisabled && first > lastInitialIndex + 1) {
|
|
957
|
-
let insertedStickySpacer = false;
|
|
958
|
-
if (stickyIndicesFromProps.size > 0) {
|
|
959
|
-
const stickyOffset = ListHeaderComponent ? 1 : 0;
|
|
960
|
-
// See if there are any sticky headers in the virtualized space that we need to render.
|
|
961
|
-
for (let ii = firstAfterInitial - 1; ii > lastInitialIndex; ii--) {
|
|
962
|
-
if (stickyIndicesFromProps.has(ii + stickyOffset)) {
|
|
963
|
-
const initBlock = this.__getFrameMetricsApprox(lastInitialIndex);
|
|
964
|
-
const stickyBlock = this.__getFrameMetricsApprox(ii);
|
|
965
|
-
const leadSpace =
|
|
966
|
-
stickyBlock.offset -
|
|
967
|
-
initBlock.offset -
|
|
968
|
-
(this.props.initialScrollIndex ? 0 : initBlock.length);
|
|
969
|
-
cells.push(
|
|
970
|
-
<View key="$sticky_lead" style={{[spacerKey]: leadSpace}} />,
|
|
971
|
-
);
|
|
972
|
-
this._pushCells(
|
|
973
|
-
cells,
|
|
974
|
-
stickyHeaderIndices,
|
|
975
|
-
stickyIndicesFromProps,
|
|
976
|
-
ii,
|
|
977
|
-
ii,
|
|
978
|
-
inversionStyle,
|
|
979
|
-
);
|
|
980
|
-
const trailSpace =
|
|
981
|
-
this.__getFrameMetricsApprox(first).offset -
|
|
982
|
-
(stickyBlock.offset + stickyBlock.length);
|
|
983
|
-
cells.push(
|
|
984
|
-
<View key="$sticky_trail" style={{[spacerKey]: trailSpace}} />,
|
|
985
|
-
);
|
|
986
|
-
insertedStickySpacer = true;
|
|
987
|
-
break;
|
|
988
|
-
}
|
|
885
|
+
|
|
886
|
+
const renderRegions = this.state.renderMask.enumerateRegions();
|
|
887
|
+
const lastSpacer = findLastWhere(renderRegions, r => r.isSpacer);
|
|
888
|
+
|
|
889
|
+
for (const section of renderRegions) {
|
|
890
|
+
if (section.isSpacer) {
|
|
891
|
+
// Legacy behavior is to avoid spacers when virtualization is
|
|
892
|
+
// disabled (including head spacers on initial render).
|
|
893
|
+
if (this.props.disableVirtualization) {
|
|
894
|
+
continue;
|
|
989
895
|
}
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
896
|
+
|
|
897
|
+
// Without getItemLayout, we limit our tail spacer to the _highestMeasuredFrameIndex to
|
|
898
|
+
// prevent the user for hyperscrolling into un-measured area because otherwise content will
|
|
899
|
+
// likely jump around as it renders in above the viewport.
|
|
900
|
+
const isLastSpacer = section === lastSpacer;
|
|
901
|
+
const constrainToMeasured = isLastSpacer && !this.props.getItemLayout;
|
|
902
|
+
const last = constrainToMeasured
|
|
903
|
+
? clamp(
|
|
904
|
+
section.first - 1,
|
|
905
|
+
section.last,
|
|
906
|
+
this._highestMeasuredFrameIndex,
|
|
907
|
+
)
|
|
908
|
+
: section.last;
|
|
909
|
+
|
|
910
|
+
const firstMetrics = this.__getFrameMetricsApprox(
|
|
911
|
+
section.first,
|
|
912
|
+
this.props,
|
|
913
|
+
);
|
|
914
|
+
const lastMetrics = this.__getFrameMetricsApprox(last, this.props);
|
|
915
|
+
const spacerSize =
|
|
916
|
+
lastMetrics.offset + lastMetrics.length - firstMetrics.offset;
|
|
996
917
|
cells.push(
|
|
997
|
-
<View
|
|
918
|
+
<View
|
|
919
|
+
key={`$spacer-${section.first}`}
|
|
920
|
+
style={{[spacerKey]: spacerSize}}
|
|
921
|
+
/>,
|
|
922
|
+
);
|
|
923
|
+
} else {
|
|
924
|
+
this._pushCells(
|
|
925
|
+
cells,
|
|
926
|
+
stickyHeaderIndices,
|
|
927
|
+
stickyIndicesFromProps,
|
|
928
|
+
section.first,
|
|
929
|
+
section.last,
|
|
930
|
+
inversionStyle,
|
|
998
931
|
);
|
|
999
932
|
}
|
|
1000
933
|
}
|
|
1001
|
-
|
|
1002
|
-
cells,
|
|
1003
|
-
stickyHeaderIndices,
|
|
1004
|
-
stickyIndicesFromProps,
|
|
1005
|
-
firstAfterInitial,
|
|
1006
|
-
last,
|
|
1007
|
-
inversionStyle,
|
|
1008
|
-
);
|
|
934
|
+
|
|
1009
935
|
if (!this._hasWarned.keys && _usedIndexForKey) {
|
|
1010
936
|
console.warn(
|
|
1011
937
|
'VirtualizedList: missing keys for items, make sure to specify a key or id property on each ' +
|
|
@@ -1014,46 +940,9 @@ class VirtualizedList extends React.PureComponent<Props, State> {
|
|
|
1014
940
|
);
|
|
1015
941
|
this._hasWarned.keys = true;
|
|
1016
942
|
}
|
|
1017
|
-
if (!isVirtualizationDisabled && last < itemCount - 1) {
|
|
1018
|
-
const lastFrame = this.__getFrameMetricsApprox(last);
|
|
1019
|
-
// Without getItemLayout, we limit our tail spacer to the _highestMeasuredFrameIndex to
|
|
1020
|
-
// prevent the user for hyperscrolling into un-measured area because otherwise content will
|
|
1021
|
-
// likely jump around as it renders in above the viewport.
|
|
1022
|
-
const end = this.props.getItemLayout
|
|
1023
|
-
? itemCount - 1
|
|
1024
|
-
: Math.min(itemCount - 1, this._highestMeasuredFrameIndex);
|
|
1025
|
-
const endFrame = this.__getFrameMetricsApprox(end);
|
|
1026
|
-
const tailSpacerLength =
|
|
1027
|
-
endFrame.offset +
|
|
1028
|
-
endFrame.length -
|
|
1029
|
-
(lastFrame.offset + lastFrame.length);
|
|
1030
|
-
cells.push(
|
|
1031
|
-
<View key="$tail_spacer" style={{[spacerKey]: tailSpacerLength}} />,
|
|
1032
|
-
);
|
|
1033
|
-
}
|
|
1034
|
-
} else if (ListEmptyComponent) {
|
|
1035
|
-
const element: React.Element<any> = ((React.isValidElement(
|
|
1036
|
-
ListEmptyComponent,
|
|
1037
|
-
) ? (
|
|
1038
|
-
ListEmptyComponent
|
|
1039
|
-
) : (
|
|
1040
|
-
// $FlowFixMe[not-a-component]
|
|
1041
|
-
// $FlowFixMe[incompatible-type-arg]
|
|
1042
|
-
<ListEmptyComponent />
|
|
1043
|
-
)): any);
|
|
1044
|
-
cells.push(
|
|
1045
|
-
React.cloneElement(element, {
|
|
1046
|
-
key: '$empty',
|
|
1047
|
-
onLayout: event => {
|
|
1048
|
-
this._onLayoutEmpty(event);
|
|
1049
|
-
if (element.props.onLayout) {
|
|
1050
|
-
element.props.onLayout(event);
|
|
1051
|
-
}
|
|
1052
|
-
},
|
|
1053
|
-
style: StyleSheet.compose(inversionStyle, element.props.style),
|
|
1054
|
-
}),
|
|
1055
|
-
);
|
|
1056
943
|
}
|
|
944
|
+
|
|
945
|
+
// 3. Add cell for ListFooterComponent
|
|
1057
946
|
if (ListFooterComponent) {
|
|
1058
947
|
const element = React.isValidElement(ListFooterComponent) ? (
|
|
1059
948
|
ListFooterComponent
|
|
@@ -1080,6 +969,8 @@ class VirtualizedList extends React.PureComponent<Props, State> {
|
|
|
1080
969
|
</VirtualizedListCellContextProvider>,
|
|
1081
970
|
);
|
|
1082
971
|
}
|
|
972
|
+
|
|
973
|
+
// 4. Render the ScrollView
|
|
1083
974
|
const scrollProps = {
|
|
1084
975
|
...this.props,
|
|
1085
976
|
onContentSizeChange: this._onContentSizeChange,
|
|
@@ -1102,8 +993,7 @@ class VirtualizedList extends React.PureComponent<Props, State> {
|
|
|
1102
993
|
: this.props.style,
|
|
1103
994
|
};
|
|
1104
995
|
|
|
1105
|
-
this._hasMore =
|
|
1106
|
-
this.state.last < this.props.getItemCount(this.props.data) - 1;
|
|
996
|
+
this._hasMore = this.state.cellsAroundViewport.last < itemCount - 1;
|
|
1107
997
|
|
|
1108
998
|
const innerRet = (
|
|
1109
999
|
<VirtualizedListContextProvider
|
|
@@ -1112,10 +1002,8 @@ class VirtualizedList extends React.PureComponent<Props, State> {
|
|
|
1112
1002
|
getScrollMetrics: this._getScrollMetrics,
|
|
1113
1003
|
horizontal: horizontalOrDefault(this.props.horizontal),
|
|
1114
1004
|
getOutermostParentListRef: this._getOutermostParentListRef,
|
|
1115
|
-
getNestedChildState: this._getNestedChildState,
|
|
1116
1005
|
registerAsNestedChild: this._registerAsNestedChild,
|
|
1117
1006
|
unregisterAsNestedChild: this._unregisterAsNestedChild,
|
|
1118
|
-
debugInfo: this._getDebugInfo(),
|
|
1119
1007
|
}}>
|
|
1120
1008
|
<TVFocusGuideView
|
|
1121
1009
|
trapFocusLeft={
|
|
@@ -1153,7 +1041,8 @@ class VirtualizedList extends React.PureComponent<Props, State> {
|
|
|
1153
1041
|
!scrollContext.horizontal ===
|
|
1154
1042
|
!horizontalOrDefault(this.props.horizontal) &&
|
|
1155
1043
|
!this._hasWarned.nesting &&
|
|
1156
|
-
this.context == null
|
|
1044
|
+
this.context == null &&
|
|
1045
|
+
this.props.scrollEnabled !== false
|
|
1157
1046
|
) {
|
|
1158
1047
|
// TODO (T46547044): use React.warn once 16.9 is sync'd: https://github.com/facebook/react/pull/15170
|
|
1159
1048
|
console.error(
|
|
@@ -1205,30 +1094,32 @@ class VirtualizedList extends React.PureComponent<Props, State> {
|
|
|
1205
1094
|
}
|
|
1206
1095
|
|
|
1207
1096
|
_averageCellLength = 0;
|
|
1208
|
-
|
|
1209
|
-
_cellKeysToChildListKeys: Map<string, Set<string>> = new Map();
|
|
1210
|
-
_cellRefs = {};
|
|
1097
|
+
_cellRefs: {[string]: null | CellRenderer<any>} = {};
|
|
1211
1098
|
_fillRateHelper: FillRateHelper;
|
|
1212
|
-
_frames
|
|
1099
|
+
_frames: {
|
|
1100
|
+
[string]: {
|
|
1101
|
+
inLayout?: boolean,
|
|
1102
|
+
index: number,
|
|
1103
|
+
length: number,
|
|
1104
|
+
offset: number,
|
|
1105
|
+
},
|
|
1106
|
+
} = {};
|
|
1213
1107
|
_footerLength = 0;
|
|
1214
|
-
|
|
1108
|
+
// Used for preventing scrollToIndex from being called multiple times for initialScrollIndex
|
|
1109
|
+
_hasTriggeredInitialScrollToIndex = false;
|
|
1215
1110
|
_hasInteracted = false;
|
|
1216
1111
|
_hasMore = false;
|
|
1217
|
-
_hasWarned = {};
|
|
1112
|
+
_hasWarned: {[string]: boolean} = {};
|
|
1218
1113
|
_headerLength = 0;
|
|
1219
1114
|
_hiPriInProgress: boolean = false; // flag to prevent infinite hiPri cell limit update
|
|
1220
1115
|
_highestMeasuredFrameIndex = 0;
|
|
1221
1116
|
_indicesToKeys: Map<number, string> = new Map();
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
ref: ?VirtualizedList,
|
|
1226
|
-
state: ?ChildListState,
|
|
1227
|
-
...
|
|
1228
|
-
},
|
|
1229
|
-
> = new Map();
|
|
1117
|
+
_lastFocusedCellKey: ?string = null;
|
|
1118
|
+
_nestedChildLists: ChildListCollection<VirtualizedList> =
|
|
1119
|
+
new ChildListCollection();
|
|
1230
1120
|
_offsetFromParentVirtualizedList: number = 0;
|
|
1231
1121
|
_prevParentOffset: number = 0;
|
|
1122
|
+
// $FlowFixMe[missing-local-annot]
|
|
1232
1123
|
_scrollMetrics = {
|
|
1233
1124
|
contentLength: 0,
|
|
1234
1125
|
dOffset: 0,
|
|
@@ -1237,6 +1128,7 @@ class VirtualizedList extends React.PureComponent<Props, State> {
|
|
|
1237
1128
|
timestamp: 0,
|
|
1238
1129
|
velocity: 0,
|
|
1239
1130
|
visibleLength: 0,
|
|
1131
|
+
zoomScale: 1,
|
|
1240
1132
|
};
|
|
1241
1133
|
_scrollRef: ?React.ElementRef<any> = null;
|
|
1242
1134
|
_sentEndForContentLength = 0;
|
|
@@ -1245,6 +1137,8 @@ class VirtualizedList extends React.PureComponent<Props, State> {
|
|
|
1245
1137
|
_updateCellsToRenderBatcher: Batchinator;
|
|
1246
1138
|
_viewabilityTuples: Array<ViewabilityHelperCallbackTuple> = [];
|
|
1247
1139
|
|
|
1140
|
+
/* $FlowFixMe[missing-local-annot] The type annotation(s) required by Flow's
|
|
1141
|
+
* LTI update could not be added via codemod */
|
|
1248
1142
|
_captureScrollRef = ref => {
|
|
1249
1143
|
this._scrollRef = ref;
|
|
1250
1144
|
};
|
|
@@ -1252,11 +1146,13 @@ class VirtualizedList extends React.PureComponent<Props, State> {
|
|
|
1252
1146
|
_computeBlankness() {
|
|
1253
1147
|
this._fillRateHelper.computeBlankness(
|
|
1254
1148
|
this.props,
|
|
1255
|
-
this.state,
|
|
1149
|
+
this.state.cellsAroundViewport,
|
|
1256
1150
|
this._scrollMetrics,
|
|
1257
1151
|
);
|
|
1258
1152
|
}
|
|
1259
1153
|
|
|
1154
|
+
/* $FlowFixMe[missing-local-annot] The type annotation(s) required by Flow's
|
|
1155
|
+
* LTI update could not be added via codemod */
|
|
1260
1156
|
_defaultRenderScrollComponent = props => {
|
|
1261
1157
|
const onRefresh = props.onRefresh;
|
|
1262
1158
|
if (this._isNestedWithSameOrientation()) {
|
|
@@ -1271,11 +1167,13 @@ class VirtualizedList extends React.PureComponent<Props, State> {
|
|
|
1271
1167
|
);
|
|
1272
1168
|
return (
|
|
1273
1169
|
// $FlowFixMe[prop-missing] Invalid prop usage
|
|
1170
|
+
// $FlowFixMe[incompatible-use]
|
|
1274
1171
|
<ScrollView
|
|
1275
1172
|
{...props}
|
|
1276
1173
|
refreshControl={
|
|
1277
1174
|
props.refreshControl == null ? (
|
|
1278
1175
|
<RefreshControl
|
|
1176
|
+
// $FlowFixMe[incompatible-type]
|
|
1279
1177
|
refreshing={props.refreshing}
|
|
1280
1178
|
onRefresh={onRefresh}
|
|
1281
1179
|
progressViewOffset={props.progressViewOffset}
|
|
@@ -1288,6 +1186,7 @@ class VirtualizedList extends React.PureComponent<Props, State> {
|
|
|
1288
1186
|
);
|
|
1289
1187
|
} else {
|
|
1290
1188
|
// $FlowFixMe[prop-missing] Invalid prop usage
|
|
1189
|
+
// $FlowFixMe[incompatible-use]
|
|
1291
1190
|
return <ScrollView {...props} />;
|
|
1292
1191
|
}
|
|
1293
1192
|
};
|
|
@@ -1324,9 +1223,25 @@ class VirtualizedList extends React.PureComponent<Props, State> {
|
|
|
1324
1223
|
this._triggerRemeasureForChildListsInCell(cellKey);
|
|
1325
1224
|
|
|
1326
1225
|
this._computeBlankness();
|
|
1327
|
-
this._updateViewableItems(this.props.
|
|
1226
|
+
this._updateViewableItems(this.props, this.state.cellsAroundViewport);
|
|
1328
1227
|
};
|
|
1329
1228
|
|
|
1229
|
+
_onCellFocusCapture(cellKey: string) {
|
|
1230
|
+
this._lastFocusedCellKey = cellKey;
|
|
1231
|
+
const renderMask = VirtualizedList._createRenderMask(
|
|
1232
|
+
this.props,
|
|
1233
|
+
this.state.cellsAroundViewport,
|
|
1234
|
+
this._getNonViewportRenderRegions(this.props),
|
|
1235
|
+
);
|
|
1236
|
+
|
|
1237
|
+
this.setState(state => {
|
|
1238
|
+
if (!renderMask.equals(state.renderMask)) {
|
|
1239
|
+
return {renderMask};
|
|
1240
|
+
}
|
|
1241
|
+
return null;
|
|
1242
|
+
});
|
|
1243
|
+
}
|
|
1244
|
+
|
|
1330
1245
|
_onCellUnmount = (cellKey: string) => {
|
|
1331
1246
|
const curr = this._frames[cellKey];
|
|
1332
1247
|
if (curr) {
|
|
@@ -1335,15 +1250,9 @@ class VirtualizedList extends React.PureComponent<Props, State> {
|
|
|
1335
1250
|
};
|
|
1336
1251
|
|
|
1337
1252
|
_triggerRemeasureForChildListsInCell(cellKey: string): void {
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
const childList = this._nestedChildLists.get(childKey);
|
|
1342
|
-
childList &&
|
|
1343
|
-
childList.ref &&
|
|
1344
|
-
childList.ref.measureLayoutRelativeToContainingList();
|
|
1345
|
-
}
|
|
1346
|
-
}
|
|
1253
|
+
this._nestedChildLists.forEachInCell(cellKey, childList => {
|
|
1254
|
+
childList.measureLayoutRelativeToContainingList();
|
|
1255
|
+
});
|
|
1347
1256
|
}
|
|
1348
1257
|
|
|
1349
1258
|
measureLayoutRelativeToContainingList(): void {
|
|
@@ -1377,15 +1286,8 @@ class VirtualizedList extends React.PureComponent<Props, State> {
|
|
|
1377
1286
|
|
|
1378
1287
|
// If metrics of the scrollView changed, then we triggered remeasure for child list
|
|
1379
1288
|
// to ensure VirtualizedList has the right information.
|
|
1380
|
-
this.
|
|
1381
|
-
|
|
1382
|
-
for (let childKey of childListKeys) {
|
|
1383
|
-
const childList = this._nestedChildLists.get(childKey);
|
|
1384
|
-
childList &&
|
|
1385
|
-
childList.ref &&
|
|
1386
|
-
childList.ref.measureLayoutRelativeToContainingList();
|
|
1387
|
-
}
|
|
1388
|
-
}
|
|
1289
|
+
this._nestedChildLists.forEach(childList => {
|
|
1290
|
+
childList.measureLayoutRelativeToContainingList();
|
|
1389
1291
|
});
|
|
1390
1292
|
}
|
|
1391
1293
|
},
|
|
@@ -1436,6 +1338,7 @@ class VirtualizedList extends React.PureComponent<Props, State> {
|
|
|
1436
1338
|
this._headerLength = this._selectLength(e.nativeEvent.layout);
|
|
1437
1339
|
};
|
|
1438
1340
|
|
|
1341
|
+
// $FlowFixMe[missing-local-annot]
|
|
1439
1342
|
_renderDebugOverlay() {
|
|
1440
1343
|
const normalize =
|
|
1441
1344
|
this._scrollMetrics.visibleLength /
|
|
@@ -1443,7 +1346,7 @@ class VirtualizedList extends React.PureComponent<Props, State> {
|
|
|
1443
1346
|
const framesInLayout = [];
|
|
1444
1347
|
const itemCount = this.props.getItemCount(this.props.data);
|
|
1445
1348
|
for (let ii = 0; ii < itemCount; ii++) {
|
|
1446
|
-
const frame = this.__getFrameMetricsApprox(ii);
|
|
1349
|
+
const frame = this.__getFrameMetricsApprox(ii, this.props);
|
|
1447
1350
|
/* $FlowFixMe[prop-missing] (>=0.68.0 site=react_native_fb) This comment
|
|
1448
1351
|
* suppresses an error found when Flow v0.68 was deployed. To see the
|
|
1449
1352
|
* error delete this comment and run Flow. */
|
|
@@ -1451,8 +1354,14 @@ class VirtualizedList extends React.PureComponent<Props, State> {
|
|
|
1451
1354
|
framesInLayout.push(frame);
|
|
1452
1355
|
}
|
|
1453
1356
|
}
|
|
1454
|
-
const windowTop = this.__getFrameMetricsApprox(
|
|
1455
|
-
|
|
1357
|
+
const windowTop = this.__getFrameMetricsApprox(
|
|
1358
|
+
this.state.cellsAroundViewport.first,
|
|
1359
|
+
this.props,
|
|
1360
|
+
).offset;
|
|
1361
|
+
const frameLast = this.__getFrameMetricsApprox(
|
|
1362
|
+
this.state.cellsAroundViewport.last,
|
|
1363
|
+
this.props,
|
|
1364
|
+
);
|
|
1456
1365
|
const windowLen = frameLast.offset + frameLast.length - windowTop;
|
|
1457
1366
|
const visTop = this._scrollMetrics.offset;
|
|
1458
1367
|
const visLen = this._scrollMetrics.visibleLength;
|
|
@@ -1522,13 +1431,22 @@ class VirtualizedList extends React.PureComponent<Props, State> {
|
|
|
1522
1431
|
const {data, getItemCount, onEndReached, onEndReachedThreshold} =
|
|
1523
1432
|
this.props;
|
|
1524
1433
|
const {contentLength, visibleLength, offset} = this._scrollMetrics;
|
|
1525
|
-
|
|
1434
|
+
let distanceFromEnd = contentLength - visibleLength - offset;
|
|
1435
|
+
|
|
1436
|
+
// Especially when oERT is zero it's necessary to 'floor' very small distanceFromEnd values to be 0
|
|
1437
|
+
// since debouncing causes us to not fire this event for every single "pixel" we scroll and can thus
|
|
1438
|
+
// be at the "end" of the list with a distanceFromEnd approximating 0 but not quite there.
|
|
1439
|
+
if (distanceFromEnd < ON_END_REACHED_EPSILON) {
|
|
1440
|
+
distanceFromEnd = 0;
|
|
1441
|
+
}
|
|
1442
|
+
|
|
1443
|
+
// TODO: T121172172 Look into why we're "defaulting" to a threshold of 2 when oERT is not present
|
|
1526
1444
|
const threshold =
|
|
1527
1445
|
onEndReachedThreshold != null ? onEndReachedThreshold * visibleLength : 2;
|
|
1528
1446
|
if (
|
|
1529
1447
|
onEndReached &&
|
|
1530
|
-
this.state.last === getItemCount(data) - 1 &&
|
|
1531
|
-
distanceFromEnd
|
|
1448
|
+
this.state.cellsAroundViewport.last === getItemCount(data) - 1 &&
|
|
1449
|
+
distanceFromEnd <= threshold &&
|
|
1532
1450
|
this._scrollMetrics.contentLength !== this._sentEndForContentLength
|
|
1533
1451
|
) {
|
|
1534
1452
|
// Only call onEndReached once for a given content length
|
|
@@ -1547,7 +1465,7 @@ class VirtualizedList extends React.PureComponent<Props, State> {
|
|
|
1547
1465
|
height > 0 &&
|
|
1548
1466
|
this.props.initialScrollIndex != null &&
|
|
1549
1467
|
this.props.initialScrollIndex > 0 &&
|
|
1550
|
-
!this.
|
|
1468
|
+
!this._hasTriggeredInitialScrollToIndex
|
|
1551
1469
|
) {
|
|
1552
1470
|
if (this.props.contentOffset == null) {
|
|
1553
1471
|
this.scrollToIndex({
|
|
@@ -1555,7 +1473,7 @@ class VirtualizedList extends React.PureComponent<Props, State> {
|
|
|
1555
1473
|
index: this.props.initialScrollIndex,
|
|
1556
1474
|
});
|
|
1557
1475
|
}
|
|
1558
|
-
this.
|
|
1476
|
+
this._hasTriggeredInitialScrollToIndex = true;
|
|
1559
1477
|
}
|
|
1560
1478
|
if (this.props.onContentSizeChange) {
|
|
1561
1479
|
this.props.onContentSizeChange(width, height);
|
|
@@ -1572,7 +1490,7 @@ class VirtualizedList extends React.PureComponent<Props, State> {
|
|
|
1572
1490
|
visibleLength: number,
|
|
1573
1491
|
offset: number,
|
|
1574
1492
|
...
|
|
1575
|
-
}) => {
|
|
1493
|
+
}): $FlowFixMe => {
|
|
1576
1494
|
// Offset of the top of the nested list relative to the top of its parent's viewport
|
|
1577
1495
|
const offset = metrics.offset - this._offsetFromParentVirtualizedList;
|
|
1578
1496
|
// Child's visible length is the same as its parent's
|
|
@@ -1590,7 +1508,7 @@ class VirtualizedList extends React.PureComponent<Props, State> {
|
|
|
1590
1508
|
|
|
1591
1509
|
_onScroll = (e: Object) => {
|
|
1592
1510
|
this._nestedChildLists.forEach(childList => {
|
|
1593
|
-
childList.
|
|
1511
|
+
childList._onScroll(e);
|
|
1594
1512
|
});
|
|
1595
1513
|
if (this.props.onScroll) {
|
|
1596
1514
|
this.props.onScroll(e);
|
|
@@ -1633,6 +1551,9 @@ class VirtualizedList extends React.PureComponent<Props, State> {
|
|
|
1633
1551
|
);
|
|
1634
1552
|
this._hasWarned.perf = true;
|
|
1635
1553
|
}
|
|
1554
|
+
|
|
1555
|
+
// For invalid negative values (w/ RTL), set this to 1.
|
|
1556
|
+
const zoomScale = e.nativeEvent.zoomScale < 0 ? 1 : e.nativeEvent.zoomScale;
|
|
1636
1557
|
this._scrollMetrics = {
|
|
1637
1558
|
contentLength,
|
|
1638
1559
|
dt,
|
|
@@ -1641,8 +1562,9 @@ class VirtualizedList extends React.PureComponent<Props, State> {
|
|
|
1641
1562
|
timestamp,
|
|
1642
1563
|
velocity,
|
|
1643
1564
|
visibleLength,
|
|
1565
|
+
zoomScale,
|
|
1644
1566
|
};
|
|
1645
|
-
this._updateViewableItems(this.props.
|
|
1567
|
+
this._updateViewableItems(this.props, this.state.cellsAroundViewport);
|
|
1646
1568
|
if (!this.props) {
|
|
1647
1569
|
return;
|
|
1648
1570
|
}
|
|
@@ -1655,7 +1577,7 @@ class VirtualizedList extends React.PureComponent<Props, State> {
|
|
|
1655
1577
|
};
|
|
1656
1578
|
|
|
1657
1579
|
_scheduleCellsToRenderUpdate() {
|
|
1658
|
-
const {first, last} = this.state;
|
|
1580
|
+
const {first, last} = this.state.cellsAroundViewport;
|
|
1659
1581
|
const {offset, visibleLength, velocity} = this._scrollMetrics;
|
|
1660
1582
|
const itemCount = this.props.getItemCount(this.props.data);
|
|
1661
1583
|
let hiPri = false;
|
|
@@ -1666,15 +1588,17 @@ class VirtualizedList extends React.PureComponent<Props, State> {
|
|
|
1666
1588
|
// Mark as high priority if we're close to the start of the first item
|
|
1667
1589
|
// But only if there are items before the first rendered item
|
|
1668
1590
|
if (first > 0) {
|
|
1669
|
-
const distTop =
|
|
1591
|
+
const distTop =
|
|
1592
|
+
offset - this.__getFrameMetricsApprox(first, this.props).offset;
|
|
1670
1593
|
hiPri =
|
|
1671
1594
|
hiPri || distTop < 0 || (velocity < -2 && distTop < scrollingThreshold);
|
|
1672
1595
|
}
|
|
1673
1596
|
// Mark as high priority if we're close to the end of the last item
|
|
1674
1597
|
// But only if there are items after the last rendered item
|
|
1675
|
-
if (last < itemCount - 1) {
|
|
1598
|
+
if (last >= 0 && last < itemCount - 1) {
|
|
1676
1599
|
const distBottom =
|
|
1677
|
-
this.__getFrameMetricsApprox(last).offset -
|
|
1600
|
+
this.__getFrameMetricsApprox(last, this.props).offset -
|
|
1601
|
+
(offset + visibleLength);
|
|
1678
1602
|
hiPri =
|
|
1679
1603
|
hiPri ||
|
|
1680
1604
|
distBottom < 0 ||
|
|
@@ -1703,9 +1627,9 @@ class VirtualizedList extends React.PureComponent<Props, State> {
|
|
|
1703
1627
|
}
|
|
1704
1628
|
}
|
|
1705
1629
|
|
|
1706
|
-
_onScrollBeginDrag = (e): void => {
|
|
1630
|
+
_onScrollBeginDrag = (e: ScrollEvent): void => {
|
|
1707
1631
|
this._nestedChildLists.forEach(childList => {
|
|
1708
|
-
childList.
|
|
1632
|
+
childList._onScrollBeginDrag(e);
|
|
1709
1633
|
});
|
|
1710
1634
|
this._viewabilityTuples.forEach(tuple => {
|
|
1711
1635
|
tuple.viewabilityHelper.recordInteraction();
|
|
@@ -1714,9 +1638,9 @@ class VirtualizedList extends React.PureComponent<Props, State> {
|
|
|
1714
1638
|
this.props.onScrollBeginDrag && this.props.onScrollBeginDrag(e);
|
|
1715
1639
|
};
|
|
1716
1640
|
|
|
1717
|
-
_onScrollEndDrag = (e): void => {
|
|
1641
|
+
_onScrollEndDrag = (e: ScrollEvent): void => {
|
|
1718
1642
|
this._nestedChildLists.forEach(childList => {
|
|
1719
|
-
childList.
|
|
1643
|
+
childList._onScrollEndDrag(e);
|
|
1720
1644
|
});
|
|
1721
1645
|
const {velocity} = e.nativeEvent;
|
|
1722
1646
|
if (velocity) {
|
|
@@ -1726,16 +1650,16 @@ class VirtualizedList extends React.PureComponent<Props, State> {
|
|
|
1726
1650
|
this.props.onScrollEndDrag && this.props.onScrollEndDrag(e);
|
|
1727
1651
|
};
|
|
1728
1652
|
|
|
1729
|
-
_onMomentumScrollBegin = (e): void => {
|
|
1653
|
+
_onMomentumScrollBegin = (e: ScrollEvent): void => {
|
|
1730
1654
|
this._nestedChildLists.forEach(childList => {
|
|
1731
|
-
childList.
|
|
1655
|
+
childList._onMomentumScrollBegin(e);
|
|
1732
1656
|
});
|
|
1733
1657
|
this.props.onMomentumScrollBegin && this.props.onMomentumScrollBegin(e);
|
|
1734
1658
|
};
|
|
1735
1659
|
|
|
1736
|
-
_onMomentumScrollEnd = (e): void => {
|
|
1660
|
+
_onMomentumScrollEnd = (e: ScrollEvent): void => {
|
|
1737
1661
|
this._nestedChildLists.forEach(childList => {
|
|
1738
|
-
childList.
|
|
1662
|
+
childList._onMomentumScrollEnd(e);
|
|
1739
1663
|
});
|
|
1740
1664
|
this._scrollMetrics.velocity = 0;
|
|
1741
1665
|
this._computeBlankness();
|
|
@@ -1743,119 +1667,80 @@ class VirtualizedList extends React.PureComponent<Props, State> {
|
|
|
1743
1667
|
};
|
|
1744
1668
|
|
|
1745
1669
|
_updateCellsToRender = () => {
|
|
1746
|
-
|
|
1747
|
-
|
|
1748
|
-
|
|
1749
|
-
|
|
1750
|
-
} = this.props;
|
|
1751
|
-
const onEndReachedThreshold = onEndReachedThresholdOrDefault(
|
|
1752
|
-
_onEndReachedThreshold,
|
|
1753
|
-
);
|
|
1754
|
-
const isVirtualizationDisabled = this._isVirtualizationDisabled();
|
|
1755
|
-
this._updateViewableItems(data);
|
|
1756
|
-
if (!data) {
|
|
1757
|
-
return;
|
|
1758
|
-
}
|
|
1759
|
-
this.setState(state => {
|
|
1760
|
-
let newState: ?(
|
|
1761
|
-
| {first: number, last: number, ...}
|
|
1762
|
-
| $TEMPORARY$object<{first: number, last: number}>
|
|
1670
|
+
this.setState((state, props) => {
|
|
1671
|
+
const cellsAroundViewport = this._adjustCellsAroundViewport(
|
|
1672
|
+
props,
|
|
1673
|
+
state.cellsAroundViewport,
|
|
1763
1674
|
);
|
|
1764
|
-
const
|
|
1765
|
-
|
|
1766
|
-
|
|
1767
|
-
|
|
1768
|
-
|
|
1769
|
-
|
|
1770
|
-
if (visibleLength > 0 && contentLength > 0) {
|
|
1771
|
-
// If we have a positive non-zero initialScrollIndex and run this before we've scrolled,
|
|
1772
|
-
// we'll wipe out the initialNumToRender rendered elements starting at initialScrollIndex.
|
|
1773
|
-
// So let's wait until we've scrolled the view to the right place. And until then,
|
|
1774
|
-
// we will trust the initialScrollIndex suggestion.
|
|
1775
|
-
if (
|
|
1776
|
-
!(this.props.initialScrollIndex > 0) ||
|
|
1777
|
-
this._hasDoneInitialScroll
|
|
1778
|
-
) {
|
|
1779
|
-
newState = computeWindowedRenderLimits(
|
|
1780
|
-
this.props.data,
|
|
1781
|
-
this.props.getItemCount,
|
|
1782
|
-
maxToRenderPerBatchOrDefault(this.props.maxToRenderPerBatch),
|
|
1783
|
-
windowSizeOrDefault(this.props.windowSize),
|
|
1784
|
-
state,
|
|
1785
|
-
this.__getFrameMetricsApprox,
|
|
1786
|
-
this._scrollMetrics,
|
|
1787
|
-
);
|
|
1788
|
-
}
|
|
1789
|
-
}
|
|
1790
|
-
} else {
|
|
1791
|
-
const distanceFromEnd = contentLength - visibleLength - offset;
|
|
1792
|
-
const renderAhead =
|
|
1793
|
-
distanceFromEnd < onEndReachedThreshold * visibleLength
|
|
1794
|
-
? maxToRenderPerBatchOrDefault(this.props.maxToRenderPerBatch)
|
|
1795
|
-
: 0;
|
|
1796
|
-
newState = {
|
|
1797
|
-
first: 0,
|
|
1798
|
-
last: Math.min(state.last + renderAhead, getItemCount(data) - 1),
|
|
1799
|
-
};
|
|
1800
|
-
}
|
|
1801
|
-
if (newState && this._nestedChildLists.size > 0) {
|
|
1802
|
-
const newFirst = newState.first;
|
|
1803
|
-
const newLast = newState.last;
|
|
1804
|
-
// If some cell in the new state has a child list in it, we should only render
|
|
1805
|
-
// up through that item, so that we give that list a chance to render.
|
|
1806
|
-
// Otherwise there's churn from multiple child lists mounting and un-mounting
|
|
1807
|
-
// their items.
|
|
1808
|
-
for (let ii = newFirst; ii <= newLast; ii++) {
|
|
1809
|
-
const cellKeyForIndex = this._indicesToKeys.get(ii);
|
|
1810
|
-
const childListKeys =
|
|
1811
|
-
cellKeyForIndex &&
|
|
1812
|
-
this._cellKeysToChildListKeys.get(cellKeyForIndex);
|
|
1813
|
-
if (!childListKeys) {
|
|
1814
|
-
continue;
|
|
1815
|
-
}
|
|
1816
|
-
let someChildHasMore = false;
|
|
1817
|
-
// For each cell, need to check whether any child list in it has more elements to render
|
|
1818
|
-
for (let childKey of childListKeys) {
|
|
1819
|
-
const childList = this._nestedChildLists.get(childKey);
|
|
1820
|
-
if (childList && childList.ref && childList.ref.hasMore()) {
|
|
1821
|
-
someChildHasMore = true;
|
|
1822
|
-
break;
|
|
1823
|
-
}
|
|
1824
|
-
}
|
|
1825
|
-
if (someChildHasMore) {
|
|
1826
|
-
newState.last = ii;
|
|
1827
|
-
break;
|
|
1828
|
-
}
|
|
1829
|
-
}
|
|
1830
|
-
}
|
|
1675
|
+
const renderMask = VirtualizedList._createRenderMask(
|
|
1676
|
+
props,
|
|
1677
|
+
cellsAroundViewport,
|
|
1678
|
+
this._getNonViewportRenderRegions(props),
|
|
1679
|
+
);
|
|
1680
|
+
|
|
1831
1681
|
if (
|
|
1832
|
-
|
|
1833
|
-
|
|
1834
|
-
|
|
1682
|
+
cellsAroundViewport.first === state.cellsAroundViewport.first &&
|
|
1683
|
+
cellsAroundViewport.last === state.cellsAroundViewport.last &&
|
|
1684
|
+
renderMask.equals(state.renderMask)
|
|
1835
1685
|
) {
|
|
1836
|
-
|
|
1686
|
+
return null;
|
|
1837
1687
|
}
|
|
1838
|
-
|
|
1688
|
+
|
|
1689
|
+
return {cellsAroundViewport, renderMask};
|
|
1839
1690
|
});
|
|
1840
1691
|
};
|
|
1841
1692
|
|
|
1842
|
-
_createViewToken = (
|
|
1843
|
-
|
|
1693
|
+
_createViewToken = (
|
|
1694
|
+
index: number,
|
|
1695
|
+
isViewable: boolean,
|
|
1696
|
+
props: FrameMetricProps,
|
|
1697
|
+
// $FlowFixMe[missing-local-annot]
|
|
1698
|
+
) => {
|
|
1699
|
+
const {data, getItem} = props;
|
|
1844
1700
|
const item = getItem(data, index);
|
|
1845
|
-
return {
|
|
1701
|
+
return {
|
|
1702
|
+
index,
|
|
1703
|
+
item,
|
|
1704
|
+
key: this._keyExtractor(item, index, props),
|
|
1705
|
+
isViewable,
|
|
1706
|
+
};
|
|
1707
|
+
};
|
|
1708
|
+
|
|
1709
|
+
/**
|
|
1710
|
+
* Gets an approximate offset to an item at a given index. Supports
|
|
1711
|
+
* fractional indices.
|
|
1712
|
+
*/
|
|
1713
|
+
_getOffsetApprox = (index: number, props: FrameMetricProps): number => {
|
|
1714
|
+
if (Number.isInteger(index)) {
|
|
1715
|
+
return this.__getFrameMetricsApprox(index, props).offset;
|
|
1716
|
+
} else {
|
|
1717
|
+
const frameMetrics = this.__getFrameMetricsApprox(
|
|
1718
|
+
Math.floor(index),
|
|
1719
|
+
props,
|
|
1720
|
+
);
|
|
1721
|
+
const remainder = index - Math.floor(index);
|
|
1722
|
+
return frameMetrics.offset + remainder * frameMetrics.length;
|
|
1723
|
+
}
|
|
1846
1724
|
};
|
|
1847
1725
|
|
|
1848
|
-
__getFrameMetricsApprox: (
|
|
1726
|
+
__getFrameMetricsApprox: (
|
|
1727
|
+
index: number,
|
|
1728
|
+
props: FrameMetricProps,
|
|
1729
|
+
) => {
|
|
1849
1730
|
length: number,
|
|
1850
1731
|
offset: number,
|
|
1851
1732
|
...
|
|
1852
|
-
} = index => {
|
|
1853
|
-
const frame = this._getFrameMetrics(index);
|
|
1733
|
+
} = (index, props) => {
|
|
1734
|
+
const frame = this._getFrameMetrics(index, props);
|
|
1854
1735
|
if (frame && frame.index === index) {
|
|
1855
1736
|
// check for invalid frames due to row re-ordering
|
|
1856
1737
|
return frame;
|
|
1857
1738
|
} else {
|
|
1858
|
-
const {getItemLayout} =
|
|
1739
|
+
const {data, getItemCount, getItemLayout} = props;
|
|
1740
|
+
invariant(
|
|
1741
|
+
index >= 0 && index < getItemCount(data),
|
|
1742
|
+
'Tried to get frame for out of range index ' + index,
|
|
1743
|
+
);
|
|
1859
1744
|
invariant(
|
|
1860
1745
|
!getItemLayout,
|
|
1861
1746
|
'Should not have to estimate frames when a measurement metrics function is provided',
|
|
@@ -1869,6 +1754,7 @@ class VirtualizedList extends React.PureComponent<Props, State> {
|
|
|
1869
1754
|
|
|
1870
1755
|
_getFrameMetrics = (
|
|
1871
1756
|
index: number,
|
|
1757
|
+
props: FrameMetricProps,
|
|
1872
1758
|
): ?{
|
|
1873
1759
|
length: number,
|
|
1874
1760
|
offset: number,
|
|
@@ -1876,271 +1762,101 @@ class VirtualizedList extends React.PureComponent<Props, State> {
|
|
|
1876
1762
|
inLayout?: boolean,
|
|
1877
1763
|
...
|
|
1878
1764
|
} => {
|
|
1879
|
-
const {data, getItem, getItemCount, getItemLayout} =
|
|
1765
|
+
const {data, getItem, getItemCount, getItemLayout} = props;
|
|
1880
1766
|
invariant(
|
|
1881
|
-
getItemCount(data)
|
|
1767
|
+
index >= 0 && index < getItemCount(data),
|
|
1882
1768
|
'Tried to get frame for out of range index ' + index,
|
|
1883
1769
|
);
|
|
1884
1770
|
const item = getItem(data, index);
|
|
1885
|
-
|
|
1771
|
+
const frame = item && this._frames[this._keyExtractor(item, index, props)];
|
|
1886
1772
|
if (!frame || frame.index !== index) {
|
|
1887
1773
|
if (getItemLayout) {
|
|
1888
|
-
|
|
1774
|
+
/* $FlowFixMe[prop-missing] (>=0.63.0 site=react_native_fb) This comment
|
|
1775
|
+
* suppresses an error found when Flow v0.63 was deployed. To see the error
|
|
1776
|
+
* delete this comment and run Flow. */
|
|
1777
|
+
return getItemLayout(data, index);
|
|
1889
1778
|
}
|
|
1890
1779
|
}
|
|
1891
|
-
/* $FlowFixMe[prop-missing] (>=0.63.0 site=react_native_fb) This comment
|
|
1892
|
-
* suppresses an error found when Flow v0.63 was deployed. To see the error
|
|
1893
|
-
* delete this comment and run Flow. */
|
|
1894
1780
|
return frame;
|
|
1895
1781
|
};
|
|
1896
1782
|
|
|
1897
|
-
|
|
1898
|
-
|
|
1783
|
+
_getNonViewportRenderRegions = (
|
|
1784
|
+
props: FrameMetricProps,
|
|
1785
|
+
): $ReadOnlyArray<{
|
|
1786
|
+
first: number,
|
|
1787
|
+
last: number,
|
|
1788
|
+
}> => {
|
|
1789
|
+
// Keep a viewport's worth of content around the last focused cell to allow
|
|
1790
|
+
// random navigation around it without any blanking. E.g. tabbing from one
|
|
1791
|
+
// focused item out of viewport to another.
|
|
1792
|
+
if (
|
|
1793
|
+
!(this._lastFocusedCellKey && this._cellRefs[this._lastFocusedCellKey])
|
|
1794
|
+
) {
|
|
1795
|
+
return [];
|
|
1796
|
+
}
|
|
1797
|
+
|
|
1798
|
+
const lastFocusedCellRenderer = this._cellRefs[this._lastFocusedCellKey];
|
|
1799
|
+
const focusedCellIndex = lastFocusedCellRenderer.props.index;
|
|
1800
|
+
const itemCount = props.getItemCount(props.data);
|
|
1801
|
+
|
|
1802
|
+
// The cell may have been unmounted and have a stale index
|
|
1803
|
+
if (
|
|
1804
|
+
focusedCellIndex >= itemCount ||
|
|
1805
|
+
this._indicesToKeys.get(focusedCellIndex) !== this._lastFocusedCellKey
|
|
1806
|
+
) {
|
|
1807
|
+
return [];
|
|
1808
|
+
}
|
|
1809
|
+
|
|
1810
|
+
let first = focusedCellIndex;
|
|
1811
|
+
let heightOfCellsBeforeFocused = 0;
|
|
1812
|
+
for (
|
|
1813
|
+
let i = first - 1;
|
|
1814
|
+
i >= 0 && heightOfCellsBeforeFocused < this._scrollMetrics.visibleLength;
|
|
1815
|
+
i--
|
|
1816
|
+
) {
|
|
1817
|
+
first--;
|
|
1818
|
+
heightOfCellsBeforeFocused += this.__getFrameMetricsApprox(
|
|
1819
|
+
i,
|
|
1820
|
+
props,
|
|
1821
|
+
).length;
|
|
1822
|
+
}
|
|
1823
|
+
|
|
1824
|
+
let last = focusedCellIndex;
|
|
1825
|
+
let heightOfCellsAfterFocused = 0;
|
|
1826
|
+
for (
|
|
1827
|
+
let i = last + 1;
|
|
1828
|
+
i < itemCount &&
|
|
1829
|
+
heightOfCellsAfterFocused < this._scrollMetrics.visibleLength;
|
|
1830
|
+
i++
|
|
1831
|
+
) {
|
|
1832
|
+
last++;
|
|
1833
|
+
heightOfCellsAfterFocused += this.__getFrameMetricsApprox(
|
|
1834
|
+
i,
|
|
1835
|
+
props,
|
|
1836
|
+
).length;
|
|
1837
|
+
}
|
|
1838
|
+
|
|
1839
|
+
return [{first, last}];
|
|
1840
|
+
};
|
|
1899
1841
|
|
|
1842
|
+
_updateViewableItems(
|
|
1843
|
+
props: FrameMetricProps,
|
|
1844
|
+
cellsAroundViewport: {first: number, last: number},
|
|
1845
|
+
) {
|
|
1900
1846
|
this._viewabilityTuples.forEach(tuple => {
|
|
1901
1847
|
tuple.viewabilityHelper.onUpdate(
|
|
1902
|
-
|
|
1848
|
+
props,
|
|
1903
1849
|
this._scrollMetrics.offset,
|
|
1904
1850
|
this._scrollMetrics.visibleLength,
|
|
1905
1851
|
this._getFrameMetrics,
|
|
1906
1852
|
this._createViewToken,
|
|
1907
1853
|
tuple.onViewableItemsChanged,
|
|
1908
|
-
|
|
1854
|
+
cellsAroundViewport,
|
|
1909
1855
|
);
|
|
1910
1856
|
});
|
|
1911
1857
|
}
|
|
1912
1858
|
}
|
|
1913
1859
|
|
|
1914
|
-
type CellRendererProps = {
|
|
1915
|
-
CellRendererComponent?: ?React.ComponentType<any>,
|
|
1916
|
-
ItemSeparatorComponent: ?React.ComponentType<
|
|
1917
|
-
any | {highlighted: boolean, leadingItem: ?Item},
|
|
1918
|
-
>,
|
|
1919
|
-
ListItemComponent?: ?(React.ComponentType<any> | React.Element<any>),
|
|
1920
|
-
cellKey: string,
|
|
1921
|
-
debug?: ?boolean,
|
|
1922
|
-
fillRateHelper: FillRateHelper,
|
|
1923
|
-
getItemLayout?: (
|
|
1924
|
-
data: any,
|
|
1925
|
-
index: number,
|
|
1926
|
-
) => {
|
|
1927
|
-
length: number,
|
|
1928
|
-
offset: number,
|
|
1929
|
-
index: number,
|
|
1930
|
-
...
|
|
1931
|
-
},
|
|
1932
|
-
horizontal: ?boolean,
|
|
1933
|
-
index: number,
|
|
1934
|
-
inversionStyle: ViewStyleProp,
|
|
1935
|
-
item: Item,
|
|
1936
|
-
// This is extracted by ScrollViewStickyHeader
|
|
1937
|
-
onCellLayout: (event: Object, cellKey: string, index: number) => void,
|
|
1938
|
-
onUnmount: (cellKey: string) => void,
|
|
1939
|
-
onUpdateSeparators: (cellKeys: Array<?string>, props: Object) => void,
|
|
1940
|
-
prevCellKey: ?string,
|
|
1941
|
-
renderItem?: ?RenderItemType<Item>,
|
|
1942
|
-
...
|
|
1943
|
-
};
|
|
1944
|
-
|
|
1945
|
-
type CellRendererState = {
|
|
1946
|
-
separatorProps: $ReadOnly<{|
|
|
1947
|
-
highlighted: boolean,
|
|
1948
|
-
leadingItem: ?Item,
|
|
1949
|
-
|}>,
|
|
1950
|
-
...
|
|
1951
|
-
};
|
|
1952
|
-
|
|
1953
|
-
class CellRenderer extends React.Component<
|
|
1954
|
-
CellRendererProps,
|
|
1955
|
-
CellRendererState,
|
|
1956
|
-
> {
|
|
1957
|
-
state = {
|
|
1958
|
-
separatorProps: {
|
|
1959
|
-
highlighted: false,
|
|
1960
|
-
leadingItem: this.props.item,
|
|
1961
|
-
},
|
|
1962
|
-
};
|
|
1963
|
-
|
|
1964
|
-
static getDerivedStateFromProps(
|
|
1965
|
-
props: CellRendererProps,
|
|
1966
|
-
prevState: CellRendererState,
|
|
1967
|
-
): ?CellRendererState {
|
|
1968
|
-
return {
|
|
1969
|
-
separatorProps: {
|
|
1970
|
-
...prevState.separatorProps,
|
|
1971
|
-
leadingItem: props.item,
|
|
1972
|
-
},
|
|
1973
|
-
};
|
|
1974
|
-
}
|
|
1975
|
-
|
|
1976
|
-
// TODO: consider factoring separator stuff out of VirtualizedList into FlatList since it's not
|
|
1977
|
-
// reused by SectionList and we can keep VirtualizedList simpler.
|
|
1978
|
-
_separators = {
|
|
1979
|
-
highlight: () => {
|
|
1980
|
-
const {cellKey, prevCellKey} = this.props;
|
|
1981
|
-
this.props.onUpdateSeparators([cellKey, prevCellKey], {
|
|
1982
|
-
highlighted: true,
|
|
1983
|
-
});
|
|
1984
|
-
},
|
|
1985
|
-
unhighlight: () => {
|
|
1986
|
-
const {cellKey, prevCellKey} = this.props;
|
|
1987
|
-
this.props.onUpdateSeparators([cellKey, prevCellKey], {
|
|
1988
|
-
highlighted: false,
|
|
1989
|
-
});
|
|
1990
|
-
},
|
|
1991
|
-
updateProps: (select: 'leading' | 'trailing', newProps: Object) => {
|
|
1992
|
-
const {cellKey, prevCellKey} = this.props;
|
|
1993
|
-
this.props.onUpdateSeparators(
|
|
1994
|
-
[select === 'leading' ? prevCellKey : cellKey],
|
|
1995
|
-
newProps,
|
|
1996
|
-
);
|
|
1997
|
-
},
|
|
1998
|
-
};
|
|
1999
|
-
|
|
2000
|
-
updateSeparatorProps(newProps: Object) {
|
|
2001
|
-
this.setState(state => ({
|
|
2002
|
-
separatorProps: {...state.separatorProps, ...newProps},
|
|
2003
|
-
}));
|
|
2004
|
-
}
|
|
2005
|
-
|
|
2006
|
-
componentWillUnmount() {
|
|
2007
|
-
this.props.onUnmount(this.props.cellKey);
|
|
2008
|
-
}
|
|
2009
|
-
|
|
2010
|
-
_onLayout = (nativeEvent: LayoutEvent): void => {
|
|
2011
|
-
this.props.onCellLayout &&
|
|
2012
|
-
this.props.onCellLayout(
|
|
2013
|
-
nativeEvent,
|
|
2014
|
-
this.props.cellKey,
|
|
2015
|
-
this.props.index,
|
|
2016
|
-
);
|
|
2017
|
-
};
|
|
2018
|
-
|
|
2019
|
-
_renderElement(renderItem, ListItemComponent, item, index) {
|
|
2020
|
-
if (renderItem && ListItemComponent) {
|
|
2021
|
-
console.warn(
|
|
2022
|
-
'VirtualizedList: Both ListItemComponent and renderItem props are present. ListItemComponent will take' +
|
|
2023
|
-
' precedence over renderItem.',
|
|
2024
|
-
);
|
|
2025
|
-
}
|
|
2026
|
-
|
|
2027
|
-
if (ListItemComponent) {
|
|
2028
|
-
/* $FlowFixMe[not-a-component] (>=0.108.0 site=react_native_fb) This
|
|
2029
|
-
* comment suppresses an error found when Flow v0.108 was deployed. To
|
|
2030
|
-
* see the error, delete this comment and run Flow. */
|
|
2031
|
-
/* $FlowFixMe[incompatible-type-arg] (>=0.108.0 site=react_native_fb)
|
|
2032
|
-
* This comment suppresses an error found when Flow v0.108 was deployed.
|
|
2033
|
-
* To see the error, delete this comment and run Flow. */
|
|
2034
|
-
return React.createElement(ListItemComponent, {
|
|
2035
|
-
item,
|
|
2036
|
-
index,
|
|
2037
|
-
separators: this._separators,
|
|
2038
|
-
});
|
|
2039
|
-
}
|
|
2040
|
-
|
|
2041
|
-
if (renderItem) {
|
|
2042
|
-
return renderItem({
|
|
2043
|
-
item,
|
|
2044
|
-
index,
|
|
2045
|
-
separators: this._separators,
|
|
2046
|
-
});
|
|
2047
|
-
}
|
|
2048
|
-
|
|
2049
|
-
invariant(
|
|
2050
|
-
false,
|
|
2051
|
-
'VirtualizedList: Either ListItemComponent or renderItem props are required but none were found.',
|
|
2052
|
-
);
|
|
2053
|
-
}
|
|
2054
|
-
|
|
2055
|
-
render() {
|
|
2056
|
-
const {
|
|
2057
|
-
CellRendererComponent,
|
|
2058
|
-
ItemSeparatorComponent,
|
|
2059
|
-
ListItemComponent,
|
|
2060
|
-
debug,
|
|
2061
|
-
fillRateHelper,
|
|
2062
|
-
getItemLayout,
|
|
2063
|
-
horizontal,
|
|
2064
|
-
item,
|
|
2065
|
-
index,
|
|
2066
|
-
inversionStyle,
|
|
2067
|
-
renderItem,
|
|
2068
|
-
} = this.props;
|
|
2069
|
-
const element = this._renderElement(
|
|
2070
|
-
renderItem,
|
|
2071
|
-
ListItemComponent,
|
|
2072
|
-
item,
|
|
2073
|
-
index,
|
|
2074
|
-
);
|
|
2075
|
-
|
|
2076
|
-
const onLayout =
|
|
2077
|
-
(getItemLayout && !debug && !fillRateHelper.enabled()) ||
|
|
2078
|
-
!this.props.onCellLayout
|
|
2079
|
-
? undefined
|
|
2080
|
-
: this._onLayout;
|
|
2081
|
-
// NOTE: that when this is a sticky header, `onLayout` will get automatically extracted and
|
|
2082
|
-
// called explicitly by `ScrollViewStickyHeader`.
|
|
2083
|
-
const itemSeparator = ItemSeparatorComponent && (
|
|
2084
|
-
<ItemSeparatorComponent {...this.state.separatorProps} />
|
|
2085
|
-
);
|
|
2086
|
-
const cellStyle = inversionStyle
|
|
2087
|
-
? horizontal
|
|
2088
|
-
? [styles.rowReverse, inversionStyle]
|
|
2089
|
-
: [styles.columnReverse, inversionStyle]
|
|
2090
|
-
: horizontal
|
|
2091
|
-
? [styles.row, inversionStyle]
|
|
2092
|
-
: inversionStyle;
|
|
2093
|
-
const result = !CellRendererComponent ? (
|
|
2094
|
-
/* $FlowFixMe[incompatible-type-arg] (>=0.89.0 site=react_native_fb) *
|
|
2095
|
-
This comment suppresses an error found when Flow v0.89 was deployed. *
|
|
2096
|
-
To see the error, delete this comment and run Flow. */
|
|
2097
|
-
<View style={cellStyle} onLayout={onLayout}>
|
|
2098
|
-
{element}
|
|
2099
|
-
{itemSeparator}
|
|
2100
|
-
</View>
|
|
2101
|
-
) : (
|
|
2102
|
-
<CellRendererComponent
|
|
2103
|
-
{...this.props}
|
|
2104
|
-
style={cellStyle}
|
|
2105
|
-
onLayout={onLayout}>
|
|
2106
|
-
{element}
|
|
2107
|
-
{itemSeparator}
|
|
2108
|
-
</CellRendererComponent>
|
|
2109
|
-
);
|
|
2110
|
-
|
|
2111
|
-
return (
|
|
2112
|
-
<VirtualizedListCellContextProvider cellKey={this.props.cellKey}>
|
|
2113
|
-
{result}
|
|
2114
|
-
</VirtualizedListCellContextProvider>
|
|
2115
|
-
);
|
|
2116
|
-
}
|
|
2117
|
-
}
|
|
2118
|
-
|
|
2119
|
-
function describeNestedLists(childList: {
|
|
2120
|
-
+cellKey: string,
|
|
2121
|
-
+key: string,
|
|
2122
|
-
+ref: VirtualizedList,
|
|
2123
|
-
+parentDebugInfo: ListDebugInfo,
|
|
2124
|
-
+horizontal: boolean,
|
|
2125
|
-
...
|
|
2126
|
-
}) {
|
|
2127
|
-
let trace =
|
|
2128
|
-
'VirtualizedList trace:\n' +
|
|
2129
|
-
` Child (${childList.horizontal ? 'horizontal' : 'vertical'}):\n` +
|
|
2130
|
-
` listKey: ${childList.key}\n` +
|
|
2131
|
-
` cellKey: ${childList.cellKey}`;
|
|
2132
|
-
|
|
2133
|
-
let debugInfo: ?ListDebugInfo = childList.parentDebugInfo;
|
|
2134
|
-
while (debugInfo) {
|
|
2135
|
-
trace +=
|
|
2136
|
-
`\n Parent (${debugInfo.horizontal ? 'horizontal' : 'vertical'}):\n` +
|
|
2137
|
-
` listKey: ${debugInfo.listKey}\n` +
|
|
2138
|
-
` cellKey: ${debugInfo.cellKey}`;
|
|
2139
|
-
debugInfo = debugInfo.parent;
|
|
2140
|
-
}
|
|
2141
|
-
return trace;
|
|
2142
|
-
}
|
|
2143
|
-
|
|
2144
1860
|
const styles = StyleSheet.create({
|
|
2145
1861
|
verticallyInverted: {
|
|
2146
1862
|
transform: [{scaleY: -1}],
|
|
@@ -2148,15 +1864,6 @@ const styles = StyleSheet.create({
|
|
|
2148
1864
|
horizontallyInverted: {
|
|
2149
1865
|
transform: [{scaleX: -1}],
|
|
2150
1866
|
},
|
|
2151
|
-
row: {
|
|
2152
|
-
flexDirection: 'row',
|
|
2153
|
-
},
|
|
2154
|
-
rowReverse: {
|
|
2155
|
-
flexDirection: 'row-reverse',
|
|
2156
|
-
},
|
|
2157
|
-
columnReverse: {
|
|
2158
|
-
flexDirection: 'column-reverse',
|
|
2159
|
-
},
|
|
2160
1867
|
debug: {
|
|
2161
1868
|
flex: 1,
|
|
2162
1869
|
},
|
|
@@ -2186,5 +1893,3 @@ const styles = StyleSheet.create({
|
|
|
2186
1893
|
borderWidth: 2,
|
|
2187
1894
|
},
|
|
2188
1895
|
});
|
|
2189
|
-
|
|
2190
|
-
module.exports = VirtualizedList;
|