react-native-windows 0.68.3 → 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/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 +14 -1
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +1 -1
- package/Microsoft.ReactNative/ReactHost/ReactNativeHeaders.h +1 -1
- package/Microsoft.ReactNative/ReactRootView.cpp +2 -1
- package/Microsoft.ReactNative/RedBox.cpp +3 -2
- 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 +10 -1
- 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 +1 -1
- 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/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/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/DevSupportManager.cpp +32 -36
- 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/RuntimeHolder.h +2 -0
- package/Shared/Modules/HttpModule.cpp +1 -1
- package/Shared/Modules/HttpModule.h +2 -2
- package/Shared/Modules/WebSocketModule.cpp +1 -1
- package/Shared/Modules/WebSocketModule.h +8 -5
- package/Shared/{IHttpResource.h → Networking/IHttpResource.h} +4 -4
- package/Shared/{IWebSocketResource.h → Networking/IWebSocketResource.h} +2 -2
- package/Shared/Networking/OriginPolicy.h +15 -0
- package/Shared/Networking/OriginPolicyHttpFilter.cpp +746 -0
- package/Shared/Networking/OriginPolicyHttpFilter.h +112 -0
- package/Shared/{WinRTHttpResource.cpp → Networking/WinRTHttpResource.cpp} +129 -99
- package/Shared/{WinRTHttpResource.h → Networking/WinRTHttpResource.h} +8 -12
- package/Shared/Networking/WinRTTypes.h +30 -0
- package/Shared/{WinRTWebSocketResource.cpp → Networking/WinRTWebSocketResource.cpp} +2 -2
- package/Shared/{WinRTWebSocketResource.h → Networking/WinRTWebSocketResource.h} +3 -3
- package/Shared/OInstance.cpp +5 -5
- package/Shared/RuntimeOptions.cpp +93 -15
- package/Shared/RuntimeOptions.h +22 -9
- package/Shared/Shared.vcxitems +122 -7
- package/Shared/Shared.vcxitems.filters +40 -21
- package/Shared/Threading/BatchingQueueThread.cpp +1 -1
- 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/cdebug.cpp +0 -6
- package/include/Shared/ViewManager.h +0 -34
|
@@ -52,11 +52,20 @@ const Text: React.AbstractComponent<
|
|
|
52
52
|
|
|
53
53
|
const [isHighlighted, setHighlighted] = useState(false);
|
|
54
54
|
|
|
55
|
+
const _disabled =
|
|
56
|
+
restProps.disabled != null
|
|
57
|
+
? restProps.disabled
|
|
58
|
+
: props.accessibilityState?.disabled;
|
|
59
|
+
const _accessibilityState =
|
|
60
|
+
_disabled !== props.accessibilityState?.disabled
|
|
61
|
+
? {...props.accessibilityState, disabled: _disabled}
|
|
62
|
+
: props.accessibilityState;
|
|
63
|
+
|
|
55
64
|
const isPressable =
|
|
56
65
|
(onPress != null ||
|
|
57
66
|
onLongPress != null ||
|
|
58
67
|
onStartShouldSetResponder != null) &&
|
|
59
|
-
|
|
68
|
+
_disabled !== true;
|
|
60
69
|
|
|
61
70
|
const initialized = useLazyInitialization(isPressable);
|
|
62
71
|
const config = useMemo(
|
|
@@ -124,6 +133,7 @@ const Text: React.AbstractComponent<
|
|
|
124
133
|
onResponderTerminate(event);
|
|
125
134
|
}
|
|
126
135
|
},
|
|
136
|
+
onClick: eventHandlers.onClick,
|
|
127
137
|
onResponderTerminationRequest:
|
|
128
138
|
eventHandlers.onResponderTerminationRequest,
|
|
129
139
|
onStartShouldSetResponder: eventHandlers.onStartShouldSetResponder,
|
|
@@ -167,6 +177,11 @@ const Text: React.AbstractComponent<
|
|
|
167
177
|
<NativeVirtualText
|
|
168
178
|
{...restProps}
|
|
169
179
|
{...eventHandlersForText}
|
|
180
|
+
disabled={_disabled}
|
|
181
|
+
accessible={accessible !== false}
|
|
182
|
+
accessibilityState={_accessibilityState}
|
|
183
|
+
allowFontScaling={allowFontScaling !== false}
|
|
184
|
+
ellipsizeMode={ellipsizeMode ?? 'tail'}
|
|
170
185
|
isHighlighted={isHighlighted}
|
|
171
186
|
isPressable={isPressable}
|
|
172
187
|
numberOfLines={numberOfLines}
|
|
@@ -253,12 +268,6 @@ const Text: React.AbstractComponent<
|
|
|
253
268
|
|
|
254
269
|
Text.displayName = 'Text';
|
|
255
270
|
|
|
256
|
-
/**
|
|
257
|
-
* Switch to `deprecated-react-native-prop-types` for compatibility with future
|
|
258
|
-
* releases. This is deprecated and will be removed in the future.
|
|
259
|
-
*/
|
|
260
|
-
Text.propTypes = require('deprecated-react-native-prop-types').TextPropTypes;
|
|
261
|
-
|
|
262
271
|
/**
|
|
263
272
|
* Returns false until the first time `newValue` is true, after which this will
|
|
264
273
|
* always return true. This is necessary to lazily initialize `Pressability` so
|
|
@@ -14,11 +14,13 @@ import {type HostComponent} from '../Renderer/shims/ReactNativeTypes';
|
|
|
14
14
|
import createReactNativeComponentClass from '../Renderer/shims/createReactNativeComponentClass';
|
|
15
15
|
import {type ProcessedColorValue} from '../StyleSheet/processColor';
|
|
16
16
|
import {type TextProps} from './TextProps';
|
|
17
|
+
import {type PressEvent} from '../Types/CoreEventTypes';
|
|
17
18
|
|
|
18
19
|
type NativeTextProps = $ReadOnly<{
|
|
19
20
|
...TextProps,
|
|
20
21
|
isHighlighted?: ?boolean,
|
|
21
22
|
selectionColor?: ?ProcessedColorValue,
|
|
23
|
+
onClick?: ?(event: PressEvent) => mixed,
|
|
22
24
|
// This is only needed for platforms that optimize text hit testing, e.g.,
|
|
23
25
|
// react-native-windows. It can be used to only hit test virtual text spans
|
|
24
26
|
// that have pressable events attached to them.
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
|
|
13
13
|
import type {
|
|
14
14
|
LayoutEvent,
|
|
15
|
+
PointerEvent,
|
|
15
16
|
PressEvent,
|
|
16
17
|
TextLayoutEvent,
|
|
17
18
|
} from '../Types/CoreEventTypes';
|
|
@@ -31,10 +32,18 @@ export type PressRetentionOffset = $ReadOnly<{|
|
|
|
31
32
|
right: number,
|
|
32
33
|
|}>;
|
|
33
34
|
|
|
35
|
+
type PointerEventProps = $ReadOnly<{|
|
|
36
|
+
onPointerEnter?: (event: PointerEvent) => void,
|
|
37
|
+
onPointerLeave?: (event: PointerEvent) => void,
|
|
38
|
+
onPointerMove?: (event: PointerEvent) => void,
|
|
39
|
+
|}>;
|
|
40
|
+
|
|
34
41
|
/**
|
|
35
42
|
* @see https://reactnative.dev/docs/text#reference
|
|
36
43
|
*/
|
|
37
44
|
export type TextProps = $ReadOnly<{|
|
|
45
|
+
...PointerEventProps,
|
|
46
|
+
|
|
38
47
|
/**
|
|
39
48
|
* Indicates whether the view is an accessibility element.
|
|
40
49
|
*
|
|
@@ -44,6 +53,7 @@ export type TextProps = $ReadOnly<{|
|
|
|
44
53
|
accessibilityActions?: ?$ReadOnlyArray<AccessibilityActionInfo>,
|
|
45
54
|
onAccessibilityAction?: ?(event: AccessibilityActionEvent) => mixed,
|
|
46
55
|
accessibilityHint?: ?Stringish,
|
|
56
|
+
accessibilityLanguage?: ?Stringish,
|
|
47
57
|
accessibilityLabel?: ?Stringish,
|
|
48
58
|
accessibilityRole?: ?AccessibilityRole,
|
|
49
59
|
accessibilityState?: ?AccessibilityState,
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
import * as React from 'react';
|
|
12
12
|
import type {HostComponent} from '../Renderer/shims/ReactNativeTypes';
|
|
13
13
|
|
|
14
|
-
export type SyntheticEvent
|
|
14
|
+
export type SyntheticEvent<+T> = $ReadOnly<{|
|
|
15
15
|
bubbles: ?boolean,
|
|
16
16
|
cancelable: ?boolean,
|
|
17
17
|
currentTarget: number | React.ElementRef<HostComponent<mixed>>,
|
|
@@ -83,6 +83,18 @@ export type TextLayoutEvent = SyntheticEvent<
|
|
|
83
83
|
|}>,
|
|
84
84
|
>;
|
|
85
85
|
|
|
86
|
+
export type PointerEvent = ResponderSyntheticEvent<
|
|
87
|
+
$ReadOnly<{|
|
|
88
|
+
pointerId: number,
|
|
89
|
+
pressure: number,
|
|
90
|
+
pointerType: string,
|
|
91
|
+
clientX: number,
|
|
92
|
+
clientY: number,
|
|
93
|
+
target: ?number,
|
|
94
|
+
timestamp: number,
|
|
95
|
+
|}>,
|
|
96
|
+
>;
|
|
97
|
+
|
|
86
98
|
export type PressEvent = ResponderSyntheticEvent<
|
|
87
99
|
$ReadOnly<{|
|
|
88
100
|
changedTouches: $ReadOnlyArray<$PropertyType<PressEvent, 'nativeEvent'>>,
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
import * as React from 'react';
|
|
12
12
|
import type {HostComponent} from '../Renderer/shims/ReactNativeTypes';
|
|
13
13
|
|
|
14
|
-
export type SyntheticEvent
|
|
14
|
+
export type SyntheticEvent<+T> = $ReadOnly<{|
|
|
15
15
|
bubbles: ?boolean,
|
|
16
16
|
cancelable: ?boolean,
|
|
17
17
|
currentTarget: number | React.ElementRef<HostComponent<mixed>>,
|
|
@@ -83,6 +83,29 @@ export type TextLayoutEvent = SyntheticEvent<
|
|
|
83
83
|
|}>,
|
|
84
84
|
>;
|
|
85
85
|
|
|
86
|
+
export type PointerEvent = ResponderSyntheticEvent<
|
|
87
|
+
$ReadOnly<{|
|
|
88
|
+
pointerId: number,
|
|
89
|
+
pressure: number,
|
|
90
|
+
pointerType: string,
|
|
91
|
+
clientX: number,
|
|
92
|
+
clientY: number,
|
|
93
|
+
target: ?number,
|
|
94
|
+
timestamp: number,
|
|
95
|
+
// [Windows
|
|
96
|
+
isLeftButton: boolean,
|
|
97
|
+
isRightButton: boolean,
|
|
98
|
+
isMiddleButton: boolean,
|
|
99
|
+
isBarrelButtonPressed: boolean,
|
|
100
|
+
isHorizontalScrollWheel: boolean,
|
|
101
|
+
isEraser: boolean,
|
|
102
|
+
shiftKey: boolean,
|
|
103
|
+
ctrlKey: boolean,
|
|
104
|
+
altKey: boolean,
|
|
105
|
+
// Windows]
|
|
106
|
+
|}>,
|
|
107
|
+
>;
|
|
108
|
+
|
|
86
109
|
export type PressEvent = ResponderSyntheticEvent<
|
|
87
110
|
$ReadOnly<{|
|
|
88
111
|
altKey: ?boolean, // TODO(macOS)
|
|
@@ -156,6 +179,8 @@ export type MouseEvent = SyntheticEvent<
|
|
|
156
179
|
$ReadOnly<{|
|
|
157
180
|
target: number,
|
|
158
181
|
identifier: number,
|
|
182
|
+
clientX: number,
|
|
183
|
+
clientY: number,
|
|
159
184
|
pageX: number,
|
|
160
185
|
pageY: number,
|
|
161
186
|
locationX: number,
|
|
@@ -91,12 +91,4 @@ module.exports = {
|
|
|
91
91
|
addChangeListener(listener: AppearanceListener): EventSubscription {
|
|
92
92
|
return eventEmitter.addListener('change', listener);
|
|
93
93
|
},
|
|
94
|
-
|
|
95
|
-
/**
|
|
96
|
-
* @deprecated Use `remove` on the EventSubscription from `addEventListener`.
|
|
97
|
-
*/
|
|
98
|
-
removeChangeListener(listener: AppearanceListener): void {
|
|
99
|
-
// NOTE: This will report a deprecation notice via `console.error`.
|
|
100
|
-
eventEmitter.removeListener('change', listener);
|
|
101
|
-
},
|
|
102
94
|
};
|
|
@@ -292,7 +292,7 @@ function registerBundleEntryPoints(client) {
|
|
|
292
292
|
|
|
293
293
|
function flushEarlyLogs(client) {
|
|
294
294
|
try {
|
|
295
|
-
pendingLogs.forEach(([level
|
|
295
|
+
pendingLogs.forEach(([level, data]) => {
|
|
296
296
|
HMRClient.log(level, data);
|
|
297
297
|
});
|
|
298
298
|
} finally {
|
|
@@ -17,6 +17,7 @@ const ShallowRenderer = require('react-shallow-renderer');
|
|
|
17
17
|
/* $FlowFixMe[not-a-function] (>=0.125.1 site=react_native_fb) This comment
|
|
18
18
|
* suppresses an error found when Flow v0.125.1 was deployed. To see the error,
|
|
19
19
|
* delete this comment and run Flow. */
|
|
20
|
+
// $FlowFixMe[invalid-constructor]
|
|
20
21
|
const shallowRenderer = new ShallowRenderer();
|
|
21
22
|
|
|
22
23
|
import type {ReactTestRenderer as ReactTestRendererType} from 'react-test-renderer';
|
|
@@ -24,21 +24,36 @@ type Options = $ReadOnly<{|
|
|
|
24
24
|
|
|
25
25
|
export type NativeComponentType<T> = HostComponent<T>;
|
|
26
26
|
|
|
27
|
+
// If this function runs then that means the view configs were not
|
|
28
|
+
// generated at build time using `GenerateViewConfigJs.js`. Thus
|
|
29
|
+
// we need to `requireNativeComponent` to get the view configs from view managers.
|
|
30
|
+
// `requireNativeComponent` is not available in Bridgeless mode.
|
|
31
|
+
// e.g. This function runs at runtime if `codegenNativeComponent` was not called
|
|
32
|
+
// from a file suffixed with NativeComponent.js.
|
|
27
33
|
function codegenNativeComponent<Props>(
|
|
28
34
|
componentName: string,
|
|
29
35
|
options?: Options,
|
|
30
36
|
): NativeComponentType<Props> {
|
|
37
|
+
const errorMessage =
|
|
38
|
+
"Native Component '" +
|
|
39
|
+
componentName +
|
|
40
|
+
"' that calls codegenNativeComponent was not code generated at build time. Please check its definition.";
|
|
41
|
+
if (global.RN$Bridgeless === true) {
|
|
42
|
+
console.error(errorMessage);
|
|
43
|
+
} else {
|
|
44
|
+
console.warn(errorMessage);
|
|
45
|
+
}
|
|
31
46
|
let componentNameInUse =
|
|
32
47
|
options && options.paperComponentName != null
|
|
33
48
|
? options.paperComponentName
|
|
34
49
|
: componentName;
|
|
35
50
|
|
|
36
51
|
if (options != null && options.paperComponentNameDeprecated != null) {
|
|
37
|
-
if (UIManager.
|
|
52
|
+
if (UIManager.hasViewManagerConfig(componentName)) {
|
|
38
53
|
componentNameInUse = componentName;
|
|
39
54
|
} else if (
|
|
40
55
|
options.paperComponentNameDeprecated != null &&
|
|
41
|
-
UIManager.
|
|
56
|
+
UIManager.hasViewManagerConfig(options.paperComponentNameDeprecated)
|
|
42
57
|
) {
|
|
43
58
|
componentNameInUse = options.paperComponentNameDeprecated;
|
|
44
59
|
} else {
|
|
@@ -50,10 +65,6 @@ function codegenNativeComponent<Props>(
|
|
|
50
65
|
}
|
|
51
66
|
}
|
|
52
67
|
|
|
53
|
-
// If this function is run at runtime then that means the view configs were not
|
|
54
|
-
// generated with the view config babel plugin, so we need to require the native component.
|
|
55
|
-
//
|
|
56
|
-
// This will be useful during migration, but eventually this will error.
|
|
57
68
|
return (requireNativeComponent<Props>(
|
|
58
69
|
componentNameInUse,
|
|
59
70
|
): HostComponent<Props>);
|
|
@@ -43,7 +43,10 @@ export function createStringifySafeWithLimits(limits: {|
|
|
|
43
43
|
return value;
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
-
let retval
|
|
46
|
+
let retval:
|
|
47
|
+
| string
|
|
48
|
+
| {+[string]: mixed}
|
|
49
|
+
| $TEMPORARY$object<{'...(truncated keys)...': number}> = value;
|
|
47
50
|
if (Array.isArray(value)) {
|
|
48
51
|
if (stack.length >= maxDepth) {
|
|
49
52
|
retval = `[ ... array with ${value.length} values ... ]`;
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* @flow
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import
|
|
11
|
+
import PlatformBaseViewConfig from '../NativeComponent/PlatformBaseViewConfig';
|
|
12
12
|
import {type ViewConfig} from '../Renderer/shims/ReactNativeTypes';
|
|
13
13
|
|
|
14
14
|
const IGNORED_KEYS = ['transform', 'hitSlop'];
|
|
@@ -62,7 +62,7 @@ export default function verifyComponentAttributeEquivalence(
|
|
|
62
62
|
|
|
63
63
|
// Return the different key-value pairs of the right object, by iterating through the keys in the left object
|
|
64
64
|
// Note it won't return a difference where a key is missing in the left but exists the right.
|
|
65
|
-
|
|
65
|
+
function lefthandObjectDiff(leftObj: Object, rightObj: Object): Object {
|
|
66
66
|
const differentKeys = {};
|
|
67
67
|
|
|
68
68
|
function compare(leftItem: any, rightItem: any, key: string) {
|
|
@@ -109,7 +109,7 @@ export function getConfigWithoutViewProps(
|
|
|
109
109
|
}
|
|
110
110
|
|
|
111
111
|
return Object.keys(viewConfig[propName])
|
|
112
|
-
.filter(prop => !
|
|
112
|
+
.filter(prop => !PlatformBaseViewConfig[propName][prop])
|
|
113
113
|
.reduce((obj, prop) => {
|
|
114
114
|
obj[prop] = viewConfig[propName][prop];
|
|
115
115
|
return obj;
|
|
@@ -230,7 +230,7 @@ class WebSocket extends (EventTarget(...WEBSOCKET_EVENTS): any) {
|
|
|
230
230
|
if (ev.id !== this._socketId) {
|
|
231
231
|
return;
|
|
232
232
|
}
|
|
233
|
-
let data = ev.data;
|
|
233
|
+
let data: Blob | BlobData | ArrayBuffer | string = ev.data;
|
|
234
234
|
switch (ev.type) {
|
|
235
235
|
case 'binary':
|
|
236
236
|
data = base64.toByteArray(ev.data).buffer;
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
import type EventEmitter from './EventEmitter';
|
|
14
14
|
import _EventSubscription from './_EventSubscription';
|
|
15
15
|
import type EventSubscriptionVendor from './_EventSubscriptionVendor';
|
|
16
|
-
import
|
|
16
|
+
import type {EventSubscription} from './EventSubscription';
|
|
17
17
|
|
|
18
18
|
/**
|
|
19
19
|
* EmitterSubscription represents a subscription with listener and context data.
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
const invariant = require('invariant');
|
|
13
13
|
|
|
14
14
|
import EmitterSubscription from './_EmitterSubscription';
|
|
15
|
-
import
|
|
15
|
+
import type {EventSubscription} from './EventSubscription';
|
|
16
16
|
import EventSubscriptionVendor from './_EventSubscriptionVendor';
|
|
17
17
|
|
|
18
18
|
const sparseFilterPredicate = () => true;
|
|
@@ -140,9 +140,9 @@ bool DynamicReader::GetBoolean() noexcept {
|
|
|
140
140
|
}
|
|
141
141
|
|
|
142
142
|
int64_t DynamicReader::GetInt64() noexcept {
|
|
143
|
-
return (m_current->type() == folly::dynamic::Type::INT64)
|
|
144
|
-
? m_current->
|
|
145
|
-
|
|
143
|
+
return (m_current->type() == folly::dynamic::Type::INT64) ? m_current->getInt()
|
|
144
|
+
: (m_current->type() == folly::dynamic::Type::DOUBLE) ? static_cast<int64_t>(m_current->getDouble())
|
|
145
|
+
: 0;
|
|
146
146
|
}
|
|
147
147
|
|
|
148
148
|
double DynamicReader::GetDouble() noexcept {
|
|
@@ -39,6 +39,7 @@ struct IComponentView {
|
|
|
39
39
|
virtual void finalizeUpdates(RNComponentViewUpdateMask updateMask) noexcept = 0;
|
|
40
40
|
virtual void prepareForRecycle() noexcept = 0;
|
|
41
41
|
virtual facebook::react::SharedProps props() noexcept = 0;
|
|
42
|
+
virtual void handleCommand(std::string const &commandName, folly::dynamic const &arg) noexcept = 0;
|
|
42
43
|
};
|
|
43
44
|
|
|
44
45
|
} // namespace Microsoft::ReactNative
|
|
@@ -13,18 +13,29 @@
|
|
|
13
13
|
#include <react/components/rnwcore/ShadowNodes.h>
|
|
14
14
|
#include <react/renderer/components/image/ImageShadowNode.h>
|
|
15
15
|
#include <react/renderer/components/root/RootShadowNode.h>
|
|
16
|
+
#ifndef CORE_ABI
|
|
17
|
+
#include <react/renderer/components/slider/SliderShadowNode.h>
|
|
18
|
+
#endif // CORE_ABI
|
|
16
19
|
#include <react/renderer/components/text/ParagraphShadowNode.h>
|
|
17
20
|
#include <react/renderer/components/text/RawTextShadowNode.h>
|
|
18
21
|
#include <react/renderer/components/text/TextShadowNode.h>
|
|
19
22
|
#include <react/renderer/components/textinput/iostextinput/TextInputShadowNode.h>
|
|
20
23
|
#include <react/renderer/components/view/ViewShadowNode.h>
|
|
21
24
|
|
|
25
|
+
#ifndef CORE_ABI
|
|
26
|
+
#include "TextInput/WindowsTextInputShadowNode.h"
|
|
27
|
+
|
|
22
28
|
#include "ActivityIndicatorComponentView.h"
|
|
23
29
|
#include "ImageComponentView.h"
|
|
24
30
|
#include "ParagraphComponentView.h"
|
|
25
31
|
#include "ScrollViewComponentView.h"
|
|
32
|
+
#include "SliderComponentView.h"
|
|
33
|
+
#include "SwitchComponentView.h"
|
|
26
34
|
#include "TextComponentView.h"
|
|
35
|
+
#include "TextInput/WindowsTextInputComponentView.h"
|
|
27
36
|
#include "ViewComponentView.h"
|
|
37
|
+
#include "XamlView.h"
|
|
38
|
+
#endif // CORE_ABI
|
|
28
39
|
|
|
29
40
|
namespace Microsoft::ReactNative {
|
|
30
41
|
|
|
@@ -37,6 +48,7 @@ ComponentViewDescriptor const &ComponentViewRegistry::dequeueComponentViewWithCo
|
|
|
37
48
|
facebook::react::Tag tag) noexcept {
|
|
38
49
|
// TODO implement recycled components like core does
|
|
39
50
|
|
|
51
|
+
#ifndef CORE_ABI
|
|
40
52
|
std::shared_ptr<BaseComponentView> view;
|
|
41
53
|
|
|
42
54
|
if (componentHandle == facebook::react::TextShadowNode::Handle()) {
|
|
@@ -47,6 +59,12 @@ ComponentViewDescriptor const &ComponentViewRegistry::dequeueComponentViewWithCo
|
|
|
47
59
|
view = std::make_shared<ScrollViewComponentView>();
|
|
48
60
|
} else if (componentHandle == facebook::react::ImageShadowNode::Handle()) {
|
|
49
61
|
view = std::make_shared<ImageComponentView>(m_context);
|
|
62
|
+
} else if (componentHandle == facebook::react::SliderShadowNode::Handle()) {
|
|
63
|
+
view = std::make_shared<SliderComponentView>(m_context);
|
|
64
|
+
} else if (componentHandle == facebook::react::SwitchShadowNode::Handle()) {
|
|
65
|
+
view = std::make_shared<SwitchComponentView>(m_context);
|
|
66
|
+
} else if (componentHandle == facebook::react::WindowsTextInputShadowNode::Handle()) {
|
|
67
|
+
view = std::make_shared<WindowsTextInputComponentView>();
|
|
50
68
|
} else if (componentHandle == facebook::react::ActivityIndicatorViewShadowNode::Handle()) {
|
|
51
69
|
view = std::make_shared<ActivityIndicatorComponentView>();
|
|
52
70
|
} else {
|
|
@@ -60,8 +78,13 @@ ComponentViewDescriptor const &ComponentViewRegistry::dequeueComponentViewWithCo
|
|
|
60
78
|
view = std::make_shared<ViewComponentView>();
|
|
61
79
|
}
|
|
62
80
|
|
|
63
|
-
view->Element()
|
|
81
|
+
SetTag(view->Element(), tag);
|
|
64
82
|
auto it = m_registry.insert({tag, ComponentViewDescriptor{view}});
|
|
83
|
+
|
|
84
|
+
#else
|
|
85
|
+
auto it = m_registry.insert({tag, ComponentViewDescriptor{nullptr}});
|
|
86
|
+
#endif // CORE_ABI
|
|
87
|
+
|
|
65
88
|
return it.first->second;
|
|
66
89
|
}
|
|
67
90
|
|
|
@@ -72,6 +95,15 @@ ComponentViewDescriptor const &ComponentViewRegistry::componentViewDescriptorWit
|
|
|
72
95
|
return iterator->second;
|
|
73
96
|
}
|
|
74
97
|
|
|
98
|
+
std::shared_ptr<IComponentView> ComponentViewRegistry::findComponentViewWithTag(
|
|
99
|
+
facebook::react::Tag tag) const noexcept {
|
|
100
|
+
auto iterator = m_registry.find(tag);
|
|
101
|
+
if (iterator == m_registry.end()) {
|
|
102
|
+
return nullptr;
|
|
103
|
+
}
|
|
104
|
+
return iterator->second.view;
|
|
105
|
+
}
|
|
106
|
+
|
|
75
107
|
void ComponentViewRegistry::enqueueComponentViewWithComponentHandle(
|
|
76
108
|
facebook::react::ComponentHandle componentHandle,
|
|
77
109
|
facebook::react::Tag tag,
|
|
@@ -79,6 +111,8 @@ void ComponentViewRegistry::enqueueComponentViewWithComponentHandle(
|
|
|
79
111
|
assert(m_registry.find(tag) != m_registry.end());
|
|
80
112
|
|
|
81
113
|
m_registry.erase(tag);
|
|
82
|
-
|
|
114
|
+
#ifndef CORE_ABI
|
|
115
|
+
SetTag(static_cast<ViewComponentView &>(*componentViewDescriptor.view).Element(), InvalidTag);
|
|
116
|
+
#endif // CORE_ABI
|
|
83
117
|
}
|
|
84
118
|
} // namespace Microsoft::ReactNative
|
|
@@ -23,6 +23,7 @@ class ComponentViewRegistry final {
|
|
|
23
23
|
facebook::react::ComponentHandle componentHandle,
|
|
24
24
|
facebook::react::Tag tag) noexcept;
|
|
25
25
|
ComponentViewDescriptor const &componentViewDescriptorWithTag(facebook::react::Tag tag) const noexcept;
|
|
26
|
+
std::shared_ptr<IComponentView> findComponentViewWithTag(facebook::react::Tag tag) const noexcept;
|
|
26
27
|
void enqueueComponentViewWithComponentHandle(
|
|
27
28
|
facebook::react::ComponentHandle componentHandle,
|
|
28
29
|
facebook::react::Tag tag,
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
|
|
4
|
+
#pragma once
|
|
5
|
+
|
|
6
|
+
#include "DWriteHelpers.h"
|
|
7
|
+
|
|
8
|
+
namespace Microsoft::ReactNative {
|
|
9
|
+
|
|
10
|
+
winrt::com_ptr<::IDWriteFactory> DWriteFactory() noexcept {
|
|
11
|
+
static winrt::com_ptr<::IDWriteFactory> s_dwriteFactory;
|
|
12
|
+
if (!s_dwriteFactory) {
|
|
13
|
+
winrt::check_hresult(::DWriteCreateFactory(
|
|
14
|
+
DWRITE_FACTORY_TYPE_SHARED, __uuidof(s_dwriteFactory), reinterpret_cast<::IUnknown **>(s_dwriteFactory.put())));
|
|
15
|
+
}
|
|
16
|
+
return s_dwriteFactory;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
} // namespace Microsoft::ReactNative
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
|
|
2
|
+
// Copyright (c) Microsoft Corporation.
|
|
3
|
+
// Licensed under the MIT License.
|
|
4
|
+
|
|
5
|
+
#pragma once
|
|
6
|
+
|
|
7
|
+
#include <dwrite.h>
|
|
8
|
+
|
|
9
|
+
namespace Microsoft::ReactNative {
|
|
10
|
+
|
|
11
|
+
winrt::com_ptr<::IDWriteFactory> DWriteFactory() noexcept;
|
|
12
|
+
|
|
13
|
+
} // namespace Microsoft::ReactNative
|