diff --git a/src/components/core/button/index.js b/src/components/core/button/index.js index fcd8a17..990eeae 100644 --- a/src/components/core/button/index.js +++ b/src/components/core/button/index.js @@ -3,6 +3,7 @@ import PropTypes from 'prop-types'; import PrimaryButton from './primary-button'; import SecondaryButton from './secondary-button'; +import TertiaryButton from './tertiary-button'; const Button = ({ variant, ...props } = { variant: 'primary' }) => { if (variant === 'primary') { @@ -13,11 +14,15 @@ const Button = ({ variant, ...props } = { variant: 'primary' }) => { return ; } + if (variant === 'tertiary') { + return ; + } + return ; }; Button.propTypes = { - variant: PropTypes.oneOf(['primary', 'secondary']), + variant: PropTypes.oneOf(['primary', 'secondary', 'tertiary']), }; export default Button; diff --git a/src/components/core/button/primary-button.js b/src/components/core/button/primary-button.js index 23b48ce..2997448 100644 --- a/src/components/core/button/primary-button.js +++ b/src/components/core/button/primary-button.js @@ -2,34 +2,20 @@ import React from 'react'; import PropTypes from 'prop-types'; import cn from 'classnames'; -const PrimaryButton = ({ - size = 'md', - className, - children, - onClick = () => {}, - disabled = false, - 'aria-label': ariaLabel, - ...props -}) => { - const sizeClasses = { - xs: 'px-2 py-1 text-xs', - sm: 'px-2 py-1 text-sm', - md: 'px-2.5 py-1.5 text-sm', - l: 'px-3 py-2 text-sm', - xl: 'px-3.5 py-2.5 text-sm', - }; +const sizeClasses = { + sm: 'px-3 py-2 text-sm leading-[1.4]', + l: 'px-4 py-3 text-base leading-[1.5]', +}; +const PrimaryButton = ({ size = 'sm', className, children, ...props }) => { return ( ); }; SecondaryButton.propTypes = { - size: PropTypes.oneOf(['xs', 'sm', 'md', 'l', 'xl']), + size: PropTypes.oneOf(['sm', 'l']), + className: PropTypes.string, + children: PropTypes.node, }; export default SecondaryButton; diff --git a/src/components/core/button/tertiary-button.js b/src/components/core/button/tertiary-button.js new file mode 100644 index 0000000..c306afc --- /dev/null +++ b/src/components/core/button/tertiary-button.js @@ -0,0 +1,35 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +import cn from 'classnames'; + +const sizeClasses = { + sm: 'px-3 py-2 text-sm leading-[1.4]', + l: 'px-4 py-3 text-base leading-[1.5]', +}; + +const TertiaryButton = ({ size = 'sm', className, children, ...props }) => { + return ( + + ); +}; + +TertiaryButton.propTypes = { + size: PropTypes.oneOf(['sm', 'l']), + className: PropTypes.string, + children: PropTypes.node, +}; + +export default TertiaryButton; diff --git a/tailwind.config.js b/tailwind.config.js index 375351e..0cbc627 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -74,6 +74,7 @@ module.exports = { error: v2ColorTokens.red[600], bg: { main: '#F8FCFF', + disabled: v2ColorTokens.gray[100], }, border: { main: v2ColorTokens.gray[400], @@ -83,6 +84,7 @@ module.exports = { primary: v2ColorTokens.gray[800], secondary: v2ColorTokens.gray[500], placeholder: v2ColorTokens.gray[400], + disabled: v2ColorTokens.gray[400], }, }, },