Ir para o conteúdo principal

Scrim

Visão Geral

Design System

Para a documentação completa de design, incluindo diretrizes de uso, acessibilidade e exemplos visuais, consulte o Design System do GovBR.

Exemplos

Cor customizada

Carregando exemplo
Formatar código
Copiar código
Resetar exemplo
StackBlitz
Abrir no StackBlitz
Alternar fundo do preview

Opacidade customizada

Carregando exemplo
Formatar código
Copiar código
Resetar exemplo
StackBlitz
Abrir no StackBlitz
Alternar fundo do preview

Desabilitar fechamento ao clicar

Carregando exemplo
Formatar código
Copiar código
Resetar exemplo
StackBlitz
Abrir no StackBlitz
Alternar fundo do preview

Estratégia de rolagem

Carregando exemplo
Formatar código
Copiar código
Resetar exemplo
StackBlitz
Abrir no StackBlitz
Alternar fundo do preview

Variante Spotlight

Carregando exemplo
Formatar código
Copiar código
Resetar exemplo
StackBlitz
Abrir no StackBlitz
Alternar fundo do preview

Variante Legibilidade

Carregando exemplo
Formatar código
Copiar código
Resetar exemplo
StackBlitz
Abrir no StackBlitz
Alternar fundo do preview

Propriedades

activator

Atributoactivator
DescriçãoDefine o seletor para o elemento activator.
Nota: O slot 'activator' tem prioridade sobre esta propriedade.
Tipostring
Valor padrãonull

ariaLabel

Atributoaria-label
DescriçãoDefine um rótulo acessível personalizado para o diálogo.
Se não fornecido, será usado "Conteúdo do diálogo" como padrão.
Tipostring
Valor padrãonull

bgColor

Atributobg-color
DescriçãoCor de fundo personalizada para o scrim.
Aceita os seguintes formatos de cor:
- Cores nomeadas do CSS: 'red', 'blue', 'green', 'yellow', etc.
- Códigos hexadecimais: '#ff0000', '#00ff00', '#0000ff', etc.
- Valores RGB: 'rgb(255, 0, 0)', 'rgb(0, 255, 0)', etc.
- Valores RGBA: 'rgba(255, 0, 0, 0.5)', 'rgba(0, 255, 0, 0.8)', etc.
- Valores HSL: 'hsl(0, 100%, 50%)', 'hsl(120, 100%, 50%)', etc.
- Valores HSLA: 'hsla(0, 100%, 50%, 0.5)', 'hsla(240, 100%, 50%, 0.7)', etc.
Se não especificada, usa a cor padrão do tema.
Tipostring
Valor padrãonull

contentLayout

Atributocontent-layout
DescriçãoDefine como o scrim aplica estilos de layout ao elemento filho (slot padrão).

- 'default': O scrim gerencia o layout do conteúdo, centralizando, animando e aplicando transformações e opacidade automaticamente.

- 'none': o scrim age como um componente controlado pelo pai. O filho recebe apenas a máscara visual, sem interferência de posicionamento, transformação ou opacidade.
Adequado para componentes que gerenciam seu próprio layout e estado de abertura. Além disso:

- Foco e eventos globais** não são interceptados pelo scrim — o componente filho gerencia seu próprio foco, navegação por teclado e fechamento via ESC.
- Clique no scrim emite brScrimClose sem fechar o scrim internamente, delegando o controle de estado ao pai (quem define isOpen).
- Use a propriedade zIndex para posicionar o scrim abaixo do painel do filho. Exemplo: zIndex={2999} para o scrim e z-index: 3000 para o painel do filho.
Tipo"default" | "none"
Valor padrão'default'

customId

Atributocustom-id
DescriçãoIdentificador único.
Caso não seja fornecido, um ID gerado automaticamente será usado.
Tipostring
Valor padrãoHelpers.generateUniqueId()

customOpacity

Atributocustom-opacity
DescriçãoDefine a opacidade personalizada do scrim
Tiponumber
Valor padrãonull

disableCloseOnClick

Atributodisable-close-on-click
DescriçãoDesativa o fechamento do scrim ao ser clicado
Tipoboolean
Valor padrãofalse

displayMode

Atributodisplay-mode
DescriçãoDefine o modo de exibição do scrim:
- 'fullscreen': Ocupa toda a tela (position: fixed). (padrão)
- 'parent': Ocupa apenas o elemento pai (position: absolute).
O elemento pai deve ter position: relative ou outro valor diferente de static.

Para a variante 'legibility', este atributo é ignorado: o posicionamento é sempre
calculado automaticamente a partir das coordenadas do elemento pai.
Tipo"fullscreen" | "parent"
Valor padrão'fullscreen'

isOpen

Atributois-open
DescriçãoAtiva/desativa o scrim
Tipoboolean
Valor padrãofalse

legibilityAnchor

Atributolegibility-anchor
DescriçãoDefine a borda de ancoragem da faixa de cobertura da variante legibility.

Controla de qual borda (ou centro) do elemento a máscara de overlay cresce,
tendo seu tamanho determinado por legibilitySize.

- 'top': faixa ancorada na borda superior, cresce para baixo.
- 'bottom': faixa ancorada na borda inferior, cresce para cima.
- 'left': faixa ancorada na borda esquerda, cresce para a direita.
- 'right': faixa ancorada na borda direita, cresce para a esquerda.
- 'center': faixa centralizada verticalmente no elemento.

Quando legibilitySize é null, a máscara ocupa 100% independentemente
da âncora definida, equivalendo a uma cobertura total.

Só tem efeito quando variant="legibility".
Tipo"bottom" | "center" | "left" | "right" | "top"
Valor padrão'bottom'

legibilitySize

Atributolegibility-size
DescriçãoDefine o tamanho da faixa de cobertura da variante legibility, usado em
conjunto com legibilityAnchor.

Aceita qualquer valor CSS de comprimento válido:
- Percentual relativo ao elemento pai: '40%', '75%'
- Comprimento absoluto: '120px', '8rem', '6em'
- Função CSS: 'calc(100% - 2rem)'

Quando null (padrão), a máscara ocupa 100% da dimensão relevante:
- altura para âncoras top, bottom e center
- largura para âncoras left e right

Só tem efeito quando variant="legibility" está definido.
Tipostring
Valor padrãonull

positionContent

Atributoposition-content
DescriçãoPosiciona o conteúdo no topo, centro, direita, esquerda, abaixo dentro do scrim (obrigatório)
Tipo"bottom" | "center" | "left" | "right" | "top"
Valor padrão---

scrollStrategy

Atributoscroll-strategy
DescriçãoDefine a estratégia de manipulação de rolagem quando scrim está aberto
- 'block': Impede a rolagem completamente
- 'close': Fecha o scrim quando ocorre rolagem (obrigatório)
Tipo"block" | "close"
Valor padrão---

scrollThreshold

Atributoscroll-threshold
DescriçãoDetermina quanto de rolagem (em pixels) é necessário para acionar a ação de fechamento automático do scrim.
Tiponumber
Valor padrão50

spotlightPadding

Atributospotlight-padding
DescriçãoEspaçamento interno (em pixels) ao redor da área de fresta no scrim vazado.
Tiponumber
Valor padrão8

spotlightShape

Atributospotlight-shape
DescriçãoDefine a forma da área de fresta no scrim vazado.
- 'rect': Retangular com bordas retas.
- 'rounded': Retangular com bordas arredondadas (border-radius de 8px).
- 'circle': Elipse inscrita na área do elemento alvo.
Tipo"circle" | "rect" | "rounded"
Valor padrão'rect'

spotlightTargetId

Atributospotlight-target-id
DescriçãoAtiva o modo de scrim vazado (variante 'spotlight'), criando uma área de fresta no overlay
que destaca o elemento referenciado pelo seletor CSS fornecido.
Tipostring
Valor padrãonull

variant

Atributovariant
DescriçãoDefine a variante semântica do scrim
- 'focus': Redireciona o foco hierárquico do usuário. Cor #000000 com opacidade 40%. (padrão)
- 'spotlight': Scrim vazado — destaca um elemento específico criando uma fresta no overlay.
Aplica as mesmas cores da variante 'focus'. Use spotlightTargetId para indicar o elemento a ser destacado.
- 'legibility': Melhora o contraste e leitura de texto sobre superfícies. Cor #000000 com opacidade 64%.
Para cobertura parcial, use legibilityAnchor + legibilitySize.
Para gradiente suave, use bgColor com um valor de gradiente CSS e customOpacity="1",
ex.: bg-color="linear-gradient(to top, rgba(0,0,0,0.64), transparent)"..

Quando definida, aplica automaticamente as especificações de cor e opacidade do Design System.
As propriedades bgColor e customOpacity têm prioridade e sobrepõem os valores da variante.
Tipo"focus" | "legibility" | "spotlight"
Valor padrão'focus'

zIndex

Atributoz-index
DescriçãoDefine o valor de z-index do scrim
Tiponumber
Valor padrãonull

Slots

NomeDescrição
"activator"Slot para o elemento ativador do scrim, com prioridade sobre a propriedade activator.
"default"Slot para o conteúdo principal a ser exibido sobre o fundo escurecido do scrim.

Eventos

EventoDescriçãoPropagação
brScrimCloseIndica que o scrim foi fechadotrue
brScrimOpenIndica que o scrim foi aberto.true

Métodos

close

Assinaturaclose() => Promise<void>
DescriçãoMétodo público para esconder o scrim
Parâmetros---

open

Assinaturaopen() => Promise<void>
DescriçãoMétodo público para exibir o scrim
Parâmetros---

setScrollThreshold

AssinaturasetScrollThreshold(threshold: number) => Promise<void>
DescriçãoDefine o limite de rolagem para o fechamento automático do scrim.
Parâmetrosthreshold:

toggle

Assinaturatoggle() => Promise<void>
DescriçãoMétodo público para alternar o estado de exibição do scrim
Parâmetros---

updateSpotlight

AssinaturaupdateSpotlight() => Promise<void>
DescriçãoRecalcula manualmente a posição e dimensões da fresta do scrim vazado.
Útil quando o elemento alvo muda de posição sem disparar resize ou scroll.
Parâmetros---

Dependências

Usado por

Gráfico

Migração: Vue 1.x → Stencil 2.x

Propriedades

🟦 Propriedades renomeadas

Propriedade VuePropriedade StencilDescriçãoTipoPadrão
autofocusContentautofocusContentDefine se o conteúdo deve receber foco ao ser acionado.booleanfalse
centerContentpositionContentDefine a posição do conteúdo dentro do scrim.'top' | 'center' | 'right' | 'left' | 'bottom'undefined
disableCloseOnClickdisableCloseOnClickDesativa o fechamento do scrim ao ser clicado.booleanfalse
idcustomIdIdentificador único do componente.stringGerado automaticamente
showisOpenAtiva/desativa o scrim.booleanfalse