@bigtablet/design-system 1.23.0 → 1.24.1
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/dist/index.css +637 -577
- package/dist/index.d.ts +526 -240
- package/dist/index.js +875 -660
- package/dist/next.css +28 -28
- package/dist/next.d.ts +1 -1
- package/dist/next.js +99 -147
- package/dist/styles/scss/_a11y.scss +4 -4
- package/dist/styles/scss/_breakpoints.scss +19 -13
- package/dist/styles/scss/_colors.scss +67 -55
- package/dist/styles/scss/_radius.scss +6 -5
- package/dist/styles/scss/_shadows.scss +5 -20
- package/dist/styles/scss/_spacing.scss +14 -12
- package/dist/styles/scss/_typography.scss +61 -64
- package/dist/styles/scss/_z-index.scss +6 -3
- package/dist/vanilla/bigtablet.min.css +1 -1
- package/dist/vanilla/bigtablet.min.js +2 -2
- package/package.json +148 -146
package/dist/index.d.ts
CHANGED
|
@@ -1,96 +1,94 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
|
|
4
|
-
declare const
|
|
5
|
-
readonly
|
|
6
|
-
readonly
|
|
7
|
-
readonly
|
|
8
|
-
readonly
|
|
9
|
-
readonly backgroundNeutral: "#f3f3f3";
|
|
10
|
-
readonly backgroundMuted: "#f0f0f0";
|
|
11
|
-
readonly textPrimary: "#1a1a1a";
|
|
12
|
-
readonly textSecondary: "#666666";
|
|
13
|
-
readonly textTertiary: "#999999";
|
|
14
|
-
readonly border: "#e5e5e5";
|
|
15
|
-
readonly borderLight: "rgba(0, 0, 0, 0.08)";
|
|
16
|
-
readonly success: "#10b981";
|
|
17
|
-
readonly error: "#ef4444";
|
|
18
|
-
readonly warning: "#f59e0b";
|
|
19
|
-
readonly info: "#3b82f6";
|
|
20
|
-
readonly overlay: "rgba(0, 0, 0, 0.5)";
|
|
21
|
-
readonly hoverSubtle: "rgba(0, 0, 0, 0.03)";
|
|
22
|
-
readonly hoverLight: "rgba(0, 0, 0, 0.05)";
|
|
23
|
-
readonly textStrong: "#1F2937";
|
|
24
|
-
readonly textNormal: "#3B3B3B";
|
|
25
|
-
readonly textSubtle: "#6B7280";
|
|
26
|
-
readonly textDisabled: "#9CA3AF";
|
|
27
|
-
readonly textInverse: "#FFFFFF";
|
|
4
|
+
declare const a11y: {
|
|
5
|
+
readonly focusRing: "0 0 0 3px rgba(0, 0, 0, 0.15)";
|
|
6
|
+
readonly focusRingError: "0 0 0 3px rgba(239, 68, 68, 0.15)";
|
|
7
|
+
readonly focusRingSuccess: "0 0 0 3px rgba(16, 185, 129, 0.15)";
|
|
8
|
+
readonly tapMinSize: "44px";
|
|
28
9
|
};
|
|
29
10
|
|
|
30
|
-
declare const
|
|
31
|
-
readonly
|
|
32
|
-
readonly
|
|
33
|
-
readonly
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
readonly
|
|
37
|
-
readonly
|
|
38
|
-
readonly
|
|
39
|
-
readonly "5xl": "3rem";
|
|
11
|
+
declare const baseBorderWidth: {
|
|
12
|
+
readonly "0": "0px";
|
|
13
|
+
readonly "1": "1px";
|
|
14
|
+
readonly "2": "2px";
|
|
15
|
+
};
|
|
16
|
+
declare const borderWidth: {
|
|
17
|
+
readonly none: "0px";
|
|
18
|
+
readonly standard: "1px";
|
|
19
|
+
readonly indicator: "2px";
|
|
40
20
|
};
|
|
41
21
|
|
|
42
|
-
declare const
|
|
43
|
-
readonly
|
|
44
|
-
|
|
22
|
+
declare const breakpoints: {
|
|
23
|
+
readonly compact: 0;
|
|
24
|
+
readonly medium: 600;
|
|
25
|
+
readonly expanded: 840;
|
|
26
|
+
readonly large: 1200;
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
declare const baseColors: {
|
|
30
|
+
readonly brandPrimary: "#121212";
|
|
31
|
+
readonly blue600: "#1A73E8";
|
|
32
|
+
readonly neutral0: "#FFFFFF";
|
|
33
|
+
readonly neutral50: "#F4F4F4";
|
|
34
|
+
readonly neutral200: "#E5E5E5";
|
|
35
|
+
readonly neutral300: "#999999";
|
|
36
|
+
readonly neutral400: "#B3B3B3";
|
|
37
|
+
readonly neutral500: "#888888";
|
|
38
|
+
readonly neutral700: "#666666";
|
|
39
|
+
readonly neutral900: "#121212";
|
|
40
|
+
readonly statusError: "#EF4444";
|
|
41
|
+
readonly statusSuccess: "#10B981";
|
|
42
|
+
readonly statusWarning: "#F59E0B";
|
|
43
|
+
readonly statusInfo: "#3B82F6";
|
|
44
|
+
readonly alphaBlack5: "rgba(0, 0, 0, 0.05)";
|
|
45
|
+
readonly alphaBlack8: "rgba(0, 0, 0, 0.08)";
|
|
46
|
+
readonly alphaBlack12: "rgba(26, 26, 26, 0.12)";
|
|
47
|
+
readonly alphaBlack38: "rgba(26, 26, 26, 0.38)";
|
|
48
|
+
readonly alphaBlack50: "rgba(0, 0, 0, 0.50)";
|
|
49
|
+
readonly alphaWhite5: "rgba(255, 255, 255, 0.05)";
|
|
50
|
+
readonly alphaWhite8: "rgba(255, 255, 255, 0.08)";
|
|
51
|
+
readonly alphaWhite12: "rgba(255, 255, 255, 0.12)";
|
|
52
|
+
};
|
|
53
|
+
declare const colors: {
|
|
54
|
+
readonly brand: {
|
|
55
|
+
readonly primary: "#121212";
|
|
56
|
+
readonly onPrimary: "#FFFFFF";
|
|
45
57
|
};
|
|
46
|
-
readonly
|
|
47
|
-
readonly
|
|
48
|
-
readonly
|
|
49
|
-
readonly
|
|
50
|
-
readonly
|
|
51
|
-
readonly
|
|
52
|
-
readonly
|
|
53
|
-
readonly "2xl": "1.5rem";
|
|
54
|
-
readonly "3xl": "2rem";
|
|
55
|
-
readonly "4xl": "2.5rem";
|
|
58
|
+
readonly text: {
|
|
59
|
+
readonly heading: "#121212";
|
|
60
|
+
readonly body: "#666666";
|
|
61
|
+
readonly caption: "#888888";
|
|
62
|
+
readonly brand: "#121212";
|
|
63
|
+
readonly inverse: "#FFFFFF";
|
|
64
|
+
readonly disabled: "rgba(26, 26, 26, 0.38)";
|
|
56
65
|
};
|
|
57
|
-
readonly
|
|
58
|
-
readonly
|
|
59
|
-
readonly
|
|
60
|
-
readonly
|
|
61
|
-
readonly
|
|
62
|
-
readonly
|
|
63
|
-
readonly semibold: 600;
|
|
64
|
-
readonly bold: 700;
|
|
65
|
-
readonly extrabold: 800;
|
|
66
|
-
readonly black: 900;
|
|
66
|
+
readonly bg: {
|
|
67
|
+
readonly solid: "#FFFFFF";
|
|
68
|
+
readonly solidDim: "#F4F4F4";
|
|
69
|
+
readonly additive: "rgba(0, 0, 0, 0.05)";
|
|
70
|
+
readonly disabled: "rgba(26, 26, 26, 0.12)";
|
|
71
|
+
readonly overlay: "rgba(0, 0, 0, 0.50)";
|
|
67
72
|
};
|
|
68
|
-
readonly
|
|
69
|
-
readonly
|
|
70
|
-
readonly
|
|
71
|
-
readonly
|
|
72
|
-
readonly
|
|
73
|
+
readonly state: {
|
|
74
|
+
readonly hoverOnLight: "rgba(0, 0, 0, 0.05)";
|
|
75
|
+
readonly pressedOnLight: "rgba(26, 26, 26, 0.12)";
|
|
76
|
+
readonly hoverOnDark: "rgba(255, 255, 255, 0.05)";
|
|
77
|
+
readonly pressedOnDark: "rgba(255, 255, 255, 0.12)";
|
|
73
78
|
};
|
|
74
|
-
readonly
|
|
75
|
-
readonly
|
|
76
|
-
readonly
|
|
77
|
-
readonly
|
|
79
|
+
readonly border: {
|
|
80
|
+
readonly default: "#E5E5E5";
|
|
81
|
+
readonly hover: "#B3B3B3";
|
|
82
|
+
readonly subtle: "rgba(0, 0, 0, 0.08)";
|
|
83
|
+
readonly focus: "#121212";
|
|
84
|
+
readonly disabled: "#F2F2F2";
|
|
85
|
+
};
|
|
86
|
+
readonly status: {
|
|
87
|
+
readonly error: "#EF4444";
|
|
88
|
+
readonly success: "#10B981";
|
|
89
|
+
readonly warning: "#F59E0B";
|
|
90
|
+
readonly info: "#3B82F6";
|
|
78
91
|
};
|
|
79
|
-
};
|
|
80
|
-
|
|
81
|
-
declare const radius: {
|
|
82
|
-
readonly sm: "6px";
|
|
83
|
-
readonly md: "8px";
|
|
84
|
-
readonly lg: "12px";
|
|
85
|
-
readonly xl: "16px";
|
|
86
|
-
readonly full: "9999px";
|
|
87
|
-
};
|
|
88
|
-
|
|
89
|
-
declare const shadows: {
|
|
90
|
-
readonly sm: "0 2px 4px rgba(0, 0, 0, 0.04)";
|
|
91
|
-
readonly md: "0 4px 12px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.04)";
|
|
92
|
-
readonly lg: "0 8px 20px rgba(0, 0, 0, 0.12), 0 4px 8px rgba(0, 0, 0, 0.06)";
|
|
93
|
-
readonly xl: "0 20px 25px -5px rgba(0,0,0,0.1), 0 10px 10px -5px rgba(0,0,0,0.04)";
|
|
94
92
|
};
|
|
95
93
|
|
|
96
94
|
declare const motion: {
|
|
@@ -107,24 +105,55 @@ declare const motion: {
|
|
|
107
105
|
};
|
|
108
106
|
};
|
|
109
107
|
|
|
108
|
+
declare const opacity: {
|
|
109
|
+
readonly "0": 0;
|
|
110
|
+
readonly "5": 0.05;
|
|
111
|
+
readonly "8": 0.08;
|
|
112
|
+
readonly "12": 0.12;
|
|
113
|
+
readonly "16": 0.16;
|
|
114
|
+
readonly "38": 0.38;
|
|
115
|
+
readonly "50": 0.5;
|
|
116
|
+
readonly "80": 0.8;
|
|
117
|
+
readonly "90": 0.9;
|
|
118
|
+
readonly "100": 1;
|
|
119
|
+
};
|
|
120
|
+
|
|
121
|
+
declare const radius: {
|
|
122
|
+
readonly none: "0px";
|
|
123
|
+
readonly xs: "4px";
|
|
124
|
+
readonly sm: "6px";
|
|
125
|
+
readonly md: "8px";
|
|
126
|
+
readonly lg: "12px";
|
|
127
|
+
readonly xl: "16px";
|
|
128
|
+
readonly full: "9999px";
|
|
129
|
+
};
|
|
130
|
+
|
|
131
|
+
declare const shadows: {
|
|
132
|
+
readonly level1: "0 1px 1px -1px rgba(0, 0, 0, 0.20), 0 3px 3px 0px rgba(0, 0, 0, 0.12)";
|
|
133
|
+
readonly level2: "0 2px 2px -2px rgba(0, 0, 0, 0.20), 0 6px 6px 0px rgba(0, 0, 0, 0.12)";
|
|
134
|
+
readonly level3: "0 3px 3px -3px rgba(0, 0, 0, 0.20), 0 9px 9px 0px rgba(0, 0, 0, 0.12)";
|
|
135
|
+
readonly level4: "0 5px 5px -5px rgba(0, 0, 0, 0.20), 0 15px 15px 0px rgba(0, 0, 0, 0.12)";
|
|
136
|
+
readonly level5: "0 8px 10px -5px rgba(0, 0, 0, 0.20), 0 20px 20px 0px rgba(0, 0, 0, 0.12)";
|
|
137
|
+
};
|
|
138
|
+
|
|
110
139
|
declare const skeleton: {
|
|
111
140
|
readonly color: {
|
|
112
|
-
readonly base: "#
|
|
113
|
-
readonly wave: "#
|
|
114
|
-
readonly highlight: "#
|
|
141
|
+
readonly base: "#F4F4F4";
|
|
142
|
+
readonly wave: "#E5E5E5";
|
|
143
|
+
readonly highlight: "#FFFFFF";
|
|
115
144
|
};
|
|
116
|
-
readonly gradient: "linear-gradient(90deg, #
|
|
145
|
+
readonly gradient: "linear-gradient(90deg, #F4F4F4 25%, #FFFFFF 37%, #E5E5E5 63%)";
|
|
117
146
|
readonly radius: {
|
|
118
147
|
readonly sm: "6px";
|
|
119
148
|
readonly md: "8px";
|
|
120
149
|
readonly lg: "12px";
|
|
121
150
|
};
|
|
122
151
|
readonly height: {
|
|
123
|
-
readonly xs: "
|
|
124
|
-
readonly sm: "
|
|
125
|
-
readonly md: "
|
|
126
|
-
readonly lg: "
|
|
127
|
-
readonly xl: "
|
|
152
|
+
readonly xs: "4px";
|
|
153
|
+
readonly sm: "8px";
|
|
154
|
+
readonly md: "12px";
|
|
155
|
+
readonly lg: "16px";
|
|
156
|
+
readonly xl: "20px";
|
|
128
157
|
};
|
|
129
158
|
readonly animation: {
|
|
130
159
|
readonly duration: "1.4s";
|
|
@@ -132,24 +161,265 @@ declare const skeleton: {
|
|
|
132
161
|
};
|
|
133
162
|
};
|
|
134
163
|
|
|
135
|
-
declare const
|
|
136
|
-
readonly
|
|
137
|
-
readonly
|
|
138
|
-
readonly
|
|
139
|
-
readonly
|
|
164
|
+
declare const spacing: {
|
|
165
|
+
readonly "0": "0px";
|
|
166
|
+
readonly "1": "1px";
|
|
167
|
+
readonly "2": "2px";
|
|
168
|
+
readonly "3": "3px";
|
|
169
|
+
readonly "4": "4px";
|
|
170
|
+
readonly "6": "6px";
|
|
171
|
+
readonly "8": "8px";
|
|
172
|
+
readonly "12": "12px";
|
|
173
|
+
readonly "16": "16px";
|
|
174
|
+
readonly "20": "20px";
|
|
175
|
+
readonly "24": "24px";
|
|
176
|
+
readonly "32": "32px";
|
|
177
|
+
readonly "40": "40px";
|
|
178
|
+
readonly "48": "48px";
|
|
140
179
|
};
|
|
141
180
|
|
|
142
|
-
declare const
|
|
143
|
-
readonly
|
|
144
|
-
|
|
145
|
-
|
|
181
|
+
declare const baseTypography: {
|
|
182
|
+
readonly fontFamily: {
|
|
183
|
+
readonly primary: "Pretendard";
|
|
184
|
+
};
|
|
185
|
+
readonly fontSize: {
|
|
186
|
+
readonly "12": "12px";
|
|
187
|
+
readonly "13": "13px";
|
|
188
|
+
readonly "14": "14px";
|
|
189
|
+
readonly "15": "15px";
|
|
190
|
+
readonly "16": "16px";
|
|
191
|
+
readonly "18": "18px";
|
|
192
|
+
readonly "20": "20px";
|
|
193
|
+
readonly "24": "24px";
|
|
194
|
+
readonly "28": "28px";
|
|
195
|
+
readonly "32": "32px";
|
|
196
|
+
readonly "40": "40px";
|
|
197
|
+
readonly "48": "48px";
|
|
198
|
+
};
|
|
199
|
+
readonly fontWeight: {
|
|
200
|
+
readonly regular: "Regular";
|
|
201
|
+
readonly medium: "Medium";
|
|
202
|
+
};
|
|
203
|
+
readonly lineHeight: {
|
|
204
|
+
readonly "16": "16px";
|
|
205
|
+
readonly "18": "18px";
|
|
206
|
+
readonly "20": "20px";
|
|
207
|
+
readonly "22-5": "22.5px";
|
|
208
|
+
readonly "24": "24px";
|
|
209
|
+
readonly "28": "28px";
|
|
210
|
+
readonly "32": "32px";
|
|
211
|
+
readonly "36": "36px";
|
|
212
|
+
readonly "40": "40px";
|
|
213
|
+
readonly "50": "50px";
|
|
214
|
+
readonly "60": "60px";
|
|
215
|
+
};
|
|
216
|
+
readonly letterSpacing: {
|
|
217
|
+
readonly normal: "0px";
|
|
218
|
+
};
|
|
219
|
+
};
|
|
220
|
+
declare const typography: {
|
|
221
|
+
readonly fontFamily: {
|
|
222
|
+
readonly primary: "'Pretendard', sans-serif";
|
|
223
|
+
};
|
|
224
|
+
readonly display: {
|
|
225
|
+
readonly large: {
|
|
226
|
+
readonly fontSize: "48px";
|
|
227
|
+
readonly fontWeight: "Regular";
|
|
228
|
+
readonly lineHeight: "60px";
|
|
229
|
+
readonly letterSpacing: "0px";
|
|
230
|
+
};
|
|
231
|
+
readonly largeMedium: {
|
|
232
|
+
readonly fontSize: "48px";
|
|
233
|
+
readonly fontWeight: "Medium";
|
|
234
|
+
readonly lineHeight: "60px";
|
|
235
|
+
readonly letterSpacing: "0px";
|
|
236
|
+
};
|
|
237
|
+
readonly medium: {
|
|
238
|
+
readonly fontSize: "40px";
|
|
239
|
+
readonly fontWeight: "Regular";
|
|
240
|
+
readonly lineHeight: "50px";
|
|
241
|
+
readonly letterSpacing: "0px";
|
|
242
|
+
};
|
|
243
|
+
readonly mediumMedium: {
|
|
244
|
+
readonly fontSize: "40px";
|
|
245
|
+
readonly fontWeight: "Medium";
|
|
246
|
+
readonly lineHeight: "50px";
|
|
247
|
+
readonly letterSpacing: "0px";
|
|
248
|
+
};
|
|
249
|
+
readonly small: {
|
|
250
|
+
readonly fontSize: "32px";
|
|
251
|
+
readonly fontWeight: "Regular";
|
|
252
|
+
readonly lineHeight: "40px";
|
|
253
|
+
readonly letterSpacing: "0px";
|
|
254
|
+
};
|
|
255
|
+
readonly smallMedium: {
|
|
256
|
+
readonly fontSize: "32px";
|
|
257
|
+
readonly fontWeight: "Medium";
|
|
258
|
+
readonly lineHeight: "40px";
|
|
259
|
+
readonly letterSpacing: "0px";
|
|
260
|
+
};
|
|
261
|
+
};
|
|
262
|
+
readonly heading: {
|
|
263
|
+
readonly large: {
|
|
264
|
+
readonly fontSize: "28px";
|
|
265
|
+
readonly fontWeight: "Regular";
|
|
266
|
+
readonly lineHeight: "36px";
|
|
267
|
+
readonly letterSpacing: "0px";
|
|
268
|
+
};
|
|
269
|
+
readonly largeMedium: {
|
|
270
|
+
readonly fontSize: "28px";
|
|
271
|
+
readonly fontWeight: "Medium";
|
|
272
|
+
readonly lineHeight: "36px";
|
|
273
|
+
readonly letterSpacing: "0px";
|
|
274
|
+
};
|
|
275
|
+
readonly medium: {
|
|
276
|
+
readonly fontSize: "24px";
|
|
277
|
+
readonly fontWeight: "Regular";
|
|
278
|
+
readonly lineHeight: "32px";
|
|
279
|
+
readonly letterSpacing: "0px";
|
|
280
|
+
};
|
|
281
|
+
readonly mediumMedium: {
|
|
282
|
+
readonly fontSize: "24px";
|
|
283
|
+
readonly fontWeight: "Medium";
|
|
284
|
+
readonly lineHeight: "32px";
|
|
285
|
+
readonly letterSpacing: "0px";
|
|
286
|
+
};
|
|
287
|
+
readonly small: {
|
|
288
|
+
readonly fontSize: "20px";
|
|
289
|
+
readonly fontWeight: "Regular";
|
|
290
|
+
readonly lineHeight: "28px";
|
|
291
|
+
readonly letterSpacing: "0px";
|
|
292
|
+
};
|
|
293
|
+
readonly smallMedium: {
|
|
294
|
+
readonly fontSize: "20px";
|
|
295
|
+
readonly fontWeight: "Medium";
|
|
296
|
+
readonly lineHeight: "28px";
|
|
297
|
+
readonly letterSpacing: "0px";
|
|
298
|
+
};
|
|
299
|
+
};
|
|
300
|
+
readonly title: {
|
|
301
|
+
readonly large: {
|
|
302
|
+
readonly fontSize: "18px";
|
|
303
|
+
readonly fontWeight: "Regular";
|
|
304
|
+
readonly lineHeight: "24px";
|
|
305
|
+
readonly letterSpacing: "0px";
|
|
306
|
+
};
|
|
307
|
+
readonly largeMedium: {
|
|
308
|
+
readonly fontSize: "18px";
|
|
309
|
+
readonly fontWeight: "Medium";
|
|
310
|
+
readonly lineHeight: "24px";
|
|
311
|
+
readonly letterSpacing: "0px";
|
|
312
|
+
};
|
|
313
|
+
readonly medium: {
|
|
314
|
+
readonly fontSize: "16px";
|
|
315
|
+
readonly fontWeight: "Regular";
|
|
316
|
+
readonly lineHeight: "24px";
|
|
317
|
+
readonly letterSpacing: "0px";
|
|
318
|
+
};
|
|
319
|
+
readonly mediumMedium: {
|
|
320
|
+
readonly fontSize: "16px";
|
|
321
|
+
readonly fontWeight: "Medium";
|
|
322
|
+
readonly lineHeight: "24px";
|
|
323
|
+
readonly letterSpacing: "0px";
|
|
324
|
+
};
|
|
325
|
+
readonly small: {
|
|
326
|
+
readonly fontSize: "14px";
|
|
327
|
+
readonly fontWeight: "Regular";
|
|
328
|
+
readonly lineHeight: "20px";
|
|
329
|
+
readonly letterSpacing: "0px";
|
|
330
|
+
};
|
|
331
|
+
readonly smallMedium: {
|
|
332
|
+
readonly fontSize: "14px";
|
|
333
|
+
readonly fontWeight: "Medium";
|
|
334
|
+
readonly lineHeight: "20px";
|
|
335
|
+
readonly letterSpacing: "0px";
|
|
336
|
+
};
|
|
337
|
+
};
|
|
338
|
+
readonly body: {
|
|
339
|
+
readonly large: {
|
|
340
|
+
readonly fontSize: "16px";
|
|
341
|
+
readonly fontWeight: "Regular";
|
|
342
|
+
readonly lineHeight: "24px";
|
|
343
|
+
readonly letterSpacing: "0px";
|
|
344
|
+
};
|
|
345
|
+
readonly largeMedium: {
|
|
346
|
+
readonly fontSize: "16px";
|
|
347
|
+
readonly fontWeight: "Medium";
|
|
348
|
+
readonly lineHeight: "24px";
|
|
349
|
+
readonly letterSpacing: "0px";
|
|
350
|
+
};
|
|
351
|
+
readonly medium: {
|
|
352
|
+
readonly fontSize: "15px";
|
|
353
|
+
readonly fontWeight: "Regular";
|
|
354
|
+
readonly lineHeight: "22.5px";
|
|
355
|
+
readonly letterSpacing: "0px";
|
|
356
|
+
};
|
|
357
|
+
readonly mediumMedium: {
|
|
358
|
+
readonly fontSize: "15px";
|
|
359
|
+
readonly fontWeight: "Medium";
|
|
360
|
+
readonly lineHeight: "22.5px";
|
|
361
|
+
readonly letterSpacing: "0px";
|
|
362
|
+
};
|
|
363
|
+
readonly small: {
|
|
364
|
+
readonly fontSize: "14px";
|
|
365
|
+
readonly fontWeight: "Regular";
|
|
366
|
+
readonly lineHeight: "20px";
|
|
367
|
+
readonly letterSpacing: "0px";
|
|
368
|
+
};
|
|
369
|
+
readonly smallMedium: {
|
|
370
|
+
readonly fontSize: "14px";
|
|
371
|
+
readonly fontWeight: "Medium";
|
|
372
|
+
readonly lineHeight: "20px";
|
|
373
|
+
readonly letterSpacing: "0px";
|
|
374
|
+
};
|
|
375
|
+
};
|
|
376
|
+
readonly label: {
|
|
377
|
+
readonly large: {
|
|
378
|
+
readonly fontSize: "14px";
|
|
379
|
+
readonly fontWeight: "Regular";
|
|
380
|
+
readonly lineHeight: "20px";
|
|
381
|
+
readonly letterSpacing: "0px";
|
|
382
|
+
};
|
|
383
|
+
readonly largeMedium: {
|
|
384
|
+
readonly fontSize: "14px";
|
|
385
|
+
readonly fontWeight: "Medium";
|
|
386
|
+
readonly lineHeight: "20px";
|
|
387
|
+
readonly letterSpacing: "0px";
|
|
388
|
+
};
|
|
389
|
+
readonly medium: {
|
|
390
|
+
readonly fontSize: "13px";
|
|
391
|
+
readonly fontWeight: "Regular";
|
|
392
|
+
readonly lineHeight: "18px";
|
|
393
|
+
readonly letterSpacing: "0px";
|
|
394
|
+
};
|
|
395
|
+
readonly mediumMedium: {
|
|
396
|
+
readonly fontSize: "13px";
|
|
397
|
+
readonly fontWeight: "Medium";
|
|
398
|
+
readonly lineHeight: "18px";
|
|
399
|
+
readonly letterSpacing: "0px";
|
|
400
|
+
};
|
|
401
|
+
readonly small: {
|
|
402
|
+
readonly fontSize: "12px";
|
|
403
|
+
readonly fontWeight: "Regular";
|
|
404
|
+
readonly lineHeight: "16px";
|
|
405
|
+
readonly letterSpacing: "0px";
|
|
406
|
+
};
|
|
407
|
+
readonly smallMedium: {
|
|
408
|
+
readonly fontSize: "12px";
|
|
409
|
+
readonly fontWeight: "Medium";
|
|
410
|
+
readonly lineHeight: "16px";
|
|
411
|
+
readonly letterSpacing: "0px";
|
|
412
|
+
};
|
|
413
|
+
};
|
|
146
414
|
};
|
|
147
415
|
|
|
148
|
-
declare const
|
|
149
|
-
readonly
|
|
150
|
-
readonly
|
|
151
|
-
readonly
|
|
152
|
-
readonly
|
|
416
|
+
declare const zIndex: {
|
|
417
|
+
readonly level0: 0;
|
|
418
|
+
readonly level1: 10;
|
|
419
|
+
readonly level2: 100;
|
|
420
|
+
readonly level3: 200;
|
|
421
|
+
readonly level4: 500;
|
|
422
|
+
readonly level5: 1000;
|
|
153
423
|
};
|
|
154
424
|
|
|
155
425
|
interface CardProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
@@ -227,26 +497,6 @@ interface SpinnerProps {
|
|
|
227
497
|
*/
|
|
228
498
|
declare const Spinner: ({ size, ariaLabel }: SpinnerProps) => react_jsx_runtime.JSX.Element;
|
|
229
499
|
|
|
230
|
-
interface TopLoadingProps {
|
|
231
|
-
/** 진행률 (0-100). undefined면 indeterminate 모드 */
|
|
232
|
-
progress?: number;
|
|
233
|
-
/** 로딩바 색상 (기본: primary) */
|
|
234
|
-
color?: string;
|
|
235
|
-
/** 로딩바 높이 (기본: 3px) */
|
|
236
|
-
height?: number;
|
|
237
|
-
/** 표시 여부 */
|
|
238
|
-
isLoading?: boolean;
|
|
239
|
-
/** 프로그레스 바의 접근성 레이블 (기본값: "Page loading") */
|
|
240
|
-
ariaLabel?: string;
|
|
241
|
-
}
|
|
242
|
-
/**
|
|
243
|
-
* 상단 로딩바를 렌더링한다.
|
|
244
|
-
* 표시 여부와 진행률에 따라 determinate/indeterminate 상태를 구성한다.
|
|
245
|
-
* @param props 로딩바 속성
|
|
246
|
-
* @returns 렌더링된 로딩바 요소 또는 null
|
|
247
|
-
*/
|
|
248
|
-
declare const TopLoading: ({ progress, color, height, isLoading, ariaLabel, }: TopLoadingProps) => react_jsx_runtime.JSX.Element | null;
|
|
249
|
-
|
|
250
500
|
interface ToastProviderProps {
|
|
251
501
|
/** 앱 루트에서 감싸는 자식 요소 */
|
|
252
502
|
children: React.ReactNode;
|
|
@@ -261,7 +511,7 @@ interface ToastProviderProps {
|
|
|
261
511
|
* @param props Provider 속성
|
|
262
512
|
* @returns 렌더링된 Provider와 토스트 컨테이너
|
|
263
513
|
*/
|
|
264
|
-
declare const ToastProvider: ({ children, maxCount, closeAriaLabel }: ToastProviderProps) => react_jsx_runtime.JSX.Element;
|
|
514
|
+
declare const ToastProvider: ({ children, maxCount, closeAriaLabel, }: ToastProviderProps) => react_jsx_runtime.JSX.Element;
|
|
265
515
|
|
|
266
516
|
/**
|
|
267
517
|
* 토스트 메시지를 표시하는 훅.
|
|
@@ -281,26 +531,25 @@ declare const useToast: () => {
|
|
|
281
531
|
message: (message: string, duration?: number) => void;
|
|
282
532
|
};
|
|
283
533
|
|
|
284
|
-
interface
|
|
285
|
-
/**
|
|
286
|
-
|
|
287
|
-
/**
|
|
288
|
-
|
|
289
|
-
/**
|
|
290
|
-
|
|
291
|
-
/**
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
width?: string;
|
|
534
|
+
interface TopLoadingProps {
|
|
535
|
+
/** 진행률 (0-100). undefined면 indeterminate 모드 */
|
|
536
|
+
progress?: number;
|
|
537
|
+
/** 로딩바 색상 (기본: primary) */
|
|
538
|
+
color?: string;
|
|
539
|
+
/** 로딩바 높이 (기본: 3px) */
|
|
540
|
+
height?: number;
|
|
541
|
+
/** 표시 여부 */
|
|
542
|
+
isLoading?: boolean;
|
|
543
|
+
/** 프로그레스 바의 접근성 레이블 (기본값: "Page loading") */
|
|
544
|
+
ariaLabel?: string;
|
|
296
545
|
}
|
|
297
546
|
/**
|
|
298
|
-
*
|
|
299
|
-
*
|
|
300
|
-
* @param props
|
|
301
|
-
* @returns 렌더링된
|
|
547
|
+
* 상단 로딩바를 렌더링한다.
|
|
548
|
+
* 표시 여부와 진행률에 따라 determinate/indeterminate 상태를 구성한다.
|
|
549
|
+
* @param props 로딩바 속성
|
|
550
|
+
* @returns 렌더링된 로딩바 요소 또는 null
|
|
302
551
|
*/
|
|
303
|
-
declare const
|
|
552
|
+
declare const TopLoading: ({ progress, color, height, isLoading, ariaLabel, }: TopLoadingProps) => react_jsx_runtime.JSX.Element | null;
|
|
304
553
|
|
|
305
554
|
interface CheckboxProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, "size"> {
|
|
306
555
|
/** 체크박스 옆에 표시할 라벨 */
|
|
@@ -309,15 +558,72 @@ interface CheckboxProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>
|
|
|
309
558
|
size?: "sm" | "md" | "lg";
|
|
310
559
|
/** 중간 선택(indeterminate) 상태 여부 */
|
|
311
560
|
indeterminate?: boolean;
|
|
561
|
+
/** 입력 요소 참조 */
|
|
562
|
+
ref?: React.Ref<HTMLInputElement>;
|
|
312
563
|
}
|
|
313
564
|
/**
|
|
314
565
|
* 체크박스를 렌더링한다.
|
|
315
566
|
* indeterminate 상태를 반영하고 라벨을 포함한 UI를 구성한다.
|
|
316
567
|
* @param props 체크박스 속성
|
|
317
|
-
* @param ref 입력 요소 참조
|
|
318
568
|
* @returns 렌더링된 체크박스 UI
|
|
319
569
|
*/
|
|
320
|
-
declare const Checkbox:
|
|
570
|
+
declare const Checkbox: {
|
|
571
|
+
({ label, size, indeterminate, className, ref, ...props }: CheckboxProps): react_jsx_runtime.JSX.Element;
|
|
572
|
+
displayName: string;
|
|
573
|
+
};
|
|
574
|
+
|
|
575
|
+
type DatePickerMode = "year-month" | "year-month-day";
|
|
576
|
+
type SelectableRange = "all" | "until-today";
|
|
577
|
+
interface DatePickerProps {
|
|
578
|
+
/** 데이트 피커 위에 표시할 라벨 텍스트 */
|
|
579
|
+
label?: string;
|
|
580
|
+
/** 제어형 날짜 값 ("YYYY-MM" 또는 "YYYY-MM-DD" 형식) */
|
|
581
|
+
value?: string;
|
|
582
|
+
/** 날짜 변경 시 호출되는 콜백. `mode` 값에 따라 "YYYY-MM" 또는 "YYYY-MM-DD" 형식의 문자열이 전달됩니다. */
|
|
583
|
+
onChange: (value: string) => void;
|
|
584
|
+
/** 선택 모드 (기본값: "year-month-day") */
|
|
585
|
+
mode?: DatePickerMode;
|
|
586
|
+
/** 연도 선택 범위 시작 (기본값: 1950) */
|
|
587
|
+
startYear?: number;
|
|
588
|
+
/** 연도 선택 범위 끝 (기본값: 현재 연도 + 10) */
|
|
589
|
+
endYear?: number;
|
|
590
|
+
/** 선택 가능한 최소 날짜 ("YYYY-MM-DD" 형식) */
|
|
591
|
+
minDate?: string;
|
|
592
|
+
/** 선택 가능한 날짜 범위 ("all": 제한 없음, "until-today": 오늘까지) */
|
|
593
|
+
selectableRange?: SelectableRange;
|
|
594
|
+
/** 비활성화 여부 */
|
|
595
|
+
disabled?: boolean;
|
|
596
|
+
/** 데이트 피커가 컨테이너의 전체 너비를 차지할지 여부 */
|
|
597
|
+
fullWidth?: boolean;
|
|
598
|
+
/**
|
|
599
|
+
* 데이트 피커의 커스텀 너비
|
|
600
|
+
* @deprecated `fullWidth` 사용 또는 CSS로 처리
|
|
601
|
+
*/
|
|
602
|
+
width?: number | string;
|
|
603
|
+
/** 연도 select의 aria-label 및 빈 옵션 텍스트 (기본값: "Year") */
|
|
604
|
+
yearLabel?: string;
|
|
605
|
+
/** 월 select의 aria-label 및 빈 옵션 텍스트 (기본값: "Month") */
|
|
606
|
+
monthLabel?: string;
|
|
607
|
+
/** 일 select의 aria-label 및 빈 옵션 텍스트 (기본값: "Day") */
|
|
608
|
+
dayLabel?: string;
|
|
609
|
+
/**
|
|
610
|
+
* minDate 설정 시 스크린리더에 전달할 안내 문구 포맷.
|
|
611
|
+
* `{date}` 자리에 minDate 값이 치환됩니다. (기본값: "Minimum date: {date}")
|
|
612
|
+
*/
|
|
613
|
+
minDateSrFormat?: string;
|
|
614
|
+
/**
|
|
615
|
+
* selectableRange="until-today" 설정 시 스크린리더에 전달할 안내 문구.
|
|
616
|
+
* (기본값: "Selectable up to today")
|
|
617
|
+
*/
|
|
618
|
+
selectableRangeUntilTodaySrText?: string;
|
|
619
|
+
}
|
|
620
|
+
/**
|
|
621
|
+
* 연/월/일 선택형 데이트 피커를 렌더링한다.
|
|
622
|
+
* 입력 값과 선택 범위를 기준으로 옵션을 계산하고, 선택 변경을 상위로 전달한다.
|
|
623
|
+
* @param props 데이트 피커 속성
|
|
624
|
+
* @returns 렌더링된 데이트 피커 UI
|
|
625
|
+
*/
|
|
626
|
+
declare const DatePicker: ({ label, value, onChange, mode, startYear, endYear, minDate, selectableRange, disabled, fullWidth, width, yearLabel, monthLabel, dayLabel, minDateSrFormat, selectableRangeUntilTodaySrText, }: DatePickerProps) => react_jsx_runtime.JSX.Element;
|
|
321
627
|
|
|
322
628
|
interface FileInputProps extends React.InputHTMLAttributes<HTMLInputElement> {
|
|
323
629
|
/** 파일 선택 버튼 라벨 텍스트 (기본값: "Choose file") */
|
|
@@ -340,58 +646,19 @@ interface RadioProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, "
|
|
|
340
646
|
label?: React.ReactNode;
|
|
341
647
|
/** 라디오 버튼 크기 (기본값: "md") */
|
|
342
648
|
size?: "sm" | "md" | "lg";
|
|
649
|
+
/** 입력 요소 참조 */
|
|
650
|
+
ref?: React.Ref<HTMLInputElement>;
|
|
343
651
|
}
|
|
344
652
|
/**
|
|
345
653
|
* 라디오 버튼을 렌더링한다.
|
|
346
654
|
* 크기별 클래스와 라벨을 조합해 UI를 구성한다.
|
|
347
655
|
* @param props 라디오 속성
|
|
348
|
-
* @param ref 입력 요소 참조
|
|
349
656
|
* @returns 렌더링된 라디오 UI
|
|
350
657
|
*/
|
|
351
|
-
declare const Radio:
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
interface SelectOption {
|
|
356
|
-
value: string;
|
|
357
|
-
label: string;
|
|
358
|
-
disabled?: boolean;
|
|
359
|
-
}
|
|
360
|
-
interface SelectProps {
|
|
361
|
-
/** 셀렉트 요소의 id (미입력 시 자동 생성) */
|
|
362
|
-
id?: string;
|
|
363
|
-
/** 셀렉트 위에 표시할 라벨 텍스트 */
|
|
364
|
-
label?: string;
|
|
365
|
-
/** 선택 전 표시할 플레이스홀더 (기본값: "Select…") */
|
|
366
|
-
placeholder?: string;
|
|
367
|
-
/** 표시할 옵션 목록 */
|
|
368
|
-
options: SelectOption[];
|
|
369
|
-
/** 제어형 선택 값 */
|
|
370
|
-
value?: string | null;
|
|
371
|
-
/** 값 변경 시 호출되는 콜백. 선택된 값과 전체 옵션 객체를 인자로 전달합니다. */
|
|
372
|
-
onChange?: (value: string | null, option?: SelectOption | null) => void;
|
|
373
|
-
/** 비제어형 초기 선택 값 */
|
|
374
|
-
defaultValue?: string | null;
|
|
375
|
-
/** 비활성화 여부 */
|
|
376
|
-
disabled?: boolean;
|
|
377
|
-
/** 셀렉트 크기 (기본값: "md") */
|
|
378
|
-
size?: SelectSize;
|
|
379
|
-
/** 셀렉트 스타일 변형 (기본값: "outline") */
|
|
380
|
-
variant?: SelectVariant;
|
|
381
|
-
/** 컨테이너 전체 너비 차지 여부 */
|
|
382
|
-
fullWidth?: boolean;
|
|
383
|
-
/** 루트 요소에 추가할 className */
|
|
384
|
-
className?: string;
|
|
385
|
-
/** 선택된 값 텍스트 정렬 (기본값: "left") */
|
|
386
|
-
textAlign?: "left" | "center";
|
|
387
|
-
}
|
|
388
|
-
/**
|
|
389
|
-
* 셀렉트 컴포넌트를 렌더링한다.
|
|
390
|
-
* 제어형/비제어형 상태를 정리하고, 키보드/마우스 상호작용과 드롭다운 표시를 관리한다.
|
|
391
|
-
* @param props 셀렉트 속성
|
|
392
|
-
* @returns 렌더링된 셀렉트 UI
|
|
393
|
-
*/
|
|
394
|
-
declare const Select: ({ id, label, placeholder, options, value, onChange, defaultValue, disabled, size, variant, fullWidth, className, textAlign, }: SelectProps) => react_jsx_runtime.JSX.Element;
|
|
658
|
+
declare const Radio: {
|
|
659
|
+
({ label, size, className, ref, ...props }: RadioProps): react_jsx_runtime.JSX.Element;
|
|
660
|
+
displayName: string;
|
|
661
|
+
};
|
|
395
662
|
|
|
396
663
|
interface SwitchProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "onChange"> {
|
|
397
664
|
/** 제어형 스위치 상태 */
|
|
@@ -406,15 +673,19 @@ interface SwitchProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>
|
|
|
406
673
|
disabled?: boolean;
|
|
407
674
|
/** 스위치 접근성 레이블(스크린 리더용) */
|
|
408
675
|
ariaLabel: string;
|
|
676
|
+
/** 버튼 요소 참조 */
|
|
677
|
+
ref?: React.Ref<HTMLButtonElement>;
|
|
409
678
|
}
|
|
410
679
|
/**
|
|
411
680
|
* 스위치를 렌더링한다.
|
|
412
681
|
* 제어형/비제어형 상태를 판별해 토글 로직을 수행하고 버튼 형태의 스위치 UI를 반환한다.
|
|
413
682
|
* @param props 스위치 속성
|
|
414
|
-
* @param ref 버튼 참조
|
|
415
683
|
* @returns 렌더링된 스위치 요소
|
|
416
684
|
*/
|
|
417
|
-
declare const Switch:
|
|
685
|
+
declare const Switch: {
|
|
686
|
+
({ checked, defaultChecked, onChange, size, disabled, className, ariaLabel, ref, ...props }: SwitchProps): react_jsx_runtime.JSX.Element;
|
|
687
|
+
displayName: string;
|
|
688
|
+
};
|
|
418
689
|
|
|
419
690
|
type TextFieldVariant = "outline" | "filled" | "ghost";
|
|
420
691
|
type TextFieldSize = "sm" | "md" | "lg";
|
|
@@ -445,68 +716,83 @@ interface TextFieldProps extends Omit<React.InputHTMLAttributes<HTMLInputElement
|
|
|
445
716
|
defaultValue?: string;
|
|
446
717
|
/** 입력값 변환 함수 (예: 숫자만 허용, 대문자 변환) */
|
|
447
718
|
transformValue?: (value: string) => string;
|
|
719
|
+
/** 입력 요소 참조 */
|
|
720
|
+
ref?: React.Ref<HTMLInputElement>;
|
|
448
721
|
}
|
|
449
722
|
/**
|
|
450
723
|
* 텍스트 필드를 렌더링한다.
|
|
451
724
|
* 제어형/비제어형 값을 동기화하고, 조합 입력(IME)을 고려해 변경 이벤트를 전달한다.
|
|
452
725
|
* @param props 텍스트 필드 속성
|
|
453
|
-
* @param ref 입력 요소 참조
|
|
454
726
|
* @returns 렌더링된 텍스트 필드 UI
|
|
455
727
|
*/
|
|
456
|
-
declare const TextField:
|
|
728
|
+
declare const TextField: {
|
|
729
|
+
({ id, label, helperText, error, success, variant, size, leftIcon, rightIcon, fullWidth, className, onChangeAction, value, defaultValue, transformValue, ref, ...props }: TextFieldProps): react_jsx_runtime.JSX.Element;
|
|
730
|
+
displayName: string;
|
|
731
|
+
};
|
|
457
732
|
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
/**
|
|
462
|
-
|
|
463
|
-
/**
|
|
464
|
-
value?: string;
|
|
465
|
-
/** 날짜 변경 시 호출되는 콜백. `mode` 값에 따라 "YYYY-MM" 또는 "YYYY-MM-DD" 형식의 문자열이 전달됩니다. */
|
|
466
|
-
onChange: (value: string) => void;
|
|
467
|
-
/** 선택 모드 (기본값: "year-month-day") */
|
|
468
|
-
mode?: DatePickerMode;
|
|
469
|
-
/** 연도 선택 범위 시작 (기본값: 1950) */
|
|
470
|
-
startYear?: number;
|
|
471
|
-
/** 연도 선택 범위 끝 (기본값: 현재 연도 + 10) */
|
|
472
|
-
endYear?: number;
|
|
473
|
-
/** 선택 가능한 최소 날짜 ("YYYY-MM-DD" 형식) */
|
|
474
|
-
minDate?: string;
|
|
475
|
-
/** 선택 가능한 날짜 범위 ("all": 제한 없음, "until-today": 오늘까지) */
|
|
476
|
-
selectableRange?: SelectableRange;
|
|
477
|
-
/** 비활성화 여부 */
|
|
478
|
-
disabled?: boolean;
|
|
479
|
-
/** 데이트 피커가 컨테이너의 전체 너비를 차지할지 여부 */
|
|
733
|
+
interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
734
|
+
/** 버튼 스타일 변형 (기본값: "primary") */
|
|
735
|
+
variant?: "primary" | "secondary" | "ghost" | "danger";
|
|
736
|
+
/** 버튼 크기 (기본값: "md") */
|
|
737
|
+
size?: "sm" | "md" | "lg";
|
|
738
|
+
/** 버튼이 컨테이너의 전체 너비를 차지할지 여부 */
|
|
480
739
|
fullWidth?: boolean;
|
|
481
740
|
/**
|
|
482
|
-
*
|
|
741
|
+
* 버튼의 커스텀 너비
|
|
483
742
|
* @deprecated `fullWidth` 사용 또는 CSS로 처리
|
|
484
743
|
*/
|
|
485
|
-
width?:
|
|
486
|
-
/** 연도 select의 aria-label 및 빈 옵션 텍스트 (기본값: "Year") */
|
|
487
|
-
yearLabel?: string;
|
|
488
|
-
/** 월 select의 aria-label 및 빈 옵션 텍스트 (기본값: "Month") */
|
|
489
|
-
monthLabel?: string;
|
|
490
|
-
/** 일 select의 aria-label 및 빈 옵션 텍스트 (기본값: "Day") */
|
|
491
|
-
dayLabel?: string;
|
|
492
|
-
/**
|
|
493
|
-
* minDate 설정 시 스크린리더에 전달할 안내 문구 포맷.
|
|
494
|
-
* `{date}` 자리에 minDate 값이 치환됩니다. (기본값: "Minimum date: {date}")
|
|
495
|
-
*/
|
|
496
|
-
minDateSrFormat?: string;
|
|
497
|
-
/**
|
|
498
|
-
* selectableRange="until-today" 설정 시 스크린리더에 전달할 안내 문구.
|
|
499
|
-
* (기본값: "Selectable up to today")
|
|
500
|
-
*/
|
|
501
|
-
selectableRangeUntilTodaySrText?: string;
|
|
744
|
+
width?: string;
|
|
502
745
|
}
|
|
503
746
|
/**
|
|
504
|
-
*
|
|
505
|
-
*
|
|
506
|
-
* @param props
|
|
507
|
-
* @returns 렌더링된
|
|
747
|
+
* 버튼을 렌더링한다.
|
|
748
|
+
* 전달된 props로 클래스 조합과 인라인 스타일을 계산한 뒤 버튼 요소를 반환한다.
|
|
749
|
+
* @param props 버튼 속성
|
|
750
|
+
* @returns 렌더링된 버튼 요소
|
|
508
751
|
*/
|
|
509
|
-
declare const
|
|
752
|
+
declare const Button: ({ variant, size, fullWidth, width, className, style, ...props }: ButtonProps) => react_jsx_runtime.JSX.Element;
|
|
753
|
+
|
|
754
|
+
type SelectSize = "sm" | "md" | "lg";
|
|
755
|
+
type SelectVariant = "outline" | "filled" | "ghost";
|
|
756
|
+
interface SelectOption {
|
|
757
|
+
value: string;
|
|
758
|
+
label: string;
|
|
759
|
+
disabled?: boolean;
|
|
760
|
+
}
|
|
761
|
+
interface SelectProps {
|
|
762
|
+
/** 셀렉트 요소의 id (미입력 시 자동 생성) */
|
|
763
|
+
id?: string;
|
|
764
|
+
/** 셀렉트 위에 표시할 라벨 텍스트 */
|
|
765
|
+
label?: string;
|
|
766
|
+
/** 선택 전 표시할 플레이스홀더 (기본값: "Select…") */
|
|
767
|
+
placeholder?: string;
|
|
768
|
+
/** 표시할 옵션 목록 */
|
|
769
|
+
options: SelectOption[];
|
|
770
|
+
/** 제어형 선택 값 */
|
|
771
|
+
value?: string | null;
|
|
772
|
+
/** 값 변경 시 호출되는 콜백. 선택된 값과 전체 옵션 객체를 인자로 전달합니다. */
|
|
773
|
+
onChange?: (value: string | null, option?: SelectOption | null) => void;
|
|
774
|
+
/** 비제어형 초기 선택 값 */
|
|
775
|
+
defaultValue?: string | null;
|
|
776
|
+
/** 비활성화 여부 */
|
|
777
|
+
disabled?: boolean;
|
|
778
|
+
/** 셀렉트 크기 (기본값: "md") */
|
|
779
|
+
size?: SelectSize;
|
|
780
|
+
/** 셀렉트 스타일 변형 (기본값: "outline") */
|
|
781
|
+
variant?: SelectVariant;
|
|
782
|
+
/** 컨테이너 전체 너비 차지 여부 */
|
|
783
|
+
fullWidth?: boolean;
|
|
784
|
+
/** 루트 요소에 추가할 className */
|
|
785
|
+
className?: string;
|
|
786
|
+
/** 선택된 값 텍스트 정렬 (기본값: "left") */
|
|
787
|
+
textAlign?: "left" | "center";
|
|
788
|
+
}
|
|
789
|
+
/**
|
|
790
|
+
* 셀렉트 컴포넌트를 렌더링한다.
|
|
791
|
+
* 제어형/비제어형 상태를 정리하고, 키보드/마우스 상호작용과 드롭다운 표시를 관리한다.
|
|
792
|
+
* @param props 셀렉트 속성
|
|
793
|
+
* @returns 렌더링된 셀렉트 UI
|
|
794
|
+
*/
|
|
795
|
+
declare const Select: ({ id, label, placeholder, options, value, onChange, defaultValue, disabled, size, variant, fullWidth, className, textAlign, }: SelectProps) => react_jsx_runtime.JSX.Element;
|
|
510
796
|
|
|
511
797
|
interface PaginationProps {
|
|
512
798
|
/** 현재 페이지 번호 (1-based) */
|
|
@@ -526,7 +812,7 @@ interface PaginationProps {
|
|
|
526
812
|
* @param props 페이지네이션 속성
|
|
527
813
|
* @returns 렌더링된 페이지네이션 UI
|
|
528
814
|
*/
|
|
529
|
-
declare const Pagination: ({ page, totalPages, onChange, prevLabel, nextLabel }: PaginationProps) => react_jsx_runtime.JSX.Element;
|
|
815
|
+
declare const Pagination: ({ page, totalPages, onChange, prevLabel, nextLabel, }: PaginationProps) => react_jsx_runtime.JSX.Element;
|
|
530
816
|
|
|
531
817
|
interface ModalProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "title"> {
|
|
532
818
|
/** 모달 열림 여부 */
|
|
@@ -550,4 +836,4 @@ interface ModalProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "title">
|
|
|
550
836
|
*/
|
|
551
837
|
declare const Modal: ({ open, onClose, closeOnOverlay, width, title, children, className, ariaLabel, ...props }: ModalProps) => react_jsx_runtime.JSX.Element | null;
|
|
552
838
|
|
|
553
|
-
export { AlertProvider, Button, Card, Checkbox, DatePicker, FileInput, Modal, Pagination, Radio, Select, type SelectOption, Spinner, Switch, TextField, ToastProvider, TopLoading, a11y, breakpoints, colors, motion, radius, shadows, skeleton, spacing, typography, useAlert, useToast, zIndex };
|
|
839
|
+
export { AlertProvider, Button, Card, Checkbox, DatePicker, FileInput, Modal, Pagination, Radio, Select, type SelectOption, Spinner, Switch, TextField, ToastProvider, TopLoading, a11y, baseBorderWidth, baseColors, baseTypography, borderWidth, breakpoints, colors, motion, opacity, radius, shadows, skeleton, spacing, typography, useAlert, useToast, zIndex };
|