Stable src/components/widgets/ShipQuoteCarousel.tsx

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.
Maya Rivera VP Logistics, Northwind

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.