shadcn.io is not affiliated with official shadcn/ui
Tag Filter Testimonials Block for React
A wall of nine customer quotes for a component kit in hairline cells, each ending in two topic tags that are buttons: pick one to filter the wall and get a removable chip.
Installation
Overview
Customer proof that lets the visitor follow a topic, for React with Base UI. A compact header names the product, a fictional component kit called Loomkit, and a status line at its end says "Showing all 9 quotes". Under it, nine quotes sit in a grid of cells drawn with hairlines that run a little past each corner, one, two or three columns wide, between the page's rails and under its top rule. Every cell ends in the two topics it is about (Accessibility, Speed, Types or Support) and each tag is a button, in foreground tones so the primary colour stays free. Press one and the wall keeps only the quotes about it, a "Showing" chip with the topic and a cross appears in the header with focus on it, and the count says how many of the nine remain; press the chip, or the same tag again, to see everything. The wall keeps the height of all nine cells on a desktop, so nothing below it moves. On a phone the wall is cut after its first quotes behind a fade, with a "More quotes" button that lifts the cut. It's built from Guides, Button and Avatar, with your theme's tokens only. For pages with many quotes where visitors arrive caring about one thing.
FAQ
How do I change the quotes and the topics?
Edit TOPICS and PEOPLE at the top of the file. Each person names exactly two topics in topics; the tags on their cell, the filter and the count all come from them. A cell is kept when either of its topics is the one picked.
How does it work with a keyboard and a screen reader?
Every tag and the chip are real buttons. A tag says whether it is pressed, so you can tell which topic is active on any cell. Choosing one moves focus to the chip so you can remove the filter at once, and a polite status line reads the result ("Showing 5 of 9 quotes about Types"). Removing the filter moves focus to the line that says all nine quotes are shown, so focus never falls to the top of the page.
How are the lines drawn?
The section uses the page spine: Guides bleed marks="top" rules="top" draws the two rails and a top rule that runs to the page's edges, with plus marks. Each cell holds its own Guides extend="sm" marks="start", so its four sides run half a rem past the corners, and the cells sit a rem and a half apart so neighbouring lines never touch. The guides are decorative and take your theme's border and muted-foreground colours.
Why doesn't the page jump when the wall shrinks?
On a desktop, an unseen copy of all nine cells sits in the same grid cell as the live wall, so the area keeps its full height while the filtered cells leave. The copy is hidden from screen readers and can't take focus. The cells that remain move up to fill the grid, which is the point of a filter.
How does the wall fit a phone?
Below md the wall is one column, cut at about 36rem with a fade, and a ghost "More quotes" button under it (aria-expanded, aria-controls) lifts the cut. From md the wall is two columns and from lg three, all quotes showing. On a phone the wall isn't padded to its full height, so a filter changes the page's length there.
Related
- Pro
Filterable Testimonials
Filter and searchRole chips with live counts filter a wall of eight customer quotes, with a status line, a clear button and an empty state. A hairline band holds the controls and the cells' lines overshoot their corners.
- Pro
Search Testimonials
Filter and searchA search box in the header row that filters eight customer quotes as you type and marks the matched words, with a result count, Escape to clear and an empty state, in a band of hairline-ruled rows.
- Pro
Masonry Testimonials
Walls and lanesA masonry wall of twelve notes from runners in CSS columns inside a framed figure: cards of every length stack tight, from one column on a phone to four on a wide screen.
- Pro
Industry Tabs Testimonials
Filter and searchIcon tabs in the header row that switch customer quotes by industry: four sectors, each a panel of three cells (the typical rollout time and two quotes) above a band with a Shine Button.
- Pro
Centered Testimonial Card Grid Hero
TestimonialsA centred showcase hero with a headline, a Shine Button and an outline action over a wall of six customer quotes in cells that share their hairlines, a snap carousel on a phone.
- Pro
Keyword Highlight Testimonials
Filter and searchFive customer quotes about a UI kit, set large in ruled bands under keyword chips: pick one and every quote that mentions it marks the words, lights a bar and counts where it comes up.