41 lines
1.0 KiB
TypeScript
41 lines
1.0 KiB
TypeScript
import { forwardRef } from 'react'
|
|
|
|
interface ButtonProps extends React.ComponentPropsWithRef<'button'> {}
|
|
|
|
export const Button = forwardRef<HTMLButtonElement, ButtonProps>(
|
|
(props, ref) => {
|
|
const { children, ...rest } = props
|
|
|
|
return (
|
|
<>
|
|
<button ref={ref} {...rest} className='button'>
|
|
{children}
|
|
</button>
|
|
|
|
<style jsx>{`
|
|
.button {
|
|
cursor: pointer;
|
|
font-size: var(--default-font-size);
|
|
font-weight: 400;
|
|
letter-spacing: 0.8px;
|
|
padding: 1rem 2rem;
|
|
transform: translateY(-3px);
|
|
background-color: transparent;
|
|
border: 1px solid var(--color-primary);
|
|
border-radius: 10px;
|
|
transition: all 0.3s ease-in;
|
|
color: var(--color-primary);
|
|
outline: 0;
|
|
margin: 0;
|
|
}
|
|
.button:hover {
|
|
background-color: var(--color-primary);
|
|
color: #fff;
|
|
}
|
|
`}
|
|
</style>
|
|
</>
|
|
)
|
|
}
|
|
)
|