shadcn-templ 2.0 beta. Switch to templUI v1
1.7k

Context Menu

Displays a menu located at the pointer, triggered by a right click or a long press.

package examples import "github.com/axadrn/shadcn-templ/v2/components/contextmenu"

Installation

shadcn-templ add context-menu

Usage

import "github.com/axadrn/shadcn-templ/v2/components/contextmenu"
@contextmenu.ContextMenu() {	@contextmenu.Trigger() {		Right click here	}	@contextmenu.Content() {		@contextmenu.Item() {			Profile		}		@contextmenu.Item() {			Billing		}		@contextmenu.Item() {			Team		}		@contextmenu.Item() {			Subscription		}	}}

Composition

Use the following composition to build a ContextMenu:

contextmenu.ContextMenu├── contextmenu.Trigger└── contextmenu.Content    ├── contextmenu.Group    │   ├── contextmenu.Label    │   ├── contextmenu.Item    │   └── contextmenu.Item    ├── contextmenu.Separator    ├── contextmenu.Group    │   ├── contextmenu.Label    │   ├── contextmenu.CheckboxItem    │   └── contextmenu.CheckboxItem    ├── contextmenu.Separator    ├── contextmenu.Group    │   ├── contextmenu.Label    │   └── contextmenu.RadioGroup    │       ├── contextmenu.RadioItem    │       └── contextmenu.RadioItem    └── contextmenu.Sub        ├── contextmenu.SubTrigger        └── contextmenu.SubContent            └── contextmenu.Group                ├── contextmenu.Item                └── contextmenu.Item

Basic

A simple context menu with a few actions.

package examples import "github.com/axadrn/shadcn-templ/v2/components/contextmenu"

Use contextmenu.Sub to nest secondary actions.

package examples import "github.com/axadrn/shadcn-templ/v2/components/contextmenu"

Shortcuts

Add contextmenu.Shortcut to show keyboard hints.

package examples import "github.com/axadrn/shadcn-templ/v2/components/contextmenu"

Groups

Group related actions and separate them with dividers.

package examples import "github.com/axadrn/shadcn-templ/v2/components/contextmenu"

Icons

Combine icons with labels for quick scanning.

package examples import (

Checkboxes

Use contextmenu.CheckboxItem for toggles.

package examples import "github.com/axadrn/shadcn-templ/v2/components/contextmenu"

Radio

Use contextmenu.RadioItem for exclusive choices.

package examples import "github.com/axadrn/shadcn-templ/v2/components/contextmenu"

Destructive

Use Variant: contextmenu.ItemVariantDestructive to style the menu item as destructive.

package examples import (

Sides

Control submenu placement with Side and Align props.

package examples import "github.com/axadrn/shadcn-templ/v2/components/contextmenu"

API Reference

Content

The contextmenu.Content component is the menu surface, positioned at the pointer and clamped to the viewport.

Prop Type Default
Side SideTop | SideRight | SideBottom | SideLeft SideRight
SideOffset int 0
AlignOffset int 4
Class string -

Item

The contextmenu.Item component is a selectable entry. It renders as a link when Href is set and closes the menu on click.

Prop Type Default
Variant ItemVariantDefault | ItemVariantDestructive ItemVariantDefault
Inset bool false
Disabled bool false
Href string -
Target string -
DisableCloseOnClick bool false
Class string -

CheckboxItem

The contextmenu.CheckboxItem component is a toggleable item with a check indicator. It keeps the menu open on click.

Prop Type Default
Checked bool false
Disabled bool false
Class string -

RadioGroup

The contextmenu.RadioGroup component wraps radio items and enforces single selection among them.

Prop Type Default
Class string -

RadioItem

The contextmenu.RadioItem component is a single-select item with a dot indicator. It keeps the menu open on click.

Prop Type Default
Value string -
Checked bool false
Disabled bool false
Class string -

SubTrigger

The contextmenu.SubTrigger component opens a nested submenu on hover. Wrap it with contextmenu.SubContent in a contextmenu.Sub.

Prop Type Default
Inset bool false
Class string -