Skip to content

Commit

Permalink
docs: Divider 문서 작성
Browse files Browse the repository at this point in the history
  • Loading branch information
nijuy committed Oct 28, 2024
1 parent a5bad31 commit 58bb4b5
Show file tree
Hide file tree
Showing 2 changed files with 138 additions and 0 deletions.
62 changes: 62 additions & 0 deletions src/components/Divider/Divider.mdx
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} />
76 changes: 76 additions & 0 deletions src/components/Divider/Divider.stories.tsx
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>
),
};

0 comments on commit 58bb4b5

Please sign in to comment.