import React from 'react' import { ForwardedRef, forwardRef } from 'react' import { ButtonStyle, ButtonContentStyle, ButtonLoaderStyle, } from './ButtonStyles' import { ButtonProps } from './types' import { useRipple } from './useRipple' const loaderSizes = { xxs: 'small', xs: 'small', sm: 'small', md: 'medium', lg: 'medium', } as const function Button(props: ButtonProps, ref?: ForwardedRef) { const { size = 'md', variant = 'filled', color = 'primary', square = false, fullwidth = false, loading = false, active = false, onClick, disabled, children, ...rest } = props const { handleClick, ripple } = useRipple(props) const loaderSize = loaderSizes[size] return ( {children} {loading && } {!active && ripple} ) } export default forwardRef(Button)