Instalación
npx logic2b@next add context-menuUso
import {
ContextMenu,
ContextMenuContent,
ContextMenuItem,
ContextMenuTrigger,
} from "@/components/ui/context-menu"
<ContextMenu>
<ContextMenuTrigger>Haz clic derecho aquí</ContextMenuTrigger>
<ContextMenuContent>
<ContextMenuItem>Atrás</ContextMenuItem>
<ContextMenuItem>Recargar</ContextMenuItem>
</ContextMenuContent>
</ContextMenu>
Ejemplos
Casillas y opciones
Con submenú
Accesibilidad
- Se abre con clic derecho o con la tecla de menú contextual y permite navegar por completo con las flechas. Intro o Espacio activan el elemento con foco.
- Envuelve el menú contextual de Radix,
que gestiona las semánticas
role="menu",menuitem,menuitemcheckboxymenuitemradio. - La búsqueda incremental permite saltar a un elemento escribiendo su etiqueta; Esc cierra el menú y devuelve el foco al activador.
Playground interactivo
Edita las propiedades del componente y revisa el JSX exacto antes de copiarlo. La vista previa se carga solo cuando esta sección entra en pantalla.
JSX generado
<ContextMenu
modal
>
<ContextMenuTrigger
className="flex h-36 w-72 items-center justify-center rounded-lg border border-dashed text-sm text-muted-foreground"
>Right-click this surface</ContextMenuTrigger>
<ContextMenuContent>
<ContextMenuLabel>Project</ContextMenuLabel>
<ContextMenuItem>Open documentation</ContextMenuItem>
<ContextMenuItem>Copy install command</ContextMenuItem>
<ContextMenuSeparator />
<ContextMenuItem
variant="destructive"
>Remove project</ContextMenuItem>
</ContextMenuContent>
</ContextMenu>Right-click this surface
Referencia de API
Generada a partir de las exportaciones públicas de TypeScript en src/ui/context-menu.tsx. Las descripciones técnicas conservan el texto canónico del código fuente.
ContextMenu
ComponenteProps: React.ComponentProps<typeof ContextMenuPrimitive.Root>ContextMenuTrigger
ComponenteProps: React.ComponentProps<typeof ContextMenuPrimitive.Trigger>ContextMenuContent
ComponenteProps: React.ComponentProps<typeof ContextMenuPrimitive.Content>ContextMenuItem
ComponenteProps: React.ComponentProps<typeof ContextMenuPrimitive.Item> & { inset?: boolean variant?: "default" | "destructive" }| Propiedad | Tipo | Obligatoria | Valor predeterminado | Descripción |
|---|---|---|---|---|
inset | boolean | No | — | — |
variant | "default" | "destructive" | No | "default" | — |
ContextMenuCheckboxItem
ComponenteProps: React.ComponentProps<typeof ContextMenuPrimitive.CheckboxItem>ContextMenuRadioItem
ComponenteProps: React.ComponentProps<typeof ContextMenuPrimitive.RadioItem>ContextMenuLabel
ComponenteProps: React.ComponentProps<typeof ContextMenuPrimitive.Label> & { inset?: boolean }| Propiedad | Tipo | Obligatoria | Valor predeterminado | Descripción |
|---|---|---|---|---|
inset | boolean | No | — | — |
ContextMenuSeparator
ComponenteProps: React.ComponentProps<typeof ContextMenuPrimitive.Separator>ContextMenuShortcut
ComponenteProps: React.ComponentProps<"span">ContextMenuGroup
ComponenteProps: React.ComponentProps<typeof ContextMenuPrimitive.Group>ContextMenuPortal
ComponenteProps: React.ComponentProps<typeof ContextMenuPrimitive.Portal>ContextMenuSub
ComponenteProps: React.ComponentProps<typeof ContextMenuPrimitive.Sub>ContextMenuSubContent
ComponenteProps: React.ComponentProps<typeof ContextMenuPrimitive.SubContent>ContextMenuSubTrigger
ComponenteProps: React.ComponentProps<typeof ContextMenuPrimitive.SubTrigger> & { inset?: boolean }| Propiedad | Tipo | Obligatoria | Valor predeterminado | Descripción |
|---|---|---|---|---|
inset | boolean | No | — | — |
ContextMenuRadioGroup
ComponenteProps: React.ComponentProps<typeof ContextMenuPrimitive.RadioGroup>Contrato de accesibilidad
Comportamiento legible por máquinas y responsabilidades de quien integra context-menu. Los detalles normativos conservan el texto canónico del registro.
- Soporte
- Gestionado por la primitiva
- Patrón
- context menu
- Radix Context Menu
| Teclas | Comportamiento |
|---|---|
| Shift+F10 ContextMenu | Open the context menu from the keyboard. |
| ArrowUp ArrowDown ArrowLeft ArrowRight | Move within the composite control. |
| Escape | Close the open surface and restore focus. |
Semántica incorporada
- Manages menu roles, roving focus and checked state.
Responsabilidades de integración
- Ensure every pointer-only context action is available through another keyboard-reachable path.