# Dynamic Island

A pílula que mostra a atividade em curso e cresce no lugar com os controles quando alguém toca nela.

- Nome no registry: `dynamic-island`
- Tipo: componente
- Dependências npm: motion
- Demo: https://ui.visantlabs.com/c/dynamic-island
- Categorias: feedback, pilula, atividade, morph, spring, timer, player, chamada

## Quando usar

- Use quando: Pílula de atividade em curso, como timer, player ou chamada, que cresce com controles ao tocar
- Evite quando: Aviso que some sozinho: toast-stack; espera de IA com etapas, status-ticker

## Instalar

```bash
npx shadcn@latest add @visant/dynamic-island
```

## Usar

```tsx
<DynamicIsland
  expanded
  activityKey="timer"
/>
```

## API

### DynamicIsland

- `children: any` — O miolo aberto, com os controles da atividade.
- `compact: any` — O miolo recolhido: ícone e um dado curto.
- `label: string` — Nome da atividade, lido pelo leitor de tela (“Timer, 4:56”).
- `activityKey?: string = "atividade"` — Chave da atividade. Trocar a chave morfa a ilha para a nova forma.
- `bounce?: number = 0.3` — Vida da mola, de 0 (seca) a 0,6 (saltitante).
- `defaultExpanded?: boolean = false`
- `expanded?: boolean` — Aberta ou recolhida, controlado.
- `onExpandedChange?: (expanded: boolean) => void`
