-
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.
* feat: 토글 컴포넌트 구현 * docs: gitignore 업데이트 * design: 배경색 변경 * docs: 토글 컴포넌트 스토리 작성 * docs: 토글 컴포넌트 스토리 코드 문서화 추가 * chore: 토글 컴포넌트 text 관련 props 추가 * chore: 변경된 styled-system 반영 * chore: jest config 수정 * feat: testing-library/user-event 설치 * chore: 토글 컴포넌트 data-disabled 속성 변경 * test: 토글 컴포넌트 테스트 작성 * chore: jest setup 관련 tsconfig 설정 변경 * chore: 토글 컴포넌트에 use client 추가 * chore: package.json, rollup config 토글 컴포넌트 반영 * design: 토글 가로, 세로 너비 고정 * chore: 토글 컴포넌트 text props 타입 변경 * chore: 토글 컴포넌트에 onClick, onKeyDown 이벤트 핸들러 props 추가 * chore: 외부 상태 제어 관련 props 추가 * fix: 토글 컴포넌트 forwardRef, generic 관련 타입 추론 안 되는 문제 해결 * chore: 빌드 시 exports type 필드 경로 변경 * fix: 토글 컴포넌트 테스트 props 변경에 따른 수정 * feat: 크로마틱 배포 워크플로우에 스토리북 링크 코멘트 기능 추가 * test: 토글 컴포넌트 테스트 코드 수정 * chore: 토글 컴포넌트 외부 상태 허용하도록 변경 * chore: 토글 컴포넌트 props 타입 변경 * chore: Toggle 컴포넌트 Switch 컴포넌트로 네이밍 변경 * chore: 스위치 컴포넌트 코드 및 스토리 수정 * test: 토글 컴포넌트 변경 사항 테스트에 적용 * test: 토글 컴포넌트 변경된 props에 따른 테스트 변경 * chore: 빌드 관련 설정 변경 * chore: props 및 상태 네이밍 변경 * fix: rollup 빌드 시 use client 없애는 문제 해결 * fix: rollup use client 주석 없애는 이슈 해결
- Loading branch information
1 parent
b293d5f
commit acb62fd
Showing
135 changed files
with
39,943 additions
and
64 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
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 |
---|---|---|
|
@@ -39,6 +39,7 @@ yarn-error.log* | |
|
||
## Panda | ||
styled-system-studio | ||
|
||
*storybook.log | ||
|
||
.eslintcache |
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
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
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
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
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
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
128 changes: 128 additions & 0 deletions
128
packages/wow-ui/src/components/Switch/Switch.stories.tsx
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,128 @@ | ||
import type { Meta, StoryObj } from "@storybook/react"; | ||
import { useState } from "react"; | ||
|
||
import Switch from "@/components/Switch"; | ||
|
||
const meta = { | ||
title: "UI/Switch", | ||
component: Switch, | ||
tags: ["autodocs"], | ||
parameters: { | ||
componentSubtitle: "스위치 컴포넌트", | ||
}, | ||
argTypes: { | ||
defaultChecked: { | ||
description: | ||
"defaultChecked는 스위치가 처음에 활성화되어 있는지 여부를 나타냅니다.", | ||
table: { | ||
type: { summary: "boolean" }, | ||
defaultValue: { summary: "false" }, | ||
}, | ||
control: { | ||
type: "boolean", | ||
}, | ||
}, | ||
isDisabled: { | ||
description: | ||
"isDisabled는 스위치가 비활성화되어 있는지 여부를 나타냅니다.", | ||
table: { | ||
type: { summary: "boolean" }, | ||
defaultValue: { summary: "false" }, | ||
}, | ||
control: { | ||
type: "boolean", | ||
}, | ||
}, | ||
isChecked: { | ||
description: "isChecked는 외부에서 제어할 활성 상태를 나타냅니다.", | ||
table: { | ||
type: { summary: "boolean" }, | ||
defaultValue: { summary: "false" }, | ||
}, | ||
control: { | ||
type: "boolean", | ||
}, | ||
}, | ||
text: { | ||
description: "스위치 오른쪽에 들어갈 텍스트입니다.", | ||
table: { | ||
type: { summary: "string" }, | ||
defaultValue: { summary: null }, | ||
}, | ||
control: { | ||
type: "text", | ||
}, | ||
}, | ||
onChange: { | ||
description: "외부 활성 상태가 변경될 때 호출될 콜백 함수를 나타냅니다.", | ||
table: { | ||
type: { summary: "() => void" }, | ||
defaultValue: { summary: null }, | ||
control: { | ||
type: "function", | ||
}, | ||
}, | ||
}, | ||
onClick: { | ||
description: "스위치 클릭 시 동작할 이벤트입니다.", | ||
table: { | ||
type: { summary: "() => void" }, | ||
defaultValue: { summary: null }, | ||
control: { | ||
type: "function", | ||
}, | ||
}, | ||
}, | ||
onKeyDown: { | ||
description: | ||
"스위치가 포커스됐을 때 엔터 키 또는 스페이스 바를 눌렀을 때 동작할 이벤트입니다.", | ||
table: { | ||
type: { summary: "() => void" }, | ||
defaultValue: { summary: null }, | ||
control: { | ||
type: "function", | ||
}, | ||
}, | ||
}, | ||
}, | ||
} satisfies Meta<typeof Switch>; | ||
|
||
export default meta; | ||
|
||
type Story = StoryObj<typeof meta>; | ||
|
||
export const Primary: Story = { | ||
args: {}, | ||
}; | ||
|
||
export const DefaultChecked: Story = { | ||
args: { | ||
defaultChecked: true, | ||
}, | ||
}; | ||
|
||
export const Disabled: Story = { | ||
args: { | ||
isDisabled: true, | ||
}, | ||
}; | ||
|
||
export const WithText: Story = { | ||
args: { | ||
text: "Text", | ||
}, | ||
}; | ||
|
||
const ControlledSwitch = () => { | ||
const [isChecked, setIsChecked] = useState(false); | ||
|
||
const handleChange = () => { | ||
setIsChecked((prev) => !prev); | ||
}; | ||
|
||
return <Switch isChecked={isChecked} onChange={handleChange} />; | ||
}; | ||
|
||
export const ControlledState: Story = { | ||
render: () => <ControlledSwitch />, | ||
}; |
Oops, something went wrong.