Testimonial
The Testimonial component displays a customer quote with author attribution, including optional role, company, and avatar image. It is designed for landing pages, marketing sections, and social proof areas.
Import
import { Testimonial } from '@nim-ui/components';Usage
Default Testimonial
Nim UI has transformed the way our team builds interfaces. We ship features twice as fast now.
Sarah Chen
Engineering Lead, Acme Corp
View Code
<Testimonial quote="Nim UI has transformed the way our team builds interfaces. We ship features twice as fast now." author="Sarah Chen" role="Engineering Lead" company="Acme Corp"/>With Avatar
Testimonial with Avatar
The accessibility features alone make this library worth it. Every component works beautifully with screen readers and keyboard navigation.
Marcus Johnson
Senior Developer, TechStart
View Code
<Testimonial quote="The accessibility features alone make this library worth it. Every component works beautifully with screen readers and keyboard navigation." author="Marcus Johnson" role="Senior Developer" company="TechStart" avatar="/images/marcus.jpg"/>Minimal Testimonial
Quote and Author Only
Simple, elegant, and incredibly well-documented. Exactly what I needed.
Alex Rivera
View Code
<Testimonial quote="Simple, elegant, and incredibly well-documented. Exactly what I needed." author="Alex Rivera"/>With Role Only
Testimonial with Role
We migrated our entire design system to Nim UI in a weekend. The TypeScript support is phenomenal.
Priya Patel
CTO
View Code
<Testimonial quote="We migrated our entire design system to Nim UI in a weekend. The TypeScript support is phenomenal." author="Priya Patel" role="CTO"/>Multiple Testimonials
Testimonials in a Grid
Best component library I've used. Period.
Jamie Lee
Frontend Developer, DevStudio
Dark mode support out of the box saved us weeks of work.
David Kim
UI Engineer, NightOwl
View Code
<div className="grid grid-cols-1 md:grid-cols-2 gap-6"> <Testimonial quote="Best component library I've used. Period." author="Jamie Lee" role="Frontend Developer" company="DevStudio" /> <Testimonial quote="Dark mode support out of the box saved us weeks of work." author="David Kim" role="UI Engineer" company="NightOwl" /></div>Props
| Name | Type | Default | Description |
|---|---|---|---|
quote * | string | - | The testimonial quote text |
author * | string | - | Name of the person providing the testimonial |
role | string | - | Job title or role of the author |
company | string | - | Company or organization the author belongs to |
avatar | string | - | URL to the author avatar image |
className | string | - | Additional CSS classes to apply to the root element |
Usage Examples
Social Proof Section
import { Testimonial } from '@nim-ui/components';
const testimonials = [ { quote: "Nim UI reduced our development time by 60%.", author: "Sarah Chen", role: "Engineering Lead", company: "Acme Corp", avatar: "/avatars/sarah.jpg", }, { quote: "The best React component library we've ever used.", author: "Marcus Johnson", role: "Senior Developer", company: "TechStart", avatar: "/avatars/marcus.jpg", }, { quote: "Accessibility-first approach sets this apart from everything else.", author: "Priya Patel", role: "CTO", company: "A11y Labs", avatar: "/avatars/priya.jpg", },];
function TestimonialsSection() { return ( <section className="py-16 bg-neutral-50 dark:bg-neutral-900"> <h2 className="text-3xl font-bold text-center mb-12"> Loved by developers </h2> <div className="grid grid-cols-1 md:grid-cols-3 gap-8 max-w-6xl mx-auto px-4"> {testimonials.map((t) => ( <Testimonial key={t.author} {...t} /> ))} </div> </section> );}Featured Testimonial
function FeaturedTestimonial() { return ( <div className="max-w-2xl mx-auto py-12"> <Testimonial quote="Moving to Nim UI was the best decision we made this year. Our designers love the consistency, our developers love the DX, and our users love the performance." author="Elena Rodriguez" role="VP of Engineering" company="ScaleUp Inc." avatar="/avatars/elena.jpg" /> </div> );}Accessibility
The Testimonial component includes proper semantic markup:
- Uses
<blockquote>for the quote text - Uses
<cite>for the author attribution - Avatar images include proper
alttext with the author name - When no avatar is present, the layout adjusts without leaving empty decorative space
- Text maintains sufficient contrast ratios in both light and dark modes