Skip to content
GetUrUI

Review cards

5 variantsNew
.md

Five review cards — rating summary, standout quote, review composer, compact list and photo review — with count-ups, star pops, rolling vote counts and a shared-element photo viewer.

reviewsratingstarstestimonialecommercefeedbackhistogramcard

Rating summary

summary.tsx

Average that counts up over a star histogram whose bars grow in and filter the list.

$npx shadcn@latest add @geturui/review-cards-summary
.zip
PropTypeDefaultDescription
counts[number, number, number, number, number][1284, 412, 96, 31, 18]Review counts from 5 stars down to 1.
title / subtitlestring—Heading and product line.
defaultFilternumber | nullnullInitially selected star filter.
onFilterChange(stars: number | null) => void—Called when a bar is toggled.
onWriteReview() => void—Primary button handler.
classNamestring—Extra classes on the card.

Standout quote

quote.tsx

Single verified review with popping stars, a body that springs open with Read more, and a helpful toggle.

$npx shadcn@latest add @geturui/review-cards-quote
.zip
PropTypeDefaultDescription
author / meta / initials / datestring—Reviewer details.
ratingnumber5Stars out of five.
headline / bodystring—Review title and text; blank lines split paragraphs.
verifiedbooleantrueShow the verified buyer badge.
helpfulnumber38Existing helpful votes.
previewLengthnumber180Characters shown before Read more.
onHelpfulChange(helpful: boolean) => void—Called when the vote toggles.
classNamestring—Extra classes on the card.

Write a review

write.tsx

Star radio group with hover preview and spring pop, quick tags, counted text box and a thank-you crossfade.

$npx shadcn@latest add @geturui/review-cards-write
.zip
PropTypeDefaultDescription
productstring"Arden Wool Throw"What is being reviewed.
labels[string × 5]—Words shown for 1–5 stars.
tagsstring[]—Quick tags the reviewer can toggle.
maxLengthnumber400Character limit for the text.
onSubmit(review: { rating, text, tags }) => void—Called on post.
classNamestring—Extra classes on the card.

Compact list

compact.tsx

Dense rows with star lines and optimistic helpful votes whose counts roll.

$npx shadcn@latest add @geturui/review-cards-compact
.zip
PropTypeDefaultDescription
titlestring"Most helpful reviews"List heading.
reviewsCompactReview[]—{ id, author, initials, rating, date, text, up, down }.
onVote(id: string, vote: "up" | "down" | null) => void—Called when a vote changes.
classNamestring—Extra classes on the card.

Photo review

photos.tsx

Review with a drawn photo strip; a thumbnail grows into an in-card viewer with arrow keys and Escape.

$npx shadcn@latest add @geturui/review-cards-photos
.zip
PropTypeDefaultDescription
author / initials / datestring—Reviewer details.
ratingnumber5Stars out of five.
title / bodystring—Review content.
photosReviewPhoto[]—{ alt, src?, scene?, tones? }; without src a drawn scene is used.
classNamestring—Extra classes on the card.

Install the whole set

Installs every review cards variant at once. Each section above has its own command for a single variant.

$npx shadcn@latest add @geturui/review-cards
Download source (.zip)

Accessibility

  • Star ratings carry a text equivalent (“4.7 out of 5”); the star input is a radio group driven by arrow keys.
  • Filters, helpful votes and likes are real buttons with aria-pressed, and counts are announced as text, not just icons.
  • Reduced motion removes count-ups, bar growth and the photo zoom while keeping every state change.

Related