āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā ā š shadcn/directory/nolly-studio/cult-ui/components/feature-carousel ā āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā
<ComponentPreview name="feature-carousel-demo" className="[&_.preview>[data-orientation=vertical]]:sm:max-w-[70%]" />
npx shadcn@latest add https://cult-ui.com/r/feature-carousel.json
</TabsContent>
<TabsContent value="manual">
<Steps>
<Step>Copy and paste the following code into your project.</Step>
<ComponentSource name="feature-carousel" /><Step>Update the import paths to match your project setup.</Step>
</Steps> </TabsContent> </CodeTabs>export default function Example() {
return (
<FeatureCarousel
title="Your Feature Title"
description="Your feature description"
image={{
step1light1: Image1,
step1light2: Image2,
step2light1: Image3,
step2light2: Image4,
step3light: Image5,
step4light: Image6,
alt: "Feature showcase",
}}
/>
)
}
export default function BasicExample() {
return (
<FeatureCarousel
title="Feature Showcase"
description="Explore our amazing features"
image={{
step1light1: "/images/feature1.png",
step1light2: "/images/feature2.png",
step2light1: "/images/feature3.png",
step2light2: "/images/feature4.png",
step3light: "/images/feature5.png",
step4light: "/images/feature6.png",
alt: "Feature showcase",
}}
/>
)
}
export default function StyledExample() {
return (
<FeatureCarousel
title="Custom Styled Features"
description="With custom positioning and effects"
step1img1Class={cn(
"pointer-events-none w-[50%] border border-stone-100/10",
"rounded-2xl left-[25%] top-[50%]",
"hover:scale-105 transition-transform"
)}
image={{
step1light1: "/images/feature1.png",
step1light2: "/images/feature2.png",
step2light1: "/images/feature3.png",
step2light2: "/images/feature4.png",
step3light: "/images/feature5.png",
step4light: "/images/feature6.png",
alt: "Feature showcase",
}}
bgClass="bg-gradient-to-tr from-blue-900/90 to-purple-800/90"
/>
)
}
The component uses Tailwind CSS for styling. Key style considerations:
pointer-events-none for images to prevent interaction issuesoverflow-hidden when using rounded cornerstransition-all for smooth hover effectsmd:, lg:) for different layoutsThe carousel includes:
ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā ā
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā