vaiperui

componentes / accordion

Accordion

Pilha de seções que expandem e recolhem, com navegação por teclado.

Como usar

`type="single"` mantém uma seção aberta (adicione `collapsible` para poder fechá-la); `type="multiple"` permite várias abertas. Use `defaultValue` ou `value` + `onValueChange` (string para single, `string[]` para multiple). Setas cima/baixo, Home e End movem o foco entre os cabeçalhos.

preview

Aceitamos cartão de crédito, boleto e Pix.

Accordion.tsx
import { Accordion, AccordionItem } from "vaiperui";
<Accordion type="single" collapsible defaultValue="payment">
<AccordionItem value="payment" title="Quais formas de pagamento?">
Aceitamos cartão de crédito, boleto e Pix.
</AccordionItem>
</Accordion>

Múltiplo

preview

…

…
multiple
multiplo.tsx
<Accordion type="multiple" defaultValue={["payment", "shipping"]}>…</Accordion>

Cores

preview

primary

success

warning

danger
cores.tsx
<Accordion type="single" variantColor="primary">…</Accordion>
<Accordion type="single" variantColor="success">…</Accordion>
<Accordion type="single" variantColor="warning">…</Accordion>
<Accordion type="single" variantColor="danger">…</Accordion>

Props

PropValoresPadrãoDescrição
typesingle | multipleobrigatórioUma ou várias seções abertas
collapsiblebooleanfalseSó single: permite fechar a seção aberta
value / defaultValuestring | string[]nenhumValor(es) aberto(s), controlado / inicial
onValueChange(value) => voidnenhumChamado com o(s) novo(s) valor(es); "" quando o single fecha
variantColorprimary | success | warning | dangerprimaryCor do anel de foco
customColorstring | { light, dark }nenhumQualquer cor CSS (ou um par por tema) para o anel de foco
animationnone | smooth | fast | bouncesmoothTransição do ícone
value (item)stringobrigatórioIdentificador do AccordionItem
title (item)ReactNodeobrigatórioCabeçalho do AccordionItem
disabled (item)booleanfalseNão pode ser expandido nem focado
(nativas)divnenhumTodas as props nativas do elemento, className, ref etc.