import React from "react"; import Link from "next/link"; // headless ui import { Menu, Transition } from "@headlessui/react"; // icons import { DropdownProps, Icon } from "components/ui"; import { ChevronDownIcon } from "@heroicons/react/24/outline"; export type CustomMenuProps = DropdownProps & { children: React.ReactNode; ellipsis?: boolean; noBorder?: boolean; verticalEllipsis?: boolean; }; const CustomMenu = ({ buttonClassName = "", children, className = "", customButton, disabled = false, ellipsis = false, label, maxHeight = "md", noBorder = false, noChevron = false, optionsClassName = "", position = "right", selfPositioned = false, verticalEllipsis = false, verticalPosition = "bottom", width = "auto", }: CustomMenuProps) => ( {({ open }) => ( <> {customButton ? ( {customButton} ) : ( <> {ellipsis || verticalEllipsis ? ( ) : ( {label} {!noChevron && )} )}
{children}
)}
); type MenuItemProps = { children: JSX.Element | string; renderAs?: "button" | "a"; href?: string; onClick?: (args?: any) => void; className?: string; }; const MenuItem: React.FC = ({ children, renderAs, href, onClick, className = "", }) => ( {({ active, close }) => renderAs === "a" ? ( {children} ) : ( ) } ); CustomMenu.MenuItem = MenuItem; export { CustomMenu };