import React, {
useState,
useRef,
AnchorHTMLAttributes,
ReactNode,
ButtonHTMLAttributes,
} from 'react';
import useClickOutside from '../../../hooks/useClickOutside';
import Transition from '../../Transition';
import { withProperties } from '../../../utils/typeHelpers';
const DropdownItem: React.FC> = ({
children,
...props
}) => (
{children}
);
interface ButtonWithDropdownProps
extends ButtonHTMLAttributes {
text: ReactNode;
dropdownIcon?: ReactNode;
}
const ButtonWithDropdown: React.FC = ({
text,
children,
dropdownIcon,
...props
}) => {
const [isOpen, setIsOpen] = useState(false);
const buttonRef = useRef(null);
useClickOutside(buttonRef, () => setIsOpen(false));
return (
{children && (
)}
);
};
export default withProperties(ButtonWithDropdown, { Item: DropdownItem });