react-native-windows 0.71.10 → 0.72.0-preview.2
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 +13 -3
- package/Directory.Build.props +19 -19
- package/Libraries/ActionSheetIOS/ActionSheetIOS.js +1 -1
- package/Libraries/Alert/Alert.d.ts +4 -4
- package/Libraries/Alert/Alert.windows.js +2 -0
- package/Libraries/Alert/NativeDialogManagerWindows.js +1 -0
- package/Libraries/Animated/Animated.d.ts +17 -6
- package/Libraries/Animated/NativeAnimatedHelper.js +18 -6
- package/Libraries/Animated/bezier.js +1 -1
- package/Libraries/Animated/components/AnimatedFlatList.js +8 -3
- package/Libraries/Animated/components/AnimatedScrollView.js +4 -1
- package/Libraries/Animated/components/AnimatedSectionList.js +12 -3
- package/Libraries/Animated/createAnimatedComponent.js +26 -239
- package/Libraries/Animated/nodes/AnimatedColor.js +47 -80
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +167 -121
- package/Libraries/Animated/nodes/AnimatedNode.js +3 -5
- package/Libraries/Animated/nodes/AnimatedProps.js +7 -6
- package/Libraries/Animated/nodes/AnimatedStyle.js +42 -8
- package/Libraries/Animated/nodes/AnimatedTransform.js +1 -1
- package/Libraries/Animated/nodes/AnimatedValue.js +8 -12
- package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -1
- package/Libraries/Animated/useAnimatedProps.js +7 -10
- package/Libraries/AppTheme/AppTheme.js +1 -0
- package/Libraries/AppTheme/AppThemeTypes.d.ts +1 -1
- package/Libraries/BatchedBridge/MessageQueue.js +2 -1
- package/Libraries/BatchedBridge/NativeModules.d.ts +1 -1
- package/Libraries/BatchedBridge/NativeModules.js +1 -0
- package/Libraries/Blob/Blob.js +4 -0
- package/Libraries/Blob/FileReader.js +30 -2
- package/Libraries/Blob/URL.js +3 -1
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +2 -2
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +2 -3
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js +2 -3
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +6 -4
- package/Libraries/Components/Button.js +3 -2
- package/Libraries/Components/Button.windows.js +3 -2
- package/Libraries/Components/Clipboard/Clipboard.js +1 -1
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +4 -0
- package/Libraries/Components/Flyout/Flyout.d.ts +55 -19
- package/Libraries/Components/Flyout/Flyout.js +110 -51
- package/Libraries/Components/Flyout/FlyoutNativeComponent.js +45 -0
- package/Libraries/Components/Glyph/Glyph.d.ts +29 -12
- package/Libraries/Components/Glyph/Glyph.js +43 -30
- package/Libraries/Components/Glyph/GlyphNativeComponent.js +31 -0
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -0
- package/Libraries/Components/Keyboard/KeyboardExtProps.d.ts +2 -2
- package/Libraries/Components/Keyboard/KeyboardExtProps.js.map +1 -1
- package/Libraries/Components/Popup/Popup.d.ts +41 -19
- package/Libraries/Components/Popup/Popup.js +86 -52
- package/Libraries/Components/Popup/PopupNativeComponent.js +49 -0
- package/Libraries/Components/Pressable/Pressable.d.ts +1 -1
- package/Libraries/Components/Pressable/Pressable.js +1 -1
- package/Libraries/Components/RefreshControl/RefreshControl.js +1 -0
- package/Libraries/Components/RefreshControl/RefreshControl.windows.js +1 -0
- package/Libraries/Components/SafeAreaView/SafeAreaView.js +1 -2
- package/Libraries/Components/SafeAreaView/SafeAreaView.windows.js +1 -2
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +12 -6
- package/Libraries/Components/ScrollView/ScrollView.d.ts +2 -2
- package/Libraries/Components/ScrollView/ScrollView.js +149 -91
- package/Libraries/Components/ScrollView/ScrollView.windows.js +1939 -0
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +16 -6
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.windows.js +175 -0
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +5 -7
- package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +1 -1
- package/Libraries/Components/StatusBar/StatusBar.js +3 -0
- package/Libraries/Components/Switch/Switch.js +3 -1
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +21 -11
- package/Libraries/Components/TextInput/InputAccessoryView.d.ts +1 -1
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +11 -5
- package/Libraries/Components/TextInput/TextInput.d.ts +15 -5
- package/Libraries/Components/TextInput/TextInput.flow.js +1 -1
- package/Libraries/Components/TextInput/TextInput.js +130 -103
- package/Libraries/Components/TextInput/TextInput.windows.js +152 -115
- package/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js +1 -1
- package/Libraries/Components/Touchable/Touchable.d.ts +1 -1
- package/Libraries/Components/Touchable/Touchable.flow.js +30 -4
- package/Libraries/Components/Touchable/Touchable.js +6 -3
- package/Libraries/Components/Touchable/Touchable.windows.js +6 -3
- package/Libraries/Components/Touchable/TouchableHighlight.js +1 -1
- package/Libraries/Components/Touchable/TouchableHighlight.windows.js +2 -1
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +2 -2
- package/Libraries/Components/Touchable/TouchableOpacity.js +3 -0
- package/Libraries/Components/Touchable/TouchableOpacity.windows.js +4 -0
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +1 -1
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +2 -2
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +2 -2
- package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlay.js +179 -0
- package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlayNativeComponent.js +43 -0
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +26 -0
- package/Libraries/Components/View/View.js +35 -16
- package/Libraries/Components/View/View.windows.js +40 -16
- package/Libraries/Components/View/ViewAccessibility.d.ts +6 -6
- package/Libraries/Components/View/ViewAccessibility.js +10 -1
- package/Libraries/Components/View/ViewAccessibility.windows.js +9 -0
- package/Libraries/Components/View/ViewNativeComponent.js +32 -8
- package/Libraries/Components/View/ViewPropTypes.d.ts +1 -1
- package/Libraries/Components/View/ViewPropTypes.js +1 -1
- package/Libraries/Components/View/ViewPropTypes.windows.js +3 -1
- package/Libraries/Core/Devtools/openFileInEditor.js +1 -0
- package/Libraries/Core/Devtools/openURLInBrowser.js +1 -0
- package/Libraries/Core/Devtools/parseErrorStack.js +2 -2
- package/Libraries/Core/Devtools/parseHermesStack.js +54 -34
- package/Libraries/Core/ExceptionsManager.js +2 -2
- package/Libraries/Core/InitializeCore.js +2 -1
- package/Libraries/Core/ReactNativeVersion.js +3 -3
- package/Libraries/Core/ReactNativeVersionCheck.js +4 -8
- package/Libraries/Core/Timers/JSTimers.js +1 -1
- package/Libraries/Core/Timers/immediateShim.js +1 -0
- package/Libraries/Core/Timers/queueMicrotask.js +1 -1
- package/Libraries/Core/setUpAlert.js +1 -1
- package/Libraries/Core/setUpDOM.js +18 -0
- package/Libraries/Core/setUpDeveloperTools.js +1 -1
- package/Libraries/Core/setUpGlobals.js +5 -2
- package/Libraries/Core/setUpNavigator.js +6 -5
- package/Libraries/Core/setUpPerformance.js +23 -13
- package/Libraries/Core/setUpReactDevTools.js +2 -0
- package/Libraries/Core/setUpSegmentFetcher.js +0 -41
- package/Libraries/Core/setUpTimers.js +2 -2
- package/Libraries/DOM/Geometry/DOMRect.js +82 -0
- package/Libraries/DOM/Geometry/DOMRectReadOnly.js +188 -0
- package/Libraries/DOM/Nodes/ReactNativeElement.js +75 -0
- package/Libraries/DOM/Nodes/ReadOnlyElement.js +89 -0
- package/Libraries/DOM/Nodes/ReadOnlyNode.js +167 -0
- package/Libraries/DOM/OldStyleCollections/ArrayLikeUtils.js +46 -0
- package/Libraries/DOM/OldStyleCollections/DOMRectList.js +76 -0
- package/Libraries/DOM/OldStyleCollections/HTMLCollection.js +82 -0
- package/Libraries/DOM/OldStyleCollections/NodeList.js +104 -0
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.android.js +35 -0
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.d.ts +20 -0
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.ios.js +49 -0
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.windows.js +35 -0
- package/Libraries/DevToolsSettings/NativeDevToolsSettingsManager.js +24 -0
- package/Libraries/EventEmitter/NativeEventEmitter.d.ts +1 -2
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.d.ts +1 -2
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +9 -1
- package/Libraries/Events/EventPolyfill.js +1 -1
- package/Libraries/Image/AssetRegistry.js +1 -1
- package/Libraries/Image/AssetSourceResolver.js +3 -3
- package/Libraries/Image/Image.android.js +4 -1
- package/Libraries/Image/Image.d.ts +63 -2
- package/Libraries/Image/Image.ios.js +3 -0
- package/Libraries/Image/Image.windows.js +3 -0
- package/Libraries/Image/ImageBackground.js +1 -0
- package/Libraries/Image/ImageProps.js +1 -1
- package/Libraries/Image/ImageViewNativeComponent.js +4 -4
- package/Libraries/Image/RelativeImageStub.js +1 -1
- package/Libraries/Image/TextInlineImageNativeComponent.js +1 -1
- package/Libraries/Image/resolveAssetSource.js +1 -1
- package/Libraries/Inspector/DevtoolsOverlay.js +26 -19
- package/Libraries/Inspector/ElementBox.js +4 -1
- package/Libraries/Inspector/Inspector.js +5 -6
- package/Libraries/Inspector/InspectorOverlay.js +3 -3
- package/Libraries/Inspector/NetworkOverlay.js +1 -1
- package/Libraries/Interaction/JSEventLoopWatchdog.js +1 -1
- package/Libraries/Interaction/PanResponder.js +5 -6
- package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -1
- package/Libraries/Linking/Linking.js +1 -4
- package/Libraries/Lists/FillRateHelper.js +4 -238
- package/Libraries/Lists/FlatList.d.ts +15 -22
- package/Libraries/Lists/FlatList.js +9 -6
- package/Libraries/Lists/SectionList.d.ts +10 -6
- package/Libraries/Lists/SectionList.js +5 -3
- package/Libraries/Lists/SectionListModern.js +3 -3
- package/Libraries/Lists/ViewabilityHelper.js +8 -344
- package/Libraries/Lists/VirtualizeUtils.js +4 -244
- package/Libraries/Lists/VirtualizedList.js +10 -1867
- package/Libraries/Lists/VirtualizedListContext.js +6 -104
- package/Libraries/Lists/VirtualizedSectionList.js +9 -602
- package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +1 -0
- package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +1 -1
- package/Libraries/LogBox/Data/LogBoxData.js +1 -1
- package/Libraries/LogBox/Data/parseLogBoxLog.js +1 -1
- package/Libraries/LogBox/LogBox.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspector.js +1 -3
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.windows.js +167 -0
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.windows.js +172 -0
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.windows.js +193 -0
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +1 -0
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +2 -2
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.windows.js +118 -0
- package/Libraries/LogBox/UI/LogBoxMessage.js +87 -5
- package/Libraries/LogBox/UI/LogBoxNotification.js +5 -7
- package/Libraries/Modal/Modal.js +2 -2
- package/Libraries/NativeComponent/BaseViewConfig.android.js +32 -12
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +43 -19
- package/Libraries/NativeComponent/BaseViewConfig.windows.js +77 -19
- package/Libraries/NativeComponent/NativeComponentRegistryUnstable.js +4 -1
- package/Libraries/NativeComponent/ViewConfig.js +1 -0
- package/Libraries/NativeComponent/ViewConfigIgnore.js +1 -4
- package/Libraries/Network/RCTNetworking.android.js +2 -2
- package/Libraries/Network/RCTNetworking.ios.js +1 -1
- package/Libraries/Network/RCTNetworking.windows.js +1 -1
- package/Libraries/Network/XMLHttpRequest.js +1 -1
- package/Libraries/Pressability/Pressability.js +10 -4
- package/Libraries/Pressability/Pressability.windows.js +11 -4
- package/Libraries/ReactNative/AppContainer.js +7 -1
- package/Libraries/ReactNative/AppRegistry.d.ts +1 -1
- package/Libraries/ReactNative/AppRegistry.js +10 -13
- package/Libraries/ReactNative/FabricUIManager.js +24 -8
- package/Libraries/ReactNative/NativeUIManager.js +5 -5
- package/Libraries/ReactNative/ReactNativeFeatureFlags.js +10 -10
- package/Libraries/ReactNative/UIManager.js +168 -1
- package/Libraries/ReactNative/getCachedComponentWithDebugName.js +5 -5
- package/Libraries/ReactNative/getNativeComponentAttributes.js +1 -1
- package/Libraries/ReactNative/requireNativeComponent.d.ts +1 -1
- package/Libraries/ReactNative/requireNativeComponent.js +1 -1
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +1 -0
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +26 -3
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +13 -1
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +13 -1
- package/Libraries/Renderer/public/ReactFabricPublicInstanceUtils.js +38 -0
- package/Libraries/Renderer/shims/ReactNativeTypes.js +6 -6
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +7 -7
- package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
- package/Libraries/Share/Share.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
- package/Libraries/StyleSheet/StyleSheet.js +1 -1
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +115 -76
- package/Libraries/StyleSheet/StyleSheetTypes.js +188 -33
- package/Libraries/StyleSheet/flattenStyle.js +2 -0
- package/Libraries/StyleSheet/normalizeColor.js +1 -1
- package/Libraries/StyleSheet/processColor.js +1 -1
- package/Libraries/Text/Text.d.ts +12 -2
- package/Libraries/Text/Text.js +50 -41
- package/Libraries/Text/Text.windows.js +48 -38
- package/Libraries/Text/TextProps.js +3 -4
- package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +6 -0
- package/Libraries/Types/CodegenTypes.js +1 -0
- package/Libraries/UTFSequence.js +3 -1
- package/Libraries/Utilities/Appearance.d.ts +10 -0
- package/Libraries/Utilities/Appearance.js +13 -0
- package/Libraries/Utilities/Dimensions.js +1 -1
- package/Libraries/Utilities/GlobalPerformanceLogger.js +12 -1
- package/Libraries/Utilities/HMRClient.js +16 -10
- package/Libraries/Utilities/{createPerformanceLogger.d.ts → IPerformanceLogger.d.ts} +4 -4
- package/Libraries/Utilities/IPerformanceLogger.js +49 -0
- package/Libraries/Utilities/LoadingView.android.js +28 -11
- package/Libraries/Utilities/NativeAppearance.js +1 -0
- package/Libraries/Utilities/NativePlatformConstantsWin.js +1 -1
- package/Libraries/Utilities/PixelRatio.js +2 -2
- package/Libraries/Utilities/Platform.windows.js +1 -1
- package/Libraries/Utilities/ReactNativeTestTools.js +1 -1
- package/Libraries/Utilities/__mocks__/PixelRatio.js +1 -1
- package/Libraries/Utilities/codegenNativeCommands.js +2 -0
- package/Libraries/Utilities/createPerformanceLogger.js +55 -43
- package/Libraries/Utilities/stringifySafe.js +2 -7
- package/Libraries/Utilities/useColorScheme.windows.js +26 -0
- package/Libraries/Utilities/useWindowDimensions.js +3 -3
- package/Libraries/WebPerformance/EventCounts.js +78 -0
- package/Libraries/WebPerformance/MemoryInfo.js +54 -0
- package/Libraries/WebPerformance/NativePerformance.js +38 -0
- package/Libraries/WebPerformance/NativePerformanceObserver.js +22 -7
- package/Libraries/WebPerformance/Performance.js +312 -0
- package/Libraries/WebPerformance/PerformanceEntry.js +45 -0
- package/Libraries/WebPerformance/PerformanceEventTiming.js +38 -0
- package/Libraries/WebPerformance/PerformanceObserver.js +196 -101
- package/Libraries/WebPerformance/RawPerformanceEntry.js +87 -0
- package/Libraries/WebPerformance/ReactNativeStartupTiming.js +65 -0
- package/Libraries/WebPerformance/__mocks__/NativePerformance.js +65 -0
- package/Libraries/WebPerformance/__mocks__/NativePerformanceObserver.js +101 -0
- package/Libraries/YellowBox/YellowBoxDeprecated.js +1 -1
- package/Libraries/platform-types.d.ts +3 -5
- package/Libraries/vendor/core/ErrorUtils.js +1 -1
- package/Libraries/vendor/emitter/EventEmitter.d.ts +2 -2
- package/Libraries/vendor/emitter/EventEmitter.js +9 -1
- package/Microsoft.ReactNative/Base/CoreNativeModules.cpp +0 -15
- package/Microsoft.ReactNative/CompositionHwndHost.idl +6 -0
- package/Microsoft.ReactNative/CompositionRootView.idl +35 -0
- package/Microsoft.ReactNative/CompositionSwitcher.idl +19 -0
- package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.cpp +174 -0
- package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.h +91 -0
- package/Microsoft.ReactNative/Fabric/AbiViewProps.cpp +48 -0
- package/Microsoft.ReactNative/Fabric/AbiViewProps.h +48 -0
- package/Microsoft.ReactNative/Fabric/ComponentView.h +19 -2
- package/Microsoft.ReactNative/Fabric/Composition/AbiCompositionViewComponentView.cpp +144 -0
- package/Microsoft.ReactNative/Fabric/Composition/AbiCompositionViewComponentView.h +63 -0
- package/Microsoft.ReactNative/Fabric/Composition/ComponentViewRegistry.cpp +27 -6
- package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +97 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +227 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.h +38 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +112 -95
- package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.h +12 -8
- package/Microsoft.ReactNative/Fabric/Composition/CompositionHelpers.h +0 -2
- package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.cpp +27 -6
- package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.h +8 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.cpp +147 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.h +46 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.cpp +31 -4
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.h +37 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +255 -50
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +34 -15
- package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.cpp +127 -47
- package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.h +11 -7
- package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +109 -39
- package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.h +10 -7
- package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.cpp +106 -0
- package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.h +63 -0
- package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.cpp +116 -0
- package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.h +43 -0
- package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +53 -38
- package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.h +12 -8
- package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.cpp +262 -0
- package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.h +62 -0
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +35 -30
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.h +11 -9
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputProps.cpp +9 -0
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputProps.h +3 -0
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +2 -1
- package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.cpp +72 -0
- package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.h +16 -0
- package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.cpp +168 -0
- package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.h +49 -0
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +19 -53
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +2 -3
- package/Microsoft.ReactNative/Fabric/ReactTaggedView.h +8 -9
- package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.cpp +100 -0
- package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.h +43 -0
- package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/WindowsViewProps.cpp +61 -0
- package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/WindowsViewProps.h +34 -0
- package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/primitives.h +42 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewProps.h +10 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/core/graphicsConversions.h +248 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.cpp +5 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.h +135 -4
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/conversions.h +18 -240
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.cpp +107 -17
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.h +13 -2
- package/Microsoft.ReactNative/IReactCompositionViewComponentBuilder.idl +87 -0
- package/Microsoft.ReactNative/IReactContext.cpp +4 -0
- package/Microsoft.ReactNative/IReactContext.h +1 -0
- package/Microsoft.ReactNative/IReactContext.idl +5 -0
- package/Microsoft.ReactNative/IReactDispatcher.cpp +4 -0
- package/Microsoft.ReactNative/IReactDispatcher.h +1 -0
- package/Microsoft.ReactNative/IReactPackageBuilderFabric.idl +23 -0
- package/Microsoft.ReactNative/IReactViewComponentBuilder.idl +23 -0
- package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +4 -118
- package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj.filters +1 -7
- package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.cpp +2 -2
- package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.h +1 -1
- package/Microsoft.ReactNative/Modules/AlertModule.cpp +100 -4
- package/Microsoft.ReactNative/Modules/AlertModule.h +4 -0
- package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedModule.cpp +9 -0
- package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedModule.h +2 -0
- package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.cpp +7 -5
- package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.cpp +17 -3
- package/Microsoft.ReactNative/Modules/Animated/ValueAnimatedNode.h +1 -0
- package/Microsoft.ReactNative/Modules/AppearanceModule.cpp +4 -0
- package/Microsoft.ReactNative/Modules/AppearanceModule.h +3 -0
- package/Microsoft.ReactNative/Modules/ClipboardModule.cpp +4 -4
- package/Microsoft.ReactNative/Modules/ClipboardModule.h +2 -2
- package/Microsoft.ReactNative/Modules/ImageViewManagerModule.cpp +27 -7
- package/Microsoft.ReactNative/Modules/ImageViewManagerModule.h +9 -5
- package/Microsoft.ReactNative/Modules/LinkingManagerModule.cpp +10 -12
- package/Microsoft.ReactNative/Modules/LinkingManagerModule.h +4 -4
- package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +21 -1
- package/Microsoft.ReactNative/QuirkSettings.cpp +17 -0
- package/Microsoft.ReactNative/QuirkSettings.h +5 -0
- package/Microsoft.ReactNative/QuirkSettings.idl +6 -0
- package/Microsoft.ReactNative/ReactApplication.cpp +8 -0
- package/Microsoft.ReactNative/ReactApplication.h +3 -0
- package/Microsoft.ReactNative/ReactApplication.idl +3 -0
- package/Microsoft.ReactNative/ReactCoreInjection.cpp +29 -0
- package/Microsoft.ReactNative/ReactCoreInjection.h +6 -0
- package/Microsoft.ReactNative/ReactCoreInjection.idl +13 -0
- package/Microsoft.ReactNative/ReactHost/MsoReactContext.cpp +7 -0
- package/Microsoft.ReactNative/ReactHost/MsoReactContext.h +1 -0
- package/Microsoft.ReactNative/ReactHost/React.h +2 -0
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +57 -16
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +1 -0
- package/Microsoft.ReactNative/ReactInstanceSettings.h +12 -0
- package/Microsoft.ReactNative/ReactInstanceSettings.idl +6 -0
- package/Microsoft.ReactNative/ReactNativeHost.cpp +17 -0
- package/Microsoft.ReactNative/ReactPackageBuilder.cpp +18 -0
- package/Microsoft.ReactNative/ReactPackageBuilder.h +24 -1
- package/Microsoft.ReactNative/ReactRootView.cpp +2 -2
- package/Microsoft.ReactNative/RedBox.cpp +2 -1
- package/Microsoft.ReactNative/Utils/Helpers.cpp +0 -32
- package/Microsoft.ReactNative/Utils/Helpers.h +0 -8
- package/Microsoft.ReactNative/Utils/ImageUtils.cpp +69 -6
- package/Microsoft.ReactNative/Utils/ImageUtils.h +3 -1
- package/Microsoft.ReactNative/Utils/KeyboardUtils.cpp +416 -0
- package/Microsoft.ReactNative/Utils/KeyboardUtils.h +15 -0
- package/Microsoft.ReactNative/Utils/TransformableText.h +1 -0
- package/Microsoft.ReactNative/Utils/ValueUtils.cpp +1 -9
- package/Microsoft.ReactNative/Utils/ValueUtils.h +0 -2
- package/Microsoft.ReactNative/ViewProps.idl +30 -0
- package/Microsoft.ReactNative/Views/ControlViewManager.cpp +6 -2
- package/Microsoft.ReactNative/Views/DevMenu.cpp +369 -230
- package/Microsoft.ReactNative/Views/DevMenu.h +3 -15
- package/Microsoft.ReactNative/Views/FlyoutViewManager.cpp +6 -3
- package/Microsoft.ReactNative/Views/Image/ImageViewManager.cpp +11 -3
- package/Microsoft.ReactNative/Views/Image/ImageViewManager.h +5 -1
- package/Microsoft.ReactNative/Views/Image/ReactImage.cpp +29 -22
- package/Microsoft.ReactNative/Views/Image/ReactImage.h +2 -2
- package/Microsoft.ReactNative/Views/KeyboardEventHandler.cpp +10 -405
- package/Microsoft.ReactNative/Views/KeyboardEventHandler.h +0 -3
- package/Microsoft.ReactNative/Views/PopupViewManager.cpp +1 -0
- package/Microsoft.ReactNative/Views/ScrollViewManager.cpp +2 -2
- package/Microsoft.ReactNative/Views/ShadowNodeBase.cpp +7 -0
- package/Microsoft.ReactNative/Views/ShadowNodeBase.h +3 -0
- package/Microsoft.ReactNative/Views/Text/TextHitTestUtils.cpp +6 -1
- package/Microsoft.ReactNative/Views/Text/TextPropertyChangedParentVisitor.cpp +1 -0
- package/Microsoft.ReactNative/Views/TextInputViewManager.cpp +38 -2
- package/Microsoft.ReactNative/Views/TextViewManager.cpp +3 -0
- package/Microsoft.ReactNative/Views/TouchEventHandler.h +0 -4
- package/Microsoft.ReactNative/Views/ViewManagerBase.cpp +0 -8
- package/Microsoft.ReactNative/Views/ViewPanel.cpp +1 -1
- package/Microsoft.ReactNative/Views/ViewViewManager.cpp +12 -3
- package/Microsoft.ReactNative/XamlHelper.cpp +36 -0
- package/Microsoft.ReactNative/XamlHelper.h +27 -0
- package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.cpp +4 -4
- package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.h +4 -4
- package/Microsoft.ReactNative.Cxx/JSI/LongLivedJsiValue.h +1 -1
- package/Microsoft.ReactNative.Cxx/JSI/NodeApiJsiRuntime.cpp +10 -8
- package/Microsoft.ReactNative.Cxx/JSI/NodeApiJsiRuntime.h +3 -3
- package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +4 -1
- package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems.filters +3 -0
- package/Microsoft.ReactNative.Cxx/NativeModules.h +16 -1
- package/Microsoft.ReactNative.Managed/ReactSettingsSnapshot.cs +2 -0
- package/Microsoft.ReactNative.Managed/packages.lock.json +5 -5
- package/PropertySheets/External/Microsoft.ReactNative.Cpp.ProjectReferences.props +3 -0
- package/PropertySheets/Generated/PackageVersion.g.props +4 -4
- package/PropertySheets/JSEngine.props +1 -2
- package/PropertySheets/Warnings.props +1 -1
- package/ReactCommon/ReactCommon.vcxproj +2 -4
- package/ReactCommon/ReactCommon.vcxproj.filters +3 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/CallbackWrapper.h +1 -1
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/LongLivedObject.cpp +60 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/LongLivedObject.h +60 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +116 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleBinding.h +63 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +2 -2
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.cpp +237 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.h +59 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewEventEmitter.cpp +159 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewEventEmitter.h +94 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewProps.cpp +465 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewProps.h +116 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewShadowNode.cpp +98 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/YogaStylableProps.cpp +362 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/primitives.h +326 -0
- package/ReactCommon/Yoga.cpp +60 -127
- package/Scripts/OfficeReact.Win32.nuspec +1 -0
- package/Scripts/Tfs/Layout-MSRN-Headers.ps1 +1 -0
- package/Scripts/rnw-dependencies.ps1 +14 -6
- package/Shared/Composition/CompositionSwitcher.interop.h +1 -0
- package/Shared/DevServerHelper.h +11 -2
- package/Shared/DevSettings.h +1 -0
- package/Shared/DevSupportManager.cpp +11 -1
- package/Shared/DevSupportManager.h +1 -0
- package/Shared/HermesRuntimeHolder.cpp +53 -30
- package/Shared/HermesRuntimeHolder.h +26 -11
- package/Shared/HermesSamplingProfiler.cpp +61 -8
- package/Shared/HermesSamplingProfiler.h +6 -3
- package/Shared/HermesShim.cpp +86 -82
- package/Shared/HermesShim.h +28 -8
- package/Shared/JSI/ChakraRuntime.cpp +7 -4
- package/Shared/JSI/ChakraRuntime.h +4 -4
- package/Shared/JSI/NapiJsiV8RuntimeHolder.h +2 -0
- package/Shared/JSI/RuntimeHolder.h +2 -2
- package/Shared/Logging.cpp +1 -1
- package/Shared/Modules/BlobModule.cpp +3 -4
- package/Shared/Modules/BlobModule.h +0 -4
- package/Shared/Networking/OriginPolicyHttpFilter.cpp +13 -17
- package/Shared/Networking/OriginPolicyHttpFilter.h +11 -12
- package/Shared/Networking/WinRTWebSocketResource.cpp +59 -45
- package/Shared/OInstance.cpp +9 -2
- package/Shared/Shared.vcxitems +265 -58
- package/Shared/Shared.vcxitems.filters +312 -42
- package/Shared/V8JSIRuntimeHolder.cpp +1 -0
- package/Shared/V8JSIRuntimeHolder.h +7 -2
- package/codegen/NativeAppearanceSpec.g.h +9 -3
- package/codegen/NativeClipboardSpec.g.h +3 -3
- package/codegen/NativeDevSplitBundleLoaderSpec.g.h +3 -3
- package/codegen/NativeDevToolsSettingsManagerSpec.g.h +51 -0
- package/codegen/NativeDialogManagerWindowsSpec.g.h +2 -0
- package/codegen/NativeFileReaderModuleSpec.g.h +6 -6
- package/codegen/NativeHeadlessJsTaskSupportSpec.g.h +3 -3
- package/codegen/NativeImageLoaderAndroidSpec.g.h +25 -9
- package/codegen/NativeImageLoaderIOSSpec.g.h +20 -12
- package/codegen/NativeIntentAndroidSpec.g.h +15 -15
- package/codegen/NativeLinkingManagerSpec.g.h +12 -12
- package/codegen/NativePerformanceObserverSpec.g.h +48 -10
- package/codegen/NativePerformanceSpec.g.h +63 -0
- package/codegen/NativePermissionsAndroidSpec.g.h +9 -9
- package/codegen/NativePlatformConstantsWinSpec.g.h +1 -1
- package/codegen/NativePushNotificationManagerIOSSpec.g.h +6 -6
- package/codegen/NativeSampleTurboModuleSpec.g.h +25 -19
- package/codegen/NativeShareModuleSpec.g.h +9 -3
- package/codegen/NativeUIManagerSpec.g.h +12 -12
- package/codegen/react/components/rnwcore/ComponentDescriptors.h +1 -2
- package/codegen/react/components/rnwcore/EventEmitters.cpp +21 -29
- package/codegen/react/components/rnwcore/EventEmitters.h +30 -30
- package/codegen/react/components/rnwcore/Props.cpp +47 -48
- package/codegen/react/components/rnwcore/Props.h +59 -166
- package/codegen/react/components/rnwcore/ShadowNodes.cpp +1 -2
- package/codegen/react/components/rnwcore/ShadowNodes.h +11 -22
- package/codegen/react/components/rnwcore/States.h +15 -30
- package/codegen/rnwcoreJSI-generated.cpp +87 -17
- package/codegen/rnwcoreJSI.h +1080 -376
- package/generate.js +6 -1
- package/include/Include.vcxitems +0 -1
- package/include/Include.vcxitems.filters +0 -3
- package/index.js +56 -42
- package/index.windows.js +56 -42
- package/interface.js +1 -1
- package/jest/local-setup.js +33 -0
- package/jest/mockComponent.js +4 -2
- package/jest/mockNativeComponent.js +1 -1
- package/jest/mockScrollView.js +2 -1
- package/jest/react-native-env.js +1 -3
- package/jest/setup.js +11 -8
- package/just-task.js +12 -5
- package/package.json +34 -31
- package/rn-get-polyfills.js +1 -1
- package/template/metro.config.js +2 -0
- package/Libraries/Animated/createAnimatedComponentInjection.js +0 -48
- package/Libraries/Animated/createAnimatedComponent_EXPERIMENTAL.js +0 -48
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.flow.js +0 -208
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.flow.js +0 -58
- package/Libraries/Components/DatePicker/DatePickerIOS.android.js +0 -47
- package/Libraries/Components/DatePicker/DatePickerIOS.d.ts +0 -92
- package/Libraries/Components/DatePicker/DatePickerIOS.flow.android.js +0 -14
- package/Libraries/Components/DatePicker/DatePickerIOS.flow.ios.js +0 -113
- package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +0 -242
- package/Libraries/Components/DatePicker/DatePickerIOS.windows.js +0 -47
- package/Libraries/Components/DatePicker/RCTDatePickerNativeComponent.js +0 -60
- package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +0 -26
- package/Libraries/Components/Flyout/Flyout.js.map +0 -1
- package/Libraries/Components/Flyout/FlyoutProps.d.ts +0 -25
- package/Libraries/Components/Flyout/FlyoutProps.js +0 -3
- package/Libraries/Components/Flyout/FlyoutProps.js.map +0 -1
- package/Libraries/Components/Glyph/Glyph.js.map +0 -1
- package/Libraries/Components/Glyph/GlyphProps.d.ts +0 -16
- package/Libraries/Components/Glyph/GlyphProps.js +0 -8
- package/Libraries/Components/Glyph/GlyphProps.js.map +0 -1
- package/Libraries/Components/Popup/Popup.js.map +0 -1
- package/Libraries/Components/Popup/PopupProps.d.ts +0 -27
- package/Libraries/Components/Popup/PopupProps.js +0 -8
- package/Libraries/Components/Popup/PopupProps.js.map +0 -1
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.android.js +0 -45
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.d.ts +0 -62
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js +0 -75
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.windows.js +0 -45
- package/Libraries/Components/ProgressViewIOS/RCTProgressViewNativeComponent.js +0 -33
- package/Libraries/Components/SafeAreaView/SafeAreaView.flow.js +0 -19
- package/Libraries/Components/Slider/Slider.d.ts +0 -132
- package/Libraries/Components/Slider/Slider.js +0 -282
- package/Libraries/Components/Slider/SliderNativeComponent.js +0 -56
- package/Libraries/Interaction/Batchinator.js +0 -76
- package/Libraries/Interaction/BridgeSpyStallHandler.js +0 -63
- package/Libraries/Interaction/InteractionStallDebugger.js +0 -23
- package/Libraries/Interaction/PanResponder.flow.js +0 -257
- package/Libraries/Lists/CellRenderMask.js +0 -155
- package/Libraries/Lists/ChildListCollection.js +0 -72
- package/Libraries/Lists/StateSafePureComponent.js +0 -85
- package/Libraries/Lists/VirtualizedList.d.ts +0 -347
- package/Libraries/Lists/VirtualizedListCellRenderer.js +0 -259
- package/Libraries/Lists/VirtualizedListProps.js +0 -279
- package/Libraries/Performance/PureComponentDebug.js +0 -74
- package/Libraries/Reliability/UserFlow.js +0 -158
- package/Libraries/Renderer/implementations/ReactNativeRenderer.d.ts +0 -149
- package/Libraries/Renderer/shims/ReactNativeTypes.d.ts +0 -141
- package/Libraries/Utilities/MatrixMath.js +0 -748
- package/Libraries/Utilities/buildStyleInterpolator.js +0 -209
- package/Libraries/Utilities/clamp.js +0 -23
- package/Libraries/Utilities/deprecatedPropType.js +0 -36
- package/Libraries/Utilities/groupByEveryN.js +0 -51
- package/Libraries/Utilities/mergeIntoFast.js +0 -26
- package/Libraries/Utilities/setAndForwardRef.js +0 -71
- package/Libraries/Utilities/truncate.js +0 -51
- package/Microsoft.ReactNative/Fabric/platform/react/components/image/conversions.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/components/view/ConcreteViewShadowNode.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/components/view/ViewEventEmitter.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/components/view/ViewProps.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/core/ConcreteComponentDescriptor.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/core/PropsParserContext.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/core/propsConversions.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/graphics/Color.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/imagemanager/primitives.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/TextInputEventEmitter.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/TextInputProps.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/TextInputShadowNode.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/TextInputState.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/conversions.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/primitives.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/propsConversions.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rncore/EventEmitters.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rncore/Props.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rncore/States.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Float.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/platform/cxx/react/renderer/graphics/Color.h +0 -135
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/ConcreteComponentDescriptor.h +0 -217
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/graphics/RectangleEdges.h +0 -100
- package/Shared/AsyncStorage/AsyncStorageManager.cpp +0 -149
- package/Shared/AsyncStorage/AsyncStorageManager.h +0 -71
- package/Shared/AsyncStorage/FollyDynamicConverter.cpp +0 -51
- package/Shared/AsyncStorage/FollyDynamicConverter.h +0 -24
- package/Shared/AsyncStorage/KeyValueStorage.cpp +0 -248
- package/Shared/AsyncStorage/KeyValueStorage.h +0 -50
- package/Shared/AsyncStorage/StorageFileIO.cpp +0 -160
- package/Shared/AsyncStorage/StorageFileIO.h +0 -40
- package/Shared/AsyncStorageModule.h +0 -25
- package/Shared/Modules/AsyncStorageModule.cpp +0 -87
- package/Shared/Modules/AsyncStorageModuleWin32.cpp +0 -496
- package/Shared/Modules/AsyncStorageModuleWin32.h +0 -75
- package/codegen/NativeDatePickerAndroidSpec.g.h +0 -33
- package/include/Shared/AsyncStorageModuleWin32Config.h +0 -15
- package/types/index.d.ts +0 -216
- package/types/modules/BatchedBridge.d.ts +0 -32
- package/types/modules/Codegen.d.ts +0 -74
- package/types/modules/Devtools.d.ts +0 -31
- package/types/modules/LaunchScreen.d.ts +0 -18
- package/types/modules/globals.d.ts +0 -577
- package/types/private/TimerMixin.d.ts +0 -19
- package/types/private/Utilities.d.ts +0 -10
- package/types/public/DeprecatedPropertiesAlias.d.ts +0 -205
- package/types/public/Insets.d.ts +0 -15
- package/types/public/ReactNativeRenderer.d.ts +0 -149
- package/types/public/ReactNativeTypes.d.ts +0 -143
|
@@ -27,15 +27,20 @@ import StyleSheet, {
|
|
|
27
27
|
import Text from '../../Text/Text';
|
|
28
28
|
import TextAncestor from '../../Text/TextAncestor';
|
|
29
29
|
import Platform from '../../Utilities/Platform';
|
|
30
|
-
import
|
|
30
|
+
import useMergeRefs from '../../Utilities/useMergeRefs';
|
|
31
31
|
import TextInputState from './TextInputState';
|
|
32
32
|
import invariant from 'invariant';
|
|
33
33
|
import nullthrows from 'nullthrows';
|
|
34
34
|
import * as React from 'react';
|
|
35
|
-
|
|
36
|
-
const {useLayoutEffect, useRef, useState} = React;
|
|
35
|
+
import {useCallback, useLayoutEffect, useRef, useState} from 'react';
|
|
37
36
|
|
|
38
37
|
type ReactRefSetter<T> = {current: null | T, ...} | ((ref: null | T) => mixed);
|
|
38
|
+
type TextInputInstance = React.ElementRef<HostComponent<mixed>> & {
|
|
39
|
+
+clear: () => void,
|
|
40
|
+
+isFocused: () => boolean,
|
|
41
|
+
+getNativeRef: () => ?React.ElementRef<HostComponent<mixed>>,
|
|
42
|
+
+setSelection: (start: number, end: number) => void,
|
|
43
|
+
};
|
|
39
44
|
|
|
40
45
|
let AndroidTextInput;
|
|
41
46
|
let AndroidTextInputCommands;
|
|
@@ -360,9 +365,6 @@ type IOSProps = $ReadOnly<{|
|
|
|
360
365
|
/**
|
|
361
366
|
* Give the keyboard and the system information about the
|
|
362
367
|
* expected semantic meaning for the content that users enter.
|
|
363
|
-
* `autoComplete` property accomplishes same behavior and is recommended as its supported by both platforms.
|
|
364
|
-
* Avoid using both `autoComplete` and `textContentType`, you can use `Platform.select` for differing platform behaviors.
|
|
365
|
-
* For backwards compatibility, when both set, `textContentType` takes precedence on iOS.
|
|
366
368
|
* @platform ios
|
|
367
369
|
*/
|
|
368
370
|
textContentType?: ?TextContentType,
|
|
@@ -597,6 +599,14 @@ export type Props = $ReadOnly<{|
|
|
|
597
599
|
...AndroidProps,
|
|
598
600
|
...WindowsProps, // [Windows]
|
|
599
601
|
|
|
602
|
+
/**
|
|
603
|
+
* String to be read by screenreaders to indicate an error state. The acceptable parameters
|
|
604
|
+
* of accessibilityErrorMessage is a string. Setting accessibilityInvalid to true activates
|
|
605
|
+
* the error message. Setting accessibilityInvalid to false removes the error message.
|
|
606
|
+
*/
|
|
607
|
+
accessibilityErrorMessage?: ?Stringish,
|
|
608
|
+
accessibilityInvalid?: ?boolean,
|
|
609
|
+
|
|
600
610
|
/**
|
|
601
611
|
* Can tell `TextInput` to automatically capitalize certain characters.
|
|
602
612
|
*
|
|
@@ -652,9 +662,7 @@ export type Props = $ReadOnly<{|
|
|
|
652
662
|
*/
|
|
653
663
|
editable?: ?boolean,
|
|
654
664
|
|
|
655
|
-
forwardedRef?: ?ReactRefSetter<
|
|
656
|
-
React.ElementRef<HostComponent<mixed>> & ImperativeMethods,
|
|
657
|
-
>,
|
|
665
|
+
forwardedRef?: ?ReactRefSetter<TextInputInstance>,
|
|
658
666
|
|
|
659
667
|
/**
|
|
660
668
|
* `enterKeyHint` defines what action label (or icon) to present for the enter key on virtual keyboards.
|
|
@@ -992,13 +1000,6 @@ export type Props = $ReadOnly<{|
|
|
|
992
1000
|
value?: ?Stringish,
|
|
993
1001
|
|}>;
|
|
994
1002
|
|
|
995
|
-
type ImperativeMethods = $ReadOnly<{|
|
|
996
|
-
clear: () => void,
|
|
997
|
-
isFocused: () => boolean,
|
|
998
|
-
getNativeRef: () => ?React.ElementRef<HostComponent<mixed>>,
|
|
999
|
-
setSelection: (start: number, end: number) => void,
|
|
1000
|
-
|}>;
|
|
1001
|
-
|
|
1002
1003
|
const emptyFunctionThatReturnsTrue = () => true;
|
|
1003
1004
|
|
|
1004
1005
|
/**
|
|
@@ -1113,6 +1114,18 @@ const emptyFunctionThatReturnsTrue = () => true;
|
|
|
1113
1114
|
*
|
|
1114
1115
|
*/
|
|
1115
1116
|
function InternalTextInput(props: Props): React.Node {
|
|
1117
|
+
const {
|
|
1118
|
+
'aria-busy': ariaBusy,
|
|
1119
|
+
'aria-checked': ariaChecked,
|
|
1120
|
+
'aria-disabled': ariaDisabled,
|
|
1121
|
+
'aria-expanded': ariaExpanded,
|
|
1122
|
+
'aria-selected': ariaSelected,
|
|
1123
|
+
accessibilityState,
|
|
1124
|
+
id,
|
|
1125
|
+
tabIndex,
|
|
1126
|
+
...otherProps
|
|
1127
|
+
} = props;
|
|
1128
|
+
|
|
1116
1129
|
const inputRef = useRef<null | React.ElementRef<HostComponent<mixed>>>(null);
|
|
1117
1130
|
|
|
1118
1131
|
// Android sends a "onTextChanged" event followed by a "onSelectionChanged" event, for
|
|
@@ -1234,74 +1247,74 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
1234
1247
|
}
|
|
1235
1248
|
}, [inputRef]);
|
|
1236
1249
|
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
inputRef.current,
|
|
1241
|
-
mostRecentEventCount,
|
|
1242
|
-
'',
|
|
1243
|
-
0,
|
|
1244
|
-
0,
|
|
1245
|
-
);
|
|
1246
|
-
}
|
|
1247
|
-
}
|
|
1248
|
-
|
|
1249
|
-
function setSelection(start: number, end: number): void {
|
|
1250
|
-
if (inputRef.current != null) {
|
|
1251
|
-
viewCommands.setTextAndSelection(
|
|
1252
|
-
inputRef.current,
|
|
1253
|
-
mostRecentEventCount,
|
|
1254
|
-
null,
|
|
1255
|
-
start,
|
|
1256
|
-
end,
|
|
1257
|
-
);
|
|
1258
|
-
}
|
|
1259
|
-
}
|
|
1260
|
-
|
|
1261
|
-
// TODO: Fix this returning true on null === null, when no input is focused
|
|
1262
|
-
function isFocused(): boolean {
|
|
1263
|
-
return TextInputState.currentlyFocusedInput() === inputRef.current;
|
|
1264
|
-
}
|
|
1265
|
-
|
|
1266
|
-
function getNativeRef(): ?React.ElementRef<HostComponent<mixed>> {
|
|
1267
|
-
return inputRef.current;
|
|
1268
|
-
}
|
|
1269
|
-
|
|
1270
|
-
const _setNativeRef = setAndForwardRef({
|
|
1271
|
-
getForwardedRef: () => props.forwardedRef,
|
|
1272
|
-
setLocalRef: ref => {
|
|
1273
|
-
inputRef.current = ref;
|
|
1250
|
+
const setLocalRef = useCallback(
|
|
1251
|
+
(instance: TextInputInstance | null) => {
|
|
1252
|
+
inputRef.current = instance;
|
|
1274
1253
|
|
|
1275
1254
|
/*
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
if (
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1255
|
+
Hi reader from the future. I'm sorry for this.
|
|
1256
|
+
|
|
1257
|
+
This is a hack. Ideally we would forwardRef to the underlying
|
|
1258
|
+
host component. However, since TextInput has it's own methods that can be
|
|
1259
|
+
called as well, if we used the standard forwardRef then these
|
|
1260
|
+
methods wouldn't be accessible and thus be a breaking change.
|
|
1261
|
+
|
|
1262
|
+
We have a couple of options of how to handle this:
|
|
1263
|
+
- Return a new ref with everything we methods from both. This is problematic
|
|
1264
|
+
because we need React to also know it is a host component which requires
|
|
1265
|
+
internals of the class implementation of the ref.
|
|
1266
|
+
- Break the API and have some other way to call one set of the methods or
|
|
1267
|
+
the other. This is our long term approach as we want to eventually
|
|
1268
|
+
get the methods on host components off the ref. So instead of calling
|
|
1269
|
+
ref.measure() you might call ReactNative.measure(ref). This would hopefully
|
|
1270
|
+
let the ref for TextInput then have the methods like `.clear`. Or we do it
|
|
1271
|
+
the other way and make it TextInput.clear(textInputRef) which would be fine
|
|
1272
|
+
too. Either way though is a breaking change that is longer term.
|
|
1273
|
+
- Mutate this ref. :( Gross, but accomplishes what we need in the meantime
|
|
1274
|
+
before we can get to the long term breaking change.
|
|
1275
|
+
*/
|
|
1276
|
+
if (instance != null) {
|
|
1277
|
+
// $FlowFixMe[incompatible-use] - See the explanation above.
|
|
1278
|
+
Object.assign(instance, {
|
|
1279
|
+
clear(): void {
|
|
1280
|
+
if (inputRef.current != null) {
|
|
1281
|
+
viewCommands.setTextAndSelection(
|
|
1282
|
+
inputRef.current,
|
|
1283
|
+
mostRecentEventCount,
|
|
1284
|
+
'',
|
|
1285
|
+
0,
|
|
1286
|
+
0,
|
|
1287
|
+
);
|
|
1288
|
+
}
|
|
1289
|
+
},
|
|
1290
|
+
// TODO: Fix this returning true on null === null, when no input is focused
|
|
1291
|
+
isFocused(): boolean {
|
|
1292
|
+
return TextInputState.currentlyFocusedInput() === inputRef.current;
|
|
1293
|
+
},
|
|
1294
|
+
getNativeRef(): ?React.ElementRef<HostComponent<mixed>> {
|
|
1295
|
+
return inputRef.current;
|
|
1296
|
+
},
|
|
1297
|
+
setSelection(start: number, end: number): void {
|
|
1298
|
+
if (inputRef.current != null) {
|
|
1299
|
+
viewCommands.setTextAndSelection(
|
|
1300
|
+
inputRef.current,
|
|
1301
|
+
mostRecentEventCount,
|
|
1302
|
+
null,
|
|
1303
|
+
start,
|
|
1304
|
+
end,
|
|
1305
|
+
);
|
|
1306
|
+
}
|
|
1307
|
+
},
|
|
1308
|
+
});
|
|
1302
1309
|
}
|
|
1303
1310
|
},
|
|
1304
|
-
|
|
1311
|
+
[mostRecentEventCount, viewCommands],
|
|
1312
|
+
);
|
|
1313
|
+
|
|
1314
|
+
const ref = useMergeRefs<TextInputInstance | null>(
|
|
1315
|
+
setLocalRef,
|
|
1316
|
+
props.forwardedRef,
|
|
1317
|
+
);
|
|
1305
1318
|
|
|
1306
1319
|
const _onChange = (event: ChangeEvent) => {
|
|
1307
1320
|
const currentText = event.nativeEvent.text;
|
|
@@ -1404,6 +1417,12 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
1404
1417
|
}
|
|
1405
1418
|
|
|
1406
1419
|
const accessible = props.accessible !== false;
|
|
1420
|
+
|
|
1421
|
+
const accessibilityErrorMessage =
|
|
1422
|
+
props.accessibilityInvalid === true
|
|
1423
|
+
? props.accessibilityErrorMessage
|
|
1424
|
+
: null;
|
|
1425
|
+
|
|
1407
1426
|
const focusable = props.focusable !== false;
|
|
1408
1427
|
|
|
1409
1428
|
const config = React.useMemo(
|
|
@@ -1490,13 +1509,26 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
1490
1509
|
props.onKeyUpCapture && props.onKeyUpCapture(event);
|
|
1491
1510
|
};
|
|
1492
1511
|
|
|
1493
|
-
|
|
1494
|
-
|
|
1495
|
-
|
|
1496
|
-
|
|
1497
|
-
|
|
1498
|
-
|
|
1499
|
-
|
|
1512
|
+
let _accessibilityState;
|
|
1513
|
+
if (
|
|
1514
|
+
accessibilityState != null ||
|
|
1515
|
+
ariaBusy != null ||
|
|
1516
|
+
ariaChecked != null ||
|
|
1517
|
+
ariaDisabled != null ||
|
|
1518
|
+
ariaExpanded != null ||
|
|
1519
|
+
ariaSelected != null
|
|
1520
|
+
) {
|
|
1521
|
+
_accessibilityState = {
|
|
1522
|
+
busy: ariaBusy ?? accessibilityState?.busy,
|
|
1523
|
+
checked: ariaChecked ?? accessibilityState?.checked,
|
|
1524
|
+
disabled: ariaDisabled ?? accessibilityState?.disabled,
|
|
1525
|
+
expanded: ariaExpanded ?? accessibilityState?.expanded,
|
|
1526
|
+
selected: ariaSelected ?? accessibilityState?.selected,
|
|
1527
|
+
};
|
|
1528
|
+
}
|
|
1529
|
+
|
|
1530
|
+
// $FlowFixMe[underconstrained-implicit-instantiation]
|
|
1531
|
+
let style = flattenStyle(props.style);
|
|
1500
1532
|
|
|
1501
1533
|
if (Platform.OS === 'ios') {
|
|
1502
1534
|
const RCTTextInputView =
|
|
@@ -1504,10 +1536,7 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
1504
1536
|
? RCTMultilineTextInputView
|
|
1505
1537
|
: RCTSinglelineTextInputView;
|
|
1506
1538
|
|
|
1507
|
-
|
|
1508
|
-
props.multiline === true
|
|
1509
|
-
? StyleSheet.flatten([styles.multilineInput, props.style])
|
|
1510
|
-
: props.style;
|
|
1539
|
+
style = props.multiline === true ? [styles.multilineInput, style] : style;
|
|
1511
1540
|
|
|
1512
1541
|
const useOnChangeSync =
|
|
1513
1542
|
(props.unstable_onChangeSync || props.unstable_onChangeTextSync) &&
|
|
@@ -1515,16 +1544,19 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
1515
1544
|
|
|
1516
1545
|
textInput = (
|
|
1517
1546
|
<RCTTextInputView
|
|
1518
|
-
|
|
1519
|
-
{
|
|
1547
|
+
// $FlowFixMe[incompatible-type] - Figure out imperative + forward refs.
|
|
1548
|
+
ref={ref}
|
|
1549
|
+
{...otherProps}
|
|
1520
1550
|
{...eventHandlers}
|
|
1521
|
-
|
|
1551
|
+
accessibilityErrorMessage={accessibilityErrorMessage}
|
|
1522
1552
|
accessibilityState={_accessibilityState}
|
|
1553
|
+
accessible={accessible}
|
|
1523
1554
|
submitBehavior={submitBehavior}
|
|
1524
1555
|
caretHidden={caretHidden}
|
|
1525
1556
|
dataDetectorTypes={props.dataDetectorTypes}
|
|
1526
|
-
focusable={focusable}
|
|
1557
|
+
focusable={tabIndex !== undefined ? !tabIndex : focusable}
|
|
1527
1558
|
mostRecentEventCount={mostRecentEventCount}
|
|
1559
|
+
nativeID={id ?? props.nativeID}
|
|
1528
1560
|
onBlur={_onBlur}
|
|
1529
1561
|
onKeyPressSync={props.unstable_onKeyPressSync}
|
|
1530
1562
|
onChange={_onChange}
|
|
@@ -1540,7 +1572,6 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
1540
1572
|
/>
|
|
1541
1573
|
);
|
|
1542
1574
|
} else if (Platform.OS === 'android') {
|
|
1543
|
-
const style = [props.style];
|
|
1544
1575
|
const autoCapitalize = props.autoCapitalize || 'sentences';
|
|
1545
1576
|
const _accessibilityLabelledBy =
|
|
1546
1577
|
props?.['aria-labelledby'] ?? props?.accessibilityLabelledBy;
|
|
@@ -1565,19 +1596,22 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
1565
1596
|
* match up exactly with the props for TextInput. This will need to get
|
|
1566
1597
|
* fixed */
|
|
1567
1598
|
<AndroidTextInput
|
|
1568
|
-
|
|
1569
|
-
{
|
|
1599
|
+
// $FlowFixMe[incompatible-type] - Figure out imperative + forward refs.
|
|
1600
|
+
ref={ref}
|
|
1601
|
+
{...otherProps}
|
|
1570
1602
|
{...eventHandlers}
|
|
1571
|
-
|
|
1603
|
+
accessibilityErrorMessage={accessibilityErrorMessage}
|
|
1572
1604
|
accessibilityState={_accessibilityState}
|
|
1573
1605
|
accessibilityLabelledBy={_accessibilityLabelledBy}
|
|
1606
|
+
accessible={accessible}
|
|
1574
1607
|
autoCapitalize={autoCapitalize}
|
|
1575
1608
|
submitBehavior={submitBehavior}
|
|
1576
1609
|
caretHidden={caretHidden}
|
|
1577
1610
|
children={children}
|
|
1578
1611
|
disableFullscreenUI={props.disableFullscreenUI}
|
|
1579
|
-
focusable={focusable}
|
|
1612
|
+
focusable={tabIndex !== undefined ? !tabIndex : focusable}
|
|
1580
1613
|
mostRecentEventCount={mostRecentEventCount}
|
|
1614
|
+
nativeID={id ?? props.nativeID}
|
|
1581
1615
|
numberOfLines={props.rows ?? props.numberOfLines}
|
|
1582
1616
|
onBlur={_onBlur}
|
|
1583
1617
|
onChange={_onChange}
|
|
@@ -1601,7 +1635,8 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
1601
1635
|
else if (Platform.OS === 'windows') {
|
|
1602
1636
|
textInput = (
|
|
1603
1637
|
<WindowsTextInput
|
|
1604
|
-
|
|
1638
|
+
// $FlowFixMe[incompatible-type] - Figure out imperative + forward refs.
|
|
1639
|
+
ref={ref}
|
|
1605
1640
|
{...props}
|
|
1606
1641
|
accessible={accessible}
|
|
1607
1642
|
focusable={focusable}
|
|
@@ -1712,7 +1747,7 @@ const autoCompleteWebToTextContentTypeMap = {
|
|
|
1712
1747
|
|
|
1713
1748
|
const ExportedForwardRef: React.AbstractComponent<
|
|
1714
1749
|
React.ElementConfig<typeof InternalTextInput>,
|
|
1715
|
-
|
|
1750
|
+
TextInputInstance,
|
|
1716
1751
|
> = React.forwardRef(function TextInput(
|
|
1717
1752
|
{
|
|
1718
1753
|
allowFontScaling = true,
|
|
@@ -1725,18 +1760,19 @@ const ExportedForwardRef: React.AbstractComponent<
|
|
|
1725
1760
|
enterKeyHint,
|
|
1726
1761
|
returnKeyType,
|
|
1727
1762
|
inputMode,
|
|
1763
|
+
showSoftInputOnFocus,
|
|
1728
1764
|
keyboardType,
|
|
1729
1765
|
...restProps
|
|
1730
1766
|
},
|
|
1731
|
-
forwardedRef: ReactRefSetter<
|
|
1732
|
-
React.ElementRef<HostComponent<mixed>> & ImperativeMethods,
|
|
1733
|
-
>,
|
|
1767
|
+
forwardedRef: ReactRefSetter<TextInputInstance>,
|
|
1734
1768
|
) {
|
|
1735
|
-
|
|
1769
|
+
// $FlowFixMe[underconstrained-implicit-instantiation]
|
|
1770
|
+
let style = flattenStyle(restProps.style);
|
|
1736
1771
|
|
|
1737
1772
|
if (style?.verticalAlign != null) {
|
|
1738
1773
|
style.textAlignVertical =
|
|
1739
1774
|
verticalAlignToTextAlignVerticalMap[style.verticalAlign];
|
|
1775
|
+
delete style.verticalAlign;
|
|
1740
1776
|
}
|
|
1741
1777
|
|
|
1742
1778
|
return (
|
|
@@ -1751,22 +1787,21 @@ const ExportedForwardRef: React.AbstractComponent<
|
|
|
1751
1787
|
keyboardType={
|
|
1752
1788
|
inputMode ? inputModeToKeyboardTypeMap[inputMode] : keyboardType
|
|
1753
1789
|
}
|
|
1790
|
+
showSoftInputOnFocus={
|
|
1791
|
+
inputMode == null ? showSoftInputOnFocus : inputMode !== 'none'
|
|
1792
|
+
}
|
|
1754
1793
|
autoComplete={
|
|
1755
1794
|
Platform.OS === 'android'
|
|
1756
|
-
? // $FlowFixMe
|
|
1757
|
-
// $FlowFixMe[prop-missing]
|
|
1795
|
+
? // $FlowFixMe
|
|
1758
1796
|
autoCompleteWebToAutoCompleteAndroidMap[autoComplete] ??
|
|
1759
1797
|
autoComplete
|
|
1760
1798
|
: undefined
|
|
1761
1799
|
}
|
|
1762
1800
|
textContentType={
|
|
1763
|
-
|
|
1764
|
-
|
|
1765
|
-
|
|
1766
|
-
|
|
1767
|
-
autoComplete in autoCompleteWebToTextContentTypeMap
|
|
1768
|
-
? // $FlowFixMe[invalid-computed-prop]
|
|
1769
|
-
// $FlowFixMe[prop-missing]
|
|
1801
|
+
Platform.OS === 'ios' &&
|
|
1802
|
+
autoComplete &&
|
|
1803
|
+
autoComplete in autoCompleteWebToTextContentTypeMap
|
|
1804
|
+
? // $FlowFixMe
|
|
1770
1805
|
autoCompleteWebToTextContentTypeMap[autoComplete]
|
|
1771
1806
|
: textContentType
|
|
1772
1807
|
}
|
|
@@ -1777,6 +1812,8 @@ const ExportedForwardRef: React.AbstractComponent<
|
|
|
1777
1812
|
);
|
|
1778
1813
|
});
|
|
1779
1814
|
|
|
1815
|
+
ExportedForwardRef.displayName = 'TextInput';
|
|
1816
|
+
|
|
1780
1817
|
/**
|
|
1781
1818
|
* Switch to `deprecated-react-native-prop-types` for compatibility with future
|
|
1782
1819
|
* releases. This is deprecated and will be removed in the future.
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
import type {HostComponent} from '../../Renderer/shims/ReactNativeTypes';
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
import requireNativeComponent from '../../ReactNative/requireNativeComponent';
|
|
9
9
|
import codegenNativeCommands from '../../Utilities/codegenNativeCommands';
|
|
10
10
|
import type {TextInputNativeCommands} from './TextInputNativeCommands';
|
|
11
11
|
type NativeType = HostComponent<mixed>;
|
|
@@ -13,7 +13,7 @@ import {GestureResponderEvent} from '../../Types/CoreEventTypes';
|
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* //FIXME: need to find documentation on which component is a TTouchable and can implement that interface
|
|
16
|
-
* @see React.
|
|
16
|
+
* @see React.DOMAttributes
|
|
17
17
|
*/
|
|
18
18
|
export interface Touchable {
|
|
19
19
|
onTouchStart?: ((event: GestureResponderEvent) => void) | undefined;
|
|
@@ -99,7 +99,30 @@ import * as React from 'react';
|
|
|
99
99
|
* }
|
|
100
100
|
*/
|
|
101
101
|
|
|
102
|
-
|
|
102
|
+
/**
|
|
103
|
+
* Touchable states.
|
|
104
|
+
*/
|
|
105
|
+
|
|
106
|
+
const States = {
|
|
107
|
+
NOT_RESPONDER: 'NOT_RESPONDER', // Not the responder
|
|
108
|
+
RESPONDER_INACTIVE_PRESS_IN: 'RESPONDER_INACTIVE_PRESS_IN', // Responder, inactive, in the `PressRect`
|
|
109
|
+
RESPONDER_INACTIVE_PRESS_OUT: 'RESPONDER_INACTIVE_PRESS_OUT', // Responder, inactive, out of `PressRect`
|
|
110
|
+
RESPONDER_ACTIVE_PRESS_IN: 'RESPONDER_ACTIVE_PRESS_IN', // Responder, active, in the `PressRect`
|
|
111
|
+
RESPONDER_ACTIVE_PRESS_OUT: 'RESPONDER_ACTIVE_PRESS_OUT', // Responder, active, out of `PressRect`
|
|
112
|
+
RESPONDER_ACTIVE_LONG_PRESS_IN: 'RESPONDER_ACTIVE_LONG_PRESS_IN', // Responder, active, in the `PressRect`, after long press threshold
|
|
113
|
+
RESPONDER_ACTIVE_LONG_PRESS_OUT: 'RESPONDER_ACTIVE_LONG_PRESS_OUT', // Responder, active, out of `PressRect`, after long press threshold
|
|
114
|
+
ERROR: 'ERROR',
|
|
115
|
+
};
|
|
116
|
+
|
|
117
|
+
type State =
|
|
118
|
+
| typeof States.NOT_RESPONDER
|
|
119
|
+
| typeof States.RESPONDER_INACTIVE_PRESS_IN
|
|
120
|
+
| typeof States.RESPONDER_INACTIVE_PRESS_OUT
|
|
121
|
+
| typeof States.RESPONDER_ACTIVE_PRESS_IN
|
|
122
|
+
| typeof States.RESPONDER_ACTIVE_PRESS_OUT
|
|
123
|
+
| typeof States.RESPONDER_ACTIVE_LONG_PRESS_IN
|
|
124
|
+
| typeof States.RESPONDER_ACTIVE_LONG_PRESS_OUT
|
|
125
|
+
| typeof States.ERROR;
|
|
103
126
|
|
|
104
127
|
/**
|
|
105
128
|
* By convention, methods prefixed with underscores are meant to be @private,
|
|
@@ -200,9 +223,12 @@ interface TouchableMixinType {
|
|
|
200
223
|
* @return {object} State object to be placed inside of
|
|
201
224
|
* `this.state.touchable`.
|
|
202
225
|
*/
|
|
203
|
-
touchableGetInitialState: () =>
|
|
204
|
-
touchable:
|
|
205
|
-
|
|
226
|
+
touchableGetInitialState: () => {
|
|
227
|
+
touchable: {
|
|
228
|
+
touchState: ?State,
|
|
229
|
+
responderID: ?PressEvent['currentTarget'],
|
|
230
|
+
},
|
|
231
|
+
};
|
|
206
232
|
|
|
207
233
|
// ==== Hooks to Gesture Responder system ====
|
|
208
234
|
/**
|
|
@@ -396,9 +396,12 @@ const TouchableMixin = {
|
|
|
396
396
|
* @return {object} State object to be placed inside of
|
|
397
397
|
* `this.state.touchable`.
|
|
398
398
|
*/
|
|
399
|
-
touchableGetInitialState: function ():
|
|
400
|
-
touchable:
|
|
401
|
-
|
|
399
|
+
touchableGetInitialState: function (): {
|
|
400
|
+
touchable: {
|
|
401
|
+
touchState: ?State,
|
|
402
|
+
responderID: ?PressEvent['currentTarget'],
|
|
403
|
+
},
|
|
404
|
+
} {
|
|
402
405
|
return {
|
|
403
406
|
touchable: {touchState: undefined, responderID: null},
|
|
404
407
|
};
|
|
@@ -401,9 +401,12 @@ const TouchableMixin = {
|
|
|
401
401
|
* @return {object} State object to be placed inside of
|
|
402
402
|
* `this.state.touchable`.
|
|
403
403
|
*/
|
|
404
|
-
touchableGetInitialState: function ():
|
|
405
|
-
touchable:
|
|
406
|
-
|
|
404
|
+
touchableGetInitialState: function (): {
|
|
405
|
+
touchable: {
|
|
406
|
+
touchState: ?State,
|
|
407
|
+
responderID: ?PressEvent['currentTarget'],
|
|
408
|
+
},
|
|
409
|
+
} {
|
|
407
410
|
return {
|
|
408
411
|
touchable: {touchState: undefined, responderID: null},
|
|
409
412
|
};
|
|
@@ -277,7 +277,7 @@ class TouchableHighlight extends React.Component<Props, State> {
|
|
|
277
277
|
}
|
|
278
278
|
|
|
279
279
|
render(): React.Node {
|
|
280
|
-
const child = React.Children.only(this.props.children);
|
|
280
|
+
const child = React.Children.only<$FlowFixMe>(this.props.children);
|
|
281
281
|
|
|
282
282
|
// BACKWARD-COMPATIBILITY: Focus and blur events were never supported before
|
|
283
283
|
// adopting `Pressability`, so preserve that behavior.
|
|
@@ -279,7 +279,7 @@ class TouchableHighlight extends React.Component<Props, State> {
|
|
|
279
279
|
}
|
|
280
280
|
|
|
281
281
|
render(): React.Node {
|
|
282
|
-
const child = React.Children.only(this.props.children);
|
|
282
|
+
const child = React.Children.only<$FlowFixMe>(this.props.children);
|
|
283
283
|
|
|
284
284
|
// BACKWARD-COMPATIBILITY: Focus and blur events were never supported before
|
|
285
285
|
// adopting `Pressability`, so preserve that behavior.
|
|
@@ -324,6 +324,7 @@ class TouchableHighlight extends React.Component<Props, State> {
|
|
|
324
324
|
accessibilityValue={accessibilityValue}
|
|
325
325
|
accessibilityActions={this.props.accessibilityActions}
|
|
326
326
|
onAccessibilityAction={this.props.onAccessibilityAction}
|
|
327
|
+
disabled={this.props.disabled}
|
|
327
328
|
importantForAccessibility={
|
|
328
329
|
this.props['aria-hidden'] === true
|
|
329
330
|
? 'no-hide-descendants'
|
|
@@ -239,8 +239,8 @@ class TouchableNativeFeedback extends React.Component<Props, State> {
|
|
|
239
239
|
}
|
|
240
240
|
|
|
241
241
|
render(): React.Node {
|
|
242
|
-
const element = React.Children.only(this.props.children);
|
|
243
|
-
const children = [element.props.children];
|
|
242
|
+
const element = React.Children.only<$FlowFixMe>(this.props.children);
|
|
243
|
+
const children: Array<React.Node> = [element.props.children];
|
|
244
244
|
if (__DEV__) {
|
|
245
245
|
if (element.type === View) {
|
|
246
246
|
children.push(
|
|
@@ -206,6 +206,7 @@ class TouchableOpacity extends React.Component<Props, State> {
|
|
|
206
206
|
}
|
|
207
207
|
|
|
208
208
|
_getChildStyleOpacityWithDefault(): number {
|
|
209
|
+
// $FlowFixMe[underconstrained-implicit-instantiation]
|
|
209
210
|
const opacity = flattenStyle(this.props.style)?.opacity;
|
|
210
211
|
return typeof opacity === 'number' ? opacity : 1;
|
|
211
212
|
}
|
|
@@ -301,7 +302,9 @@ class TouchableOpacity extends React.Component<Props, State> {
|
|
|
301
302
|
this.state.pressability.configure(this._createPressabilityConfig());
|
|
302
303
|
if (
|
|
303
304
|
this.props.disabled !== prevProps.disabled ||
|
|
305
|
+
// $FlowFixMe[underconstrained-implicit-instantiation]
|
|
304
306
|
flattenStyle(prevProps.style)?.opacity !==
|
|
307
|
+
// $FlowFixMe[underconstrained-implicit-instantiation]
|
|
305
308
|
flattenStyle(this.props.style)?.opacity
|
|
306
309
|
) {
|
|
307
310
|
this._opacityInactive(250);
|
|
@@ -208,6 +208,7 @@ class TouchableOpacity extends React.Component<Props, State> {
|
|
|
208
208
|
}
|
|
209
209
|
|
|
210
210
|
_getChildStyleOpacityWithDefault(): number {
|
|
211
|
+
// $FlowFixMe[underconstrained-implicit-instantiation]
|
|
211
212
|
const opacity = flattenStyle(this.props.style)?.opacity;
|
|
212
213
|
return typeof opacity === 'number' ? opacity : 1;
|
|
213
214
|
}
|
|
@@ -280,6 +281,7 @@ class TouchableOpacity extends React.Component<Props, State> {
|
|
|
280
281
|
accessibilityElementsHidden={
|
|
281
282
|
this.props['aria-hidden'] ?? this.props.accessibilityElementsHidden
|
|
282
283
|
}
|
|
284
|
+
disabled={this.props.disabled}
|
|
283
285
|
style={[this.props.style, {opacity: this.state.anim}]}
|
|
284
286
|
nativeID={this.props.nativeID}
|
|
285
287
|
testID={this.props.testID}
|
|
@@ -315,7 +317,9 @@ class TouchableOpacity extends React.Component<Props, State> {
|
|
|
315
317
|
this.state.pressability.configure(this._createPressabilityConfig());
|
|
316
318
|
if (
|
|
317
319
|
this.props.disabled !== prevProps.disabled ||
|
|
320
|
+
// $FlowFixMe[underconstrained-implicit-instantiation]
|
|
318
321
|
flattenStyle(prevProps.style)?.opacity !==
|
|
322
|
+
// $FlowFixMe[underconstrained-implicit-instantiation]
|
|
319
323
|
flattenStyle(this.props.style)?.opacity
|
|
320
324
|
) {
|
|
321
325
|
this._opacityInactive(250);
|
|
@@ -40,7 +40,7 @@ export interface TouchableWithoutFeedbackProps
|
|
|
40
40
|
extends TouchableWithoutFeedbackPropsIOS,
|
|
41
41
|
TouchableWithoutFeedbackPropsAndroid,
|
|
42
42
|
AccessibilityProps {
|
|
43
|
-
children?: React.ReactNode;
|
|
43
|
+
children?: React.ReactNode | undefined;
|
|
44
44
|
|
|
45
45
|
/**
|
|
46
46
|
* Delay in ms, from onPressIn, before onLongPress is called.
|
|
@@ -121,8 +121,8 @@ class TouchableWithoutFeedback extends React.Component<Props, State> {
|
|
|
121
121
|
};
|
|
122
122
|
|
|
123
123
|
render(): React.Node {
|
|
124
|
-
const element = React.Children.only(this.props.children);
|
|
125
|
-
const children = [element.props.children];
|
|
124
|
+
const element = React.Children.only<$FlowFixMe>(this.props.children);
|
|
125
|
+
const children: Array<React.Node> = [element.props.children];
|
|
126
126
|
const ariaLive = this.props['aria-live'];
|
|
127
127
|
|
|
128
128
|
if (__DEV__) {
|
|
@@ -136,8 +136,8 @@ class TouchableWithoutFeedback extends React.Component<Props, State> {
|
|
|
136
136
|
};
|
|
137
137
|
|
|
138
138
|
render(): React.Node {
|
|
139
|
-
const element = React.Children.only(this.props.children);
|
|
140
|
-
const children = [element.props.children];
|
|
139
|
+
const element = React.Children.only<$FlowFixMe>(this.props.children);
|
|
140
|
+
const children: Array<React.Node> = [element.props.children];
|
|
141
141
|
const ariaLive = this.props['aria-live'];
|
|
142
142
|
|
|
143
143
|
if (__DEV__) {
|