import {Popover} from '@headlessui/react' import {DotsHorizontalIcon} from '@heroicons/react/solid' import clsx from 'clsx' import {ReactNode, useState} from 'react' import {usePopper} from 'react-popper' import {AnimationOrNothing} from 'web/components/comments/dropdown-menu' import {Col} from 'web/components/layout/col' export default function DropdownMenu(props: { items: ReactNode[] icon?: ReactNode menuWidth?: string buttonClass?: string className?: string menuItemsClass?: string buttonDisabled?: boolean withinOverflowContainer?: boolean buttonContent?: (open: boolean) => ReactNode }) { const { items, menuItemsClass, menuWidth, buttonClass, className, buttonDisabled, withinOverflowContainer, buttonContent, } = props const [referenceElement, setReferenceElement] = useState() const [popperElement, setPopperElement] = useState() const {styles, attributes} = usePopper(referenceElement, popperElement, { strategy: withinOverflowContainer ? 'fixed' : 'absolute', }) const icon = props.icon ??