This component no longer exists. It was in ondo-ui’s manifest when we first indexed it and is not there now — the registry served its inventory on 2026-08-09 and this item was not on it. The install command below will fail. It is kept here because a tutorial somewhere still tells people to run it.
context-menu
ondo-ui/context-menuRemovedComponent
Displays a menu of actions triggered by a right click.
Install it
npx shadcn@latest add https://ui.ondo.dou.so/r/context-menu.jsonSource
1"use client"23import * as React from "react"4import { ContextMenu as ContextMenuPrimitive } from "@base-ui/react/context-menu"56import { cn } from "@/lib/utils"7import { IconChevronRight, IconCheck } from "@tabler/icons-react"89function ContextMenu({ ...props }: ContextMenuPrimitive.Root.Props) {10 return <ContextMenuPrimitive.Root data-slot="context-menu" {...props} />11}1213function ContextMenuPortal({ ...props }: ContextMenuPrimitive.Portal.Props) {14 return (15 <ContextMenuPrimitive.Portal data-slot="context-menu-portal" {...props} />16 )17}1819function ContextMenuTrigger({20 className,21 ...props22}: ContextMenuPrimitive.Trigger.Props) {23 return (24 <ContextMenuPrimitive.Trigger25 data-slot="context-menu-trigger"26 className={cn("select-none", className)}27 {...props}28 />29 )30}3132function ContextMenuContent({33 className,34 align = "start",35 alignOffset = 4,36 side = "right",37 sideOffset = 0,38 ...props39}: ContextMenuPrimitive.Popup.Props &40 Pick<41 ContextMenuPrimitive.Positioner.Props,42 "align" | "alignOffset" | "side" | "sideOffset"43 >) {44 return (45 <ContextMenuPrimitive.Portal>46 <ContextMenuPrimitive.Positioner47 className="isolate z-50 outline-none"48 align={align}49 alignOffset={alignOffset}50 side={side}51 sideOffset={sideOffset}52 >53 <ContextMenuPrimitive.Popup54 data-slot="context-menu-content"55 className={cn("z-50 max-h-(--available-height) min-w-36 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-md bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 outline-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className )}56 {...props}57 />58 </ContextMenuPrimitive.Positioner>59 </ContextMenuPrimitive.Portal>60 )61}6263function ContextMenuGroup({ ...props }: ContextMenuPrimitive.Group.Props) {64 return (65 <ContextMenuPrimitive.Group data-slot="context-menu-group" {...props} />66 )67}6869function ContextMenuLabel({70 className,71 inset,72 ...props73}: ContextMenuPrimitive.GroupLabel.Props & {74 inset?: boolean75}) {76 return (77// … truncated
What it pulls in
npm packages
Other registry items
