JGuang

Typography

Typography · Ant Design

Preview
npm install antd@6.6.5 @ant-design/icons@6.3.4 dayjs@1.11.23

Typography

Basic text writing, including headings, body text, lists, and more.

When To Use

  • When you need to display a title or paragraph contents in Articles/Blogs/Notes.
  • When you need copyable/editable/ellipsis texts.

Examples

  • Basic · basic

  • Title Component · title

  • Text and Link Component · text

  • Editable · editable

  • Copyable · copyable

  • Ellipsis · ellipsis

  • Controlled ellipsis expand/collapse · ellipsis-controlled

  • Ellipsis from middle · ellipsis-middle

  • suffix · suffix

  • Table · table

API

Common props ref:Common props

Typography.Text

PropertyDescriptionTypeDefaultVersionGlobal Config
actionsConfigure the operation baractions-6.4.0×
classNamesCustomize class for each semantic structure inside the component. Supports object or function.Record<SemanticDOM, string> | (info: { props })=> Record<SemanticDOM, string>-6.4.06.4.0
codeCode stylebooleanfalse×
copyableWhether to be copyable, customize it via setting an objectboolean | copyablefalse×
deleteDeleted line stylebooleanfalse×
disabledDisabled contentbooleanfalse×
editableIf editable. Can control edit state when is objectboolean | editablefalse×
ellipsisDisplay 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 manuallyboolean | Omit<ellipsis, 'expandable' | 'rows' | 'onExpand'>false×
italicItalic stylebooleanfalse4.16.0×
keyboardKeyboard stylebooleanfalse4.3.0×
markMarked stylebooleanfalse×
strongBold stylebooleanfalse×
stylesCustomize inline style for each semantic structure inside the component. Supports object or function.Record<SemanticDOM, CSSProperties> | (info: { props })=> Record<SemanticDOM, CSSProperties>-6.4.06.4.0
typeContent typesecondary | success | warning | danger-success: 4.6.0×
underlineUnderlined stylebooleanfalse×
onClickSet the handler to handle click event(event) => void-×

Typography.Title

PropertyDescriptionTypeDefaultVersionGlobal Config
actionsConfigure the operation baractions-6.4.0×
classNamesCustomize class for each semantic structure inside the component. Supports object or function.Record<SemanticDOM, string> | (info: { props })=> Record<SemanticDOM, string>-6.4.06.4.0
codeCode stylebooleanfalse×
copyableWhether to be copyable, customize it via setting an objectboolean | copyablefalse×
deleteDeleted line stylebooleanfalse×
disabledDisabled contentbooleanfalse×
editableIf editable. Can control edit state when is objectboolean | editablefalse×
ellipsisDisplay ellipsis when text overflows, can configure rows and expandable by using objectboolean | ellipsisfalse×
italicItalic stylebooleanfalse4.16.0×
levelSet content importance. Match with h1, h2, h3, h4, h5number: 1, 2, 3, 4, 515: 4.6.0×
markMarked stylebooleanfalse×
stylesCustomize inline style for each semantic structure inside the component. Supports object or function.Record<SemanticDOM, CSSProperties> | (info: { props })=> Record<SemanticDOM, CSSProperties>-6.4.06.4.0
typeContent typesecondary | success | warning | danger-success: 4.6.0×
underlineUnderlined stylebooleanfalse×
onClickSet the handler to handle click event(event) => void-×

Typography.Paragraph

PropertyDescriptionTypeDefaultVersionGlobal Config
actionsConfigure the operation baractions-6.4.0×
classNamesCustomize class for each semantic structure inside the component. Supports object or function.Record<SemanticDOM, string> | (info: { props })=> Record<SemanticDOM, string>-6.4.06.4.0
codeCode stylebooleanfalse×
copyableWhether to be copyable, customize it via setting an objectboolean | copyablefalse×
deleteDeleted line stylebooleanfalse×
disabledDisabled contentbooleanfalse×
editableIf editable. Can control edit state when is objectboolean | editablefalse×
ellipsisDisplay ellipsis when text overflows, can configure rows and expandable by using objectboolean | ellipsisfalse×
italicItalic stylebooleanfalse4.16.0×
markMarked stylebooleanfalse×
strongBold stylebooleanfalse×
stylesCustomize inline style for each semantic structure inside the component. Supports object or function.Record<SemanticDOM, CSSProperties> | (info: { props })=> Record<SemanticDOM, CSSProperties>-6.4.06.4.0
typeContent typesecondary | success | warning | danger-success: 4.6.0×
underlineUnderlined stylebooleanfalse×
onClickSet the handler to handle click event(event) => void-×

actions

{
  placement: 'start' | 'end',
}
PropertyDescriptionTypeDefaultVersion
placementSet the operation bar placement relative to the textstart | endend6.4.0

copyable

{
  text: string | (() => string | Promise<string>),
  onCopy: function(event),
  icon: ReactNode,
  tooltips: false | [ReactNode, ReactNode],
  format: 'text/plain' | 'text/html',
  tabIndex: number,
}
PropertyDescriptionTypeDefaultVersion
formatThe Mime Type of the text'text/plain' | 'text/html'-4.21.0
iconCustom copy icon: [copyIcon, copiedIcon][ReactNode, ReactNode]-4.6.0
tabIndexSet tabIndex of the copy buttonnumber05.17.0
textThe text to copystring-
tooltipsCustom tooltip text, hide when it is false[ReactNode, ReactNode][Copy, Copied]4.4.0
onCopyCalled when copied textfunction-

editable

{
  icon: ReactNode,
  tooltip: ReactNode,
  editing: boolean,
  maxLength: number,
  autoSize: boolean | { minRows: number, maxRows: number },
  text: string,
  onChange: function(string),
  onCancel: function,
  onStart: function,
  onEnd: function,
  triggerType: ('icon' | 'text')[],
  enterIcon: ReactNode,
  tabIndex: number,
}
PropertyDescriptionTypeDefaultVersion
autoSizeautoSize attribute of textareaboolean | { minRows: number, maxRows: number }-4.4.0
editingWhether to be editablebooleanfalse
enterIconCustom "enter" icon in the edit field (passing null removes the icon)ReactNode<EnterOutlined />4.17.0
iconCustom editable iconReactNode<EditOutlined />4.6.0
maxLengthmaxLength attribute of textareanumber-4.4.0
tabIndexSet tabIndex of the edit buttonnumber05.17.0
textEdit text, specify the editing content instead of using the children implicitlystring-4.24.0
tooltipCustom tooltip text, hide when it is falseReactNodeEdit4.6.0
triggerTypeEdit mode trigger - icon, text or both (not specifying icon as trigger hides it)Array<icon|text>[icon]
onCancelCalled when type ESC to exit editable statefunction-
onChangeCalled when editing is completedfunction(value: string)-
onEndCalled when type ENTER to exit editable statefunction-4.14.0
onStartCalled when enter editable statefunction-

ellipsis

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);
  tooltip: ReactNode | TooltipProps;
  /** 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;
}
PropertyDescriptionTypeDefaultVersion
defaultExpandedDefault expand or collapseboolean5.16.0
expandableWhether to be expandableboolean | 'collapsible'-collapsible: 5.16.0
expandedExpand or Collapseboolean5.16.0
rowsMax rows of contentnumber-
suffixSuffix of ellipsis contentstring-
symbolCustom description of ellipsisReactNode | ((expanded: boolean) => ReactNode)Expand Collapse
tooltipShow tooltip when ellipsisReactNode | TooltipProps-4.11.0
onEllipsisCalled when enter or leave ellipsis statefunction(ellipsis)-4.2.0
onExpandCalled when expand contentfunction(event, { expanded: boolean })-info: 5.16.0

Semantic DOM

Semantic nodeNative descriptionVersion
rootRoot element with base typography styles, layout, and positioning6.4.0
actionsActions element with layout and spacing styles for copy, edit, expand/collapse buttons6.4.0
actionIndividual action button element including copy, edit, expand, collapse button styles like padding, border radius, colors, etc.6.4.0
textareaTextArea element in editable mode, used to customize className and inline styles for the edit input6.4.0

Semantic description source: vendor/components/typography/demo/_semantic.tsx

Design Token

Types, inheritance and declarations retain the pinned native source. Defaults are computed by the native theme and may be overridden by ConfigProvider; this table does not invent static defaults.

TokenTypeNative description
titleMarginTopnumber | stringMargin top of title
titleMarginBottomnumber | stringMargin bottom of title

Declaration source: vendor/components/typography/style/index.ts

import type { CSSObject } from '@ant-design/cssinjs';

import { operationUnit } from '../../style';

import type { FullToken, GenerateStyle, GetDefaultToken } from '../../theme/internal';

import { genStyleHooks } from '../../theme/internal';

import {
  getCopyableStyles,
  getEditableStyles,
  getEllipsisStyles,
  getLinkStyles,
  getResetStyles,
  getTitleStyles,
} from './mixins';

/** Component only token. Which will handle additional calculation of alias token */
export interface ComponentToken {
  /**
   * @desc 标题上间距
   * @descEN Margin top of title
   */
  titleMarginTop: number | string;
  /**
   * @desc 标题下间距
   * @descEN Margin bottom of title
   */
  titleMarginBottom: number | string;
}

export type TypographyToken = FullToken<'Typography'>;

Shared native props

Tips: The following generic properties apply to most antd components; those not supported are described separately.

PropertyDescriptionTypeDefault
styleThe additional styleCSSProperties-
classNameThe additional css classstring-
rootClassNameClassName on the root elementstring-
autoFocusAuto focus when component mounted, only effective for focusable elements like forms, links, etc.booleanfalse

Install and reproduce an example

npm install antd@6.6.5 @ant-design/icons@6.3.4 dayjs@1.11.23

Use ConfigProvider and native App; configure dayjs locale separately. Each example lists its complete source files and additional pinned dependencies in View code. Example names select demos, not universal component props. See the resource setup guide for theme, locale and SSR.

Native type references

The source viewer includes unchanged native implementations and the following source declarations. Inherited types remain in their native packages. English source comments are preserved as code reference.

  • vendor/components/typography/Base/CopyBtn.tsx
  • vendor/components/typography/Base/Ellipsis.tsx
  • vendor/components/typography/Base/EllipsisTooltip.tsx
  • vendor/components/typography/Base/index.tsx
  • vendor/components/typography/Editable.tsx
  • vendor/components/typography/Link.tsx
  • vendor/components/typography/Paragraph.tsx
  • vendor/components/typography/Text.tsx
  • vendor/components/typography/Title.tsx
  • vendor/components/typography/Typography.tsx
  • vendor/components/typography/index.tsx
  • vendor/components/typography/style/index.ts

Source and license

https://github.com/ant-design/ant-design/tree/4a39f54842eade4e565ab336ef6097cd7e723cdd

Original bilingual prose and executable examples are retained. Website-only embeds and token tables are expanded locally. Ant Design is MIT; separately listed dependency notices also apply. Upload previews block outbound requests and do not provide a backend.