Primitivefeedback

Empty

Stable

Estado vazio com mídia opcional, título, descrição e ação. Existem três estados vazios e eles não são intercambiáveis: nada foi criado ainda é um convite e ganha a ação; um filtro não achou nada é um beco que a pessoa construiu e ganha um caminho de volta; algo não é permitido deve uma explicação e um próximo passo que não seja "tentar de novo". A moldura é decisão de quem usa — um estado vazio dentro de um painel já emoldurado não quer uma segunda caixa.

Instalação

npx up-web-ds add empty

Preview

Default

Nenhum item no catálogo ainda
Crie um item interno ou ingira um externo. Nos dois casos ele nasce incoming e passa pela normalização antes de ser distribuído.

No Results

Nenhum item combina com esses filtros
Nenhum primitive tem a category assessment: ela pertence ao domínio education.

Restricted

Este item não é distribuído por registry
A origem é comercial, então ele nasce restricted e o build do registry o exclui (DS004). Ele continua utilizável nas entregas da Up Web Studio.

Text Only

Nenhuma dependência registrada
Este item não compõe nenhum outro do design system.

All states

Default

Nenhum item no catálogo ainda
Crie um item interno ou ingira um externo. Nos dois casos ele nasce incoming e passa pela normalização antes de ser distribuído.

No Results

Nenhum item combina com esses filtros
Nenhum primitive tem a category assessment: ela pertence ao domínio education.

Restricted

Este item não é distribuído por registry
A origem é comercial, então ele nasce restricted e o build do registry o exclui (DS004). Ele continua utilizável nas entregas da Up Web Studio.

Text Only

Nenhuma dependência registrada
Este item não compõe nenhum outro do design system.

Usage

Imports de Empty
import {
  Empty,
  EmptyContent,
  EmptyDescription,
  EmptyHeader,
  EmptyMedia,
  EmptyTitle,
} from '@/components/ui/empty'
import { Button } from '@/components/ui/button'
import { PackageOpenIcon } from 'lucide-react'
Empty
<Empty className="border border-dashed border-border">
  <EmptyHeader>
    <EmptyMedia variant="icon">
      <PackageOpenIcon aria-hidden />
    </EmptyMedia>
    <EmptyTitle>Nenhum item no catálogo ainda</EmptyTitle>
    <EmptyDescription>
      Crie um item interno ou ingira um externo. Nos dois casos ele nasce{' '}
      <code className="font-mono type-caption">incoming</code> e passa pela
      normalização antes de ser distribuído.
    </EmptyDescription>
  </EmptyHeader>
  <EmptyContent>
    <div className="flex flex-wrap justify-center gap-2">
      <Button size="sm">Criar item</Button>
      <Button size="sm" variant="outline">
        Ingerir externo
      </Button>
    </div>
  </EmptyContent>
</Empty>

Props

Empty

Estende React.ComponentProps<'div'>. Aceita também os atributos padrão de um elemento React (280 não listados).

EmptyHeader

Estende React.ComponentProps<'div'>. Aceita também os atributos padrão de um elemento React (280 não listados).

EmptyMedia

Props de EmptyMedia
PropTypeDefaultDescription
variant"default" | "icon" | null'default'

Estende React.ComponentProps<'div'> & VariantProps<typeof emptyMediaVariants>. Aceita também os atributos padrão de um elemento React (280 não listados).

EmptyTitle

Estende React.ComponentProps<'div'>. Aceita também os atributos padrão de um elemento React (280 não listados).

EmptyDescription

Estende React.ComponentProps<'p'>. Aceita também os atributos padrão de um elemento React (280 não listados).

EmptyContent

Estende React.ComponentProps<'div'>. Aceita também os atributos padrão de um elemento React (280 não listados).

Composition

O header carrega o que aconteceu; o EmptyContent carrega a saída — a ação que tira a pessoa do estado vazio.

Composição de Empty

Empty

  • EmptyHeader
    • EmptyMedia
    • EmptyTitle
    • EmptyDescription
  • EmptyContent

Metadata

Notas de acessibilidade

Não é interativo por si: não entra na sequência de tabulação e não anima, então teclado, alvo de toque e movimento pertencem aos controles que a ação contém. Leitor de tela verificado por teste: o conteúdo é lido como frase na ordem escrita — causa e depois explicação —, o glifo não contribui com texto algum, e o bloco aceita role e nome de quem o usa para quando ele substitui conteúdo que estava vivo. Contraste verificado nos dois temas: links usam --primary-readable e não --primary, que é preenchimento e lê a 1,54:1 como texto; a descrição usa --muted-foreground, verificado em AA pelo teste da Foundation.

Classificação

Layer
Primitive
Domínio
Domain-free (compartilhado)
Categoria
feedback
Status
Stable

Origem e distribuição

Fonte
shadcn registry / empty
Licença
MIT
Distribuição
Interna

Acessibilidade

  • Teclado: revisado
  • Leitor de tela: revisado
  • Touch: revisado
  • Reduced motion: revisado

Dependências

Pacotes
class-variance-authority
Ícones
Nenhum
Construído sobre
Nenhum
Usado por
Nenhum ainda