Todos os componentes

Carousel

Carousel é um componente de media para React e Tailwind CSS, da biblioteca Motion Primitives, com licença MIT. Copia e cola no teu projeto.

Motion Primitives MIT media

O que é

Carousel é um componente de media para React e Tailwind CSS, da biblioteca Motion Primitives, com licença MIT. Copia e cola no teu projeto.

Como usar

Abre o componente no catálogo, carrega em copiar, e cola no teu projeto. O prompt copiado leva o código e as regras para o teu agente o reproduzir sem alterar nada.

Abrir no catálogo

Cinco cópias grátis por mês. Sem cartão.

Não precisa de pacotes além do que o projeto já tem

Licença

Este componente vem de Motion Primitives e é redistribuído sob a licença MIT, que permite uso comercial. O aviso de copyright viaja com o código.

Carousel

app/docs/carousel/carousel-custom-indicator.tsx
'use client';
import {
  Carousel,
  CarouselContent,
  CarouselItem,
} from '@/components/core/carousel';
import { useState } from 'react';

const ITEMS = new Array(4).fill(null).map((_, index) => index + 1);

export function CarouselCustomIndicator() {
  const [index, setIndex] = useState(0);

  return (
    <div className='relative w-full max-w-xs py-8'>
      <Carousel index={index} onIndexChange={setIndex}>
        <CarouselContent className='relative'>
          {ITEMS.map((item) => {
            return (
              <CarouselItem key={item} className='p-4'>
                <div className='flex aspect-square items-center justify-center border border-zinc-200 dark:border-zinc-800'>
                  {item}
                </div>
              </CarouselItem>
            );
          })}
        </CarouselContent>
      </Carousel>
      <div className='flex w-full justify-center space-x-3 px-4'>
        {ITEMS.map((item) => {
          return (
            <button
              key={item}
              type='button'
              aria-label={`Go to slide ${item}`}
              onClick={() => setIndex(item - 1)}
              className='h-12 w-12 border border-zinc-200 dark:border-zinc-800'
            >
              {item}
            </button>
          );
        })}
      </div>
    </div>
  );
}

Componentes parecidos