@eclipse-glsp/client 1.1.0-next.c8b4f65.194 → 1.1.0-next.cab84ec.250

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 (740) hide show
  1. package/README.md +1 -1
  2. package/{lib/features/tools/marquee-behavior.spec.d.ts → css/autocomplete-palette.css} +8 -3
  3. package/css/decoration.css +1 -1
  4. package/css/glsp-sprotty.css +34 -19
  5. package/lib/base/action-dispatcher.d.ts +1 -17
  6. package/lib/base/action-dispatcher.d.ts.map +1 -1
  7. package/lib/base/action-dispatcher.js +6 -7
  8. package/lib/base/action-dispatcher.js.map +1 -1
  9. package/lib/base/actions/focus-change-action.d.ts +2 -2
  10. package/lib/base/actions/focus-change-action.d.ts.map +1 -1
  11. package/lib/base/actions/focus-change-action.js +3 -3
  12. package/lib/base/actions/focus-change-action.js.map +1 -1
  13. package/lib/base/argumentable.d.ts +2 -3
  14. package/lib/base/argumentable.d.ts.map +1 -1
  15. package/lib/base/argumentable.js.map +1 -1
  16. package/lib/base/auto-complete/auto-complete-actions.d.ts +2 -2
  17. package/lib/base/auto-complete/auto-complete-actions.d.ts.map +1 -1
  18. package/lib/base/auto-complete/auto-complete-actions.js +3 -3
  19. package/lib/base/auto-complete/auto-complete-actions.js.map +1 -1
  20. package/lib/base/auto-complete/auto-complete-widget.d.ts +11 -6
  21. package/lib/base/auto-complete/auto-complete-widget.d.ts.map +1 -1
  22. package/lib/base/auto-complete/auto-complete-widget.js +35 -34
  23. package/lib/base/auto-complete/auto-complete-widget.js.map +1 -1
  24. package/lib/base/auto-complete/validation-decorator.d.ts +16 -1
  25. package/lib/base/auto-complete/validation-decorator.d.ts.map +1 -1
  26. package/lib/base/auto-complete/validation-decorator.js +6 -7
  27. package/lib/base/auto-complete/validation-decorator.js.map +1 -1
  28. package/lib/base/command-stack.d.ts +1 -2
  29. package/lib/base/command-stack.d.ts.map +1 -1
  30. package/lib/base/command-stack.js +7 -16
  31. package/lib/base/command-stack.js.map +1 -1
  32. package/lib/base/container-modules.d.ts +32 -2
  33. package/lib/base/container-modules.d.ts.map +1 -1
  34. package/lib/base/container-modules.js +84 -50
  35. package/lib/base/container-modules.js.map +1 -1
  36. package/lib/base/di.config.d.ts +2 -2
  37. package/lib/base/di.config.d.ts.map +1 -1
  38. package/lib/base/di.config.js +15 -17
  39. package/lib/base/di.config.js.map +1 -1
  40. package/lib/base/drag-aware-mouse-listener.d.ts +2 -3
  41. package/lib/base/drag-aware-mouse-listener.d.ts.map +1 -1
  42. package/lib/base/drag-aware-mouse-listener.js +17 -2
  43. package/lib/base/drag-aware-mouse-listener.js.map +1 -1
  44. package/lib/base/editor-context-service.d.ts +4 -20
  45. package/lib/base/editor-context-service.d.ts.map +1 -1
  46. package/lib/base/editor-context-service.js +13 -15
  47. package/lib/base/editor-context-service.js.map +1 -1
  48. package/lib/base/focus-tracker.d.ts +1 -17
  49. package/lib/base/focus-tracker.d.ts.map +1 -1
  50. package/lib/base/focus-tracker.js +17 -2
  51. package/lib/base/focus-tracker.js.map +1 -1
  52. package/lib/base/model/model-registry.d.ts +1 -1
  53. package/lib/base/model/model-registry.d.ts.map +1 -1
  54. package/lib/base/model/model-registry.js +3 -3
  55. package/lib/base/model/model-registry.js.map +1 -1
  56. package/lib/base/model/update-model-command.d.ts +1 -17
  57. package/lib/base/model/update-model-command.d.ts.map +1 -1
  58. package/lib/base/model/update-model-command.js +12 -14
  59. package/lib/base/model/update-model-command.js.map +1 -1
  60. package/lib/base/model-initialization-constraint.d.ts +1 -16
  61. package/lib/base/model-initialization-constraint.d.ts.map +1 -1
  62. package/lib/base/model-initialization-constraint.js +5 -6
  63. package/lib/base/model-initialization-constraint.js.map +1 -1
  64. package/lib/base/selection-clearing-mouse-listener.d.ts +1 -1
  65. package/lib/base/selection-clearing-mouse-listener.d.ts.map +1 -1
  66. package/lib/base/selection-clearing-mouse-listener.js +3 -3
  67. package/lib/base/selection-clearing-mouse-listener.js.map +1 -1
  68. package/lib/base/source-uri-aware.js +3 -3
  69. package/lib/base/source-uri-aware.js.map +1 -1
  70. package/lib/base/tool-manager/glsp-tool-manager.d.ts +5 -6
  71. package/lib/base/tool-manager/glsp-tool-manager.d.ts.map +1 -1
  72. package/lib/base/tool-manager/glsp-tool-manager.js +24 -19
  73. package/lib/base/tool-manager/glsp-tool-manager.js.map +1 -1
  74. package/lib/base/view/view-registry.d.ts +1 -1
  75. package/lib/base/view/view-registry.d.ts.map +1 -1
  76. package/lib/base/view/view-registry.js +3 -3
  77. package/lib/base/view/view-registry.js.map +1 -1
  78. package/lib/{base/actions/sprotty-actions.js → features/accessibility/di.config.d.ts} +7 -7
  79. package/lib/features/accessibility/di.config.d.ts.map +1 -0
  80. package/lib/features/accessibility/di.config.js +34 -0
  81. package/lib/features/accessibility/di.config.js.map +1 -0
  82. package/lib/features/accessibility/move-zoom/di.config.d.ts +23 -0
  83. package/lib/features/accessibility/move-zoom/di.config.d.ts.map +1 -0
  84. package/lib/features/accessibility/move-zoom/di.config.js +41 -0
  85. package/lib/features/accessibility/move-zoom/di.config.js.map +1 -0
  86. package/lib/features/accessibility/move-zoom/move-handler.d.ts +80 -0
  87. package/lib/features/accessibility/move-zoom/move-handler.d.ts.map +1 -0
  88. package/lib/features/accessibility/move-zoom/move-handler.js +171 -0
  89. package/lib/features/accessibility/move-zoom/move-handler.js.map +1 -0
  90. package/lib/features/accessibility/move-zoom/zoom-handler.d.ts +73 -0
  91. package/lib/features/accessibility/move-zoom/zoom-handler.d.ts.map +1 -0
  92. package/lib/features/accessibility/move-zoom/zoom-handler.js +157 -0
  93. package/lib/features/accessibility/move-zoom/zoom-handler.js.map +1 -0
  94. package/lib/features/accessibility/resize-key-tool/di.config.d.ts +23 -0
  95. package/lib/features/accessibility/resize-key-tool/di.config.d.ts.map +1 -0
  96. package/lib/features/accessibility/resize-key-tool/di.config.js +36 -0
  97. package/lib/features/accessibility/resize-key-tool/di.config.js.map +1 -0
  98. package/lib/features/accessibility/resize-key-tool/resize-key-handler.d.ts +54 -0
  99. package/lib/features/accessibility/resize-key-tool/resize-key-handler.d.ts.map +1 -0
  100. package/lib/features/accessibility/resize-key-tool/resize-key-handler.js +124 -0
  101. package/lib/features/accessibility/resize-key-tool/resize-key-handler.js.map +1 -0
  102. package/lib/features/accessibility/resize-key-tool/resize-key-tool.d.ts +43 -0
  103. package/lib/features/accessibility/resize-key-tool/resize-key-tool.d.ts.map +1 -0
  104. package/lib/features/accessibility/resize-key-tool/resize-key-tool.js +126 -0
  105. package/lib/features/accessibility/resize-key-tool/resize-key-tool.js.map +1 -0
  106. package/lib/features/accessibility/search/di.config.d.ts +20 -0
  107. package/lib/features/accessibility/search/di.config.d.ts.map +1 -0
  108. package/lib/features/accessibility/search/di.config.js +32 -0
  109. package/lib/features/accessibility/search/di.config.js.map +1 -0
  110. package/lib/features/accessibility/search/search-palette.d.ts +46 -0
  111. package/lib/features/accessibility/search/search-palette.d.ts.map +1 -0
  112. package/lib/features/accessibility/search/search-palette.js +162 -0
  113. package/lib/features/accessibility/search/search-palette.js.map +1 -0
  114. package/lib/features/accessibility/search/search-tool.d.ts +29 -0
  115. package/lib/features/accessibility/search/search-tool.d.ts.map +1 -0
  116. package/lib/features/accessibility/search/search-tool.js +73 -0
  117. package/lib/features/accessibility/search/search-tool.js.map +1 -0
  118. package/lib/features/accessibility/view-key-tools/deselect-key-tool.d.ts +34 -0
  119. package/lib/features/accessibility/view-key-tools/deselect-key-tool.d.ts.map +1 -0
  120. package/lib/features/accessibility/view-key-tools/deselect-key-tool.js +86 -0
  121. package/lib/features/accessibility/view-key-tools/deselect-key-tool.js.map +1 -0
  122. package/lib/features/accessibility/view-key-tools/di.config.d.ts +20 -0
  123. package/lib/features/accessibility/view-key-tools/di.config.d.ts.map +1 -0
  124. package/lib/features/accessibility/view-key-tools/di.config.js +34 -0
  125. package/lib/features/accessibility/view-key-tools/di.config.js.map +1 -0
  126. package/lib/features/accessibility/view-key-tools/movement-key-tool.d.ts +48 -0
  127. package/lib/features/accessibility/view-key-tools/movement-key-tool.d.ts.map +1 -0
  128. package/lib/features/accessibility/view-key-tools/movement-key-tool.js +130 -0
  129. package/lib/features/accessibility/view-key-tools/movement-key-tool.js.map +1 -0
  130. package/lib/features/accessibility/view-key-tools/zoom-key-tool.d.ts +42 -0
  131. package/lib/features/accessibility/view-key-tools/zoom-key-tool.d.ts.map +1 -0
  132. package/lib/features/accessibility/view-key-tools/zoom-key-tool.js +107 -0
  133. package/lib/features/accessibility/view-key-tools/zoom-key-tool.js.map +1 -0
  134. package/lib/features/autocomplete-palette/autocomplete-suggestion-providers.d.ts +35 -0
  135. package/lib/features/autocomplete-palette/autocomplete-suggestion-providers.d.ts.map +1 -0
  136. package/lib/features/{change-bounds/snap.spec.d.ts → autocomplete-palette/autocomplete-suggestion-providers.js} +4 -3
  137. package/lib/features/autocomplete-palette/autocomplete-suggestion-providers.js.map +1 -0
  138. package/lib/features/autocomplete-palette/base-autocomplete-palette.d.ts +40 -0
  139. package/lib/features/autocomplete-palette/base-autocomplete-palette.d.ts.map +1 -0
  140. package/lib/features/autocomplete-palette/base-autocomplete-palette.js +82 -0
  141. package/lib/features/autocomplete-palette/base-autocomplete-palette.js.map +1 -0
  142. package/lib/features/bounds/di.config.d.ts +19 -0
  143. package/lib/features/bounds/di.config.d.ts.map +1 -0
  144. package/lib/features/bounds/di.config.js +37 -0
  145. package/lib/features/bounds/di.config.js.map +1 -0
  146. package/lib/features/bounds/freeform-layout.d.ts +14 -0
  147. package/lib/features/bounds/freeform-layout.d.ts.map +1 -0
  148. package/lib/features/{layout → bounds}/freeform-layout.js +5 -6
  149. package/lib/features/bounds/freeform-layout.js.map +1 -0
  150. package/lib/features/bounds/glsp-hidden-bounds-updater.d.ts +33 -0
  151. package/lib/features/bounds/glsp-hidden-bounds-updater.d.ts.map +1 -0
  152. package/lib/features/bounds/glsp-hidden-bounds-updater.js +98 -0
  153. package/lib/features/bounds/glsp-hidden-bounds-updater.js.map +1 -0
  154. package/lib/features/{layout → bounds}/hbox-layout.d.ts +1 -17
  155. package/lib/features/bounds/hbox-layout.d.ts.map +1 -0
  156. package/lib/features/{layout → bounds}/hbox-layout.js +10 -11
  157. package/lib/features/bounds/hbox-layout.js.map +1 -0
  158. package/lib/features/bounds/layouter.d.ts +21 -0
  159. package/lib/features/bounds/layouter.d.ts.map +1 -0
  160. package/lib/features/{layout → bounds}/layouter.js +9 -10
  161. package/lib/features/bounds/layouter.js.map +1 -0
  162. package/lib/features/{layout → bounds}/vbox-layout.d.ts +1 -17
  163. package/lib/features/bounds/vbox-layout.d.ts.map +1 -0
  164. package/lib/features/{layout → bounds}/vbox-layout.js +10 -11
  165. package/lib/features/bounds/vbox-layout.js.map +1 -0
  166. package/lib/features/change-bounds/model.d.ts +2 -2
  167. package/lib/features/change-bounds/model.d.ts.map +1 -1
  168. package/lib/features/change-bounds/model.js +7 -7
  169. package/lib/features/change-bounds/model.js.map +1 -1
  170. package/lib/features/change-bounds/movement-restrictor.d.ts +1 -17
  171. package/lib/features/change-bounds/movement-restrictor.d.ts.map +1 -1
  172. package/lib/features/change-bounds/movement-restrictor.js +19 -4
  173. package/lib/features/change-bounds/movement-restrictor.js.map +1 -1
  174. package/lib/features/change-bounds/snap.d.ts +1 -17
  175. package/lib/features/change-bounds/snap.d.ts.map +1 -1
  176. package/lib/features/change-bounds/snap.js +17 -2
  177. package/lib/features/change-bounds/snap.js.map +1 -1
  178. package/lib/features/command-palette/command-palette-tool.d.ts +2 -2
  179. package/lib/features/command-palette/command-palette-tool.d.ts.map +1 -1
  180. package/lib/features/command-palette/command-palette-tool.js +7 -7
  181. package/lib/features/command-palette/command-palette-tool.js.map +1 -1
  182. package/lib/features/command-palette/di.config.d.ts +1 -1
  183. package/lib/features/command-palette/di.config.d.ts.map +1 -1
  184. package/lib/features/command-palette/di.config.js +6 -9
  185. package/lib/features/command-palette/di.config.js.map +1 -1
  186. package/lib/features/command-palette/server-command-palette-provider.d.ts +1 -17
  187. package/lib/features/command-palette/server-command-palette-provider.d.ts.map +1 -1
  188. package/lib/features/command-palette/server-command-palette-provider.js +5 -6
  189. package/lib/features/command-palette/server-command-palette-provider.js.map +1 -1
  190. package/lib/features/context-menu/delete-element-context-menu.d.ts +1 -17
  191. package/lib/features/context-menu/delete-element-context-menu.d.ts.map +1 -1
  192. package/lib/features/context-menu/delete-element-context-menu.js +4 -5
  193. package/lib/features/context-menu/delete-element-context-menu.js.map +1 -1
  194. package/lib/features/context-menu/di.config.d.ts +1 -1
  195. package/lib/features/context-menu/di.config.d.ts.map +1 -1
  196. package/lib/features/context-menu/di.config.js +8 -9
  197. package/lib/features/context-menu/di.config.js.map +1 -1
  198. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.d.ts +1 -17
  199. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.d.ts.map +1 -1
  200. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js +21 -7
  201. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js.map +1 -1
  202. package/lib/features/context-menu/server-context-menu-provider.d.ts +1 -17
  203. package/lib/features/context-menu/server-context-menu-provider.d.ts.map +1 -1
  204. package/lib/features/context-menu/server-context-menu-provider.js +6 -8
  205. package/lib/features/context-menu/server-context-menu-provider.js.map +1 -1
  206. package/lib/features/copy-paste/copy-paste-context-menu.d.ts +1 -17
  207. package/lib/features/copy-paste/copy-paste-context-menu.d.ts.map +1 -1
  208. package/lib/features/copy-paste/copy-paste-context-menu.js +7 -9
  209. package/lib/features/copy-paste/copy-paste-context-menu.js.map +1 -1
  210. package/lib/features/copy-paste/copy-paste-handler.d.ts +4 -20
  211. package/lib/features/copy-paste/copy-paste-handler.d.ts.map +1 -1
  212. package/lib/features/copy-paste/copy-paste-handler.js +14 -16
  213. package/lib/features/copy-paste/copy-paste-handler.js.map +1 -1
  214. package/lib/features/copy-paste/di.config.d.ts +1 -1
  215. package/lib/features/copy-paste/di.config.d.ts.map +1 -1
  216. package/lib/features/copy-paste/di.config.js +6 -7
  217. package/lib/features/copy-paste/di.config.js.map +1 -1
  218. package/lib/features/decoration/decoration-placer.d.ts +1 -17
  219. package/lib/features/decoration/decoration-placer.d.ts.map +1 -1
  220. package/lib/features/decoration/decoration-placer.js +6 -7
  221. package/lib/features/decoration/decoration-placer.js.map +1 -1
  222. package/lib/features/decoration/di.config.d.ts +1 -1
  223. package/lib/features/decoration/di.config.d.ts.map +1 -1
  224. package/lib/features/decoration/di.config.js +4 -5
  225. package/lib/features/decoration/di.config.js.map +1 -1
  226. package/lib/features/edit-label/di.config.d.ts +1 -1
  227. package/lib/features/edit-label/di.config.d.ts.map +1 -1
  228. package/lib/features/edit-label/di.config.js +6 -7
  229. package/lib/features/edit-label/di.config.js.map +1 -1
  230. package/lib/features/edit-label/edit-label-tool.d.ts +1 -1
  231. package/lib/features/edit-label/edit-label-tool.d.ts.map +1 -1
  232. package/lib/features/edit-label/edit-label-tool.js +4 -4
  233. package/lib/features/edit-label/edit-label-tool.js.map +1 -1
  234. package/lib/features/edit-label/edit-label-validator.d.ts +1 -17
  235. package/lib/features/edit-label/edit-label-validator.d.ts.map +1 -1
  236. package/lib/features/edit-label/edit-label-validator.js +7 -8
  237. package/lib/features/edit-label/edit-label-validator.js.map +1 -1
  238. package/lib/features/export/di.config.d.ts +19 -0
  239. package/lib/features/export/di.config.d.ts.map +1 -0
  240. package/lib/features/export/di.config.js +29 -0
  241. package/lib/features/export/di.config.js.map +1 -0
  242. package/lib/features/export/glsp-svg-exporter.d.ts +1 -17
  243. package/lib/features/export/glsp-svg-exporter.d.ts.map +1 -1
  244. package/lib/features/export/glsp-svg-exporter.js +19 -5
  245. package/lib/features/export/glsp-svg-exporter.js.map +1 -1
  246. package/lib/features/hints/di.config.d.ts +15 -0
  247. package/lib/features/hints/di.config.d.ts.map +1 -1
  248. package/lib/features/hints/di.config.js +5 -7
  249. package/lib/features/hints/di.config.js.map +1 -1
  250. package/lib/features/hints/model.d.ts +2 -3
  251. package/lib/features/hints/model.d.ts.map +1 -1
  252. package/lib/features/hints/model.js.map +1 -1
  253. package/lib/features/hints/type-hints.d.ts +1 -17
  254. package/lib/features/hints/type-hints.d.ts.map +1 -1
  255. package/lib/features/hints/type-hints.js +14 -16
  256. package/lib/features/hints/type-hints.js.map +1 -1
  257. package/lib/features/hover/di.config.d.ts +1 -1
  258. package/lib/features/hover/di.config.d.ts.map +1 -1
  259. package/lib/features/hover/di.config.js +20 -22
  260. package/lib/features/hover/di.config.js.map +1 -1
  261. package/lib/features/hover/hover.d.ts +1 -17
  262. package/lib/features/hover/hover.d.ts.map +1 -1
  263. package/lib/features/hover/hover.js +9 -11
  264. package/lib/features/hover/hover.js.map +1 -1
  265. package/lib/features/layout/di.config.d.ts +1 -1
  266. package/lib/features/layout/di.config.d.ts.map +1 -1
  267. package/lib/features/layout/di.config.js +4 -12
  268. package/lib/features/layout/di.config.js.map +1 -1
  269. package/lib/features/layout/layout-elements-action.d.ts +5 -21
  270. package/lib/features/layout/layout-elements-action.d.ts.map +1 -1
  271. package/lib/features/layout/layout-elements-action.js +15 -19
  272. package/lib/features/layout/layout-elements-action.js.map +1 -1
  273. package/lib/features/mouse-tool/di.config.d.ts +1 -1
  274. package/lib/features/mouse-tool/di.config.d.ts.map +1 -1
  275. package/lib/features/mouse-tool/di.config.js +4 -5
  276. package/lib/features/mouse-tool/di.config.js.map +1 -1
  277. package/lib/features/mouse-tool/mouse-tool.d.ts +2 -2
  278. package/lib/features/mouse-tool/mouse-tool.d.ts.map +1 -1
  279. package/lib/features/mouse-tool/mouse-tool.js +5 -7
  280. package/lib/features/mouse-tool/mouse-tool.js.map +1 -1
  281. package/lib/features/navigation/di.config.d.ts +17 -1
  282. package/lib/features/navigation/di.config.d.ts.map +1 -1
  283. package/lib/features/navigation/di.config.js +8 -9
  284. package/lib/features/navigation/di.config.js.map +1 -1
  285. package/lib/features/navigation/navigation-action-handler.d.ts +2 -18
  286. package/lib/features/navigation/navigation-action-handler.d.ts.map +1 -1
  287. package/lib/features/navigation/navigation-action-handler.js +21 -22
  288. package/lib/features/navigation/navigation-action-handler.js.map +1 -1
  289. package/lib/features/navigation/navigation-target-resolver.d.ts +1 -17
  290. package/lib/features/navigation/navigation-target-resolver.d.ts.map +1 -1
  291. package/lib/features/navigation/navigation-target-resolver.js +9 -10
  292. package/lib/features/navigation/navigation-target-resolver.js.map +1 -1
  293. package/lib/features/reconnect/model.d.ts +2 -2
  294. package/lib/features/reconnect/model.d.ts.map +1 -1
  295. package/lib/features/reconnect/model.js +7 -7
  296. package/lib/features/reconnect/model.js.map +1 -1
  297. package/lib/features/save/di.config.d.ts +1 -1
  298. package/lib/features/save/di.config.js +3 -3
  299. package/lib/features/save/di.config.js.map +1 -1
  300. package/lib/features/save/model.d.ts +2 -2
  301. package/lib/features/save/model.d.ts.map +1 -1
  302. package/lib/features/save/save-keylistener.d.ts +2 -3
  303. package/lib/features/save/save-keylistener.d.ts.map +1 -1
  304. package/lib/features/save/save-keylistener.js +5 -7
  305. package/lib/features/save/save-keylistener.js.map +1 -1
  306. package/lib/features/select/di.config.d.ts +1 -1
  307. package/lib/features/select/di.config.d.ts.map +1 -1
  308. package/lib/features/select/di.config.js +9 -10
  309. package/lib/features/select/di.config.js.map +1 -1
  310. package/lib/features/select/select-feedback-action.d.ts +1 -17
  311. package/lib/features/select/select-feedback-action.d.ts.map +1 -1
  312. package/lib/features/select/select-feedback-action.js +7 -9
  313. package/lib/features/select/select-feedback-action.js.map +1 -1
  314. package/lib/features/select/select-mouse-listener.d.ts +3 -4
  315. package/lib/features/select/select-mouse-listener.d.ts.map +1 -1
  316. package/lib/features/select/select-mouse-listener.js +23 -25
  317. package/lib/features/select/select-mouse-listener.js.map +1 -1
  318. package/lib/features/select/selection-service.d.ts +1 -17
  319. package/lib/features/select/selection-service.d.ts.map +1 -1
  320. package/lib/features/select/selection-service.js +20 -22
  321. package/lib/features/select/selection-service.js.map +1 -1
  322. package/lib/features/source-model-watcher/di.config.d.ts +15 -0
  323. package/lib/features/source-model-watcher/di.config.d.ts.map +1 -1
  324. package/lib/features/source-model-watcher/di.config.js +3 -4
  325. package/lib/features/source-model-watcher/di.config.js.map +1 -1
  326. package/lib/features/source-model-watcher/source-model-changed-action-handler.d.ts +1 -17
  327. package/lib/features/source-model-watcher/source-model-changed-action-handler.d.ts.map +1 -1
  328. package/lib/features/source-model-watcher/source-model-changed-action-handler.js +7 -8
  329. package/lib/features/source-model-watcher/source-model-changed-action-handler.js.map +1 -1
  330. package/lib/features/svg-metadata/di.config.d.ts +19 -0
  331. package/lib/features/svg-metadata/di.config.d.ts.map +1 -0
  332. package/lib/features/svg-metadata/di.config.js +26 -0
  333. package/lib/features/svg-metadata/di.config.js.map +1 -0
  334. package/{src/base/actions/sprotty-actions.ts → lib/features/svg-metadata/metadata-placer.d.ts} +8 -11
  335. package/lib/features/svg-metadata/metadata-placer.d.ts.map +1 -0
  336. package/lib/features/svg-metadata/metadata-placer.js +61 -0
  337. package/lib/features/svg-metadata/metadata-placer.js.map +1 -0
  338. package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts +2 -18
  339. package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts.map +1 -1
  340. package/lib/features/tool-feedback/change-bounds-tool-feedback.js +17 -18
  341. package/lib/features/tool-feedback/change-bounds-tool-feedback.js.map +1 -1
  342. package/lib/features/tool-feedback/creation-tool-feedback.d.ts +5 -21
  343. package/lib/features/tool-feedback/creation-tool-feedback.d.ts.map +1 -1
  344. package/lib/features/tool-feedback/creation-tool-feedback.js +27 -32
  345. package/lib/features/tool-feedback/creation-tool-feedback.js.map +1 -1
  346. package/lib/features/tool-feedback/css-feedback.d.ts +1 -17
  347. package/lib/features/tool-feedback/css-feedback.d.ts.map +1 -1
  348. package/lib/features/tool-feedback/css-feedback.js +4 -6
  349. package/lib/features/tool-feedback/css-feedback.js.map +1 -1
  350. package/lib/features/tool-feedback/di.config.d.ts +1 -1
  351. package/lib/features/tool-feedback/di.config.d.ts.map +1 -1
  352. package/lib/features/tool-feedback/di.config.js +21 -21
  353. package/lib/features/tool-feedback/di.config.js.map +1 -1
  354. package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts +2 -19
  355. package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts.map +1 -1
  356. package/lib/features/tool-feedback/edge-edit-tool-feedback.js +29 -36
  357. package/lib/features/tool-feedback/edge-edit-tool-feedback.js.map +1 -1
  358. package/lib/features/tool-feedback/feedback-action-dispatcher.d.ts +1 -17
  359. package/lib/features/tool-feedback/feedback-action-dispatcher.d.ts.map +1 -1
  360. package/lib/features/tool-feedback/feedback-action-dispatcher.js +18 -3
  361. package/lib/features/tool-feedback/feedback-action-dispatcher.js.map +1 -1
  362. package/lib/features/tool-feedback/marquee-tool-feedback.d.ts +1 -17
  363. package/lib/features/tool-feedback/marquee-tool-feedback.d.ts.map +1 -1
  364. package/lib/features/tool-feedback/marquee-tool-feedback.js +7 -8
  365. package/lib/features/tool-feedback/marquee-tool-feedback.js.map +1 -1
  366. package/lib/features/tool-feedback/model.d.ts +2 -2
  367. package/lib/features/tool-feedback/model.d.ts.map +1 -1
  368. package/lib/features/tool-feedback/model.js +3 -3
  369. package/lib/features/tool-feedback/model.js.map +1 -1
  370. package/lib/features/tool-feedback/view.d.ts +1 -17
  371. package/lib/features/tool-feedback/view.d.ts.map +1 -1
  372. package/lib/features/tool-feedback/view.js +5 -6
  373. package/lib/features/tool-feedback/view.js.map +1 -1
  374. package/lib/features/tool-palette/di.config.d.ts +1 -1
  375. package/lib/features/tool-palette/di.config.d.ts.map +1 -1
  376. package/lib/features/tool-palette/di.config.js +6 -8
  377. package/lib/features/tool-palette/di.config.js.map +1 -1
  378. package/lib/features/tool-palette/tool-palette.d.ts +1 -17
  379. package/lib/features/tool-palette/tool-palette.d.ts.map +1 -1
  380. package/lib/features/tool-palette/tool-palette.js +20 -23
  381. package/lib/features/tool-palette/tool-palette.js.map +1 -1
  382. package/lib/features/tools/base-glsp-tool.d.ts +1 -17
  383. package/lib/features/tools/base-glsp-tool.d.ts.map +1 -1
  384. package/lib/features/tools/base-glsp-tool.js +21 -7
  385. package/lib/features/tools/base-glsp-tool.js.map +1 -1
  386. package/lib/features/tools/change-bounds-tool.d.ts +1 -17
  387. package/lib/features/tools/change-bounds-tool.d.ts.map +1 -1
  388. package/lib/features/tools/change-bounds-tool.js +27 -29
  389. package/lib/features/tools/change-bounds-tool.js.map +1 -1
  390. package/lib/features/tools/delete-tool.d.ts +1 -17
  391. package/lib/features/tools/delete-tool.d.ts.map +1 -1
  392. package/lib/features/tools/delete-tool.js +15 -18
  393. package/lib/features/tools/delete-tool.js.map +1 -1
  394. package/lib/features/tools/di.config.d.ts +18 -5
  395. package/lib/features/tools/di.config.d.ts.map +1 -1
  396. package/lib/features/tools/di.config.js +19 -22
  397. package/lib/features/tools/di.config.js.map +1 -1
  398. package/lib/features/tools/edge-creation-tool.d.ts +1 -17
  399. package/lib/features/tools/edge-creation-tool.d.ts.map +1 -1
  400. package/lib/features/tools/edge-creation-tool.js +14 -15
  401. package/lib/features/tools/edge-creation-tool.js.map +1 -1
  402. package/lib/features/tools/edge-edit-tool.d.ts +1 -17
  403. package/lib/features/tools/edge-edit-tool.d.ts.map +1 -1
  404. package/lib/features/tools/edge-edit-tool.js +18 -20
  405. package/lib/features/tools/edge-edit-tool.js.map +1 -1
  406. package/lib/features/tools/enable-default-tools-on-focus-loss.d.ts +1 -17
  407. package/lib/features/tools/enable-default-tools-on-focus-loss.d.ts.map +1 -1
  408. package/lib/features/tools/enable-default-tools-on-focus-loss.js +17 -2
  409. package/lib/features/tools/enable-default-tools-on-focus-loss.js.map +1 -1
  410. package/lib/features/tools/glsp-manhattan-edge-router.d.ts +20 -0
  411. package/lib/features/tools/glsp-manhattan-edge-router.d.ts.map +1 -0
  412. package/lib/features/tools/glsp-manhattan-edge-router.js +68 -0
  413. package/lib/features/tools/glsp-manhattan-edge-router.js.map +1 -0
  414. package/lib/features/tools/marquee-behavior.d.ts +2 -2
  415. package/lib/features/tools/marquee-behavior.d.ts.map +1 -1
  416. package/lib/features/tools/marquee-behavior.js +4 -4
  417. package/lib/features/tools/marquee-behavior.js.map +1 -1
  418. package/lib/features/tools/marquee-mouse-tool.d.ts +1 -18
  419. package/lib/features/tools/marquee-mouse-tool.d.ts.map +1 -1
  420. package/lib/features/tools/marquee-mouse-tool.js +15 -18
  421. package/lib/features/tools/marquee-mouse-tool.js.map +1 -1
  422. package/lib/features/tools/marquee-tool.d.ts +1 -17
  423. package/lib/features/tools/marquee-tool.d.ts.map +1 -1
  424. package/lib/features/tools/marquee-tool.js +20 -5
  425. package/lib/features/tools/marquee-tool.js.map +1 -1
  426. package/lib/features/tools/model.d.ts +2 -3
  427. package/lib/features/tools/model.d.ts.map +1 -1
  428. package/lib/features/tools/model.js +18 -3
  429. package/lib/features/tools/model.js.map +1 -1
  430. package/lib/features/tools/node-creation-tool.d.ts +1 -17
  431. package/lib/features/tools/node-creation-tool.d.ts.map +1 -1
  432. package/lib/features/tools/node-creation-tool.js +10 -11
  433. package/lib/features/tools/node-creation-tool.js.map +1 -1
  434. package/lib/features/tools/view.d.ts +1 -1
  435. package/lib/features/tools/view.d.ts.map +1 -1
  436. package/lib/features/tools/view.js +4 -4
  437. package/lib/features/tools/view.js.map +1 -1
  438. package/lib/features/validation/di.config.d.ts +15 -0
  439. package/lib/features/validation/di.config.d.ts.map +1 -1
  440. package/lib/features/validation/di.config.js +9 -11
  441. package/lib/features/validation/di.config.js.map +1 -1
  442. package/lib/features/validation/issue-marker.d.ts +2 -3
  443. package/lib/features/validation/issue-marker.d.ts.map +1 -1
  444. package/lib/features/validation/issue-marker.js +9 -10
  445. package/lib/features/validation/issue-marker.js.map +1 -1
  446. package/lib/features/validation/marker-navigator.d.ts +2 -18
  447. package/lib/features/validation/marker-navigator.d.ts.map +1 -1
  448. package/lib/features/validation/marker-navigator.js +17 -20
  449. package/lib/features/validation/marker-navigator.js.map +1 -1
  450. package/lib/features/validation/validate.d.ts +6 -22
  451. package/lib/features/validation/validate.d.ts.map +1 -1
  452. package/lib/features/validation/validate.js +28 -29
  453. package/lib/features/validation/validate.js.map +1 -1
  454. package/lib/features/viewport/di.config.d.ts +1 -1
  455. package/lib/features/viewport/di.config.d.ts.map +1 -1
  456. package/lib/features/viewport/di.config.js +12 -12
  457. package/lib/features/viewport/di.config.js.map +1 -1
  458. package/lib/features/viewport/glsp-scroll-mouse-listener.d.ts +1 -17
  459. package/lib/features/viewport/glsp-scroll-mouse-listener.d.ts.map +1 -1
  460. package/lib/features/viewport/glsp-scroll-mouse-listener.js +19 -4
  461. package/lib/features/viewport/glsp-scroll-mouse-listener.js.map +1 -1
  462. package/lib/{base/tool-manager/tool-actions.d.ts → glsp-sprotty/augmented-actions.d.ts} +7 -2
  463. package/lib/glsp-sprotty/augmented-actions.d.ts.map +1 -0
  464. package/lib/{base/tool-manager/tool-actions.js → glsp-sprotty/augmented-actions.js} +6 -2
  465. package/lib/glsp-sprotty/augmented-actions.js.map +1 -0
  466. package/lib/{sprotty-reexport.d.ts → glsp-sprotty/index.d.ts} +36 -20
  467. package/lib/glsp-sprotty/index.d.ts.map +1 -0
  468. package/lib/{sprotty-reexport.js → glsp-sprotty/index.js} +84 -42
  469. package/lib/glsp-sprotty/index.js.map +1 -0
  470. package/lib/glsp-sprotty/types.d.ts.map +1 -0
  471. package/lib/{base → glsp-sprotty}/types.js +2 -1
  472. package/lib/glsp-sprotty/types.js.map +1 -0
  473. package/lib/index.d.ts +39 -7
  474. package/lib/index.d.ts.map +1 -1
  475. package/lib/index.js +91 -46
  476. package/lib/index.js.map +1 -1
  477. package/lib/lib/model.d.ts +6 -3
  478. package/lib/lib/model.d.ts.map +1 -1
  479. package/lib/lib/model.js +50 -4
  480. package/lib/lib/model.js.map +1 -1
  481. package/lib/model-source/glsp-diagram-server.d.ts +1 -17
  482. package/lib/model-source/glsp-diagram-server.d.ts.map +1 -1
  483. package/lib/model-source/glsp-diagram-server.js +10 -11
  484. package/lib/model-source/glsp-diagram-server.js.map +1 -1
  485. package/lib/utils/argument-utils.d.ts +2 -2
  486. package/lib/utils/argument-utils.d.ts.map +1 -1
  487. package/lib/utils/argument-utils.js +1 -1
  488. package/lib/utils/argument-utils.js.map +1 -1
  489. package/lib/utils/html-utils.d.ts +1 -1
  490. package/lib/utils/html-utils.js +1 -1
  491. package/lib/utils/layout-utils.d.ts +2 -3
  492. package/lib/utils/layout-utils.d.ts.map +1 -1
  493. package/lib/utils/layout-utils.js.map +1 -1
  494. package/lib/utils/marker.d.ts +16 -1
  495. package/lib/utils/marker.d.ts.map +1 -1
  496. package/lib/utils/marker.js +6 -7
  497. package/lib/utils/marker.js.map +1 -1
  498. package/lib/utils/smodel-util.d.ts +28 -9
  499. package/lib/utils/smodel-util.d.ts.map +1 -1
  500. package/lib/utils/smodel-util.js +50 -18
  501. package/lib/utils/smodel-util.js.map +1 -1
  502. package/lib/utils/viewpoint-util.d.ts +2 -3
  503. package/lib/utils/viewpoint-util.d.ts.map +1 -1
  504. package/lib/utils/viewpoint-util.js +5 -6
  505. package/lib/utils/viewpoint-util.js.map +1 -1
  506. package/lib/views/base-view-module.d.ts +18 -6
  507. package/lib/views/base-view-module.d.ts.map +1 -1
  508. package/lib/views/base-view-module.js +22 -23
  509. package/lib/views/base-view-module.js.map +1 -1
  510. package/lib/views/compartments.d.ts +1 -1
  511. package/lib/views/compartments.d.ts.map +1 -1
  512. package/lib/views/compartments.js +4 -4
  513. package/lib/views/compartments.js.map +1 -1
  514. package/lib/views/glsp-edge-view.d.ts +2 -18
  515. package/lib/views/glsp-edge-view.d.ts.map +1 -1
  516. package/lib/views/glsp-edge-view.js +20 -5
  517. package/lib/views/glsp-edge-view.js.map +1 -1
  518. package/lib/views/glsp-projection-view.d.ts +2 -4
  519. package/lib/views/glsp-projection-view.d.ts.map +1 -1
  520. package/lib/views/glsp-projection-view.js +11 -9
  521. package/lib/views/glsp-projection-view.js.map +1 -1
  522. package/lib/views/index.d.ts +1 -1
  523. package/lib/views/index.js +1 -1
  524. package/lib/views/issue-marker-view.d.ts +1 -1
  525. package/lib/views/issue-marker-view.d.ts.map +1 -1
  526. package/lib/views/issue-marker-view.js +5 -5
  527. package/lib/views/issue-marker-view.js.map +1 -1
  528. package/lib/views/rounded-corner-view.d.ts +1 -1
  529. package/lib/views/rounded-corner-view.d.ts.map +1 -1
  530. package/lib/views/rounded-corner-view.js +6 -6
  531. package/lib/views/rounded-corner-view.js.map +1 -1
  532. package/lib/views/rounded-corner.d.ts +2 -3
  533. package/lib/views/rounded-corner.d.ts.map +1 -1
  534. package/lib/views/rounded-corner.js +1 -1
  535. package/lib/views/rounded-corner.js.map +1 -1
  536. package/package.json +25 -23
  537. package/src/base/action-dispatcher.ts +2 -3
  538. package/src/base/actions/focus-change-action.ts +2 -2
  539. package/src/base/argumentable.ts +2 -3
  540. package/src/base/auto-complete/auto-complete-actions.ts +2 -2
  541. package/src/base/auto-complete/auto-complete-widget.ts +35 -14
  542. package/src/base/auto-complete/validation-decorator.ts +2 -3
  543. package/src/base/command-stack.ts +13 -11
  544. package/src/base/container-modules.ts +46 -12
  545. package/src/base/di.config.ts +19 -10
  546. package/src/base/drag-aware-mouse-listener.ts +2 -3
  547. package/src/base/editor-context-service.ts +19 -7
  548. package/src/base/focus-tracker.ts +2 -4
  549. package/src/base/model/model-registry.ts +2 -2
  550. package/src/base/model/update-model-command.ts +8 -5
  551. package/src/base/model-initialization-constraint.ts +2 -3
  552. package/src/base/selection-clearing-mouse-listener.ts +2 -2
  553. package/src/base/source-uri-aware.ts +2 -2
  554. package/src/base/tool-manager/glsp-tool-manager.ts +15 -14
  555. package/src/base/view/view-registry.ts +2 -2
  556. package/src/features/accessibility/README.md +65 -0
  557. package/src/features/accessibility/di.config.ts +32 -0
  558. package/src/features/accessibility/move-zoom/di.config.ts +42 -0
  559. package/src/features/accessibility/move-zoom/move-handler.ts +209 -0
  560. package/src/features/accessibility/move-zoom/zoom-handler.ts +182 -0
  561. package/src/features/accessibility/resize-key-tool/di.config.ts +35 -0
  562. package/src/features/accessibility/resize-key-tool/resize-key-handler.ts +129 -0
  563. package/src/features/accessibility/resize-key-tool/resize-key-tool.ts +106 -0
  564. package/src/features/accessibility/search/di.config.ts +30 -0
  565. package/src/features/accessibility/search/search-palette.ts +193 -0
  566. package/src/features/accessibility/search/search-tool.ts +59 -0
  567. package/src/features/accessibility/view-key-tools/deselect-key-tool.ts +88 -0
  568. package/src/features/accessibility/view-key-tools/di.config.ts +32 -0
  569. package/src/features/accessibility/view-key-tools/movement-key-tool.ts +113 -0
  570. package/src/features/accessibility/view-key-tools/zoom-key-tool.ts +92 -0
  571. package/src/features/autocomplete-palette/autocomplete-suggestion-providers.ts +37 -0
  572. package/src/features/autocomplete-palette/base-autocomplete-palette.ts +87 -0
  573. package/src/features/bounds/di.config.ts +49 -0
  574. package/src/features/{layout/tests → bounds}/freeform-layout.spec.ts +3 -3
  575. package/src/features/{layout → bounds}/freeform-layout.ts +14 -6
  576. package/src/features/bounds/glsp-hidden-bounds-updater.ts +96 -0
  577. package/src/features/{layout/tests → bounds}/hbox-layout.spec.ts +3 -4
  578. package/src/features/{layout → bounds}/hbox-layout.ts +9 -7
  579. package/src/features/{layout/tests/layouter-test-util.ts → bounds/layouter-test-util.spec.ts} +12 -11
  580. package/src/features/{layout → bounds}/layouter.ts +7 -7
  581. package/src/features/{layout/tests → bounds}/vbox-layout.spec.ts +3 -4
  582. package/src/features/{layout → bounds}/vbox-layout.ts +8 -6
  583. package/src/features/change-bounds/model.ts +2 -2
  584. package/src/features/change-bounds/movement-restrictor.ts +3 -4
  585. package/src/features/change-bounds/snap.spec.ts +2 -2
  586. package/src/features/change-bounds/snap.ts +2 -3
  587. package/src/features/command-palette/command-palette-tool.ts +4 -4
  588. package/src/features/command-palette/di.config.ts +6 -9
  589. package/src/features/command-palette/server-command-palette-provider.ts +11 -4
  590. package/src/features/context-menu/delete-element-context-menu.ts +2 -4
  591. package/src/features/context-menu/di.config.ts +4 -5
  592. package/src/features/context-menu/selection-service-aware-context-menu-mouse-listener.ts +2 -4
  593. package/src/features/context-menu/server-context-menu-provider.ts +12 -4
  594. package/src/features/copy-paste/copy-paste-context-menu.ts +15 -4
  595. package/src/features/copy-paste/copy-paste-handler.ts +18 -16
  596. package/src/features/copy-paste/di.config.ts +2 -3
  597. package/src/features/decoration/decoration-placer.ts +2 -3
  598. package/src/features/decoration/di.config.ts +4 -5
  599. package/src/features/edit-label/di.config.ts +3 -4
  600. package/src/features/edit-label/edit-label-tool.ts +2 -2
  601. package/src/features/edit-label/edit-label-validator.ts +9 -6
  602. package/src/features/export/di.config.ts +28 -0
  603. package/src/features/export/glsp-svg-exporter.ts +9 -9
  604. package/src/features/hints/di.config.ts +2 -4
  605. package/src/features/hints/model.ts +2 -3
  606. package/src/features/hints/type-hints.ts +13 -9
  607. package/src/features/hover/di.config.ts +13 -12
  608. package/src/features/hover/hover.ts +14 -8
  609. package/src/features/layout/di.config.ts +2 -11
  610. package/src/features/layout/layout-elements-action.spec.ts +13 -15
  611. package/src/features/layout/layout-elements-action.ts +13 -10
  612. package/src/features/mouse-tool/di.config.ts +2 -3
  613. package/src/features/mouse-tool/mouse-tool.ts +2 -4
  614. package/src/features/navigation/di.config.ts +5 -4
  615. package/src/features/navigation/navigation-action-handler.ts +13 -9
  616. package/src/features/navigation/navigation-target-resolver.spec.ts +2 -3
  617. package/src/features/navigation/navigation-target-resolver.ts +10 -4
  618. package/src/features/reconnect/model.ts +2 -2
  619. package/src/features/save/di.config.ts +3 -3
  620. package/src/features/save/model.ts +2 -2
  621. package/src/features/save/save-keylistener.ts +2 -4
  622. package/src/features/select/di.config.ts +8 -9
  623. package/src/features/select/select-feedback-action.ts +11 -4
  624. package/src/features/select/select-mouse-listener.ts +11 -10
  625. package/src/features/select/selection-service.spec.ts +4 -8
  626. package/src/features/select/selection-service.ts +14 -9
  627. package/src/features/source-model-watcher/di.config.ts +2 -3
  628. package/src/features/source-model-watcher/source-model-changed-action-handler.ts +11 -4
  629. package/src/features/svg-metadata/di.config.ts +26 -0
  630. package/src/features/svg-metadata/metadata-placer.ts +49 -0
  631. package/src/features/tool-feedback/change-bounds-tool-feedback.ts +13 -11
  632. package/src/features/tool-feedback/creation-tool-feedback.ts +30 -21
  633. package/src/features/tool-feedback/css-feedback.ts +2 -5
  634. package/src/features/tool-feedback/di.config.ts +20 -20
  635. package/src/features/tool-feedback/edge-edit-tool-feedback.ts +14 -19
  636. package/src/features/tool-feedback/feedback-action-dispatcher.ts +2 -4
  637. package/src/features/tool-feedback/marquee-tool-feedback.ts +6 -4
  638. package/src/features/tool-feedback/model.ts +2 -2
  639. package/src/features/tool-feedback/view.tsx +2 -3
  640. package/src/features/tool-palette/di.config.ts +4 -6
  641. package/src/features/tool-palette/tool-palette.ts +13 -8
  642. package/src/features/tools/base-glsp-tool.ts +2 -4
  643. package/src/features/tools/change-bounds-tool.ts +21 -23
  644. package/src/features/tools/delete-tool.ts +10 -9
  645. package/src/features/tools/di.config.ts +29 -22
  646. package/src/features/tools/edge-creation-tool.ts +9 -7
  647. package/src/features/tools/edge-edit-tool.ts +13 -11
  648. package/src/features/tools/enable-default-tools-on-focus-loss.ts +2 -3
  649. package/src/features/tools/glsp-manhattan-edge-router.ts +59 -0
  650. package/src/features/tools/marquee-behavior.ts +2 -3
  651. package/src/features/tools/marquee-mouse-tool.ts +9 -8
  652. package/src/features/tools/marquee-tool.ts +2 -3
  653. package/src/features/tools/model.ts +2 -3
  654. package/src/features/tools/node-creation-tool.ts +8 -6
  655. package/src/features/tools/view.tsx +2 -2
  656. package/src/features/validation/di.config.ts +5 -7
  657. package/src/features/validation/issue-marker.ts +13 -3
  658. package/src/features/validation/marker-navigator.spec.ts +7 -8
  659. package/src/features/validation/marker-navigator.ts +16 -11
  660. package/src/features/validation/validate.ts +32 -23
  661. package/src/features/viewport/di.config.ts +14 -12
  662. package/src/features/viewport/glsp-scroll-mouse-listener.ts +10 -3
  663. package/src/{base/tool-manager/tool-actions.ts → glsp-sprotty/augmented-actions.ts} +14 -3
  664. package/src/{sprotty-reexport.ts → glsp-sprotty/index.ts} +102 -46
  665. package/src/{base → glsp-sprotty}/types.ts +2 -1
  666. package/src/index.ts +53 -8
  667. package/src/lib/model.ts +45 -3
  668. package/src/model-source/glsp-diagram-server.ts +10 -5
  669. package/src/utils/argument-utils.ts +2 -2
  670. package/src/utils/html-utils.ts +1 -1
  671. package/src/utils/layout-utils.ts +2 -3
  672. package/src/utils/marker.ts +2 -3
  673. package/src/utils/smodel-util.ts +56 -14
  674. package/src/utils/viewpoint-util.ts +13 -3
  675. package/src/views/base-view-module.ts +11 -15
  676. package/src/views/compartments.tsx +2 -2
  677. package/src/views/glsp-edge-view.tsx +4 -5
  678. package/src/views/glsp-projection-view.tsx +6 -5
  679. package/src/views/index.ts +1 -2
  680. package/src/views/issue-marker-view.tsx +2 -2
  681. package/src/views/rounded-corner-view.tsx +3 -3
  682. package/src/views/rounded-corner.ts +3 -4
  683. package/lib/base/actions/sprotty-actions.d.ts +0 -7
  684. package/lib/base/actions/sprotty-actions.d.ts.map +0 -1
  685. package/lib/base/actions/sprotty-actions.js.map +0 -1
  686. package/lib/base/tool-manager/tool-actions.d.ts.map +0 -1
  687. package/lib/base/tool-manager/tool-actions.js.map +0 -1
  688. package/lib/base/types.d.ts.map +0 -1
  689. package/lib/base/types.js.map +0 -1
  690. package/lib/features/change-bounds/snap.spec.d.ts.map +0 -1
  691. package/lib/features/change-bounds/snap.spec.js +0 -82
  692. package/lib/features/change-bounds/snap.spec.js.map +0 -1
  693. package/lib/features/layout/freeform-layout.d.ts +0 -32
  694. package/lib/features/layout/freeform-layout.d.ts.map +0 -1
  695. package/lib/features/layout/freeform-layout.js.map +0 -1
  696. package/lib/features/layout/hbox-layout.d.ts.map +0 -1
  697. package/lib/features/layout/hbox-layout.js.map +0 -1
  698. package/lib/features/layout/layout-elements-action.spec.d.ts +0 -3
  699. package/lib/features/layout/layout-elements-action.spec.d.ts.map +0 -1
  700. package/lib/features/layout/layout-elements-action.spec.js +0 -325
  701. package/lib/features/layout/layout-elements-action.spec.js.map +0 -1
  702. package/lib/features/layout/layouter.d.ts +0 -37
  703. package/lib/features/layout/layouter.d.ts.map +0 -1
  704. package/lib/features/layout/layouter.js.map +0 -1
  705. package/lib/features/layout/tests/freeform-layout.spec.d.ts +0 -3
  706. package/lib/features/layout/tests/freeform-layout.spec.d.ts.map +0 -1
  707. package/lib/features/layout/tests/freeform-layout.spec.js +0 -201
  708. package/lib/features/layout/tests/freeform-layout.spec.js.map +0 -1
  709. package/lib/features/layout/tests/hbox-layout.spec.d.ts +0 -3
  710. package/lib/features/layout/tests/hbox-layout.spec.d.ts.map +0 -1
  711. package/lib/features/layout/tests/hbox-layout.spec.js +0 -161
  712. package/lib/features/layout/tests/hbox-layout.spec.js.map +0 -1
  713. package/lib/features/layout/tests/layouter-test-util.d.ts +0 -34
  714. package/lib/features/layout/tests/layouter-test-util.d.ts.map +0 -1
  715. package/lib/features/layout/tests/layouter-test-util.js +0 -96
  716. package/lib/features/layout/tests/layouter-test-util.js.map +0 -1
  717. package/lib/features/layout/tests/vbox-layout.spec.d.ts +0 -3
  718. package/lib/features/layout/tests/vbox-layout.spec.d.ts.map +0 -1
  719. package/lib/features/layout/tests/vbox-layout.spec.js +0 -161
  720. package/lib/features/layout/tests/vbox-layout.spec.js.map +0 -1
  721. package/lib/features/layout/vbox-layout.d.ts.map +0 -1
  722. package/lib/features/layout/vbox-layout.js.map +0 -1
  723. package/lib/features/navigation/navigation-target-resolver.spec.d.ts +0 -3
  724. package/lib/features/navigation/navigation-target-resolver.spec.d.ts.map +0 -1
  725. package/lib/features/navigation/navigation-target-resolver.spec.js +0 -54
  726. package/lib/features/navigation/navigation-target-resolver.spec.js.map +0 -1
  727. package/lib/features/select/selection-service.spec.d.ts +0 -2
  728. package/lib/features/select/selection-service.spec.d.ts.map +0 -1
  729. package/lib/features/select/selection-service.spec.js +0 -347
  730. package/lib/features/select/selection-service.spec.js.map +0 -1
  731. package/lib/features/tools/marquee-behavior.spec.d.ts.map +0 -1
  732. package/lib/features/tools/marquee-behavior.spec.js +0 -165
  733. package/lib/features/tools/marquee-behavior.spec.js.map +0 -1
  734. package/lib/features/validation/marker-navigator.spec.d.ts +0 -3
  735. package/lib/features/validation/marker-navigator.spec.d.ts.map +0 -1
  736. package/lib/features/validation/marker-navigator.spec.js +0 -169
  737. package/lib/features/validation/marker-navigator.spec.js.map +0 -1
  738. package/lib/sprotty-reexport.d.ts.map +0 -1
  739. package/lib/sprotty-reexport.js.map +0 -1
  740. /package/lib/{base → glsp-sprotty}/types.d.ts +0 -0
@@ -0,0 +1,59 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2023 Business Informatics Group (TU Wien) and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+
17
+ import { inject, injectable } from 'inversify';
18
+ import { matchesKeystroke } from 'sprotty/lib/utils/keyboard';
19
+ import { Action, KeyListener, KeyTool, SModelElement, SetUIExtensionVisibilityAction, Tool } from '~glsp-sprotty';
20
+ import { SearchAutocompletePalette } from './search-palette';
21
+
22
+ @injectable()
23
+ export class SearchAutocompletePaletteTool implements Tool {
24
+ static readonly ID = 'glsp.search-autocomplete-palette-tool';
25
+
26
+ protected readonly keyListener = new SearchAutocompletePaletteKeyListener();
27
+
28
+ @inject(KeyTool) protected keyTool: KeyTool;
29
+
30
+ get id(): string {
31
+ return SearchAutocompletePaletteTool.ID;
32
+ }
33
+
34
+ enable(): void {
35
+ this.keyTool.register(this.keyListener);
36
+ }
37
+
38
+ disable(): void {
39
+ this.keyTool.deregister(this.keyListener);
40
+ }
41
+ }
42
+
43
+ export class SearchAutocompletePaletteKeyListener extends KeyListener {
44
+ override keyDown(element: SModelElement, event: KeyboardEvent): Action[] {
45
+ if (this.matchesSearchActivateKeystroke(event)) {
46
+ return [
47
+ SetUIExtensionVisibilityAction.create({
48
+ extensionId: SearchAutocompletePalette.ID,
49
+ visible: true
50
+ })
51
+ ];
52
+ }
53
+ return [];
54
+ }
55
+
56
+ protected matchesSearchActivateKeystroke(event: KeyboardEvent): boolean {
57
+ return matchesKeystroke(event, 'KeyF', 'ctrl');
58
+ }
59
+ }
@@ -0,0 +1,88 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2023 Business Informatics Group (TU Wien) and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+
17
+ import { inject, injectable } from 'inversify';
18
+ import { toArray } from 'sprotty/lib/utils/iterable';
19
+ import { matchesKeystroke } from 'sprotty/lib/utils/keyboard';
20
+ import {
21
+ Action,
22
+ KeyListener,
23
+ KeyTool,
24
+ SModelElement,
25
+ SRoutableElement,
26
+ SelectAction,
27
+ SwitchEditModeAction,
28
+ isSelectable
29
+ } from '~glsp-sprotty';
30
+ import { GLSPTool } from '../../../base/tool-manager/glsp-tool-manager';
31
+ import { SResizeHandle } from '../../change-bounds/model';
32
+
33
+ /**
34
+ * Deselects the element if there is no interaction possible with element.
35
+ */
36
+ @injectable()
37
+ export class DeselectKeyTool implements GLSPTool {
38
+ static ID = 'glsp.deselect-key-tool';
39
+
40
+ isEditTool = true;
41
+
42
+ protected readonly deselectKeyListener = new DeselectKeyListener();
43
+
44
+ @inject(KeyTool) protected readonly keytool: KeyTool;
45
+
46
+ get id(): string {
47
+ return DeselectKeyTool.ID;
48
+ }
49
+
50
+ enable(): void {
51
+ this.keytool.register(this.deselectKeyListener);
52
+ }
53
+
54
+ disable(): void {
55
+ this.keytool.deregister(this.deselectKeyListener);
56
+ }
57
+ }
58
+
59
+ export class DeselectKeyListener extends KeyListener {
60
+ override keyDown(target: SModelElement, event: KeyboardEvent): Action[] {
61
+ if (this.matchesDeselectKeystroke(event)) {
62
+ const isResizeHandleActive = toArray(target.root.index.all().filter(el => el instanceof SResizeHandle)).length > 0;
63
+
64
+ if (isResizeHandleActive) {
65
+ return [];
66
+ }
67
+
68
+ const deselect = toArray(target.root.index.all().filter(element => isSelectable(element) && element.selected));
69
+ const actions: Action[] = [];
70
+
71
+ if (deselect.length > 0) {
72
+ actions.push(SelectAction.create({ deselectedElementsIDs: deselect.map(e => e.id) }));
73
+ }
74
+
75
+ const routableDeselect = deselect.filter(e => e instanceof SRoutableElement).map(e => e.id);
76
+ if (routableDeselect.length > 0) {
77
+ actions.push(SwitchEditModeAction.create({ elementsToDeactivate: routableDeselect }));
78
+ }
79
+
80
+ return actions;
81
+ }
82
+ return [];
83
+ }
84
+
85
+ protected matchesDeselectKeystroke(event: KeyboardEvent): boolean {
86
+ return matchesKeystroke(event, 'Escape');
87
+ }
88
+ }
@@ -0,0 +1,32 @@
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 { ContainerModule } from 'inversify';
18
+ import { bindAsService, BindingContext, TYPES } from '~glsp-sprotty';
19
+ import { DeselectKeyTool } from '../view-key-tools/deselect-key-tool';
20
+ import { MovementKeyTool } from './movement-key-tool';
21
+ import { ZoomKeyTool } from './zoom-key-tool';
22
+
23
+ export const glspViewKeyToolsModule = new ContainerModule((bind, _unbind, isBound, rebind) => {
24
+ const context = { bind, isBound, rebind };
25
+ configureViewKeyTools(context);
26
+ });
27
+
28
+ export function configureViewKeyTools(context: Pick<BindingContext, 'bind'>): void {
29
+ bindAsService(context, TYPES.IDefaultTool, MovementKeyTool);
30
+ bindAsService(context, TYPES.IDefaultTool, ZoomKeyTool);
31
+ bindAsService(context, TYPES.IDefaultTool, DeselectKeyTool);
32
+ }
@@ -0,0 +1,113 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2023 Business Informatics Group (TU Wien) and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+
17
+ import { inject, injectable, optional } from 'inversify';
18
+ import { matchesKeystroke } from 'sprotty/lib/utils/keyboard';
19
+ import { Action, ISnapper, KeyListener, KeyTool, SModelElement, TYPES } from '~glsp-sprotty';
20
+ import { GLSPTool } from '../../../base/tool-manager/glsp-tool-manager';
21
+ import { GridSnapper } from '../../change-bounds/snap';
22
+
23
+ import { SelectionService } from '../../select/selection-service';
24
+ import { MoveElementAction, MoveViewportAction } from '../move-zoom/move-handler';
25
+
26
+ /**
27
+ * Moves viewport and elements when its focused and arrow keys are hit.
28
+ */
29
+ @injectable()
30
+ export class MovementKeyTool implements GLSPTool {
31
+ static ID = 'glsp.movement-key-tool';
32
+
33
+ isEditTool = true;
34
+
35
+ protected readonly movementKeyListener = new MoveKeyListener(this);
36
+
37
+ @inject(KeyTool) protected readonly keytool: KeyTool;
38
+ @inject(TYPES.SelectionService) selectionService: SelectionService;
39
+ @inject(TYPES.ISnapper) @optional() readonly snapper?: ISnapper;
40
+
41
+ get id(): string {
42
+ return MovementKeyTool.ID;
43
+ }
44
+
45
+ enable(): void {
46
+ this.keytool.register(this.movementKeyListener);
47
+ }
48
+
49
+ disable(): void {
50
+ this.keytool.deregister(this.movementKeyListener);
51
+ }
52
+ }
53
+
54
+ export class MoveKeyListener extends KeyListener {
55
+ // Default x distance used if GridSnapper is not provided
56
+ static readonly defaultMoveX = 20;
57
+
58
+ // Default y distance used if GridSnapper is not provided
59
+ static readonly defaultMoveY = 20;
60
+
61
+ protected grid = { x: MoveKeyListener.defaultMoveX, y: MoveKeyListener.defaultMoveY };
62
+
63
+ constructor(protected readonly tool: MovementKeyTool) {
64
+ super();
65
+
66
+ if (this.tool.snapper instanceof GridSnapper) {
67
+ this.grid = this.tool.snapper.grid;
68
+ }
69
+ }
70
+
71
+ override keyDown(element: SModelElement, event: KeyboardEvent): Action[] {
72
+ const selectedElementIds = this.tool.selectionService.getSelectedElementIDs();
73
+
74
+ if (selectedElementIds.length > 0) {
75
+ if (this.matchesMoveUpKeystroke(event)) {
76
+ return [MoveElementAction.create(selectedElementIds, 0, -this.grid.x)];
77
+ } else if (this.matchesMoveDownKeystroke(event)) {
78
+ return [MoveElementAction.create(selectedElementIds, 0, this.grid.x)];
79
+ } else if (this.matchesMoveRightKeystroke(event)) {
80
+ return [MoveElementAction.create(selectedElementIds, this.grid.x, 0)];
81
+ } else if (this.matchesMoveLeftKeystroke(event)) {
82
+ return [MoveElementAction.create(selectedElementIds, -this.grid.x, 0)];
83
+ }
84
+ } else {
85
+ if (this.matchesMoveUpKeystroke(event)) {
86
+ return [MoveViewportAction.create(0, -this.grid.x)];
87
+ } else if (this.matchesMoveDownKeystroke(event)) {
88
+ return [MoveViewportAction.create(0, this.grid.x)];
89
+ } else if (this.matchesMoveRightKeystroke(event)) {
90
+ return [MoveViewportAction.create(this.grid.x, 0)];
91
+ } else if (this.matchesMoveLeftKeystroke(event)) {
92
+ return [MoveViewportAction.create(-this.grid.x, 0)];
93
+ }
94
+ }
95
+ return [];
96
+ }
97
+
98
+ protected matchesMoveUpKeystroke(event: KeyboardEvent): boolean {
99
+ return matchesKeystroke(event, 'ArrowUp');
100
+ }
101
+
102
+ protected matchesMoveDownKeystroke(event: KeyboardEvent): boolean {
103
+ return matchesKeystroke(event, 'ArrowDown');
104
+ }
105
+
106
+ protected matchesMoveRightKeystroke(event: KeyboardEvent): boolean {
107
+ return matchesKeystroke(event, 'ArrowRight');
108
+ }
109
+
110
+ protected matchesMoveLeftKeystroke(event: KeyboardEvent): boolean {
111
+ return matchesKeystroke(event, 'ArrowLeft');
112
+ }
113
+ }
@@ -0,0 +1,92 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2023 Business Informatics Group (TU Wien) and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+
17
+ import { inject, injectable } from 'inversify';
18
+ import { matchesKeystroke } from 'sprotty/lib/utils/keyboard';
19
+ import { Action, CenterAction, KeyListener, KeyTool, SModelElement, TYPES } from '~glsp-sprotty';
20
+ import { GLSPTool } from '../../../base/tool-manager/glsp-tool-manager';
21
+ import { SelectionService } from '../../select/selection-service';
22
+ import { ZoomElementAction, ZoomViewportAction } from '../move-zoom/zoom-handler';
23
+
24
+ /**
25
+ * Zoom viewport and elements when its focused and arrow keys are hit.
26
+ */
27
+ @injectable()
28
+ export class ZoomKeyTool implements GLSPTool {
29
+ static ID = 'glsp.zoom-key-tool';
30
+
31
+ isEditTool = false;
32
+
33
+ protected readonly zoomKeyListener = new ZoomKeyListener(this);
34
+
35
+ @inject(KeyTool) protected readonly keytool: KeyTool;
36
+ @inject(TYPES.SelectionService) selectionService: SelectionService;
37
+
38
+ get id(): string {
39
+ return ZoomKeyTool.ID;
40
+ }
41
+
42
+ enable(): void {
43
+ this.keytool.register(this.zoomKeyListener);
44
+ }
45
+
46
+ disable(): void {
47
+ this.keytool.deregister(this.zoomKeyListener);
48
+ }
49
+ }
50
+
51
+ export class ZoomKeyListener extends KeyListener {
52
+ static readonly defaultZoomInFactor = 1.1;
53
+ static readonly defaultZoomOutFactor = 0.9;
54
+
55
+ constructor(protected tool: ZoomKeyTool) {
56
+ super();
57
+ }
58
+
59
+ override keyDown(element: SModelElement, event: KeyboardEvent): Action[] {
60
+ const selectedElementIds = this.tool.selectionService.getSelectedElementIDs();
61
+
62
+ if (this.matchesZoomOutKeystroke(event)) {
63
+ if (selectedElementIds.length > 0) {
64
+ return [ZoomElementAction.create(selectedElementIds, ZoomKeyListener.defaultZoomOutFactor)];
65
+ } else {
66
+ return [ZoomViewportAction.create(ZoomKeyListener.defaultZoomOutFactor)];
67
+ }
68
+ } else if (this.matchesZoomInKeystroke(event)) {
69
+ if (selectedElementIds.length > 0) {
70
+ return [ZoomElementAction.create(selectedElementIds, ZoomKeyListener.defaultZoomInFactor)];
71
+ } else {
72
+ return [ZoomViewportAction.create(ZoomKeyListener.defaultZoomInFactor)];
73
+ }
74
+ } else if (this.matchesMinZoomLevelKeystroke(event)) {
75
+ return [CenterAction.create(selectedElementIds)];
76
+ }
77
+ return [];
78
+ }
79
+
80
+ protected matchesZoomInKeystroke(event: KeyboardEvent): boolean {
81
+ /** here event.key is used for '+', as keycode 187 is already declared for 'Equals' in {@link matchesKeystroke}.*/
82
+ return event.key === '+' || matchesKeystroke(event, 'NumpadAdd');
83
+ }
84
+
85
+ protected matchesMinZoomLevelKeystroke(event: KeyboardEvent): boolean {
86
+ return matchesKeystroke(event, 'Digit0', 'ctrl') || matchesKeystroke(event, 'Numpad0', 'ctrl');
87
+ }
88
+
89
+ protected matchesZoomOutKeystroke(event: KeyboardEvent): boolean {
90
+ return matchesKeystroke(event, 'Minus') || matchesKeystroke(event, 'NumpadSubtract');
91
+ }
92
+ }
@@ -0,0 +1,37 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2023 Business Informatics Group (TU Wien) and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+
17
+ import { LabeledAction, SModelElement, SModelRoot } from '~glsp-sprotty';
18
+
19
+ /**
20
+ * Interface for a provider that provides suggestions that can be used to fill the autocomplete
21
+ */
22
+ export interface IAutocompleteSuggestionProvider {
23
+ /**
24
+ * Returns the suggestions based on the provided parameters.
25
+ * @param root: The root model
26
+ * @param text: The text input provided by the user.
27
+ */
28
+ retrieveSuggestions(root: Readonly<SModelRoot>, text: string): Promise<AutocompleteSuggestion[]>;
29
+ }
30
+
31
+ /**
32
+ * Interface for autocomplete suggestions.
33
+ */
34
+ export interface AutocompleteSuggestion {
35
+ element: SModelElement;
36
+ action: LabeledAction;
37
+ }
@@ -0,0 +1,87 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2023 Business Informatics Group (TU Wien) and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+
17
+ import { inject } from 'inversify';
18
+ import { AbstractUIExtension, Action, LabeledAction, SModelRoot, TYPES } from '~glsp-sprotty';
19
+ import '../../../css/autocomplete-palette.css';
20
+ import { GLSPActionDispatcher } from '../../base/action-dispatcher';
21
+ import { AutoCompleteWidget, CloseReason, toActionArray } from '../../base/auto-complete/auto-complete-widget';
22
+
23
+ export abstract class BaseAutocompletePalette extends AbstractUIExtension {
24
+ protected readonly autoSuggestionSettings = {
25
+ noSuggestionsMessage: 'No suggestions available',
26
+ suggestionsClass: 'command-palette-suggestions',
27
+ debounceWaitMs: 50,
28
+ showOnFocus: true
29
+ };
30
+
31
+ protected root?: Readonly<SModelRoot>;
32
+ protected autocompleteWidget: AutoCompleteWidget;
33
+
34
+ @inject(TYPES.IActionDispatcher)
35
+ protected actionDispatcher: GLSPActionDispatcher;
36
+
37
+ containerClass(): string {
38
+ return 'autocomplete-palette';
39
+ }
40
+
41
+ override show(root: Readonly<SModelRoot>, ...contextElementIds: string[]): void {
42
+ super.show(root, ...contextElementIds);
43
+ this.root = root;
44
+ this.autocompleteWidget.open(root);
45
+ }
46
+
47
+ override hide(): void {
48
+ this.autocompleteWidget.dispose();
49
+ this.root = undefined;
50
+ super.hide();
51
+ }
52
+
53
+ protected initializeContents(containerElement: HTMLElement): void {
54
+ containerElement.classList.add('command-palette');
55
+
56
+ this.autocompleteWidget = new AutoCompleteWidget(
57
+ this.autoSuggestionSettings,
58
+ { provideSuggestions: input => this.retrieveSuggestions(this.root!, input) },
59
+ { executeFromSuggestion: input => this.executeSuggestion(input) },
60
+ reason => this.autocompleteHide(reason),
61
+ this.logger,
62
+ {
63
+ visibleSuggestionsChanged: suggestions => this.visibleSuggestionsChanged(this.root!, suggestions),
64
+ selectedSuggestionChanged: suggestion => this.selectedSuggestionChanged(this.root!, suggestion)
65
+ }
66
+ );
67
+ this.autocompleteWidget.initialize(containerElement);
68
+ }
69
+
70
+ protected abstract retrieveSuggestions(root: Readonly<SModelRoot>, input: string): Promise<LabeledAction[]>;
71
+
72
+ protected async visibleSuggestionsChanged(root: Readonly<SModelRoot>, labeledActions: LabeledAction[]): Promise<void> {
73
+ return;
74
+ }
75
+
76
+ protected async selectedSuggestionChanged(root: Readonly<SModelRoot>, labeledAction?: LabeledAction): Promise<void> {
77
+ return;
78
+ }
79
+
80
+ protected autocompleteHide(reason: CloseReason): void {
81
+ this.hide();
82
+ }
83
+
84
+ protected executeSuggestion(input: LabeledAction | Action[] | Action): void {
85
+ this.actionDispatcher.dispatchAll(toActionArray(input));
86
+ }
87
+ }
@@ -0,0 +1,49 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2022-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 { ContainerModule } from 'inversify';
17
+ import {
18
+ HBoxLayouter,
19
+ HiddenBoundsUpdater,
20
+ LayoutRegistry,
21
+ Layouter,
22
+ RequestBoundsCommand,
23
+ SetBoundsCommand,
24
+ TYPES,
25
+ VBoxLayouter,
26
+ bindAsService,
27
+ configureCommand,
28
+ configureLayout
29
+ } from '~glsp-sprotty';
30
+ import { FreeFormLayouter } from './freeform-layout';
31
+ import { GLSPHiddenBoundsUpdater } from './glsp-hidden-bounds-updater';
32
+ import { HBoxLayouterExt } from './hbox-layout';
33
+ import { VBoxLayouterExt } from './vbox-layout';
34
+
35
+ const glspBoundsModule = new ContainerModule((bind, _unbind, isBound, _rebind) => {
36
+ const context = { bind, isBound };
37
+ configureCommand(context, SetBoundsCommand);
38
+ configureCommand(context, RequestBoundsCommand);
39
+ bind(HiddenBoundsUpdater).toSelf().inSingletonScope();
40
+ bindAsService(context, TYPES.HiddenVNodePostprocessor, GLSPHiddenBoundsUpdater);
41
+ bind(TYPES.Layouter).to(Layouter).inSingletonScope();
42
+ bind(TYPES.LayoutRegistry).to(LayoutRegistry).inSingletonScope();
43
+
44
+ configureLayout(context, VBoxLayouter.KIND, VBoxLayouterExt);
45
+ configureLayout(context, HBoxLayouter.KIND, HBoxLayouterExt);
46
+ configureLayout(context, FreeFormLayouter.KIND, FreeFormLayouter);
47
+ });
48
+
49
+ export default glspBoundsModule;
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2022 STMicroelectronics and others.
2
+ * Copyright (c) 2022-2023 STMicroelectronics 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
@@ -16,8 +16,8 @@
16
16
  import { expect } from 'chai';
17
17
  import 'mocha';
18
18
  import 'reflect-metadata';
19
- import { BoundsData, ConsoleLogger, SModelElement } from 'sprotty';
20
- import { gModel, layout, sComp, setupLayoutRegistry, sLabel, sNode } from './layouter-test-util';
19
+ import { BoundsData, ConsoleLogger, SModelElement } from '~glsp-sprotty';
20
+ import { gModel, layout, sComp, sLabel, sNode, setupLayoutRegistry } from './layouter-test-util.spec';
21
21
 
22
22
  describe('FreeFormLayouter', () => {
23
23
  const layoutRegistry = setupLayoutRegistry();
@@ -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
@@ -13,14 +13,22 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
- import { Bounds, Dimension, Point } from '@eclipse-glsp/protocol';
17
16
  import { injectable } from 'inversify';
18
- import { BoundsData, LayoutContainer, SChildElement, SParentElement, StatefulLayouter } from 'sprotty';
19
- import { AbstractLayout } from 'sprotty/lib/features/bounds/abstract-layout';
20
- import { AbstractLayoutOptions } from 'sprotty/lib/features/bounds/layout-options';
17
+ import {
18
+ AbstractLayout,
19
+ AbstractLayoutOptions,
20
+ Bounds,
21
+ BoundsData,
22
+ Dimension,
23
+ LayoutContainer,
24
+ Point,
25
+ SChildElement,
26
+ SParentElement,
27
+ StatefulLayouter
28
+ } from '~glsp-sprotty';
21
29
 
22
30
  /**
23
- * Layouts children of a container with explit X/Y positions
31
+ * Layouts children of a container with explicit X/Y positions
24
32
  */
25
33
  @injectable()
26
34
  export class FreeFormLayouter extends AbstractLayout<AbstractLayoutOptions> {