Design system interno · uso exclusivo da Up Web Studio

Icon Provider · Lucide

Primitiveoverlay

Context Menu

Stable

O mesmo menu do Dropdown, invocado pelo objeto em vez de por um botão: clique secundário, pressão longa ou a tecla de menu da plataforma. Composto sobre Base UI ContextMenu. O risco do primitive é justamente não ter gatilho visível, então nenhuma ação pode existir só aqui — o menu é o atalho, não a rota.

Instalação

npx up-web-ds add context-menu

Gera check, chevron-right para a biblioteca de ícones do projeto (components.json iconLibrary).

Preview

Default

primitives/button

Clique com o botão direito, ou use a tecla de menu

With Groups And State

Área do catálogo

Filtros e ordenação vivem no menu de contexto

With Visible Equivalent

primitives/select

As mesmas ações estão abaixo, à vista

All states

Default

primitives/button

Clique com o botão direito, ou use a tecla de menu

With Groups And State

Área do catálogo

Filtros e ordenação vivem no menu de contexto

With Visible Equivalent

primitives/select

As mesmas ações estão abaixo, à vista

Metadata

Classificação

Layer
Primitive
Domínio
Domain-free (compartilhado)
Categoria
overlay
Status
Stable

Origem e distribuição

Fonte
shadcn registry / context-menu
Licença
MIT
Distribuição
Interna

Acessibilidade

  • Teclado: revisado
  • Leitor de tela: revisado
  • Touch: revisado
  • Reduced motion: revisado

Teclado verificado por teste: aberto o menu, as setas percorrem os itens pulando os rótulos, digitar as primeiras letras encontra um item, ArrowRight abre o submenu e ArrowLeft volta ao item que o abriu, e Escape fecha. Leitor de tela verificado por teste: o popup tem papel menu, itens de checkbox reportam aria-checked, um gatilho de submenu declara aria-haspopup="menu" e um item desabilitado continua anunciado por aria-disabled recusando a execução sem fechar o menu. Touch verificado em navegador com emulação de toque em viewport de 375px: a pressão longa abre o menu, os itens medem acima do mínimo de 24x24 da WCAG 2.2 SC 2.5.8 e o menu cabe na viewport. Reduced motion verificado com prefers-reduced-motion: reduce — os tokens de motion colapsam para 1ms e a animação de entrada mede 0.001s.

Dependências

Pacotes
@base-ui/react
Ícones
check, chevron-right
Construído sobre
Nenhum
Usado por
Nenhum ainda