Browse headings, body copy, lists, quotations, inline emphasis, and code blocks from one hub. Each section demonstrates variants, formatting combinations, and snippets you can paste into App Router pages. Explore scale tokens, presets, semantic inline emphasis and accessible labels.
Browse sections
Pick a topic to view variants, formatting, combinations, and snippets.
attributionAttribution label; distinct from the native cite URL attribute.
string | undefined
none
Inherited HTML props
Prop
Type
Default
children
ReactNode
none
className
string | undefined
none
id
string | undefined
none
onClick
MouseEventHandler<HTMLQuoteElement> | undefined
none
refAllows getting a ref to the component instance.
Once the component unmounts, React will set `ref.current` to `null`
(or call the ref with `null` if you passed a callback ref).
refAllows getting a ref to the component instance.
Once the component unmounts, React will set `ref.current` to `null`
(or call the ref with `null` if you passed a callback ref).
refAllows getting a ref to the component instance.
Once the component unmounts, React will set `ref.current` to `null`
(or call the ref with `null` if you passed a callback ref).
Ref<HTMLDListElement> | undefined
none
rel
string | undefined
none
style
CSSProperties | undefined
none
title
string | undefined
none
DescriptionListDetails
DescriptionListDetailsProps
Inherited HTML props
Prop
Type
Default
children
ReactNode
none
className
string | undefined
none
id
string | undefined
none
onClick
MouseEventHandler<HTMLElement> | undefined
none
refAllows getting a ref to the component instance.
Once the component unmounts, React will set `ref.current` to `null`
(or call the ref with `null` if you passed a callback ref).
Ref<HTMLElement> | undefined
none
rel
string | undefined
none
style
CSSProperties | undefined
none
title
string | undefined
none
DescriptionListItem
DescriptionListItemProps
Inherited HTML props
Prop
Type
Default
children
ReactNode
none
className
string | undefined
none
id
string | undefined
none
onClick
MouseEventHandler<HTMLDivElement> | undefined
none
refAllows getting a ref to the component instance.
Once the component unmounts, React will set `ref.current` to `null`
(or call the ref with `null` if you passed a callback ref).
Ref<HTMLDivElement> | undefined
none
rel
string | undefined
none
style
CSSProperties | undefined
none
title
string | undefined
none
DescriptionListTerm
DescriptionListTermProps
Inherited HTML props
Prop
Type
Default
children
ReactNode
none
className
string | undefined
none
id
string | undefined
none
onClick
MouseEventHandler<HTMLElement> | undefined
none
refAllows getting a ref to the component instance.
Once the component unmounts, React will set `ref.current` to `null`
(or call the ref with `null` if you passed a callback ref).
refAllows getting a ref to the component instance.
Once the component unmounts, React will set `ref.current` to `null`
(or call the ref with `null` if you passed a callback ref).
Ref<HTMLElement> | undefined
none
rel
string | undefined
none
style
CSSProperties | undefined
none
title
string | undefined
none
ExpandableText
ExpandableTextProps
Behavior
Prop
Type
Default
buttonClassName
string | undefined
none
contentClassName
string | undefined
none
contentId
string | undefined
none
defaultExpanded
boolean | undefined
none
expanded
boolean | undefined
none
lessLabel
string | undefined
none
lines
number | undefined
none
moreLabel
string | undefined
none
onExpandedChange
((expanded: boolean) => void) | undefined
none
showToggleAlways exposes the control when layout measurement is unavailable.
'overflow' | 'always' | undefined
none
text*
string
none
Inherited HTML props
Prop
Type
Default
className
string | undefined
none
id
string | undefined
none
onClick
MouseEventHandler<HTMLDivElement> | undefined
none
refAllows getting a ref to the component instance.
Once the component unmounts, React will set `ref.current` to `null`
(or call the ref with `null` if you passed a callback ref).
Ref<HTMLDivElement> | undefined
none
rel
string | undefined
none
style
CSSProperties | undefined
none
title
string | undefined
none
FootnoteBacklink
FootnoteBacklinkProps
Behavior
Prop
Type
Default
label*
string
none
noteId*
string
none
referenceId*
string
none
Inherited HTML props
Prop
Type
Default
children
ReactNode
none
className
string | undefined
none
download
any
none
id
string | undefined
none
onClick
MouseEventHandler<HTMLAnchorElement> | undefined
none
refAllows getting a ref to the component instance.
Once the component unmounts, React will set `ref.current` to `null`
(or call the ref with `null` if you passed a callback ref).
Ref<HTMLAnchorElement> | undefined
none
referrerPolicy
HTMLAttributeReferrerPolicy | undefined
none
rel
string | undefined
none
style
CSSProperties | undefined
none
target
HTMLAttributeAnchorTarget | undefined
none
title
string | undefined
none
FootnoteItem
FootnoteItemProps
Behavior
Prop
Type
Default
noteId*
string
none
number*
number
none
Inherited HTML props
Prop
Type
Default
children
ReactNode
none
className
string | undefined
none
onClick
MouseEventHandler<HTMLLIElement> | undefined
none
refAllows getting a ref to the component instance.
Once the component unmounts, React will set `ref.current` to `null`
(or call the ref with `null` if you passed a callback ref).
Ref<HTMLLIElement> | undefined
none
rel
string | undefined
none
style
CSSProperties | undefined
none
title
string | undefined
none
FootnoteReference
FootnoteReferenceProps
Behavior
Prop
Type
Default
noteId*
string
none
number*
number
none
referenceId*
string
none
Inherited HTML props
Prop
Type
Default
className
string | undefined
none
download
any
none
onClick
MouseEventHandler<HTMLAnchorElement> | undefined
none
refAllows getting a ref to the component instance.
Once the component unmounts, React will set `ref.current` to `null`
(or call the ref with `null` if you passed a callback ref).
Ref<HTMLAnchorElement> | undefined
none
referrerPolicy
HTMLAttributeReferrerPolicy | undefined
none
rel
string | undefined
none
style
CSSProperties | undefined
none
target
HTMLAttributeAnchorTarget | undefined
none
title
string | undefined
none
Footnotes
FootnotesProps
Behavior
Prop
Type
Default
scopeId
string | undefined
none
Inherited HTML props
Prop
Type
Default
children
ReactNode
none
className
string | undefined
none
id
string | undefined
none
onClick
MouseEventHandler<HTMLDivElement> | undefined
none
refAllows getting a ref to the component instance.
Once the component unmounts, React will set `ref.current` to `null`
(or call the ref with `null` if you passed a callback ref).
Ref<HTMLDivElement> | undefined
none
rel
string | undefined
none
style
CSSProperties | undefined
none
title
string | undefined
none
FootnotesList
FootnotesListProps
Inherited HTML props
Prop
Type
Default
children
ReactNode
none
className
string | undefined
none
id
string | undefined
none
onClick
MouseEventHandler<HTMLOListElement> | undefined
none
refAllows getting a ref to the component instance.
Once the component unmounts, React will set `ref.current` to `null`
(or call the ref with `null` if you passed a callback ref).
scaleFluid sizing is opt-in; default retains the existing responsive scale.
'default' | 'fluid' | undefined
none
strikethrough
boolean | undefined
none
underline
boolean | undefined
none
Inherited HTML props
Prop
Type
Default
children
ReactNode
none
className
string | undefined
none
id
string | undefined
none
onClick
MouseEventHandler<HTMLHeadingElement> | undefined
none
refAllows getting a ref to the component instance.
Once the component unmounts, React will set `ref.current` to `null`
(or call the ref with `null` if you passed a callback ref).
Ref<HTMLHeadingElement> | undefined
none
rel
string | undefined
none
style
CSSProperties | undefined
none
title
string | undefined
none
HighlightText
HighlightTextProps
Behavior
Prop
Type
Default
caseSensitiveUnicode simple case folding, without locale or accent normalization.
boolean | undefined
none
markClassName
string | undefined
none
query*
string | readonly string[]
none
text*
string
none
Inherited HTML props
Prop
Type
Default
className
string | undefined
none
id
string | undefined
none
onClick
MouseEventHandler<HTMLSpanElement> | undefined
none
refAllows getting a ref to the component instance.
Once the component unmounts, React will set `ref.current` to `null`
(or call the ref with `null` if you passed a callback ref).
refAllows getting a ref to the component instance.
Once the component unmounts, React will set `ref.current` to `null`
(or call the ref with `null` if you passed a callback ref).
refAllows getting a ref to the component instance.
Once the component unmounts, React will set `ref.current` to `null`
(or call the ref with `null` if you passed a callback ref).
refAllows getting a ref to the component instance.
Once the component unmounts, React will set `ref.current` to `null`
(or call the ref with `null` if you passed a callback ref).
Ref<HTMLLIElement> | undefined
none
rel
string | undefined
none
style
CSSProperties | undefined
none
title
string | undefined
none
Mark
MarkProps
Inherited HTML props
Prop
Type
Default
children
ReactNode
none
className
string | undefined
none
id
string | undefined
none
onClick
MouseEventHandler<HTMLElement> | undefined
none
refAllows getting a ref to the component instance.
Once the component unmounts, React will set `ref.current` to `null`
(or call the ref with `null` if you passed a callback ref).
refAllows getting a ref to the component instance.
Once the component unmounts, React will set `ref.current` to `null`
(or call the ref with `null` if you passed a callback ref).
refAllows getting a ref to the component instance.
Once the component unmounts, React will set `ref.current` to `null`
(or call the ref with `null` if you passed a callback ref).
refAllows getting a ref to the component instance.
Once the component unmounts, React will set `ref.current` to `null`
(or call the ref with `null` if you passed a callback ref).
refAllows getting a ref to the component instance.
Once the component unmounts, React will set `ref.current` to `null`
(or call the ref with `null` if you passed a callback ref).
refAllows getting a ref to the component instance.
Once the component unmounts, React will set `ref.current` to `null`
(or call the ref with `null` if you passed a callback ref).
externalIndicatorDecorative external-link marker; does not change target or accessible name.
boolean | undefined
none
Inherited HTML props
Prop
Type
Default
children
ReactNode
none
className
string | undefined
none
download
any
none
href
string | undefined
none
id
string | undefined
none
onClick
MouseEventHandler<HTMLAnchorElement> | undefined
none
refAllows getting a ref to the component instance.
Once the component unmounts, React will set `ref.current` to `null`
(or call the ref with `null` if you passed a callback ref).
refAllows getting a ref to the component instance.
Once the component unmounts, React will set `ref.current` to `null`
(or call the ref with `null` if you passed a callback ref).
refAllows getting a ref to the component instance.
Once the component unmounts, React will set `ref.current` to `null`
(or call the ref with `null` if you passed a callback ref).
Override colors, fonts, scale, leading, tracking, measures and rhythm on :root, a theme selector, or a typography wrapper. Dark metric tokens inherit their light overrides when omitted. An initial font, weight or tracking variable leaves the computed property inherited. Private --_zui-type-* properties are implementation details.
Provides Heading, Text, List, Blockquote, InlineCode, CodeBlock, Strong, Emphasis, Small and VisuallyHidden. Fonts, type scale, leading and tracking use paired CSS variable tokens.
Sections
Marketing pages with consistent heading scale.
Documentation sites with lists and block quotes.
Dashboard copy with muted secondary lines.
Inline code and fenced samples without bespoke CSS.
Composition and API
Prefer small primitives over prop-heavy wrappers.
Compose bold, italic, underline, and strikethrough via booleans on Heading and Text.
Accessibility
Reserve headings for titles and sections.
Keep contrast sufficient for muted tones against your background; validate blockquotes with readable citations.
Next.js integration notes
Import from `@zentauri-ui/zentauri-components/ui/typography`.
Set NEXT_PUBLIC_SITE_URL so canonical metadata resolves on deploy.
FAQ
Does Typography work with Next.js App Router?
Yes. Primitives are plain React components; use them in server components unless you wrap interactive playgrounds that rely on client hooks.
Can I override styles with Tailwind?
Pass className to merge utilities; tones map to semantic Tailwind text colors aligned with the rest of Zentauri UI.
How do I choose heading levels for accessibility?
Match Heading level to document outline: one h1 per page where appropriate, then descend without skipping ranks inside each region.