@eclipse-glsp/client 1.1.0-next.6efef44.226 → 1.1.0-next.7be33cd.257

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 (766) hide show
  1. package/README.md +1 -1
  2. package/{lib/features/rank/model.d.ts → css/autocomplete-palette.css} +7 -7
  3. package/css/decoration.css +1 -1
  4. package/css/glsp-sprotty.css +16 -1
  5. package/lib/base/action-dispatcher.d.ts +1 -17
  6. package/lib/base/action-dispatcher.d.ts.map +1 -1
  7. package/lib/base/action-dispatcher.js +7 -8
  8. package/lib/base/action-dispatcher.js.map +1 -1
  9. package/lib/base/actions/focus-change-action.d.ts +2 -2
  10. package/lib/base/actions/focus-change-action.d.ts.map +1 -1
  11. package/lib/base/actions/focus-change-action.js +4 -4
  12. package/lib/base/actions/focus-change-action.js.map +1 -1
  13. package/lib/base/argumentable.d.ts +2 -3
  14. package/lib/base/argumentable.d.ts.map +1 -1
  15. package/lib/base/argumentable.js.map +1 -1
  16. package/lib/base/auto-complete/auto-complete-actions.d.ts +2 -2
  17. package/lib/base/auto-complete/auto-complete-actions.d.ts.map +1 -1
  18. package/lib/base/auto-complete/auto-complete-actions.js +4 -4
  19. package/lib/base/auto-complete/auto-complete-actions.js.map +1 -1
  20. package/lib/base/auto-complete/auto-complete-widget.d.ts +11 -6
  21. package/lib/base/auto-complete/auto-complete-widget.d.ts.map +1 -1
  22. package/lib/base/auto-complete/auto-complete-widget.js +35 -34
  23. package/lib/base/auto-complete/auto-complete-widget.js.map +1 -1
  24. package/lib/base/auto-complete/validation-decorator.d.ts +16 -1
  25. package/lib/base/auto-complete/validation-decorator.d.ts.map +1 -1
  26. package/lib/base/auto-complete/validation-decorator.js +7 -8
  27. package/lib/base/auto-complete/validation-decorator.js.map +1 -1
  28. package/lib/base/command-stack.d.ts +17 -3
  29. package/lib/base/command-stack.d.ts.map +1 -1
  30. package/lib/base/command-stack.js +45 -14
  31. package/lib/base/command-stack.js.map +1 -1
  32. package/lib/base/di.config.d.ts +2 -2
  33. package/lib/base/di.config.d.ts.map +1 -1
  34. package/lib/base/di.config.js +22 -18
  35. package/lib/base/di.config.js.map +1 -1
  36. package/lib/base/drag-aware-mouse-listener.d.ts +2 -3
  37. package/lib/base/drag-aware-mouse-listener.d.ts.map +1 -1
  38. package/lib/base/drag-aware-mouse-listener.js +17 -2
  39. package/lib/base/drag-aware-mouse-listener.js.map +1 -1
  40. package/lib/base/editor-context-service.d.ts +12 -25
  41. package/lib/base/editor-context-service.d.ts.map +1 -1
  42. package/lib/base/editor-context-service.js +37 -22
  43. package/lib/base/editor-context-service.js.map +1 -1
  44. package/lib/{features/tool-feedback/model.d.ts → base/feedback/feeback-command.d.ts} +3 -3
  45. package/lib/base/feedback/feeback-command.d.ts.map +1 -0
  46. package/lib/{features/tool-feedback/model.js → base/feedback/feeback-command.js} +4 -4
  47. package/lib/base/feedback/feeback-command.js.map +1 -0
  48. package/lib/{features/tool-feedback → base/feedback}/feedback-action-dispatcher.d.ts +1 -17
  49. package/lib/base/feedback/feedback-action-dispatcher.d.ts.map +1 -0
  50. package/lib/{features/tool-feedback → base/feedback}/feedback-action-dispatcher.js +20 -6
  51. package/lib/base/feedback/feedback-action-dispatcher.js.map +1 -0
  52. package/lib/base/feedback/update-model-command.d.ts +19 -0
  53. package/lib/base/feedback/update-model-command.d.ts.map +1 -0
  54. package/lib/base/{model → feedback}/update-model-command.js +11 -37
  55. package/lib/base/feedback/update-model-command.js.map +1 -0
  56. package/lib/base/focus-tracker.d.ts +1 -17
  57. package/lib/base/focus-tracker.d.ts.map +1 -1
  58. package/lib/base/focus-tracker.js +19 -5
  59. package/lib/base/focus-tracker.js.map +1 -1
  60. package/lib/base/model/model-registry.d.ts +1 -1
  61. package/lib/base/model/model-registry.d.ts.map +1 -1
  62. package/lib/base/model/model-registry.js +4 -5
  63. package/lib/base/model/model-registry.js.map +1 -1
  64. package/lib/base/model-initialization-constraint.d.ts +1 -16
  65. package/lib/base/model-initialization-constraint.d.ts.map +1 -1
  66. package/lib/base/model-initialization-constraint.js +9 -12
  67. package/lib/base/model-initialization-constraint.js.map +1 -1
  68. package/lib/base/ranked.d.ts +34 -0
  69. package/lib/base/ranked.d.ts.map +1 -0
  70. package/lib/base/ranked.js +38 -0
  71. package/lib/base/ranked.js.map +1 -0
  72. package/lib/base/selection-clearing-mouse-listener.d.ts +1 -1
  73. package/lib/base/selection-clearing-mouse-listener.d.ts.map +1 -1
  74. package/lib/base/selection-clearing-mouse-listener.js +4 -5
  75. package/lib/base/selection-clearing-mouse-listener.js.map +1 -1
  76. package/lib/{features/select → base}/selection-service.d.ts +34 -29
  77. package/lib/base/selection-service.d.ts.map +1 -0
  78. package/lib/{features/select → base}/selection-service.js +88 -44
  79. package/lib/base/selection-service.js.map +1 -0
  80. package/lib/base/selection-service.spec.d.ts.map +1 -0
  81. package/lib/{features/select → base}/selection-service.spec.js +52 -119
  82. package/lib/base/selection-service.spec.js.map +1 -0
  83. package/lib/base/source-uri-aware.js +3 -3
  84. package/lib/base/source-uri-aware.js.map +1 -1
  85. package/lib/base/tool-manager/glsp-tool-manager.d.ts +7 -8
  86. package/lib/base/tool-manager/glsp-tool-manager.d.ts.map +1 -1
  87. package/lib/base/tool-manager/glsp-tool-manager.js +27 -23
  88. package/lib/base/tool-manager/glsp-tool-manager.js.map +1 -1
  89. package/lib/{features/mouse-tool → base/view}/mouse-tool.d.ts +4 -8
  90. package/lib/base/view/mouse-tool.d.ts.map +1 -0
  91. package/lib/{features/mouse-tool → base/view}/mouse-tool.js +12 -15
  92. package/lib/base/view/mouse-tool.js.map +1 -0
  93. package/lib/base/view/view-registry.d.ts +1 -1
  94. package/lib/base/view/view-registry.d.ts.map +1 -1
  95. package/lib/base/view/view-registry.js +4 -5
  96. package/lib/base/view/view-registry.js.map +1 -1
  97. package/lib/{base/container-modules.d.ts → container-modules.d.ts} +15 -15
  98. package/lib/container-modules.d.ts.map +1 -0
  99. package/lib/container-modules.js +133 -0
  100. package/lib/container-modules.js.map +1 -0
  101. package/{src/features/rank/model.ts → lib/features/accessibility/di.config.d.ts} +7 -15
  102. package/lib/features/accessibility/di.config.d.ts.map +1 -0
  103. package/lib/features/{mouse-tool → accessibility}/di.config.js +16 -10
  104. package/lib/features/accessibility/di.config.js.map +1 -0
  105. package/lib/features/accessibility/move-zoom/di.config.d.ts +23 -0
  106. package/lib/features/accessibility/move-zoom/di.config.d.ts.map +1 -0
  107. package/lib/features/accessibility/move-zoom/di.config.js +41 -0
  108. package/lib/features/accessibility/move-zoom/di.config.js.map +1 -0
  109. package/lib/features/accessibility/move-zoom/move-handler.d.ts +80 -0
  110. package/lib/features/accessibility/move-zoom/move-handler.d.ts.map +1 -0
  111. package/lib/features/accessibility/move-zoom/move-handler.js +169 -0
  112. package/lib/features/accessibility/move-zoom/move-handler.js.map +1 -0
  113. package/lib/features/accessibility/move-zoom/zoom-handler.d.ts +73 -0
  114. package/lib/features/accessibility/move-zoom/zoom-handler.d.ts.map +1 -0
  115. package/lib/features/accessibility/move-zoom/zoom-handler.js +155 -0
  116. package/lib/features/accessibility/move-zoom/zoom-handler.js.map +1 -0
  117. package/lib/features/accessibility/resize-key-tool/di.config.d.ts +23 -0
  118. package/lib/features/accessibility/resize-key-tool/di.config.d.ts.map +1 -0
  119. package/lib/features/accessibility/resize-key-tool/di.config.js +36 -0
  120. package/lib/features/accessibility/resize-key-tool/di.config.js.map +1 -0
  121. package/lib/features/accessibility/resize-key-tool/resize-key-handler.d.ts +54 -0
  122. package/lib/features/accessibility/resize-key-tool/resize-key-handler.d.ts.map +1 -0
  123. package/lib/features/accessibility/resize-key-tool/resize-key-handler.js +123 -0
  124. package/lib/features/accessibility/resize-key-tool/resize-key-handler.js.map +1 -0
  125. package/lib/features/accessibility/resize-key-tool/resize-key-tool.d.ts +43 -0
  126. package/lib/features/accessibility/resize-key-tool/resize-key-tool.d.ts.map +1 -0
  127. package/lib/features/accessibility/resize-key-tool/resize-key-tool.js +124 -0
  128. package/lib/features/accessibility/resize-key-tool/resize-key-tool.js.map +1 -0
  129. package/lib/features/accessibility/search/di.config.d.ts +20 -0
  130. package/lib/features/accessibility/search/di.config.d.ts.map +1 -0
  131. package/lib/features/accessibility/search/di.config.js +32 -0
  132. package/lib/features/accessibility/search/di.config.js.map +1 -0
  133. package/lib/features/accessibility/search/search-palette.d.ts +46 -0
  134. package/lib/features/accessibility/search/search-palette.d.ts.map +1 -0
  135. package/lib/features/accessibility/search/search-palette.js +161 -0
  136. package/lib/features/accessibility/search/search-palette.js.map +1 -0
  137. package/lib/features/accessibility/search/search-tool.d.ts +29 -0
  138. package/lib/features/accessibility/search/search-tool.d.ts.map +1 -0
  139. package/lib/features/accessibility/search/search-tool.js +72 -0
  140. package/lib/features/accessibility/search/search-tool.js.map +1 -0
  141. package/lib/features/accessibility/view-key-tools/deselect-key-tool.d.ts +34 -0
  142. package/lib/features/accessibility/view-key-tools/deselect-key-tool.d.ts.map +1 -0
  143. package/lib/features/accessibility/view-key-tools/deselect-key-tool.js +85 -0
  144. package/lib/features/accessibility/view-key-tools/deselect-key-tool.js.map +1 -0
  145. package/lib/features/accessibility/view-key-tools/di.config.d.ts +20 -0
  146. package/lib/features/accessibility/view-key-tools/di.config.d.ts.map +1 -0
  147. package/lib/features/accessibility/view-key-tools/di.config.js +34 -0
  148. package/lib/features/accessibility/view-key-tools/di.config.js.map +1 -0
  149. package/lib/features/accessibility/view-key-tools/movement-key-tool.d.ts +48 -0
  150. package/lib/features/accessibility/view-key-tools/movement-key-tool.d.ts.map +1 -0
  151. package/lib/features/accessibility/view-key-tools/movement-key-tool.js +129 -0
  152. package/lib/features/accessibility/view-key-tools/movement-key-tool.js.map +1 -0
  153. package/lib/features/accessibility/view-key-tools/zoom-key-tool.d.ts +42 -0
  154. package/lib/features/accessibility/view-key-tools/zoom-key-tool.d.ts.map +1 -0
  155. package/lib/features/accessibility/view-key-tools/zoom-key-tool.js +106 -0
  156. package/lib/features/accessibility/view-key-tools/zoom-key-tool.js.map +1 -0
  157. package/lib/features/autocomplete-palette/autocomplete-suggestion-providers.d.ts +35 -0
  158. package/lib/features/autocomplete-palette/autocomplete-suggestion-providers.d.ts.map +1 -0
  159. package/lib/{base/actions/sprotty-actions.js → features/autocomplete-palette/autocomplete-suggestion-providers.js} +3 -6
  160. package/lib/features/autocomplete-palette/autocomplete-suggestion-providers.js.map +1 -0
  161. package/lib/features/autocomplete-palette/base-autocomplete-palette.d.ts +40 -0
  162. package/lib/features/autocomplete-palette/base-autocomplete-palette.d.ts.map +1 -0
  163. package/lib/features/autocomplete-palette/base-autocomplete-palette.js +82 -0
  164. package/lib/features/autocomplete-palette/base-autocomplete-palette.js.map +1 -0
  165. package/lib/features/bounds/di.config.d.ts +1 -2
  166. package/lib/features/bounds/di.config.d.ts.map +1 -1
  167. package/lib/features/bounds/di.config.js +15 -14
  168. package/lib/features/bounds/di.config.js.map +1 -1
  169. package/lib/features/bounds/freeform-layout.d.ts +14 -0
  170. package/lib/features/bounds/freeform-layout.d.ts.map +1 -0
  171. package/lib/features/{layout → bounds}/freeform-layout.js +6 -8
  172. package/lib/features/bounds/freeform-layout.js.map +1 -0
  173. package/lib/features/bounds/freeform-layout.spec.d.ts.map +1 -0
  174. package/lib/features/{layout/tests → bounds}/freeform-layout.spec.js +39 -39
  175. package/lib/features/bounds/freeform-layout.spec.js.map +1 -0
  176. package/lib/features/bounds/glsp-hidden-bounds-updater.d.ts +2 -3
  177. package/lib/features/bounds/glsp-hidden-bounds-updater.d.ts.map +1 -1
  178. package/lib/features/bounds/glsp-hidden-bounds-updater.js +9 -10
  179. package/lib/features/bounds/glsp-hidden-bounds-updater.js.map +1 -1
  180. package/lib/features/{layout → bounds}/hbox-layout.d.ts +1 -17
  181. package/lib/features/bounds/hbox-layout.d.ts.map +1 -0
  182. package/lib/features/{layout → bounds}/hbox-layout.js +11 -13
  183. package/lib/features/bounds/hbox-layout.js.map +1 -0
  184. package/lib/features/bounds/hbox-layout.spec.d.ts.map +1 -0
  185. package/lib/features/{layout/tests → bounds}/hbox-layout.spec.js +20 -21
  186. package/lib/features/bounds/hbox-layout.spec.js.map +1 -0
  187. package/lib/features/{layout/tests/layouter-test-util.d.ts → bounds/layouter-test-util.spec.d.ts} +3 -5
  188. package/lib/features/bounds/layouter-test-util.spec.d.ts.map +1 -0
  189. package/lib/features/{layout/tests/layouter-test-util.js → bounds/layouter-test-util.spec.js} +15 -15
  190. package/lib/features/bounds/layouter-test-util.spec.js.map +1 -0
  191. package/lib/features/bounds/layouter.d.ts +21 -0
  192. package/lib/features/bounds/layouter.d.ts.map +1 -0
  193. package/lib/features/{layout → bounds}/layouter.js +10 -12
  194. package/lib/features/bounds/layouter.js.map +1 -0
  195. package/lib/features/{layout → bounds}/vbox-layout.d.ts +1 -17
  196. package/lib/features/bounds/vbox-layout.d.ts.map +1 -0
  197. package/lib/features/{layout → bounds}/vbox-layout.js +11 -13
  198. package/lib/features/bounds/vbox-layout.js.map +1 -0
  199. package/lib/features/bounds/vbox-layout.spec.d.ts.map +1 -0
  200. package/lib/features/{layout/tests → bounds}/vbox-layout.spec.js +20 -21
  201. package/lib/features/bounds/vbox-layout.spec.js.map +1 -0
  202. package/lib/features/change-bounds/model.d.ts +2 -2
  203. package/lib/features/change-bounds/model.d.ts.map +1 -1
  204. package/lib/features/change-bounds/model.js +7 -7
  205. package/lib/features/change-bounds/model.js.map +1 -1
  206. package/lib/features/change-bounds/movement-restrictor.d.ts +1 -17
  207. package/lib/features/change-bounds/movement-restrictor.d.ts.map +1 -1
  208. package/lib/features/change-bounds/movement-restrictor.js +21 -7
  209. package/lib/features/change-bounds/movement-restrictor.js.map +1 -1
  210. package/lib/features/change-bounds/snap.d.ts +1 -17
  211. package/lib/features/change-bounds/snap.d.ts.map +1 -1
  212. package/lib/features/change-bounds/snap.js +19 -5
  213. package/lib/features/change-bounds/snap.js.map +1 -1
  214. package/lib/features/change-bounds/snap.spec.d.ts +1 -1
  215. package/lib/features/change-bounds/snap.spec.js +6 -6
  216. package/lib/features/change-bounds/snap.spec.js.map +1 -1
  217. package/lib/features/command-palette/command-palette-tool.d.ts +2 -2
  218. package/lib/features/command-palette/command-palette-tool.d.ts.map +1 -1
  219. package/lib/features/command-palette/command-palette-tool.js +9 -10
  220. package/lib/features/command-palette/command-palette-tool.js.map +1 -1
  221. package/lib/features/command-palette/di.config.d.ts +1 -1
  222. package/lib/features/command-palette/di.config.d.ts.map +1 -1
  223. package/lib/features/command-palette/di.config.js +6 -9
  224. package/lib/features/command-palette/di.config.js.map +1 -1
  225. package/lib/features/command-palette/server-command-palette-provider.d.ts +1 -17
  226. package/lib/features/command-palette/server-command-palette-provider.d.ts.map +1 -1
  227. package/lib/features/command-palette/server-command-palette-provider.js +8 -10
  228. package/lib/features/command-palette/server-command-palette-provider.js.map +1 -1
  229. package/lib/features/context-menu/delete-element-context-menu.d.ts +1 -17
  230. package/lib/features/context-menu/delete-element-context-menu.d.ts.map +1 -1
  231. package/lib/features/context-menu/delete-element-context-menu.js +6 -8
  232. package/lib/features/context-menu/delete-element-context-menu.js.map +1 -1
  233. package/lib/features/context-menu/di.config.d.ts +1 -1
  234. package/lib/features/context-menu/di.config.d.ts.map +1 -1
  235. package/lib/features/context-menu/di.config.js +8 -9
  236. package/lib/features/context-menu/di.config.js.map +1 -1
  237. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.d.ts +2 -18
  238. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.d.ts.map +1 -1
  239. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js +23 -10
  240. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js.map +1 -1
  241. package/lib/features/context-menu/server-context-menu-provider.d.ts +1 -17
  242. package/lib/features/context-menu/server-context-menu-provider.d.ts.map +1 -1
  243. package/lib/features/context-menu/server-context-menu-provider.js +9 -12
  244. package/lib/features/context-menu/server-context-menu-provider.js.map +1 -1
  245. package/lib/features/copy-paste/copy-paste-context-menu.d.ts +1 -17
  246. package/lib/features/copy-paste/copy-paste-context-menu.d.ts.map +1 -1
  247. package/lib/features/copy-paste/copy-paste-context-menu.js +12 -16
  248. package/lib/features/copy-paste/copy-paste-context-menu.js.map +1 -1
  249. package/lib/features/copy-paste/copy-paste-handler.d.ts +2 -18
  250. package/lib/features/copy-paste/copy-paste-handler.d.ts.map +1 -1
  251. package/lib/features/copy-paste/copy-paste-handler.js +16 -19
  252. package/lib/features/copy-paste/copy-paste-handler.js.map +1 -1
  253. package/lib/features/copy-paste/di.config.d.ts +1 -1
  254. package/lib/features/copy-paste/di.config.d.ts.map +1 -1
  255. package/lib/features/copy-paste/di.config.js +6 -7
  256. package/lib/features/copy-paste/di.config.js.map +1 -1
  257. package/lib/features/decoration/decoration-placer.d.ts +1 -17
  258. package/lib/features/decoration/decoration-placer.d.ts.map +1 -1
  259. package/lib/features/decoration/decoration-placer.js +7 -9
  260. package/lib/features/decoration/decoration-placer.js.map +1 -1
  261. package/lib/features/decoration/di.config.d.ts +1 -1
  262. package/lib/features/decoration/di.config.d.ts.map +1 -1
  263. package/lib/features/decoration/di.config.js +4 -5
  264. package/lib/features/decoration/di.config.js.map +1 -1
  265. package/lib/features/edit-label/di.config.d.ts +1 -1
  266. package/lib/features/edit-label/di.config.d.ts.map +1 -1
  267. package/lib/features/edit-label/di.config.js +6 -7
  268. package/lib/features/edit-label/di.config.js.map +1 -1
  269. package/lib/features/edit-label/edit-label-tool.d.ts +1 -1
  270. package/lib/features/edit-label/edit-label-tool.d.ts.map +1 -1
  271. package/lib/features/edit-label/edit-label-tool.js +6 -7
  272. package/lib/features/edit-label/edit-label-tool.js.map +1 -1
  273. package/lib/features/edit-label/edit-label-validator.d.ts +1 -17
  274. package/lib/features/edit-label/edit-label-validator.d.ts.map +1 -1
  275. package/lib/features/edit-label/edit-label-validator.js +12 -15
  276. package/lib/features/edit-label/edit-label-validator.js.map +1 -1
  277. package/lib/features/export/di.config.d.ts +1 -1
  278. package/lib/features/export/di.config.js +7 -7
  279. package/lib/features/export/di.config.js.map +1 -1
  280. package/lib/features/export/glsp-svg-exporter.d.ts +1 -17
  281. package/lib/features/export/glsp-svg-exporter.d.ts.map +1 -1
  282. package/lib/features/export/glsp-svg-exporter.js +20 -7
  283. package/lib/features/export/glsp-svg-exporter.js.map +1 -1
  284. package/lib/features/hints/di.config.d.ts +15 -0
  285. package/lib/features/hints/di.config.d.ts.map +1 -1
  286. package/lib/features/hints/di.config.js +5 -7
  287. package/lib/features/hints/di.config.js.map +1 -1
  288. package/lib/features/hints/model.d.ts +2 -3
  289. package/lib/features/hints/model.d.ts.map +1 -1
  290. package/lib/features/hints/model.js.map +1 -1
  291. package/lib/features/hints/type-hints.d.ts +3 -19
  292. package/lib/features/hints/type-hints.d.ts.map +1 -1
  293. package/lib/features/hints/type-hints.js +23 -27
  294. package/lib/features/hints/type-hints.js.map +1 -1
  295. package/lib/features/hover/di.config.d.ts +1 -1
  296. package/lib/features/hover/di.config.d.ts.map +1 -1
  297. package/lib/features/hover/di.config.js +20 -22
  298. package/lib/features/hover/di.config.js.map +1 -1
  299. package/lib/features/hover/hover.d.ts +1 -17
  300. package/lib/features/hover/hover.d.ts.map +1 -1
  301. package/lib/features/hover/hover.js +10 -14
  302. package/lib/features/hover/hover.js.map +1 -1
  303. package/lib/features/layout/di.config.d.ts +1 -1
  304. package/lib/features/layout/di.config.d.ts.map +1 -1
  305. package/lib/features/layout/di.config.js +4 -12
  306. package/lib/features/layout/di.config.js.map +1 -1
  307. package/lib/features/layout/layout-elements-action.d.ts +2 -18
  308. package/lib/features/layout/layout-elements-action.d.ts.map +1 -1
  309. package/lib/features/layout/layout-elements-action.js +28 -35
  310. package/lib/features/layout/layout-elements-action.js.map +1 -1
  311. package/lib/features/layout/layout-elements-action.spec.d.ts.map +1 -1
  312. package/lib/features/layout/layout-elements-action.spec.js +14 -16
  313. package/lib/features/layout/layout-elements-action.spec.js.map +1 -1
  314. package/lib/features/navigation/di.config.d.ts +17 -1
  315. package/lib/features/navigation/di.config.d.ts.map +1 -1
  316. package/lib/features/navigation/di.config.js +8 -9
  317. package/lib/features/navigation/di.config.js.map +1 -1
  318. package/lib/features/navigation/navigation-action-handler.d.ts +2 -18
  319. package/lib/features/navigation/navigation-action-handler.d.ts.map +1 -1
  320. package/lib/features/navigation/navigation-action-handler.js +25 -27
  321. package/lib/features/navigation/navigation-action-handler.js.map +1 -1
  322. package/lib/features/navigation/navigation-target-resolver.d.ts +1 -17
  323. package/lib/features/navigation/navigation-target-resolver.d.ts.map +1 -1
  324. package/lib/features/navigation/navigation-target-resolver.js +11 -13
  325. package/lib/features/navigation/navigation-target-resolver.js.map +1 -1
  326. package/lib/features/navigation/navigation-target-resolver.spec.d.ts.map +1 -1
  327. package/lib/features/navigation/navigation-target-resolver.spec.js +16 -17
  328. package/lib/features/navigation/navigation-target-resolver.spec.js.map +1 -1
  329. package/lib/features/reconnect/model.d.ts +2 -2
  330. package/lib/features/reconnect/model.d.ts.map +1 -1
  331. package/lib/features/reconnect/model.js +7 -7
  332. package/lib/features/reconnect/model.js.map +1 -1
  333. package/lib/features/save/di.config.d.ts +1 -1
  334. package/lib/features/save/di.config.js +3 -3
  335. package/lib/features/save/di.config.js.map +1 -1
  336. package/lib/features/save/model.d.ts +2 -2
  337. package/lib/features/save/model.d.ts.map +1 -1
  338. package/lib/features/save/save-keylistener.d.ts +2 -3
  339. package/lib/features/save/save-keylistener.d.ts.map +1 -1
  340. package/lib/features/save/save-keylistener.js +5 -7
  341. package/lib/features/save/save-keylistener.js.map +1 -1
  342. package/lib/features/select/di.config.d.ts +1 -1
  343. package/lib/features/select/di.config.d.ts.map +1 -1
  344. package/lib/features/select/di.config.js +9 -12
  345. package/lib/features/select/di.config.js.map +1 -1
  346. package/lib/features/select/select-feedback-command.d.ts +12 -0
  347. package/lib/features/select/select-feedback-command.d.ts.map +1 -0
  348. package/lib/features/select/{select-feedback-action.js → select-feedback-command.js} +10 -24
  349. package/lib/features/select/select-feedback-command.js.map +1 -0
  350. package/lib/features/select/select-mouse-listener.d.ts +3 -4
  351. package/lib/features/select/select-mouse-listener.d.ts.map +1 -1
  352. package/lib/features/select/select-mouse-listener.js +25 -28
  353. package/lib/features/select/select-mouse-listener.js.map +1 -1
  354. package/lib/features/source-model-watcher/di.config.d.ts +15 -0
  355. package/lib/features/source-model-watcher/di.config.d.ts.map +1 -1
  356. package/lib/features/source-model-watcher/di.config.js +3 -4
  357. package/lib/features/source-model-watcher/di.config.js.map +1 -1
  358. package/lib/features/source-model-watcher/source-model-changed-action-handler.d.ts +1 -17
  359. package/lib/features/source-model-watcher/source-model-changed-action-handler.d.ts.map +1 -1
  360. package/lib/features/source-model-watcher/source-model-changed-action-handler.js +11 -14
  361. package/lib/features/source-model-watcher/source-model-changed-action-handler.js.map +1 -1
  362. package/lib/features/{mouse-tool → svg-metadata}/di.config.d.ts +3 -3
  363. package/lib/features/svg-metadata/di.config.d.ts.map +1 -0
  364. package/lib/features/{rank/model.js → svg-metadata/di.config.js} +10 -12
  365. package/lib/features/svg-metadata/di.config.js.map +1 -0
  366. package/lib/features/svg-metadata/metadata-placer.d.ts +23 -0
  367. package/lib/features/svg-metadata/metadata-placer.d.ts.map +1 -0
  368. package/lib/features/svg-metadata/metadata-placer.js +60 -0
  369. package/lib/features/svg-metadata/metadata-placer.js.map +1 -0
  370. package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts +12 -22
  371. package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts.map +1 -1
  372. package/lib/features/tool-feedback/change-bounds-tool-feedback.js +51 -37
  373. package/lib/features/tool-feedback/change-bounds-tool-feedback.js.map +1 -1
  374. package/lib/features/tool-feedback/creation-tool-feedback.d.ts +4 -20
  375. package/lib/features/tool-feedback/creation-tool-feedback.d.ts.map +1 -1
  376. package/lib/features/tool-feedback/creation-tool-feedback.js +29 -33
  377. package/lib/features/tool-feedback/creation-tool-feedback.js.map +1 -1
  378. package/lib/features/tool-feedback/css-feedback.d.ts +2 -18
  379. package/lib/features/tool-feedback/css-feedback.d.ts.map +1 -1
  380. package/lib/features/tool-feedback/css-feedback.js +9 -12
  381. package/lib/features/tool-feedback/css-feedback.js.map +1 -1
  382. package/lib/features/tool-feedback/di.config.d.ts +1 -1
  383. package/lib/features/tool-feedback/di.config.d.ts.map +1 -1
  384. package/lib/features/tool-feedback/di.config.js +20 -22
  385. package/lib/features/tool-feedback/di.config.js.map +1 -1
  386. package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts +2 -18
  387. package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts.map +1 -1
  388. package/lib/features/tool-feedback/edge-edit-tool-feedback.js +40 -46
  389. package/lib/features/tool-feedback/edge-edit-tool-feedback.js.map +1 -1
  390. package/lib/features/tool-feedback/marquee-tool-feedback.d.ts +2 -18
  391. package/lib/features/tool-feedback/marquee-tool-feedback.d.ts.map +1 -1
  392. package/lib/features/tool-feedback/marquee-tool-feedback.js +14 -17
  393. package/lib/features/tool-feedback/marquee-tool-feedback.js.map +1 -1
  394. package/lib/features/tool-feedback/view.d.ts +1 -17
  395. package/lib/features/tool-feedback/view.d.ts.map +1 -1
  396. package/lib/features/tool-feedback/view.js +9 -12
  397. package/lib/features/tool-feedback/view.js.map +1 -1
  398. package/lib/features/tool-palette/di.config.d.ts +1 -1
  399. package/lib/features/tool-palette/di.config.d.ts.map +1 -1
  400. package/lib/features/tool-palette/di.config.js +6 -8
  401. package/lib/features/tool-palette/di.config.js.map +1 -1
  402. package/lib/features/tool-palette/tool-palette.d.ts +7 -21
  403. package/lib/features/tool-palette/tool-palette.d.ts.map +1 -1
  404. package/lib/features/tool-palette/tool-palette.js +39 -35
  405. package/lib/features/tool-palette/tool-palette.js.map +1 -1
  406. package/lib/features/tools/base-glsp-tool.d.ts +3 -20
  407. package/lib/features/tools/base-glsp-tool.d.ts.map +1 -1
  408. package/lib/features/tools/base-glsp-tool.js +24 -11
  409. package/lib/features/tools/base-glsp-tool.js.map +1 -1
  410. package/lib/features/tools/change-bounds-tool.d.ts +7 -21
  411. package/lib/features/tools/change-bounds-tool.d.ts.map +1 -1
  412. package/lib/features/tools/change-bounds-tool.js +56 -36
  413. package/lib/features/tools/change-bounds-tool.js.map +1 -1
  414. package/lib/features/tools/delete-tool.d.ts +3 -20
  415. package/lib/features/tools/delete-tool.d.ts.map +1 -1
  416. package/lib/features/tools/delete-tool.js +22 -29
  417. package/lib/features/tools/delete-tool.js.map +1 -1
  418. package/lib/features/tools/di.config.d.ts +18 -5
  419. package/lib/features/tools/di.config.d.ts.map +1 -1
  420. package/lib/features/tools/di.config.js +17 -20
  421. package/lib/features/tools/di.config.js.map +1 -1
  422. package/lib/features/tools/edge-creation-tool.d.ts +1 -17
  423. package/lib/features/tools/edge-creation-tool.d.ts.map +1 -1
  424. package/lib/features/tools/edge-creation-tool.js +18 -21
  425. package/lib/features/tools/edge-creation-tool.js.map +1 -1
  426. package/lib/features/tools/edge-edit-tool.d.ts +4 -19
  427. package/lib/features/tools/edge-edit-tool.d.ts.map +1 -1
  428. package/lib/features/tools/edge-edit-tool.js +27 -26
  429. package/lib/features/tools/edge-edit-tool.js.map +1 -1
  430. package/lib/features/tools/enable-default-tools-on-focus-loss.d.ts +1 -17
  431. package/lib/features/tools/enable-default-tools-on-focus-loss.d.ts.map +1 -1
  432. package/lib/features/tools/enable-default-tools-on-focus-loss.js +19 -5
  433. package/lib/features/tools/enable-default-tools-on-focus-loss.js.map +1 -1
  434. package/lib/features/tools/glsp-manhattan-edge-router.d.ts +3 -3
  435. package/lib/features/tools/glsp-manhattan-edge-router.d.ts.map +1 -1
  436. package/lib/features/tools/glsp-manhattan-edge-router.js +8 -9
  437. package/lib/features/tools/glsp-manhattan-edge-router.js.map +1 -1
  438. package/lib/features/tools/marquee-behavior.d.ts +2 -2
  439. package/lib/features/tools/marquee-behavior.d.ts.map +1 -1
  440. package/lib/features/tools/marquee-behavior.js +4 -4
  441. package/lib/features/tools/marquee-behavior.js.map +1 -1
  442. package/lib/features/tools/marquee-mouse-tool.d.ts +1 -18
  443. package/lib/features/tools/marquee-mouse-tool.d.ts.map +1 -1
  444. package/lib/features/tools/marquee-mouse-tool.js +17 -26
  445. package/lib/features/tools/marquee-mouse-tool.js.map +1 -1
  446. package/lib/features/tools/marquee-tool.d.ts +1 -17
  447. package/lib/features/tools/marquee-tool.d.ts.map +1 -1
  448. package/lib/features/tools/marquee-tool.js +23 -10
  449. package/lib/features/tools/marquee-tool.js.map +1 -1
  450. package/lib/features/tools/model.d.ts +2 -3
  451. package/lib/features/tools/model.d.ts.map +1 -1
  452. package/lib/features/tools/model.js +18 -3
  453. package/lib/features/tools/model.js.map +1 -1
  454. package/lib/features/tools/node-creation-tool.d.ts +1 -17
  455. package/lib/features/tools/node-creation-tool.d.ts.map +1 -1
  456. package/lib/features/tools/node-creation-tool.js +14 -17
  457. package/lib/features/tools/node-creation-tool.js.map +1 -1
  458. package/lib/features/tools/view.d.ts +1 -1
  459. package/lib/features/tools/view.d.ts.map +1 -1
  460. package/lib/features/tools/view.js +5 -6
  461. package/lib/features/tools/view.js.map +1 -1
  462. package/lib/features/validation/di.config.d.ts +15 -0
  463. package/lib/features/validation/di.config.d.ts.map +1 -1
  464. package/lib/features/validation/di.config.js +9 -11
  465. package/lib/features/validation/di.config.js.map +1 -1
  466. package/lib/features/validation/issue-marker.d.ts +2 -3
  467. package/lib/features/validation/issue-marker.d.ts.map +1 -1
  468. package/lib/features/validation/issue-marker.js +9 -10
  469. package/lib/features/validation/issue-marker.js.map +1 -1
  470. package/lib/features/validation/marker-navigator.d.ts +2 -18
  471. package/lib/features/validation/marker-navigator.d.ts.map +1 -1
  472. package/lib/features/validation/marker-navigator.js +28 -36
  473. package/lib/features/validation/marker-navigator.js.map +1 -1
  474. package/lib/features/validation/marker-navigator.spec.d.ts.map +1 -1
  475. package/lib/features/validation/marker-navigator.spec.js +23 -10
  476. package/lib/features/validation/marker-navigator.spec.js.map +1 -1
  477. package/lib/features/validation/validate.d.ts +8 -24
  478. package/lib/features/validation/validate.d.ts.map +1 -1
  479. package/lib/features/validation/validate.js +40 -46
  480. package/lib/features/validation/validate.js.map +1 -1
  481. package/lib/features/viewport/di.config.d.ts +1 -1
  482. package/lib/features/viewport/di.config.d.ts.map +1 -1
  483. package/lib/features/viewport/di.config.js +12 -12
  484. package/lib/features/viewport/di.config.js.map +1 -1
  485. package/lib/features/viewport/glsp-scroll-mouse-listener.d.ts +1 -17
  486. package/lib/features/viewport/glsp-scroll-mouse-listener.d.ts.map +1 -1
  487. package/lib/features/viewport/glsp-scroll-mouse-listener.js +20 -6
  488. package/lib/features/viewport/glsp-scroll-mouse-listener.js.map +1 -1
  489. package/lib/{base/tool-manager/tool-actions.d.ts → glsp-sprotty/augmented-actions.d.ts} +7 -2
  490. package/lib/glsp-sprotty/augmented-actions.d.ts.map +1 -0
  491. package/lib/{base/tool-manager/tool-actions.js → glsp-sprotty/augmented-actions.js} +6 -2
  492. package/lib/glsp-sprotty/augmented-actions.js.map +1 -0
  493. package/lib/{sprotty-reexport.d.ts → glsp-sprotty/index.d.ts} +33 -17
  494. package/lib/glsp-sprotty/index.d.ts.map +1 -0
  495. package/lib/{sprotty-reexport.js → glsp-sprotty/index.js} +73 -39
  496. package/lib/glsp-sprotty/index.js.map +1 -0
  497. package/lib/{base → glsp-sprotty}/types.d.ts +4 -8
  498. package/lib/glsp-sprotty/types.d.ts.map +1 -0
  499. package/lib/{base → glsp-sprotty}/types.js +3 -2
  500. package/lib/glsp-sprotty/types.js.map +1 -0
  501. package/lib/index.d.ts +46 -14
  502. package/lib/index.d.ts.map +1 -1
  503. package/lib/index.js +96 -52
  504. package/lib/index.js.map +1 -1
  505. package/lib/lib/model.d.ts +1 -2
  506. package/lib/lib/model.d.ts.map +1 -1
  507. package/lib/lib/model.js +8 -9
  508. package/lib/lib/model.js.map +1 -1
  509. package/lib/model-source/glsp-diagram-server.d.ts +1 -17
  510. package/lib/model-source/glsp-diagram-server.d.ts.map +1 -1
  511. package/lib/model-source/glsp-diagram-server.js +11 -13
  512. package/lib/model-source/glsp-diagram-server.js.map +1 -1
  513. package/lib/utils/argument-utils.d.ts +2 -2
  514. package/lib/utils/argument-utils.d.ts.map +1 -1
  515. package/lib/utils/argument-utils.js +2 -2
  516. package/lib/utils/argument-utils.js.map +1 -1
  517. package/lib/utils/layout-utils.d.ts +2 -3
  518. package/lib/utils/layout-utils.d.ts.map +1 -1
  519. package/lib/utils/layout-utils.js.map +1 -1
  520. package/lib/utils/marker.d.ts +16 -1
  521. package/lib/utils/marker.d.ts.map +1 -1
  522. package/lib/utils/marker.js +7 -8
  523. package/lib/utils/marker.js.map +1 -1
  524. package/lib/utils/smodel-util.d.ts +7 -6
  525. package/lib/utils/smodel-util.d.ts.map +1 -1
  526. package/lib/utils/smodel-util.js +33 -17
  527. package/lib/utils/smodel-util.js.map +1 -1
  528. package/lib/utils/smodel-util.spec.d.ts +2 -0
  529. package/lib/utils/smodel-util.spec.d.ts.map +1 -0
  530. package/lib/utils/smodel-util.spec.js +184 -0
  531. package/lib/utils/smodel-util.spec.js.map +1 -0
  532. package/lib/utils/viewpoint-util.d.ts +2 -3
  533. package/lib/utils/viewpoint-util.d.ts.map +1 -1
  534. package/lib/utils/viewpoint-util.js +5 -6
  535. package/lib/utils/viewpoint-util.js.map +1 -1
  536. package/lib/views/base-view-module.d.ts +18 -6
  537. package/lib/views/base-view-module.d.ts.map +1 -1
  538. package/lib/views/base-view-module.js +22 -23
  539. package/lib/views/base-view-module.js.map +1 -1
  540. package/lib/views/compartments.d.ts +1 -1
  541. package/lib/views/compartments.d.ts.map +1 -1
  542. package/lib/views/compartments.js +5 -6
  543. package/lib/views/compartments.js.map +1 -1
  544. package/lib/views/glsp-edge-view.d.ts +2 -18
  545. package/lib/views/glsp-edge-view.d.ts.map +1 -1
  546. package/lib/views/glsp-edge-view.js +21 -7
  547. package/lib/views/glsp-edge-view.js.map +1 -1
  548. package/lib/views/glsp-projection-view.d.ts +2 -4
  549. package/lib/views/glsp-projection-view.d.ts.map +1 -1
  550. package/lib/views/glsp-projection-view.js +12 -11
  551. package/lib/views/glsp-projection-view.js.map +1 -1
  552. package/lib/views/index.d.ts +1 -1
  553. package/lib/views/index.js +1 -1
  554. package/lib/views/issue-marker-view.d.ts +1 -1
  555. package/lib/views/issue-marker-view.d.ts.map +1 -1
  556. package/lib/views/issue-marker-view.js +6 -7
  557. package/lib/views/issue-marker-view.js.map +1 -1
  558. package/lib/views/rounded-corner-view.d.ts +1 -1
  559. package/lib/views/rounded-corner-view.d.ts.map +1 -1
  560. package/lib/views/rounded-corner-view.js +7 -8
  561. package/lib/views/rounded-corner-view.js.map +1 -1
  562. package/lib/views/rounded-corner.d.ts +2 -3
  563. package/lib/views/rounded-corner.d.ts.map +1 -1
  564. package/lib/views/rounded-corner.js +1 -1
  565. package/lib/views/rounded-corner.js.map +1 -1
  566. package/package.json +9 -6
  567. package/src/base/action-dispatcher.ts +2 -3
  568. package/src/base/actions/focus-change-action.ts +2 -2
  569. package/src/base/argumentable.ts +2 -3
  570. package/src/base/auto-complete/auto-complete-actions.ts +2 -2
  571. package/src/base/auto-complete/auto-complete-widget.ts +35 -14
  572. package/src/base/auto-complete/validation-decorator.ts +2 -3
  573. package/src/base/command-stack.ts +65 -11
  574. package/src/base/di.config.ts +29 -12
  575. package/src/base/drag-aware-mouse-listener.ts +2 -3
  576. package/src/base/editor-context-service.ts +45 -18
  577. package/src/{features/tool-feedback/model.ts → base/feedback/feeback-command.ts} +2 -2
  578. package/src/{features/tool-feedback → base/feedback}/feedback-action-dispatcher.ts +2 -4
  579. package/src/base/{model → feedback}/update-model-command.ts +9 -32
  580. package/src/base/focus-tracker.ts +2 -4
  581. package/src/base/model/model-registry.ts +2 -2
  582. package/src/base/model-initialization-constraint.ts +2 -3
  583. package/src/base/ranked.ts +42 -0
  584. package/src/base/selection-clearing-mouse-listener.ts +2 -2
  585. package/src/{features/select → base}/selection-service.spec.ts +42 -127
  586. package/src/{features/select → base}/selection-service.ts +98 -40
  587. package/src/base/source-uri-aware.ts +2 -2
  588. package/src/base/tool-manager/glsp-tool-manager.ts +18 -17
  589. package/src/{features/mouse-tool → base/view}/mouse-tool.ts +10 -18
  590. package/src/base/view/view-registry.ts +2 -2
  591. package/src/{base/container-modules.ts → container-modules.ts} +41 -53
  592. package/src/features/accessibility/README.md +65 -0
  593. package/src/features/{mouse-tool → accessibility}/di.config.ts +15 -10
  594. package/src/features/accessibility/move-zoom/di.config.ts +42 -0
  595. package/src/features/accessibility/move-zoom/move-handler.ts +209 -0
  596. package/src/features/accessibility/move-zoom/zoom-handler.ts +182 -0
  597. package/src/features/accessibility/resize-key-tool/di.config.ts +35 -0
  598. package/src/features/accessibility/resize-key-tool/resize-key-handler.ts +129 -0
  599. package/src/features/accessibility/resize-key-tool/resize-key-tool.ts +106 -0
  600. package/src/features/accessibility/search/di.config.ts +30 -0
  601. package/src/features/accessibility/search/search-palette.ts +193 -0
  602. package/src/features/accessibility/search/search-tool.ts +59 -0
  603. package/src/features/accessibility/view-key-tools/deselect-key-tool.ts +88 -0
  604. package/src/features/accessibility/view-key-tools/di.config.ts +32 -0
  605. package/src/features/accessibility/view-key-tools/movement-key-tool.ts +113 -0
  606. package/src/features/accessibility/view-key-tools/zoom-key-tool.ts +92 -0
  607. package/src/{base/actions/sprotty-actions.ts → features/autocomplete-palette/autocomplete-suggestion-providers.ts} +21 -10
  608. package/src/features/autocomplete-palette/base-autocomplete-palette.ts +87 -0
  609. package/src/features/bounds/di.config.ts +23 -13
  610. package/src/features/{layout/tests → bounds}/freeform-layout.spec.ts +3 -3
  611. package/src/features/{layout → bounds}/freeform-layout.ts +14 -6
  612. package/src/features/bounds/glsp-hidden-bounds-updater.ts +16 -8
  613. package/src/features/{layout/tests → bounds}/hbox-layout.spec.ts +3 -4
  614. package/src/features/{layout → bounds}/hbox-layout.ts +9 -7
  615. package/src/features/{layout/tests/layouter-test-util.ts → bounds/layouter-test-util.spec.ts} +11 -10
  616. package/src/features/{layout → bounds}/layouter.ts +7 -7
  617. package/src/features/{layout/tests → bounds}/vbox-layout.spec.ts +3 -4
  618. package/src/features/{layout → bounds}/vbox-layout.ts +8 -6
  619. package/src/features/change-bounds/model.ts +2 -2
  620. package/src/features/change-bounds/movement-restrictor.ts +3 -4
  621. package/src/features/change-bounds/snap.spec.ts +2 -2
  622. package/src/features/change-bounds/snap.ts +2 -3
  623. package/src/features/command-palette/command-palette-tool.ts +4 -4
  624. package/src/features/command-palette/di.config.ts +6 -9
  625. package/src/features/command-palette/server-command-palette-provider.ts +11 -4
  626. package/src/features/context-menu/delete-element-context-menu.ts +2 -4
  627. package/src/features/context-menu/di.config.ts +4 -5
  628. package/src/features/context-menu/selection-service-aware-context-menu-mouse-listener.ts +4 -6
  629. package/src/features/context-menu/server-context-menu-provider.ts +12 -4
  630. package/src/features/copy-paste/copy-paste-context-menu.ts +15 -4
  631. package/src/features/copy-paste/copy-paste-handler.ts +14 -8
  632. package/src/features/copy-paste/di.config.ts +2 -3
  633. package/src/features/decoration/decoration-placer.ts +2 -3
  634. package/src/features/decoration/di.config.ts +4 -5
  635. package/src/features/edit-label/di.config.ts +3 -4
  636. package/src/features/edit-label/edit-label-tool.ts +2 -2
  637. package/src/features/edit-label/edit-label-validator.ts +9 -6
  638. package/src/features/export/di.config.ts +6 -6
  639. package/src/features/export/glsp-svg-exporter.ts +9 -9
  640. package/src/features/hints/di.config.ts +2 -4
  641. package/src/features/hints/model.ts +2 -3
  642. package/src/features/hints/type-hints.ts +15 -11
  643. package/src/features/hover/di.config.ts +13 -12
  644. package/src/features/hover/hover.ts +14 -9
  645. package/src/features/layout/di.config.ts +2 -11
  646. package/src/features/layout/layout-elements-action.spec.ts +15 -17
  647. package/src/features/layout/layout-elements-action.ts +15 -13
  648. package/src/features/navigation/di.config.ts +5 -4
  649. package/src/features/navigation/navigation-action-handler.ts +13 -9
  650. package/src/features/navigation/navigation-target-resolver.spec.ts +2 -3
  651. package/src/features/navigation/navigation-target-resolver.ts +10 -4
  652. package/src/features/reconnect/model.ts +2 -2
  653. package/src/features/save/di.config.ts +3 -3
  654. package/src/features/save/model.ts +2 -2
  655. package/src/features/save/save-keylistener.ts +2 -4
  656. package/src/features/select/di.config.ts +9 -12
  657. package/src/features/select/{select-feedback-action.ts → select-feedback-command.ts} +3 -19
  658. package/src/features/select/select-mouse-listener.ts +13 -12
  659. package/src/features/source-model-watcher/di.config.ts +2 -3
  660. package/src/features/source-model-watcher/source-model-changed-action-handler.ts +11 -4
  661. package/src/features/svg-metadata/di.config.ts +26 -0
  662. package/src/features/svg-metadata/metadata-placer.ts +49 -0
  663. package/src/features/tool-feedback/change-bounds-tool-feedback.ts +56 -25
  664. package/src/features/tool-feedback/creation-tool-feedback.ts +19 -12
  665. package/src/features/tool-feedback/css-feedback.ts +3 -6
  666. package/src/features/tool-feedback/di.config.ts +20 -22
  667. package/src/features/tool-feedback/edge-edit-tool-feedback.ts +15 -12
  668. package/src/features/tool-feedback/marquee-tool-feedback.ts +7 -5
  669. package/src/features/tool-feedback/view.tsx +2 -3
  670. package/src/features/tool-palette/di.config.ts +4 -6
  671. package/src/features/tool-palette/tool-palette.ts +30 -20
  672. package/src/features/tools/base-glsp-tool.ts +4 -7
  673. package/src/features/tools/change-bounds-tool.ts +57 -32
  674. package/src/features/tools/delete-tool.ts +13 -12
  675. package/src/features/tools/di.config.ts +28 -21
  676. package/src/features/tools/edge-creation-tool.ts +9 -7
  677. package/src/features/tools/edge-edit-tool.ts +22 -16
  678. package/src/features/tools/enable-default-tools-on-focus-loss.ts +2 -3
  679. package/src/features/tools/glsp-manhattan-edge-router.ts +9 -7
  680. package/src/features/tools/marquee-behavior.ts +2 -3
  681. package/src/features/tools/marquee-mouse-tool.ts +10 -13
  682. package/src/features/tools/marquee-tool.ts +2 -3
  683. package/src/features/tools/model.ts +2 -3
  684. package/src/features/tools/node-creation-tool.ts +8 -6
  685. package/src/features/tools/view.tsx +2 -2
  686. package/src/features/validation/di.config.ts +5 -7
  687. package/src/features/validation/issue-marker.ts +13 -3
  688. package/src/features/validation/marker-navigator.spec.ts +7 -8
  689. package/src/features/validation/marker-navigator.ts +19 -14
  690. package/src/features/validation/validate.ts +34 -25
  691. package/src/features/viewport/di.config.ts +14 -12
  692. package/src/features/viewport/glsp-scroll-mouse-listener.ts +10 -3
  693. package/src/{base/tool-manager/tool-actions.ts → glsp-sprotty/augmented-actions.ts} +14 -3
  694. package/src/{sprotty-reexport.ts → glsp-sprotty/index.ts} +97 -47
  695. package/src/{base → glsp-sprotty}/types.ts +4 -5
  696. package/src/index.ts +74 -29
  697. package/src/lib/model.ts +12 -2
  698. package/src/model-source/glsp-diagram-server.ts +10 -5
  699. package/src/utils/argument-utils.ts +2 -2
  700. package/src/utils/layout-utils.ts +2 -3
  701. package/src/utils/marker.ts +2 -3
  702. package/src/utils/smodel-util.spec.ts +222 -0
  703. package/src/utils/smodel-util.ts +40 -15
  704. package/src/utils/viewpoint-util.ts +13 -3
  705. package/src/views/base-view-module.ts +11 -15
  706. package/src/views/compartments.tsx +2 -2
  707. package/src/views/glsp-edge-view.tsx +4 -5
  708. package/src/views/glsp-projection-view.tsx +6 -5
  709. package/src/views/index.ts +1 -2
  710. package/src/views/issue-marker-view.tsx +2 -2
  711. package/src/views/rounded-corner-view.tsx +3 -3
  712. package/src/views/rounded-corner.ts +3 -4
  713. package/lib/base/actions/sprotty-actions.d.ts +0 -7
  714. package/lib/base/actions/sprotty-actions.d.ts.map +0 -1
  715. package/lib/base/actions/sprotty-actions.js.map +0 -1
  716. package/lib/base/container-modules.d.ts.map +0 -1
  717. package/lib/base/container-modules.js +0 -140
  718. package/lib/base/container-modules.js.map +0 -1
  719. package/lib/base/model/update-model-command.d.ts +0 -47
  720. package/lib/base/model/update-model-command.d.ts.map +0 -1
  721. package/lib/base/model/update-model-command.js.map +0 -1
  722. package/lib/base/tool-manager/tool-actions.d.ts.map +0 -1
  723. package/lib/base/tool-manager/tool-actions.js.map +0 -1
  724. package/lib/base/types.d.ts.map +0 -1
  725. package/lib/base/types.js.map +0 -1
  726. package/lib/features/layout/freeform-layout.d.ts +0 -32
  727. package/lib/features/layout/freeform-layout.d.ts.map +0 -1
  728. package/lib/features/layout/freeform-layout.js.map +0 -1
  729. package/lib/features/layout/hbox-layout.d.ts.map +0 -1
  730. package/lib/features/layout/hbox-layout.js.map +0 -1
  731. package/lib/features/layout/layouter.d.ts +0 -37
  732. package/lib/features/layout/layouter.d.ts.map +0 -1
  733. package/lib/features/layout/layouter.js.map +0 -1
  734. package/lib/features/layout/tests/freeform-layout.spec.d.ts.map +0 -1
  735. package/lib/features/layout/tests/freeform-layout.spec.js.map +0 -1
  736. package/lib/features/layout/tests/hbox-layout.spec.d.ts.map +0 -1
  737. package/lib/features/layout/tests/hbox-layout.spec.js.map +0 -1
  738. package/lib/features/layout/tests/layouter-test-util.d.ts.map +0 -1
  739. package/lib/features/layout/tests/layouter-test-util.js.map +0 -1
  740. package/lib/features/layout/tests/vbox-layout.spec.d.ts.map +0 -1
  741. package/lib/features/layout/tests/vbox-layout.spec.js.map +0 -1
  742. package/lib/features/layout/vbox-layout.d.ts.map +0 -1
  743. package/lib/features/layout/vbox-layout.js.map +0 -1
  744. package/lib/features/mouse-tool/di.config.d.ts.map +0 -1
  745. package/lib/features/mouse-tool/di.config.js.map +0 -1
  746. package/lib/features/mouse-tool/mouse-tool.d.ts.map +0 -1
  747. package/lib/features/mouse-tool/mouse-tool.js.map +0 -1
  748. package/lib/features/rank/model.d.ts.map +0 -1
  749. package/lib/features/rank/model.js.map +0 -1
  750. package/lib/features/select/select-feedback-action.d.ts +0 -38
  751. package/lib/features/select/select-feedback-action.d.ts.map +0 -1
  752. package/lib/features/select/select-feedback-action.js.map +0 -1
  753. package/lib/features/select/selection-service.d.ts.map +0 -1
  754. package/lib/features/select/selection-service.js.map +0 -1
  755. package/lib/features/select/selection-service.spec.d.ts.map +0 -1
  756. package/lib/features/select/selection-service.spec.js.map +0 -1
  757. package/lib/features/tool-feedback/feedback-action-dispatcher.d.ts.map +0 -1
  758. package/lib/features/tool-feedback/feedback-action-dispatcher.js.map +0 -1
  759. package/lib/features/tool-feedback/model.d.ts.map +0 -1
  760. package/lib/features/tool-feedback/model.js.map +0 -1
  761. package/lib/sprotty-reexport.d.ts.map +0 -1
  762. package/lib/sprotty-reexport.js.map +0 -1
  763. /package/lib/{features/select → base}/selection-service.spec.d.ts +0 -0
  764. /package/lib/features/{layout/tests → bounds}/freeform-layout.spec.d.ts +0 -0
  765. /package/lib/features/{layout/tests → bounds}/hbox-layout.spec.d.ts +0 -0
  766. /package/lib/features/{layout/tests → bounds}/vbox-layout.spec.d.ts +0 -0
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2020-2022 EclipseSource and others.
2
+ * Copyright (c) 2020-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
@@ -13,7 +13,7 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
- import { AnyObject, hasStringProp } from '@eclipse-glsp/protocol';
16
+ import { AnyObject, hasStringProp } from '~glsp-sprotty';
17
17
  export interface SourceUriAware {
18
18
  sourceURI: string;
19
19
  }
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2020-2022 EclipseSource and others.
2
+ * Copyright (c) 2020-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
@@ -13,19 +13,12 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
- import { distinctAdd, EditMode } from '@eclipse-glsp/protocol';
17
16
  import { inject, injectable, multiInject, optional, postConstruct } from 'inversify';
18
- import { Tool, ToolManager } from 'sprotty';
19
- import { EditModeListener, EditorContextService, EditorContextServiceProvider } from '../editor-context-service';
20
- import { TYPES } from '../types';
21
-
22
- export interface IGLSPToolManager extends ToolManager {
23
- /* Disables all actives tools and activates only default tool with non-edit function*/
24
- disableEditTools(): void;
25
- }
17
+ import { AnyObject, EditMode, TYPES, Tool, ToolManager, distinctAdd, hasBooleanProp, hasFunctionProp, hasStringProp } from '~glsp-sprotty';
18
+ import { EditorContextService, EditorContextServiceProvider, IEditModeListener } from '../editor-context-service';
26
19
 
27
20
  @injectable()
28
- export class GLSPToolManager extends ToolManager implements IGLSPToolManager, EditModeListener {
21
+ export class GLSPToolManager extends ToolManager implements IEditModeListener {
29
22
  protected editorContext?: EditorContextService;
30
23
 
31
24
  @multiInject(TYPES.ITool) @optional() override tools: Tool[];
@@ -38,7 +31,7 @@ export class GLSPToolManager extends ToolManager implements IGLSPToolManager, Ed
38
31
  this.registerDefaultTools(...this.defaultTools);
39
32
  this.enableDefaultTools();
40
33
  this.contextServiceProvider().then(editorContext => {
41
- editorContext.register(this);
34
+ editorContext.onEditModeChanged(change => this.editModeChanged(change.newValue, change.oldValue));
42
35
  this.editorContext = editorContext;
43
36
  });
44
37
  }
@@ -59,7 +52,7 @@ export class GLSPToolManager extends ToolManager implements IGLSPToolManager, Ed
59
52
  this.disableActiveTools();
60
53
  let tools = toolIds.map(id => this.tool(id));
61
54
  if (this.editorContext && this.editorContext.isReadonly) {
62
- tools = tools.filter(tool => tool && (!isGLSPTool(tool) || tool.isEditTool === false));
55
+ tools = tools.filter(tool => tool && (!GLSPTool.is(tool) || tool.isEditTool === false));
63
56
  }
64
57
  tools.forEach(tool => {
65
58
  if (tool !== undefined) {
@@ -71,10 +64,10 @@ export class GLSPToolManager extends ToolManager implements IGLSPToolManager, Ed
71
64
 
72
65
  disableEditTools(): void {
73
66
  this.disableActiveTools();
74
- this.enable(this.defaultTools.filter(tool => !isGLSPTool(tool) || tool.isEditTool === false).map(tool => tool.id));
67
+ this.enable(this.defaultTools.filter(tool => !GLSPTool.is(tool) || tool.isEditTool === false).map(tool => tool.id));
75
68
  }
76
69
 
77
- editModeChanged(oldValue: string, newValue: string): void {
70
+ editModeChanged(newValue: string, oldValue: string): void {
78
71
  if (oldValue === newValue) {
79
72
  return;
80
73
  }
@@ -90,6 +83,14 @@ export interface GLSPTool extends Tool {
90
83
  isEditTool: boolean;
91
84
  }
92
85
 
93
- export function isGLSPTool(tool: any): tool is GLSPTool {
94
- return 'isEditTool' in tool && typeof tool['isEditTool'] === 'boolean';
86
+ export namespace GLSPTool {
87
+ export function is(object: unknown): object is GLSPTool {
88
+ return (
89
+ AnyObject.is(object) &&
90
+ hasStringProp(object, 'id') &&
91
+ hasFunctionProp(object, 'enable') &&
92
+ hasFunctionProp(object, 'disable') &&
93
+ hasBooleanProp(object, 'isEditTool')
94
+ );
95
+ }
95
96
  }
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2019-2022 EclipseSource and others.
2
+ * Copyright (c) 2019-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
@@ -13,16 +13,9 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
- import { Action } from '@eclipse-glsp/protocol';
17
16
  import { injectable, multiInject, optional } from 'inversify';
18
- import { MouseListener, MouseTool, SModelElement, SModelRoot } from 'sprotty';
19
- import { TYPES } from '../../base/types';
20
- import { getRank } from '../rank/model';
21
-
22
- export interface IMouseTool {
23
- register(mouseListener: MouseListener): void;
24
- deregister(mouseListener: MouseListener): void;
25
- }
17
+ import { Action, MouseListener, MouseTool, SModelElement, SModelRoot, TYPES } from '~glsp-sprotty';
18
+ import { Ranked } from '../ranked';
26
19
 
27
20
  /**
28
21
  * Custom helper type to declare the explicit mouse listener methods
@@ -31,22 +24,22 @@ export interface IMouseTool {
31
24
  type MouseListenerMethods = keyof Omit<MouseListener, 'decorate'>;
32
25
 
33
26
  @injectable()
34
- export class RankingMouseTool extends MouseTool implements IMouseTool {
27
+ export class RankingMouseTool extends MouseTool {
35
28
  protected rankedMouseListeners: Map<number, MouseListener[]>;
36
29
 
37
30
  constructor(@multiInject(TYPES.MouseListener) @optional() protected override mouseListeners: MouseListener[] = []) {
38
31
  super(mouseListeners);
39
- this.rankedMouseListeners = groupBy(mouseListeners, listener => getRank(listener));
32
+ this.rankedMouseListeners = groupBy(mouseListeners, listener => Ranked.getRank(listener));
40
33
  }
41
34
 
42
35
  override register(mouseListener: MouseListener): void {
43
36
  super.register(mouseListener);
44
- this.rankedMouseListeners = groupBy(this.mouseListeners, listener => getRank(listener));
37
+ this.rankedMouseListeners = groupBy(this.mouseListeners, listener => Ranked.getRank(listener));
45
38
  }
46
39
 
47
40
  override deregister(mouseListener: MouseListener): void {
48
41
  super.deregister(mouseListener);
49
- this.rankedMouseListeners = groupBy(this.mouseListeners, listener => getRank(listener));
42
+ this.rankedMouseListeners = groupBy(this.mouseListeners, listener => Ranked.getRank(listener));
50
43
  }
51
44
 
52
45
  protected override handleEvent<K extends MouseListenerMethods>(methodName: K, model: SModelRoot, event: MouseEvent): void {
@@ -55,13 +48,12 @@ export class RankingMouseTool extends MouseTool implements IMouseTool {
55
48
  if (!element) {
56
49
  return;
57
50
  }
58
- this.notifyListenersByRank(element, methodName, model, event);
51
+ this.notifyListenersByRank(element, methodName, event);
59
52
  }
60
53
 
61
- async notifyListenersByRank<K extends MouseListenerMethods>(
54
+ protected async notifyListenersByRank<K extends MouseListenerMethods>(
62
55
  element: SModelElement,
63
56
  methodName: K,
64
- model: SModelRoot,
65
57
  event: MouseEvent
66
58
  ): Promise<void> {
67
59
  for (const rank of this.rankedMouseListeners) {
@@ -69,7 +61,7 @@ export class RankingMouseTool extends MouseTool implements IMouseTool {
69
61
  }
70
62
  }
71
63
 
72
- async dispatchActions<K extends MouseListenerMethods>(
64
+ protected async dispatchActions<K extends MouseListenerMethods>(
73
65
  mouseListeners: MouseListener[],
74
66
  methodName: K,
75
67
  element: SModelElement,
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2021-2022 EclipseSource and others.
2
+ * Copyright (c) 2019-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 { IView, ViewRegistry } from 'sprotty';
17
+ import { IView, ViewRegistry } from '~glsp-sprotty';
18
18
 
19
19
  @injectable()
20
20
  export class GLSPViewRegistry extends ViewRegistry {
@@ -14,41 +14,42 @@
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
16
 
17
- import { remove } from '@eclipse-glsp/protocol';
18
17
  import { Container, ContainerModule } from 'inversify';
19
18
  import {
19
+ ContainerConfiguration,
20
20
  buttonModule,
21
21
  defaultModule,
22
22
  edgeIntersectionModule,
23
23
  edgeLayoutModule,
24
24
  expandModule,
25
25
  fadeModule,
26
+ initializeContainer,
26
27
  labelEditUiModule,
27
28
  modelSourceModule,
28
29
  openModule,
29
30
  routingModule,
30
31
  zorderModule
31
- } from 'sprotty';
32
- import glspBoundsModule from '../features/bounds/di.config';
33
- import glspCommandPaletteModule from '../features/command-palette/di.config';
34
- import glspContextMenuModule from '../features/context-menu/di.config';
35
- import { glspServerCopyPasteModule } from '../features/copy-paste/di.config';
36
- import glspDecorationModule from '../features/decoration/di.config';
37
- import glspEditLabelModule from '../features/edit-label/di.config';
38
- import glspExportModule from '../features/export/di.config';
39
- import modelHintsModule from '../features/hints/di.config';
40
- import glspHoverModule from '../features/hover/di.config';
41
- import layoutModule from '../features/layout/di.config';
42
- import glspMouseToolModule from '../features/mouse-tool/di.config';
43
- import { navigationModule } from '../features/navigation/di.config';
44
- import glspSelectModule from '../features/select/di.config';
45
- import sourceModelWatcherModule from '../features/source-model-watcher/di.config';
46
- import toolFeedbackModule from '../features/tool-feedback/di.config';
47
- import toolPaletteModule from '../features/tool-palette/di.config';
48
- import { enableDefaultToolsOnFocusLossModule, toolsModule } from '../features/tools/di.config';
49
- import { markerNavigatorModule, validationModule } from '../features/validation/di.config';
50
- import glspViewportModule from '../features/viewport/di.config';
51
- import defaultGLSPModule from './di.config';
32
+ } from '~glsp-sprotty';
33
+ import defaultGLSPModule from './base/di.config';
34
+ import glspBoundsModule from './features/bounds/di.config';
35
+ import glspCommandPaletteModule from './features/command-palette/di.config';
36
+ import glspContextMenuModule from './features/context-menu/di.config';
37
+ import { glspServerCopyPasteModule } from './features/copy-paste/di.config';
38
+ import glspDecorationModule from './features/decoration/di.config';
39
+ import glspEditLabelModule from './features/edit-label/di.config';
40
+ import glspExportModule from './features/export/di.config';
41
+ import modelHintsModule from './features/hints/di.config';
42
+ import glspHoverModule from './features/hover/di.config';
43
+ import layoutModule from './features/layout/di.config';
44
+ import navigationModule from './features/navigation/di.config';
45
+ import glspSelectModule from './features/select/di.config';
46
+ import sourceModelWatcherModule from './features/source-model-watcher/di.config';
47
+ import svgMetadataModule from './features/svg-metadata/di.config';
48
+ import toolFeedbackModule from './features/tool-feedback/di.config';
49
+ import toolPaletteModule from './features/tool-palette/di.config';
50
+ import { enableDefaultToolsOnFocusLossModule, toolsModule } from './features/tools/di.config';
51
+ import { markerNavigatorModule, validationModule } from './features/validation/di.config';
52
+ import glspViewportModule from './features/viewport/di.config';
52
53
 
53
54
  export const DEFAULT_MODULES = [
54
55
  defaultModule,
@@ -65,7 +66,6 @@ export const DEFAULT_MODULES = [
65
66
  glspDecorationModule,
66
67
  glspEditLabelModule,
67
68
  glspHoverModule,
68
- glspMouseToolModule,
69
69
  glspSelectModule,
70
70
  glspServerCopyPasteModule,
71
71
  glspViewportModule,
@@ -83,19 +83,25 @@ export const DEFAULT_MODULES = [
83
83
  toolsModule,
84
84
  enableDefaultToolsOnFocusLossModule,
85
85
  validationModule,
86
- zorderModule
86
+ zorderModule,
87
+ svgMetadataModule
87
88
  ] as const;
88
89
 
89
90
  /**
90
- * Creates a GLSP Diagram container with the GLSP default modules and the specified custom `modules`.
91
- * Default modules can be excluded using {@link ExcludeDescription}s.
92
- *
91
+ * Initializes a GLSP Diagram container with the GLSP default modules and the specified custom `modules`.
92
+ * Additional modules can be passed as direct arguments or as part of a {@link ModuleConfiguration}.
93
+ * ```typescript
94
+ * const container= createDiagramContainer(myModule1, myModule2)
95
+ * // or
96
+ * const container= createDiagramContainer({ add: [myModule1, myModule2]})
97
+ * ```
98
+ * Default modules can be excluded using {@link ModuleConfiguration}s.
93
99
  * This means, you can still customize the default modules in two ways.
94
100
  *
95
101
  * First, you can exclude default modules and add a module with your custom code.
96
102
  *
97
103
  * ```typescript
98
- * const container = createDiagramContainer(myModule1, {exclude: modelSourceWatcherModule},myModelSourceWatcherModule );
104
+ * const container = createDiagramContainer({ add:myModelSourceWatcherModule, remove: modelSourceWatcherModule} );
99
105
  * ```
100
106
  *
101
107
  * Second, you can unbind or rebind implementations that are originally bound in one of the default modules.
@@ -104,30 +110,12 @@ export const DEFAULT_MODULES = [
104
110
  * rebind(NavigationTargetResolver).to(MyNavigationTargetResolver);
105
111
  * ```
106
112
  *
107
- * @param customModules Custom modules to be loaded in addition to the default modules and/or default modules that should be excluded.
108
- * @param options Options to customize the module loading
109
- * @returns The created container.
110
- */
111
- export function createDiagramContainer(...customModules: Array<ContainerModule | ExcludeDescription>): Container {
112
- const container = new Container();
113
-
114
- const modules = [...DEFAULT_MODULES];
115
- customModules.forEach(customModule => {
116
- if (customModule instanceof ContainerModule) {
117
- modules.push(customModule);
118
- } else {
119
- remove(modules, customModule.exclude);
120
- }
121
- });
122
- container.load(...modules);
123
- return container;
124
- }
125
-
126
- /**
127
- * Can be passed to the {@link createDiagramContainer} utility function to exclude (i.e. not load) a specific default module.
113
+ * @param containerConfiguration
114
+ * Custom modules to be loaded in addition to the default modules and/or default modules that should be excluded.
115
+ * @returns The initialized container.
128
116
  */
129
- export interface ExcludeDescription {
130
- exclude: ContainerModule;
117
+ export function initializeDiagramContainer(container: Container, ...containerConfiguration: ContainerConfiguration): Container {
118
+ return initializeContainer(container, ...DEFAULT_MODULES, ...containerConfiguration);
131
119
  }
132
120
 
133
121
  /**
@@ -150,8 +138,8 @@ export interface ExcludeDescription {
150
138
  * ```
151
139
  * @param modules Custom modules to be loaded in addition to the default modules.
152
140
  * @returns The created container.
153
- * @deprecated Please use `createDiagramContainer` from `@eclipse-glsp/client` instead
141
+ * @deprecated Please use `initializeDiagramContainer` from `@eclipse-glsp/client` instead
154
142
  */
155
143
  export function createClientContainer(...modules: ContainerModule[]): Container {
156
- return createDiagramContainer(...modules);
144
+ return initializeDiagramContainer(new Container(), ...modules);
157
145
  }
@@ -0,0 +1,65 @@
1
+ # Keyboard-Only: Accessibility Features
2
+
3
+ The features presented in the following are introduced for disability-aware conceptual modeling and allow basic user model interactions to be performed only with the keyboard.
4
+
5
+ ## Getting started
6
+
7
+ In order to activate and use all of the currently provided keyboard only accessibility features, the module `glspAccessibilityModule` needs to be in use.
8
+ To activate and use only specific accessibility features, the respective module (see list below) needs to be in use.
9
+
10
+ ## Features
11
+
12
+ Below is a list of the keyboard only accessibility features:<br>
13
+
14
+ | Feature | Description | Shortcut | Module |
15
+ | ------- | :----------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------: | :-----------------------: |
16
+ | Search | Search for elements or edges using labels, types, etc. <br> with respective diagram highlighting | <kbd>CTRL</kbd>+<kbd>F</kbd> | `glspSearchPaletteModule` |
17
+ | Move | Move elements, edges or viewport into the directions | <kbd>←</kbd> \|\| <kbd>↑</kbd> \|\| <kbd>→</kbd> \|\| <kbd>↓</kbd> | `glspMoveZoomModule` |
18
+ | Zoom | Zoom in or out gradually to elements or viewport or reset to default zoom level. | <kbd>+</kbd> \|\| <kbd>-</kbd> \|\| <kbd>CTRL</kbd>+<kbd>0</kbd> | `glspMoveZoomModule` |
19
+ | Resize | Increase or decrease element sizes gradually or reset to default element size. | <kbd>ALT</kbd>+<kbd>A</kbd> then <kbd>+</kbd> \|\| <kbd>-</kbd> \|\| <kbd>CTRL</kbd>+<kbd>0</kbd> | `glspResizeKeyModule` |
20
+
21
+ ## Usage
22
+
23
+ #### Search
24
+
25
+ The search palette allows to search labelled elements or edges that have a labelled node as source or target. The result set will be highlighted accordingly, to also be able to visually distinguish between the searched and the remaining parts of the given diagram.
26
+
27
+ #### Read / Select via Search
28
+
29
+ 1. <kbd>CTRL</kbd> + <kbd>F</kbd>: Open the search palette
30
+ 2. In the palette's input field enter either the **type** or the **label** of nodes or edges. The arrow keys can be used to navigate in the search result list.
31
+ 3. <kbd>ENTER</kbd>: Select the node or edge that is highlighted in the search result list.
32
+
33
+ ### Model Exploration
34
+
35
+ #### Move
36
+
37
+ The move functionality can be used to move parts of the model, such as selected nodes or edges or the whole viewport in all directions.
38
+
39
+ ##### Steps
40
+
41
+ 1. Select one or multiple elements or the viewport.
42
+ 2. Use arrow keys (<kbd>←</kbd> || <kbd>↑</kbd> || <kbd>→</kbd> || <kbd>↓</kbd>) to move element(s) or viewport to the desired location.
43
+
44
+ #### Zoom
45
+
46
+ This zoom functionality can be used to gradually adapt the zoom level of one element, a set of elements or the
47
+ viewport.
48
+
49
+ #### Steps
50
+
51
+ 1. Select one or multiple elements or the viewport.
52
+ 2. Use <kbd>+</kbd> or <kbd>-</kbd> to zoom in or out gradually.
53
+ 3. <kbd>CTRL</kbd>+<kbd>0</kbd>: Set the zoom level to default.
54
+
55
+ ### Resize element
56
+
57
+ The resize functionality helps to set the size of the nodes, by either increasing or decreasing the size of the nodes’ shape gradually.
58
+
59
+ #### Steps
60
+
61
+ 1. Select one or multiple elements.
62
+ 2. <kbd>ALT</kbd>+<kbd>A</kbd>: Activate the resize mode.
63
+ 3. <kbd>+</kbd> or <kbd>-</kbd> to increase or decrease the size of the element(s) gradually.
64
+ 4. <kbd>CTRL</kbd>+<kbd>0</kbd>: Set the size of the element(s) to default.
65
+ 5. <kbd>ESC</kbd>: Deactivate the resize mode.
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2019-2022 EclipseSource and others.
2
+ * Copyright (c) 2023 Business Informatics Group (TU Wien) 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
@@ -13,15 +13,20 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
+
16
17
  import { ContainerModule } from 'inversify';
17
- import { MouseTool } from 'sprotty';
18
- import { TYPES } from '../../base/types';
19
- import { RankingMouseTool } from './mouse-tool';
18
+ import { configureMoveZoom } from './move-zoom/di.config';
19
+ import { configureResizeTools } from './resize-key-tool/di.config';
20
+ import { configureSearchPaletteModule } from './search/di.config';
21
+ import { configureViewKeyTools } from './view-key-tools/di.config';
20
22
 
21
- const glspMouseToolModule = new ContainerModule((bind, _unbind, _isBound, rebind) => {
22
- bind(RankingMouseTool).toSelf().inSingletonScope();
23
- bind(TYPES.MouseTool).toService(RankingMouseTool);
24
- rebind(MouseTool).toService(RankingMouseTool);
23
+ /**
24
+ * Enables the accessibility tools for a keyboard-only-usage
25
+ */
26
+ export const glspAccessibilityModule = new ContainerModule((bind, unbind, isBound, rebind) => {
27
+ const context = { bind, unbind, isBound, rebind };
28
+ configureResizeTools(context);
29
+ configureViewKeyTools(context);
30
+ configureMoveZoom(context);
31
+ configureSearchPaletteModule(context);
25
32
  });
26
-
27
- export default glspMouseToolModule;
@@ -0,0 +1,42 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2023 Business Informatics Group (TU Wien) 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 { ContainerModule } from 'inversify';
18
+ import { BindingContext, configureActionHandler } from '~glsp-sprotty';
19
+ import { MoveElementAction, MoveElementHandler, MoveViewportAction, MoveViewportHandler } from './move-handler';
20
+ import { ZoomElementAction, ZoomElementHandler, ZoomViewportAction, ZoomViewportHandler } from './zoom-handler';
21
+
22
+ /**
23
+ * Handles move and zoom actions.
24
+ */
25
+ export const glspMoveZoomModule = new ContainerModule((bind, unbind, isBound, rebind) => {
26
+ const context = { bind, unbind, isBound, rebind };
27
+ configureMoveZoom(context);
28
+ });
29
+
30
+ export function configureMoveZoom(context: BindingContext): void {
31
+ context.bind(MoveViewportHandler).toSelf().inSingletonScope();
32
+ context.bind(MoveElementHandler).toSelf().inSingletonScope();
33
+
34
+ context.bind(ZoomViewportHandler).toSelf().inSingletonScope();
35
+ context.bind(ZoomElementHandler).toSelf().inSingletonScope();
36
+
37
+ configureActionHandler(context, MoveViewportAction.KIND, MoveViewportHandler);
38
+ configureActionHandler(context, MoveElementAction.KIND, MoveElementHandler);
39
+
40
+ configureActionHandler(context, ZoomViewportAction.KIND, ZoomViewportHandler);
41
+ configureActionHandler(context, ZoomElementAction.KIND, ZoomElementHandler);
42
+ }