@flowgram.ai/free-layout-core 0.2.9 → 0.2.11

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.
@@ -11,7 +11,7 @@ import {
11
11
  import {
12
12
  LineColors,
13
13
  LineType
14
- } from "../chunk-6DKK25L7.js";
14
+ } from "../chunk-BJKYSQMI.js";
15
15
  import "../chunk-DDJTYHXN.js";
16
16
  import {
17
17
  WorkflowOperationBaseService
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  LineColors,
3
3
  LineType
4
- } from "../chunk-6DKK25L7.js";
4
+ } from "../chunk-BJKYSQMI.js";
5
5
  import "../chunk-EUXUH3YW.js";
6
6
  export {
7
7
  LineColors,
package/dist/index.d.mts CHANGED
@@ -2,8 +2,8 @@ import { PlaygroundConfigEntity, CommandService, PlaygroundDragEvent, EntityData
2
2
  export { bindConfigEntity, useConfigEntity, useEntities, useEntityDataFromContext, useEntityFromContext, useListenEvents, usePlayground, usePlaygroundContainer, usePlaygroundContext, usePlaygroundLatest, useRefresh, useService } from '@flowgram.ai/core';
3
3
  import { NodeFormProps } from '@flowgram.ai/node';
4
4
  import { FlowOperationBaseService, FlowNodeType, FlowOperationBaseServiceImpl, FlowNodeEntityOrId, FlowNodeEntity } from '@flowgram.ai/document';
5
- import { W as WorkflowHoverService, a as WorkflowDocument, b as WorkflowLinesManager, c as WorkflowSelectService, d as WorkflowDocumentOptions, L as LineEventProps, N as NodesDragEvent, e as WorkflowNodeJSON, f as WorkflowPortEntity, g as WorkflowLineEntity, O as OnDragLineEnd, h as WorkflowPorts, i as WorkflowPortType, j as WorkflowPort, k as LineRenderType, l as WorkflowLineRenderContribution, m as LinePosition } from './workflow-line-entity-BcD7CpoN.mjs';
6
- export { C as LINE_HOVER_DISTANCE, v as LineColor, w as LineColors, u as LineType, z as NodesDragEndEvent, y as NodesDragStartEvent, A as NodesDraggingEvent, P as POINT_RADIUS, G as PORT_SIZE, o as WORKFLOW_LINE_ENTITY, J as WorkfloEntityHoverable, s as WorkflowContentChangeEvent, r as WorkflowContentChangeType, M as WorkflowDocumentOptionsDefault, K as WorkflowDocumentProvider, I as WorkflowEntityHoverable, q as WorkflowJSON, E as WorkflowLineEntityOpts, F as WorkflowLineInfo, D as WorkflowLinePortInfo, x as WorkflowLineRenderContributionFactory, t as WorkflowNodeMeta, H as WorkflowPortEntityOpts, p as domReactToBounds, n as getPortEntityId, B as onDragLineEndParams } from './workflow-line-entity-BcD7CpoN.mjs';
5
+ import { W as WorkflowHoverService, a as WorkflowDocument, b as WorkflowLinesManager, c as WorkflowSelectService, d as WorkflowDocumentOptions, L as LineEventProps, N as NodesDragEvent, e as WorkflowNodeJSON, f as WorkflowPortEntity, g as WorkflowLineEntity, O as OnDragLineEnd, h as WorkflowPorts, i as WorkflowPortType, j as WorkflowPort, k as LineRenderType, l as WorkflowLineRenderContribution, m as LinePosition } from './workflow-line-entity-B34FWw9W.mjs';
6
+ export { J as HoverPosition, C as LINE_HOVER_DISTANCE, v as LineColor, w as LineColors, u as LineType, z as NodesDragEndEvent, y as NodesDragStartEvent, A as NodesDraggingEvent, P as POINT_RADIUS, G as PORT_SIZE, o as WORKFLOW_LINE_ENTITY, K as WorkfloEntityHoverable, s as WorkflowContentChangeEvent, r as WorkflowContentChangeType, Q as WorkflowDocumentOptionsDefault, M as WorkflowDocumentProvider, I as WorkflowEntityHoverable, q as WorkflowJSON, E as WorkflowLineEntityOpts, F as WorkflowLineInfo, D as WorkflowLinePortInfo, x as WorkflowLineRenderContributionFactory, t as WorkflowNodeMeta, H as WorkflowPortEntityOpts, p as domReactToBounds, n as getPortEntityId, B as onDragLineEndParams } from './workflow-line-entity-B34FWw9W.mjs';
7
7
  import { W as WorkflowNodeEntity } from './workflow-sub-canvas-DOVla1mw.mjs';
8
8
  export { a as WorkflowSubCanvas } from './workflow-sub-canvas-DOVla1mw.mjs';
9
9
  import * as _flowgram_ai_utils from '@flowgram.ai/utils';
package/dist/index.d.ts CHANGED
@@ -2,8 +2,8 @@ import { PlaygroundConfigEntity, CommandService, PlaygroundDragEvent, EntityData
2
2
  export { bindConfigEntity, useConfigEntity, useEntities, useEntityDataFromContext, useEntityFromContext, useListenEvents, usePlayground, usePlaygroundContainer, usePlaygroundContext, usePlaygroundLatest, useRefresh, useService } from '@flowgram.ai/core';
3
3
  import { NodeFormProps } from '@flowgram.ai/node';
4
4
  import { FlowOperationBaseService, FlowNodeType, FlowOperationBaseServiceImpl, FlowNodeEntityOrId, FlowNodeEntity } from '@flowgram.ai/document';
5
- import { W as WorkflowHoverService, a as WorkflowDocument, b as WorkflowLinesManager, c as WorkflowSelectService, d as WorkflowDocumentOptions, L as LineEventProps, N as NodesDragEvent, e as WorkflowNodeJSON, f as WorkflowPortEntity, g as WorkflowLineEntity, O as OnDragLineEnd, h as WorkflowPorts, i as WorkflowPortType, j as WorkflowPort, k as LineRenderType, l as WorkflowLineRenderContribution, m as LinePosition } from './workflow-line-entity-CXh_ddVD.js';
6
- export { C as LINE_HOVER_DISTANCE, v as LineColor, w as LineColors, u as LineType, z as NodesDragEndEvent, y as NodesDragStartEvent, A as NodesDraggingEvent, P as POINT_RADIUS, G as PORT_SIZE, o as WORKFLOW_LINE_ENTITY, J as WorkfloEntityHoverable, s as WorkflowContentChangeEvent, r as WorkflowContentChangeType, M as WorkflowDocumentOptionsDefault, K as WorkflowDocumentProvider, I as WorkflowEntityHoverable, q as WorkflowJSON, E as WorkflowLineEntityOpts, F as WorkflowLineInfo, D as WorkflowLinePortInfo, x as WorkflowLineRenderContributionFactory, t as WorkflowNodeMeta, H as WorkflowPortEntityOpts, p as domReactToBounds, n as getPortEntityId, B as onDragLineEndParams } from './workflow-line-entity-CXh_ddVD.js';
5
+ import { W as WorkflowHoverService, a as WorkflowDocument, b as WorkflowLinesManager, c as WorkflowSelectService, d as WorkflowDocumentOptions, L as LineEventProps, N as NodesDragEvent, e as WorkflowNodeJSON, f as WorkflowPortEntity, g as WorkflowLineEntity, O as OnDragLineEnd, h as WorkflowPorts, i as WorkflowPortType, j as WorkflowPort, k as LineRenderType, l as WorkflowLineRenderContribution, m as LinePosition } from './workflow-line-entity-B4Mfa03B.js';
6
+ export { J as HoverPosition, C as LINE_HOVER_DISTANCE, v as LineColor, w as LineColors, u as LineType, z as NodesDragEndEvent, y as NodesDragStartEvent, A as NodesDraggingEvent, P as POINT_RADIUS, G as PORT_SIZE, o as WORKFLOW_LINE_ENTITY, K as WorkfloEntityHoverable, s as WorkflowContentChangeEvent, r as WorkflowContentChangeType, Q as WorkflowDocumentOptionsDefault, M as WorkflowDocumentProvider, I as WorkflowEntityHoverable, q as WorkflowJSON, E as WorkflowLineEntityOpts, F as WorkflowLineInfo, D as WorkflowLinePortInfo, x as WorkflowLineRenderContributionFactory, t as WorkflowNodeMeta, H as WorkflowPortEntityOpts, p as domReactToBounds, n as getPortEntityId, B as onDragLineEndParams } from './workflow-line-entity-B4Mfa03B.js';
7
7
  import { W as WorkflowNodeEntity } from './workflow-sub-canvas-DOVla1mw.js';
8
8
  export { a as WorkflowSubCanvas } from './workflow-sub-canvas-DOVla1mw.js';
9
9
  import * as _flowgram_ai_utils from '@flowgram.ai/utils';
package/dist/index.js CHANGED
@@ -1094,7 +1094,9 @@ var import_core10 = require("@flowgram.ai/core");
1094
1094
  var WorkflowHoverService = class {
1095
1095
  constructor() {
1096
1096
  this.onHoveredChangeEmitter = new import_utils11.Emitter();
1097
+ this.onUpdateHoverPositionEmitter = new import_utils11.Emitter();
1097
1098
  this.onHoveredChange = this.onHoveredChangeEmitter.event;
1099
+ this.onUpdateHoverPosition = this.onUpdateHoverPositionEmitter.event;
1098
1100
  // 当前鼠标 hover 位置
1099
1101
  this.hoveredPos = { x: 0, y: 0 };
1100
1102
  /**
@@ -1114,6 +1116,13 @@ var WorkflowHoverService = class {
1114
1116
  this.onHoveredChangeEmitter.fire(hoveredKey);
1115
1117
  }
1116
1118
  }
1119
+ updateHoverPosition(position, target) {
1120
+ this.hoveredPos = position;
1121
+ this.onUpdateHoverPositionEmitter.fire({
1122
+ position,
1123
+ target
1124
+ });
1125
+ }
1117
1126
  /**
1118
1127
  * 清空 hover 内容
1119
1128
  */
@@ -1187,12 +1196,13 @@ var LineType = /* @__PURE__ */ ((LineType2) => {
1187
1196
  return LineType2;
1188
1197
  })(LineType || {});
1189
1198
  var LineColors = /* @__PURE__ */ ((LineColors2) => {
1190
- LineColors2["HIDDEN"] = "var(--g-line-color-hidden,transparent)";
1191
- LineColors2["DEFUALT"] = "var(--g-line-color-default,#4d53e8)";
1192
- LineColors2["DRAWING"] = "var(--g-line-color-drawing, #5DD6E3)";
1193
- LineColors2["HOVER"] = "var(--g-line-color-hover,#37d0ff)";
1194
- LineColors2["SELECTED"] = "var(--g-line-color-selected,#37d0ff)";
1195
- LineColors2["ERROR"] = "var(--g-line-color-error,red)";
1199
+ LineColors2["HIDDEN"] = "var(--g-workflow-line-color-hidden,transparent)";
1200
+ LineColors2["DEFUALT"] = "var(--g-workflow-line-color-default,#4d53e8)";
1201
+ LineColors2["DRAWING"] = "var(--g-workflow-line-color-drawing, #5DD6E3)";
1202
+ LineColors2["HOVER"] = "var(--g-workflow-line-color-hover,#37d0ff)";
1203
+ LineColors2["SELECTED"] = "var(--g-workflow-line-color-selected,#37d0ff)";
1204
+ LineColors2["ERROR"] = "var(--g-workflow-line-color-error,red)";
1205
+ LineColors2["FLOWING"] = "var(--g-workflow-line-color-flowing,#4d53e8)";
1196
1206
  return LineColors2;
1197
1207
  })(LineColors || {});
1198
1208
 
@@ -1303,12 +1313,13 @@ var WorkflowLinesManager = class {
1303
1313
  }
1304
1314
  get lineColor() {
1305
1315
  const color = {
1306
- default: "var(--g-line-color-default,#4d53e8)" /* DEFUALT */,
1307
- error: "var(--g-line-color-error,red)" /* ERROR */,
1308
- hidden: "var(--g-line-color-hidden,transparent)" /* HIDDEN */,
1309
- drawing: "var(--g-line-color-drawing, #5DD6E3)" /* DRAWING */,
1310
- hovered: "var(--g-line-color-hover,#37d0ff)" /* HOVER */,
1311
- selected: "var(--g-line-color-selected,#37d0ff)" /* SELECTED */
1316
+ default: "var(--g-workflow-line-color-default,#4d53e8)" /* DEFUALT */,
1317
+ error: "var(--g-workflow-line-color-error,red)" /* ERROR */,
1318
+ hidden: "var(--g-workflow-line-color-hidden,transparent)" /* HIDDEN */,
1319
+ drawing: "var(--g-workflow-line-color-drawing, #5DD6E3)" /* DRAWING */,
1320
+ hovered: "var(--g-workflow-line-color-hover,#37d0ff)" /* HOVER */,
1321
+ selected: "var(--g-workflow-line-color-selected,#37d0ff)" /* SELECTED */,
1322
+ flowing: "var(--g-workflow-line-color-flowing,#4d53e8)" /* FLOWING */
1312
1323
  };
1313
1324
  if (this.options.lineColor) {
1314
1325
  Object.assign(color, this.options.lineColor);
@@ -1500,6 +1511,9 @@ var WorkflowLinesManager = class {
1500
1511
  if (this.selectService.isSelected(line.id)) {
1501
1512
  return this.lineColor.selected;
1502
1513
  }
1514
+ if (this.isFlowingLine(line)) {
1515
+ return this.lineColor.flowing;
1516
+ }
1503
1517
  return this.lineColor.default;
1504
1518
  }
1505
1519
  canAddLine(fromPort, toPort, silent) {
@@ -2439,7 +2453,8 @@ var WorkflowDragService = class {
2439
2453
  });
2440
2454
  }
2441
2455
  });
2442
- return dragger.start(triggerEvent.clientX, triggerEvent.clientY, this.playgroundConfig)?.then(() => dragSuccess);
2456
+ const { clientX, clientY } = import_core15.MouseTouchEvent.getEventCoord(triggerEvent);
2457
+ return dragger.start(clientX, clientY, this.playgroundConfig)?.then(() => dragSuccess);
2443
2458
  }
2444
2459
  /**
2445
2460
  * 通过拖入卡片添加
@@ -2849,7 +2864,8 @@ var WorkflowDragService = class {
2849
2864
  }
2850
2865
  }
2851
2866
  });
2852
- await dragger.start(event.clientX, event.clientY, config);
2867
+ const { clientX, clientY } = import_core15.MouseTouchEvent.getEventCoord(event);
2868
+ await dragger.start(clientX, clientY, config);
2853
2869
  return deferred.promise;
2854
2870
  }
2855
2871
  /**
@@ -3091,12 +3107,14 @@ function useNodeRender(nodeFromProps) {
3091
3107
  }, []);
3092
3108
  const startDrag = (0, import_react2.useCallback)(
3093
3109
  (e) => {
3094
- e.preventDefault();
3110
+ import_core21.MouseTouchEvent.preventDefault(e);
3095
3111
  if (!selectionService.isSelected(node.id)) {
3096
3112
  selectNode(e);
3097
3113
  }
3098
- if (!checkTargetDraggable(e.target) || !checkTargetDraggable(document.activeElement)) {
3099
- return;
3114
+ if (!import_core21.MouseTouchEvent.isTouchEvent(e)) {
3115
+ if (!checkTargetDraggable(e.target) || !checkTargetDraggable(document.activeElement)) {
3116
+ return;
3117
+ }
3100
3118
  }
3101
3119
  isDragging.current = true;
3102
3120
  dragService.startDragSelectedNodes(e)?.finally(