A flowing quote stream where each avatar reveals its author on hover, with Motion fading and blurring the rest.
Made by AxylInstallation
File Structure
Usage
Props
| Prop | Type | Default |
|---|---|---|
testimonials? | Testimonial[] | - |
avatarSize? | number | 32 |
blurAmount? | number | 5 |
blurOpacity? | number | 0.25 |
fontSize? | number | 30 |
alternate? | InlineTestimonialsAlternateConfig | { pattern: true, opacity: 0.7 } |
interaction? | "hover" | "focus" | "both" | "hover" |
hoveredId? | string | null | - |
defaultHoveredId? | string | null | - |
onHoveredIdChange? | (id: string | null) => void | - |
renderAvatar? | (testimonial: Testimonial, size: number) => ReactNode | - |
label? | InlineTestimonialsLabelConfig | - |
className? | string | - |
classNames? | InlineTestimonialsClassNames | - |
InlineTestimonialsLabelConfig
| Prop | Type | Default |
|---|---|---|
accentColor? | string | "#f97316" |
nameFontSize? | number | 12 |
roleFontSize? | number | 9 |
roleColor? | string | "var(--muted-foreground, #6b7280)" |
roleLetterSpacing? | string | "0.1em" |
roleUppercase? | boolean | true |
offsetX? | number | avatarSize / 2 |
offsetY? | string | "150%" |
slideX? | number | -6 |
transitionDuration? | number | 0.16 |
ease? | Easing | "easeOut" |
Accessibility
By default only mouse hover reveals the author label (interaction="hover"), matching a decorative quote stream. Set interaction="focus" or interaction="both" to also attach tabIndex and onFocus/onBlur to each item, making the label reachable by keyboard (Tab) and screen-reader focus.
When prefers-reduced-motion: reduce is set, useReducedMotion() disables the label's slide-in animation and the blur filter on dimmed items — only a plain opacity fade remains. No extra configuration needed.
The quote text is always in the DOM. The visible author label only mounts on hover/focus (via AnimatePresence), so each item also renders a sr-only "— Name, Role" string right after its quote — screen readers get the attribution unconditionally, without needing to trigger the hover/focus reveal.
Built by Axyl. A motion-first component registry for React.
Last updated: 7/10/2026