@eclipse-glsp/client 1.1.0-next.e193103.187 → 1.1.0-next.e8bdd69.287

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 (1355) hide show
  1. package/README.md +2 -2
  2. package/css/autocomplete-palette.css +22 -0
  3. package/css/decoration.css +1 -8
  4. package/css/glsp-sprotty.css +45 -22
  5. package/css/key-shortcut.css +111 -0
  6. package/css/keyboard-tool-palette.css +66 -0
  7. package/css/keyboard.css +50 -0
  8. package/css/navigation.css +26 -0
  9. package/css/status-overlay.css +75 -0
  10. package/css/toast.css +45 -0
  11. package/lib/base/action-dispatcher.d.ts +10 -19
  12. package/lib/base/action-dispatcher.d.ts.map +1 -1
  13. package/lib/base/action-dispatcher.js +28 -16
  14. package/lib/base/action-dispatcher.js.map +1 -1
  15. package/lib/base/action-dispatcher.spec.d.ts +2 -0
  16. package/lib/base/action-dispatcher.spec.d.ts.map +1 -0
  17. package/lib/base/action-dispatcher.spec.js +78 -0
  18. package/lib/base/action-dispatcher.spec.js.map +1 -0
  19. package/lib/base/action-handler-registry.d.ts +25 -0
  20. package/lib/base/action-handler-registry.d.ts.map +1 -0
  21. package/lib/base/action-handler-registry.js +40 -0
  22. package/lib/base/action-handler-registry.js.map +1 -0
  23. package/lib/base/args-feature.d.ts +30 -0
  24. package/lib/base/args-feature.d.ts.map +1 -0
  25. package/lib/base/args-feature.js +13 -0
  26. package/lib/base/args-feature.js.map +1 -0
  27. package/lib/base/auto-complete/auto-complete-actions.d.ts +3 -2
  28. package/lib/base/auto-complete/auto-complete-actions.d.ts.map +1 -1
  29. package/lib/base/auto-complete/auto-complete-actions.js +4 -4
  30. package/lib/base/auto-complete/auto-complete-actions.js.map +1 -1
  31. package/lib/base/auto-complete/auto-complete-widget.d.ts +17 -12
  32. package/lib/base/auto-complete/auto-complete-widget.d.ts.map +1 -1
  33. package/lib/base/auto-complete/auto-complete-widget.js +35 -34
  34. package/lib/base/auto-complete/auto-complete-widget.js.map +1 -1
  35. package/lib/base/auto-complete/autocomplete-suggestion-providers.d.ts +35 -0
  36. package/lib/base/auto-complete/autocomplete-suggestion-providers.d.ts.map +1 -0
  37. package/lib/base/auto-complete/autocomplete-suggestion-providers.js +18 -0
  38. package/lib/base/auto-complete/autocomplete-suggestion-providers.js.map +1 -0
  39. package/lib/base/auto-complete/base-autocomplete-palette.d.ts +45 -0
  40. package/lib/base/auto-complete/base-autocomplete-palette.d.ts.map +1 -0
  41. package/lib/base/auto-complete/base-autocomplete-palette.js +88 -0
  42. package/lib/base/auto-complete/base-autocomplete-palette.js.map +1 -0
  43. package/lib/base/auto-complete/validation-decorator.d.ts +16 -1
  44. package/lib/base/auto-complete/validation-decorator.d.ts.map +1 -1
  45. package/lib/base/auto-complete/validation-decorator.js +7 -8
  46. package/lib/base/auto-complete/validation-decorator.js.map +1 -1
  47. package/lib/base/command-stack.d.ts +19 -5
  48. package/lib/base/command-stack.d.ts.map +1 -1
  49. package/lib/base/command-stack.js +45 -14
  50. package/lib/base/command-stack.js.map +1 -1
  51. package/lib/base/default.module.d.ts +24 -0
  52. package/lib/base/default.module.d.ts.map +1 -0
  53. package/lib/base/default.module.js +92 -0
  54. package/lib/base/default.module.js.map +1 -0
  55. package/lib/base/drag-aware-mouse-listener.d.ts +9 -10
  56. package/lib/base/drag-aware-mouse-listener.d.ts.map +1 -1
  57. package/lib/base/drag-aware-mouse-listener.js +16 -1
  58. package/lib/base/drag-aware-mouse-listener.js.map +1 -1
  59. package/lib/base/editor-context-service.d.ts +29 -30
  60. package/lib/base/editor-context-service.d.ts.map +1 -1
  61. package/lib/base/editor-context-service.js +72 -30
  62. package/lib/base/editor-context-service.js.map +1 -1
  63. package/lib/base/feedback/css-feedback.d.ts +42 -0
  64. package/lib/base/feedback/css-feedback.d.ts.map +1 -0
  65. package/lib/base/feedback/css-feedback.js +116 -0
  66. package/lib/base/feedback/css-feedback.js.map +1 -0
  67. package/lib/base/feedback/feedback-action-dispatcher.d.ts +52 -0
  68. package/lib/base/feedback/feedback-action-dispatcher.d.ts.map +1 -0
  69. package/lib/base/feedback/feedback-action-dispatcher.js +83 -0
  70. package/lib/base/feedback/feedback-action-dispatcher.js.map +1 -0
  71. package/lib/base/feedback/feedback-command.d.ts +22 -0
  72. package/lib/base/feedback/feedback-command.d.ts.map +1 -0
  73. package/lib/base/feedback/feedback-command.js +34 -0
  74. package/lib/base/feedback/feedback-command.js.map +1 -0
  75. package/lib/base/feedback/update-model-command.d.ts +19 -0
  76. package/lib/base/feedback/update-model-command.d.ts.map +1 -0
  77. package/lib/base/feedback/update-model-command.js +91 -0
  78. package/lib/base/feedback/update-model-command.js.map +1 -0
  79. package/lib/base/focus/focus-state-change-action.d.ts +33 -0
  80. package/lib/base/focus/focus-state-change-action.d.ts.map +1 -0
  81. package/lib/base/focus/focus-state-change-action.js +35 -0
  82. package/lib/base/focus/focus-state-change-action.js.map +1 -0
  83. package/lib/base/focus/focus-tracker.d.ts +13 -0
  84. package/lib/base/focus/focus-tracker.d.ts.map +1 -0
  85. package/lib/base/focus/focus-tracker.js +71 -0
  86. package/lib/base/focus/focus-tracker.js.map +1 -0
  87. package/lib/base/model/diagram-loader.d.ts +116 -0
  88. package/lib/base/model/diagram-loader.d.ts.map +1 -0
  89. package/lib/base/model/diagram-loader.js +130 -0
  90. package/lib/base/model/diagram-loader.js.map +1 -0
  91. package/lib/base/model/glsp-model-source.d.ts +74 -0
  92. package/lib/base/model/glsp-model-source.d.ts.map +1 -0
  93. package/lib/base/model/glsp-model-source.js +178 -0
  94. package/lib/base/model/glsp-model-source.js.map +1 -0
  95. package/lib/base/model/model-initialization-constraint.d.ts +59 -0
  96. package/lib/base/model/model-initialization-constraint.d.ts.map +1 -0
  97. package/lib/base/model/model-initialization-constraint.js +112 -0
  98. package/lib/base/model/model-initialization-constraint.js.map +1 -0
  99. package/lib/base/model/model-initialization-constraint.spec.d.ts +2 -0
  100. package/lib/base/model/model-initialization-constraint.spec.d.ts.map +1 -0
  101. package/lib/base/model/model-initialization-constraint.spec.js +97 -0
  102. package/lib/base/model/model-initialization-constraint.spec.js.map +1 -0
  103. package/lib/base/model/model-registry.d.ts +24 -3
  104. package/lib/base/model/model-registry.d.ts.map +1 -1
  105. package/lib/base/model/model-registry.js +23 -7
  106. package/lib/base/model/model-registry.js.map +1 -1
  107. package/lib/base/ranked.d.ts +34 -0
  108. package/lib/base/ranked.d.ts.map +1 -0
  109. package/lib/base/ranked.js +38 -0
  110. package/lib/base/ranked.js.map +1 -0
  111. package/lib/base/selection-clearing-mouse-listener.d.ts +2 -2
  112. package/lib/base/selection-clearing-mouse-listener.d.ts.map +1 -1
  113. package/lib/base/selection-clearing-mouse-listener.js +4 -5
  114. package/lib/base/selection-clearing-mouse-listener.js.map +1 -1
  115. package/lib/base/selection-service.d.ts +82 -0
  116. package/lib/base/selection-service.d.ts.map +1 -0
  117. package/lib/base/selection-service.js +266 -0
  118. package/lib/base/selection-service.js.map +1 -0
  119. package/lib/base/selection-service.spec.d.ts.map +1 -0
  120. package/lib/base/selection-service.spec.js +281 -0
  121. package/lib/base/selection-service.spec.js.map +1 -0
  122. package/lib/base/tool-manager/tool-manager.d.ts +82 -0
  123. package/lib/base/tool-manager/tool-manager.d.ts.map +1 -0
  124. package/lib/base/tool-manager/tool-manager.js +140 -0
  125. package/lib/base/tool-manager/tool-manager.js.map +1 -0
  126. package/lib/base/tool-manager/tool.d.ts +54 -0
  127. package/lib/base/tool-manager/tool.d.ts.map +1 -0
  128. package/lib/base/tool-manager/tool.js +60 -0
  129. package/lib/base/tool-manager/tool.js.map +1 -0
  130. package/lib/base/view/key-tool.d.ts +5 -0
  131. package/lib/base/view/key-tool.d.ts.map +1 -0
  132. package/lib/base/view/key-tool.js +36 -0
  133. package/lib/base/view/key-tool.js.map +1 -0
  134. package/lib/base/view/mouse-tool.d.ts +19 -0
  135. package/lib/base/view/mouse-tool.d.ts.map +1 -0
  136. package/lib/base/view/mouse-tool.js +104 -0
  137. package/lib/base/view/mouse-tool.js.map +1 -0
  138. package/lib/base/view/view-registry.d.ts +20 -2
  139. package/lib/base/view/view-registry.d.ts.map +1 -1
  140. package/lib/base/view/view-registry.js +11 -7
  141. package/lib/base/view/view-registry.js.map +1 -1
  142. package/lib/default-modules.d.ts +65 -0
  143. package/lib/default-modules.d.ts.map +1 -0
  144. package/lib/default-modules.js +152 -0
  145. package/lib/default-modules.js.map +1 -0
  146. package/lib/features/accessibility/accessibility-module.d.ts +21 -0
  147. package/lib/features/accessibility/accessibility-module.d.ts.map +1 -0
  148. package/lib/features/accessibility/accessibility-module.js +46 -0
  149. package/lib/features/accessibility/accessibility-module.js.map +1 -0
  150. package/lib/features/accessibility/actions.d.ts +26 -0
  151. package/lib/features/accessibility/actions.d.ts.map +1 -0
  152. package/lib/features/accessibility/actions.js +32 -0
  153. package/lib/features/accessibility/actions.js.map +1 -0
  154. package/lib/features/accessibility/edge-autocomplete/action.d.ts +27 -0
  155. package/lib/features/accessibility/edge-autocomplete/action.d.ts.map +1 -0
  156. package/lib/features/accessibility/edge-autocomplete/action.js +32 -0
  157. package/lib/features/accessibility/edge-autocomplete/action.js.map +1 -0
  158. package/lib/features/accessibility/edge-autocomplete/edge-autocomplete-context.d.ts +23 -0
  159. package/lib/features/accessibility/edge-autocomplete/edge-autocomplete-context.d.ts.map +1 -0
  160. package/lib/features/accessibility/edge-autocomplete/edge-autocomplete-context.js +18 -0
  161. package/lib/features/accessibility/edge-autocomplete/edge-autocomplete-context.js.map +1 -0
  162. package/lib/features/accessibility/edge-autocomplete/edge-autocomplete-palette.d.ts +28 -0
  163. package/lib/features/accessibility/edge-autocomplete/edge-autocomplete-palette.d.ts.map +1 -0
  164. package/lib/features/accessibility/edge-autocomplete/edge-autocomplete-palette.js +135 -0
  165. package/lib/features/accessibility/edge-autocomplete/edge-autocomplete-palette.js.map +1 -0
  166. package/lib/features/accessibility/edge-autocomplete/edge-autocomplete-tool.d.ts +14 -0
  167. package/lib/features/accessibility/edge-autocomplete/edge-autocomplete-tool.d.ts.map +1 -0
  168. package/lib/features/accessibility/edge-autocomplete/edge-autocomplete-tool.js +70 -0
  169. package/lib/features/accessibility/edge-autocomplete/edge-autocomplete-tool.js.map +1 -0
  170. package/lib/features/accessibility/element-navigation/diagram-navigation-tool.d.ts +65 -0
  171. package/lib/features/accessibility/element-navigation/diagram-navigation-tool.d.ts.map +1 -0
  172. package/lib/features/accessibility/element-navigation/diagram-navigation-tool.js +291 -0
  173. package/lib/features/accessibility/element-navigation/diagram-navigation-tool.js.map +1 -0
  174. package/lib/features/accessibility/element-navigation/element-navigation-module.d.ts +24 -0
  175. package/lib/features/accessibility/element-navigation/element-navigation-module.d.ts.map +1 -0
  176. package/lib/features/accessibility/element-navigation/element-navigation-module.js +38 -0
  177. package/lib/features/accessibility/element-navigation/element-navigation-module.js.map +1 -0
  178. package/lib/features/accessibility/element-navigation/element-navigator.d.ts +26 -0
  179. package/lib/features/accessibility/element-navigation/element-navigator.d.ts.map +1 -0
  180. package/lib/features/accessibility/element-navigation/element-navigator.js +18 -0
  181. package/lib/features/accessibility/element-navigation/element-navigator.js.map +1 -0
  182. package/lib/features/accessibility/element-navigation/left-right-top-bottom-navigator.d.ts +28 -0
  183. package/lib/features/accessibility/element-navigation/left-right-top-bottom-navigator.d.ts.map +1 -0
  184. package/lib/features/accessibility/element-navigation/left-right-top-bottom-navigator.js +105 -0
  185. package/lib/features/accessibility/element-navigation/left-right-top-bottom-navigator.js.map +1 -0
  186. package/lib/features/accessibility/element-navigation/local-element-navigator.d.ts +35 -0
  187. package/lib/features/accessibility/element-navigation/local-element-navigator.d.ts.map +1 -0
  188. package/lib/features/accessibility/element-navigation/local-element-navigator.js +118 -0
  189. package/lib/features/accessibility/element-navigation/local-element-navigator.js.map +1 -0
  190. package/lib/features/accessibility/element-navigation/position-navigator.d.ts +32 -0
  191. package/lib/features/accessibility/element-navigation/position-navigator.d.ts.map +1 -0
  192. package/lib/features/accessibility/element-navigation/position-navigator.js +80 -0
  193. package/lib/features/accessibility/element-navigation/position-navigator.js.map +1 -0
  194. package/lib/features/accessibility/focus-tracker/focus-tracker-module.d.ts +23 -0
  195. package/lib/features/accessibility/focus-tracker/focus-tracker-module.d.ts.map +1 -0
  196. package/lib/features/accessibility/focus-tracker/focus-tracker-module.js +33 -0
  197. package/lib/features/accessibility/focus-tracker/focus-tracker-module.js.map +1 -0
  198. package/lib/features/accessibility/focus-tracker/focus-tracker-tool.d.ts +37 -0
  199. package/lib/features/accessibility/focus-tracker/focus-tracker-tool.d.ts.map +1 -0
  200. package/lib/features/accessibility/focus-tracker/focus-tracker-tool.js +133 -0
  201. package/lib/features/accessibility/focus-tracker/focus-tracker-tool.js.map +1 -0
  202. package/lib/features/accessibility/global-keylistener-tool.d.ts +20 -0
  203. package/lib/features/accessibility/global-keylistener-tool.d.ts.map +1 -0
  204. package/lib/features/accessibility/global-keylistener-tool.js +109 -0
  205. package/lib/features/accessibility/global-keylistener-tool.js.map +1 -0
  206. package/lib/features/accessibility/key-shortcut/accessible-key-shortcut-tool.d.ts +31 -0
  207. package/lib/features/accessibility/key-shortcut/accessible-key-shortcut-tool.d.ts.map +1 -0
  208. package/lib/features/accessibility/key-shortcut/accessible-key-shortcut-tool.js +72 -0
  209. package/lib/features/accessibility/key-shortcut/accessible-key-shortcut-tool.js.map +1 -0
  210. package/lib/features/accessibility/key-shortcut/accessible-key-shortcut.d.ts +54 -0
  211. package/lib/features/accessibility/key-shortcut/accessible-key-shortcut.d.ts.map +1 -0
  212. package/lib/features/accessibility/key-shortcut/accessible-key-shortcut.js +161 -0
  213. package/lib/features/accessibility/key-shortcut/accessible-key-shortcut.js.map +1 -0
  214. package/lib/features/accessibility/key-shortcut/di.config.d.ts +24 -0
  215. package/lib/features/accessibility/key-shortcut/di.config.d.ts.map +1 -0
  216. package/lib/features/accessibility/key-shortcut/di.config.js +37 -0
  217. package/lib/features/accessibility/key-shortcut/di.config.js.map +1 -0
  218. package/lib/features/accessibility/keyboard-grid/action.d.ts +57 -0
  219. package/lib/features/accessibility/keyboard-grid/action.d.ts.map +1 -0
  220. package/lib/features/accessibility/keyboard-grid/action.js +65 -0
  221. package/lib/features/accessibility/keyboard-grid/action.js.map +1 -0
  222. package/lib/features/accessibility/keyboard-grid/constants.d.ts +23 -0
  223. package/lib/features/accessibility/keyboard-grid/constants.d.ts.map +1 -0
  224. package/lib/features/accessibility/keyboard-grid/constants.js +28 -0
  225. package/lib/features/accessibility/keyboard-grid/constants.js.map +1 -0
  226. package/lib/features/accessibility/keyboard-grid/keyboard-grid-search-palette.d.ts +34 -0
  227. package/lib/features/accessibility/keyboard-grid/keyboard-grid-search-palette.d.ts.map +1 -0
  228. package/lib/features/accessibility/keyboard-grid/keyboard-grid-search-palette.js +69 -0
  229. package/lib/features/accessibility/keyboard-grid/keyboard-grid-search-palette.js.map +1 -0
  230. package/lib/features/accessibility/keyboard-grid/keyboard-grid.d.ts +38 -0
  231. package/lib/features/accessibility/keyboard-grid/keyboard-grid.d.ts.map +1 -0
  232. package/lib/features/accessibility/keyboard-grid/keyboard-grid.js +173 -0
  233. package/lib/features/accessibility/keyboard-grid/keyboard-grid.js.map +1 -0
  234. package/lib/features/accessibility/keyboard-grid/keyboard-node-grid.d.ts +29 -0
  235. package/lib/features/accessibility/keyboard-grid/keyboard-node-grid.d.ts.map +1 -0
  236. package/lib/features/accessibility/keyboard-grid/keyboard-node-grid.js +74 -0
  237. package/lib/features/accessibility/keyboard-grid/keyboard-node-grid.js.map +1 -0
  238. package/lib/features/accessibility/keyboard-pointer/actions.d.ts +27 -0
  239. package/lib/features/accessibility/keyboard-pointer/actions.d.ts.map +1 -0
  240. package/lib/features/accessibility/keyboard-pointer/actions.js +32 -0
  241. package/lib/features/accessibility/keyboard-pointer/actions.js.map +1 -0
  242. package/lib/features/accessibility/keyboard-pointer/constants.d.ts +22 -0
  243. package/lib/features/accessibility/keyboard-pointer/constants.d.ts.map +1 -0
  244. package/lib/features/accessibility/keyboard-pointer/constants.js +26 -0
  245. package/lib/features/accessibility/keyboard-pointer/constants.js.map +1 -0
  246. package/lib/features/accessibility/keyboard-pointer/keyboard-pointer-listener.d.ts +39 -0
  247. package/lib/features/accessibility/keyboard-pointer/keyboard-pointer-listener.d.ts.map +1 -0
  248. package/lib/features/accessibility/keyboard-pointer/keyboard-pointer-listener.js +118 -0
  249. package/lib/features/accessibility/keyboard-pointer/keyboard-pointer-listener.js.map +1 -0
  250. package/lib/features/accessibility/keyboard-pointer/keyboard-pointer-module.d.ts +22 -0
  251. package/lib/features/accessibility/keyboard-pointer/keyboard-pointer-module.d.ts.map +1 -0
  252. package/lib/features/accessibility/keyboard-pointer/keyboard-pointer-module.js +53 -0
  253. package/lib/features/accessibility/keyboard-pointer/keyboard-pointer-module.js.map +1 -0
  254. package/lib/features/accessibility/keyboard-pointer/keyboard-pointer-position.d.ts +35 -0
  255. package/lib/features/accessibility/keyboard-pointer/keyboard-pointer-position.d.ts.map +1 -0
  256. package/lib/features/accessibility/keyboard-pointer/keyboard-pointer-position.js +67 -0
  257. package/lib/features/accessibility/keyboard-pointer/keyboard-pointer-position.js.map +1 -0
  258. package/lib/features/accessibility/keyboard-pointer/keyboard-pointer.d.ts +23 -0
  259. package/lib/features/accessibility/keyboard-pointer/keyboard-pointer.d.ts.map +1 -0
  260. package/lib/features/accessibility/keyboard-pointer/keyboard-pointer.js +122 -0
  261. package/lib/features/accessibility/keyboard-pointer/keyboard-pointer.js.map +1 -0
  262. package/lib/features/accessibility/keyboard-tool-palette/keyboard-tool-palette-module.d.ts +20 -0
  263. package/lib/features/accessibility/keyboard-tool-palette/keyboard-tool-palette-module.d.ts.map +1 -0
  264. package/lib/features/accessibility/keyboard-tool-palette/keyboard-tool-palette-module.js +37 -0
  265. package/lib/features/accessibility/keyboard-tool-palette/keyboard-tool-palette-module.js.map +1 -0
  266. package/lib/features/accessibility/keyboard-tool-palette/keyboard-tool-palette.d.ts +37 -0
  267. package/lib/features/accessibility/keyboard-tool-palette/keyboard-tool-palette.d.ts.map +1 -0
  268. package/lib/features/accessibility/keyboard-tool-palette/keyboard-tool-palette.js +460 -0
  269. package/lib/features/accessibility/keyboard-tool-palette/keyboard-tool-palette.js.map +1 -0
  270. package/lib/features/accessibility/move-zoom/move-handler.d.ts +80 -0
  271. package/lib/features/accessibility/move-zoom/move-handler.d.ts.map +1 -0
  272. package/lib/features/accessibility/move-zoom/move-handler.js +169 -0
  273. package/lib/features/accessibility/move-zoom/move-handler.js.map +1 -0
  274. package/lib/features/accessibility/move-zoom/move-zoom-module.d.ts +22 -0
  275. package/lib/features/accessibility/move-zoom/move-zoom-module.d.ts.map +1 -0
  276. package/lib/features/accessibility/move-zoom/move-zoom-module.js +40 -0
  277. package/lib/features/accessibility/move-zoom/move-zoom-module.js.map +1 -0
  278. package/lib/features/accessibility/move-zoom/zoom-handler.d.ts +73 -0
  279. package/lib/features/accessibility/move-zoom/zoom-handler.d.ts.map +1 -0
  280. package/lib/features/accessibility/move-zoom/zoom-handler.js +155 -0
  281. package/lib/features/accessibility/move-zoom/zoom-handler.js.map +1 -0
  282. package/lib/features/accessibility/resize-key-tool/resize-key-handler.d.ts +54 -0
  283. package/lib/features/accessibility/resize-key-tool/resize-key-handler.d.ts.map +1 -0
  284. package/lib/features/accessibility/resize-key-tool/resize-key-handler.js +123 -0
  285. package/lib/features/accessibility/resize-key-tool/resize-key-handler.js.map +1 -0
  286. package/lib/features/accessibility/resize-key-tool/resize-key-module.d.ts +22 -0
  287. package/lib/features/accessibility/resize-key-tool/resize-key-module.d.ts.map +1 -0
  288. package/lib/features/accessibility/resize-key-tool/resize-key-module.js +35 -0
  289. package/lib/features/accessibility/resize-key-tool/resize-key-module.js.map +1 -0
  290. package/lib/features/accessibility/resize-key-tool/resize-key-tool.d.ts +48 -0
  291. package/lib/features/accessibility/resize-key-tool/resize-key-tool.d.ts.map +1 -0
  292. package/lib/features/accessibility/resize-key-tool/resize-key-tool.js +154 -0
  293. package/lib/features/accessibility/resize-key-tool/resize-key-tool.js.map +1 -0
  294. package/lib/features/accessibility/search/search-palette-module.d.ts +19 -0
  295. package/lib/features/accessibility/search/search-palette-module.d.ts.map +1 -0
  296. package/lib/features/accessibility/search/search-palette-module.js +31 -0
  297. package/lib/features/accessibility/search/search-palette-module.js.map +1 -0
  298. package/lib/features/accessibility/search/search-palette.d.ts +51 -0
  299. package/lib/features/accessibility/search/search-palette.d.ts.map +1 -0
  300. package/lib/features/accessibility/search/search-palette.js +185 -0
  301. package/lib/features/accessibility/search/search-palette.js.map +1 -0
  302. package/lib/features/accessibility/search/search-tool.d.ts +37 -0
  303. package/lib/features/accessibility/search/search-tool.d.ts.map +1 -0
  304. package/lib/features/accessibility/search/search-tool.js +90 -0
  305. package/lib/features/accessibility/search/search-tool.js.map +1 -0
  306. package/lib/features/accessibility/toast/messages.json +18 -0
  307. package/lib/features/accessibility/toast/toast-handler.d.ts +45 -0
  308. package/lib/features/accessibility/toast/toast-handler.d.ts.map +1 -0
  309. package/lib/features/accessibility/toast/toast-handler.js +54 -0
  310. package/lib/features/accessibility/toast/toast-handler.js.map +1 -0
  311. package/lib/features/accessibility/toast/toast-module.d.ts +24 -0
  312. package/lib/features/accessibility/toast/toast-module.d.ts.map +1 -0
  313. package/lib/features/accessibility/toast/toast-module.js +38 -0
  314. package/lib/features/accessibility/toast/toast-module.js.map +1 -0
  315. package/lib/features/accessibility/toast/toast-tool.d.ts +43 -0
  316. package/lib/features/accessibility/toast/toast-tool.d.ts.map +1 -0
  317. package/lib/features/accessibility/toast/toast-tool.js +115 -0
  318. package/lib/features/accessibility/toast/toast-tool.js.map +1 -0
  319. package/lib/features/accessibility/view-key-tools/deselect-key-tool.d.ts +34 -0
  320. package/lib/features/accessibility/view-key-tools/deselect-key-tool.d.ts.map +1 -0
  321. package/lib/features/accessibility/view-key-tools/deselect-key-tool.js +85 -0
  322. package/lib/features/accessibility/view-key-tools/deselect-key-tool.js.map +1 -0
  323. package/lib/features/accessibility/view-key-tools/movement-key-tool.d.ts +53 -0
  324. package/lib/features/accessibility/view-key-tools/movement-key-tool.d.ts.map +1 -0
  325. package/lib/features/accessibility/view-key-tools/movement-key-tool.js +143 -0
  326. package/lib/features/accessibility/view-key-tools/movement-key-tool.js.map +1 -0
  327. package/lib/features/accessibility/view-key-tools/view-key-tools-module.d.ts +19 -0
  328. package/lib/features/accessibility/view-key-tools/view-key-tools-module.d.ts.map +1 -0
  329. package/lib/features/accessibility/view-key-tools/view-key-tools-module.js +36 -0
  330. package/lib/features/accessibility/view-key-tools/view-key-tools-module.js.map +1 -0
  331. package/lib/features/accessibility/view-key-tools/zoom-key-tool.d.ts +51 -0
  332. package/lib/features/accessibility/view-key-tools/zoom-key-tool.d.ts.map +1 -0
  333. package/lib/features/accessibility/view-key-tools/zoom-key-tool.js +192 -0
  334. package/lib/features/accessibility/view-key-tools/zoom-key-tool.js.map +1 -0
  335. package/lib/features/bounds/bounds-module.d.ts +18 -0
  336. package/lib/features/bounds/bounds-module.d.ts.map +1 -0
  337. package/lib/features/bounds/bounds-module.js +37 -0
  338. package/lib/features/bounds/bounds-module.js.map +1 -0
  339. package/lib/features/bounds/freeform-layout.d.ts +14 -0
  340. package/lib/features/bounds/freeform-layout.d.ts.map +1 -0
  341. package/lib/features/bounds/freeform-layout.js +105 -0
  342. package/lib/features/bounds/freeform-layout.js.map +1 -0
  343. package/lib/features/bounds/freeform-layout.spec.d.ts.map +1 -0
  344. package/lib/features/bounds/freeform-layout.spec.js +201 -0
  345. package/lib/features/bounds/freeform-layout.spec.js.map +1 -0
  346. package/lib/features/bounds/glsp-hidden-bounds-updater.d.ts +33 -0
  347. package/lib/features/bounds/glsp-hidden-bounds-updater.d.ts.map +1 -0
  348. package/lib/features/bounds/glsp-hidden-bounds-updater.js +97 -0
  349. package/lib/features/bounds/glsp-hidden-bounds-updater.js.map +1 -0
  350. package/lib/features/bounds/hbox-layout.d.ts +25 -0
  351. package/lib/features/bounds/hbox-layout.d.ts.map +1 -0
  352. package/lib/features/bounds/hbox-layout.js +199 -0
  353. package/lib/features/bounds/hbox-layout.js.map +1 -0
  354. package/lib/features/bounds/hbox-layout.spec.d.ts.map +1 -0
  355. package/lib/features/bounds/hbox-layout.spec.js +160 -0
  356. package/lib/features/bounds/hbox-layout.spec.js.map +1 -0
  357. package/lib/features/bounds/layouter-test-util.spec.d.ts +32 -0
  358. package/lib/features/bounds/layouter-test-util.spec.d.ts.map +1 -0
  359. package/lib/features/bounds/layouter-test-util.spec.js +96 -0
  360. package/lib/features/bounds/layouter-test-util.spec.js.map +1 -0
  361. package/lib/features/bounds/layouter.d.ts +21 -0
  362. package/lib/features/bounds/layouter.d.ts.map +1 -0
  363. package/lib/features/bounds/layouter.js +129 -0
  364. package/lib/features/bounds/layouter.js.map +1 -0
  365. package/lib/features/bounds/vbox-layout.d.ts +25 -0
  366. package/lib/features/bounds/vbox-layout.d.ts.map +1 -0
  367. package/lib/features/bounds/vbox-layout.js +199 -0
  368. package/lib/features/bounds/vbox-layout.js.map +1 -0
  369. package/lib/features/bounds/vbox-layout.spec.d.ts.map +1 -0
  370. package/lib/features/bounds/vbox-layout.spec.js +160 -0
  371. package/lib/features/bounds/vbox-layout.spec.js.map +1 -0
  372. package/lib/features/change-bounds/model.d.ts +7 -7
  373. package/lib/features/change-bounds/model.d.ts.map +1 -1
  374. package/lib/features/change-bounds/model.js +5 -5
  375. package/lib/features/change-bounds/model.js.map +1 -1
  376. package/lib/features/change-bounds/movement-restrictor.d.ts +7 -23
  377. package/lib/features/change-bounds/movement-restrictor.d.ts.map +1 -1
  378. package/lib/features/change-bounds/movement-restrictor.js +22 -8
  379. package/lib/features/change-bounds/movement-restrictor.js.map +1 -1
  380. package/lib/features/change-bounds/snap.d.ts +4 -20
  381. package/lib/features/change-bounds/snap.d.ts.map +1 -1
  382. package/lib/features/change-bounds/snap.js +18 -4
  383. package/lib/features/change-bounds/snap.js.map +1 -1
  384. package/lib/features/change-bounds/snap.spec.d.ts +1 -1
  385. package/lib/features/change-bounds/snap.spec.js +6 -6
  386. package/lib/features/change-bounds/snap.spec.js.map +1 -1
  387. package/lib/features/command-palette/command-palette-module.d.ts +19 -0
  388. package/lib/features/command-palette/command-palette-module.d.ts.map +1 -0
  389. package/lib/features/command-palette/command-palette-module.js +29 -0
  390. package/lib/features/command-palette/command-palette-module.js.map +1 -0
  391. package/lib/features/command-palette/command-palette-tool.d.ts +3 -2
  392. package/lib/features/command-palette/command-palette-tool.d.ts.map +1 -1
  393. package/lib/features/command-palette/command-palette-tool.js +6 -7
  394. package/lib/features/command-palette/command-palette-tool.js.map +1 -1
  395. package/lib/features/command-palette/server-command-palette-provider.d.ts +2 -18
  396. package/lib/features/command-palette/server-command-palette-provider.d.ts.map +1 -1
  397. package/lib/features/command-palette/server-command-palette-provider.js +11 -12
  398. package/lib/features/command-palette/server-command-palette-provider.js.map +1 -1
  399. package/lib/features/context-menu/context-menu-module.d.ts +18 -0
  400. package/lib/features/context-menu/context-menu-module.d.ts.map +1 -0
  401. package/lib/features/context-menu/context-menu-module.js +35 -0
  402. package/lib/features/context-menu/context-menu-module.js.map +1 -0
  403. package/lib/features/context-menu/delete-element-context-menu.d.ts +2 -18
  404. package/lib/features/context-menu/delete-element-context-menu.d.ts.map +1 -1
  405. package/lib/features/context-menu/delete-element-context-menu.js +6 -8
  406. package/lib/features/context-menu/delete-element-context-menu.js.map +1 -1
  407. package/lib/features/context-menu/glsp-context-menu-mouse-listener.d.ts +21 -0
  408. package/lib/features/context-menu/glsp-context-menu-mouse-listener.d.ts.map +1 -0
  409. package/lib/features/context-menu/glsp-context-menu-mouse-listener.js +78 -0
  410. package/lib/features/context-menu/glsp-context-menu-mouse-listener.js.map +1 -0
  411. package/lib/features/context-menu/server-context-menu-provider.d.ts +2 -18
  412. package/lib/features/context-menu/server-context-menu-provider.d.ts.map +1 -1
  413. package/lib/features/context-menu/server-context-menu-provider.js +11 -13
  414. package/lib/features/context-menu/server-context-menu-provider.js.map +1 -1
  415. package/lib/features/copy-paste/copy-paste-context-menu.d.ts +2 -18
  416. package/lib/features/copy-paste/copy-paste-context-menu.d.ts.map +1 -1
  417. package/lib/features/copy-paste/copy-paste-context-menu.js +10 -17
  418. package/lib/features/copy-paste/copy-paste-context-menu.js.map +1 -1
  419. package/lib/features/copy-paste/copy-paste-handler.d.ts +4 -20
  420. package/lib/features/copy-paste/copy-paste-handler.d.ts.map +1 -1
  421. package/lib/features/copy-paste/copy-paste-handler.js +18 -22
  422. package/lib/features/copy-paste/copy-paste-handler.js.map +1 -1
  423. package/lib/features/copy-paste/copy-paste-modules.d.ts +24 -0
  424. package/lib/features/copy-paste/copy-paste-modules.d.ts.map +1 -0
  425. package/lib/features/copy-paste/copy-paste-modules.js +36 -0
  426. package/lib/features/copy-paste/copy-paste-modules.js.map +1 -0
  427. package/lib/features/decoration/decoration-module.d.ts +19 -0
  428. package/lib/features/decoration/decoration-module.d.ts.map +1 -0
  429. package/lib/features/decoration/decoration-module.js +25 -0
  430. package/lib/features/decoration/decoration-module.js.map +1 -0
  431. package/lib/features/decoration/decoration-placer.d.ts +2 -18
  432. package/lib/features/decoration/decoration-placer.d.ts.map +1 -1
  433. package/lib/features/decoration/decoration-placer.js +6 -8
  434. package/lib/features/decoration/decoration-placer.js.map +1 -1
  435. package/lib/features/export/export-modules.d.ts +24 -0
  436. package/lib/features/export/export-modules.d.ts.map +1 -0
  437. package/lib/features/export/export-modules.js +39 -0
  438. package/lib/features/export/export-modules.js.map +1 -0
  439. package/lib/features/export/export-svg-action-handler.d.ts +11 -0
  440. package/lib/features/export/export-svg-action-handler.d.ts.map +1 -0
  441. package/lib/features/export/export-svg-action-handler.js +42 -0
  442. package/lib/features/export/export-svg-action-handler.js.map +1 -0
  443. package/lib/features/export/glsp-svg-exporter.d.ts +6 -0
  444. package/lib/features/export/glsp-svg-exporter.d.ts.map +1 -0
  445. package/lib/features/export/glsp-svg-exporter.js +58 -0
  446. package/lib/features/export/glsp-svg-exporter.js.map +1 -0
  447. package/lib/features/hints/model.d.ts +13 -8
  448. package/lib/features/hints/model.d.ts.map +1 -1
  449. package/lib/features/hints/model.js.map +1 -1
  450. package/lib/features/hints/type-hint-provider.d.ts +81 -0
  451. package/lib/features/hints/type-hint-provider.d.ts.map +1 -0
  452. package/lib/features/hints/type-hint-provider.js +198 -0
  453. package/lib/features/hints/type-hint-provider.js.map +1 -0
  454. package/lib/features/hints/type-hint-provider.spec.d.ts +2 -0
  455. package/lib/features/hints/type-hint-provider.spec.d.ts.map +1 -0
  456. package/lib/features/hints/type-hint-provider.spec.js +333 -0
  457. package/lib/features/hints/type-hint-provider.spec.js.map +1 -0
  458. package/lib/features/hints/type-hints-module.d.ts +18 -0
  459. package/lib/features/hints/type-hints-module.d.ts.map +1 -0
  460. package/lib/features/hints/type-hints-module.js +28 -0
  461. package/lib/features/hints/type-hints-module.js.map +1 -0
  462. package/lib/features/hover/hover-module.d.ts +18 -0
  463. package/lib/features/hover/hover-module.d.ts.map +1 -0
  464. package/lib/features/hover/hover-module.js +48 -0
  465. package/lib/features/hover/hover-module.js.map +1 -0
  466. package/lib/features/hover/hover.d.ts +5 -21
  467. package/lib/features/hover/hover.d.ts.map +1 -1
  468. package/lib/features/hover/hover.js +12 -14
  469. package/lib/features/hover/hover.js.map +1 -1
  470. package/lib/features/label-edit/edit-label-tool.d.ts +10 -0
  471. package/lib/features/label-edit/edit-label-tool.d.ts.map +1 -0
  472. package/lib/features/label-edit/edit-label-tool.js +47 -0
  473. package/lib/features/label-edit/edit-label-tool.js.map +1 -0
  474. package/lib/features/label-edit/edit-label-validator.d.ts +17 -0
  475. package/lib/features/label-edit/edit-label-validator.d.ts.map +1 -0
  476. package/lib/features/label-edit/edit-label-validator.js +107 -0
  477. package/lib/features/label-edit/edit-label-validator.js.map +1 -0
  478. package/lib/features/label-edit/label-edit-module.d.ts +18 -0
  479. package/lib/features/label-edit/label-edit-module.d.ts.map +1 -0
  480. package/lib/features/label-edit/label-edit-module.js +28 -0
  481. package/lib/features/label-edit/label-edit-module.js.map +1 -0
  482. package/lib/features/layout/layout-elements-action.d.ts +10 -26
  483. package/lib/features/layout/layout-elements-action.d.ts.map +1 -1
  484. package/lib/features/layout/layout-elements-action.js +30 -37
  485. package/lib/features/layout/layout-elements-action.js.map +1 -1
  486. package/lib/features/layout/layout-elements-action.spec.d.ts.map +1 -1
  487. package/lib/features/layout/layout-elements-action.spec.js +24 -20
  488. package/lib/features/layout/layout-elements-action.spec.js.map +1 -1
  489. package/lib/features/layout/layout-module.d.ts +18 -0
  490. package/lib/features/layout/layout-module.d.ts.map +1 -0
  491. package/lib/features/layout/layout-module.js +26 -0
  492. package/lib/features/layout/layout-module.js.map +1 -0
  493. package/lib/features/navigation/navigation-action-handler.d.ts +2 -18
  494. package/lib/features/navigation/navigation-action-handler.d.ts.map +1 -1
  495. package/lib/features/navigation/navigation-action-handler.js +24 -29
  496. package/lib/features/navigation/navigation-action-handler.js.map +1 -1
  497. package/lib/features/navigation/navigation-module.d.ts +18 -0
  498. package/lib/features/navigation/navigation-module.d.ts.map +1 -0
  499. package/lib/features/navigation/navigation-module.js +30 -0
  500. package/lib/features/navigation/navigation-module.js.map +1 -0
  501. package/lib/features/navigation/navigation-target-resolver.d.ts +4 -20
  502. package/lib/features/navigation/navigation-target-resolver.d.ts.map +1 -1
  503. package/lib/features/navigation/navigation-target-resolver.js +15 -19
  504. package/lib/features/navigation/navigation-target-resolver.js.map +1 -1
  505. package/lib/features/navigation/navigation-target-resolver.spec.d.ts.map +1 -1
  506. package/lib/features/navigation/navigation-target-resolver.spec.js +16 -17
  507. package/lib/features/navigation/navigation-target-resolver.spec.js.map +1 -1
  508. package/lib/features/reconnect/model.d.ts +14 -11
  509. package/lib/features/reconnect/model.d.ts.map +1 -1
  510. package/lib/features/reconnect/model.js +9 -9
  511. package/lib/features/reconnect/model.js.map +1 -1
  512. package/lib/features/routing/glsp-manhattan-edge-router.d.ts +20 -0
  513. package/lib/features/routing/glsp-manhattan-edge-router.d.ts.map +1 -0
  514. package/lib/features/routing/glsp-manhattan-edge-router.js +68 -0
  515. package/lib/features/routing/glsp-manhattan-edge-router.js.map +1 -0
  516. package/lib/features/routing/routing-module.d.ts +18 -0
  517. package/lib/features/routing/routing-module.d.ts.map +1 -0
  518. package/lib/features/routing/routing-module.js +39 -0
  519. package/lib/features/routing/routing-module.js.map +1 -0
  520. package/lib/features/save/save-keylistener.d.ts +3 -4
  521. package/lib/features/save/save-keylistener.d.ts.map +1 -1
  522. package/lib/features/save/save-keylistener.js +4 -6
  523. package/lib/features/save/save-keylistener.js.map +1 -1
  524. package/lib/features/save/save-module.d.ts +23 -0
  525. package/lib/features/save/save-module.d.ts.map +1 -0
  526. package/lib/features/save/save-module.js +29 -0
  527. package/lib/features/save/save-module.js.map +1 -0
  528. package/lib/features/select/select-feedback-command.d.ts +12 -0
  529. package/lib/features/select/select-feedback-command.d.ts.map +1 -0
  530. package/lib/features/select/select-feedback-command.js +56 -0
  531. package/lib/features/select/select-feedback-command.js.map +1 -0
  532. package/lib/features/select/select-module.d.ts +24 -0
  533. package/lib/features/select/select-module.d.ts.map +1 -0
  534. package/lib/features/select/select-module.js +38 -0
  535. package/lib/features/select/select-module.js.map +1 -0
  536. package/lib/features/select/select-mouse-listener.d.ts +6 -5
  537. package/lib/features/select/select-mouse-listener.d.ts.map +1 -1
  538. package/lib/features/select/select-mouse-listener.js +20 -63
  539. package/lib/features/select/select-mouse-listener.js.map +1 -1
  540. package/lib/features/source-model-watcher/source-model-changed-action-handler.d.ts +1 -17
  541. package/lib/features/source-model-watcher/source-model-changed-action-handler.d.ts.map +1 -1
  542. package/lib/features/source-model-watcher/source-model-changed-action-handler.js +10 -16
  543. package/lib/features/source-model-watcher/source-model-changed-action-handler.js.map +1 -1
  544. package/lib/features/source-model-watcher/source-model-wacher-module.d.ts +18 -0
  545. package/lib/features/source-model-watcher/source-model-wacher-module.d.ts.map +1 -0
  546. package/lib/features/source-model-watcher/source-model-wacher-module.js +24 -0
  547. package/lib/features/source-model-watcher/source-model-wacher-module.js.map +1 -0
  548. package/lib/features/status/status-module.d.ts +19 -0
  549. package/lib/features/status/status-module.d.ts.map +1 -0
  550. package/lib/features/status/status-module.js +28 -0
  551. package/lib/features/status/status-module.js.map +1 -0
  552. package/lib/features/status/status-overlay.d.ts +25 -0
  553. package/lib/features/status/status-overlay.d.ts.map +1 -0
  554. package/lib/features/status/status-overlay.js +124 -0
  555. package/lib/features/status/status-overlay.js.map +1 -0
  556. package/lib/features/svg-metadata/metadata-placer.d.ts +23 -0
  557. package/lib/features/svg-metadata/metadata-placer.d.ts.map +1 -0
  558. package/lib/features/svg-metadata/metadata-placer.js +61 -0
  559. package/lib/features/svg-metadata/metadata-placer.js.map +1 -0
  560. package/lib/features/svg-metadata/svg-metadata-module.d.ts +18 -0
  561. package/lib/features/svg-metadata/svg-metadata-module.d.ts.map +1 -0
  562. package/lib/features/svg-metadata/svg-metadata-module.js +25 -0
  563. package/lib/features/svg-metadata/svg-metadata-module.js.map +1 -0
  564. package/lib/features/tool-palette/tool-palette-module.d.ts +19 -0
  565. package/lib/features/tool-palette/tool-palette-module.d.ts.map +1 -0
  566. package/lib/features/tool-palette/tool-palette-module.js +28 -0
  567. package/lib/features/tool-palette/tool-palette-module.js.map +1 -0
  568. package/lib/features/tool-palette/tool-palette.d.ts +16 -28
  569. package/lib/features/tool-palette/tool-palette.d.ts.map +1 -1
  570. package/lib/features/tool-palette/tool-palette.js +64 -53
  571. package/lib/features/tool-palette/tool-palette.js.map +1 -1
  572. package/lib/features/tools/base-tools.d.ts +49 -0
  573. package/lib/features/tools/base-tools.d.ts.map +1 -0
  574. package/lib/features/tools/base-tools.js +114 -0
  575. package/lib/features/tools/base-tools.js.map +1 -0
  576. package/lib/features/tools/change-bounds/change-boounds-tool-module.d.ts +18 -0
  577. package/lib/features/tools/change-bounds/change-boounds-tool-module.d.ts.map +1 -0
  578. package/lib/features/tools/change-bounds/change-boounds-tool-module.js +31 -0
  579. package/lib/features/tools/change-bounds/change-boounds-tool-module.js.map +1 -0
  580. package/lib/features/tools/change-bounds/change-bounds-tool-feedback.d.ts +63 -0
  581. package/lib/features/tools/change-bounds/change-bounds-tool-feedback.d.ts.map +1 -0
  582. package/lib/features/tools/change-bounds/change-bounds-tool-feedback.js +275 -0
  583. package/lib/features/tools/change-bounds/change-bounds-tool-feedback.js.map +1 -0
  584. package/lib/features/tools/change-bounds/change-bounds-tool.d.ts +69 -0
  585. package/lib/features/tools/change-bounds/change-bounds-tool.d.ts.map +1 -0
  586. package/lib/features/tools/change-bounds/change-bounds-tool.js +385 -0
  587. package/lib/features/tools/change-bounds/change-bounds-tool.js.map +1 -0
  588. package/lib/features/tools/change-bounds/view.d.ts +9 -0
  589. package/lib/features/tools/change-bounds/view.d.ts.map +1 -0
  590. package/lib/features/tools/change-bounds/view.js +66 -0
  591. package/lib/features/tools/change-bounds/view.js.map +1 -0
  592. package/lib/features/tools/deletion/delete-tool.d.ts +31 -0
  593. package/lib/features/tools/deletion/delete-tool.d.ts.map +1 -0
  594. package/lib/features/tools/deletion/delete-tool.js +114 -0
  595. package/lib/features/tools/deletion/delete-tool.js.map +1 -0
  596. package/lib/features/tools/deletion/deletion-tool-module.d.ts +18 -0
  597. package/lib/features/tools/deletion/deletion-tool-module.d.ts.map +1 -0
  598. package/lib/features/tools/deletion/deletion-tool-module.js +26 -0
  599. package/lib/features/tools/deletion/deletion-tool-module.js.map +1 -0
  600. package/lib/features/tools/edge-creation/dangling-edge-feedback.d.ts +50 -0
  601. package/lib/features/tools/edge-creation/dangling-edge-feedback.d.ts.map +1 -0
  602. package/lib/features/tools/edge-creation/dangling-edge-feedback.js +151 -0
  603. package/lib/features/tools/edge-creation/dangling-edge-feedback.js.map +1 -0
  604. package/lib/features/tools/edge-creation/edege-creation-module.d.ts +18 -0
  605. package/lib/features/tools/edge-creation/edege-creation-module.d.ts.map +1 -0
  606. package/lib/features/tools/edge-creation/edege-creation-module.js +28 -0
  607. package/lib/features/tools/edge-creation/edege-creation-module.js.map +1 -0
  608. package/lib/features/tools/edge-creation/edge-creation-tool-feedback.d.ts +26 -0
  609. package/lib/features/tools/edge-creation/edge-creation-tool-feedback.d.ts.map +1 -0
  610. package/lib/features/tools/edge-creation/edge-creation-tool-feedback.js +74 -0
  611. package/lib/features/tools/edge-creation/edge-creation-tool-feedback.js.map +1 -0
  612. package/lib/features/tools/edge-creation/edge-creation-tool.d.ts +39 -0
  613. package/lib/features/tools/edge-creation/edge-creation-tool.d.ts.map +1 -0
  614. package/lib/features/tools/edge-creation/edge-creation-tool.js +198 -0
  615. package/lib/features/tools/edge-creation/edge-creation-tool.js.map +1 -0
  616. package/lib/features/tools/edge-creation/view.d.ts +10 -0
  617. package/lib/features/tools/edge-creation/view.d.ts.map +1 -0
  618. package/lib/features/tools/edge-creation/view.js +43 -0
  619. package/lib/features/tools/edge-creation/view.js.map +1 -0
  620. package/lib/features/tools/edge-edit/edge-edit-module.d.ts +18 -0
  621. package/lib/features/tools/edge-edit/edge-edit-module.d.ts.map +1 -0
  622. package/lib/features/tools/edge-edit/edge-edit-module.js +34 -0
  623. package/lib/features/tools/edge-edit/edge-edit-module.js.map +1 -0
  624. package/lib/features/tools/edge-edit/edge-edit-tool-feedback.d.ts +110 -0
  625. package/lib/features/tools/edge-edit/edge-edit-tool-feedback.d.ts.map +1 -0
  626. package/lib/features/tools/edge-edit/edge-edit-tool-feedback.js +331 -0
  627. package/lib/features/tools/edge-edit/edge-edit-tool-feedback.js.map +1 -0
  628. package/lib/features/tools/edge-edit/edge-edit-tool.d.ts +49 -0
  629. package/lib/features/tools/edge-edit/edge-edit-tool.d.ts.map +1 -0
  630. package/lib/features/tools/edge-edit/edge-edit-tool.js +277 -0
  631. package/lib/features/tools/edge-edit/edge-edit-tool.js.map +1 -0
  632. package/lib/features/tools/marquee-selection/marquee-behavior.d.ts +42 -0
  633. package/lib/features/tools/marquee-selection/marquee-behavior.d.ts.map +1 -0
  634. package/lib/features/tools/marquee-selection/marquee-behavior.js +128 -0
  635. package/lib/features/tools/marquee-selection/marquee-behavior.js.map +1 -0
  636. package/lib/features/tools/marquee-selection/marquee-behavior.spec.d.ts.map +1 -0
  637. package/lib/features/tools/marquee-selection/marquee-behavior.spec.js.map +1 -0
  638. package/lib/features/tools/marquee-selection/marquee-mouse-tool.d.ts +44 -0
  639. package/lib/features/tools/marquee-selection/marquee-mouse-tool.d.ts.map +1 -0
  640. package/lib/features/tools/marquee-selection/marquee-mouse-tool.js +133 -0
  641. package/lib/features/tools/marquee-selection/marquee-mouse-tool.js.map +1 -0
  642. package/lib/features/tools/marquee-selection/marquee-selection-module.d.ts +18 -0
  643. package/lib/features/tools/marquee-selection/marquee-selection-module.d.ts.map +1 -0
  644. package/lib/features/tools/marquee-selection/marquee-selection-module.js +33 -0
  645. package/lib/features/tools/marquee-selection/marquee-selection-module.js.map +1 -0
  646. package/lib/features/tools/marquee-selection/marquee-tool-feedback.d.ts +43 -0
  647. package/lib/features/tools/marquee-selection/marquee-tool-feedback.d.ts.map +1 -0
  648. package/lib/features/tools/marquee-selection/marquee-tool-feedback.js +119 -0
  649. package/lib/features/tools/marquee-selection/marquee-tool-feedback.js.map +1 -0
  650. package/lib/features/tools/marquee-selection/marquee-tool.d.ts +12 -0
  651. package/lib/features/tools/marquee-selection/marquee-tool.d.ts.map +1 -0
  652. package/lib/features/tools/marquee-selection/marquee-tool.js +58 -0
  653. package/lib/features/tools/marquee-selection/marquee-tool.js.map +1 -0
  654. package/lib/features/tools/marquee-selection/model.d.ts +22 -0
  655. package/lib/features/tools/marquee-selection/model.d.ts.map +1 -0
  656. package/lib/features/tools/marquee-selection/model.js +24 -0
  657. package/lib/features/tools/marquee-selection/model.js.map +1 -0
  658. package/lib/features/tools/marquee-selection/view.d.ts +7 -0
  659. package/lib/features/tools/marquee-selection/view.d.ts.map +1 -0
  660. package/lib/features/tools/marquee-selection/view.js +39 -0
  661. package/lib/features/tools/marquee-selection/view.js.map +1 -0
  662. package/lib/features/tools/node-creation/node-creation-module.d.ts +18 -0
  663. package/lib/features/tools/node-creation/node-creation-module.d.ts.map +1 -0
  664. package/lib/features/tools/node-creation/node-creation-module.js +26 -0
  665. package/lib/features/tools/node-creation/node-creation-module.js.map +1 -0
  666. package/lib/features/tools/node-creation/node-creation-tool.d.ts +22 -0
  667. package/lib/features/tools/node-creation/node-creation-tool.d.ts.map +1 -0
  668. package/lib/features/tools/node-creation/node-creation-tool.js +107 -0
  669. package/lib/features/tools/node-creation/node-creation-tool.js.map +1 -0
  670. package/lib/features/tools/tool-focus-loss-module.d.ts +13 -0
  671. package/lib/features/tools/tool-focus-loss-module.d.ts.map +1 -0
  672. package/lib/features/tools/tool-focus-loss-module.js +49 -0
  673. package/lib/features/tools/tool-focus-loss-module.js.map +1 -0
  674. package/lib/features/undo-redo/undo-redo-key-listener.d.ts +23 -0
  675. package/lib/features/undo-redo/undo-redo-key-listener.d.ts.map +1 -0
  676. package/lib/features/undo-redo/undo-redo-key-listener.js +35 -0
  677. package/lib/features/undo-redo/undo-redo-key-listener.js.map +1 -0
  678. package/lib/features/undo-redo/undo-redo-module.d.ts +23 -0
  679. package/lib/features/undo-redo/undo-redo-module.d.ts.map +1 -0
  680. package/lib/features/undo-redo/undo-redo-module.js +30 -0
  681. package/lib/features/undo-redo/undo-redo-module.js.map +1 -0
  682. package/lib/features/validation/issue-marker.d.ts +19 -20
  683. package/lib/features/validation/issue-marker.d.ts.map +1 -1
  684. package/lib/features/validation/issue-marker.js +27 -28
  685. package/lib/features/validation/issue-marker.js.map +1 -1
  686. package/lib/features/validation/marker-navigator.d.ts +25 -24
  687. package/lib/features/validation/marker-navigator.d.ts.map +1 -1
  688. package/lib/features/validation/marker-navigator.js +35 -42
  689. package/lib/features/validation/marker-navigator.js.map +1 -1
  690. package/lib/features/validation/marker-navigator.spec.d.ts.map +1 -1
  691. package/lib/features/validation/marker-navigator.spec.js +41 -44
  692. package/lib/features/validation/marker-navigator.spec.js.map +1 -1
  693. package/lib/features/validation/validate.d.ts +9 -25
  694. package/lib/features/validation/validate.d.ts.map +1 -1
  695. package/lib/features/validation/validate.js +47 -53
  696. package/lib/features/validation/validate.js.map +1 -1
  697. package/lib/features/validation/validation-modules.d.ts +25 -0
  698. package/lib/features/validation/validation-modules.d.ts.map +1 -0
  699. package/lib/features/validation/validation-modules.js +43 -0
  700. package/lib/features/validation/validation-modules.js.map +1 -0
  701. package/lib/features/viewport/glsp-scroll-mouse-listener.d.ts +2 -18
  702. package/lib/features/viewport/glsp-scroll-mouse-listener.d.ts.map +1 -1
  703. package/lib/features/viewport/glsp-scroll-mouse-listener.js +22 -7
  704. package/lib/features/viewport/glsp-scroll-mouse-listener.js.map +1 -1
  705. package/lib/features/viewport/reposition.d.ts +38 -0
  706. package/lib/features/viewport/reposition.d.ts.map +1 -0
  707. package/lib/features/viewport/reposition.js +110 -0
  708. package/lib/features/viewport/reposition.js.map +1 -0
  709. package/lib/features/viewport/viewport-handler.d.ts +29 -0
  710. package/lib/features/viewport/viewport-handler.d.ts.map +1 -0
  711. package/lib/features/viewport/viewport-handler.js +79 -0
  712. package/lib/features/viewport/viewport-handler.js.map +1 -0
  713. package/lib/features/viewport/viewport-modules.d.ts +24 -0
  714. package/lib/features/viewport/viewport-modules.d.ts.map +1 -0
  715. package/lib/features/viewport/viewport-modules.js +49 -0
  716. package/lib/features/viewport/viewport-modules.js.map +1 -0
  717. package/lib/index.d.ts +105 -54
  718. package/lib/index.d.ts.map +1 -1
  719. package/lib/index.js +123 -91
  720. package/lib/index.js.map +1 -1
  721. package/lib/model.d.ts +30 -0
  722. package/lib/model.d.ts.map +1 -0
  723. package/lib/model.js +61 -0
  724. package/lib/model.js.map +1 -0
  725. package/lib/standalone-modules.d.ts +38 -0
  726. package/lib/standalone-modules.d.ts.map +1 -0
  727. package/lib/standalone-modules.js +84 -0
  728. package/lib/standalone-modules.js.map +1 -0
  729. package/lib/tsconfig.tsbuildinfo +1 -0
  730. package/lib/utils/argument-utils.d.ts +12 -12
  731. package/lib/utils/argument-utils.d.ts.map +1 -1
  732. package/lib/utils/argument-utils.js +8 -8
  733. package/lib/utils/argument-utils.js.map +1 -1
  734. package/lib/utils/gmodel-util.d.ts +173 -0
  735. package/lib/utils/gmodel-util.d.ts.map +1 -0
  736. package/lib/utils/gmodel-util.js +278 -0
  737. package/lib/utils/gmodel-util.js.map +1 -0
  738. package/lib/utils/gmodel-util.spec.d.ts +2 -0
  739. package/lib/utils/gmodel-util.spec.d.ts.map +1 -0
  740. package/lib/utils/gmodel-util.spec.js +186 -0
  741. package/lib/utils/gmodel-util.spec.js.map +1 -0
  742. package/lib/utils/html-utils.d.ts +1 -1
  743. package/lib/utils/html-utils.js +1 -1
  744. package/lib/utils/layout-utils.d.ts +9 -10
  745. package/lib/utils/layout-utils.d.ts.map +1 -1
  746. package/lib/utils/layout-utils.js.map +1 -1
  747. package/lib/utils/marker.d.ts +22 -6
  748. package/lib/utils/marker.d.ts.map +1 -1
  749. package/lib/utils/marker.js +8 -8
  750. package/lib/utils/marker.js.map +1 -1
  751. package/lib/utils/viewpoint-util.d.ts +26 -7
  752. package/lib/utils/viewpoint-util.d.ts.map +1 -1
  753. package/lib/utils/viewpoint-util.js +40 -8
  754. package/lib/utils/viewpoint-util.js.map +1 -1
  755. package/lib/views/base-view-module.d.ts +18 -8
  756. package/lib/views/base-view-module.d.ts.map +1 -1
  757. package/lib/views/base-view-module.js +26 -28
  758. package/lib/views/base-view-module.js.map +1 -1
  759. package/lib/views/compartments.d.ts +2 -2
  760. package/lib/views/compartments.d.ts.map +1 -1
  761. package/lib/views/compartments.js +6 -7
  762. package/lib/views/compartments.js.map +1 -1
  763. package/lib/views/gedge-view.d.ts +27 -0
  764. package/lib/views/gedge-view.d.ts.map +1 -0
  765. package/lib/views/gedge-view.js +69 -0
  766. package/lib/views/gedge-view.js.map +1 -0
  767. package/lib/views/glsp-projection-view.d.ts +8 -9
  768. package/lib/views/glsp-projection-view.d.ts.map +1 -1
  769. package/lib/views/glsp-projection-view.js +27 -11
  770. package/lib/views/glsp-projection-view.js.map +1 -1
  771. package/lib/views/index.d.ts +2 -2
  772. package/lib/views/index.d.ts.map +1 -1
  773. package/lib/views/index.js +2 -2
  774. package/lib/views/index.js.map +1 -1
  775. package/lib/views/issue-marker-view.d.ts +20 -4
  776. package/lib/views/issue-marker-view.d.ts.map +1 -1
  777. package/lib/views/issue-marker-view.js +4 -5
  778. package/lib/views/issue-marker-view.js.map +1 -1
  779. package/lib/views/rounded-corner-view.d.ts +5 -5
  780. package/lib/views/rounded-corner-view.d.ts.map +1 -1
  781. package/lib/views/rounded-corner-view.js +6 -7
  782. package/lib/views/rounded-corner-view.js.map +1 -1
  783. package/lib/views/rounded-corner.d.ts +4 -5
  784. package/lib/views/rounded-corner.d.ts.map +1 -1
  785. package/lib/views/rounded-corner.js +1 -1
  786. package/lib/views/rounded-corner.js.map +1 -1
  787. package/package.json +26 -24
  788. package/src/base/action-dispatcher.spec.ts +87 -0
  789. package/src/base/action-dispatcher.ts +33 -14
  790. package/src/base/action-handler-registry.ts +30 -0
  791. package/src/base/args-feature.ts +37 -0
  792. package/src/base/auto-complete/auto-complete-actions.ts +3 -2
  793. package/src/base/auto-complete/auto-complete-widget.ts +57 -22
  794. package/src/base/auto-complete/autocomplete-suggestion-providers.ts +37 -0
  795. package/src/base/auto-complete/base-autocomplete-palette.ts +92 -0
  796. package/src/base/auto-complete/validation-decorator.ts +2 -3
  797. package/src/base/command-stack.ts +67 -13
  798. package/src/base/default.module.ts +117 -0
  799. package/src/base/drag-aware-mouse-listener.ts +9 -10
  800. package/src/base/editor-context-service.ts +91 -31
  801. package/src/base/feedback/css-feedback.ts +102 -0
  802. package/src/base/feedback/feedback-action-dispatcher.ts +109 -0
  803. package/src/base/feedback/feedback-command.ts +29 -0
  804. package/src/base/feedback/update-model-command.ts +100 -0
  805. package/src/base/focus/focus-state-change-action.ts +43 -0
  806. package/src/base/focus/focus-tracker.ts +58 -0
  807. package/src/base/model/diagram-loader.ts +215 -0
  808. package/src/base/model/glsp-model-source.ts +199 -0
  809. package/src/base/model/model-initialization-constraint.spec.ts +95 -0
  810. package/src/base/model/model-initialization-constraint.ts +133 -0
  811. package/src/base/model/model-registry.ts +21 -4
  812. package/src/base/ranked.ts +42 -0
  813. package/src/base/selection-clearing-mouse-listener.ts +3 -3
  814. package/src/base/selection-service.spec.ts +297 -0
  815. package/src/base/selection-service.ts +293 -0
  816. package/src/base/tool-manager/tool-manager.ts +183 -0
  817. package/src/base/tool-manager/tool.ts +85 -0
  818. package/src/base/view/key-tool.ts +25 -0
  819. package/src/base/view/mouse-tool.ts +105 -0
  820. package/src/base/view/view-registry.ts +8 -3
  821. package/src/default-modules.ts +171 -0
  822. package/src/features/accessibility/README.md +143 -0
  823. package/src/features/accessibility/accessibility-module.ts +44 -0
  824. package/src/features/accessibility/actions.ts +33 -0
  825. package/src/features/accessibility/edge-autocomplete/action.ts +34 -0
  826. package/src/features/accessibility/edge-autocomplete/edge-autocomplete-context.ts +24 -0
  827. package/src/features/accessibility/edge-autocomplete/edge-autocomplete-palette.ts +147 -0
  828. package/src/features/accessibility/edge-autocomplete/edge-autocomplete-tool.ts +56 -0
  829. package/src/features/accessibility/element-navigation/diagram-navigation-tool.ts +307 -0
  830. package/src/features/accessibility/element-navigation/element-navigation-module.ts +36 -0
  831. package/src/features/accessibility/element-navigation/element-navigator.ts +57 -0
  832. package/src/features/accessibility/element-navigation/left-right-top-bottom-navigator.ts +114 -0
  833. package/src/features/accessibility/element-navigation/local-element-navigator.ts +148 -0
  834. package/src/features/accessibility/element-navigation/position-navigator.ts +102 -0
  835. package/src/features/accessibility/focus-tracker/focus-tracker-module.ts +32 -0
  836. package/src/features/accessibility/focus-tracker/focus-tracker-tool.ts +129 -0
  837. package/src/features/accessibility/global-keylistener-tool.ts +98 -0
  838. package/src/features/accessibility/key-shortcut/accessible-key-shortcut-tool.ts +55 -0
  839. package/src/features/accessibility/key-shortcut/accessible-key-shortcut.ts +197 -0
  840. package/src/features/accessibility/key-shortcut/di.config.ts +35 -0
  841. package/src/features/accessibility/keyboard-grid/action.ts +93 -0
  842. package/src/features/accessibility/keyboard-grid/constants.ts +24 -0
  843. package/src/features/accessibility/keyboard-grid/keyboard-grid-search-palette.ts +65 -0
  844. package/src/features/accessibility/keyboard-grid/keyboard-grid.ts +192 -0
  845. package/src/features/accessibility/keyboard-grid/keyboard-node-grid.ts +63 -0
  846. package/src/features/accessibility/keyboard-pointer/actions.ts +34 -0
  847. package/src/features/accessibility/keyboard-pointer/constants.ts +22 -0
  848. package/src/features/accessibility/keyboard-pointer/keyboard-pointer-listener.ts +125 -0
  849. package/src/features/accessibility/keyboard-pointer/keyboard-pointer-module.ts +63 -0
  850. package/src/features/accessibility/keyboard-pointer/keyboard-pointer-position.ts +78 -0
  851. package/src/features/accessibility/keyboard-pointer/keyboard-pointer.ts +120 -0
  852. package/src/features/accessibility/keyboard-tool-palette/keyboard-tool-palette-module.ts +35 -0
  853. package/src/features/accessibility/keyboard-tool-palette/keyboard-tool-palette.ts +505 -0
  854. package/src/features/accessibility/move-zoom/move-handler.ts +209 -0
  855. package/src/features/accessibility/move-zoom/move-zoom-module.ts +41 -0
  856. package/src/features/accessibility/move-zoom/zoom-handler.ts +182 -0
  857. package/src/features/accessibility/resize-key-tool/resize-key-handler.ts +129 -0
  858. package/src/features/accessibility/resize-key-tool/resize-key-module.ts +34 -0
  859. package/src/features/accessibility/resize-key-tool/resize-key-tool.ts +141 -0
  860. package/src/features/accessibility/search/search-palette-module.ts +29 -0
  861. package/src/features/accessibility/search/search-palette.ts +217 -0
  862. package/src/features/accessibility/search/search-tool.ts +77 -0
  863. package/src/features/accessibility/toast/messages.json +18 -0
  864. package/src/features/accessibility/toast/toast-handler.ts +69 -0
  865. package/src/features/accessibility/toast/toast-module.ts +36 -0
  866. package/src/features/accessibility/toast/toast-tool.ts +108 -0
  867. package/src/features/accessibility/view-key-tools/deselect-key-tool.ts +88 -0
  868. package/src/features/accessibility/view-key-tools/movement-key-tool.ts +127 -0
  869. package/src/features/accessibility/view-key-tools/view-key-tools-module.ts +34 -0
  870. package/src/features/accessibility/view-key-tools/zoom-key-tool.ts +197 -0
  871. package/src/features/bounds/bounds-module.ts +47 -0
  872. package/src/features/bounds/freeform-layout.spec.ts +216 -0
  873. package/src/features/bounds/freeform-layout.ts +132 -0
  874. package/src/features/bounds/glsp-hidden-bounds-updater.ts +96 -0
  875. package/src/features/bounds/hbox-layout.spec.ts +170 -0
  876. package/src/features/bounds/hbox-layout.ts +275 -0
  877. package/src/features/bounds/layouter-test-util.spec.ts +127 -0
  878. package/src/features/bounds/layouter.ts +137 -0
  879. package/src/features/bounds/vbox-layout.spec.ts +170 -0
  880. package/src/features/bounds/vbox-layout.ts +275 -0
  881. package/src/features/change-bounds/model.ts +14 -14
  882. package/src/features/change-bounds/movement-restrictor.ts +16 -17
  883. package/src/features/change-bounds/snap.spec.ts +6 -6
  884. package/src/features/change-bounds/snap.ts +5 -6
  885. package/src/features/command-palette/command-palette-module.ts +26 -0
  886. package/src/features/command-palette/command-palette-tool.ts +5 -4
  887. package/src/features/command-palette/server-command-palette-provider.ts +14 -6
  888. package/src/features/context-menu/context-menu-module.ts +33 -0
  889. package/src/features/context-menu/delete-element-context-menu.ts +3 -5
  890. package/src/features/context-menu/glsp-context-menu-mouse-listener.ts +74 -0
  891. package/src/features/context-menu/server-context-menu-provider.ts +15 -6
  892. package/src/features/copy-paste/copy-paste-context-menu.ts +17 -9
  893. package/src/features/copy-paste/copy-paste-handler.ts +18 -16
  894. package/src/features/copy-paste/copy-paste-modules.ts +37 -0
  895. package/src/features/decoration/decoration-module.ts +22 -0
  896. package/src/features/decoration/decoration-placer.ts +4 -5
  897. package/src/features/export/export-modules.ts +50 -0
  898. package/src/features/export/export-svg-action-handler.ts +32 -0
  899. package/src/features/export/glsp-svg-exporter.ts +50 -0
  900. package/src/features/hints/model.ts +13 -8
  901. package/src/features/hints/type-hint-provider.spec.ts +355 -0
  902. package/src/features/hints/type-hint-provider.ts +249 -0
  903. package/src/features/hints/type-hints-module.ts +25 -0
  904. package/src/features/hover/hover-module.ts +64 -0
  905. package/src/features/hover/hover.ts +24 -18
  906. package/src/features/label-edit/edit-label-tool.ts +42 -0
  907. package/src/features/label-edit/edit-label-validator.ts +103 -0
  908. package/src/features/label-edit/label-edit-module.ts +25 -0
  909. package/src/features/layout/layout-elements-action.spec.ts +44 -38
  910. package/src/features/layout/layout-elements-action.ts +19 -16
  911. package/src/features/layout/layout-module.ts +28 -0
  912. package/src/features/navigation/navigation-action-handler.ts +18 -17
  913. package/src/features/navigation/navigation-module.ts +27 -0
  914. package/src/features/navigation/navigation-target-resolver.spec.ts +2 -3
  915. package/src/features/navigation/navigation-target-resolver.ts +20 -11
  916. package/src/features/reconnect/model.ts +23 -21
  917. package/src/features/routing/glsp-manhattan-edge-router.ts +59 -0
  918. package/src/features/routing/routing-module.ts +59 -0
  919. package/src/features/save/save-keylistener.ts +3 -5
  920. package/src/features/save/save-module.ts +26 -0
  921. package/src/features/select/select-feedback-command.ts +41 -0
  922. package/src/features/select/select-module.ts +39 -0
  923. package/src/features/select/select-mouse-listener.ts +29 -80
  924. package/src/features/source-model-watcher/source-model-changed-action-handler.ts +12 -8
  925. package/src/features/source-model-watcher/source-model-wacher-module.ts +21 -0
  926. package/src/features/status/status-module.ts +26 -0
  927. package/src/features/status/status-overlay.ts +121 -0
  928. package/src/features/svg-metadata/metadata-placer.ts +50 -0
  929. package/src/features/svg-metadata/svg-metadata-module.ts +23 -0
  930. package/src/features/tool-palette/tool-palette-module.ts +25 -0
  931. package/src/features/tool-palette/tool-palette.ts +71 -50
  932. package/src/features/tools/base-tools.ts +99 -0
  933. package/src/features/tools/change-bounds/change-boounds-tool-module.ts +28 -0
  934. package/src/features/tools/change-bounds/change-bounds-tool-feedback.ts +314 -0
  935. package/src/features/tools/change-bounds/change-bounds-tool.ts +475 -0
  936. package/src/features/tools/change-bounds/view.tsx +64 -0
  937. package/src/features/tools/deletion/delete-tool.ts +113 -0
  938. package/src/features/tools/deletion/deletion-tool-module.ts +23 -0
  939. package/src/features/tools/edge-creation/dangling-edge-feedback.ts +185 -0
  940. package/src/features/tools/edge-creation/edege-creation-module.ts +25 -0
  941. package/src/features/tools/edge-creation/edge-creation-tool-feedback.ts +89 -0
  942. package/src/features/tools/edge-creation/edge-creation-tool.ts +206 -0
  943. package/src/features/tools/edge-creation/view.tsx +33 -0
  944. package/src/features/tools/edge-edit/edge-edit-module.ts +38 -0
  945. package/src/features/tools/edge-edit/edge-edit-tool-feedback.ts +387 -0
  946. package/src/features/tools/edge-edit/edge-edit-tool.ts +322 -0
  947. package/src/features/tools/marquee-selection/marquee-behavior.ts +157 -0
  948. package/src/features/tools/marquee-selection/marquee-mouse-tool.ts +143 -0
  949. package/src/features/tools/marquee-selection/marquee-selection-module.ts +32 -0
  950. package/src/features/tools/marquee-selection/marquee-tool-feedback.ts +130 -0
  951. package/src/features/tools/marquee-selection/marquee-tool.ts +45 -0
  952. package/src/features/tools/marquee-selection/model.ts +22 -0
  953. package/src/features/tools/marquee-selection/view.tsx +43 -0
  954. package/src/features/tools/node-creation/node-creation-module.ts +23 -0
  955. package/src/features/tools/node-creation/node-creation-tool.ts +105 -0
  956. package/src/features/tools/tool-focus-loss-module.ts +39 -0
  957. package/src/features/undo-redo/undo-redo-key-listener.ts +32 -0
  958. package/src/features/undo-redo/undo-redo-module.ts +28 -0
  959. package/src/features/validation/issue-marker.ts +34 -24
  960. package/src/features/validation/marker-navigator.spec.ts +39 -69
  961. package/src/features/validation/marker-navigator.ts +51 -46
  962. package/src/features/validation/validate.ts +43 -35
  963. package/src/features/validation/validation-modules.ts +53 -0
  964. package/src/features/viewport/glsp-scroll-mouse-listener.ts +5 -5
  965. package/src/features/viewport/reposition.ts +119 -0
  966. package/src/features/viewport/viewport-handler.ts +67 -0
  967. package/src/features/viewport/viewport-modules.ts +65 -0
  968. package/src/index.ts +112 -77
  969. package/src/model.ts +72 -0
  970. package/src/standalone-modules.ts +87 -0
  971. package/src/utils/argument-utils.ts +18 -18
  972. package/src/utils/gmodel-util.spec.ts +221 -0
  973. package/src/utils/gmodel-util.ts +321 -0
  974. package/src/utils/html-utils.ts +1 -1
  975. package/src/utils/layout-utils.ts +18 -10
  976. package/src/utils/marker.ts +9 -9
  977. package/src/utils/viewpoint-util.ts +54 -9
  978. package/src/views/base-view-module.ts +44 -51
  979. package/src/views/compartments.tsx +4 -4
  980. package/src/views/gedge-view.tsx +79 -0
  981. package/src/views/glsp-projection-view.tsx +42 -20
  982. package/src/views/index.ts +2 -3
  983. package/src/views/issue-marker-view.tsx +6 -5
  984. package/src/views/rounded-corner-view.tsx +9 -9
  985. package/src/views/rounded-corner.ts +4 -5
  986. package/lib/base/actions/focus-change-action.d.ts +0 -33
  987. package/lib/base/actions/focus-change-action.d.ts.map +0 -1
  988. package/lib/base/actions/focus-change-action.js +0 -35
  989. package/lib/base/actions/focus-change-action.js.map +0 -1
  990. package/lib/base/actions/sprotty-actions.d.ts +0 -7
  991. package/lib/base/actions/sprotty-actions.d.ts.map +0 -1
  992. package/lib/base/actions/sprotty-actions.js +0 -21
  993. package/lib/base/actions/sprotty-actions.js.map +0 -1
  994. package/lib/base/argumentable.d.ts +0 -22
  995. package/lib/base/argumentable.d.ts.map +0 -1
  996. package/lib/base/argumentable.js +0 -8
  997. package/lib/base/argumentable.js.map +0 -1
  998. package/lib/base/container-modules.d.ts +0 -40
  999. package/lib/base/container-modules.d.ts.map +0 -1
  1000. package/lib/base/container-modules.js +0 -101
  1001. package/lib/base/container-modules.js.map +0 -1
  1002. package/lib/base/di.config.d.ts +0 -30
  1003. package/lib/base/di.config.d.ts.map +0 -1
  1004. package/lib/base/di.config.js +0 -82
  1005. package/lib/base/di.config.js.map +0 -1
  1006. package/lib/base/focus-tracker.d.ts +0 -25
  1007. package/lib/base/focus-tracker.d.ts.map +0 -1
  1008. package/lib/base/focus-tracker.js +0 -50
  1009. package/lib/base/focus-tracker.js.map +0 -1
  1010. package/lib/base/model/update-model-command.d.ts +0 -47
  1011. package/lib/base/model/update-model-command.d.ts.map +0 -1
  1012. package/lib/base/model/update-model-command.js +0 -117
  1013. package/lib/base/model/update-model-command.js.map +0 -1
  1014. package/lib/base/model-initialization-constraint.d.ts +0 -53
  1015. package/lib/base/model-initialization-constraint.d.ts.map +0 -1
  1016. package/lib/base/model-initialization-constraint.js +0 -105
  1017. package/lib/base/model-initialization-constraint.js.map +0 -1
  1018. package/lib/base/source-uri-aware.d.ts +0 -5
  1019. package/lib/base/source-uri-aware.d.ts.map +0 -1
  1020. package/lib/base/source-uri-aware.js +0 -24
  1021. package/lib/base/source-uri-aware.js.map +0 -1
  1022. package/lib/base/tool-manager/glsp-tool-manager.d.ts +0 -22
  1023. package/lib/base/tool-manager/glsp-tool-manager.d.ts.map +0 -1
  1024. package/lib/base/tool-manager/glsp-tool-manager.js +0 -109
  1025. package/lib/base/tool-manager/glsp-tool-manager.js.map +0 -1
  1026. package/lib/base/tool-manager/tool-actions.d.ts +0 -14
  1027. package/lib/base/tool-manager/tool-actions.d.ts.map +0 -1
  1028. package/lib/base/tool-manager/tool-actions.js +0 -25
  1029. package/lib/base/tool-manager/tool-actions.js.map +0 -1
  1030. package/lib/base/types.d.ts +0 -164
  1031. package/lib/base/types.d.ts.map +0 -1
  1032. package/lib/base/types.js +0 -31
  1033. package/lib/base/types.js.map +0 -1
  1034. package/lib/features/command-palette/di.config.d.ts +0 -20
  1035. package/lib/features/command-palette/di.config.d.ts.map +0 -1
  1036. package/lib/features/command-palette/di.config.js +0 -33
  1037. package/lib/features/command-palette/di.config.js.map +0 -1
  1038. package/lib/features/context-menu/di.config.d.ts +0 -19
  1039. package/lib/features/context-menu/di.config.d.ts.map +0 -1
  1040. package/lib/features/context-menu/di.config.js +0 -37
  1041. package/lib/features/context-menu/di.config.js.map +0 -1
  1042. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.d.ts +0 -39
  1043. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.d.ts.map +0 -1
  1044. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js +0 -70
  1045. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js.map +0 -1
  1046. package/lib/features/copy-paste/di.config.d.ts +0 -24
  1047. package/lib/features/copy-paste/di.config.d.ts.map +0 -1
  1048. package/lib/features/copy-paste/di.config.js +0 -38
  1049. package/lib/features/copy-paste/di.config.js.map +0 -1
  1050. package/lib/features/decoration/di.config.d.ts +0 -20
  1051. package/lib/features/decoration/di.config.d.ts.map +0 -1
  1052. package/lib/features/decoration/di.config.js +0 -27
  1053. package/lib/features/decoration/di.config.js.map +0 -1
  1054. package/lib/features/edit-label/di.config.d.ts +0 -19
  1055. package/lib/features/edit-label/di.config.d.ts.map +0 -1
  1056. package/lib/features/edit-label/di.config.js +0 -30
  1057. package/lib/features/edit-label/di.config.js.map +0 -1
  1058. package/lib/features/edit-label/edit-label-tool.d.ts +0 -13
  1059. package/lib/features/edit-label/edit-label-tool.d.ts.map +0 -1
  1060. package/lib/features/edit-label/edit-label-tool.js +0 -55
  1061. package/lib/features/edit-label/edit-label-tool.js.map +0 -1
  1062. package/lib/features/edit-label/edit-label-validator.d.ts +0 -33
  1063. package/lib/features/edit-label/edit-label-validator.d.ts.map +0 -1
  1064. package/lib/features/edit-label/edit-label-validator.js +0 -109
  1065. package/lib/features/edit-label/edit-label-validator.js.map +0 -1
  1066. package/lib/features/hints/di.config.d.ts +0 -4
  1067. package/lib/features/hints/di.config.d.ts.map +0 -1
  1068. package/lib/features/hints/di.config.js +0 -30
  1069. package/lib/features/hints/di.config.js.map +0 -1
  1070. package/lib/features/hints/type-hints.d.ts +0 -57
  1071. package/lib/features/hints/type-hints.d.ts.map +0 -1
  1072. package/lib/features/hints/type-hints.js +0 -180
  1073. package/lib/features/hints/type-hints.js.map +0 -1
  1074. package/lib/features/hover/di.config.d.ts +0 -19
  1075. package/lib/features/hover/di.config.d.ts.map +0 -1
  1076. package/lib/features/hover/di.config.js +0 -50
  1077. package/lib/features/hover/di.config.js.map +0 -1
  1078. package/lib/features/layout/di.config.d.ts +0 -19
  1079. package/lib/features/layout/di.config.d.ts.map +0 -1
  1080. package/lib/features/layout/di.config.js +0 -35
  1081. package/lib/features/layout/di.config.js.map +0 -1
  1082. package/lib/features/layout/freeform-layout.d.ts +0 -32
  1083. package/lib/features/layout/freeform-layout.d.ts.map +0 -1
  1084. package/lib/features/layout/freeform-layout.js +0 -107
  1085. package/lib/features/layout/freeform-layout.js.map +0 -1
  1086. package/lib/features/layout/hbox-layout.d.ts +0 -41
  1087. package/lib/features/layout/hbox-layout.d.ts.map +0 -1
  1088. package/lib/features/layout/hbox-layout.js +0 -201
  1089. package/lib/features/layout/hbox-layout.js.map +0 -1
  1090. package/lib/features/layout/layouter.d.ts +0 -37
  1091. package/lib/features/layout/layouter.d.ts.map +0 -1
  1092. package/lib/features/layout/layouter.js +0 -131
  1093. package/lib/features/layout/layouter.js.map +0 -1
  1094. package/lib/features/layout/tests/freeform-layout.spec.d.ts.map +0 -1
  1095. package/lib/features/layout/tests/freeform-layout.spec.js +0 -201
  1096. package/lib/features/layout/tests/freeform-layout.spec.js.map +0 -1
  1097. package/lib/features/layout/tests/hbox-layout.spec.d.ts.map +0 -1
  1098. package/lib/features/layout/tests/hbox-layout.spec.js +0 -161
  1099. package/lib/features/layout/tests/hbox-layout.spec.js.map +0 -1
  1100. package/lib/features/layout/tests/layouter-test-util.d.ts +0 -34
  1101. package/lib/features/layout/tests/layouter-test-util.d.ts.map +0 -1
  1102. package/lib/features/layout/tests/layouter-test-util.js +0 -96
  1103. package/lib/features/layout/tests/layouter-test-util.js.map +0 -1
  1104. package/lib/features/layout/tests/vbox-layout.spec.d.ts.map +0 -1
  1105. package/lib/features/layout/tests/vbox-layout.spec.js +0 -161
  1106. package/lib/features/layout/tests/vbox-layout.spec.js.map +0 -1
  1107. package/lib/features/layout/vbox-layout.d.ts +0 -41
  1108. package/lib/features/layout/vbox-layout.d.ts.map +0 -1
  1109. package/lib/features/layout/vbox-layout.js +0 -201
  1110. package/lib/features/layout/vbox-layout.js.map +0 -1
  1111. package/lib/features/mouse-tool/di.config.d.ts +0 -19
  1112. package/lib/features/mouse-tool/di.config.d.ts.map +0 -1
  1113. package/lib/features/mouse-tool/di.config.js +0 -28
  1114. package/lib/features/mouse-tool/di.config.js.map +0 -1
  1115. package/lib/features/mouse-tool/mouse-tool.d.ts +0 -22
  1116. package/lib/features/mouse-tool/mouse-tool.d.ts.map +0 -1
  1117. package/lib/features/mouse-tool/mouse-tool.js +0 -103
  1118. package/lib/features/mouse-tool/mouse-tool.js.map +0 -1
  1119. package/lib/features/navigation/di.config.d.ts +0 -3
  1120. package/lib/features/navigation/di.config.d.ts.map +0 -1
  1121. package/lib/features/navigation/di.config.js +0 -32
  1122. package/lib/features/navigation/di.config.js.map +0 -1
  1123. package/lib/features/rank/model.d.ts +0 -22
  1124. package/lib/features/rank/model.d.ts.map +0 -1
  1125. package/lib/features/rank/model.js +0 -28
  1126. package/lib/features/rank/model.js.map +0 -1
  1127. package/lib/features/save/di.config.d.ts +0 -23
  1128. package/lib/features/save/di.config.d.ts.map +0 -1
  1129. package/lib/features/save/di.config.js +0 -29
  1130. package/lib/features/save/di.config.js.map +0 -1
  1131. package/lib/features/save/model.d.ts +0 -22
  1132. package/lib/features/save/model.d.ts.map +0 -1
  1133. package/lib/features/save/model.js +0 -9
  1134. package/lib/features/save/model.js.map +0 -1
  1135. package/lib/features/select/di.config.d.ts +0 -19
  1136. package/lib/features/select/di.config.d.ts.map +0 -1
  1137. package/lib/features/select/di.config.js +0 -34
  1138. package/lib/features/select/di.config.js.map +0 -1
  1139. package/lib/features/select/select-feedback-action.d.ts +0 -38
  1140. package/lib/features/select/select-feedback-action.d.ts.map +0 -1
  1141. package/lib/features/select/select-feedback-action.js +0 -70
  1142. package/lib/features/select/select-feedback-action.js.map +0 -1
  1143. package/lib/features/select/selection-service.d.ts +0 -77
  1144. package/lib/features/select/selection-service.d.ts.map +0 -1
  1145. package/lib/features/select/selection-service.js +0 -222
  1146. package/lib/features/select/selection-service.js.map +0 -1
  1147. package/lib/features/select/selection-service.spec.d.ts.map +0 -1
  1148. package/lib/features/select/selection-service.spec.js +0 -347
  1149. package/lib/features/select/selection-service.spec.js.map +0 -1
  1150. package/lib/features/source-model-watcher/di.config.d.ts +0 -4
  1151. package/lib/features/source-model-watcher/di.config.d.ts.map +0 -1
  1152. package/lib/features/source-model-watcher/di.config.js +0 -26
  1153. package/lib/features/source-model-watcher/di.config.js.map +0 -1
  1154. package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts +0 -72
  1155. package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts.map +0 -1
  1156. package/lib/features/tool-feedback/change-bounds-tool-feedback.js +0 -258
  1157. package/lib/features/tool-feedback/change-bounds-tool-feedback.js.map +0 -1
  1158. package/lib/features/tool-feedback/creation-tool-feedback.d.ts +0 -71
  1159. package/lib/features/tool-feedback/creation-tool-feedback.d.ts.map +0 -1
  1160. package/lib/features/tool-feedback/creation-tool-feedback.js +0 -218
  1161. package/lib/features/tool-feedback/creation-tool-feedback.js.map +0 -1
  1162. package/lib/features/tool-feedback/css-feedback.d.ts +0 -57
  1163. package/lib/features/tool-feedback/css-feedback.d.ts.map +0 -1
  1164. package/lib/features/tool-feedback/css-feedback.js +0 -118
  1165. package/lib/features/tool-feedback/css-feedback.js.map +0 -1
  1166. package/lib/features/tool-feedback/di.config.d.ts +0 -19
  1167. package/lib/features/tool-feedback/di.config.d.ts.map +0 -1
  1168. package/lib/features/tool-feedback/di.config.js +0 -53
  1169. package/lib/features/tool-feedback/di.config.js.map +0 -1
  1170. package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts +0 -121
  1171. package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts.map +0 -1
  1172. package/lib/features/tool-feedback/edge-edit-tool-feedback.js +0 -333
  1173. package/lib/features/tool-feedback/edge-edit-tool-feedback.js.map +0 -1
  1174. package/lib/features/tool-feedback/feedback-action-dispatcher.d.ts +0 -66
  1175. package/lib/features/tool-feedback/feedback-action-dispatcher.d.ts.map +0 -1
  1176. package/lib/features/tool-feedback/feedback-action-dispatcher.js +0 -60
  1177. package/lib/features/tool-feedback/feedback-action-dispatcher.js.map +0 -1
  1178. package/lib/features/tool-feedback/marquee-tool-feedback.d.ts +0 -59
  1179. package/lib/features/tool-feedback/marquee-tool-feedback.d.ts.map +0 -1
  1180. package/lib/features/tool-feedback/marquee-tool-feedback.js +0 -122
  1181. package/lib/features/tool-feedback/marquee-tool-feedback.js.map +0 -1
  1182. package/lib/features/tool-feedback/model.d.ts +0 -22
  1183. package/lib/features/tool-feedback/model.d.ts.map +0 -1
  1184. package/lib/features/tool-feedback/model.js +0 -34
  1185. package/lib/features/tool-feedback/model.js.map +0 -1
  1186. package/lib/features/tool-feedback/view.d.ts +0 -32
  1187. package/lib/features/tool-feedback/view.d.ts.map +0 -1
  1188. package/lib/features/tool-feedback/view.js +0 -83
  1189. package/lib/features/tool-feedback/view.js.map +0 -1
  1190. package/lib/features/tool-palette/di.config.d.ts +0 -20
  1191. package/lib/features/tool-palette/di.config.d.ts.map +0 -1
  1192. package/lib/features/tool-palette/di.config.js +0 -30
  1193. package/lib/features/tool-palette/di.config.js.map +0 -1
  1194. package/lib/features/tools/base-glsp-tool.d.ts +0 -36
  1195. package/lib/features/tools/base-glsp-tool.d.ts.map +0 -1
  1196. package/lib/features/tools/base-glsp-tool.js +0 -55
  1197. package/lib/features/tools/base-glsp-tool.js.map +0 -1
  1198. package/lib/features/tools/change-bounds-tool.d.ts +0 -86
  1199. package/lib/features/tools/change-bounds-tool.d.ts.map +0 -1
  1200. package/lib/features/tools/change-bounds-tool.js +0 -369
  1201. package/lib/features/tools/change-bounds-tool.js.map +0 -1
  1202. package/lib/features/tools/delete-tool.d.ts +0 -52
  1203. package/lib/features/tools/delete-tool.d.ts.map +0 -1
  1204. package/lib/features/tools/delete-tool.js +0 -132
  1205. package/lib/features/tools/delete-tool.js.map +0 -1
  1206. package/lib/features/tools/di.config.d.ts +0 -15
  1207. package/lib/features/tools/di.config.d.ts.map +0 -1
  1208. package/lib/features/tools/di.config.js +0 -66
  1209. package/lib/features/tools/di.config.js.map +0 -1
  1210. package/lib/features/tools/edge-creation-tool.d.ts +0 -52
  1211. package/lib/features/tools/edge-creation-tool.d.ts.map +0 -1
  1212. package/lib/features/tools/edge-creation-tool.js +0 -166
  1213. package/lib/features/tools/edge-creation-tool.js.map +0 -1
  1214. package/lib/features/tools/edge-edit-tool.d.ts +0 -67
  1215. package/lib/features/tools/edge-edit-tool.d.ts.map +0 -1
  1216. package/lib/features/tools/edge-edit-tool.js +0 -283
  1217. package/lib/features/tools/edge-edit-tool.js.map +0 -1
  1218. package/lib/features/tools/enable-default-tools-on-focus-loss.d.ts +0 -26
  1219. package/lib/features/tools/enable-default-tools-on-focus-loss.d.ts.map +0 -1
  1220. package/lib/features/tools/enable-default-tools-on-focus-loss.js +0 -29
  1221. package/lib/features/tools/enable-default-tools-on-focus-loss.js.map +0 -1
  1222. package/lib/features/tools/marquee-behavior.d.ts +0 -42
  1223. package/lib/features/tools/marquee-behavior.d.ts.map +0 -1
  1224. package/lib/features/tools/marquee-behavior.js +0 -128
  1225. package/lib/features/tools/marquee-behavior.js.map +0 -1
  1226. package/lib/features/tools/marquee-behavior.spec.d.ts.map +0 -1
  1227. package/lib/features/tools/marquee-behavior.spec.js.map +0 -1
  1228. package/lib/features/tools/marquee-mouse-tool.d.ts +0 -48
  1229. package/lib/features/tools/marquee-mouse-tool.d.ts.map +0 -1
  1230. package/lib/features/tools/marquee-mouse-tool.js +0 -148
  1231. package/lib/features/tools/marquee-mouse-tool.js.map +0 -1
  1232. package/lib/features/tools/marquee-tool.d.ts +0 -30
  1233. package/lib/features/tools/marquee-tool.d.ts.map +0 -1
  1234. package/lib/features/tools/marquee-tool.js +0 -54
  1235. package/lib/features/tools/marquee-tool.js.map +0 -1
  1236. package/lib/features/tools/model.d.ts +0 -23
  1237. package/lib/features/tools/model.d.ts.map +0 -1
  1238. package/lib/features/tools/model.js +0 -9
  1239. package/lib/features/tools/model.js.map +0 -1
  1240. package/lib/features/tools/node-creation-tool.d.ts +0 -41
  1241. package/lib/features/tools/node-creation-tool.d.ts.map +0 -1
  1242. package/lib/features/tools/node-creation-tool.js +0 -117
  1243. package/lib/features/tools/node-creation-tool.js.map +0 -1
  1244. package/lib/features/tools/view.d.ts +0 -7
  1245. package/lib/features/tools/view.d.ts.map +0 -1
  1246. package/lib/features/tools/view.js +0 -40
  1247. package/lib/features/tools/view.js.map +0 -1
  1248. package/lib/features/validation/di.config.d.ts +0 -10
  1249. package/lib/features/validation/di.config.d.ts.map +0 -1
  1250. package/lib/features/validation/di.config.js +0 -46
  1251. package/lib/features/validation/di.config.js.map +0 -1
  1252. package/lib/features/viewport/di.config.d.ts +0 -19
  1253. package/lib/features/viewport/di.config.d.ts.map +0 -1
  1254. package/lib/features/viewport/di.config.js +0 -34
  1255. package/lib/features/viewport/di.config.js.map +0 -1
  1256. package/lib/lib/model.d.ts +0 -25
  1257. package/lib/lib/model.d.ts.map +0 -1
  1258. package/lib/lib/model.js +0 -18
  1259. package/lib/lib/model.js.map +0 -1
  1260. package/lib/model-source/glsp-diagram-server.d.ts +0 -36
  1261. package/lib/model-source/glsp-diagram-server.d.ts.map +0 -1
  1262. package/lib/model-source/glsp-diagram-server.js +0 -103
  1263. package/lib/model-source/glsp-diagram-server.js.map +0 -1
  1264. package/lib/sprotty-reexport.d.ts +0 -174
  1265. package/lib/sprotty-reexport.d.ts.map +0 -1
  1266. package/lib/sprotty-reexport.js +0 -299
  1267. package/lib/sprotty-reexport.js.map +0 -1
  1268. package/lib/utils/smodel-util.d.ts +0 -147
  1269. package/lib/utils/smodel-util.d.ts.map +0 -1
  1270. package/lib/utils/smodel-util.js +0 -223
  1271. package/lib/utils/smodel-util.js.map +0 -1
  1272. package/lib/views/glsp-edge-view.d.ts +0 -27
  1273. package/lib/views/glsp-edge-view.d.ts.map +0 -1
  1274. package/lib/views/glsp-edge-view.js +0 -55
  1275. package/lib/views/glsp-edge-view.js.map +0 -1
  1276. package/src/base/actions/focus-change-action.ts +0 -43
  1277. package/src/base/actions/sprotty-actions.ts +0 -26
  1278. package/src/base/argumentable.ts +0 -25
  1279. package/src/base/container-modules.ts +0 -113
  1280. package/src/base/di.config.ts +0 -89
  1281. package/src/base/focus-tracker.ts +0 -49
  1282. package/src/base/model/update-model-command.ts +0 -123
  1283. package/src/base/model-initialization-constraint.ts +0 -93
  1284. package/src/base/source-uri-aware.ts +0 -23
  1285. package/src/base/tool-manager/glsp-tool-manager.ts +0 -95
  1286. package/src/base/tool-manager/tool-actions.ts +0 -37
  1287. package/src/base/types.ts +0 -46
  1288. package/src/features/command-palette/di.config.ts +0 -32
  1289. package/src/features/context-menu/di.config.ts +0 -38
  1290. package/src/features/context-menu/selection-service-aware-context-menu-mouse-listener.ts +0 -73
  1291. package/src/features/copy-paste/di.config.ts +0 -36
  1292. package/src/features/decoration/di.config.ts +0 -26
  1293. package/src/features/edit-label/di.config.ts +0 -29
  1294. package/src/features/edit-label/edit-label-tool.ts +0 -50
  1295. package/src/features/edit-label/edit-label-validator.ts +0 -99
  1296. package/src/features/hints/di.config.ts +0 -29
  1297. package/src/features/hints/type-hints.ts +0 -205
  1298. package/src/features/hover/di.config.ts +0 -66
  1299. package/src/features/layout/di.config.ts +0 -40
  1300. package/src/features/layout/freeform-layout.ts +0 -124
  1301. package/src/features/layout/hbox-layout.ts +0 -273
  1302. package/src/features/layout/layouter.ts +0 -137
  1303. package/src/features/layout/tests/freeform-layout.spec.ts +0 -216
  1304. package/src/features/layout/tests/hbox-layout.spec.ts +0 -171
  1305. package/src/features/layout/tests/layouter-test-util.ts +0 -122
  1306. package/src/features/layout/tests/vbox-layout.spec.ts +0 -171
  1307. package/src/features/layout/vbox-layout.ts +0 -273
  1308. package/src/features/mouse-tool/di.config.ts +0 -27
  1309. package/src/features/mouse-tool/mouse-tool.ts +0 -108
  1310. package/src/features/navigation/di.config.ts +0 -29
  1311. package/src/features/rank/model.ts +0 -29
  1312. package/src/features/save/di.config.ts +0 -28
  1313. package/src/features/save/model.ts +0 -26
  1314. package/src/features/select/di.config.ts +0 -33
  1315. package/src/features/select/select-feedback-action.ts +0 -57
  1316. package/src/features/select/selection-service.spec.ts +0 -380
  1317. package/src/features/select/selection-service.ts +0 -235
  1318. package/src/features/source-model-watcher/di.config.ts +0 -25
  1319. package/src/features/tool-feedback/change-bounds-tool-feedback.ts +0 -280
  1320. package/src/features/tool-feedback/creation-tool-feedback.ts +0 -246
  1321. package/src/features/tool-feedback/css-feedback.ts +0 -104
  1322. package/src/features/tool-feedback/di.config.ts +0 -65
  1323. package/src/features/tool-feedback/edge-edit-tool-feedback.ts +0 -380
  1324. package/src/features/tool-feedback/feedback-action-dispatcher.ts +0 -101
  1325. package/src/features/tool-feedback/marquee-tool-feedback.ts +0 -128
  1326. package/src/features/tool-feedback/model.ts +0 -29
  1327. package/src/features/tool-feedback/view.tsx +0 -77
  1328. package/src/features/tool-palette/di.config.ts +0 -29
  1329. package/src/features/tools/base-glsp-tool.ts +0 -53
  1330. package/src/features/tools/change-bounds-tool.ts +0 -445
  1331. package/src/features/tools/delete-tool.ts +0 -123
  1332. package/src/features/tools/di.config.ts +0 -66
  1333. package/src/features/tools/edge-creation-tool.ts +0 -175
  1334. package/src/features/tools/edge-edit-tool.ts +0 -319
  1335. package/src/features/tools/enable-default-tools-on-focus-loss.ts +0 -33
  1336. package/src/features/tools/marquee-behavior.ts +0 -158
  1337. package/src/features/tools/marquee-mouse-tool.ts +0 -152
  1338. package/src/features/tools/marquee-tool.ts +0 -51
  1339. package/src/features/tools/model.ts +0 -23
  1340. package/src/features/tools/node-creation-tool.ts +0 -116
  1341. package/src/features/tools/view.tsx +0 -43
  1342. package/src/features/validation/di.config.ts +0 -53
  1343. package/src/features/viewport/di.config.ts +0 -46
  1344. package/src/lib/model.ts +0 -27
  1345. package/src/model-source/glsp-diagram-server.ts +0 -110
  1346. package/src/sprotty-reexport.ts +0 -283
  1347. package/src/utils/smodel-util.ts +0 -249
  1348. package/src/views/glsp-edge-view.tsx +0 -79
  1349. /package/lib/{features/select → base}/selection-service.spec.d.ts +0 -0
  1350. /package/lib/features/{layout/tests → bounds}/freeform-layout.spec.d.ts +0 -0
  1351. /package/lib/features/{layout/tests → bounds}/hbox-layout.spec.d.ts +0 -0
  1352. /package/lib/features/{layout/tests → bounds}/vbox-layout.spec.d.ts +0 -0
  1353. /package/lib/features/tools/{marquee-behavior.spec.d.ts → marquee-selection/marquee-behavior.spec.d.ts} +0 -0
  1354. /package/lib/features/tools/{marquee-behavior.spec.js → marquee-selection/marquee-behavior.spec.js} +0 -0
  1355. /package/src/features/tools/{marquee-behavior.spec.ts → marquee-selection/marquee-behavior.spec.ts} +0 -0
@@ -0,0 +1,173 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2019-2023 EclipseSource and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+ import { BoundsAware, EdgeRouterRegistry, ElementAndBounds, ElementAndRoutingPoints, FluentIterable, ModelIndexImpl, RoutedPoint, Selectable, GModelElement, GRoutableElement, GRoutingHandle, TypeGuard, GModelElementSchema } from '@eclipse-glsp/sprotty';
17
+ /**
18
+ * Helper type to represent a filter predicate for {@link GModelElement}s. This is used to retrieve
19
+ * elements from the {@link ModelIndexImpl} that also conform to a second type `T`. Its mainly used for
20
+ * retrieving elements that also implement a certain model features (e.g. selectable)
21
+ */
22
+ export type ModelFilterPredicate<T> = (modelElement: GModelElement) => modelElement is GModelElement & T;
23
+ /**
24
+ * Retrieves all elements from the given {@link ModelIndexImpl} that match the given {@link ModelFilterPredicate}
25
+ * @param index The {@link ModelIndexImpl}.
26
+ * @param predicate The {@link ModelFilterPredicate} that should be used.
27
+ * @returns A {@link FluentIterable} of all indexed element that match the predicate
28
+ * (correctly casted to also include the additional type of the predicate).
29
+ */
30
+ export declare function filter<T>(index: ModelIndexImpl, predicate: ModelFilterPredicate<T>): FluentIterable<GModelElement & T>;
31
+ /**
32
+ * Retrieves all elements from the given {@link ModelIndexImpl} that match the given {@link ModelFilterPredicate} and executes
33
+ * the given runnable for each element of the result set.
34
+ * @param index The {@link ModelIndexImpl}.
35
+ * @param predicate The {@link ModelFilterPredicate} that should be used.
36
+ * @param runnable The runnable that should be executed for each matching element.
37
+ */
38
+ export declare function forEachElement<T>(index: ModelIndexImpl, predicate: ModelFilterPredicate<T>, runnable: (modelElement: GModelElement & T) => void): void;
39
+ /**
40
+ * Retrieves an array of all elements that match the given {@link ModelFilterPredicate} from the given {@link ModelIndexImpl}.
41
+ * @param index The {@link ModelIndexImpl}.
42
+ * @param predicate The {@link ModelFilterPredicate} that should be used.
43
+ * @returns An array of all indexed element that match the predicate
44
+ * (correctly casted to also include the additional type of the predicate).
45
+ */
46
+ export declare function getMatchingElements<T>(index: ModelIndexImpl, predicate: ModelFilterPredicate<T>): (GModelElement & T)[];
47
+ /**
48
+ * Invokes the given model index to retrieve the corresponding model elements for the given set of ids. Ids that
49
+ * have no corresponding element in the index will be ignored.
50
+ * @param index THe model index.
51
+ * @param elementsIDs The element ids.
52
+ * @param guard Optional typeguard. If defined only elements that match the guard will be returned.
53
+ * @returns An array of the model elements that correspond to the given ids and filter predicate.
54
+ */
55
+ export declare function getElements<S extends GModelElement>(index: ModelIndexImpl, elementsIDs: string[], guard?: TypeGuard<S>): S[];
56
+ /**
57
+ * Retrieves the amount of currently selected elements in the given {@link ModelIndexImpl}.
58
+ * @param index The {@link ModelIndexImpl}.
59
+ * @returns The amount of selected elements.
60
+ */
61
+ export declare function getSelectedElementCount(index: ModelIndexImpl): number;
62
+ /**
63
+ * Helper function to check wether an any element is selected in the given {@link ModelIndexImpl}.
64
+ * @param index The {@link ModelIndexImpl}.
65
+ * @returns `true` if at least one element is selected, `false` otherwise.
66
+ */
67
+ export declare function hasSelectedElements(index: ModelIndexImpl): boolean;
68
+ /**
69
+ * Helper function to check wether an element is defined. Can be used as {@link ModelFilterPredicate}.
70
+ * @param element The element that should be checked.
71
+ * @returns the type predicate for `T`
72
+ */
73
+ export declare function isNotUndefined<T>(element: T | undefined): element is T;
74
+ /**
75
+ * Adds a set of css classes to the given {@link GModelElement}.
76
+ * @param element The element to which the css classes should be added.
77
+ * @param cssClasses The set of css classes as string array.
78
+ */
79
+ export declare function addCssClasses(element: GModelElement, cssClasses: string[]): void;
80
+ /**
81
+ * Removes a set of css classes from the given {@link GModelElement}.
82
+ * @param element The element from which the css classes should be removed.
83
+ * @param cssClasses The set of css classes as string array.
84
+ */
85
+ export declare function removeCssClasses(root: GModelElement, cssClasses: string[]): void;
86
+ export declare function isNonRoutableSelectedMovableBoundsAware(element: GModelElement): element is SelectableBoundsAware;
87
+ /**
88
+ * A typeguard function to check wether a given {@link GModelElement} implements the {@link BoundsAware} model feature,
89
+ * the {@link Selectable} model feature and is actually selected. In addition, the element must not be a {@link GRoutableElement}.
90
+ * @param element The element to check.
91
+ * @returns A type predicate indicating wether the element is of type {@link SelectableBoundsAware}.
92
+ */
93
+ export declare function isNonRoutableSelectedBoundsAware(element: GModelElement): element is SelectableBoundsAware;
94
+ /**
95
+ * A type guard function to check wether a given {@link GModelElement} is a {@link GRoutableElement}.
96
+ * @param element The element to check.
97
+ * @returns A type predicate indicating wether the element is a {@link GRoutableElement}.
98
+ */
99
+ export declare function isRoutable<T extends GModelElement>(element: T): element is T & GRoutableElement;
100
+ /**
101
+ * A typeguard function to check wether a given {@link GModelElement} is a {@link SRoutingHandle}.
102
+ * @param element The element to check.
103
+ * @returns A type predicate indicating wether the element is a {@link SRoutingHandle}
104
+ */
105
+ export declare function isRoutingHandle(element: GModelElement | undefined): element is GRoutingHandle;
106
+ /**
107
+ * A typeguard function to check wether a given {@link GModelElement} implements the {@link Selectable} model feature and
108
+ * the {@link BoundsAware} model feature.
109
+ * @returns A type predicate indicating wether the element is of type {@link SelectableBoundsAware}.
110
+ */
111
+ export declare function isSelectableAndBoundsAware(element: GModelElement): element is SelectableBoundsAware;
112
+ /**
113
+ * Union type to describe {@link GModelElement}s that implement the {@link Selectable} and {@link BoundsAware} feature.
114
+ */
115
+ export type SelectableBoundsAware = GModelElement & BoundsAware & Selectable;
116
+ /**
117
+ * Union type to describe {@link GModelElement}s that implement the {@link BoundsAware} feature.
118
+ */
119
+ export type BoundsAwareModelElement = GModelElement & BoundsAware;
120
+ /**
121
+ * Helper function to translate a given {@link GModelElement} into its corresponding {@link ElementAndBounds} representation.
122
+ * @param element The element to translate.
123
+ * @returns The corresponding {@link ElementAndBounds} for the given element.
124
+ */
125
+ export declare function toElementAndBounds(element: BoundsAwareModelElement): ElementAndBounds;
126
+ /**
127
+ * Helper function to translate a given {@link GRoutableElement} into its corresponding
128
+ * {@link ElementAndRoutingPoints} representation.
129
+ * @param element The element to translate.
130
+ * @returns The corresponding {@link ElementAndRoutingPoints} for the given element.
131
+ */
132
+ export declare function toElementAndRoutingPoints(element: GRoutableElement): ElementAndRoutingPoints;
133
+ /** All routing points. */
134
+ export declare const ALL_ROUTING_POINTS: undefined;
135
+ /** Pure routing point data kinds. */
136
+ export declare const ROUTING_POINT_KINDS: string[];
137
+ /** Pure route data kinds. */
138
+ export declare const ROUTE_KINDS: string[];
139
+ /**
140
+ * Helper function to calculate the {@link ElementAndRoutingPoints} for a given {@link GRoutableElement}.
141
+ * If client layout is activated, i.e., the edge routing registry is given and has a router for the element, then the routing
142
+ * points from the calculated route are used, otherwise we use the already specified routing points of the {@link GRoutableElement}.
143
+ * @param element The element to translate.
144
+ * @param routerRegistry the edge router registry.
145
+ * @returns The corresponding {@link ElementAndRoutingPoints} for the given element.
146
+ */
147
+ export declare function calcElementAndRoutingPoints(element: GRoutableElement, routerRegistry?: EdgeRouterRegistry): ElementAndRoutingPoints;
148
+ /**
149
+ * Helper function to calculate the route for a given {@link GRoutableElement}.
150
+ * If client layout is activated, i.e., the edge routing registry is given and has a router for the element, then the points
151
+ * from the calculated route are used, otherwise we use the already specified routing points of the {@link GRoutableElement}.
152
+ * @param element The element to translate.
153
+ * @param routerRegistry the edge router registry.
154
+ * @returns The corresponding route for the given element.
155
+ */
156
+ export declare function calcElementAndRoute(element: GRoutableElement, routerRegistry?: EdgeRouterRegistry): ElementAndRoutingPoints;
157
+ /**
158
+ * Helper function to calculate the route for a given {@link GRoutableElement} by filtering duplicate points.
159
+ * @param element The element to translate.
160
+ * @param routerRegistry the edge router registry.
161
+ * @param pointKinds the routing point kinds that should be considered.
162
+ * @param tolerance the tolerance applied to a point's coordinates to determine duplicates.
163
+ * @returns The corresponding route for the given element.
164
+ */
165
+ export declare function calcRoute(element: GRoutableElement, routerRegistry: EdgeRouterRegistry, pointKinds?: string[] | undefined, tolerance?: number): RoutedPoint[] | undefined;
166
+ /**
167
+ * Convenience function to retrieve the model element type from a given input. The input
168
+ * can either be a {@link GModelElement}, {@link GModelElementSchema} or a string.
169
+ * @param input The type input.
170
+ * @returns The corresponding model type as string.
171
+ */
172
+ export declare function getElementTypeId(input: GModelElement | GModelElementSchema | string): string;
173
+ //# sourceMappingURL=gmodel-util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gmodel-util.d.ts","sourceRoot":"","sources":["../../src/utils/gmodel-util.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,278 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getElementTypeId = exports.calcRoute = exports.calcElementAndRoute = exports.calcElementAndRoutingPoints = exports.ROUTE_KINDS = exports.ROUTING_POINT_KINDS = exports.ALL_ROUTING_POINTS = exports.toElementAndRoutingPoints = exports.toElementAndBounds = exports.isSelectableAndBoundsAware = exports.isRoutingHandle = exports.isRoutable = exports.isNonRoutableSelectedBoundsAware = exports.isNonRoutableSelectedMovableBoundsAware = exports.removeCssClasses = exports.addCssClasses = exports.isNotUndefined = exports.hasSelectedElements = exports.getSelectedElementCount = exports.getElements = exports.getMatchingElements = exports.forEachElement = exports.filter = void 0;
4
+ /********************************************************************************
5
+ * Copyright (c) 2019-2023 EclipseSource and others.
6
+ *
7
+ * This program and the accompanying materials are made available under the
8
+ * terms of the Eclipse Public License v. 2.0 which is available at
9
+ * http://www.eclipse.org/legal/epl-2.0.
10
+ *
11
+ * This Source Code may also be made available under the following Secondary
12
+ * Licenses when the conditions for such availability set forth in the Eclipse
13
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
14
+ * with the GNU Classpath Exception which is available at
15
+ * https://www.gnu.org/software/classpath/license.html.
16
+ *
17
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
18
+ ********************************************************************************/
19
+ const sprotty_1 = require("@eclipse-glsp/sprotty");
20
+ /**
21
+ * Retrieves all elements from the given {@link ModelIndexImpl} that match the given {@link ModelFilterPredicate}
22
+ * @param index The {@link ModelIndexImpl}.
23
+ * @param predicate The {@link ModelFilterPredicate} that should be used.
24
+ * @returns A {@link FluentIterable} of all indexed element that match the predicate
25
+ * (correctly casted to also include the additional type of the predicate).
26
+ */
27
+ function filter(index, predicate) {
28
+ return index.all().filter(predicate);
29
+ }
30
+ exports.filter = filter;
31
+ /**
32
+ * Retrieves all elements from the given {@link ModelIndexImpl} that match the given {@link ModelFilterPredicate} and executes
33
+ * the given runnable for each element of the result set.
34
+ * @param index The {@link ModelIndexImpl}.
35
+ * @param predicate The {@link ModelFilterPredicate} that should be used.
36
+ * @param runnable The runnable that should be executed for each matching element.
37
+ */
38
+ function forEachElement(index, predicate, runnable) {
39
+ filter(index, predicate).forEach(runnable);
40
+ }
41
+ exports.forEachElement = forEachElement;
42
+ /**
43
+ * Retrieves an array of all elements that match the given {@link ModelFilterPredicate} from the given {@link ModelIndexImpl}.
44
+ * @param index The {@link ModelIndexImpl}.
45
+ * @param predicate The {@link ModelFilterPredicate} that should be used.
46
+ * @returns An array of all indexed element that match the predicate
47
+ * (correctly casted to also include the additional type of the predicate).
48
+ */
49
+ function getMatchingElements(index, predicate) {
50
+ return Array.from(filter(index, predicate));
51
+ }
52
+ exports.getMatchingElements = getMatchingElements;
53
+ /**
54
+ * Invokes the given model index to retrieve the corresponding model elements for the given set of ids. Ids that
55
+ * have no corresponding element in the index will be ignored.
56
+ * @param index THe model index.
57
+ * @param elementsIDs The element ids.
58
+ * @param guard Optional typeguard. If defined only elements that match the guard will be returned.
59
+ * @returns An array of the model elements that correspond to the given ids and filter predicate.
60
+ */
61
+ function getElements(index, elementsIDs, guard) {
62
+ // Internal filter function that filters out undefined model elements and runs an optional typeguard check.
63
+ const filterFn = (element) => {
64
+ if (element !== undefined) {
65
+ return guard ? guard(element) : true;
66
+ }
67
+ return false;
68
+ };
69
+ return elementsIDs.map(id => index.getById(id)).filter(filterFn);
70
+ }
71
+ exports.getElements = getElements;
72
+ /**
73
+ * Retrieves the amount of currently selected elements in the given {@link ModelIndexImpl}.
74
+ * @param index The {@link ModelIndexImpl}.
75
+ * @returns The amount of selected elements.
76
+ */
77
+ function getSelectedElementCount(index) {
78
+ let selected = 0;
79
+ forEachElement(index, sprotty_1.isSelected, element => selected++);
80
+ return selected;
81
+ }
82
+ exports.getSelectedElementCount = getSelectedElementCount;
83
+ /**
84
+ * Helper function to check wether an any element is selected in the given {@link ModelIndexImpl}.
85
+ * @param index The {@link ModelIndexImpl}.
86
+ * @returns `true` if at least one element is selected, `false` otherwise.
87
+ */
88
+ function hasSelectedElements(index) {
89
+ return getSelectedElementCount(index) > 0;
90
+ }
91
+ exports.hasSelectedElements = hasSelectedElements;
92
+ /**
93
+ * Helper function to check wether an element is defined. Can be used as {@link ModelFilterPredicate}.
94
+ * @param element The element that should be checked.
95
+ * @returns the type predicate for `T`
96
+ */
97
+ function isNotUndefined(element) {
98
+ return element !== undefined;
99
+ }
100
+ exports.isNotUndefined = isNotUndefined;
101
+ /**
102
+ * Adds a set of css classes to the given {@link GModelElement}.
103
+ * @param element The element to which the css classes should be added.
104
+ * @param cssClasses The set of css classes as string array.
105
+ */
106
+ function addCssClasses(element, cssClasses) {
107
+ var _a;
108
+ const elementCssClasses = (_a = element.cssClasses) !== null && _a !== void 0 ? _a : [];
109
+ (0, sprotty_1.distinctAdd)(elementCssClasses, ...cssClasses);
110
+ element.cssClasses = elementCssClasses;
111
+ }
112
+ exports.addCssClasses = addCssClasses;
113
+ /**
114
+ * Removes a set of css classes from the given {@link GModelElement}.
115
+ * @param element The element from which the css classes should be removed.
116
+ * @param cssClasses The set of css classes as string array.
117
+ */
118
+ function removeCssClasses(root, cssClasses) {
119
+ if (!root.cssClasses || root.cssClasses.length === 0) {
120
+ return;
121
+ }
122
+ (0, sprotty_1.remove)(root.cssClasses, ...cssClasses);
123
+ }
124
+ exports.removeCssClasses = removeCssClasses;
125
+ function isNonRoutableSelectedMovableBoundsAware(element) {
126
+ return isNonRoutableSelectedBoundsAware(element) && (0, sprotty_1.isMoveable)(element);
127
+ }
128
+ exports.isNonRoutableSelectedMovableBoundsAware = isNonRoutableSelectedMovableBoundsAware;
129
+ /**
130
+ * A typeguard function to check wether a given {@link GModelElement} implements the {@link BoundsAware} model feature,
131
+ * the {@link Selectable} model feature and is actually selected. In addition, the element must not be a {@link GRoutableElement}.
132
+ * @param element The element to check.
133
+ * @returns A type predicate indicating wether the element is of type {@link SelectableBoundsAware}.
134
+ */
135
+ function isNonRoutableSelectedBoundsAware(element) {
136
+ return (0, sprotty_1.isBoundsAware)(element) && (0, sprotty_1.isSelected)(element) && !isRoutable(element);
137
+ }
138
+ exports.isNonRoutableSelectedBoundsAware = isNonRoutableSelectedBoundsAware;
139
+ /**
140
+ * A type guard function to check wether a given {@link GModelElement} is a {@link GRoutableElement}.
141
+ * @param element The element to check.
142
+ * @returns A type predicate indicating wether the element is a {@link GRoutableElement}.
143
+ */
144
+ function isRoutable(element) {
145
+ return element instanceof sprotty_1.GRoutableElement && element.routingPoints !== undefined;
146
+ }
147
+ exports.isRoutable = isRoutable;
148
+ /**
149
+ * A typeguard function to check wether a given {@link GModelElement} is a {@link SRoutingHandle}.
150
+ * @param element The element to check.
151
+ * @returns A type predicate indicating wether the element is a {@link SRoutingHandle}
152
+ */
153
+ function isRoutingHandle(element) {
154
+ return element !== undefined && element instanceof sprotty_1.GRoutingHandle;
155
+ }
156
+ exports.isRoutingHandle = isRoutingHandle;
157
+ /**
158
+ * A typeguard function to check wether a given {@link GModelElement} implements the {@link Selectable} model feature and
159
+ * the {@link BoundsAware} model feature.
160
+ * @returns A type predicate indicating wether the element is of type {@link SelectableBoundsAware}.
161
+ */
162
+ function isSelectableAndBoundsAware(element) {
163
+ return (0, sprotty_1.isSelectable)(element) && (0, sprotty_1.isBoundsAware)(element);
164
+ }
165
+ exports.isSelectableAndBoundsAware = isSelectableAndBoundsAware;
166
+ /**
167
+ * Helper function to translate a given {@link GModelElement} into its corresponding {@link ElementAndBounds} representation.
168
+ * @param element The element to translate.
169
+ * @returns The corresponding {@link ElementAndBounds} for the given element.
170
+ */
171
+ function toElementAndBounds(element) {
172
+ return {
173
+ elementId: element.id,
174
+ newPosition: {
175
+ x: element.bounds.x,
176
+ y: element.bounds.y
177
+ },
178
+ newSize: {
179
+ width: element.bounds.width,
180
+ height: element.bounds.height
181
+ }
182
+ };
183
+ }
184
+ exports.toElementAndBounds = toElementAndBounds;
185
+ /**
186
+ * Helper function to translate a given {@link GRoutableElement} into its corresponding
187
+ * {@link ElementAndRoutingPoints} representation.
188
+ * @param element The element to translate.
189
+ * @returns The corresponding {@link ElementAndRoutingPoints} for the given element.
190
+ */
191
+ function toElementAndRoutingPoints(element) {
192
+ return {
193
+ elementId: element.id,
194
+ newRoutingPoints: element.routingPoints
195
+ };
196
+ }
197
+ exports.toElementAndRoutingPoints = toElementAndRoutingPoints;
198
+ /** All routing points. */
199
+ exports.ALL_ROUTING_POINTS = undefined;
200
+ /** Pure routing point data kinds. */
201
+ exports.ROUTING_POINT_KINDS = ['linear', 'bezier-junction'];
202
+ /** Pure route data kinds. */
203
+ exports.ROUTE_KINDS = [...exports.ROUTING_POINT_KINDS, 'source', 'target'];
204
+ /**
205
+ * Helper function to calculate the {@link ElementAndRoutingPoints} for a given {@link GRoutableElement}.
206
+ * If client layout is activated, i.e., the edge routing registry is given and has a router for the element, then the routing
207
+ * points from the calculated route are used, otherwise we use the already specified routing points of the {@link GRoutableElement}.
208
+ * @param element The element to translate.
209
+ * @param routerRegistry the edge router registry.
210
+ * @returns The corresponding {@link ElementAndRoutingPoints} for the given element.
211
+ */
212
+ function calcElementAndRoutingPoints(element, routerRegistry) {
213
+ const newRoutingPoints = routerRegistry ? calcRoute(element, routerRegistry, exports.ROUTING_POINT_KINDS) : element.routingPoints;
214
+ return { elementId: element.id, newRoutingPoints };
215
+ }
216
+ exports.calcElementAndRoutingPoints = calcElementAndRoutingPoints;
217
+ /**
218
+ * Helper function to calculate the route for a given {@link GRoutableElement}.
219
+ * If client layout is activated, i.e., the edge routing registry is given and has a router for the element, then the points
220
+ * from the calculated route are used, otherwise we use the already specified routing points of the {@link GRoutableElement}.
221
+ * @param element The element to translate.
222
+ * @param routerRegistry the edge router registry.
223
+ * @returns The corresponding route for the given element.
224
+ */
225
+ function calcElementAndRoute(element, routerRegistry) {
226
+ var _a, _b;
227
+ let route = routerRegistry ? calcRoute(element, routerRegistry, exports.ROUTE_KINDS) : undefined;
228
+ if (!route) {
229
+ // add source and target to the routing points
230
+ route = [...element.routingPoints];
231
+ route.splice(0, 0, ((_a = element.source) === null || _a === void 0 ? void 0 : _a.position) || sprotty_1.Point.ORIGIN);
232
+ route.push(((_b = element.target) === null || _b === void 0 ? void 0 : _b.position) || sprotty_1.Point.ORIGIN);
233
+ }
234
+ return { elementId: element.id, newRoutingPoints: route };
235
+ }
236
+ exports.calcElementAndRoute = calcElementAndRoute;
237
+ /**
238
+ * Helper function to calculate the route for a given {@link GRoutableElement} by filtering duplicate points.
239
+ * @param element The element to translate.
240
+ * @param routerRegistry the edge router registry.
241
+ * @param pointKinds the routing point kinds that should be considered.
242
+ * @param tolerance the tolerance applied to a point's coordinates to determine duplicates.
243
+ * @returns The corresponding route for the given element.
244
+ */
245
+ function calcRoute(element, routerRegistry, pointKinds = exports.ALL_ROUTING_POINTS, tolerance = Number.EPSILON) {
246
+ const route = routerRegistry.get(element.routerKind).route(element);
247
+ const calculatedRoute = [];
248
+ for (const point of route) {
249
+ // only include points we are actually interested in
250
+ if (pointKinds && !pointKinds.includes(point.kind)) {
251
+ continue;
252
+ }
253
+ // check if we are a duplicate based on coordinates in the already calculated route
254
+ if (exports.ROUTING_POINT_KINDS.includes(point.kind) &&
255
+ calculatedRoute.find(calculatedPoint => sprotty_1.Point.maxDistance(point, calculatedPoint) < tolerance)) {
256
+ continue;
257
+ }
258
+ calculatedRoute.push(point);
259
+ }
260
+ return calculatedRoute;
261
+ }
262
+ exports.calcRoute = calcRoute;
263
+ /**
264
+ * Convenience function to retrieve the model element type from a given input. The input
265
+ * can either be a {@link GModelElement}, {@link GModelElementSchema} or a string.
266
+ * @param input The type input.
267
+ * @returns The corresponding model type as string.
268
+ */
269
+ function getElementTypeId(input) {
270
+ if (typeof input === 'string') {
271
+ return input;
272
+ }
273
+ else {
274
+ return input.type;
275
+ }
276
+ }
277
+ exports.getElementTypeId = getElementTypeId;
278
+ //# sourceMappingURL=gmodel-util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gmodel-util.js","sourceRoot":"","sources":["../../src/utils/gmodel-util.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=gmodel-util.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gmodel-util.spec.d.ts","sourceRoot":"","sources":["../../src/utils/gmodel-util.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,186 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /********************************************************************************
4
+ * Copyright (c) 2023 EclipseSource and others.
5
+ *
6
+ * This program and the accompanying materials are made available under the
7
+ * terms of the Eclipse Public License v. 2.0 which is available at
8
+ * http://www.eclipse.org/legal/epl-2.0.
9
+ *
10
+ * This Source Code may also be made available under the following Secondary
11
+ * Licenses when the conditions for such availability set forth in the Eclipse
12
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
13
+ * with the GNU Classpath Exception which is available at
14
+ * https://www.gnu.org/software/classpath/license.html.
15
+ *
16
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
17
+ ********************************************************************************/
18
+ const sprotty_1 = require("@eclipse-glsp/sprotty");
19
+ const chai_1 = require("chai");
20
+ const inversify_1 = require("inversify");
21
+ const routing_module_1 = require("../features/routing/routing-module");
22
+ const gmodel_util_1 = require("./gmodel-util");
23
+ const model_1 = require("../model");
24
+ class TestRouter extends sprotty_1.AbstractEdgeRouter {
25
+ constructor() {
26
+ super(...arguments);
27
+ this.kind = 'test-router';
28
+ }
29
+ route(edge) {
30
+ const pureRoute = edge.routingPoints.map((point, idx) => (Object.assign(Object.assign({ kind: 'linear' }, point), { pointIndex: idx })));
31
+ return [
32
+ Object.assign({ kind: 'source' }, edge.source.position),
33
+ ...pureRoute,
34
+ { kind: 'bezier-control-after', x: 999, y: 999, pointIndex: pureRoute.length },
35
+ Object.assign({ kind: 'target' }, edge.target.position)
36
+ ];
37
+ }
38
+ createRoutingHandles(edge) {
39
+ // do nothing
40
+ }
41
+ getOptions(edge) {
42
+ return {
43
+ minimalPointDistance: 0,
44
+ selfEdgeOffset: 0,
45
+ standardDistance: 0
46
+ };
47
+ }
48
+ getInnerHandlePosition(edge, route, handle) {
49
+ return undefined;
50
+ }
51
+ applyInnerHandleMoves(edge, moves) {
52
+ // do nothing
53
+ }
54
+ }
55
+ describe('SModel Util', () => {
56
+ describe('calcRoute', () => {
57
+ const graph = new model_1.GGraph();
58
+ const source = new sprotty_1.GNode();
59
+ source.id = 'node0';
60
+ source.position = { x: 0, y: 0 };
61
+ source.size = { width: 0, height: 0 };
62
+ graph.add(source);
63
+ const target = new sprotty_1.GNode();
64
+ target.id = 'node1';
65
+ target.position = { x: 100, y: 100 };
66
+ target.size = { width: 0, height: 0 };
67
+ graph.add(target);
68
+ const edge = new model_1.GEdge();
69
+ edge.id = 'edge0';
70
+ edge.sourceId = 'node0';
71
+ edge.targetId = 'node1';
72
+ graph.add(edge);
73
+ edge.routerKind = 'test-router';
74
+ const container = new inversify_1.Container();
75
+ container.load(routing_module_1.routingModule);
76
+ const routerRegistry = container.get(sprotty_1.EdgeRouterRegistry);
77
+ routerRegistry.register('test-router', new TestRouter());
78
+ it('should return complete route', () => {
79
+ edge.source.position = { x: 0, y: 0 };
80
+ edge.target.position = { x: 100, y: 100 };
81
+ edge.routingPoints = [
82
+ { x: 20, y: 20 },
83
+ { x: 30, y: 30 },
84
+ { x: 40, y: 40 }
85
+ ];
86
+ const route = (0, gmodel_util_1.calcRoute)(edge, routerRegistry);
87
+ (0, chai_1.expect)(route).to.deep.equal([
88
+ { x: 0, y: 0, kind: 'source' },
89
+ { x: 20, y: 20, kind: 'linear', pointIndex: 0 },
90
+ { x: 30, y: 30, kind: 'linear', pointIndex: 1 },
91
+ { x: 40, y: 40, kind: 'linear', pointIndex: 2 },
92
+ { x: 999, y: 999, kind: 'bezier-control-after', pointIndex: 3 },
93
+ { x: 100, y: 100, kind: 'target' }
94
+ ]);
95
+ });
96
+ it('should filter duplicates with same coordinates', () => {
97
+ edge.source.position = { x: 0, y: 0 };
98
+ edge.target.position = { x: 100, y: 100 };
99
+ edge.routingPoints = [
100
+ { x: 20, y: 20 },
101
+ { x: 20, y: 20 },
102
+ { x: 30, y: 30 },
103
+ { x: 40, y: 40 }
104
+ ];
105
+ const route = (0, gmodel_util_1.calcRoute)(edge, routerRegistry);
106
+ (0, chai_1.expect)(route).to.deep.equal([
107
+ { x: 0, y: 0, kind: 'source' },
108
+ { x: 20, y: 20, kind: 'linear', pointIndex: 0 },
109
+ { x: 30, y: 30, kind: 'linear', pointIndex: 2 },
110
+ { x: 40, y: 40, kind: 'linear', pointIndex: 3 },
111
+ { x: 999, y: 999, kind: 'bezier-control-after', pointIndex: 4 },
112
+ { x: 100, y: 100, kind: 'target' }
113
+ ]);
114
+ });
115
+ it('should not filter source and target even if duplicate coordinates', () => {
116
+ edge.source.position = { x: 0, y: 0 };
117
+ edge.target.position = { x: 0, y: 0 };
118
+ edge.routingPoints = [
119
+ { x: 20, y: 20 },
120
+ { x: 30, y: 30 },
121
+ { x: 40, y: 40 }
122
+ ];
123
+ const route = (0, gmodel_util_1.calcRoute)(edge, routerRegistry);
124
+ (0, chai_1.expect)(route).to.deep.equal([
125
+ { x: 0, y: 0, kind: 'source' },
126
+ { x: 20, y: 20, kind: 'linear', pointIndex: 0 },
127
+ { x: 30, y: 30, kind: 'linear', pointIndex: 1 },
128
+ { x: 40, y: 40, kind: 'linear', pointIndex: 2 },
129
+ { x: 999, y: 999, kind: 'bezier-control-after', pointIndex: 3 },
130
+ { x: 0, y: 0, kind: 'target' }
131
+ ]);
132
+ });
133
+ it('should filter duplicates with same coordinates but allow tolerance', () => {
134
+ edge.source.position = { x: 0, y: 0 };
135
+ edge.target.position = { x: 100, y: 100 };
136
+ edge.routingPoints = [
137
+ { x: 20, y: 20 },
138
+ { x: 25, y: 25 },
139
+ { x: 30, y: 30 },
140
+ { x: 40, y: 40 }
141
+ ];
142
+ const route = (0, gmodel_util_1.calcRoute)(edge, routerRegistry, gmodel_util_1.ALL_ROUTING_POINTS, 10);
143
+ (0, chai_1.expect)(route).to.deep.equal([
144
+ { x: 0, y: 0, kind: 'source' },
145
+ { x: 20, y: 20, kind: 'linear', pointIndex: 0 },
146
+ { x: 30, y: 30, kind: 'linear', pointIndex: 2 },
147
+ { x: 40, y: 40, kind: 'linear', pointIndex: 3 },
148
+ { x: 999, y: 999, kind: 'bezier-control-after', pointIndex: 4 },
149
+ { x: 100, y: 100, kind: 'target' }
150
+ ]);
151
+ });
152
+ it('should allow filtering based on point type: ROUTE_KINDS', () => {
153
+ edge.source.position = { x: 0, y: 0 };
154
+ edge.target.position = { x: 100, y: 100 };
155
+ edge.routingPoints = [
156
+ { x: 20, y: 20 },
157
+ { x: 30, y: 30 },
158
+ { x: 40, y: 40 }
159
+ ];
160
+ const route = (0, gmodel_util_1.calcRoute)(edge, routerRegistry, gmodel_util_1.ROUTE_KINDS);
161
+ (0, chai_1.expect)(route).to.deep.equal([
162
+ { x: 0, y: 0, kind: 'source' },
163
+ { x: 20, y: 20, kind: 'linear', pointIndex: 0 },
164
+ { x: 30, y: 30, kind: 'linear', pointIndex: 1 },
165
+ { x: 40, y: 40, kind: 'linear', pointIndex: 2 },
166
+ { x: 100, y: 100, kind: 'target' }
167
+ ]);
168
+ });
169
+ it('should allow filtering based on point type: ROUTING_POINT_KINDS', () => {
170
+ edge.source.position = { x: 0, y: 0 };
171
+ edge.target.position = { x: 100, y: 100 };
172
+ edge.routingPoints = [
173
+ { x: 20, y: 20 },
174
+ { x: 30, y: 30 },
175
+ { x: 40, y: 40 }
176
+ ];
177
+ const route = (0, gmodel_util_1.calcRoute)(edge, routerRegistry, gmodel_util_1.ROUTING_POINT_KINDS);
178
+ (0, chai_1.expect)(route).to.deep.equal([
179
+ { x: 20, y: 20, kind: 'linear', pointIndex: 0 },
180
+ { x: 30, y: 30, kind: 'linear', pointIndex: 1 },
181
+ { x: 40, y: 40, kind: 'linear', pointIndex: 2 }
182
+ ]);
183
+ });
184
+ });
185
+ });
186
+ //# sourceMappingURL=gmodel-util.spec.js.map