Pular para o conteúdo principal

Popover

Elemento âncora

Atenção

Evite usar o hook useRef para declarar a referência do elemento âncora.

A referência só será definida durante a primeira renderização. Por isso, como o useRef não força uma nova renderização, eventualmente o valor da propriedade anchorEl pode ficar nulo.

O Popover deve ser sempre posicionado de forma alinhada ao elemento âncora, que pode ser qualquer referência do DOM, como textos, links, botões, entre outros.

É essencial que o âncora seja definido e repassado ao Popover através da propriedade anchorEl, para que o componente funcione corretamente.

Controle de estado e interações

O componente Popover é controlado, ou seja, deve ser definido um estado para manipular suas interações de abertura e fechamento.

Exemplos:

Abertura com click

Abertura com hover

Além dos exemplos acima, é possível usar outros eventos para controlar o estado do Popover.

Fechamento do Popover

A definição de fechamento do botão deve estar presente através da propriedade dismissible.

O callback onClose é executado quando a pessoa usuária clica fora da área do Popover, pressiona a tecla ESC ou clica no botão fechar (quando existir).

Através do parâmetro reason, é possível definir regras específicas para o fechamento.

Exemplos:

Fechar apenas ao clicar no botão fechar

Fechar apenas ao clicar numa ação interna

Conteúdo

O Popover funciona como um template component, ou seja, além de oferecer estilos para ele, também define espaçamentos entre os componentes passados através da propriedade children.

Use o subcomponente Popover.Title para indicar o título do Popover.

É possível ter conteúdos mais básicos, com apenas título e descrição simples.

Ou também ter conteúdos totalmente personalizados dentro de um Popover.

Popover de destaque

O Popover pode ser utilizado em seu formato padrão, com fundo branco, ou no formato de destaque com o fundo roxo, por meio da propriedade kind com o valor Popover.kinds.highlight, a depender da necessidade que cada caso de uso apresenta.

Posicionamento

O Popover ajusta seu posicionamento automaticamente caso ele não tenha espaço suficiente na tela para exibir o conteúdo na posição definida.

Utilize a propriedade position se for necessário definir um posicionamento inicial. Consulte a API do componente para mais detalhes.

Internacionalização

Através da propriedade closeLabelText é possível customizar o texto interno de rótulo do botão fechar. Este texto não é exibido na tela, mas é importante para acessibilidade.

Por padrão, o texto está em inglês, mas para ajudar neste processo existem constantes disponíveis com em inglês, português e espanhol. Para mais detalhes acesse nossa aba de API do componente.

Exemplo de uso da constante para o português:

Feedback