podo-ui 0.1.46 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/package.json +2 -2
  2. package/react/atom/pagination.module.scss +61 -0
  3. package/react/atom/pagination.tsx +87 -0
  4. package/react.ts +2 -1
  5. package/readme.md +3 -3
  6. package/scss/color/theme.scss +92 -0
  7. package/scss/form/checkbox-radio.scss +48 -0
  8. package/scss/form/toggle.scss +16 -0
  9. package/scss/layout/bg-elevation.scss +14 -0
  10. package/scss/reset.scss +2 -0
  11. package/.prettierignore +0 -9
  12. package/.prettierrc +0 -8
  13. package/ARCHITECTURE.md +0 -727
  14. package/cli/icon-scss.js +0 -56
  15. package/eslint.config.js +0 -26
  16. package/index.html +0 -12
  17. package/next-env.d.ts +0 -5
  18. package/next.config.mjs +0 -10
  19. package/public/logo.svg +0 -57
  20. package/src/app/components/button/page.module.scss +0 -253
  21. package/src/app/components/button/page.tsx +0 -366
  22. package/src/app/components/checkbox-radio/page.module.scss +0 -95
  23. package/src/app/components/checkbox-radio/page.tsx +0 -265
  24. package/src/app/components/input/page.module.scss +0 -112
  25. package/src/app/components/input/page.tsx +0 -196
  26. package/src/app/components/select/page.module.scss +0 -90
  27. package/src/app/components/select/page.tsx +0 -225
  28. package/src/app/components/textarea/page.module.scss +0 -81
  29. package/src/app/components/textarea/page.tsx +0 -103
  30. package/src/app/foundation/colors/page.module.scss +0 -370
  31. package/src/app/foundation/colors/page.tsx +0 -200
  32. package/src/app/foundation/icons/page.module.scss +0 -229
  33. package/src/app/foundation/icons/page.tsx +0 -229
  34. package/src/app/foundation/spacing/page.module.scss +0 -258
  35. package/src/app/foundation/spacing/page.tsx +0 -289
  36. package/src/app/foundation/typography/page.module.scss +0 -148
  37. package/src/app/foundation/typography/page.tsx +0 -207
  38. package/src/app/getting-started/installation/page.module.scss +0 -157
  39. package/src/app/getting-started/installation/page.tsx +0 -154
  40. package/src/app/getting-started/usage/page.module.scss +0 -209
  41. package/src/app/getting-started/usage/page.tsx +0 -242
  42. package/src/app/home.module.scss +0 -541
  43. package/src/app/layout/grid/page.module.scss +0 -178
  44. package/src/app/layout/grid/page.tsx +0 -217
  45. package/src/app/layout/responsive/page.module.scss +0 -237
  46. package/src/app/layout/responsive/page.tsx +0 -279
  47. package/src/app/layout.module.scss +0 -14
  48. package/src/app/layout.tsx +0 -30
  49. package/src/app/page.module.scss +0 -71
  50. package/src/app/page.tsx +0 -284
  51. package/src/components/CodeBlock.module.scss +0 -29
  52. package/src/components/CodeBlock.tsx +0 -18
  53. package/src/components/Navigation.module.scss +0 -104
  54. package/src/components/Navigation.tsx +0 -96
  55. package/src/components/PageHeader.module.scss +0 -24
  56. package/src/components/PageHeader.tsx +0 -17
  57. package/src/components/ThemeToggle.module.scss +0 -34
  58. package/src/components/ThemeToggle.tsx +0 -47
  59. package/src/styles/custom.scss +0 -11
  60. package/src/styles/doc-common.scss +0 -119
  61. package/src/styles/font-family.scss +0 -80
  62. package/src/styles/icon.scss +0 -5
  63. package/src/vite-env.d.ts +0 -1
  64. package/tsconfig.json +0 -26
@@ -1,242 +0,0 @@
1
- import Link from 'next/link';
2
- import styles from './page.module.scss';
3
-
4
- export default function Usage() {
5
- return (
6
- <>
7
- <div className={styles.header}>
8
- <h1 className={styles.title}>사용법</h1>
9
- <p className={styles.description}>
10
- Podo UI의 기본 사용법과 주요 기능을 소개합니다.
11
- </p>
12
- </div>
13
-
14
- <section className={styles.section}>
15
- <h2>CSS 클래스 사용하기</h2>
16
- <p>
17
- Podo UI는 CSS 우선 접근 방식을 사용합니다. 대부분의 스타일은 HTML 클래스를 통해 적용됩니다.
18
- </p>
19
-
20
- <h3>버튼 예제</h3>
21
- <div className={styles.example}>
22
- <div className={styles.preview}>
23
- <button className="primary">Primary Button</button>
24
- <button className="info">Info Button</button>
25
- <button className="danger">Danger Button</button>
26
- </div>
27
- <div className={styles.codeBlock}>
28
- <pre><code>{`<button class="primary">Primary Button</button>
29
- <button class="info">Info Button</button>
30
- <button class="danger">Danger Button</button>`}</code></pre>
31
- </div>
32
- </div>
33
-
34
- <h3>버튼 변형</h3>
35
- <div className={styles.example}>
36
- <div className={styles.preview}>
37
- <button className="primary-fill">Primary Fill</button>
38
- <button className="primary-border">Primary Border</button>
39
- <button className="primary-text">Primary Text</button>
40
- </div>
41
- <div className={styles.codeBlock}>
42
- <pre><code>{`<button class="primary-fill">Primary Fill</button>
43
- <button class="primary-border">Primary Border</button>
44
- <button class="primary-text">Primary Text</button>`}</code></pre>
45
- </div>
46
- </div>
47
-
48
- <h3>Input 예제</h3>
49
- <div className={styles.example}>
50
- <div className={styles.preview}>
51
- <input type="text" placeholder="기본 Input" />
52
- <input type="text" className="success" placeholder="Success Input" />
53
- <input type="text" className="danger" placeholder="Danger Input" />
54
- </div>
55
- <div className={styles.codeBlock}>
56
- <pre><code>{`<input type="text" placeholder="기본 Input" />
57
- <input type="text" class="success" placeholder="Success Input" />
58
- <input type="text" class="danger" placeholder="Danger Input" />`}</code></pre>
59
- </div>
60
- </div>
61
- </section>
62
-
63
- <section className={styles.section}>
64
- <h2>SCSS 함수와 믹스인</h2>
65
- <p>
66
- SCSS 모듈에서 Podo UI의 디자인 토큰을 사용하여 커스텀 스타일을 작성할 수 있습니다.
67
- </p>
68
-
69
- <h3>컬러 함수</h3>
70
- <div className={styles.codeBlock}>
71
- <pre><code>{`@use 'podo-ui/mixin' as *;
72
-
73
- .myComponent {
74
- background: color(primary-base); // Primary 색상
75
- color: color(primary-reverse); // Primary 반전 색상
76
- border: 1px solid color(primary-outline);
77
-
78
- &:hover {
79
- background: color(primary-hover); // Primary hover 색상
80
- }
81
- }`}</code></pre>
82
- </div>
83
-
84
- <h3>간격 함수 (Spacing)</h3>
85
- <div className={styles.codeBlock}>
86
- <pre><code>{`@use 'podo-ui/mixin' as *;
87
-
88
- .myComponent {
89
- margin: s(4); // 12px
90
- padding: s(6); // 20px
91
- gap: s(3); // 8px
92
-
93
- // 0-13까지 사용 가능
94
- margin-top: s(8); // 28px
95
- }`}</code></pre>
96
- </div>
97
-
98
- <h3>Border Radius 함수</h3>
99
- <div className={styles.codeBlock}>
100
- <pre><code>{`@use 'podo-ui/mixin' as *;
101
-
102
- .myComponent {
103
- border-radius: r(2); // 4px
104
- border-radius: r(3); // 8px
105
- border-radius: r(4); // 12px
106
- }`}</code></pre>
107
- </div>
108
-
109
- <h3>타이포그래피 믹스인</h3>
110
- <div className={styles.codeBlock}>
111
- <pre><code>{`@use 'podo-ui/mixin' as *;
112
-
113
- .title {
114
- @include display1; // 가장 큰 제목
115
- }
116
-
117
- .heading {
118
- @include display4; // 중간 크기 제목
119
- }
120
-
121
- .body {
122
- @include p2; // 본문 텍스트
123
- }
124
-
125
- .caption {
126
- @include p5; // 작은 텍스트
127
- }`}</code></pre>
128
- </div>
129
- </section>
130
-
131
- <section className={styles.section}>
132
- <h2>React 컴포넌트</h2>
133
- <p>
134
- 일부 복잡한 컴포넌트는 React 컴포넌트로 제공됩니다.
135
- </p>
136
-
137
- <div className={styles.codeBlock}>
138
- <div className={styles.codeHeader}>일반 React</div>
139
- <pre><code>{`import { Input, Textarea, Editor, Field } from 'podo-ui/react';
140
-
141
- function MyForm() {
142
- return (
143
- <Field label="이름" required>
144
- <Input placeholder="이름을 입력하세요" />
145
- </Field>
146
- );
147
- }`}</code></pre>
148
- </div>
149
-
150
- <div className={styles.codeBlock}>
151
- <div className={styles.codeHeader}>Next.js</div>
152
- <pre><code>{`import { Input, Textarea, Editor, Field } from 'podo-ui/next';
153
-
154
- function MyForm() {
155
- return (
156
- <Field label="설명" required>
157
- <Textarea placeholder="설명을 입력하세요" />
158
- </Field>
159
- );
160
- }`}</code></pre>
161
- </div>
162
- </section>
163
-
164
- <section className={styles.section}>
165
- <h2>테마 (Light/Dark Mode)</h2>
166
- <p>
167
- Podo UI는 라이트 모드와 다크 모드를 자동으로 지원합니다.
168
- </p>
169
-
170
- <div className={styles.codeBlock}>
171
- <div className={styles.codeHeader}>테마 설정</div>
172
- <pre><code>{`// 라이트 모드로 설정
173
- document.documentElement.setAttribute('data-color-mode', 'light');
174
-
175
- // 다크 모드로 설정
176
- document.documentElement.setAttribute('data-color-mode', 'dark');
177
-
178
- // 시스템 설정 따르기
179
- document.documentElement.setAttribute('data-color-mode', '');`}</code></pre>
180
- </div>
181
-
182
- <div className={styles.note}>
183
- <i className="icon-info"></i>
184
- <div>
185
- <strong>참고:</strong> 모든 색상은 <code>color()</code> 함수를 사용하면 자동으로 테마에 대응됩니다.
186
- </div>
187
- </div>
188
- </section>
189
-
190
- <section className={styles.section}>
191
- <h2>다음 단계</h2>
192
- <p>더 자세한 내용은 각 섹션의 문서를 참고하세요:</p>
193
-
194
- <div className={styles.linkGrid}>
195
- <Link href="/foundation/colors" className={styles.linkCard}>
196
- <div className={styles.linkIcon}>
197
- <i className="icon-ellipse"></i>
198
- </div>
199
- <div>
200
- <h4>컬러 시스템</h4>
201
- <p>8가지 시맨틱 컬러와 변형</p>
202
- </div>
203
- <i className="icon-arrow-right"></i>
204
- </Link>
205
-
206
- <Link href="/foundation/typography" className={styles.linkCard}>
207
- <div className={styles.linkIcon}>
208
- <i className="icon-text"></i>
209
- </div>
210
- <div>
211
- <h4>타이포그래피</h4>
212
- <p>폰트 스타일과 믹스인</p>
213
- </div>
214
- <i className="icon-arrow-right"></i>
215
- </Link>
216
-
217
- <Link href="/foundation/icons" className={styles.linkCard}>
218
- <div className={styles.linkIcon}>
219
- <i className="icon-star"></i>
220
- </div>
221
- <div>
222
- <h4>아이콘</h4>
223
- <p>119개 아이콘 폰트</p>
224
- </div>
225
- <i className="icon-arrow-right"></i>
226
- </Link>
227
-
228
- <Link href="/components/button" className={styles.linkCard}>
229
- <div className={styles.linkIcon}>
230
- <i className="icon-layers"></i>
231
- </div>
232
- <div>
233
- <h4>컴포넌트</h4>
234
- <p>UI 컴포넌트 둘러보기</p>
235
- </div>
236
- <i className="icon-arrow-right"></i>
237
- </Link>
238
- </div>
239
- </section>
240
- </>
241
- );
242
- }