import { FC, MouseEventHandler } from 'react'; import styles from './buttons.module.scss'; export type ButtonProps = { /** * Set additional classnames to the button wrapper. */ className?: string; /** * Button accessible label. */ ariaLabel?: string; /** * Button state. Default: false. */ disabled?: boolean; /** * Button kind. Default: secondary. */ kind?: 'primary' | 'secondary' | 'tertiary' | 'neutral'; /** * A callback function to handle click. */ onClick?: MouseEventHandler; /** * Button shape. Default: rectangle. */ shape?: 'circle' | 'rectangle' | 'square'; /** * Button type attribute. Default: button. */ type?: 'button' | 'reset' | 'submit'; }; /** * Button component * * Use a button as call to action. */ const Button: FC = ({ className = '', ariaLabel, children, disabled = false, kind = 'secondary', shape = 'rectangle', type = 'button', ...props }) => { const kindClass = styles[`btn--${kind}`]; const shapeClass = styles[`btn--${shape}`]; return ( ); }; export default Button;