TestimonialCarousel.
One customer quote at a time, auto-rotating through a set — a large blockquote that reveals character by character on each change, pauses on hover, and shows a name plus a detail line. Prev/next arrows and one dot per quote sit below it as real controls. Realised on the live site as the ShipQuoteCarousel React island.
When to use
Reach for TestimonialCarousel to let a few customer voices share one slot — a rotating pull quote rather than a wall of cards. Use BigQuote for a single fixed oversized quote with no rotation, and CaseStudyCard when the proof is a metric rather than a sentence.
“Dash.fi found refunds three carriers had quietly written off.”
One quote at a time in a 62ch column, auto-advancing every 6500ms. The stagger is
per character, not per word: out at 4ms per character, the text swaps 260ms later, then
in at 7ms per character plus a 40ms lead. Prev/next arrows and one dot per quote are always
rendered as real buttons. Pause is hover-only — tabbing to a control does not stop the interval,
a known WCAG 2.2.2 gap. The attribution second line is detail, and the markup is a
plain wrapper plus a <blockquote>, not a <figure>/<figcaption> pair.