Dropdown menu
Open With
A file context menu with an "Open with" submenu: the list of applications is tucked into a second level reached by hover and the right arrow.
React + Tailwind, shadcn-compatible: press “Copy for AI” and your Cursor or Claude Code agent installs it with the shadcn CLI.
What you can change
- the file name through fileName
- the submenu heading through submenuLabel and the application list through apps
- the sectionLabel, actionLabel, menuLabel, openLabel, propertiesLabel and doneText captions — Russian by default
A link for your AI agent: preview, code and instructions.
Preview

Use it with AI
- 1. Copy the link.
- 2. Write to your agent in your own words and drop the link into the sentence.
- 3. The agent opens the link and installs the component from the registry.
put this on the home page as the hero:
https://vibeui.club/c/contextmenu-003?lang=en&theme=dark
Not sure where to paste it? Step-by-step guide
Show the full instructions
What the link says, spelled out. Use it when your agent cannot open links — paste this text instead.
Loading…
How to use
<Contextmenu003
fileName="mockup.svg"
submenuLabel="Open with"
apps={["Preview", "Code editor"]}
/>A sample call. The agent installs the component itself from the registry via the “Copy for AI” link.
Settings
- File
fileName· default: mockup-home.svg- Submenu
submenuLabel· default: Open with- Accent
accent· default: theme colour- Background
background· default: theme colour
More in Dropdown menu
FAQ
- How do I add Open With with Cursor or Claude Code?
- Press “Copy for AI” on this page and paste it into your agent's chat. The instruction contains the shadcn CLI install command, the dependencies and what to keep, so the agent installs this exact component instead of recreating a lookalike.
- What does Open With depend on?
- No npm packages beyond React and Tailwind CSS.
- What can I change in Open With?
- Adapt: the file name through fileName; the submenu heading through submenuLabel and the application list through apps; the sectionLabel, actionLabel, menuLabel, openLabel, propertiesLabel and doneText captions — Russian by default. Keep as installed: the local --vibeui-contextmenu-003-* palette: the component must look the same in any project; the submenu as a plain layer inside the popover: a second popover=auto would close the first and make the menu blink; the duplicate button beside the file — a right click is available neither from the keyboard nor on a phone.
- Is Open With free?
- Yes. The preview is open without an account; with a free account you can copy up to 20 components a month.
For developers
npx shadcn@latest add https://vibeui.club/r/pro/contextmenu-003.jsonThis command needs a signed link: sign in and open “Component source” below — it issues a working link valid for 30 minutes. All install options
Technical notes
One file, zero dependencies, the --vibeui-contextmenu-003-* palette. Client component: useState holds the submenu expansion and the cursor coordinates. The first level is an HTML popover at the cursor through the x/y variables, the second a plain absolute layer inside it: a nested popover=auto would close its parent. The parent item is marked with aria-haspopup=menu and aria-expanded, the submenu is a role=menu with an aria-label. The right arrow opens the submenu and moves focus into it, the left one closes it and returns focus to the parent. The "Actions" button duplicates the right click, otherwise the menu is unreachable without a mouse. The theme comes from the surrounding color-scheme through light-dark(), and the card has no background of its own by default.
Tags
- contextmenu
- submenu
- files
- keyboard
Component source
The same file your agent installs. Here in case you would rather copy it by hand.
Loading…