Blockquote
Semantic block quotation with optional <cite> attribution and an accent-tinted callout variant for pull quotes.
Renders a native <blockquote>; the optional attribution is wrapped in a <cite> so the source is announced as a citation.
Preview
tsx
import { Blockquote } from '@arshad-shah/cynosure-react';
export default function Example() {
return (
<Blockquote attribution="Ada Lovelace">
That brain of mine is something more than merely mortal, as time will show.
</Blockquote>
);
}
Variants
Section titled “Variants”default is a quiet quotation styled for long-form prose. callout swaps in the accent palette so pull quotes and testimonials carry more weight on the page.
Preview
tsx
import { Blockquote } from '@arshad-shah/cynosure-react';
export default function Example() {
return (
<div style={{ display: 'flex', flexDirection: 'column', gap: '1rem' }}>
<Blockquote variant="default" attribution="Grace Hopper">
The most damaging phrase in the language is, "We've always done it this way."
</Blockquote>
<Blockquote variant="callout" attribution="Donald Knuth">
Premature optimisation is the root of all evil.
</Blockquote>
</div>
);
}
Attribution
Section titled “Attribution”Pass any node to attribution to render a <cite> below the quote body — plain text, a link to the source, or richer markup all work.
Preview
tsx
import { Blockquote, Link } from '@arshad-shah/cynosure-react';
export default function Example() {
return (
<Blockquote
attribution={
<>
Tim Berners-Lee,{' '}
<Link href="https://www.w3.org/History/1989/proposal.html" external>
Information Management: A Proposal
</Link>
</>
}
>
The Web does not just connect machines, it connects people.
</Blockquote>
);
}
PropTypeDefaultDescription
attribution
ReactNode
—
Source attribution. Rendered inside a `<cite>` below the quote body.
variant
"default"|"callout"
"default"
Visual style — `default` is a quiet rule-flanked quote; `callout` picks
up the accent palette for pull-quote emphasis.
className
string
—
Additional class names appended after Cynosure's base classes.
style
CSSProperties
—
Inline style overrides merged last.
children
ReactNode
—
Quote body.
paddingX
—
Horizontal padding (left + right). Overrides `padding` on the X axis.
paddingY
—
Vertical padding (top + bottom). Overrides `padding` on the Y axis.
height
—
Element height. Accepts a `SpaceToken`, `LengthValue`, or named alias.
minWidth
—
Minimum width — useful for preventing flex children from collapsing.
background
—
Background colour. Use a `ColorToken` like `"bg.surface"` for theme awareness.
borderColor
—
Border colour. Pair with `borderWidth` to make the border visible.
opacity
Responsive<number | `${number}`>
—
Opacity 0–1. Use sparingly — prefer surface tokens over translucency.
overflowX
—
Horizontal-axis overflow control. Overrides `overflow` for the X axis.
display
—
CSS `display` value. `"contents"` removes the element's box from layout.
position
—
CSS `position`. Pair with `top`/`right`/`bottom`/`left` for placement.
top
—
Top inset (when positioned). Accepts a `SpaceToken`, `"auto"`, `"0"`, or `LengthValue`.
flex
Responsive<"1" | "none" | "auto" | "initial" | (string & {})>
—
Shorthand: `1 | auto | none | initial | <css>`. Resolves to `flex` on the child.
asChild
boolean
—
When `true`, renders the primitive's single React child via `Slot`,
forwarding className/style/ref/event handlers onto it.
Accessibility
Section titled “Accessibility”- Uses the semantic
<blockquote>element so assistive technologies announce the quoted passage as such. attributionis rendered inside<cite>so screen readers identify it as the source of the quote.- Decorative quotation marks (where the design adds them) sit in CSS — never rely on them to convey that the text is a quote; the
<blockquote>semantics carry that signal. - When citing a URL, use a
Linkinsideattributionso the source is keyboard reachable.
Recipes
Section titled “Recipes”- Place a
Headingdirectly above for testimonial sections, then theBlockquoteunderneath. - Use
variant="callout"for pull-quotes that should pop out of a long article. - Wrap a
Linkinsideattributionto link out to the original source. - Constrain the parent width on long pull-quotes so line length stays readable.