Docs
Installation
A real shadcn registry command, not a copy-paste stand-in: it fetches this block plus its avatar, avatar-initials dependencies and any missing npm packages, and installs them straight into your project.
npx shadcn add https://staaarter.com/r/case-study-long-form.jsonPrefer not to use the CLI? Copy the source from the Code toggle above into src/components/blocks/testimonials/testimonial9.tsx instead.
Usage
The file also exports testimonial9Demo, the exact props behind the preview above. Spread it to get a working section in one line, then replace it with your own data.
import { Testimonial9, testimonial9Demo } from "@/components/blocks/testimonials/testimonial9"; export default function Page() { return <Testimonial9 {...testimonial9Demo} />; }
Props
| Prop | Type | Default | Description |
|---|---|---|---|
| eyebrow | string | undefined | Small label above the heading. |
| heading | ReactNode | undefined | Section heading, typically the case study's headline result. |
| quoteParagraphs | string[] | none | One or more paragraphs of quote/narrative text, rendered in order. |
| name | string | none | Attributed person's name. |
| role | string | none | Attributed person's role. |
| company | string | undefined | Attributed person's company, appended after the role when set. |
| avatar | { src: string; alt: string } | undefined | Optional photo; falls back to initials. |
| results | ResultStat[] | [] | Mini-stat row beneath the quote, e.g. metric label and value. |
| className | string | none | Extra classes for the outer section element. |
Types
type ResultStat = { label: string; value: string; };
Behavior notes
- Fully static, server-rendered section with no interactivity.
- The first quote paragraph is styled slightly bolder than the rest to read as the pull-quote lead-in; this is a purely visual distinction, not a separate prop.
More Testimonials Blocks
View all →Single Large Quote
One large centered pull-quote with a decorative quote mark and a simple avatar attribution below.
Three Column Grid
Responsive grid of quote cards, each with a star rating, avatar, name, role, and quote text.
Quote Carousel
Interactive one-at-a-time quote carousel with prev/next arrows and clickable dot indicators.
Video Testimonial Grid
Grid of video-style testimonial cards, each a 16:9 thumbnail with a play-button overlay and a caption.
Masonry Wall
"Wall of love" style masonry layout of many short quote cards using CSS columns, not a JS library.
Quote With Stats Sidebar
Split layout pairing a large quote and attribution with a sidebar of 2-3 result stats.