react-native-windows 0.84.0 → 0.85.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 +1 -5
- package/Directory.Build.props +1 -16
- package/Directory.Build.targets +12 -4
- package/Folly/ThreadNameStub.cpp +4 -6
- package/Libraries/ActionSheetIOS/ActionSheetIOS.js +3 -3
- package/Libraries/Animated/Animated.d.ts +8 -1
- package/Libraries/Animated/AnimatedEvent.js +4 -4
- package/Libraries/Animated/AnimatedImplementation.js +2 -2
- package/Libraries/Animated/animations/Animation.js +3 -3
- package/Libraries/Animated/animations/DecayAnimation.js +4 -4
- package/Libraries/Animated/animations/SpringAnimation.js +5 -5
- package/Libraries/Animated/animations/TimingAnimation.js +5 -5
- package/Libraries/Animated/createAnimatedComponent.js +7 -7
- package/Libraries/Animated/nodes/AnimatedColor.js +2 -2
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +12 -12
- package/Libraries/Animated/nodes/AnimatedNode.js +3 -3
- package/Libraries/Animated/nodes/AnimatedObject.js +3 -3
- package/Libraries/Animated/nodes/AnimatedProps.js +6 -6
- package/Libraries/Animated/nodes/AnimatedStyle.js +7 -7
- package/Libraries/Animated/nodes/AnimatedTransform.js +13 -13
- package/Libraries/Animated/nodes/AnimatedValue.js +1 -1
- package/Libraries/Animated/nodes/AnimatedValueXY.js +1 -1
- package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -1
- package/Libraries/Animated/useAnimatedColor.d.ts +15 -0
- package/Libraries/Animated/useAnimatedColor.js +25 -0
- package/Libraries/Animated/useAnimatedValueXY.d.ts +15 -0
- package/Libraries/Animated/useAnimatedValueXY.js +26 -0
- package/Libraries/AppState/AppState.js +1 -1
- package/Libraries/BatchedBridge/MessageQueue.js +3 -3
- package/Libraries/BatchedBridge/NativeModules.js +12 -10
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +30 -26
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js +34 -30
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +2 -2
- package/Libraries/Components/Button.js +2 -2
- package/Libraries/Components/Button.windows.js +2 -2
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidTypes.js +2 -2
- package/Libraries/Components/Keyboard/Keyboard.js +6 -6
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -1
- package/Libraries/Components/LayoutConformance/LayoutConformance.js +1 -1
- package/Libraries/Components/LayoutConformance/LayoutConformanceNativeComponent.js +1 -1
- package/Libraries/Components/Pressable/Pressable.d.ts +5 -0
- package/Libraries/Components/Pressable/Pressable.js +3 -3
- package/Libraries/Components/Pressable/Pressable.windows.js +3 -3
- package/Libraries/Components/Pressable/useAndroidRippleForView.js +4 -4
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +1 -1
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.js +3 -3
- package/Libraries/Components/RefreshControl/RefreshControl.js +5 -5
- package/Libraries/Components/RefreshControl/RefreshControl.windows.js +5 -5
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +8 -12
- package/Libraries/Components/ScrollView/ScrollView.d.ts +9 -0
- package/Libraries/Components/ScrollView/ScrollView.js +19 -9
- package/Libraries/Components/ScrollView/ScrollView.windows.js +19 -9
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +8 -18
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.windows.js +8 -18
- package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +4 -3
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -1
- package/Libraries/Components/StaticRenderer.js +1 -1
- package/Libraries/Components/StatusBar/StatusBar.js +8 -8
- package/Libraries/Components/Switch/Switch.js +3 -3
- package/Libraries/Components/Switch/Switch.windows.js +3 -3
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +33 -48
- package/Libraries/Components/TextInput/InputAccessoryView.js +1 -1
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +6 -11
- package/Libraries/Components/TextInput/TextInput.flow.js +21 -20
- package/Libraries/Components/TextInput/TextInput.flow.windows.js +23 -22
- package/Libraries/Components/TextInput/TextInput.js +8 -4
- package/Libraries/Components/TextInput/TextInput.windows.js +3 -4
- package/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js +33 -48
- package/Libraries/Components/Touchable/PooledClass.js +1 -1
- package/Libraries/Components/Touchable/Touchable.js +2 -2
- package/Libraries/Components/Touchable/Touchable.windows.js +2 -2
- package/Libraries/Components/Touchable/TouchableBounce.js +4 -4
- package/Libraries/Components/Touchable/TouchableBounce.windows.js +4 -4
- package/Libraries/Components/Touchable/TouchableHighlight.js +8 -8
- package/Libraries/Components/Touchable/TouchableHighlight.windows.js +9 -9
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +7 -7
- package/Libraries/Components/Touchable/TouchableNativeFeedback.windows.js +7 -7
- package/Libraries/Components/Touchable/TouchableOpacity.js +4 -4
- package/Libraries/Components/Touchable/TouchableOpacity.windows.js +4 -4
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -1
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +1 -1
- package/Libraries/Components/UnimplementedViews/UnimplementedView.js +1 -1
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +68 -31
- package/Libraries/Components/View/View.windows.js +1 -1
- package/Libraries/Components/View/ViewAccessibility.js +7 -7
- package/Libraries/Components/View/ViewAccessibility.windows.js +7 -7
- package/Libraries/Components/View/ViewPropTypes.js +14 -14
- package/Libraries/Components/View/ViewPropTypes.windows.js +18 -16
- package/Libraries/Core/Devtools/parseHermesStack.js +8 -8
- package/Libraries/Core/Devtools/symbolicateStackTrace.js +2 -2
- package/Libraries/Core/ExceptionsManager.js +2 -2
- package/Libraries/Core/ExtendedError.js +3 -3
- package/Libraries/Core/RawEventEmitter.js +1 -1
- package/Libraries/Core/ReactNativeVersion.js +2 -2
- package/Libraries/Core/Timers/JSTimers.js +3 -2
- package/Libraries/Core/setUpDeveloperTools.js +1 -1
- package/Libraries/Core/setUpErrorHandling.js +4 -2
- package/Libraries/Core/setUpReactDevTools.js +23 -6
- package/Libraries/Core/setUpSegmentFetcher.js +1 -1
- package/Libraries/Debugging/DebuggingOverlay.js +2 -2
- package/Libraries/EventEmitter/NativeEventEmitter.js +7 -9
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +1 -1
- package/Libraries/Image/AssetSourceResolver.js +1 -1
- package/Libraries/Image/AssetSourceResolver.windows.js +1 -1
- package/Libraries/Image/Image.android.js +172 -306
- package/Libraries/Image/ImageProps.js +9 -11
- package/Libraries/Image/ImageSource.js +2 -2
- package/Libraries/Image/ImageSourceUtils.js +8 -4
- package/Libraries/Image/ImageTypes.flow.js +2 -2
- package/Libraries/Image/ImageViewNativeComponent.js +7 -16
- package/Libraries/Image/nativeImageSource.js +1 -1
- package/Libraries/Interaction/InteractionManager.js +5 -4
- package/Libraries/Interaction/PanResponder.js +1 -1
- package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -2
- package/Libraries/Linking/Linking.js +1 -1
- package/Libraries/Lists/FlatList.js +3 -3
- package/Libraries/Lists/SectionList.js +1 -1
- package/Libraries/Lists/SectionListModern.js +2 -2
- package/Libraries/LogBox/Data/LogBoxData.js +38 -24
- package/Libraries/LogBox/Data/LogBoxLog.js +43 -112
- package/Libraries/LogBox/Data/parseLogBoxLog.js +21 -117
- package/Libraries/LogBox/LogBox.js +42 -19
- package/Libraries/LogBox/LogBoxInspectorContainer.js +2 -2
- package/Libraries/LogBox/LogBoxNotificationContainer.js +2 -2
- package/Libraries/LogBox/UI/LogBoxButton.js +14 -16
- package/Libraries/LogBox/UI/LogBoxInspector.js +2 -2
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +6 -9
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.windows.js +6 -9
- package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorFooterButton.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.windows.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorHeaderButton.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +10 -15
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +25 -18
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.windows.js +15 -16
- package/Libraries/LogBox/UI/LogBoxInspectorSection.js +5 -7
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +8 -10
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +8 -6
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.windows.js +3 -5
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +17 -29
- package/Libraries/LogBox/UI/LogBoxMessage.js +28 -37
- package/Libraries/LogBox/UI/LogBoxNotification.js +1 -1
- package/Libraries/Modal/Modal.d.ts +4 -0
- package/Libraries/Modal/Modal.js +3 -3
- package/Libraries/Modal/Modal.windows.js +7 -3
- package/Libraries/NativeComponent/BaseViewConfig.android.js +28 -52
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +19 -21
- package/Libraries/NativeComponent/BaseViewConfig.windows.js +26 -17
- package/Libraries/Network/RCTNetworking.android.js +1 -1
- package/Libraries/Network/RCTNetworking.ios.js +1 -1
- package/Libraries/Network/RCTNetworking.js.flow +1 -1
- package/Libraries/Network/RCTNetworking.windows.js +1 -1
- package/Libraries/Network/RCTNetworkingEventDefinitions.flow.js +1 -1
- package/Libraries/Network/XMLHttpRequest.js +1 -1
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +3 -3
- package/Libraries/Pressability/Pressability.js +5 -5
- package/Libraries/Pressability/Pressability.windows.js +5 -5
- package/Libraries/Pressability/PressabilityDebug.js +1 -1
- package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +1 -1
- package/Libraries/Pressability/usePressability.js +3 -14
- package/Libraries/PushNotificationIOS/PushNotificationIOS.js +2 -2
- package/Libraries/ReactNative/AppContainer-dev.js +18 -1
- package/Libraries/ReactNative/AppContainer.js +1 -1
- package/Libraries/ReactNative/AppRegistry.flow.js +2 -2
- package/Libraries/ReactNative/AppRegistryImpl.js +2 -2
- package/Libraries/ReactNative/FabricUIManager.js +1 -1
- package/Libraries/ReactNative/RendererImplementation.js +4 -4
- package/Libraries/ReactNative/UIManagerProperties.js +1 -1
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +3 -2
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +3 -2
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +3 -2
- package/Libraries/Renderer/shims/ReactFabric.js +1 -3
- package/Libraries/Renderer/shims/ReactFeatureFlags.js +1 -3
- package/Libraries/Renderer/shims/ReactNative.js +3 -2
- package/Libraries/Renderer/shims/ReactNativeTypes.js +1 -3
- package/Libraries/Renderer/shims/ReactNativeTypes.windows.js +1 -3
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +1 -3
- package/Libraries/Renderer/shims/createReactNativeComponentClass.js +1 -3
- package/Libraries/StyleSheet/PointPropType.js +1 -1
- package/Libraries/StyleSheet/Rect.js +1 -1
- package/Libraries/StyleSheet/StyleSheet.d.ts +0 -5
- package/Libraries/StyleSheet/StyleSheet.js +1 -1
- package/Libraries/StyleSheet/StyleSheet.js.flow +1 -1
- package/Libraries/StyleSheet/StyleSheetExports.js +16 -25
- package/Libraries/StyleSheet/StyleSheetExports.js.flow +2 -7
- package/Libraries/StyleSheet/StyleSheetTypes.js +33 -35
- package/Libraries/StyleSheet/private/_StyleSheetTypesOverrides.js +5 -5
- package/Libraries/StyleSheet/private/_TransformStyle.js +7 -7
- package/Libraries/StyleSheet/processBackgroundImage.js +7 -7
- package/Libraries/StyleSheet/processBackgroundPosition.js +4 -4
- package/Libraries/StyleSheet/processBackgroundRepeat.js +4 -4
- package/Libraries/StyleSheet/processBackgroundSize.js +4 -4
- package/Libraries/StyleSheet/processBoxShadow.js +44 -4
- package/Libraries/StyleSheet/processColorArray.js +2 -2
- package/Libraries/StyleSheet/processFilter.js +2 -2
- package/Libraries/Text/Text.js +295 -627
- package/Libraries/Text/Text.windows.js +342 -717
- package/Libraries/Text/TextNativeComponent.js +14 -7
- package/Libraries/Text/TextProps.js +4 -4
- package/Libraries/Text/TextProps.windows.js +4 -4
- package/Libraries/Types/CodegenTypes.js +1 -1
- package/Libraries/Types/CoreEventTypes.js +21 -21
- package/Libraries/Types/CoreEventTypes.windows.js +21 -21
- package/Libraries/Types/ReactDevToolsTypes.js +2 -2
- package/Libraries/Utilities/Appearance.js +6 -1
- package/Libraries/Utilities/Dimensions.js +1 -1
- package/Libraries/Utilities/HMRClient.js +32 -5
- package/Libraries/Utilities/IPerformanceLogger.js +4 -4
- package/Libraries/Utilities/codegenNativeCommands.js +4 -4
- package/Libraries/Utilities/codegenNativeComponent.d.ts +2 -0
- package/Libraries/Utilities/codegenNativeComponent.js +2 -2
- package/Libraries/Utilities/logError.js +1 -1
- package/Libraries/Utilities/stringifySafe.js +3 -3
- package/Libraries/Utilities/useMergeRefs.js +2 -2
- package/Libraries/vendor/core/ErrorUtils.js +4 -4
- package/Libraries/vendor/emitter/EventEmitter.js +16 -20
- package/Microsoft.ReactNative/CallInvoker.cpp +14 -4
- package/Microsoft.ReactNative/Fabric/AbiComponentDescriptor.cpp +1 -1
- package/Microsoft.ReactNative/Fabric/AbiPortalShadowNode.cpp +2 -2
- package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.h +1 -1
- package/Microsoft.ReactNative/Fabric/Composition/BorderPrimitive.cpp +73 -97
- package/Microsoft.ReactNative/Fabric/Composition/BorderPrimitive.h +4 -1
- package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +0 -1
- package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +4 -4
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +135 -18
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +10 -0
- package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.cpp +7 -2
- package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.h +2 -0
- package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewComponentView.cpp +63 -15
- package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +3 -1
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +1 -1
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.cpp +1 -1
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +11 -0
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +1 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/HostPlatformColor.h +3 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/PlatformColorUtils.cpp +0 -3
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/WindowsTextLayoutManager.cpp +2 -7
- package/Microsoft.ReactNative/IReactPackageBuilder.idl +6 -0
- package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +1 -61
- package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj.filters +1 -26
- package/Microsoft.ReactNative/Modules/AlertModule.cpp +2 -1
- package/Microsoft.ReactNative/Modules/AppStateModule.cpp +2 -17
- package/Microsoft.ReactNative/Modules/AppStateModule.h +0 -4
- package/Microsoft.ReactNative/Modules/AppThemeModuleUwp.cpp +0 -2
- package/Microsoft.ReactNative/Modules/AppearanceModule.cpp +16 -15
- package/Microsoft.ReactNative/Modules/AppearanceModule.h +5 -1
- package/Microsoft.ReactNative/Modules/DeviceInfoModule.cpp +2 -7
- package/Microsoft.ReactNative/Modules/DeviceInfoModule.h +0 -1
- package/Microsoft.ReactNative/Modules/I18nManagerModule.h +4 -4
- package/Microsoft.ReactNative/QuirkSettings.cpp +0 -133
- package/Microsoft.ReactNative/QuirkSettings.h +0 -43
- package/Microsoft.ReactNative/QuirkSettings.idl +0 -41
- package/Microsoft.ReactNative/ReactHost/CrashManager.cpp +0 -4
- package/Microsoft.ReactNative/ReactHost/MsoReactContext.cpp +0 -2
- package/Microsoft.ReactNative/ReactHost/React.h +0 -5
- package/Microsoft.ReactNative/ReactHost/ReactHost.cpp +0 -1
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +3 -26
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +0 -5
- package/Microsoft.ReactNative/ReactHost/React_Win.h +0 -2
- package/Microsoft.ReactNative/ReactNativeAppBuilder.idl +3 -0
- package/Microsoft.ReactNative/ReactPackageBuilder.cpp +7 -0
- package/Microsoft.ReactNative/ReactPackageBuilder.h +1 -0
- package/Microsoft.ReactNative/RedBox.cpp +0 -9
- package/Microsoft.ReactNative/RedBoxHandler.cpp +0 -4
- package/Microsoft.ReactNative/TurboModulesProvider.cpp +5 -10
- package/Microsoft.ReactNative/TurboModulesProvider.h +2 -0
- package/Microsoft.ReactNative/Utils/ValueUtils.cpp +1 -1
- package/Microsoft.ReactNative.Cxx/CppWinRTIncludes.h +0 -7
- package/Microsoft.ReactNative.Cxx/DesktopWindowBridge.h +0 -22
- package/Microsoft.ReactNative.Cxx/ModuleRegistration.cpp +8 -2
- package/Microsoft.ReactNative.Cxx/ModuleRegistration.h +36 -20
- package/Microsoft.ReactNative.Cxx/NamespaceRedirect.h +0 -3
- package/Microsoft.ReactNative.Cxx/NativeModules.h +8 -2
- package/Microsoft.ReactNative.Cxx/XamlUtils.h +0 -9
- package/Microsoft.ReactNative.Managed/ReactContext.cs +0 -9
- package/PropertySheets/Autolink.props +1 -1
- package/PropertySheets/Bundle.props +1 -1
- package/PropertySheets/Codegen.props +1 -1
- package/PropertySheets/Generated/PackageVersion.g.props +3 -3
- package/PropertySheets/NuGet.LockFile.props +8 -0
- package/PropertySheets/React.Cpp.props +4 -4
- package/PropertySheets/ReactNativeArchitecture.props +6 -24
- package/ReactCommon/ReactCommon.vcxproj +5 -6
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +1 -1
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.cpp +15 -4
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.h +13 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/defaults/DefaultTurboModules.cpp +69 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/animationbackend/AnimatedPropSerializer.cpp +717 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/ParagraphShadowNode.cpp +10 -10
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityPrimitives.h +2 -21
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.cpp +151 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.h +50 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/mapbuffer/MapBuffer.cpp +178 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/uimanager/UIManager.cpp +69 -39
- package/Scripts/OfficeReact.Win32.nuspec +0 -1
- package/Scripts/Tfs/Layout-Desktop-Headers.ps1 +4 -39
- package/Scripts/creaternwapp.cmd +1 -9
- package/Scripts/creaternwlib.cmd +4 -24
- package/Shared/DevSettings.h +0 -3
- package/Shared/Networking/WinRTWebSocketResource.cpp +23 -408
- package/Shared/Networking/WinRTWebSocketResource.h +3 -119
- package/Shared/Shared.vcxitems +63 -38
- package/Shared/Shared.vcxitems.filters +54 -0
- package/Shared/Utils.cpp +0 -88
- package/Shared/Utils.h +0 -14
- package/Shared/WebSocketResourceFactory.cpp +28 -0
- package/Shared/tracing/fbsystrace.h +1 -0
- package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +172 -160
- package/codegen/react/components/rnwcore/ModalHostView.g.h +8 -0
- package/codegen/react/components/rnwcore/Props.cpp +17 -7
- package/codegen/react/components/rnwcore/Props.h +3 -1
- package/codegen/react/components/rnwcore/VirtualViewExperimental.g.h +4 -4
- package/codegen/rnwcoreJSI.h +93 -77
- package/index.js +9 -0
- package/index.windows.js +9 -0
- package/jest/RefreshControlMock.js +2 -2
- package/jest/assetFileTransformer.js +8 -3
- package/jest/mockComponent.js +3 -4
- package/jest/mockNativeComponent.js +1 -1
- package/jest/mocks/ActivityIndicator.js +2 -2
- package/jest/mocks/Image.js +2 -2
- package/jest/mocks/Modal.js +2 -2
- package/jest/mocks/RefreshControl.js +3 -3
- package/jest/mocks/RendererProxy.js +2 -2
- package/jest/mocks/ScrollView.js +5 -5
- package/jest/mocks/Text.js +2 -2
- package/jest/mocks/TextInput.js +2 -2
- package/jest/mocks/View.js +2 -2
- package/jest/mocks/ViewNativeComponent.js +1 -1
- package/jest/mocks/requireNativeComponent.js +1 -1
- package/jest/mocks/useColorScheme.js +1 -1
- package/jest/setup.js +68 -31
- package/package.json +27 -22
- package/src/private/animated/NativeAnimatedHelper.js +2 -2
- package/src/private/animated/createAnimatedPropsMemoHook.js +19 -19
- package/src/private/components/virtualview/VirtualView.js +14 -21
- package/src/private/components/virtualview/VirtualViewExperimentalNativeComponent.js +11 -10
- package/src/private/components/virtualview/VirtualViewNativeComponent.js +4 -4
- package/src/private/devsupport/devmenu/elementinspector/BorderBox.js +2 -2
- package/src/private/devsupport/devmenu/elementinspector/BoxInspector.js +3 -3
- package/src/private/devsupport/devmenu/elementinspector/ElementBox.js +4 -4
- package/src/private/devsupport/devmenu/elementinspector/ElementProperties.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/Inspector.js +39 -17
- package/src/private/devsupport/devmenu/elementinspector/InspectorOverlay.js +15 -3
- package/src/private/devsupport/devmenu/elementinspector/InspectorPanel.js +2 -2
- package/src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay.js +2 -8
- package/src/private/devsupport/devmenu/elementinspector/StyleInspector.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/resolveBoxStyle.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/useExternalInspection.js +102 -0
- package/src/private/devsupport/rndevtools/FuseboxSessionObserver.js +12 -25
- package/src/private/devsupport/rndevtools/GlobalStateObserver.js +56 -0
- package/src/private/devsupport/rndevtools/TracingStateObserver.js +28 -0
- package/src/private/featureflags/ReactNativeFeatureFlags.js +71 -79
- package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +2 -2
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +14 -12
- package/src/private/setup/setUpDefaultReactNativeEnvironment.js +6 -0
- package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +3 -3
- package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent.js +3 -3
- package/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +7 -3
- package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeImageLoaderIOS.js +1 -1
- package/src/private/styles/composeStyles.js +1 -1
- package/src/private/utilities/toError.js +27 -0
- package/src/private/utilities/toExtendedError.js +30 -0
- package/src/private/webapis/dom/events/Event.js +1 -1
- package/src/private/webapis/dom/events/EventHandlerAttributes.js +2 -2
- package/src/private/webapis/dom/events/EventTarget.js +3 -3
- package/src/private/webapis/dom/events/internals/EventInternals.js +2 -2
- package/src/private/webapis/dom/nodes/ReadOnlyElement.js +1 -1
- package/src/private/webapis/dom/nodes/ReadOnlyNode.js +2 -2
- package/src/private/webapis/dom/nodes/specs/NativeDOM.js +14 -14
- package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +2 -2
- package/src/private/webapis/dom/oldstylecollections/NodeList.js +2 -2
- package/src/private/webapis/geometry/DOMRectList.js +2 -2
- package/src/private/webapis/intersectionobserver/IntersectionObserver.js +8 -8
- package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +6 -6
- package/src/private/webapis/mutationobserver/MutationObserver.js +2 -2
- package/src/private/webapis/mutationobserver/MutationRecord.js +2 -2
- package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +1 -1
- package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +3 -3
- package/src/private/webapis/performance/LongTasks.js +3 -3
- package/src/private/webapis/performance/Performance.js +4 -4
- package/src/private/webapis/performance/PerformanceEntry.js +1 -1
- package/src/private/webapis/performance/PerformanceObserver.js +2 -2
- package/src/private/webapis/performance/specs/NativePerformance.js +8 -8
- package/src/private/webapis/structuredClone/structuredClone.js +2 -2
- package/src/types/globals.d.ts +4 -4
- package/template/cpp-lib/proj/MyLib.sln +0 -33
- package/template/cpp-lib/proj/MyLib.vcxproj +1 -1
- package/template/cs-lib/proj/MyLib.sln +0 -33
- package/template/metro.config.js +12 -2
- package/templates/cpp-app/metro.config.js +12 -2
- package/templates/cpp-app/windows/MyApp/MyApp.cpp +9 -6
- package/templates/cpp-app/windows/MyApp/MyApp.vcxproj +1 -1
- package/templates/cpp-app/windows/MyApp.sln +0 -33
- package/templates/cpp-lib/example/metro.config.js +12 -2
- package/templates/cpp-lib/windows/MyLib/MyLib.vcxproj +1 -1
- package/templates/cpp-lib/windows/MyLib.sln +0 -33
- package/types/index.d.ts +2 -0
- package/Folly/.clang-format +0 -2
- package/Folly/Folly.natvis +0 -25
- package/Folly/Folly.vcxproj +0 -378
- package/Folly/Folly.vcxproj.filters +0 -558
- package/Folly/TEMP_UntilFollyUpdate/ConstexprMath.h +0 -978
- package/Folly/TEMP_UntilFollyUpdate/Conv.cpp +0 -1205
- package/Folly/TEMP_UntilFollyUpdate/chrono/Hardware.h +0 -155
- package/Folly/TEMP_UntilFollyUpdate/concurrency/CacheLocality.cpp +0 -633
- package/Folly/TEMP_UntilFollyUpdate/json/dynamic-inl.h +0 -1438
- package/Folly/TEMP_UntilFollyUpdate/json/json.cpp +0 -1118
- package/Folly/TEMP_UntilFollyUpdate/lang/SafeAssert.h +0 -188
- package/Folly/TEMP_UntilFollyUpdate/lang/ToAscii.cpp +0 -348
- package/Folly/TEMP_UntilFollyUpdate/lang/ToAscii.h +0 -182
- package/Folly/TEMP_UntilFollyUpdate/portability/Unistd.cpp +0 -33
- package/Folly/cgmanifest.json +0 -25
- package/Libraries/Components/View/ReactNativeViewAttributes.js +0 -60
- package/Libraries/Components/View/ReactNativeViewAttributes.windows.js +0 -64
- package/Libraries/Image/TextInlineImageNativeComponent.js +0 -49
- package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper_emptyimpl.cpp +0 -75
- package/Microsoft.ReactNative/Fabric/Composition/CompositionUIService_emptyimpl.cpp +0 -27
- package/Microsoft.ReactNative/Fabric/Composition/Theme_emptyimpl.cpp +0 -81
- package/Microsoft.ReactNative/Modules/CreateModules.cpp +0 -24
- package/Microsoft.ReactNative/ReactSupport.cpp +0 -221
- package/Microsoft.ReactNative/ReactSupport.h +0 -13
- package/Microsoft.ReactNative/Utils/UwpPreparedScriptStore.cpp +0 -107
- package/Microsoft.ReactNative/Utils/UwpPreparedScriptStore.h +0 -62
- package/Microsoft.ReactNative/Utils/UwpScriptStore.cpp +0 -56
- package/Microsoft.ReactNative/Utils/UwpScriptStore.h +0 -23
- package/Microsoft.ReactNative/XamlUIService.cpp +0 -68
- package/Microsoft.ReactNative/XamlUIService.h +0 -37
- package/Microsoft.ReactNative/XamlUIService.idl +0 -53
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/CxxNativeModule.cpp +0 -259
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/Instance.cpp +0 -381
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSIndexedRAMBundle.cpp +0 -145
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/MethodCall.cpp +0 -100
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/ModuleRegistry.cpp +0 -256
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/NativeToJsBridge.cpp +0 -363
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/RAMBundleRegistry.cpp +0 -93
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/ReactMarker.cpp +0 -148
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/TraceSection.h +0 -190
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsiexecutor/jsireact/JSINativeModules.cpp +0 -123
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleWithJSIBindings.cpp +0 -27
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/webperformance/NativePerformance.cpp +0 -414
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/platform/android/react/renderer/components/text/ParagraphState.h +0 -91
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/EventDispatcher.cpp +0 -80
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/EventQueueProcessor.cpp +0 -138
- package/fmt/.clang-format +0 -2
- package/fmt/cgmanifest.json +0 -15
- package/fmt/fmt.vcxproj +0 -153
- package/fmt/fmt.vcxproj.filters +0 -59
- package/fmt/pch.cpp +0 -4
- package/fmt/pch.h +0 -2
|
@@ -145,7 +145,7 @@ void ParagraphShadowNode::setTextLayoutManager(
|
|
|
145
145
|
template <typename ParagraphStateT>
|
|
146
146
|
void ParagraphShadowNode::updateStateIfNeeded(
|
|
147
147
|
const Content& content,
|
|
148
|
-
const
|
|
148
|
+
const MeasuredPreparedTextLayout& layout) {
|
|
149
149
|
ensureUnsealed();
|
|
150
150
|
|
|
151
151
|
auto& state = static_cast<const ParagraphStateT&>(getStateData());
|
|
@@ -183,10 +183,10 @@ void ParagraphShadowNode::updateStateIfNeeded(const Content& content) {
|
|
|
183
183
|
textLayoutManager_});
|
|
184
184
|
}
|
|
185
185
|
|
|
186
|
-
|
|
187
|
-
|
|
186
|
+
MeasuredPreparedTextLayout* ParagraphShadowNode::findUsableLayout() {
|
|
187
|
+
MeasuredPreparedTextLayout* ret = nullptr;
|
|
188
188
|
|
|
189
|
-
if constexpr (TextLayoutManagerExtended::
|
|
189
|
+
if constexpr (TextLayoutManagerExtended::supportsPreparedTextLayout()) {
|
|
190
190
|
// We consider the layout to be reusable, if our content measurement,
|
|
191
191
|
// combined with padding/border (not snapped) exactly corresponds to the
|
|
192
192
|
// measurement of the node, before layout rounding. We may not find a
|
|
@@ -223,7 +223,7 @@ Size ParagraphShadowNode::rawContentSize() {
|
|
|
223
223
|
Size ParagraphShadowNode::measureContent(
|
|
224
224
|
const LayoutContext& layoutContext,
|
|
225
225
|
const LayoutConstraints& layoutConstraints) const {
|
|
226
|
-
if constexpr (TextLayoutManagerExtended::
|
|
226
|
+
if constexpr (TextLayoutManagerExtended::supportsPreparedTextLayout()) {
|
|
227
227
|
for (const auto& layout : measuredLayouts_) {
|
|
228
228
|
if (layout.layoutConstraints == layoutConstraints) {
|
|
229
229
|
return layout.measurement.size;
|
|
@@ -239,7 +239,7 @@ Size ParagraphShadowNode::measureContent(
|
|
|
239
239
|
.surfaceId = getSurfaceId(),
|
|
240
240
|
};
|
|
241
241
|
|
|
242
|
-
if constexpr (TextLayoutManagerExtended::
|
|
242
|
+
if constexpr (TextLayoutManagerExtended::supportsPreparedTextLayout()) {
|
|
243
243
|
if (ReactNativeFeatureFlags::enablePreparedTextLayout()) {
|
|
244
244
|
TextLayoutManagerExtended tme(*textLayoutManager_);
|
|
245
245
|
|
|
@@ -252,12 +252,12 @@ Size ParagraphShadowNode::measureContent(
|
|
|
252
252
|
preparedLayout, textLayoutContext, layoutConstraints);
|
|
253
253
|
|
|
254
254
|
measuredLayouts_.push_back(
|
|
255
|
-
|
|
255
|
+
MeasuredPreparedTextLayout{
|
|
256
256
|
.layoutConstraints = layoutConstraints,
|
|
257
257
|
.measurement = measurement,
|
|
258
|
-
//
|
|
258
|
+
// PreparedTextLayout is not trivially copyable on all platforms
|
|
259
259
|
// NOLINTNEXTLINE(performance-move-const-arg)
|
|
260
|
-
.
|
|
260
|
+
.preparedTextLayout = std::move(preparedLayout)});
|
|
261
261
|
assert_valid_size(measurement.size, layoutConstraints);
|
|
262
262
|
return measurement.size;
|
|
263
263
|
}
|
|
@@ -317,7 +317,7 @@ void ParagraphShadowNode::layout(LayoutContext layoutContext) {
|
|
|
317
317
|
auto measuredLayout = findUsableLayout();
|
|
318
318
|
|
|
319
319
|
if constexpr (
|
|
320
|
-
TextLayoutManagerExtended::
|
|
320
|
+
TextLayoutManagerExtended::supportsPreparedTextLayout() &&
|
|
321
321
|
std::is_constructible_v<
|
|
322
322
|
ParagraphState,
|
|
323
323
|
decltype(content.attributedString),
|
|
@@ -56,17 +56,13 @@ inline static bool operator==(const AccessibilityAction &lhs, const Accessibilit
|
|
|
56
56
|
return lhs.name == rhs.name && lhs.label == rhs.label;
|
|
57
57
|
}
|
|
58
58
|
|
|
59
|
-
inline static bool operator!=(const AccessibilityAction &lhs, const AccessibilityAction &rhs)
|
|
60
|
-
{
|
|
61
|
-
return !(rhs == lhs);
|
|
62
|
-
}
|
|
63
|
-
|
|
64
59
|
struct AccessibilityState {
|
|
65
60
|
bool disabled{false};
|
|
66
61
|
std::optional<bool> selected{std::nullopt}; // [Windows] - Do not remove; required for Windows ISelectionItemProvider Implementation
|
|
67
62
|
bool busy{false};
|
|
68
63
|
std::optional<bool> expanded{std::nullopt};
|
|
69
|
-
enum CheckedState { Unchecked, Checked, Mixed, None }
|
|
64
|
+
enum CheckedState { Unchecked, Checked, Mixed, None };
|
|
65
|
+
CheckedState checked{CheckedState::None};
|
|
70
66
|
std::optional<bool> readOnly{std::nullopt}; // [Windows] - Do not remove; required for Windows IRangeValueProvider and IValueProvider Implementation
|
|
71
67
|
std::optional<bool> multiselectable{std::nullopt}; // [Windows] - Do not remove; required for Windows ISelectionProvider Implementation
|
|
72
68
|
std::optional<bool> required{std::nullopt}; // [Windows] - Do not remove; required for Windows ISelectionProvider Implementation
|
|
@@ -78,11 +74,6 @@ constexpr bool operator==(const AccessibilityState &lhs, const AccessibilityStat
|
|
|
78
74
|
lhs.busy == rhs.busy && lhs.expanded == rhs.expanded;
|
|
79
75
|
}
|
|
80
76
|
|
|
81
|
-
constexpr bool operator!=(const AccessibilityState &lhs, const AccessibilityState &rhs)
|
|
82
|
-
{
|
|
83
|
-
return !(rhs == lhs);
|
|
84
|
-
}
|
|
85
|
-
|
|
86
77
|
struct AccessibilityLabelledBy {
|
|
87
78
|
std::vector<std::string> value{};
|
|
88
79
|
};
|
|
@@ -92,11 +83,6 @@ inline static bool operator==(const AccessibilityLabelledBy &lhs, const Accessib
|
|
|
92
83
|
return lhs.value == rhs.value;
|
|
93
84
|
}
|
|
94
85
|
|
|
95
|
-
inline static bool operator!=(const AccessibilityLabelledBy &lhs, const AccessibilityLabelledBy &rhs)
|
|
96
|
-
{
|
|
97
|
-
return !(lhs == rhs);
|
|
98
|
-
}
|
|
99
|
-
|
|
100
86
|
struct AccessibilityValue {
|
|
101
87
|
std::optional<int> min;
|
|
102
88
|
std::optional<int> max;
|
|
@@ -109,11 +95,6 @@ constexpr bool operator==(const AccessibilityValue &lhs, const AccessibilityValu
|
|
|
109
95
|
return lhs.min == rhs.min && lhs.max == rhs.max && lhs.now == rhs.now && lhs.text == rhs.text;
|
|
110
96
|
}
|
|
111
97
|
|
|
112
|
-
constexpr bool operator!=(const AccessibilityValue &lhs, const AccessibilityValue &rhs)
|
|
113
|
-
{
|
|
114
|
-
return !(rhs == lhs);
|
|
115
|
-
}
|
|
116
|
-
|
|
117
98
|
enum class ImportantForAccessibility : uint8_t {
|
|
118
99
|
Auto,
|
|
119
100
|
Yes,
|
package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.cpp
ADDED
|
@@ -0,0 +1,151 @@
|
|
|
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
|
+
|
|
8
|
+
#include "TouchEventEmitter.h"
|
|
9
|
+
|
|
10
|
+
namespace facebook::react {
|
|
11
|
+
|
|
12
|
+
#pragma mark - Touches
|
|
13
|
+
|
|
14
|
+
static jsi::Value touchesPayload(
|
|
15
|
+
jsi::Runtime& runtime,
|
|
16
|
+
const Touches& touches) {
|
|
17
|
+
auto array = jsi::Array(runtime, touches.size());
|
|
18
|
+
int i = 0;
|
|
19
|
+
for (const auto& touch : touches) {
|
|
20
|
+
auto object = jsi::Object(runtime);
|
|
21
|
+
setTouchPayloadOnObject(object, runtime, touch);
|
|
22
|
+
array.setValueAtIndex(runtime, i++, object);
|
|
23
|
+
}
|
|
24
|
+
return array;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
static jsi::Value touchEventPayload(
|
|
28
|
+
jsi::Runtime& runtime,
|
|
29
|
+
const TouchEvent& event) {
|
|
30
|
+
auto object = jsi::Object(runtime);
|
|
31
|
+
object.setProperty(
|
|
32
|
+
runtime, "touches", touchesPayload(runtime, event.touches));
|
|
33
|
+
object.setProperty(
|
|
34
|
+
runtime, "changedTouches", touchesPayload(runtime, event.changedTouches));
|
|
35
|
+
object.setProperty(
|
|
36
|
+
runtime, "targetTouches", touchesPayload(runtime, event.targetTouches));
|
|
37
|
+
|
|
38
|
+
if (!event.changedTouches.empty()) {
|
|
39
|
+
const auto& firstChangedTouch = *event.changedTouches.begin();
|
|
40
|
+
setTouchPayloadOnObject(object, runtime, firstChangedTouch);
|
|
41
|
+
}
|
|
42
|
+
return object;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
void TouchEventEmitter::dispatchTouchEvent(
|
|
46
|
+
std::string type,
|
|
47
|
+
TouchEvent event,
|
|
48
|
+
RawEvent::Category category) const {
|
|
49
|
+
dispatchEvent(
|
|
50
|
+
std::move(type),
|
|
51
|
+
[event = std::move(event)](jsi::Runtime& runtime) {
|
|
52
|
+
return touchEventPayload(runtime, event);
|
|
53
|
+
},
|
|
54
|
+
category);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
void TouchEventEmitter::dispatchPointerEvent(
|
|
58
|
+
std::string type,
|
|
59
|
+
PointerEvent event,
|
|
60
|
+
RawEvent::Category category) const {
|
|
61
|
+
dispatchEvent(
|
|
62
|
+
std::move(type),
|
|
63
|
+
std::make_shared<PointerEvent>(std::move(event)),
|
|
64
|
+
category);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
void TouchEventEmitter::onTouchStart(TouchEvent event) const {
|
|
68
|
+
dispatchTouchEvent(
|
|
69
|
+
"touchStart", std::move(event), RawEvent::Category::ContinuousStart);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
void TouchEventEmitter::onTouchMove(TouchEvent event) const {
|
|
73
|
+
dispatchUniqueEvent(
|
|
74
|
+
"touchMove", [event = std::move(event)](jsi::Runtime& runtime) {
|
|
75
|
+
return touchEventPayload(runtime, event);
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
void TouchEventEmitter::onTouchEnd(TouchEvent event) const {
|
|
80
|
+
dispatchTouchEvent(
|
|
81
|
+
"touchEnd", std::move(event), RawEvent::Category::ContinuousEnd);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
void TouchEventEmitter::onTouchCancel(TouchEvent event) const {
|
|
85
|
+
dispatchTouchEvent(
|
|
86
|
+
"touchCancel", std::move(event), RawEvent::Category::ContinuousEnd);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
void TouchEventEmitter::onAuxClick(PointerEvent event) const {
|
|
90
|
+
dispatchPointerEvent("auxClick", std::move(event), RawEvent::Category::Discrete);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
void TouchEventEmitter::onClick(PointerEvent event) const {
|
|
94
|
+
dispatchPointerEvent("click", std::move(event), RawEvent::Category::Discrete);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
void TouchEventEmitter::onPointerCancel(PointerEvent event) const {
|
|
98
|
+
dispatchPointerEvent(
|
|
99
|
+
"pointerCancel", std::move(event), RawEvent::Category::ContinuousEnd);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
void TouchEventEmitter::onPointerDown(PointerEvent event) const {
|
|
103
|
+
dispatchPointerEvent(
|
|
104
|
+
"pointerDown", std::move(event), RawEvent::Category::ContinuousStart);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
void TouchEventEmitter::onPointerMove(PointerEvent event) const {
|
|
108
|
+
dispatchUniqueEvent(
|
|
109
|
+
"pointerMove", std::make_shared<PointerEvent>(std::move(event)));
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
void TouchEventEmitter::onPointerUp(PointerEvent event) const {
|
|
113
|
+
dispatchPointerEvent(
|
|
114
|
+
"pointerUp", std::move(event), RawEvent::Category::ContinuousEnd);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
void TouchEventEmitter::onPointerEnter(PointerEvent event) const {
|
|
118
|
+
dispatchPointerEvent(
|
|
119
|
+
"pointerEnter", std::move(event), RawEvent::Category::ContinuousStart);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
void TouchEventEmitter::onPointerLeave(PointerEvent event) const {
|
|
123
|
+
dispatchPointerEvent(
|
|
124
|
+
"pointerLeave", std::move(event), RawEvent::Category::ContinuousEnd);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
void TouchEventEmitter::onPointerOver(PointerEvent event) const {
|
|
128
|
+
dispatchPointerEvent(
|
|
129
|
+
"pointerOver", std::move(event), RawEvent::Category::ContinuousStart);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
void TouchEventEmitter::onPointerOut(PointerEvent event) const {
|
|
133
|
+
dispatchPointerEvent(
|
|
134
|
+
"pointerOut", std::move(event), RawEvent::Category::ContinuousStart);
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
void TouchEventEmitter::onGotPointerCapture(PointerEvent event) const {
|
|
138
|
+
dispatchPointerEvent(
|
|
139
|
+
"gotPointerCapture",
|
|
140
|
+
std::move(event),
|
|
141
|
+
RawEvent::Category::ContinuousStart);
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
void TouchEventEmitter::onLostPointerCapture(PointerEvent event) const {
|
|
145
|
+
dispatchPointerEvent(
|
|
146
|
+
"lostPointerCapture",
|
|
147
|
+
std::move(event),
|
|
148
|
+
RawEvent::Category::ContinuousEnd);
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
} // namespace facebook::react
|
package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.h
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
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
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <react/renderer/components/view/PointerEvent.h>
|
|
11
|
+
#include <react/renderer/components/view/TouchEvent.h>
|
|
12
|
+
#include <react/renderer/core/EventEmitter.h>
|
|
13
|
+
#include <react/renderer/core/LayoutMetrics.h>
|
|
14
|
+
#include <react/renderer/core/ReactPrimitives.h>
|
|
15
|
+
#include <react/renderer/debug/DebugStringConvertible.h>
|
|
16
|
+
|
|
17
|
+
namespace facebook::react {
|
|
18
|
+
|
|
19
|
+
class TouchEventEmitter;
|
|
20
|
+
|
|
21
|
+
using SharedTouchEventEmitter = std::shared_ptr<const TouchEventEmitter>;
|
|
22
|
+
|
|
23
|
+
class TouchEventEmitter : public EventEmitter {
|
|
24
|
+
public:
|
|
25
|
+
using EventEmitter::EventEmitter;
|
|
26
|
+
|
|
27
|
+
void onTouchStart(TouchEvent event) const;
|
|
28
|
+
void onTouchMove(TouchEvent event) const;
|
|
29
|
+
void onTouchEnd(TouchEvent event) const;
|
|
30
|
+
void onTouchCancel(TouchEvent event) const;
|
|
31
|
+
|
|
32
|
+
void onAuxClick(PointerEvent event) const; // [Windows]
|
|
33
|
+
void onClick(PointerEvent event) const;
|
|
34
|
+
void onPointerCancel(PointerEvent event) const;
|
|
35
|
+
void onPointerDown(PointerEvent event) const;
|
|
36
|
+
void onPointerMove(PointerEvent event) const;
|
|
37
|
+
void onPointerUp(PointerEvent event) const;
|
|
38
|
+
void onPointerEnter(PointerEvent event) const;
|
|
39
|
+
void onPointerLeave(PointerEvent event) const;
|
|
40
|
+
void onPointerOver(PointerEvent event) const;
|
|
41
|
+
void onPointerOut(PointerEvent event) const;
|
|
42
|
+
void onGotPointerCapture(PointerEvent event) const;
|
|
43
|
+
void onLostPointerCapture(PointerEvent event) const;
|
|
44
|
+
|
|
45
|
+
private:
|
|
46
|
+
void dispatchTouchEvent(std::string type, TouchEvent event, RawEvent::Category category) const;
|
|
47
|
+
void dispatchPointerEvent(std::string type, PointerEvent event, RawEvent::Category category) const;
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
} // namespace facebook::react
|
|
@@ -0,0 +1,178 @@
|
|
|
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
|
+
|
|
8
|
+
#include "MapBuffer.h"
|
|
9
|
+
#include <react/renderer/mapbuffer/MapBufferBuilder.h>
|
|
10
|
+
|
|
11
|
+
namespace facebook::react {
|
|
12
|
+
|
|
13
|
+
static inline int32_t bucketOffset(int32_t index) {
|
|
14
|
+
return sizeof(MapBuffer::Header) + sizeof(MapBuffer::Bucket) * index;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
static inline int32_t valueOffset(int32_t bucketIndex) {
|
|
18
|
+
return bucketOffset(bucketIndex) + offsetof(MapBuffer::Bucket, data);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
// TODO T83483191: Extend MapBuffer C++ implementation to support basic random
|
|
22
|
+
// access
|
|
23
|
+
MapBuffer::MapBuffer(std::vector<uint8_t> data) : bytes_(std::move(data)) {
|
|
24
|
+
auto header = reinterpret_cast<const Header*>(bytes_.data());
|
|
25
|
+
count_ = header->count;
|
|
26
|
+
|
|
27
|
+
if (static_cast<size_t>(header->bufferSize) != bytes_.size()) { // [Windows #16261]
|
|
28
|
+
LOG(ERROR) << "Error: Data size does not match, expected "
|
|
29
|
+
<< header->bufferSize << " found: " << bytes_.size();
|
|
30
|
+
abort();
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
int32_t MapBuffer::getKeyBucket(Key key) const {
|
|
35
|
+
int32_t lo = 0;
|
|
36
|
+
int32_t hi = count_ - 1;
|
|
37
|
+
while (lo <= hi) {
|
|
38
|
+
int32_t mid = (lo + hi) >> 1;
|
|
39
|
+
|
|
40
|
+
Key midVal =
|
|
41
|
+
*reinterpret_cast<const Key*>(bytes_.data() + bucketOffset(mid));
|
|
42
|
+
|
|
43
|
+
if (midVal < key) {
|
|
44
|
+
lo = mid + 1;
|
|
45
|
+
} else if (midVal > key) {
|
|
46
|
+
hi = mid - 1;
|
|
47
|
+
} else {
|
|
48
|
+
return mid;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
return -1;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
inline int32_t MapBuffer::getIntAtBucket(int32_t bucketIndex) const {
|
|
56
|
+
return *reinterpret_cast<const int32_t*>(
|
|
57
|
+
bytes_.data() + valueOffset(bucketIndex));
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
int32_t MapBuffer::getInt(Key key) const {
|
|
61
|
+
auto bucketIndex = getKeyBucket(key);
|
|
62
|
+
react_native_assert(bucketIndex != -1 && "Key not found in MapBuffer");
|
|
63
|
+
if (bucketIndex == -1) {
|
|
64
|
+
return 0;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
return getIntAtBucket(bucketIndex);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
int64_t MapBuffer::getLong(Key key) const {
|
|
71
|
+
auto bucketIndex = getKeyBucket(key);
|
|
72
|
+
react_native_assert(bucketIndex != -1 && "Key not found in MapBuffer");
|
|
73
|
+
if (bucketIndex == -1) {
|
|
74
|
+
return 0;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
return *reinterpret_cast<const int64_t*>(
|
|
78
|
+
bytes_.data() + valueOffset(bucketIndex));
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
bool MapBuffer::getBool(Key key) const {
|
|
82
|
+
return getInt(key) != 0;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
double MapBuffer::getDouble(Key key) const {
|
|
86
|
+
auto bucketIndex = getKeyBucket(key);
|
|
87
|
+
react_native_assert(bucketIndex != -1 && "Key not found in MapBuffer");
|
|
88
|
+
if (bucketIndex == -1) {
|
|
89
|
+
return 0;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
return *reinterpret_cast<const double*>(
|
|
93
|
+
bytes_.data() + valueOffset(bucketIndex));
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
int32_t MapBuffer::getDynamicDataOffset() const {
|
|
97
|
+
// The start of dynamic data can be calculated as the offset of the next
|
|
98
|
+
// key in the map
|
|
99
|
+
return bucketOffset(count_);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
std::string MapBuffer::getString(Key key) const {
|
|
103
|
+
auto bucketIndex = getKeyBucket(key);
|
|
104
|
+
react_native_assert(bucketIndex != -1 && "Key not found in MapBuffer");
|
|
105
|
+
if (bucketIndex == -1) {
|
|
106
|
+
return "";
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
int32_t offset = getDynamicDataOffset() + getIntAtBucket(bucketIndex);
|
|
110
|
+
int32_t stringLength =
|
|
111
|
+
*reinterpret_cast<const int32_t*>(bytes_.data() + offset);
|
|
112
|
+
const uint8_t* stringPtr = bytes_.data() + offset + sizeof(int);
|
|
113
|
+
|
|
114
|
+
return {stringPtr, stringPtr + stringLength};
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
MapBuffer MapBuffer::getMapBuffer(Key key) const {
|
|
118
|
+
auto bucketIndex = getKeyBucket(key);
|
|
119
|
+
react_native_assert(bucketIndex != -1 && "Key not found in MapBuffer");
|
|
120
|
+
if (bucketIndex == -1) {
|
|
121
|
+
return MapBufferBuilder::EMPTY();
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
int32_t offset = getDynamicDataOffset() + getIntAtBucket(bucketIndex);
|
|
125
|
+
int32_t mapBufferLength =
|
|
126
|
+
*reinterpret_cast<const int32_t*>(bytes_.data() + offset);
|
|
127
|
+
int32_t maxLength = static_cast<int32_t>(bytes_.size() - offset - sizeof(int32_t)); // [Windows #16261]
|
|
128
|
+
if (mapBufferLength > maxLength) {
|
|
129
|
+
mapBufferLength = maxLength;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
std::vector<uint8_t> value(mapBufferLength);
|
|
133
|
+
|
|
134
|
+
memcpy(
|
|
135
|
+
value.data(), bytes_.data() + offset + sizeof(int32_t), mapBufferLength);
|
|
136
|
+
|
|
137
|
+
return MapBuffer(std::move(value));
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
std::vector<MapBuffer> MapBuffer::getMapBufferList(MapBuffer::Key key) const {
|
|
141
|
+
auto bucketIndex = getKeyBucket(key);
|
|
142
|
+
react_native_assert(bucketIndex != -1 && "Key not found in MapBuffer");
|
|
143
|
+
if (bucketIndex == -1) {
|
|
144
|
+
return {};
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
std::vector<MapBuffer> mapBufferList;
|
|
148
|
+
int32_t offset = getDynamicDataOffset() + getIntAtBucket(bucketIndex);
|
|
149
|
+
int32_t mapBufferListLength =
|
|
150
|
+
*reinterpret_cast<const int32_t*>(bytes_.data() + offset);
|
|
151
|
+
offset = offset + sizeof(uint32_t);
|
|
152
|
+
|
|
153
|
+
int32_t curLen = 0;
|
|
154
|
+
while (curLen < mapBufferListLength) {
|
|
155
|
+
int32_t mapBufferLength =
|
|
156
|
+
*reinterpret_cast<const int32_t*>(bytes_.data() + offset + curLen);
|
|
157
|
+
curLen = curLen + sizeof(uint32_t);
|
|
158
|
+
std::vector<uint8_t> value(mapBufferLength);
|
|
159
|
+
memcpy(value.data(), bytes_.data() + offset + curLen, mapBufferLength);
|
|
160
|
+
mapBufferList.emplace_back(std::move(value));
|
|
161
|
+
curLen = curLen + mapBufferLength;
|
|
162
|
+
}
|
|
163
|
+
return mapBufferList;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
size_t MapBuffer::size() const {
|
|
167
|
+
return bytes_.size();
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
const uint8_t* MapBuffer::data() const {
|
|
171
|
+
return bytes_.data();
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
uint16_t MapBuffer::count() const {
|
|
175
|
+
return count_;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
} // namespace facebook::react
|