fone-design-system_v2 1.0.34 → 1.0.35

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (159) hide show
  1. package/dist/components/{ui/Accordion → Accordion}/Accordion.d.ts +4 -1
  2. package/dist/components/{ui/Autocomplete → Autocomplete}/Autocomplete.d.ts +4 -4
  3. package/dist/components/{ui/Button → Button}/Button.d.ts +3 -3
  4. package/dist/components/Card/Card.d.ts +19 -0
  5. package/dist/components/DatePicker3/DatePicker3.d.ts +24 -0
  6. package/dist/components/{ui/Divider → Divider}/Divider.d.ts +5 -8
  7. package/dist/components/{ui/DropdownMenu → DropdownMenu}/DropdownMenu.d.ts +9 -7
  8. package/dist/components/{ui/Flex → Flex}/Flex.d.ts +7 -8
  9. package/dist/components/{ui/FloatingButton → FloatingButton}/FloatingButton.d.ts +8 -3
  10. package/dist/components/{ui/Notification → Notification}/Notification.d.ts +7 -3
  11. package/dist/components/{ui/Progress → Progress}/Progress.d.ts +6 -1
  12. package/dist/components/Radio/Radio.d.ts +48 -0
  13. package/dist/components/Select/Select.d.ts +54 -0
  14. package/dist/components/{ui/Skeleton → Skeleton}/Skeleton.d.ts +9 -2
  15. package/dist/components/{ui/Table2 → Table2}/Table2.d.ts +1 -1
  16. package/dist/components/TextField2/TextField2.d.ts +34 -0
  17. package/dist/components/{ui/Tooltip → Tooltip}/Tooltip.d.ts +15 -8
  18. package/dist/components/{ui/TreeView2 → TreeView2}/TreeView2.d.ts +3 -2
  19. package/dist/components/VerticalTable/VerticalTable.d.ts +77 -0
  20. package/dist/components/VerticalTable/index.d.ts +2 -0
  21. package/dist/fone-design-system.es.js +16333 -15341
  22. package/dist/fone-design-system.umd.js +194 -192
  23. package/dist/index.d.ts +43 -43
  24. package/dist/intro.stories.d.ts +4 -0
  25. package/package.json +2 -9
  26. package/dist/components/ui/Card/Card.d.ts +0 -18
  27. package/dist/components/ui/DatePicker3/DatePicker3.d.ts +0 -9
  28. package/dist/components/ui/Radio/Radio.d.ts +0 -16
  29. package/dist/components/ui/Select/Select.d.ts +0 -36
  30. package/dist/components/ui/TextField2/TextField2.d.ts +0 -19
  31. package/dist/components/ui/VerticalTable/VerticalTable.d.ts +0 -51
  32. package/dist/components/ui/VerticalTable/index.d.ts +0 -2
  33. /package/dist/components/{ui/Accordion → Accordion}/index.d.ts +0 -0
  34. /package/dist/components/{ui/Autocomplete → Autocomplete}/index.d.ts +0 -0
  35. /package/dist/components/{ui/Backdrop → Backdrop}/Backdrop.d.ts +0 -0
  36. /package/dist/components/{ui/Backdrop → Backdrop}/index.d.ts +0 -0
  37. /package/dist/components/{ui/Badge → Badge}/Badge.d.ts +0 -0
  38. /package/dist/components/{ui/Badge → Badge}/index.d.ts +0 -0
  39. /package/dist/components/{ui/BarChart → BarChart}/BarChart.d.ts +0 -0
  40. /package/dist/components/{ui/BarChart → BarChart}/index.d.ts +0 -0
  41. /package/dist/components/{ui/BottomNavigation → BottomNavigation}/BottomNavigation.d.ts +0 -0
  42. /package/dist/components/{ui/BottomNavigation → BottomNavigation}/index.d.ts +0 -0
  43. /package/dist/components/{ui/Box → Box}/Box.d.ts +0 -0
  44. /package/dist/components/{ui/Box → Box}/index.d.ts +0 -0
  45. /package/dist/components/{ui/Breadcrumbs → Breadcrumbs}/Breadcrumbs.d.ts +0 -0
  46. /package/dist/components/{ui/Breadcrumbs → Breadcrumbs}/index.d.ts +0 -0
  47. /package/dist/components/{ui/Button → Button}/index.d.ts +0 -0
  48. /package/dist/components/{ui/Card → Card}/index.d.ts +0 -0
  49. /package/dist/components/{ui/Checkbox → Checkbox}/Checkbox.d.ts +0 -0
  50. /package/dist/components/{ui/Checkbox → Checkbox}/RHFCheckboxController.d.ts +0 -0
  51. /package/dist/components/{ui/Checkbox → Checkbox}/index.d.ts +0 -0
  52. /package/dist/components/{ui/Checkbox → Checkbox}/style.d.ts +0 -0
  53. /package/dist/components/{ui/DatePicker → DatePicker}/DatePicker.d.ts +0 -0
  54. /package/dist/components/{ui/DatePicker → DatePicker}/index.d.ts +0 -0
  55. /package/dist/components/{ui/DatePicker3 → DatePicker3}/DateRangePicker.d.ts +0 -0
  56. /package/dist/components/{ui/DatePicker3 → DatePicker3}/DateStyle.d.ts +0 -0
  57. /package/dist/components/{ui/DatePicker3 → DatePicker3}/RHFDatePicker3Controller.d.ts +0 -0
  58. /package/dist/components/{ui/DatePicker3 → DatePicker3}/RHFDateRangeController.d.ts +0 -0
  59. /package/dist/components/{ui/DatePicker3 → DatePicker3}/index.d.ts +0 -0
  60. /package/dist/components/{ui/Dialog → Dialog}/Dialog.d.ts +0 -0
  61. /package/dist/components/{ui/Dialog → Dialog}/index.d.ts +0 -0
  62. /package/dist/components/{ui/Divider → Divider}/index.d.ts +0 -0
  63. /package/dist/components/{ui/DropdownMenu → DropdownMenu}/index.d.ts +0 -0
  64. /package/dist/components/{ui/Flex → Flex}/index.d.ts +0 -0
  65. /package/dist/components/{ui/FloatingButton → FloatingButton}/index.d.ts +0 -0
  66. /package/dist/components/{ui/Grid → Grid}/Grid.d.ts +0 -0
  67. /package/dist/components/{ui/Grid → Grid}/index.d.ts +0 -0
  68. /package/dist/components/{ui/IconButton → IconButton}/IconButton.d.ts +0 -0
  69. /package/dist/components/{ui/IconButton → IconButton}/index.d.ts +0 -0
  70. /package/dist/components/{ui/Label → Label}/Label.d.ts +0 -0
  71. /package/dist/components/{ui/Label → Label}/index.d.ts +0 -0
  72. /package/dist/components/{ui/Menu → Menu}/Menu.d.ts +0 -0
  73. /package/dist/components/{ui/Menu → Menu}/index.d.ts +0 -0
  74. /package/dist/components/{ui/MobileMenu → MobileMenu}/MobileMenu.d.ts +0 -0
  75. /package/dist/components/{ui/MobileMenu → MobileMenu}/index.d.ts +0 -0
  76. /package/dist/components/{ui/Notification → Notification}/index.d.ts +0 -0
  77. /package/dist/components/{ui/Pagination → Pagination}/Pagination.d.ts +0 -0
  78. /package/dist/components/{ui/Pagination → Pagination}/index.d.ts +0 -0
  79. /package/dist/components/{ui/PieChart → PieChart}/PieChart.d.ts +0 -0
  80. /package/dist/components/{ui/PieChart → PieChart}/index.d.ts +0 -0
  81. /package/dist/components/{ui/Progress → Progress}/index.d.ts +0 -0
  82. /package/dist/components/{ui/Radio → Radio}/Group.d.ts +0 -0
  83. /package/dist/components/{ui/Radio → Radio}/index.d.ts +0 -0
  84. /package/dist/components/{ui/ScrollArea → ScrollArea}/ScrollArea.d.ts +0 -0
  85. /package/dist/components/{ui/ScrollArea → ScrollArea}/ScrollBar.d.ts +0 -0
  86. /package/dist/components/{ui/ScrollArea → ScrollArea}/index.d.ts +0 -0
  87. /package/dist/components/{ui/Select → Select}/RHFSelect2Controller.d.ts +0 -0
  88. /package/dist/components/{ui/Select → Select}/index.d.ts +0 -0
  89. /package/dist/components/{ui/Skeleton → Skeleton}/index.d.ts +0 -0
  90. /package/dist/components/{ui/Snackbar → Snackbar}/Snackbar.d.ts +0 -0
  91. /package/dist/components/{ui/Snackbar → Snackbar}/index.d.ts +0 -0
  92. /package/dist/components/{ui/Switch → Switch}/Switch.d.ts +0 -0
  93. /package/dist/components/{ui/Switch → Switch}/index.d.ts +0 -0
  94. /package/dist/components/{ui/Table2 → Table2}/AddButton.d.ts +0 -0
  95. /package/dist/components/{ui/Table2 → Table2}/Body.d.ts +0 -0
  96. /package/dist/components/{ui/Table2 → Table2}/BodyItem.d.ts +0 -0
  97. /package/dist/components/{ui/Table2 → Table2}/Box.d.ts +0 -0
  98. /package/dist/components/{ui/Table2 → Table2}/Buttons.d.ts +0 -0
  99. /package/dist/components/{ui/Table2 → Table2}/Cell.d.ts +0 -0
  100. /package/dist/components/{ui/Table2 → Table2}/CellButton.d.ts +0 -0
  101. /package/dist/components/{ui/Table2 → Table2}/CellCheckbox.d.ts +0 -0
  102. /package/dist/components/{ui/Table2 → Table2}/CellCheckboxN.d.ts +0 -0
  103. /package/dist/components/{ui/Table2 → Table2}/CellCustom.d.ts +0 -0
  104. /package/dist/components/{ui/Table2 → Table2}/CellDate.d.ts +0 -0
  105. /package/dist/components/{ui/Table2 → Table2}/CellDatePicker2.d.ts +0 -0
  106. /package/dist/components/{ui/Table2 → Table2}/CellFrontCheckbox.d.ts +0 -0
  107. /package/dist/components/{ui/Table2 → Table2}/CellInput.d.ts +0 -0
  108. /package/dist/components/{ui/Table2 → Table2}/CellModal.d.ts +0 -0
  109. /package/dist/components/{ui/Table2 → Table2}/CellSelect.d.ts +0 -0
  110. /package/dist/components/{ui/Table2 → Table2}/CellText.d.ts +0 -0
  111. /package/dist/components/{ui/Table2 → Table2}/CellTextarea.d.ts +0 -0
  112. /package/dist/components/{ui/Table2 → Table2}/Header.d.ts +0 -0
  113. /package/dist/components/{ui/Table2 → Table2}/HeaderItem.d.ts +0 -0
  114. /package/dist/components/{ui/Table2 → Table2}/RemoveButton.d.ts +0 -0
  115. /package/dist/components/{ui/Table2 → Table2}/Row.d.ts +0 -0
  116. /package/dist/components/{ui/Table2 → Table2}/Rows.d.ts +0 -0
  117. /package/dist/components/{ui/Table2 → Table2}/SaveButton.d.ts +0 -0
  118. /package/dist/components/{ui/Table2 → Table2}/TableProvider.d.ts +0 -0
  119. /package/dist/components/{ui/Table2 → Table2}/Title.d.ts +0 -0
  120. /package/dist/components/{ui/Table2 → Table2}/TitleContainer.d.ts +0 -0
  121. /package/dist/components/{ui/Table2 → Table2}/Total.d.ts +0 -0
  122. /package/dist/components/{ui/Table2 → Table2}/emptyMessage.d.ts +0 -0
  123. /package/dist/components/{ui/Table2 → Table2}/index.d.ts +0 -0
  124. /package/dist/components/{ui/Table2 → Table2}/useElementHeight.d.ts +0 -0
  125. /package/dist/components/{ui/Tabs → Tabs}/Tabs.d.ts +0 -0
  126. /package/dist/components/{ui/Tabs → Tabs}/index.d.ts +0 -0
  127. /package/dist/components/{ui/Tag → Tag}/Tag.d.ts +0 -0
  128. /package/dist/components/{ui/Tag → Tag}/index.d.ts +0 -0
  129. /package/dist/components/{ui/TextField2 → TextField2}/RHFTextField2Controller.d.ts +0 -0
  130. /package/dist/components/{ui/TextField2 → TextField2}/index.d.ts +0 -0
  131. /package/dist/components/{ui/Tooltip → Tooltip}/index.d.ts +0 -0
  132. /package/dist/components/{ui/TransferList → TransferList}/TransferList.d.ts +0 -0
  133. /package/dist/components/{ui/TransferList → TransferList}/index.d.ts +0 -0
  134. /package/dist/components/{ui/TreeView → TreeView}/TreeView.d.ts +0 -0
  135. /package/dist/components/{ui/TreeView → TreeView}/index.d.ts +0 -0
  136. /package/dist/components/{ui/TreeView2 → TreeView2}/TreeView2.styles.d.ts +0 -0
  137. /package/dist/components/{ui/TreeView2 → TreeView2}/index.d.ts +0 -0
  138. /package/dist/components/{ui/TreeView2 → TreeView2}/useElementHeight.d.ts +0 -0
  139. /package/dist/components/{ui/Typography → Typography}/Typography.d.ts +0 -0
  140. /package/dist/components/{ui/Typography → Typography}/index.d.ts +0 -0
  141. /package/dist/components/{ui/VerticalTable → VerticalTable}/VerticalTable.style.d.ts +0 -0
  142. /package/dist/components/{ui/VerticalTable → VerticalTable}/table/ResizeColumns.d.ts +0 -0
  143. /package/dist/components/{ui/VerticalTable → VerticalTable}/table/Row.d.ts +0 -0
  144. /package/dist/components/{ui/VerticalTable → VerticalTable}/table/Rows.d.ts +0 -0
  145. /package/dist/components/{ui/VerticalTable → VerticalTable}/table/TableContainer.d.ts +0 -0
  146. /package/dist/components/{ui/VerticalTable → VerticalTable}/table/td/CheckboxCell.d.ts +0 -0
  147. /package/dist/components/{ui/VerticalTable → VerticalTable}/table/td/DatePickerCell.d.ts +0 -0
  148. /package/dist/components/{ui/VerticalTable → VerticalTable}/table/td/DateRangePickerCell.d.ts +0 -0
  149. /package/dist/components/{ui/VerticalTable → VerticalTable}/table/td/InputCell.d.ts +0 -0
  150. /package/dist/components/{ui/VerticalTable → VerticalTable}/table/td/InputNumCell.d.ts +0 -0
  151. /package/dist/components/{ui/VerticalTable → VerticalTable}/table/td/ModalCell.d.ts +0 -0
  152. /package/dist/components/{ui/VerticalTable → VerticalTable}/table/td/SelectCell.d.ts +0 -0
  153. /package/dist/components/{ui/VerticalTable → VerticalTable}/table/td/Td.d.ts +0 -0
  154. /package/dist/components/{ui/VerticalTable → VerticalTable}/table/td/TextCell.d.ts +0 -0
  155. /package/dist/components/{ui/VerticalTable → VerticalTable}/table/th/Th.d.ts +0 -0
  156. /package/dist/components/{ui/VerticalTable → VerticalTable}/title/Buttons.d.ts +0 -0
  157. /package/dist/components/{ui/VerticalTable → VerticalTable}/title/Title.d.ts +0 -0
  158. /package/dist/components/{ui/VerticalTable → VerticalTable}/title/TitleContainer.d.ts +0 -0
  159. /package/dist/{happy.jpg → images/happy.jpg} +0 -0
@@ -6,6 +6,7 @@ export interface DataListProps {
6
6
  id: string;
7
7
  summaryChildren: React.ReactNode | string;
8
8
  detailsChildren: React.ReactNode | string;
9
+ disabled?: boolean;
9
10
  }
10
11
  export interface AccordionItemsProps extends DataListProps {
11
12
  expandIcon?: ExpandIconType;
@@ -23,6 +24,8 @@ export interface AccordionProps extends Omit<MuiAccordionProps, "children" | "ex
23
24
  dataList: DataListProps[];
24
25
  /** 디폴트로 열려있어야 하는 아코디언 (값: dataList의 id값이 배열로 들어간다)*/
25
26
  defaultExpandedList?: DefaultExpandedListType;
27
+ /** 전체 아코디언을 디폴트로 열려있게 할 수 있다. (값: true)*/
28
+ defaultExpanded?: boolean;
26
29
  /** 사용자지정 아이콘 (값: React.ReactNode) */
27
30
  expandIcon?: ExpandIconType;
28
31
  /** 비활성화 상태 (기본값: false) */
@@ -37,6 +40,6 @@ export interface AccordionProps extends Omit<MuiAccordionProps, "children" | "ex
37
40
  square?: boolean;
38
41
  }
39
42
  export declare const Accordion: {
40
- ({ dataList, allExpanded, expandIcon, singleExpand, actionChildren, ...props }: AccordionProps): import("react/jsx-runtime").JSX.Element;
43
+ ({ dataList, allExpanded, expandIcon, singleExpand, actionChildren, defaultExpandedList, defaultExpanded, square, ...props }: AccordionProps): import("react/jsx-runtime").JSX.Element;
41
44
  displayName: string;
42
45
  };
@@ -5,17 +5,17 @@ export interface AutocompleteProps<Value = any, Multiple extends boolean | undef
5
5
  options: any[];
6
6
  /** 사용자가 텍스트를 입력하는 input 필드를 어떻게 렌더링할지 정한다. */
7
7
  renderInput: (params: AutocompleteRenderInputParams) => React.ReactNode;
8
- /** 자동 완성 여부 (기본값: false) */
8
+ /** 자동 완성 여부 (기본값: false) @default false*/
9
9
  autoComplete?: boolean;
10
- /** 항목 선택 후 입력 필드가 자동으로 포커스를 잃는다. */
10
+ /** 항목 선택 후 입력 필드가 자동으로 포커스를 잃는다. @default false*/
11
11
  blurOnSelect?: "mouse" | "touch" | boolean | undefined;
12
12
  /** 클리어 아이콘 */
13
13
  clearIcon?: React.ReactNode;
14
- /** 옵션을 선택해도 드롭다운이 닫히지 않는다. (기본값: false) */
14
+ /** 옵션을 선택해도 드롭다운이 닫히지 않는다. (기본값: false) @default false*/
15
15
  disableCloseOnSelect?: boolean;
16
16
  /** 드롭다운이 부모 요소의 스타일(예: overflow, z-index)의 영향을 받을지에 대한 여부 (false: 부모요소 밖으로 삐져나와도 부모요소에 가려지지 않는다.) */
17
17
  disablePortal?: boolean;
18
- /** 비활성화 여부 (기본값: false) */
18
+ /** 비활성화 여부 (기본값: false) @default false*/
19
19
  disabled?: boolean;
20
20
  /** 옵션 변경 핸들러 */
21
21
  onChange?: (event: React.SyntheticEvent<Element, Event>, value: AutocompleteValue<Value, Multiple, DisableClearable, FreeSolo>, reason: AutocompleteChangeReason, details?: AutocompleteChangeDetails<Value> | undefined) => void;
@@ -4,8 +4,8 @@ export interface ButtonProps extends Omit<MuiButtonProps<"button">, "color" | "s
4
4
  classsName?: any;
5
5
  /** 자식 요소<br/>: 버튼 내에 포함될 내용 */
6
6
  children?: React.ReactNode;
7
- /** 색상 설정<br/>: 버튼 색상 (기본, primary, secondary 등) */
8
- color?: "inherit" | "primary" | "secondary" | "success" | "error" | "info" | "warning" | string;
7
+ /** 색상 설정<br/>: 버튼 색상 */
8
+ color?: string | "inherit" | "primary" | "secondary" | "success" | "error" | "info" | "warning";
9
9
  /** 루트 요소 타입 설정<br/>: HTML 요소 또는 다른 컴포넌트를 루트 노드로 사용 */
10
10
  component?: React.ElementType;
11
11
  /** 비활성화 여부<br/>: true일 경우 버튼이 비활성화 */
@@ -28,7 +28,7 @@ export interface ButtonProps extends Omit<MuiButtonProps<"button">, "color" | "s
28
28
  loadingIndicator?: React.ReactNode;
29
29
  /** 로딩 인디케이터 위치<br/>: 'start', 'center', 'end' 중 위치 설정 */
30
30
  loadingPosition?: "center" | "end" | "start";
31
- /** 버튼 크기 설정<br/>: 'small', 'medium', 'large' 또는 사용자 지정 값 */
31
+ /** 버튼 크기 설정<br/>: 'small', 'medium', 'large' 또는 사용자 지정 값 @default large */
32
32
  size?: "small" | "medium" | "large" | string;
33
33
  /** 시작 아이콘<br/>: 버튼의 자식 요소 앞에 배치될 아이콘 */
34
34
  startIcon?: React.ReactNode;
@@ -0,0 +1,19 @@
1
+ import { ReactNode } from 'react';
2
+ import { CardProps as MCardProps } from '@mui/material/Card';
3
+ export interface CardProps extends MCardProps {
4
+ className?: string;
5
+ /** Card의 제목을 설정합니다. */
6
+ title?: string;
7
+ /** Card의 내용을 설정합니다. */
8
+ contents?: string;
9
+ /** Card의 스타일을 설정합니다. @default elevation */
10
+ variant?: "elevation" | "outlined";
11
+ /** Card의 이미지를 설정합니다. */
12
+ image?: ReactNode;
13
+ /** Card의 하단에 버튼을 설정합니다. */
14
+ buttons?: ReactNode;
15
+ /** Card의 클릭 이벤트를 설정합니다. */
16
+ onActionArea?: () => void;
17
+ }
18
+ declare const Card: ({ variant, className, image, title, contents, onActionArea, buttons, ...props }: CardProps) => import("react/jsx-runtime").JSX.Element;
19
+ export default Card;
@@ -0,0 +1,24 @@
1
+ import { default as React } from 'react';
2
+ import { DatePickerProps } from 'antd/es/date-picker';
3
+ import { Dayjs } from 'dayjs';
4
+ export interface DatePicker3Props extends Omit<DatePickerProps, "onChange" | "value"> {
5
+ /**
6
+ * 선택된 날짜(제어값).
7
+ * - `Dayjs` 객체 또는 `null`(선택 해제)
8
+ * - 이 값을 넘기면 **제어 컴포넌트**로 동작하므로 보통 `onChange`와 함께 사용 권장.
9
+ * - 제어하지 않을 거면 이 prop을 생략하고, 기반 컴포넌트의 `defaultValue` 등을 사용할 수 있음.
10
+ */
11
+ value?: Dayjs | null;
12
+ /**
13
+ * 날짜가 변경될 때 호출되는 콜백.
14
+ *
15
+ * @param date 선택된 날짜의 `Dayjs` 객체
16
+ * @param dateString 포맷된 문자열(예: `"2025-09-29"`) — 호환성 때문에 배열 타입도 허용됨
17
+ *
18
+ * - 단일 날짜 선택 기준으로는 일반적으로 **문자열 1개**가 전달됨.
19
+ * - 제출/로그 전송 등 문자열이 필요한 경우 `dateString` 사용 권장(포맷은 컴포넌트 설정에 따름).
20
+ */
21
+ onChange?: ((date: Dayjs, dateString: string | string[]) => void) | undefined;
22
+ }
23
+ declare const DatePicker3: React.ForwardRefExoticComponent<Omit<DatePicker3Props, "ref"> & React.RefAttributes<any>>;
24
+ export default DatePicker3;
@@ -1,19 +1,16 @@
1
1
  import { default as React } from 'react';
2
2
  import { SxProps, Theme, DividerProps as MuiDividerProps } from '@mui/material';
3
3
  export interface DividerProps extends MuiDividerProps {
4
- /** 구분선 방향 */
4
+ /** 구분선 방향을 설정합니다. @default horizontal */
5
5
  orientation?: "horizontal" | "vertical";
6
- /** 구분선 변형 */
6
+ /** 구분선 변형을 설정합니다. @default fullWidth */
7
7
  variant?: "fullWidth" | "inset" | "middle";
8
- /** 텍스트 정렬 */
8
+ /** 텍스트 정렬을 설정합니다. @default center */
9
9
  textAlign?: "center" | "left" | "right";
10
- /** 구분선 내부 텍스트 */
10
+ /** 구분선 둥근 정도를 설정합니다. */
11
+ flexItem?: boolean;
11
12
  children?: React.ReactNode;
12
- /** MUI에서 제공하는 스타일 속성 추가 가능 */
13
13
  sx?: SxProps<Theme>;
14
- /** 구분선 둥근 정도 */
15
- flexItem?: boolean;
16
14
  }
17
- /** 콘텐츠를 구분하는 구분선 컴포넌트 */
18
15
  declare const Divider: ({ orientation, variant, textAlign, children, sx, ...props }: DividerProps) => import("react/jsx-runtime").JSX.Element;
19
16
  export default Divider;
@@ -1,15 +1,17 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { MenuProps } from '@mui/material/Menu';
3
- export interface DropdownMenuProps extends Omit<MenuProps, "open"> {
4
- className?: string;
5
- menuLabel: string;
6
- menuItems: MenuItem[];
7
- }
8
- export interface MenuItem {
3
+ export interface DropdownMenuItem {
9
4
  icon?: ReactNode;
10
5
  label: string;
11
6
  onClick: () => void;
12
- onClose: () => void;
7
+ onClose?: () => void;
8
+ }
9
+ export interface DropdownMenuProps extends Omit<MenuProps, "open"> {
10
+ className?: string;
11
+ /** 메뉴 버튼의 라벨을 설정합니다. */
12
+ menuLabel: string;
13
+ /** 메뉴 아이템 리스트 입니다. */
14
+ menuItems: DropdownMenuItem[];
13
15
  }
14
16
  declare const DropdownMenu: ({ className, menuLabel, menuItems, ...props }: DropdownMenuProps) => import("react/jsx-runtime").JSX.Element;
15
17
  export default DropdownMenu;
@@ -1,16 +1,15 @@
1
- import { default as React } from 'react';
1
+ import { default as React, ReactNode } from 'react';
2
2
  import { StackProps } from '@mui/material';
3
3
  import { ResponsiveStyleValue } from '@mui/system';
4
4
  export interface FlexProps extends StackProps {
5
- /** 자식 요소 */
6
- children?: React.ReactNode;
7
- /** Flex 방향 (row, column 등) (기본값: row) */
5
+ /** Flex 방향을 설정합니다. @default row */
8
6
  direction?: ResponsiveStyleValue<"row" | "row-reverse" | "column" | "column-reverse">;
9
- /** `gap` 사용 여부 (기본값: true) */
7
+ /** gap 사용 여부를 설정합니다. @default true */
10
8
  useFlexGap?: boolean;
11
- /** 항목 간 간격 (숫자 또는 문자열) */
9
+ /** 항목 간 간격을 설정합니다. @default 0 */
12
10
  spacing?: ResponsiveStyleValue<number | string>;
13
- /** 항목 사이 구분선 (MUI Divider 등) */
14
- divider?: React.ReactNode;
11
+ /** 항목 사이 구분선을 설정합니다. */
12
+ divider?: ReactNode;
13
+ children?: ReactNode;
15
14
  }
16
15
  export declare const Flex: React.ForwardRefExoticComponent<Omit<FlexProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
@@ -1,13 +1,18 @@
1
- import { default as React } from 'react';
1
+ import { ReactNode } from 'react';
2
2
  import { FabProps } from '@mui/material';
3
3
  export interface FloatingButtonProps extends FabProps {
4
- className?: string;
4
+ /** 버튼의 색상을 설정합니다. @default default */
5
5
  color?: "primary" | "secondary" | "default";
6
+ /** 버튼의 모양을 설정합니다. @default circular */
6
7
  variant?: "circular" | "extended";
8
+ /** 버튼의 크기를 설정합니다. @default medium */
7
9
  size?: "small" | "medium" | "large";
8
- children: React.ReactNode;
10
+ /** 버튼 클릭 시 호출되는 콜백 함수입니다. */
9
11
  onClick?: () => void;
12
+ /** 버튼의 위치를 설정합니다. @default bottom-end */
10
13
  placement?: "top-start" | "top-end" | "bottom-start" | "bottom-end" | "top" | "bottom" | "left" | "right";
14
+ children?: ReactNode;
15
+ className?: string;
11
16
  }
12
17
  declare const FloatingButton: ({ className, color, variant, size, onClick, children, placement, ...props }: FloatingButtonProps) => import("react/jsx-runtime").JSX.Element;
13
18
  export default FloatingButton;
@@ -1,13 +1,17 @@
1
+ import { SxProps, Theme } from '@mui/material';
1
2
  import { AlertProps } from '@mui/material/Alert';
2
3
  export interface NotificationProps extends AlertProps {
3
4
  className?: string;
4
- /** 알림 문구 */
5
+ /** 알림 문구를 입력하는 부분입니다.*/
5
6
  text: string;
6
- /** 알림 유형 */
7
+ /** 알림 유형을 설정하는 부분입니다.*/
7
8
  severity: "success" | "info" | "warning" | "error";
8
- /** 알림 스타일 */
9
+ /** 알림 스타일을 설정하는 부분입니다.*/
9
10
  variant?: "standard" | "filled" | "outlined";
11
+ /** 알림 닫기 이벤트 */
12
+ /** 알림이 닫히며 일어나야하는 이벤트가 있으면 사용하시면 됩니다. */
10
13
  onClose?: () => void;
14
+ sx?: SxProps<Theme>;
11
15
  }
12
16
  declare const Notification: ({ className, text, severity, variant, ...props }: NotificationProps) => import("react/jsx-runtime").JSX.Element;
13
17
  export default Notification;
@@ -1,11 +1,16 @@
1
1
  import { CircularProgressProps } from '@mui/material';
2
2
  export interface ProgressProps extends CircularProgressProps {
3
- className?: string;
3
+ /** Progress의 색상을 설정합니다. @default primary */
4
4
  color?: "primary" | "secondary" | "error" | "info" | "success" | "warning" | "inherit";
5
+ /** Progress의 크기를 설정합니다. */
5
6
  size?: number | string;
7
+ /** Progress의 진행 상태를 설정합니다. */
6
8
  value?: number;
9
+ /** Progress가 0%에서 100%까지 도달하는 시간을 설정합니다. (단위: 초) */
7
10
  timerSec?: number;
11
+ /** 선형 Progress로 표시할지 여부를 설정합니다. @default false */
8
12
  linear?: boolean;
13
+ className?: string;
9
14
  }
10
15
  declare const Progress: ({ className, color, size, value, timerSec, linear, ...props }: ProgressProps) => import("react/jsx-runtime").JSX.Element;
11
16
  export default Progress;
@@ -0,0 +1,48 @@
1
+ import { default as React } from 'react';
2
+ import { RadioProps as MuiRadioProps } from '@mui/material/Radio';
3
+ /**
4
+ * MUI `Radio`를 감싼 컴포넌트의 Props.
5
+ * - 원본 `MuiRadioProps`에서 `checkedIcon`만 제외(Omit)한다.
6
+ * - 라벨/배치/비활성화 등 폼 라디오에 필요한 속성을 제공한다.
7
+ */
8
+ export interface RadioProps extends Omit<MuiRadioProps, "checkedIcon"> {
9
+ /** 루트 요소에 전달할 CSS 클래스명 */
10
+ className?: string;
11
+ /**
12
+ * 라디오의 제출(value) 값 (필수)
13
+ * - 같은 그룹 내에서 선택 항목을 구분한다.
14
+ */
15
+ value: string;
16
+ /**
17
+ * 라벨 텍스트
18
+ * - 지정 시 `FormControlLabel`로 감싸 렌더링된다.
19
+ */
20
+ label?: string;
21
+ /**
22
+ * 체크 상태(제어 모드)
23
+ * - 제어 모드에서는 반드시 `onChange`와 함께 사용한다.
24
+ */
25
+ checked?: boolean;
26
+ /**
27
+ * 변경 이벤트 핸들러
28
+ * @param event 변경 이벤트(`event.target.checked`로 상태 확인)
29
+ */
30
+ onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
31
+ /**
32
+ * 색상 팔레트
33
+ * - MUI 팔레트 키 중 하나
34
+ */
35
+ color?: "default" | "primary" | "secondary" | "error" | "info" | "success" | "warning";
36
+ /** 사이즈 `small | medium`*/
37
+ size?: "small" | "medium";
38
+ /**
39
+ * 비활성화 여부
40
+ * @default false */
41
+ disabled?: boolean;
42
+ /** 필수 표기 여부*/
43
+ required?: boolean;
44
+ /** 라벨 배치 위치 `start | end | top | bottom` */
45
+ labelPlacement?: "start" | "end" | "top" | "bottom";
46
+ }
47
+ declare const Radio: ({ className, value, label, checked, onChange, disabled, labelPlacement, required, ...props }: RadioProps) => import("react/jsx-runtime").JSX.Element;
48
+ export default Radio;
@@ -0,0 +1,54 @@
1
+ import { SelectProps as MSelectProps, SelectChangeEvent, SxProps, Theme } from '@mui/material';
2
+ import * as React from "react";
3
+ type CustomSelectProps = {
4
+ width?: string | number;
5
+ };
6
+ export interface SelectProps extends Omit<MSelectProps, any>, CustomSelectProps {
7
+ /** React className. 외부에서 추가 스타일/선택자용으로 사용 */
8
+ className?: string;
9
+ /** HTML form name. 폼 전송 시 key가 됨 */
10
+ name?: string;
11
+ /** <MenuItem/> 등의 직접 children. 있으면 MenuItems보다 우선 */
12
+ children?: React.ReactNode;
13
+ /** MUI Select variant (outlined | filled | standard). 기본 outlined */
14
+ variant?: "outlined" | "filled" | "standard";
15
+ /** 헬퍼 텍스트(오류/설명). 현재 컴포넌트 내부에서 직접 렌더링하진 않음 */
16
+ helperText?: string;
17
+ /** 컴포넌트 사이즈. 높이/폰트 크기 동시 제어 (small | medium) */
18
+ size?: "small" | "medium";
19
+ /** 비활성화 여부 */
20
+ disabled?: boolean;
21
+ /** 옵션 목록. children이 없을 때만 사용됨 */
22
+ MenuItems?: {
23
+ label: string;
24
+ value: string;
25
+ }[];
26
+ /** 선택 값(Controlled). 넘기면 완전 제어 모드 */
27
+ value?: string;
28
+ /** 값 변경 콜백. e.target.value로 선택 값 획득 */
29
+ onChange?: (event: SelectChangeEvent | any) => void;
30
+ /** FormControl의 fullWidth 여부. true면 가로폭 100% */
31
+ fullWidth?: boolean;
32
+ /** MUI system sx. Select에 대한 스타일 오버라이드 */
33
+ sx?: SxProps<Theme>;
34
+ /** 가로폭 지정. 숫자면 px로 처리(예: 240 -> '240px') */
35
+ width?: string | number;
36
+ /** 값이 비어도 렌더(placeholder 표현)할지 여부 */
37
+ displayEmpty?: boolean;
38
+ /** 선택된 값 커스텀 렌더 함수. 제공 시 내부 기본 렌더 로직보다 우선 */
39
+ renderValue?: (value: unknown) => React.ReactNode;
40
+ /** true면 '{ label: "전체", value: "" }' 옵션을 맨 앞에 자동 추가 */
41
+ all?: boolean;
42
+ /** true면 placeholder를 "선택"으로 표시(그리고 '전체' 자동 추가는 하지 않음) */
43
+ select?: boolean;
44
+ /** 비제어(Uncontrolled) 초기값. value 미사용 시 초깃값으로 적용 */
45
+ defaultValue?: string;
46
+ /** 메뉴 및 선택된 값 가운데 정렬 여부 */
47
+ center?: boolean;
48
+ /** 메뉴 아이템(<MenuItem/>)에 추가로 적용할 sx */
49
+ menuItemSx?: SxProps<Theme>;
50
+ /** Select 셀 등에서 폰트 크기 오버라이드(예: '1.4rem') */
51
+ fontSize?: string;
52
+ }
53
+ declare const Select: React.ForwardRefExoticComponent<SelectProps & React.RefAttributes<HTMLDivElement>>;
54
+ export default Select;
@@ -1,11 +1,18 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { SkeletonProps as MSkeletonProps } from '@mui/material/Skeleton';
3
3
  export interface SkeletonProps extends MSkeletonProps {
4
- className?: string;
4
+ /** Skeleton의 종류를 설정합니다. @default rectangular */
5
5
  variant?: "rectangular" | "circular" | "text";
6
+ /** Skeleton의 애니메이션 효과를 설정합니다. @default pulse */
6
7
  animation?: "pulse" | "wave" | false;
7
- children?: ReactNode;
8
+ /** 로딩중인지 여부를 설정합니다. @default true */
8
9
  isLoading?: boolean;
10
+ /** Skeleton의 너비를 설정합니다. */
11
+ width?: string | number;
12
+ /** Skeleton의 높이를 설정합니다. */
13
+ height?: string | number;
14
+ children?: ReactNode;
15
+ className?: string;
9
16
  }
10
17
  declare const Skeleton: ({ className, variant, animation, children, isLoading, ...props }: SkeletonProps) => import("react/jsx-runtime").JSX.Element;
11
18
  export default Skeleton;
@@ -34,7 +34,7 @@ export interface Table2Props<T extends object> {
34
34
  No?: boolean;
35
35
  checkbox?: boolean;
36
36
  radio?: boolean;
37
- onChecked?: (checkedRows: T[]) => void;
37
+ onChecked?: (checkedRows: T[], rowIndex: number) => void;
38
38
  onDelete?: (checkedRows: T[]) => void;
39
39
  onSave?: (checkedRows: T[], allRows: T[]) => void;
40
40
  onRowClick?: (row: T, rowIndex: number) => void;
@@ -0,0 +1,34 @@
1
+ import { default as React, ChangeEventHandler, ReactNode } from 'react';
2
+ import { OutlinedInputProps } from '@mui/material';
3
+ export interface TextField2Props extends Omit<OutlinedInputProps, "onChange"> {
4
+ /** 입력 값(Controlled). 미지정 시 비제어로 동작 가능 */
5
+ value?: any;
6
+ /** 값 변경 핸들러. e.target.value로 현재 값 접근 */
7
+ onChange?: ChangeEventHandler<HTMLInputElement | HTMLTextAreaElement>;
8
+ /** 루트 FormControl에 부착할 className (스타일 훅용) */
9
+ className?: string;
10
+ /** 비활성화 여부 */
11
+ disabled?: boolean;
12
+ /** 인풋 왼쪽 영역에 표시할 부가 요소 (예: 아이콘) */
13
+ startAdornment?: ReactNode;
14
+ /** 인풋 오른쪽 영역에 표시할 부가 요소 (예: 버튼) */
15
+ endAdornment?: ReactNode;
16
+ /** MUI 슬롯 전용 prop 전달용 (필요 시 내부 슬롯에 세부 옵션 전달) */
17
+ slotProps?: any;
18
+ /** MUI system `sx` 스타일 오버라이드 (루트 FormControl에 적용) */
19
+ sx?: any;
20
+ /** HTML input type (text, password, number 등) */
21
+ type?: string;
22
+ /** 읽기 전용 여부 */
23
+ readOnly?: boolean;
24
+ /** 필수 입력 여부(브라우저 기본 유효성에 사용) */
25
+ required?: boolean;
26
+ /** HTML id 속성 (label-for 연결 등) */
27
+ id?: string;
28
+ /** forwardRef로 외부에서 인풋에 접근하기 위한 ref
29
+ * - 일반적으로 React.forwardRef 제네릭으로 처리하므로 props에 직접 넣지 않아도 됨
30
+ */
31
+ ref?: React.ForwardedRef<HTMLInputElement>;
32
+ }
33
+ declare const TextField2: React.ForwardRefExoticComponent<Omit<TextField2Props, "ref"> & React.RefAttributes<HTMLInputElement>>;
34
+ export default TextField2;
@@ -1,18 +1,20 @@
1
- import { default as React } from 'react';
1
+ import { default as React, Dispatch, ReactNode, SetStateAction } from 'react';
2
2
  import { TooltipProps as MTooltipProps } from '@mui/material/Tooltip';
3
3
  export interface TooltipProps extends MTooltipProps {
4
- className?: string;
5
- title: string | React.ReactNode;
6
- children: React.ReactElement<unknown, any>;
4
+ /** Tooltip의 제목을 설정합니다. */
5
+ title: string | ReactNode;
6
+ /** Tooltip에 화살표를 표시할지 여부를 설정합니다. @default false */
7
7
  arrow?: boolean;
8
+ /** Tooltip의 위치를 설정합니다. @default bottom */
8
9
  placement?: "bottom-end" | "bottom-start" | "bottom" | "left-end" | "left-start" | "left" | "right-end" | "right-start" | "right" | "top-end" | "top-start" | "top";
10
+ /** 마우스 커서를 따라다니는지 여부를 설정합니다. @default false */
9
11
  followCursor?: boolean;
12
+ /** Tooltip이 열려 있는지 여부를 설정합니다. @default false */
10
13
  open?: boolean;
11
- setOpen?: React.Dispatch<React.SetStateAction<boolean>>;
14
+ /** Tooltip의 열림 상태를 제어하는 함수입니다. */
15
+ setOpen?: Dispatch<SetStateAction<boolean>>;
16
+ /** 닫기 버튼을 표시할지 여부를 설정합니다. @default false */
12
17
  closeButton?: boolean;
13
- style?: {
14
- [key: string]: string | number | undefined;
15
- };
16
18
  componentsProps?: {
17
19
  tooltip?: {
18
20
  sx?: Record<string, any>;
@@ -25,6 +27,11 @@ export interface TooltipProps extends MTooltipProps {
25
27
  style?: React.CSSProperties;
26
28
  };
27
29
  };
30
+ style?: {
31
+ [key: string]: string | number | undefined;
32
+ };
33
+ children: React.ReactElement<unknown, any>;
34
+ className?: string;
28
35
  }
29
36
  declare const Tooltip: ({ className, title, children, arrow, placement, followCursor, open, setOpen, closeButton, style, componentsProps, ...props }: TooltipProps) => import("react/jsx-runtime").JSX.Element;
30
37
  export default Tooltip;
@@ -10,9 +10,10 @@ export interface TreeView2Props extends RichTreeViewProps<TreeViewBaseItem, bool
10
10
  items: TreeViewBaseItem[];
11
11
  /** 아이템 비활성 조건 함수(비활성 시 클릭/체크 방지) */
12
12
  isItemDisabled?: (item: TreeViewBaseItem) => boolean;
13
- /** 체크박스 선택 기능 사용 여부 */
13
+ /** 체크박스 선택 기능 사용 여부 @default false*/
14
+ /** item title 앞에 체크박스를 추가할지 여부 */
14
15
  checkboxSelection?: boolean;
15
- /** 다중 선택 허용 여부(선택 집합 유지) */
16
+ /** 다중 선택 허용 여부(선택 집합 유지) @default false*/
16
17
  multiSelect?: boolean;
17
18
  /** 선택/해제 토글 시 콜백
18
19
  * @param event - 원본 이벤트
@@ -0,0 +1,77 @@
1
+ import { default as React } from 'react';
2
+ import { ButtonProps } from '../Button';
3
+ /** ---------------------------------------------
4
+ * 보조 타입: 버튼 그룹 정의
5
+ * - `buttons` 필드에서 사용된다.
6
+ * - Button 컴포넌트와 호환되는 onClick/variant/disabled 속성을 그대로 연결.
7
+ * --------------------------------------------- */
8
+ type Buttons = {
9
+ title?: string;
10
+ onClick?: ButtonProps["onClick"];
11
+ variant?: ButtonProps["variant"] | string;
12
+ disabled?: ButtonProps["disabled"];
13
+ };
14
+ /** ---------------------------------------------
15
+ * 보조 타입: colspan 정의
16
+ * - span: 합칠 칸 수
17
+ * - target: "th" | "td" (어느 쪽에 적용할지)
18
+ * --------------------------------------------- */
19
+ type ColSpan = {
20
+ span: number;
21
+ target: "th" | "td" | string;
22
+ };
23
+ /** ---------------------------------------------
24
+ * 외부에서 내려주는 필드(아이템) 정의
25
+ * - 각 항목은 제목 셀(th) + 값 셀(td) 한 쌍으로 렌더된다.
26
+ * - type에 따라 입력/선택/버튼/텍스트 등 다양한 UI로 확장 가능.
27
+ * - colSpan.target으로 th/td 각각의 span을 독립적으로 제어할 수 있다.
28
+ * --------------------------------------------- */
29
+ export type FieldRow = {
30
+ accessorKey: string;
31
+ title: string;
32
+ value?: string | React.ReactNode;
33
+ type?: "input" | "inputNum" | "inputEng" | "select" | "checkbox" | "checkboxN" | "datepicker" | "dateRangePicker" | "modal" | "button" | "date" | "text" | string;
34
+ required?: boolean;
35
+ textAlign?: "left" | "center" | "right";
36
+ buttons?: Buttons[];
37
+ colSpan?: ColSpan;
38
+ menuItems?: {
39
+ label: string;
40
+ value: string;
41
+ }[];
42
+ onClick?: () => void;
43
+ startIcon?: {
44
+ icon: React.ReactNode;
45
+ onClick: () => void;
46
+ };
47
+ endIcon?: {
48
+ icon: React.ReactNode;
49
+ onClick: () => void;
50
+ };
51
+ disabled?: boolean;
52
+ readOnly?: boolean;
53
+ maxLength?: number;
54
+ };
55
+ /** ---------------------------------------------
56
+ * 컴포넌트 외부에서 받는 props
57
+ * - data: 렌더/초기화에 사용할 원본 데이터
58
+ * - items: 테이블을 구성할 필드 정의 목록(FieldRow[])
59
+ * - totalColumns: 한 행을 구성하는 총 칸 수(th+td 합의 기준). 각 항목의 th span + td span 합이 누적되어 정확히 일치할 때 줄바꿈한다.
60
+ * - colGroup: <colgroup> 용 폭 배열 등(옵션)
61
+ * - title: 상단 타이틀(옵션)
62
+ * - onSave: 상단 TitleContainer에서 저장 액션 등으로 연결
63
+ * - onTableChange: 폼 데이터 변경을 100ms 디바운스로 통지
64
+ * --------------------------------------------- */
65
+ export interface VerticalTableProps {
66
+ data: {
67
+ [key: string]: any;
68
+ };
69
+ items: FieldRow[];
70
+ totalColumns: number;
71
+ colGroup?: string[];
72
+ title?: string;
73
+ onSave?: (e: any) => void;
74
+ onTableChange?: (data: any) => void;
75
+ }
76
+ declare const VerticalTable: React.ForwardRefExoticComponent<VerticalTableProps & React.RefAttributes<HTMLTableElement>>;
77
+ export default VerticalTable;
@@ -0,0 +1,2 @@
1
+ import { default as VerticalTable, FieldRow, VerticalTableProps } from './VerticalTable';
2
+ export { VerticalTable, FieldRow, VerticalTableProps };