import { useCallback, useState } from 'react'; import { IconButton, Tooltip } from '@chakra-ui/react'; import PropTypes from 'prop-types'; export default function TooltipLoadingActionBtn(props) { const { clickHandler, icon, size = 'xs', tooltip, ...rest } = props; const [loading, setLoading] = useState(false); const handleClick = useCallback(() => { setLoading(true); clickHandler(); }, [clickHandler, setLoading]); return ( ); } TooltipLoadingActionBtn.propTypes = { clickHandler: PropTypes.func, icon: PropTypes.element, size: PropTypes.oneOf(['xs', 'sm', 'md', 'lg']), tooltip: PropTypes.string, };