From ac43ee1b922dd3a4f940abf3f89259c3b1c09465 Mon Sep 17 00:00:00 2001 From: Fabrizio Cucci Date: Fri, 2 Feb 2024 08:31:39 -0800 Subject: [PATCH] Convert `Button` to ESM (#42796) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/42796 As per title. Changelog: [Internal] Reviewed By: cortinico Differential Revision: D53308084 fbshipit-source-id: 872f828b8dc019e65cd32549f9633efb6cde18f5 --- .../Libraries/Components/Button.flow.js | 264 ------------------ .../Libraries/Components/Button.js | 3 +- .../__snapshots__/public-api-test.js.snap | 15 +- packages/react-native/index.js | 2 +- 4 files changed, 10 insertions(+), 274 deletions(-) delete mode 100644 packages/react-native/Libraries/Components/Button.flow.js diff --git a/packages/react-native/Libraries/Components/Button.flow.js b/packages/react-native/Libraries/Components/Button.flow.js deleted file mode 100644 index 1c2bb03e58b727..00000000000000 --- a/packages/react-native/Libraries/Components/Button.flow.js +++ /dev/null @@ -1,264 +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. - * - * @format - * @flow strict-local - */ - -'use strict'; - -import type {PressEvent} from '../Types/CoreEventTypes'; -import type { - AccessibilityActionEvent, - AccessibilityActionInfo, - AccessibilityState, -} from './View/ViewAccessibility'; - -import {type ColorValue} from '../StyleSheet/StyleSheet'; -import * as React from 'react'; - -type ButtonProps = $ReadOnly<{| - /** - Text to display inside the button. On Android the given title will be - converted to the uppercased form. - */ - title: string, - - /** - Handler to be called when the user taps the button. The first function - argument is an event in form of [PressEvent](pressevent). - */ - onPress: (event?: PressEvent) => mixed, - - /** - If `true`, doesn't play system sound on touch. - - @platform android - - @default false - */ - touchSoundDisabled?: ?boolean, - - /** - Color of the text (iOS), or background color of the button (Android). - - @default {@platform android} '#2196F3' - @default {@platform ios} '#007AFF' - */ - color?: ?ColorValue, - - /** - TV preferred focus. - - @platform tv - - @default false - */ - hasTVPreferredFocus?: ?boolean, - - /** - Designates the next view to receive focus when the user navigates down. See - the [Android documentation][android:nextFocusDown]. - - [android:nextFocusDown]: - https://developer.android.com/reference/android/view/View.html#attr_android:nextFocusDown - - @platform android, tv - */ - nextFocusDown?: ?number, - - /** - Designates the next view to receive focus when the user navigates forward. - See the [Android documentation][android:nextFocusForward]. - - [android:nextFocusForward]: - https://developer.android.com/reference/android/view/View.html#attr_android:nextFocusForward - - @platform android, tv - */ - nextFocusForward?: ?number, - - /** - Designates the next view to receive focus when the user navigates left. See - the [Android documentation][android:nextFocusLeft]. - - [android:nextFocusLeft]: - https://developer.android.com/reference/android/view/View.html#attr_android:nextFocusLeft - - @platform android, tv - */ - nextFocusLeft?: ?number, - - /** - Designates the next view to receive focus when the user navigates right. See - the [Android documentation][android:nextFocusRight]. - - [android:nextFocusRight]: - https://developer.android.com/reference/android/view/View.html#attr_android:nextFocusRight - - @platform android, tv - */ - nextFocusRight?: ?number, - - /** - Designates the next view to receive focus when the user navigates up. See - the [Android documentation][android:nextFocusUp]. - - [android:nextFocusUp]: - https://developer.android.com/reference/android/view/View.html#attr_android:nextFocusUp - - @platform android, tv - */ - nextFocusUp?: ?number, - - /** - Text to display for blindness accessibility features. - */ - accessibilityLabel?: ?string, - /** - * Alias for accessibilityLabel https://reactnative.dev/docs/view#accessibilitylabel - * https://github.com/facebook/react-native/issues/34424 - */ - 'aria-label'?: ?string, - /** - If `true`, disable all interactions for this component. - - @default false - */ - disabled?: ?boolean, - - /** - Used to locate this view in end-to-end tests. - */ - testID?: ?string, - - /** - * Accessibility props. - */ - accessible?: ?boolean, - accessibilityActions?: ?$ReadOnlyArray, - onAccessibilityAction?: ?(event: AccessibilityActionEvent) => mixed, - accessibilityState?: ?AccessibilityState, - - /** - * [Android] Controlling if a view fires accessibility events and if it is reported to accessibility services. - */ - importantForAccessibility?: ?('auto' | 'yes' | 'no' | 'no-hide-descendants'), - accessibilityHint?: ?string, - accessibilityLanguage?: ?Stringish, -|}>; - -/** - A basic button component that should render nicely on any platform. Supports a - minimal level of customization. - - If this button doesn't look right for your app, you can build your own button - using [TouchableOpacity](touchableopacity) or - [TouchableWithoutFeedback](touchablewithoutfeedback). For inspiration, look at - the [source code for this button component][button:source]. Or, take a look at - the [wide variety of button components built by the community] - [button:examples]. - - [button:source]: - https://github.com/facebook/react-native/blob/HEAD/Libraries/Components/Button.js - - [button:examples]: - https://js.coach/?menu%5Bcollections%5D=React%20Native&page=1&query=button - - ```jsx -