DropdownMenu
nivalis-ui/dropdown-menuFreeComponent
A dropdown-menu component.
Install it
npx shadcn@latest add https://raw.githubusercontent.com/nivalis-studio/nivalis-ui/main/public/r/dropdown-menu.jsonSource
1'use client';23import {4 CheckboxItem,5 Content,6 Group,7 Item,8 ItemIndicator,9 Label,10 Portal,11 RadioGroup,12 RadioItem,13 Root,14 Separator,15 Sub,16 SubContent,17 SubTrigger,18 Trigger,19} from '@radix-ui/react-dropdown-menu';20import { CheckIcon, ChevronRightIcon, CircleIcon } from 'lucide-react';21import { cn } from '@/lib/classnames';22import type { ComponentProps } from 'react';2324function DropdownMenuRoot({ ...props }: ComponentProps<typeof Root>) {25 return <Root data-slot='dropdown-menu' {...props} />;26}2728function DropdownMenuPortal({ ...props }: ComponentProps<typeof Portal>) {29 return <Portal data-slot='dropdown-menu-portal' {...props} />;30}3132function DropdownMenuTrigger({ ...props }: ComponentProps<typeof Trigger>) {33 return <Trigger data-slot='dropdown-menu-trigger' {...props} />;34}3536function DropdownMenuContent({37 className,38 sideOffset = 4,39 ...props40}: ComponentProps<typeof Content>) {41 return (42 <Portal>43 <Content44 className={cn(45 'data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-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 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-y-auto overflow-x-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=closed]:animate-out data-[state=open]:animate-in',46 className,47 )}48 data-slot='dropdown-menu-content'49 sideOffset={sideOffset}50 {...props}51 />52 </Portal>53 );54}5556function DropdownMenuGroup({ ...props }: ComponentProps<typeof Group>) {57 return <Group data-slot='dropdown-menu-group' {...props} />;58}5960function DropdownMenuItem({61 className,62 inset,63 variant = 'default',64 ...props65}: ComponentProps<typeof Item> & {66 inset?: boolean;67 variant?: 'default' | 'destructive';68}) {69 return (70 <Item71 className={cn(72// … truncated
What it pulls in
npm packages
Files it writes
More from @nivalis/ui
All 23 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Accordionaccordion | @nivalis/ui | Components | Free | 1 dep | |
| Avataravatar | @nivalis/ui | Components | Free | 1 dep | |
| Badgebadge | @nivalis/ui | Components | Free | no deps | |
| Breadcrumbbreadcrumb | @nivalis/ui | Components | Free | 1 dep | |
| Buttonbutton | @nivalis/ui | Components | Free | 1 dep | |
| Cardcard | @nivalis/ui | Components | Free | no deps | |
| Checkboxcheckbox | @nivalis/ui | Components | Free | 1 dep | |
| Commandcommand | @nivalis/ui | Components | Free | 2 deps · 2 files |
