@grafloria/element 0.3.18 → 0.3.19

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 (1709) hide show
  1. package/jest.config.ts +16 -0
  2. package/package.json +2 -2
  3. package/project.json +44 -0
  4. package/src/front-door-probe.spec.ts +173 -0
  5. package/src/index.d.ts +2 -1
  6. package/src/index.js +11 -2
  7. package/src/index.js.map +1 -1
  8. package/src/index.ts +804 -0
  9. package/src/lib/dashboard-kit/dashboard.js.map +1 -1
  10. package/src/lib/dashboard-kit/dashboard.spec.ts +821 -0
  11. package/src/lib/dashboard-kit/dashboard.ts +906 -0
  12. package/src/lib/dashboard-kit/grid-binder.js +16 -15
  13. package/src/lib/dashboard-kit/grid-binder.js.map +1 -1
  14. package/src/lib/dashboard-kit/grid-binder.ts +1976 -0
  15. package/src/lib/dashboard-kit/grid-mapping.js.map +1 -1
  16. package/src/lib/dashboard-kit/grid-mapping.spec.ts +308 -0
  17. package/src/lib/dashboard-kit/grid-mapping.ts +283 -0
  18. package/src/lib/dashboard-kit/index.js.map +1 -1
  19. package/src/lib/dashboard-kit/index.ts +56 -0
  20. package/src/lib/dashboard-kit/styles.js +9 -3
  21. package/src/lib/dashboard-kit/styles.js.map +1 -1
  22. package/src/lib/dashboard-kit/styles.ts +206 -0
  23. package/src/lib/dashboard-kit/widgets.js.map +1 -1
  24. package/src/lib/dashboard-kit/widgets.spec.ts +239 -0
  25. package/src/lib/dashboard-kit/widgets.ts +484 -0
  26. package/src/lib/diagram-kit/card.js.map +1 -1
  27. package/src/lib/diagram-kit/card.ts +219 -0
  28. package/src/lib/diagram-kit/diagram-kit.spec.ts +465 -0
  29. package/src/lib/diagram-kit/editing.js.map +1 -1
  30. package/src/lib/diagram-kit/editing.spec.ts +172 -0
  31. package/src/lib/diagram-kit/editing.ts +493 -0
  32. package/src/lib/diagram-kit/er.js.map +1 -1
  33. package/src/lib/diagram-kit/er.ts +246 -0
  34. package/src/lib/diagram-kit/handles.js.map +1 -1
  35. package/src/lib/diagram-kit/handles.spec.ts +224 -0
  36. package/src/lib/diagram-kit/handles.ts +375 -0
  37. package/src/lib/diagram-kit/index.d.ts +1 -0
  38. package/src/lib/diagram-kit/index.js +11 -1
  39. package/src/lib/diagram-kit/index.js.map +1 -1
  40. package/src/lib/diagram-kit/index.ts +66 -0
  41. package/src/lib/diagram-kit/join-guidance.d.ts +116 -0
  42. package/src/lib/diagram-kit/join-guidance.js +331 -0
  43. package/src/lib/diagram-kit/join-guidance.js.map +1 -0
  44. package/src/lib/diagram-kit/join-guidance.spec.ts +241 -0
  45. package/src/lib/diagram-kit/join-guidance.ts +390 -0
  46. package/src/lib/diagram-kit/rows.js.map +1 -1
  47. package/src/lib/diagram-kit/rows.ts +174 -0
  48. package/src/lib/diagram-kit/styles.js.map +1 -1
  49. package/src/lib/diagram-kit/styles.ts +118 -0
  50. package/src/lib/diagram-kit/uml.js.map +1 -1
  51. package/src/lib/diagram-kit/uml.ts +213 -0
  52. package/src/lib/diagram-kit/update.js.map +1 -1
  53. package/src/lib/diagram-kit/update.spec.ts +208 -0
  54. package/src/lib/diagram-kit/update.ts +324 -0
  55. package/src/lib/grafloria-flow-element.js.map +1 -1
  56. package/src/lib/grafloria-flow-element.spec.ts +290 -0
  57. package/src/lib/grafloria-flow-element.ts +298 -0
  58. package/src/lib/grafloria.js.map +1 -1
  59. package/src/lib/grafloria.ts +151 -0
  60. package/src/lib/load.js.map +1 -1
  61. package/src/lib/load.spec.ts +565 -0
  62. package/src/lib/load.ts +359 -0
  63. package/src/lib/node-type-registry.js.map +1 -1
  64. package/src/lib/node-type-registry.ts +76 -0
  65. package/src/lib/stencil-kit/builders.js.map +1 -1
  66. package/src/lib/stencil-kit/builders.ts +58 -0
  67. package/src/lib/stencil-kit/card-builders.js.map +1 -1
  68. package/src/lib/stencil-kit/card-builders.ts +113 -0
  69. package/src/lib/stencil-kit/index.js.map +1 -1
  70. package/src/lib/stencil-kit/index.ts +17 -0
  71. package/src/lib/stencil-kit/palette.js +60 -6
  72. package/src/lib/stencil-kit/palette.js.map +1 -1
  73. package/src/lib/stencil-kit/palette.ts +482 -0
  74. package/src/lib/stencil-kit/shape-data.d.ts +3 -2
  75. package/src/lib/stencil-kit/shape-data.js +323 -31
  76. package/src/lib/stencil-kit/shape-data.js.map +1 -1
  77. package/src/lib/stencil-kit/shape-data.spec.ts +470 -0
  78. package/src/lib/stencil-kit/shape-data.ts +680 -0
  79. package/src/lib/stencil-kit/styles.js +15 -0
  80. package/src/lib/stencil-kit/styles.js.map +1 -1
  81. package/src/lib/stencil-kit/styles.ts +126 -0
  82. package/src/libs/element/src/index.d.ts +92 -0
  83. package/src/libs/element/src/index.js +576 -0
  84. package/src/libs/element/src/index.js.map +1 -0
  85. package/src/libs/element/src/lib/dashboard-kit/dashboard.d.ts +345 -0
  86. package/src/libs/element/src/lib/dashboard-kit/dashboard.js +594 -0
  87. package/src/libs/element/src/lib/dashboard-kit/dashboard.js.map +1 -0
  88. package/src/libs/element/src/lib/dashboard-kit/grid-binder.d.ts +277 -0
  89. package/src/libs/element/src/lib/dashboard-kit/grid-binder.js +1636 -0
  90. package/src/libs/element/src/lib/dashboard-kit/grid-binder.js.map +1 -0
  91. package/src/libs/element/src/lib/dashboard-kit/grid-mapping.d.ts +141 -0
  92. package/src/libs/element/src/lib/dashboard-kit/grid-mapping.js +176 -0
  93. package/src/libs/element/src/lib/dashboard-kit/grid-mapping.js.map +1 -0
  94. package/src/libs/element/src/lib/dashboard-kit/index.d.ts +5 -0
  95. package/src/libs/element/src/lib/dashboard-kit/index.js +33 -0
  96. package/src/libs/element/src/lib/dashboard-kit/index.js.map +1 -0
  97. package/src/libs/element/src/lib/dashboard-kit/styles.d.ts +25 -0
  98. package/src/libs/element/src/lib/dashboard-kit/styles.js +209 -0
  99. package/src/libs/element/src/lib/dashboard-kit/styles.js.map +1 -0
  100. package/src/libs/element/src/lib/dashboard-kit/widgets.d.ts +112 -0
  101. package/src/libs/element/src/lib/dashboard-kit/widgets.js +389 -0
  102. package/src/libs/element/src/lib/dashboard-kit/widgets.js.map +1 -0
  103. package/src/libs/element/src/lib/diagram-kit/card.d.ts +75 -0
  104. package/src/libs/element/src/lib/diagram-kit/card.js +209 -0
  105. package/src/libs/element/src/lib/diagram-kit/card.js.map +1 -0
  106. package/src/libs/element/src/lib/diagram-kit/editing.d.ts +58 -0
  107. package/src/libs/element/src/lib/diagram-kit/editing.js +453 -0
  108. package/src/libs/element/src/lib/diagram-kit/editing.js.map +1 -0
  109. package/src/libs/element/src/lib/diagram-kit/er.d.ts +73 -0
  110. package/src/libs/element/src/lib/diagram-kit/er.js +163 -0
  111. package/src/libs/element/src/lib/diagram-kit/er.js.map +1 -0
  112. package/src/libs/element/src/lib/diagram-kit/handles.d.ts +181 -0
  113. package/src/libs/element/src/lib/diagram-kit/handles.js +325 -0
  114. package/src/libs/element/src/lib/diagram-kit/handles.js.map +1 -0
  115. package/src/libs/element/src/lib/diagram-kit/index.d.ts +10 -0
  116. package/src/libs/element/src/lib/diagram-kit/index.js +55 -0
  117. package/src/libs/element/src/lib/diagram-kit/index.js.map +1 -0
  118. package/src/libs/element/src/lib/diagram-kit/join-guidance.d.ts +116 -0
  119. package/src/libs/element/src/lib/diagram-kit/join-guidance.js +331 -0
  120. package/src/libs/element/src/lib/diagram-kit/join-guidance.js.map +1 -0
  121. package/src/libs/element/src/lib/diagram-kit/rows.d.ts +53 -0
  122. package/src/libs/element/src/lib/diagram-kit/rows.js +147 -0
  123. package/src/libs/element/src/lib/diagram-kit/rows.js.map +1 -0
  124. package/src/libs/element/src/lib/diagram-kit/styles.d.ts +18 -0
  125. package/src/libs/element/src/lib/diagram-kit/styles.js +122 -0
  126. package/src/libs/element/src/lib/diagram-kit/styles.js.map +1 -0
  127. package/src/libs/element/src/lib/diagram-kit/uml.d.ts +59 -0
  128. package/src/libs/element/src/lib/diagram-kit/uml.js +138 -0
  129. package/src/libs/element/src/lib/diagram-kit/uml.js.map +1 -0
  130. package/src/libs/element/src/lib/diagram-kit/update.d.ts +133 -0
  131. package/src/libs/element/src/lib/diagram-kit/update.js +251 -0
  132. package/src/libs/element/src/lib/diagram-kit/update.js.map +1 -0
  133. package/src/libs/element/src/lib/grafloria-flow-element.d.ts +48 -0
  134. package/src/libs/element/src/lib/grafloria-flow-element.js +271 -0
  135. package/src/libs/element/src/lib/grafloria-flow-element.js.map +1 -0
  136. package/src/libs/element/src/lib/grafloria.d.ts +72 -0
  137. package/src/libs/element/src/lib/grafloria.js +74 -0
  138. package/src/libs/element/src/lib/grafloria.js.map +1 -0
  139. package/src/libs/element/src/lib/load.d.ts +72 -0
  140. package/src/libs/element/src/lib/load.js +255 -0
  141. package/src/libs/element/src/lib/load.js.map +1 -0
  142. package/src/libs/element/src/lib/node-type-registry.d.ts +39 -0
  143. package/src/libs/element/src/lib/node-type-registry.js +50 -0
  144. package/src/libs/element/src/lib/node-type-registry.js.map +1 -0
  145. package/src/libs/element/src/lib/stencil-kit/builders.d.ts +45 -0
  146. package/src/libs/element/src/lib/stencil-kit/builders.js +24 -0
  147. package/src/libs/element/src/lib/stencil-kit/builders.js.map +1 -0
  148. package/src/libs/element/src/lib/stencil-kit/card-builders.d.ts +2 -0
  149. package/src/libs/element/src/lib/stencil-kit/card-builders.js +108 -0
  150. package/src/libs/element/src/lib/stencil-kit/card-builders.js.map +1 -0
  151. package/src/libs/element/src/lib/stencil-kit/index.d.ts +7 -0
  152. package/src/libs/element/src/lib/stencil-kit/index.js +19 -0
  153. package/src/libs/element/src/lib/stencil-kit/index.js.map +1 -0
  154. package/src/libs/element/src/lib/stencil-kit/palette.d.ts +93 -0
  155. package/src/libs/element/src/lib/stencil-kit/palette.js +430 -0
  156. package/src/libs/element/src/lib/stencil-kit/palette.js.map +1 -0
  157. package/src/libs/element/src/lib/stencil-kit/shape-data.d.ts +28 -0
  158. package/src/libs/element/src/lib/stencil-kit/shape-data.js +540 -0
  159. package/src/libs/element/src/lib/stencil-kit/shape-data.js.map +1 -0
  160. package/src/libs/element/src/lib/stencil-kit/styles.d.ts +2 -0
  161. package/src/libs/element/src/lib/stencil-kit/styles.js +129 -0
  162. package/src/libs/element/src/lib/stencil-kit/styles.js.map +1 -0
  163. package/src/libs/engine/src/adapters/component-adapter.interface.d.ts +302 -0
  164. package/src/libs/engine/src/adapters/component-adapter.interface.js +84 -0
  165. package/src/libs/engine/src/adapters/component-adapter.interface.js.map +1 -0
  166. package/src/libs/engine/src/adapters/index.d.ts +7 -0
  167. package/src/libs/engine/src/adapters/index.js +11 -0
  168. package/src/libs/engine/src/adapters/index.js.map +1 -0
  169. package/src/libs/engine/src/clipboard/ClipboardManager.d.ts +81 -0
  170. package/src/libs/engine/src/clipboard/ClipboardManager.js +108 -0
  171. package/src/libs/engine/src/clipboard/ClipboardManager.js.map +1 -0
  172. package/src/libs/engine/src/clipboard/index.d.ts +1 -0
  173. package/src/libs/engine/src/clipboard/index.js +6 -0
  174. package/src/libs/engine/src/clipboard/index.js.map +1 -0
  175. package/src/libs/engine/src/collab/apply-op.d.ts +42 -0
  176. package/src/libs/engine/src/collab/apply-op.js +939 -0
  177. package/src/libs/engine/src/collab/apply-op.js.map +1 -0
  178. package/src/libs/engine/src/collab/capture.d.ts +147 -0
  179. package/src/libs/engine/src/collab/capture.js +510 -0
  180. package/src/libs/engine/src/collab/capture.js.map +1 -0
  181. package/src/libs/engine/src/collab/index.d.ts +12 -0
  182. package/src/libs/engine/src/collab/index.js +84 -0
  183. package/src/libs/engine/src/collab/index.js.map +1 -0
  184. package/src/libs/engine/src/collab/integrity.d.ts +178 -0
  185. package/src/libs/engine/src/collab/integrity.js +438 -0
  186. package/src/libs/engine/src/collab/integrity.js.map +1 -0
  187. package/src/libs/engine/src/collab/lww.d.ts +47 -0
  188. package/src/libs/engine/src/collab/lww.js +188 -0
  189. package/src/libs/engine/src/collab/lww.js.map +1 -0
  190. package/src/libs/engine/src/collab/op-log.d.ts +50 -0
  191. package/src/libs/engine/src/collab/op-log.js +167 -0
  192. package/src/libs/engine/src/collab/op-log.js.map +1 -0
  193. package/src/libs/engine/src/collab/op.d.ts +120 -0
  194. package/src/libs/engine/src/collab/op.js +118 -0
  195. package/src/libs/engine/src/collab/op.js.map +1 -0
  196. package/src/libs/engine/src/collab/replica.d.ts +188 -0
  197. package/src/libs/engine/src/collab/replica.js +526 -0
  198. package/src/libs/engine/src/collab/replica.js.map +1 -0
  199. package/src/libs/engine/src/collab/undo.d.ts +106 -0
  200. package/src/libs/engine/src/collab/undo.js +388 -0
  201. package/src/libs/engine/src/collab/undo.js.map +1 -0
  202. package/src/libs/engine/src/commands/Command.d.ts +66 -0
  203. package/src/libs/engine/src/commands/Command.js +64 -0
  204. package/src/libs/engine/src/commands/Command.js.map +1 -0
  205. package/src/libs/engine/src/commands/CommandManager.d.ts +161 -0
  206. package/src/libs/engine/src/commands/CommandManager.js +417 -0
  207. package/src/libs/engine/src/commands/CommandManager.js.map +1 -0
  208. package/src/libs/engine/src/commands/basic/AddGroupCommand.d.ts +13 -0
  209. package/src/libs/engine/src/commands/basic/AddGroupCommand.js +50 -0
  210. package/src/libs/engine/src/commands/basic/AddGroupCommand.js.map +1 -0
  211. package/src/libs/engine/src/commands/basic/AddLinkCommand.d.ts +13 -0
  212. package/src/libs/engine/src/commands/basic/AddLinkCommand.js +50 -0
  213. package/src/libs/engine/src/commands/basic/AddLinkCommand.js.map +1 -0
  214. package/src/libs/engine/src/commands/basic/AddNodeCommand.d.ts +13 -0
  215. package/src/libs/engine/src/commands/basic/AddNodeCommand.js +65 -0
  216. package/src/libs/engine/src/commands/basic/AddNodeCommand.js.map +1 -0
  217. package/src/libs/engine/src/commands/basic/AddToGroupCommand.d.ts +12 -0
  218. package/src/libs/engine/src/commands/basic/AddToGroupCommand.js +73 -0
  219. package/src/libs/engine/src/commands/basic/AddToGroupCommand.js.map +1 -0
  220. package/src/libs/engine/src/commands/basic/AlignCommands.d.ts +42 -0
  221. package/src/libs/engine/src/commands/basic/AlignCommands.js +138 -0
  222. package/src/libs/engine/src/commands/basic/AlignCommands.js.map +1 -0
  223. package/src/libs/engine/src/commands/basic/CollapseGroupCommand.d.ts +14 -0
  224. package/src/libs/engine/src/commands/basic/CollapseGroupCommand.js +70 -0
  225. package/src/libs/engine/src/commands/basic/CollapseGroupCommand.js.map +1 -0
  226. package/src/libs/engine/src/commands/basic/CopyCommand.d.ts +29 -0
  227. package/src/libs/engine/src/commands/basic/CopyCommand.js +131 -0
  228. package/src/libs/engine/src/commands/basic/CopyCommand.js.map +1 -0
  229. package/src/libs/engine/src/commands/basic/CutCommand.d.ts +49 -0
  230. package/src/libs/engine/src/commands/basic/CutCommand.js +68 -0
  231. package/src/libs/engine/src/commands/basic/CutCommand.js.map +1 -0
  232. package/src/libs/engine/src/commands/basic/DeleteSelectionCommand.d.ts +58 -0
  233. package/src/libs/engine/src/commands/basic/DeleteSelectionCommand.js +309 -0
  234. package/src/libs/engine/src/commands/basic/DeleteSelectionCommand.js.map +1 -0
  235. package/src/libs/engine/src/commands/basic/DuplicateCommand.d.ts +31 -0
  236. package/src/libs/engine/src/commands/basic/DuplicateCommand.js +232 -0
  237. package/src/libs/engine/src/commands/basic/DuplicateCommand.js.map +1 -0
  238. package/src/libs/engine/src/commands/basic/ExpandGroupCommand.d.ts +12 -0
  239. package/src/libs/engine/src/commands/basic/ExpandGroupCommand.js +69 -0
  240. package/src/libs/engine/src/commands/basic/ExpandGroupCommand.js.map +1 -0
  241. package/src/libs/engine/src/commands/basic/MoveGroupCommand.d.ts +46 -0
  242. package/src/libs/engine/src/commands/basic/MoveGroupCommand.js +77 -0
  243. package/src/libs/engine/src/commands/basic/MoveGroupCommand.js.map +1 -0
  244. package/src/libs/engine/src/commands/basic/MoveNodeCommand.d.ts +30 -0
  245. package/src/libs/engine/src/commands/basic/MoveNodeCommand.js +87 -0
  246. package/src/libs/engine/src/commands/basic/MoveNodeCommand.js.map +1 -0
  247. package/src/libs/engine/src/commands/basic/NodeZOrderCommands.d.ts +39 -0
  248. package/src/libs/engine/src/commands/basic/NodeZOrderCommands.js +120 -0
  249. package/src/libs/engine/src/commands/basic/NodeZOrderCommands.js.map +1 -0
  250. package/src/libs/engine/src/commands/basic/PasteCommand.d.ts +33 -0
  251. package/src/libs/engine/src/commands/basic/PasteCommand.js +228 -0
  252. package/src/libs/engine/src/commands/basic/PasteCommand.js.map +1 -0
  253. package/src/libs/engine/src/commands/basic/PortCommands.d.ts +22 -0
  254. package/src/libs/engine/src/commands/basic/PortCommands.js +85 -0
  255. package/src/libs/engine/src/commands/basic/PortCommands.js.map +1 -0
  256. package/src/libs/engine/src/commands/basic/ReconnectLinkCommand.d.ts +15 -0
  257. package/src/libs/engine/src/commands/basic/ReconnectLinkCommand.js +59 -0
  258. package/src/libs/engine/src/commands/basic/ReconnectLinkCommand.js.map +1 -0
  259. package/src/libs/engine/src/commands/basic/RemoveFromGroupCommand.d.ts +12 -0
  260. package/src/libs/engine/src/commands/basic/RemoveFromGroupCommand.js +64 -0
  261. package/src/libs/engine/src/commands/basic/RemoveFromGroupCommand.js.map +1 -0
  262. package/src/libs/engine/src/commands/basic/RemoveGroupCommand.d.ts +12 -0
  263. package/src/libs/engine/src/commands/basic/RemoveGroupCommand.js +56 -0
  264. package/src/libs/engine/src/commands/basic/RemoveGroupCommand.js.map +1 -0
  265. package/src/libs/engine/src/commands/basic/RemoveLinkCommand.d.ts +12 -0
  266. package/src/libs/engine/src/commands/basic/RemoveLinkCommand.js +57 -0
  267. package/src/libs/engine/src/commands/basic/RemoveLinkCommand.js.map +1 -0
  268. package/src/libs/engine/src/commands/basic/RemoveNodeCommand.d.ts +23 -0
  269. package/src/libs/engine/src/commands/basic/RemoveNodeCommand.js +108 -0
  270. package/src/libs/engine/src/commands/basic/RemoveNodeCommand.js.map +1 -0
  271. package/src/libs/engine/src/commands/basic/ResizeNodeCommand.d.ts +16 -0
  272. package/src/libs/engine/src/commands/basic/ResizeNodeCommand.js +81 -0
  273. package/src/libs/engine/src/commands/basic/ResizeNodeCommand.js.map +1 -0
  274. package/src/libs/engine/src/commands/basic/RotateNodeCommand.d.ts +37 -0
  275. package/src/libs/engine/src/commands/basic/RotateNodeCommand.js +88 -0
  276. package/src/libs/engine/src/commands/basic/RotateNodeCommand.js.map +1 -0
  277. package/src/libs/engine/src/commands/basic/SetFlexItemCommand.d.ts +14 -0
  278. package/src/libs/engine/src/commands/basic/SetFlexItemCommand.js +74 -0
  279. package/src/libs/engine/src/commands/basic/SetFlexItemCommand.js.map +1 -0
  280. package/src/libs/engine/src/commands/basic/SetGridItemCommand.d.ts +14 -0
  281. package/src/libs/engine/src/commands/basic/SetGridItemCommand.js +74 -0
  282. package/src/libs/engine/src/commands/basic/SetGridItemCommand.js.map +1 -0
  283. package/src/libs/engine/src/commands/basic/SetLayoutCommand.d.ts +16 -0
  284. package/src/libs/engine/src/commands/basic/SetLayoutCommand.js +80 -0
  285. package/src/libs/engine/src/commands/basic/SetLayoutCommand.js.map +1 -0
  286. package/src/libs/engine/src/commands/basic/SetLinkDisplayLabelCommand.d.ts +28 -0
  287. package/src/libs/engine/src/commands/basic/SetLinkDisplayLabelCommand.js +83 -0
  288. package/src/libs/engine/src/commands/basic/SetLinkDisplayLabelCommand.js.map +1 -0
  289. package/src/libs/engine/src/commands/basic/SetLinkLabelCommand.d.ts +24 -0
  290. package/src/libs/engine/src/commands/basic/SetLinkLabelCommand.js +81 -0
  291. package/src/libs/engine/src/commands/basic/SetLinkLabelCommand.js.map +1 -0
  292. package/src/libs/engine/src/commands/basic/SetLinkLabelsCommand.d.ts +14 -0
  293. package/src/libs/engine/src/commands/basic/SetLinkLabelsCommand.js +75 -0
  294. package/src/libs/engine/src/commands/basic/SetLinkLabelsCommand.js.map +1 -0
  295. package/src/libs/engine/src/commands/basic/SetLinkPathTypeCommand.d.ts +14 -0
  296. package/src/libs/engine/src/commands/basic/SetLinkPathTypeCommand.js +77 -0
  297. package/src/libs/engine/src/commands/basic/SetLinkPathTypeCommand.js.map +1 -0
  298. package/src/libs/engine/src/commands/basic/SetLinkPointsCommand.d.ts +32 -0
  299. package/src/libs/engine/src/commands/basic/SetLinkPointsCommand.js +87 -0
  300. package/src/libs/engine/src/commands/basic/SetLinkPointsCommand.js.map +1 -0
  301. package/src/libs/engine/src/commands/basic/SetNodeDataCommand.d.ts +14 -0
  302. package/src/libs/engine/src/commands/basic/SetNodeDataCommand.js +93 -0
  303. package/src/libs/engine/src/commands/basic/SetNodeDataCommand.js.map +1 -0
  304. package/src/libs/engine/src/commands/basic/SetNodeLabelCommand.d.ts +26 -0
  305. package/src/libs/engine/src/commands/basic/SetNodeLabelCommand.js +81 -0
  306. package/src/libs/engine/src/commands/basic/SetNodeLabelCommand.js.map +1 -0
  307. package/src/libs/engine/src/commands/basic/SetNodeShapeConfigCommand.d.ts +14 -0
  308. package/src/libs/engine/src/commands/basic/SetNodeShapeConfigCommand.js +69 -0
  309. package/src/libs/engine/src/commands/basic/SetNodeShapeConfigCommand.js.map +1 -0
  310. package/src/libs/engine/src/commands/basic/SetNodeStyleCommand.d.ts +15 -0
  311. package/src/libs/engine/src/commands/basic/SetNodeStyleCommand.js +88 -0
  312. package/src/libs/engine/src/commands/basic/SetNodeStyleCommand.js.map +1 -0
  313. package/src/libs/engine/src/commands/basic/SetParentCommand.d.ts +13 -0
  314. package/src/libs/engine/src/commands/basic/SetParentCommand.js +109 -0
  315. package/src/libs/engine/src/commands/basic/SetParentCommand.js.map +1 -0
  316. package/src/libs/engine/src/commands/basic/SetStrokePointsCommand.d.ts +34 -0
  317. package/src/libs/engine/src/commands/basic/SetStrokePointsCommand.js +86 -0
  318. package/src/libs/engine/src/commands/basic/SetStrokePointsCommand.js.map +1 -0
  319. package/src/libs/engine/src/commands/basic/StrokeLifecycleCommands.d.ts +31 -0
  320. package/src/libs/engine/src/commands/basic/StrokeLifecycleCommands.js +88 -0
  321. package/src/libs/engine/src/commands/basic/StrokeLifecycleCommands.js.map +1 -0
  322. package/src/libs/engine/src/commands/basic/UpdateLinkStyleCommand.d.ts +15 -0
  323. package/src/libs/engine/src/commands/basic/UpdateLinkStyleCommand.js +72 -0
  324. package/src/libs/engine/src/commands/basic/UpdateLinkStyleCommand.js.map +1 -0
  325. package/src/libs/engine/src/commands/basic/index.d.ts +41 -0
  326. package/src/libs/engine/src/commands/basic/index.js +52 -0
  327. package/src/libs/engine/src/commands/basic/index.js.map +1 -0
  328. package/src/libs/engine/src/commands/basic/remapNodePortIds.d.ts +23 -0
  329. package/src/libs/engine/src/commands/basic/remapNodePortIds.js +46 -0
  330. package/src/libs/engine/src/commands/basic/remapNodePortIds.js.map +1 -0
  331. package/src/libs/engine/src/commands/basic/resolveLinkNodeIds.d.ts +31 -0
  332. package/src/libs/engine/src/commands/basic/resolveLinkNodeIds.js +49 -0
  333. package/src/libs/engine/src/commands/basic/resolveLinkNodeIds.js.map +1 -0
  334. package/src/libs/engine/src/commands/composite/BatchCommand.d.ts +19 -0
  335. package/src/libs/engine/src/commands/composite/BatchCommand.js +61 -0
  336. package/src/libs/engine/src/commands/composite/BatchCommand.js.map +1 -0
  337. package/src/libs/engine/src/commands/composite/MacroCommand.d.ts +35 -0
  338. package/src/libs/engine/src/commands/composite/MacroCommand.js +87 -0
  339. package/src/libs/engine/src/commands/composite/MacroCommand.js.map +1 -0
  340. package/src/libs/engine/src/commands/composite/index.d.ts +2 -0
  341. package/src/libs/engine/src/commands/composite/index.js +7 -0
  342. package/src/libs/engine/src/commands/composite/index.js.map +1 -0
  343. package/src/libs/engine/src/commands/index.d.ts +4 -0
  344. package/src/libs/engine/src/commands/index.js +9 -0
  345. package/src/libs/engine/src/commands/index.js.map +1 -0
  346. package/src/libs/engine/src/comments/comment-store.d.ts +238 -0
  347. package/src/libs/engine/src/comments/comment-store.js +538 -0
  348. package/src/libs/engine/src/comments/comment-store.js.map +1 -0
  349. package/src/libs/engine/src/comments/index.d.ts +4 -0
  350. package/src/libs/engine/src/comments/index.js +31 -0
  351. package/src/libs/engine/src/comments/index.js.map +1 -0
  352. package/src/libs/engine/src/comments/mentions.d.ts +52 -0
  353. package/src/libs/engine/src/comments/mentions.js +94 -0
  354. package/src/libs/engine/src/comments/mentions.js.map +1 -0
  355. package/src/libs/engine/src/comments/read-state.d.ts +37 -0
  356. package/src/libs/engine/src/comments/read-state.js +105 -0
  357. package/src/libs/engine/src/comments/read-state.js.map +1 -0
  358. package/src/libs/engine/src/comments/types.d.ts +154 -0
  359. package/src/libs/engine/src/comments/types.js +107 -0
  360. package/src/libs/engine/src/comments/types.js.map +1 -0
  361. package/src/libs/engine/src/config/InteractionConfig.d.ts +330 -0
  362. package/src/libs/engine/src/config/InteractionConfig.js +154 -0
  363. package/src/libs/engine/src/config/InteractionConfig.js.map +1 -0
  364. package/src/libs/engine/src/config/index.d.ts +1 -0
  365. package/src/libs/engine/src/config/index.js +6 -0
  366. package/src/libs/engine/src/config/index.js.map +1 -0
  367. package/src/libs/engine/src/dsl/DSL.d.ts +197 -0
  368. package/src/libs/engine/src/dsl/DSL.js +564 -0
  369. package/src/libs/engine/src/dsl/DSL.js.map +1 -0
  370. package/src/libs/engine/src/dsl/advanced/StyleParser.d.ts +75 -0
  371. package/src/libs/engine/src/dsl/advanced/StyleParser.js +166 -0
  372. package/src/libs/engine/src/dsl/advanced/StyleParser.js.map +1 -0
  373. package/src/libs/engine/src/dsl/advanced/TemplateParser.d.ts +88 -0
  374. package/src/libs/engine/src/dsl/advanced/TemplateParser.js +226 -0
  375. package/src/libs/engine/src/dsl/advanced/TemplateParser.js.map +1 -0
  376. package/src/libs/engine/src/dsl/advanced/index.d.ts +9 -0
  377. package/src/libs/engine/src/dsl/advanced/index.js +13 -0
  378. package/src/libs/engine/src/dsl/advanced/index.js.map +1 -0
  379. package/src/libs/engine/src/dsl/detector/LayoutDetector.d.ts +80 -0
  380. package/src/libs/engine/src/dsl/detector/LayoutDetector.js +333 -0
  381. package/src/libs/engine/src/dsl/detector/LayoutDetector.js.map +1 -0
  382. package/src/libs/engine/src/dsl/extended/BPMNGenerator.d.ts +38 -0
  383. package/src/libs/engine/src/dsl/extended/BPMNGenerator.js +90 -0
  384. package/src/libs/engine/src/dsl/extended/BPMNGenerator.js.map +1 -0
  385. package/src/libs/engine/src/dsl/extended/BPMNParser.d.ts +83 -0
  386. package/src/libs/engine/src/dsl/extended/BPMNParser.js +198 -0
  387. package/src/libs/engine/src/dsl/extended/BPMNParser.js.map +1 -0
  388. package/src/libs/engine/src/dsl/extended/ERDGenerator.d.ts +38 -0
  389. package/src/libs/engine/src/dsl/extended/ERDGenerator.js +126 -0
  390. package/src/libs/engine/src/dsl/extended/ERDGenerator.js.map +1 -0
  391. package/src/libs/engine/src/dsl/extended/ERDParser.d.ts +81 -0
  392. package/src/libs/engine/src/dsl/extended/ERDParser.js +161 -0
  393. package/src/libs/engine/src/dsl/extended/ERDParser.js.map +1 -0
  394. package/src/libs/engine/src/dsl/extended/ERDTransformer.d.ts +43 -0
  395. package/src/libs/engine/src/dsl/extended/ERDTransformer.js +105 -0
  396. package/src/libs/engine/src/dsl/extended/ERDTransformer.js.map +1 -0
  397. package/src/libs/engine/src/dsl/extended/UMLGenerator.d.ts +42 -0
  398. package/src/libs/engine/src/dsl/extended/UMLGenerator.js +157 -0
  399. package/src/libs/engine/src/dsl/extended/UMLGenerator.js.map +1 -0
  400. package/src/libs/engine/src/dsl/extended/UMLParser.d.ts +99 -0
  401. package/src/libs/engine/src/dsl/extended/UMLParser.js +200 -0
  402. package/src/libs/engine/src/dsl/extended/UMLParser.js.map +1 -0
  403. package/src/libs/engine/src/dsl/extended/index.d.ts +13 -0
  404. package/src/libs/engine/src/dsl/extended/index.js +27 -0
  405. package/src/libs/engine/src/dsl/extended/index.js.map +1 -0
  406. package/src/libs/engine/src/dsl/generator/DSLFormatter.d.ts +87 -0
  407. package/src/libs/engine/src/dsl/generator/DSLFormatter.js +261 -0
  408. package/src/libs/engine/src/dsl/generator/DSLFormatter.js.map +1 -0
  409. package/src/libs/engine/src/dsl/generator/DSLGenerator.d.ts +96 -0
  410. package/src/libs/engine/src/dsl/generator/DSLGenerator.js +328 -0
  411. package/src/libs/engine/src/dsl/generator/DSLGenerator.js.map +1 -0
  412. package/src/libs/engine/src/dsl/generator/DiagramAnalyzer.d.ts +111 -0
  413. package/src/libs/engine/src/dsl/generator/DiagramAnalyzer.js +361 -0
  414. package/src/libs/engine/src/dsl/generator/DiagramAnalyzer.js.map +1 -0
  415. package/src/libs/engine/src/dsl/index.d.ts +35 -0
  416. package/src/libs/engine/src/dsl/index.js +64 -0
  417. package/src/libs/engine/src/dsl/index.js.map +1 -0
  418. package/src/libs/engine/src/dsl/lexer/Lexer.d.ts +117 -0
  419. package/src/libs/engine/src/dsl/lexer/Lexer.js +521 -0
  420. package/src/libs/engine/src/dsl/lexer/Lexer.js.map +1 -0
  421. package/src/libs/engine/src/dsl/mermaid/MermaidClass.d.ts +136 -0
  422. package/src/libs/engine/src/dsl/mermaid/MermaidClass.js +429 -0
  423. package/src/libs/engine/src/dsl/mermaid/MermaidClass.js.map +1 -0
  424. package/src/libs/engine/src/dsl/mermaid/MermaidER.d.ts +118 -0
  425. package/src/libs/engine/src/dsl/mermaid/MermaidER.js +338 -0
  426. package/src/libs/engine/src/dsl/mermaid/MermaidER.js.map +1 -0
  427. package/src/libs/engine/src/dsl/mermaid/MermaidState.d.ts +89 -0
  428. package/src/libs/engine/src/dsl/mermaid/MermaidState.js +613 -0
  429. package/src/libs/engine/src/dsl/mermaid/MermaidState.js.map +1 -0
  430. package/src/libs/engine/src/dsl/mermaid/index.d.ts +10 -0
  431. package/src/libs/engine/src/dsl/mermaid/index.js +33 -0
  432. package/src/libs/engine/src/dsl/mermaid/index.js.map +1 -0
  433. package/src/libs/engine/src/dsl/mermaid/layout.d.ts +70 -0
  434. package/src/libs/engine/src/dsl/mermaid/layout.js +162 -0
  435. package/src/libs/engine/src/dsl/mermaid/layout.js.map +1 -0
  436. package/src/libs/engine/src/dsl/mermaid/lines.d.ts +25 -0
  437. package/src/libs/engine/src/dsl/mermaid/lines.js +74 -0
  438. package/src/libs/engine/src/dsl/mermaid/lines.js.map +1 -0
  439. package/src/libs/engine/src/dsl/parser/Parser.d.ts +131 -0
  440. package/src/libs/engine/src/dsl/parser/Parser.js +725 -0
  441. package/src/libs/engine/src/dsl/parser/Parser.js.map +1 -0
  442. package/src/libs/engine/src/dsl/sync/BidirectionalSync.d.ts +154 -0
  443. package/src/libs/engine/src/dsl/sync/BidirectionalSync.js +389 -0
  444. package/src/libs/engine/src/dsl/sync/BidirectionalSync.js.map +1 -0
  445. package/src/libs/engine/src/dsl/sync/IntegratedSyncManager.d.ts +128 -0
  446. package/src/libs/engine/src/dsl/sync/IntegratedSyncManager.js +244 -0
  447. package/src/libs/engine/src/dsl/sync/IntegratedSyncManager.js.map +1 -0
  448. package/src/libs/engine/src/dsl/sync/LayoutApplicator.d.ts +140 -0
  449. package/src/libs/engine/src/dsl/sync/LayoutApplicator.js +271 -0
  450. package/src/libs/engine/src/dsl/sync/LayoutApplicator.js.map +1 -0
  451. package/src/libs/engine/src/dsl/sync/SyncStateManager.d.ts +145 -0
  452. package/src/libs/engine/src/dsl/sync/SyncStateManager.js +253 -0
  453. package/src/libs/engine/src/dsl/sync/SyncStateManager.js.map +1 -0
  454. package/src/libs/engine/src/dsl/sync/index.d.ts +13 -0
  455. package/src/libs/engine/src/dsl/sync/index.js +21 -0
  456. package/src/libs/engine/src/dsl/sync/index.js.map +1 -0
  457. package/src/libs/engine/src/dsl/transformer/ASTTransformer.d.ts +150 -0
  458. package/src/libs/engine/src/dsl/transformer/ASTTransformer.js +605 -0
  459. package/src/libs/engine/src/dsl/transformer/ASTTransformer.js.map +1 -0
  460. package/src/libs/engine/src/dsl/types/ASTNode.d.ts +159 -0
  461. package/src/libs/engine/src/dsl/types/ASTNode.js +31 -0
  462. package/src/libs/engine/src/dsl/types/ASTNode.js.map +1 -0
  463. package/src/libs/engine/src/dsl/types/Token.d.ts +79 -0
  464. package/src/libs/engine/src/dsl/types/Token.js +84 -0
  465. package/src/libs/engine/src/dsl/types/Token.js.map +1 -0
  466. package/src/libs/engine/src/engine/DiagramEngine.d.ts +917 -0
  467. package/src/libs/engine/src/engine/DiagramEngine.js +2190 -0
  468. package/src/libs/engine/src/engine/DiagramEngine.js.map +1 -0
  469. package/src/libs/engine/src/engine/DiagramMode.d.ts +51 -0
  470. package/src/libs/engine/src/engine/DiagramMode.js +53 -0
  471. package/src/libs/engine/src/engine/DiagramMode.js.map +1 -0
  472. package/src/libs/engine/src/engine/DiagramModeTypes.d.ts +73 -0
  473. package/src/libs/engine/src/engine/DiagramModeTypes.js +4 -0
  474. package/src/libs/engine/src/engine/DiagramModeTypes.js.map +1 -0
  475. package/src/libs/engine/src/engine/ModeManager.d.ts +155 -0
  476. package/src/libs/engine/src/engine/ModeManager.js +387 -0
  477. package/src/libs/engine/src/engine/ModeManager.js.map +1 -0
  478. package/src/libs/engine/src/engine/index.d.ts +2 -0
  479. package/src/libs/engine/src/engine/index.js +7 -0
  480. package/src/libs/engine/src/engine/index.js.map +1 -0
  481. package/src/libs/engine/src/events/EventBus.d.ts +106 -0
  482. package/src/libs/engine/src/events/EventBus.js +226 -0
  483. package/src/libs/engine/src/events/EventBus.js.map +1 -0
  484. package/src/libs/engine/src/events/index.d.ts +1 -0
  485. package/src/libs/engine/src/events/index.js +6 -0
  486. package/src/libs/engine/src/events/index.js.map +1 -0
  487. package/src/libs/engine/src/index.d.ts +43 -0
  488. package/src/libs/engine/src/index.js +142 -0
  489. package/src/libs/engine/src/index.js.map +1 -0
  490. package/src/libs/engine/src/interaction/GroupCollapseService.d.ts +53 -0
  491. package/src/libs/engine/src/interaction/GroupCollapseService.js +274 -0
  492. package/src/libs/engine/src/interaction/GroupCollapseService.js.map +1 -0
  493. package/src/libs/engine/src/interaction/GroupMembershipService.d.ts +107 -0
  494. package/src/libs/engine/src/interaction/GroupMembershipService.js +245 -0
  495. package/src/libs/engine/src/interaction/GroupMembershipService.js.map +1 -0
  496. package/src/libs/engine/src/interaction/SemanticMembershipService.d.ts +28 -0
  497. package/src/libs/engine/src/interaction/SemanticMembershipService.js +168 -0
  498. package/src/libs/engine/src/interaction/SemanticMembershipService.js.map +1 -0
  499. package/src/libs/engine/src/interaction/SwimlaneService.d.ts +62 -0
  500. package/src/libs/engine/src/interaction/SwimlaneService.js +180 -0
  501. package/src/libs/engine/src/interaction/SwimlaneService.js.map +1 -0
  502. package/src/libs/engine/src/interaction/index.d.ts +4 -0
  503. package/src/libs/engine/src/interaction/index.js +9 -0
  504. package/src/libs/engine/src/interaction/index.js.map +1 -0
  505. package/src/libs/engine/src/interop/drawio/importDrawio.d.ts +52 -0
  506. package/src/libs/engine/src/interop/drawio/importDrawio.js +940 -0
  507. package/src/libs/engine/src/interop/drawio/importDrawio.js.map +1 -0
  508. package/src/libs/engine/src/interop/drawio/index.d.ts +1 -0
  509. package/src/libs/engine/src/interop/drawio/index.js +12 -0
  510. package/src/libs/engine/src/interop/drawio/index.js.map +1 -0
  511. package/src/libs/engine/src/interop/drawio/xml.d.ts +26 -0
  512. package/src/libs/engine/src/interop/drawio/xml.js +213 -0
  513. package/src/libs/engine/src/interop/drawio/xml.js.map +1 -0
  514. package/src/libs/engine/src/layout/CompoundLayoutService.d.ts +121 -0
  515. package/src/libs/engine/src/layout/CompoundLayoutService.js +616 -0
  516. package/src/libs/engine/src/layout/CompoundLayoutService.js.map +1 -0
  517. package/src/libs/engine/src/layout/ILayoutAlgorithm.d.ts +120 -0
  518. package/src/libs/engine/src/layout/ILayoutAlgorithm.js +88 -0
  519. package/src/libs/engine/src/layout/ILayoutAlgorithm.js.map +1 -0
  520. package/src/libs/engine/src/layout/LayoutManager.d.ts +155 -0
  521. package/src/libs/engine/src/layout/LayoutManager.js +640 -0
  522. package/src/libs/engine/src/layout/LayoutManager.js.map +1 -0
  523. package/src/libs/engine/src/layout/SmartSpacingCalculator.d.ts +62 -0
  524. package/src/libs/engine/src/layout/SmartSpacingCalculator.js +134 -0
  525. package/src/libs/engine/src/layout/SmartSpacingCalculator.js.map +1 -0
  526. package/src/libs/engine/src/layout/ViewportTransform.d.ts +55 -0
  527. package/src/libs/engine/src/layout/ViewportTransform.js +118 -0
  528. package/src/libs/engine/src/layout/ViewportTransform.js.map +1 -0
  529. package/src/libs/engine/src/layout/algorithms/ForceDirectedLayoutAlgorithm.d.ts +34 -0
  530. package/src/libs/engine/src/layout/algorithms/ForceDirectedLayoutAlgorithm.js +317 -0
  531. package/src/libs/engine/src/layout/algorithms/ForceDirectedLayoutAlgorithm.js.map +1 -0
  532. package/src/libs/engine/src/layout/algorithms/GridLayoutAlgorithm.d.ts +56 -0
  533. package/src/libs/engine/src/layout/algorithms/GridLayoutAlgorithm.js +223 -0
  534. package/src/libs/engine/src/layout/algorithms/GridLayoutAlgorithm.js.map +1 -0
  535. package/src/libs/engine/src/layout/algorithms/HierarchicalLayoutAlgorithm.d.ts +60 -0
  536. package/src/libs/engine/src/layout/algorithms/HierarchicalLayoutAlgorithm.js +307 -0
  537. package/src/libs/engine/src/layout/algorithms/HierarchicalLayoutAlgorithm.js.map +1 -0
  538. package/src/libs/engine/src/layout/algorithms/HybridLayoutAlgorithm.d.ts +62 -0
  539. package/src/libs/engine/src/layout/algorithms/HybridLayoutAlgorithm.js +324 -0
  540. package/src/libs/engine/src/layout/algorithms/HybridLayoutAlgorithm.js.map +1 -0
  541. package/src/libs/engine/src/layout/community-layout-adapter.d.ts +107 -0
  542. package/src/libs/engine/src/layout/community-layout-adapter.js +486 -0
  543. package/src/libs/engine/src/layout/community-layout-adapter.js.map +1 -0
  544. package/src/libs/engine/src/layout/component-packing.d.ts +98 -0
  545. package/src/libs/engine/src/layout/component-packing.js +307 -0
  546. package/src/libs/engine/src/layout/component-packing.js.map +1 -0
  547. package/src/libs/engine/src/layout/dagre-layout-adapter.d.ts +122 -0
  548. package/src/libs/engine/src/layout/dagre-layout-adapter.js +697 -0
  549. package/src/libs/engine/src/layout/dagre-layout-adapter.js.map +1 -0
  550. package/src/libs/engine/src/layout/edge-bundling.interface.d.ts +159 -0
  551. package/src/libs/engine/src/layout/edge-bundling.interface.js +379 -0
  552. package/src/libs/engine/src/layout/edge-bundling.interface.js.map +1 -0
  553. package/src/libs/engine/src/layout/elk-layout-adapter.d.ts +121 -0
  554. package/src/libs/engine/src/layout/elk-layout-adapter.js +586 -0
  555. package/src/libs/engine/src/layout/elk-layout-adapter.js.map +1 -0
  556. package/src/libs/engine/src/layout/elk-loader.d.ts +1 -0
  557. package/src/libs/engine/src/layout/elk-loader.js +24 -0
  558. package/src/libs/engine/src/layout/elk-loader.js.map +1 -0
  559. package/src/libs/engine/src/layout/force-layout-adapter.d.ts +167 -0
  560. package/src/libs/engine/src/layout/force-layout-adapter.js +790 -0
  561. package/src/libs/engine/src/layout/force-layout-adapter.js.map +1 -0
  562. package/src/libs/engine/src/layout/grid-pack/grid-pack-engine.d.ts +323 -0
  563. package/src/libs/engine/src/layout/grid-pack/grid-pack-engine.js +685 -0
  564. package/src/libs/engine/src/layout/grid-pack/grid-pack-engine.js.map +1 -0
  565. package/src/libs/engine/src/layout/incremental/mental-map.d.ts +98 -0
  566. package/src/libs/engine/src/layout/incremental/mental-map.js +221 -0
  567. package/src/libs/engine/src/layout/incremental/mental-map.js.map +1 -0
  568. package/src/libs/engine/src/layout/incremental-layout.interface.d.ts +145 -0
  569. package/src/libs/engine/src/layout/incremental-layout.interface.js +300 -0
  570. package/src/libs/engine/src/layout/incremental-layout.interface.js.map +1 -0
  571. package/src/libs/engine/src/layout/index.d.ts +83 -0
  572. package/src/libs/engine/src/layout/index.js +116 -0
  573. package/src/libs/engine/src/layout/index.js.map +1 -0
  574. package/src/libs/engine/src/layout/layout-adapter.interface.d.ts +185 -0
  575. package/src/libs/engine/src/layout/layout-adapter.interface.js +10 -0
  576. package/src/libs/engine/src/layout/layout-adapter.interface.js.map +1 -0
  577. package/src/libs/engine/src/layout/layout-auto-select.d.ts +160 -0
  578. package/src/libs/engine/src/layout/layout-auto-select.js +621 -0
  579. package/src/libs/engine/src/layout/layout-auto-select.js.map +1 -0
  580. package/src/libs/engine/src/layout/layout-constraints.interface.d.ts +117 -0
  581. package/src/libs/engine/src/layout/layout-constraints.interface.js +138 -0
  582. package/src/libs/engine/src/layout/layout-constraints.interface.js.map +1 -0
  583. package/src/libs/engine/src/layout/layout-graph.d.ts +70 -0
  584. package/src/libs/engine/src/layout/layout-graph.js +119 -0
  585. package/src/libs/engine/src/layout/layout-graph.js.map +1 -0
  586. package/src/libs/engine/src/layout/layout-history.d.ts +147 -0
  587. package/src/libs/engine/src/layout/layout-history.js +258 -0
  588. package/src/libs/engine/src/layout/layout-history.js.map +1 -0
  589. package/src/libs/engine/src/layout/layout-host.d.ts +172 -0
  590. package/src/libs/engine/src/layout/layout-host.js +523 -0
  591. package/src/libs/engine/src/layout/layout-host.js.map +1 -0
  592. package/src/libs/engine/src/layout/layout-presets.d.ts +91 -0
  593. package/src/libs/engine/src/layout/layout-presets.js +333 -0
  594. package/src/libs/engine/src/layout/layout-presets.js.map +1 -0
  595. package/src/libs/engine/src/layout/layout-quality-extended.d.ts +66 -0
  596. package/src/libs/engine/src/layout/layout-quality-extended.js +246 -0
  597. package/src/libs/engine/src/layout/layout-quality-extended.js.map +1 -0
  598. package/src/libs/engine/src/layout/layout-quality-metrics.d.ts +127 -0
  599. package/src/libs/engine/src/layout/layout-quality-metrics.js +466 -0
  600. package/src/libs/engine/src/layout/layout-quality-metrics.js.map +1 -0
  601. package/src/libs/engine/src/layout/layout-registry.d.ts +309 -0
  602. package/src/libs/engine/src/layout/layout-registry.js +414 -0
  603. package/src/libs/engine/src/layout/layout-registry.js.map +1 -0
  604. package/src/libs/engine/src/layout/layout.service.d.ts +100 -0
  605. package/src/libs/engine/src/layout/layout.service.js +216 -0
  606. package/src/libs/engine/src/layout/layout.service.js.map +1 -0
  607. package/src/libs/engine/src/layout/overlap-removal.d.ts +20 -0
  608. package/src/libs/engine/src/layout/overlap-removal.js +117 -0
  609. package/src/libs/engine/src/layout/overlap-removal.js.map +1 -0
  610. package/src/libs/engine/src/layout/port-aware-layout.interface.d.ts +232 -0
  611. package/src/libs/engine/src/layout/port-aware-layout.interface.js +413 -0
  612. package/src/libs/engine/src/layout/port-aware-layout.interface.js.map +1 -0
  613. package/src/libs/engine/src/layout/port-label-bridge.d.ts +77 -0
  614. package/src/libs/engine/src/layout/port-label-bridge.js +250 -0
  615. package/src/libs/engine/src/layout/port-label-bridge.js.map +1 -0
  616. package/src/libs/engine/src/layout/portfolio-layouts.d.ts +53 -0
  617. package/src/libs/engine/src/layout/portfolio-layouts.js +388 -0
  618. package/src/libs/engine/src/layout/portfolio-layouts.js.map +1 -0
  619. package/src/libs/engine/src/layout/rng.d.ts +34 -0
  620. package/src/libs/engine/src/layout/rng.js +71 -0
  621. package/src/libs/engine/src/layout/rng.js.map +1 -0
  622. package/src/libs/engine/src/layout/spectral-layout-adapter.d.ts +72 -0
  623. package/src/libs/engine/src/layout/spectral-layout-adapter.js +379 -0
  624. package/src/libs/engine/src/layout/spectral-layout-adapter.js.map +1 -0
  625. package/src/libs/engine/src/layout/steppable-layout.d.ts +40 -0
  626. package/src/libs/engine/src/layout/steppable-layout.js +34 -0
  627. package/src/libs/engine/src/layout/steppable-layout.js.map +1 -0
  628. package/src/libs/engine/src/layout/subgraph-layout.interface.d.ts +269 -0
  629. package/src/libs/engine/src/layout/subgraph-layout.interface.js +452 -0
  630. package/src/libs/engine/src/layout/subgraph-layout.interface.js.map +1 -0
  631. package/src/libs/engine/src/layout/sugiyama/layered-layout.d.ts +9 -0
  632. package/src/libs/engine/src/layout/sugiyama/layered-layout.js +83 -0
  633. package/src/libs/engine/src/layout/sugiyama/layered-layout.js.map +1 -0
  634. package/src/libs/engine/src/layout/sugiyama/sugiyama.d.ts +91 -0
  635. package/src/libs/engine/src/layout/sugiyama/sugiyama.js +797 -0
  636. package/src/libs/engine/src/layout/sugiyama/sugiyama.js.map +1 -0
  637. package/src/libs/engine/src/layout/tree-layout.d.ts +43 -0
  638. package/src/libs/engine/src/layout/tree-layout.js +426 -0
  639. package/src/libs/engine/src/layout/tree-layout.js.map +1 -0
  640. package/src/libs/engine/src/layout/types.d.ts +263 -0
  641. package/src/libs/engine/src/layout/types.js +6 -0
  642. package/src/libs/engine/src/layout/types.js.map +1 -0
  643. package/src/libs/engine/src/lib/performance/mobile-performance.service.d.ts +43 -0
  644. package/src/libs/engine/src/lib/performance/mobile-performance.service.js +95 -0
  645. package/src/libs/engine/src/lib/performance/mobile-performance.service.js.map +1 -0
  646. package/src/libs/engine/src/models/DiagramEntity.d.ts +174 -0
  647. package/src/libs/engine/src/models/DiagramEntity.js +366 -0
  648. package/src/libs/engine/src/models/DiagramEntity.js.map +1 -0
  649. package/src/libs/engine/src/models/DiagramModel.d.ts +960 -0
  650. package/src/libs/engine/src/models/DiagramModel.js +2416 -0
  651. package/src/libs/engine/src/models/DiagramModel.js.map +1 -0
  652. package/src/libs/engine/src/models/GroupModel.d.ts +573 -0
  653. package/src/libs/engine/src/models/GroupModel.js +1373 -0
  654. package/src/libs/engine/src/models/GroupModel.js.map +1 -0
  655. package/src/libs/engine/src/models/LinkModel.d.ts +395 -0
  656. package/src/libs/engine/src/models/LinkModel.js +1045 -0
  657. package/src/libs/engine/src/models/LinkModel.js.map +1 -0
  658. package/src/libs/engine/src/models/NodeModel.d.ts +666 -0
  659. package/src/libs/engine/src/models/NodeModel.js +1512 -0
  660. package/src/libs/engine/src/models/NodeModel.js.map +1 -0
  661. package/src/libs/engine/src/models/PortModel.d.ts +292 -0
  662. package/src/libs/engine/src/models/PortModel.js +637 -0
  663. package/src/libs/engine/src/models/PortModel.js.map +1 -0
  664. package/src/libs/engine/src/models/StrokeModel.d.ts +160 -0
  665. package/src/libs/engine/src/models/StrokeModel.js +387 -0
  666. package/src/libs/engine/src/models/StrokeModel.js.map +1 -0
  667. package/src/libs/engine/src/models/index.d.ts +7 -0
  668. package/src/libs/engine/src/models/index.js +12 -0
  669. package/src/libs/engine/src/models/index.js.map +1 -0
  670. package/src/libs/engine/src/models/readonly-lock.d.ts +108 -0
  671. package/src/libs/engine/src/models/readonly-lock.js +125 -0
  672. package/src/libs/engine/src/models/readonly-lock.js.map +1 -0
  673. package/src/libs/engine/src/performance/LRUCache.d.ts +78 -0
  674. package/src/libs/engine/src/performance/LRUCache.js +179 -0
  675. package/src/libs/engine/src/performance/LRUCache.js.map +1 -0
  676. package/src/libs/engine/src/performance/PerformanceMonitor.d.ts +47 -0
  677. package/src/libs/engine/src/performance/PerformanceMonitor.js +112 -0
  678. package/src/libs/engine/src/performance/PerformanceMonitor.js.map +1 -0
  679. package/src/libs/engine/src/performance/SpatialIndex.d.ts +157 -0
  680. package/src/libs/engine/src/performance/SpatialIndex.js +306 -0
  681. package/src/libs/engine/src/performance/SpatialIndex.js.map +1 -0
  682. package/src/libs/engine/src/performance/index.d.ts +2 -0
  683. package/src/libs/engine/src/performance/index.js +7 -0
  684. package/src/libs/engine/src/performance/index.js.map +1 -0
  685. package/src/libs/engine/src/plugins/PluginManager.d.ts +95 -0
  686. package/src/libs/engine/src/plugins/PluginManager.js +388 -0
  687. package/src/libs/engine/src/plugins/PluginManager.js.map +1 -0
  688. package/src/libs/engine/src/plugins/index.d.ts +1 -0
  689. package/src/libs/engine/src/plugins/index.js +6 -0
  690. package/src/libs/engine/src/plugins/index.js.map +1 -0
  691. package/src/libs/engine/src/ports/connection-rules.d.ts +32 -0
  692. package/src/libs/engine/src/ports/connection-rules.js +131 -0
  693. package/src/libs/engine/src/ports/connection-rules.js.map +1 -0
  694. package/src/libs/engine/src/ports/dynamic-ports.d.ts +27 -0
  695. package/src/libs/engine/src/ports/dynamic-ports.js +135 -0
  696. package/src/libs/engine/src/ports/dynamic-ports.js.map +1 -0
  697. package/src/libs/engine/src/ports/index.d.ts +5 -0
  698. package/src/libs/engine/src/ports/index.js +16 -0
  699. package/src/libs/engine/src/ports/index.js.map +1 -0
  700. package/src/libs/engine/src/ports/port-groups.d.ts +43 -0
  701. package/src/libs/engine/src/ports/port-groups.js +185 -0
  702. package/src/libs/engine/src/ports/port-groups.js.map +1 -0
  703. package/src/libs/engine/src/ports/port-type-registry.d.ts +34 -0
  704. package/src/libs/engine/src/ports/port-type-registry.js +87 -0
  705. package/src/libs/engine/src/ports/port-type-registry.js.map +1 -0
  706. package/src/libs/engine/src/ports/port-types.d.ts +266 -0
  707. package/src/libs/engine/src/ports/port-types.js +30 -0
  708. package/src/libs/engine/src/ports/port-types.js.map +1 -0
  709. package/src/libs/engine/src/rendering/HtmlTemplateRenderer.d.ts +136 -0
  710. package/src/libs/engine/src/rendering/HtmlTemplateRenderer.js +292 -0
  711. package/src/libs/engine/src/rendering/HtmlTemplateRenderer.js.map +1 -0
  712. package/src/libs/engine/src/rendering/LemonadeJSRenderer.d.ts +160 -0
  713. package/src/libs/engine/src/rendering/LemonadeJSRenderer.js +362 -0
  714. package/src/libs/engine/src/rendering/LemonadeJSRenderer.js.map +1 -0
  715. package/src/libs/engine/src/rendering/index.d.ts +2 -0
  716. package/src/libs/engine/src/rendering/index.js +7 -0
  717. package/src/libs/engine/src/rendering/index.js.map +1 -0
  718. package/src/libs/engine/src/routing/LiveReroutingEngine.d.ts +75 -0
  719. package/src/libs/engine/src/routing/LiveReroutingEngine.js +173 -0
  720. package/src/libs/engine/src/routing/LiveReroutingEngine.js.map +1 -0
  721. package/src/libs/engine/src/routing/ObstacleIndex.d.ts +42 -0
  722. package/src/libs/engine/src/routing/ObstacleIndex.js +215 -0
  723. package/src/libs/engine/src/routing/ObstacleIndex.js.map +1 -0
  724. package/src/libs/engine/src/routing/ObstacleMap.d.ts +68 -0
  725. package/src/libs/engine/src/routing/ObstacleMap.js +312 -0
  726. package/src/libs/engine/src/routing/ObstacleMap.js.map +1 -0
  727. package/src/libs/engine/src/routing/ObstacleMapBuilder.d.ts +28 -0
  728. package/src/libs/engine/src/routing/ObstacleMapBuilder.js +76 -0
  729. package/src/libs/engine/src/routing/ObstacleMapBuilder.js.map +1 -0
  730. package/src/libs/engine/src/routing/PathSimplifier.d.ts +119 -0
  731. package/src/libs/engine/src/routing/PathSimplifier.js +224 -0
  732. package/src/libs/engine/src/routing/PathSimplifier.js.map +1 -0
  733. package/src/libs/engine/src/routing/RoutingEngine.d.ts +118 -0
  734. package/src/libs/engine/src/routing/RoutingEngine.js +546 -0
  735. package/src/libs/engine/src/routing/RoutingEngine.js.map +1 -0
  736. package/src/libs/engine/src/routing/algorithms/AStarRouter.d.ts +90 -0
  737. package/src/libs/engine/src/routing/algorithms/AStarRouter.js +331 -0
  738. package/src/libs/engine/src/routing/algorithms/AStarRouter.js.map +1 -0
  739. package/src/libs/engine/src/routing/algorithms/DijkstraRouter.d.ts +74 -0
  740. package/src/libs/engine/src/routing/algorithms/DijkstraRouter.js +297 -0
  741. package/src/libs/engine/src/routing/algorithms/DijkstraRouter.js.map +1 -0
  742. package/src/libs/engine/src/routing/algorithms/ElkRouter.d.ts +34 -0
  743. package/src/libs/engine/src/routing/algorithms/ElkRouter.js +210 -0
  744. package/src/libs/engine/src/routing/algorithms/ElkRouter.js.map +1 -0
  745. package/src/libs/engine/src/routing/algorithms/ManhattanRouter.d.ts +18 -0
  746. package/src/libs/engine/src/routing/algorithms/ManhattanRouter.js +224 -0
  747. package/src/libs/engine/src/routing/algorithms/ManhattanRouter.js.map +1 -0
  748. package/src/libs/engine/src/routing/algorithms/OrthogonalRouter.d.ts +173 -0
  749. package/src/libs/engine/src/routing/algorithms/OrthogonalRouter.js +1092 -0
  750. package/src/libs/engine/src/routing/algorithms/OrthogonalRouter.js.map +1 -0
  751. package/src/libs/engine/src/routing/algorithms/StraightRouter.d.ts +8 -0
  752. package/src/libs/engine/src/routing/algorithms/StraightRouter.js +53 -0
  753. package/src/libs/engine/src/routing/algorithms/StraightRouter.js.map +1 -0
  754. package/src/libs/engine/src/routing/algorithms/VisibilityGraphRouter.d.ts +59 -0
  755. package/src/libs/engine/src/routing/algorithms/VisibilityGraphRouter.js +258 -0
  756. package/src/libs/engine/src/routing/algorithms/VisibilityGraphRouter.js.map +1 -0
  757. package/src/libs/engine/src/routing/global/GlobalRouteSolver.d.ts +64 -0
  758. package/src/libs/engine/src/routing/global/GlobalRouteSolver.js +334 -0
  759. package/src/libs/engine/src/routing/global/GlobalRouteSolver.js.map +1 -0
  760. package/src/libs/engine/src/routing/global/solver-host.d.ts +65 -0
  761. package/src/libs/engine/src/routing/global/solver-host.js +87 -0
  762. package/src/libs/engine/src/routing/global/solver-host.js.map +1 -0
  763. package/src/libs/engine/src/routing/index.d.ts +15 -0
  764. package/src/libs/engine/src/routing/index.js +20 -0
  765. package/src/libs/engine/src/routing/index.js.map +1 -0
  766. package/src/libs/engine/src/routing/types.d.ts +161 -0
  767. package/src/libs/engine/src/routing/types.js +4 -0
  768. package/src/libs/engine/src/routing/types.js.map +1 -0
  769. package/src/libs/engine/src/selection/SelectionManager.d.ts +161 -0
  770. package/src/libs/engine/src/selection/SelectionManager.js +483 -0
  771. package/src/libs/engine/src/selection/SelectionManager.js.map +1 -0
  772. package/src/libs/engine/src/selection/index.d.ts +1 -0
  773. package/src/libs/engine/src/selection/index.js +6 -0
  774. package/src/libs/engine/src/selection/index.js.map +1 -0
  775. package/src/libs/engine/src/serialization/DiagramMigrations.d.ts +41 -0
  776. package/src/libs/engine/src/serialization/DiagramMigrations.js +124 -0
  777. package/src/libs/engine/src/serialization/DiagramMigrations.js.map +1 -0
  778. package/src/libs/engine/src/serialization/DiagramValidator.d.ts +20 -0
  779. package/src/libs/engine/src/serialization/DiagramValidator.js +136 -0
  780. package/src/libs/engine/src/serialization/DiagramValidator.js.map +1 -0
  781. package/src/libs/engine/src/serialization/DocumentEnvelope.d.ts +53 -0
  782. package/src/libs/engine/src/serialization/DocumentEnvelope.js +111 -0
  783. package/src/libs/engine/src/serialization/DocumentEnvelope.js.map +1 -0
  784. package/src/libs/engine/src/serialization/Incremental.d.ts +77 -0
  785. package/src/libs/engine/src/serialization/Incremental.js +227 -0
  786. package/src/libs/engine/src/serialization/Incremental.js.map +1 -0
  787. package/src/libs/engine/src/serialization/Serializer.d.ts +29 -0
  788. package/src/libs/engine/src/serialization/Serializer.js +45 -0
  789. package/src/libs/engine/src/serialization/Serializer.js.map +1 -0
  790. package/src/libs/engine/src/serialization/Subgraph.d.ts +51 -0
  791. package/src/libs/engine/src/serialization/Subgraph.js +172 -0
  792. package/src/libs/engine/src/serialization/Subgraph.js.map +1 -0
  793. package/src/libs/engine/src/serialization/TextFormat.d.ts +71 -0
  794. package/src/libs/engine/src/serialization/TextFormat.js +261 -0
  795. package/src/libs/engine/src/serialization/TextFormat.js.map +1 -0
  796. package/src/libs/engine/src/state/ConnectionStateManager.d.ts +178 -0
  797. package/src/libs/engine/src/state/ConnectionStateManager.js +319 -0
  798. package/src/libs/engine/src/state/ConnectionStateManager.js.map +1 -0
  799. package/src/libs/engine/src/state/DiagramStore.d.ts +134 -0
  800. package/src/libs/engine/src/state/DiagramStore.js +372 -0
  801. package/src/libs/engine/src/state/DiagramStore.js.map +1 -0
  802. package/src/libs/engine/src/state/index.d.ts +2 -0
  803. package/src/libs/engine/src/state/index.js +7 -0
  804. package/src/libs/engine/src/state/index.js.map +1 -0
  805. package/src/libs/engine/src/sync/awareness.d.ts +91 -0
  806. package/src/libs/engine/src/sync/awareness.js +221 -0
  807. package/src/libs/engine/src/sync/awareness.js.map +1 -0
  808. package/src/libs/engine/src/sync/batcher.d.ts +84 -0
  809. package/src/libs/engine/src/sync/batcher.js +0 -0
  810. package/src/libs/engine/src/sync/batcher.js.map +1 -0
  811. package/src/libs/engine/src/sync/causal-buffer.d.ts +81 -0
  812. package/src/libs/engine/src/sync/causal-buffer.js +199 -0
  813. package/src/libs/engine/src/sync/causal-buffer.js.map +1 -0
  814. package/src/libs/engine/src/sync/index.d.ts +20 -0
  815. package/src/libs/engine/src/sync/index.js +41 -0
  816. package/src/libs/engine/src/sync/index.js.map +1 -0
  817. package/src/libs/engine/src/sync/protocol.d.ts +74 -0
  818. package/src/libs/engine/src/sync/protocol.js +39 -0
  819. package/src/libs/engine/src/sync/protocol.js.map +1 -0
  820. package/src/libs/engine/src/sync/sync-adapter.d.ts +243 -0
  821. package/src/libs/engine/src/sync/sync-adapter.js +524 -0
  822. package/src/libs/engine/src/sync/sync-adapter.js.map +1 -0
  823. package/src/libs/engine/src/sync/transport.d.ts +30 -0
  824. package/src/libs/engine/src/sync/transport.js +28 -0
  825. package/src/libs/engine/src/sync/transport.js.map +1 -0
  826. package/src/libs/engine/src/sync/transports/broadcast-channel.d.ts +39 -0
  827. package/src/libs/engine/src/sync/transports/broadcast-channel.js +117 -0
  828. package/src/libs/engine/src/sync/transports/broadcast-channel.js.map +1 -0
  829. package/src/libs/engine/src/sync/transports/memory.d.ts +38 -0
  830. package/src/libs/engine/src/sync/transports/memory.js +111 -0
  831. package/src/libs/engine/src/sync/transports/memory.js.map +1 -0
  832. package/src/libs/engine/src/sync/transports/unreliable.d.ts +59 -0
  833. package/src/libs/engine/src/sync/transports/unreliable.js +153 -0
  834. package/src/libs/engine/src/sync/transports/unreliable.js.map +1 -0
  835. package/src/libs/engine/src/sync/transports/websocket.d.ts +60 -0
  836. package/src/libs/engine/src/sync/transports/websocket.js +210 -0
  837. package/src/libs/engine/src/sync/transports/websocket.js.map +1 -0
  838. package/src/libs/engine/src/sync/version-vector.d.ts +47 -0
  839. package/src/libs/engine/src/sync/version-vector.js +218 -0
  840. package/src/libs/engine/src/sync/version-vector.js.map +1 -0
  841. package/src/libs/engine/src/template-library/common-templates.d.ts +46 -0
  842. package/src/libs/engine/src/template-library/common-templates.js +395 -0
  843. package/src/libs/engine/src/template-library/common-templates.js.map +1 -0
  844. package/src/libs/engine/src/template-library/data-viz-templates.d.ts +52 -0
  845. package/src/libs/engine/src/template-library/data-viz-templates.js +471 -0
  846. package/src/libs/engine/src/template-library/data-viz-templates.js.map +1 -0
  847. package/src/libs/engine/src/template-library/erd-templates.d.ts +71 -0
  848. package/src/libs/engine/src/template-library/erd-templates.js +773 -0
  849. package/src/libs/engine/src/template-library/erd-templates.js.map +1 -0
  850. package/src/libs/engine/src/template-library/index.d.ts +141 -0
  851. package/src/libs/engine/src/template-library/index.js +271 -0
  852. package/src/libs/engine/src/template-library/index.js.map +1 -0
  853. package/src/libs/engine/src/template-library/integration.d.ts +80 -0
  854. package/src/libs/engine/src/template-library/integration.js +141 -0
  855. package/src/libs/engine/src/template-library/integration.js.map +1 -0
  856. package/src/libs/engine/src/template-library/workflow-templates.d.ts +52 -0
  857. package/src/libs/engine/src/template-library/workflow-templates.js +438 -0
  858. package/src/libs/engine/src/template-library/workflow-templates.js.map +1 -0
  859. package/src/libs/engine/src/templates/NodeFactory.d.ts +118 -0
  860. package/src/libs/engine/src/templates/NodeFactory.js +436 -0
  861. package/src/libs/engine/src/templates/NodeFactory.js.map +1 -0
  862. package/src/libs/engine/src/templates/NodeTemplate.d.ts +342 -0
  863. package/src/libs/engine/src/templates/NodeTemplate.js +13 -0
  864. package/src/libs/engine/src/templates/NodeTemplate.js.map +1 -0
  865. package/src/libs/engine/src/templates/TemplateLoader.d.ts +46 -0
  866. package/src/libs/engine/src/templates/TemplateLoader.js +114 -0
  867. package/src/libs/engine/src/templates/TemplateLoader.js.map +1 -0
  868. package/src/libs/engine/src/templates/TemplateRegistry.d.ts +70 -0
  869. package/src/libs/engine/src/templates/TemplateRegistry.js +128 -0
  870. package/src/libs/engine/src/templates/TemplateRegistry.js.map +1 -0
  871. package/src/libs/engine/src/templates/generated/bpmn/bpmn-business-rule-task.template.d.ts +11 -0
  872. package/src/libs/engine/src/templates/generated/bpmn/bpmn-business-rule-task.template.js +123 -0
  873. package/src/libs/engine/src/templates/generated/bpmn/bpmn-business-rule-task.template.js.map +1 -0
  874. package/src/libs/engine/src/templates/generated/bpmn/bpmn-end-event.template.d.ts +11 -0
  875. package/src/libs/engine/src/templates/generated/bpmn/bpmn-end-event.template.js +123 -0
  876. package/src/libs/engine/src/templates/generated/bpmn/bpmn-end-event.template.js.map +1 -0
  877. package/src/libs/engine/src/templates/generated/bpmn/bpmn-error-event.template.d.ts +11 -0
  878. package/src/libs/engine/src/templates/generated/bpmn/bpmn-error-event.template.js +123 -0
  879. package/src/libs/engine/src/templates/generated/bpmn/bpmn-error-event.template.js.map +1 -0
  880. package/src/libs/engine/src/templates/generated/bpmn/bpmn-exclusive-gateway.template.d.ts +11 -0
  881. package/src/libs/engine/src/templates/generated/bpmn/bpmn-exclusive-gateway.template.js +124 -0
  882. package/src/libs/engine/src/templates/generated/bpmn/bpmn-exclusive-gateway.template.js.map +1 -0
  883. package/src/libs/engine/src/templates/generated/bpmn/bpmn-inclusive-gateway.template.d.ts +11 -0
  884. package/src/libs/engine/src/templates/generated/bpmn/bpmn-inclusive-gateway.template.js +123 -0
  885. package/src/libs/engine/src/templates/generated/bpmn/bpmn-inclusive-gateway.template.js.map +1 -0
  886. package/src/libs/engine/src/templates/generated/bpmn/bpmn-intermediate-event.template.d.ts +11 -0
  887. package/src/libs/engine/src/templates/generated/bpmn/bpmn-intermediate-event.template.js +124 -0
  888. package/src/libs/engine/src/templates/generated/bpmn/bpmn-intermediate-event.template.js.map +1 -0
  889. package/src/libs/engine/src/templates/generated/bpmn/bpmn-manual-task.template.d.ts +11 -0
  890. package/src/libs/engine/src/templates/generated/bpmn/bpmn-manual-task.template.js +123 -0
  891. package/src/libs/engine/src/templates/generated/bpmn/bpmn-manual-task.template.js.map +1 -0
  892. package/src/libs/engine/src/templates/generated/bpmn/bpmn-message-event.template.d.ts +11 -0
  893. package/src/libs/engine/src/templates/generated/bpmn/bpmn-message-event.template.js +122 -0
  894. package/src/libs/engine/src/templates/generated/bpmn/bpmn-message-event.template.js.map +1 -0
  895. package/src/libs/engine/src/templates/generated/bpmn/bpmn-parallel-gateway.template.d.ts +11 -0
  896. package/src/libs/engine/src/templates/generated/bpmn/bpmn-parallel-gateway.template.js +125 -0
  897. package/src/libs/engine/src/templates/generated/bpmn/bpmn-parallel-gateway.template.js.map +1 -0
  898. package/src/libs/engine/src/templates/generated/bpmn/bpmn-script-task.template.d.ts +11 -0
  899. package/src/libs/engine/src/templates/generated/bpmn/bpmn-script-task.template.js +123 -0
  900. package/src/libs/engine/src/templates/generated/bpmn/bpmn-script-task.template.js.map +1 -0
  901. package/src/libs/engine/src/templates/generated/bpmn/bpmn-service-task.template.d.ts +11 -0
  902. package/src/libs/engine/src/templates/generated/bpmn/bpmn-service-task.template.js +123 -0
  903. package/src/libs/engine/src/templates/generated/bpmn/bpmn-service-task.template.js.map +1 -0
  904. package/src/libs/engine/src/templates/generated/bpmn/bpmn-start-event.template.d.ts +11 -0
  905. package/src/libs/engine/src/templates/generated/bpmn/bpmn-start-event.template.js +123 -0
  906. package/src/libs/engine/src/templates/generated/bpmn/bpmn-start-event.template.js.map +1 -0
  907. package/src/libs/engine/src/templates/generated/bpmn/bpmn-task.template.d.ts +11 -0
  908. package/src/libs/engine/src/templates/generated/bpmn/bpmn-task.template.js +152 -0
  909. package/src/libs/engine/src/templates/generated/bpmn/bpmn-task.template.js.map +1 -0
  910. package/src/libs/engine/src/templates/generated/bpmn/bpmn-timer-event.template.d.ts +11 -0
  911. package/src/libs/engine/src/templates/generated/bpmn/bpmn-timer-event.template.js +123 -0
  912. package/src/libs/engine/src/templates/generated/bpmn/bpmn-timer-event.template.js.map +1 -0
  913. package/src/libs/engine/src/templates/generated/bpmn/bpmn-user-task.template.d.ts +11 -0
  914. package/src/libs/engine/src/templates/generated/bpmn/bpmn-user-task.template.js +123 -0
  915. package/src/libs/engine/src/templates/generated/bpmn/bpmn-user-task.template.js.map +1 -0
  916. package/src/libs/engine/src/templates/generated/bpmn/index.d.ts +15 -0
  917. package/src/libs/engine/src/templates/generated/bpmn/index.js +34 -0
  918. package/src/libs/engine/src/templates/generated/bpmn/index.js.map +1 -0
  919. package/src/libs/engine/src/templates/generated/erd/erd-associative-entity.template.d.ts +11 -0
  920. package/src/libs/engine/src/templates/generated/erd/erd-associative-entity.template.js +152 -0
  921. package/src/libs/engine/src/templates/generated/erd/erd-associative-entity.template.js.map +1 -0
  922. package/src/libs/engine/src/templates/generated/erd/erd-attribute.template.d.ts +11 -0
  923. package/src/libs/engine/src/templates/generated/erd/erd-attribute.template.js +122 -0
  924. package/src/libs/engine/src/templates/generated/erd/erd-attribute.template.js.map +1 -0
  925. package/src/libs/engine/src/templates/generated/erd/erd-bridge-entity.template.d.ts +11 -0
  926. package/src/libs/engine/src/templates/generated/erd/erd-bridge-entity.template.js +151 -0
  927. package/src/libs/engine/src/templates/generated/erd/erd-bridge-entity.template.js.map +1 -0
  928. package/src/libs/engine/src/templates/generated/erd/erd-composite-attribute.template.d.ts +11 -0
  929. package/src/libs/engine/src/templates/generated/erd/erd-composite-attribute.template.js +122 -0
  930. package/src/libs/engine/src/templates/generated/erd/erd-composite-attribute.template.js.map +1 -0
  931. package/src/libs/engine/src/templates/generated/erd/erd-derived-attribute.template.d.ts +11 -0
  932. package/src/libs/engine/src/templates/generated/erd/erd-derived-attribute.template.js +122 -0
  933. package/src/libs/engine/src/templates/generated/erd/erd-derived-attribute.template.js.map +1 -0
  934. package/src/libs/engine/src/templates/generated/erd/erd-discriminator.template.d.ts +11 -0
  935. package/src/libs/engine/src/templates/generated/erd/erd-discriminator.template.js +123 -0
  936. package/src/libs/engine/src/templates/generated/erd/erd-discriminator.template.js.map +1 -0
  937. package/src/libs/engine/src/templates/generated/erd/erd-entity.template.d.ts +11 -0
  938. package/src/libs/engine/src/templates/generated/erd/erd-entity.template.js +149 -0
  939. package/src/libs/engine/src/templates/generated/erd/erd-entity.template.js.map +1 -0
  940. package/src/libs/engine/src/templates/generated/erd/erd-isa.template.d.ts +11 -0
  941. package/src/libs/engine/src/templates/generated/erd/erd-isa.template.js +123 -0
  942. package/src/libs/engine/src/templates/generated/erd/erd-isa.template.js.map +1 -0
  943. package/src/libs/engine/src/templates/generated/erd/erd-key-attribute.template.d.ts +11 -0
  944. package/src/libs/engine/src/templates/generated/erd/erd-key-attribute.template.js +122 -0
  945. package/src/libs/engine/src/templates/generated/erd/erd-key-attribute.template.js.map +1 -0
  946. package/src/libs/engine/src/templates/generated/erd/erd-multivalued-attribute.template.d.ts +11 -0
  947. package/src/libs/engine/src/templates/generated/erd/erd-multivalued-attribute.template.js +122 -0
  948. package/src/libs/engine/src/templates/generated/erd/erd-multivalued-attribute.template.js.map +1 -0
  949. package/src/libs/engine/src/templates/generated/erd/erd-optional-attribute.template.d.ts +11 -0
  950. package/src/libs/engine/src/templates/generated/erd/erd-optional-attribute.template.js +122 -0
  951. package/src/libs/engine/src/templates/generated/erd/erd-optional-attribute.template.js.map +1 -0
  952. package/src/libs/engine/src/templates/generated/erd/erd-partial-key.template.d.ts +11 -0
  953. package/src/libs/engine/src/templates/generated/erd/erd-partial-key.template.js +123 -0
  954. package/src/libs/engine/src/templates/generated/erd/erd-partial-key.template.js.map +1 -0
  955. package/src/libs/engine/src/templates/generated/erd/erd-relationship.template.d.ts +11 -0
  956. package/src/libs/engine/src/templates/generated/erd/erd-relationship.template.js +121 -0
  957. package/src/libs/engine/src/templates/generated/erd/erd-relationship.template.js.map +1 -0
  958. package/src/libs/engine/src/templates/generated/erd/erd-subtype.template.d.ts +11 -0
  959. package/src/libs/engine/src/templates/generated/erd/erd-subtype.template.js +123 -0
  960. package/src/libs/engine/src/templates/generated/erd/erd-subtype.template.js.map +1 -0
  961. package/src/libs/engine/src/templates/generated/erd/erd-supertype.template.d.ts +11 -0
  962. package/src/libs/engine/src/templates/generated/erd/erd-supertype.template.js +123 -0
  963. package/src/libs/engine/src/templates/generated/erd/erd-supertype.template.js.map +1 -0
  964. package/src/libs/engine/src/templates/generated/erd/erd-table.template.d.ts +11 -0
  965. package/src/libs/engine/src/templates/generated/erd/erd-table.template.js +123 -0
  966. package/src/libs/engine/src/templates/generated/erd/erd-table.template.js.map +1 -0
  967. package/src/libs/engine/src/templates/generated/erd/erd-view.template.d.ts +11 -0
  968. package/src/libs/engine/src/templates/generated/erd/erd-view.template.js +123 -0
  969. package/src/libs/engine/src/templates/generated/erd/erd-view.template.js.map +1 -0
  970. package/src/libs/engine/src/templates/generated/erd/erd-weak-entity.template.d.ts +11 -0
  971. package/src/libs/engine/src/templates/generated/erd/erd-weak-entity.template.js +149 -0
  972. package/src/libs/engine/src/templates/generated/erd/erd-weak-entity.template.js.map +1 -0
  973. package/src/libs/engine/src/templates/generated/erd/erd-weak-relationship.template.d.ts +11 -0
  974. package/src/libs/engine/src/templates/generated/erd/erd-weak-relationship.template.js +122 -0
  975. package/src/libs/engine/src/templates/generated/erd/erd-weak-relationship.template.js.map +1 -0
  976. package/src/libs/engine/src/templates/generated/erd/index.d.ts +19 -0
  977. package/src/libs/engine/src/templates/generated/erd/index.js +42 -0
  978. package/src/libs/engine/src/templates/generated/erd/index.js.map +1 -0
  979. package/src/libs/engine/src/templates/generated/flowchart/flowchart-connector.template.d.ts +11 -0
  980. package/src/libs/engine/src/templates/generated/flowchart/flowchart-connector.template.js +123 -0
  981. package/src/libs/engine/src/templates/generated/flowchart/flowchart-connector.template.js.map +1 -0
  982. package/src/libs/engine/src/templates/generated/flowchart/flowchart-data.template.d.ts +11 -0
  983. package/src/libs/engine/src/templates/generated/flowchart/flowchart-data.template.js +123 -0
  984. package/src/libs/engine/src/templates/generated/flowchart/flowchart-data.template.js.map +1 -0
  985. package/src/libs/engine/src/templates/generated/flowchart/flowchart-decision.template.d.ts +11 -0
  986. package/src/libs/engine/src/templates/generated/flowchart/flowchart-decision.template.js +123 -0
  987. package/src/libs/engine/src/templates/generated/flowchart/flowchart-decision.template.js.map +1 -0
  988. package/src/libs/engine/src/templates/generated/flowchart/flowchart-delay.template.d.ts +11 -0
  989. package/src/libs/engine/src/templates/generated/flowchart/flowchart-delay.template.js +124 -0
  990. package/src/libs/engine/src/templates/generated/flowchart/flowchart-delay.template.js.map +1 -0
  991. package/src/libs/engine/src/templates/generated/flowchart/flowchart-display.template.d.ts +11 -0
  992. package/src/libs/engine/src/templates/generated/flowchart/flowchart-display.template.js +124 -0
  993. package/src/libs/engine/src/templates/generated/flowchart/flowchart-display.template.js.map +1 -0
  994. package/src/libs/engine/src/templates/generated/flowchart/flowchart-document.template.d.ts +11 -0
  995. package/src/libs/engine/src/templates/generated/flowchart/flowchart-document.template.js +123 -0
  996. package/src/libs/engine/src/templates/generated/flowchart/flowchart-document.template.js.map +1 -0
  997. package/src/libs/engine/src/templates/generated/flowchart/flowchart-manual-input.template.d.ts +11 -0
  998. package/src/libs/engine/src/templates/generated/flowchart/flowchart-manual-input.template.js +123 -0
  999. package/src/libs/engine/src/templates/generated/flowchart/flowchart-manual-input.template.js.map +1 -0
  1000. package/src/libs/engine/src/templates/generated/flowchart/flowchart-manual-operation.template.d.ts +11 -0
  1001. package/src/libs/engine/src/templates/generated/flowchart/flowchart-manual-operation.template.js +122 -0
  1002. package/src/libs/engine/src/templates/generated/flowchart/flowchart-manual-operation.template.js.map +1 -0
  1003. package/src/libs/engine/src/templates/generated/flowchart/flowchart-merge.template.d.ts +11 -0
  1004. package/src/libs/engine/src/templates/generated/flowchart/flowchart-merge.template.js +122 -0
  1005. package/src/libs/engine/src/templates/generated/flowchart/flowchart-merge.template.js.map +1 -0
  1006. package/src/libs/engine/src/templates/generated/flowchart/flowchart-or.template.d.ts +11 -0
  1007. package/src/libs/engine/src/templates/generated/flowchart/flowchart-or.template.js +123 -0
  1008. package/src/libs/engine/src/templates/generated/flowchart/flowchart-or.template.js.map +1 -0
  1009. package/src/libs/engine/src/templates/generated/flowchart/flowchart-predefined-process.template.d.ts +11 -0
  1010. package/src/libs/engine/src/templates/generated/flowchart/flowchart-predefined-process.template.js +123 -0
  1011. package/src/libs/engine/src/templates/generated/flowchart/flowchart-predefined-process.template.js.map +1 -0
  1012. package/src/libs/engine/src/templates/generated/flowchart/flowchart-preparation.template.d.ts +11 -0
  1013. package/src/libs/engine/src/templates/generated/flowchart/flowchart-preparation.template.js +123 -0
  1014. package/src/libs/engine/src/templates/generated/flowchart/flowchart-preparation.template.js.map +1 -0
  1015. package/src/libs/engine/src/templates/generated/flowchart/flowchart-process.template.d.ts +11 -0
  1016. package/src/libs/engine/src/templates/generated/flowchart/flowchart-process.template.js +122 -0
  1017. package/src/libs/engine/src/templates/generated/flowchart/flowchart-process.template.js.map +1 -0
  1018. package/src/libs/engine/src/templates/generated/flowchart/flowchart-stored-data.template.d.ts +11 -0
  1019. package/src/libs/engine/src/templates/generated/flowchart/flowchart-stored-data.template.js +123 -0
  1020. package/src/libs/engine/src/templates/generated/flowchart/flowchart-stored-data.template.js.map +1 -0
  1021. package/src/libs/engine/src/templates/generated/flowchart/flowchart-summing-junction.template.d.ts +11 -0
  1022. package/src/libs/engine/src/templates/generated/flowchart/flowchart-summing-junction.template.js +124 -0
  1023. package/src/libs/engine/src/templates/generated/flowchart/flowchart-summing-junction.template.js.map +1 -0
  1024. package/src/libs/engine/src/templates/generated/flowchart/flowchart-terminal.template.d.ts +11 -0
  1025. package/src/libs/engine/src/templates/generated/flowchart/flowchart-terminal.template.js +124 -0
  1026. package/src/libs/engine/src/templates/generated/flowchart/flowchart-terminal.template.js.map +1 -0
  1027. package/src/libs/engine/src/templates/generated/flowchart/index.d.ts +16 -0
  1028. package/src/libs/engine/src/templates/generated/flowchart/index.js +36 -0
  1029. package/src/libs/engine/src/templates/generated/flowchart/index.js.map +1 -0
  1030. package/src/libs/engine/src/templates/generated/index.d.ts +9 -0
  1031. package/src/libs/engine/src/templates/generated/index.js +13 -0
  1032. package/src/libs/engine/src/templates/generated/index.js.map +1 -0
  1033. package/src/libs/engine/src/templates/generated/register.d.ts +23 -0
  1034. package/src/libs/engine/src/templates/generated/register.js +31 -0
  1035. package/src/libs/engine/src/templates/generated/register.js.map +1 -0
  1036. package/src/libs/engine/src/templates/generated/uml/index.d.ts +30 -0
  1037. package/src/libs/engine/src/templates/generated/uml/index.js +64 -0
  1038. package/src/libs/engine/src/templates/generated/uml/index.js.map +1 -0
  1039. package/src/libs/engine/src/templates/generated/uml/uml-abstract-class.template.d.ts +11 -0
  1040. package/src/libs/engine/src/templates/generated/uml/uml-abstract-class.template.js +204 -0
  1041. package/src/libs/engine/src/templates/generated/uml/uml-abstract-class.template.js.map +1 -0
  1042. package/src/libs/engine/src/templates/generated/uml/uml-activation.template.d.ts +11 -0
  1043. package/src/libs/engine/src/templates/generated/uml/uml-activation.template.js +124 -0
  1044. package/src/libs/engine/src/templates/generated/uml/uml-activation.template.js.map +1 -0
  1045. package/src/libs/engine/src/templates/generated/uml/uml-activity-partition.template.d.ts +11 -0
  1046. package/src/libs/engine/src/templates/generated/uml/uml-activity-partition.template.js +124 -0
  1047. package/src/libs/engine/src/templates/generated/uml/uml-activity-partition.template.js.map +1 -0
  1048. package/src/libs/engine/src/templates/generated/uml/uml-activity.template.d.ts +11 -0
  1049. package/src/libs/engine/src/templates/generated/uml/uml-activity.template.js +123 -0
  1050. package/src/libs/engine/src/templates/generated/uml/uml-activity.template.js.map +1 -0
  1051. package/src/libs/engine/src/templates/generated/uml/uml-actor.template.d.ts +11 -0
  1052. package/src/libs/engine/src/templates/generated/uml/uml-actor.template.js +123 -0
  1053. package/src/libs/engine/src/templates/generated/uml/uml-actor.template.js.map +1 -0
  1054. package/src/libs/engine/src/templates/generated/uml/uml-class.template.d.ts +11 -0
  1055. package/src/libs/engine/src/templates/generated/uml/uml-class.template.js +204 -0
  1056. package/src/libs/engine/src/templates/generated/uml/uml-class.template.js.map +1 -0
  1057. package/src/libs/engine/src/templates/generated/uml/uml-collaboration.template.d.ts +11 -0
  1058. package/src/libs/engine/src/templates/generated/uml/uml-collaboration.template.js +122 -0
  1059. package/src/libs/engine/src/templates/generated/uml/uml-collaboration.template.js.map +1 -0
  1060. package/src/libs/engine/src/templates/generated/uml/uml-component.template.d.ts +11 -0
  1061. package/src/libs/engine/src/templates/generated/uml/uml-component.template.js +122 -0
  1062. package/src/libs/engine/src/templates/generated/uml/uml-component.template.js.map +1 -0
  1063. package/src/libs/engine/src/templates/generated/uml/uml-datatype.template.d.ts +11 -0
  1064. package/src/libs/engine/src/templates/generated/uml/uml-datatype.template.js +204 -0
  1065. package/src/libs/engine/src/templates/generated/uml/uml-datatype.template.js.map +1 -0
  1066. package/src/libs/engine/src/templates/generated/uml/uml-decision.template.d.ts +11 -0
  1067. package/src/libs/engine/src/templates/generated/uml/uml-decision.template.js +124 -0
  1068. package/src/libs/engine/src/templates/generated/uml/uml-decision.template.js.map +1 -0
  1069. package/src/libs/engine/src/templates/generated/uml/uml-enum.template.d.ts +11 -0
  1070. package/src/libs/engine/src/templates/generated/uml/uml-enum.template.js +204 -0
  1071. package/src/libs/engine/src/templates/generated/uml/uml-enum.template.js.map +1 -0
  1072. package/src/libs/engine/src/templates/generated/uml/uml-final-node.template.d.ts +11 -0
  1073. package/src/libs/engine/src/templates/generated/uml/uml-final-node.template.js +124 -0
  1074. package/src/libs/engine/src/templates/generated/uml/uml-final-node.template.js.map +1 -0
  1075. package/src/libs/engine/src/templates/generated/uml/uml-final-state.template.d.ts +11 -0
  1076. package/src/libs/engine/src/templates/generated/uml/uml-final-state.template.js +124 -0
  1077. package/src/libs/engine/src/templates/generated/uml/uml-final-state.template.js.map +1 -0
  1078. package/src/libs/engine/src/templates/generated/uml/uml-fork.template.d.ts +11 -0
  1079. package/src/libs/engine/src/templates/generated/uml/uml-fork.template.js +125 -0
  1080. package/src/libs/engine/src/templates/generated/uml/uml-fork.template.js.map +1 -0
  1081. package/src/libs/engine/src/templates/generated/uml/uml-initial-node.template.d.ts +11 -0
  1082. package/src/libs/engine/src/templates/generated/uml/uml-initial-node.template.js +123 -0
  1083. package/src/libs/engine/src/templates/generated/uml/uml-initial-node.template.js.map +1 -0
  1084. package/src/libs/engine/src/templates/generated/uml/uml-initial-state.template.d.ts +11 -0
  1085. package/src/libs/engine/src/templates/generated/uml/uml-initial-state.template.js +123 -0
  1086. package/src/libs/engine/src/templates/generated/uml/uml-initial-state.template.js.map +1 -0
  1087. package/src/libs/engine/src/templates/generated/uml/uml-interface.template.d.ts +11 -0
  1088. package/src/libs/engine/src/templates/generated/uml/uml-interface.template.js +204 -0
  1089. package/src/libs/engine/src/templates/generated/uml/uml-interface.template.js.map +1 -0
  1090. package/src/libs/engine/src/templates/generated/uml/uml-join.template.d.ts +11 -0
  1091. package/src/libs/engine/src/templates/generated/uml/uml-join.template.js +125 -0
  1092. package/src/libs/engine/src/templates/generated/uml/uml-join.template.js.map +1 -0
  1093. package/src/libs/engine/src/templates/generated/uml/uml-lifeline.template.d.ts +11 -0
  1094. package/src/libs/engine/src/templates/generated/uml/uml-lifeline.template.js +123 -0
  1095. package/src/libs/engine/src/templates/generated/uml/uml-lifeline.template.js.map +1 -0
  1096. package/src/libs/engine/src/templates/generated/uml/uml-merge.template.d.ts +11 -0
  1097. package/src/libs/engine/src/templates/generated/uml/uml-merge.template.js +122 -0
  1098. package/src/libs/engine/src/templates/generated/uml/uml-merge.template.js.map +1 -0
  1099. package/src/libs/engine/src/templates/generated/uml/uml-node.template.d.ts +11 -0
  1100. package/src/libs/engine/src/templates/generated/uml/uml-node.template.js +122 -0
  1101. package/src/libs/engine/src/templates/generated/uml/uml-node.template.js.map +1 -0
  1102. package/src/libs/engine/src/templates/generated/uml/uml-note.template.d.ts +11 -0
  1103. package/src/libs/engine/src/templates/generated/uml/uml-note.template.js +123 -0
  1104. package/src/libs/engine/src/templates/generated/uml/uml-note.template.js.map +1 -0
  1105. package/src/libs/engine/src/templates/generated/uml/uml-object.template.d.ts +11 -0
  1106. package/src/libs/engine/src/templates/generated/uml/uml-object.template.js +204 -0
  1107. package/src/libs/engine/src/templates/generated/uml/uml-object.template.js.map +1 -0
  1108. package/src/libs/engine/src/templates/generated/uml/uml-package.template.d.ts +11 -0
  1109. package/src/libs/engine/src/templates/generated/uml/uml-package.template.js +123 -0
  1110. package/src/libs/engine/src/templates/generated/uml/uml-package.template.js.map +1 -0
  1111. package/src/libs/engine/src/templates/generated/uml/uml-part.template.d.ts +11 -0
  1112. package/src/libs/engine/src/templates/generated/uml/uml-part.template.js +122 -0
  1113. package/src/libs/engine/src/templates/generated/uml/uml-part.template.js.map +1 -0
  1114. package/src/libs/engine/src/templates/generated/uml/uml-port.template.d.ts +11 -0
  1115. package/src/libs/engine/src/templates/generated/uml/uml-port.template.js +123 -0
  1116. package/src/libs/engine/src/templates/generated/uml/uml-port.template.js.map +1 -0
  1117. package/src/libs/engine/src/templates/generated/uml/uml-primitive-type.template.d.ts +11 -0
  1118. package/src/libs/engine/src/templates/generated/uml/uml-primitive-type.template.js +204 -0
  1119. package/src/libs/engine/src/templates/generated/uml/uml-primitive-type.template.js.map +1 -0
  1120. package/src/libs/engine/src/templates/generated/uml/uml-signal.template.d.ts +11 -0
  1121. package/src/libs/engine/src/templates/generated/uml/uml-signal.template.js +123 -0
  1122. package/src/libs/engine/src/templates/generated/uml/uml-signal.template.js.map +1 -0
  1123. package/src/libs/engine/src/templates/generated/uml/uml-state.template.d.ts +11 -0
  1124. package/src/libs/engine/src/templates/generated/uml/uml-state.template.js +123 -0
  1125. package/src/libs/engine/src/templates/generated/uml/uml-state.template.js.map +1 -0
  1126. package/src/libs/engine/src/templates/generated/uml/uml-use-case.template.d.ts +11 -0
  1127. package/src/libs/engine/src/templates/generated/uml/uml-use-case.template.js +122 -0
  1128. package/src/libs/engine/src/templates/generated/uml/uml-use-case.template.js.map +1 -0
  1129. package/src/libs/engine/src/templates/index.d.ts +12 -0
  1130. package/src/libs/engine/src/templates/index.js +27 -0
  1131. package/src/libs/engine/src/templates/index.js.map +1 -0
  1132. package/src/libs/engine/src/templates/stencils.d.ts +45 -0
  1133. package/src/libs/engine/src/templates/stencils.js +85 -0
  1134. package/src/libs/engine/src/templates/stencils.js.map +1 -0
  1135. package/src/libs/engine/src/types/domain/bpmn.d.ts +25 -0
  1136. package/src/libs/engine/src/types/domain/bpmn.js +313 -0
  1137. package/src/libs/engine/src/types/domain/bpmn.js.map +1 -0
  1138. package/src/libs/engine/src/types/domain/erd.d.ts +29 -0
  1139. package/src/libs/engine/src/types/domain/erd.js +394 -0
  1140. package/src/libs/engine/src/types/domain/erd.js.map +1 -0
  1141. package/src/libs/engine/src/types/domain/flowchart.d.ts +26 -0
  1142. package/src/libs/engine/src/types/domain/flowchart.js +434 -0
  1143. package/src/libs/engine/src/types/domain/flowchart.js.map +1 -0
  1144. package/src/libs/engine/src/types/domain/index.d.ts +4 -0
  1145. package/src/libs/engine/src/types/domain/index.js +9 -0
  1146. package/src/libs/engine/src/types/domain/index.js.map +1 -0
  1147. package/src/libs/engine/src/types/domain/uml.d.ts +40 -0
  1148. package/src/libs/engine/src/types/domain/uml.js +758 -0
  1149. package/src/libs/engine/src/types/domain/uml.js.map +1 -0
  1150. package/src/libs/engine/src/types/event.types.d.ts +142 -0
  1151. package/src/libs/engine/src/types/event.types.js +96 -0
  1152. package/src/libs/engine/src/types/event.types.js.map +1 -0
  1153. package/src/libs/engine/src/types/geometry.types.d.ts +84 -0
  1154. package/src/libs/engine/src/types/geometry.types.js +16 -0
  1155. package/src/libs/engine/src/types/geometry.types.js.map +1 -0
  1156. package/src/libs/engine/src/types/index.d.ts +7 -0
  1157. package/src/libs/engine/src/types/index.js +14 -0
  1158. package/src/libs/engine/src/types/index.js.map +1 -0
  1159. package/src/libs/engine/src/types/layout.types.d.ts +148 -0
  1160. package/src/libs/engine/src/types/layout.types.js +28 -0
  1161. package/src/libs/engine/src/types/layout.types.js.map +1 -0
  1162. package/src/libs/engine/src/types/model.types.d.ts +378 -0
  1163. package/src/libs/engine/src/types/model.types.js +4 -0
  1164. package/src/libs/engine/src/types/model.types.js.map +1 -0
  1165. package/src/libs/engine/src/types/performance.types.d.ts +109 -0
  1166. package/src/libs/engine/src/types/performance.types.js +122 -0
  1167. package/src/libs/engine/src/types/performance.types.js.map +1 -0
  1168. package/src/libs/engine/src/types/plugin.types.d.ts +30 -0
  1169. package/src/libs/engine/src/types/plugin.types.js +4 -0
  1170. package/src/libs/engine/src/types/plugin.types.js.map +1 -0
  1171. package/src/libs/engine/src/utils/deep-clone.d.ts +9 -0
  1172. package/src/libs/engine/src/utils/deep-clone.js +123 -0
  1173. package/src/libs/engine/src/utils/deep-clone.js.map +1 -0
  1174. package/src/libs/engine/src/utils/geometry.d.ts +45 -0
  1175. package/src/libs/engine/src/utils/geometry.js +241 -0
  1176. package/src/libs/engine/src/utils/geometry.js.map +1 -0
  1177. package/src/libs/engine/src/utils/id.d.ts +22 -0
  1178. package/src/libs/engine/src/utils/id.js +44 -0
  1179. package/src/libs/engine/src/utils/id.js.map +1 -0
  1180. package/src/libs/engine/src/utils/index.d.ts +3 -0
  1181. package/src/libs/engine/src/utils/index.js +8 -0
  1182. package/src/libs/engine/src/utils/index.js.map +1 -0
  1183. package/src/libs/engine/src/utils/transform.d.ts +84 -0
  1184. package/src/libs/engine/src/utils/transform.js +200 -0
  1185. package/src/libs/engine/src/utils/transform.js.map +1 -0
  1186. package/src/libs/engine/src/validation/ConnectionGroupValidator.d.ts +22 -0
  1187. package/src/libs/engine/src/validation/ConnectionGroupValidator.js +56 -0
  1188. package/src/libs/engine/src/validation/ConnectionGroupValidator.js.map +1 -0
  1189. package/src/libs/engine/src/validation/TypeRegistry.d.ts +179 -0
  1190. package/src/libs/engine/src/validation/TypeRegistry.js +358 -0
  1191. package/src/libs/engine/src/validation/TypeRegistry.js.map +1 -0
  1192. package/src/libs/engine/src/validation/ValidationEngine.d.ts +79 -0
  1193. package/src/libs/engine/src/validation/ValidationEngine.js +1150 -0
  1194. package/src/libs/engine/src/validation/ValidationEngine.js.map +1 -0
  1195. package/src/libs/engine/src/validation/index.d.ts +3 -0
  1196. package/src/libs/engine/src/validation/index.js +8 -0
  1197. package/src/libs/engine/src/validation/index.js.map +1 -0
  1198. package/src/libs/renderer/src/a11y/diagram-outline.d.ts +93 -0
  1199. package/src/libs/renderer/src/a11y/diagram-outline.js +0 -0
  1200. package/src/libs/renderer/src/a11y/diagram-outline.js.map +1 -0
  1201. package/src/libs/renderer/src/a11y/focus-containment.d.ts +90 -0
  1202. package/src/libs/renderer/src/a11y/focus-containment.js +173 -0
  1203. package/src/libs/renderer/src/a11y/focus-containment.js.map +1 -0
  1204. package/src/libs/renderer/src/a11y/graph-topology.d.ts +70 -0
  1205. package/src/libs/renderer/src/a11y/graph-topology.js +0 -0
  1206. package/src/libs/renderer/src/a11y/graph-topology.js.map +1 -0
  1207. package/src/libs/renderer/src/a11y/index.d.ts +26 -0
  1208. package/src/libs/renderer/src/a11y/index.js +30 -0
  1209. package/src/libs/renderer/src/a11y/index.js.map +1 -0
  1210. package/src/libs/renderer/src/a11y/live-region.d.ts +83 -0
  1211. package/src/libs/renderer/src/a11y/live-region.js +170 -0
  1212. package/src/libs/renderer/src/a11y/live-region.js.map +1 -0
  1213. package/src/libs/renderer/src/a11y/outline-view.d.ts +62 -0
  1214. package/src/libs/renderer/src/a11y/outline-view.js +158 -0
  1215. package/src/libs/renderer/src/a11y/outline-view.js.map +1 -0
  1216. package/src/libs/renderer/src/a11y/reduced-motion.d.ts +48 -0
  1217. package/src/libs/renderer/src/a11y/reduced-motion.js +223 -0
  1218. package/src/libs/renderer/src/a11y/reduced-motion.js.map +1 -0
  1219. package/src/libs/renderer/src/a11y/semantics.d.ts +76 -0
  1220. package/src/libs/renderer/src/a11y/semantics.js +229 -0
  1221. package/src/libs/renderer/src/a11y/semantics.js.map +1 -0
  1222. package/src/libs/renderer/src/canvas/canvas-context.d.ts +167 -0
  1223. package/src/libs/renderer/src/canvas/canvas-context.js +267 -0
  1224. package/src/libs/renderer/src/canvas/canvas-context.js.map +1 -0
  1225. package/src/libs/renderer/src/canvas/canvas-renderer.d.ts +194 -0
  1226. package/src/libs/renderer/src/canvas/canvas-renderer.js +600 -0
  1227. package/src/libs/renderer/src/canvas/canvas-renderer.js.map +1 -0
  1228. package/src/libs/renderer/src/canvas/dirty-region.d.ts +56 -0
  1229. package/src/libs/renderer/src/canvas/dirty-region.js +171 -0
  1230. package/src/libs/renderer/src/canvas/dirty-region.js.map +1 -0
  1231. package/src/libs/renderer/src/canvas/index.d.ts +16 -0
  1232. package/src/libs/renderer/src/canvas/index.js +79 -0
  1233. package/src/libs/renderer/src/canvas/index.js.map +1 -0
  1234. package/src/libs/renderer/src/canvas/path-geometry.d.ts +112 -0
  1235. package/src/libs/renderer/src/canvas/path-geometry.js +673 -0
  1236. package/src/libs/renderer/src/canvas/path-geometry.js.map +1 -0
  1237. package/src/libs/renderer/src/canvas/render-backend.d.ts +133 -0
  1238. package/src/libs/renderer/src/canvas/render-backend.js +339 -0
  1239. package/src/libs/renderer/src/canvas/render-backend.js.map +1 -0
  1240. package/src/libs/renderer/src/canvas/style-resolution.d.ts +101 -0
  1241. package/src/libs/renderer/src/canvas/style-resolution.js +466 -0
  1242. package/src/libs/renderer/src/canvas/style-resolution.js.map +1 -0
  1243. package/src/libs/renderer/src/canvas/tier-policy.d.ts +33 -0
  1244. package/src/libs/renderer/src/canvas/tier-policy.js +89 -0
  1245. package/src/libs/renderer/src/canvas/tier-policy.js.map +1 -0
  1246. package/src/libs/renderer/src/canvas/vnode-painter.d.ts +154 -0
  1247. package/src/libs/renderer/src/canvas/vnode-painter.js +649 -0
  1248. package/src/libs/renderer/src/canvas/vnode-painter.js.map +1 -0
  1249. package/src/libs/renderer/src/comments/comment-overlay.d.ts +56 -0
  1250. package/src/libs/renderer/src/comments/comment-overlay.js +127 -0
  1251. package/src/libs/renderer/src/comments/comment-overlay.js.map +1 -0
  1252. package/src/libs/renderer/src/comments/comment-panel.d.ts +45 -0
  1253. package/src/libs/renderer/src/comments/comment-panel.js +287 -0
  1254. package/src/libs/renderer/src/comments/comment-panel.js.map +1 -0
  1255. package/src/libs/renderer/src/comments/comment-pins.d.ts +34 -0
  1256. package/src/libs/renderer/src/comments/comment-pins.js +227 -0
  1257. package/src/libs/renderer/src/comments/comment-pins.js.map +1 -0
  1258. package/src/libs/renderer/src/comments/index.d.ts +3 -0
  1259. package/src/libs/renderer/src/comments/index.js +17 -0
  1260. package/src/libs/renderer/src/comments/index.js.map +1 -0
  1261. package/src/libs/renderer/src/export/assets.d.ts +96 -0
  1262. package/src/libs/renderer/src/export/assets.js +350 -0
  1263. package/src/libs/renderer/src/export/assets.js.map +1 -0
  1264. package/src/libs/renderer/src/export/batch.d.ts +49 -0
  1265. package/src/libs/renderer/src/export/batch.js +95 -0
  1266. package/src/libs/renderer/src/export/batch.js.map +1 -0
  1267. package/src/libs/renderer/src/export/bounds.d.ts +81 -0
  1268. package/src/libs/renderer/src/export/bounds.js +367 -0
  1269. package/src/libs/renderer/src/export/bounds.js.map +1 -0
  1270. package/src/libs/renderer/src/export/capture-host.d.ts +39 -0
  1271. package/src/libs/renderer/src/export/capture-host.js +1259 -0
  1272. package/src/libs/renderer/src/export/capture-host.js.map +1 -0
  1273. package/src/libs/renderer/src/export/custom-nodes.d.ts +88 -0
  1274. package/src/libs/renderer/src/export/custom-nodes.js +237 -0
  1275. package/src/libs/renderer/src/export/custom-nodes.js.map +1 -0
  1276. package/src/libs/renderer/src/export/index.d.ts +14 -0
  1277. package/src/libs/renderer/src/export/index.js +30 -0
  1278. package/src/libs/renderer/src/export/index.js.map +1 -0
  1279. package/src/libs/renderer/src/export/node-raster.d.ts +60 -0
  1280. package/src/libs/renderer/src/export/node-raster.js +161 -0
  1281. package/src/libs/renderer/src/export/node-raster.js.map +1 -0
  1282. package/src/libs/renderer/src/export/pagination.d.ts +116 -0
  1283. package/src/libs/renderer/src/export/pagination.js +245 -0
  1284. package/src/libs/renderer/src/export/pagination.js.map +1 -0
  1285. package/src/libs/renderer/src/export/pdf/flate.d.ts +13 -0
  1286. package/src/libs/renderer/src/export/pdf/flate.js +287 -0
  1287. package/src/libs/renderer/src/export/pdf/flate.js.map +1 -0
  1288. package/src/libs/renderer/src/export/pdf/index.d.ts +4 -0
  1289. package/src/libs/renderer/src/export/pdf/index.js +15 -0
  1290. package/src/libs/renderer/src/export/pdf/index.js.map +1 -0
  1291. package/src/libs/renderer/src/export/pdf/pdf-export.d.ts +64 -0
  1292. package/src/libs/renderer/src/export/pdf/pdf-export.js +1076 -0
  1293. package/src/libs/renderer/src/export/pdf/pdf-export.js.map +1 -0
  1294. package/src/libs/renderer/src/export/pdf/pdf-path.d.ts +17 -0
  1295. package/src/libs/renderer/src/export/pdf/pdf-path.js +85 -0
  1296. package/src/libs/renderer/src/export/pdf/pdf-path.js.map +1 -0
  1297. package/src/libs/renderer/src/export/pdf/pdf-primitives.d.ts +115 -0
  1298. package/src/libs/renderer/src/export/pdf/pdf-primitives.js +338 -0
  1299. package/src/libs/renderer/src/export/pdf/pdf-primitives.js.map +1 -0
  1300. package/src/libs/renderer/src/export/pdf/png.d.ts +25 -0
  1301. package/src/libs/renderer/src/export/pdf/png.js +596 -0
  1302. package/src/libs/renderer/src/export/pdf/png.js.map +1 -0
  1303. package/src/libs/renderer/src/export/raster.d.ts +42 -0
  1304. package/src/libs/renderer/src/export/raster.js +126 -0
  1305. package/src/libs/renderer/src/export/raster.js.map +1 -0
  1306. package/src/libs/renderer/src/export/round-trip.d.ts +83 -0
  1307. package/src/libs/renderer/src/export/round-trip.js +432 -0
  1308. package/src/libs/renderer/src/export/round-trip.js.map +1 -0
  1309. package/src/libs/renderer/src/export/scope.d.ts +16 -0
  1310. package/src/libs/renderer/src/export/scope.js +69 -0
  1311. package/src/libs/renderer/src/export/scope.js.map +1 -0
  1312. package/src/libs/renderer/src/export/style-flattener.d.ts +23 -0
  1313. package/src/libs/renderer/src/export/style-flattener.js +144 -0
  1314. package/src/libs/renderer/src/export/style-flattener.js.map +1 -0
  1315. package/src/libs/renderer/src/export/svg-export.d.ts +123 -0
  1316. package/src/libs/renderer/src/export/svg-export.js +178 -0
  1317. package/src/libs/renderer/src/export/svg-export.js.map +1 -0
  1318. package/src/libs/renderer/src/export/vnode-serializer.d.ts +75 -0
  1319. package/src/libs/renderer/src/export/vnode-serializer.js +344 -0
  1320. package/src/libs/renderer/src/export/vnode-serializer.js.map +1 -0
  1321. package/src/libs/renderer/src/ext/capabilities.d.ts +178 -0
  1322. package/src/libs/renderer/src/ext/capabilities.js +22 -0
  1323. package/src/libs/renderer/src/ext/capabilities.js.map +1 -0
  1324. package/src/libs/renderer/src/ext/capability-factory.d.ts +44 -0
  1325. package/src/libs/renderer/src/ext/capability-factory.js +194 -0
  1326. package/src/libs/renderer/src/ext/capability-factory.js.map +1 -0
  1327. package/src/libs/renderer/src/ext/components/attach.d.ts +66 -0
  1328. package/src/libs/renderer/src/ext/components/attach.js +112 -0
  1329. package/src/libs/renderer/src/ext/components/attach.js.map +1 -0
  1330. package/src/libs/renderer/src/ext/components/background.d.ts +84 -0
  1331. package/src/libs/renderer/src/ext/components/background.js +202 -0
  1332. package/src/libs/renderer/src/ext/components/background.js.map +1 -0
  1333. package/src/libs/renderer/src/ext/components/controls.d.ts +49 -0
  1334. package/src/libs/renderer/src/ext/components/controls.js +144 -0
  1335. package/src/libs/renderer/src/ext/components/controls.js.map +1 -0
  1336. package/src/libs/renderer/src/ext/components/minimap.d.ts +78 -0
  1337. package/src/libs/renderer/src/ext/components/minimap.js +326 -0
  1338. package/src/libs/renderer/src/ext/components/minimap.js.map +1 -0
  1339. package/src/libs/renderer/src/ext/diagram-registry.d.ts +109 -0
  1340. package/src/libs/renderer/src/ext/diagram-registry.js +303 -0
  1341. package/src/libs/renderer/src/ext/diagram-registry.js.map +1 -0
  1342. package/src/libs/renderer/src/ext/disposable.d.ts +51 -0
  1343. package/src/libs/renderer/src/ext/disposable.js +104 -0
  1344. package/src/libs/renderer/src/ext/disposable.js.map +1 -0
  1345. package/src/libs/renderer/src/ext/extension-host.d.ts +144 -0
  1346. package/src/libs/renderer/src/ext/extension-host.js +272 -0
  1347. package/src/libs/renderer/src/ext/extension-host.js.map +1 -0
  1348. package/src/libs/renderer/src/ext/index.d.ts +62 -0
  1349. package/src/libs/renderer/src/ext/index.js +91 -0
  1350. package/src/libs/renderer/src/ext/index.js.map +1 -0
  1351. package/src/libs/renderer/src/ext/link-pipeline.d.ts +195 -0
  1352. package/src/libs/renderer/src/ext/link-pipeline.js +431 -0
  1353. package/src/libs/renderer/src/ext/link-pipeline.js.map +1 -0
  1354. package/src/libs/renderer/src/ext/manifest.d.ts +73 -0
  1355. package/src/libs/renderer/src/ext/manifest.js +149 -0
  1356. package/src/libs/renderer/src/ext/manifest.js.map +1 -0
  1357. package/src/libs/renderer/src/ext/node-component.d.ts +114 -0
  1358. package/src/libs/renderer/src/ext/node-component.js +290 -0
  1359. package/src/libs/renderer/src/ext/node-component.js.map +1 -0
  1360. package/src/libs/renderer/src/ext/plugins-loader.d.ts +1 -0
  1361. package/src/libs/renderer/src/ext/plugins-loader.js +18 -0
  1362. package/src/libs/renderer/src/ext/plugins-loader.js.map +1 -0
  1363. package/src/libs/renderer/src/ext/portal.d.ts +129 -0
  1364. package/src/libs/renderer/src/ext/portal.js +267 -0
  1365. package/src/libs/renderer/src/ext/portal.js.map +1 -0
  1366. package/src/libs/renderer/src/ext/public-api.d.ts +101 -0
  1367. package/src/libs/renderer/src/ext/public-api.js +201 -0
  1368. package/src/libs/renderer/src/ext/public-api.js.map +1 -0
  1369. package/src/libs/renderer/src/ext/registry-scope.d.ts +93 -0
  1370. package/src/libs/renderer/src/ext/registry-scope.js +142 -0
  1371. package/src/libs/renderer/src/ext/registry-scope.js.map +1 -0
  1372. package/src/libs/renderer/src/ext/tools.d.ts +164 -0
  1373. package/src/libs/renderer/src/ext/tools.js +170 -0
  1374. package/src/libs/renderer/src/ext/tools.js.map +1 -0
  1375. package/src/libs/renderer/src/index.d.ts +34 -0
  1376. package/src/libs/renderer/src/index.js +108 -0
  1377. package/src/libs/renderer/src/index.js.map +1 -0
  1378. package/src/libs/renderer/src/instance/create-diagram.d.ts +385 -0
  1379. package/src/libs/renderer/src/instance/create-diagram.js +1150 -0
  1380. package/src/libs/renderer/src/instance/create-diagram.js.map +1 -0
  1381. package/src/libs/renderer/src/instance/diagram-instance.d.ts +48 -0
  1382. package/src/libs/renderer/src/instance/diagram-instance.js +51 -0
  1383. package/src/libs/renderer/src/instance/diagram-instance.js.map +1 -0
  1384. package/src/libs/renderer/src/instance/dom-event-binder.d.ts +394 -0
  1385. package/src/libs/renderer/src/instance/dom-event-binder.js +2104 -0
  1386. package/src/libs/renderer/src/instance/dom-event-binder.js.map +1 -0
  1387. package/src/libs/renderer/src/instance/index.d.ts +5 -0
  1388. package/src/libs/renderer/src/instance/index.js +13 -0
  1389. package/src/libs/renderer/src/instance/index.js.map +1 -0
  1390. package/src/libs/renderer/src/instance/layers.d.ts +31 -0
  1391. package/src/libs/renderer/src/instance/layers.js +43 -0
  1392. package/src/libs/renderer/src/instance/layers.js.map +1 -0
  1393. package/src/libs/renderer/src/instance/model-input.d.ts +229 -0
  1394. package/src/libs/renderer/src/instance/model-input.js +325 -0
  1395. package/src/libs/renderer/src/instance/model-input.js.map +1 -0
  1396. package/src/libs/renderer/src/instance/render-scheduler.d.ts +79 -0
  1397. package/src/libs/renderer/src/instance/render-scheduler.js +96 -0
  1398. package/src/libs/renderer/src/instance/render-scheduler.js.map +1 -0
  1399. package/src/libs/renderer/src/instance/wheel-scroll-yield.d.ts +38 -0
  1400. package/src/libs/renderer/src/instance/wheel-scroll-yield.js +118 -0
  1401. package/src/libs/renderer/src/instance/wheel-scroll-yield.js.map +1 -0
  1402. package/src/libs/renderer/src/interaction/ControlPointEditor.d.ts +160 -0
  1403. package/src/libs/renderer/src/interaction/ControlPointEditor.js +360 -0
  1404. package/src/libs/renderer/src/interaction/ControlPointEditor.js.map +1 -0
  1405. package/src/libs/renderer/src/interaction/WaypointEditor.d.ts +133 -0
  1406. package/src/libs/renderer/src/interaction/WaypointEditor.js +263 -0
  1407. package/src/libs/renderer/src/interaction/WaypointEditor.js.map +1 -0
  1408. package/src/libs/renderer/src/interaction/highlighters.d.ts +88 -0
  1409. package/src/libs/renderer/src/interaction/highlighters.js +212 -0
  1410. package/src/libs/renderer/src/interaction/highlighters.js.map +1 -0
  1411. package/src/libs/renderer/src/interaction/in-place-editor.d.ts +63 -0
  1412. package/src/libs/renderer/src/interaction/in-place-editor.js +141 -0
  1413. package/src/libs/renderer/src/interaction/in-place-editor.js.map +1 -0
  1414. package/src/libs/renderer/src/interaction/index.d.ts +11 -0
  1415. package/src/libs/renderer/src/interaction/index.js +29 -0
  1416. package/src/libs/renderer/src/interaction/index.js.map +1 -0
  1417. package/src/libs/renderer/src/interaction/ink-overlay.d.ts +53 -0
  1418. package/src/libs/renderer/src/interaction/ink-overlay.js +154 -0
  1419. package/src/libs/renderer/src/interaction/ink-overlay.js.map +1 -0
  1420. package/src/libs/renderer/src/interaction/interaction-controller.d.ts +555 -0
  1421. package/src/libs/renderer/src/interaction/interaction-controller.js +1733 -0
  1422. package/src/libs/renderer/src/interaction/interaction-controller.js.map +1 -0
  1423. package/src/libs/renderer/src/interaction/keyboard-navigation.d.ts +223 -0
  1424. package/src/libs/renderer/src/interaction/keyboard-navigation.js +885 -0
  1425. package/src/libs/renderer/src/interaction/keyboard-navigation.js.map +1 -0
  1426. package/src/libs/renderer/src/interaction/selection-tools.d.ts +343 -0
  1427. package/src/libs/renderer/src/interaction/selection-tools.js +918 -0
  1428. package/src/libs/renderer/src/interaction/selection-tools.js.map +1 -0
  1429. package/src/libs/renderer/src/interaction/snapping.d.ts +210 -0
  1430. package/src/libs/renderer/src/interaction/snapping.js +569 -0
  1431. package/src/libs/renderer/src/interaction/snapping.js.map +1 -0
  1432. package/src/libs/renderer/src/interaction/touch-gestures.d.ts +160 -0
  1433. package/src/libs/renderer/src/interaction/touch-gestures.js +549 -0
  1434. package/src/libs/renderer/src/interaction/touch-gestures.js.map +1 -0
  1435. package/src/libs/renderer/src/interaction/whiteboard-tools.d.ts +171 -0
  1436. package/src/libs/renderer/src/interaction/whiteboard-tools.js +476 -0
  1437. package/src/libs/renderer/src/interaction/whiteboard-tools.js.map +1 -0
  1438. package/src/libs/renderer/src/lazy/host-culling.d.ts +116 -0
  1439. package/src/libs/renderer/src/lazy/host-culling.js +135 -0
  1440. package/src/libs/renderer/src/lazy/host-culling.js.map +1 -0
  1441. package/src/libs/renderer/src/lazy/index.d.ts +7 -0
  1442. package/src/libs/renderer/src/lazy/index.js +28 -0
  1443. package/src/libs/renderer/src/lazy/index.js.map +1 -0
  1444. package/src/libs/renderer/src/lazy/progressive-mounter.d.ts +80 -0
  1445. package/src/libs/renderer/src/lazy/progressive-mounter.js +264 -0
  1446. package/src/libs/renderer/src/lazy/progressive-mounter.js.map +1 -0
  1447. package/src/libs/renderer/src/lazy/types.d.ts +43 -0
  1448. package/src/libs/renderer/src/lazy/types.js +14 -0
  1449. package/src/libs/renderer/src/lazy/types.js.map +1 -0
  1450. package/src/libs/renderer/src/lazy/view-lifecycle.d.ts +97 -0
  1451. package/src/libs/renderer/src/lazy/view-lifecycle.js +221 -0
  1452. package/src/libs/renderer/src/lazy/view-lifecycle.js.map +1 -0
  1453. package/src/libs/renderer/src/perf/index.d.ts +2 -0
  1454. package/src/libs/renderer/src/perf/index.js +7 -0
  1455. package/src/libs/renderer/src/perf/index.js.map +1 -0
  1456. package/src/libs/renderer/src/perf/perf-hud.d.ts +46 -0
  1457. package/src/libs/renderer/src/perf/perf-hud.js +105 -0
  1458. package/src/libs/renderer/src/perf/perf-hud.js.map +1 -0
  1459. package/src/libs/renderer/src/perf/quality-governor.d.ts +77 -0
  1460. package/src/libs/renderer/src/perf/quality-governor.js +154 -0
  1461. package/src/libs/renderer/src/perf/quality-governor.js.map +1 -0
  1462. package/src/libs/renderer/src/platform/index.d.ts +1 -0
  1463. package/src/libs/renderer/src/platform/index.js +5 -0
  1464. package/src/libs/renderer/src/platform/index.js.map +1 -0
  1465. package/src/libs/renderer/src/platform/platform.d.ts +34 -0
  1466. package/src/libs/renderer/src/platform/platform.js +64 -0
  1467. package/src/libs/renderer/src/platform/platform.js.map +1 -0
  1468. package/src/libs/renderer/src/presence/bind-presence.d.ts +51 -0
  1469. package/src/libs/renderer/src/presence/bind-presence.js +144 -0
  1470. package/src/libs/renderer/src/presence/bind-presence.js.map +1 -0
  1471. package/src/libs/renderer/src/presence/index.d.ts +4 -0
  1472. package/src/libs/renderer/src/presence/index.js +18 -0
  1473. package/src/libs/renderer/src/presence/index.js.map +1 -0
  1474. package/src/libs/renderer/src/presence/presence-overlay.d.ts +121 -0
  1475. package/src/libs/renderer/src/presence/presence-overlay.js +465 -0
  1476. package/src/libs/renderer/src/presence/presence-overlay.js.map +1 -0
  1477. package/src/libs/renderer/src/presentation/index.d.ts +3 -0
  1478. package/src/libs/renderer/src/presentation/index.js +14 -0
  1479. package/src/libs/renderer/src/presentation/index.js.map +1 -0
  1480. package/src/libs/renderer/src/presentation/presentation.d.ts +94 -0
  1481. package/src/libs/renderer/src/presentation/presentation.js +158 -0
  1482. package/src/libs/renderer/src/presentation/presentation.js.map +1 -0
  1483. package/src/libs/renderer/src/presentation/viewport-channel.d.ts +78 -0
  1484. package/src/libs/renderer/src/presentation/viewport-channel.js +86 -0
  1485. package/src/libs/renderer/src/presentation/viewport-channel.js.map +1 -0
  1486. package/src/libs/renderer/src/services/animation-lifecycle.d.ts +153 -0
  1487. package/src/libs/renderer/src/services/animation-lifecycle.js +326 -0
  1488. package/src/libs/renderer/src/services/animation-lifecycle.js.map +1 -0
  1489. package/src/libs/renderer/src/services/animation-performance.service.d.ts +191 -0
  1490. package/src/libs/renderer/src/services/animation-performance.service.js +371 -0
  1491. package/src/libs/renderer/src/services/animation-performance.service.js.map +1 -0
  1492. package/src/libs/renderer/src/services/animation-sequencer.d.ts +226 -0
  1493. package/src/libs/renderer/src/services/animation-sequencer.js +379 -0
  1494. package/src/libs/renderer/src/services/animation-sequencer.js.map +1 -0
  1495. package/src/libs/renderer/src/services/animation.service.d.ts +182 -0
  1496. package/src/libs/renderer/src/services/animation.service.js +858 -0
  1497. package/src/libs/renderer/src/services/animation.service.js.map +1 -0
  1498. package/src/libs/renderer/src/services/custom-animation-registry.d.ts +182 -0
  1499. package/src/libs/renderer/src/services/custom-animation-registry.js +361 -0
  1500. package/src/libs/renderer/src/services/custom-animation-registry.js.map +1 -0
  1501. package/src/libs/renderer/src/ssr/index.d.ts +1 -0
  1502. package/src/libs/renderer/src/ssr/index.js +6 -0
  1503. package/src/libs/renderer/src/ssr/index.js.map +1 -0
  1504. package/src/libs/renderer/src/ssr/render-to-static.d.ts +91 -0
  1505. package/src/libs/renderer/src/ssr/render-to-static.js +81 -0
  1506. package/src/libs/renderer/src/ssr/render-to-static.js.map +1 -0
  1507. package/src/libs/renderer/src/svg/ArrowRenderer.d.ts +159 -0
  1508. package/src/libs/renderer/src/svg/ArrowRenderer.js +723 -0
  1509. package/src/libs/renderer/src/svg/ArrowRenderer.js.map +1 -0
  1510. package/src/libs/renderer/src/svg/JumpPointDetector.d.ts +79 -0
  1511. package/src/libs/renderer/src/svg/JumpPointDetector.js +176 -0
  1512. package/src/libs/renderer/src/svg/JumpPointDetector.js.map +1 -0
  1513. package/src/libs/renderer/src/svg/JumpPointRenderer.d.ts +59 -0
  1514. package/src/libs/renderer/src/svg/JumpPointRenderer.js +309 -0
  1515. package/src/libs/renderer/src/svg/JumpPointRenderer.js.map +1 -0
  1516. package/src/libs/renderer/src/svg/LabelRenderer.d.ts +76 -0
  1517. package/src/libs/renderer/src/svg/LabelRenderer.js +273 -0
  1518. package/src/libs/renderer/src/svg/LabelRenderer.js.map +1 -0
  1519. package/src/libs/renderer/src/svg/auto-size.d.ts +76 -0
  1520. package/src/libs/renderer/src/svg/auto-size.js +142 -0
  1521. package/src/libs/renderer/src/svg/auto-size.js.map +1 -0
  1522. package/src/libs/renderer/src/svg/channel-nudging.d.ts +34 -0
  1523. package/src/libs/renderer/src/svg/channel-nudging.js +226 -0
  1524. package/src/libs/renderer/src/svg/channel-nudging.js.map +1 -0
  1525. package/src/libs/renderer/src/svg/edge-optimizer.d.ts +228 -0
  1526. package/src/libs/renderer/src/svg/edge-optimizer.js +606 -0
  1527. package/src/libs/renderer/src/svg/edge-optimizer.js.map +1 -0
  1528. package/src/libs/renderer/src/svg/edge-templates.d.ts +152 -0
  1529. package/src/libs/renderer/src/svg/edge-templates.js +233 -0
  1530. package/src/libs/renderer/src/svg/edge-templates.js.map +1 -0
  1531. package/src/libs/renderer/src/svg/html-node.d.ts +50 -0
  1532. package/src/libs/renderer/src/svg/html-node.js +214 -0
  1533. package/src/libs/renderer/src/svg/html-node.js.map +1 -0
  1534. package/src/libs/renderer/src/svg/index.d.ts +25 -0
  1535. package/src/libs/renderer/src/svg/index.js +32 -0
  1536. package/src/libs/renderer/src/svg/index.js.map +1 -0
  1537. package/src/libs/renderer/src/svg/link-fanout.d.ts +127 -0
  1538. package/src/libs/renderer/src/svg/link-fanout.js +333 -0
  1539. package/src/libs/renderer/src/svg/link-fanout.js.map +1 -0
  1540. package/src/libs/renderer/src/svg/link-hit-test.d.ts +142 -0
  1541. package/src/libs/renderer/src/svg/link-hit-test.js +182 -0
  1542. package/src/libs/renderer/src/svg/link-hit-test.js.map +1 -0
  1543. package/src/libs/renderer/src/svg/motion-tracker.d.ts +18 -0
  1544. package/src/libs/renderer/src/svg/motion-tracker.js +71 -0
  1545. package/src/libs/renderer/src/svg/motion-tracker.js.map +1 -0
  1546. package/src/libs/renderer/src/svg/node-sizing.d.ts +51 -0
  1547. package/src/libs/renderer/src/svg/node-sizing.js +65 -0
  1548. package/src/libs/renderer/src/svg/node-sizing.js.map +1 -0
  1549. package/src/libs/renderer/src/svg/node-toolbar.d.ts +30 -0
  1550. package/src/libs/renderer/src/svg/node-toolbar.js +45 -0
  1551. package/src/libs/renderer/src/svg/node-toolbar.js.map +1 -0
  1552. package/src/libs/renderer/src/svg/notation-shapes.d.ts +2 -0
  1553. package/src/libs/renderer/src/svg/notation-shapes.js +126 -0
  1554. package/src/libs/renderer/src/svg/notation-shapes.js.map +1 -0
  1555. package/src/libs/renderer/src/svg/paint-servers.d.ts +49 -0
  1556. package/src/libs/renderer/src/svg/paint-servers.js +225 -0
  1557. package/src/libs/renderer/src/svg/paint-servers.js.map +1 -0
  1558. package/src/libs/renderer/src/svg/panel.d.ts +115 -0
  1559. package/src/libs/renderer/src/svg/panel.js +353 -0
  1560. package/src/libs/renderer/src/svg/panel.js.map +1 -0
  1561. package/src/libs/renderer/src/svg/path-outline.d.ts +35 -0
  1562. package/src/libs/renderer/src/svg/path-outline.js +134 -0
  1563. package/src/libs/renderer/src/svg/path-outline.js.map +1 -0
  1564. package/src/libs/renderer/src/svg/port-glyph.d.ts +27 -0
  1565. package/src/libs/renderer/src/svg/port-glyph.js +97 -0
  1566. package/src/libs/renderer/src/svg/port-glyph.js.map +1 -0
  1567. package/src/libs/renderer/src/svg/port-label.d.ts +74 -0
  1568. package/src/libs/renderer/src/svg/port-label.js +201 -0
  1569. package/src/libs/renderer/src/svg/port-label.js.map +1 -0
  1570. package/src/libs/renderer/src/svg/port-layout.d.ts +50 -0
  1571. package/src/libs/renderer/src/svg/port-layout.js +212 -0
  1572. package/src/libs/renderer/src/svg/port-layout.js.map +1 -0
  1573. package/src/libs/renderer/src/svg/port-positioning.d.ts +33 -0
  1574. package/src/libs/renderer/src/svg/port-positioning.js +101 -0
  1575. package/src/libs/renderer/src/svg/port-positioning.js.map +1 -0
  1576. package/src/libs/renderer/src/svg/port-spots.d.ts +69 -0
  1577. package/src/libs/renderer/src/svg/port-spots.js +154 -0
  1578. package/src/libs/renderer/src/svg/port-spots.js.map +1 -0
  1579. package/src/libs/renderer/src/svg/route-memo.d.ts +63 -0
  1580. package/src/libs/renderer/src/svg/route-memo.js +206 -0
  1581. package/src/libs/renderer/src/svg/route-memo.js.map +1 -0
  1582. package/src/libs/renderer/src/svg/route-solver-bridge.d.ts +48 -0
  1583. package/src/libs/renderer/src/svg/route-solver-bridge.js +151 -0
  1584. package/src/libs/renderer/src/svg/route-solver-bridge.js.map +1 -0
  1585. package/src/libs/renderer/src/svg/shape-registry.d.ts +189 -0
  1586. package/src/libs/renderer/src/svg/shape-registry.js +1104 -0
  1587. package/src/libs/renderer/src/svg/shape-registry.js.map +1 -0
  1588. package/src/libs/renderer/src/svg/stroke-layer.d.ts +36 -0
  1589. package/src/libs/renderer/src/svg/stroke-layer.js +183 -0
  1590. package/src/libs/renderer/src/svg/stroke-layer.js.map +1 -0
  1591. package/src/libs/renderer/src/svg/svg-renderer.d.ts +1737 -0
  1592. package/src/libs/renderer/src/svg/svg-renderer.js +7772 -0
  1593. package/src/libs/renderer/src/svg/svg-renderer.js.map +1 -0
  1594. package/src/libs/renderer/src/svg/text-block.d.ts +54 -0
  1595. package/src/libs/renderer/src/svg/text-block.js +171 -0
  1596. package/src/libs/renderer/src/svg/text-block.js.map +1 -0
  1597. package/src/libs/renderer/src/themes/color-mode.d.ts +81 -0
  1598. package/src/libs/renderer/src/themes/color-mode.js +158 -0
  1599. package/src/libs/renderer/src/themes/color-mode.js.map +1 -0
  1600. package/src/libs/renderer/src/themes/contrast.d.ts +67 -0
  1601. package/src/libs/renderer/src/themes/contrast.js +215 -0
  1602. package/src/libs/renderer/src/themes/contrast.js.map +1 -0
  1603. package/src/libs/renderer/src/themes/default-dark-theme.d.ts +6 -0
  1604. package/src/libs/renderer/src/themes/default-dark-theme.js +126 -0
  1605. package/src/libs/renderer/src/themes/default-dark-theme.js.map +1 -0
  1606. package/src/libs/renderer/src/themes/default-light-theme.d.ts +6 -0
  1607. package/src/libs/renderer/src/themes/default-light-theme.js +168 -0
  1608. package/src/libs/renderer/src/themes/default-light-theme.js.map +1 -0
  1609. package/src/libs/renderer/src/themes/default-theme-set.d.ts +10 -0
  1610. package/src/libs/renderer/src/themes/default-theme-set.js +25 -0
  1611. package/src/libs/renderer/src/themes/default-theme-set.js.map +1 -0
  1612. package/src/libs/renderer/src/themes/high-contrast-theme.d.ts +5 -0
  1613. package/src/libs/renderer/src/themes/high-contrast-theme.js +170 -0
  1614. package/src/libs/renderer/src/themes/high-contrast-theme.js.map +1 -0
  1615. package/src/libs/renderer/src/themes/index.d.ts +22 -0
  1616. package/src/libs/renderer/src/themes/index.js +93 -0
  1617. package/src/libs/renderer/src/themes/index.js.map +1 -0
  1618. package/src/libs/renderer/src/themes/style-cascade.d.ts +23 -0
  1619. package/src/libs/renderer/src/themes/style-cascade.js +194 -0
  1620. package/src/libs/renderer/src/themes/style-cascade.js.map +1 -0
  1621. package/src/libs/renderer/src/themes/style-registry.d.ts +40 -0
  1622. package/src/libs/renderer/src/themes/style-registry.js +129 -0
  1623. package/src/libs/renderer/src/themes/style-registry.js.map +1 -0
  1624. package/src/libs/renderer/src/themes/theme-a11y.d.ts +65 -0
  1625. package/src/libs/renderer/src/themes/theme-a11y.js +256 -0
  1626. package/src/libs/renderer/src/themes/theme-a11y.js.map +1 -0
  1627. package/src/libs/renderer/src/themes/theme-css.d.ts +30 -0
  1628. package/src/libs/renderer/src/themes/theme-css.js +304 -0
  1629. package/src/libs/renderer/src/themes/theme-css.js.map +1 -0
  1630. package/src/libs/renderer/src/themes/theme-ref.d.ts +63 -0
  1631. package/src/libs/renderer/src/themes/theme-ref.js +206 -0
  1632. package/src/libs/renderer/src/themes/theme-ref.js.map +1 -0
  1633. package/src/libs/renderer/src/themes/theme-vars.d.ts +49 -0
  1634. package/src/libs/renderer/src/themes/theme-vars.js +112 -0
  1635. package/src/libs/renderer/src/themes/theme-vars.js.map +1 -0
  1636. package/src/libs/renderer/src/themes/token-bridge.d.ts +62 -0
  1637. package/src/libs/renderer/src/themes/token-bridge.js +354 -0
  1638. package/src/libs/renderer/src/themes/token-bridge.js.map +1 -0
  1639. package/src/libs/renderer/src/types/geometry.types.d.ts +10 -0
  1640. package/src/libs/renderer/src/types/geometry.types.js +3 -0
  1641. package/src/libs/renderer/src/types/geometry.types.js.map +1 -0
  1642. package/src/libs/renderer/src/types/index.d.ts +5 -0
  1643. package/src/libs/renderer/src/types/index.js +14 -0
  1644. package/src/libs/renderer/src/types/index.js.map +1 -0
  1645. package/src/libs/renderer/src/types/property-schema/conditions.d.ts +96 -0
  1646. package/src/libs/renderer/src/types/property-schema/conditions.js +8 -0
  1647. package/src/libs/renderer/src/types/property-schema/conditions.js.map +1 -0
  1648. package/src/libs/renderer/src/types/property-schema/editor-types.d.ts +310 -0
  1649. package/src/libs/renderer/src/types/property-schema/editor-types.js +8 -0
  1650. package/src/libs/renderer/src/types/property-schema/editor-types.js.map +1 -0
  1651. package/src/libs/renderer/src/types/property-schema/groups.d.ts +58 -0
  1652. package/src/libs/renderer/src/types/property-schema/groups.js +8 -0
  1653. package/src/libs/renderer/src/types/property-schema/groups.js.map +1 -0
  1654. package/src/libs/renderer/src/types/property-schema/index.d.ts +101 -0
  1655. package/src/libs/renderer/src/types/property-schema/index.js +98 -0
  1656. package/src/libs/renderer/src/types/property-schema/index.js.map +1 -0
  1657. package/src/libs/renderer/src/types/property-schema/property-definition.d.ts +117 -0
  1658. package/src/libs/renderer/src/types/property-schema/property-definition.js +8 -0
  1659. package/src/libs/renderer/src/types/property-schema/property-definition.js.map +1 -0
  1660. package/src/libs/renderer/src/types/property-schema/schema.d.ts +108 -0
  1661. package/src/libs/renderer/src/types/property-schema/schema.js +8 -0
  1662. package/src/libs/renderer/src/types/property-schema/schema.js.map +1 -0
  1663. package/src/libs/renderer/src/types/property-schema/validation.d.ts +181 -0
  1664. package/src/libs/renderer/src/types/property-schema/validation.js +8 -0
  1665. package/src/libs/renderer/src/types/property-schema/validation.js.map +1 -0
  1666. package/src/libs/renderer/src/types/renderer.interface.d.ts +623 -0
  1667. package/src/libs/renderer/src/types/renderer.interface.js +3 -0
  1668. package/src/libs/renderer/src/types/renderer.interface.js.map +1 -0
  1669. package/src/libs/renderer/src/types/theme.types.d.ts +305 -0
  1670. package/src/libs/renderer/src/types/theme.types.js +3 -0
  1671. package/src/libs/renderer/src/types/theme.types.js.map +1 -0
  1672. package/src/libs/renderer/src/types/vnode.types.d.ts +139 -0
  1673. package/src/libs/renderer/src/types/vnode.types.js +3 -0
  1674. package/src/libs/renderer/src/types/vnode.types.js.map +1 -0
  1675. package/src/libs/renderer/src/utils/animation-presets.d.ts +310 -0
  1676. package/src/libs/renderer/src/utils/animation-presets.js +406 -0
  1677. package/src/libs/renderer/src/utils/animation-presets.js.map +1 -0
  1678. package/src/libs/renderer/src/utils/animation-priority.d.ts +118 -0
  1679. package/src/libs/renderer/src/utils/animation-priority.js +258 -0
  1680. package/src/libs/renderer/src/utils/animation-priority.js.map +1 -0
  1681. package/src/libs/renderer/src/utils/animation-utils.d.ts +159 -0
  1682. package/src/libs/renderer/src/utils/animation-utils.js +323 -0
  1683. package/src/libs/renderer/src/utils/animation-utils.js.map +1 -0
  1684. package/src/libs/renderer/src/utils/lru-cache.d.ts +34 -0
  1685. package/src/libs/renderer/src/utils/lru-cache.js +72 -0
  1686. package/src/libs/renderer/src/utils/lru-cache.js.map +1 -0
  1687. package/src/libs/renderer/src/viewport/index.d.ts +1 -0
  1688. package/src/libs/renderer/src/viewport/index.js +6 -0
  1689. package/src/libs/renderer/src/viewport/index.js.map +1 -0
  1690. package/src/libs/renderer/src/viewport/viewport-controller.d.ts +198 -0
  1691. package/src/libs/renderer/src/viewport/viewport-controller.js +315 -0
  1692. package/src/libs/renderer/src/viewport/viewport-controller.js.map +1 -0
  1693. package/src/libs/renderer/src/vnode/container-id-generator.d.ts +94 -0
  1694. package/src/libs/renderer/src/vnode/container-id-generator.js +110 -0
  1695. package/src/libs/renderer/src/vnode/container-id-generator.js.map +1 -0
  1696. package/src/libs/renderer/src/vnode/foreign-object.d.ts +157 -0
  1697. package/src/libs/renderer/src/vnode/foreign-object.js +167 -0
  1698. package/src/libs/renderer/src/vnode/foreign-object.js.map +1 -0
  1699. package/src/libs/renderer/src/vnode/index.d.ts +56 -0
  1700. package/src/libs/renderer/src/vnode/index.js +78 -0
  1701. package/src/libs/renderer/src/vnode/index.js.map +1 -0
  1702. package/src/libs/renderer/src/vnode/patch.d.ts +189 -0
  1703. package/src/libs/renderer/src/vnode/patch.js +564 -0
  1704. package/src/libs/renderer/src/vnode/patch.js.map +1 -0
  1705. package/src/reachability.spec.ts +173 -0
  1706. package/tsconfig.esm.json +9 -0
  1707. package/tsconfig.json +24 -0
  1708. package/tsconfig.lib.json +10 -0
  1709. package/tsconfig.spec.json +14 -0
@@ -0,0 +1,2104 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DomEventBinder = void 0;
4
+ const tslib_1 = require("tslib");
5
+ // wave12/connect-ergonomics (gap 1): the ONE undoable step a subflow drag commits.
6
+ const engine_1 = require("@grafloria/engine");
7
+ const platform_1 = require("../platform");
8
+ // Wave 6 — Card 5: the pluggable tool registry. The binder CONSUMES it; a
9
+ // registered tool gets first refusal on every gesture (see onMouseDown).
10
+ const tools_1 = require("../ext/tools");
11
+ // Wave 9 — Card 2: the touch/mobile gesture set (pan, pinch, tap, long-press,
12
+ // drag-to-connect). Nothing in the framework-free renderer handled touch before.
13
+ const touch_gestures_1 = require("../interaction/touch-gestures");
14
+ // wave12/node-resize: the floating tool layer (8 resize handles + the clamp math).
15
+ // It answers "what tools exist and what does grabbing one DO"; the binder is the
16
+ // piece that was missing — the thing that actually GRABS one from a DOM pointer.
17
+ const selection_tools_1 = require("../interaction/selection-tools");
18
+ // wave12/connect-ergonomics (gap 2): the shipped proximity-connect engine, now
19
+ // driven from the LIVE node drag instead of host glue.
20
+ const port_positioning_1 = require("../svg/port-positioning");
21
+ const wheel_scroll_yield_1 = require("./wheel-scroll-yield");
22
+ const snapping_1 = require("../interaction/snapping");
23
+ const in_place_editor_1 = require("../interaction/in-place-editor");
24
+ // visio-depth: the shipped nudge math (KeyboardNavigationController.nudgeCommand)
25
+ // was auto-wired only in the Angular wrapper; `enableKeyboardNudge` drives it here.
26
+ const keyboard_navigation_1 = require("../interaction/keyboard-navigation");
27
+ class DomEventBinder {
28
+ /**
29
+ * Wave 6 — Card 3. The nodes currently being DRAGGED (past the movement
30
+ * threshold — an armed-but-uncommitted press is a click, not a drag).
31
+ *
32
+ * Node-drag state lives here, not on the InteractionController, so a custom
33
+ * node component had no way to know it was being dragged — and `dragging` is
34
+ * one of the props the component contract promises. This is the read-only
35
+ * window onto it.
36
+ */
37
+ getDraggingNodeIds() {
38
+ var _a;
39
+ return ((_a = this.nodeDrag) === null || _a === void 0 ? void 0 : _a.committed) ? [...this.nodeDrag.nodeIds] : [];
40
+ }
41
+ /**
42
+ * True while a resize / rotate / vertex gesture owns the pointer.
43
+ *
44
+ * The companion to {@link getDraggingNodeIds} for the gestures that are NOT node drags.
45
+ * Custom-node culling needs it: unmounting a host element mid-resize would take the
46
+ * pointer capture and the handles with it, and `SelectionToolsController` keeps the
47
+ * gesture's own node private, so "is a gesture live" plus the current selection is the
48
+ * answer available from out here.
49
+ */
50
+ hasActiveGesture() {
51
+ return this.selectionTools.isActive();
52
+ }
53
+ constructor(container, host, options = {}) {
54
+ var _a, _b, _c, _d, _e;
55
+ this.container = container;
56
+ this.host = host;
57
+ this.attached = false;
58
+ this.spaceKeyPressed = false;
59
+ this.isPanning = false;
60
+ /** Armed by an empty-canvas left press; becomes a real pan past the drag threshold. */
61
+ this.pendingEmptyPan = null;
62
+ /**
63
+ * The screen point where a PORT press started a connection. A press on a
64
+ * port claims the gesture immediately — but a press that never travels past
65
+ * the drag threshold is a CLICK, and a click on a shape must select it.
66
+ * Without this, the port hit zones (top-centre, side-mid — a card's whole
67
+ * header band) were dead for selection: connect swallowed the press,
68
+ * completion at the same spot failed validation, and the release fell out
69
+ * as a silent no-op. Found by live audit, on every node type.
70
+ */
71
+ this.pendingPortClick = null;
72
+ /**
73
+ * Same click-vs-gesture layering for POSITIONED EDGE LABELS: a press on a
74
+ * label arms a label DRAG, so a motionless press-release ended as a silent
75
+ * no-op and the label was a selection dead zone — a query-builder join pill
76
+ * you could not click (live audit finding, the port dead-band's twin).
77
+ */
78
+ this.pendingLabelClick = null;
79
+ this.lastPanX = 0;
80
+ this.lastPanY = 0;
81
+ this.nodeDrag = null;
82
+ this.groupDrag = null;
83
+ /** The proximity candidate currently highlighted mid-drag (for commit on drop). */
84
+ this.proximityCandidate = null;
85
+ // Bound once so removeEventListener gets the SAME function object it added —
86
+ // `removeEventListener(this.onX.bind(this))` allocates a new function and
87
+ // silently removes nothing (the classic listener leak).
88
+ this.boundWheel = (e) => this.onWheel(e);
89
+ /**
90
+ * Have we ever seen a real PointerEvent?
91
+ *
92
+ * The mouse listeners are kept as a LEGACY FALLBACK and auto-disable the instant
93
+ * a pointer event arrives. Why: every real browser fires `pointerdown` before the
94
+ * compatibility `mousedown`, so in a browser the pointer path wins and the mouse
95
+ * path goes dead — no double-handling. But jsdom implements NO PointerEvent at
96
+ * all, and this renderer's unit suites drive the binder by dispatching real
97
+ * `MouseEvent`s at the container. Feature-detecting instead of hard-switching
98
+ * keeps those suites (and any host that synthesizes mouse events) working exactly
99
+ * as before, while real hardware gets the pointer pipeline.
100
+ */
101
+ this.sawPointerEvent = false;
102
+ /** The container's own touch-action, restored on detach. */
103
+ this.previousTouchAction = null;
104
+ this.boundPointerDown = (e) => this.onPointerDown(e);
105
+ this.boundPointerMove = (e) => this.onPointerMove(e);
106
+ this.boundPointerUp = (e) => this.onPointerUp(e);
107
+ this.boundPointerCancel = (e) => this.onPointerCancel(e);
108
+ this.boundContextMenu = (e) => this.onContextMenu(e);
109
+ // The legacy mouse listeners are GATED on `sawPointerEvent`: once the environment
110
+ // has proved it delivers PointerEvents, the pointer pipeline owns everything and
111
+ // these must go silent, or every mouse gesture would be handled twice (once as
112
+ // pointerdown, once as the compatibility mousedown that follows it).
113
+ //
114
+ // Gated on the LISTENER, not on onMouseDown() itself — the pointer fork calls
115
+ // onMouseDown() directly for mouse/pen, so gating the method would deafen the
116
+ // very path that replaces these.
117
+ this.boundMouseDown = (e) => {
118
+ if (this.sawPointerEvent)
119
+ return;
120
+ this.onMouseDown(e);
121
+ };
122
+ this.boundMouseMove = (e) => {
123
+ if (this.sawPointerEvent)
124
+ return;
125
+ this.onMouseMove(e);
126
+ };
127
+ this.boundMouseUp = (e) => {
128
+ if (this.sawPointerEvent)
129
+ return;
130
+ this.onMouseUp(e);
131
+ };
132
+ this.boundMouseLeave = () => this.onMouseLeave();
133
+ this.boundDblClick = (e) => this.onDoubleClick(e);
134
+ this.boundKeyDown = (e) => this.onKeyDown(e);
135
+ this.boundKeyUp = (e) => this.onKeyUp(e);
136
+ /** Did the press that resolveNode just handled land ON a drag handle? */
137
+ this.pressViaDragHandle = false;
138
+ this.options = {
139
+ enablePan: (_a = options.enablePan) !== null && _a !== void 0 ? _a : true,
140
+ enableZoom: (_b = options.enableZoom) !== null && _b !== void 0 ? _b : true,
141
+ zoomSensitivity: (_c = options.zoomSensitivity) !== null && _c !== void 0 ? _c : 0.1,
142
+ dragThreshold: (_d = options.dragThreshold) !== null && _d !== void 0 ? _d : 4,
143
+ readonly: (_e = options.readonly) !== null && _e !== void 0 ? _e : false,
144
+ };
145
+ this.selectionTools = new selection_tools_1.SelectionToolsController({
146
+ showHalo: false,
147
+ showRotateHandle: false,
148
+ showRemoveButton: false,
149
+ showLinkTools: false,
150
+ });
151
+ this.touch = new touch_gestures_1.TouchGestureController({
152
+ getEngine: () => this.host.getEngine(),
153
+ viewport: this.host.viewport,
154
+ interaction: this.host.interaction,
155
+ getRect: () => this.host.getRect(),
156
+ requestRender: () => this.host.requestRender(),
157
+ emit: (event, payload) => this.host.emit(event, payload),
158
+ isReadonly: () => this.isReadonly(),
159
+ }, {
160
+ enablePan: this.options.enablePan,
161
+ enableZoom: this.options.enableZoom,
162
+ }, this.selectionTools);
163
+ }
164
+ /**
165
+ * Wave 9 — Card 7. Is editing forbidden RIGHT NOW?
166
+ *
167
+ * Was: `this.options.readonly` — a static constructor flag. Which meant
168
+ * `engine.setMode(PRESENTATION)` — the engine's own read-only mode — did not
169
+ * reach the event binder AT ALL. You could put the engine in presentation mode
170
+ * and still drag nodes with the mouse.
171
+ *
172
+ * Now the binder asks the DOCUMENT, every time, so the mode is live: flip the
173
+ * engine to VIEW/PRESENTATION on a mounted canvas and the very next gesture is
174
+ * refused. The constructor option still forces read-only for a host that has no
175
+ * mode concept.
176
+ */
177
+ isReadonly() {
178
+ var _a, _b;
179
+ return this.options.readonly || ((_b = (_a = this.host.getEngine()) === null || _a === void 0 ? void 0 : _a.getDiagram()) === null || _b === void 0 ? void 0 : _b.isReadonly()) === true;
180
+ }
181
+ /** Bind DOM listeners. No-op on the server and no-op if already attached. */
182
+ attach() {
183
+ var _a;
184
+ if (this.attached || !(0, platform_1.isBrowser)())
185
+ return;
186
+ this.attached = true;
187
+ // ------------------------------------------------------------------------
188
+ // Wave 9 — Card 2. `touch-action: none`.
189
+ //
190
+ // THE line that makes touch work, and it did not exist anywhere in this
191
+ // repository. Without it the browser owns the gesture: it decides a one-finger
192
+ // drag is a page scroll and a two-finger spread is a page zoom, and it STOPS
193
+ // DELIVERING pointermove to us mid-gesture. Every handler below can be
194
+ // perfectly correct and the canvas still will not pan — the events never
195
+ // arrive. This is the difference between "touch code exists" and "touch works".
196
+ //
197
+ // Set imperatively rather than in a stylesheet because the renderer is
198
+ // framework-free and ships no CSS; the container belongs to the host.
199
+ // ------------------------------------------------------------------------
200
+ this.previousTouchAction = (_a = this.container.style.touchAction) !== null && _a !== void 0 ? _a : '';
201
+ this.container.style.touchAction = 'none';
202
+ this.container.addEventListener('wheel', this.boundWheel, { passive: false });
203
+ // Pointer events: the primary pipeline (mouse, pen AND touch).
204
+ this.container.addEventListener('pointerdown', this.boundPointerDown);
205
+ this.container.addEventListener('pointermove', this.boundPointerMove);
206
+ this.container.addEventListener('pointerup', this.boundPointerUp);
207
+ this.container.addEventListener('pointercancel', this.boundPointerCancel);
208
+ // Suppress the OS long-press menu on touch; we emit our own `contextmenu`
209
+ // payload from the gesture controller (with the node/edge under the finger).
210
+ this.container.addEventListener('contextmenu', this.boundContextMenu);
211
+ // Legacy mouse listeners. Auto-disabled the moment a real PointerEvent shows
212
+ // up (see `sawPointerEvent`), so in a browser these are dead and there is no
213
+ // double-handling — but jsdom has no PointerEvent, and the unit suites drive
214
+ // this binder with dispatched MouseEvents.
215
+ this.container.addEventListener('mousedown', this.boundMouseDown);
216
+ this.container.addEventListener('mousemove', this.boundMouseMove);
217
+ this.container.addEventListener('mouseup', this.boundMouseUp);
218
+ this.container.addEventListener('mouseleave', this.boundMouseLeave);
219
+ this.container.addEventListener('dblclick', this.boundDblClick);
220
+ window.addEventListener('keydown', this.boundKeyDown);
221
+ window.addEventListener('keyup', this.boundKeyUp);
222
+ }
223
+ /** Remove EXACTLY the listeners we added, and drop all gesture state. */
224
+ detach() {
225
+ var _a;
226
+ if (!this.attached)
227
+ return;
228
+ this.attached = false;
229
+ this.container.removeEventListener('wheel', this.boundWheel);
230
+ this.container.removeEventListener('pointerdown', this.boundPointerDown);
231
+ this.container.removeEventListener('pointermove', this.boundPointerMove);
232
+ this.container.removeEventListener('pointerup', this.boundPointerUp);
233
+ this.container.removeEventListener('pointercancel', this.boundPointerCancel);
234
+ this.container.removeEventListener('contextmenu', this.boundContextMenu);
235
+ this.container.removeEventListener('mousedown', this.boundMouseDown);
236
+ this.container.removeEventListener('mousemove', this.boundMouseMove);
237
+ this.container.removeEventListener('mouseup', this.boundMouseUp);
238
+ this.container.removeEventListener('mouseleave', this.boundMouseLeave);
239
+ this.container.removeEventListener('dblclick', this.boundDblClick);
240
+ if (typeof window !== 'undefined') {
241
+ window.removeEventListener('keydown', this.boundKeyDown);
242
+ window.removeEventListener('keyup', this.boundKeyUp);
243
+ }
244
+ // Give the container its touch-action back — the binder must leave no trace.
245
+ if (this.previousTouchAction !== null) {
246
+ this.container.style.touchAction = this.previousTouchAction;
247
+ this.previousTouchAction = null;
248
+ }
249
+ this.touch.reset();
250
+ this.isPanning = false;
251
+ this.pendingEmptyPan = null;
252
+ this.nodeDrag = null;
253
+ this.groupDrag = null;
254
+ this.spaceKeyPressed = false;
255
+ (_a = this.engine()) === null || _a === void 0 ? void 0 : _a.setSnapGuides(null);
256
+ this.closeTextEditor(); // T10: never leave a caret floating over a dead canvas
257
+ }
258
+ // ==========================================================================
259
+ // Pointer events — the fork. Touch goes to the gesture controller; mouse and
260
+ // pen fall through to the ladder below (a PointerEvent IS a MouseEvent).
261
+ // ==========================================================================
262
+ onPointerDown(event) {
263
+ var _a, _b;
264
+ this.sawPointerEvent = true;
265
+ if (event.pointerType === 'touch') {
266
+ // Claim the gesture: suppresses the synthesized compatibility mouse events
267
+ // (which would otherwise run the whole mouse ladder a second time for every
268
+ // tap) and the OS text-selection/callout.
269
+ event.preventDefault();
270
+ // Capture, so a finger that slides off the canvas keeps delivering move/up.
271
+ // Without it a drag that leaves the element silently stops mid-gesture.
272
+ //
273
+ // wave11/gallery BUG FIX — this can THROW. setPointerCapture raises
274
+ // NotFoundError ("no active pointer with the given id") when the pointer is not
275
+ // an active one — which happens for a synthetic PointerEvent (a test, an a11y
276
+ // tool, a programmatic gesture) and, in the wild, when the pointer has already
277
+ // been released by the time the handler runs. Optional chaining does not catch a
278
+ // throw, so an unguarded call turned a lost race into an uncaught error that
279
+ // aborted the whole gesture. Capture is an optimisation, not a precondition;
280
+ // failing to get it must not take the gesture down with it.
281
+ try {
282
+ (_b = (_a = this.container).setPointerCapture) === null || _b === void 0 ? void 0 : _b.call(_a, event.pointerId);
283
+ }
284
+ catch (_c) {
285
+ /* capture is best-effort; the gesture still works without it */
286
+ }
287
+ this.touch.onPointerDown(event);
288
+ return;
289
+ }
290
+ this.onMouseDown(event);
291
+ }
292
+ onPointerMove(event) {
293
+ this.sawPointerEvent = true;
294
+ if (event.pointerType === 'touch') {
295
+ this.touch.onPointerMove(event);
296
+ return;
297
+ }
298
+ this.onMouseMove(event);
299
+ }
300
+ onPointerUp(event) {
301
+ var _a, _b;
302
+ this.sawPointerEvent = true;
303
+ if (event.pointerType === 'touch') {
304
+ // Mirror of onPointerDown's guard — releasing a capture we never held (or that
305
+ // the browser already dropped) throws NotFoundError, which must not abort the
306
+ // gesture's own bookkeeping below.
307
+ try {
308
+ (_b = (_a = this.container).releasePointerCapture) === null || _b === void 0 ? void 0 : _b.call(_a, event.pointerId);
309
+ }
310
+ catch (_c) {
311
+ /* nothing to release; carry on */
312
+ }
313
+ this.touch.onPointerUp(event);
314
+ return;
315
+ }
316
+ this.onMouseUp(event);
317
+ }
318
+ onPointerCancel(event) {
319
+ var _a, _b;
320
+ if (event.pointerType === 'touch') {
321
+ try {
322
+ (_b = (_a = this.container).releasePointerCapture) === null || _b === void 0 ? void 0 : _b.call(_a, event.pointerId);
323
+ }
324
+ catch (_c) {
325
+ /* nothing to release */
326
+ }
327
+ this.touch.onPointerCancel(event);
328
+ return;
329
+ }
330
+ this.onMouseLeave();
331
+ }
332
+ /**
333
+ * The native context menu. On touch the long-press already emitted our own
334
+ * `contextmenu` payload, so the OS menu here would be a duplicate on top of it.
335
+ */
336
+ onContextMenu(event) {
337
+ const pointerType = event.pointerType;
338
+ if (pointerType === 'touch' || this.touch.activePointerCount > 0) {
339
+ event.preventDefault();
340
+ }
341
+ }
342
+ get isAttached() {
343
+ return this.attached;
344
+ }
345
+ // ==========================================================================
346
+ // Wheel — ctrl/⌘ (and trackpad pinch) zooms at the cursor; a plain wheel pans.
347
+ // The Figma/Miro/VS Code convention.
348
+ // ==========================================================================
349
+ onWheel(event) {
350
+ const engine = this.engine();
351
+ if (!engine)
352
+ return;
353
+ if (event.ctrlKey || event.metaKey) {
354
+ if (!this.options.enableZoom)
355
+ return;
356
+ event.preventDefault();
357
+ // Multiplicative: a notch is a constant RELATIVE change, so it feels the
358
+ // same at 0.2× and at 3× (an additive ±sensitivity does not).
359
+ const factor = 1 + this.options.zoomSensitivity;
360
+ const zoom = this.host.viewport.getZoom();
361
+ const target = event.deltaY > 0 ? zoom / factor : zoom * factor;
362
+ this.host.viewport.zoomAtPoint(target, event.clientX, event.clientY, this.host.getRect());
363
+ this.host.requestRender();
364
+ return;
365
+ }
366
+ if (!this.options.enablePan)
367
+ return;
368
+ // A wheel over scrollable HTML content inside a node (an ER table's rows,
369
+ // a class card's members) belongs to THAT card. Card content is
370
+ // pointer-events:none (drag-through), so native scroll can never reach it —
371
+ // the delegate scrolls it programmatically. CONTAINMENT: while the cursor is
372
+ // over the card the wheel is absorbed even at the end of its range, so the
373
+ // canvas never pans out from under it (move off the card to pan).
374
+ if ((0, wheel_scroll_yield_1.delegateWheelToScrollable)(event)) {
375
+ event.preventDefault();
376
+ return;
377
+ }
378
+ event.preventDefault();
379
+ const [dxPx, dyPx] = event.shiftKey
380
+ ? [event.deltaY || event.deltaX, 0] // shift → horizontal scroll
381
+ : [event.deltaX, event.deltaY];
382
+ if (!dxPx && !dyPx)
383
+ return;
384
+ this.host.viewport.panByScreenDelta(dxPx, dyPx);
385
+ this.host.requestRender();
386
+ }
387
+ // ==========================================================================
388
+ // Mouse down — the priority ladder.
389
+ // ==========================================================================
390
+ /** Wave 6 — Card 5: adapt a DOM event to the framework-free tool contract. */
391
+ toToolEvent(type, event, worldX, worldY) {
392
+ const rect = this.host.getRect();
393
+ return {
394
+ type,
395
+ world: { x: worldX, y: worldY },
396
+ screen: { x: event.clientX - rect.left, y: event.clientY - rect.top },
397
+ modifiers: {
398
+ shift: event.shiftKey,
399
+ ctrl: event.ctrlKey,
400
+ alt: event.altKey,
401
+ meta: event.metaKey,
402
+ },
403
+ source: event,
404
+ };
405
+ }
406
+ /** What the gesture landed on. Resolved ONCE, on pointerdown. */
407
+ toToolHit(worldX, worldY) {
408
+ var _a, _b, _c, _d, _e;
409
+ const diagram = (_a = this.engine()) === null || _a === void 0 ? void 0 : _a.getDiagram();
410
+ const state = this.host.interaction.getState();
411
+ const node = (_b = diagram === null || diagram === void 0 ? void 0 : diagram.getNodeAtPosition(worldX, worldY)) !== null && _b !== void 0 ? _b : undefined;
412
+ return {
413
+ node: node !== null && node !== void 0 ? node : undefined,
414
+ link: (_c = state.hoveredLink) !== null && _c !== void 0 ? _c : undefined,
415
+ port: (_d = state.hoveredPort) !== null && _d !== void 0 ? _d : undefined,
416
+ empty: !node && !state.hoveredLink && !state.hoveredPort,
417
+ // DELIBERATE mode's rule: a node only becomes draggable if it was ALREADY
418
+ // selected before this gesture. Captured here, before selection changes.
419
+ nodeWasSelected: node ? ((_e = node.state) === null || _e === void 0 ? void 0 : _e.selected) === true : false,
420
+ };
421
+ }
422
+ /**
423
+ * wave12/node-resize: the resize handle (if any) under a world point.
424
+ *
425
+ * Recomputes the tool layer at the CURRENT zoom on every press — the handles are
426
+ * a constant screen size, so their world footprint changes with the camera, and a
427
+ * stale layer would hit-test against last frame's zoom. Only `kind: 'resize'`
428
+ * handles are returned; the controller is configured to emit no others.
429
+ */
430
+ resizeHandleAt(worldX, worldY) {
431
+ const engine = this.engine();
432
+ if (!engine)
433
+ return null;
434
+ const layer = this.selectionTools.computeLayer(engine, this.host.viewport.getZoom());
435
+ const hit = this.selectionTools.hitTest(layer, worldX, worldY);
436
+ return hit && hit.kind === 'resize' ? hit : null;
437
+ }
438
+ /**
439
+ * wave14/interaction (defect 1): the reconnectable link ENDPOINT HANDLE under a
440
+ * world point, or null.
441
+ *
442
+ * Non-null only when the part-aware edge hit resolves to a source/target
443
+ * endpoint (8px grab radius) of a SELECTED link with reconnection enabled —
444
+ * i.e. exactly when the renderer draws a handle there. The mousedown ladder
445
+ * consults this INSIDE the hovered-port rung, because the handle is drawn on
446
+ * top of the port and a press inside its radius means the handle, not the port.
447
+ * Same gate as the rung-5/6 reconnect branch, so hover-then-press and
448
+ * press-without-hover start the identical gesture.
449
+ */
450
+ reconnectableEndpointAt(worldX, worldY, engine, config) {
451
+ if (!config.enableLinkReconnection)
452
+ return null;
453
+ const hit = this.host.interaction.getLinkHitAtPosition(worldX, worldY, engine);
454
+ if (!hit || hit.link.state !== 'selected')
455
+ return null;
456
+ if (hit.part === 'source-endpoint')
457
+ return { link: hit.link, endpoint: 'source' };
458
+ if (hit.part === 'target-endpoint')
459
+ return { link: hit.link, endpoint: 'target' };
460
+ return null;
461
+ }
462
+ onMouseDown(event) {
463
+ var _a, _b, _c, _d, _e;
464
+ const engine = this.engine();
465
+ const diagram = engine === null || engine === void 0 ? void 0 : engine.getDiagram();
466
+ if (!engine || !diagram)
467
+ return;
468
+ // A new press invalidates any recorded port/label press — only their
469
+ // branches below re-arm them. Stale ones would mis-read a later release.
470
+ this.pendingPortClick = null;
471
+ this.pendingLabelClick = null;
472
+ // 1. Pan: middle button, or left button while Space is held.
473
+ if (event.button === 1 || (event.button === 0 && this.spaceKeyPressed)) {
474
+ if (!this.options.enablePan)
475
+ return;
476
+ event.preventDefault();
477
+ this.isPanning = true;
478
+ this.lastPanX = event.clientX;
479
+ this.lastPanY = event.clientY;
480
+ this.setCursor('grabbing');
481
+ return;
482
+ }
483
+ if (event.button !== 0)
484
+ return;
485
+ const { x: worldX, y: worldY } = this.toWorld(event);
486
+ const config = engine.getInteractionConfig();
487
+ const state = this.host.interaction.getState();
488
+ // ------------------------------------------------------------------
489
+ // Wave 6 — Card 5: REGISTERED TOOLS get first refusal on the gesture.
490
+ //
491
+ // The five built-in behaviours below are a hardcoded priority ladder. A host
492
+ // that wanted to replace one — a custom lasso, a different node-drag — had
493
+ // no seam to do it through. Now a registered tool may CLAIM the gesture on
494
+ // pointerdown, and if it does it owns the whole thing (move/up/cancel) and
495
+ // none of the ladder runs.
496
+ //
497
+ // With NO tools registered `resolveTool` returns undefined and everything
498
+ // below is byte-identical to before — which is why this is additive.
499
+ // ------------------------------------------------------------------
500
+ if (!this.isReadonly()) {
501
+ const toolEvent = this.toToolEvent('down', event, worldX, worldY);
502
+ const toolHit = this.toToolHit(worldX, worldY);
503
+ const tool = (0, tools_1.resolveTool)(toolEvent, toolHit);
504
+ if (tool) {
505
+ event.preventDefault();
506
+ this.activeTool = tool;
507
+ this.activeToolHit = toolHit;
508
+ (_a = tool.onPointerDown) === null || _a === void 0 ? void 0 : _a.call(tool, toolEvent, toolHit);
509
+ this.host.requestRender();
510
+ return;
511
+ }
512
+ }
513
+ // ------------------------------------------------------------------
514
+ // wave12/node-resize: a RESIZE HANDLE on the selected node.
515
+ //
516
+ // Checked BEFORE ports and before node selection/drag: a corner handle sits
517
+ // exactly on the node's corner, so if the node hit-test won here every attempt
518
+ // to resize would drag the node instead. Handles only exist for a single
519
+ // selected, resizable node (see SelectionToolsController.computeLayer), so this
520
+ // is inert until the user has selected something — the first click selects, the
521
+ // handle appears, the second grabs it.
522
+ //
523
+ // resize-ux: the four SIDE handles are BANDS along the whole edge now (see
524
+ // ToolHandle.segment) — RF's line affordance — so side resize is reachable
525
+ // anywhere along the border. The port keeps its own core: when the pointer
526
+ // is on a hovered port OF THE SAME NODE (the port's grab radius), the PORT
527
+ // wins and the press falls through to the connection rung below — a user
528
+ // aiming at the glyph they can see draws a wire, never grows the node. One
529
+ // shared predicate (`sideHandleYieldsToPort`) makes the mouse ladder, the
530
+ // touch ladder and the hover cursor agree on that boundary. Corners never
531
+ // coincide with ports and always resize.
532
+ // ------------------------------------------------------------------
533
+ if (!this.isReadonly()) {
534
+ const handle = this.resizeHandleAt(worldX, worldY);
535
+ if (handle && !(0, selection_tools_1.sideHandleYieldsToPort)(handle, state.hoveredPort)) {
536
+ event.preventDefault();
537
+ this.selectionTools.beginResize(handle, engine, worldX, worldY);
538
+ // resize-ux: the in-flight-move branch returns before the cursor ladder,
539
+ // so the cursor set here is the one the WHOLE drag shows. Without it the
540
+ // drag kept whatever the last hover said ('pointer', over the node).
541
+ this.setCursor(handle.cursor);
542
+ this.host.requestRender();
543
+ return;
544
+ }
545
+ }
546
+ if (!this.isReadonly()) {
547
+ // 2. Port → start a connection drag… UNLESS the press is on a link
548
+ // endpoint handle drawn ON that port.
549
+ //
550
+ // wave14/interaction DEFECT-1 FIX. A selected link's endpoint handle is
551
+ // rendered AT the port it connects to (the routed polyline ends on the
552
+ // port), and the pointermove that carries the mouse onto the handle sets
553
+ // `hoveredPort` (≈11px hit radius: portDefaultRadius 6 × hoverScale 1.5
554
+ // + 2px) — so this rung used to swallow the press and the natural
555
+ // reconnect gesture ALWAYS started a new connection instead. When the
556
+ // press point is inside the endpoint's own 8px grab radius
557
+ // (DEFAULT_ENDPOINT_RADIUS) on a selected, reconnectable link, the user
558
+ // is visibly touching the handle drawn on top: the ENDPOINT wins.
559
+ //
560
+ // Starting a fresh connection from that port stays possible: the annulus
561
+ // 8 < d ≤ 11 around the handle still belongs to the port (3px of ring for
562
+ // a mouse — thin but real, and it widens by `hitSlop` on touch), every
563
+ // OTHER port of the node is untouched, and an endpoint drag dropped on an
564
+ // invalid target reverts, so the worst mis-grab costs one Escape.
565
+ if (state.hoveredPort) {
566
+ // Mode B of the link-selectability audit: the port's HOVER hit radius
567
+ // (~11: 6 × 1.5 + 2) is wider than its visible glyph, and this rung
568
+ // swallowed every press in that halo — including clicks squarely on a
569
+ // link's ARROWHEAD or stroke near its endpoint, which then dead-ended
570
+ // as an aborted wire-draw instead of selecting the edge. In the OUTER
571
+ // ring (beyond the port's base grab radius) a press that lands on link
572
+ // INK belongs to the link: fall through to the link rungs. Presses in
573
+ // the core (≤ base radius + 2) keep starting connections, so the
574
+ // PORT-WIRE gesture is untouched.
575
+ const hoverNode = diagram.getNode(state.hoveredPort.nodeId);
576
+ if (hoverNode) {
577
+ const anchor = (0, port_positioning_1.portWorldPosition)(state.hoveredPort, hoverNode);
578
+ const basePortRadius = (_c = (_b = state.hoveredPort.style) === null || _b === void 0 ? void 0 : _b['radius']) !== null && _c !== void 0 ? _c : 6;
579
+ const inOuterRing = Math.hypot(worldX - anchor.x, worldY - anchor.y) > basePortRadius + 2;
580
+ if (inOuterRing) {
581
+ const inkHit = this.host.interaction.getLinkHitAtPosition(worldX, worldY, engine);
582
+ // ANY link part claims the press, not just 'body' — near a path
583
+ // end the nearest part IS the endpoint handle (its anchor sits on
584
+ // the path), and those presses are exactly the ones the port was
585
+ // stealing (unselected links were unclickable within ~11px of
586
+ // their ends).
587
+ if (inkHit) {
588
+ // Not this rung's press — the link-body rung below selects it.
589
+ state.hoveredPort = null;
590
+ }
591
+ }
592
+ }
593
+ }
594
+ if (state.hoveredPort) {
595
+ event.preventDefault();
596
+ const endpointHit = this.reconnectableEndpointAt(worldX, worldY, engine, config);
597
+ if (endpointHit) {
598
+ this.host.interaction.startLinkReconnection(endpointHit.link, endpointHit.endpoint, worldX, worldY, engine);
599
+ this.host.requestRender();
600
+ return;
601
+ }
602
+ // Remember where this press landed: if it releases inside the drag
603
+ // threshold it was a click on the shape, not a connection attempt.
604
+ this.pendingPortClick = {
605
+ startX: event.clientX,
606
+ startY: event.clientY,
607
+ nodeId: state.hoveredPort.nodeId,
608
+ };
609
+ this.host.interaction.startConnection(state.hoveredPort, worldX, worldY, engine);
610
+ this.host.requestRender();
611
+ return;
612
+ }
613
+ // 3/4. Control-point and waypoint handles. These are separate SVG circles,
614
+ // so clicking one does NOT register as hovering the link path — which is
615
+ // why both are hit-tested against every SELECTED link rather than the
616
+ // hovered one.
617
+ const selectedLinks = diagram
618
+ .getLinks()
619
+ .filter((link) => link.state === 'selected');
620
+ if (config.enableControlPointEditing) {
621
+ for (const link of selectedLinks) {
622
+ const hit = this.host.interaction.hitTestControlPoint(worldX, worldY, link);
623
+ if (hit) {
624
+ event.preventDefault();
625
+ this.host.interaction.startControlPointDrag(hit.segmentIndex, hit.controlType, link);
626
+ this.host.requestRender();
627
+ return;
628
+ }
629
+ }
630
+ }
631
+ if (config.enableWaypointEditing) {
632
+ for (const link of selectedLinks) {
633
+ const waypointIndex = this.host.interaction.hitTestWaypoint(worldX, worldY, link);
634
+ if (waypointIndex !== null) {
635
+ event.preventDefault();
636
+ this.host.interaction.startWaypointDrag(waypointIndex, link);
637
+ this.host.requestRender();
638
+ return;
639
+ }
640
+ if (this.host.interaction.hitTestPath(worldX, worldY, link)) {
641
+ event.preventDefault();
642
+ if (this.host.interaction.addWaypoint(worldX, worldY, link)) {
643
+ this.host.requestRender();
644
+ }
645
+ return;
646
+ }
647
+ }
648
+ }
649
+ // 5/6. Part-aware edge hit: endpoint handle → reconnect, label → drag.
650
+ // A body hit deliberately falls through to link selection below.
651
+ const edgeHit = this.host.interaction.getLinkHitAtPosition(worldX, worldY, engine);
652
+ if (edgeHit) {
653
+ if ((edgeHit.part === 'source-endpoint' || edgeHit.part === 'target-endpoint') &&
654
+ config.enableLinkReconnection &&
655
+ edgeHit.link.state === 'selected') {
656
+ event.preventDefault();
657
+ const endpoint = edgeHit.part === 'source-endpoint' ? 'source' : 'target';
658
+ this.host.interaction.startLinkReconnection(edgeHit.link, endpoint, worldX, worldY, engine);
659
+ this.host.requestRender();
660
+ return;
661
+ }
662
+ if (edgeHit.part === 'label' &&
663
+ edgeHit.labelIndex !== undefined &&
664
+ (
665
+ // Only POSITIONED labels drag (they own position/offset). A display-
666
+ // label hit (synthesized box over `metadata.label`, no labels[]
667
+ // entry) falls through to link selection instead.
668
+ (_d = edgeHit.link.labels) === null || _d === void 0 ? void 0 : _d[edgeHit.labelIndex])) {
669
+ event.preventDefault();
670
+ this.pendingLabelClick = {
671
+ startX: event.clientX,
672
+ startY: event.clientY,
673
+ linkId: edgeHit.link.id,
674
+ };
675
+ this.host.interaction.startLabelDrag(edgeHit.link, edgeHit.labelIndex);
676
+ this.host.requestRender();
677
+ return;
678
+ }
679
+ }
680
+ }
681
+ // 7. Link body → select. Hover state is the fast path; fall back to a direct
682
+ // hit-test because on first load no mousemove has run yet.
683
+ //
684
+ // BUT a node body covers link ink: nodes paint in `nodes-layer`, ABOVE
685
+ // `links-layer`, so at a point where both coincide the user is touching the
686
+ // NODE — the ink is invisible under it. This rung used to win anyway, so a
687
+ // node dropped onto a link's path became undraggable at exactly the spot
688
+ // the user grabbed it (visio gate: recv adopted between pick and ship sits
689
+ // on the pick→ship path; the drag-out press selected that link instead and
690
+ // the node never moved).
691
+ const link = diagram.getNodeAtPosition(worldX, worldY)
692
+ ? null
693
+ : ((_e = state.hoveredLink) !== null && _e !== void 0 ? _e : this.host.interaction.getLinkAtPosition(worldX, worldY, engine));
694
+ if (link) {
695
+ event.preventDefault();
696
+ this.host.interaction.selectLink(link, engine, event.ctrlKey || event.metaKey);
697
+ this.host.requestRender();
698
+ this.emitSelectionChange();
699
+ this.host.emit('edge:click', { edge: link, world: { x: worldX, y: worldY } });
700
+ return;
701
+ }
702
+ // 8. Node → select (+ arm a drag).
703
+ const node = this.resolveNode(diagram, worldX, worldY, event);
704
+ if (node) {
705
+ event.preventDefault();
706
+ // 8a. wave12 (gap 3) — Easy Connect: the whole node BODY is a handle. When
707
+ // on (and the configured modifier, if any, is held), a body press starts a
708
+ // CONNECTION from the node's nearest port instead of a move. A press ON a
709
+ // port already started a connection at step 2, so this only fires on the
710
+ // body. Off by default, so normal body-drag-to-move is untouched; a host
711
+ // that keeps move gates connect behind `easyConnectModifier` (e.g. shift).
712
+ if (!this.isReadonly() && config.enableEasyConnect && this.easyConnectModifierHeld(event, config)) {
713
+ // Select the node first (so a plain click still selects), THEN connect.
714
+ this.host.interaction.startNodeBodyConnection(node, worldX, worldY, engine);
715
+ this.host.requestRender();
716
+ this.host.emit('node:click', { node, world: { x: worldX, y: worldY } });
717
+ return;
718
+ }
719
+ this.pressNode(node, diagram, event, worldX, worldY);
720
+ this.host.emit('node:click', { node, world: { x: worldX, y: worldY } });
721
+ return;
722
+ }
723
+ // 8b. wave12 (gap 1) — Group frame → drag the whole subflow. Only reached
724
+ // when NO node/link/port was under the cursor (a member node wins the ladder
725
+ // above), so this is a press on the container's empty area / header. Opt-in
726
+ // via `enableGroupDrag`; off, this falls straight through to the clear below,
727
+ // byte-identical to the historic behaviour.
728
+ if (!this.isReadonly() &&
729
+ config.enableGroupDrag &&
730
+ !(event.shiftKey || event.ctrlKey || event.metaKey || event.altKey)) {
731
+ const group = this.findGroupAtPoint(diagram, worldX, worldY);
732
+ if (group) {
733
+ event.preventDefault();
734
+ this.pressGroup(group, diagram, event, worldX, worldY);
735
+ return;
736
+ }
737
+ }
738
+ // 9. Empty canvas → clear the selection (unless a modifier is extending it),
739
+ // and ARM a pan: dragging empty canvas is the industry-default pan
740
+ // gesture (React Flow, Figma, tldraw), and six demo pages documented it
741
+ // while the binder only panned on middle-button/Space (live audit: the
742
+ // printed step was a silent no-op). A plain CLICK still only deselects —
743
+ // the pan engages past the drag threshold in onMouseMove.
744
+ const hasModifier = event.shiftKey || event.ctrlKey || event.metaKey || event.altKey;
745
+ if (!hasModifier) {
746
+ diagram.clearSelection();
747
+ diagram.getLinks().forEach((l) => {
748
+ if (l.state === 'selected')
749
+ l.setState('default');
750
+ });
751
+ this.host.requestRender();
752
+ this.emitSelectionChange();
753
+ if (this.options.enablePan) {
754
+ this.pendingEmptyPan = { startX: event.clientX, startY: event.clientY };
755
+ }
756
+ }
757
+ }
758
+ // ==========================================================================
759
+ // Mouse move
760
+ // ==========================================================================
761
+ onMouseMove(event) {
762
+ var _a, _b, _c;
763
+ const engine = this.engine();
764
+ if (!engine || !engine.getDiagram())
765
+ return;
766
+ // Wave 6 — Card 5: a tool that CLAIMED this gesture owns every subsequent
767
+ // move until pointerup. Checked before panning so a tool can pan itself.
768
+ if (this.activeTool) {
769
+ const { x, y } = this.toWorld(event);
770
+ (_b = (_a = this.activeTool).onPointerMove) === null || _b === void 0 ? void 0 : _b.call(_a, this.toToolEvent('move', event, x, y), (_c = this.activeToolHit) !== null && _c !== void 0 ? _c : { empty: true });
771
+ this.host.requestRender();
772
+ return;
773
+ }
774
+ // wave12/node-resize: an in-flight resize owns the pointer. The clamp
775
+ // (min/max/aspect) is applied INSIDE updateResize, every move — you cannot drag
776
+ // the box past its limits, it is not fixed up at the end.
777
+ if (this.selectionTools.activeGesture() === 'resize') {
778
+ const { x, y } = this.toWorld(event);
779
+ if (this.selectionTools.updateResize(engine, x, y, {
780
+ shift: event.shiftKey,
781
+ alt: event.altKey,
782
+ ctrl: event.ctrlKey,
783
+ meta: event.metaKey,
784
+ },
785
+ // T2/visio — snap the RESIZED box to sibling edges/centres. `updateResize`
786
+ // always accepted this hook and the binder never passed one, so a resize
787
+ // was the one gesture with no alignment help. Shares `enableHelperLines`
788
+ // with the drag: a host that asked for snap guides means both.
789
+ this.resizeSnapHook(engine))) {
790
+ this.host.interaction.invalidatePortHitCache();
791
+ this.host.requestRender();
792
+ }
793
+ return;
794
+ }
795
+ if (this.pendingEmptyPan && !this.isPanning) {
796
+ // Only while the PRIMARY button is genuinely down: the armed state is
797
+ // also cleared on pointerup, but a hover move must never engage a pan.
798
+ if ((event.buttons & 1) === 0) {
799
+ this.pendingEmptyPan = null;
800
+ }
801
+ else {
802
+ const dx = event.clientX - this.pendingEmptyPan.startX;
803
+ const dy = event.clientY - this.pendingEmptyPan.startY;
804
+ if (Math.hypot(dx, dy) >= this.options.dragThreshold) {
805
+ this.isPanning = true;
806
+ this.lastPanX = event.clientX;
807
+ this.lastPanY = event.clientY;
808
+ this.setCursor('grabbing');
809
+ }
810
+ }
811
+ }
812
+ if (this.isPanning) {
813
+ // Drag RIGHT ⇒ camera LEFT, so the content follows the cursor.
814
+ this.host.viewport.panByScreenDelta(this.lastPanX - event.clientX, this.lastPanY - event.clientY);
815
+ this.lastPanX = event.clientX;
816
+ this.lastPanY = event.clientY;
817
+ this.host.requestRender();
818
+ return;
819
+ }
820
+ if (this.groupDrag) {
821
+ this.moveGroupDrag(event);
822
+ return;
823
+ }
824
+ if (this.nodeDrag) {
825
+ this.moveNodeDrag(event);
826
+ return;
827
+ }
828
+ const state = this.host.interaction.getState();
829
+ const { x: worldX, y: worldY } = this.toWorld(event);
830
+ if (state.isDraggingControlPoint) {
831
+ if (this.host.interaction.moveControlPoint(worldX, worldY, engine)) {
832
+ this.host.requestRender();
833
+ }
834
+ return;
835
+ }
836
+ if (state.isDraggingWaypoint) {
837
+ if (this.host.interaction.moveWaypoint(worldX, worldY, engine)) {
838
+ this.host.requestRender();
839
+ }
840
+ return;
841
+ }
842
+ if (state.isDraggingLabel) {
843
+ if (this.host.interaction.moveLabelDrag(worldX, worldY)) {
844
+ this.host.requestRender();
845
+ }
846
+ return;
847
+ }
848
+ if (state.isReconnectingLink) {
849
+ // Refresh hover first so reconnection validity sees the port under the cursor.
850
+ this.host.interaction.handleMouseMove(worldX, worldY, engine);
851
+ this.host.interaction.updateLinkReconnection(worldX, worldY, engine);
852
+ this.host.requestRender();
853
+ return;
854
+ }
855
+ if (this.spaceKeyPressed)
856
+ return;
857
+ let needsRender = this.host.interaction.handleMouseMove(worldX, worldY, engine);
858
+ if (this.host.interaction.getState().isConnecting) {
859
+ needsRender =
860
+ this.host.interaction.handleConnectionDrag(worldX, worldY, engine) || needsRender;
861
+ }
862
+ // Keep the Delete-key targets (hovered waypoint / control point) current.
863
+ const config = engine.getInteractionConfig();
864
+ if (config.enableWaypointEditing || config.enableControlPointEditing) {
865
+ const hovered = this.host.interaction.getState().hoveredLink;
866
+ const selectedLink = hovered && hovered.state === 'selected' ? hovered : null;
867
+ if (config.enableWaypointEditing) {
868
+ this.host.interaction.updateHoveredWaypoint(worldX, worldY, selectedLink);
869
+ }
870
+ if (config.enableControlPointEditing) {
871
+ this.host.interaction.updateHoveredControlPoint(worldX, worldY, selectedLink);
872
+ }
873
+ }
874
+ // resize-ux (live audit): the cursor ladder knew port/link/node but not the
875
+ // resize handles, so hovering a handle showed 'pointer' and nothing ever
876
+ // advertised resizability — RF shows nwse/nesw/ns/ew-resize per handle. The
877
+ // override mirrors the PRESS ladder exactly (same hit, same port-yield
878
+ // predicate): wherever the press would resize, the cursor says resize;
879
+ // wherever the port would claim the press, the crosshair stands.
880
+ let toolCursor = null;
881
+ if (!this.isReadonly()) {
882
+ const handle = this.resizeHandleAt(worldX, worldY);
883
+ if (handle && !(0, selection_tools_1.sideHandleYieldsToPort)(handle, this.host.interaction.getState().hoveredPort)) {
884
+ toolCursor = handle.cursor;
885
+ }
886
+ }
887
+ this.setCursor(toolCursor !== null && toolCursor !== void 0 ? toolCursor : this.host.interaction.getCursor(engine));
888
+ if (needsRender)
889
+ this.host.requestRender();
890
+ }
891
+ // ==========================================================================
892
+ // Mouse up
893
+ // ==========================================================================
894
+ onMouseUp(event) {
895
+ var _a, _b, _c;
896
+ const engine = this.engine();
897
+ if (!engine)
898
+ return;
899
+ if (event.button !== 0 && event.button !== 1)
900
+ return;
901
+ // Wave 6 — Card 5: hand the gesture's end to the tool that claimed it, then
902
+ // release it. Released in a `finally` so a throwing tool cannot wedge the
903
+ // canvas into a state where every future gesture is swallowed.
904
+ if (this.activeTool) {
905
+ const tool = this.activeTool;
906
+ const hit = (_a = this.activeToolHit) !== null && _a !== void 0 ? _a : { empty: true };
907
+ const { x, y } = this.toWorld(event);
908
+ try {
909
+ (_b = tool.onPointerUp) === null || _b === void 0 ? void 0 : _b.call(tool, this.toToolEvent('up', event, x, y), hit);
910
+ }
911
+ finally {
912
+ this.activeTool = undefined;
913
+ this.activeToolHit = undefined;
914
+ this.host.requestRender();
915
+ }
916
+ return;
917
+ }
918
+ // wave12/node-resize: commit the resize as ONE undoable command. The model
919
+ // already sits at its final size (updateResize mutated it live); the command
920
+ // re-applies that (a no-op) and records the inverse — the wave-3 gesture-commit
921
+ // pattern. `void`: the manager's execute() is async, but the visible state is
922
+ // already correct, so we don't block the pointerup on it.
923
+ if (this.selectionTools.activeGesture() === 'resize') {
924
+ event.preventDefault();
925
+ const command = this.selectionTools.endGesture(engine);
926
+ if (command) {
927
+ void engine.commandManager.execute(command);
928
+ this.emitNodesChange();
929
+ }
930
+ this.host.requestRender();
931
+ return;
932
+ }
933
+ const state = this.host.interaction.getState();
934
+ if (state.isDraggingControlPoint) {
935
+ event.preventDefault();
936
+ this.host.interaction.endControlPointDrag();
937
+ this.host.requestRender();
938
+ return;
939
+ }
940
+ if (state.isDraggingWaypoint) {
941
+ event.preventDefault();
942
+ this.host.interaction.endWaypointDrag(engine);
943
+ this.host.requestRender();
944
+ return;
945
+ }
946
+ if (state.isDraggingLabel) {
947
+ event.preventDefault();
948
+ const press = this.pendingLabelClick;
949
+ this.pendingLabelClick = null;
950
+ this.host.interaction.endLabelDrag();
951
+ // CLICK, not drag: select the label's link with the same semantics a
952
+ // press on the link body has, so a pill click drives selection:change
953
+ // and every inspector listening to it.
954
+ if (press &&
955
+ Math.hypot(event.clientX - press.startX, event.clientY - press.startY) <
956
+ this.options.dragThreshold) {
957
+ const diagram = engine === null || engine === void 0 ? void 0 : engine.getDiagram();
958
+ const link = (_c = diagram === null || diagram === void 0 ? void 0 : diagram.getLink) === null || _c === void 0 ? void 0 : _c.call(diagram, press.linkId);
959
+ if (engine && link) {
960
+ this.host.interaction.selectLink(link, engine, event.ctrlKey || event.metaKey);
961
+ this.emitSelectionChange();
962
+ this.host.emit('edge:click', { edge: link, world: this.toWorld(event) });
963
+ }
964
+ }
965
+ this.host.requestRender();
966
+ return;
967
+ }
968
+ if (state.isConnecting) {
969
+ event.preventDefault();
970
+ // CLICK, not drag: the press never left the threshold, so the user was
971
+ // clicking the shape — cancel the aborted connection and select the
972
+ // port's node with the same semantics a body click has (plain replaces,
973
+ // shift extends). Without this the port zones are selection dead bands.
974
+ const press = this.pendingPortClick;
975
+ this.pendingPortClick = null;
976
+ if (press &&
977
+ Math.hypot(event.clientX - press.startX, event.clientY - press.startY) <
978
+ this.options.dragThreshold) {
979
+ this.host.interaction.cancelConnection(engine);
980
+ const diagram = engine.getDiagram();
981
+ const node = diagram === null || diagram === void 0 ? void 0 : diagram.getNode(press.nodeId);
982
+ if (diagram && node) {
983
+ if (event.shiftKey)
984
+ diagram.addToSelection(node);
985
+ else
986
+ diagram.selectNode(node);
987
+ this.emitSelectionChange();
988
+ }
989
+ this.host.requestRender();
990
+ return;
991
+ }
992
+ // The link itself is created asynchronously by the engine's
993
+ // `connection:complete` handler, so `connect` is emitted from the
994
+ // instance's `link:added` subscription — not from here.
995
+ this.host.interaction.completeConnection(engine);
996
+ this.host.requestRender();
997
+ return;
998
+ }
999
+ if (state.isReconnectingLink) {
1000
+ event.preventDefault();
1001
+ // Capture BEFORE completing: completion clears the reconnection state.
1002
+ const link = state.reconnectingLink;
1003
+ const endpoint = state.reconnectingEndpoint;
1004
+ if (this.host.interaction.completeLinkReconnection(engine) && link && endpoint) {
1005
+ this.host.emit('reconnect', { link, endpoint });
1006
+ this.emitEdgesChange();
1007
+ }
1008
+ this.host.requestRender();
1009
+ return;
1010
+ }
1011
+ if (this.groupDrag) {
1012
+ event.preventDefault();
1013
+ this.endGroupDrag(engine);
1014
+ this.setCursor('default');
1015
+ return;
1016
+ }
1017
+ if (this.nodeDrag) {
1018
+ const drag = this.nodeDrag;
1019
+ const moved = drag.committed;
1020
+ this.nodeDrag = null;
1021
+ // wave12: record the completed drag as one undoable step BEFORE anything else.
1022
+ if (moved && engine)
1023
+ this.commitNodeMove(engine, drag);
1024
+ // T8/visio: the drop may also change WHAT CONTAINS the node.
1025
+ if (moved && engine)
1026
+ this.applyMembershipOnDrop(engine, drag);
1027
+ // wave12 (gap 2): a drag that ended near a compatible port auto-links on drop.
1028
+ const connected = moved ? this.commitProximityConnection() : false;
1029
+ if (moved)
1030
+ this.emitNodesChange();
1031
+ if (connected)
1032
+ this.emitEdgesChange();
1033
+ }
1034
+ this.isPanning = false;
1035
+ this.pendingEmptyPan = null;
1036
+ this.setCursor(this.spaceKeyPressed ? 'grab' : 'default');
1037
+ }
1038
+ /** Pointer left the canvas — abort every in-flight gesture so nothing sticks. */
1039
+ onMouseLeave() {
1040
+ const engine = this.engine();
1041
+ this.isPanning = false;
1042
+ // wave12/node-resize: the pointer left mid-resize → commit what we have (the
1043
+ // node already looks right; abandoning would snap it back under the user).
1044
+ if (engine && this.selectionTools.activeGesture() === 'resize') {
1045
+ const command = this.selectionTools.endGesture(engine);
1046
+ if (command) {
1047
+ void engine.commandManager.execute(command);
1048
+ this.emitNodesChange();
1049
+ }
1050
+ this.host.requestRender();
1051
+ }
1052
+ // wave12/connect-ergonomics (gap 1): the pointer left mid-group-drag → commit it.
1053
+ if (this.groupDrag) {
1054
+ if (engine)
1055
+ this.endGroupDrag(engine);
1056
+ else
1057
+ this.groupDrag = null;
1058
+ }
1059
+ if (this.nodeDrag) {
1060
+ const drag = this.nodeDrag;
1061
+ const moved = drag.committed;
1062
+ this.nodeDrag = null;
1063
+ // Pointer left mid-drag: keep the move (the node already looks moved; snapping it
1064
+ // back would be worse) and STILL record it as one undoable step. Do not auto-connect.
1065
+ if (moved && engine)
1066
+ this.commitNodeMove(engine, drag);
1067
+ this.clearProximityPreview();
1068
+ if (moved)
1069
+ this.emitNodesChange();
1070
+ }
1071
+ if (engine && this.host.interaction.getState().isConnecting) {
1072
+ this.pendingPortClick = null;
1073
+ this.host.interaction.cancelConnection(engine);
1074
+ this.host.requestRender();
1075
+ }
1076
+ this.setCursor('default');
1077
+ }
1078
+ /** Double-click: node → in-place rename; link label → rename; link body → waypoint. */
1079
+ onDoubleClick(event) {
1080
+ var _a, _b;
1081
+ const engine = this.engine();
1082
+ if (!engine || this.isReadonly())
1083
+ return;
1084
+ const { x: worldX, y: worldY } = this.toWorld(event);
1085
+ // Node bodies cover link ink (nodes-layer paints above links-layer), so a
1086
+ // node under the point owns the double-click — same covered-ink rule as the
1087
+ // mousedown ladder's link rung.
1088
+ const nodeUnder = (_a = engine.getDiagram()) === null || _a === void 0 ? void 0 : _a.getNodeAtPosition(worldX, worldY);
1089
+ const hit = nodeUnder
1090
+ ? null
1091
+ : this.host.interaction.getLinkHitAtPosition(worldX, worldY, engine);
1092
+ if (!hit) {
1093
+ const node = nodeUnder;
1094
+ if (node) {
1095
+ this.host.emit('node:doubleclick', { node, world: { x: worldX, y: worldY } });
1096
+ // T10/visio — double-click EDITS the label. InPlaceTextEditor (session +
1097
+ // undoable commit) was real but auto-wired only in the Angular wrapper,
1098
+ // so a vanilla/React/Vue embed got an event and no editor. Opt-in via
1099
+ // `enableInPlaceTextEdit`; the host can still prefer its own editor by
1100
+ // leaving it off and handling `node:doubleclick`.
1101
+ if (engine.getInteractionConfig().enableInPlaceTextEdit === true) {
1102
+ this.openTextEditor(engine, { type: 'node', nodeId: node.id });
1103
+ }
1104
+ }
1105
+ return;
1106
+ }
1107
+ // visio-depth — double-click an edge LABEL edits it in place, exactly like
1108
+ // a node label (same editor, same undoable commit; the display-label
1109
+ // dialect is resolved inside InPlaceTextEditor.begin). Same opt-in flag.
1110
+ if (hit.part === 'label' &&
1111
+ engine.getInteractionConfig().enableInPlaceTextEdit === true) {
1112
+ event.preventDefault();
1113
+ this.openTextEditor(engine, {
1114
+ type: 'link-label',
1115
+ linkId: hit.link.id,
1116
+ labelIndex: (_b = hit.labelIndex) !== null && _b !== void 0 ? _b : 0,
1117
+ });
1118
+ return;
1119
+ }
1120
+ if (hit.part === 'body' && engine.getInteractionConfig().enableWaypointEditing) {
1121
+ event.preventDefault();
1122
+ if (this.host.interaction.addWaypoint(worldX, worldY, hit.link)) {
1123
+ this.host.requestRender();
1124
+ this.emitEdgesChange();
1125
+ }
1126
+ }
1127
+ }
1128
+ // ==========================================================================
1129
+ // Keyboard
1130
+ // ==========================================================================
1131
+ onKeyDown(event) {
1132
+ var _a, _b;
1133
+ const engine = this.engine();
1134
+ const diagram = engine === null || engine === void 0 ? void 0 : engine.getDiagram();
1135
+ if (!engine || !diagram)
1136
+ return;
1137
+ // Never steal keys from a focused text field / contenteditable.
1138
+ if (isTextEntryTarget(event.target))
1139
+ return;
1140
+ if (event.code === 'Space' && !this.spaceKeyPressed) {
1141
+ this.spaceKeyPressed = true;
1142
+ this.setCursor('grab');
1143
+ return;
1144
+ }
1145
+ if (event.key === 'Escape') {
1146
+ // wave13/stroke-edit: a REGISTERED TOOL that claimed the current gesture gets
1147
+ // cancelled too. Every whiteboard tool implements onCancel() (clear the overlay,
1148
+ // drop the in-flight state), but until now only pointercancel ever reached it —
1149
+ // Escape mid-drag left the tool live and still eating pointermoves. Released in
1150
+ // a `finally` for the same reason onMouseUp does: a throwing tool must not wedge
1151
+ // the canvas into a state where every future gesture is swallowed.
1152
+ if (this.activeTool) {
1153
+ try {
1154
+ (_b = (_a = this.activeTool).onCancel) === null || _b === void 0 ? void 0 : _b.call(_a);
1155
+ }
1156
+ finally {
1157
+ this.activeTool = undefined;
1158
+ this.activeToolHit = undefined;
1159
+ }
1160
+ // Escape LAYERS: the first press cancels the in-flight gesture and is
1161
+ // CONSUMED — falling through here let the clear-selection branch below
1162
+ // wipe the very selection the tool's onCancel just rolled back, so a
1163
+ // cancelled marquee ended empty instead of restored (live audit
1164
+ // finding). A second Escape, with no gesture active, deselects.
1165
+ this.host.requestRender();
1166
+ return;
1167
+ }
1168
+ const state = this.host.interaction.getState();
1169
+ if (state.isConnecting) {
1170
+ this.pendingPortClick = null;
1171
+ this.host.interaction.cancelConnection(engine);
1172
+ }
1173
+ if (state.isReconnectingLink)
1174
+ this.host.interaction.cancelLinkReconnection(engine);
1175
+ // wave12/node-resize: Escape abandons an in-flight resize, restoring the
1176
+ // node's pre-gesture size/position (SelectionToolsController.cancelGesture).
1177
+ if (this.selectionTools.activeGesture() === 'resize') {
1178
+ this.selectionTools.cancelGesture(engine);
1179
+ }
1180
+ // wave12 (gap 1): abandon an in-flight group drag WITHOUT restoring — matches
1181
+ // node-drag Escape (which also leaves the node where the drag left it).
1182
+ this.nodeDrag = null;
1183
+ this.groupDrag = null;
1184
+ this.clearProximityPreview(); // (gap 2) Escape never auto-connects
1185
+ diagram.clearSelection();
1186
+ this.host.requestRender();
1187
+ this.emitSelectionChange();
1188
+ return;
1189
+ }
1190
+ if ((event.key === 'Delete' || event.key === 'Backspace') && !this.isReadonly()) {
1191
+ const removedWaypoint = this.host.interaction.deleteHoveredWaypoint();
1192
+ const selectedLink = diagram
1193
+ .getLinks()
1194
+ .find((l) => l.state === 'selected');
1195
+ const selectedNodes = diagram.getSelectedNodes();
1196
+ if (removedWaypoint || selectedLink || selectedNodes.length > 0) {
1197
+ event.preventDefault();
1198
+ // THROUGH THE COMMAND STACK, as ONE undoable step. The old handler
1199
+ // mutated the model directly (diagram.deleteSelected / removeLink), so
1200
+ // keyboard Delete could not be undone — and worse, the NEXT undo
1201
+ // replayed whatever stale command sat on top of the stack, aimed at an
1202
+ // entity that no longer existed (the sweep caught MoveNodeCommand.undo
1203
+ // throwing exactly that way).
1204
+ const nodeIds = selectedNodes.map((n) => n.id);
1205
+ const linkId = selectedLink === null || selectedLink === void 0 ? void 0 : selectedLink.id;
1206
+ void (() => tslib_1.__awaiter(this, void 0, void 0, function* () {
1207
+ const cm = engine.commandManager;
1208
+ const many = nodeIds.length + (linkId ? 1 : 0) > 1;
1209
+ if (many)
1210
+ cm.beginBatch();
1211
+ try {
1212
+ if (linkId)
1213
+ yield engine.removeLink(linkId);
1214
+ for (const id of nodeIds)
1215
+ yield engine.removeNode(id);
1216
+ }
1217
+ finally {
1218
+ if (many)
1219
+ yield cm.endBatch('Delete Selection');
1220
+ }
1221
+ this.host.requestRender();
1222
+ if (nodeIds.length > 0)
1223
+ this.emitNodesChange();
1224
+ if (linkId)
1225
+ this.emitEdgesChange();
1226
+ this.emitSelectionChange();
1227
+ }))();
1228
+ }
1229
+ return;
1230
+ }
1231
+ // visio-depth — arrow-key NUDGE (opt-in via `enableKeyboardNudge`): the
1232
+ // selection moves 1 world unit per press, ×10 with Shift, each press one
1233
+ // undoable command — and MERGEABLE, so a held key's auto-repeat collapses
1234
+ // into a single undo entry inside the CommandManager's merge window. The
1235
+ // math is the shipped KeyboardNavigationController's; the focused-input
1236
+ // guard at the top of this handler keeps arrows out of a live text editor.
1237
+ if (!this.isReadonly() &&
1238
+ event.key.startsWith('Arrow') &&
1239
+ engine.getInteractionConfig().enableKeyboardNudge &&
1240
+ !(event.ctrlKey || event.metaKey || event.altKey)) {
1241
+ if (!this.keyboardNav)
1242
+ this.keyboardNav = new keyboard_navigation_1.KeyboardNavigationController();
1243
+ const delta = this.keyboardNav.nudgeDelta(event.key, event.shiftKey);
1244
+ if (delta && diagram.getSelectedNodes().length > 0) {
1245
+ event.preventDefault();
1246
+ const command = this.keyboardNav.nudgeCommand(engine, delta.x, delta.y, {
1247
+ mergeable: true,
1248
+ });
1249
+ if (command) {
1250
+ void engine.commandManager.execute(command);
1251
+ this.host.requestRender();
1252
+ this.emitNodesChange();
1253
+ }
1254
+ return;
1255
+ }
1256
+ }
1257
+ if ((event.ctrlKey || event.metaKey) && event.key.toLowerCase() === 'a') {
1258
+ event.preventDefault();
1259
+ diagram.selectAll();
1260
+ this.host.requestRender();
1261
+ this.emitSelectionChange();
1262
+ return;
1263
+ }
1264
+ // Standard editor keys. The engine has ALWAYS had the command stack and the
1265
+ // clipboard — but no default binding reached them, so on a live page ⌘Z /
1266
+ // Ctrl+Z did nothing (live report: "undo isn't working", "copy paste not
1267
+ // working" — the demos proved the APIs while no keyboard path existed).
1268
+ // ctrlKey OR metaKey throughout: a Ctrl-only chord is dead on every Mac.
1269
+ if ((event.ctrlKey || event.metaKey) && event.key.toLowerCase() === 'z') {
1270
+ event.preventDefault();
1271
+ if (this.isReadonly())
1272
+ return;
1273
+ void (event.shiftKey ? engine.redo() : engine.undo()).then(() => {
1274
+ this.host.requestRender();
1275
+ this.emitNodesChange();
1276
+ this.emitEdgesChange();
1277
+ this.emitSelectionChange();
1278
+ });
1279
+ return;
1280
+ }
1281
+ if ((event.ctrlKey || event.metaKey) && event.key.toLowerCase() === 'y') {
1282
+ event.preventDefault();
1283
+ if (this.isReadonly())
1284
+ return;
1285
+ void engine.redo().then(() => {
1286
+ this.host.requestRender();
1287
+ this.emitNodesChange();
1288
+ this.emitEdgesChange();
1289
+ this.emitSelectionChange();
1290
+ });
1291
+ return;
1292
+ }
1293
+ if ((event.ctrlKey || event.metaKey) && event.key.toLowerCase() === 'c') {
1294
+ // Copying mutates nothing — allowed even in readonly.
1295
+ void engine.copy();
1296
+ return;
1297
+ }
1298
+ if ((event.ctrlKey || event.metaKey) && event.key.toLowerCase() === 'v') {
1299
+ if (this.isReadonly() || !engine.hasClipboardData())
1300
+ return;
1301
+ event.preventDefault();
1302
+ void engine.paste().then(() => {
1303
+ this.host.requestRender();
1304
+ this.emitNodesChange();
1305
+ this.emitEdgesChange();
1306
+ this.emitSelectionChange();
1307
+ });
1308
+ return;
1309
+ }
1310
+ // visio-depth — ⌘D / Ctrl+D duplicates the selection: copy + paste-with-
1311
+ // offset as ONE command (DuplicateCommand shipped in Phase 1.8 with no
1312
+ // keyboard reaching it). preventDefault matters here: the browser's default
1313
+ // for this chord is bookmark-the-page.
1314
+ if ((event.ctrlKey || event.metaKey) && event.key.toLowerCase() === 'd') {
1315
+ if (this.isReadonly() || diagram.getSelectedNodes().length === 0)
1316
+ return;
1317
+ event.preventDefault();
1318
+ void engine.duplicate().then(() => {
1319
+ this.host.requestRender();
1320
+ this.emitNodesChange();
1321
+ this.emitEdgesChange();
1322
+ this.emitSelectionChange();
1323
+ });
1324
+ return;
1325
+ }
1326
+ // visio-depth — F2 and TYPE-TO-REPLACE, both riding the same in-place
1327
+ // editor double-click opens (gated on the same `enableInPlaceTextEdit`
1328
+ // opt-in, and the focused-input guard at the top keeps both out of a live
1329
+ // editor). F2 opens with the current label selected; a PRINTABLE key with
1330
+ // exactly one node selected opens the editor seeded with that character,
1331
+ // replacing the label on commit — Visio's signature affordance. Modifier
1332
+ // chords never trigger it: every Ctrl/Cmd chord returned above, and
1333
+ // Alt-composed characters are explicitly excluded here.
1334
+ if (!this.isReadonly() &&
1335
+ engine.getInteractionConfig().enableInPlaceTextEdit === true) {
1336
+ const selected = diagram.getSelectedNodes();
1337
+ if (selected.length === 1) {
1338
+ if (event.key === 'F2') {
1339
+ event.preventDefault();
1340
+ this.openTextEditor(engine, { type: 'node', nodeId: selected[0].id });
1341
+ return;
1342
+ }
1343
+ if (event.key.length === 1 && !event.ctrlKey && !event.metaKey && !event.altKey) {
1344
+ event.preventDefault();
1345
+ this.openTextEditor(engine, { type: 'node', nodeId: selected[0].id }, { seed: event.key });
1346
+ return;
1347
+ }
1348
+ }
1349
+ }
1350
+ }
1351
+ onKeyUp(event) {
1352
+ if (event.code === 'Space') {
1353
+ this.spaceKeyPressed = false;
1354
+ this.isPanning = false;
1355
+ this.setCursor('default');
1356
+ }
1357
+ }
1358
+ // ==========================================================================
1359
+ // Node press / drag (threshold-gated)
1360
+ // ==========================================================================
1361
+ pressNode(node, diagram, event, worldX, worldY) {
1362
+ var _a;
1363
+ // MUST be read before we mutate the selection — it is the sole input to
1364
+ // DELIBERATE-mode drag gating (select first, drag second).
1365
+ const wasSelected = node.isSelected();
1366
+ if (event.ctrlKey || event.metaKey) {
1367
+ diagram.toggleNodeSelection(node);
1368
+ }
1369
+ else if (!wasSelected) {
1370
+ diagram.selectNode(node);
1371
+ // A plain node click REPLACES the selection, and links are part of it.
1372
+ // Leaving a link in state 'selected' here made the properties panel read
1373
+ // "2 shapes" after edge-click → node-click (live audit finding): node
1374
+ // and link selection are one selection to the user, so clearing one
1375
+ // side must clear the other — exactly what the empty-canvas click does.
1376
+ diagram.getLinks().forEach((l) => {
1377
+ if (l.state === 'selected')
1378
+ l.setState('default');
1379
+ });
1380
+ }
1381
+ // Clicking an already-selected node without a modifier keeps the whole
1382
+ // selection, so a multi-node drag works.
1383
+ this.host.requestRender();
1384
+ this.emitSelectionChange();
1385
+ if (this.isReadonly() || !node.isDraggable() || !node.isSelected())
1386
+ return;
1387
+ // Declaring a drag handle MEANS "drag me by the handle": once a node has
1388
+ // one, its body press selects but no longer arms a drag — otherwise the
1389
+ // handle is decoration (React Flow's dragHandle has the same semantics).
1390
+ // A press that arrived here REDIRECTED FROM the handle still drags.
1391
+ if (!this.pressViaDragHandle && this.hasDragHandlerChild(node, diagram))
1392
+ return;
1393
+ const mode = (_a = this.engine()) === null || _a === void 0 ? void 0 : _a.getInteractionConfig().mode;
1394
+ if (mode === 'deliberate' && !wasSelected)
1395
+ return; // first click only selects
1396
+ const selected = diagram.getSelectedNodes().filter((n) => n.isDraggable());
1397
+ const nodeIds = selected.some((n) => n.id === node.id)
1398
+ ? selected.map((n) => n.id)
1399
+ : [node.id];
1400
+ this.nodeDrag = {
1401
+ nodeIds,
1402
+ startClientX: event.clientX,
1403
+ startClientY: event.clientY,
1404
+ lastWorldX: worldX,
1405
+ lastWorldY: worldY,
1406
+ committed: false,
1407
+ snapAnchor: { x: worldX, y: worldY },
1408
+ };
1409
+ }
1410
+ moveNodeDrag(event) {
1411
+ var _a;
1412
+ const drag = this.nodeDrag;
1413
+ const diagram = (_a = this.engine()) === null || _a === void 0 ? void 0 : _a.getDiagram();
1414
+ if (!drag || !diagram)
1415
+ return;
1416
+ if (!drag.committed) {
1417
+ const dx = event.clientX - drag.startClientX;
1418
+ const dy = event.clientY - drag.startClientY;
1419
+ if (Math.hypot(dx, dy) < this.options.dragThreshold) {
1420
+ return; // still a click, not a drag — do NOT touch any position
1421
+ }
1422
+ drag.committed = true;
1423
+ // wave12: snapshot each node's pre-drag position, NOW — before the first
1424
+ // setPosition below — so drag-end can commit an undoable FROM→TO move. Nothing
1425
+ // has moved yet on this frame (the delta is applied after this block), so these
1426
+ // are the true start positions.
1427
+ drag.startPositions = new Map();
1428
+ for (const id of drag.nodeIds) {
1429
+ const n = diagram.getNode(id);
1430
+ if (n)
1431
+ drag.startPositions.set(id, { x: n.position.x, y: n.position.y, z: n.position.z });
1432
+ }
1433
+ }
1434
+ const { x: worldX, y: worldY } = this.toWorld(event);
1435
+ const dx = worldX - drag.lastWorldX;
1436
+ const dy = worldY - drag.lastWorldY;
1437
+ drag.lastWorldX = worldX;
1438
+ drag.lastWorldY = worldY;
1439
+ if (!dx && !dy)
1440
+ return;
1441
+ // wave15/helper-lines: opt-in live snaplines. `computeSnap` existed as a
1442
+ // pure engine while NOTHING called it from a real drag (live report: "no
1443
+ // matter what i try doesn't look like something is happening"). Single
1444
+ // top-level node drags snap against sibling boxes and publish the guides
1445
+ // the renderer draws; everything else keeps the raw delta path.
1446
+ const snapped = this.applyHelperLineSnap(drag, diagram, worldX, worldY);
1447
+ if (!snapped) {
1448
+ for (const id of drag.nodeIds) {
1449
+ const node = diagram.getNode(id);
1450
+ if (!node || node.state.locked)
1451
+ continue;
1452
+ node.setPosition(node.position.x + dx, node.position.y + dy);
1453
+ }
1454
+ }
1455
+ // Node geometry moved ⇒ the port hit cache is stale.
1456
+ this.host.interaction.invalidatePortHitCache();
1457
+ // wave12 (gap 2): live proximity-connect preview — light up the port pair a
1458
+ // drop would auto-link, and remember it for commit on mouseup.
1459
+ this.updateProximityPreview(drag.nodeIds);
1460
+ this.host.requestRender();
1461
+ }
1462
+ // ==========================================================================
1463
+ // wave12/connect-ergonomics (gap 2) — Proximity connect on the live node drag.
1464
+ // ==========================================================================
1465
+ /** The lazily-built proximity-connect engine (only when the feature is on). */
1466
+ snapController() {
1467
+ if (!this.snap)
1468
+ this.snap = new snapping_1.SnapController();
1469
+ return this.snap;
1470
+ }
1471
+ /**
1472
+ * While dragging, find the best proximity candidate for any dragged node and
1473
+ * highlight its port pair (the SAME flags a connection drag paints). Stores it
1474
+ * so {@link commitProximityConnection} can create the link on drop. No-op —
1475
+ * and clears any prior highlight — when the feature is off or nothing is near.
1476
+ */
1477
+ updateProximityPreview(draggedIds) {
1478
+ const engine = this.engine();
1479
+ if (!engine)
1480
+ return;
1481
+ if (!engine.getInteractionConfig().enableProximityConnect)
1482
+ return;
1483
+ this.proximityCandidate = this.bestProximityCandidate(draggedIds);
1484
+ this.snapController().highlightProximityTarget(engine, this.proximityCandidate);
1485
+ // The renderer draws the proposal as a live dashed wire — port glyphs alone
1486
+ // read as "nothing is happening" (live report: "the wire isn't showing").
1487
+ engine.setProximityPreview(this.proximityCandidate
1488
+ ? {
1489
+ sourceNodeId: this.proximityCandidate.sourceNodeId,
1490
+ sourcePortId: this.proximityCandidate.sourcePort.id,
1491
+ targetNodeId: this.proximityCandidate.targetNodeId,
1492
+ targetPortId: this.proximityCandidate.targetPort.id,
1493
+ }
1494
+ : null);
1495
+ }
1496
+ /**
1497
+ * wave15/helper-lines: snap a SINGLE top-level dragged node to sibling
1498
+ * alignments/equal-spacing and publish the guide segments for the renderer.
1499
+ * Returns true when it owned the position write (the caller then skips the
1500
+ * raw delta loop). Tracks the VIRTUAL position from {@link NodeDragState.snapAnchor}
1501
+ * so corrections never accumulate into pointer drift.
1502
+ */
1503
+ applyHelperLineSnap(drag, diagram, worldX, worldY) {
1504
+ const engine = this.engine();
1505
+ if (!engine || engine.getInteractionConfig().enableHelperLines !== true)
1506
+ return false;
1507
+ if (drag.nodeIds.length !== 1 || !drag.snapAnchor || !drag.startPositions)
1508
+ return false;
1509
+ const id = drag.nodeIds[0];
1510
+ const node = diagram.getNode(id);
1511
+ const start = drag.startPositions.get(id);
1512
+ if (!node || !start || node.state.locked || node.parentId)
1513
+ return false;
1514
+ const virtualX = start.x + (worldX - drag.snapAnchor.x);
1515
+ const virtualY = start.y + (worldY - drag.snapAnchor.y);
1516
+ const snap = this.snapController();
1517
+ snap.syncWithEngineConfig(engine);
1518
+ const result = snap.computeSnap({ x: virtualX, y: virtualY, width: node.size.width, height: node.size.height }, snap.siblingBoxes(engine, [id]));
1519
+ node.setPosition(result.box.x, result.box.y);
1520
+ const segments = [
1521
+ ...result.guides.map((g) => g.orientation === 'vertical'
1522
+ ? { x1: g.position, y1: g.from, x2: g.position, y2: g.to, kind: 'alignment' }
1523
+ : { x1: g.from, y1: g.position, x2: g.to, y2: g.position, kind: 'alignment' }),
1524
+ ...result.spacing.flatMap((s) => s.segments.map((seg) => (Object.assign(Object.assign({}, seg), { kind: 'spacing', label: s.label })))),
1525
+ ];
1526
+ engine.setSnapGuides(segments.length > 0 ? segments : null);
1527
+ return true;
1528
+ }
1529
+ /** The closest proximity candidate across all dragged nodes (or null). */
1530
+ bestProximityCandidate(draggedIds) {
1531
+ const engine = this.engine();
1532
+ if (!engine)
1533
+ return null;
1534
+ const config = engine.getInteractionConfig();
1535
+ const radius = config.proximityConnectRadius > 0 ? config.proximityConnectRadius : undefined;
1536
+ let best = null;
1537
+ for (const id of draggedIds) {
1538
+ const candidate = this.snapController().findProximityConnection(engine, id, radius);
1539
+ if (candidate && (!best || candidate.distance < best.distance))
1540
+ best = candidate;
1541
+ }
1542
+ return best;
1543
+ }
1544
+ /**
1545
+ * Commit the highlighted proximity candidate as ONE undoable AddLinkCommand,
1546
+ * then clear the highlight. Called on the node-drag mouseup. Returns true when
1547
+ * a link was actually created.
1548
+ */
1549
+ commitProximityConnection() {
1550
+ const engine = this.engine();
1551
+ if (!engine)
1552
+ return false;
1553
+ const candidate = this.proximityCandidate;
1554
+ this.proximityCandidate = null;
1555
+ this.snapController().highlightProximityTarget(engine, null);
1556
+ engine.setProximityPreview(null);
1557
+ engine.setSnapGuides(null); // helper lines end with the drag
1558
+ if (!candidate || engine.getInteractionConfig().enableProximityConnect !== true)
1559
+ return false;
1560
+ if (this.isReadonly())
1561
+ return false;
1562
+ const command = this.snapController().buildProximityLinkCommand(candidate);
1563
+ void engine.commandManager.execute(command);
1564
+ return true;
1565
+ }
1566
+ /** Drop any live proximity highlight/candidate without committing. */
1567
+ clearProximityPreview() {
1568
+ const engine = this.engine();
1569
+ if (this.proximityCandidate && engine) {
1570
+ this.snapController().highlightProximityTarget(engine, null);
1571
+ engine.setProximityPreview(null);
1572
+ }
1573
+ engine === null || engine === void 0 ? void 0 : engine.setSnapGuides(null); // helper lines end with the drag
1574
+ this.proximityCandidate = null;
1575
+ }
1576
+ // ==========================================================================
1577
+ // wave12/connect-ergonomics (gap 1) — Group drag: move a subflow container and
1578
+ // ALL its contents by the same delta, as ONE undoable step.
1579
+ // ==========================================================================
1580
+ /**
1581
+ * The innermost group whose outer frame contains the world point. "Innermost"
1582
+ * (deepest nesting, then smallest area) so grabbing a nested sub-flow drags the
1583
+ * sub-flow, not the pipeline around it. Skips groups with no drawable frame.
1584
+ */
1585
+ findGroupAtPoint(diagram, worldX, worldY) {
1586
+ let best;
1587
+ let bestDepth = -Infinity;
1588
+ let bestArea = Infinity;
1589
+ for (const group of diagram.getGroups()) {
1590
+ if (group.isCollapsed)
1591
+ continue;
1592
+ const r = group.getOuterBounds();
1593
+ if (r.width <= 0 || r.height <= 0)
1594
+ continue;
1595
+ if (worldX < r.x || worldX > r.x + r.width || worldY < r.y || worldY > r.y + r.height) {
1596
+ continue;
1597
+ }
1598
+ const depth = diagram.getDepth(group.id);
1599
+ const area = r.width * r.height;
1600
+ if (depth > bestDepth || (depth === bestDepth && area < bestArea)) {
1601
+ best = group;
1602
+ bestDepth = depth;
1603
+ bestArea = area;
1604
+ }
1605
+ }
1606
+ return best;
1607
+ }
1608
+ /**
1609
+ * Every member NODE (recursively through nested groups) and every group FRAME
1610
+ * (this group + its descendant groups) that a drag of `group` must carry.
1611
+ * Cycle-guarded so a corrupt membership loop can never spin.
1612
+ */
1613
+ collectGroupContents(diagram, group) {
1614
+ const nodeIds = new Set();
1615
+ const groupIds = new Set();
1616
+ const stack = [group];
1617
+ while (stack.length) {
1618
+ const g = stack.pop();
1619
+ if (groupIds.has(g.id))
1620
+ continue;
1621
+ groupIds.add(g.id);
1622
+ for (const memberId of g.members) {
1623
+ const node = diagram.getNode(memberId);
1624
+ if (node) {
1625
+ nodeIds.add(memberId);
1626
+ continue;
1627
+ }
1628
+ const child = diagram.getGroup(memberId);
1629
+ if (child && !groupIds.has(child.id))
1630
+ stack.push(child);
1631
+ }
1632
+ }
1633
+ return { nodeIds: [...nodeIds], groupIds: [...groupIds] };
1634
+ }
1635
+ /** Snapshot a group frame's restorable geometry (for undo). */
1636
+ snapshotFrame(group) {
1637
+ return {
1638
+ position: { x: group.position.x, y: group.position.y },
1639
+ size: group.size ? Object.assign({}, group.size) : undefined,
1640
+ bounds: group.bounds ? Object.assign({}, group.bounds) : undefined,
1641
+ };
1642
+ }
1643
+ /** Arm a group drag (threshold-gated, mirroring the node-drag arming). */
1644
+ pressGroup(group, diagram, event, worldX, worldY) {
1645
+ const { nodeIds, groupIds } = this.collectGroupContents(diagram, group);
1646
+ const nodeFrom = new Map();
1647
+ for (const id of nodeIds) {
1648
+ const node = diagram.getNode(id);
1649
+ if (node && !node.state.locked)
1650
+ nodeFrom.set(id, Object.assign({}, node.position));
1651
+ }
1652
+ const frameFrom = new Map();
1653
+ for (const id of groupIds) {
1654
+ const g = diagram.getGroup(id);
1655
+ if (g)
1656
+ frameFrom.set(id, this.snapshotFrame(g));
1657
+ }
1658
+ this.groupDrag = {
1659
+ groupId: group.id,
1660
+ nodeIds: [...nodeFrom.keys()],
1661
+ groupIds: [...frameFrom.keys()],
1662
+ startClientX: event.clientX,
1663
+ startClientY: event.clientY,
1664
+ lastWorldX: worldX,
1665
+ lastWorldY: worldY,
1666
+ committed: false,
1667
+ nodeFrom,
1668
+ frameFrom,
1669
+ };
1670
+ this.setCursor('move');
1671
+ }
1672
+ /** Translate the whole subflow live during a group drag (past the threshold). */
1673
+ moveGroupDrag(event) {
1674
+ var _a;
1675
+ const drag = this.groupDrag;
1676
+ const diagram = (_a = this.engine()) === null || _a === void 0 ? void 0 : _a.getDiagram();
1677
+ if (!drag || !diagram)
1678
+ return;
1679
+ if (!drag.committed) {
1680
+ const dx = event.clientX - drag.startClientX;
1681
+ const dy = event.clientY - drag.startClientY;
1682
+ if (Math.hypot(dx, dy) < this.options.dragThreshold)
1683
+ return;
1684
+ drag.committed = true;
1685
+ }
1686
+ const { x: worldX, y: worldY } = this.toWorld(event);
1687
+ const dx = worldX - drag.lastWorldX;
1688
+ const dy = worldY - drag.lastWorldY;
1689
+ drag.lastWorldX = worldX;
1690
+ drag.lastWorldY = worldY;
1691
+ if (!dx && !dy)
1692
+ return;
1693
+ // Members: N absolute position sets (per-property LWW converges under collab).
1694
+ for (const id of drag.nodeIds) {
1695
+ const node = diagram.getNode(id);
1696
+ if (!node || node.state.locked)
1697
+ continue;
1698
+ node.setPosition(node.position.x + dx, node.position.y + dy);
1699
+ }
1700
+ // Frames: translate this group + nested group frames alongside their contents.
1701
+ for (const id of drag.groupIds) {
1702
+ const g = diagram.getGroup(id);
1703
+ if (!g)
1704
+ continue;
1705
+ const r = g.getOuterBounds();
1706
+ g.setFrame({ x: r.x + dx, y: r.y + dy, width: r.width, height: r.height });
1707
+ }
1708
+ this.host.interaction.invalidatePortHitCache();
1709
+ this.host.requestRender();
1710
+ }
1711
+ /**
1712
+ * wave12: commit a finished node drag as ONE undoable step.
1713
+ *
1714
+ * The live drag mutated node positions directly for feedback and recorded NOTHING on
1715
+ * the command history — so Ctrl+Z could not undo a drag (keyboard-nudge and resize both
1716
+ * commit MoveNodeCommand; only the pointer drag skipped it). This is the same FROM→TO
1717
+ * snapshot endGroupDrag uses: the state is already at `to`, so each MoveNodeCommand's
1718
+ * execute() is a visual no-op that records one history entry, and undo restores `from`.
1719
+ * A multi-node drag collapses into one MacroCommand — one gesture, one undo step.
1720
+ */
1721
+ /**
1722
+ * T8/visio — after a node drag COMMITS its move, reparent it into whatever
1723
+ * container it was dropped in (or unembed it when dropped outside every one).
1724
+ *
1725
+ * The whole drop policy already lived in `GroupMembershipService`: innermost
1726
+ * hit-test, per-group `canAddMember` veto, coordinate translation, and
1727
+ * undoable Add/RemoveFromGroupCommand on the shared stack. It was simply
1728
+ * never constructed outside its own specs, so a drag into a container moved
1729
+ * the node's x/y and nothing else. This is the missing call.
1730
+ *
1731
+ * Runs only for a single-node drag: a multi-select drop into a container is a
1732
+ * separate policy question (which member wins the hit-test?), and guessing it
1733
+ * silently is worse than leaving it to a host.
1734
+ */
1735
+ /**
1736
+ * T2/visio — the snap hook handed to `updateResize`, or undefined when helper
1737
+ * lines are off. Snaps the resized box against every OTHER node's box and
1738
+ * publishes the same guides the drag path draws, so a resize aligns to its
1739
+ * neighbours instead of landing a pixel out.
1740
+ */
1741
+ resizeSnapHook(engine) {
1742
+ if (engine.getInteractionConfig().enableHelperLines !== true)
1743
+ return undefined;
1744
+ const id = this.selectionTools.activeGestureNodeId();
1745
+ const snap = this.snapController();
1746
+ snap.syncWithEngineConfig(engine);
1747
+ const others = snap.siblingBoxes(engine, id ? [id] : []);
1748
+ return (box) => {
1749
+ const result = snap.computeSnap(box, others);
1750
+ engine.setSnapGuides(result.guides.length > 0
1751
+ ? result.guides.map((g) => g.orientation === 'vertical'
1752
+ ? { x1: g.position, y1: g.from, x2: g.position, y2: g.to, kind: 'alignment' }
1753
+ : { x1: g.from, y1: g.position, x2: g.to, y2: g.position, kind: 'alignment' })
1754
+ : null);
1755
+ return result.box;
1756
+ };
1757
+ }
1758
+ applyMembershipOnDrop(engine, drag) {
1759
+ if (engine.getInteractionConfig().enableGroupMembershipOnDrop !== true)
1760
+ return;
1761
+ if (drag.nodeIds.length !== 1 || this.isReadonly())
1762
+ return;
1763
+ const diagram = engine.getDiagram();
1764
+ if (!diagram)
1765
+ return;
1766
+ const node = diagram.getNode(drag.nodeIds[0]);
1767
+ if (!node || node.state.locked)
1768
+ return;
1769
+ if (!this.membership || this.membership.diagram !== diagram) {
1770
+ this.membership = {
1771
+ diagram,
1772
+ service: new engine_1.GroupMembershipService({ diagram, dispatcher: engine.commandManager }),
1773
+ };
1774
+ }
1775
+ const service = this.membership.service;
1776
+ service.refresh(); // groups may have moved during the drag
1777
+ // Hit-test the node's CENTRE, not the pointer: the cursor can sit outside a
1778
+ // small node's body, and it is the shape's position that decides where it
1779
+ // landed.
1780
+ const point = {
1781
+ x: node.position.x + node.size.width / 2,
1782
+ y: node.position.y + node.size.height / 2,
1783
+ };
1784
+ void Promise.resolve(service.handleNodeDragEnd(node.id, point)).then((result) => {
1785
+ if (result === null || result === void 0 ? void 0 : result.changed) {
1786
+ this.emitNodesChange();
1787
+ this.host.requestRender();
1788
+ }
1789
+ });
1790
+ }
1791
+ commitNodeMove(engine, drag) {
1792
+ if (!drag.committed || !drag.startPositions)
1793
+ return;
1794
+ const diagram = engine.getDiagram();
1795
+ if (!diagram)
1796
+ return;
1797
+ const steps = [];
1798
+ for (const id of drag.nodeIds) {
1799
+ const node = diagram.getNode(id);
1800
+ const from = drag.startPositions.get(id);
1801
+ if (!node || !from)
1802
+ continue;
1803
+ if (node.position.x === from.x && node.position.y === from.y)
1804
+ continue; // never moved
1805
+ steps.push(new engine_1.MoveNodeCommand(id, { x: node.position.x, y: node.position.y, z: node.position.z }, { x: from.x, y: from.y, z: from.z }, { mergeable: false } // a completed gesture is its own step; do not merge into it
1806
+ ));
1807
+ }
1808
+ if (steps.length === 0)
1809
+ return;
1810
+ let command;
1811
+ if (steps.length === 1) {
1812
+ command = steps[0];
1813
+ }
1814
+ else {
1815
+ const macro = new engine_1.MacroCommand('Move nodes');
1816
+ for (const s of steps)
1817
+ macro.addStep(s);
1818
+ command = macro;
1819
+ }
1820
+ void engine.commandManager.execute(command);
1821
+ }
1822
+ /**
1823
+ * End a group drag: commit the whole gesture as ONE undoable MoveGroupCommand
1824
+ * (drag-start snapshot → current), then emit change events. The live drag has
1825
+ * already applied the final positions, so the command's execute() is a visual
1826
+ * no-op that merely records the single history entry; undo restores the start.
1827
+ */
1828
+ endGroupDrag(engine) {
1829
+ const drag = this.groupDrag;
1830
+ this.groupDrag = null;
1831
+ if (!drag)
1832
+ return;
1833
+ if (!drag.committed)
1834
+ return; // a press with no drag — nothing moved
1835
+ const diagram = engine.getDiagram();
1836
+ if (!diagram)
1837
+ return;
1838
+ const nodeMoves = [];
1839
+ for (const [id, from] of drag.nodeFrom) {
1840
+ const node = diagram.getNode(id);
1841
+ if (!node)
1842
+ continue;
1843
+ nodeMoves.push({ nodeId: id, from, to: Object.assign({}, node.position) });
1844
+ }
1845
+ const frameMoves = [];
1846
+ for (const [id, from] of drag.frameFrom) {
1847
+ const g = diagram.getGroup(id);
1848
+ if (!g)
1849
+ continue;
1850
+ frameMoves.push({ groupId: id, from, to: this.snapshotFrame(g) });
1851
+ }
1852
+ const command = new engine_1.MoveGroupCommand(nodeMoves, frameMoves);
1853
+ if (!command.isNoop()) {
1854
+ // Record on the undo stack. State is already at `to`, so this is idempotent.
1855
+ void engine.commandManager.execute(command);
1856
+ this.emitNodesChange();
1857
+ }
1858
+ this.host.requestRender();
1859
+ }
1860
+ // ==========================================================================
1861
+ // helpers
1862
+ // ==========================================================================
1863
+ engine() {
1864
+ return this.host.getEngine();
1865
+ }
1866
+ /**
1867
+ * wave12 (gap 3): is the easy-connect gate satisfied for this press? With
1868
+ * `easyConnectModifier: 'none'` (the default when the feature is on) any plain
1869
+ * body press connects — the whole node is a handle and move is done via a drag
1870
+ * handle / selection. A specific modifier lets a host KEEP body-drag-to-move
1871
+ * and reserve connect for, say, a shift-drag.
1872
+ */
1873
+ easyConnectModifierHeld(event, config) {
1874
+ switch (config.easyConnectModifier) {
1875
+ case 'shift': return event.shiftKey;
1876
+ case 'alt': return event.altKey;
1877
+ case 'ctrl': return event.ctrlKey;
1878
+ case 'meta': return event.metaKey;
1879
+ case 'none':
1880
+ default: return true;
1881
+ }
1882
+ }
1883
+ /**
1884
+ * T10/visio — open the transient text widget over a node's label.
1885
+ *
1886
+ * The SESSION (what text, where, single- or multi-line) and the COMMIT (an
1887
+ * undoable command) both come from `InPlaceTextEditor`; the only thing this
1888
+ * adds is the DOM input and where to put it — mapped through the live
1889
+ * world→client transform so it lands on the label at any zoom or pan.
1890
+ */
1891
+ openTextEditor(engine, target, options) {
1892
+ var _a;
1893
+ if (!this.textEditor)
1894
+ this.textEditor = new in_place_editor_1.InPlaceTextEditor();
1895
+ const editor = this.textEditor;
1896
+ this.closeTextEditor();
1897
+ const session = editor.begin(engine, target);
1898
+ if (!session)
1899
+ return;
1900
+ const rect = this.host.getRect();
1901
+ const at = this.host.viewport.worldToClient(session.center.x, session.center.y, rect);
1902
+ const input = document.createElement('input');
1903
+ input.type = 'text';
1904
+ input.value = session.value;
1905
+ input.className = 'grafloria-text-editor';
1906
+ input.setAttribute('aria-label', 'Edit label');
1907
+ // Fixed positioning keys off the same client coords worldToClient reports,
1908
+ // so the widget needs no assumptions about the container's offset parent.
1909
+ Object.assign(input.style, {
1910
+ position: 'fixed',
1911
+ left: `${at.x}px`,
1912
+ top: `${at.y}px`,
1913
+ transform: 'translate(-50%, -50%)',
1914
+ zIndex: '1000',
1915
+ font: '12px sans-serif',
1916
+ textAlign: 'center',
1917
+ minWidth: '40px',
1918
+ padding: '1px 4px',
1919
+ });
1920
+ let settled = false;
1921
+ const cleanup = () => {
1922
+ input.removeEventListener('keydown', onKeyDown);
1923
+ input.removeEventListener('blur', commit);
1924
+ input.remove();
1925
+ if (this.activeTextInput === input)
1926
+ this.activeTextInput = undefined;
1927
+ };
1928
+ const commit = () => {
1929
+ if (settled)
1930
+ return;
1931
+ settled = true;
1932
+ const command = editor.commit(engine, input.value);
1933
+ cleanup();
1934
+ if (command)
1935
+ void engine.commandManager.execute(command);
1936
+ this.host.requestRender();
1937
+ // Tell the host WHAT changed: a link-label commit is an edges change —
1938
+ // it used to report nodes:change, so an edge-labels listener never heard.
1939
+ if (target.type === 'link-label')
1940
+ this.emitEdgesChange();
1941
+ else
1942
+ this.emitNodesChange();
1943
+ };
1944
+ const cancel = () => {
1945
+ if (settled)
1946
+ return;
1947
+ settled = true;
1948
+ editor.cancel();
1949
+ cleanup();
1950
+ this.host.requestRender();
1951
+ };
1952
+ const onKeyDown = (e) => {
1953
+ // The canvas' own key handling (Delete, Escape, arrows) must not fire
1954
+ // while a caret is live in this input.
1955
+ e.stopPropagation();
1956
+ if (e.key === 'Enter') {
1957
+ e.preventDefault();
1958
+ commit();
1959
+ }
1960
+ else if (e.key === 'Escape') {
1961
+ e.preventDefault();
1962
+ cancel();
1963
+ }
1964
+ };
1965
+ input.addEventListener('keydown', onKeyDown);
1966
+ input.addEventListener('blur', commit);
1967
+ ((_a = this.container.ownerDocument) !== null && _a !== void 0 ? _a : document).body.appendChild(input);
1968
+ this.activeTextInput = input;
1969
+ input.focus();
1970
+ if ((options === null || options === void 0 ? void 0 : options.seed) !== undefined) {
1971
+ // Type-to-replace (Visio's signature affordance): the editor opens
1972
+ // holding ONLY the typed character — committing replaces the label,
1973
+ // Escape restores the original untouched (the session keeps it).
1974
+ input.value = options.seed;
1975
+ input.setSelectionRange(input.value.length, input.value.length);
1976
+ }
1977
+ else {
1978
+ input.select();
1979
+ }
1980
+ }
1981
+ /**
1982
+ * Open the in-place label editor programmatically — the seam behind F2 and a
1983
+ * host's context-menu Rename. Unlike the double-click path this is NOT gated
1984
+ * on `enableInPlaceTextEdit`: an explicit call IS the host's opt-in.
1985
+ * Returns false when the target does not exist / is not editable / readonly.
1986
+ */
1987
+ beginLabelEdit(target, options) {
1988
+ const engine = this.engine();
1989
+ if (!engine || this.isReadonly())
1990
+ return false;
1991
+ this.openTextEditor(engine, target, options);
1992
+ return this.activeTextInput !== undefined;
1993
+ }
1994
+ /** Drop any live text widget without committing (a new edit, or teardown). */
1995
+ closeTextEditor() {
1996
+ var _a;
1997
+ if (!this.activeTextInput)
1998
+ return;
1999
+ const input = this.activeTextInput;
2000
+ this.activeTextInput = undefined;
2001
+ (_a = this.textEditor) === null || _a === void 0 ? void 0 : _a.cancel();
2002
+ input.remove();
2003
+ }
2004
+ toWorld(event) {
2005
+ return this.host.viewport.clientToWorld(event.clientX, event.clientY, this.host.getRect());
2006
+ }
2007
+ /**
2008
+ * The node under the pointer. SVG hit-testing first; then walk up from
2009
+ * `event.target` looking for a `data-node-id`, which is how nodes rendered
2010
+ * into the HTML layer (foreignObject / custom components) are found — they are
2011
+ * absolutely positioned DOM, invisible to the geometric hit-test.
2012
+ */
2013
+ resolveNode(diagram, worldX, worldY, event) {
2014
+ var _a, _b, _c, _d, _e;
2015
+ this.pressViaDragHandle = false;
2016
+ const hit = diagram.getNodeAtPosition(worldX, worldY);
2017
+ if (hit) {
2018
+ this.pressViaDragHandle = ((_b = (_a = hit.behavior) === null || _a === void 0 ? void 0 : _a.dragHandler) === null || _b === void 0 ? void 0 : _b.isDragHandler) === true;
2019
+ return this.dragTargetFor(hit, diagram);
2020
+ }
2021
+ let element = event.target;
2022
+ while (element && element !== this.container) {
2023
+ const nodeId = (_c = element.getAttribute) === null || _c === void 0 ? void 0 : _c.call(element, 'data-node-id');
2024
+ if (nodeId) {
2025
+ const node = diagram.getNode(nodeId);
2026
+ this.pressViaDragHandle = ((_e = (_d = node === null || node === void 0 ? void 0 : node.behavior) === null || _d === void 0 ? void 0 : _d.dragHandler) === null || _e === void 0 ? void 0 : _e.isDragHandler) === true;
2027
+ return node ? this.dragTargetFor(node, diagram) : undefined;
2028
+ }
2029
+ element = element.parentElement;
2030
+ }
2031
+ return undefined;
2032
+ }
2033
+ /** Does this node delegate its dragging to a designated handle child? */
2034
+ hasDragHandlerChild(node, diagram) {
2035
+ var _a, _b, _c, _d;
2036
+ for (const childId of (_a = node.children) !== null && _a !== void 0 ? _a : []) {
2037
+ if (((_d = (_c = (_b = diagram.getNode(childId)) === null || _b === void 0 ? void 0 : _b.behavior) === null || _c === void 0 ? void 0 : _c.dragHandler) === null || _d === void 0 ? void 0 : _d.isDragHandler) === true)
2038
+ return true;
2039
+ }
2040
+ return false;
2041
+ }
2042
+ /**
2043
+ * Redirect the press to the node that should actually MOVE: an explicit drag
2044
+ * handle drags its parent, and a child that is neither draggable nor
2045
+ * selectable (e.g. a table row inside a node) drags its nearest draggable
2046
+ * ancestor.
2047
+ */
2048
+ dragTargetFor(node, diagram) {
2049
+ var _a, _b, _c, _d;
2050
+ if (((_b = (_a = node.behavior) === null || _a === void 0 ? void 0 : _a.dragHandler) === null || _b === void 0 ? void 0 : _b.isDragHandler) === true && node.parentId) {
2051
+ return (_c = diagram.getNode(node.parentId)) !== null && _c !== void 0 ? _c : node;
2052
+ }
2053
+ const selectable = ((_d = node.behavior) === null || _d === void 0 ? void 0 : _d.selectable) !== false;
2054
+ if (node.isDraggable() || selectable)
2055
+ return node;
2056
+ let current = node;
2057
+ while (current === null || current === void 0 ? void 0 : current.parentId) {
2058
+ const parent = diagram.getNode(current.parentId);
2059
+ if (!parent)
2060
+ break;
2061
+ if (parent.isDraggable())
2062
+ return parent;
2063
+ current = parent;
2064
+ }
2065
+ return node;
2066
+ }
2067
+ setCursor(cursor) {
2068
+ var _a;
2069
+ if ((_a = this.container) === null || _a === void 0 ? void 0 : _a.style)
2070
+ this.container.style.cursor = cursor;
2071
+ }
2072
+ emitSelectionChange() {
2073
+ var _a;
2074
+ const diagram = (_a = this.engine()) === null || _a === void 0 ? void 0 : _a.getDiagram();
2075
+ if (!diagram)
2076
+ return;
2077
+ this.host.emit('selection:change', {
2078
+ nodes: diagram.getSelectedNodes(),
2079
+ edges: diagram.getLinks().filter((l) => l.state === 'selected'),
2080
+ });
2081
+ }
2082
+ emitNodesChange() {
2083
+ var _a;
2084
+ const diagram = (_a = this.engine()) === null || _a === void 0 ? void 0 : _a.getDiagram();
2085
+ if (diagram)
2086
+ this.host.emit('nodes:change', { nodes: diagram.getNodes() });
2087
+ }
2088
+ emitEdgesChange() {
2089
+ var _a;
2090
+ const diagram = (_a = this.engine()) === null || _a === void 0 ? void 0 : _a.getDiagram();
2091
+ if (diagram)
2092
+ this.host.emit('edges:change', { edges: diagram.getLinks() });
2093
+ }
2094
+ }
2095
+ exports.DomEventBinder = DomEventBinder;
2096
+ /** Is the event target a place where the user is typing? */
2097
+ function isTextEntryTarget(target) {
2098
+ const el = target;
2099
+ if (!el || typeof el.tagName !== 'string')
2100
+ return false;
2101
+ const tag = el.tagName.toUpperCase();
2102
+ return tag === 'INPUT' || tag === 'TEXTAREA' || tag === 'SELECT' || el.isContentEditable === true;
2103
+ }
2104
+ //# sourceMappingURL=dom-event-binder.js.map