@krds.ui/react 0.0.0-stage → 0.1.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/LICENSE +16 -0
- package/README.md +86 -2
- package/dist/img/component/icon/head_ico_font_sample.svg +3 -0
- package/dist/img/component/icon/head_ico_font_sample_white.svg +3 -0
- package/dist/img/component/icon/ico_all.svg +3 -0
- package/dist/img/component/icon/ico_angle.svg +3 -0
- package/dist/img/component/icon/ico_angle_disabled.svg +3 -0
- package/dist/img/component/icon/ico_angle_disabled_inverse.svg +3 -0
- package/dist/img/component/icon/ico_angle_inverse.svg +3 -0
- package/dist/img/component/icon/ico_arrow_dropdown.svg +3 -0
- package/dist/img/component/icon/ico_blog.svg +6 -0
- package/dist/img/component/icon/ico_bread_home.svg +3 -0
- package/dist/img/component/icon/ico_calendar.svg +3 -0
- package/dist/img/component/icon/ico_call.svg +3 -0
- package/dist/img/component/icon/ico_checkbox.svg +5 -0
- package/dist/img/component/icon/ico_checkbox_checked.svg +5 -0
- package/dist/img/component/icon/ico_close.svg +3 -0
- package/dist/img/component/icon/ico_complete_fill.svg +4 -0
- package/dist/img/component/icon/ico_delete.svg +3 -0
- package/dist/img/component/icon/ico_delete_fill.svg +4 -0
- package/dist/img/component/icon/ico_download.svg +3 -0
- package/dist/img/component/icon/ico_ellipsis.svg +3 -0
- package/dist/img/component/icon/ico_email.svg +3 -0
- package/dist/img/component/icon/ico_error_fill.svg +4 -0
- package/dist/img/component/icon/ico_expand.svg +3 -0
- package/dist/img/component/icon/ico_facebook.svg +3 -0
- package/dist/img/component/icon/ico_faq.svg +3 -0
- package/dist/img/component/icon/ico_file.svg +3 -0
- package/dist/img/component/icon/ico_file_figma.svg +13 -0
- package/dist/img/component/icon/ico_file_html.svg +13 -0
- package/dist/img/component/icon/ico_file_hwp.svg +13 -0
- package/dist/img/component/icon/ico_file_pdf.svg +13 -0
- package/dist/img/component/icon/ico_file_sketch.svg +13 -0
- package/dist/img/component/icon/ico_file_xd.svg +16 -0
- package/dist/img/component/icon/ico_filter.svg +5 -0
- package/dist/img/component/icon/ico_flag.svg +29 -0
- package/dist/img/component/icon/ico_flow_arrow.svg +3 -0
- package/dist/img/component/icon/ico_foldable.svg +3 -0
- package/dist/img/component/icon/ico_global.svg +3 -0
- package/dist/img/component/icon/ico_go.svg +3 -0
- package/dist/img/component/icon/ico_go_top.svg +5 -0
- package/dist/img/component/icon/ico_help.svg +4 -0
- package/dist/img/component/icon/ico_help_fill.svg +4 -0
- package/dist/img/component/icon/ico_information.svg +5 -0
- package/dist/img/component/icon/ico_information_fill.svg +4 -0
- package/dist/img/component/icon/ico_information_fill_high_contrast.svg +5 -0
- package/dist/img/component/icon/ico_instagram.svg +3 -0
- package/dist/img/component/icon/ico_join.svg +3 -0
- package/dist/img/component/icon/ico_like.svg +3 -0
- package/dist/img/component/icon/ico_login.svg +3 -0
- package/dist/img/component/icon/ico_login_certify_go.svg +4 -0
- package/dist/img/component/icon/ico_login_certify_type_01.svg +3 -0
- package/dist/img/component/icon/ico_login_certify_type_02.svg +3 -0
- package/dist/img/component/icon/ico_login_certify_type_03.svg +3 -0
- package/dist/img/component/icon/ico_login_certify_type_04.svg +5 -0
- package/dist/img/component/icon/ico_login_certify_type_05.svg +3 -0
- package/dist/img/component/icon/ico_login_certify_type_06.svg +3 -0
- package/dist/img/component/icon/ico_logo_krds.svg +10 -0
- package/dist/img/component/icon/ico_logo_krds_high_contrast.svg +10 -0
- package/dist/img/component/icon/ico_logout.svg +3 -0
- package/dist/img/component/icon/ico_more.svg +3 -0
- package/dist/img/component/icon/ico_my.svg +3 -0
- package/dist/img/component/icon/ico_notice_fill.svg +5 -0
- package/dist/img/component/icon/ico_notice_fill_blue.svg +5 -0
- package/dist/img/component/icon/ico_notice_fill_high_contrast.svg +5 -0
- package/dist/img/component/icon/ico_plus.svg +3 -0
- package/dist/img/component/icon/ico_print.svg +3 -0
- package/dist/img/component/icon/ico_pw_visible_off.svg +3 -0
- package/dist/img/component/icon/ico_pw_visible_on.svg +5 -0
- package/dist/img/component/icon/ico_reset.svg +3 -0
- package/dist/img/component/icon/ico_sch.svg +3 -0
- package/dist/img/component/icon/ico_sch_plus.svg +3 -0
- package/dist/img/component/icon/ico_scrap.svg +3 -0
- package/dist/img/component/icon/ico_setting.svg +3 -0
- package/dist/img/component/icon/ico_share.svg +3 -0
- package/dist/img/component/icon/ico_sns_x.svg +3 -0
- package/dist/img/component/icon/ico_step_done.svg +3 -0
- package/dist/img/component/icon/ico_success_fill.svg +4 -0
- package/dist/img/component/icon/ico_swiper_play.svg +3 -0
- package/dist/img/component/icon/ico_swiper_stop.svg +3 -0
- package/dist/img/component/icon/ico_switch_off.svg +6 -0
- package/dist/img/component/icon/ico_switch_on.svg +5 -0
- package/dist/img/component/icon/ico_tooltip.svg +3 -0
- package/dist/img/component/icon/ico_upload.svg +3 -0
- package/dist/img/component/icon/ico_urgent_badge_danger.svg +5 -0
- package/dist/img/component/icon/ico_urgent_badge_info.svg +7 -0
- package/dist/img/component/icon/ico_urgent_badge_ok.svg +5 -0
- package/dist/img/component/icon/ico_view_mode.svg +3 -0
- package/dist/img/component/icon/ico_warning_fill.svg +9 -0
- package/dist/img/component/icon/ico_youtube.svg +3 -0
- package/dist/index.css +1 -0
- package/dist/index.js +5211 -0
- package/dist/index.js.map +1 -0
- package/dist/types/index.d.ts +2561 -0
- package/package.json +103 -3
- package/style.d.ts +5 -0
|
@@ -0,0 +1,2561 @@
|
|
|
1
|
+
import { AnchorHTMLAttributes } from 'react';
|
|
2
|
+
import { ButtonHTMLAttributes } from 'react';
|
|
3
|
+
import { ComponentPropsWithoutRef } from 'react';
|
|
4
|
+
import { ComponentPropsWithRef } from 'react';
|
|
5
|
+
import { ComponentType } from 'react';
|
|
6
|
+
import { default as default_2 } from 'react';
|
|
7
|
+
import { ElementType } from 'react';
|
|
8
|
+
import { ForwardRefExoticComponent } from 'react';
|
|
9
|
+
import { HTMLAttributes } from 'react';
|
|
10
|
+
import { InputHTMLAttributes } from 'react';
|
|
11
|
+
import { JSX as JSX_2 } from 'react';
|
|
12
|
+
import { Key } from 'react';
|
|
13
|
+
import { MutableRefObject } from 'react';
|
|
14
|
+
import { PropsWithChildren } from 'react';
|
|
15
|
+
import { ReactNode } from 'react';
|
|
16
|
+
import { RefAttributes } from 'react';
|
|
17
|
+
import { SelectHTMLAttributes } from 'react';
|
|
18
|
+
import { TextareaHTMLAttributes } from 'react';
|
|
19
|
+
|
|
20
|
+
export declare const Accordion: ForwardRefExoticComponent<AccordionProps & RefAttributes<HTMLDivElement>> & {
|
|
21
|
+
Root: ForwardRefExoticComponent<AccordionProps & RefAttributes<HTMLDivElement>>;
|
|
22
|
+
Item: ForwardRefExoticComponent< AccordionItemProps & RefAttributes<HTMLDivElement>>;
|
|
23
|
+
Header: ForwardRefExoticComponent< AccordionHeaderProps & RefAttributes<HTMLHeadingElement>>;
|
|
24
|
+
Panel: ForwardRefExoticComponent< AccordionPanelProps & RefAttributes<HTMLDivElement>>;
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
export declare interface AccordionHeaderProps extends Omit<HTMLAttributes<HTMLElement>, 'onClick'> {
|
|
28
|
+
/** 헤더 제목 */
|
|
29
|
+
children: ReactNode;
|
|
30
|
+
/** 커스텀 클릭 핸들러 */
|
|
31
|
+
onClick?: () => void;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* KRDS AccordionItem Component ( Pattern)
|
|
36
|
+
* @param value 아이템 값 (고유 식별자)
|
|
37
|
+
* @param children 자식 컴포넌트들 (Header와 Panel)
|
|
38
|
+
*/
|
|
39
|
+
export declare const AccordionItem: ForwardRefExoticComponent<AccordionItemProps & RefAttributes<HTMLDivElement>>;
|
|
40
|
+
|
|
41
|
+
export declare interface AccordionItemProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {
|
|
42
|
+
/** 아이템 값 (고유 식별자) */
|
|
43
|
+
value: string;
|
|
44
|
+
/** 자식 컴포넌트들 (Header와 Panel) */
|
|
45
|
+
children: ReactNode;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export declare interface AccordionPanelProps extends HTMLAttributes<HTMLDivElement> {
|
|
49
|
+
/** 패널 내용 */
|
|
50
|
+
children: ReactNode;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export declare interface AccordionProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
|
|
54
|
+
/** 아코디언 스타일 변형 */
|
|
55
|
+
variant?: AccordionVariant;
|
|
56
|
+
/** 다중 선택 허용 여부 (false일 경우 한 번에 하나만 열림) */
|
|
57
|
+
allowMultiple?: boolean;
|
|
58
|
+
/** 열린 아이템 값 배열 (제어 상태) */
|
|
59
|
+
value?: string[];
|
|
60
|
+
/** 열린 아이템 변경 핸들러 */
|
|
61
|
+
onChange?: (values: string[]) => void;
|
|
62
|
+
/** 초기 열린 아이템 값 배열 (비제어 상태) */
|
|
63
|
+
defaultValue?: string[];
|
|
64
|
+
/** 자식 컴포넌트들 */
|
|
65
|
+
children: ReactNode;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
declare type AccordionVariant = 'default' | 'line';
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* KRDS Badge 컴포넌트
|
|
72
|
+
* @param variant 배지 종류 ('outline' | 'filled' | 'light')
|
|
73
|
+
* @param color 배지 색상 ('primary' | 'secondary' | 'gray' | 'point' | 'danger' | 'warning' | 'success' | 'information' | 'disabled')
|
|
74
|
+
* @param size 배지 크기 ('small' | 'medium' | 'large')
|
|
75
|
+
* @param rounded 배지 모양 원형 여부
|
|
76
|
+
* @param children 배지 내용
|
|
77
|
+
* @param className 추가 커스텀 클래스
|
|
78
|
+
*/
|
|
79
|
+
export declare const Badge: ForwardRefExoticComponent<BadgeProps & RefAttributes<HTMLSpanElement>>;
|
|
80
|
+
|
|
81
|
+
export declare type BadgeColor = 'primary' | 'secondary' | 'gray' | 'point' | 'danger' | 'warning' | 'success' | 'information' | 'disabled';
|
|
82
|
+
|
|
83
|
+
export declare interface BadgeProps extends Omit<HTMLAttributes<HTMLSpanElement>, 'size'> {
|
|
84
|
+
variant?: BadgeVariant;
|
|
85
|
+
color?: BadgeColor;
|
|
86
|
+
size?: BadgeSize;
|
|
87
|
+
rounded?: boolean;
|
|
88
|
+
children: React.ReactNode;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
export declare type BadgeSize = 'small' | 'medium' | 'large';
|
|
92
|
+
|
|
93
|
+
export declare type BadgeVariant = 'outline' | 'filled' | 'light';
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* KRDS Badge Wrapper 컴포넌트
|
|
97
|
+
* @param children 배지 컴포넌트들
|
|
98
|
+
* @param className 추가 커스텀 클래스
|
|
99
|
+
*/
|
|
100
|
+
export declare const BadgeWrapper: ForwardRefExoticComponent<BadgeWrapperProps & RefAttributes<HTMLDivElement>>;
|
|
101
|
+
|
|
102
|
+
export declare interface BadgeWrapperProps extends HTMLAttributes<HTMLDivElement> {
|
|
103
|
+
children: React.ReactNode;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
declare interface BaseTagProps {
|
|
107
|
+
/** 태그 텍스트 */
|
|
108
|
+
children: ReactNode;
|
|
109
|
+
/** 커스텀 클래스명 */
|
|
110
|
+
className?: string;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* KRDS Breadcrumb Component
|
|
115
|
+
* @param items 브레드크럼 아이템 목록 ('home' | 'link' | 'disabled')
|
|
116
|
+
* @param className 추가 클래스명
|
|
117
|
+
* @param ariaLabel 접근성 레이블
|
|
118
|
+
*/
|
|
119
|
+
export declare const Breadcrumb: default_2.ForwardRefExoticComponent<BreadcrumbProps & default_2.RefAttributes<HTMLElement>>;
|
|
120
|
+
|
|
121
|
+
export declare interface BreadcrumbItem {
|
|
122
|
+
/** 링크 텍스트 */
|
|
123
|
+
text: string;
|
|
124
|
+
/** 링크 URL */
|
|
125
|
+
href: string;
|
|
126
|
+
/** 비활성화 여부 */
|
|
127
|
+
disabled?: boolean;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
export declare interface BreadcrumbProps extends HTMLAttributes<HTMLElement> {
|
|
131
|
+
/** 브레드크럼 아이템 목록 */
|
|
132
|
+
items: BreadcrumbItem[];
|
|
133
|
+
/** 추가 클래스명 */
|
|
134
|
+
className?: string;
|
|
135
|
+
/** 접근성 레이블 */
|
|
136
|
+
ariaLabel?: string;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
export declare const Button: PolymorphicButtonComponent;
|
|
140
|
+
|
|
141
|
+
declare type ButtonOwnProps = {
|
|
142
|
+
variant?: ButtonVariant;
|
|
143
|
+
size?: ButtonSize;
|
|
144
|
+
children?: ReactNode;
|
|
145
|
+
className?: string;
|
|
146
|
+
disabled?: boolean;
|
|
147
|
+
role?: string;
|
|
148
|
+
};
|
|
149
|
+
|
|
150
|
+
export declare type ButtonProps<T extends ElementType = 'button'> = ButtonOwnProps & {
|
|
151
|
+
as?: T;
|
|
152
|
+
} & Omit<ComponentPropsWithRef<T>, keyof ButtonOwnProps>;
|
|
153
|
+
|
|
154
|
+
export declare type ButtonSize = 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
|
|
155
|
+
|
|
156
|
+
export declare type ButtonVariant = 'primary' | 'secondary' | 'tertiary' | 'text' | 'link' | 'icon';
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* KRDS Calendar Component
|
|
160
|
+
* @param mode 달력 모드 ('single' | 'range')
|
|
161
|
+
* @param position 달력 위치 ('top' | 'bottom')
|
|
162
|
+
* @param value 현재 선택된 날짜 (단일 선택)
|
|
163
|
+
* @param defaultValue 기본 선택된 날짜 (단일 선택)
|
|
164
|
+
* @param startDate 범위 선택 시작 날짜
|
|
165
|
+
* @param endDate 범위 선택 종료 날짜
|
|
166
|
+
* @param defaultStartDate 기본 범위 선택 시작 날짜
|
|
167
|
+
* @param defaultEndDate 기본 범위 선택 종료 날짜
|
|
168
|
+
* @param disabledDates 비활성화할 날짜 배열
|
|
169
|
+
* @param eventDates 이벤트가 있는 날짜 배열
|
|
170
|
+
* @param isOpen 달력 열림 상태
|
|
171
|
+
* @param defaultIsOpen 기본 달력 열림 상태
|
|
172
|
+
* @param label 입력 필드 레이블
|
|
173
|
+
* @param placeholder 입력 필드 placeholder
|
|
174
|
+
* @param disabled 비활성화 여부
|
|
175
|
+
* @param readOnly 읽기 전용 여부
|
|
176
|
+
*/
|
|
177
|
+
export declare const Calendar: ForwardRefExoticComponent<CalendarProps & RefAttributes<HTMLDivElement>>;
|
|
178
|
+
|
|
179
|
+
export declare interface CalendarButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
180
|
+
/**
|
|
181
|
+
* 버튼 variant
|
|
182
|
+
*/
|
|
183
|
+
variant?: 'icon' | 'move' | 'switch' | 'date' | 'action';
|
|
184
|
+
/**
|
|
185
|
+
* 활성 상태
|
|
186
|
+
*/
|
|
187
|
+
isActive?: boolean;
|
|
188
|
+
/**
|
|
189
|
+
* 선택 상태
|
|
190
|
+
*/
|
|
191
|
+
isSelected?: boolean;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
export declare interface CalendarDate {
|
|
195
|
+
year: number;
|
|
196
|
+
month: number;
|
|
197
|
+
day: number;
|
|
198
|
+
isToday?: boolean;
|
|
199
|
+
isDisabled?: boolean;
|
|
200
|
+
isOld?: boolean;
|
|
201
|
+
isNew?: boolean;
|
|
202
|
+
isDayOff?: boolean;
|
|
203
|
+
hasEvent?: boolean;
|
|
204
|
+
isSelected?: boolean;
|
|
205
|
+
isStart?: boolean;
|
|
206
|
+
isEnd?: boolean;
|
|
207
|
+
isPeriod?: boolean;
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
export declare interface CalendarDropdownProps extends HTMLAttributes<HTMLDivElement> {
|
|
211
|
+
/**
|
|
212
|
+
* 드롭다운 열림 상태
|
|
213
|
+
*/
|
|
214
|
+
isOpen?: boolean;
|
|
215
|
+
/**
|
|
216
|
+
* 드롭다운 항목들
|
|
217
|
+
*/
|
|
218
|
+
items?: CalendarYearMonth[];
|
|
219
|
+
/**
|
|
220
|
+
* 항목 선택 콜백
|
|
221
|
+
*/
|
|
222
|
+
onItemSelect?: (item: CalendarYearMonth) => void;
|
|
223
|
+
/**
|
|
224
|
+
* 드롭다운 토글 콜백
|
|
225
|
+
*/
|
|
226
|
+
onToggle?: () => void;
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
export declare interface CalendarInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'onChange'> {
|
|
230
|
+
/**
|
|
231
|
+
* 달력 모드
|
|
232
|
+
*/
|
|
233
|
+
mode?: CalendarMode;
|
|
234
|
+
/**
|
|
235
|
+
* 입력값 변경 콜백
|
|
236
|
+
*/
|
|
237
|
+
onChange?: (value: string) => void;
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
export declare type CalendarMode = 'single' | 'range';
|
|
241
|
+
|
|
242
|
+
export declare type CalendarPosition = 'top' | 'bottom';
|
|
243
|
+
|
|
244
|
+
export declare interface CalendarProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
|
|
245
|
+
/**
|
|
246
|
+
* 달력 모드 ('single' | 'range')
|
|
247
|
+
*/
|
|
248
|
+
mode?: CalendarMode;
|
|
249
|
+
/**
|
|
250
|
+
* 달력 위치 ('top' | 'bottom')
|
|
251
|
+
*/
|
|
252
|
+
position?: CalendarPosition;
|
|
253
|
+
/**
|
|
254
|
+
* 현재 선택된 날짜 (단일 선택 모드)
|
|
255
|
+
*/
|
|
256
|
+
value?: string;
|
|
257
|
+
/**
|
|
258
|
+
* 기본 선택된 날짜 (단일 선택 모드)
|
|
259
|
+
*/
|
|
260
|
+
defaultValue?: string;
|
|
261
|
+
/**
|
|
262
|
+
* 범위 선택 시작 날짜
|
|
263
|
+
*/
|
|
264
|
+
startDate?: string;
|
|
265
|
+
/**
|
|
266
|
+
* 범위 선택 종료 날짜
|
|
267
|
+
*/
|
|
268
|
+
endDate?: string;
|
|
269
|
+
/**
|
|
270
|
+
* 기본 범위 선택 시작 날짜
|
|
271
|
+
*/
|
|
272
|
+
defaultStartDate?: string;
|
|
273
|
+
/**
|
|
274
|
+
* 기본 범위 선택 종료 날짜
|
|
275
|
+
*/
|
|
276
|
+
defaultEndDate?: string;
|
|
277
|
+
/**
|
|
278
|
+
* 비활성화할 날짜 배열 (YYYY.MM.DD 형식)
|
|
279
|
+
*/
|
|
280
|
+
disabledDates?: string[];
|
|
281
|
+
/**
|
|
282
|
+
* 이벤트가 있는 날짜 배열 (YYYY.MM.DD 형식)
|
|
283
|
+
*/
|
|
284
|
+
eventDates?: string[];
|
|
285
|
+
/**
|
|
286
|
+
* 달력이 열려있는지 여부
|
|
287
|
+
*/
|
|
288
|
+
isOpen?: boolean;
|
|
289
|
+
/**
|
|
290
|
+
* 기본 달력 열림 상태
|
|
291
|
+
*/
|
|
292
|
+
defaultIsOpen?: boolean;
|
|
293
|
+
/**
|
|
294
|
+
* 달력 열림/닫힘 상태 변경 콜백
|
|
295
|
+
*/
|
|
296
|
+
onOpenChange?: (isOpen: boolean) => void;
|
|
297
|
+
/**
|
|
298
|
+
* 날짜 선택 변경 콜백 (단일 선택)
|
|
299
|
+
*/
|
|
300
|
+
onChange?: (value: string) => void;
|
|
301
|
+
/**
|
|
302
|
+
* 범위 선택 변경 콜백
|
|
303
|
+
*/
|
|
304
|
+
onRangeChange?: (startDate: string, endDate: string) => void;
|
|
305
|
+
/**
|
|
306
|
+
* 년도 변경 콜백
|
|
307
|
+
*/
|
|
308
|
+
onYearChange?: (year: number) => void;
|
|
309
|
+
/**
|
|
310
|
+
* 월 변경 콜백
|
|
311
|
+
*/
|
|
312
|
+
onMonthChange?: (month: number) => void;
|
|
313
|
+
/**
|
|
314
|
+
* 오늘 버튼 클릭 콜백
|
|
315
|
+
*/
|
|
316
|
+
onTodayClick?: () => void;
|
|
317
|
+
/**
|
|
318
|
+
* 확인 버튼 클릭 콜백
|
|
319
|
+
*/
|
|
320
|
+
onConfirm?: () => void;
|
|
321
|
+
/**
|
|
322
|
+
* 취소 버튼 클릭 콜백
|
|
323
|
+
*/
|
|
324
|
+
onCancel?: () => void;
|
|
325
|
+
/**
|
|
326
|
+
* 입력 필드 레이블
|
|
327
|
+
*/
|
|
328
|
+
label?: string;
|
|
329
|
+
/**
|
|
330
|
+
* 입력 필드 ID
|
|
331
|
+
*/
|
|
332
|
+
inputId?: string;
|
|
333
|
+
/**
|
|
334
|
+
* 입력 필드 placeholder (단일 선택)
|
|
335
|
+
*/
|
|
336
|
+
placeholder?: string;
|
|
337
|
+
/**
|
|
338
|
+
* 시작 날짜 입력 필드 placeholder
|
|
339
|
+
*/
|
|
340
|
+
startPlaceholder?: string;
|
|
341
|
+
/**
|
|
342
|
+
* 종료 날짜 입력 필드 placeholder
|
|
343
|
+
*/
|
|
344
|
+
endPlaceholder?: string;
|
|
345
|
+
/**
|
|
346
|
+
* 시작 날짜 입력 필드 title
|
|
347
|
+
*/
|
|
348
|
+
startTitle?: string;
|
|
349
|
+
/**
|
|
350
|
+
* 종료 날짜 입력 필드 title
|
|
351
|
+
*/
|
|
352
|
+
endTitle?: string;
|
|
353
|
+
/**
|
|
354
|
+
* 달력 열기 버튼 aria-label
|
|
355
|
+
*/
|
|
356
|
+
openButtonLabel?: string;
|
|
357
|
+
/**
|
|
358
|
+
* 이전 달 버튼 aria-label
|
|
359
|
+
*/
|
|
360
|
+
prevButtonLabel?: string;
|
|
361
|
+
/**
|
|
362
|
+
* 다음 달 버튼 aria-label
|
|
363
|
+
*/
|
|
364
|
+
nextButtonLabel?: string;
|
|
365
|
+
/**
|
|
366
|
+
* 년도 선택 버튼 aria-label
|
|
367
|
+
*/
|
|
368
|
+
yearSelectLabel?: string;
|
|
369
|
+
/**
|
|
370
|
+
* 월 선택 버튼 aria-label
|
|
371
|
+
*/
|
|
372
|
+
monthSelectLabel?: string;
|
|
373
|
+
/**
|
|
374
|
+
* 오늘 버튼 텍스트
|
|
375
|
+
*/
|
|
376
|
+
todayButtonText?: string;
|
|
377
|
+
/**
|
|
378
|
+
* 취소 버튼 텍스트
|
|
379
|
+
*/
|
|
380
|
+
cancelButtonText?: string;
|
|
381
|
+
/**
|
|
382
|
+
* 확인 버튼 텍스트
|
|
383
|
+
*/
|
|
384
|
+
confirmButtonText?: string;
|
|
385
|
+
/**
|
|
386
|
+
* 비활성화 여부
|
|
387
|
+
*/
|
|
388
|
+
disabled?: boolean;
|
|
389
|
+
/**
|
|
390
|
+
* 읽기 전용 여부
|
|
391
|
+
*/
|
|
392
|
+
readOnly?: boolean;
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
export declare interface CalendarTableProps extends HTMLAttributes<HTMLTableElement> {
|
|
396
|
+
/**
|
|
397
|
+
* 달력 데이터
|
|
398
|
+
*/
|
|
399
|
+
dates?: CalendarDate[];
|
|
400
|
+
/**
|
|
401
|
+
* 달력 모드
|
|
402
|
+
*/
|
|
403
|
+
mode?: CalendarMode;
|
|
404
|
+
/**
|
|
405
|
+
* 현재 년도
|
|
406
|
+
*/
|
|
407
|
+
currentYear?: number;
|
|
408
|
+
/**
|
|
409
|
+
* 현재 월
|
|
410
|
+
*/
|
|
411
|
+
currentMonth?: number;
|
|
412
|
+
/**
|
|
413
|
+
* 날짜 클릭 콜백
|
|
414
|
+
*/
|
|
415
|
+
onDateClick?: (date: CalendarDate) => void;
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
export declare interface CalendarYearMonth {
|
|
419
|
+
value: number;
|
|
420
|
+
label: string;
|
|
421
|
+
isActive?: boolean;
|
|
422
|
+
isDisabled?: boolean;
|
|
423
|
+
}
|
|
424
|
+
|
|
425
|
+
/**
|
|
426
|
+
* KRDS Checkbox Component
|
|
427
|
+
* @param size 체크박스 크기 ('medium' | 'large')
|
|
428
|
+
* @param checked 체크박스 선택 상태
|
|
429
|
+
* @param disabled 체크박스 비활성화 상태
|
|
430
|
+
* @param label 체크박스 레이블 텍스트
|
|
431
|
+
* @param description 추가 설명 텍스트
|
|
432
|
+
* @param className 사용자 정의 클래스명
|
|
433
|
+
*/
|
|
434
|
+
export declare const Checkbox: default_2.ForwardRefExoticComponent<CheckboxProps & default_2.RefAttributes<HTMLInputElement>>;
|
|
435
|
+
|
|
436
|
+
/**
|
|
437
|
+
* KRDS CheckboxChip Component
|
|
438
|
+
* @param size 체크박스 칩 크기 ('small' | 'medium' | 'large')
|
|
439
|
+
* @param checked 체크박스 선택 상태
|
|
440
|
+
* @param disabled 체크박스 비활성화 상태
|
|
441
|
+
* @param className 사용자 정의 클래스명
|
|
442
|
+
*/
|
|
443
|
+
export declare const CheckboxChip: default_2.ForwardRefExoticComponent<CheckboxChipProps & default_2.RefAttributes<HTMLInputElement>>;
|
|
444
|
+
|
|
445
|
+
export declare interface CheckboxChipProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'defaultValue'> {
|
|
446
|
+
/** 체크박스 크기 */
|
|
447
|
+
size?: CheckboxChipSize;
|
|
448
|
+
/** 비제어 상태에서 사용할 초기 체크 상태 */
|
|
449
|
+
defaultValue?: boolean;
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
declare type CheckboxChipSize = 'small' | 'medium' | 'large';
|
|
453
|
+
|
|
454
|
+
/**
|
|
455
|
+
* KRDS CheckboxGroup Component
|
|
456
|
+
* @param column 레이아웃 방향 (true: 세로, false: 가로)
|
|
457
|
+
* @param className 사용자 정의 클래스명
|
|
458
|
+
*/
|
|
459
|
+
export declare const CheckboxGroup: default_2.FC<CheckboxGroupProps>;
|
|
460
|
+
|
|
461
|
+
export declare interface CheckboxGroupProps {
|
|
462
|
+
/** 그룹 내 체크박스들 */
|
|
463
|
+
children: React.ReactNode;
|
|
464
|
+
/** 세로 배치 여부 */
|
|
465
|
+
column?: boolean;
|
|
466
|
+
/** 추가 CSS 클래스 */
|
|
467
|
+
className?: string;
|
|
468
|
+
}
|
|
469
|
+
|
|
470
|
+
export declare interface CheckboxProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'defaultValue'> {
|
|
471
|
+
/** 체크박스 크기 */
|
|
472
|
+
size?: CheckboxSize;
|
|
473
|
+
/** 추가 설명 텍스트 */
|
|
474
|
+
description?: string;
|
|
475
|
+
/** 비제어 상태에서 사용할 초기 체크 상태 */
|
|
476
|
+
defaultValue?: boolean;
|
|
477
|
+
/** 레이블 텍스트 (children이 없을 경우 사용) */
|
|
478
|
+
label?: string;
|
|
479
|
+
}
|
|
480
|
+
|
|
481
|
+
declare type CheckboxSize = 'medium' | 'large';
|
|
482
|
+
|
|
483
|
+
/**
|
|
484
|
+
* KRDS CoachMark Component
|
|
485
|
+
* @param title 코치 마크 제목
|
|
486
|
+
* @param description 코치 마크 설명
|
|
487
|
+
* @param currentStep 현재 단계
|
|
488
|
+
* @param totalSteps 총 단계 수
|
|
489
|
+
* @param onSkip 그만보기 버튼 클릭 핸들러
|
|
490
|
+
* @param onPrevious 이전으로 버튼 클릭 핸들러
|
|
491
|
+
* @param onNext 다음으로 버튼 클릭 핸들러
|
|
492
|
+
* @param children 코치 마크 내용
|
|
493
|
+
* @param isVisible 코치 마크 표시 여부
|
|
494
|
+
*/
|
|
495
|
+
export declare const CoachMark: ForwardRefExoticComponent<Omit<CoachMarkProps, "ref"> & RefAttributes<HTMLDivElement>>;
|
|
496
|
+
|
|
497
|
+
export declare interface CoachMarkProps extends Omit<ComponentPropsWithRef<'div'>, 'children'> {
|
|
498
|
+
/** 코치 마크 제목 */
|
|
499
|
+
title?: string;
|
|
500
|
+
/** 코치 마크 설명 */
|
|
501
|
+
description?: string;
|
|
502
|
+
/** 현재 단계 */
|
|
503
|
+
currentStep?: number;
|
|
504
|
+
/** 총 단계 수 */
|
|
505
|
+
totalSteps?: number;
|
|
506
|
+
/** 그만보기 버튼 클릭 핸들러 */
|
|
507
|
+
onSkip?: () => void;
|
|
508
|
+
/** 이전으로 버튼 클릭 핸들러 */
|
|
509
|
+
onPrevious?: () => void;
|
|
510
|
+
/** 다음으로 버튼 클릭 핸들러 */
|
|
511
|
+
onNext?: () => void;
|
|
512
|
+
/** 코치 마크 내용 */
|
|
513
|
+
children?: ReactNode;
|
|
514
|
+
/** 코치 마크 표시 여부 */
|
|
515
|
+
isVisible?: boolean;
|
|
516
|
+
}
|
|
517
|
+
|
|
518
|
+
/**
|
|
519
|
+
* KRDS ContextualHelp Component
|
|
520
|
+
* @param label 도움말 라벨 텍스트
|
|
521
|
+
* @param title 팝오버 제목
|
|
522
|
+
* @param children 팝오버 내용
|
|
523
|
+
* @param position 팝오버 위치 ('top' | 'bottom')
|
|
524
|
+
* @param alignment 팝오버 정렬 ('left' | 'center' | 'right')
|
|
525
|
+
* @param open 팝오버 열림/닫힘 상태
|
|
526
|
+
* @param defaultOpen 기본 팝오버 열림/닫힘 상태
|
|
527
|
+
* @param onOpenChange 팝오버 상태 변경 핸들러
|
|
528
|
+
* @param className 사용자 정의 클래스명
|
|
529
|
+
*/
|
|
530
|
+
export declare const ContextualHelp: ForwardRefExoticComponent<ContextualHelpProps & RefAttributes<HTMLDivElement>>;
|
|
531
|
+
|
|
532
|
+
declare type ContextualHelpAlignment = 'left' | 'center' | 'right';
|
|
533
|
+
|
|
534
|
+
declare type ContextualHelpPosition = 'top' | 'bottom';
|
|
535
|
+
|
|
536
|
+
export declare interface ContextualHelpProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
|
|
537
|
+
/** 도움말 라벨 텍스트 */
|
|
538
|
+
label?: string;
|
|
539
|
+
/** 팝오버 제목 */
|
|
540
|
+
title: string;
|
|
541
|
+
/** 팝오버 내용 */
|
|
542
|
+
children: ReactNode;
|
|
543
|
+
/** 팝오버 위치 ('top' | 'bottom') */
|
|
544
|
+
position?: ContextualHelpPosition;
|
|
545
|
+
/** 팝오버 정렬 ('left' | 'center' | 'right') */
|
|
546
|
+
alignment?: ContextualHelpAlignment;
|
|
547
|
+
/** 팝오버 열림/닫힘 상태 (제어모드) */
|
|
548
|
+
open?: boolean;
|
|
549
|
+
/** 기본 팝오버 열림/닫힘 상태 (비제어모드) */
|
|
550
|
+
defaultOpen?: boolean;
|
|
551
|
+
/** 팝오버 상태 변경 핸들러 */
|
|
552
|
+
onOpenChange?: (open: boolean) => void;
|
|
553
|
+
/** 사용자 정의 클래스명 */
|
|
554
|
+
className?: string;
|
|
555
|
+
}
|
|
556
|
+
|
|
557
|
+
export declare const CriticalAlert: ForwardRefExoticComponent<CriticalAlertsProps & RefAttributes<HTMLDivElement>>;
|
|
558
|
+
|
|
559
|
+
export declare interface CriticalAlertItemProps {
|
|
560
|
+
/**
|
|
561
|
+
* alert의 종류
|
|
562
|
+
*/
|
|
563
|
+
variant: CriticalAlertVariant;
|
|
564
|
+
/**
|
|
565
|
+
* alert의 내용
|
|
566
|
+
*/
|
|
567
|
+
message: string;
|
|
568
|
+
/**
|
|
569
|
+
* 상세보기 링크 URL
|
|
570
|
+
*/
|
|
571
|
+
href?: string;
|
|
572
|
+
/**
|
|
573
|
+
* 상세보기 링크 텍스트
|
|
574
|
+
*/
|
|
575
|
+
linkText?: string;
|
|
576
|
+
}
|
|
577
|
+
|
|
578
|
+
/**
|
|
579
|
+
* KRDS Critical Alert Component
|
|
580
|
+
* @param alerts alert 목록
|
|
581
|
+
* @param className custom class name
|
|
582
|
+
*/
|
|
583
|
+
export declare const CriticalAlerts: ForwardRefExoticComponent<CriticalAlertsProps & RefAttributes<HTMLDivElement>>;
|
|
584
|
+
|
|
585
|
+
export declare interface CriticalAlertsProps extends HTMLAttributes<HTMLDivElement> {
|
|
586
|
+
/**
|
|
587
|
+
* alert 목록
|
|
588
|
+
*/
|
|
589
|
+
alerts: CriticalAlertItemProps[];
|
|
590
|
+
}
|
|
591
|
+
|
|
592
|
+
export declare type CriticalAlertVariant = 'danger' | 'ok' | 'info';
|
|
593
|
+
|
|
594
|
+
/**
|
|
595
|
+
* KRDS DateInput Component
|
|
596
|
+
* @param value 제어 상태일 때 입력된 값
|
|
597
|
+
* @param defaultValue 비제어 상태일 때의 초기 값
|
|
598
|
+
* @param onChange 입력 값이 변경될 때 호출되는 콜백
|
|
599
|
+
* @param label 레이블
|
|
600
|
+
* @param hint 도움말 텍스트
|
|
601
|
+
* @param error 에러 메시지
|
|
602
|
+
* @param success 성공 메시지
|
|
603
|
+
* @param information 정보 메시지
|
|
604
|
+
* @param size 입력 필드 크기 ('small' | 'medium' | 'large')
|
|
605
|
+
* @param isCalendarOpen 달력 열림 상태
|
|
606
|
+
* @param calendarPosition 달력 위치 ('top' | 'bottom')
|
|
607
|
+
* @param disabledDates 비활성화할 날짜 배열
|
|
608
|
+
* @param eventDates 이벤트가 있는 날짜 배열
|
|
609
|
+
* @param disabled disabled 상태
|
|
610
|
+
* @param readOnly readOnly 상태
|
|
611
|
+
*/
|
|
612
|
+
export declare const DateInput: ForwardRefExoticComponent<DateInputProps & RefAttributes<HTMLInputElement>>;
|
|
613
|
+
|
|
614
|
+
export declare interface DateInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'onChange' | 'value' | 'defaultValue' | 'size' | 'type'> {
|
|
615
|
+
/** 입력 값이 변경될 때 호출되는 콜백 */
|
|
616
|
+
onChange?: (value: string) => void;
|
|
617
|
+
/** 레이블 */
|
|
618
|
+
label?: string;
|
|
619
|
+
/** 도움말 텍스트 */
|
|
620
|
+
hint?: string;
|
|
621
|
+
/** 에러 메시지 */
|
|
622
|
+
error?: string;
|
|
623
|
+
/** 성공 메시지 */
|
|
624
|
+
success?: string;
|
|
625
|
+
/** 정보 메시지 */
|
|
626
|
+
information?: string;
|
|
627
|
+
/** 입력 필드 크기 ('small' | 'medium' | 'large') */
|
|
628
|
+
size?: 'small' | 'medium' | 'large';
|
|
629
|
+
/** 제어 상태일 때 입력된 값 */
|
|
630
|
+
value?: string;
|
|
631
|
+
/** 비제어 상태일 때의 초기 값 */
|
|
632
|
+
defaultValue?: string;
|
|
633
|
+
/** 달력이 열려있는지 여부 */
|
|
634
|
+
isCalendarOpen?: boolean;
|
|
635
|
+
/** 기본 달력 열림 상태 */
|
|
636
|
+
defaultIsCalendarOpen?: boolean;
|
|
637
|
+
/** 달력 열림/닫힘 상태 변경 콜백 */
|
|
638
|
+
onCalendarOpenChange?: (isOpen: boolean) => void;
|
|
639
|
+
/** 달력 위치 ('top' | 'bottom') */
|
|
640
|
+
calendarPosition?: 'top' | 'bottom';
|
|
641
|
+
/** 비활성화할 날짜 배열 (YYYY.MM.DD 형식) */
|
|
642
|
+
disabledDates?: string[];
|
|
643
|
+
/** 이벤트가 있는 날짜 배열 (YYYY.MM.DD 형식) */
|
|
644
|
+
eventDates?: string[];
|
|
645
|
+
/** 년도 변경 콜백 */
|
|
646
|
+
onYearChange?: (year: number) => void;
|
|
647
|
+
/** 월 변경 콜백 */
|
|
648
|
+
onMonthChange?: (month: number) => void;
|
|
649
|
+
/** 오늘 버튼 클릭 콜백 */
|
|
650
|
+
onTodayClick?: () => void;
|
|
651
|
+
/** 확인 버튼 클릭 콜백 */
|
|
652
|
+
onConfirm?: () => void;
|
|
653
|
+
/** 취소 버튼 클릭 콜백 */
|
|
654
|
+
onCancel?: () => void;
|
|
655
|
+
/** 달력 열기 버튼 aria-label */
|
|
656
|
+
openButtonLabel?: string;
|
|
657
|
+
/** 이전 달 버튼 aria-label */
|
|
658
|
+
prevButtonLabel?: string;
|
|
659
|
+
/** 다음 달 버튼 aria-label */
|
|
660
|
+
nextButtonLabel?: string;
|
|
661
|
+
/** 년도 선택 버튼 aria-label */
|
|
662
|
+
yearSelectLabel?: string;
|
|
663
|
+
/** 월 선택 버튼 aria-label */
|
|
664
|
+
monthSelectLabel?: string;
|
|
665
|
+
/** 오늘 버튼 텍스트 */
|
|
666
|
+
todayButtonText?: string;
|
|
667
|
+
/** 취소 버튼 텍스트 */
|
|
668
|
+
cancelButtonText?: string;
|
|
669
|
+
/** 확인 버튼 텍스트 */
|
|
670
|
+
confirmButtonText?: string;
|
|
671
|
+
}
|
|
672
|
+
|
|
673
|
+
declare interface DeletableTagProps extends BaseTagProps, Omit<HTMLAttributes<HTMLSpanElement>, 'children'> {
|
|
674
|
+
/** 태그 타입 */
|
|
675
|
+
variant?: 'deletable';
|
|
676
|
+
/** 삭제 버튼 클릭 핸들러 */
|
|
677
|
+
onDelete?: () => void;
|
|
678
|
+
/** 삭제 버튼 비활성화 */
|
|
679
|
+
deleteDisabled?: boolean;
|
|
680
|
+
}
|
|
681
|
+
|
|
682
|
+
declare interface DesktopBanner {
|
|
683
|
+
badgeText?: string;
|
|
684
|
+
buttonText: string;
|
|
685
|
+
onButtonClick: () => void;
|
|
686
|
+
children?: ReactNode;
|
|
687
|
+
}
|
|
688
|
+
|
|
689
|
+
declare interface DesktopLeafItem {
|
|
690
|
+
id?: string;
|
|
691
|
+
label: string;
|
|
692
|
+
href?: string;
|
|
693
|
+
isExternal?: boolean;
|
|
694
|
+
asButton?: boolean;
|
|
695
|
+
description?: string;
|
|
696
|
+
onClick?: () => void;
|
|
697
|
+
}
|
|
698
|
+
|
|
699
|
+
declare interface DesktopMainDropdown {
|
|
700
|
+
type: 'dropdown';
|
|
701
|
+
id?: string;
|
|
702
|
+
label: string;
|
|
703
|
+
isDropdownTrigger?: boolean;
|
|
704
|
+
mainListClassName?: string;
|
|
705
|
+
sections: DesktopSubSection[];
|
|
706
|
+
}
|
|
707
|
+
|
|
708
|
+
declare type DesktopMainItem = DesktopMainDropdown | DesktopMainLink;
|
|
709
|
+
|
|
710
|
+
declare interface DesktopMainLink {
|
|
711
|
+
type: 'link';
|
|
712
|
+
id?: string;
|
|
713
|
+
label: string;
|
|
714
|
+
href?: string;
|
|
715
|
+
isExternal?: boolean;
|
|
716
|
+
renderAsButton?: boolean;
|
|
717
|
+
onClick?: () => void;
|
|
718
|
+
}
|
|
719
|
+
|
|
720
|
+
declare interface DesktopMenuConfig {
|
|
721
|
+
items: DesktopMainItem[];
|
|
722
|
+
}
|
|
723
|
+
|
|
724
|
+
declare interface DesktopSubLink {
|
|
725
|
+
type: 'link';
|
|
726
|
+
id?: string;
|
|
727
|
+
label: string;
|
|
728
|
+
href: string;
|
|
729
|
+
isExternal?: boolean;
|
|
730
|
+
onClick?: () => void;
|
|
731
|
+
}
|
|
732
|
+
|
|
733
|
+
declare interface DesktopSubMenu {
|
|
734
|
+
type: 'menu';
|
|
735
|
+
id?: string;
|
|
736
|
+
label: string;
|
|
737
|
+
href?: string;
|
|
738
|
+
isExternal?: boolean;
|
|
739
|
+
quickLinkLabel?: string;
|
|
740
|
+
quickLinkHref?: string;
|
|
741
|
+
quickLinkExternal?: boolean;
|
|
742
|
+
layout?: 'default' | 'between' | 'single-list';
|
|
743
|
+
items: DesktopLeafItem[];
|
|
744
|
+
banner?: DesktopBanner;
|
|
745
|
+
}
|
|
746
|
+
|
|
747
|
+
declare type DesktopSubSection = DesktopSubMenu | DesktopSubLink;
|
|
748
|
+
|
|
749
|
+
/**
|
|
750
|
+
* KRDS Disclosure Component
|
|
751
|
+
* @param buttonText 토글 버튼 텍스트
|
|
752
|
+
* @param children 확장 가능한 콘텐츠
|
|
753
|
+
* @param defaultExpanded 초기 확장 상태
|
|
754
|
+
* @param expanded 제어된 확장 상태
|
|
755
|
+
* @param onToggle 확장 상태 변경 콜백
|
|
756
|
+
* @param className 커스텀 클래스명
|
|
757
|
+
*/
|
|
758
|
+
export declare const Disclosure: ForwardRefExoticComponent<Omit<DisclosureProps, "ref"> & RefAttributes<HTMLDivElement>>;
|
|
759
|
+
|
|
760
|
+
export declare type DisclosureProps = {
|
|
761
|
+
/** 토글 버튼 텍스트 */
|
|
762
|
+
buttonText: string;
|
|
763
|
+
/** 확장 가능한 콘텐츠 */
|
|
764
|
+
children: ReactNode;
|
|
765
|
+
/** 초기 확장 상태 */
|
|
766
|
+
defaultExpanded?: boolean;
|
|
767
|
+
/** 제어된 확장 상태 */
|
|
768
|
+
expanded?: boolean;
|
|
769
|
+
/** 확장 상태 변경 시 호출되는 콜백 */
|
|
770
|
+
onToggle?: (expanded: boolean) => void;
|
|
771
|
+
/** 커스텀 클래스명 */
|
|
772
|
+
className?: string;
|
|
773
|
+
} & Omit<ComponentPropsWithRef<'div'>, 'children' | 'className' | 'onToggle'>;
|
|
774
|
+
|
|
775
|
+
declare interface DropdownItemProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
776
|
+
/**
|
|
777
|
+
* 아이템 활성 상태
|
|
778
|
+
*/
|
|
779
|
+
isActive?: boolean;
|
|
780
|
+
}
|
|
781
|
+
|
|
782
|
+
declare interface DropdownProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'onClick' | 'onChange' | 'content'> {
|
|
783
|
+
/**
|
|
784
|
+
* 드롭다운 열림 상태 (controlled)
|
|
785
|
+
*/
|
|
786
|
+
isOpen?: boolean;
|
|
787
|
+
/**
|
|
788
|
+
* 기본 드롭다운 열림 상태 (uncontrolled)
|
|
789
|
+
*/
|
|
790
|
+
defaultOpen?: boolean;
|
|
791
|
+
/**
|
|
792
|
+
* 드롭다운 상태 변경 시 호출되는 콜백 함수
|
|
793
|
+
*/
|
|
794
|
+
onOpenChange?: (isOpen: boolean) => void;
|
|
795
|
+
/**
|
|
796
|
+
* 드롭다운 버튼 텍스트 또는 콘텐츠
|
|
797
|
+
*/
|
|
798
|
+
buttonText: ReactNode;
|
|
799
|
+
/**
|
|
800
|
+
* 드롭다운 버튼 클래스명
|
|
801
|
+
*/
|
|
802
|
+
buttonClassName?: string;
|
|
803
|
+
/**
|
|
804
|
+
* 드롭다운 메뉴 콘텐츠 (리스트 아이템)
|
|
805
|
+
*/
|
|
806
|
+
children?: ReactNode;
|
|
807
|
+
/**
|
|
808
|
+
* 커스텀 드롭다운 콘텐츠
|
|
809
|
+
*/
|
|
810
|
+
content?: ReactNode;
|
|
811
|
+
/**
|
|
812
|
+
* 사용자 정의 클래스명
|
|
813
|
+
*/
|
|
814
|
+
className?: string;
|
|
815
|
+
}
|
|
816
|
+
|
|
817
|
+
export declare interface FileItem {
|
|
818
|
+
id: string;
|
|
819
|
+
name: string;
|
|
820
|
+
size: number;
|
|
821
|
+
type: string;
|
|
822
|
+
status: 'ready' | 'uploading' | 'completed' | 'error';
|
|
823
|
+
errorMessage?: string;
|
|
824
|
+
onDownload?: () => void;
|
|
825
|
+
onPreview?: () => void;
|
|
826
|
+
deletable?: boolean;
|
|
827
|
+
}
|
|
828
|
+
|
|
829
|
+
/**
|
|
830
|
+
* KRDS FileUpload Component
|
|
831
|
+
* @param title 타이틀 영역 제목
|
|
832
|
+
* @param description 컨텐츠 영역 설명
|
|
833
|
+
* @param uploadText 업로드 영역 안내 텍스트
|
|
834
|
+
* @param maxFiles 최대 파일 개수
|
|
835
|
+
* @param maxFileSize 최대 파일 크기 (bytes)
|
|
836
|
+
* @param acceptedFileTypes 허용된 파일 확장자 배열
|
|
837
|
+
* @param files 파일 목록
|
|
838
|
+
* @param onFilesChange 파일 목록 변경 핸들러
|
|
839
|
+
* @param onFileUpload 파일 업로드 핸들러
|
|
840
|
+
* @param onFileDelete 파일 삭제 핸들러
|
|
841
|
+
* @param onAllFilesDelete 전체 파일 삭제 핸들러
|
|
842
|
+
* @param disabled 비활성화 상태
|
|
843
|
+
* @param allowDelete 파일 삭제 허용 여부
|
|
844
|
+
* @param className 커스텀 클래스명
|
|
845
|
+
*/
|
|
846
|
+
export declare const FileUpload: default_2.ForwardRefExoticComponent<Omit<FileUploadProps, "ref"> & default_2.RefAttributes<HTMLDivElement>>;
|
|
847
|
+
|
|
848
|
+
export declare interface FileUploadProps extends Omit<ComponentPropsWithRef<'div'>, 'onChange'> {
|
|
849
|
+
title?: string;
|
|
850
|
+
description?: string;
|
|
851
|
+
uploadText?: string;
|
|
852
|
+
maxFiles?: number;
|
|
853
|
+
maxFileSize?: number;
|
|
854
|
+
acceptedFileTypes?: string[];
|
|
855
|
+
files?: FileItem[];
|
|
856
|
+
onFilesChange?: (files: FileItem[]) => void;
|
|
857
|
+
onFileUpload?: (file: File) => Promise<void>;
|
|
858
|
+
onFileDelete?: (fileId: string) => void;
|
|
859
|
+
onAllFilesDelete?: () => void;
|
|
860
|
+
disabled?: boolean;
|
|
861
|
+
allowDelete?: boolean;
|
|
862
|
+
className?: string;
|
|
863
|
+
children?: ReactNode;
|
|
864
|
+
}
|
|
865
|
+
|
|
866
|
+
export declare type FileUploadSize = 'small' | 'medium' | 'large';
|
|
867
|
+
|
|
868
|
+
/**
|
|
869
|
+
* KRDS Footer Component
|
|
870
|
+
* @param quickLinks 퀵 링크 목록
|
|
871
|
+
* @param address 주소
|
|
872
|
+
* @param contacts 연락처 목록
|
|
873
|
+
* @param logo 메인 로고 설정
|
|
874
|
+
* @param links 링크 목록
|
|
875
|
+
* @param socialLinks 소셜 미디어 링크 목록
|
|
876
|
+
* @param bottomLinks 하단 링크 목록
|
|
877
|
+
* @param copyright 저작권 텍스트
|
|
878
|
+
* @param identifierText 식별자 텍스트 (하위 호환성)
|
|
879
|
+
* @param identifier 식별자 설정 (identifierText보다 우선)
|
|
880
|
+
* @param defaultLinkTarget 모든 링크의 기본 타겟 설정
|
|
881
|
+
* @param hideQuickLinks 퀵 링크 섹션 숨김 여부
|
|
882
|
+
* @param hideIdentifier 식별자 섹션 숨김 여부
|
|
883
|
+
*/
|
|
884
|
+
export declare const Footer: ForwardRefExoticComponent<Omit<FooterProps, "ref"> & RefAttributes<HTMLElement>>;
|
|
885
|
+
|
|
886
|
+
export declare interface FooterBottomLink extends FooterLinkBase {
|
|
887
|
+
text: string;
|
|
888
|
+
isHighlighted?: boolean;
|
|
889
|
+
}
|
|
890
|
+
|
|
891
|
+
declare interface FooterContact {
|
|
892
|
+
title: string;
|
|
893
|
+
description: string;
|
|
894
|
+
}
|
|
895
|
+
|
|
896
|
+
declare interface FooterIdentifier {
|
|
897
|
+
logo?: FooterLogo;
|
|
898
|
+
text: string;
|
|
899
|
+
}
|
|
900
|
+
|
|
901
|
+
export declare interface FooterLink extends FooterLinkBase {
|
|
902
|
+
text: string;
|
|
903
|
+
}
|
|
904
|
+
|
|
905
|
+
declare interface FooterLinkBase {
|
|
906
|
+
href: string;
|
|
907
|
+
target?: '_blank' | '_self' | '_parent' | '_top';
|
|
908
|
+
rel?: string;
|
|
909
|
+
}
|
|
910
|
+
|
|
911
|
+
declare interface FooterLogo {
|
|
912
|
+
src?: string;
|
|
913
|
+
alt: string;
|
|
914
|
+
width?: number | string;
|
|
915
|
+
height?: number | string;
|
|
916
|
+
href?: string;
|
|
917
|
+
target?: '_blank' | '_self' | '_parent' | '_top';
|
|
918
|
+
}
|
|
919
|
+
|
|
920
|
+
export declare interface FooterProps extends Omit<ComponentPropsWithRef<'footer'>, 'children'> {
|
|
921
|
+
quickLinks?: FooterQuickLink[];
|
|
922
|
+
address?: string;
|
|
923
|
+
contacts?: FooterContact[];
|
|
924
|
+
links?: FooterLink[];
|
|
925
|
+
socialLinks?: FooterSocialLink[];
|
|
926
|
+
bottomLinks?: FooterBottomLink[];
|
|
927
|
+
logo?: FooterLogo;
|
|
928
|
+
copyright?: string;
|
|
929
|
+
identifierText?: string;
|
|
930
|
+
identifier?: FooterIdentifier;
|
|
931
|
+
defaultLinkTarget?: '_blank' | '_self';
|
|
932
|
+
hideQuickLinks?: boolean;
|
|
933
|
+
hideIdentifier?: boolean;
|
|
934
|
+
}
|
|
935
|
+
|
|
936
|
+
export declare interface FooterQuickLink {
|
|
937
|
+
title: string;
|
|
938
|
+
onClick?: () => void;
|
|
939
|
+
}
|
|
940
|
+
|
|
941
|
+
export declare interface FooterSocialLink extends FooterLinkBase {
|
|
942
|
+
platform: string;
|
|
943
|
+
icon?: ReactNode;
|
|
944
|
+
label?: string;
|
|
945
|
+
}
|
|
946
|
+
|
|
947
|
+
export declare const Header: typeof HeaderComponent & HeaderComponentSubmodules;
|
|
948
|
+
|
|
949
|
+
export declare interface HeaderBrandingProps extends ComponentPropsWithoutRef<'div'> {
|
|
950
|
+
/** 로고 링크 URL */
|
|
951
|
+
logoHref?: string;
|
|
952
|
+
/** 로고 클릭 핸들러 */
|
|
953
|
+
onLogoClick?: () => void;
|
|
954
|
+
/** 로고 이미지 대체 텍스트 */
|
|
955
|
+
logoAltText?: string;
|
|
956
|
+
/** 자식 컴포넌트들 (주로 Navi) */
|
|
957
|
+
children?: ReactNode;
|
|
958
|
+
}
|
|
959
|
+
|
|
960
|
+
declare const HeaderComponent: ForwardRefExoticComponent<Omit<HeaderProps, "ref"> & RefAttributes<HTMLElement>>;
|
|
961
|
+
|
|
962
|
+
declare interface HeaderComponentSubmodules {
|
|
963
|
+
Container: ForwardRefExoticComponent<ComponentPropsWithoutRef<'div'> & RefAttributes<HTMLDivElement>>;
|
|
964
|
+
Utilities: ComponentType<HeaderUtilitiesProps>;
|
|
965
|
+
Utility: ForwardRefExoticComponent<HeaderUtilityProps & RefAttributes<HTMLLIElement>> & {
|
|
966
|
+
Dropdown: ComponentType<HeaderUtilityDropdownProps>;
|
|
967
|
+
DropdownItem: ComponentType<DropdownItemProps>;
|
|
968
|
+
};
|
|
969
|
+
Branding: ComponentType<HeaderBrandingProps>;
|
|
970
|
+
Navi: ComponentType<HeaderNaviProps>;
|
|
971
|
+
NaviButton: {
|
|
972
|
+
Search: ForwardRefExoticComponent<HeaderNaviButtonSearchProps & RefAttributes<HTMLButtonElement>>;
|
|
973
|
+
Login: ForwardRefExoticComponent<HeaderNaviButtonLoginProps & RefAttributes<HTMLAnchorElement | HTMLButtonElement>>;
|
|
974
|
+
Join: ForwardRefExoticComponent<HeaderNaviButtonJoinProps & RefAttributes<HTMLButtonElement>>;
|
|
975
|
+
MyGov: ForwardRefExoticComponent<HeaderMyGovProps & RefAttributes<HTMLButtonElement>>;
|
|
976
|
+
Logout: ForwardRefExoticComponent<HeaderNaviButtonLogoutProps & RefAttributes<HTMLButtonElement>>;
|
|
977
|
+
};
|
|
978
|
+
MainMenu: ForwardRefExoticComponent<HeaderMainMenuProps & RefAttributes<HTMLElement>>;
|
|
979
|
+
}
|
|
980
|
+
|
|
981
|
+
export declare interface HeaderMainMenuProps extends Omit<MainMenuProps, 'mobileTrigger' | 'mobileTriggerPortalId' | 'desktopPortalId' | 'mobilePortalId' | 'mobileTriggerContainerElement'> {
|
|
982
|
+
/** 커스텀 모바일 트리거 */
|
|
983
|
+
mobileTrigger?: ReactNode;
|
|
984
|
+
/** 모바일 트리거 props */
|
|
985
|
+
mobileTriggerProps?: MobileTriggerProps;
|
|
986
|
+
/** 전체 메뉴 버튼 레이블 */
|
|
987
|
+
allMenuButtonLabel?: string;
|
|
988
|
+
}
|
|
989
|
+
|
|
990
|
+
export declare type HeaderMyGovMenuItem = (HeaderMyGovMenuItemBase & {
|
|
991
|
+
href: string;
|
|
992
|
+
} & Omit<AnchorHTMLAttributes<HTMLAnchorElement>, 'children' | 'className' | 'href'>) | (HeaderMyGovMenuItemBase & {
|
|
993
|
+
href?: undefined;
|
|
994
|
+
} & Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'children' | 'className'>);
|
|
995
|
+
|
|
996
|
+
declare type HeaderMyGovMenuItemBase = {
|
|
997
|
+
key?: Key;
|
|
998
|
+
label: ReactNode;
|
|
999
|
+
className?: string;
|
|
1000
|
+
};
|
|
1001
|
+
|
|
1002
|
+
export declare interface HeaderMyGovProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'children' | 'className' | 'name'> {
|
|
1003
|
+
/** 마이GOV 버튼 레이블 */
|
|
1004
|
+
label?: ReactNode;
|
|
1005
|
+
/** 사용자 이름 */
|
|
1006
|
+
name: ReactNode;
|
|
1007
|
+
/** 남은 시간 표시 (예: "29:30") */
|
|
1008
|
+
remainingTime?: ReactNode;
|
|
1009
|
+
/** 남은 시간 레이블 */
|
|
1010
|
+
remainingTimeLabel?: ReactNode;
|
|
1011
|
+
/** 시간 연장 버튼 레이블 */
|
|
1012
|
+
extendTimeLabel?: ReactNode;
|
|
1013
|
+
/** 시간 연장 버튼 클릭 핸들러 */
|
|
1014
|
+
onExtendTime?: () => void;
|
|
1015
|
+
/** 드롭다운 메뉴 아이템들 */
|
|
1016
|
+
items?: HeaderMyGovMenuItem[];
|
|
1017
|
+
/** 컨테이너 커스텀 클래스 */
|
|
1018
|
+
className?: string;
|
|
1019
|
+
/** 버튼 커스텀 클래스 */
|
|
1020
|
+
buttonClassName?: string;
|
|
1021
|
+
/** 드롭다운 고유 ID */
|
|
1022
|
+
dropdownId?: string;
|
|
1023
|
+
}
|
|
1024
|
+
|
|
1025
|
+
export declare type HeaderNaviButtonJoinProps = ButtonHTMLAttributes<HTMLButtonElement> & {
|
|
1026
|
+
/** 회원가입 버튼 레이블 */
|
|
1027
|
+
label?: ReactNode;
|
|
1028
|
+
};
|
|
1029
|
+
|
|
1030
|
+
export declare type HeaderNaviButtonLoginProps = ({
|
|
1031
|
+
/** 로그인 링크 URL (지정 시 <a> 태그로 렌더링) */
|
|
1032
|
+
href: string;
|
|
1033
|
+
/** 로그인 버튼 레이블 */
|
|
1034
|
+
label?: ReactNode;
|
|
1035
|
+
} & AnchorHTMLAttributes<HTMLAnchorElement>) | ({
|
|
1036
|
+
href?: undefined;
|
|
1037
|
+
/** 로그인 버튼 레이블 */
|
|
1038
|
+
label?: ReactNode;
|
|
1039
|
+
} & ButtonHTMLAttributes<HTMLButtonElement>);
|
|
1040
|
+
|
|
1041
|
+
export declare interface HeaderNaviButtonLogoutProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
1042
|
+
/** 로그아웃 버튼 내용 */
|
|
1043
|
+
children?: ReactNode;
|
|
1044
|
+
}
|
|
1045
|
+
|
|
1046
|
+
export declare interface HeaderNaviButtonSearchProps extends Omit<ComponentPropsWithoutRef<'button'>, 'children'> {
|
|
1047
|
+
/** 검색 버튼 레이블 */
|
|
1048
|
+
label?: ReactNode;
|
|
1049
|
+
/** 검색 버튼 title 속성 */
|
|
1050
|
+
title?: string;
|
|
1051
|
+
}
|
|
1052
|
+
|
|
1053
|
+
export declare interface HeaderNaviProps extends ComponentPropsWithoutRef<'div'> {
|
|
1054
|
+
/** NaviButton 컴포넌트들 */
|
|
1055
|
+
children?: ReactNode;
|
|
1056
|
+
}
|
|
1057
|
+
|
|
1058
|
+
export declare interface HeaderProps extends ComponentPropsWithRef<'header'> {
|
|
1059
|
+
/** 자식 컴포넌트들 */
|
|
1060
|
+
children?: ReactNode;
|
|
1061
|
+
/** 모바일 메뉴 트리거 Portal ID */
|
|
1062
|
+
mobileMenuTriggerPortalId?: string;
|
|
1063
|
+
/** 데스크톱 메뉴 Portal ID */
|
|
1064
|
+
desktopMenuPortalId?: string;
|
|
1065
|
+
/** 모바일 메뉴 Portal ID */
|
|
1066
|
+
mobileMenuPortalId?: string;
|
|
1067
|
+
}
|
|
1068
|
+
|
|
1069
|
+
export declare type HeaderUtilitiesProps = ComponentPropsWithoutRef<'div'> & {
|
|
1070
|
+
/** 유틸리티 아이템들 */
|
|
1071
|
+
children?: ReactNode;
|
|
1072
|
+
};
|
|
1073
|
+
|
|
1074
|
+
export declare interface HeaderUtilityDropdownProps extends Omit<DropdownProps, 'buttonText' | 'children' | 'className'> {
|
|
1075
|
+
/** 드롭다운 고유 ID */
|
|
1076
|
+
id?: string;
|
|
1077
|
+
/** 드롭다운 버튼 레이블 */
|
|
1078
|
+
label?: ReactNode;
|
|
1079
|
+
/** 드롭다운 버튼 텍스트 (label 별칭) */
|
|
1080
|
+
buttonText?: ReactNode;
|
|
1081
|
+
/** 드롭다운 아이템들 */
|
|
1082
|
+
children: ReactNode;
|
|
1083
|
+
/** 드롭다운 컨테이너 커스텀 클래스 */
|
|
1084
|
+
dropdownClassName?: string;
|
|
1085
|
+
/** 드롭다운 아이템 커스텀 클래스 */
|
|
1086
|
+
itemClassName?: string;
|
|
1087
|
+
}
|
|
1088
|
+
|
|
1089
|
+
export declare interface HeaderUtilityProps extends ComponentPropsWithoutRef<'li'> {
|
|
1090
|
+
/** 자식 컴포넌트 */
|
|
1091
|
+
children?: ReactNode;
|
|
1092
|
+
}
|
|
1093
|
+
|
|
1094
|
+
/**
|
|
1095
|
+
* KRDS HelpCoachProcess Component
|
|
1096
|
+
* @param children 코치 태스크들
|
|
1097
|
+
* @param className 사용자 정의 클래스명
|
|
1098
|
+
*/
|
|
1099
|
+
export declare const HelpCoachProcess: default_2.ForwardRefExoticComponent<{
|
|
1100
|
+
children?: default_2.ReactNode;
|
|
1101
|
+
className?: string;
|
|
1102
|
+
} & default_2.RefAttributes<HTMLUListElement>>;
|
|
1103
|
+
|
|
1104
|
+
/**
|
|
1105
|
+
* KRDS HelpCoachTask Component
|
|
1106
|
+
* @param title 태스크 제목
|
|
1107
|
+
* @param isCurrent 현재 태스크 여부
|
|
1108
|
+
* @param expandText 펼치기 버튼 텍스트
|
|
1109
|
+
* @param steps 단계 목록
|
|
1110
|
+
* @param className 사용자 정의 클래스명
|
|
1111
|
+
*/
|
|
1112
|
+
export declare const HelpCoachTask: default_2.ForwardRefExoticComponent<{
|
|
1113
|
+
title: string;
|
|
1114
|
+
isCurrent?: boolean;
|
|
1115
|
+
expandText: string;
|
|
1116
|
+
steps: string[];
|
|
1117
|
+
className?: string;
|
|
1118
|
+
} & default_2.RefAttributes<HTMLLIElement>>;
|
|
1119
|
+
|
|
1120
|
+
export declare interface HelpContent {
|
|
1121
|
+
title: string;
|
|
1122
|
+
description?: ReactNode;
|
|
1123
|
+
links?: HelpLink[];
|
|
1124
|
+
}
|
|
1125
|
+
|
|
1126
|
+
/**
|
|
1127
|
+
* KRDS HelpContentArea Component
|
|
1128
|
+
* @param children 컨텐츠 영역 내용
|
|
1129
|
+
* @param className 사용자 정의 클래스명
|
|
1130
|
+
*/
|
|
1131
|
+
export declare const HelpContentArea: default_2.ForwardRefExoticComponent<{
|
|
1132
|
+
children?: default_2.ReactNode;
|
|
1133
|
+
className?: string;
|
|
1134
|
+
} & default_2.RefAttributes<HTMLDivElement>>;
|
|
1135
|
+
|
|
1136
|
+
export declare interface HelpLink {
|
|
1137
|
+
label: string;
|
|
1138
|
+
href: string;
|
|
1139
|
+
icon?: string;
|
|
1140
|
+
iconPosition?: 'left' | 'right';
|
|
1141
|
+
external?: boolean;
|
|
1142
|
+
}
|
|
1143
|
+
|
|
1144
|
+
/**
|
|
1145
|
+
* KRDS HelpLinkList Component
|
|
1146
|
+
* @param links 링크 목록
|
|
1147
|
+
* @param iconPosition 아이콘 위치 ('left' | 'right')
|
|
1148
|
+
* @param className 사용자 정의 클래스명
|
|
1149
|
+
*/
|
|
1150
|
+
export declare const HelpLinkList: default_2.ForwardRefExoticComponent<HelpLinkListProps & default_2.RefAttributes<HTMLUListElement>>;
|
|
1151
|
+
|
|
1152
|
+
export declare interface HelpLinkListProps extends HTMLAttributes<HTMLUListElement> {
|
|
1153
|
+
/** 링크 목록 */
|
|
1154
|
+
links: Array<{
|
|
1155
|
+
text: string;
|
|
1156
|
+
href: string;
|
|
1157
|
+
target?: string;
|
|
1158
|
+
icon?: string;
|
|
1159
|
+
}>;
|
|
1160
|
+
/** 아이콘 위치 ('left' | 'right') */
|
|
1161
|
+
iconPosition?: 'left' | 'right';
|
|
1162
|
+
}
|
|
1163
|
+
|
|
1164
|
+
/**
|
|
1165
|
+
* KRDS HelpPanel Component
|
|
1166
|
+
* @param isOpen 도움말 패널 열림 상태
|
|
1167
|
+
* @param defaultOpen 비제어 상태에서 사용할 초기 열림 상태
|
|
1168
|
+
* @param onOpenChange 도움말 패널 열림/닫힘 상태 변경 핸들러
|
|
1169
|
+
* @param className 사용자 정의 클래스명
|
|
1170
|
+
*/
|
|
1171
|
+
export declare const HelpPanel: default_2.ForwardRefExoticComponent<HelpPanelProps & default_2.RefAttributes<HTMLDivElement>>;
|
|
1172
|
+
|
|
1173
|
+
/**
|
|
1174
|
+
* KRDS HelpPanelAction Component
|
|
1175
|
+
* @param children 액션 버튼들
|
|
1176
|
+
* @param className 사용자 정의 클래스명
|
|
1177
|
+
*/
|
|
1178
|
+
export declare const HelpPanelAction: default_2.ForwardRefExoticComponent<{
|
|
1179
|
+
children?: default_2.ReactNode;
|
|
1180
|
+
className?: string;
|
|
1181
|
+
} & default_2.RefAttributes<HTMLDivElement>>;
|
|
1182
|
+
|
|
1183
|
+
/**
|
|
1184
|
+
* KRDS HelpPanelClose Component
|
|
1185
|
+
* @param children 닫기 버튼 텍스트
|
|
1186
|
+
* @param className 사용자 정의 클래스명
|
|
1187
|
+
*/
|
|
1188
|
+
export declare const HelpPanelClose: default_2.ForwardRefExoticComponent<HelpPanelCloseProps & default_2.RefAttributes<HTMLButtonElement>>;
|
|
1189
|
+
|
|
1190
|
+
export declare interface HelpPanelCloseProps extends HTMLAttributes<HTMLButtonElement> {
|
|
1191
|
+
/** 닫기 버튼 텍스트 */
|
|
1192
|
+
children?: React.ReactNode;
|
|
1193
|
+
}
|
|
1194
|
+
|
|
1195
|
+
/**
|
|
1196
|
+
* KRDS HelpPanelContent Component
|
|
1197
|
+
* @param children 도움말 패널 내용
|
|
1198
|
+
* @param srOnlyTitle 스크린 리더 전용 제목
|
|
1199
|
+
* @param className 사용자 정의 클래스명
|
|
1200
|
+
*/
|
|
1201
|
+
export declare const HelpPanelContent: default_2.ForwardRefExoticComponent<HelpPanelContentProps & default_2.RefAttributes<HTMLDivElement>>;
|
|
1202
|
+
|
|
1203
|
+
export declare interface HelpPanelContentProps extends HTMLAttributes<HTMLDivElement> {
|
|
1204
|
+
/** 도움말 패널 내용 */
|
|
1205
|
+
children?: React.ReactNode;
|
|
1206
|
+
/** 스크린 리더 전용 제목 */
|
|
1207
|
+
srOnlyTitle?: string;
|
|
1208
|
+
}
|
|
1209
|
+
|
|
1210
|
+
export declare interface HelpPanelContextValue {
|
|
1211
|
+
/** 도움말 패널 열림 상태 */
|
|
1212
|
+
isOpen: boolean;
|
|
1213
|
+
/** 패널 열기 */
|
|
1214
|
+
open: () => void;
|
|
1215
|
+
/** 패널 닫기 */
|
|
1216
|
+
close: () => void;
|
|
1217
|
+
/** 패널 열림 상태 토글 */
|
|
1218
|
+
toggle: () => void;
|
|
1219
|
+
/** 패널 열림 상태 설정 */
|
|
1220
|
+
setOpen: (isOpen: boolean) => void;
|
|
1221
|
+
/** 패널 DOM id */
|
|
1222
|
+
panelId: string;
|
|
1223
|
+
/** 포커스를 복원할 대상 */
|
|
1224
|
+
lastFocusedElementRef: MutableRefObject<HTMLElement | null>;
|
|
1225
|
+
}
|
|
1226
|
+
|
|
1227
|
+
export declare interface HelpPanelProps extends HTMLAttributes<HTMLDivElement> {
|
|
1228
|
+
/** 도움말 패널 열림 상태 */
|
|
1229
|
+
isOpen?: boolean;
|
|
1230
|
+
/** 비제어 상태에서 사용할 초기 열림 상태 */
|
|
1231
|
+
defaultOpen?: boolean;
|
|
1232
|
+
/** 도움말 패널 열림/닫힘 상태 변경 핸들러 */
|
|
1233
|
+
onOpenChange?: (isOpen: boolean) => void;
|
|
1234
|
+
/** 도움말 패널 내용 */
|
|
1235
|
+
children?: React.ReactNode;
|
|
1236
|
+
}
|
|
1237
|
+
|
|
1238
|
+
/**
|
|
1239
|
+
* KRDS HelpPanelTrigger Component
|
|
1240
|
+
* @param children 트리거 버튼 텍스트
|
|
1241
|
+
* @param className 사용자 정의 클래스명
|
|
1242
|
+
*/
|
|
1243
|
+
export declare const HelpPanelTrigger: default_2.ForwardRefExoticComponent<HelpPanelTriggerProps & default_2.RefAttributes<HTMLButtonElement>>;
|
|
1244
|
+
|
|
1245
|
+
export declare interface HelpPanelTriggerProps extends HTMLAttributes<HTMLButtonElement> {
|
|
1246
|
+
/** 트리거 버튼 텍스트 */
|
|
1247
|
+
children?: React.ReactNode;
|
|
1248
|
+
}
|
|
1249
|
+
|
|
1250
|
+
/**
|
|
1251
|
+
* KRDS HelpRelatedService Component
|
|
1252
|
+
* @param children 관련 서비스 그룹들
|
|
1253
|
+
* @param className 사용자 정의 클래스명
|
|
1254
|
+
*/
|
|
1255
|
+
export declare const HelpRelatedService: default_2.ForwardRefExoticComponent<{
|
|
1256
|
+
children?: default_2.ReactNode;
|
|
1257
|
+
className?: string;
|
|
1258
|
+
} & default_2.RefAttributes<HTMLDivElement>>;
|
|
1259
|
+
|
|
1260
|
+
/**
|
|
1261
|
+
* KRDS HelpSection Component
|
|
1262
|
+
* @param title 섹션 제목
|
|
1263
|
+
* @param description 섹션 설명
|
|
1264
|
+
* @param children 섹션 내용
|
|
1265
|
+
* @param className 사용자 정의 클래스명
|
|
1266
|
+
*/
|
|
1267
|
+
export declare const HelpSection: default_2.ForwardRefExoticComponent<HelpSectionProps & default_2.RefAttributes<HTMLDivElement>>;
|
|
1268
|
+
|
|
1269
|
+
export declare interface HelpSectionProps extends HTMLAttributes<HTMLDivElement> {
|
|
1270
|
+
/** 섹션 제목 */
|
|
1271
|
+
title: string;
|
|
1272
|
+
/** 섹션 설명 */
|
|
1273
|
+
description?: string;
|
|
1274
|
+
/** 섹션 내용 */
|
|
1275
|
+
children?: React.ReactNode;
|
|
1276
|
+
}
|
|
1277
|
+
|
|
1278
|
+
/**
|
|
1279
|
+
* KRDS HelpServiceGroup Component
|
|
1280
|
+
* @param title 서비스 그룹 제목
|
|
1281
|
+
* @param children 서비스 그룹 내용
|
|
1282
|
+
* @param className 사용자 정의 클래스명
|
|
1283
|
+
*/
|
|
1284
|
+
export declare const HelpServiceGroup: default_2.ForwardRefExoticComponent<{
|
|
1285
|
+
title: string;
|
|
1286
|
+
children?: default_2.ReactNode;
|
|
1287
|
+
className?: string;
|
|
1288
|
+
} & default_2.RefAttributes<HTMLDivElement>>;
|
|
1289
|
+
|
|
1290
|
+
/**
|
|
1291
|
+
* KRDS HelpTutorialTitle Component
|
|
1292
|
+
* @param title 따라하기 제목
|
|
1293
|
+
* @param href 이전으로 돌아가기 링크
|
|
1294
|
+
* @param className 사용자 정의 클래스명
|
|
1295
|
+
*/
|
|
1296
|
+
export declare const HelpTutorialTitle: default_2.ForwardRefExoticComponent<{
|
|
1297
|
+
title: string;
|
|
1298
|
+
href?: string;
|
|
1299
|
+
className?: string;
|
|
1300
|
+
} & default_2.RefAttributes<HTMLHeadingElement>>;
|
|
1301
|
+
|
|
1302
|
+
/**
|
|
1303
|
+
* KRDS Identifier 컴포넌트
|
|
1304
|
+
* @param logoAlt 로고 alt 텍스트
|
|
1305
|
+
* @param text 식별자 텍스트
|
|
1306
|
+
* @param className 추가 커스텀 클래스
|
|
1307
|
+
*/
|
|
1308
|
+
export declare const Identifier: ForwardRefExoticComponent<IdentifierProps & RefAttributes<HTMLDivElement>>;
|
|
1309
|
+
|
|
1310
|
+
export declare interface IdentifierProps extends HTMLAttributes<HTMLDivElement> {
|
|
1311
|
+
/** 로고 alt 텍스트 */
|
|
1312
|
+
logoAlt?: string;
|
|
1313
|
+
/** 식별자 텍스트 */
|
|
1314
|
+
text?: string;
|
|
1315
|
+
}
|
|
1316
|
+
|
|
1317
|
+
/**
|
|
1318
|
+
* KRDS InPageNavigation Component
|
|
1319
|
+
* @param caption 페이지 구성 설명 텍스트
|
|
1320
|
+
* @param title 페이지 제목
|
|
1321
|
+
* @param items 네비게이션 아이템 목록
|
|
1322
|
+
* @param actionText 액션 버튼 텍스트
|
|
1323
|
+
* @param onActionClick 액션 버튼 클릭 핸들러
|
|
1324
|
+
* @param infoText 추가 정보 텍스트 (HTML 태그 지원)
|
|
1325
|
+
* @param scrollDown 스크롤 시 상단 위치 조정 여부
|
|
1326
|
+
* @param scrollContainerRef 스크롤 컨테이너 참조
|
|
1327
|
+
*/
|
|
1328
|
+
export declare const InPageNavigation: ForwardRefExoticComponent<Omit<InPageNavigationProps, "ref"> & RefAttributes<HTMLDivElement>>;
|
|
1329
|
+
|
|
1330
|
+
export declare interface InPageNavigationProps extends ComponentPropsWithRef<'div'> {
|
|
1331
|
+
/** 페이지 구성 설명 텍스트 */
|
|
1332
|
+
caption?: string;
|
|
1333
|
+
/** 페이지 제목 */
|
|
1334
|
+
title?: string;
|
|
1335
|
+
/** 네비게이션 아이템 목록 */
|
|
1336
|
+
items?: NavigationItem[];
|
|
1337
|
+
/** 액션 버튼 텍스트 */
|
|
1338
|
+
actionText?: string;
|
|
1339
|
+
/** 액션 버튼 클릭 핸들러 */
|
|
1340
|
+
onActionClick?: () => void;
|
|
1341
|
+
/** 추가 정보 텍스트 (HTML 태그 지원) */
|
|
1342
|
+
infoText?: ReactNode;
|
|
1343
|
+
/** 스크롤 시 상단 위치 조정 여부 */
|
|
1344
|
+
scrollDown?: boolean;
|
|
1345
|
+
/** 스크롤 컨테이너 참조 */
|
|
1346
|
+
scrollContainerRef?: React.RefObject<HTMLElement | null>;
|
|
1347
|
+
}
|
|
1348
|
+
|
|
1349
|
+
export declare interface LanguageOption {
|
|
1350
|
+
value: string;
|
|
1351
|
+
label: string;
|
|
1352
|
+
external?: boolean;
|
|
1353
|
+
href?: string;
|
|
1354
|
+
}
|
|
1355
|
+
|
|
1356
|
+
export declare const LanguageSwitcher: default_2.ForwardRefExoticComponent<LanguageSwitcherProps & default_2.RefAttributes<HTMLDivElement>> & {
|
|
1357
|
+
Root: default_2.ForwardRefExoticComponent<LanguageSwitcherProps & default_2.RefAttributes<HTMLDivElement>>;
|
|
1358
|
+
Trigger: default_2.ForwardRefExoticComponent<{
|
|
1359
|
+
label?: string;
|
|
1360
|
+
className?: string;
|
|
1361
|
+
} & default_2.RefAttributes<HTMLButtonElement>>;
|
|
1362
|
+
Menu: default_2.ForwardRefExoticComponent<LanguageSwitcherMenuProps & default_2.RefAttributes<HTMLDivElement>>;
|
|
1363
|
+
Current: ({ label, className }: LanguageSwitcherCurrentProps) => default_2.JSX.Element;
|
|
1364
|
+
OptionList: ({ className, ...props }: LanguageSwitcherOptionListProps) => default_2.JSX.Element;
|
|
1365
|
+
OptionItem: ({ value, label, href, external, className, ...props }: LanguageSwitcherOptionItemProps) => default_2.JSX.Element;
|
|
1366
|
+
};
|
|
1367
|
+
|
|
1368
|
+
declare type LanguageSwitcherCurrentProps = HTMLAttributes<HTMLDivElement> & {
|
|
1369
|
+
label?: string;
|
|
1370
|
+
};
|
|
1371
|
+
|
|
1372
|
+
declare type LanguageSwitcherMenuProps = HTMLAttributes<HTMLDivElement>;
|
|
1373
|
+
|
|
1374
|
+
declare type LanguageSwitcherOptionItemProps = HTMLAttributes<HTMLLIElement> & {
|
|
1375
|
+
value: string;
|
|
1376
|
+
label: string;
|
|
1377
|
+
href?: string;
|
|
1378
|
+
external?: boolean;
|
|
1379
|
+
};
|
|
1380
|
+
|
|
1381
|
+
declare type LanguageSwitcherOptionListProps = HTMLAttributes<HTMLUListElement>;
|
|
1382
|
+
|
|
1383
|
+
export declare interface LanguageSwitcherProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
|
|
1384
|
+
value?: string;
|
|
1385
|
+
defaultValue?: string;
|
|
1386
|
+
onChange?: (value: string, option: LanguageOption) => void;
|
|
1387
|
+
options?: LanguageOption[];
|
|
1388
|
+
className?: string;
|
|
1389
|
+
open?: boolean;
|
|
1390
|
+
defaultOpen?: boolean;
|
|
1391
|
+
onOpenChange?: (open: boolean) => void;
|
|
1392
|
+
closeOnClickOutside?: boolean;
|
|
1393
|
+
}
|
|
1394
|
+
|
|
1395
|
+
/**
|
|
1396
|
+
* KRDS Link 컴포넌트
|
|
1397
|
+
* @param variant 링크 스타일 타입 ('default' | 'basic')
|
|
1398
|
+
* @param underline 밑줄 표시 여부 ('always' | 'hover' | 'none')
|
|
1399
|
+
* @param preserveColorOnHover hover 시 컬러 유지 여부
|
|
1400
|
+
* @param icon 외부 링크 아이콘 또는 커스텀 아이콘
|
|
1401
|
+
* @param external 외부 링크 여부
|
|
1402
|
+
* @param size 링크 크기 ('xsmall' | 'small' | 'medium' | 'large' | 'xlarge')
|
|
1403
|
+
* @param disabled 비활성화 여부
|
|
1404
|
+
* @param children 링크 텍스트 내용
|
|
1405
|
+
* @param className 사용자 정의 클래스명
|
|
1406
|
+
*/
|
|
1407
|
+
export declare const Link: ForwardRefExoticComponent<LinkProps & RefAttributes<HTMLAnchorElement>>;
|
|
1408
|
+
|
|
1409
|
+
export declare interface LinkProps extends Omit<AnchorHTMLAttributes<HTMLAnchorElement>, 'size'> {
|
|
1410
|
+
/** 링크 스타일 타입 ('default' | 'basic') */
|
|
1411
|
+
variant?: LinkVariant;
|
|
1412
|
+
/** 밑줄 표시 여부 ('always' | 'hover' | 'none') */
|
|
1413
|
+
underline?: LinkUnderline;
|
|
1414
|
+
/** hover 시 컬러 유지 여부 (pure 클래스) */
|
|
1415
|
+
preserveColorOnHover?: boolean;
|
|
1416
|
+
/** 외부 링크 아이콘 또는 커스텀 아이콘 */
|
|
1417
|
+
icon?: ReactNode;
|
|
1418
|
+
/** 외부 링크 여부 (rel, target 자동 설정) */
|
|
1419
|
+
external?: boolean;
|
|
1420
|
+
/** 링크 크기 ('xsmall' | 'small' | 'medium' | 'large' | 'xlarge') */
|
|
1421
|
+
size?: LinkSize;
|
|
1422
|
+
/** 비활성화 여부 */
|
|
1423
|
+
disabled?: boolean;
|
|
1424
|
+
/** 링크 텍스트 내용 */
|
|
1425
|
+
children?: ReactNode;
|
|
1426
|
+
/** 사용자 정의 클래스명 */
|
|
1427
|
+
className?: string;
|
|
1428
|
+
}
|
|
1429
|
+
|
|
1430
|
+
export declare type LinkSize = 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
|
|
1431
|
+
|
|
1432
|
+
declare interface LinkTagProps extends BaseTagProps, Omit<AnchorHTMLAttributes<HTMLAnchorElement>, 'children'> {
|
|
1433
|
+
/** 태그 타입 */
|
|
1434
|
+
variant: 'link';
|
|
1435
|
+
/** 링크 URL */
|
|
1436
|
+
href: string;
|
|
1437
|
+
}
|
|
1438
|
+
|
|
1439
|
+
export declare type LinkUnderline = 'always' | 'hover' | 'none';
|
|
1440
|
+
|
|
1441
|
+
export declare type LinkVariant = 'default' | 'basic' | 'unstyled';
|
|
1442
|
+
|
|
1443
|
+
declare interface MainMenuBaseProps {
|
|
1444
|
+
desktop: DesktopMenuConfig;
|
|
1445
|
+
mobile: MobileMenuConfig;
|
|
1446
|
+
mobileTrigger?: ReactNode;
|
|
1447
|
+
onMobileMenuOpen?: () => void;
|
|
1448
|
+
onMobileMenuClose?: () => void;
|
|
1449
|
+
desktopPortalId?: string;
|
|
1450
|
+
mobilePortalId?: string;
|
|
1451
|
+
}
|
|
1452
|
+
|
|
1453
|
+
declare type MainMenuProps = MainMenuBaseProps & ({
|
|
1454
|
+
mobileTriggerPortalId: string;
|
|
1455
|
+
mobileTriggerContainerElement?: never;
|
|
1456
|
+
} | {
|
|
1457
|
+
mobileTriggerPortalId?: never;
|
|
1458
|
+
mobileTriggerContainerElement: HTMLElement;
|
|
1459
|
+
});
|
|
1460
|
+
|
|
1461
|
+
/**
|
|
1462
|
+
* KRDS Masthead Component
|
|
1463
|
+
* @param text 배너 텍스트
|
|
1464
|
+
* @param className 커스텀 클래스명
|
|
1465
|
+
*/
|
|
1466
|
+
export declare const Masthead: ForwardRefExoticComponent<MastheadProps & RefAttributes<HTMLDivElement>>;
|
|
1467
|
+
|
|
1468
|
+
export declare interface MastheadProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children'> {
|
|
1469
|
+
text: string;
|
|
1470
|
+
className?: string;
|
|
1471
|
+
}
|
|
1472
|
+
|
|
1473
|
+
declare type MobileDepth3Item = MobileDepth3Link | MobileDepth4;
|
|
1474
|
+
|
|
1475
|
+
declare interface MobileDepth3Link {
|
|
1476
|
+
type: 'link';
|
|
1477
|
+
id?: string;
|
|
1478
|
+
label: string;
|
|
1479
|
+
href: string;
|
|
1480
|
+
isExternal?: boolean;
|
|
1481
|
+
}
|
|
1482
|
+
|
|
1483
|
+
declare interface MobileDepth4 {
|
|
1484
|
+
type: 'depth4';
|
|
1485
|
+
id?: string;
|
|
1486
|
+
label: string;
|
|
1487
|
+
title: string;
|
|
1488
|
+
items: Array<{
|
|
1489
|
+
id?: string;
|
|
1490
|
+
label: string;
|
|
1491
|
+
href: string;
|
|
1492
|
+
isExternal?: boolean;
|
|
1493
|
+
}>;
|
|
1494
|
+
}
|
|
1495
|
+
|
|
1496
|
+
declare interface MobileLinkItem {
|
|
1497
|
+
id?: string;
|
|
1498
|
+
label: string;
|
|
1499
|
+
href: string;
|
|
1500
|
+
isExternal?: boolean;
|
|
1501
|
+
onClick?: () => void;
|
|
1502
|
+
}
|
|
1503
|
+
|
|
1504
|
+
declare interface MobileMainItem {
|
|
1505
|
+
id?: string;
|
|
1506
|
+
label: string;
|
|
1507
|
+
panels: MobilePanel[];
|
|
1508
|
+
}
|
|
1509
|
+
|
|
1510
|
+
declare interface MobileMenuConfig {
|
|
1511
|
+
id?: string;
|
|
1512
|
+
header?: {
|
|
1513
|
+
utilities?: MobileUtilityItem[];
|
|
1514
|
+
login?: {
|
|
1515
|
+
isLoggedIn: boolean;
|
|
1516
|
+
userName?: string;
|
|
1517
|
+
loginText?: string;
|
|
1518
|
+
logoutText?: string;
|
|
1519
|
+
onLogin?: () => void;
|
|
1520
|
+
onLogout?: () => void;
|
|
1521
|
+
};
|
|
1522
|
+
services?: MobileLinkItem[];
|
|
1523
|
+
search?: {
|
|
1524
|
+
placeholder?: string;
|
|
1525
|
+
onSearch?: (query: string) => void;
|
|
1526
|
+
};
|
|
1527
|
+
};
|
|
1528
|
+
body: {
|
|
1529
|
+
mainItems: MobileMainItem[];
|
|
1530
|
+
};
|
|
1531
|
+
bottomLinks?: MobileLinkItem[];
|
|
1532
|
+
}
|
|
1533
|
+
|
|
1534
|
+
declare interface MobilePanel {
|
|
1535
|
+
id?: string;
|
|
1536
|
+
label: string;
|
|
1537
|
+
items: MobilePanelItem[];
|
|
1538
|
+
}
|
|
1539
|
+
|
|
1540
|
+
declare interface MobilePanelDepth3 {
|
|
1541
|
+
type: 'depth3';
|
|
1542
|
+
id?: string;
|
|
1543
|
+
label: string;
|
|
1544
|
+
items: Array<MobileDepth3Item>;
|
|
1545
|
+
}
|
|
1546
|
+
|
|
1547
|
+
declare type MobilePanelItem = MobilePanelLink | MobilePanelDepth3;
|
|
1548
|
+
|
|
1549
|
+
declare interface MobilePanelLink {
|
|
1550
|
+
type: 'link';
|
|
1551
|
+
id?: string;
|
|
1552
|
+
label: string;
|
|
1553
|
+
href: string;
|
|
1554
|
+
isExternal?: boolean;
|
|
1555
|
+
}
|
|
1556
|
+
|
|
1557
|
+
declare interface MobileTriggerProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
1558
|
+
label?: string;
|
|
1559
|
+
icon?: ReactNode;
|
|
1560
|
+
}
|
|
1561
|
+
|
|
1562
|
+
declare interface MobileUtilityItem {
|
|
1563
|
+
id?: string;
|
|
1564
|
+
label: string;
|
|
1565
|
+
href?: string;
|
|
1566
|
+
onClick?: () => void;
|
|
1567
|
+
}
|
|
1568
|
+
|
|
1569
|
+
export declare const Modal: {
|
|
1570
|
+
({ children, size, variant, open, defaultOpen, onOpenChange, closeOnEsc, closeOnOverlayClick, usePortal, portalContainer }: ModalRootProps): default_2.JSX.Element;
|
|
1571
|
+
displayName: string;
|
|
1572
|
+
} & {
|
|
1573
|
+
Root: {
|
|
1574
|
+
({ children, size, variant, open, defaultOpen, onOpenChange, closeOnEsc, closeOnOverlayClick, usePortal, portalContainer }: ModalRootProps): default_2.JSX.Element;
|
|
1575
|
+
displayName: string;
|
|
1576
|
+
};
|
|
1577
|
+
Trigger: default_2.ForwardRefExoticComponent<Omit<ModalTriggerProps, "ref"> & default_2.RefAttributes<HTMLButtonElement>>;
|
|
1578
|
+
Content: default_2.ForwardRefExoticComponent<Omit<default_2.DetailedHTMLProps<default_2.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & default_2.RefAttributes<HTMLDivElement>>;
|
|
1579
|
+
Header: default_2.ForwardRefExoticComponent<Omit<ModalHeaderProps, "ref"> & default_2.RefAttributes<HTMLDivElement>>;
|
|
1580
|
+
Title: default_2.ForwardRefExoticComponent<Omit<default_2.DetailedHTMLProps<default_2.HTMLAttributes<HTMLHeadingElement>, HTMLHeadingElement>, "ref"> & default_2.RefAttributes<HTMLHeadingElement>>;
|
|
1581
|
+
Description: default_2.ForwardRefExoticComponent<Omit<default_2.DetailedHTMLProps<default_2.HTMLAttributes<HTMLParagraphElement>, HTMLParagraphElement>, "ref"> & default_2.RefAttributes<HTMLParagraphElement>>;
|
|
1582
|
+
Body: default_2.ForwardRefExoticComponent<Omit<ModalBodyProps, "ref"> & default_2.RefAttributes<HTMLDivElement>>;
|
|
1583
|
+
Footer: default_2.ForwardRefExoticComponent<Omit<default_2.DetailedHTMLProps<default_2.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & default_2.RefAttributes<HTMLDivElement>>;
|
|
1584
|
+
Close: default_2.ForwardRefExoticComponent<Omit<ModalCloseProps, "ref"> & default_2.RefAttributes<HTMLButtonElement>>;
|
|
1585
|
+
};
|
|
1586
|
+
|
|
1587
|
+
export declare type ModalBodyProps = default_2.ComponentProps<'div'> & {
|
|
1588
|
+
descriptionId?: string;
|
|
1589
|
+
};
|
|
1590
|
+
|
|
1591
|
+
export declare type ModalCloseProps = default_2.ComponentProps<'button'> & {
|
|
1592
|
+
asChild?: boolean;
|
|
1593
|
+
};
|
|
1594
|
+
|
|
1595
|
+
export declare type ModalContentProps = default_2.ComponentProps<'div'>;
|
|
1596
|
+
|
|
1597
|
+
export declare type ModalFooterProps = default_2.ComponentProps<'div'>;
|
|
1598
|
+
|
|
1599
|
+
export declare type ModalHeaderProps = default_2.ComponentProps<'div'> & {
|
|
1600
|
+
title?: default_2.ReactNode;
|
|
1601
|
+
titleId?: string;
|
|
1602
|
+
};
|
|
1603
|
+
|
|
1604
|
+
export declare type ModalOverlayProps = default_2.ComponentProps<'div'>;
|
|
1605
|
+
|
|
1606
|
+
export declare interface ModalRootProps extends PropsWithChildren {
|
|
1607
|
+
open?: boolean;
|
|
1608
|
+
defaultOpen?: boolean;
|
|
1609
|
+
onOpenChange?: (open: boolean) => void;
|
|
1610
|
+
size?: ModalSize;
|
|
1611
|
+
variant?: ModalVariant;
|
|
1612
|
+
closeOnEsc?: boolean;
|
|
1613
|
+
closeOnOverlayClick?: boolean;
|
|
1614
|
+
usePortal?: boolean;
|
|
1615
|
+
portalContainer?: string | HTMLElement;
|
|
1616
|
+
}
|
|
1617
|
+
|
|
1618
|
+
export declare type ModalSize = 'sm' | 'md' | 'lg';
|
|
1619
|
+
|
|
1620
|
+
export declare type ModalTriggerProps = default_2.ComponentProps<'button'> & {
|
|
1621
|
+
asChild?: boolean;
|
|
1622
|
+
};
|
|
1623
|
+
|
|
1624
|
+
export declare type ModalVariant = 'default' | 'bottom-sheet';
|
|
1625
|
+
|
|
1626
|
+
export declare interface NavigationItem {
|
|
1627
|
+
/** 네비게이션 링크의 href */
|
|
1628
|
+
href: string;
|
|
1629
|
+
/** 네비게이션 링크 텍스트 */
|
|
1630
|
+
label: string;
|
|
1631
|
+
/** 현재 활성화된 링크 여부 */
|
|
1632
|
+
active?: boolean;
|
|
1633
|
+
}
|
|
1634
|
+
|
|
1635
|
+
/**
|
|
1636
|
+
* KRDS Pagination Component
|
|
1637
|
+
* @param totalPages 전체 페이지 수
|
|
1638
|
+
* @param currentPage 현재 페이지 (제어)
|
|
1639
|
+
* @param defaultPage 초기 페이지 (비제어)
|
|
1640
|
+
* @param onChange 페이지 변경 핸들러
|
|
1641
|
+
* @param prevLabel 이전 버튼 레이블
|
|
1642
|
+
* @param nextLabel 다음 버튼 레이블
|
|
1643
|
+
* @param boundaryCount 경계 영역에 표시할 페이지 수 (0-3)
|
|
1644
|
+
* @param siblingCount 현재 주변 표시 페이지 수 (0-3)
|
|
1645
|
+
* @param disabled 비활성 상태
|
|
1646
|
+
* @param className 커스텀 클래스명
|
|
1647
|
+
*/
|
|
1648
|
+
export declare const Pagination: default_2.FC<PaginationProps>;
|
|
1649
|
+
|
|
1650
|
+
export declare interface PaginationProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
|
|
1651
|
+
/** 전체 페이지 수 */
|
|
1652
|
+
totalPages: number;
|
|
1653
|
+
/** 현재 페이지 (제어 상태) */
|
|
1654
|
+
currentPage?: number;
|
|
1655
|
+
/** 초기 페이지 (비제어 상태) */
|
|
1656
|
+
defaultPage?: number;
|
|
1657
|
+
/** 페이지 변경 핸들러 */
|
|
1658
|
+
onChange?: (page: number) => void;
|
|
1659
|
+
/** 이전 버튼 레이블 */
|
|
1660
|
+
prevLabel?: string;
|
|
1661
|
+
/** 다음 버튼 레이블 */
|
|
1662
|
+
nextLabel?: string;
|
|
1663
|
+
/** 경계 영역에 항상 표시할 페이지 수 (앞/뒤) */
|
|
1664
|
+
boundaryCount?: 0 | 1 | 2 | 3;
|
|
1665
|
+
/** 현재 페이지 주변에 표시할 형제 페이지 수 */
|
|
1666
|
+
siblingCount?: 0 | 1 | 2 | 3;
|
|
1667
|
+
/** 비활성 상태 */
|
|
1668
|
+
disabled?: boolean;
|
|
1669
|
+
/** 커스텀 클래스명 */
|
|
1670
|
+
className?: string;
|
|
1671
|
+
}
|
|
1672
|
+
|
|
1673
|
+
declare type PolymorphicButtonComponent = <T extends ElementType = 'button'>(props: ButtonProps<T> & {
|
|
1674
|
+
ref?: PolymorphicRef<T>;
|
|
1675
|
+
}) => default_2.ReactElement | null;
|
|
1676
|
+
|
|
1677
|
+
declare type PolymorphicRef<T extends ElementType> = ComponentPropsWithRef<T>['ref'];
|
|
1678
|
+
|
|
1679
|
+
/**
|
|
1680
|
+
* KRDS Radio 컴포넌트
|
|
1681
|
+
* @param value 라디오 버튼의 값 (RadioGroup 내에서 사용)
|
|
1682
|
+
* @param checked 선택 상태 (controlled mode)
|
|
1683
|
+
* @param defaultChecked 초기 선택 상태 (uncontrolled mode)
|
|
1684
|
+
* @param disabled 비활성화 여부
|
|
1685
|
+
* @param size 라디오 버튼 크기 ('medium' | 'large')
|
|
1686
|
+
* @param description 부가적인 설명 텍스트
|
|
1687
|
+
* @param onChange 값 변경 시 호출되는 콜백
|
|
1688
|
+
* @param className 추가 커스텀 클래스
|
|
1689
|
+
*/
|
|
1690
|
+
export declare const Radio: default_2.ForwardRefExoticComponent<RadioProps & default_2.RefAttributes<HTMLInputElement>>;
|
|
1691
|
+
|
|
1692
|
+
/**
|
|
1693
|
+
* KRDS RadioChip 컴포넌트
|
|
1694
|
+
* @param value 라디오 칩의 값 (RadioGroup 내에서 사용)
|
|
1695
|
+
* @param checked 선택 상태 (controlled mode)
|
|
1696
|
+
* @param defaultChecked 초기 선택 상태 (uncontrolled mode)
|
|
1697
|
+
* @param disabled 비활성화 여부
|
|
1698
|
+
* @param size 라디오 칩 크기 ('small' | 'medium' | 'large')
|
|
1699
|
+
* @param onChange 값 변경 시 호출되는 콜백
|
|
1700
|
+
* @param className 추가 커스텀 클래스
|
|
1701
|
+
*/
|
|
1702
|
+
export declare const RadioChip: default_2.ForwardRefExoticComponent<RadioChipProps & default_2.RefAttributes<HTMLInputElement>>;
|
|
1703
|
+
|
|
1704
|
+
export declare interface RadioChipProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'defaultValue' | 'defaultChecked'> {
|
|
1705
|
+
/** 라디오 칩 크기 */
|
|
1706
|
+
size?: RadioChipSize;
|
|
1707
|
+
/** 비제어 상태에서 사용할 초기 체크 상태 */
|
|
1708
|
+
defaultChecked?: boolean;
|
|
1709
|
+
}
|
|
1710
|
+
|
|
1711
|
+
declare type RadioChipSize = 'small' | 'medium' | 'large';
|
|
1712
|
+
|
|
1713
|
+
/**
|
|
1714
|
+
* KRDS RadioGroup 컴포넌트
|
|
1715
|
+
* @param value 라디오 그룹의 값 (controlled mode)
|
|
1716
|
+
* @param defaultValue 초기 값 (uncontrolled mode)
|
|
1717
|
+
* @param onChange 값 변경 시 호출되는 콜백
|
|
1718
|
+
* @param name 라디오 그룹의 이름
|
|
1719
|
+
* @param children Radio 또는 RadioChip 컴포넌트들
|
|
1720
|
+
* @param className 추가 커스텀 클래스
|
|
1721
|
+
* @param column 세로 배치 여부
|
|
1722
|
+
*/
|
|
1723
|
+
export declare const RadioGroup: default_2.FC<RadioGroupProps>;
|
|
1724
|
+
|
|
1725
|
+
export declare interface RadioGroupProps {
|
|
1726
|
+
/** 라디오 그룹의 값 (controlled mode) */
|
|
1727
|
+
value?: string;
|
|
1728
|
+
/** 초기 값 (uncontrolled mode) */
|
|
1729
|
+
defaultValue?: string;
|
|
1730
|
+
/** 값이 변경될 때 호출되는 콜백 */
|
|
1731
|
+
onChange?: (value: string) => void;
|
|
1732
|
+
/** 라디오 그룹의 이름 (name 속성) */
|
|
1733
|
+
name: string;
|
|
1734
|
+
/** 자식 요소들 */
|
|
1735
|
+
children: ReactNode;
|
|
1736
|
+
/** 추가 CSS 클래스 */
|
|
1737
|
+
className?: string;
|
|
1738
|
+
/** 세로 배치 여부 */
|
|
1739
|
+
column?: boolean;
|
|
1740
|
+
}
|
|
1741
|
+
|
|
1742
|
+
export declare interface RadioProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'defaultChecked'> {
|
|
1743
|
+
/** 라디오 버튼 크기 */
|
|
1744
|
+
size?: RadioSize;
|
|
1745
|
+
/** 추가 설명 텍스트 */
|
|
1746
|
+
description?: string;
|
|
1747
|
+
/** 비제어 상태에서 사용할 초기 체크 상태 */
|
|
1748
|
+
defaultChecked?: boolean;
|
|
1749
|
+
}
|
|
1750
|
+
|
|
1751
|
+
declare type RadioSize = 'medium' | 'large';
|
|
1752
|
+
|
|
1753
|
+
/**
|
|
1754
|
+
* KRDS Resize Component
|
|
1755
|
+
* @param value 현재 선택된 크기 ('sm' | 'md' | 'lg' | 'xlg' | 'xxlg')
|
|
1756
|
+
* @param defaultValue 기본 선택된 크기
|
|
1757
|
+
* @param onChange 크기 변경 시 호출되는 콜백 함수
|
|
1758
|
+
* @param buttonText 드롭다운 버튼 텍스트
|
|
1759
|
+
* @param resetText 초기화 버튼 텍스트
|
|
1760
|
+
* @param labels 각 크기 옵션의 라벨
|
|
1761
|
+
* @param className 사용자 정의 클래스명
|
|
1762
|
+
*/
|
|
1763
|
+
export declare const Resize: default_2.ForwardRefExoticComponent<ResizeProps & default_2.RefAttributes<HTMLButtonElement>>;
|
|
1764
|
+
|
|
1765
|
+
export declare interface ResizeProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'onClick' | 'onChange'> {
|
|
1766
|
+
/**
|
|
1767
|
+
* 현재 선택된 크기
|
|
1768
|
+
*/
|
|
1769
|
+
value?: ResizeScale;
|
|
1770
|
+
/**
|
|
1771
|
+
* 기본 선택된 크기
|
|
1772
|
+
*/
|
|
1773
|
+
defaultValue?: ResizeScale;
|
|
1774
|
+
/**
|
|
1775
|
+
* 크기 변경 시 호출되는 콜백 함수
|
|
1776
|
+
*/
|
|
1777
|
+
onChange?: (scale: ResizeScale) => void;
|
|
1778
|
+
/**
|
|
1779
|
+
* 드롭다운 버튼 텍스트
|
|
1780
|
+
*/
|
|
1781
|
+
buttonText?: string;
|
|
1782
|
+
/**
|
|
1783
|
+
* 초기화 버튼 텍스트
|
|
1784
|
+
*/
|
|
1785
|
+
resetText?: string;
|
|
1786
|
+
/**
|
|
1787
|
+
* 각 크기 옵션의 라벨
|
|
1788
|
+
*/
|
|
1789
|
+
labels?: {
|
|
1790
|
+
sm: string;
|
|
1791
|
+
md: string;
|
|
1792
|
+
lg: string;
|
|
1793
|
+
xlg: string;
|
|
1794
|
+
xxlg: string;
|
|
1795
|
+
};
|
|
1796
|
+
/**
|
|
1797
|
+
* 사용자 정의 클래스명
|
|
1798
|
+
*/
|
|
1799
|
+
className?: string;
|
|
1800
|
+
}
|
|
1801
|
+
|
|
1802
|
+
export declare type ResizeScale = 'sm' | 'md' | 'lg' | 'xlg' | 'xxlg';
|
|
1803
|
+
|
|
1804
|
+
export declare const Select: default_2.FC<SelectProps>;
|
|
1805
|
+
|
|
1806
|
+
export declare interface SelectOption {
|
|
1807
|
+
value: string;
|
|
1808
|
+
label: string;
|
|
1809
|
+
}
|
|
1810
|
+
|
|
1811
|
+
export declare interface SelectProps extends Omit<SelectHTMLAttributes<HTMLSelectElement>, 'size' | 'onChange'> {
|
|
1812
|
+
/** 제어 상태일 때 선택된 값 */
|
|
1813
|
+
value?: string;
|
|
1814
|
+
/** 비제어 상태일 때의 초기 선택 값 */
|
|
1815
|
+
defaultValue?: string;
|
|
1816
|
+
/** 선택 값이 변경될 때 호출되는 콜백 */
|
|
1817
|
+
onChange?: (value: string) => void;
|
|
1818
|
+
/** 선택 옵션들 */
|
|
1819
|
+
options: SelectOption[];
|
|
1820
|
+
/** 레이블 */
|
|
1821
|
+
label?: string;
|
|
1822
|
+
/** 도움말 텍스트 */
|
|
1823
|
+
hint?: string;
|
|
1824
|
+
/** 에러 메시지 */
|
|
1825
|
+
error?: string;
|
|
1826
|
+
/** Select 크기 */
|
|
1827
|
+
size?: SelectSize;
|
|
1828
|
+
/** Select 변형 */
|
|
1829
|
+
variant?: SelectVariant;
|
|
1830
|
+
}
|
|
1831
|
+
|
|
1832
|
+
export declare type SelectSize = 'small' | 'medium' | 'large';
|
|
1833
|
+
|
|
1834
|
+
export declare type SelectVariant = 'default' | 'sorting';
|
|
1835
|
+
|
|
1836
|
+
export declare const SideNavigation: ForwardRefExoticComponent<SideNavigationProps & RefAttributes<HTMLElement>> & {
|
|
1837
|
+
Title: ForwardRefExoticComponent<SideNavigationTitleProps & RefAttributes<HTMLHeadingElement>>;
|
|
1838
|
+
Menu: ForwardRefExoticComponent<SideNavigationMenuProps & RefAttributes<HTMLUListElement>>;
|
|
1839
|
+
Item: ForwardRefExoticComponent<SideNavigationItemProps & RefAttributes<HTMLLIElement>>;
|
|
1840
|
+
SubItem: ForwardRefExoticComponent<SideNavigationSubItemProps & RefAttributes<HTMLLIElement>>;
|
|
1841
|
+
Toggle: ForwardRefExoticComponent<SideNavigationToggleProps & RefAttributes<HTMLButtonElement>>;
|
|
1842
|
+
SubMenu: ForwardRefExoticComponent<SideNavigationSubMenuProps & RefAttributes<HTMLDivElement>>;
|
|
1843
|
+
Link: ForwardRefExoticComponent<SideNavigationLinkProps & RefAttributes<HTMLAnchorElement>>;
|
|
1844
|
+
PopupToggle: ForwardRefExoticComponent<SideNavigationPopupToggleProps & RefAttributes<HTMLButtonElement>>;
|
|
1845
|
+
Popup: ForwardRefExoticComponent<SideNavigationPopupProps & RefAttributes<HTMLDivElement>>;
|
|
1846
|
+
PopupTitle: ForwardRefExoticComponent<SideNavigationPopupTitleProps & RefAttributes<HTMLButtonElement>>;
|
|
1847
|
+
PopupMenu: ForwardRefExoticComponent<SideNavigationPopupMenuProps & RefAttributes<HTMLUListElement>>;
|
|
1848
|
+
};
|
|
1849
|
+
|
|
1850
|
+
export declare interface SideNavigationItemProps extends HTMLAttributes<HTMLLIElement> {
|
|
1851
|
+
/** 자식 요소들 (버튼, 링크, 서브메뉴 등) */
|
|
1852
|
+
children: React.ReactNode;
|
|
1853
|
+
/** 활성화 상태 */
|
|
1854
|
+
active?: boolean;
|
|
1855
|
+
/** 추가 CSS 클래스 */
|
|
1856
|
+
className?: string;
|
|
1857
|
+
}
|
|
1858
|
+
|
|
1859
|
+
export declare interface SideNavigationLinkProps extends Omit<AnchorHTMLAttributes<HTMLAnchorElement>, 'onClick'> {
|
|
1860
|
+
/** 링크 텍스트 */
|
|
1861
|
+
children: React.ReactNode;
|
|
1862
|
+
/** 링크 URL */
|
|
1863
|
+
href?: string;
|
|
1864
|
+
/** 현재 페이지 여부 */
|
|
1865
|
+
current?: boolean;
|
|
1866
|
+
/** 클릭 핸들러 */
|
|
1867
|
+
onClick?: () => void;
|
|
1868
|
+
/** 추가 CSS 클래스 */
|
|
1869
|
+
className?: string;
|
|
1870
|
+
}
|
|
1871
|
+
|
|
1872
|
+
export declare interface SideNavigationMenuProps extends HTMLAttributes<HTMLUListElement> {
|
|
1873
|
+
/** 자식 메뉴 아이템들 */
|
|
1874
|
+
children: React.ReactNode;
|
|
1875
|
+
/** 추가 CSS 클래스 */
|
|
1876
|
+
className?: string;
|
|
1877
|
+
}
|
|
1878
|
+
|
|
1879
|
+
export declare interface SideNavigationPopupMenuProps extends HTMLAttributes<HTMLUListElement> {
|
|
1880
|
+
/** 4depth 메뉴 아이템들 */
|
|
1881
|
+
children: React.ReactNode;
|
|
1882
|
+
/** 추가 CSS 클래스 */
|
|
1883
|
+
className?: string;
|
|
1884
|
+
}
|
|
1885
|
+
|
|
1886
|
+
export declare interface SideNavigationPopupProps extends HTMLAttributes<HTMLDivElement> {
|
|
1887
|
+
/** 팝업 내용 */
|
|
1888
|
+
children: React.ReactNode;
|
|
1889
|
+
/** 활성화 상태 */
|
|
1890
|
+
active?: boolean;
|
|
1891
|
+
/** 메뉴 ID */
|
|
1892
|
+
id?: string;
|
|
1893
|
+
/** 추가 CSS 클래스 */
|
|
1894
|
+
className?: string;
|
|
1895
|
+
}
|
|
1896
|
+
|
|
1897
|
+
export declare interface SideNavigationPopupTitleProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'onClick'> {
|
|
1898
|
+
/** 제목 텍스트 */
|
|
1899
|
+
children: React.ReactNode;
|
|
1900
|
+
/** 클릭 핸들러 */
|
|
1901
|
+
onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void;
|
|
1902
|
+
/** 추가 CSS 클래스 */
|
|
1903
|
+
className?: string;
|
|
1904
|
+
}
|
|
1905
|
+
|
|
1906
|
+
export declare interface SideNavigationPopupToggleProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'onClick'> {
|
|
1907
|
+
/** 버튼 텍스트 */
|
|
1908
|
+
children: React.ReactNode;
|
|
1909
|
+
/** 확장된 상태 */
|
|
1910
|
+
expanded?: boolean;
|
|
1911
|
+
/** 클릭 핸들러 */
|
|
1912
|
+
onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void;
|
|
1913
|
+
/** 추가 CSS 클래스 */
|
|
1914
|
+
className?: string;
|
|
1915
|
+
/** ARIA controls 속성 */
|
|
1916
|
+
'aria-controls'?: string;
|
|
1917
|
+
}
|
|
1918
|
+
|
|
1919
|
+
export declare interface SideNavigationProps extends HTMLAttributes<HTMLElement> {
|
|
1920
|
+
/** 자식 요소들 */
|
|
1921
|
+
children: React.ReactNode;
|
|
1922
|
+
/** 추가 CSS 클래스 */
|
|
1923
|
+
className?: string;
|
|
1924
|
+
}
|
|
1925
|
+
|
|
1926
|
+
export declare interface SideNavigationSubItemProps extends HTMLAttributes<HTMLLIElement> {
|
|
1927
|
+
/** 자식 요소들 */
|
|
1928
|
+
children: React.ReactNode;
|
|
1929
|
+
/** 활성화 상태 */
|
|
1930
|
+
active?: boolean;
|
|
1931
|
+
/** 추가 CSS 클래스 */
|
|
1932
|
+
className?: string;
|
|
1933
|
+
}
|
|
1934
|
+
|
|
1935
|
+
export declare interface SideNavigationSubMenuProps extends HTMLAttributes<HTMLDivElement> {
|
|
1936
|
+
/** 서브메뉴 아이템들 */
|
|
1937
|
+
children: React.ReactNode;
|
|
1938
|
+
/** 메뉴 ID */
|
|
1939
|
+
id?: string;
|
|
1940
|
+
/** 추가 CSS 클래스 */
|
|
1941
|
+
className?: string;
|
|
1942
|
+
}
|
|
1943
|
+
|
|
1944
|
+
export declare interface SideNavigationTitleProps extends HTMLAttributes<HTMLHeadingElement> {
|
|
1945
|
+
/** 제목 텍스트 */
|
|
1946
|
+
children: React.ReactNode;
|
|
1947
|
+
/** 추가 CSS 클래스 */
|
|
1948
|
+
className?: string;
|
|
1949
|
+
}
|
|
1950
|
+
|
|
1951
|
+
export declare interface SideNavigationToggleProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'onClick'> {
|
|
1952
|
+
/** 버튼 텍스트 */
|
|
1953
|
+
children: React.ReactNode;
|
|
1954
|
+
/** 활성화 상태 */
|
|
1955
|
+
active?: boolean;
|
|
1956
|
+
/** 확장된 상태 */
|
|
1957
|
+
expanded?: boolean;
|
|
1958
|
+
/** 클릭 핸들러 */
|
|
1959
|
+
onClick?: () => void;
|
|
1960
|
+
/** 추가 CSS 클래스 */
|
|
1961
|
+
className?: string;
|
|
1962
|
+
/** ARIA controls 속성 */
|
|
1963
|
+
'aria-controls'?: string;
|
|
1964
|
+
}
|
|
1965
|
+
|
|
1966
|
+
/**
|
|
1967
|
+
* KRDS SkipLink 컴포넌트
|
|
1968
|
+
* @param targetId 이동할 대상 요소 ID
|
|
1969
|
+
* @param children 링크 텍스트 내용
|
|
1970
|
+
* @param className 사용자 정의 클래스명
|
|
1971
|
+
*/
|
|
1972
|
+
export declare const SkipLink: default_2.ForwardRefExoticComponent<SkipLinkProps & default_2.RefAttributes<HTMLDivElement>>;
|
|
1973
|
+
|
|
1974
|
+
export declare interface SkipLinkProps extends Omit<HTMLAttributes<HTMLDivElement>, 'id'> {
|
|
1975
|
+
/** 이동할 대상 요소 ID */
|
|
1976
|
+
targetId?: string;
|
|
1977
|
+
/** 링크 텍스트 내용 */
|
|
1978
|
+
children?: string;
|
|
1979
|
+
/** 사용자 정의 클래스명 */
|
|
1980
|
+
className?: string;
|
|
1981
|
+
}
|
|
1982
|
+
|
|
1983
|
+
/**
|
|
1984
|
+
* KRDS Spinner 컴포넌트
|
|
1985
|
+
* @param label 스피너 옆에 표시할 텍스트
|
|
1986
|
+
* @param className 추가 커스텀 클래스
|
|
1987
|
+
* @param children input 등 자식 요소가 있을 경우 form-spinner 래퍼로 감쌈
|
|
1988
|
+
*/
|
|
1989
|
+
export declare const Spinner: default_2.FC<SpinnerProps>;
|
|
1990
|
+
|
|
1991
|
+
export declare interface SpinnerProps {
|
|
1992
|
+
label?: string;
|
|
1993
|
+
className?: string;
|
|
1994
|
+
children?: React.ReactNode;
|
|
1995
|
+
}
|
|
1996
|
+
|
|
1997
|
+
/**
|
|
1998
|
+
* KRDS StepIndicator Component
|
|
1999
|
+
* @param steps 단계 목록
|
|
2000
|
+
* @param currentStep 현재 활성 단계 인덱스 (0부터 시작, 기본값 -1)
|
|
2001
|
+
* @param currentStepText 스크린 리더용 현재 단계 텍스트
|
|
2002
|
+
* @param pageTitle 페이지 타이틀 텍스트
|
|
2003
|
+
*/
|
|
2004
|
+
export declare const StepIndicator: ForwardRefExoticComponent<StepIndicatorProps & RefAttributes<HTMLOListElement>>;
|
|
2005
|
+
|
|
2006
|
+
export declare interface StepIndicatorProps extends Omit<HTMLAttributes<HTMLOListElement>, 'children'> {
|
|
2007
|
+
/** 단계 목록 */
|
|
2008
|
+
steps: StepItem[];
|
|
2009
|
+
/** 현재 활성 단계 인덱스 (0부터 시작) */
|
|
2010
|
+
currentStep?: number;
|
|
2011
|
+
/** 스크린 리더용 현재 단계 텍스트 */
|
|
2012
|
+
currentStepText?: string;
|
|
2013
|
+
/** 페이지 타이틀 텍스트 */
|
|
2014
|
+
pageTitle?: string;
|
|
2015
|
+
}
|
|
2016
|
+
|
|
2017
|
+
export declare interface StepItem {
|
|
2018
|
+
/** 단계 번호 */
|
|
2019
|
+
step: string;
|
|
2020
|
+
/** 단계 제목 */
|
|
2021
|
+
title: string;
|
|
2022
|
+
/** 고유 식별자 (선택사항, key로 사용) */
|
|
2023
|
+
id?: string;
|
|
2024
|
+
}
|
|
2025
|
+
|
|
2026
|
+
/**
|
|
2027
|
+
* KRDS StructuredList Component
|
|
2028
|
+
* @param children 구조화 목록 아이템들
|
|
2029
|
+
* @param className 사용자 정의 클래스명
|
|
2030
|
+
*/
|
|
2031
|
+
export declare const StructuredList: ForwardRefExoticComponent<StructuredListProps & RefAttributes<HTMLUListElement>>;
|
|
2032
|
+
|
|
2033
|
+
/**
|
|
2034
|
+
* KRDS StructuredListAction Component
|
|
2035
|
+
* @param children 액션 텍스트
|
|
2036
|
+
* @param onClick 클릭 핸들러
|
|
2037
|
+
* @param href 링크 URL
|
|
2038
|
+
* @param variant 버튼 종류 ('primary' | 'secondary' | 'text')
|
|
2039
|
+
* @param title 버튼 제목
|
|
2040
|
+
* @param className 사용자 정의 클래스명
|
|
2041
|
+
*/
|
|
2042
|
+
export declare function StructuredListAction({ children, onClick, href, variant, title, className }: StructuredListActionProps): JSX_2.Element;
|
|
2043
|
+
|
|
2044
|
+
export declare interface StructuredListActionProps {
|
|
2045
|
+
children: default_2.ReactNode;
|
|
2046
|
+
onClick?: () => void;
|
|
2047
|
+
href?: string;
|
|
2048
|
+
variant?: 'primary' | 'secondary' | 'text';
|
|
2049
|
+
title?: string;
|
|
2050
|
+
className?: string;
|
|
2051
|
+
}
|
|
2052
|
+
|
|
2053
|
+
/**
|
|
2054
|
+
* KRDS StructuredListBadge Component
|
|
2055
|
+
* @param children 뱃지 텍스트
|
|
2056
|
+
* @param variant 뱃지 종류 ('filled' | 'light')
|
|
2057
|
+
* @param color 뱃지 색상 ('primary' | 'success' | 'secondary')
|
|
2058
|
+
* @param className 사용자 정의 클래스명
|
|
2059
|
+
*/
|
|
2060
|
+
export declare function StructuredListBadge({ children, variant, color, className }: StructuredListBadgeProps): JSX_2.Element;
|
|
2061
|
+
|
|
2062
|
+
export declare type StructuredListBadgeProps = BadgeProps;
|
|
2063
|
+
|
|
2064
|
+
/**
|
|
2065
|
+
* KRDS StructuredListBody Component
|
|
2066
|
+
* @param children 본문 내용
|
|
2067
|
+
* @param className 사용자 정의 클래스명
|
|
2068
|
+
*/
|
|
2069
|
+
export declare function StructuredListBody({ children, className }: StructuredListBodyProps): JSX_2.Element;
|
|
2070
|
+
|
|
2071
|
+
export declare interface StructuredListBodyProps {
|
|
2072
|
+
children: default_2.ReactNode;
|
|
2073
|
+
className?: string;
|
|
2074
|
+
}
|
|
2075
|
+
|
|
2076
|
+
/**
|
|
2077
|
+
* KRDS StructuredListButtons Component
|
|
2078
|
+
* @param children 버튼 요소들
|
|
2079
|
+
* @param className 사용자 정의 클래스명
|
|
2080
|
+
*/
|
|
2081
|
+
export declare function StructuredListButtons({ children, className }: StructuredListButtonsProps): JSX_2.Element;
|
|
2082
|
+
|
|
2083
|
+
export declare interface StructuredListButtonsProps {
|
|
2084
|
+
children: default_2.ReactNode;
|
|
2085
|
+
className?: string;
|
|
2086
|
+
}
|
|
2087
|
+
|
|
2088
|
+
/**
|
|
2089
|
+
* KRDS StructuredListContent Component
|
|
2090
|
+
* @param children 내용 요소들
|
|
2091
|
+
* @param href 링크 URL
|
|
2092
|
+
* @param className 사용자 정의 클래스명
|
|
2093
|
+
*/
|
|
2094
|
+
export declare function StructuredListContent({ children, href, className }: StructuredListContentProps): JSX_2.Element;
|
|
2095
|
+
|
|
2096
|
+
export declare interface StructuredListContentProps {
|
|
2097
|
+
children: default_2.ReactNode;
|
|
2098
|
+
href?: string;
|
|
2099
|
+
className?: string;
|
|
2100
|
+
}
|
|
2101
|
+
|
|
2102
|
+
/**
|
|
2103
|
+
* KRDS StructuredListDescription Component
|
|
2104
|
+
* @param children 설명 텍스트
|
|
2105
|
+
* @param className 사용자 정의 클래스명
|
|
2106
|
+
*/
|
|
2107
|
+
export declare function StructuredListDescription({ children, className }: StructuredListDescriptionProps): JSX_2.Element;
|
|
2108
|
+
|
|
2109
|
+
export declare interface StructuredListDescriptionProps {
|
|
2110
|
+
children: default_2.ReactNode;
|
|
2111
|
+
className?: string;
|
|
2112
|
+
}
|
|
2113
|
+
|
|
2114
|
+
/**
|
|
2115
|
+
* KRDS StructuredListFooter Component
|
|
2116
|
+
* @param children 푸터 내용
|
|
2117
|
+
* @param className 사용자 정의 클래스명
|
|
2118
|
+
*/
|
|
2119
|
+
export declare function StructuredListFooter({ children, className }: StructuredListFooterProps): JSX_2.Element;
|
|
2120
|
+
|
|
2121
|
+
export declare interface StructuredListFooterProps {
|
|
2122
|
+
children: default_2.ReactNode;
|
|
2123
|
+
className?: string;
|
|
2124
|
+
}
|
|
2125
|
+
|
|
2126
|
+
/**
|
|
2127
|
+
* KRDS StructuredListHeader Component
|
|
2128
|
+
* @param children 헤더 내용
|
|
2129
|
+
* @param className 사용자 정의 클래스명
|
|
2130
|
+
*/
|
|
2131
|
+
export declare function StructuredListHeader({ children, className }: StructuredListHeaderProps): JSX_2.Element;
|
|
2132
|
+
|
|
2133
|
+
export declare interface StructuredListHeaderProps {
|
|
2134
|
+
children: default_2.ReactNode;
|
|
2135
|
+
className?: string;
|
|
2136
|
+
}
|
|
2137
|
+
|
|
2138
|
+
/**
|
|
2139
|
+
* KRDS StructuredListItem Component
|
|
2140
|
+
* @param children 구조화 목록 아이템 내용
|
|
2141
|
+
* @param className 사용자 정의 클래스명
|
|
2142
|
+
*/
|
|
2143
|
+
export declare const StructuredListItem: ForwardRefExoticComponent<StructuredListItemProps & RefAttributes<HTMLLIElement>>;
|
|
2144
|
+
|
|
2145
|
+
export declare interface StructuredListItemProps {
|
|
2146
|
+
children: default_2.ReactNode;
|
|
2147
|
+
className?: string;
|
|
2148
|
+
}
|
|
2149
|
+
|
|
2150
|
+
/**
|
|
2151
|
+
* KRDS StructuredListMeta Component
|
|
2152
|
+
* @param label 메타 레이블
|
|
2153
|
+
* @param children 메타 값
|
|
2154
|
+
* @param className 사용자 정의 클래스명
|
|
2155
|
+
*/
|
|
2156
|
+
export declare function StructuredListMeta({ label, children, className }: StructuredListMetaProps): JSX_2.Element;
|
|
2157
|
+
|
|
2158
|
+
export declare interface StructuredListMetaProps {
|
|
2159
|
+
label?: string;
|
|
2160
|
+
children: default_2.ReactNode;
|
|
2161
|
+
className?: string;
|
|
2162
|
+
}
|
|
2163
|
+
|
|
2164
|
+
export declare interface StructuredListProps {
|
|
2165
|
+
children: default_2.ReactNode;
|
|
2166
|
+
className?: string;
|
|
2167
|
+
}
|
|
2168
|
+
|
|
2169
|
+
/**
|
|
2170
|
+
* KRDS StructuredListTag Component
|
|
2171
|
+
* @param children 태그 텍스트
|
|
2172
|
+
* @param className 사용자 정의 클래스명
|
|
2173
|
+
*/
|
|
2174
|
+
export declare function StructuredListTag({ children, className }: StructuredListTagProps): JSX_2.Element;
|
|
2175
|
+
|
|
2176
|
+
export declare interface StructuredListTagProps {
|
|
2177
|
+
children: default_2.ReactNode;
|
|
2178
|
+
className?: string;
|
|
2179
|
+
}
|
|
2180
|
+
|
|
2181
|
+
/**
|
|
2182
|
+
* KRDS StructuredListTitle Component
|
|
2183
|
+
* @param children 제목 텍스트
|
|
2184
|
+
* @param className 사용자 정의 클래스명
|
|
2185
|
+
*/
|
|
2186
|
+
export declare function StructuredListTitle({ children, className }: StructuredListTitleProps): JSX_2.Element;
|
|
2187
|
+
|
|
2188
|
+
export declare interface StructuredListTitleProps {
|
|
2189
|
+
children: default_2.ReactNode;
|
|
2190
|
+
className?: string;
|
|
2191
|
+
}
|
|
2192
|
+
|
|
2193
|
+
/**
|
|
2194
|
+
* KRDS Tab Root Component
|
|
2195
|
+
* @param value 활성 탭 값 (제어 모드)
|
|
2196
|
+
* @param defaultValue 기본 활성 탭 값 (비제어 모드)
|
|
2197
|
+
* @param onValueChange 탭 변경 콜백
|
|
2198
|
+
* @param variant 탭 변형 ('line' | 'fill')
|
|
2199
|
+
* @param size 탭 크기 ('normal' | 'full')
|
|
2200
|
+
* @param children 자식 컴포넌트
|
|
2201
|
+
* @param className 커스텀 클래스명
|
|
2202
|
+
*/
|
|
2203
|
+
export declare const Tab: default_2.ForwardRefExoticComponent<TabProps & default_2.RefAttributes<HTMLDivElement>>;
|
|
2204
|
+
|
|
2205
|
+
export declare const TabContent: default_2.ForwardRefExoticComponent<TabContentProps & default_2.RefAttributes<HTMLDivElement>>;
|
|
2206
|
+
|
|
2207
|
+
export declare interface TabContentProps extends HTMLAttributes<HTMLDivElement> {
|
|
2208
|
+
/** 자식 컴포넌트 */
|
|
2209
|
+
children: ReactNode;
|
|
2210
|
+
/** 커스텀 클래스명 */
|
|
2211
|
+
className?: string;
|
|
2212
|
+
}
|
|
2213
|
+
|
|
2214
|
+
export declare const Table: ForwardRefExoticComponent<TableProps & RefAttributes<HTMLTableElement>> & {
|
|
2215
|
+
Caption: ForwardRefExoticComponent<TableCaptionProps & RefAttributes<HTMLElement>>;
|
|
2216
|
+
Colgroup: ForwardRefExoticComponent<TableColgroupProps & RefAttributes<HTMLTableColElement>>;
|
|
2217
|
+
Col: ForwardRefExoticComponent<TableColProps & RefAttributes<HTMLTableColElement>>;
|
|
2218
|
+
Thead: ForwardRefExoticComponent<TableTheadProps & RefAttributes<HTMLTableSectionElement>>;
|
|
2219
|
+
Tbody: ForwardRefExoticComponent<TableTbodyProps & RefAttributes<HTMLTableSectionElement>>;
|
|
2220
|
+
TFoot: ForwardRefExoticComponent<TableTFootProps & RefAttributes<HTMLTableSectionElement>>;
|
|
2221
|
+
Tr: ForwardRefExoticComponent<TableTrProps & RefAttributes<HTMLTableRowElement>>;
|
|
2222
|
+
Th: ForwardRefExoticComponent<TableThProps & RefAttributes<HTMLTableCellElement>>;
|
|
2223
|
+
Td: ForwardRefExoticComponent<TableTdProps & RefAttributes<HTMLTableCellElement>>;
|
|
2224
|
+
};
|
|
2225
|
+
|
|
2226
|
+
export declare type TableCaptionProps = default_2.HTMLAttributes<HTMLElement>;
|
|
2227
|
+
|
|
2228
|
+
export declare type TableColgroupProps = default_2.ColgroupHTMLAttributes<HTMLTableColElement>;
|
|
2229
|
+
|
|
2230
|
+
export declare type TableColProps = default_2.ColHTMLAttributes<HTMLTableColElement>;
|
|
2231
|
+
|
|
2232
|
+
export declare interface TableProps extends default_2.TableHTMLAttributes<HTMLTableElement> {
|
|
2233
|
+
/** enables horizontal scroll */
|
|
2234
|
+
scroll?: boolean;
|
|
2235
|
+
/** enables mobile scroll */
|
|
2236
|
+
mobScroll?: boolean;
|
|
2237
|
+
}
|
|
2238
|
+
|
|
2239
|
+
export declare type TableTbodyProps = default_2.HTMLAttributes<HTMLTableSectionElement>;
|
|
2240
|
+
|
|
2241
|
+
export declare type TableTdProps = default_2.TdHTMLAttributes<HTMLTableCellElement>;
|
|
2242
|
+
|
|
2243
|
+
declare type TableTFootProps = default_2.HTMLAttributes<HTMLTableSectionElement>;
|
|
2244
|
+
|
|
2245
|
+
export declare type TableTheadProps = default_2.HTMLAttributes<HTMLTableSectionElement>;
|
|
2246
|
+
|
|
2247
|
+
export declare type TableThProps = default_2.ThHTMLAttributes<HTMLTableCellElement>;
|
|
2248
|
+
|
|
2249
|
+
export declare type TableTrProps = default_2.HTMLAttributes<HTMLTableRowElement>;
|
|
2250
|
+
|
|
2251
|
+
/**
|
|
2252
|
+
* KRDS TabList Component
|
|
2253
|
+
* @param children 자식 컴포넌트 (TabTrigger들)
|
|
2254
|
+
* @param className 커스텀 클래스명
|
|
2255
|
+
*/
|
|
2256
|
+
export declare const TabList: default_2.ForwardRefExoticComponent<TabListProps & default_2.RefAttributes<HTMLUListElement>>;
|
|
2257
|
+
|
|
2258
|
+
export declare interface TabListProps extends HTMLAttributes<HTMLUListElement> {
|
|
2259
|
+
/** 자식 컴포넌트 (TabTrigger들) */
|
|
2260
|
+
children?: ReactNode;
|
|
2261
|
+
/** 커스텀 클래스명 */
|
|
2262
|
+
className?: string;
|
|
2263
|
+
}
|
|
2264
|
+
|
|
2265
|
+
/**
|
|
2266
|
+
* KRDS TabPanel Component
|
|
2267
|
+
* @param value 탭 값
|
|
2268
|
+
* @param children 자식 컴포넌트
|
|
2269
|
+
* @param className 커스텀 클래스명
|
|
2270
|
+
*/
|
|
2271
|
+
export declare const TabPanel: default_2.ForwardRefExoticComponent<TabPanelProps & default_2.RefAttributes<HTMLElement>>;
|
|
2272
|
+
|
|
2273
|
+
export declare interface TabPanelProps extends HTMLAttributes<HTMLElement> {
|
|
2274
|
+
/** 탭 식별자 */
|
|
2275
|
+
value: string;
|
|
2276
|
+
/** 자식 컴포넌트 */
|
|
2277
|
+
children: ReactNode;
|
|
2278
|
+
/** 커스텀 클래스명 */
|
|
2279
|
+
className?: string;
|
|
2280
|
+
}
|
|
2281
|
+
|
|
2282
|
+
export declare interface TabProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
|
|
2283
|
+
/** 활성 탭 값 (제어 모드) */
|
|
2284
|
+
value?: string;
|
|
2285
|
+
/** 기본 활성 탭 값 (비제어 모드) */
|
|
2286
|
+
defaultValue?: string;
|
|
2287
|
+
/** 탭 변경 콜백 */
|
|
2288
|
+
onValueChange?: (value: string) => void;
|
|
2289
|
+
/** 탭 변형 ('line' | 'fill') */
|
|
2290
|
+
variant?: TabVariant;
|
|
2291
|
+
/** 탭 크기 ('normal' | 'full') */
|
|
2292
|
+
size?: TabSize;
|
|
2293
|
+
/** 자식 컴포넌트 */
|
|
2294
|
+
children: ReactNode;
|
|
2295
|
+
/** 커스텀 클래스명 */
|
|
2296
|
+
className?: string;
|
|
2297
|
+
}
|
|
2298
|
+
|
|
2299
|
+
export declare type TabSize = 'normal' | 'full';
|
|
2300
|
+
|
|
2301
|
+
/**
|
|
2302
|
+
* KRDS TabTrigger Component
|
|
2303
|
+
* @param value 탭 값
|
|
2304
|
+
* @param children 자식 컴포넌트
|
|
2305
|
+
* @param className 커스텀 클래스명
|
|
2306
|
+
*/
|
|
2307
|
+
export declare const TabTrigger: default_2.ForwardRefExoticComponent<TabTriggerProps & default_2.RefAttributes<HTMLButtonElement>>;
|
|
2308
|
+
|
|
2309
|
+
export declare interface TabTriggerProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'value'> {
|
|
2310
|
+
/** 탭 식별자 */
|
|
2311
|
+
value: string;
|
|
2312
|
+
/** 자식 컴포넌트 */
|
|
2313
|
+
children: ReactNode;
|
|
2314
|
+
/** 커스텀 클래스명 */
|
|
2315
|
+
className?: string;
|
|
2316
|
+
}
|
|
2317
|
+
|
|
2318
|
+
export declare type TabVariant = 'line' | 'fill';
|
|
2319
|
+
|
|
2320
|
+
/**
|
|
2321
|
+
* KRDS Tag Component
|
|
2322
|
+
* @param variant tag type ('deletable' | 'link')
|
|
2323
|
+
* @param onDelete delete button click handler
|
|
2324
|
+
* @param deleteDisabled delete button disabled state
|
|
2325
|
+
* @param className custom class name
|
|
2326
|
+
*/
|
|
2327
|
+
export declare const Tag: default_2.ForwardRefExoticComponent<TagProps & default_2.RefAttributes<HTMLSpanElement | HTMLAnchorElement>>;
|
|
2328
|
+
|
|
2329
|
+
export declare type TagProps = DeletableTagProps | LinkTagProps;
|
|
2330
|
+
|
|
2331
|
+
export declare type TagSize = 'small' | 'medium' | 'large';
|
|
2332
|
+
|
|
2333
|
+
/**
|
|
2334
|
+
* KRDS TagWrap Component
|
|
2335
|
+
* @param size tag group size ('small' | 'medium' | 'large')
|
|
2336
|
+
* @param className custom class name
|
|
2337
|
+
*/
|
|
2338
|
+
export declare const TagWrap: default_2.ForwardRefExoticComponent<TagWrapProps & default_2.RefAttributes<HTMLDivElement>>;
|
|
2339
|
+
|
|
2340
|
+
export declare interface TagWrapProps extends HTMLAttributes<HTMLDivElement> {
|
|
2341
|
+
/** 태그들 */
|
|
2342
|
+
children: ReactNode;
|
|
2343
|
+
/** 태그 크기 */
|
|
2344
|
+
size?: TagSize;
|
|
2345
|
+
/** 커스텀 클래스명 */
|
|
2346
|
+
className?: string;
|
|
2347
|
+
}
|
|
2348
|
+
|
|
2349
|
+
/**
|
|
2350
|
+
* KRDS Textarea Component
|
|
2351
|
+
* @param value 제어 상태일 때 입력된 값
|
|
2352
|
+
* @param defaultValue 비제어 상태일 때의 초기 값
|
|
2353
|
+
* @param onChange 입력 값이 변경될 때 호출되는 콜백
|
|
2354
|
+
* @param label 레이블
|
|
2355
|
+
* @param countTotal 글자수 총합 표시값
|
|
2356
|
+
* @param maxLength 최대 글자수
|
|
2357
|
+
* @param showCount 글자수 카운터 표시 여부
|
|
2358
|
+
* @param disabled disabled 상태
|
|
2359
|
+
* @param readOnly readOnly 상태
|
|
2360
|
+
* @param className custom class name
|
|
2361
|
+
*/
|
|
2362
|
+
export declare const Textarea: default_2.FC<TextareaProps>;
|
|
2363
|
+
|
|
2364
|
+
export declare interface TextareaProps extends Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, 'onChange' | 'value' | 'defaultValue'> {
|
|
2365
|
+
/** 입력 값이 변경될 때 호출되는 콜백 */
|
|
2366
|
+
onChange?: (value: string) => void;
|
|
2367
|
+
/** 레이블 */
|
|
2368
|
+
label?: string;
|
|
2369
|
+
/** 글자수 카운터 표시 여부 */
|
|
2370
|
+
showCount?: boolean;
|
|
2371
|
+
/** 글자수 총합 표시값 */
|
|
2372
|
+
countTotal?: number;
|
|
2373
|
+
/** 제어 상태일 때 입력된 값 */
|
|
2374
|
+
value?: string;
|
|
2375
|
+
/** 비제어 상태일 때의 초기 값 */
|
|
2376
|
+
defaultValue?: string;
|
|
2377
|
+
}
|
|
2378
|
+
|
|
2379
|
+
/**
|
|
2380
|
+
* KRDS TextInput Component
|
|
2381
|
+
* @param value 제어 상태일 때 입력된 값
|
|
2382
|
+
* @param defaultValue 비제어 상태일 때의 초기 값
|
|
2383
|
+
* @param onChange 입력 값이 변경될 때 호출되는 콜백
|
|
2384
|
+
* @param label 레이블
|
|
2385
|
+
* @param hint 도움말 텍스트
|
|
2386
|
+
* @param error 에러 메시지
|
|
2387
|
+
* @param success 성공 메시지
|
|
2388
|
+
* @param information 정보 메시지
|
|
2389
|
+
* @param size 입력 필드 크기 ('small' | 'medium' | 'large' | 'xlarge')
|
|
2390
|
+
* @param showPasswordToggle 비밀번호 보기/숨기기 버튼 표시 여부
|
|
2391
|
+
* @param showClearButton 삭제 버튼 표시 여부
|
|
2392
|
+
* @param type 입력 필드 타입
|
|
2393
|
+
* @param disabled disabled 상태
|
|
2394
|
+
* @param readOnly readOnly 상태
|
|
2395
|
+
* @param className custom class name
|
|
2396
|
+
*/
|
|
2397
|
+
export declare const TextInput: ForwardRefExoticComponent<TextInputProps & RefAttributes<HTMLInputElement>>;
|
|
2398
|
+
|
|
2399
|
+
export declare interface TextInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'onChange' | 'value' | 'defaultValue' | 'size'> {
|
|
2400
|
+
/** 입력 값이 변경될 때 호출되는 콜백 */
|
|
2401
|
+
onChange?: (value: string) => void;
|
|
2402
|
+
/** 레이블 */
|
|
2403
|
+
label?: string;
|
|
2404
|
+
/** 도움말 텍스트 */
|
|
2405
|
+
hint?: string;
|
|
2406
|
+
/** 에러 메시지 */
|
|
2407
|
+
error?: string;
|
|
2408
|
+
/** 성공 메시지 */
|
|
2409
|
+
success?: string;
|
|
2410
|
+
/** 정보 메시지 */
|
|
2411
|
+
information?: string;
|
|
2412
|
+
/** 입력 필드 크기 ('small' | 'medium' | 'large') */
|
|
2413
|
+
size?: 'small' | 'medium' | 'large';
|
|
2414
|
+
/** 제어 상태일 때 입력된 값 */
|
|
2415
|
+
value?: string;
|
|
2416
|
+
/** 비제어 상태일 때의 초기 값 */
|
|
2417
|
+
defaultValue?: string;
|
|
2418
|
+
/** 비밀번호 보기/숨기기 버튼 표시 여부 */
|
|
2419
|
+
showPasswordToggle?: boolean;
|
|
2420
|
+
/** 삭제 버튼 표시 여부 */
|
|
2421
|
+
showClearButton?: boolean;
|
|
2422
|
+
}
|
|
2423
|
+
|
|
2424
|
+
/**
|
|
2425
|
+
* KRDS TextList Component
|
|
2426
|
+
* @param type 텍스트 목록 타입 ('decimal' | 'dash' | 'hollow' | 'ordered')
|
|
2427
|
+
* @param children 자식 요소
|
|
2428
|
+
* @param className 커스텀 클래스명
|
|
2429
|
+
*/
|
|
2430
|
+
export declare const TextList: ForwardRefExoticComponent<TextListProps & RefAttributes<HTMLOListElement | HTMLUListElement>>;
|
|
2431
|
+
|
|
2432
|
+
/**
|
|
2433
|
+
* KRDS TextListItem Component
|
|
2434
|
+
* @param children 자식 요소
|
|
2435
|
+
* @param className 커스텀 클래스명
|
|
2436
|
+
* @param number 번호 (ordered 타입에서 사용)
|
|
2437
|
+
*/
|
|
2438
|
+
export declare const TextListItem: ForwardRefExoticComponent<TextListItemProps & RefAttributes<HTMLLIElement>>;
|
|
2439
|
+
|
|
2440
|
+
export declare interface TextListItemProps extends HTMLAttributes<HTMLLIElement> {
|
|
2441
|
+
/** 자식 요소 */
|
|
2442
|
+
children?: ReactNode;
|
|
2443
|
+
/** 커스텀 클래스명 */
|
|
2444
|
+
className?: string;
|
|
2445
|
+
/** 번호 (ordered 타입에서 사용) */
|
|
2446
|
+
number?: string;
|
|
2447
|
+
}
|
|
2448
|
+
|
|
2449
|
+
export declare interface TextListProps extends Omit<HTMLAttributes<HTMLUListElement | HTMLOListElement>, 'type'> {
|
|
2450
|
+
/** 텍스트 목록 타입 */
|
|
2451
|
+
type?: TextListType;
|
|
2452
|
+
/** 자식 요소 */
|
|
2453
|
+
children?: ReactNode;
|
|
2454
|
+
/** 커스텀 클래스명 */
|
|
2455
|
+
className?: string;
|
|
2456
|
+
}
|
|
2457
|
+
|
|
2458
|
+
export declare type TextListType = 'decimal' | 'dash' | 'hollow' | 'ordered';
|
|
2459
|
+
|
|
2460
|
+
/**
|
|
2461
|
+
* KRDS ToggleSwitch Component
|
|
2462
|
+
* @param size 토글 스위치 크기 ('medium' | 'large')
|
|
2463
|
+
* @param label 토글 스위치 라벨 텍스트
|
|
2464
|
+
* @param checked 체크 상태 (제어된 컴포넌트)
|
|
2465
|
+
* @param defaultChecked 기본 체크 상태 (비제어 컴포넌트)
|
|
2466
|
+
* @param onChange 값 변경 핸들러
|
|
2467
|
+
* @param className 추가 CSS 클래스명
|
|
2468
|
+
*/
|
|
2469
|
+
export declare const ToggleSwitch: default_2.ForwardRefExoticComponent<ToggleSwitchProps & default_2.RefAttributes<HTMLInputElement>>;
|
|
2470
|
+
|
|
2471
|
+
export declare interface ToggleSwitchProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'type' | 'onChange'> {
|
|
2472
|
+
/**
|
|
2473
|
+
* 토글 스위치 크기
|
|
2474
|
+
*/
|
|
2475
|
+
size?: ToggleSwitchSize;
|
|
2476
|
+
/**
|
|
2477
|
+
* 토글 스위치 라벨 텍스트
|
|
2478
|
+
*/
|
|
2479
|
+
label?: string;
|
|
2480
|
+
/**
|
|
2481
|
+
* 값 변경 핸들러
|
|
2482
|
+
*/
|
|
2483
|
+
onChange?: (checked: boolean, event: React.ChangeEvent<HTMLInputElement>) => void;
|
|
2484
|
+
}
|
|
2485
|
+
|
|
2486
|
+
export declare type ToggleSwitchSize = 'medium' | 'large';
|
|
2487
|
+
|
|
2488
|
+
/**
|
|
2489
|
+
* KRDS Tooltip Component
|
|
2490
|
+
* @param text 툴팁에 표시될 텍스트
|
|
2491
|
+
* @param variant 툴팁 방향 ('vertical' | 'horizontal' | 'box')
|
|
2492
|
+
* @param className 추가 클래스명
|
|
2493
|
+
*/
|
|
2494
|
+
export declare const Tooltip: default_2.ForwardRefExoticComponent<TooltipProps & default_2.RefAttributes<HTMLElement>>;
|
|
2495
|
+
|
|
2496
|
+
export declare interface TooltipProps {
|
|
2497
|
+
children: ReactNode;
|
|
2498
|
+
text: string;
|
|
2499
|
+
variant?: 'horizontal' | 'vertical' | 'box';
|
|
2500
|
+
className?: string;
|
|
2501
|
+
}
|
|
2502
|
+
|
|
2503
|
+
export declare const TutorialPanel: ForwardRefExoticComponent<TutorialPanelRootProps & RefAttributes<HTMLDivElement>> & {
|
|
2504
|
+
Root: ForwardRefExoticComponent<TutorialPanelRootProps & RefAttributes<HTMLDivElement>>;
|
|
2505
|
+
Trigger: ForwardRefExoticComponent<TutorialPanelTriggerProps & RefAttributes<HTMLButtonElement>>;
|
|
2506
|
+
Container: ForwardRefExoticComponent<TutorialPanelContainerProps & RefAttributes<HTMLDivElement>>;
|
|
2507
|
+
Tabs: ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & RefAttributes<HTMLDivElement>>;
|
|
2508
|
+
TabPanel: ForwardRefExoticComponent<TutorialPanelTabContentProps & RefAttributes<HTMLElement>>;
|
|
2509
|
+
HelpContent: ForwardRefExoticComponent<TutorialPanelHelpContentProps & RefAttributes<HTMLDivElement>>;
|
|
2510
|
+
TutorialContent: ForwardRefExoticComponent<TutorialPanelTutorialContentProps & RefAttributes<HTMLDivElement>>;
|
|
2511
|
+
Close: ForwardRefExoticComponent<TutorialPanelCloseProps & RefAttributes<HTMLButtonElement>>;
|
|
2512
|
+
};
|
|
2513
|
+
|
|
2514
|
+
export declare interface TutorialPanelCloseProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
2515
|
+
children?: ReactNode;
|
|
2516
|
+
}
|
|
2517
|
+
|
|
2518
|
+
export declare interface TutorialPanelContainerProps extends HTMLAttributes<HTMLDivElement> {
|
|
2519
|
+
children: ReactNode;
|
|
2520
|
+
}
|
|
2521
|
+
|
|
2522
|
+
export declare interface TutorialPanelHelpContentProps extends HTMLAttributes<HTMLDivElement> {
|
|
2523
|
+
helpContent?: HelpContent;
|
|
2524
|
+
relatedServices?: HelpContent[];
|
|
2525
|
+
}
|
|
2526
|
+
|
|
2527
|
+
export declare interface TutorialPanelRootProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onToggle'> {
|
|
2528
|
+
isOpen?: boolean;
|
|
2529
|
+
onOpenChange?: (isOpen: boolean) => void;
|
|
2530
|
+
activeTab?: 'help' | 'tutorial';
|
|
2531
|
+
defaultActiveTab?: 'help' | 'tutorial';
|
|
2532
|
+
onTabChange?: (tab: 'help' | 'tutorial') => void;
|
|
2533
|
+
children: ReactNode;
|
|
2534
|
+
}
|
|
2535
|
+
|
|
2536
|
+
export declare interface TutorialPanelTabContentProps extends HTMLAttributes<HTMLElement> {
|
|
2537
|
+
value: 'help' | 'tutorial';
|
|
2538
|
+
children: ReactNode;
|
|
2539
|
+
}
|
|
2540
|
+
|
|
2541
|
+
export declare interface TutorialPanelTriggerProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
2542
|
+
children?: ReactNode;
|
|
2543
|
+
}
|
|
2544
|
+
|
|
2545
|
+
export declare interface TutorialPanelTutorialContentProps extends HTMLAttributes<HTMLDivElement> {
|
|
2546
|
+
title?: string;
|
|
2547
|
+
steps?: TutorialStep[];
|
|
2548
|
+
onTutorialStop?: () => void;
|
|
2549
|
+
stopButtonText?: string;
|
|
2550
|
+
}
|
|
2551
|
+
|
|
2552
|
+
export declare interface TutorialStep {
|
|
2553
|
+
title: string;
|
|
2554
|
+
current?: boolean;
|
|
2555
|
+
steps?: string[];
|
|
2556
|
+
content?: ReactNode;
|
|
2557
|
+
}
|
|
2558
|
+
|
|
2559
|
+
export declare const useHelpPanelContext: () => HelpPanelContextValue | null;
|
|
2560
|
+
|
|
2561
|
+
export { }
|