react-native-windows 0.76.3 → 0.77.0-preview.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.flowconfig +5 -1
- package/Libraries/ActionSheetIOS/ActionSheetIOS.d.ts +1 -0
- package/Libraries/ActionSheetIOS/ActionSheetIOS.js +13 -0
- package/Libraries/Animated/AnimatedEvent.js +1 -1
- package/Libraries/Animated/AnimatedImplementation.js +2 -2
- package/Libraries/Animated/NativeAnimatedAllowlist.js +20 -9
- package/Libraries/Animated/NativeAnimatedAllowlist.windows.js +122 -0
- package/Libraries/Animated/animations/Animation.js +60 -25
- package/Libraries/Animated/animations/DecayAnimation.js +26 -38
- package/Libraries/Animated/animations/SpringAnimation.js +33 -39
- package/Libraries/Animated/animations/TimingAnimation.js +34 -42
- package/Libraries/Animated/components/AnimatedFlatList.js +1 -1
- package/Libraries/Animated/components/AnimatedSectionList.js +3 -1
- package/Libraries/Animated/createAnimatedComponent.js +60 -33
- package/Libraries/Animated/nodes/AnimatedColor.js +1 -1
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +1 -1
- package/Libraries/Animated/nodes/AnimatedNode.js +39 -45
- package/Libraries/Animated/nodes/AnimatedObject.js +13 -3
- package/Libraries/Animated/nodes/AnimatedProps.js +96 -46
- package/Libraries/Animated/nodes/AnimatedProps.windows.js +281 -0
- package/Libraries/Animated/nodes/AnimatedStyle.js +108 -39
- package/Libraries/Animated/nodes/AnimatedStyle.windows.js +251 -0
- package/Libraries/Animated/nodes/AnimatedTransform.js +56 -23
- package/Libraries/Animated/nodes/AnimatedValue.js +1 -1
- package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -3
- package/Libraries/Animated/useAnimatedProps.js +41 -35
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +19 -3
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +77 -5
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js +82 -5
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +4 -4
- package/Libraries/Components/Button.js +9 -4
- package/Libraries/Components/Button.windows.js +19 -5
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +3 -1
- package/Libraries/Components/Glyph/Glyph.js +2 -1
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +7 -0
- package/Libraries/Components/Popup/PopupNativeComponent.js +0 -1
- package/Libraries/Components/Pressable/Pressable.js +4 -4
- package/Libraries/Components/Pressable/Pressable.windows.js +10 -4
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +13 -7
- package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +3 -2
- package/Libraries/Components/SafeAreaView/SafeAreaView.js +4 -4
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +0 -1
- package/Libraries/Components/ScrollView/ScrollView.js +49 -88
- package/Libraries/Components/ScrollView/ScrollViewCommands.js +1 -1
- package/Libraries/Components/ScrollView/ScrollViewContext.js +2 -0
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +0 -2
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.windows.js +0 -5
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +8 -9
- package/Libraries/Components/Switch/Switch.js +8 -6
- package/Libraries/Components/Switch/Switch.windows.js +8 -6
- package/Libraries/Components/TextInput/InputAccessoryView.js +1 -1
- package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +4 -4
- package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +6 -4
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +2 -1
- package/Libraries/Components/TextInput/TextInput.d.ts +27 -4
- package/Libraries/Components/TextInput/TextInput.flow.js +36 -19
- package/Libraries/Components/TextInput/TextInput.js +37 -13
- package/Libraries/Components/TextInput/TextInput.windows.js +47 -16
- package/Libraries/Components/TextInput/TextInputState.js +11 -13
- package/Libraries/Components/TextInput/TextInputState.windows.js +11 -13
- package/Libraries/Components/Touchable/BoundingDimensions.js +11 -3
- package/Libraries/Components/Touchable/Position.js +7 -2
- package/Libraries/Components/Touchable/Touchable.js +4 -0
- package/Libraries/Components/Touchable/Touchable.windows.js +4 -0
- package/Libraries/Components/Touchable/TouchableBounce.js +6 -2
- package/Libraries/Components/Touchable/TouchableBounce.windows.js +227 -0
- package/Libraries/Components/Touchable/TouchableHighlight.js +5 -5
- package/Libraries/Components/Touchable/TouchableHighlight.windows.js +5 -5
- package/Libraries/Components/Touchable/TouchableNativeFeedback.windows.js +371 -0
- package/Libraries/Components/Touchable/TouchableOpacity.js +6 -5
- package/Libraries/Components/Touchable/TouchableOpacity.windows.js +11 -5
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -2
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +9 -3
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +6 -1
- package/Libraries/Components/View/View.js +4 -4
- package/Libraries/Components/View/View.windows.js +12 -5
- package/Libraries/Components/View/ViewAccessibility.d.ts +10 -0
- package/Libraries/Components/View/ViewAccessibility.windows.js +2 -0
- package/Libraries/Components/View/ViewNativeComponent.js +6 -98
- package/Libraries/Components/View/ViewPropTypes.d.ts +7 -0
- package/Libraries/Components/View/ViewPropTypes.js +0 -3
- package/Libraries/Components/View/ViewPropTypes.windows.js +2 -3
- package/Libraries/Core/ExceptionsManager.js +50 -29
- package/Libraries/Core/ReactNativeVersion.js +3 -3
- package/Libraries/Core/__mocks__/NativeExceptionsManager.js +0 -1
- package/Libraries/Core/setUpBatchedBridge.js +1 -10
- package/Libraries/Core/setUpDeveloperTools.js +1 -5
- package/Libraries/Core/setUpErrorHandling.js +20 -18
- package/Libraries/Core/setUpReactDevTools.js +107 -8
- package/Libraries/Core/setUpSegmentFetcher.js +1 -0
- package/Libraries/Core/setUpTimers.js +21 -18
- package/Libraries/Debugging/DebuggingOverlay.js +4 -5
- package/Libraries/Image/AssetSourceResolver.js +12 -1
- package/Libraries/Image/AssetSourceResolver.windows.js +12 -1
- package/Libraries/Image/Image.android.js +1 -5
- package/Libraries/Image/Image.d.ts +20 -29
- package/Libraries/Image/Image.ios.js +0 -2
- package/Libraries/Image/Image.windows.js +5 -1
- package/Libraries/Image/ImageBackground.js +2 -5
- package/Libraries/Image/ImageProps.js +7 -6
- package/Libraries/Image/ImageResizeMode.d.ts +8 -1
- package/Libraries/Image/ImageResizeMode.js +4 -1
- package/Libraries/Image/ImageSource.d.ts +0 -2
- package/Libraries/Image/ImageSource.js +0 -2
- package/Libraries/Image/ImageTypes.flow.js +11 -9
- package/Libraries/Image/ImageUtils.js +6 -3
- package/Libraries/Image/ImageViewNativeComponent.js +5 -3
- package/Libraries/Inspector/Inspector.js +1 -0
- package/Libraries/Inspector/NetworkOverlay.js +4 -0
- package/Libraries/Inspector/ReactDevToolsOverlay.js +8 -14
- package/Libraries/Inspector/getInspectorDataForViewAtPoint.js +3 -5
- package/Libraries/Interaction/InteractionManager.js +6 -1
- package/Libraries/Interaction/InteractionManagerStub.js +176 -0
- package/Libraries/Interaction/TouchHistoryMath.js +22 -19
- package/Libraries/JSInspector/NetworkAgent.js +1 -1
- package/Libraries/Lists/FlatList.d.ts +1 -2
- package/Libraries/Lists/FlatList.js +2 -2
- package/Libraries/Lists/SectionListModern.js +7 -7
- package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +2 -2
- package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +1 -1
- package/Libraries/LogBox/Data/LogBoxData.js +3 -3
- package/Libraries/LogBox/LogBox.js +18 -5
- package/Libraries/LogBox/LogBoxInspectorContainer.js +1 -1
- package/Libraries/LogBox/LogBoxNotificationContainer.js +2 -2
- package/Libraries/LogBox/UI/AnsiHighlight.js +26 -17
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +6 -1
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.windows.js +6 -1
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.windows.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +1 -1
- package/Libraries/LogBox/UI/LogBoxMessage.js +2 -2
- package/Libraries/Modal/Modal.d.ts +12 -0
- package/Libraries/Modal/Modal.js +31 -4
- package/Libraries/Modal/Modal.windows.js +18 -0
- package/Libraries/NativeComponent/BaseViewConfig.android.js +72 -1
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +2 -1
- package/Libraries/NativeComponent/BaseViewConfig.windows.js +3 -11
- package/Libraries/NativeComponent/NativeComponentRegistry.js +3 -3
- package/Libraries/NativeComponent/StaticViewConfigValidator.js +0 -1
- package/Libraries/Network/XHRInterceptor.js +63 -14
- package/Libraries/Network/XMLHttpRequest.js +26 -1
- package/Libraries/NewAppScreen/components/HermesBadge.js +1 -1
- package/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +49 -2
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +4 -4
- package/Libraries/Pressability/HoverState.js +2 -0
- package/Libraries/Pressability/Pressability.js +2 -3
- package/Libraries/Pressability/Pressability.windows.js +2 -3
- package/Libraries/Pressability/usePressability.js +4 -1
- package/Libraries/ReactNative/AppContainer.js +1 -1
- package/Libraries/ReactNative/AppRegistry.js +1 -11
- package/Libraries/ReactNative/DisplayMode.js +1 -1
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +2 -3
- package/Libraries/ReactNative/RendererImplementation.js +18 -17
- package/Libraries/ReactNative/getCachedComponentWithDebugName.js +1 -3
- package/Libraries/ReactNative/renderApplication.js +9 -8
- package/Libraries/ReactNative/requireNativeComponent.js +5 -2
- package/Libraries/Renderer/shims/ReactFabric.js +3 -3
- package/Libraries/Renderer/shims/ReactFeatureFlags.js +2 -2
- package/Libraries/Renderer/shims/ReactNative.js +3 -3
- package/Libraries/Renderer/shims/ReactNativeTypes.js +22 -35
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +5 -6
- package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
- package/Libraries/StyleSheet/StyleSheet.js +7 -1
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +13 -2
- package/Libraries/StyleSheet/StyleSheetTypes.js +24 -6
- package/Libraries/StyleSheet/processBackgroundImage.js +87 -110
- package/Libraries/StyleSheet/processTransform.js +3 -34
- package/Libraries/Text/Text.js +248 -249
- package/Libraries/Text/Text.windows.js +298 -292
- package/Libraries/Text/TextNativeComponent.js +0 -1
- package/Libraries/Text/TextProps.windows.js +2 -0
- package/Libraries/TurboModule/TurboModuleRegistry.js +5 -5
- package/Libraries/Types/CoreEventTypes.d.ts +3 -10
- package/Libraries/Types/CoreEventTypes.js +4 -6
- package/Libraries/Types/CoreEventTypes.windows.js +4 -6
- package/Libraries/Utilities/Appearance.js +3 -1
- package/Libraries/Utilities/BackHandler.android.js +6 -18
- package/Libraries/Utilities/BackHandler.d.ts +0 -4
- package/Libraries/Utilities/BackHandler.ios.js +0 -7
- package/Libraries/Utilities/BackHandler.windows.js +6 -18
- package/Libraries/Utilities/HMRClient.js +3 -4
- package/Libraries/Utilities/Platform.flow.js +2 -2
- package/Libraries/Utilities/Platform.flow.windows.js +3 -2
- package/Libraries/Utilities/__mocks__/BackHandler.js +3 -8
- package/Libraries/Utilities/codegenNativeComponent.js +1 -1
- package/Libraries/Utilities/useMergeRefs.js +26 -7
- package/Libraries/WebSocket/WebSocketEvent.js +4 -1
- package/Libraries/WebSocket/WebSocketInterceptor.js +31 -13
- package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +6 -5
- package/Libraries/promiseRejectionTrackingOptions.js +1 -1
- package/Microsoft.ReactNative/AsynchronousEventBeat.cpp +9 -8
- package/Microsoft.ReactNative/AsynchronousEventBeat.h +5 -5
- package/Microsoft.ReactNative/FBReactNativeSpec/FBReactNativeSpecJSI.h +5 -0
- package/Microsoft.ReactNative/Fabric/AbiComponentDescriptor.cpp +2 -2
- package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +197 -18
- package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.h +19 -1
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +13 -0
- package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.cpp +1 -1
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentDescriptor.h +6 -8
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +2 -2
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +3 -2
- package/Microsoft.ReactNative/Fabric/Composition/TooltipService.cpp +1 -1
- package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.cpp +24 -0
- package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.h +5 -0
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +12 -12
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +4 -4
- package/Microsoft.ReactNative/Fabric/ImageRequest.cpp +4 -8
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewProps.cpp +16 -15
- package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.cpp +15 -0
- package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.h +9 -0
- package/Microsoft.ReactNative/ReactHost/ReactHost.cpp +20 -1
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +11 -6
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +1 -1
- package/Microsoft.ReactNative/SynchronousEventBeat.cpp +14 -4
- package/Microsoft.ReactNative/SynchronousEventBeat.h +4 -2
- package/Microsoft.ReactNative.Cxx/ApiLoaders/JSRuntimeApi.cpp +78 -0
- package/Microsoft.ReactNative.Cxx/ApiLoaders/JSRuntimeApi.h +51 -0
- package/Microsoft.ReactNative.Cxx/ApiLoaders/JSRuntimeApi.inc +48 -0
- package/Microsoft.ReactNative.Cxx/ApiLoaders/NodeApi.cpp +41 -0
- package/Microsoft.ReactNative.Cxx/ApiLoaders/NodeApi.h +127 -0
- package/Microsoft.ReactNative.Cxx/ApiLoaders/NodeApi.inc +125 -0
- package/Microsoft.ReactNative.Cxx/ApiLoaders/NodeApi_posix.cpp +16 -0
- package/Microsoft.ReactNative.Cxx/ApiLoaders/NodeApi_win.cpp +23 -0
- package/Microsoft.ReactNative.Cxx/JSI/decorator.h +834 -0
- package/Microsoft.ReactNative.Cxx/JSI/instrumentation.h +117 -0
- package/Microsoft.ReactNative.Cxx/JSI/jsi-inl.h +366 -0
- package/Microsoft.ReactNative.Cxx/JSI/jsi.cpp +560 -0
- package/Microsoft.ReactNative.Cxx/JSI/jsi.h +1611 -0
- package/Microsoft.ReactNative.Cxx/JSI/threadsafe.h +79 -0
- package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +7 -11
- package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems.filters +1 -1
- package/Microsoft.ReactNative.Cxx/NodeApiJsiRuntime.cpp +2878 -0
- package/Microsoft.ReactNative.Cxx/NodeApiJsiRuntime.h +36 -0
- package/Microsoft.ReactNative.Cxx/ReactCommon/CallInvoker.h +64 -0
- package/Microsoft.ReactNative.Cxx/ReactCommon/SchedulerPriority.h +22 -0
- package/{ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core → Microsoft.ReactNative.Cxx}/ReactCommon/TurboModule.cpp +63 -63
- package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModule.h +165 -0
- package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModuleUtils.cpp +105 -0
- package/{ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core → Microsoft.ReactNative.Cxx}/ReactCommon/TurboModuleUtils.h +57 -58
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/AString.h +42 -0
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Array.h +151 -0
- package/{ReactCommon/TEMP_UntilReactCommonUpdate → Microsoft.ReactNative.Cxx/ReactCommon}/react/bridging/Base.h +177 -154
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Bool.h +25 -0
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Bridging.h +21 -0
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/CallbackWrapper.h +67 -0
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Class.h +90 -0
- package/{ReactCommon/TEMP_UntilReactCommonUpdate → Microsoft.ReactNative.Cxx/ReactCommon}/react/bridging/Convert.h +170 -172
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Error.h +51 -0
- package/{ReactCommon/TEMP_UntilReactCommonUpdate → Microsoft.ReactNative.Cxx/ReactCommon}/react/bridging/EventEmitter.h +134 -136
- package/{ReactCommon/TEMP_UntilReactCommonUpdate → Microsoft.ReactNative.Cxx/ReactCommon}/react/bridging/Function.h +283 -283
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/LongLivedObject.cpp +63 -0
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/LongLivedObject.h +61 -0
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Object.h +93 -0
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Promise.h +104 -0
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Value.h +107 -0
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/debug/flags.h +22 -0
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/debug/react_native_assert.h +72 -0
- package/Microsoft.ReactNative.Cxx/node-api/js_native_api.h +553 -0
- package/Microsoft.ReactNative.Cxx/node-api/js_native_api_types.h +167 -0
- package/Microsoft.ReactNative.Cxx/node-api/js_runtime_api.h +186 -0
- package/Microsoft.ReactNative.Cxx/stubs/glog/logging.h +82 -0
- package/PropertySheets/Bundle.Common.targets +1 -1
- package/PropertySheets/Bundle.props +3 -0
- package/PropertySheets/Generated/PackageVersion.g.props +4 -4
- package/PropertySheets/ManagedCodeGen/Microsoft.ReactNative.Managed.CodeGen.targets +1 -1
- package/PropertySheets/OutputMSBuildProperties.targets +3 -1
- package/ReactCommon/ReactCommon.vcxproj +5 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSExecutor.cpp +2 -3
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +61 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModule.h +26 -23
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +150 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityPrimitives.h +252 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/accessibilityPropsConversions.h +795 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/runtimescheduler/SchedulerPriorityUtils.h +59 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp +188 -39
- package/Scripts/Microsoft.ReactNative.Managed.CodeGen.targets +1 -1
- package/Scripts/Tfs/Layout-MSRN-Headers.ps1 +97 -62
- package/Shared/InspectorPackagerConnection.cpp +3 -6
- package/Shared/InspectorPackagerConnection.h +2 -2
- package/Shared/InstanceManager.h +1 -1
- package/Shared/OInstance.h +1 -1
- package/Shared/Shared.vcxitems +17 -2
- package/Shared/Shared.vcxitems.filters +3 -1
- package/Shared/TurboModuleManager.cpp +29 -4
- package/codegen/NativeAccessibilityInfoSpec.g.h +27 -9
- package/codegen/NativeAccessibilityManagerSpec.g.h +19 -13
- package/codegen/NativeActionSheetManagerSpec.g.h +4 -0
- package/codegen/NativeExceptionsManagerSpec.g.h +1 -7
- package/codegen/NativeIntersectionObserverSpec.g.h +2 -0
- package/codegen/NativePerformanceSpec.g.h +127 -3
- package/codegen/NativeReactDevToolsRuntimeSettingsModuleSpec.g.h +67 -0
- package/codegen/NativeReactDevToolsSettingsManagerSpec.g.h +41 -0
- package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +125 -137
- package/codegen/react/components/rnwcore/ComponentDescriptors.h +0 -1
- package/codegen/react/components/rnwcore/Props.cpp +1 -0
- package/codegen/react/components/rnwcore/Props.h +1 -0
- package/codegen/react/components/rnwcore/ShadowNodes.cpp +0 -1
- package/codegen/react/components/rnwcore/ShadowNodes.h +0 -11
- package/codegen/react/components/rnwcore/States.h +0 -12
- package/codegen/rnwcoreJSI-generated.cpp +219 -186
- package/codegen/rnwcoreJSI.h +942 -511
- package/index.js +10 -3
- package/index.windows.js +10 -3
- package/jest/setup.js +36 -1
- package/just-task.js +15 -0
- package/package.json +22 -22
- package/src/private/animated/NativeAnimatedHelper.js +18 -16
- package/src/private/animated/useAnimatedPropsMemo.js +348 -0
- package/src/private/animated/useAnimatedPropsMemo.windows.js +356 -0
- package/src/private/components/HScrollViewNativeComponents.js +1 -27
- package/src/private/components/SafeAreaView_INTERNAL_DO_NOT_USE.js +11 -8
- package/src/private/components/VScrollViewNativeComponents.js +2 -25
- package/src/private/debugging/ReactDevToolsSettingsManager.android.js +20 -0
- package/src/private/debugging/ReactDevToolsSettingsManager.ios.js +30 -0
- package/src/private/debugging/ReactDevToolsSettingsManager.windows.js +20 -0
- package/src/private/{fusebox → debugging}/setUpFuseboxReactDevToolsDispatcher.js +6 -0
- package/src/private/devmenu/DevMenu.d.ts +20 -0
- package/src/private/devmenu/DevMenu.js +31 -0
- package/src/private/featureflags/ReactNativeFeatureFlags.js +95 -86
- package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +8 -2
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +17 -19
- package/src/private/fusebox/specs/NativeReactDevToolsRuntimeSettingsModule.js +34 -0
- package/src/private/setup/setUpDOM.js +14 -6
- package/src/private/setup/setUpMutationObserver.js +5 -0
- package/src/private/specs/components/AndroidHorizontalScrollContentViewNativeComponent.js +1 -0
- package/src/private/specs/components/RCTModalHostViewNativeComponent.js +8 -0
- package/src/private/specs/modules/NativeAccessibilityInfo.js +9 -0
- package/src/private/specs/modules/NativeAccessibilityManager.js +4 -0
- package/src/private/specs/modules/NativeActionSheetManager.js +2 -0
- package/src/private/specs/modules/NativeAppearance.js +4 -10
- package/src/private/specs/modules/NativeExceptionsManager.js +0 -12
- package/src/private/specs/modules/{NativeDevToolsSettingsManager.js → NativeReactDevToolsSettingsManager.js} +3 -5
- package/src/private/webapis/dom/geometry/DOMRect.js +2 -2
- package/src/private/webapis/dom/geometry/DOMRectReadOnly.js +2 -2
- package/src/private/webapis/dom/nodes/ReactNativeElement.js +2 -3
- package/src/private/webapis/intersectionobserver/IntersectionObserver.js +102 -11
- package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +26 -0
- package/src/private/webapis/intersectionobserver/IntersectionObserverManager.js +1 -0
- package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +1 -0
- package/src/private/webapis/intersectionobserver/specs/__mocks__/NativeIntersectionObserver.js +9 -0
- package/src/private/webapis/performance/EventTiming.js +13 -8
- package/src/private/webapis/performance/Performance.js +66 -73
- package/src/private/webapis/performance/PerformanceEntry.js +2 -5
- package/src/private/webapis/performance/PerformanceObserver.js +65 -164
- package/src/private/webapis/performance/RawPerformanceEntry.js +1 -1
- package/src/private/webapis/performance/UserTiming.js +11 -7
- package/src/private/webapis/performance/Utilities.js +18 -0
- package/src/private/webapis/performance/specs/NativePerformance.js +71 -2
- package/src/private/webapis/performance/specs/__mocks__/NativePerformanceMock.js +267 -0
- package/templates/cpp-lib/template.config.js +13 -7
- package/templates/templateUtils.js +10 -0
- package/types/index.d.ts +1 -1
- package/types/public/ReactNativeTypes.d.ts +4 -8
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.android.js +0 -35
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.d.ts +0 -20
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.ios.js +0 -49
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.windows.js +0 -35
- package/Libraries/DevToolsSettings/NativeDevToolsSettingsManager.js +0 -13
- package/Libraries/ReactNative/ReactFabricInternals.js +0 -17
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/CallbackWrapper.h +0 -101
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/scrollview/ScrollViewProps.cpp +0 -569
- package/codegen/NativeDevToolsSettingsManagerSpec.g.h +0 -53
- package/codegen/NativePerformanceObserverSpec.g.h +0 -131
- package/src/private/components/useSyncOnScroll.js +0 -48
- package/src/private/webapis/performance/specs/NativePerformanceObserver.js +0 -61
- package/src/private/webapis/performance/specs/__mocks__/NativePerformance.js +0 -67
- package/src/private/webapis/performance/specs/__mocks__/NativePerformanceObserver.js +0 -127
- package/types/experimental.d.ts +0 -59
- /package/src/private/{fusebox → debugging}/FuseboxSessionObserver.js +0 -0
package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModule.h
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
#include <jsi/jsi.h>
|
|
15
15
|
|
|
16
16
|
#include <ReactCommon/CallInvoker.h>
|
|
17
|
-
#include <EventEmitter.h>
|
|
17
|
+
#include <react/bridging/EventEmitter.h>
|
|
18
18
|
|
|
19
19
|
namespace facebook::react {
|
|
20
20
|
|
|
@@ -46,30 +46,33 @@ class TurboModuleBinding;
|
|
|
46
46
|
/**
|
|
47
47
|
* Base HostObject class for every module to be exposed to JS
|
|
48
48
|
*/
|
|
49
|
-
class JSI_EXPORT TurboModule : public
|
|
49
|
+
class JSI_EXPORT TurboModule : public jsi::HostObject {
|
|
50
50
|
public:
|
|
51
51
|
TurboModule(std::string name, std::shared_ptr<CallInvoker> jsInvoker);
|
|
52
52
|
|
|
53
|
+
// DO NOT OVERRIDE - it will become final in a future release.
|
|
54
|
+
// This method provides automatic caching of properties on the TurboModule's
|
|
55
|
+
// JS representation. To customize lookup of properties, override `create`.
|
|
53
56
|
// Note: keep this method declared inline to avoid conflicts
|
|
54
57
|
// between RTTI and non-RTTI compilation units
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
}
|
|
67
|
-
return prop;
|
|
58
|
+
jsi::Value get(jsi::Runtime& runtime, const jsi::PropNameID& propName)
|
|
59
|
+
override {
|
|
60
|
+
auto prop = create(runtime, propName);
|
|
61
|
+
// If we have a JS wrapper, cache the result of this lookup
|
|
62
|
+
// We don't cache misses, to allow for methodMap_ to dynamically be
|
|
63
|
+
// extended
|
|
64
|
+
// [Windows] Reenable once https://github.com/microsoft/react-native-windows/issues/14128 is fixed
|
|
65
|
+
#ifndef WINAPI_FAMILY
|
|
66
|
+
if (jsRepresentation_ && !prop.isUndefined()) {
|
|
67
|
+
jsRepresentation_->lock(runtime).asObject(runtime).setProperty(
|
|
68
|
+
runtime, propName, prop);
|
|
68
69
|
}
|
|
70
|
+
#endif
|
|
71
|
+
return prop;
|
|
69
72
|
}
|
|
70
73
|
|
|
71
|
-
|
|
72
|
-
|
|
74
|
+
std::vector<jsi::PropNameID> getPropertyNames(
|
|
75
|
+
jsi::Runtime& runtime) override {
|
|
73
76
|
std::vector<jsi::PropNameID> result;
|
|
74
77
|
result.reserve(methodMap_.size());
|
|
75
78
|
for (auto it = methodMap_.cbegin(); it != methodMap_.cend(); ++it) {
|
|
@@ -84,10 +87,10 @@ class JSI_EXPORT TurboModule : public facebook::jsi::HostObject {
|
|
|
84
87
|
|
|
85
88
|
struct MethodMetadata {
|
|
86
89
|
size_t argCount;
|
|
87
|
-
|
|
88
|
-
|
|
90
|
+
jsi::Value (*invoker)(
|
|
91
|
+
jsi::Runtime& rt,
|
|
89
92
|
TurboModule& turboModule,
|
|
90
|
-
const
|
|
93
|
+
const jsi::Value* args,
|
|
91
94
|
size_t count);
|
|
92
95
|
};
|
|
93
96
|
std::unordered_map<std::string, MethodMetadata> methodMap_;
|
|
@@ -141,13 +144,13 @@ class JSI_EXPORT TurboModule : public facebook::jsi::HostObject {
|
|
|
141
144
|
} else if (auto eventEmitterIter = eventEmitterMap_.find(propNameUtf8);
|
|
142
145
|
eventEmitterIter != eventEmitterMap_.end()) {
|
|
143
146
|
return eventEmitterIter->second->get(runtime, jsInvoker_);
|
|
147
|
+
} else {
|
|
148
|
+
// Neither Method nor EventEmitter were found, let JS decide what to do
|
|
149
|
+
return jsi::Value::undefined();
|
|
144
150
|
}
|
|
145
|
-
// Neither Method nor EventEmitter were not found, let JS decide what to do.
|
|
146
|
-
return facebook::jsi::Value::undefined();
|
|
147
151
|
}
|
|
148
152
|
|
|
149
153
|
private:
|
|
150
|
-
friend class TurboCxxModule;
|
|
151
154
|
friend class TurboModuleBinding;
|
|
152
155
|
std::unique_ptr<jsi::WeakObject> jsRepresentation_;
|
|
153
156
|
};
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#include "ComponentDescriptorRegistry.h"
|
|
9
|
+
|
|
10
|
+
#include "componentNameByReactViewName.h"
|
|
11
|
+
|
|
12
|
+
#include <react/config/ReactNativeConfig.h>
|
|
13
|
+
#include <react/debug/react_native_assert.h>
|
|
14
|
+
#include <react/renderer/componentregistry/ComponentDescriptorProviderRegistry.h>
|
|
15
|
+
#include <react/renderer/components/legacyviewmanagerinterop/UnstableLegacyViewManagerAutomaticComponentDescriptor.h>
|
|
16
|
+
#include <react/renderer/components/legacyviewmanagerinterop/UnstableLegacyViewManagerAutomaticShadowNode.h>
|
|
17
|
+
#include <react/renderer/core/PropsParserContext.h>
|
|
18
|
+
#include <react/renderer/core/ShadowNodeFragment.h>
|
|
19
|
+
#include <utility>
|
|
20
|
+
|
|
21
|
+
namespace facebook::react {
|
|
22
|
+
|
|
23
|
+
ComponentDescriptorRegistry::ComponentDescriptorRegistry(
|
|
24
|
+
ComponentDescriptorParameters parameters,
|
|
25
|
+
const ComponentDescriptorProviderRegistry& providerRegistry,
|
|
26
|
+
ContextContainer::Shared contextContainer)
|
|
27
|
+
: parameters_(std::move(parameters)),
|
|
28
|
+
providerRegistry_(providerRegistry),
|
|
29
|
+
contextContainer_(std::move(contextContainer)) {}
|
|
30
|
+
|
|
31
|
+
void ComponentDescriptorRegistry::add(
|
|
32
|
+
ComponentDescriptorProvider componentDescriptorProvider) const {
|
|
33
|
+
std::unique_lock lock(mutex_);
|
|
34
|
+
|
|
35
|
+
auto componentDescriptor = componentDescriptorProvider.constructor(
|
|
36
|
+
{parameters_.eventDispatcher,
|
|
37
|
+
parameters_.contextContainer,
|
|
38
|
+
componentDescriptorProvider.flavor});
|
|
39
|
+
react_native_assert(
|
|
40
|
+
componentDescriptor->getComponentHandle() ==
|
|
41
|
+
componentDescriptorProvider.handle);
|
|
42
|
+
react_native_assert(
|
|
43
|
+
componentDescriptor->getComponentName() ==
|
|
44
|
+
componentDescriptorProvider.name);
|
|
45
|
+
|
|
46
|
+
auto sharedComponentDescriptor = std::shared_ptr<const ComponentDescriptor>(
|
|
47
|
+
std::move(componentDescriptor));
|
|
48
|
+
_registryByHandle[componentDescriptorProvider.handle] =
|
|
49
|
+
sharedComponentDescriptor;
|
|
50
|
+
_registryByName[componentDescriptorProvider.name] = sharedComponentDescriptor;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
void ComponentDescriptorRegistry::registerComponentDescriptor(
|
|
54
|
+
const SharedComponentDescriptor& componentDescriptor) const {
|
|
55
|
+
ComponentHandle componentHandle = componentDescriptor->getComponentHandle();
|
|
56
|
+
_registryByHandle[componentHandle] = componentDescriptor;
|
|
57
|
+
|
|
58
|
+
ComponentName componentName = componentDescriptor->getComponentName();
|
|
59
|
+
_registryByName[componentName] = componentDescriptor;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
const ComponentDescriptor& ComponentDescriptorRegistry::at(
|
|
63
|
+
const std::string& componentName) const {
|
|
64
|
+
std::shared_lock lock(mutex_);
|
|
65
|
+
|
|
66
|
+
auto unifiedComponentName = componentNameByReactViewName(componentName);
|
|
67
|
+
|
|
68
|
+
auto it = _registryByName.find(unifiedComponentName);
|
|
69
|
+
if (it == _registryByName.end()) {
|
|
70
|
+
lock.unlock();
|
|
71
|
+
providerRegistry_.request(unifiedComponentName.c_str());
|
|
72
|
+
lock.lock();
|
|
73
|
+
|
|
74
|
+
it = _registryByName.find(unifiedComponentName);
|
|
75
|
+
|
|
76
|
+
/*
|
|
77
|
+
* TODO: T54849676
|
|
78
|
+
* Uncomment the `assert` after the following block that checks
|
|
79
|
+
* `_fallbackComponentDescriptor` is no longer needed. The assert assumes
|
|
80
|
+
* that `componentDescriptorProviderRequest` is always not null and register
|
|
81
|
+
* some component on every single request.
|
|
82
|
+
*/
|
|
83
|
+
// assert(it != _registryByName.end());
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
if (it == _registryByName.end()) {
|
|
87
|
+
// [Windows ##14204
|
|
88
|
+
auto reactNativeConfig_ =
|
|
89
|
+
contextContainer_->at<std::shared_ptr<const ReactNativeConfig>>(
|
|
90
|
+
"ReactNativeConfig");
|
|
91
|
+
if (reactNativeConfig_->getBool(
|
|
92
|
+
"react_fabric:enabled_automatic_interop_android")) {
|
|
93
|
+
auto componentDescriptor = std::make_shared<
|
|
94
|
+
const UnstableLegacyViewManagerAutomaticComponentDescriptor>(
|
|
95
|
+
parameters_, unifiedComponentName);
|
|
96
|
+
registerComponentDescriptor(componentDescriptor);
|
|
97
|
+
return *_registryByName.find(unifiedComponentName)->second;
|
|
98
|
+
} else if (_fallbackComponentDescriptor == nullptr) {
|
|
99
|
+
throw std::invalid_argument(
|
|
100
|
+
("Unable to find componentDescriptor for " + unifiedComponentName)
|
|
101
|
+
.c_str());
|
|
102
|
+
} else {
|
|
103
|
+
return *_fallbackComponentDescriptor.get();
|
|
104
|
+
}
|
|
105
|
+
// Windows]
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
return *it->second;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
const ComponentDescriptor* ComponentDescriptorRegistry::
|
|
112
|
+
findComponentDescriptorByHandle_DO_NOT_USE_THIS_IS_BROKEN(
|
|
113
|
+
ComponentHandle componentHandle) const {
|
|
114
|
+
std::shared_lock lock(mutex_);
|
|
115
|
+
|
|
116
|
+
auto iterator = _registryByHandle.find(componentHandle);
|
|
117
|
+
if (iterator == _registryByHandle.end()) {
|
|
118
|
+
return nullptr;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
return iterator->second.get();
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
const ComponentDescriptor& ComponentDescriptorRegistry::at(
|
|
125
|
+
ComponentHandle componentHandle) const {
|
|
126
|
+
std::shared_lock lock(mutex_);
|
|
127
|
+
|
|
128
|
+
return *_registryByHandle.at(componentHandle);
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
bool ComponentDescriptorRegistry::hasComponentDescriptorAt(
|
|
132
|
+
ComponentHandle componentHandle) const {
|
|
133
|
+
std::shared_lock lock(mutex_);
|
|
134
|
+
|
|
135
|
+
auto iterator = _registryByHandle.find(componentHandle);
|
|
136
|
+
return iterator != _registryByHandle.end();
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
void ComponentDescriptorRegistry::setFallbackComponentDescriptor(
|
|
140
|
+
const SharedComponentDescriptor& descriptor) {
|
|
141
|
+
_fallbackComponentDescriptor = descriptor;
|
|
142
|
+
registerComponentDescriptor(descriptor);
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
ComponentDescriptor::Shared
|
|
146
|
+
ComponentDescriptorRegistry::getFallbackComponentDescriptor() const {
|
|
147
|
+
return _fallbackComponentDescriptor;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
} // namespace facebook::react
|
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <cinttypes>
|
|
11
|
+
#include <optional>
|
|
12
|
+
#include <string>
|
|
13
|
+
#include <vector>
|
|
14
|
+
|
|
15
|
+
namespace facebook::react {
|
|
16
|
+
|
|
17
|
+
enum class AccessibilityTraits : uint32_t {
|
|
18
|
+
None = 0,
|
|
19
|
+
Button = (1 << 0),
|
|
20
|
+
Link = (1 << 1),
|
|
21
|
+
Image = (1 << 2),
|
|
22
|
+
Selected = (1 << 3),
|
|
23
|
+
PlaysSound = (1 << 4),
|
|
24
|
+
KeyboardKey = (1 << 5),
|
|
25
|
+
StaticText = (1 << 6),
|
|
26
|
+
SummaryElement = (1 << 7),
|
|
27
|
+
NotEnabled = (1 << 8),
|
|
28
|
+
UpdatesFrequently = (1 << 9),
|
|
29
|
+
SearchField = (1 << 10),
|
|
30
|
+
StartsMediaSession = (1 << 11),
|
|
31
|
+
Adjustable = (1 << 12),
|
|
32
|
+
AllowsDirectInteraction = (1 << 13),
|
|
33
|
+
CausesPageTurn = (1 << 14),
|
|
34
|
+
Header = (1 << 15),
|
|
35
|
+
Switch = (1 << 16),
|
|
36
|
+
TabBar = (1 << 17),
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
constexpr enum AccessibilityTraits operator|(
|
|
40
|
+
const enum AccessibilityTraits lhs,
|
|
41
|
+
const enum AccessibilityTraits rhs) {
|
|
42
|
+
return (enum AccessibilityTraits)((uint32_t)lhs | (uint32_t)rhs);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
constexpr enum AccessibilityTraits operator&(
|
|
46
|
+
const enum AccessibilityTraits lhs,
|
|
47
|
+
const enum AccessibilityTraits rhs) {
|
|
48
|
+
return (enum AccessibilityTraits)((uint32_t)lhs & (uint32_t)rhs);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
struct AccessibilityAction {
|
|
52
|
+
std::string name{""};
|
|
53
|
+
std::optional<std::string> label{};
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
inline static bool operator==(
|
|
57
|
+
const AccessibilityAction& lhs,
|
|
58
|
+
const AccessibilityAction& rhs) {
|
|
59
|
+
return lhs.name == rhs.name && lhs.label == rhs.label;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
inline static bool operator!=(
|
|
63
|
+
const AccessibilityAction& lhs,
|
|
64
|
+
const AccessibilityAction& rhs) {
|
|
65
|
+
return !(rhs == lhs);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
struct AccessibilityState {
|
|
69
|
+
bool disabled{false};
|
|
70
|
+
std::optional<bool> selected{std::nullopt}; // [Windows] - Do not remove; required for Windows ISelectionItemProvider Implementation
|
|
71
|
+
bool busy{false};
|
|
72
|
+
std::optional<bool> expanded{std::nullopt};
|
|
73
|
+
std::optional<bool> multiselectable{std::nullopt}; // [Windows] - Do not remove; required for Windows ISelectionProvider Implementation
|
|
74
|
+
std::optional<bool> required{std::nullopt}; // [Windows] - Do not remove; required for Windows ISelectionProvider Implementation
|
|
75
|
+
enum { Unchecked, Checked, Mixed, None } checked{None};
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
constexpr bool operator==(
|
|
79
|
+
const AccessibilityState& lhs,
|
|
80
|
+
const AccessibilityState& rhs) {
|
|
81
|
+
return lhs.disabled == rhs.disabled && lhs.selected == rhs.selected &&
|
|
82
|
+
lhs.checked == rhs.checked && lhs.busy == rhs.busy &&
|
|
83
|
+
lhs.expanded == rhs.expanded;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
constexpr bool operator!=(
|
|
87
|
+
const AccessibilityState& lhs,
|
|
88
|
+
const AccessibilityState& rhs) {
|
|
89
|
+
return !(rhs == lhs);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
struct AccessibilityLabelledBy {
|
|
93
|
+
std::vector<std::string> value{};
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
inline static bool operator==(
|
|
97
|
+
const AccessibilityLabelledBy& lhs,
|
|
98
|
+
const AccessibilityLabelledBy& rhs) {
|
|
99
|
+
return lhs.value == rhs.value;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
inline static bool operator!=(
|
|
103
|
+
const AccessibilityLabelledBy& lhs,
|
|
104
|
+
const AccessibilityLabelledBy& rhs) {
|
|
105
|
+
return !(lhs == rhs);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
struct AccessibilityValue {
|
|
109
|
+
std::optional<int> min;
|
|
110
|
+
std::optional<int> max;
|
|
111
|
+
std::optional<int> now;
|
|
112
|
+
std::optional<std::string> text{};
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
constexpr bool operator==(
|
|
116
|
+
const AccessibilityValue& lhs,
|
|
117
|
+
const AccessibilityValue& rhs) {
|
|
118
|
+
return lhs.min == rhs.min && lhs.max == rhs.max && lhs.now == rhs.now &&
|
|
119
|
+
lhs.text == rhs.text;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
constexpr bool operator!=(
|
|
123
|
+
const AccessibilityValue& lhs,
|
|
124
|
+
const AccessibilityValue& rhs) {
|
|
125
|
+
return !(rhs == lhs);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
enum class ImportantForAccessibility : uint8_t {
|
|
129
|
+
Auto,
|
|
130
|
+
Yes,
|
|
131
|
+
No,
|
|
132
|
+
NoHideDescendants,
|
|
133
|
+
};
|
|
134
|
+
|
|
135
|
+
enum class AccessibilityLiveRegion : uint8_t {
|
|
136
|
+
None,
|
|
137
|
+
Polite,
|
|
138
|
+
Assertive,
|
|
139
|
+
};
|
|
140
|
+
|
|
141
|
+
enum class AccessibilityRole {
|
|
142
|
+
None,
|
|
143
|
+
Button,
|
|
144
|
+
Dropdownlist,
|
|
145
|
+
Togglebutton,
|
|
146
|
+
Link,
|
|
147
|
+
Search,
|
|
148
|
+
Image,
|
|
149
|
+
Keyboardkey,
|
|
150
|
+
Text,
|
|
151
|
+
Adjustable,
|
|
152
|
+
Imagebutton,
|
|
153
|
+
Header,
|
|
154
|
+
Summary,
|
|
155
|
+
Alert,
|
|
156
|
+
Checkbox,
|
|
157
|
+
Combobox,
|
|
158
|
+
Menu,
|
|
159
|
+
Menubar,
|
|
160
|
+
Menuitem,
|
|
161
|
+
Progressbar,
|
|
162
|
+
Radio,
|
|
163
|
+
Radiogroup,
|
|
164
|
+
Scrollbar,
|
|
165
|
+
Spinbutton,
|
|
166
|
+
Switch,
|
|
167
|
+
Tab,
|
|
168
|
+
Tabbar,
|
|
169
|
+
Tablist,
|
|
170
|
+
Timer,
|
|
171
|
+
List,
|
|
172
|
+
Toolbar,
|
|
173
|
+
Grid,
|
|
174
|
+
Pager,
|
|
175
|
+
Scrollview,
|
|
176
|
+
Horizontalscrollview,
|
|
177
|
+
Viewgroup,
|
|
178
|
+
Webview,
|
|
179
|
+
Drawerlayout,
|
|
180
|
+
Slidingdrawer,
|
|
181
|
+
Iconmenu,
|
|
182
|
+
};
|
|
183
|
+
|
|
184
|
+
enum class Role {
|
|
185
|
+
Alert,
|
|
186
|
+
Alertdialog,
|
|
187
|
+
Application,
|
|
188
|
+
Article,
|
|
189
|
+
Banner,
|
|
190
|
+
Button,
|
|
191
|
+
Cell,
|
|
192
|
+
Checkbox,
|
|
193
|
+
Columnheader,
|
|
194
|
+
Combobox,
|
|
195
|
+
Complementary,
|
|
196
|
+
Contentinfo,
|
|
197
|
+
Definition,
|
|
198
|
+
Dialog,
|
|
199
|
+
Directory,
|
|
200
|
+
Document,
|
|
201
|
+
Feed,
|
|
202
|
+
Figure,
|
|
203
|
+
Form,
|
|
204
|
+
Grid,
|
|
205
|
+
Group,
|
|
206
|
+
Heading,
|
|
207
|
+
Img,
|
|
208
|
+
Link,
|
|
209
|
+
List,
|
|
210
|
+
Listitem,
|
|
211
|
+
Log,
|
|
212
|
+
Main,
|
|
213
|
+
Marquee,
|
|
214
|
+
Math,
|
|
215
|
+
Menu,
|
|
216
|
+
Menubar,
|
|
217
|
+
Menuitem,
|
|
218
|
+
Meter,
|
|
219
|
+
Navigation,
|
|
220
|
+
None,
|
|
221
|
+
Note,
|
|
222
|
+
Option,
|
|
223
|
+
Presentation,
|
|
224
|
+
Progressbar,
|
|
225
|
+
Radio,
|
|
226
|
+
Radiogroup,
|
|
227
|
+
Region,
|
|
228
|
+
Row,
|
|
229
|
+
Rowgroup,
|
|
230
|
+
Rowheader,
|
|
231
|
+
Scrollbar,
|
|
232
|
+
Searchbox,
|
|
233
|
+
Separator,
|
|
234
|
+
Slider,
|
|
235
|
+
Spinbutton,
|
|
236
|
+
Status,
|
|
237
|
+
Summary,
|
|
238
|
+
Switch,
|
|
239
|
+
Tab,
|
|
240
|
+
Table,
|
|
241
|
+
Tablist,
|
|
242
|
+
Tabpanel,
|
|
243
|
+
Term,
|
|
244
|
+
Timer,
|
|
245
|
+
Toolbar,
|
|
246
|
+
Tooltip,
|
|
247
|
+
Tree,
|
|
248
|
+
Treegrid,
|
|
249
|
+
Treeitem,
|
|
250
|
+
};
|
|
251
|
+
|
|
252
|
+
} // namespace facebook::react
|