@likelion-design/ui 1.0.4 → 1.0.7
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/README.md +10 -0
- package/dist/bootcamp-black-HQ5XAYV3.svg +12 -0
- package/dist/bootcamp-primary-H6NGWAZO.svg +12 -0
- package/dist/bootcamp-white-XZIU3P5F.svg +12 -0
- package/dist/colors.css.css +1 -1
- package/dist/colors.css.css.map +1 -1
- package/dist/favicon-black-J4BEQLLU.svg +16 -0
- package/dist/favicon-primary-CFPI57CU.svg +8 -0
- package/dist/index.css +1 -1
- package/dist/index.css.map +1 -1
- package/dist/index.d.mts +89 -13
- package/dist/index.d.ts +89 -13
- 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/dist/likelion-eng-black-4SX2R7NN.svg +5 -0
- package/dist/likelion-eng-primary-CJG3E2VB.svg +5 -0
- package/dist/likelion-eng-white-Y5UFQG4I.svg +5 -0
- package/dist/likelion-kr-black-ZEA5772C.svg +12 -0
- package/dist/likelion-kr-primary-62X7DUP7.svg +12 -0
- package/dist/likelion-kr-white-ST7I4FW3.svg +12 -0
- package/dist/symbol-black-2T7FXCLT.svg +12 -0
- package/dist/symbol-primary-ZRQGWUW5.svg +12 -0
- package/dist/symbol-white-B3EDKUWQ.svg +12 -0
- package/package.json +1 -1
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,10 +138,17 @@ 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 버튼 클릭 핸들러 */
|
|
@@ -160,6 +169,8 @@ interface ChipGroupProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onC
|
|
|
160
169
|
size?: ChipSize;
|
|
161
170
|
/** Chip variant */
|
|
162
171
|
variant?: ChipVariant;
|
|
172
|
+
/** 체크 아이콘 표시 여부 (자식 Chip에 일괄 적용) */
|
|
173
|
+
showCheck?: boolean;
|
|
163
174
|
/** 전체 비활성화 */
|
|
164
175
|
disabled?: boolean;
|
|
165
176
|
/** 자식 Chip 컴포넌트들 */
|
|
@@ -167,15 +178,15 @@ interface ChipGroupProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onC
|
|
|
167
178
|
}
|
|
168
179
|
/** Chip.Group은 여러 Chip을 그룹화하여 단일/다중 선택을 관리한다. */
|
|
169
180
|
declare const ChipGroup: {
|
|
170
|
-
({ value: valueProp, defaultValue, onChange, multiple, type, size, variant, disabled, children, className, ...rest }: 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;
|
|
171
182
|
displayName: string;
|
|
172
183
|
};
|
|
173
184
|
declare const Chip: {
|
|
174
|
-
({ 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;
|
|
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;
|
|
175
186
|
displayName: string;
|
|
176
187
|
} & {
|
|
177
188
|
Group: {
|
|
178
|
-
({ value: valueProp, defaultValue, onChange, multiple, type, size, variant, disabled, children, className, ...rest }: ChipGroupProps): react_jsx_runtime.JSX.Element;
|
|
189
|
+
({ value: valueProp, defaultValue, onChange, multiple, type, size, variant, showCheck, disabled, children, className, ...rest }: ChipGroupProps): react_jsx_runtime.JSX.Element;
|
|
179
190
|
displayName: string;
|
|
180
191
|
};
|
|
181
192
|
};
|
|
@@ -246,7 +257,7 @@ interface DialogButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonEl
|
|
|
246
257
|
/** 클릭 시 다이얼로그 닫기 여부 (기본값: false - 명시적으로 닫아야 함) */
|
|
247
258
|
closeOnClick?: boolean;
|
|
248
259
|
}
|
|
249
|
-
declare const Dialog: (({ open, onClose, closeOnOverlayClick, closeOnEsc, variant, align, title, description, icon, actionItems, footerLayout, content, className, children, ...props }: DialogProps) =>
|
|
260
|
+
declare const Dialog: (({ open, onClose, closeOnOverlayClick, closeOnEsc, variant, align, title, description, icon, actionItems, footerLayout, content, className, children, ...props }: DialogProps) => React.ReactPortal | null) & {
|
|
250
261
|
Header: ({ title, icon, className, children, ...props }: DialogHeaderProps) => react_jsx_runtime.JSX.Element;
|
|
251
262
|
Body: ({ className, children, ...props }: DialogBodyProps) => react_jsx_runtime.JSX.Element;
|
|
252
263
|
Footer: ({ layout, className, children, ...props }: DialogFooterProps) => react_jsx_runtime.JSX.Element;
|
|
@@ -317,7 +328,7 @@ interface TextInputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement
|
|
|
317
328
|
accentIcon?: boolean | React.ReactNode;
|
|
318
329
|
}
|
|
319
330
|
/** TextInput 컴포넌트는 사용자로부터 텍스트 입력을 받는 폼 컴포넌트입니다. */
|
|
320
|
-
declare const TextInput: ({ required, size, error, description, maxLength, prefixIcon, suffixIcon, suffixUnit, title, accentIcon, className, id, value, defaultValue, onChange, onFocus, onBlur, ...props }: TextInputProps) => react_jsx_runtime.JSX.Element;
|
|
331
|
+
declare const TextInput: ({ required, size, error, description, maxLength, prefixIcon, suffixIcon, suffixUnit, title, accentIcon, className, id, value, defaultValue, readOnly, onChange, onFocus, onBlur, ...props }: TextInputProps) => react_jsx_runtime.JSX.Element;
|
|
321
332
|
|
|
322
333
|
type ToggleSize = "medium" | "small";
|
|
323
334
|
type ToggleLabelPosition = "start" | "end";
|
|
@@ -819,16 +830,81 @@ interface SelectHeaderProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonEl
|
|
|
819
830
|
onChange?: (value: string | string[] | undefined) => void;
|
|
820
831
|
/** 다중 선택 허용 여부 (items 있을 때) */
|
|
821
832
|
multiple?: boolean;
|
|
833
|
+
/** 클리어 버튼 표시 여부 (미지정 시 hasValue && !disabled && (onChange|onClear) 기준 자동) */
|
|
834
|
+
showClear?: boolean;
|
|
822
835
|
/** 래퍼(Wrapper)에 적용할 클래스 이름 */
|
|
823
836
|
wrapperClassName?: string;
|
|
824
837
|
/** 래퍼(Wrapper)에 적용할 인라인 스타일 */
|
|
825
838
|
wrapperStyle?: React.CSSProperties;
|
|
826
839
|
/** 너비 설정 (예: "100%", "300px"). 설정 시 max-width 제한이 해제됨 */
|
|
827
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;
|
|
828
851
|
}
|
|
829
852
|
/** SelectHeader 컴포넌트는 선택된 값을 표시하고 드롭다운을 여는 헤더 컴포넌트다. items를 주면 클릭 시 메뉴가 열린다. */
|
|
830
853
|
declare const SelectHeader: React.ForwardRefExoticComponent<SelectHeaderProps & React.RefAttributes<HTMLButtonElement>>;
|
|
831
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
|
+
|
|
832
908
|
type PaginationType = "basic" | "compact";
|
|
833
909
|
interface PaginationProps {
|
|
834
910
|
/** 총 페이지 수 (1 이상) */
|
|
@@ -1044,20 +1120,20 @@ declare const ToastProvider: ({ children }: {
|
|
|
1044
1120
|
declare function useToast(): ToastContextType;
|
|
1045
1121
|
|
|
1046
1122
|
type LogoType = "likelion-eng" | "likelion-kr" | "bootcamp" | "symbol" | "favicon" | "og-image";
|
|
1047
|
-
type
|
|
1123
|
+
type LogoColor = "primary" | "black" | "white";
|
|
1048
1124
|
type LogoSize = "large" | "medium" | "small" | "favicon" | "og-image";
|
|
1049
1125
|
interface LogoProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
1050
1126
|
/** 로고 타입 */
|
|
1051
1127
|
type?: LogoType;
|
|
1052
|
-
/** 로고 색상
|
|
1053
|
-
|
|
1128
|
+
/** 로고 색상 */
|
|
1129
|
+
color?: LogoColor;
|
|
1054
1130
|
/** 로고 크기 */
|
|
1055
1131
|
size?: LogoSize;
|
|
1056
1132
|
/** 서비스 타입 (og-image용) */
|
|
1057
1133
|
service?: "likelion" | "bootcamp";
|
|
1058
1134
|
}
|
|
1059
1135
|
/** Logo 컴포넌트는 브랜드 아이덴티티를 표현하는 로고 컴포넌트다. */
|
|
1060
|
-
declare const Logo: ({ type,
|
|
1136
|
+
declare const Logo: ({ type, color, size, service, className, ...props }: LogoProps) => react_jsx_runtime.JSX.Element;
|
|
1061
1137
|
|
|
1062
1138
|
interface BreakpointContextType {
|
|
1063
1139
|
isMobile?: boolean;
|
|
@@ -1119,4 +1195,4 @@ declare const LAYOUT_SYSTEM: {
|
|
|
1119
1195
|
};
|
|
1120
1196
|
};
|
|
1121
1197
|
|
|
1122
|
-
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
|
|
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 SelectHeaderType, SelectMenu, type SelectMenuItem, SelectMenuOverlay, 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 };
|
package/dist/index.d.ts
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,10 +138,17 @@ 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 버튼 클릭 핸들러 */
|
|
@@ -160,6 +169,8 @@ interface ChipGroupProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onC
|
|
|
160
169
|
size?: ChipSize;
|
|
161
170
|
/** Chip variant */
|
|
162
171
|
variant?: ChipVariant;
|
|
172
|
+
/** 체크 아이콘 표시 여부 (자식 Chip에 일괄 적용) */
|
|
173
|
+
showCheck?: boolean;
|
|
163
174
|
/** 전체 비활성화 */
|
|
164
175
|
disabled?: boolean;
|
|
165
176
|
/** 자식 Chip 컴포넌트들 */
|
|
@@ -167,15 +178,15 @@ interface ChipGroupProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onC
|
|
|
167
178
|
}
|
|
168
179
|
/** Chip.Group은 여러 Chip을 그룹화하여 단일/다중 선택을 관리한다. */
|
|
169
180
|
declare const ChipGroup: {
|
|
170
|
-
({ value: valueProp, defaultValue, onChange, multiple, type, size, variant, disabled, children, className, ...rest }: 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;
|
|
171
182
|
displayName: string;
|
|
172
183
|
};
|
|
173
184
|
declare const Chip: {
|
|
174
|
-
({ 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;
|
|
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;
|
|
175
186
|
displayName: string;
|
|
176
187
|
} & {
|
|
177
188
|
Group: {
|
|
178
|
-
({ value: valueProp, defaultValue, onChange, multiple, type, size, variant, disabled, children, className, ...rest }: ChipGroupProps): react_jsx_runtime.JSX.Element;
|
|
189
|
+
({ value: valueProp, defaultValue, onChange, multiple, type, size, variant, showCheck, disabled, children, className, ...rest }: ChipGroupProps): react_jsx_runtime.JSX.Element;
|
|
179
190
|
displayName: string;
|
|
180
191
|
};
|
|
181
192
|
};
|
|
@@ -246,7 +257,7 @@ interface DialogButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonEl
|
|
|
246
257
|
/** 클릭 시 다이얼로그 닫기 여부 (기본값: false - 명시적으로 닫아야 함) */
|
|
247
258
|
closeOnClick?: boolean;
|
|
248
259
|
}
|
|
249
|
-
declare const Dialog: (({ open, onClose, closeOnOverlayClick, closeOnEsc, variant, align, title, description, icon, actionItems, footerLayout, content, className, children, ...props }: DialogProps) =>
|
|
260
|
+
declare const Dialog: (({ open, onClose, closeOnOverlayClick, closeOnEsc, variant, align, title, description, icon, actionItems, footerLayout, content, className, children, ...props }: DialogProps) => React.ReactPortal | null) & {
|
|
250
261
|
Header: ({ title, icon, className, children, ...props }: DialogHeaderProps) => react_jsx_runtime.JSX.Element;
|
|
251
262
|
Body: ({ className, children, ...props }: DialogBodyProps) => react_jsx_runtime.JSX.Element;
|
|
252
263
|
Footer: ({ layout, className, children, ...props }: DialogFooterProps) => react_jsx_runtime.JSX.Element;
|
|
@@ -317,7 +328,7 @@ interface TextInputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement
|
|
|
317
328
|
accentIcon?: boolean | React.ReactNode;
|
|
318
329
|
}
|
|
319
330
|
/** TextInput 컴포넌트는 사용자로부터 텍스트 입력을 받는 폼 컴포넌트입니다. */
|
|
320
|
-
declare const TextInput: ({ required, size, error, description, maxLength, prefixIcon, suffixIcon, suffixUnit, title, accentIcon, className, id, value, defaultValue, onChange, onFocus, onBlur, ...props }: TextInputProps) => react_jsx_runtime.JSX.Element;
|
|
331
|
+
declare const TextInput: ({ required, size, error, description, maxLength, prefixIcon, suffixIcon, suffixUnit, title, accentIcon, className, id, value, defaultValue, readOnly, onChange, onFocus, onBlur, ...props }: TextInputProps) => react_jsx_runtime.JSX.Element;
|
|
321
332
|
|
|
322
333
|
type ToggleSize = "medium" | "small";
|
|
323
334
|
type ToggleLabelPosition = "start" | "end";
|
|
@@ -819,16 +830,81 @@ interface SelectHeaderProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonEl
|
|
|
819
830
|
onChange?: (value: string | string[] | undefined) => void;
|
|
820
831
|
/** 다중 선택 허용 여부 (items 있을 때) */
|
|
821
832
|
multiple?: boolean;
|
|
833
|
+
/** 클리어 버튼 표시 여부 (미지정 시 hasValue && !disabled && (onChange|onClear) 기준 자동) */
|
|
834
|
+
showClear?: boolean;
|
|
822
835
|
/** 래퍼(Wrapper)에 적용할 클래스 이름 */
|
|
823
836
|
wrapperClassName?: string;
|
|
824
837
|
/** 래퍼(Wrapper)에 적용할 인라인 스타일 */
|
|
825
838
|
wrapperStyle?: React.CSSProperties;
|
|
826
839
|
/** 너비 설정 (예: "100%", "300px"). 설정 시 max-width 제한이 해제됨 */
|
|
827
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;
|
|
828
851
|
}
|
|
829
852
|
/** SelectHeader 컴포넌트는 선택된 값을 표시하고 드롭다운을 여는 헤더 컴포넌트다. items를 주면 클릭 시 메뉴가 열린다. */
|
|
830
853
|
declare const SelectHeader: React.ForwardRefExoticComponent<SelectHeaderProps & React.RefAttributes<HTMLButtonElement>>;
|
|
831
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
|
+
|
|
832
908
|
type PaginationType = "basic" | "compact";
|
|
833
909
|
interface PaginationProps {
|
|
834
910
|
/** 총 페이지 수 (1 이상) */
|
|
@@ -1044,20 +1120,20 @@ declare const ToastProvider: ({ children }: {
|
|
|
1044
1120
|
declare function useToast(): ToastContextType;
|
|
1045
1121
|
|
|
1046
1122
|
type LogoType = "likelion-eng" | "likelion-kr" | "bootcamp" | "symbol" | "favicon" | "og-image";
|
|
1047
|
-
type
|
|
1123
|
+
type LogoColor = "primary" | "black" | "white";
|
|
1048
1124
|
type LogoSize = "large" | "medium" | "small" | "favicon" | "og-image";
|
|
1049
1125
|
interface LogoProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
1050
1126
|
/** 로고 타입 */
|
|
1051
1127
|
type?: LogoType;
|
|
1052
|
-
/** 로고 색상
|
|
1053
|
-
|
|
1128
|
+
/** 로고 색상 */
|
|
1129
|
+
color?: LogoColor;
|
|
1054
1130
|
/** 로고 크기 */
|
|
1055
1131
|
size?: LogoSize;
|
|
1056
1132
|
/** 서비스 타입 (og-image용) */
|
|
1057
1133
|
service?: "likelion" | "bootcamp";
|
|
1058
1134
|
}
|
|
1059
1135
|
/** Logo 컴포넌트는 브랜드 아이덴티티를 표현하는 로고 컴포넌트다. */
|
|
1060
|
-
declare const Logo: ({ type,
|
|
1136
|
+
declare const Logo: ({ type, color, size, service, className, ...props }: LogoProps) => react_jsx_runtime.JSX.Element;
|
|
1061
1137
|
|
|
1062
1138
|
interface BreakpointContextType {
|
|
1063
1139
|
isMobile?: boolean;
|
|
@@ -1119,4 +1195,4 @@ declare const LAYOUT_SYSTEM: {
|
|
|
1119
1195
|
};
|
|
1120
1196
|
};
|
|
1121
1197
|
|
|
1122
|
-
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
|
|
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 SelectHeaderType, SelectMenu, type SelectMenuItem, SelectMenuOverlay, 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 };
|