Sigue los arrastres, ofrece resistencia más allá de su posición más grande y se asienta con la velocidad con la que sueltas; un gesto rápido la mueve una posición o la cierra.
Los arrastres táctiles pasan al contenido con scroll: tirar hacia abajo desplaza el contenido hasta arriba antes de que se mueva la hoja.
Posiciones como fracciones de la pantalla, píxeles o 'content' para el tamaño natural del contenido.
Una hoja modal mantiene el foco dentro, deja la página inerte y se cierra con Escape o con el fondo.
Úsalo para
Un panel de filtros.
Un menú para compartir.
Un cajón de navegación con side="start".
Props
Prop
Tipo
Por defecto
Descripción
open
boolean
false
Si la hoja se muestra.
onOpenChange
(open) => void
Se ejecuta con false cuando la hoja se cierra arrastrando, tocando o con Escape.
detents
(number | 'content')[]
['content']
Tamaños de reposo: una fracción de la pantalla, píxeles o 'content'.
detent
number
Índice de posición controlado.
defaultDetent
number
0
Índice de posición que se usa al abrir sin detent.
onDetentChange
(index) => void
Se ejecuta con el índice de la posición en la que se asienta la hoja.
side
'bottom' | 'top' | 'start' | 'end'
'bottom'
El borde desde el que aparece la hoja.
modal
boolean
true
Añade un fondo, mantiene el foco dentro y deja la página inerte.
dismissible
boolean
true
Arrastrar más allá de la posición más pequeña, el fondo y Escape la cierran.
backdropClassName
string
Clase para el fondo; backdropStyle fija su estilo en línea.
transition
Transition
spring
Una curva de tiempo { duration, easing } o un resorte { tempo: 'spring', spring }. Los resortes conservan su impulso cuando se interrumpen.
Las demás props van al elemento renderizado, así que className, style y los manejadores de eventos funcionan como siempre.
Web y React Native
En la web, una hoja modal es un dialog nativo; el panel es una columna flex a la que das estilo con className.
En React Native se renderiza en un Modal transparente y el botón de retroceso la cierra. Los ScrollView internos conservan sus propios gestos, así que la hoja se arrastra desde su asa, su cabecera y otras zonas fijas.