Saltar al contenido
Menú

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.

ControlTipoValor inicialLímites de la vista previa
fromselecttopOpciones: top, bottom, left, right
trapFocusbooleantrueLos metadatos no indican otro límite.
accentcolor#F5C542Los metadatos no indican otro límite.
labeltextSession settingsHasta 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.

Conecta tu agente

Componentes abiertos relacionados