@grafloria/element 0.3.18 → 0.3.20

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 (1148) hide show
  1. package/esm/src/index.js +295 -0
  2. package/esm/src/lib/dashboard-kit/dashboard.js +590 -0
  3. package/esm/src/lib/dashboard-kit/grid-binder.js +1633 -0
  4. package/esm/src/lib/dashboard-kit/grid-mapping.js +164 -0
  5. package/esm/src/lib/dashboard-kit/index.js +8 -0
  6. package/esm/src/lib/dashboard-kit/styles.js +205 -0
  7. package/esm/src/lib/dashboard-kit/widgets.js +379 -0
  8. package/esm/src/lib/diagram-kit/card.js +199 -0
  9. package/esm/src/lib/diagram-kit/editing.js +448 -0
  10. package/esm/src/lib/diagram-kit/er.js +160 -0
  11. package/esm/src/lib/diagram-kit/handles.js +312 -0
  12. package/esm/src/lib/diagram-kit/index.js +15 -0
  13. package/esm/src/lib/diagram-kit/join-guidance.js +322 -0
  14. package/esm/src/lib/diagram-kit/rows.js +144 -0
  15. package/esm/src/lib/diagram-kit/styles.js +118 -0
  16. package/esm/src/lib/diagram-kit/uml.js +135 -0
  17. package/esm/src/lib/diagram-kit/update.js +244 -0
  18. package/esm/src/lib/grafloria-flow-element.js +266 -0
  19. package/esm/src/lib/grafloria.js +69 -0
  20. package/esm/src/lib/load.js +252 -0
  21. package/esm/src/lib/node-type-registry.js +42 -0
  22. package/esm/src/lib/stencil-kit/builders.js +18 -0
  23. package/esm/src/lib/stencil-kit/card-builders.js +105 -0
  24. package/esm/src/lib/stencil-kit/index.js +9 -0
  25. package/esm/src/lib/stencil-kit/palette.js +427 -0
  26. package/esm/src/lib/stencil-kit/shape-data.js +537 -0
  27. package/esm/src/lib/stencil-kit/styles.js +126 -0
  28. package/package.json +13 -4
  29. package/src/index.d.ts +2 -1
  30. package/src/index.js +11 -2
  31. package/src/lib/dashboard-kit/grid-binder.js +16 -15
  32. package/src/lib/dashboard-kit/styles.js +9 -3
  33. package/src/lib/diagram-kit/index.d.ts +1 -0
  34. package/src/lib/diagram-kit/index.js +11 -1
  35. package/src/lib/diagram-kit/join-guidance.d.ts +116 -0
  36. package/src/lib/diagram-kit/join-guidance.js +331 -0
  37. package/src/lib/stencil-kit/palette.js +60 -6
  38. package/src/lib/stencil-kit/shape-data.d.ts +3 -2
  39. package/src/lib/stencil-kit/shape-data.js +323 -31
  40. package/src/lib/stencil-kit/styles.js +15 -0
  41. package/src/libs/element/src/index.d.ts +92 -0
  42. package/src/libs/element/src/index.js +576 -0
  43. package/src/libs/element/src/lib/dashboard-kit/dashboard.d.ts +345 -0
  44. package/src/libs/element/src/lib/dashboard-kit/dashboard.js +594 -0
  45. package/src/libs/element/src/lib/dashboard-kit/grid-binder.d.ts +277 -0
  46. package/src/libs/element/src/lib/dashboard-kit/grid-binder.js +1636 -0
  47. package/src/libs/element/src/lib/dashboard-kit/grid-mapping.d.ts +141 -0
  48. package/src/libs/element/src/lib/dashboard-kit/grid-mapping.js +176 -0
  49. package/src/libs/element/src/lib/dashboard-kit/index.d.ts +5 -0
  50. package/src/libs/element/src/lib/dashboard-kit/index.js +33 -0
  51. package/src/libs/element/src/lib/dashboard-kit/styles.d.ts +25 -0
  52. package/src/libs/element/src/lib/dashboard-kit/styles.js +209 -0
  53. package/src/libs/element/src/lib/dashboard-kit/widgets.d.ts +112 -0
  54. package/src/libs/element/src/lib/dashboard-kit/widgets.js +389 -0
  55. package/src/libs/element/src/lib/diagram-kit/card.d.ts +75 -0
  56. package/src/libs/element/src/lib/diagram-kit/card.js +209 -0
  57. package/src/libs/element/src/lib/diagram-kit/editing.d.ts +58 -0
  58. package/src/libs/element/src/lib/diagram-kit/editing.js +453 -0
  59. package/src/libs/element/src/lib/diagram-kit/er.d.ts +73 -0
  60. package/src/libs/element/src/lib/diagram-kit/er.js +163 -0
  61. package/src/libs/element/src/lib/diagram-kit/handles.d.ts +181 -0
  62. package/src/libs/element/src/lib/diagram-kit/handles.js +325 -0
  63. package/src/libs/element/src/lib/diagram-kit/index.d.ts +10 -0
  64. package/src/libs/element/src/lib/diagram-kit/index.js +55 -0
  65. package/src/libs/element/src/lib/diagram-kit/join-guidance.d.ts +116 -0
  66. package/src/libs/element/src/lib/diagram-kit/join-guidance.js +331 -0
  67. package/src/libs/element/src/lib/diagram-kit/rows.d.ts +53 -0
  68. package/src/libs/element/src/lib/diagram-kit/rows.js +147 -0
  69. package/src/libs/element/src/lib/diagram-kit/styles.d.ts +18 -0
  70. package/src/libs/element/src/lib/diagram-kit/styles.js +122 -0
  71. package/src/libs/element/src/lib/diagram-kit/uml.d.ts +59 -0
  72. package/src/libs/element/src/lib/diagram-kit/uml.js +138 -0
  73. package/src/libs/element/src/lib/diagram-kit/update.d.ts +133 -0
  74. package/src/libs/element/src/lib/diagram-kit/update.js +251 -0
  75. package/src/libs/element/src/lib/grafloria-flow-element.d.ts +48 -0
  76. package/src/libs/element/src/lib/grafloria-flow-element.js +271 -0
  77. package/src/libs/element/src/lib/grafloria.d.ts +72 -0
  78. package/src/libs/element/src/lib/grafloria.js +74 -0
  79. package/src/libs/element/src/lib/load.d.ts +72 -0
  80. package/src/libs/element/src/lib/load.js +255 -0
  81. package/src/libs/element/src/lib/node-type-registry.d.ts +39 -0
  82. package/src/libs/element/src/lib/node-type-registry.js +50 -0
  83. package/src/libs/element/src/lib/stencil-kit/builders.d.ts +45 -0
  84. package/src/libs/element/src/lib/stencil-kit/builders.js +24 -0
  85. package/src/libs/element/src/lib/stencil-kit/card-builders.d.ts +2 -0
  86. package/src/libs/element/src/lib/stencil-kit/card-builders.js +108 -0
  87. package/src/libs/element/src/lib/stencil-kit/index.d.ts +7 -0
  88. package/src/libs/element/src/lib/stencil-kit/index.js +19 -0
  89. package/src/libs/element/src/lib/stencil-kit/palette.d.ts +93 -0
  90. package/src/libs/element/src/lib/stencil-kit/palette.js +430 -0
  91. package/src/libs/element/src/lib/stencil-kit/shape-data.d.ts +28 -0
  92. package/src/libs/element/src/lib/stencil-kit/shape-data.js +540 -0
  93. package/src/libs/element/src/lib/stencil-kit/styles.d.ts +2 -0
  94. package/src/libs/element/src/lib/stencil-kit/styles.js +129 -0
  95. package/src/libs/engine/src/adapters/component-adapter.interface.d.ts +302 -0
  96. package/src/libs/engine/src/adapters/component-adapter.interface.js +84 -0
  97. package/src/libs/engine/src/adapters/index.d.ts +7 -0
  98. package/src/libs/engine/src/adapters/index.js +11 -0
  99. package/src/libs/engine/src/clipboard/ClipboardManager.d.ts +81 -0
  100. package/src/libs/engine/src/clipboard/ClipboardManager.js +108 -0
  101. package/src/libs/engine/src/clipboard/index.d.ts +1 -0
  102. package/src/libs/engine/src/clipboard/index.js +6 -0
  103. package/src/libs/engine/src/collab/apply-op.d.ts +42 -0
  104. package/src/libs/engine/src/collab/apply-op.js +939 -0
  105. package/src/libs/engine/src/collab/capture.d.ts +147 -0
  106. package/src/libs/engine/src/collab/capture.js +510 -0
  107. package/src/libs/engine/src/collab/index.d.ts +12 -0
  108. package/src/libs/engine/src/collab/index.js +84 -0
  109. package/src/libs/engine/src/collab/integrity.d.ts +178 -0
  110. package/src/libs/engine/src/collab/integrity.js +438 -0
  111. package/src/libs/engine/src/collab/lww.d.ts +47 -0
  112. package/src/libs/engine/src/collab/lww.js +188 -0
  113. package/src/libs/engine/src/collab/op-log.d.ts +50 -0
  114. package/src/libs/engine/src/collab/op-log.js +167 -0
  115. package/src/libs/engine/src/collab/op.d.ts +120 -0
  116. package/src/libs/engine/src/collab/op.js +118 -0
  117. package/src/libs/engine/src/collab/replica.d.ts +188 -0
  118. package/src/libs/engine/src/collab/replica.js +526 -0
  119. package/src/libs/engine/src/collab/undo.d.ts +106 -0
  120. package/src/libs/engine/src/collab/undo.js +388 -0
  121. package/src/libs/engine/src/commands/Command.d.ts +66 -0
  122. package/src/libs/engine/src/commands/Command.js +64 -0
  123. package/src/libs/engine/src/commands/CommandManager.d.ts +161 -0
  124. package/src/libs/engine/src/commands/CommandManager.js +417 -0
  125. package/src/libs/engine/src/commands/basic/AddGroupCommand.d.ts +13 -0
  126. package/src/libs/engine/src/commands/basic/AddGroupCommand.js +50 -0
  127. package/src/libs/engine/src/commands/basic/AddLinkCommand.d.ts +13 -0
  128. package/src/libs/engine/src/commands/basic/AddLinkCommand.js +50 -0
  129. package/src/libs/engine/src/commands/basic/AddNodeCommand.d.ts +13 -0
  130. package/src/libs/engine/src/commands/basic/AddNodeCommand.js +65 -0
  131. package/src/libs/engine/src/commands/basic/AddToGroupCommand.d.ts +12 -0
  132. package/src/libs/engine/src/commands/basic/AddToGroupCommand.js +73 -0
  133. package/src/libs/engine/src/commands/basic/AlignCommands.d.ts +42 -0
  134. package/src/libs/engine/src/commands/basic/AlignCommands.js +138 -0
  135. package/src/libs/engine/src/commands/basic/CollapseGroupCommand.d.ts +14 -0
  136. package/src/libs/engine/src/commands/basic/CollapseGroupCommand.js +70 -0
  137. package/src/libs/engine/src/commands/basic/CopyCommand.d.ts +29 -0
  138. package/src/libs/engine/src/commands/basic/CopyCommand.js +131 -0
  139. package/src/libs/engine/src/commands/basic/CutCommand.d.ts +49 -0
  140. package/src/libs/engine/src/commands/basic/CutCommand.js +68 -0
  141. package/src/libs/engine/src/commands/basic/DeleteSelectionCommand.d.ts +58 -0
  142. package/src/libs/engine/src/commands/basic/DeleteSelectionCommand.js +309 -0
  143. package/src/libs/engine/src/commands/basic/DuplicateCommand.d.ts +31 -0
  144. package/src/libs/engine/src/commands/basic/DuplicateCommand.js +232 -0
  145. package/src/libs/engine/src/commands/basic/ExpandGroupCommand.d.ts +12 -0
  146. package/src/libs/engine/src/commands/basic/ExpandGroupCommand.js +69 -0
  147. package/src/libs/engine/src/commands/basic/MoveGroupCommand.d.ts +46 -0
  148. package/src/libs/engine/src/commands/basic/MoveGroupCommand.js +77 -0
  149. package/src/libs/engine/src/commands/basic/MoveNodeCommand.d.ts +30 -0
  150. package/src/libs/engine/src/commands/basic/MoveNodeCommand.js +87 -0
  151. package/src/libs/engine/src/commands/basic/NodeZOrderCommands.d.ts +39 -0
  152. package/src/libs/engine/src/commands/basic/NodeZOrderCommands.js +120 -0
  153. package/src/libs/engine/src/commands/basic/PasteCommand.d.ts +33 -0
  154. package/src/libs/engine/src/commands/basic/PasteCommand.js +228 -0
  155. package/src/libs/engine/src/commands/basic/PortCommands.d.ts +22 -0
  156. package/src/libs/engine/src/commands/basic/PortCommands.js +85 -0
  157. package/src/libs/engine/src/commands/basic/ReconnectLinkCommand.d.ts +15 -0
  158. package/src/libs/engine/src/commands/basic/ReconnectLinkCommand.js +59 -0
  159. package/src/libs/engine/src/commands/basic/RemoveFromGroupCommand.d.ts +12 -0
  160. package/src/libs/engine/src/commands/basic/RemoveFromGroupCommand.js +64 -0
  161. package/src/libs/engine/src/commands/basic/RemoveGroupCommand.d.ts +12 -0
  162. package/src/libs/engine/src/commands/basic/RemoveGroupCommand.js +56 -0
  163. package/src/libs/engine/src/commands/basic/RemoveLinkCommand.d.ts +12 -0
  164. package/src/libs/engine/src/commands/basic/RemoveLinkCommand.js +57 -0
  165. package/src/libs/engine/src/commands/basic/RemoveNodeCommand.d.ts +23 -0
  166. package/src/libs/engine/src/commands/basic/RemoveNodeCommand.js +108 -0
  167. package/src/libs/engine/src/commands/basic/ResizeNodeCommand.d.ts +16 -0
  168. package/src/libs/engine/src/commands/basic/ResizeNodeCommand.js +81 -0
  169. package/src/libs/engine/src/commands/basic/RotateNodeCommand.d.ts +37 -0
  170. package/src/libs/engine/src/commands/basic/RotateNodeCommand.js +88 -0
  171. package/src/libs/engine/src/commands/basic/SetFlexItemCommand.d.ts +14 -0
  172. package/src/libs/engine/src/commands/basic/SetFlexItemCommand.js +74 -0
  173. package/src/libs/engine/src/commands/basic/SetGridItemCommand.d.ts +14 -0
  174. package/src/libs/engine/src/commands/basic/SetGridItemCommand.js +74 -0
  175. package/src/libs/engine/src/commands/basic/SetLayoutCommand.d.ts +16 -0
  176. package/src/libs/engine/src/commands/basic/SetLayoutCommand.js +80 -0
  177. package/src/libs/engine/src/commands/basic/SetLinkDisplayLabelCommand.d.ts +28 -0
  178. package/src/libs/engine/src/commands/basic/SetLinkDisplayLabelCommand.js +83 -0
  179. package/src/libs/engine/src/commands/basic/SetLinkLabelCommand.d.ts +24 -0
  180. package/src/libs/engine/src/commands/basic/SetLinkLabelCommand.js +81 -0
  181. package/src/libs/engine/src/commands/basic/SetLinkLabelsCommand.d.ts +14 -0
  182. package/src/libs/engine/src/commands/basic/SetLinkLabelsCommand.js +75 -0
  183. package/src/libs/engine/src/commands/basic/SetLinkPathTypeCommand.d.ts +14 -0
  184. package/src/libs/engine/src/commands/basic/SetLinkPathTypeCommand.js +77 -0
  185. package/src/libs/engine/src/commands/basic/SetLinkPointsCommand.d.ts +32 -0
  186. package/src/libs/engine/src/commands/basic/SetLinkPointsCommand.js +87 -0
  187. package/src/libs/engine/src/commands/basic/SetNodeDataCommand.d.ts +14 -0
  188. package/src/libs/engine/src/commands/basic/SetNodeDataCommand.js +93 -0
  189. package/src/libs/engine/src/commands/basic/SetNodeLabelCommand.d.ts +26 -0
  190. package/src/libs/engine/src/commands/basic/SetNodeLabelCommand.js +81 -0
  191. package/src/libs/engine/src/commands/basic/SetNodeShapeConfigCommand.d.ts +14 -0
  192. package/src/libs/engine/src/commands/basic/SetNodeShapeConfigCommand.js +69 -0
  193. package/src/libs/engine/src/commands/basic/SetNodeStyleCommand.d.ts +15 -0
  194. package/src/libs/engine/src/commands/basic/SetNodeStyleCommand.js +88 -0
  195. package/src/libs/engine/src/commands/basic/SetParentCommand.d.ts +13 -0
  196. package/src/libs/engine/src/commands/basic/SetParentCommand.js +109 -0
  197. package/src/libs/engine/src/commands/basic/SetStrokePointsCommand.d.ts +34 -0
  198. package/src/libs/engine/src/commands/basic/SetStrokePointsCommand.js +86 -0
  199. package/src/libs/engine/src/commands/basic/StrokeLifecycleCommands.d.ts +31 -0
  200. package/src/libs/engine/src/commands/basic/StrokeLifecycleCommands.js +88 -0
  201. package/src/libs/engine/src/commands/basic/UpdateLinkStyleCommand.d.ts +15 -0
  202. package/src/libs/engine/src/commands/basic/UpdateLinkStyleCommand.js +72 -0
  203. package/src/libs/engine/src/commands/basic/index.d.ts +41 -0
  204. package/src/libs/engine/src/commands/basic/index.js +52 -0
  205. package/src/libs/engine/src/commands/basic/remapNodePortIds.d.ts +23 -0
  206. package/src/libs/engine/src/commands/basic/remapNodePortIds.js +46 -0
  207. package/src/libs/engine/src/commands/basic/resolveLinkNodeIds.d.ts +31 -0
  208. package/src/libs/engine/src/commands/basic/resolveLinkNodeIds.js +49 -0
  209. package/src/libs/engine/src/commands/composite/BatchCommand.d.ts +19 -0
  210. package/src/libs/engine/src/commands/composite/BatchCommand.js +61 -0
  211. package/src/libs/engine/src/commands/composite/MacroCommand.d.ts +35 -0
  212. package/src/libs/engine/src/commands/composite/MacroCommand.js +87 -0
  213. package/src/libs/engine/src/commands/composite/index.d.ts +2 -0
  214. package/src/libs/engine/src/commands/composite/index.js +7 -0
  215. package/src/libs/engine/src/commands/index.d.ts +4 -0
  216. package/src/libs/engine/src/commands/index.js +9 -0
  217. package/src/libs/engine/src/comments/comment-store.d.ts +238 -0
  218. package/src/libs/engine/src/comments/comment-store.js +538 -0
  219. package/src/libs/engine/src/comments/index.d.ts +4 -0
  220. package/src/libs/engine/src/comments/index.js +31 -0
  221. package/src/libs/engine/src/comments/mentions.d.ts +52 -0
  222. package/src/libs/engine/src/comments/mentions.js +94 -0
  223. package/src/libs/engine/src/comments/read-state.d.ts +37 -0
  224. package/src/libs/engine/src/comments/read-state.js +105 -0
  225. package/src/libs/engine/src/comments/types.d.ts +154 -0
  226. package/src/libs/engine/src/comments/types.js +107 -0
  227. package/src/libs/engine/src/config/InteractionConfig.d.ts +330 -0
  228. package/src/libs/engine/src/config/InteractionConfig.js +154 -0
  229. package/src/libs/engine/src/config/index.d.ts +1 -0
  230. package/src/libs/engine/src/config/index.js +6 -0
  231. package/src/libs/engine/src/dsl/DSL.d.ts +197 -0
  232. package/src/libs/engine/src/dsl/DSL.js +564 -0
  233. package/src/libs/engine/src/dsl/advanced/StyleParser.d.ts +75 -0
  234. package/src/libs/engine/src/dsl/advanced/StyleParser.js +166 -0
  235. package/src/libs/engine/src/dsl/advanced/TemplateParser.d.ts +88 -0
  236. package/src/libs/engine/src/dsl/advanced/TemplateParser.js +226 -0
  237. package/src/libs/engine/src/dsl/advanced/index.d.ts +9 -0
  238. package/src/libs/engine/src/dsl/advanced/index.js +13 -0
  239. package/src/libs/engine/src/dsl/detector/LayoutDetector.d.ts +80 -0
  240. package/src/libs/engine/src/dsl/detector/LayoutDetector.js +333 -0
  241. package/src/libs/engine/src/dsl/extended/BPMNGenerator.d.ts +38 -0
  242. package/src/libs/engine/src/dsl/extended/BPMNGenerator.js +90 -0
  243. package/src/libs/engine/src/dsl/extended/BPMNParser.d.ts +83 -0
  244. package/src/libs/engine/src/dsl/extended/BPMNParser.js +198 -0
  245. package/src/libs/engine/src/dsl/extended/ERDGenerator.d.ts +38 -0
  246. package/src/libs/engine/src/dsl/extended/ERDGenerator.js +126 -0
  247. package/src/libs/engine/src/dsl/extended/ERDParser.d.ts +81 -0
  248. package/src/libs/engine/src/dsl/extended/ERDParser.js +161 -0
  249. package/src/libs/engine/src/dsl/extended/ERDTransformer.d.ts +43 -0
  250. package/src/libs/engine/src/dsl/extended/ERDTransformer.js +105 -0
  251. package/src/libs/engine/src/dsl/extended/UMLGenerator.d.ts +42 -0
  252. package/src/libs/engine/src/dsl/extended/UMLGenerator.js +157 -0
  253. package/src/libs/engine/src/dsl/extended/UMLParser.d.ts +99 -0
  254. package/src/libs/engine/src/dsl/extended/UMLParser.js +200 -0
  255. package/src/libs/engine/src/dsl/extended/index.d.ts +13 -0
  256. package/src/libs/engine/src/dsl/extended/index.js +27 -0
  257. package/src/libs/engine/src/dsl/generator/DSLFormatter.d.ts +87 -0
  258. package/src/libs/engine/src/dsl/generator/DSLFormatter.js +261 -0
  259. package/src/libs/engine/src/dsl/generator/DSLGenerator.d.ts +96 -0
  260. package/src/libs/engine/src/dsl/generator/DSLGenerator.js +328 -0
  261. package/src/libs/engine/src/dsl/generator/DiagramAnalyzer.d.ts +111 -0
  262. package/src/libs/engine/src/dsl/generator/DiagramAnalyzer.js +361 -0
  263. package/src/libs/engine/src/dsl/index.d.ts +35 -0
  264. package/src/libs/engine/src/dsl/index.js +64 -0
  265. package/src/libs/engine/src/dsl/lexer/Lexer.d.ts +117 -0
  266. package/src/libs/engine/src/dsl/lexer/Lexer.js +521 -0
  267. package/src/libs/engine/src/dsl/mermaid/MermaidClass.d.ts +136 -0
  268. package/src/libs/engine/src/dsl/mermaid/MermaidClass.js +429 -0
  269. package/src/libs/engine/src/dsl/mermaid/MermaidER.d.ts +118 -0
  270. package/src/libs/engine/src/dsl/mermaid/MermaidER.js +338 -0
  271. package/src/libs/engine/src/dsl/mermaid/MermaidState.d.ts +89 -0
  272. package/src/libs/engine/src/dsl/mermaid/MermaidState.js +613 -0
  273. package/src/libs/engine/src/dsl/mermaid/index.d.ts +10 -0
  274. package/src/libs/engine/src/dsl/mermaid/index.js +33 -0
  275. package/src/libs/engine/src/dsl/mermaid/layout.d.ts +70 -0
  276. package/src/libs/engine/src/dsl/mermaid/layout.js +162 -0
  277. package/src/libs/engine/src/dsl/mermaid/lines.d.ts +25 -0
  278. package/src/libs/engine/src/dsl/mermaid/lines.js +74 -0
  279. package/src/libs/engine/src/dsl/parser/Parser.d.ts +131 -0
  280. package/src/libs/engine/src/dsl/parser/Parser.js +725 -0
  281. package/src/libs/engine/src/dsl/sync/BidirectionalSync.d.ts +154 -0
  282. package/src/libs/engine/src/dsl/sync/BidirectionalSync.js +389 -0
  283. package/src/libs/engine/src/dsl/sync/IntegratedSyncManager.d.ts +128 -0
  284. package/src/libs/engine/src/dsl/sync/IntegratedSyncManager.js +244 -0
  285. package/src/libs/engine/src/dsl/sync/LayoutApplicator.d.ts +140 -0
  286. package/src/libs/engine/src/dsl/sync/LayoutApplicator.js +271 -0
  287. package/src/libs/engine/src/dsl/sync/SyncStateManager.d.ts +145 -0
  288. package/src/libs/engine/src/dsl/sync/SyncStateManager.js +253 -0
  289. package/src/libs/engine/src/dsl/sync/index.d.ts +13 -0
  290. package/src/libs/engine/src/dsl/sync/index.js +21 -0
  291. package/src/libs/engine/src/dsl/transformer/ASTTransformer.d.ts +150 -0
  292. package/src/libs/engine/src/dsl/transformer/ASTTransformer.js +605 -0
  293. package/src/libs/engine/src/dsl/types/ASTNode.d.ts +159 -0
  294. package/src/libs/engine/src/dsl/types/ASTNode.js +31 -0
  295. package/src/libs/engine/src/dsl/types/Token.d.ts +79 -0
  296. package/src/libs/engine/src/dsl/types/Token.js +84 -0
  297. package/src/libs/engine/src/engine/DiagramEngine.d.ts +917 -0
  298. package/src/libs/engine/src/engine/DiagramEngine.js +2190 -0
  299. package/src/libs/engine/src/engine/DiagramMode.d.ts +51 -0
  300. package/src/libs/engine/src/engine/DiagramMode.js +53 -0
  301. package/src/libs/engine/src/engine/DiagramModeTypes.d.ts +73 -0
  302. package/src/libs/engine/src/engine/DiagramModeTypes.js +4 -0
  303. package/src/libs/engine/src/engine/ModeManager.d.ts +155 -0
  304. package/src/libs/engine/src/engine/ModeManager.js +387 -0
  305. package/src/libs/engine/src/engine/index.d.ts +2 -0
  306. package/src/libs/engine/src/engine/index.js +7 -0
  307. package/src/libs/engine/src/events/EventBus.d.ts +106 -0
  308. package/src/libs/engine/src/events/EventBus.js +226 -0
  309. package/src/libs/engine/src/events/index.d.ts +1 -0
  310. package/src/libs/engine/src/events/index.js +6 -0
  311. package/src/libs/engine/src/index.d.ts +43 -0
  312. package/src/libs/engine/src/index.js +142 -0
  313. package/src/libs/engine/src/interaction/GroupCollapseService.d.ts +53 -0
  314. package/src/libs/engine/src/interaction/GroupCollapseService.js +274 -0
  315. package/src/libs/engine/src/interaction/GroupMembershipService.d.ts +107 -0
  316. package/src/libs/engine/src/interaction/GroupMembershipService.js +245 -0
  317. package/src/libs/engine/src/interaction/SemanticMembershipService.d.ts +28 -0
  318. package/src/libs/engine/src/interaction/SemanticMembershipService.js +168 -0
  319. package/src/libs/engine/src/interaction/SwimlaneService.d.ts +62 -0
  320. package/src/libs/engine/src/interaction/SwimlaneService.js +180 -0
  321. package/src/libs/engine/src/interaction/index.d.ts +4 -0
  322. package/src/libs/engine/src/interaction/index.js +9 -0
  323. package/src/libs/engine/src/interop/drawio/importDrawio.d.ts +52 -0
  324. package/src/libs/engine/src/interop/drawio/importDrawio.js +940 -0
  325. package/src/libs/engine/src/interop/drawio/index.d.ts +1 -0
  326. package/src/libs/engine/src/interop/drawio/index.js +12 -0
  327. package/src/libs/engine/src/interop/drawio/xml.d.ts +26 -0
  328. package/src/libs/engine/src/interop/drawio/xml.js +213 -0
  329. package/src/libs/engine/src/layout/CompoundLayoutService.d.ts +121 -0
  330. package/src/libs/engine/src/layout/CompoundLayoutService.js +616 -0
  331. package/src/libs/engine/src/layout/ILayoutAlgorithm.d.ts +120 -0
  332. package/src/libs/engine/src/layout/ILayoutAlgorithm.js +88 -0
  333. package/src/libs/engine/src/layout/LayoutManager.d.ts +155 -0
  334. package/src/libs/engine/src/layout/LayoutManager.js +640 -0
  335. package/src/libs/engine/src/layout/SmartSpacingCalculator.d.ts +62 -0
  336. package/src/libs/engine/src/layout/SmartSpacingCalculator.js +134 -0
  337. package/src/libs/engine/src/layout/ViewportTransform.d.ts +55 -0
  338. package/src/libs/engine/src/layout/ViewportTransform.js +118 -0
  339. package/src/libs/engine/src/layout/algorithms/ForceDirectedLayoutAlgorithm.d.ts +34 -0
  340. package/src/libs/engine/src/layout/algorithms/ForceDirectedLayoutAlgorithm.js +317 -0
  341. package/src/libs/engine/src/layout/algorithms/GridLayoutAlgorithm.d.ts +56 -0
  342. package/src/libs/engine/src/layout/algorithms/GridLayoutAlgorithm.js +223 -0
  343. package/src/libs/engine/src/layout/algorithms/HierarchicalLayoutAlgorithm.d.ts +60 -0
  344. package/src/libs/engine/src/layout/algorithms/HierarchicalLayoutAlgorithm.js +307 -0
  345. package/src/libs/engine/src/layout/algorithms/HybridLayoutAlgorithm.d.ts +62 -0
  346. package/src/libs/engine/src/layout/algorithms/HybridLayoutAlgorithm.js +324 -0
  347. package/src/libs/engine/src/layout/community-layout-adapter.d.ts +107 -0
  348. package/src/libs/engine/src/layout/community-layout-adapter.js +486 -0
  349. package/src/libs/engine/src/layout/component-packing.d.ts +98 -0
  350. package/src/libs/engine/src/layout/component-packing.js +307 -0
  351. package/src/libs/engine/src/layout/dagre-layout-adapter.d.ts +122 -0
  352. package/src/libs/engine/src/layout/dagre-layout-adapter.js +697 -0
  353. package/src/libs/engine/src/layout/edge-bundling.interface.d.ts +159 -0
  354. package/src/libs/engine/src/layout/edge-bundling.interface.js +379 -0
  355. package/src/libs/engine/src/layout/elk-layout-adapter.d.ts +121 -0
  356. package/src/libs/engine/src/layout/elk-layout-adapter.js +586 -0
  357. package/src/libs/engine/src/layout/elk-loader.d.ts +1 -0
  358. package/src/libs/engine/src/layout/elk-loader.js +24 -0
  359. package/src/libs/engine/src/layout/force-layout-adapter.d.ts +167 -0
  360. package/src/libs/engine/src/layout/force-layout-adapter.js +790 -0
  361. package/src/libs/engine/src/layout/grid-pack/grid-pack-engine.d.ts +323 -0
  362. package/src/libs/engine/src/layout/grid-pack/grid-pack-engine.js +685 -0
  363. package/src/libs/engine/src/layout/incremental/mental-map.d.ts +98 -0
  364. package/src/libs/engine/src/layout/incremental/mental-map.js +221 -0
  365. package/src/libs/engine/src/layout/incremental-layout.interface.d.ts +145 -0
  366. package/src/libs/engine/src/layout/incremental-layout.interface.js +300 -0
  367. package/src/libs/engine/src/layout/index.d.ts +83 -0
  368. package/src/libs/engine/src/layout/index.js +116 -0
  369. package/src/libs/engine/src/layout/layout-adapter.interface.d.ts +185 -0
  370. package/src/libs/engine/src/layout/layout-adapter.interface.js +10 -0
  371. package/src/libs/engine/src/layout/layout-auto-select.d.ts +160 -0
  372. package/src/libs/engine/src/layout/layout-auto-select.js +621 -0
  373. package/src/libs/engine/src/layout/layout-constraints.interface.d.ts +117 -0
  374. package/src/libs/engine/src/layout/layout-constraints.interface.js +138 -0
  375. package/src/libs/engine/src/layout/layout-graph.d.ts +70 -0
  376. package/src/libs/engine/src/layout/layout-graph.js +119 -0
  377. package/src/libs/engine/src/layout/layout-history.d.ts +147 -0
  378. package/src/libs/engine/src/layout/layout-history.js +258 -0
  379. package/src/libs/engine/src/layout/layout-host.d.ts +172 -0
  380. package/src/libs/engine/src/layout/layout-host.js +523 -0
  381. package/src/libs/engine/src/layout/layout-presets.d.ts +91 -0
  382. package/src/libs/engine/src/layout/layout-presets.js +333 -0
  383. package/src/libs/engine/src/layout/layout-quality-extended.d.ts +66 -0
  384. package/src/libs/engine/src/layout/layout-quality-extended.js +246 -0
  385. package/src/libs/engine/src/layout/layout-quality-metrics.d.ts +127 -0
  386. package/src/libs/engine/src/layout/layout-quality-metrics.js +466 -0
  387. package/src/libs/engine/src/layout/layout-registry.d.ts +309 -0
  388. package/src/libs/engine/src/layout/layout-registry.js +414 -0
  389. package/src/libs/engine/src/layout/layout.service.d.ts +100 -0
  390. package/src/libs/engine/src/layout/layout.service.js +216 -0
  391. package/src/libs/engine/src/layout/overlap-removal.d.ts +20 -0
  392. package/src/libs/engine/src/layout/overlap-removal.js +117 -0
  393. package/src/libs/engine/src/layout/port-aware-layout.interface.d.ts +232 -0
  394. package/src/libs/engine/src/layout/port-aware-layout.interface.js +413 -0
  395. package/src/libs/engine/src/layout/port-label-bridge.d.ts +77 -0
  396. package/src/libs/engine/src/layout/port-label-bridge.js +250 -0
  397. package/src/libs/engine/src/layout/portfolio-layouts.d.ts +53 -0
  398. package/src/libs/engine/src/layout/portfolio-layouts.js +388 -0
  399. package/src/libs/engine/src/layout/rng.d.ts +34 -0
  400. package/src/libs/engine/src/layout/rng.js +71 -0
  401. package/src/libs/engine/src/layout/spectral-layout-adapter.d.ts +72 -0
  402. package/src/libs/engine/src/layout/spectral-layout-adapter.js +379 -0
  403. package/src/libs/engine/src/layout/steppable-layout.d.ts +40 -0
  404. package/src/libs/engine/src/layout/steppable-layout.js +34 -0
  405. package/src/libs/engine/src/layout/subgraph-layout.interface.d.ts +269 -0
  406. package/src/libs/engine/src/layout/subgraph-layout.interface.js +452 -0
  407. package/src/libs/engine/src/layout/sugiyama/layered-layout.d.ts +9 -0
  408. package/src/libs/engine/src/layout/sugiyama/layered-layout.js +83 -0
  409. package/src/libs/engine/src/layout/sugiyama/sugiyama.d.ts +91 -0
  410. package/src/libs/engine/src/layout/sugiyama/sugiyama.js +797 -0
  411. package/src/libs/engine/src/layout/tree-layout.d.ts +43 -0
  412. package/src/libs/engine/src/layout/tree-layout.js +426 -0
  413. package/src/libs/engine/src/layout/types.d.ts +263 -0
  414. package/src/libs/engine/src/layout/types.js +6 -0
  415. package/src/libs/engine/src/lib/performance/mobile-performance.service.d.ts +43 -0
  416. package/src/libs/engine/src/lib/performance/mobile-performance.service.js +95 -0
  417. package/src/libs/engine/src/models/DiagramEntity.d.ts +174 -0
  418. package/src/libs/engine/src/models/DiagramEntity.js +366 -0
  419. package/src/libs/engine/src/models/DiagramModel.d.ts +960 -0
  420. package/src/libs/engine/src/models/DiagramModel.js +2416 -0
  421. package/src/libs/engine/src/models/GroupModel.d.ts +573 -0
  422. package/src/libs/engine/src/models/GroupModel.js +1373 -0
  423. package/src/libs/engine/src/models/LinkModel.d.ts +395 -0
  424. package/src/libs/engine/src/models/LinkModel.js +1045 -0
  425. package/src/libs/engine/src/models/NodeModel.d.ts +666 -0
  426. package/src/libs/engine/src/models/NodeModel.js +1512 -0
  427. package/src/libs/engine/src/models/PortModel.d.ts +292 -0
  428. package/src/libs/engine/src/models/PortModel.js +637 -0
  429. package/src/libs/engine/src/models/StrokeModel.d.ts +160 -0
  430. package/src/libs/engine/src/models/StrokeModel.js +387 -0
  431. package/src/libs/engine/src/models/index.d.ts +7 -0
  432. package/src/libs/engine/src/models/index.js +12 -0
  433. package/src/libs/engine/src/models/readonly-lock.d.ts +108 -0
  434. package/src/libs/engine/src/models/readonly-lock.js +125 -0
  435. package/src/libs/engine/src/performance/LRUCache.d.ts +78 -0
  436. package/src/libs/engine/src/performance/LRUCache.js +179 -0
  437. package/src/libs/engine/src/performance/PerformanceMonitor.d.ts +47 -0
  438. package/src/libs/engine/src/performance/PerformanceMonitor.js +112 -0
  439. package/src/libs/engine/src/performance/SpatialIndex.d.ts +157 -0
  440. package/src/libs/engine/src/performance/SpatialIndex.js +306 -0
  441. package/src/libs/engine/src/performance/index.d.ts +2 -0
  442. package/src/libs/engine/src/performance/index.js +7 -0
  443. package/src/libs/engine/src/plugins/PluginManager.d.ts +95 -0
  444. package/src/libs/engine/src/plugins/PluginManager.js +388 -0
  445. package/src/libs/engine/src/plugins/index.d.ts +1 -0
  446. package/src/libs/engine/src/plugins/index.js +6 -0
  447. package/src/libs/engine/src/ports/connection-rules.d.ts +32 -0
  448. package/src/libs/engine/src/ports/connection-rules.js +131 -0
  449. package/src/libs/engine/src/ports/dynamic-ports.d.ts +27 -0
  450. package/src/libs/engine/src/ports/dynamic-ports.js +135 -0
  451. package/src/libs/engine/src/ports/index.d.ts +5 -0
  452. package/src/libs/engine/src/ports/index.js +16 -0
  453. package/src/libs/engine/src/ports/port-groups.d.ts +43 -0
  454. package/src/libs/engine/src/ports/port-groups.js +185 -0
  455. package/src/libs/engine/src/ports/port-type-registry.d.ts +34 -0
  456. package/src/libs/engine/src/ports/port-type-registry.js +87 -0
  457. package/src/libs/engine/src/ports/port-types.d.ts +266 -0
  458. package/src/libs/engine/src/ports/port-types.js +30 -0
  459. package/src/libs/engine/src/rendering/HtmlTemplateRenderer.d.ts +136 -0
  460. package/src/libs/engine/src/rendering/HtmlTemplateRenderer.js +292 -0
  461. package/src/libs/engine/src/rendering/LemonadeJSRenderer.d.ts +160 -0
  462. package/src/libs/engine/src/rendering/LemonadeJSRenderer.js +362 -0
  463. package/src/libs/engine/src/rendering/index.d.ts +2 -0
  464. package/src/libs/engine/src/rendering/index.js +7 -0
  465. package/src/libs/engine/src/routing/LiveReroutingEngine.d.ts +75 -0
  466. package/src/libs/engine/src/routing/LiveReroutingEngine.js +173 -0
  467. package/src/libs/engine/src/routing/ObstacleIndex.d.ts +42 -0
  468. package/src/libs/engine/src/routing/ObstacleIndex.js +215 -0
  469. package/src/libs/engine/src/routing/ObstacleMap.d.ts +68 -0
  470. package/src/libs/engine/src/routing/ObstacleMap.js +312 -0
  471. package/src/libs/engine/src/routing/ObstacleMapBuilder.d.ts +28 -0
  472. package/src/libs/engine/src/routing/ObstacleMapBuilder.js +76 -0
  473. package/src/libs/engine/src/routing/PathSimplifier.d.ts +119 -0
  474. package/src/libs/engine/src/routing/PathSimplifier.js +224 -0
  475. package/src/libs/engine/src/routing/RoutingEngine.d.ts +118 -0
  476. package/src/libs/engine/src/routing/RoutingEngine.js +546 -0
  477. package/src/libs/engine/src/routing/algorithms/AStarRouter.d.ts +90 -0
  478. package/src/libs/engine/src/routing/algorithms/AStarRouter.js +331 -0
  479. package/src/libs/engine/src/routing/algorithms/DijkstraRouter.d.ts +74 -0
  480. package/src/libs/engine/src/routing/algorithms/DijkstraRouter.js +297 -0
  481. package/src/libs/engine/src/routing/algorithms/ElkRouter.d.ts +34 -0
  482. package/src/libs/engine/src/routing/algorithms/ElkRouter.js +210 -0
  483. package/src/libs/engine/src/routing/algorithms/ManhattanRouter.d.ts +18 -0
  484. package/src/libs/engine/src/routing/algorithms/ManhattanRouter.js +224 -0
  485. package/src/libs/engine/src/routing/algorithms/OrthogonalRouter.d.ts +173 -0
  486. package/src/libs/engine/src/routing/algorithms/OrthogonalRouter.js +1092 -0
  487. package/src/libs/engine/src/routing/algorithms/StraightRouter.d.ts +8 -0
  488. package/src/libs/engine/src/routing/algorithms/StraightRouter.js +53 -0
  489. package/src/libs/engine/src/routing/algorithms/VisibilityGraphRouter.d.ts +59 -0
  490. package/src/libs/engine/src/routing/algorithms/VisibilityGraphRouter.js +258 -0
  491. package/src/libs/engine/src/routing/global/GlobalRouteSolver.d.ts +64 -0
  492. package/src/libs/engine/src/routing/global/GlobalRouteSolver.js +334 -0
  493. package/src/libs/engine/src/routing/global/solver-host.d.ts +65 -0
  494. package/src/libs/engine/src/routing/global/solver-host.js +87 -0
  495. package/src/libs/engine/src/routing/index.d.ts +15 -0
  496. package/src/libs/engine/src/routing/index.js +20 -0
  497. package/src/libs/engine/src/routing/types.d.ts +161 -0
  498. package/src/libs/engine/src/routing/types.js +4 -0
  499. package/src/libs/engine/src/selection/SelectionManager.d.ts +161 -0
  500. package/src/libs/engine/src/selection/SelectionManager.js +483 -0
  501. package/src/libs/engine/src/selection/index.d.ts +1 -0
  502. package/src/libs/engine/src/selection/index.js +6 -0
  503. package/src/libs/engine/src/serialization/DiagramMigrations.d.ts +41 -0
  504. package/src/libs/engine/src/serialization/DiagramMigrations.js +124 -0
  505. package/src/libs/engine/src/serialization/DiagramValidator.d.ts +20 -0
  506. package/src/libs/engine/src/serialization/DiagramValidator.js +136 -0
  507. package/src/libs/engine/src/serialization/DocumentEnvelope.d.ts +53 -0
  508. package/src/libs/engine/src/serialization/DocumentEnvelope.js +111 -0
  509. package/src/libs/engine/src/serialization/Incremental.d.ts +77 -0
  510. package/src/libs/engine/src/serialization/Incremental.js +227 -0
  511. package/src/libs/engine/src/serialization/Serializer.d.ts +29 -0
  512. package/src/libs/engine/src/serialization/Serializer.js +45 -0
  513. package/src/libs/engine/src/serialization/Subgraph.d.ts +51 -0
  514. package/src/libs/engine/src/serialization/Subgraph.js +172 -0
  515. package/src/libs/engine/src/serialization/TextFormat.d.ts +71 -0
  516. package/src/libs/engine/src/serialization/TextFormat.js +261 -0
  517. package/src/libs/engine/src/state/ConnectionStateManager.d.ts +178 -0
  518. package/src/libs/engine/src/state/ConnectionStateManager.js +319 -0
  519. package/src/libs/engine/src/state/DiagramStore.d.ts +134 -0
  520. package/src/libs/engine/src/state/DiagramStore.js +372 -0
  521. package/src/libs/engine/src/state/index.d.ts +2 -0
  522. package/src/libs/engine/src/state/index.js +7 -0
  523. package/src/libs/engine/src/sync/awareness.d.ts +91 -0
  524. package/src/libs/engine/src/sync/awareness.js +221 -0
  525. package/src/libs/engine/src/sync/batcher.d.ts +84 -0
  526. package/src/libs/engine/src/sync/batcher.js +0 -0
  527. package/src/libs/engine/src/sync/causal-buffer.d.ts +81 -0
  528. package/src/libs/engine/src/sync/causal-buffer.js +199 -0
  529. package/src/libs/engine/src/sync/index.d.ts +20 -0
  530. package/src/libs/engine/src/sync/index.js +41 -0
  531. package/src/libs/engine/src/sync/protocol.d.ts +74 -0
  532. package/src/libs/engine/src/sync/protocol.js +39 -0
  533. package/src/libs/engine/src/sync/sync-adapter.d.ts +243 -0
  534. package/src/libs/engine/src/sync/sync-adapter.js +524 -0
  535. package/src/libs/engine/src/sync/transport.d.ts +30 -0
  536. package/src/libs/engine/src/sync/transport.js +28 -0
  537. package/src/libs/engine/src/sync/transports/broadcast-channel.d.ts +39 -0
  538. package/src/libs/engine/src/sync/transports/broadcast-channel.js +117 -0
  539. package/src/libs/engine/src/sync/transports/memory.d.ts +38 -0
  540. package/src/libs/engine/src/sync/transports/memory.js +111 -0
  541. package/src/libs/engine/src/sync/transports/unreliable.d.ts +59 -0
  542. package/src/libs/engine/src/sync/transports/unreliable.js +153 -0
  543. package/src/libs/engine/src/sync/transports/websocket.d.ts +60 -0
  544. package/src/libs/engine/src/sync/transports/websocket.js +210 -0
  545. package/src/libs/engine/src/sync/version-vector.d.ts +47 -0
  546. package/src/libs/engine/src/sync/version-vector.js +218 -0
  547. package/src/libs/engine/src/template-library/common-templates.d.ts +46 -0
  548. package/src/libs/engine/src/template-library/common-templates.js +395 -0
  549. package/src/libs/engine/src/template-library/data-viz-templates.d.ts +52 -0
  550. package/src/libs/engine/src/template-library/data-viz-templates.js +471 -0
  551. package/src/libs/engine/src/template-library/erd-templates.d.ts +71 -0
  552. package/src/libs/engine/src/template-library/erd-templates.js +773 -0
  553. package/src/libs/engine/src/template-library/index.d.ts +141 -0
  554. package/src/libs/engine/src/template-library/index.js +271 -0
  555. package/src/libs/engine/src/template-library/integration.d.ts +80 -0
  556. package/src/libs/engine/src/template-library/integration.js +141 -0
  557. package/src/libs/engine/src/template-library/workflow-templates.d.ts +52 -0
  558. package/src/libs/engine/src/template-library/workflow-templates.js +438 -0
  559. package/src/libs/engine/src/templates/NodeFactory.d.ts +118 -0
  560. package/src/libs/engine/src/templates/NodeFactory.js +436 -0
  561. package/src/libs/engine/src/templates/NodeTemplate.d.ts +342 -0
  562. package/src/libs/engine/src/templates/NodeTemplate.js +13 -0
  563. package/src/libs/engine/src/templates/TemplateLoader.d.ts +46 -0
  564. package/src/libs/engine/src/templates/TemplateLoader.js +114 -0
  565. package/src/libs/engine/src/templates/TemplateRegistry.d.ts +70 -0
  566. package/src/libs/engine/src/templates/TemplateRegistry.js +128 -0
  567. package/src/libs/engine/src/templates/generated/bpmn/bpmn-business-rule-task.template.d.ts +11 -0
  568. package/src/libs/engine/src/templates/generated/bpmn/bpmn-business-rule-task.template.js +123 -0
  569. package/src/libs/engine/src/templates/generated/bpmn/bpmn-end-event.template.d.ts +11 -0
  570. package/src/libs/engine/src/templates/generated/bpmn/bpmn-end-event.template.js +123 -0
  571. package/src/libs/engine/src/templates/generated/bpmn/bpmn-error-event.template.d.ts +11 -0
  572. package/src/libs/engine/src/templates/generated/bpmn/bpmn-error-event.template.js +123 -0
  573. package/src/libs/engine/src/templates/generated/bpmn/bpmn-exclusive-gateway.template.d.ts +11 -0
  574. package/src/libs/engine/src/templates/generated/bpmn/bpmn-exclusive-gateway.template.js +124 -0
  575. package/src/libs/engine/src/templates/generated/bpmn/bpmn-inclusive-gateway.template.d.ts +11 -0
  576. package/src/libs/engine/src/templates/generated/bpmn/bpmn-inclusive-gateway.template.js +123 -0
  577. package/src/libs/engine/src/templates/generated/bpmn/bpmn-intermediate-event.template.d.ts +11 -0
  578. package/src/libs/engine/src/templates/generated/bpmn/bpmn-intermediate-event.template.js +124 -0
  579. package/src/libs/engine/src/templates/generated/bpmn/bpmn-manual-task.template.d.ts +11 -0
  580. package/src/libs/engine/src/templates/generated/bpmn/bpmn-manual-task.template.js +123 -0
  581. package/src/libs/engine/src/templates/generated/bpmn/bpmn-message-event.template.d.ts +11 -0
  582. package/src/libs/engine/src/templates/generated/bpmn/bpmn-message-event.template.js +122 -0
  583. package/src/libs/engine/src/templates/generated/bpmn/bpmn-parallel-gateway.template.d.ts +11 -0
  584. package/src/libs/engine/src/templates/generated/bpmn/bpmn-parallel-gateway.template.js +125 -0
  585. package/src/libs/engine/src/templates/generated/bpmn/bpmn-script-task.template.d.ts +11 -0
  586. package/src/libs/engine/src/templates/generated/bpmn/bpmn-script-task.template.js +123 -0
  587. package/src/libs/engine/src/templates/generated/bpmn/bpmn-service-task.template.d.ts +11 -0
  588. package/src/libs/engine/src/templates/generated/bpmn/bpmn-service-task.template.js +123 -0
  589. package/src/libs/engine/src/templates/generated/bpmn/bpmn-start-event.template.d.ts +11 -0
  590. package/src/libs/engine/src/templates/generated/bpmn/bpmn-start-event.template.js +123 -0
  591. package/src/libs/engine/src/templates/generated/bpmn/bpmn-task.template.d.ts +11 -0
  592. package/src/libs/engine/src/templates/generated/bpmn/bpmn-task.template.js +152 -0
  593. package/src/libs/engine/src/templates/generated/bpmn/bpmn-timer-event.template.d.ts +11 -0
  594. package/src/libs/engine/src/templates/generated/bpmn/bpmn-timer-event.template.js +123 -0
  595. package/src/libs/engine/src/templates/generated/bpmn/bpmn-user-task.template.d.ts +11 -0
  596. package/src/libs/engine/src/templates/generated/bpmn/bpmn-user-task.template.js +123 -0
  597. package/src/libs/engine/src/templates/generated/bpmn/index.d.ts +15 -0
  598. package/src/libs/engine/src/templates/generated/bpmn/index.js +34 -0
  599. package/src/libs/engine/src/templates/generated/erd/erd-associative-entity.template.d.ts +11 -0
  600. package/src/libs/engine/src/templates/generated/erd/erd-associative-entity.template.js +152 -0
  601. package/src/libs/engine/src/templates/generated/erd/erd-attribute.template.d.ts +11 -0
  602. package/src/libs/engine/src/templates/generated/erd/erd-attribute.template.js +122 -0
  603. package/src/libs/engine/src/templates/generated/erd/erd-bridge-entity.template.d.ts +11 -0
  604. package/src/libs/engine/src/templates/generated/erd/erd-bridge-entity.template.js +151 -0
  605. package/src/libs/engine/src/templates/generated/erd/erd-composite-attribute.template.d.ts +11 -0
  606. package/src/libs/engine/src/templates/generated/erd/erd-composite-attribute.template.js +122 -0
  607. package/src/libs/engine/src/templates/generated/erd/erd-derived-attribute.template.d.ts +11 -0
  608. package/src/libs/engine/src/templates/generated/erd/erd-derived-attribute.template.js +122 -0
  609. package/src/libs/engine/src/templates/generated/erd/erd-discriminator.template.d.ts +11 -0
  610. package/src/libs/engine/src/templates/generated/erd/erd-discriminator.template.js +123 -0
  611. package/src/libs/engine/src/templates/generated/erd/erd-entity.template.d.ts +11 -0
  612. package/src/libs/engine/src/templates/generated/erd/erd-entity.template.js +149 -0
  613. package/src/libs/engine/src/templates/generated/erd/erd-isa.template.d.ts +11 -0
  614. package/src/libs/engine/src/templates/generated/erd/erd-isa.template.js +123 -0
  615. package/src/libs/engine/src/templates/generated/erd/erd-key-attribute.template.d.ts +11 -0
  616. package/src/libs/engine/src/templates/generated/erd/erd-key-attribute.template.js +122 -0
  617. package/src/libs/engine/src/templates/generated/erd/erd-multivalued-attribute.template.d.ts +11 -0
  618. package/src/libs/engine/src/templates/generated/erd/erd-multivalued-attribute.template.js +122 -0
  619. package/src/libs/engine/src/templates/generated/erd/erd-optional-attribute.template.d.ts +11 -0
  620. package/src/libs/engine/src/templates/generated/erd/erd-optional-attribute.template.js +122 -0
  621. package/src/libs/engine/src/templates/generated/erd/erd-partial-key.template.d.ts +11 -0
  622. package/src/libs/engine/src/templates/generated/erd/erd-partial-key.template.js +123 -0
  623. package/src/libs/engine/src/templates/generated/erd/erd-relationship.template.d.ts +11 -0
  624. package/src/libs/engine/src/templates/generated/erd/erd-relationship.template.js +121 -0
  625. package/src/libs/engine/src/templates/generated/erd/erd-subtype.template.d.ts +11 -0
  626. package/src/libs/engine/src/templates/generated/erd/erd-subtype.template.js +123 -0
  627. package/src/libs/engine/src/templates/generated/erd/erd-supertype.template.d.ts +11 -0
  628. package/src/libs/engine/src/templates/generated/erd/erd-supertype.template.js +123 -0
  629. package/src/libs/engine/src/templates/generated/erd/erd-table.template.d.ts +11 -0
  630. package/src/libs/engine/src/templates/generated/erd/erd-table.template.js +123 -0
  631. package/src/libs/engine/src/templates/generated/erd/erd-view.template.d.ts +11 -0
  632. package/src/libs/engine/src/templates/generated/erd/erd-view.template.js +123 -0
  633. package/src/libs/engine/src/templates/generated/erd/erd-weak-entity.template.d.ts +11 -0
  634. package/src/libs/engine/src/templates/generated/erd/erd-weak-entity.template.js +149 -0
  635. package/src/libs/engine/src/templates/generated/erd/erd-weak-relationship.template.d.ts +11 -0
  636. package/src/libs/engine/src/templates/generated/erd/erd-weak-relationship.template.js +122 -0
  637. package/src/libs/engine/src/templates/generated/erd/index.d.ts +19 -0
  638. package/src/libs/engine/src/templates/generated/erd/index.js +42 -0
  639. package/src/libs/engine/src/templates/generated/flowchart/flowchart-connector.template.d.ts +11 -0
  640. package/src/libs/engine/src/templates/generated/flowchart/flowchart-connector.template.js +123 -0
  641. package/src/libs/engine/src/templates/generated/flowchart/flowchart-data.template.d.ts +11 -0
  642. package/src/libs/engine/src/templates/generated/flowchart/flowchart-data.template.js +123 -0
  643. package/src/libs/engine/src/templates/generated/flowchart/flowchart-decision.template.d.ts +11 -0
  644. package/src/libs/engine/src/templates/generated/flowchart/flowchart-decision.template.js +123 -0
  645. package/src/libs/engine/src/templates/generated/flowchart/flowchart-delay.template.d.ts +11 -0
  646. package/src/libs/engine/src/templates/generated/flowchart/flowchart-delay.template.js +124 -0
  647. package/src/libs/engine/src/templates/generated/flowchart/flowchart-display.template.d.ts +11 -0
  648. package/src/libs/engine/src/templates/generated/flowchart/flowchart-display.template.js +124 -0
  649. package/src/libs/engine/src/templates/generated/flowchart/flowchart-document.template.d.ts +11 -0
  650. package/src/libs/engine/src/templates/generated/flowchart/flowchart-document.template.js +123 -0
  651. package/src/libs/engine/src/templates/generated/flowchart/flowchart-manual-input.template.d.ts +11 -0
  652. package/src/libs/engine/src/templates/generated/flowchart/flowchart-manual-input.template.js +123 -0
  653. package/src/libs/engine/src/templates/generated/flowchart/flowchart-manual-operation.template.d.ts +11 -0
  654. package/src/libs/engine/src/templates/generated/flowchart/flowchart-manual-operation.template.js +122 -0
  655. package/src/libs/engine/src/templates/generated/flowchart/flowchart-merge.template.d.ts +11 -0
  656. package/src/libs/engine/src/templates/generated/flowchart/flowchart-merge.template.js +122 -0
  657. package/src/libs/engine/src/templates/generated/flowchart/flowchart-or.template.d.ts +11 -0
  658. package/src/libs/engine/src/templates/generated/flowchart/flowchart-or.template.js +123 -0
  659. package/src/libs/engine/src/templates/generated/flowchart/flowchart-predefined-process.template.d.ts +11 -0
  660. package/src/libs/engine/src/templates/generated/flowchart/flowchart-predefined-process.template.js +123 -0
  661. package/src/libs/engine/src/templates/generated/flowchart/flowchart-preparation.template.d.ts +11 -0
  662. package/src/libs/engine/src/templates/generated/flowchart/flowchart-preparation.template.js +123 -0
  663. package/src/libs/engine/src/templates/generated/flowchart/flowchart-process.template.d.ts +11 -0
  664. package/src/libs/engine/src/templates/generated/flowchart/flowchart-process.template.js +122 -0
  665. package/src/libs/engine/src/templates/generated/flowchart/flowchart-stored-data.template.d.ts +11 -0
  666. package/src/libs/engine/src/templates/generated/flowchart/flowchart-stored-data.template.js +123 -0
  667. package/src/libs/engine/src/templates/generated/flowchart/flowchart-summing-junction.template.d.ts +11 -0
  668. package/src/libs/engine/src/templates/generated/flowchart/flowchart-summing-junction.template.js +124 -0
  669. package/src/libs/engine/src/templates/generated/flowchart/flowchart-terminal.template.d.ts +11 -0
  670. package/src/libs/engine/src/templates/generated/flowchart/flowchart-terminal.template.js +124 -0
  671. package/src/libs/engine/src/templates/generated/flowchart/index.d.ts +16 -0
  672. package/src/libs/engine/src/templates/generated/flowchart/index.js +36 -0
  673. package/src/libs/engine/src/templates/generated/index.d.ts +9 -0
  674. package/src/libs/engine/src/templates/generated/index.js +13 -0
  675. package/src/libs/engine/src/templates/generated/register.d.ts +23 -0
  676. package/src/libs/engine/src/templates/generated/register.js +31 -0
  677. package/src/libs/engine/src/templates/generated/uml/index.d.ts +30 -0
  678. package/src/libs/engine/src/templates/generated/uml/index.js +64 -0
  679. package/src/libs/engine/src/templates/generated/uml/uml-abstract-class.template.d.ts +11 -0
  680. package/src/libs/engine/src/templates/generated/uml/uml-abstract-class.template.js +204 -0
  681. package/src/libs/engine/src/templates/generated/uml/uml-activation.template.d.ts +11 -0
  682. package/src/libs/engine/src/templates/generated/uml/uml-activation.template.js +124 -0
  683. package/src/libs/engine/src/templates/generated/uml/uml-activity-partition.template.d.ts +11 -0
  684. package/src/libs/engine/src/templates/generated/uml/uml-activity-partition.template.js +124 -0
  685. package/src/libs/engine/src/templates/generated/uml/uml-activity.template.d.ts +11 -0
  686. package/src/libs/engine/src/templates/generated/uml/uml-activity.template.js +123 -0
  687. package/src/libs/engine/src/templates/generated/uml/uml-actor.template.d.ts +11 -0
  688. package/src/libs/engine/src/templates/generated/uml/uml-actor.template.js +123 -0
  689. package/src/libs/engine/src/templates/generated/uml/uml-class.template.d.ts +11 -0
  690. package/src/libs/engine/src/templates/generated/uml/uml-class.template.js +204 -0
  691. package/src/libs/engine/src/templates/generated/uml/uml-collaboration.template.d.ts +11 -0
  692. package/src/libs/engine/src/templates/generated/uml/uml-collaboration.template.js +122 -0
  693. package/src/libs/engine/src/templates/generated/uml/uml-component.template.d.ts +11 -0
  694. package/src/libs/engine/src/templates/generated/uml/uml-component.template.js +122 -0
  695. package/src/libs/engine/src/templates/generated/uml/uml-datatype.template.d.ts +11 -0
  696. package/src/libs/engine/src/templates/generated/uml/uml-datatype.template.js +204 -0
  697. package/src/libs/engine/src/templates/generated/uml/uml-decision.template.d.ts +11 -0
  698. package/src/libs/engine/src/templates/generated/uml/uml-decision.template.js +124 -0
  699. package/src/libs/engine/src/templates/generated/uml/uml-enum.template.d.ts +11 -0
  700. package/src/libs/engine/src/templates/generated/uml/uml-enum.template.js +204 -0
  701. package/src/libs/engine/src/templates/generated/uml/uml-final-node.template.d.ts +11 -0
  702. package/src/libs/engine/src/templates/generated/uml/uml-final-node.template.js +124 -0
  703. package/src/libs/engine/src/templates/generated/uml/uml-final-state.template.d.ts +11 -0
  704. package/src/libs/engine/src/templates/generated/uml/uml-final-state.template.js +124 -0
  705. package/src/libs/engine/src/templates/generated/uml/uml-fork.template.d.ts +11 -0
  706. package/src/libs/engine/src/templates/generated/uml/uml-fork.template.js +125 -0
  707. package/src/libs/engine/src/templates/generated/uml/uml-initial-node.template.d.ts +11 -0
  708. package/src/libs/engine/src/templates/generated/uml/uml-initial-node.template.js +123 -0
  709. package/src/libs/engine/src/templates/generated/uml/uml-initial-state.template.d.ts +11 -0
  710. package/src/libs/engine/src/templates/generated/uml/uml-initial-state.template.js +123 -0
  711. package/src/libs/engine/src/templates/generated/uml/uml-interface.template.d.ts +11 -0
  712. package/src/libs/engine/src/templates/generated/uml/uml-interface.template.js +204 -0
  713. package/src/libs/engine/src/templates/generated/uml/uml-join.template.d.ts +11 -0
  714. package/src/libs/engine/src/templates/generated/uml/uml-join.template.js +125 -0
  715. package/src/libs/engine/src/templates/generated/uml/uml-lifeline.template.d.ts +11 -0
  716. package/src/libs/engine/src/templates/generated/uml/uml-lifeline.template.js +123 -0
  717. package/src/libs/engine/src/templates/generated/uml/uml-merge.template.d.ts +11 -0
  718. package/src/libs/engine/src/templates/generated/uml/uml-merge.template.js +122 -0
  719. package/src/libs/engine/src/templates/generated/uml/uml-node.template.d.ts +11 -0
  720. package/src/libs/engine/src/templates/generated/uml/uml-node.template.js +122 -0
  721. package/src/libs/engine/src/templates/generated/uml/uml-note.template.d.ts +11 -0
  722. package/src/libs/engine/src/templates/generated/uml/uml-note.template.js +123 -0
  723. package/src/libs/engine/src/templates/generated/uml/uml-object.template.d.ts +11 -0
  724. package/src/libs/engine/src/templates/generated/uml/uml-object.template.js +204 -0
  725. package/src/libs/engine/src/templates/generated/uml/uml-package.template.d.ts +11 -0
  726. package/src/libs/engine/src/templates/generated/uml/uml-package.template.js +123 -0
  727. package/src/libs/engine/src/templates/generated/uml/uml-part.template.d.ts +11 -0
  728. package/src/libs/engine/src/templates/generated/uml/uml-part.template.js +122 -0
  729. package/src/libs/engine/src/templates/generated/uml/uml-port.template.d.ts +11 -0
  730. package/src/libs/engine/src/templates/generated/uml/uml-port.template.js +123 -0
  731. package/src/libs/engine/src/templates/generated/uml/uml-primitive-type.template.d.ts +11 -0
  732. package/src/libs/engine/src/templates/generated/uml/uml-primitive-type.template.js +204 -0
  733. package/src/libs/engine/src/templates/generated/uml/uml-signal.template.d.ts +11 -0
  734. package/src/libs/engine/src/templates/generated/uml/uml-signal.template.js +123 -0
  735. package/src/libs/engine/src/templates/generated/uml/uml-state.template.d.ts +11 -0
  736. package/src/libs/engine/src/templates/generated/uml/uml-state.template.js +123 -0
  737. package/src/libs/engine/src/templates/generated/uml/uml-use-case.template.d.ts +11 -0
  738. package/src/libs/engine/src/templates/generated/uml/uml-use-case.template.js +122 -0
  739. package/src/libs/engine/src/templates/index.d.ts +12 -0
  740. package/src/libs/engine/src/templates/index.js +27 -0
  741. package/src/libs/engine/src/templates/stencils.d.ts +45 -0
  742. package/src/libs/engine/src/templates/stencils.js +85 -0
  743. package/src/libs/engine/src/types/domain/bpmn.d.ts +25 -0
  744. package/src/libs/engine/src/types/domain/bpmn.js +313 -0
  745. package/src/libs/engine/src/types/domain/erd.d.ts +29 -0
  746. package/src/libs/engine/src/types/domain/erd.js +394 -0
  747. package/src/libs/engine/src/types/domain/flowchart.d.ts +26 -0
  748. package/src/libs/engine/src/types/domain/flowchart.js +434 -0
  749. package/src/libs/engine/src/types/domain/index.d.ts +4 -0
  750. package/src/libs/engine/src/types/domain/index.js +9 -0
  751. package/src/libs/engine/src/types/domain/uml.d.ts +40 -0
  752. package/src/libs/engine/src/types/domain/uml.js +758 -0
  753. package/src/libs/engine/src/types/event.types.d.ts +142 -0
  754. package/src/libs/engine/src/types/event.types.js +96 -0
  755. package/src/libs/engine/src/types/geometry.types.d.ts +84 -0
  756. package/src/libs/engine/src/types/geometry.types.js +16 -0
  757. package/src/libs/engine/src/types/index.d.ts +7 -0
  758. package/src/libs/engine/src/types/index.js +14 -0
  759. package/src/libs/engine/src/types/layout.types.d.ts +148 -0
  760. package/src/libs/engine/src/types/layout.types.js +28 -0
  761. package/src/libs/engine/src/types/model.types.d.ts +378 -0
  762. package/src/libs/engine/src/types/model.types.js +4 -0
  763. package/src/libs/engine/src/types/performance.types.d.ts +109 -0
  764. package/src/libs/engine/src/types/performance.types.js +122 -0
  765. package/src/libs/engine/src/types/plugin.types.d.ts +30 -0
  766. package/src/libs/engine/src/types/plugin.types.js +4 -0
  767. package/src/libs/engine/src/utils/deep-clone.d.ts +9 -0
  768. package/src/libs/engine/src/utils/deep-clone.js +123 -0
  769. package/src/libs/engine/src/utils/geometry.d.ts +45 -0
  770. package/src/libs/engine/src/utils/geometry.js +241 -0
  771. package/src/libs/engine/src/utils/id.d.ts +22 -0
  772. package/src/libs/engine/src/utils/id.js +44 -0
  773. package/src/libs/engine/src/utils/index.d.ts +3 -0
  774. package/src/libs/engine/src/utils/index.js +8 -0
  775. package/src/libs/engine/src/utils/transform.d.ts +84 -0
  776. package/src/libs/engine/src/utils/transform.js +200 -0
  777. package/src/libs/engine/src/validation/ConnectionGroupValidator.d.ts +22 -0
  778. package/src/libs/engine/src/validation/ConnectionGroupValidator.js +56 -0
  779. package/src/libs/engine/src/validation/TypeRegistry.d.ts +179 -0
  780. package/src/libs/engine/src/validation/TypeRegistry.js +358 -0
  781. package/src/libs/engine/src/validation/ValidationEngine.d.ts +79 -0
  782. package/src/libs/engine/src/validation/ValidationEngine.js +1150 -0
  783. package/src/libs/engine/src/validation/index.d.ts +3 -0
  784. package/src/libs/engine/src/validation/index.js +8 -0
  785. package/src/libs/renderer/src/a11y/diagram-outline.d.ts +93 -0
  786. package/src/libs/renderer/src/a11y/diagram-outline.js +0 -0
  787. package/src/libs/renderer/src/a11y/focus-containment.d.ts +90 -0
  788. package/src/libs/renderer/src/a11y/focus-containment.js +173 -0
  789. package/src/libs/renderer/src/a11y/graph-topology.d.ts +70 -0
  790. package/src/libs/renderer/src/a11y/graph-topology.js +0 -0
  791. package/src/libs/renderer/src/a11y/index.d.ts +26 -0
  792. package/src/libs/renderer/src/a11y/index.js +30 -0
  793. package/src/libs/renderer/src/a11y/live-region.d.ts +83 -0
  794. package/src/libs/renderer/src/a11y/live-region.js +170 -0
  795. package/src/libs/renderer/src/a11y/outline-view.d.ts +62 -0
  796. package/src/libs/renderer/src/a11y/outline-view.js +158 -0
  797. package/src/libs/renderer/src/a11y/reduced-motion.d.ts +48 -0
  798. package/src/libs/renderer/src/a11y/reduced-motion.js +223 -0
  799. package/src/libs/renderer/src/a11y/semantics.d.ts +76 -0
  800. package/src/libs/renderer/src/a11y/semantics.js +229 -0
  801. package/src/libs/renderer/src/canvas/canvas-context.d.ts +167 -0
  802. package/src/libs/renderer/src/canvas/canvas-context.js +267 -0
  803. package/src/libs/renderer/src/canvas/canvas-renderer.d.ts +194 -0
  804. package/src/libs/renderer/src/canvas/canvas-renderer.js +600 -0
  805. package/src/libs/renderer/src/canvas/dirty-region.d.ts +56 -0
  806. package/src/libs/renderer/src/canvas/dirty-region.js +171 -0
  807. package/src/libs/renderer/src/canvas/index.d.ts +16 -0
  808. package/src/libs/renderer/src/canvas/index.js +79 -0
  809. package/src/libs/renderer/src/canvas/path-geometry.d.ts +112 -0
  810. package/src/libs/renderer/src/canvas/path-geometry.js +673 -0
  811. package/src/libs/renderer/src/canvas/render-backend.d.ts +133 -0
  812. package/src/libs/renderer/src/canvas/render-backend.js +339 -0
  813. package/src/libs/renderer/src/canvas/style-resolution.d.ts +101 -0
  814. package/src/libs/renderer/src/canvas/style-resolution.js +466 -0
  815. package/src/libs/renderer/src/canvas/tier-policy.d.ts +33 -0
  816. package/src/libs/renderer/src/canvas/tier-policy.js +89 -0
  817. package/src/libs/renderer/src/canvas/vnode-painter.d.ts +154 -0
  818. package/src/libs/renderer/src/canvas/vnode-painter.js +649 -0
  819. package/src/libs/renderer/src/comments/comment-overlay.d.ts +56 -0
  820. package/src/libs/renderer/src/comments/comment-overlay.js +127 -0
  821. package/src/libs/renderer/src/comments/comment-panel.d.ts +45 -0
  822. package/src/libs/renderer/src/comments/comment-panel.js +287 -0
  823. package/src/libs/renderer/src/comments/comment-pins.d.ts +34 -0
  824. package/src/libs/renderer/src/comments/comment-pins.js +227 -0
  825. package/src/libs/renderer/src/comments/index.d.ts +3 -0
  826. package/src/libs/renderer/src/comments/index.js +17 -0
  827. package/src/libs/renderer/src/export/assets.d.ts +96 -0
  828. package/src/libs/renderer/src/export/assets.js +350 -0
  829. package/src/libs/renderer/src/export/batch.d.ts +49 -0
  830. package/src/libs/renderer/src/export/batch.js +95 -0
  831. package/src/libs/renderer/src/export/bounds.d.ts +81 -0
  832. package/src/libs/renderer/src/export/bounds.js +367 -0
  833. package/src/libs/renderer/src/export/capture-host.d.ts +39 -0
  834. package/src/libs/renderer/src/export/capture-host.js +1259 -0
  835. package/src/libs/renderer/src/export/custom-nodes.d.ts +88 -0
  836. package/src/libs/renderer/src/export/custom-nodes.js +237 -0
  837. package/src/libs/renderer/src/export/index.d.ts +14 -0
  838. package/src/libs/renderer/src/export/index.js +30 -0
  839. package/src/libs/renderer/src/export/node-raster.d.ts +60 -0
  840. package/src/libs/renderer/src/export/node-raster.js +161 -0
  841. package/src/libs/renderer/src/export/pagination.d.ts +116 -0
  842. package/src/libs/renderer/src/export/pagination.js +245 -0
  843. package/src/libs/renderer/src/export/pdf/flate.d.ts +13 -0
  844. package/src/libs/renderer/src/export/pdf/flate.js +287 -0
  845. package/src/libs/renderer/src/export/pdf/index.d.ts +4 -0
  846. package/src/libs/renderer/src/export/pdf/index.js +15 -0
  847. package/src/libs/renderer/src/export/pdf/pdf-export.d.ts +64 -0
  848. package/src/libs/renderer/src/export/pdf/pdf-export.js +1076 -0
  849. package/src/libs/renderer/src/export/pdf/pdf-path.d.ts +17 -0
  850. package/src/libs/renderer/src/export/pdf/pdf-path.js +85 -0
  851. package/src/libs/renderer/src/export/pdf/pdf-primitives.d.ts +115 -0
  852. package/src/libs/renderer/src/export/pdf/pdf-primitives.js +338 -0
  853. package/src/libs/renderer/src/export/pdf/png.d.ts +25 -0
  854. package/src/libs/renderer/src/export/pdf/png.js +596 -0
  855. package/src/libs/renderer/src/export/raster.d.ts +42 -0
  856. package/src/libs/renderer/src/export/raster.js +126 -0
  857. package/src/libs/renderer/src/export/round-trip.d.ts +83 -0
  858. package/src/libs/renderer/src/export/round-trip.js +432 -0
  859. package/src/libs/renderer/src/export/scope.d.ts +16 -0
  860. package/src/libs/renderer/src/export/scope.js +69 -0
  861. package/src/libs/renderer/src/export/style-flattener.d.ts +23 -0
  862. package/src/libs/renderer/src/export/style-flattener.js +144 -0
  863. package/src/libs/renderer/src/export/svg-export.d.ts +123 -0
  864. package/src/libs/renderer/src/export/svg-export.js +178 -0
  865. package/src/libs/renderer/src/export/vnode-serializer.d.ts +75 -0
  866. package/src/libs/renderer/src/export/vnode-serializer.js +344 -0
  867. package/src/libs/renderer/src/ext/capabilities.d.ts +178 -0
  868. package/src/libs/renderer/src/ext/capabilities.js +22 -0
  869. package/src/libs/renderer/src/ext/capability-factory.d.ts +44 -0
  870. package/src/libs/renderer/src/ext/capability-factory.js +194 -0
  871. package/src/libs/renderer/src/ext/components/attach.d.ts +66 -0
  872. package/src/libs/renderer/src/ext/components/attach.js +112 -0
  873. package/src/libs/renderer/src/ext/components/background.d.ts +84 -0
  874. package/src/libs/renderer/src/ext/components/background.js +202 -0
  875. package/src/libs/renderer/src/ext/components/controls.d.ts +49 -0
  876. package/src/libs/renderer/src/ext/components/controls.js +144 -0
  877. package/src/libs/renderer/src/ext/components/minimap.d.ts +78 -0
  878. package/src/libs/renderer/src/ext/components/minimap.js +326 -0
  879. package/src/libs/renderer/src/ext/diagram-registry.d.ts +109 -0
  880. package/src/libs/renderer/src/ext/diagram-registry.js +303 -0
  881. package/src/libs/renderer/src/ext/disposable.d.ts +51 -0
  882. package/src/libs/renderer/src/ext/disposable.js +104 -0
  883. package/src/libs/renderer/src/ext/extension-host.d.ts +144 -0
  884. package/src/libs/renderer/src/ext/extension-host.js +272 -0
  885. package/src/libs/renderer/src/ext/index.d.ts +62 -0
  886. package/src/libs/renderer/src/ext/index.js +91 -0
  887. package/src/libs/renderer/src/ext/link-pipeline.d.ts +195 -0
  888. package/src/libs/renderer/src/ext/link-pipeline.js +431 -0
  889. package/src/libs/renderer/src/ext/manifest.d.ts +73 -0
  890. package/src/libs/renderer/src/ext/manifest.js +149 -0
  891. package/src/libs/renderer/src/ext/node-component.d.ts +114 -0
  892. package/src/libs/renderer/src/ext/node-component.js +290 -0
  893. package/src/libs/renderer/src/ext/plugins-loader.d.ts +1 -0
  894. package/src/libs/renderer/src/ext/plugins-loader.js +18 -0
  895. package/src/libs/renderer/src/ext/portal.d.ts +129 -0
  896. package/src/libs/renderer/src/ext/portal.js +267 -0
  897. package/src/libs/renderer/src/ext/public-api.d.ts +101 -0
  898. package/src/libs/renderer/src/ext/public-api.js +201 -0
  899. package/src/libs/renderer/src/ext/registry-scope.d.ts +93 -0
  900. package/src/libs/renderer/src/ext/registry-scope.js +142 -0
  901. package/src/libs/renderer/src/ext/tools.d.ts +164 -0
  902. package/src/libs/renderer/src/ext/tools.js +170 -0
  903. package/src/libs/renderer/src/index.d.ts +34 -0
  904. package/src/libs/renderer/src/index.js +108 -0
  905. package/src/libs/renderer/src/instance/create-diagram.d.ts +385 -0
  906. package/src/libs/renderer/src/instance/create-diagram.js +1150 -0
  907. package/src/libs/renderer/src/instance/diagram-instance.d.ts +48 -0
  908. package/src/libs/renderer/src/instance/diagram-instance.js +51 -0
  909. package/src/libs/renderer/src/instance/dom-event-binder.d.ts +394 -0
  910. package/src/libs/renderer/src/instance/dom-event-binder.js +2104 -0
  911. package/src/libs/renderer/src/instance/index.d.ts +5 -0
  912. package/src/libs/renderer/src/instance/index.js +13 -0
  913. package/src/libs/renderer/src/instance/layers.d.ts +31 -0
  914. package/src/libs/renderer/src/instance/layers.js +43 -0
  915. package/src/libs/renderer/src/instance/model-input.d.ts +229 -0
  916. package/src/libs/renderer/src/instance/model-input.js +325 -0
  917. package/src/libs/renderer/src/instance/render-scheduler.d.ts +79 -0
  918. package/src/libs/renderer/src/instance/render-scheduler.js +96 -0
  919. package/src/libs/renderer/src/instance/wheel-scroll-yield.d.ts +38 -0
  920. package/src/libs/renderer/src/instance/wheel-scroll-yield.js +118 -0
  921. package/src/libs/renderer/src/interaction/ControlPointEditor.d.ts +160 -0
  922. package/src/libs/renderer/src/interaction/ControlPointEditor.js +360 -0
  923. package/src/libs/renderer/src/interaction/WaypointEditor.d.ts +133 -0
  924. package/src/libs/renderer/src/interaction/WaypointEditor.js +263 -0
  925. package/src/libs/renderer/src/interaction/highlighters.d.ts +88 -0
  926. package/src/libs/renderer/src/interaction/highlighters.js +212 -0
  927. package/src/libs/renderer/src/interaction/in-place-editor.d.ts +63 -0
  928. package/src/libs/renderer/src/interaction/in-place-editor.js +141 -0
  929. package/src/libs/renderer/src/interaction/index.d.ts +11 -0
  930. package/src/libs/renderer/src/interaction/index.js +29 -0
  931. package/src/libs/renderer/src/interaction/ink-overlay.d.ts +53 -0
  932. package/src/libs/renderer/src/interaction/ink-overlay.js +154 -0
  933. package/src/libs/renderer/src/interaction/interaction-controller.d.ts +555 -0
  934. package/src/libs/renderer/src/interaction/interaction-controller.js +1733 -0
  935. package/src/libs/renderer/src/interaction/keyboard-navigation.d.ts +223 -0
  936. package/src/libs/renderer/src/interaction/keyboard-navigation.js +885 -0
  937. package/src/libs/renderer/src/interaction/selection-tools.d.ts +343 -0
  938. package/src/libs/renderer/src/interaction/selection-tools.js +918 -0
  939. package/src/libs/renderer/src/interaction/snapping.d.ts +210 -0
  940. package/src/libs/renderer/src/interaction/snapping.js +569 -0
  941. package/src/libs/renderer/src/interaction/touch-gestures.d.ts +160 -0
  942. package/src/libs/renderer/src/interaction/touch-gestures.js +549 -0
  943. package/src/libs/renderer/src/interaction/whiteboard-tools.d.ts +171 -0
  944. package/src/libs/renderer/src/interaction/whiteboard-tools.js +476 -0
  945. package/src/libs/renderer/src/lazy/host-culling.d.ts +116 -0
  946. package/src/libs/renderer/src/lazy/host-culling.js +135 -0
  947. package/src/libs/renderer/src/lazy/index.d.ts +7 -0
  948. package/src/libs/renderer/src/lazy/index.js +28 -0
  949. package/src/libs/renderer/src/lazy/progressive-mounter.d.ts +80 -0
  950. package/src/libs/renderer/src/lazy/progressive-mounter.js +264 -0
  951. package/src/libs/renderer/src/lazy/types.d.ts +43 -0
  952. package/src/libs/renderer/src/lazy/types.js +14 -0
  953. package/src/libs/renderer/src/lazy/view-lifecycle.d.ts +97 -0
  954. package/src/libs/renderer/src/lazy/view-lifecycle.js +221 -0
  955. package/src/libs/renderer/src/perf/index.d.ts +2 -0
  956. package/src/libs/renderer/src/perf/index.js +7 -0
  957. package/src/libs/renderer/src/perf/perf-hud.d.ts +46 -0
  958. package/src/libs/renderer/src/perf/perf-hud.js +105 -0
  959. package/src/libs/renderer/src/perf/quality-governor.d.ts +77 -0
  960. package/src/libs/renderer/src/perf/quality-governor.js +154 -0
  961. package/src/libs/renderer/src/platform/index.d.ts +1 -0
  962. package/src/libs/renderer/src/platform/index.js +5 -0
  963. package/src/libs/renderer/src/platform/platform.d.ts +34 -0
  964. package/src/libs/renderer/src/platform/platform.js +64 -0
  965. package/src/libs/renderer/src/presence/bind-presence.d.ts +51 -0
  966. package/src/libs/renderer/src/presence/bind-presence.js +144 -0
  967. package/src/libs/renderer/src/presence/index.d.ts +4 -0
  968. package/src/libs/renderer/src/presence/index.js +18 -0
  969. package/src/libs/renderer/src/presence/presence-overlay.d.ts +121 -0
  970. package/src/libs/renderer/src/presence/presence-overlay.js +465 -0
  971. package/src/libs/renderer/src/presentation/index.d.ts +3 -0
  972. package/src/libs/renderer/src/presentation/index.js +14 -0
  973. package/src/libs/renderer/src/presentation/presentation.d.ts +94 -0
  974. package/src/libs/renderer/src/presentation/presentation.js +158 -0
  975. package/src/libs/renderer/src/presentation/viewport-channel.d.ts +78 -0
  976. package/src/libs/renderer/src/presentation/viewport-channel.js +86 -0
  977. package/src/libs/renderer/src/services/animation-lifecycle.d.ts +153 -0
  978. package/src/libs/renderer/src/services/animation-lifecycle.js +326 -0
  979. package/src/libs/renderer/src/services/animation-performance.service.d.ts +191 -0
  980. package/src/libs/renderer/src/services/animation-performance.service.js +371 -0
  981. package/src/libs/renderer/src/services/animation-sequencer.d.ts +226 -0
  982. package/src/libs/renderer/src/services/animation-sequencer.js +379 -0
  983. package/src/libs/renderer/src/services/animation.service.d.ts +182 -0
  984. package/src/libs/renderer/src/services/animation.service.js +858 -0
  985. package/src/libs/renderer/src/services/custom-animation-registry.d.ts +182 -0
  986. package/src/libs/renderer/src/services/custom-animation-registry.js +361 -0
  987. package/src/libs/renderer/src/ssr/index.d.ts +1 -0
  988. package/src/libs/renderer/src/ssr/index.js +6 -0
  989. package/src/libs/renderer/src/ssr/render-to-static.d.ts +91 -0
  990. package/src/libs/renderer/src/ssr/render-to-static.js +81 -0
  991. package/src/libs/renderer/src/svg/ArrowRenderer.d.ts +159 -0
  992. package/src/libs/renderer/src/svg/ArrowRenderer.js +723 -0
  993. package/src/libs/renderer/src/svg/JumpPointDetector.d.ts +79 -0
  994. package/src/libs/renderer/src/svg/JumpPointDetector.js +176 -0
  995. package/src/libs/renderer/src/svg/JumpPointRenderer.d.ts +59 -0
  996. package/src/libs/renderer/src/svg/JumpPointRenderer.js +309 -0
  997. package/src/libs/renderer/src/svg/LabelRenderer.d.ts +76 -0
  998. package/src/libs/renderer/src/svg/LabelRenderer.js +273 -0
  999. package/src/libs/renderer/src/svg/auto-size.d.ts +76 -0
  1000. package/src/libs/renderer/src/svg/auto-size.js +142 -0
  1001. package/src/libs/renderer/src/svg/channel-nudging.d.ts +34 -0
  1002. package/src/libs/renderer/src/svg/channel-nudging.js +226 -0
  1003. package/src/libs/renderer/src/svg/edge-optimizer.d.ts +228 -0
  1004. package/src/libs/renderer/src/svg/edge-optimizer.js +606 -0
  1005. package/src/libs/renderer/src/svg/edge-templates.d.ts +152 -0
  1006. package/src/libs/renderer/src/svg/edge-templates.js +233 -0
  1007. package/src/libs/renderer/src/svg/html-node.d.ts +50 -0
  1008. package/src/libs/renderer/src/svg/html-node.js +214 -0
  1009. package/src/libs/renderer/src/svg/index.d.ts +25 -0
  1010. package/src/libs/renderer/src/svg/index.js +32 -0
  1011. package/src/libs/renderer/src/svg/link-fanout.d.ts +127 -0
  1012. package/src/libs/renderer/src/svg/link-fanout.js +333 -0
  1013. package/src/libs/renderer/src/svg/link-hit-test.d.ts +142 -0
  1014. package/src/libs/renderer/src/svg/link-hit-test.js +182 -0
  1015. package/src/libs/renderer/src/svg/motion-tracker.d.ts +18 -0
  1016. package/src/libs/renderer/src/svg/motion-tracker.js +71 -0
  1017. package/src/libs/renderer/src/svg/node-sizing.d.ts +51 -0
  1018. package/src/libs/renderer/src/svg/node-sizing.js +65 -0
  1019. package/src/libs/renderer/src/svg/node-toolbar.d.ts +30 -0
  1020. package/src/libs/renderer/src/svg/node-toolbar.js +45 -0
  1021. package/src/libs/renderer/src/svg/notation-shapes.d.ts +2 -0
  1022. package/src/libs/renderer/src/svg/notation-shapes.js +126 -0
  1023. package/src/libs/renderer/src/svg/paint-servers.d.ts +49 -0
  1024. package/src/libs/renderer/src/svg/paint-servers.js +225 -0
  1025. package/src/libs/renderer/src/svg/panel.d.ts +115 -0
  1026. package/src/libs/renderer/src/svg/panel.js +353 -0
  1027. package/src/libs/renderer/src/svg/path-outline.d.ts +35 -0
  1028. package/src/libs/renderer/src/svg/path-outline.js +134 -0
  1029. package/src/libs/renderer/src/svg/port-glyph.d.ts +27 -0
  1030. package/src/libs/renderer/src/svg/port-glyph.js +97 -0
  1031. package/src/libs/renderer/src/svg/port-label.d.ts +74 -0
  1032. package/src/libs/renderer/src/svg/port-label.js +201 -0
  1033. package/src/libs/renderer/src/svg/port-layout.d.ts +50 -0
  1034. package/src/libs/renderer/src/svg/port-layout.js +212 -0
  1035. package/src/libs/renderer/src/svg/port-positioning.d.ts +33 -0
  1036. package/src/libs/renderer/src/svg/port-positioning.js +101 -0
  1037. package/src/libs/renderer/src/svg/port-spots.d.ts +69 -0
  1038. package/src/libs/renderer/src/svg/port-spots.js +154 -0
  1039. package/src/libs/renderer/src/svg/route-memo.d.ts +63 -0
  1040. package/src/libs/renderer/src/svg/route-memo.js +206 -0
  1041. package/src/libs/renderer/src/svg/route-solver-bridge.d.ts +48 -0
  1042. package/src/libs/renderer/src/svg/route-solver-bridge.js +151 -0
  1043. package/src/libs/renderer/src/svg/shape-registry.d.ts +189 -0
  1044. package/src/libs/renderer/src/svg/shape-registry.js +1104 -0
  1045. package/src/libs/renderer/src/svg/stroke-layer.d.ts +36 -0
  1046. package/src/libs/renderer/src/svg/stroke-layer.js +183 -0
  1047. package/src/libs/renderer/src/svg/svg-renderer.d.ts +1737 -0
  1048. package/src/libs/renderer/src/svg/svg-renderer.js +7772 -0
  1049. package/src/libs/renderer/src/svg/text-block.d.ts +54 -0
  1050. package/src/libs/renderer/src/svg/text-block.js +171 -0
  1051. package/src/libs/renderer/src/themes/color-mode.d.ts +81 -0
  1052. package/src/libs/renderer/src/themes/color-mode.js +158 -0
  1053. package/src/libs/renderer/src/themes/contrast.d.ts +67 -0
  1054. package/src/libs/renderer/src/themes/contrast.js +215 -0
  1055. package/src/libs/renderer/src/themes/default-dark-theme.d.ts +6 -0
  1056. package/src/libs/renderer/src/themes/default-dark-theme.js +126 -0
  1057. package/src/libs/renderer/src/themes/default-light-theme.d.ts +6 -0
  1058. package/src/libs/renderer/src/themes/default-light-theme.js +168 -0
  1059. package/src/libs/renderer/src/themes/default-theme-set.d.ts +10 -0
  1060. package/src/libs/renderer/src/themes/default-theme-set.js +25 -0
  1061. package/src/libs/renderer/src/themes/high-contrast-theme.d.ts +5 -0
  1062. package/src/libs/renderer/src/themes/high-contrast-theme.js +170 -0
  1063. package/src/libs/renderer/src/themes/index.d.ts +22 -0
  1064. package/src/libs/renderer/src/themes/index.js +93 -0
  1065. package/src/libs/renderer/src/themes/style-cascade.d.ts +23 -0
  1066. package/src/libs/renderer/src/themes/style-cascade.js +194 -0
  1067. package/src/libs/renderer/src/themes/style-registry.d.ts +40 -0
  1068. package/src/libs/renderer/src/themes/style-registry.js +129 -0
  1069. package/src/libs/renderer/src/themes/theme-a11y.d.ts +65 -0
  1070. package/src/libs/renderer/src/themes/theme-a11y.js +256 -0
  1071. package/src/libs/renderer/src/themes/theme-css.d.ts +30 -0
  1072. package/src/libs/renderer/src/themes/theme-css.js +304 -0
  1073. package/src/libs/renderer/src/themes/theme-ref.d.ts +63 -0
  1074. package/src/libs/renderer/src/themes/theme-ref.js +206 -0
  1075. package/src/libs/renderer/src/themes/theme-vars.d.ts +49 -0
  1076. package/src/libs/renderer/src/themes/theme-vars.js +112 -0
  1077. package/src/libs/renderer/src/themes/token-bridge.d.ts +62 -0
  1078. package/src/libs/renderer/src/themes/token-bridge.js +354 -0
  1079. package/src/libs/renderer/src/types/geometry.types.d.ts +10 -0
  1080. package/src/libs/renderer/src/types/geometry.types.js +3 -0
  1081. package/src/libs/renderer/src/types/index.d.ts +5 -0
  1082. package/src/libs/renderer/src/types/index.js +14 -0
  1083. package/src/libs/renderer/src/types/property-schema/conditions.d.ts +96 -0
  1084. package/src/libs/renderer/src/types/property-schema/conditions.js +8 -0
  1085. package/src/libs/renderer/src/types/property-schema/editor-types.d.ts +310 -0
  1086. package/src/libs/renderer/src/types/property-schema/editor-types.js +8 -0
  1087. package/src/libs/renderer/src/types/property-schema/groups.d.ts +58 -0
  1088. package/src/libs/renderer/src/types/property-schema/groups.js +8 -0
  1089. package/src/libs/renderer/src/types/property-schema/index.d.ts +101 -0
  1090. package/src/libs/renderer/src/types/property-schema/index.js +98 -0
  1091. package/src/libs/renderer/src/types/property-schema/property-definition.d.ts +117 -0
  1092. package/src/libs/renderer/src/types/property-schema/property-definition.js +8 -0
  1093. package/src/libs/renderer/src/types/property-schema/schema.d.ts +108 -0
  1094. package/src/libs/renderer/src/types/property-schema/schema.js +8 -0
  1095. package/src/libs/renderer/src/types/property-schema/validation.d.ts +181 -0
  1096. package/src/libs/renderer/src/types/property-schema/validation.js +8 -0
  1097. package/src/libs/renderer/src/types/renderer.interface.d.ts +623 -0
  1098. package/src/libs/renderer/src/types/renderer.interface.js +3 -0
  1099. package/src/libs/renderer/src/types/theme.types.d.ts +305 -0
  1100. package/src/libs/renderer/src/types/theme.types.js +3 -0
  1101. package/src/libs/renderer/src/types/vnode.types.d.ts +139 -0
  1102. package/src/libs/renderer/src/types/vnode.types.js +3 -0
  1103. package/src/libs/renderer/src/utils/animation-presets.d.ts +310 -0
  1104. package/src/libs/renderer/src/utils/animation-presets.js +406 -0
  1105. package/src/libs/renderer/src/utils/animation-priority.d.ts +118 -0
  1106. package/src/libs/renderer/src/utils/animation-priority.js +258 -0
  1107. package/src/libs/renderer/src/utils/animation-utils.d.ts +159 -0
  1108. package/src/libs/renderer/src/utils/animation-utils.js +323 -0
  1109. package/src/libs/renderer/src/utils/lru-cache.d.ts +34 -0
  1110. package/src/libs/renderer/src/utils/lru-cache.js +72 -0
  1111. package/src/libs/renderer/src/viewport/index.d.ts +1 -0
  1112. package/src/libs/renderer/src/viewport/index.js +6 -0
  1113. package/src/libs/renderer/src/viewport/viewport-controller.d.ts +198 -0
  1114. package/src/libs/renderer/src/viewport/viewport-controller.js +315 -0
  1115. package/src/libs/renderer/src/vnode/container-id-generator.d.ts +94 -0
  1116. package/src/libs/renderer/src/vnode/container-id-generator.js +110 -0
  1117. package/src/libs/renderer/src/vnode/foreign-object.d.ts +157 -0
  1118. package/src/libs/renderer/src/vnode/foreign-object.js +167 -0
  1119. package/src/libs/renderer/src/vnode/index.d.ts +56 -0
  1120. package/src/libs/renderer/src/vnode/index.js +78 -0
  1121. package/src/libs/renderer/src/vnode/patch.d.ts +189 -0
  1122. package/src/libs/renderer/src/vnode/patch.js +564 -0
  1123. package/src/index.js.map +0 -1
  1124. package/src/lib/dashboard-kit/dashboard.js.map +0 -1
  1125. package/src/lib/dashboard-kit/grid-binder.js.map +0 -1
  1126. package/src/lib/dashboard-kit/grid-mapping.js.map +0 -1
  1127. package/src/lib/dashboard-kit/index.js.map +0 -1
  1128. package/src/lib/dashboard-kit/styles.js.map +0 -1
  1129. package/src/lib/dashboard-kit/widgets.js.map +0 -1
  1130. package/src/lib/diagram-kit/card.js.map +0 -1
  1131. package/src/lib/diagram-kit/editing.js.map +0 -1
  1132. package/src/lib/diagram-kit/er.js.map +0 -1
  1133. package/src/lib/diagram-kit/handles.js.map +0 -1
  1134. package/src/lib/diagram-kit/index.js.map +0 -1
  1135. package/src/lib/diagram-kit/rows.js.map +0 -1
  1136. package/src/lib/diagram-kit/styles.js.map +0 -1
  1137. package/src/lib/diagram-kit/uml.js.map +0 -1
  1138. package/src/lib/diagram-kit/update.js.map +0 -1
  1139. package/src/lib/grafloria-flow-element.js.map +0 -1
  1140. package/src/lib/grafloria.js.map +0 -1
  1141. package/src/lib/load.js.map +0 -1
  1142. package/src/lib/node-type-registry.js.map +0 -1
  1143. package/src/lib/stencil-kit/builders.js.map +0 -1
  1144. package/src/lib/stencil-kit/card-builders.js.map +0 -1
  1145. package/src/lib/stencil-kit/index.js.map +0 -1
  1146. package/src/lib/stencil-kit/palette.js.map +0 -1
  1147. package/src/lib/stencil-kit/shape-data.js.map +0 -1
  1148. package/src/lib/stencil-kit/styles.js.map +0 -1
@@ -0,0 +1,918 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SelectionToolsController = exports.RESIZE_HANDLE_IDS = exports.DEFAULT_SELECTION_TOOLS_CONFIG = void 0;
4
+ exports.sideHandleYieldsToPort = sideHandleYieldsToPort;
5
+ exports.rotateVector = rotateVector;
6
+ exports.rotatePoint = rotatePoint;
7
+ exports.resizeBox = resizeBox;
8
+ exports.applyResizeToNode = applyResizeToNode;
9
+ exports.angleAt = angleAt;
10
+ exports.normalizeAngle = normalizeAngle;
11
+ exports.snapAngle = snapAngle;
12
+ const engine_1 = require("@grafloria/engine");
13
+ const node_sizing_1 = require("../svg/node-sizing");
14
+ const node_toolbar_1 = require("../svg/node-toolbar");
15
+ exports.DEFAULT_SELECTION_TOOLS_CONFIG = {
16
+ handleSize: 8,
17
+ rotateHandleOffset: 26,
18
+ haloGap: 12,
19
+ haloButtonSize: 22,
20
+ showHalo: true,
21
+ showResizeHandles: true,
22
+ showRotateHandle: true,
23
+ showRemoveButton: true,
24
+ showLinkTools: true,
25
+ minWidth: 16,
26
+ minHeight: 16,
27
+ rotationSnapDegrees: 15,
28
+ };
29
+ /** Cursor for each resize handle (unrotated). */
30
+ const RESIZE_CURSORS = {
31
+ nw: 'nwse-resize',
32
+ n: 'ns-resize',
33
+ ne: 'nesw-resize',
34
+ e: 'ew-resize',
35
+ se: 'nwse-resize',
36
+ s: 'ns-resize',
37
+ sw: 'nesw-resize',
38
+ w: 'ew-resize',
39
+ };
40
+ /** Unit (0..1) position of each handle within the selection box. */
41
+ const RESIZE_ANCHORS = {
42
+ nw: { u: 0, v: 0 },
43
+ n: { u: 0.5, v: 0 },
44
+ ne: { u: 1, v: 0 },
45
+ e: { u: 1, v: 0.5 },
46
+ se: { u: 1, v: 1 },
47
+ s: { u: 0.5, v: 1 },
48
+ sw: { u: 0, v: 1 },
49
+ w: { u: 0, v: 0.5 },
50
+ };
51
+ exports.RESIZE_HANDLE_IDS = ['nw', 'n', 'ne', 'e', 'se', 's', 'sw', 'w'];
52
+ /** The full edge each SIDE handle owns, as unit-square corner anchors. */
53
+ const SIDE_EDGE_CORNERS = {
54
+ n: [{ u: 0, v: 0 }, { u: 1, v: 0 }],
55
+ e: [{ u: 1, v: 0 }, { u: 1, v: 1 }],
56
+ s: [{ u: 0, v: 1 }, { u: 1, v: 1 }],
57
+ w: [{ u: 0, v: 0 }, { u: 0, v: 1 }],
58
+ };
59
+ /**
60
+ * resize-ux: the ONE side-handle-vs-port priority predicate.
61
+ *
62
+ * The four side handles live ON the node border, where the default side ports
63
+ * also live. React Flow resolves the coincidence by z-order: the port glyph
64
+ * (drawn on top of the resize line) wins its own core, the line wins the rest
65
+ * of the edge. Ours is the same rule expressed in hover state: when the pointer
66
+ * is inside a port's grab radius (`hoveredPort` is set) on the SAME node, the
67
+ * port claims the press/cursor; everywhere else along the band, resize does.
68
+ *
69
+ * Exported so the mouse ladder, the touch ladder AND the hover-cursor logic
70
+ * share one predicate — three private copies is how they drift.
71
+ */
72
+ function sideHandleYieldsToPort(handle, hoveredPort) {
73
+ if (handle.kind !== 'resize')
74
+ return false;
75
+ if (!['n', 'e', 's', 'w'].includes(String(handle.handleId)))
76
+ return false;
77
+ return !!hoveredPort && hoveredPort.nodeId === handle.nodeId;
78
+ }
79
+ /** Squared distance from `(px,py)` to the segment `a`→`b`. */
80
+ function distToSegmentSq(px, py, a, b) {
81
+ const abx = b.x - a.x;
82
+ const aby = b.y - a.y;
83
+ const lenSq = abx * abx + aby * aby;
84
+ const t = lenSq > 0 ? Math.max(0, Math.min(1, ((px - a.x) * abx + (py - a.y) * aby) / lenSq)) : 0;
85
+ const cx = a.x + t * abx;
86
+ const cy = a.y + t * aby;
87
+ return (px - cx) * (px - cx) + (py - cy) * (py - cy);
88
+ }
89
+ const HALO_ORDER = ['connect', 'clone', 'fork', 'delete'];
90
+ const HALO_LABELS = {
91
+ connect: 'Connect',
92
+ clone: 'Clone',
93
+ fork: 'Fork',
94
+ delete: 'Delete',
95
+ };
96
+ // ============================================================================
97
+ // Pure geometry (exported: these are the bits the gesture tests pin down)
98
+ // ============================================================================
99
+ /** Rotate `(x, y)` about the origin by `deg` degrees (SVG's positive = clockwise). */
100
+ function rotateVector(x, y, deg) {
101
+ if (deg === 0)
102
+ return { x, y };
103
+ const rad = (deg * Math.PI) / 180;
104
+ const cos = Math.cos(rad);
105
+ const sin = Math.sin(rad);
106
+ return { x: x * cos - y * sin, y: x * sin + y * cos };
107
+ }
108
+ /** Rotate `point` about `center` by `deg` degrees. */
109
+ function rotatePoint(point, center, deg) {
110
+ const v = rotateVector(point.x - center.x, point.y - center.y, deg);
111
+ return { x: center.x + v.x, y: center.y + v.y };
112
+ }
113
+ /**
114
+ * Apply a resize drag to a box, in the box's OWN frame.
115
+ *
116
+ * `dx/dy` is the pointer delta since the drag began (same frame as the box). The
117
+ * dragged edge(s) follow the pointer; the opposite edge stays put. Min/max clamp
118
+ * the DRAGGED edge, never the anchored one — so a runaway drag can neither flip
119
+ * nor shrink past the minimum nor grow past the maximum, all mid-gesture.
120
+ */
121
+ function resizeBox(start, handle, dx, dy, options = {}) {
122
+ var _a, _b, _c, _d;
123
+ const minWidth = Math.max(1, (_a = options.minWidth) !== null && _a !== void 0 ? _a : 1);
124
+ const minHeight = Math.max(1, (_b = options.minHeight) !== null && _b !== void 0 ? _b : 1);
125
+ const maxWidth = Math.max(minWidth, (_c = options.maxWidth) !== null && _c !== void 0 ? _c : Infinity);
126
+ const maxHeight = Math.max(minHeight, (_d = options.maxHeight) !== null && _d !== void 0 ? _d : Infinity);
127
+ const movesLeft = handle === 'nw' || handle === 'w' || handle === 'sw';
128
+ const movesRight = handle === 'ne' || handle === 'e' || handle === 'se';
129
+ const movesTop = handle === 'nw' || handle === 'n' || handle === 'ne';
130
+ const movesBottom = handle === 'sw' || handle === 's' || handle === 'se';
131
+ let left = start.x;
132
+ let right = start.x + start.width;
133
+ let top = start.y;
134
+ let bottom = start.y + start.height;
135
+ // Clamp the dragged edge into [min, max] relative to the anchored edge.
136
+ if (movesLeft)
137
+ left = clampEdge(start.x + dx, right - maxWidth, right - minWidth);
138
+ if (movesRight)
139
+ right = clampEdge(start.x + start.width + dx, left + minWidth, left + maxWidth);
140
+ if (movesTop)
141
+ top = clampEdge(start.y + dy, bottom - maxHeight, bottom - minHeight);
142
+ if (movesBottom)
143
+ bottom = clampEdge(start.y + start.height + dy, top + minHeight, top + maxHeight);
144
+ let width = right - left;
145
+ let height = bottom - top;
146
+ // Aspect lock: only meaningful on corners (an edge handle has one free axis).
147
+ const isCorner = (movesLeft || movesRight) && (movesTop || movesBottom);
148
+ const lockRatio = options.aspect && options.aspect > 0
149
+ ? options.aspect
150
+ : options.keepAspect && start.width > 0 && start.height > 0
151
+ ? start.width / start.height
152
+ : 0;
153
+ if (lockRatio > 0 && isCorner) {
154
+ // Grow along the dominant axis so the box always contains the pointer, then
155
+ // re-clamp so the locked axis still honors its own min/max.
156
+ if (width / height > lockRatio) {
157
+ height = clampEdge(width / lockRatio, minHeight, maxHeight);
158
+ width = clampEdge(height * lockRatio, minWidth, maxWidth);
159
+ }
160
+ else {
161
+ width = clampEdge(height * lockRatio, minWidth, maxWidth);
162
+ height = clampEdge(width / lockRatio, minHeight, maxHeight);
163
+ }
164
+ if (movesLeft)
165
+ left = right - width;
166
+ if (movesTop)
167
+ top = bottom - height;
168
+ }
169
+ else if (lockRatio > 0) {
170
+ // resize-ux: aspect lock on an EDGE handle (RF keepAspectRatio parity — a
171
+ // line control resizes BOTH axes there too). The dragged axis follows the
172
+ // pointer (already clamped above); the cross axis derives from the ratio and
173
+ // stays CENTRED, so the box grows symmetrically instead of drifting to one
174
+ // side. If the cross axis clamps, the dragged axis is re-derived — the ratio
175
+ // never breaks, exactly like the corner branch.
176
+ if (movesLeft || movesRight) {
177
+ height = clampEdge(width / lockRatio, minHeight, maxHeight);
178
+ width = clampEdge(height * lockRatio, minWidth, maxWidth);
179
+ top = start.y + start.height / 2 - height / 2;
180
+ if (movesLeft)
181
+ left = right - width;
182
+ }
183
+ else {
184
+ width = clampEdge(height * lockRatio, minWidth, maxWidth);
185
+ height = clampEdge(width / lockRatio, minHeight, maxHeight);
186
+ left = start.x + start.width / 2 - width / 2;
187
+ if (movesTop)
188
+ top = bottom - height;
189
+ }
190
+ }
191
+ return { x: left, y: top, width, height };
192
+ }
193
+ /** Clamp `v` into [lo, hi], tolerating hi < lo (min wins). */
194
+ function clampEdge(v, lo, hi) {
195
+ return Math.max(lo, Math.min(hi, v));
196
+ }
197
+ /**
198
+ * Apply a resize drag to a possibly-ROTATED node.
199
+ *
200
+ * The pointer delta arrives in WORLD space, but the box the user is resizing is
201
+ * drawn in the node's local (unrotated) frame and rotated about its centre. So:
202
+ *
203
+ * 1. rotate the world delta by −θ → the node's local frame;
204
+ * 2. resize the local box;
205
+ * 3. the node re-renders rotated about its NEW centre, so compensate the
206
+ * position by rotating the centre shift back into world space.
207
+ *
208
+ * At θ = 0 this collapses to `pos + (box.x, box.y)`. Getting step 3 wrong is what
209
+ * makes rotated resize "swim" away from the cursor in most implementations.
210
+ */
211
+ function applyResizeToNode(start, handle, worldDx, worldDy, options = {}) {
212
+ var _a;
213
+ const theta = (_a = start.rotation) !== null && _a !== void 0 ? _a : 0;
214
+ const local = rotateVector(worldDx, worldDy, -theta);
215
+ const box = resizeBox({ x: 0, y: 0, width: start.size.width, height: start.size.height }, handle, local.x, local.y, options);
216
+ // Centre of the box before/after, in the node's local frame.
217
+ const oldCenter = { x: start.size.width / 2, y: start.size.height / 2 };
218
+ const newCenter = { x: box.x + box.width / 2, y: box.y + box.height / 2 };
219
+ // The world centre moves by the local centre shift, rotated into world space.
220
+ const shift = rotateVector(newCenter.x - oldCenter.x, newCenter.y - oldCenter.y, theta);
221
+ const worldCenter = {
222
+ x: start.position.x + oldCenter.x + shift.x,
223
+ y: start.position.y + oldCenter.y + shift.y,
224
+ };
225
+ return {
226
+ position: { x: worldCenter.x - box.width / 2, y: worldCenter.y - box.height / 2 },
227
+ size: { width: box.width, height: box.height },
228
+ };
229
+ }
230
+ /** Angle (deg) of `point` seen from `center`; 0° = straight up, growing clockwise. */
231
+ function angleAt(center, point) {
232
+ const dx = point.x - center.x;
233
+ const dy = point.y - center.y;
234
+ // atan2(dx, -dy) puts 0° at "north" and turns clockwise, matching SVG rotate().
235
+ const deg = (Math.atan2(dx, -dy) * 180) / Math.PI;
236
+ return normalizeAngle(deg);
237
+ }
238
+ /** Fold an angle into [0, 360). */
239
+ function normalizeAngle(deg) {
240
+ const mod = deg % 360;
241
+ return mod < 0 ? mod + 360 : mod;
242
+ }
243
+ /** Snap `deg` to the nearest multiple of `step` (step ≤ 0 → unchanged). */
244
+ function snapAngle(deg, step) {
245
+ if (!step || step <= 0)
246
+ return normalizeAngle(deg);
247
+ return normalizeAngle(Math.round(deg / step) * step);
248
+ }
249
+ class SelectionToolsController {
250
+ constructor(config = {}) {
251
+ this.gesture = null;
252
+ this.config = Object.assign(Object.assign({}, exports.DEFAULT_SELECTION_TOOLS_CONFIG), config);
253
+ }
254
+ getConfig() {
255
+ return Object.assign({}, this.config);
256
+ }
257
+ updateConfig(patch) {
258
+ this.config = Object.assign(Object.assign({}, this.config), patch);
259
+ }
260
+ /** True while a resize / rotate / vertex drag owns the pointer. */
261
+ isActive() {
262
+ return this.gesture !== null;
263
+ }
264
+ /** The kind of gesture in flight (`null` when idle) — hosts branch on it. */
265
+ activeGesture() {
266
+ var _a, _b;
267
+ return (_b = (_a = this.gesture) === null || _a === void 0 ? void 0 : _a.kind) !== null && _b !== void 0 ? _b : null;
268
+ }
269
+ /** The node the in-flight gesture is acting on (`null` when idle). Lets a host
270
+ * exclude it from a snap's sibling set — a box must not snap to itself. */
271
+ activeGestureNodeId() {
272
+ var _a;
273
+ const g = this.gesture;
274
+ return (_a = g === null || g === void 0 ? void 0 : g.nodeId) !== null && _a !== void 0 ? _a : null;
275
+ }
276
+ // ==========================================================================
277
+ // The layer
278
+ // ==========================================================================
279
+ /**
280
+ * Compute the tool layer for the CURRENT selection.
281
+ *
282
+ * `zoom` converts the screen-px sizes in the config into world units, so the
283
+ * handles are the same physical size at every zoom level.
284
+ *
285
+ * Scope note (deliberate): resize + rotate are offered for a SINGLE selected
286
+ * node. A multi-node selection gets the bounding frame, the halo and the remove
287
+ * button — proportional multi-node resize is not implemented.
288
+ */
289
+ computeLayer(engine, zoom = 1) {
290
+ var _a, _b, _c, _d, _e;
291
+ const empty = {
292
+ bounds: null,
293
+ rotation: 0,
294
+ center: null,
295
+ nodeIds: [],
296
+ linkIds: [],
297
+ handles: [],
298
+ };
299
+ const diagram = (_a = engine === null || engine === void 0 ? void 0 : engine.getDiagram) === null || _a === void 0 ? void 0 : _a.call(engine);
300
+ if (!diagram)
301
+ return empty;
302
+ const scale = zoom > 0 ? 1 / zoom : 1;
303
+ const nodes = diagram.getNodes().filter((n) => n.isSelected());
304
+ const links = diagram.getLinks().filter((l) => l.state === 'selected');
305
+ if (nodes.length === 0 && links.length === 0)
306
+ return empty;
307
+ // Link-only selection → link tools (endpoints + vertices + remove).
308
+ if (nodes.length === 0) {
309
+ return this.computeLinkLayer(links, scale);
310
+ }
311
+ const single = nodes.length === 1 ? nodes[0] : null;
312
+ const bounds = this.unionBounds(nodes);
313
+ if (!bounds)
314
+ return empty;
315
+ const rotation = single ? single.rotation || 0 : 0;
316
+ const center = { x: bounds.x + bounds.width / 2, y: bounds.y + bounds.height / 2 };
317
+ const handles = [];
318
+ const place = (u, v) => rotatePoint({ x: bounds.x + u * bounds.width, y: bounds.y + v * bounds.height }, center, rotation);
319
+ const hitRadius = (this.config.handleSize * scale) / 2 + 2 * scale;
320
+ // Card 6 — per-node toolbar policy (node metadata + host resolver). A single
321
+ // node's tools are filtered by it; a multi-selection uses the global default.
322
+ const toolbar = single ? (0, node_toolbar_1.resolveToolbar)(single, this.config.resolveNodeToolbar) : {};
323
+ // 8 resize handles — single node, resizable, unlocked.
324
+ if (single &&
325
+ this.config.showResizeHandles &&
326
+ (0, node_toolbar_1.toolbarAllows)(toolbar, 'resize') &&
327
+ ((_b = single.behavior) === null || _b === void 0 ? void 0 : _b.resizable) !== false &&
328
+ !((_c = single.state) === null || _c === void 0 ? void 0 : _c.locked)) {
329
+ for (const handleId of exports.RESIZE_HANDLE_IDS) {
330
+ const anchor = RESIZE_ANCHORS[handleId];
331
+ // resize-ux: side handles own their WHOLE edge (see ToolHandle.segment).
332
+ const edge = SIDE_EDGE_CORNERS[handleId];
333
+ handles.push(Object.assign({ id: `resize-${handleId}`, kind: 'resize', handleId, nodeId: single.id, world: place(anchor.u, anchor.v), hitRadius, cursor: RESIZE_CURSORS[handleId], label: `Resize ${handleId}` }, (edge
334
+ ? { segment: { a: place(edge[0].u, edge[0].v), b: place(edge[1].u, edge[1].v) } }
335
+ : {})));
336
+ }
337
+ }
338
+ // Rotate handle: above the top edge, in the node's rotated frame.
339
+ if (single &&
340
+ this.config.showRotateHandle &&
341
+ (0, node_toolbar_1.toolbarAllows)(toolbar, 'rotate') &&
342
+ ((_d = single.behavior) === null || _d === void 0 ? void 0 : _d.rotatable) === true &&
343
+ !((_e = single.state) === null || _e === void 0 ? void 0 : _e.locked)) {
344
+ const raw = {
345
+ x: center.x,
346
+ y: bounds.y - this.config.rotateHandleOffset * scale,
347
+ };
348
+ handles.push({
349
+ id: 'rotate',
350
+ kind: 'rotate',
351
+ nodeId: single.id,
352
+ world: rotatePoint(raw, center, rotation),
353
+ hitRadius,
354
+ cursor: 'grab',
355
+ label: 'Rotate',
356
+ });
357
+ }
358
+ // Remove button: just outside the top-right corner.
359
+ if (this.config.showRemoveButton && (!single || (0, node_toolbar_1.toolbarAllows)(toolbar, 'remove'))) {
360
+ const raw = {
361
+ x: bounds.x + bounds.width + this.config.haloGap * scale * 0.5,
362
+ y: bounds.y - this.config.haloGap * scale * 0.5,
363
+ };
364
+ handles.push({
365
+ id: 'remove',
366
+ kind: 'remove',
367
+ nodeId: single === null || single === void 0 ? void 0 : single.id,
368
+ world: rotatePoint(raw, center, rotation),
369
+ hitRadius: (this.config.haloButtonSize * scale) / 2,
370
+ cursor: 'pointer',
371
+ label: 'Remove',
372
+ });
373
+ }
374
+ // Halo: a column of context buttons to the RIGHT of the selection.
375
+ if (this.config.showHalo) {
376
+ const size = this.config.haloButtonSize * scale;
377
+ const gap = this.config.haloGap * scale;
378
+ HALO_ORDER.forEach((action, i) => {
379
+ // `connect` and `fork` need a source node — hide them for multi-select.
380
+ if (!single && (action === 'connect' || action === 'fork'))
381
+ return;
382
+ // Card 6 — per-node halo policy (halo:false or an action allow-list).
383
+ if (single && !(0, node_toolbar_1.haloAllows)(toolbar, action))
384
+ return;
385
+ handles.push({
386
+ id: `halo-${action}`,
387
+ kind: 'halo',
388
+ action,
389
+ nodeId: single === null || single === void 0 ? void 0 : single.id,
390
+ world: {
391
+ x: bounds.x + bounds.width + gap + size / 2,
392
+ y: bounds.y + size / 2 + i * (size + 4 * scale),
393
+ },
394
+ hitRadius: size / 2,
395
+ cursor: 'pointer',
396
+ label: HALO_LABELS[action],
397
+ });
398
+ });
399
+ }
400
+ return {
401
+ bounds,
402
+ rotation,
403
+ center,
404
+ nodeIds: nodes.map((n) => n.id),
405
+ linkIds: links.map((l) => l.id),
406
+ handles,
407
+ };
408
+ }
409
+ /** Link tools: endpoint reconnect anchors, add/remove-vertex, remove. */
410
+ computeLinkLayer(links, scale) {
411
+ var _a;
412
+ const handles = [];
413
+ const link = links[0];
414
+ if (!link || !this.config.showLinkTools) {
415
+ return {
416
+ bounds: null,
417
+ rotation: 0,
418
+ center: null,
419
+ nodeIds: [],
420
+ linkIds: links.map((l) => l.id),
421
+ handles,
422
+ };
423
+ }
424
+ const points = (_a = link.points) !== null && _a !== void 0 ? _a : [];
425
+ if (points.length >= 2) {
426
+ const hitRadius = (this.config.handleSize * scale) / 2 + 2 * scale;
427
+ handles.push({
428
+ id: `endpoint-source-${link.id}`,
429
+ kind: 'link-endpoint',
430
+ endpoint: 'source',
431
+ linkId: link.id,
432
+ world: Object.assign({}, points[0]),
433
+ hitRadius,
434
+ cursor: 'move',
435
+ label: 'Reconnect source',
436
+ });
437
+ handles.push({
438
+ id: `endpoint-target-${link.id}`,
439
+ kind: 'link-endpoint',
440
+ endpoint: 'target',
441
+ linkId: link.id,
442
+ world: Object.assign({}, points[points.length - 1]),
443
+ hitRadius,
444
+ cursor: 'move',
445
+ label: 'Reconnect target',
446
+ });
447
+ // One "+" per segment midpoint → add a vertex there.
448
+ for (let i = 0; i < points.length - 1; i++) {
449
+ const a = points[i];
450
+ const b = points[i + 1];
451
+ handles.push({
452
+ id: `vertex-add-${link.id}-${i}`,
453
+ kind: 'vertex-add',
454
+ index: i,
455
+ linkId: link.id,
456
+ world: { x: (a.x + b.x) / 2, y: (a.y + b.y) / 2 },
457
+ hitRadius: hitRadius * 0.9,
458
+ cursor: 'copy',
459
+ label: `Add vertex on segment ${i + 1}`,
460
+ });
461
+ }
462
+ // One "−" per interior vertex → remove it.
463
+ for (let i = 1; i < points.length - 1; i++) {
464
+ handles.push({
465
+ id: `vertex-remove-${link.id}-${i}`,
466
+ kind: 'vertex-remove',
467
+ index: i,
468
+ linkId: link.id,
469
+ world: Object.assign({}, points[i]),
470
+ hitRadius,
471
+ cursor: 'pointer',
472
+ label: `Remove vertex ${i}`,
473
+ });
474
+ }
475
+ }
476
+ if (this.config.showRemoveButton && points.length >= 2) {
477
+ const mid = points[Math.floor(points.length / 2)];
478
+ handles.push({
479
+ id: `remove-link-${link.id}`,
480
+ kind: 'remove',
481
+ linkId: link.id,
482
+ world: { x: mid.x, y: mid.y - this.config.haloGap * scale * 1.5 },
483
+ hitRadius: (this.config.haloButtonSize * scale) / 2,
484
+ cursor: 'pointer',
485
+ label: 'Remove link',
486
+ });
487
+ }
488
+ return {
489
+ bounds: null,
490
+ rotation: 0,
491
+ center: null,
492
+ nodeIds: [],
493
+ linkIds: links.map((l) => l.id),
494
+ handles,
495
+ };
496
+ }
497
+ /**
498
+ * Which tool (if any) is under a world point.
499
+ *
500
+ * Later handles win ties, so the halo/remove buttons (emitted last) stay
501
+ * clickable where they overlap a resize handle.
502
+ *
503
+ * resize-ux: a handle that carries a `segment` (the four side resize handles)
504
+ * hit-tests as a BAND around that segment — the whole edge is grabbable, the
505
+ * React Flow line behaviour. POINT handles always beat bands: the corner dots
506
+ * sit exactly where two bands end, and the dot must win its own pixel (RF
507
+ * draws the dots on top of the lines for the same reason). Halo/remove/rotate
508
+ * are point handles, so their priority over resize is unchanged.
509
+ */
510
+ hitTest(layer, worldX, worldY) {
511
+ return this.hitHandles(layer.handles, worldX, worldY, 0);
512
+ }
513
+ /**
514
+ * resize-ux: the RESIZE handle under a world point, with optional extra grab
515
+ * slop (world units). One entry point for the mouse ladder (slop 0) and the
516
+ * touch ladder (finger-sized slop), so bands and dots grow identically.
517
+ */
518
+ hitTestResize(layer, worldX, worldY, slop = 0) {
519
+ const hit = this.hitHandles(layer.handles.filter((h) => h.kind === 'resize'), worldX, worldY, slop);
520
+ return hit && hit.kind === 'resize' ? hit : null;
521
+ }
522
+ hitHandles(handles, worldX, worldY, slop) {
523
+ let bestPoint = null;
524
+ let bestBand = null;
525
+ for (const handle of handles) {
526
+ const r = handle.hitRadius + slop;
527
+ if (handle.segment) {
528
+ if (distToSegmentSq(worldX, worldY, handle.segment.a, handle.segment.b) <= r * r) {
529
+ bestBand = handle;
530
+ }
531
+ }
532
+ else {
533
+ const dx = worldX - handle.world.x;
534
+ const dy = worldY - handle.world.y;
535
+ if (dx * dx + dy * dy <= r * r) {
536
+ bestPoint = handle;
537
+ }
538
+ }
539
+ }
540
+ return bestPoint !== null && bestPoint !== void 0 ? bestPoint : bestBand;
541
+ }
542
+ /** World bbox of a node set. */
543
+ unionBounds(nodes) {
544
+ let left = Infinity;
545
+ let top = Infinity;
546
+ let right = -Infinity;
547
+ let bottom = -Infinity;
548
+ for (const node of nodes) {
549
+ const box = node.getBoundingBox();
550
+ left = Math.min(left, box.left);
551
+ top = Math.min(top, box.top);
552
+ right = Math.max(right, box.right);
553
+ bottom = Math.max(bottom, box.bottom);
554
+ }
555
+ if (!isFinite(left) || !isFinite(top))
556
+ return null;
557
+ return { x: left, y: top, width: right - left, height: bottom - top };
558
+ }
559
+ // ==========================================================================
560
+ // Resize gesture
561
+ // ==========================================================================
562
+ /** Arm a resize. Returns false when the handle/node is not resizable. */
563
+ beginResize(handle, engine, worldX, worldY) {
564
+ var _a;
565
+ const node = handle.nodeId ? (_a = engine.getDiagram()) === null || _a === void 0 ? void 0 : _a.getNode(handle.nodeId) : undefined;
566
+ if (!node || !handle.handleId)
567
+ return false;
568
+ const sizing = (0, node_sizing_1.getNodeSizing)(node);
569
+ // Card 6 — resize an AUTO-SIZED node sensibly: a manual drag takes control, so
570
+ // PIN the node (turn auto off) for the duration; otherwise the next auto-size
571
+ // pass would immediately fight the drag and the box would snap back. The prior
572
+ // flag is remembered so cancelGesture can restore it.
573
+ let pinnedAuto;
574
+ if (sizing.auto) {
575
+ pinnedAuto = true;
576
+ node.setMetadata('sizing', Object.assign(Object.assign({}, sizing), { auto: false }));
577
+ }
578
+ this.gesture = {
579
+ kind: 'resize',
580
+ nodeId: node.id,
581
+ handle: handle.handleId,
582
+ startPointer: { x: worldX, y: worldY },
583
+ startPosition: { x: node.position.x, y: node.position.y },
584
+ startSize: { width: node.size.width, height: node.size.height },
585
+ startRotation: node.rotation || 0,
586
+ sizing,
587
+ pinnedAuto,
588
+ };
589
+ return true;
590
+ }
591
+ /**
592
+ * Live-resize the node (direct model mutation, like the drag tool: smooth, no
593
+ * command churn — the single undo entry is minted at {@link endGesture}).
594
+ * `snap` optionally quantises the resulting box (grid / alignment) — the host
595
+ * passes the SnapController's hook so Card 6 composes with Card 5.
596
+ */
597
+ updateResize(engine, worldX, worldY, modifiers = {}, snap) {
598
+ var _a, _b, _c;
599
+ const gesture = this.gesture;
600
+ if (!gesture || gesture.kind !== 'resize')
601
+ return false;
602
+ const node = (_a = engine.getDiagram()) === null || _a === void 0 ? void 0 : _a.getNode(gesture.nodeId);
603
+ if (!node)
604
+ return false;
605
+ // Card 6 — per-node constraints, clamped DURING the gesture (not after): the
606
+ // node's own min/max win, with the controller minimum as the floor; a
607
+ // per-node aspect lock forces the ratio even without Shift.
608
+ const sizing = gesture.sizing;
609
+ const minWidth = Math.max(this.config.minWidth, (_b = sizing.minWidth) !== null && _b !== void 0 ? _b : 0);
610
+ const minHeight = Math.max(this.config.minHeight, (_c = sizing.minHeight) !== null && _c !== void 0 ? _c : 0);
611
+ const lockedAspect = (0, node_sizing_1.resolveAspectRatio)(sizing, gesture.startSize);
612
+ const next = applyResizeToNode({
613
+ position: gesture.startPosition,
614
+ size: gesture.startSize,
615
+ rotation: gesture.startRotation,
616
+ }, gesture.handle, worldX - gesture.startPointer.x, worldY - gesture.startPointer.y, {
617
+ minWidth,
618
+ minHeight,
619
+ maxWidth: sizing.maxWidth,
620
+ maxHeight: sizing.maxHeight,
621
+ keepAspect: modifiers.shift === true,
622
+ aspect: lockedAspect !== null && lockedAspect !== void 0 ? lockedAspect : undefined,
623
+ });
624
+ let box = {
625
+ x: next.position.x,
626
+ y: next.position.y,
627
+ width: next.size.width,
628
+ height: next.size.height,
629
+ };
630
+ // Snapping is only meaningful in the unrotated frame; skip it for rotated
631
+ // nodes rather than snapping a box that isn't axis-aligned on screen.
632
+ if (snap && (gesture.startRotation || 0) === 0) {
633
+ box = snap(box);
634
+ }
635
+ // Final clamp so a snap can't push the box outside the node's min/max.
636
+ const clamped = (0, node_sizing_1.clampSizeToConstraints)(box.width, box.height, sizing, {
637
+ floorWidth: this.config.minWidth,
638
+ floorHeight: this.config.minHeight,
639
+ });
640
+ node.setPosition(box.x, box.y, node.position.z);
641
+ node.setSize(clamped.width, clamped.height);
642
+ node.markDirty('resized');
643
+ return true;
644
+ }
645
+ // ==========================================================================
646
+ // Rotate gesture
647
+ // ==========================================================================
648
+ beginRotate(handle, engine, worldX, worldY) {
649
+ var _a;
650
+ const node = handle.nodeId ? (_a = engine.getDiagram()) === null || _a === void 0 ? void 0 : _a.getNode(handle.nodeId) : undefined;
651
+ if (!node)
652
+ return false;
653
+ const box = node.getBoundingBox();
654
+ const center = { x: (box.left + box.right) / 2, y: (box.top + box.bottom) / 2 };
655
+ this.gesture = {
656
+ kind: 'rotate',
657
+ nodeId: node.id,
658
+ center,
659
+ startRotation: node.rotation || 0,
660
+ startAngle: angleAt(center, { x: worldX, y: worldY }),
661
+ };
662
+ return true;
663
+ }
664
+ /** Live-rotate; Shift snaps to `rotationSnapDegrees`. */
665
+ updateRotate(engine, worldX, worldY, modifiers = {}) {
666
+ var _a;
667
+ const gesture = this.gesture;
668
+ if (!gesture || gesture.kind !== 'rotate')
669
+ return false;
670
+ const node = (_a = engine.getDiagram()) === null || _a === void 0 ? void 0 : _a.getNode(gesture.nodeId);
671
+ if (!node)
672
+ return false;
673
+ const current = angleAt(gesture.center, { x: worldX, y: worldY });
674
+ let rotation = normalizeAngle(gesture.startRotation + (current - gesture.startAngle));
675
+ if (modifiers.shift) {
676
+ rotation = snapAngle(rotation, this.config.rotationSnapDegrees);
677
+ }
678
+ node.setRotation(rotation);
679
+ node.markDirty('rotated');
680
+ return true;
681
+ }
682
+ // ==========================================================================
683
+ // Vertex (waypoint) drag
684
+ // ==========================================================================
685
+ beginVertexDrag(handle, engine) {
686
+ var _a;
687
+ const link = handle.linkId ? (_a = engine.getDiagram()) === null || _a === void 0 ? void 0 : _a.getLink(handle.linkId) : undefined;
688
+ if (!link || handle.index === undefined)
689
+ return false;
690
+ this.gesture = {
691
+ kind: 'vertex',
692
+ linkId: link.id,
693
+ index: handle.index,
694
+ startPoints: link.points.map((p) => (Object.assign({}, p))),
695
+ };
696
+ return true;
697
+ }
698
+ updateVertexDrag(engine, worldX, worldY, snapPoint) {
699
+ var _a;
700
+ const gesture = this.gesture;
701
+ if (!gesture || gesture.kind !== 'vertex')
702
+ return false;
703
+ const link = (_a = engine.getDiagram()) === null || _a === void 0 ? void 0 : _a.getLink(gesture.linkId);
704
+ if (!link)
705
+ return false;
706
+ const points = link.points.map((p) => (Object.assign({}, p)));
707
+ if (gesture.index <= 0 || gesture.index >= points.length - 1)
708
+ return false;
709
+ const moved = snapPoint ? snapPoint({ x: worldX, y: worldY }) : { x: worldX, y: worldY };
710
+ points[gesture.index] = moved;
711
+ link.setPoints(points);
712
+ link.setMetadata('hasManualWaypoints', true);
713
+ link.markDirty('vertex-dragged');
714
+ return true;
715
+ }
716
+ // ==========================================================================
717
+ // Commit
718
+ // ==========================================================================
719
+ /**
720
+ * End the active gesture and return the ONE command that makes it undoable
721
+ * (null for a no-op gesture). The model already sits at its final state — the
722
+ * command re-applies it (a no-op) and records the inverse, exactly like the
723
+ * wave-3 node-drag commit.
724
+ */
725
+ endGesture(engine) {
726
+ const gesture = this.gesture;
727
+ this.gesture = null;
728
+ if (!gesture)
729
+ return null;
730
+ const diagram = engine.getDiagram();
731
+ if (!diagram)
732
+ return null;
733
+ if (gesture.kind === 'resize') {
734
+ const node = diagram.getNode(gesture.nodeId);
735
+ if (!node)
736
+ return null;
737
+ const movedX = node.position.x !== gesture.startPosition.x;
738
+ const movedY = node.position.y !== gesture.startPosition.y;
739
+ const resized = node.size.width !== gesture.startSize.width ||
740
+ node.size.height !== gesture.startSize.height;
741
+ if (!movedX && !movedY && !resized)
742
+ return null;
743
+ const resize = new engine_1.ResizeNodeCommand(node.id, { width: node.size.width, height: node.size.height }, { width: gesture.startSize.width, height: gesture.startSize.height });
744
+ if (!movedX && !movedY)
745
+ return resize;
746
+ // A corner/edge resize also MOVES the node (the anchored edge stays put),
747
+ // so the undo step is the pair — as one MacroCommand.
748
+ const macro = new engine_1.MacroCommand('Resize Node');
749
+ macro.addStep(new engine_1.MoveNodeCommand(node.id, { x: node.position.x, y: node.position.y, z: node.position.z }, { x: gesture.startPosition.x, y: gesture.startPosition.y, z: node.position.z }, { mergeable: false }));
750
+ macro.addStep(resize);
751
+ return macro;
752
+ }
753
+ if (gesture.kind === 'rotate') {
754
+ const node = diagram.getNode(gesture.nodeId);
755
+ if (!node)
756
+ return null;
757
+ if (node.rotation === gesture.startRotation)
758
+ return null;
759
+ return new engine_1.RotateNodeCommand(node.id, node.rotation, gesture.startRotation);
760
+ }
761
+ // vertex
762
+ const link = diagram.getLink(gesture.linkId);
763
+ if (!link)
764
+ return null;
765
+ if (samePoints(link.points, gesture.startPoints))
766
+ return null;
767
+ return new engine_1.SetLinkPointsCommand(link.id, link.points.map((p) => (Object.assign({}, p))), gesture.startPoints);
768
+ }
769
+ /** Abandon the gesture, restoring the model to its pre-gesture state. */
770
+ cancelGesture(engine) {
771
+ const gesture = this.gesture;
772
+ this.gesture = null;
773
+ if (!gesture)
774
+ return;
775
+ const diagram = engine.getDiagram();
776
+ if (!diagram)
777
+ return;
778
+ if (gesture.kind === 'resize') {
779
+ const node = diagram.getNode(gesture.nodeId);
780
+ node === null || node === void 0 ? void 0 : node.setPosition(gesture.startPosition.x, gesture.startPosition.y, node.position.z);
781
+ node === null || node === void 0 ? void 0 : node.setSize(gesture.startSize.width, gesture.startSize.height);
782
+ // Restore the auto-size flag the gesture pinned off (Card 6).
783
+ if (node && gesture.pinnedAuto) {
784
+ node.setMetadata('sizing', Object.assign(Object.assign({}, (0, node_sizing_1.getNodeSizing)(node)), { auto: true }));
785
+ }
786
+ node === null || node === void 0 ? void 0 : node.markDirty('resize-cancelled');
787
+ }
788
+ else if (gesture.kind === 'rotate') {
789
+ const node = diagram.getNode(gesture.nodeId);
790
+ node === null || node === void 0 ? void 0 : node.setRotation(gesture.startRotation);
791
+ node === null || node === void 0 ? void 0 : node.markDirty('rotate-cancelled');
792
+ }
793
+ else {
794
+ const link = diagram.getLink(gesture.linkId);
795
+ link === null || link === void 0 ? void 0 : link.setPoints(gesture.startPoints.map((p) => (Object.assign({}, p))));
796
+ link === null || link === void 0 ? void 0 : link.markDirty('vertex-cancelled');
797
+ }
798
+ }
799
+ // ==========================================================================
800
+ // Click tools (no drag): vertex add/remove, remove, halo
801
+ // ==========================================================================
802
+ /** Insert a vertex at the clicked segment midpoint. Undoable. */
803
+ addVertexCommand(handle, engine) {
804
+ var _a;
805
+ const link = handle.linkId ? (_a = engine.getDiagram()) === null || _a === void 0 ? void 0 : _a.getLink(handle.linkId) : undefined;
806
+ if (!link || handle.index === undefined)
807
+ return null;
808
+ const points = link.points.map((p) => (Object.assign({}, p)));
809
+ if (handle.index < 0 || handle.index >= points.length - 1)
810
+ return null;
811
+ const next = [...points];
812
+ next.splice(handle.index + 1, 0, Object.assign({}, handle.world));
813
+ return new engine_1.SetLinkPointsCommand(link.id, next, points);
814
+ }
815
+ /** Remove the vertex under the tool. Undoable. */
816
+ removeVertexCommand(handle, engine) {
817
+ var _a;
818
+ const link = handle.linkId ? (_a = engine.getDiagram()) === null || _a === void 0 ? void 0 : _a.getLink(handle.linkId) : undefined;
819
+ if (!link || handle.index === undefined)
820
+ return null;
821
+ const points = link.points.map((p) => (Object.assign({}, p)));
822
+ if (handle.index <= 0 || handle.index >= points.length - 1)
823
+ return null;
824
+ const next = points.filter((_, i) => i !== handle.index);
825
+ return new engine_1.SetLinkPointsCommand(link.id, next, points);
826
+ }
827
+ /**
828
+ * The command behind a remove button / halo `delete`: drop the whole selection
829
+ * (every selected node AND link) in ONE undo step.
830
+ */
831
+ removeSelectionCommand(engine) {
832
+ const diagram = engine.getDiagram();
833
+ if (!diagram)
834
+ return null;
835
+ const nodes = diagram.getNodes().filter((n) => n.isSelected());
836
+ const links = diagram.getLinks().filter((l) => l.state === 'selected');
837
+ if (nodes.length === 0 && links.length === 0)
838
+ return null;
839
+ if (nodes.length === 1 && links.length === 0) {
840
+ return new engine_1.RemoveNodeCommand(nodes[0].id);
841
+ }
842
+ if (nodes.length === 0 && links.length === 1) {
843
+ return new engine_1.RemoveLinkCommand(links[0].id);
844
+ }
845
+ const macro = new engine_1.MacroCommand(`Remove ${nodes.length + links.length} items`);
846
+ // Links first: removing a node cascades its links, and a RemoveLinkCommand for
847
+ // an already-removed link would fail canExecute.
848
+ links.forEach((l) => macro.addStep(new engine_1.RemoveLinkCommand(l.id)));
849
+ nodes.forEach((n) => macro.addStep(new engine_1.RemoveNodeCommand(n.id)));
850
+ return macro;
851
+ }
852
+ /**
853
+ * Halo `clone`: a copy of the node, offset, as one undoable AddNodeCommand.
854
+ * Ports get fresh ids (via the engine's shared {@link remapNodePortIds}) so the
855
+ * clone never shares port identity with its source — the bug paste/duplicate
856
+ * already learned.
857
+ */
858
+ cloneNodeCommand(engine, nodeId, offset = { x: 40, y: 40 }) {
859
+ const clone = this.buildClone(engine, nodeId, offset);
860
+ return clone ? new engine_1.AddNodeCommand(clone.node) : null;
861
+ }
862
+ /**
863
+ * Halo `fork`: clone the node AND link the original to the clone — one undo
864
+ * step (MacroCommand). The link runs from an output-capable port on the source
865
+ * to an input-capable port on the clone; null when either side has no usable port.
866
+ */
867
+ forkNodeCommand(engine, nodeId, offset = { x: 160, y: 0 }) {
868
+ const diagram = engine.getDiagram();
869
+ const source = diagram === null || diagram === void 0 ? void 0 : diagram.getNode(nodeId);
870
+ if (!diagram || !source)
871
+ return null;
872
+ const clone = this.buildClone(engine, nodeId, offset);
873
+ if (!clone)
874
+ return null;
875
+ const sourcePort = source.getPorts().find((p) => p.type === 'output' || p.type === 'bi');
876
+ const targetPort = clone.node.getPorts().find((p) => p.type === 'input' || p.type === 'bi');
877
+ if (!sourcePort || !targetPort)
878
+ return null;
879
+ // LinkModel's constructor is positional; the node-id caches are set after.
880
+ const link = new engine_1.LinkModel(sourcePort.id, targetPort.id);
881
+ link.setSourcePort(sourcePort.id, source.id);
882
+ link.setTargetPort(targetPort.id, clone.node.id);
883
+ const macro = new engine_1.MacroCommand('Fork Node');
884
+ macro.addStep(new engine_1.AddNodeCommand(clone.node));
885
+ macro.addStep(new engine_1.AddLinkCommand(link));
886
+ return macro;
887
+ }
888
+ /** Deserialize → re-id → offset. Shared by clone + fork. */
889
+ buildClone(engine, nodeId, offset) {
890
+ var _a;
891
+ const node = (_a = engine.getDiagram()) === null || _a === void 0 ? void 0 : _a.getNode(nodeId);
892
+ if (!node)
893
+ return null;
894
+ // Same recipe PasteCommand uses: fresh node id, then fresh port ids (fromJSON
895
+ // restores the ORIGINAL port ids, which would make two live nodes share port
896
+ // identity and break every link lookup that resolves a node by port id).
897
+ const data = node.serialize();
898
+ const newId = (0, engine_1.generateId)();
899
+ const clone = engine_1.NodeModel.fromJSON(Object.assign(Object.assign({}, data), { id: newId }));
900
+ (0, engine_1.remapNodePortIds)(clone, newId, new Map());
901
+ clone.setPosition(node.position.x + offset.x, node.position.y + offset.y, node.position.z);
902
+ // A clone starts unselected; the host selects it after the command lands.
903
+ clone.setState({ selected: false, hovered: false });
904
+ return { node: clone };
905
+ }
906
+ }
907
+ exports.SelectionToolsController = SelectionToolsController;
908
+ /** Point-array equality (used to suppress no-op vertex commits). */
909
+ function samePoints(a, b) {
910
+ if (a.length !== b.length)
911
+ return false;
912
+ for (let i = 0; i < a.length; i++) {
913
+ if (a[i].x !== b[i].x || a[i].y !== b[i].y)
914
+ return false;
915
+ }
916
+ return true;
917
+ }
918
+ //# sourceMappingURL=selection-tools.js.map