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.
- package/package.json +2 -2
- package/react/atom/pagination.module.scss +61 -0
- package/react/atom/pagination.tsx +87 -0
- package/react.ts +2 -1
- package/readme.md +3 -3
- package/scss/color/theme.scss +92 -0
- package/scss/form/checkbox-radio.scss +48 -0
- package/scss/form/toggle.scss +16 -0
- package/scss/layout/bg-elevation.scss +14 -0
- package/scss/reset.scss +2 -0
- package/.prettierignore +0 -9
- package/.prettierrc +0 -8
- package/ARCHITECTURE.md +0 -727
- package/cli/icon-scss.js +0 -56
- package/eslint.config.js +0 -26
- package/index.html +0 -12
- package/next-env.d.ts +0 -5
- package/next.config.mjs +0 -10
- package/public/logo.svg +0 -57
- package/src/app/components/button/page.module.scss +0 -253
- package/src/app/components/button/page.tsx +0 -366
- package/src/app/components/checkbox-radio/page.module.scss +0 -95
- package/src/app/components/checkbox-radio/page.tsx +0 -265
- package/src/app/components/input/page.module.scss +0 -112
- package/src/app/components/input/page.tsx +0 -196
- package/src/app/components/select/page.module.scss +0 -90
- package/src/app/components/select/page.tsx +0 -225
- package/src/app/components/textarea/page.module.scss +0 -81
- package/src/app/components/textarea/page.tsx +0 -103
- package/src/app/foundation/colors/page.module.scss +0 -370
- package/src/app/foundation/colors/page.tsx +0 -200
- package/src/app/foundation/icons/page.module.scss +0 -229
- package/src/app/foundation/icons/page.tsx +0 -229
- package/src/app/foundation/spacing/page.module.scss +0 -258
- package/src/app/foundation/spacing/page.tsx +0 -289
- package/src/app/foundation/typography/page.module.scss +0 -148
- package/src/app/foundation/typography/page.tsx +0 -207
- package/src/app/getting-started/installation/page.module.scss +0 -157
- package/src/app/getting-started/installation/page.tsx +0 -154
- package/src/app/getting-started/usage/page.module.scss +0 -209
- package/src/app/getting-started/usage/page.tsx +0 -242
- package/src/app/home.module.scss +0 -541
- package/src/app/layout/grid/page.module.scss +0 -178
- package/src/app/layout/grid/page.tsx +0 -217
- package/src/app/layout/responsive/page.module.scss +0 -237
- package/src/app/layout/responsive/page.tsx +0 -279
- package/src/app/layout.module.scss +0 -14
- package/src/app/layout.tsx +0 -30
- package/src/app/page.module.scss +0 -71
- package/src/app/page.tsx +0 -284
- package/src/components/CodeBlock.module.scss +0 -29
- package/src/components/CodeBlock.tsx +0 -18
- package/src/components/Navigation.module.scss +0 -104
- package/src/components/Navigation.tsx +0 -96
- package/src/components/PageHeader.module.scss +0 -24
- package/src/components/PageHeader.tsx +0 -17
- package/src/components/ThemeToggle.module.scss +0 -34
- package/src/components/ThemeToggle.tsx +0 -47
- package/src/styles/custom.scss +0 -11
- package/src/styles/doc-common.scss +0 -119
- package/src/styles/font-family.scss +0 -80
- package/src/styles/icon.scss +0 -5
- package/src/vite-env.d.ts +0 -1
- 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
|
-
}
|