@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.cjs","sources":["../../src/core/engine.ts"],"sourcesContent":[null],"names":["LicenseManager","SmartRouter","mergeConfig","ShapeRegistry","EventManager","ContextPadRegistry","UndoManager","ValidationEngine","ContextPadRenderer","d3","updateGridTransform","UpdateConfigCommand","renderPlacedNodes","UpdateNodeCommand","BatchCommand","RectangleRenderer","CircleRenderer","RhombusRenderer","SemicircleRenderer","PentagonRenderer","OctagonRenderer","StarRenderer","OvalRenderer","TriangleRenderer","TrapezoidRenderer","ParallelogramRenderer","KiteRenderer","HexagonRenderer","HeptagonRenderer","NonagonRenderer","DecagonRenderer","drawCanvas","drawGrid","ZoomManager","loadOnboardingSample","AddNodeCommand","RemoveNodeCommand","AddEdgeCommand","RemoveEdgeCommand","AddVisualGroupCommand","RemoveVisualGroupCommand","buildResolvedShapeConfig","initDragBehavior","renderConnections","snapToGrid","generatePlacedNodeId","renderGhostLine","lockedCanvas","toggleGrid"],"mappings":"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"}
@@ -0,0 +1,444 @@
1
+ import { Config } from "../model/configurationModel.js";
2
+ import { ZoomManager } from "./zoom&PanManager.js";
3
+ import { CanvasElements, PlacedNode, VisualGroup } from "../model/interface.js";
4
+ import { ContextPadAction, ContextPadTarget, ShapeRenderer, BoundingBox, VisualState, NodeConfig, NodeData, EdgeConfig, EdgeData } from "../types/index.js";
5
+ import { StoredConnection } from "../connections/render.js";
6
+ import { ShapeRegistry } from "../nodes/registry.js";
7
+ export declare class ZenodeEngine {
8
+ container: HTMLElement | null;
9
+ private config;
10
+ shapeRegistry: ShapeRegistry;
11
+ svg: any;
12
+ private grid;
13
+ private alignmentLine;
14
+ private elements;
15
+ private zoomBehaviour;
16
+ private shapeMap;
17
+ private shapes;
18
+ private connections;
19
+ /** Placed nodes on the canvas. Source of truth for g.placed-nodes layer. */
20
+ private placedNodes;
21
+ /** Selected node ids (single or multi-select). */
22
+ private selectedNodeIds;
23
+ /** Selected edge ids (single or multi-select). */
24
+ private selectedEdgeIds;
25
+ /** Controls whether lasso interaction is active on canvas background drag. */
26
+ private lassoEnabled;
27
+ /** Prevents background click handler from clearing selection right after lasso mouseup. */
28
+ private suppressNextCanvasClick;
29
+ /** When set, next click will place a node of this type/config (preview → placed). */
30
+ placementContext: {
31
+ type: string;
32
+ variantId?: string;
33
+ ghostId: string;
34
+ } | null;
35
+ /** When set, a connection is being dragged from this port. */
36
+ private connectionDragContext;
37
+ connectionModeEnabled: boolean;
38
+ rotationModeEnabled: boolean;
39
+ resizeModeEnabled: boolean;
40
+ private licenseManager;
41
+ private smartRouter;
42
+ private smartRoutingEnabled;
43
+ private activeConnectionType;
44
+ private eventManager;
45
+ zoomManager: ZoomManager;
46
+ canvasObject: CanvasElements;
47
+ private canvasContainerGroup;
48
+ private contextPadRegistry;
49
+ private contextPadRenderer;
50
+ private activeOperation;
51
+ private undoManager;
52
+ private selectionKeyboardListener;
53
+ private clipboard;
54
+ private editingNodeId;
55
+ private onWindowMouseUp;
56
+ private onWindowMouseMove;
57
+ /** Transient visual groups (for interaction only, no structural parentId). */
58
+ private visualGroups;
59
+ private demoEnabled;
60
+ private validationEngine;
61
+ constructor(container: HTMLElement | null, config: Partial<Config>);
62
+ private initializeContextPad;
63
+ undo(): void;
64
+ clear(): void;
65
+ redo(): void;
66
+ private setupKeyboardShortcuts;
67
+ /**
68
+ * Registers a custom action for the context pad.
69
+ */
70
+ isConnectionModeEnabled(): boolean;
71
+ registerContextPadAction(action: ContextPadAction): void;
72
+ unregisterContextAction(id: string): void;
73
+ /**
74
+ * Listens to engine events (including context pad events).
75
+ */
76
+ on(eventType: string, callback: (event: any) => void): void;
77
+ off(eventType: string, callback: (event: any) => void): void;
78
+ /**
79
+ * Manually shows the context pad for a specific target.
80
+ */
81
+ showContextPad(target: ContextPadTarget): void;
82
+ /**
83
+ * Updates canvas dimensions without a full re-render.
84
+ */
85
+ resizeCanvas(width: number, height: number): void;
86
+ updateConfig(newConfig: Partial<Config>, recordHistory?: boolean): void;
87
+ /**
88
+ * Manually hides the context pad.
89
+ */
90
+ hideContextPad(): void;
91
+ beginOperation(nodeId: string, type: 'drag' | 'rotate' | 'resize'): void;
92
+ endOperation(): void;
93
+ getActiveOperation(): {
94
+ type: string;
95
+ nodeId: string;
96
+ originalData: PlacedNode;
97
+ selectionStates?: Map<string, PlacedNode>;
98
+ } | null;
99
+ emit(eventType: string, event: any): void;
100
+ private initDrag;
101
+ private registerBuiltInShapes;
102
+ /** Public API for custom shape extension. */
103
+ registerShape(name: string, renderer: ShapeRenderer): void;
104
+ initializeCanvas(): void;
105
+ /** SVG root DOM node — passed to DragApi for correct pointer coordinate transform */
106
+ get svgNode(): SVGSVGElement;
107
+ /** Returns current placement context (shape type + config for next click). */
108
+ getPlacementContext(): {
109
+ type: string;
110
+ variantId?: string;
111
+ ghostId: string;
112
+ } | null;
113
+ /** Clears placement context (e.g. after placing or cancel). */
114
+ clearPlacementContext(): void;
115
+ /**
116
+ * Loads a small, pre-built sample workflow to guide new users.
117
+ */
118
+ loadSampleWorkflow(): void;
119
+ /**
120
+ * Programmatically adds a node to the canvas.
121
+ * @param config Partial configuration for the new node.
122
+ * @returns The ID of the created node.
123
+ */
124
+ addNode(config: NodeConfig, recordHistory?: boolean): string;
125
+ /**
126
+ * Removes a node and its associated connections.
127
+ */
128
+ removeNode(id: string, recordHistory?: boolean): void;
129
+ /**
130
+ * Updates an existing node's properties.
131
+ */
132
+ updateNode(id: string, patch: Partial<NodeConfig>, recordHistory?: boolean): void;
133
+ /**
134
+ * Sets the status of a node for live execution feedback.
135
+ * @param id Node ID
136
+ * @param status 'idle' | 'running' | 'success' | 'error' | 'warning'
137
+ */
138
+ setNodeStatus(id: string, status: "idle" | "running" | "success" | "error" | "warning"): void;
139
+ /**
140
+ * Centers the viewport on a specific node with optional zoom and transition settings.
141
+ */
142
+ focusNode(id: string, options?: {
143
+ zoom?: number;
144
+ duration?: number;
145
+ offset?: {
146
+ x: number;
147
+ y: number;
148
+ };
149
+ }): void;
150
+ /**
151
+ * Temporarily highlights a node for visual emphasis using configurable effects.
152
+ */
153
+ highlight(id: string, options?: {
154
+ color?: string;
155
+ duration?: number;
156
+ intensity?: number;
157
+ }): void;
158
+ /**
159
+ * Retrieves a node's full state.
160
+ */
161
+ getNode(id: string): NodeData | null;
162
+ /**
163
+ * Returns all nodes currently on the canvas.
164
+ */
165
+ getAllNodes(): NodeData[];
166
+ /**
167
+ * Clones a node with a slight offset.
168
+ */
169
+ duplicateNode(id: string): string;
170
+ /** Helper to trigger diagram layer re-renders */
171
+ refreshNodes(): void;
172
+ /**
173
+ * Retrieves a node object by ID.
174
+ */
175
+ private getPlacedNode;
176
+ /**
177
+ * Copies currently selected nodes and internal edges to the engine clipboard.
178
+ */
179
+ copySelection(): void;
180
+ /**
181
+ * Pastes items from the engine clipboard onto the canvas with a small offset.
182
+ * Maintains internal connections between pasted nodes.
183
+ */
184
+ pasteSelection(offset?: {
185
+ x: number;
186
+ y: number;
187
+ }): void;
188
+ /**
189
+ * Programmatically creates a connection between two nodes.
190
+ * @returns The ID of the created connection.
191
+ */
192
+ addEdge(config: EdgeConfig, recordHistory?: boolean): string;
193
+ /**
194
+ * Removes a connection by ID.
195
+ */
196
+ removeEdge(id: string, recordHistory?: boolean): void;
197
+ /**
198
+ * Returns a specific connection's state.
199
+ */
200
+ getEdge(id: string): EdgeData | null;
201
+ /**
202
+ * Returns all connections on the canvas.
203
+ */
204
+ getAllEdges(): EdgeData[];
205
+ /**
206
+ * Returns a unified snapshot of the current diagram state.
207
+ * Useful for persistence, syncing, or debugging.
208
+ */
209
+ getDiagramState(): {
210
+ nodes: NodeData[];
211
+ edges: EdgeData[];
212
+ viewport: {
213
+ x: number;
214
+ y: number;
215
+ zoom: number;
216
+ };
217
+ };
218
+ validate(): import("./validation.js").ValidationResult;
219
+ toJSON(): string;
220
+ /**
221
+ * Sets the ID of the node currently being edited in-place.
222
+ * This is used to suppress SVG rendering while the UI editor is active.
223
+ */
224
+ setEditingNode(id: string | null): void;
225
+ /** Gets the current editing node ID. */
226
+ getEditingNodeId(): string | null;
227
+ /**
228
+ * Clears the current canvas and loads state from a Zenode JSON string.
229
+ */
230
+ fromJSON(json: string): void;
231
+ /**
232
+ * Aligns selected nodes in a specific direction.
233
+ */
234
+ alignSelection(direction: "left" | "center" | "right" | "top" | "middle" | "bottom"): void;
235
+ /**
236
+ * Distributes selected nodes uniformly.
237
+ */
238
+ distributeSelection(direction: "horizontal" | "vertical"): void;
239
+ /**
240
+ * Reorders the internal placedNodes array based on a list of IDs.
241
+ * Higher index = rendered on top.
242
+ */
243
+ setNodeOrder(newIds: string[], recordHistory?: boolean): void;
244
+ /**
245
+ * Moves specific nodes to the end of the drawing array so they appear on top.
246
+ */
247
+ bringToFront(ids: string[]): void;
248
+ /**
249
+ * Moves specific nodes to the beginning of the drawing array so they appear behind others.
250
+ */
251
+ sendToBack(ids: string[]): void;
252
+ /**
253
+ * Programmatically triggers the text editor for a node or edge.
254
+ */
255
+ beginLabelEdit(id: string, kind: 'node' | 'edge'): void;
256
+ /** Robust unique ID generator */
257
+ private generateId;
258
+ /** Removes mousemove and click handlers used for placement; stops preview. */
259
+ removePlacementListeners(): void;
260
+ /**
261
+ * Cancels any active placement operation.
262
+ */
263
+ cancelPlacement(): void;
264
+ /** Returns selected node ids. */
265
+ getSelectedNodeIds(): string[];
266
+ /** Placement and Preview APIs */
267
+ setPlacementContext(type: string, variantId?: string, ghostId?: string): void;
268
+ startPlacement(type: string, variantId: string, initialPoint?: {
269
+ x: number;
270
+ y: number;
271
+ }): string;
272
+ updatePlacementPreview(x: number, y: number): void;
273
+ completePlacement(): string;
274
+ private getCanvasPointFromEvent;
275
+ /** Returns whether a connection is currently being drawn. */
276
+ isDrawingConnection(): boolean;
277
+ /** Sets whether connection drawing mode is enabled. */
278
+ setLicense(key: string): void;
279
+ setSmartRoutingEnabled(enabled: boolean): void;
280
+ getLicenseTier(): string;
281
+ isSmartRoutingEnabled(): boolean;
282
+ setConnectionModeEnabled(enabled: boolean): void;
283
+ isRotationModeEnabled(): boolean;
284
+ setRotationModeEnabled(enabled: boolean): void;
285
+ isResizeModeEnabled(): boolean;
286
+ setResizeModeEnabled(enabled: boolean): void;
287
+ /** Sets the active connection type for newly created connections. */
288
+ setActiveConnectionType(type: string): void;
289
+ /** Sets selected node ids and re-renders selection rings. */
290
+ setSelectedNodeIds(ids: string[], primaryId?: string): void;
291
+ groupSelection(recordHistory?: boolean): void;
292
+ ungroupSelection(recordHistory?: boolean): void;
293
+ /** Internal helpers for undo/redo */
294
+ restoreVisualGroup(group: VisualGroup): void;
295
+ removeVisualGroup(groupId: string): void;
296
+ toggleGroupingSelection(): void;
297
+ getVisualGroups(): VisualGroup[];
298
+ getSelectedEdgeIds(): string[];
299
+ setSelectedEdgeIds(ids: string[]): void;
300
+ toggleConnectionStyle(id: string, property: 'dashed' | 'animated'): void;
301
+ getConnections(): StoredConnection[];
302
+ getGroupBounds(groupId: string, overrideNodes?: Map<string, PlacedNode>): BoundingBox | null;
303
+ /** Clears all selections. */
304
+ clearSelection(): void;
305
+ /** Enable/disable lasso selection interaction. */
306
+ setLassoEnabled(enabled: boolean): void;
307
+ isLassoEnabled(): boolean;
308
+ /**
309
+ * Places a node on the canvas: appends to state and re-renders g.placed-nodes.
310
+ * @param node - Node to place (id must be unique; use generatePlacedNodeId() if creating new).
311
+ */
312
+ placeNode(node: PlacedNode, recordHistory?: boolean): void;
313
+ /** Returns a copy of the current placed nodes (immutable). */
314
+ getPlacedNodes(): PlacedNode[];
315
+ /**
316
+ * Updates a placed node's position and triggers sub-renders.
317
+ */
318
+ updateNodePosition(id: string, x: number, y: number, recordHistory?: boolean): void;
319
+ /**
320
+ * Updates a node's rotation.
321
+ */
322
+ rotateNode(id: string, rotation: number, recordHistory?: boolean): void;
323
+ /**
324
+ * Updates a node's dimensions (width/height or radius).
325
+ */
326
+ updateNodeDimensions(id: string, dimensions: {
327
+ width?: number;
328
+ height?: number;
329
+ radius?: number;
330
+ }, recordHistory?: boolean): void;
331
+ zoomIn(): void;
332
+ zoomOut(): void;
333
+ createDragBehavior(): any;
334
+ zoomTo(scale: number): void;
335
+ focusOnNode(id: string): void;
336
+ focusOnSelectedNode(): void;
337
+ panBy(dx: number, dy: number): void;
338
+ deleteSelection(recordHistory?: boolean): void;
339
+ reRenderConnections(): void;
340
+ /**
341
+ * Converts a mouse event to canvas coordinates (with optional grid snap).
342
+ * Used for placement and hit-testing.
343
+ */
344
+ getCanvasPoint(event: MouseEvent): {
345
+ x: number;
346
+ y: number;
347
+ };
348
+ /**
349
+ * Creates a shape on the canvas by starting the placement operation.
350
+ * @param shapeType - Type of shape ('rectangle', 'circle', 'rhombus').
351
+ * @param id - Shape variant id from config (e.g. 'task0').
352
+ * @param data - Optional initial data
353
+ */
354
+ createShape(shapeType: string, id: string, data?: any): void;
355
+ /**
356
+ * Places a shape immediately at the given canvas coordinates.
357
+ * Internal common logic for Drop and DblClick placement.
358
+ */
359
+ placeShapeAt(shapeType: string, variantId: string, x: number, y: number, data?: any): PlacedNode | undefined;
360
+ /**
361
+ * Places a shape at a safe, non-overlapping position within the current viewport.
362
+ * Useful for double-click placement.
363
+ */
364
+ placeShapeAtSafePos(shapeType: string, variantId: string, data?: any): void;
365
+ /**
366
+ * Handles native drag-and-drop events to place shapes on the canvas.
367
+ */
368
+ handleDrop(event: DragEvent): void;
369
+ /**
370
+ * Creates a connection between two placed nodes by their node ids.
371
+ * (Full connector UI is Phase 2; this records the connection in state.)
372
+ * @param sourceNodeId - Placed node id (from getPlacedNodes()[i].id).
373
+ * @param targetNodeId - Placed node id.
374
+ */
375
+ createConnection(sourceNodeId: string, targetNodeId: string): void;
376
+ /**
377
+ * Updates a node's visual state without mutating geometry/state in place.
378
+ */
379
+ updateNodeVisualState(id: string, patch: Partial<VisualState>): void;
380
+ /**
381
+ * Updates an edge/connection visual state immutably and re-renders connections.
382
+ */
383
+ updateEdgeVisualState(id: string, patch: Partial<VisualState>): void;
384
+ /**
385
+ * Updates the content (text, icon, layout) of a placed node.
386
+ * Immutably merges the patch and re-renders.
387
+ */
388
+ updateNodeContent(id: string, content: import("../types/index.js").NodeContent, recordHistory?: boolean): void;
389
+ /**
390
+ * Starts a connection drag from a specific port.
391
+ */
392
+ startConnectionDrag(sourceNodeId: string, sourcePortId: string, startPoint: {
393
+ x: number;
394
+ y: number;
395
+ }): void;
396
+ /**
397
+ * Updates the current drag point for the ghost connection.
398
+ */
399
+ updateConnectionDrag(currentPoint: {
400
+ x: number;
401
+ y: number;
402
+ }): void;
403
+ findClosestPort(point: {
404
+ x: number;
405
+ y: number;
406
+ }, threshold?: number): {
407
+ nodeId: string;
408
+ portId: string;
409
+ point: {
410
+ x: number;
411
+ y: number;
412
+ };
413
+ } | undefined;
414
+ /**
415
+ * Completes the connection drag and creates a new connection if dropped on a port.
416
+ */
417
+ endConnectionDrag(targetNodeId?: string, targetPortId?: string): void;
418
+ private cleanupGhostConnection;
419
+ createConnectionFromPorts(sourceNodeId: string, sourcePortId: string, targetNodeId: string, targetPortId: string, recordHistory?: boolean): void;
420
+ private renderGhostConnection;
421
+ getGroupPorts(groupId: string, overrideNodes?: Map<string, PlacedNode>): Record<string, {
422
+ x: number;
423
+ y: number;
424
+ }> | null;
425
+ lockedTheCanvas(locked: boolean): void;
426
+ gridToggles(toggle: boolean): void;
427
+ private bindSelectionInteractions;
428
+ private getCanvasPointRaw;
429
+ private intersectsLasso;
430
+ private toCanvasBounds;
431
+ private getShapeStyle;
432
+ private matchesShortcut;
433
+ private isTypingTarget;
434
+ }
435
+ export declare function initializeCanvas(container: HTMLElement | null, config: Partial<Config>): ZenodeEngine;
436
+ export declare function createShape(type: string, id: string, event: MouseEvent, data?: any): void;
437
+ export declare function gridToggle(toggle: boolean): void;
438
+ export declare function lockCanvas(isLocked: boolean): void;
439
+ export declare function alignmentLineToggle(toggle: boolean): void;
440
+ export declare function deleteShape(toggle: boolean, shapeid: number): void;
441
+ export declare function resetCanvas(config: Config): void;
442
+ export declare function activateLassoTool(activate: boolean): void;
443
+ export declare function setLassoEnabled(enabled: boolean): void;
444
+ export declare function createConnection(from: string, to: string): void;