diff --git a/Libraries/Components/AccessibilityInfo/AccessibilityInfo.flow.js b/Libraries/Components/AccessibilityInfo/AccessibilityInfo.flow.js deleted file mode 100644 index b40fd0230eefe2..00000000000000 --- a/Libraries/Components/AccessibilityInfo/AccessibilityInfo.flow.js +++ /dev/null @@ -1,208 +0,0 @@ -/** - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - * - * @flow strict-local - * @format - */ - -import type {HostComponent} from '../../Renderer/shims/ReactNativeTypes'; -import type {EventSubscription} from '../../vendor/emitter/EventEmitter'; -import type {ElementRef} from 'react'; - -// Events that are only supported on Android. -type AccessibilityEventDefinitionsAndroid = { - accessibilityServiceChanged: [boolean], -}; - -// Events that are only supported on iOS. -type AccessibilityEventDefinitionsIOS = { - announcementFinished: [{announcement: string, success: boolean}], - boldTextChanged: [boolean], - grayscaleChanged: [boolean], - invertColorsChanged: [boolean], - reduceTransparencyChanged: [boolean], -}; - -type AccessibilityEventDefinitions = { - ...AccessibilityEventDefinitionsAndroid, - ...AccessibilityEventDefinitionsIOS, - change: [boolean], // screenReaderChanged - reduceMotionChanged: [boolean], - screenReaderChanged: [boolean], -}; - -type AccessibilityEventTypes = 'click' | 'focus'; -/** - * Sometimes it's useful to know whether or not the device has a screen reader - * that is currently active. The `AccessibilityInfo` API is designed for this - * purpose. You can use it to query the current state of the screen reader as - * well as to register to be notified when the state of the screen reader - * changes. - * - * See https://reactnative.dev/docs/accessibilityinfo - */ -export type AccessibilityInfoType = { - /** - * Query whether bold text is currently enabled. - * - * Returns a promise which resolves to a boolean. - * The result is `true` when bold text is enabled and `false` otherwise. - * - * See https://reactnative.dev/docs/accessibilityinfo#isBoldTextEnabled - */ - isBoldTextEnabled: () => Promise, - - /** - * Query whether grayscale is currently enabled. - * - * Returns a promise which resolves to a boolean. - * The result is `true` when grayscale is enabled and `false` otherwise. - * - * See https://reactnative.dev/docs/accessibilityinfo#isGrayscaleEnabled - */ - isGrayscaleEnabled: () => Promise, - - /** - * Query whether inverted colors are currently enabled. - * - * Returns a promise which resolves to a boolean. - * The result is `true` when invert color is enabled and `false` otherwise. - * - * See https://reactnative.dev/docs/accessibilityinfo#isInvertColorsEnabled - */ - isInvertColorsEnabled: () => Promise, - - /** - * Query whether reduced motion is currently enabled. - * - * Returns a promise which resolves to a boolean. - * The result is `true` when a reduce motion is enabled and `false` otherwise. - * - * See https://reactnative.dev/docs/accessibilityinfo#isReduceMotionEnabled - */ - isReduceMotionEnabled: () => Promise, - - /** - * Query whether reduce motion and prefer cross-fade transitions settings are currently enabled. - * - * Returns a promise which resolves to a boolean. - * The result is `true` when prefer cross-fade transitions is enabled and `false` otherwise. - * - * See https://reactnative.dev/docs/accessibilityinfo#prefersCrossFadeTransitions - */ - prefersCrossFadeTransitions: () => Promise, - - /** - * Query whether reduced transparency is currently enabled. - * - * Returns a promise which resolves to a boolean. - * The result is `true` when a reduce transparency is enabled and `false` otherwise. - * - * See https://reactnative.dev/docs/accessibilityinfo#isReduceTransparencyEnabled - */ - isReduceTransparencyEnabled: () => Promise, - - /** - * Query whether a screen reader is currently enabled. - * - * Returns a promise which resolves to a boolean. - * The result is `true` when a screen reader is enabled and `false` otherwise. - * - * See https://reactnative.dev/docs/accessibilityinfo#isScreenReaderEnabled - */ - isScreenReaderEnabled: () => Promise, - - /** - * Query whether Accessibility Service is currently enabled. - * - * Returns a promise which resolves to a boolean. - * The result is `true` when any service is enabled and `false` otherwise. - * - * @platform android - * - * See https://reactnative.dev/docs/accessibilityinfo/#isaccessibilityserviceenabled-android - */ - isAccessibilityServiceEnabled: () => Promise, - - /** - * Add an event handler. Supported events: - * - * - `reduceMotionChanged`: Fires when the state of the reduce motion toggle changes. - * The argument to the event handler is a boolean. The boolean is `true` when a reduce - * motion is enabled (or when "Transition Animation Scale" in "Developer options" is - * "Animation off") and `false` otherwise. - * - `screenReaderChanged`: Fires when the state of the screen reader changes. The argument - * to the event handler is a boolean. The boolean is `true` when a screen - * reader is enabled and `false` otherwise. - * - * These events are only supported on iOS: - * - * - `boldTextChanged`: iOS-only event. Fires when the state of the bold text toggle changes. - * The argument to the event handler is a boolean. The boolean is `true` when a bold text - * is enabled and `false` otherwise. - * - `grayscaleChanged`: iOS-only event. Fires when the state of the gray scale toggle changes. - * The argument to the event handler is a boolean. The boolean is `true` when a gray scale - * is enabled and `false` otherwise. - * - `invertColorsChanged`: iOS-only event. Fires when the state of the invert colors toggle - * changes. The argument to the event handler is a boolean. The boolean is `true` when a invert - * colors is enabled and `false` otherwise. - * - `reduceTransparencyChanged`: iOS-only event. Fires when the state of the reduce transparency - * toggle changes. The argument to the event handler is a boolean. The boolean is `true` - * when a reduce transparency is enabled and `false` otherwise. - * - `announcementFinished`: iOS-only event. Fires when the screen reader has - * finished making an announcement. The argument to the event handler is a - * dictionary with these keys: - * - `announcement`: The string announced by the screen reader. - * - `success`: A boolean indicating whether the announcement was - * successfully made. - * - * See https://reactnative.dev/docs/accessibilityinfo#addeventlistener - */ - addEventListener>( - eventName: K, - handler: (...$ElementType) => void, - ): EventSubscription, - - /** - * Set accessibility focus to a React component. - * - * See https://reactnative.dev/docs/accessibilityinfo#setaccessibilityfocus - */ - setAccessibilityFocus: (reactTag: number) => void, - - /** - * Send a named accessibility event to a HostComponent. - */ - sendAccessibilityEvent: ( - handle: ElementRef>, - eventType: AccessibilityEventTypes, - ) => void, - - /** - * Post a string to be announced by the screen reader. - * - * See https://reactnative.dev/docs/accessibilityinfo#announceforaccessibility - */ - announceForAccessibility: (announcement: string) => void, - - /** - * Post a string to be announced by the screen reader. - * - `announcement`: The string announced by the screen reader. - * - `options`: An object that configures the reading options. - * - `queue`: The announcement will be queued behind existing announcements. iOS only. - */ - announceForAccessibilityWithOptions: ( - announcement: string, - options: {queue?: boolean}, - ) => void, - - /** - * Get the recommended timeout for changes to the UI needed by this user. - * - * See https://reactnative.dev/docs/accessibilityinfo#getrecommendedtimeoutmillis - */ - getRecommendedTimeoutMillis: (originalTimeout: number) => Promise, -}; diff --git a/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js b/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js index 195fe7476367a3..d0cb1167cb7196 100644 --- a/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +++ b/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js @@ -10,7 +10,6 @@ import type {HostComponent} from '../../Renderer/shims/ReactNativeTypes'; import type {EventSubscription} from '../../vendor/emitter/EventEmitter'; -import type {AccessibilityInfoType} from './AccessibilityInfo.flow'; import type {ElementRef} from 'react'; import RCTDeviceEventEmitter from '../../EventEmitter/RCTDeviceEventEmitter'; @@ -75,7 +74,7 @@ const EventNames: Map< * * See https://reactnative.dev/docs/accessibilityinfo */ -const AccessibilityInfo: AccessibilityInfoType = { +const AccessibilityInfo = { /** * Query whether bold text is currently enabled. *