@zenode/designer 3.5.8 → 3.5.10

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 (228) hide show
  1. package/README.md +3 -3
  2. package/dist/core/engine.cjs +11 -3
  3. package/dist/core/engine.cjs.map +1 -1
  4. package/dist/core/engine.d.ts +1 -1
  5. package/dist/core/engine.js +11 -3
  6. package/dist/core/engine.js.map +1 -1
  7. package/dist/defaultConfig.cjs +542 -0
  8. package/dist/defaultConfig.cjs.map +1 -0
  9. package/dist/defaultConfig.js +540 -0
  10. package/dist/defaultConfig.js.map +1 -0
  11. package/dist/defaults-B8cG7xLG.js +181 -0
  12. package/dist/defaults-B8cG7xLG.js.map +1 -0
  13. package/dist/defaults-Bp5gmH4b.js +179 -0
  14. package/dist/defaults-Bp5gmH4b.js.map +1 -0
  15. package/dist/events/drag.cjs +69 -3
  16. package/dist/events/drag.cjs.map +1 -1
  17. package/dist/events/drag.d.ts +4 -2
  18. package/dist/events/drag.js +69 -3
  19. package/dist/events/drag.js.map +1 -1
  20. package/dist/events/mouseClick.js +34 -34
  21. package/dist/events/mouseMove.js +82 -82
  22. package/dist/testConfig.cjs +553 -0
  23. package/dist/testConfig.cjs.map +1 -0
  24. package/dist/testConfig.js +551 -0
  25. package/dist/testConfig.js.map +1 -0
  26. package/package.json +2 -3
  27. package/assets/demo.svg +0 -108
  28. package/dist/config/testXML.cjs +0 -17
  29. package/dist/config/testXML.cjs.map +0 -1
  30. package/dist/config/testXML.d.ts +0 -1
  31. package/dist/config/testXML.js +0 -15
  32. package/dist/config/testXML.js.map +0 -1
  33. package/dist/core/serialization.cjs +0 -123
  34. package/dist/core/serialization.cjs.map +0 -1
  35. package/dist/core/serialization.d.ts +0 -26
  36. package/dist/core/serialization.js +0 -121
  37. package/dist/core/serialization.js.map +0 -1
  38. package/dist/events/mouseClick.cjs +0 -36
  39. package/dist/events/mouseClick.cjs.map +0 -1
  40. package/dist/events/mouseMove.cjs +0 -104
  41. package/dist/events/mouseMove.cjs.map +0 -1
  42. package/dist/icons.bundle.js +0 -763
  43. package/dist/icons.bundle.js.map +0 -1
  44. package/dist/icons.cjs +0 -105
  45. package/dist/icons.cjs.map +0 -1
  46. package/dist/icons.d.ts +0 -7
  47. package/dist/icons.js +0 -89
  48. package/dist/icons.js.map +0 -1
  49. package/dist/node_modules/lucide/dist/esm/createElement.cjs +0 -36
  50. package/dist/node_modules/lucide/dist/esm/createElement.cjs.map +0 -1
  51. package/dist/node_modules/lucide/dist/esm/createElement.js +0 -34
  52. package/dist/node_modules/lucide/dist/esm/createElement.js.map +0 -1
  53. package/dist/node_modules/lucide/dist/esm/defaultAttributes.cjs +0 -23
  54. package/dist/node_modules/lucide/dist/esm/defaultAttributes.cjs.map +0 -1
  55. package/dist/node_modules/lucide/dist/esm/defaultAttributes.js +0 -21
  56. package/dist/node_modules/lucide/dist/esm/defaultAttributes.js.map +0 -1
  57. package/dist/node_modules/lucide/dist/esm/icons/arrow-down-right.cjs +0 -16
  58. package/dist/node_modules/lucide/dist/esm/icons/arrow-down-right.cjs.map +0 -1
  59. package/dist/node_modules/lucide/dist/esm/icons/arrow-down-right.js +0 -14
  60. package/dist/node_modules/lucide/dist/esm/icons/arrow-down-right.js.map +0 -1
  61. package/dist/node_modules/lucide/dist/esm/icons/arrow-right.cjs +0 -16
  62. package/dist/node_modules/lucide/dist/esm/icons/arrow-right.cjs.map +0 -1
  63. package/dist/node_modules/lucide/dist/esm/icons/arrow-right.js +0 -14
  64. package/dist/node_modules/lucide/dist/esm/icons/arrow-right.js.map +0 -1
  65. package/dist/node_modules/lucide/dist/esm/icons/arrow-up-right.cjs +0 -16
  66. package/dist/node_modules/lucide/dist/esm/icons/arrow-up-right.cjs.map +0 -1
  67. package/dist/node_modules/lucide/dist/esm/icons/arrow-up-right.js +0 -14
  68. package/dist/node_modules/lucide/dist/esm/icons/arrow-up-right.js.map +0 -1
  69. package/dist/node_modules/lucide/dist/esm/icons/box.cjs +0 -22
  70. package/dist/node_modules/lucide/dist/esm/icons/box.cjs.map +0 -1
  71. package/dist/node_modules/lucide/dist/esm/icons/box.js +0 -20
  72. package/dist/node_modules/lucide/dist/esm/icons/box.js.map +0 -1
  73. package/dist/node_modules/lucide/dist/esm/icons/chevron-down.cjs +0 -13
  74. package/dist/node_modules/lucide/dist/esm/icons/chevron-down.cjs.map +0 -1
  75. package/dist/node_modules/lucide/dist/esm/icons/chevron-down.js +0 -11
  76. package/dist/node_modules/lucide/dist/esm/icons/chevron-down.js.map +0 -1
  77. package/dist/node_modules/lucide/dist/esm/icons/chevron-right.cjs +0 -13
  78. package/dist/node_modules/lucide/dist/esm/icons/chevron-right.cjs.map +0 -1
  79. package/dist/node_modules/lucide/dist/esm/icons/chevron-right.js +0 -11
  80. package/dist/node_modules/lucide/dist/esm/icons/chevron-right.js.map +0 -1
  81. package/dist/node_modules/lucide/dist/esm/icons/circle-alert.cjs +0 -17
  82. package/dist/node_modules/lucide/dist/esm/icons/circle-alert.cjs.map +0 -1
  83. package/dist/node_modules/lucide/dist/esm/icons/circle-alert.js +0 -15
  84. package/dist/node_modules/lucide/dist/esm/icons/circle-alert.js.map +0 -1
  85. package/dist/node_modules/lucide/dist/esm/icons/circle-check-big.cjs +0 -16
  86. package/dist/node_modules/lucide/dist/esm/icons/circle-check-big.cjs.map +0 -1
  87. package/dist/node_modules/lucide/dist/esm/icons/circle-check-big.js +0 -14
  88. package/dist/node_modules/lucide/dist/esm/icons/circle-check-big.js.map +0 -1
  89. package/dist/node_modules/lucide/dist/esm/icons/circle-question-mark.cjs +0 -17
  90. package/dist/node_modules/lucide/dist/esm/icons/circle-question-mark.cjs.map +0 -1
  91. package/dist/node_modules/lucide/dist/esm/icons/circle-question-mark.js +0 -15
  92. package/dist/node_modules/lucide/dist/esm/icons/circle-question-mark.js.map +0 -1
  93. package/dist/node_modules/lucide/dist/esm/icons/circle.cjs +0 -13
  94. package/dist/node_modules/lucide/dist/esm/icons/circle.cjs.map +0 -1
  95. package/dist/node_modules/lucide/dist/esm/icons/circle.js +0 -11
  96. package/dist/node_modules/lucide/dist/esm/icons/circle.js.map +0 -1
  97. package/dist/node_modules/lucide/dist/esm/icons/cloud.cjs +0 -13
  98. package/dist/node_modules/lucide/dist/esm/icons/cloud.cjs.map +0 -1
  99. package/dist/node_modules/lucide/dist/esm/icons/cloud.js +0 -11
  100. package/dist/node_modules/lucide/dist/esm/icons/cloud.js.map +0 -1
  101. package/dist/node_modules/lucide/dist/esm/icons/copy.cjs +0 -16
  102. package/dist/node_modules/lucide/dist/esm/icons/copy.cjs.map +0 -1
  103. package/dist/node_modules/lucide/dist/esm/icons/copy.js +0 -14
  104. package/dist/node_modules/lucide/dist/esm/icons/copy.js.map +0 -1
  105. package/dist/node_modules/lucide/dist/esm/icons/database.cjs +0 -17
  106. package/dist/node_modules/lucide/dist/esm/icons/database.cjs.map +0 -1
  107. package/dist/node_modules/lucide/dist/esm/icons/database.js +0 -15
  108. package/dist/node_modules/lucide/dist/esm/icons/database.js.map +0 -1
  109. package/dist/node_modules/lucide/dist/esm/icons/diamond.cjs +0 -20
  110. package/dist/node_modules/lucide/dist/esm/icons/diamond.cjs.map +0 -1
  111. package/dist/node_modules/lucide/dist/esm/icons/diamond.js +0 -18
  112. package/dist/node_modules/lucide/dist/esm/icons/diamond.js.map +0 -1
  113. package/dist/node_modules/lucide/dist/esm/icons/download.cjs +0 -17
  114. package/dist/node_modules/lucide/dist/esm/icons/download.cjs.map +0 -1
  115. package/dist/node_modules/lucide/dist/esm/icons/download.js +0 -15
  116. package/dist/node_modules/lucide/dist/esm/icons/download.js.map +0 -1
  117. package/dist/node_modules/lucide/dist/esm/icons/eye-off.cjs +0 -28
  118. package/dist/node_modules/lucide/dist/esm/icons/eye-off.cjs.map +0 -1
  119. package/dist/node_modules/lucide/dist/esm/icons/eye-off.js +0 -26
  120. package/dist/node_modules/lucide/dist/esm/icons/eye-off.js.map +0 -1
  121. package/dist/node_modules/lucide/dist/esm/icons/eye.cjs +0 -21
  122. package/dist/node_modules/lucide/dist/esm/icons/eye.cjs.map +0 -1
  123. package/dist/node_modules/lucide/dist/esm/icons/eye.js +0 -19
  124. package/dist/node_modules/lucide/dist/esm/icons/eye.js.map +0 -1
  125. package/dist/node_modules/lucide/dist/esm/icons/grid-3x3.cjs +0 -19
  126. package/dist/node_modules/lucide/dist/esm/icons/grid-3x3.cjs.map +0 -1
  127. package/dist/node_modules/lucide/dist/esm/icons/grid-3x3.js +0 -17
  128. package/dist/node_modules/lucide/dist/esm/icons/grid-3x3.js.map +0 -1
  129. package/dist/node_modules/lucide/dist/esm/icons/history.cjs +0 -17
  130. package/dist/node_modules/lucide/dist/esm/icons/history.cjs.map +0 -1
  131. package/dist/node_modules/lucide/dist/esm/icons/history.js +0 -15
  132. package/dist/node_modules/lucide/dist/esm/icons/history.js.map +0 -1
  133. package/dist/node_modules/lucide/dist/esm/icons/info.cjs +0 -17
  134. package/dist/node_modules/lucide/dist/esm/icons/info.cjs.map +0 -1
  135. package/dist/node_modules/lucide/dist/esm/icons/info.js +0 -15
  136. package/dist/node_modules/lucide/dist/esm/icons/info.js.map +0 -1
  137. package/dist/node_modules/lucide/dist/esm/icons/lasso.cjs +0 -17
  138. package/dist/node_modules/lucide/dist/esm/icons/lasso.cjs.map +0 -1
  139. package/dist/node_modules/lucide/dist/esm/icons/lasso.js +0 -15
  140. package/dist/node_modules/lucide/dist/esm/icons/lasso.js.map +0 -1
  141. package/dist/node_modules/lucide/dist/esm/icons/maximize.cjs +0 -18
  142. package/dist/node_modules/lucide/dist/esm/icons/maximize.cjs.map +0 -1
  143. package/dist/node_modules/lucide/dist/esm/icons/maximize.js +0 -16
  144. package/dist/node_modules/lucide/dist/esm/icons/maximize.js.map +0 -1
  145. package/dist/node_modules/lucide/dist/esm/icons/minimize.cjs +0 -18
  146. package/dist/node_modules/lucide/dist/esm/icons/minimize.cjs.map +0 -1
  147. package/dist/node_modules/lucide/dist/esm/icons/minimize.js +0 -16
  148. package/dist/node_modules/lucide/dist/esm/icons/minimize.js.map +0 -1
  149. package/dist/node_modules/lucide/dist/esm/icons/mouse-pointer.cjs +0 -21
  150. package/dist/node_modules/lucide/dist/esm/icons/mouse-pointer.cjs.map +0 -1
  151. package/dist/node_modules/lucide/dist/esm/icons/mouse-pointer.js +0 -19
  152. package/dist/node_modules/lucide/dist/esm/icons/mouse-pointer.js.map +0 -1
  153. package/dist/node_modules/lucide/dist/esm/icons/move.cjs +0 -20
  154. package/dist/node_modules/lucide/dist/esm/icons/move.cjs.map +0 -1
  155. package/dist/node_modules/lucide/dist/esm/icons/move.js +0 -18
  156. package/dist/node_modules/lucide/dist/esm/icons/move.js.map +0 -1
  157. package/dist/node_modules/lucide/dist/esm/icons/panels-top-left.cjs +0 -17
  158. package/dist/node_modules/lucide/dist/esm/icons/panels-top-left.cjs.map +0 -1
  159. package/dist/node_modules/lucide/dist/esm/icons/panels-top-left.js +0 -15
  160. package/dist/node_modules/lucide/dist/esm/icons/panels-top-left.js.map +0 -1
  161. package/dist/node_modules/lucide/dist/esm/icons/pen.cjs +0 -20
  162. package/dist/node_modules/lucide/dist/esm/icons/pen.cjs.map +0 -1
  163. package/dist/node_modules/lucide/dist/esm/icons/pen.js +0 -18
  164. package/dist/node_modules/lucide/dist/esm/icons/pen.js.map +0 -1
  165. package/dist/node_modules/lucide/dist/esm/icons/plus.cjs +0 -16
  166. package/dist/node_modules/lucide/dist/esm/icons/plus.cjs.map +0 -1
  167. package/dist/node_modules/lucide/dist/esm/icons/plus.js +0 -14
  168. package/dist/node_modules/lucide/dist/esm/icons/plus.js.map +0 -1
  169. package/dist/node_modules/lucide/dist/esm/icons/search.cjs +0 -16
  170. package/dist/node_modules/lucide/dist/esm/icons/search.cjs.map +0 -1
  171. package/dist/node_modules/lucide/dist/esm/icons/search.js +0 -14
  172. package/dist/node_modules/lucide/dist/esm/icons/search.js.map +0 -1
  173. package/dist/node_modules/lucide/dist/esm/icons/settings.cjs +0 -21
  174. package/dist/node_modules/lucide/dist/esm/icons/settings.cjs.map +0 -1
  175. package/dist/node_modules/lucide/dist/esm/icons/settings.js +0 -19
  176. package/dist/node_modules/lucide/dist/esm/icons/settings.js.map +0 -1
  177. package/dist/node_modules/lucide/dist/esm/icons/share-2.cjs +0 -19
  178. package/dist/node_modules/lucide/dist/esm/icons/share-2.cjs.map +0 -1
  179. package/dist/node_modules/lucide/dist/esm/icons/share-2.js +0 -17
  180. package/dist/node_modules/lucide/dist/esm/icons/share-2.js.map +0 -1
  181. package/dist/node_modules/lucide/dist/esm/icons/square.cjs +0 -13
  182. package/dist/node_modules/lucide/dist/esm/icons/square.cjs.map +0 -1
  183. package/dist/node_modules/lucide/dist/esm/icons/square.js +0 -11
  184. package/dist/node_modules/lucide/dist/esm/icons/square.js.map +0 -1
  185. package/dist/node_modules/lucide/dist/esm/icons/sticky-note.cjs +0 -21
  186. package/dist/node_modules/lucide/dist/esm/icons/sticky-note.cjs.map +0 -1
  187. package/dist/node_modules/lucide/dist/esm/icons/sticky-note.js +0 -19
  188. package/dist/node_modules/lucide/dist/esm/icons/sticky-note.js.map +0 -1
  189. package/dist/node_modules/lucide/dist/esm/icons/trash-2.cjs +0 -19
  190. package/dist/node_modules/lucide/dist/esm/icons/trash-2.cjs.map +0 -1
  191. package/dist/node_modules/lucide/dist/esm/icons/trash-2.js +0 -17
  192. package/dist/node_modules/lucide/dist/esm/icons/trash-2.js.map +0 -1
  193. package/dist/node_modules/lucide/dist/esm/icons/triangle.cjs +0 -15
  194. package/dist/node_modules/lucide/dist/esm/icons/triangle.cjs.map +0 -1
  195. package/dist/node_modules/lucide/dist/esm/icons/triangle.js +0 -13
  196. package/dist/node_modules/lucide/dist/esm/icons/triangle.js.map +0 -1
  197. package/dist/node_modules/lucide/dist/esm/icons/x.cjs +0 -16
  198. package/dist/node_modules/lucide/dist/esm/icons/x.cjs.map +0 -1
  199. package/dist/node_modules/lucide/dist/esm/icons/x.js +0 -14
  200. package/dist/node_modules/lucide/dist/esm/icons/x.js.map +0 -1
  201. package/dist/node_modules/lucide/dist/esm/icons/zap.cjs +0 -20
  202. package/dist/node_modules/lucide/dist/esm/icons/zap.cjs.map +0 -1
  203. package/dist/node_modules/lucide/dist/esm/icons/zap.js +0 -18
  204. package/dist/node_modules/lucide/dist/esm/icons/zap.js.map +0 -1
  205. package/dist/node_modules/lucide/dist/esm/lucide.cjs +0 -56
  206. package/dist/node_modules/lucide/dist/esm/lucide.cjs.map +0 -1
  207. package/dist/node_modules/lucide/dist/esm/lucide.js +0 -54
  208. package/dist/node_modules/lucide/dist/esm/lucide.js.map +0 -1
  209. package/dist/node_modules/lucide/dist/esm/replaceElement.cjs +0 -73
  210. package/dist/node_modules/lucide/dist/esm/replaceElement.cjs.map +0 -1
  211. package/dist/node_modules/lucide/dist/esm/replaceElement.js +0 -67
  212. package/dist/node_modules/lucide/dist/esm/replaceElement.js.map +0 -1
  213. package/dist/node_modules/lucide/dist/esm/shared/src/utils/hasA11yProp.cjs +0 -20
  214. package/dist/node_modules/lucide/dist/esm/shared/src/utils/hasA11yProp.cjs.map +0 -1
  215. package/dist/node_modules/lucide/dist/esm/shared/src/utils/hasA11yProp.js +0 -18
  216. package/dist/node_modules/lucide/dist/esm/shared/src/utils/hasA11yProp.js.map +0 -1
  217. package/dist/node_modules/lucide/dist/esm/shared/src/utils/mergeClasses.cjs +0 -15
  218. package/dist/node_modules/lucide/dist/esm/shared/src/utils/mergeClasses.cjs.map +0 -1
  219. package/dist/node_modules/lucide/dist/esm/shared/src/utils/mergeClasses.js +0 -13
  220. package/dist/node_modules/lucide/dist/esm/shared/src/utils/mergeClasses.js.map +0 -1
  221. package/dist/node_modules/lucide/dist/esm/shared/src/utils/toCamelCase.cjs +0 -16
  222. package/dist/node_modules/lucide/dist/esm/shared/src/utils/toCamelCase.cjs.map +0 -1
  223. package/dist/node_modules/lucide/dist/esm/shared/src/utils/toCamelCase.js +0 -14
  224. package/dist/node_modules/lucide/dist/esm/shared/src/utils/toCamelCase.js.map +0 -1
  225. package/dist/node_modules/lucide/dist/esm/shared/src/utils/toPascalCase.cjs +0 -19
  226. package/dist/node_modules/lucide/dist/esm/shared/src/utils/toPascalCase.cjs.map +0 -1
  227. package/dist/node_modules/lucide/dist/esm/shared/src/utils/toPascalCase.js +0 -17
  228. package/dist/node_modules/lucide/dist/esm/shared/src/utils/toPascalCase.js.map +0 -1
@@ -0,0 +1,181 @@
1
+ 'use strict';
2
+
3
+ const defaultActions = [
4
+ {
5
+ id: "delete",
6
+ icon: `<i data-lucide="trash-2" style="width:16px; height:16px;"></i>`,
7
+ tooltip: "Delete Node",
8
+ group: "danger",
9
+ targets: ["node", "edge", "group"],
10
+ style: {
11
+ color: "#ff453a",
12
+ hoverColor: "rgba(255, 69, 58, 0.2)"
13
+ },
14
+ handler: (target, engine, event) => {
15
+ if (target.kind === "node") {
16
+ engine.setSelectedNodeIds([target.id]);
17
+ }
18
+ else if (target.kind === "edge") {
19
+ engine.setSelectedEdgeIds([target.id]);
20
+ }
21
+ else {
22
+ // Group: data is array of nodeIds
23
+ engine.setSelectedNodeIds(target.data);
24
+ }
25
+ engine.deleteSelection();
26
+ },
27
+ },
28
+ {
29
+ id: "duplicate",
30
+ icon: `<i data-lucide="copy" style="width:16px; height:16px;"></i>`,
31
+ tooltip: "Duplicate",
32
+ group: "primary",
33
+ targets: ["node"],
34
+ handler: (target, engine, event) => {
35
+ if (target.kind === "node") {
36
+ engine.duplicateNode(target.id);
37
+ }
38
+ },
39
+ },
40
+ {
41
+ id: "edit-content",
42
+ icon: `<i data-lucide="edit-3" style="width:16px; height:16px;"></i>`,
43
+ tooltip: "Edit Content",
44
+ group: "primary",
45
+ targets: ["node"],
46
+ handler: (target, engine, event) => {
47
+ engine.emit("contextpad:edit-content", { target });
48
+ },
49
+ },
50
+ {
51
+ id: "connect",
52
+ icon: `<i data-lucide="link-2" style="width:16px; height:16px;"></i>`,
53
+ tooltip: "Connect",
54
+ group: "primary",
55
+ targets: ["node", "group"],
56
+ handler: (target, engine, event) => {
57
+ const isEnabled = engine.isConnectionModeEnabled();
58
+ engine.setConnectionModeEnabled(!isEnabled);
59
+ },
60
+ isActive: (target, engine) => {
61
+ return engine.isConnectionModeEnabled();
62
+ }
63
+ },
64
+ {
65
+ id: "rotate",
66
+ icon: `<i data-lucide="rotate-cw" style="width:16px; height:16px;"></i>`,
67
+ tooltip: "Toggle Rotation Mode",
68
+ group: "secondary",
69
+ targets: ["node"],
70
+ handler: (target, engine, event) => {
71
+ if (target.kind === "node") {
72
+ const isEnabled = engine.isRotationModeEnabled();
73
+ engine.setRotationModeEnabled(!isEnabled);
74
+ }
75
+ },
76
+ isActive: (target, engine) => {
77
+ return engine.isRotationModeEnabled();
78
+ }
79
+ },
80
+ {
81
+ id: "reshape",
82
+ icon: `<i data-lucide="maximize-2" style="width:16px; height:16px;"></i>`,
83
+ tooltip: "Toggle Resize Mode",
84
+ group: "secondary",
85
+ targets: ["node"],
86
+ handler: (target, engine, event) => {
87
+ if (target.kind === "node") {
88
+ const isEnabled = engine.isResizeModeEnabled();
89
+ engine.setResizeModeEnabled(!isEnabled);
90
+ }
91
+ },
92
+ isActive: (target, engine) => {
93
+ return engine.isResizeModeEnabled();
94
+ }
95
+ },
96
+ {
97
+ id: "style",
98
+ icon: `<i data-lucide="palette" style="width:16px; height:16px;"></i>`,
99
+ tooltip: "Change Style",
100
+ group: "secondary",
101
+ targets: ["node"],
102
+ handler: (target, engine, event) => {
103
+ engine.emit("contextpad:style", { target });
104
+ },
105
+ },
106
+ {
107
+ id: "bringToFront",
108
+ icon: `<i data-lucide="arrow-up" style="width:16px; height:16px;"></i>`,
109
+ tooltip: "Bring to Front",
110
+ group: "secondary",
111
+ targets: ["node"],
112
+ handler: (target, engine, event) => {
113
+ if (target.kind === "node") {
114
+ engine.bringToFront([target.id]);
115
+ }
116
+ }
117
+ },
118
+ {
119
+ id: "sendToBack",
120
+ icon: `<i data-lucide="arrow-down" style="width:16px; height:16px;"></i>`,
121
+ tooltip: "Send to Back",
122
+ group: "secondary",
123
+ targets: ["node"],
124
+ handler: (target, engine, event) => {
125
+ if (target.kind === "node") {
126
+ engine.sendToBack([target.id]);
127
+ }
128
+ }
129
+ },
130
+ {
131
+ id: "toggle-dashed",
132
+ icon: `<i data-lucide="square-dashed" style="width:16px; height:16px;"></i>`,
133
+ tooltip: "Toggle Dashed",
134
+ group: "primary",
135
+ targets: ["edge"],
136
+ handler: (target, engine, event) => {
137
+ if (target.kind === "edge") {
138
+ engine.toggleConnectionStyle(target.id, 'dashed');
139
+ }
140
+ },
141
+ isActive: (target, engine) => {
142
+ const conn = engine.getConnections().find((c) => c.id === target.id);
143
+ return (conn === null || conn === void 0 ? void 0 : conn.dashed) === true;
144
+ }
145
+ },
146
+ {
147
+ id: "toggle-animated",
148
+ icon: `<i data-lucide="activity" style="width:16px; height:16px;"></i>`,
149
+ tooltip: "Toggle Animation",
150
+ group: "primary",
151
+ targets: ["edge"],
152
+ handler: (target, engine, event) => {
153
+ if (target.kind === "edge") {
154
+ engine.toggleConnectionStyle(target.id, 'animated');
155
+ }
156
+ },
157
+ isActive: (target, engine) => {
158
+ const conn = engine.getConnections().find((c) => c.id === target.id);
159
+ return (conn === null || conn === void 0 ? void 0 : conn.animated) === true;
160
+ },
161
+ isVisible: (target, engine) => {
162
+ if (target.kind !== "edge")
163
+ return false;
164
+ const conn = engine.getConnections().find((c) => c.id === target.id);
165
+ return (conn === null || conn === void 0 ? void 0 : conn.dashed) === true;
166
+ }
167
+ },
168
+ {
169
+ id: "ungroup",
170
+ icon: `<i data-lucide="ungroup" style="width:16px; height:16px;"></i>`,
171
+ tooltip: "Ungroup",
172
+ group: "primary",
173
+ targets: ["group"],
174
+ handler: (target, engine, event) => {
175
+ engine.ungroupSelection();
176
+ }
177
+ }
178
+ ];
179
+
180
+ exports.defaultActions = defaultActions;
181
+ //# sourceMappingURL=defaults-B8cG7xLG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaults-B8cG7xLG.js","sources":["../src/contextpad/defaults.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,179 @@
1
+ const defaultActions = [
2
+ {
3
+ id: "delete",
4
+ icon: `<i data-lucide="trash-2" style="width:16px; height:16px;"></i>`,
5
+ tooltip: "Delete Node",
6
+ group: "danger",
7
+ targets: ["node", "edge", "group"],
8
+ style: {
9
+ color: "#ff453a",
10
+ hoverColor: "rgba(255, 69, 58, 0.2)"
11
+ },
12
+ handler: (target, engine, event) => {
13
+ if (target.kind === "node") {
14
+ engine.setSelectedNodeIds([target.id]);
15
+ }
16
+ else if (target.kind === "edge") {
17
+ engine.setSelectedEdgeIds([target.id]);
18
+ }
19
+ else {
20
+ // Group: data is array of nodeIds
21
+ engine.setSelectedNodeIds(target.data);
22
+ }
23
+ engine.deleteSelection();
24
+ },
25
+ },
26
+ {
27
+ id: "duplicate",
28
+ icon: `<i data-lucide="copy" style="width:16px; height:16px;"></i>`,
29
+ tooltip: "Duplicate",
30
+ group: "primary",
31
+ targets: ["node"],
32
+ handler: (target, engine, event) => {
33
+ if (target.kind === "node") {
34
+ engine.duplicateNode(target.id);
35
+ }
36
+ },
37
+ },
38
+ {
39
+ id: "edit-content",
40
+ icon: `<i data-lucide="edit-3" style="width:16px; height:16px;"></i>`,
41
+ tooltip: "Edit Content",
42
+ group: "primary",
43
+ targets: ["node"],
44
+ handler: (target, engine, event) => {
45
+ engine.emit("contextpad:edit-content", { target });
46
+ },
47
+ },
48
+ {
49
+ id: "connect",
50
+ icon: `<i data-lucide="link-2" style="width:16px; height:16px;"></i>`,
51
+ tooltip: "Connect",
52
+ group: "primary",
53
+ targets: ["node", "group"],
54
+ handler: (target, engine, event) => {
55
+ const isEnabled = engine.isConnectionModeEnabled();
56
+ engine.setConnectionModeEnabled(!isEnabled);
57
+ },
58
+ isActive: (target, engine) => {
59
+ return engine.isConnectionModeEnabled();
60
+ }
61
+ },
62
+ {
63
+ id: "rotate",
64
+ icon: `<i data-lucide="rotate-cw" style="width:16px; height:16px;"></i>`,
65
+ tooltip: "Toggle Rotation Mode",
66
+ group: "secondary",
67
+ targets: ["node"],
68
+ handler: (target, engine, event) => {
69
+ if (target.kind === "node") {
70
+ const isEnabled = engine.isRotationModeEnabled();
71
+ engine.setRotationModeEnabled(!isEnabled);
72
+ }
73
+ },
74
+ isActive: (target, engine) => {
75
+ return engine.isRotationModeEnabled();
76
+ }
77
+ },
78
+ {
79
+ id: "reshape",
80
+ icon: `<i data-lucide="maximize-2" style="width:16px; height:16px;"></i>`,
81
+ tooltip: "Toggle Resize Mode",
82
+ group: "secondary",
83
+ targets: ["node"],
84
+ handler: (target, engine, event) => {
85
+ if (target.kind === "node") {
86
+ const isEnabled = engine.isResizeModeEnabled();
87
+ engine.setResizeModeEnabled(!isEnabled);
88
+ }
89
+ },
90
+ isActive: (target, engine) => {
91
+ return engine.isResizeModeEnabled();
92
+ }
93
+ },
94
+ {
95
+ id: "style",
96
+ icon: `<i data-lucide="palette" style="width:16px; height:16px;"></i>`,
97
+ tooltip: "Change Style",
98
+ group: "secondary",
99
+ targets: ["node"],
100
+ handler: (target, engine, event) => {
101
+ engine.emit("contextpad:style", { target });
102
+ },
103
+ },
104
+ {
105
+ id: "bringToFront",
106
+ icon: `<i data-lucide="arrow-up" style="width:16px; height:16px;"></i>`,
107
+ tooltip: "Bring to Front",
108
+ group: "secondary",
109
+ targets: ["node"],
110
+ handler: (target, engine, event) => {
111
+ if (target.kind === "node") {
112
+ engine.bringToFront([target.id]);
113
+ }
114
+ }
115
+ },
116
+ {
117
+ id: "sendToBack",
118
+ icon: `<i data-lucide="arrow-down" style="width:16px; height:16px;"></i>`,
119
+ tooltip: "Send to Back",
120
+ group: "secondary",
121
+ targets: ["node"],
122
+ handler: (target, engine, event) => {
123
+ if (target.kind === "node") {
124
+ engine.sendToBack([target.id]);
125
+ }
126
+ }
127
+ },
128
+ {
129
+ id: "toggle-dashed",
130
+ icon: `<i data-lucide="square-dashed" style="width:16px; height:16px;"></i>`,
131
+ tooltip: "Toggle Dashed",
132
+ group: "primary",
133
+ targets: ["edge"],
134
+ handler: (target, engine, event) => {
135
+ if (target.kind === "edge") {
136
+ engine.toggleConnectionStyle(target.id, 'dashed');
137
+ }
138
+ },
139
+ isActive: (target, engine) => {
140
+ const conn = engine.getConnections().find((c) => c.id === target.id);
141
+ return (conn === null || conn === void 0 ? void 0 : conn.dashed) === true;
142
+ }
143
+ },
144
+ {
145
+ id: "toggle-animated",
146
+ icon: `<i data-lucide="activity" style="width:16px; height:16px;"></i>`,
147
+ tooltip: "Toggle Animation",
148
+ group: "primary",
149
+ targets: ["edge"],
150
+ handler: (target, engine, event) => {
151
+ if (target.kind === "edge") {
152
+ engine.toggleConnectionStyle(target.id, 'animated');
153
+ }
154
+ },
155
+ isActive: (target, engine) => {
156
+ const conn = engine.getConnections().find((c) => c.id === target.id);
157
+ return (conn === null || conn === void 0 ? void 0 : conn.animated) === true;
158
+ },
159
+ isVisible: (target, engine) => {
160
+ if (target.kind !== "edge")
161
+ return false;
162
+ const conn = engine.getConnections().find((c) => c.id === target.id);
163
+ return (conn === null || conn === void 0 ? void 0 : conn.dashed) === true;
164
+ }
165
+ },
166
+ {
167
+ id: "ungroup",
168
+ icon: `<i data-lucide="ungroup" style="width:16px; height:16px;"></i>`,
169
+ tooltip: "Ungroup",
170
+ group: "primary",
171
+ targets: ["group"],
172
+ handler: (target, engine, event) => {
173
+ engine.ungroupSelection();
174
+ }
175
+ }
176
+ ];
177
+
178
+ export { defaultActions };
179
+ //# sourceMappingURL=defaults-Bp5gmH4b.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaults-Bp5gmH4b.js","sources":["../src/contextpad/defaults.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -102,6 +102,8 @@ function createDragBehavior(api) {
102
102
  initialPos.set(id, { x: freshNode.x, y: freshNode.y });
103
103
  }
104
104
  });
105
+ // Force initial visual refresh during START to ensure engine builds the Ghost layers correctly
106
+ api.updateNodePosition(d.id, d.x, d.y, false, false);
105
107
  })
106
108
  .on("drag", function (event, d) {
107
109
  if (!event.sourceEvent)
@@ -125,14 +127,78 @@ function createDragBehavior(api) {
125
127
  newX = snapped.x;
126
128
  newY = snapped.y;
127
129
  }
128
- api.updateNodePosition(nodeId, newX, newY, false);
130
+ api.updateNodePosition(nodeId, newX, newY, false, true);
129
131
  // Update visual transform for immediate feedback (only for the dragged selection elements in the DOM)
130
- const nodeG = d3__namespace.select(`g.placed-node[data-node-id="${nodeId}"]`);
132
+ const nodeG = d3__namespace.select(`g.placed-node[data-id="${nodeId}"]`);
131
133
  if (!nodeG.empty()) {
132
134
  const nodeData = api.getPlacedNodes().find(n => n.id === nodeId);
133
135
  nodeG.attr("transform", `translate(${newX},${newY}) rotate(${(nodeData === null || nodeData === void 0 ? void 0 : nodeData.rotation) || 0})`);
136
+ // Also update Ghost preview counter-transformation for accuracy
137
+ const ghostG = nodeG.select(".node-ghost");
138
+ if (!ghostG.empty()) {
139
+ const startPos = initialPos.get(nodeId);
140
+ if (startPos) {
141
+ const currentRotation = (nodeData === null || nodeData === void 0 ? void 0 : nodeData.rotation) || 0;
142
+ // Assuming drag start rotation is original rotation
143
+ const ghostRotation = currentRotation;
144
+ const dx = startPos.x - newX;
145
+ const dy = startPos.y - newY;
146
+ ghostG.attr("transform", `rotate(${-currentRotation}) translate(${dx},${dy}) rotate(${ghostRotation})`);
147
+ }
148
+ }
134
149
  }
135
150
  });
151
+ // Update Visual Group boundaries if selection covers full groups
152
+ if (api.canvasObject.visualGroups) {
153
+ const apiGroups = api.getVisualGroups();
154
+ apiGroups.forEach(group => {
155
+ const allMembersInSelection = group.nodeIds.every(nid => selection.includes(nid));
156
+ if (allMembersInSelection) {
157
+ // This group should move in sync
158
+ const groupBoundG = d3__namespace.select(`g.visual-group-boundary.${group.id}`);
159
+ if (!groupBoundG.empty()) {
160
+ // We need to find the new boundary transform.
161
+ // Since skipVisualRefresh skipped boundary re-calc, we shift it manually by delta.
162
+ // Use ANY member node to find delta
163
+ const memberId = group.nodeIds[0];
164
+ const sP = initialPointers.get(memberId);
165
+ if (sP) {
166
+ const dx = px - sP.x;
167
+ const dy = py - sP.y;
168
+ // Origin of group boundary is original calculated bounds.
169
+ const originalBounds = api.getGroupBounds(group.id, new Map(api.getPlacedNodes().map(n => {
170
+ const sD = initialPos.get(n.id);
171
+ return [n.id, sD ? Object.assign(Object.assign({}, n), { x: sD.x, y: sD.y }) : n];
172
+ })));
173
+ if (originalBounds) {
174
+ groupBoundG.attr("transform", `translate(${originalBounds.x + dx}, ${originalBounds.y + dy})`);
175
+ }
176
+ }
177
+ }
178
+ }
179
+ });
180
+ }
181
+ // Implement edge panning
182
+ if (event.sourceEvent && api.panBy) {
183
+ const cx = event.sourceEvent.clientX;
184
+ const cy = event.sourceEvent.clientY;
185
+ const rect = api.svgNode.getBoundingClientRect();
186
+ let panX = 0;
187
+ let panY = 0;
188
+ const zone = 60;
189
+ const speed = 8; // Use more controlled speed
190
+ if (cx < rect.left + zone)
191
+ panX = speed;
192
+ if (cx > rect.right - zone)
193
+ panX = -8;
194
+ if (cy < rect.top + zone)
195
+ panY = speed;
196
+ if (cy > rect.bottom - zone)
197
+ panY = -8;
198
+ if ((panX !== 0 || panY !== 0) && api.panBy) {
199
+ api.panBy(panX, panY);
200
+ }
201
+ }
136
202
  if (guideRaf !== null) {
137
203
  cancelAnimationFrame(guideRaf);
138
204
  }
@@ -173,7 +239,7 @@ function createDragBehavior(api) {
173
239
  finalX = snapped.x;
174
240
  finalY = snapped.y;
175
241
  }
176
- api.updateNodePosition(nodeId, finalX, finalY, false);
242
+ api.updateNodePosition(nodeId, finalX, finalY, false, false);
177
243
  }
178
244
  initialPointers.delete(nodeId);
179
245
  initialPos.delete(nodeId);
@@ -1 +1 @@
1
- {"version":3,"file":"drag.cjs","sources":["../../src/events/drag.ts"],"sourcesContent":[null],"names":["d3","snapToGrid","getNodeRect"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA+BA,SAAS,WAAW,CAClB,GAA8C,EAC9C,GAAW,EACX,GAAW,EACX,GAAW,EAAA;IAEX,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC;IACpC,IAAI,CAAC,QAAQ,EAAE;QACb,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;QACjC;;AAEF,IAAA,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;AAC1C,IAAA,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;AAC5C;AAEA,SAAS,aAAa,CACpB,QAAsD,EACtD,IAAuB,EAAA;;AAEvB,IAAA,MAAM,QAAQ,GAAqB;AACjC,QAAA,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,SAAS,EAAE,QAAQ,CAAC,SAAS;KAC9B;AAED,IAAA,IAAI,IAAI,KAAK,MAAM,EAAE;QACnB,OAAO;YACL,OAAO,EAAE,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,QAAQ,CAAC,UAAU,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,QAAQ,CAAC,OAAO;YACzD,KAAK,EAAE,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,QAAQ,CAAC,UAAU,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,KAAK,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,QAAQ,CAAC,KAAK;YACnD,KAAK,EAAE,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,QAAQ,CAAC,UAAU,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,KAAK,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,QAAQ,CAAC,KAAK;YACnD,MAAM,EAAE,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,QAAQ,CAAC,UAAU,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,QAAQ,CAAC,MAAM;YACtD,SAAS,EAAE,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,QAAQ,CAAC,UAAU,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,QAAQ,CAAC,SAAS;SAChE;;IAGH,OAAO;QACL,OAAO,EAAE,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,QAAQ,CAAC,YAAY,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,QAAQ,CAAC,OAAO;QAC3D,KAAK,EAAE,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,QAAQ,CAAC,YAAY,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,KAAK,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,QAAQ,CAAC,KAAK;QACrD,KAAK,EAAE,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,QAAQ,CAAC,YAAY,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,KAAK,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,QAAQ,CAAC,KAAK;QACrD,MAAM,EAAE,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,QAAQ,CAAC,YAAY,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,QAAQ,CAAC,MAAM;QACxD,SAAS,EAAE,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,QAAQ,CAAC,YAAY,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,QAAQ,CAAC,SAAS;KAClE;AACH;AAEM,SAAU,kBAAkB,CAAC,GAAY,EAAA;IAC7C,IAAI,QAAQ,GAAkB,IAAI;AAClC,IAAA,MAAM,UAAU,GAAG,IAAI,GAAG,EAAoC;AAC9D,IAAA,MAAM,eAAe,GAAG,IAAI,GAAG,EAAoC;IAEnE,OAAOA,aAAE,CAAC,IAAI;AACX,SAAA,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK,EAAE,CAAC,EAAA;QAC7B,IAAI,CAAC,KAAK,CAAC,WAAW;YAAE;AACxB,QAAA,KAAK,CAAC,WAAW,CAAC,eAAe,EAAE;AACnC,QAAAA,aAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC;AAEjD,QAAA,MAAM,eAAe,GAAGA,aAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAAC;AACxE,QAAA,IAAI,SAAS,GAAG,GAAG,CAAC,kBAAkB,EAAE;;QAGxC,IAAI,eAAe,EAAE;AACjB,YAAA,MAAM,aAAa,GAAGA,aAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;;AAE9D,YAAA,MAAM,OAAO,GAAGA,aAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;AACxD,YAAA,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AAE1D,YAAA,IAAI,aAAa,IAAI,OAAO,EAAE;gBAC1B,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC;AACzC,gBAAA,GAAG,CAAC,kBAAkB,CAAC,QAAQ,EAAE,0BAA0B,CAAC;gBAC5D,SAAS,GAAG,QAAQ;;AAGpB,gBAAA,GAAG,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC;;;aAEpC;YACH,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;;AAE3B,gBAAA,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AACpC,gBAAA,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;;YAEtB,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC;;QAGpC,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAiB;AACpE,QAAA,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAGA,aAAE,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,YAAY,CAAC;AAE5D,QAAA,SAAS,CAAC,OAAO,CAAC,EAAE,IAAG;AACnB,YAAA,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;AACzC,YAAA,MAAM,SAAS,GAAG,GAAG,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;YAC7D,IAAI,SAAS,EAAE;AACX,gBAAA,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC;;AAE9D,SAAC,CAAC;AACJ,KAAC;AACA,SAAA,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,EAAE,CAAC,EAAA;QAC5B,IAAI,CAAC,KAAK,CAAC,WAAW;YAAE;QACxB,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAiB;AACpE,QAAA,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAGA,aAAE,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,YAAY,CAAC;AAC5D,QAAA,MAAM,SAAS,GAAG,GAAG,CAAC,kBAAkB,EAAE;AAE1C,QAAA,SAAS,CAAC,OAAO,CAAC,MAAM,IAAG;;YACvB,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC;YAC1C,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC;AACrC,YAAA,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM;gBAAE;AAExB,YAAA,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC;AACxB,YAAA,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC;AAExB,YAAA,IAAI,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,EAAE;AACxB,YAAA,IAAI,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,EAAE;AAExB,YAAA,MAAM,QAAQ,GAAG,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,EAAE;YACvD,IAAI,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE;gBAC1C,MAAM,OAAO,GAAGC,kBAAU,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC;AAChD,gBAAA,IAAI,GAAG,OAAO,CAAC,CAAC;AAChB,gBAAA,IAAI,GAAG,OAAO,CAAC,CAAC;;YAGlB,GAAG,CAAC,kBAAkB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC;;YAGjD,MAAM,KAAK,GAAGD,aAAE,CAAC,MAAM,CAAC,CAA+B,4BAAA,EAAA,MAAM,CAAI,EAAA,CAAA,CAAC;AAClE,YAAA,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE;AAChB,gBAAA,MAAM,QAAQ,GAAG,GAAG,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC;gBAChE,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAa,UAAA,EAAA,IAAI,CAAI,CAAA,EAAA,IAAI,CAAY,SAAA,EAAA,CAAA,QAAQ,KAAR,IAAA,IAAA,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,KAAI,CAAC,CAAG,CAAA,CAAA,CAAC;;AAEhG,SAAC,CAAC;AAEF,QAAA,IAAI,QAAQ,KAAK,IAAI,EAAE;YACrB,oBAAoB,CAAC,QAAQ,CAAC;;AAEhC,QAAA,QAAQ,GAAG,qBAAqB,CAAC,MAAK;;YAEpC,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1C,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;AACrC,YAAA,IAAI,QAAQ,IAAI,QAAQ,EAAE;AACtB,gBAAA,MAAM,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAC,CAAC;AAC1B,gBAAA,MAAM,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAC,CAAC;AAC1B,gBAAA,qBAAqB,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC;;YAEnE,QAAQ,GAAG,IAAI;AACjB,SAAC,CAAC;AACJ,KAAC;AACA,SAAA,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,EAAE,CAAC,EAAA;;AAC3B,QAAAA,aAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC;AAC1C,QAAA,MAAM,QAAQ,GAAG,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,EAAE;AAEvD,QAAA,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;AACpB,YAAA,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;AAC5B,YAAA,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACvB;;AAGJ,QAAA,MAAM,aAAa,GAAG,GAAG,CAAC,kBAAkB,EAAE;QAC9C,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAiB;AACpE,QAAA,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAGA,aAAE,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,YAAY,CAAC;AAE5D,QAAA,aAAa,CAAC,OAAO,CAAC,MAAM,IAAG;YAC3B,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC;YAC1C,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC;AACrC,YAAA,IAAI,MAAM,IAAI,MAAM,EAAE;AACpB,gBAAA,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC;AACxB,gBAAA,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC;AAExB,gBAAA,IAAI,MAAM,GAAG,MAAM,CAAC,CAAC,GAAG,EAAE;AAC1B,gBAAA,IAAI,MAAM,GAAG,MAAM,CAAC,CAAC,GAAG,EAAE;gBAE1B,IAAI,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE;oBAC1C,MAAM,OAAO,GAAGC,kBAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC;AACpD,oBAAA,MAAM,GAAG,OAAO,CAAC,CAAC;AAClB,oBAAA,MAAM,GAAG,OAAO,CAAC,CAAC;;gBAGpB,GAAG,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;;AAEvD,YAAA,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC;AAC9B,YAAA,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC;AAC7B,SAAC,CAAC;QACF,GAAG,CAAC,YAAY,EAAE;AAElB,QAAA,IAAI,QAAQ,KAAK,IAAI,EAAE;YACrB,oBAAoB,CAAC,QAAQ,CAAC;YAC9B,QAAQ,GAAG,IAAI;;AAEjB,QAAA,IAAI,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE;AAC3B,YAAA,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE;;AAEnD,KAAC,CAAC;AACN;AAEA,SAAS,qBAAqB,CAAC,CAAS,EAAE,CAAS,EAAE,YAAwB,EAAE,GAAY,EAAA;;AACzF,IAAA,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM;QAAE;IAC9B,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,cAAc;IAC3D,IAAI,EAAC,QAAQ,KAAA,IAAA,IAAR,QAAQ,KAAR,MAAA,GAAA,MAAA,GAAA,QAAQ,CAAE,OAAO,CAAA;QAAE;IAExB,MAAM,KAAK,GAAG,GAAG,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,YAAY,CAAC,EAAE,CAAC;AACxE,IAAA,MAAM,WAAW,GAAG,GAAG,CAAC,YAAY,CAAC,MAAM;IAC3C,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE;IAEnC,MAAM,SAAS,GAAG,CAAA,EAAA,GAAA,QAAQ,CAAC,kBAAkB,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,CAAC;IAClD,MAAM,SAAS,GAAG,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC;IACjD,MAAM,WAAW,GAAG,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC;AACrD,IAAA,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,KAAK,MAAM;AAEhD,IAAA,MAAM,QAAQ,GAAGC,mBAAW,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAM,YAAY,CAAA,EAAA,EAAE,CAAC,EAAE,CAAC,EAAA,CAAA,EAAI,GAAG,CAAC;AAC5D,IAAA,IAAI,CAAC,QAAQ;QAAE;AAEf,IAAA,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAwC;AAC1E,IAAA,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAwC;AAC5E,IAAA,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAwC;AAC5E,IAAA,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAwC;AAE9E,IAAA,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,KAAI;QACtB,MAAM,SAAS,GAAGA,mBAAW,CAAC,KAAK,EAAE,GAAG,CAAC;AACzC,QAAA,IAAI,CAAC,SAAS;YAAE;AAEhB,QAAA,MAAM,YAAY,GAAsD;YACtE,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE;YACtC,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACtC,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE;SACxC;AACD,QAAA,MAAM,aAAa,GAAsD;YACvE,EAAE,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE;YACvC,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACvC,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE;SACzC;AACD,QAAA,YAAY,CAAC,OAAO,CAAC,CAAC,EAAE,KAAI;AAC1B,YAAA,aAAa,CAAC,OAAO,CAAC,CAAC,EAAE,KAAI;AAC3B,gBAAA,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,SAAS,EAAE;AAC9C,oBAAA,MAAM,KAAK,GAAG,CAAC,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC;AACvC,oBAAA,MAAM,SAAS,GAAG,EAAE,CAAC,IAAI,KAAK,QAAQ,IAAI,EAAE,CAAC,IAAI,KAAK;AACpD,0BAAE;0BACA,kBAAkB;AACtB,oBAAA,WAAW,CACT,SAAS,EACT,KAAK,EACL,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EACrC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAC5C;;AAEL,aAAC,CAAC;AACJ,SAAC,CAAC;AAEF,QAAA,MAAM,YAAY,GAAsD;YACtE,EAAE,KAAK,EAAE,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE;YACrC,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACtC,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE;SACzC;AACD,QAAA,MAAM,aAAa,GAAsD;YACvE,EAAE,KAAK,EAAE,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE;YACtC,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACvC,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE;SAC1C;AACD,QAAA,YAAY,CAAC,OAAO,CAAC,CAAC,EAAE,KAAI;AAC1B,YAAA,aAAa,CAAC,OAAO,CAAC,CAAC,EAAE,KAAI;AAC3B,gBAAA,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,SAAS,EAAE;AAC9C,oBAAA,MAAM,KAAK,GAAG,CAAC,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC;AACvC,oBAAA,MAAM,SAAS,GAAG,EAAE,CAAC,IAAI,KAAK,QAAQ,IAAI,EAAE,CAAC,IAAI,KAAK;AACpD,0BAAE;0BACA,oBAAoB;AACxB,oBAAA,WAAW,CACT,SAAS,EACT,KAAK,EACL,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EACvC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,CAC1C;;AAEL,aAAC,CAAC;AACJ,SAAC,CAAC;AACJ,KAAC,CAAC;IAEF,MAAM,OAAO,GAAG,MAAM;AAEtB,IAAA,SAAS,YAAY,CAAC,GAA8C,EAAE,KAAuB,EAAA;;QAC3F,IAAI,CAAC,KAAK,CAAC,OAAO;YAAE;QACpB,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,IAAI,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,KAAK,CAAC,SAAS,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAI,CAAC,GAAG,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,KAAK,IAAI,IAAI;QACxE,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,MAAM,KAAI;AAC5B,YAAA,WAAW,CAAC,MAAM,CAAC,MAAM;AACtB,iBAAA,IAAI,CAAC,IAAI,EAAE,MAAM;AACjB,iBAAA,IAAI,CAAC,IAAI,EAAE,MAAM;AACjB,iBAAA,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAQ,GAAG,KAAK,CAAC,GAAG,GAAG,EAAE;AAC7C,iBAAA,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC,GAAG,GAAG,EAAE;AAC5C,iBAAA,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK;AAC1B,iBAAA,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,KAAK;AAChC,iBAAA,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC;AACnC,SAAC,CAAC;;AAGJ,IAAA,SAAS,cAAc,CAAC,GAA8C,EAAE,KAAuB,EAAA;;QAC7F,IAAI,CAAC,KAAK,CAAC,OAAO;YAAE;QACpB,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,IAAI,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,KAAK,CAAC,SAAS,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAI,CAAC,GAAG,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,KAAK,IAAI,IAAI;QACxE,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,MAAM,KAAI;AAC5B,YAAA,WAAW,CAAC,MAAM,CAAC,MAAM;AACtB,iBAAA,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAQ,GAAG,KAAK,CAAC,GAAG,GAAG,EAAE;AAC7C,iBAAA,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC,GAAG,GAAG,EAAE;AAC5C,iBAAA,IAAI,CAAC,IAAI,EAAE,MAAM;AACjB,iBAAA,IAAI,CAAC,IAAI,EAAE,MAAM;AACjB,iBAAA,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK;AAC1B,iBAAA,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,KAAK;AAChC,iBAAA,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC;AACnC,SAAC,CAAC;;AAGJ,IAAA,YAAY,CAAC,kBAAkB,EAAE,SAAS,CAAC;AAC3C,IAAA,cAAc,CAAC,oBAAoB,EAAE,SAAS,CAAC;AAC/C,IAAA,YAAY,CAAC,oBAAoB,EAAE,WAAW,CAAC;AAC/C,IAAA,cAAc,CAAC,sBAAsB,EAAE,WAAW,CAAC;AACrD;;;;"}
1
+ {"version":3,"file":"drag.cjs","sources":["../../src/events/drag.ts"],"sourcesContent":[null],"names":["d3","snapToGrid","getNodeRect"],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import * as d3 from "d3";
2
- import { PlacedNode, CanvasElements } from "../model/interface.js";
2
+ import { PlacedNode, CanvasElements, VisualGroup } from "../model/interface.js";
3
3
  import { Config } from "../model/configurationModel.js";
4
4
  import { ShapeRegistry } from "../nodes/registry.js";
5
5
  export interface DragApi {
6
- updateNodePosition(id: string, x: number, y: number, recordHistory?: boolean): void;
6
+ updateNodePosition(id: string, x: number, y: number, recordHistory?: boolean, skipVisualRefresh?: boolean): void;
7
7
  getPlacedNodes(): PlacedNode[];
8
8
  config: Config;
9
9
  shapeRegistry: ShapeRegistry;
@@ -15,5 +15,7 @@ export interface DragApi {
15
15
  beginOperation(nodeId: string, type: 'drag' | 'rotate' | 'resize'): void;
16
16
  endOperation(): void;
17
17
  getSelectedNodeIds(): string[];
18
+ getVisualGroups(): VisualGroup[];
19
+ getGroupBounds(groupId: string, overrideNodes?: Map<string, PlacedNode>): any | null;
18
20
  }
19
21
  export declare function createDragBehavior(api: DragApi): d3.DragBehavior<SVGGElement, PlacedNode, PlacedNode | d3.SubjectPosition>;