| Small viewport | Full/dialog por CSS Air | auto sheet con `data-sheet` |
| Exit cause | No | `data-last-action` y eventos causales |
## Gaps
| Gap | Disposición | Detalle |
| --- | --- | --- |
| `Dialog.Positioner` como part público | **descartar** | Ark UI lo expone pero la posición en UIX es responsabilidad visual de `Content.position` (3x3 grid de posiciones). Exponerlo como part DOM duplicaría responsabilidad sin ARIA propia. |
| Animaciones SSR-safe con `forceMount` por part | **diferir** | Soma soporta forceMount global; falta el granular per-part. Sin caso de uso urgente. |
| Confirm / dismiss callbacks tipo Radix `onCloseAutoFocus` | **implementar** | Soma ya soporta los callbacks; falta documentación en README de Eidos y wireup en el demo. |
| Drag-to-dismiss en sheet móvil | **diferir** | Patrón móvil-only. Bibliotecas como vaul lo implementan. Sin demanda actual; cuando llegue, vive en una capa de interaction, no en Dialog. |
| Stacking visual de dialogs anidados | **implementar** | Soma ya emite `data-depth` y `data-nested`/`data-nested-open` en el morfo. Falta CSS canónica para inset/offset por depth en la recipe. |
| Bottom sheet drag handle | **diferir** | Composición de Drawer + indicator. Si llega un caso, Drawer es el dueño. |
| `Dialog.AlertDialog` como variante separada | **descartar** | Vivo como `alert-dialog` (componente aparte) por diferencias semánticas (intent, regime, role). No se duplica aquí. |
## Referencias
- Air anterior: `glm-5:src/uix/air/components/dialog`.