Basic · Typography
Typography
The basic format of text, images, paragraphs, and numeric.
When to Use
- To display the text content of articles, blogs, logs, etc.
- To take basic operations such as copying and omitting text.
Demos
How to import
Title
Use
heading
to set different levels of headint title.Text
Text component has different built-in styles. You could also pass
icon
to use the build-in styles for icon. Different from passing icon to children, using icon
for link will have no underline in compliance with Semi Design principles.You could pass object to
link
, which will be mounted on <a>
.Paragraph
Paragraph component has two spacings. You could set
spacing='extended'
for a looser spacing.Numeral
Based on Text component, added properties:
rule
, precision
, truncate
, parser
, to provide the ability to handle Numeral in text separately.precision
allows you to set the number of decimal places to be retained, used to set precisiontruncate
The truncation of the number of decimal places, optionally ceil
, floor
, round
, aligned with Math.ceil, Math.floor, Math.roundrule
for setting the parsing rules- set to
percentages
to automatically convert numbers to percentages - set to
bytes-decimal
to automatically convert numbers to bytes, 1 KB is defined as 1000 bytes, (B, KB, MB, GB, TB, PB, EB, ZB, YB) - Set to
bytes-binary
automatically converts the number to the unit of display corresponding to bytes, 1 KiB is defined as equal to 1024 bytes, (B, KiB, MiB, GiB, TiB, PiB, EiB, ZiB, YiB) - When set to
text
, Automatic rounding of numbers only, based on theprecision
andtruncate
attributes - When set to
numbers
, non-numeric characters will be filtered and only numbers will be displayed - When set to
exponential
, numbers are automatically converted to scientific notation
Parsing rules can be customised via
parser
.Size
Paragraph and Text component support two sizes,
small
(12px) and normal
(14px). By default it is set to normal
。When the paragraph component or text component are used nested, set the
size
property of the inner component to inherit
, and the size of the inner component will inherit the size setting of the outer component.Copyable text
Copying of text can be supported by configuring the
When copyable is configured as true, the default copied content is children itself. Note that at this time, children only support string type.
When copyable is configured as object, you can specify the content copied to the clipboard through
At this time, children will no longer limit the type, but
You can use the
copyable
property.When copyable is configured as true, the default copied content is children itself. Note that at this time, children only support string type.
When copyable is configured as object, you can specify the content copied to the clipboard through
copyable.content
, which is no longer strongly associated with children.At this time, children will no longer limit the type, but
copyable.content
still needs to be a string.You can use the
copyable.render
attribute to customize the copyable button render.Ellipsis
Show ellipsis if text is overflowed. Refer to Ellipsis Config for detailed configuration.
API Reference
Typography.Text
Properties | Instructions | type | Default | version |
---|---|---|---|---|
copyable | Toggle whether to be copyable | boolean | object:Copyable Config | false | |
code | wrap with code element | boolean | - | |
component | Custom rendering html element | html element | span | |
delete | Deleted style | boolean | false | |
disabled | Disabled style | boolean | false | |
ellipsis | Display ellipsis when text overflows | boolean|object:Ellipsis Config | false | |
icon | Prefix icon. | ReactNode | - | |
link | Toggle whether to display as a link. When passing object, the attributes will be transparently passed to the a tag | boolean|object | false | |
mark | Marked style | boolean | false | |
size | Size, one of normal , small , inherit | string | normal | |
strong | Bold style | boolean | false | |
type | Type, one of primary , secondary , warning , danger , tertiary (v>=1.2.0) , quaternary (v>=1.2.0), success (v>=1.7.0) | string | primary | |
underline | Underlined style | boolean | false | |
weight | set font weight | number | 2.34.0 |
Typography.Title
Properties | Instructions | type | Default | version |
---|---|---|---|---|
copyable | Toggle whether to be copyable | boolean | object:Copyable Config | false | |
component | Custom rendering html element. The default is determined by heading prop | html element | h1~h6 | |
delete | Deleted style | boolean | false | |
disabled | Disabled style | boolean | false | |
ellipsis | Display ellipsis when text overflows | boolean|object:Ellipsis Config | false | |
heading | Heading level, one of 1, 2, 3,4,5,6 | number | 1 | |
link | Toggle whether to display as a link. When passing object, the attributes will be transparently passed to the a tag | boolean|object | false | |
mark | Marked style | boolean | false | |
type | Type, one of primary , secondary , warning , danger , tertiary (v>=1.2.0), quaternary (v>=1.2.0), success (v>=1.7.0) | string | primary | |
underline | Underlined style | boolean | false | |
weight | set font weight, one of light , regular , medium , semibold , bold , default | string, number | 2.34.0 |
Typography.Paragraph
Properties | Instructions | type | Default | version |
---|---|---|---|---|
copyable | Toggle whether to be copyable | boolean | object:Copyable Config | false | |
component | Custom rendering html element | html element | p | |
delete | Deleted style | boolean | false | |
disabled | Disabled style | boolean | false | |
ellipsis | Display ellipsis when text overflows | boolean|object:Ellipsis Config | false | |
link | Toggle whether to display as a link. When passing object, the attributes will be transparently passed to the a tag | boolean|object | false | |
mark | Marked style | boolean | false | |
size | Size, one of normal ,small | string | normal | |
spacing | paragraph spacing, one of normal , extended | string | normal | |
strong | Bold style | boolean | false | |
type | Type, one of primary , secondary , warning , danger , tertiary (v>=1.2.0), quaternary (v>=1.2.0), success (v>=1.7.0) | string | primary | |
underline | Underlined style | boolean | false |
Typography.Numeral
Properties | Instructions | type | Default | version |
---|---|---|---|---|
rule | Parsing rules, one of text , numbers , bytes-decimal , bytes-binary , percentages , currency , exponential | string | text | 2.22.0 |
precision | allows you to set the number of decimal places to be retained, used to set precision | number | 0 | 2.22.0 |
truncate | The truncation of the number of decimal places, optionally ceil , floor , round , aligned with Math.ceil, Math.floor, Math.round | string | round | 2.22.0 |
parser | Custom numeral parsing functions | (str: string) => string | - | 2.22.0 |
copyable | Toggle whether to be copyable | boolean | object:Copyable Config | false | 2.22.0 |
code | wrap with code element | boolean | - | 2.22.0 |
component | Custom rendering html element | html element | span | 2.22.0 |
delete | Deleted style | boolean | false | 2.22.0 |
disabled | Disabled style | boolean | false | 2.22.0 |
ellipsis | Display ellipsis when text overflows | boolean | object:Ellipsis Config | false | 2.22.0 |
icon | Prefix icon. | ReactNode | - | 2.22.0 |
link | Toggle whether to display as a link. When passing object, the attributes will be transparently passed to the a tag | boolean | object | false | 2.22.0 |
mark | Marked style | boolean | false | 2.22.0 |
size | Size, one of normal ,small | string | normal | 2.22.0 |
strong | Bold style | boolean | false | 2.22.0 |
type | Type, one of primary , secondary , warning , danger , tertiary (v>=1.2.0) , quaternary (v>=1.2.0), success (v>=1.7.0) | string | primary | 2.22.0 |
underline | Underlined style | boolean | false | 2.22.0 |
Ellipsis Config
Properties | Instructions | type | Default |
---|---|---|---|
collapseText | Displayed text to collapse | string | Collapse |
collapsible | Toggle whether text is collapsible | boolean | false |
expandText | Displayed text to expand | string | Expand |
expandable | Toggle whether text is expandable | boolean | false |
pos | Position to start ellipsis, one of end , middle | string | end |
rows | Number of rows that should not be truncated | number | 1 |
showTooltip | Toggle whether to show tooltip, if passed in as object: type,type of component to show tooltip, one of Tooltip , Popover ; opts, properties that will be passed directly to the component; renderTooltip, custom rendering popup layer component | boolean|{type: 'tooltip'|'popover', opts: object, renderTooltip: ((content: ReactNode, children: ReactNode)) => ReactNode} | false |
suffix | Text suffix that will not be truncated | string | - |
onExpand | Callback when expand or collapse | function(expanded: bool, Event: e) | - |
Copyable Config
Properties | Instructions | Type | Default | Version |
---|---|---|---|---|
content | Copied content | string | - | |
copyTip | Tooltip content when hovering over icon | React.node | - | |
icon | Custom render duplicate node | React.node | - | 2.31.0 |
onCopy | Callback for copy action | Function(e:Event, content:string, res:boolean) | - | |
render | Custom render copy node | function(copied, doCopy, configs) | - | 2.65.0 |
successTip | Successful tip content | React.node | - |
Content Guidelines
- Link
- Text links need to be clear and predictable, users should be able to predict what will happen when they click on the link
- Do not mislead users by mislabeling links
- Avoid using "Click here" or "Here" as stand-alone links
✅ Recommended usage | ❌ Deprecated usage |
---|---|
No spaces yet? Create space | No spaces yet? Click here |
- Avoid using entire sentences as clickable text links, and instead use text that describes where to go as the link content
✅ Recommended usage | ❌ Deprecated usage |
---|---|
Views user documentation for details | View user documentation for details |
- Using short terms or words as link text is more conducive to internationalization, to avoid the problem of link text being split due to different grammar and word order in different languages
✅ Recommended usage | ❌ Deprecated usage |
---|---|
Manage notifications to | Manage notifications to |
- When ending with a text link, there is no need to follow punctuation, except for the question mark "?"
✅ Recommended usage | ❌ Deprecated usage |
---|---|
No spaces yet? Create space | No spaces yet? Click here |
Forgot password ? | Forgot password |
- Link text does not contain the articles "the, a, an"
✅ Recommended usage | ❌ Deprecated usage |
---|---|
View user documentation for details | View the user documentation for details |
Design Tokens
FAQ
- What are the specific mechanism and precautions of Typography ellipsis?Semi ellipsis has two strategies, CSS ellipsis and JS ellipsis. When setting middle truncation (pos='middle')、 expandable、 suffix is not empty string、copyable, the JS ellipsis strategy is enabled. Otherwise, enable the CSS ellipsis strategy.In general CSS truncation performance is better than JS truncation. when the children and container size remain unchanged, CSS truncation only involves 1~2 calculations, while js truncation is based on dichotomy and may require multiple calculations.Pay attention to performance consumption when using a large number of Typography with ellipsis. For example, in Table, you can reduce performance loss by setting a reasonable pageSize for paging.