βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β π shadcn/directory/adityakishore0/scrollx-ui/components/testimonial-carousel β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β
<Step>Install the following dependencies:</Step> <DepsOptions name="embla-carousel-react" />
<Step>Copy and paste the following code into your project.</Step>
<p> <code>testimonial-carousel.tsx</code> </p> <ComponentSource name="testimonial-carousel" /><Step>Add util file</Step>
<p> <code>lib/utils.ts</code> </p> ```jsx import {(ClassValue, clsx)} from "clsx"; import {twMerge} from "tailwind-merge";export function cn(...inputs: ClassValue[]) { return twMerge(clsx(inputs)); }
</Steps>
</TabsContent>
</Tabs>
## Usage
```tsx
import TestimonialCarousel from "@/components/ui/testimonial-carousel";
<TestimonialCarousel
data={[
{
description: 'ScrollX-UI has completely transformed how I build interfaces. The animations are silky smooth, and the components are modular and responsive.',
image: 'https://images.unsplash.com/photo-1611558709798-e009c8fd7706?q=80&w=2070&auto=format&fit=crop&ixlib=rb-4.0.3',
name: 'Isabelle Carlos',
handle: '@isabellecarlos'
},
{
description: 'I love how ScrollX-UI makes my projects look professional with minimal effort. The documentation is clear and the community is super helpful.',
image: 'https://plus.unsplash.com/premium_photo-1692340973636-6f2ff926af39?q=80&w=2070&auto=format&fit=crop&ixlib=rb-4.0.3',
name: 'Lana Akash',
handle: '@lanaakash'
},
{
description: 'The smooth scrolling animations and intuitive components in ScrollX-UI save me hours of development time!',
image: 'https://images.unsplash.com/photo-1552374196-c4e7ffc6e126?q=80&w=2070&auto=format&fit=crop&ixlib=rb-4.0.3',
name: 'Liam OβConnor',
handle: '@liamoc'
}
]}
/>
<Step>Gradient</Step>
<ComponentPreview name="testimonialcarouselgradient-demo" className="P-2" description="" />
Minimal, responsive testimonial slider with avatars, names, and quotes for clean, modern design.
<PropsTable
rows={[
{
prop: "data",
type: "Testimonial[]",
default: "required",
description: "Array of testimonial objects to display. Each object must have name, handle, image, and description."
},
{
prop: "borderType",
type: "solid" | "gradient",
default: "solid",
description: "Type of border around avatars."
}
]}
/>
β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ