Como abrir e fechar elementos Dialog usando JavaScript?

Diálogos permitem que você exiba informações ou ações importantes para os usuários. Com o elemento dialog embutido do HTML, você pode criar facilmente esses diálogos (tanto modais quanto não modais) em suas aplicações web. Uma caixa de diálogo modal é um tipo de diálogo que obriga o usuário a interagir com ela antes que possa acessar o restante da aplicação ou página da web. Ele bloqueia efetivamente a interação com outros conteúdos até que o usuário complete uma ação, como fechar o diálogo ou enviar um formulário. Em contraste, um diálogo não modal permite que o usuário continue interagindo com outras partes da página ou aplicação mesmo quando o diálogo está aberto. Isso não impede o acesso ao restante do conteúdo. Nesta lição, você aprenderá como abrir e fechar modais usando os métodos showModal() e close(). Quando você quer garantir que o usuário foque em uma ação ou mensagem específica de um modal, você pode abrir a caixa de diálogo modal usando o método showModal(). Isso adicionará um fundo para os outros itens na página e os desativará. Isto é ideal para modais que exibem formulários, confirmações e informações críticas que requerem ação do usuário.  Aqui está o HTML para o modal dialog:
<dialog id="my-modal">
  <p>This is a modal dialog.</p>
</dialog>
Por enquanto, você não pode ver nada na página porque o modal está fechado na renderização inicial. Você pode abrir o modal automaticamente usando o método showModal():
<dialog id="modal">
  <p>This is a modal dialog.</p>
</dialog>
<script src="index.js"></script>
const dialog = document.getElementById("modal");
dialog.showModal();
O resultado no navegador mostrará um modal com o texto This is a modal dialog. É melhor dar o controle ao usuário. Para conseguir isso, você pode adicionar um listener de evento de clique a um botão e usar o método showModal():
<dialog id="modal">
  <p>This is a modal dialog.</p>
</dialog>
<button id="open-modal-btn">Open Modal Dialog</button>
<script src="index.js"></script>
const dialog = document.getElementById("modal");
const openButton = document.getElementById("open-modal-btn");

openButton.addEventListener("click", () => {
  dialog.showModal();
});
Se você precisar mostrar um diálogo enquanto ainda permite a interação com o conteúdo fora do diálogo, então você pode usar o método show():
<dialog id="modal">
  <p>This is a modal dialog.</p>
</dialog>
<button id="open-modal-btn">Open Modal Dialog</button>
<script src="index.js"></script>
const dialog = document.getElementById("modal");
const openButton = document.getElementById("open-modal-btn");

openButton.addEventListener("click", () => {
  dialog.show();
});
Para fechar um modal, você pode adicionar um botão ao modal dentro do elemento dialog e usar o método close():
<dialog id="modal">
  <p>This is a modal dialog.</p>
  <button id="close-modal-btn">Close Modal</button>
</dialog>
<button id="open-modal-btn">Open Modal Dialog</button>
<script src="index.js"></script>
const dialog = document.getElementById("modal");
const openButton = document.getElementById("open-modal-btn");
const closeButton = document.getElementById("close-modal-btn");

openButton.addEventListener("click", () => {
  dialog.show();
});

closeButton.addEventListener("click", () => {
  dialog.close();
});
Este módulo não possui perguntas. Marque como concluído.