fone-design-system_v2 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (157) hide show
  1. package/README.md +40 -0
  2. package/dist/DesignSystemProvider.d.ts +6 -0
  3. package/dist/components/ui/Accordion/Accordion.d.ts +42 -0
  4. package/dist/components/ui/Accordion/index.d.ts +2 -0
  5. package/dist/components/ui/Autocomplete/Autocomplete.d.ts +40 -0
  6. package/dist/components/ui/Autocomplete/index.d.ts +2 -0
  7. package/dist/components/ui/Backdrop/Backdrop.d.ts +10 -0
  8. package/dist/components/ui/Backdrop/index.d.ts +2 -0
  9. package/dist/components/ui/Badge/Badge.d.ts +17 -0
  10. package/dist/components/ui/Badge/index.d.ts +2 -0
  11. package/dist/components/ui/BarChart/BarChart.d.ts +48 -0
  12. package/dist/components/ui/BarChart/index.d.ts +2 -0
  13. package/dist/components/ui/BottomNavigation/BottomNavigation.d.ts +23 -0
  14. package/dist/components/ui/BottomNavigation/index.d.ts +2 -0
  15. package/dist/components/ui/Box/Box.d.ts +10 -0
  16. package/dist/components/ui/Box/index.d.ts +2 -0
  17. package/dist/components/ui/Breadcrumbs/Breadcrumbs.d.ts +22 -0
  18. package/dist/components/ui/Breadcrumbs/index.d.ts +2 -0
  19. package/dist/components/ui/Button/Button.d.ts +41 -0
  20. package/dist/components/ui/Button/index.d.ts +2 -0
  21. package/dist/components/ui/Card/Card.d.ts +18 -0
  22. package/dist/components/ui/Card/index.d.ts +2 -0
  23. package/dist/components/ui/Checkbox/Checkbox.d.ts +21 -0
  24. package/dist/components/ui/Checkbox/index.d.ts +2 -0
  25. package/dist/components/ui/DatePicker2/DatePicker2.d.ts +25 -0
  26. package/dist/components/ui/DatePicker2/DateRangeInput.d.ts +11 -0
  27. package/dist/components/ui/DatePicker2/index.d.ts +2 -0
  28. package/dist/components/ui/DatePicker3/DatePicker3.d.ts +9 -0
  29. package/dist/components/ui/DatePicker3/DateRangePicker.d.ts +10 -0
  30. package/dist/components/ui/DatePicker3/DateStyle.d.ts +1 -0
  31. package/dist/components/ui/DatePicker3/RHFDatePicker3Controller.d.ts +15 -0
  32. package/dist/components/ui/DatePicker3/RHFDateRangeController.d.ts +15 -0
  33. package/dist/components/ui/DatePicker3/index.d.ts +5 -0
  34. package/dist/components/ui/Dialog/Dialog.d.ts +44 -0
  35. package/dist/components/ui/Dialog/index.d.ts +2 -0
  36. package/dist/components/ui/Divider/Divider.d.ts +19 -0
  37. package/dist/components/ui/Divider/index.d.ts +2 -0
  38. package/dist/components/ui/DropdownMenu/DropdownMenu.d.ts +15 -0
  39. package/dist/components/ui/DropdownMenu/index.d.ts +2 -0
  40. package/dist/components/ui/Flex/Flex.d.ts +19 -0
  41. package/dist/components/ui/Flex/index.d.ts +2 -0
  42. package/dist/components/ui/FloatingButton/FloatingButton.d.ts +13 -0
  43. package/dist/components/ui/FloatingButton/index.d.ts +2 -0
  44. package/dist/components/ui/Form/Form.d.ts +13 -0
  45. package/dist/components/ui/Form/index.d.ts +2 -0
  46. package/dist/components/ui/Grid/Grid.d.ts +28 -0
  47. package/dist/components/ui/Grid/index.d.ts +2 -0
  48. package/dist/components/ui/IconButton/IconButton.d.ts +22 -0
  49. package/dist/components/ui/IconButton/index.d.ts +2 -0
  50. package/dist/components/ui/InputLabel/InputLabel.d.ts +12 -0
  51. package/dist/components/ui/InputLabel/index.d.ts +3 -0
  52. package/dist/components/ui/Label/Label.d.ts +12 -0
  53. package/dist/components/ui/Label/index.d.ts +2 -0
  54. package/dist/components/ui/Menu/Menu.d.ts +20 -0
  55. package/dist/components/ui/Menu/index.d.ts +2 -0
  56. package/dist/components/ui/MobileMenu/MobileMenu.d.ts +31 -0
  57. package/dist/components/ui/MobileMenu/index.d.ts +2 -0
  58. package/dist/components/ui/Notification/Notification.d.ts +13 -0
  59. package/dist/components/ui/Notification/index.d.ts +2 -0
  60. package/dist/components/ui/Pagination/Pagination.d.ts +31 -0
  61. package/dist/components/ui/Pagination/index.d.ts +2 -0
  62. package/dist/components/ui/PieChart/PieChart.d.ts +40 -0
  63. package/dist/components/ui/PieChart/index.d.ts +2 -0
  64. package/dist/components/ui/Progress/Progress.d.ts +11 -0
  65. package/dist/components/ui/Progress/index.d.ts +2 -0
  66. package/dist/components/ui/Radio/Group.d.ts +20 -0
  67. package/dist/components/ui/Radio/Radio.d.ts +15 -0
  68. package/dist/components/ui/Radio/index.d.ts +4 -0
  69. package/dist/components/ui/ScrollArea/ScrollArea.d.ts +4 -0
  70. package/dist/components/ui/ScrollArea/ScrollBar.d.ts +8 -0
  71. package/dist/components/ui/ScrollArea/index.d.ts +3 -0
  72. package/dist/components/ui/Searchbar/Searchbar.d.ts +22 -0
  73. package/dist/components/ui/Searchbar/index.d.ts +2 -0
  74. package/dist/components/ui/Select/Select.d.ts +35 -0
  75. package/dist/components/ui/Select/index.d.ts +2 -0
  76. package/dist/components/ui/Select2/RHFSelect2Controller.d.ts +12 -0
  77. package/dist/components/ui/Select2/Select2.d.ts +27 -0
  78. package/dist/components/ui/Select2/index.d.ts +3 -0
  79. package/dist/components/ui/Skeleton/Skeleton.d.ts +11 -0
  80. package/dist/components/ui/Skeleton/index.d.ts +2 -0
  81. package/dist/components/ui/Snackbar/Snackbar.d.ts +56 -0
  82. package/dist/components/ui/Snackbar/index.d.ts +2 -0
  83. package/dist/components/ui/Switch/Switch.d.ts +20 -0
  84. package/dist/components/ui/Switch/index.d.ts +2 -0
  85. package/dist/components/ui/Table/Table.d.ts +103 -0
  86. package/dist/components/ui/Table/index.d.ts +2 -0
  87. package/dist/components/ui/Table2/AddButton.d.ts +15 -0
  88. package/dist/components/ui/Table2/Body.d.ts +0 -0
  89. package/dist/components/ui/Table2/BodyItem.d.ts +0 -0
  90. package/dist/components/ui/Table2/Box.d.ts +1 -0
  91. package/dist/components/ui/Table2/Buttons.d.ts +23 -0
  92. package/dist/components/ui/Table2/CelButton.d.ts +12 -0
  93. package/dist/components/ui/Table2/Cell.d.ts +23 -0
  94. package/dist/components/ui/Table2/CellCheckbox.d.ts +12 -0
  95. package/dist/components/ui/Table2/CellCheckboxN.d.ts +6 -0
  96. package/dist/components/ui/Table2/CellCustom.d.ts +7 -0
  97. package/dist/components/ui/Table2/CellDate.d.ts +8 -0
  98. package/dist/components/ui/Table2/CellDatePicker.d.ts +13 -0
  99. package/dist/components/ui/Table2/CellFrontCheckbox.d.ts +10 -0
  100. package/dist/components/ui/Table2/CellInput.d.ts +14 -0
  101. package/dist/components/ui/Table2/CellInputEng.d.ts +0 -0
  102. package/dist/components/ui/Table2/CellInputNumber.d.ts +0 -0
  103. package/dist/components/ui/Table2/CellModal.d.ts +17 -0
  104. package/dist/components/ui/Table2/CellSelect.d.ts +15 -0
  105. package/dist/components/ui/Table2/CellText.d.ts +10 -0
  106. package/dist/components/ui/Table2/CellTextarea.d.ts +13 -0
  107. package/dist/components/ui/Table2/Header.d.ts +8 -0
  108. package/dist/components/ui/Table2/HeaderItem.d.ts +8 -0
  109. package/dist/components/ui/Table2/Pagination.d.ts +10 -0
  110. package/dist/components/ui/Table2/RemoveButton.d.ts +15 -0
  111. package/dist/components/ui/Table2/Row.d.ts +24 -0
  112. package/dist/components/ui/Table2/Rows.d.ts +25 -0
  113. package/dist/components/ui/Table2/SaveButton.d.ts +11 -0
  114. package/dist/components/ui/Table2/Table2.d.ts +69 -0
  115. package/dist/components/ui/Table2/TableProvider.d.ts +0 -0
  116. package/dist/components/ui/Table2/Title.d.ts +5 -0
  117. package/dist/components/ui/Table2/TitleContainer.d.ts +28 -0
  118. package/dist/components/ui/Table2/Total.d.ts +5 -0
  119. package/dist/components/ui/Table2/emptyMessage.d.ts +1 -0
  120. package/dist/components/ui/Table2/index.d.ts +2 -0
  121. package/dist/components/ui/Table2/useElementHeight.d.ts +3 -0
  122. package/dist/components/ui/Tabs/Tabs.d.ts +33 -0
  123. package/dist/components/ui/Tabs/index.d.ts +2 -0
  124. package/dist/components/ui/Tag/Tag.d.ts +20 -0
  125. package/dist/components/ui/Tag/index.d.ts +2 -0
  126. package/dist/components/ui/TextField/TextField.d.ts +33 -0
  127. package/dist/components/ui/TextField/index.d.ts +2 -0
  128. package/dist/components/ui/TextField2/RHFTextField2Controller.d.ts +11 -0
  129. package/dist/components/ui/TextField2/TextField2.d.ts +19 -0
  130. package/dist/components/ui/TextField2/index.d.ts +3 -0
  131. package/dist/components/ui/Tooltip/Tooltip.d.ts +30 -0
  132. package/dist/components/ui/Tooltip/index.d.ts +2 -0
  133. package/dist/components/ui/TransferList/TransferList.d.ts +11 -0
  134. package/dist/components/ui/TransferList/index.d.ts +2 -0
  135. package/dist/components/ui/TreeView/TreeView.d.ts +49 -0
  136. package/dist/components/ui/TreeView/index.d.ts +2 -0
  137. package/dist/components/ui/Typography/Typography.d.ts +24 -0
  138. package/dist/components/ui/Typography/index.d.ts +2 -0
  139. package/dist/emptyBox.png +0 -0
  140. package/dist/favicon.ico +0 -0
  141. package/dist/fone-design-system.es.js +82974 -0
  142. package/dist/fone-design-system.umd.js +710 -0
  143. package/dist/fone-design-system_v2.css +1 -0
  144. package/dist/happy.jpg +0 -0
  145. package/dist/index.d.ts +46 -0
  146. package/dist/lib/createEmotionCache.d.ts +1 -0
  147. package/dist/lib/dayjsSetup.d.ts +2 -0
  148. package/dist/lib/utils.d.ts +2 -0
  149. package/dist/pages/_app.d.ts +5 -0
  150. package/dist/pages/_document.d.ts +3 -0
  151. package/dist/pages/api/hello.d.ts +6 -0
  152. package/dist/pages/index.d.ts +1 -0
  153. package/dist/react-datepicker.css +756 -0
  154. package/dist/styles.css +2112 -0
  155. package/dist/styles.css.map +1 -0
  156. package/dist/theme/theme.d.ts +1 -0
  157. package/package.json +107 -0
@@ -0,0 +1,13 @@
1
+ import { default as React } from 'react';
2
+ import { FabProps } from '@mui/material';
3
+ export interface FloatingButtonProps extends FabProps {
4
+ className?: string;
5
+ color?: "primary" | "secondary" | "default";
6
+ variant?: "circular" | "extended";
7
+ size?: "small" | "medium" | "large";
8
+ children: React.ReactNode;
9
+ onClick?: () => void;
10
+ placement?: "top-start" | "top-end" | "bottom-start" | "bottom-end" | "top" | "bottom" | "left" | "right";
11
+ }
12
+ declare const FloatingButton: ({ className, color, variant, size, onClick, children, placement, ...props }: FloatingButtonProps) => import("react/jsx-runtime").JSX.Element;
13
+ export default FloatingButton;
@@ -0,0 +1,2 @@
1
+ import { default as FloatingButton, FloatingButtonProps } from './FloatingButton';
2
+ export { FloatingButton, FloatingButtonProps };
@@ -0,0 +1,13 @@
1
+ import { default as React } from 'react';
2
+ export interface FormProps {
3
+ className?: string;
4
+ onSubmit?: (data: {
5
+ [key: string]: string;
6
+ }) => void;
7
+ children: React.ReactNode;
8
+ getReset?: (reset: (values?: Record<string, any>) => void) => void;
9
+ addInputs?: React.ElementType[];
10
+ id?: string;
11
+ }
12
+ declare const Form: ({ className, onSubmit, children, getReset, addInputs, id, }: FormProps) => import("react/jsx-runtime").JSX.Element;
13
+ export default Form;
@@ -0,0 +1,2 @@
1
+ import { default as Form, FormProps } from './Form';
2
+ export { Form, FormProps };
@@ -0,0 +1,28 @@
1
+ import { default as React } from 'react';
2
+ import { Grid2Props } from '@mui/material';
3
+ export interface GridProps extends Grid2Props {
4
+ /** 자식노드로 추가<br/>: Grid의 자식 요소로 들어갈 컴포넌트를 설정 */
5
+ children?: React.ReactNode;
6
+ /** 열 갯수<br/>: 그리드의 열 개수를 설정 */
7
+ columns?: number;
8
+ /** 열 간격<br/>: 열 사이의 간격을 설정 (px, %, 등) */
9
+ columnSpacing?: number | string;
10
+ /** 컨테이너 여부<br/>: 그리드를 컨테이너로 사용할지 여부 */
11
+ container?: boolean;
12
+ /** 방향 설정<br/>: 그리드 아이템의 배치 방향 (row, column 등) */
13
+ direction?: "row" | "row-reverse" | "column" | "column-reverse";
14
+ /** 행 간격<br/>: 행 사이의 간격을 설정 (px, %, 등) */
15
+ rowSpacing?: number | string;
16
+ /** 크기<br/>: 그리드 항목의 크기를 설정 (MUI Grid2Props size 참조) */
17
+ size?: "auto" | "grow" | number | false | object;
18
+ /** 간격 설정<br/>: 그리드 항목 간의 간격을 설정 (px, %, 등) */
19
+ spacing?: number | string;
20
+ /** 오프셋 설정<br/>: 그리드 항목을 특정 위치로 이동시키는 데 사용. */
21
+ offset?: "auto" | number | object;
22
+ /** 랩 설정<br/>: 아이템이 넘칠 경우 처리 방식 (wrap, nowrap 등) */
23
+ wrap?: "nowrap" | "wrap-reverse" | "wrap";
24
+ }
25
+ export declare const Grid: {
26
+ ({ children, className, ...props }: GridProps): import("react/jsx-runtime").JSX.Element;
27
+ displayName: string;
28
+ };
@@ -0,0 +1,2 @@
1
+ import { Grid, GridProps } from './Grid';
2
+ export { Grid, GridProps };
@@ -0,0 +1,22 @@
1
+ import { default as React } from 'react';
2
+ import { IconButtonProps as MuiIconButtonProps } from '@mui/material';
3
+ export interface IconButtonProps extends Omit<MuiIconButtonProps, "color"> {
4
+ /** 자식 요소<br/>: 버튼 내에 포함될 내용 */
5
+ children?: React.ReactNode;
6
+ /** 색상 설정<br/>: 버튼 색상 (기본, primary, secondary 등) */
7
+ color?: "inherit" | "primary" | "secondary" | "success" | "error" | "info" | "warning" | string;
8
+ /** 비활성화 여부<br/>: true일 경우 버튼이 비활성화 */
9
+ disabled?: boolean;
10
+ /** 키보드 포커스 리플 제거<br/>: true일 경우 키보드 포커스 리플 효과 비활성화 */
11
+ disableFocusRipple?: boolean;
12
+ /** 리플 효과 제거<br/>: true일 경우 리플 효과 비활성화 */
13
+ disableRipple?: boolean;
14
+ edge?: "start" | "end" | false;
15
+ /** 로딩 상태<br/>: true일 경우 로딩 인디케이터가 표시되며 버튼이 비활성화됨 */
16
+ loading?: boolean;
17
+ /** 로딩 인디케이터<br/>: 로딩 상태일 때 표시될 인디케이터 */
18
+ loadingIndicator?: React.ReactNode;
19
+ /** 버튼 크기 설정<br/>: 'small', 'medium', 'large' 또는 사용자 지정 값 */
20
+ size?: "small" | "medium" | "large";
21
+ }
22
+ export declare const IconButton: ({ children, color, ...props }: IconButtonProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { IconButton, IconButtonProps } from './IconButton';
2
+ export { IconButton, IconButtonProps };
@@ -0,0 +1,12 @@
1
+ import { default as React } from 'react';
2
+ export interface InputLabelProps {
3
+ title: string;
4
+ htmlFor: string;
5
+ className?: string;
6
+ style?: React.CSSProperties;
7
+ color?: string;
8
+ size?: "small" | "medium" | "large";
9
+ ref?: React.ForwardedRef<HTMLLabelElement>;
10
+ }
11
+ declare const InputLabel: React.ForwardRefExoticComponent<Omit<InputLabelProps, "ref"> & React.RefAttributes<HTMLLabelElement>>;
12
+ export default InputLabel;
@@ -0,0 +1,3 @@
1
+ import { InputLabelProps } from '@mui/material';
2
+ import { default as InputLabel } from './InputLabel';
3
+ export { InputLabel, InputLabelProps };
@@ -0,0 +1,12 @@
1
+ import * as React from "react";
2
+ export interface LabelProps {
3
+ htmlFor?: string;
4
+ title?: string;
5
+ children?: React.ReactNode;
6
+ className?: string;
7
+ style?: React.CSSProperties;
8
+ size?: "small" | "medium";
9
+ color?: string;
10
+ }
11
+ declare const Label: React.ForwardRefExoticComponent<LabelProps & React.RefAttributes<HTMLLabelElement>>;
12
+ export default Label;
@@ -0,0 +1,2 @@
1
+ import { default as Label, LabelProps } from './Label';
2
+ export { Label, LabelProps };
@@ -0,0 +1,20 @@
1
+ import { default as React } from 'react';
2
+ import { ListProps } from '@mui/material';
3
+ export interface MenuProps extends ListProps {
4
+ /** 리스트 내부에 포함될 콘텐츠 */
5
+ children?: React.ReactNode;
6
+ /** 컴포넌트의 스타일을 변경하거나 확장 */
7
+ classes?: Record<string, string>;
8
+ /** HTML 요소 또는 다른 컴포넌트를 루트 노드로 사용 */
9
+ component?: React.ElementType;
10
+ /** true일 경우 세로 패딩이 작아짐 (기본값: false) */
11
+ dense?: boolean;
12
+ /** true일 경우 리스트의 세로 패딩 제거 (기본값: false) */
13
+ disablePadding?: boolean;
14
+ /** 리스트 상단에 표시될 추가 콘텐츠 */
15
+ subheader?: React.ReactNode;
16
+ }
17
+ export declare const Menu: {
18
+ ({ className, children, ...props }: MenuProps): import("react/jsx-runtime").JSX.Element;
19
+ displayName: string;
20
+ };
@@ -0,0 +1,2 @@
1
+ import { Menu, MenuProps } from './Menu';
2
+ export { Menu, MenuProps };
@@ -0,0 +1,31 @@
1
+ import { default as React } from 'react';
2
+ import { DrawerProps, ModalProps } from '@mui/material';
3
+ import { TransitionProps } from '@mui/material/transitions';
4
+ export interface MobileMenuProps extends DrawerProps {
5
+ /** 열리는 방향 (하단, 좌측, 우측, 상단) */
6
+ anchor?: "bottom" | "left" | "right" | "top";
7
+ /** 내부에 렌더링할 자식 요소 */
8
+ children?: NonNullable<React.ReactNode>;
9
+ /** 그림자 깊이 (MUI elevation 값) */
10
+ elevation?: number;
11
+ /** 배경(backdrop) 숨김 여부 (기본값: false) */
12
+ hideBackdrop?: boolean;
13
+ /** Modal 관련 추가 속성 (ex. disableScrollLock 등) */
14
+ ModalProps?: object;
15
+ /** 닫기 이벤트 핸들러 */
16
+ onClose?: ModalProps["onClose"];
17
+ /** 열려 있는지 여부 */
18
+ open?: boolean;
19
+ /** 전환(Transition) 지속 시간 설정 */
20
+ transitionDuration?: TransitionProps["timeout"];
21
+ /** 동작 방식
22
+ * - "permanent": 항상 열려 있음
23
+ * - "persistent": 열고 닫을 수 있으나 닫혀 있어도 공간이 유지됨
24
+ * - "temporary": 완전히 사라지는 형태로 열고 닫힘
25
+ */
26
+ variant?: "permanent" | "persistent" | "temporary";
27
+ }
28
+ export declare const MobileMenu: {
29
+ ({ children, ...props }: MobileMenuProps): import("react/jsx-runtime").JSX.Element;
30
+ displayName: string;
31
+ };
@@ -0,0 +1,2 @@
1
+ import { MobileMenu, MobileMenuProps } from './MobileMenu';
2
+ export { MobileMenu, MobileMenuProps };
@@ -0,0 +1,13 @@
1
+ import { AlertProps } from '@mui/material/Alert';
2
+ export interface NotificationProps extends AlertProps {
3
+ className?: string;
4
+ /** 알림 문구 */
5
+ text: string;
6
+ /** 알림 유형 */
7
+ severity: "success" | "info" | "warning" | "error";
8
+ /** 알림 스타일 */
9
+ variant?: "standard" | "filled" | "outlined";
10
+ onClose?: () => void;
11
+ }
12
+ declare const Notification: ({ className, text, severity, variant, ...props }: NotificationProps) => import("react/jsx-runtime").JSX.Element;
13
+ export default Notification;
@@ -0,0 +1,2 @@
1
+ import { default as Notification, NotificationProps } from './Notification';
2
+ export { Notification, NotificationProps };
@@ -0,0 +1,31 @@
1
+ import { default as React } from 'react';
2
+ import { PaginationProps as MPaginationProps } from '@mui/material/Pagination';
3
+ export interface PaginationProps extends MPaginationProps {
4
+ className?: string;
5
+ /** 현재 페이지 */
6
+ page: number;
7
+ /** 페이지 변경 이벤트 */
8
+ onChange: (event: React.ChangeEvent<unknown>, value: number) => void;
9
+ /** 전체 페이지 */
10
+ count: number;
11
+ /** 페이지네이션 색상 */
12
+ color?: "standard" | "primary" | "secondary";
13
+ /** 페이지네이션 테두리 */
14
+ variant?: "text" | "outlined";
15
+ /** 페이지네이션 모양 */
16
+ shape?: "circular" | "rounded";
17
+ /** 페이지네이션 크기 */
18
+ size?: "small" | "medium" | "large";
19
+ /** 페이지네이션 비활성화 여부 */
20
+ disabled?: boolean;
21
+ /** 맨앞으로 이동 버튼 표시 여부 */
22
+ showFirstButton?: boolean;
23
+ /** 맨뒤로 이동 버튼 표시 여부 */
24
+ showLastButton?: boolean;
25
+ /** 이전 버튼 숨김 여부 */
26
+ hidePrevButton?: boolean;
27
+ /** 다음 버튼 숨김 여부 */
28
+ hideNextButton?: boolean;
29
+ }
30
+ declare const Pagination: ({ className, page, onChange, count, color, variant, size, shape, disabled, showFirstButton, showLastButton, hidePrevButton, hideNextButton, ...props }: PaginationProps) => import("react/jsx-runtime").JSX.Element;
31
+ export default Pagination;
@@ -0,0 +1,2 @@
1
+ import { default as Pagination, PaginationProps } from './Pagination';
2
+ export { Pagination, PaginationProps };
@@ -0,0 +1,40 @@
1
+ import { default as React, ReactNode } from 'react';
2
+ interface DataItem {
3
+ [key: string]: string | number;
4
+ }
5
+ export interface PieChartProps {
6
+ /** 차트에 표시할 데이터 */
7
+ data: DataItem[];
8
+ /** 차트의 너비 */
9
+ width?: number;
10
+ /** 차트의 높이 */
11
+ height?: number;
12
+ /** 데이터 시리즈 설정 */
13
+ series: {
14
+ data: {
15
+ id: number;
16
+ value: number;
17
+ label: string;
18
+ }[];
19
+ color?: string;
20
+ label?: string;
21
+ innerRadius?: number;
22
+ outerRadius?: number;
23
+ paddingAngle?: number;
24
+ }[];
25
+ /** 추가 클래스명 */
26
+ className?: string;
27
+ /** 차트 여백 설정 */
28
+ margin?: {
29
+ top?: number;
30
+ right?: number;
31
+ bottom?: number;
32
+ left?: number;
33
+ };
34
+ children?: ReactNode;
35
+ centerLabel?: string;
36
+ centerLabelColor?: string;
37
+ labelKey?: string;
38
+ }
39
+ export declare const PieChart: React.ForwardRefExoticComponent<PieChartProps & React.RefAttributes<HTMLDivElement>>;
40
+ export {};
@@ -0,0 +1,2 @@
1
+ import { PieChart, PieChartProps } from './PieChart';
2
+ export { PieChart, PieChartProps };
@@ -0,0 +1,11 @@
1
+ import { CircularProgressProps } from '@mui/material';
2
+ export interface ProgressProps extends CircularProgressProps {
3
+ className?: string;
4
+ color?: "primary" | "secondary" | "error" | "info" | "success" | "warning" | "inherit";
5
+ size?: number | string;
6
+ value?: number;
7
+ timerSec?: number;
8
+ linear?: boolean;
9
+ }
10
+ declare const Progress: ({ className, color, size, value, timerSec, linear, ...props }: ProgressProps) => import("react/jsx-runtime").JSX.Element;
11
+ export default Progress;
@@ -0,0 +1,2 @@
1
+ import { default as Progress, ProgressProps } from './Progress';
2
+ export { Progress, ProgressProps };
@@ -0,0 +1,20 @@
1
+ import { FormControlLabelProps } from '@mui/material';
2
+ import { RadioGroupProps } from '@mui/material/RadioGroup';
3
+ import { Control, FieldPath, FieldValues, PathValue } from 'react-hook-form';
4
+ import { RadioProps } from './Radio';
5
+ import * as React from "react";
6
+ export interface GroupProps<T extends FieldValues> extends RadioGroupProps {
7
+ name: string;
8
+ label?: string;
9
+ row?: boolean;
10
+ children?: React.ReactNode;
11
+ options?: Array<Omit<FormControlLabelProps, "control"> & RadioProps>;
12
+ formName?: FieldPath<T>;
13
+ control?: Control<T>;
14
+ defaultValue?: PathValue<T, FieldPath<T>>;
15
+ value?: string;
16
+ field?: any;
17
+ onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
18
+ }
19
+ declare const Group: ({ name, label, row, children, options, formName, control, field, value, onChange, defaultValue, ...props }: GroupProps<FieldValues>) => import("react/jsx-runtime").JSX.Element;
20
+ export default Group;
@@ -0,0 +1,15 @@
1
+ import { default as React } from 'react';
2
+ import { RadioProps as MuiRadioProps } from '@mui/material/Radio';
3
+ export interface RadioProps extends Omit<MuiRadioProps, "checkedIcon"> {
4
+ className?: string;
5
+ value: string;
6
+ label?: string;
7
+ checked?: boolean;
8
+ onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
9
+ color?: "default" | "primary" | "secondary" | "error" | "info" | "success" | "warning";
10
+ size?: "small" | "medium";
11
+ disabled?: boolean;
12
+ labelPlacement?: "start" | "end" | "top" | "bottom";
13
+ }
14
+ declare const Radio: ({ className, value, label, checked, onChange, disabled, labelPlacement, ...props }: RadioProps) => import("react/jsx-runtime").JSX.Element;
15
+ export default Radio;
@@ -0,0 +1,4 @@
1
+ import { GroupProps as RadioGroupProps } from './Group';
2
+ import { default as Radio, RadioProps } from './Radio';
3
+ declare const RadioGroup: ({ name, label, row, children, options, formName, control, field, value, onChange, defaultValue, ...props }: RadioGroupProps<import('react-hook-form').FieldValues>) => import("react/jsx-runtime").JSX.Element;
4
+ export { Radio, RadioGroup, RadioProps, RadioGroupProps };
@@ -0,0 +1,4 @@
1
+ import * as React from "react";
2
+ import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
3
+ declare const ScrollArea: React.ForwardRefExoticComponent<ScrollAreaPrimitive.ScrollAreaProps & React.RefAttributes<HTMLDivElement>>;
4
+ export default ScrollArea;
@@ -0,0 +1,8 @@
1
+ import * as React from "react";
2
+ import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
3
+ export interface ScrollbarProps extends ScrollAreaPrimitive.ScrollAreaScrollbarProps {
4
+ trackClassName?: string;
5
+ thumbClassName?: string;
6
+ }
7
+ declare const ScrollBar: React.ForwardRefExoticComponent<ScrollbarProps & React.RefAttributes<HTMLDivElement>>;
8
+ export default ScrollBar;
@@ -0,0 +1,3 @@
1
+ import { default as ScrollAreaProps } from './ScrollArea';
2
+ import { default as ScrollBarProps } from './ScrollBar';
3
+ export { ScrollArea, ScrollBar, ScrollAreaProps, ScrollBarProps };
@@ -0,0 +1,22 @@
1
+ import { default as React } from 'react';
2
+ export interface SearchItem {
3
+ label: string;
4
+ type: "select" | "radio" | "text" | "date";
5
+ options?: {
6
+ label: string;
7
+ value: string;
8
+ }[];
9
+ value?: string;
10
+ onChange?: (value: string) => void;
11
+ width?: number;
12
+ dateType?: "single" | "range" | "multiple";
13
+ }
14
+ interface SearchbarProps {
15
+ items: SearchItem[];
16
+ onSearch?: () => void;
17
+ onRefresh?: () => void;
18
+ className?: string;
19
+ onItemChange?: (label: string, value: string) => void;
20
+ }
21
+ export declare const Searchbar: React.FC<SearchbarProps>;
22
+ export {};
@@ -0,0 +1,2 @@
1
+ export * from './Searchbar';
2
+ export type { SearchItem } from './Searchbar';
@@ -0,0 +1,35 @@
1
+ import { default as React } from 'react';
2
+ import { MenuItem, SxProps, Theme } from '@mui/material';
3
+ import { SelectChangeEvent } from '@mui/material/Select';
4
+ import { Control, FieldPath, FieldValues, PathValue } from 'react-hook-form';
5
+ export interface SelectProps<T extends FieldValues> {
6
+ className?: string;
7
+ children?: React.ReactNode;
8
+ variant?: "outlined" | "filled" | "standard";
9
+ label?: string;
10
+ helperText?: string;
11
+ size?: "small" | "medium";
12
+ disabled?: boolean;
13
+ error?: boolean;
14
+ required?: boolean;
15
+ MenuItems?: MenuItem[];
16
+ formName?: FieldPath<T>;
17
+ control?: Control<T>;
18
+ defaultValue?: PathValue<T, FieldPath<T>>;
19
+ value?: string;
20
+ field?: any;
21
+ onChange?: (event: SelectChangeEvent) => void;
22
+ labelPosition?: "top" | "bottom" | "left" | "right";
23
+ fullWidth?: boolean;
24
+ id?: string;
25
+ sx?: SxProps<Theme>;
26
+ all?: boolean;
27
+ select?: boolean;
28
+ title?: string;
29
+ }
30
+ interface MenuItem {
31
+ value: string;
32
+ label: string;
33
+ }
34
+ declare const Select: React.ForwardRefExoticComponent<SelectProps<FieldValues> & React.RefAttributes<any>>;
35
+ export default Select;
@@ -0,0 +1,2 @@
1
+ import { default as Select, SelectProps } from './Select';
2
+ export { Select, SelectProps };
@@ -0,0 +1,12 @@
1
+ import { SelectChangeEvent } from '@mui/material';
2
+ import { Control } from 'react-hook-form';
3
+ import { Select2Props } from './Select2';
4
+ export interface RHFSelect2ControllerProps extends Omit<Select2Props, "onChange"> {
5
+ name: string;
6
+ control: Control<any> | any;
7
+ defaultValue?: string;
8
+ value?: string;
9
+ onChange?: (event: SelectChangeEvent<any>) => void;
10
+ }
11
+ declare const RHFSelect2Controller: ({ name, control, defaultValue, value, onChange, ...rest }: RHFSelect2ControllerProps) => import("react/jsx-runtime").JSX.Element;
12
+ export default RHFSelect2Controller;
@@ -0,0 +1,27 @@
1
+ import { SelectProps as MSelectProps, SelectChangeEvent, SxProps, Theme } from '@mui/material';
2
+ import * as React from "react";
3
+ type CustomSelect2Props = {
4
+ width?: string | number;
5
+ };
6
+ export interface Select2Props extends Omit<MSelectProps, any>, CustomSelect2Props {
7
+ className?: string;
8
+ children?: React.ReactNode;
9
+ variant?: "outlined" | "filled" | "standard";
10
+ helperText?: string;
11
+ size?: "small" | "medium";
12
+ disabled?: boolean;
13
+ MenuItems?: {
14
+ label: string;
15
+ value: string;
16
+ }[];
17
+ value?: string;
18
+ onChange?: (event: SelectChangeEvent | any) => void;
19
+ fullWidth?: boolean;
20
+ sx?: SxProps<Theme>;
21
+ width?: string | number;
22
+ displayEmpty?: boolean;
23
+ renderValue?: (value: unknown) => React.ReactNode;
24
+ all?: boolean;
25
+ }
26
+ declare const Select2: React.ForwardRefExoticComponent<Select2Props & React.RefAttributes<HTMLDivElement>>;
27
+ export default Select2;
@@ -0,0 +1,3 @@
1
+ import { RHFSelect2ControllerProps, default as RHFSelect2Controller } from './RHFSelect2Controller';
2
+ import { default as Select2, Select2Props } from './Select2';
3
+ export { Select2, Select2Props, RHFSelect2ControllerProps, RHFSelect2Controller, };
@@ -0,0 +1,11 @@
1
+ import { ReactNode } from 'react';
2
+ import { SkeletonProps as MSkeletonProps } from '@mui/material/Skeleton';
3
+ export interface SkeletonProps extends MSkeletonProps {
4
+ className?: string;
5
+ variant?: "rectangular" | "circular" | "text";
6
+ animation?: "pulse" | "wave" | false;
7
+ children?: ReactNode;
8
+ isLoading?: boolean;
9
+ }
10
+ declare const Skeleton: ({ className, variant, animation, children, isLoading, ...props }: SkeletonProps) => import("react/jsx-runtime").JSX.Element;
11
+ export default Skeleton;
@@ -0,0 +1,2 @@
1
+ import { default as Skeleton, SkeletonProps } from './Skeleton';
2
+ export { Skeleton, SkeletonProps };
@@ -0,0 +1,56 @@
1
+ import { default as React } from 'react';
2
+ import { SnackbarProps as MuiSnackbarProps } from '@mui/material';
3
+ type AlertType = "success" | "info" | "warning" | "error";
4
+ export interface SnackbarProps extends MuiSnackbarProps {
5
+ /** 스낵바 Open 상태값 */
6
+ open: boolean;
7
+ /** 스낵바 Close 이벤트 핸들러 */
8
+ onClose?: () => void;
9
+ /** 메시지 내용 */
10
+ message?: string;
11
+ /** 자동 닫힘 시간 (ms) */
12
+ autoHideDuration?: number;
13
+ /** 스낵바 위치 */
14
+ anchorOrigin?: {
15
+ vertical: "top" | "bottom";
16
+ horizontal: "left" | "center" | "right";
17
+ };
18
+ /** 알림 타입 */
19
+ severity?: AlertType;
20
+ /** 알림 표시 시 추가 액션 */
21
+ action?: React.ReactNode;
22
+ /** 알림 타입(severity)이 있을 경우 적용되는 표시 형태
23
+ *
24
+ * 기본값은 standard
25
+ */
26
+ variant?: "filled" | "outlined" | "standard";
27
+ }
28
+ /**
29
+ * 임시 알림을 표시하는 스낵바 컴포넌트
30
+ *
31
+ * SnakBar 컴포넌트는 MUI에서 제공하는 스낵바 컴포넌트를 사용하여 구현되었습니다.
32
+ *
33
+ * MUI의 스낵바 컴포넌트는 다양한 속성을 지원하며, 이를 활용하여 다양한 형태의 스낵바를 구현할 수 있습니다.
34
+ *
35
+ * 대체적으로 직접 화면에서 호출하는 것이 아닌 Provider 형태로 사용되는 경우가 많습니다.
36
+ *
37
+ * 기본적인 duration은 1초이며, autoHideDuration 속성을 통해 변경할 수 있습니다.
38
+ * 기본적으로 클릭 가능한 버튼을 제공하며, 클릭 가능한 버튼을 제공하지 않으면 자동 닫힘 시간이 적용됩니다.
39
+ * 클릭 가능한 버튼을 제공하면 자동 닫힘 시간이 적용되지 않습니다.
40
+ *
41
+ * Notification과 사용 용도가 다릅니다.
42
+ * -----------------------------
43
+ *
44
+ * Snackbar은 화면에 표시되는 간단한 알림을 의미하며,
45
+ * Notification은 화면 상단 또는 하단에 표시되는 알림을 의미합니다.
46
+ *
47
+ * 예를들면 저장 후 알림, 삭제 후 알림, 로그인 후 알림 등 화면에 표시되는 알림을 표현할 때는 Snackbar을 사용하고,
48
+ *
49
+ * 화면 상단 또는 하단에 표시되는 알림을 표현할 때는 Notification을 사용합니다.
50
+ *
51
+ */
52
+ export declare const Snackbar: {
53
+ ({ open, onClose, autoHideDuration, anchorOrigin, sx, message, severity, variant, ...props }: SnackbarProps): import("react/jsx-runtime").JSX.Element;
54
+ displayName: string;
55
+ };
56
+ export {};
@@ -0,0 +1,2 @@
1
+ import { Snackbar, SnackbarProps } from './Snackbar';
2
+ export { Snackbar, SnackbarProps };
@@ -0,0 +1,20 @@
1
+ import { default as React } from 'react';
2
+ import { SwitchProps as MuiSwitchProps } from '@mui/material/Switch';
3
+ import { Control, FieldPath, FieldValues } from 'react-hook-form';
4
+ export interface SwitchProps<T extends FieldValues> extends Omit<MuiSwitchProps, "defaultValue"> {
5
+ className?: string;
6
+ checked?: boolean;
7
+ onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
8
+ disabled?: boolean;
9
+ required?: boolean;
10
+ label?: string;
11
+ size?: "small" | "medium";
12
+ color?: "primary" | "secondary" | "error" | "info" | "success" | "warning" | "default";
13
+ formName?: FieldPath<T>;
14
+ control?: Control<T>;
15
+ defaultValue?: boolean;
16
+ field?: any;
17
+ labelPlacement?: "start" | "end" | "top" | "bottom";
18
+ }
19
+ declare const Switch: <T extends FieldValues>({ className, disabled, required, label, size, color, formName, control, field, defaultValue, checked, onChange, labelPlacement, ...props }: SwitchProps<T>) => import("react/jsx-runtime").JSX.Element;
20
+ export default Switch;
@@ -0,0 +1,2 @@
1
+ import { default as Switch, SwitchProps } from './Switch';
2
+ export { Switch, SwitchProps };