| 20 | } |
| 21 | |
| 22 | function DropdownMenuContent({ |
| 23 | align = "start", |
| 24 | alignOffset = 0, |
| 25 | side = "bottom", |
| 26 | sideOffset = 4, |
| 27 | className, |
| 28 | ...props |
| 29 | }: MenuPrimitive.Popup.Props & |
| 30 | Pick< |
| 31 | MenuPrimitive.Positioner.Props, |
| 32 | "align" | "alignOffset" | "side" | "sideOffset" |
| 33 | >) { |
| 34 | return ( |
| 35 | <MenuPrimitive.Portal> |
| 36 | <MenuPrimitive.Positioner |
| 37 | className="isolate z-50 outline-none" |
| 38 | align={align} |
| 39 | alignOffset={alignOffset} |
| 40 | side={side} |
| 41 | sideOffset={sideOffset} |
| 42 | > |
| 43 | <MenuPrimitive.Popup |
| 44 | data-slot="dropdown-menu-content" |
| 45 | className={cn( |
| 46 | "data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-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 ring-foreground/10 bg-popover text-popover-foreground min-w-32 rounded-none shadow-md ring-1 duration-100 z-50 max-h-(--available-height) w-(--anchor-width) origin-(--transform-origin) overflow-x-hidden overflow-y-auto outline-none data-closed:overflow-hidden", |
| 47 | className |
| 48 | )} |
| 49 | {...props} |
| 50 | /> |
| 51 | </MenuPrimitive.Positioner> |
| 52 | </MenuPrimitive.Portal> |
| 53 | ); |
| 54 | } |
| 55 | |
| 56 | function DropdownMenuGroup({ ...props }: MenuPrimitive.Group.Props) { |
| 57 | return <MenuPrimitive.Group data-slot="dropdown-menu-group" {...props} />; |