react-native-windows 0.72.13 → 0.73.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 +16 -5
- package/Chakra/ChakraHelpers.cpp +1 -1
- package/Chakra/ChakraUtils.cpp +1 -1
- package/Chakra/ChakraValue.h +1 -1
- package/Common/packages.lock.json +13 -0
- package/Directory.Build.props +6 -2
- package/Folly/TEMP_UntilFollyUpdate/dynamic-inl.h +1 -10
- package/Folly/TEMP_UntilFollyUpdate/hash/Hash.h +1016 -0
- package/Folly/TEMP_UntilFollyUpdate/lang/ToAscii.h +1 -1
- package/Folly/cgmanifest.json +1 -1
- package/Folly/packages.lock.json +23 -0
- package/Libraries/Animated/Animated.js +1 -1
- package/Libraries/Animated/AnimatedImplementation.js +1 -1
- package/Libraries/Animated/NativeAnimatedHelper.js +14 -10
- package/Libraries/Animated/NativeAnimatedModule.js +6 -2
- package/Libraries/Animated/NativeAnimatedTurboModule.js +7 -4
- package/Libraries/Animated/animations/Animation.js +57 -3
- package/Libraries/Animated/animations/DecayAnimation.js +9 -0
- package/Libraries/Animated/animations/SpringAnimation.js +8 -0
- package/Libraries/Animated/animations/TimingAnimation.js +8 -0
- package/Libraries/Animated/components/AnimatedFlatList.js +2 -1
- package/Libraries/Animated/components/AnimatedScrollView.js +2 -0
- package/Libraries/Animated/components/AnimatedSectionList.js +2 -1
- package/Libraries/Animated/createAnimatedComponent.js +1 -0
- package/Libraries/Animated/nodes/AnimatedColor.js +1 -1
- package/Libraries/Animated/nodes/AnimatedObject.js +146 -0
- package/Libraries/Animated/nodes/AnimatedProps.js +19 -7
- package/Libraries/Animated/nodes/AnimatedStyle.js +29 -55
- package/Libraries/Animated/nodes/AnimatedValueXY.js +3 -17
- package/Libraries/Animated/shouldUseTurboAnimatedModule.js +17 -0
- package/Libraries/Animated/useAnimatedProps.js +9 -10
- package/Libraries/AppState/AppState.d.ts +1 -1
- package/Libraries/AppState/NativeAppState.js +8 -4
- package/Libraries/AppTheme/AppTheme.js +5 -5
- package/Libraries/BatchedBridge/MessageQueue.js +45 -36
- package/Libraries/Blob/Blob.js +6 -2
- package/Libraries/Blob/BlobManager.js +9 -10
- package/Libraries/Blob/BlobRegistry.js +14 -9
- package/Libraries/Blob/File.js +1 -1
- package/Libraries/Blob/FileReader.js +1 -2
- package/Libraries/Components/Clipboard/Clipboard.d.ts +4 -4
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +3 -1
- package/Libraries/Components/Glyph/Glyph.js +1 -1
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +26 -6
- package/Libraries/Components/Keyboard/KeyboardExt.d.ts +4 -1
- package/Libraries/Components/Keyboard/KeyboardExt.js +3 -0
- package/Libraries/Components/Keyboard/KeyboardExt.js.map +1 -1
- package/Libraries/Components/Keyboard/KeyboardExtProps.d.ts +4 -29
- package/Libraries/Components/Keyboard/KeyboardExtProps.js +0 -17
- package/Libraries/Components/Keyboard/KeyboardExtProps.js.map +1 -1
- package/Libraries/Components/Pressable/Pressable.js +3 -2
- package/Libraries/Components/Pressable/Pressable.windows.js +4 -3
- package/Libraries/Components/Pressable/useAndroidRippleForView.js +1 -1
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +20 -0
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.windows.js +7 -1
- package/Libraries/Components/SafeAreaView/SafeAreaView.js +7 -7
- package/Libraries/Components/SafeAreaView/SafeAreaView.windows.js +7 -10
- package/Libraries/Components/ScrollView/ScrollView.js +3 -1
- package/Libraries/Components/ScrollView/ScrollView.windows.js +3 -1
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +39 -46
- package/Libraries/Components/Switch/Switch.js +1 -0
- package/Libraries/Components/Switch/Switch.windows.js +259 -0
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +1 -0
- package/Libraries/Components/TextInput/TextInput.d.ts +49 -7
- package/Libraries/Components/TextInput/TextInput.flow.js +43 -10
- package/Libraries/Components/TextInput/TextInput.js +62 -10
- package/Libraries/Components/TextInput/TextInput.windows.js +100 -14
- package/Libraries/Components/ToastAndroid/{ToastAndroid.ios.js → ToastAndroid.js} +9 -1
- package/Libraries/Components/ToastAndroid/ToastAndroid.windows.js +9 -1
- package/Libraries/Components/Touchable/TouchableBounce.js +1 -1
- package/Libraries/Components/Touchable/TouchableHighlight.js +1 -1
- package/Libraries/Components/Touchable/TouchableHighlight.windows.js +1 -1
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -1
- package/Libraries/Components/Touchable/TouchableOpacity.js +4 -1
- package/Libraries/Components/Touchable/TouchableOpacity.windows.js +4 -1
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -0
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +1 -0
- package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlay.js +16 -6
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +9 -0
- package/Libraries/Components/View/ReactNativeViewAttributes.js +1 -0
- package/Libraries/Components/View/ReactNativeViewAttributes.windows.js +1 -0
- package/Libraries/Components/View/View.js +46 -32
- package/Libraries/Components/View/View.windows.js +23 -7
- package/Libraries/Components/View/ViewAccessibility.d.ts +27 -1
- package/Libraries/Components/View/ViewAccessibility.windows.js +3 -0
- package/Libraries/Components/View/ViewNativeComponent.js +1 -0
- package/Libraries/Components/View/ViewPropTypes.d.ts +104 -1
- package/Libraries/Components/View/ViewPropTypes.js +18 -3
- package/Libraries/Components/View/ViewPropTypes.windows.js +33 -3
- package/Libraries/Core/Devtools/loadBundleFromServer.js +152 -0
- package/Libraries/Core/Devtools/symbolicateStackTrace.js +2 -1
- package/Libraries/Core/ExceptionsManager.js +16 -7
- package/Libraries/Core/ExtendedError.js +12 -0
- package/Libraries/Core/ReactNativeVersion.js +3 -3
- package/Libraries/Core/ReactNativeVersionCheck.js +0 -2
- package/Libraries/Core/__mocks__/NativeExceptionsManager.js +20 -0
- package/Libraries/Core/setUpDeveloperTools.js +5 -1
- package/Libraries/Core/setUpIntersectionObserver.js +16 -0
- package/Libraries/Core/setUpMutationObserver.js +16 -0
- package/Libraries/Core/setUpPerformance.js +6 -13
- package/Libraries/Core/setUpPerformanceObserver.js +16 -0
- package/Libraries/Core/setUpRegeneratorRuntime.js +4 -2
- package/Libraries/DOM/Nodes/ReactNativeElement.js +135 -18
- package/Libraries/DOM/Nodes/ReadOnlyCharacterData.js +72 -0
- package/Libraries/DOM/Nodes/ReadOnlyElement.js +209 -21
- package/Libraries/DOM/Nodes/ReadOnlyNode.js +206 -17
- package/Libraries/DOM/Nodes/ReadOnlyText.js +30 -0
- package/Libraries/DOM/Nodes/Utilities/Traversal.js +54 -0
- package/Libraries/EventEmitter/NativeEventEmitter.d.ts +0 -6
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +15 -4
- package/Libraries/Image/Image.android.js +8 -2
- package/Libraries/Image/Image.d.ts +1 -1
- package/Libraries/Image/Image.ios.js +4 -1
- package/Libraries/Image/Image.windows.js +6 -3
- package/Libraries/Image/ImageBackground.js +3 -0
- package/Libraries/Inspector/DevtoolsOverlay.js +6 -3
- package/Libraries/Inspector/NetworkOverlay.js +2 -2
- package/Libraries/Interaction/JSEventLoopWatchdog.js +1 -5
- package/Libraries/Interaction/PanResponder.js +1 -4
- package/Libraries/IntersectionObserver/IntersectionObserver.js +252 -0
- package/Libraries/IntersectionObserver/IntersectionObserverEntry.js +140 -0
- package/Libraries/IntersectionObserver/IntersectionObserverManager.js +221 -0
- package/Libraries/IntersectionObserver/NativeIntersectionObserver.js +41 -0
- package/Libraries/IntersectionObserver/__mocks__/NativeIntersectionObserver.js +162 -0
- package/Libraries/LayoutAnimation/LayoutAnimation.js +1 -1
- package/Libraries/Lists/FlatList.d.ts +2 -1
- package/Libraries/Lists/FlatList.js +15 -5
- package/Libraries/Lists/SectionList.js +4 -0
- package/Libraries/LogBox/Data/LogBoxLog.js +4 -1
- package/Libraries/LogBox/Data/LogBoxSymbolication.js +5 -2
- package/Libraries/LogBox/Data/parseLogBoxLog.js +57 -20
- package/Libraries/LogBox/UI/AnsiHighlight.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +24 -31
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +1 -1
- package/Libraries/LogBox/UI/LogBoxMessage.js +4 -7
- package/Libraries/MutationObserver/MutationObserver.js +184 -0
- package/Libraries/MutationObserver/MutationObserverManager.js +218 -0
- package/Libraries/MutationObserver/MutationRecord.js +82 -0
- package/Libraries/MutationObserver/NativeMutationObserver.js +58 -0
- package/Libraries/MutationObserver/__mocks__/NativeMutationObserver.js +327 -0
- package/Libraries/NativeComponent/BaseViewConfig.android.js +18 -3
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +33 -0
- package/Libraries/NativeComponent/BaseViewConfig.windows.js +34 -4
- package/Libraries/NativeComponent/NativeComponentRegistry.js +3 -5
- package/Libraries/NativeModules/specs/NativeSourceCode.js +6 -6
- package/Libraries/Network/RCTNetworking.android.js +2 -1
- package/Libraries/Network/XMLHttpRequest.js +1 -1
- package/Libraries/NewAppScreen/components/DebugInstructions.js +4 -4
- package/Libraries/NewAppScreen/components/DebugInstructions.windows.js +2 -2
- package/Libraries/NewAppScreen/components/LearnMoreLinks.js +9 -2
- package/Libraries/Performance/QuickPerformanceLogger.js +1 -1
- package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +1 -0
- package/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +1 -0
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +3 -1
- package/Libraries/Pressability/Pressability.js +28 -3
- package/Libraries/Pressability/Pressability.windows.js +30 -5
- package/Libraries/ReactNative/AppContainer.js +2 -3
- package/Libraries/ReactNative/AppRegistry.d.ts +0 -5
- package/Libraries/ReactNative/AppRegistry.js +66 -53
- package/Libraries/ReactNative/BridgelessUIManager.js +38 -9
- package/Libraries/ReactNative/FabricUIManager.js +143 -34
- package/Libraries/ReactNative/I18nManager.js +5 -11
- package/Libraries/ReactNative/NativeI18nManager.js +7 -5
- package/Libraries/ReactNative/PaperUIManager.windows.js +2 -2
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +151 -0
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +81 -0
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +492 -0
- package/Libraries/ReactNative/ReactFabricPublicInstance/warnForStyleProps.js +32 -0
- package/Libraries/ReactNative/ReactNativeFeatureFlags.js +19 -3
- package/Libraries/ReactNative/UIManager.js +8 -0
- package/Libraries/ReactNative/__mocks__/FabricUIManager.js +648 -0
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +38 -2
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +27 -27
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +3 -3
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3 -3
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +27 -27
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +3 -3
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +3 -3
- package/Libraries/Renderer/shims/ReactFabric.js +5 -6
- package/Libraries/Renderer/shims/ReactFeatureFlags.js +2 -3
- package/Libraries/Renderer/shims/ReactNative.js +2 -3
- package/Libraries/Renderer/shims/ReactNativeTypes.js +35 -17
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +3 -3
- package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -3
- package/Libraries/Settings/{Settings.android.js → Settings.js} +4 -4
- package/Libraries/Share/Share.d.ts +3 -9
- package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +9 -4
- package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +28 -13
- package/Libraries/StyleSheet/PlatformColorValueTypes.windows.js +10 -6
- package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +1 -1
- package/Libraries/StyleSheet/StyleSheet.d.ts +10 -1
- package/Libraries/StyleSheet/StyleSheet.js +3 -0
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +31 -17
- package/Libraries/StyleSheet/StyleSheetTypes.js +90 -6
- package/Libraries/StyleSheet/flattenStyle.js +4 -0
- package/Libraries/StyleSheet/private/_TransformStyle.js +16 -2
- package/Libraries/StyleSheet/processColor.js +1 -2
- package/Libraries/StyleSheet/processTransformOrigin.js +136 -0
- package/Libraries/StyleSheet/splitLayoutProps.js +1 -0
- package/Libraries/Text/Text.d.ts +5 -5
- package/Libraries/Text/Text.js +17 -10
- package/Libraries/Text/Text.windows.js +53 -20
- package/Libraries/Text/TextProps.windows.js +275 -0
- package/Libraries/TurboModule/TurboModuleRegistry.js +47 -7
- package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +6 -0
- package/Libraries/Types/CoreEventTypes.d.ts +5 -2
- package/Libraries/Utilities/GlobalPerformanceLogger.js +2 -12
- package/Libraries/Utilities/NativeDeviceInfo.js +8 -9
- package/Libraries/Utilities/NativePlatformConstantsAndroid.js +23 -18
- package/Libraries/Utilities/NativePlatformConstantsIOS.js +16 -13
- package/Libraries/Utilities/NativePlatformConstantsWin.js +13 -10
- package/Libraries/Utilities/PerformanceLoggerContext.js +1 -1
- package/Libraries/Utilities/Platform.android.js +12 -8
- package/Libraries/Utilities/Platform.d.ts +1 -0
- package/Libraries/Utilities/Platform.flow.js +84 -0
- package/Libraries/Utilities/Platform.flow.windows.js +111 -0
- package/Libraries/Utilities/Platform.ios.js +12 -8
- package/Libraries/Utilities/Platform.windows.js +12 -8
- package/Libraries/Utilities/PolyfillFunctions.js +1 -1
- package/Libraries/Utilities/ReactNativeTestTools.js +1 -2
- package/Libraries/Utilities/SceneTracker.js +1 -1
- package/Libraries/Utilities/createPerformanceLogger.js +63 -32
- package/Libraries/Utilities/useColorScheme.js +7 -8
- package/Libraries/WebPerformance/MemoryInfo.js +1 -1
- package/Libraries/WebPerformance/NativePerformance.js +3 -8
- package/Libraries/WebPerformance/NativePerformanceObserver.js +4 -0
- package/Libraries/WebPerformance/Performance.js +42 -15
- package/Libraries/WebPerformance/PerformanceEntry.js +14 -6
- package/Libraries/WebPerformance/PerformanceEventTiming.js +18 -1
- package/Libraries/WebPerformance/ReactNativeStartupTiming.js +40 -14
- package/Libraries/WebPerformance/__mocks__/NativePerformance.js +4 -2
- package/Libraries/WebPerformance/__mocks__/NativePerformanceObserver.js +21 -3
- package/Libraries/__tests__/ViewWindows-test.js +3 -3
- package/Libraries/platform-types.d.ts +6 -2
- package/Libraries/promiseRejectionTrackingOptions.js +1 -3
- package/Libraries/vendor/emitter/EventEmitter.js +20 -18
- package/Microsoft.ReactNative/Composition.Input.idl +103 -0
- package/Microsoft.ReactNative/CompositionContext.idl +31 -8
- package/Microsoft.ReactNative/CompositionRootView.idl +8 -4
- package/Microsoft.ReactNative/CompositionSwitcher.idl +28 -17
- package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.cpp +15 -28
- package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.h +7 -10
- package/Microsoft.ReactNative/Fabric/ComponentView.h +42 -4
- package/Microsoft.ReactNative/Fabric/Composition/AbiCompositionViewComponentView.cpp +57 -4
- package/Microsoft.ReactNative/Fabric/Composition/AbiCompositionViewComponentView.h +22 -1
- package/Microsoft.ReactNative/Fabric/Composition/ActivityIndicatorComponentView.cpp +137 -0
- package/Microsoft.ReactNative/Fabric/Composition/ActivityIndicatorComponentView.h +59 -0
- package/Microsoft.ReactNative/Fabric/Composition/ComponentViewRegistry.cpp +8 -2
- package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.cpp +575 -0
- package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.h +170 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +890 -226
- package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.h +38 -6
- package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper_emptyimpl.cpp +79 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +130 -27
- package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.h +6 -1
- package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +382 -228
- package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.h +35 -8
- package/Microsoft.ReactNative/Fabric/Composition/CompositionHelpers.h +46 -8
- package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.cpp +5 -21
- package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.h +1 -1
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.cpp +232 -4
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.h +36 -1
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.cpp +51 -14
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.h +15 -6
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView_emptyimpl.cpp +123 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionUIService_emptyimpl.cpp +18 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +333 -137
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +52 -8
- package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.cpp +32 -26
- package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.h +5 -3
- package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +183 -175
- package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.h +7 -4
- package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.cpp +101 -2
- package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.h +46 -2
- package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.cpp +36 -9
- package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.h +8 -2
- package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +247 -42
- package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.h +25 -8
- package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.cpp +78 -50
- package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.h +12 -4
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentDescriptor.h +26 -28
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +429 -89
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.h +24 -3
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputProps.cpp +1 -0
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputProps.h +3 -2
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +5 -7
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.h +4 -6
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.cpp +1 -7
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.h +1 -17
- package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.cpp +74 -3
- package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.h +12 -0
- package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.cpp +53 -59
- package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.h +3 -2
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +5 -4
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +2 -1
- package/Microsoft.ReactNative/Fabric/ImageRequest.cpp +1 -1
- package/Microsoft.ReactNative/Fabric/ReactTaggedView.h +1 -1
- package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.cpp +3 -4
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformTouch.h +10 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewEventEmitter.cpp +59 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewEventEmitter.h +31 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewProps.cpp +69 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewProps.h +25 -2
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +23 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/KeyEvent.h +113 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/WindowsViewEvents.h +75 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/core/graphicsConversions.h +18 -21
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.cpp +158 -7
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.h +15 -17
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.cpp +1 -1
- package/Microsoft.ReactNative/GlyphViewManager.cpp +1 -1
- package/Microsoft.ReactNative/IJSValueReader.idl +2 -2
- package/Microsoft.ReactNative/IJSValueWriter.idl +2 -2
- package/Microsoft.ReactNative/IReactCompositionViewComponentBuilder.idl +23 -1
- package/Microsoft.ReactNative/IReactContext.cpp +1 -1
- package/Microsoft.ReactNative/IReactNotificationService.cpp +4 -3
- package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +1 -4
- package/Microsoft.ReactNative/Modules/AlertModule.cpp +2 -2
- package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.cpp +1 -2
- package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.h +1 -1
- package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.cpp +3 -4
- package/Microsoft.ReactNative/Modules/AppStateModule.cpp +1 -1
- package/Microsoft.ReactNative/Modules/AppStateModule.h +2 -2
- package/Microsoft.ReactNative/Modules/AppearanceModule.h +1 -1
- package/Microsoft.ReactNative/Modules/DeviceInfoModule.cpp +4 -2
- package/Microsoft.ReactNative/Modules/DeviceInfoModule.h +1 -1
- package/Microsoft.ReactNative/Modules/I18nManagerModule.cpp +2 -2
- package/Microsoft.ReactNative/Modules/I18nManagerModule.h +1 -1
- package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +21 -15
- package/Microsoft.ReactNative/Modules/PaperUIManagerModule.cpp +10 -6
- package/Microsoft.ReactNative/Modules/PaperUIManagerModule.h +4 -1
- package/Microsoft.ReactNative/QuirkSettings.idl +1 -1
- package/Microsoft.ReactNative/ReactApplication.cpp +13 -11
- package/Microsoft.ReactNative/ReactApplication.h +4 -4
- package/Microsoft.ReactNative/ReactCoreInjection.h +6 -5
- package/Microsoft.ReactNative/ReactHost/JSCallInvokerScheduler.cpp +2 -2
- package/Microsoft.ReactNative/ReactHost/MsoUtils.cpp +1 -1
- package/Microsoft.ReactNative/ReactHost/React.h +3 -6
- package/Microsoft.ReactNative/ReactHost/ReactHost.cpp +0 -16
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +8 -16
- package/Microsoft.ReactNative/ReactInstanceSettings.cpp +6 -5
- package/Microsoft.ReactNative/ReactInstanceSettings.h +7 -7
- package/Microsoft.ReactNative/ReactNativeHost.h +4 -4
- package/Microsoft.ReactNative/ReactRootView.cpp +5 -4
- package/Microsoft.ReactNative/ReactRootView.h +2 -2
- package/Microsoft.ReactNative/ReactSupport.h +1 -1
- package/Microsoft.ReactNative/RedBox.cpp +1 -1
- package/Microsoft.ReactNative/RedBoxHandler.idl +1 -1
- package/Microsoft.ReactNative/Utils/UwpPreparedScriptStore.h +1 -1
- package/Microsoft.ReactNative/Utils/ValueUtils.cpp +49 -21
- package/Microsoft.ReactNative/Utils/ValueUtils.h +2 -1
- package/Microsoft.ReactNative/Views/DynamicAutomationPeer.cpp +31 -59
- package/Microsoft.ReactNative/Views/DynamicAutomationPeer.h +3 -4
- package/Microsoft.ReactNative/Views/DynamicAutomationProperties.cpp +15 -46
- package/Microsoft.ReactNative/Views/DynamicAutomationProperties.h +5 -13
- package/Microsoft.ReactNative/Views/FlyoutViewManager.cpp +4 -4
- package/Microsoft.ReactNative/Views/FrameworkElementTransferProperties.cpp +2 -8
- package/Microsoft.ReactNative/Views/FrameworkElementViewManager.cpp +127 -86
- package/Microsoft.ReactNative/Views/ICompositionRootView.h +1 -1
- package/Microsoft.ReactNative/Views/Image/ImageViewManager.cpp +1 -1
- package/Microsoft.ReactNative/Views/Image/Microsoft.UI.Composition.Effects_Impl.h +2 -2
- package/Microsoft.ReactNative/Views/Image/ReactImage.cpp +1 -1
- package/Microsoft.ReactNative/Views/SIPEventHandler.cpp +5 -5
- package/Microsoft.ReactNative/Views/SIPEventHandler.h +1 -1
- package/Microsoft.ReactNative/Views/ShadowNodeBase.h +8 -5
- package/Microsoft.ReactNative/Views/SwitchViewManager.cpp +2 -2
- package/Microsoft.ReactNative/Views/Text/TextTransformVisitor.cpp +1 -1
- package/Microsoft.ReactNative/Views/TextInputViewManager.cpp +32 -14
- package/Microsoft.ReactNative/Views/TouchEventHandler.cpp +1 -1
- package/Microsoft.ReactNative/Views/ViewManagerBase.cpp +14 -2
- package/Microsoft.ReactNative/Views/ViewManagerBase.h +1 -1
- package/Microsoft.ReactNative/Views/ViewPanel.cpp +20 -219
- package/Microsoft.ReactNative/Views/ViewPanel.h +0 -30
- package/Microsoft.ReactNative/Views/ViewViewManager.cpp +17 -158
- package/Microsoft.ReactNative/Views/cppwinrt/DynamicAutomationPeer.idl +9 -12
- package/Microsoft.ReactNative/Views/cppwinrt/ViewPanel.idl +1 -9
- package/Microsoft.ReactNative/XamlHelper.cpp +1 -1
- package/Microsoft.ReactNative/XamlHelper.h +1 -1
- package/Microsoft.ReactNative/packages.lock.json +128 -0
- package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.cpp +1 -1
- package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.h +1 -1
- package/Microsoft.ReactNative.Cxx/JSI/JsiApiContext.cpp +2 -2
- package/Microsoft.ReactNative.Cxx/JSValue.h +2 -2
- package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +0 -1
- package/Microsoft.ReactNative.Cxx/NativeModules.h +4 -4
- package/Microsoft.ReactNative.Cxx/ReactHandleHelper.h +1 -1
- package/Microsoft.ReactNative.Cxx/ReactNonAbiValue.h +2 -2
- package/Microsoft.ReactNative.Cxx/ReactNotificationService.h +10 -9
- package/Microsoft.ReactNative.Cxx/ReactPropertyBag.h +13 -12
- package/Microsoft.ReactNative.Managed/JSValueReaderGenerator.cs +5 -5
- package/Microsoft.ReactNative.Managed/JSValueWriterGenerator.cs +5 -5
- package/Microsoft.ReactNative.Managed/Microsoft.ReactNative.Managed.csproj +8 -2
- package/Microsoft.ReactNative.Managed/ReactPackageBuilderExtensions.cs +1 -1
- package/Microsoft.ReactNative.Managed/ReflectionReactPackageProvider.cs +1 -1
- package/Microsoft.ReactNative.Managed/packages.lock.json +9 -9
- package/Microsoft.ReactNative.Managed.CodeGen/CodeAnalyzer.cs +2 -0
- package/Microsoft.ReactNative.Managed.CodeGen/CodeGenerator.Module.cs +4 -2
- package/Microsoft.ReactNative.Managed.CodeGen/CodeGenerator.ViewManager.cs +1 -1
- package/Microsoft.ReactNative.Managed.CodeGen/DiagnosticDescriptors.cs +1 -1
- package/Microsoft.ReactNative.Managed.CodeGen/packages.lock.json +3197 -0
- package/Mso/compilerAdapters/compilerFeatures.h +1 -1
- package/Mso/compilerAdapters/functionDecorations.h +6 -6
- package/Mso/debugAssertApi/debugAssertDetails.h +1 -1
- package/Mso/dispatchQueue/dispatchQueue.h +3 -3
- package/Mso/motifCpp/motifCppTest.h +1 -1
- package/Mso/motifCpp/testCheck.h +1 -1
- package/Mso/oacr/oacr.h +1 -1
- package/Mso/smartPtr/smartPointerBase.h +1 -1
- package/Mso/src/dispatchQueue/looperScheduler.cpp +2 -2
- package/Mso/src/dispatchQueue/queueService.cpp +1 -1
- package/Mso/src/dispatchQueue/taskQueue.h +1 -1
- package/Mso/src/dispatchQueue/threadPoolScheduler_win.cpp +2 -2
- package/Mso/src/dispatchQueue/uiScheduler_winrt.cpp +122 -45
- package/Mso/src/eventWaitHandle/eventWaitHandleImpl_win.cpp +2 -2
- package/Mso/src/future/futureImpl.cpp +5 -5
- package/Mso/src/future/futureImpl.h +1 -1
- package/PropertySheets/External/Microsoft.ReactNative.Common.props +3 -0
- package/PropertySheets/External/{Microsoft.ReactNative.WinAppSDK.Common.props → Microsoft.ReactNative.Composition.Common.props} +2 -2
- package/PropertySheets/External/{Microsoft.ReactNative.WinAppSDK.CSharpApp.props → Microsoft.ReactNative.Composition.CppApp.props} +7 -10
- package/PropertySheets/External/Microsoft.ReactNative.Composition.CppApp.targets +19 -0
- package/PropertySheets/External/Microsoft.ReactNative.Composition.Package.props +14 -0
- package/PropertySheets/External/Microsoft.ReactNative.Composition.Package.targets +18 -0
- package/PropertySheets/External/Microsoft.ReactNative.WindowsSdk.Default.props +1 -1
- package/PropertySheets/Generated/PackageVersion.g.props +4 -4
- package/PropertySheets/HybridCRT.props +34 -0
- package/PropertySheets/JSEngine.props +1 -2
- package/PropertySheets/React.Cpp.props +0 -1
- package/PropertySheets/Warnings.props +1 -1
- package/PropertySheets/WinUI.props +1 -1
- package/ReactCommon/ReactCommon.vcxproj +15 -9
- package/ReactCommon/ReactCommon.vcxproj.filters +0 -3
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +32 -5
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/Bridging.h +20 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/YogaLayoutableShadowNode.cpp +1038 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/YogaStylableProps.cpp +228 -38
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/conversions.h +895 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/mounting/ShadowTree.cpp +543 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/uimanager/UIManagerBinding.cpp +1509 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/bits/NumericBitfield.h +67 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/config/Config.h +93 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/LayoutResults.h +88 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/Node.cpp +606 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/Node.h +344 -0
- package/ReactCommon/Yoga.cpp +497 -3895
- package/ReactCommon/packages.lock.json +30 -0
- package/Scripts/NuGetRestoreForceEvaluateAllSolutions.ps1 +22 -0
- package/Scripts/OfficeReact.Win32.nuspec +1 -0
- package/Scripts/rnw-dependencies.ps1 +79 -26
- package/Shared/BaseScriptStoreImpl.cpp +42 -13
- package/Shared/BaseScriptStoreImpl.h +1 -1
- package/Shared/Composition/AutoDraw.h +36 -0
- package/Shared/CxxMessageQueue.cpp +1 -1
- package/Shared/DevSettings.h +3 -0
- package/Shared/DevSupportManager.h +1 -1
- package/Shared/Hasher.cpp +64 -0
- package/Shared/Hasher.h +24 -0
- package/Shared/HermesRuntimeHolder.cpp +6 -6
- package/Shared/IDevSupportManager.h +1 -1
- package/Shared/JSI/ChakraApi.cpp +1 -1
- package/Shared/JSI/ChakraRuntime.cpp +10 -10
- package/Shared/JSI/ChakraRuntime.h +6 -6
- package/Shared/JSI/V8RuntimeHolder.cpp +1 -1
- package/Shared/Modules/IRequestBodyHandler.h +1 -1
- package/Shared/Modules/IUriHandler.h +1 -1
- package/Shared/Modules/PlatformConstantsModule.cpp +1 -1
- package/Shared/Modules/WebSocketModule.cpp +1 -1
- package/Shared/Networking/DefaultBlobResource.cpp +2 -2
- package/Shared/Networking/OriginPolicyHttpFilter.cpp +22 -16
- package/Shared/Networking/OriginPolicyHttpFilter.h +12 -11
- package/Shared/OInstance.cpp +9 -23
- package/Shared/OInstance.h +1 -1
- package/Shared/PackagerConnection.h +1 -1
- package/Shared/SafeLoadLibrary.cpp +8 -44
- package/Shared/SafeLoadLibrary.h +1 -5
- package/Shared/Shared.vcxitems +50 -20
- package/Shared/Shared.vcxitems.filters +26 -17
- package/Shared/Threading/BatchingQueueThread.cpp +5 -5
- package/Shared/Threading/BatchingQueueThread.h +4 -4
- package/Shared/TurboModuleManager.cpp +1 -1
- package/Shared/Utils.cpp +1 -1
- package/Shared/tracing/fbsystrace.h +1 -1
- package/codegen/NativeAnimatedModuleSpec.g.h +2 -0
- package/codegen/NativeAnimatedTurboModuleSpec.g.h +2 -0
- package/codegen/NativeAppStateSpec.g.h +11 -21
- package/codegen/NativeDeviceInfoSpec.g.h +4 -14
- package/codegen/NativeI18nManagerSpec.g.h +6 -16
- package/codegen/NativeIntersectionObserverSpec.g.h +96 -0
- package/codegen/NativeMutationObserverSpec.g.h +90 -0
- package/codegen/NativePerformanceObserverSpec.g.h +19 -13
- package/codegen/NativePerformanceSpec.g.h +6 -23
- package/codegen/NativePlatformConstantsAndroidSpec.g.h +22 -30
- package/codegen/NativePlatformConstantsIOSSpec.g.h +17 -25
- package/codegen/NativePlatformConstantsWinSpec.g.h +14 -22
- package/codegen/NativeSampleTurboModuleSpec.g.h +36 -0
- package/codegen/NativeSourceCodeSpec.g.h +3 -13
- package/codegen/react/components/rnwcore/EventEmitters.cpp +85 -58
- package/codegen/react/components/rnwcore/EventEmitters.h +17 -35
- package/codegen/react/components/rnwcore/Props.h +16 -17
- package/codegen/rnwcoreJSI-generated.cpp +1462 -319
- package/codegen/rnwcoreJSI.h +1609 -462
- package/fmt/packages.lock.json +13 -0
- package/index.windows.js +3 -3
- package/{Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.ios.js → jest/ReactNativeInternalFeatureFlagsMock.js} +2 -1
- package/jest/__tests__/setup-test.js +18 -0
- package/jest/mockModal.js +6 -4
- package/jest/setup.js +61 -30
- package/just-task.js +1 -0
- package/package.json +37 -42
- package/template/cs-app/proj/MyApp.csproj +0 -1
- package/template/cs-lib/proj/MyLib.csproj +0 -1
- package/templates/.clang-format +4 -0
- package/templates/cpp-app/metro.config.js +51 -0
- package/templates/cpp-app/template.config.js +119 -0
- package/templates/cpp-app/windows/ExperimentalFeatures.props +12 -0
- package/templates/cpp-app/windows/MyApp/MyApp.cpp +284 -0
- package/templates/cpp-app/windows/MyApp/MyApp.h +3 -0
- package/templates/cpp-app/windows/MyApp/MyApp.ico +0 -0
- package/templates/cpp-app/windows/MyApp/MyApp.rc +0 -0
- package/templates/cpp-app/windows/MyApp/MyApp.vcxproj +142 -0
- package/templates/cpp-app/windows/MyApp/MyApp.vcxproj.filters +55 -0
- package/templates/cpp-app/windows/MyApp/_gitignore +1 -0
- package/templates/cpp-app/windows/MyApp/pch.cpp +1 -0
- package/templates/cpp-app/windows/MyApp/pch.h +35 -0
- package/templates/cpp-app/windows/MyApp/resource.h +18 -0
- package/templates/cpp-app/windows/MyApp/small.ico +0 -0
- package/templates/cpp-app/windows/MyApp/targetver.h +8 -0
- package/templates/cpp-app/windows/MyApp.Package/Images/LockScreenLogo.scale-200.png +0 -0
- package/templates/cpp-app/windows/MyApp.Package/Images/SplashScreen.scale-200.png +0 -0
- package/templates/cpp-app/windows/MyApp.Package/Images/Square150x150Logo.scale-200.png +0 -0
- package/templates/cpp-app/windows/MyApp.Package/Images/Square44x44Logo.scale-200.png +0 -0
- package/templates/cpp-app/windows/MyApp.Package/Images/Square44x44Logo.targetsize-24_altform-unplated.png +0 -0
- package/templates/cpp-app/windows/MyApp.Package/Images/StoreLogo.png +0 -0
- package/templates/cpp-app/windows/MyApp.Package/Images/Wide310x150Logo.scale-200.png +0 -0
- package/templates/cpp-app/windows/MyApp.Package/MyApp.Package.wapproj +78 -0
- package/{template/cs-app-WinAppSDK/MyApp → templates/cpp-app/windows/MyApp.Package}/Package.appxmanifest +9 -8
- package/templates/cpp-app/windows/MyApp.sln +176 -0
- package/templates/cpp-app/windows/_gitignore +41 -0
- package/templates/old/generateWrapper.js +67 -0
- package/templates/old/uwp-cpp-app/template.config.js +15 -0
- package/templates/old/uwp-cpp-lib/template.config.js +15 -0
- package/templates/old/uwp-cs-app/template.config.js +15 -0
- package/templates/old/uwp-cs-lib/template.config.js +15 -0
- package/types/experimental.d.ts +44 -0
- package/types/index.d.ts +2 -1
- package/types/modules/Devtools.d.ts +1 -0
- package/types/modules/globals.d.ts +16 -1
- package/Libraries/Components/View/ViewWindows.d.ts +0 -19
- package/Libraries/Components/View/ViewWindows.js +0 -22
- package/Libraries/Components/View/ViewWindows.js.map +0 -1
- package/Libraries/Components/View/ViewWindowsProps.d.ts +0 -69
- package/Libraries/Components/View/ViewWindowsProps.js +0 -8
- package/Libraries/Components/View/ViewWindowsProps.js.map +0 -1
- package/Libraries/Utilities/AcessibilityMapping.js +0 -154
- package/Libraries/Utilities/NativeDevSplitBundleLoader.js +0 -19
- package/Libraries/Utilities/useColorScheme.windows.js +0 -26
- package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/WindowsViewProps.cpp +0 -61
- package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/WindowsViewProps.h +0 -34
- package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/primitives.h +0 -42
- package/PropertySheets/External/Microsoft.ReactNative.WinAppSDK.CSharp.PackageReferences.props +0 -11
- package/PropertySheets/External/Microsoft.ReactNative.WinAppSDK.CSharpApp.targets +0 -51
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.cpp +0 -237
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.h +0 -59
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewEventEmitter.cpp +0 -159
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewEventEmitter.h +0 -94
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewProps.cpp +0 -465
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewProps.h +0 -116
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewShadowNode.cpp +0 -98
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/primitives.h +0 -326
- package/Scripts/Microsoft.ReactNative.WindowsAppSDK.nuspec +0 -30
- package/Shared/V8JSIRuntimeHolder.cpp +0 -71
- package/Shared/V8JSIRuntimeHolder.h +0 -56
- package/codegen/NativeDevSplitBundleLoaderSpec.g.h +0 -34
- package/template/cs-app-WinAppSDK/MyApp/App.xaml +0 -16
- package/template/cs-app-WinAppSDK/MyApp/App.xaml.cs +0 -70
- package/template/cs-app-WinAppSDK/MyApp/MainWindow.xaml +0 -14
- package/template/cs-app-WinAppSDK/MyApp/MainWindow.xaml.cs +0 -38
- package/template/cs-app-WinAppSDK/MyApp/Properties/PublishProfiles/win10-arm64.pubxml +0 -19
- package/template/cs-app-WinAppSDK/MyApp/Properties/PublishProfiles/win10-x64.pubxml +0 -19
- package/template/cs-app-WinAppSDK/MyApp/Properties/PublishProfiles/win10-x86.pubxml +0 -19
- package/template/cs-app-WinAppSDK/MyApp/Properties/launchSettings.json +0 -10
- package/template/cs-app-WinAppSDK/MyApp/app.manifest +0 -15
- package/template/cs-app-WinAppSDK/proj/ExperimentalFeatures.props +0 -24
- package/template/cs-app-WinAppSDK/proj/MyApp.csproj +0 -53
- package/template/cs-app-WinAppSDK/proj/MyApp.sln +0 -43
- package/template/cs-app-WinAppSDK/proj/NuGet_Config +0 -19
- /package/Libraries/Components/DrawerAndroid/{DrawerLayoutAndroid.ios.js → DrawerLayoutAndroid.js} +0 -0
- /package/Libraries/{Renderer/public → ReactNative/ReactFabricPublicInstance}/ReactFabricPublicInstanceUtils.js +0 -0
|
@@ -0,0 +1,259 @@
|
|
|
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
|
+
* @generate-docs
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
import type {ColorValue} from '../../StyleSheet/StyleSheet';
|
|
13
|
+
import type {SyntheticEvent} from '../../Types/CoreEventTypes';
|
|
14
|
+
import type {ViewProps} from '../View/ViewPropTypes';
|
|
15
|
+
|
|
16
|
+
import StyleSheet from '../../StyleSheet/StyleSheet';
|
|
17
|
+
import Platform from '../../Utilities/Platform';
|
|
18
|
+
import useMergeRefs from '../../Utilities/useMergeRefs';
|
|
19
|
+
import AndroidSwitchNativeComponent, {
|
|
20
|
+
Commands as AndroidSwitchCommands,
|
|
21
|
+
} from './AndroidSwitchNativeComponent';
|
|
22
|
+
import SwitchNativeComponent, {
|
|
23
|
+
Commands as SwitchCommands,
|
|
24
|
+
} from './SwitchNativeComponent';
|
|
25
|
+
import * as React from 'react';
|
|
26
|
+
|
|
27
|
+
type SwitchChangeEvent = SyntheticEvent<
|
|
28
|
+
$ReadOnly<{|
|
|
29
|
+
value: boolean,
|
|
30
|
+
target: number,
|
|
31
|
+
|}>,
|
|
32
|
+
>;
|
|
33
|
+
|
|
34
|
+
export type Props = $ReadOnly<{|
|
|
35
|
+
...ViewProps,
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
If true the user won't be able to toggle the switch.
|
|
39
|
+
|
|
40
|
+
@default false
|
|
41
|
+
*/
|
|
42
|
+
disabled?: ?boolean,
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
The value of the switch. If true the switch will be turned on.
|
|
46
|
+
|
|
47
|
+
@default false
|
|
48
|
+
*/
|
|
49
|
+
value?: ?boolean,
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
Color of the foreground switch grip. If this is set on iOS, the switch grip will lose its drop shadow.
|
|
53
|
+
*/
|
|
54
|
+
thumbColor?: ?ColorValue,
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
Custom colors for the switch track.
|
|
58
|
+
|
|
59
|
+
_iOS_: When the switch value is false, the track shrinks into the border. If you want to change the
|
|
60
|
+
color of the background exposed by the shrunken track, use
|
|
61
|
+
[`ios_backgroundColor`](https://reactnative.dev/docs/switch#ios_backgroundColor).
|
|
62
|
+
*/
|
|
63
|
+
trackColor?: ?$ReadOnly<{|
|
|
64
|
+
false?: ?ColorValue,
|
|
65
|
+
true?: ?ColorValue,
|
|
66
|
+
|}>,
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
On iOS, custom color for the background. This background color can be
|
|
70
|
+
seen either when the switch value is false or when the switch is
|
|
71
|
+
disabled (and the switch is translucent).
|
|
72
|
+
*/
|
|
73
|
+
ios_backgroundColor?: ?ColorValue,
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
Invoked when the user tries to change the value of the switch. Receives
|
|
77
|
+
the change event as an argument. If you want to only receive the new
|
|
78
|
+
value, use `onValueChange` instead.
|
|
79
|
+
*/
|
|
80
|
+
onChange?: ?(event: SwitchChangeEvent) => Promise<void> | void,
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
Invoked when the user tries to change the value of the switch. Receives
|
|
84
|
+
the new value as an argument. If you want to instead receive an event,
|
|
85
|
+
use `onChange`.
|
|
86
|
+
*/
|
|
87
|
+
onValueChange?: ?(value: boolean) => Promise<void> | void,
|
|
88
|
+
|}>;
|
|
89
|
+
const returnsFalse = () => false;
|
|
90
|
+
const returnsTrue = () => true;
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
Renders a boolean input.
|
|
94
|
+
|
|
95
|
+
This is a controlled component that requires an `onValueChange`
|
|
96
|
+
callback that updates the `value` prop in order for the component to
|
|
97
|
+
reflect user actions. If the `value` prop is not updated, the
|
|
98
|
+
component will continue to render the supplied `value` prop instead of
|
|
99
|
+
the expected result of any user actions.
|
|
100
|
+
|
|
101
|
+
```SnackPlayer name=Switch
|
|
102
|
+
import React, { useState } from "react";
|
|
103
|
+
import { View, Switch, StyleSheet } from "react-native";
|
|
104
|
+
|
|
105
|
+
const App = () => {
|
|
106
|
+
const [isEnabled, setIsEnabled] = useState(false);
|
|
107
|
+
const toggleSwitch = () => setIsEnabled(previousState => !previousState);
|
|
108
|
+
|
|
109
|
+
return (
|
|
110
|
+
<View style={styles.container}>
|
|
111
|
+
<Switch
|
|
112
|
+
trackColor={{ false: "#767577", true: "#81b0ff" }}
|
|
113
|
+
thumbColor={isEnabled ? "#f5dd4b" : "#f4f3f4"}
|
|
114
|
+
ios_backgroundColor="#3e3e3e"
|
|
115
|
+
onValueChange={toggleSwitch}
|
|
116
|
+
value={isEnabled}
|
|
117
|
+
/>
|
|
118
|
+
</View>
|
|
119
|
+
);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
const styles = StyleSheet.create({
|
|
123
|
+
container: {
|
|
124
|
+
flex: 1,
|
|
125
|
+
alignItems: "center",
|
|
126
|
+
justifyContent: "center"
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
|
|
130
|
+
export default App;
|
|
131
|
+
```
|
|
132
|
+
*/
|
|
133
|
+
|
|
134
|
+
const SwitchWithForwardedRef: React.AbstractComponent<
|
|
135
|
+
Props,
|
|
136
|
+
React.ElementRef<
|
|
137
|
+
typeof SwitchNativeComponent | typeof AndroidSwitchNativeComponent,
|
|
138
|
+
>,
|
|
139
|
+
> = React.forwardRef(function Switch(props, forwardedRef): React.Node {
|
|
140
|
+
const {
|
|
141
|
+
disabled,
|
|
142
|
+
focusable, // [Windows]
|
|
143
|
+
ios_backgroundColor,
|
|
144
|
+
onChange,
|
|
145
|
+
onValueChange,
|
|
146
|
+
style,
|
|
147
|
+
thumbColor,
|
|
148
|
+
trackColor,
|
|
149
|
+
value,
|
|
150
|
+
...restProps
|
|
151
|
+
} = props;
|
|
152
|
+
const trackColorForFalse = trackColor?.false;
|
|
153
|
+
const trackColorForTrue = trackColor?.true;
|
|
154
|
+
|
|
155
|
+
const nativeSwitchRef = React.useRef<React.ElementRef<
|
|
156
|
+
typeof SwitchNativeComponent | typeof AndroidSwitchNativeComponent,
|
|
157
|
+
> | null>(null);
|
|
158
|
+
|
|
159
|
+
// $FlowFixMe[incompatible-call]
|
|
160
|
+
const ref = useMergeRefs(nativeSwitchRef, forwardedRef);
|
|
161
|
+
|
|
162
|
+
const [native, setNative] = React.useState({value: (null: ?boolean)});
|
|
163
|
+
|
|
164
|
+
const handleChange = (event: SwitchChangeEvent) => {
|
|
165
|
+
// $FlowFixMe[unused-promise]
|
|
166
|
+
onChange?.(event);
|
|
167
|
+
// $FlowFixMe[unused-promise]
|
|
168
|
+
onValueChange?.(event.nativeEvent.value);
|
|
169
|
+
setNative({value: event.nativeEvent.value});
|
|
170
|
+
};
|
|
171
|
+
|
|
172
|
+
React.useLayoutEffect(() => {
|
|
173
|
+
// This is necessary in case native updates the switch and JS decides
|
|
174
|
+
// that the update should be ignored and we should stick with the value
|
|
175
|
+
// that we have in JS.
|
|
176
|
+
const jsValue = value === true;
|
|
177
|
+
const shouldUpdateNativeSwitch =
|
|
178
|
+
native.value != null && native.value !== jsValue;
|
|
179
|
+
if (
|
|
180
|
+
shouldUpdateNativeSwitch &&
|
|
181
|
+
nativeSwitchRef.current?.setNativeProps != null
|
|
182
|
+
) {
|
|
183
|
+
if (Platform.OS === 'android') {
|
|
184
|
+
AndroidSwitchCommands.setNativeValue(nativeSwitchRef.current, jsValue);
|
|
185
|
+
} else {
|
|
186
|
+
SwitchCommands.setValue(nativeSwitchRef.current, jsValue);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
}, [value, native]);
|
|
190
|
+
|
|
191
|
+
if (Platform.OS === 'android') {
|
|
192
|
+
const {accessibilityState} = restProps;
|
|
193
|
+
const _disabled =
|
|
194
|
+
disabled != null ? disabled : accessibilityState?.disabled;
|
|
195
|
+
|
|
196
|
+
const _accessibilityState =
|
|
197
|
+
_disabled !== accessibilityState?.disabled
|
|
198
|
+
? {...accessibilityState, disabled: _disabled}
|
|
199
|
+
: accessibilityState;
|
|
200
|
+
|
|
201
|
+
const platformProps = {
|
|
202
|
+
accessibilityState: _accessibilityState,
|
|
203
|
+
enabled: _disabled !== true,
|
|
204
|
+
on: value === true,
|
|
205
|
+
style,
|
|
206
|
+
thumbTintColor: thumbColor,
|
|
207
|
+
trackColorForFalse: trackColorForFalse,
|
|
208
|
+
trackColorForTrue: trackColorForTrue,
|
|
209
|
+
trackTintColor: value === true ? trackColorForTrue : trackColorForFalse,
|
|
210
|
+
};
|
|
211
|
+
|
|
212
|
+
return (
|
|
213
|
+
<AndroidSwitchNativeComponent
|
|
214
|
+
{...restProps}
|
|
215
|
+
{...platformProps}
|
|
216
|
+
accessibilityRole={props.accessibilityRole ?? 'switch'}
|
|
217
|
+
onChange={handleChange}
|
|
218
|
+
onResponderTerminationRequest={returnsFalse}
|
|
219
|
+
onStartShouldSetResponder={returnsTrue}
|
|
220
|
+
ref={ref}
|
|
221
|
+
/>
|
|
222
|
+
);
|
|
223
|
+
} else {
|
|
224
|
+
const platformProps = {
|
|
225
|
+
disabled,
|
|
226
|
+
onTintColor: trackColorForTrue,
|
|
227
|
+
style: StyleSheet.compose(
|
|
228
|
+
{height: 31, width: 51},
|
|
229
|
+
StyleSheet.compose(
|
|
230
|
+
style,
|
|
231
|
+
ios_backgroundColor == null
|
|
232
|
+
? null
|
|
233
|
+
: {
|
|
234
|
+
backgroundColor: ios_backgroundColor,
|
|
235
|
+
borderRadius: 16,
|
|
236
|
+
},
|
|
237
|
+
),
|
|
238
|
+
),
|
|
239
|
+
thumbTintColor: thumbColor,
|
|
240
|
+
tintColor: trackColorForFalse,
|
|
241
|
+
value: value === true,
|
|
242
|
+
};
|
|
243
|
+
|
|
244
|
+
return (
|
|
245
|
+
<SwitchNativeComponent
|
|
246
|
+
{...restProps}
|
|
247
|
+
{...platformProps}
|
|
248
|
+
focusable={focusable === undefined ? true : focusable} // [Windows]
|
|
249
|
+
accessibilityRole={props.accessibilityRole ?? 'switch'}
|
|
250
|
+
onChange={handleChange}
|
|
251
|
+
onResponderTerminationRequest={returnsFalse}
|
|
252
|
+
onStartShouldSetResponder={returnsTrue}
|
|
253
|
+
ref={ref}
|
|
254
|
+
/>
|
|
255
|
+
);
|
|
256
|
+
}
|
|
257
|
+
});
|
|
258
|
+
|
|
259
|
+
export default SwitchWithForwardedRef;
|
|
@@ -205,13 +205,6 @@ export interface TextInputIOSProps {
|
|
|
205
205
|
* Give the keyboard and the system information about the expected
|
|
206
206
|
* semantic meaning for the content that users enter.
|
|
207
207
|
*
|
|
208
|
-
* For iOS 11+ you can set `textContentType` to `username` or `password` to
|
|
209
|
-
* enable autofill of login details from the device keychain.
|
|
210
|
-
*
|
|
211
|
-
* For iOS 12+ `newPassword` can be used to indicate a new password input the
|
|
212
|
-
* user may want to save in the keychain, and `oneTimeCode` can be used to indicate
|
|
213
|
-
* that a field can be autofilled by a code arriving in an SMS.
|
|
214
|
-
*
|
|
215
208
|
* To disable autofill, set textContentType to `none`.
|
|
216
209
|
*
|
|
217
210
|
* Possible values for `textContentType` are:
|
|
@@ -223,6 +216,15 @@ export interface TextInputIOSProps {
|
|
|
223
216
|
* - `'addressState'`
|
|
224
217
|
* - `'countryName'`
|
|
225
218
|
* - `'creditCardNumber'`
|
|
219
|
+
* - `'creditCardExpiration'` (iOS 17+)
|
|
220
|
+
* - `'creditCardExpirationMonth'` (iOS 17+)
|
|
221
|
+
* - `'creditCardExpirationYear'` (iOS 17+)
|
|
222
|
+
* - `'creditCardSecurityCode'` (iOS 17+)
|
|
223
|
+
* - `'creditCardType'` (iOS 17+)
|
|
224
|
+
* - `'creditCardName'` (iOS 17+)
|
|
225
|
+
* - `'creditCardGivenName'` (iOS 17+)
|
|
226
|
+
* - `'creditCardMiddleName'` (iOS 17+)
|
|
227
|
+
* - `'creditCardFamilyName'` (iOS 17+)
|
|
226
228
|
* - `'emailAddress'`
|
|
227
229
|
* - `'familyName'`
|
|
228
230
|
* - `'fullStreetAddress'`
|
|
@@ -244,6 +246,10 @@ export interface TextInputIOSProps {
|
|
|
244
246
|
* - `'password'`
|
|
245
247
|
* - `'newPassword'`
|
|
246
248
|
* - `'oneTimeCode'`
|
|
249
|
+
* - `'birthdate'` (iOS 17+)
|
|
250
|
+
* - `'birthdateDay'` (iOS 17+)
|
|
251
|
+
* - `'birthdateMonth'` (iOS 17+)
|
|
252
|
+
* - `'birthdateYear'` (iOS 17+)
|
|
247
253
|
*
|
|
248
254
|
*/
|
|
249
255
|
textContentType?:
|
|
@@ -254,6 +260,15 @@ export interface TextInputIOSProps {
|
|
|
254
260
|
| 'addressState'
|
|
255
261
|
| 'countryName'
|
|
256
262
|
| 'creditCardNumber'
|
|
263
|
+
| 'creditCardExpiration'
|
|
264
|
+
| 'creditCardExpirationMonth'
|
|
265
|
+
| 'creditCardExpirationYear'
|
|
266
|
+
| 'creditCardSecurityCode'
|
|
267
|
+
| 'creditCardType'
|
|
268
|
+
| 'creditCardName'
|
|
269
|
+
| 'creditCardGivenName'
|
|
270
|
+
| 'creditCardMiddleName'
|
|
271
|
+
| 'creditCardFamilyName'
|
|
257
272
|
| 'emailAddress'
|
|
258
273
|
| 'familyName'
|
|
259
274
|
| 'fullStreetAddress'
|
|
@@ -275,6 +290,10 @@ export interface TextInputIOSProps {
|
|
|
275
290
|
| 'password'
|
|
276
291
|
| 'newPassword'
|
|
277
292
|
| 'oneTimeCode'
|
|
293
|
+
| 'birthdate'
|
|
294
|
+
| 'birthdateDay'
|
|
295
|
+
| 'birthdateMonth'
|
|
296
|
+
| 'birthdateYear'
|
|
278
297
|
| undefined;
|
|
279
298
|
|
|
280
299
|
/**
|
|
@@ -291,6 +310,14 @@ export interface TextInputIOSProps {
|
|
|
291
310
|
| 'hangul-word'
|
|
292
311
|
| 'push-out'
|
|
293
312
|
| undefined;
|
|
313
|
+
|
|
314
|
+
/**
|
|
315
|
+
* If `false`, the iOS system will not insert an extra space after a paste operation
|
|
316
|
+
* neither delete one or two spaces after a cut or delete operation.
|
|
317
|
+
*
|
|
318
|
+
* The default value is `true`.
|
|
319
|
+
*/
|
|
320
|
+
smartInsertDelete?: boolean | undefined;
|
|
294
321
|
}
|
|
295
322
|
|
|
296
323
|
/**
|
|
@@ -561,6 +588,11 @@ export interface TextInputProps
|
|
|
561
588
|
| 'cc-exp-month'
|
|
562
589
|
| 'cc-exp-year'
|
|
563
590
|
| 'cc-number'
|
|
591
|
+
| 'cc-name'
|
|
592
|
+
| 'cc-given-name'
|
|
593
|
+
| 'cc-middle-name'
|
|
594
|
+
| 'cc-family-name'
|
|
595
|
+
| 'cc-type'
|
|
564
596
|
| 'country'
|
|
565
597
|
| 'current-password'
|
|
566
598
|
| 'email'
|
|
@@ -782,6 +814,11 @@ export interface TextInputProps
|
|
|
782
814
|
*/
|
|
783
815
|
placeholderTextColor?: ColorValue | undefined;
|
|
784
816
|
|
|
817
|
+
/**
|
|
818
|
+
* If `true`, text is not editable. The default value is `false`.
|
|
819
|
+
*/
|
|
820
|
+
readOnly?: boolean | undefined;
|
|
821
|
+
|
|
785
822
|
/**
|
|
786
823
|
* enum('default', 'go', 'google', 'join', 'next', 'route', 'search', 'send', 'yahoo', 'done', 'emergency-call')
|
|
787
824
|
* Determines how the return key should look.
|
|
@@ -912,4 +949,9 @@ export class TextInput extends TextInputBase {
|
|
|
912
949
|
* Removes all text from the input.
|
|
913
950
|
*/
|
|
914
951
|
clear: () => void;
|
|
952
|
+
|
|
953
|
+
/**
|
|
954
|
+
* Sets the start and end positions of text selection.
|
|
955
|
+
*/
|
|
956
|
+
setSelection: (start: number, end: number) => void;
|
|
915
957
|
}
|
|
@@ -162,6 +162,15 @@ export type TextContentType =
|
|
|
162
162
|
| 'addressState'
|
|
163
163
|
| 'countryName'
|
|
164
164
|
| 'creditCardNumber'
|
|
165
|
+
| 'creditCardExpiration'
|
|
166
|
+
| 'creditCardExpirationMonth'
|
|
167
|
+
| 'creditCardExpirationYear'
|
|
168
|
+
| 'creditCardSecurityCode'
|
|
169
|
+
| 'creditCardType'
|
|
170
|
+
| 'creditCardName'
|
|
171
|
+
| 'creditCardGivenName'
|
|
172
|
+
| 'creditCardMiddleName'
|
|
173
|
+
| 'creditCardFamilyName'
|
|
165
174
|
| 'emailAddress'
|
|
166
175
|
| 'familyName'
|
|
167
176
|
| 'fullStreetAddress'
|
|
@@ -182,7 +191,11 @@ export type TextContentType =
|
|
|
182
191
|
| 'username'
|
|
183
192
|
| 'password'
|
|
184
193
|
| 'newPassword'
|
|
185
|
-
| 'oneTimeCode'
|
|
194
|
+
| 'oneTimeCode'
|
|
195
|
+
| 'birthdate'
|
|
196
|
+
| 'birthdateDay'
|
|
197
|
+
| 'birthdateMonth'
|
|
198
|
+
| 'birthdateYear';
|
|
186
199
|
|
|
187
200
|
export type enterKeyHintType =
|
|
188
201
|
| 'enter'
|
|
@@ -295,6 +308,16 @@ type IOSProps = $ReadOnly<{|
|
|
|
295
308
|
* @platform ios
|
|
296
309
|
*/
|
|
297
310
|
lineBreakStrategyIOS?: ?('none' | 'standard' | 'hangul-word' | 'push-out'),
|
|
311
|
+
|
|
312
|
+
/**
|
|
313
|
+
* If `false`, the iOS system will not insert an extra space after a paste operation
|
|
314
|
+
* neither delete one or two spaces after a cut or delete operation.
|
|
315
|
+
*
|
|
316
|
+
* The default value is `true`.
|
|
317
|
+
*
|
|
318
|
+
* @platform ios
|
|
319
|
+
*/
|
|
320
|
+
smartInsertDelete?: ?boolean,
|
|
298
321
|
|}>;
|
|
299
322
|
|
|
300
323
|
type AndroidProps = $ReadOnly<{|
|
|
@@ -408,7 +431,16 @@ export type Props = $ReadOnly<{|
|
|
|
408
431
|
* - `additional-name`
|
|
409
432
|
* - `address-line1`
|
|
410
433
|
* - `address-line2`
|
|
434
|
+
* - `birthdate-day` (iOS 17+)
|
|
435
|
+
* - `birthdate-full` (iOS 17+)
|
|
436
|
+
* - `birthdate-month` (iOS 17+)
|
|
437
|
+
* - `birthdate-year` (iOS 17+)
|
|
411
438
|
* - `cc-number`
|
|
439
|
+
* - `cc-csc` (iOS 17+)
|
|
440
|
+
* - `cc-exp` (iOS 17+)
|
|
441
|
+
* - `cc-exp-day` (iOS 17+)
|
|
442
|
+
* - `cc-exp-month` (iOS 17+)
|
|
443
|
+
* - `cc-exp-year` (iOS 17+)
|
|
412
444
|
* - `country`
|
|
413
445
|
* - `current-password`
|
|
414
446
|
* - `email`
|
|
@@ -427,6 +459,11 @@ export type Props = $ReadOnly<{|
|
|
|
427
459
|
*
|
|
428
460
|
* The following values work on iOS only:
|
|
429
461
|
*
|
|
462
|
+
* - `cc-name` (iOS 17+)
|
|
463
|
+
* - `cc-given-name` (iOS 17+)
|
|
464
|
+
* - `cc-middle-name` (iOS 17+)
|
|
465
|
+
* - `cc-family-name` (iOS 17+)
|
|
466
|
+
* - `cc-type` (iOS 17+)
|
|
430
467
|
* - `nickname`
|
|
431
468
|
* - `organization`
|
|
432
469
|
* - `organization-title`
|
|
@@ -434,15 +471,6 @@ export type Props = $ReadOnly<{|
|
|
|
434
471
|
*
|
|
435
472
|
* The following values work on Android only:
|
|
436
473
|
*
|
|
437
|
-
* - `birthdate-day`
|
|
438
|
-
* - `birthdate-full`
|
|
439
|
-
* - `birthdate-month`
|
|
440
|
-
* - `birthdate-year`
|
|
441
|
-
* - `cc-csc`
|
|
442
|
-
* - `cc-exp`
|
|
443
|
-
* - `cc-exp-day`
|
|
444
|
-
* - `cc-exp-month`
|
|
445
|
-
* - `cc-exp-year`
|
|
446
474
|
* - `gender`
|
|
447
475
|
* - `name-family`
|
|
448
476
|
* - `name-given`
|
|
@@ -478,6 +506,11 @@ export type Props = $ReadOnly<{|
|
|
|
478
506
|
| 'cc-exp-month'
|
|
479
507
|
| 'cc-exp-year'
|
|
480
508
|
| 'cc-number'
|
|
509
|
+
| 'cc-name'
|
|
510
|
+
| 'cc-given-name'
|
|
511
|
+
| 'cc-middle-name'
|
|
512
|
+
| 'cc-family-name'
|
|
513
|
+
| 'cc-type'
|
|
481
514
|
| 'country'
|
|
482
515
|
| 'current-password'
|
|
483
516
|
| 'email'
|
|
@@ -200,6 +200,15 @@ export type TextContentType =
|
|
|
200
200
|
| 'addressState'
|
|
201
201
|
| 'countryName'
|
|
202
202
|
| 'creditCardNumber'
|
|
203
|
+
| 'creditCardExpiration'
|
|
204
|
+
| 'creditCardExpirationMonth'
|
|
205
|
+
| 'creditCardExpirationYear'
|
|
206
|
+
| 'creditCardSecurityCode'
|
|
207
|
+
| 'creditCardType'
|
|
208
|
+
| 'creditCardName'
|
|
209
|
+
| 'creditCardGivenName'
|
|
210
|
+
| 'creditCardMiddleName'
|
|
211
|
+
| 'creditCardFamilyName'
|
|
203
212
|
| 'emailAddress'
|
|
204
213
|
| 'familyName'
|
|
205
214
|
| 'fullStreetAddress'
|
|
@@ -220,7 +229,11 @@ export type TextContentType =
|
|
|
220
229
|
| 'username'
|
|
221
230
|
| 'password'
|
|
222
231
|
| 'newPassword'
|
|
223
|
-
| 'oneTimeCode'
|
|
232
|
+
| 'oneTimeCode'
|
|
233
|
+
| 'birthdate'
|
|
234
|
+
| 'birthdateDay'
|
|
235
|
+
| 'birthdateMonth'
|
|
236
|
+
| 'birthdateYear';
|
|
224
237
|
|
|
225
238
|
export type enterKeyHintType =
|
|
226
239
|
// Cross Platform
|
|
@@ -339,6 +352,16 @@ type IOSProps = $ReadOnly<{|
|
|
|
339
352
|
* @platform ios
|
|
340
353
|
*/
|
|
341
354
|
lineBreakStrategyIOS?: ?('none' | 'standard' | 'hangul-word' | 'push-out'),
|
|
355
|
+
|
|
356
|
+
/**
|
|
357
|
+
* If `false`, the iOS system will not insert an extra space after a paste operation
|
|
358
|
+
* neither delete one or two spaces after a cut or delete operation.
|
|
359
|
+
*
|
|
360
|
+
* The default value is `true`.
|
|
361
|
+
*
|
|
362
|
+
* @platform ios
|
|
363
|
+
*/
|
|
364
|
+
smartInsertDelete?: ?boolean,
|
|
342
365
|
|}>;
|
|
343
366
|
|
|
344
367
|
type AndroidProps = $ReadOnly<{|
|
|
@@ -452,7 +475,16 @@ export type Props = $ReadOnly<{|
|
|
|
452
475
|
* - `additional-name`
|
|
453
476
|
* - `address-line1`
|
|
454
477
|
* - `address-line2`
|
|
478
|
+
* - `birthdate-day` (iOS 17+)
|
|
479
|
+
* - `birthdate-full` (iOS 17+)
|
|
480
|
+
* - `birthdate-month` (iOS 17+)
|
|
481
|
+
* - `birthdate-year` (iOS 17+)
|
|
455
482
|
* - `cc-number`
|
|
483
|
+
* - `cc-csc` (iOS 17+)
|
|
484
|
+
* - `cc-exp` (iOS 17+)
|
|
485
|
+
* - `cc-exp-day` (iOS 17+)
|
|
486
|
+
* - `cc-exp-month` (iOS 17+)
|
|
487
|
+
* - `cc-exp-year` (iOS 17+)
|
|
456
488
|
* - `country`
|
|
457
489
|
* - `current-password`
|
|
458
490
|
* - `email`
|
|
@@ -471,6 +503,11 @@ export type Props = $ReadOnly<{|
|
|
|
471
503
|
*
|
|
472
504
|
* The following values work on iOS only:
|
|
473
505
|
*
|
|
506
|
+
* - `cc-name` (iOS 17+)
|
|
507
|
+
* - `cc-given-name` (iOS 17+)
|
|
508
|
+
* - `cc-middle-name` (iOS 17+)
|
|
509
|
+
* - `cc-family-name` (iOS 17+)
|
|
510
|
+
* - `cc-type` (iOS 17+)
|
|
474
511
|
* - `nickname`
|
|
475
512
|
* - `organization`
|
|
476
513
|
* - `organization-title`
|
|
@@ -478,15 +515,6 @@ export type Props = $ReadOnly<{|
|
|
|
478
515
|
*
|
|
479
516
|
* The following values work on Android only:
|
|
480
517
|
*
|
|
481
|
-
* - `birthdate-day`
|
|
482
|
-
* - `birthdate-full`
|
|
483
|
-
* - `birthdate-month`
|
|
484
|
-
* - `birthdate-year`
|
|
485
|
-
* - `cc-csc`
|
|
486
|
-
* - `cc-exp`
|
|
487
|
-
* - `cc-exp-day`
|
|
488
|
-
* - `cc-exp-month`
|
|
489
|
-
* - `cc-exp-year`
|
|
490
518
|
* - `gender`
|
|
491
519
|
* - `name-family`
|
|
492
520
|
* - `name-given`
|
|
@@ -522,6 +550,11 @@ export type Props = $ReadOnly<{|
|
|
|
522
550
|
| 'cc-exp-month'
|
|
523
551
|
| 'cc-exp-year'
|
|
524
552
|
| 'cc-number'
|
|
553
|
+
| 'cc-name'
|
|
554
|
+
| 'cc-given-name'
|
|
555
|
+
| 'cc-middle-name'
|
|
556
|
+
| 'cc-family-name'
|
|
557
|
+
| 'cc-type'
|
|
525
558
|
| 'country'
|
|
526
559
|
| 'current-password'
|
|
527
560
|
| 'email'
|
|
@@ -1564,7 +1597,20 @@ const autoCompleteWebToAutoCompleteAndroidMap = {
|
|
|
1564
1597
|
const autoCompleteWebToTextContentTypeMap = {
|
|
1565
1598
|
'address-line1': 'streetAddressLine1',
|
|
1566
1599
|
'address-line2': 'streetAddressLine2',
|
|
1600
|
+
bday: 'birthdate',
|
|
1601
|
+
'bday-day': 'birthdateDay',
|
|
1602
|
+
'bday-month': 'birthdateMonth',
|
|
1603
|
+
'bday-year': 'birthdateYear',
|
|
1604
|
+
'cc-csc': 'creditCardSecurityCode',
|
|
1605
|
+
'cc-exp-month': 'creditCardExpirationMonth',
|
|
1606
|
+
'cc-exp-year': 'creditCardExpirationYear',
|
|
1607
|
+
'cc-exp': 'creditCardExpiration',
|
|
1608
|
+
'cc-given-name': 'creditCardGivenName',
|
|
1609
|
+
'cc-additional-name': 'creditCardMiddleName',
|
|
1610
|
+
'cc-family-name': 'creditCardFamilyName',
|
|
1611
|
+
'cc-name': 'creditCardName',
|
|
1567
1612
|
'cc-number': 'creditCardNumber',
|
|
1613
|
+
'cc-type': 'creditCardType',
|
|
1568
1614
|
'current-password': 'password',
|
|
1569
1615
|
country: 'countryName',
|
|
1570
1616
|
email: 'emailAddress',
|
|
@@ -1590,6 +1636,7 @@ const autoCompleteWebToTextContentTypeMap = {
|
|
|
1590
1636
|
const ExportedForwardRef: React.AbstractComponent<
|
|
1591
1637
|
React.ElementConfig<typeof InternalTextInput>,
|
|
1592
1638
|
TextInputInstance,
|
|
1639
|
+
// $FlowFixMe[incompatible-call]
|
|
1593
1640
|
> = React.forwardRef(function TextInput(
|
|
1594
1641
|
{
|
|
1595
1642
|
allowFontScaling = true,
|
|
@@ -1612,8 +1659,13 @@ const ExportedForwardRef: React.AbstractComponent<
|
|
|
1612
1659
|
let style = flattenStyle(restProps.style);
|
|
1613
1660
|
|
|
1614
1661
|
if (style?.verticalAlign != null) {
|
|
1662
|
+
// $FlowFixMe[prop-missing]
|
|
1663
|
+
// $FlowFixMe[cannot-write]
|
|
1615
1664
|
style.textAlignVertical =
|
|
1665
|
+
// $FlowFixMe[invalid-computed-prop]
|
|
1616
1666
|
verticalAlignToTextAlignVerticalMap[style.verticalAlign];
|
|
1667
|
+
// $FlowFixMe[prop-missing]
|
|
1668
|
+
// $FlowFixMe[cannot-write]
|
|
1617
1669
|
delete style.verticalAlign;
|
|
1618
1670
|
}
|
|
1619
1671
|
|