Componentes / Modals

Modals

Dialogos modais com overlay, header/body/footer e botoes de acao. Suporte a confirmacao, formularios, alertas e diferentes layouts de footer.

Estrutura Basica

Preview (inline)

Titulo do Modal

Conteudo do modal. Aqui voce pode incluir textos, formularios e outros componentes.

HTML
<div class="canta-modal-overlay">
  <div class="canta-modal">
    <div class="canta-modal__header">
      <h3>Titulo do Modal</h3>
      <button class="canta-modal__close" aria-label="Fechar">
        <span class="material-symbols-rounded">close</span>
      </button>
    </div>
    <div class="canta-modal__body">
      <p>Conteudo do modal.</p>
    </div>
    <div class="canta-modal__footer">
      <button class="canta-btn canta-btn--outline">Cancelar</button>
      <button class="canta-btn canta-btn--primary">Confirmar</button>
    </div>
  </div>
</div>

Confirmacao

Padrao mais comum: cancelar a esquerda, confirmar a direita.

Footer alinhado a direita (padrao)

Confirmar acao

Tem certeza que deseja salvar as alteracoes? Esta acao nao pode ser desfeita.

Acao Destrutiva

Para exclusoes e acoes irreversiveis. Botao principal em vermelho.

Footer com botao danger

Excluir registro

error

Esta acao e permanente

O registro sera excluido e nao podera ser recuperado. Todos os dados relacionados tambem serao removidos.

Com Formulario

Modal com campos de entrada e footer com botoes de salvar/cancelar.

Modal com form

Novo Colaborador

Layouts de Footer

--between: espalhados
--center: centralizado
--stack: empilhados (mobile)
3 botoes: acao extra + cancelar + confirmar

Sem Footer

Para mensagens informativas que nao requerem acao. Apenas fechar via X.

Apenas header + body

Informacao

Sua solicitacao foi recebida e esta sendo processada. Voce recebera um e-mail de confirmacao em breve.

Protocolo: #2024-04-00781

Sem Header

Minimalista, para alertas simples. Botao de fechar no canto do body.

Apenas body + footer
warning

Sessao expirando

Sua sessao expira em 5 minutos. Deseja continuar conectado?

Sucesso

Feedback positivo apos uma acao bem-sucedida.

Modal de sucesso
check

Salvo com sucesso!

O registro do colaborador foi atualizado e ja esta disponivel no sistema.

Processando

Modal nao-dismissivel para operacoes em andamento.

Sem botao fechar, sem footer

Processando...

Gerando relatorio. Isso pode levar alguns segundos.

Conteudo Scrollable

Para termos de uso, politicas ou conteudo longo. Body com scroll, header e footer fixos.

Body com max-height e overflow

Termos de Uso

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.

Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium.

Tamanhos

SM (400px) / MD (560px, padrao) / LG (800px)

Small

Confirmacao rapida. Max-width: 400px.

Tamanhos disponiveis
<div class="canta-modal canta-modal--sm">...</div>   <!-- 400px -->
<div class="canta-modal">...</div>                  <!-- 560px (padrao) -->
<div class="canta-modal canta-modal--lg">...</div>   <!-- 800px -->
<div class="canta-modal canta-modal--xl">...</div>   <!-- 1040px -->
<div class="canta-modal canta-modal--full">...</div>  <!-- tela cheia -->

Demos Interativas

Clique para abrir

API

Classe Descricao
.canta-modal-overlayFundo escuro cobrindo a tela
.canta-modalContainer do dialogo
.canta-modal__headerCabecalho com titulo e botao fechar (opcional)
.canta-modal__bodyConteudo principal
.canta-modal__footerRodape com botoes (opcional)
.canta-modal__closeBotao X no header
Tamanhos
.canta-modal--sm400px
.canta-modal--md560px (padrao)
.canta-modal--lg800px
.canta-modal--xl1040px
.canta-modal--fullTela cheia
Footer Layout
.canta-modal__footerBotoes alinhados a direita (padrao)
.canta-modal__footer--betweenBotoes espalhados (esquerda + direita)
.canta-modal__footer--centerBotoes centralizados
.canta-modal__footer--stackBotoes empilhados (full width, mobile)
.canta-modal__footer--startBotoes alinhados a esquerda
.canta-modal__footer--cleanSem background e sem borda
Variantes
.canta-modal--centeredBody centralizado
.canta-modal--scrollableBody com scroll, header/footer fixos
.canta-modal--header-primaryHeader azul
.canta-modal--header-dangerHeader vermelho