import { Popover, Transition } from '@headlessui/react'; import React, { Fragment } from 'react'; import ChevronDownIcon from '@heroicons/react/20/solid/ChevronDownIcon'; import { HeroIcon, IconName } from '../HeroIcon/HeroIcon'; import { Link } from '../Link/Link'; export interface DropDownItemProps { title: string | React.ReactNode; icon?: IconName; href?: string; onClick?: (event: React.MouseEvent) => void; } export interface DropDownProps { children?: React.ReactNode; buttonText?: string; renderAs?: 'button' | 'div'; menuAlign?: 'left' | 'right'; listItems: DropDownItemProps[]; } const styles = { core: `absolute z-10 w-48 py-1 mt-2 origin-top-left bg-white border rounded-md shadow-lg border-cu-black-100 focus:outline-none`, }; export const DropDown = ({ children, buttonText, renderAs = 'div', listItems, menuAlign = 'left', }: DropDownProps) => { return (
Open menu {children && !buttonText ? ( children ) : (

{buttonText}

)}
{({ close }) => ( <> {listItems.map((item, index) => (
{ item.onClick && e.preventDefault(); item.onClick && item.onClick(e); close(); }} > {item.icon && (
))} )}
); };