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
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
* @noformat
|
|
8
8
|
* @flow strict
|
|
9
|
-
* @generated SignedSource<<
|
|
9
|
+
* @generated SignedSource<<fb8a7e52d219403fad0cf916954e5185>>
|
|
10
10
|
*
|
|
11
11
|
* This file was sync'd from the facebook/react repository.
|
|
12
12
|
*/
|
|
@@ -76,6 +76,7 @@ export type ViewConfig = $ReadOnly<{
|
|
|
76
76
|
phasedRegistrationNames: $ReadOnly<{
|
|
77
77
|
captured: string,
|
|
78
78
|
bubbled: string,
|
|
79
|
+
skipBubbling?: ?boolean,
|
|
79
80
|
}>,
|
|
80
81
|
}>,
|
|
81
82
|
...,
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
* @noformat
|
|
8
8
|
* @flow strict-local
|
|
9
|
-
* @generated SignedSource<<
|
|
9
|
+
* @generated SignedSource<<a5b40ebf1f5b17d6dc83479c1c597566>>
|
|
10
10
|
*
|
|
11
11
|
* This file was sync'd from the facebook/react repository.
|
|
12
12
|
*/
|
|
@@ -22,6 +22,7 @@ const customBubblingEventTypes: {
|
|
|
22
22
|
phasedRegistrationNames: $ReadOnly<{|
|
|
23
23
|
captured: string,
|
|
24
24
|
bubbled: string,
|
|
25
|
+
skipBubbling?: ?boolean,
|
|
25
26
|
|}>,
|
|
26
27
|
|}>,
|
|
27
28
|
...,
|
|
@@ -10,6 +10,9 @@
|
|
|
10
10
|
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
|
-
import type {Rect} from './Rect';
|
|
13
|
+
import type {Rect, RectOrSize} from './Rect';
|
|
14
14
|
|
|
15
|
+
// TODO: allow all EdgeInsets-like property to be set using a single number
|
|
16
|
+
// and unify EdgeInsetsProp with EdgeInsetsOrSizeProp
|
|
15
17
|
export type EdgeInsetsProp = Rect;
|
|
18
|
+
export type EdgeInsetsOrSizeProp = RectOrSize;
|
|
@@ -14,21 +14,31 @@ const AnimatedNode = require('../Animated/nodes/AnimatedNode');
|
|
|
14
14
|
|
|
15
15
|
import type {NativeColorValue} from './PlatformColorValueTypes';
|
|
16
16
|
|
|
17
|
-
export type ____ColorValue_Internal = null | string | NativeColorValue;
|
|
17
|
+
export type ____ColorValue_Internal = null | string | number | NativeColorValue;
|
|
18
18
|
|
|
19
19
|
export type ColorArrayValue = null | $ReadOnlyArray<____ColorValue_Internal>;
|
|
20
|
-
export type PointValue = {
|
|
20
|
+
export type PointValue = {
|
|
21
21
|
x: number,
|
|
22
22
|
y: number,
|
|
23
|
-
|
|
24
|
-
export type EdgeInsetsValue = {
|
|
23
|
+
};
|
|
24
|
+
export type EdgeInsetsValue = {
|
|
25
25
|
top: number,
|
|
26
26
|
left: number,
|
|
27
27
|
right: number,
|
|
28
28
|
bottom: number,
|
|
29
|
-
|
|
29
|
+
};
|
|
30
30
|
export type DimensionValue = null | number | string | AnimatedNode;
|
|
31
31
|
|
|
32
|
+
import type {
|
|
33
|
+
____DangerouslyImpreciseStyle_InternalOverrides,
|
|
34
|
+
____ImageStyle_InternalOverrides,
|
|
35
|
+
____ShadowStyle_InternalOverrides,
|
|
36
|
+
____TextStyle_InternalOverrides,
|
|
37
|
+
____ViewStyle_InternalOverrides,
|
|
38
|
+
} from './private/_StyleSheetTypesOverrides';
|
|
39
|
+
|
|
40
|
+
import type {____TransformStyle_Internal} from './private/_TransformStyle';
|
|
41
|
+
|
|
32
42
|
/**
|
|
33
43
|
* React Native's layout system is based on Flexbox and is powered both
|
|
34
44
|
* on iOS and Android by an open source project called `Yoga`:
|
|
@@ -42,7 +52,7 @@ export type DimensionValue = null | number | string | AnimatedNode;
|
|
|
42
52
|
* These properties are a subset of our styles that are consumed by the layout
|
|
43
53
|
* algorithm and affect the positioning and sizing of views.
|
|
44
54
|
*/
|
|
45
|
-
type ____LayoutStyle_Internal = $ReadOnly<{
|
|
55
|
+
type ____LayoutStyle_Internal = $ReadOnly<{
|
|
46
56
|
/** `display` sets the display type of this component.
|
|
47
57
|
*
|
|
48
58
|
* It works similarly to `display` in CSS, but only support 'flex' and 'none'.
|
|
@@ -472,49 +482,7 @@ type ____LayoutStyle_Internal = $ReadOnly<{|
|
|
|
472
482
|
* @platform ios
|
|
473
483
|
*/
|
|
474
484
|
direction?: 'inherit' | 'ltr' | 'rtl',
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
type ____TransformStyle_Internal = $ReadOnly<{|
|
|
478
|
-
/**
|
|
479
|
-
* `transform` accepts an array of transformation objects. Each object specifies
|
|
480
|
-
* the property that will be transformed as the key, and the value to use in the
|
|
481
|
-
* transformation. Objects should not be combined. Use a single key/value pair
|
|
482
|
-
* per object.
|
|
483
|
-
*
|
|
484
|
-
* The rotate transformations require a string so that the transform may be
|
|
485
|
-
* expressed in degrees (deg) or radians (rad). For example:
|
|
486
|
-
*
|
|
487
|
-
* `transform([{ rotateX: '45deg' }, { rotateZ: '0.785398rad' }])`
|
|
488
|
-
*
|
|
489
|
-
* The skew transformations require a string so that the transform may be
|
|
490
|
-
* expressed in degrees (deg). For example:
|
|
491
|
-
*
|
|
492
|
-
* `transform([{ skewX: '45deg' }])`
|
|
493
|
-
*/
|
|
494
|
-
transform?: $ReadOnlyArray<
|
|
495
|
-
| {|+perspective: number | AnimatedNode|}
|
|
496
|
-
| {|+rotate: string | AnimatedNode|}
|
|
497
|
-
| {|+rotateX: string | AnimatedNode|}
|
|
498
|
-
| {|+rotateY: string | AnimatedNode|}
|
|
499
|
-
| {|+rotateZ: string | AnimatedNode|}
|
|
500
|
-
| {|+scale: number | AnimatedNode|}
|
|
501
|
-
| {|+scaleX: number | AnimatedNode|}
|
|
502
|
-
| {|+scaleY: number | AnimatedNode|}
|
|
503
|
-
| {|+translateX: number | AnimatedNode|}
|
|
504
|
-
| {|+translateY: number | AnimatedNode|}
|
|
505
|
-
| {|
|
|
506
|
-
+translate:
|
|
507
|
-
| [number | AnimatedNode, number | AnimatedNode]
|
|
508
|
-
| AnimatedNode,
|
|
509
|
-
|}
|
|
510
|
-
| {|+skewX: string|}
|
|
511
|
-
| {|+skewY: string|}
|
|
512
|
-
// TODO: what is the actual type it expects?
|
|
513
|
-
| {|
|
|
514
|
-
+matrix: $ReadOnlyArray<number | AnimatedNode> | AnimatedNode,
|
|
515
|
-
|},
|
|
516
|
-
>,
|
|
517
|
-
|}>;
|
|
485
|
+
}>;
|
|
518
486
|
|
|
519
487
|
/**
|
|
520
488
|
* These props can be used to dynamically generate shadows on views, images, text, etc.
|
|
@@ -526,7 +494,7 @@ type ____TransformStyle_Internal = $ReadOnly<{|
|
|
|
526
494
|
* To add a drop shadow to a view use the [`elevation` property](docs/viewstyleproptypes.html#elevation) (Android 5.0+).
|
|
527
495
|
* To customize the color use the [`shadowColor` property](docs/shadow-props.html#shadowColor) (Android 9.0+).
|
|
528
496
|
*/
|
|
529
|
-
export type
|
|
497
|
+
export type ____ShadowStyle_InternalCore = $ReadOnly<{
|
|
530
498
|
/**
|
|
531
499
|
* Sets the drop shadow color
|
|
532
500
|
* @platform ios
|
|
@@ -536,10 +504,10 @@ export type ____ShadowStyle_Internal = $ReadOnly<{|
|
|
|
536
504
|
* Sets the drop shadow offset
|
|
537
505
|
* @platform ios
|
|
538
506
|
*/
|
|
539
|
-
shadowOffset?: $ReadOnly<{
|
|
507
|
+
shadowOffset?: $ReadOnly<{
|
|
540
508
|
width?: number,
|
|
541
509
|
height?: number,
|
|
542
|
-
|
|
510
|
+
}>,
|
|
543
511
|
/**
|
|
544
512
|
* Sets the drop shadow opacity (multiplied by the color's alpha component)
|
|
545
513
|
* @platform ios
|
|
@@ -550,9 +518,14 @@ export type ____ShadowStyle_Internal = $ReadOnly<{|
|
|
|
550
518
|
* @platform ios
|
|
551
519
|
*/
|
|
552
520
|
shadowRadius?: number,
|
|
553
|
-
|
|
521
|
+
}>;
|
|
522
|
+
|
|
523
|
+
export type ____ShadowStyle_Internal = $ReadOnly<{
|
|
524
|
+
...____ShadowStyle_InternalCore,
|
|
525
|
+
...____ShadowStyle_InternalOverrides,
|
|
526
|
+
}>;
|
|
554
527
|
|
|
555
|
-
export type
|
|
528
|
+
export type ____ViewStyle_InternalCore = $ReadOnly<{
|
|
556
529
|
...$Exact<____LayoutStyle_Internal>,
|
|
557
530
|
...$Exact<____ShadowStyle_Internal>,
|
|
558
531
|
...$Exact<____TransformStyle_Internal>,
|
|
@@ -584,7 +557,12 @@ export type ____ViewStyle_Internal = $ReadOnly<{|
|
|
|
584
557
|
borderTopWidth?: number | AnimatedNode,
|
|
585
558
|
opacity?: number | AnimatedNode,
|
|
586
559
|
elevation?: number,
|
|
587
|
-
|
|
560
|
+
}>;
|
|
561
|
+
|
|
562
|
+
export type ____ViewStyle_Internal = $ReadOnly<{
|
|
563
|
+
...____ViewStyle_InternalCore,
|
|
564
|
+
...____ViewStyle_InternalOverrides,
|
|
565
|
+
}>;
|
|
588
566
|
|
|
589
567
|
export type ____FontWeight_Internal =
|
|
590
568
|
| 'normal'
|
|
@@ -599,7 +577,7 @@ export type ____FontWeight_Internal =
|
|
|
599
577
|
| '800'
|
|
600
578
|
| '900';
|
|
601
579
|
|
|
602
|
-
export type
|
|
580
|
+
export type ____TextStyle_InternalCore = $ReadOnly<{
|
|
603
581
|
...$Exact<____ViewStyle_Internal>,
|
|
604
582
|
color?: ____ColorValue_Internal,
|
|
605
583
|
fontFamily?: string,
|
|
@@ -613,10 +591,10 @@ export type ____TextStyle_Internal = $ReadOnly<{|
|
|
|
613
591
|
| 'tabular-nums'
|
|
614
592
|
| 'proportional-nums',
|
|
615
593
|
>,
|
|
616
|
-
textShadowOffset?: $ReadOnly<{
|
|
594
|
+
textShadowOffset?: $ReadOnly<{
|
|
617
595
|
width: number,
|
|
618
596
|
height: number,
|
|
619
|
-
|
|
597
|
+
}>,
|
|
620
598
|
textShadowRadius?: number,
|
|
621
599
|
textShadowColor?: ____ColorValue_Internal,
|
|
622
600
|
letterSpacing?: number,
|
|
@@ -633,22 +611,37 @@ export type ____TextStyle_Internal = $ReadOnly<{|
|
|
|
633
611
|
textDecorationColor?: ____ColorValue_Internal,
|
|
634
612
|
textTransform?: 'none' | 'capitalize' | 'uppercase' | 'lowercase',
|
|
635
613
|
writingDirection?: 'auto' | 'ltr' | 'rtl',
|
|
636
|
-
|
|
614
|
+
}>;
|
|
637
615
|
|
|
638
|
-
export type
|
|
616
|
+
export type ____TextStyle_Internal = $ReadOnly<{
|
|
617
|
+
...____TextStyle_InternalCore,
|
|
618
|
+
...____TextStyle_InternalOverrides,
|
|
619
|
+
}>;
|
|
620
|
+
|
|
621
|
+
export type ____ImageStyle_InternalCore = $ReadOnly<{
|
|
639
622
|
...$Exact<____ViewStyle_Internal>,
|
|
640
623
|
resizeMode?: 'contain' | 'cover' | 'stretch' | 'center' | 'repeat',
|
|
641
624
|
tintColor?: ____ColorValue_Internal,
|
|
642
625
|
overlayColor?: string,
|
|
643
|
-
|
|
626
|
+
}>;
|
|
627
|
+
|
|
628
|
+
export type ____ImageStyle_Internal = $ReadOnly<{
|
|
629
|
+
...____ImageStyle_InternalCore,
|
|
630
|
+
...____ImageStyle_InternalOverrides,
|
|
631
|
+
}>;
|
|
644
632
|
|
|
645
|
-
export type
|
|
633
|
+
export type ____DangerouslyImpreciseStyle_InternalCore = $ReadOnly<{
|
|
646
634
|
...$Exact<____TextStyle_Internal>,
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
635
|
+
resizeMode?: 'contain' | 'cover' | 'stretch' | 'center' | 'repeat',
|
|
636
|
+
tintColor?: ____ColorValue_Internal,
|
|
637
|
+
overlayColor?: string,
|
|
638
|
+
}>;
|
|
639
|
+
|
|
640
|
+
export type ____DangerouslyImpreciseStyle_Internal = $ReadOnly<{
|
|
641
|
+
...____DangerouslyImpreciseStyle_InternalCore,
|
|
642
|
+
...____DangerouslyImpreciseStyle_InternalOverrides,
|
|
650
643
|
...
|
|
651
|
-
}
|
|
644
|
+
}>;
|
|
652
645
|
|
|
653
646
|
type GenericStyleProp<+T> =
|
|
654
647
|
| null
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
* @flow strict
|
|
8
|
+
* @format
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
export type ____DangerouslyImpreciseStyle_InternalOverrides = $ReadOnly<{}>;
|
|
12
|
+
export type ____ImageStyle_InternalOverrides = $ReadOnly<{}>;
|
|
13
|
+
export type ____ShadowStyle_InternalOverrides = $ReadOnly<{}>;
|
|
14
|
+
export type ____TextStyle_InternalOverrides = $ReadOnly<{}>;
|
|
15
|
+
export type ____ViewStyle_InternalOverrides = $ReadOnly<{}>;
|
|
@@ -0,0 +1,53 @@
|
|
|
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
|
+
const AnimatedNode = require('../../Animated/nodes/AnimatedNode');
|
|
12
|
+
|
|
13
|
+
export type ____TransformStyle_Internal = $ReadOnly<{|
|
|
14
|
+
/**
|
|
15
|
+
* `transform` accepts an array of transformation objects. Each object specifies
|
|
16
|
+
* the property that will be transformed as the key, and the value to use in the
|
|
17
|
+
* transformation. Objects should not be combined. Use a single key/value pair
|
|
18
|
+
* per object.
|
|
19
|
+
*
|
|
20
|
+
* The rotate transformations require a string so that the transform may be
|
|
21
|
+
* expressed in degrees (deg) or radians (rad). For example:
|
|
22
|
+
*
|
|
23
|
+
* `transform([{ rotateX: '45deg' }, { rotateZ: '0.785398rad' }])`
|
|
24
|
+
*
|
|
25
|
+
* The skew transformations require a string so that the transform may be
|
|
26
|
+
* expressed in degrees (deg). For example:
|
|
27
|
+
*
|
|
28
|
+
* `transform([{ skewX: '45deg' }])`
|
|
29
|
+
*/
|
|
30
|
+
transform?: $ReadOnlyArray<
|
|
31
|
+
| {|+perspective: number | AnimatedNode|}
|
|
32
|
+
| {|+rotate: string | AnimatedNode|}
|
|
33
|
+
| {|+rotateX: string | AnimatedNode|}
|
|
34
|
+
| {|+rotateY: string | AnimatedNode|}
|
|
35
|
+
| {|+rotateZ: string | AnimatedNode|}
|
|
36
|
+
| {|+scale: number | AnimatedNode|}
|
|
37
|
+
| {|+scaleX: number | AnimatedNode|}
|
|
38
|
+
| {|+scaleY: number | AnimatedNode|}
|
|
39
|
+
| {|+translateX: number | AnimatedNode|}
|
|
40
|
+
| {|+translateY: number | AnimatedNode|}
|
|
41
|
+
| {|
|
|
42
|
+
+translate:
|
|
43
|
+
| [number | AnimatedNode, number | AnimatedNode]
|
|
44
|
+
| AnimatedNode,
|
|
45
|
+
|}
|
|
46
|
+
| {|+skewX: string|}
|
|
47
|
+
| {|+skewY: string|}
|
|
48
|
+
// TODO: what is the actual type it expects?
|
|
49
|
+
| {|
|
|
50
|
+
+matrix: $ReadOnlyArray<number | AnimatedNode> | AnimatedNode,
|
|
51
|
+
|},
|
|
52
|
+
>,
|
|
53
|
+
|}>;
|
|
@@ -0,0 +1,272 @@
|
|
|
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
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
'use strict';
|
|
12
|
+
|
|
13
|
+
const MatrixMath = require('../Utilities/MatrixMath');
|
|
14
|
+
const Platform = require('../Utilities/Platform');
|
|
15
|
+
|
|
16
|
+
const invariant = require('invariant');
|
|
17
|
+
const stringifySafe = require('../Utilities/stringifySafe').default;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Generate a transform matrix based on the provided transforms, and use that
|
|
21
|
+
* within the style object instead.
|
|
22
|
+
*
|
|
23
|
+
* This allows us to provide an API that is similar to CSS, where transforms may
|
|
24
|
+
* be applied in an arbitrary order, and yet have a universal, singular
|
|
25
|
+
* interface to native code.
|
|
26
|
+
*/
|
|
27
|
+
function processTransform(
|
|
28
|
+
transform: Array<Object>,
|
|
29
|
+
): Array<Object> | Array<number> {
|
|
30
|
+
if (__DEV__) {
|
|
31
|
+
_validateTransforms(transform);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
// Android & iOS implementations of transform property accept the list of
|
|
35
|
+
// transform properties as opposed to a transform Matrix. This is necessary
|
|
36
|
+
// to control transform property updates completely on the native thread.
|
|
37
|
+
if (
|
|
38
|
+
Platform.OS === 'android' ||
|
|
39
|
+
Platform.OS === 'ios' ||
|
|
40
|
+
Platform.OS === 'windows'
|
|
41
|
+
) {
|
|
42
|
+
return transform;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
const result = MatrixMath.createIdentityMatrix();
|
|
46
|
+
|
|
47
|
+
transform.forEach(transformation => {
|
|
48
|
+
const key = Object.keys(transformation)[0];
|
|
49
|
+
const value = transformation[key];
|
|
50
|
+
|
|
51
|
+
switch (key) {
|
|
52
|
+
case 'matrix':
|
|
53
|
+
MatrixMath.multiplyInto(result, result, value);
|
|
54
|
+
break;
|
|
55
|
+
case 'perspective':
|
|
56
|
+
_multiplyTransform(result, MatrixMath.reusePerspectiveCommand, [value]);
|
|
57
|
+
break;
|
|
58
|
+
case 'rotateX':
|
|
59
|
+
_multiplyTransform(result, MatrixMath.reuseRotateXCommand, [
|
|
60
|
+
_convertToRadians(value),
|
|
61
|
+
]);
|
|
62
|
+
break;
|
|
63
|
+
case 'rotateY':
|
|
64
|
+
_multiplyTransform(result, MatrixMath.reuseRotateYCommand, [
|
|
65
|
+
_convertToRadians(value),
|
|
66
|
+
]);
|
|
67
|
+
break;
|
|
68
|
+
case 'rotate':
|
|
69
|
+
case 'rotateZ':
|
|
70
|
+
_multiplyTransform(result, MatrixMath.reuseRotateZCommand, [
|
|
71
|
+
_convertToRadians(value),
|
|
72
|
+
]);
|
|
73
|
+
break;
|
|
74
|
+
case 'scale':
|
|
75
|
+
_multiplyTransform(result, MatrixMath.reuseScaleCommand, [value]);
|
|
76
|
+
break;
|
|
77
|
+
case 'scaleX':
|
|
78
|
+
_multiplyTransform(result, MatrixMath.reuseScaleXCommand, [value]);
|
|
79
|
+
break;
|
|
80
|
+
case 'scaleY':
|
|
81
|
+
_multiplyTransform(result, MatrixMath.reuseScaleYCommand, [value]);
|
|
82
|
+
break;
|
|
83
|
+
case 'translate':
|
|
84
|
+
_multiplyTransform(result, MatrixMath.reuseTranslate3dCommand, [
|
|
85
|
+
value[0],
|
|
86
|
+
value[1],
|
|
87
|
+
value[2] || 0,
|
|
88
|
+
]);
|
|
89
|
+
break;
|
|
90
|
+
case 'translateX':
|
|
91
|
+
_multiplyTransform(result, MatrixMath.reuseTranslate2dCommand, [
|
|
92
|
+
value,
|
|
93
|
+
0,
|
|
94
|
+
]);
|
|
95
|
+
break;
|
|
96
|
+
case 'translateY':
|
|
97
|
+
_multiplyTransform(result, MatrixMath.reuseTranslate2dCommand, [
|
|
98
|
+
0,
|
|
99
|
+
value,
|
|
100
|
+
]);
|
|
101
|
+
break;
|
|
102
|
+
case 'skewX':
|
|
103
|
+
_multiplyTransform(result, MatrixMath.reuseSkewXCommand, [
|
|
104
|
+
_convertToRadians(value),
|
|
105
|
+
]);
|
|
106
|
+
break;
|
|
107
|
+
case 'skewY':
|
|
108
|
+
_multiplyTransform(result, MatrixMath.reuseSkewYCommand, [
|
|
109
|
+
_convertToRadians(value),
|
|
110
|
+
]);
|
|
111
|
+
break;
|
|
112
|
+
default:
|
|
113
|
+
throw new Error('Invalid transform name: ' + key);
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
|
|
117
|
+
return result;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Performs a destructive operation on a transform matrix.
|
|
122
|
+
*/
|
|
123
|
+
function _multiplyTransform(
|
|
124
|
+
result: Array<number>,
|
|
125
|
+
matrixMathFunction: Function,
|
|
126
|
+
args: Array<number>,
|
|
127
|
+
): void {
|
|
128
|
+
const matrixToApply = MatrixMath.createIdentityMatrix();
|
|
129
|
+
const argsWithIdentity = [matrixToApply].concat(args);
|
|
130
|
+
matrixMathFunction.apply(this, argsWithIdentity);
|
|
131
|
+
MatrixMath.multiplyInto(result, result, matrixToApply);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* Parses a string like '0.5rad' or '60deg' into radians expressed in a float.
|
|
136
|
+
* Note that validation on the string is done in `_validateTransform()`.
|
|
137
|
+
*/
|
|
138
|
+
function _convertToRadians(value: string): number {
|
|
139
|
+
const floatValue = parseFloat(value);
|
|
140
|
+
return value.indexOf('rad') > -1 ? floatValue : (floatValue * Math.PI) / 180;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
function _validateTransforms(transform: Array<Object>): void {
|
|
144
|
+
transform.forEach(transformation => {
|
|
145
|
+
const keys = Object.keys(transformation);
|
|
146
|
+
invariant(
|
|
147
|
+
keys.length === 1,
|
|
148
|
+
'You must specify exactly one property per transform object. Passed properties: %s',
|
|
149
|
+
stringifySafe(transformation),
|
|
150
|
+
);
|
|
151
|
+
const key = keys[0];
|
|
152
|
+
const value = transformation[key];
|
|
153
|
+
_validateTransform(key, value, transformation);
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
function _validateTransform(
|
|
158
|
+
key:
|
|
159
|
+
| string
|
|
160
|
+
| $TEMPORARY$string<'matrix'>
|
|
161
|
+
| $TEMPORARY$string<'perspective'>
|
|
162
|
+
| $TEMPORARY$string<'rotate'>
|
|
163
|
+
| $TEMPORARY$string<'rotateX'>
|
|
164
|
+
| $TEMPORARY$string<'rotateY'>
|
|
165
|
+
| $TEMPORARY$string<'rotateZ'>
|
|
166
|
+
| $TEMPORARY$string<'scale'>
|
|
167
|
+
| $TEMPORARY$string<'scaleX'>
|
|
168
|
+
| $TEMPORARY$string<'scaleY'>
|
|
169
|
+
| $TEMPORARY$string<'skewX'>
|
|
170
|
+
| $TEMPORARY$string<'skewY'>
|
|
171
|
+
| $TEMPORARY$string<'translate'>
|
|
172
|
+
| $TEMPORARY$string<'translateX'>
|
|
173
|
+
| $TEMPORARY$string<'translateY'>,
|
|
174
|
+
value: any | number | string,
|
|
175
|
+
transformation: any,
|
|
176
|
+
) {
|
|
177
|
+
invariant(
|
|
178
|
+
!value.getValue,
|
|
179
|
+
'You passed an Animated.Value to a normal component. ' +
|
|
180
|
+
'You need to wrap that component in an Animated. For example, ' +
|
|
181
|
+
'replace <View /> by <Animated.View />.',
|
|
182
|
+
);
|
|
183
|
+
|
|
184
|
+
const multivalueTransforms = ['matrix', 'translate'];
|
|
185
|
+
if (multivalueTransforms.indexOf(key) !== -1) {
|
|
186
|
+
invariant(
|
|
187
|
+
Array.isArray(value),
|
|
188
|
+
'Transform with key of %s must have an array as the value: %s',
|
|
189
|
+
key,
|
|
190
|
+
stringifySafe(transformation),
|
|
191
|
+
);
|
|
192
|
+
}
|
|
193
|
+
switch (key) {
|
|
194
|
+
case 'matrix':
|
|
195
|
+
invariant(
|
|
196
|
+
value.length === 9 || value.length === 16,
|
|
197
|
+
'Matrix transform must have a length of 9 (2d) or 16 (3d). ' +
|
|
198
|
+
'Provided matrix has a length of %s: %s',
|
|
199
|
+
/* $FlowFixMe[prop-missing] (>=0.84.0 site=react_native_fb) This
|
|
200
|
+
* comment suppresses an error found when Flow v0.84 was deployed. To
|
|
201
|
+
* see the error, delete this comment and run Flow. */
|
|
202
|
+
value.length,
|
|
203
|
+
stringifySafe(transformation),
|
|
204
|
+
);
|
|
205
|
+
break;
|
|
206
|
+
case 'translate':
|
|
207
|
+
invariant(
|
|
208
|
+
value.length === 2 || value.length === 3,
|
|
209
|
+
'Transform with key translate must be an array of length 2 or 3, found %s: %s',
|
|
210
|
+
/* $FlowFixMe[prop-missing] (>=0.84.0 site=react_native_fb) This
|
|
211
|
+
* comment suppresses an error found when Flow v0.84 was deployed. To
|
|
212
|
+
* see the error, delete this comment and run Flow. */
|
|
213
|
+
value.length,
|
|
214
|
+
stringifySafe(transformation),
|
|
215
|
+
);
|
|
216
|
+
break;
|
|
217
|
+
case 'rotateX':
|
|
218
|
+
case 'rotateY':
|
|
219
|
+
case 'rotateZ':
|
|
220
|
+
case 'rotate':
|
|
221
|
+
case 'skewX':
|
|
222
|
+
case 'skewY':
|
|
223
|
+
invariant(
|
|
224
|
+
typeof value === 'string',
|
|
225
|
+
'Transform with key of "%s" must be a string: %s',
|
|
226
|
+
key,
|
|
227
|
+
stringifySafe(transformation),
|
|
228
|
+
);
|
|
229
|
+
invariant(
|
|
230
|
+
value.indexOf('deg') > -1 || value.indexOf('rad') > -1,
|
|
231
|
+
'Rotate transform must be expressed in degrees (deg) or radians ' +
|
|
232
|
+
'(rad): %s',
|
|
233
|
+
stringifySafe(transformation),
|
|
234
|
+
);
|
|
235
|
+
break;
|
|
236
|
+
case 'perspective':
|
|
237
|
+
invariant(
|
|
238
|
+
typeof value === 'number',
|
|
239
|
+
'Transform with key of "%s" must be a number: %s',
|
|
240
|
+
key,
|
|
241
|
+
stringifySafe(transformation),
|
|
242
|
+
);
|
|
243
|
+
invariant(
|
|
244
|
+
value !== 0,
|
|
245
|
+
'Transform with key of "%s" cannot be zero: %s',
|
|
246
|
+
key,
|
|
247
|
+
stringifySafe(transformation),
|
|
248
|
+
);
|
|
249
|
+
break;
|
|
250
|
+
case 'translateX':
|
|
251
|
+
case 'translateY':
|
|
252
|
+
case 'scale':
|
|
253
|
+
case 'scaleX':
|
|
254
|
+
case 'scaleY':
|
|
255
|
+
invariant(
|
|
256
|
+
typeof value === 'number',
|
|
257
|
+
'Transform with key of "%s" must be a number: %s',
|
|
258
|
+
key,
|
|
259
|
+
stringifySafe(transformation),
|
|
260
|
+
);
|
|
261
|
+
break;
|
|
262
|
+
default:
|
|
263
|
+
invariant(
|
|
264
|
+
false,
|
|
265
|
+
'Invalid transform %s: %s',
|
|
266
|
+
key,
|
|
267
|
+
stringifySafe(transformation),
|
|
268
|
+
);
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
module.exports = processTransform;
|
package/Libraries/Text/Text.js
CHANGED
|
@@ -48,11 +48,20 @@ const Text: React.AbstractComponent<
|
|
|
48
48
|
|
|
49
49
|
const [isHighlighted, setHighlighted] = useState(false);
|
|
50
50
|
|
|
51
|
+
const _disabled =
|
|
52
|
+
restProps.disabled != null
|
|
53
|
+
? restProps.disabled
|
|
54
|
+
: props.accessibilityState?.disabled;
|
|
55
|
+
const _accessibilityState =
|
|
56
|
+
_disabled !== props.accessibilityState?.disabled
|
|
57
|
+
? {...props.accessibilityState, disabled: _disabled}
|
|
58
|
+
: props.accessibilityState;
|
|
59
|
+
|
|
51
60
|
const isPressable =
|
|
52
61
|
(onPress != null ||
|
|
53
62
|
onLongPress != null ||
|
|
54
63
|
onStartShouldSetResponder != null) &&
|
|
55
|
-
|
|
64
|
+
_disabled !== true;
|
|
56
65
|
|
|
57
66
|
const initialized = useLazyInitialization(isPressable);
|
|
58
67
|
const config = useMemo(
|
|
@@ -120,6 +129,7 @@ const Text: React.AbstractComponent<
|
|
|
120
129
|
onResponderTerminate(event);
|
|
121
130
|
}
|
|
122
131
|
},
|
|
132
|
+
onClick: eventHandlers.onClick,
|
|
123
133
|
onResponderTerminationRequest:
|
|
124
134
|
eventHandlers.onResponderTerminationRequest,
|
|
125
135
|
onStartShouldSetResponder: eventHandlers.onStartShouldSetResponder,
|
|
@@ -174,7 +184,9 @@ const Text: React.AbstractComponent<
|
|
|
174
184
|
<NativeText
|
|
175
185
|
{...restProps}
|
|
176
186
|
{...eventHandlersForText}
|
|
187
|
+
disabled={_disabled}
|
|
177
188
|
accessible={accessible !== false}
|
|
189
|
+
accessibilityState={_accessibilityState}
|
|
178
190
|
allowFontScaling={allowFontScaling !== false}
|
|
179
191
|
ellipsizeMode={ellipsizeMode ?? 'tail'}
|
|
180
192
|
isHighlighted={isHighlighted}
|
|
@@ -189,12 +201,6 @@ const Text: React.AbstractComponent<
|
|
|
189
201
|
|
|
190
202
|
Text.displayName = 'Text';
|
|
191
203
|
|
|
192
|
-
/**
|
|
193
|
-
* Switch to `deprecated-react-native-prop-types` for compatibility with future
|
|
194
|
-
* releases. This is deprecated and will be removed in the future.
|
|
195
|
-
*/
|
|
196
|
-
Text.propTypes = require('deprecated-react-native-prop-types').TextPropTypes;
|
|
197
|
-
|
|
198
204
|
/**
|
|
199
205
|
* Returns false until the first time `newValue` is true, after which this will
|
|
200
206
|
* always return true. This is necessary to lazily initialize `Pressability` so
|