mirror of
https://github.com/shadcn-ui/ui.git
synced 2026-06-25 13:46:07 +00:00
45 lines
1.1 KiB
TypeScript
45 lines
1.1 KiB
TypeScript
"use client"
|
|
|
|
import * as React from "react"
|
|
import Autoplay from "embla-carousel-autoplay"
|
|
|
|
import { Card, CardContent } from "@/styles/base-nova/ui/card"
|
|
import {
|
|
Carousel,
|
|
CarouselContent,
|
|
CarouselItem,
|
|
CarouselNext,
|
|
CarouselPrevious,
|
|
} from "@/styles/base-nova/ui/carousel"
|
|
|
|
export default function CarouselPlugin() {
|
|
const plugin = React.useRef(
|
|
Autoplay({ delay: 2000, stopOnInteraction: true })
|
|
)
|
|
|
|
return (
|
|
<Carousel
|
|
plugins={[plugin.current]}
|
|
className="w-full max-w-[10rem] sm:max-w-xs"
|
|
onMouseEnter={plugin.current.stop}
|
|
onMouseLeave={plugin.current.reset}
|
|
>
|
|
<CarouselContent>
|
|
{Array.from({ length: 5 }).map((_, index) => (
|
|
<CarouselItem key={index}>
|
|
<div className="p-1">
|
|
<Card>
|
|
<CardContent className="flex aspect-square items-center justify-center p-6">
|
|
<span className="text-4xl font-semibold">{index + 1}</span>
|
|
</CardContent>
|
|
</Card>
|
|
</div>
|
|
</CarouselItem>
|
|
))}
|
|
</CarouselContent>
|
|
<CarouselPrevious />
|
|
<CarouselNext />
|
|
</Carousel>
|
|
)
|
|
}
|