diff --git a/ui-kit/src/components/Button/index.tsx b/ui-kit/src/components/Button/index.tsx index 9a569c96..ef5d13f7 100644 --- a/ui-kit/src/components/Button/index.tsx +++ b/ui-kit/src/components/Button/index.tsx @@ -1,5 +1,27 @@ -import React, { HTMLAttributes } from 'react'; +import React, { Ref, forwardRef } from 'react'; +import classnames from 'classnames'; +import { CombineElementProps } from 'src/types/utils'; +import { Text } from '..'; -export default function Button(props: HTMLAttributes): JSX.Element { - return + ); +}; + +export default forwardRef(Button) as typeof Button; diff --git a/ui-kit/src/sass/components/_Button.scss b/ui-kit/src/sass/components/_Button.scss index 21bef857..41b629f7 100644 --- a/ui-kit/src/sass/components/_Button.scss +++ b/ui-kit/src/sass/components/_Button.scss @@ -1,3 +1,33 @@ -.button { - outline: 0; +.lubycon-button { + font: inherit; + text-align: inherit; + outline: none; + border: 0; + margin: 0; + background-color: get-color('blue50'); + border-radius: 4px; + color: #ffffff; + cursor: pointer; + + &__small { + height: 32px; + padding: 4px 16px; + } + &__medium { + height: 40px; + padding: 8px 16px; + } + &__large { + height: 56px; + padding: 12px 32px; + } + + &:hover, &:active { + background-color: get-color('blue60'); + } + &:disabled { + color: get-color('gray60'); + background-color: get-color('gray40'); + cursor: not-allowed; + } } diff --git a/ui-kit/src/stories/Button.stories.tsx b/ui-kit/src/stories/Button.stories.tsx index c067d042..ac46c063 100644 --- a/ui-kit/src/stories/Button.stories.tsx +++ b/ui-kit/src/stories/Button.stories.tsx @@ -1,10 +1,47 @@ import React from 'react'; import Button from 'components/Button'; +import Text from 'components/Text'; import { Meta } from '@storybook/react/types-6-0'; export default { title: 'Lubycon UI Kit/Button', - component: Button, } as Meta; -export const Default = () => ; +const sizeList = ['small', 'medium', 'large'] as const; +const btnText = '버튼 텍스트'; + +export const Default = () => { + return ( +
+ + Rounded Button + + +
+ ); +};