xref: /expo/docs/ui/components/Text/types.ts (revision f5b95f4b)
1import { theme, typography } from '@expo/styleguide';
2import { HTMLAttributes } from 'react';
3
4export enum TextElement {
5  CODE = 'code',
6  H1 = 'h1',
7  H2 = 'h2',
8  H3 = 'h3',
9  H4 = 'h4',
10  H5 = 'h5',
11  H6 = 'h6',
12  LI = 'li',
13  P = 'p',
14  SPAN = 'span',
15  UL = 'ul',
16  OL = 'ol',
17  PRE = 'pre',
18  STRONG = 'strong',
19  KBD = 'kbd',
20}
21
22export type TextWeight = keyof typeof typography.utility.weight;
23export type TextTheme = keyof typeof theme.text;
24
25export type TextComponentProps = HTMLAttributes<
26  HTMLHeadingElement | HTMLParagraphElement | HTMLLIElement | HTMLUListElement | HTMLPreElement
27> & {
28  testID?: string;
29  weight?: TextWeight;
30  theme?: TextTheme;
31  tag?: `${TextElement}`;
32  crawlable?: boolean;
33};
34