react-native-web
Version:
React Native for Web
122 lines (116 loc) • 2.68 kB
JavaScript
/**
* Copyright (c) Nicolas Gallagher.
* 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
*/
import type { ColorValue, GenericStyleProp } from '../../types';
import type { ViewProps, ViewStyle } from '../View/types';
type FontWeightValue =
| 'normal'
| 'bold'
| '100'
| '200'
| '300'
| '400'
| '500'
| '600'
| '700'
| '800'
| '900';
type NumberOrString = number | string;
export type TextStyle = {
...ViewStyle,
color?: ?ColorValue,
fontFamily?: ?string,
fontFeatureSettings?: ?string,
fontSize?: ?NumberOrString,
fontStyle?: 'italic' | 'normal',
fontWeight?: ?FontWeightValue,
fontVariant?: $ReadOnlyArray<
| 'small-caps'
| 'oldstyle-nums'
| 'lining-nums'
| 'tabular-nums'
| 'proportional-nums'
>,
letterSpacing?: ?NumberOrString,
lineHeight?: ?NumberOrString,
textAlign?:
| 'center'
| 'end'
| 'inherit'
| 'justify'
| 'justify-all'
| 'left'
| 'right'
| 'start',
textDecorationColor?: ?ColorValue,
textDecorationLine?:
| 'none'
| 'underline'
| 'line-through'
| 'underline line-through',
textDecorationStyle?: 'solid' | 'double' | 'dotted' | 'dashed',
textIndent?: ?NumberOrString,
textOverflow?: ?string,
textRendering?:
| 'auto'
| 'geometricPrecision'
| 'optimizeLegibility'
| 'optimizeSpeed',
textShadow?: ?string,
textShadowColor?: ?ColorValue,
textShadowOffset?: {| width?: number, height?: number |},
textShadowRadius?: ?number,
textTransform?: 'capitalize' | 'lowercase' | 'none' | 'uppercase',
unicodeBidi?:
| 'normal'
| 'bidi-override'
| 'embed'
| 'isolate'
| 'isolate-override'
| 'plaintext',
userSelect?: 'none' | 'text',
verticalAlign?: ?string,
whiteSpace?: ?string,
wordBreak?: 'normal' | 'break-all' | 'break-word' | 'keep-all',
wordWrap?: ?string,
writingDirection?: 'auto' | 'ltr' | 'rtl',
/* @platform web */
MozOsxFontSmoothing?: ?string,
WebkitFontSmoothing?: ?string,
// deprecated
textAlignVertical?: ?string
};
export type TextProps = {
...ViewProps,
dir?: 'auto' | 'ltr' | 'rtl',
numberOfLines?: ?number,
role?:
| 'button'
| 'header'
| 'heading'
| 'label'
| 'link'
| 'listitem'
| 'none'
| 'text',
style?: GenericStyleProp<TextStyle>,
testID?: ?string,
// @deprecated
accessibilityRole?:
| 'button'
| 'header'
| 'heading'
| 'label'
| 'link'
| 'listitem'
| 'none'
| 'text',
onPress?: (e: any) => void,
selectable?: boolean
};