@deep-eye/core 1.2.27 → 1.2.29

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/CHANGELOG.md CHANGED
@@ -2,6 +2,23 @@
2
2
 
3
3
  `@deep-eye/core` 的用户可见变更(语义化版本)。
4
4
 
5
+ ## [1.2.29] - 2026-08-06
6
+
7
+ ### Added
8
+
9
+ - `D3MindMap`:`streaming` 热更新(`applyData` 不折叠、不强制 fit);`draggable` 节点拖拽改挂/排序与 `dragStyle`;`addNodeByDirection`、`undo` / `redo` / `isModified` 与 `modified` 事件。
10
+
11
+ ### Changed
12
+
13
+ - `D3MindMap`:布局与树操作拆到 `useMindMapLayoutEngine` / `useMindMapTreeOps` / `useMindMapHistory` / `useMindMapDrag`;D3 类型用官方 Hierarchy 类型替换 `any`。
14
+
15
+ ## [1.2.28] - 2026-08-06
16
+
17
+ ### Fixed
18
+
19
+ - `ToolCallPart`:详情高度测量改为挂载即测 + `ResizeObserver`,超高内容首次展开即可出现「展开更多」;去掉原生 `<details>` + `v-if`,开合走真实 height 过渡,完成后自动收起也有动画。
20
+ - 连续图片:`image` → `image-stack` 复用首图 id,避免 remount 抖动;`MediaImageStack` / `ContentNodes` 增加布局与 pending→实图的交叉淡入。
21
+
5
22
  ## [1.2.27] - 2026-08-06
6
23
 
7
24
  ### Added
@@ -62,8 +62,8 @@ type __VLS_Slots = {
62
62
  };
63
63
  declare const __VLS_base: import("vue").DefineComponent<ChatBotProps, ChatBotExpose, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
64
64
  stop: () => any;
65
- retry: (payload: ChatSendPayload | null, error: Error) => any;
66
65
  copy: (payload: ChatActionbarCopyPayload) => any;
66
+ retry: (payload: ChatSendPayload | null, error: Error) => any;
67
67
  action: (payload: ConversationUiAction) => any;
68
68
  "tool-action": (payload: ChatToolActionPayload) => any;
69
69
  send: (payload: ChatSendPayload) => any;
@@ -113,8 +113,8 @@ declare const __VLS_base: import("vue").DefineComponent<ChatBotProps, ChatBotExp
113
113
  "response-error": (error: Error, info: ClassifiedChatError) => any;
114
114
  }, string, import("vue").PublicProps, Readonly<ChatBotProps> & Readonly<{
115
115
  onStop?: (() => any) | undefined;
116
- onRetry?: ((payload: ChatSendPayload | null, error: Error) => any) | undefined;
117
116
  onCopy?: ((payload: ChatActionbarCopyPayload) => any) | undefined;
117
+ onRetry?: ((payload: ChatSendPayload | null, error: Error) => any) | undefined;
118
118
  onAction?: ((payload: ConversationUiAction) => any) | undefined;
119
119
  "onTool-action"?: ((payload: ChatToolActionPayload) => any) | undefined;
120
120
  onSend?: ((payload: ChatSendPayload) => any) | undefined;
@@ -73,8 +73,8 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
73
73
  default: undefined;
74
74
  };
75
75
  }>, ConversationListExpose, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
76
- retry: () => any;
77
76
  copy: (payload: ChatActionbarCopyPayload) => any;
77
+ retry: () => any;
78
78
  action: (payload: ConversationUiAction) => any;
79
79
  "tool-action": (payload: ChatToolActionPayload) => any;
80
80
  "attachment-preview": (resource: ChatResourceFile) => any;
@@ -120,8 +120,8 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
120
120
  default: undefined;
121
121
  };
122
122
  }>> & Readonly<{
123
- onRetry?: (() => any) | undefined;
124
123
  onCopy?: ((payload: ChatActionbarCopyPayload) => any) | undefined;
124
+ onRetry?: (() => any) | undefined;
125
125
  onAction?: ((payload: ConversationUiAction) => any) | undefined;
126
126
  "onTool-action"?: ((payload: ChatToolActionPayload) => any) | undefined;
127
127
  "onAttachment-preview"?: ((resource: ChatResourceFile) => any) | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"ToolCallPart.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/components/ToolCallPart.vue"],"names":[],"mappings":"AAwwBA,OAAO,EAAkC,KAAK,SAAS,EAAE,MAAM,KAAK,CAAA;AACpE,OAAO,KAAK,EACV,qBAAqB,EACrB,aAAa,EACb,oBAAoB,EAEpB,WAAW,EACZ,MAAM,UAAU,CAAA;AACjB,OAAO,yBAAyB,CAAA;AAYhC,KAAK,WAAW,GAAG;IACjB,QAAQ,EAAE,oBAAoB,CAAA;IAC9B,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,SAAS,CAAC,EAAE,aAAa,CAAA;IACzB,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAC;AAskBF,QAAA,MAAM,YAAY;;;;kFAGhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
1
+ {"version":3,"file":"ToolCallPart.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/components/ToolCallPart.vue"],"names":[],"mappings":"AAwzBA,OAAO,EAAyC,KAAK,SAAS,EAAE,MAAM,KAAK,CAAA;AAC3E,OAAO,KAAK,EACV,qBAAqB,EACrB,aAAa,EACb,oBAAoB,EAEpB,WAAW,EACZ,MAAM,UAAU,CAAA;AACjB,OAAO,yBAAyB,CAAA;AAWhC,KAAK,WAAW,GAAG;IACjB,QAAQ,EAAE,oBAAoB,CAAA;IAC9B,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,SAAS,CAAC,EAAE,aAAa,CAAA;IACzB,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAC;AAymBF,QAAA,MAAM,YAAY;;;;kFAGhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ContentNodes.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/mdoc/ContentNodes.vue"],"names":[],"mappings":"AAiTA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAepD,OAAO,aAAa,CAAA;AAIpB,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,kCAAkC;IAClC,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,CAAA;CAChC,CAAC;AAuYF,QAAA,MAAM,YAAY;;;;kFAGhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
1
+ {"version":3,"file":"ContentNodes.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/mdoc/ContentNodes.vue"],"names":[],"mappings":"AAsVA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAepD,OAAO,aAAa,CAAA;AAIpB,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,kCAAkC;IAClC,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,CAAA;CAChC,CAAC;AAyZF,QAAA,MAAM,YAAY;;;;kFAGhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -1 +1 @@
1
- {"version":3,"file":"MediaImageStack.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/mdoc/MediaImageStack.vue"],"names":[],"mappings":"AAiXA,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,CAAA;AAYD,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,eAAe,EAAE,CAAA;CAC1B,CAAC;AA6WF,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
1
+ {"version":3,"file":"MediaImageStack.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/mdoc/MediaImageStack.vue"],"names":[],"mappings":"AAsaA,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,CAAA;AAYD,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,eAAe,EAAE,CAAA;CAC1B,CAAC;AA6YF,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -1 +1 @@
1
- {"version":3,"file":"textContent.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/mdoc/textContent.ts"],"names":[],"mappings":"AAOA,QAAA,MAAM,aAAa,qCAAa,CAAA;AAGhC,wBAAgB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAYnD;AAID,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AAED,OAAO,EAAE,aAAa,IAAI,aAAa,EAAE,CAAA;AAEzC,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GACxD;IACE,IAAI,EAAE,aAAa,CAAA;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CACzD,GACD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3D;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAC1D;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAA;CAAE,CAAA;AA4DjF;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG;IAC1D,SAAS,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAA;IACtC,UAAU,EAAE,MAAM,CAAA;CACnB,GAAG,IAAI,CAeP;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAO,GACpC,WAAW,EAAE,CAqFf"}
1
+ {"version":3,"file":"textContent.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/mdoc/textContent.ts"],"names":[],"mappings":"AAOA,QAAA,MAAM,aAAa,qCAAa,CAAA;AAGhC,wBAAgB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAYnD;AAID,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AAED,OAAO,EAAE,aAAa,IAAI,aAAa,EAAE,CAAA;AAEzC,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GACxD;IACE,IAAI,EAAE,aAAa,CAAA;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CACzD,GACD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3D;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAC1D;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAA;CAAE,CAAA;AA4DjF;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG;IAC1D,SAAS,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAA;IACtC,UAAU,EAAE,MAAM,CAAA;CACnB,GAAG,IAAI,CAeP;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAO,GACpC,WAAW,EAAE,CAoFf"}
@@ -1,4 +1,4 @@
1
- import type { D3MindMapProps, MindMapData, MindMapNode, ExportOptions } from './types';
1
+ import type { D3MindMapProps, MindMapData, MindMapNode, MindMapAddDirection, MindMapDropPosition, MindMapDatum, MindMapPointNode, ExportOptions } from './types';
2
2
  declare var __VLS_1: {
3
3
  zoomIn: () => void;
4
4
  zoomOut: () => void;
@@ -14,8 +14,9 @@ type __VLS_Slots = {} & {
14
14
  toolbar?: (props: typeof __VLS_1) => any;
15
15
  };
16
16
  declare const __VLS_base: import("vue").DefineComponent<D3MindMapProps, {
17
- getData: () => any;
18
- setData: (data: any) => void;
17
+ getData: () => MindMapData | null;
18
+ setData: (data: MindMapData | MindMapDatum) => void;
19
+ applyData: (data: MindMapData | MindMapDatum) => void;
19
20
  toCenter: () => void;
20
21
  expandAll: (expand: boolean) => void;
21
22
  expandNode: (nodeId: string) => void;
@@ -26,18 +27,42 @@ declare const __VLS_base: import("vue").DefineComponent<D3MindMapProps, {
26
27
  getZoom: () => number;
27
28
  setZoomEnabled: (enabled: boolean) => void;
28
29
  getInstance: () => {
29
- treeData: any;
30
- nodeData: any;
30
+ treeData: MindMapPointNode | null;
31
+ nodeData: {
32
+ [x: string]: unknown;
33
+ id: string;
34
+ topic: string;
35
+ root?: boolean | undefined;
36
+ expanded?: boolean | undefined;
37
+ children?: {
38
+ [x: string]: unknown;
39
+ id: string;
40
+ topic: string;
41
+ root?: boolean | undefined;
42
+ expanded?: boolean | undefined;
43
+ children?: /*elided*/ any[] | undefined;
44
+ }[] | undefined;
45
+ _nodeWidth?: number | undefined;
46
+ _original?: /*elided*/ any | undefined;
47
+ } | null;
31
48
  };
32
49
  fit: () => void;
33
50
  fitToWindow: () => void;
34
51
  fitToNode: (nodeId: string) => void;
35
- getNodeById: (nodeId: string) => any | null;
36
- updateNode: (nodeId: string, data: Record<string, any>) => void;
52
+ getNodeById: (nodeId: string) => MindMapDatum | null;
53
+ updateNode: (nodeId: string, data: Partial<MindMapNode>) => void;
37
54
  addNode: (parentId: string, node: Partial<MindMapNode>) => string;
55
+ addNodeByDirection: (referenceId: string, direction: MindMapAddDirection, node?: Partial<MindMapNode>) => string;
38
56
  removeNode: (nodeId: string) => boolean;
57
+ moveNode: (nodeId: string, targetId: string, position: MindMapDropPosition) => boolean;
58
+ undo: () => boolean;
59
+ redo: () => boolean;
60
+ canUndo: () => boolean;
61
+ canRedo: () => boolean;
62
+ isModified: () => boolean;
63
+ markClean: () => void;
39
64
  exportImage: (format?: "png" | "svg", options?: ExportOptions) => Promise<Blob>;
40
- getVisibleNodes: () => any[];
65
+ getVisibleNodes: () => MindMapNode[];
41
66
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
42
67
  change: (data: MindMapData) => any;
43
68
  "node-click": (node: MindMapNode, event: MouseEvent) => any;
@@ -47,10 +72,15 @@ declare const __VLS_base: import("vue").DefineComponent<D3MindMapProps, {
47
72
  "node-mouseleave": (node: MindMapNode, event: MouseEvent) => any;
48
73
  "node-expand": (node: MindMapNode) => any;
49
74
  "node-collapse": (node: MindMapNode) => any;
75
+ "node-drag-start": (node: MindMapNode, event: MouseEvent | PointerEvent | TouchEvent | null) => any;
76
+ "node-drag": (payload: import("./types").MindMapNodeDragPayload) => any;
77
+ "node-drag-end": (payload: import("./types").MindMapNodeDragPayload) => any;
50
78
  zoom: (scale: number) => any;
51
79
  pan: (transform: import("./types").TransformInfo) => any;
52
80
  download: () => any;
53
81
  ready: () => any;
82
+ modified: (isModified: boolean) => any;
83
+ "history-change": (state: import("./types").MindMapHistoryState) => any;
54
84
  }, string, import("vue").PublicProps, Readonly<D3MindMapProps> & Readonly<{
55
85
  onChange?: ((data: MindMapData) => any) | undefined;
56
86
  "onNode-click"?: ((node: MindMapNode, event: MouseEvent) => any) | undefined;
@@ -60,21 +90,28 @@ declare const __VLS_base: import("vue").DefineComponent<D3MindMapProps, {
60
90
  "onNode-mouseleave"?: ((node: MindMapNode, event: MouseEvent) => any) | undefined;
61
91
  "onNode-expand"?: ((node: MindMapNode) => any) | undefined;
62
92
  "onNode-collapse"?: ((node: MindMapNode) => any) | undefined;
93
+ "onNode-drag-start"?: ((node: MindMapNode, event: MouseEvent | PointerEvent | TouchEvent | null) => any) | undefined;
94
+ "onNode-drag"?: ((payload: import("./types").MindMapNodeDragPayload) => any) | undefined;
95
+ "onNode-drag-end"?: ((payload: import("./types").MindMapNodeDragPayload) => any) | undefined;
63
96
  onZoom?: ((scale: number) => any) | undefined;
64
97
  onPan?: ((transform: import("./types").TransformInfo) => any) | undefined;
65
98
  onDownload?: (() => any) | undefined;
66
99
  onReady?: (() => any) | undefined;
100
+ onModified?: ((isModified: boolean) => any) | undefined;
101
+ "onHistory-change"?: ((state: import("./types").MindMapHistoryState) => any) | undefined;
67
102
  }>, {
68
103
  width: string | number;
69
104
  height: string | number;
70
105
  data: MindMapData;
71
- readonly: boolean;
72
106
  expandable: boolean;
107
+ readonly: boolean;
73
108
  showToolbar: boolean;
74
109
  showDownload: boolean;
75
110
  showCounts: boolean;
76
111
  showScale: boolean;
77
112
  toolbarPosition: "top" | "right" | "bottom" | "left";
113
+ streaming: boolean;
114
+ draggable: boolean;
78
115
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
79
116
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
80
117
  declare const _default: typeof __VLS_export;
@@ -1 +1 @@
1
- {"version":3,"file":"D3MindMap.vue.d.ts","sourceRoot":"","sources":["../../../src/components/visualization/D3MindMap.vue"],"names":[],"mappings":"AA0sFA,OAAO,KAAK,EACV,cAAc,EAEd,WAAW,EACX,WAAW,EAKX,aAAa,EACd,MAAM,SAAS,CAAA;AA4nFhB,QAAA,IAAI,OAAO;;;;;;;2BA5uBD,KAAK,GAAG,KAAK,YACX,aAAa,KACtB,OAAO,CAAC,IAAI,CAAC;;;CA0uBM,CAAE;AACxB,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,GAAG,CAAA;CAAE,CAAC;AAS/C,QAAA,MAAM,UAAU;mBAvuCI,GAAG;oBA2BA,GAAG;;wBAsRC,OAAO;yBAgXN,MAAM;2BASJ,MAAM;;;qBA9OZ,MAAM;mBAgBV,MAAM;8BAOO,OAAO;;;;;;;wBAsMT,MAAM;0BANR,MAAM,KAAG,GAAG,GAAG,IAAI;yBAgIpB,MAAM,QAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;wBAhGlC,MAAM,QAAQ,OAAO,CAAC,WAAW,CAAC,KAAG,MAAM;yBA+C1C,MAAM,KAAG,OAAO;2BAlPlC,KAAK,GAAG,KAAK,YACX,aAAa,KACtB,OAAO,CAAC,IAAI,CAAC;2BA8TY,GAAG,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6EA4b/B,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AAWzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"D3MindMap.vue.d.ts","sourceRoot":"","sources":["../../../src/components/visualization/D3MindMap.vue"],"names":[],"mappings":"AAkpGA,OAAO,KAAK,EACV,cAAc,EAEd,WAAW,EACX,WAAW,EACX,mBAAmB,EACnB,mBAAmB,EAGnB,YAAY,EACZ,gBAAgB,EAShB,aAAa,EACd,MAAM,SAAS,CAAA;AAohGhB,QAAA,IAAI,OAAO;;;;;;;2BAt0BD,KAAK,GAAG,KAAK,YACX,aAAa,KACtB,OAAO,CAAC,IAAI,CAAC;;;CAo0BM,CAAE;AACxB,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,GAAG,CAAA;CAAE,CAAC;AAS/C,QAAA,MAAM,UAAU;mBA34CI,WAAW,GAAG,IAAI;oBAqFf,WAAW,GAAG,YAAY;sBAkBxB,WAAW,GAAG,YAAY;;wBAkRxB,OAAO;yBAyXN,MAAM;2BASJ,MAAM;;;qBAvPZ,MAAM;mBAgBV,MAAM;8BAOO,OAAO;;;;;;;;;;;;;;;;;;;;;;;wBA+MT,MAAM;0BANR,MAAM,KAAG,YAAY,GAAG,IAAI;yBAuL7B,MAAM,QAAQ,OAAO,CAAC,WAAW,CAAC;wBAvJnC,MAAM,QAAQ,OAAO,CAAC,WAAW,CAAC,KAAG,MAAM;sCAgCvD,MAAM,aACR,mBAAmB,SACxB,OAAO,CAAC,WAAW,CAAC,KACzB,MAAM;yBA+CmB,MAAM,KAAG,OAAO;uBAmDlB,MAAM,YAAY,MAAM,YAAY,mBAAmB,KAAG,OAAO;;;;;;;2BA/UjF,KAAK,GAAG,KAAK,YACX,aAAa,KACtB,OAAO,CAAC,IAAI,CAAC;2BA8XY,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6EAsdvC,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AAWzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
@@ -1,3 +1,4 @@
1
+ import type { HierarchyPointNode, Selection } from 'd3';
1
2
  /**
2
3
  * 节点数据结构
3
4
  */
@@ -15,6 +16,104 @@ export interface MindMapNode {
15
16
  export interface MindMapData {
16
17
  nodeData: MindMapNode;
17
18
  }
19
+ /**
20
+ * 相对参考节点按方向新增时的方向
21
+ * - up:同级上方
22
+ * - down:同级下方
23
+ * - right:子节点
24
+ * - left:与父节点同级,插在父节点后方(根下的一级节点不可用)
25
+ */
26
+ export type MindMapAddDirection = 'up' | 'down' | 'left' | 'right';
27
+ /** 拖拽落点:同级前/后,或成为目标子节点 */
28
+ export type MindMapDropPosition = 'before' | 'after' | 'child';
29
+ /** 当前命中的落点 */
30
+ export interface MindMapDropTarget {
31
+ targetId: string;
32
+ position: MindMapDropPosition;
33
+ }
34
+ /** canDrop / 拖拽事件共用上下文 */
35
+ export interface MindMapDropContext {
36
+ /** 被拖拽的节点 */
37
+ node: MindMapNode;
38
+ /** 当前落点;无合法目标时为 null */
39
+ drop: MindMapDropTarget | null;
40
+ }
41
+ /** node-drag / node-drag-end 载荷 */
42
+ export interface MindMapNodeDragPayload extends MindMapDropContext {
43
+ event: MouseEvent | PointerEvent | TouchEvent | null;
44
+ /** 仅 end:是否已成功改树 */
45
+ moved?: boolean;
46
+ }
47
+ /**
48
+ * 拖拽视觉反馈的自定义样式。
49
+ * 全部为可选项;未设置时使用组件内置默认值(绿色系)。
50
+ */
51
+ export interface DragStyle {
52
+ /** 浮动卡片的边框颜色 */
53
+ floatBorderColor?: string;
54
+ /** 浮动卡片的背景色 */
55
+ floatBgColor?: string;
56
+ /** 浮动卡片上文字的字体颜色 */
57
+ floatTextColor?: string;
58
+ /** 落点缩影的填充颜色 */
59
+ slotColor?: string;
60
+ /** 落点缩影的边框颜色 */
61
+ slotBorderColor?: string;
62
+ /** 预览连线的颜色 */
63
+ linkColor?: string;
64
+ /** 目标节点高亮边框颜色 */
65
+ targetBorderColor?: string;
66
+ /** 目标连线高亮颜色 */
67
+ targetLinkColor?: string;
68
+ /** 被拖拽节点的透明度(0~1) */
69
+ draggingOpacity?: number;
70
+ }
71
+ /**
72
+ * 撤销/重做与脏状态快照
73
+ */
74
+ export interface MindMapHistoryState {
75
+ canUndo: boolean;
76
+ canRedo: boolean;
77
+ isModified: boolean;
78
+ }
79
+ /**
80
+ * d3.hierarchy / d3.tree 的 Datum:业务节点 + 组件内部缓存字段
81
+ */
82
+ export type MindMapDatum = MindMapNode & {
83
+ _nodeWidth?: number;
84
+ _original?: MindMapDatum;
85
+ };
86
+ /** convertData 外部输入兼容(simple-mind-map 等),不改变转换逻辑 */
87
+ export type MindMapLooseInput = {
88
+ data?: {
89
+ text?: string;
90
+ };
91
+ children?: MindMapLooseInput[];
92
+ nodeData?: MindMapNode;
93
+ topic?: string;
94
+ id?: string;
95
+ root?: boolean;
96
+ expanded?: boolean;
97
+ };
98
+ /**
99
+ * d3.tree() 布局后的节点 = 官方 HierarchyPointNode
100
+ * x0/y0/_prev* 为过渡动画字段(D3 官方类型没有,Bostock 示例常用)
101
+ */
102
+ export type MindMapPointNode = HierarchyPointNode<MindMapDatum> & {
103
+ x0?: number;
104
+ y0?: number;
105
+ _prevX?: number;
106
+ _prevY?: number;
107
+ };
108
+ /**
109
+ * 布局后的连线(对应 d3 HierarchyPointLink,source/target 带动画字段)
110
+ */
111
+ export interface MindMapPointLink {
112
+ source: MindMapPointNode;
113
+ target: MindMapPointNode;
114
+ }
115
+ /** 节点组 Selection(d3.Selection) */
116
+ export type MindMapNodeGroupSelection = Selection<SVGGElement, MindMapPointNode, SVGGElement | null, unknown>;
18
117
  /**
19
118
  * 节点样式配置函数类型
20
119
  */
@@ -221,6 +320,38 @@ export interface D3MindMapProps {
221
320
  linkStyle?: LinkStyleConfig;
222
321
  /** 布局配置 */
223
322
  layoutConfig?: LayoutConfig;
323
+ /**
324
+ * 流式热更新模式:为 true 时 props.data 变化走 applyData(不折叠、不强制 fit)
325
+ * AI 边流边画时建议开启,或直接用 ref.applyData
326
+ */
327
+ streaming?: boolean;
328
+ /**
329
+ * 是否允许拖拽节点排序/改挂(默认 false)
330
+ * 开启后:节点上拖 = 拖节点;空白处拖 = 画布平移
331
+ */
332
+ draggable?: boolean;
333
+ /**
334
+ * 拖动中实时校验;返回 false 时不显示落点预览、松手不改树
335
+ */
336
+ canDrop?: (ctx: MindMapDropContext) => boolean;
337
+ /**
338
+ * 拖拽反馈的自定义样式(浮动卡片、缩影、预览线、目标高亮等)。
339
+ * 不传则使用组件内置绿色系默认值。
340
+ */
341
+ dragStyle?: DragStyle;
342
+ }
343
+ /**
344
+ * applyTreeData / setData / applyData 的内部选项
345
+ */
346
+ export interface MindMapApplyTreeOptions {
347
+ /** 是否强制只展开根节点(冷启动) */
348
+ resetCollapse?: boolean;
349
+ /** 是否重置 undo/redo 基准并 markClean */
350
+ resetHistory?: boolean;
351
+ /** 是否记一笔历史(热更新结束时可 true) */
352
+ commitHistory?: boolean;
353
+ /** 是否适应窗口 */
354
+ fit?: boolean;
224
355
  }
225
356
  /**
226
357
  * D3MindMap 组件 Emits
@@ -242,6 +373,12 @@ export interface D3MindMapEmits {
242
373
  (e: 'node-expand', node: MindMapNode): void;
243
374
  /** 节点折叠 */
244
375
  (e: 'node-collapse', node: MindMapNode): void;
376
+ /** 开始拖拽节点(超过移动阈值后触发) */
377
+ (e: 'node-drag-start', node: MindMapNode, event: MouseEvent | PointerEvent | TouchEvent | null): void;
378
+ /** 拖拽中(落点变化时也会触发) */
379
+ (e: 'node-drag', payload: MindMapNodeDragPayload): void;
380
+ /** 拖拽结束;moved=true 表示已执行 moveNode */
381
+ (e: 'node-drag-end', payload: MindMapNodeDragPayload): void;
245
382
  /** 缩放变化 */
246
383
  (e: 'zoom', scale: number): void;
247
384
  /** 平移变化 */
@@ -250,6 +387,10 @@ export interface D3MindMapEmits {
250
387
  (e: 'download'): void;
251
388
  /** 组件就绪 */
252
389
  (e: 'ready'): void;
390
+ /** 相对基准数据是否已修改(脏状态) */
391
+ (e: 'modified', isModified: boolean): void;
392
+ /** 撤销/重做栈或脏状态变化 */
393
+ (e: 'history-change', state: MindMapHistoryState): void;
253
394
  }
254
395
  /**
255
396
  * D3MindMap 组件暴露的方法
@@ -257,8 +398,12 @@ export interface D3MindMapEmits {
257
398
  export interface D3MindMapExpose {
258
399
  /** 获取数据 */
259
400
  getData: () => MindMapData | null;
260
- /** 设置数据 */
401
+ /** 设置数据(冷重置:折叠到根、重置历史) */
261
402
  setData: (data: MindMapData) => void;
403
+ /**
404
+ * 热更新数据(AI 流 / 同图增量):保留展开状态与节点坐标,不强制 fit、不重置历史
405
+ */
406
+ applyData: (data: MindMapData) => void;
262
407
  /** 居中到根节点 */
263
408
  toCenter: () => void;
264
409
  /** 展开/折叠所有节点 */
@@ -294,8 +439,30 @@ export interface D3MindMapExpose {
294
439
  updateNode: (nodeId: string, data: Partial<MindMapNode>) => void;
295
440
  /** 在指定父节点下新增子节点,返回新节点的 id */
296
441
  addNode: (parentId: string, node: Partial<MindMapNode>) => string;
442
+ /**
443
+ * 相对参考节点按方向新增,返回新节点 id
444
+ * up/down=同级上/下;right=子节点;left=与父同级(插在父后方)
445
+ */
446
+ addNodeByDirection: (referenceId: string, direction: MindMapAddDirection, node?: Partial<MindMapNode>) => string;
297
447
  /** 删除指定节点(及其所有子节点),根节点不允许删除,返回是否删除成功 */
298
448
  removeNode: (nodeId: string) => boolean;
449
+ /**
450
+ * 将节点移动到目标处:before/after=同级前/后,child=成为目标子节点
451
+ * 根节点不可移动;不可落到自身或子孙上
452
+ */
453
+ moveNode: (nodeId: string, targetId: string, position: MindMapDropPosition) => boolean;
454
+ /** 撤销上一次结构/内容修改 */
455
+ undo: () => boolean;
456
+ /** 重做 */
457
+ redo: () => boolean;
458
+ /** 当前是否可撤销 */
459
+ canUndo: () => boolean;
460
+ /** 当前是否可重做 */
461
+ canRedo: () => boolean;
462
+ /** 相对 markClean/setData 基准是否有未保存修改 */
463
+ isModified: () => boolean;
464
+ /** 将当前数据标为干净基准(保存成功后调用),并保留历史栈 */
465
+ markClean: () => void;
299
466
  /** 导出图片 */
300
467
  exportImage: (format?: 'png' | 'svg', options?: ExportOptions) => Promise<Blob>;
301
468
  /** 获取可见节点列表 */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/visualization/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/visualization/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,90 @@
1
+ import type { MindMapDropPosition, MindMapDropTarget, MindMapPointNode } from './types';
2
+ /** 节点在布局坐标系中的包围盒(与 D3MindMap rect 一致:x=-18,y=-27.5,h=55) */
3
+ export interface MindMapNodeBox {
4
+ id: string;
5
+ /** 水平:d3 tree 的 y */
6
+ left: number;
7
+ right: number;
8
+ /** 垂直:d3 tree 的 x */
9
+ top: number;
10
+ bottom: number;
11
+ width: number;
12
+ height: number;
13
+ cx: number;
14
+ cy: number;
15
+ topic: string;
16
+ depth: number;
17
+ hasParent: boolean;
18
+ /** 父节点布局信息(有父时),用于预览连线 */
19
+ parentCx?: number;
20
+ parentCy?: number;
21
+ parentRight?: number;
22
+ }
23
+ export declare const NODE_RECT: {
24
+ readonly offsetX: -18;
25
+ readonly offsetY: -27.5;
26
+ readonly height: 55;
27
+ };
28
+ export declare const DRAG_THRESHOLD_PX = 6;
29
+ /**
30
+ * 指针不在任何节点上时的最大吸附距离。
31
+ * 取得比节点高度大若干倍,跨组够用;再远就判定为无落点。
32
+ */
33
+ export declare const DEFAULT_DROP_MAX_DISTANCE = 160;
34
+ export declare function getNodeLayoutBox(node: MindMapPointNode, getWidth: (n: MindMapPointNode) => number): MindMapNodeBox;
35
+ /** 收集 dragging 节点及其子孙 id */
36
+ export declare function collectSubtreeIds(node: MindMapPointNode, out?: Set<string>): Set<string>;
37
+ /**
38
+ * 相对目标包围盒判定 before / after / child
39
+ * - 盒内:上 30% → before;下 30% → after;中间 40% → child(不分左右,方便挂子节点)
40
+ * - 盒外:右侧 → child;上下 → before / after
41
+ */
42
+ export declare function resolvePositionInBox(pointer: {
43
+ x: number;
44
+ y: number;
45
+ }, box: MindMapNodeBox): MindMapDropPosition;
46
+ export declare function resolveDropTarget(options: {
47
+ pointer: {
48
+ x: number;
49
+ y: number;
50
+ };
51
+ dragBox?: MindMapDragFloatBox;
52
+ boxes: MindMapNodeBox[];
53
+ draggingId: string;
54
+ blockedIds: Set<string>;
55
+ maxDistance?: number;
56
+ }): MindMapDropTarget | null;
57
+ /** 跟随指针的浮动幽灵框(布局坐标,与 mindmap-group 一致) */
58
+ export interface MindMapDragFloatBox {
59
+ x: number;
60
+ y: number;
61
+ width: number;
62
+ height: number;
63
+ }
64
+ /**
65
+ * 幽灵框位置:保持按下时指针与节点框的相对偏移,做到「跟手」
66
+ */
67
+ export declare function getDragFloatBox(pointer: {
68
+ x: number;
69
+ y: number;
70
+ }, grabOffset: {
71
+ x: number;
72
+ y: number;
73
+ }, width: number): MindMapDragFloatBox;
74
+ /** 拖拽缩影与预览连线 */
75
+ export interface MindMapDropPreview {
76
+ slot: {
77
+ x: number;
78
+ y: number;
79
+ width: number;
80
+ height: number;
81
+ };
82
+ /** 从将来的父节点连到缩影的预览线 */
83
+ linkPath: string;
84
+ }
85
+ /**
86
+ * 落点预览:缩影跟随浮动卡片,预览线连接将来的父节点。
87
+ * 真实布局在松手前保持不动。
88
+ */
89
+ export declare function getDropPreview(drop: MindMapDropTarget, boxes: MindMapNodeBox[], float: MindMapDragFloatBox): MindMapDropPreview | null;
90
+ //# sourceMappingURL=useMindMapDrag.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMindMapDrag.d.ts","sourceRoot":"","sources":["../../../src/components/visualization/useMindMapDrag.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAEvF,4DAA4D;AAC5D,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,qBAAqB;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,qBAAqB;IACrB,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,EAAE,EAAE,MAAM,CAAA;IACV,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,OAAO,CAAA;IAClB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,eAAO,MAAM,SAAS;;;;CAIZ,CAAA;AAEV,eAAO,MAAM,iBAAiB,IAAI,CAAA;AAElC;;;GAGG;AACH,eAAO,MAAM,yBAAyB,MAAM,CAAA;AAI5C,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,gBAAgB,EACtB,QAAQ,EAAE,CAAC,CAAC,EAAE,gBAAgB,KAAK,MAAM,GACxC,cAAc,CAuBhB;AAED,4BAA4B;AAC5B,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,EAAE,GAAG,cAAoB,GAAG,GAAG,CAAC,MAAM,CAAC,CAI9F;AAYD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EACjC,GAAG,EAAE,cAAc,GAClB,mBAAmB,CAUrB;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE;IACzC,OAAO,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACjC,OAAO,CAAC,EAAE,mBAAmB,CAAA;IAC7B,KAAK,EAAE,cAAc,EAAE,CAAA;IACvB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IACvB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,GAAG,iBAAiB,GAAG,IAAI,CA+E3B;AAED,0CAA0C;AAC1C,MAAM,WAAW,mBAAmB;IAClC,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EACjC,UAAU,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EACpC,KAAK,EAAE,MAAM,GACZ,mBAAmB,CAOrB;AAQD,gBAAgB;AAChB,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;IAC7D,sBAAsB;IACtB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAKD;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,iBAAiB,EACvB,KAAK,EAAE,cAAc,EAAE,EACvB,KAAK,EAAE,mBAAmB,GACzB,kBAAkB,GAAG,IAAI,CAqB3B"}
@@ -0,0 +1,34 @@
1
+ import type { MindMapData, MindMapHistoryState, MindMapNode } from './types';
2
+ /** 脏检测忽略 expanded(展开折叠不算已修改),并去掉内部缓存字段 */
3
+ export declare function hashMindMapForDirtyCheck(data: MindMapData | null): string;
4
+ export interface UseMindMapHistoryOptions {
5
+ getData: () => MindMapData | null;
6
+ /** undo/redo 时把快照灌回真实树并重绘 */
7
+ applyHistorySnapshot: (data: MindMapData) => void;
8
+ onHistoryChange: (state: MindMapHistoryState) => void;
9
+ onModified: (isModified: boolean) => void;
10
+ }
11
+ /**
12
+ * 思维导图撤销/重做与脏状态(VueUse useManualRefHistory)
13
+ */
14
+ export declare function useMindMapHistory(options: UseMindMapHistoryOptions): {
15
+ historySource: import("vue").ShallowRef<MindMapData | null, MindMapData | null>;
16
+ isModifiedState: import("vue").Ref<boolean, boolean>;
17
+ canUndoRef: import("vue").ComputedRef<boolean>;
18
+ canRedoRef: import("vue").ComputedRef<boolean>;
19
+ commitHistory: () => void;
20
+ clearHistoryStack: () => void;
21
+ resetHistoryBaseline: () => void;
22
+ markClean: () => void;
23
+ recordHistoryAfterChange: () => void;
24
+ syncModifiedFlag: () => void;
25
+ emitHistoryState: () => void;
26
+ canUndo: () => boolean;
27
+ canRedo: () => boolean;
28
+ isModified: () => boolean;
29
+ undo: () => boolean;
30
+ redo: () => boolean;
31
+ };
32
+ /** 供外部类型复用 */
33
+ export type MindMapHistoryNode = MindMapNode;
34
+ //# sourceMappingURL=useMindMapHistory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMindMapHistory.d.ts","sourceRoot":"","sources":["../../../src/components/visualization/useMindMapHistory.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAI5E,0CAA0C;AAC1C,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,GAAG,MAAM,CAiBzE;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,MAAM,WAAW,GAAG,IAAI,CAAA;IACjC,6BAA6B;IAC7B,oBAAoB,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAA;IACjD,eAAe,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAA;IACrD,UAAU,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAA;CAC1C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,wBAAwB;;;;;;;;;;;;mBAoE7C,OAAO;mBACP,OAAO;sBACJ,OAAO;gBAEb,OAAO;gBAMP,OAAO;EAwBzB;AAED,cAAc;AACd,MAAM,MAAM,kBAAkB,GAAG,WAAW,CAAA"}
@@ -0,0 +1,28 @@
1
+ import type { MindMapDatum, MindMapPointNode } from './types';
2
+ export type MindMapPositionMap = Map<string, {
3
+ x: number;
4
+ y: number;
5
+ }>;
6
+ /**
7
+ * 重建 hierarchy 后回填旧坐标,避免已有节点从父节点飞出;
8
+ * 真正新增的节点记入 fromParentOnce,保留从父展开动画。
9
+ */
10
+ export declare function restorePositionsAfterRebuild(root: MindMapPointNode | null | undefined, lastPositions: MindMapPositionMap, fromParentOnce: Set<string>): void;
11
+ /** 重建前把当前布局坐标写入 lastPositions,供 restore 使用 */
12
+ export declare function snapshotCurrentPositions(root: MindMapPointNode | null | undefined, lastPositions: MindMapPositionMap): void;
13
+ /** 记录动画前坐标(展开/折叠过渡用) */
14
+ export declare function snapshotTreePositions(root: MindMapPointNode): void;
15
+ /** 节点高度近似值(含内边距),用于垂直间距估算 */
16
+ export declare function getDefaultNodeHeight(): number;
17
+ export type VisibleChildrenGetter = (d: MindMapDatum) => MindMapDatum[] | null | undefined;
18
+ export type NodeWidthGetter = (node: MindMapPointNode) => number;
19
+ /**
20
+ * 基于可见子树做 tidy tree 水平布局,并把坐标回填到完整 hierarchy。
21
+ * 布局算法本身留在组件侧的大函数可逐步迁入;此处先提供定位辅助常量。
22
+ */
23
+ export declare function createMindMapPositionHelpers(lastPositions: MindMapPositionMap, fromParentOnce: Set<string>): {
24
+ snapshot: (root: MindMapPointNode | null | undefined) => void;
25
+ restore: (root: MindMapPointNode | null | undefined) => void;
26
+ snapshotTree: typeof snapshotTreePositions;
27
+ };
28
+ //# sourceMappingURL=useMindMapLayoutEngine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMindMapLayoutEngine.d.ts","sourceRoot":"","sources":["../../../src/components/visualization/useMindMapLayoutEngine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAE7D,MAAM,MAAM,kBAAkB,GAAG,GAAG,CAAC,MAAM,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAA;AAEtE;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,gBAAgB,GAAG,IAAI,GAAG,SAAS,EACzC,aAAa,EAAE,kBAAkB,EACjC,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,GAC1B,IAAI,CAcN;AAED,8CAA8C;AAC9C,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,gBAAgB,GAAG,IAAI,GAAG,SAAS,EACzC,aAAa,EAAE,kBAAkB,GAChC,IAAI,CAON;AAED,wBAAwB;AACxB,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI,CAQlE;AAED,6BAA6B;AAC7B,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAED,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,EAAE,YAAY,KAAK,YAAY,EAAE,GAAG,IAAI,GAAG,SAAS,CAAA;AAC1F,MAAM,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,gBAAgB,KAAK,MAAM,CAAA;AAEhE;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,aAAa,EAAE,kBAAkB,EACjC,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC;qBAGR,gBAAgB,GAAG,IAAI,GAAG,SAAS;oBAEpC,gBAAgB,GAAG,IAAI,GAAG,SAAS;;EAItD"}