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
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
|
|
2
|
+
Microsoft Visual Studio Solution File, Format Version 12.00
|
|
3
|
+
# Visual Studio Version 16
|
|
4
|
+
VisualStudioVersion = 16.0.31220.234
|
|
5
|
+
MinimumVisualStudioVersion = 10.0.40219.1
|
|
6
|
+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "{{ name }}", "{{ name }}\{{ name }}.csproj", "{{ projectGuidUpper }}"
|
|
7
|
+
EndProject
|
|
8
|
+
Global
|
|
9
|
+
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
|
10
|
+
Debug|arm64 = Debug|arm64
|
|
11
|
+
Debug|x64 = Debug|x64
|
|
12
|
+
Debug|x86 = Debug|x86
|
|
13
|
+
Release|arm64 = Release|arm64
|
|
14
|
+
Release|x64 = Release|x64
|
|
15
|
+
Release|x86 = Release|x86
|
|
16
|
+
EndGlobalSection
|
|
17
|
+
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
|
18
|
+
{{ projectGuidUpper }}.Debug|arm64.ActiveCfg = Debug|arm64
|
|
19
|
+
{{ projectGuidUpper }}.Debug|arm64.Build.0 = Debug|arm64
|
|
20
|
+
{{ projectGuidUpper }}.Debug|arm64.Deploy.0 = Debug|arm64
|
|
21
|
+
{{ projectGuidUpper }}.Debug|x64.ActiveCfg = Debug|x64
|
|
22
|
+
{{ projectGuidUpper }}.Debug|x64.Build.0 = Debug|x64
|
|
23
|
+
{{ projectGuidUpper }}.Debug|x64.Deploy.0 = Debug|x64
|
|
24
|
+
{{ projectGuidUpper }}.Debug|x86.ActiveCfg = Release|x64
|
|
25
|
+
{{ projectGuidUpper }}.Debug|x86.Build.0 = Release|x64
|
|
26
|
+
{{ projectGuidUpper }}.Debug|x86.Deploy.0 = Release|x64
|
|
27
|
+
{{ projectGuidUpper }}.Release|arm64.ActiveCfg = Release|arm64
|
|
28
|
+
{{ projectGuidUpper }}.Release|arm64.Build.0 = Release|arm64
|
|
29
|
+
{{ projectGuidUpper }}.Release|arm64.Deploy.0 = Release|arm64
|
|
30
|
+
{{ projectGuidUpper }}.Release|x64.ActiveCfg = Release|x64
|
|
31
|
+
{{ projectGuidUpper }}.Release|x64.Build.0 = Release|x64
|
|
32
|
+
{{ projectGuidUpper }}.Release|x64.Deploy.0 = Release|x64
|
|
33
|
+
{{ projectGuidUpper }}.Release|x86.ActiveCfg = Release|x86
|
|
34
|
+
{{ projectGuidUpper }}.Release|x86.Build.0 = Release|x86
|
|
35
|
+
{{ projectGuidUpper }}.Release|x86.Deploy.0 = Release|x86
|
|
36
|
+
EndGlobalSection
|
|
37
|
+
GlobalSection(SolutionProperties) = preSolution
|
|
38
|
+
HideSolutionNode = FALSE
|
|
39
|
+
EndGlobalSection
|
|
40
|
+
GlobalSection(ExtensibilityGlobals) = postSolution
|
|
41
|
+
SolutionGuid = {DF5A9FD9-95A5-44AC-9D39-5595DF1B9F5E}
|
|
42
|
+
EndGlobalSection
|
|
43
|
+
EndGlobal
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<configuration>
|
|
3
|
+
<config>
|
|
4
|
+
<add key="repositoryPath" value="packages" />
|
|
5
|
+
</config>
|
|
6
|
+
<packageSources>
|
|
7
|
+
<clear />
|
|
8
|
+
{{#nuGetTestFeed}}
|
|
9
|
+
<add key="NuGetTestFeed" value="{{ nuGetTestFeed }}" />
|
|
10
|
+
{{/nuGetTestFeed}}
|
|
11
|
+
<add key="Nuget.org" value="https://api.nuget.org/v3/index.json" />
|
|
12
|
+
<add key="react-native" value="https://pkgs.dev.azure.com/ms/react-native/_packaging/react-native-public/nuget/v3/index.json" />
|
|
13
|
+
</packageSources>
|
|
14
|
+
<disabledPackageSources>
|
|
15
|
+
<clear />
|
|
16
|
+
</disabledPackageSources>
|
|
17
|
+
</configuration>
|
|
@@ -1,51 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
* https://github.com/facebook/react-native
|
|
4
|
-
*
|
|
5
|
-
* @format
|
|
6
|
-
*/
|
|
7
|
-
const fs = require('fs');
|
|
8
|
-
const path = require('path');
|
|
9
|
-
const exclusionList = require('metro-config/src/defaults/exclusionList');
|
|
10
|
-
|
|
11
|
-
const rnwPath = fs.realpathSync(
|
|
12
|
-
path.resolve(require.resolve('react-native-windows/package.json'), '..'),
|
|
13
|
-
);
|
|
14
|
-
const virtualizedListPath = fs.realpathSync(
|
|
15
|
-
path.resolve(
|
|
16
|
-
require.resolve('@react-native-windows/virtualized-list/package.json'),
|
|
17
|
-
'..',
|
|
18
|
-
),
|
|
19
|
-
);
|
|
20
|
-
const hoistedModules = fs.realpathSync(
|
|
21
|
-
path.resolve(rnwPath, '..', 'node_modules'),
|
|
22
|
-
);
|
|
23
|
-
module.exports = {
|
|
24
|
-
watchFolders: [rnwPath, virtualizedListPath, hoistedModules],
|
|
25
|
-
resolver: {
|
|
26
|
-
extraNodeModules: {
|
|
27
|
-
// Redirect react-native-windows to avoid symlink (metro doesn't like symlinks)
|
|
28
|
-
'react-native-windows': rnwPath,
|
|
29
|
-
// Add virtualized-list dependency, whose unsymlinked representation is not in node_modules, only in our repo
|
|
30
|
-
'@react-native-windows/virtualized-list': virtualizedListPath,
|
|
31
|
-
},
|
|
32
|
-
blockList: exclusionList([
|
|
33
|
-
// This stops "react-native run-windows" from causing the metro server to crash if its already running
|
|
34
|
-
new RegExp(
|
|
35
|
-
`${path.resolve(__dirname, 'windows').replace(/[/\\]/g, '/')}.*`,
|
|
36
|
-
),
|
|
37
|
-
// This prevents "react-native run-windows" from hitting: EBUSY: resource busy or locked, open msbuild.ProjectImports.zip or other files produced by msbuild
|
|
38
|
-
new RegExp(`${rnwPath}/build/.*`),
|
|
39
|
-
new RegExp(`${rnwPath}/target/.*`),
|
|
40
|
-
/.*\.ProjectImports\.zip/,
|
|
41
|
-
]),
|
|
42
|
-
},
|
|
43
|
-
transformer: {
|
|
44
|
-
getTransformOptions: async () => ({
|
|
45
|
-
transform: {
|
|
46
|
-
experimentalImportSupport: false,
|
|
47
|
-
inlineRequires: true,
|
|
48
|
-
},
|
|
49
|
-
}),
|
|
50
|
-
},
|
|
51
|
-
};
|
|
1
|
+
const {makeMetroConfig} = require('@rnw-scripts/metro-dev-config');
|
|
2
|
+
module.exports = makeMetroConfig();
|
package/typings-index.js
CHANGED
|
@@ -9,7 +9,11 @@
|
|
|
9
9
|
*/
|
|
10
10
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
11
11
|
if (k2 === undefined) k2 = k;
|
|
12
|
-
Object.
|
|
12
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
13
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
14
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
15
|
+
}
|
|
16
|
+
Object.defineProperty(o, k2, desc);
|
|
13
17
|
}) : (function(o, m, k, k2) {
|
|
14
18
|
if (k2 === undefined) k2 = k;
|
|
15
19
|
o[k2] = m[k];
|
package/typings-index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typings-index.js","sourceRoot":"","sources":["src/typings-index.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG
|
|
1
|
+
{"version":3,"file":"typings-index.js","sourceRoot":"","sources":["src/typings-index.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;;;;;;;;;;;;;;AAEH;;;;EAIE;AAEF,2EAA2E;AAC3E,wFAAwF;AACxF,iDAAiD;AACjD,kDAAgC;AAChC,4EAA0D;AAC1D,uEAAqD;AACrD,qEAAmD;AACnD,0EAAwD;AACxD,qEAAmD;AACnD,8EAA4D;AAC5D,mFAAiE;AACjE,+EAA6D;AAC7D,0EAAwD;AACxD,qEAAmD","sourcesContent":["/**\n * @packagedocumentation\n *\n * This package provides Windows specific components in addition to providing the core react-native primities.\n * Cross platform React-native primitives should be imported from 'react-native'\n * Windows specific components need to be imported from 'react-native-windows'\n *\n */\n\n/*\n This file is used to provide the typings for this package.\n NOTE: Concrete classes, objects etc that actually need to be exported from the package,\n need to also be added to index.windows.js\n*/\n\n// Importing from a copy of react-native types instead of from react-native\n// to allow custom typescript resolvers to redirect react-native to react-native-windows\n// when building bundles for the windows platform\nexport * from './rntypes/index';\nexport * from './Libraries/Components/Flyout/FlyoutProps';\nexport * from './Libraries/Components/Flyout/Flyout';\nexport * from './Libraries/Components/Glyph/Glyph';\nexport * from './Libraries/Components/Popup/PopupProps';\nexport * from './Libraries/Components/Popup/Popup';\nexport * from './Libraries/Components/Keyboard/KeyboardExt';\nexport * from './Libraries/Components/Keyboard/KeyboardExtProps';\nexport * from './Libraries/Components/View/ViewWindowsProps';\nexport * from './Libraries/Components/View/ViewWindows';\nexport * from './Libraries/AppTheme/AppThemeTypes';\n"]}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the MIT license found in the
|
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
|
6
|
-
*
|
|
7
|
-
* @flow strict-local
|
|
8
|
-
* @format
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
import codegenNativeComponent from '../../Utilities/codegenNativeComponent';
|
|
12
|
-
import type {HostComponent} from '../../Renderer/shims/ReactNativeTypes';
|
|
13
|
-
import type {ViewProps} from '../View/ViewPropTypes';
|
|
14
|
-
import type {
|
|
15
|
-
BubblingEventHandler,
|
|
16
|
-
WithDefault,
|
|
17
|
-
Int32,
|
|
18
|
-
} from '../../Types/CodegenTypes';
|
|
19
|
-
import type {ColorValue} from '../../StyleSheet/StyleSheet';
|
|
20
|
-
|
|
21
|
-
export type OnChangeEvent = $ReadOnly<{|
|
|
22
|
-
value: Int32,
|
|
23
|
-
selectedSegmentIndex: Int32,
|
|
24
|
-
|}>;
|
|
25
|
-
|
|
26
|
-
type NativeProps = $ReadOnly<{|
|
|
27
|
-
...ViewProps,
|
|
28
|
-
|
|
29
|
-
// Props
|
|
30
|
-
values?: $ReadOnlyArray<string>,
|
|
31
|
-
selectedIndex?: WithDefault<Int32, 0>,
|
|
32
|
-
enabled?: WithDefault<boolean, true>,
|
|
33
|
-
tintColor?: ?ColorValue,
|
|
34
|
-
textColor?: ?ColorValue,
|
|
35
|
-
backgroundColor?: ?ColorValue,
|
|
36
|
-
momentary?: WithDefault<boolean, false>,
|
|
37
|
-
|
|
38
|
-
// Events
|
|
39
|
-
onChange?: ?BubblingEventHandler<OnChangeEvent>,
|
|
40
|
-
|}>;
|
|
41
|
-
|
|
42
|
-
export default (codegenNativeComponent<NativeProps>(
|
|
43
|
-
'RCTSegmentedControl',
|
|
44
|
-
): HostComponent<NativeProps>);
|
|
@@ -1,45 +0,0 @@
|
|
|
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
|
-
*/
|
|
9
|
-
|
|
10
|
-
'use strict';
|
|
11
|
-
import * as React from 'react';
|
|
12
|
-
import StyleSheet from '../../StyleSheet/StyleSheet';
|
|
13
|
-
import Text from '../../Text/Text';
|
|
14
|
-
import View from '../View/View';
|
|
15
|
-
|
|
16
|
-
class DummySegmentedControlIOS extends React.Component {
|
|
17
|
-
render() {
|
|
18
|
-
return (
|
|
19
|
-
<View style={[styles.dummy, this.props.style]}>
|
|
20
|
-
<Text style={styles.text}>
|
|
21
|
-
SegmentedControlIOS is not supported on this platform!
|
|
22
|
-
</Text>
|
|
23
|
-
</View>
|
|
24
|
-
);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
const styles = StyleSheet.create({
|
|
29
|
-
dummy: {
|
|
30
|
-
width: 120,
|
|
31
|
-
height: 50,
|
|
32
|
-
backgroundColor: '#ffbcbc',
|
|
33
|
-
borderWidth: 1,
|
|
34
|
-
borderColor: 'red',
|
|
35
|
-
alignItems: 'center',
|
|
36
|
-
justifyContent: 'center',
|
|
37
|
-
},
|
|
38
|
-
text: {
|
|
39
|
-
color: '#333333',
|
|
40
|
-
margin: 5,
|
|
41
|
-
fontSize: 10,
|
|
42
|
-
},
|
|
43
|
-
});
|
|
44
|
-
|
|
45
|
-
module.exports = DummySegmentedControlIOS;
|
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the MIT license found in the
|
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
|
6
|
-
*
|
|
7
|
-
* @format
|
|
8
|
-
* @flow strict-local
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
import * as React from 'react';
|
|
12
|
-
import StyleSheet from '../../StyleSheet/StyleSheet';
|
|
13
|
-
import type {OnChangeEvent} from './RCTSegmentedControlNativeComponent';
|
|
14
|
-
import type {ViewProps} from '../View/ViewPropTypes';
|
|
15
|
-
import RCTSegmentedControlNativeComponent from './RCTSegmentedControlNativeComponent';
|
|
16
|
-
import type {SyntheticEvent} from 'react-native/Libraries/Types/CoreEventTypes';
|
|
17
|
-
|
|
18
|
-
type SegmentedControlIOSProps = $ReadOnly<{|
|
|
19
|
-
...ViewProps,
|
|
20
|
-
/**
|
|
21
|
-
* The labels for the control's segment buttons, in order.
|
|
22
|
-
*
|
|
23
|
-
* The default value is an empty array.
|
|
24
|
-
*/
|
|
25
|
-
values?: $ReadOnlyArray<string>,
|
|
26
|
-
/**
|
|
27
|
-
* The index in `props.values` of the segment to be (pre)selected.
|
|
28
|
-
*/
|
|
29
|
-
selectedIndex?: ?number,
|
|
30
|
-
/**
|
|
31
|
-
* If false the user won't be able to interact with the control.
|
|
32
|
-
*
|
|
33
|
-
* The default value is true.
|
|
34
|
-
*/
|
|
35
|
-
enabled?: boolean,
|
|
36
|
-
/**
|
|
37
|
-
* Accent color of the control.
|
|
38
|
-
*/
|
|
39
|
-
tintColor?: ?string,
|
|
40
|
-
/**
|
|
41
|
-
* If true, then selecting a segment won't persist visually.
|
|
42
|
-
* The `onValueChange` callback will still work as expected.
|
|
43
|
-
*/
|
|
44
|
-
momentary?: ?boolean,
|
|
45
|
-
/**
|
|
46
|
-
* Callback that is called when the user taps a segment
|
|
47
|
-
*/
|
|
48
|
-
onChange?: ?(event: SyntheticEvent<OnChangeEvent>) => void,
|
|
49
|
-
/**
|
|
50
|
-
* Callback that is called when the user taps a segment;
|
|
51
|
-
* passes the segment's value as an argument
|
|
52
|
-
*/
|
|
53
|
-
onValueChange?: ?(value: number) => mixed,
|
|
54
|
-
|}>;
|
|
55
|
-
|
|
56
|
-
type Props = $ReadOnly<{|
|
|
57
|
-
...SegmentedControlIOSProps,
|
|
58
|
-
forwardedRef: ?React.Ref<typeof RCTSegmentedControlNativeComponent>,
|
|
59
|
-
|}>;
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* Use `SegmentedControlIOS` to render a UISegmentedControl iOS.
|
|
63
|
-
*
|
|
64
|
-
* #### Programmatically changing selected index
|
|
65
|
-
*
|
|
66
|
-
* The selected index can be changed on the fly by assigning the
|
|
67
|
-
* selectedIndex prop to a state variable, then changing that variable.
|
|
68
|
-
* Note that the state variable would need to be updated as the user
|
|
69
|
-
* selects a value and changes the index, as shown in the example below.
|
|
70
|
-
*
|
|
71
|
-
* ````
|
|
72
|
-
* <SegmentedControlIOS
|
|
73
|
-
* values={['One', 'Two']}
|
|
74
|
-
* selectedIndex={this.state.selectedIndex}
|
|
75
|
-
* onChange={(event) => {
|
|
76
|
-
* this.setState({selectedIndex: event.nativeEvent.selectedSegmentIndex});
|
|
77
|
-
* }}
|
|
78
|
-
* />
|
|
79
|
-
* ````
|
|
80
|
-
*/
|
|
81
|
-
|
|
82
|
-
class SegmentedControlIOS extends React.Component<Props> {
|
|
83
|
-
_onChange = (event: SyntheticEvent<OnChangeEvent>) => {
|
|
84
|
-
this.props.onChange && this.props.onChange(event);
|
|
85
|
-
this.props.onValueChange &&
|
|
86
|
-
this.props.onValueChange(event.nativeEvent.value);
|
|
87
|
-
};
|
|
88
|
-
|
|
89
|
-
render() {
|
|
90
|
-
const {enabled, forwardedRef, onValueChange, style, values, ...props} =
|
|
91
|
-
this.props;
|
|
92
|
-
return (
|
|
93
|
-
<RCTSegmentedControlNativeComponent
|
|
94
|
-
{...props}
|
|
95
|
-
ref={forwardedRef}
|
|
96
|
-
style={[styles.segmentedControl, style]}
|
|
97
|
-
enabled={enabled !== false}
|
|
98
|
-
values={values ?? []}
|
|
99
|
-
onChange={this._onChange}
|
|
100
|
-
/>
|
|
101
|
-
);
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
const styles = StyleSheet.create({
|
|
106
|
-
segmentedControl: {
|
|
107
|
-
height: 28,
|
|
108
|
-
},
|
|
109
|
-
});
|
|
110
|
-
|
|
111
|
-
const SegmentedControlIOSWithRef = React.forwardRef(
|
|
112
|
-
(
|
|
113
|
-
props: SegmentedControlIOSProps,
|
|
114
|
-
forwardedRef: ?React.Ref<typeof RCTSegmentedControlNativeComponent>,
|
|
115
|
-
) => {
|
|
116
|
-
return <SegmentedControlIOS {...props} forwardedRef={forwardedRef} />;
|
|
117
|
-
},
|
|
118
|
-
);
|
|
119
|
-
|
|
120
|
-
/* $FlowFixMe[cannot-resolve-name] (>=0.89.0 site=react_native_ios_fb) This
|
|
121
|
-
* comment suppresses an error found when Flow v0.89 was deployed. To see the
|
|
122
|
-
* error, delete this comment and run Flow. */
|
|
123
|
-
module.exports = (SegmentedControlIOSWithRef: NativeSegmentedControlIOS);
|
|
@@ -1,45 +0,0 @@
|
|
|
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
|
-
*/
|
|
9
|
-
|
|
10
|
-
'use strict';
|
|
11
|
-
import * as React from 'react';
|
|
12
|
-
import StyleSheet from '../../StyleSheet/StyleSheet';
|
|
13
|
-
import Text from '../../Text/Text';
|
|
14
|
-
import View from '../View/View';
|
|
15
|
-
|
|
16
|
-
class DummySegmentedControlIOS extends React.Component {
|
|
17
|
-
render() {
|
|
18
|
-
return (
|
|
19
|
-
<View style={[styles.dummy, this.props.style]}>
|
|
20
|
-
<Text style={styles.text}>
|
|
21
|
-
SegmentedControlIOS is not supported on this platform!
|
|
22
|
-
</Text>
|
|
23
|
-
</View>
|
|
24
|
-
);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
const styles = StyleSheet.create({
|
|
29
|
-
dummy: {
|
|
30
|
-
width: 120,
|
|
31
|
-
height: 50,
|
|
32
|
-
backgroundColor: '#ffbcbc',
|
|
33
|
-
borderWidth: 1,
|
|
34
|
-
borderColor: 'red',
|
|
35
|
-
alignItems: 'center',
|
|
36
|
-
justifyContent: 'center',
|
|
37
|
-
},
|
|
38
|
-
text: {
|
|
39
|
-
color: '#333333',
|
|
40
|
-
margin: 5,
|
|
41
|
-
fontSize: 10,
|
|
42
|
-
},
|
|
43
|
-
});
|
|
44
|
-
|
|
45
|
-
module.exports = DummySegmentedControlIOS;
|