Componentes
Empty
betaDiz o que aquilo seria e oferece a primeira ação. Vazio sem saída é beco sem saída.
Ainda não é estável porque Rota não varrida pelo sensor. Ausência de medição não é aprovação. O contrato de maturidade explica o que cada requisito exige.
@voxmente/ui/components/ui/empty
Orientação
O estado de uma lista que ainda não tem nada. Diz o que aquilo seria e oferece a primeira ação — vazio sem saída é beco sem saída.
Quando usar
- A lista está legitimamente vazia e o usuário pode criar o primeiro item.
- Uma busca ou filtro não retornou nada e é preciso oferecer o caminho de volta.
- A tela é nova para aquele usuário e precisa explicar o que vai aparecer ali.
Quando não usar
- Quando os dados ainda estão carregando — isso é Skeleton, e a diferença importa: vazio afirma, carregando não.
- Quando o usuário não tem permissão. Sem acesso não é ausência de dado: é No Permission.
- Quando houve erro na busca dos dados. Erro precisa dizer que houve erro e oferecer nova tentativa.
<Empty>
<EmptyHeader>
<EmptyMedia>
<FileDashed weight="duotone" />
</EmptyMedia>
<EmptyTitle>Nenhuma trilha nesta turma</EmptyTitle>
<EmptyDescription>Trilhas organizam as lições numa sequência. Crie a primeira para começar.</EmptyDescription>
</EmptyHeader>
<EmptyContent>
<Button>Criar trilha</Button>
</EmptyContent>
</Empty>Uso
Anatomia
Mídia
Com erro
Quando não usar: sem permissão
Acessibilidade
- O estado vazio substitui o conteúdo da região; o texto precisa fazer sentido lido isoladamente.
- A ação principal do vazio é um botão de verdade, com nome que descreve o que vai acontecer.
- Ilustração e ícone são decorativos: mantenha fora da árvore de acessibilidade.
Em contexto de produto
Aparece na comparação dos quatro estados de tela, ao lado de carregando, sem permissão e erro, na mesma casca.
Ver os estados de telaComponentes relacionados
Referência da API
EmptyMedia
| Prop | Tipo | Padrão |
|---|---|---|
| variant | "default" | "icon" | null | "default" |
Também aceita as props de React, incluindo className e os atributos de DOM.
Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyTitle não têm props próprias — aceitam apenas as props herdadas, incluindo className e os atributos de DOM.
- Orientação, acessibilidade e relacionados: documentação
- Demonstrações e playground: componente real de @voxmente/ui
- Referência da API: TypeScript do pacote
- Cor, espaçamento e raio das demonstrações: tokens de theme.css