Capas superpuestas
Focus-Trapped Modal Kit
Focus-Trapped Modal Kit: Una base modal básica cuyo objetivo principal es el comportamiento disciplinado del teclado: atrapa el enfoque mientras está abierto y lo restaura precisamente al cerrar, envuelto en una entrada inclinable.
Cómo usar Focus-Trapped Modal Kit
Focus-Trapped Modal Kit se presenta con el formato de vista previa «tarjeta» y el tema «claro/oscuro».
Personalizar la vista previa
Estos controles se pasan a la demo. Los valores y límites describen la vista previa; consulta la implementación para conocer todas sus props.
| Control | Tipo | Valor inicial | Límites de la vista previa |
|---|---|---|---|
from | select | top | Opciones: top, bottom, left, right |
trapFocus | boolean | true | Los metadatos no indican otro límite. |
accent | color | #F5C542 | Los metadatos no indican otro límite. |
label | text | Session settings | Hasta 50 caracteres |
¿Para qué frameworks está disponible Focus-Trapped Modal Kit?
Focus-Trapped Modal Kit está disponible para React, Vue, Svelte, Astro, HTML. La vista previa usa React; las observaciones sobre el código corresponden a index.tsx. Revisa la versión elegida antes de asumir que ofrece las mismas interacciones.
¿Qué dependencias tiene Focus-Trapped Modal Kit?
Los metadatos de React indican estas dependencias npm además de React: motion, clsx, tailwind-merge.
¿Qué detalles de accesibilidad se observan en Focus-Trapped Modal Kit?
El código React de Focus-Trapped Modal Kit incluye: elementos nativos (button); atributos y manejadores (aria-checked, aria-hidden, aria-label, aria-modal, onKeyDown, tabIndex); roles explícitos (dialog, switch); comparaciones de teclas (Escape, Tab). Son observaciones del código. Comprueba los nombres accesibles, el orden del foco y el comportamiento del teclado en la página completa.
¿Cómo maneja Focus-Trapped Modal Kit el movimiento reducido?
Focus-Trapped Modal Kit consulta la preferencia de movimiento en su código React mediante useReducedMotion(). Expresiones de index.tsx que dependen de la preferencia: duration: reduced ? 0 : 0.18; enter: reduced ? { duration: 0.14 } : { type: "spring", stiffness: 260, damping: 24, mass: 0.85 }; exit: reduced ? { duration: 0.1 } : { duration: 0.16, ease: [0.4, 0, 1, 1] }. Revisa la implementación completa, los estilos compartidos y la versión elegida con movimiento reducido activado; estas observaciones no garantizan que se detengan todas las animaciones.