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
|
@@ -92,9 +92,8 @@ export type TextProps = $ReadOnly<{|
|
|
|
92
92
|
'aria-selected'?: ?boolean,
|
|
93
93
|
|
|
94
94
|
/**
|
|
95
|
-
*
|
|
96
|
-
*
|
|
97
|
-
* @platform android
|
|
95
|
+
* Represents the nativeID of the associated label text. When the assistive technology focuses on the component with this props, the text is read aloud.
|
|
96
|
+
* This prop is listed for cross-platform reasons and has no real effect on Android or iOS.
|
|
98
97
|
*/
|
|
99
98
|
'aria-labelledby'?: ?string,
|
|
100
99
|
|
|
@@ -230,7 +229,7 @@ export type TextProps = $ReadOnly<{|
|
|
|
230
229
|
adjustsFontSizeToFit?: ?boolean,
|
|
231
230
|
|
|
232
231
|
/**
|
|
233
|
-
* The Dynamic
|
|
232
|
+
* The Dynamic Type scale ramp to apply to this element on iOS.
|
|
234
233
|
*/
|
|
235
234
|
dynamicTypeRamp?: ?(
|
|
236
235
|
| 'caption2'
|
|
@@ -13,6 +13,11 @@ import type {RootTag, TurboModule} from '../RCTExport';
|
|
|
13
13
|
|
|
14
14
|
import * as TurboModuleRegistry from '../TurboModuleRegistry';
|
|
15
15
|
|
|
16
|
+
export enum EnumInt {
|
|
17
|
+
A = 23,
|
|
18
|
+
B = 42,
|
|
19
|
+
}
|
|
20
|
+
|
|
16
21
|
export interface Spec extends TurboModule {
|
|
17
22
|
// Exported methods.
|
|
18
23
|
+getConstants: () => {|
|
|
@@ -22,6 +27,7 @@ export interface Spec extends TurboModule {
|
|
|
22
27
|
|};
|
|
23
28
|
+voidFunc: () => void;
|
|
24
29
|
+getBool: (arg: boolean) => boolean;
|
|
30
|
+
+getEnum?: (arg: EnumInt) => EnumInt;
|
|
25
31
|
+getNumber: (arg: number) => number;
|
|
26
32
|
+getString: (arg: string) => string;
|
|
27
33
|
+getArray: (arg: Array<any>) => Array<any>;
|
|
@@ -29,6 +29,7 @@ export type Double = number;
|
|
|
29
29
|
export type Float = number;
|
|
30
30
|
export type Int32 = number;
|
|
31
31
|
export type UnsafeObject = $FlowFixMe; // Object is forbidden in strict mode
|
|
32
|
+
export type UnsafeMixed = mixed;
|
|
32
33
|
|
|
33
34
|
type DefaultTypes = number | boolean | string | $ReadOnlyArray<string>;
|
|
34
35
|
// Default handling, ignore the unused value
|
package/Libraries/UTFSequence.js
CHANGED
|
@@ -31,6 +31,7 @@ const UTFSequence: {|
|
|
|
31
31
|
NBSP: string,
|
|
32
32
|
NDASH: string,
|
|
33
33
|
NDASH_SP: string,
|
|
34
|
+
NEWLINE: string,
|
|
34
35
|
PIZZA: string,
|
|
35
36
|
TRIANGLE_LEFT: string,
|
|
36
37
|
TRIANGLE_RIGHT: string,
|
|
@@ -45,10 +46,11 @@ const UTFSequence: {|
|
|
|
45
46
|
MDASH_SP: '\u00A0\u2014\u00A0', // —
|
|
46
47
|
NDASH: '\u2013', // en dash: –
|
|
47
48
|
NDASH_SP: '\u00A0\u2013\u00A0', // –
|
|
49
|
+
NEWLINE: '\u000A',
|
|
48
50
|
NBSP: '\u00A0', // non-breaking space:
|
|
49
51
|
PIZZA: '\uD83C\uDF55',
|
|
50
52
|
TRIANGLE_LEFT: '\u25c0', // black left-pointing triangle
|
|
51
53
|
TRIANGLE_RIGHT: '\u25b6', // black right-pointing triangle
|
|
52
54
|
});
|
|
53
55
|
|
|
54
|
-
|
|
56
|
+
export default UTFSequence;
|
|
@@ -28,6 +28,16 @@ export namespace Appearance {
|
|
|
28
28
|
*/
|
|
29
29
|
export function getColorScheme(): ColorSchemeName;
|
|
30
30
|
|
|
31
|
+
/**
|
|
32
|
+
* Set the color scheme preference. This is useful for overriding the default
|
|
33
|
+
* color scheme preference for the app. Note that this will not change the
|
|
34
|
+
* appearance of the system UI, only the appearance of the app.
|
|
35
|
+
* Only available on iOS 13+ and Android 10+.
|
|
36
|
+
*/
|
|
37
|
+
export function setColorScheme(
|
|
38
|
+
scheme: ColorSchemeName | null | undefined,
|
|
39
|
+
): void;
|
|
40
|
+
|
|
31
41
|
/**
|
|
32
42
|
* Add an event handler that is fired when appearance preferences change.
|
|
33
43
|
*/
|
|
@@ -85,6 +85,19 @@ module.exports = {
|
|
|
85
85
|
return nativeColorScheme;
|
|
86
86
|
},
|
|
87
87
|
|
|
88
|
+
setColorScheme(colorScheme: ?ColorSchemeName): void {
|
|
89
|
+
const nativeColorScheme = colorScheme == null ? 'unspecified' : colorScheme;
|
|
90
|
+
|
|
91
|
+
invariant(
|
|
92
|
+
colorScheme === 'dark' || colorScheme === 'light' || colorScheme == null,
|
|
93
|
+
"Unrecognized color scheme. Did you mean 'dark', 'light' or null?",
|
|
94
|
+
);
|
|
95
|
+
|
|
96
|
+
if (NativeAppearance != null && NativeAppearance.setColorScheme != null) {
|
|
97
|
+
NativeAppearance.setColorScheme(nativeColorScheme);
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
|
|
88
101
|
/**
|
|
89
102
|
* Add an event handler that is fired when appearance preferences change.
|
|
90
103
|
*/
|
|
@@ -10,8 +10,17 @@
|
|
|
10
10
|
|
|
11
11
|
import type {IPerformanceLogger} from './createPerformanceLogger';
|
|
12
12
|
|
|
13
|
+
import ReactNativeFeatureFlags from '../ReactNative/ReactNativeFeatureFlags';
|
|
14
|
+
import NativePerformance from '../WebPerformance/NativePerformance';
|
|
13
15
|
import createPerformanceLogger from './createPerformanceLogger';
|
|
14
16
|
|
|
17
|
+
function isLoggingForWebPerformance(): boolean {
|
|
18
|
+
return (
|
|
19
|
+
NativePerformance != null &&
|
|
20
|
+
ReactNativeFeatureFlags.isGlobalWebPerformanceLoggerEnabled()
|
|
21
|
+
);
|
|
22
|
+
}
|
|
23
|
+
|
|
15
24
|
/**
|
|
16
25
|
* This is a global shared instance of IPerformanceLogger that is created with
|
|
17
26
|
* createPerformanceLogger().
|
|
@@ -19,6 +28,8 @@ import createPerformanceLogger from './createPerformanceLogger';
|
|
|
19
28
|
* that are logged during loading bundle. If you want to log something from your
|
|
20
29
|
* React component you should use PerformanceLoggerContext instead.
|
|
21
30
|
*/
|
|
22
|
-
const GlobalPerformanceLogger: IPerformanceLogger = createPerformanceLogger(
|
|
31
|
+
const GlobalPerformanceLogger: IPerformanceLogger = createPerformanceLogger(
|
|
32
|
+
isLoggingForWebPerformance(),
|
|
33
|
+
);
|
|
23
34
|
|
|
24
35
|
module.exports = GlobalPerformanceLogger;
|
|
@@ -25,7 +25,7 @@ let hmrClient = null;
|
|
|
25
25
|
let hmrUnavailableReason: string | null = null;
|
|
26
26
|
let currentCompileErrorMessage: string | null = null;
|
|
27
27
|
let didConnect: boolean = false;
|
|
28
|
-
let pendingLogs: Array<[LogLevel,
|
|
28
|
+
let pendingLogs: Array<[LogLevel, $ReadOnlyArray<mixed>]> = [];
|
|
29
29
|
|
|
30
30
|
type LogLevel =
|
|
31
31
|
| 'trace'
|
|
@@ -42,7 +42,7 @@ export type HMRClientNativeInterface = {|
|
|
|
42
42
|
enable(): void,
|
|
43
43
|
disable(): void,
|
|
44
44
|
registerBundle(requestUrl: string): void,
|
|
45
|
-
log(level: LogLevel, data:
|
|
45
|
+
log(level: LogLevel, data: $ReadOnlyArray<mixed>): void,
|
|
46
46
|
setup(
|
|
47
47
|
platform: string,
|
|
48
48
|
bundleEntry: string,
|
|
@@ -105,7 +105,7 @@ const HMRClient: HMRClientNativeInterface = {
|
|
|
105
105
|
registerBundleEntryPoints(hmrClient);
|
|
106
106
|
},
|
|
107
107
|
|
|
108
|
-
log(level: LogLevel, data:
|
|
108
|
+
log(level: LogLevel, data: $ReadOnlyArray<mixed>) {
|
|
109
109
|
if (!hmrClient) {
|
|
110
110
|
// Catch a reasonable number of early logs
|
|
111
111
|
// in case hmrClient gets initialized later.
|
|
@@ -247,17 +247,23 @@ Error: ${e.message}`;
|
|
|
247
247
|
// https://www.rfc-editor.org/rfc/rfc6455.html#section-7.4.1
|
|
248
248
|
// https://www.rfc-editor.org/rfc/rfc6455.html#section-7.1.5
|
|
249
249
|
const isNormalOrUnsetCloseReason =
|
|
250
|
+
closeEvent == null ||
|
|
250
251
|
closeEvent.code === 1000 ||
|
|
251
252
|
closeEvent.code === 1005 ||
|
|
252
253
|
closeEvent.code == null;
|
|
253
254
|
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
255
|
+
setHMRUnavailableReason(
|
|
256
|
+
`${
|
|
257
|
+
isNormalOrUnsetCloseReason
|
|
258
|
+
? 'Disconnected from Metro.'
|
|
259
|
+
: `Disconnected from Metro (${closeEvent.code}: "${closeEvent.reason}").`
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
To reconnect:
|
|
263
|
+
- Ensure that Metro is running and available on the same network
|
|
264
|
+
- Reload this app (will trigger further help if Metro cannot be connected to)
|
|
265
|
+
`,
|
|
266
|
+
);
|
|
261
267
|
});
|
|
262
268
|
|
|
263
269
|
if (isEnabled) {
|
|
@@ -9,10 +9,10 @@
|
|
|
9
9
|
|
|
10
10
|
export type Timespan = {
|
|
11
11
|
startTime: number;
|
|
12
|
-
endTime?: number;
|
|
13
|
-
totalTime?: number;
|
|
14
|
-
startExtras?: Extras;
|
|
15
|
-
endExtras?: Extras;
|
|
12
|
+
endTime?: number | undefined;
|
|
13
|
+
totalTime?: number | undefined;
|
|
14
|
+
startExtras?: Extras | undefined;
|
|
15
|
+
endExtras?: Extras | undefined;
|
|
16
16
|
};
|
|
17
17
|
|
|
18
18
|
// Extra values should be serializable primitives
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
* @flow strict
|
|
8
|
+
* @format
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
export type Timespan = {
|
|
12
|
+
startTime: number,
|
|
13
|
+
endTime?: number,
|
|
14
|
+
totalTime?: number,
|
|
15
|
+
startExtras?: Extras,
|
|
16
|
+
endExtras?: Extras,
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
// Extra values should be serializable primitives
|
|
20
|
+
export type ExtraValue = number | string | boolean;
|
|
21
|
+
|
|
22
|
+
export type Extras = {[key: string]: ExtraValue};
|
|
23
|
+
|
|
24
|
+
export interface IPerformanceLogger {
|
|
25
|
+
addTimespan(
|
|
26
|
+
key: string,
|
|
27
|
+
startTime: number,
|
|
28
|
+
endTime: number,
|
|
29
|
+
startExtras?: Extras,
|
|
30
|
+
endExtras?: Extras,
|
|
31
|
+
): void;
|
|
32
|
+
append(logger: IPerformanceLogger): void;
|
|
33
|
+
clear(): void;
|
|
34
|
+
clearCompleted(): void;
|
|
35
|
+
close(): void;
|
|
36
|
+
currentTimestamp(): number;
|
|
37
|
+
getExtras(): $ReadOnly<{[key: string]: ?ExtraValue, ...}>;
|
|
38
|
+
getPoints(): $ReadOnly<{[key: string]: ?number, ...}>;
|
|
39
|
+
getPointExtras(): $ReadOnly<{[key: string]: ?Extras, ...}>;
|
|
40
|
+
getTimespans(): $ReadOnly<{[key: string]: ?Timespan, ...}>;
|
|
41
|
+
hasTimespan(key: string): boolean;
|
|
42
|
+
isClosed(): boolean;
|
|
43
|
+
logEverything(): void;
|
|
44
|
+
markPoint(key: string, timestamp?: number, extras?: Extras): void;
|
|
45
|
+
removeExtra(key: string): ?ExtraValue;
|
|
46
|
+
setExtra(key: string, value: ExtraValue): void;
|
|
47
|
+
startTimespan(key: string, timestamp?: number, extras?: Extras): void;
|
|
48
|
+
stopTimespan(key: string, timestamp?: number, extras?: Extras): void;
|
|
49
|
+
}
|
|
@@ -8,20 +8,37 @@
|
|
|
8
8
|
* @flow strict-local
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
let isVisible = false;
|
|
11
|
+
import processColor from '../StyleSheet/processColor';
|
|
12
|
+
import Appearance from './Appearance';
|
|
13
|
+
import NativeDevLoadingView from './NativeDevLoadingView';
|
|
15
14
|
|
|
16
15
|
module.exports = {
|
|
17
16
|
showMessage(message: string, type: 'load' | 'refresh') {
|
|
18
|
-
if (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
17
|
+
if (NativeDevLoadingView) {
|
|
18
|
+
let backgroundColor;
|
|
19
|
+
let textColor;
|
|
20
|
+
|
|
21
|
+
if (type === 'refresh') {
|
|
22
|
+
backgroundColor = processColor('#2584e8');
|
|
23
|
+
textColor = processColor('#ffffff');
|
|
24
|
+
} else if (type === 'load') {
|
|
25
|
+
if (Appearance.getColorScheme() === 'dark') {
|
|
26
|
+
backgroundColor = processColor('#fafafa');
|
|
27
|
+
textColor = processColor('#242526');
|
|
28
|
+
} else {
|
|
29
|
+
backgroundColor = processColor('#404040');
|
|
30
|
+
textColor = processColor('#ffffff');
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
NativeDevLoadingView.showMessage(
|
|
35
|
+
message,
|
|
36
|
+
typeof textColor === 'number' ? textColor : null,
|
|
37
|
+
typeof backgroundColor === 'number' ? backgroundColor : null,
|
|
38
|
+
);
|
|
24
39
|
}
|
|
25
40
|
},
|
|
26
|
-
hide() {
|
|
41
|
+
hide() {
|
|
42
|
+
NativeDevLoadingView && NativeDevLoadingView.hide();
|
|
43
|
+
},
|
|
27
44
|
};
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
|
-
const Dimensions = require('./Dimensions');
|
|
13
|
+
const Dimensions = require('./Dimensions').default;
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
16
|
* PixelRatio class gives access to the device pixel density.
|
|
@@ -124,4 +124,4 @@ class PixelRatio {
|
|
|
124
124
|
static startDetecting() {}
|
|
125
125
|
}
|
|
126
126
|
|
|
127
|
-
|
|
127
|
+
export default PixelRatio;
|
|
@@ -15,8 +15,8 @@ import type {ReactTestRenderer as ReactTestRendererType} from 'react-test-render
|
|
|
15
15
|
const Switch = require('../Components/Switch/Switch').default;
|
|
16
16
|
const TextInput = require('../Components/TextInput/TextInput');
|
|
17
17
|
const View = require('../Components/View/View');
|
|
18
|
-
const VirtualizedList = require('../Lists/VirtualizedList').default;
|
|
19
18
|
const Text = require('../Text/Text');
|
|
19
|
+
const {VirtualizedList} = require('@react-native/virtualized-lists');
|
|
20
20
|
const React = require('react');
|
|
21
21
|
const ShallowRenderer = require('react-shallow-renderer');
|
|
22
22
|
const ReactTestRenderer = require('react-test-renderer');
|
|
@@ -18,7 +18,9 @@ function codegenNativeCommands<T: interface {}>(options: Options<$Keys<T>>): T {
|
|
|
18
18
|
const commandObj: {[$Keys<T>]: (...$ReadOnlyArray<mixed>) => void} = {};
|
|
19
19
|
|
|
20
20
|
options.supportedCommands.forEach(command => {
|
|
21
|
+
// $FlowFixMe[missing-local-annot]
|
|
21
22
|
commandObj[command] = (ref, ...args) => {
|
|
23
|
+
// $FlowFixMe[incompatible-call]
|
|
22
24
|
dispatchCommand(ref, command, args);
|
|
23
25
|
};
|
|
24
26
|
});
|
|
@@ -8,53 +8,28 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
import type {
|
|
12
|
+
Extras,
|
|
13
|
+
ExtraValue,
|
|
14
|
+
IPerformanceLogger,
|
|
15
|
+
Timespan,
|
|
16
|
+
} from './IPerformanceLogger';
|
|
13
17
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
totalTime?: number,
|
|
18
|
-
startExtras?: Extras,
|
|
19
|
-
endExtras?: Extras,
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
// Extra values should be serializable primitives
|
|
23
|
-
export type ExtraValue = number | string | boolean;
|
|
24
|
-
|
|
25
|
-
export type Extras = {[key: string]: ExtraValue};
|
|
26
|
-
|
|
27
|
-
export interface IPerformanceLogger {
|
|
28
|
-
addTimespan(
|
|
29
|
-
key: string,
|
|
30
|
-
startTime: number,
|
|
31
|
-
endTime: number,
|
|
32
|
-
startExtras?: Extras,
|
|
33
|
-
endExtras?: Extras,
|
|
34
|
-
): void;
|
|
35
|
-
append(logger: IPerformanceLogger): void;
|
|
36
|
-
clear(): void;
|
|
37
|
-
clearCompleted(): void;
|
|
38
|
-
close(): void;
|
|
39
|
-
currentTimestamp(): number;
|
|
40
|
-
getExtras(): $ReadOnly<{[key: string]: ?ExtraValue, ...}>;
|
|
41
|
-
getPoints(): $ReadOnly<{[key: string]: ?number, ...}>;
|
|
42
|
-
getPointExtras(): $ReadOnly<{[key: string]: ?Extras, ...}>;
|
|
43
|
-
getTimespans(): $ReadOnly<{[key: string]: ?Timespan, ...}>;
|
|
44
|
-
hasTimespan(key: string): boolean;
|
|
45
|
-
isClosed(): boolean;
|
|
46
|
-
logEverything(): void;
|
|
47
|
-
markPoint(key: string, timestamp?: number, extras?: Extras): void;
|
|
48
|
-
removeExtra(key: string): ?ExtraValue;
|
|
49
|
-
setExtra(key: string, value: ExtraValue): void;
|
|
50
|
-
startTimespan(key: string, timestamp?: number, extras?: Extras): void;
|
|
51
|
-
stopTimespan(key: string, timestamp?: number, extras?: Extras): void;
|
|
52
|
-
}
|
|
18
|
+
import * as Systrace from '../Performance/Systrace';
|
|
19
|
+
import Performance from '../WebPerformance/Performance';
|
|
20
|
+
import infoLog from './infoLog';
|
|
53
21
|
|
|
54
22
|
const _cookies: {[key: string]: number, ...} = {};
|
|
55
23
|
|
|
56
24
|
const PRINT_TO_CONSOLE: false = false; // Type as false to prevent accidentally committing `true`;
|
|
57
25
|
|
|
26
|
+
// This is the prefix for optional logging points/timespans as marks/measures via Performance API,
|
|
27
|
+
// used to separate these internally from other marks/measures
|
|
28
|
+
const WEB_PERFORMANCE_PREFIX = 'global_perf_';
|
|
29
|
+
|
|
30
|
+
// TODO: Remove once T143070419 is done
|
|
31
|
+
const performance = new Performance();
|
|
32
|
+
|
|
58
33
|
export const getCurrentTimestamp: () => number =
|
|
59
34
|
global.nativeQPLTimestamp ?? global.performance.now.bind(global.performance);
|
|
60
35
|
|
|
@@ -64,6 +39,11 @@ class PerformanceLogger implements IPerformanceLogger {
|
|
|
64
39
|
_points: {[key: string]: ?number} = {};
|
|
65
40
|
_pointExtras: {[key: string]: ?Extras, ...} = {};
|
|
66
41
|
_closed: boolean = false;
|
|
42
|
+
_isLoggingForWebPerformance: boolean = false;
|
|
43
|
+
|
|
44
|
+
constructor(isLoggingForWebPerformance?: boolean) {
|
|
45
|
+
this._isLoggingForWebPerformance = isLoggingForWebPerformance === true;
|
|
46
|
+
}
|
|
67
47
|
|
|
68
48
|
addTimespan(
|
|
69
49
|
key: string,
|
|
@@ -95,6 +75,13 @@ class PerformanceLogger implements IPerformanceLogger {
|
|
|
95
75
|
startExtras,
|
|
96
76
|
endExtras,
|
|
97
77
|
};
|
|
78
|
+
|
|
79
|
+
if (this._isLoggingForWebPerformance) {
|
|
80
|
+
performance.measure(`${WEB_PERFORMANCE_PREFIX}_${key}`, {
|
|
81
|
+
start: startTime,
|
|
82
|
+
end: endTime,
|
|
83
|
+
});
|
|
84
|
+
}
|
|
98
85
|
}
|
|
99
86
|
|
|
100
87
|
append(performanceLogger: IPerformanceLogger) {
|
|
@@ -209,6 +196,12 @@ class PerformanceLogger implements IPerformanceLogger {
|
|
|
209
196
|
if (extras) {
|
|
210
197
|
this._pointExtras[key] = extras;
|
|
211
198
|
}
|
|
199
|
+
|
|
200
|
+
if (this._isLoggingForWebPerformance) {
|
|
201
|
+
performance.mark(`${WEB_PERFORMANCE_PREFIX}_${key}`, {
|
|
202
|
+
startTime: timestamp,
|
|
203
|
+
});
|
|
204
|
+
}
|
|
212
205
|
}
|
|
213
206
|
|
|
214
207
|
removeExtra(key: string): ?ExtraValue {
|
|
@@ -270,6 +263,12 @@ class PerformanceLogger implements IPerformanceLogger {
|
|
|
270
263
|
if (PRINT_TO_CONSOLE) {
|
|
271
264
|
infoLog('PerformanceLogger.js', 'start: ' + key);
|
|
272
265
|
}
|
|
266
|
+
|
|
267
|
+
if (this._isLoggingForWebPerformance) {
|
|
268
|
+
performance.mark(`${WEB_PERFORMANCE_PREFIX}_timespan_start_${key}`, {
|
|
269
|
+
startTime: timestamp,
|
|
270
|
+
});
|
|
271
|
+
}
|
|
273
272
|
}
|
|
274
273
|
|
|
275
274
|
stopTimespan(
|
|
@@ -315,14 +314,27 @@ class PerformanceLogger implements IPerformanceLogger {
|
|
|
315
314
|
Systrace.endAsyncEvent(key, _cookies[key]);
|
|
316
315
|
delete _cookies[key];
|
|
317
316
|
}
|
|
317
|
+
|
|
318
|
+
if (this._isLoggingForWebPerformance) {
|
|
319
|
+
performance.measure(`${WEB_PERFORMANCE_PREFIX}_${key}`, {
|
|
320
|
+
start: `${WEB_PERFORMANCE_PREFIX}_timespan_start_${key}`,
|
|
321
|
+
end: timestamp,
|
|
322
|
+
});
|
|
323
|
+
}
|
|
318
324
|
}
|
|
319
325
|
}
|
|
320
326
|
|
|
327
|
+
// Re-exporting for backwards compatibility with all the clients that
|
|
328
|
+
// may still import it from this module.
|
|
329
|
+
export type {Extras, ExtraValue, IPerformanceLogger, Timespan};
|
|
330
|
+
|
|
321
331
|
/**
|
|
322
332
|
* This function creates performance loggers that can be used to collect and log
|
|
323
333
|
* various performance data such as timespans, points and extras.
|
|
324
334
|
* The loggers need to have minimal overhead since they're used in production.
|
|
325
335
|
*/
|
|
326
|
-
export default function createPerformanceLogger(
|
|
327
|
-
|
|
336
|
+
export default function createPerformanceLogger(
|
|
337
|
+
isLoggingForWebPerformance?: boolean,
|
|
338
|
+
): IPerformanceLogger {
|
|
339
|
+
return new PerformanceLogger(isLoggingForWebPerformance);
|
|
328
340
|
}
|
|
@@ -26,9 +26,7 @@ export function createStringifySafeWithLimits(limits: {|
|
|
|
26
26
|
maxArrayLimit = Number.POSITIVE_INFINITY,
|
|
27
27
|
maxObjectKeysLimit = Number.POSITIVE_INFINITY,
|
|
28
28
|
} = limits;
|
|
29
|
-
const stack: Array<
|
|
30
|
-
string | {+[string]: mixed} | {'...(truncated keys)...': number},
|
|
31
|
-
> = [];
|
|
29
|
+
const stack: Array<mixed> = [];
|
|
32
30
|
/* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by
|
|
33
31
|
* Flow's LTI update could not be added via codemod */
|
|
34
32
|
function replacer(key: string, value: mixed): mixed {
|
|
@@ -47,10 +45,7 @@ export function createStringifySafeWithLimits(limits: {|
|
|
|
47
45
|
return value;
|
|
48
46
|
}
|
|
49
47
|
|
|
50
|
-
let retval:
|
|
51
|
-
| string
|
|
52
|
-
| {+[string]: mixed}
|
|
53
|
-
| $TEMPORARY$object<{'...(truncated keys)...': number}> = value;
|
|
48
|
+
let retval: mixed = value;
|
|
54
49
|
if (Array.isArray(value)) {
|
|
55
50
|
if (stack.length >= maxDepth) {
|
|
56
51
|
retval = `[ ... array with ${value.length} values ... ]`;
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
import type {ColorSchemeName} from './NativeAppearance';
|
|
14
14
|
|
|
15
15
|
import Appearance from './Appearance';
|
|
16
|
-
import {useSyncExternalStore} from '
|
|
16
|
+
import {useSyncExternalStore} from 'react';
|
|
17
17
|
|
|
18
18
|
export default function useColorScheme(): ?ColorSchemeName {
|
|
19
19
|
return useSyncExternalStore(
|
|
@@ -22,9 +22,9 @@ export default function useWindowDimensions():
|
|
|
22
22
|
useEffect(() => {
|
|
23
23
|
function handleChange({
|
|
24
24
|
window,
|
|
25
|
-
}:
|
|
26
|
-
|
|
|
27
|
-
|
|
25
|
+
}: {
|
|
26
|
+
window: DisplayMetrics | DisplayMetricsAndroid,
|
|
27
|
+
}) {
|
|
28
28
|
if (
|
|
29
29
|
dimensions.width !== window.width ||
|
|
30
30
|
dimensions.height !== window.height ||
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
* @flow strict
|
|
8
|
+
* @format
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
import NativePerformanceObserver from './NativePerformanceObserver';
|
|
12
|
+
import {warnNoNativePerformanceObserver} from './PerformanceObserver';
|
|
13
|
+
|
|
14
|
+
type EventCountsForEachCallbackType =
|
|
15
|
+
| (() => void)
|
|
16
|
+
| ((value: number) => void)
|
|
17
|
+
| ((value: number, key: string) => void)
|
|
18
|
+
| ((value: number, key: string, map: Map<string, number>) => void);
|
|
19
|
+
|
|
20
|
+
let cachedEventCounts: ?Map<string, number>;
|
|
21
|
+
|
|
22
|
+
function getCachedEventCounts(): Map<string, number> {
|
|
23
|
+
if (cachedEventCounts) {
|
|
24
|
+
return cachedEventCounts;
|
|
25
|
+
}
|
|
26
|
+
if (!NativePerformanceObserver) {
|
|
27
|
+
warnNoNativePerformanceObserver();
|
|
28
|
+
return new Map();
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
cachedEventCounts = new Map<string, number>(
|
|
32
|
+
NativePerformanceObserver.getEventCounts(),
|
|
33
|
+
);
|
|
34
|
+
// $FlowFixMe[incompatible-call]
|
|
35
|
+
global.queueMicrotask(() => {
|
|
36
|
+
// To be consistent with the calls to the API from the same task,
|
|
37
|
+
// but also not to refetch the data from native too often,
|
|
38
|
+
// schedule to invalidate the cache later,
|
|
39
|
+
// after the current task is guaranteed to have finished.
|
|
40
|
+
cachedEventCounts = null;
|
|
41
|
+
});
|
|
42
|
+
return cachedEventCounts ?? new Map();
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Implementation of the EventCounts Web Performance API
|
|
46
|
+
* corresponding to the standard in
|
|
47
|
+
* https://www.w3.org/TR/event-timing/#eventcounts
|
|
48
|
+
*/
|
|
49
|
+
export default class EventCounts {
|
|
50
|
+
// flowlint unsafe-getters-setters:off
|
|
51
|
+
get size(): number {
|
|
52
|
+
return getCachedEventCounts().size;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
entries(): Iterator<[string, number]> {
|
|
56
|
+
return getCachedEventCounts().entries();
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
forEach(callback: EventCountsForEachCallbackType): void {
|
|
60
|
+
return getCachedEventCounts().forEach(callback);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
get(key: string): ?number {
|
|
64
|
+
return getCachedEventCounts().get(key);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
has(key: string): boolean {
|
|
68
|
+
return getCachedEventCounts().has(key);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
keys(): Iterator<string> {
|
|
72
|
+
return getCachedEventCounts().keys();
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
values(): Iterator<number> {
|
|
76
|
+
return getCachedEventCounts().values();
|
|
77
|
+
}
|
|
78
|
+
}
|