ITpS

Componentes

Modal

Dialog 800px com header (ícone + title + description + close), body slot livre, footer (cancel + primary). Native `<dialog>`, ESC e click-outside fecham.

Default

Dispara via data-modal-open="<id>" em qualquer elemento. Slot default = body.

Confirmar exclusão

Esta ação não pode ser desfeita.

O paciente e todos os dados associados serão removidos permanentemente.

Statuses no header

alert (amarelo warning) e error (coral) trocam o ícone do header.

Sem conexão

Suas alterações foram salvas localmente.

Falha no upload

O arquivo excede 10MB.

Footer aparece automaticamente quando há primaryText. Cancel default = “cancelar” (ghost).

Salvar e fechar?

Suas alterações serão aplicadas.

Você pode reabrir o prontuário a qualquer momento na lista.

Modal informativo, fecha só pelo X / ESC / click-outside.

Sinapse Design System

Versão 1.0

Sistema de design construído com Astro, Tailwind v4 e tokens semânticos.

Como funciona

  • Renderiza <dialog> nativo — showModal() automatiza foco, backdrop, ESC
  • Trigger via data-modal-open="<id>" em qualquer elemento clicável
  • Click no backdrop fecha (handler global)
  • Width 800px, max-w 100% - 2rem (responsivo)

Props

PropTipoDefaultDescrição
idstringobrigatórioID único, usado pelo trigger.
titlestringobrigatórioTítulo do header.
descriptionstringSubtítulo opcional.
status'default' | 'alert' | 'error''default'Cor/ícone do header.
showIconbooleanfalseForça exibir ícone (default só em alert/error).
iconstringpor statusMaterial Symbol custom.
cancelTextstring'cancelar'Texto do botão cancel.
primaryTextstringTexto do botão primary. Sem isso, footer some.
primaryHrefstringFaz primary virar <a>.
secondaryTextstringBotão secundário entre cancel e primary.
showFooterbooleantrueSuprime footer inteiro.
classstringClasses adicionais.