Modal

El componente Modal nos permite atraer la atención de la persona usuaria hacia un cuadro emergente que puede contener texto, acciones o formularios para realizar tareas cambiando el foco desde la operación que permanece en segundo plano. Es un componente intrusivo ya que interrumpe la operación habitual para exponer un mensaje o contenido.

import React from "react";
import { Modal, Text, Box } from "@nimbus-ds/components";

const Example: React.FC = () => (
  <Modal open onDismiss={() => console.log("close")}>
    <Modal.Header title="Title" />
    <Modal.Body>
      <Box
        borderColor="neutral-interactive"
        borderStyle="dashed"
        borderWidth="1"
        padding="2"
      >
        <Text fontSize="base" textAlign="center">
          Replace me with your content
        </Text>
      </Box>
    </Modal.Body>
  </Modal>
);

export default Example;

Se compone de un fondo traslúcido a pantalla completa y un contenedor flotante centrado con bordes redondeados y sombra con un padding opcional.

Usamos el componente para mostrar diálogos o presentar opciones a la persona usuaria que debe resolver antes de continuar operando. Son de caracter intrusivo ya que interrumpen completamente la navegación. Es por esto que debemos usarlos muy ocasionalmente.

El Modal debería siempre presentar a la persona usuaria con acciones para llevar a cabo. Las mismas deben formar parte del footer del modal, y se ubican del lado derecho del mismo.

El Modal debería cerrarse siempre mediante el botón de X en el header, haciendo click fuera del contenedor, o apretando la tecla ESC en el teclado.

Evitar su uso para formularios largos o ventanas con muchas opciones.

  • Confirmar la eliminación de un elemento
  • Presentar opciones como filtros u ordenamiento en listas
  • Confirmar una acción antes de pasar a otra instancia
  • Popover - Es un elemento flotante que puede ser usado para presentar información o acciones de forma poco intrusiva.
  • Alert - Es un componente que muestra información crítica o sensible a la persona usuaria de forma no intrusiva dentro del contexto de una página.

Instalá el componente via terminal.

npm install @nimbus-ds/modal

Additional props are passed to the <Modal> element. See div docs for a list of props accepted by the <Modal> element.