Saltar al contenido

🎉 Material UI v5 is out now! Check out the announcement blog post

Dialog (diálogo)

Los diálogos informan a los usuarios sobre una tarea y pueden contener información importante, requerir decisiones, o involucrar múltiples tareas.

Un Diálogoes una clase de ventana modal que aparece encima del contenido para proveer información importante o pedir que el usuario tome una decision. Los diálogos deshabilitan todas las funcciones de la aplicación cuando aparecen, y se quedan visibles hasta que se confirman, se descartan, o se toma alguna acción necesaria.

Los diálogos están diseñados para interrumpir el usuario, por eso deben usarse sólo cuando sean necesarios.

Diálogos simples

Simple dialogs can provide additional details or actions about a list item. For example, they can display avatars, icons, clarifying subtext, or orthogonal actions (such as adding an account).

Mecánica táctil:

  • Elegir una opción confirma inmediatamente la opción y cierra el menú
  • Tocar fuera del diálogo, o presionar Atrás, cancela la acción y cierra el cuadro de diálogo
Selected: user02@gmail.com

<Typography variant="subtitle1">Selected: {selectedValue}</Typography>
<br />
<Button variant="outlined" color="primary" onClick={handleClickOpen}>
  Open simple dialog
</Button>
<SimpleDialog selectedValue={selectedValue} open={open} onClose={handleClose} />

Alertas

Las alertas son interrupciones urgentes, que requieren reconocimiento, que informan al usuario sobre una situación.

La mayoría de las alertas no necesitan títulos. Resumen una decisión en una o dos frase, ya sea por:

  • Hacer una pregunta (por ejemplo, "¿Eliminar esta conversación?")
  • Hacer una declaración relacionada con los botones de acción

Use title bar alerts only for high-risk situations, such as the potential loss of connectivity. Users should be able to understand the choices based on the title and button text alone.

Si se necesita un título:

  • Use una pregunta o afirmación clara con una explicación en el área de contenido, tal como "¿Borrar el almacenamiento USB?".
  • Evite disculpas, ambigüedades o preguntas, como "¡Advertencia!" O "¿Está seguro?"

Transiciones

También puede intercambiar la transición, el siguiente ejemplo utiliza Slide.

Diálogos de formularios

Los diálogos de formulario permiten a los usuarios llenar campos dentro de un cuadro de diálogo. Por ejemplo, si su sitio solicita a los potenciales suscriptores completar su dirección de correo electrónico, pueden completar el campo y tocar 'Enviar'.

Diálogos personalizados

He aquí un ejemplo de personalización del componente. You can learn more about this in the overrides documentation page.

The dialog has a close button added to aide usability.

Diálogos de pantalla completa

Tamaños opcionales

Puede establecer un ancho máximo de diálogo utilizando el enumerable maxWidth en combinación con el boleano fullWidth. Cuando la propiedad fullWidth es verdadera, el diálogo se adaptará según el valor de maxWidth.

Pantalla completa responsiva

You may make a dialog responsively full screen using useMediaQuery.

import useMediaQuery from '@material-ui/core/useMediaQuery';

function MyComponent() {
  const theme = useTheme();
  const fullScreen = useMediaQuery(theme.breakpoints.down('sm'));

  return <Dialog fullScreen={fullScreen} />
}

Diálogos de confirmación

Los diálogos de confirmación requieren que los usuarios confirmen explícitamente su elección antes de que se confirme una opción. Por ejemplo, los usuarios pueden escuchar varios tonos de llamada, pero solo hacer una selección final al tocar "Aceptar".

Al tocar "Cancelar" en un cuadro de diálogo de confirmación, o al presionar Atrás, se cancela la acción, se descartan los cambios y se cierra el cuadro de diálogo.

Interruptions
Phone ringtone

Dione

Default notification ringtone

Tethys

Diálogo arrastrable

Puede crear un cuadro de diálogo arrastrable utilizando react-draggable. Para hacerlo, puede pasar el componente importado Draggable como PaperComponent del componente Dialog. Esto hará que todo el diálogo se pueda arrastrar.

Desplazando contenido largo

Cuando los diálogos se vuelven demasiado largos para la ventana o el dispositivo del usuario, se desplazan.

  • scroll=paper el contenido del diálogo se desplaza dentro del elemento Paper.
  • scroll=body el contenido del diálogo se desplaza dentro del elemento body.

Prueba la demostración de abajo para ver lo que queremos decir:

Limitaciones

Follow the Modal limitations section.

Accesibilidad

Sigue la Sección de accesibilidad de Modal.