# Menu (/popups/menu)





<ComponentPreview name="menu-preskok-demo" description="Menu component with items, sections, and keyboard shortcuts." />

## Installation [#installation]

<CodeTabs>
  <TabsList>
    <TabsTrigger id="cli">
      CLI
    </TabsTrigger>

    <TabsTrigger id="manual">
      Manual
    </TabsTrigger>
  </TabsList>

  <TabsContent id="cli">
    ```bash
    npx shadcn@latest add @preskok/menu
    ```
  </TabsContent>

  <TabsContent id="manual">
    <Steps>
      <Step>
        Copy and paste the following code into your project.

        <ComponentSource name="menu" title="registry/preskok/ui/preskok-ui/menu.tsx" />
      </Step>

      <Step>
        Update the import paths to match your project setup.
      </Step>
    </Steps>
  </TabsContent>
</CodeTabs>

## Usage [#usage]

```tsx
import { Button } from "@/components/ui/preskok-ui/button"
import {
  Menu,
  MenuContent,
  MenuItem,
  MenuSection,
} from "@/components/ui/preskok-ui/menu"

export function MenuDemo() {
  return (
    <Menu>
      <Button intent="outline">Actions</Button>
      <MenuContent>
        <MenuSection label="File">
          <MenuItem id="new">New</MenuItem>
        </MenuSection>
      </MenuContent>
    </Menu>
  )
}
```

## Examples [#examples]

### Context Menu [#context-menu]

<ComponentPreview name="menu-context-menu-preskok-demo" description="Open the menu from a right click, keyboard command, or long press." />

### Submenu [#submenu]

<ComponentPreview name="menu-submenu-demo" description="Nested automotive actions for service and roadside flows." />

### With Description [#with-description]

<ComponentPreview name="menu-description-demo" description="Dealership actions with MenuLabel and MenuDescription." />

### Multiple Selection [#multiple-selection]

<ComponentPreview name="menu-multiple-demo" description="Select multiple vehicle features with controlled selected keys." />
