@likelion-design/ui 1.0.2 → 1.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/colors.css.css +1 -1
- package/dist/colors.css.css.map +1 -1
- package/dist/index.css +1 -1
- package/dist/index.css.map +1 -1
- package/dist/index.d.mts +222 -72
- package/dist/index.d.ts +222 -72
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.d.mts
CHANGED
|
@@ -10,8 +10,10 @@ interface ActionButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonEl
|
|
|
10
10
|
size?: ButtonSize;
|
|
11
11
|
/** 버튼 색상 (primary, neutral, secondary) */
|
|
12
12
|
color?: ButtonColor;
|
|
13
|
-
/** 버튼 타입 (solid, outline, ghost, weak) */
|
|
13
|
+
/** 버튼 스타일 타입 (solid, outline, ghost, weak) */
|
|
14
14
|
type?: ButtonType;
|
|
15
|
+
/** HTML 버튼 타입 (button, submit, reset) */
|
|
16
|
+
htmlType?: "button" | "submit" | "reset";
|
|
15
17
|
/** 버튼 상태 */
|
|
16
18
|
state?: ButtonState;
|
|
17
19
|
/** 버튼 텍스트 */
|
|
@@ -24,7 +26,7 @@ interface ActionButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonEl
|
|
|
24
26
|
loading?: boolean;
|
|
25
27
|
}
|
|
26
28
|
/** ActionButton 컴포넌트는 사용자가 어떠한 액션을 트리거하거나 이벤트를 실행할 때 사용한다. */
|
|
27
|
-
declare const ActionButton: ({ size, color, type, state, label, prefixIcon, suffixIcon, loading, className, disabled, ...props }: ActionButtonProps) => react_jsx_runtime.JSX.Element;
|
|
29
|
+
declare const ActionButton: ({ size, color, type, htmlType, state, label, prefixIcon, suffixIcon, loading, className, disabled, ...props }: ActionButtonProps) => react_jsx_runtime.JSX.Element;
|
|
28
30
|
|
|
29
31
|
type IconButtonSize = "xlarge" | "large" | "medium" | "small";
|
|
30
32
|
/** 버튼 색상. solid/outline: primary | neutral | secondary. weak: primary | neutral-dark | neutral-light */
|
|
@@ -136,18 +138,23 @@ interface ChipProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>,
|
|
|
136
138
|
selectedValues?: string[];
|
|
137
139
|
/** Chip 라벨 */
|
|
138
140
|
label: React.ReactNode;
|
|
139
|
-
/** Prefix 아이콘 */
|
|
141
|
+
/** Prefix 아이콘 (항상 표시) */
|
|
140
142
|
prefixIcon?: React.ReactNode;
|
|
141
143
|
/** Suffix 아이콘 */
|
|
142
144
|
suffixIcon?: React.ReactNode;
|
|
145
|
+
/**
|
|
146
|
+
* Checked 상태일 때 체크 아이콘 표시 여부
|
|
147
|
+
* - 기본값: undefined (outline 타입이고 prefixIcon이 없을 때만 자동 표시)
|
|
148
|
+
* - true: 항상 표시 (checked 상태일 때)
|
|
149
|
+
* - false: 표시 안 함
|
|
150
|
+
*/
|
|
151
|
+
showCheck?: boolean;
|
|
143
152
|
/** Close 버튼 표시 여부 */
|
|
144
153
|
showClose?: boolean;
|
|
145
154
|
/** Close 버튼 클릭 핸들러 */
|
|
146
155
|
onClose?: (e: React.MouseEvent<HTMLButtonElement>) => void;
|
|
147
156
|
}
|
|
148
|
-
|
|
149
|
-
declare const Chip: ({ type, size, variant, value, onChange, checked: checkedProp, defaultChecked, selectedValue, selectedValues, label, prefixIcon, suffixIcon, showClose, onClose, className, disabled, onClick, ...props }: ChipProps) => react_jsx_runtime.JSX.Element;
|
|
150
|
-
interface ChipGroupProps {
|
|
157
|
+
interface ChipGroupProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onChange"> {
|
|
151
158
|
/** 선택된 값 (controlled) - 단일: string, 다중: string[] */
|
|
152
159
|
value?: string | string[];
|
|
153
160
|
/** 초기 선택 값 (uncontrolled) */
|
|
@@ -162,18 +169,27 @@ interface ChipGroupProps {
|
|
|
162
169
|
size?: ChipSize;
|
|
163
170
|
/** Chip variant */
|
|
164
171
|
variant?: ChipVariant;
|
|
172
|
+
/** 체크 아이콘 표시 여부 (자식 Chip에 일괄 적용) */
|
|
173
|
+
showCheck?: boolean;
|
|
165
174
|
/** 전체 비활성화 */
|
|
166
175
|
disabled?: boolean;
|
|
167
176
|
/** 자식 Chip 컴포넌트들 */
|
|
168
177
|
children: React.ReactNode;
|
|
169
|
-
/** 추가 CSS 클래스명 */
|
|
170
|
-
className?: string;
|
|
171
178
|
}
|
|
172
179
|
/** Chip.Group은 여러 Chip을 그룹화하여 단일/다중 선택을 관리한다. */
|
|
173
180
|
declare const ChipGroup: {
|
|
174
|
-
({ value: valueProp, defaultValue, onChange, multiple, type, size, variant, disabled, children, className, }: ChipGroupProps): react_jsx_runtime.JSX.Element;
|
|
181
|
+
({ value: valueProp, defaultValue, onChange, multiple, type, size, variant, showCheck, disabled, children, className, ...rest }: ChipGroupProps): react_jsx_runtime.JSX.Element;
|
|
175
182
|
displayName: string;
|
|
176
183
|
};
|
|
184
|
+
declare const Chip: {
|
|
185
|
+
({ type, size, variant, value, onChange, checked: checkedProp, defaultChecked, selectedValue, selectedValues, label, prefixIcon, suffixIcon, showCheck, showClose, onClose, className, disabled, onClick, ...props }: ChipProps): react_jsx_runtime.JSX.Element;
|
|
186
|
+
displayName: string;
|
|
187
|
+
} & {
|
|
188
|
+
Group: {
|
|
189
|
+
({ value: valueProp, defaultValue, onChange, multiple, type, size, variant, showCheck, disabled, children, className, ...rest }: ChipGroupProps): react_jsx_runtime.JSX.Element;
|
|
190
|
+
displayName: string;
|
|
191
|
+
};
|
|
192
|
+
};
|
|
177
193
|
|
|
178
194
|
type DialogAlign = "center" | "left";
|
|
179
195
|
type DialogFooterLayout = "horizontal" | "vertical";
|
|
@@ -181,75 +197,120 @@ type DialogVariant = "alert" | "confirm";
|
|
|
181
197
|
type DialogActionColor = ButtonColor;
|
|
182
198
|
type DialogActionType = ButtonType;
|
|
183
199
|
type DialogActionSize = Exclude<ButtonSize, "xlarge">;
|
|
184
|
-
|
|
185
|
-
|
|
200
|
+
/** 기존 방식의 Action Item 정의 */
|
|
201
|
+
interface DialogActionItem {
|
|
202
|
+
label: string;
|
|
203
|
+
color?: DialogActionColor;
|
|
204
|
+
type?: DialogActionType;
|
|
205
|
+
size?: DialogActionSize;
|
|
206
|
+
prefixIcon?: React.ReactNode;
|
|
207
|
+
suffixIcon?: React.ReactNode;
|
|
208
|
+
loading?: boolean;
|
|
209
|
+
disabled?: boolean;
|
|
210
|
+
onClick?: () => void | Promise<void>;
|
|
211
|
+
/** 클릭 시 다이얼로그 닫기 여부 (기본값: true) */
|
|
212
|
+
closeOnClick?: boolean;
|
|
213
|
+
}
|
|
214
|
+
interface DialogProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "title" | "content"> {
|
|
186
215
|
open?: boolean;
|
|
187
|
-
|
|
216
|
+
onClose?: () => void;
|
|
217
|
+
/** 오버레이 클릭 시 닫기 여부 (기본값: true) */
|
|
218
|
+
closeOnOverlayClick?: boolean;
|
|
219
|
+
/** ESC 키로 닫기 여부 (기본값: true) */
|
|
220
|
+
closeOnEsc?: boolean;
|
|
221
|
+
/** 다이얼로그 타입 (스타일링용) */
|
|
188
222
|
variant?: DialogVariant;
|
|
189
|
-
/**
|
|
223
|
+
/** 정렬 (기본값: variant가 alert면 left, 아니면 center) */
|
|
190
224
|
align?: DialogAlign;
|
|
191
|
-
/**
|
|
225
|
+
/** 다이얼로그 제목 */
|
|
192
226
|
title?: React.ReactNode;
|
|
193
|
-
/**
|
|
227
|
+
/** 다이얼로그 본문/설명 */
|
|
194
228
|
description?: React.ReactNode;
|
|
195
|
-
/** 아이콘 */
|
|
229
|
+
/** 다이얼로그 아이콘 */
|
|
196
230
|
icon?: React.ReactNode;
|
|
197
|
-
/** 하단
|
|
231
|
+
/** 하단 버튼 목록 (Compound Component 대신 사용 가능) */
|
|
198
232
|
actionItems?: DialogActionItem[];
|
|
199
|
-
/**
|
|
233
|
+
/** actionItems 사용 시 버튼 레이아웃 */
|
|
200
234
|
footerLayout?: DialogFooterLayout;
|
|
201
|
-
/**
|
|
202
|
-
|
|
235
|
+
/** 커스텀 컨텐츠 (헤더/푸터 없이 내용만 렌더링할 때 사용) */
|
|
236
|
+
content?: React.ReactNode;
|
|
237
|
+
className?: string;
|
|
238
|
+
children?: React.ReactNode;
|
|
203
239
|
}
|
|
204
|
-
interface
|
|
205
|
-
|
|
240
|
+
interface DialogHeaderProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "title"> {
|
|
241
|
+
title?: React.ReactNode;
|
|
242
|
+
icon?: React.ReactNode;
|
|
243
|
+
}
|
|
244
|
+
type DialogBodyProps = React.HTMLAttributes<HTMLDivElement>;
|
|
245
|
+
interface DialogFooterProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
246
|
+
layout?: DialogFooterLayout;
|
|
247
|
+
}
|
|
248
|
+
interface DialogButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "type"> {
|
|
206
249
|
label: string;
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
type?: DialogActionType;
|
|
211
|
-
/** 버튼 크기 */
|
|
212
|
-
size?: DialogActionSize;
|
|
213
|
-
/** Prefix 아이콘 */
|
|
250
|
+
color?: ButtonColor;
|
|
251
|
+
type?: ButtonType;
|
|
252
|
+
size?: Exclude<ButtonSize, "xlarge">;
|
|
214
253
|
prefixIcon?: React.ReactNode;
|
|
215
|
-
/** Suffix 아이콘 */
|
|
216
254
|
suffixIcon?: React.ReactNode;
|
|
217
|
-
/** 로딩 상태 */
|
|
218
255
|
loading?: boolean;
|
|
219
|
-
/** 비활성화 */
|
|
220
256
|
disabled?: boolean;
|
|
221
|
-
/** 클릭
|
|
222
|
-
onClick?: () => void;
|
|
223
|
-
/** 클릭 시 다이얼로그 닫기 */
|
|
257
|
+
/** 클릭 시 다이얼로그 닫기 여부 (기본값: false - 명시적으로 닫아야 함) */
|
|
224
258
|
closeOnClick?: boolean;
|
|
225
259
|
}
|
|
226
|
-
|
|
227
|
-
|
|
260
|
+
declare const Dialog: (({ open, onClose, closeOnOverlayClick, closeOnEsc, variant, align, title, description, icon, actionItems, footerLayout, content, className, children, ...props }: DialogProps) => React.ReactPortal | null) & {
|
|
261
|
+
Header: ({ title, icon, className, children, ...props }: DialogHeaderProps) => react_jsx_runtime.JSX.Element;
|
|
262
|
+
Body: ({ className, children, ...props }: DialogBodyProps) => react_jsx_runtime.JSX.Element;
|
|
263
|
+
Footer: ({ layout, className, children, ...props }: DialogFooterProps) => react_jsx_runtime.JSX.Element;
|
|
264
|
+
Button: ({ label, color, type, size, prefixIcon, suffixIcon, loading, disabled, onClick, closeOnClick, style, ...props }: DialogButtonProps) => react_jsx_runtime.JSX.Element;
|
|
265
|
+
};
|
|
266
|
+
interface DialogOptions {
|
|
267
|
+
id?: string;
|
|
268
|
+
variant?: DialogVariant;
|
|
269
|
+
align?: DialogAlign;
|
|
270
|
+
title?: React.ReactNode;
|
|
271
|
+
description?: React.ReactNode;
|
|
272
|
+
icon?: React.ReactNode;
|
|
273
|
+
buttons?: DialogActionItem[];
|
|
274
|
+
content?: React.ReactNode;
|
|
228
275
|
onClose?: () => void;
|
|
229
|
-
/** 오버레이 클릭 시 닫기 */
|
|
230
276
|
closeOnOverlayClick?: boolean;
|
|
231
|
-
/** ESC 키로 닫기 */
|
|
232
277
|
closeOnEsc?: boolean;
|
|
233
278
|
}
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
}
|
|
279
|
+
interface AlertOptions extends Omit<DialogOptions, "buttons" | "content"> {
|
|
280
|
+
confirmLabel?: string;
|
|
281
|
+
onConfirm?: () => void | Promise<void>;
|
|
282
|
+
}
|
|
283
|
+
interface ConfirmOptions extends Omit<DialogOptions, "buttons" | "content"> {
|
|
284
|
+
confirmLabel?: string;
|
|
285
|
+
cancelLabel?: string;
|
|
286
|
+
onConfirm?: () => void | Promise<void>;
|
|
287
|
+
onCancel?: () => void | Promise<void>;
|
|
288
|
+
}
|
|
289
|
+
interface DialogContextType {
|
|
290
|
+
open: (options: DialogOptions) => string;
|
|
291
|
+
close: (id: string) => void;
|
|
292
|
+
closeAll: () => void;
|
|
293
|
+
alert: (options: AlertOptions) => Promise<void>;
|
|
294
|
+
confirm: (options: ConfirmOptions) => Promise<boolean>;
|
|
295
|
+
}
|
|
296
|
+
declare const DialogProvider: ({ children }: {
|
|
297
|
+
children: React.ReactNode;
|
|
298
|
+
}) => react_jsx_runtime.JSX.Element;
|
|
299
|
+
declare function useDialog(): DialogContextType;
|
|
244
300
|
|
|
245
|
-
type TextInputSize = "pc" | "mo";
|
|
301
|
+
type TextInputSize = "pc" | "mo" | "medium" | "small";
|
|
246
302
|
type TextInputState = "default" | "error";
|
|
247
303
|
interface TextInputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, "size" | "title"> {
|
|
248
304
|
/** Title 텍스트 (있으면 표시) */
|
|
249
305
|
title?: string;
|
|
250
306
|
/** 필수 필드 표시 여부 */
|
|
251
307
|
required?: boolean;
|
|
252
|
-
/**
|
|
308
|
+
/**
|
|
309
|
+
* Input 크기
|
|
310
|
+
* - "pc" / "mo": 디바이스 기반 네이밍
|
|
311
|
+
* - "medium" / "small": 스토리/디자인 토큰 기반 네이밍 (pc ↔ medium, mo ↔ small)
|
|
312
|
+
* 미지정 시 breakpoint 기준: tablet 미만 mo(small), 이상 pc(medium). 지정 시 오버라이드
|
|
313
|
+
*/
|
|
253
314
|
size?: TextInputSize;
|
|
254
315
|
/** Input 상태 (에러 상태) */
|
|
255
316
|
error?: boolean;
|
|
@@ -685,6 +746,13 @@ interface SelectMenuItem {
|
|
|
685
746
|
interface SelectMenuProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onChange"> {
|
|
686
747
|
/** 메뉴 항목들 */
|
|
687
748
|
items: SelectMenuItem[];
|
|
749
|
+
/**
|
|
750
|
+
* 메뉴 사이즈
|
|
751
|
+
* - "medium": Web~Tab 권장 사이즈
|
|
752
|
+
* - "small": Mo 권장 사이즈
|
|
753
|
+
* - 지정하지 않으면 breakpoint에 따라 자동 결정됨.
|
|
754
|
+
*/
|
|
755
|
+
size?: "medium" | "small";
|
|
688
756
|
/** 선택된 값 (controlled) */
|
|
689
757
|
value?: string | string[];
|
|
690
758
|
/** 초기 선택 값 (uncontrolled) */
|
|
@@ -721,9 +789,17 @@ declare const SelectMenuOverlay: {
|
|
|
721
789
|
};
|
|
722
790
|
|
|
723
791
|
type SelectHeaderType = "outlined" | "underlined";
|
|
792
|
+
type SelectHeaderSize = "medium" | "small";
|
|
724
793
|
interface SelectHeaderProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "type" | "onChange" | "value"> {
|
|
725
794
|
/** SelectHeader 타입 */
|
|
726
795
|
type?: SelectHeaderType;
|
|
796
|
+
/**
|
|
797
|
+
* SelectHeader 사이즈
|
|
798
|
+
* - "medium": Web~Tab 권장 사이즈
|
|
799
|
+
* - "small": Mo 권장 사이즈
|
|
800
|
+
* - 지정하지 않으면 breakpoint에 따라 자동 결정됨.
|
|
801
|
+
*/
|
|
802
|
+
size?: SelectHeaderSize;
|
|
727
803
|
/** Title 텍스트 */
|
|
728
804
|
title?: string;
|
|
729
805
|
/** 필수 필드 표시 여부 */
|
|
@@ -754,10 +830,81 @@ interface SelectHeaderProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonEl
|
|
|
754
830
|
onChange?: (value: string | string[] | undefined) => void;
|
|
755
831
|
/** 다중 선택 허용 여부 (items 있을 때) */
|
|
756
832
|
multiple?: boolean;
|
|
833
|
+
/** 클리어 버튼 표시 여부 (미지정 시 hasValue && !disabled && (onChange|onClear) 기준 자동) */
|
|
834
|
+
showClear?: boolean;
|
|
835
|
+
/** 래퍼(Wrapper)에 적용할 클래스 이름 */
|
|
836
|
+
wrapperClassName?: string;
|
|
837
|
+
/** 래퍼(Wrapper)에 적용할 인라인 스타일 */
|
|
838
|
+
wrapperStyle?: React.CSSProperties;
|
|
839
|
+
/** 너비 설정 (예: "100%", "300px"). 설정 시 max-width 제한이 해제됨 */
|
|
840
|
+
width?: string | number;
|
|
841
|
+
/** SelectMenu에 전달: 항목 텍스트 스타일 오버라이드 */
|
|
842
|
+
menuItemTextProps?: SelectMenuProps["itemTextProps"];
|
|
843
|
+
/** SelectMenu에 전달: 선택된 항목 suffix 아이콘 */
|
|
844
|
+
menuSuffixIcon?: SelectMenuProps["suffixIcon"];
|
|
845
|
+
/** 헤더와 메뉴 사이 간격 (px, 기본 8) */
|
|
846
|
+
menuGap?: number;
|
|
847
|
+
/** SelectMenu에 전달: className */
|
|
848
|
+
menuClassName?: string;
|
|
849
|
+
/** SelectMenu에 전달: style */
|
|
850
|
+
menuStyle?: React.CSSProperties;
|
|
757
851
|
}
|
|
758
852
|
/** SelectHeader 컴포넌트는 선택된 값을 표시하고 드롭다운을 여는 헤더 컴포넌트다. items를 주면 클릭 시 메뉴가 열린다. */
|
|
759
853
|
declare const SelectHeader: React.ForwardRefExoticComponent<SelectHeaderProps & React.RefAttributes<HTMLButtonElement>>;
|
|
760
854
|
|
|
855
|
+
type SelectBoxType = "default" | "label" | "placeholder";
|
|
856
|
+
type SelectBoxSize = "small" | "medium" | "large" | "full";
|
|
857
|
+
type SelectBoxState = "default" | "active" | "disabled" | "error" | "success" | "loading";
|
|
858
|
+
/** root/header/menu별 className 또는 전체 적용 */
|
|
859
|
+
type SelectBoxClassName = string | {
|
|
860
|
+
root?: string;
|
|
861
|
+
header?: string;
|
|
862
|
+
menu?: string;
|
|
863
|
+
};
|
|
864
|
+
/** root/header/menu별 style 또는 전체 적용 */
|
|
865
|
+
type SelectBoxStyle = React.CSSProperties | {
|
|
866
|
+
root?: React.CSSProperties;
|
|
867
|
+
header?: React.CSSProperties;
|
|
868
|
+
menu?: React.CSSProperties;
|
|
869
|
+
};
|
|
870
|
+
/** SelectBox 전용 props (label는 SelectHeader title에 매핑) */
|
|
871
|
+
type SelectBoxSpecificProps = {
|
|
872
|
+
/** SelectBox 타입 (Default: 라벨 없음, Label: 라벨 있음, Placeholder: 라벨+플레이스홀더) */
|
|
873
|
+
type?: SelectBoxType;
|
|
874
|
+
/** SelectBox 사이즈 */
|
|
875
|
+
size?: SelectBoxSize;
|
|
876
|
+
/** SelectBox 상태 */
|
|
877
|
+
state?: SelectBoxState;
|
|
878
|
+
/** 라벨 텍스트 (SelectHeader title에 매핑) */
|
|
879
|
+
label?: string;
|
|
880
|
+
/** Helper text (에러/성공 시 표시) */
|
|
881
|
+
helperText?: string;
|
|
882
|
+
/**
|
|
883
|
+
* className: 문자열이면 root에 적용, 객체면 root/header/menu 각각 적용
|
|
884
|
+
* @example className="w-12"
|
|
885
|
+
* @example className={{ root: "w-12", header: "border-red-500", menu: "border-red-500" }}
|
|
886
|
+
*/
|
|
887
|
+
className?: SelectBoxClassName;
|
|
888
|
+
/**
|
|
889
|
+
* style: 객체면 root/header/menu 각각 적용
|
|
890
|
+
* @example style={{ root: { width: 48 }, header: { borderColor: "red" }, menu: { borderColor: "red" } }}
|
|
891
|
+
*/
|
|
892
|
+
style?: SelectBoxStyle;
|
|
893
|
+
};
|
|
894
|
+
/** SelectHeader에서 SelectBox가 오버라이드하는 props 제외 */
|
|
895
|
+
type SelectHeaderPassThrough = Omit<SelectHeaderProps, "type" | "size" | "title" | "disabled" | "error" | "description" | "accentIcon" | "icon" | "wrapperClassName" | "menuClassName" | "menuStyle" | "style" | "className"> & {
|
|
896
|
+
/** SelectHeader 타입 (outlined | underlined) */
|
|
897
|
+
headerType?: SelectHeaderType;
|
|
898
|
+
};
|
|
899
|
+
/** SelectMenu props (SelectHeader menuItemTextProps, menuSuffixIcon로 전달) */
|
|
900
|
+
type SelectMenuPassThrough = Pick<SelectMenuProps, "itemTextProps" | "suffixIcon">;
|
|
901
|
+
type SelectBoxProps = SelectBoxSpecificProps & SelectHeaderPassThrough & SelectMenuPassThrough;
|
|
902
|
+
/** SelectBox는 SelectHeader와 SelectMenu를 하나로 통합한 컴포넌트로, 미리 정의된 목록에서 항목을 선택하도록 돕습니다. */
|
|
903
|
+
declare const SelectBox: {
|
|
904
|
+
({ type, size, state, label, required, placeholder, items, value, defaultValue, onChange, multiple, helperText, className, style, width, headerType, onClear, showClear, wrapperStyle, onClick, id, itemTextProps, suffixIcon, ...restHeaderProps }: SelectBoxProps): react_jsx_runtime.JSX.Element;
|
|
905
|
+
displayName: string;
|
|
906
|
+
};
|
|
907
|
+
|
|
761
908
|
type PaginationType = "basic" | "compact";
|
|
762
909
|
interface PaginationProps {
|
|
763
910
|
/** 총 페이지 수 (1 이상) */
|
|
@@ -947,43 +1094,46 @@ interface ToastOptions {
|
|
|
947
1094
|
/** 좌우 여백 */
|
|
948
1095
|
horizontalPadding?: number;
|
|
949
1096
|
}
|
|
1097
|
+
interface ToastContextType {
|
|
1098
|
+
showToast: (message: string, options?: ToastOptions) => void;
|
|
1099
|
+
hideToast: (id: string) => void;
|
|
1100
|
+
}
|
|
950
1101
|
/**
|
|
951
|
-
*
|
|
1102
|
+
* ToastProvider
|
|
952
1103
|
*
|
|
953
|
-
*
|
|
954
|
-
*
|
|
955
|
-
|
|
956
|
-
|
|
1104
|
+
* 앱의 최상위(Root)에 선언하여 전역 Toast 기능을 제공합니다.
|
|
1105
|
+
* Portal을 사용하여 document.body에 Toast를 렌더링합니다.
|
|
1106
|
+
*/
|
|
1107
|
+
declare const ToastProvider: ({ children }: {
|
|
1108
|
+
children: React.ReactNode;
|
|
1109
|
+
}) => react_jsx_runtime.JSX.Element;
|
|
1110
|
+
/**
|
|
1111
|
+
* useToast Hook
|
|
957
1112
|
*
|
|
958
|
-
*
|
|
959
|
-
*
|
|
1113
|
+
* ToastProvider 내부의 컴포넌트에서 호출하여 사용합니다.
|
|
1114
|
+
* { showToast } 함수를 반환합니다.
|
|
960
1115
|
*
|
|
961
|
-
*
|
|
962
|
-
*
|
|
963
|
-
*
|
|
964
|
-
* {ToastContainer}
|
|
1116
|
+
* @example
|
|
1117
|
+
* const { showToast } = useToast();
|
|
1118
|
+
* showToast("메시지", { state: "success" });
|
|
965
1119
|
*/
|
|
966
|
-
declare function useToast():
|
|
967
|
-
showToast: (message: string, options?: ToastOptions) => void;
|
|
968
|
-
hideToast: (id: string) => void;
|
|
969
|
-
ToastContainer: react_jsx_runtime.JSX.Element | null;
|
|
970
|
-
};
|
|
1120
|
+
declare function useToast(): ToastContextType;
|
|
971
1121
|
|
|
972
1122
|
type LogoType = "likelion-eng" | "likelion-kr" | "bootcamp" | "symbol" | "favicon" | "og-image";
|
|
973
|
-
type
|
|
1123
|
+
type LogoColor = "primary" | "black" | "white";
|
|
974
1124
|
type LogoSize = "large" | "medium" | "small" | "favicon" | "og-image";
|
|
975
1125
|
interface LogoProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
976
1126
|
/** 로고 타입 */
|
|
977
1127
|
type?: LogoType;
|
|
978
|
-
/** 로고 색상
|
|
979
|
-
|
|
1128
|
+
/** 로고 색상 */
|
|
1129
|
+
color?: LogoColor;
|
|
980
1130
|
/** 로고 크기 */
|
|
981
1131
|
size?: LogoSize;
|
|
982
1132
|
/** 서비스 타입 (og-image용) */
|
|
983
1133
|
service?: "likelion" | "bootcamp";
|
|
984
1134
|
}
|
|
985
1135
|
/** Logo 컴포넌트는 브랜드 아이덴티티를 표현하는 로고 컴포넌트다. */
|
|
986
|
-
declare const Logo: ({ type,
|
|
1136
|
+
declare const Logo: ({ type, color, size, service, className, ...props }: LogoProps) => react_jsx_runtime.JSX.Element;
|
|
987
1137
|
|
|
988
1138
|
interface BreakpointContextType {
|
|
989
1139
|
isMobile?: boolean;
|
|
@@ -1045,4 +1195,4 @@ declare const LAYOUT_SYSTEM: {
|
|
|
1045
1195
|
};
|
|
1046
1196
|
};
|
|
1047
1197
|
|
|
1048
|
-
export { ActionButton, type ActionButtonProps, BREAKPOINTS, Badge, type BadgeProps, type BadgeType, type BadgeVariant, BreakpointProvider, ActionButton as Button, type ButtonColor, type ActionButtonProps as ButtonProps, type ButtonSize, type ButtonState, type ButtonType, Checkbox, CheckboxGroup, type CheckboxGroupProps, type CheckboxProps, Chip, ChipGroup, type ChipGroupProps, type ChipProps, type ChipSize, type ChipType, type ChipVariant, Dialog, type DialogActionColor, type DialogActionItem, type DialogActionSize, type DialogActionType, type DialogAlign, type DialogFooterLayout, type
|
|
1198
|
+
export { ActionButton, type ActionButtonProps, type AlertOptions, BREAKPOINTS, Badge, type BadgeProps, type BadgeType, type BadgeVariant, BreakpointProvider, ActionButton as Button, type ButtonColor, type ActionButtonProps as ButtonProps, type ButtonSize, type ButtonState, type ButtonType, Checkbox, CheckboxGroup, type CheckboxGroupProps, type CheckboxProps, Chip, ChipGroup, type ChipGroupProps, type ChipProps, type ChipSize, type ChipType, type ChipVariant, type ConfirmOptions, Dialog, type DialogActionColor, type DialogActionItem, type DialogActionSize, type DialogActionType, type DialogAlign, type DialogFooterLayout, type DialogOptions, type DialogProps, DialogProvider, type DialogVariant, IconButton, type IconButtonColor, type IconButtonProps, type IconButtonSize, type IconButtonState, type IconButtonType, LAYOUT_SYSTEM, Logo, type LogoColor, type LogoProps, type LogoSize, type LogoType, MEDIA_QUERIES, Pagination, type PaginationProps, RadioButton, RadioButtonGroup, type RadioButtonGroupProps, type RadioButtonProps, SelectBox, type SelectBoxClassName, type SelectBoxProps, type SelectBoxSize, type SelectBoxState, type SelectBoxStyle, type SelectBoxType, SelectHeader, type SelectHeaderProps, type SelectHeaderSize, type SelectHeaderType, SelectMenu, type SelectMenuItem, SelectMenuOverlay, type SelectMenuOverlayProps, type SelectMenuProps, TAILWIND_SCREENS, Tab, TabGroup, type TabGroupProps, type TabProps, type TabSize, type TabType, Tag, type TagProps, type TagSize, type TagState, type TagType, Text, type TextDecoration, TextInput, type TextInputProps, type TextInputSize, type TextInputState, type TextProps, type TextVariant, Toast, type ToastHorizontalAlign, type ToastOptions, type ToastPosition, type ToastProps, ToastProvider, type ToastSize, type ToastState, Toggle, type ToggleProps, type ToggleSize, Tooltip, type TooltipPosition, type TooltipProps, type TooltipType, type UseCheckboxGroupOptions, type UseCheckboxGroupResult, useBreakpoint, useCheckboxGroup, useDialog, useMediaQuery, useToast };
|