import { useState, FunctionComponent, useRef } from 'react' import { useOnClickOutside } from '../../lib/onClickOutside' import { customEvent } from '../../lib/customEvent' export interface IDropdown { items?: IDropdownItem[] name: string value: string onChange: (event: CustomChangeEvent) => void } export interface IDropdownItem { key: string | number title: string } const Dropdown: FunctionComponent = ({ items = [], name, value, onChange, children, }) => { const [open, setOpen] = useState(false) const [active, setActive] = useState() const ref = useRef(null) useOnClickOutside(ref, () => setOpen(false)) const activeItem = active && items?.find((item) => item.key === active.key) return (
setOpen(!open)}> {activeItem ? activeItem.title : 'please select one'}
    {items}
{open ? 'open' : 'closed'}
{active}
) } export default Dropdown