modal
Modal é uma janela que aparece por cima da tela principal para prover uma informação importante no fluxo.
índice
demo interativa
Uma versão de interativa do componente desenvolvido.
propriedades*
property | description | required | default value | type |
---|---|---|---|---|
title | Set modal title | true | undefined | string |
description | Set modal description | false | undefined | string |
body | A component to be used in the body of the modal | true | undefined | ReactNode |
footer | A component to be used in the footer of the modal | false | undefined | ReactNode |
size | Set modal size | false | undefined | small large full |
closeButtonAriaLabel | Change the aria-label of the close button | false | undefined | string |
isOpen | Controls when modal is open | true | undefined | boolean |
onClose | Callback called when modal is closed | false | () => undefined | () => void |
*valores gerados automaticamente.
formatação

- Header: representa o topo da modal, contendo título, subtitulo (opcional) e botão para fechar a modal.
- Content: é a parte interna da modal. O conteúdo desta parte pode variar conforme a necessidade de cada time.
- Footer: é a base da modal, onde estão localizados os botões de ação.
uso
A modal é usada contextualmente, após uma interação na interface (como acionar um botão), para dar foco a uma informação ou ação que precisa ser realizada naquele momento.
variação | utilização |
---|---|
small | Usada para conteúdos curtos. |
large | Usada quando se necessita apresentar conteúdos mais densos e componentes não textuais. |
grupos e alinhamento
A modal deve ser alinhada no centro da página até atingir sua altura máxima (80% resolução da tela), quando passa a ter rolagem no conteúdo interno.

alinhamento da modal
guia de conteúdo
- O conteúdo da modal deve ser sucinto e propositivo, pois o uso da modal interrompe o fluxo principal da aplicação.
- Não deve ser mostrada para indicar erro ou sucesso.
- Na variação large, intercale o uso de texto com outros componentes para facilitar a leitura.
- Não abra uma modal por cima de outra.


guia de design
- Tem guia de uso.
- Tem guia de conteúdo.
- Usa os design tokens.
- Tem símbolo no Figma.
- Possui motion.
- Possui versão web.
- Possui versão responsiva.
- Possui versão mobile.
- É acessível via leitor de tela.
- Texto possui contraste acessível (WCAG 2.0 - Nível AA).
conteúdo relacionado
Migração do United para Olist Design System
Propriedades
United | Olist Design System |
---|---|
maxWidth | ❌ |
messages | ❌ |
onRequestClose | onClose |
shouldCloseOnOverlayClick | ❌ |
shouldShowCloseIcon | ❌ |
variation | size |
❌ | title |
❌ | description |
❌ | body |
❌ | footer |
❌ | target |
❌ | closeButtonAriaLabel |
❌ | isOpen |
Variações (Tamanhos) Existentes
United | Olist Design System |
---|---|
default | large |
compact | large |
dialog | small |
full | full |
theater | large |