UI

List Box

Lista de opções sempre visível, com seleção simples ou múltipla e navegação por teclado.

Padaria
Restaurante
Oficina mecânica
Clínica
Salão de beleza (em breve)

Instalação

npx shadcn@latest add @lenstech/list-box

Uso

import { ListBox, ListBoxItem } from "@/components/ui/list-box"
<ListBox aria-label="Segmento" selectionMode="single">
  <ListBoxItem id="padaria">Padaria</ListBoxItem>
  <ListBoxItem id="clinica">Clínica</ListBoxItem>
</ListBox>

O List Box é a base do Select e do Combobox: dentro deles, a moldura some porque o popover já a fornece.

Seleção é um Set de chaves

Cada item é identificado pelo id. selectedKeys / defaultSelectedKeys recebem uma lista (ou Set) de ids e onSelectionChange entrega um Selection — um Set de chaves ou a string "all". Se o conteúdo do item não for texto puro, informe textValue (usado na busca por digitação e por leitores de tela).

Exemplos

Seleção múltipla

Pix
Cartão
Boleto
Dinheiro

Seções, ícones e separador

Loja
Pagamentos
Entregas

Itens dinâmicos e controlado

Passe items e uma função como filho para renderizar dados de uma lista. Com disallowEmptySelection, sempre há um item selecionado.

Dra. Ana SouzaOrtodontia
Dr. Bruno LimaImplantes
Dra. Carla MendesClínico geral

Agendando com: Dra. Ana Souza

Estado vazio

Nenhum cliente cadastrado.

Quando usar

  • Use para listas visíveis em painéis e filtros, com seleção simples ou múltipla.
  • Não use em formulários com pouco espaço — use Select.
  • Não use para listas longas com busca — use Combobox.
  • Não use para ações (editar, excluir) — use Menu.

API

ListBox

Aceita todas as props do ListBox do React Aria. As mais usadas:

Prop

Type

ListBoxItem

Aceita todas as props do ListBoxItem do React Aria (id, textValue, isDisabled, href…). Mostra ✓ à direita quando selecionado.

ListBoxSection

Prop

Type

ListBoxHeader e ListBoxSeparator

Título de seção manual e divisor entre opções.

On this page