@eclipse-glsp/client 1.1.0-next.4e10035.245 → 1.1.0-next.5435240.281

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 (1226) hide show
  1. package/README.md +1 -1
  2. package/css/decoration.css +0 -7
  3. package/css/glsp-sprotty.css +11 -3
  4. package/css/key-shortcut.css +111 -0
  5. package/css/navigation.css +26 -0
  6. package/css/status-overlay.css +75 -0
  7. package/css/toast.css +45 -0
  8. package/lib/base/action-dispatcher.d.ts +10 -19
  9. package/lib/base/action-dispatcher.d.ts.map +1 -1
  10. package/lib/base/action-dispatcher.js +28 -16
  11. package/lib/base/action-dispatcher.js.map +1 -1
  12. package/lib/base/action-dispatcher.spec.d.ts +2 -0
  13. package/lib/base/action-dispatcher.spec.d.ts.map +1 -0
  14. package/lib/base/action-dispatcher.spec.js +78 -0
  15. package/lib/base/action-dispatcher.spec.js.map +1 -0
  16. package/lib/base/action-handler-registry.d.ts +25 -0
  17. package/lib/base/action-handler-registry.d.ts.map +1 -0
  18. package/lib/base/action-handler-registry.js +40 -0
  19. package/lib/base/action-handler-registry.js.map +1 -0
  20. package/lib/base/argumentable.d.ts +2 -3
  21. package/lib/base/argumentable.d.ts.map +1 -1
  22. package/lib/base/argumentable.js.map +1 -1
  23. package/lib/base/auto-complete/auto-complete-actions.d.ts +2 -2
  24. package/lib/base/auto-complete/auto-complete-actions.d.ts.map +1 -1
  25. package/lib/base/auto-complete/auto-complete-actions.js +4 -4
  26. package/lib/base/auto-complete/auto-complete-actions.js.map +1 -1
  27. package/lib/base/auto-complete/auto-complete-widget.d.ts +1 -2
  28. package/lib/base/auto-complete/auto-complete-widget.d.ts.map +1 -1
  29. package/lib/base/auto-complete/auto-complete-widget.js +8 -26
  30. package/lib/base/auto-complete/auto-complete-widget.js.map +1 -1
  31. package/lib/base/auto-complete/validation-decorator.d.ts +16 -1
  32. package/lib/base/auto-complete/validation-decorator.d.ts.map +1 -1
  33. package/lib/base/auto-complete/validation-decorator.js +7 -8
  34. package/lib/base/auto-complete/validation-decorator.js.map +1 -1
  35. package/lib/base/command-stack.d.ts +17 -2
  36. package/lib/base/command-stack.d.ts.map +1 -1
  37. package/lib/base/command-stack.js +44 -4
  38. package/lib/base/command-stack.js.map +1 -1
  39. package/lib/base/default.module.d.ts +24 -0
  40. package/lib/base/default.module.d.ts.map +1 -0
  41. package/lib/base/default.module.js +92 -0
  42. package/lib/base/default.module.js.map +1 -0
  43. package/lib/base/drag-aware-mouse-listener.d.ts +4 -5
  44. package/lib/base/drag-aware-mouse-listener.d.ts.map +1 -1
  45. package/lib/base/drag-aware-mouse-listener.js +17 -2
  46. package/lib/base/drag-aware-mouse-listener.js.map +1 -1
  47. package/lib/base/editor-context-service.d.ts +25 -26
  48. package/lib/base/editor-context-service.d.ts.map +1 -1
  49. package/lib/base/editor-context-service.js +73 -31
  50. package/lib/base/editor-context-service.js.map +1 -1
  51. package/lib/base/feedback/css-feedback.d.ts +42 -0
  52. package/lib/base/feedback/css-feedback.d.ts.map +1 -0
  53. package/lib/base/feedback/css-feedback.js +116 -0
  54. package/lib/base/feedback/css-feedback.js.map +1 -0
  55. package/lib/base/feedback/feedback-action-dispatcher.d.ts +52 -0
  56. package/lib/base/feedback/feedback-action-dispatcher.d.ts.map +1 -0
  57. package/lib/base/feedback/feedback-action-dispatcher.js +83 -0
  58. package/lib/base/feedback/feedback-action-dispatcher.js.map +1 -0
  59. package/lib/base/feedback/feedback-command.d.ts +22 -0
  60. package/lib/base/feedback/feedback-command.d.ts.map +1 -0
  61. package/lib/base/feedback/feedback-command.js +34 -0
  62. package/lib/base/feedback/feedback-command.js.map +1 -0
  63. package/lib/base/feedback/update-model-command.d.ts +19 -0
  64. package/lib/base/feedback/update-model-command.d.ts.map +1 -0
  65. package/lib/base/feedback/update-model-command.js +91 -0
  66. package/lib/base/feedback/update-model-command.js.map +1 -0
  67. package/lib/base/focus/focus-state-change-action.d.ts +33 -0
  68. package/lib/base/focus/focus-state-change-action.d.ts.map +1 -0
  69. package/lib/base/focus/focus-state-change-action.js +35 -0
  70. package/lib/base/focus/focus-state-change-action.js.map +1 -0
  71. package/lib/base/focus/focus-tracker.d.ts +13 -0
  72. package/lib/base/focus/focus-tracker.d.ts.map +1 -0
  73. package/lib/base/focus/focus-tracker.js +71 -0
  74. package/lib/base/focus/focus-tracker.js.map +1 -0
  75. package/lib/base/model/diagram-loader.d.ts +116 -0
  76. package/lib/base/model/diagram-loader.d.ts.map +1 -0
  77. package/lib/base/model/diagram-loader.js +130 -0
  78. package/lib/base/model/diagram-loader.js.map +1 -0
  79. package/lib/base/model/glsp-model-source.d.ts +74 -0
  80. package/lib/base/model/glsp-model-source.d.ts.map +1 -0
  81. package/lib/base/model/glsp-model-source.js +178 -0
  82. package/lib/base/model/glsp-model-source.js.map +1 -0
  83. package/lib/base/model/model-initialization-constraint.d.ts +59 -0
  84. package/lib/base/model/model-initialization-constraint.d.ts.map +1 -0
  85. package/lib/base/model/model-initialization-constraint.js +112 -0
  86. package/lib/base/model/model-initialization-constraint.js.map +1 -0
  87. package/lib/base/model/model-initialization-constraint.spec.d.ts +2 -0
  88. package/lib/base/model/model-initialization-constraint.spec.d.ts.map +1 -0
  89. package/lib/base/model/model-initialization-constraint.spec.js +97 -0
  90. package/lib/base/model/model-initialization-constraint.spec.js.map +1 -0
  91. package/lib/base/model/model-registry.d.ts +1 -1
  92. package/lib/base/model/model-registry.d.ts.map +1 -1
  93. package/lib/base/model/model-registry.js +4 -5
  94. package/lib/base/model/model-registry.js.map +1 -1
  95. package/lib/base/ranked.d.ts +34 -0
  96. package/lib/base/ranked.d.ts.map +1 -0
  97. package/lib/base/ranked.js +38 -0
  98. package/lib/base/ranked.js.map +1 -0
  99. package/lib/base/selection-clearing-mouse-listener.d.ts +1 -1
  100. package/lib/base/selection-clearing-mouse-listener.d.ts.map +1 -1
  101. package/lib/base/selection-clearing-mouse-listener.js +4 -5
  102. package/lib/base/selection-clearing-mouse-listener.js.map +1 -1
  103. package/lib/base/selection-service.d.ts +82 -0
  104. package/lib/base/selection-service.d.ts.map +1 -0
  105. package/lib/base/selection-service.js +266 -0
  106. package/lib/base/selection-service.js.map +1 -0
  107. package/lib/base/selection-service.spec.d.ts +2 -0
  108. package/lib/base/selection-service.spec.d.ts.map +1 -0
  109. package/lib/base/selection-service.spec.js +282 -0
  110. package/lib/base/selection-service.spec.js.map +1 -0
  111. package/lib/base/tool-manager/tool-manager.d.ts +82 -0
  112. package/lib/base/tool-manager/tool-manager.d.ts.map +1 -0
  113. package/lib/base/tool-manager/tool-manager.js +140 -0
  114. package/lib/base/tool-manager/tool-manager.js.map +1 -0
  115. package/lib/base/tool-manager/tool.d.ts +54 -0
  116. package/lib/base/tool-manager/tool.d.ts.map +1 -0
  117. package/lib/base/tool-manager/tool.js +60 -0
  118. package/lib/base/tool-manager/tool.js.map +1 -0
  119. package/lib/base/view/key-tool.d.ts +5 -0
  120. package/lib/base/view/key-tool.d.ts.map +1 -0
  121. package/lib/base/view/key-tool.js +36 -0
  122. package/lib/base/view/key-tool.js.map +1 -0
  123. package/lib/base/view/mouse-tool.d.ts +19 -0
  124. package/lib/base/view/mouse-tool.d.ts.map +1 -0
  125. package/lib/base/view/mouse-tool.js +104 -0
  126. package/lib/base/view/mouse-tool.js.map +1 -0
  127. package/lib/base/view/view-registry.d.ts +1 -1
  128. package/lib/base/view/view-registry.d.ts.map +1 -1
  129. package/lib/base/view/view-registry.js +4 -5
  130. package/lib/base/view/view-registry.js.map +1 -1
  131. package/lib/default-modules.d.ts +65 -0
  132. package/lib/default-modules.d.ts.map +1 -0
  133. package/lib/default-modules.js +152 -0
  134. package/lib/default-modules.js.map +1 -0
  135. package/lib/features/accessibility/accessibility-module.d.ts +21 -0
  136. package/lib/features/accessibility/accessibility-module.d.ts.map +1 -0
  137. package/lib/features/accessibility/accessibility-module.js +42 -0
  138. package/lib/features/accessibility/accessibility-module.js.map +1 -0
  139. package/lib/features/accessibility/element-navigation/diagram-navigation-tool.d.ts +65 -0
  140. package/lib/features/accessibility/element-navigation/diagram-navigation-tool.d.ts.map +1 -0
  141. package/lib/features/accessibility/element-navigation/diagram-navigation-tool.js +290 -0
  142. package/lib/features/accessibility/element-navigation/diagram-navigation-tool.js.map +1 -0
  143. package/lib/features/accessibility/element-navigation/element-navigation-module.d.ts +24 -0
  144. package/lib/features/accessibility/element-navigation/element-navigation-module.d.ts.map +1 -0
  145. package/lib/features/accessibility/element-navigation/element-navigation-module.js +38 -0
  146. package/lib/features/accessibility/element-navigation/element-navigation-module.js.map +1 -0
  147. package/lib/features/accessibility/element-navigation/element-navigator.d.ts +26 -0
  148. package/lib/features/accessibility/element-navigation/element-navigator.d.ts.map +1 -0
  149. package/lib/features/accessibility/element-navigation/element-navigator.js +18 -0
  150. package/lib/features/accessibility/element-navigation/element-navigator.js.map +1 -0
  151. package/lib/features/accessibility/element-navigation/left-right-top-bottom-navigator.d.ts +28 -0
  152. package/lib/features/accessibility/element-navigation/left-right-top-bottom-navigator.d.ts.map +1 -0
  153. package/lib/features/accessibility/element-navigation/left-right-top-bottom-navigator.js +104 -0
  154. package/lib/features/accessibility/element-navigation/left-right-top-bottom-navigator.js.map +1 -0
  155. package/lib/features/accessibility/element-navigation/local-element-navigator.d.ts +35 -0
  156. package/lib/features/accessibility/element-navigation/local-element-navigator.d.ts.map +1 -0
  157. package/lib/features/accessibility/element-navigation/local-element-navigator.js +117 -0
  158. package/lib/features/accessibility/element-navigation/local-element-navigator.js.map +1 -0
  159. package/lib/features/accessibility/element-navigation/position-navigator.d.ts +32 -0
  160. package/lib/features/accessibility/element-navigation/position-navigator.d.ts.map +1 -0
  161. package/lib/features/accessibility/element-navigation/position-navigator.js +80 -0
  162. package/lib/features/accessibility/element-navigation/position-navigator.js.map +1 -0
  163. package/lib/features/accessibility/focus-tracker/focus-tracker-module.d.ts +23 -0
  164. package/lib/features/accessibility/focus-tracker/focus-tracker-module.d.ts.map +1 -0
  165. package/lib/features/accessibility/focus-tracker/focus-tracker-module.js +33 -0
  166. package/lib/features/accessibility/focus-tracker/focus-tracker-module.js.map +1 -0
  167. package/lib/features/accessibility/focus-tracker/focus-tracker-tool.d.ts +37 -0
  168. package/lib/features/accessibility/focus-tracker/focus-tracker-tool.d.ts.map +1 -0
  169. package/lib/features/accessibility/focus-tracker/focus-tracker-tool.js +133 -0
  170. package/lib/features/accessibility/focus-tracker/focus-tracker-tool.js.map +1 -0
  171. package/lib/features/accessibility/key-shortcut/accessible-key-shortcut-tool.d.ts +31 -0
  172. package/lib/features/accessibility/key-shortcut/accessible-key-shortcut-tool.d.ts.map +1 -0
  173. package/lib/features/accessibility/key-shortcut/accessible-key-shortcut-tool.js +72 -0
  174. package/lib/features/accessibility/key-shortcut/accessible-key-shortcut-tool.js.map +1 -0
  175. package/lib/features/accessibility/key-shortcut/accessible-key-shortcut.d.ts +54 -0
  176. package/lib/features/accessibility/key-shortcut/accessible-key-shortcut.d.ts.map +1 -0
  177. package/lib/features/accessibility/key-shortcut/accessible-key-shortcut.js +161 -0
  178. package/lib/features/accessibility/key-shortcut/accessible-key-shortcut.js.map +1 -0
  179. package/lib/features/accessibility/key-shortcut/di.config.d.ts +24 -0
  180. package/lib/features/accessibility/key-shortcut/di.config.d.ts.map +1 -0
  181. package/lib/features/accessibility/key-shortcut/di.config.js +37 -0
  182. package/lib/features/accessibility/key-shortcut/di.config.js.map +1 -0
  183. package/lib/features/accessibility/move-zoom/move-handler.d.ts +80 -0
  184. package/lib/features/accessibility/move-zoom/move-handler.d.ts.map +1 -0
  185. package/lib/features/accessibility/move-zoom/move-handler.js +169 -0
  186. package/lib/features/accessibility/move-zoom/move-handler.js.map +1 -0
  187. package/lib/features/accessibility/move-zoom/move-zoom-module.d.ts +22 -0
  188. package/lib/features/accessibility/move-zoom/move-zoom-module.d.ts.map +1 -0
  189. package/lib/features/accessibility/move-zoom/move-zoom-module.js +40 -0
  190. package/lib/features/accessibility/move-zoom/move-zoom-module.js.map +1 -0
  191. package/lib/features/accessibility/move-zoom/zoom-handler.d.ts +73 -0
  192. package/lib/features/accessibility/move-zoom/zoom-handler.d.ts.map +1 -0
  193. package/lib/features/accessibility/move-zoom/zoom-handler.js +155 -0
  194. package/lib/features/accessibility/move-zoom/zoom-handler.js.map +1 -0
  195. package/lib/features/accessibility/resize-key-tool/resize-key-handler.d.ts +54 -0
  196. package/lib/features/accessibility/resize-key-tool/resize-key-handler.d.ts.map +1 -0
  197. package/lib/features/accessibility/resize-key-tool/resize-key-handler.js +123 -0
  198. package/lib/features/accessibility/resize-key-tool/resize-key-handler.js.map +1 -0
  199. package/lib/features/accessibility/resize-key-tool/resize-key-module.d.ts +22 -0
  200. package/lib/features/accessibility/resize-key-tool/resize-key-module.d.ts.map +1 -0
  201. package/lib/features/accessibility/resize-key-tool/resize-key-module.js +35 -0
  202. package/lib/features/accessibility/resize-key-tool/resize-key-module.js.map +1 -0
  203. package/lib/features/accessibility/resize-key-tool/resize-key-tool.d.ts +48 -0
  204. package/lib/features/accessibility/resize-key-tool/resize-key-tool.d.ts.map +1 -0
  205. package/lib/features/accessibility/resize-key-tool/resize-key-tool.js +154 -0
  206. package/lib/features/accessibility/resize-key-tool/resize-key-tool.js.map +1 -0
  207. package/lib/features/accessibility/search/search-palette-module.d.ts +19 -0
  208. package/lib/features/accessibility/search/search-palette-module.d.ts.map +1 -0
  209. package/lib/features/accessibility/search/search-palette-module.js +31 -0
  210. package/lib/features/accessibility/search/search-palette-module.js.map +1 -0
  211. package/lib/features/accessibility/search/search-palette.d.ts +1 -2
  212. package/lib/features/accessibility/search/search-palette.d.ts.map +1 -1
  213. package/lib/features/accessibility/search/search-palette.js +25 -17
  214. package/lib/features/accessibility/search/search-palette.js.map +1 -1
  215. package/lib/features/accessibility/search/search-tool.d.ts +10 -3
  216. package/lib/features/accessibility/search/search-tool.d.ts.map +1 -1
  217. package/lib/features/accessibility/search/search-tool.js +26 -9
  218. package/lib/features/accessibility/search/search-tool.js.map +1 -1
  219. package/lib/features/accessibility/toast/messages.json +16 -0
  220. package/lib/features/accessibility/toast/toast-handler.d.ts +45 -0
  221. package/lib/features/accessibility/toast/toast-handler.d.ts.map +1 -0
  222. package/lib/features/accessibility/toast/toast-handler.js +54 -0
  223. package/lib/features/accessibility/toast/toast-handler.js.map +1 -0
  224. package/lib/features/accessibility/toast/toast-module.d.ts +24 -0
  225. package/lib/features/accessibility/toast/toast-module.d.ts.map +1 -0
  226. package/lib/features/accessibility/toast/toast-module.js +38 -0
  227. package/lib/features/accessibility/toast/toast-module.js.map +1 -0
  228. package/lib/features/accessibility/toast/toast-tool.d.ts +43 -0
  229. package/lib/features/accessibility/toast/toast-tool.d.ts.map +1 -0
  230. package/lib/features/accessibility/toast/toast-tool.js +115 -0
  231. package/lib/features/accessibility/toast/toast-tool.js.map +1 -0
  232. package/lib/features/accessibility/view-key-tools/deselect-key-tool.d.ts +34 -0
  233. package/lib/features/accessibility/view-key-tools/deselect-key-tool.d.ts.map +1 -0
  234. package/lib/features/accessibility/view-key-tools/deselect-key-tool.js +85 -0
  235. package/lib/features/accessibility/view-key-tools/deselect-key-tool.js.map +1 -0
  236. package/lib/features/accessibility/view-key-tools/movement-key-tool.d.ts +53 -0
  237. package/lib/features/accessibility/view-key-tools/movement-key-tool.d.ts.map +1 -0
  238. package/lib/features/accessibility/view-key-tools/movement-key-tool.js +143 -0
  239. package/lib/features/accessibility/view-key-tools/movement-key-tool.js.map +1 -0
  240. package/lib/features/accessibility/view-key-tools/view-key-tools-module.d.ts +19 -0
  241. package/lib/features/accessibility/view-key-tools/view-key-tools-module.d.ts.map +1 -0
  242. package/lib/features/accessibility/view-key-tools/view-key-tools-module.js +33 -0
  243. package/lib/features/accessibility/view-key-tools/view-key-tools-module.js.map +1 -0
  244. package/lib/features/accessibility/view-key-tools/zoom-key-tool.d.ts +46 -0
  245. package/lib/features/accessibility/view-key-tools/zoom-key-tool.d.ts.map +1 -0
  246. package/lib/features/accessibility/view-key-tools/zoom-key-tool.js +125 -0
  247. package/lib/features/accessibility/view-key-tools/zoom-key-tool.js.map +1 -0
  248. package/lib/features/autocomplete-palette/autocomplete-suggestion-providers.d.ts +1 -1
  249. package/lib/features/autocomplete-palette/autocomplete-suggestion-providers.d.ts.map +1 -1
  250. package/lib/features/autocomplete-palette/base-autocomplete-palette.d.ts +1 -2
  251. package/lib/features/autocomplete-palette/base-autocomplete-palette.d.ts.map +1 -1
  252. package/lib/features/autocomplete-palette/base-autocomplete-palette.js +4 -4
  253. package/lib/features/autocomplete-palette/base-autocomplete-palette.js.map +1 -1
  254. package/lib/features/bounds/bounds-module.d.ts +18 -0
  255. package/lib/features/bounds/bounds-module.d.ts.map +1 -0
  256. package/lib/features/bounds/bounds-module.js +37 -0
  257. package/lib/features/bounds/bounds-module.js.map +1 -0
  258. package/lib/features/bounds/freeform-layout.d.ts +1 -19
  259. package/lib/features/bounds/freeform-layout.d.ts.map +1 -1
  260. package/lib/features/bounds/freeform-layout.js +4 -6
  261. package/lib/features/bounds/freeform-layout.js.map +1 -1
  262. package/lib/features/bounds/freeform-layout.spec.d.ts +3 -0
  263. package/lib/features/bounds/freeform-layout.spec.d.ts.map +1 -0
  264. package/lib/features/bounds/freeform-layout.spec.js +201 -0
  265. package/lib/features/bounds/freeform-layout.spec.js.map +1 -0
  266. package/lib/features/bounds/glsp-hidden-bounds-updater.d.ts +1 -2
  267. package/lib/features/bounds/glsp-hidden-bounds-updater.d.ts.map +1 -1
  268. package/lib/features/bounds/glsp-hidden-bounds-updater.js +7 -9
  269. package/lib/features/bounds/glsp-hidden-bounds-updater.js.map +1 -1
  270. package/lib/features/bounds/hbox-layout.d.ts +1 -17
  271. package/lib/features/bounds/hbox-layout.d.ts.map +1 -1
  272. package/lib/features/bounds/hbox-layout.js +10 -12
  273. package/lib/features/bounds/hbox-layout.js.map +1 -1
  274. package/lib/features/bounds/hbox-layout.spec.d.ts +3 -0
  275. package/lib/features/bounds/hbox-layout.spec.d.ts.map +1 -0
  276. package/lib/features/bounds/hbox-layout.spec.js +160 -0
  277. package/lib/features/bounds/hbox-layout.spec.js.map +1 -0
  278. package/lib/features/bounds/layouter-test-util.spec.d.ts +32 -0
  279. package/lib/features/bounds/layouter-test-util.spec.d.ts.map +1 -0
  280. package/lib/features/bounds/layouter-test-util.spec.js +96 -0
  281. package/lib/features/bounds/layouter-test-util.spec.js.map +1 -0
  282. package/lib/features/bounds/layouter.d.ts +1 -17
  283. package/lib/features/bounds/layouter.d.ts.map +1 -1
  284. package/lib/features/bounds/layouter.js +9 -11
  285. package/lib/features/bounds/layouter.js.map +1 -1
  286. package/lib/features/bounds/vbox-layout.d.ts +1 -17
  287. package/lib/features/bounds/vbox-layout.d.ts.map +1 -1
  288. package/lib/features/bounds/vbox-layout.js +10 -12
  289. package/lib/features/bounds/vbox-layout.js.map +1 -1
  290. package/lib/features/bounds/vbox-layout.spec.d.ts +3 -0
  291. package/lib/features/bounds/vbox-layout.spec.d.ts.map +1 -0
  292. package/lib/features/bounds/vbox-layout.spec.js +160 -0
  293. package/lib/features/bounds/vbox-layout.spec.js.map +1 -0
  294. package/lib/features/change-bounds/model.d.ts +2 -2
  295. package/lib/features/change-bounds/model.d.ts.map +1 -1
  296. package/lib/features/change-bounds/model.js +7 -7
  297. package/lib/features/change-bounds/model.js.map +1 -1
  298. package/lib/features/change-bounds/movement-restrictor.d.ts +2 -18
  299. package/lib/features/change-bounds/movement-restrictor.d.ts.map +1 -1
  300. package/lib/features/change-bounds/movement-restrictor.js +22 -8
  301. package/lib/features/change-bounds/movement-restrictor.js.map +1 -1
  302. package/lib/features/change-bounds/snap.d.ts +1 -17
  303. package/lib/features/change-bounds/snap.d.ts.map +1 -1
  304. package/lib/features/change-bounds/snap.js +19 -5
  305. package/lib/features/change-bounds/snap.js.map +1 -1
  306. package/lib/features/change-bounds/snap.spec.d.ts +17 -0
  307. package/lib/features/change-bounds/snap.spec.d.ts.map +1 -0
  308. package/lib/features/change-bounds/snap.spec.js +82 -0
  309. package/lib/features/change-bounds/snap.spec.js.map +1 -0
  310. package/lib/features/command-palette/command-palette-module.d.ts +19 -0
  311. package/lib/features/command-palette/command-palette-module.d.ts.map +1 -0
  312. package/lib/features/command-palette/command-palette-module.js +29 -0
  313. package/lib/features/command-palette/command-palette-module.js.map +1 -0
  314. package/lib/features/command-palette/command-palette-tool.d.ts +2 -1
  315. package/lib/features/command-palette/command-palette-tool.d.ts.map +1 -1
  316. package/lib/features/command-palette/command-palette-tool.js +6 -7
  317. package/lib/features/command-palette/command-palette-tool.js.map +1 -1
  318. package/lib/features/command-palette/server-command-palette-provider.d.ts +1 -17
  319. package/lib/features/command-palette/server-command-palette-provider.d.ts.map +1 -1
  320. package/lib/features/command-palette/server-command-palette-provider.js +11 -12
  321. package/lib/features/command-palette/server-command-palette-provider.js.map +1 -1
  322. package/lib/features/context-menu/context-menu-module.d.ts +18 -0
  323. package/lib/features/context-menu/context-menu-module.d.ts.map +1 -0
  324. package/lib/features/context-menu/context-menu-module.js +35 -0
  325. package/lib/features/context-menu/context-menu-module.js.map +1 -0
  326. package/lib/features/context-menu/delete-element-context-menu.d.ts +1 -17
  327. package/lib/features/context-menu/delete-element-context-menu.d.ts.map +1 -1
  328. package/lib/features/context-menu/delete-element-context-menu.js +6 -8
  329. package/lib/features/context-menu/delete-element-context-menu.js.map +1 -1
  330. package/lib/features/context-menu/glsp-context-menu-mouse-listener.d.ts +21 -0
  331. package/lib/features/context-menu/glsp-context-menu-mouse-listener.d.ts.map +1 -0
  332. package/lib/features/context-menu/glsp-context-menu-mouse-listener.js +78 -0
  333. package/lib/features/context-menu/glsp-context-menu-mouse-listener.js.map +1 -0
  334. package/lib/features/context-menu/server-context-menu-provider.d.ts +2 -18
  335. package/lib/features/context-menu/server-context-menu-provider.d.ts.map +1 -1
  336. package/lib/features/context-menu/server-context-menu-provider.js +12 -14
  337. package/lib/features/context-menu/server-context-menu-provider.js.map +1 -1
  338. package/lib/features/copy-paste/copy-paste-context-menu.d.ts +1 -17
  339. package/lib/features/copy-paste/copy-paste-context-menu.d.ts.map +1 -1
  340. package/lib/features/copy-paste/copy-paste-context-menu.js +11 -18
  341. package/lib/features/copy-paste/copy-paste-context-menu.js.map +1 -1
  342. package/lib/features/copy-paste/copy-paste-handler.d.ts +1 -17
  343. package/lib/features/copy-paste/copy-paste-handler.d.ts.map +1 -1
  344. package/lib/features/copy-paste/copy-paste-handler.js +11 -14
  345. package/lib/features/copy-paste/copy-paste-handler.js.map +1 -1
  346. package/lib/features/copy-paste/copy-paste-modules.d.ts +24 -0
  347. package/lib/features/copy-paste/copy-paste-modules.d.ts.map +1 -0
  348. package/lib/features/copy-paste/copy-paste-modules.js +36 -0
  349. package/lib/features/copy-paste/copy-paste-modules.js.map +1 -0
  350. package/lib/features/decoration/decoration-module.d.ts +19 -0
  351. package/lib/features/decoration/decoration-module.d.ts.map +1 -0
  352. package/lib/features/decoration/decoration-module.js +25 -0
  353. package/lib/features/decoration/decoration-module.js.map +1 -0
  354. package/lib/features/decoration/decoration-placer.d.ts +1 -17
  355. package/lib/features/decoration/decoration-placer.d.ts.map +1 -1
  356. package/lib/features/decoration/decoration-placer.js +7 -9
  357. package/lib/features/decoration/decoration-placer.js.map +1 -1
  358. package/lib/features/export/export-modules.d.ts +24 -0
  359. package/lib/features/export/export-modules.d.ts.map +1 -0
  360. package/lib/features/export/export-modules.js +39 -0
  361. package/lib/features/export/export-modules.js.map +1 -0
  362. package/lib/features/export/export-svg-action-handler.d.ts +11 -0
  363. package/lib/features/export/export-svg-action-handler.d.ts.map +1 -0
  364. package/lib/features/export/export-svg-action-handler.js +42 -0
  365. package/lib/features/export/export-svg-action-handler.js.map +1 -0
  366. package/lib/features/export/glsp-svg-exporter.d.ts +1 -17
  367. package/lib/features/export/glsp-svg-exporter.d.ts.map +1 -1
  368. package/lib/features/export/glsp-svg-exporter.js +19 -5
  369. package/lib/features/export/glsp-svg-exporter.js.map +1 -1
  370. package/lib/features/hints/model.d.ts +2 -3
  371. package/lib/features/hints/model.d.ts.map +1 -1
  372. package/lib/features/hints/model.js.map +1 -1
  373. package/lib/features/hints/type-hint-provider.d.ts +81 -0
  374. package/lib/features/hints/type-hint-provider.d.ts.map +1 -0
  375. package/lib/features/hints/type-hint-provider.js +197 -0
  376. package/lib/features/hints/type-hint-provider.js.map +1 -0
  377. package/lib/features/hints/type-hint-provider.spec.d.ts +2 -0
  378. package/lib/features/hints/type-hint-provider.spec.d.ts.map +1 -0
  379. package/lib/features/hints/type-hint-provider.spec.js +332 -0
  380. package/lib/features/hints/type-hint-provider.spec.js.map +1 -0
  381. package/lib/features/hints/type-hints-module.d.ts +18 -0
  382. package/lib/features/hints/type-hints-module.d.ts.map +1 -0
  383. package/lib/features/hints/type-hints-module.js +28 -0
  384. package/lib/features/hints/type-hints-module.js.map +1 -0
  385. package/lib/features/hover/hover-module.d.ts +18 -0
  386. package/lib/features/hover/hover-module.d.ts.map +1 -0
  387. package/lib/features/hover/hover-module.js +48 -0
  388. package/lib/features/hover/hover-module.js.map +1 -0
  389. package/lib/features/hover/hover.d.ts +1 -17
  390. package/lib/features/hover/hover.d.ts.map +1 -1
  391. package/lib/features/hover/hover.js +14 -17
  392. package/lib/features/hover/hover.js.map +1 -1
  393. package/lib/features/label-edit/edit-label-tool.d.ts +10 -0
  394. package/lib/features/label-edit/edit-label-tool.d.ts.map +1 -0
  395. package/lib/features/label-edit/edit-label-tool.js +47 -0
  396. package/lib/features/label-edit/edit-label-tool.js.map +1 -0
  397. package/lib/features/label-edit/edit-label-validator.d.ts +17 -0
  398. package/lib/features/label-edit/edit-label-validator.d.ts.map +1 -0
  399. package/lib/features/label-edit/edit-label-validator.js +107 -0
  400. package/lib/features/label-edit/edit-label-validator.js.map +1 -0
  401. package/lib/features/label-edit/label-edit-module.d.ts +18 -0
  402. package/lib/features/label-edit/label-edit-module.d.ts.map +1 -0
  403. package/lib/features/label-edit/label-edit-module.js +28 -0
  404. package/lib/features/label-edit/label-edit-module.js.map +1 -0
  405. package/lib/features/layout/layout-elements-action.d.ts +2 -18
  406. package/lib/features/layout/layout-elements-action.d.ts.map +1 -1
  407. package/lib/features/layout/layout-elements-action.js +28 -35
  408. package/lib/features/layout/layout-elements-action.js.map +1 -1
  409. package/lib/features/layout/layout-elements-action.spec.d.ts +3 -0
  410. package/lib/features/layout/layout-elements-action.spec.d.ts.map +1 -0
  411. package/lib/features/layout/layout-elements-action.spec.js +322 -0
  412. package/lib/features/layout/layout-elements-action.spec.js.map +1 -0
  413. package/lib/features/layout/layout-module.d.ts +18 -0
  414. package/lib/features/layout/layout-module.d.ts.map +1 -0
  415. package/lib/features/layout/layout-module.js +26 -0
  416. package/lib/features/layout/layout-module.js.map +1 -0
  417. package/lib/features/navigation/navigation-action-handler.d.ts +1 -17
  418. package/lib/features/navigation/navigation-action-handler.d.ts.map +1 -1
  419. package/lib/features/navigation/navigation-action-handler.js +22 -27
  420. package/lib/features/navigation/navigation-action-handler.js.map +1 -1
  421. package/lib/features/navigation/navigation-module.d.ts +18 -0
  422. package/lib/features/navigation/navigation-module.d.ts.map +1 -0
  423. package/lib/features/navigation/navigation-module.js +30 -0
  424. package/lib/features/navigation/navigation-module.js.map +1 -0
  425. package/lib/features/navigation/navigation-target-resolver.d.ts +4 -20
  426. package/lib/features/navigation/navigation-target-resolver.d.ts.map +1 -1
  427. package/lib/features/navigation/navigation-target-resolver.js +15 -19
  428. package/lib/features/navigation/navigation-target-resolver.js.map +1 -1
  429. package/lib/features/navigation/navigation-target-resolver.spec.d.ts +3 -0
  430. package/lib/features/navigation/navigation-target-resolver.spec.d.ts.map +1 -0
  431. package/lib/features/navigation/navigation-target-resolver.spec.js +53 -0
  432. package/lib/features/navigation/navigation-target-resolver.spec.js.map +1 -0
  433. package/lib/features/reconnect/model.d.ts +2 -2
  434. package/lib/features/reconnect/model.d.ts.map +1 -1
  435. package/lib/features/reconnect/model.js +7 -7
  436. package/lib/features/reconnect/model.js.map +1 -1
  437. package/lib/features/routing/glsp-manhattan-edge-router.d.ts +20 -0
  438. package/lib/features/routing/glsp-manhattan-edge-router.d.ts.map +1 -0
  439. package/lib/features/routing/glsp-manhattan-edge-router.js +68 -0
  440. package/lib/features/routing/glsp-manhattan-edge-router.js.map +1 -0
  441. package/lib/features/routing/routing-module.d.ts +18 -0
  442. package/lib/features/routing/routing-module.d.ts.map +1 -0
  443. package/lib/features/routing/routing-module.js +39 -0
  444. package/lib/features/routing/routing-module.js.map +1 -0
  445. package/lib/features/save/save-keylistener.d.ts +2 -3
  446. package/lib/features/save/save-keylistener.d.ts.map +1 -1
  447. package/lib/features/save/save-keylistener.js +5 -7
  448. package/lib/features/save/save-keylistener.js.map +1 -1
  449. package/lib/features/save/save-module.d.ts +23 -0
  450. package/lib/features/save/save-module.d.ts.map +1 -0
  451. package/lib/features/save/save-module.js +29 -0
  452. package/lib/features/save/save-module.js.map +1 -0
  453. package/lib/features/select/select-feedback-command.d.ts +12 -0
  454. package/lib/features/select/select-feedback-command.d.ts.map +1 -0
  455. package/lib/features/select/select-feedback-command.js +56 -0
  456. package/lib/features/select/select-feedback-command.js.map +1 -0
  457. package/lib/features/select/select-module.d.ts +24 -0
  458. package/lib/features/select/select-module.d.ts.map +1 -0
  459. package/lib/features/select/select-module.js +38 -0
  460. package/lib/features/select/select-module.js.map +1 -0
  461. package/lib/features/select/select-mouse-listener.d.ts +6 -5
  462. package/lib/features/select/select-mouse-listener.d.ts.map +1 -1
  463. package/lib/features/select/select-mouse-listener.js +21 -65
  464. package/lib/features/select/select-mouse-listener.js.map +1 -1
  465. package/lib/features/source-model-watcher/source-model-changed-action-handler.d.ts +1 -17
  466. package/lib/features/source-model-watcher/source-model-changed-action-handler.d.ts.map +1 -1
  467. package/lib/features/source-model-watcher/source-model-changed-action-handler.js +10 -16
  468. package/lib/features/source-model-watcher/source-model-changed-action-handler.js.map +1 -1
  469. package/lib/features/source-model-watcher/source-model-wacher-module.d.ts +18 -0
  470. package/lib/features/source-model-watcher/source-model-wacher-module.d.ts.map +1 -0
  471. package/lib/features/source-model-watcher/source-model-wacher-module.js +24 -0
  472. package/lib/features/source-model-watcher/source-model-wacher-module.js.map +1 -0
  473. package/lib/features/status/status-module.d.ts +19 -0
  474. package/lib/features/status/status-module.d.ts.map +1 -0
  475. package/lib/features/status/status-module.js +28 -0
  476. package/lib/features/status/status-module.js.map +1 -0
  477. package/lib/features/status/status-overlay.d.ts +25 -0
  478. package/lib/features/status/status-overlay.d.ts.map +1 -0
  479. package/lib/features/status/status-overlay.js +124 -0
  480. package/lib/features/status/status-overlay.js.map +1 -0
  481. package/lib/features/svg-metadata/metadata-placer.d.ts +1 -2
  482. package/lib/features/svg-metadata/metadata-placer.d.ts.map +1 -1
  483. package/lib/features/svg-metadata/metadata-placer.js +13 -16
  484. package/lib/features/svg-metadata/metadata-placer.js.map +1 -1
  485. package/lib/features/svg-metadata/svg-metadata-module.d.ts +18 -0
  486. package/lib/features/svg-metadata/svg-metadata-module.d.ts.map +1 -0
  487. package/lib/features/svg-metadata/svg-metadata-module.js +25 -0
  488. package/lib/features/svg-metadata/svg-metadata-module.js.map +1 -0
  489. package/lib/features/tool-palette/tool-palette-module.d.ts +19 -0
  490. package/lib/features/tool-palette/tool-palette-module.d.ts.map +1 -0
  491. package/lib/features/tool-palette/tool-palette-module.js +28 -0
  492. package/lib/features/tool-palette/tool-palette-module.js.map +1 -0
  493. package/lib/features/tool-palette/tool-palette.d.ts +14 -26
  494. package/lib/features/tool-palette/tool-palette.d.ts.map +1 -1
  495. package/lib/features/tool-palette/tool-palette.js +64 -53
  496. package/lib/features/tool-palette/tool-palette.js.map +1 -1
  497. package/lib/features/tools/base-tools.d.ts +49 -0
  498. package/lib/features/tools/base-tools.d.ts.map +1 -0
  499. package/lib/features/tools/base-tools.js +114 -0
  500. package/lib/features/tools/base-tools.js.map +1 -0
  501. package/lib/features/tools/change-bounds/change-boounds-tool-module.d.ts +18 -0
  502. package/lib/features/tools/change-bounds/change-boounds-tool-module.d.ts.map +1 -0
  503. package/lib/features/tools/change-bounds/change-boounds-tool-module.js +31 -0
  504. package/lib/features/tools/change-bounds/change-boounds-tool-module.js.map +1 -0
  505. package/lib/features/tools/change-bounds/change-bounds-tool-feedback.d.ts +63 -0
  506. package/lib/features/tools/change-bounds/change-bounds-tool-feedback.d.ts.map +1 -0
  507. package/lib/features/tools/change-bounds/change-bounds-tool-feedback.js +275 -0
  508. package/lib/features/tools/change-bounds/change-bounds-tool-feedback.js.map +1 -0
  509. package/lib/features/tools/change-bounds/change-bounds-tool.d.ts +69 -0
  510. package/lib/features/tools/change-bounds/change-bounds-tool.d.ts.map +1 -0
  511. package/lib/features/tools/change-bounds/change-bounds-tool.js +385 -0
  512. package/lib/features/tools/change-bounds/change-bounds-tool.js.map +1 -0
  513. package/lib/features/tools/change-bounds/view.d.ts +9 -0
  514. package/lib/features/tools/change-bounds/view.d.ts.map +1 -0
  515. package/lib/features/tools/change-bounds/view.js +66 -0
  516. package/lib/features/tools/change-bounds/view.js.map +1 -0
  517. package/lib/features/tools/deletion/delete-tool.d.ts +31 -0
  518. package/lib/features/tools/deletion/delete-tool.d.ts.map +1 -0
  519. package/lib/features/tools/deletion/delete-tool.js +114 -0
  520. package/lib/features/tools/deletion/delete-tool.js.map +1 -0
  521. package/lib/features/tools/deletion/deletion-tool-module.d.ts +18 -0
  522. package/lib/features/tools/deletion/deletion-tool-module.d.ts.map +1 -0
  523. package/lib/features/tools/deletion/deletion-tool-module.js +26 -0
  524. package/lib/features/tools/deletion/deletion-tool-module.js.map +1 -0
  525. package/lib/features/tools/edge-creation/dangling-edge-feedback.d.ts +50 -0
  526. package/lib/features/tools/edge-creation/dangling-edge-feedback.d.ts.map +1 -0
  527. package/lib/features/tools/edge-creation/dangling-edge-feedback.js +151 -0
  528. package/lib/features/tools/edge-creation/dangling-edge-feedback.js.map +1 -0
  529. package/lib/features/tools/edge-creation/edege-creation-module.d.ts +18 -0
  530. package/lib/features/tools/edge-creation/edege-creation-module.d.ts.map +1 -0
  531. package/lib/features/tools/edge-creation/edege-creation-module.js +28 -0
  532. package/lib/features/tools/edge-creation/edege-creation-module.js.map +1 -0
  533. package/lib/features/tools/edge-creation/edge-creation-tool-feedback.d.ts +26 -0
  534. package/lib/features/tools/edge-creation/edge-creation-tool-feedback.d.ts.map +1 -0
  535. package/lib/features/tools/edge-creation/edge-creation-tool-feedback.js +74 -0
  536. package/lib/features/tools/edge-creation/edge-creation-tool-feedback.js.map +1 -0
  537. package/lib/features/tools/edge-creation/edge-creation-tool.d.ts +38 -0
  538. package/lib/features/tools/edge-creation/edge-creation-tool.d.ts.map +1 -0
  539. package/lib/features/tools/edge-creation/edge-creation-tool.js +197 -0
  540. package/lib/features/tools/edge-creation/edge-creation-tool.js.map +1 -0
  541. package/lib/features/tools/edge-creation/view.d.ts +10 -0
  542. package/lib/features/tools/edge-creation/view.d.ts.map +1 -0
  543. package/lib/features/tools/edge-creation/view.js +43 -0
  544. package/lib/features/tools/edge-creation/view.js.map +1 -0
  545. package/lib/features/tools/edge-edit/edge-edit-module.d.ts +18 -0
  546. package/lib/features/tools/edge-edit/edge-edit-module.d.ts.map +1 -0
  547. package/lib/features/tools/edge-edit/edge-edit-module.js +34 -0
  548. package/lib/features/tools/edge-edit/edge-edit-module.js.map +1 -0
  549. package/lib/features/tools/edge-edit/edge-edit-tool-feedback.d.ts +110 -0
  550. package/lib/features/tools/edge-edit/edge-edit-tool-feedback.d.ts.map +1 -0
  551. package/lib/features/tools/edge-edit/edge-edit-tool-feedback.js +331 -0
  552. package/lib/features/tools/edge-edit/edge-edit-tool-feedback.js.map +1 -0
  553. package/lib/features/tools/edge-edit/edge-edit-tool.d.ts +49 -0
  554. package/lib/features/tools/edge-edit/edge-edit-tool.d.ts.map +1 -0
  555. package/lib/features/tools/edge-edit/edge-edit-tool.js +277 -0
  556. package/lib/features/tools/edge-edit/edge-edit-tool.js.map +1 -0
  557. package/lib/features/tools/marquee-selection/marquee-behavior.d.ts +42 -0
  558. package/lib/features/tools/marquee-selection/marquee-behavior.d.ts.map +1 -0
  559. package/lib/features/tools/marquee-selection/marquee-behavior.js +128 -0
  560. package/lib/features/tools/marquee-selection/marquee-behavior.js.map +1 -0
  561. package/lib/features/tools/marquee-selection/marquee-behavior.spec.d.ts +17 -0
  562. package/lib/features/tools/marquee-selection/marquee-behavior.spec.d.ts.map +1 -0
  563. package/lib/features/tools/marquee-selection/marquee-behavior.spec.js +165 -0
  564. package/lib/features/tools/marquee-selection/marquee-behavior.spec.js.map +1 -0
  565. package/lib/features/tools/marquee-selection/marquee-mouse-tool.d.ts +29 -0
  566. package/lib/features/tools/marquee-selection/marquee-mouse-tool.d.ts.map +1 -0
  567. package/lib/features/tools/marquee-selection/marquee-mouse-tool.js +132 -0
  568. package/lib/features/tools/marquee-selection/marquee-mouse-tool.js.map +1 -0
  569. package/lib/features/tools/marquee-selection/marquee-selection-module.d.ts +18 -0
  570. package/lib/features/tools/marquee-selection/marquee-selection-module.d.ts.map +1 -0
  571. package/lib/features/tools/marquee-selection/marquee-selection-module.js +33 -0
  572. package/lib/features/tools/marquee-selection/marquee-selection-module.js.map +1 -0
  573. package/lib/features/tools/marquee-selection/marquee-tool-feedback.d.ts +43 -0
  574. package/lib/features/tools/marquee-selection/marquee-tool-feedback.d.ts.map +1 -0
  575. package/lib/features/tools/marquee-selection/marquee-tool-feedback.js +119 -0
  576. package/lib/features/tools/marquee-selection/marquee-tool-feedback.js.map +1 -0
  577. package/lib/features/tools/marquee-selection/marquee-tool.d.ts +12 -0
  578. package/lib/features/tools/marquee-selection/marquee-tool.d.ts.map +1 -0
  579. package/lib/features/tools/marquee-selection/marquee-tool.js +58 -0
  580. package/lib/features/tools/marquee-selection/marquee-tool.js.map +1 -0
  581. package/lib/features/tools/marquee-selection/model.d.ts +22 -0
  582. package/lib/features/tools/marquee-selection/model.d.ts.map +1 -0
  583. package/lib/features/tools/marquee-selection/model.js +24 -0
  584. package/lib/features/tools/marquee-selection/model.js.map +1 -0
  585. package/lib/features/tools/marquee-selection/view.d.ts +7 -0
  586. package/lib/features/tools/marquee-selection/view.d.ts.map +1 -0
  587. package/lib/features/tools/marquee-selection/view.js +39 -0
  588. package/lib/features/tools/marquee-selection/view.js.map +1 -0
  589. package/lib/features/tools/node-creation/node-creation-module.d.ts +18 -0
  590. package/lib/features/tools/node-creation/node-creation-module.d.ts.map +1 -0
  591. package/lib/features/tools/node-creation/node-creation-module.js +26 -0
  592. package/lib/features/tools/node-creation/node-creation-module.js.map +1 -0
  593. package/lib/features/tools/node-creation/node-creation-tool.d.ts +22 -0
  594. package/lib/features/tools/node-creation/node-creation-tool.d.ts.map +1 -0
  595. package/lib/features/tools/node-creation/node-creation-tool.js +104 -0
  596. package/lib/features/tools/node-creation/node-creation-tool.js.map +1 -0
  597. package/lib/features/tools/tool-focus-loss-module.d.ts +13 -0
  598. package/lib/features/tools/tool-focus-loss-module.d.ts.map +1 -0
  599. package/lib/features/tools/tool-focus-loss-module.js +49 -0
  600. package/lib/features/tools/tool-focus-loss-module.js.map +1 -0
  601. package/lib/features/undo-redo/undo-redo-key-listener.d.ts +23 -0
  602. package/lib/features/undo-redo/undo-redo-key-listener.d.ts.map +1 -0
  603. package/lib/features/undo-redo/undo-redo-key-listener.js +35 -0
  604. package/lib/features/undo-redo/undo-redo-key-listener.js.map +1 -0
  605. package/lib/features/undo-redo/undo-redo-module.d.ts +23 -0
  606. package/lib/features/undo-redo/undo-redo-module.d.ts.map +1 -0
  607. package/lib/features/undo-redo/undo-redo-module.js +30 -0
  608. package/lib/features/undo-redo/undo-redo-module.js.map +1 -0
  609. package/lib/features/validation/issue-marker.d.ts +2 -3
  610. package/lib/features/validation/issue-marker.d.ts.map +1 -1
  611. package/lib/features/validation/issue-marker.js +9 -10
  612. package/lib/features/validation/issue-marker.js.map +1 -1
  613. package/lib/features/validation/marker-navigator.d.ts +4 -19
  614. package/lib/features/validation/marker-navigator.d.ts.map +1 -1
  615. package/lib/features/validation/marker-navigator.js +29 -36
  616. package/lib/features/validation/marker-navigator.js.map +1 -1
  617. package/lib/features/validation/marker-navigator.spec.d.ts +3 -0
  618. package/lib/features/validation/marker-navigator.spec.d.ts.map +1 -0
  619. package/lib/features/validation/marker-navigator.spec.js +184 -0
  620. package/lib/features/validation/marker-navigator.spec.js.map +1 -0
  621. package/lib/features/validation/validate.d.ts +3 -19
  622. package/lib/features/validation/validate.d.ts.map +1 -1
  623. package/lib/features/validation/validate.js +24 -31
  624. package/lib/features/validation/validate.js.map +1 -1
  625. package/lib/features/validation/validation-modules.d.ts +25 -0
  626. package/lib/features/validation/validation-modules.d.ts.map +1 -0
  627. package/lib/features/validation/validation-modules.js +43 -0
  628. package/lib/features/validation/validation-modules.js.map +1 -0
  629. package/lib/features/viewport/glsp-scroll-mouse-listener.d.ts +1 -17
  630. package/lib/features/viewport/glsp-scroll-mouse-listener.d.ts.map +1 -1
  631. package/lib/features/viewport/glsp-scroll-mouse-listener.js +22 -7
  632. package/lib/features/viewport/glsp-scroll-mouse-listener.js.map +1 -1
  633. package/lib/features/viewport/reposition.d.ts +38 -0
  634. package/lib/features/viewport/reposition.d.ts.map +1 -0
  635. package/lib/features/viewport/reposition.js +109 -0
  636. package/lib/features/viewport/reposition.js.map +1 -0
  637. package/lib/features/viewport/viewport-modules.d.ts +24 -0
  638. package/lib/features/viewport/viewport-modules.d.ts.map +1 -0
  639. package/lib/features/viewport/viewport-modules.js +44 -0
  640. package/lib/features/viewport/viewport-modules.js.map +1 -0
  641. package/lib/glsp-sprotty/augmented-actions.d.ts +11 -0
  642. package/lib/glsp-sprotty/augmented-actions.d.ts.map +1 -0
  643. package/lib/glsp-sprotty/augmented-actions.js +25 -0
  644. package/lib/glsp-sprotty/augmented-actions.js.map +1 -0
  645. package/lib/glsp-sprotty/index.d.ts +186 -0
  646. package/lib/glsp-sprotty/index.d.ts.map +1 -0
  647. package/lib/glsp-sprotty/index.js +346 -0
  648. package/lib/glsp-sprotty/index.js.map +1 -0
  649. package/lib/glsp-sprotty/types.d.ts +85 -0
  650. package/lib/glsp-sprotty/types.d.ts.map +1 -0
  651. package/lib/glsp-sprotty/types.js +26 -0
  652. package/lib/glsp-sprotty/types.js.map +1 -0
  653. package/lib/index.d.ts +89 -63
  654. package/lib/index.d.ts.map +1 -1
  655. package/lib/index.js +105 -106
  656. package/lib/index.js.map +1 -1
  657. package/lib/lib/model.d.ts +2 -4
  658. package/lib/lib/model.d.ts.map +1 -1
  659. package/lib/lib/model.js +8 -10
  660. package/lib/lib/model.js.map +1 -1
  661. package/lib/standalone-modules.d.ts +38 -0
  662. package/lib/standalone-modules.d.ts.map +1 -0
  663. package/lib/standalone-modules.js +84 -0
  664. package/lib/standalone-modules.js.map +1 -0
  665. package/lib/utils/argument-utils.d.ts +2 -2
  666. package/lib/utils/argument-utils.d.ts.map +1 -1
  667. package/lib/utils/argument-utils.js +2 -2
  668. package/lib/utils/argument-utils.js.map +1 -1
  669. package/lib/utils/layout-utils.d.ts +2 -3
  670. package/lib/utils/layout-utils.d.ts.map +1 -1
  671. package/lib/utils/layout-utils.js.map +1 -1
  672. package/lib/utils/marker.d.ts +16 -1
  673. package/lib/utils/marker.d.ts.map +1 -1
  674. package/lib/utils/marker.js +7 -8
  675. package/lib/utils/marker.js.map +1 -1
  676. package/lib/utils/smodel-util.d.ts +6 -10
  677. package/lib/utils/smodel-util.d.ts.map +1 -1
  678. package/lib/utils/smodel-util.js +33 -26
  679. package/lib/utils/smodel-util.js.map +1 -1
  680. package/lib/utils/smodel-util.spec.d.ts +2 -0
  681. package/lib/utils/smodel-util.spec.d.ts.map +1 -0
  682. package/lib/utils/smodel-util.spec.js +185 -0
  683. package/lib/utils/smodel-util.spec.js.map +1 -0
  684. package/lib/utils/viewpoint-util.d.ts +21 -3
  685. package/lib/utils/viewpoint-util.d.ts.map +1 -1
  686. package/lib/utils/viewpoint-util.js +35 -7
  687. package/lib/utils/viewpoint-util.js.map +1 -1
  688. package/lib/views/base-view-module.d.ts +2 -4
  689. package/lib/views/base-view-module.d.ts.map +1 -1
  690. package/lib/views/base-view-module.js +24 -26
  691. package/lib/views/base-view-module.js.map +1 -1
  692. package/lib/views/compartments.d.ts +1 -1
  693. package/lib/views/compartments.d.ts.map +1 -1
  694. package/lib/views/compartments.js +5 -6
  695. package/lib/views/compartments.js.map +1 -1
  696. package/lib/views/glsp-edge-view.d.ts +1 -17
  697. package/lib/views/glsp-edge-view.d.ts.map +1 -1
  698. package/lib/views/glsp-edge-view.js +19 -5
  699. package/lib/views/glsp-edge-view.js.map +1 -1
  700. package/lib/views/glsp-projection-view.d.ts +3 -4
  701. package/lib/views/glsp-projection-view.d.ts.map +1 -1
  702. package/lib/views/glsp-projection-view.js +22 -12
  703. package/lib/views/glsp-projection-view.js.map +1 -1
  704. package/lib/views/issue-marker-view.d.ts +1 -1
  705. package/lib/views/issue-marker-view.d.ts.map +1 -1
  706. package/lib/views/issue-marker-view.js +6 -7
  707. package/lib/views/issue-marker-view.js.map +1 -1
  708. package/lib/views/rounded-corner-view.d.ts +1 -1
  709. package/lib/views/rounded-corner-view.d.ts.map +1 -1
  710. package/lib/views/rounded-corner-view.js +5 -6
  711. package/lib/views/rounded-corner-view.js.map +1 -1
  712. package/lib/views/rounded-corner.d.ts +1 -2
  713. package/lib/views/rounded-corner.d.ts.map +1 -1
  714. package/lib/views/rounded-corner.js.map +1 -1
  715. package/package.json +8 -6
  716. package/src/base/action-dispatcher.spec.ts +87 -0
  717. package/src/base/action-dispatcher.ts +33 -14
  718. package/src/base/action-handler-registry.ts +30 -0
  719. package/src/base/argumentable.ts +2 -3
  720. package/src/base/auto-complete/auto-complete-actions.ts +2 -2
  721. package/src/base/auto-complete/auto-complete-widget.ts +1 -4
  722. package/src/base/auto-complete/validation-decorator.ts +2 -3
  723. package/src/base/command-stack.ts +55 -3
  724. package/src/base/default.module.ts +117 -0
  725. package/src/base/drag-aware-mouse-listener.ts +4 -5
  726. package/src/base/editor-context-service.ts +87 -27
  727. package/src/base/feedback/css-feedback.ts +102 -0
  728. package/src/base/feedback/feedback-action-dispatcher.ts +109 -0
  729. package/src/base/feedback/feedback-command.ts +29 -0
  730. package/src/base/feedback/update-model-command.ts +100 -0
  731. package/src/base/focus/focus-state-change-action.ts +43 -0
  732. package/src/base/focus/focus-tracker.ts +58 -0
  733. package/src/base/model/diagram-loader.ts +215 -0
  734. package/src/base/model/glsp-model-source.ts +199 -0
  735. package/src/base/model/model-initialization-constraint.spec.ts +95 -0
  736. package/src/base/model/model-initialization-constraint.ts +125 -0
  737. package/src/base/model/model-registry.ts +2 -2
  738. package/src/base/ranked.ts +42 -0
  739. package/src/base/selection-clearing-mouse-listener.ts +2 -2
  740. package/src/base/selection-service.spec.ts +298 -0
  741. package/src/base/selection-service.ts +293 -0
  742. package/src/base/tool-manager/tool-manager.ts +183 -0
  743. package/src/base/tool-manager/tool.ts +85 -0
  744. package/src/base/view/key-tool.ts +25 -0
  745. package/src/base/view/mouse-tool.ts +105 -0
  746. package/src/base/view/view-registry.ts +2 -2
  747. package/src/default-modules.ts +171 -0
  748. package/src/features/accessibility/README.md +83 -0
  749. package/src/features/accessibility/accessibility-module.ts +39 -0
  750. package/src/features/accessibility/element-navigation/diagram-navigation-tool.ts +307 -0
  751. package/src/features/accessibility/element-navigation/element-navigation-module.ts +36 -0
  752. package/src/features/accessibility/element-navigation/element-navigator.ts +57 -0
  753. package/src/features/accessibility/element-navigation/left-right-top-bottom-navigator.ts +113 -0
  754. package/src/features/accessibility/element-navigation/local-element-navigator.ts +147 -0
  755. package/src/features/accessibility/element-navigation/position-navigator.ts +102 -0
  756. package/src/features/accessibility/focus-tracker/focus-tracker-module.ts +32 -0
  757. package/src/features/accessibility/focus-tracker/focus-tracker-tool.ts +129 -0
  758. package/src/features/accessibility/key-shortcut/accessible-key-shortcut-tool.ts +55 -0
  759. package/src/features/accessibility/key-shortcut/accessible-key-shortcut.ts +197 -0
  760. package/src/features/accessibility/key-shortcut/di.config.ts +35 -0
  761. package/src/features/accessibility/move-zoom/move-handler.ts +209 -0
  762. package/src/features/accessibility/move-zoom/move-zoom-module.ts +41 -0
  763. package/src/features/accessibility/move-zoom/zoom-handler.ts +182 -0
  764. package/src/features/accessibility/resize-key-tool/resize-key-handler.ts +129 -0
  765. package/src/features/accessibility/resize-key-tool/resize-key-module.ts +34 -0
  766. package/src/features/accessibility/resize-key-tool/resize-key-tool.ts +141 -0
  767. package/src/features/accessibility/search/search-palette-module.ts +29 -0
  768. package/src/features/accessibility/search/search-palette.ts +29 -15
  769. package/src/features/accessibility/search/search-tool.ts +23 -6
  770. package/src/features/accessibility/toast/messages.json +16 -0
  771. package/src/features/accessibility/toast/toast-handler.ts +69 -0
  772. package/src/features/accessibility/toast/toast-module.ts +36 -0
  773. package/src/features/accessibility/toast/toast-tool.ts +108 -0
  774. package/src/features/accessibility/view-key-tools/deselect-key-tool.ts +88 -0
  775. package/src/features/accessibility/view-key-tools/movement-key-tool.ts +127 -0
  776. package/src/features/accessibility/view-key-tools/view-key-tools-module.ts +31 -0
  777. package/src/features/accessibility/view-key-tools/zoom-key-tool.ts +111 -0
  778. package/src/features/autocomplete-palette/autocomplete-suggestion-providers.ts +1 -1
  779. package/src/features/autocomplete-palette/base-autocomplete-palette.ts +1 -2
  780. package/src/features/bounds/bounds-module.ts +47 -0
  781. package/src/features/bounds/freeform-layout.spec.ts +2 -2
  782. package/src/features/bounds/freeform-layout.ts +12 -4
  783. package/src/features/bounds/glsp-hidden-bounds-updater.ts +13 -2
  784. package/src/features/bounds/hbox-layout.spec.ts +2 -3
  785. package/src/features/bounds/hbox-layout.ts +8 -6
  786. package/src/features/bounds/layouter-test-util.spec.ts +7 -6
  787. package/src/features/bounds/layouter.ts +6 -6
  788. package/src/features/bounds/vbox-layout.spec.ts +2 -3
  789. package/src/features/bounds/vbox-layout.ts +7 -5
  790. package/src/features/change-bounds/model.ts +2 -2
  791. package/src/features/change-bounds/movement-restrictor.ts +4 -5
  792. package/src/features/change-bounds/snap.spec.ts +2 -2
  793. package/src/features/change-bounds/snap.ts +2 -3
  794. package/src/features/command-palette/command-palette-module.ts +26 -0
  795. package/src/features/command-palette/command-palette-tool.ts +2 -1
  796. package/src/features/command-palette/server-command-palette-provider.ts +14 -6
  797. package/src/features/context-menu/context-menu-module.ts +33 -0
  798. package/src/features/context-menu/delete-element-context-menu.ts +2 -4
  799. package/src/features/context-menu/glsp-context-menu-mouse-listener.ts +67 -0
  800. package/src/features/context-menu/server-context-menu-provider.ts +15 -6
  801. package/src/features/copy-paste/copy-paste-context-menu.ts +16 -8
  802. package/src/features/copy-paste/copy-paste-handler.ts +9 -3
  803. package/src/features/copy-paste/copy-paste-modules.ts +37 -0
  804. package/src/features/decoration/decoration-module.ts +22 -0
  805. package/src/features/decoration/decoration-placer.ts +2 -3
  806. package/src/features/export/export-modules.ts +50 -0
  807. package/src/features/export/export-svg-action-handler.ts +32 -0
  808. package/src/features/export/glsp-svg-exporter.ts +1 -2
  809. package/src/features/hints/model.ts +2 -3
  810. package/src/features/hints/type-hint-provider.spec.ts +356 -0
  811. package/src/features/hints/type-hint-provider.ts +248 -0
  812. package/src/features/hints/type-hints-module.ts +25 -0
  813. package/src/features/hover/hover-module.ts +64 -0
  814. package/src/features/hover/hover.ts +17 -12
  815. package/src/features/label-edit/edit-label-tool.ts +42 -0
  816. package/src/features/label-edit/edit-label-validator.ts +103 -0
  817. package/src/features/label-edit/label-edit-module.ts +25 -0
  818. package/src/features/layout/layout-elements-action.spec.ts +14 -18
  819. package/src/features/layout/layout-elements-action.ts +15 -13
  820. package/src/features/layout/layout-module.ts +28 -0
  821. package/src/features/navigation/navigation-action-handler.ts +16 -15
  822. package/src/features/navigation/navigation-module.ts +27 -0
  823. package/src/features/navigation/navigation-target-resolver.spec.ts +2 -3
  824. package/src/features/navigation/navigation-target-resolver.ts +20 -11
  825. package/src/features/reconnect/model.ts +2 -2
  826. package/src/features/routing/glsp-manhattan-edge-router.ts +59 -0
  827. package/src/features/routing/routing-module.ts +59 -0
  828. package/src/features/save/save-keylistener.ts +2 -4
  829. package/src/features/save/save-module.ts +26 -0
  830. package/src/features/select/select-feedback-command.ts +41 -0
  831. package/src/features/select/select-module.ts +39 -0
  832. package/src/features/select/select-mouse-listener.ts +29 -80
  833. package/src/features/source-model-watcher/source-model-changed-action-handler.ts +12 -8
  834. package/src/features/source-model-watcher/source-model-wacher-module.ts +21 -0
  835. package/src/features/status/status-module.ts +26 -0
  836. package/src/features/status/status-overlay.ts +121 -0
  837. package/src/features/svg-metadata/metadata-placer.ts +2 -4
  838. package/src/features/svg-metadata/svg-metadata-module.ts +23 -0
  839. package/src/features/tool-palette/tool-palette-module.ts +25 -0
  840. package/src/features/tool-palette/tool-palette.ts +66 -45
  841. package/src/features/tools/base-tools.ts +99 -0
  842. package/src/features/tools/change-bounds/change-boounds-tool-module.ts +28 -0
  843. package/src/features/tools/change-bounds/change-bounds-tool-feedback.ts +313 -0
  844. package/src/features/tools/change-bounds/change-bounds-tool.ts +475 -0
  845. package/src/features/tools/change-bounds/view.tsx +64 -0
  846. package/src/features/tools/deletion/delete-tool.ts +113 -0
  847. package/src/features/tools/deletion/deletion-tool-module.ts +23 -0
  848. package/src/features/tools/edge-creation/dangling-edge-feedback.ts +185 -0
  849. package/src/features/tools/edge-creation/edege-creation-module.ts +25 -0
  850. package/src/features/tools/edge-creation/edge-creation-tool-feedback.ts +89 -0
  851. package/src/features/tools/edge-creation/edge-creation-tool.ts +206 -0
  852. package/src/features/tools/edge-creation/view.tsx +33 -0
  853. package/src/features/tools/edge-edit/edge-edit-module.ts +38 -0
  854. package/src/features/tools/edge-edit/edge-edit-tool-feedback.ts +387 -0
  855. package/src/features/tools/edge-edit/edge-edit-tool.ts +322 -0
  856. package/src/features/tools/marquee-selection/marquee-behavior.ts +157 -0
  857. package/src/features/tools/marquee-selection/marquee-mouse-tool.ts +143 -0
  858. package/src/features/tools/marquee-selection/marquee-selection-module.ts +32 -0
  859. package/src/features/tools/marquee-selection/marquee-tool-feedback.ts +130 -0
  860. package/src/features/tools/marquee-selection/marquee-tool.ts +45 -0
  861. package/src/features/tools/marquee-selection/model.ts +22 -0
  862. package/src/features/tools/marquee-selection/view.tsx +43 -0
  863. package/src/features/tools/node-creation/node-creation-module.ts +23 -0
  864. package/src/features/tools/node-creation/node-creation-tool.ts +101 -0
  865. package/src/features/tools/tool-focus-loss-module.ts +39 -0
  866. package/src/features/undo-redo/undo-redo-key-listener.ts +32 -0
  867. package/src/features/undo-redo/undo-redo-module.ts +28 -0
  868. package/src/features/validation/issue-marker.ts +13 -3
  869. package/src/features/validation/marker-navigator.spec.ts +7 -8
  870. package/src/features/validation/marker-navigator.ts +21 -16
  871. package/src/features/validation/validate.ts +19 -7
  872. package/src/features/validation/validation-modules.ts +53 -0
  873. package/src/features/viewport/glsp-scroll-mouse-listener.ts +4 -4
  874. package/src/features/viewport/reposition.ts +119 -0
  875. package/src/features/viewport/viewport-modules.ts +59 -0
  876. package/src/glsp-sprotty/augmented-actions.ts +33 -0
  877. package/src/glsp-sprotty/index.ts +344 -0
  878. package/src/glsp-sprotty/types.ts +43 -0
  879. package/src/index.ts +90 -90
  880. package/src/lib/model.ts +14 -5
  881. package/src/standalone-modules.ts +87 -0
  882. package/src/utils/argument-utils.ts +2 -2
  883. package/src/utils/layout-utils.ts +2 -3
  884. package/src/utils/marker.ts +2 -3
  885. package/src/utils/smodel-util.spec.ts +222 -0
  886. package/src/utils/smodel-util.ts +38 -29
  887. package/src/utils/viewpoint-util.ts +45 -3
  888. package/src/views/base-view-module.ts +12 -13
  889. package/src/views/compartments.tsx +2 -2
  890. package/src/views/glsp-edge-view.tsx +1 -2
  891. package/src/views/glsp-projection-view.tsx +24 -13
  892. package/src/views/issue-marker-view.tsx +2 -2
  893. package/src/views/rounded-corner-view.tsx +1 -1
  894. package/src/views/rounded-corner.ts +1 -2
  895. package/lib/base/actions/focus-change-action.d.ts +0 -33
  896. package/lib/base/actions/focus-change-action.d.ts.map +0 -1
  897. package/lib/base/actions/focus-change-action.js +0 -35
  898. package/lib/base/actions/focus-change-action.js.map +0 -1
  899. package/lib/base/actions/sprotty-actions.d.ts +0 -7
  900. package/lib/base/actions/sprotty-actions.d.ts.map +0 -1
  901. package/lib/base/actions/sprotty-actions.js +0 -21
  902. package/lib/base/actions/sprotty-actions.js.map +0 -1
  903. package/lib/base/container-modules.d.ts +0 -70
  904. package/lib/base/container-modules.d.ts.map +0 -1
  905. package/lib/base/container-modules.js +0 -136
  906. package/lib/base/container-modules.js.map +0 -1
  907. package/lib/base/di.config.d.ts +0 -30
  908. package/lib/base/di.config.d.ts.map +0 -1
  909. package/lib/base/di.config.js +0 -82
  910. package/lib/base/di.config.js.map +0 -1
  911. package/lib/base/focus-tracker.d.ts +0 -25
  912. package/lib/base/focus-tracker.d.ts.map +0 -1
  913. package/lib/base/focus-tracker.js +0 -50
  914. package/lib/base/focus-tracker.js.map +0 -1
  915. package/lib/base/model/update-model-command.d.ts +0 -47
  916. package/lib/base/model/update-model-command.d.ts.map +0 -1
  917. package/lib/base/model/update-model-command.js +0 -117
  918. package/lib/base/model/update-model-command.js.map +0 -1
  919. package/lib/base/model-initialization-constraint.d.ts +0 -53
  920. package/lib/base/model-initialization-constraint.d.ts.map +0 -1
  921. package/lib/base/model-initialization-constraint.js +0 -105
  922. package/lib/base/model-initialization-constraint.js.map +0 -1
  923. package/lib/base/source-uri-aware.d.ts +0 -5
  924. package/lib/base/source-uri-aware.d.ts.map +0 -1
  925. package/lib/base/source-uri-aware.js +0 -24
  926. package/lib/base/source-uri-aware.js.map +0 -1
  927. package/lib/base/tool-manager/glsp-tool-manager.d.ts +0 -21
  928. package/lib/base/tool-manager/glsp-tool-manager.d.ts.map +0 -1
  929. package/lib/base/tool-manager/glsp-tool-manager.js +0 -116
  930. package/lib/base/tool-manager/glsp-tool-manager.js.map +0 -1
  931. package/lib/base/tool-manager/tool-actions.d.ts +0 -14
  932. package/lib/base/tool-manager/tool-actions.d.ts.map +0 -1
  933. package/lib/base/tool-manager/tool-actions.js +0 -25
  934. package/lib/base/tool-manager/tool-actions.js.map +0 -1
  935. package/lib/base/types.d.ts +0 -166
  936. package/lib/base/types.d.ts.map +0 -1
  937. package/lib/base/types.js +0 -31
  938. package/lib/base/types.js.map +0 -1
  939. package/lib/features/accessibility/di.config.d.ts +0 -21
  940. package/lib/features/accessibility/di.config.d.ts.map +0 -1
  941. package/lib/features/accessibility/di.config.js +0 -28
  942. package/lib/features/accessibility/di.config.js.map +0 -1
  943. package/lib/features/accessibility/search/di.config.d.ts +0 -20
  944. package/lib/features/accessibility/search/di.config.d.ts.map +0 -1
  945. package/lib/features/accessibility/search/di.config.js +0 -33
  946. package/lib/features/accessibility/search/di.config.js.map +0 -1
  947. package/lib/features/bounds/di.config.d.ts +0 -4
  948. package/lib/features/bounds/di.config.d.ts.map +0 -1
  949. package/lib/features/bounds/di.config.js +0 -39
  950. package/lib/features/bounds/di.config.js.map +0 -1
  951. package/lib/features/command-palette/di.config.d.ts +0 -5
  952. package/lib/features/command-palette/di.config.d.ts.map +0 -1
  953. package/lib/features/command-palette/di.config.js +0 -32
  954. package/lib/features/command-palette/di.config.js.map +0 -1
  955. package/lib/features/context-menu/di.config.d.ts +0 -4
  956. package/lib/features/context-menu/di.config.d.ts.map +0 -1
  957. package/lib/features/context-menu/di.config.js +0 -38
  958. package/lib/features/context-menu/di.config.js.map +0 -1
  959. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.d.ts +0 -39
  960. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.d.ts.map +0 -1
  961. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js +0 -70
  962. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js.map +0 -1
  963. package/lib/features/copy-paste/di.config.d.ts +0 -24
  964. package/lib/features/copy-paste/di.config.d.ts.map +0 -1
  965. package/lib/features/copy-paste/di.config.js +0 -38
  966. package/lib/features/copy-paste/di.config.js.map +0 -1
  967. package/lib/features/decoration/di.config.d.ts +0 -5
  968. package/lib/features/decoration/di.config.d.ts.map +0 -1
  969. package/lib/features/decoration/di.config.js +0 -27
  970. package/lib/features/decoration/di.config.js.map +0 -1
  971. package/lib/features/edit-label/di.config.d.ts +0 -4
  972. package/lib/features/edit-label/di.config.d.ts.map +0 -1
  973. package/lib/features/edit-label/di.config.js +0 -31
  974. package/lib/features/edit-label/di.config.js.map +0 -1
  975. package/lib/features/edit-label/edit-label-tool.d.ts +0 -13
  976. package/lib/features/edit-label/edit-label-tool.d.ts.map +0 -1
  977. package/lib/features/edit-label/edit-label-tool.js +0 -55
  978. package/lib/features/edit-label/edit-label-tool.js.map +0 -1
  979. package/lib/features/edit-label/edit-label-validator.d.ts +0 -33
  980. package/lib/features/edit-label/edit-label-validator.d.ts.map +0 -1
  981. package/lib/features/edit-label/edit-label-validator.js +0 -109
  982. package/lib/features/edit-label/edit-label-validator.js.map +0 -1
  983. package/lib/features/export/di.config.d.ts +0 -4
  984. package/lib/features/export/di.config.d.ts.map +0 -1
  985. package/lib/features/export/di.config.js +0 -30
  986. package/lib/features/export/di.config.js.map +0 -1
  987. package/lib/features/hints/di.config.d.ts +0 -4
  988. package/lib/features/hints/di.config.d.ts.map +0 -1
  989. package/lib/features/hints/di.config.js +0 -30
  990. package/lib/features/hints/di.config.js.map +0 -1
  991. package/lib/features/hints/type-hints.d.ts +0 -57
  992. package/lib/features/hints/type-hints.d.ts.map +0 -1
  993. package/lib/features/hints/type-hints.js +0 -180
  994. package/lib/features/hints/type-hints.js.map +0 -1
  995. package/lib/features/hover/di.config.d.ts +0 -4
  996. package/lib/features/hover/di.config.d.ts.map +0 -1
  997. package/lib/features/hover/di.config.js +0 -50
  998. package/lib/features/hover/di.config.js.map +0 -1
  999. package/lib/features/layout/di.config.d.ts +0 -19
  1000. package/lib/features/layout/di.config.d.ts.map +0 -1
  1001. package/lib/features/layout/di.config.js +0 -27
  1002. package/lib/features/layout/di.config.js.map +0 -1
  1003. package/lib/features/mouse-tool/di.config.d.ts +0 -19
  1004. package/lib/features/mouse-tool/di.config.d.ts.map +0 -1
  1005. package/lib/features/mouse-tool/di.config.js +0 -28
  1006. package/lib/features/mouse-tool/di.config.js.map +0 -1
  1007. package/lib/features/mouse-tool/mouse-tool.d.ts +0 -22
  1008. package/lib/features/mouse-tool/mouse-tool.d.ts.map +0 -1
  1009. package/lib/features/mouse-tool/mouse-tool.js +0 -103
  1010. package/lib/features/mouse-tool/mouse-tool.js.map +0 -1
  1011. package/lib/features/navigation/di.config.d.ts +0 -4
  1012. package/lib/features/navigation/di.config.d.ts.map +0 -1
  1013. package/lib/features/navigation/di.config.js +0 -32
  1014. package/lib/features/navigation/di.config.js.map +0 -1
  1015. package/lib/features/rank/model.d.ts +0 -22
  1016. package/lib/features/rank/model.d.ts.map +0 -1
  1017. package/lib/features/rank/model.js +0 -28
  1018. package/lib/features/rank/model.js.map +0 -1
  1019. package/lib/features/save/di.config.d.ts +0 -8
  1020. package/lib/features/save/di.config.d.ts.map +0 -1
  1021. package/lib/features/save/di.config.js +0 -30
  1022. package/lib/features/save/di.config.js.map +0 -1
  1023. package/lib/features/save/model.d.ts +0 -22
  1024. package/lib/features/save/model.d.ts.map +0 -1
  1025. package/lib/features/save/model.js +0 -9
  1026. package/lib/features/save/model.js.map +0 -1
  1027. package/lib/features/select/di.config.d.ts +0 -4
  1028. package/lib/features/select/di.config.d.ts.map +0 -1
  1029. package/lib/features/select/di.config.js +0 -35
  1030. package/lib/features/select/di.config.js.map +0 -1
  1031. package/lib/features/select/select-feedback-action.d.ts +0 -38
  1032. package/lib/features/select/select-feedback-action.d.ts.map +0 -1
  1033. package/lib/features/select/select-feedback-action.js +0 -70
  1034. package/lib/features/select/select-feedback-action.js.map +0 -1
  1035. package/lib/features/select/selection-service.d.ts +0 -77
  1036. package/lib/features/select/selection-service.d.ts.map +0 -1
  1037. package/lib/features/select/selection-service.js +0 -222
  1038. package/lib/features/select/selection-service.js.map +0 -1
  1039. package/lib/features/source-model-watcher/di.config.d.ts +0 -4
  1040. package/lib/features/source-model-watcher/di.config.d.ts.map +0 -1
  1041. package/lib/features/source-model-watcher/di.config.js +0 -26
  1042. package/lib/features/source-model-watcher/di.config.js.map +0 -1
  1043. package/lib/features/svg-metadata/di.config.d.ts +0 -19
  1044. package/lib/features/svg-metadata/di.config.d.ts.map +0 -1
  1045. package/lib/features/svg-metadata/di.config.js +0 -26
  1046. package/lib/features/svg-metadata/di.config.js.map +0 -1
  1047. package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts +0 -73
  1048. package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts.map +0 -1
  1049. package/lib/features/tool-feedback/change-bounds-tool-feedback.js +0 -259
  1050. package/lib/features/tool-feedback/change-bounds-tool-feedback.js.map +0 -1
  1051. package/lib/features/tool-feedback/creation-tool-feedback.d.ts +0 -71
  1052. package/lib/features/tool-feedback/creation-tool-feedback.d.ts.map +0 -1
  1053. package/lib/features/tool-feedback/creation-tool-feedback.js +0 -215
  1054. package/lib/features/tool-feedback/creation-tool-feedback.js.map +0 -1
  1055. package/lib/features/tool-feedback/css-feedback.d.ts +0 -57
  1056. package/lib/features/tool-feedback/css-feedback.d.ts.map +0 -1
  1057. package/lib/features/tool-feedback/css-feedback.js +0 -118
  1058. package/lib/features/tool-feedback/css-feedback.js.map +0 -1
  1059. package/lib/features/tool-feedback/di.config.d.ts +0 -4
  1060. package/lib/features/tool-feedback/di.config.d.ts.map +0 -1
  1061. package/lib/features/tool-feedback/di.config.js +0 -55
  1062. package/lib/features/tool-feedback/di.config.js.map +0 -1
  1063. package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts +0 -120
  1064. package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts.map +0 -1
  1065. package/lib/features/tool-feedback/edge-edit-tool-feedback.js +0 -328
  1066. package/lib/features/tool-feedback/edge-edit-tool-feedback.js.map +0 -1
  1067. package/lib/features/tool-feedback/feedback-action-dispatcher.d.ts +0 -66
  1068. package/lib/features/tool-feedback/feedback-action-dispatcher.d.ts.map +0 -1
  1069. package/lib/features/tool-feedback/feedback-action-dispatcher.js +0 -60
  1070. package/lib/features/tool-feedback/feedback-action-dispatcher.js.map +0 -1
  1071. package/lib/features/tool-feedback/marquee-tool-feedback.d.ts +0 -59
  1072. package/lib/features/tool-feedback/marquee-tool-feedback.d.ts.map +0 -1
  1073. package/lib/features/tool-feedback/marquee-tool-feedback.js +0 -122
  1074. package/lib/features/tool-feedback/marquee-tool-feedback.js.map +0 -1
  1075. package/lib/features/tool-feedback/model.d.ts +0 -22
  1076. package/lib/features/tool-feedback/model.d.ts.map +0 -1
  1077. package/lib/features/tool-feedback/model.js +0 -34
  1078. package/lib/features/tool-feedback/model.js.map +0 -1
  1079. package/lib/features/tool-feedback/view.d.ts +0 -32
  1080. package/lib/features/tool-feedback/view.d.ts.map +0 -1
  1081. package/lib/features/tool-feedback/view.js +0 -83
  1082. package/lib/features/tool-feedback/view.js.map +0 -1
  1083. package/lib/features/tool-palette/di.config.d.ts +0 -5
  1084. package/lib/features/tool-palette/di.config.d.ts.map +0 -1
  1085. package/lib/features/tool-palette/di.config.js +0 -30
  1086. package/lib/features/tool-palette/di.config.js.map +0 -1
  1087. package/lib/features/tools/base-glsp-tool.d.ts +0 -36
  1088. package/lib/features/tools/base-glsp-tool.d.ts.map +0 -1
  1089. package/lib/features/tools/base-glsp-tool.js +0 -55
  1090. package/lib/features/tools/base-glsp-tool.js.map +0 -1
  1091. package/lib/features/tools/change-bounds-tool.d.ts +0 -86
  1092. package/lib/features/tools/change-bounds-tool.d.ts.map +0 -1
  1093. package/lib/features/tools/change-bounds-tool.js +0 -372
  1094. package/lib/features/tools/change-bounds-tool.js.map +0 -1
  1095. package/lib/features/tools/delete-tool.d.ts +0 -52
  1096. package/lib/features/tools/delete-tool.d.ts.map +0 -1
  1097. package/lib/features/tools/delete-tool.js +0 -132
  1098. package/lib/features/tools/delete-tool.js.map +0 -1
  1099. package/lib/features/tools/di.config.d.ts +0 -28
  1100. package/lib/features/tools/di.config.d.ts.map +0 -1
  1101. package/lib/features/tools/di.config.js +0 -68
  1102. package/lib/features/tools/di.config.js.map +0 -1
  1103. package/lib/features/tools/edge-creation-tool.d.ts +0 -52
  1104. package/lib/features/tools/edge-creation-tool.d.ts.map +0 -1
  1105. package/lib/features/tools/edge-creation-tool.js +0 -166
  1106. package/lib/features/tools/edge-creation-tool.js.map +0 -1
  1107. package/lib/features/tools/edge-edit-tool.d.ts +0 -67
  1108. package/lib/features/tools/edge-edit-tool.d.ts.map +0 -1
  1109. package/lib/features/tools/edge-edit-tool.js +0 -284
  1110. package/lib/features/tools/edge-edit-tool.js.map +0 -1
  1111. package/lib/features/tools/enable-default-tools-on-focus-loss.d.ts +0 -26
  1112. package/lib/features/tools/enable-default-tools-on-focus-loss.d.ts.map +0 -1
  1113. package/lib/features/tools/enable-default-tools-on-focus-loss.js +0 -29
  1114. package/lib/features/tools/enable-default-tools-on-focus-loss.js.map +0 -1
  1115. package/lib/features/tools/glsp-manhattan-edge-router.d.ts +0 -20
  1116. package/lib/features/tools/glsp-manhattan-edge-router.d.ts.map +0 -1
  1117. package/lib/features/tools/glsp-manhattan-edge-router.js +0 -69
  1118. package/lib/features/tools/glsp-manhattan-edge-router.js.map +0 -1
  1119. package/lib/features/tools/marquee-behavior.d.ts +0 -42
  1120. package/lib/features/tools/marquee-behavior.d.ts.map +0 -1
  1121. package/lib/features/tools/marquee-behavior.js +0 -128
  1122. package/lib/features/tools/marquee-behavior.js.map +0 -1
  1123. package/lib/features/tools/marquee-mouse-tool.d.ts +0 -48
  1124. package/lib/features/tools/marquee-mouse-tool.d.ts.map +0 -1
  1125. package/lib/features/tools/marquee-mouse-tool.js +0 -148
  1126. package/lib/features/tools/marquee-mouse-tool.js.map +0 -1
  1127. package/lib/features/tools/marquee-tool.d.ts +0 -30
  1128. package/lib/features/tools/marquee-tool.d.ts.map +0 -1
  1129. package/lib/features/tools/marquee-tool.js +0 -54
  1130. package/lib/features/tools/marquee-tool.js.map +0 -1
  1131. package/lib/features/tools/model.d.ts +0 -23
  1132. package/lib/features/tools/model.d.ts.map +0 -1
  1133. package/lib/features/tools/model.js +0 -9
  1134. package/lib/features/tools/model.js.map +0 -1
  1135. package/lib/features/tools/node-creation-tool.d.ts +0 -41
  1136. package/lib/features/tools/node-creation-tool.d.ts.map +0 -1
  1137. package/lib/features/tools/node-creation-tool.js +0 -117
  1138. package/lib/features/tools/node-creation-tool.js.map +0 -1
  1139. package/lib/features/tools/view.d.ts +0 -7
  1140. package/lib/features/tools/view.d.ts.map +0 -1
  1141. package/lib/features/tools/view.js +0 -40
  1142. package/lib/features/tools/view.js.map +0 -1
  1143. package/lib/features/validation/di.config.d.ts +0 -10
  1144. package/lib/features/validation/di.config.d.ts.map +0 -1
  1145. package/lib/features/validation/di.config.js +0 -46
  1146. package/lib/features/validation/di.config.js.map +0 -1
  1147. package/lib/features/viewport/di.config.d.ts +0 -4
  1148. package/lib/features/viewport/di.config.d.ts.map +0 -1
  1149. package/lib/features/viewport/di.config.js +0 -35
  1150. package/lib/features/viewport/di.config.js.map +0 -1
  1151. package/lib/model-source/glsp-diagram-server.d.ts +0 -36
  1152. package/lib/model-source/glsp-diagram-server.d.ts.map +0 -1
  1153. package/lib/model-source/glsp-diagram-server.js +0 -103
  1154. package/lib/model-source/glsp-diagram-server.js.map +0 -1
  1155. package/lib/sprotty-reexport.d.ts +0 -174
  1156. package/lib/sprotty-reexport.d.ts.map +0 -1
  1157. package/lib/sprotty-reexport.js +0 -310
  1158. package/lib/sprotty-reexport.js.map +0 -1
  1159. package/src/base/actions/focus-change-action.ts +0 -43
  1160. package/src/base/actions/sprotty-actions.ts +0 -26
  1161. package/src/base/container-modules.ts +0 -146
  1162. package/src/base/di.config.ts +0 -89
  1163. package/src/base/focus-tracker.ts +0 -49
  1164. package/src/base/model/update-model-command.ts +0 -123
  1165. package/src/base/model-initialization-constraint.ts +0 -93
  1166. package/src/base/source-uri-aware.ts +0 -23
  1167. package/src/base/tool-manager/glsp-tool-manager.ts +0 -98
  1168. package/src/base/tool-manager/tool-actions.ts +0 -37
  1169. package/src/base/types.ts +0 -46
  1170. package/src/features/accessibility/di.config.ts +0 -26
  1171. package/src/features/accessibility/search/di.config.ts +0 -31
  1172. package/src/features/bounds/di.config.ts +0 -49
  1173. package/src/features/command-palette/di.config.ts +0 -31
  1174. package/src/features/context-menu/di.config.ts +0 -39
  1175. package/src/features/context-menu/selection-service-aware-context-menu-mouse-listener.ts +0 -73
  1176. package/src/features/copy-paste/di.config.ts +0 -36
  1177. package/src/features/decoration/di.config.ts +0 -26
  1178. package/src/features/edit-label/di.config.ts +0 -30
  1179. package/src/features/edit-label/edit-label-tool.ts +0 -50
  1180. package/src/features/edit-label/edit-label-validator.ts +0 -99
  1181. package/src/features/export/di.config.ts +0 -29
  1182. package/src/features/hints/di.config.ts +0 -29
  1183. package/src/features/hints/type-hints.ts +0 -205
  1184. package/src/features/hover/di.config.ts +0 -67
  1185. package/src/features/layout/di.config.ts +0 -31
  1186. package/src/features/mouse-tool/di.config.ts +0 -27
  1187. package/src/features/mouse-tool/mouse-tool.ts +0 -108
  1188. package/src/features/navigation/di.config.ts +0 -31
  1189. package/src/features/rank/model.ts +0 -29
  1190. package/src/features/save/di.config.ts +0 -29
  1191. package/src/features/save/model.ts +0 -26
  1192. package/src/features/select/di.config.ts +0 -34
  1193. package/src/features/select/select-feedback-action.ts +0 -57
  1194. package/src/features/select/selection-service.spec.ts +0 -379
  1195. package/src/features/select/selection-service.ts +0 -235
  1196. package/src/features/source-model-watcher/di.config.ts +0 -25
  1197. package/src/features/svg-metadata/di.config.ts +0 -26
  1198. package/src/features/tool-feedback/change-bounds-tool-feedback.ts +0 -280
  1199. package/src/features/tool-feedback/creation-tool-feedback.ts +0 -252
  1200. package/src/features/tool-feedback/css-feedback.ts +0 -104
  1201. package/src/features/tool-feedback/di.config.ts +0 -67
  1202. package/src/features/tool-feedback/edge-edit-tool-feedback.ts +0 -372
  1203. package/src/features/tool-feedback/feedback-action-dispatcher.ts +0 -101
  1204. package/src/features/tool-feedback/marquee-tool-feedback.ts +0 -128
  1205. package/src/features/tool-feedback/model.ts +0 -29
  1206. package/src/features/tool-feedback/view.tsx +0 -77
  1207. package/src/features/tool-palette/di.config.ts +0 -29
  1208. package/src/features/tools/base-glsp-tool.ts +0 -53
  1209. package/src/features/tools/change-bounds-tool.ts +0 -448
  1210. package/src/features/tools/delete-tool.ts +0 -123
  1211. package/src/features/tools/di.config.ts +0 -69
  1212. package/src/features/tools/edge-creation-tool.ts +0 -175
  1213. package/src/features/tools/edge-edit-tool.ts +0 -318
  1214. package/src/features/tools/enable-default-tools-on-focus-loss.ts +0 -33
  1215. package/src/features/tools/glsp-manhattan-edge-router.ts +0 -60
  1216. package/src/features/tools/marquee-behavior.ts +0 -158
  1217. package/src/features/tools/marquee-mouse-tool.ts +0 -152
  1218. package/src/features/tools/marquee-tool.ts +0 -51
  1219. package/src/features/tools/model.ts +0 -23
  1220. package/src/features/tools/node-creation-tool.ts +0 -116
  1221. package/src/features/tools/view.tsx +0 -43
  1222. package/src/features/validation/di.config.ts +0 -53
  1223. package/src/features/viewport/di.config.ts +0 -48
  1224. package/src/model-source/glsp-diagram-server.ts +0 -110
  1225. package/src/sprotty-reexport.ts +0 -304
  1226. /package/src/features/tools/{marquee-behavior.spec.ts → marquee-selection/marquee-behavior.spec.ts} +0 -0
@@ -0,0 +1,215 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 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
+
17
+ import { inject, injectable, multiInject, optional, postConstruct } from 'inversify';
18
+ import {
19
+ AnyObject,
20
+ ApplicationIdProvider,
21
+ Args,
22
+ EMPTY_ROOT,
23
+ GLSPClient,
24
+ InitializeParameters,
25
+ MaybePromise,
26
+ RequestModelAction,
27
+ SetModelAction,
28
+ StatusAction,
29
+ TYPES,
30
+ hasNumberProp
31
+ } from '~glsp-sprotty';
32
+ import { GLSPActionDispatcher } from '../action-dispatcher';
33
+ import { Ranked } from '../ranked';
34
+ import { GLSPModelSource } from './glsp-model-source';
35
+ import { ModelInitializationConstraint } from './model-initialization-constraint';
36
+
37
+ /**
38
+ * Configuration options for a specific GLSP diagram instance.
39
+ */
40
+ export interface IDiagramOptions {
41
+ /**
42
+ * Unique id associated with this diagram. Used on the server side to identify the
43
+ * corresponding client session.
44
+ */
45
+ clientId: string;
46
+ /**
47
+ * The diagram type i.e. diagram language this diagram is associated with.
48
+ */
49
+ diagramType: string;
50
+ /**
51
+ * The provider function to retrieve the GLSP client used by this diagram to communicate with the server.
52
+ * Multiple invocations of the provder function should always return the same `GLSPClient` instance.
53
+ */
54
+ glspClientProvider: () => Promise<GLSPClient>;
55
+ /**
56
+ * The file source URI associated with this diagram.
57
+ */
58
+ sourceUri?: string;
59
+ /**
60
+ * The initial edit mode of diagram. Defaults to `editable`.
61
+ */
62
+ editMode?: string;
63
+ }
64
+
65
+ /**
66
+ * Services that implement startup hooks which are invoked during the {@link DiagramLoader.load} process.
67
+ * Typically used to dispatch additional initial actions and/or activate UI extensions on startup.
68
+ * Execution order is derived by the `rank` property of the service. If not present, the {@link Ranked.DEFAULT_RANK} will be assumed.
69
+ */
70
+ export interface IDiagramStartup extends Partial<Ranked> {
71
+ /**
72
+ * Hook for services that should be executed before the underlying GLSP client is configured and the server is initialized.
73
+ */
74
+ preInitialize?(): MaybePromise<void>;
75
+ /**
76
+ * Hook for services that should be executed before the initial model loading request (i.e. `RequestModelAction`) but
77
+ * after the underlying GLSP client has been configured and the server is initialized.
78
+ */
79
+ preRequestModel?(): MaybePromise<void>;
80
+ /**
81
+ * Hook for services that should be executed after the initial model loading request (i.e. `RequestModelAction`).
82
+ * Note that this hook is invoked directly after the `RequestModelAction` has been dispatched. It does not necessarily wait
83
+ * until the client-server update roundtrip is completed. If you need to wait until the diagram is fully initialized use the
84
+ * {@link postModelInitialization} hook.
85
+ */
86
+ postRequestModel?(): MaybePromise<void>;
87
+ /* Hook for services that should be executed after the diagram model is fully initialized
88
+ * (i.e. `ModelInitializationConstraint` is completed).
89
+ */
90
+ postModelInitialization?(): MaybePromise<void>;
91
+ }
92
+
93
+ export namespace IDiagramStartup {
94
+ export function is(object: unknown): object is IDiagramStartup {
95
+ return (
96
+ AnyObject.is(object) &&
97
+ hasNumberProp(object, 'rank', true) &&
98
+ ('preInitialize' in object ||
99
+ 'preRequestModel' in object ||
100
+ 'postRequestModel' in object ||
101
+ 'postModelInitialization' in object)
102
+ );
103
+ }
104
+ }
105
+
106
+ export interface DiagramLoadingOptions {
107
+ /**
108
+ * Optional custom options that should be used the initial {@link RequestModelAction}.
109
+ * These options will be merged with the default options (`diagramType` and `sourceUri`).
110
+ * Defaults to an empty object if not defined.
111
+ */
112
+ requestModelOptions?: Args;
113
+
114
+ /**
115
+ * Optional partial {@link InitializeParameters} that should be used for `initializeServer` request if the underlying
116
+ * {@link GLSPClient} has not been initialized yet.
117
+ */
118
+ initializeParameters?: Partial<InitializeParameters>;
119
+
120
+ /**
121
+ * Flag to enable/disable client side notifications during the loading process.
122
+ * Defaults to `true` if not defined
123
+ */
124
+ enableNotifications?: boolean;
125
+ }
126
+
127
+ export interface ResolvedDiagramLoadingOptions {
128
+ requestModelOptions: Args;
129
+ initializeParameters: InitializeParameters;
130
+ enableNotifications: boolean;
131
+ }
132
+
133
+ /**
134
+ * The central component responsible for initializing the diagram and loading the graphical model
135
+ * from the GLSP server.
136
+ * Invoking the {@link DiagramLoader.load} method is typically the first operation that is executed after
137
+ * a diagram DI container has been created.
138
+ */
139
+ @injectable()
140
+ export class DiagramLoader {
141
+ @inject(TYPES.IDiagramOptions)
142
+ protected options: IDiagramOptions;
143
+
144
+ @inject(GLSPActionDispatcher)
145
+ protected actionDispatcher: GLSPActionDispatcher;
146
+
147
+ @multiInject(TYPES.IDiagramStartup)
148
+ @optional()
149
+ protected diagramStartups: IDiagramStartup[] = [];
150
+
151
+ @inject(GLSPModelSource)
152
+ protected modelSource: GLSPModelSource;
153
+
154
+ @inject(ModelInitializationConstraint)
155
+ protected modelInitializationConstraint: ModelInitializationConstraint;
156
+
157
+ @postConstruct()
158
+ protected postConstruct(): void {
159
+ this.diagramStartups.sort((a, b) => Ranked.getRank(a) - Ranked.getRank(b));
160
+ }
161
+
162
+ async load(options: DiagramLoadingOptions = {}): Promise<void> {
163
+ const resolvedOptions: ResolvedDiagramLoadingOptions = {
164
+ requestModelOptions: {
165
+ sourceUri: this.options.sourceUri ?? '',
166
+ diagramType: this.options.diagramType,
167
+ ...options.requestModelOptions
168
+ },
169
+ initializeParameters: {
170
+ applicationId: ApplicationIdProvider.get(),
171
+ protocolVersion: GLSPClient.protocolVersion,
172
+ ...options.initializeParameters
173
+ },
174
+ enableNotifications: options.enableNotifications ?? true
175
+ };
176
+ // Set empty place holder model until actual model from server is available
177
+ await this.actionDispatcher.dispatch(SetModelAction.create(EMPTY_ROOT));
178
+ await this.invokeStartupHook('preInitialize');
179
+ await this.initialize(resolvedOptions);
180
+ await this.invokeStartupHook('preRequestModel');
181
+ await this.requestModel(resolvedOptions);
182
+ await this.invokeStartupHook('postRequestModel');
183
+ this.modelInitializationConstraint.onInitialized(() => this.invokeStartupHook('postModelInitialization'));
184
+ }
185
+
186
+ protected async invokeStartupHook(hook: keyof Omit<IDiagramStartup, 'rank'>): Promise<void> {
187
+ for (const startup of this.diagramStartups) {
188
+ await startup[hook]?.();
189
+ }
190
+ }
191
+
192
+ protected async requestModel(options: ResolvedDiagramLoadingOptions): Promise<void> {
193
+ const response = await this.actionDispatcher.request<SetModelAction>(
194
+ RequestModelAction.create({ options: options.requestModelOptions })
195
+ );
196
+ return this.actionDispatcher.dispatch(response);
197
+ }
198
+
199
+ protected async initialize(options: ResolvedDiagramLoadingOptions): Promise<void> {
200
+ if (options.enableNotifications) {
201
+ await this.actionDispatcher.dispatch(StatusAction.create('Initializing...', { severity: 'INFO' }));
202
+ }
203
+
204
+ const glspClient = await this.options.glspClientProvider();
205
+ await glspClient.start();
206
+ if (!glspClient.initializeResult) {
207
+ await glspClient.initializeServer(options.initializeParameters);
208
+ }
209
+ this.modelSource.configure(glspClient);
210
+
211
+ if (options.enableNotifications) {
212
+ this.actionDispatcher.dispatch(StatusAction.create('', { severity: 'NONE' }));
213
+ }
214
+ }
215
+ }
@@ -0,0 +1,199 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 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
+
17
+ import { inject, injectable, preDestroy } from 'inversify';
18
+ import {
19
+ Action,
20
+ ActionMessage,
21
+ Disposable,
22
+ DisposableCollection,
23
+ DisposeClientSessionParameters,
24
+ GLSPClient,
25
+ ILogger,
26
+ InitializeClientSessionParameters,
27
+ InitializeResult,
28
+ ModelSource,
29
+ SModelRootSchema,
30
+ TYPES
31
+ } from '~glsp-sprotty';
32
+ import { GLSPActionHandlerRegistry } from '../action-handler-registry';
33
+ import { IDiagramOptions } from './diagram-loader';
34
+ /**
35
+ * A helper interface that allows the client to mark actions that have been received from the server.
36
+ */
37
+ export interface ServerAction extends Action {
38
+ __receivedFromServer: true;
39
+ }
40
+
41
+ export namespace ServerAction {
42
+ export function is(object: unknown): object is ServerAction {
43
+ return Action.is(object) && '__receivedFromServer' in object && object.__receivedFromServer === true;
44
+ }
45
+
46
+ /**
47
+ * Mark the given action as {@link ServerAction} by attaching the "_receivedFromServer" property
48
+ * @param action The action that should be marked as server action
49
+ */
50
+ export function mark(action: Action): void {
51
+ (action as ServerAction).__receivedFromServer = true;
52
+ }
53
+ }
54
+
55
+ /**
56
+ * Central component for enabling the client-server action flow with the help of an underlying {@link GLSPClient}.
57
+ * Handles & forwards actions that are intended for the GLSP server. In addition, it handles {@link ActionMessage}s received
58
+ * from the server and dispatches the corresponding actions locally.
59
+ *
60
+ * Note that in sprotty a {@link ModelSource} is serving the model to the event cycle and
61
+ * is used to commit the local (i.e. client-side) model back to the source.
62
+ * However, in GLSP the update flow is reversed meaning that changes to the source model are applied
63
+ * on the server side and then an update is sent to the client.
64
+ */
65
+ @injectable()
66
+ export class GLSPModelSource extends ModelSource implements Disposable {
67
+ @inject(TYPES.ILogger)
68
+ protected logger: ILogger;
69
+
70
+ @inject(TYPES.IDiagramOptions)
71
+ protected options: IDiagramOptions;
72
+
73
+ protected toDispose = new DisposableCollection();
74
+ clientId: string;
75
+
76
+ protected _currentRoot: SModelRootSchema;
77
+ protected registry: GLSPActionHandlerRegistry;
78
+ protected glspClient?: GLSPClient;
79
+
80
+ get diagramType(): string {
81
+ return this.options.diagramType;
82
+ }
83
+
84
+ get sourceUri(): string | undefined {
85
+ return this.options.sourceUri;
86
+ }
87
+
88
+ /**
89
+ * Configure forwarding of server-handled actions to the given {@link GLSPClient} and
90
+ * handling of action received from the `GLSPClient` (i.e. server). It is expected that the
91
+ * given GLSP client has already been initialized.
92
+ * @param glspClient The GLSP to use.
93
+ * @throws An error if the given `GLSPClient` has not been initialized yet or if the set of server handled
94
+ * action kinds could not be derived from the initialize result
95
+ */
96
+ configure(glspClient: GLSPClient): Promise<void> {
97
+ this.glspClient = glspClient;
98
+ if (!glspClient.initializeResult) {
99
+ throw new Error('Could not configure model source. The GLSP client is not initialized yet!');
100
+ }
101
+
102
+ const initializeParams = this.createInitializeClientSessionParameters(glspClient.initializeResult);
103
+ this.configureServeActions(glspClient.initializeResult);
104
+
105
+ this.toDispose.push(
106
+ glspClient.onActionMessage(message => this.messageReceived(message), this.clientId),
107
+ Disposable.create(() => glspClient.disposeClientSession(this.createDisposeClientSessionParameters()))
108
+ );
109
+
110
+ return glspClient!.initializeClientSession(initializeParams);
111
+ }
112
+
113
+ protected createInitializeClientSessionParameters(_initializeResult: InitializeResult): InitializeClientSessionParameters {
114
+ const clientActionKinds = this.registry.getHandledActionKinds();
115
+ return {
116
+ clientSessionId: this.clientId,
117
+ clientActionKinds,
118
+ diagramType: this.diagramType
119
+ };
120
+ }
121
+
122
+ protected createDisposeClientSessionParameters(): DisposeClientSessionParameters {
123
+ return {
124
+ clientSessionId: this.clientId
125
+ };
126
+ }
127
+
128
+ protected configureServeActions(initializeResult: InitializeResult): void {
129
+ const serverActions = initializeResult.serverActions[this.diagramType];
130
+ if (serverActions?.length === 0) {
131
+ throw new Error(`No server-handled actions could be derived from the initialize result for diagramType: ${this.diagramType}!`);
132
+ }
133
+ serverActions.forEach(action => this.registry.register(action, this));
134
+ }
135
+
136
+ protected messageReceived(message: ActionMessage): void {
137
+ if (this.clientId !== message.clientId) {
138
+ return;
139
+ }
140
+ const action = message.action;
141
+ ServerAction.mark(action);
142
+ this.logger.log(this, 'receiving', action);
143
+ this.actionDispatcher.dispatch(action);
144
+ }
145
+
146
+ override initialize(registry: GLSPActionHandlerRegistry): void {
147
+ // Registering actions here is discouraged and it's recommended
148
+ // to implemented dedicated action handlers.
149
+ if (!this.clientId) {
150
+ this.clientId = this.options.clientId ?? this.viewerOptions.baseDiv;
151
+ }
152
+
153
+ this.registry = registry;
154
+ }
155
+
156
+ handle(action: Action): void {
157
+ // Handling additional actions here is discouraged and it's recommended
158
+ // to implemented dedicated action handlers.
159
+ if (this.shouldForwardToServer(action)) {
160
+ this.forwardToServer(action);
161
+ }
162
+ }
163
+
164
+ protected forwardToServer(action: Action): void {
165
+ const message: ActionMessage = {
166
+ clientId: this.clientId,
167
+ action: action
168
+ };
169
+ this.logger.log(this, 'sending', message);
170
+ if (this.glspClient) {
171
+ this.glspClient.sendActionMessage(message);
172
+ } else {
173
+ throw new Error('GLSPClient is not connected');
174
+ }
175
+ }
176
+
177
+ protected shouldForwardToServer(action: Action): boolean {
178
+ return !ServerAction.is(action);
179
+ }
180
+
181
+ commitModel(newRoot: SModelRootSchema): SModelRootSchema {
182
+ /* In GLSP the model update flow is server-driven. i.e. changes to the graphical model are applied
183
+ * on server-side an only the server can issue a model update.
184
+ * The internal/local model should never be committed back to the model source i.e. GLSP server.
185
+ * => no-op implementation that simply returns the `newRoot`
186
+ */
187
+ this._currentRoot = newRoot;
188
+ return newRoot;
189
+ }
190
+
191
+ override get model(): SModelRootSchema {
192
+ return this._currentRoot;
193
+ }
194
+
195
+ @preDestroy()
196
+ dispose(): void {
197
+ this.toDispose.dispose();
198
+ }
199
+ }
@@ -0,0 +1,95 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 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 { expect } from 'chai';
17
+ import { Container } from 'inversify';
18
+ import 'reflect-metadata';
19
+ import * as sinon from 'sinon';
20
+ import { Deferred, EMPTY_ROOT, InitializeCanvasBoundsAction, SetModelAction, UpdateModelAction } from '~glsp-sprotty';
21
+ import { DefaultModelInitializationConstraint, ModelInitializationConstraint } from './model-initialization-constraint';
22
+ const sandbox = sinon.createSandbox();
23
+ const container = new Container();
24
+ let constraint: ModelInitializationConstraint;
25
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
26
+ const listener = sandbox.spy((): void => {});
27
+
28
+ describe('DefaultModelInitializationConstraint', () => {
29
+ beforeEach(() => {
30
+ constraint = container.resolve(DefaultModelInitializationConstraint);
31
+ sandbox.reset();
32
+ });
33
+ it('should complete after dispatching non empty SetModelAction and `InitializeCanvasBoundsAction`', () => {
34
+ expect(constraint.isCompleted).to.be.false;
35
+ constraint.notifyDispatched(SetModelAction.create({ id: 'model', type: 'graph' }));
36
+ expect(constraint.isCompleted).to.be.false;
37
+ constraint.notifyDispatched({ kind: InitializeCanvasBoundsAction.KIND });
38
+ expect(constraint.isCompleted).to.be.true;
39
+ });
40
+ it('should complete after dispatching non empty UpdateModelAction and `InitializeCanvasBoundsAction`', () => {
41
+ expect(constraint.isCompleted).to.be.false;
42
+ constraint.notifyDispatched(UpdateModelAction.create({ id: 'model', type: 'graph' }));
43
+ expect(constraint.isCompleted).to.be.false;
44
+ constraint.notifyDispatched({ kind: InitializeCanvasBoundsAction.KIND });
45
+ expect(constraint.isCompleted).to.be.true;
46
+ });
47
+ it('should note complete after dispatching empty SetModelAction and `InitializeCanvasBoundsAction` ', () => {
48
+ expect(constraint.isCompleted).to.be.false;
49
+ constraint.notifyDispatched(SetModelAction.create(EMPTY_ROOT));
50
+ expect(constraint.isCompleted).to.be.false;
51
+ constraint.notifyDispatched({ kind: InitializeCanvasBoundsAction.KIND });
52
+ expect(constraint.isCompleted).to.be.false;
53
+ });
54
+ it('should note complete after dispatching empty UpdateModelAction and `InitializeCanvasBoundsAction ', () => {
55
+ expect(constraint.isCompleted).to.be.false;
56
+ constraint.notifyDispatched(UpdateModelAction.create(EMPTY_ROOT));
57
+ expect(constraint.isCompleted).to.be.false;
58
+ constraint.notifyDispatched({ kind: InitializeCanvasBoundsAction.KIND });
59
+ expect(constraint.isCompleted).to.be.false;
60
+ });
61
+ describe('onInitialized', () => {
62
+ it('returned promise should resolve once the constraint is initialized', async () => {
63
+ const initializeDeferred = new Deferred<void>();
64
+ const initializePromise = constraint.onInitialized();
65
+ initializePromise.then(() => initializeDeferred.resolve());
66
+ expect(initializeDeferred.state).to.be.equal('unresolved');
67
+ // Directly trigger the completion method simplify test logic
68
+ constraint['setCompleted']();
69
+ // Short delay of test execution to ensure that the deferred state is updated.
70
+ await new Promise(resolve => setTimeout(resolve, 5));
71
+ expect(initializeDeferred.state).to.be.equal('resolved');
72
+ });
73
+ it('registered listener should be invoked once the constraint is initialized', () => {
74
+ constraint.onInitialized(listener);
75
+ expect(listener.called).to.be.false;
76
+ // Directly trigger the completion method simplify test logic
77
+ constraint['setCompleted']();
78
+ expect(listener.called).to.be.true;
79
+ });
80
+ it('registered listener should be invoked directly on registration if the constraint is already initialized', () => {
81
+ // Directly trigger the completion method simplify test logic
82
+ constraint['setCompleted']();
83
+ constraint.onInitialized(listener);
84
+ expect(listener.called).to.be.true;
85
+ });
86
+ it('Disposed listener should not be invoked once the constraint is initialized', () => {
87
+ const toDispose = constraint.onInitialized(listener);
88
+ expect(listener.called).to.be.false;
89
+ toDispose.dispose();
90
+ // Directly trigger the completion method simplify test logic
91
+ constraint['setCompleted']();
92
+ expect(listener.called).to.be.false;
93
+ });
94
+ });
95
+ });
@@ -0,0 +1,125 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2020-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 { injectable } from 'inversify';
17
+ import { Action, Deferred, Disposable, Emitter, InitializeCanvasBoundsAction, SetModelAction, UpdateModelAction } from '~glsp-sprotty';
18
+
19
+ /**
20
+ * The constraint defining when the initialization of the GLSP model is completed.
21
+ *
22
+ * Many actions, such as the `CenterAction`, can only be successfully processed if
23
+ * the GLSP model initialization is completed, that is, the model has been set,
24
+ * its bounds have been computed, the canvas bounds are available, etc.
25
+ *
26
+ * An injectable implementation of this constraint will be used by the
27
+ * `GLSPActionDispatcher` to determine when the initialization is completed.
28
+ * The action dispatcher therefore provides a promise via `onceInitialized()`
29
+ * to trigger clients that want to dispatch an action, once the initialization
30
+ * is done.
31
+ *
32
+ * For most of the cases `DefaultInitializationConstraint` can be used. In fact,
33
+ * it is bound by default. However, custom implementations can rebind other
34
+ * implementations of this constraint to, for instance, delay further before the
35
+ * `onceInitialized()` promise is fulfilled by the `GLSPActionDispatcher`.
36
+ */
37
+ @injectable()
38
+ export abstract class ModelInitializationConstraint {
39
+ protected completion: Deferred<void> = new Deferred();
40
+
41
+ protected _isCompleted = false;
42
+ get isCompleted(): boolean {
43
+ return this._isCompleted;
44
+ }
45
+
46
+ protected onInitializedEmitter = new Emitter<void>();
47
+
48
+ /**
49
+ * Register a listener that will be invoked once the initialization process
50
+ * has been completed. If the initialization is already completed on registration
51
+ * the given listener will be invoked right away
52
+ * @param listener
53
+ */
54
+ onInitialized(listener: () => void): Disposable;
55
+
56
+ /**
57
+ * Retrieve a promise that resolves once the initialization process
58
+ * has been completed.
59
+ * @returns the initialization promise
60
+ */
61
+ onInitialized(): Promise<void>;
62
+ onInitialized(listener?: () => void): Promise<void> | Disposable {
63
+ if (!listener) {
64
+ return this.completion.promise;
65
+ }
66
+ if (this.isCompleted) {
67
+ listener();
68
+ return Disposable.empty();
69
+ }
70
+ return this.onInitializedEmitter.event(listener);
71
+ }
72
+
73
+ protected setCompleted(): void {
74
+ if (!this.isCompleted) {
75
+ this._isCompleted = true;
76
+ this.completion.resolve();
77
+ this.onInitializedEmitter.fire();
78
+ this.onInitializedEmitter.dispose();
79
+ }
80
+ }
81
+
82
+ notifyDispatched(action: Action): void {
83
+ if (this.isCompleted) {
84
+ return;
85
+ }
86
+ if (this.isInitializedAfter(action)) {
87
+ this.setCompleted();
88
+ }
89
+ }
90
+
91
+ /**
92
+ * Central method to check the initialization state. Is invoked
93
+ * for every action dispatched by the `ActionDispatcher` (until the initialization has completed).
94
+ * Should
95
+ * return `true` once the action has been passed which marks the end
96
+ * of the initialization process.
97
+ * @param action The last dispatched action
98
+ */
99
+ abstract isInitializedAfter(action: Action): boolean;
100
+ }
101
+
102
+ /**
103
+ * Default initialization constraint triggers after a non-empty `UpdateModelAction`
104
+ * and a subsequent `InitializeCanvasBoundsAction`.
105
+ */
106
+ @injectable()
107
+ export class DefaultModelInitializationConstraint extends ModelInitializationConstraint {
108
+ protected seenNonEmptyModelAction = false;
109
+
110
+ isInitializedAfter(action: Action): boolean {
111
+ if (this.isNonEmptyModelAction(action)) {
112
+ this.seenNonEmptyModelAction = true;
113
+ } else if (this.seenNonEmptyModelAction && action.kind === InitializeCanvasBoundsAction.KIND) {
114
+ return true;
115
+ }
116
+ return false;
117
+ }
118
+
119
+ protected isNonEmptyModelAction(action: Action): boolean {
120
+ if (SetModelAction.is(action) || UpdateModelAction.is(action)) {
121
+ return action.newRoot.type !== 'NONE';
122
+ }
123
+ return false;
124
+ }
125
+ }
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2021-2022 EclipseSource and others.
2
+ * Copyright (c) 2021-2023 EclipseSource and others.
3
3
  *
4
4
  * This program and the accompanying materials are made available under the
5
5
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -14,7 +14,7 @@
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
16
  import { injectable } from 'inversify';
17
- import { SModelElement, SModelRegistry } from 'sprotty';
17
+ import { SModelElement, SModelRegistry } from '~glsp-sprotty';
18
18
 
19
19
  @injectable()
20
20
  export class GLSPModelRegistry extends SModelRegistry {