import * as React from "react"; // react-poppper import { usePopper } from "react-popper"; // headless ui import { Menu } from "@headlessui/react"; // type import { ICustomMenuDropdownProps, ICustomMenuItemProps } from "./helper"; // icons import { ChevronDown, MoreHorizontal } from "lucide-react"; const CustomMenu = (props: ICustomMenuDropdownProps) => { const { buttonClassName = "", customButtonClassName = "", placement, children, className = "", customButton, disabled = false, ellipsis = false, label, maxHeight = "md", noBorder = false, noChevron = false, optionsClassName = "", verticalEllipsis = false, width = "auto", menuButtonOnClick, } = props; const [referenceElement, setReferenceElement] = React.useState(null); const [popperElement, setPopperElement] = React.useState(null); const { styles, attributes } = usePopper(referenceElement, popperElement, { placement: placement ?? "auto", }); return ( {({ open }) => ( <> {customButton ? ( ) : ( <> {ellipsis || verticalEllipsis ? ( ) : ( )} )}
{children}
)}
); }; const MenuItem: React.FC = (props) => { const { children, onClick, className = "" } = props; return ( {({ active, close }) => ( )} ); }; CustomMenu.MenuItem = MenuItem; export { CustomMenu };