fone-design-system_v2 1.0.77 → 1.0.78
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/components/ContextMenu/ContextMenu.d.ts +34 -0
- package/dist/components/ContextMenu/index.d.ts +2 -0
- package/dist/components/TreeView2/TreeView2.d.ts +11 -10
- package/dist/fone-design-system.es.js +49024 -45838
- package/dist/fone-design-system.umd.js +394 -237
- package/dist/index.d.ts +1 -0
- package/package.json +9 -6
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { MenuProps } from '@mui/material/Menu';
|
|
3
|
+
export interface ContextMenuProps extends Omit<MenuProps, "open" | "onClose"> {
|
|
4
|
+
/** 컴포넌트의 스타일을 변경하거나 확장 */
|
|
5
|
+
classes?: Record<string, string>;
|
|
6
|
+
/** 리스트 내부에 포함될 콘텐츠 */
|
|
7
|
+
children?: React.ReactNode;
|
|
8
|
+
/** 메뉴 열림 여부 (제어형 사용 시) */
|
|
9
|
+
open?: boolean;
|
|
10
|
+
/** 메뉴 닫기 이벤트 핸들러 (제어형 사용 시) */
|
|
11
|
+
onClose?: () => void;
|
|
12
|
+
/** 우클릭 대상 엘리먼트 (비제어형 사용 시) */
|
|
13
|
+
target?: React.ReactElement;
|
|
14
|
+
/** 데이터 기반 렌더링 항목들 (제공 시 children 대신 사용) */
|
|
15
|
+
items?: ContextMenuItem[];
|
|
16
|
+
/** 항목 클릭 시 모든 메뉴 닫기 (기본값: true) */
|
|
17
|
+
closeOnItemClick?: boolean;
|
|
18
|
+
/** 메뉴가 열려있는 동안 전역 우클릭(컨텍스트메뉴) 차단 (기본값: true) */
|
|
19
|
+
suppressContextMenuWhileOpen?: boolean;
|
|
20
|
+
}
|
|
21
|
+
export type ContextMenuItem = {
|
|
22
|
+
id: string;
|
|
23
|
+
label: React.ReactNode;
|
|
24
|
+
disabled?: boolean;
|
|
25
|
+
icon?: React.ReactNode;
|
|
26
|
+
onClick?: (event: React.MouseEvent) => void;
|
|
27
|
+
items?: ContextMenuItem[];
|
|
28
|
+
/** 구분선 표시 여부 (간단 구현: 상단에 구분선 여백 처리) */
|
|
29
|
+
dividerBefore?: boolean;
|
|
30
|
+
};
|
|
31
|
+
export declare const ContextMenu: {
|
|
32
|
+
(props: ContextMenuProps): import("react/jsx-runtime").JSX.Element;
|
|
33
|
+
displayName: string;
|
|
34
|
+
};
|
|
@@ -4,10 +4,12 @@ import { RichTreeViewProps } from '@mui/x-tree-view/RichTreeView';
|
|
|
4
4
|
export interface TreeView2Props extends RichTreeViewProps<TreeViewBaseItem, boolean> {
|
|
5
5
|
/** 외부 스타일 커스터마이징용 class */
|
|
6
6
|
className?: string;
|
|
7
|
-
/** 트리 상단 타이틀 텍스트 */
|
|
8
|
-
title?: string;
|
|
9
7
|
/** 렌더링할 최상위 트리 데이터 */
|
|
10
8
|
items: TreeViewBaseItem[];
|
|
9
|
+
/** 행 hover 시 배경 하이라이트 표시 여부 @default true */
|
|
10
|
+
hoverHighlight?: boolean;
|
|
11
|
+
/** 노드 open 토글을 외부에서 제어하고 싶을 때 호출됩니다. 제공되면 내부에서는 open 상태를 변경하지 않습니다. */
|
|
12
|
+
onToggleOpen?: (id: string, nextOpen: boolean) => void;
|
|
11
13
|
/** 아이템 비활성 조건 함수(비활성 시 클릭/체크 방지) */
|
|
12
14
|
isItemDisabled?: (item: TreeViewBaseItem) => boolean;
|
|
13
15
|
/** 체크박스 선택 기능 사용 여부 @default false*/
|
|
@@ -30,15 +32,8 @@ export interface TreeView2Props extends RichTreeViewProps<TreeViewBaseItem, bool
|
|
|
30
32
|
* - function: (item, parentId)로 신규 행 생성 로직 위임
|
|
31
33
|
* item: menuLvSeq 포함한 노드 정보
|
|
32
34
|
*/
|
|
33
|
-
onAddRow?: boolean | ((item: TreeViewBaseItem & {
|
|
34
|
-
menuLvSeq: string;
|
|
35
|
-
}, parentId: string) => void);
|
|
36
35
|
/** 행 삭제 콜백(실제 데이터 삭제는 부모에서 처리) */
|
|
37
|
-
onDeleteRow?: (item: TreeViewBaseItem & {
|
|
38
|
-
menuLvSeq: string;
|
|
39
|
-
}) => void;
|
|
40
36
|
/** 저장 버튼 클릭/인라인 생성 완료 등 저장 트리거 콜백 */
|
|
41
|
-
onSave?: () => void;
|
|
42
37
|
/** 프리뷰 바에 표시할 텍스트(옵션) */
|
|
43
38
|
previewText?: string;
|
|
44
39
|
/** 초기 전체 펼침 여부(true면 모든 브랜치 펼침) */
|
|
@@ -60,6 +55,12 @@ export interface TreeView2Props extends RichTreeViewProps<TreeViewBaseItem, bool
|
|
|
60
55
|
tableData?: {
|
|
61
56
|
id: string;
|
|
62
57
|
}[];
|
|
58
|
+
/** DnD 재정렬 모드 활성화 (같은 레벨/같은 그룹 내에서만 이동) */
|
|
59
|
+
reorderMode?: boolean;
|
|
60
|
+
/** 몇 레벨부터 드래그 가능하게 할지 (기본값: 1, 루트 레벨) */
|
|
61
|
+
draggableFromLevel?: number;
|
|
62
|
+
/** 재정렬 결과가 확정될 때 호출되는 콜백 (최상위 items 전체를 반환) */
|
|
63
|
+
onReorder?: (nextItems: TreeViewBaseItem[]) => void;
|
|
63
64
|
}
|
|
64
|
-
declare const TreeView2: ({ className, items,
|
|
65
|
+
declare const TreeView2: ({ className, items, hoverHighlight, onToggleOpen, isItemDisabled, checkboxSelection, multiSelect, reorderMode, draggableFromLevel, onItemSelectionToggle, onItemClick, onItemDoubleClick, defaultExpanded, isLoading, scrollTo, editItems, previewText, onReorder, }: TreeView2Props) => import("react/jsx-runtime").JSX.Element;
|
|
65
66
|
export default TreeView2;
|