react-native-windows 0.74.12 → 0.75.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 +8 -2
- package/Common/Utilities.cpp +2 -2
- package/Folly/TEMP_UntilFollyUpdate/ConstexprMath.h +970 -0
- package/Folly/TEMP_UntilFollyUpdate/json.cpp +1110 -0
- package/Folly/TEMP_UntilFollyUpdate/lang/ToAscii.cpp +4 -2
- package/Libraries/Animated/AnimatedImplementation.js +2 -0
- package/Libraries/Animated/NativeAnimatedHelper.js +4 -0
- package/Libraries/Animated/createAnimatedComponent.js +10 -4
- package/Libraries/Animated/useAnimatedProps.js +56 -28
- package/Libraries/BatchedBridge/MessageQueue.js +1 -0
- package/Libraries/Components/Button.js +10 -5
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +11 -2
- package/Libraries/Components/Flyout/Flyout.js +10 -10
- package/Libraries/Components/Flyout/FlyoutNativeComponent.js +8 -7
- package/Libraries/Components/Pressable/Pressable.js +13 -6
- package/Libraries/Components/Pressable/Pressable.windows.js +13 -6
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +4 -0
- package/Libraries/Components/ScrollView/ScrollView.js +109 -29
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +6 -0
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.windows.js +6 -0
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +13 -1
- package/Libraries/Components/StatusBar/StatusBar.js +1 -21
- package/Libraries/Components/Switch/Switch.windows.js +2 -0
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +0 -15
- package/Libraries/Components/TextInput/InputAccessoryView.js +10 -1
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +0 -12
- package/Libraries/Components/TextInput/TextInput.d.ts +0 -19
- package/Libraries/Components/TextInput/TextInput.js +14 -70
- package/Libraries/Components/TextInput/TextInput.windows.js +15 -72
- package/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js +27 -12
- package/Libraries/Components/Touchable/Touchable.js +2 -2
- package/Libraries/Components/Touchable/TouchableHighlight.d.ts +4 -10
- package/Libraries/Components/Touchable/TouchableHighlight.js +3 -1
- package/Libraries/Components/Touchable/TouchableHighlight.windows.js +3 -1
- package/Libraries/Components/Touchable/TouchableOpacity.d.ts +4 -32
- package/Libraries/Components/Touchable/TouchableOpacity.js +3 -1
- package/Libraries/Components/Touchable/TouchableOpacity.windows.js +3 -1
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +8 -0
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +117 -111
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +129 -110
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +6 -0
- package/Libraries/Components/View/ReactNativeViewAttributes.js +1 -0
- package/Libraries/Components/View/ReactNativeViewAttributes.windows.js +1 -0
- package/Libraries/Components/View/View.js +0 -11
- package/Libraries/Components/View/View.windows.js +0 -11
- package/Libraries/Components/View/ViewAccessibility.js +4 -4
- package/Libraries/Components/View/ViewAccessibility.windows.js +4 -4
- package/Libraries/Components/View/ViewPropTypes.d.ts +21 -59
- package/Libraries/Components/View/ViewPropTypes.js +7 -0
- package/Libraries/Components/View/ViewPropTypes.windows.js +7 -0
- package/Libraries/Core/Devtools/loadBundleFromServer.js +3 -3
- package/Libraries/Core/Devtools/loadBundleFromServer.windows.js +153 -0
- package/Libraries/Core/Devtools/parseErrorStack.js +5 -5
- package/Libraries/Core/Devtools/parseHermesStack.js +22 -16
- package/Libraries/Core/ErrorHandlers.js +116 -0
- package/Libraries/Core/ExceptionsManager.js +2 -2
- package/Libraries/Core/ReactNativeVersion.js +3 -3
- package/Libraries/Core/setUpDeveloperTools.js +3 -1
- package/Libraries/Core/setUpPerformance.js +6 -4
- package/Libraries/Core/setUpReactDevTools.js +70 -10
- package/Libraries/Core/setUpTimers.js +50 -31
- package/Libraries/Debugging/DebuggingOverlayRegistry.js +1 -1
- package/Libraries/Image/Image.android.js +23 -13
- package/Libraries/Image/Image.d.ts +14 -15
- package/Libraries/Image/Image.ios.js +21 -11
- package/Libraries/Image/Image.windows.js +21 -11
- package/Libraries/Image/ImageProps.js +16 -5
- package/Libraries/Image/ImageTypes.flow.js +7 -2
- package/Libraries/Image/ImageUtils.js +1 -0
- package/Libraries/Image/ImageViewNativeComponent.js +2 -1
- package/Libraries/Inspector/ElementBox.js +6 -3
- package/Libraries/Inspector/ElementProperties.js +1 -1
- package/Libraries/Interaction/TouchHistoryMath.js +4 -4
- package/Libraries/IntersectionObserver/IntersectionObserverManager.js +6 -26
- package/Libraries/JSInspector/NetworkAgent.js +1 -1
- package/Libraries/LogBox/Data/LogBoxData.js +39 -29
- package/Libraries/LogBox/Data/LogBoxLog.js +114 -2
- package/Libraries/LogBox/Data/parseLogBoxLog.js +168 -53
- package/Libraries/LogBox/LogBox.js +29 -12
- package/Libraries/LogBox/LogBoxNotificationContainer.js +4 -0
- package/Libraries/LogBox/UI/LogBoxInspector.js +8 -70
- package/Libraries/LogBox/UI/LogBoxInspectorBody.js +87 -0
- package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +6 -42
- package/Libraries/LogBox/UI/LogBoxInspectorFooterButton.js +58 -0
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +5 -66
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.windows.js +5 -66
- package/Libraries/LogBox/UI/LogBoxInspectorHeaderButton.js +76 -0
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +8 -5
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.windows.js +8 -5
- package/Libraries/LogBox/UI/LogBoxNotification.js +13 -152
- package/Libraries/LogBox/UI/LogBoxNotificationCountBadge.js +63 -0
- package/Libraries/LogBox/UI/LogBoxNotificationDismissButton.js +67 -0
- package/Libraries/LogBox/UI/LogBoxNotificationMessage.js +57 -0
- package/Libraries/NativeComponent/BaseViewConfig.android.js +5 -0
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +5 -0
- package/Libraries/NativeComponent/BaseViewConfig.windows.js +5 -0
- package/Libraries/NativeComponent/NativeComponentRegistry.js +12 -5
- package/Libraries/NativeComponent/StaticViewConfigValidator.js +3 -0
- package/Libraries/Network/XMLHttpRequest.js +5 -1
- package/Libraries/NewAppScreen/components/LearnMoreLinks.js +3 -3
- package/Libraries/Pressability/Pressability.js +3 -51
- package/Libraries/Pressability/Pressability.windows.js +3 -51
- package/Libraries/ReactNative/AppRegistry.d.ts +4 -0
- package/Libraries/ReactNative/AppRegistry.js +2 -4
- package/Libraries/ReactNative/BridgelessUIManager.js +1 -21
- package/Libraries/ReactNative/FabricUIManager.js +0 -51
- package/Libraries/ReactNative/ReactFabricPublicInstance/warnForStyleProps.js +1 -0
- package/Libraries/ReactNative/RendererImplementation.js +20 -2
- package/Libraries/ReactNative/UIManager.d.ts +0 -21
- package/Libraries/ReactNative/UIManagerProperties.js +0 -3
- package/Libraries/ReactNative/__mocks__/FabricUIManager.js +5 -341
- package/Libraries/ReactNative/getNativeComponentAttributes.js +8 -8
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +15682 -27088
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +5082 -4381
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3480 -2571
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +15943 -27543
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +5303 -4606
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +3450 -2572
- package/Libraries/Renderer/shims/ReactFabric.js +2 -2
- package/Libraries/Renderer/shims/ReactFeatureFlags.js +2 -2
- package/Libraries/Renderer/shims/ReactNative.js +2 -3
- package/Libraries/Renderer/shims/ReactNativeTypes.js +24 -3
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +2 -2
- package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
- package/Libraries/Share/Share.d.ts +16 -10
- package/Libraries/Share/Share.js +14 -15
- package/Libraries/StyleSheet/StyleSheet.d.ts +1 -1
- package/Libraries/StyleSheet/StyleSheet.js +3 -10
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +21 -21
- package/Libraries/StyleSheet/StyleSheetTypes.js +24 -18
- package/Libraries/StyleSheet/flattenStyle.js +1 -0
- package/Libraries/StyleSheet/processFilter.js +132 -0
- package/Libraries/StyleSheet/processTransform.js +18 -3
- package/Libraries/Text/Text.js +151 -128
- package/Libraries/Text/Text.windows.js +144 -128
- package/Libraries/Text/TextNativeComponent.js +5 -4
- package/Libraries/Text/TextProps.js +6 -6
- package/Libraries/Text/TextProps.windows.js +6 -6
- package/Libraries/TurboModule/TurboModuleRegistry.js +2 -1
- package/Libraries/Types/CodegenTypes.js +3 -0
- package/Libraries/Utilities/{LoadingView.android.js → DevLoadingView.js} +33 -11
- package/Libraries/Utilities/Dimensions.js +1 -0
- package/Libraries/Utilities/HMRClient.js +36 -8
- package/Libraries/Utilities/HMRClientProdShim.js +1 -0
- package/Libraries/Utilities/NativePlatformConstantsWin.js +2 -2
- package/Libraries/Utilities/Platform.android.js +4 -4
- package/Libraries/Utilities/RCTLog.js +1 -0
- package/Libraries/Utilities/ReactNativeTestTools.js +12 -24
- package/Libraries/Utilities/verifyComponentAttributeEquivalence.js +11 -6
- package/Libraries/__tests__/ViewWindows-test.js +6 -6
- package/Libraries/promiseRejectionTrackingOptions.js +1 -0
- package/Microsoft.ReactNative/Base/FollyIncludes.h +1 -1
- package/Microsoft.ReactNative/ComponentView.idl +0 -17
- package/Microsoft.ReactNative/Composition.Input.idl +3 -3
- package/Microsoft.ReactNative/CompositionSwitcher.idl +0 -1
- package/Microsoft.ReactNative/Fabric/AbiState.cpp +3 -45
- package/Microsoft.ReactNative/Fabric/AbiState.h +0 -6
- package/Microsoft.ReactNative/Fabric/Composition/ComponentViewRegistry.cpp +0 -3
- package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.cpp +2 -2
- package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.h +4 -4
- package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +0 -10
- package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +27 -16
- package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.h +1 -1
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +48 -85
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +0 -4
- package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.cpp +24 -24
- package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.h +6 -8
- package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +0 -10
- package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.h +0 -3
- package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.cpp +29 -45
- package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.h +1 -3
- package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +6 -43
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +23 -34
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +1 -2
- package/Microsoft.ReactNative/Fabric/Composition/UriImageManager.cpp +9 -3
- package/Microsoft.ReactNative/Fabric/Composition/UriImageManager.h +1 -1
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +17 -48
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +3 -7
- package/Microsoft.ReactNative/Fabric/WindowsImageManager.cpp +23 -16
- package/Microsoft.ReactNative/Fabric/WindowsImageManager.h +5 -2
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewEventEmitter.cpp +2 -10
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.cpp +107 -36
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.h +18 -12
- package/Microsoft.ReactNative/Modules/DevSettingsModule.cpp +4 -0
- package/Microsoft.ReactNative/Modules/DevSettingsModule.h +1 -0
- package/Microsoft.ReactNative/Modules/ImageViewManagerModule.cpp +1 -2
- package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +7 -4
- package/Microsoft.ReactNative/Modules/NativeUIManager.h +1 -1
- package/Microsoft.ReactNative/Modules/PlatformConstantsWinModule.cpp +2 -2
- package/Microsoft.ReactNative/Modules/PlatformConstantsWinModule.h +3 -3
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +13 -20
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +1 -1
- package/Microsoft.ReactNative/Timer.idl +1 -3
- package/Microsoft.ReactNative/Utils/BatchingEventEmitter.cpp +1 -1
- package/Microsoft.ReactNative/Utils/LocalBundleReader.cpp +2 -3
- package/Microsoft.ReactNative/Utils/ValueUtils.cpp +1 -1
- package/Microsoft.ReactNative/Views/DynamicAutomationPeer.cpp +2 -2
- package/Microsoft.ReactNative/Views/TextInputViewManager.cpp +1 -1
- package/Microsoft.ReactNative/packages.lock.json +41 -78
- package/Microsoft.ReactNative.Cxx/JSI/LongLivedJsiValue.h +1 -1
- package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +5 -0
- package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems.filters +1 -0
- package/Microsoft.ReactNative.Cxx/TurboModuleProvider.cpp +14 -6
- package/Microsoft.ReactNative.Cxx/TurboModuleProvider.h +2 -2
- package/Microsoft.ReactNative.Managed/Microsoft.ReactNative.Managed.csproj +1 -1
- package/Microsoft.ReactNative.Managed/packages.lock.json +3 -3
- package/PropertySheets/External/Microsoft.ReactNative.WindowsSdk.Default.props +4 -4
- package/PropertySheets/Generated/PackageVersion.g.props +4 -4
- package/README.md +21 -21
- package/ReactCommon/ReactCommon.vcxproj +2 -0
- package/ReactCommon/ReactCommon.vcxproj.filters +3 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSExecutor.cpp +67 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSExecutor.h +180 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/NativeToJsBridge.cpp +351 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +6 -3
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/Base.h +152 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/Bridging.h +2 -1
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/CallbackWrapper.h +13 -15
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/EventEmitter.h +137 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/Function.h +283 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModule.cpp +7 -10
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModule.h +162 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +2 -4
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/scrollview/ScrollViewProps.cpp +33 -8
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/JSRuntimeFactory.cpp +45 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/JSRuntimeFactory.h +67 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp +104 -74
- package/Scripts/Tfs/Layout-MSRN-Headers.ps1 +4 -0
- package/Scripts/rnw-dependencies.ps1 +36 -23
- package/Shared/HermesRuntimeHolder.cpp +19 -1
- package/Shared/HermesRuntimeHolder.h +8 -1
- package/Shared/HermesSamplingProfiler.cpp +1 -2
- package/Shared/Networking/WinRTWebSocketResource.cpp +3 -3
- package/Shared/OInstance.cpp +1 -2
- package/Shared/Shared.vcxitems +21 -15
- package/Shared/Shared.vcxitems.filters +8 -3
- package/Shared/Threading/BatchingQueueThread.cpp +6 -2
- package/Shared/Threading/BatchingQueueThread.h +2 -2
- package/Shared/Utils/CppWinrtLessExceptions.h +2 -2
- package/codegen/NativeAppStateSpec.g.h +8 -8
- package/codegen/NativeBlobModuleSpec.g.h +0 -10
- package/codegen/NativeDOMSpec.g.h +136 -0
- package/codegen/NativeDevSettingsSpec.g.h +11 -5
- package/codegen/NativeIdleCallbacksSpec.g.h +64 -0
- package/codegen/NativeIntersectionObserverSpec.g.h +14 -14
- package/codegen/NativeMicrotasksSpec.g.h +34 -0
- package/codegen/NativePerformanceSpec.g.h +35 -7
- package/codegen/NativePlatformConstantsWindowsSpec.g.h +81 -0
- package/codegen/NativePushNotificationManagerIOSSpec.g.h +15 -19
- package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +111 -39
- package/codegen/NativeUIManagerSpec.g.h +5 -17
- package/codegen/react/components/rnwcore/Props.cpp +1 -1
- package/codegen/react/components/rnwcore/Props.h +16 -12
- package/codegen/react/components/rnwcore/States.h +0 -26
- package/codegen/rnwcoreJSI-generated.cpp +688 -463
- package/codegen/rnwcoreJSI.h +1374 -2867
- package/fmt/TEMP_UntilFmtUpdate/core.h +2925 -0
- package/fmt/fmt.vcxproj +1 -1
- package/jest/mockComponent.js +7 -0
- package/jest/renderer.js +25 -14
- package/jest/setup.js +19 -13
- package/package.json +29 -27
- package/rn-get-polyfills.js +1 -0
- package/src/private/core/composeStyles.js +27 -0
- package/src/private/featureflags/ReactNativeFeatureFlags.js +93 -33
- package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +23 -4
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +56 -0
- package/src/private/fusebox/setUpFuseboxReactDevToolsDispatcher.js +108 -0
- package/src/private/specs/modules/NativeBlobModule.js +4 -2
- package/src/private/specs/modules/NativeDevSettings.js +1 -0
- package/src/private/specs/modules/NativePushNotificationManagerIOS.js +0 -4
- package/src/private/specs/modules/NativeUIManager.js +0 -7
- package/src/private/webapis/dom/geometry/DOMRectReadOnly.js +24 -24
- package/src/private/webapis/dom/nodes/ReactNativeElement.js +11 -14
- package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +2 -3
- package/src/private/webapis/dom/nodes/ReadOnlyElement.js +24 -54
- package/src/private/webapis/dom/nodes/ReadOnlyNode.js +5 -13
- package/src/private/webapis/dom/nodes/specs/NativeDOM.js +468 -0
- package/src/private/webapis/dom/nodes/specs/__mocks__/NativeDOMMock.js +413 -0
- package/src/private/webapis/dom/oldstylecollections/DOMRectList.js +4 -4
- package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +4 -4
- package/src/private/webapis/dom/oldstylecollections/NodeList.js +5 -5
- package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +34 -0
- package/src/private/webapis/microtasks/specs/NativeMicrotasks.js +21 -0
- package/src/private/webapis/performance/EventCounts.js +1 -1
- package/src/private/webapis/performance/MemoryInfo.js +9 -9
- package/src/private/webapis/performance/Performance.js +10 -56
- package/src/private/webapis/performance/PerformanceObserver.js +30 -22
- package/src/private/webapis/performance/RawPerformanceEntry.js +2 -7
- package/src/private/webapis/performance/ReactNativeStartupTiming.js +18 -18
- package/src/private/webapis/performance/UserTiming.js +63 -0
- package/src/private/webapis/performance/{NativePerformance.js → specs/NativePerformance.js} +3 -2
- package/src/private/webapis/performance/{NativePerformanceObserver.js → specs/NativePerformanceObserver.js} +2 -2
- package/src/private/webapis/performance/{__mocks__ → specs/__mocks__}/NativePerformance.js +1 -1
- package/src/private/webapis/performance/{__mocks__ → specs/__mocks__}/NativePerformanceObserver.js +3 -4
- package/stubs/glog/logging.h +1 -0
- package/template/cpp-lib/proj/MyLib.vcxproj +1 -1
- package/template/cs-lib/proj/MyLib.csproj +1 -1
- package/template/metro.config.js +13 -2
- package/templates/cpp-app/template.config.js +1 -1
- package/templates/cpp-lib/example/metro.config.js +2 -2
- package/templates/cpp-lib/template.config.js +1 -1
- package/templates/old/generateWrapper.js +4 -1
- package/types/modules/globals.d.ts +4 -0
- package/Libraries/Lists/FlatList.windows.js +0 -717
- package/Libraries/NativeModules/specs/NativeAnimationsDebugModule.js +0 -13
- package/Libraries/Utilities/LoadingView.ios.js +0 -50
- package/Libraries/Utilities/LoadingView.js +0 -16
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +0 -178
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/utils/jsi-utils.cpp +0 -39
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/utils/jsi-utils.h +0 -31
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/YGEnums.h +0 -137
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/algorithm/CalculateLayout.cpp +0 -2377
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/config/Config.cpp +0 -140
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/config/Config.h +0 -92
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/enums/ExperimentalFeature.h +0 -40
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/LayoutResults.cpp +0 -48
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/LayoutResults.h +0 -122
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/Node.cpp +0 -366
- package/codegen/NativeAnimationsDebugModuleSpec.g.h +0 -40
- package/codegen/NativePlatformConstantsWinSpec.g.h +0 -81
- package/jest/ReactNativeInternalFeatureFlagsMock.js +0 -13
- package/src/private/featureflags/NativeReactNativeFeatureFlags.js +0 -44
- package/src/private/featureflags/__tests__/ReactNativeFeatureFlags-test.js +0 -92
- package/src/private/specs/modules/NativeAnimationsDebugModule.js +0 -20
- package/src/private/webapis/dom/oldstylecollections/__tests__/DOMRectList-test.js +0 -85
- package/src/private/webapis/dom/oldstylecollections/__tests__/HTMLCollection-test.js +0 -80
- package/src/private/webapis/dom/oldstylecollections/__tests__/NodeList-test.js +0 -161
- package/src/private/webapis/performance/__tests__/EventCounts-test.js +0 -116
- package/src/private/webapis/performance/__tests__/NativePerformanceMock-test.js +0 -82
- package/src/private/webapis/performance/__tests__/NativePerformanceObserverMock-test.js +0 -108
- package/src/private/webapis/performance/__tests__/Performance-test.js +0 -117
- package/src/private/webapis/performance/__tests__/PerformanceObserver-test.js +0 -208
- package/template/metro.devMode.config.js +0 -56
- /package/src/private/specs/modules/{NativePlatformConstantsWin.js → NativePlatformConstantsWindows.js} +0 -0
|
@@ -818,33 +818,12 @@ export type Props = $ReadOnly<{|
|
|
|
818
818
|
*/
|
|
819
819
|
onChange?: ?(e: ChangeEvent) => mixed,
|
|
820
820
|
|
|
821
|
-
/**
|
|
822
|
-
* DANGER: this API is not stable and will change in the future.
|
|
823
|
-
*
|
|
824
|
-
* Callback will be called on the main thread and may result in dropped frames.
|
|
825
|
-
* Callback that is called when the text input's text changes.
|
|
826
|
-
*
|
|
827
|
-
* @platform ios
|
|
828
|
-
*/
|
|
829
|
-
unstable_onChangeSync?: ?(e: ChangeEvent) => mixed,
|
|
830
|
-
|
|
831
821
|
/**
|
|
832
822
|
* Callback that is called when the text input's text changes.
|
|
833
823
|
* Changed text is passed as an argument to the callback handler.
|
|
834
824
|
*/
|
|
835
825
|
onChangeText?: ?(text: string) => mixed,
|
|
836
826
|
|
|
837
|
-
/**
|
|
838
|
-
* DANGER: this API is not stable and will change in the future.
|
|
839
|
-
*
|
|
840
|
-
* Callback will be called on the main thread and may result in dropped frames.
|
|
841
|
-
* Callback that is called when the text input's text changes.
|
|
842
|
-
* Changed text is passed as an argument to the callback handler.
|
|
843
|
-
*
|
|
844
|
-
* @platform ios
|
|
845
|
-
*/
|
|
846
|
-
unstable_onChangeTextSync?: ?(text: string) => mixed,
|
|
847
|
-
|
|
848
827
|
/**
|
|
849
828
|
* Callback that is called when the text input's content size changes.
|
|
850
829
|
* This will be called with
|
|
@@ -873,21 +852,6 @@ export type Props = $ReadOnly<{|
|
|
|
873
852
|
*/
|
|
874
853
|
onKeyPress?: ?(e: KeyPressEvent) => mixed,
|
|
875
854
|
|
|
876
|
-
/**
|
|
877
|
-
* DANGER: this API is not stable and will change in the future.
|
|
878
|
-
*
|
|
879
|
-
* Callback will be called on the main thread and may result in dropped frames.
|
|
880
|
-
*
|
|
881
|
-
* Callback that is called when a key is pressed.
|
|
882
|
-
* This will be called with `{ nativeEvent: { key: keyValue } }`
|
|
883
|
-
* where `keyValue` is `'Enter'` or `'Backspace'` for respective keys and
|
|
884
|
-
* the typed-in character otherwise including `' '` for space.
|
|
885
|
-
* Fires before `onChange` callbacks.
|
|
886
|
-
*
|
|
887
|
-
* @platform ios
|
|
888
|
-
*/
|
|
889
|
-
unstable_onKeyPressSync?: ?(e: KeyPressEvent) => mixed,
|
|
890
|
-
|
|
891
855
|
/**
|
|
892
856
|
* Called when a single tap gesture is detected.
|
|
893
857
|
*/
|
|
@@ -1349,12 +1313,8 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
1349
1313
|
}
|
|
1350
1314
|
},
|
|
1351
1315
|
isFocused(): boolean {
|
|
1352
|
-
const currentlyFocusedInput =
|
|
1353
|
-
|
|
1354
|
-
return (
|
|
1355
|
-
currentlyFocusedInput !== null &&
|
|
1356
|
-
currentlyFocusedInput === inputRef.current
|
|
1357
|
-
);
|
|
1316
|
+
const currentlyFocusedInput = TextInputState.currentlyFocusedInput();
|
|
1317
|
+
return currentlyFocusedInput !== null && currentlyFocusedInput === inputRef.current;
|
|
1358
1318
|
},
|
|
1359
1319
|
getNativeRef(): ?React.ElementRef<HostComponent<mixed>> {
|
|
1360
1320
|
return inputRef.current;
|
|
@@ -1397,26 +1357,6 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
1397
1357
|
setMostRecentEventCount(event.nativeEvent.eventCount);
|
|
1398
1358
|
};
|
|
1399
1359
|
|
|
1400
|
-
const _onChangeSync = (event: ChangeEvent) => {
|
|
1401
|
-
const currentText = event.nativeEvent.text;
|
|
1402
|
-
props.unstable_onChangeSync && props.unstable_onChangeSync(event);
|
|
1403
|
-
props.unstable_onChangeTextSync &&
|
|
1404
|
-
props.unstable_onChangeTextSync(currentText);
|
|
1405
|
-
|
|
1406
|
-
if (inputRef.current == null) {
|
|
1407
|
-
// calling `props.onChange` or `props.onChangeText`
|
|
1408
|
-
// may clean up the input itself. Exits here.
|
|
1409
|
-
return;
|
|
1410
|
-
}
|
|
1411
|
-
|
|
1412
|
-
setLastNativeText(currentText);
|
|
1413
|
-
// This must happen last, after we call setLastNativeText.
|
|
1414
|
-
// Different ordering can cause bugs when editing AndroidTextInputs
|
|
1415
|
-
// with multiple Fragments.
|
|
1416
|
-
// We must update this so that controlled input updates work.
|
|
1417
|
-
setMostRecentEventCount(event.nativeEvent.eventCount);
|
|
1418
|
-
};
|
|
1419
|
-
|
|
1420
1360
|
const _onSelectionChange = (event: SelectionChangeEvent) => {
|
|
1421
1361
|
props.onSelectionChange && props.onSelectionChange(event);
|
|
1422
1362
|
|
|
@@ -1609,6 +1549,12 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
1609
1549
|
|
|
1610
1550
|
const style = flattenStyle<TextStyleProp>(props.style);
|
|
1611
1551
|
|
|
1552
|
+
if (typeof style?.fontWeight === 'number') {
|
|
1553
|
+
// $FlowFixMe[prop-missing]
|
|
1554
|
+
// $FlowFixMe[cannot-write]
|
|
1555
|
+
style.fontWeight = style?.fontWeight.toString();
|
|
1556
|
+
}
|
|
1557
|
+
|
|
1612
1558
|
if (Platform.OS === 'ios') {
|
|
1613
1559
|
const RCTTextInputView =
|
|
1614
1560
|
props.multiline === true
|
|
@@ -1622,10 +1568,6 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
1622
1568
|
style.paddingVertical == null &&
|
|
1623
1569
|
style.paddingTop == null));
|
|
1624
1570
|
|
|
1625
|
-
const useOnChangeSync =
|
|
1626
|
-
(props.unstable_onChangeSync || props.unstable_onChangeTextSync) &&
|
|
1627
|
-
!(props.onChange || props.onChangeText);
|
|
1628
|
-
|
|
1629
1571
|
textInput = (
|
|
1630
1572
|
<RCTTextInputView
|
|
1631
1573
|
// $FlowFixMe[incompatible-type] - Figure out imperative + forward refs.
|
|
@@ -1642,9 +1584,7 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
1642
1584
|
mostRecentEventCount={mostRecentEventCount}
|
|
1643
1585
|
nativeID={id ?? props.nativeID}
|
|
1644
1586
|
onBlur={_onBlur}
|
|
1645
|
-
onKeyPressSync={props.unstable_onKeyPressSync}
|
|
1646
1587
|
onChange={_onChange}
|
|
1647
|
-
onChangeSync={useOnChangeSync === true ? _onChangeSync : null}
|
|
1648
1588
|
onContentSizeChange={props.onContentSizeChange}
|
|
1649
1589
|
onFocus={_onFocus}
|
|
1650
1590
|
onScroll={_onScroll}
|
|
@@ -1929,10 +1869,13 @@ const ExportedForwardRef: React.AbstractComponent<
|
|
|
1929
1869
|
: undefined
|
|
1930
1870
|
}
|
|
1931
1871
|
textContentType={
|
|
1932
|
-
|
|
1933
|
-
|
|
1934
|
-
|
|
1935
|
-
|
|
1872
|
+
textContentType != null
|
|
1873
|
+
? textContentType
|
|
1874
|
+
: Platform.OS === 'ios' &&
|
|
1875
|
+
autoComplete &&
|
|
1876
|
+
autoComplete in autoCompleteWebToTextContentTypeMap
|
|
1877
|
+
? // $FlowFixMe[invalid-computed-prop]
|
|
1878
|
+
// $FlowFixMe[prop-missing]
|
|
1936
1879
|
autoCompleteWebToTextContentTypeMap[autoComplete]
|
|
1937
1880
|
: textContentType
|
|
1938
1881
|
}
|
|
@@ -385,15 +385,6 @@ export type NativeProps = $ReadOnly<{|
|
|
|
385
385
|
|}>,
|
|
386
386
|
>,
|
|
387
387
|
|
|
388
|
-
onTextInput?: ?BubblingEventHandler<
|
|
389
|
-
$ReadOnly<{|
|
|
390
|
-
target: Int32,
|
|
391
|
-
text: string,
|
|
392
|
-
previousText: string,
|
|
393
|
-
range: $ReadOnly<{|start: Double, end: Double|}>,
|
|
394
|
-
|}>,
|
|
395
|
-
>,
|
|
396
|
-
|
|
397
388
|
/**
|
|
398
389
|
* Callback that is called when text input ends.
|
|
399
390
|
*/
|
|
@@ -647,10 +638,34 @@ export const Commands: NativeCommands = codegenNativeCommands<NativeCommands>({
|
|
|
647
638
|
export const __INTERNAL_VIEW_CONFIG: PartialViewConfig = {
|
|
648
639
|
uiViewClassName: 'WindowsTextInput',
|
|
649
640
|
bubblingEventTypes: {
|
|
650
|
-
|
|
641
|
+
topBlur: {
|
|
642
|
+
phasedRegistrationNames: {
|
|
643
|
+
bubbled: 'onBlur',
|
|
644
|
+
captured: 'onBlurCapture',
|
|
645
|
+
},
|
|
646
|
+
},
|
|
647
|
+
topEndEditing: {
|
|
648
|
+
phasedRegistrationNames: {
|
|
649
|
+
bubbled: 'onEndEditing',
|
|
650
|
+
captured: 'onEndEditingCapture',
|
|
651
|
+
},
|
|
652
|
+
},
|
|
653
|
+
topFocus: {
|
|
654
|
+
phasedRegistrationNames: {
|
|
655
|
+
bubbled: 'onFocus',
|
|
656
|
+
captured: 'onFocusCapture',
|
|
657
|
+
},
|
|
658
|
+
},
|
|
659
|
+
topKeyPress: {
|
|
660
|
+
phasedRegistrationNames: {
|
|
661
|
+
bubbled: 'onKeyPress',
|
|
662
|
+
captured: 'onKeyPressCapture',
|
|
663
|
+
},
|
|
664
|
+
},
|
|
665
|
+
topSubmitEditing: {
|
|
651
666
|
phasedRegistrationNames: {
|
|
652
|
-
bubbled: '
|
|
653
|
-
captured: '
|
|
667
|
+
bubbled: 'onSubmitEditing',
|
|
668
|
+
captured: 'onSubmitEditingCapture',
|
|
654
669
|
},
|
|
655
670
|
},
|
|
656
671
|
},
|
|
@@ -8,12 +8,9 @@
|
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
import type * as React from 'react';
|
|
11
|
-
import {Constructor} from '../../../types/private/Utilities';
|
|
12
|
-
import {TimerMixin} from '../../../types/private/TimerMixin';
|
|
13
|
-
import {NativeMethods} from '../../../types/public/ReactNativeTypes';
|
|
14
11
|
import {ColorValue, StyleProp} from '../../StyleSheet/StyleSheet';
|
|
15
12
|
import {ViewStyle} from '../../StyleSheet/StyleSheetTypes';
|
|
16
|
-
import {
|
|
13
|
+
import {View} from '../../Components/View/View';
|
|
17
14
|
import {TouchableWithoutFeedbackProps} from './TouchableWithoutFeedback';
|
|
18
15
|
|
|
19
16
|
/**
|
|
@@ -60,9 +57,6 @@ export interface TouchableHighlightProps extends TouchableWithoutFeedbackProps {
|
|
|
60
57
|
*
|
|
61
58
|
* @see https://reactnative.dev/docs/touchablehighlight
|
|
62
59
|
*/
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
Constructor<TouchableMixin> &
|
|
67
|
-
typeof TouchableHighlightComponent;
|
|
68
|
-
export class TouchableHighlight extends TouchableHighlightBase {}
|
|
60
|
+
export const TouchableHighlight: React.ForwardRefExoticComponent<
|
|
61
|
+
React.PropsWithoutRef<TouchableHighlightProps> & React.RefAttributes<View>
|
|
62
|
+
>;
|
|
@@ -342,7 +342,9 @@ class TouchableHighlight extends React.Component<Props, State> {
|
|
|
342
342
|
nextFocusRight={this.props.nextFocusRight}
|
|
343
343
|
nextFocusUp={this.props.nextFocusUp}
|
|
344
344
|
focusable={
|
|
345
|
-
this.props.focusable !== false &&
|
|
345
|
+
this.props.focusable !== false &&
|
|
346
|
+
this.props.onPress !== undefined &&
|
|
347
|
+
!this.props.disabled
|
|
346
348
|
}
|
|
347
349
|
nativeID={this.props.id ?? this.props.nativeID}
|
|
348
350
|
testID={this.props.testID}
|
|
@@ -350,7 +350,9 @@ class TouchableHighlight extends React.Component<Props, State> {
|
|
|
350
350
|
nextFocusRight={this.props.nextFocusRight}
|
|
351
351
|
nextFocusUp={this.props.nextFocusUp}
|
|
352
352
|
focusable={
|
|
353
|
-
this.props.focusable !== false &&
|
|
353
|
+
this.props.focusable !== false &&
|
|
354
|
+
this.props.onPress !== undefined &&
|
|
355
|
+
!this.props.disabled
|
|
354
356
|
}
|
|
355
357
|
nativeID={this.props.id ?? this.props.nativeID}
|
|
356
358
|
testID={this.props.testID}
|
|
@@ -8,11 +8,7 @@
|
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
import type * as React from 'react';
|
|
11
|
-
import {
|
|
12
|
-
import {TimerMixin} from '../../../types/private/TimerMixin';
|
|
13
|
-
import {NativeMethods} from '../../../types/public/ReactNativeTypes';
|
|
14
|
-
import {TVParallaxProperties} from '../View/ViewPropTypes';
|
|
15
|
-
import {TouchableMixin} from './Touchable';
|
|
11
|
+
import {View} from '../../Components/View/View';
|
|
16
12
|
import {TouchableWithoutFeedbackProps} from './TouchableWithoutFeedback';
|
|
17
13
|
|
|
18
14
|
export interface TVProps {
|
|
@@ -70,22 +66,6 @@ export interface TouchableOpacityProps
|
|
|
70
66
|
* Defaults to 0.2
|
|
71
67
|
*/
|
|
72
68
|
activeOpacity?: number | undefined;
|
|
73
|
-
|
|
74
|
-
/**
|
|
75
|
-
* *(Apple TV only)* Object with properties to control Apple TV parallax effects.
|
|
76
|
-
*
|
|
77
|
-
* enabled: If true, parallax effects are enabled. Defaults to true.
|
|
78
|
-
* shiftDistanceX: Defaults to 2.0.
|
|
79
|
-
* shiftDistanceY: Defaults to 2.0.
|
|
80
|
-
* tiltAngle: Defaults to 0.05.
|
|
81
|
-
* magnification: Defaults to 1.0.
|
|
82
|
-
* pressMagnification: Defaults to 1.0.
|
|
83
|
-
* pressDuration: Defaults to 0.3.
|
|
84
|
-
* pressDelay: Defaults to 0.0.
|
|
85
|
-
*
|
|
86
|
-
* @platform android
|
|
87
|
-
*/
|
|
88
|
-
tvParallaxProperties?: TVParallaxProperties | undefined;
|
|
89
69
|
}
|
|
90
70
|
|
|
91
71
|
/**
|
|
@@ -96,14 +76,6 @@ export interface TouchableOpacityProps
|
|
|
96
76
|
*
|
|
97
77
|
* @see https://reactnative.dev/docs/touchableopacity
|
|
98
78
|
*/
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
Constructor<NativeMethods> &
|
|
103
|
-
typeof TouchableOpacityComponent;
|
|
104
|
-
export class TouchableOpacity extends TouchableOpacityBase {
|
|
105
|
-
/**
|
|
106
|
-
* Animate the touchable to a new opacity.
|
|
107
|
-
*/
|
|
108
|
-
setOpacityTo: (value: number) => void;
|
|
109
|
-
}
|
|
79
|
+
export const TouchableOpacity: React.ForwardRefExoticComponent<
|
|
80
|
+
React.PropsWithoutRef<TouchableOpacityProps> & React.RefAttributes<View>
|
|
81
|
+
>;
|
|
@@ -287,7 +287,9 @@ class TouchableOpacity extends React.Component<Props, State> {
|
|
|
287
287
|
hasTVPreferredFocus={this.props.hasTVPreferredFocus}
|
|
288
288
|
hitSlop={this.props.hitSlop}
|
|
289
289
|
focusable={
|
|
290
|
-
this.props.focusable !== false &&
|
|
290
|
+
this.props.focusable !== false &&
|
|
291
|
+
this.props.onPress !== undefined &&
|
|
292
|
+
!this.props.disabled
|
|
291
293
|
}
|
|
292
294
|
ref={this.props.hostRef}
|
|
293
295
|
{...eventHandlersWithoutBlurAndFocus}>
|
|
@@ -295,7 +295,9 @@ class TouchableOpacity extends React.Component<Props, State> {
|
|
|
295
295
|
hasTVPreferredFocus={this.props.hasTVPreferredFocus}
|
|
296
296
|
hitSlop={this.props.hitSlop}
|
|
297
297
|
focusable={
|
|
298
|
-
this.props.focusable !== false &&
|
|
298
|
+
this.props.focusable !== false &&
|
|
299
|
+
this.props.onPress !== undefined &&
|
|
300
|
+
!this.props.disabled
|
|
299
301
|
}
|
|
300
302
|
ref={this.props.hostRef}
|
|
301
303
|
accessibilityPosInSet={this.props.accessibilityPosInSet} // [Windows]
|
|
@@ -42,6 +42,8 @@ export interface TouchableWithoutFeedbackProps
|
|
|
42
42
|
AccessibilityProps {
|
|
43
43
|
children?: React.ReactNode | undefined;
|
|
44
44
|
|
|
45
|
+
rejectResponderTermination?: boolean | undefined;
|
|
46
|
+
|
|
45
47
|
/**
|
|
46
48
|
* Delay in ms, from onPressIn, before onLongPress is called.
|
|
47
49
|
*/
|
|
@@ -62,6 +64,12 @@ export interface TouchableWithoutFeedbackProps
|
|
|
62
64
|
*/
|
|
63
65
|
disabled?: boolean | undefined;
|
|
64
66
|
|
|
67
|
+
/**
|
|
68
|
+
* Whether this View should be focusable with a non-touch input device,
|
|
69
|
+
* eg. receive focus with a hardware keyboard / TV remote.
|
|
70
|
+
*/
|
|
71
|
+
focusable?: boolean | undefined;
|
|
72
|
+
|
|
65
73
|
/**
|
|
66
74
|
* This defines how far your touch can start away from the button.
|
|
67
75
|
* This is added to pressRetentionOffset when moving off of the button.
|
|
@@ -24,11 +24,10 @@ import type {
|
|
|
24
24
|
} from '../../Types/CoreEventTypes';
|
|
25
25
|
|
|
26
26
|
import View from '../../Components/View/View';
|
|
27
|
-
import Pressability, {
|
|
28
|
-
type PressabilityConfig,
|
|
29
|
-
} from '../../Pressability/Pressability';
|
|
30
27
|
import {PressabilityDebugView} from '../../Pressability/PressabilityDebug';
|
|
28
|
+
import usePressability from '../../Pressability/usePressability';
|
|
31
29
|
import * as React from 'react';
|
|
30
|
+
import {useMemo} from 'react';
|
|
32
31
|
|
|
33
32
|
type Props = $ReadOnly<{|
|
|
34
33
|
accessibilityActions?: ?$ReadOnlyArray<AccessibilityActionInfo>,
|
|
@@ -85,10 +84,6 @@ type Props = $ReadOnly<{|
|
|
|
85
84
|
touchSoundDisabled?: ?boolean,
|
|
86
85
|
|}>;
|
|
87
86
|
|
|
88
|
-
type State = $ReadOnly<{|
|
|
89
|
-
pressability: Pressability,
|
|
90
|
-
|}>;
|
|
91
|
-
|
|
92
87
|
const PASSTHROUGH_PROPS = [
|
|
93
88
|
'accessibilityActions',
|
|
94
89
|
'accessibilityElementsHidden',
|
|
@@ -115,115 +110,126 @@ const PASSTHROUGH_PROPS = [
|
|
|
115
110
|
'testID',
|
|
116
111
|
];
|
|
117
112
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
113
|
+
module.exports = function TouchableWithoutFeedback(props: Props): React.Node {
|
|
114
|
+
const {
|
|
115
|
+
disabled,
|
|
116
|
+
rejectResponderTermination,
|
|
117
|
+
'aria-disabled': ariaDisabled,
|
|
118
|
+
accessibilityState,
|
|
119
|
+
hitSlop,
|
|
120
|
+
delayLongPress,
|
|
121
|
+
delayPressIn,
|
|
122
|
+
delayPressOut,
|
|
123
|
+
pressRetentionOffset,
|
|
124
|
+
touchSoundDisabled,
|
|
125
|
+
onBlur: _onBlur,
|
|
126
|
+
onFocus: _onFocus,
|
|
127
|
+
onLongPress,
|
|
128
|
+
onPress,
|
|
129
|
+
onPressIn,
|
|
130
|
+
onPressOut,
|
|
131
|
+
} = props;
|
|
132
|
+
|
|
133
|
+
const pressabilityConfig = useMemo(
|
|
134
|
+
() => ({
|
|
135
|
+
cancelable: !rejectResponderTermination,
|
|
140
136
|
disabled:
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
137
|
+
disabled !== null
|
|
138
|
+
? disabled
|
|
139
|
+
: ariaDisabled ?? accessibilityState?.disabled,
|
|
140
|
+
hitSlop: hitSlop,
|
|
141
|
+
delayLongPress: delayLongPress,
|
|
142
|
+
delayPressIn: delayPressIn,
|
|
143
|
+
delayPressOut: delayPressOut,
|
|
144
|
+
minPressDuration: 0,
|
|
145
|
+
pressRectOffset: pressRetentionOffset,
|
|
146
|
+
android_disableSound: touchSoundDisabled,
|
|
147
|
+
onBlur: _onBlur,
|
|
148
|
+
onFocus: _onFocus,
|
|
149
|
+
onLongPress: onLongPress,
|
|
150
|
+
onPress: onPress,
|
|
151
|
+
onPressIn: onPressIn,
|
|
152
|
+
onPressOut: onPressOut,
|
|
153
|
+
}),
|
|
154
|
+
[
|
|
155
|
+
rejectResponderTermination,
|
|
156
|
+
disabled,
|
|
157
|
+
ariaDisabled,
|
|
158
|
+
accessibilityState?.disabled,
|
|
159
|
+
hitSlop,
|
|
160
|
+
delayLongPress,
|
|
161
|
+
delayPressIn,
|
|
162
|
+
delayPressOut,
|
|
163
|
+
pressRetentionOffset,
|
|
164
|
+
touchSoundDisabled,
|
|
165
|
+
_onBlur,
|
|
166
|
+
_onFocus,
|
|
167
|
+
onLongPress,
|
|
168
|
+
onPress,
|
|
169
|
+
onPressIn,
|
|
170
|
+
onPressOut,
|
|
171
|
+
],
|
|
172
|
+
);
|
|
173
|
+
|
|
174
|
+
const eventHandlers = usePressability(pressabilityConfig);
|
|
175
|
+
|
|
176
|
+
const element = React.Children.only<$FlowFixMe>(props.children);
|
|
177
|
+
const children: Array<React.Node> = [element.props.children];
|
|
178
|
+
const ariaLive = props['aria-live'];
|
|
179
|
+
|
|
180
|
+
if (__DEV__) {
|
|
181
|
+
if (element.type === View) {
|
|
182
|
+
children.push(
|
|
183
|
+
<PressabilityDebugView color="red" hitSlop={props.hitSlop} />,
|
|
184
|
+
);
|
|
182
185
|
}
|
|
183
|
-
|
|
184
|
-
// $FlowFixMe[incompatible-call]
|
|
185
|
-
return React.cloneElement(element, elementProps, ...children);
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
componentDidUpdate(): void {
|
|
189
|
-
this.state.pressability.configure(createPressabilityConfig(this.props));
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
componentDidMount(): mixed {
|
|
193
|
-
this.state.pressability.configure(createPressabilityConfig(this.props));
|
|
194
186
|
}
|
|
195
187
|
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
188
|
+
let _accessibilityState = {
|
|
189
|
+
busy: props['aria-busy'] ?? props.accessibilityState?.busy,
|
|
190
|
+
checked: props['aria-checked'] ?? props.accessibilityState?.checked,
|
|
191
|
+
disabled: props['aria-disabled'] ?? props.accessibilityState?.disabled,
|
|
192
|
+
expanded: props['aria-expanded'] ?? props.accessibilityState?.expanded,
|
|
193
|
+
selected: props['aria-selected'] ?? props.accessibilityState?.selected,
|
|
194
|
+
};
|
|
200
195
|
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
...
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
props.disabled
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
196
|
+
// BACKWARD-COMPATIBILITY: Focus and blur events were never supported before
|
|
197
|
+
// adopting `Pressability`, so preserve that behavior.
|
|
198
|
+
const {onBlur, onFocus, ...eventHandlersWithoutBlurAndFocus} =
|
|
199
|
+
eventHandlers || {};
|
|
200
|
+
|
|
201
|
+
const elementProps: {[string]: mixed, ...} = {
|
|
202
|
+
...eventHandlersWithoutBlurAndFocus,
|
|
203
|
+
accessible: props.accessible !== false,
|
|
204
|
+
accessibilityState:
|
|
205
|
+
props.disabled != null
|
|
206
|
+
? {
|
|
207
|
+
..._accessibilityState,
|
|
208
|
+
disabled: props.disabled,
|
|
209
|
+
}
|
|
210
|
+
: _accessibilityState,
|
|
211
|
+
focusable:
|
|
212
|
+
props.focusable !== false &&
|
|
213
|
+
props.onPress !== undefined &&
|
|
214
|
+
!props.disabled,
|
|
215
|
+
|
|
216
|
+
accessibilityElementsHidden:
|
|
217
|
+
props['aria-hidden'] ?? props.accessibilityElementsHidden,
|
|
218
|
+
importantForAccessibility:
|
|
219
|
+
props['aria-hidden'] === true
|
|
220
|
+
? 'no-hide-descendants'
|
|
221
|
+
: props.importantForAccessibility,
|
|
222
|
+
accessibilityLiveRegion:
|
|
223
|
+
ariaLive === 'off' ? 'none' : ariaLive ?? props.accessibilityLiveRegion,
|
|
224
|
+
nativeID: props.id ?? props.nativeID,
|
|
224
225
|
};
|
|
225
|
-
}
|
|
226
226
|
|
|
227
|
-
|
|
227
|
+
for (const prop of PASSTHROUGH_PROPS) {
|
|
228
|
+
if (props[prop] !== undefined) {
|
|
229
|
+
elementProps[prop] = props[prop];
|
|
230
|
+
}
|
|
231
|
+
}
|
|
228
232
|
|
|
229
|
-
|
|
233
|
+
// $FlowFixMe[incompatible-call]
|
|
234
|
+
return React.cloneElement(element, elementProps, ...children);
|
|
235
|
+
};
|