@krds.ui/vue 0.0.3

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 (97) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +64 -0
  3. package/dist/img/component/icon/head_ico_font_sample.svg +3 -0
  4. package/dist/img/component/icon/head_ico_font_sample_white.svg +3 -0
  5. package/dist/img/component/icon/ico_all.svg +3 -0
  6. package/dist/img/component/icon/ico_angle.svg +3 -0
  7. package/dist/img/component/icon/ico_angle_disabled.svg +3 -0
  8. package/dist/img/component/icon/ico_angle_disabled_inverse.svg +3 -0
  9. package/dist/img/component/icon/ico_angle_inverse.svg +3 -0
  10. package/dist/img/component/icon/ico_arrow_dropdown.svg +3 -0
  11. package/dist/img/component/icon/ico_blog.svg +6 -0
  12. package/dist/img/component/icon/ico_bread_home.svg +3 -0
  13. package/dist/img/component/icon/ico_calendar.svg +3 -0
  14. package/dist/img/component/icon/ico_call.svg +3 -0
  15. package/dist/img/component/icon/ico_checkbox.svg +5 -0
  16. package/dist/img/component/icon/ico_checkbox_checked.svg +5 -0
  17. package/dist/img/component/icon/ico_close.svg +3 -0
  18. package/dist/img/component/icon/ico_complete_fill.svg +4 -0
  19. package/dist/img/component/icon/ico_delete.svg +3 -0
  20. package/dist/img/component/icon/ico_delete_fill.svg +4 -0
  21. package/dist/img/component/icon/ico_download.svg +3 -0
  22. package/dist/img/component/icon/ico_ellipsis.svg +3 -0
  23. package/dist/img/component/icon/ico_email.svg +3 -0
  24. package/dist/img/component/icon/ico_error_fill.svg +4 -0
  25. package/dist/img/component/icon/ico_expand.svg +3 -0
  26. package/dist/img/component/icon/ico_facebook.svg +3 -0
  27. package/dist/img/component/icon/ico_faq.svg +3 -0
  28. package/dist/img/component/icon/ico_file.svg +3 -0
  29. package/dist/img/component/icon/ico_file_figma.svg +13 -0
  30. package/dist/img/component/icon/ico_file_html.svg +13 -0
  31. package/dist/img/component/icon/ico_file_hwp.svg +13 -0
  32. package/dist/img/component/icon/ico_file_pdf.svg +13 -0
  33. package/dist/img/component/icon/ico_file_sketch.svg +13 -0
  34. package/dist/img/component/icon/ico_file_xd.svg +16 -0
  35. package/dist/img/component/icon/ico_filter.svg +5 -0
  36. package/dist/img/component/icon/ico_flag.svg +29 -0
  37. package/dist/img/component/icon/ico_flow_arrow.svg +3 -0
  38. package/dist/img/component/icon/ico_foldable.svg +3 -0
  39. package/dist/img/component/icon/ico_global.svg +3 -0
  40. package/dist/img/component/icon/ico_go.svg +3 -0
  41. package/dist/img/component/icon/ico_go_top.svg +5 -0
  42. package/dist/img/component/icon/ico_help.svg +4 -0
  43. package/dist/img/component/icon/ico_help_fill.svg +4 -0
  44. package/dist/img/component/icon/ico_information.svg +5 -0
  45. package/dist/img/component/icon/ico_information_fill.svg +4 -0
  46. package/dist/img/component/icon/ico_information_fill_high_contrast.svg +5 -0
  47. package/dist/img/component/icon/ico_instagram.svg +3 -0
  48. package/dist/img/component/icon/ico_join.svg +3 -0
  49. package/dist/img/component/icon/ico_like.svg +3 -0
  50. package/dist/img/component/icon/ico_login.svg +3 -0
  51. package/dist/img/component/icon/ico_login_certify_go.svg +4 -0
  52. package/dist/img/component/icon/ico_login_certify_type_01.svg +3 -0
  53. package/dist/img/component/icon/ico_login_certify_type_02.svg +3 -0
  54. package/dist/img/component/icon/ico_login_certify_type_03.svg +3 -0
  55. package/dist/img/component/icon/ico_login_certify_type_04.svg +5 -0
  56. package/dist/img/component/icon/ico_login_certify_type_05.svg +3 -0
  57. package/dist/img/component/icon/ico_login_certify_type_06.svg +3 -0
  58. package/dist/img/component/icon/ico_logo_krds.svg +10 -0
  59. package/dist/img/component/icon/ico_logo_krds_high_contrast.svg +10 -0
  60. package/dist/img/component/icon/ico_logout.svg +3 -0
  61. package/dist/img/component/icon/ico_more.svg +3 -0
  62. package/dist/img/component/icon/ico_my.svg +3 -0
  63. package/dist/img/component/icon/ico_notice_fill.svg +5 -0
  64. package/dist/img/component/icon/ico_notice_fill_blue.svg +5 -0
  65. package/dist/img/component/icon/ico_notice_fill_high_contrast.svg +5 -0
  66. package/dist/img/component/icon/ico_plus.svg +3 -0
  67. package/dist/img/component/icon/ico_print.svg +3 -0
  68. package/dist/img/component/icon/ico_pw_visible_off.svg +3 -0
  69. package/dist/img/component/icon/ico_pw_visible_on.svg +5 -0
  70. package/dist/img/component/icon/ico_reset.svg +3 -0
  71. package/dist/img/component/icon/ico_sch.svg +3 -0
  72. package/dist/img/component/icon/ico_sch_plus.svg +3 -0
  73. package/dist/img/component/icon/ico_scrap.svg +3 -0
  74. package/dist/img/component/icon/ico_setting.svg +3 -0
  75. package/dist/img/component/icon/ico_share.svg +3 -0
  76. package/dist/img/component/icon/ico_sns_x.svg +3 -0
  77. package/dist/img/component/icon/ico_step_done.svg +3 -0
  78. package/dist/img/component/icon/ico_success_fill.svg +4 -0
  79. package/dist/img/component/icon/ico_swiper_play.svg +3 -0
  80. package/dist/img/component/icon/ico_swiper_stop.svg +3 -0
  81. package/dist/img/component/icon/ico_switch_off.svg +6 -0
  82. package/dist/img/component/icon/ico_switch_on.svg +5 -0
  83. package/dist/img/component/icon/ico_tooltip.svg +3 -0
  84. package/dist/img/component/icon/ico_upload.svg +3 -0
  85. package/dist/img/component/icon/ico_urgent_badge_danger.svg +5 -0
  86. package/dist/img/component/icon/ico_urgent_badge_info.svg +7 -0
  87. package/dist/img/component/icon/ico_urgent_badge_ok.svg +5 -0
  88. package/dist/img/component/icon/ico_view_mode.svg +3 -0
  89. package/dist/img/component/icon/ico_warning_fill.svg +9 -0
  90. package/dist/img/component/icon/ico_youtube.svg +3 -0
  91. package/dist/krds-vue.es.js +1417 -0
  92. package/dist/krds-vue.es.js.map +1 -0
  93. package/dist/krds-vue.umd.js +2 -0
  94. package/dist/krds-vue.umd.js.map +1 -0
  95. package/dist/style.css +1 -0
  96. package/dist/types/index.d.ts +1039 -0
  97. package/package.json +117 -0
@@ -0,0 +1,1039 @@
1
+ import { Component } from 'vue';
2
+ import { ComponentOptionsMixin } from 'vue';
3
+ import { ComponentProvideOptions } from 'vue';
4
+ import { DefineComponent } from 'vue';
5
+ import { ExtractPropTypes } from 'vue';
6
+ import { Plugin as Plugin_2 } from 'vue';
7
+ import { PublicProps } from 'vue';
8
+ import { RendererElement } from 'vue';
9
+ import { RendererNode } from 'vue';
10
+ import { VNode } from 'vue';
11
+
12
+ /**
13
+ * 정렬 타입
14
+ */
15
+ export declare type Alignment = 'left' | 'center' | 'right' | 'justify';
16
+
17
+ /**
18
+ * 컴포넌트 기본 속성
19
+ */
20
+ export declare interface BaseComponentProps {
21
+ /** CSS 클래스 */
22
+ class?: string;
23
+ /** 인라인 스타일 */
24
+ style?: string | Record<string, string | number>;
25
+ /** HTML ID */
26
+ id?: string;
27
+ }
28
+
29
+ /**
30
+ * 폼 컴포넌트 기본 속성
31
+ */
32
+ export declare interface BaseFormProps extends BaseComponentProps {
33
+ /** 폼 필드 이름 */
34
+ name?: string;
35
+ /** 필수 입력 여부 */
36
+ required?: boolean;
37
+ /** 읽기 전용 여부 */
38
+ readonly?: boolean;
39
+ }
40
+
41
+ /**
42
+ * 클래스명을 조합합니다.
43
+ *
44
+ * @param classes - 클래스명 배열 또는 객체
45
+ * @returns 결합된 클래스명 문자열
46
+ */
47
+ export declare function classNames(...classes: (string | undefined | null | false)[]): string;
48
+
49
+ /**
50
+ * 색상 변형 타입
51
+ */
52
+ export declare type ColorVariant = 'primary' | 'secondary' | 'success' | 'warning' | 'error' | 'info';
53
+
54
+ /**
55
+ * KRDS Badge 컴포넌트 속성
56
+ */
57
+ declare type ColorVariant_2 = 'primary' | 'secondary' | 'gray' | 'point' | 'danger' | 'warning' | 'success' | 'information' | 'disabled';
58
+
59
+ /**
60
+ * 컴포넌트 슬롯 타입
61
+ */
62
+ export declare interface ComponentSlots {
63
+ default?: () => unknown;
64
+ [key: string]: ((...args: unknown[]) => unknown) | undefined;
65
+ }
66
+
67
+ /**
68
+ * 컴포넌트 상태 타입
69
+ */
70
+ export declare type ComponentState = 'default' | 'hover' | 'active' | 'focus' | 'disabled';
71
+
72
+ /**
73
+ * CSS 변수 타입
74
+ */
75
+ export declare type CSSCustomProperties = Record<`--${string}`, string | number>;
76
+
77
+ /**
78
+ * 방향 타입
79
+ */
80
+ export declare type Direction = 'horizontal' | 'vertical';
81
+
82
+ /**
83
+ * 파일 정보 인터페이스
84
+ */
85
+ export declare interface FileInfo {
86
+ /** 파일 ID */
87
+ id: string;
88
+ /** 파일 객체 */
89
+ file: File;
90
+ /** 파일명 */
91
+ name: string;
92
+ /** 파일 크기 (bytes) */
93
+ size: number;
94
+ /** 파일 타입 */
95
+ type: string;
96
+ /** 업로드 상태 */
97
+ status: 'pending' | 'uploading' | 'completed' | 'error';
98
+ /** 업로드 진행률 (0-100) */
99
+ progress?: number;
100
+ /** 에러 메시지 */
101
+ errorMessage?: string;
102
+ /** 다운로드 URL */
103
+ downloadUrl?: string;
104
+ }
105
+
106
+ /**
107
+ * KRDS Vue 유틸리티
108
+ */
109
+ /**
110
+ * 고유한 ID를 생성합니다.
111
+ * Math.random()보다 성능이 좋고 예측 가능합니다.
112
+ *
113
+ * @param prefix - ID 접두사
114
+ * @returns 고유한 ID 문자열
115
+ */
116
+ export declare function generateId(prefix?: string): string;
117
+
118
+ /**
119
+ * 아이콘 속성
120
+ */
121
+ export declare interface IconProps {
122
+ /** 아이콘 이름 */
123
+ name: string;
124
+ /** 아이콘 크기 */
125
+ size?: Size | number;
126
+ /** 아이콘 색상 */
127
+ color?: string;
128
+ }
129
+
130
+ /**
131
+ * 입력 상태 타입
132
+ */
133
+ export declare type InputState = ComponentState | 'error' | 'success';
134
+
135
+ /**
136
+ * 입력 타입
137
+ */
138
+ export declare type InputType = 'text' | 'password' | 'email' | 'number' | 'tel' | 'url' | 'search';
139
+
140
+ export declare const KrdsBadge: DefineComponent<KrdsBadgeProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<KrdsBadgeProps> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
141
+
142
+ /**
143
+ * KRDS Badge 컴포넌트 이벤트
144
+ */
145
+ export declare interface KrdsBadgeEmits {
146
+ (e: 'click', event: MouseEvent): void;
147
+ }
148
+
149
+ export declare interface KrdsBadgeProps extends BaseComponentProps {
150
+ /** 배지 타입 */
151
+ type?: 'outline' | 'bg' | 'bg-light';
152
+ /** 배지 컬러 */
153
+ color?: ColorVariant_2;
154
+ /** 넘버 여부 */
155
+ number?: boolean;
156
+ /** 배지 크기 */
157
+ size?: 'large' | 'medium' | 'small';
158
+ }
159
+
160
+ export declare const KrdsButton: DefineComponent<KrdsButtonProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<KrdsButtonProps> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
161
+
162
+ /**
163
+ * KRDS Button 컴포넌트 이벤트
164
+ */
165
+ export declare interface KrdsButtonEmits {
166
+ (e: 'click', event: MouseEvent): void;
167
+ }
168
+
169
+ export declare const KrdsButtonGroup: DefineComponent<BaseComponentProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<BaseComponentProps> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
170
+
171
+ /**
172
+ * KRDS ButtonGroup 컴포넌트 속성
173
+ */
174
+ export declare type KrdsButtonGroupProps = BaseComponentProps;
175
+
176
+ /**
177
+ * KRDS Button 컴포넌트 속성
178
+ */
179
+ export declare interface KrdsButtonProps extends BaseComponentProps {
180
+ /** 버튼 타입 */
181
+ type?: 'button' | 'submit' | 'reset';
182
+ /** 버튼 크기 */
183
+ size?: Size;
184
+ /** 버튼 변형 */
185
+ variant?: Variant;
186
+ /** 아이콘 전용 버튼 */
187
+ icon?: boolean;
188
+ /** 테두리 스타일 (아이콘 버튼용) */
189
+ border?: boolean;
190
+ /** Pure 버튼 여부 (가상클래스 상태 시 컬러 유지) */
191
+ pure?: boolean;
192
+ /** 비활성화 여부 */
193
+ disabled?: boolean;
194
+ }
195
+
196
+ export declare const KrdsCheckArea: DefineComponent<KrdsCheckAreaProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<KrdsCheckAreaProps> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
197
+
198
+ /**
199
+ * KRDS CheckArea 컴포넌트 속성
200
+ */
201
+ export declare interface KrdsCheckAreaProps extends BaseComponentProps {
202
+ /** 추가 클래스 */
203
+ class?: string;
204
+ }
205
+
206
+ export declare const KrdsCheckbox: DefineComponent<KrdsCheckboxProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<KrdsCheckboxProps> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
207
+
208
+ /**
209
+ * KRDS Checkbox 컴포넌트 이벤트
210
+ */
211
+ export declare interface KrdsCheckboxEmits {
212
+ (e: 'update:modelValue', value: boolean): void;
213
+ (e: 'change', value: boolean): void;
214
+ }
215
+
216
+ /**
217
+ * KRDS Checkbox 컴포넌트 속성
218
+ */
219
+ export declare interface KrdsCheckboxProps extends BaseFormProps {
220
+ /** 모델 값 */
221
+ modelValue?: boolean;
222
+ /** 비활성화 여부 */
223
+ disabled?: boolean;
224
+ /** 크기 */
225
+ size?: 'medium' | 'large';
226
+ /** Chip 스타일 여부 */
227
+ chip?: boolean;
228
+ }
229
+
230
+ /**
231
+ * KRDS 컴포넌트 타입
232
+ */
233
+ export declare type KrdsComponent<Props = object, Slots = object, Emits = object> = Component & {
234
+ __krdsComponent: true;
235
+ __krdsProps: Props;
236
+ __krdsSlots: Slots;
237
+ __krdsEmits: Emits;
238
+ };
239
+
240
+ export declare const KrdsDateInput: DefineComponent<KrdsDateInputProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
241
+ focus: (event: FocusEvent) => any;
242
+ input: (event: Event) => any;
243
+ blur: (event: FocusEvent) => any;
244
+ change: (event: Event) => any;
245
+ "update:modelValue": (value: string) => any;
246
+ }, string, PublicProps, Readonly<KrdsDateInputProps> & Readonly<{
247
+ onFocus?: ((event: FocusEvent) => any) | undefined;
248
+ onInput?: ((event: Event) => any) | undefined;
249
+ onBlur?: ((event: FocusEvent) => any) | undefined;
250
+ onChange?: ((event: Event) => any) | undefined;
251
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
252
+ }>, {
253
+ name: string;
254
+ required: boolean;
255
+ readonly: boolean;
256
+ disabled: boolean;
257
+ size: Size;
258
+ class: string;
259
+ id: string;
260
+ modelValue: string;
261
+ placeholder: string;
262
+ autofocus: boolean;
263
+ eventDates: string[];
264
+ holidays: string[];
265
+ initialYear: number;
266
+ initialMonth: number;
267
+ }, {}, {}, {}, string, ComponentProvideOptions, false, {
268
+ datePickerButtonRef: HTMLButtonElement;
269
+ datePickerAreaRef: HTMLDivElement;
270
+ }, HTMLDivElement>;
271
+
272
+ /**
273
+ * KRDS DateInput 컴포넌트 이벤트
274
+ */
275
+ export declare interface KrdsDateInputEmits {
276
+ 'update:modelValue': [value: string];
277
+ input: [event: Event];
278
+ change: [event: Event];
279
+ focus: [event: FocusEvent];
280
+ blur: [event: FocusEvent];
281
+ }
282
+
283
+ /**
284
+ * KRDS DateInput 컴포넌트 속성
285
+ */
286
+ export declare interface KrdsDateInputProps extends BaseFormProps {
287
+ /** 선택된 날짜 값 */
288
+ modelValue?: string;
289
+ /** 입력 크기 */
290
+ size?: Size;
291
+ /** 플레이스홀더 */
292
+ placeholder?: string;
293
+ /** 비활성화 여부 */
294
+ disabled?: boolean;
295
+ /** 읽기 전용 여부 */
296
+ readonly?: boolean;
297
+ /** 자동 포커스 */
298
+ autofocus?: boolean;
299
+ /** 일정이 있는 날짜 배열 (YYYY.MM.DD 형식) */
300
+ eventDates?: string[];
301
+ /** 휴일 날짜 배열 (YYYY.MM.DD 형식) */
302
+ holidays?: string[];
303
+ /** 초기 표시 년도 (기본: 현재 년도) */
304
+ initialYear?: number;
305
+ /** 초기 표시 월 (기본: 현재 월) */
306
+ initialMonth?: number;
307
+ }
308
+
309
+ export declare const KrdsFileUpload: DefineComponent<ExtractPropTypes< {
310
+ modelValue: {
311
+ type: () => FileInfo[];
312
+ default: () => never[];
313
+ };
314
+ size: {
315
+ type: () => Size;
316
+ default: string;
317
+ };
318
+ accept: {
319
+ type: StringConstructor;
320
+ default: undefined;
321
+ };
322
+ maxFiles: {
323
+ type: NumberConstructor;
324
+ default: number;
325
+ };
326
+ maxFileSize: {
327
+ type: NumberConstructor;
328
+ default: number;
329
+ };
330
+ multiple: {
331
+ type: BooleanConstructor;
332
+ default: boolean;
333
+ };
334
+ disabled: {
335
+ type: BooleanConstructor;
336
+ default: boolean;
337
+ };
338
+ dragAndDrop: {
339
+ type: BooleanConstructor;
340
+ default: boolean;
341
+ };
342
+ title: {
343
+ type: StringConstructor;
344
+ default: string;
345
+ };
346
+ description: {
347
+ type: StringConstructor;
348
+ default: string;
349
+ };
350
+ placeholder: {
351
+ type: StringConstructor;
352
+ default: string;
353
+ };
354
+ showPreview: {
355
+ type: BooleanConstructor;
356
+ default: boolean;
357
+ };
358
+ showDownload: {
359
+ type: BooleanConstructor;
360
+ default: boolean;
361
+ };
362
+ showPreviewButton: {
363
+ type: BooleanConstructor;
364
+ default: boolean;
365
+ };
366
+ showClearAll: {
367
+ type: BooleanConstructor;
368
+ default: boolean;
369
+ };
370
+ name: {
371
+ type: StringConstructor;
372
+ default: undefined;
373
+ };
374
+ required: {
375
+ type: BooleanConstructor;
376
+ default: boolean;
377
+ };
378
+ readonly: {
379
+ type: BooleanConstructor;
380
+ default: boolean;
381
+ };
382
+ class: {
383
+ type: StringConstructor;
384
+ default: undefined;
385
+ };
386
+ style: {
387
+ type: (StringConstructor | ObjectConstructor)[];
388
+ default: undefined;
389
+ };
390
+ id: {
391
+ type: StringConstructor;
392
+ default: undefined;
393
+ };
394
+ }>, () => null, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, ("update:modelValue" | "file-added" | "file-removed" | "file-error" | "upload-start" | "upload-progress" | "upload-complete" | "upload-error" | "clear-all" | "download" | "preview")[], "update:modelValue" | "file-added" | "file-removed" | "file-error" | "upload-start" | "upload-progress" | "upload-complete" | "upload-error" | "clear-all" | "download" | "preview", PublicProps, Readonly<ExtractPropTypes< {
395
+ modelValue: {
396
+ type: () => FileInfo[];
397
+ default: () => never[];
398
+ };
399
+ size: {
400
+ type: () => Size;
401
+ default: string;
402
+ };
403
+ accept: {
404
+ type: StringConstructor;
405
+ default: undefined;
406
+ };
407
+ maxFiles: {
408
+ type: NumberConstructor;
409
+ default: number;
410
+ };
411
+ maxFileSize: {
412
+ type: NumberConstructor;
413
+ default: number;
414
+ };
415
+ multiple: {
416
+ type: BooleanConstructor;
417
+ default: boolean;
418
+ };
419
+ disabled: {
420
+ type: BooleanConstructor;
421
+ default: boolean;
422
+ };
423
+ dragAndDrop: {
424
+ type: BooleanConstructor;
425
+ default: boolean;
426
+ };
427
+ title: {
428
+ type: StringConstructor;
429
+ default: string;
430
+ };
431
+ description: {
432
+ type: StringConstructor;
433
+ default: string;
434
+ };
435
+ placeholder: {
436
+ type: StringConstructor;
437
+ default: string;
438
+ };
439
+ showPreview: {
440
+ type: BooleanConstructor;
441
+ default: boolean;
442
+ };
443
+ showDownload: {
444
+ type: BooleanConstructor;
445
+ default: boolean;
446
+ };
447
+ showPreviewButton: {
448
+ type: BooleanConstructor;
449
+ default: boolean;
450
+ };
451
+ showClearAll: {
452
+ type: BooleanConstructor;
453
+ default: boolean;
454
+ };
455
+ name: {
456
+ type: StringConstructor;
457
+ default: undefined;
458
+ };
459
+ required: {
460
+ type: BooleanConstructor;
461
+ default: boolean;
462
+ };
463
+ readonly: {
464
+ type: BooleanConstructor;
465
+ default: boolean;
466
+ };
467
+ class: {
468
+ type: StringConstructor;
469
+ default: undefined;
470
+ };
471
+ style: {
472
+ type: (StringConstructor | ObjectConstructor)[];
473
+ default: undefined;
474
+ };
475
+ id: {
476
+ type: StringConstructor;
477
+ default: undefined;
478
+ };
479
+ }>> & Readonly<{
480
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
481
+ "onFile-added"?: ((...args: any[]) => any) | undefined;
482
+ "onFile-removed"?: ((...args: any[]) => any) | undefined;
483
+ "onFile-error"?: ((...args: any[]) => any) | undefined;
484
+ "onUpload-start"?: ((...args: any[]) => any) | undefined;
485
+ "onUpload-progress"?: ((...args: any[]) => any) | undefined;
486
+ "onUpload-complete"?: ((...args: any[]) => any) | undefined;
487
+ "onUpload-error"?: ((...args: any[]) => any) | undefined;
488
+ "onClear-all"?: ((...args: any[]) => any) | undefined;
489
+ onDownload?: ((...args: any[]) => any) | undefined;
490
+ onPreview?: ((...args: any[]) => any) | undefined;
491
+ }>, {
492
+ name: string;
493
+ required: boolean;
494
+ readonly: boolean;
495
+ disabled: boolean;
496
+ size: Size;
497
+ class: string;
498
+ style: string | Record<string, any>;
499
+ id: string;
500
+ title: string;
501
+ modelValue: FileInfo[];
502
+ placeholder: string;
503
+ accept: string;
504
+ maxFiles: number;
505
+ maxFileSize: number;
506
+ multiple: boolean;
507
+ dragAndDrop: boolean;
508
+ description: string;
509
+ showPreview: boolean;
510
+ showDownload: boolean;
511
+ showPreviewButton: boolean;
512
+ showClearAll: boolean;
513
+ }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
514
+
515
+ /**
516
+ * KRDS FileUpload 컴포넌트 이벤트
517
+ */
518
+ export declare interface KrdsFileUploadEmits {
519
+ 'update:modelValue': [files: FileInfo[]];
520
+ 'file-added': [file: FileInfo];
521
+ 'file-removed': [fileId: string];
522
+ 'file-error': [file: FileInfo, error: string];
523
+ 'upload-start': [file: FileInfo];
524
+ 'upload-progress': [file: FileInfo, progress: number];
525
+ 'upload-complete': [file: FileInfo];
526
+ 'upload-error': [file: FileInfo, error: string];
527
+ 'clear-all': [];
528
+ download: [file: FileInfo];
529
+ preview: [file: FileInfo];
530
+ }
531
+
532
+ /**
533
+ * KRDS FileUpload 컴포넌트 속성
534
+ */
535
+ export declare interface KrdsFileUploadProps extends BaseFormProps {
536
+ /** 파일 목록 */
537
+ modelValue?: FileInfo[];
538
+ /** 입력 크기 */
539
+ size?: Size;
540
+ /** 허용되는 파일 타입 (예: '.jpg,.png,.pdf') */
541
+ accept?: string;
542
+ /** 최대 파일 개수 */
543
+ maxFiles?: number;
544
+ /** 최대 파일 크기 (bytes) */
545
+ maxFileSize?: number;
546
+ /** 다중 파일 선택 여부 */
547
+ multiple?: boolean;
548
+ /** 비활성화 여부 */
549
+ disabled?: boolean;
550
+ /** 드래그 앤 드롭 활성화 여부 */
551
+ dragAndDrop?: boolean;
552
+ /** 제목 */
553
+ title?: string;
554
+ /** 설명 텍스트 */
555
+ description?: string;
556
+ /** 플레이스홀더 텍스트 */
557
+ placeholder?: string;
558
+ /** 미리보기 표시 여부 */
559
+ showPreview?: boolean;
560
+ /** 다운로드 버튼 표시 여부 */
561
+ showDownload?: boolean;
562
+ /** 바로보기 버튼 표시 여부 */
563
+ showPreviewButton?: boolean;
564
+ /** 전체 삭제 버튼 표시 여부 */
565
+ showClearAll?: boolean;
566
+ }
567
+
568
+ export declare const KrdsFormGroup: DefineComponent<BaseComponentProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<BaseComponentProps> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
569
+
570
+ /**
571
+ * KRDS FormGroup 컴포넌트 속성
572
+ */
573
+ export declare type KrdsFormGroupProps = BaseComponentProps;
574
+
575
+ export declare const KrdsFormHint: DefineComponent<KrdsFormHintProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<KrdsFormHintProps> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
576
+
577
+ /**
578
+ * KRDS FormHint 컴포넌트 이벤트
579
+ */
580
+ export declare interface KrdsFormHintEmits {
581
+ (e: 'click', event: MouseEvent): void;
582
+ }
583
+
584
+ /**
585
+ * KRDS FormHint 컴포넌트 속성
586
+ */
587
+ export declare interface KrdsFormHintProps extends BaseComponentProps {
588
+ /** 힌트 타입 */
589
+ type?: 'hint' | 'error' | 'success' | 'information';
590
+ }
591
+
592
+ export declare const KrdsFormLabel: DefineComponent<KrdsFormLabelProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<KrdsFormLabelProps> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
593
+
594
+ /**
595
+ * KRDS FormLabel 컴포넌트 이벤트
596
+ */
597
+ export declare interface KrdsFormLabelEmits {
598
+ (e: 'click', event: MouseEvent): void;
599
+ }
600
+
601
+ /**
602
+ * KRDS FormLabel 컴포넌트 속성
603
+ */
604
+ export declare interface KrdsFormLabelProps extends BaseComponentProps {
605
+ /** label의 for 속성 */
606
+ for?: string;
607
+ }
608
+
609
+ export declare const KrdsIcon: DefineComponent<KrdsIconProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<KrdsIconProps> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
610
+
611
+ /**
612
+ * KRDS Icon 컴포넌트 속성
613
+ */
614
+ export declare interface KrdsIconProps extends BaseComponentProps {
615
+ /** 아이콘 이름 */
616
+ name: string;
617
+ }
618
+
619
+ export declare const KrdsInput: DefineComponent<KrdsInputProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<KrdsInputProps> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
620
+
621
+ /**
622
+ * KRDS Input 컴포넌트 이벤트
623
+ */
624
+ export declare interface KrdsInputEmits {
625
+ (e: 'update:modelValue', value: string | number): void;
626
+ (e: 'input', event: Event): void;
627
+ (e: 'change', event: Event): void;
628
+ (e: 'focus', event: FocusEvent): void;
629
+ (e: 'blur', event: FocusEvent): void;
630
+ (e: 'keydown', event: KeyboardEvent): void;
631
+ (e: 'keyup', event: KeyboardEvent): void;
632
+ }
633
+
634
+ /**
635
+ * KRDS Input 컴포넌트 속성
636
+ */
637
+ export declare interface KrdsInputProps extends BaseFormProps {
638
+ /** 입력값 */
639
+ modelValue?: string | number;
640
+ /** 입력 타입 */
641
+ type?: InputType;
642
+ /** 입력 크기 */
643
+ size?: Size;
644
+ /** 플레이스홀더 */
645
+ placeholder?: string;
646
+ /** 최대 글자 수 */
647
+ maxlength?: number;
648
+ /** 최소 글자 수 */
649
+ minlength?: number;
650
+ /** 최대값 (number 타입용) */
651
+ max?: number;
652
+ /** 최소값 (number 타입용) */
653
+ min?: number;
654
+ /** 단계값 (number 타입용) */
655
+ step?: number;
656
+ /** 자동완성 */
657
+ autocomplete?: string;
658
+ /** 자동 포커스 */
659
+ autofocus?: boolean;
660
+ /** 비활성화 여부 */
661
+ disabled?: boolean;
662
+ /** 입력 상태 */
663
+ state?: 'default' | 'error' | 'success' | 'information';
664
+ /** 아이콘 (있을 때 btn-ico-wrap 클래스 적용) */
665
+ icon?: boolean;
666
+ }
667
+
668
+ export declare const KrdsLink: DefineComponent<KrdsLinkProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<KrdsLinkProps> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
669
+
670
+ /**
671
+ * KRDS Link 컴포넌트 이벤트
672
+ */
673
+ export declare interface KrdsLinkEmits {
674
+ (e: 'click', event: MouseEvent): void;
675
+ }
676
+
677
+ /**
678
+ * KRDS Link 컴포넌트 속성
679
+ */
680
+ export declare interface KrdsLinkProps extends BaseComponentProps {
681
+ /** 링크 URL */
682
+ href?: string;
683
+ /** 링크 대상 (_blank, _self 등) */
684
+ target?: '_blank' | '_self' | '_parent' | '_top' | string;
685
+ /** 링크 제목 (접근성) */
686
+ title?: string;
687
+ /** 링크 크기 */
688
+ size?: KrdsLinkSize;
689
+ /** Link 클래스 적용 여부 */
690
+ link?: boolean;
691
+ /** Basic 링크 여부 (본문 텍스트 컬러) */
692
+ basic?: boolean;
693
+ /** Pure 링크 여부 (가상클래스 상태 시 컬러 유지) */
694
+ pure?: boolean;
695
+ }
696
+
697
+ /**
698
+ * KRDS Link 크기 타입 (링크는 small, medium, large만 지원)
699
+ */
700
+ export declare type KrdsLinkSize = 'small' | 'medium' | 'large';
701
+
702
+ export declare const KrdsMasthead: DefineComponent<BaseComponentProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<BaseComponentProps> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
703
+
704
+ /**
705
+ * KRDS Masthead 컴포넌트 속성
706
+ */
707
+ export declare type KrdsMastheadProps = BaseComponentProps;
708
+
709
+ export declare const KrdsTag: DefineComponent<KrdsTagProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<KrdsTagProps> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
710
+
711
+ /**
712
+ * KRDS Tag 컴포넌트 이벤트
713
+ */
714
+ export declare interface KrdsTagEmits {
715
+ (e: 'remove', event: MouseEvent): void;
716
+ }
717
+
718
+ export declare const KrdsTagGroup: DefineComponent<KrdsTagGroupProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<KrdsTagGroupProps> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
719
+
720
+ /**
721
+ * KRDS TagGroup 컴포넌트 속성
722
+ */
723
+ export declare interface KrdsTagGroupProps extends BaseComponentProps {
724
+ /** 태그 그룹 크기 */
725
+ size?: KrdsTagGroupSize;
726
+ }
727
+
728
+ /**
729
+ * KRDS TagGroup 크기 타입
730
+ */
731
+ export declare type KrdsTagGroupSize = 'small' | 'medium' | 'large';
732
+
733
+ /**
734
+ * KRDS Tag 컴포넌트 속성
735
+ */
736
+ export declare interface KrdsTagProps extends BaseComponentProps {
737
+ /** 링크 태그 여부 */
738
+ link?: boolean;
739
+ /** 링크 URL (link가 true일 때 사용) */
740
+ href?: string;
741
+ /** 링크 타겟 (link가 true일 때 사용) */
742
+ target?: string;
743
+ /** 링크 관계 (link가 true일 때 사용) */
744
+ rel?: string;
745
+ }
746
+
747
+ export declare const KrdsTextarea: DefineComponent<ExtractPropTypes< {
748
+ modelValue: {
749
+ type: StringConstructor;
750
+ default: string;
751
+ };
752
+ size: {
753
+ type: () => Size;
754
+ default: undefined;
755
+ };
756
+ placeholder: {
757
+ type: StringConstructor;
758
+ default: undefined;
759
+ };
760
+ maxlength: {
761
+ type: NumberConstructor;
762
+ default: undefined;
763
+ };
764
+ minlength: {
765
+ type: NumberConstructor;
766
+ default: undefined;
767
+ };
768
+ rows: {
769
+ type: NumberConstructor;
770
+ default: number;
771
+ };
772
+ cols: {
773
+ type: NumberConstructor;
774
+ default: undefined;
775
+ };
776
+ autofocus: {
777
+ type: BooleanConstructor;
778
+ default: boolean;
779
+ };
780
+ name: {
781
+ type: StringConstructor;
782
+ default: undefined;
783
+ };
784
+ required: {
785
+ type: BooleanConstructor;
786
+ default: boolean;
787
+ };
788
+ readonly: {
789
+ type: BooleanConstructor;
790
+ default: boolean;
791
+ };
792
+ disabled: {
793
+ type: BooleanConstructor;
794
+ default: boolean;
795
+ };
796
+ showCount: {
797
+ type: BooleanConstructor;
798
+ default: boolean;
799
+ };
800
+ resize: {
801
+ type: () => "none" | "both" | "horizontal" | "vertical";
802
+ default: string;
803
+ };
804
+ class: {
805
+ type: StringConstructor;
806
+ default: undefined;
807
+ };
808
+ style: {
809
+ type: (StringConstructor | ObjectConstructor)[];
810
+ default: undefined;
811
+ };
812
+ id: {
813
+ type: StringConstructor;
814
+ default: undefined;
815
+ };
816
+ }>, () => VNode<RendererNode, RendererElement, {
817
+ [key: string]: any;
818
+ }>, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, ("focus" | "input" | "blur" | "change" | "keydown" | "keyup" | "update:modelValue")[], "focus" | "input" | "blur" | "change" | "keydown" | "keyup" | "update:modelValue", PublicProps, Readonly<ExtractPropTypes< {
819
+ modelValue: {
820
+ type: StringConstructor;
821
+ default: string;
822
+ };
823
+ size: {
824
+ type: () => Size;
825
+ default: undefined;
826
+ };
827
+ placeholder: {
828
+ type: StringConstructor;
829
+ default: undefined;
830
+ };
831
+ maxlength: {
832
+ type: NumberConstructor;
833
+ default: undefined;
834
+ };
835
+ minlength: {
836
+ type: NumberConstructor;
837
+ default: undefined;
838
+ };
839
+ rows: {
840
+ type: NumberConstructor;
841
+ default: number;
842
+ };
843
+ cols: {
844
+ type: NumberConstructor;
845
+ default: undefined;
846
+ };
847
+ autofocus: {
848
+ type: BooleanConstructor;
849
+ default: boolean;
850
+ };
851
+ name: {
852
+ type: StringConstructor;
853
+ default: undefined;
854
+ };
855
+ required: {
856
+ type: BooleanConstructor;
857
+ default: boolean;
858
+ };
859
+ readonly: {
860
+ type: BooleanConstructor;
861
+ default: boolean;
862
+ };
863
+ disabled: {
864
+ type: BooleanConstructor;
865
+ default: boolean;
866
+ };
867
+ showCount: {
868
+ type: BooleanConstructor;
869
+ default: boolean;
870
+ };
871
+ resize: {
872
+ type: () => "none" | "both" | "horizontal" | "vertical";
873
+ default: string;
874
+ };
875
+ class: {
876
+ type: StringConstructor;
877
+ default: undefined;
878
+ };
879
+ style: {
880
+ type: (StringConstructor | ObjectConstructor)[];
881
+ default: undefined;
882
+ };
883
+ id: {
884
+ type: StringConstructor;
885
+ default: undefined;
886
+ };
887
+ }>> & Readonly<{
888
+ onFocus?: ((...args: any[]) => any) | undefined;
889
+ onInput?: ((...args: any[]) => any) | undefined;
890
+ onBlur?: ((...args: any[]) => any) | undefined;
891
+ onChange?: ((...args: any[]) => any) | undefined;
892
+ onKeydown?: ((...args: any[]) => any) | undefined;
893
+ onKeyup?: ((...args: any[]) => any) | undefined;
894
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
895
+ }>, {
896
+ name: string;
897
+ required: boolean;
898
+ readonly: boolean;
899
+ disabled: boolean;
900
+ size: Size;
901
+ class: string;
902
+ style: string | Record<string, any>;
903
+ id: string;
904
+ resize: "horizontal" | "vertical" | "none" | "both";
905
+ modelValue: string;
906
+ placeholder: string;
907
+ maxlength: number;
908
+ minlength: number;
909
+ autofocus: boolean;
910
+ rows: number;
911
+ cols: number;
912
+ showCount: boolean;
913
+ }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
914
+
915
+ /**
916
+ * KRDS Textarea 컴포넌트 이벤트
917
+ */
918
+ export declare interface KrdsTextareaEmits {
919
+ (e: 'update:modelValue', value: string): void;
920
+ (e: 'input', event: Event): void;
921
+ (e: 'change', event: Event): void;
922
+ (e: 'focus', event: FocusEvent): void;
923
+ (e: 'blur', event: FocusEvent): void;
924
+ (e: 'keydown', event: KeyboardEvent): void;
925
+ (e: 'keyup', event: KeyboardEvent): void;
926
+ }
927
+
928
+ /**
929
+ * KRDS Textarea 컴포넌트 속성
930
+ */
931
+ export declare interface KrdsTextareaProps extends BaseFormProps {
932
+ /** 입력값 */
933
+ modelValue?: string;
934
+ /** 입력 크기 */
935
+ size?: Size;
936
+ /** 플레이스홀더 */
937
+ placeholder?: string;
938
+ /** 최대 글자 수 */
939
+ maxlength?: number;
940
+ /** 최소 글자 수 */
941
+ minlength?: number;
942
+ /** 행 수 */
943
+ rows?: number;
944
+ /** 열 수 */
945
+ cols?: number;
946
+ /** 자동 포커스 */
947
+ autofocus?: boolean;
948
+ /** 비활성화 여부 */
949
+ disabled?: boolean;
950
+ /** 글자 수 표시 여부 */
951
+ showCount?: boolean;
952
+ /** 리사이즈 가능 여부 */
953
+ resize?: 'none' | 'both' | 'horizontal' | 'vertical';
954
+ }
955
+
956
+ export declare const KrdsToggleSwitch: DefineComponent<KrdsToggleSwitchProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<KrdsToggleSwitchProps> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
957
+
958
+ /**
959
+ * KRDS ToggleSwitch 컴포넌트 이벤트
960
+ */
961
+ export declare interface KrdsToggleSwitchEmits {
962
+ (e: 'update:modelValue', value: boolean): void;
963
+ (e: 'change', value: boolean): void;
964
+ }
965
+
966
+ /**
967
+ * KRDS ToggleSwitch 컴포넌트 속성
968
+ */
969
+ export declare interface KrdsToggleSwitchProps extends BaseFormProps {
970
+ /** 모델 값 */
971
+ modelValue?: boolean;
972
+ /** 비활성화 여부 */
973
+ disabled?: boolean;
974
+ /** 스위치 라벨 */
975
+ label?: string;
976
+ /** 크기 */
977
+ size?: 'medium' | 'large';
978
+ }
979
+
980
+ /**
981
+ * KRDS Vue 플러그인
982
+ */
983
+ declare const KrdsVue: Plugin_2;
984
+ export default KrdsVue;
985
+
986
+ /**
987
+ * KRDS Vue 플러그인 설정 옵션
988
+ */
989
+ export declare interface KrdsVueOptions {
990
+ /** 설치할 컴포넌트 목록 (비어있으면 전체 설치) */
991
+ components?: string[];
992
+ }
993
+
994
+ /**
995
+ * 로딩 상태 속성
996
+ */
997
+ export declare interface LoadingProps {
998
+ /** 로딩 중 여부 */
999
+ loading?: boolean;
1000
+ /** 로딩 텍스트 */
1001
+ loadingText?: string;
1002
+ }
1003
+
1004
+ /**
1005
+ * 유틸리티 타입들
1006
+ */
1007
+ export declare type Optional<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
1008
+
1009
+ /**
1010
+ * 위치 타입
1011
+ */
1012
+ export declare type Position = 'top' | 'bottom' | 'left' | 'right';
1013
+
1014
+ export declare type RequiredKeys<T> = {
1015
+ [K in keyof T]-?: object extends Pick<T, K> ? never : K;
1016
+ }[keyof T];
1017
+
1018
+ /**
1019
+ * 반응형 값 타입
1020
+ */
1021
+ export declare type ResponsiveValue<T> = T | {
1022
+ mobile?: T;
1023
+ tablet?: T;
1024
+ desktop?: T;
1025
+ };
1026
+
1027
+ /**
1028
+ * 기본 크기 타입 (KRDS 실제 규격)
1029
+ */
1030
+ export declare type Size = 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
1031
+
1032
+ /**
1033
+ * 버튼 변형 타입
1034
+ */
1035
+ export declare type Variant = 'primary' | 'secondary' | 'tertiary';
1036
+
1037
+ export declare const version = "__VERSION__";
1038
+
1039
+ export { }