2019-02-19 11:42:05 +08:00
---
category: Components
2022-11-09 12:28:04 +08:00
group: General
2019-02-19 11:42:05 +08:00
title: Typography
2024-03-22 14:22:42 +08:00
description: Basic text writing, including headings, body text, lists, and more.
2022-11-30 20:14:41 +08:00
cover: https://mdn.alipayobjects.com/huamei_7uahnr/afts/img/A*MLt3R6m9huoAAAAAAAAAAAAADrJ8AQ/original
2023-02-09 22:17:31 +08:00
coverDark: https://mdn.alipayobjects.com/huamei_7uahnr/afts/img/A*LT2jR41Uj2EAAAAAAAAAAAAADrJ8AQ/original
2019-02-19 11:42:05 +08:00
---
## When To Use
2024-06-12 14:27:15 +08:00
- When you need to display a title or paragraph contents in Articles/Blogs/Notes.
2019-03-19 11:40:36 +08:00
- When you need copyable/editable/ellipsis texts.
2019-02-19 11:42:05 +08:00
2022-11-09 12:28:04 +08:00
## Examples
2022-11-17 17:31:26 +08:00
<!-- prettier - ignore -->
2022-11-09 12:28:04 +08:00
< code src = "./demo/basic.tsx" > Basic< / code >
< code src = "./demo/title.tsx" > Title Component< / code >
< code src = "./demo/paragraph-debug.tsx" debug > Title and Paragraph< / code >
< code src = "./demo/text.tsx" > Text and Link Component< / code >
2024-01-02 21:36:10 +08:00
< code src = "./demo/editable.tsx" > Editable< / code >
< code src = "./demo/copyable.tsx" > Copyable< / code >
2022-11-09 12:28:04 +08:00
< code src = "./demo/ellipsis.tsx" > Ellipsis< / code >
2024-03-20 11:39:03 +08:00
< code src = "./demo/ellipsis-controlled.tsx" version = "5.16.0" > Controlled ellipsis expand/collapse< / code >
2022-11-09 12:28:04 +08:00
< code src = "./demo/ellipsis-middle.tsx" > Ellipsis from middle< / code >
< code src = "./demo/ellipsis-debug.tsx" debug > Ellipsis Debug< / code >
< code src = "./demo/suffix.tsx" > suffix< / code >
2023-05-19 09:46:15 +08:00
< code src = "./demo/componentToken-debug.tsx" debug > Component Token< / code >
2022-11-09 12:28:04 +08:00
2019-02-19 11:42:05 +08:00
## API
2023-08-08 18:27:48 +08:00
Common props ref: [Common props](/docs/react/common-props)
2019-02-19 11:42:05 +08:00
### Typography.Text
2022-11-17 17:31:26 +08:00
| Property | Description | Type | Default | Version |
| --- | --- | --- | --- | --- |
| code | Code style | boolean | false | |
| copyable | Whether to be copyable, customize it via setting an object | boolean \| [copyable ](#copyable ) | false | [copyable ](#copyable ) |
| delete | Deleted line style | boolean | false | |
| disabled | Disabled content | boolean | false | |
| editable | If editable. Can control edit state when is object | boolean \| [editable ](#editable ) | false | [editable ](#editable ) |
2023-09-01 23:39:56 +08:00
| ellipsis | Display ellipsis when text overflows, can't configure expandable、rows and onExpand by using object. Diff with Typography.Paragraph, Text do not have 100% width style which means it will fix width on the first ellipsis. If you want to have responsive ellipsis, please set width manually | boolean \| [Omit<ellipsis, 'expandable' \| 'rows' \| 'onExpand'> ](#ellipsis ) | false | [ellipsis ](#ellipsis ) |
2022-11-17 17:31:26 +08:00
| keyboard | Keyboard style | boolean | false | 4.3.0 |
| mark | Marked style | boolean | false | |
| onClick | Set the handler to handle click event | (event) => void | - | |
| strong | Bold style | boolean | false | |
| italic | Italic style | boolean | false | 4.16.0 |
| type | Content type | `secondary` \| `success` \| `warning` \| `danger` | - | success: 4.6.0 |
| underline | Underlined style | boolean | false | |
2019-02-19 11:42:05 +08:00
### Typography.Title
2022-11-17 17:31:26 +08:00
| Property | Description | Type | Default | Version |
| --- | --- | --- | --- | --- |
| code | Code style | boolean | false | |
| copyable | Whether to be copyable, customize it via setting an object | boolean \| [copyable ](#copyable ) | false | [copyable ](#copyable ) |
| delete | Deleted line style | boolean | false | |
| disabled | Disabled content | boolean | false | |
| editable | If editable. Can control edit state when is object | boolean \| [editable ](#editable ) | false | [editable ](#editable ) |
| ellipsis | Display ellipsis when text overflows, can configure rows and expandable by using object | boolean \| [ellipsis ](#ellipsis ) | false | [ellipsis ](#ellipsis ) |
| level | Set content importance. Match with `h1` , `h2` , `h3` , `h4` , `h5` | number: 1, 2, 3, 4, 5 | 1 | 5: 4.6.0 |
| mark | Marked style | boolean | false | |
| onClick | Set the handler to handle click event | (event) => void | - | |
| italic | Italic style | boolean | false | 4.16.0 |
| type | Content type | `secondary` \| `success` \| `warning` \| `danger` | - | success: 4.6.0 |
| underline | Underlined style | boolean | false | |
2019-02-19 11:42:05 +08:00
### Typography.Paragraph
2022-11-17 17:31:26 +08:00
| Property | Description | Type | Default | Version |
| --- | --- | --- | --- | --- |
| code | Code style | boolean | false | |
| copyable | Whether to be copyable, customize it via setting an object | boolean \| [copyable ](#copyable ) | false | [copyable ](#copyable ) |
| delete | Deleted line style | boolean | false | |
| disabled | Disabled content | boolean | false | |
| editable | If editable. Can control edit state when is object | boolean \| [editable ](#editable ) | false | [editable ](#editable ) |
| ellipsis | Display ellipsis when text overflows, can configure rows and expandable by using object | boolean \| [ellipsis ](#ellipsis ) | false | [ellipsis ](#ellipsis ) |
| mark | Marked style | boolean | false | |
| onClick | Set the handler to handle click event | (event) => void | - | |
| strong | Bold style | boolean | false | |
| italic | Italic style | boolean | false | 4.16.0 |
| type | Content type | `secondary` \| `success` \| `warning` \| `danger` | - | success: 4.6.0 |
| underline | Underlined style | boolean | false | |
2020-05-11 14:28:57 +08:00
2020-08-09 12:56:35 +08:00
### copyable
2020-10-21 10:33:43 +08:00
{
2024-03-29 13:20:02 +08:00
text: string | (() => string | Promise< string > ),
2022-03-22 16:52:44 +08:00
onCopy: function(event),
2020-10-21 10:33:43 +08:00
icon: ReactNode,
tooltips: false | [ReactNode, ReactNode],
2022-04-25 09:49:48 +08:00
format: 'text/plain' | 'text/html',
2024-04-24 18:06:38 +08:00
tabIndex: number,
2020-10-21 10:33:43 +08:00
}
2020-08-09 12:56:35 +08:00
2022-11-17 17:31:26 +08:00
| Property | Description | Type | Default | Version |
| --- | --- | --- | --- | --- |
| format | The Mime Type of the text | 'text/plain' \| 'text/html' | - | 4.21.0 |
| icon | Custom copy icon: \[copyIcon, copiedIcon] | \[ReactNode, ReactNode] | - | 4.6.0 |
| text | The text to copy | string | - | |
| tooltips | Custom tooltip text, hide when it is false | \[ReactNode, ReactNode] | \[`Copy` , `Copied` ] | 4.4.0 |
| onCopy | Called when copied text | function | - | |
2024-04-24 18:06:38 +08:00
| tabIndex | Set tabIndex of the copy button | number | 0 | 5.17.0 |
2020-08-09 12:56:35 +08:00
### editable
2020-10-21 10:33:43 +08:00
{
icon: ReactNode,
2024-07-11 10:02:24 +08:00
tooltip: ReactNode,
2020-10-21 10:33:43 +08:00
editing: boolean,
maxLength: number,
autoSize: boolean | { minRows: number, maxRows: number },
2022-10-17 17:00:33 +08:00
text: string,
2020-10-21 10:33:43 +08:00
onChange: function(string),
2021-03-13 23:46:32 +08:00
onCancel: function,
2022-10-17 17:00:33 +08:00
onStart: function,
2021-03-13 23:46:32 +08:00
onEnd: function,
2021-09-23 22:14:43 +08:00
triggerType: ('icon' | 'text')[],
2021-09-22 21:54:27 +08:00
enterIcon: ReactNode,
2024-04-24 18:06:38 +08:00
tabIndex: number,
2020-10-21 10:33:43 +08:00
}
2020-08-10 10:44:16 +08:00
2022-11-17 17:31:26 +08:00
| Property | Description | Type | Default | Version |
| --- | --- | --- | --- | --- |
| autoSize | `autoSize` attribute of textarea | boolean \| { minRows: number, maxRows: number } | - | 4.4.0 |
| editing | Whether to be editable | boolean | false | |
| icon | Custom editable icon | ReactNode | < EditOutlined /> | 4.6.0 |
| maxLength | `maxLength` attribute of textarea | number | - | 4.4.0 |
2024-02-01 10:36:21 +08:00
| tooltip | Custom tooltip text, hide when it is false | ReactNode | `Edit` | 4.6.0 |
2022-11-17 17:31:26 +08:00
| text | Edit text, specify the editing content instead of using the children implicitly | string | - | 4.24.0 |
| onChange | Called when input at textarea | function(value: string) | - | |
| onCancel | Called when type ESC to exit editable state | function | - | |
| onStart | Called when enter editable state | function | - | |
| onEnd | Called when type ENTER to exit editable state | function | - | 4.14.0 |
| triggerType | Edit mode trigger - icon, text or both (not specifying icon as trigger hides it) | Array< `icon`\|`text` > | \[`icon` ] | |
| enterIcon | Custom "enter" icon in the edit field (passing `null` removes the icon) | ReactNode | `<EnterOutlined />` | 4.17.0 |
2024-04-24 18:06:38 +08:00
| tabIndex | Set tabIndex of the edit button | number | 0 | 5.17.0 |
2021-07-22 15:03:29 +08:00
2020-08-10 10:44:16 +08:00
### ellipsis
2020-08-09 12:56:35 +08:00
2024-03-20 11:39:03 +08:00
```tsx
interface EllipsisConfig {
rows: number;
/** `collapsible` added in `5.16.0` */
expandable: boolean | 'collapsible';
suffix: string;
/** render function added in `5.16.0` */
symbol: ReactNode | ((expanded: boolean) => ReactNode);
2024-07-11 10:02:24 +08:00
tooltip: ReactNode | TooltipProps;
2024-03-20 11:39:03 +08:00
/** added in `5.16.0` */
defaultExpanded: boolean;
/** added in `5.16.0` */
expanded: boolean;
/** `info` added in `5.16.0` */
onExpand: (event: MouseEvent, info: { expanded: boolean }) => void;
onEllipsis: (ellipsis: boolean) => void;
}
```
2020-08-09 12:56:35 +08:00
2022-11-17 17:31:26 +08:00
| Property | Description | Type | Default | Version |
| --- | --- | --- | --- | --- |
2024-03-20 11:39:03 +08:00
| expandable | Whether to be expandable | boolean \| 'collapsible' | - | `collapsible` : 5.16.0 |
2022-11-17 17:31:26 +08:00
| rows | Max rows of content | number | - | |
| suffix | Suffix of ellipsis content | string | - | |
2024-03-20 11:39:03 +08:00
| symbol | Custom description of ellipsis | ReactNode \| ((expanded: boolean) => ReactNode) | `Expand` `Collapse` | |
2024-02-01 10:36:21 +08:00
| tooltip | Show tooltip when ellipsis | ReactNode \| [TooltipProps ](/components/tooltip/#api ) | - | 4.11.0 |
2024-03-20 11:39:03 +08:00
| defaultExpanded | Default expand or collapse | boolean | | 5.16.0 |
| expanded | Expand or Collapse | boolean | | 5.16.0 |
2022-11-17 17:31:26 +08:00
| onEllipsis | Called when enter or leave ellipsis state | function(ellipsis) | - | 4.2.0 |
2024-03-20 11:39:03 +08:00
| onExpand | Called when expand content | function(event, { expanded: boolean }) | - | `info` : 5.16.0 |
2020-08-09 12:56:35 +08:00
2023-03-27 15:33:22 +08:00
## Design Token
< ComponentTokenTable component = "Typography" > < / ComponentTokenTable >
2020-05-11 14:28:57 +08:00
## FAQ
### How to use Typography.Link in react-router?
`react-router` support [customize ](https://github.com/ReactTraining/react-router/blob/master/packages/react-router-dom/docs/api/Link.md#component-reactcomponent ) render component:
```tsx
< Link to = "/" component = {Typography.Link} / >
```
2022-01-19 19:05:25 +08:00
**Note: ** This is not equivalent to the execution logic of react-router's Link [reference ](https://github.com/ant-design/ant-design/pull/26737/files#r488769888 )