@hivcd-printshop/design-system 1.2.0 → 1.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -75,6 +75,27 @@ interface ColumnSubTitleProps {
75
75
  */
76
76
  declare const ColumnSubTitle: ({ className, children, action, as: Tag, }: ColumnSubTitleProps) => react.JSX.Element;
77
77
 
78
+ interface ColumnDescriptionProps {
79
+ className?: string;
80
+ children: React.ReactNode;
81
+ /** 컴퍼스 마크 불릿 표시 여부. 기본 true. */
82
+ bullet?: boolean;
83
+ }
84
+ /**
85
+ * Column 내부의 안내/주의사항 항목 한 줄.
86
+ * 컴퍼스 마크 불릿 + 본문(body3-book / text-primary)으로 구성되며,
87
+ * 본문이 여러 줄이어도 줄바꿈된 텍스트가 아이콘 아래로 흐르지 않는다(행잉 인덴트).
88
+ * 개행은 `\n` 그대로 반영된다.
89
+ * 예: "예약 시 주의사항" 목록의 각 항목.
90
+ */
91
+ declare const ColumnDescription: ({ className, children, bullet, }: ColumnDescriptionProps) => react.JSX.Element;
92
+ interface ColumnDescriptionListProps {
93
+ className?: string;
94
+ children: React.ReactNode;
95
+ }
96
+ /** `ColumnDescription` 항목들을 16px 간격으로 세로 배치하는 래퍼. */
97
+ declare const ColumnDescriptionList: ({ className, children }: ColumnDescriptionListProps) => react.JSX.Element;
98
+
78
99
  interface BasicFormFieldProps {
79
100
  children: React.ReactNode;
80
101
  isDanger?: boolean;
@@ -127,7 +148,7 @@ interface FormFileProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>
127
148
  filename?: string;
128
149
  onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;
129
150
  }
130
- declare const FormFile: ({ className, isDanger, dangerText, placeholder, fileUrl, filename, onChange, ...props }: FormFileProps) => react.JSX.Element;
151
+ declare const FormFile: ({ className, isDanger, dangerText, fileUrl, filename, onChange, ...props }: FormFileProps) => react.JSX.Element;
131
152
 
132
153
  interface FormCheckBoxProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, "onChange" | "checked"> {
133
154
  isChecked: boolean;
@@ -213,13 +234,18 @@ interface ModalProps {
213
234
  header: string;
214
235
  children: react__default.ReactNode;
215
236
  className?: string;
237
+ /**
238
+ * 지정하면 배경(백드롭) 클릭 시 호출되고, 카드 우상단에 닫기(X) 버튼이 노출된다.
239
+ * 생략하면 배경은 딤 처리만 되고 클릭해도 닫히지 않는다.
240
+ */
241
+ onClose?: () => void;
216
242
  }
217
243
  interface BaseProps {
218
244
  children: react__default.ReactNode;
219
245
  className?: string;
220
246
  row?: boolean;
221
247
  }
222
- declare const Modal: (({ isVisible, header, children, className }: ModalProps) => react__default.JSX.Element | null) & {
248
+ declare const Modal: (({ isVisible, header, children, className, onClose }: ModalProps) => react__default.JSX.Element | null) & {
223
249
  Contents: ({ children, className }: BaseProps) => react__default.JSX.Element;
224
250
  CTAs: ({ children, className, row }: BaseProps) => react__default.JSX.Element | null;
225
251
  };
@@ -242,6 +268,32 @@ declare const IconInfo: ({ className, stroke }: {
242
268
  className?: string;
243
269
  stroke?: string;
244
270
  }) => react.JSX.Element;
271
+ /** HIVCD 컴퍼스 마크. 주의사항 리스트의 불릿 등으로 사용. */
272
+ declare const IconCompass: ({ className, fill }: {
273
+ className?: string;
274
+ fill?: string;
275
+ }) => react.JSX.Element;
276
+ /** 선택된 라디오 버튼(채워진 점). SideRadioAccordion 등에서 사용. */
277
+ declare const IconRadioSelected: ({ className, stroke, fill, }: {
278
+ className?: string;
279
+ stroke?: string;
280
+ fill?: string;
281
+ }) => react.JSX.Element;
282
+ /** 선택되지 않은 라디오 버튼(빈 원). */
283
+ declare const IconRadioUnselected: ({ className, stroke, }: {
284
+ className?: string;
285
+ stroke?: string;
286
+ }) => react.JSX.Element;
287
+ /** 느낌표(원 안). 보조 안내 텍스트 버튼 등에서 사용. */
288
+ declare const IconExclamation: ({ className, fill }: {
289
+ className?: string;
290
+ fill?: string;
291
+ }) => react.JSX.Element;
292
+ /** 닫기(X) 아이콘. Modal 우상단 등에서 사용. */
293
+ declare const IconClose: ({ className, stroke }: {
294
+ className?: string;
295
+ stroke?: string;
296
+ }) => react.JSX.Element;
245
297
 
246
298
  interface CategorySegmentProps {
247
299
  selected?: boolean;
@@ -493,4 +545,4 @@ interface ToastProps {
493
545
  }
494
546
  declare const Toast: react.ForwardRefExoticComponent<ToastProps & react.RefAttributes<HTMLDivElement>>;
495
547
 
496
- export { BackButton, type BackButtonProps, BasicFormField, type BasicFormFieldProps, CTA, type CTAProps, CategorySegment, type CategorySegmentProps, CategorySegmentedControl, type CategorySegmentedControlProps, Column, ColumnContentContainer, type ColumnContentContainerProps, ColumnLabel, type ColumnLabelProps, type ColumnProps, ColumnSubTitle, type ColumnSubTitleProps, ColumnText, type ColumnTextProps, ColumnTextStyle, type DayColumn, Dropdown, type DropdownProps, FormCheckBox, type FormCheckBoxProps, FormColor, type FormColorProps, FormFile, type FormFileProps, FormNumber, type FormNumberProps, FormPassword, type FormPasswordProps, FormSelectBox, type FormSelectBoxProps, FormTel, type FormTelProps, FormText, FormTextArea, type FormTextAreaProps, type FormTextProps, IconCheck, IconChevronDownXS, IconInfo, type LinkComponent, List, type ListProps, type LowerPartItem, Modal, type ModalProps, ModalText, type ModalTextProps, ModalTextStyle, MultiColumn, type NavIcon, NoticeBadge, type NoticeBadgeProps, type NoticeBadgeVariable, NoticeBar, type NoticeBarBadgeVariable, type NoticeBarProps, type NoticeBarVariable, type RadioToggle, SearchBar, type SearchBarProps, SelectBoxOption, type SelectBoxOptionProps, SideRadioAccordion, type PrintColor$1 as SideRadioAccordionPrintColor, type SideRadioAccordionProps, TNB, type TNBProps, Tag, type TagProps, TextButton, type TextButtonProps, type TimeSlot, type TimeSlotState, Timetable, type PrintColor as TimetablePrintColor, type TimetableProps, TitleInput, type TitleInputProps, Toast, type ToastProps, type UpperPartItem, type Week, WeekNavigation, type WeekNavigationProps, getInputStyles };
548
+ export { BackButton, type BackButtonProps, BasicFormField, type BasicFormFieldProps, CTA, type CTAProps, CategorySegment, type CategorySegmentProps, CategorySegmentedControl, type CategorySegmentedControlProps, Column, ColumnContentContainer, type ColumnContentContainerProps, ColumnDescription, ColumnDescriptionList, type ColumnDescriptionListProps, type ColumnDescriptionProps, ColumnLabel, type ColumnLabelProps, type ColumnProps, ColumnSubTitle, type ColumnSubTitleProps, ColumnText, type ColumnTextProps, ColumnTextStyle, type DayColumn, Dropdown, type DropdownProps, FormCheckBox, type FormCheckBoxProps, FormColor, type FormColorProps, FormFile, type FormFileProps, FormNumber, type FormNumberProps, FormPassword, type FormPasswordProps, FormSelectBox, type FormSelectBoxProps, FormTel, type FormTelProps, FormText, FormTextArea, type FormTextAreaProps, type FormTextProps, IconCheck, IconChevronDownXS, IconClose, IconCompass, IconExclamation, IconInfo, IconRadioSelected, IconRadioUnselected, type LinkComponent, List, type ListProps, type LowerPartItem, Modal, type ModalProps, ModalText, type ModalTextProps, ModalTextStyle, MultiColumn, type NavIcon, NoticeBadge, type NoticeBadgeProps, type NoticeBadgeVariable, NoticeBar, type NoticeBarBadgeVariable, type NoticeBarProps, type NoticeBarVariable, type RadioToggle, SearchBar, type SearchBarProps, SelectBoxOption, type SelectBoxOptionProps, SideRadioAccordion, type PrintColor$1 as SideRadioAccordionPrintColor, type SideRadioAccordionProps, TNB, type TNBProps, Tag, type TagProps, TextButton, type TextButtonProps, type TimeSlot, type TimeSlotState, Timetable, type PrintColor as TimetablePrintColor, type TimetableProps, TitleInput, type TitleInputProps, Toast, type ToastProps, type UpperPartItem, type Week, WeekNavigation, type WeekNavigationProps, getInputStyles };
package/dist/index.d.ts CHANGED
@@ -75,6 +75,27 @@ interface ColumnSubTitleProps {
75
75
  */
76
76
  declare const ColumnSubTitle: ({ className, children, action, as: Tag, }: ColumnSubTitleProps) => react.JSX.Element;
77
77
 
78
+ interface ColumnDescriptionProps {
79
+ className?: string;
80
+ children: React.ReactNode;
81
+ /** 컴퍼스 마크 불릿 표시 여부. 기본 true. */
82
+ bullet?: boolean;
83
+ }
84
+ /**
85
+ * Column 내부의 안내/주의사항 항목 한 줄.
86
+ * 컴퍼스 마크 불릿 + 본문(body3-book / text-primary)으로 구성되며,
87
+ * 본문이 여러 줄이어도 줄바꿈된 텍스트가 아이콘 아래로 흐르지 않는다(행잉 인덴트).
88
+ * 개행은 `\n` 그대로 반영된다.
89
+ * 예: "예약 시 주의사항" 목록의 각 항목.
90
+ */
91
+ declare const ColumnDescription: ({ className, children, bullet, }: ColumnDescriptionProps) => react.JSX.Element;
92
+ interface ColumnDescriptionListProps {
93
+ className?: string;
94
+ children: React.ReactNode;
95
+ }
96
+ /** `ColumnDescription` 항목들을 16px 간격으로 세로 배치하는 래퍼. */
97
+ declare const ColumnDescriptionList: ({ className, children }: ColumnDescriptionListProps) => react.JSX.Element;
98
+
78
99
  interface BasicFormFieldProps {
79
100
  children: React.ReactNode;
80
101
  isDanger?: boolean;
@@ -127,7 +148,7 @@ interface FormFileProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>
127
148
  filename?: string;
128
149
  onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;
129
150
  }
130
- declare const FormFile: ({ className, isDanger, dangerText, placeholder, fileUrl, filename, onChange, ...props }: FormFileProps) => react.JSX.Element;
151
+ declare const FormFile: ({ className, isDanger, dangerText, fileUrl, filename, onChange, ...props }: FormFileProps) => react.JSX.Element;
131
152
 
132
153
  interface FormCheckBoxProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, "onChange" | "checked"> {
133
154
  isChecked: boolean;
@@ -213,13 +234,18 @@ interface ModalProps {
213
234
  header: string;
214
235
  children: react__default.ReactNode;
215
236
  className?: string;
237
+ /**
238
+ * 지정하면 배경(백드롭) 클릭 시 호출되고, 카드 우상단에 닫기(X) 버튼이 노출된다.
239
+ * 생략하면 배경은 딤 처리만 되고 클릭해도 닫히지 않는다.
240
+ */
241
+ onClose?: () => void;
216
242
  }
217
243
  interface BaseProps {
218
244
  children: react__default.ReactNode;
219
245
  className?: string;
220
246
  row?: boolean;
221
247
  }
222
- declare const Modal: (({ isVisible, header, children, className }: ModalProps) => react__default.JSX.Element | null) & {
248
+ declare const Modal: (({ isVisible, header, children, className, onClose }: ModalProps) => react__default.JSX.Element | null) & {
223
249
  Contents: ({ children, className }: BaseProps) => react__default.JSX.Element;
224
250
  CTAs: ({ children, className, row }: BaseProps) => react__default.JSX.Element | null;
225
251
  };
@@ -242,6 +268,32 @@ declare const IconInfo: ({ className, stroke }: {
242
268
  className?: string;
243
269
  stroke?: string;
244
270
  }) => react.JSX.Element;
271
+ /** HIVCD 컴퍼스 마크. 주의사항 리스트의 불릿 등으로 사용. */
272
+ declare const IconCompass: ({ className, fill }: {
273
+ className?: string;
274
+ fill?: string;
275
+ }) => react.JSX.Element;
276
+ /** 선택된 라디오 버튼(채워진 점). SideRadioAccordion 등에서 사용. */
277
+ declare const IconRadioSelected: ({ className, stroke, fill, }: {
278
+ className?: string;
279
+ stroke?: string;
280
+ fill?: string;
281
+ }) => react.JSX.Element;
282
+ /** 선택되지 않은 라디오 버튼(빈 원). */
283
+ declare const IconRadioUnselected: ({ className, stroke, }: {
284
+ className?: string;
285
+ stroke?: string;
286
+ }) => react.JSX.Element;
287
+ /** 느낌표(원 안). 보조 안내 텍스트 버튼 등에서 사용. */
288
+ declare const IconExclamation: ({ className, fill }: {
289
+ className?: string;
290
+ fill?: string;
291
+ }) => react.JSX.Element;
292
+ /** 닫기(X) 아이콘. Modal 우상단 등에서 사용. */
293
+ declare const IconClose: ({ className, stroke }: {
294
+ className?: string;
295
+ stroke?: string;
296
+ }) => react.JSX.Element;
245
297
 
246
298
  interface CategorySegmentProps {
247
299
  selected?: boolean;
@@ -493,4 +545,4 @@ interface ToastProps {
493
545
  }
494
546
  declare const Toast: react.ForwardRefExoticComponent<ToastProps & react.RefAttributes<HTMLDivElement>>;
495
547
 
496
- export { BackButton, type BackButtonProps, BasicFormField, type BasicFormFieldProps, CTA, type CTAProps, CategorySegment, type CategorySegmentProps, CategorySegmentedControl, type CategorySegmentedControlProps, Column, ColumnContentContainer, type ColumnContentContainerProps, ColumnLabel, type ColumnLabelProps, type ColumnProps, ColumnSubTitle, type ColumnSubTitleProps, ColumnText, type ColumnTextProps, ColumnTextStyle, type DayColumn, Dropdown, type DropdownProps, FormCheckBox, type FormCheckBoxProps, FormColor, type FormColorProps, FormFile, type FormFileProps, FormNumber, type FormNumberProps, FormPassword, type FormPasswordProps, FormSelectBox, type FormSelectBoxProps, FormTel, type FormTelProps, FormText, FormTextArea, type FormTextAreaProps, type FormTextProps, IconCheck, IconChevronDownXS, IconInfo, type LinkComponent, List, type ListProps, type LowerPartItem, Modal, type ModalProps, ModalText, type ModalTextProps, ModalTextStyle, MultiColumn, type NavIcon, NoticeBadge, type NoticeBadgeProps, type NoticeBadgeVariable, NoticeBar, type NoticeBarBadgeVariable, type NoticeBarProps, type NoticeBarVariable, type RadioToggle, SearchBar, type SearchBarProps, SelectBoxOption, type SelectBoxOptionProps, SideRadioAccordion, type PrintColor$1 as SideRadioAccordionPrintColor, type SideRadioAccordionProps, TNB, type TNBProps, Tag, type TagProps, TextButton, type TextButtonProps, type TimeSlot, type TimeSlotState, Timetable, type PrintColor as TimetablePrintColor, type TimetableProps, TitleInput, type TitleInputProps, Toast, type ToastProps, type UpperPartItem, type Week, WeekNavigation, type WeekNavigationProps, getInputStyles };
548
+ export { BackButton, type BackButtonProps, BasicFormField, type BasicFormFieldProps, CTA, type CTAProps, CategorySegment, type CategorySegmentProps, CategorySegmentedControl, type CategorySegmentedControlProps, Column, ColumnContentContainer, type ColumnContentContainerProps, ColumnDescription, ColumnDescriptionList, type ColumnDescriptionListProps, type ColumnDescriptionProps, ColumnLabel, type ColumnLabelProps, type ColumnProps, ColumnSubTitle, type ColumnSubTitleProps, ColumnText, type ColumnTextProps, ColumnTextStyle, type DayColumn, Dropdown, type DropdownProps, FormCheckBox, type FormCheckBoxProps, FormColor, type FormColorProps, FormFile, type FormFileProps, FormNumber, type FormNumberProps, FormPassword, type FormPasswordProps, FormSelectBox, type FormSelectBoxProps, FormTel, type FormTelProps, FormText, FormTextArea, type FormTextAreaProps, type FormTextProps, IconCheck, IconChevronDownXS, IconClose, IconCompass, IconExclamation, IconInfo, IconRadioSelected, IconRadioUnselected, type LinkComponent, List, type ListProps, type LowerPartItem, Modal, type ModalProps, ModalText, type ModalTextProps, ModalTextStyle, MultiColumn, type NavIcon, NoticeBadge, type NoticeBadgeProps, type NoticeBadgeVariable, NoticeBar, type NoticeBarBadgeVariable, type NoticeBarProps, type NoticeBarVariable, type RadioToggle, SearchBar, type SearchBarProps, SelectBoxOption, type SelectBoxOptionProps, SideRadioAccordion, type PrintColor$1 as SideRadioAccordionPrintColor, type SideRadioAccordionProps, TNB, type TNBProps, Tag, type TagProps, TextButton, type TextButtonProps, type TimeSlot, type TimeSlotState, Timetable, type PrintColor as TimetablePrintColor, type TimetableProps, TitleInput, type TitleInputProps, Toast, type ToastProps, type UpperPartItem, type Week, WeekNavigation, type WeekNavigationProps, getInputStyles };