context-menu
9ui/context-menuFreeComponent
9ui publishes no description for this item.
Live preview
live · rendered by the registry
Rendered by 9ui on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://9ui.dev/r/context-menu.jsonSource
1"use client"23import * as React from "react"4import { ContextMenu as BaseContextMenu } from "@base-ui/react/context-menu"5import { CheckIcon, ChevronRightIcon, CircleIcon } from "lucide-react"67import { cn } from "@/lib/utils"89function ContextMenu({10 ...props11}: React.ComponentProps<typeof BaseContextMenu.Root>) {12 return <BaseContextMenu.Root data-slot="context-menu" {...props} />13}1415function ContextMenuTrigger({16 ...props17}: React.ComponentProps<typeof BaseContextMenu.Trigger>) {18 return <BaseContextMenu.Trigger data-slot="context-menu-trigger" {...props} />19}2021function ContextMenuGroup({22 ...props23}: React.ComponentProps<typeof BaseContextMenu.Group>) {24 return <BaseContextMenu.Group data-slot="context-menu-group" {...props} />25}2627function ContextMenuPortal({28 ...props29}: React.ComponentProps<typeof BaseContextMenu.Portal>) {30 return <BaseContextMenu.Portal data-slot="context-menu-portal" {...props} />31}3233function ContextMenuPositioner({34 ...props35}: React.ComponentProps<typeof BaseContextMenu.Positioner>) {36 return (37 <BaseContextMenu.Positioner38 data-slot="context-menu-positioner"39 {...props}40 />41 )42}4344function ContextMenuRadioGroup({45 ...props46}: React.ComponentProps<typeof BaseContextMenu.RadioGroup>) {47 return (48 <BaseContextMenu.RadioGroup49 data-slot="context-menu-radio-group"50 {...props}51 />52 )53}5455function ContextMenuContent({56 className,57 sideOffset = 4,58 align = "start",59 ...props60}: React.ComponentProps<typeof BaseContextMenu.Popup> & {61 align?: BaseContextMenu.Positioner.Props["align"]62 sideOffset?: BaseContextMenu.Positioner.Props["sideOffset"]63}) {64 return (65 <ContextMenuPortal>66 <ContextMenuPositioner67 className="max-h-(--available-height)"68 align={align}69 sideOffset={sideOffset}70 >71 <BaseContextMenu.Popup72 data-slot="context-menu-content"73 className={cn(74 "bg-popover text-popover-foreground z-50 min-w-48 origin-(--transform-origin) overflow-hidden rounded-md border p-1 shadow-md transition-all outline-none data-ending-style:scale-98 data-ending-style:opacity-0 data-starting-style:scale-98 data-starting-style:opacity-0",75 className76 )}77 {...props}78 />79 </ContextMenuPositioner>80 </ContextMenuPortal>81 )82}8384function ContextMenuItem({85 className,86 inset,87 variant = "default",88 ...props89}: React.ComponentProps<typeof BaseContextMenu.Item> & {90 inset?: boolean91 variant?: "default" | "destructive"92}) {93 return (94 <BaseContextMenu.Item95 data-slot="context-menu-item"96// … truncated
Files it writes
More from 9ui
All 56 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| accordionaccordion | 9ui | Components | Free | no deps | |
| alertalert | 9ui | Components | Free | no deps | |
| alert-dialogalert-dialog | 9ui | Components | Free | no deps | |
| aspect-ratioaspect-ratio | 9ui | Components | Free | no deps | |
| autocompleteautocomplete | 9ui | Components | Free | no deps | |
| avataravatar | 9ui | Components | Free | no deps | |
| badgebadge | 9ui | Components | Free | no deps | |
| breadcrumbsbreadcrumbs | 9ui | Components | Free | no deps |
