Sheet
Drawer que entra desde un borde. Sirve para filtros, ajustes, detalle o menú sin abandonar la página. Para diálogos centrados usa Modal; para confirmar una acción, AlertDialog.
Preview principal
Para qué sirve
Contenido secundario sin salir de la página. Modal = centrado; AlertDialog = confirmar.
Cuándo usarlo
Section titled “Cuándo usarlo”| Necesitas… | Usa |
|---|---|
| Panel lateral / drawer | Sheet |
| Diálogo centrado (formulario, wizard) | Modal |
| Confirmar eliminar / logout | AlertDialog |
import { useState } from "react";import { Sheet, Button } from "devsoftec-ui";
function Ejemplo() { const [open, setOpen] = useState(false);
return ( <> <Button onClick={() => setOpen(true)}>Filtros</Button> <Sheet open={open} onClose={() => setOpen(false)} title="Filtros" side="right" size="sm"> {/* campos */} <Button variant="primary" onClick={() => setOpen(false)}>Aplicar</Button> </Sheet> </> );}| Prop | Tipo | Default | Descripción |
|---|---|---|---|
open |
boolean |
— | Visible |
onClose |
() => void |
— | Escape / backdrop / ✕ |
title |
ReactNode |
— | Título del header |
side |
right | left |
right |
Borde de entrada |
size |
sm | md | lg |
md |
Ancho (360 / 420 / 520) |
hideClose |
boolean |
false |
Oculta la ✕ |
children |
ReactNode |
— | Cuerpo |
Comportamiento
Section titled “Comportamiento”- Portal a
document.body+ z-index alto role="dialog"·aria-modal·aria-labelledby- Bloquea scroll del
body - Escape y clic en backdrop cierran
- Animación slide desde el borde