Context Menu
basecn/context-menuFreeComponent
Displays a menu to the user — such as a set of actions or functions — triggered by a button.
Live preview
live · rendered by the registry
Rendered by basecn on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://basecn.dev/r/context-menu.jsonSource
1import * as React from "react";2import { ContextMenu as ContextMenuPrimitive } from "@base-ui/react/context-menu";3import { CheckIcon, ChevronRightIcon, CircleIcon } from "lucide-react";45import { cn } from "@/lib/utils";67function ContextMenu({ ...props }: ContextMenuPrimitive.Root.Props) {8 return <ContextMenuPrimitive.Root data-slot="context-menu" {...props} />;9}1011function ContextMenuTrigger({ ...props }: ContextMenuPrimitive.Trigger.Props) {12 return (13 <ContextMenuPrimitive.Trigger data-slot="context-menu-trigger" {...props} />14 );15}1617function ContextMenuGroup({ ...props }: ContextMenuPrimitive.Group.Props) {18 return (19 <ContextMenuPrimitive.Group data-slot="context-menu-group" {...props} />20 );21}2223function ContextMenuPortal({ ...props }: ContextMenuPrimitive.Portal.Props) {24 return (25 <ContextMenuPrimitive.Portal data-slot="context-menu-portal" {...props} />26 );27}2829function ContextMenuSub({ ...props }: ContextMenuPrimitive.SubmenuRoot.Props) {30 return (31 <ContextMenuPrimitive.SubmenuRoot data-slot="context-menu-sub" {...props} />32 );33}3435function ContextMenuRadioGroup({36 ...props37}: ContextMenuPrimitive.RadioGroup.Props) {38 return (39 <ContextMenuPrimitive.RadioGroup40 data-slot="context-menu-radio-group"41 {...props}42 />43 );44}4546function ContextMenuSubTrigger({47 className,48 inset,49 children,50 ...props51}: ContextMenuPrimitive.SubmenuTrigger.Props & {52 inset?: boolean;53}) {54 return (55 <ContextMenuPrimitive.SubmenuTrigger56 data-slot="context-menu-sub-trigger"57 data-inset={inset}58 className={cn(59 "focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",60 className61 )}62 {...props}63 >64 {children}65 <ChevronRightIcon className="ml-auto" />66 </ContextMenuPrimitive.SubmenuTrigger>67 );68}6970function ContextMenuSubContent({71 className,72 ...props73}: ContextMenuPrimitive.Popup.Props) {74 return (75 <ContextMenuPrimitive.Popup76 data-slot="context-menu-sub-content"77 className={cn(78// … truncated
What it pulls in
npm packages
Files it writes
More from basecn
All 56 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Accordionaccordion | basecn | Components | Free | 2 deps | |
| Alertalert | basecn | Components | Free | 1 dep | |
| Alert Dialogalert-dialog | basecn | Components | Free | 1 dep | |
| Aspect Ratioaspect-ratio | basecn | Components | Free | no deps | |
| Autocompleteautocomplete | basecn | Components | Free | 2 deps | |
| Avataravatar | basecn | Components | Free | 1 dep | |
| Badgebadge | basecn | Components | Free | 2 deps | |
| Breadcrumbbreadcrumb | basecn | Components | Free | 2 deps |
