@eclipse-glsp/client 1.1.0-next.a07a5f7.197 → 1.1.0-next.a6d39b4.266

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 (1140) hide show
  1. package/README.md +2 -2
  2. package/css/autocomplete-palette.css +22 -0
  3. package/css/decoration.css +1 -8
  4. package/css/glsp-sprotty.css +41 -19
  5. package/css/key-shortcut.css +107 -0
  6. package/css/status-overlay.css +75 -0
  7. package/lib/base/action-dispatcher.d.ts +2 -17
  8. package/lib/base/action-dispatcher.d.ts.map +1 -1
  9. package/lib/base/action-dispatcher.js +13 -9
  10. package/lib/base/action-dispatcher.js.map +1 -1
  11. package/lib/base/argumentable.d.ts +2 -3
  12. package/lib/base/argumentable.d.ts.map +1 -1
  13. package/lib/base/argumentable.js.map +1 -1
  14. package/lib/base/auto-complete/auto-complete-actions.d.ts +2 -2
  15. package/lib/base/auto-complete/auto-complete-actions.d.ts.map +1 -1
  16. package/lib/base/auto-complete/auto-complete-actions.js +4 -4
  17. package/lib/base/auto-complete/auto-complete-actions.js.map +1 -1
  18. package/lib/base/auto-complete/auto-complete-widget.d.ts +11 -6
  19. package/lib/base/auto-complete/auto-complete-widget.d.ts.map +1 -1
  20. package/lib/base/auto-complete/auto-complete-widget.js +35 -34
  21. package/lib/base/auto-complete/auto-complete-widget.js.map +1 -1
  22. package/lib/base/auto-complete/validation-decorator.d.ts +16 -1
  23. package/lib/base/auto-complete/validation-decorator.d.ts.map +1 -1
  24. package/lib/base/auto-complete/validation-decorator.js +7 -8
  25. package/lib/base/auto-complete/validation-decorator.js.map +1 -1
  26. package/lib/base/command-stack.d.ts +17 -3
  27. package/lib/base/command-stack.d.ts.map +1 -1
  28. package/lib/base/command-stack.js +45 -14
  29. package/lib/base/command-stack.js.map +1 -1
  30. package/lib/base/default.module.d.ts +33 -0
  31. package/lib/base/default.module.d.ts.map +1 -0
  32. package/lib/base/default.module.js +105 -0
  33. package/lib/base/default.module.js.map +1 -0
  34. package/lib/base/drag-aware-mouse-listener.d.ts +4 -5
  35. package/lib/base/drag-aware-mouse-listener.d.ts.map +1 -1
  36. package/lib/base/drag-aware-mouse-listener.js +17 -2
  37. package/lib/base/drag-aware-mouse-listener.js.map +1 -1
  38. package/lib/base/editor-context-service.d.ts +19 -26
  39. package/lib/base/editor-context-service.d.ts.map +1 -1
  40. package/lib/base/editor-context-service.js +58 -27
  41. package/lib/base/editor-context-service.js.map +1 -1
  42. package/lib/base/feedback/css-feedback.d.ts +41 -0
  43. package/lib/base/feedback/css-feedback.d.ts.map +1 -0
  44. package/lib/base/feedback/css-feedback.js +115 -0
  45. package/lib/base/feedback/css-feedback.js.map +1 -0
  46. package/lib/base/feedback/feedback-action-dispatcher.d.ts +52 -0
  47. package/lib/base/feedback/feedback-action-dispatcher.d.ts.map +1 -0
  48. package/lib/base/feedback/feedback-action-dispatcher.js +81 -0
  49. package/lib/base/feedback/feedback-action-dispatcher.js.map +1 -0
  50. package/lib/base/feedback/feedback-command.d.ts +22 -0
  51. package/lib/base/feedback/feedback-command.d.ts.map +1 -0
  52. package/lib/base/feedback/feedback-command.js +34 -0
  53. package/lib/base/feedback/feedback-command.js.map +1 -0
  54. package/lib/base/feedback/update-model-command.d.ts +19 -0
  55. package/lib/base/feedback/update-model-command.d.ts.map +1 -0
  56. package/lib/base/feedback/update-model-command.js +91 -0
  57. package/lib/base/feedback/update-model-command.js.map +1 -0
  58. package/lib/base/focus/focus-state-change-action.d.ts +33 -0
  59. package/lib/base/focus/focus-state-change-action.d.ts.map +1 -0
  60. package/lib/base/focus/focus-state-change-action.js +35 -0
  61. package/lib/base/focus/focus-state-change-action.js.map +1 -0
  62. package/lib/base/focus/focus-tracker.d.ts +9 -0
  63. package/lib/base/focus/focus-tracker.d.ts.map +1 -0
  64. package/lib/base/focus/focus-tracker.js +64 -0
  65. package/lib/base/focus/focus-tracker.js.map +1 -0
  66. package/lib/base/model/glsp-model-source.d.ts +58 -0
  67. package/lib/base/model/glsp-model-source.d.ts.map +1 -0
  68. package/lib/base/model/glsp-model-source.js +137 -0
  69. package/lib/base/model/glsp-model-source.js.map +1 -0
  70. package/lib/base/model/model-registry.d.ts +1 -1
  71. package/lib/base/model/model-registry.d.ts.map +1 -1
  72. package/lib/base/model/model-registry.js +4 -5
  73. package/lib/base/model/model-registry.js.map +1 -1
  74. package/lib/base/model-initialization-constraint.d.ts +1 -16
  75. package/lib/base/model-initialization-constraint.d.ts.map +1 -1
  76. package/lib/base/model-initialization-constraint.js +9 -12
  77. package/lib/base/model-initialization-constraint.js.map +1 -1
  78. package/lib/base/ranked.d.ts +34 -0
  79. package/lib/base/ranked.d.ts.map +1 -0
  80. package/lib/base/ranked.js +38 -0
  81. package/lib/base/ranked.js.map +1 -0
  82. package/lib/base/selection-clearing-mouse-listener.d.ts +1 -1
  83. package/lib/base/selection-clearing-mouse-listener.d.ts.map +1 -1
  84. package/lib/base/selection-clearing-mouse-listener.js +4 -5
  85. package/lib/base/selection-clearing-mouse-listener.js.map +1 -1
  86. package/lib/base/selection-service.d.ts +82 -0
  87. package/lib/base/selection-service.d.ts.map +1 -0
  88. package/lib/base/selection-service.js +266 -0
  89. package/lib/base/selection-service.js.map +1 -0
  90. package/lib/base/selection-service.spec.d.ts.map +1 -0
  91. package/lib/base/selection-service.spec.js +281 -0
  92. package/lib/base/selection-service.spec.js.map +1 -0
  93. package/lib/base/tool-manager/glsp-tool-manager.d.ts +7 -8
  94. package/lib/base/tool-manager/glsp-tool-manager.d.ts.map +1 -1
  95. package/lib/base/tool-manager/glsp-tool-manager.js +27 -23
  96. package/lib/base/tool-manager/glsp-tool-manager.js.map +1 -1
  97. package/lib/base/view/key-tool.d.ts +5 -0
  98. package/lib/base/view/key-tool.d.ts.map +1 -0
  99. package/lib/base/view/key-tool.js +36 -0
  100. package/lib/base/view/key-tool.js.map +1 -0
  101. package/lib/base/view/mouse-tool.d.ts +19 -0
  102. package/lib/base/view/mouse-tool.d.ts.map +1 -0
  103. package/lib/base/view/mouse-tool.js +104 -0
  104. package/lib/base/view/mouse-tool.js.map +1 -0
  105. package/lib/base/view/view-registry.d.ts +1 -1
  106. package/lib/base/view/view-registry.d.ts.map +1 -1
  107. package/lib/base/view/view-registry.js +4 -5
  108. package/lib/base/view/view-registry.js.map +1 -1
  109. package/lib/default-modules.d.ts +71 -0
  110. package/lib/default-modules.d.ts.map +1 -0
  111. package/lib/default-modules.js +152 -0
  112. package/lib/default-modules.js.map +1 -0
  113. package/lib/features/accessibility/accessibility-module.d.ts +21 -0
  114. package/lib/features/accessibility/accessibility-module.d.ts.map +1 -0
  115. package/lib/features/accessibility/accessibility-module.js +36 -0
  116. package/lib/features/accessibility/accessibility-module.js.map +1 -0
  117. package/lib/features/accessibility/key-shortcut/accessible-key-shortcut-tool.d.ts +31 -0
  118. package/lib/features/accessibility/key-shortcut/accessible-key-shortcut-tool.d.ts.map +1 -0
  119. package/lib/features/accessibility/key-shortcut/accessible-key-shortcut-tool.js +72 -0
  120. package/lib/features/accessibility/key-shortcut/accessible-key-shortcut-tool.js.map +1 -0
  121. package/lib/features/accessibility/key-shortcut/accessible-key-shortcut.d.ts +53 -0
  122. package/lib/features/accessibility/key-shortcut/accessible-key-shortcut.d.ts.map +1 -0
  123. package/lib/features/accessibility/key-shortcut/accessible-key-shortcut.js +149 -0
  124. package/lib/features/accessibility/key-shortcut/accessible-key-shortcut.js.map +1 -0
  125. package/lib/features/accessibility/key-shortcut/di.config.d.ts +24 -0
  126. package/lib/features/accessibility/key-shortcut/di.config.d.ts.map +1 -0
  127. package/lib/features/accessibility/key-shortcut/di.config.js +37 -0
  128. package/lib/features/accessibility/key-shortcut/di.config.js.map +1 -0
  129. package/lib/features/accessibility/move-zoom/move-handler.d.ts +80 -0
  130. package/lib/features/accessibility/move-zoom/move-handler.d.ts.map +1 -0
  131. package/lib/features/accessibility/move-zoom/move-handler.js +169 -0
  132. package/lib/features/accessibility/move-zoom/move-handler.js.map +1 -0
  133. package/lib/features/accessibility/move-zoom/move-zoom-module.d.ts +22 -0
  134. package/lib/features/accessibility/move-zoom/move-zoom-module.d.ts.map +1 -0
  135. package/lib/features/accessibility/move-zoom/move-zoom-module.js +40 -0
  136. package/lib/features/accessibility/move-zoom/move-zoom-module.js.map +1 -0
  137. package/lib/features/accessibility/move-zoom/zoom-handler.d.ts +73 -0
  138. package/lib/features/accessibility/move-zoom/zoom-handler.d.ts.map +1 -0
  139. package/lib/features/accessibility/move-zoom/zoom-handler.js +155 -0
  140. package/lib/features/accessibility/move-zoom/zoom-handler.js.map +1 -0
  141. package/lib/features/accessibility/resize-key-tool/resize-key-handler.d.ts +54 -0
  142. package/lib/features/accessibility/resize-key-tool/resize-key-handler.d.ts.map +1 -0
  143. package/lib/features/accessibility/resize-key-tool/resize-key-handler.js +123 -0
  144. package/lib/features/accessibility/resize-key-tool/resize-key-handler.js.map +1 -0
  145. package/lib/features/accessibility/resize-key-tool/resize-key-module.d.ts +22 -0
  146. package/lib/features/accessibility/resize-key-tool/resize-key-module.d.ts.map +1 -0
  147. package/lib/features/accessibility/resize-key-tool/resize-key-module.js +35 -0
  148. package/lib/features/accessibility/resize-key-tool/resize-key-module.js.map +1 -0
  149. package/lib/features/accessibility/resize-key-tool/resize-key-tool.d.ts +48 -0
  150. package/lib/features/accessibility/resize-key-tool/resize-key-tool.d.ts.map +1 -0
  151. package/lib/features/accessibility/resize-key-tool/resize-key-tool.js +147 -0
  152. package/lib/features/accessibility/resize-key-tool/resize-key-tool.js.map +1 -0
  153. package/lib/features/accessibility/search/search-palette-module.d.ts +19 -0
  154. package/lib/features/accessibility/search/search-palette-module.d.ts.map +1 -0
  155. package/lib/features/accessibility/search/search-palette-module.js +31 -0
  156. package/lib/features/accessibility/search/search-palette-module.js.map +1 -0
  157. package/lib/features/accessibility/search/search-palette.d.ts +46 -0
  158. package/lib/features/accessibility/search/search-palette.d.ts.map +1 -0
  159. package/lib/features/accessibility/search/search-palette.js +161 -0
  160. package/lib/features/accessibility/search/search-palette.js.map +1 -0
  161. package/lib/features/accessibility/search/search-tool.d.ts +36 -0
  162. package/lib/features/accessibility/search/search-tool.d.ts.map +1 -0
  163. package/lib/features/accessibility/search/search-tool.js +94 -0
  164. package/lib/features/accessibility/search/search-tool.js.map +1 -0
  165. package/lib/features/accessibility/view-key-tools/deselect-key-tool.d.ts +34 -0
  166. package/lib/features/accessibility/view-key-tools/deselect-key-tool.d.ts.map +1 -0
  167. package/lib/features/accessibility/view-key-tools/deselect-key-tool.js +85 -0
  168. package/lib/features/accessibility/view-key-tools/deselect-key-tool.js.map +1 -0
  169. package/lib/features/accessibility/view-key-tools/movement-key-tool.d.ts +53 -0
  170. package/lib/features/accessibility/view-key-tools/movement-key-tool.d.ts.map +1 -0
  171. package/lib/features/accessibility/view-key-tools/movement-key-tool.js +147 -0
  172. package/lib/features/accessibility/view-key-tools/movement-key-tool.js.map +1 -0
  173. package/lib/features/accessibility/view-key-tools/view-key-tools-module.d.ts +19 -0
  174. package/lib/features/accessibility/view-key-tools/view-key-tools-module.d.ts.map +1 -0
  175. package/lib/features/accessibility/view-key-tools/view-key-tools-module.js +33 -0
  176. package/lib/features/accessibility/view-key-tools/view-key-tools-module.js.map +1 -0
  177. package/lib/features/accessibility/view-key-tools/zoom-key-tool.d.ts +46 -0
  178. package/lib/features/accessibility/view-key-tools/zoom-key-tool.d.ts.map +1 -0
  179. package/lib/features/accessibility/view-key-tools/zoom-key-tool.js +129 -0
  180. package/lib/features/accessibility/view-key-tools/zoom-key-tool.js.map +1 -0
  181. package/lib/features/autocomplete-palette/autocomplete-suggestion-providers.d.ts +35 -0
  182. package/lib/features/autocomplete-palette/autocomplete-suggestion-providers.d.ts.map +1 -0
  183. package/lib/features/autocomplete-palette/autocomplete-suggestion-providers.js +18 -0
  184. package/lib/features/autocomplete-palette/autocomplete-suggestion-providers.js.map +1 -0
  185. package/lib/features/autocomplete-palette/base-autocomplete-palette.d.ts +40 -0
  186. package/lib/features/autocomplete-palette/base-autocomplete-palette.d.ts.map +1 -0
  187. package/lib/features/autocomplete-palette/base-autocomplete-palette.js +82 -0
  188. package/lib/features/autocomplete-palette/base-autocomplete-palette.js.map +1 -0
  189. package/lib/features/bounds/bounds-module.d.ts +18 -0
  190. package/lib/features/bounds/bounds-module.d.ts.map +1 -0
  191. package/lib/features/bounds/bounds-module.js +36 -0
  192. package/lib/features/bounds/bounds-module.js.map +1 -0
  193. package/lib/features/bounds/freeform-layout.d.ts +14 -0
  194. package/lib/features/bounds/freeform-layout.d.ts.map +1 -0
  195. package/lib/features/bounds/freeform-layout.js +105 -0
  196. package/lib/features/bounds/freeform-layout.js.map +1 -0
  197. package/lib/features/bounds/freeform-layout.spec.d.ts.map +1 -0
  198. package/lib/features/bounds/freeform-layout.spec.js +201 -0
  199. package/lib/features/bounds/freeform-layout.spec.js.map +1 -0
  200. package/lib/features/bounds/glsp-hidden-bounds-updater.d.ts +2 -3
  201. package/lib/features/bounds/glsp-hidden-bounds-updater.d.ts.map +1 -1
  202. package/lib/features/bounds/glsp-hidden-bounds-updater.js +9 -10
  203. package/lib/features/bounds/glsp-hidden-bounds-updater.js.map +1 -1
  204. package/lib/features/bounds/hbox-layout.d.ts +25 -0
  205. package/lib/features/bounds/hbox-layout.d.ts.map +1 -0
  206. package/lib/features/bounds/hbox-layout.js +199 -0
  207. package/lib/features/bounds/hbox-layout.js.map +1 -0
  208. package/lib/features/bounds/hbox-layout.spec.d.ts.map +1 -0
  209. package/lib/features/bounds/hbox-layout.spec.js +160 -0
  210. package/lib/features/bounds/hbox-layout.spec.js.map +1 -0
  211. package/lib/features/bounds/layouter-test-util.spec.d.ts +32 -0
  212. package/lib/features/bounds/layouter-test-util.spec.d.ts.map +1 -0
  213. package/lib/features/bounds/layouter-test-util.spec.js +96 -0
  214. package/lib/features/bounds/layouter-test-util.spec.js.map +1 -0
  215. package/lib/features/bounds/layouter.d.ts +21 -0
  216. package/lib/features/bounds/layouter.d.ts.map +1 -0
  217. package/lib/features/bounds/layouter.js +129 -0
  218. package/lib/features/bounds/layouter.js.map +1 -0
  219. package/lib/features/bounds/vbox-layout.d.ts +25 -0
  220. package/lib/features/bounds/vbox-layout.d.ts.map +1 -0
  221. package/lib/features/bounds/vbox-layout.js +199 -0
  222. package/lib/features/bounds/vbox-layout.js.map +1 -0
  223. package/lib/features/bounds/vbox-layout.spec.d.ts.map +1 -0
  224. package/lib/features/bounds/vbox-layout.spec.js +160 -0
  225. package/lib/features/bounds/vbox-layout.spec.js.map +1 -0
  226. package/lib/features/change-bounds/model.d.ts +2 -2
  227. package/lib/features/change-bounds/model.d.ts.map +1 -1
  228. package/lib/features/change-bounds/model.js +7 -7
  229. package/lib/features/change-bounds/model.js.map +1 -1
  230. package/lib/features/change-bounds/movement-restrictor.d.ts +2 -18
  231. package/lib/features/change-bounds/movement-restrictor.d.ts.map +1 -1
  232. package/lib/features/change-bounds/movement-restrictor.js +22 -8
  233. package/lib/features/change-bounds/movement-restrictor.js.map +1 -1
  234. package/lib/features/change-bounds/snap.d.ts +1 -17
  235. package/lib/features/change-bounds/snap.d.ts.map +1 -1
  236. package/lib/features/change-bounds/snap.js +19 -5
  237. package/lib/features/change-bounds/snap.js.map +1 -1
  238. package/lib/features/change-bounds/snap.spec.d.ts +1 -1
  239. package/lib/features/change-bounds/snap.spec.js +6 -6
  240. package/lib/features/change-bounds/snap.spec.js.map +1 -1
  241. package/lib/features/command-palette/command-palette-module.d.ts +19 -0
  242. package/lib/features/command-palette/command-palette-module.d.ts.map +1 -0
  243. package/lib/features/command-palette/command-palette-module.js +29 -0
  244. package/lib/features/command-palette/command-palette-module.js.map +1 -0
  245. package/lib/features/command-palette/command-palette-tool.d.ts +2 -2
  246. package/lib/features/command-palette/command-palette-tool.d.ts.map +1 -1
  247. package/lib/features/command-palette/command-palette-tool.js +9 -10
  248. package/lib/features/command-palette/command-palette-tool.js.map +1 -1
  249. package/lib/features/command-palette/server-command-palette-provider.d.ts +1 -17
  250. package/lib/features/command-palette/server-command-palette-provider.d.ts.map +1 -1
  251. package/lib/features/command-palette/server-command-palette-provider.js +8 -10
  252. package/lib/features/command-palette/server-command-palette-provider.js.map +1 -1
  253. package/lib/features/context-menu/context-menu-module.d.ts +18 -0
  254. package/lib/features/context-menu/context-menu-module.d.ts.map +1 -0
  255. package/lib/features/context-menu/context-menu-module.js +35 -0
  256. package/lib/features/context-menu/context-menu-module.js.map +1 -0
  257. package/lib/features/context-menu/delete-element-context-menu.d.ts +1 -17
  258. package/lib/features/context-menu/delete-element-context-menu.d.ts.map +1 -1
  259. package/lib/features/context-menu/delete-element-context-menu.js +6 -8
  260. package/lib/features/context-menu/delete-element-context-menu.js.map +1 -1
  261. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.d.ts +2 -20
  262. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.d.ts.map +1 -1
  263. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js +27 -19
  264. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js.map +1 -1
  265. package/lib/features/context-menu/server-context-menu-provider.d.ts +1 -17
  266. package/lib/features/context-menu/server-context-menu-provider.d.ts.map +1 -1
  267. package/lib/features/context-menu/server-context-menu-provider.js +9 -12
  268. package/lib/features/context-menu/server-context-menu-provider.js.map +1 -1
  269. package/lib/features/copy-paste/copy-paste-context-menu.d.ts +1 -17
  270. package/lib/features/copy-paste/copy-paste-context-menu.d.ts.map +1 -1
  271. package/lib/features/copy-paste/copy-paste-context-menu.js +12 -16
  272. package/lib/features/copy-paste/copy-paste-context-menu.js.map +1 -1
  273. package/lib/features/copy-paste/copy-paste-handler.d.ts +4 -20
  274. package/lib/features/copy-paste/copy-paste-handler.d.ts.map +1 -1
  275. package/lib/features/copy-paste/copy-paste-handler.js +18 -22
  276. package/lib/features/copy-paste/copy-paste-handler.js.map +1 -1
  277. package/lib/features/copy-paste/copy-paste-modules.d.ts +24 -0
  278. package/lib/features/copy-paste/copy-paste-modules.d.ts.map +1 -0
  279. package/lib/features/copy-paste/copy-paste-modules.js +36 -0
  280. package/lib/features/copy-paste/copy-paste-modules.js.map +1 -0
  281. package/lib/features/decoration/decoration-module.d.ts +19 -0
  282. package/lib/features/decoration/decoration-module.d.ts.map +1 -0
  283. package/lib/features/decoration/decoration-module.js +25 -0
  284. package/lib/features/decoration/decoration-module.js.map +1 -0
  285. package/lib/features/decoration/decoration-placer.d.ts +1 -17
  286. package/lib/features/decoration/decoration-placer.d.ts.map +1 -1
  287. package/lib/features/decoration/decoration-placer.js +7 -9
  288. package/lib/features/decoration/decoration-placer.js.map +1 -1
  289. package/lib/features/export/export-modules.d.ts +24 -0
  290. package/lib/features/export/export-modules.d.ts.map +1 -0
  291. package/lib/features/export/export-modules.js +39 -0
  292. package/lib/features/export/export-modules.js.map +1 -0
  293. package/lib/features/export/export-svg-action-handler.d.ts +11 -0
  294. package/lib/features/export/export-svg-action-handler.d.ts.map +1 -0
  295. package/lib/features/export/export-svg-action-handler.js +42 -0
  296. package/lib/features/export/export-svg-action-handler.js.map +1 -0
  297. package/lib/features/export/glsp-svg-exporter.d.ts +1 -17
  298. package/lib/features/export/glsp-svg-exporter.d.ts.map +1 -1
  299. package/lib/features/export/glsp-svg-exporter.js +20 -7
  300. package/lib/features/export/glsp-svg-exporter.js.map +1 -1
  301. package/lib/features/hints/model.d.ts +2 -3
  302. package/lib/features/hints/model.d.ts.map +1 -1
  303. package/lib/features/hints/model.js.map +1 -1
  304. package/lib/features/hints/type-hints-module.d.ts +18 -0
  305. package/lib/features/hints/type-hints-module.d.ts.map +1 -0
  306. package/lib/features/hints/type-hints-module.js +27 -0
  307. package/lib/features/hints/type-hints-module.js.map +1 -0
  308. package/lib/features/hints/type-hints.d.ts +3 -19
  309. package/lib/features/hints/type-hints.d.ts.map +1 -1
  310. package/lib/features/hints/type-hints.js +23 -27
  311. package/lib/features/hints/type-hints.js.map +1 -1
  312. package/lib/features/hover/hover-module.d.ts +18 -0
  313. package/lib/features/hover/hover-module.d.ts.map +1 -0
  314. package/lib/features/hover/hover-module.js +47 -0
  315. package/lib/features/hover/hover-module.js.map +1 -0
  316. package/lib/features/hover/hover.d.ts +1 -17
  317. package/lib/features/hover/hover.d.ts.map +1 -1
  318. package/lib/features/hover/hover.js +13 -16
  319. package/lib/features/hover/hover.js.map +1 -1
  320. package/lib/features/label-edit/edit-label-tool.d.ts +10 -0
  321. package/lib/features/label-edit/edit-label-tool.d.ts.map +1 -0
  322. package/lib/features/label-edit/edit-label-tool.js +47 -0
  323. package/lib/features/label-edit/edit-label-tool.js.map +1 -0
  324. package/lib/features/label-edit/edit-label-validator.d.ts +17 -0
  325. package/lib/features/label-edit/edit-label-validator.d.ts.map +1 -0
  326. package/lib/features/label-edit/edit-label-validator.js +106 -0
  327. package/lib/features/label-edit/edit-label-validator.js.map +1 -0
  328. package/lib/features/label-edit/label-edit-module.d.ts +18 -0
  329. package/lib/features/label-edit/label-edit-module.d.ts.map +1 -0
  330. package/lib/features/label-edit/label-edit-module.js +28 -0
  331. package/lib/features/label-edit/label-edit-module.js.map +1 -0
  332. package/lib/features/layout/layout-elements-action.d.ts +6 -22
  333. package/lib/features/layout/layout-elements-action.d.ts.map +1 -1
  334. package/lib/features/layout/layout-elements-action.js +28 -35
  335. package/lib/features/layout/layout-elements-action.js.map +1 -1
  336. package/lib/features/layout/layout-elements-action.spec.d.ts.map +1 -1
  337. package/lib/features/layout/layout-elements-action.spec.js +13 -16
  338. package/lib/features/layout/layout-elements-action.spec.js.map +1 -1
  339. package/lib/features/layout/layout-module.d.ts +18 -0
  340. package/lib/features/layout/layout-module.d.ts.map +1 -0
  341. package/lib/features/layout/layout-module.js +26 -0
  342. package/lib/features/layout/layout-module.js.map +1 -0
  343. package/lib/features/navigation/navigation-action-handler.d.ts +2 -18
  344. package/lib/features/navigation/navigation-action-handler.d.ts.map +1 -1
  345. package/lib/features/navigation/navigation-action-handler.js +25 -27
  346. package/lib/features/navigation/navigation-action-handler.js.map +1 -1
  347. package/lib/features/navigation/navigation-module.d.ts +18 -0
  348. package/lib/features/navigation/navigation-module.d.ts.map +1 -0
  349. package/lib/features/navigation/navigation-module.js +30 -0
  350. package/lib/features/navigation/navigation-module.js.map +1 -0
  351. package/lib/features/navigation/navigation-target-resolver.d.ts +1 -17
  352. package/lib/features/navigation/navigation-target-resolver.d.ts.map +1 -1
  353. package/lib/features/navigation/navigation-target-resolver.js +11 -13
  354. package/lib/features/navigation/navigation-target-resolver.js.map +1 -1
  355. package/lib/features/navigation/navigation-target-resolver.spec.d.ts.map +1 -1
  356. package/lib/features/navigation/navigation-target-resolver.spec.js +16 -17
  357. package/lib/features/navigation/navigation-target-resolver.spec.js.map +1 -1
  358. package/lib/features/reconnect/model.d.ts +2 -2
  359. package/lib/features/reconnect/model.d.ts.map +1 -1
  360. package/lib/features/reconnect/model.js +7 -7
  361. package/lib/features/reconnect/model.js.map +1 -1
  362. package/lib/features/routing/glsp-manhattan-edge-router.d.ts +20 -0
  363. package/lib/features/routing/glsp-manhattan-edge-router.d.ts.map +1 -0
  364. package/lib/features/routing/glsp-manhattan-edge-router.js +68 -0
  365. package/lib/features/routing/glsp-manhattan-edge-router.js.map +1 -0
  366. package/lib/features/routing/routing-module.d.ts +18 -0
  367. package/lib/features/routing/routing-module.d.ts.map +1 -0
  368. package/lib/features/routing/routing-module.js +39 -0
  369. package/lib/features/routing/routing-module.js.map +1 -0
  370. package/lib/features/save/save-keylistener.d.ts +2 -3
  371. package/lib/features/save/save-keylistener.d.ts.map +1 -1
  372. package/lib/features/save/save-keylistener.js +5 -7
  373. package/lib/features/save/save-keylistener.js.map +1 -1
  374. package/lib/features/save/save-module.d.ts +23 -0
  375. package/lib/features/save/save-module.d.ts.map +1 -0
  376. package/lib/features/save/save-module.js +29 -0
  377. package/lib/features/save/save-module.js.map +1 -0
  378. package/lib/features/select/select-feedback-command.d.ts +12 -0
  379. package/lib/features/select/select-feedback-command.d.ts.map +1 -0
  380. package/lib/features/select/select-feedback-command.js +56 -0
  381. package/lib/features/select/select-feedback-command.js.map +1 -0
  382. package/lib/features/select/select-module.d.ts +24 -0
  383. package/lib/features/select/select-module.d.ts.map +1 -0
  384. package/lib/features/select/select-module.js +38 -0
  385. package/lib/features/select/select-module.js.map +1 -0
  386. package/lib/features/select/select-mouse-listener.d.ts +4 -5
  387. package/lib/features/select/select-mouse-listener.d.ts.map +1 -1
  388. package/lib/features/select/select-mouse-listener.js +25 -27
  389. package/lib/features/select/select-mouse-listener.js.map +1 -1
  390. package/lib/features/source-model-watcher/source-model-changed-action-handler.d.ts +1 -17
  391. package/lib/features/source-model-watcher/source-model-changed-action-handler.d.ts.map +1 -1
  392. package/lib/features/source-model-watcher/source-model-changed-action-handler.js +11 -14
  393. package/lib/features/source-model-watcher/source-model-changed-action-handler.js.map +1 -1
  394. package/lib/features/source-model-watcher/source-model-wacher-module.d.ts +18 -0
  395. package/lib/features/source-model-watcher/source-model-wacher-module.d.ts.map +1 -0
  396. package/lib/features/source-model-watcher/source-model-wacher-module.js +24 -0
  397. package/lib/features/source-model-watcher/source-model-wacher-module.js.map +1 -0
  398. package/lib/features/status/status-module.d.ts +19 -0
  399. package/lib/features/status/status-module.d.ts.map +1 -0
  400. package/lib/features/status/status-module.js +27 -0
  401. package/lib/features/status/status-module.js.map +1 -0
  402. package/lib/features/status/status-overlay.d.ts +19 -0
  403. package/lib/features/status/status-overlay.d.ts.map +1 -0
  404. package/lib/features/status/status-overlay.js +108 -0
  405. package/lib/features/status/status-overlay.js.map +1 -0
  406. package/lib/features/svg-metadata/metadata-placer.d.ts +23 -0
  407. package/lib/features/svg-metadata/metadata-placer.d.ts.map +1 -0
  408. package/lib/features/svg-metadata/metadata-placer.js +60 -0
  409. package/lib/features/svg-metadata/metadata-placer.js.map +1 -0
  410. package/lib/features/svg-metadata/svg-metadata-module.d.ts +18 -0
  411. package/lib/features/svg-metadata/svg-metadata-module.d.ts.map +1 -0
  412. package/lib/features/svg-metadata/svg-metadata-module.js +25 -0
  413. package/lib/features/svg-metadata/svg-metadata-module.js.map +1 -0
  414. package/lib/features/tool-palette/tool-palette-module.d.ts +19 -0
  415. package/lib/features/tool-palette/tool-palette-module.d.ts.map +1 -0
  416. package/lib/features/tool-palette/tool-palette-module.js +27 -0
  417. package/lib/features/tool-palette/tool-palette-module.js.map +1 -0
  418. package/lib/features/tool-palette/tool-palette.d.ts +7 -21
  419. package/lib/features/tool-palette/tool-palette.d.ts.map +1 -1
  420. package/lib/features/tool-palette/tool-palette.js +41 -37
  421. package/lib/features/tool-palette/tool-palette.js.map +1 -1
  422. package/lib/features/tools/base-glsp-creation-tool.d.ts +10 -0
  423. package/lib/features/tools/base-glsp-creation-tool.d.ts.map +1 -0
  424. package/lib/features/tools/base-glsp-creation-tool.js +45 -0
  425. package/lib/features/tools/base-glsp-creation-tool.js.map +1 -0
  426. package/lib/features/tools/base-glsp-tool.d.ts +26 -24
  427. package/lib/features/tools/base-glsp-tool.d.ts.map +1 -1
  428. package/lib/features/tools/base-glsp-tool.js +52 -15
  429. package/lib/features/tools/base-glsp-tool.js.map +1 -1
  430. package/lib/features/tools/change-bounds/change-boounds-tool-module.d.ts +18 -0
  431. package/lib/features/tools/change-bounds/change-boounds-tool-module.d.ts.map +1 -0
  432. package/lib/features/tools/change-bounds/change-boounds-tool-module.js +31 -0
  433. package/lib/features/tools/change-bounds/change-boounds-tool-module.js.map +1 -0
  434. package/lib/features/tools/change-bounds/change-bounds-tool-feedback.d.ts +63 -0
  435. package/lib/features/tools/change-bounds/change-bounds-tool-feedback.d.ts.map +1 -0
  436. package/lib/features/tools/change-bounds/change-bounds-tool-feedback.js +275 -0
  437. package/lib/features/tools/change-bounds/change-bounds-tool-feedback.js.map +1 -0
  438. package/lib/features/tools/change-bounds/change-bounds-tool.d.ts +69 -0
  439. package/lib/features/tools/change-bounds/change-bounds-tool.d.ts.map +1 -0
  440. package/lib/features/tools/change-bounds/change-bounds-tool.js +385 -0
  441. package/lib/features/tools/change-bounds/change-bounds-tool.js.map +1 -0
  442. package/lib/features/tools/change-bounds/view.d.ts +9 -0
  443. package/lib/features/tools/change-bounds/view.d.ts.map +1 -0
  444. package/lib/features/tools/change-bounds/view.js +66 -0
  445. package/lib/features/tools/change-bounds/view.js.map +1 -0
  446. package/lib/features/tools/deletion/delete-tool.d.ts +31 -0
  447. package/lib/features/tools/deletion/delete-tool.d.ts.map +1 -0
  448. package/lib/features/tools/deletion/delete-tool.js +113 -0
  449. package/lib/features/tools/deletion/delete-tool.js.map +1 -0
  450. package/lib/features/tools/deletion/deletion-tool-module.d.ts +18 -0
  451. package/lib/features/tools/deletion/deletion-tool-module.d.ts.map +1 -0
  452. package/lib/features/tools/deletion/deletion-tool-module.js +26 -0
  453. package/lib/features/tools/deletion/deletion-tool-module.js.map +1 -0
  454. package/lib/features/tools/edge-creation/dangling-edge-feedback.d.ts +50 -0
  455. package/lib/features/tools/edge-creation/dangling-edge-feedback.d.ts.map +1 -0
  456. package/lib/features/tools/edge-creation/dangling-edge-feedback.js +151 -0
  457. package/lib/features/tools/edge-creation/dangling-edge-feedback.js.map +1 -0
  458. package/lib/features/tools/edge-creation/edege-creation-module.d.ts +18 -0
  459. package/lib/features/tools/edge-creation/edege-creation-module.d.ts.map +1 -0
  460. package/lib/features/tools/edge-creation/edege-creation-module.js +28 -0
  461. package/lib/features/tools/edge-creation/edege-creation-module.js.map +1 -0
  462. package/lib/features/tools/edge-creation/edge-creation-tool-feedback.d.ts +26 -0
  463. package/lib/features/tools/edge-creation/edge-creation-tool-feedback.d.ts.map +1 -0
  464. package/lib/features/tools/edge-creation/edge-creation-tool-feedback.js +74 -0
  465. package/lib/features/tools/edge-creation/edge-creation-tool-feedback.js.map +1 -0
  466. package/lib/features/tools/edge-creation/edge-creation-tool.d.ts +31 -0
  467. package/lib/features/tools/edge-creation/edge-creation-tool.d.ts.map +1 -0
  468. package/lib/features/tools/edge-creation/edge-creation-tool.js +154 -0
  469. package/lib/features/tools/edge-creation/edge-creation-tool.js.map +1 -0
  470. package/lib/features/tools/edge-creation/view.d.ts +10 -0
  471. package/lib/features/tools/edge-creation/view.d.ts.map +1 -0
  472. package/lib/features/tools/edge-creation/view.js +43 -0
  473. package/lib/features/tools/edge-creation/view.js.map +1 -0
  474. package/lib/features/tools/edge-edit/edge-edit-module.d.ts +18 -0
  475. package/lib/features/tools/edge-edit/edge-edit-module.d.ts.map +1 -0
  476. package/lib/features/tools/edge-edit/edge-edit-module.js +34 -0
  477. package/lib/features/tools/edge-edit/edge-edit-module.js.map +1 -0
  478. package/lib/features/tools/edge-edit/edge-edit-tool-feedback.d.ts +110 -0
  479. package/lib/features/tools/edge-edit/edge-edit-tool-feedback.d.ts.map +1 -0
  480. package/lib/features/tools/edge-edit/edge-edit-tool-feedback.js +331 -0
  481. package/lib/features/tools/edge-edit/edge-edit-tool-feedback.js.map +1 -0
  482. package/lib/features/tools/edge-edit/edge-edit-tool.d.ts +49 -0
  483. package/lib/features/tools/edge-edit/edge-edit-tool.d.ts.map +1 -0
  484. package/lib/features/tools/edge-edit/edge-edit-tool.js +277 -0
  485. package/lib/features/tools/edge-edit/edge-edit-tool.js.map +1 -0
  486. package/lib/features/tools/marquee-selection/marquee-behavior.d.ts +42 -0
  487. package/lib/features/tools/marquee-selection/marquee-behavior.d.ts.map +1 -0
  488. package/lib/features/tools/marquee-selection/marquee-behavior.js +128 -0
  489. package/lib/features/tools/marquee-selection/marquee-behavior.js.map +1 -0
  490. package/lib/features/tools/marquee-selection/marquee-behavior.spec.d.ts.map +1 -0
  491. package/lib/features/tools/marquee-selection/marquee-behavior.spec.js.map +1 -0
  492. package/lib/features/tools/marquee-selection/marquee-mouse-tool.d.ts +29 -0
  493. package/lib/features/tools/marquee-selection/marquee-mouse-tool.d.ts.map +1 -0
  494. package/lib/features/tools/marquee-selection/marquee-mouse-tool.js +131 -0
  495. package/lib/features/tools/marquee-selection/marquee-mouse-tool.js.map +1 -0
  496. package/lib/features/tools/marquee-selection/marquee-selection-module.d.ts +18 -0
  497. package/lib/features/tools/marquee-selection/marquee-selection-module.d.ts.map +1 -0
  498. package/lib/features/tools/marquee-selection/marquee-selection-module.js +33 -0
  499. package/lib/features/tools/marquee-selection/marquee-selection-module.js.map +1 -0
  500. package/lib/features/tools/marquee-selection/marquee-tool-feedback.d.ts +43 -0
  501. package/lib/features/tools/marquee-selection/marquee-tool-feedback.d.ts.map +1 -0
  502. package/lib/features/tools/marquee-selection/marquee-tool-feedback.js +119 -0
  503. package/lib/features/tools/marquee-selection/marquee-tool-feedback.js.map +1 -0
  504. package/lib/features/tools/marquee-selection/marquee-tool.d.ts +12 -0
  505. package/lib/features/tools/marquee-selection/marquee-tool.d.ts.map +1 -0
  506. package/lib/features/tools/marquee-selection/marquee-tool.js +57 -0
  507. package/lib/features/tools/marquee-selection/marquee-tool.js.map +1 -0
  508. package/lib/features/tools/marquee-selection/model.d.ts +22 -0
  509. package/lib/features/tools/marquee-selection/model.d.ts.map +1 -0
  510. package/lib/features/tools/marquee-selection/model.js +24 -0
  511. package/lib/features/tools/marquee-selection/model.js.map +1 -0
  512. package/lib/features/tools/marquee-selection/view.d.ts +7 -0
  513. package/lib/features/tools/marquee-selection/view.d.ts.map +1 -0
  514. package/lib/features/tools/marquee-selection/view.js +39 -0
  515. package/lib/features/tools/marquee-selection/view.js.map +1 -0
  516. package/lib/features/tools/node-creation/node-creation-module.d.ts +18 -0
  517. package/lib/features/tools/node-creation/node-creation-module.d.ts.map +1 -0
  518. package/lib/features/tools/node-creation/node-creation-module.js +26 -0
  519. package/lib/features/tools/node-creation/node-creation-module.js.map +1 -0
  520. package/lib/features/tools/node-creation/node-creation-tool.d.ts +22 -0
  521. package/lib/features/tools/node-creation/node-creation-tool.d.ts.map +1 -0
  522. package/lib/features/tools/node-creation/node-creation-tool.js +103 -0
  523. package/lib/features/tools/node-creation/node-creation-tool.js.map +1 -0
  524. package/lib/features/tools/tool-focus-loss-module.d.ts +13 -0
  525. package/lib/features/tools/tool-focus-loss-module.d.ts.map +1 -0
  526. package/lib/features/tools/tool-focus-loss-module.js +48 -0
  527. package/lib/features/tools/tool-focus-loss-module.js.map +1 -0
  528. package/lib/features/undo-redo/undo-redo-key-listener.d.ts +23 -0
  529. package/lib/features/undo-redo/undo-redo-key-listener.d.ts.map +1 -0
  530. package/lib/features/undo-redo/undo-redo-key-listener.js +35 -0
  531. package/lib/features/undo-redo/undo-redo-key-listener.js.map +1 -0
  532. package/lib/features/undo-redo/undo-redo-module.d.ts +23 -0
  533. package/lib/features/undo-redo/undo-redo-module.d.ts.map +1 -0
  534. package/lib/features/undo-redo/undo-redo-module.js +30 -0
  535. package/lib/features/undo-redo/undo-redo-module.js.map +1 -0
  536. package/lib/features/validation/issue-marker.d.ts +2 -3
  537. package/lib/features/validation/issue-marker.d.ts.map +1 -1
  538. package/lib/features/validation/issue-marker.js +9 -10
  539. package/lib/features/validation/issue-marker.js.map +1 -1
  540. package/lib/features/validation/marker-navigator.d.ts +5 -20
  541. package/lib/features/validation/marker-navigator.d.ts.map +1 -1
  542. package/lib/features/validation/marker-navigator.js +29 -36
  543. package/lib/features/validation/marker-navigator.js.map +1 -1
  544. package/lib/features/validation/marker-navigator.spec.d.ts.map +1 -1
  545. package/lib/features/validation/marker-navigator.spec.js +25 -10
  546. package/lib/features/validation/marker-navigator.spec.js.map +1 -1
  547. package/lib/features/validation/validate.d.ts +8 -24
  548. package/lib/features/validation/validate.d.ts.map +1 -1
  549. package/lib/features/validation/validate.js +40 -46
  550. package/lib/features/validation/validate.js.map +1 -1
  551. package/lib/features/validation/validation-modules.d.ts +25 -0
  552. package/lib/features/validation/validation-modules.d.ts.map +1 -0
  553. package/lib/features/validation/validation-modules.js +43 -0
  554. package/lib/features/validation/validation-modules.js.map +1 -0
  555. package/lib/features/viewport/glsp-scroll-mouse-listener.d.ts +1 -17
  556. package/lib/features/viewport/glsp-scroll-mouse-listener.d.ts.map +1 -1
  557. package/lib/features/viewport/glsp-scroll-mouse-listener.js +21 -7
  558. package/lib/features/viewport/glsp-scroll-mouse-listener.js.map +1 -1
  559. package/lib/features/viewport/viewport-modules.d.ts +24 -0
  560. package/lib/features/viewport/viewport-modules.d.ts.map +1 -0
  561. package/lib/features/viewport/viewport-modules.js +41 -0
  562. package/lib/features/viewport/viewport-modules.js.map +1 -0
  563. package/lib/glsp-sprotty/augmented-actions.d.ts +19 -0
  564. package/lib/glsp-sprotty/augmented-actions.d.ts.map +1 -0
  565. package/lib/glsp-sprotty/augmented-actions.js +29 -0
  566. package/lib/glsp-sprotty/augmented-actions.js.map +1 -0
  567. package/lib/glsp-sprotty/index.d.ts +189 -0
  568. package/lib/glsp-sprotty/index.d.ts.map +1 -0
  569. package/lib/glsp-sprotty/index.js +349 -0
  570. package/lib/glsp-sprotty/index.js.map +1 -0
  571. package/lib/glsp-sprotty/types.d.ts +162 -0
  572. package/lib/glsp-sprotty/types.d.ts.map +1 -0
  573. package/lib/glsp-sprotty/types.js +32 -0
  574. package/lib/glsp-sprotty/types.js.map +1 -0
  575. package/lib/index.d.ts +91 -48
  576. package/lib/index.d.ts.map +1 -1
  577. package/lib/index.js +111 -85
  578. package/lib/index.js.map +1 -1
  579. package/lib/lib/model.d.ts +7 -5
  580. package/lib/lib/model.d.ts.map +1 -1
  581. package/lib/lib/model.js +50 -5
  582. package/lib/lib/model.js.map +1 -1
  583. package/lib/standalone-modules.d.ts +38 -0
  584. package/lib/standalone-modules.d.ts.map +1 -0
  585. package/lib/standalone-modules.js +84 -0
  586. package/lib/standalone-modules.js.map +1 -0
  587. package/lib/utils/argument-utils.d.ts +2 -2
  588. package/lib/utils/argument-utils.d.ts.map +1 -1
  589. package/lib/utils/argument-utils.js +2 -2
  590. package/lib/utils/argument-utils.js.map +1 -1
  591. package/lib/utils/html-utils.d.ts +1 -1
  592. package/lib/utils/html-utils.js +1 -1
  593. package/lib/utils/layout-utils.d.ts +2 -3
  594. package/lib/utils/layout-utils.d.ts.map +1 -1
  595. package/lib/utils/layout-utils.js.map +1 -1
  596. package/lib/utils/marker.d.ts +16 -1
  597. package/lib/utils/marker.d.ts.map +1 -1
  598. package/lib/utils/marker.js +7 -8
  599. package/lib/utils/marker.js.map +1 -1
  600. package/lib/utils/smodel-util.d.ts +10 -9
  601. package/lib/utils/smodel-util.d.ts.map +1 -1
  602. package/lib/utils/smodel-util.js +33 -17
  603. package/lib/utils/smodel-util.js.map +1 -1
  604. package/lib/utils/smodel-util.spec.d.ts +2 -0
  605. package/lib/utils/smodel-util.spec.d.ts.map +1 -0
  606. package/lib/utils/smodel-util.spec.js +185 -0
  607. package/lib/utils/smodel-util.spec.js.map +1 -0
  608. package/lib/utils/viewpoint-util.d.ts +21 -3
  609. package/lib/utils/viewpoint-util.d.ts.map +1 -1
  610. package/lib/utils/viewpoint-util.js +35 -7
  611. package/lib/utils/viewpoint-util.js.map +1 -1
  612. package/lib/views/base-view-module.d.ts +18 -8
  613. package/lib/views/base-view-module.d.ts.map +1 -1
  614. package/lib/views/base-view-module.js +24 -27
  615. package/lib/views/base-view-module.js.map +1 -1
  616. package/lib/views/compartments.d.ts +1 -1
  617. package/lib/views/compartments.d.ts.map +1 -1
  618. package/lib/views/compartments.js +5 -6
  619. package/lib/views/compartments.js.map +1 -1
  620. package/lib/views/glsp-edge-view.d.ts +2 -18
  621. package/lib/views/glsp-edge-view.d.ts.map +1 -1
  622. package/lib/views/glsp-edge-view.js +21 -7
  623. package/lib/views/glsp-edge-view.js.map +1 -1
  624. package/lib/views/glsp-projection-view.d.ts +2 -4
  625. package/lib/views/glsp-projection-view.d.ts.map +1 -1
  626. package/lib/views/glsp-projection-view.js +12 -11
  627. package/lib/views/glsp-projection-view.js.map +1 -1
  628. package/lib/views/index.d.ts +1 -1
  629. package/lib/views/index.js +1 -1
  630. package/lib/views/issue-marker-view.d.ts +1 -1
  631. package/lib/views/issue-marker-view.d.ts.map +1 -1
  632. package/lib/views/issue-marker-view.js +6 -7
  633. package/lib/views/issue-marker-view.js.map +1 -1
  634. package/lib/views/rounded-corner-view.d.ts +1 -1
  635. package/lib/views/rounded-corner-view.d.ts.map +1 -1
  636. package/lib/views/rounded-corner-view.js +7 -8
  637. package/lib/views/rounded-corner-view.js.map +1 -1
  638. package/lib/views/rounded-corner.d.ts +2 -3
  639. package/lib/views/rounded-corner.d.ts.map +1 -1
  640. package/lib/views/rounded-corner.js +1 -1
  641. package/lib/views/rounded-corner.js.map +1 -1
  642. package/package.json +26 -23
  643. package/src/base/action-dispatcher.ts +9 -4
  644. package/src/base/argumentable.ts +2 -3
  645. package/src/base/auto-complete/auto-complete-actions.ts +2 -2
  646. package/src/base/auto-complete/auto-complete-widget.ts +35 -14
  647. package/src/base/auto-complete/validation-decorator.ts +2 -3
  648. package/src/base/command-stack.ts +65 -11
  649. package/src/base/default.module.ts +134 -0
  650. package/src/base/drag-aware-mouse-listener.ts +4 -5
  651. package/src/base/editor-context-service.ts +71 -24
  652. package/src/base/feedback/css-feedback.ts +101 -0
  653. package/src/base/feedback/feedback-action-dispatcher.ts +107 -0
  654. package/src/base/feedback/feedback-command.ts +29 -0
  655. package/src/base/feedback/update-model-command.ts +100 -0
  656. package/src/base/focus/focus-state-change-action.ts +43 -0
  657. package/src/base/focus/focus-tracker.ts +47 -0
  658. package/src/base/model/glsp-model-source.ts +149 -0
  659. package/src/base/model/model-registry.ts +2 -2
  660. package/src/base/model-initialization-constraint.ts +2 -3
  661. package/src/base/ranked.ts +42 -0
  662. package/src/base/selection-clearing-mouse-listener.ts +2 -2
  663. package/src/base/selection-service.spec.ts +297 -0
  664. package/src/base/selection-service.ts +293 -0
  665. package/src/base/tool-manager/glsp-tool-manager.ts +18 -17
  666. package/src/base/view/key-tool.ts +25 -0
  667. package/src/base/view/mouse-tool.ts +105 -0
  668. package/src/base/view/view-registry.ts +2 -2
  669. package/src/default-modules.ts +164 -0
  670. package/src/features/accessibility/README.md +65 -0
  671. package/src/features/accessibility/accessibility-module.ts +34 -0
  672. package/src/features/accessibility/key-shortcut/accessible-key-shortcut-tool.ts +55 -0
  673. package/src/features/accessibility/key-shortcut/accessible-key-shortcut.ts +182 -0
  674. package/src/features/accessibility/key-shortcut/di.config.ts +35 -0
  675. package/src/features/accessibility/move-zoom/move-handler.ts +209 -0
  676. package/src/features/accessibility/move-zoom/move-zoom-module.ts +41 -0
  677. package/src/features/accessibility/move-zoom/zoom-handler.ts +182 -0
  678. package/src/features/accessibility/resize-key-tool/resize-key-handler.ts +129 -0
  679. package/src/features/accessibility/resize-key-tool/resize-key-module.ts +34 -0
  680. package/src/features/accessibility/resize-key-tool/resize-key-tool.ts +127 -0
  681. package/src/features/accessibility/search/search-palette-module.ts +29 -0
  682. package/src/features/accessibility/search/search-palette.ts +193 -0
  683. package/src/features/accessibility/search/search-tool.ts +78 -0
  684. package/src/features/accessibility/view-key-tools/deselect-key-tool.ts +88 -0
  685. package/src/features/accessibility/view-key-tools/movement-key-tool.ts +129 -0
  686. package/src/features/accessibility/view-key-tools/view-key-tools-module.ts +31 -0
  687. package/src/features/accessibility/view-key-tools/zoom-key-tool.ts +113 -0
  688. package/src/features/autocomplete-palette/autocomplete-suggestion-providers.ts +37 -0
  689. package/src/features/autocomplete-palette/base-autocomplete-palette.ts +87 -0
  690. package/src/features/bounds/bounds-module.ts +47 -0
  691. package/src/features/bounds/freeform-layout.spec.ts +216 -0
  692. package/src/features/bounds/freeform-layout.ts +132 -0
  693. package/src/features/bounds/glsp-hidden-bounds-updater.ts +16 -8
  694. package/src/features/bounds/hbox-layout.spec.ts +170 -0
  695. package/src/features/bounds/hbox-layout.ts +275 -0
  696. package/src/features/bounds/layouter-test-util.spec.ts +123 -0
  697. package/src/features/bounds/layouter.ts +137 -0
  698. package/src/features/bounds/vbox-layout.spec.ts +170 -0
  699. package/src/features/bounds/vbox-layout.ts +275 -0
  700. package/src/features/change-bounds/model.ts +2 -2
  701. package/src/features/change-bounds/movement-restrictor.ts +4 -5
  702. package/src/features/change-bounds/snap.spec.ts +2 -2
  703. package/src/features/change-bounds/snap.ts +2 -3
  704. package/src/features/command-palette/command-palette-module.ts +26 -0
  705. package/src/features/command-palette/command-palette-tool.ts +4 -4
  706. package/src/features/command-palette/server-command-palette-provider.ts +11 -4
  707. package/src/features/context-menu/context-menu-module.ts +34 -0
  708. package/src/features/context-menu/delete-element-context-menu.ts +2 -4
  709. package/src/features/context-menu/selection-service-aware-context-menu-mouse-listener.ts +4 -10
  710. package/src/features/context-menu/server-context-menu-provider.ts +12 -4
  711. package/src/features/copy-paste/copy-paste-context-menu.ts +16 -5
  712. package/src/features/copy-paste/copy-paste-handler.ts +18 -16
  713. package/src/features/copy-paste/copy-paste-modules.ts +37 -0
  714. package/src/features/decoration/decoration-module.ts +22 -0
  715. package/src/features/decoration/decoration-placer.ts +2 -3
  716. package/src/features/export/export-modules.ts +50 -0
  717. package/src/features/export/export-svg-action-handler.ts +32 -0
  718. package/src/features/export/glsp-svg-exporter.ts +9 -9
  719. package/src/features/hints/model.ts +2 -3
  720. package/src/features/hints/type-hints-module.ts +24 -0
  721. package/src/features/hints/type-hints.ts +15 -11
  722. package/src/features/hover/hover-module.ts +65 -0
  723. package/src/features/hover/hover.ts +17 -10
  724. package/src/features/label-edit/edit-label-tool.ts +42 -0
  725. package/src/features/label-edit/edit-label-validator.ts +102 -0
  726. package/src/features/label-edit/label-edit-module.ts +25 -0
  727. package/src/features/layout/layout-elements-action.spec.ts +14 -18
  728. package/src/features/layout/layout-elements-action.ts +15 -12
  729. package/src/features/layout/layout-module.ts +28 -0
  730. package/src/features/navigation/navigation-action-handler.ts +14 -10
  731. package/src/features/navigation/navigation-module.ts +27 -0
  732. package/src/features/navigation/navigation-target-resolver.spec.ts +2 -3
  733. package/src/features/navigation/navigation-target-resolver.ts +10 -4
  734. package/src/features/reconnect/model.ts +2 -2
  735. package/src/features/routing/glsp-manhattan-edge-router.ts +59 -0
  736. package/src/features/routing/routing-module.ts +59 -0
  737. package/src/features/save/save-keylistener.ts +2 -4
  738. package/src/features/save/save-module.ts +26 -0
  739. package/src/features/select/select-feedback-command.ts +41 -0
  740. package/src/features/select/select-module.ts +39 -0
  741. package/src/features/select/select-mouse-listener.ts +13 -12
  742. package/src/features/source-model-watcher/source-model-changed-action-handler.ts +12 -5
  743. package/src/features/source-model-watcher/source-model-wacher-module.ts +21 -0
  744. package/src/features/status/status-module.ts +25 -0
  745. package/src/features/status/status-overlay.ts +108 -0
  746. package/src/features/svg-metadata/metadata-placer.ts +49 -0
  747. package/src/features/svg-metadata/svg-metadata-module.ts +23 -0
  748. package/src/features/tool-palette/tool-palette-module.ts +24 -0
  749. package/src/features/tool-palette/tool-palette.ts +32 -22
  750. package/src/features/tools/base-glsp-creation-tool.ts +40 -0
  751. package/src/features/tools/base-glsp-tool.ts +33 -13
  752. package/src/features/tools/change-bounds/change-boounds-tool-module.ts +28 -0
  753. package/src/features/tools/change-bounds/change-bounds-tool-feedback.ts +313 -0
  754. package/src/features/tools/change-bounds/change-bounds-tool.ts +475 -0
  755. package/src/features/tools/change-bounds/view.tsx +64 -0
  756. package/src/features/tools/deletion/delete-tool.ts +114 -0
  757. package/src/features/tools/deletion/deletion-tool-module.ts +23 -0
  758. package/src/features/tools/edge-creation/dangling-edge-feedback.ts +185 -0
  759. package/src/features/tools/edge-creation/edege-creation-module.ts +25 -0
  760. package/src/features/tools/edge-creation/edge-creation-tool-feedback.ts +89 -0
  761. package/src/features/tools/edge-creation/edge-creation-tool.ts +160 -0
  762. package/src/features/tools/edge-creation/view.tsx +33 -0
  763. package/src/features/tools/edge-edit/edge-edit-module.ts +38 -0
  764. package/src/features/tools/edge-edit/edge-edit-tool-feedback.ts +387 -0
  765. package/src/features/tools/edge-edit/edge-edit-tool.ts +322 -0
  766. package/src/features/tools/marquee-selection/marquee-behavior.ts +157 -0
  767. package/src/features/tools/marquee-selection/marquee-mouse-tool.ts +143 -0
  768. package/src/features/tools/marquee-selection/marquee-selection-module.ts +32 -0
  769. package/src/features/tools/marquee-selection/marquee-tool-feedback.ts +130 -0
  770. package/src/features/tools/marquee-selection/marquee-tool.ts +44 -0
  771. package/src/features/tools/marquee-selection/model.ts +22 -0
  772. package/src/features/tools/marquee-selection/view.tsx +43 -0
  773. package/src/features/tools/node-creation/node-creation-module.ts +23 -0
  774. package/src/features/tools/node-creation/node-creation-tool.ts +101 -0
  775. package/src/features/tools/tool-focus-loss-module.ts +38 -0
  776. package/src/features/undo-redo/undo-redo-key-listener.ts +32 -0
  777. package/src/features/undo-redo/undo-redo-module.ts +28 -0
  778. package/src/features/validation/issue-marker.ts +13 -3
  779. package/src/features/validation/marker-navigator.spec.ts +7 -8
  780. package/src/features/validation/marker-navigator.ts +21 -16
  781. package/src/features/validation/validate.ts +34 -25
  782. package/src/features/validation/validation-modules.ts +53 -0
  783. package/src/features/viewport/glsp-scroll-mouse-listener.ts +11 -4
  784. package/src/features/viewport/viewport-modules.ts +58 -0
  785. package/src/glsp-sprotty/augmented-actions.ts +48 -0
  786. package/src/glsp-sprotty/index.ts +347 -0
  787. package/src/glsp-sprotty/types.ts +45 -0
  788. package/src/index.ts +98 -71
  789. package/src/lib/model.ts +47 -6
  790. package/src/standalone-modules.ts +87 -0
  791. package/src/utils/argument-utils.ts +2 -2
  792. package/src/utils/html-utils.ts +1 -1
  793. package/src/utils/layout-utils.ts +2 -3
  794. package/src/utils/marker.ts +2 -3
  795. package/src/utils/smodel-util.spec.ts +222 -0
  796. package/src/utils/smodel-util.ts +40 -15
  797. package/src/utils/viewpoint-util.ts +45 -3
  798. package/src/views/base-view-module.ts +12 -18
  799. package/src/views/compartments.tsx +2 -2
  800. package/src/views/glsp-edge-view.tsx +4 -5
  801. package/src/views/glsp-projection-view.tsx +6 -5
  802. package/src/views/index.ts +1 -2
  803. package/src/views/issue-marker-view.tsx +2 -2
  804. package/src/views/rounded-corner-view.tsx +3 -3
  805. package/src/views/rounded-corner.ts +3 -4
  806. package/lib/base/actions/focus-change-action.d.ts +0 -33
  807. package/lib/base/actions/focus-change-action.d.ts.map +0 -1
  808. package/lib/base/actions/focus-change-action.js +0 -35
  809. package/lib/base/actions/focus-change-action.js.map +0 -1
  810. package/lib/base/actions/sprotty-actions.d.ts +0 -7
  811. package/lib/base/actions/sprotty-actions.d.ts.map +0 -1
  812. package/lib/base/actions/sprotty-actions.js +0 -21
  813. package/lib/base/actions/sprotty-actions.js.map +0 -1
  814. package/lib/base/container-modules.d.ts +0 -40
  815. package/lib/base/container-modules.d.ts.map +0 -1
  816. package/lib/base/container-modules.js +0 -102
  817. package/lib/base/container-modules.js.map +0 -1
  818. package/lib/base/di.config.d.ts +0 -30
  819. package/lib/base/di.config.d.ts.map +0 -1
  820. package/lib/base/di.config.js +0 -82
  821. package/lib/base/di.config.js.map +0 -1
  822. package/lib/base/focus-tracker.d.ts +0 -25
  823. package/lib/base/focus-tracker.d.ts.map +0 -1
  824. package/lib/base/focus-tracker.js +0 -50
  825. package/lib/base/focus-tracker.js.map +0 -1
  826. package/lib/base/model/update-model-command.d.ts +0 -47
  827. package/lib/base/model/update-model-command.d.ts.map +0 -1
  828. package/lib/base/model/update-model-command.js +0 -117
  829. package/lib/base/model/update-model-command.js.map +0 -1
  830. package/lib/base/source-uri-aware.d.ts +0 -5
  831. package/lib/base/source-uri-aware.d.ts.map +0 -1
  832. package/lib/base/source-uri-aware.js +0 -24
  833. package/lib/base/source-uri-aware.js.map +0 -1
  834. package/lib/base/tool-manager/tool-actions.d.ts +0 -14
  835. package/lib/base/tool-manager/tool-actions.d.ts.map +0 -1
  836. package/lib/base/tool-manager/tool-actions.js +0 -25
  837. package/lib/base/tool-manager/tool-actions.js.map +0 -1
  838. package/lib/base/types.d.ts +0 -166
  839. package/lib/base/types.d.ts.map +0 -1
  840. package/lib/base/types.js +0 -31
  841. package/lib/base/types.js.map +0 -1
  842. package/lib/features/bounds/di.config.d.ts +0 -20
  843. package/lib/features/bounds/di.config.d.ts.map +0 -1
  844. package/lib/features/bounds/di.config.js +0 -36
  845. package/lib/features/bounds/di.config.js.map +0 -1
  846. package/lib/features/command-palette/di.config.d.ts +0 -20
  847. package/lib/features/command-palette/di.config.d.ts.map +0 -1
  848. package/lib/features/command-palette/di.config.js +0 -33
  849. package/lib/features/command-palette/di.config.js.map +0 -1
  850. package/lib/features/context-menu/di.config.d.ts +0 -19
  851. package/lib/features/context-menu/di.config.d.ts.map +0 -1
  852. package/lib/features/context-menu/di.config.js +0 -37
  853. package/lib/features/context-menu/di.config.js.map +0 -1
  854. package/lib/features/copy-paste/di.config.d.ts +0 -24
  855. package/lib/features/copy-paste/di.config.d.ts.map +0 -1
  856. package/lib/features/copy-paste/di.config.js +0 -38
  857. package/lib/features/copy-paste/di.config.js.map +0 -1
  858. package/lib/features/decoration/di.config.d.ts +0 -20
  859. package/lib/features/decoration/di.config.d.ts.map +0 -1
  860. package/lib/features/decoration/di.config.js +0 -27
  861. package/lib/features/decoration/di.config.js.map +0 -1
  862. package/lib/features/edit-label/di.config.d.ts +0 -19
  863. package/lib/features/edit-label/di.config.d.ts.map +0 -1
  864. package/lib/features/edit-label/di.config.js +0 -30
  865. package/lib/features/edit-label/di.config.js.map +0 -1
  866. package/lib/features/edit-label/edit-label-tool.d.ts +0 -13
  867. package/lib/features/edit-label/edit-label-tool.d.ts.map +0 -1
  868. package/lib/features/edit-label/edit-label-tool.js +0 -55
  869. package/lib/features/edit-label/edit-label-tool.js.map +0 -1
  870. package/lib/features/edit-label/edit-label-validator.d.ts +0 -33
  871. package/lib/features/edit-label/edit-label-validator.d.ts.map +0 -1
  872. package/lib/features/edit-label/edit-label-validator.js +0 -109
  873. package/lib/features/edit-label/edit-label-validator.js.map +0 -1
  874. package/lib/features/hints/di.config.d.ts +0 -4
  875. package/lib/features/hints/di.config.d.ts.map +0 -1
  876. package/lib/features/hints/di.config.js +0 -30
  877. package/lib/features/hints/di.config.js.map +0 -1
  878. package/lib/features/hover/di.config.d.ts +0 -19
  879. package/lib/features/hover/di.config.d.ts.map +0 -1
  880. package/lib/features/hover/di.config.js +0 -50
  881. package/lib/features/hover/di.config.js.map +0 -1
  882. package/lib/features/layout/di.config.d.ts +0 -19
  883. package/lib/features/layout/di.config.d.ts.map +0 -1
  884. package/lib/features/layout/di.config.js +0 -35
  885. package/lib/features/layout/di.config.js.map +0 -1
  886. package/lib/features/layout/freeform-layout.d.ts +0 -32
  887. package/lib/features/layout/freeform-layout.d.ts.map +0 -1
  888. package/lib/features/layout/freeform-layout.js +0 -107
  889. package/lib/features/layout/freeform-layout.js.map +0 -1
  890. package/lib/features/layout/hbox-layout.d.ts +0 -41
  891. package/lib/features/layout/hbox-layout.d.ts.map +0 -1
  892. package/lib/features/layout/hbox-layout.js +0 -201
  893. package/lib/features/layout/hbox-layout.js.map +0 -1
  894. package/lib/features/layout/layouter.d.ts +0 -37
  895. package/lib/features/layout/layouter.d.ts.map +0 -1
  896. package/lib/features/layout/layouter.js +0 -131
  897. package/lib/features/layout/layouter.js.map +0 -1
  898. package/lib/features/layout/tests/freeform-layout.spec.d.ts.map +0 -1
  899. package/lib/features/layout/tests/freeform-layout.spec.js +0 -201
  900. package/lib/features/layout/tests/freeform-layout.spec.js.map +0 -1
  901. package/lib/features/layout/tests/hbox-layout.spec.d.ts.map +0 -1
  902. package/lib/features/layout/tests/hbox-layout.spec.js +0 -161
  903. package/lib/features/layout/tests/hbox-layout.spec.js.map +0 -1
  904. package/lib/features/layout/tests/layouter-test-util.d.ts +0 -34
  905. package/lib/features/layout/tests/layouter-test-util.d.ts.map +0 -1
  906. package/lib/features/layout/tests/layouter-test-util.js +0 -96
  907. package/lib/features/layout/tests/layouter-test-util.js.map +0 -1
  908. package/lib/features/layout/tests/vbox-layout.spec.d.ts.map +0 -1
  909. package/lib/features/layout/tests/vbox-layout.spec.js +0 -161
  910. package/lib/features/layout/tests/vbox-layout.spec.js.map +0 -1
  911. package/lib/features/layout/vbox-layout.d.ts +0 -41
  912. package/lib/features/layout/vbox-layout.d.ts.map +0 -1
  913. package/lib/features/layout/vbox-layout.js +0 -201
  914. package/lib/features/layout/vbox-layout.js.map +0 -1
  915. package/lib/features/mouse-tool/di.config.d.ts +0 -19
  916. package/lib/features/mouse-tool/di.config.d.ts.map +0 -1
  917. package/lib/features/mouse-tool/di.config.js +0 -28
  918. package/lib/features/mouse-tool/di.config.js.map +0 -1
  919. package/lib/features/mouse-tool/mouse-tool.d.ts +0 -22
  920. package/lib/features/mouse-tool/mouse-tool.d.ts.map +0 -1
  921. package/lib/features/mouse-tool/mouse-tool.js +0 -103
  922. package/lib/features/mouse-tool/mouse-tool.js.map +0 -1
  923. package/lib/features/navigation/di.config.d.ts +0 -3
  924. package/lib/features/navigation/di.config.d.ts.map +0 -1
  925. package/lib/features/navigation/di.config.js +0 -32
  926. package/lib/features/navigation/di.config.js.map +0 -1
  927. package/lib/features/rank/model.d.ts +0 -22
  928. package/lib/features/rank/model.d.ts.map +0 -1
  929. package/lib/features/rank/model.js +0 -28
  930. package/lib/features/rank/model.js.map +0 -1
  931. package/lib/features/save/di.config.d.ts +0 -23
  932. package/lib/features/save/di.config.d.ts.map +0 -1
  933. package/lib/features/save/di.config.js +0 -29
  934. package/lib/features/save/di.config.js.map +0 -1
  935. package/lib/features/save/model.d.ts +0 -22
  936. package/lib/features/save/model.d.ts.map +0 -1
  937. package/lib/features/save/model.js +0 -9
  938. package/lib/features/save/model.js.map +0 -1
  939. package/lib/features/select/di.config.d.ts +0 -19
  940. package/lib/features/select/di.config.d.ts.map +0 -1
  941. package/lib/features/select/di.config.js +0 -34
  942. package/lib/features/select/di.config.js.map +0 -1
  943. package/lib/features/select/select-feedback-action.d.ts +0 -38
  944. package/lib/features/select/select-feedback-action.d.ts.map +0 -1
  945. package/lib/features/select/select-feedback-action.js +0 -70
  946. package/lib/features/select/select-feedback-action.js.map +0 -1
  947. package/lib/features/select/selection-service.d.ts +0 -77
  948. package/lib/features/select/selection-service.d.ts.map +0 -1
  949. package/lib/features/select/selection-service.js +0 -222
  950. package/lib/features/select/selection-service.js.map +0 -1
  951. package/lib/features/select/selection-service.spec.d.ts.map +0 -1
  952. package/lib/features/select/selection-service.spec.js +0 -347
  953. package/lib/features/select/selection-service.spec.js.map +0 -1
  954. package/lib/features/source-model-watcher/di.config.d.ts +0 -4
  955. package/lib/features/source-model-watcher/di.config.d.ts.map +0 -1
  956. package/lib/features/source-model-watcher/di.config.js +0 -26
  957. package/lib/features/source-model-watcher/di.config.js.map +0 -1
  958. package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts +0 -72
  959. package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts.map +0 -1
  960. package/lib/features/tool-feedback/change-bounds-tool-feedback.js +0 -258
  961. package/lib/features/tool-feedback/change-bounds-tool-feedback.js.map +0 -1
  962. package/lib/features/tool-feedback/creation-tool-feedback.d.ts +0 -71
  963. package/lib/features/tool-feedback/creation-tool-feedback.d.ts.map +0 -1
  964. package/lib/features/tool-feedback/creation-tool-feedback.js +0 -218
  965. package/lib/features/tool-feedback/creation-tool-feedback.js.map +0 -1
  966. package/lib/features/tool-feedback/css-feedback.d.ts +0 -57
  967. package/lib/features/tool-feedback/css-feedback.d.ts.map +0 -1
  968. package/lib/features/tool-feedback/css-feedback.js +0 -118
  969. package/lib/features/tool-feedback/css-feedback.js.map +0 -1
  970. package/lib/features/tool-feedback/di.config.d.ts +0 -19
  971. package/lib/features/tool-feedback/di.config.d.ts.map +0 -1
  972. package/lib/features/tool-feedback/di.config.js +0 -53
  973. package/lib/features/tool-feedback/di.config.js.map +0 -1
  974. package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts +0 -121
  975. package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts.map +0 -1
  976. package/lib/features/tool-feedback/edge-edit-tool-feedback.js +0 -333
  977. package/lib/features/tool-feedback/edge-edit-tool-feedback.js.map +0 -1
  978. package/lib/features/tool-feedback/feedback-action-dispatcher.d.ts +0 -66
  979. package/lib/features/tool-feedback/feedback-action-dispatcher.d.ts.map +0 -1
  980. package/lib/features/tool-feedback/feedback-action-dispatcher.js +0 -60
  981. package/lib/features/tool-feedback/feedback-action-dispatcher.js.map +0 -1
  982. package/lib/features/tool-feedback/marquee-tool-feedback.d.ts +0 -59
  983. package/lib/features/tool-feedback/marquee-tool-feedback.d.ts.map +0 -1
  984. package/lib/features/tool-feedback/marquee-tool-feedback.js +0 -122
  985. package/lib/features/tool-feedback/marquee-tool-feedback.js.map +0 -1
  986. package/lib/features/tool-feedback/model.d.ts +0 -22
  987. package/lib/features/tool-feedback/model.d.ts.map +0 -1
  988. package/lib/features/tool-feedback/model.js +0 -34
  989. package/lib/features/tool-feedback/model.js.map +0 -1
  990. package/lib/features/tool-feedback/view.d.ts +0 -32
  991. package/lib/features/tool-feedback/view.d.ts.map +0 -1
  992. package/lib/features/tool-feedback/view.js +0 -83
  993. package/lib/features/tool-feedback/view.js.map +0 -1
  994. package/lib/features/tool-palette/di.config.d.ts +0 -20
  995. package/lib/features/tool-palette/di.config.d.ts.map +0 -1
  996. package/lib/features/tool-palette/di.config.js +0 -30
  997. package/lib/features/tool-palette/di.config.js.map +0 -1
  998. package/lib/features/tools/change-bounds-tool.d.ts +0 -86
  999. package/lib/features/tools/change-bounds-tool.d.ts.map +0 -1
  1000. package/lib/features/tools/change-bounds-tool.js +0 -372
  1001. package/lib/features/tools/change-bounds-tool.js.map +0 -1
  1002. package/lib/features/tools/delete-tool.d.ts +0 -52
  1003. package/lib/features/tools/delete-tool.d.ts.map +0 -1
  1004. package/lib/features/tools/delete-tool.js +0 -132
  1005. package/lib/features/tools/delete-tool.js.map +0 -1
  1006. package/lib/features/tools/di.config.d.ts +0 -15
  1007. package/lib/features/tools/di.config.d.ts.map +0 -1
  1008. package/lib/features/tools/di.config.js +0 -72
  1009. package/lib/features/tools/di.config.js.map +0 -1
  1010. package/lib/features/tools/edge-creation-tool.d.ts +0 -52
  1011. package/lib/features/tools/edge-creation-tool.d.ts.map +0 -1
  1012. package/lib/features/tools/edge-creation-tool.js +0 -166
  1013. package/lib/features/tools/edge-creation-tool.js.map +0 -1
  1014. package/lib/features/tools/edge-edit-tool.d.ts +0 -67
  1015. package/lib/features/tools/edge-edit-tool.d.ts.map +0 -1
  1016. package/lib/features/tools/edge-edit-tool.js +0 -284
  1017. package/lib/features/tools/edge-edit-tool.js.map +0 -1
  1018. package/lib/features/tools/enable-default-tools-on-focus-loss.d.ts +0 -26
  1019. package/lib/features/tools/enable-default-tools-on-focus-loss.d.ts.map +0 -1
  1020. package/lib/features/tools/enable-default-tools-on-focus-loss.js +0 -29
  1021. package/lib/features/tools/enable-default-tools-on-focus-loss.js.map +0 -1
  1022. package/lib/features/tools/glsp-manhattan-edge-router.d.ts +0 -20
  1023. package/lib/features/tools/glsp-manhattan-edge-router.d.ts.map +0 -1
  1024. package/lib/features/tools/glsp-manhattan-edge-router.js +0 -69
  1025. package/lib/features/tools/glsp-manhattan-edge-router.js.map +0 -1
  1026. package/lib/features/tools/marquee-behavior.d.ts +0 -42
  1027. package/lib/features/tools/marquee-behavior.d.ts.map +0 -1
  1028. package/lib/features/tools/marquee-behavior.js +0 -128
  1029. package/lib/features/tools/marquee-behavior.js.map +0 -1
  1030. package/lib/features/tools/marquee-behavior.spec.d.ts.map +0 -1
  1031. package/lib/features/tools/marquee-behavior.spec.js.map +0 -1
  1032. package/lib/features/tools/marquee-mouse-tool.d.ts +0 -48
  1033. package/lib/features/tools/marquee-mouse-tool.d.ts.map +0 -1
  1034. package/lib/features/tools/marquee-mouse-tool.js +0 -148
  1035. package/lib/features/tools/marquee-mouse-tool.js.map +0 -1
  1036. package/lib/features/tools/marquee-tool.d.ts +0 -30
  1037. package/lib/features/tools/marquee-tool.d.ts.map +0 -1
  1038. package/lib/features/tools/marquee-tool.js +0 -54
  1039. package/lib/features/tools/marquee-tool.js.map +0 -1
  1040. package/lib/features/tools/model.d.ts +0 -23
  1041. package/lib/features/tools/model.d.ts.map +0 -1
  1042. package/lib/features/tools/model.js +0 -9
  1043. package/lib/features/tools/model.js.map +0 -1
  1044. package/lib/features/tools/node-creation-tool.d.ts +0 -41
  1045. package/lib/features/tools/node-creation-tool.d.ts.map +0 -1
  1046. package/lib/features/tools/node-creation-tool.js +0 -117
  1047. package/lib/features/tools/node-creation-tool.js.map +0 -1
  1048. package/lib/features/tools/view.d.ts +0 -7
  1049. package/lib/features/tools/view.d.ts.map +0 -1
  1050. package/lib/features/tools/view.js +0 -40
  1051. package/lib/features/tools/view.js.map +0 -1
  1052. package/lib/features/validation/di.config.d.ts +0 -10
  1053. package/lib/features/validation/di.config.d.ts.map +0 -1
  1054. package/lib/features/validation/di.config.js +0 -46
  1055. package/lib/features/validation/di.config.js.map +0 -1
  1056. package/lib/features/viewport/di.config.d.ts +0 -19
  1057. package/lib/features/viewport/di.config.d.ts.map +0 -1
  1058. package/lib/features/viewport/di.config.js +0 -34
  1059. package/lib/features/viewport/di.config.js.map +0 -1
  1060. package/lib/model-source/glsp-diagram-server.d.ts +0 -36
  1061. package/lib/model-source/glsp-diagram-server.d.ts.map +0 -1
  1062. package/lib/model-source/glsp-diagram-server.js +0 -103
  1063. package/lib/model-source/glsp-diagram-server.js.map +0 -1
  1064. package/lib/sprotty-reexport.d.ts +0 -174
  1065. package/lib/sprotty-reexport.d.ts.map +0 -1
  1066. package/lib/sprotty-reexport.js +0 -301
  1067. package/lib/sprotty-reexport.js.map +0 -1
  1068. package/src/base/actions/focus-change-action.ts +0 -43
  1069. package/src/base/actions/sprotty-actions.ts +0 -26
  1070. package/src/base/container-modules.ts +0 -113
  1071. package/src/base/di.config.ts +0 -89
  1072. package/src/base/focus-tracker.ts +0 -49
  1073. package/src/base/model/update-model-command.ts +0 -123
  1074. package/src/base/source-uri-aware.ts +0 -23
  1075. package/src/base/tool-manager/tool-actions.ts +0 -37
  1076. package/src/base/types.ts +0 -46
  1077. package/src/features/bounds/di.config.ts +0 -39
  1078. package/src/features/command-palette/di.config.ts +0 -32
  1079. package/src/features/context-menu/di.config.ts +0 -38
  1080. package/src/features/copy-paste/di.config.ts +0 -36
  1081. package/src/features/decoration/di.config.ts +0 -26
  1082. package/src/features/edit-label/di.config.ts +0 -29
  1083. package/src/features/edit-label/edit-label-tool.ts +0 -50
  1084. package/src/features/edit-label/edit-label-validator.ts +0 -99
  1085. package/src/features/hints/di.config.ts +0 -29
  1086. package/src/features/hover/di.config.ts +0 -66
  1087. package/src/features/layout/di.config.ts +0 -40
  1088. package/src/features/layout/freeform-layout.ts +0 -124
  1089. package/src/features/layout/hbox-layout.ts +0 -273
  1090. package/src/features/layout/layouter.ts +0 -137
  1091. package/src/features/layout/tests/freeform-layout.spec.ts +0 -216
  1092. package/src/features/layout/tests/hbox-layout.spec.ts +0 -171
  1093. package/src/features/layout/tests/layouter-test-util.ts +0 -122
  1094. package/src/features/layout/tests/vbox-layout.spec.ts +0 -171
  1095. package/src/features/layout/vbox-layout.ts +0 -273
  1096. package/src/features/mouse-tool/di.config.ts +0 -27
  1097. package/src/features/mouse-tool/mouse-tool.ts +0 -108
  1098. package/src/features/navigation/di.config.ts +0 -29
  1099. package/src/features/rank/model.ts +0 -29
  1100. package/src/features/save/di.config.ts +0 -28
  1101. package/src/features/save/model.ts +0 -26
  1102. package/src/features/select/di.config.ts +0 -33
  1103. package/src/features/select/select-feedback-action.ts +0 -57
  1104. package/src/features/select/selection-service.spec.ts +0 -380
  1105. package/src/features/select/selection-service.ts +0 -235
  1106. package/src/features/source-model-watcher/di.config.ts +0 -25
  1107. package/src/features/tool-feedback/change-bounds-tool-feedback.ts +0 -280
  1108. package/src/features/tool-feedback/creation-tool-feedback.ts +0 -246
  1109. package/src/features/tool-feedback/css-feedback.ts +0 -104
  1110. package/src/features/tool-feedback/di.config.ts +0 -65
  1111. package/src/features/tool-feedback/edge-edit-tool-feedback.ts +0 -380
  1112. package/src/features/tool-feedback/feedback-action-dispatcher.ts +0 -101
  1113. package/src/features/tool-feedback/marquee-tool-feedback.ts +0 -128
  1114. package/src/features/tool-feedback/model.ts +0 -29
  1115. package/src/features/tool-feedback/view.tsx +0 -77
  1116. package/src/features/tool-palette/di.config.ts +0 -29
  1117. package/src/features/tools/change-bounds-tool.ts +0 -448
  1118. package/src/features/tools/delete-tool.ts +0 -123
  1119. package/src/features/tools/di.config.ts +0 -74
  1120. package/src/features/tools/edge-creation-tool.ts +0 -175
  1121. package/src/features/tools/edge-edit-tool.ts +0 -318
  1122. package/src/features/tools/enable-default-tools-on-focus-loss.ts +0 -33
  1123. package/src/features/tools/glsp-manhattan-edge-router.ts +0 -57
  1124. package/src/features/tools/marquee-behavior.ts +0 -158
  1125. package/src/features/tools/marquee-mouse-tool.ts +0 -152
  1126. package/src/features/tools/marquee-tool.ts +0 -51
  1127. package/src/features/tools/model.ts +0 -23
  1128. package/src/features/tools/node-creation-tool.ts +0 -116
  1129. package/src/features/tools/view.tsx +0 -43
  1130. package/src/features/validation/di.config.ts +0 -53
  1131. package/src/features/viewport/di.config.ts +0 -46
  1132. package/src/model-source/glsp-diagram-server.ts +0 -110
  1133. package/src/sprotty-reexport.ts +0 -288
  1134. /package/lib/{features/select → base}/selection-service.spec.d.ts +0 -0
  1135. /package/lib/features/{layout/tests → bounds}/freeform-layout.spec.d.ts +0 -0
  1136. /package/lib/features/{layout/tests → bounds}/hbox-layout.spec.d.ts +0 -0
  1137. /package/lib/features/{layout/tests → bounds}/vbox-layout.spec.d.ts +0 -0
  1138. /package/lib/features/tools/{marquee-behavior.spec.d.ts → marquee-selection/marquee-behavior.spec.d.ts} +0 -0
  1139. /package/lib/features/tools/{marquee-behavior.spec.js → marquee-selection/marquee-behavior.spec.js} +0 -0
  1140. /package/src/features/tools/{marquee-behavior.spec.ts → marquee-selection/marquee-behavior.spec.ts} +0 -0
@@ -0,0 +1,107 @@
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 { inject, injectable } from 'inversify';
17
+ import { Action, Disposable, IActionDispatcher, ILogger, TYPES } from '~glsp-sprotty';
18
+
19
+ export interface IFeedbackEmitter {}
20
+
21
+ /**
22
+ * Dispatcher for actions that are meant to show visual feedback on
23
+ * the diagram that is not part of the diagram sent from the server
24
+ * after a model update.
25
+ *
26
+ * The purpose of this dispatcher is to re-establish the feedback
27
+ * after the model has been updated or reset by the server, as this would
28
+ * overwrite the already established feedback, in case it is drawn by
29
+ * extending the `SModelRoot`. Therefore, tools can register themselves
30
+ * as feedback emitters with actions they want to place for showing
31
+ * feedback. This dispatcher will then re-establish all feedback actions
32
+ * of the registered emitters, whenever the `SModelRoot` has been set or updated.
33
+ */
34
+ export interface IFeedbackActionDispatcher {
35
+ /**
36
+ * Registers `actions` to be sent out by a `feedbackEmitter`.
37
+ * @param feedbackEmitter the emitter sending out feedback actions.
38
+ * @param feedbackActions the actions to be sent out.
39
+ * @param cleanupActions the actions to be sent out when the feedback is de-registered through the returned Disposable.
40
+ * @returns A 'Disposable' that de-registers the feedback and cleans up any pending feedback with the given `cleanupActions`.
41
+ */
42
+ registerFeedback(feedbackEmitter: IFeedbackEmitter, feedbackActions: Action[], cleanupActions?: Action[]): Disposable;
43
+
44
+ /**
45
+ * Deregisters a `feedbackEmitter` from this dispatcher and thereafter
46
+ * dispatches the provided `actions`.
47
+ * @param feedbackEmitter the emitter to be deregistered.
48
+ * @param cleanupActions the actions to be dispatched right after the deregistration.
49
+ * These actions do not have to be related to the actions sent out by the
50
+ * deregistered `feedbackEmitter`. The purpose of these actions typically is
51
+ * to reset the normal state of the diagram without the feedback (e.g., reset a
52
+ * CSS class that was set by a feedbackEmitter).
53
+ */
54
+ deregisterFeedback(feedbackEmitter: IFeedbackEmitter, cleanupActions?: Action[]): void;
55
+
56
+ /**
57
+ * Retrieve all `actions` sent out by currently registered `feedbackEmitter`.
58
+ */
59
+ getRegisteredFeedback(): Action[];
60
+ }
61
+
62
+ @injectable()
63
+ export class FeedbackActionDispatcher implements IFeedbackActionDispatcher {
64
+ protected registeredFeedback: Map<IFeedbackEmitter, Action[]> = new Map();
65
+
66
+ @inject(TYPES.IActionDispatcherProvider) protected actionDispatcher: () => Promise<IActionDispatcher>;
67
+ @inject(TYPES.ILogger) protected logger: ILogger;
68
+
69
+ registerFeedback(feedbackEmitter: IFeedbackEmitter, feedbackActions: Action[], cleanupActions?: Action[] | undefined): Disposable {
70
+ this.registeredFeedback.set(feedbackEmitter, feedbackActions);
71
+ this.dispatchFeedback(feedbackActions, feedbackEmitter);
72
+ return Disposable.create(() => this.deregisterFeedback(feedbackEmitter, cleanupActions));
73
+ }
74
+
75
+ deregisterFeedback(feedbackEmitter: IFeedbackEmitter, cleanupActions?: Action[] | undefined): void {
76
+ this.registeredFeedback.delete(feedbackEmitter);
77
+ if (cleanupActions) {
78
+ this.dispatchFeedback(cleanupActions, feedbackEmitter);
79
+ }
80
+ }
81
+
82
+ getRegisteredFeedback(): Action[] {
83
+ const result: Action[] = [];
84
+ this.registeredFeedback.forEach(actions => result.push(...actions));
85
+ return result;
86
+ }
87
+
88
+ getRegisteredFeedbackEmitters(action: Action): IFeedbackEmitter[] {
89
+ const result: IFeedbackEmitter[] = [];
90
+ this.registeredFeedback.forEach((actions, emitter) => {
91
+ if (actions.includes(action)) {
92
+ result.push(emitter);
93
+ }
94
+ });
95
+ return result;
96
+ }
97
+
98
+ protected async dispatchFeedback(actions: Action[], feedbackEmitter: IFeedbackEmitter): Promise<void> {
99
+ try {
100
+ const actionDispatcher = await this.actionDispatcher();
101
+ await actionDispatcher.dispatchAll(actions);
102
+ this.logger.info(this, `Dispatched feedback actions for ${feedbackEmitter}`);
103
+ } catch (reason) {
104
+ this.logger.error(this, 'Failed to dispatch feedback actions', reason);
105
+ }
106
+ }
107
+ }
@@ -0,0 +1,29 @@
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 { Command, CommandExecutionContext, CommandReturn } from '~glsp-sprotty';
17
+
18
+ export abstract class FeedbackCommand extends Command {
19
+ // used by the `FeedbackAwareUpdateModelCommand`
20
+ readonly priority: number = 0;
21
+
22
+ undo(context: CommandExecutionContext): CommandReturn {
23
+ return context.root;
24
+ }
25
+
26
+ redo(context: CommandExecutionContext): CommandReturn {
27
+ return context.root;
28
+ }
29
+ }
@@ -0,0 +1,100 @@
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 { inject, injectable, optional } from 'inversify';
17
+ import {
18
+ ActionHandlerRegistry,
19
+ Animation,
20
+ Command,
21
+ CommandActionHandler,
22
+ CommandExecutionContext,
23
+ CommandReturn,
24
+ ILogger,
25
+ MorphEdgesAnimation,
26
+ SModelRoot,
27
+ TYPES,
28
+ UpdateAnimationData,
29
+ UpdateModelAction,
30
+ UpdateModelCommand,
31
+ toTypeGuard
32
+ } from '~glsp-sprotty';
33
+ import { IFeedbackActionDispatcher } from './feedback-action-dispatcher';
34
+ import { FeedbackCommand } from './feedback-command';
35
+
36
+ /**
37
+ * A special {@link UpdateModelCommand} that retrieves all registered {@link Action}s from the {@link IFeedbackActionDispatcher}
38
+ * (if present) and applies their feedback to the `newRoot` before performing the update. This enables persistent client-side feedback
39
+ * across model updates initiated by the GLSP server.
40
+ */
41
+ @injectable()
42
+ export class FeedbackAwareUpdateModelCommand extends UpdateModelCommand {
43
+ @inject(TYPES.ILogger)
44
+ protected logger: ILogger;
45
+
46
+ @inject(TYPES.IFeedbackActionDispatcher)
47
+ @optional()
48
+ protected feedbackActionDispatcher: IFeedbackActionDispatcher;
49
+
50
+ protected actionHandlerRegistry?: ActionHandlerRegistry;
51
+
52
+ constructor(
53
+ @inject(TYPES.Action) action: UpdateModelAction,
54
+ @inject(TYPES.ActionHandlerRegistryProvider)
55
+ actionHandlerRegistryProvider: () => Promise<ActionHandlerRegistry>
56
+ ) {
57
+ super({ animate: true, ...action });
58
+ actionHandlerRegistryProvider().then(registry => (this.actionHandlerRegistry = registry));
59
+ }
60
+
61
+ protected override performUpdate(oldRoot: SModelRoot, newRoot: SModelRoot, context: CommandExecutionContext): CommandReturn {
62
+ if (this.feedbackActionDispatcher && this.actionHandlerRegistry) {
63
+ // Create a temporary context which defines the `newRoot` as `root`
64
+ // This way we do not corrupt the redo/undo behavior of the super class
65
+ const tempContext: CommandExecutionContext = {
66
+ ...context,
67
+ root: newRoot
68
+ };
69
+
70
+ const feedbackCommands = this.getFeedbackCommands(this.actionHandlerRegistry);
71
+ feedbackCommands.forEach(command => command.execute(tempContext));
72
+ }
73
+
74
+ return super.performUpdate(oldRoot, newRoot, context);
75
+ }
76
+
77
+ protected getFeedbackCommands(registry: ActionHandlerRegistry): Command[] {
78
+ const result: Command[] = [];
79
+ this.feedbackActionDispatcher.getRegisteredFeedback().forEach(action => {
80
+ const commands = registry
81
+ .get(action.kind)
82
+ .filter<CommandActionHandler>(toTypeGuard(CommandActionHandler))
83
+ .map(handler => handler.handle(action));
84
+ result.push(...commands);
85
+ });
86
+ // sort commands descanting by priority
87
+ return result.sort((a, b) => this.getPriority(b) - this.getPriority(a));
88
+ }
89
+
90
+ protected getPriority(command: Partial<FeedbackCommand>): number {
91
+ return command.priority ?? 0;
92
+ }
93
+
94
+ // Override the `createAnimations` implementation and remove the animation for edge morphing. Otherwise routing & reconnect
95
+ // handles flicker after each server update.
96
+ protected override createAnimations(data: UpdateAnimationData, root: SModelRoot, context: CommandExecutionContext): Animation[] {
97
+ const animations = super.createAnimations(data, root, context);
98
+ return animations.filter(animation => !(animation instanceof MorphEdgesAnimation));
99
+ }
100
+ }
@@ -0,0 +1,43 @@
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
+ import { Action, hasBooleanProp } from '~glsp-sprotty';
17
+
18
+ /**
19
+ * A `FocusStateChangedAction` is dispatched by the client whenever the
20
+ * diagram focus changes (i.e. focus loss or focus gain).
21
+ */
22
+ export interface FocusStateChangedAction extends Action {
23
+ kind: typeof FocusStateChangedAction.KIND;
24
+ /**
25
+ * The new focus state of the diagram.
26
+ */
27
+ hasFocus: boolean;
28
+ }
29
+
30
+ export namespace FocusStateChangedAction {
31
+ export const KIND = 'focusStateChanged';
32
+
33
+ export function is(object: any): object is FocusStateChangedAction {
34
+ return Action.hasKind(object, KIND) && hasBooleanProp(object, 'hasFocus');
35
+ }
36
+
37
+ export function create(hasFocus = true): FocusStateChangedAction {
38
+ return {
39
+ kind: KIND,
40
+ hasFocus
41
+ };
42
+ }
43
+ }
@@ -0,0 +1,47 @@
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
+ import { inject, injectable } from 'inversify';
17
+ import { Action, IActionHandler, ICommand, TYPES, ViewerOptions } from '~glsp-sprotty';
18
+ import { FocusStateChangedAction } from './focus-state-change-action';
19
+
20
+ @injectable()
21
+ export class FocusTracker implements IActionHandler {
22
+ protected inActiveCssClass = 'inactive';
23
+ protected _hasFocus = true;
24
+
25
+ @inject(TYPES.ViewerOptions) protected options: ViewerOptions;
26
+
27
+ get hasFocus(): boolean {
28
+ return this._hasFocus;
29
+ }
30
+
31
+ handle(action: Action): void | Action | ICommand {
32
+ if (FocusStateChangedAction.is(action)) {
33
+ this._hasFocus = action.hasFocus;
34
+ const placeholder = document.getElementById(this.options.baseDiv);
35
+ if (!placeholder) {
36
+ return;
37
+ }
38
+ if (this.hasFocus) {
39
+ if (placeholder.classList.contains(this.inActiveCssClass)) {
40
+ placeholder.classList.remove(this.inActiveCssClass);
41
+ }
42
+ } else {
43
+ placeholder.classList.add(this.inActiveCssClass);
44
+ }
45
+ }
46
+ }
47
+ }
@@ -0,0 +1,149 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2023 EclipseSource and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+
17
+ import { inject, injectable } from 'inversify';
18
+ import {
19
+ Action,
20
+ ActionHandlerRegistry,
21
+ ActionMessage,
22
+ Disposable,
23
+ DisposableCollection,
24
+ GLSPClient,
25
+ ILogger,
26
+ ModelSource,
27
+ RequestModelAction,
28
+ SModelRootSchema,
29
+ TYPES
30
+ } from '~glsp-sprotty';
31
+ /**
32
+ * A helper interface that allows the client to mark actions that have been received from the server.
33
+ */
34
+ export interface ServerAction extends Action {
35
+ _receivedFromServer: true;
36
+ }
37
+
38
+ export namespace ServerAction {
39
+ export function is(object: unknown): object is ServerAction {
40
+ return Action.is(object) && '_receivedFromServer' in object && object._receivedFromServer === true;
41
+ }
42
+
43
+ /**
44
+ * Mark the given action as {@link ServerAction} by attaching the "_receivedFromServer" property
45
+ * @param action The action that should be marked as server action
46
+ */
47
+ export function mark(action: Action): void {
48
+ (action as ServerAction)._receivedFromServer = true;
49
+ }
50
+ }
51
+
52
+ /**
53
+ * Central component for enabling the client-server action flow with the help of an underlying {@link GLSPClient}.
54
+ * Handles & forwards actions that are intended for the GLSP server. In addition, it handles {@link ActionMessage}s received
55
+ * from the server and dispatches the corresponding actions locally.
56
+ *
57
+ * Note that in sprotty a {@link ModelSource} is serving the model to the event cycle and
58
+ * is used to commit the local (i.e. client-side) model back to the source.
59
+ * However, in GLSP the update flow is reversed meaning that changes to the source model are applied
60
+ * on the server side and then an update is sent to the client.
61
+ */
62
+ @injectable()
63
+ export class GLSPModelSource extends ModelSource implements Disposable {
64
+ @inject(TYPES.ILogger)
65
+ protected logger: ILogger;
66
+
67
+ protected _sourceUri?: string;
68
+ protected _glspClient?: GLSPClient;
69
+ protected toDispose = new DisposableCollection();
70
+
71
+ clientId: string;
72
+
73
+ get glspClient(): GLSPClient | undefined {
74
+ return this._glspClient;
75
+ }
76
+
77
+ get sourceUri(): string | undefined {
78
+ return this._sourceUri;
79
+ }
80
+
81
+ async connect(client: GLSPClient, clientId?: string): Promise<GLSPClient> {
82
+ if (clientId) {
83
+ this.clientId = clientId;
84
+ }
85
+ await client.start();
86
+ this.toDispose.push(client.onActionMessage(message => this.messageReceived(message), this.clientId));
87
+ this._glspClient = client;
88
+ return this._glspClient;
89
+ }
90
+
91
+ protected messageReceived(message: ActionMessage): void {
92
+ if (this.clientId !== message.clientId) {
93
+ return;
94
+ }
95
+ const action = message.action;
96
+ ServerAction.mark(action);
97
+ this.logger.log(this, 'receiving', action);
98
+ this.actionDispatcher.dispatch(action);
99
+ }
100
+
101
+ override initialize(registry: ActionHandlerRegistry): void {
102
+ // Registering actions here is discouraged and it's recommended
103
+ // to implemented dedicated action handlers.
104
+ if (!this.clientId) {
105
+ this.clientId = this.viewerOptions.baseDiv;
106
+ }
107
+ }
108
+
109
+ handle(action: Action): void {
110
+ // Handling additional actions here is discouraged and it's recommended
111
+ // to implemented dedicated action handlers.
112
+ if (RequestModelAction.is(action)) {
113
+ this._sourceUri = action.options?.sourceUri.toString();
114
+ }
115
+ if (this.shouldForwardToServer(action)) {
116
+ this.forwardToServer(action);
117
+ }
118
+ }
119
+
120
+ protected forwardToServer(action: Action): void {
121
+ const message: ActionMessage = {
122
+ clientId: this.clientId,
123
+ action: action
124
+ };
125
+ this.logger.log(this, 'sending', message);
126
+ if (this.glspClient) {
127
+ this.glspClient.sendActionMessage(message);
128
+ } else {
129
+ throw new Error('GLSPClient is not connected');
130
+ }
131
+ }
132
+
133
+ protected shouldForwardToServer(action: Action): boolean {
134
+ return !ServerAction.is(action);
135
+ }
136
+
137
+ commitModel(newRoot: SModelRootSchema): SModelRootSchema {
138
+ /* In GLSP the model update flow is server-driven. i.e. changes to the graphical model are applied
139
+ * on server-side an only the server can issue a model update.
140
+ * The internal/local model should never be committed back to the model source i.e. GLSP server.
141
+ * => no-op implementation that simply returns the `newRoot`
142
+ */
143
+ return newRoot;
144
+ }
145
+
146
+ dispose(): void {
147
+ this.toDispose.dispose();
148
+ }
149
+ }
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2021-2022 EclipseSource and others.
2
+ * Copyright (c) 2021-2023 EclipseSource and others.
3
3
  *
4
4
  * This program and the accompanying materials are made available under the
5
5
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -14,7 +14,7 @@
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
16
  import { injectable } from 'inversify';
17
- import { SModelElement, SModelRegistry } from 'sprotty';
17
+ import { SModelElement, SModelRegistry } from '~glsp-sprotty';
18
18
 
19
19
  @injectable()
20
20
  export class GLSPModelRegistry extends SModelRegistry {
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2020-2022 EclipseSource and others.
2
+ * Copyright (c) 2020-2023 EclipseSource and others.
3
3
  *
4
4
  * This program and the accompanying materials are made available under the
5
5
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -13,9 +13,8 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
- import { Action, Deferred, SetModelAction, UpdateModelAction } from '@eclipse-glsp/protocol';
17
16
  import { injectable } from 'inversify';
18
- import { InitializeCanvasBoundsAction } from 'sprotty';
17
+ import { Action, Deferred, InitializeCanvasBoundsAction, SetModelAction, UpdateModelAction } from '~glsp-sprotty';
19
18
 
20
19
  /**
21
20
  * The constraint defining when the initialization of the GLSP model is completed.
@@ -0,0 +1,42 @@
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 { AnyObject, hasNumberProp } from '~glsp-sprotty';
18
+
19
+ /**
20
+ * A common interface for services/listeners that should be
21
+ * orderable by a type or rank/priority.
22
+ */
23
+ export interface Ranked {
24
+ rank: number;
25
+ }
26
+
27
+ export namespace Ranked {
28
+ export const DEFAULT_RANK = 0;
29
+ export function is(object: unknown): object is Ranked {
30
+ return AnyObject.is(object) && hasNumberProp(object, 'rank');
31
+ }
32
+
33
+ /**
34
+ * Tries to retrieve the rank form the given object. If the object
35
+ * implements the {@link Ranked} interface the corresponding rank is returned
36
+ * otherwise the {@link DEFAULT_RANK} is returned.
37
+ * @param object
38
+ */
39
+ export function getRank(object: unknown): number {
40
+ return is(object) ? object.rank : DEFAULT_RANK;
41
+ }
42
+ }
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2020 EclipseSource and others.
2
+ * Copyright (c) 2020-2023 EclipseSource and others.
3
3
  *
4
4
  * This program and the accompanying materials are made available under the
5
5
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -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 { MouseListener, SModelElement } from 'sprotty';
17
+ import { MouseListener, SModelElement } from '~glsp-sprotty';
18
18
 
19
19
  /**
20
20
  * A mouse listener that clears the document selection on click