@redvars/peacock 3.9.0 → 3.9.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 (83) hide show
  1. package/dist/code-highlighter.js +1 -4
  2. package/dist/code-highlighter.js.map +1 -1
  3. package/dist/custom-elements-jsdocs.json +39 -223
  4. package/dist/custom-elements.json +391 -2205
  5. package/dist/elevation.js +55 -2
  6. package/dist/elevation.js.map +1 -1
  7. package/dist/flow.js +762 -0
  8. package/dist/flow.js.map +1 -0
  9. package/dist/index.js +1 -3
  10. package/dist/index.js.map +1 -1
  11. package/dist/loader.js +2 -9
  12. package/dist/loader.js.map +1 -1
  13. package/dist/menu-item.js +144 -63
  14. package/dist/menu-item.js.map +1 -1
  15. package/dist/menu.js +161 -73
  16. package/dist/menu.js.map +1 -1
  17. package/dist/src/flow/flow.d.ts +102 -0
  18. package/dist/src/flow/index.d.ts +2 -0
  19. package/dist/src/index.d.ts +2 -4
  20. package/dist/src/menu/menu/menu.d.ts +10 -9
  21. package/dist/src/menu/menu-item/menu-item.d.ts +1 -3
  22. package/dist/src/timeline/timeline.d.ts +0 -1
  23. package/dist/sub-menu.js +28 -1
  24. package/dist/sub-menu.js.map +1 -1
  25. package/dist/timeline-item.js +22 -34
  26. package/dist/timeline-item.js.map +1 -1
  27. package/dist/timeline.js +1 -18
  28. package/dist/timeline.js.map +1 -1
  29. package/dist/tsconfig.tsbuildinfo +1 -1
  30. package/package.json +3 -2
  31. package/readme.md +2 -2
  32. package/src/code-highlighter/code-highlighter.scss +1 -7
  33. package/src/elevation/demo/index.html +52 -0
  34. package/src/elevation/elevation.scss +52 -5
  35. package/src/elevation/elevation.ts +8 -1
  36. package/src/flow/flow.scss +195 -0
  37. package/src/flow/flow.ts +683 -0
  38. package/src/flow/index.ts +2 -0
  39. package/src/index.ts +2 -16
  40. package/src/loader.ts +2 -9
  41. package/src/menu/menu/copy-component-files.mjs +47 -0
  42. package/src/menu/menu/menu.scss +55 -17
  43. package/src/menu/menu/menu.ts +155 -84
  44. package/src/menu/menu-item/menu-item-colors.scss +3 -3
  45. package/src/menu/menu-item/menu-item.scss +118 -24
  46. package/src/menu/menu-item/menu-item.ts +61 -55
  47. package/src/menu/sub-menu/sub-menu.scss +30 -1
  48. package/src/timeline/timeline-item.scss +21 -31
  49. package/src/timeline/timeline-item.ts +2 -1
  50. package/src/timeline/timeline.scss +0 -10
  51. package/src/timeline/timeline.ts +0 -2
  52. package/dist/canvas.js +0 -385
  53. package/dist/canvas.js.map +0 -1
  54. package/dist/flow-designer-node-CGSm6cUH.js +0 -553
  55. package/dist/flow-designer-node-CGSm6cUH.js.map +0 -1
  56. package/dist/flow-designer-node.js +0 -4
  57. package/dist/flow-designer-node.js.map +0 -1
  58. package/dist/flow-designer.js +0 -1417
  59. package/dist/flow-designer.js.map +0 -1
  60. package/dist/src/canvas/canvas.d.ts +0 -92
  61. package/dist/src/canvas/index.d.ts +0 -2
  62. package/dist/src/flow-designer/commands.d.ts +0 -66
  63. package/dist/src/flow-designer/flow-designer-node.d.ts +0 -46
  64. package/dist/src/flow-designer/flow-designer.d.ts +0 -133
  65. package/dist/src/flow-designer/index.d.ts +0 -7
  66. package/dist/src/flow-designer/layout.d.ts +0 -30
  67. package/dist/src/flow-designer/types.d.ts +0 -142
  68. package/dist/src/flow-designer/validation.d.ts +0 -43
  69. package/dist/src/flow-designer/workflow-utils.d.ts +0 -40
  70. package/src/canvas/canvas.scss +0 -72
  71. package/src/canvas/canvas.ts +0 -413
  72. package/src/canvas/index.ts +0 -2
  73. package/src/flow-designer/DEMO.md +0 -239
  74. package/src/flow-designer/commands.ts +0 -278
  75. package/src/flow-designer/flow-designer-node.ts +0 -172
  76. package/src/flow-designer/flow-designer.scss +0 -457
  77. package/src/flow-designer/flow-designer.ts +0 -611
  78. package/src/flow-designer/index.ts +0 -41
  79. package/src/flow-designer/layout.ts +0 -357
  80. package/src/flow-designer/types.ts +0 -166
  81. package/src/flow-designer/validation.ts +0 -284
  82. package/src/flow-designer/workflow-utils.ts +0 -282
  83. /package/dist/test/{flow-designer.test.d.ts → elevation.test.d.ts} +0 -0
@@ -14177,7 +14177,7 @@
14177
14177
  "type": {
14178
14178
  "text": "string"
14179
14179
  },
14180
- "default": "''",
14180
+ "default": "\"\"",
14181
14181
  "description": "The value associated with this menu item, used to identify it on selection.",
14182
14182
  "attribute": "value",
14183
14183
  "inheritedFrom": {
@@ -14226,17 +14226,6 @@
14226
14226
  "description": "Whether the associated submenu is currently open.",
14227
14227
  "attribute": "submenu-open"
14228
14228
  },
14229
- {
14230
- "kind": "field",
14231
- "name": "variant",
14232
- "type": {
14233
- "text": "'standard' | 'vibrant'"
14234
- },
14235
- "default": "'standard'",
14236
- "description": "Visual variant of the menu item.",
14237
- "attribute": "variant",
14238
- "reflects": true
14239
- },
14240
14229
  {
14241
14230
  "kind": "field",
14242
14231
  "name": "itemElement",
@@ -14444,7 +14433,7 @@
14444
14433
  "type": {
14445
14434
  "text": "string"
14446
14435
  },
14447
- "default": "''",
14436
+ "default": "\"\"",
14448
14437
  "description": "The value associated with this menu item, used to identify it on selection.",
14449
14438
  "fieldName": "value",
14450
14439
  "inheritedFrom": {
@@ -14488,15 +14477,6 @@
14488
14477
  "description": "Whether the associated submenu is currently open.",
14489
14478
  "fieldName": "submenuOpen"
14490
14479
  },
14491
- {
14492
- "name": "variant",
14493
- "type": {
14494
- "text": "'standard' | 'vibrant'"
14495
- },
14496
- "default": "'standard'",
14497
- "description": "Visual variant of the menu item.",
14498
- "fieldName": "variant"
14499
- },
14500
14480
  {
14501
14481
  "name": "htmlType",
14502
14482
  "type": {
@@ -14689,9 +14669,9 @@
14689
14669
  "kind": "field",
14690
14670
  "name": "variant",
14691
14671
  "type": {
14692
- "text": "'standard' | 'vibrant'"
14672
+ "text": "\"standard\" | \"vibrant\""
14693
14673
  },
14694
- "default": "'standard'",
14674
+ "default": "\"standard\"",
14695
14675
  "description": "Visual variant of the menu. `\"vibrant\"` applies stronger color emphasis.",
14696
14676
  "attribute": "variant",
14697
14677
  "reflects": true
@@ -14702,7 +14682,7 @@
14702
14682
  "type": {
14703
14683
  "text": "string"
14704
14684
  },
14705
- "default": "''",
14685
+ "default": "\"\"",
14706
14686
  "description": "ID of the anchor element the menu is positioned relative to.",
14707
14687
  "attribute": "anchor"
14708
14688
  },
@@ -14753,7 +14733,7 @@
14753
14733
  "type": {
14754
14734
  "text": "Placement"
14755
14735
  },
14756
- "default": "'bottom-start'",
14736
+ "default": "\"bottom-start\"",
14757
14737
  "description": "Floating UI placement of the menu relative to its anchor.",
14758
14738
  "attribute": "placement"
14759
14739
  },
@@ -14800,7 +14780,7 @@
14800
14780
  "name": "_floatingController",
14801
14781
  "privacy": "private",
14802
14782
  "readonly": true,
14803
- "default": "new FloatingController(this, { trigger: 'manual', closeOnClickOutside: false, strategy: 'fixed', onOpenChange: isOpen => { if (isOpen || !this.open) { return; } this.close({ kind: 'outside-click' }); }, })",
14783
+ "default": "new FloatingController(this, { trigger: \"manual\", closeOnClickOutside: false, strategy: \"fixed\", onOpenChange: (isOpen) => { if (isOpen || !this.open) { return; } this.close({ kind: \"outside-click\" }); }, })",
14804
14784
  "description": "Controller managing floating-UI positioning."
14805
14785
  },
14806
14786
  {
@@ -14820,7 +14800,7 @@
14820
14800
  "text": "CloseReason"
14821
14801
  },
14822
14802
  "privacy": "private",
14823
- "default": "{ kind: 'programmatic' }",
14803
+ "default": "{ kind: \"programmatic\" }",
14824
14804
  "description": "Reason that triggered the most recent close, included in the `closed` event detail.",
14825
14805
  "expandedType": {
14826
14806
  "text": " | | | | "
@@ -14844,7 +14824,7 @@
14844
14824
  "parameters": [
14845
14825
  {
14846
14826
  "name": "reason",
14847
- "default": "{ kind: 'programmatic' }",
14827
+ "default": "{ kind: \"programmatic\" }",
14848
14828
  "type": {
14849
14829
  "text": "CloseReason"
14850
14830
  }
@@ -14978,6 +14958,11 @@
14978
14958
  "name": "_onSlotChange",
14979
14959
  "privacy": "private"
14980
14960
  },
14961
+ {
14962
+ "kind": "method",
14963
+ "name": "_syncItemPositions",
14964
+ "privacy": "private"
14965
+ },
14981
14966
  {
14982
14967
  "kind": "method",
14983
14968
  "name": "_applyPositioning",
@@ -15023,9 +15008,9 @@
15023
15008
  {
15024
15009
  "name": "variant",
15025
15010
  "type": {
15026
- "text": "'standard' | 'vibrant'"
15011
+ "text": "\"standard\" | \"vibrant\""
15027
15012
  },
15028
- "default": "'standard'",
15013
+ "default": "\"standard\"",
15029
15014
  "description": "Visual variant of the menu. `\"vibrant\"` applies stronger color emphasis.",
15030
15015
  "fieldName": "variant"
15031
15016
  },
@@ -15034,7 +15019,7 @@
15034
15019
  "type": {
15035
15020
  "text": "string"
15036
15021
  },
15037
- "default": "''",
15022
+ "default": "\"\"",
15038
15023
  "description": "ID of the anchor element the menu is positioned relative to.",
15039
15024
  "fieldName": "anchor"
15040
15025
  },
@@ -15079,7 +15064,7 @@
15079
15064
  "type": {
15080
15065
  "text": "Placement"
15081
15066
  },
15082
- "default": "'bottom-start'",
15067
+ "default": "\"bottom-start\"",
15083
15068
  "description": "Floating UI placement of the menu relative to its anchor.",
15084
15069
  "fieldName": "placement"
15085
15070
  },
@@ -16148,26 +16133,6 @@
16148
16133
  "name": "Item",
16149
16134
  "static": true,
16150
16135
  "default": "TimelineItem"
16151
- },
16152
- {
16153
- "kind": "field",
16154
- "name": "orientation",
16155
- "type": {
16156
- "text": "'vertical' | 'horizontal'"
16157
- },
16158
- "default": "'vertical'",
16159
- "attribute": "orientation",
16160
- "reflects": true
16161
- }
16162
- ],
16163
- "attributes": [
16164
- {
16165
- "name": "orientation",
16166
- "type": {
16167
- "text": "'vertical' | 'horizontal'"
16168
- },
16169
- "default": "'vertical'",
16170
- "fieldName": "orientation"
16171
16136
  }
16172
16137
  ],
16173
16138
  "superclass": {
@@ -28707,55 +28672,52 @@
28707
28672
  },
28708
28673
  {
28709
28674
  "kind": "javascript-module",
28710
- "path": "src/canvas/canvas.ts",
28675
+ "path": "src/flow/flow.ts",
28711
28676
  "declarations": [
28712
28677
  {
28713
28678
  "kind": "class",
28714
28679
  "description": "",
28715
- "name": "Canvas",
28680
+ "name": "Flow",
28716
28681
  "cssProperties": [
28717
28682
  {
28718
28683
  "description": "Background color for the canvas wrapper. Defaults to surface-container-low.",
28719
- "name": "--canvas-background"
28684
+ "name": "--flow-background"
28720
28685
  },
28721
28686
  {
28722
28687
  "description": "Color of the background grid dots. Defaults to outline-variant.",
28723
- "name": "--canvas-dot-color"
28688
+ "name": "--flow-dot-color"
28724
28689
  },
28725
28690
  {
28726
28691
  "description": "Default stroke color for lines and connectors. Defaults to on-surface.",
28727
- "name": "--canvas-line-color"
28692
+ "name": "--flow-line-color"
28728
28693
  },
28729
28694
  {
28730
28695
  "description": "Stroke color on hover for clickable shapes. Defaults to primary.",
28731
- "name": "--canvas-hover-color"
28696
+ "name": "--flow-hover-color"
28732
28697
  },
28733
28698
  {
28734
28699
  "description": "Stroke color for arrow markers. Defaults to on-surface.",
28735
- "name": "--canvas-arrow-color"
28700
+ "name": "--flow-arrow-color"
28736
28701
  }
28737
28702
  ],
28738
28703
  "members": [
28739
28704
  {
28740
28705
  "kind": "field",
28741
- "name": "shapes",
28706
+ "name": "nodes",
28742
28707
  "type": {
28743
- "text": "CanvasShape[]"
28708
+ "text": "FlowNode[]"
28744
28709
  },
28745
28710
  "default": "[]",
28746
- "description": "Array of shape objects to render on the canvas.",
28747
- "attribute": "shapes"
28711
+ "attribute": "nodes"
28748
28712
  },
28749
28713
  {
28750
28714
  "kind": "field",
28751
- "name": "padding",
28715
+ "name": "edges",
28752
28716
  "type": {
28753
- "text": "number"
28717
+ "text": "FlowEdge[]"
28754
28718
  },
28755
- "default": "1",
28756
- "description": "Padding around the computed viewbox (in grid units).",
28757
- "attribute": "padding",
28758
- "reflects": true
28719
+ "default": "[]",
28720
+ "attribute": "edges"
28759
28721
  },
28760
28722
  {
28761
28723
  "kind": "field",
@@ -28764,2004 +28726,516 @@
28764
28726
  "text": "number"
28765
28727
  },
28766
28728
  "default": "1",
28767
- "description": "Zoom multiplier for the canvas dimensions.",
28768
28729
  "attribute": "zoom",
28769
28730
  "reflects": true
28770
28731
  },
28771
28732
  {
28772
28733
  "kind": "field",
28773
- "name": "viewbox",
28734
+ "name": "padding",
28774
28735
  "type": {
28775
- "text": "string | undefined"
28736
+ "text": "number"
28776
28737
  },
28777
- "description": "Optional viewbox override string (e.g. \"0 0 100 100\").",
28778
- "attribute": "viewbox"
28738
+ "default": "50",
28739
+ "attribute": "padding",
28740
+ "reflects": true
28779
28741
  },
28780
28742
  {
28781
- "kind": "method",
28782
- "name": "getNextPoint",
28743
+ "kind": "field",
28744
+ "name": "nodeDimensions",
28783
28745
  "privacy": "private",
28784
- "static": true,
28785
- "return": {
28786
- "type": {
28787
- "text": "CanvasPoint"
28788
- }
28746
+ "default": "new Map<string, { width: number; height: number }>()"
28747
+ },
28748
+ {
28749
+ "kind": "field",
28750
+ "name": "draggingNodeId",
28751
+ "type": {
28752
+ "text": "string | null"
28753
+ },
28754
+ "privacy": "private",
28755
+ "default": "null"
28756
+ },
28757
+ {
28758
+ "kind": "field",
28759
+ "name": "dragStartMouseX",
28760
+ "type": {
28761
+ "text": "number"
28762
+ },
28763
+ "privacy": "private",
28764
+ "default": "0"
28765
+ },
28766
+ {
28767
+ "kind": "field",
28768
+ "name": "dragStartMouseY",
28769
+ "type": {
28770
+ "text": "number"
28771
+ },
28772
+ "privacy": "private",
28773
+ "default": "0"
28774
+ },
28775
+ {
28776
+ "kind": "field",
28777
+ "name": "dragStartNodeX",
28778
+ "type": {
28779
+ "text": "number"
28780
+ },
28781
+ "privacy": "private",
28782
+ "default": "0"
28783
+ },
28784
+ {
28785
+ "kind": "field",
28786
+ "name": "dragStartNodeY",
28787
+ "type": {
28788
+ "text": "number"
28789
+ },
28790
+ "privacy": "private",
28791
+ "default": "0"
28792
+ },
28793
+ {
28794
+ "kind": "field",
28795
+ "name": "isDrawingConnection",
28796
+ "type": {
28797
+ "text": "boolean"
28798
+ },
28799
+ "privacy": "private",
28800
+ "default": "false"
28801
+ },
28802
+ {
28803
+ "kind": "field",
28804
+ "name": "draggingSourceId",
28805
+ "type": {
28806
+ "text": "string | null"
28807
+ },
28808
+ "privacy": "private",
28809
+ "default": "null"
28810
+ },
28811
+ {
28812
+ "kind": "field",
28813
+ "name": "draggingSourceHandle",
28814
+ "type": {
28815
+ "text": "\"top\" | \"left\" | \"bottom\" | \"right\" | null"
28816
+ },
28817
+ "privacy": "private",
28818
+ "default": "null"
28819
+ },
28820
+ {
28821
+ "kind": "field",
28822
+ "name": "connectionStartX",
28823
+ "type": {
28824
+ "text": "number"
28825
+ },
28826
+ "privacy": "private",
28827
+ "default": "0"
28828
+ },
28829
+ {
28830
+ "kind": "field",
28831
+ "name": "connectionStartY",
28832
+ "type": {
28833
+ "text": "number"
28834
+ },
28835
+ "privacy": "private",
28836
+ "default": "0"
28837
+ },
28838
+ {
28839
+ "kind": "field",
28840
+ "name": "currentMouseX",
28841
+ "type": {
28842
+ "text": "number"
28843
+ },
28844
+ "privacy": "private",
28845
+ "default": "0"
28846
+ },
28847
+ {
28848
+ "kind": "field",
28849
+ "name": "currentMouseY",
28850
+ "type": {
28851
+ "text": "number"
28789
28852
  },
28853
+ "privacy": "private",
28854
+ "default": "0"
28855
+ },
28856
+ {
28857
+ "kind": "method",
28858
+ "name": "onNodeMouseDown",
28859
+ "privacy": "private",
28790
28860
  "parameters": [
28791
28861
  {
28792
- "name": "point",
28862
+ "name": "event",
28793
28863
  "type": {
28794
- "text": "CanvasPoint"
28864
+ "text": "MouseEvent"
28795
28865
  }
28796
28866
  },
28797
28867
  {
28798
- "name": "direction",
28868
+ "name": "node",
28799
28869
  "type": {
28800
- "text": "CanvasDirection"
28870
+ "text": "FlowNode"
28801
28871
  }
28802
- },
28872
+ }
28873
+ ]
28874
+ },
28875
+ {
28876
+ "kind": "field",
28877
+ "name": "onNodeMouseMove",
28878
+ "privacy": "private"
28879
+ },
28880
+ {
28881
+ "kind": "field",
28882
+ "name": "onNodeMouseUp",
28883
+ "privacy": "private"
28884
+ },
28885
+ {
28886
+ "kind": "method",
28887
+ "name": "getNodeInputs",
28888
+ "privacy": "private",
28889
+ "return": {
28890
+ "type": {
28891
+ "text": "(\"top\" | \"left\" | \"bottom\" | \"right\")[]"
28892
+ }
28893
+ },
28894
+ "parameters": [
28803
28895
  {
28804
- "name": "length",
28896
+ "name": "node",
28805
28897
  "type": {
28806
- "text": "number"
28898
+ "text": "FlowNode"
28807
28899
  }
28808
28900
  }
28809
28901
  ]
28810
28902
  },
28811
28903
  {
28812
28904
  "kind": "method",
28813
- "name": "updateExtents",
28905
+ "name": "getNodeOutputs",
28814
28906
  "privacy": "private",
28815
- "static": true,
28907
+ "return": {
28908
+ "type": {
28909
+ "text": "(\"top\" | \"left\" | \"bottom\" | \"right\")[]"
28910
+ }
28911
+ },
28912
+ "parameters": [
28913
+ {
28914
+ "name": "node",
28915
+ "type": {
28916
+ "text": "FlowNode"
28917
+ }
28918
+ }
28919
+ ]
28920
+ },
28921
+ {
28922
+ "kind": "method",
28923
+ "name": "getHandleCoordinates",
28924
+ "privacy": "private",
28925
+ "return": {
28926
+ "type": {
28927
+ "text": "FlowPoint"
28928
+ }
28929
+ },
28816
28930
  "parameters": [
28817
28931
  {
28818
- "name": "extents",
28932
+ "name": "node",
28819
28933
  "type": {
28820
- "text": "CanvasExtents"
28934
+ "text": "FlowNode"
28821
28935
  }
28822
28936
  },
28823
28937
  {
28824
- "name": "x",
28938
+ "name": "position",
28825
28939
  "type": {
28826
- "text": "number"
28940
+ "text": "\"top\" | \"left\" | \"bottom\" | \"right\""
28827
28941
  }
28828
28942
  },
28829
28943
  {
28830
- "name": "y",
28944
+ "name": "dim",
28831
28945
  "type": {
28832
- "text": "number"
28946
+ "text": "{ width: number; height: number }"
28833
28947
  }
28834
28948
  }
28835
28949
  ]
28836
28950
  },
28837
28951
  {
28838
28952
  "kind": "method",
28839
- "name": "getStrokeVariantClasses",
28953
+ "name": "onHandleMouseDown",
28840
28954
  "privacy": "private",
28841
- "static": true,
28842
28955
  "parameters": [
28843
28956
  {
28844
- "name": "variant",
28845
- "optional": true,
28957
+ "name": "event",
28958
+ "type": {
28959
+ "text": "MouseEvent"
28960
+ }
28961
+ },
28962
+ {
28963
+ "name": "node",
28964
+ "type": {
28965
+ "text": "FlowNode"
28966
+ }
28967
+ },
28968
+ {
28969
+ "name": "position",
28846
28970
  "type": {
28847
- "text": "CanvasStrokeVariant"
28971
+ "text": "\"top\" | \"left\" | \"bottom\" | \"right\""
28848
28972
  }
28849
28973
  }
28850
28974
  ]
28851
28975
  },
28976
+ {
28977
+ "kind": "field",
28978
+ "name": "onConnectionMouseMove",
28979
+ "privacy": "private"
28980
+ },
28981
+ {
28982
+ "kind": "field",
28983
+ "name": "onConnectionMouseUp",
28984
+ "privacy": "private"
28985
+ },
28852
28986
  {
28853
28987
  "kind": "method",
28854
- "name": "computeShapes",
28988
+ "name": "getRoundedPath",
28855
28989
  "privacy": "private",
28856
28990
  "parameters": [
28857
28991
  {
28858
- "name": "initialBounds",
28992
+ "name": "points",
28859
28993
  "type": {
28860
- "text": "CanvasBounds"
28994
+ "text": "FlowPoint[]"
28861
28995
  }
28996
+ },
28997
+ {
28998
+ "name": "radius",
28999
+ "default": "12"
28862
29000
  }
28863
29001
  ]
28864
29002
  },
28865
29003
  {
28866
29004
  "kind": "method",
28867
- "name": "renderBackgroundSvg",
29005
+ "name": "getSmoothStepPath",
28868
29006
  "privacy": "private",
28869
29007
  "parameters": [
28870
29008
  {
28871
- "name": "computedViewBox",
29009
+ "name": "x1",
28872
29010
  "type": {
28873
- "text": "CanvasViewBox"
29011
+ "text": "number"
28874
29012
  }
28875
29013
  },
28876
29014
  {
28877
- "name": "svgViewBox",
29015
+ "name": "y1",
28878
29016
  "type": {
28879
- "text": "string"
29017
+ "text": "number"
28880
29018
  }
28881
- }
28882
- ]
28883
- },
28884
- {
28885
- "kind": "method",
28886
- "name": "renderShapesSvg",
28887
- "privacy": "private",
28888
- "parameters": [
29019
+ },
28889
29020
  {
28890
- "name": "shapes",
29021
+ "name": "x2",
28891
29022
  "type": {
28892
- "text": "unknown[]"
29023
+ "text": "number"
28893
29024
  }
28894
29025
  },
28895
29026
  {
28896
- "name": "svgViewBox",
29027
+ "name": "y2",
28897
29028
  "type": {
28898
- "text": "string"
29029
+ "text": "number"
28899
29030
  }
28900
- }
28901
- ]
28902
- }
28903
- ],
28904
- "attributes": [
28905
- {
28906
- "name": "shapes",
28907
- "type": {
28908
- "text": "CanvasShape[]"
28909
- },
28910
- "default": "[]",
28911
- "description": "Array of shape objects to render on the canvas.",
28912
- "fieldName": "shapes"
28913
- },
28914
- {
28915
- "name": "padding",
28916
- "type": {
28917
- "text": "number"
28918
- },
28919
- "default": "1",
28920
- "description": "Padding around the computed viewbox (in grid units).",
28921
- "fieldName": "padding"
28922
- },
28923
- {
28924
- "name": "zoom",
28925
- "type": {
28926
- "text": "number"
28927
- },
28928
- "default": "1",
28929
- "description": "Zoom multiplier for the canvas dimensions.",
28930
- "fieldName": "zoom"
28931
- },
28932
- {
28933
- "name": "viewbox",
28934
- "type": {
28935
- "text": "string | undefined"
28936
- },
28937
- "description": "Optional viewbox override string (e.g. \"0 0 100 100\").",
28938
- "fieldName": "viewbox"
28939
- }
28940
- ],
28941
- "superclass": {
28942
- "name": "LitElement",
28943
- "package": "lit"
28944
- },
28945
- "tagName": "wc-canvas",
28946
- "customElement": true,
28947
- "summary": "A SVG canvas for drawing shapes, lines, and connectors on a dotted grid.",
28948
- "rawTag": {
28949
- "name": "canvas",
28950
- "description": ""
28951
- }
28952
- }
28953
- ],
28954
- "exports": [
28955
- {
28956
- "kind": "js",
28957
- "name": "Canvas",
28958
- "declaration": {
28959
- "name": "Canvas",
28960
- "module": "src/canvas/canvas.ts"
28961
- }
28962
- }
28963
- ]
28964
- },
28965
- {
28966
- "kind": "javascript-module",
28967
- "path": "src/canvas/index.ts",
28968
- "declarations": [],
28969
- "exports": [
28970
- {
28971
- "kind": "js",
28972
- "name": "Canvas",
28973
- "declaration": {
28974
- "name": "Canvas",
28975
- "module": "./canvas.js"
28976
- }
28977
- },
28978
- {
28979
- "kind": "js",
28980
- "name": "CanvasShape",
28981
- "declaration": {
28982
- "name": "CanvasShape",
28983
- "module": "./canvas.js"
28984
- }
28985
- }
28986
- ]
28987
- },
28988
- {
28989
- "kind": "javascript-module",
28990
- "path": "src/flow-designer/types.ts",
28991
- "declarations": [],
28992
- "exports": []
28993
- },
28994
- {
28995
- "kind": "javascript-module",
28996
- "path": "src/flow-designer/flow-designer-node.ts",
28997
- "declarations": [
28998
- {
28999
- "kind": "class",
29000
- "description": "Individual node component for flow designer\nRenders a single workflow node with customizable slot templates",
29001
- "name": "FlowDesignerNode",
29002
- "members": [
29003
- {
29004
- "kind": "field",
29005
- "name": "node",
29006
- "type": {
29007
- "text": "WorkflowNode"
29008
- },
29009
- "default": "{ id: '', type: 'action', label: '' }",
29010
- "description": "The workflow node to render",
29011
- "attribute": "node"
29012
- },
29013
- {
29014
- "kind": "field",
29015
- "name": "isSelected",
29016
- "type": {
29017
- "text": "boolean"
29018
- },
29019
- "default": "false",
29020
- "description": "Whether this node is currently selected",
29021
- "attribute": "selected",
29022
- "reflects": true
29023
- },
29024
- {
29025
- "kind": "field",
29026
- "name": "isEditing",
29027
- "type": {
29028
- "text": "boolean"
29029
- },
29030
- "default": "false",
29031
- "description": "Whether this node is in edit mode",
29032
- "attribute": "editing",
29033
- "reflects": true
29034
- },
29035
- {
29036
- "kind": "field",
29037
- "name": "disabled",
29038
- "type": {
29039
- "text": "boolean"
29040
- },
29041
- "default": "false",
29042
- "description": "Whether this node is disabled",
29043
- "attribute": "disabled",
29044
- "reflects": true
29045
- },
29046
- {
29047
- "kind": "field",
29048
- "name": "showDelete",
29049
- "type": {
29050
- "text": "boolean"
29051
- },
29052
- "default": "true",
29053
- "description": "Whether to show the delete button",
29054
- "attribute": "show-delete"
29055
- },
29056
- {
29057
- "kind": "field",
29058
- "name": "_handleClick",
29059
- "privacy": "private"
29060
- },
29061
- {
29062
- "kind": "field",
29063
- "name": "_handleDoubleClick",
29064
- "privacy": "private"
29065
- },
29066
- {
29067
- "kind": "field",
29068
- "name": "_handleDelete",
29069
- "privacy": "private"
29070
- },
29071
- {
29072
- "kind": "field",
29073
- "name": "_handleMouseEnter",
29074
- "privacy": "private"
29075
- },
29076
- {
29077
- "kind": "field",
29078
- "name": "_handleMouseLeave",
29079
- "privacy": "private"
29080
- },
29081
- {
29082
- "kind": "method",
29083
- "name": "_renderDefaultHeader",
29084
- "privacy": "private"
29085
- },
29086
- {
29087
- "kind": "method",
29088
- "name": "_renderDefaultBody",
29089
- "privacy": "private"
29090
- }
29091
- ],
29092
- "attributes": [
29093
- {
29094
- "name": "node",
29095
- "type": {
29096
- "text": "WorkflowNode"
29097
- },
29098
- "default": "{ id: '', type: 'action', label: '' }",
29099
- "description": "The workflow node to render",
29100
- "fieldName": "node"
29101
- },
29102
- {
29103
- "name": "selected",
29104
- "type": {
29105
- "text": "boolean"
29106
- },
29107
- "default": "false",
29108
- "description": "Whether this node is currently selected",
29109
- "fieldName": "isSelected"
29110
- },
29111
- {
29112
- "name": "editing",
29113
- "type": {
29114
- "text": "boolean"
29115
- },
29116
- "default": "false",
29117
- "description": "Whether this node is in edit mode",
29118
- "fieldName": "isEditing"
29119
- },
29120
- {
29121
- "name": "disabled",
29122
- "type": {
29123
- "text": "boolean"
29124
- },
29125
- "default": "false",
29126
- "description": "Whether this node is disabled",
29127
- "fieldName": "disabled"
29128
- },
29129
- {
29130
- "name": "show-delete",
29131
- "type": {
29132
- "text": "boolean"
29133
- },
29134
- "default": "true",
29135
- "description": "Whether to show the delete button",
29136
- "fieldName": "showDelete"
29137
- }
29138
- ],
29139
- "superclass": {
29140
- "name": "LitElement",
29141
- "package": "lit"
29142
- },
29143
- "tagName": "wc-flow-designer-node",
29144
- "customElement": true,
29145
- "rawTag": {
29146
- "name": "flow-designer-node",
29147
- "description": ""
29148
- }
29149
- }
29150
- ],
29151
- "exports": [
29152
- {
29153
- "kind": "js",
29154
- "name": "FlowDesignerNode",
29155
- "declaration": {
29156
- "name": "FlowDesignerNode",
29157
- "module": "src/flow-designer/flow-designer-node.ts"
29158
- }
29159
- }
29160
- ]
29161
- },
29162
- {
29163
- "kind": "javascript-module",
29164
- "path": "src/flow-designer/workflow-utils.ts",
29165
- "declarations": [
29166
- {
29167
- "kind": "function",
29168
- "name": "cloneWorkflow",
29169
- "return": {
29170
- "type": {
29171
- "text": "Workflow"
29172
- }
29173
- },
29174
- "parameters": [
29175
- {
29176
- "name": "workflow",
29177
- "type": {
29178
- "text": "Workflow"
29179
- }
29180
- }
29181
- ],
29182
- "description": "Deep clone a workflow to ensure immutability"
29183
- },
29184
- {
29185
- "kind": "function",
29186
- "name": "cloneNode",
29187
- "return": {
29188
- "type": {
29189
- "text": "WorkflowNode"
29190
- }
29191
- },
29192
- "parameters": [
29193
- {
29194
- "name": "node",
29195
- "type": {
29196
- "text": "WorkflowNode"
29197
- }
29198
- }
29199
- ],
29200
- "description": "Deep clone a workflow node"
29201
- },
29202
- {
29203
- "kind": "function",
29204
- "name": "findNodeById",
29205
- "return": {
29206
- "type": {
29207
- "text": "WorkflowNode | null"
29208
- }
29209
- },
29210
- "parameters": [
29211
- {
29212
- "name": "node",
29213
- "type": {
29214
- "text": "WorkflowNode"
29215
- }
29216
- },
29217
- {
29218
- "name": "id",
29219
- "type": {
29220
- "text": "string"
29221
- }
29222
- }
29223
- ],
29224
- "description": "Find a node by ID anywhere in the workflow tree"
29225
- },
29226
- {
29227
- "kind": "function",
29228
- "name": "removeNodeById",
29229
- "return": {
29230
- "type": {
29231
- "text": "WorkflowNode"
29232
- }
29233
- },
29234
- "parameters": [
29235
- {
29236
- "name": "node",
29237
- "type": {
29238
- "text": "WorkflowNode"
29239
- }
29240
- },
29241
- {
29242
- "name": "id",
29243
- "type": {
29244
- "text": "string"
29245
- }
29246
- }
29247
- ],
29248
- "description": "Remove a node by ID from the workflow tree"
29249
- },
29250
- {
29251
- "kind": "function",
29252
- "name": "insertNodeIntoWorkflow",
29253
- "return": {
29254
- "type": {
29255
- "text": "void"
29256
- }
29257
- },
29258
- "parameters": [
29259
- {
29260
- "name": "parent",
29261
- "type": {
29262
- "text": "WorkflowNode"
29263
- }
29264
- },
29265
- {
29266
- "name": "nodeToInsert",
29267
- "type": {
29268
- "text": "WorkflowNode"
29269
- }
29270
- },
29271
- {
29272
- "name": "connectionType",
29273
- "default": "'child'",
29274
- "type": {
29275
- "text": "'child' | 'branch' | 'task'"
29276
- }
29277
- },
29278
- {
29279
- "name": "branchKey",
29280
- "optional": true,
29281
- "type": {
29282
- "text": "string"
29283
- }
29284
- }
29285
- ],
29286
- "description": "Insert a node into the workflow tree at a specific location"
29287
- },
29288
- {
29289
- "kind": "function",
29290
- "name": "getAllNodes",
29291
- "return": {
29292
- "type": {
29293
- "text": "WorkflowNode[]"
29294
- }
29295
- },
29296
- "parameters": [
29297
- {
29298
- "name": "node",
29299
- "type": {
29300
- "text": "WorkflowNode"
29301
- }
29302
- }
29303
- ],
29304
- "description": "Collect all nodes in the workflow (depth-first)"
29305
- },
29306
- {
29307
- "kind": "function",
29308
- "name": "getNodePath",
29309
- "return": {
29310
- "type": {
29311
- "text": "string[]"
29312
- }
29313
- },
29314
- "parameters": [
29315
- {
29316
- "name": "rootNode",
29317
- "type": {
29318
- "text": "WorkflowNode"
29319
- }
29320
- },
29321
- {
29322
- "name": "targetId",
29323
- "type": {
29324
- "text": "string"
29325
- }
29326
- }
29327
- ],
29328
- "description": "Get all parent node IDs for a given node (path from root to node)"
29329
- },
29330
- {
29331
- "kind": "function",
29332
- "name": "isDescendant",
29333
- "return": {
29334
- "type": {
29335
- "text": "boolean"
29336
- }
29337
- },
29338
- "parameters": [
29339
- {
29340
- "name": "rootNode",
29341
- "type": {
29342
- "text": "WorkflowNode"
29343
- }
29344
- },
29345
- {
29346
- "name": "potentialParentId",
29347
- "type": {
29348
- "text": "string"
29349
- }
29350
- },
29351
- {
29352
- "name": "nodeId",
29353
- "type": {
29354
- "text": "string"
29355
- }
29356
- }
29357
- ],
29358
- "description": "Check if a node is a descendant of another node"
29359
- },
29360
- {
29361
- "kind": "function",
29362
- "name": "replaceNode",
29363
- "return": {
29364
- "type": {
29365
- "text": "WorkflowNode"
29366
- }
29367
- },
29368
- "parameters": [
29369
- {
29370
- "name": "node",
29371
- "type": {
29372
- "text": "WorkflowNode"
29373
- }
29374
- },
29375
- {
29376
- "name": "targetId",
29377
- "type": {
29378
- "text": "string"
29379
- }
29380
- },
29381
- {
29382
- "name": "replacement",
29383
- "type": {
29384
- "text": "WorkflowNode"
29385
- }
29386
- }
29387
- ],
29388
- "description": "Replace a node in the tree"
29389
- }
29390
- ],
29391
- "exports": [
29392
- {
29393
- "kind": "js",
29394
- "name": "cloneWorkflow",
29395
- "declaration": {
29396
- "name": "cloneWorkflow",
29397
- "module": "src/flow-designer/workflow-utils.ts"
29398
- }
29399
- },
29400
- {
29401
- "kind": "js",
29402
- "name": "cloneNode",
29403
- "declaration": {
29404
- "name": "cloneNode",
29405
- "module": "src/flow-designer/workflow-utils.ts"
29406
- }
29407
- },
29408
- {
29409
- "kind": "js",
29410
- "name": "findNodeById",
29411
- "declaration": {
29412
- "name": "findNodeById",
29413
- "module": "src/flow-designer/workflow-utils.ts"
29414
- }
29415
- },
29416
- {
29417
- "kind": "js",
29418
- "name": "removeNodeById",
29419
- "declaration": {
29420
- "name": "removeNodeById",
29421
- "module": "src/flow-designer/workflow-utils.ts"
29422
- }
29423
- },
29424
- {
29425
- "kind": "js",
29426
- "name": "insertNodeIntoWorkflow",
29427
- "declaration": {
29428
- "name": "insertNodeIntoWorkflow",
29429
- "module": "src/flow-designer/workflow-utils.ts"
29430
- }
29431
- },
29432
- {
29433
- "kind": "js",
29434
- "name": "getAllNodes",
29435
- "declaration": {
29436
- "name": "getAllNodes",
29437
- "module": "src/flow-designer/workflow-utils.ts"
29438
- }
29439
- },
29440
- {
29441
- "kind": "js",
29442
- "name": "getNodePath",
29443
- "declaration": {
29444
- "name": "getNodePath",
29445
- "module": "src/flow-designer/workflow-utils.ts"
29446
- }
29447
- },
29448
- {
29449
- "kind": "js",
29450
- "name": "isDescendant",
29451
- "declaration": {
29452
- "name": "isDescendant",
29453
- "module": "src/flow-designer/workflow-utils.ts"
29454
- }
29455
- },
29456
- {
29457
- "kind": "js",
29458
- "name": "replaceNode",
29459
- "declaration": {
29460
- "name": "replaceNode",
29461
- "module": "src/flow-designer/workflow-utils.ts"
29462
- }
29463
- }
29464
- ]
29465
- },
29466
- {
29467
- "kind": "javascript-module",
29468
- "path": "src/flow-designer/commands.ts",
29469
- "declarations": [
29470
- {
29471
- "kind": "class",
29472
- "description": "Add Node Command",
29473
- "name": "AddNodeCommand",
29474
- "members": [
29475
- {
29476
- "kind": "field",
29477
- "name": "description",
29478
- "type": {
29479
- "text": "string"
29480
- },
29481
- "default": "'Add node'"
29482
- },
29483
- {
29484
- "kind": "method",
29485
- "name": "execute",
29486
- "return": {
29487
- "type": {
29488
- "text": "Workflow"
29489
- }
29490
- },
29491
- "parameters": [
29492
- {
29493
- "name": "workflow",
29494
- "type": {
29495
- "text": "Workflow"
29496
- }
29497
- }
29498
- ]
29499
- },
29500
- {
29501
- "kind": "method",
29502
- "name": "undo",
29503
- "return": {
29504
- "type": {
29505
- "text": "Workflow"
29506
- }
29507
- },
29508
- "parameters": [
29509
- {
29510
- "name": "workflow",
29511
- "type": {
29512
- "text": "Workflow"
29513
- }
29514
- }
29515
- ]
29516
- }
29517
- ]
29518
- },
29519
- {
29520
- "kind": "class",
29521
- "description": "Delete Node Command",
29522
- "name": "DeleteNodeCommand",
29523
- "members": [
29524
- {
29525
- "kind": "field",
29526
- "name": "description",
29527
- "type": {
29528
- "text": "string"
29529
- },
29530
- "default": "'Delete node'"
29531
- },
29532
- {
29533
- "kind": "field",
29534
- "name": "deletedNode",
29535
- "type": {
29536
- "text": "WorkflowNode | null"
29537
- },
29538
- "privacy": "private",
29539
- "default": "null"
29540
- },
29541
- {
29542
- "kind": "field",
29543
- "name": "parentReference",
29544
- "type": {
29545
- "text": "{\n parentId: string;\n connectionType: 'child' | 'branch' | 'task';\n branchKey?: string;\n } | null"
29546
- },
29547
- "privacy": "private",
29548
- "default": "null"
29549
- },
29550
- {
29551
- "kind": "method",
29552
- "name": "captureNodeContext",
29553
- "privacy": "private",
29554
- "parameters": [
29555
- {
29556
- "name": "workflow",
29557
- "type": {
29558
- "text": "Workflow"
29559
- }
29560
- }
29561
- ]
29562
- },
29563
- {
29564
- "kind": "method",
29565
- "name": "findParentReference",
29566
- "privacy": "private",
29567
- "parameters": [
29568
- {
29569
- "name": "node",
29570
- "type": {
29571
- "text": "WorkflowNode"
29572
- }
29573
- }
29574
- ]
29575
- },
29576
- {
29577
- "kind": "method",
29578
- "name": "execute",
29579
- "return": {
29580
- "type": {
29581
- "text": "Workflow"
29582
- }
29583
- },
29584
- "parameters": [
29585
- {
29586
- "name": "workflow",
29587
- "type": {
29588
- "text": "Workflow"
29589
- }
29590
- }
29591
- ]
29592
- },
29593
- {
29594
- "kind": "method",
29595
- "name": "undo",
29596
- "return": {
29597
- "type": {
29598
- "text": "Workflow"
29599
- }
29600
- },
29601
- "parameters": [
29602
- {
29603
- "name": "workflow",
29604
- "type": {
29605
- "text": "Workflow"
29606
- }
29607
- }
29608
- ]
29609
- }
29610
- ]
29611
- },
29612
- {
29613
- "kind": "class",
29614
- "description": "Edit Node Command",
29615
- "name": "EditNodeCommand",
29616
- "members": [
29617
- {
29618
- "kind": "field",
29619
- "name": "description",
29620
- "type": {
29621
- "text": "string"
29622
- },
29623
- "default": "'Edit node'"
29624
- },
29625
- {
29626
- "kind": "field",
29627
- "name": "previousState",
29628
- "type": {
29629
- "text": "Record<string, any>"
29630
- },
29631
- "privacy": "private",
29632
- "default": "{}"
29633
- },
29634
- {
29635
- "kind": "method",
29636
- "name": "execute",
29637
- "return": {
29638
- "type": {
29639
- "text": "Workflow"
29640
- }
29641
- },
29642
- "parameters": [
29643
- {
29644
- "name": "workflow",
29645
- "type": {
29646
- "text": "Workflow"
29647
- }
29648
- }
29649
- ]
29650
- },
29651
- {
29652
- "kind": "method",
29653
- "name": "undo",
29654
- "return": {
29655
- "type": {
29656
- "text": "Workflow"
29657
- }
29658
- },
29659
- "parameters": [
29660
- {
29661
- "name": "workflow",
29662
- "type": {
29663
- "text": "Workflow"
29664
- }
29665
- }
29666
- ]
29667
- }
29668
- ]
29669
- },
29670
- {
29671
- "kind": "class",
29672
- "description": "Move Node Command - reorder in array or change parent",
29673
- "name": "MoveNodeCommand",
29674
- "members": [
29675
- {
29676
- "kind": "field",
29677
- "name": "description",
29678
- "type": {
29679
- "text": "string"
29680
- },
29681
- "default": "'Move node'"
29682
- },
29683
- {
29684
- "kind": "field",
29685
- "name": "previousState",
29686
- "type": {
29687
- "text": "{\n parentId: string;\n index: number;\n connectionType: 'child' | 'branch' | 'task';\n branchKey?: string;\n } | null"
29688
- },
29689
- "privacy": "private",
29690
- "default": "null"
29691
- },
29692
- {
29693
- "kind": "method",
29694
- "name": "captureCurrentPosition",
29695
- "privacy": "private",
29696
- "parameters": [
29697
- {
29698
- "name": "workflow",
29699
- "type": {
29700
- "text": "Workflow"
29701
- }
29702
- }
29703
- ]
29704
- },
29705
- {
29706
- "kind": "method",
29707
- "name": "execute",
29708
- "return": {
29709
- "type": {
29710
- "text": "Workflow"
29711
- }
29712
- },
29713
- "parameters": [
29714
- {
29715
- "name": "workflow",
29716
- "type": {
29717
- "text": "Workflow"
29718
- }
29719
- }
29720
- ]
29721
- },
29722
- {
29723
- "kind": "method",
29724
- "name": "undo",
29725
- "return": {
29726
- "type": {
29727
- "text": "Workflow"
29728
- }
29729
- },
29730
- "parameters": [
29731
- {
29732
- "name": "workflow",
29733
- "type": {
29734
- "text": "Workflow"
29735
- }
29736
- }
29737
- ]
29738
- }
29739
- ]
29740
- },
29741
- {
29742
- "kind": "class",
29743
- "description": "Batch Command - combine multiple commands into one undo/redo step",
29744
- "name": "BatchCommand",
29745
- "members": [
29746
- {
29747
- "kind": "field",
29748
- "name": "description",
29749
- "type": {
29750
- "text": "string"
29751
- },
29752
- "default": "description"
29753
- },
29754
- {
29755
- "kind": "method",
29756
- "name": "execute",
29757
- "return": {
29758
- "type": {
29759
- "text": "Workflow"
29760
- }
29761
- },
29762
- "parameters": [
29763
- {
29764
- "name": "workflow",
29765
- "type": {
29766
- "text": "Workflow"
29767
- }
29768
- }
29769
- ]
29770
- },
29771
- {
29772
- "kind": "method",
29773
- "name": "undo",
29774
- "return": {
29775
- "type": {
29776
- "text": "Workflow"
29777
- }
29778
- },
29779
- "parameters": [
29780
- {
29781
- "name": "workflow",
29782
- "type": {
29783
- "text": "Workflow"
29784
- }
29785
- }
29786
- ]
29787
- }
29788
- ]
29789
- }
29790
- ],
29791
- "exports": [
29792
- {
29793
- "kind": "js",
29794
- "name": "AddNodeCommand",
29795
- "declaration": {
29796
- "name": "AddNodeCommand",
29797
- "module": "src/flow-designer/commands.ts"
29798
- }
29799
- },
29800
- {
29801
- "kind": "js",
29802
- "name": "DeleteNodeCommand",
29803
- "declaration": {
29804
- "name": "DeleteNodeCommand",
29805
- "module": "src/flow-designer/commands.ts"
29806
- }
29807
- },
29808
- {
29809
- "kind": "js",
29810
- "name": "EditNodeCommand",
29811
- "declaration": {
29812
- "name": "EditNodeCommand",
29813
- "module": "src/flow-designer/commands.ts"
29814
- }
29815
- },
29816
- {
29817
- "kind": "js",
29818
- "name": "MoveNodeCommand",
29819
- "declaration": {
29820
- "name": "MoveNodeCommand",
29821
- "module": "src/flow-designer/commands.ts"
29822
- }
29823
- },
29824
- {
29825
- "kind": "js",
29826
- "name": "BatchCommand",
29827
- "declaration": {
29828
- "name": "BatchCommand",
29829
- "module": "src/flow-designer/commands.ts"
29830
- }
29831
- }
29832
- ]
29833
- },
29834
- {
29835
- "kind": "javascript-module",
29836
- "path": "src/flow-designer/layout.ts",
29837
- "declarations": [
29838
- {
29839
- "kind": "class",
29840
- "description": "",
29841
- "name": "SwimlaneLayout",
29842
- "members": [
29843
- {
29844
- "kind": "method",
29845
- "name": "calculateLayout",
29846
- "static": true,
29847
- "return": {
29848
- "type": {
29849
- "text": "PositionedNode[]"
29850
- }
29851
- },
29852
- "parameters": [
29853
- {
29854
- "name": "rootNode",
29855
- "type": {
29856
- "text": "WorkflowNode"
29857
- }
29858
- }
29859
- ],
29860
- "description": "Calculate layout positions for all nodes in a workflow"
29861
- },
29862
- {
29863
- "kind": "method",
29864
- "name": "_traverseAndAssignLanes",
29865
- "privacy": "private",
29866
- "static": true,
29867
- "return": {
29868
- "type": {
29869
- "text": "void"
29870
- }
29871
- },
29872
- "parameters": [
29873
- {
29874
- "name": "node",
29875
- "type": {
29876
- "text": "WorkflowNode"
29877
- }
29878
- },
29879
- {
29880
- "name": "parent",
29881
- "type": {
29882
- "text": "WorkflowNode | null"
29883
- }
29884
- },
29885
- {
29886
- "name": "baseLane",
29887
- "type": {
29888
- "text": "string"
29889
- }
29890
- },
29891
- {
29892
- "name": "depth",
29893
- "type": {
29894
- "text": "number"
29895
- }
29896
- },
29897
- {
29898
- "name": "layoutNodes",
29899
- "type": {
29900
- "text": "LayoutNode[]"
29901
- }
29902
- },
29903
- {
29904
- "name": "lanes",
29905
- "type": {
29906
- "text": "Map<string, LayoutNode[]>"
29907
- }
29908
- }
29909
- ],
29910
- "description": "Traverse workflow tree and assign lane/depth to each node"
29911
- },
29912
- {
29913
- "kind": "method",
29914
- "name": "_calculateConnectors",
29915
- "privacy": "private",
29916
- "static": true,
29917
- "return": {
29918
- "type": {
29919
- "text": "void"
29920
- }
29921
- },
29922
- "parameters": [
29923
- {
29924
- "name": "positionedNodes",
29925
- "type": {
29926
- "text": "PositionedNode[]"
29927
- }
29928
- },
29929
- {
29930
- "name": "nodePositions",
29931
- "type": {
29932
- "text": "Map<string, { x: number; y: number }>"
29933
- }
29934
- }
29935
- ],
29936
- "description": "Calculate SVG connector points between nodes"
29937
- },
29938
- {
29939
- "kind": "method",
29940
- "name": "getSwimlanes",
29941
- "static": true,
29942
- "return": {
29943
- "type": {
29944
- "text": "SwimlaneConfig[]"
29945
- }
29946
- },
29947
- "parameters": [
29948
- {
29949
- "name": "positionedNodes",
29950
- "type": {
29951
- "text": "PositionedNode[]"
29952
- }
29953
- }
29954
- ],
29955
- "description": "Get swimlane configurations for rendering"
29956
- },
29957
- {
29958
- "kind": "method",
29959
- "name": "_getSwimlaneName",
29960
- "privacy": "private",
29961
- "static": true,
29962
- "return": {
29963
- "type": {
29964
- "text": "string"
29965
- }
29966
- },
29967
- "parameters": [
29968
- {
29969
- "name": "laneId",
29970
- "type": {
29971
- "text": "string"
29972
- }
29973
- }
29974
- ],
29975
- "description": "Generate human-readable swimlane name"
29976
- },
29977
- {
29978
- "kind": "method",
29979
- "name": "getCanvasBounds",
29980
- "static": true,
29981
- "return": {
29982
- "type": {
29983
- "text": "{\n width: number;\n height: number;\n }"
29984
- }
29985
- },
29986
- "parameters": [
29987
- {
29988
- "name": "positionedNodes",
29989
- "type": {
29990
- "text": "PositionedNode[]"
29991
- }
29992
- }
29993
- ],
29994
- "description": "Calculate canvas bounds for sizing"
29995
- }
29996
- ]
29997
- },
29998
- {
29999
- "kind": "variable",
30000
- "name": "x"
30001
- },
30002
- {
30003
- "kind": "variable",
30004
- "name": "y"
30005
- }
30006
- ],
30007
- "exports": [
30008
- {
30009
- "kind": "js",
30010
- "name": "SwimlaneLayout",
30011
- "declaration": {
30012
- "name": "SwimlaneLayout",
30013
- "module": "src/flow-designer/layout.ts"
30014
- }
30015
- }
30016
- ]
30017
- },
30018
- {
30019
- "kind": "javascript-module",
30020
- "path": "src/flow-designer/validation.ts",
30021
- "declarations": [
30022
- {
30023
- "kind": "class",
30024
- "description": "Workflow validation - checks for common errors and inconsistencies",
30025
- "name": "WorkflowValidator",
30026
- "members": [
30027
- {
30028
- "kind": "method",
30029
- "name": "validate",
30030
- "static": true,
30031
- "return": {
30032
- "type": {
30033
- "text": "ValidationError[]"
30034
- }
30035
- },
30036
- "parameters": [
30037
- {
30038
- "name": "workflow",
30039
- "type": {
30040
- "text": "Workflow"
30041
- }
30042
- }
30043
- ],
30044
- "description": "Validate entire workflow"
30045
- },
30046
- {
30047
- "kind": "method",
30048
- "name": "_checkCircularLoops",
30049
- "privacy": "private",
30050
- "static": true,
30051
- "return": {
30052
- "type": {
30053
- "text": "ValidationError[]"
30054
- }
30055
- },
30056
- "parameters": [
30057
- {
30058
- "name": "rootNode",
30059
- "type": {
30060
- "text": "WorkflowNode"
30061
- }
30062
- },
30063
- {
30064
- "name": "allNodes",
30065
- "type": {
30066
- "text": "WorkflowNode[]"
30067
- }
30068
- }
30069
- ],
30070
- "description": "Detect circular loop references\nA loop_end cannot point to a node that is its own descendant (after the loop_start)"
30071
- },
30072
- {
30073
- "kind": "method",
30074
- "name": "_checkOrphanedNodes",
30075
- "privacy": "private",
30076
- "static": true,
30077
- "return": {
30078
- "type": {
30079
- "text": "ValidationError[]"
30080
- }
30081
- },
30082
- "parameters": [
30083
- {
30084
- "name": "rootNode",
30085
- "type": {
30086
- "text": "WorkflowNode"
30087
- }
30088
- },
30089
- {
30090
- "name": "allNodes",
30091
- "type": {
30092
- "text": "WorkflowNode[]"
30093
- }
30094
- }
30095
- ],
30096
- "description": "Check for orphaned nodes (not reachable from root)"
30097
- },
30098
- {
30099
- "kind": "method",
30100
- "name": "_checkValidBranches",
30101
- "privacy": "private",
30102
- "static": true,
30103
- "return": {
30104
- "type": {
30105
- "text": "ValidationError[]"
30106
- }
30107
- },
30108
- "parameters": [
30109
- {
30110
- "name": "rootNode",
30111
- "type": {
30112
- "text": "WorkflowNode"
30113
- }
30114
- },
30115
- {
30116
- "name": "allNodes",
30117
- "type": {
30118
- "text": "WorkflowNode[]"
30119
- }
30120
- }
30121
- ],
30122
- "description": "Check that decision nodes have valid branches"
30123
- },
30124
- {
30125
- "kind": "method",
30126
- "name": "_checkMissingTargets",
30127
- "privacy": "private",
30128
- "static": true,
30129
- "return": {
30130
- "type": {
30131
- "text": "ValidationError[]"
30132
- }
30133
- },
30134
- "parameters": [
30135
- {
30136
- "name": "workflow",
30137
- "type": {
30138
- "text": "Workflow"
30139
- }
30140
- },
30141
- {
30142
- "name": "allNodes",
30143
- "type": {
30144
- "text": "WorkflowNode[]"
30145
- }
30146
- }
30147
- ],
30148
- "description": "Check that loop_end nodes reference valid loop_start nodes"
30149
- },
30150
- {
30151
- "kind": "method",
30152
- "name": "_checkForkJoinPairs",
30153
- "privacy": "private",
30154
- "static": true,
30155
- "return": {
30156
- "type": {
30157
- "text": "ValidationError[]"
30158
- }
30159
- },
30160
- "parameters": [
30161
- {
30162
- "name": "rootNode",
30163
- "type": {
30164
- "text": "WorkflowNode"
30165
- }
30166
- },
30167
- {
30168
- "name": "allNodes",
30169
- "type": {
30170
- "text": "WorkflowNode[]"
30171
- }
30172
- }
30173
- ],
30174
- "description": "Check that fork nodes have corresponding join nodes"
30175
- },
30176
- {
30177
- "kind": "method",
30178
- "name": "isExecutable",
30179
- "static": true,
30180
- "return": {
30181
- "type": {
30182
- "text": "boolean"
30183
- }
30184
- },
30185
- "parameters": [
30186
- {
30187
- "name": "workflow",
30188
- "type": {
30189
- "text": "Workflow"
30190
- }
30191
- }
30192
- ],
30193
- "description": "Check if workflow would create a valid execution path"
30194
- },
30195
- {
30196
- "kind": "method",
30197
- "name": "getWarnings",
30198
- "static": true,
30199
- "return": {
30200
- "type": {
30201
- "text": "ValidationError[]"
30202
- }
30203
- },
30204
- "parameters": [
30205
- {
30206
- "name": "workflow",
30207
- "type": {
30208
- "text": "Workflow"
30209
- }
30210
- }
30211
- ],
30212
- "description": "Get validation warnings only"
30213
- },
30214
- {
30215
- "kind": "method",
30216
- "name": "getErrors",
30217
- "static": true,
30218
- "return": {
30219
- "type": {
30220
- "text": "ValidationError[]"
30221
- }
30222
- },
30223
- "parameters": [
30224
- {
30225
- "name": "workflow",
30226
- "type": {
30227
- "text": "Workflow"
30228
- }
30229
- }
30230
- ],
30231
- "description": "Get validation errors only"
30232
- }
30233
- ]
30234
- }
30235
- ],
30236
- "exports": [
30237
- {
30238
- "kind": "js",
30239
- "name": "WorkflowValidator",
30240
- "declaration": {
30241
- "name": "WorkflowValidator",
30242
- "module": "src/flow-designer/validation.ts"
30243
- }
30244
- }
30245
- ]
30246
- },
30247
- {
30248
- "kind": "javascript-module",
30249
- "path": "src/flow-designer/flow-designer.ts",
30250
- "declarations": [
30251
- {
30252
- "kind": "class",
30253
- "description": "",
30254
- "name": "FlowDesigner",
30255
- "cssProperties": [
30256
- {
30257
- "description": "Height of the flow designer container. Defaults to 400px.",
30258
- "name": "--flow-designer-height"
30259
- },
30260
- {
30261
- "description": "Border color of the flow designer. Defaults to outline-variant.",
30262
- "name": "--flow-designer-border-color"
30263
- },
30264
- {
30265
- "description": "Background color of the designer. Defaults to surface.",
30266
- "name": "--flow-designer-background"
30267
- },
30268
- {
30269
- "description": "Corner radius. Defaults to medium shape.",
30270
- "name": "--flow-designer-border-radius"
30271
- },
30272
- {
30273
- "description": "Background color of the action bar. Defaults to surface-container.",
30274
- "name": "--flow-designer-action-bar-bg"
30275
- }
30276
- ],
30277
- "members": [
30278
- {
30279
- "kind": "field",
30280
- "name": "workflow",
30281
- "type": {
30282
- "text": "Workflow"
30283
- },
30284
- "default": "{ workflow_id: '', nodes: { id: 'root', type: 'trigger', label: 'Start' } }",
30285
- "description": "The workflow definition to display and edit",
30286
- "attribute": "workflow"
30287
- },
30288
- {
30289
- "kind": "field",
30290
- "name": "readonly",
30291
- "type": {
30292
- "text": "boolean"
30293
- },
30294
- "default": "false",
30295
- "description": "Whether the flow designer is in read-only mode",
30296
- "attribute": "readonly",
30297
- "reflects": true
30298
- },
30299
- {
30300
- "kind": "field",
30301
- "name": "disabled",
30302
- "type": {
30303
- "text": "boolean"
30304
- },
30305
- "default": "false",
30306
- "description": "Whether the flow designer is disabled",
30307
- "attribute": "disabled",
30308
- "reflects": true
30309
- },
30310
- {
30311
- "kind": "field",
30312
- "name": "showValidation",
30313
- "type": {
30314
- "text": "boolean"
30315
- },
30316
- "default": "false",
30317
- "description": "Show validation errors/warnings",
30318
- "attribute": "show-validation"
30319
- },
30320
- {
30321
- "kind": "field",
30322
- "name": "_editor",
30323
- "type": {
30324
- "text": "EditorState"
30325
- },
30326
- "privacy": "private",
30327
- "default": "{ selectedNodeId: null, isEditing: false, editingNode: null, hoveredNodeId: null, isDragging: false, draggedNodeId: null, zoom: 1, panX: 0, panY: 0, }"
30328
- },
30329
- {
30330
- "kind": "field",
30331
- "name": "_positionedNodes",
30332
- "type": {
30333
- "text": "PositionedNode[]"
30334
- },
30335
- "privacy": "private",
30336
- "default": "[]"
30337
- },
30338
- {
30339
- "kind": "field",
30340
- "name": "_history",
30341
- "type": {
30342
- "text": "HistoryEntry[]"
30343
- },
30344
- "privacy": "private",
30345
- "default": "[]"
30346
- },
30347
- {
30348
- "kind": "field",
30349
- "name": "_historyIndex",
30350
- "type": {
30351
- "text": "number"
30352
- },
30353
- "privacy": "private",
30354
- "default": "-1"
30355
- },
30356
- {
30357
- "kind": "field",
30358
- "name": "scrollElm",
30359
- "type": {
30360
- "text": "HTMLElement | undefined"
30361
- },
30362
- "privacy": "private"
30363
- },
30364
- {
30365
- "kind": "field",
30366
- "name": "_isDragScrolling",
30367
- "type": {
30368
- "text": "boolean"
30369
- },
30370
- "privacy": "private",
30371
- "default": "false"
30372
- },
30373
- {
30374
- "kind": "field",
30375
- "name": "_dragStartX",
30376
- "type": {
30377
- "text": "number"
30378
- },
30379
- "privacy": "private",
30380
- "default": "0"
30381
- },
30382
- {
30383
- "kind": "field",
30384
- "name": "_dragStartY",
30385
- "type": {
30386
- "text": "number"
30387
- },
30388
- "privacy": "private",
30389
- "default": "0"
30390
- },
30391
- {
30392
- "kind": "field",
30393
- "name": "_scrollStartX",
30394
- "type": {
30395
- "text": "number"
30396
- },
30397
- "privacy": "private",
30398
- "default": "0"
30399
- },
30400
- {
30401
- "kind": "field",
30402
- "name": "_scrollStartY",
30403
- "type": {
30404
- "text": "number"
30405
- },
30406
- "privacy": "private",
30407
- "default": "0"
29031
+ },
29032
+ {
29033
+ "name": "sourceHandle",
29034
+ "default": "\"right\"",
29035
+ "type": {
29036
+ "text": "\"top\" | \"left\" | \"bottom\" | \"right\""
29037
+ }
29038
+ },
29039
+ {
29040
+ "name": "targetHandle",
29041
+ "default": "\"left\"",
29042
+ "type": {
29043
+ "text": "\"top\" | \"left\" | \"bottom\" | \"right\""
29044
+ }
29045
+ }
29046
+ ]
30408
29047
  },
30409
29048
  {
30410
29049
  "kind": "method",
30411
- "name": "_recalculateLayout",
29050
+ "name": "getBezierPath",
30412
29051
  "privacy": "private",
30413
- "description": "Recalculate layout when workflow changes"
30414
- },
30415
- {
30416
- "kind": "method",
30417
- "name": "addNode",
30418
- "return": {
30419
- "type": {
30420
- "text": "void"
30421
- }
30422
- },
30423
29052
  "parameters": [
30424
29053
  {
30425
- "name": "newNode",
29054
+ "name": "x1",
30426
29055
  "type": {
30427
- "text": "WorkflowNode"
29056
+ "text": "number"
30428
29057
  }
30429
29058
  },
30430
29059
  {
30431
- "name": "parentNodeId",
29060
+ "name": "y1",
30432
29061
  "type": {
30433
- "text": "string"
29062
+ "text": "number"
30434
29063
  }
30435
29064
  },
30436
29065
  {
30437
- "name": "connectionType",
30438
- "default": "'child'",
29066
+ "name": "x2",
30439
29067
  "type": {
30440
- "text": "'child' | 'branch' | 'task'"
29068
+ "text": "number"
30441
29069
  }
30442
29070
  },
30443
29071
  {
30444
- "name": "branchKey",
30445
- "optional": true,
30446
- "type": {
30447
- "text": "string"
30448
- }
30449
- }
30450
- ],
30451
- "description": "Add a new node"
30452
- },
30453
- {
30454
- "kind": "method",
30455
- "name": "deleteNode",
30456
- "return": {
30457
- "type": {
30458
- "text": "void"
30459
- }
30460
- },
30461
- "parameters": [
30462
- {
30463
- "name": "nodeId",
29072
+ "name": "y2",
30464
29073
  "type": {
30465
- "text": "string"
29074
+ "text": "number"
30466
29075
  }
30467
- }
30468
- ],
30469
- "description": "Delete a node by ID"
30470
- },
30471
- {
30472
- "kind": "method",
30473
- "name": "editNode",
30474
- "return": {
30475
- "type": {
30476
- "text": "void"
30477
- }
30478
- },
30479
- "parameters": [
29076
+ },
30480
29077
  {
30481
- "name": "nodeId",
29078
+ "name": "sourceHandle",
29079
+ "default": "\"right\"",
30482
29080
  "type": {
30483
- "text": "string"
29081
+ "text": "\"top\" | \"left\" | \"bottom\" | \"right\""
30484
29082
  }
30485
29083
  },
30486
29084
  {
30487
- "name": "updates",
29085
+ "name": "targetHandle",
29086
+ "default": "\"left\"",
30488
29087
  "type": {
30489
- "text": "Partial<WorkflowNode>"
29088
+ "text": "\"top\" | \"left\" | \"bottom\" | \"right\""
30490
29089
  }
30491
29090
  }
30492
- ],
30493
- "description": "Edit a node"
29091
+ ]
30494
29092
  },
30495
29093
  {
30496
29094
  "kind": "method",
30497
- "name": "moveNode",
30498
- "return": {
30499
- "type": {
30500
- "text": "void"
30501
- }
30502
- },
29095
+ "name": "getStraightPath",
29096
+ "privacy": "private",
30503
29097
  "parameters": [
30504
29098
  {
30505
- "name": "nodeId",
30506
- "type": {
30507
- "text": "string"
30508
- }
30509
- },
30510
- {
30511
- "name": "newParentId",
29099
+ "name": "x1",
30512
29100
  "type": {
30513
- "text": "string"
29101
+ "text": "number"
30514
29102
  }
30515
29103
  },
30516
29104
  {
30517
- "name": "newIndex",
29105
+ "name": "y1",
30518
29106
  "type": {
30519
29107
  "text": "number"
30520
29108
  }
30521
29109
  },
30522
29110
  {
30523
- "name": "connectionType",
30524
- "default": "'child'",
29111
+ "name": "x2",
30525
29112
  "type": {
30526
- "text": "'child' | 'branch' | 'task'"
29113
+ "text": "number"
30527
29114
  }
30528
29115
  },
30529
29116
  {
30530
- "name": "branchKey",
30531
- "optional": true,
30532
- "type": {
30533
- "text": "string"
30534
- }
30535
- }
30536
- ],
30537
- "description": "Move a node to a different parent/position"
30538
- },
30539
- {
30540
- "kind": "method",
30541
- "name": "_executeCommand",
30542
- "privacy": "private",
30543
- "return": {
30544
- "type": {
30545
- "text": "void"
30546
- }
30547
- },
30548
- "parameters": [
30549
- {
30550
- "name": "command",
29117
+ "name": "y2",
30551
29118
  "type": {
30552
- "text": "WorkflowCommand"
29119
+ "text": "number"
30553
29120
  }
30554
29121
  }
30555
- ],
30556
- "description": "Execute a command and add to history"
30557
- },
30558
- {
30559
- "kind": "method",
30560
- "name": "undo",
30561
- "return": {
30562
- "type": {
30563
- "text": "void"
30564
- }
30565
- },
30566
- "description": "Undo last operation"
30567
- },
30568
- {
30569
- "kind": "method",
30570
- "name": "redo",
30571
- "return": {
30572
- "type": {
30573
- "text": "void"
30574
- }
30575
- },
30576
- "description": "Redo last undone operation"
30577
- },
30578
- {
30579
- "kind": "method",
30580
- "name": "canUndo",
30581
- "return": {
30582
- "type": {
30583
- "text": "boolean"
30584
- }
30585
- },
30586
- "description": "Check if undo is available"
30587
- },
30588
- {
30589
- "kind": "method",
30590
- "name": "canRedo",
30591
- "return": {
30592
- "type": {
30593
- "text": "boolean"
30594
- }
30595
- },
30596
- "description": "Check if redo is available"
30597
- },
30598
- {
30599
- "kind": "method",
30600
- "name": "exportWorkflow",
30601
- "return": {
30602
- "type": {
30603
- "text": "string"
30604
- }
30605
- },
30606
- "description": "Export current workflow as JSON"
30607
- },
30608
- {
30609
- "kind": "method",
30610
- "name": "validate",
30611
- "return": {
30612
- "type": {
30613
- "text": "void"
30614
- }
30615
- },
30616
- "description": "Validate workflow"
29122
+ ]
30617
29123
  },
30618
29124
  {
30619
29125
  "kind": "method",
30620
- "name": "_emitWorkflowChange",
29126
+ "name": "drawPath",
30621
29127
  "privacy": "private",
30622
- "return": {
30623
- "type": {
30624
- "text": "void"
30625
- }
30626
- },
30627
29128
  "parameters": [
30628
29129
  {
30629
- "name": "type",
29130
+ "name": "sourceId",
30630
29131
  "type": {
30631
- "text": "WorkflowChangeEvent['type']"
29132
+ "text": "string"
30632
29133
  }
30633
29134
  },
30634
29135
  {
30635
- "name": "nodeId",
30636
- "optional": true,
29136
+ "name": "targetId",
30637
29137
  "type": {
30638
29138
  "text": "string"
30639
29139
  }
30640
- }
30641
- ]
30642
- },
30643
- {
30644
- "kind": "field",
30645
- "name": "_handleKeyDown",
30646
- "privacy": "private"
30647
- },
30648
- {
30649
- "kind": "field",
30650
- "name": "_handleMouseUp",
30651
- "privacy": "private"
30652
- },
30653
- {
30654
- "kind": "field",
30655
- "name": "_handleCanvasMouseDown",
30656
- "privacy": "private"
30657
- },
30658
- {
30659
- "kind": "field",
30660
- "name": "_handleCanvasMouseMove",
30661
- "privacy": "private"
30662
- },
30663
- {
30664
- "kind": "field",
30665
- "name": "_handleNodeClick",
30666
- "privacy": "private"
30667
- },
30668
- {
30669
- "kind": "field",
30670
- "name": "_handleNodeDelete",
30671
- "privacy": "private"
30672
- },
30673
- {
30674
- "kind": "field",
30675
- "name": "_handleNodeEdit",
30676
- "privacy": "private"
30677
- },
30678
- {
30679
- "kind": "field",
30680
- "name": "_handleZoomIn",
30681
- "privacy": "private"
30682
- },
30683
- {
30684
- "kind": "field",
30685
- "name": "_handleZoomOut",
30686
- "privacy": "private"
29140
+ },
29141
+ {
29142
+ "name": "type",
29143
+ "optional": true,
29144
+ "type": {
29145
+ "text": "\"smoothstep\" | \"bezier\" | \"straight\""
29146
+ }
29147
+ },
29148
+ {
29149
+ "name": "sourceHandle",
29150
+ "optional": true,
29151
+ "type": {
29152
+ "text": "\"top\" | \"left\" | \"bottom\" | \"right\""
29153
+ }
29154
+ },
29155
+ {
29156
+ "name": "targetHandle",
29157
+ "optional": true,
29158
+ "type": {
29159
+ "text": "\"top\" | \"left\" | \"bottom\" | \"right\""
29160
+ }
29161
+ }
29162
+ ]
30687
29163
  },
30688
29164
  {
30689
29165
  "kind": "method",
30690
- "name": "_renderConnectors",
29166
+ "name": "getBounds",
30691
29167
  "privacy": "private"
30692
29168
  },
30693
29169
  {
30694
29170
  "kind": "method",
30695
- "name": "_renderSwimlanes",
30696
- "privacy": "private"
29171
+ "name": "isCustomNode",
29172
+ "privacy": "private",
29173
+ "parameters": [
29174
+ {
29175
+ "name": "node",
29176
+ "type": {
29177
+ "text": "FlowNode"
29178
+ }
29179
+ }
29180
+ ]
30697
29181
  },
30698
29182
  {
30699
29183
  "kind": "method",
30700
- "name": "_renderNodes",
30701
- "privacy": "private"
30702
- }
30703
- ],
30704
- "events": [
30705
- {
30706
- "name": "validation-result",
30707
- "type": {
30708
- "text": "CustomEvent"
30709
- }
30710
- },
30711
- {
30712
- "name": "workflow-changed",
30713
- "type": {
30714
- "text": "CustomEvent"
30715
- }
29184
+ "name": "renderNodeContent",
29185
+ "privacy": "private",
29186
+ "parameters": [
29187
+ {
29188
+ "name": "node",
29189
+ "type": {
29190
+ "text": "FlowNode"
29191
+ }
29192
+ }
29193
+ ]
30716
29194
  }
30717
29195
  ],
30718
29196
  "attributes": [
30719
29197
  {
30720
- "name": "workflow",
29198
+ "name": "nodes",
30721
29199
  "type": {
30722
- "text": "Workflow"
29200
+ "text": "FlowNode[]"
30723
29201
  },
30724
- "default": "{ workflow_id: '', nodes: { id: 'root', type: 'trigger', label: 'Start' } }",
30725
- "description": "The workflow definition to display and edit",
30726
- "fieldName": "workflow"
29202
+ "default": "[]",
29203
+ "fieldName": "nodes"
30727
29204
  },
30728
29205
  {
30729
- "name": "readonly",
29206
+ "name": "edges",
30730
29207
  "type": {
30731
- "text": "boolean"
29208
+ "text": "FlowEdge[]"
30732
29209
  },
30733
- "default": "false",
30734
- "description": "Whether the flow designer is in read-only mode",
30735
- "fieldName": "readonly"
29210
+ "default": "[]",
29211
+ "fieldName": "edges"
30736
29212
  },
30737
29213
  {
30738
- "name": "disabled",
29214
+ "name": "zoom",
30739
29215
  "type": {
30740
- "text": "boolean"
29216
+ "text": "number"
30741
29217
  },
30742
- "default": "false",
30743
- "description": "Whether the flow designer is disabled",
30744
- "fieldName": "disabled"
29218
+ "default": "1",
29219
+ "fieldName": "zoom"
30745
29220
  },
30746
29221
  {
30747
- "name": "show-validation",
29222
+ "name": "padding",
30748
29223
  "type": {
30749
- "text": "boolean"
29224
+ "text": "number"
30750
29225
  },
30751
- "default": "false",
30752
- "description": "Show validation errors/warnings",
30753
- "fieldName": "showValidation"
29226
+ "default": "50",
29227
+ "fieldName": "padding"
30754
29228
  }
30755
29229
  ],
30756
29230
  "superclass": {
30757
29231
  "name": "LitElement",
30758
29232
  "package": "lit"
30759
29233
  },
30760
- "tagName": "wc-flow-designer",
29234
+ "tagName": "wc-flow",
30761
29235
  "customElement": true,
30762
- "summary": "Low-code business process flow designer with swimlane layout, undo/redo, and interactive editing.",
29236
+ "summary": "An interactive node editor canvas with draggable nodes, custom HTML element rendering, and mouse-based edge connection creation on a dotted grid.",
30763
29237
  "rawTag": {
30764
- "name": "flow-designer",
29238
+ "name": "flow",
30765
29239
  "description": ""
30766
29240
  }
30767
29241
  }
@@ -30769,249 +29243,49 @@
30769
29243
  "exports": [
30770
29244
  {
30771
29245
  "kind": "js",
30772
- "name": "FlowDesigner",
29246
+ "name": "Flow",
30773
29247
  "declaration": {
30774
- "name": "FlowDesigner",
30775
- "module": "src/flow-designer/flow-designer.ts"
29248
+ "name": "Flow",
29249
+ "module": "src/flow/flow.ts"
30776
29250
  }
30777
29251
  }
30778
29252
  ]
30779
29253
  },
30780
29254
  {
30781
29255
  "kind": "javascript-module",
30782
- "path": "src/flow-designer/index.ts",
29256
+ "path": "src/flow/index.ts",
30783
29257
  "declarations": [],
30784
29258
  "exports": [
30785
29259
  {
30786
29260
  "kind": "js",
30787
- "name": "FlowDesigner",
30788
- "declaration": {
30789
- "name": "FlowDesigner",
30790
- "module": "./flow-designer.js"
30791
- }
30792
- },
30793
- {
30794
- "kind": "js",
30795
- "name": "FlowDesignerNode",
30796
- "declaration": {
30797
- "name": "FlowDesignerNode",
30798
- "module": "./flow-designer-node.js"
30799
- }
30800
- },
30801
- {
30802
- "kind": "js",
30803
- "name": "Workflow",
30804
- "declaration": {
30805
- "name": "Workflow",
30806
- "module": "./types.js"
30807
- }
30808
- },
30809
- {
30810
- "kind": "js",
30811
- "name": "WorkflowNode",
30812
- "declaration": {
30813
- "name": "WorkflowNode",
30814
- "module": "./types.js"
30815
- }
30816
- },
30817
- {
30818
- "kind": "js",
30819
- "name": "WorkflowCommand",
30820
- "declaration": {
30821
- "name": "WorkflowCommand",
30822
- "module": "./types.js"
30823
- }
30824
- },
30825
- {
30826
- "kind": "js",
30827
- "name": "PositionedNode",
30828
- "declaration": {
30829
- "name": "PositionedNode",
30830
- "module": "./types.js"
30831
- }
30832
- },
30833
- {
30834
- "kind": "js",
30835
- "name": "ValidationError",
30836
- "declaration": {
30837
- "name": "ValidationError",
30838
- "module": "./types.js"
30839
- }
30840
- },
30841
- {
30842
- "kind": "js",
30843
- "name": "HistoryEntry",
30844
- "declaration": {
30845
- "name": "HistoryEntry",
30846
- "module": "./types.js"
30847
- }
30848
- },
30849
- {
30850
- "kind": "js",
30851
- "name": "EditorState",
30852
- "declaration": {
30853
- "name": "EditorState",
30854
- "module": "./types.js"
30855
- }
30856
- },
30857
- {
30858
- "kind": "js",
30859
- "name": "NodeType",
30860
- "declaration": {
30861
- "name": "NodeType",
30862
- "module": "./types.js"
30863
- }
30864
- },
30865
- {
30866
- "kind": "js",
30867
- "name": "WorkflowChangeEvent",
30868
- "declaration": {
30869
- "name": "WorkflowChangeEvent",
30870
- "module": "./types.js"
30871
- }
30872
- },
30873
- {
30874
- "kind": "js",
30875
- "name": "SwimlaneConfig",
30876
- "declaration": {
30877
- "name": "SwimlaneConfig",
30878
- "module": "./types.js"
30879
- }
30880
- },
30881
- {
30882
- "kind": "js",
30883
- "name": "NodeTemplate",
30884
- "declaration": {
30885
- "name": "NodeTemplate",
30886
- "module": "./types.js"
30887
- }
30888
- },
30889
- {
30890
- "kind": "js",
30891
- "name": "SwimlaneLayout",
30892
- "declaration": {
30893
- "name": "SwimlaneLayout",
30894
- "module": "./layout.js"
30895
- }
30896
- },
30897
- {
30898
- "kind": "js",
30899
- "name": "WorkflowValidator",
30900
- "declaration": {
30901
- "name": "WorkflowValidator",
30902
- "module": "./validation.js"
30903
- }
30904
- },
30905
- {
30906
- "kind": "js",
30907
- "name": "cloneWorkflow",
30908
- "declaration": {
30909
- "name": "cloneWorkflow",
30910
- "module": "./workflow-utils.js"
30911
- }
30912
- },
30913
- {
30914
- "kind": "js",
30915
- "name": "cloneNode",
30916
- "declaration": {
30917
- "name": "cloneNode",
30918
- "module": "./workflow-utils.js"
30919
- }
30920
- },
30921
- {
30922
- "kind": "js",
30923
- "name": "findNodeById",
30924
- "declaration": {
30925
- "name": "findNodeById",
30926
- "module": "./workflow-utils.js"
30927
- }
30928
- },
30929
- {
30930
- "kind": "js",
30931
- "name": "removeNodeById",
30932
- "declaration": {
30933
- "name": "removeNodeById",
30934
- "module": "./workflow-utils.js"
30935
- }
30936
- },
30937
- {
30938
- "kind": "js",
30939
- "name": "insertNodeIntoWorkflow",
30940
- "declaration": {
30941
- "name": "insertNodeIntoWorkflow",
30942
- "module": "./workflow-utils.js"
30943
- }
30944
- },
30945
- {
30946
- "kind": "js",
30947
- "name": "getAllNodes",
30948
- "declaration": {
30949
- "name": "getAllNodes",
30950
- "module": "./workflow-utils.js"
30951
- }
30952
- },
30953
- {
30954
- "kind": "js",
30955
- "name": "getNodePath",
30956
- "declaration": {
30957
- "name": "getNodePath",
30958
- "module": "./workflow-utils.js"
30959
- }
30960
- },
30961
- {
30962
- "kind": "js",
30963
- "name": "isDescendant",
30964
- "declaration": {
30965
- "name": "isDescendant",
30966
- "module": "./workflow-utils.js"
30967
- }
30968
- },
30969
- {
30970
- "kind": "js",
30971
- "name": "replaceNode",
30972
- "declaration": {
30973
- "name": "replaceNode",
30974
- "module": "./workflow-utils.js"
30975
- }
30976
- },
30977
- {
30978
- "kind": "js",
30979
- "name": "AddNodeCommand",
30980
- "declaration": {
30981
- "name": "AddNodeCommand",
30982
- "module": "./commands.js"
30983
- }
30984
- },
30985
- {
30986
- "kind": "js",
30987
- "name": "DeleteNodeCommand",
29261
+ "name": "Flow",
30988
29262
  "declaration": {
30989
- "name": "DeleteNodeCommand",
30990
- "module": "./commands.js"
29263
+ "name": "Flow",
29264
+ "module": "./flow.js"
30991
29265
  }
30992
29266
  },
30993
29267
  {
30994
29268
  "kind": "js",
30995
- "name": "EditNodeCommand",
29269
+ "name": "FlowNode",
30996
29270
  "declaration": {
30997
- "name": "EditNodeCommand",
30998
- "module": "./commands.js"
29271
+ "name": "FlowNode",
29272
+ "module": "./flow.js"
30999
29273
  }
31000
29274
  },
31001
29275
  {
31002
29276
  "kind": "js",
31003
- "name": "MoveNodeCommand",
29277
+ "name": "FlowEdge",
31004
29278
  "declaration": {
31005
- "name": "MoveNodeCommand",
31006
- "module": "./commands.js"
29279
+ "name": "FlowEdge",
29280
+ "module": "./flow.js"
31007
29281
  }
31008
29282
  },
31009
29283
  {
31010
29284
  "kind": "js",
31011
- "name": "BatchCommand",
29285
+ "name": "FlowStrokeVariant",
31012
29286
  "declaration": {
31013
- "name": "BatchCommand",
31014
- "module": "./commands.js"
29287
+ "name": "FlowStrokeVariant",
29288
+ "module": "./flow.js"
31015
29289
  }
31016
29290
  }
31017
29291
  ]
@@ -32208,122 +30482,34 @@
32208
30482
  },
32209
30483
  {
32210
30484
  "kind": "js",
32211
- "name": "Canvas",
32212
- "declaration": {
32213
- "name": "Canvas",
32214
- "module": "./canvas/index.js"
32215
- }
32216
- },
32217
- {
32218
- "kind": "js",
32219
- "name": "CanvasShape",
32220
- "declaration": {
32221
- "name": "CanvasShape",
32222
- "module": "./canvas/index.js"
32223
- }
32224
- },
32225
- {
32226
- "kind": "js",
32227
- "name": "FlowDesigner",
32228
- "declaration": {
32229
- "name": "FlowDesigner",
32230
- "module": "./flow-designer/index.js"
32231
- }
32232
- },
32233
- {
32234
- "kind": "js",
32235
- "name": "FlowDesignerNode",
32236
- "declaration": {
32237
- "name": "FlowDesignerNode",
32238
- "module": "./flow-designer/index.js"
32239
- }
32240
- },
32241
- {
32242
- "kind": "js",
32243
- "name": "Workflow",
32244
- "declaration": {
32245
- "name": "Workflow",
32246
- "module": "./flow-designer/index.js"
32247
- }
32248
- },
32249
- {
32250
- "kind": "js",
32251
- "name": "WorkflowNode",
32252
- "declaration": {
32253
- "name": "WorkflowNode",
32254
- "module": "./flow-designer/index.js"
32255
- }
32256
- },
32257
- {
32258
- "kind": "js",
32259
- "name": "WorkflowCommand",
32260
- "declaration": {
32261
- "name": "WorkflowCommand",
32262
- "module": "./flow-designer/index.js"
32263
- }
32264
- },
32265
- {
32266
- "kind": "js",
32267
- "name": "PositionedNode",
32268
- "declaration": {
32269
- "name": "PositionedNode",
32270
- "module": "./flow-designer/index.js"
32271
- }
32272
- },
32273
- {
32274
- "kind": "js",
32275
- "name": "ValidationError",
32276
- "declaration": {
32277
- "name": "ValidationError",
32278
- "module": "./flow-designer/index.js"
32279
- }
32280
- },
32281
- {
32282
- "kind": "js",
32283
- "name": "HistoryEntry",
32284
- "declaration": {
32285
- "name": "HistoryEntry",
32286
- "module": "./flow-designer/index.js"
32287
- }
32288
- },
32289
- {
32290
- "kind": "js",
32291
- "name": "EditorState",
32292
- "declaration": {
32293
- "name": "EditorState",
32294
- "module": "./flow-designer/index.js"
32295
- }
32296
- },
32297
- {
32298
- "kind": "js",
32299
- "name": "NodeType",
30485
+ "name": "Flow",
32300
30486
  "declaration": {
32301
- "name": "NodeType",
32302
- "module": "./flow-designer/index.js"
30487
+ "name": "Flow",
30488
+ "module": "./flow/index.js"
32303
30489
  }
32304
30490
  },
32305
30491
  {
32306
30492
  "kind": "js",
32307
- "name": "WorkflowChangeEvent",
30493
+ "name": "FlowNode",
32308
30494
  "declaration": {
32309
- "name": "WorkflowChangeEvent",
32310
- "module": "./flow-designer/index.js"
30495
+ "name": "FlowNode",
30496
+ "module": "./flow/index.js"
32311
30497
  }
32312
30498
  },
32313
30499
  {
32314
30500
  "kind": "js",
32315
- "name": "SwimlaneConfig",
30501
+ "name": "FlowEdge",
32316
30502
  "declaration": {
32317
- "name": "SwimlaneConfig",
32318
- "module": "./flow-designer/index.js"
30503
+ "name": "FlowEdge",
30504
+ "module": "./flow/index.js"
32319
30505
  }
32320
30506
  },
32321
30507
  {
32322
30508
  "kind": "js",
32323
- "name": "NodeTemplate",
30509
+ "name": "FlowStrokeVariant",
32324
30510
  "declaration": {
32325
- "name": "NodeTemplate",
32326
- "module": "./flow-designer/index.js"
30511
+ "name": "FlowStrokeVariant",
30512
+ "module": "./flow/index.js"
32327
30513
  }
32328
30514
  },
32329
30515
  {