# Swipe Actions

Lista em que a linha arrasta pro lado e mostra as ações, com o mesmo menu pra quem usa teclado.

- Nome no registry: `swipe-actions`
- Tipo: componente
- Dependências npm: @radix-ui/react-dropdown-menu, lucide-react, motion
- Demo: https://ui.visantlabs.com/c/swipe-actions
- Categorias: controles, lista, gesto, arrastar, triagem

## Quando usar

- Use quando: Lista de triagem no celular, como inbox ou tarefas, arrastando a linha pra revelar ações
- Evite quando: Apagar vários de uma vez: black-hole; tabela no desktop, data-table

## Instalar

```bash
npx shadcn@latest add @visant/swipe-actions
```

## Usar

```tsx
<SwipeActions
  label="Caixa de entrada"
/>
```

## API

### SwipeActions

- `label: string` — Nome acessível da lista.
- `className?: string`

### SwipeActionsRow

- `label: string` — Nomeia o botão de menu da linha, ex.: o assunto da mensagem.
- `className?: string`
- `fullSwipe?: boolean = true` — Deixa o arrasto longo executar a ação da ponta sem toque.
- `leading?: SwipeAction[] = []` — Ações sob a borda esquerda (arrasta pra direita). A primeira executa no arrasto longo.
- `peek?: boolean = false` — Ao montar, a linha dá uma espiada curta pro lado das ações e volta: ensina o gesto sem texto. Use numa linha só (a primeira), nunca na lista toda.
- `trailing?: SwipeAction[] = []` — Ações sob a borda direita (arrasta pra esquerda). A última executa no arrasto longo.
