-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
2 changed files
with
138 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
import { Canvas, Meta, Controls } from '@storybook/blocks'; | ||
import * as DividerStories from './Divider.stories'; | ||
import { Divider } from './Divider'; | ||
import React from 'react'; | ||
|
||
<Meta of={DividerStories} /> | ||
|
||
# Divider | ||
|
||
Divider는 목록 및 레이아웃에서 콘텐츠를 그룹화하여 요소를 구분하는 선입니다.<br /> | ||
Divider는 Mobile Web에서만 사용합니다. | ||
|
||
<Canvas of={DividerStories.Primary} /> | ||
<Controls /> | ||
|
||
<br /> | ||
<br /> | ||
|
||
## 사용법 | ||
|
||
Divider의 기본 사용법입니다. | ||
|
||
필수 프로퍼티인 `thickness`를 설정해주세요. <br /> | ||
|
||
```tsx | ||
import { Divider } from '@yourssu/design-system-react'; | ||
``` | ||
|
||
```tsx | ||
<Divider thickness={1} /> | ||
``` | ||
|
||
이외의 프로퍼티들은 하단의 예시에서 확인할 수 있습니다. | ||
|
||
<br /> | ||
<br /> | ||
|
||
## 예시 | ||
|
||
### width | ||
|
||
Divider는 기본적으로 `width`가 부모 컴포넌트 `width`의 100%로 지정되어 있습니다.<br /> | ||
|
||
`width` 프로퍼티를 지정하여 유동적으로 조절할 수 있습니다. (단위: px) | ||
|
||
```tsx | ||
<Divider thickness={1} width={500} /> | ||
``` | ||
|
||
<Canvas of={DividerStories.Width} /> | ||
|
||
### thickness | ||
|
||
Divider의 두께를 의미하는 프로퍼티입니다.<br /> | ||
|
||
지원하는 두께는 `1`, `2`, `4`, `8` 입니다. (단위: px) | ||
|
||
```tsx | ||
<Divider thickness={1} /> | ||
``` | ||
|
||
<Canvas of={DividerStories.Thickness} /> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,76 @@ | ||
import { Meta, StoryObj } from '@storybook/react'; | ||
|
||
import { Divider } from './Divider'; | ||
import { DividerProps, DividerThickness } from './Divider.type'; | ||
|
||
const meta: Meta<typeof Divider> = { | ||
title: 'Components/Divider', | ||
component: Divider, | ||
parameters: { | ||
layout: 'centered', | ||
}, | ||
argTypes: { | ||
width: { | ||
description: 'Divider의 길이를 결정하는 속성', | ||
table: { | ||
defaultValue: { summary: '100%' }, | ||
}, | ||
}, | ||
thickness: { | ||
description: 'Divider의 두께를 결정하는 속성', | ||
control: { | ||
type: 'radio', | ||
}, | ||
options: [1, 2, 4, 8], | ||
defaultValue: 1, | ||
}, | ||
}, | ||
}; | ||
|
||
export default meta; | ||
type Story = StoryObj<DividerProps>; | ||
|
||
const DividerStory = (args: object) => { | ||
return ( | ||
<div style={{ width: '390px' }}> | ||
<Divider thickness={1} {...args} /> | ||
</div> | ||
); | ||
}; | ||
|
||
export const Primary: StoryObj = { | ||
render: DividerStory, | ||
args: { | ||
thickness: 1, | ||
}, | ||
}; | ||
|
||
export const Width: Story = { | ||
render: () => ( | ||
<div> | ||
<p> Divider/1px/500px </p> | ||
<Divider thickness={1} width={500} /> | ||
</div> | ||
), | ||
}; | ||
|
||
export const Thickness: Story = { | ||
render: () => ( | ||
<div | ||
style={{ | ||
width: '390px', | ||
height: '200px', | ||
display: 'flex', | ||
flexDirection: 'column', | ||
justifyContent: 'space-between', | ||
}} | ||
> | ||
{[1, 2, 4, 8].map((thickness) => ( | ||
<div key={thickness}> | ||
<p> Divider/{thickness}px </p> | ||
<Divider thickness={thickness as DividerThickness} /> | ||
</div> | ||
))} | ||
</div> | ||
), | ||
}; |