@zenode/designer 3.5.0

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 (529) hide show
  1. package/APIs.md +60 -0
  2. package/LICENSE +12 -0
  3. package/README.md +219 -0
  4. package/dist/components/canvas/canvas.cjs +106 -0
  5. package/dist/components/canvas/canvas.cjs.map +1 -0
  6. package/dist/components/canvas/canvas.d.ts +15 -0
  7. package/dist/components/canvas/canvas.js +84 -0
  8. package/dist/components/canvas/canvas.js.map +1 -0
  9. package/dist/components/canvas/grid.cjs +167 -0
  10. package/dist/components/canvas/grid.cjs.map +1 -0
  11. package/dist/components/canvas/grid.d.ts +5 -0
  12. package/dist/components/canvas/grid.js +144 -0
  13. package/dist/components/canvas/grid.js.map +1 -0
  14. package/dist/components/shapeTypes/circle.d.ts +2 -0
  15. package/dist/components/shapeTypes/rectangle.d.ts +4 -0
  16. package/dist/components/shapeTypes/rectangle.js +22 -0
  17. package/dist/components/shapeTypes/rectangle.js.map +1 -0
  18. package/dist/components/shapeTypes/rhombus.d.ts +1 -0
  19. package/dist/config/defaultConfig.cjs +542 -0
  20. package/dist/config/defaultConfig.cjs.map +1 -0
  21. package/dist/config/defaultConfig.d.ts +2 -0
  22. package/dist/config/defaultConfig.js +540 -0
  23. package/dist/config/defaultConfig.js.map +1 -0
  24. package/dist/config/testConfig.cjs +553 -0
  25. package/dist/config/testConfig.cjs.map +1 -0
  26. package/dist/config/testConfig.d.ts +2 -0
  27. package/dist/config/testConfig.js +551 -0
  28. package/dist/config/testConfig.js.map +1 -0
  29. package/dist/config/testConfig1.d.ts +2 -0
  30. package/dist/config/testXML.cjs +17 -0
  31. package/dist/config/testXML.cjs.map +1 -0
  32. package/dist/config/testXML.d.ts +1 -0
  33. package/dist/config/testXML.js +15 -0
  34. package/dist/config/testXML.js.map +1 -0
  35. package/dist/connections/paths/curved.cjs +34 -0
  36. package/dist/connections/paths/curved.cjs.map +1 -0
  37. package/dist/connections/paths/curved.d.ts +2 -0
  38. package/dist/connections/paths/curved.js +32 -0
  39. package/dist/connections/paths/curved.js.map +1 -0
  40. package/dist/connections/paths/index.cjs +16 -0
  41. package/dist/connections/paths/index.cjs.map +1 -0
  42. package/dist/connections/paths/index.d.ts +12 -0
  43. package/dist/connections/paths/index.js +14 -0
  44. package/dist/connections/paths/index.js.map +1 -0
  45. package/dist/connections/paths/l-bent.cjs +59 -0
  46. package/dist/connections/paths/l-bent.cjs.map +1 -0
  47. package/dist/connections/paths/l-bent.d.ts +5 -0
  48. package/dist/connections/paths/l-bent.js +57 -0
  49. package/dist/connections/paths/l-bent.js.map +1 -0
  50. package/dist/connections/paths/s-shaped.cjs +24 -0
  51. package/dist/connections/paths/s-shaped.cjs.map +1 -0
  52. package/dist/connections/paths/s-shaped.d.ts +5 -0
  53. package/dist/connections/paths/s-shaped.js +22 -0
  54. package/dist/connections/paths/s-shaped.js.map +1 -0
  55. package/dist/connections/paths/straight.cjs +9 -0
  56. package/dist/connections/paths/straight.cjs.map +1 -0
  57. package/dist/connections/paths/straight.d.ts +2 -0
  58. package/dist/connections/paths/straight.js +7 -0
  59. package/dist/connections/paths/straight.js.map +1 -0
  60. package/dist/connections/render.cjs +382 -0
  61. package/dist/connections/render.cjs.map +1 -0
  62. package/dist/connections/render.d.ts +29 -0
  63. package/dist/connections/render.js +360 -0
  64. package/dist/connections/render.js.map +1 -0
  65. package/dist/connections/routing/index.d.ts +14 -0
  66. package/dist/connections/routing/smartRouter.cjs +26 -0
  67. package/dist/connections/routing/smartRouter.cjs.map +1 -0
  68. package/dist/connections/routing/smartRouter.d.ts +13 -0
  69. package/dist/connections/routing/smartRouter.js +24 -0
  70. package/dist/connections/routing/smartRouter.js.map +1 -0
  71. package/dist/contextpad/defaults.cjs +181 -0
  72. package/dist/contextpad/defaults.cjs.map +1 -0
  73. package/dist/contextpad/defaults.d.ts +2 -0
  74. package/dist/contextpad/defaults.js +179 -0
  75. package/dist/contextpad/defaults.js.map +1 -0
  76. package/dist/contextpad/registry.cjs +54 -0
  77. package/dist/contextpad/registry.cjs.map +1 -0
  78. package/dist/contextpad/registry.d.ts +21 -0
  79. package/dist/contextpad/registry.js +52 -0
  80. package/dist/contextpad/registry.js.map +1 -0
  81. package/dist/contextpad/renderer.cjs +347 -0
  82. package/dist/contextpad/renderer.cjs.map +1 -0
  83. package/dist/contextpad/renderer.d.ts +32 -0
  84. package/dist/contextpad/renderer.js +326 -0
  85. package/dist/contextpad/renderer.js.map +1 -0
  86. package/dist/core/engine.cjs +2254 -0
  87. package/dist/core/engine.cjs.map +1 -0
  88. package/dist/core/engine.d.ts +444 -0
  89. package/dist/core/engine.js +2233 -0
  90. package/dist/core/engine.js.map +1 -0
  91. package/dist/core/eventManager.cjs +29 -0
  92. package/dist/core/eventManager.cjs.map +1 -0
  93. package/dist/core/eventManager.d.ts +6 -0
  94. package/dist/core/eventManager.js +27 -0
  95. package/dist/core/eventManager.js.map +1 -0
  96. package/dist/core/history/command.cjs +182 -0
  97. package/dist/core/history/command.cjs.map +1 -0
  98. package/dist/core/history/command.d.ts +119 -0
  99. package/dist/core/history/command.js +171 -0
  100. package/dist/core/history/command.js.map +1 -0
  101. package/dist/core/history/undoManager.cjs +54 -0
  102. package/dist/core/history/undoManager.cjs.map +1 -0
  103. package/dist/core/history/undoManager.d.ts +18 -0
  104. package/dist/core/history/undoManager.js +52 -0
  105. package/dist/core/history/undoManager.js.map +1 -0
  106. package/dist/core/license.cjs +36 -0
  107. package/dist/core/license.cjs.map +1 -0
  108. package/dist/core/license.d.ts +16 -0
  109. package/dist/core/license.js +34 -0
  110. package/dist/core/license.js.map +1 -0
  111. package/dist/core/samples.cjs +68 -0
  112. package/dist/core/samples.cjs.map +1 -0
  113. package/dist/core/samples.d.ts +6 -0
  114. package/dist/core/samples.js +66 -0
  115. package/dist/core/samples.js.map +1 -0
  116. package/dist/core/serialization.cjs +123 -0
  117. package/dist/core/serialization.cjs.map +1 -0
  118. package/dist/core/serialization.d.ts +26 -0
  119. package/dist/core/serialization.js +121 -0
  120. package/dist/core/serialization.js.map +1 -0
  121. package/dist/core/validation.cjs +92 -0
  122. package/dist/core/validation.cjs.map +1 -0
  123. package/dist/core/validation.d.ts +24 -0
  124. package/dist/core/validation.js +89 -0
  125. package/dist/core/validation.js.map +1 -0
  126. package/dist/core/zoom&PanManager.d.ts +16 -0
  127. package/dist/core/zoom_PanManager.cjs +96 -0
  128. package/dist/core/zoom_PanManager.cjs.map +1 -0
  129. package/dist/core/zoom_PanManager.js +75 -0
  130. package/dist/core/zoom_PanManager.js.map +1 -0
  131. package/dist/effects/engine.cjs +203 -0
  132. package/dist/effects/engine.cjs.map +1 -0
  133. package/dist/effects/engine.d.ts +6 -0
  134. package/dist/effects/engine.js +182 -0
  135. package/dist/effects/engine.js.map +1 -0
  136. package/dist/events/drag.cjs +299 -0
  137. package/dist/events/drag.cjs.map +1 -0
  138. package/dist/events/drag.d.ts +19 -0
  139. package/dist/events/drag.js +278 -0
  140. package/dist/events/drag.js.map +1 -0
  141. package/dist/events/mouseClick.cjs +36 -0
  142. package/dist/events/mouseClick.cjs.map +1 -0
  143. package/dist/events/mouseClick.d.ts +26 -0
  144. package/dist/events/mouseClick.js +34 -0
  145. package/dist/events/mouseClick.js.map +1 -0
  146. package/dist/events/mouseMove.cjs +104 -0
  147. package/dist/events/mouseMove.cjs.map +1 -0
  148. package/dist/events/mouseMove.d.ts +11 -0
  149. package/dist/events/mouseMove.js +82 -0
  150. package/dist/events/mouseMove.js.map +1 -0
  151. package/dist/events/resize.cjs +98 -0
  152. package/dist/events/resize.cjs.map +1 -0
  153. package/dist/events/resize.d.ts +14 -0
  154. package/dist/events/resize.js +77 -0
  155. package/dist/events/resize.js.map +1 -0
  156. package/dist/examples/keyboard-shortcuts.d.ts +10 -0
  157. package/dist/icons.bundle.js +763 -0
  158. package/dist/icons.bundle.js.map +1 -0
  159. package/dist/icons.cjs +105 -0
  160. package/dist/icons.cjs.map +1 -0
  161. package/dist/icons.d.ts +7 -0
  162. package/dist/icons.js +89 -0
  163. package/dist/icons.js.map +1 -0
  164. package/dist/index.cjs +284 -0
  165. package/dist/index.cjs.map +1 -0
  166. package/dist/index.d.ts +160 -0
  167. package/dist/index.js +204 -0
  168. package/dist/index.js.map +1 -0
  169. package/dist/model/configurationModel.d.ts +280 -0
  170. package/dist/model/interface.d.ts +95 -0
  171. package/dist/model/shapeModel.d.ts +28 -0
  172. package/dist/node_modules/lucide/dist/esm/createElement.cjs +36 -0
  173. package/dist/node_modules/lucide/dist/esm/createElement.cjs.map +1 -0
  174. package/dist/node_modules/lucide/dist/esm/createElement.js +34 -0
  175. package/dist/node_modules/lucide/dist/esm/createElement.js.map +1 -0
  176. package/dist/node_modules/lucide/dist/esm/defaultAttributes.cjs +23 -0
  177. package/dist/node_modules/lucide/dist/esm/defaultAttributes.cjs.map +1 -0
  178. package/dist/node_modules/lucide/dist/esm/defaultAttributes.js +21 -0
  179. package/dist/node_modules/lucide/dist/esm/defaultAttributes.js.map +1 -0
  180. package/dist/node_modules/lucide/dist/esm/icons/arrow-down-right.cjs +16 -0
  181. package/dist/node_modules/lucide/dist/esm/icons/arrow-down-right.cjs.map +1 -0
  182. package/dist/node_modules/lucide/dist/esm/icons/arrow-down-right.js +14 -0
  183. package/dist/node_modules/lucide/dist/esm/icons/arrow-down-right.js.map +1 -0
  184. package/dist/node_modules/lucide/dist/esm/icons/arrow-right.cjs +16 -0
  185. package/dist/node_modules/lucide/dist/esm/icons/arrow-right.cjs.map +1 -0
  186. package/dist/node_modules/lucide/dist/esm/icons/arrow-right.js +14 -0
  187. package/dist/node_modules/lucide/dist/esm/icons/arrow-right.js.map +1 -0
  188. package/dist/node_modules/lucide/dist/esm/icons/arrow-up-right.cjs +16 -0
  189. package/dist/node_modules/lucide/dist/esm/icons/arrow-up-right.cjs.map +1 -0
  190. package/dist/node_modules/lucide/dist/esm/icons/arrow-up-right.js +14 -0
  191. package/dist/node_modules/lucide/dist/esm/icons/arrow-up-right.js.map +1 -0
  192. package/dist/node_modules/lucide/dist/esm/icons/box.cjs +22 -0
  193. package/dist/node_modules/lucide/dist/esm/icons/box.cjs.map +1 -0
  194. package/dist/node_modules/lucide/dist/esm/icons/box.js +20 -0
  195. package/dist/node_modules/lucide/dist/esm/icons/box.js.map +1 -0
  196. package/dist/node_modules/lucide/dist/esm/icons/chevron-down.cjs +13 -0
  197. package/dist/node_modules/lucide/dist/esm/icons/chevron-down.cjs.map +1 -0
  198. package/dist/node_modules/lucide/dist/esm/icons/chevron-down.js +11 -0
  199. package/dist/node_modules/lucide/dist/esm/icons/chevron-down.js.map +1 -0
  200. package/dist/node_modules/lucide/dist/esm/icons/chevron-right.cjs +13 -0
  201. package/dist/node_modules/lucide/dist/esm/icons/chevron-right.cjs.map +1 -0
  202. package/dist/node_modules/lucide/dist/esm/icons/chevron-right.js +11 -0
  203. package/dist/node_modules/lucide/dist/esm/icons/chevron-right.js.map +1 -0
  204. package/dist/node_modules/lucide/dist/esm/icons/circle-alert.cjs +17 -0
  205. package/dist/node_modules/lucide/dist/esm/icons/circle-alert.cjs.map +1 -0
  206. package/dist/node_modules/lucide/dist/esm/icons/circle-alert.js +15 -0
  207. package/dist/node_modules/lucide/dist/esm/icons/circle-alert.js.map +1 -0
  208. package/dist/node_modules/lucide/dist/esm/icons/circle-check-big.cjs +16 -0
  209. package/dist/node_modules/lucide/dist/esm/icons/circle-check-big.cjs.map +1 -0
  210. package/dist/node_modules/lucide/dist/esm/icons/circle-check-big.js +14 -0
  211. package/dist/node_modules/lucide/dist/esm/icons/circle-check-big.js.map +1 -0
  212. package/dist/node_modules/lucide/dist/esm/icons/circle-question-mark.cjs +17 -0
  213. package/dist/node_modules/lucide/dist/esm/icons/circle-question-mark.cjs.map +1 -0
  214. package/dist/node_modules/lucide/dist/esm/icons/circle-question-mark.js +15 -0
  215. package/dist/node_modules/lucide/dist/esm/icons/circle-question-mark.js.map +1 -0
  216. package/dist/node_modules/lucide/dist/esm/icons/circle.cjs +13 -0
  217. package/dist/node_modules/lucide/dist/esm/icons/circle.cjs.map +1 -0
  218. package/dist/node_modules/lucide/dist/esm/icons/circle.js +11 -0
  219. package/dist/node_modules/lucide/dist/esm/icons/circle.js.map +1 -0
  220. package/dist/node_modules/lucide/dist/esm/icons/cloud.cjs +13 -0
  221. package/dist/node_modules/lucide/dist/esm/icons/cloud.cjs.map +1 -0
  222. package/dist/node_modules/lucide/dist/esm/icons/cloud.js +11 -0
  223. package/dist/node_modules/lucide/dist/esm/icons/cloud.js.map +1 -0
  224. package/dist/node_modules/lucide/dist/esm/icons/copy.cjs +16 -0
  225. package/dist/node_modules/lucide/dist/esm/icons/copy.cjs.map +1 -0
  226. package/dist/node_modules/lucide/dist/esm/icons/copy.js +14 -0
  227. package/dist/node_modules/lucide/dist/esm/icons/copy.js.map +1 -0
  228. package/dist/node_modules/lucide/dist/esm/icons/database.cjs +17 -0
  229. package/dist/node_modules/lucide/dist/esm/icons/database.cjs.map +1 -0
  230. package/dist/node_modules/lucide/dist/esm/icons/database.js +15 -0
  231. package/dist/node_modules/lucide/dist/esm/icons/database.js.map +1 -0
  232. package/dist/node_modules/lucide/dist/esm/icons/diamond.cjs +20 -0
  233. package/dist/node_modules/lucide/dist/esm/icons/diamond.cjs.map +1 -0
  234. package/dist/node_modules/lucide/dist/esm/icons/diamond.js +18 -0
  235. package/dist/node_modules/lucide/dist/esm/icons/diamond.js.map +1 -0
  236. package/dist/node_modules/lucide/dist/esm/icons/download.cjs +17 -0
  237. package/dist/node_modules/lucide/dist/esm/icons/download.cjs.map +1 -0
  238. package/dist/node_modules/lucide/dist/esm/icons/download.js +15 -0
  239. package/dist/node_modules/lucide/dist/esm/icons/download.js.map +1 -0
  240. package/dist/node_modules/lucide/dist/esm/icons/eye-off.cjs +28 -0
  241. package/dist/node_modules/lucide/dist/esm/icons/eye-off.cjs.map +1 -0
  242. package/dist/node_modules/lucide/dist/esm/icons/eye-off.js +26 -0
  243. package/dist/node_modules/lucide/dist/esm/icons/eye-off.js.map +1 -0
  244. package/dist/node_modules/lucide/dist/esm/icons/eye.cjs +21 -0
  245. package/dist/node_modules/lucide/dist/esm/icons/eye.cjs.map +1 -0
  246. package/dist/node_modules/lucide/dist/esm/icons/eye.js +19 -0
  247. package/dist/node_modules/lucide/dist/esm/icons/eye.js.map +1 -0
  248. package/dist/node_modules/lucide/dist/esm/icons/grid-3x3.cjs +19 -0
  249. package/dist/node_modules/lucide/dist/esm/icons/grid-3x3.cjs.map +1 -0
  250. package/dist/node_modules/lucide/dist/esm/icons/grid-3x3.js +17 -0
  251. package/dist/node_modules/lucide/dist/esm/icons/grid-3x3.js.map +1 -0
  252. package/dist/node_modules/lucide/dist/esm/icons/history.cjs +17 -0
  253. package/dist/node_modules/lucide/dist/esm/icons/history.cjs.map +1 -0
  254. package/dist/node_modules/lucide/dist/esm/icons/history.js +15 -0
  255. package/dist/node_modules/lucide/dist/esm/icons/history.js.map +1 -0
  256. package/dist/node_modules/lucide/dist/esm/icons/info.cjs +17 -0
  257. package/dist/node_modules/lucide/dist/esm/icons/info.cjs.map +1 -0
  258. package/dist/node_modules/lucide/dist/esm/icons/info.js +15 -0
  259. package/dist/node_modules/lucide/dist/esm/icons/info.js.map +1 -0
  260. package/dist/node_modules/lucide/dist/esm/icons/lasso.cjs +17 -0
  261. package/dist/node_modules/lucide/dist/esm/icons/lasso.cjs.map +1 -0
  262. package/dist/node_modules/lucide/dist/esm/icons/lasso.js +15 -0
  263. package/dist/node_modules/lucide/dist/esm/icons/lasso.js.map +1 -0
  264. package/dist/node_modules/lucide/dist/esm/icons/maximize.cjs +18 -0
  265. package/dist/node_modules/lucide/dist/esm/icons/maximize.cjs.map +1 -0
  266. package/dist/node_modules/lucide/dist/esm/icons/maximize.js +16 -0
  267. package/dist/node_modules/lucide/dist/esm/icons/maximize.js.map +1 -0
  268. package/dist/node_modules/lucide/dist/esm/icons/minimize.cjs +18 -0
  269. package/dist/node_modules/lucide/dist/esm/icons/minimize.cjs.map +1 -0
  270. package/dist/node_modules/lucide/dist/esm/icons/minimize.js +16 -0
  271. package/dist/node_modules/lucide/dist/esm/icons/minimize.js.map +1 -0
  272. package/dist/node_modules/lucide/dist/esm/icons/mouse-pointer.cjs +21 -0
  273. package/dist/node_modules/lucide/dist/esm/icons/mouse-pointer.cjs.map +1 -0
  274. package/dist/node_modules/lucide/dist/esm/icons/mouse-pointer.js +19 -0
  275. package/dist/node_modules/lucide/dist/esm/icons/mouse-pointer.js.map +1 -0
  276. package/dist/node_modules/lucide/dist/esm/icons/move.cjs +20 -0
  277. package/dist/node_modules/lucide/dist/esm/icons/move.cjs.map +1 -0
  278. package/dist/node_modules/lucide/dist/esm/icons/move.js +18 -0
  279. package/dist/node_modules/lucide/dist/esm/icons/move.js.map +1 -0
  280. package/dist/node_modules/lucide/dist/esm/icons/panels-top-left.cjs +17 -0
  281. package/dist/node_modules/lucide/dist/esm/icons/panels-top-left.cjs.map +1 -0
  282. package/dist/node_modules/lucide/dist/esm/icons/panels-top-left.js +15 -0
  283. package/dist/node_modules/lucide/dist/esm/icons/panels-top-left.js.map +1 -0
  284. package/dist/node_modules/lucide/dist/esm/icons/pen.cjs +20 -0
  285. package/dist/node_modules/lucide/dist/esm/icons/pen.cjs.map +1 -0
  286. package/dist/node_modules/lucide/dist/esm/icons/pen.js +18 -0
  287. package/dist/node_modules/lucide/dist/esm/icons/pen.js.map +1 -0
  288. package/dist/node_modules/lucide/dist/esm/icons/plus.cjs +16 -0
  289. package/dist/node_modules/lucide/dist/esm/icons/plus.cjs.map +1 -0
  290. package/dist/node_modules/lucide/dist/esm/icons/plus.js +14 -0
  291. package/dist/node_modules/lucide/dist/esm/icons/plus.js.map +1 -0
  292. package/dist/node_modules/lucide/dist/esm/icons/search.cjs +16 -0
  293. package/dist/node_modules/lucide/dist/esm/icons/search.cjs.map +1 -0
  294. package/dist/node_modules/lucide/dist/esm/icons/search.js +14 -0
  295. package/dist/node_modules/lucide/dist/esm/icons/search.js.map +1 -0
  296. package/dist/node_modules/lucide/dist/esm/icons/settings.cjs +21 -0
  297. package/dist/node_modules/lucide/dist/esm/icons/settings.cjs.map +1 -0
  298. package/dist/node_modules/lucide/dist/esm/icons/settings.js +19 -0
  299. package/dist/node_modules/lucide/dist/esm/icons/settings.js.map +1 -0
  300. package/dist/node_modules/lucide/dist/esm/icons/share-2.cjs +19 -0
  301. package/dist/node_modules/lucide/dist/esm/icons/share-2.cjs.map +1 -0
  302. package/dist/node_modules/lucide/dist/esm/icons/share-2.js +17 -0
  303. package/dist/node_modules/lucide/dist/esm/icons/share-2.js.map +1 -0
  304. package/dist/node_modules/lucide/dist/esm/icons/square.cjs +13 -0
  305. package/dist/node_modules/lucide/dist/esm/icons/square.cjs.map +1 -0
  306. package/dist/node_modules/lucide/dist/esm/icons/square.js +11 -0
  307. package/dist/node_modules/lucide/dist/esm/icons/square.js.map +1 -0
  308. package/dist/node_modules/lucide/dist/esm/icons/sticky-note.cjs +21 -0
  309. package/dist/node_modules/lucide/dist/esm/icons/sticky-note.cjs.map +1 -0
  310. package/dist/node_modules/lucide/dist/esm/icons/sticky-note.js +19 -0
  311. package/dist/node_modules/lucide/dist/esm/icons/sticky-note.js.map +1 -0
  312. package/dist/node_modules/lucide/dist/esm/icons/trash-2.cjs +19 -0
  313. package/dist/node_modules/lucide/dist/esm/icons/trash-2.cjs.map +1 -0
  314. package/dist/node_modules/lucide/dist/esm/icons/trash-2.js +17 -0
  315. package/dist/node_modules/lucide/dist/esm/icons/trash-2.js.map +1 -0
  316. package/dist/node_modules/lucide/dist/esm/icons/triangle.cjs +15 -0
  317. package/dist/node_modules/lucide/dist/esm/icons/triangle.cjs.map +1 -0
  318. package/dist/node_modules/lucide/dist/esm/icons/triangle.js +13 -0
  319. package/dist/node_modules/lucide/dist/esm/icons/triangle.js.map +1 -0
  320. package/dist/node_modules/lucide/dist/esm/icons/x.cjs +16 -0
  321. package/dist/node_modules/lucide/dist/esm/icons/x.cjs.map +1 -0
  322. package/dist/node_modules/lucide/dist/esm/icons/x.js +14 -0
  323. package/dist/node_modules/lucide/dist/esm/icons/x.js.map +1 -0
  324. package/dist/node_modules/lucide/dist/esm/icons/zap.cjs +20 -0
  325. package/dist/node_modules/lucide/dist/esm/icons/zap.cjs.map +1 -0
  326. package/dist/node_modules/lucide/dist/esm/icons/zap.js +18 -0
  327. package/dist/node_modules/lucide/dist/esm/icons/zap.js.map +1 -0
  328. package/dist/node_modules/lucide/dist/esm/lucide.cjs +56 -0
  329. package/dist/node_modules/lucide/dist/esm/lucide.cjs.map +1 -0
  330. package/dist/node_modules/lucide/dist/esm/lucide.js +54 -0
  331. package/dist/node_modules/lucide/dist/esm/lucide.js.map +1 -0
  332. package/dist/node_modules/lucide/dist/esm/replaceElement.cjs +73 -0
  333. package/dist/node_modules/lucide/dist/esm/replaceElement.cjs.map +1 -0
  334. package/dist/node_modules/lucide/dist/esm/replaceElement.js +67 -0
  335. package/dist/node_modules/lucide/dist/esm/replaceElement.js.map +1 -0
  336. package/dist/node_modules/lucide/dist/esm/shared/src/utils/hasA11yProp.cjs +20 -0
  337. package/dist/node_modules/lucide/dist/esm/shared/src/utils/hasA11yProp.cjs.map +1 -0
  338. package/dist/node_modules/lucide/dist/esm/shared/src/utils/hasA11yProp.js +18 -0
  339. package/dist/node_modules/lucide/dist/esm/shared/src/utils/hasA11yProp.js.map +1 -0
  340. package/dist/node_modules/lucide/dist/esm/shared/src/utils/mergeClasses.cjs +15 -0
  341. package/dist/node_modules/lucide/dist/esm/shared/src/utils/mergeClasses.cjs.map +1 -0
  342. package/dist/node_modules/lucide/dist/esm/shared/src/utils/mergeClasses.js +13 -0
  343. package/dist/node_modules/lucide/dist/esm/shared/src/utils/mergeClasses.js.map +1 -0
  344. package/dist/node_modules/lucide/dist/esm/shared/src/utils/toCamelCase.cjs +16 -0
  345. package/dist/node_modules/lucide/dist/esm/shared/src/utils/toCamelCase.cjs.map +1 -0
  346. package/dist/node_modules/lucide/dist/esm/shared/src/utils/toCamelCase.js +14 -0
  347. package/dist/node_modules/lucide/dist/esm/shared/src/utils/toCamelCase.js.map +1 -0
  348. package/dist/node_modules/lucide/dist/esm/shared/src/utils/toPascalCase.cjs +19 -0
  349. package/dist/node_modules/lucide/dist/esm/shared/src/utils/toPascalCase.cjs.map +1 -0
  350. package/dist/node_modules/lucide/dist/esm/shared/src/utils/toPascalCase.js +17 -0
  351. package/dist/node_modules/lucide/dist/esm/shared/src/utils/toPascalCase.js.map +1 -0
  352. package/dist/nodes/content.cjs +186 -0
  353. package/dist/nodes/content.cjs.map +1 -0
  354. package/dist/nodes/content.d.ts +16 -0
  355. package/dist/nodes/content.js +184 -0
  356. package/dist/nodes/content.js.map +1 -0
  357. package/dist/nodes/geometry/ellipsePath.cjs +18 -0
  358. package/dist/nodes/geometry/ellipsePath.cjs.map +1 -0
  359. package/dist/nodes/geometry/ellipsePath.d.ts +5 -0
  360. package/dist/nodes/geometry/ellipsePath.js +16 -0
  361. package/dist/nodes/geometry/ellipsePath.js.map +1 -0
  362. package/dist/nodes/geometry/kitePath.cjs +15 -0
  363. package/dist/nodes/geometry/kitePath.cjs.map +1 -0
  364. package/dist/nodes/geometry/kitePath.d.ts +5 -0
  365. package/dist/nodes/geometry/kitePath.js +13 -0
  366. package/dist/nodes/geometry/kitePath.js.map +1 -0
  367. package/dist/nodes/geometry/octagonPath.cjs +23 -0
  368. package/dist/nodes/geometry/octagonPath.cjs.map +1 -0
  369. package/dist/nodes/geometry/octagonPath.d.ts +4 -0
  370. package/dist/nodes/geometry/octagonPath.js +21 -0
  371. package/dist/nodes/geometry/octagonPath.js.map +1 -0
  372. package/dist/nodes/geometry/parallelogramPath.cjs +16 -0
  373. package/dist/nodes/geometry/parallelogramPath.cjs.map +1 -0
  374. package/dist/nodes/geometry/parallelogramPath.d.ts +5 -0
  375. package/dist/nodes/geometry/parallelogramPath.js +14 -0
  376. package/dist/nodes/geometry/parallelogramPath.js.map +1 -0
  377. package/dist/nodes/geometry/pentagonPath.cjs +23 -0
  378. package/dist/nodes/geometry/pentagonPath.cjs.map +1 -0
  379. package/dist/nodes/geometry/pentagonPath.d.ts +4 -0
  380. package/dist/nodes/geometry/pentagonPath.js +21 -0
  381. package/dist/nodes/geometry/pentagonPath.js.map +1 -0
  382. package/dist/nodes/geometry/polygonPath.cjs +28 -0
  383. package/dist/nodes/geometry/polygonPath.cjs.map +1 -0
  384. package/dist/nodes/geometry/polygonPath.d.ts +5 -0
  385. package/dist/nodes/geometry/polygonPath.js +26 -0
  386. package/dist/nodes/geometry/polygonPath.js.map +1 -0
  387. package/dist/nodes/geometry/rectanglePath.cjs +23 -0
  388. package/dist/nodes/geometry/rectanglePath.cjs.map +1 -0
  389. package/dist/nodes/geometry/rectanglePath.d.ts +4 -0
  390. package/dist/nodes/geometry/rectanglePath.js +21 -0
  391. package/dist/nodes/geometry/rectanglePath.js.map +1 -0
  392. package/dist/nodes/geometry/semicirclePath.cjs +17 -0
  393. package/dist/nodes/geometry/semicirclePath.cjs.map +1 -0
  394. package/dist/nodes/geometry/semicirclePath.d.ts +5 -0
  395. package/dist/nodes/geometry/semicirclePath.js +15 -0
  396. package/dist/nodes/geometry/semicirclePath.js.map +1 -0
  397. package/dist/nodes/geometry/starPath.cjs +28 -0
  398. package/dist/nodes/geometry/starPath.cjs.map +1 -0
  399. package/dist/nodes/geometry/starPath.d.ts +4 -0
  400. package/dist/nodes/geometry/starPath.js +26 -0
  401. package/dist/nodes/geometry/starPath.js.map +1 -0
  402. package/dist/nodes/geometry/trapezoidPath.cjs +16 -0
  403. package/dist/nodes/geometry/trapezoidPath.cjs.map +1 -0
  404. package/dist/nodes/geometry/trapezoidPath.d.ts +5 -0
  405. package/dist/nodes/geometry/trapezoidPath.js +14 -0
  406. package/dist/nodes/geometry/trapezoidPath.js.map +1 -0
  407. package/dist/nodes/geometry/trianglePath.cjs +14 -0
  408. package/dist/nodes/geometry/trianglePath.cjs.map +1 -0
  409. package/dist/nodes/geometry/trianglePath.d.ts +5 -0
  410. package/dist/nodes/geometry/trianglePath.js +12 -0
  411. package/dist/nodes/geometry/trianglePath.js.map +1 -0
  412. package/dist/nodes/overlay.cjs +136 -0
  413. package/dist/nodes/overlay.cjs.map +1 -0
  414. package/dist/nodes/overlay.d.ts +24 -0
  415. package/dist/nodes/overlay.js +130 -0
  416. package/dist/nodes/overlay.js.map +1 -0
  417. package/dist/nodes/placement.cjs +346 -0
  418. package/dist/nodes/placement.cjs.map +1 -0
  419. package/dist/nodes/placement.d.ts +66 -0
  420. package/dist/nodes/placement.js +325 -0
  421. package/dist/nodes/placement.js.map +1 -0
  422. package/dist/nodes/ports.cjs +196 -0
  423. package/dist/nodes/ports.cjs.map +1 -0
  424. package/dist/nodes/ports.d.ts +12 -0
  425. package/dist/nodes/ports.js +194 -0
  426. package/dist/nodes/ports.js.map +1 -0
  427. package/dist/nodes/registry.cjs +26 -0
  428. package/dist/nodes/registry.cjs.map +1 -0
  429. package/dist/nodes/registry.d.ts +8 -0
  430. package/dist/nodes/registry.js +24 -0
  431. package/dist/nodes/registry.js.map +1 -0
  432. package/dist/nodes/shapes/circle.cjs +50 -0
  433. package/dist/nodes/shapes/circle.cjs.map +1 -0
  434. package/dist/nodes/shapes/circle.d.ts +2 -0
  435. package/dist/nodes/shapes/circle.js +48 -0
  436. package/dist/nodes/shapes/circle.js.map +1 -0
  437. package/dist/nodes/shapes/decagon.cjs +51 -0
  438. package/dist/nodes/shapes/decagon.cjs.map +1 -0
  439. package/dist/nodes/shapes/decagon.d.ts +5 -0
  440. package/dist/nodes/shapes/decagon.js +49 -0
  441. package/dist/nodes/shapes/decagon.js.map +1 -0
  442. package/dist/nodes/shapes/heptagon.cjs +51 -0
  443. package/dist/nodes/shapes/heptagon.cjs.map +1 -0
  444. package/dist/nodes/shapes/heptagon.d.ts +5 -0
  445. package/dist/nodes/shapes/heptagon.js +49 -0
  446. package/dist/nodes/shapes/heptagon.js.map +1 -0
  447. package/dist/nodes/shapes/hexagon.cjs +51 -0
  448. package/dist/nodes/shapes/hexagon.cjs.map +1 -0
  449. package/dist/nodes/shapes/hexagon.d.ts +5 -0
  450. package/dist/nodes/shapes/hexagon.js +49 -0
  451. package/dist/nodes/shapes/hexagon.js.map +1 -0
  452. package/dist/nodes/shapes/kite.cjs +43 -0
  453. package/dist/nodes/shapes/kite.cjs.map +1 -0
  454. package/dist/nodes/shapes/kite.d.ts +5 -0
  455. package/dist/nodes/shapes/kite.js +41 -0
  456. package/dist/nodes/shapes/kite.js.map +1 -0
  457. package/dist/nodes/shapes/nonagon.cjs +51 -0
  458. package/dist/nodes/shapes/nonagon.cjs.map +1 -0
  459. package/dist/nodes/shapes/nonagon.d.ts +5 -0
  460. package/dist/nodes/shapes/nonagon.js +49 -0
  461. package/dist/nodes/shapes/nonagon.js.map +1 -0
  462. package/dist/nodes/shapes/octagon.cjs +46 -0
  463. package/dist/nodes/shapes/octagon.cjs.map +1 -0
  464. package/dist/nodes/shapes/octagon.d.ts +2 -0
  465. package/dist/nodes/shapes/octagon.js +44 -0
  466. package/dist/nodes/shapes/octagon.js.map +1 -0
  467. package/dist/nodes/shapes/oval.cjs +43 -0
  468. package/dist/nodes/shapes/oval.cjs.map +1 -0
  469. package/dist/nodes/shapes/oval.d.ts +5 -0
  470. package/dist/nodes/shapes/oval.js +41 -0
  471. package/dist/nodes/shapes/oval.js.map +1 -0
  472. package/dist/nodes/shapes/parallelogram.cjs +44 -0
  473. package/dist/nodes/shapes/parallelogram.cjs.map +1 -0
  474. package/dist/nodes/shapes/parallelogram.d.ts +5 -0
  475. package/dist/nodes/shapes/parallelogram.js +42 -0
  476. package/dist/nodes/shapes/parallelogram.js.map +1 -0
  477. package/dist/nodes/shapes/pentagon.cjs +46 -0
  478. package/dist/nodes/shapes/pentagon.cjs.map +1 -0
  479. package/dist/nodes/shapes/pentagon.d.ts +2 -0
  480. package/dist/nodes/shapes/pentagon.js +44 -0
  481. package/dist/nodes/shapes/pentagon.js.map +1 -0
  482. package/dist/nodes/shapes/rectangle.cjs +43 -0
  483. package/dist/nodes/shapes/rectangle.cjs.map +1 -0
  484. package/dist/nodes/shapes/rectangle.d.ts +2 -0
  485. package/dist/nodes/shapes/rectangle.js +41 -0
  486. package/dist/nodes/shapes/rectangle.js.map +1 -0
  487. package/dist/nodes/shapes/rhombus.cjs +38 -0
  488. package/dist/nodes/shapes/rhombus.cjs.map +1 -0
  489. package/dist/nodes/shapes/rhombus.d.ts +2 -0
  490. package/dist/nodes/shapes/rhombus.js +36 -0
  491. package/dist/nodes/shapes/rhombus.js.map +1 -0
  492. package/dist/nodes/shapes/semicircle.cjs +38 -0
  493. package/dist/nodes/shapes/semicircle.cjs.map +1 -0
  494. package/dist/nodes/shapes/semicircle.d.ts +2 -0
  495. package/dist/nodes/shapes/semicircle.js +36 -0
  496. package/dist/nodes/shapes/semicircle.js.map +1 -0
  497. package/dist/nodes/shapes/star.cjs +51 -0
  498. package/dist/nodes/shapes/star.cjs.map +1 -0
  499. package/dist/nodes/shapes/star.d.ts +2 -0
  500. package/dist/nodes/shapes/star.js +49 -0
  501. package/dist/nodes/shapes/star.js.map +1 -0
  502. package/dist/nodes/shapes/trapezoid.cjs +44 -0
  503. package/dist/nodes/shapes/trapezoid.cjs.map +1 -0
  504. package/dist/nodes/shapes/trapezoid.d.ts +5 -0
  505. package/dist/nodes/shapes/trapezoid.js +42 -0
  506. package/dist/nodes/shapes/trapezoid.js.map +1 -0
  507. package/dist/nodes/shapes/triangle.cjs +42 -0
  508. package/dist/nodes/shapes/triangle.cjs.map +1 -0
  509. package/dist/nodes/shapes/triangle.d.ts +5 -0
  510. package/dist/nodes/shapes/triangle.js +40 -0
  511. package/dist/nodes/shapes/triangle.js.map +1 -0
  512. package/dist/types/index.d.ts +213 -0
  513. package/dist/utils/configMerger.cjs +147 -0
  514. package/dist/utils/configMerger.cjs.map +1 -0
  515. package/dist/utils/configMerger.d.ts +2 -0
  516. package/dist/utils/configMerger.js +145 -0
  517. package/dist/utils/configMerger.js.map +1 -0
  518. package/dist/utils/helpers.cjs +21 -0
  519. package/dist/utils/helpers.cjs.map +1 -0
  520. package/dist/utils/helpers.d.ts +13 -0
  521. package/dist/utils/helpers.js +18 -0
  522. package/dist/utils/helpers.js.map +1 -0
  523. package/dist/zenode.cjs.js +1228 -0
  524. package/dist/zenode.cjs.js.map +1 -0
  525. package/dist/zenode.esm.js +1203 -0
  526. package/dist/zenode.esm.js.map +1 -0
  527. package/dist/zenode.umd.js +1232 -0
  528. package/dist/zenode.umd.js.map +1 -0
  529. package/package.json +60 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.js","sources":["../../src/core/engine.ts"],"sourcesContent":[null],"names":["initDragBehavior","renderGhostLine"],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ 'use strict';
2
+
3
+ class EventManager {
4
+ constructor() {
5
+ this.listeners = {};
6
+ }
7
+ // Register a callback for an event type (e.g., "zoom", "shapePlaced", etc.)
8
+ on(eventType, callback) {
9
+ if (!this.listeners[eventType]) {
10
+ this.listeners[eventType] = [];
11
+ }
12
+ this.listeners[eventType].push(callback);
13
+ }
14
+ // Trigger an event and call all callbacks registered for that event type
15
+ trigger(eventType, event) {
16
+ if (this.listeners[eventType]) {
17
+ this.listeners[eventType].forEach(callback => callback(event));
18
+ }
19
+ }
20
+ // Remove a callback for an event type
21
+ off(eventType, callback) {
22
+ if (!this.listeners[eventType])
23
+ return;
24
+ this.listeners[eventType] = this.listeners[eventType].filter(l => l !== callback);
25
+ }
26
+ }
27
+
28
+ exports.EventManager = EventManager;
29
+ //# sourceMappingURL=eventManager.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eventManager.cjs","sources":["../../src/core/eventManager.ts"],"sourcesContent":[null],"names":[],"mappings":";;MAAa,YAAY,CAAA;AAAzB,IAAA,WAAA,GAAA;QACU,IAAS,CAAA,SAAA,GAAgD,EAAE;;;IAGnE,EAAE,CAAC,SAAiB,EAAE,QAA8B,EAAA;QAClD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE;AAC9B,YAAA,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE;;QAEhC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;;;IAI1C,OAAO,CAAC,SAAiB,EAAE,KAAU,EAAA;AACnC,QAAA,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE;AAC7B,YAAA,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC;;;;IAKlE,GAAG,CAAC,SAAiB,EAAE,QAA8B,EAAA;AACnD,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;YAAE;QAChC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC;;AAEpF;;;;"}
@@ -0,0 +1,6 @@
1
+ export declare class EventManager {
2
+ private listeners;
3
+ on(eventType: string, callback: (event: any) => void): void;
4
+ trigger(eventType: string, event: any): void;
5
+ off(eventType: string, callback: (event: any) => void): void;
6
+ }
@@ -0,0 +1,27 @@
1
+ class EventManager {
2
+ constructor() {
3
+ this.listeners = {};
4
+ }
5
+ // Register a callback for an event type (e.g., "zoom", "shapePlaced", etc.)
6
+ on(eventType, callback) {
7
+ if (!this.listeners[eventType]) {
8
+ this.listeners[eventType] = [];
9
+ }
10
+ this.listeners[eventType].push(callback);
11
+ }
12
+ // Trigger an event and call all callbacks registered for that event type
13
+ trigger(eventType, event) {
14
+ if (this.listeners[eventType]) {
15
+ this.listeners[eventType].forEach(callback => callback(event));
16
+ }
17
+ }
18
+ // Remove a callback for an event type
19
+ off(eventType, callback) {
20
+ if (!this.listeners[eventType])
21
+ return;
22
+ this.listeners[eventType] = this.listeners[eventType].filter(l => l !== callback);
23
+ }
24
+ }
25
+
26
+ export { EventManager };
27
+ //# sourceMappingURL=eventManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eventManager.js","sources":["../../src/core/eventManager.ts"],"sourcesContent":[null],"names":[],"mappings":"MAAa,YAAY,CAAA;AAAzB,IAAA,WAAA,GAAA;QACU,IAAS,CAAA,SAAA,GAAgD,EAAE;;;IAGnE,EAAE,CAAC,SAAiB,EAAE,QAA8B,EAAA;QAClD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE;AAC9B,YAAA,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE;;QAEhC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;;;IAI1C,OAAO,CAAC,SAAiB,EAAE,KAAU,EAAA;AACnC,QAAA,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE;AAC7B,YAAA,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC;;;;IAKlE,GAAG,CAAC,SAAiB,EAAE,QAA8B,EAAA;AACnD,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;YAAE;QAChC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC;;AAEpF;;;;"}
@@ -0,0 +1,182 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * Concrete command for adding a node.
5
+ */
6
+ class AddNodeCommand {
7
+ constructor(engine, nodeConfig) {
8
+ this.engine = engine;
9
+ this.nodeConfig = nodeConfig;
10
+ }
11
+ execute() {
12
+ this.engine.addNode(this.nodeConfig, false); // false = don't record to history
13
+ }
14
+ undo() {
15
+ this.engine.removeNode(this.nodeConfig.id, false); // false = don't record to history
16
+ }
17
+ }
18
+ /**
19
+ * Concrete command for removing a node.
20
+ */
21
+ class RemoveNodeCommand {
22
+ constructor(engine, nodeId) {
23
+ this.engine = engine;
24
+ this.nodeId = nodeId;
25
+ this.deletedEdges = [];
26
+ this.deletedNode = engine.getNode(nodeId);
27
+ this.deletedEdges = engine.getAllEdges().filter((e) => e.sourceNodeId === nodeId || e.targetNodeId === nodeId);
28
+ }
29
+ execute() {
30
+ this.engine.removeNode(this.nodeId, false);
31
+ }
32
+ undo() {
33
+ if (this.deletedNode) {
34
+ this.engine.addNode(this.deletedNode, false);
35
+ this.deletedEdges.forEach(edge => {
36
+ this.engine.addEdge(edge, false);
37
+ });
38
+ }
39
+ }
40
+ }
41
+ /**
42
+ * Concrete command for adding an edge.
43
+ */
44
+ class AddEdgeCommand {
45
+ constructor(engine, edgeConfig) {
46
+ this.engine = engine;
47
+ this.edgeConfig = edgeConfig;
48
+ }
49
+ execute() {
50
+ this.engine.addEdge(this.edgeConfig, false);
51
+ }
52
+ undo() {
53
+ this.engine.removeEdge(this.edgeConfig.id, false);
54
+ }
55
+ }
56
+ /**
57
+ * Concrete command for removing an edge.
58
+ */
59
+ class RemoveEdgeCommand {
60
+ constructor(engine, edge) {
61
+ this.engine = engine;
62
+ this.edge = edge;
63
+ }
64
+ execute() {
65
+ this.engine.removeEdge(this.edge.id, false);
66
+ }
67
+ undo() {
68
+ this.engine.addEdge(this.edge, false);
69
+ }
70
+ }
71
+ /**
72
+ * Concrete command for updating any node properties (position, rotation, dimensions, content).
73
+ */
74
+ class UpdateNodeCommand {
75
+ constructor(engine, nodeId, oldState, // Store full state for perfect undo
76
+ newState // Store new state or patch for redo
77
+ ) {
78
+ this.engine = engine;
79
+ this.nodeId = nodeId;
80
+ this.oldState = oldState;
81
+ this.newState = newState;
82
+ }
83
+ execute() {
84
+ this.engine.updateNode(this.nodeId, this.newState, false);
85
+ }
86
+ undo() {
87
+ this.engine.updateNode(this.nodeId, this.oldState, false);
88
+ }
89
+ }
90
+ /**
91
+ * Concrete command for updating the global engine configuration.
92
+ */
93
+ class UpdateConfigCommand {
94
+ constructor(engine, oldConfig, newConfig) {
95
+ this.engine = engine;
96
+ this.oldConfig = oldConfig;
97
+ this.newConfig = newConfig;
98
+ }
99
+ execute() {
100
+ this.engine.updateConfig(this.newConfig, false);
101
+ }
102
+ undo() {
103
+ this.engine.updateConfig(this.oldConfig, false);
104
+ }
105
+ }
106
+ /**
107
+ * Concrete command for adding a visual group.
108
+ */
109
+ class AddVisualGroupCommand {
110
+ constructor(engine, group) {
111
+ this.engine = engine;
112
+ this.group = group;
113
+ }
114
+ execute() {
115
+ var _a, _b;
116
+ (_b = (_a = this.engine).restoreVisualGroup) === null || _b === void 0 ? void 0 : _b.call(_a, this.group);
117
+ }
118
+ undo() {
119
+ var _a, _b;
120
+ (_b = (_a = this.engine).removeVisualGroup) === null || _b === void 0 ? void 0 : _b.call(_a, this.group.id);
121
+ }
122
+ }
123
+ /**
124
+ * Concrete command for removing a visual group.
125
+ */
126
+ class RemoveVisualGroupCommand {
127
+ constructor(engine, group) {
128
+ this.engine = engine;
129
+ this.group = group;
130
+ }
131
+ execute() {
132
+ var _a, _b;
133
+ (_b = (_a = this.engine).removeVisualGroup) === null || _b === void 0 ? void 0 : _b.call(_a, this.group.id);
134
+ }
135
+ undo() {
136
+ var _a, _b;
137
+ (_b = (_a = this.engine).restoreVisualGroup) === null || _b === void 0 ? void 0 : _b.call(_a, this.group);
138
+ }
139
+ }
140
+ /**
141
+ * Concrete command for batching multiple operations into one undo step.
142
+ */
143
+ class BatchCommand {
144
+ constructor(commands) {
145
+ this.commands = commands;
146
+ }
147
+ execute() {
148
+ this.commands.forEach(cmd => cmd.execute());
149
+ }
150
+ undo() {
151
+ // Undo in reverse order to maintain state integrity
152
+ this.commands.slice().reverse().forEach(cmd => cmd.undo());
153
+ }
154
+ }
155
+ /**
156
+ * Concrete command for reordering nodes (Z-index).
157
+ */
158
+ class ReorderNodesCommand {
159
+ constructor(engine, oldOrder, newOrder) {
160
+ this.engine = engine;
161
+ this.oldOrder = oldOrder;
162
+ this.newOrder = newOrder;
163
+ }
164
+ execute() {
165
+ this.engine.setNodeOrder(this.newOrder, false);
166
+ }
167
+ undo() {
168
+ this.engine.setNodeOrder(this.oldOrder, false);
169
+ }
170
+ }
171
+
172
+ exports.AddEdgeCommand = AddEdgeCommand;
173
+ exports.AddNodeCommand = AddNodeCommand;
174
+ exports.AddVisualGroupCommand = AddVisualGroupCommand;
175
+ exports.BatchCommand = BatchCommand;
176
+ exports.RemoveEdgeCommand = RemoveEdgeCommand;
177
+ exports.RemoveNodeCommand = RemoveNodeCommand;
178
+ exports.RemoveVisualGroupCommand = RemoveVisualGroupCommand;
179
+ exports.ReorderNodesCommand = ReorderNodesCommand;
180
+ exports.UpdateConfigCommand = UpdateConfigCommand;
181
+ exports.UpdateNodeCommand = UpdateNodeCommand;
182
+ //# sourceMappingURL=command.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command.cjs","sources":["../../../src/core/history/command.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,119 @@
1
+ /**
2
+ * Base interface for all undoable actions in the Zenode engine.
3
+ */
4
+ export interface Command {
5
+ execute(): void;
6
+ undo(): void;
7
+ commands?: Command[];
8
+ metadata?: {
9
+ id: string;
10
+ label: string;
11
+ timestamp: number;
12
+ };
13
+ }
14
+ /**
15
+ * Concrete command for adding a node.
16
+ */
17
+ export declare class AddNodeCommand implements Command {
18
+ private engine;
19
+ private nodeConfig;
20
+ constructor(engine: any, nodeConfig: any);
21
+ execute(): void;
22
+ undo(): void;
23
+ }
24
+ /**
25
+ * Concrete command for removing a node.
26
+ */
27
+ export declare class RemoveNodeCommand implements Command {
28
+ private engine;
29
+ private nodeId;
30
+ private deletedNode;
31
+ private deletedEdges;
32
+ constructor(engine: any, nodeId: string);
33
+ execute(): void;
34
+ undo(): void;
35
+ }
36
+ /**
37
+ * Concrete command for adding an edge.
38
+ */
39
+ export declare class AddEdgeCommand implements Command {
40
+ private engine;
41
+ private edgeConfig;
42
+ constructor(engine: any, edgeConfig: any);
43
+ execute(): void;
44
+ undo(): void;
45
+ }
46
+ /**
47
+ * Concrete command for removing an edge.
48
+ */
49
+ export declare class RemoveEdgeCommand implements Command {
50
+ private engine;
51
+ private edge;
52
+ constructor(engine: any, edge: any);
53
+ execute(): void;
54
+ undo(): void;
55
+ }
56
+ /**
57
+ * Concrete command for updating any node properties (position, rotation, dimensions, content).
58
+ */
59
+ export declare class UpdateNodeCommand implements Command {
60
+ private engine;
61
+ private nodeId;
62
+ private oldState;
63
+ private newState;
64
+ constructor(engine: any, nodeId: string, oldState: any, // Store full state for perfect undo
65
+ newState: any);
66
+ execute(): void;
67
+ undo(): void;
68
+ }
69
+ /**
70
+ * Concrete command for updating the global engine configuration.
71
+ */
72
+ export declare class UpdateConfigCommand implements Command {
73
+ private engine;
74
+ private oldConfig;
75
+ private newConfig;
76
+ constructor(engine: any, oldConfig: any, newConfig: any);
77
+ execute(): void;
78
+ undo(): void;
79
+ }
80
+ /**
81
+ * Concrete command for adding a visual group.
82
+ */
83
+ export declare class AddVisualGroupCommand implements Command {
84
+ private engine;
85
+ private group;
86
+ constructor(engine: any, group: any);
87
+ execute(): void;
88
+ undo(): void;
89
+ }
90
+ /**
91
+ * Concrete command for removing a visual group.
92
+ */
93
+ export declare class RemoveVisualGroupCommand implements Command {
94
+ private engine;
95
+ private group;
96
+ constructor(engine: any, group: any);
97
+ execute(): void;
98
+ undo(): void;
99
+ }
100
+ /**
101
+ * Concrete command for batching multiple operations into one undo step.
102
+ */
103
+ export declare class BatchCommand implements Command {
104
+ commands: Command[];
105
+ constructor(commands: Command[]);
106
+ execute(): void;
107
+ undo(): void;
108
+ }
109
+ /**
110
+ * Concrete command for reordering nodes (Z-index).
111
+ */
112
+ export declare class ReorderNodesCommand implements Command {
113
+ private engine;
114
+ private oldOrder;
115
+ private newOrder;
116
+ constructor(engine: any, oldOrder: string[], newOrder: string[]);
117
+ execute(): void;
118
+ undo(): void;
119
+ }