123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190 |
- /**
- * Copyright (c) Facebook, Inc. and its 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
- */
- 'use strict';
- import type {
- LayoutEvent,
- PressEvent,
- TextLayoutEvent,
- } from '../Types/CoreEventTypes';
- import type {Node} from 'react';
- import type {TextStyleProp} from '../StyleSheet/StyleSheet';
- import type {
- AccessibilityRole,
- AccessibilityState,
- } from '../Components/View/ViewAccessibility';
- export type PressRetentionOffset = $ReadOnly<{|
- top: number,
- left: number,
- bottom: number,
- right: number,
- |}>;
- /**
- * @see https://reactnative.dev/docs/text.html#reference
- */
- export type TextProps = $ReadOnly<{|
- /**
- * Indicates whether the view is an accessibility element.
- *
- * See https://reactnative.dev/docs/text.html#accessible
- */
- accessible?: ?boolean,
- accessibilityHint?: ?Stringish,
- accessibilityLabel?: ?Stringish,
- accessibilityRole?: ?AccessibilityRole,
- accessibilityState?: ?AccessibilityState,
- /**
- * Whether font should be scaled down automatically.
- *
- * See https://reactnative.dev/docs/text.html#adjustsfontsizetofit
- */
- adjustsFontSizeToFit?: ?boolean,
- /**
- * Whether fonts should scale to respect Text Size accessibility settings.
- *
- * See https://reactnative.dev/docs/text.html#allowfontscaling
- */
- allowFontScaling?: ?boolean,
- children?: ?Node,
- /**
- * When `numberOfLines` is set, this prop defines how text will be
- * truncated.
- *
- * See https://reactnative.dev/docs/text.html#ellipsizemode
- */
- ellipsizeMode?: ?('clip' | 'head' | 'middle' | 'tail'),
- /**
- * Specifies largest possible scale a font can reach when `allowFontScaling` is enabled.
- * Possible values:
- * `null/undefined` (default): inherit from the parent node or the global default (0)
- * `0`: no max, ignore parent/global default
- * `>= 1`: sets the maxFontSizeMultiplier of this node to this value
- */
- maxFontSizeMultiplier?: ?number,
- /**
- * Used to locate this view from native code.
- *
- * See https://reactnative.dev/docs/text.html#nativeid
- */
- nativeID?: ?string,
- /**
- * Used to truncate the text with an ellipsis.
- *
- * See https://reactnative.dev/docs/text.html#numberoflines
- */
- numberOfLines?: ?number,
- /**
- * Invoked on mount and layout changes.
- *
- * See https://reactnative.dev/docs/text.html#onlayout
- */
- onLayout?: ?(event: LayoutEvent) => mixed,
- /**
- * This function is called on long press.
- *
- * See https://reactnative.dev/docs/text.html#onlongpress
- */
- onLongPress?: ?(event: PressEvent) => mixed,
- /**
- * This function is called on press.
- *
- * See https://reactnative.dev/docs/text.html#onpress
- */
- onPress?: ?(event: PressEvent) => mixed,
- onResponderGrant?: ?(event: PressEvent, dispatchID: string) => void,
- onResponderMove?: ?(event: PressEvent) => void,
- onResponderRelease?: ?(event: PressEvent) => void,
- onResponderTerminate?: ?(event: PressEvent) => void,
- onResponderTerminationRequest?: ?() => boolean,
- onStartShouldSetResponder?: ?() => boolean,
- onMoveShouldSetResponder?: ?() => boolean,
- onTextLayout?: ?(event: TextLayoutEvent) => mixed,
- /**
- * Defines how far your touch may move off of the button, before
- * deactivating the button.
- *
- * See https://reactnative.dev/docs/text.html#pressretentionoffset
- */
- pressRetentionOffset?: ?PressRetentionOffset,
- /**
- * Lets the user select text.
- *
- * See https://reactnative.dev/docs/text.html#selectable
- */
- selectable?: ?boolean,
- style?: ?TextStyleProp,
- /**
- * Used to locate this view in end-to-end tests.
- *
- * See https://reactnative.dev/docs/text.html#testid
- */
- testID?: ?string,
- /**
- * Android Only
- */
- /**
- * Specifies the disabled state of the text view for testing purposes.
- *
- * See https://reactnative.dev/docs/text.html#disabled
- */
- disabled?: ?boolean,
- /**
- * The highlight color of the text.
- *
- * See https://reactnative.dev/docs/text.html#selectioncolor
- */
- selectionColor?: ?string,
- dataDetectorType?: ?('phoneNumber' | 'link' | 'email' | 'none' | 'all'),
- /**
- * Set text break strategy on Android.
- *
- * See https://reactnative.dev/docs/text.html#textbreakstrategy
- */
- textBreakStrategy?: ?('balanced' | 'highQuality' | 'simple'),
- /**
- * iOS Only
- */
- adjustsFontSizeToFit?: ?boolean,
- /**
- * Smallest possible scale a font can reach.
- *
- * See https://reactnative.dev/docs/text.html#minimumfontscale
- */
- minimumFontScale?: ?number,
- /**
- * When `true`, no visual change is made when text is pressed down.
- *
- * See https://reactnative.dev/docs/text.html#supperhighlighting
- */
- suppressHighlighting?: ?boolean,
- |}>;
|