Collapsible
StablePrimitive de disclosure para expandir e contrair áreas de conteúdo. Controlado por um estado interno ou externo, gerencia a acessibilidade via atributos ARIA e suporta animações de altura.
Instalação
npx up-web-ds add collapsiblePreview
Default
With Chevron
Default Open
- Fonte
- shadcn/ui
- Licença
- MIT
- Arquivos
- 1
Disabled
All states
Default
With Chevron
Default Open
- Fonte
- shadcn/ui
- Licença
- MIT
- Arquivos
- 1
Disabled
Usage
Props
Collapsible
Estende CollapsiblePrimitive.Root.Props. Aceita também os atributos padrão de um elemento React (275 não listados).
CollapsibleTrigger
Estende CollapsiblePrimitive.Trigger.Props. Aceita também os atributos padrão de um elemento React (285 não listados).
CollapsibleContent
Estende CollapsiblePrimitive.Panel.Props. Aceita também os atributos padrão de um elemento React (275 não listados).
Composition
Gatilho e painel são irmãos dentro do Collapsible, que é quem guarda o estado aberto/fechado.
Metadata
Notas de acessibilidade
Teclado e leitor de tela verificados por teste: o gatilho é um button, Enter e Space alternam o painel, e o foco permanece no gatilho depois de abrir — o painel é conteúdo, não destino. aria-expanded acompanha o estado real e aria-controls aponta para o painel que foi aberto. Um gatilho desabilitado usa aria-disabled com tabindex 0 em vez do atributo nativo: ele continua alcançável por Tab e é anunciado como desabilitado, recusando apenas a abertura — um controle que some da sequência de tabulação também some do outline que um usuário de leitor de tela percorre. Touch verificado em viewport de 375px com emulação de toque: os gatilhos ficam acima do mínimo de 24x24 da WCAG 2.2 SC 2.5.8 e o toque abre. Reduced motion verificado em navegador com prefers-reduced-motion: reduce, e a divisão é o ponto: a transição de altura do painel é preservada, porque é ela que o Base UI observa para desmontar, enquanto o tween do chevron sai (motion-reduce:transition-none) e o ângulo continua chegando a 180deg — a rotação é indicador de estado, não ornamento.
Classificação
- Layer
- Primitive
- Domínio
- Domain-free (compartilhado)
- Categoria
- disclosure
- Status
- Stable
Origem e distribuição
- Fonte
- shadcn registry / collapsible
- Licença
- MIT
- Distribuição
- Interna
Acessibilidade
- Teclado: revisado
- Leitor de tela: revisado
- Touch: revisado
- Reduced motion: revisado
Dependências
- Pacotes
- Nenhuma
- Ícones
- Nenhum
- Construído sobre
- Nenhum
- Usado por
- Nenhum ainda