@zenode/designer 3.5.7 → 3.5.9

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 (217) hide show
  1. package/README.md +3 -3
  2. package/dist/defaultConfig.cjs +542 -0
  3. package/dist/defaultConfig.cjs.map +1 -0
  4. package/dist/defaultConfig.js +540 -0
  5. package/dist/defaultConfig.js.map +1 -0
  6. package/dist/defaults-B8cG7xLG.js +181 -0
  7. package/dist/defaults-B8cG7xLG.js.map +1 -0
  8. package/dist/defaults-Bp5gmH4b.js +179 -0
  9. package/dist/defaults-Bp5gmH4b.js.map +1 -0
  10. package/dist/events/mouseClick.js +34 -34
  11. package/dist/events/mouseMove.js +82 -82
  12. package/dist/testConfig.cjs +553 -0
  13. package/dist/testConfig.cjs.map +1 -0
  14. package/dist/testConfig.js +551 -0
  15. package/dist/testConfig.js.map +1 -0
  16. package/package.json +1 -1
  17. package/dist/config/testXML.cjs +0 -17
  18. package/dist/config/testXML.cjs.map +0 -1
  19. package/dist/config/testXML.d.ts +0 -1
  20. package/dist/config/testXML.js +0 -15
  21. package/dist/config/testXML.js.map +0 -1
  22. package/dist/core/serialization.cjs +0 -123
  23. package/dist/core/serialization.cjs.map +0 -1
  24. package/dist/core/serialization.d.ts +0 -26
  25. package/dist/core/serialization.js +0 -121
  26. package/dist/core/serialization.js.map +0 -1
  27. package/dist/events/mouseClick.cjs +0 -36
  28. package/dist/events/mouseClick.cjs.map +0 -1
  29. package/dist/events/mouseMove.cjs +0 -104
  30. package/dist/events/mouseMove.cjs.map +0 -1
  31. package/dist/icons.bundle.js +0 -763
  32. package/dist/icons.bundle.js.map +0 -1
  33. package/dist/icons.cjs +0 -105
  34. package/dist/icons.cjs.map +0 -1
  35. package/dist/icons.d.ts +0 -7
  36. package/dist/icons.js +0 -89
  37. package/dist/icons.js.map +0 -1
  38. package/dist/node_modules/lucide/dist/esm/createElement.cjs +0 -36
  39. package/dist/node_modules/lucide/dist/esm/createElement.cjs.map +0 -1
  40. package/dist/node_modules/lucide/dist/esm/createElement.js +0 -34
  41. package/dist/node_modules/lucide/dist/esm/createElement.js.map +0 -1
  42. package/dist/node_modules/lucide/dist/esm/defaultAttributes.cjs +0 -23
  43. package/dist/node_modules/lucide/dist/esm/defaultAttributes.cjs.map +0 -1
  44. package/dist/node_modules/lucide/dist/esm/defaultAttributes.js +0 -21
  45. package/dist/node_modules/lucide/dist/esm/defaultAttributes.js.map +0 -1
  46. package/dist/node_modules/lucide/dist/esm/icons/arrow-down-right.cjs +0 -16
  47. package/dist/node_modules/lucide/dist/esm/icons/arrow-down-right.cjs.map +0 -1
  48. package/dist/node_modules/lucide/dist/esm/icons/arrow-down-right.js +0 -14
  49. package/dist/node_modules/lucide/dist/esm/icons/arrow-down-right.js.map +0 -1
  50. package/dist/node_modules/lucide/dist/esm/icons/arrow-right.cjs +0 -16
  51. package/dist/node_modules/lucide/dist/esm/icons/arrow-right.cjs.map +0 -1
  52. package/dist/node_modules/lucide/dist/esm/icons/arrow-right.js +0 -14
  53. package/dist/node_modules/lucide/dist/esm/icons/arrow-right.js.map +0 -1
  54. package/dist/node_modules/lucide/dist/esm/icons/arrow-up-right.cjs +0 -16
  55. package/dist/node_modules/lucide/dist/esm/icons/arrow-up-right.cjs.map +0 -1
  56. package/dist/node_modules/lucide/dist/esm/icons/arrow-up-right.js +0 -14
  57. package/dist/node_modules/lucide/dist/esm/icons/arrow-up-right.js.map +0 -1
  58. package/dist/node_modules/lucide/dist/esm/icons/box.cjs +0 -22
  59. package/dist/node_modules/lucide/dist/esm/icons/box.cjs.map +0 -1
  60. package/dist/node_modules/lucide/dist/esm/icons/box.js +0 -20
  61. package/dist/node_modules/lucide/dist/esm/icons/box.js.map +0 -1
  62. package/dist/node_modules/lucide/dist/esm/icons/chevron-down.cjs +0 -13
  63. package/dist/node_modules/lucide/dist/esm/icons/chevron-down.cjs.map +0 -1
  64. package/dist/node_modules/lucide/dist/esm/icons/chevron-down.js +0 -11
  65. package/dist/node_modules/lucide/dist/esm/icons/chevron-down.js.map +0 -1
  66. package/dist/node_modules/lucide/dist/esm/icons/chevron-right.cjs +0 -13
  67. package/dist/node_modules/lucide/dist/esm/icons/chevron-right.cjs.map +0 -1
  68. package/dist/node_modules/lucide/dist/esm/icons/chevron-right.js +0 -11
  69. package/dist/node_modules/lucide/dist/esm/icons/chevron-right.js.map +0 -1
  70. package/dist/node_modules/lucide/dist/esm/icons/circle-alert.cjs +0 -17
  71. package/dist/node_modules/lucide/dist/esm/icons/circle-alert.cjs.map +0 -1
  72. package/dist/node_modules/lucide/dist/esm/icons/circle-alert.js +0 -15
  73. package/dist/node_modules/lucide/dist/esm/icons/circle-alert.js.map +0 -1
  74. package/dist/node_modules/lucide/dist/esm/icons/circle-check-big.cjs +0 -16
  75. package/dist/node_modules/lucide/dist/esm/icons/circle-check-big.cjs.map +0 -1
  76. package/dist/node_modules/lucide/dist/esm/icons/circle-check-big.js +0 -14
  77. package/dist/node_modules/lucide/dist/esm/icons/circle-check-big.js.map +0 -1
  78. package/dist/node_modules/lucide/dist/esm/icons/circle-question-mark.cjs +0 -17
  79. package/dist/node_modules/lucide/dist/esm/icons/circle-question-mark.cjs.map +0 -1
  80. package/dist/node_modules/lucide/dist/esm/icons/circle-question-mark.js +0 -15
  81. package/dist/node_modules/lucide/dist/esm/icons/circle-question-mark.js.map +0 -1
  82. package/dist/node_modules/lucide/dist/esm/icons/circle.cjs +0 -13
  83. package/dist/node_modules/lucide/dist/esm/icons/circle.cjs.map +0 -1
  84. package/dist/node_modules/lucide/dist/esm/icons/circle.js +0 -11
  85. package/dist/node_modules/lucide/dist/esm/icons/circle.js.map +0 -1
  86. package/dist/node_modules/lucide/dist/esm/icons/cloud.cjs +0 -13
  87. package/dist/node_modules/lucide/dist/esm/icons/cloud.cjs.map +0 -1
  88. package/dist/node_modules/lucide/dist/esm/icons/cloud.js +0 -11
  89. package/dist/node_modules/lucide/dist/esm/icons/cloud.js.map +0 -1
  90. package/dist/node_modules/lucide/dist/esm/icons/copy.cjs +0 -16
  91. package/dist/node_modules/lucide/dist/esm/icons/copy.cjs.map +0 -1
  92. package/dist/node_modules/lucide/dist/esm/icons/copy.js +0 -14
  93. package/dist/node_modules/lucide/dist/esm/icons/copy.js.map +0 -1
  94. package/dist/node_modules/lucide/dist/esm/icons/database.cjs +0 -17
  95. package/dist/node_modules/lucide/dist/esm/icons/database.cjs.map +0 -1
  96. package/dist/node_modules/lucide/dist/esm/icons/database.js +0 -15
  97. package/dist/node_modules/lucide/dist/esm/icons/database.js.map +0 -1
  98. package/dist/node_modules/lucide/dist/esm/icons/diamond.cjs +0 -20
  99. package/dist/node_modules/lucide/dist/esm/icons/diamond.cjs.map +0 -1
  100. package/dist/node_modules/lucide/dist/esm/icons/diamond.js +0 -18
  101. package/dist/node_modules/lucide/dist/esm/icons/diamond.js.map +0 -1
  102. package/dist/node_modules/lucide/dist/esm/icons/download.cjs +0 -17
  103. package/dist/node_modules/lucide/dist/esm/icons/download.cjs.map +0 -1
  104. package/dist/node_modules/lucide/dist/esm/icons/download.js +0 -15
  105. package/dist/node_modules/lucide/dist/esm/icons/download.js.map +0 -1
  106. package/dist/node_modules/lucide/dist/esm/icons/eye-off.cjs +0 -28
  107. package/dist/node_modules/lucide/dist/esm/icons/eye-off.cjs.map +0 -1
  108. package/dist/node_modules/lucide/dist/esm/icons/eye-off.js +0 -26
  109. package/dist/node_modules/lucide/dist/esm/icons/eye-off.js.map +0 -1
  110. package/dist/node_modules/lucide/dist/esm/icons/eye.cjs +0 -21
  111. package/dist/node_modules/lucide/dist/esm/icons/eye.cjs.map +0 -1
  112. package/dist/node_modules/lucide/dist/esm/icons/eye.js +0 -19
  113. package/dist/node_modules/lucide/dist/esm/icons/eye.js.map +0 -1
  114. package/dist/node_modules/lucide/dist/esm/icons/grid-3x3.cjs +0 -19
  115. package/dist/node_modules/lucide/dist/esm/icons/grid-3x3.cjs.map +0 -1
  116. package/dist/node_modules/lucide/dist/esm/icons/grid-3x3.js +0 -17
  117. package/dist/node_modules/lucide/dist/esm/icons/grid-3x3.js.map +0 -1
  118. package/dist/node_modules/lucide/dist/esm/icons/history.cjs +0 -17
  119. package/dist/node_modules/lucide/dist/esm/icons/history.cjs.map +0 -1
  120. package/dist/node_modules/lucide/dist/esm/icons/history.js +0 -15
  121. package/dist/node_modules/lucide/dist/esm/icons/history.js.map +0 -1
  122. package/dist/node_modules/lucide/dist/esm/icons/info.cjs +0 -17
  123. package/dist/node_modules/lucide/dist/esm/icons/info.cjs.map +0 -1
  124. package/dist/node_modules/lucide/dist/esm/icons/info.js +0 -15
  125. package/dist/node_modules/lucide/dist/esm/icons/info.js.map +0 -1
  126. package/dist/node_modules/lucide/dist/esm/icons/lasso.cjs +0 -17
  127. package/dist/node_modules/lucide/dist/esm/icons/lasso.cjs.map +0 -1
  128. package/dist/node_modules/lucide/dist/esm/icons/lasso.js +0 -15
  129. package/dist/node_modules/lucide/dist/esm/icons/lasso.js.map +0 -1
  130. package/dist/node_modules/lucide/dist/esm/icons/maximize.cjs +0 -18
  131. package/dist/node_modules/lucide/dist/esm/icons/maximize.cjs.map +0 -1
  132. package/dist/node_modules/lucide/dist/esm/icons/maximize.js +0 -16
  133. package/dist/node_modules/lucide/dist/esm/icons/maximize.js.map +0 -1
  134. package/dist/node_modules/lucide/dist/esm/icons/minimize.cjs +0 -18
  135. package/dist/node_modules/lucide/dist/esm/icons/minimize.cjs.map +0 -1
  136. package/dist/node_modules/lucide/dist/esm/icons/minimize.js +0 -16
  137. package/dist/node_modules/lucide/dist/esm/icons/minimize.js.map +0 -1
  138. package/dist/node_modules/lucide/dist/esm/icons/mouse-pointer.cjs +0 -21
  139. package/dist/node_modules/lucide/dist/esm/icons/mouse-pointer.cjs.map +0 -1
  140. package/dist/node_modules/lucide/dist/esm/icons/mouse-pointer.js +0 -19
  141. package/dist/node_modules/lucide/dist/esm/icons/mouse-pointer.js.map +0 -1
  142. package/dist/node_modules/lucide/dist/esm/icons/move.cjs +0 -20
  143. package/dist/node_modules/lucide/dist/esm/icons/move.cjs.map +0 -1
  144. package/dist/node_modules/lucide/dist/esm/icons/move.js +0 -18
  145. package/dist/node_modules/lucide/dist/esm/icons/move.js.map +0 -1
  146. package/dist/node_modules/lucide/dist/esm/icons/panels-top-left.cjs +0 -17
  147. package/dist/node_modules/lucide/dist/esm/icons/panels-top-left.cjs.map +0 -1
  148. package/dist/node_modules/lucide/dist/esm/icons/panels-top-left.js +0 -15
  149. package/dist/node_modules/lucide/dist/esm/icons/panels-top-left.js.map +0 -1
  150. package/dist/node_modules/lucide/dist/esm/icons/pen.cjs +0 -20
  151. package/dist/node_modules/lucide/dist/esm/icons/pen.cjs.map +0 -1
  152. package/dist/node_modules/lucide/dist/esm/icons/pen.js +0 -18
  153. package/dist/node_modules/lucide/dist/esm/icons/pen.js.map +0 -1
  154. package/dist/node_modules/lucide/dist/esm/icons/plus.cjs +0 -16
  155. package/dist/node_modules/lucide/dist/esm/icons/plus.cjs.map +0 -1
  156. package/dist/node_modules/lucide/dist/esm/icons/plus.js +0 -14
  157. package/dist/node_modules/lucide/dist/esm/icons/plus.js.map +0 -1
  158. package/dist/node_modules/lucide/dist/esm/icons/search.cjs +0 -16
  159. package/dist/node_modules/lucide/dist/esm/icons/search.cjs.map +0 -1
  160. package/dist/node_modules/lucide/dist/esm/icons/search.js +0 -14
  161. package/dist/node_modules/lucide/dist/esm/icons/search.js.map +0 -1
  162. package/dist/node_modules/lucide/dist/esm/icons/settings.cjs +0 -21
  163. package/dist/node_modules/lucide/dist/esm/icons/settings.cjs.map +0 -1
  164. package/dist/node_modules/lucide/dist/esm/icons/settings.js +0 -19
  165. package/dist/node_modules/lucide/dist/esm/icons/settings.js.map +0 -1
  166. package/dist/node_modules/lucide/dist/esm/icons/share-2.cjs +0 -19
  167. package/dist/node_modules/lucide/dist/esm/icons/share-2.cjs.map +0 -1
  168. package/dist/node_modules/lucide/dist/esm/icons/share-2.js +0 -17
  169. package/dist/node_modules/lucide/dist/esm/icons/share-2.js.map +0 -1
  170. package/dist/node_modules/lucide/dist/esm/icons/square.cjs +0 -13
  171. package/dist/node_modules/lucide/dist/esm/icons/square.cjs.map +0 -1
  172. package/dist/node_modules/lucide/dist/esm/icons/square.js +0 -11
  173. package/dist/node_modules/lucide/dist/esm/icons/square.js.map +0 -1
  174. package/dist/node_modules/lucide/dist/esm/icons/sticky-note.cjs +0 -21
  175. package/dist/node_modules/lucide/dist/esm/icons/sticky-note.cjs.map +0 -1
  176. package/dist/node_modules/lucide/dist/esm/icons/sticky-note.js +0 -19
  177. package/dist/node_modules/lucide/dist/esm/icons/sticky-note.js.map +0 -1
  178. package/dist/node_modules/lucide/dist/esm/icons/trash-2.cjs +0 -19
  179. package/dist/node_modules/lucide/dist/esm/icons/trash-2.cjs.map +0 -1
  180. package/dist/node_modules/lucide/dist/esm/icons/trash-2.js +0 -17
  181. package/dist/node_modules/lucide/dist/esm/icons/trash-2.js.map +0 -1
  182. package/dist/node_modules/lucide/dist/esm/icons/triangle.cjs +0 -15
  183. package/dist/node_modules/lucide/dist/esm/icons/triangle.cjs.map +0 -1
  184. package/dist/node_modules/lucide/dist/esm/icons/triangle.js +0 -13
  185. package/dist/node_modules/lucide/dist/esm/icons/triangle.js.map +0 -1
  186. package/dist/node_modules/lucide/dist/esm/icons/x.cjs +0 -16
  187. package/dist/node_modules/lucide/dist/esm/icons/x.cjs.map +0 -1
  188. package/dist/node_modules/lucide/dist/esm/icons/x.js +0 -14
  189. package/dist/node_modules/lucide/dist/esm/icons/x.js.map +0 -1
  190. package/dist/node_modules/lucide/dist/esm/icons/zap.cjs +0 -20
  191. package/dist/node_modules/lucide/dist/esm/icons/zap.cjs.map +0 -1
  192. package/dist/node_modules/lucide/dist/esm/icons/zap.js +0 -18
  193. package/dist/node_modules/lucide/dist/esm/icons/zap.js.map +0 -1
  194. package/dist/node_modules/lucide/dist/esm/lucide.cjs +0 -56
  195. package/dist/node_modules/lucide/dist/esm/lucide.cjs.map +0 -1
  196. package/dist/node_modules/lucide/dist/esm/lucide.js +0 -54
  197. package/dist/node_modules/lucide/dist/esm/lucide.js.map +0 -1
  198. package/dist/node_modules/lucide/dist/esm/replaceElement.cjs +0 -73
  199. package/dist/node_modules/lucide/dist/esm/replaceElement.cjs.map +0 -1
  200. package/dist/node_modules/lucide/dist/esm/replaceElement.js +0 -67
  201. package/dist/node_modules/lucide/dist/esm/replaceElement.js.map +0 -1
  202. package/dist/node_modules/lucide/dist/esm/shared/src/utils/hasA11yProp.cjs +0 -20
  203. package/dist/node_modules/lucide/dist/esm/shared/src/utils/hasA11yProp.cjs.map +0 -1
  204. package/dist/node_modules/lucide/dist/esm/shared/src/utils/hasA11yProp.js +0 -18
  205. package/dist/node_modules/lucide/dist/esm/shared/src/utils/hasA11yProp.js.map +0 -1
  206. package/dist/node_modules/lucide/dist/esm/shared/src/utils/mergeClasses.cjs +0 -15
  207. package/dist/node_modules/lucide/dist/esm/shared/src/utils/mergeClasses.cjs.map +0 -1
  208. package/dist/node_modules/lucide/dist/esm/shared/src/utils/mergeClasses.js +0 -13
  209. package/dist/node_modules/lucide/dist/esm/shared/src/utils/mergeClasses.js.map +0 -1
  210. package/dist/node_modules/lucide/dist/esm/shared/src/utils/toCamelCase.cjs +0 -16
  211. package/dist/node_modules/lucide/dist/esm/shared/src/utils/toCamelCase.cjs.map +0 -1
  212. package/dist/node_modules/lucide/dist/esm/shared/src/utils/toCamelCase.js +0 -14
  213. package/dist/node_modules/lucide/dist/esm/shared/src/utils/toCamelCase.js.map +0 -1
  214. package/dist/node_modules/lucide/dist/esm/shared/src/utils/toPascalCase.cjs +0 -19
  215. package/dist/node_modules/lucide/dist/esm/shared/src/utils/toPascalCase.cjs.map +0 -1
  216. package/dist/node_modules/lucide/dist/esm/shared/src/utils/toPascalCase.js +0 -17
  217. 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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"}
@@ -1,34 +1,34 @@
1
- import { generatePlacedNodeId } from '../utils/helpers.js';
2
- import { removeAllPreview } from './mouseMove.js';
3
-
4
- /**
5
- * Handles canvas click: if a placement is pending (preview active), places the node
6
- * at the snapped position and clears the preview.
7
- */
8
- function svgMouseClick(event, api, manualPoint) {
9
- if (event && event.defaultPrevented)
10
- return null; // drag fired — ignore
11
- const ctx = api.getPlacementContext();
12
- if (!ctx)
13
- return null;
14
- const point = (event ? api.getCanvasPoint(event) : { x: 0, y: 0 });
15
- const { type, variantId } = ctx;
16
- const node = {
17
- id: generatePlacedNodeId(),
18
- type: type,
19
- shapeVariantId: variantId || "default",
20
- x: point.x,
21
- y: point.y,
22
- rotation: 0,
23
- meta: {},
24
- visualState: { status: "idle" },
25
- };
26
- api.placeNode(node);
27
- removeAllPreview(api.canvasObject);
28
- api.clearPlacementContext();
29
- api.removePlacementListeners();
30
- return node.id;
31
- }
32
-
33
- export { svgMouseClick };
34
- //# sourceMappingURL=mouseClick.js.map
1
+ import { generatePlacedNodeId } from '../utils/helpers.js';
2
+ import { removeAllPreview } from './mouseMove.js';
3
+
4
+ /**
5
+ * Handles canvas click: if a placement is pending (preview active), places the node
6
+ * at the snapped position and clears the preview.
7
+ */
8
+ function svgMouseClick(event, api, manualPoint) {
9
+ if (event && event.defaultPrevented)
10
+ return null; // drag fired — ignore
11
+ const ctx = api.getPlacementContext();
12
+ if (!ctx)
13
+ return null;
14
+ const point = (event ? api.getCanvasPoint(event) : { x: 0, y: 0 });
15
+ const { type, variantId } = ctx;
16
+ const node = {
17
+ id: generatePlacedNodeId(),
18
+ type: type,
19
+ shapeVariantId: variantId || "default",
20
+ x: point.x,
21
+ y: point.y,
22
+ rotation: 0,
23
+ meta: {},
24
+ visualState: { status: "idle" },
25
+ };
26
+ api.placeNode(node);
27
+ removeAllPreview(api.canvasObject);
28
+ api.clearPlacementContext();
29
+ api.removePlacementListeners();
30
+ return node.id;
31
+ }
32
+
33
+ export { svgMouseClick };
34
+ //# sourceMappingURL=mouseClick.js.map
@@ -1,82 +1,82 @@
1
- import * as d3 from 'd3';
2
- import { defaultConfig } from '../config/defaultConfig.js';
3
- import { snapToGrid } from '../utils/helpers.js';
4
-
5
- function svgMouseMove(event, shapeType, shapeToFind, grid, config, canvasObject, data, registry, manualPoint) {
6
- const gridSize = config.canvas.grid.gridSize || defaultConfig.canvas.grid.gridSize;
7
- const zoomTransform = d3.zoomTransform(canvasObject.svg.node());
8
- let x, y;
9
- if (event) {
10
- const [cursorX, cursorY] = d3.pointer(event, canvasObject.svg.node());
11
- x = cursorX;
12
- y = cursorY;
13
- }
14
- else {
15
- return { x: 0, y: 0 };
16
- }
17
- const adjustedX = (x - zoomTransform.x) / zoomTransform.k;
18
- const adjustedY = (y - zoomTransform.y) / zoomTransform.k;
19
- let exactPosition;
20
- if (config.canvasProperties.snapToGrid) {
21
- exactPosition = snapToGrid(adjustedX, adjustedY, gridSize);
22
- }
23
- else {
24
- exactPosition = { x: adjustedX, y: adjustedY };
25
- }
26
- if (shapeToFind.previewEnabled) {
27
- createShapePreview(shapeType, exactPosition.x, exactPosition.y, canvasObject, shapeToFind, registry);
28
- }
29
- return exactPosition;
30
- }
31
- function createShapePreview(shapeType, x, y, canvasObject, shapeToFind, registry) {
32
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
33
- removeAllPreview(canvasObject);
34
- let elementId = `preview_${shapeType}`;
35
- let shape;
36
- if (registry && registry.has(shapeType)) {
37
- const renderer = registry.get(shapeType);
38
- const radius = (_a = shapeToFind.radius) !== null && _a !== void 0 ? _a : 30;
39
- const width = (_b = shapeToFind.width) !== null && _b !== void 0 ? _b : radius * 2;
40
- const height = (_c = shapeToFind.height) !== null && _c !== void 0 ? _c : radius * 2;
41
- // All renderers draw with (0,0) as the anchor (center or top-left).
42
- // We use a <g translate(x,y)> so the path coordinates are always
43
- // relative to (0,0), then shifted to the cursor position regardless
44
- // of shape type. This fixes the circle offset bug.
45
- //
46
- // Circle renderer uses (cx=x, cy=y) as the CENTER — so pass x:0,y:0.
47
- // Rect/polygon renderers use the top-left corner — so offset by -w/2,-h/2
48
- // to keep them visually centered on the cursor too.
49
- const isCircleLike = shapeType === "circle";
50
- const tempConfig = {
51
- type: shapeType,
52
- x: isCircleLike ? 0 : -width / 2,
53
- y: isCircleLike ? 0 : -height / 2,
54
- width,
55
- height,
56
- radius,
57
- color: shapeToFind.color,
58
- stroke: shapeToFind.stroke,
59
- transparency: shapeToFind.transparency,
60
- borderRadius: shapeToFind.borderRadius
61
- };
62
- const pathData = renderer.getPath(tempConfig);
63
- const group = canvasObject.elements.append("g")
64
- .attr("id", elementId)
65
- .attr("transform", `translate(${x},${y})`);
66
- shape = group.append("path")
67
- .attr("d", pathData)
68
- .attr("fill", shapeToFind.color)
69
- .attr("stroke", (_e = (_d = shapeToFind.stroke) === null || _d === void 0 ? void 0 : _d.color) !== null && _e !== void 0 ? _e : "#000")
70
- .attr("stroke-width", (_g = (_f = shapeToFind.stroke) === null || _f === void 0 ? void 0 : _f.width) !== null && _g !== void 0 ? _g : 1)
71
- .attr("stroke-dasharray", ((_j = (_h = shapeToFind.stroke) === null || _h === void 0 ? void 0 : _h.strokeDasharray) === null || _j === void 0 ? void 0 : _j.join(" ")) || null)
72
- .attr("opacity", (_k = shapeToFind.previewTransparency) !== null && _k !== void 0 ? _k : 0.5);
73
- return group;
74
- }
75
- return shape;
76
- }
77
- function removeAllPreview(canvasObject) {
78
- canvasObject.elements.selectAll("path[id^='preview_'], polygon[id^='preview_'], circle[id^='preview_'], g[id^='preview_']").remove();
79
- }
80
-
81
- export { removeAllPreview, svgMouseMove };
82
- //# sourceMappingURL=mouseMove.js.map
1
+ import * as d3 from 'd3';
2
+ import { defaultConfig } from '../config/defaultConfig.js';
3
+ import { snapToGrid } from '../utils/helpers.js';
4
+
5
+ function svgMouseMove(event, shapeType, shapeToFind, grid, config, canvasObject, data, registry, manualPoint) {
6
+ const gridSize = config.canvas.grid.gridSize || defaultConfig.canvas.grid.gridSize;
7
+ const zoomTransform = d3.zoomTransform(canvasObject.svg.node());
8
+ let x, y;
9
+ if (event) {
10
+ const [cursorX, cursorY] = d3.pointer(event, canvasObject.svg.node());
11
+ x = cursorX;
12
+ y = cursorY;
13
+ }
14
+ else {
15
+ return { x: 0, y: 0 };
16
+ }
17
+ const adjustedX = (x - zoomTransform.x) / zoomTransform.k;
18
+ const adjustedY = (y - zoomTransform.y) / zoomTransform.k;
19
+ let exactPosition;
20
+ if (config.canvasProperties.snapToGrid) {
21
+ exactPosition = snapToGrid(adjustedX, adjustedY, gridSize);
22
+ }
23
+ else {
24
+ exactPosition = { x: adjustedX, y: adjustedY };
25
+ }
26
+ if (shapeToFind.previewEnabled) {
27
+ createShapePreview(shapeType, exactPosition.x, exactPosition.y, canvasObject, shapeToFind, registry);
28
+ }
29
+ return exactPosition;
30
+ }
31
+ function createShapePreview(shapeType, x, y, canvasObject, shapeToFind, registry) {
32
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
33
+ removeAllPreview(canvasObject);
34
+ let elementId = `preview_${shapeType}`;
35
+ let shape;
36
+ if (registry && registry.has(shapeType)) {
37
+ const renderer = registry.get(shapeType);
38
+ const radius = (_a = shapeToFind.radius) !== null && _a !== void 0 ? _a : 30;
39
+ const width = (_b = shapeToFind.width) !== null && _b !== void 0 ? _b : radius * 2;
40
+ const height = (_c = shapeToFind.height) !== null && _c !== void 0 ? _c : radius * 2;
41
+ // All renderers draw with (0,0) as the anchor (center or top-left).
42
+ // We use a <g translate(x,y)> so the path coordinates are always
43
+ // relative to (0,0), then shifted to the cursor position regardless
44
+ // of shape type. This fixes the circle offset bug.
45
+ //
46
+ // Circle renderer uses (cx=x, cy=y) as the CENTER — so pass x:0,y:0.
47
+ // Rect/polygon renderers use the top-left corner — so offset by -w/2,-h/2
48
+ // to keep them visually centered on the cursor too.
49
+ const isCircleLike = shapeType === "circle";
50
+ const tempConfig = {
51
+ type: shapeType,
52
+ x: isCircleLike ? 0 : -width / 2,
53
+ y: isCircleLike ? 0 : -height / 2,
54
+ width,
55
+ height,
56
+ radius,
57
+ color: shapeToFind.color,
58
+ stroke: shapeToFind.stroke,
59
+ transparency: shapeToFind.transparency,
60
+ borderRadius: shapeToFind.borderRadius
61
+ };
62
+ const pathData = renderer.getPath(tempConfig);
63
+ const group = canvasObject.elements.append("g")
64
+ .attr("id", elementId)
65
+ .attr("transform", `translate(${x},${y})`);
66
+ shape = group.append("path")
67
+ .attr("d", pathData)
68
+ .attr("fill", shapeToFind.color)
69
+ .attr("stroke", (_e = (_d = shapeToFind.stroke) === null || _d === void 0 ? void 0 : _d.color) !== null && _e !== void 0 ? _e : "#000")
70
+ .attr("stroke-width", (_g = (_f = shapeToFind.stroke) === null || _f === void 0 ? void 0 : _f.width) !== null && _g !== void 0 ? _g : 1)
71
+ .attr("stroke-dasharray", ((_j = (_h = shapeToFind.stroke) === null || _h === void 0 ? void 0 : _h.strokeDasharray) === null || _j === void 0 ? void 0 : _j.join(" ")) || null)
72
+ .attr("opacity", (_k = shapeToFind.previewTransparency) !== null && _k !== void 0 ? _k : 0.5);
73
+ return group;
74
+ }
75
+ return shape;
76
+ }
77
+ function removeAllPreview(canvasObject) {
78
+ canvasObject.elements.selectAll("path[id^='preview_'], polygon[id^='preview_'], circle[id^='preview_'], g[id^='preview_']").remove();
79
+ }
80
+
81
+ export { removeAllPreview, svgMouseMove };
82
+ //# sourceMappingURL=mouseMove.js.map