@deep-eye/core 0.7.0 → 0.9.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 (116) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +137 -22
  3. package/dist/components/chat/AiConversation.vue.d.ts +28 -0
  4. package/dist/components/chat/AiConversation.vue.d.ts.map +1 -0
  5. package/dist/components/chat/ChatBot.vue.d.ts +48 -0
  6. package/dist/components/chat/ChatBot.vue.d.ts.map +1 -0
  7. package/dist/components/chat/builtInToolRenderers.d.ts +2 -0
  8. package/dist/components/chat/builtInToolRenderers.d.ts.map +1 -0
  9. package/dist/components/chat/components/ArtifactPreview.vue.d.ts +15 -0
  10. package/dist/components/chat/components/ArtifactPreview.vue.d.ts.map +1 -0
  11. package/dist/components/chat/components/AssistantTrace.vue.d.ts +27 -0
  12. package/dist/components/chat/components/AssistantTrace.vue.d.ts.map +1 -0
  13. package/dist/components/chat/components/ChartToolRenderer.vue.d.ts +7 -0
  14. package/dist/components/chat/components/ChartToolRenderer.vue.d.ts.map +1 -0
  15. package/dist/components/chat/components/ChatActionbar.vue.d.ts +26 -0
  16. package/dist/components/chat/components/ChatActionbar.vue.d.ts.map +1 -0
  17. package/dist/components/chat/components/ChatMessage.vue.d.ts +64 -0
  18. package/dist/components/chat/components/ChatMessage.vue.d.ts.map +1 -0
  19. package/dist/components/chat/components/ChatSender.vue.d.ts +58 -0
  20. package/dist/components/chat/components/ChatSender.vue.d.ts.map +1 -0
  21. package/dist/components/chat/components/CodeToolRenderer.vue.d.ts +9 -0
  22. package/dist/components/chat/components/CodeToolRenderer.vue.d.ts.map +1 -0
  23. package/dist/components/chat/components/EmptyState.vue.d.ts +11 -0
  24. package/dist/components/chat/components/EmptyState.vue.d.ts.map +1 -0
  25. package/dist/components/chat/components/MessageBubble.vue.d.ts +64 -0
  26. package/dist/components/chat/components/MessageBubble.vue.d.ts.map +1 -0
  27. package/dist/components/chat/components/MindMapToolRenderer.vue.d.ts +7 -0
  28. package/dist/components/chat/components/MindMapToolRenderer.vue.d.ts.map +1 -0
  29. package/dist/components/chat/components/OpenGenUIToolRenderer.vue.d.ts +7 -0
  30. package/dist/components/chat/components/OpenGenUIToolRenderer.vue.d.ts.map +1 -0
  31. package/dist/components/chat/components/OpenGenerativeUiChartRenderer.vue.d.ts +9 -0
  32. package/dist/components/chat/components/OpenGenerativeUiChartRenderer.vue.d.ts.map +1 -0
  33. package/dist/components/chat/components/OpenGenerativeUiPlanRenderer.vue.d.ts +9 -0
  34. package/dist/components/chat/components/OpenGenerativeUiPlanRenderer.vue.d.ts.map +1 -0
  35. package/dist/components/chat/components/OpenGenerativeUiScheduleRenderer.vue.d.ts +9 -0
  36. package/dist/components/chat/components/OpenGenerativeUiScheduleRenderer.vue.d.ts.map +1 -0
  37. package/dist/components/chat/components/OpenGenerativeUiThemeRenderer.vue.d.ts +7 -0
  38. package/dist/components/chat/components/OpenGenerativeUiThemeRenderer.vue.d.ts.map +1 -0
  39. package/dist/components/chat/components/SearchToolRenderer.vue.d.ts +7 -0
  40. package/dist/components/chat/components/SearchToolRenderer.vue.d.ts.map +1 -0
  41. package/dist/components/chat/components/TextPartRenderer.vue.d.ts +19 -0
  42. package/dist/components/chat/components/TextPartRenderer.vue.d.ts.map +1 -0
  43. package/dist/components/chat/components/ToolCallPart.vue.d.ts +11 -0
  44. package/dist/components/chat/components/ToolCallPart.vue.d.ts.map +1 -0
  45. package/dist/components/chat/components/index.d.ts +17 -0
  46. package/dist/components/chat/components/index.d.ts.map +1 -0
  47. package/dist/components/chat/composables/index.d.ts +3 -0
  48. package/dist/components/chat/composables/index.d.ts.map +1 -0
  49. package/dist/components/chat/composables/useConversation.d.ts +7 -0
  50. package/dist/components/chat/composables/useConversation.d.ts.map +1 -0
  51. package/dist/components/chat/composables/useConversationStream.d.ts +3 -0
  52. package/dist/components/chat/composables/useConversationStream.d.ts.map +1 -0
  53. package/dist/components/chat/index.d.ts +9 -0
  54. package/dist/components/chat/index.d.ts.map +1 -0
  55. package/dist/components/chat/mdoc/ArtifactBlock.vue.d.ts +13 -0
  56. package/dist/components/chat/mdoc/ArtifactBlock.vue.d.ts.map +1 -0
  57. package/dist/components/chat/mdoc/AskUserForm.vue.d.ts +33 -0
  58. package/dist/components/chat/mdoc/AskUserForm.vue.d.ts.map +1 -0
  59. package/dist/components/chat/mdoc/ContentNodes.vue.d.ts +16 -0
  60. package/dist/components/chat/mdoc/ContentNodes.vue.d.ts.map +1 -0
  61. package/dist/components/chat/mdoc/MediaImageLightbox.vue.d.ts +20 -0
  62. package/dist/components/chat/mdoc/MediaImageLightbox.vue.d.ts.map +1 -0
  63. package/dist/components/chat/mdoc/MediaImageStack.vue.d.ts +12 -0
  64. package/dist/components/chat/mdoc/MediaImageStack.vue.d.ts.map +1 -0
  65. package/dist/components/chat/mdoc/artifactDownload.d.ts +31 -0
  66. package/dist/components/chat/mdoc/artifactDownload.d.ts.map +1 -0
  67. package/dist/components/chat/mdoc/builtInRegistry.d.ts +12 -0
  68. package/dist/components/chat/mdoc/builtInRegistry.d.ts.map +1 -0
  69. package/dist/components/chat/mdoc/extractAskForms.d.ts +6 -0
  70. package/dist/components/chat/mdoc/extractAskForms.d.ts.map +1 -0
  71. package/dist/components/chat/mdoc/index.d.ts +8 -0
  72. package/dist/components/chat/mdoc/index.d.ts.map +1 -0
  73. package/dist/components/chat/mdoc/parser.d.ts +41 -0
  74. package/dist/components/chat/mdoc/parser.d.ts.map +1 -0
  75. package/dist/components/chat/mdoc/prompt.d.ts +6 -0
  76. package/dist/components/chat/mdoc/prompt.d.ts.map +1 -0
  77. package/dist/components/chat/mdoc/registry.d.ts +15 -0
  78. package/dist/components/chat/mdoc/registry.d.ts.map +1 -0
  79. package/dist/components/chat/mdoc/sanitize.d.ts +2 -0
  80. package/dist/components/chat/mdoc/sanitize.d.ts.map +1 -0
  81. package/dist/components/chat/mdoc/textContent.d.ts +38 -0
  82. package/dist/components/chat/mdoc/textContent.d.ts.map +1 -0
  83. package/dist/components/chat/openGenerativeUi.d.ts +25 -0
  84. package/dist/components/chat/openGenerativeUi.d.ts.map +1 -0
  85. package/dist/components/chat/presentation.d.ts +27 -0
  86. package/dist/components/chat/presentation.d.ts.map +1 -0
  87. package/dist/components/chat/toolRenderers.d.ts +8 -0
  88. package/dist/components/chat/toolRenderers.d.ts.map +1 -0
  89. package/dist/components/chat/types.d.ts +230 -0
  90. package/dist/components/chat/types.d.ts.map +1 -0
  91. package/dist/components/index.d.ts +3 -0
  92. package/dist/components/index.d.ts.map +1 -0
  93. package/dist/components/visualization/D3MindMap.vue.d.ts +83 -0
  94. package/dist/components/visualization/D3MindMap.vue.d.ts.map +1 -0
  95. package/dist/components/visualization/index.d.ts +5 -0
  96. package/dist/components/visualization/index.d.ts.map +1 -0
  97. package/dist/components/visualization/themes.d.ts +40 -0
  98. package/dist/components/visualization/themes.d.ts.map +1 -0
  99. package/dist/components/visualization/types.d.ts +291 -0
  100. package/dist/components/visualization/types.d.ts.map +1 -0
  101. package/dist/components/visualization/utils.d.ts +44 -0
  102. package/dist/components/visualization/utils.d.ts.map +1 -0
  103. package/dist/composables/index.d.ts +3 -0
  104. package/dist/composables/index.d.ts.map +1 -0
  105. package/dist/composables/useMindMapLayout.d.ts +16 -0
  106. package/dist/composables/useMindMapLayout.d.ts.map +1 -0
  107. package/dist/composables/useMindMapTheme.d.ts +43 -0
  108. package/dist/composables/useMindMapTheme.d.ts.map +1 -0
  109. package/dist/index.cjs +130 -26
  110. package/dist/index.d.ts +5 -0
  111. package/dist/index.d.ts.map +1 -0
  112. package/dist/index.js +6161 -5415
  113. package/dist/style.css +1 -1
  114. package/dist/types/index.d.ts +12 -0
  115. package/dist/types/index.d.ts.map +1 -0
  116. package/package.json +2 -1
@@ -0,0 +1,291 @@
1
+ /**
2
+ * 节点数据结构
3
+ */
4
+ export interface MindMapNode {
5
+ id: string;
6
+ topic: string;
7
+ root?: boolean;
8
+ expanded?: boolean;
9
+ children?: MindMapNode[];
10
+ [key: string]: any;
11
+ }
12
+ /**
13
+ * 思维导图数据结构
14
+ */
15
+ export interface MindMapData {
16
+ nodeData: MindMapNode;
17
+ }
18
+ /**
19
+ * 节点样式配置函数类型
20
+ */
21
+ export type NodeStyleFunction<T> = (node: MindMapNode, depth: number) => T;
22
+ /**
23
+ * 节点样式配置
24
+ */
25
+ export interface NodeStyleConfig {
26
+ /** 节点颜色配置(数组按深度索引,函数动态计算) */
27
+ colors?: string[] | NodeStyleFunction<string>;
28
+ /** 节点背景色(优先级高于 colors) */
29
+ backgroundColor?: string | NodeStyleFunction<string>;
30
+ /** 文本颜色 */
31
+ textColor?: string | NodeStyleFunction<string>;
32
+ /** 字体大小 */
33
+ fontSize?: number | string;
34
+ /** 字体族 */
35
+ fontFamily?: string;
36
+ /** 字体粗细 */
37
+ fontWeight?: number | string;
38
+ /** 圆角半径 */
39
+ borderRadius?: number;
40
+ /** 内边距 [水平, 垂直] 或单个值 */
41
+ padding?: [number, number] | number;
42
+ /** 最小宽度 */
43
+ minWidth?: number;
44
+ /** 最小高度 */
45
+ minHeight?: number;
46
+ /** 边框宽度 */
47
+ borderWidth?: number;
48
+ /** 边框颜色 */
49
+ borderColor?: string | NodeStyleFunction<string>;
50
+ /** 边框样式 */
51
+ borderStyle?: 'solid' | 'dashed' | 'dotted' | 'none';
52
+ }
53
+ /**
54
+ * 连线样式配置函数类型
55
+ */
56
+ export type LinkStyleFunction<T> = (link: {
57
+ source: any;
58
+ target: any;
59
+ }, depth: number) => T;
60
+ /**
61
+ * 连线样式配置
62
+ */
63
+ export interface LinkStyleConfig {
64
+ /** 连线颜色 */
65
+ color?: string | LinkStyleFunction<string>;
66
+ /** 连线宽度 */
67
+ width?: number;
68
+ /** 连线样式 */
69
+ style?: 'solid' | 'dashed' | 'dotted';
70
+ /** 曲线类型 */
71
+ curve?: 'bezier' | 'straight' | 'step' | 'smooth';
72
+ /** 是否启用动画 */
73
+ animated?: boolean;
74
+ /** 动画持续时间(毫秒) */
75
+ animationDuration?: number;
76
+ }
77
+ /**
78
+ * 布局配置
79
+ */
80
+ export interface LayoutConfig {
81
+ /** 布局方向 */
82
+ direction?: 'horizontal' | 'vertical';
83
+ /** 兄弟节点间距 */
84
+ nodeSpacing?: number;
85
+ /** 层级间距 */
86
+ levelSpacing?: number;
87
+ /** 对齐方式 */
88
+ align?: 'start' | 'center' | 'end';
89
+ }
90
+ /**
91
+ * 主题配置
92
+ */
93
+ export interface Theme {
94
+ /** 主题名称 */
95
+ name: string;
96
+ /** 节点样式 */
97
+ nodeStyle?: NodeStyleConfig;
98
+ /** 连线样式 */
99
+ linkStyle?: LinkStyleConfig;
100
+ /** 布局配置 */
101
+ layoutConfig?: LayoutConfig;
102
+ /** 背景色 */
103
+ background?: string;
104
+ /** 网格配置 */
105
+ grid?: {
106
+ show?: boolean;
107
+ color?: string;
108
+ size?: number;
109
+ };
110
+ }
111
+ /**
112
+ * 导出选项
113
+ */
114
+ export interface ExportOptions {
115
+ /** 导出质量(0-1) */
116
+ quality?: number;
117
+ /** 背景色 */
118
+ backgroundColor?: string;
119
+ /** 是否包含背景 */
120
+ includeBackground?: boolean;
121
+ /** 缩放比例 */
122
+ scale?: number;
123
+ /** 宽度 */
124
+ width?: number;
125
+ /** 高度 */
126
+ height?: number;
127
+ }
128
+ /**
129
+ * 变换信息
130
+ */
131
+ export interface TransformInfo {
132
+ x: number;
133
+ y: number;
134
+ k: number;
135
+ }
136
+ /**
137
+ * 节点插槽参数
138
+ */
139
+ export interface NodeSlotProps {
140
+ /** 节点数据 */
141
+ node: MindMapNode;
142
+ /** 节点深度 */
143
+ depth: number;
144
+ /** 是否展开 */
145
+ expanded: boolean;
146
+ /** 是否为根节点 */
147
+ isRoot: boolean;
148
+ /** 节点宽度 */
149
+ width: number;
150
+ /** 节点高度 */
151
+ height: number;
152
+ }
153
+ /**
154
+ * 展开按钮插槽参数
155
+ */
156
+ export interface ExpandButtonSlotProps {
157
+ /** 节点数据 */
158
+ node: MindMapNode;
159
+ /** 是否展开 */
160
+ expanded: boolean;
161
+ /** 切换展开/折叠 */
162
+ toggle: () => void;
163
+ }
164
+ /**
165
+ * 工具栏插槽参数
166
+ */
167
+ export interface ToolbarSlotProps {
168
+ /** 放大 */
169
+ zoomIn: () => void;
170
+ /** 缩小 */
171
+ zoomOut: () => void;
172
+ /** 适应窗口 */
173
+ fit: () => void;
174
+ /** 居中 */
175
+ toCenter: () => void;
176
+ /** 展开所有 */
177
+ expandAll: () => void;
178
+ /** 折叠所有 */
179
+ collapseAll: () => void;
180
+ /** 导出图片 */
181
+ exportImage: (format?: 'png' | 'svg') => Promise<Blob>;
182
+ /** 当前缩放比例 */
183
+ scale: number;
184
+ /** 可见节点数量 */
185
+ visibleNodeCount: number;
186
+ }
187
+ /**
188
+ * D3MindMap 组件 Props
189
+ */
190
+ export interface D3MindMapProps {
191
+ /** 思维导图数据 */
192
+ data?: MindMapData;
193
+ /** 是否只读 */
194
+ readonly?: boolean;
195
+ /** 高度 */
196
+ height?: string | number;
197
+ /** 宽度 */
198
+ width?: string | number;
199
+ /** 是否显示工具栏 */
200
+ showToolbar?: boolean;
201
+ /** 是否显示下载按钮 */
202
+ showDownload?: boolean;
203
+ /** 是否显示节点数量 */
204
+ showCounts?: boolean;
205
+ /** 是否显示缩放比例 */
206
+ showScale?: boolean;
207
+ /** 工具栏位置 */
208
+ toolbarPosition?: 'top' | 'right' | 'bottom' | 'left';
209
+ /** 主题配置 */
210
+ theme?: Theme;
211
+ /** 节点样式配置 */
212
+ nodeStyle?: NodeStyleConfig;
213
+ /** 连线样式配置 */
214
+ linkStyle?: LinkStyleConfig;
215
+ /** 布局配置 */
216
+ layoutConfig?: LayoutConfig;
217
+ }
218
+ /**
219
+ * D3MindMap 组件 Emits
220
+ */
221
+ export interface D3MindMapEmits {
222
+ /** 数据变化 */
223
+ (e: 'change', data: MindMapData): void;
224
+ /** 节点单击 */
225
+ (e: 'node-click', node: MindMapNode, event: MouseEvent): void;
226
+ /** 节点双击 */
227
+ (e: 'node-dblclick', node: MindMapNode, event: MouseEvent): void;
228
+ /** 节点右键 */
229
+ (e: 'node-contextmenu', node: MindMapNode, event: MouseEvent): void;
230
+ /** 节点鼠标进入 */
231
+ (e: 'node-mouseenter', node: MindMapNode, event: MouseEvent): void;
232
+ /** 节点鼠标离开 */
233
+ (e: 'node-mouseleave', node: MindMapNode, event: MouseEvent): void;
234
+ /** 节点展开 */
235
+ (e: 'node-expand', node: MindMapNode): void;
236
+ /** 节点折叠 */
237
+ (e: 'node-collapse', node: MindMapNode): void;
238
+ /** 缩放变化 */
239
+ (e: 'zoom', scale: number): void;
240
+ /** 平移变化 */
241
+ (e: 'pan', transform: TransformInfo): void;
242
+ /** 下载 */
243
+ (e: 'download'): void;
244
+ /** 组件就绪 */
245
+ (e: 'ready'): void;
246
+ }
247
+ /**
248
+ * D3MindMap 组件暴露的方法
249
+ */
250
+ export interface D3MindMapExpose {
251
+ /** 获取数据 */
252
+ getData: () => MindMapData | null;
253
+ /** 设置数据 */
254
+ setData: (data: MindMapData) => void;
255
+ /** 居中到根节点 */
256
+ toCenter: () => void;
257
+ /** 展开/折叠所有节点 */
258
+ expandAll: (expand: boolean) => void;
259
+ /** 放大 */
260
+ zoomIn: () => void;
261
+ /** 缩小 */
262
+ zoomOut: () => void;
263
+ /** 设置缩放比例 */
264
+ setZoom: (scale: number) => void;
265
+ /** 获取缩放比例 */
266
+ getZoom: () => number;
267
+ /** 获取实例 */
268
+ getInstance: () => {
269
+ treeData: any;
270
+ nodeData: any;
271
+ };
272
+ /** 适应窗口 */
273
+ fit: () => void;
274
+ /** 适应窗口(别名) */
275
+ fitToWindow: () => void;
276
+ /** 聚焦到指定节点 */
277
+ fitToNode: (nodeId: string) => void;
278
+ /** 展开指定节点 */
279
+ expandNode: (nodeId: string) => void;
280
+ /** 折叠指定节点 */
281
+ collapseNode: (nodeId: string) => void;
282
+ /** 根据 ID 获取节点 */
283
+ getNodeById: (nodeId: string) => MindMapNode | null;
284
+ /** 更新节点数据 */
285
+ updateNode: (nodeId: string, data: Partial<MindMapNode>) => void;
286
+ /** 导出图片 */
287
+ exportImage: (format?: 'png' | 'svg', options?: ExportOptions) => Promise<Blob>;
288
+ /** 获取可见节点列表 */
289
+ getVisibleNodes: () => MindMapNode[];
290
+ }
291
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/visualization/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * 工具函数
3
+ */
4
+ /**
5
+ * 获取文本宽度
6
+ */
7
+ export declare function getTextWidth(text: string, font: string): number;
8
+ /**
9
+ * 深度克隆对象
10
+ */
11
+ export declare function deepClone<T>(obj: T): T;
12
+ /**
13
+ * 防抖函数
14
+ */
15
+ export declare function debounce<T extends (...args: any[]) => any>(func: T, wait: number): (...args: Parameters<T>) => void;
16
+ /**
17
+ * 节流函数
18
+ */
19
+ export declare function throttle<T extends (...args: any[]) => any>(func: T, wait: number): (...args: Parameters<T>) => void;
20
+ /**
21
+ * 将 SVG 转换为 Blob
22
+ */
23
+ export declare function svgToBlob(svgElement: SVGSVGElement, backgroundColor?: string): Promise<Blob>;
24
+ /**
25
+ * 将 SVG 转换为 PNG
26
+ */
27
+ export declare function svgToPng(svgElement: SVGSVGElement, options?: {
28
+ scale?: number;
29
+ backgroundColor?: string;
30
+ quality?: number;
31
+ }): Promise<Blob>;
32
+ /**
33
+ * 下载 Blob
34
+ */
35
+ export declare function downloadBlob(blob: Blob, filename: string): void;
36
+ /**
37
+ * 判断是否为渐变色
38
+ */
39
+ export declare function isGradient(color: string): boolean;
40
+ /**
41
+ * 解析渐变色(简单实现,返回第一个颜色)
42
+ */
43
+ export declare function parseGradientColor(gradient: string): string;
44
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/components/visualization/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAO/D;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAwBtC;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EACxD,IAAI,EAAE,CAAC,EACP,IAAI,EAAE,MAAM,GACX,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAelC;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EACxD,IAAI,EAAE,CAAC,EACP,IAAI,EAAE,MAAM,GACX,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CA2BlC;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,UAAU,EAAE,aAAa,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoB5F;AAED;;GAEG;AACH,wBAAgB,QAAQ,CACtB,UAAU,EAAE,aAAa,EACzB,OAAO,GAAE;IACP,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,OAAO,CAAC,EAAE,MAAM,CAAA;CACZ,GACL,OAAO,CAAC,IAAI,CAAC,CA2Df;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAS/D;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAG3D"}
@@ -0,0 +1,3 @@
1
+ export * from './useMindMapTheme';
2
+ export * from './useMindMapLayout';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/composables/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA"}
@@ -0,0 +1,16 @@
1
+ import type { LayoutConfig } from '../components/visualization/types';
2
+ /**
3
+ * 布局 Composable
4
+ */
5
+ export declare function useMindMapLayout(layoutConfig?: LayoutConfig): {
6
+ direction: import("vue").ComputedRef<"horizontal" | "vertical">;
7
+ nodeSpacing: import("vue").ComputedRef<number | undefined>;
8
+ levelSpacing: import("vue").ComputedRef<number | undefined>;
9
+ align: import("vue").ComputedRef<"start" | "center" | "end">;
10
+ isHorizontal: import("vue").ComputedRef<boolean>;
11
+ isVertical: import("vue").ComputedRef<boolean>;
12
+ getNodeSpacing: () => number | undefined;
13
+ getLevelSpacing: () => number | undefined;
14
+ getAlign: () => "start" | "center" | "end";
15
+ };
16
+ //# sourceMappingURL=useMindMapLayout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMindMapLayout.d.ts","sourceRoot":"","sources":["../../src/composables/useMindMapLayout.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAErE;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,CAAC,EAAE,YAAY;;;;;;;0BA0B/B,MAAM,GAAG,SAAS;2BAOjB,MAAM,GAAG,SAAS;oBAOzB,OAAO,GAAG,QAAQ,GAAG,KAAK;EAehD"}
@@ -0,0 +1,43 @@
1
+ import { type ComputedRef, type Ref } from 'vue';
2
+ import type { Theme, NodeStyleConfig, LinkStyleConfig, MindMapNode } from '../components/visualization/types';
3
+ /**
4
+ * 主题 Composable
5
+ */
6
+ export declare function useMindMapTheme(theme?: Theme | Ref<Theme> | (() => Theme | undefined), nodeStyle?: NodeStyleConfig, linkStyle?: LinkStyleConfig): {
7
+ finalTheme: ComputedRef<Theme>;
8
+ getNodeColor: (node: MindMapNode, depth: number) => string;
9
+ getNodeTextColor: (node: MindMapNode, depth: number) => string;
10
+ getNodeBorderColor: (node: MindMapNode, depth: number) => string | undefined;
11
+ getLinkColor: (link: {
12
+ source: any;
13
+ target: any;
14
+ }, depth: number) => string;
15
+ getNodeStyle: (node: MindMapNode, depth: number) => {
16
+ backgroundColor: string;
17
+ color: string;
18
+ fontSize: string;
19
+ fontFamily: string;
20
+ fontWeight: string | number;
21
+ borderRadius: string;
22
+ borderWidth: string;
23
+ borderColor: string | undefined;
24
+ borderStyle: "solid" | "dashed" | "dotted" | "none";
25
+ };
26
+ getNodePadding: () => [number, number];
27
+ getNodeMinSize: () => {
28
+ minWidth: number;
29
+ minHeight: number;
30
+ };
31
+ getLinkWidth: () => number;
32
+ getLinkStyle: () => string;
33
+ getBackgroundStyle: () => {
34
+ backgroundColor: string;
35
+ backgroundImage?: undefined;
36
+ backgroundSize?: undefined;
37
+ } | {
38
+ backgroundColor: string;
39
+ backgroundImage: string;
40
+ backgroundSize: string;
41
+ };
42
+ };
43
+ //# sourceMappingURL=useMindMapTheme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMindMapTheme.d.ts","sourceRoot":"","sources":["../../src/composables/useMindMapTheme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,WAAW,EAAE,KAAK,GAAG,EAAS,MAAM,KAAK,CAAA;AACjE,OAAO,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAA;AAG7G;;GAEG;AACH,wBAAgB,eAAe,CAC7B,KAAK,CAAC,EAAE,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,KAAK,GAAG,SAAS,CAAC,EACtD,SAAS,CAAC,EAAE,eAAe,EAC3B,SAAS,CAAC,EAAE,eAAe;;yBA0BC,WAAW,SAAS,MAAM,KAAG,MAAM;6BAkC/B,WAAW,SAAS,MAAM,KAAG,MAAM;+BAoBjC,WAAW,SAAS,MAAM,KAAG,MAAM,GAAG,SAAS;yBAgBrD;QAAE,MAAM,EAAE,GAAG,CAAC;QAAC,MAAM,EAAE,GAAG,CAAA;KAAE,SAAS,MAAM,KAAG,MAAM;yBAsBpD,WAAW,SAAS,MAAM;;;;;;;;;;;0BAmB3B,CAAC,MAAM,EAAE,MAAM,CAAC;0BAiBhB;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE;wBAYzC,MAAM;wBAON,MAAM;;;;;;;;;;EAwChC"}