@mx-sose-front/mx-sose-graph 1.2.7 → 1.2.8

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 (151) hide show
  1. package/dist/index.d.ts +3 -5259
  2. package/dist/index.esm.js +18 -3
  3. package/dist/index.esm.js.map +1 -1
  4. package/dist/index.umd.js +1 -1
  5. package/dist/index.umd.js.map +1 -1
  6. package/dist/src/components/Common/index.d.ts +3 -0
  7. package/dist/src/components/Common/index.d.ts.map +1 -0
  8. package/dist/src/components/ContextMenu/ContextMenu.vue.d.ts +55 -0
  9. package/dist/src/components/ContextMenu/ContextMenu.vue.d.ts.map +1 -0
  10. package/dist/src/components/Diagram/StrategicTaxonomyDiagram.vue.d.ts +21 -0
  11. package/dist/src/components/Diagram/StrategicTaxonomyDiagram.vue.d.ts.map +1 -0
  12. package/dist/src/components/DiagramListTooltip/DiagramListTooltip.vue.d.ts +32 -0
  13. package/dist/src/components/DiagramListTooltip/DiagramListTooltip.vue.d.ts.map +1 -0
  14. package/dist/src/components/Edge/Edge.vue.d.ts +36 -0
  15. package/dist/src/components/Edge/Edge.vue.d.ts.map +1 -0
  16. package/dist/src/components/Gantt/Gantt.vue.d.ts +17 -0
  17. package/dist/src/components/Gantt/Gantt.vue.d.ts.map +1 -0
  18. package/dist/src/components/GanttContextMenu/GanttContextMenu.vue.d.ts +37 -0
  19. package/dist/src/components/GanttContextMenu/GanttContextMenu.vue.d.ts.map +1 -0
  20. package/dist/src/components/InteractionLayer.vue.d.ts +28 -0
  21. package/dist/src/components/InteractionLayer.vue.d.ts.map +1 -0
  22. package/dist/src/components/LineStyle/ConnectionLine.vue.d.ts +30 -0
  23. package/dist/src/components/LineStyle/ConnectionLine.vue.d.ts.map +1 -0
  24. package/dist/src/components/LineStyle/LineStyleMarker.vue.d.ts +15 -0
  25. package/dist/src/components/LineStyle/LineStyleMarker.vue.d.ts.map +1 -0
  26. package/dist/src/components/Matrix/Matrix.vue.d.ts +9 -0
  27. package/dist/src/components/Matrix/Matrix.vue.d.ts.map +1 -0
  28. package/dist/src/components/Matrix/index.d.ts +34 -0
  29. package/dist/src/components/Matrix/index.d.ts.map +1 -0
  30. package/dist/src/components/MatrixContextMenu/MatrixContextMenu.vue.d.ts +31 -0
  31. package/dist/src/components/MatrixContextMenu/MatrixContextMenu.vue.d.ts.map +1 -0
  32. package/dist/src/components/NameEditor/NameEditor.vue.d.ts +30 -0
  33. package/dist/src/components/NameEditor/NameEditor.vue.d.ts.map +1 -0
  34. package/dist/src/components/Pin/Pin.vue.d.ts +25 -0
  35. package/dist/src/components/Pin/Pin.vue.d.ts.map +1 -0
  36. package/dist/src/components/Pin/Port.vue.d.ts +23 -0
  37. package/dist/src/components/Pin/Port.vue.d.ts.map +1 -0
  38. package/dist/src/components/SelectionBox/SelectionBox.vue.d.ts +30 -0
  39. package/dist/src/components/SelectionBox/SelectionBox.vue.d.ts.map +1 -0
  40. package/dist/src/components/Shape/Action.vue.d.ts +25 -0
  41. package/dist/src/components/Shape/Action.vue.d.ts.map +1 -0
  42. package/dist/src/components/Shape/ActivityAction.vue.d.ts +25 -0
  43. package/dist/src/components/Shape/ActivityAction.vue.d.ts.map +1 -0
  44. package/dist/src/components/Shape/Block.vue.d.ts +25 -0
  45. package/dist/src/components/Shape/Block.vue.d.ts.map +1 -0
  46. package/dist/src/components/Shape/ConceptualRole.vue.d.ts +25 -0
  47. package/dist/src/components/Shape/ConceptualRole.vue.d.ts.map +1 -0
  48. package/dist/src/components/Shape/Diagram.vue.d.ts +25 -0
  49. package/dist/src/components/Shape/Diagram.vue.d.ts.map +1 -0
  50. package/dist/src/components/Shape/DividingLine.vue.d.ts +36 -0
  51. package/dist/src/components/Shape/DividingLine.vue.d.ts.map +1 -0
  52. package/dist/src/components/Shape/DogEar.vue.d.ts +25 -0
  53. package/dist/src/components/Shape/DogEar.vue.d.ts.map +1 -0
  54. package/dist/src/components/Shape/Package.vue.d.ts +25 -0
  55. package/dist/src/components/Shape/Package.vue.d.ts.map +1 -0
  56. package/dist/src/components/Table/Table.vue.d.ts +20 -0
  57. package/dist/src/components/Table/Table.vue.d.ts.map +1 -0
  58. package/dist/src/constants/edgeShapeKeys.d.ts +46 -0
  59. package/dist/src/constants/edgeShapeKeys.d.ts.map +1 -0
  60. package/dist/src/constants/index.d.ts +668 -0
  61. package/dist/src/constants/index.d.ts.map +1 -0
  62. package/dist/src/hooks/index.d.ts +6 -0
  63. package/dist/src/hooks/index.d.ts.map +1 -0
  64. package/dist/src/hooks/useChartRowSelection.d.ts +89 -0
  65. package/dist/src/hooks/useChartRowSelection.d.ts.map +1 -0
  66. package/dist/src/hooks/useHighlight.d.ts +82 -0
  67. package/dist/src/hooks/useHighlight.d.ts.map +1 -0
  68. package/dist/src/hooks/useNameEdit.d.ts +76 -0
  69. package/dist/src/hooks/useNameEdit.d.ts.map +1 -0
  70. package/dist/src/hooks/useResize.d.ts +65 -0
  71. package/dist/src/hooks/useResize.d.ts.map +1 -0
  72. package/dist/src/hooks/useVirtualScroll.d.ts +110 -0
  73. package/dist/src/hooks/useVirtualScroll.d.ts.map +1 -0
  74. package/dist/src/index.d.ts +18 -0
  75. package/dist/src/index.d.ts.map +1 -0
  76. package/dist/src/render/shape-registry.d.ts +9 -0
  77. package/dist/src/render/shape-registry.d.ts.map +1 -0
  78. package/dist/src/render/shape-renderer.d.ts +12 -0
  79. package/dist/src/render/shape-renderer.d.ts.map +1 -0
  80. package/dist/src/store/eventBus.d.ts +10 -0
  81. package/dist/src/store/eventBus.d.ts.map +1 -0
  82. package/dist/src/store/graphStore.d.ts +4644 -0
  83. package/dist/src/store/graphStore.d.ts.map +1 -0
  84. package/dist/src/store/index.d.ts +3 -0
  85. package/dist/src/store/index.d.ts.map +1 -0
  86. package/dist/src/types/index.d.ts +279 -0
  87. package/dist/src/types/index.d.ts.map +1 -0
  88. package/dist/src/types/interactionLayer.d.ts +23 -0
  89. package/dist/src/types/interactionLayer.d.ts.map +1 -0
  90. package/dist/src/utils/autoExpandParent.d.ts +38 -0
  91. package/dist/src/utils/autoExpandParent.d.ts.map +1 -0
  92. package/dist/src/utils/batchAutoExpand.d.ts +12 -0
  93. package/dist/src/utils/batchAutoExpand.d.ts.map +1 -0
  94. package/dist/src/utils/colorUtils.d.ts +38 -0
  95. package/dist/src/utils/colorUtils.d.ts.map +1 -0
  96. package/dist/src/utils/compartment.d.ts +92 -0
  97. package/dist/src/utils/compartment.d.ts.map +1 -0
  98. package/dist/src/utils/containers.d.ts +119 -0
  99. package/dist/src/utils/containers.d.ts.map +1 -0
  100. package/dist/src/utils/contextMenuUtils.d.ts +108 -0
  101. package/dist/src/utils/contextMenuUtils.d.ts.map +1 -0
  102. package/dist/src/utils/dateUtils.d.ts +77 -0
  103. package/dist/src/utils/dateUtils.d.ts.map +1 -0
  104. package/dist/src/utils/diagram.d.ts +289 -0
  105. package/dist/src/utils/diagram.d.ts.map +1 -0
  106. package/dist/src/utils/dom.d.ts +2 -0
  107. package/dist/src/utils/dom.d.ts.map +1 -0
  108. package/dist/src/utils/drag.d.ts +65 -0
  109. package/dist/src/utils/drag.d.ts.map +1 -0
  110. package/dist/src/utils/edgeUtils.d.ts +326 -0
  111. package/dist/src/utils/edgeUtils.d.ts.map +1 -0
  112. package/dist/src/utils/edgeWorker.d.ts +182 -0
  113. package/dist/src/utils/edgeWorker.d.ts.map +1 -0
  114. package/dist/src/utils/geom.d.ts +103 -0
  115. package/dist/src/utils/geom.d.ts.map +1 -0
  116. package/dist/src/utils/graphDragService.d.ts +62 -0
  117. package/dist/src/utils/graphDragService.d.ts.map +1 -0
  118. package/dist/src/utils/hittest.d.ts +27 -0
  119. package/dist/src/utils/hittest.d.ts.map +1 -0
  120. package/dist/src/utils/iconLoader.d.ts +16 -0
  121. package/dist/src/utils/iconLoader.d.ts.map +1 -0
  122. package/dist/src/utils/index.d.ts +8 -0
  123. package/dist/src/utils/index.d.ts.map +1 -0
  124. package/dist/src/utils/keyboardUtils.d.ts +25 -0
  125. package/dist/src/utils/keyboardUtils.d.ts.map +1 -0
  126. package/dist/src/utils/license-guard.d.ts +10 -0
  127. package/dist/src/utils/license-guard.d.ts.map +1 -0
  128. package/dist/src/utils/packageOutline.d.ts +32 -0
  129. package/dist/src/utils/packageOutline.d.ts.map +1 -0
  130. package/dist/src/utils/pinUtils.d.ts +79 -0
  131. package/dist/src/utils/pinUtils.d.ts.map +1 -0
  132. package/dist/src/utils/policy.d.ts +44 -0
  133. package/dist/src/utils/policy.d.ts.map +1 -0
  134. package/dist/src/utils/rafThrottle.d.ts +63 -0
  135. package/dist/src/utils/rafThrottle.d.ts.map +1 -0
  136. package/dist/src/utils/shapeOps/shapeOps.d.ts +21 -0
  137. package/dist/src/utils/shapeOps/shapeOps.d.ts.map +1 -0
  138. package/dist/src/utils/viewportCulling.d.ts +73 -0
  139. package/dist/src/utils/viewportCulling.d.ts.map +1 -0
  140. package/dist/src/utils/workerManager.d.ts +86 -0
  141. package/dist/src/utils/workerManager.d.ts.map +1 -0
  142. package/dist/src/utils/zorder.d.ts +4 -0
  143. package/dist/src/utils/zorder.d.ts.map +1 -0
  144. package/dist/src/view/graph.vue.d.ts +180 -0
  145. package/dist/src/view/graph.vue.d.ts.map +1 -0
  146. package/dist/style.css +1 -1
  147. package/package.json +1 -1
  148. package/src/components/ContextMenu/ContextMenu.vue +2 -2
  149. package/src/utils/workerManager.ts +4 -1
  150. package/src/vite-env.d.ts +2 -2
  151. package/dist/assets/edgeWorker-b57ca007.js +0 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/constants/index.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,SAAS;;;;;;;;;CASZ,CAAA;AAGV,MAAM,MAAM,cAAc,GAAG,OAAO,SAAS,CAAC,MAAM,OAAO,SAAS,CAAC,CAAA;AAKrE,eAAO,MAAM,SAAS;;;;;;CAMZ,CAAA;AAGV,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkDb,CAAA;AAGV,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyIhB,CAAA;AAIV,eAAO,MAAM,WAAW;;;;;;;;CAUd,CAAA;AAGV,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;CAsBd,CAAA;AAGV,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+Bf,CAAA;AAEV,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwZd,CAAA;AAGV,MAAM,MAAM,WAAW,GAAG,OAAO,SAAS,CAAC,MAAM,OAAO,SAAS,CAAC,CAAA;AAClE,MAAM,MAAM,YAAY,GAAG,OAAO,UAAU,CAAC,MAAM,OAAO,UAAU,CAAC,CAAA;AACrE,MAAM,MAAM,eAAe,GAAG,OAAO,aAAa,CAAC,MAAM,OAAO,aAAa,CAAC,CAAA;AAC9E,MAAM,MAAM,aAAa,GAAG,OAAO,WAAW,CAAC,MAAM,OAAO,WAAW,CAAC,CAAA;AACxE,MAAM,MAAM,aAAa,GAAG,OAAO,WAAW,CAAC,MAAM,OAAO,WAAW,CAAC,CAAA;AAGxE,eAAO,MAAM,aAAa,EAAE;IAAE,QAAQ,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;CAAE,EAKlE,CAAA"}
@@ -0,0 +1,6 @@
1
+ export * from './useChartRowSelection';
2
+ export * from './useHighlight';
3
+ export * from './useNameEdit';
4
+ export * from './useResize';
5
+ export * from './useVirtualScroll';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,89 @@
1
+ import { Ref } from 'vue';
2
+
3
+ /**
4
+ * 行数据的最小结构约束
5
+ */
6
+ interface ChartRowItem {
7
+ id: string;
8
+ modelId: string;
9
+ type: string;
10
+ [key: string]: any;
11
+ }
12
+ interface AddSuccessContext {
13
+ modelId?: string | null;
14
+ }
15
+ /**
16
+ * 行选择 Hook 配置项
17
+ */
18
+ interface UseChartRowSelectionOptions<T extends ChartRowItem> {
19
+ /**
20
+ * 当前表格或甘特图的行数据
21
+ */
22
+ items: Ref<T[]>;
23
+ /**
24
+ * 行选中状态变化后向外抛出的事件名
25
+ */
26
+ rowSelectedEvent: string;
27
+ /**
28
+ * 切换选中前触发
29
+ * 组件通常用它来关闭行内编辑器或日期选择器
30
+ */
31
+ onBeforeSelect?: () => void;
32
+ /**
33
+ * 点击空白区域、清空选中时触发
34
+ */
35
+ onClearSelection?: () => void;
36
+ /**
37
+ * 删除选中行并重置本地选中态后触发
38
+ */
39
+ onDeleteRows?: () => void;
40
+ /**
41
+ * 移除成功并完成本地数据对齐后触发
42
+ */
43
+ onAfterRemoveSuccess?: () => void;
44
+ }
45
+ /**
46
+ * 表格/甘特图行交互 Hook
47
+ *
48
+ * @description
49
+ * 抽离 Table 与 Gantt 共用的行交互逻辑,统一处理:
50
+ * 1. 单选、Ctrl 多选、Shift 连续选择
51
+ * 2. 右键菜单定位与菜单动作
52
+ * 3. 上移、下移、删除、移除
53
+ * 4. 移除成功后的按原位置回选
54
+ * 5. 工具栏依赖的选中状态通知
55
+ */
56
+ export declare function useChartRowSelection<T extends ChartRowItem>({ items, rowSelectedEvent, onBeforeSelect, onClearSelection, onDeleteRows, onAfterRemoveSuccess, }: UseChartRowSelectionOptions<T>): {
57
+ canMoveDown: import('vue').ComputedRef<boolean>;
58
+ canMoveUp: import('vue').ComputedRef<boolean>;
59
+ clearSelection: () => void;
60
+ contextMenuPosition: Ref<{
61
+ x: number;
62
+ y: number;
63
+ }, {
64
+ x: number;
65
+ y: number;
66
+ } | {
67
+ x: number;
68
+ y: number;
69
+ }>;
70
+ contextMenuTargetItem: [T | null] extends [Ref<any, any>] ? import('@vue/shared').IfAny<Ref<any, any> & T, Ref<Ref<any, any> & T, Ref<any, any> & T>, Ref<any, any> & T> : Ref<import('vue').UnwrapRef<T> | null, T | import('vue').UnwrapRef<T> | null>;
71
+ deleteRows: () => void;
72
+ handleContextMenu: (item: T, event: MouseEvent) => void;
73
+ handleDeleteFromMenu: () => void;
74
+ handleMoveDownFromMenu: () => void;
75
+ handleMoveUpFromMenu: () => void;
76
+ handlePropertyConfig: () => void;
77
+ handleRemoveFromMenu: () => void;
78
+ handleTreeHighlight: () => void;
79
+ moveDown: () => void;
80
+ moveUp: () => void;
81
+ onRemoveSuccess: () => void;
82
+ removeRows: () => void;
83
+ selectLastRow: (payload?: AddSuccessContext | string) => void;
84
+ selectRow: (id: string, event?: MouseEvent) => void;
85
+ selectedRowIds: Ref<Set<string> & Omit<Set<string>, keyof Set<any>>, Set<string> | (Set<string> & Omit<Set<string>, keyof Set<any>>)>;
86
+ showContextMenu: Ref<boolean, boolean>;
87
+ };
88
+ export {};
89
+ //# sourceMappingURL=useChartRowSelection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useChartRowSelection.d.ts","sourceRoot":"","sources":["../../../src/hooks/useChartRowSelection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,GAAG,EAAE,MAAM,KAAK,CAAA;AAIpD;;GAEG;AACH,UAAU,YAAY;IACpB,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB;AAWD,UAAU,iBAAiB;IACzB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACxB;AAED;;GAEG;AACH,UAAU,2BAA2B,CAAC,CAAC,SAAS,YAAY;IAC1D;;OAEG;IACH,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAA;IAEf;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAA;IAExB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,IAAI,CAAA;IAE3B;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAA;IAE7B;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,IAAI,CAAA;IAEzB;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAA;CAClC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,YAAY,EAAE,EAC3D,KAAK,EACL,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,oBAAoB,GACrB,EAAE,2BAA2B,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;8BAkKE,CAAC,SAAS,UAAU;;;;;;;;;;;8BA6JpB,iBAAiB,GAAG,MAAM;oBA5SpC,MAAM,UAAU,UAAU;;;EAkYlD"}
@@ -0,0 +1,82 @@
1
+ import { Ref } from 'vue';
2
+ import { Shape } from '../types';
3
+
4
+ /**
5
+ * 高亮覆盖层的边界信息
6
+ */
7
+ export interface HighlightOverlayBounds {
8
+ x: number;
9
+ y: number;
10
+ width: number;
11
+ height: number;
12
+ }
13
+ /**
14
+ * 高亮颜色类型
15
+ */
16
+ export type HighlightColor = 'blue' | 'red';
17
+ /**
18
+ * 高亮工具接口 - 用于 EdgeUtils.cancelConnection 等方法
19
+ */
20
+ export interface IHighlightUtils {
21
+ highlightShape: (shape: Shape | null, isHighlight: boolean, isValidSource?: boolean) => void;
22
+ clearHighlightTimeout: () => void;
23
+ }
24
+ /**
25
+ * 外部高亮控制事件的 payload 类型
26
+ */
27
+ export interface HighlightShapePayload {
28
+ shape: Shape;
29
+ isHighlight: boolean;
30
+ isValidSource?: boolean;
31
+ }
32
+ /**
33
+ * useHighlight 配置选项
34
+ */
35
+ export interface UseHighlightOptions {
36
+ /** 是否监听 eventBus 事件,默认 true */
37
+ listenEvents?: boolean;
38
+ }
39
+ /**
40
+ * useHighlight 返回类型
41
+ */
42
+ export interface UseHighlightReturn extends IHighlightUtils {
43
+ overlayBounds: Ref<HighlightOverlayBounds | null>;
44
+ overlayColor: Ref<HighlightColor>;
45
+ highlightedShapeId: Ref<string | null>;
46
+ setHighlightTimeout: (callback: () => void, delay?: number) => void;
47
+ getHighlightedShapeId: () => string | null;
48
+ dispose: () => void;
49
+ }
50
+ /**
51
+ * 图元高亮 Composable
52
+ * 使用覆盖层方式实现高亮(性能优化:不修改 graphStore)
53
+ *
54
+ * @param options 配置选项
55
+ * @returns 高亮相关的状态和方法
56
+ *
57
+ * @example
58
+ * ```vue
59
+ * <script setup>
60
+ * const { overlayBounds, overlayColor, highlightShape } = useHighlight();
61
+ * </script>
62
+ *
63
+ * <template>
64
+ * <div v-if="overlayBounds" class="highlight-overlay" :class="overlayColor" :style="{
65
+ * left: overlayBounds.x + 'px',
66
+ * top: overlayBounds.y + 'px',
67
+ * width: overlayBounds.width + 'px',
68
+ * height: overlayBounds.height + 'px',
69
+ * }" />
70
+ * </template>
71
+ * ```
72
+ *
73
+ * @example 外部控制高亮
74
+ * ```ts
75
+ * // 触发高亮
76
+ * eventBus.emit('highlight-shape-overlay', { shape, isHighlight: true, isValidSource: true });
77
+ * // 清除高亮
78
+ * eventBus.emit('clear-highlight-overlay');
79
+ * ```
80
+ */
81
+ export declare function useHighlight(options?: UseHighlightOptions): UseHighlightReturn;
82
+ //# sourceMappingURL=useHighlight.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useHighlight.d.ts","sourceRoot":"","sources":["../../../src/hooks/useHighlight.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC/B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAGtC;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,KAAK,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,cAAc,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7F,qBAAqB,EAAE,MAAM,IAAI,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,KAAK,CAAC;IACb,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,+BAA+B;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,eAAe;IAEzD,aAAa,EAAE,GAAG,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAAC;IAClD,YAAY,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;IAClC,kBAAkB,EAAE,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAEvC,mBAAmB,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACpE,qBAAqB,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAE3C,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,YAAY,CAAC,OAAO,GAAE,mBAAwB,GAAG,kBAAkB,CAmIlF"}
@@ -0,0 +1,76 @@
1
+ import { Ref } from 'vue';
2
+ import { Shape } from '../types';
3
+
4
+ /**
5
+ * 名称编辑配置选项
6
+ */
7
+ export interface UseNameEditOptions {
8
+ /** 获取当前选中的 shape(用于 onNameChange 回调) */
9
+ getSelectedShape?: () => Shape | null;
10
+ /** 名称变更时的回调,包含 shape 信息 */
11
+ onNameChange?: (shape: Shape, oldName: string, newName: string) => void;
12
+ /** 名称验证函数,返回错误信息,null 表示验证通过 */
13
+ validateName?: (name: string) => string | null;
14
+ /** 开始编辑时的回调 */
15
+ onEditStart?: () => void;
16
+ /** 结束编辑时的回调 */
17
+ onEditEnd?: () => void;
18
+ }
19
+ /**
20
+ * 名称编辑管理器接口
21
+ * 用于 NameEditor 组件的 props 类型定义
22
+ */
23
+ export interface INameEditManager {
24
+ editingState: {
25
+ isEditingName: Ref<boolean>;
26
+ editingName: Ref<string>;
27
+ nameInput: Ref<HTMLInputElement | null>;
28
+ };
29
+ setNameInput: (input: HTMLInputElement | null) => void;
30
+ startEdit: (shape: Shape | null) => Promise<void>;
31
+ finishEdit: (shape: Shape | null) => void;
32
+ cancelEdit: () => void;
33
+ handleKeyUp: (event: KeyboardEvent, shape: Shape | null) => void;
34
+ handleBlur: (shape: Shape | null) => void;
35
+ canEdit: (shape: Shape | null) => boolean;
36
+ getDisplayName: (shape: Shape | null) => string;
37
+ reset: () => void;
38
+ }
39
+ /**
40
+ * useNameEdit 返回类型
41
+ */
42
+ export interface UseNameEditReturn extends INameEditManager {
43
+ isEditingName: Ref<boolean>;
44
+ editingName: Ref<string>;
45
+ nameInput: Ref<HTMLInputElement | null>;
46
+ }
47
+ /**
48
+ * 名称编辑 Composable
49
+ *
50
+ * 用于管理图元名称的编辑状态和行为
51
+ *
52
+ * @param options 配置选项
53
+ * @returns 名称编辑相关的状态和方法
54
+ *
55
+ * @example
56
+ * ```vue
57
+ * <script setup>
58
+ * // 方式1:解构使用
59
+ * const { isEditingName, editingName, startEdit, handleBlur } = useNameEdit({
60
+ * onNameChange: (oldName, newName) => {
61
+ * emit('editName', selectedShape, newName, oldName);
62
+ * }
63
+ * });
64
+ *
65
+ * // 方式2:作为对象传递给子组件(兼容 NameEditor 组件)
66
+ * const nameEditManager = useNameEdit({ ... });
67
+ * // <NameEditor :name-edit-manager="nameEditManager" />
68
+ * </script>
69
+ * ```
70
+ */
71
+ export declare function useNameEdit(options?: UseNameEditOptions): UseNameEditReturn;
72
+ /**
73
+ * 默认名称验证函数
74
+ */
75
+ export declare function defaultNameValidator(name: string): string | null;
76
+ //# sourceMappingURL=useNameEdit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useNameEdit.d.ts","sourceRoot":"","sources":["../../../src/hooks/useNameEdit.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,KAAK,GAAG,EAAE,MAAM,KAAK,CAAC;AAC3D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEtC;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,wCAAwC;IACxC,gBAAgB,CAAC,EAAE,MAAM,KAAK,GAAG,IAAI,CAAC;IACtC,2BAA2B;IAC3B,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACxE,gCAAgC;IAChC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IAC/C,eAAe;IACf,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,eAAe;IACf,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAE/B,YAAY,EAAE;QACZ,aAAa,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QAC5B,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACzB,SAAS,EAAE,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;KACzC,CAAC;IAEF,YAAY,EAAE,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,KAAK,IAAI,CAAC;IACvD,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,KAAK,IAAI,CAAC;IAC1C,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,WAAW,EAAE,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,KAAK,IAAI,CAAC;IACjE,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,KAAK,IAAI,CAAC;IAC1C,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,KAAK,OAAO,CAAC;IAC1C,cAAc,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,KAAK,MAAM,CAAC;IAChD,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB;IAEzD,aAAa,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IAC5B,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,SAAS,EAAE,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;CACzC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,WAAW,CAAC,OAAO,GAAE,kBAAuB,GAAG,iBAAiB,CA8I/E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAUhE"}
@@ -0,0 +1,65 @@
1
+ import { Ref } from 'vue';
2
+ import { Shape, Rect } from '../types';
3
+
4
+ /**
5
+ * 最小尺寸配置接口
6
+ */
7
+ export interface MinDimensions {
8
+ minW: number;
9
+ minH: number;
10
+ }
11
+ /**
12
+ * 最小尺寸计算模式
13
+ */
14
+ export declare enum MinDimensionMode {
15
+ RESIZE = "resize",
16
+ STOP = "stop"
17
+ }
18
+ /**
19
+ * 缩放配置接口
20
+ */
21
+ export interface UseResizeConfig {
22
+ packages?: string[];
23
+ diagram?: string[];
24
+ taggedValueLabels?: string[];
25
+ }
26
+ /**
27
+ * 缩放回调函数接口
28
+ */
29
+ export interface UseResizeCallbacks {
30
+ onResizeStart?: (target: Shape) => void;
31
+ onResizeEnd?: (target: Shape) => void;
32
+ onShapeUpdate?: (id: string, updates: {
33
+ bounds: Rect;
34
+ }) => void;
35
+ }
36
+ /**
37
+ * useResize 返回类型
38
+ */
39
+ export interface UseResizeReturn {
40
+ isResizing: Ref<boolean>;
41
+ resizeDirection: Ref<string>;
42
+ startPos: Ref<{
43
+ x: number;
44
+ y: number;
45
+ }>;
46
+ startBounds: Ref<Rect>;
47
+ resizingTarget: Ref<Shape | null>;
48
+ groupBase: Ref<Record<string, Rect>>;
49
+ groupGhost: Ref<Record<string, Rect>>;
50
+ startResize: (e: MouseEvent, dir: "nw" | "ne" | "sw" | "se", target: Shape) => void;
51
+ handleResize: (e: MouseEvent) => void;
52
+ stopResize: () => Promise<void> | void;
53
+ cancelResize: () => void;
54
+ getMinDimensions: (shape: Shape, baseMinW?: number, mode?: MinDimensionMode) => MinDimensions;
55
+ }
56
+ /**
57
+ * 图元缩放 Composable
58
+ *
59
+ * @param layerRef - 交互层的 DOM 引用
60
+ * @param config - 缩放配置
61
+ * @param callbacks - 缩放过程的回调函数
62
+ * @returns 缩放相关的状态和方法
63
+ */
64
+ export declare function useResize(layerRef: Ref<HTMLDivElement | null>, config: UseResizeConfig, callbacks?: UseResizeCallbacks): UseResizeReturn;
65
+ //# sourceMappingURL=useResize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useResize.d.ts","sourceRoot":"","sources":["../../../src/hooks/useResize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,GAAG,EAAE,MAAM,KAAK,CAAC;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAkB5C;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,oBAAY,gBAAgB;IAC1B,MAAM,WAAW;IACjB,IAAI,SAAS;CACd;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,KAAK,IAAI,CAAC;IACxC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,KAAK,IAAI,CAAC;IACtC,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,MAAM,EAAE,IAAI,CAAA;KAAE,KAAK,IAAI,CAAC;CACjE;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACzB,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,QAAQ,EAAE,GAAG,CAAC;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACxC,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IACvB,cAAc,EAAE,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IAClC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IACrC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IACtC,WAAW,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,KAAK,IAAI,CAAC;IACpF,YAAY,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;IACtC,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACvC,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,gBAAgB,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,gBAAgB,KAAK,aAAa,CAAC;CAC/F;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CACvB,QAAQ,EAAE,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC,EACpC,MAAM,EAAE,eAAe,EACvB,SAAS,GAAE,kBAAuB,GACjC,eAAe,CAuRjB"}
@@ -0,0 +1,110 @@
1
+ import { Ref } from 'vue';
2
+
3
+ /**
4
+ * 虚拟滚动配置选项
5
+ */
6
+ export interface VirtualScrollOptions {
7
+ /**
8
+ * 每行的高度(px)
9
+ */
10
+ itemHeight: number;
11
+ /**
12
+ * 表头高度(px),默认 0
13
+ */
14
+ headerHeight?: number;
15
+ /**
16
+ * 缓冲区行数(上下各预渲染多少行),默认 8
17
+ */
18
+ overscan?: number;
19
+ /**
20
+ * 容器元素的 ref(用于获取滚动位置和视口高度)
21
+ */
22
+ containerRef: Ref<HTMLElement | null | undefined>;
23
+ /**
24
+ * 可选的额外容器 ref(用于多容器同步场景,如甘特图左右两侧)
25
+ */
26
+ extraContainerRefs?: Ref<HTMLElement | null | undefined>[];
27
+ /**
28
+ * 可见列数(用于 colspan),默认 1
29
+ */
30
+ columnCount?: Ref<number> | number;
31
+ }
32
+ /**
33
+ * 虚拟滚动返回值
34
+ */
35
+ export interface VirtualScrollReturn<T> {
36
+ /**
37
+ * 当前可见的虚拟行数据
38
+ */
39
+ virtualRows: Ref<Array<{
40
+ item: T;
41
+ index: number;
42
+ }>>;
43
+ /**
44
+ * 上方占位空间高度(px)
45
+ */
46
+ virtualTopSpacerHeight: Ref<number>;
47
+ /**
48
+ * 下方占位空间高度(px)
49
+ */
50
+ virtualBottomSpacerHeight: Ref<number>;
51
+ /**
52
+ * 起始索引
53
+ */
54
+ virtualStartIndex: Ref<number>;
55
+ /**
56
+ * 结束索引
57
+ */
58
+ virtualEndIndex: Ref<number>;
59
+ /**
60
+ * 可见行数
61
+ */
62
+ virtualVisibleRowCount: Ref<number>;
63
+ /**
64
+ * 当前滚动位置
65
+ */
66
+ virtualScrollTop: Ref<number>;
67
+ /**
68
+ * 视口高度
69
+ */
70
+ virtualViewportHeight: Ref<number>;
71
+ /**
72
+ * 同步视口状态(手动调用,用于滚动事件或尺寸变化时)
73
+ */
74
+ syncVirtualViewportState: (preferredEl?: HTMLElement | null) => void;
75
+ /**
76
+ * 可见列数(用于 colspan)
77
+ */
78
+ visibleColumnSpan: Ref<number>;
79
+ }
80
+ /**
81
+ * 虚拟滚动 Hook
82
+ *
83
+ * @description
84
+ * 用于大数据量列表的性能优化,只渲染可见区域的行,大幅减少 DOM 节点数量。
85
+ *
86
+ * @example
87
+ * ```ts
88
+ * const containerRef = ref<HTMLElement>()
89
+ * const items = ref([...]) // 1000 条数据
90
+ *
91
+ * const {
92
+ * virtualRows,
93
+ * virtualTopSpacerHeight,
94
+ * virtualBottomSpacerHeight,
95
+ * syncVirtualViewportState
96
+ * } = useVirtualScroll(items, {
97
+ * itemHeight: 32,
98
+ * headerHeight: 56,
99
+ * overscan: 8,
100
+ * containerRef
101
+ * })
102
+ *
103
+ * // 在滚动事件中调用
104
+ * onScroll(() => {
105
+ * syncVirtualViewportState()
106
+ * })
107
+ * ```
108
+ */
109
+ export declare function useVirtualScroll<T = any>(items: Ref<T[]>, options: VirtualScrollOptions): VirtualScrollReturn<T>;
110
+ //# sourceMappingURL=useVirtualScroll.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useVirtualScroll.d.ts","sourceRoot":"","sources":["../../../src/hooks/useVirtualScroll.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkC,KAAK,GAAG,EAAE,MAAM,KAAK,CAAA;AAE9D;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,UAAU,EAAE,MAAM,CAAA;IAElB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,YAAY,EAAE,GAAG,CAAC,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC,CAAA;IAEjD;;OAEG;IACH,kBAAkB,CAAC,EAAE,GAAG,CAAC,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,CAAA;IAE1D;;OAEG;IACH,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,CAAA;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB,CAAC,CAAC;IACpC;;OAEG;IACH,WAAW,EAAE,GAAG,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,CAAC,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAA;IAEnD;;OAEG;IACH,sBAAsB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAEnC;;OAEG;IACH,yBAAyB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAEtC;;OAEG;IACH,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAE9B;;OAEG;IACH,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAE5B;;OAEG;IACH,sBAAsB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAEnC;;OAEG;IACH,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAE7B;;OAEG;IACH,qBAAqB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAElC;;OAEG;IACH,wBAAwB,EAAE,CAAC,WAAW,CAAC,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAA;IAEpE;;OAEG;IACH,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAC/B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,GAAG,GAAG,EACtC,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EACf,OAAO,EAAE,oBAAoB,GAC5B,mBAAmB,CAAC,CAAC,CAAC,CAqIxB"}
@@ -0,0 +1,18 @@
1
+ import { Plugin } from 'vue';
2
+ import { default as GraphView } from './view/graph.vue';
3
+ import { Pinia } from 'pinia';
4
+
5
+ export { GraphView };
6
+ export { useGraphStore, eventBus } from './store';
7
+ export { ContextMenuUtils, } from './utils/contextMenuUtils';
8
+ export { DateUtils } from './utils/dateUtils';
9
+ export type { Shape, Bounds, Style, NameObject, TaggedValueLabel, Comparent, GraphEvents, GanttData, GanttColumn, GanttContainsModel } from './types';
10
+ /**
11
+ * 可选的安装参数:允许使用方主动把 pinia 传进来
12
+ */
13
+ export interface MxSoseGraphOptions {
14
+ pinia?: Pinia;
15
+ }
16
+ export declare const MxSoseGraphPlugin: Plugin<[MxSoseGraphOptions?]>;
17
+ export default MxSoseGraphPlugin;
18
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAO,MAAM,EAAE,MAAM,KAAK,CAAA;AACtC,OAAO,SAAS,MAAM,kBAAkB,CAAA;AAExC,OAAO,EAAkB,KAAK,KAAK,EAAE,MAAM,OAAO,CAAA;AAIlD,OAAO,EAAE,SAAS,EAAE,CAAA;AAGpB,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAGjD,OAAO,EAAE,gBAAgB,GAAG,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAG7C,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AACrJ;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,KAAK,CAAA;CACd;AAGD,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC,CA0B3D,CAAA;AAGD,eAAe,iBAAiB,CAAA"}
@@ -0,0 +1,9 @@
1
+ import { Component } from 'vue';
2
+
3
+ type Registry = Record<string, Component>;
4
+ /** 批量注册(在应用启动或 GraphView 初始化时调用一次) */
5
+ export declare function registerShapes(map: Registry): void;
6
+ /** 读取:通过 shapeKey 拿到组件;没有就返回 null */
7
+ export declare function getShapeComponentByKey(key?: string | null): Component | null;
8
+ export {};
9
+ //# sourceMappingURL=shape-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shape-registry.d.ts","sourceRoot":"","sources":["../../../src/render/shape-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AAErC,KAAK,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAK1C,sCAAsC;AACtC,wBAAgB,cAAc,CAAC,GAAG,EAAE,QAAQ,QAE3C;AAED,qCAAqC;AACrC,wBAAgB,sBAAsB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAG5E"}
@@ -0,0 +1,12 @@
1
+ import { CSSProperties } from 'vue';
2
+ import { Shape } from '../types';
3
+
4
+ export declare function getComponentByGanttKey(shapeKey: string): any;
5
+ export declare function getComponentByTableKey(shapeKey: string): any;
6
+ export declare function getComponentByMatrixKey(shapeKey: string): any;
7
+ export declare function getComponentByDiagramKey(shapeKey: string): any;
8
+ export declare const getShapeComponent: (shape: Shape) => any;
9
+ /** 批量更新图元时调用,避免缓存无限增长 */
10
+ export declare function clearEdgeStyleCache(): void;
11
+ export declare const getShapeStyle: (shape: Shape) => CSSProperties;
12
+ //# sourceMappingURL=shape-renderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shape-renderer.d.ts","sourceRoot":"","sources":["../../../src/render/shape-renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACzC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAuBrC,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,OAGtD;AAGD,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,OAGtD;AAGD,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,OAGvD;AAGD,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,OAGxD;AAID,eAAO,MAAM,iBAAiB,UAAW,KAAK,QAuB7C,CAAC;AA4DF,yBAAyB;AACzB,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AAID,eAAO,MAAM,aAAa,UAAW,KAAK,KAAG,aA2C5C,CAAA"}
@@ -0,0 +1,10 @@
1
+ declare class EventBus {
2
+ private events;
3
+ on(event: string, callback: Function): void;
4
+ off(event: string, callback: Function): void;
5
+ emit(event: string, ...args: any[]): void;
6
+ once(event: string, callback: Function): void;
7
+ }
8
+ export declare const eventBus: EventBus;
9
+ export {};
10
+ //# sourceMappingURL=eventBus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eventBus.d.ts","sourceRoot":"","sources":["../../../src/store/eventBus.ts"],"names":[],"mappings":"AAGA,cAAM,QAAQ;IACZ,OAAO,CAAC,MAAM,CAAiC;IAG/C,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;IAQpC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;IAMrC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;IAMlC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;CAOvC;AAGD,eAAO,MAAM,QAAQ,UAAiB,CAAA"}