File size: 1,567 Bytes
8ede856
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
/**
 * 通用文件夹管理组件库
 * 
 * 提供可复用的文件夹管理 UI 组件,适用于各种需要文件夹组织功能的场景
 * 如:persona 管理、模板管理、知识库管理等
 * 
 * 使用示例:
 * ```vue
 * <script setup>
 * import {
 *   BaseFolderTree,
 *   BaseFolderCard,
 *   BaseFolderBreadcrumb,
 *   BaseCreateFolderDialog,
 *   BaseMoveToFolderDialog,
 *   useFolderManager
 * } from '@/components/folder';
 * 
 * const folderManager = useFolderManager({
 *   operations: {
 *     loadFolderTree: async () => { ... },
 *     loadSubFolders: async (parentId) => { ... },
 *     createFolder: async (data) => { ... },
 *     updateFolder: async (data) => { ... },
 *     deleteFolder: async (folderId) => { ... },
 *   }
 * });
 * </script>
 * ```
 */

// 类型导出
export * from './types';

// Composable 导出
export { useFolderManager, collectFolderAndChildrenIds } from './useFolderManager';
export type { UseFolderManagerOptions, UseFolderManagerReturn } from './useFolderManager';

// 组件导出
export { default as BaseFolderTree } from './BaseFolderTree.vue';
export { default as BaseFolderTreeNode } from './BaseFolderTreeNode.vue';
export { default as BaseFolderCard } from './BaseFolderCard.vue';
export { default as BaseFolderBreadcrumb } from './BaseFolderBreadcrumb.vue';
export { default as BaseCreateFolderDialog } from './BaseCreateFolderDialog.vue';
export { default as BaseMoveToFolderDialog } from './BaseMoveToFolderDialog.vue';
export { default as BaseMoveTargetNode } from './BaseMoveTargetNode.vue';