import { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuGroup, DropdownMenuSub, DropdownMenuSubTrigger, DropdownMenuPortal, DropdownMenuSubContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuLabel, } from "@/components/ui/dropdown-menu"; import { cn } from "@/lib/utils"; import { MenuItem } from "./types"; interface IOptionProps extends React.HTMLAttributes { title?: string; menuItems: MenuItem[]; } export default function Option({ title, menuItems, className, children, ...props }: IOptionProps) { return ( {children} {title && ( <> {title} )} {/* save a origin item */} {/* Profile ⇧⌘P */} { {menuItems.map((item) => ( <> {item?.subs && ( {item.icon} {item.name} {item.separator} {Array.isArray(item.subs) && item?.subs.map((subItem) => ( <> {subItem.name && ( {subItem.icon} {subItem.name} )} {subItem.separator && } ))} )} {!item?.subs && ( <> {item.name && ( {item.icon} {item.name} )} {item.separator && } )} ))} } ); }