import React, { PropsWithChildren } from 'react'; import { Link } from 'react-router-dom' import { UnionToObjectKeys } from 'src/utils/types/utils' interface Props { onClick?: () => void; onKeyDown?: (v: any) => void href?: string; className?: string size?: "sm" | 'md' | 'lg' variant?: 'blank' | 'fill' } const sizeToPadding: { [Key in NonNullable]: string } = { sm: 'p-8', md: 'p-12', lg: 'p-16' } const baseBtnStyles: UnionToObjectKeys = { fill: " shadow-sm active:scale-95", blank: "bg-gray-900 bg-opacity-0 hover:bg-opacity-5 active:bg-opacity-10 active:scale-95 !border-0" } const IconButton = React.forwardRef>(({ href, size = "md", className = "", children, onClick = () => { }, onKeyDown, variant = 'blank' }, ref) => { if (href) return ( {children} ) return ( ) }) export default IconButton;