# Black Hole

Apagar em lote com as linhas sugadas para um ponto só, a lista se inclinando em volta e o desfazer devolvendo tudo do mesmo lugar.

- Nome no registry: `black-hole`
- Tipo: componente
- Dependências npm: lucide-react, motion
- Demo: https://ui.visantlabs.com/c/black-hole
- Categorias: feedback, lista, apagar, desfazer, inbox, canvas, transicao

## Quando usar

- Use quando: Apagar em lote numa lista ou inbox, com as linhas sugadas e o desfazer devolvendo tudo
- Evite quando: Apagar um item só: confirm-morph; triagem linha a linha no celular, swipe-actions

## Instalar

```bash
npx shadcn@latest add @visant/black-hole
```

## Usar

```tsx
<BlackHole />
```

## API

### BlackHole

- `items: T[]`
- `renderItem: (item: T) => any` — O miolo da linha. A caixa de seleção e o foco são da peça.
- `defaultSelected?: string[]` — Ids que já chegam marcados.
- `deletedText?: (n: number) => string = "(n) => (n === 1 ? "1 apagada" : `${n} apagadas`)"` — Texto do aviso depois de apagar.
- `itemLabel?: (item: T) => string` — Rótulo de uma linha para leitor de tela.
- `onDelete?: (ids: string[]) => void`
- `onRestore?: (ids: string[]) => void`
- `title?: string = "Caixa de entrada"` — Título no cabeçalho da lista.
- `undoMs?: number = 5000` — ms até o desfazer sumir.
