@logicflow/extension 2.2.0 → 2.2.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 (201) hide show
  1. package/README.md +16 -0
  2. package/dist/index.css +1 -1
  3. package/dist/index.min.js +1 -1
  4. package/dist/index.min.js.map +1 -1
  5. package/es/NodeResize/node/RectResize.d.ts +0 -6
  6. package/es/NodeResize/node/RectResize.js +2 -11
  7. package/es/bpmn-elements-adapter/json2xml.d.ts +2 -1
  8. package/es/bpmn-elements-adapter/json2xml.js +18 -4
  9. package/es/bpmn-elements-adapter/xml2json.js +2 -7
  10. package/es/components/control/index.d.ts +1 -0
  11. package/es/components/control/index.js +24 -11
  12. package/es/components/mini-map/index.js +1 -1
  13. package/es/dynamic-group/model.d.ts +2 -1
  14. package/es/dynamic-group/model.js +28 -11
  15. package/es/dynamic-group/node.js +1 -0
  16. package/es/index.css +1 -1
  17. package/es/index.d.ts +1 -0
  18. package/es/index.js +2 -0
  19. package/es/insert-node-in-polyline/index.js +11 -35
  20. package/es/materials/curved-edge/index.js +49 -21
  21. package/es/materials/group/GroupNode.d.ts +0 -6
  22. package/es/materials/group/GroupNode.js +1 -6
  23. package/es/pool/LaneModel.d.ts +90 -0
  24. package/es/pool/LaneModel.js +252 -0
  25. package/es/pool/LaneView.d.ts +40 -0
  26. package/es/pool/LaneView.js +202 -0
  27. package/es/pool/PoolModel.d.ts +120 -0
  28. package/es/pool/PoolModel.js +586 -0
  29. package/es/pool/PoolView.d.ts +17 -0
  30. package/es/pool/PoolView.js +76 -0
  31. package/es/pool/constant.d.ts +15 -0
  32. package/es/pool/constant.js +17 -0
  33. package/es/pool/index.d.ts +89 -0
  34. package/es/pool/index.js +524 -0
  35. package/es/pool/utils.d.ts +19 -0
  36. package/es/pool/utils.js +33 -0
  37. package/es/style/index.css +1 -1
  38. package/es/style/raw.d.ts +1 -1
  39. package/es/style/raw.js +1 -1
  40. package/es/tools/label/LabelOverlay.js +3 -3
  41. package/es/tools/label/mediumEditor.d.ts +1 -1
  42. package/es/tools/label/mediumEditor.js +89 -52
  43. package/es/tools/snapshot/index.d.ts +7 -3
  44. package/es/tools/snapshot/index.js +72 -77
  45. package/lib/NodeResize/node/RectResize.d.ts +0 -6
  46. package/lib/NodeResize/node/RectResize.js +1 -10
  47. package/lib/bpmn-elements-adapter/json2xml.d.ts +2 -1
  48. package/lib/bpmn-elements-adapter/json2xml.js +19 -4
  49. package/lib/bpmn-elements-adapter/xml2json.js +2 -7
  50. package/lib/components/control/index.d.ts +1 -0
  51. package/lib/components/control/index.js +24 -11
  52. package/lib/components/mini-map/index.js +1 -1
  53. package/lib/dynamic-group/model.d.ts +2 -1
  54. package/lib/dynamic-group/model.js +28 -11
  55. package/lib/dynamic-group/node.js +1 -0
  56. package/lib/index.css +1 -1
  57. package/lib/index.d.ts +1 -0
  58. package/lib/index.js +2 -0
  59. package/lib/insert-node-in-polyline/index.js +10 -34
  60. package/lib/materials/curved-edge/index.js +49 -21
  61. package/lib/materials/group/GroupNode.d.ts +0 -6
  62. package/lib/materials/group/GroupNode.js +1 -6
  63. package/lib/pool/LaneModel.d.ts +90 -0
  64. package/lib/pool/LaneModel.js +255 -0
  65. package/lib/pool/LaneView.d.ts +40 -0
  66. package/lib/pool/LaneView.js +205 -0
  67. package/lib/pool/PoolModel.d.ts +120 -0
  68. package/lib/pool/PoolModel.js +589 -0
  69. package/lib/pool/PoolView.d.ts +17 -0
  70. package/lib/pool/PoolView.js +79 -0
  71. package/lib/pool/constant.d.ts +15 -0
  72. package/lib/pool/constant.js +20 -0
  73. package/lib/pool/index.d.ts +89 -0
  74. package/lib/pool/index.js +527 -0
  75. package/lib/pool/utils.d.ts +19 -0
  76. package/lib/pool/utils.js +38 -0
  77. package/lib/style/index.css +1 -1
  78. package/lib/style/raw.d.ts +1 -1
  79. package/lib/style/raw.js +1 -1
  80. package/lib/tools/label/LabelOverlay.js +2 -2
  81. package/lib/tools/label/mediumEditor.d.ts +1 -1
  82. package/lib/tools/label/mediumEditor.js +91 -53
  83. package/lib/tools/snapshot/index.d.ts +7 -3
  84. package/lib/tools/snapshot/index.js +72 -77
  85. package/package.json +10 -7
  86. package/.turbo/turbo-build.log +0 -38
  87. package/CHANGELOG.md +0 -1766
  88. package/__test__/bpmn-adapter.test.js +0 -227
  89. package/es/materials/curved-edge/__test__/curved-edge.test.d.ts +0 -1
  90. package/es/materials/curved-edge/__test__/curved-edge.test.js +0 -18
  91. package/jest.config.js +0 -198
  92. package/lib/materials/curved-edge/__test__/curved-edge.test.d.ts +0 -1
  93. package/lib/materials/curved-edge/__test__/curved-edge.test.js +0 -20
  94. package/rollup.config.js +0 -52
  95. package/src/NodeResize/BasicShape/Ellipse.tsx +0 -22
  96. package/src/NodeResize/BasicShape/Polygon.tsx +0 -24
  97. package/src/NodeResize/BasicShape/Rect.tsx +0 -44
  98. package/src/NodeResize/control/Control.tsx +0 -537
  99. package/src/NodeResize/control/ControlGroup.tsx +0 -76
  100. package/src/NodeResize/control/Util.ts +0 -206
  101. package/src/NodeResize/index.ts +0 -26
  102. package/src/NodeResize/node/DiamondResize.tsx +0 -149
  103. package/src/NodeResize/node/EllipseResize.tsx +0 -140
  104. package/src/NodeResize/node/HtmlResize.tsx +0 -125
  105. package/src/NodeResize/node/RectResize.tsx +0 -146
  106. package/src/NodeResize/node/index.ts +0 -4
  107. package/src/bpmn/constant.ts +0 -56
  108. package/src/bpmn/events/EndEvent.ts +0 -73
  109. package/src/bpmn/events/StartEvent.ts +0 -52
  110. package/src/bpmn/events/index.ts +0 -2
  111. package/src/bpmn/flow/SequenceFlow.ts +0 -25
  112. package/src/bpmn/flow/index.ts +0 -1
  113. package/src/bpmn/gateways/ExclusiveGateway.ts +0 -71
  114. package/src/bpmn/gateways/index.ts +0 -1
  115. package/src/bpmn/getBpmnId.ts +0 -31
  116. package/src/bpmn/index.ts +0 -60
  117. package/src/bpmn/tasks/ServiceTask.ts +0 -63
  118. package/src/bpmn/tasks/UserTask.ts +0 -64
  119. package/src/bpmn/tasks/index.ts +0 -2
  120. package/src/bpmn-adapter/bpmnIds.ts +0 -31
  121. package/src/bpmn-adapter/index.ts +0 -835
  122. package/src/bpmn-adapter/json2xml.ts +0 -127
  123. package/src/bpmn-adapter/xml2json.ts +0 -544
  124. package/src/bpmn-elements/README.md +0 -223
  125. package/src/bpmn-elements/__tests__/definition.test.js +0 -72
  126. package/src/bpmn-elements/index.d.ts +0 -26
  127. package/src/bpmn-elements/index.ts +0 -107
  128. package/src/bpmn-elements/presets/Event/EndEventFactory.ts +0 -114
  129. package/src/bpmn-elements/presets/Event/IntermediateCatchEvent.ts +0 -108
  130. package/src/bpmn-elements/presets/Event/IntermediateThrowEvent.ts +0 -109
  131. package/src/bpmn-elements/presets/Event/StartEventFactory.ts +0 -114
  132. package/src/bpmn-elements/presets/Event/boundaryEventFactory.ts +0 -117
  133. package/src/bpmn-elements/presets/Event/index.ts +0 -14
  134. package/src/bpmn-elements/presets/Flow/flow.d.ts +0 -6
  135. package/src/bpmn-elements/presets/Flow/index.ts +0 -8
  136. package/src/bpmn-elements/presets/Flow/manhattan.ts +0 -691
  137. package/src/bpmn-elements/presets/Flow/sequenceFlow.ts +0 -65
  138. package/src/bpmn-elements/presets/Gateway/gateway.ts +0 -107
  139. package/src/bpmn-elements/presets/Gateway/index.ts +0 -23
  140. package/src/bpmn-elements/presets/Pool/Lane.ts +0 -211
  141. package/src/bpmn-elements/presets/Pool/Pool.ts +0 -284
  142. package/src/bpmn-elements/presets/Pool/index.ts +0 -89
  143. package/src/bpmn-elements/presets/Task/index.ts +0 -122
  144. package/src/bpmn-elements/presets/Task/subProcess.ts +0 -189
  145. package/src/bpmn-elements/presets/Task/task.ts +0 -193
  146. package/src/bpmn-elements/presets/icons.ts +0 -155
  147. package/src/bpmn-elements/utils.ts +0 -52
  148. package/src/bpmn-elements-adapter/README.md +0 -293
  149. package/src/bpmn-elements-adapter/__tests__/adapter_in.test.js +0 -528
  150. package/src/bpmn-elements-adapter/__tests__/adapter_out.test.js +0 -569
  151. package/src/bpmn-elements-adapter/constant.ts +0 -76
  152. package/src/bpmn-elements-adapter/index.ts +0 -1134
  153. package/src/bpmn-elements-adapter/json2xml.ts +0 -91
  154. package/src/bpmn-elements-adapter/xml2json.ts +0 -548
  155. package/src/components/context-menu/index.ts +0 -253
  156. package/src/components/control/index.ts +0 -141
  157. package/src/components/dnd-panel/index.ts +0 -137
  158. package/src/components/highlight/index.ts +0 -227
  159. package/src/components/menu/index.ts +0 -748
  160. package/src/components/mini-map/index.ts +0 -686
  161. package/src/components/selection-select/index.ts +0 -387
  162. package/src/dynamic-group/index.ts +0 -775
  163. package/src/dynamic-group/model.ts +0 -562
  164. package/src/dynamic-group/node.ts +0 -288
  165. package/src/dynamic-group/utils.ts +0 -46
  166. package/src/index.less +0 -1
  167. package/src/index.ts +0 -45
  168. package/src/insert-node-in-polyline/edge.ts +0 -175
  169. package/src/insert-node-in-polyline/index.ts +0 -187
  170. package/src/materials/curved-edge/__test__/curved-edge.test.ts +0 -46
  171. package/src/materials/curved-edge/index.ts +0 -185
  172. package/src/materials/group/GroupNode.ts +0 -442
  173. package/src/materials/group/index.ts +0 -542
  174. package/src/materials/node-selection/index.ts +0 -380
  175. package/src/mindmap/fakerRoot.ts +0 -19
  176. package/src/mindmap/index.ts +0 -328
  177. package/src/mindmap/markContent.ts +0 -81
  178. package/src/mindmap/markContentOption.ts +0 -81
  179. package/src/mindmap/markEntity.ts +0 -82
  180. package/src/mindmap/markRoot.ts +0 -83
  181. package/src/mindmap/theme.ts +0 -11
  182. package/src/rect-label-node/RectLabelNodeView.ts +0 -33
  183. package/src/rect-label-node/index.ts +0 -15
  184. package/src/style/index.less +0 -342
  185. package/src/style/raw.ts +0 -295
  186. package/src/tools/auto-layout/index.ts +0 -282
  187. package/src/tools/flow-path/index.ts +0 -233
  188. package/src/tools/label/Label.tsx +0 -357
  189. package/src/tools/label/LabelModel.ts +0 -83
  190. package/src/tools/label/LabelOverlay.tsx +0 -158
  191. package/src/tools/label/algorithm.ts +0 -42
  192. package/src/tools/label/index.ts +0 -479
  193. package/src/tools/label/mediumEditor.ts +0 -94
  194. package/src/tools/label/utils.ts +0 -395
  195. package/src/tools/proximity-connect/index.ts +0 -435
  196. package/src/tools/snapshot/README.md +0 -145
  197. package/src/tools/snapshot/index.ts +0 -718
  198. package/src/tools/snapshot/utils.ts +0 -163
  199. package/src/turbo-adapter/index.ts +0 -212
  200. package/stats.html +0 -4842
  201. package/tsconfig.json +0 -18
@@ -0,0 +1,255 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __assign = (this && this.__assign) || function () {
18
+ __assign = Object.assign || function(t) {
19
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
20
+ s = arguments[i];
21
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
+ t[p] = s[p];
23
+ }
24
+ return t;
25
+ };
26
+ return __assign.apply(this, arguments);
27
+ };
28
+ var __read = (this && this.__read) || function (o, n) {
29
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
30
+ if (!m) return o;
31
+ var i = m.call(o), r, ar = [], e;
32
+ try {
33
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
34
+ }
35
+ catch (error) { e = { error: error }; }
36
+ finally {
37
+ try {
38
+ if (r && !r.done && (m = i["return"])) m.call(i);
39
+ }
40
+ finally { if (e) throw e.error; }
41
+ }
42
+ return ar;
43
+ };
44
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
45
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
46
+ if (ar || !(i in from)) {
47
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
48
+ ar[i] = from[i];
49
+ }
50
+ }
51
+ return to.concat(ar || Array.prototype.slice.call(from));
52
+ };
53
+ Object.defineProperty(exports, "__esModule", { value: true });
54
+ exports.LaneModel = void 0;
55
+ var dynamic_group_1 = require("../dynamic-group");
56
+ var lodash_es_1 = require("lodash-es");
57
+ var constant_1 = require("./constant");
58
+ var LaneModel = /** @class */ (function (_super) {
59
+ __extends(LaneModel, _super);
60
+ function LaneModel() {
61
+ var _this = _super.apply(this, __spreadArray([], __read(arguments), false)) || this;
62
+ _this.isLane = true;
63
+ _this.defaultZIndex = -1;
64
+ return _this;
65
+ }
66
+ LaneModel.prototype.initNodeData = function (data) {
67
+ var _a;
68
+ _super.prototype.initNodeData.call(this, data);
69
+ // 泳道特定配置
70
+ this.width = data.width || constant_1.laneConfig.defaultWidth;
71
+ this.height = data.height || constant_1.laneConfig.defaultHeight;
72
+ this.draggable = true; // 允许拖拽(实际拖拽逻辑由泳池控制)
73
+ this.resizable = true; // 允许调整大小
74
+ this.rotatable = false; // 禁止旋转
75
+ // 设置泳道层级
76
+ // 如果传入了zIndex,使用传入的值,否则默认为2
77
+ // 泳道层级应该比所属泳池高,确保显示在泳池上方
78
+ this.defaultZIndex = data.zIndex || -1;
79
+ this.setZIndex(this.defaultZIndex);
80
+ this.autoToFront = true;
81
+ this.text.editable = true;
82
+ this.style.stroke = '#000';
83
+ this.style.strokeWidth = 1;
84
+ // 泳道属性配置
85
+ this.properties = __assign(__assign({}, this.properties), { processRef: '', panels: ['processRef'], direction: ((_a = data.properties) === null || _a === void 0 ? void 0 : _a.direction) || 'vertical' });
86
+ // 设置折叠尺寸(泳道不支持折叠,设置为与正常尺寸相同)
87
+ this.collapsedWidth = this.width;
88
+ this.collapsedHeight = this.height;
89
+ this.expandWidth = this.width;
90
+ this.expandHeight = this.height;
91
+ };
92
+ LaneModel.prototype.setAttributes = function () {
93
+ _super.prototype.setAttributes.call(this);
94
+ this.updateTextPosition();
95
+ };
96
+ LaneModel.prototype.setZIndex = function (zIndex) {
97
+ this.zIndex = Math.min(zIndex, this.defaultZIndex) || this.defaultZIndex;
98
+ };
99
+ /**
100
+ * 重写折叠方法 - 泳道不支持折叠
101
+ */
102
+ LaneModel.prototype.toggleCollapse = function () {
103
+ // 泳道不支持折叠功能,保持展开状态
104
+ this.isCollapsed = false;
105
+ this.setProperties({ isCollapsed: false });
106
+ };
107
+ /**
108
+ * 获取所属泳池ID
109
+ */
110
+ LaneModel.prototype.getPoolId = function () {
111
+ var _this = this;
112
+ try {
113
+ // 检查graphModel是否存在
114
+ if (!this.graphModel) {
115
+ console.warn('GraphModel is not available');
116
+ return null;
117
+ }
118
+ // 安全地获取泳池ID
119
+ var poolModel = this.graphModel.nodes.find(function (node) {
120
+ return node.children && node.children.has(_this.id);
121
+ });
122
+ return (poolModel === null || poolModel === void 0 ? void 0 : poolModel.id) || null;
123
+ }
124
+ catch (error) {
125
+ console.error('Error getting pool ID:', error);
126
+ return null;
127
+ }
128
+ };
129
+ /**
130
+ * 获取所属泳池模型
131
+ */
132
+ LaneModel.prototype.getPoolModel = function () {
133
+ try {
134
+ var poolId = this.getPoolId();
135
+ if (!poolId) {
136
+ return null;
137
+ }
138
+ // 检查graphModel是否存在
139
+ if (!this.graphModel) {
140
+ console.warn('GraphModel is not available for getting pool model');
141
+ return null;
142
+ }
143
+ var poolModel = this.graphModel.getNodeModelById(poolId);
144
+ return poolModel || null;
145
+ }
146
+ catch (error) {
147
+ console.error('Error getting pool model:', error);
148
+ return null;
149
+ }
150
+ };
151
+ /**
152
+ * 动态修改泳道属性
153
+ */
154
+ LaneModel.prototype.changeAttribute = function (_a) {
155
+ var width = _a.width, height = _a.height, x = _a.x, y = _a.y;
156
+ if (width)
157
+ this.width = width; // 更新宽度
158
+ if (height)
159
+ this.height = height; // 更新高度
160
+ if (x)
161
+ this.x = x; // 更新X坐标
162
+ if (y)
163
+ this.y = y; // 更新Y坐标
164
+ };
165
+ /**
166
+ * 重写获取数据方法,添加泳道特定属性
167
+ */
168
+ LaneModel.prototype.getData = function () {
169
+ var data = _super.prototype.getData.call(this);
170
+ // const poolModel = this.getPoolModel()
171
+ return __assign(__assign({}, data), { properties: __assign(__assign({}, data.properties), { width: this.width, height: this.height, processRef: this.properties.processRef, direction: this.properties.direction }) });
172
+ };
173
+ /**
174
+ * 重写 isAllowAppendIn,禁止 Lane 嵌套
175
+ */
176
+ LaneModel.prototype.isAllowAppendIn = function (nodeData) {
177
+ // 禁止 Lane 节点被添加到 Lane 中
178
+ return String(nodeData.type) !== 'lane';
179
+ };
180
+ /**
181
+ * 获取需要移动的节点
182
+ * @param groupModel
183
+ */
184
+ LaneModel.prototype.getNodesInGroup = function (groupModel) {
185
+ var _this = this;
186
+ var nodeIds = [];
187
+ var parent = groupModel.properties.parent, isDragging = groupModel.isDragging;
188
+ if (isDragging && parent) {
189
+ nodeIds.push(parent);
190
+ }
191
+ (0, lodash_es_1.forEach)(Array.from(groupModel.children), function (nodeId) {
192
+ var nodeModel = _this.graphModel.getNodeModelById(nodeId);
193
+ // 只有非 Lane 类型的节点才会被带动
194
+ if (nodeModel &&
195
+ !nodeModel.isDragging &&
196
+ String(nodeModel.type) !== 'lane') {
197
+ nodeIds.push(nodeId);
198
+ }
199
+ });
200
+ return nodeIds;
201
+ };
202
+ LaneModel.prototype.getNodeStyle = function () {
203
+ var style = _super.prototype.getNodeStyle.call(this);
204
+ style.strokeWidth = 2;
205
+ return style;
206
+ };
207
+ /**
208
+ * 获取文本样式
209
+ */
210
+ LaneModel.prototype.getTextStyle = function () {
211
+ var _a = this.properties.isHorizontal, isHorizontal = _a === void 0 ? false : _a;
212
+ var style = _super.prototype.getTextStyle.call(this);
213
+ style.overflowMode = 'ellipsis';
214
+ style.strokeWidth = 2;
215
+ style.textWidth = isHorizontal ? this.height : this.width;
216
+ style.textHeight = isHorizontal ? this.width : this.height;
217
+ if (isHorizontal) {
218
+ style.transform = 'rotate(-90deg)';
219
+ style.textAlign = 'center';
220
+ }
221
+ return style;
222
+ };
223
+ /**
224
+ * 获取子泳道
225
+ */
226
+ LaneModel.prototype.getSubNodes = function () {
227
+ var _this = this;
228
+ var children = [];
229
+ Array.from(this.children).forEach(function (childId) {
230
+ var childModel = _this.graphModel.getNodeModelById(childId);
231
+ if (childModel) {
232
+ children.push(childModel);
233
+ }
234
+ });
235
+ return children;
236
+ };
237
+ /**
238
+ * 初始化文本位置 - 根据布局方向设置文本位置
239
+ */
240
+ LaneModel.prototype.updateTextPosition = function () {
241
+ if (this.properties.isHorizontal) {
242
+ // 横向泳池:文本显示在左侧标题区域
243
+ this.text.x = this.x - this.width / 2 + constant_1.laneConfig.titleSize / 2;
244
+ this.text.y = this.y;
245
+ }
246
+ else {
247
+ // 纵向泳池:文本显示在顶部标题区域
248
+ this.text.x = this.x;
249
+ this.text.y = this.y - this.height / 2 + constant_1.laneConfig.titleSize / 2;
250
+ }
251
+ };
252
+ return LaneModel;
253
+ }(dynamic_group_1.DynamicGroupNodeModel));
254
+ exports.LaneModel = LaneModel;
255
+ exports.default = null;
@@ -0,0 +1,40 @@
1
+ /**
2
+ * 基于DynamicGroup重新实现的泳道节点组件
3
+ * 继承DynamicGroupNodeModel和DynamicGroupNode,提供泳道特定功能
4
+ */
5
+ import { h } from '@logicflow/core';
6
+ import { DynamicGroupNode } from '../dynamic-group';
7
+ export declare class LaneView extends DynamicGroupNode {
8
+ getAppendAreaShape(): h.JSX.Element | null;
9
+ getShape(): import("preact").VNode<import("preact").ClassAttributes<HTMLElement>>;
10
+ /**
11
+ * 获取操作图标
12
+ */
13
+ getOperateIcons(): (import("preact").VNode<import("preact").ClassAttributes<HTMLElement> & {
14
+ cursor: string;
15
+ onClick: () => void;
16
+ }> | import("preact").VNode<import("preact").ClassAttributes<HTMLElement> & {
17
+ cursor: string;
18
+ onClick: () => void;
19
+ width: number;
20
+ height: number;
21
+ transform: string;
22
+ }>)[];
23
+ addBeforeLaneIcon(isHorizontal: boolean, callback: () => void): import("preact").VNode<import("preact").ClassAttributes<HTMLElement> & {
24
+ cursor: string;
25
+ onClick: () => void;
26
+ }>;
27
+ addAfterLaneIcon(isHorizontal: boolean, callback: () => void): import("preact").VNode<import("preact").ClassAttributes<HTMLElement> & {
28
+ cursor: string;
29
+ onClick: () => void;
30
+ }>;
31
+ deleteLaneIcon(callback: () => void): import("preact").VNode<import("preact").ClassAttributes<HTMLElement> & {
32
+ cursor: string;
33
+ onClick: () => void;
34
+ width: number;
35
+ height: number;
36
+ transform: string;
37
+ }>;
38
+ }
39
+ declare const _default: null;
40
+ export default _default;
@@ -0,0 +1,205 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __assign = (this && this.__assign) || function () {
18
+ __assign = Object.assign || function(t) {
19
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
20
+ s = arguments[i];
21
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
+ t[p] = s[p];
23
+ }
24
+ return t;
25
+ };
26
+ return __assign.apply(this, arguments);
27
+ };
28
+ var __read = (this && this.__read) || function (o, n) {
29
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
30
+ if (!m) return o;
31
+ var i = m.call(o), r, ar = [], e;
32
+ try {
33
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
34
+ }
35
+ catch (error) { e = { error: error }; }
36
+ finally {
37
+ try {
38
+ if (r && !r.done && (m = i["return"])) m.call(i);
39
+ }
40
+ finally { if (e) throw e.error; }
41
+ }
42
+ return ar;
43
+ };
44
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
45
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
46
+ if (ar || !(i in from)) {
47
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
48
+ ar[i] = from[i];
49
+ }
50
+ }
51
+ return to.concat(ar || Array.prototype.slice.call(from));
52
+ };
53
+ Object.defineProperty(exports, "__esModule", { value: true });
54
+ exports.LaneView = void 0;
55
+ /**
56
+ * 基于DynamicGroup重新实现的泳道节点组件
57
+ * 继承DynamicGroupNodeModel和DynamicGroupNode,提供泳道特定功能
58
+ */
59
+ var core_1 = require("@logicflow/core");
60
+ var dynamic_group_1 = require("../dynamic-group");
61
+ var constant_1 = require("./constant");
62
+ var LaneView = /** @class */ (function (_super) {
63
+ __extends(LaneView, _super);
64
+ function LaneView() {
65
+ return _super !== null && _super.apply(this, arguments) || this;
66
+ }
67
+ LaneView.prototype.getAppendAreaShape = function () {
68
+ // DONE: 此区域用于初始化 group container, 即元素拖拽进入感应区域
69
+ var model = this.props.model;
70
+ var width = model.width, height = model.height, x = model.x, y = model.y, radius = model.radius, groupAddable = model.groupAddable;
71
+ if (!groupAddable)
72
+ return null;
73
+ var _a = model.getNodeStyle().strokeWidth, strokeWidth = _a === void 0 ? 0 : _a;
74
+ var style = model.getAddableOutlineStyle();
75
+ var newWidth = width + strokeWidth + 8;
76
+ var newHeight = height + strokeWidth + 8;
77
+ return (0, core_1.h)('rect', __assign(__assign({}, style), { width: newWidth, height: newHeight, x: x - newWidth / 2, y: y - newHeight / 2, rx: radius, ry: radius }));
78
+ };
79
+ LaneView.prototype.getShape = function () {
80
+ var model = this.props.model;
81
+ var x = model.x, y = model.y, width = model.width, height = model.height, _a = model.properties, _b = _a.textStyle, customTextStyle = _b === void 0 ? {} : _b, isHorizontal = _a.isHorizontal;
82
+ var style = model.getNodeStyle();
83
+ var base = { fill: '#ffffff', stroke: '#000000', strokeWidth: 1 };
84
+ var left = x - width / 2;
85
+ var top = y - height / 2;
86
+ // 泳道主体
87
+ var rectAttrs = __assign({ x: x - width / 2, y: y - height / 2, width: width, height: height, stroke: '#000000', strokeWidth: 2, fill: 'transparent' }, style);
88
+ // 操作图标区域
89
+ var icons = this.getOperateIcons();
90
+ var titleRect = __assign(__assign(__assign(__assign({}, base), style), { x: isHorizontal ? left + constant_1.laneConfig.titleSize : left, y: isHorizontal ? top : top + constant_1.laneConfig.titleSize, width: isHorizontal ? width - constant_1.laneConfig.titleSize : width, height: isHorizontal ? height : constant_1.laneConfig.titleSize }), (isHorizontal ? customTextStyle : {}));
91
+ return (0, core_1.h)('g', {}, __spreadArray([
92
+ this.getAppendAreaShape(),
93
+ (0, core_1.h)('rect', titleRect),
94
+ (0, core_1.h)('rect', __assign({}, rectAttrs))
95
+ ], __read(icons), false));
96
+ };
97
+ /**
98
+ * 获取操作图标
99
+ */
100
+ LaneView.prototype.getOperateIcons = function () {
101
+ var model = this.props.model;
102
+ var isSelected = model.isSelected;
103
+ if (!isSelected) {
104
+ return [];
105
+ }
106
+ var poolModel = model.getPoolModel();
107
+ if (!poolModel) {
108
+ return [];
109
+ }
110
+ var isHorizontal = poolModel.isHorizontal;
111
+ var laneData = model.getData();
112
+ return [
113
+ this.addBeforeLaneIcon(isHorizontal, function () {
114
+ var _a, _b;
115
+ return isHorizontal
116
+ ? (_a = poolModel.addChildAbove) === null || _a === void 0 ? void 0 : _a.call(poolModel, laneData)
117
+ : (_b = poolModel.addChildRight) === null || _b === void 0 ? void 0 : _b.call(poolModel, laneData);
118
+ }),
119
+ this.addAfterLaneIcon(isHorizontal, function () {
120
+ var _a, _b;
121
+ return isHorizontal
122
+ ? (_a = poolModel.addChildBelow) === null || _a === void 0 ? void 0 : _a.call(poolModel, laneData)
123
+ : (_b = poolModel.addChildLeft) === null || _b === void 0 ? void 0 : _b.call(poolModel, laneData);
124
+ }),
125
+ this.deleteLaneIcon(function () { var _a; return (_a = poolModel.deleteChild) === null || _a === void 0 ? void 0 : _a.call(poolModel, laneData.id); }),
126
+ ];
127
+ };
128
+ LaneView.prototype.addBeforeLaneIcon = function (isHorizontal, callback) {
129
+ var _a = this.props.model, x = _a.x, y = _a.y, width = _a.width, height = _a.height;
130
+ // 图标与泳道之间加固定的间距
131
+ var positionX = x + width / 2 + constant_1.laneConfig.iconSpacing;
132
+ var positionY = y - height / 2;
133
+ var baseAttr = {
134
+ width: constant_1.laneConfig.iconSize / 2,
135
+ height: constant_1.laneConfig.iconSize,
136
+ strokeWidth: 1,
137
+ fill: '#fff',
138
+ stroke: '#000',
139
+ x: positionX,
140
+ y: positionY,
141
+ };
142
+ var iconView = [
143
+ (0, core_1.h)('rect', __assign(__assign({}, baseAttr), { x: positionX + constant_1.laneConfig.iconSize / 2, strokeDasharray: '2 2' })),
144
+ (0, core_1.h)('rect', baseAttr),
145
+ ];
146
+ if (isHorizontal) {
147
+ iconView = [
148
+ (0, core_1.h)('rect', __assign(__assign({}, baseAttr), { width: constant_1.laneConfig.iconSize, height: constant_1.laneConfig.iconSize / 2, strokeDasharray: '2 2' })),
149
+ (0, core_1.h)('rect', __assign(__assign({}, baseAttr), { width: constant_1.laneConfig.iconSize, height: constant_1.laneConfig.iconSize / 2, y: positionY + constant_1.laneConfig.iconSize / 2 })),
150
+ ];
151
+ }
152
+ return (0, core_1.h)('g', { cursor: 'pointer', onClick: callback }, iconView);
153
+ };
154
+ LaneView.prototype.addAfterLaneIcon = function (isHorizontal, callback) {
155
+ var _a = this.props.model, x = _a.x, y = _a.y, width = _a.width, height = _a.height;
156
+ var positionX = x + width / 2 + constant_1.laneConfig.iconSpacing;
157
+ var positionY = y - height / 2 + constant_1.laneConfig.iconSize + constant_1.laneConfig.iconSpacing;
158
+ var baseAttr = {
159
+ width: constant_1.laneConfig.iconSize / 2,
160
+ height: constant_1.laneConfig.iconSize,
161
+ strokeWidth: 1,
162
+ fill: '#fff',
163
+ stroke: '#000',
164
+ x: positionX,
165
+ y: positionY,
166
+ };
167
+ var iconView = [
168
+ (0, core_1.h)('rect', __assign(__assign({}, baseAttr), { x: positionX + constant_1.laneConfig.iconSize / 2 })),
169
+ (0, core_1.h)('rect', __assign(__assign({}, baseAttr), { strokeDasharray: '2 2' })),
170
+ ];
171
+ if (isHorizontal) {
172
+ iconView = [
173
+ (0, core_1.h)('rect', __assign(__assign({}, baseAttr), { width: constant_1.laneConfig.iconSize, height: constant_1.laneConfig.iconSize / 2 })),
174
+ (0, core_1.h)('rect', __assign(__assign({}, baseAttr), { width: constant_1.laneConfig.iconSize, height: constant_1.laneConfig.iconSize / 2, y: positionY + constant_1.laneConfig.iconSize / 2, strokeDasharray: '2 2' })),
175
+ ];
176
+ }
177
+ return (0, core_1.h)('g', { cursor: 'pointer', onClick: callback }, iconView);
178
+ };
179
+ LaneView.prototype.deleteLaneIcon = function (callback) {
180
+ var _a = this.props.model, x = _a.x, y = _a.y, width = _a.width, height = _a.height;
181
+ var positionX = x + width / 2 + constant_1.laneConfig.iconSpacing;
182
+ var positionY = y - height / 2 + (constant_1.laneConfig.iconSize + constant_1.laneConfig.iconSpacing) * 3;
183
+ return (0, core_1.h)('g', {
184
+ cursor: 'pointer',
185
+ onClick: callback,
186
+ width: constant_1.laneConfig.iconSize,
187
+ height: constant_1.laneConfig.iconSize,
188
+ transform: "translate(".concat(positionX, ", ").concat(positionY, ")"),
189
+ }, [
190
+ (0, core_1.h)('rect', {
191
+ width: constant_1.laneConfig.iconSize,
192
+ height: constant_1.laneConfig.iconSize,
193
+ fill: 'transparent',
194
+ }),
195
+ (0, core_1.h)('path', {
196
+ transform: "translate(2, 1) scale(".concat(constant_1.laneConfig.iconSize / 18, ")"),
197
+ fill: '#000',
198
+ d: 'M1.6361705,0.07275847000000002L1.6362224,0.07267305000000002L5.1435161,2.2034403L6.3516493,1.28341734Q7.2009554,0.63665058,8.0902505,1.22722644L10.1215935,2.5762291Q11.006711,3.1640306,10.745867,4.1940317L10.4062386,5.5351257L13.625054,7.5778356L13.625001,7.5779204Q13.678322,7.6117587,13.721552,7.6577945Q13.764784,7.7038307,13.795207,7.7591715Q13.82563,7.8145118,13.841336,7.87568Q13.857041,7.9368477,13.857041,8Q13.85704,8.0492353,13.847435,8.0975251Q13.83783,8.145814900000001,13.818987,8.191302799999999Q13.800144,8.2367907,13.772791,8.2777286Q13.745438,8.318666499999999,13.710623,8.3534818Q13.675808,8.3882966,13.63487,8.4156504Q13.593931,8.4430046,13.548444,8.461846399999999Q13.502956,8.4806881,13.454666,8.4902935Q13.406377,8.4998994,13.357141,8.499899899999999Q13.211908,8.499899899999999,13.089283,8.4220805L13.08923,8.4221654L4.9074116,3.229857L1.1170242400000001,0.92732695L1.1170761599999999,0.92724147Q1.06204063,0.8938076500000001,1.0172748,0.84751782Q0.97250897,0.80122799,0.9409355500000001,0.74510445Q0.9093622,0.68898091,0.89304277,0.626688Q0.87672335,0.564395107,0.87672332,0.5Q0.8767232899999999,0.450764146,0.88632876,0.402474351Q0.8959341599999999,0.35418455,0.91477591,0.30869657Q0.93361765,0.26320857,0.9609716500000001,0.22227046Q0.9883256,0.18133234999999998,1.02314061,0.14651734Q1.05795562,0.11170232000000002,1.0988937,0.08434838Q1.13983184,0.056994409999999995,1.18531984,0.038152660000000005Q1.2308077800000001,0.019310890000000025,1.27909762,0.009705450000000004Q1.32738745,0.00010001999999997846,1.3766233300000001,0.00009998999999999425Q1.516567,0.00009998999999999425,1.6361705,0.07275847000000002ZM9.5175018,4.9711194L9.7764683,3.9485345Q9.8634167,3.6052005,9.5683784,3.4092672L7.537035,2.0602646Q7.240603,1.8634058,6.9575009,2.0789949L6.0496349,2.7703574L9.5175018,4.9711194ZM11.227273,14.5L11.227273,9.7307692L11.227173,9.7307692Q11.227173,9.6815329,11.217567,9.6332426Q11.207962,9.5849533,11.189119,9.539465Q11.170278,9.4939766,11.142924,9.4530392Q11.11557,9.4121017,11.080755,9.3772869Q11.04594,9.3424721,11.005002,9.3151178Q10.964064,9.2877636,10.918575,9.2689209Q10.873087,9.2500801,10.824797,9.2404747Q10.776508,9.2308693,10.727273,9.2308693Q10.678036,9.2308693,10.629745,9.2404747Q10.581455,9.2500801,10.535968,9.2689209Q10.4904804,9.2877636,10.449542,9.3151178Q10.4086046,9.3424721,10.3737898,9.377286Q10.338975,9.4121008,10.3116207,9.4530382Q10.2842674,9.4939766,10.2654257,9.539465Q10.2465839,9.5849533,10.2369785,9.6332426Q10.2273731,9.6815329,10.2273731,9.7307692L10.2272739,9.7307692L10.2272739,14.5Q10.2272739,15,9.727273,15L7.7207794,15L7.7207789,8.2500091L7.7206788,8.2500091Q7.7206783,8.2007728,7.7110729,8.152483Q7.7014675,8.104193200000001,7.6826253,8.0587053Q7.6637836,8.013217000000001,7.6364298,7.9722791Q7.6090755,7.9313412,7.5742612,7.8965263Q7.5394459,7.861711,7.4985075,7.8343568Q7.4575696,7.807003,7.4120817,7.7881613Q7.3665934,7.7693195,7.3183041,7.7597141Q7.2700143,7.7501092,7.2207789,7.7501092Q7.1715426,7.7501092,7.1232524,7.7597141Q7.0749626,7.7693195,7.0294747,7.7881613Q6.9839869,7.807003,6.943049,7.8343573Q6.9021111,7.861711,6.8672962,7.8965263Q6.8324809,7.9313412,6.8051271,7.9722791Q6.7777729,8.013217000000001,6.7589312,8.0587053Q6.7400894,8.1041937,6.7304845,8.1524839Q6.7208786,8.2007732,6.7208791,8.2500095L6.7207789,8.2500091L6.7207794,15L4.2142854,15L4.2142854,6.2692308L4.2141855,6.2692308Q4.2141852,6.2199945,4.204579799999999,6.1717048Q4.1949743999999995,6.123415,4.1761324,6.0779266Q4.1572905,6.0324383,4.1299367,5.9915004Q4.1025827,5.9505625,4.0677679,5.9157476Q4.0329528,5.8809328,3.9920146,5.8535786Q3.9510765,5.8262248,3.9055884,5.8073831Q3.8601003,5.7885418,3.811811,5.7789364Q3.7635212,5.769331,3.7142854,5.769331Q3.6650493,5.769331,3.6167595,5.7789364Q3.5684695,5.7885418,3.5229816,5.8073831Q3.4774938,5.8262248,3.4365554,5.8535786Q3.3956175,5.8809328,3.3608027,5.9157476Q3.3259873,5.9505625,3.2986333,5.9915004Q3.2712793,6.0324383,3.2524376,6.0779266Q3.2335958,6.123415,3.2239904,6.1717048Q3.214385,6.2199945,3.2143853,6.2692308L3.2142854,6.2692308L3.2142854,15L1.5000002,15Q1.0000001200000002,15,1.0000001200000002,14.5L1,5.4150848Q1,5.0384622,1.3766233300000001,5.0384622L1.3766233300000001,5.0383615Q1.42585915,5.0383615,1.47414887,5.0287557Q1.5224386,5.0191503,1.5679266,5.0003085Q1.6134146,4.9814663,1.6543528,4.954113Q1.695291,4.9267588,1.730106,4.8919439Q1.7649209,4.8571291,1.792275,4.8161907Q1.8196288,4.7752523,1.8384706,4.7297645Q1.8573124,4.6842766,1.8669178,4.6359868Q1.8765233,4.587697,1.8765234,4.5384617Q1.8765233,4.4892254000000005,1.8669178,4.4409355999999995Q1.8573124,4.3926458,1.8384707,4.3471577Q1.819629,4.3016696,1.792275,4.2607315Q1.7649209,4.2197936,1.730106,4.1849787Q1.695291,4.1501637,1.6543529,4.1228096Q1.6134148,4.0954556,1.5679268,4.0766139Q1.5224388,4.0577724,1.4741489300000001,4.048166999999999Q1.42585915,4.0385615999999995,1.3766233300000001,4.0385615999999995L1.3766233300000001,4.0384617Q0.8064074800000001,4.0384617,0.403203636,4.4416654Q0,4.8448691,0,5.4150848L9.000000000813912e-8,14.5Q2.9999999984209325e-8,15.121321,0.439339694,15.56066Q0.8786805,16.000002000000002,1.5000002,16.000002000000002L9.727273,16.000002000000002Q10.3485928,16.000002000000002,10.787933,15.56066Q11.227273,15.121321,11.227273,14.5Z',
199
+ }),
200
+ ]);
201
+ };
202
+ return LaneView;
203
+ }(dynamic_group_1.DynamicGroupNode));
204
+ exports.LaneView = LaneView;
205
+ exports.default = null;
@@ -0,0 +1,120 @@
1
+ /**
2
+ * 基于DynamicGroup重新实现的泳池节点组件
3
+ * 充分利用DynamicGroup的分组管理能力,实现完整的泳道功能
4
+ */
5
+ import LogicFlow, { GraphModel } from '@logicflow/core';
6
+ import { DynamicGroupNodeModel, IGroupNodeProperties } from '../dynamic-group/model';
7
+ import { poolConfig } from './constant';
8
+ import NodeConfig = LogicFlow.NodeConfig;
9
+ export declare class PoolModel extends DynamicGroupNodeModel {
10
+ titleSize: number;
11
+ poolConfig: typeof poolConfig;
12
+ readonly isPool: boolean;
13
+ _defaultLaneCreated: boolean;
14
+ constructor(data: NodeConfig<IGroupNodeProperties>, graphModel: GraphModel);
15
+ get isHorizontal(): boolean;
16
+ initNodeData(data: LogicFlow.NodeConfig<IGroupNodeProperties>): void;
17
+ addEventListeners(): void;
18
+ /**
19
+ * 获取需要移动的节点
20
+ * @param groupModel
21
+ */
22
+ getNodesInGroup(groupModel: DynamicGroupNodeModel): string[];
23
+ /**
24
+ * 初始化文本位置 - 根据布局方向设置文本位置
25
+ */
26
+ private updateTextPosition;
27
+ /**
28
+ * 根据子泳道自动调整泳池尺寸
29
+ */
30
+ resizePool(): void;
31
+ /**
32
+ * 重新调整所有泳道布局
33
+ * @param newLanePosition 添加位置(可选):'above'|'below'|'left'|'right'
34
+ * @param newLaneId 新添加的泳道ID(可选)
35
+ */
36
+ resizeChildrenWithNewLane(newLanePosition?: 'above' | 'below' | 'left' | 'right', newLaneId?: string): void;
37
+ moveLane(lane: any, newX: any, newY: any): void;
38
+ /**
39
+ * 重新调整所有泳道布局
40
+ * @param newLanePosition 添加位置(可选):'above'|'below'|'left'|'right'
41
+ * @param newLaneId 新添加的泳道ID(可选)
42
+ */
43
+ resizeChildren(): void;
44
+ /**
45
+ * 获取子泳道
46
+ */
47
+ getLanes(): any[];
48
+ /**
49
+ * 添加泳道的公共方法
50
+ * @param position 添加位置:'above'|'below'|'left'|'right'
51
+ * @param laneData 泳道数据
52
+ */
53
+ addLane(position: 'above' | 'below' | 'left' | 'right', laneData?: any): any;
54
+ setZIndex(zIndex: number): void;
55
+ /**
56
+ * 在上方添加泳道
57
+ */
58
+ addChildAbove(laneData?: any): any;
59
+ /**
60
+ * 在下方添加泳道
61
+ */
62
+ addChildBelow(laneData?: any): any;
63
+ /**
64
+ * 在左侧添加泳道
65
+ */
66
+ addChildLeft(laneData?: any): any;
67
+ /**
68
+ * 在右侧添加泳道(纵向布局专用)
69
+ */
70
+ addChildRight(laneData?: any): any;
71
+ /**
72
+ * 创建默认泳道
73
+ */
74
+ createDefaultLane(laneConfig?: any): any;
75
+ /**
76
+ * 删除泳道
77
+ */
78
+ deleteChild(childId: string): void;
79
+ getNodeStyle(): {
80
+ [x: string]: unknown;
81
+ fill?: string | undefined;
82
+ stroke?: string | undefined;
83
+ strokeWidth?: number | undefined;
84
+ radius?: number | undefined;
85
+ rx?: number | undefined;
86
+ ry?: number | undefined;
87
+ width?: number | undefined;
88
+ height?: number | undefined;
89
+ path?: string | undefined;
90
+ };
91
+ /**
92
+ * 获取文本样式
93
+ */
94
+ getTextStyle(): {
95
+ [x: string]: unknown;
96
+ fill?: string | undefined;
97
+ stroke?: string | undefined;
98
+ strokeWidth?: number | undefined;
99
+ radius?: number | undefined;
100
+ rx?: number | undefined;
101
+ ry?: number | undefined;
102
+ width?: number | undefined;
103
+ height?: number | undefined;
104
+ path?: string | undefined;
105
+ overflowMode?: "default" | "autoWrap" | "ellipsis" | undefined;
106
+ textWidth?: number | undefined;
107
+ background?: LogicFlow.CommonTheme | undefined;
108
+ wrapPadding?: string | undefined;
109
+ color?: string | undefined;
110
+ fontSize: number;
111
+ lineHeight?: number | undefined;
112
+ textAnchor?: "middle" | "start" | "end" | undefined;
113
+ dominantBaseline?: "middle" | "central" | "auto" | "text-bottom" | "alphabetic" | "ideographic" | "mathematical" | "hanging" | "text-top" | undefined;
114
+ };
115
+ getData(): LogicFlow.NodeData;
116
+ }
117
+ declare const _default: {
118
+ PoolModel: typeof PoolModel;
119
+ };
120
+ export default _default;