Saltar al contenido principal

wiki-Modal

Ver en Git


Modal

El componente Modal es una ventana modal flexible y personalizable que permite mostrar contenido superpuesto en la interfaz de usuario. Incluye subcomponentes para estructurar el contenido: Title, Body y Footer.

Referencia de la API​

PropiedadTipoDescripciónOpcionalValores posibles
classNamestringClases CSS adicionales para el contenido principal del modal.Sí-
openbooleanControla si el modal está visible.Sítrue, false
wrapperClassNamestringClases CSS adicionales para el contenedor del modal.Sí-
childrenReactNodeContenido del modal, que puede incluir los subcomponentes Title, Body y Footer.No-
onCancel() => voidFunción que se ejecuta al cerrar el modal.Sí-
maskClosablebooleanDetermina si el modal se cierra al hacer clic fuera de él.Sítrue, false
closeIconbooleanMuestra o no el ícono para cerrar el modal.Sítrue, false
centeredbooleanCentra el modal verticalmente en la pantalla.Sítrue, false

Title Props​

PropiedadTipoDescripciónOpcionalValores posibles
classNamestringClases CSS adicionales para el título.Sí-
childrenReactNodeContenido del título.Sí-
textstringTexto para el título.Sí-

Body Props​

PropiedadTipoDescripciónOpcionalValores posibles
classNamestringClases CSS adicionales para el cuerpo.Sí-
childrenReactNodeContenido del cuerpo.Sí-
stylesCSSPropertiesEstilos CSS en línea para el cuerpo.Sí-
PropiedadTipoDescripciónOpcionalValores posibles
classNamestringClases CSS adicionales para el pie.Sí-
childrenReactNodeContenido del pie.Sí-
stylesCSSPropertiesEstilos CSS en línea para el pie.Sí-

Ejemplo de uso​

import { useState } from 'react';
import { Modal } from '@auravant/ui-kit';

export const BasicModalExample = () => {
const [isOpen, setIsOpen] = useState(false);

return (
<>
<button onClick={() => setIsOpen(true)}>Abrir Modal</button>

<Modal open={isOpen} onCancel={() => setIsOpen(false)}>
<Modal.Title text="Título Modal" />
<Modal.Body>
<p>Contenido modal.</p>
</Modal.Body>
<Modal.Footer>
<button onClick={() => setIsOpen(false)}>Cerrar</button>
</Modal.Footer>
</Modal>
</>
);
};

import { useState } from 'react';
import { Modal } from '@auravant/ui-kit';

export const CenteredModalExample = () => {
const [isOpen, setIsOpen] = useState(false);

return (
<>
<button onClick={() => setIsOpen(true)}>Abrir Modal Centrado</button>

<Modal
open={isOpen}
centered
maskClosable={false}
onCancel={() => setIsOpen(false)}
>
<Modal.Title>
<h2>Modal Centrado</h2>
</Modal.Title>
<Modal.Body>
<p>Centrado y no se puede cerrar haciendo click en la máscara.</p>
</Modal.Body>
<Modal.Footer>
<button onClick={() => setIsOpen(false)}>Cerrar</button>
</Modal.Footer>
</Modal>
</>
);
};

Notas​

  • Los subcomponentes Title, Body y Footer ayudan a estructurar y estilizar el contenido del modal.
  • El z-index del modal se ajusta automáticamente para evitar superposición incorrecta con otros elementos.