@flowgram.ai/free-layout-core 0.2.15 → 0.2.17

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 (54) hide show
  1. package/dist/esm/{chunk-J5FVRRUV.js → chunk-242F2JCI.js} +1 -1
  2. package/dist/esm/chunk-242F2JCI.js.map +1 -0
  3. package/dist/esm/{chunk-BJKYSQMI.js → chunk-CTGO4RKX.js} +1 -1
  4. package/dist/esm/chunk-CTGO4RKX.js.map +1 -0
  5. package/dist/esm/{chunk-IYUZVBAO.js → chunk-IKQUOAWQ.js} +1 -1
  6. package/dist/esm/chunk-IKQUOAWQ.js.map +1 -0
  7. package/dist/esm/{chunk-LJH3TSLZ.js → chunk-O4WKIIW2.js} +1 -1
  8. package/dist/esm/chunk-O4WKIIW2.js.map +1 -0
  9. package/dist/esm/index.js +18 -4
  10. package/dist/esm/index.js.map +1 -1
  11. package/dist/esm/typings/index.js +4 -4
  12. package/dist/esm/typings/workflow-json.js +1 -1
  13. package/dist/esm/typings/workflow-line.js +1 -1
  14. package/dist/esm/typings/workflow-operation.js +1 -1
  15. package/dist/index.d.mts +81 -4
  16. package/dist/index.d.ts +81 -4
  17. package/dist/index.js +14 -0
  18. package/dist/index.js.map +1 -1
  19. package/dist/typings/index.d.mts +7 -2
  20. package/dist/typings/index.d.ts +7 -2
  21. package/dist/typings/index.js.map +1 -1
  22. package/dist/typings/workflow-drag.d.mts +2 -2
  23. package/dist/typings/workflow-drag.d.ts +2 -2
  24. package/dist/typings/workflow-drag.js.map +1 -1
  25. package/dist/typings/workflow-edge.d.mts +4 -0
  26. package/dist/typings/workflow-edge.d.ts +4 -0
  27. package/dist/typings/workflow-edge.js.map +1 -1
  28. package/dist/typings/workflow-json.d.mts +2 -2
  29. package/dist/typings/workflow-json.d.ts +2 -2
  30. package/dist/typings/workflow-json.js.map +1 -1
  31. package/dist/typings/workflow-line.d.mts +2 -2
  32. package/dist/typings/workflow-line.d.ts +2 -2
  33. package/dist/typings/workflow-line.js.map +1 -1
  34. package/dist/typings/workflow-node.d.mts +2 -2
  35. package/dist/typings/workflow-node.d.ts +2 -2
  36. package/dist/typings/workflow-node.js.map +1 -1
  37. package/dist/typings/workflow-operation.d.mts +5 -0
  38. package/dist/typings/workflow-operation.d.ts +5 -0
  39. package/dist/typings/workflow-operation.js.map +1 -1
  40. package/dist/typings/workflow-registry.d.mts +7 -2
  41. package/dist/typings/workflow-registry.d.ts +7 -2
  42. package/dist/typings/workflow-registry.js.map +1 -1
  43. package/dist/typings/workflow-sub-canvas.d.mts +1 -1
  44. package/dist/typings/workflow-sub-canvas.d.ts +1 -1
  45. package/dist/typings/workflow-sub-canvas.js.map +1 -1
  46. package/dist/{workflow-line-entity-B34FWw9W.d.mts → workflow-line-entity-BpFc2Mu3.d.mts} +58 -2
  47. package/dist/{workflow-line-entity-B4Mfa03B.d.ts → workflow-line-entity-D4-erSyq.d.ts} +58 -2
  48. package/dist/{workflow-sub-canvas-DOVla1mw.d.mts → workflow-sub-canvas-IQzlYvPD.d.mts} +10 -0
  49. package/dist/{workflow-sub-canvas-DOVla1mw.d.ts → workflow-sub-canvas-IQzlYvPD.d.ts} +10 -0
  50. package/package.json +9 -9
  51. package/dist/esm/chunk-BJKYSQMI.js.map +0 -1
  52. package/dist/esm/chunk-IYUZVBAO.js.map +0 -1
  53. package/dist/esm/chunk-J5FVRRUV.js.map +0 -1
  54. package/dist/esm/chunk-LJH3TSLZ.js.map +0 -1
@@ -13,4 +13,4 @@ var WorkflowContentChangeType = /* @__PURE__ */ ((WorkflowContentChangeType2) =>
13
13
  export {
14
14
  WorkflowContentChangeType
15
15
  };
16
- //# sourceMappingURL=chunk-J5FVRRUV.js.map
16
+ //# sourceMappingURL=chunk-242F2JCI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/typings/workflow-json.ts"],"sourcesContent":["/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { type WorkflowLineEntity, type WorkflowNodeEntity } from '../entities';\nimport { type WorkflowNodeJSON } from './workflow-node';\nimport { type WorkflowEdgeJSON } from './workflow-edge';\n\nexport interface WorkflowJSON {\n nodes: WorkflowNodeJSON[];\n edges: WorkflowEdgeJSON[];\n}\n\nexport enum WorkflowContentChangeType {\n /**\n * 添加节点\n */\n ADD_NODE = 'ADD_NODE',\n /**\n * 删除节点\n */\n DELETE_NODE = 'DELETE_NODE',\n /**\n * 移动节点\n */\n MOVE_NODE = 'MOVE_NODE',\n /**\n * 节点数据更新 (表单引擎数据 或者 extInfo 数据)\n */\n NODE_DATA_CHANGE = 'NODE_DATA_CHANGE',\n /**\n * 添加线条\n */\n ADD_LINE = 'ADD_LINE',\n /**\n * 删除线条\n */\n DELETE_LINE = 'DELETE_LINE',\n /**\n * 节点Meta信息变更\n */\n META_CHANGE = 'META_CHANGE',\n}\n\nexport interface WorkflowContentChangeEvent {\n type: WorkflowContentChangeType;\n /**\n * 当前触发的元素的json数据,toJSON 需要主动触发\n */\n toJSON: () => any;\n /*\n * 当前的事件的 entity\n */\n entity: WorkflowNodeEntity | WorkflowLineEntity;\n}\n"],"mappings":";AAcO,IAAK,4BAAL,kBAAKA,+BAAL;AAIL,EAAAA,2BAAA,cAAW;AAIX,EAAAA,2BAAA,iBAAc;AAId,EAAAA,2BAAA,eAAY;AAIZ,EAAAA,2BAAA,sBAAmB;AAInB,EAAAA,2BAAA,cAAW;AAIX,EAAAA,2BAAA,iBAAc;AAId,EAAAA,2BAAA,iBAAc;AA5BJ,SAAAA;AAAA,GAAA;","names":["WorkflowContentChangeType"]}
@@ -19,4 +19,4 @@ export {
19
19
  LineType,
20
20
  LineColors
21
21
  };
22
- //# sourceMappingURL=chunk-BJKYSQMI.js.map
22
+ //# sourceMappingURL=chunk-CTGO4RKX.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/typings/workflow-line.ts"],"sourcesContent":["/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport type { Rectangle, IPoint } from '@flowgram.ai/utils';\n\nimport { type WorkflowLineEntity } from '../entities';\n\nexport enum LineType {\n BEZIER, // 贝塞尔曲线\n LINE_CHART, // 折叠线\n}\n\nexport type LineRenderType = LineType | string;\n\nexport interface LinePosition {\n from: IPoint;\n to: IPoint;\n}\n\nexport interface LineColor {\n hidden: string;\n default: string;\n drawing: string;\n hovered: string;\n selected: string;\n error: string;\n flowing: string;\n}\n\nexport enum LineColors {\n HIDDEN = 'var(--g-workflow-line-color-hidden,transparent)', // 隐藏线条\n DEFUALT = 'var(--g-workflow-line-color-default,#4d53e8)',\n DRAWING = 'var(--g-workflow-line-color-drawing, #5DD6E3)', // '#b5bbf8', // '#9197F1',\n HOVER = 'var(--g-workflow-line-color-hover,#37d0ff)',\n SELECTED = 'var(--g-workflow-line-color-selected,#37d0ff)',\n ERROR = 'var(--g-workflow-line-color-error,red)',\n FLOWING = 'var(--g-workflow-line-color-flowing,#4d53e8)', // 流动线条,默认使用主题色\n}\n\nexport interface WorkflowLineRenderContribution {\n entity: WorkflowLineEntity;\n path: string;\n bounds: Rectangle;\n update: (params: { fromPos: IPoint; toPos: IPoint }) => void;\n calcDistance: (pos: IPoint) => number;\n}\n\nexport type WorkflowLineRenderContributionFactory = (new (\n entity: WorkflowLineEntity\n) => WorkflowLineRenderContribution) & {\n type: LineRenderType;\n};\n"],"mappings":";AASO,IAAK,WAAL,kBAAKA,cAAL;AACL,EAAAA,oBAAA;AACA,EAAAA,oBAAA;AAFU,SAAAA;AAAA,GAAA;AAsBL,IAAK,aAAL,kBAAKC,gBAAL;AACL,EAAAA,YAAA,YAAS;AACT,EAAAA,YAAA,aAAU;AACV,EAAAA,YAAA,aAAU;AACV,EAAAA,YAAA,WAAQ;AACR,EAAAA,YAAA,cAAW;AACX,EAAAA,YAAA,WAAQ;AACR,EAAAA,YAAA,aAAU;AAPA,SAAAA;AAAA,GAAA;","names":["LineType","LineColors"]}
@@ -4,4 +4,4 @@ var URLParams = Symbol("");
4
4
  export {
5
5
  URLParams
6
6
  };
7
- //# sourceMappingURL=chunk-IYUZVBAO.js.map
7
+ //# sourceMappingURL=chunk-IKQUOAWQ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/typings/index.ts"],"sourcesContent":["/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nexport * from './workflow-json';\nexport * from './workflow-edge';\nexport * from './workflow-node';\nexport * from './workflow-registry';\nexport * from './workflow-line';\nexport * from './workflow-sub-canvas';\nexport * from './workflow-operation';\nexport * from './workflow-drag';\n\nexport const URLParams = Symbol('');\n\nexport interface URLParams {\n [key: string]: string;\n}\n"],"mappings":";AAcO,IAAM,YAAY,OAAO,EAAE;","names":[]}
@@ -4,4 +4,4 @@ var WorkflowOperationBaseService = Symbol("WorkflowOperationBaseService");
4
4
  export {
5
5
  WorkflowOperationBaseService
6
6
  };
7
- //# sourceMappingURL=chunk-LJH3TSLZ.js.map
7
+ //# sourceMappingURL=chunk-O4WKIIW2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/typings/workflow-operation.ts"],"sourcesContent":["/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { IPoint, Event } from '@flowgram.ai/utils';\nimport {\n FlowNodeEntity,\n FlowNodeEntityOrId,\n FlowOperationBaseService,\n} from '@flowgram.ai/document';\n\nexport interface NodePostionUpdateEvent {\n node: FlowNodeEntity;\n oldPosition: IPoint;\n newPosition: IPoint;\n}\n\nexport interface WorkflowOperationBaseService extends FlowOperationBaseService {\n /**\n * 节点位置更新事件\n */\n readonly onNodePostionUpdate: Event<NodePostionUpdateEvent>;\n /**\n * 更新节点位置\n * @param nodeOrId\n * @param position\n * @returns\n */\n updateNodePosition(nodeOrId: FlowNodeEntityOrId, position: IPoint): void;\n}\n\nexport const WorkflowOperationBaseService = Symbol('WorkflowOperationBaseService');\n"],"mappings":";AAgCO,IAAM,+BAA+B,OAAO,8BAA8B;","names":[]}
package/dist/esm/index.js CHANGED
@@ -1,21 +1,21 @@
1
1
  import {
2
2
  URLParams
3
- } from "./chunk-IYUZVBAO.js";
3
+ } from "./chunk-IKQUOAWQ.js";
4
4
  import "./chunk-KNYZRMIO.js";
5
5
  import "./chunk-NU6G5HF4.js";
6
6
  import "./chunk-TQLT57GW.js";
7
7
  import "./chunk-CGOMTQ3G.js";
8
8
  import {
9
9
  WorkflowContentChangeType
10
- } from "./chunk-J5FVRRUV.js";
10
+ } from "./chunk-242F2JCI.js";
11
11
  import {
12
12
  LineColors,
13
13
  LineType
14
- } from "./chunk-BJKYSQMI.js";
14
+ } from "./chunk-CTGO4RKX.js";
15
15
  import "./chunk-DDJTYHXN.js";
16
16
  import {
17
17
  WorkflowOperationBaseService
18
- } from "./chunk-LJH3TSLZ.js";
18
+ } from "./chunk-O4WKIIW2.js";
19
19
  import {
20
20
  __decorateClass
21
21
  } from "./chunk-EUXUH3YW.js";
@@ -2482,6 +2482,7 @@ var WorkflowDragService = class {
2482
2482
  const dropNode = this._dropNode;
2483
2483
  const { allowDrop } = this.canDropToNode({
2484
2484
  dragNodeType: type,
2485
+ dropNodeType: dropNode?.flowNodeType,
2485
2486
  dropNode
2486
2487
  });
2487
2488
  const dragNode = allowDrop ? await this.dropCard(type, e, data, dropNode) : void 0;
@@ -2541,7 +2542,20 @@ var WorkflowDragService = class {
2541
2542
  * 判断是否可以放置节点
2542
2543
  */
2543
2544
  canDropToNode(params) {
2545
+ const { canDropToNode } = this.document.options;
2544
2546
  const { dragNodeType, dropNode } = params;
2547
+ if (canDropToNode) {
2548
+ const result = canDropToNode(params);
2549
+ if (result) {
2550
+ return {
2551
+ allowDrop: true,
2552
+ dropNode
2553
+ };
2554
+ }
2555
+ return {
2556
+ allowDrop: false
2557
+ };
2558
+ }
2545
2559
  if (!dragNodeType) {
2546
2560
  return {
2547
2561
  allowDrop: false,