# Focus-Trapped Modal Kit

https://fieldbook.lizardi.mx/es/components/focus-trapped-modal-kit

Categoría: Capas superpuestas
![Imagen fija del componente Focus-Trapped Modal Kit de Fieldbook, de la categoría Capas superpuestas.](https://fieldbook.lizardi.mx/thumbs/focus-trapped-modal-kit.webp)
Preview video: https://ejpqcxcjbiyabxkx.public.blob.vercel-storage.com/previews/focus-trapped-modal-kit-d82f9a88ec.mp4 (5 s, silent)

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.

## Frameworks

react, vue, svelte, astro, html

## Controles de 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.

| Nombre | Tipo | Valor inicial | Opciones o restricciones |
| --- | --- | --- | --- |
| 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 |

## Notas de uso

Focus-Trapped Modal Kit se presenta con el formato de vista previa «tarjeta» y el tema «claro/oscuro».

### ¿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.

## Instalación mediante MCP

Conecta tu cliente, llama a get_component para obtener la implementación y después a get_install_command para consultar las instrucciones. Elige un framework de la lista, integra el código y verifica su funcionamiento en tu aplicación.

```json
{
  "tool": "get_component",
  "arguments": {
    "slug": "focus-trapped-modal-kit",
    "framework": "react"
  }
}
```

[Para agentes](https://fieldbook.lizardi.mx/es/docs/agents)
[MCP](https://fieldbook.lizardi.mx/api/mcp)

## Componentes abiertos relacionados

- [Bounce warning dialog](https://fieldbook.lizardi.mx/es/components/bounce-warning-dialog)
- [Centered modal frame](https://fieldbook.lizardi.mx/es/components/centered-modal-frame)
- [Confirm action modal](https://fieldbook.lizardi.mx/es/components/confirm-action-modal)
- [Consequence confirm dialog](https://fieldbook.lizardi.mx/es/components/consequence-confirm-dialog)
- [Destructive confirm dialog](https://fieldbook.lizardi.mx/es/components/destructive-confirm-dialog)
- [Perspective reveal dialog](https://fieldbook.lizardi.mx/es/components/perspective-reveal-dialog)
