react-native-windows 0.71.8 → 0.72.0-preview.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.flowconfig +13 -3
- package/Directory.Build.props +19 -19
- package/Libraries/ActionSheetIOS/ActionSheetIOS.js +1 -1
- package/Libraries/Alert/Alert.d.ts +4 -4
- package/Libraries/Alert/Alert.windows.js +2 -0
- package/Libraries/Alert/NativeDialogManagerWindows.js +1 -0
- package/Libraries/Animated/Animated.d.ts +17 -6
- package/Libraries/Animated/NativeAnimatedHelper.js +18 -6
- package/Libraries/Animated/bezier.js +1 -1
- package/Libraries/Animated/components/AnimatedFlatList.js +8 -3
- package/Libraries/Animated/components/AnimatedScrollView.js +4 -1
- package/Libraries/Animated/components/AnimatedSectionList.js +12 -3
- package/Libraries/Animated/createAnimatedComponent.js +26 -239
- package/Libraries/Animated/nodes/AnimatedColor.js +47 -80
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +167 -121
- package/Libraries/Animated/nodes/AnimatedNode.js +3 -5
- package/Libraries/Animated/nodes/AnimatedProps.js +7 -6
- package/Libraries/Animated/nodes/AnimatedStyle.js +42 -8
- package/Libraries/Animated/nodes/AnimatedTransform.js +1 -1
- package/Libraries/Animated/nodes/AnimatedValue.js +8 -12
- package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -1
- package/Libraries/Animated/useAnimatedProps.js +7 -10
- package/Libraries/AppTheme/AppTheme.js +1 -0
- package/Libraries/AppTheme/AppThemeTypes.d.ts +1 -1
- package/Libraries/BatchedBridge/MessageQueue.js +2 -1
- package/Libraries/BatchedBridge/NativeModules.d.ts +1 -1
- package/Libraries/BatchedBridge/NativeModules.js +1 -0
- package/Libraries/Blob/Blob.js +4 -0
- package/Libraries/Blob/FileReader.js +30 -2
- package/Libraries/Blob/URL.js +3 -1
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +2 -2
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +2 -3
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js +2 -3
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +6 -4
- package/Libraries/Components/Button.js +3 -2
- package/Libraries/Components/Button.windows.js +3 -2
- package/Libraries/Components/Clipboard/Clipboard.js +1 -1
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +4 -0
- package/Libraries/Components/Flyout/Flyout.d.ts +55 -19
- package/Libraries/Components/Flyout/Flyout.js +110 -51
- package/Libraries/Components/Flyout/FlyoutNativeComponent.js +45 -0
- package/Libraries/Components/Glyph/Glyph.d.ts +29 -12
- package/Libraries/Components/Glyph/Glyph.js +43 -30
- package/Libraries/Components/Glyph/GlyphNativeComponent.js +31 -0
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -0
- package/Libraries/Components/Keyboard/KeyboardExtProps.d.ts +2 -2
- package/Libraries/Components/Keyboard/KeyboardExtProps.js.map +1 -1
- package/Libraries/Components/Popup/Popup.d.ts +41 -19
- package/Libraries/Components/Popup/Popup.js +86 -52
- package/Libraries/Components/Popup/PopupNativeComponent.js +49 -0
- package/Libraries/Components/Pressable/Pressable.d.ts +1 -1
- package/Libraries/Components/Pressable/Pressable.js +1 -1
- package/Libraries/Components/RefreshControl/RefreshControl.js +1 -0
- package/Libraries/Components/RefreshControl/RefreshControl.windows.js +1 -0
- package/Libraries/Components/SafeAreaView/SafeAreaView.js +1 -2
- package/Libraries/Components/SafeAreaView/SafeAreaView.windows.js +1 -2
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +12 -6
- package/Libraries/Components/ScrollView/ScrollView.d.ts +2 -2
- package/Libraries/Components/ScrollView/ScrollView.js +149 -91
- package/Libraries/Components/ScrollView/ScrollView.windows.js +1939 -0
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +16 -6
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.windows.js +175 -0
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +5 -7
- package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +1 -1
- package/Libraries/Components/StatusBar/StatusBar.js +3 -0
- package/Libraries/Components/Switch/Switch.js +3 -1
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +21 -11
- package/Libraries/Components/TextInput/InputAccessoryView.d.ts +1 -1
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +11 -5
- package/Libraries/Components/TextInput/TextInput.d.ts +15 -5
- package/Libraries/Components/TextInput/TextInput.flow.js +1 -1
- package/Libraries/Components/TextInput/TextInput.js +130 -103
- package/Libraries/Components/TextInput/TextInput.windows.js +152 -115
- package/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js +1 -1
- package/Libraries/Components/Touchable/Touchable.d.ts +1 -1
- package/Libraries/Components/Touchable/Touchable.flow.js +30 -4
- package/Libraries/Components/Touchable/Touchable.js +6 -3
- package/Libraries/Components/Touchable/Touchable.windows.js +6 -3
- package/Libraries/Components/Touchable/TouchableHighlight.js +1 -1
- package/Libraries/Components/Touchable/TouchableHighlight.windows.js +2 -1
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +2 -2
- package/Libraries/Components/Touchable/TouchableOpacity.js +3 -0
- package/Libraries/Components/Touchable/TouchableOpacity.windows.js +4 -0
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +1 -1
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +2 -2
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +2 -2
- package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlay.js +189 -0
- package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlayNativeComponent.js +43 -0
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +26 -0
- package/Libraries/Components/View/View.js +71 -45
- package/Libraries/Components/View/View.windows.js +40 -16
- package/Libraries/Components/View/ViewAccessibility.d.ts +6 -6
- package/Libraries/Components/View/ViewAccessibility.js +10 -1
- package/Libraries/Components/View/ViewAccessibility.windows.js +9 -0
- package/Libraries/Components/View/ViewNativeComponent.js +32 -8
- package/Libraries/Components/View/ViewPropTypes.d.ts +1 -1
- package/Libraries/Components/View/ViewPropTypes.js +1 -1
- package/Libraries/Components/View/ViewPropTypes.windows.js +3 -1
- package/Libraries/Core/Devtools/openFileInEditor.js +1 -0
- package/Libraries/Core/Devtools/openURLInBrowser.js +1 -0
- package/Libraries/Core/Devtools/parseErrorStack.js +2 -2
- package/Libraries/Core/Devtools/parseHermesStack.js +54 -34
- package/Libraries/Core/ExceptionsManager.js +2 -2
- package/Libraries/Core/InitializeCore.js +2 -1
- package/Libraries/Core/ReactNativeVersion.js +3 -3
- package/Libraries/Core/ReactNativeVersionCheck.js +1 -9
- package/Libraries/Core/Timers/JSTimers.js +1 -1
- package/Libraries/Core/Timers/immediateShim.js +1 -0
- package/Libraries/Core/Timers/queueMicrotask.js +1 -1
- package/Libraries/Core/setUpAlert.js +1 -1
- package/Libraries/Core/setUpDOM.js +18 -0
- package/Libraries/Core/setUpDeveloperTools.js +1 -1
- package/Libraries/Core/setUpGlobals.js +5 -2
- package/Libraries/Core/setUpNavigator.js +6 -5
- package/Libraries/Core/setUpPerformance.js +23 -13
- package/Libraries/Core/setUpReactDevTools.js +2 -0
- package/Libraries/Core/setUpSegmentFetcher.js +0 -41
- package/Libraries/Core/setUpTimers.js +2 -2
- package/Libraries/DOM/Geometry/DOMRect.js +82 -0
- package/Libraries/DOM/Geometry/DOMRectReadOnly.js +188 -0
- package/Libraries/DOM/Nodes/ReactNativeElement.js +75 -0
- package/Libraries/DOM/Nodes/ReadOnlyElement.js +89 -0
- package/Libraries/DOM/Nodes/ReadOnlyNode.js +167 -0
- package/Libraries/DOM/OldStyleCollections/ArrayLikeUtils.js +46 -0
- package/Libraries/DOM/OldStyleCollections/DOMRectList.js +76 -0
- package/Libraries/DOM/OldStyleCollections/HTMLCollection.js +82 -0
- package/Libraries/DOM/OldStyleCollections/NodeList.js +104 -0
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.android.js +35 -0
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.d.ts +20 -0
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.ios.js +49 -0
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.windows.js +35 -0
- package/Libraries/{Utilities/NativeDevSplitBundleLoader.js → DevToolsSettings/NativeDevToolsSettingsManager.js} +7 -2
- package/Libraries/EventEmitter/NativeEventEmitter.d.ts +1 -2
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.d.ts +1 -2
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +9 -1
- package/Libraries/Events/EventPolyfill.js +1 -1
- package/Libraries/Image/AssetRegistry.js +1 -1
- package/Libraries/Image/AssetSourceResolver.js +3 -3
- package/Libraries/Image/Image.android.js +4 -1
- package/Libraries/Image/Image.d.ts +63 -2
- package/Libraries/Image/Image.ios.js +3 -0
- package/Libraries/Image/Image.windows.js +3 -0
- package/Libraries/Image/ImageBackground.js +1 -0
- package/Libraries/Image/ImageProps.js +1 -1
- package/Libraries/Image/ImageViewNativeComponent.js +4 -4
- package/Libraries/Image/RelativeImageStub.js +1 -1
- package/Libraries/Image/TextInlineImageNativeComponent.js +1 -1
- package/Libraries/Image/resolveAssetSource.js +1 -1
- package/Libraries/Inspector/DevtoolsOverlay.js +29 -19
- package/Libraries/Inspector/ElementBox.js +4 -1
- package/Libraries/Inspector/Inspector.js +5 -6
- package/Libraries/Inspector/InspectorOverlay.js +3 -3
- package/Libraries/Inspector/NetworkOverlay.js +1 -1
- package/Libraries/Interaction/JSEventLoopWatchdog.js +1 -1
- package/Libraries/Interaction/PanResponder.js +5 -6
- package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -1
- package/Libraries/Linking/Linking.js +1 -4
- package/Libraries/Lists/FillRateHelper.js +4 -238
- package/Libraries/Lists/FlatList.d.ts +15 -22
- package/Libraries/Lists/FlatList.js +9 -6
- package/Libraries/Lists/SectionList.d.ts +10 -6
- package/Libraries/Lists/SectionList.js +5 -3
- package/Libraries/Lists/SectionListModern.js +3 -3
- package/Libraries/Lists/ViewabilityHelper.js +8 -344
- package/Libraries/Lists/VirtualizeUtils.js +4 -244
- package/Libraries/Lists/VirtualizedList.js +10 -1867
- package/Libraries/Lists/VirtualizedListContext.js +6 -104
- package/Libraries/Lists/VirtualizedSectionList.js +9 -602
- package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +1 -0
- package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +1 -1
- package/Libraries/LogBox/Data/LogBoxData.js +1 -1
- package/Libraries/LogBox/Data/parseLogBoxLog.js +1 -1
- package/Libraries/LogBox/LogBox.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspector.js +1 -3
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.windows.js +167 -0
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.windows.js +172 -0
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.windows.js +193 -0
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +1 -0
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +2 -2
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.windows.js +118 -0
- package/Libraries/LogBox/UI/LogBoxMessage.js +87 -5
- package/Libraries/LogBox/UI/LogBoxNotification.js +5 -7
- package/Libraries/Modal/Modal.js +2 -2
- package/Libraries/NativeComponent/BaseViewConfig.android.js +32 -12
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +43 -19
- package/Libraries/NativeComponent/BaseViewConfig.windows.js +77 -19
- package/Libraries/NativeComponent/NativeComponentRegistryUnstable.js +4 -1
- package/Libraries/NativeComponent/ViewConfig.js +1 -0
- package/Libraries/NativeComponent/ViewConfigIgnore.js +1 -4
- package/Libraries/Network/RCTNetworking.android.js +2 -2
- package/Libraries/Network/RCTNetworking.ios.js +1 -1
- package/Libraries/Network/RCTNetworking.windows.js +1 -1
- package/Libraries/Network/XMLHttpRequest.js +1 -1
- package/Libraries/Pressability/Pressability.js +11 -5
- package/Libraries/Pressability/Pressability.windows.js +11 -4
- package/Libraries/ReactNative/AppContainer.js +7 -1
- package/Libraries/ReactNative/AppRegistry.d.ts +1 -1
- package/Libraries/ReactNative/AppRegistry.js +10 -13
- package/Libraries/ReactNative/FabricUIManager.js +24 -8
- package/Libraries/ReactNative/NativeUIManager.js +5 -5
- package/Libraries/ReactNative/ReactNativeFeatureFlags.js +10 -10
- package/Libraries/ReactNative/UIManager.js +142 -1
- package/Libraries/ReactNative/getCachedComponentWithDebugName.js +5 -5
- package/Libraries/ReactNative/getNativeComponentAttributes.js +1 -1
- package/Libraries/ReactNative/requireNativeComponent.d.ts +1 -1
- package/Libraries/ReactNative/requireNativeComponent.js +1 -1
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +1 -0
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +26 -3
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +13 -1
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +13 -1
- package/Libraries/Renderer/public/ReactFabricPublicInstanceUtils.js +38 -0
- package/Libraries/Renderer/shims/ReactNativeTypes.js +38 -20
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +7 -7
- package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
- package/Libraries/Share/Share.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
- package/Libraries/StyleSheet/StyleSheet.js +1 -1
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +115 -76
- package/Libraries/StyleSheet/StyleSheetTypes.js +188 -33
- package/Libraries/StyleSheet/flattenStyle.js +2 -0
- package/Libraries/StyleSheet/normalizeColor.js +1 -1
- package/Libraries/StyleSheet/processColor.js +1 -1
- package/Libraries/Text/Text.d.ts +12 -2
- package/Libraries/Text/Text.js +50 -41
- package/Libraries/Text/Text.windows.js +48 -38
- package/Libraries/Text/TextProps.js +3 -4
- package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +6 -0
- package/Libraries/Types/CodegenTypes.js +1 -0
- package/Libraries/UTFSequence.js +3 -1
- package/Libraries/Utilities/Appearance.d.ts +10 -0
- package/Libraries/Utilities/Appearance.js +13 -0
- package/Libraries/Utilities/Dimensions.js +1 -1
- package/Libraries/Utilities/GlobalPerformanceLogger.js +12 -1
- package/Libraries/Utilities/HMRClient.js +16 -10
- package/Libraries/Utilities/{createPerformanceLogger.d.ts → IPerformanceLogger.d.ts} +4 -4
- package/Libraries/Utilities/IPerformanceLogger.js +49 -0
- package/Libraries/Utilities/LoadingView.android.js +28 -11
- package/Libraries/Utilities/NativeAppearance.js +1 -0
- package/Libraries/Utilities/NativePlatformConstantsWin.js +1 -1
- package/Libraries/Utilities/PixelRatio.js +2 -2
- package/Libraries/Utilities/Platform.windows.js +1 -1
- package/Libraries/Utilities/ReactNativeTestTools.js +1 -1
- package/Libraries/Utilities/__mocks__/PixelRatio.js +1 -1
- package/Libraries/Utilities/codegenNativeCommands.js +2 -0
- package/Libraries/Utilities/createPerformanceLogger.js +55 -43
- package/Libraries/Utilities/stringifySafe.js +2 -7
- package/Libraries/Utilities/useColorScheme.js +1 -1
- package/Libraries/Utilities/useWindowDimensions.js +3 -3
- package/Libraries/WebPerformance/EventCounts.js +78 -0
- package/Libraries/WebPerformance/MemoryInfo.js +54 -0
- package/Libraries/WebPerformance/NativePerformance.js +38 -0
- package/Libraries/WebPerformance/NativePerformanceObserver.js +22 -7
- package/Libraries/WebPerformance/Performance.js +312 -0
- package/Libraries/WebPerformance/PerformanceEntry.js +45 -0
- package/Libraries/WebPerformance/PerformanceEventTiming.js +38 -0
- package/Libraries/WebPerformance/PerformanceObserver.js +196 -101
- package/Libraries/WebPerformance/RawPerformanceEntry.js +87 -0
- package/Libraries/WebPerformance/ReactNativeStartupTiming.js +65 -0
- package/Libraries/WebPerformance/__mocks__/NativePerformance.js +65 -0
- package/Libraries/WebPerformance/__mocks__/NativePerformanceObserver.js +101 -0
- package/Libraries/YellowBox/YellowBoxDeprecated.js +1 -1
- package/Libraries/platform-types.d.ts +3 -5
- package/Libraries/vendor/core/ErrorUtils.js +1 -1
- package/Libraries/vendor/emitter/EventEmitter.d.ts +2 -2
- package/Libraries/vendor/emitter/EventEmitter.js +9 -1
- package/Microsoft.ReactNative/Base/CoreNativeModules.cpp +0 -15
- package/Microsoft.ReactNative/CompositionHwndHost.idl +6 -0
- package/Microsoft.ReactNative/CompositionRootView.idl +35 -0
- package/Microsoft.ReactNative/CompositionSwitcher.idl +19 -0
- package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.cpp +174 -0
- package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.h +91 -0
- package/Microsoft.ReactNative/Fabric/AbiViewProps.cpp +48 -0
- package/Microsoft.ReactNative/Fabric/AbiViewProps.h +48 -0
- package/Microsoft.ReactNative/Fabric/ComponentView.h +19 -2
- package/Microsoft.ReactNative/Fabric/Composition/AbiCompositionViewComponentView.cpp +144 -0
- package/Microsoft.ReactNative/Fabric/Composition/AbiCompositionViewComponentView.h +63 -0
- package/Microsoft.ReactNative/Fabric/Composition/ComponentViewRegistry.cpp +27 -6
- package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +97 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +227 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.h +38 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +112 -95
- package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.h +12 -8
- package/Microsoft.ReactNative/Fabric/Composition/CompositionHelpers.h +0 -2
- package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.cpp +27 -6
- package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.h +8 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.cpp +147 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.h +46 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.cpp +31 -4
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.h +37 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +255 -50
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +34 -15
- package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.cpp +127 -47
- package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.h +11 -7
- package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +109 -39
- package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.h +10 -7
- package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.cpp +106 -0
- package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.h +63 -0
- package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.cpp +116 -0
- package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.h +43 -0
- package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +53 -38
- package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.h +12 -8
- package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.cpp +262 -0
- package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.h +62 -0
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +35 -30
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.h +11 -9
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputProps.cpp +9 -0
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputProps.h +3 -0
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +2 -1
- package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.cpp +72 -0
- package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.h +16 -0
- package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.cpp +168 -0
- package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.h +49 -0
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +19 -53
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +2 -3
- package/Microsoft.ReactNative/Fabric/ReactTaggedView.h +8 -9
- package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.cpp +100 -0
- package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.h +43 -0
- package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/WindowsViewProps.cpp +61 -0
- package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/WindowsViewProps.h +34 -0
- package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/primitives.h +42 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewProps.h +10 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/core/graphicsConversions.h +248 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.cpp +5 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.h +135 -4
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/conversions.h +18 -240
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.cpp +107 -17
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.h +13 -2
- package/Microsoft.ReactNative/IReactCompositionViewComponentBuilder.idl +87 -0
- package/Microsoft.ReactNative/IReactContext.cpp +4 -0
- package/Microsoft.ReactNative/IReactContext.h +1 -0
- package/Microsoft.ReactNative/IReactContext.idl +5 -0
- package/Microsoft.ReactNative/IReactDispatcher.cpp +4 -0
- package/Microsoft.ReactNative/IReactDispatcher.h +1 -0
- package/Microsoft.ReactNative/IReactPackageBuilderFabric.idl +23 -0
- package/Microsoft.ReactNative/IReactViewComponentBuilder.idl +23 -0
- package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +4 -118
- package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj.filters +1 -7
- package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.cpp +2 -2
- package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.h +1 -1
- package/Microsoft.ReactNative/Modules/AlertModule.cpp +100 -4
- package/Microsoft.ReactNative/Modules/AlertModule.h +4 -0
- package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedModule.cpp +9 -0
- package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedModule.h +2 -0
- package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.cpp +7 -5
- package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.cpp +17 -3
- package/Microsoft.ReactNative/Modules/Animated/ValueAnimatedNode.h +1 -0
- package/Microsoft.ReactNative/Modules/AppearanceModule.cpp +4 -0
- package/Microsoft.ReactNative/Modules/AppearanceModule.h +3 -0
- package/Microsoft.ReactNative/Modules/ClipboardModule.cpp +4 -4
- package/Microsoft.ReactNative/Modules/ClipboardModule.h +2 -2
- package/Microsoft.ReactNative/Modules/ImageViewManagerModule.cpp +27 -7
- package/Microsoft.ReactNative/Modules/ImageViewManagerModule.h +9 -5
- package/Microsoft.ReactNative/Modules/LinkingManagerModule.cpp +10 -12
- package/Microsoft.ReactNative/Modules/LinkingManagerModule.h +4 -4
- package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +21 -1
- package/Microsoft.ReactNative/QuirkSettings.cpp +17 -0
- package/Microsoft.ReactNative/QuirkSettings.h +5 -0
- package/Microsoft.ReactNative/QuirkSettings.idl +6 -0
- package/Microsoft.ReactNative/ReactApplication.cpp +8 -0
- package/Microsoft.ReactNative/ReactApplication.h +3 -0
- package/Microsoft.ReactNative/ReactApplication.idl +3 -0
- package/Microsoft.ReactNative/ReactCoreInjection.cpp +29 -0
- package/Microsoft.ReactNative/ReactCoreInjection.h +6 -0
- package/Microsoft.ReactNative/ReactCoreInjection.idl +13 -0
- package/Microsoft.ReactNative/ReactHost/MsoReactContext.cpp +7 -0
- package/Microsoft.ReactNative/ReactHost/MsoReactContext.h +1 -0
- package/Microsoft.ReactNative/ReactHost/React.h +2 -0
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +57 -16
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +1 -0
- package/Microsoft.ReactNative/ReactInstanceSettings.h +12 -0
- package/Microsoft.ReactNative/ReactInstanceSettings.idl +6 -0
- package/Microsoft.ReactNative/ReactNativeHost.cpp +17 -0
- package/Microsoft.ReactNative/ReactPackageBuilder.cpp +18 -0
- package/Microsoft.ReactNative/ReactPackageBuilder.h +24 -1
- package/Microsoft.ReactNative/ReactRootView.cpp +2 -2
- package/Microsoft.ReactNative/RedBox.cpp +2 -1
- package/Microsoft.ReactNative/Utils/Helpers.cpp +0 -32
- package/Microsoft.ReactNative/Utils/Helpers.h +0 -8
- package/Microsoft.ReactNative/Utils/ImageUtils.cpp +69 -6
- package/Microsoft.ReactNative/Utils/ImageUtils.h +3 -1
- package/Microsoft.ReactNative/Utils/KeyboardUtils.cpp +416 -0
- package/Microsoft.ReactNative/Utils/KeyboardUtils.h +15 -0
- package/Microsoft.ReactNative/Utils/TransformableText.h +1 -0
- package/Microsoft.ReactNative/Utils/ValueUtils.cpp +1 -9
- package/Microsoft.ReactNative/Utils/ValueUtils.h +0 -2
- package/Microsoft.ReactNative/ViewProps.idl +30 -0
- package/Microsoft.ReactNative/Views/ControlViewManager.cpp +6 -2
- package/Microsoft.ReactNative/Views/DevMenu.cpp +369 -230
- package/Microsoft.ReactNative/Views/DevMenu.h +3 -15
- package/Microsoft.ReactNative/Views/FlyoutViewManager.cpp +6 -3
- package/Microsoft.ReactNative/Views/Image/ImageViewManager.cpp +11 -3
- package/Microsoft.ReactNative/Views/Image/ImageViewManager.h +5 -1
- package/Microsoft.ReactNative/Views/Image/ReactImage.cpp +29 -22
- package/Microsoft.ReactNative/Views/Image/ReactImage.h +2 -2
- package/Microsoft.ReactNative/Views/KeyboardEventHandler.cpp +10 -405
- package/Microsoft.ReactNative/Views/KeyboardEventHandler.h +0 -3
- package/Microsoft.ReactNative/Views/PopupViewManager.cpp +1 -0
- package/Microsoft.ReactNative/Views/ScrollViewManager.cpp +2 -2
- package/Microsoft.ReactNative/Views/ShadowNodeBase.cpp +7 -0
- package/Microsoft.ReactNative/Views/ShadowNodeBase.h +3 -0
- package/Microsoft.ReactNative/Views/Text/TextHitTestUtils.cpp +6 -1
- package/Microsoft.ReactNative/Views/Text/TextPropertyChangedParentVisitor.cpp +1 -0
- package/Microsoft.ReactNative/Views/TextInputViewManager.cpp +38 -2
- package/Microsoft.ReactNative/Views/TextViewManager.cpp +3 -0
- package/Microsoft.ReactNative/Views/TouchEventHandler.h +0 -4
- package/Microsoft.ReactNative/Views/ViewManagerBase.cpp +0 -8
- package/Microsoft.ReactNative/Views/ViewPanel.cpp +1 -1
- package/Microsoft.ReactNative/Views/ViewViewManager.cpp +12 -3
- package/Microsoft.ReactNative/XamlHelper.cpp +36 -0
- package/Microsoft.ReactNative/XamlHelper.h +27 -0
- package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.cpp +4 -4
- package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.h +4 -4
- package/Microsoft.ReactNative.Cxx/JSI/LongLivedJsiValue.h +1 -1
- package/Microsoft.ReactNative.Cxx/JSI/NodeApiJsiRuntime.cpp +10 -8
- package/Microsoft.ReactNative.Cxx/JSI/NodeApiJsiRuntime.h +3 -3
- package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +4 -1
- package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems.filters +3 -0
- package/Microsoft.ReactNative.Cxx/NativeModules.h +16 -1
- package/Microsoft.ReactNative.Managed/ReactSettingsSnapshot.cs +2 -0
- package/Microsoft.ReactNative.Managed/packages.lock.json +5 -5
- package/PropertySheets/External/Microsoft.ReactNative.Cpp.ProjectReferences.props +3 -0
- package/PropertySheets/Generated/PackageVersion.g.props +4 -4
- package/PropertySheets/JSEngine.props +1 -2
- package/PropertySheets/Warnings.props +1 -1
- package/ReactCommon/ReactCommon.vcxproj +2 -4
- package/ReactCommon/ReactCommon.vcxproj.filters +3 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/CallbackWrapper.h +1 -1
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/LongLivedObject.cpp +60 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/LongLivedObject.h +60 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +116 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleBinding.h +63 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +2 -2
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.cpp +237 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.h +59 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewEventEmitter.cpp +159 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewEventEmitter.h +94 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewProps.cpp +465 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewProps.h +116 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewShadowNode.cpp +98 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/YogaStylableProps.cpp +362 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/primitives.h +326 -0
- package/ReactCommon/Yoga.cpp +60 -127
- package/Scripts/OfficeReact.Win32.nuspec +1 -0
- package/Scripts/Tfs/Layout-MSRN-Headers.ps1 +1 -0
- package/Scripts/rnw-dependencies.ps1 +12 -4
- package/Shared/Composition/CompositionSwitcher.interop.h +1 -0
- package/Shared/DevServerHelper.h +11 -2
- package/Shared/DevSettings.h +1 -0
- package/Shared/DevSupportManager.cpp +11 -1
- package/Shared/DevSupportManager.h +1 -0
- package/Shared/HermesRuntimeHolder.cpp +53 -30
- package/Shared/HermesRuntimeHolder.h +26 -11
- package/Shared/HermesSamplingProfiler.cpp +61 -8
- package/Shared/HermesSamplingProfiler.h +6 -3
- package/Shared/HermesShim.cpp +86 -82
- package/Shared/HermesShim.h +28 -8
- package/Shared/JSI/ChakraRuntime.cpp +7 -4
- package/Shared/JSI/ChakraRuntime.h +4 -4
- package/Shared/JSI/NapiJsiV8RuntimeHolder.h +2 -0
- package/Shared/JSI/RuntimeHolder.h +2 -2
- package/Shared/Logging.cpp +1 -1
- package/Shared/Modules/BlobModule.cpp +3 -4
- package/Shared/Modules/BlobModule.h +0 -4
- package/Shared/Networking/OriginPolicyHttpFilter.cpp +13 -17
- package/Shared/Networking/OriginPolicyHttpFilter.h +11 -12
- package/Shared/Networking/WinRTWebSocketResource.cpp +59 -45
- package/Shared/OInstance.cpp +9 -2
- package/Shared/Shared.vcxitems +265 -58
- package/Shared/Shared.vcxitems.filters +312 -42
- package/Shared/V8JSIRuntimeHolder.cpp +1 -0
- package/Shared/V8JSIRuntimeHolder.h +7 -2
- package/codegen/NativeAppearanceSpec.g.h +9 -3
- package/codegen/NativeClipboardSpec.g.h +3 -3
- package/codegen/NativeDevToolsSettingsManagerSpec.g.h +51 -0
- package/codegen/NativeDialogManagerWindowsSpec.g.h +2 -0
- package/codegen/NativeFileReaderModuleSpec.g.h +6 -6
- package/codegen/NativeHeadlessJsTaskSupportSpec.g.h +3 -3
- package/codegen/NativeImageLoaderAndroidSpec.g.h +25 -9
- package/codegen/NativeImageLoaderIOSSpec.g.h +20 -12
- package/codegen/NativeIntentAndroidSpec.g.h +15 -15
- package/codegen/NativeLinkingManagerSpec.g.h +12 -12
- package/codegen/NativePerformanceObserverSpec.g.h +48 -10
- package/codegen/NativePerformanceSpec.g.h +63 -0
- package/codegen/NativePermissionsAndroidSpec.g.h +9 -9
- package/codegen/NativePlatformConstantsWinSpec.g.h +1 -1
- package/codegen/NativePushNotificationManagerIOSSpec.g.h +6 -6
- package/codegen/NativeSampleTurboModuleSpec.g.h +25 -19
- package/codegen/NativeShareModuleSpec.g.h +9 -3
- package/codegen/NativeUIManagerSpec.g.h +12 -12
- package/codegen/react/components/rnwcore/ComponentDescriptors.h +1 -2
- package/codegen/react/components/rnwcore/EventEmitters.cpp +21 -29
- package/codegen/react/components/rnwcore/EventEmitters.h +30 -30
- package/codegen/react/components/rnwcore/Props.cpp +47 -48
- package/codegen/react/components/rnwcore/Props.h +59 -166
- package/codegen/react/components/rnwcore/ShadowNodes.cpp +1 -2
- package/codegen/react/components/rnwcore/ShadowNodes.h +11 -22
- package/codegen/react/components/rnwcore/States.h +15 -30
- package/codegen/rnwcoreJSI-generated.cpp +87 -25
- package/codegen/rnwcoreJSI.h +1077 -417
- package/generate.js +6 -1
- package/include/Include.vcxitems +0 -1
- package/include/Include.vcxitems.filters +0 -3
- package/index.js +56 -42
- package/index.windows.js +56 -42
- package/interface.js +1 -1
- package/jest/local-setup.js +33 -0
- package/jest/mockComponent.js +4 -2
- package/jest/mockNativeComponent.js +1 -1
- package/jest/mockScrollView.js +2 -1
- package/jest/react-native-env.js +1 -3
- package/jest/setup.js +11 -8
- package/just-task.js +12 -5
- package/package.json +32 -29
- package/rn-get-polyfills.js +1 -1
- package/template/metro.config.js +2 -0
- package/Libraries/Animated/createAnimatedComponentInjection.js +0 -48
- package/Libraries/Animated/createAnimatedComponent_EXPERIMENTAL.js +0 -48
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.flow.js +0 -208
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.flow.js +0 -58
- package/Libraries/Components/DatePicker/DatePickerIOS.android.js +0 -47
- package/Libraries/Components/DatePicker/DatePickerIOS.d.ts +0 -92
- package/Libraries/Components/DatePicker/DatePickerIOS.flow.android.js +0 -14
- package/Libraries/Components/DatePicker/DatePickerIOS.flow.ios.js +0 -113
- package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +0 -242
- package/Libraries/Components/DatePicker/DatePickerIOS.windows.js +0 -47
- package/Libraries/Components/DatePicker/RCTDatePickerNativeComponent.js +0 -60
- package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +0 -26
- package/Libraries/Components/Flyout/Flyout.js.map +0 -1
- package/Libraries/Components/Flyout/FlyoutProps.d.ts +0 -25
- package/Libraries/Components/Flyout/FlyoutProps.js +0 -3
- package/Libraries/Components/Flyout/FlyoutProps.js.map +0 -1
- package/Libraries/Components/Glyph/Glyph.js.map +0 -1
- package/Libraries/Components/Glyph/GlyphProps.d.ts +0 -16
- package/Libraries/Components/Glyph/GlyphProps.js +0 -8
- package/Libraries/Components/Glyph/GlyphProps.js.map +0 -1
- package/Libraries/Components/Popup/Popup.js.map +0 -1
- package/Libraries/Components/Popup/PopupProps.d.ts +0 -27
- package/Libraries/Components/Popup/PopupProps.js +0 -8
- package/Libraries/Components/Popup/PopupProps.js.map +0 -1
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.android.js +0 -45
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.d.ts +0 -62
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js +0 -75
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.windows.js +0 -45
- package/Libraries/Components/ProgressViewIOS/RCTProgressViewNativeComponent.js +0 -33
- package/Libraries/Components/SafeAreaView/SafeAreaView.flow.js +0 -19
- package/Libraries/Components/Slider/Slider.d.ts +0 -132
- package/Libraries/Components/Slider/Slider.js +0 -282
- package/Libraries/Components/Slider/SliderNativeComponent.js +0 -56
- package/Libraries/Interaction/Batchinator.js +0 -76
- package/Libraries/Interaction/BridgeSpyStallHandler.js +0 -63
- package/Libraries/Interaction/InteractionStallDebugger.js +0 -23
- package/Libraries/Interaction/PanResponder.flow.js +0 -257
- package/Libraries/Lists/CellRenderMask.js +0 -155
- package/Libraries/Lists/ChildListCollection.js +0 -72
- package/Libraries/Lists/StateSafePureComponent.js +0 -85
- package/Libraries/Lists/VirtualizedList.d.ts +0 -347
- package/Libraries/Lists/VirtualizedListCellRenderer.js +0 -259
- package/Libraries/Lists/VirtualizedListProps.js +0 -279
- package/Libraries/Performance/PureComponentDebug.js +0 -74
- package/Libraries/Reliability/UserFlow.js +0 -158
- package/Libraries/Renderer/implementations/ReactNativeRenderer.d.ts +0 -149
- package/Libraries/Renderer/shims/ReactNativeTypes.d.ts +0 -141
- package/Libraries/Utilities/MatrixMath.js +0 -748
- package/Libraries/Utilities/buildStyleInterpolator.js +0 -209
- package/Libraries/Utilities/clamp.js +0 -23
- package/Libraries/Utilities/deprecatedPropType.js +0 -36
- package/Libraries/Utilities/groupByEveryN.js +0 -51
- package/Libraries/Utilities/mergeIntoFast.js +0 -26
- package/Libraries/Utilities/setAndForwardRef.js +0 -71
- package/Libraries/Utilities/truncate.js +0 -51
- package/Microsoft.ReactNative/Fabric/platform/react/components/image/conversions.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/components/view/ConcreteViewShadowNode.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/components/view/ViewEventEmitter.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/components/view/ViewProps.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/core/ConcreteComponentDescriptor.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/core/PropsParserContext.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/core/propsConversions.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/graphics/Color.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/imagemanager/primitives.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/TextInputEventEmitter.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/TextInputProps.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/TextInputShadowNode.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/TextInputState.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/conversions.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/primitives.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/propsConversions.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rncore/EventEmitters.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rncore/Props.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rncore/States.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Float.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/platform/cxx/react/renderer/graphics/Color.h +0 -135
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/ConcreteComponentDescriptor.h +0 -217
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/graphics/RectangleEdges.h +0 -100
- package/Shared/AsyncStorage/AsyncStorageManager.cpp +0 -149
- package/Shared/AsyncStorage/AsyncStorageManager.h +0 -71
- package/Shared/AsyncStorage/FollyDynamicConverter.cpp +0 -51
- package/Shared/AsyncStorage/FollyDynamicConverter.h +0 -24
- package/Shared/AsyncStorage/KeyValueStorage.cpp +0 -248
- package/Shared/AsyncStorage/KeyValueStorage.h +0 -50
- package/Shared/AsyncStorage/StorageFileIO.cpp +0 -160
- package/Shared/AsyncStorage/StorageFileIO.h +0 -40
- package/Shared/AsyncStorageModule.h +0 -25
- package/Shared/Modules/AsyncStorageModule.cpp +0 -87
- package/Shared/Modules/AsyncStorageModuleWin32.cpp +0 -496
- package/Shared/Modules/AsyncStorageModuleWin32.h +0 -75
- package/codegen/NativeDatePickerAndroidSpec.g.h +0 -33
- package/codegen/NativeDevSplitBundleLoaderSpec.g.h +0 -33
- package/include/Shared/AsyncStorageModuleWin32Config.h +0 -15
- package/types/index.d.ts +0 -216
- package/types/modules/BatchedBridge.d.ts +0 -32
- package/types/modules/Codegen.d.ts +0 -74
- package/types/modules/Devtools.d.ts +0 -31
- package/types/modules/LaunchScreen.d.ts +0 -18
- package/types/modules/globals.d.ts +0 -577
- package/types/private/TimerMixin.d.ts +0 -19
- package/types/private/Utilities.d.ts +0 -10
- package/types/public/DeprecatedPropertiesAlias.d.ts +0 -205
- package/types/public/Insets.d.ts +0 -15
- package/types/public/ReactNativeRenderer.d.ts +0 -149
- package/types/public/ReactNativeTypes.d.ts +0 -143
package/.flowconfig
CHANGED
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
<PROJECT_ROOT>/Libraries/Components/Picker/RCTPickerNativeComponent.js
|
|
14
14
|
<PROJECT_ROOT>/Libraries/Components/RefreshControl/RefreshControl.js
|
|
15
15
|
<PROJECT_ROOT>/Libraries/Components/SafeAreaView/SafeAreaView.js
|
|
16
|
+
<PROJECT_ROOT>/Libraries/Components/ScrollView/ScrollView.js
|
|
16
17
|
<PROJECT_ROOT>/Libraries/Components/TextInput/TextInput.js
|
|
17
18
|
<PROJECT_ROOT>/Libraries/Components/TextInput/TextInputState.js
|
|
18
19
|
<PROJECT_ROOT>/Libraries/Components/Touchable/Touchable.js
|
|
@@ -31,6 +32,10 @@
|
|
|
31
32
|
<PROJECT_ROOT>/Libraries/NewAppScreen/components/ReloadInstructions.js
|
|
32
33
|
<PROJECT_ROOT>/Libraries/Pressability/Pressability.js
|
|
33
34
|
<PROJECT_ROOT>/Libraries/Types/CoreEventTypes.js
|
|
35
|
+
<PROJECT_ROOT>/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js
|
|
36
|
+
<PROJECT_ROOT>/Libraries/LogBox/UI/LogBoxInspectorHeader.js
|
|
37
|
+
<PROJECT_ROOT>/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js
|
|
38
|
+
<PROJECT_ROOT>/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js
|
|
34
39
|
|
|
35
40
|
; Ignore react-native files in node_modules since they are copied into project root
|
|
36
41
|
.*/node_modules/react-native/.*
|
|
@@ -48,7 +53,7 @@
|
|
|
48
53
|
.*/node_modules/playground/.*
|
|
49
54
|
|
|
50
55
|
; Ignore templates for 'react-native init'
|
|
51
|
-
<PROJECT_ROOT>/template/.*
|
|
56
|
+
<PROJECT_ROOT>/packages/react-native/template/.*
|
|
52
57
|
|
|
53
58
|
; Ignore the Dangerfile
|
|
54
59
|
<PROJECT_ROOT>/packages/react-native-bots/dangerfile.js
|
|
@@ -56,6 +61,9 @@
|
|
|
56
61
|
; Ignore "BUCK" generated dirs
|
|
57
62
|
<PROJECT_ROOT>/\.buckd/
|
|
58
63
|
|
|
64
|
+
; Flow doesn't support platforms
|
|
65
|
+
.*/packages/react-native/Libraries/Utilities/LoadingView.js
|
|
66
|
+
|
|
59
67
|
; Ignore the src folder - flow files are combined with ones from react-native into the root Libraries folder
|
|
60
68
|
.*/vnext/src/.*
|
|
61
69
|
|
|
@@ -71,8 +79,11 @@
|
|
|
71
79
|
[libs]
|
|
72
80
|
interface.js
|
|
73
81
|
flow/
|
|
82
|
+
flow-typed/
|
|
74
83
|
|
|
75
84
|
[options]
|
|
85
|
+
enums=true
|
|
86
|
+
|
|
76
87
|
emoji=true
|
|
77
88
|
|
|
78
89
|
exact_by_default=true
|
|
@@ -97,7 +108,6 @@ suppress_type=$FlowFixMeProps
|
|
|
97
108
|
suppress_type=$FlowFixMeState
|
|
98
109
|
suppress_type=$FlowFixMeEmpty
|
|
99
110
|
|
|
100
|
-
inference_mode=constrain_writes
|
|
101
111
|
sharedmemory.hash_table_pow=21
|
|
102
112
|
|
|
103
113
|
[lints]
|
|
@@ -120,4 +130,4 @@ untyped-import
|
|
|
120
130
|
untyped-type-import
|
|
121
131
|
|
|
122
132
|
[version]
|
|
123
|
-
^0.
|
|
133
|
+
^0.202.0
|
package/Directory.Build.props
CHANGED
|
@@ -23,25 +23,6 @@
|
|
|
23
23
|
<FmtCommitHash>9e8b86fd2d9806672cc73133d21780dd182bfd24</FmtCommitHash>
|
|
24
24
|
</PropertyGroup>
|
|
25
25
|
|
|
26
|
-
<!--
|
|
27
|
-
IMPORTANT: Traversals left in a directory will break some tools like midl, but we also cannot call
|
|
28
|
-
[MSBuild]::NormalizeDirectory on relative paths since cwd is not always correct. This logic should prefer to operate
|
|
29
|
-
on full paths and avoid extra normalization.
|
|
30
|
-
-->
|
|
31
|
-
<PropertyGroup>
|
|
32
|
-
<ReactNativeWindowsDir Condition="'$(ReactNativeWindowsDir)' == ''">$(MSBuildThisFileDirectory)</ReactNativeWindowsDir>
|
|
33
|
-
|
|
34
|
-
<ReactNativeDir Condition="'$(ReactNativeDir)' == ''">$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), 'node_modules\react-native\package.json'))\node_modules\react-native\</ReactNativeDir>
|
|
35
|
-
|
|
36
|
-
<YogaDir Condition="'$(YogaDir)' == ''">$(ReactNativeDir)ReactCommon\yoga</YogaDir>
|
|
37
|
-
|
|
38
|
-
<FollyDir Condition="'$(FollyDir)' == '' AND Exists('$([MSBuild]::NormalizeDirectory($(ReactNativeDir)..\..\node_modules))')">$(ReactNativeDir)..\..\node_modules\.folly\folly-$(FollyVersion)</FollyDir>
|
|
39
|
-
<FollyDir>$([MSBuild]::NormalizeDirectory($(FollyDir)))</FollyDir>
|
|
40
|
-
|
|
41
|
-
<FmtDir Condition="'$(FmtDir)' == '' AND Exists('$([MSBuild]::NormalizeDirectory($(ReactNativeDir)..\..\node_modules))')">$(ReactNativeDir)..\..\node_modules\.fmt\fmt-$(FmtVersion)</FmtDir>
|
|
42
|
-
<FmtDir>$([MSBuild]::NormalizeDirectory($(FmtDir)))</FmtDir>
|
|
43
|
-
</PropertyGroup>
|
|
44
|
-
|
|
45
26
|
<PropertyGroup Label="Configuration">
|
|
46
27
|
<ProjectName Condition="'$(ProjectName)'==''">$(MSBuildProjectName)</ProjectName>
|
|
47
28
|
|
|
@@ -65,6 +46,25 @@
|
|
|
65
46
|
<OutputPath Condition="'$(MSBuildProjectExtension)' == '.csproj'">$(OutDir)</OutputPath>
|
|
66
47
|
</PropertyGroup>
|
|
67
48
|
|
|
49
|
+
<!--
|
|
50
|
+
IMPORTANT: Traversals left in a directory will break some tools like midl, but we also cannot call
|
|
51
|
+
[MSBuild]::NormalizeDirectory on relative paths since cwd is not always correct. This logic should prefer to operate
|
|
52
|
+
on full paths and avoid extra normalization.
|
|
53
|
+
-->
|
|
54
|
+
<PropertyGroup>
|
|
55
|
+
<ReactNativeWindowsDir Condition="'$(ReactNativeWindowsDir)' == ''">$(MSBuildThisFileDirectory)</ReactNativeWindowsDir>
|
|
56
|
+
|
|
57
|
+
<ReactNativeDir Condition="'$(ReactNativeDir)' == ''">$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), 'node_modules\react-native\package.json'))\node_modules\react-native\</ReactNativeDir>
|
|
58
|
+
|
|
59
|
+
<YogaDir Condition="'$(YogaDir)' == ''">$(ReactNativeDir)ReactCommon\yoga</YogaDir>
|
|
60
|
+
|
|
61
|
+
<FollyDir Condition="'$(FollyDir)' == '' AND Exists('$([MSBuild]::NormalizeDirectory($(ReactNativeDir)..\..\node_modules))')">$(ReactNativeDir)..\..\node_modules\.folly\folly-$(FollyVersion)</FollyDir>
|
|
62
|
+
<FollyDir>$([MSBuild]::NormalizeDirectory($(FollyDir)))</FollyDir>
|
|
63
|
+
|
|
64
|
+
<FmtDir Condition="'$(FmtDir)' == '' AND Exists('$([MSBuild]::NormalizeDirectory($(ReactNativeDir)..\..\node_modules))')">$(ReactNativeDir)..\..\node_modules\.fmt\fmt-$(FmtVersion)</FmtDir>
|
|
65
|
+
<FmtDir>$([MSBuild]::NormalizeDirectory($(FmtDir)))</FmtDir>
|
|
66
|
+
</PropertyGroup>
|
|
67
|
+
|
|
68
68
|
<PropertyGroup Label="NuGet" Condition="'$(MSBuildProjectExtension)' == '.vcxproj'">
|
|
69
69
|
<!--See https://docs.microsoft.com/en-us/nuget/reference/msbuild-targets#restore-target-->
|
|
70
70
|
<RestoreUseStaticGraphEvaluation Condition="'$(BuildingInsideVisualStudio)' == 'true' AND '$(DisableRestoreUseStaticGraphEvaluation)' != 'true'">true</RestoreUseStaticGraphEvaluation>
|
|
@@ -13,7 +13,7 @@ import type {ColorValue} from '../StyleSheet/StyleSheet';
|
|
|
13
13
|
|
|
14
14
|
import RCTActionSheetManager from './NativeActionSheetManager';
|
|
15
15
|
|
|
16
|
-
const processColor = require('../StyleSheet/processColor');
|
|
16
|
+
const processColor = require('../StyleSheet/processColor').default;
|
|
17
17
|
const invariant = require('invariant');
|
|
18
18
|
|
|
19
19
|
/**
|
|
@@ -13,14 +13,14 @@
|
|
|
13
13
|
export interface AlertButton {
|
|
14
14
|
text?: string | undefined;
|
|
15
15
|
onPress?: ((value?: string) => void) | undefined;
|
|
16
|
-
isPreferred?: boolean;
|
|
16
|
+
isPreferred?: boolean | undefined;
|
|
17
17
|
style?: 'default' | 'cancel' | 'destructive' | undefined;
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
interface AlertOptions {
|
|
21
21
|
/** @platform android */
|
|
22
22
|
cancelable?: boolean | undefined;
|
|
23
|
-
userInterfaceStyle?: 'unspecified' | 'light' | 'dark';
|
|
23
|
+
userInterfaceStyle?: 'unspecified' | 'light' | 'dark' | undefined;
|
|
24
24
|
/** @platform android */
|
|
25
25
|
onDismiss?: (() => void) | undefined;
|
|
26
26
|
}
|
|
@@ -33,8 +33,8 @@ interface AlertOptions {
|
|
|
33
33
|
* button will be an 'OK' button.
|
|
34
34
|
*
|
|
35
35
|
* This is an API that works both on iOS and Android and can show static
|
|
36
|
-
* alerts.
|
|
37
|
-
*
|
|
36
|
+
* alerts. On iOS, you can show an alert that prompts the user to enter
|
|
37
|
+
* some information.
|
|
38
38
|
*
|
|
39
39
|
* ## iOS
|
|
40
40
|
*
|
|
@@ -27,6 +27,7 @@ type Options = {
|
|
|
27
27
|
cancelable?: ?boolean,
|
|
28
28
|
userInterfaceStyle?: 'unspecified' | 'light' | 'dark',
|
|
29
29
|
onDismiss?: ?() => void,
|
|
30
|
+
rootTag?: number,
|
|
30
31
|
...
|
|
31
32
|
};
|
|
32
33
|
|
|
@@ -51,6 +52,7 @@ class Alert {
|
|
|
51
52
|
title: title || '',
|
|
52
53
|
message: message || '',
|
|
53
54
|
cancelable: false,
|
|
55
|
+
rootTag: options && options.rootTag,
|
|
54
56
|
};
|
|
55
57
|
|
|
56
58
|
if (options && options.cancelable) {
|
|
@@ -11,8 +11,12 @@ import type * as React from 'react';
|
|
|
11
11
|
import {ScrollView} from '../Components/ScrollView/ScrollView';
|
|
12
12
|
import {View} from '../Components/View/View';
|
|
13
13
|
import {Image} from '../Image/Image';
|
|
14
|
-
import {FlatListProps} from '../Lists/FlatList';
|
|
15
|
-
import {
|
|
14
|
+
import {FlatListComponent, FlatListProps} from '../Lists/FlatList';
|
|
15
|
+
import {
|
|
16
|
+
DefaultSectionT,
|
|
17
|
+
SectionListComponent,
|
|
18
|
+
SectionListProps,
|
|
19
|
+
} from '../Lists/SectionList';
|
|
16
20
|
import {ColorValue} from '../StyleSheet/StyleSheet';
|
|
17
21
|
import {Text} from '../Text/Text';
|
|
18
22
|
import {NativeSyntheticEvent} from '../Types/CoreEventTypes';
|
|
@@ -560,7 +564,9 @@ export namespace Animated {
|
|
|
560
564
|
type NonAnimatedProps = 'key' | 'ref';
|
|
561
565
|
|
|
562
566
|
type TAugmentRef<T> = T extends React.Ref<infer R>
|
|
563
|
-
?
|
|
567
|
+
? unknown extends R
|
|
568
|
+
? never
|
|
569
|
+
: React.Ref<R | LegacyRef<R>>
|
|
564
570
|
: never;
|
|
565
571
|
|
|
566
572
|
export type AnimatedProps<T> = {
|
|
@@ -575,7 +581,7 @@ export namespace Animated {
|
|
|
575
581
|
extends React.FC<AnimatedProps<React.ComponentPropsWithRef<T>>> {}
|
|
576
582
|
|
|
577
583
|
export type AnimatedComponentOptions = {
|
|
578
|
-
collapsable?: boolean;
|
|
584
|
+
collapsable?: boolean | undefined;
|
|
579
585
|
};
|
|
580
586
|
|
|
581
587
|
/**
|
|
@@ -598,13 +604,18 @@ export namespace Animated {
|
|
|
598
604
|
/**
|
|
599
605
|
* FlatList and SectionList infer generic Type defined under their `data` and `section` props.
|
|
600
606
|
*/
|
|
601
|
-
|
|
607
|
+
|
|
608
|
+
export class FlatList<ItemT = any> extends FlatListComponent<
|
|
609
|
+
ItemT,
|
|
602
610
|
AnimatedProps<FlatListProps<ItemT>>
|
|
603
611
|
> {}
|
|
612
|
+
|
|
604
613
|
export class SectionList<
|
|
605
614
|
ItemT = any,
|
|
606
615
|
SectionT = DefaultSectionT,
|
|
607
|
-
> extends
|
|
616
|
+
> extends SectionListComponent<
|
|
617
|
+
AnimatedProps<SectionListProps<ItemT, SectionT>>
|
|
618
|
+
> {}
|
|
608
619
|
}
|
|
609
620
|
|
|
610
621
|
// We need to alias these views so we can reference them in the Animated
|
|
@@ -142,7 +142,11 @@ const API = {
|
|
|
142
142
|
}
|
|
143
143
|
},
|
|
144
144
|
flushQueue: function (): void {
|
|
145
|
-
|
|
145
|
+
// TODO: (T136971132)
|
|
146
|
+
invariant(
|
|
147
|
+
NativeAnimatedModule || process.env.NODE_ENV === 'test',
|
|
148
|
+
'Native animated module is not available',
|
|
149
|
+
);
|
|
146
150
|
flushQueueTimeout = null;
|
|
147
151
|
|
|
148
152
|
// Early returns before calling any APIs
|
|
@@ -165,16 +169,18 @@ const API = {
|
|
|
165
169
|
// use RCTDeviceEventEmitter. This reduces overhead of sending lots of
|
|
166
170
|
// JSI functions across to native code; but also, TM infrastructure currently
|
|
167
171
|
// does not support packing a function into native arrays.
|
|
168
|
-
NativeAnimatedModule
|
|
172
|
+
NativeAnimatedModule?.queueAndExecuteBatchedOperations?.(singleOpQueue);
|
|
169
173
|
singleOpQueue.length = 0;
|
|
170
174
|
} else {
|
|
171
|
-
Platform.OS === 'android' &&
|
|
175
|
+
Platform.OS === 'android' &&
|
|
176
|
+
NativeAnimatedModule?.startOperationBatch?.();
|
|
177
|
+
|
|
172
178
|
for (let q = 0, l = queue.length; q < l; q++) {
|
|
173
179
|
queue[q]();
|
|
174
180
|
}
|
|
175
181
|
queue.length = 0;
|
|
176
182
|
Platform.OS === 'android' &&
|
|
177
|
-
NativeAnimatedModule
|
|
183
|
+
NativeAnimatedModule?.finishOperationBatch?.();
|
|
178
184
|
}
|
|
179
185
|
},
|
|
180
186
|
queueOperation: <Args: $ReadOnlyArray<mixed>, Fn: (...Args) => void>(
|
|
@@ -242,6 +248,7 @@ const API = {
|
|
|
242
248
|
}
|
|
243
249
|
// $FlowFixMe
|
|
244
250
|
API.queueOperation(
|
|
251
|
+
// $FlowFixMe[incompatible-call]
|
|
245
252
|
nativeOps.startAnimatingNode,
|
|
246
253
|
animationId,
|
|
247
254
|
nodeTag,
|
|
@@ -384,11 +391,15 @@ const SUPPORTED_STYLES = {
|
|
|
384
391
|
borderBottomLeftRadius: true,
|
|
385
392
|
borderBottomRightRadius: true,
|
|
386
393
|
borderBottomStartRadius: true,
|
|
394
|
+
borderEndEndRadius: true,
|
|
395
|
+
borderEndStartRadius: true,
|
|
387
396
|
borderRadius: true,
|
|
388
397
|
borderTopEndRadius: true,
|
|
389
398
|
borderTopLeftRadius: true,
|
|
390
399
|
borderTopRightRadius: true,
|
|
391
400
|
borderTopStartRadius: true,
|
|
401
|
+
borderStartEndRadius: true,
|
|
402
|
+
borderStartStartRadius: true,
|
|
392
403
|
elevation: true,
|
|
393
404
|
opacity: true,
|
|
394
405
|
transform: true,
|
|
@@ -577,10 +588,11 @@ export default {
|
|
|
577
588
|
assertNativeAnimatedModule,
|
|
578
589
|
shouldUseNativeDriver,
|
|
579
590
|
transformDataType,
|
|
580
|
-
// $FlowExpectedError[unsafe-getters-setters] - unsafe getter lint
|
|
581
|
-
// $FlowExpectedError[missing-type-arg] - unsafe getter lint
|
|
591
|
+
// $FlowExpectedError[unsafe-getters-setters] - unsafe getter lint suppression
|
|
592
|
+
// $FlowExpectedError[missing-type-arg] - unsafe getter lint suppression
|
|
582
593
|
get nativeEventEmitter(): NativeEventEmitter {
|
|
583
594
|
if (!nativeEventEmitter) {
|
|
595
|
+
// $FlowFixMe[underconstrained-implicit-instantiation]
|
|
584
596
|
nativeEventEmitter = new NativeEventEmitter(
|
|
585
597
|
// T88715063: NativeEventEmitter only used this parameter on iOS. Now it uses it on all platforms, so this code was modified automatically to preserve its behavior
|
|
586
598
|
// If you want to use the native module on other platforms, please remove this condition and test its behavior
|
|
@@ -105,7 +105,7 @@ export default function bezier(
|
|
|
105
105
|
// Precompute samples table
|
|
106
106
|
const sampleValues = float32ArraySupported
|
|
107
107
|
? new Float32Array(kSplineTableSize)
|
|
108
|
-
: new Array(kSplineTableSize);
|
|
108
|
+
: new Array<number>(kSplineTableSize);
|
|
109
109
|
if (mX1 !== mY1 || mX2 !== mY2) {
|
|
110
110
|
for (let i = 0; i < kSplineTableSize; ++i) {
|
|
111
111
|
sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);
|
|
@@ -17,9 +17,14 @@ import * as React from 'react';
|
|
|
17
17
|
/**
|
|
18
18
|
* @see https://github.com/facebook/react-native/commit/b8c8562
|
|
19
19
|
*/
|
|
20
|
-
const FlatListWithEventThrottle = React.forwardRef(
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
const FlatListWithEventThrottle = React.forwardRef(
|
|
21
|
+
(
|
|
22
|
+
props: React.ElementConfig<typeof FlatList>,
|
|
23
|
+
ref:
|
|
24
|
+
| ((null | FlatList<mixed>) => mixed)
|
|
25
|
+
| {current: null | FlatList<mixed>, ...},
|
|
26
|
+
) => <FlatList scrollEventThrottle={0.0001} {...props} ref={ref} />,
|
|
27
|
+
);
|
|
23
28
|
|
|
24
29
|
export default (createAnimatedComponent(
|
|
25
30
|
FlatListWithEventThrottle,
|
|
@@ -67,12 +67,15 @@ const AnimatedScrollViewWithInvertedRefreshControl = React.forwardRef(
|
|
|
67
67
|
// $FlowFixMe[unclear-type] Same Flow type as `refreshControl` in ScrollView
|
|
68
68
|
refreshControl: React.Element<any>,
|
|
69
69
|
},
|
|
70
|
-
forwardedRef
|
|
70
|
+
forwardedRef:
|
|
71
|
+
| {current: Instance | null, ...}
|
|
72
|
+
| ((Instance | null) => mixed),
|
|
71
73
|
) => {
|
|
72
74
|
// Split `props` into the animate-able props for the parent (RefreshControl)
|
|
73
75
|
// and child (ScrollView).
|
|
74
76
|
const {intermediatePropsForRefreshControl, intermediatePropsForScrollView} =
|
|
75
77
|
useMemo(() => {
|
|
78
|
+
// $FlowFixMe[underconstrained-implicit-instantiation]
|
|
76
79
|
const {outer, inner} = splitLayoutProps(flattenStyle(props.style));
|
|
77
80
|
return {
|
|
78
81
|
intermediatePropsForRefreshControl: {style: outer},
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
+
import type {SectionBase} from '../../Lists/SectionList';
|
|
11
12
|
import type {AnimatedComponentType} from '../createAnimatedComponent';
|
|
12
13
|
|
|
13
14
|
import SectionList from '../../Lists/SectionList';
|
|
@@ -17,9 +18,17 @@ import * as React from 'react';
|
|
|
17
18
|
/**
|
|
18
19
|
* @see https://github.com/facebook/react-native/commit/b8c8562
|
|
19
20
|
*/
|
|
20
|
-
const SectionListWithEventThrottle = React.forwardRef(
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
const SectionListWithEventThrottle = React.forwardRef(
|
|
22
|
+
(
|
|
23
|
+
props: React.ElementConfig<typeof SectionList>,
|
|
24
|
+
ref:
|
|
25
|
+
| ((null | SectionList<SectionBase<$FlowFixMe>>) => mixed)
|
|
26
|
+
| {
|
|
27
|
+
current: null | SectionList<SectionBase<$FlowFixMe>>,
|
|
28
|
+
...
|
|
29
|
+
},
|
|
30
|
+
) => <SectionList scrollEventThrottle={0.0001} {...props} ref={ref} />,
|
|
31
|
+
);
|
|
23
32
|
|
|
24
33
|
export default (createAnimatedComponent(
|
|
25
34
|
SectionListWithEventThrottle,
|
|
@@ -8,19 +8,11 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
'use strict';
|
|
12
|
-
|
|
13
11
|
import View from '../Components/View/View';
|
|
14
|
-
import
|
|
15
|
-
import
|
|
16
|
-
import * as createAnimatedComponentInjection from './createAnimatedComponentInjection';
|
|
17
|
-
import NativeAnimatedHelper from './NativeAnimatedHelper';
|
|
18
|
-
import AnimatedProps from './nodes/AnimatedProps';
|
|
19
|
-
import invariant from 'invariant';
|
|
12
|
+
import useMergeRefs from '../Utilities/useMergeRefs';
|
|
13
|
+
import useAnimatedProps from './useAnimatedProps';
|
|
20
14
|
import * as React from 'react';
|
|
21
15
|
|
|
22
|
-
let animatedComponentNextId = 1;
|
|
23
|
-
|
|
24
16
|
export type AnimatedComponentType<
|
|
25
17
|
-Props: {+[string]: mixed, ...},
|
|
26
18
|
+Instance = mixed,
|
|
@@ -37,238 +29,33 @@ export type AnimatedComponentType<
|
|
|
37
29
|
Instance,
|
|
38
30
|
>;
|
|
39
31
|
|
|
40
|
-
function createAnimatedComponent<
|
|
41
|
-
Component: React.AbstractComponent<
|
|
42
|
-
): AnimatedComponentType<
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
_attachNativeEvents() {
|
|
61
|
-
// Make sure to get the scrollable node for components that implement
|
|
62
|
-
// `ScrollResponder.Mixin`.
|
|
63
|
-
const scrollableNode = this._component?.getScrollableNode
|
|
64
|
-
? this._component.getScrollableNode()
|
|
65
|
-
: this._component;
|
|
66
|
-
|
|
67
|
-
for (const key in this.props) {
|
|
68
|
-
const prop = this.props[key];
|
|
69
|
-
if (prop instanceof AnimatedEvent && prop.__isNative) {
|
|
70
|
-
prop.__attach(scrollableNode, key);
|
|
71
|
-
this._eventDetachers.push(() => prop.__detach(scrollableNode, key));
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
_detachNativeEvents() {
|
|
77
|
-
this._eventDetachers.forEach(remove => remove());
|
|
78
|
-
this._eventDetachers = [];
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
_isFabric = (): boolean => {
|
|
82
|
-
// When called during the first render, `_component` is always null.
|
|
83
|
-
// Therefore, even if a component is rendered in Fabric, we can't detect
|
|
84
|
-
// that until ref is set, which happens sometime after the first render.
|
|
85
|
-
// In cases where this value switching between "false" and "true" on Fabric
|
|
86
|
-
// causes issues, add an additional check for _component nullity.
|
|
87
|
-
if (this._component == null) {
|
|
88
|
-
return false;
|
|
89
|
-
}
|
|
90
|
-
return (
|
|
91
|
-
// eslint-disable-next-line dot-notation
|
|
92
|
-
this._component['_internalInstanceHandle']?.stateNode?.canonical !=
|
|
93
|
-
null ||
|
|
94
|
-
// Some components have a setNativeProps function but aren't a host component
|
|
95
|
-
// such as lists like FlatList and SectionList. These should also use
|
|
96
|
-
// forceUpdate in Fabric since setNativeProps doesn't exist on the underlying
|
|
97
|
-
// host component. This crazy hack is essentially special casing those lists and
|
|
98
|
-
// ScrollView itself to use forceUpdate in Fabric.
|
|
99
|
-
// If these components end up using forwardRef then these hacks can go away
|
|
100
|
-
// as this._component would actually be the underlying host component and the above check
|
|
101
|
-
// would be sufficient.
|
|
102
|
-
(this._component.getNativeScrollRef != null &&
|
|
103
|
-
this._component.getNativeScrollRef() != null &&
|
|
104
|
-
// eslint-disable-next-line dot-notation
|
|
105
|
-
this._component.getNativeScrollRef()['_internalInstanceHandle']
|
|
106
|
-
?.stateNode?.canonical != null) ||
|
|
107
|
-
(this._component.getScrollResponder != null &&
|
|
108
|
-
this._component.getScrollResponder() != null &&
|
|
109
|
-
this._component.getScrollResponder().getNativeScrollRef != null &&
|
|
110
|
-
this._component.getScrollResponder().getNativeScrollRef() != null &&
|
|
111
|
-
this._component.getScrollResponder().getNativeScrollRef()[
|
|
112
|
-
// eslint-disable-next-line dot-notation
|
|
113
|
-
'_internalInstanceHandle'
|
|
114
|
-
]?.stateNode?.canonical != null)
|
|
115
|
-
);
|
|
116
|
-
};
|
|
117
|
-
|
|
118
|
-
_waitForUpdate = (): void => {
|
|
119
|
-
if (this._isFabric()) {
|
|
120
|
-
NativeAnimatedHelper.API.setWaitingForIdentifier(
|
|
121
|
-
this._animatedComponentId,
|
|
122
|
-
);
|
|
123
|
-
}
|
|
124
|
-
};
|
|
125
|
-
|
|
126
|
-
_markUpdateComplete = (): void => {
|
|
127
|
-
if (this._isFabric()) {
|
|
128
|
-
NativeAnimatedHelper.API.unsetWaitingForIdentifier(
|
|
129
|
-
this._animatedComponentId,
|
|
130
|
-
);
|
|
131
|
-
}
|
|
132
|
-
};
|
|
133
|
-
|
|
134
|
-
// The system is best designed when setNativeProps is implemented. It is
|
|
135
|
-
// able to avoid re-rendering and directly set the attributes that changed.
|
|
136
|
-
// However, setNativeProps can only be implemented on leaf native
|
|
137
|
-
// components. If you want to animate a composite component, you need to
|
|
138
|
-
// re-render it. In this case, we have a fallback that uses forceUpdate.
|
|
139
|
-
// This fallback is also called in Fabric.
|
|
140
|
-
_animatedPropsCallback = (): void => {
|
|
141
|
-
if (this._component == null) {
|
|
142
|
-
// AnimatedProps is created in will-mount because it's used in render.
|
|
143
|
-
// But this callback may be invoked before mount in async mode,
|
|
144
|
-
// In which case we should defer the setNativeProps() call.
|
|
145
|
-
// React may throw away uncommitted work in async mode,
|
|
146
|
-
// So a deferred call won't always be invoked.
|
|
147
|
-
this._invokeAnimatedPropsCallbackOnMount = true;
|
|
148
|
-
} else if (
|
|
149
|
-
process.env.NODE_ENV === 'test' ||
|
|
150
|
-
// For animating properties of non-leaf/non-native components
|
|
151
|
-
typeof this._component.setNativeProps !== 'function' ||
|
|
152
|
-
// In Fabric, force animations to go through forceUpdate and skip setNativeProps
|
|
153
|
-
this._isFabric()
|
|
154
|
-
) {
|
|
155
|
-
this.forceUpdate();
|
|
156
|
-
} else if (!this._propsAnimated.__isNative) {
|
|
157
|
-
this._component.setNativeProps(
|
|
158
|
-
this._propsAnimated.__getAnimatedValue(),
|
|
159
|
-
);
|
|
160
|
-
} else {
|
|
161
|
-
throw new Error(
|
|
162
|
-
'Attempting to run JS driven animation on animated ' +
|
|
163
|
-
'node that has been moved to "native" earlier by starting an ' +
|
|
164
|
-
'animation with `useNativeDriver: true`',
|
|
165
|
-
);
|
|
166
|
-
}
|
|
167
|
-
};
|
|
168
|
-
|
|
169
|
-
_attachProps(nextProps: any) {
|
|
170
|
-
const oldPropsAnimated = this._propsAnimated;
|
|
171
|
-
|
|
172
|
-
this._propsAnimated = new AnimatedProps(
|
|
173
|
-
nextProps,
|
|
174
|
-
this._animatedPropsCallback,
|
|
175
|
-
);
|
|
176
|
-
this._propsAnimated.__attach();
|
|
177
|
-
|
|
178
|
-
// When you call detach, it removes the element from the parent list
|
|
179
|
-
// of children. If it goes to 0, then the parent also detaches itself
|
|
180
|
-
// and so on.
|
|
181
|
-
// An optimization is to attach the new elements and THEN detach the old
|
|
182
|
-
// ones instead of detaching and THEN attaching.
|
|
183
|
-
// This way the intermediate state isn't to go to 0 and trigger
|
|
184
|
-
// this expensive recursive detaching to then re-attach everything on
|
|
185
|
-
// the very next operation.
|
|
186
|
-
if (oldPropsAnimated) {
|
|
187
|
-
oldPropsAnimated.__restoreDefaultValues();
|
|
188
|
-
oldPropsAnimated.__detach();
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
_setComponentRef: (ref: React.ElementRef<any>) => void = setAndForwardRef({
|
|
193
|
-
getForwardedRef: () => this.props.forwardedRef,
|
|
194
|
-
setLocalRef: ref => {
|
|
195
|
-
this._prevComponent = this._component;
|
|
196
|
-
this._component = ref;
|
|
197
|
-
},
|
|
198
|
-
});
|
|
199
|
-
|
|
200
|
-
render(): React.Node {
|
|
201
|
-
const animatedProps = this._propsAnimated.__getValue() || {};
|
|
202
|
-
|
|
203
|
-
const {style = {}, ...props} = animatedProps;
|
|
204
|
-
const {style: passthruStyle = {}, ...passthruProps} =
|
|
205
|
-
this.props.passthroughAnimatedPropExplicitValues || {};
|
|
206
|
-
const mergedStyle = {...style, ...passthruStyle};
|
|
207
|
-
|
|
208
|
-
// Force `collapsable` to be false so that native view is not flattened.
|
|
209
|
-
// Flattened views cannot be accurately referenced by a native driver.
|
|
210
|
-
return (
|
|
211
|
-
<Component
|
|
212
|
-
{...props}
|
|
213
|
-
{...passthruProps}
|
|
214
|
-
collapsable={false}
|
|
215
|
-
style={mergedStyle}
|
|
216
|
-
ref={this._setComponentRef}
|
|
217
|
-
/>
|
|
218
|
-
);
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
UNSAFE_componentWillMount() {
|
|
222
|
-
this._waitForUpdate();
|
|
223
|
-
this._attachProps(this.props);
|
|
224
|
-
}
|
|
225
|
-
|
|
226
|
-
componentDidMount() {
|
|
227
|
-
if (this._invokeAnimatedPropsCallbackOnMount) {
|
|
228
|
-
this._invokeAnimatedPropsCallbackOnMount = false;
|
|
229
|
-
this._animatedPropsCallback();
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
this._propsAnimated.setNativeView(this._component);
|
|
233
|
-
this._attachNativeEvents();
|
|
234
|
-
this._markUpdateComplete();
|
|
235
|
-
}
|
|
236
|
-
|
|
237
|
-
UNSAFE_componentWillReceiveProps(newProps: any) {
|
|
238
|
-
this._waitForUpdate();
|
|
239
|
-
this._attachProps(newProps);
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
componentDidUpdate(prevProps: any) {
|
|
243
|
-
if (this._component !== this._prevComponent) {
|
|
244
|
-
this._propsAnimated.setNativeView(this._component);
|
|
245
|
-
}
|
|
246
|
-
if (this._component !== this._prevComponent || prevProps !== this.props) {
|
|
247
|
-
this._detachNativeEvents();
|
|
248
|
-
this._attachNativeEvents();
|
|
249
|
-
}
|
|
250
|
-
this._markUpdateComplete();
|
|
251
|
-
}
|
|
252
|
-
|
|
253
|
-
componentWillUnmount() {
|
|
254
|
-
this._propsAnimated && this._propsAnimated.__detach();
|
|
255
|
-
this._detachNativeEvents();
|
|
256
|
-
this._markUpdateComplete();
|
|
257
|
-
this._component = null;
|
|
258
|
-
this._prevComponent = null;
|
|
259
|
-
}
|
|
260
|
-
}
|
|
32
|
+
export default function createAnimatedComponent<TProps: {...}, TInstance>(
|
|
33
|
+
Component: React.AbstractComponent<TProps, TInstance>,
|
|
34
|
+
): AnimatedComponentType<TProps, TInstance> {
|
|
35
|
+
return React.forwardRef((props, forwardedRef) => {
|
|
36
|
+
const [reducedProps, callbackRef] = useAnimatedProps<TProps, TInstance>(
|
|
37
|
+
// $FlowFixMe[incompatible-call]
|
|
38
|
+
props,
|
|
39
|
+
);
|
|
40
|
+
const ref = useMergeRefs<TInstance | null>(callbackRef, forwardedRef);
|
|
41
|
+
|
|
42
|
+
// Some components require explicit passthrough values for animation
|
|
43
|
+
// to work properly. For example, if an animated component is
|
|
44
|
+
// transformed and Pressable, onPress will not work after transform
|
|
45
|
+
// without these passthrough values.
|
|
46
|
+
// $FlowFixMe[prop-missing]
|
|
47
|
+
const {passthroughAnimatedPropExplicitValues, style} = reducedProps;
|
|
48
|
+
const {style: passthroughStyle, ...passthroughProps} =
|
|
49
|
+
passthroughAnimatedPropExplicitValues ?? {};
|
|
50
|
+
const mergedStyle = {...style, ...passthroughStyle};
|
|
261
51
|
|
|
262
|
-
return React.forwardRef(function AnimatedComponentWrapper(props, ref) {
|
|
263
52
|
return (
|
|
264
|
-
<
|
|
265
|
-
{...
|
|
266
|
-
{...
|
|
53
|
+
<Component
|
|
54
|
+
{...reducedProps}
|
|
55
|
+
{...passthroughProps}
|
|
56
|
+
style={mergedStyle}
|
|
57
|
+
ref={ref}
|
|
267
58
|
/>
|
|
268
59
|
);
|
|
269
60
|
});
|
|
270
61
|
}
|
|
271
|
-
|
|
272
|
-
// $FlowIgnore[incompatible-cast] - Will be compatible after refactors.
|
|
273
|
-
export default (createAnimatedComponentInjection.recordAndRetrieve() ??
|
|
274
|
-
createAnimatedComponent: typeof createAnimatedComponent);
|