import { DotsHorizontalIcon } from '@heroicons/react/solid' import { ReactNode, useState } from 'react' import { Popover } from '@headlessui/react' import clsx from 'clsx' import { usePopper } from 'react-popper' import { Col } from 'web/components/layout/col' import { AnimationOrNothing } from 'web/components/comments/dropdown-menu' 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 ?? (