ListBox
Lista de opções selecionáveis, ou de ações, navegável por teclado.
O ListBox mostra opções que a pessoa escolhe (uma ou várias) ou ações que ela aciona. É a lista por baixo do Select e serve também sozinha, como seletor de transportadora. Para linhas ricas com dados use ListView; para tabelas, DataGrid.
import { Description, Label, ListBox } from "@rastreio-x/ui";
Padrão
Cada ListBox.Item tem id e textValue. O ListBox.ItemIndicator marca a opção escolhida. Informe aria-label para nomear a lista.
Seleção múltipla
selectionMode="multiple" permite marcar vários itens; defaultSelectedKeys define os iniciais.
Itens desabilitados
disabledKeys bloqueia itens. Mantenha-os visíveis e explique no texto.
Como menu de ações
Com selectionMode="none" e onAction, o ListBox vira um menu de ações. Itens destrutivos usam variant="danger".
Anatomia
ListBox.Item: uma opção, com rótulo e descrição.ListBox.ItemIndicator: sinal de selecionada.ListBox.Section: agrupa itens com um cabeçalho.
Propriedades
Raiz (ListBox):
Item (ListBox.Item):
Animações
Sem animação própria: o item muda de fundo no hover e no foco. Dentro de um Select, quem anima é o popover.
Acessibilidade
- Papel
listboxcom itensoption;aria-multiselectablequando há seleção múltipla. - Setas navegam, Home e End vão às pontas, digitar salta por inicial, Enter ou Espaço escolhem.
- Em
selectionMode="none", o item é acionado com Enter ou clique. - O estado de selecionado vem de
aria-selected; o indicador reforça sem depender só da cor.
Boas práticas
Faça
Evite
- Para escolher entre poucas opções, a lista aberta evita um clique extra.
- Para listas longas, junte com um campo de busca.
- Use
variant="danger"só em ações destrutivas e confirme antes.