@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,183 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2019-2023 EclipseSource and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+
17
+ import { inject, injectable, multiInject, optional } from 'inversify';
18
+ import {
19
+ Action,
20
+ EditMode,
21
+ IActionHandler,
22
+ ICommand,
23
+ KeyListener,
24
+ SModelElement,
25
+ TYPES,
26
+ distinctAdd,
27
+ matchesKeystroke
28
+ } from '~glsp-sprotty';
29
+ import { EditorContextService, EditorContextServiceProvider } from '../editor-context-service';
30
+ import { EnableDefaultToolsAction, EnableToolsAction, Tool } from './tool';
31
+ /**
32
+ * A tool manager coordinates the state of tools in the context of an editor.
33
+ *
34
+ * One instance of a tool manager is intended per editor, coordinating the state of all tools within
35
+ * this editor. A tool can be active or not. A tool manager ensures that activating a set of tools
36
+ * will disable all other tools, allowing them to invoke behavior when they become enabled or disabled.
37
+ */
38
+ export interface IToolManager {
39
+ /** All tools managed by this tool manager. */
40
+ readonly managedTools: Tool[];
41
+
42
+ /** The tools that are enabled by default, whenever no other tool is enabled. */
43
+ readonly defaultTools: Tool[];
44
+
45
+ /** The currently active tools, which are either specifically enabled tools, or the default tools. */
46
+ readonly activeTools: Tool[];
47
+
48
+ /**
49
+ * Enables the tools with the specified `toolIds`.
50
+ * Therefore, this manager first disables currently active tools and then enable the
51
+ * tools indicated in `toolIds`, making them the currently active tools. If this manager
52
+ * doesn't manage one or more tools specified in `toolIds`, it'll do nothing. If not a
53
+ * single tool that shall be enabled was found in the managed tools, it'll fall back to
54
+ * the default tools.
55
+ *
56
+ * @param tools The tools to be enabled.
57
+ */
58
+ enable(toolIds: string[]): void;
59
+
60
+ /**
61
+ * Enables all default tools.
62
+ */
63
+ enableDefaultTools(): void;
64
+
65
+ /** Disables all currently active tools. After this call, no tool will be active anymore. */
66
+ disableActiveTools(): void;
67
+
68
+ registerDefaultTools(...tools: Tool[]): void;
69
+
70
+ registerTools(...tools: Tool[]): void;
71
+ }
72
+
73
+ /**
74
+ * The default {@link IToolManager} implementation. Allows
75
+ * registration of tools via Dependency Injection.
76
+ */
77
+ @injectable()
78
+ export class ToolManager implements IToolManager {
79
+ readonly actives: Tool[] = [];
80
+
81
+ protected editorContext?: EditorContextService;
82
+
83
+ constructor(
84
+ @multiInject(TYPES.ITool)
85
+ @optional()
86
+ readonly tools: Tool[] = [],
87
+ @multiInject(TYPES.IDefaultTool)
88
+ @optional()
89
+ readonly defaultTools: Tool[],
90
+ @inject(TYPES.IEditorContextServiceProvider) protected contextServiceProvider: EditorContextServiceProvider
91
+ ) {
92
+ this.registerTools(...this.tools);
93
+ this.registerDefaultTools(...this.defaultTools);
94
+ this.enableDefaultTools();
95
+ this.contextServiceProvider().then(editorContext => {
96
+ editorContext.onEditModeChanged(change => this.editModeChanged(change.newValue, change.oldValue));
97
+ this.editorContext = editorContext;
98
+ });
99
+ }
100
+
101
+ get managedTools(): Tool[] {
102
+ return this.defaultTools.concat(this.tools);
103
+ }
104
+
105
+ get activeTools(): Tool[] {
106
+ return this.actives;
107
+ }
108
+
109
+ registerDefaultTools(...tools: Tool[]): void {
110
+ distinctAdd(this.defaultTools, ...tools);
111
+ }
112
+
113
+ registerTools(...tools: Tool[]): void {
114
+ distinctAdd(this.tools, ...tools);
115
+ }
116
+
117
+ disableActiveTools(): void {
118
+ this.actives.forEach(tool => tool.disable());
119
+ this.actives.splice(0, this.actives.length);
120
+ }
121
+
122
+ enableDefaultTools(): void {
123
+ this.enable(this.defaultTools.map(tool => tool.id));
124
+ }
125
+
126
+ enable(toolIds: string[]): void {
127
+ this.disableActiveTools();
128
+ let tools = toolIds.map(id => this.tool(id));
129
+ if (this.editorContext && this.editorContext.isReadonly) {
130
+ tools = tools.filter(tool => !tool?.isEditTool);
131
+ }
132
+ tools.forEach(tool => {
133
+ if (tool !== undefined) {
134
+ tool.enable();
135
+ this.actives.push(tool);
136
+ }
137
+ });
138
+ }
139
+
140
+ tool(toolId: string): Tool | undefined {
141
+ return this.managedTools.find(tool => tool.id === toolId);
142
+ }
143
+
144
+ disableEditTools(): void {
145
+ this.disableActiveTools();
146
+ this.enable(this.defaultTools.filter(tool => !tool.isEditTool).map(tool => tool.id));
147
+ }
148
+
149
+ editModeChanged(newValue: string, oldValue: string): void {
150
+ if (oldValue === newValue) {
151
+ return;
152
+ }
153
+ if (newValue === EditMode.READONLY) {
154
+ this.disableEditTools();
155
+ } else if (newValue === EditMode.EDITABLE) {
156
+ this.enableDefaultTools();
157
+ }
158
+ }
159
+ }
160
+
161
+ @injectable()
162
+ export class ToolManagerActionHandler implements IActionHandler {
163
+ @inject(TYPES.IToolManager)
164
+ readonly toolManager: IToolManager;
165
+
166
+ handle(action: Action): void | ICommand | Action {
167
+ if (EnableDefaultToolsAction.is(action)) {
168
+ this.toolManager.enableDefaultTools();
169
+ } else if (EnableToolsAction.is(action)) {
170
+ this.toolManager.enable((action as EnableToolsAction).toolIds);
171
+ }
172
+ }
173
+ }
174
+
175
+ @injectable()
176
+ export class DefaultToolsEnablingKeyListener extends KeyListener {
177
+ override keyDown(element: SModelElement, event: KeyboardEvent): Action[] {
178
+ if (matchesKeystroke(event, 'Escape')) {
179
+ return [EnableDefaultToolsAction.create()];
180
+ }
181
+ return [];
182
+ }
183
+ }
@@ -0,0 +1,85 @@
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 { Action, AnyObject, hasArrayProp, hasBooleanProp, hasFunctionProp, hasStringProp } from '~glsp-sprotty';
18
+
19
+ /**
20
+ * Action to enable the tools of the specified `toolIds`.
21
+ */
22
+ export interface EnableToolsAction extends Action {
23
+ kind: typeof EnableToolsAction.KIND;
24
+ toolIds: string[];
25
+ }
26
+ export namespace EnableToolsAction {
27
+ export const KIND = 'enable-tools';
28
+
29
+ export function is(object: unknown): object is EnableToolsAction {
30
+ return Action.hasKind(object, KIND) && hasArrayProp(object, 'toolIds');
31
+ }
32
+
33
+ export function create(toolIds: string[]): EnableToolsAction {
34
+ return {
35
+ kind: KIND,
36
+ toolIds
37
+ };
38
+ }
39
+ }
40
+
41
+ /**
42
+ * Action to disable the currently active tools and enable the default tools instead.
43
+ */
44
+ export interface EnableDefaultToolsAction extends Action {
45
+ kind: typeof EnableDefaultToolsAction.KIND;
46
+ }
47
+ export namespace EnableDefaultToolsAction {
48
+ export const KIND = 'enable-default-tools';
49
+
50
+ export function is(object: unknown): object is EnableToolsAction {
51
+ return Action.hasKind(object, KIND);
52
+ }
53
+
54
+ export function create(): EnableDefaultToolsAction {
55
+ return {
56
+ kind: KIND
57
+ };
58
+ }
59
+ }
60
+
61
+ /** A tool that can be managed by a `ToolManager`.
62
+ */
63
+ export interface Tool {
64
+ readonly id: string;
65
+ /* Notifies the tool to become active. */
66
+ enable(): void;
67
+ /* Notifies the tool to become inactive. */
68
+ disable(): void;
69
+ /** Optional flag indicating wether this tool is an edit tool.
70
+ * Edit tools are inactive when a diagram is in `readonly` edit mode.
71
+ */
72
+ isEditTool?: boolean;
73
+ }
74
+
75
+ export namespace Tool {
76
+ export function is(object: unknown): object is Tool {
77
+ return (
78
+ AnyObject.is(object) &&
79
+ hasStringProp(object, 'id') &&
80
+ hasFunctionProp(object, 'enable') &&
81
+ hasFunctionProp(object, 'disable') &&
82
+ hasBooleanProp(object, 'isEditTool', true)
83
+ );
84
+ }
85
+ }
@@ -0,0 +1,25 @@
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 { injectable } from 'inversify';
17
+ import { Disposable, KeyListener, KeyTool } from '~glsp-sprotty';
18
+
19
+ @injectable()
20
+ export class GLSPKeyTool extends KeyTool {
21
+ registerListener(keyListener: KeyListener): Disposable {
22
+ super.register(keyListener);
23
+ return Disposable.create(() => this.deregister(keyListener));
24
+ }
25
+ }
@@ -0,0 +1,105 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2019-2023 EclipseSource and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+ import { injectable, multiInject, optional } from 'inversify';
17
+ import { Action, Disposable, MouseListener, MouseTool, SModelElement, SModelRoot, TYPES } from '~glsp-sprotty';
18
+ import { Ranked } from '../ranked';
19
+
20
+ /**
21
+ * Custom helper type to declare the explicit mouse listener methods
22
+ * of {@link MouseListener} i.e. omitting the `decorate` method.
23
+ */
24
+ type MouseListenerMethods = keyof Omit<MouseListener, 'decorate'>;
25
+
26
+ @injectable()
27
+ export class GLSPMouseTool extends MouseTool {
28
+ protected rankedMouseListeners: Map<number, MouseListener[]>;
29
+
30
+ constructor(@multiInject(TYPES.MouseListener) @optional() protected override mouseListeners: MouseListener[] = []) {
31
+ super(mouseListeners);
32
+ this.rankedMouseListeners = groupBy(mouseListeners, listener => Ranked.getRank(listener));
33
+ }
34
+
35
+ override register(mouseListener: MouseListener): void {
36
+ super.register(mouseListener);
37
+ this.rankedMouseListeners = groupBy(this.mouseListeners, listener => Ranked.getRank(listener));
38
+ }
39
+
40
+ registerListener(mouseListener: MouseListener): Disposable {
41
+ this.register(mouseListener);
42
+ return Disposable.create(() => this.deregister(mouseListener));
43
+ }
44
+
45
+ override deregister(mouseListener: MouseListener): void {
46
+ super.deregister(mouseListener);
47
+ this.rankedMouseListeners = groupBy(this.mouseListeners, listener => Ranked.getRank(listener));
48
+ }
49
+
50
+ protected override handleEvent<K extends MouseListenerMethods>(methodName: K, model: SModelRoot, event: MouseEvent): void {
51
+ this.focusOnMouseEvent(methodName, model);
52
+ const element = this.getTargetElement(model, event);
53
+ if (!element) {
54
+ return;
55
+ }
56
+ this.notifyListenersByRank(element, methodName, event);
57
+ }
58
+
59
+ protected async notifyListenersByRank<K extends MouseListenerMethods>(
60
+ element: SModelElement,
61
+ methodName: K,
62
+ event: MouseEvent
63
+ ): Promise<void> {
64
+ for (const rank of this.rankedMouseListeners) {
65
+ await this.dispatchActions(rank[1], methodName, element, event);
66
+ }
67
+ }
68
+
69
+ protected async dispatchActions<K extends MouseListenerMethods>(
70
+ mouseListeners: MouseListener[],
71
+ methodName: K,
72
+ element: SModelElement,
73
+ event: MouseEvent
74
+ ): Promise<void> {
75
+ const actions = mouseListeners.map(listener => listener[methodName](element, event as WheelEvent)).reduce((a, b) => a.concat(b));
76
+ if (actions.length > 0) {
77
+ event.preventDefault();
78
+ for (const actionOrPromise of actions) {
79
+ if (Action.is(actionOrPromise)) {
80
+ await this.actionDispatcher.dispatch(actionOrPromise);
81
+ } else {
82
+ actionOrPromise.then((action: Action) => {
83
+ this.actionDispatcher.dispatch(action);
84
+ });
85
+ }
86
+ }
87
+ }
88
+ }
89
+ }
90
+
91
+ function groupBy<K, T>(array: Array<T>, keyFunction: (x: T) => K): Map<K, T[]> {
92
+ const unsortedMap = array.reduce((result: Map<K, T[]>, item: T) => {
93
+ const key = keyFunction(item);
94
+ if (!result.has(key)) {
95
+ result.set(key, [item]);
96
+ } else {
97
+ const entries = result.get(key);
98
+ if (entries) {
99
+ entries.push(item);
100
+ }
101
+ }
102
+ return result;
103
+ }, new Map<K, T[]>());
104
+ return new Map<K, T[]>([...unsortedMap.entries()].sort());
105
+ }
@@ -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 {
@@ -0,0 +1,171 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2021-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 { Container } from 'inversify';
18
+ import {
19
+ BindingContext,
20
+ ContainerConfiguration,
21
+ FeatureModule,
22
+ TYPES,
23
+ ViewerOptions,
24
+ buttonModule,
25
+ configureViewerOptions,
26
+ edgeIntersectionModule,
27
+ edgeLayoutModule,
28
+ expandModule,
29
+ fadeModule,
30
+ labelEditUiModule,
31
+ modelSourceModule,
32
+ resolveContainerConfiguration,
33
+ zorderModule
34
+ } from '~glsp-sprotty';
35
+ import { defaultModule } from './base/default.module';
36
+ import { IDiagramOptions } from './base/model/diagram-loader';
37
+ import { boundsModule } from './features/bounds/bounds-module';
38
+ import { commandPaletteModule } from './features/command-palette/command-palette-module';
39
+ import { contextMenuModule } from './features/context-menu/context-menu-module';
40
+ import { copyPasteModule } from './features/copy-paste/copy-paste-modules';
41
+ import { decorationModule } from './features/decoration/decoration-module';
42
+ import { exportModule } from './features/export/export-modules';
43
+ import { typeHintsModule } from './features/hints/type-hints-module';
44
+ import { hoverModule } from './features/hover/hover-module';
45
+ import { labelEditModule } from './features/label-edit/label-edit-module';
46
+ import { layoutModule } from './features/layout/layout-module';
47
+ import { navigationModule } from './features/navigation/navigation-module';
48
+ import { routingModule } from './features/routing/routing-module';
49
+ import { selectModule } from './features/select/select-module';
50
+ import { sourceModelWatcherModule } from './features/source-model-watcher/source-model-wacher-module';
51
+ import { statusModule } from './features/status/status-module';
52
+ import { svgMetadataModule } from './features/svg-metadata/svg-metadata-module';
53
+ import { toolPaletteModule } from './features/tool-palette/tool-palette-module';
54
+ import { changeBoundsToolModule } from './features/tools/change-bounds/change-boounds-tool-module';
55
+ import { deletionToolModule } from './features/tools/deletion/deletion-tool-module';
56
+ import { edgeCreationToolModule } from './features/tools/edge-creation/edege-creation-module';
57
+ import { edgeEditToolModule } from './features/tools/edge-edit/edge-edit-module';
58
+ import { marqueeSelectionToolModule } from './features/tools/marquee-selection/marquee-selection-module';
59
+ import { nodeCreationToolModule } from './features/tools/node-creation/node-creation-module';
60
+ import { toolFocusLossModule } from './features/tools/tool-focus-loss-module';
61
+ import { markerNavigatorModule, validationModule } from './features/validation/validation-modules';
62
+ import { viewportModule } from './features/viewport/viewport-modules';
63
+
64
+ export const DEFAULT_MODULES = [
65
+ defaultModule,
66
+ buttonModule,
67
+ edgeIntersectionModule,
68
+ edgeLayoutModule,
69
+ expandModule,
70
+ exportModule,
71
+ fadeModule,
72
+ boundsModule,
73
+ commandPaletteModule,
74
+ contextMenuModule,
75
+ decorationModule,
76
+ labelEditModule,
77
+ hoverModule,
78
+ selectModule,
79
+ copyPasteModule,
80
+ viewportModule,
81
+ labelEditUiModule,
82
+ layoutModule,
83
+ markerNavigatorModule,
84
+ typeHintsModule,
85
+ modelSourceModule,
86
+ sourceModelWatcherModule,
87
+ navigationModule,
88
+ routingModule,
89
+ toolPaletteModule,
90
+ edgeCreationToolModule,
91
+ edgeEditToolModule,
92
+ deletionToolModule,
93
+ nodeCreationToolModule,
94
+ changeBoundsToolModule,
95
+ marqueeSelectionToolModule,
96
+ toolFocusLossModule,
97
+ validationModule,
98
+ zorderModule,
99
+ svgMetadataModule,
100
+ statusModule
101
+ ] as const;
102
+
103
+ /**
104
+ * Wraps the {@link configureDiagramOptions} utility function in a module. Adopters can either include this
105
+ * module into the container {@link ModuleConfiguration} or configure the container after its creation
106
+ * (e.g. using the {@link configureDiagramOptions} utility function).
107
+ * @param options The diagram instance specific configuration options
108
+ * @returns The corresponding {@link FeatureModule}
109
+ */
110
+ export function createDiagramOptionsModule(options: IDiagramOptions): FeatureModule {
111
+ return new FeatureModule((bind, unbind, isBound, rebind) => configureDiagramOptions({ bind, unbind, isBound, rebind }, options));
112
+ }
113
+
114
+ /**
115
+ * Utility function to bind the diagram instance specific configuration options.
116
+ * In addition to binding the {@link IDiagramOptions} this function also overrides the
117
+ * {@link ViewerOptions} to match the given client id.
118
+ * @param context The binding context
119
+ * @param options The {@link IDiagramOptions} that should be bound
120
+ */
121
+ export function configureDiagramOptions(context: BindingContext, options: IDiagramOptions): void {
122
+ const viewerOptions: Partial<ViewerOptions> = {
123
+ baseDiv: options.clientId,
124
+ hiddenDiv: options.clientId + '_hidden'
125
+ };
126
+ configureViewerOptions(context, viewerOptions);
127
+
128
+ context.bind(TYPES.IDiagramOptions).toConstantValue(options);
129
+ }
130
+
131
+ /**
132
+ * Initializes a GLSP Diagram container with the GLSP default modules and the specified custom `modules`.
133
+ * Additional modules can be passed as direct arguments or as part of a {@link ModuleConfiguration}.
134
+ * ```typescript
135
+ * const container= createDiagramContainer(myModule1, myModule2)
136
+ * // or
137
+ * const container= createDiagramContainer({ add: [myModule1, myModule2]})
138
+ * ```
139
+ * Default modules can be excluded using {@link ModuleConfiguration}s.
140
+ * This means, you can still customize the default modules in two ways.
141
+ *
142
+ * First, you can exclude default modules and add a module with your custom code.
143
+ *
144
+ * ```typescript
145
+ * const container = createDiagramContainer({ add:myModelSourceWatcherModule, remove: modelSourceWatcherModule} );
146
+ * ```
147
+ *
148
+ * Second, you can unbind or rebind implementations that are originally bound in one of the default modules.
149
+ *
150
+ * ```typescript
151
+ * rebind(NavigationTargetResolver).to(MyNavigationTargetResolver);
152
+ * ```
153
+ * @param container The container that should be initialized
154
+ * @param containerConfigurations
155
+ * Custom modules to be loaded in addition to the default modules and/or default modules that should be excluded.
156
+ * @throws An error if the first module to load is not the `defaultModule` (or an equivalent custom replacement module)
157
+ * @returns The initialized container.
158
+ */
159
+ export function initializeDiagramContainer(container: Container, ...containerConfigurations: ContainerConfiguration): Container {
160
+ const modules = resolveContainerConfiguration(...DEFAULT_MODULES, ...containerConfigurations);
161
+ // The `defaultModule` (or a custom replacement module with the same `featureId`) should be the first module that is
162
+ // loaded into the container
163
+ const firstModule = modules[0];
164
+ if (!firstModule || !(firstModule instanceof FeatureModule && firstModule.featureId === defaultModule.featureId)) {
165
+ throw new Error(
166
+ 'Invalid module configuration. The first module to load should be the `defaultModule` (or an equivalent replacement module)'
167
+ );
168
+ }
169
+ container.load(...modules);
170
+ return container;
171
+ }
@@ -0,0 +1,83 @@
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 `accessibilityModule` 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> | `searchPaletteModule` |
17
+ | Move | Move elements, edges or viewport into the directions | <kbd>←</kbd> \|\| <kbd>↑</kbd> \|\| <kbd>→</kbd> \|\| <kbd>↓</kbd> | `moveZoomModule` |
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> | `moveZoomModule` |
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> | `resizeKeyModule` |
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.
66
+
67
+ ### Model Navigation
68
+
69
+ #### Default Navigation (following directions of relations)
70
+
71
+ 1. Select element as starting point.
72
+ 2. <kbd>N</kbd>: Activate default navigation.
73
+ 3. Use arrow keys to iterate through model according to the directions of the given relations.
74
+
75
+ #### Position-based Navigation (following x and y coordinates)
76
+
77
+ 1. Select element as starting point.
78
+ 2. <kbd>ALT</kbd>+<kbd>N</kbd>: Activate position based navigation.
79
+ 3. Use arrow keys (<kbd>←</kbd> || <kbd>↑</kbd> || <kbd>→</kbd> || <kbd>↓</kbd>) to iterate through model according to the positions of the elements, i.e. depending on the order of the elements' x and y coordinates.
80
+
81
+ ### Help
82
+
83
+ 1. <kbd>ALT</kbd>+<kbd>H</kbd>: Display list of keyboard shortcuts.