Tabs
StableUma superfície visível por vez, escolhida numa linha de irmãs. `default` é uma faixa segmentada e lê como controle; `underline` lê como navegação.
Instalação
npx up-web-ds add tabsPreview
Default
Underline
Sizes
Controlled
Aba ativa: visao
Disabled
Vertical
All states
Default
Underline
Sizes
Controlled
Aba ativa: visao
Disabled
Vertical
Usage
Props
Tabs
Estende TabsPrimitive.Root.Props. Aceita também os atributos padrão de um elemento React (275 não listados).
TabsList
Estende TabsPrimitive.List.Props. Aceita também os atributos padrão de um elemento React (275 não listados).
TabsTab
Estende TabsPrimitive.Tab.Props. Aceita também os atributos padrão de um elemento React (283 não listados).
TabsTrigger
Estende TabsPrimitive.Tab.Props. Aceita também os atributos padrão de um elemento React (283 não listados).
TabsPanel
Estende TabsPrimitive.Panel.Props. Aceita também os atributos padrão de um elemento React (275 não listados).
TabsContent
Estende TabsPrimitive.Panel.Props. Aceita também os atributos padrão de um elemento React (275 não listados).
prop obrigatória.
Composition
Os gatilhos ficam agrupados na TabsList; cada painel é irmão dela, e não filho — é o `value` que liga um ao outro.
Metadata
Notas de acessibilidade
Teclado e leitor de tela verificados por teste: a linha é um tablist com uma única aba selecionada, cada aba aponta para o painel por aria-controls, e aria-selected acompanha o estado real. O foco é roving — Tab entra na linha uma vez, na aba ativa, e as setas percorrem as demais com wrap; pôr todas na sequência de tabulação custaria uma parada por aba. O anel de foco é visível e verificado em navegador: o `outline-none` da origem envenenava --tw-outline-style no Tailwind v4, e o anel recebia largura e cor mas ficava invisível. Uma aba desabilitada permanece na linha, anunciada como desabilitada, e apenas recusa a seleção: uma aba que sumisse renumeraria "aba 2 de 3" para quem ouve. O painel inativo é desmontado, não escondido. Touch verificado em viewport de 375px com emulação de toque: as abas ficam acima do mínimo de 24x24 da WCAG 2.2 SC 2.5.8 nos três tamanhos, e o toque seleciona. Reduced motion verificado em navegador com prefers-reduced-motion: reduce — o indicador é o estado, então o tween sai (transition-property: none) e o destino permanece: ele continua chegando sob a aba ativa. Gatear a viagem inteira deixaria o marcador sob a aba antiga.
Classificação
- Layer
- Primitive
- Domínio
- Domain-free (compartilhado)
- Categoria
- navigation
- Status
- Stable
Origem e distribuição
- Fonte
- coss registry / tabs
- 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
- Segmented Control
- Usado por
- Nenhum ainda