Quote
Semantic figure, blockquote and figcaption. Plain, card and large variants, with author, subtitle, avatar, lang, typewriter and textSwap.
Lithuania, my country, thou art like health; how much thou shouldst be prized only he can learn who has lost thee.
Born in slavery and chained in my swaddling bands, I have had but one such spring in my whole life.
O spring! Happy is he who beheld thee then in our country!
import { Avatar } from "@/components/ui/avatar";import { Quote } from "@/components/ui/quote";export function Testimonial() { return ( <Quote variant="card" author="Adam Mickiewicz" subtitle="Pan Tadeusz · tr. G. R. Noyes" avatar={<Avatar size="sm" alt="Adam Mickiewicz" />} typewriter > Lithuania, my country, thou art like health; how much thou shouldst be prized only he can learn who has lost thee. </Quote> );}<Quote>
Semantic quote: figure, blockquote and figcaption. Fades in on a spring when it scrolls into view. Supports typewriter and textSwap.
children*ReactNodeThe quoted text; plain strings work with
typewriter.authorstringWho said or wrote it.
avatarReactNodeAvatar slot, e.g. <Avatar size="sm" alt="Jane Doe" />.
langstringLanguage of the quoted text, e.g. "pl": correct screen-reader pronunciation and SEO.
subtitlestringSecondary line under the author, e.g. job title.
textSwapreadonly string[] | { items: readonly string[]; interval?: number | undefined; direction?: "down" | "fade" | "up" | undefined; }Cycles through an array of quotes with spring text swap transitions.
typewriterboolean | { speed?: number | undefined; delay?: number | undefined; cursor?: boolean | undefined; }Enables typewriter effect for string children, or pass custom speed/delay options.
variantdefault"plain""plain" | "card" | "large""plain" text, "card" surface, or "large" display text with an accent mark.
| Prop | Type | Default |
|---|---|---|
children*The quoted text; plain strings work with | ReactNode | — |
authorWho said or wrote it. | string | — |
avatarAvatar slot, e.g. <Avatar size="sm" alt="Jane Doe" />. | ReactNode | — |
langLanguage of the quoted text, e.g. "pl": correct screen-reader pronunciation and SEO. | string | — |
subtitleSecondary line under the author, e.g. job title. | string | — |
textSwapCycles through an array of quotes with spring text swap transitions. | readonly string[] | { items: readonly string[]; interval?: number | undefined; direction?: "down" | "fade" | "up" | undefined; } | — |
typewriterEnables typewriter effect for string children, or pass custom speed/delay options. | boolean | { speed?: number | undefined; delay?: number | undefined; cursor?: boolean | undefined; } | — |
variant"plain" text, "card" surface, or "large" display text with an accent mark. | "plain" | "card" | "large" | "plain" |
* required. Every component also takes className.