react-native-windows 0.68.1 → 0.69.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 -3
- package/Chakra/ChakraHelpers.cpp +0 -1
- package/Directory.Build.props +3 -0
- package/Directory.Build.targets +1 -1
- package/Folly/TEMP_UntilFollyUpdate/dynamic-inl.h +1411 -0
- package/Folly/TEMP_UntilFollyUpdate/lang/ToAscii.cpp +336 -0
- package/Folly/TEMP_UntilFollyUpdate/lang/ToAscii.h +182 -0
- package/Libraries/ActionSheetIOS/ActionSheetIOS.js +7 -0
- package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +1 -0
- package/Libraries/Alert/Alert.windows.js +2 -2
- package/Libraries/Animated/AnimatedImplementation.js +1 -1
- package/Libraries/Animated/NativeAnimatedHelper.js +55 -9
- package/Libraries/Animated/NativeAnimatedModule.js +1 -0
- package/Libraries/Animated/NativeAnimatedTurboModule.js +1 -0
- package/Libraries/Animated/animations/TimingAnimation.js +6 -11
- package/Libraries/Animated/createAnimatedComponent.js +2 -2
- package/Libraries/Animated/nodes/AnimatedColor.js +95 -29
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +19 -22
- package/Libraries/Animated/nodes/AnimatedNode.js +2 -2
- package/Libraries/Animated/nodes/AnimatedValue.js +1 -1
- package/Libraries/AppState/AppState.js +1 -1
- package/Libraries/Blob/URL.js +7 -1
- package/Libraries/Components/Button.js +3 -0
- package/Libraries/Components/Button.windows.js +4 -0
- package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +5 -0
- package/Libraries/Components/Pressable/Pressable.js +3 -3
- package/Libraries/Components/Pressable/Pressable.windows.js +3 -3
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +47 -38
- package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +15 -7
- package/Libraries/Components/ScrollView/ScrollView.js +1 -1
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +16 -3
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +3 -1
- package/Libraries/Components/Slider/Slider.js +0 -2
- package/Libraries/Components/Slider/SliderNativeComponent.js +0 -1
- package/Libraries/Components/StatusBar/StatusBar.js +6 -1
- package/Libraries/Components/Switch/Switch.js +11 -1
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +114 -109
- package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +17 -9
- package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +13 -5
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +10 -0
- package/Libraries/Components/TextInput/TextInput.js +1 -8
- package/Libraries/Components/TextInput/TextInput.windows.js +4 -9
- package/Libraries/Components/TextInput/TextInputState.js +10 -2
- package/Libraries/Components/TextInput/TextInputState.windows.js +10 -3
- package/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js +1 -1
- package/Libraries/Components/Touchable/TouchableBounce.js +1 -0
- package/Libraries/Components/Touchable/TouchableHighlight.js +1 -0
- package/Libraries/Components/Touchable/TouchableHighlight.windows.js +6 -5
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -0
- package/Libraries/Components/Touchable/TouchableOpacity.js +7 -1
- package/Libraries/Components/Touchable/TouchableOpacity.windows.js +11 -5
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +2 -0
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +2 -0
- package/Libraries/Components/View/ReactNativeViewAttributes.js +1 -0
- package/Libraries/Components/View/ReactNativeViewAttributes.windows.js +1 -0
- package/Libraries/Components/View/View.windows.js +33 -1
- package/Libraries/Components/View/ViewNativeComponent.js +68 -8
- package/Libraries/Components/View/ViewPropTypes.js +36 -4
- package/Libraries/Components/View/ViewPropTypes.windows.js +36 -4
- package/Libraries/Core/Devtools/parseHermesStack.js +1 -1
- package/Libraries/Core/ExceptionsManager.js +1 -1
- package/Libraries/Core/RawEventEmitter.js +38 -0
- package/Libraries/Core/ReactNativeVersion.js +2 -2
- package/Libraries/Core/polyfillPromise.js +32 -0
- package/Libraries/Core/setUpReactDevTools.js +3 -2
- package/Libraries/EventEmitter/NativeEventEmitter.js +3 -3
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +2 -1
- package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +3 -3
- package/Libraries/Events/CustomEvent.js +32 -0
- package/Libraries/Events/EventPolyfill.js +239 -0
- package/Libraries/Image/Image.android.js +0 -6
- package/Libraries/Image/Image.ios.js +0 -6
- package/Libraries/Image/Image.windows.js +2 -8
- package/Libraries/Image/ImageViewNativeComponent.js +18 -3
- package/Libraries/Image/TextInlineImageNativeComponent.js +23 -15
- package/Libraries/Inspector/Inspector.js +2 -4
- package/Libraries/Interaction/BridgeSpyStallHandler.js +4 -3
- package/Libraries/Interaction/InteractionManager.js +1 -12
- package/Libraries/Interaction/TaskQueue.js +5 -4
- package/Libraries/LayoutAnimation/LayoutAnimation.js +13 -0
- package/Libraries/Linking/Linking.js +1 -1
- package/Libraries/Lists/FlatList.js +27 -6
- package/Libraries/Lists/VirtualizedList.js +71 -55
- package/Libraries/Lists/VirtualizedListContext.js +7 -3
- package/Libraries/Lists/VirtualizedSectionList.js +2 -2
- package/Libraries/Lists/__tests__/{FillRateHelper-test.windows.js → FillRateHelper-test.js} +2 -2
- package/Libraries/Lists/__tests__/{FlatList-test.windows.js → FlatList-test.js} +2 -2
- package/Libraries/Lists/__tests__/{SectionList-test.windows.js → SectionList-test.js} +14 -14
- package/Libraries/Lists/__tests__/{VirtualizeUtils-test.windows.js → VirtualizeUtils-test.js} +3 -3
- package/Libraries/Lists/__tests__/{VirtualizedList-test.windows.js → VirtualizedList-test.js} +91 -42
- package/Libraries/Lists/__tests__/{VirtualizedSectionList-test.windows.js → VirtualizedSectionList-test.js} +13 -13
- package/Libraries/LogBox/Data/LogBoxData.js +2 -2
- package/Libraries/LogBox/Data/LogBoxLog.js +1 -1
- package/Libraries/LogBox/Data/LogBoxSymbolication.js +1 -1
- package/Libraries/LogBox/Data/parseLogBoxLog.js +1 -1
- package/Libraries/LogBox/LogBox.js +2 -21
- package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +1 -0
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +2 -1
- package/Libraries/NativeComponent/BaseViewConfig.android.js +295 -0
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +333 -0
- package/Libraries/NativeComponent/BaseViewConfig.windows.js +334 -0
- package/Libraries/NativeComponent/NativeComponentRegistry.js +0 -2
- package/Libraries/NativeComponent/PlatformBaseViewConfig.js +24 -0
- package/Libraries/NativeComponent/StaticViewConfigValidator.js +7 -42
- package/Libraries/NativeComponent/ViewConfig.js +4 -4
- package/Libraries/NativeComponent/ViewConfigIgnore.js +54 -0
- package/Libraries/Network/FormData.js +7 -1
- package/Libraries/Pressability/Pressability.js +115 -46
- package/Libraries/Pressability/Pressability.windows.js +190 -74
- package/Libraries/Pressability/PressabilityDebug.js +5 -9
- package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +1 -0
- package/Libraries/ReactNative/AppContainer.js +1 -1
- package/Libraries/ReactNative/{DummyUIManager.js → BridgelessUIManager.js} +62 -40
- package/Libraries/ReactNative/PaperUIManager.windows.js +5 -5
- package/Libraries/ReactNative/ReactNativeFeatureFlags.js +39 -0
- package/Libraries/ReactNative/UIManager.js +2 -3
- package/Libraries/ReactNative/renderApplication.js +4 -0
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +8 -0
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +5908 -4906
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +2100 -1918
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +2567 -2352
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +5610 -4844
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +1710 -1556
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +1830 -1639
- package/Libraries/Renderer/shims/ReactNativeTypes.js +2 -1
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +2 -1
- package/Libraries/StyleSheet/EdgeInsetsPropType.js +4 -1
- package/Libraries/StyleSheet/StyleSheetTypes.js +59 -66
- package/Libraries/StyleSheet/normalizeColor.js +1 -1
- package/Libraries/StyleSheet/private/_StyleSheetTypesOverrides.js +15 -0
- package/Libraries/StyleSheet/private/_TransformStyle.js +53 -0
- package/Libraries/StyleSheet/processTransform.windows.js +272 -0
- package/Libraries/Text/Text.js +13 -7
- package/Libraries/Text/Text.windows.js +16 -7
- package/Libraries/Text/TextNativeComponent.js +2 -0
- package/Libraries/Text/TextProps.js +10 -0
- package/Libraries/Types/CoreEventTypes.js +13 -1
- package/Libraries/Types/CoreEventTypes.windows.js +26 -1
- package/Libraries/Utilities/Appearance.js +0 -8
- package/Libraries/Utilities/HMRClient.js +1 -1
- package/Libraries/Utilities/ReactNativeTestTools.js +1 -0
- package/Libraries/Utilities/codegenNativeComponent.js +17 -6
- package/Libraries/Utilities/stringifySafe.js +4 -1
- package/Libraries/Utilities/verifyComponentAttributeEquivalence.js +3 -3
- package/Libraries/WebSocket/WebSocket.js +1 -1
- package/Libraries/vendor/emitter/_EmitterSubscription.js +1 -1
- package/Libraries/vendor/emitter/_EventEmitter.js +1 -1
- package/Libraries/vendor/emitter/_EventSubscription.js +1 -1
- package/Microsoft.ReactNative/Base/CoreNativeModules.cpp +1 -4
- package/Microsoft.ReactNative/DynamicReader.cpp +3 -3
- package/Microsoft.ReactNative/Fabric/ComponentView.h +1 -0
- package/Microsoft.ReactNative/Fabric/ComponentViewRegistry.cpp +36 -2
- package/Microsoft.ReactNative/Fabric/ComponentViewRegistry.h +1 -0
- package/Microsoft.ReactNative/Fabric/DWriteHelpers.cpp +19 -0
- package/Microsoft.ReactNative/Fabric/DWriteHelpers.h +13 -0
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +65 -19
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +2 -0
- package/Microsoft.ReactNative/Fabric/ParagraphComponentView.cpp +36 -10
- package/Microsoft.ReactNative/Fabric/ScrollViewComponentView.cpp +2 -0
- package/Microsoft.ReactNative/Fabric/SliderComponentView.cpp +107 -0
- package/Microsoft.ReactNative/Fabric/SliderComponentView.h +51 -0
- package/Microsoft.ReactNative/Fabric/SwitchComponentView.cpp +109 -0
- package/Microsoft.ReactNative/Fabric/SwitchComponentView.h +52 -0
- package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputComponentDescriptor.h +197 -0
- package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputComponentView.cpp +308 -0
- package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputComponentView.h +52 -0
- package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputEventEmitter.cpp +31 -0
- package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputEventEmitter.h +33 -0
- package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputProps.cpp +81 -0
- package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputProps.h +132 -0
- package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputShadowNode.cpp +193 -0
- package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputShadowNode.h +85 -0
- package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputState.cpp +76 -0
- package/Microsoft.ReactNative/Fabric/TextInput/WindowsTextInputState.h +99 -0
- package/Microsoft.ReactNative/Fabric/ViewComponentView.cpp +35 -3
- package/Microsoft.ReactNative/Fabric/ViewComponentView.h +1 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rncore/EventEmitters.h +5 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rncore/Props.h +5 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/slider/SliderMeasurementsManager.cpp +46 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/slider/SliderMeasurementsManager.h +30 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.cpp +2 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/conversions.h +1 -9
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/platform/cxx/react/renderer/graphics/Color.h +3 -1
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.cpp +119 -57
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.h +18 -1
- package/Microsoft.ReactNative/IViewManager.idl +3 -3
- package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +13 -107
- package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj.filters +2 -2
- package/Microsoft.ReactNative/Modules/AppStateModule.cpp +2 -0
- package/Microsoft.ReactNative/Modules/AppStateModule.h +2 -0
- package/Microsoft.ReactNative/Modules/CreateModules.cpp +3 -3
- package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +7 -5
- package/Microsoft.ReactNative/Modules/TimingModule.cpp +2 -2
- package/Microsoft.ReactNative/Modules/TimingModule.h +2 -2
- package/Microsoft.ReactNative/ReactHost/{ReactContext.cpp → MsoReactContext.cpp} +1 -1
- package/Microsoft.ReactNative/ReactHost/{ReactContext.h → MsoReactContext.h} +0 -0
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +15 -2
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +1 -1
- package/Microsoft.ReactNative/ReactHost/ReactNativeHeaders.h +1 -1
- package/Microsoft.ReactNative/ReactInstanceSettings.idl +12 -2
- package/Microsoft.ReactNative/ReactPackageBuilder.cpp +1 -1
- package/Microsoft.ReactNative/ReactRootView.cpp +2 -1
- package/Microsoft.ReactNative/RedBox.cpp +3 -2
- package/Microsoft.ReactNative/TurboModulesProvider.cpp +3 -2
- package/Microsoft.ReactNative/TurboModulesProvider.h +4 -1
- package/Microsoft.ReactNative/Utils/LocalBundleReader.cpp +41 -0
- package/Microsoft.ReactNative/Utils/ValueUtils.cpp +3 -2
- package/Microsoft.ReactNative/Views/ControlViewManager.cpp +32 -0
- package/Microsoft.ReactNative/Views/ControlViewManager.h +11 -0
- package/Microsoft.ReactNative/Views/DevMenu.cpp +2 -2
- package/Microsoft.ReactNative/Views/FrameworkElementTransferProperties.cpp +13 -2
- package/Microsoft.ReactNative/Views/FrameworkElementViewManager.cpp +149 -22
- package/Microsoft.ReactNative/Views/Image/ImageViewManager.cpp +1 -1
- package/Microsoft.ReactNative/Views/Image/Microsoft.UI.Composition.Effects_Impl.h +5 -11
- package/Microsoft.ReactNative/Views/Image/ReactImage.cpp +2 -1
- package/Microsoft.ReactNative/Views/SliderViewManager.cpp +12 -4
- package/Microsoft.ReactNative/Views/TextInputViewManager.cpp +1 -1
- package/Microsoft.ReactNative/Views/TextViewManager.cpp +2 -2
- package/Microsoft.ReactNative/Views/TouchEventHandler.cpp +163 -37
- package/Microsoft.ReactNative/Views/TouchEventHandler.h +11 -4
- package/Microsoft.ReactNative/Views/ViewPanel.cpp +3 -23
- package/Microsoft.ReactNative/Views/ViewPanel.h +2 -3
- package/Microsoft.ReactNative/Views/ViewViewManager.cpp +21 -0
- package/Microsoft.ReactNative/XamlUIService.cpp +1 -1
- package/Microsoft.ReactNative/XamlView.h +8 -3
- package/Microsoft.ReactNative.Cxx/CppWinRTIncludes.h +3 -5
- package/Microsoft.ReactNative.Cxx/DesktopWindowBridge.h +1 -1
- package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.cpp +11 -2
- package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.h +1 -0
- package/Microsoft.ReactNative.Cxx/JSI/NodeApiJsiRuntime.cpp +19 -14
- package/Microsoft.ReactNative.Cxx/JSI/NodeApiJsiRuntime.h +4 -0
- package/Microsoft.ReactNative.Cxx/JSValueReader.h +2 -2
- package/Microsoft.ReactNative.Cxx/JSValueWriter.h +5 -5
- package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +5 -1
- package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems.filters +2 -3
- package/Microsoft.ReactNative.Cxx/NativeModules.h +3 -3
- package/Microsoft.ReactNative.Cxx/ReactContext.h +3 -3
- package/Microsoft.ReactNative.Cxx/ReactNonAbiValue.h +3 -3
- package/Microsoft.ReactNative.Cxx/XamlUtils.h +44 -5
- package/Microsoft.ReactNative.Managed/Microsoft.ReactNative.Managed.csproj +0 -6
- package/Mso/activeObject/activeObject.h +2 -2
- package/Mso/compilerAdapters/cppMacros.h +3 -5
- package/Mso/errorCode/errorProvider.h +2 -2
- package/Mso/errorCode/maybe.h +4 -4
- package/Mso/functional/functor.h +6 -6
- package/Mso/functional/functorRef.h +2 -2
- package/Mso/future/details/executor.h +2 -2
- package/Mso/future/details/futureFuncInl.h +4 -4
- package/Mso/future/details/ifuture.h +3 -3
- package/Mso/future/details/maybeInvoker.h +6 -6
- package/Mso/future/details/promiseGroupInl.h +4 -4
- package/Mso/future/details/promiseInl.h +4 -4
- package/Mso/future/details/resultTraits.h +4 -4
- package/Mso/future/details/whenAllInl.h +1 -1
- package/Mso/future/future.h +13 -13
- package/Mso/guid/msoGuidDetails.h +1 -1
- package/Mso/memoryApi/memoryApi.h +13 -7
- package/Mso/motifCpp/gTestAdapter.h +1 -1
- package/Mso/motifCpp/testInfo.h +7 -9
- package/Mso/object/make.h +8 -8
- package/Mso/object/objectRefCount.h +3 -5
- package/Mso/object/objectWithWeakRef.h +10 -14
- package/Mso/object/queryCast.h +4 -4
- package/Mso/object/refCountedObject.h +4 -4
- package/Mso/object/unknownObject.h +7 -7
- package/Mso/platformAdapters/windowsFirst.h +1 -1
- package/Mso/smartPtr/cntPtr.h +8 -8
- package/Mso/src/dispatchQueue/threadPoolScheduler_win.cpp +96 -4
- package/Mso/src/dispatchQueue/uiScheduler_winrt.cpp +2 -2
- package/Mso/src/future/futureImpl.h +1 -1
- package/Mso/src/memoryApi/memoryApi.cpp +4 -4
- package/PropertySheets/CppAppConsumeCSharpModule.props +3 -0
- package/PropertySheets/External/Microsoft.ReactNative.WinAppSDK.CSharpApp.props +26 -0
- package/PropertySheets/External/Microsoft.ReactNative.WinAppSDK.Common.props +12 -0
- package/PropertySheets/Generated/PackageVersion.g.props +3 -3
- package/PropertySheets/JSEngine.props +1 -1
- package/PropertySheets/React.Cpp.props +13 -0
- package/PropertySheets/WinUI.props +3 -6
- package/ReactCommon/ReactCommon.vcxproj +2 -4
- package/ReactCommon/ReactCommon.vcxproj.filters +4 -1
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/JSCRuntime.cpp +1480 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/decorator.h +753 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/jsi.h +1331 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +1431 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/CallbackWrapper.h +103 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModule.h +87 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +61 -0
- package/ReactCommon/Yoga.cpp +1 -1
- package/Scripts/{Microsoft.ReactNative.ProjectReunion.nuspec → Microsoft.ReactNative.WindowsAppSDK.nuspec} +7 -9
- package/Scripts/OfficeReact.Win32.nuspec +1 -3
- package/Scripts/Tfs/Layout-MSRN-Headers.ps1 +2 -1
- package/Scripts/copyRNLibraries.js +8 -8
- package/Scripts/just.js +1 -1
- package/Scripts/rnw-dependencies.ps1 +41 -10
- package/Scripts/run-desktop-integration-tests.js +6 -6
- package/Shared/AbiSafe.h +3 -3
- package/Shared/BaseScriptStoreImpl.cpp +1 -1
- package/Shared/CppRuntimeOptions.h +50 -0
- package/Shared/CreateModules.h +4 -0
- package/Shared/DevSupportManager.cpp +34 -33
- package/Shared/DevSupportManager.h +1 -2
- package/Shared/HermesRuntimeHolder.cpp +23 -14
- package/Shared/HermesRuntimeHolder.h +8 -2
- package/Shared/IDevSupportManager.h +1 -2
- package/Shared/InspectorPackagerConnection.cpp +7 -5
- package/Shared/InspectorPackagerConnection.h +2 -2
- package/Shared/JSI/ChakraApi.cpp +0 -1
- package/Shared/JSI/ChakraRuntime.cpp +1 -2
- package/Shared/JSI/NapiJsiV8RuntimeHolder.h +1 -1
- package/Shared/JSI/RuntimeHolder.h +2 -0
- package/Shared/Modules/HttpModule.cpp +198 -0
- package/Shared/Modules/HttpModule.h +53 -0
- package/Shared/Modules/WebSocketModule.cpp +5 -1
- package/Shared/Modules/WebSocketModule.h +8 -5
- package/Shared/Networking/IHttpResource.h +53 -0
- package/Shared/{IWebSocketResource.h → Networking/IWebSocketResource.h} +3 -3
- package/Shared/Networking/OriginPolicy.h +15 -0
- package/Shared/Networking/OriginPolicyHttpFilter.cpp +746 -0
- package/Shared/Networking/OriginPolicyHttpFilter.h +112 -0
- package/Shared/Networking/WinRTHttpResource.cpp +347 -0
- package/Shared/Networking/WinRTHttpResource.h +67 -0
- package/Shared/Networking/WinRTTypes.h +30 -0
- package/Shared/{WinRTWebSocketResource.cpp → Networking/WinRTWebSocketResource.cpp} +31 -22
- package/Shared/{WinRTWebSocketResource.h → Networking/WinRTWebSocketResource.h} +3 -3
- package/Shared/OInstance.cpp +37 -11
- package/Shared/RuntimeOptions.cpp +93 -15
- package/Shared/RuntimeOptions.h +22 -9
- package/Shared/Shared.vcxitems +126 -5
- package/Shared/Shared.vcxitems.filters +55 -15
- package/Shared/Threading/BatchingQueueThread.cpp +1 -1
- package/Shared/Utils/WinRTConversions.cpp +22 -0
- package/Shared/Utils/WinRTConversions.h +15 -0
- package/Shared/tracing/fbsystrace.h +2 -2
- package/codegen/NativeActionSheetManagerSpec.g.h +6 -0
- package/codegen/NativeAnimatedModuleSpec.g.h +43 -37
- package/codegen/NativeAnimatedTurboModuleSpec.g.h +43 -37
- package/codegen/NativePushNotificationManagerIOSSpec.g.h +2 -0
- package/codegen/react/components/rnwcore/ComponentDescriptors.h +0 -1
- package/codegen/react/components/rnwcore/EventEmitters.cpp +133 -0
- package/codegen/react/components/rnwcore/EventEmitters.h +0 -18
- package/codegen/react/components/rnwcore/Props.cpp +0 -13
- package/codegen/react/components/rnwcore/Props.h +0 -16
- package/codegen/react/components/rnwcore/ShadowNodes.cpp +0 -1
- package/codegen/react/components/rnwcore/ShadowNodes.h +0 -10
- package/include/Shared/cdebug.h +9 -9
- package/index.js +30 -25
- package/index.windows.js +30 -25
- package/jest/preprocessor.js +24 -107
- package/jest/preprocessor_DO_NOT_USE.js +122 -0
- package/metro.config.js +3 -70
- package/package.json +29 -28
- package/react-native.config.js +40 -6
- package/rntypes/index.d.ts +19 -7
- package/stubs/glog/logging.h +1 -1
- package/template/cpp-app/src/App.h +0 -4
- package/template/cs-app/src/App.xaml.cs +0 -5
- package/template/cs-app/src/MainPage.xaml.cs +1 -10
- package/template/cs-app-WinAppSDK/MyApp/App.xaml +16 -0
- package/template/cs-app-WinAppSDK/MyApp/App.xaml.cs +70 -0
- package/template/cs-app-WinAppSDK/MyApp/MainWindow.xaml +14 -0
- package/template/cs-app-WinAppSDK/MyApp/MainWindow.xaml.cs +38 -0
- package/template/cs-app-WinAppSDK/MyApp/Package.appxmanifest +48 -0
- package/template/cs-app-WinAppSDK/MyApp/Properties/PublishProfiles/win10-arm64.pubxml +19 -0
- package/template/cs-app-WinAppSDK/MyApp/Properties/PublishProfiles/win10-x64.pubxml +19 -0
- package/template/cs-app-WinAppSDK/MyApp/Properties/PublishProfiles/win10-x86.pubxml +19 -0
- package/template/cs-app-WinAppSDK/MyApp/Properties/launchSettings.json +10 -0
- package/template/cs-app-WinAppSDK/MyApp/app.manifest +15 -0
- package/template/cs-app-WinAppSDK/proj/ExperimentalFeatures.props +23 -0
- package/template/cs-app-WinAppSDK/proj/MyApp.csproj +49 -0
- package/template/cs-app-WinAppSDK/proj/MyApp.sln +43 -0
- package/template/cs-app-WinAppSDK/proj/NuGet.Config +17 -0
- package/template/metro.devMode.config.js +2 -51
- package/typings-index.js +5 -1
- package/typings-index.js.map +1 -1
- package/Libraries/Components/SegmentedControlIOS/RCTSegmentedControlNativeComponent.js +0 -44
- package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.android.js +0 -45
- package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.ios.js +0 -123
- package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.windows.js +0 -45
- package/Libraries/Components/View/ReactNativeViewViewConfig.js +0 -360
- package/Libraries/Components/View/ReactNativeViewViewConfig.windows.js +0 -390
- package/Libraries/Components/View/ReactNativeViewViewConfigAndroid.js +0 -83
- package/Libraries/ReactNative/UIManagerInjection.js +0 -15
- package/Libraries/Renderer/implementations/ReactFabric-dev.fb.js +0 -24527
- package/Libraries/Renderer/implementations/ReactFabric-prod.fb.js +0 -8309
- package/Libraries/Renderer/implementations/ReactFabric-profiling.fb.js +0 -8961
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.fb.js +0 -24948
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.fb.js +0 -8400
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.fb.js +0 -9049
- package/PropertySheets/CppEnablePackageReferences.props +0 -13
- package/Shared/IHttpResource.h +0 -34
- package/Shared/cdebug.cpp +0 -6
- package/include/Shared/ViewManager.h +0 -34
|
@@ -271,6 +271,7 @@ class TouchableNativeFeedback extends React.Component<Props, State> {
|
|
|
271
271
|
),
|
|
272
272
|
accessible: this.props.accessible !== false,
|
|
273
273
|
accessibilityHint: this.props.accessibilityHint,
|
|
274
|
+
accessibilityLanguage: this.props.accessibilityLanguage,
|
|
274
275
|
accessibilityLabel: this.props.accessibilityLabel,
|
|
275
276
|
accessibilityRole: this.props.accessibilityRole,
|
|
276
277
|
accessibilityState: accessibilityState,
|
|
@@ -225,6 +225,7 @@ class TouchableOpacity extends React.Component<Props, State> {
|
|
|
225
225
|
accessible={this.props.accessible !== false}
|
|
226
226
|
accessibilityLabel={this.props.accessibilityLabel}
|
|
227
227
|
accessibilityHint={this.props.accessibilityHint}
|
|
228
|
+
accessibilityLanguage={this.props.accessibilityLanguage}
|
|
228
229
|
accessibilityRole={this.props.accessibilityRole}
|
|
229
230
|
accessibilityState={accessibilityState}
|
|
230
231
|
accessibilityActions={this.props.accessibilityActions}
|
|
@@ -260,7 +261,12 @@ class TouchableOpacity extends React.Component<Props, State> {
|
|
|
260
261
|
|
|
261
262
|
componentDidUpdate(prevProps: Props, prevState: State) {
|
|
262
263
|
this.state.pressability.configure(this._createPressabilityConfig());
|
|
263
|
-
if (
|
|
264
|
+
if (
|
|
265
|
+
this.props.disabled !== prevProps.disabled ||
|
|
266
|
+
(flattenStyle(prevProps.style)?.opacity !==
|
|
267
|
+
flattenStyle(this.props.style)?.opacity) !==
|
|
268
|
+
undefined
|
|
269
|
+
) {
|
|
264
270
|
this._opacityInactive(250);
|
|
265
271
|
}
|
|
266
272
|
}
|
|
@@ -146,7 +146,7 @@ class TouchableOpacity extends React.Component<Props, State> {
|
|
|
146
146
|
pressRectOffset: this.props.pressRetentionOffset,
|
|
147
147
|
onMouseEnter: this.props.onMouseEnter, // [Windows]
|
|
148
148
|
onMouseLeave: this.props.onMouseLeave, // [Windows]
|
|
149
|
-
onBlur:
|
|
149
|
+
onBlur: event => {
|
|
150
150
|
if (Platform.isTV) {
|
|
151
151
|
this._opacityInactive(250);
|
|
152
152
|
}
|
|
@@ -154,7 +154,7 @@ class TouchableOpacity extends React.Component<Props, State> {
|
|
|
154
154
|
this.props.onBlur(event);
|
|
155
155
|
}
|
|
156
156
|
},
|
|
157
|
-
onFocus:
|
|
157
|
+
onFocus: event => {
|
|
158
158
|
if (Platform.isTV) {
|
|
159
159
|
this._opacityActive(150);
|
|
160
160
|
}
|
|
@@ -164,7 +164,7 @@ class TouchableOpacity extends React.Component<Props, State> {
|
|
|
164
164
|
},
|
|
165
165
|
onLongPress: this.props.onLongPress,
|
|
166
166
|
onPress: this.props.onPress,
|
|
167
|
-
onPressIn:
|
|
167
|
+
onPressIn: event => {
|
|
168
168
|
this._opacityActive(
|
|
169
169
|
event.dispatchConfig.registrationName === 'onResponderGrant'
|
|
170
170
|
? 0
|
|
@@ -174,7 +174,7 @@ class TouchableOpacity extends React.Component<Props, State> {
|
|
|
174
174
|
this.props.onPressIn(event);
|
|
175
175
|
}
|
|
176
176
|
},
|
|
177
|
-
onPressOut:
|
|
177
|
+
onPressOut: event => {
|
|
178
178
|
this._opacityInactive(250);
|
|
179
179
|
if (this.props.onPressOut != null) {
|
|
180
180
|
this.props.onPressOut(event);
|
|
@@ -232,6 +232,7 @@ class TouchableOpacity extends React.Component<Props, State> {
|
|
|
232
232
|
accessible={this.props.accessible !== false}
|
|
233
233
|
accessibilityLabel={this.props.accessibilityLabel}
|
|
234
234
|
accessibilityHint={this.props.accessibilityHint}
|
|
235
|
+
accessibilityLanguage={this.props.accessibilityLanguage}
|
|
235
236
|
accessibilityRole={this.props.accessibilityRole}
|
|
236
237
|
accessibilityState={accessibilityState}
|
|
237
238
|
accessibilityActions={this.props.accessibilityActions}
|
|
@@ -274,7 +275,12 @@ class TouchableOpacity extends React.Component<Props, State> {
|
|
|
274
275
|
|
|
275
276
|
componentDidUpdate(prevProps: Props, prevState: State) {
|
|
276
277
|
this.state.pressability.configure(this._createPressabilityConfig());
|
|
277
|
-
if (
|
|
278
|
+
if (
|
|
279
|
+
this.props.disabled !== prevProps.disabled ||
|
|
280
|
+
(flattenStyle(prevProps.style)?.opacity !==
|
|
281
|
+
flattenStyle(this.props.style)?.opacity) !==
|
|
282
|
+
undefined
|
|
283
|
+
) {
|
|
278
284
|
this._opacityInactive(250);
|
|
279
285
|
}
|
|
280
286
|
}
|
|
@@ -33,6 +33,7 @@ type Props = $ReadOnly<{|
|
|
|
33
33
|
accessibilityActions?: ?$ReadOnlyArray<AccessibilityActionInfo>,
|
|
34
34
|
accessibilityElementsHidden?: ?boolean,
|
|
35
35
|
accessibilityHint?: ?Stringish,
|
|
36
|
+
accessibilityLanguage?: ?Stringish,
|
|
36
37
|
accessibilityIgnoresInvertColors?: ?boolean,
|
|
37
38
|
accessibilityLabel?: ?Stringish,
|
|
38
39
|
accessibilityLiveRegion?: ?('none' | 'polite' | 'assertive'),
|
|
@@ -72,6 +73,7 @@ const PASSTHROUGH_PROPS = [
|
|
|
72
73
|
'accessibilityActions',
|
|
73
74
|
'accessibilityElementsHidden',
|
|
74
75
|
'accessibilityHint',
|
|
76
|
+
'accessibilityLanguage',
|
|
75
77
|
'accessibilityIgnoresInvertColors',
|
|
76
78
|
'accessibilityLabel',
|
|
77
79
|
'accessibilityLiveRegion',
|
|
@@ -34,6 +34,7 @@ type Props = $ReadOnly<{|
|
|
|
34
34
|
accessibilityActions?: ?$ReadOnlyArray<AccessibilityActionInfo>,
|
|
35
35
|
accessibilityElementsHidden?: ?boolean,
|
|
36
36
|
accessibilityHint?: ?Stringish,
|
|
37
|
+
accessibilityLanguage?: ?Stringish,
|
|
37
38
|
accessibilityIgnoresInvertColors?: ?boolean,
|
|
38
39
|
accessibilityLabel?: ?Stringish,
|
|
39
40
|
accessibilityLiveRegion?: ?('none' | 'polite' | 'assertive'),
|
|
@@ -80,6 +81,7 @@ const PASSTHROUGH_PROPS = [
|
|
|
80
81
|
'accessibilityActions',
|
|
81
82
|
'accessibilityElementsHidden',
|
|
82
83
|
'accessibilityHint',
|
|
84
|
+
'accessibilityLanguage',
|
|
83
85
|
'accessibilityIgnoresInvertColors',
|
|
84
86
|
'accessibilityLabel',
|
|
85
87
|
'accessibilityLiveRegion',
|
|
@@ -75,13 +75,33 @@ const View: React.AbstractComponent<
|
|
|
75
75
|
props.onKeyUpCapture && props.onKeyUpCapture(event);
|
|
76
76
|
};
|
|
77
77
|
|
|
78
|
+
// [Windows
|
|
79
|
+
const childrenWithImportantForAccessibility = children => {
|
|
80
|
+
return React.Children.map(children, child => {
|
|
81
|
+
if (React.isValidElement(child)) {
|
|
82
|
+
if (child.props.children) {
|
|
83
|
+
return React.cloneElement(child, {
|
|
84
|
+
accessible: false,
|
|
85
|
+
children: childrenWithImportantForAccessibility(
|
|
86
|
+
child.props.children,
|
|
87
|
+
),
|
|
88
|
+
});
|
|
89
|
+
} else {
|
|
90
|
+
return React.cloneElement(child, {accessible: false});
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return child;
|
|
94
|
+
});
|
|
95
|
+
};
|
|
96
|
+
// Windows]
|
|
97
|
+
|
|
78
98
|
return (
|
|
79
99
|
// [Windows
|
|
80
100
|
// In core this is a TextAncestor.Provider value={false} See
|
|
81
101
|
// https://github.com/facebook/react-native/commit/66601e755fcad10698e61d20878d52194ad0e90c
|
|
82
102
|
// But since Views are not currently supported in Text, we do not need the extra provider
|
|
83
103
|
<TextAncestor.Consumer>
|
|
84
|
-
{
|
|
104
|
+
{hasTextAncestor => {
|
|
85
105
|
invariant(
|
|
86
106
|
!hasTextAncestor,
|
|
87
107
|
'Nesting of <View> within <Text> is not currently supported.',
|
|
@@ -94,6 +114,18 @@ const View: React.AbstractComponent<
|
|
|
94
114
|
onKeyDownCapture={_keyDownCapture}
|
|
95
115
|
onKeyUp={_keyUp}
|
|
96
116
|
onKeyUpCapture={_keyUpCapture}
|
|
117
|
+
// [Windows
|
|
118
|
+
accessible={
|
|
119
|
+
props.importantForAccessibility === 'no-hide-descendants'
|
|
120
|
+
? false
|
|
121
|
+
: props.accessible
|
|
122
|
+
}
|
|
123
|
+
children={
|
|
124
|
+
props.importantForAccessibility === 'no-hide-descendants'
|
|
125
|
+
? childrenWithImportantForAccessibility(props.children)
|
|
126
|
+
: props.children
|
|
127
|
+
}
|
|
128
|
+
// Windows]
|
|
97
129
|
/>
|
|
98
130
|
);
|
|
99
131
|
}}
|
|
@@ -9,19 +9,79 @@
|
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
import * as NativeComponentRegistry from '../../NativeComponent/NativeComponentRegistry';
|
|
12
|
-
import
|
|
13
|
-
|
|
12
|
+
import type {
|
|
13
|
+
HostComponent,
|
|
14
|
+
PartialViewConfig,
|
|
15
|
+
} from '../../Renderer/shims/ReactNativeTypes';
|
|
14
16
|
import codegenNativeCommands from '../../Utilities/codegenNativeCommands';
|
|
15
|
-
import ReactNativeViewViewConfigAndroid from './ReactNativeViewViewConfigAndroid';
|
|
16
17
|
import {type ViewProps as Props} from './ViewPropTypes';
|
|
18
|
+
import Platform from '../../Utilities/Platform';
|
|
19
|
+
|
|
17
20
|
import * as React from 'react';
|
|
18
21
|
|
|
22
|
+
export const __INTERNAL_VIEW_CONFIG: PartialViewConfig =
|
|
23
|
+
Platform.OS === 'android'
|
|
24
|
+
? {
|
|
25
|
+
uiViewClassName: 'RCTView',
|
|
26
|
+
validAttributes: {
|
|
27
|
+
// ReactClippingViewManager @ReactProps
|
|
28
|
+
removeClippedSubviews: true,
|
|
29
|
+
|
|
30
|
+
// ReactViewManager @ReactProps
|
|
31
|
+
accessible: true,
|
|
32
|
+
hasTVPreferredFocus: true,
|
|
33
|
+
nextFocusDown: true,
|
|
34
|
+
nextFocusForward: true,
|
|
35
|
+
nextFocusLeft: true,
|
|
36
|
+
nextFocusRight: true,
|
|
37
|
+
nextFocusUp: true,
|
|
38
|
+
|
|
39
|
+
borderRadius: true,
|
|
40
|
+
borderTopLeftRadius: true,
|
|
41
|
+
borderTopRightRadius: true,
|
|
42
|
+
borderBottomRightRadius: true,
|
|
43
|
+
borderBottomLeftRadius: true,
|
|
44
|
+
borderTopStartRadius: true,
|
|
45
|
+
borderTopEndRadius: true,
|
|
46
|
+
borderBottomStartRadius: true,
|
|
47
|
+
borderBottomEndRadius: true,
|
|
48
|
+
|
|
49
|
+
borderStyle: true,
|
|
50
|
+
hitSlop: true,
|
|
51
|
+
pointerEvents: true,
|
|
52
|
+
nativeBackgroundAndroid: true,
|
|
53
|
+
nativeForegroundAndroid: true,
|
|
54
|
+
needsOffscreenAlphaCompositing: true,
|
|
55
|
+
|
|
56
|
+
borderWidth: true,
|
|
57
|
+
borderLeftWidth: true,
|
|
58
|
+
borderRightWidth: true,
|
|
59
|
+
borderTopWidth: true,
|
|
60
|
+
borderBottomWidth: true,
|
|
61
|
+
borderStartWidth: true,
|
|
62
|
+
borderEndWidth: true,
|
|
63
|
+
|
|
64
|
+
borderColor: {process: require('../../StyleSheet/processColor')},
|
|
65
|
+
borderLeftColor: {process: require('../../StyleSheet/processColor')},
|
|
66
|
+
borderRightColor: {process: require('../../StyleSheet/processColor')},
|
|
67
|
+
borderTopColor: {process: require('../../StyleSheet/processColor')},
|
|
68
|
+
borderBottomColor: {
|
|
69
|
+
process: require('../../StyleSheet/processColor'),
|
|
70
|
+
},
|
|
71
|
+
borderStartColor: {process: require('../../StyleSheet/processColor')},
|
|
72
|
+
borderEndColor: {process: require('../../StyleSheet/processColor')},
|
|
73
|
+
|
|
74
|
+
focusable: true,
|
|
75
|
+
overflow: true,
|
|
76
|
+
backfaceVisibility: true,
|
|
77
|
+
},
|
|
78
|
+
}
|
|
79
|
+
: {
|
|
80
|
+
uiViewClassName: 'RCTView',
|
|
81
|
+
};
|
|
82
|
+
|
|
19
83
|
const ViewNativeComponent: HostComponent<Props> =
|
|
20
|
-
NativeComponentRegistry.get<Props>('RCTView', () =>
|
|
21
|
-
Platform.OS === 'android'
|
|
22
|
-
? ReactNativeViewViewConfigAndroid
|
|
23
|
-
: {uiViewClassName: 'RCTView'},
|
|
24
|
-
);
|
|
84
|
+
NativeComponentRegistry.get<Props>('RCTView', () => __INTERNAL_VIEW_CONFIG);
|
|
25
85
|
|
|
26
86
|
interface NativeCommands {
|
|
27
87
|
+hotspotUpdate: (
|
|
@@ -14,11 +14,12 @@ import type {
|
|
|
14
14
|
BlurEvent,
|
|
15
15
|
FocusEvent,
|
|
16
16
|
MouseEvent,
|
|
17
|
+
PointerEvent,
|
|
17
18
|
PressEvent,
|
|
18
19
|
Layout,
|
|
19
20
|
LayoutEvent,
|
|
20
21
|
} from '../../Types/CoreEventTypes';
|
|
21
|
-
import type {
|
|
22
|
+
import type {EdgeInsetsOrSizeProp} from '../../StyleSheet/EdgeInsetsPropType';
|
|
22
23
|
import type {Node} from 'react';
|
|
23
24
|
import type {ViewStyleProp} from '../../StyleSheet/StyleSheet';
|
|
24
25
|
import type {
|
|
@@ -84,8 +85,29 @@ type DirectEventProps = $ReadOnly<{|
|
|
|
84
85
|
|}>;
|
|
85
86
|
|
|
86
87
|
type MouseEventProps = $ReadOnly<{|
|
|
87
|
-
onMouseEnter?: (event: MouseEvent) => void,
|
|
88
|
-
onMouseLeave?: (event: MouseEvent) => void,
|
|
88
|
+
onMouseEnter?: ?(event: MouseEvent) => void,
|
|
89
|
+
onMouseLeave?: ?(event: MouseEvent) => void,
|
|
90
|
+
|}>;
|
|
91
|
+
|
|
92
|
+
// Experimental/Work in Progress Pointer Event Callbacks (not yet ready for use)
|
|
93
|
+
type PointerEventProps = $ReadOnly<{|
|
|
94
|
+
onPointerEnter?: ?(event: PointerEvent) => void,
|
|
95
|
+
onPointerLeave?: ?(event: PointerEvent) => void,
|
|
96
|
+
onPointerMove?: ?(event: PointerEvent) => void,
|
|
97
|
+
onPointerCancel?: ?(e: PointerEvent) => void,
|
|
98
|
+
onPointerCancelCapture?: ?(e: PointerEvent) => void,
|
|
99
|
+
onPointerDown?: ?(e: PointerEvent) => void,
|
|
100
|
+
onPointerDownCapture?: ?(e: PointerEvent) => void,
|
|
101
|
+
onPointerUp?: ?(e: PointerEvent) => void,
|
|
102
|
+
onPointerUpCapture?: ?(e: PointerEvent) => void,
|
|
103
|
+
|
|
104
|
+
// FIXME: these events are temporary while we converge pointer event handling
|
|
105
|
+
onPointerEnter2?: ?(e: PointerEvent) => void,
|
|
106
|
+
onPointerEnter2Capture?: ?(e: PointerEvent) => void,
|
|
107
|
+
onPointerLeave2?: ?(e: PointerEvent) => void,
|
|
108
|
+
onPointerLeave2Capture?: ?(e: PointerEvent) => void,
|
|
109
|
+
onPointerMove2?: ?(e: PointerEvent) => void,
|
|
110
|
+
onPointerMove2Capture?: ?(e: PointerEvent) => void,
|
|
89
111
|
|}>;
|
|
90
112
|
|
|
91
113
|
type TouchEventProps = $ReadOnly<{|
|
|
@@ -381,6 +403,7 @@ export type ViewProps = $ReadOnly<{|
|
|
|
381
403
|
...DirectEventProps,
|
|
382
404
|
...GestureResponderEventProps,
|
|
383
405
|
...MouseEventProps,
|
|
406
|
+
...PointerEventProps,
|
|
384
407
|
...TouchEventProps,
|
|
385
408
|
...AndroidViewProps,
|
|
386
409
|
...IOSViewProps,
|
|
@@ -415,6 +438,15 @@ export type ViewProps = $ReadOnly<{|
|
|
|
415
438
|
*/
|
|
416
439
|
accessibilityHint?: ?Stringish,
|
|
417
440
|
|
|
441
|
+
/**
|
|
442
|
+
* Indicates to the accessibility services that the UI component is in
|
|
443
|
+
* a specific language. The provided string should be formatted following
|
|
444
|
+
* the BCP 47 specification (https://www.rfc-editor.org/info/bcp47).
|
|
445
|
+
*
|
|
446
|
+
* @platform ios
|
|
447
|
+
*/
|
|
448
|
+
accessibilityLanguage?: ?Stringish,
|
|
449
|
+
|
|
418
450
|
/**
|
|
419
451
|
* Indicates to accessibility services to treat UI component like a specific role.
|
|
420
452
|
*/
|
|
@@ -481,7 +513,7 @@ export type ViewProps = $ReadOnly<{|
|
|
|
481
513
|
*
|
|
482
514
|
* See https://reactnative.dev/docs/view#hitslop
|
|
483
515
|
*/
|
|
484
|
-
hitSlop?: ?
|
|
516
|
+
hitSlop?: ?EdgeInsetsOrSizeProp,
|
|
485
517
|
|
|
486
518
|
/**
|
|
487
519
|
* Controls whether the `View` can be the target of touch events.
|
|
@@ -14,12 +14,13 @@ import type {
|
|
|
14
14
|
BlurEvent,
|
|
15
15
|
FocusEvent,
|
|
16
16
|
MouseEvent,
|
|
17
|
+
PointerEvent,
|
|
17
18
|
PressEvent,
|
|
18
19
|
Layout,
|
|
19
20
|
LayoutEvent,
|
|
20
21
|
KeyEvent, // [Windows]
|
|
21
22
|
} from '../../Types/CoreEventTypes';
|
|
22
|
-
import type {
|
|
23
|
+
import type {EdgeInsetsOrSizeProp} from '../../StyleSheet/EdgeInsetsPropType';
|
|
23
24
|
import type {Node} from 'react';
|
|
24
25
|
import type {ViewStyleProp} from '../../StyleSheet/StyleSheet';
|
|
25
26
|
import type {
|
|
@@ -85,8 +86,29 @@ type DirectEventProps = $ReadOnly<{|
|
|
|
85
86
|
|}>;
|
|
86
87
|
|
|
87
88
|
type MouseEventProps = $ReadOnly<{|
|
|
88
|
-
onMouseEnter?: (event: MouseEvent) => void,
|
|
89
|
-
onMouseLeave?: (event: MouseEvent) => void,
|
|
89
|
+
onMouseEnter?: ?(event: MouseEvent) => void,
|
|
90
|
+
onMouseLeave?: ?(event: MouseEvent) => void,
|
|
91
|
+
|}>;
|
|
92
|
+
|
|
93
|
+
// Experimental/Work in Progress Pointer Event Callbacks (not yet ready for use)
|
|
94
|
+
type PointerEventProps = $ReadOnly<{|
|
|
95
|
+
onPointerEnter?: ?(event: PointerEvent) => void,
|
|
96
|
+
onPointerLeave?: ?(event: PointerEvent) => void,
|
|
97
|
+
onPointerMove?: ?(event: PointerEvent) => void,
|
|
98
|
+
onPointerCancel?: ?(e: PointerEvent) => void,
|
|
99
|
+
onPointerCancelCapture?: ?(e: PointerEvent) => void,
|
|
100
|
+
onPointerDown?: ?(e: PointerEvent) => void,
|
|
101
|
+
onPointerDownCapture?: ?(e: PointerEvent) => void,
|
|
102
|
+
onPointerUp?: ?(e: PointerEvent) => void,
|
|
103
|
+
onPointerUpCapture?: ?(e: PointerEvent) => void,
|
|
104
|
+
|
|
105
|
+
// FIXME: these events are temporary while we converge pointer event handling
|
|
106
|
+
onPointerEnter2?: ?(e: PointerEvent) => void,
|
|
107
|
+
onPointerEnter2Capture?: ?(e: PointerEvent) => void,
|
|
108
|
+
onPointerLeave2?: ?(e: PointerEvent) => void,
|
|
109
|
+
onPointerLeave2Capture?: ?(e: PointerEvent) => void,
|
|
110
|
+
onPointerMove2?: ?(e: PointerEvent) => void,
|
|
111
|
+
onPointerMove2Capture?: ?(e: PointerEvent) => void,
|
|
90
112
|
|}>;
|
|
91
113
|
|
|
92
114
|
type TouchEventProps = $ReadOnly<{|
|
|
@@ -429,6 +451,7 @@ export type ViewProps = $ReadOnly<{|
|
|
|
429
451
|
...DirectEventProps,
|
|
430
452
|
...GestureResponderEventProps,
|
|
431
453
|
...MouseEventProps,
|
|
454
|
+
...PointerEventProps,
|
|
432
455
|
...TouchEventProps,
|
|
433
456
|
...AndroidViewProps,
|
|
434
457
|
...IOSViewProps,
|
|
@@ -464,6 +487,15 @@ export type ViewProps = $ReadOnly<{|
|
|
|
464
487
|
*/
|
|
465
488
|
accessibilityHint?: ?Stringish,
|
|
466
489
|
|
|
490
|
+
/**
|
|
491
|
+
* Indicates to the accessibility services that the UI component is in
|
|
492
|
+
* a specific language. The provided string should be formatted following
|
|
493
|
+
* the BCP 47 specification (https://www.rfc-editor.org/info/bcp47).
|
|
494
|
+
*
|
|
495
|
+
* @platform ios
|
|
496
|
+
*/
|
|
497
|
+
accessibilityLanguage?: ?Stringish,
|
|
498
|
+
|
|
467
499
|
/**
|
|
468
500
|
* Indicates to accessibility services to treat UI component like a specific role.
|
|
469
501
|
*/
|
|
@@ -530,7 +562,7 @@ export type ViewProps = $ReadOnly<{|
|
|
|
530
562
|
*
|
|
531
563
|
* See https://reactnative.dev/docs/view#hitslop
|
|
532
564
|
*/
|
|
533
|
-
hitSlop?: ?
|
|
565
|
+
hitSlop?: ?EdgeInsetsOrSizeProp,
|
|
534
566
|
|
|
535
567
|
/**
|
|
536
568
|
* Controls whether the `View` can be the target of touch events.
|
|
@@ -100,7 +100,7 @@ function parseLine(line: string): ?HermesStackEntry {
|
|
|
100
100
|
|
|
101
101
|
module.exports = function parseHermesStack(stack: string): HermesParsedStack {
|
|
102
102
|
const lines = stack.split(/\n/);
|
|
103
|
-
let entries = [];
|
|
103
|
+
let entries: Array<HermesStackEntryFrame | HermesStackEntrySkipped> = [];
|
|
104
104
|
let lastMessageLine = -1;
|
|
105
105
|
for (let i = 0; i < lines.length; ++i) {
|
|
106
106
|
const line = lines[i];
|
|
@@ -0,0 +1,38 @@
|
|
|
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-local
|
|
8
|
+
* @format
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
import EventEmitter from '../vendor/emitter/EventEmitter';
|
|
12
|
+
import type {IEventEmitter} from '../vendor/emitter/EventEmitter';
|
|
13
|
+
|
|
14
|
+
export type RawEventEmitterEvent = $ReadOnly<{|
|
|
15
|
+
eventName: string,
|
|
16
|
+
// We expect, but do not/cannot require, that nativeEvent is an object
|
|
17
|
+
// with the properties: key, elementType (string), type (string), tag (numeric),
|
|
18
|
+
// and a stateNode of the native element/Fiber the event was emitted to.
|
|
19
|
+
nativeEvent: {[string]: mixed},
|
|
20
|
+
|}>;
|
|
21
|
+
|
|
22
|
+
type RawEventDefinitions = {
|
|
23
|
+
[eventChannel: string]: [RawEventEmitterEvent],
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
const RawEventEmitter: IEventEmitter<RawEventDefinitions> =
|
|
27
|
+
new EventEmitter<RawEventDefinitions>();
|
|
28
|
+
|
|
29
|
+
// See the React renderer / react repo for how this is used.
|
|
30
|
+
// Raw events are emitted here when they are received in JS
|
|
31
|
+
// and before any event Plugins process them or before components
|
|
32
|
+
// have a chance to respond to them. This allows you to implement
|
|
33
|
+
// app-specific perf monitoring, which is unimplemented by default,
|
|
34
|
+
// making this entire RawEventEmitter do nothing by default until
|
|
35
|
+
// *you* add listeners for your own app.
|
|
36
|
+
// Besides perf monitoring and maybe debugging, this RawEventEmitter
|
|
37
|
+
// should not be used.
|
|
38
|
+
export default RawEventEmitter;
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
13
|
const {polyfillGlobal} = require('../Utilities/PolyfillFunctions');
|
|
14
|
+
const warnOnce = require('../Utilities/warnOnce');
|
|
14
15
|
|
|
15
16
|
/**
|
|
16
17
|
* Set up Promise. The native Promise implementation throws the following error:
|
|
@@ -36,3 +37,34 @@ if (global?.HermesInternal?.hasPromise?.()) {
|
|
|
36
37
|
} else {
|
|
37
38
|
polyfillGlobal('Promise', () => require('../Promise'));
|
|
38
39
|
}
|
|
40
|
+
|
|
41
|
+
if (__DEV__) {
|
|
42
|
+
// $FlowFixMe
|
|
43
|
+
const done = Promise.prototype.done;
|
|
44
|
+
if (done != null) {
|
|
45
|
+
let depth = 0;
|
|
46
|
+
/* eslint-disable no-extend-native */
|
|
47
|
+
// $FlowFixMe
|
|
48
|
+
Promise.prototype.done = function () {
|
|
49
|
+
++depth;
|
|
50
|
+
try {
|
|
51
|
+
// Avoid infinite recursion if done() happens to be triggered by warnOnce.
|
|
52
|
+
if (depth === 1) {
|
|
53
|
+
// Warn once per unique call stack. Not super efficient, but we're in
|
|
54
|
+
// __DEV__ and .done() calls are rare to begin with.
|
|
55
|
+
const key = new Error().stack;
|
|
56
|
+
warnOnce(
|
|
57
|
+
key,
|
|
58
|
+
'Promise.prototype.done(): This nonstandard polyfill ' +
|
|
59
|
+
'has been deprecated and will be removed in a future release. ' +
|
|
60
|
+
'Please instead use `.then()`.',
|
|
61
|
+
);
|
|
62
|
+
}
|
|
63
|
+
} finally {
|
|
64
|
+
--depth;
|
|
65
|
+
}
|
|
66
|
+
return done.apply(this, arguments);
|
|
67
|
+
};
|
|
68
|
+
/* eslint-enable no-extend-native */
|
|
69
|
+
}
|
|
70
|
+
}
|
|
@@ -58,12 +58,13 @@ if (__DEV__) {
|
|
|
58
58
|
isWebSocketOpen = true;
|
|
59
59
|
});
|
|
60
60
|
|
|
61
|
-
const
|
|
61
|
+
const ReactNativeStyleAttributes = require('../Components/View/ReactNativeStyleAttributes');
|
|
62
|
+
|
|
62
63
|
reactDevTools.connectToDevTools({
|
|
63
64
|
isAppActive,
|
|
64
65
|
resolveRNStyle: require('../StyleSheet/flattenStyle'),
|
|
65
66
|
nativeStyleEditorValidAttributes: Object.keys(
|
|
66
|
-
|
|
67
|
+
ReactNativeStyleAttributes,
|
|
67
68
|
),
|
|
68
69
|
websocket: ws,
|
|
69
70
|
});
|
|
@@ -10,9 +10,9 @@
|
|
|
10
10
|
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
|
-
import {
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
import type {
|
|
14
|
+
EventSubscription,
|
|
15
|
+
IEventEmitter,
|
|
16
16
|
} from '../vendor/emitter/EventEmitter';
|
|
17
17
|
import Platform from '../Utilities/Platform';
|
|
18
18
|
import RCTDeviceEventEmitter from './RCTDeviceEventEmitter';
|
|
@@ -8,7 +8,8 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import EventEmitter
|
|
11
|
+
import EventEmitter from '../vendor/emitter/EventEmitter';
|
|
12
|
+
import type {IEventEmitter} from '../vendor/emitter/EventEmitter';
|
|
12
13
|
|
|
13
14
|
// FIXME: use typed events
|
|
14
15
|
type RCTDeviceEventDefinitions = $FlowFixMe;
|
|
@@ -8,9 +8,9 @@
|
|
|
8
8
|
* @flow strict-local
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import {
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
import type {
|
|
12
|
+
EventSubscription,
|
|
13
|
+
IEventEmitter,
|
|
14
14
|
} from '../../vendor/emitter/EventEmitter';
|
|
15
15
|
import RCTDeviceEventEmitter from '../RCTDeviceEventEmitter';
|
|
16
16
|
|
|
@@ -0,0 +1,32 @@
|
|
|
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
|
+
* @format
|
|
8
|
+
* @flow strict-local
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
// Make sure global Event is defined
|
|
12
|
+
import EventPolyfill from './EventPolyfill';
|
|
13
|
+
|
|
14
|
+
type CustomEvent$Options = $ReadOnly<{|
|
|
15
|
+
bubbles?: boolean,
|
|
16
|
+
cancelable?: boolean,
|
|
17
|
+
composed?: boolean,
|
|
18
|
+
detail?: {...},
|
|
19
|
+
|}>;
|
|
20
|
+
|
|
21
|
+
class CustomEvent extends EventPolyfill {
|
|
22
|
+
detail: ?{...};
|
|
23
|
+
|
|
24
|
+
constructor(typeArg: string, options: CustomEvent$Options) {
|
|
25
|
+
const {bubbles, cancelable, composed} = options;
|
|
26
|
+
super(typeArg, {bubbles, cancelable, composed});
|
|
27
|
+
|
|
28
|
+
this.detail = options.detail; // this would correspond to `NativeEvent` in SyntheticEvent
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export default CustomEvent;
|