dropdown-menu
9ui/dropdown-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/dropdown-menu.jsonSource
1"use client"23import * as React from "react"4import { Menu as BaseMenu } from "@base-ui/react/menu"5import { CheckIcon, ChevronRightIcon, CircleIcon } from "lucide-react"67import { cn } from "@/lib/utils"89function DropdownMenu({10 ...props11}: React.ComponentProps<typeof BaseMenu.Root>) {12 return <BaseMenu.Root data-slot="dropdown-menu" {...props} />13}1415function DropdownMenuPortal({16 ...props17}: React.ComponentProps<typeof BaseMenu.Portal>) {18 return <BaseMenu.Portal data-slot="dropdown-menu-portal" {...props} />19}2021function DropdownMenuTrigger({22 ...props23}: React.ComponentProps<typeof BaseMenu.Trigger>) {24 return <BaseMenu.Trigger data-slot="dropdown-menu-trigger" {...props} />25}2627function DropdownMenuPositioner({28 ...props29}: React.ComponentProps<typeof BaseMenu.Positioner>) {30 return <BaseMenu.Positioner data-slot="dropdown-menu-positioner" {...props} />31}3233function DropdownMenuContent({34 className,35 sideOffset = 4,36 align = "center",37 side = "bottom",38 ...props39}: React.ComponentProps<typeof BaseMenu.Popup> & {40 align?: BaseMenu.Positioner.Props["align"]41 sideOffset?: BaseMenu.Positioner.Props["sideOffset"]42 side?: BaseMenu.Positioner.Props["side"]43}) {44 return (45 <DropdownMenuPortal>46 <DropdownMenuPositioner47 className="max-h-(--available-height)"48 sideOffset={sideOffset}49 side={side}50 align={align}51 >52 <BaseMenu.Popup53 data-slot="dropdown-menu-content"54 className={cn(55 "bg-popover text-popover-foreground z-50 min-w-48 origin-(--transform-origin) overflow-hidden rounded-md border p-1 shadow-md transition-all data-ending-style:scale-98 data-ending-style:opacity-0 data-starting-style:scale-98 data-starting-style:opacity-0",56 className57 )}58 {...props}59 />60 </DropdownMenuPositioner>61 </DropdownMenuPortal>62 )63}6465function DropdownMenuGroup({66 ...props67}: React.ComponentProps<typeof BaseMenu.Group>) {68 return <BaseMenu.Group data-slot="dropdown-menu-group" {...props} />69}7071function DropdownMenuItem({72 className,73 inset,74 variant = "default",75 ...props76}: React.ComponentProps<typeof BaseMenu.Item> & {77 inset?: boolean78 variant?: "default" | "destructive"79}) {80 return (81 <BaseMenu.Item82 data-slot="dropdown-menu-item"83 data-inset={inset}84 data-variant={variant}85 className={cn(86// … 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 |
