fone-design-system_v2 1.0.22 → 1.0.24

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.
@@ -1,6 +1,12 @@
1
1
  import { default as React } from 'react';
2
+ import { GlobalStylesProps } from '@mui/material';
3
+ type DSStyles = GlobalStylesProps["styles"];
2
4
  type Props = {
3
5
  children: React.ReactNode;
6
+ htmlFontSize?: string;
7
+ globalStyles?: DSStyles | DSStyles[];
8
+ /** true면 기본 GlobalStyles를 렌더하지 않음 */
9
+ disableBaseGlobalStyles?: boolean;
4
10
  };
5
- export declare function DesignSystemProvider({ children }: Props): import("react/jsx-runtime").JSX.Element;
11
+ export declare function DesignSystemProvider({ children, htmlFontSize, globalStyles, disableBaseGlobalStyles, }: Props): import("react/jsx-runtime").JSX.Element;
6
12
  export {};
@@ -0,0 +1,2 @@
1
+ import { DatePickerProps, default as DatePicker } from './DatePicker';
2
+ export { DatePicker, DatePickerProps };
@@ -19,7 +19,7 @@ interface DialogPropsBase extends Omit<MuiDialogProps, "onSubmit" | "getReset">
19
19
  /** 스크롤 동작 */
20
20
  scroll?: "paper" | "body";
21
21
  /** 스타일 속성 */
22
- sx?: SxProps<Theme>;
22
+ sx?: SxProps<Theme> | any;
23
23
  /** 영역별 구분선 */
24
24
  dividers?: boolean;
25
25
  /** 액션 버튼 정렬 */
@@ -40,7 +40,7 @@ export type DialogWithType = (DialogPropsBase & {
40
40
  *
41
41
  */
42
42
  export declare const Dialog: {
43
- ({ open, onClose, dialogTitle, dialogContent, actions, fullScreen, scroll, size, type, onOk, dividers, actionsAlign, children, ...props }: DialogWithType): import("react/jsx-runtime").JSX.Element;
43
+ ({ open, onClose, dialogTitle, dialogContent, actions, fullScreen, scroll, size, type, onOk, dividers, actionsAlign, children, sx, ...props }: DialogWithType): import("react/jsx-runtime").JSX.Element;
44
44
  displayName: string;
45
45
  };
46
46
  export {};
@@ -4,7 +4,7 @@ interface Props<T> {
4
4
  onRemoveRow?: () => void;
5
5
  rowSelection: Record<string, boolean>;
6
6
  tableData: T[];
7
- onDelete?: (checkedRows: T[]) => void;
7
+ onDelete?: (rows: T[]) => void;
8
8
  setRowSelection: React.Dispatch<React.SetStateAction<Record<string, boolean>>>;
9
9
  table: ReactTable<T>;
10
10
  onSave?: (checkedRows: T[], allRows: T[]) => void;
@@ -14,7 +14,7 @@ interface Props<T> {
14
14
  isAddRowActive?: boolean;
15
15
  clickedRowIndex: number;
16
16
  setClickedRowIndex: React.Dispatch<React.SetStateAction<number>>;
17
- onDelFn?: () => void;
17
+ onDelFn?: (checkedRows: T[]) => void;
18
18
  deleteAllData?: boolean;
19
19
  radio: boolean;
20
20
  scrollAreaRef: React.RefObject<HTMLDivElement | null>;
@@ -0,0 +1,14 @@
1
+ import { Cell as TableCell } from '@tanstack/react-table';
2
+ interface Props<T extends object = any> {
3
+ id: string;
4
+ cell: TableCell<T, unknown>;
5
+ isHover?: boolean;
6
+ setTableData: React.Dispatch<React.SetStateAction<T[]>>;
7
+ isSelected: boolean;
8
+ setRowSelection: React.Dispatch<React.SetStateAction<Record<string, boolean>>>;
9
+ isClicked: boolean;
10
+ radio: boolean;
11
+ style?: React.CSSProperties;
12
+ }
13
+ declare const CellDatePicker2: <T extends object>({ cell, isHover, setTableData, isSelected, setRowSelection, isClicked, radio, style, }: Props) => import("react/jsx-runtime").JSX.Element;
14
+ export default CellDatePicker2;
@@ -8,7 +8,7 @@ interface Props<T> {
8
8
  setRowSelection: React.Dispatch<React.SetStateAction<Record<string, boolean>>>;
9
9
  setIsWarning: React.Dispatch<React.SetStateAction<boolean>>;
10
10
  setWarningText: React.Dispatch<React.SetStateAction<string>>;
11
- onDelFn?: () => void;
11
+ onDelFn?: (checkedRows: T[]) => void;
12
12
  deleteAllData?: boolean;
13
13
  }
14
14
  declare const RemoveButton: <T>({ rowSelection, table, tableData, setTableData, onDelete, setRowSelection, setIsWarning, setWarningText, onDelFn, deleteAllData, }: Props<T>) => import("react/jsx-runtime").JSX.Element;
@@ -4,7 +4,7 @@ export type ColumnDef<T extends object> = TanstackColumnDef<T> & {
4
4
  width?: string;
5
5
  align?: "start" | "center" | "right";
6
6
  editable?: boolean;
7
- type?: "input" | "select" | "checkbox" | "checkboxN" | "datePicker" | "modal" | "button" | "text" | "date" | ((row: T) => "input" | "select" | "checkbox" | "checkboxN" | "datePicker" | "modal" | "button" | "custom" | "text" | "date") | string;
7
+ type?: "input" | "inputNum" | "inputEng" | "select" | "checkbox" | "checkboxN" | "datePicker" | "modal" | "button" | "text" | "date" | ((row: T) => "input" | "inputNum" | "inputEng" | "select" | "checkbox" | "checkboxN" | "datePicker" | "modal" | "button" | "custom" | "text" | "date") | string;
8
8
  selectItems?: {
9
9
  value: string | number;
10
10
  label: string;
@@ -25,6 +25,8 @@ export type ColumnDef<T extends object> = TanstackColumnDef<T> & {
25
25
  component?: (row: T) => React.ReactNode;
26
26
  readOnly?: boolean;
27
27
  defaultChecked?: boolean;
28
+ visible?: boolean;
29
+ onChange?: (value: any) => void;
28
30
  };
29
31
  export interface Table2Props<T extends object> {
30
32
  data: T[] | undefined;
@@ -37,7 +39,7 @@ export interface Table2Props<T extends object> {
37
39
  onSave?: (checkedRows: T[], allRows: T[]) => void;
38
40
  onRowClick?: (row: T, rowIndex: number) => void;
39
41
  onRowDoubleClick?: (row: T, rowIndex: number) => void;
40
- title?: string;
42
+ title?: string | null;
41
43
  isTotal?: boolean;
42
44
  deleteAllData?: boolean;
43
45
  buttons?: React.ReactNode;
@@ -58,7 +60,7 @@ export interface Table2Props<T extends object> {
58
60
  isAddRowActive?: boolean;
59
61
  onModalApplied?: () => void;
60
62
  rowClickTriggerIdx?: number;
61
- onDelFn?: () => void;
63
+ onDelFn?: (rows: T[]) => void;
62
64
  isClickedCheckbox?: boolean;
63
65
  onTableDataChange?: (data: T[]) => void;
64
66
  checkboxCheckedIdx?: number;
@@ -8,7 +8,7 @@ interface Props<T> {
8
8
  setRowSelection: React.Dispatch<React.SetStateAction<Record<string, boolean>>>;
9
9
  table: ReactTable<T>;
10
10
  onSave?: (checkedRows: T[], allRows: T[]) => void;
11
- title: string;
11
+ title: string | null;
12
12
  isTotal: boolean;
13
13
  total: number;
14
14
  buttons?: React.ReactNode;
@@ -19,7 +19,7 @@ interface Props<T> {
19
19
  isPlusButtonDisabled?: boolean;
20
20
  clickedRowIndex: number;
21
21
  setClickedRowIndex: React.Dispatch<React.SetStateAction<number>>;
22
- onDelFn?: () => void;
22
+ onDelFn?: (rows: T[]) => void;
23
23
  deleteAllData?: boolean;
24
24
  radio: boolean;
25
25
  scrollAreaRef: React.RefObject<HTMLDivElement | null>;
@@ -28,6 +28,6 @@ export interface TabsProps extends MuiTabsProps {
28
28
  /** MUI에서 제공하는 스타일 속성 */
29
29
  sx?: SxProps<Theme>;
30
30
  }
31
- /** 콘텐츠를 구분하여 표시하는 탭 컴포넌트 */
32
- declare const Tabs: ({ value, onChange, orientation, variant, items, sx, textColor, indicatorColor, selectionFollowsFocus, ...props }: TabsProps) => import("react/jsx-runtime").JSX.Element;
31
+ /** 콘텐츠를 구분하여 표시하는 탭 컴포넌트 (ref는 내부 MuiTabs의 루트 div로 전달) */
32
+ declare const Tabs: React.ForwardRefExoticComponent<Omit<TabsProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
33
33
  export default Tabs;
@@ -2,32 +2,60 @@ import { default as React } from 'react';
2
2
  import { TreeViewBaseItem } from '@mui/x-tree-view';
3
3
  import { RichTreeViewProps } from '@mui/x-tree-view/RichTreeView';
4
4
  export interface TreeView2Props extends RichTreeViewProps<TreeViewBaseItem, boolean> {
5
+ /** 외부 스타일 커스터마이징용 class */
5
6
  className?: string;
7
+ /** 트리 상단 타이틀 텍스트 */
6
8
  title?: string;
9
+ /** 렌더링할 최상위 트리 데이터 */
7
10
  items: TreeViewBaseItem[];
11
+ /** 아이템 비활성 조건 함수(비활성 시 클릭/체크 방지) */
8
12
  isItemDisabled?: (item: TreeViewBaseItem) => boolean;
13
+ /** 체크박스 선택 기능 사용 여부 */
9
14
  checkboxSelection?: boolean;
15
+ /** 다중 선택 허용 여부(선택 집합 유지) */
10
16
  multiSelect?: boolean;
17
+ /** 선택/해제 토글 시 콜백
18
+ * @param event - 원본 이벤트
19
+ * @param itemId - 대상 아이템 id
20
+ * @param isSelected - 선택됨(true)/해제됨(false)
21
+ */
11
22
  onItemSelectionToggle?: (event: React.SyntheticEvent, itemId: string, isSelected: boolean) => void;
23
+ /** 아이템 클릭 시 콜백(싱글 클릭 확정 시점에 호출) */
12
24
  onItemClick?: (event: React.MouseEvent, itemId: string, value?: any) => void;
25
+ /** 아이템 더블클릭 시 콜백 */
13
26
  onItemDoubleClick?: (itemId: string | undefined, value?: any) => void;
27
+ /** 행 추가 기능
28
+ * - boolean: 헤더의 추가 버튼만 노출(true)
29
+ * - function: (item, parentId)로 신규 행 생성 로직 위임
30
+ * item: menuLvSeq 포함한 노드 정보
31
+ */
14
32
  onAddRow?: boolean | ((item: TreeViewBaseItem & {
15
33
  menuLvSeq: string;
16
34
  }, parentId: string) => void);
35
+ /** 행 삭제 콜백(실제 데이터 삭제는 부모에서 처리) */
17
36
  onDeleteRow?: (item: TreeViewBaseItem & {
18
37
  menuLvSeq: string;
19
38
  }) => void;
39
+ /** 저장 버튼 클릭/인라인 생성 완료 등 저장 트리거 콜백 */
20
40
  onSave?: () => void;
41
+ /** 프리뷰 바에 표시할 텍스트(옵션) */
21
42
  previewText?: string;
43
+ /** 초기 전체 펼침 여부(true면 모든 브랜치 펼침) */
22
44
  defaultExpanded?: boolean;
45
+ /** 로딩 상태 표시 여부(스피너 등) */
23
46
  isLoading?: boolean;
47
+ /** 허용되는 최대 뎁스(이 값 이상 추가 불가) */
24
48
  maxLevel?: number;
49
+ /** 허용되는 최소 뎁스(이 값 이하 추가/작업 제한용) */
25
50
  minLevel?: number;
51
+ /** 해당 id로 스크롤 및 경로 자동 펼침/선택 */
26
52
  scrollTo?: string;
53
+ /** 라벨 수정 등 외부 편집 패치용(id, label 매핑 리스트) */
27
54
  editItems?: {
28
55
  id: string;
29
56
  label: string;
30
57
  }[];
58
+ /** 테이블 연동 검증용 데이터(id 존재 여부 확인 등에 사용) */
31
59
  tableData?: {
32
60
  id: string;
33
61
  }[];