|
1 | 1 | # @gracefullight/krds |
2 | 2 |
|
3 | | -**@gracefullight/krds**๋ [Korea Design System](https://www.krds.go.kr/)์ ๊ณต์ ๊ฐ์ด๋๋ผ์ธ์ ๊ธฐ๋ฐ์ผ๋ก ํ MUI(Material-UI) ํ
๋ง ๋ฐ ์ปดํฌ๋ํธ ๋ชจ์์
๋๋ค. ์ผ๊ด๋ ๋์์ธ, ์ ๊ทผ์ฑ, ๊ทธ๋ฆฌ๊ณ ๋น ๋ฅธ ๊ฐ๋ฐ์ ์ง์ํ๋ฉฐ, React ํ๋ก์ ํธ์์ ์์ฝ๊ฒ ๋ํ๋ฏผ๊ตญ ์ ๋ถ ๋์์ธ ์์คํ
์ ์ ์ฉํ ์ ์์ต๋๋ค. |
| 3 | +The official MUI (Material UI) theme and component library for the Korea Design System, based on the official guidelines. It provides consistent design, accessibility support, and a fast development experience for React applications. |
4 | 4 |
|
5 | | -## ์ฃผ์ ํน์ง |
| 5 | +## Key Features |
6 | 6 |
|
7 | | -- **KRDS ๊ณต์ ๋์์ธ ๋ฐ์**: ๋ํ๋ฏผ๊ตญ ์ ๋ถ ๋์์ธ ์์คํ
์ ๊ทธ๋๋ก ์ ๊ณตํฉ๋๋ค. |
8 | | -- **MUI ํธํ**: MUI v7 ์ด์๊ณผ React v19 ์ด์์์ ๋์ํฉ๋๋ค. |
9 | | -- **๋ค์ํ ์ปดํฌ๋ํธ**: Alert, Button, Table ๋ฑ ์์ฃผ ์ฐ์ด๋ UI ์ปดํฌ๋ํธ์ ์กฐํฉ ์ปดํฌ๋ํธ ์ ๊ณต |
10 | | -- **๋์์ธ ํ ํฐ/ํฌํผ**: ์์, ํ์ดํฌ๊ทธ๋ํผ ๋ฑ ๋์์ธ ํ ํฐ๊ณผ ์ ํธ๋ฆฌํฐ ํจ์ ํฌํจ |
11 | | -- **๊ฐํธํ ํ
๋ง ์ ์ฉ**: ThemeProvider๋ก ์ ์ฒด ์ฑ์ ์์ฝ๊ฒ ํ
๋ง ์ ์ฉ ๊ฐ๋ฅ |
| 7 | +- **Official KRDS Design**: Implements the Korea Design System as-is. |
| 8 | +- **MUI Compatible**: Works with MUI v7+ and React v19+. |
| 9 | +- **Rich Component Library**: Includes common components like Alert, Button, Table, and composite components. |
| 10 | +- **Design Tokens & Utilities**: Provides color, typography tokens, and helper functions. |
| 11 | +- **Easy Theme Application**: Apply the theme to your entire app with MUI's ThemeProvider. |
12 | 12 |
|
13 | | -## ์ต์ ์ง์ ๋ฒ์ |
| 13 | +## Minimum Requirements |
14 | 14 |
|
15 | | -- mui >= 7 |
16 | | -- react >= 19 |
| 15 | +- MUI >= 7 |
| 16 | +- React >= 19 |
17 | 17 |
|
18 | | -## ์์ํ๊ธฐ |
| 18 | +## Getting Started |
19 | 19 |
|
20 | | -### 1. ํจํค์ง ์ค์น |
| 20 | +### 1. Install the Package |
21 | 21 |
|
22 | 22 | ```bash |
23 | 23 | pnpm install @gracefullight/krds |
24 | 24 | ``` |
25 | 25 |
|
26 | | -### 2. ํ
๋ง ์ ์ฉ |
| 26 | +### 2. Apply the Theme |
27 | 27 |
|
28 | | -์๋ ์์์ฒ๋ผ ThemeProvider์ KRDS ํ
๋ง๋ฅผ ์ ์ฉํ์ธ์. |
29 | | - |
30 | | -```ts |
| 28 | +```tsx |
31 | 29 | import type { PropsWithChildren } from "react"; |
32 | 30 |
|
33 | 31 | import { createKrdsTheme } from "@gracefullight/krds"; |
34 | 32 | import { ThemeProvider } from "@mui/material/styles"; |
35 | 33 |
|
36 | | -const krdsTheme = createKrdsTheme(); |
37 | | - |
38 | 34 | export default function MuiProvider({ children }: PropsWithChildren) { |
39 | | - return ( |
40 | | - <ThemeProvider theme={krdsTheme}>{children}</ThemeProvider> |
41 | | - ); |
| 35 | + const krdsTheme = createKrdsTheme(); |
| 36 | + |
| 37 | + return <ThemeProvider theme={krdsTheme}>{children}</ThemeProvider>; |
42 | 38 | } |
43 | 39 | ``` |
44 | 40 |
|
45 | | -> **์ฐธ๊ณ :** ํ์
์ง์์ด ํ์ํ๋ค๋ฉด ์๋๋ฅผ ์ถ๊ฐํ์ธ์. |
| 41 | +> **Note:** If you need type definitions, add: |
46 | 42 |
|
47 | 43 | ```ts |
48 | 44 | /// <reference types="@gracefullight/krds" /> |
49 | 45 | ``` |
50 | 46 |
|
51 | | -## ์ฌ์ฉ ์์ |
52 | | - |
53 | | -KRDS ํ
๋ง๊ฐ ์ ์ฉ๋ MUI ์ปดํฌ๋ํธ์ KRDS ์ ์ฉ ์ปดํฌ๋ํธ๋ฅผ ํจ๊ป ์ฌ์ฉํ ์ ์์ต๋๋ค. |
| 47 | +## Usage Example |
54 | 48 |
|
55 | 49 | ```tsx |
56 | 50 | import { Button } from "@mui/material"; |
57 | 51 | import { CriticalAlerts } from "@gracefullight/krds/components"; |
58 | 52 | ``` |
59 | 53 |
|
60 | | -- ๋ ๋ง์ ์ปดํฌ๋ํธ์ ์ฌ์ฉ๋ฒ์ [๊ณต์ ๋ฌธ์](https://www.krds.go.kr/) ๋๋ [Storybook](https://krds.gracefullight.dev)์ ์ฐธ๊ณ ํ์ธ์. |
61 | | - |
62 | | -## ๋ณ๊ฒฝ ์ด๋ ฅ |
63 | | - |
64 | | -- Mui ์ปดํฌ๋ํธ ์ถ๊ฐ, ์กฐํฉ ์ปดํฌ๋ํธ ์ถ๊ฐ: 0.11.0 |
65 | | - - divider |
66 | | - - info-box |
67 | | - - top-button |
68 | | -- date input ์์ด์ฝ ๋ณ๊ฒฝ: 0.10.1 |
69 | | -- ์กฐํฉ ์ปดํฌ๋ํธ ์ถ๊ฐ: 0.10.0 |
70 | | - - chip |
71 | | - - chip-group |
72 | | - - masthead |
73 | | - - skip-link |
74 | | - - splash-screen |
75 | | -- Mui ์ปดํฌ๋ํธ ์ถ๊ฐ, ์กฐํฉ ์ปดํฌ๋ํธ ์ถ๊ฐ: 0.9.0 |
76 | | - - critical-alerts |
77 | | - - date-picker |
78 | | - - tooltip |
79 | | -- Mui ์ปดํฌ๋ํธ ์ถ๊ฐ: 0.8.0 |
80 | | - - stepper |
81 | | - - switch |
82 | | - - table |
83 | | -- Mui ์ปดํฌ๋ํธ ์ถ๊ฐ: 0.7.0 |
84 | | - - menu |
85 | | - - pagination |
86 | | - - radio |
87 | | - - select |
88 | | -- Mui ์ปดํฌ๋ํธ ์ถ๊ฐ: 0.6.0 |
89 | | - - dialog |
90 | | - - drawer |
91 | | - - linear-progress |
92 | | -- Mui ์ปดํฌ๋ํธ ์ถ๊ฐ: 0.5.0 |
93 | | - - checkbox |
94 | | - - chip |
95 | | - - circular-progress |
96 | | -- Mui ์ปดํฌ๋ํธ ์ถ๊ฐ: 0.4.0 |
97 | | - - alert |
98 | | - - badge |
99 | | - - breadcrumbs |
100 | | -- Mui ์ปดํฌ๋ํธ ์ถ๊ฐ: 0.3.0 |
101 | | - - link |
102 | | - - tabs |
103 | | -- Mui ํ
๋ง ์ ๊ณต: 0.2.0 |
104 | | - - theme |
105 | | - - button |
106 | | - - typography |
107 | | -- ์ด๊ธฐํ ์คํ์ผ ์ ๊ณต: 0.1.1 |
108 | | -- ๋์์ธ ํ ํฐ ํฌํผ ์ ๊ณต: 0.1.0 |
| 54 | +Refer to the [official documentation](https://www.krds.go.kr/) or [Storybook](https://krds.gracefullight.dev) for more components and usage. |
| 55 | + |
| 56 | +## Changelog |
| 57 | + |
| 58 | +See [CHANGELOG.md](./CHANGELOG.md) for the detailed release history. |
0 commit comments