Carousel
슬라이드 형태로 콘텐츠를 탐색할 수 있는 컴포넌트
Basic Usage
기본 캐러셀입니다. 좌우 화살표로 이동할 수 있습니다.
1
2
3
4
5
tsx
<Carousel className="w-full max-w-xs">
<CarouselContent>
{[1, 2, 3, 4, 5].map((num) => (
<CarouselItem key={num}>
<div className="p-1">
<div className="flex aspect-square items-center justify-center rounded-lg border bg-background p-6">
<span className="text-3xl font-semibold">{num}</span>
</div>
</div>
</CarouselItem>
))}
</CarouselContent>
<CarouselPrevious />
<CarouselNext />
</Carousel>Multiple Items
basis 클래스를 사용하여 한 번에 여러 아이템을 표시할 수 있습니다.
1
2
3
4
5
6
tsx
<Carousel className="w-full max-w-sm">
<CarouselContent className="-ml-2">
{[1, 2, 3, 4, 5, 6].map((num) => (
<CarouselItem key={num} className="pl-2 basis-1/3">
<div className="p-1">
<div className="flex aspect-square items-center justify-center rounded-lg border bg-background">
<span className="text-xl font-semibold">{num}</span>
</div>
</div>
</CarouselItem>
))}
</CarouselContent>
<CarouselPrevious />
<CarouselNext />
</Carousel>Orientation
orientation prop으로 세로 방향 캐러셀을 만들 수 있습니다.
1
2
3
4
5
tsx
<Carousel orientation="vertical" className="w-full max-w-xs">
<CarouselContent className="-mt-2 h-[200px]">
{[1, 2, 3, 4, 5].map((num) => (
<CarouselItem key={num} className="pt-2 basis-1/2">
<div className="p-1">
<div className="flex items-center justify-center rounded-lg border bg-background p-4">
<span className="text-2xl font-semibold">{num}</span>
</div>
</div>
</CarouselItem>
))}
</CarouselContent>
<CarouselPrevious />
<CarouselNext />
</Carousel>Usage
tsx
import {
Carousel,
CarouselContent,
CarouselItem,
CarouselPrevious,
CarouselNext,
} from '@gpters-internal/ui';
function Example() {
return (
<Carousel>
<CarouselContent>
<CarouselItem>Slide 1</CarouselItem>
<CarouselItem>Slide 2</CarouselItem>
<CarouselItem>Slide 3</CarouselItem>
</CarouselContent>
<CarouselPrevious />
<CarouselNext />
</Carousel>
);
}