@eclipse-glsp/client 2.3.0-next.322 → 2.3.0-next.366

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 (1177) hide show
  1. package/css/change-bounds.css +40 -0
  2. package/css/command-palette.css +6 -2
  3. package/{lib/base/focus/index.d.ts → css/debug.css} +11 -4
  4. package/css/ghost-element.css +7 -0
  5. package/css/glsp-sprotty.css +42 -9
  6. package/css/grid.css +27 -0
  7. package/css/helper-lines.css +3 -3
  8. package/css/key-shortcut.css +6 -2
  9. package/css/keyboard-tool-palette.css +3 -7
  10. package/css/keyboard.css +3 -1
  11. package/css/tool-palette.css +30 -22
  12. package/lib/base/action-dispatcher.d.ts +15 -3
  13. package/lib/base/action-dispatcher.d.ts.map +1 -1
  14. package/lib/base/action-dispatcher.js +35 -1
  15. package/lib/base/action-dispatcher.js.map +1 -1
  16. package/lib/base/action-handler-registry.d.ts +4 -9
  17. package/lib/base/action-handler-registry.d.ts.map +1 -1
  18. package/lib/base/action-handler-registry.js +21 -31
  19. package/lib/base/action-handler-registry.js.map +1 -1
  20. package/lib/base/args-feature.js.map +1 -1
  21. package/lib/base/auto-complete/auto-complete-widget.d.ts +1 -1
  22. package/lib/base/auto-complete/auto-complete-widget.js +2 -2
  23. package/lib/base/auto-complete/auto-complete-widget.js.map +1 -1
  24. package/lib/base/auto-complete/base-autocomplete-palette.d.ts +4 -3
  25. package/lib/base/auto-complete/base-autocomplete-palette.d.ts.map +1 -1
  26. package/lib/base/auto-complete/base-autocomplete-palette.js +4 -3
  27. package/lib/base/auto-complete/base-autocomplete-palette.js.map +1 -1
  28. package/lib/base/auto-complete/validation-decorator.js.map +1 -1
  29. package/lib/base/command-stack.d.ts +8 -16
  30. package/lib/base/command-stack.d.ts.map +1 -1
  31. package/lib/base/command-stack.js +20 -18
  32. package/lib/base/command-stack.js.map +1 -1
  33. package/lib/base/default.module.d.ts.map +1 -1
  34. package/lib/base/default.module.js +23 -9
  35. package/lib/base/default.module.js.map +1 -1
  36. package/lib/base/drag-aware-mouse-listener.d.ts +9 -3
  37. package/lib/base/drag-aware-mouse-listener.d.ts.map +1 -1
  38. package/lib/base/drag-aware-mouse-listener.js +24 -3
  39. package/lib/base/drag-aware-mouse-listener.js.map +1 -1
  40. package/lib/base/editor-context-service.d.ts +44 -3
  41. package/lib/base/editor-context-service.d.ts.map +1 -1
  42. package/lib/base/editor-context-service.js +36 -13
  43. package/lib/base/editor-context-service.js.map +1 -1
  44. package/lib/base/feedback/css-feedback.d.ts +11 -2
  45. package/lib/base/feedback/css-feedback.d.ts.map +1 -1
  46. package/lib/base/feedback/css-feedback.js +14 -2
  47. package/lib/base/feedback/css-feedback.js.map +1 -1
  48. package/lib/base/feedback/feedback-action-dispatcher-default.d.ts +34 -0
  49. package/lib/base/feedback/feedback-action-dispatcher-default.d.ts.map +1 -0
  50. package/lib/base/feedback/feedback-action-dispatcher-default.js +120 -0
  51. package/lib/base/feedback/feedback-action-dispatcher-default.js.map +1 -0
  52. package/lib/base/feedback/feedback-action-dispatcher.d.ts +14 -17
  53. package/lib/base/feedback/feedback-action-dispatcher.d.ts.map +1 -1
  54. package/lib/base/feedback/feedback-action-dispatcher.js +11 -87
  55. package/lib/base/feedback/feedback-action-dispatcher.js.map +1 -1
  56. package/lib/base/feedback/feedback-emitter.d.ts +74 -0
  57. package/lib/base/feedback/feedback-emitter.d.ts.map +1 -0
  58. package/lib/base/feedback/feedback-emitter.js +127 -0
  59. package/lib/base/feedback/feedback-emitter.js.map +1 -0
  60. package/lib/base/focus/focus-tracker.js.map +1 -1
  61. package/lib/base/model/diagram-loader.d.ts +12 -7
  62. package/lib/base/model/diagram-loader.d.ts.map +1 -1
  63. package/lib/base/model/diagram-loader.js +16 -18
  64. package/lib/base/model/diagram-loader.js.map +1 -1
  65. package/lib/base/model/glsp-model-source.js.map +1 -1
  66. package/lib/base/model/model-initialization-constraint.js.map +1 -1
  67. package/lib/base/model/model-registry.d.ts +1 -1
  68. package/lib/base/model/model-registry.d.ts.map +1 -1
  69. package/lib/base/model/model-registry.js +4 -2
  70. package/lib/base/model/model-registry.js.map +1 -1
  71. package/lib/base/mouse-position-tracker.d.ts +25 -0
  72. package/lib/base/mouse-position-tracker.d.ts.map +1 -0
  73. package/lib/base/mouse-position-tracker.js +61 -0
  74. package/lib/base/mouse-position-tracker.js.map +1 -0
  75. package/lib/base/selection-clearing-mouse-listener.js.map +1 -1
  76. package/lib/base/selection-service.d.ts +10 -8
  77. package/lib/base/selection-service.d.ts.map +1 -1
  78. package/lib/base/selection-service.js +10 -13
  79. package/lib/base/selection-service.js.map +1 -1
  80. package/lib/base/tool-manager/tool-manager.d.ts +15 -9
  81. package/lib/base/tool-manager/tool-manager.d.ts.map +1 -1
  82. package/lib/base/tool-manager/tool-manager.js +35 -23
  83. package/lib/base/tool-manager/tool-manager.js.map +1 -1
  84. package/lib/base/{model/index.d.ts → ui-extension/ui-extension-registry.d.ts} +9 -6
  85. package/lib/base/ui-extension/ui-extension-registry.d.ts.map +1 -0
  86. package/lib/base/ui-extension/ui-extension-registry.js +51 -0
  87. package/lib/base/ui-extension/ui-extension-registry.js.map +1 -0
  88. package/lib/base/ui-extension/ui-extension.d.ts +39 -0
  89. package/lib/base/ui-extension/ui-extension.d.ts.map +1 -0
  90. package/lib/base/ui-extension/ui-extension.js +120 -0
  91. package/lib/base/ui-extension/ui-extension.js.map +1 -0
  92. package/lib/base/view/key-tool.d.ts +21 -2
  93. package/lib/base/view/key-tool.d.ts.map +1 -1
  94. package/lib/base/view/key-tool.js +21 -3
  95. package/lib/base/view/key-tool.js.map +1 -1
  96. package/lib/base/view/mouse-tool.d.ts +20 -3
  97. package/lib/base/view/mouse-tool.d.ts.map +1 -1
  98. package/lib/base/view/mouse-tool.js +9 -5
  99. package/lib/base/view/mouse-tool.js.map +1 -1
  100. package/lib/base/view/view-registry.js.map +1 -1
  101. package/lib/default-modules.d.ts +4 -3
  102. package/lib/default-modules.d.ts.map +1 -1
  103. package/lib/default-modules.js +7 -5
  104. package/lib/default-modules.js.map +1 -1
  105. package/lib/features/accessibility/accessibility-module.d.ts +1 -1
  106. package/lib/features/accessibility/accessibility-module.d.ts.map +1 -1
  107. package/lib/features/accessibility/accessibility-module.js +10 -8
  108. package/lib/features/accessibility/accessibility-module.js.map +1 -1
  109. package/lib/features/accessibility/edge-autocomplete/edge-autocomplete-palette.js.map +1 -1
  110. package/lib/features/accessibility/edge-autocomplete/edge-autocomplete-tool.js.map +1 -1
  111. package/lib/features/accessibility/element-navigation/diagram-navigation-tool.js.map +1 -1
  112. package/lib/features/accessibility/element-navigation/element-navigation-module.d.ts +6 -4
  113. package/lib/features/accessibility/element-navigation/element-navigation-module.d.ts.map +1 -1
  114. package/lib/features/accessibility/element-navigation/element-navigation-module.js +8 -8
  115. package/lib/features/accessibility/element-navigation/element-navigation-module.js.map +1 -1
  116. package/lib/features/accessibility/element-navigation/left-right-top-bottom-navigator.js.map +1 -1
  117. package/lib/features/accessibility/element-navigation/local-element-navigator.d.ts +4 -4
  118. package/lib/features/accessibility/element-navigation/local-element-navigator.d.ts.map +1 -1
  119. package/lib/features/accessibility/element-navigation/local-element-navigator.js +1 -1
  120. package/lib/features/accessibility/element-navigation/local-element-navigator.js.map +1 -1
  121. package/lib/features/accessibility/element-navigation/position-navigator.js.map +1 -1
  122. package/lib/features/accessibility/focus-tracker/focus-tracker-module.d.ts +6 -4
  123. package/lib/features/accessibility/focus-tracker/focus-tracker-module.d.ts.map +1 -1
  124. package/lib/features/accessibility/focus-tracker/focus-tracker-module.js +6 -6
  125. package/lib/features/accessibility/focus-tracker/focus-tracker-module.js.map +1 -1
  126. package/lib/features/accessibility/focus-tracker/focus-tracker-tool.js.map +1 -1
  127. package/lib/features/accessibility/global-keylistener-tool.js.map +1 -1
  128. package/lib/features/accessibility/key-shortcut/accessible-key-shortcut-tool.js.map +1 -1
  129. package/lib/features/accessibility/key-shortcut/accessible-key-shortcut.d.ts +4 -3
  130. package/lib/features/accessibility/key-shortcut/accessible-key-shortcut.d.ts.map +1 -1
  131. package/lib/features/accessibility/key-shortcut/accessible-key-shortcut.js +4 -3
  132. package/lib/features/accessibility/key-shortcut/accessible-key-shortcut.js.map +1 -1
  133. package/lib/features/accessibility/key-shortcut/{di.config.d.ts → shortcut-help-module.d.ts} +7 -5
  134. package/lib/features/accessibility/key-shortcut/shortcut-help-module.d.ts.map +1 -0
  135. package/lib/features/accessibility/key-shortcut/{di.config.js → shortcut-help-module.js} +6 -6
  136. package/lib/features/accessibility/key-shortcut/shortcut-help-module.js.map +1 -0
  137. package/lib/features/accessibility/keyboard-grid/keyboard-grid.d.ts +4 -3
  138. package/lib/features/accessibility/keyboard-grid/keyboard-grid.d.ts.map +1 -1
  139. package/lib/features/accessibility/keyboard-grid/keyboard-grid.js +5 -4
  140. package/lib/features/accessibility/keyboard-grid/keyboard-grid.js.map +1 -1
  141. package/lib/features/accessibility/keyboard-grid/keyboard-node-grid.js.map +1 -1
  142. package/lib/features/accessibility/keyboard-pointer/keyboard-pointer-listener.d.ts +1 -1
  143. package/lib/features/accessibility/keyboard-pointer/keyboard-pointer-listener.d.ts.map +1 -1
  144. package/lib/features/accessibility/keyboard-pointer/keyboard-pointer-listener.js +1 -1
  145. package/lib/features/accessibility/keyboard-pointer/keyboard-pointer-listener.js.map +1 -1
  146. package/lib/features/accessibility/keyboard-pointer/keyboard-pointer-module.d.ts +2 -2
  147. package/lib/features/accessibility/keyboard-pointer/keyboard-pointer-module.d.ts.map +1 -1
  148. package/lib/features/accessibility/keyboard-pointer/keyboard-pointer-module.js +8 -8
  149. package/lib/features/accessibility/keyboard-pointer/keyboard-pointer-module.js.map +1 -1
  150. package/lib/features/accessibility/keyboard-pointer/keyboard-pointer.d.ts +19 -3
  151. package/lib/features/accessibility/keyboard-pointer/keyboard-pointer.d.ts.map +1 -1
  152. package/lib/features/accessibility/keyboard-pointer/keyboard-pointer.js +7 -6
  153. package/lib/features/accessibility/keyboard-pointer/keyboard-pointer.js.map +1 -1
  154. package/lib/features/accessibility/keyboard-tool-palette/keyboard-tool-palette-module.d.ts +1 -1
  155. package/lib/features/accessibility/keyboard-tool-palette/keyboard-tool-palette-module.d.ts.map +1 -1
  156. package/lib/features/accessibility/keyboard-tool-palette/keyboard-tool-palette-module.js +2 -2
  157. package/lib/features/accessibility/keyboard-tool-palette/keyboard-tool-palette-module.js.map +1 -1
  158. package/lib/features/accessibility/keyboard-tool-palette/keyboard-tool-palette.d.ts +1 -1
  159. package/lib/features/accessibility/keyboard-tool-palette/keyboard-tool-palette.d.ts.map +1 -1
  160. package/lib/features/accessibility/keyboard-tool-palette/keyboard-tool-palette.js +22 -8
  161. package/lib/features/accessibility/keyboard-tool-palette/keyboard-tool-palette.js.map +1 -1
  162. package/lib/features/accessibility/move-zoom/move-handler.d.ts +5 -3
  163. package/lib/features/accessibility/move-zoom/move-handler.d.ts.map +1 -1
  164. package/lib/features/accessibility/move-zoom/move-handler.js +12 -6
  165. package/lib/features/accessibility/move-zoom/move-handler.js.map +1 -1
  166. package/lib/features/accessibility/move-zoom/move-zoom-module.d.ts +1 -1
  167. package/lib/features/accessibility/move-zoom/move-zoom-module.d.ts.map +1 -1
  168. package/lib/features/accessibility/move-zoom/move-zoom-module.js +2 -2
  169. package/lib/features/accessibility/move-zoom/move-zoom-module.js.map +1 -1
  170. package/lib/features/accessibility/move-zoom/zoom-handler.js.map +1 -1
  171. package/lib/features/accessibility/resize-key-tool/resize-key-handler.d.ts +7 -7
  172. package/lib/features/accessibility/resize-key-tool/resize-key-handler.d.ts.map +1 -1
  173. package/lib/features/accessibility/resize-key-tool/resize-key-handler.js +23 -11
  174. package/lib/features/accessibility/resize-key-tool/resize-key-handler.js.map +1 -1
  175. package/lib/features/accessibility/resize-key-tool/resize-key-module.d.ts +1 -1
  176. package/lib/features/accessibility/resize-key-tool/resize-key-module.d.ts.map +1 -1
  177. package/lib/features/accessibility/resize-key-tool/resize-key-module.js +2 -2
  178. package/lib/features/accessibility/resize-key-tool/resize-key-module.js.map +1 -1
  179. package/lib/features/accessibility/resize-key-tool/resize-key-tool.js.map +1 -1
  180. package/lib/features/accessibility/search/search-palette-module.d.ts +1 -1
  181. package/lib/features/accessibility/search/search-palette-module.d.ts.map +1 -1
  182. package/lib/features/accessibility/search/search-palette-module.js +2 -2
  183. package/lib/features/accessibility/search/search-palette-module.js.map +1 -1
  184. package/lib/features/accessibility/search/search-palette.js.map +1 -1
  185. package/lib/features/accessibility/search/search-tool.js.map +1 -1
  186. package/lib/features/accessibility/toast/toast-module.d.ts +6 -4
  187. package/lib/features/accessibility/toast/toast-module.d.ts.map +1 -1
  188. package/lib/features/accessibility/toast/toast-module.js +5 -5
  189. package/lib/features/accessibility/toast/toast-module.js.map +1 -1
  190. package/lib/features/accessibility/toast/toast-tool.d.ts +5 -4
  191. package/lib/features/accessibility/toast/toast-tool.d.ts.map +1 -1
  192. package/lib/features/accessibility/toast/toast-tool.js +4 -3
  193. package/lib/features/accessibility/toast/toast-tool.js.map +1 -1
  194. package/lib/features/accessibility/view-key-tools/deselect-key-tool.d.ts +2 -2
  195. package/lib/features/accessibility/view-key-tools/deselect-key-tool.d.ts.map +1 -1
  196. package/lib/features/accessibility/view-key-tools/deselect-key-tool.js +3 -3
  197. package/lib/features/accessibility/view-key-tools/deselect-key-tool.js.map +1 -1
  198. package/lib/features/accessibility/view-key-tools/movement-key-tool.d.ts +8 -7
  199. package/lib/features/accessibility/view-key-tools/movement-key-tool.d.ts.map +1 -1
  200. package/lib/features/accessibility/view-key-tools/movement-key-tool.js +27 -15
  201. package/lib/features/accessibility/view-key-tools/movement-key-tool.js.map +1 -1
  202. package/lib/features/accessibility/view-key-tools/view-key-tools-module.d.ts +1 -1
  203. package/lib/features/accessibility/view-key-tools/view-key-tools-module.d.ts.map +1 -1
  204. package/lib/features/accessibility/view-key-tools/view-key-tools-module.js +4 -2
  205. package/lib/features/accessibility/view-key-tools/view-key-tools-module.js.map +1 -1
  206. package/lib/features/accessibility/view-key-tools/zoom-key-tool.js.map +1 -1
  207. package/lib/features/bounds/bounds-module.d.ts +1 -1
  208. package/lib/features/bounds/bounds-module.d.ts.map +1 -1
  209. package/lib/features/bounds/bounds-module.js +4 -2
  210. package/lib/features/bounds/bounds-module.js.map +1 -1
  211. package/lib/features/bounds/freeform-layout.d.ts +17 -1
  212. package/lib/features/bounds/freeform-layout.d.ts.map +1 -1
  213. package/lib/features/bounds/freeform-layout.js +15 -6
  214. package/lib/features/bounds/freeform-layout.js.map +1 -1
  215. package/lib/features/bounds/glsp-hidden-bounds-updater.d.ts +5 -4
  216. package/lib/features/bounds/glsp-hidden-bounds-updater.d.ts.map +1 -1
  217. package/lib/features/bounds/glsp-hidden-bounds-updater.js +51 -39
  218. package/lib/features/bounds/glsp-hidden-bounds-updater.js.map +1 -1
  219. package/lib/features/bounds/hbox-layout.d.ts +18 -2
  220. package/lib/features/bounds/hbox-layout.d.ts.map +1 -1
  221. package/lib/features/bounds/hbox-layout.js +15 -6
  222. package/lib/features/bounds/hbox-layout.js.map +1 -1
  223. package/lib/features/bounds/layout-data.d.ts +27 -0
  224. package/lib/features/bounds/layout-data.d.ts.map +1 -0
  225. package/lib/features/bounds/layout-data.js +48 -0
  226. package/lib/features/bounds/layout-data.js.map +1 -0
  227. package/lib/features/bounds/layouter.js.map +1 -1
  228. package/lib/features/bounds/local-bounds.d.ts +3 -1
  229. package/lib/features/bounds/local-bounds.d.ts.map +1 -1
  230. package/lib/features/bounds/local-bounds.js +14 -0
  231. package/lib/features/bounds/local-bounds.js.map +1 -1
  232. package/lib/features/bounds/set-bounds-feedback-command.d.ts.map +1 -1
  233. package/lib/features/bounds/set-bounds-feedback-command.js +2 -2
  234. package/lib/features/bounds/set-bounds-feedback-command.js.map +1 -1
  235. package/lib/features/bounds/vbox-layout.d.ts +18 -2
  236. package/lib/features/bounds/vbox-layout.d.ts.map +1 -1
  237. package/lib/features/bounds/vbox-layout.js +15 -6
  238. package/lib/features/bounds/vbox-layout.js.map +1 -1
  239. package/lib/features/change-bounds/model.d.ts +35 -12
  240. package/lib/features/change-bounds/model.d.ts.map +1 -1
  241. package/lib/features/change-bounds/model.js +142 -15
  242. package/lib/features/change-bounds/model.js.map +1 -1
  243. package/lib/features/change-bounds/movement-restrictor.d.ts +20 -2
  244. package/lib/features/change-bounds/movement-restrictor.d.ts.map +1 -1
  245. package/lib/features/change-bounds/movement-restrictor.js +20 -29
  246. package/lib/features/change-bounds/movement-restrictor.js.map +1 -1
  247. package/lib/features/change-bounds/point-position-updater.d.ts +4 -1
  248. package/lib/features/change-bounds/point-position-updater.d.ts.map +1 -1
  249. package/lib/features/change-bounds/point-position-updater.js +8 -3
  250. package/lib/features/change-bounds/point-position-updater.js.map +1 -1
  251. package/lib/features/change-bounds/position-snapper.d.ts +4 -0
  252. package/lib/features/change-bounds/position-snapper.d.ts.map +1 -1
  253. package/lib/features/change-bounds/position-snapper.js +4 -0
  254. package/lib/features/change-bounds/position-snapper.js.map +1 -1
  255. package/lib/features/change-bounds/snap.d.ts +6 -21
  256. package/lib/features/change-bounds/snap.d.ts.map +1 -1
  257. package/lib/features/change-bounds/snap.js +5 -35
  258. package/lib/features/change-bounds/snap.js.map +1 -1
  259. package/lib/features/change-bounds/tracker.d.ts +32 -0
  260. package/lib/features/change-bounds/tracker.d.ts.map +1 -0
  261. package/lib/features/change-bounds/tracker.js +60 -0
  262. package/lib/features/change-bounds/tracker.js.map +1 -0
  263. package/lib/features/command-palette/command-palette-module.d.ts +1 -1
  264. package/lib/features/command-palette/command-palette-module.d.ts.map +1 -1
  265. package/lib/features/command-palette/command-palette-module.js +4 -3
  266. package/lib/features/command-palette/command-palette-module.js.map +1 -1
  267. package/{src/base/feedback/index.ts → lib/features/command-palette/command-palette.d.ts} +7 -7
  268. package/lib/features/command-palette/command-palette.d.ts.map +1 -0
  269. package/lib/features/command-palette/command-palette.js +47 -0
  270. package/lib/features/command-palette/command-palette.js.map +1 -0
  271. package/lib/features/command-palette/server-command-palette-provider.js.map +1 -1
  272. package/lib/features/context-menu/context-menu-module.d.ts +1 -1
  273. package/lib/features/context-menu/context-menu-module.d.ts.map +1 -1
  274. package/lib/features/context-menu/context-menu-module.js +2 -2
  275. package/lib/features/context-menu/context-menu-module.js.map +1 -1
  276. package/lib/features/context-menu/glsp-context-menu-mouse-listener.d.ts +1 -1
  277. package/lib/features/context-menu/glsp-context-menu-mouse-listener.js +2 -2
  278. package/lib/features/context-menu/glsp-context-menu-mouse-listener.js.map +1 -1
  279. package/lib/features/context-menu/server-context-menu-provider.js.map +1 -1
  280. package/lib/features/copy-paste/copy-paste-context-menu.js.map +1 -1
  281. package/lib/features/copy-paste/copy-paste-handler.js.map +1 -1
  282. package/lib/features/copy-paste/copy-paste-modules.d.ts +1 -1
  283. package/lib/features/copy-paste/copy-paste-modules.d.ts.map +1 -1
  284. package/lib/features/copy-paste/copy-paste-modules.js +6 -3
  285. package/lib/features/copy-paste/copy-paste-modules.js.map +1 -1
  286. package/lib/features/copy-paste/copy-paste-standalone.d.ts +1 -1
  287. package/lib/features/copy-paste/copy-paste-standalone.d.ts.map +1 -1
  288. package/lib/features/copy-paste/copy-paste-standalone.js +1 -4
  289. package/lib/features/copy-paste/copy-paste-standalone.js.map +1 -1
  290. package/lib/features/debug/debug-bounds-decorator.d.ts +39 -0
  291. package/lib/features/debug/debug-bounds-decorator.d.ts.map +1 -0
  292. package/lib/features/debug/debug-bounds-decorator.js +155 -0
  293. package/lib/features/debug/debug-bounds-decorator.js.map +1 -0
  294. package/lib/features/debug/debug-manager.d.ts +30 -0
  295. package/lib/features/debug/debug-manager.d.ts.map +1 -0
  296. package/lib/features/debug/debug-manager.js +74 -0
  297. package/lib/features/debug/debug-manager.js.map +1 -0
  298. package/lib/features/debug/debug-model.d.ts +37 -0
  299. package/lib/features/debug/debug-model.d.ts.map +1 -0
  300. package/lib/features/debug/debug-model.js +73 -0
  301. package/lib/features/debug/debug-model.js.map +1 -0
  302. package/lib/features/{accessibility/focus-tracker/index.d.ts → debug/debug-module.d.ts} +5 -4
  303. package/lib/features/debug/debug-module.d.ts.map +1 -0
  304. package/lib/features/debug/debug-module.js +31 -0
  305. package/lib/features/debug/debug-module.js.map +1 -0
  306. package/lib/features/decoration/decoration-module.d.ts +1 -1
  307. package/lib/features/decoration/decoration-module.d.ts.map +1 -1
  308. package/lib/features/decoration/decoration-module.js +2 -2
  309. package/lib/features/decoration/decoration-module.js.map +1 -1
  310. package/lib/features/decoration/decoration-placer.js.map +1 -1
  311. package/lib/features/element-template/add-template-element.js.map +1 -1
  312. package/lib/features/element-template/element-template-module.d.ts +1 -1
  313. package/lib/features/element-template/element-template-module.d.ts.map +1 -1
  314. package/lib/features/element-template/element-template-module.js +2 -2
  315. package/lib/features/element-template/element-template-module.js.map +1 -1
  316. package/lib/features/element-template/mouse-tracking-element-position-listener.d.ts +22 -19
  317. package/lib/features/element-template/mouse-tracking-element-position-listener.d.ts.map +1 -1
  318. package/lib/features/element-template/mouse-tracking-element-position-listener.js +53 -69
  319. package/lib/features/element-template/mouse-tracking-element-position-listener.js.map +1 -1
  320. package/lib/features/element-template/remove-template-element.js.map +1 -1
  321. package/lib/features/export/export-modules.d.ts +1 -1
  322. package/lib/features/export/export-modules.d.ts.map +1 -1
  323. package/lib/features/export/export-modules.js +3 -3
  324. package/lib/features/export/export-modules.js.map +1 -1
  325. package/lib/features/export/glsp-svg-exporter.d.ts +24 -2
  326. package/lib/features/export/glsp-svg-exporter.d.ts.map +1 -1
  327. package/lib/features/export/glsp-svg-exporter.js +75 -17
  328. package/lib/features/export/glsp-svg-exporter.js.map +1 -1
  329. package/lib/features/grid/grid-manager.d.ts +33 -0
  330. package/lib/features/grid/grid-manager.d.ts.map +1 -0
  331. package/lib/features/grid/grid-manager.js +76 -0
  332. package/lib/features/grid/grid-manager.js.map +1 -0
  333. package/lib/features/grid/grid-model.d.ts +37 -0
  334. package/lib/features/grid/grid-model.d.ts.map +1 -0
  335. package/lib/features/grid/grid-model.js +73 -0
  336. package/lib/features/grid/grid-model.js.map +1 -0
  337. package/lib/features/grid/grid-module.d.ts +19 -0
  338. package/lib/features/grid/grid-module.d.ts.map +1 -0
  339. package/lib/features/grid/grid-module.js +32 -0
  340. package/lib/features/grid/grid-module.js.map +1 -0
  341. package/lib/features/grid/grid-snapper.d.ts +45 -0
  342. package/lib/features/grid/grid-snapper.d.ts.map +1 -0
  343. package/lib/features/grid/grid-snapper.js +83 -0
  344. package/lib/features/grid/grid-snapper.js.map +1 -0
  345. package/lib/{base/feedback/index.d.ts → features/grid/grid-style.d.ts} +10 -7
  346. package/lib/features/grid/grid-style.d.ts.map +1 -0
  347. package/lib/features/grid/grid-style.js +28 -0
  348. package/lib/features/grid/grid-style.js.map +1 -0
  349. package/lib/{base/tool-manager/index.d.ts → features/grid/grid.d.ts} +4 -4
  350. package/lib/features/grid/grid.d.ts.map +1 -0
  351. package/lib/features/grid/grid.js +3 -0
  352. package/lib/features/grid/grid.js.map +1 -0
  353. package/lib/features/helper-lines/helper-line-feedback.d.ts +2 -2
  354. package/lib/features/helper-lines/helper-line-feedback.d.ts.map +1 -1
  355. package/lib/features/helper-lines/helper-line-feedback.js +46 -43
  356. package/lib/features/helper-lines/helper-line-feedback.js.map +1 -1
  357. package/lib/features/helper-lines/helper-line-manager-default.d.ts +22 -4
  358. package/lib/features/helper-lines/helper-line-manager-default.d.ts.map +1 -1
  359. package/lib/features/helper-lines/helper-line-manager-default.js +87 -17
  360. package/lib/features/helper-lines/helper-line-manager-default.js.map +1 -1
  361. package/lib/features/helper-lines/helper-line-manager.d.ts +10 -2
  362. package/lib/features/helper-lines/helper-line-manager.d.ts.map +1 -1
  363. package/lib/features/helper-lines/helper-line-module.d.ts +1 -1
  364. package/lib/features/helper-lines/helper-line-module.d.ts.map +1 -1
  365. package/lib/features/helper-lines/helper-line-module.js +2 -2
  366. package/lib/features/helper-lines/helper-line-module.js.map +1 -1
  367. package/lib/features/helper-lines/model.d.ts +4 -10
  368. package/lib/features/helper-lines/model.d.ts.map +1 -1
  369. package/lib/features/helper-lines/model.js +11 -29
  370. package/lib/features/helper-lines/model.js.map +1 -1
  371. package/lib/features/helper-lines/view.d.ts +2 -1
  372. package/lib/features/helper-lines/view.d.ts.map +1 -1
  373. package/lib/features/helper-lines/view.js +6 -7
  374. package/lib/features/helper-lines/view.js.map +1 -1
  375. package/lib/features/hints/model.d.ts +6 -2
  376. package/lib/features/hints/model.d.ts.map +1 -1
  377. package/lib/features/hints/model.js.map +1 -1
  378. package/lib/features/hints/type-hint-provider.d.ts +3 -0
  379. package/lib/features/hints/type-hint-provider.d.ts.map +1 -1
  380. package/lib/features/hints/type-hint-provider.js +10 -1
  381. package/lib/features/hints/type-hint-provider.js.map +1 -1
  382. package/lib/features/hints/type-hints-module.d.ts +1 -1
  383. package/lib/features/hints/type-hints-module.d.ts.map +1 -1
  384. package/lib/features/hints/type-hints-module.js +2 -2
  385. package/lib/features/hints/type-hints-module.js.map +1 -1
  386. package/lib/features/hover/hover-module.d.ts +1 -1
  387. package/lib/features/hover/hover-module.d.ts.map +1 -1
  388. package/lib/features/hover/hover-module.js +2 -2
  389. package/lib/features/hover/hover-module.js.map +1 -1
  390. package/lib/features/hover/hover.js.map +1 -1
  391. package/lib/features/label-edit/edit-label-validator.js.map +1 -1
  392. package/lib/features/label-edit/label-edit-module.d.ts +1 -1
  393. package/lib/features/label-edit/label-edit-module.d.ts.map +1 -1
  394. package/lib/features/label-edit/label-edit-module.js +2 -2
  395. package/lib/features/label-edit/label-edit-module.js.map +1 -1
  396. package/lib/{base/view/index.d.ts → features/label-edit-ui/label-edit-ui-module.d.ts} +4 -5
  397. package/lib/features/label-edit-ui/label-edit-ui-module.d.ts.map +1 -0
  398. package/lib/features/{reconnect/index.js → label-edit-ui/label-edit-ui-module.js} +11 -17
  399. package/lib/features/label-edit-ui/label-edit-ui-module.js.map +1 -0
  400. package/lib/{base/auto-complete/index.d.ts → features/label-edit-ui/label-edit-ui.d.ts} +7 -7
  401. package/lib/features/label-edit-ui/label-edit-ui.d.ts.map +1 -0
  402. package/lib/features/label-edit-ui/label-edit-ui.js +48 -0
  403. package/lib/features/label-edit-ui/label-edit-ui.js.map +1 -0
  404. package/lib/features/layout/layout-elements-action.d.ts +16 -1
  405. package/lib/features/layout/layout-elements-action.d.ts.map +1 -1
  406. package/lib/features/layout/layout-elements-action.js +8 -7
  407. package/lib/features/layout/layout-elements-action.js.map +1 -1
  408. package/lib/features/layout/layout-module.d.ts +1 -1
  409. package/lib/features/layout/layout-module.d.ts.map +1 -1
  410. package/lib/features/layout/layout-module.js +2 -2
  411. package/lib/features/layout/layout-module.js.map +1 -1
  412. package/lib/features/navigation/navigation-action-handler.d.ts +15 -0
  413. package/lib/features/navigation/navigation-action-handler.d.ts.map +1 -1
  414. package/lib/features/navigation/navigation-action-handler.js +2 -2
  415. package/lib/features/navigation/navigation-action-handler.js.map +1 -1
  416. package/lib/features/navigation/navigation-module.d.ts +1 -1
  417. package/lib/features/navigation/navigation-module.d.ts.map +1 -1
  418. package/lib/features/navigation/navigation-module.js +2 -2
  419. package/lib/features/navigation/navigation-module.js.map +1 -1
  420. package/lib/features/navigation/navigation-target-resolver.js.map +1 -1
  421. package/lib/features/reconnect/model.js.map +1 -1
  422. package/lib/features/routing/edge-router.d.ts +34 -0
  423. package/lib/features/routing/edge-router.d.ts.map +1 -0
  424. package/lib/features/routing/edge-router.js +153 -0
  425. package/lib/features/routing/edge-router.js.map +1 -0
  426. package/lib/features/routing/routing-module.d.ts +1 -1
  427. package/lib/features/routing/routing-module.d.ts.map +1 -1
  428. package/lib/features/routing/routing-module.js +6 -6
  429. package/lib/features/routing/routing-module.js.map +1 -1
  430. package/lib/features/save/save-keylistener.js.map +1 -1
  431. package/lib/features/save/save-module.d.ts +1 -1
  432. package/lib/features/save/save-module.d.ts.map +1 -1
  433. package/lib/features/save/save-module.js +2 -2
  434. package/lib/features/save/save-module.js.map +1 -1
  435. package/lib/features/select/select-module.d.ts +1 -1
  436. package/lib/features/select/select-module.d.ts.map +1 -1
  437. package/lib/features/select/select-module.js +3 -3
  438. package/lib/features/select/select-module.js.map +1 -1
  439. package/lib/features/select/select-mouse-listener.d.ts +8 -4
  440. package/lib/features/select/select-mouse-listener.d.ts.map +1 -1
  441. package/lib/features/select/select-mouse-listener.js +31 -3
  442. package/lib/features/select/select-mouse-listener.js.map +1 -1
  443. package/lib/features/source-model-watcher/source-model-changed-action-handler.js.map +1 -1
  444. package/lib/features/source-model-watcher/source-model-watcher-module.d.ts +1 -1
  445. package/lib/features/source-model-watcher/source-model-watcher-module.d.ts.map +1 -1
  446. package/lib/features/source-model-watcher/source-model-watcher-module.js +2 -2
  447. package/lib/features/source-model-watcher/source-model-watcher-module.js.map +1 -1
  448. package/lib/features/status/status-module.d.ts +1 -1
  449. package/lib/features/status/status-module.d.ts.map +1 -1
  450. package/lib/features/status/status-module.js +2 -2
  451. package/lib/features/status/status-module.js.map +1 -1
  452. package/lib/features/status/status-overlay.d.ts +18 -2
  453. package/lib/features/status/status-overlay.d.ts.map +1 -1
  454. package/lib/features/status/status-overlay.js +4 -3
  455. package/lib/features/status/status-overlay.js.map +1 -1
  456. package/lib/features/svg-metadata/metadata-placer.js.map +1 -1
  457. package/lib/features/svg-metadata/svg-metadata-module.d.ts +1 -1
  458. package/lib/features/svg-metadata/svg-metadata-module.d.ts.map +1 -1
  459. package/lib/features/svg-metadata/svg-metadata-module.js +2 -2
  460. package/lib/features/svg-metadata/svg-metadata-module.js.map +1 -1
  461. package/lib/features/tool-palette/tool-palette-module.d.ts +1 -1
  462. package/lib/features/tool-palette/tool-palette-module.d.ts.map +1 -1
  463. package/lib/features/tool-palette/tool-palette-module.js +2 -2
  464. package/lib/features/tool-palette/tool-palette-module.js.map +1 -1
  465. package/lib/features/tool-palette/tool-palette.d.ts +11 -3
  466. package/lib/features/tool-palette/tool-palette.d.ts.map +1 -1
  467. package/lib/features/tool-palette/tool-palette.js +83 -4
  468. package/lib/features/tool-palette/tool-palette.js.map +1 -1
  469. package/lib/features/tools/base-tools.d.ts +46 -18
  470. package/lib/features/tools/base-tools.d.ts.map +1 -1
  471. package/lib/features/tools/base-tools.js +10 -23
  472. package/lib/features/tools/base-tools.js.map +1 -1
  473. package/lib/features/tools/change-bounds/change-bounds-manager.d.ts +50 -0
  474. package/lib/features/tools/change-bounds/change-bounds-manager.d.ts.map +1 -0
  475. package/lib/features/tools/change-bounds/change-bounds-manager.js +170 -0
  476. package/lib/features/tools/change-bounds/change-bounds-manager.js.map +1 -0
  477. package/lib/features/tools/change-bounds/change-bounds-tool-feedback.d.ts +7 -35
  478. package/lib/features/tools/change-bounds/change-bounds-tool-feedback.d.ts.map +1 -1
  479. package/lib/features/tools/change-bounds/change-bounds-tool-feedback.js +12 -207
  480. package/lib/features/tools/change-bounds/change-bounds-tool-feedback.js.map +1 -1
  481. package/lib/features/tools/change-bounds/change-bounds-tool-module.d.ts +2 -1
  482. package/lib/features/tools/change-bounds/change-bounds-tool-module.d.ts.map +1 -1
  483. package/lib/features/tools/change-bounds/change-bounds-tool-module.js +6 -3
  484. package/lib/features/tools/change-bounds/change-bounds-tool-module.js.map +1 -1
  485. package/lib/features/tools/change-bounds/change-bounds-tool-move-feedback.d.ts +58 -0
  486. package/lib/features/tools/change-bounds/change-bounds-tool-move-feedback.d.ts.map +1 -0
  487. package/lib/features/tools/change-bounds/change-bounds-tool-move-feedback.js +173 -0
  488. package/lib/features/tools/change-bounds/change-bounds-tool-move-feedback.js.map +1 -0
  489. package/lib/features/tools/change-bounds/change-bounds-tool.d.ts +34 -31
  490. package/lib/features/tools/change-bounds/change-bounds-tool.d.ts.map +1 -1
  491. package/lib/features/tools/change-bounds/change-bounds-tool.js +146 -219
  492. package/lib/features/tools/change-bounds/change-bounds-tool.js.map +1 -1
  493. package/lib/features/tools/change-bounds/change-bounds-tracker.d.ts +143 -0
  494. package/lib/features/tools/change-bounds/change-bounds-tracker.d.ts.map +1 -0
  495. package/lib/features/tools/change-bounds/change-bounds-tracker.js +319 -0
  496. package/lib/features/tools/change-bounds/change-bounds-tracker.js.map +1 -0
  497. package/lib/features/tools/change-bounds/view.d.ts +9 -5
  498. package/lib/features/tools/change-bounds/view.d.ts.map +1 -1
  499. package/lib/features/tools/change-bounds/view.js +14 -26
  500. package/lib/features/tools/change-bounds/view.js.map +1 -1
  501. package/lib/features/tools/deletion/delete-tool.d.ts +16 -1
  502. package/lib/features/tools/deletion/delete-tool.d.ts.map +1 -1
  503. package/lib/features/tools/deletion/delete-tool.js +6 -3
  504. package/lib/features/tools/deletion/delete-tool.js.map +1 -1
  505. package/lib/features/tools/deletion/deletion-tool-module.d.ts +1 -1
  506. package/lib/features/tools/deletion/deletion-tool-module.d.ts.map +1 -1
  507. package/lib/features/tools/deletion/deletion-tool-module.js +2 -2
  508. package/lib/features/tools/deletion/deletion-tool-module.js.map +1 -1
  509. package/lib/features/tools/edge-creation/dangling-edge-feedback.d.ts +17 -1
  510. package/lib/features/tools/edge-creation/dangling-edge-feedback.d.ts.map +1 -1
  511. package/lib/features/tools/edge-creation/dangling-edge-feedback.js +4 -2
  512. package/lib/features/tools/edge-creation/dangling-edge-feedback.js.map +1 -1
  513. package/lib/features/tools/edge-creation/edege-creation-module.d.ts +1 -1
  514. package/lib/features/tools/edge-creation/edege-creation-module.d.ts.map +1 -1
  515. package/lib/features/tools/edge-creation/edege-creation-module.js +2 -2
  516. package/lib/features/tools/edge-creation/edege-creation-module.js.map +1 -1
  517. package/lib/features/tools/edge-creation/edge-creation-tool-feedback.d.ts +4 -2
  518. package/lib/features/tools/edge-creation/edge-creation-tool-feedback.d.ts.map +1 -1
  519. package/lib/features/tools/edge-creation/edge-creation-tool-feedback.js +5 -8
  520. package/lib/features/tools/edge-creation/edge-creation-tool-feedback.js.map +1 -1
  521. package/lib/features/tools/edge-creation/edge-creation-tool.d.ts +40 -5
  522. package/lib/features/tools/edge-creation/edge-creation-tool.d.ts.map +1 -1
  523. package/lib/features/tools/edge-creation/edge-creation-tool.js +70 -36
  524. package/lib/features/tools/edge-creation/edge-creation-tool.js.map +1 -1
  525. package/lib/features/tools/edge-creation/view.d.ts +17 -1
  526. package/lib/features/tools/edge-creation/view.d.ts.map +1 -1
  527. package/lib/features/tools/edge-creation/view.js +4 -5
  528. package/lib/features/tools/edge-creation/view.js.map +1 -1
  529. package/lib/features/tools/edge-edit/edge-edit-module.d.ts +1 -1
  530. package/lib/features/tools/edge-edit/edge-edit-module.d.ts.map +1 -1
  531. package/lib/features/tools/edge-edit/edge-edit-module.js +2 -2
  532. package/lib/features/tools/edge-edit/edge-edit-module.js.map +1 -1
  533. package/lib/features/tools/edge-edit/edge-edit-tool-feedback.d.ts +17 -13
  534. package/lib/features/tools/edge-edit/edge-edit-tool-feedback.d.ts.map +1 -1
  535. package/lib/features/tools/edge-edit/edge-edit-tool-feedback.js +49 -62
  536. package/lib/features/tools/edge-edit/edge-edit-tool-feedback.js.map +1 -1
  537. package/lib/features/tools/edge-edit/edge-edit-tool.d.ts +8 -7
  538. package/lib/features/tools/edge-edit/edge-edit-tool.d.ts.map +1 -1
  539. package/lib/features/tools/edge-edit/edge-edit-tool.js +35 -50
  540. package/lib/features/tools/edge-edit/edge-edit-tool.js.map +1 -1
  541. package/lib/features/tools/marquee-selection/marquee-behavior.d.ts +16 -4
  542. package/lib/features/tools/marquee-selection/marquee-behavior.d.ts.map +1 -1
  543. package/lib/features/tools/marquee-selection/marquee-behavior.js +62 -10
  544. package/lib/features/tools/marquee-selection/marquee-behavior.js.map +1 -1
  545. package/lib/features/tools/marquee-selection/marquee-mouse-tool.d.ts +11 -11
  546. package/lib/features/tools/marquee-selection/marquee-mouse-tool.d.ts.map +1 -1
  547. package/lib/features/tools/marquee-selection/marquee-mouse-tool.js +24 -48
  548. package/lib/features/tools/marquee-selection/marquee-mouse-tool.js.map +1 -1
  549. package/lib/features/tools/marquee-selection/marquee-selection-module.d.ts +1 -1
  550. package/lib/features/tools/marquee-selection/marquee-selection-module.d.ts.map +1 -1
  551. package/lib/features/tools/marquee-selection/marquee-selection-module.js +4 -2
  552. package/lib/features/tools/marquee-selection/marquee-selection-module.js.map +1 -1
  553. package/lib/features/tools/marquee-selection/marquee-tool-feedback.js.map +1 -1
  554. package/lib/features/tools/marquee-selection/marquee-tool.js.map +1 -1
  555. package/lib/features/tools/marquee-selection/view.d.ts +17 -1
  556. package/lib/features/tools/marquee-selection/view.d.ts.map +1 -1
  557. package/lib/features/tools/marquee-selection/view.js +5 -6
  558. package/lib/features/tools/marquee-selection/view.js.map +1 -1
  559. package/lib/features/tools/node-creation/container-manager.d.ts +42 -0
  560. package/lib/features/tools/node-creation/container-manager.d.ts.map +1 -0
  561. package/lib/features/tools/node-creation/container-manager.js +73 -0
  562. package/lib/features/tools/node-creation/container-manager.js.map +1 -0
  563. package/lib/features/tools/node-creation/insert-indicator.d.ts +30 -0
  564. package/lib/features/tools/node-creation/insert-indicator.d.ts.map +1 -0
  565. package/lib/features/tools/node-creation/insert-indicator.js +40 -0
  566. package/lib/features/tools/node-creation/insert-indicator.js.map +1 -0
  567. package/lib/features/tools/node-creation/node-creation-module.d.ts +1 -1
  568. package/lib/features/tools/node-creation/node-creation-module.d.ts.map +1 -1
  569. package/lib/features/tools/node-creation/node-creation-module.js +10 -2
  570. package/lib/features/tools/node-creation/node-creation-module.js.map +1 -1
  571. package/lib/features/tools/node-creation/node-creation-tool.d.ts +46 -14
  572. package/lib/features/tools/node-creation/node-creation-tool.d.ts.map +1 -1
  573. package/lib/features/tools/node-creation/node-creation-tool.js +123 -65
  574. package/lib/features/tools/node-creation/node-creation-tool.js.map +1 -1
  575. package/lib/features/tools/node-creation/node-creation-views.d.ts +26 -0
  576. package/lib/features/tools/node-creation/node-creation-views.d.ts.map +1 -0
  577. package/lib/features/tools/node-creation/node-creation-views.js +59 -0
  578. package/lib/features/tools/node-creation/node-creation-views.js.map +1 -0
  579. package/lib/features/tools/tool-focus-loss-module.d.ts +15 -0
  580. package/lib/features/tools/tool-focus-loss-module.d.ts.map +1 -1
  581. package/lib/features/tools/tool-focus-loss-module.js +3 -3
  582. package/lib/features/tools/tool-focus-loss-module.js.map +1 -1
  583. package/lib/features/undo-redo/undo-redo-key-listener.js.map +1 -1
  584. package/lib/features/undo-redo/undo-redo-module.d.ts +3 -3
  585. package/lib/features/undo-redo/undo-redo-module.d.ts.map +1 -1
  586. package/lib/features/undo-redo/undo-redo-module.js +3 -4
  587. package/lib/features/undo-redo/undo-redo-module.js.map +1 -1
  588. package/lib/features/validation/issue-marker.d.ts +3 -3
  589. package/lib/features/validation/issue-marker.d.ts.map +1 -1
  590. package/lib/features/validation/issue-marker.js +6 -4
  591. package/lib/features/validation/issue-marker.js.map +1 -1
  592. package/lib/features/validation/marker-navigator.d.ts +8 -7
  593. package/lib/features/validation/marker-navigator.d.ts.map +1 -1
  594. package/lib/features/validation/marker-navigator.js +1 -1
  595. package/lib/features/validation/marker-navigator.js.map +1 -1
  596. package/lib/features/validation/validate.d.ts +3 -6
  597. package/lib/features/validation/validate.d.ts.map +1 -1
  598. package/lib/features/validation/validate.js +5 -17
  599. package/lib/features/validation/validate.js.map +1 -1
  600. package/lib/features/validation/validation-modules.d.ts +1 -1
  601. package/lib/features/validation/validation-modules.d.ts.map +1 -1
  602. package/lib/features/validation/validation-modules.js +4 -4
  603. package/lib/features/validation/validation-modules.js.map +1 -1
  604. package/lib/features/viewport/glsp-scroll-mouse-listener.js.map +1 -1
  605. package/lib/features/viewport/origin-viewport.d.ts +36 -0
  606. package/lib/features/viewport/origin-viewport.d.ts.map +1 -0
  607. package/lib/features/viewport/origin-viewport.js +75 -0
  608. package/lib/features/viewport/origin-viewport.js.map +1 -0
  609. package/lib/features/viewport/reposition.d.ts +2 -2
  610. package/lib/features/viewport/reposition.d.ts.map +1 -1
  611. package/lib/features/viewport/reposition.js +11 -14
  612. package/lib/features/viewport/reposition.js.map +1 -1
  613. package/lib/features/viewport/viewport-handler.d.ts +6 -4
  614. package/lib/features/viewport/viewport-handler.d.ts.map +1 -1
  615. package/lib/features/viewport/viewport-handler.js +13 -8
  616. package/lib/features/viewport/viewport-handler.js.map +1 -1
  617. package/lib/features/viewport/viewport-modules.d.ts +1 -1
  618. package/lib/features/viewport/viewport-modules.d.ts.map +1 -1
  619. package/lib/features/viewport/viewport-modules.js +7 -5
  620. package/lib/features/viewport/viewport-modules.js.map +1 -1
  621. package/lib/index.d.ts +224 -5
  622. package/lib/index.d.ts.map +1 -1
  623. package/lib/index.js +224 -5
  624. package/lib/index.js.map +1 -1
  625. package/lib/model.js.map +1 -1
  626. package/lib/standalone-modules.d.ts +2 -2
  627. package/lib/standalone-modules.d.ts.map +1 -1
  628. package/lib/standalone-modules.js +2 -2
  629. package/lib/standalone-modules.js.map +1 -1
  630. package/lib/utils/argument-utils.js.map +1 -1
  631. package/lib/utils/geometry-util.d.ts +43 -23
  632. package/lib/utils/geometry-util.d.ts.map +1 -1
  633. package/lib/utils/geometry-util.js +43 -84
  634. package/lib/utils/geometry-util.js.map +1 -1
  635. package/lib/utils/gmodel-util.d.ts +49 -3
  636. package/lib/utils/gmodel-util.d.ts.map +1 -1
  637. package/lib/utils/gmodel-util.js +68 -17
  638. package/lib/utils/gmodel-util.js.map +1 -1
  639. package/lib/utils/html-utils.js.map +1 -1
  640. package/lib/utils/layout-utils.d.ts +10 -8
  641. package/lib/utils/layout-utils.d.ts.map +1 -1
  642. package/lib/utils/layout-utils.js +7 -5
  643. package/lib/utils/layout-utils.js.map +1 -1
  644. package/lib/utils/marker.js.map +1 -1
  645. package/lib/utils/viewpoint-util.d.ts +5 -5
  646. package/lib/utils/viewpoint-util.d.ts.map +1 -1
  647. package/lib/utils/viewpoint-util.js +11 -21
  648. package/lib/utils/viewpoint-util.js.map +1 -1
  649. package/lib/views/base-view-module.d.ts +1 -1
  650. package/lib/views/base-view-module.d.ts.map +1 -1
  651. package/lib/views/base-view-module.js +5 -4
  652. package/lib/views/base-view-module.js.map +1 -1
  653. package/lib/views/compartments.d.ts +17 -1
  654. package/lib/views/compartments.d.ts.map +1 -1
  655. package/lib/views/compartments.js +5 -6
  656. package/lib/views/compartments.js.map +1 -1
  657. package/lib/views/gedge-view.d.ts +2 -1
  658. package/lib/views/gedge-view.d.ts.map +1 -1
  659. package/lib/views/gedge-view.js +5 -6
  660. package/lib/views/gedge-view.js.map +1 -1
  661. package/lib/views/ggraph-view.d.ts +25 -0
  662. package/lib/views/ggraph-view.d.ts.map +1 -0
  663. package/lib/views/ggraph-view.js +68 -0
  664. package/lib/views/ggraph-view.js.map +1 -0
  665. package/lib/views/glsp-projection-view.d.ts +7 -2
  666. package/lib/views/glsp-projection-view.d.ts.map +1 -1
  667. package/lib/views/glsp-projection-view.js +52 -68
  668. package/lib/views/glsp-projection-view.js.map +1 -1
  669. package/lib/views/issue-marker-view.d.ts +2 -1
  670. package/lib/views/issue-marker-view.d.ts.map +1 -1
  671. package/lib/views/issue-marker-view.js +7 -8
  672. package/lib/views/issue-marker-view.js.map +1 -1
  673. package/lib/views/rounded-corner-view.d.ts +17 -1
  674. package/lib/views/rounded-corner-view.d.ts.map +1 -1
  675. package/lib/views/rounded-corner-view.js +8 -9
  676. package/lib/views/rounded-corner-view.js.map +1 -1
  677. package/lib/views/rounded-corner.d.ts +1 -1
  678. package/lib/views/rounded-corner.d.ts.map +1 -1
  679. package/lib/views/rounded-corner.js.map +1 -1
  680. package/package.json +11 -5
  681. package/src/base/action-dispatcher.spec.ts +5 -4
  682. package/src/base/action-dispatcher.ts +44 -4
  683. package/src/base/action-handler-registry.ts +19 -37
  684. package/src/base/auto-complete/auto-complete-widget.ts +2 -2
  685. package/src/base/auto-complete/base-autocomplete-palette.ts +4 -3
  686. package/src/base/command-stack.ts +23 -33
  687. package/src/base/default.module.ts +87 -65
  688. package/src/base/drag-aware-mouse-listener.ts +33 -3
  689. package/src/base/editor-context-service.ts +61 -16
  690. package/src/base/feedback/css-feedback.ts +14 -2
  691. package/src/base/feedback/feedback-action-dispatcher-default.ts +119 -0
  692. package/src/base/feedback/feedback-action-dispatcher.ts +21 -90
  693. package/src/base/feedback/feedback-emitter.spec.ts +176 -0
  694. package/src/base/feedback/feedback-emitter.ts +134 -0
  695. package/src/base/model/diagram-loader.ts +26 -15
  696. package/src/base/model/model-registry.ts +6 -2
  697. package/src/base/mouse-position-tracker.ts +48 -0
  698. package/src/base/selection-service.spec.ts +5 -0
  699. package/src/base/selection-service.ts +23 -23
  700. package/src/base/tool-manager/tool-manager.ts +43 -25
  701. package/src/base/ui-extension/ui-extension-registry.ts +33 -0
  702. package/src/base/ui-extension/ui-extension.ts +119 -0
  703. package/src/base/view/key-tool.ts +16 -4
  704. package/src/base/view/mouse-tool.ts +23 -6
  705. package/src/default-modules.spec.ts +56 -0
  706. package/src/default-modules.ts +8 -5
  707. package/src/features/accessibility/accessibility-module.ts +25 -20
  708. package/src/features/accessibility/element-navigation/element-navigation-module.ts +17 -10
  709. package/src/features/accessibility/element-navigation/local-element-navigator.ts +5 -5
  710. package/src/features/accessibility/focus-tracker/focus-tracker-module.ts +14 -7
  711. package/src/features/accessibility/key-shortcut/accessible-key-shortcut.ts +4 -3
  712. package/src/features/accessibility/key-shortcut/{di.config.ts → shortcut-help-module.ts} +14 -7
  713. package/src/features/accessibility/keyboard-grid/keyboard-grid.ts +10 -10
  714. package/src/features/accessibility/keyboard-pointer/keyboard-pointer-listener.ts +5 -2
  715. package/src/features/accessibility/keyboard-pointer/keyboard-pointer-module.ts +19 -16
  716. package/src/features/accessibility/keyboard-pointer/keyboard-pointer.ts +7 -14
  717. package/src/features/accessibility/keyboard-tool-palette/keyboard-tool-palette-module.ts +8 -5
  718. package/src/features/accessibility/keyboard-tool-palette/keyboard-tool-palette.ts +25 -8
  719. package/src/features/accessibility/move-zoom/move-handler.ts +12 -7
  720. package/src/features/accessibility/move-zoom/move-zoom-module.ts +8 -5
  721. package/src/features/accessibility/resize-key-tool/resize-key-handler.ts +20 -16
  722. package/src/features/accessibility/resize-key-tool/resize-key-module.ts +8 -5
  723. package/src/features/accessibility/search/search-palette-module.ts +8 -5
  724. package/src/features/accessibility/toast/toast-module.ts +14 -7
  725. package/src/features/accessibility/toast/toast-tool.ts +6 -5
  726. package/src/features/accessibility/view-key-tools/deselect-key-tool.ts +8 -8
  727. package/src/features/accessibility/view-key-tools/movement-key-tool.ts +24 -17
  728. package/src/features/accessibility/view-key-tools/view-key-tools-module.ts +11 -6
  729. package/src/features/bounds/bounds-module.ts +21 -16
  730. package/src/features/bounds/freeform-layout.ts +17 -7
  731. package/src/features/bounds/glsp-hidden-bounds-updater.ts +63 -46
  732. package/src/features/bounds/hbox-layout.ts +19 -10
  733. package/src/features/bounds/layout-data.ts +48 -0
  734. package/src/features/bounds/local-bounds.ts +20 -4
  735. package/src/features/bounds/set-bounds-feedback-command.ts +1 -1
  736. package/src/features/bounds/vbox-layout.ts +19 -11
  737. package/src/features/change-bounds/model.ts +162 -20
  738. package/src/features/change-bounds/movement-restrictor.ts +27 -33
  739. package/src/features/change-bounds/{snap.spec.ts → point-position-updater.spec.ts} +4 -13
  740. package/src/features/change-bounds/point-position-updater.ts +7 -1
  741. package/src/features/change-bounds/position-snapper.ts +4 -0
  742. package/src/features/change-bounds/snap.ts +6 -23
  743. package/src/features/change-bounds/tracker.ts +63 -0
  744. package/src/features/command-palette/command-palette-module.ts +12 -8
  745. package/src/features/command-palette/command-palette.ts +35 -0
  746. package/src/features/context-menu/context-menu-module.ts +17 -14
  747. package/src/features/context-menu/glsp-context-menu-mouse-listener.ts +2 -2
  748. package/src/features/copy-paste/copy-paste-modules.ts +12 -6
  749. package/src/features/copy-paste/copy-paste-standalone.ts +1 -4
  750. package/src/features/debug/debug-bounds-decorator.tsx +178 -0
  751. package/src/features/debug/debug-manager.ts +59 -0
  752. package/src/features/debug/debug-model.ts +63 -0
  753. package/src/features/debug/debug-module.ts +35 -0
  754. package/src/features/decoration/decoration-module.ts +7 -4
  755. package/src/features/element-template/element-template-module.ts +9 -6
  756. package/src/features/element-template/mouse-tracking-element-position-listener.ts +77 -72
  757. package/src/features/export/export-modules.ts +11 -8
  758. package/src/features/export/glsp-svg-exporter.ts +89 -19
  759. package/src/features/grid/grid-manager.ts +63 -0
  760. package/src/features/grid/grid-model.ts +62 -0
  761. package/src/features/grid/grid-module.ts +37 -0
  762. package/src/features/grid/grid-snapper.spec.ts +30 -0
  763. package/src/features/grid/grid-snapper.ts +59 -0
  764. package/{lib/features/routing/glsp-manhattan-edge-router.d.ts → src/features/grid/grid-style.ts} +9 -5
  765. package/src/{base/tool-manager/index.ts → features/grid/grid.ts} +4 -3
  766. package/src/features/helper-lines/helper-line-feedback.ts +53 -59
  767. package/src/features/helper-lines/helper-line-manager-default.ts +108 -18
  768. package/src/features/helper-lines/helper-line-manager.ts +11 -2
  769. package/src/features/helper-lines/helper-line-module.ts +17 -14
  770. package/src/features/helper-lines/model.ts +7 -26
  771. package/src/features/helper-lines/view.tsx +2 -4
  772. package/src/features/hints/model.ts +7 -2
  773. package/src/features/hints/type-hint-provider.spec.ts +6 -3
  774. package/src/features/hints/type-hint-provider.ts +9 -2
  775. package/src/features/hints/type-hints-module.ts +11 -8
  776. package/src/features/hover/hover-module.ts +29 -26
  777. package/src/features/label-edit/label-edit-module.ts +10 -7
  778. package/{lib/base/index.d.ts → src/features/label-edit-ui/label-edit-ui-module.ts} +13 -18
  779. package/src/features/label-edit-ui/label-edit-ui.ts +35 -0
  780. package/src/features/layout/layout-elements-action.ts +11 -8
  781. package/src/features/layout/layout-module.ts +9 -6
  782. package/src/features/navigation/navigation-action-handler.ts +2 -2
  783. package/src/features/navigation/navigation-module.ts +12 -9
  784. package/src/features/routing/edge-router.ts +171 -0
  785. package/src/features/routing/routing-module.ts +23 -22
  786. package/src/features/save/save-module.ts +7 -4
  787. package/src/features/select/select-module.ts +12 -9
  788. package/src/features/select/select-mouse-listener.ts +19 -4
  789. package/src/features/source-model-watcher/source-model-watcher-module.ts +7 -4
  790. package/src/features/status/status-module.ts +10 -7
  791. package/src/features/status/status-overlay.ts +4 -3
  792. package/src/features/svg-metadata/svg-metadata-module.ts +8 -5
  793. package/src/features/tool-palette/tool-palette-module.ts +11 -8
  794. package/src/features/tool-palette/tool-palette.ts +82 -6
  795. package/src/features/tools/base-tools.ts +45 -26
  796. package/src/features/tools/change-bounds/change-bounds-manager.ts +203 -0
  797. package/src/features/tools/change-bounds/change-bounds-tool-feedback.ts +18 -230
  798. package/src/features/tools/change-bounds/change-bounds-tool-module.ts +16 -10
  799. package/src/features/tools/change-bounds/change-bounds-tool-move-feedback.ts +204 -0
  800. package/src/features/tools/change-bounds/change-bounds-tool.ts +173 -285
  801. package/src/features/tools/change-bounds/change-bounds-tracker.ts +477 -0
  802. package/src/features/tools/change-bounds/view.tsx +15 -21
  803. package/src/features/tools/deletion/delete-tool.ts +7 -7
  804. package/src/features/tools/deletion/deletion-tool-module.ts +9 -6
  805. package/src/features/tools/edge-creation/dangling-edge-feedback.ts +8 -5
  806. package/src/features/tools/edge-creation/edege-creation-module.ts +10 -7
  807. package/src/features/tools/edge-creation/edge-creation-tool-feedback.ts +14 -11
  808. package/src/features/tools/edge-creation/edge-creation-tool.ts +86 -42
  809. package/src/features/tools/edge-creation/view.tsx +3 -5
  810. package/src/features/tools/edge-edit/edge-edit-module.ts +15 -12
  811. package/src/features/tools/edge-edit/edge-edit-tool-feedback.ts +62 -66
  812. package/src/features/tools/edge-edit/edge-edit-tool.ts +50 -53
  813. package/src/features/tools/marquee-selection/marquee-behavior.spec.ts +3 -2
  814. package/src/features/tools/marquee-selection/marquee-behavior.ts +67 -9
  815. package/src/features/tools/marquee-selection/marquee-mouse-tool.ts +33 -70
  816. package/src/features/tools/marquee-selection/marquee-selection-module.ts +14 -9
  817. package/src/features/tools/marquee-selection/view.tsx +3 -5
  818. package/src/features/tools/node-creation/container-manager.ts +78 -0
  819. package/src/features/tools/node-creation/insert-indicator.ts +41 -0
  820. package/src/features/tools/node-creation/node-creation-module.ts +18 -3
  821. package/src/features/tools/node-creation/node-creation-tool.ts +161 -68
  822. package/src/features/tools/node-creation/node-creation-views.tsx +46 -0
  823. package/src/features/tools/tool-focus-loss-module.ts +8 -5
  824. package/src/features/undo-redo/undo-redo-module.ts +8 -6
  825. package/src/features/validation/issue-marker.ts +7 -6
  826. package/src/features/validation/marker-navigator.ts +7 -9
  827. package/src/features/validation/validate.ts +6 -21
  828. package/src/features/validation/validation-modules.ts +20 -14
  829. package/src/features/viewport/origin-viewport.ts +68 -0
  830. package/src/features/viewport/reposition.ts +12 -15
  831. package/src/features/viewport/viewport-handler.ts +13 -7
  832. package/src/features/viewport/viewport-modules.ts +24 -19
  833. package/src/index.ts +224 -5
  834. package/src/standalone-modules.ts +13 -10
  835. package/src/utils/geometry-util.ts +46 -65
  836. package/src/utils/gmodel-util.ts +89 -7
  837. package/src/utils/layout-utils.ts +14 -21
  838. package/src/utils/viewpoint-util.ts +14 -26
  839. package/src/views/base-view-module.ts +11 -8
  840. package/src/views/compartments.tsx +3 -5
  841. package/src/views/gedge-view.tsx +3 -5
  842. package/src/views/ggraph-view.tsx +53 -0
  843. package/src/views/glsp-projection-view.tsx +42 -72
  844. package/src/views/issue-marker-view.tsx +2 -4
  845. package/src/views/rounded-corner-view.tsx +3 -5
  846. package/src/views/rounded-corner.ts +5 -2
  847. package/lib/base/action-dispatcher.spec.d.ts +0 -2
  848. package/lib/base/action-dispatcher.spec.d.ts.map +0 -1
  849. package/lib/base/action-dispatcher.spec.js +0 -78
  850. package/lib/base/action-dispatcher.spec.js.map +0 -1
  851. package/lib/base/auto-complete/index.d.ts.map +0 -1
  852. package/lib/base/auto-complete/index.js +0 -37
  853. package/lib/base/auto-complete/index.js.map +0 -1
  854. package/lib/base/feedback/index.d.ts.map +0 -1
  855. package/lib/base/feedback/index.js +0 -37
  856. package/lib/base/feedback/index.js.map +0 -1
  857. package/lib/base/focus/index.d.ts.map +0 -1
  858. package/lib/base/focus/index.js +0 -34
  859. package/lib/base/focus/index.js.map +0 -1
  860. package/lib/base/index.d.ts.map +0 -1
  861. package/lib/base/index.js +0 -48
  862. package/lib/base/index.js.map +0 -1
  863. package/lib/base/model/index.d.ts.map +0 -1
  864. package/lib/base/model/index.js +0 -36
  865. package/lib/base/model/index.js.map +0 -1
  866. package/lib/base/model/model-initialization-constraint.spec.d.ts +0 -2
  867. package/lib/base/model/model-initialization-constraint.spec.d.ts.map +0 -1
  868. package/lib/base/model/model-initialization-constraint.spec.js +0 -97
  869. package/lib/base/model/model-initialization-constraint.spec.js.map +0 -1
  870. package/lib/base/selection-service.spec.d.ts +0 -2
  871. package/lib/base/selection-service.spec.d.ts.map +0 -1
  872. package/lib/base/selection-service.spec.js +0 -287
  873. package/lib/base/selection-service.spec.js.map +0 -1
  874. package/lib/base/tool-manager/index.d.ts.map +0 -1
  875. package/lib/base/tool-manager/index.js +0 -34
  876. package/lib/base/tool-manager/index.js.map +0 -1
  877. package/lib/base/view/index.d.ts.map +0 -1
  878. package/lib/base/view/index.js +0 -35
  879. package/lib/base/view/index.js.map +0 -1
  880. package/lib/features/accessibility/edge-autocomplete/index.d.ts +0 -20
  881. package/lib/features/accessibility/edge-autocomplete/index.d.ts.map +0 -1
  882. package/lib/features/accessibility/edge-autocomplete/index.js +0 -36
  883. package/lib/features/accessibility/edge-autocomplete/index.js.map +0 -1
  884. package/lib/features/accessibility/element-navigation/index.d.ts +0 -22
  885. package/lib/features/accessibility/element-navigation/index.d.ts.map +0 -1
  886. package/lib/features/accessibility/element-navigation/index.js +0 -38
  887. package/lib/features/accessibility/element-navigation/index.js.map +0 -1
  888. package/lib/features/accessibility/focus-tracker/index.d.ts.map +0 -1
  889. package/lib/features/accessibility/focus-tracker/index.js +0 -34
  890. package/lib/features/accessibility/focus-tracker/index.js.map +0 -1
  891. package/lib/features/accessibility/index.d.ts +0 -31
  892. package/lib/features/accessibility/index.d.ts.map +0 -1
  893. package/lib/features/accessibility/index.js +0 -47
  894. package/lib/features/accessibility/index.js.map +0 -1
  895. package/lib/features/accessibility/key-shortcut/di.config.d.ts.map +0 -1
  896. package/lib/features/accessibility/key-shortcut/di.config.js.map +0 -1
  897. package/lib/features/accessibility/key-shortcut/index.d.ts +0 -19
  898. package/lib/features/accessibility/key-shortcut/index.d.ts.map +0 -1
  899. package/lib/features/accessibility/key-shortcut/index.js +0 -35
  900. package/lib/features/accessibility/key-shortcut/index.js.map +0 -1
  901. package/lib/features/accessibility/keyboard-grid/index.d.ts +0 -21
  902. package/lib/features/accessibility/keyboard-grid/index.d.ts.map +0 -1
  903. package/lib/features/accessibility/keyboard-grid/index.js +0 -37
  904. package/lib/features/accessibility/keyboard-grid/index.js.map +0 -1
  905. package/lib/features/accessibility/keyboard-pointer/index.d.ts +0 -22
  906. package/lib/features/accessibility/keyboard-pointer/index.d.ts.map +0 -1
  907. package/lib/features/accessibility/keyboard-pointer/index.js +0 -38
  908. package/lib/features/accessibility/keyboard-pointer/index.js.map +0 -1
  909. package/lib/features/accessibility/keyboard-tool-palette/index.d.ts +0 -18
  910. package/lib/features/accessibility/keyboard-tool-palette/index.d.ts.map +0 -1
  911. package/lib/features/accessibility/keyboard-tool-palette/index.js +0 -34
  912. package/lib/features/accessibility/keyboard-tool-palette/index.js.map +0 -1
  913. package/lib/features/accessibility/move-zoom/index.d.ts +0 -19
  914. package/lib/features/accessibility/move-zoom/index.d.ts.map +0 -1
  915. package/lib/features/accessibility/move-zoom/index.js +0 -35
  916. package/lib/features/accessibility/move-zoom/index.js.map +0 -1
  917. package/lib/features/accessibility/resize-key-tool/index.d.ts +0 -19
  918. package/lib/features/accessibility/resize-key-tool/index.d.ts.map +0 -1
  919. package/lib/features/accessibility/resize-key-tool/index.js +0 -35
  920. package/lib/features/accessibility/resize-key-tool/index.js.map +0 -1
  921. package/lib/features/accessibility/search/index.d.ts +0 -19
  922. package/lib/features/accessibility/search/index.d.ts.map +0 -1
  923. package/lib/features/accessibility/search/index.js +0 -35
  924. package/lib/features/accessibility/search/index.js.map +0 -1
  925. package/lib/features/accessibility/toast/index.d.ts +0 -19
  926. package/lib/features/accessibility/toast/index.d.ts.map +0 -1
  927. package/lib/features/accessibility/toast/index.js +0 -35
  928. package/lib/features/accessibility/toast/index.js.map +0 -1
  929. package/lib/features/accessibility/view-key-tools/index.d.ts +0 -20
  930. package/lib/features/accessibility/view-key-tools/index.d.ts.map +0 -1
  931. package/lib/features/accessibility/view-key-tools/index.js +0 -36
  932. package/lib/features/accessibility/view-key-tools/index.js.map +0 -1
  933. package/lib/features/bounds/freeform-layout.spec.d.ts +0 -3
  934. package/lib/features/bounds/freeform-layout.spec.d.ts.map +0 -1
  935. package/lib/features/bounds/freeform-layout.spec.js +0 -201
  936. package/lib/features/bounds/freeform-layout.spec.js.map +0 -1
  937. package/lib/features/bounds/hbox-layout.spec.d.ts +0 -3
  938. package/lib/features/bounds/hbox-layout.spec.d.ts.map +0 -1
  939. package/lib/features/bounds/hbox-layout.spec.js +0 -160
  940. package/lib/features/bounds/hbox-layout.spec.js.map +0 -1
  941. package/lib/features/bounds/index.d.ts +0 -24
  942. package/lib/features/bounds/index.d.ts.map +0 -1
  943. package/lib/features/bounds/index.js +0 -40
  944. package/lib/features/bounds/index.js.map +0 -1
  945. package/lib/features/bounds/layouter-test-util.spec.d.ts +0 -32
  946. package/lib/features/bounds/layouter-test-util.spec.d.ts.map +0 -1
  947. package/lib/features/bounds/layouter-test-util.spec.js +0 -96
  948. package/lib/features/bounds/layouter-test-util.spec.js.map +0 -1
  949. package/lib/features/bounds/vbox-layout.spec.d.ts +0 -3
  950. package/lib/features/bounds/vbox-layout.spec.d.ts.map +0 -1
  951. package/lib/features/bounds/vbox-layout.spec.js +0 -160
  952. package/lib/features/bounds/vbox-layout.spec.js.map +0 -1
  953. package/lib/features/change-bounds/index.d.ts +0 -21
  954. package/lib/features/change-bounds/index.d.ts.map +0 -1
  955. package/lib/features/change-bounds/index.js +0 -37
  956. package/lib/features/change-bounds/index.js.map +0 -1
  957. package/lib/features/change-bounds/snap.spec.d.ts +0 -17
  958. package/lib/features/change-bounds/snap.spec.d.ts.map +0 -1
  959. package/lib/features/change-bounds/snap.spec.js +0 -83
  960. package/lib/features/change-bounds/snap.spec.js.map +0 -1
  961. package/lib/features/command-palette/index.d.ts +0 -19
  962. package/lib/features/command-palette/index.d.ts.map +0 -1
  963. package/lib/features/command-palette/index.js +0 -35
  964. package/lib/features/command-palette/index.js.map +0 -1
  965. package/lib/features/context-menu/index.d.ts +0 -20
  966. package/lib/features/context-menu/index.d.ts.map +0 -1
  967. package/lib/features/context-menu/index.js +0 -36
  968. package/lib/features/context-menu/index.js.map +0 -1
  969. package/lib/features/copy-paste/index.d.ts +0 -20
  970. package/lib/features/copy-paste/index.d.ts.map +0 -1
  971. package/lib/features/copy-paste/index.js +0 -36
  972. package/lib/features/copy-paste/index.js.map +0 -1
  973. package/lib/features/decoration/index.d.ts +0 -18
  974. package/lib/features/decoration/index.d.ts.map +0 -1
  975. package/lib/features/decoration/index.js +0 -34
  976. package/lib/features/decoration/index.js.map +0 -1
  977. package/lib/features/element-template/index.d.ts +0 -20
  978. package/lib/features/element-template/index.d.ts.map +0 -1
  979. package/lib/features/element-template/index.js +0 -36
  980. package/lib/features/element-template/index.js.map +0 -1
  981. package/lib/features/export/index.d.ts +0 -19
  982. package/lib/features/export/index.d.ts.map +0 -1
  983. package/lib/features/export/index.js +0 -35
  984. package/lib/features/export/index.js.map +0 -1
  985. package/lib/features/helper-lines/index.d.ts +0 -22
  986. package/lib/features/helper-lines/index.d.ts.map +0 -1
  987. package/lib/features/helper-lines/index.js +0 -38
  988. package/lib/features/helper-lines/index.js.map +0 -1
  989. package/lib/features/hints/index.d.ts +0 -19
  990. package/lib/features/hints/index.d.ts.map +0 -1
  991. package/lib/features/hints/index.js +0 -35
  992. package/lib/features/hints/index.js.map +0 -1
  993. package/lib/features/hints/type-hint-provider.spec.d.ts +0 -2
  994. package/lib/features/hints/type-hint-provider.spec.d.ts.map +0 -1
  995. package/lib/features/hints/type-hint-provider.spec.js +0 -333
  996. package/lib/features/hints/type-hint-provider.spec.js.map +0 -1
  997. package/lib/features/hover/index.d.ts +0 -18
  998. package/lib/features/hover/index.d.ts.map +0 -1
  999. package/lib/features/hover/index.js +0 -34
  1000. package/lib/features/hover/index.js.map +0 -1
  1001. package/lib/features/index.d.ts +0 -43
  1002. package/lib/features/index.d.ts.map +0 -1
  1003. package/lib/features/index.js +0 -59
  1004. package/lib/features/index.js.map +0 -1
  1005. package/lib/features/label-edit/index.d.ts +0 -19
  1006. package/lib/features/label-edit/index.d.ts.map +0 -1
  1007. package/lib/features/label-edit/index.js +0 -35
  1008. package/lib/features/label-edit/index.js.map +0 -1
  1009. package/lib/features/layout/index.d.ts +0 -18
  1010. package/lib/features/layout/index.d.ts.map +0 -1
  1011. package/lib/features/layout/index.js +0 -34
  1012. package/lib/features/layout/index.js.map +0 -1
  1013. package/lib/features/layout/layout-elements-action.spec.d.ts +0 -3
  1014. package/lib/features/layout/layout-elements-action.spec.d.ts.map +0 -1
  1015. package/lib/features/layout/layout-elements-action.spec.js +0 -329
  1016. package/lib/features/layout/layout-elements-action.spec.js.map +0 -1
  1017. package/lib/features/navigation/index.d.ts +0 -19
  1018. package/lib/features/navigation/index.d.ts.map +0 -1
  1019. package/lib/features/navigation/index.js +0 -35
  1020. package/lib/features/navigation/index.js.map +0 -1
  1021. package/lib/features/navigation/navigation-target-resolver.spec.d.ts +0 -3
  1022. package/lib/features/navigation/navigation-target-resolver.spec.d.ts.map +0 -1
  1023. package/lib/features/navigation/navigation-target-resolver.spec.js +0 -53
  1024. package/lib/features/navigation/navigation-target-resolver.spec.js.map +0 -1
  1025. package/lib/features/reconnect/index.d.ts +0 -17
  1026. package/lib/features/reconnect/index.d.ts.map +0 -1
  1027. package/lib/features/reconnect/index.js.map +0 -1
  1028. package/lib/features/routing/glsp-manhattan-edge-router.d.ts.map +0 -1
  1029. package/lib/features/routing/glsp-manhattan-edge-router.js +0 -68
  1030. package/lib/features/routing/glsp-manhattan-edge-router.js.map +0 -1
  1031. package/lib/features/routing/index.d.ts +0 -18
  1032. package/lib/features/routing/index.d.ts.map +0 -1
  1033. package/lib/features/routing/index.js +0 -34
  1034. package/lib/features/routing/index.js.map +0 -1
  1035. package/lib/features/save/index.d.ts +0 -18
  1036. package/lib/features/save/index.d.ts.map +0 -1
  1037. package/lib/features/save/index.js +0 -34
  1038. package/lib/features/save/index.js.map +0 -1
  1039. package/lib/features/select/index.d.ts +0 -19
  1040. package/lib/features/select/index.d.ts.map +0 -1
  1041. package/lib/features/select/index.js +0 -35
  1042. package/lib/features/select/index.js.map +0 -1
  1043. package/lib/features/source-model-watcher/index.d.ts +0 -18
  1044. package/lib/features/source-model-watcher/index.d.ts.map +0 -1
  1045. package/lib/features/source-model-watcher/index.js +0 -34
  1046. package/lib/features/source-model-watcher/index.js.map +0 -1
  1047. package/lib/features/status/index.d.ts +0 -18
  1048. package/lib/features/status/index.d.ts.map +0 -1
  1049. package/lib/features/status/index.js +0 -34
  1050. package/lib/features/status/index.js.map +0 -1
  1051. package/lib/features/svg-metadata/index.d.ts +0 -18
  1052. package/lib/features/svg-metadata/index.d.ts.map +0 -1
  1053. package/lib/features/svg-metadata/index.js +0 -34
  1054. package/lib/features/svg-metadata/index.js.map +0 -1
  1055. package/lib/features/tool-palette/index.d.ts +0 -18
  1056. package/lib/features/tool-palette/index.d.ts.map +0 -1
  1057. package/lib/features/tool-palette/index.js +0 -34
  1058. package/lib/features/tool-palette/index.js.map +0 -1
  1059. package/lib/features/tools/change-bounds/index.d.ts +0 -20
  1060. package/lib/features/tools/change-bounds/index.d.ts.map +0 -1
  1061. package/lib/features/tools/change-bounds/index.js +0 -36
  1062. package/lib/features/tools/change-bounds/index.js.map +0 -1
  1063. package/lib/features/tools/deletion/index.d.ts +0 -18
  1064. package/lib/features/tools/deletion/index.d.ts.map +0 -1
  1065. package/lib/features/tools/deletion/index.js +0 -34
  1066. package/lib/features/tools/deletion/index.js.map +0 -1
  1067. package/lib/features/tools/edge-creation/index.d.ts +0 -21
  1068. package/lib/features/tools/edge-creation/index.d.ts.map +0 -1
  1069. package/lib/features/tools/edge-creation/index.js +0 -37
  1070. package/lib/features/tools/edge-creation/index.js.map +0 -1
  1071. package/lib/features/tools/edge-edit/index.d.ts +0 -19
  1072. package/lib/features/tools/edge-edit/index.d.ts.map +0 -1
  1073. package/lib/features/tools/edge-edit/index.js +0 -35
  1074. package/lib/features/tools/edge-edit/index.js.map +0 -1
  1075. package/lib/features/tools/index.d.ts +0 -24
  1076. package/lib/features/tools/index.d.ts.map +0 -1
  1077. package/lib/features/tools/index.js +0 -40
  1078. package/lib/features/tools/index.js.map +0 -1
  1079. package/lib/features/tools/marquee-selection/index.d.ts +0 -23
  1080. package/lib/features/tools/marquee-selection/index.d.ts.map +0 -1
  1081. package/lib/features/tools/marquee-selection/index.js +0 -39
  1082. package/lib/features/tools/marquee-selection/index.js.map +0 -1
  1083. package/lib/features/tools/marquee-selection/marquee-behavior.spec.d.ts +0 -17
  1084. package/lib/features/tools/marquee-selection/marquee-behavior.spec.d.ts.map +0 -1
  1085. package/lib/features/tools/marquee-selection/marquee-behavior.spec.js +0 -165
  1086. package/lib/features/tools/marquee-selection/marquee-behavior.spec.js.map +0 -1
  1087. package/lib/features/tools/node-creation/index.d.ts +0 -18
  1088. package/lib/features/tools/node-creation/index.d.ts.map +0 -1
  1089. package/lib/features/tools/node-creation/index.js +0 -34
  1090. package/lib/features/tools/node-creation/index.js.map +0 -1
  1091. package/lib/features/undo-redo/index.d.ts +0 -18
  1092. package/lib/features/undo-redo/index.d.ts.map +0 -1
  1093. package/lib/features/undo-redo/index.js +0 -34
  1094. package/lib/features/undo-redo/index.js.map +0 -1
  1095. package/lib/features/validation/index.d.ts +0 -20
  1096. package/lib/features/validation/index.d.ts.map +0 -1
  1097. package/lib/features/validation/index.js +0 -36
  1098. package/lib/features/validation/index.js.map +0 -1
  1099. package/lib/features/validation/marker-navigator.spec.d.ts +0 -3
  1100. package/lib/features/validation/marker-navigator.spec.d.ts.map +0 -1
  1101. package/lib/features/validation/marker-navigator.spec.js +0 -166
  1102. package/lib/features/validation/marker-navigator.spec.js.map +0 -1
  1103. package/lib/features/viewport/index.d.ts +0 -20
  1104. package/lib/features/viewport/index.d.ts.map +0 -1
  1105. package/lib/features/viewport/index.js +0 -36
  1106. package/lib/features/viewport/index.js.map +0 -1
  1107. package/lib/utils/contribution-provider.d.ts +0 -27
  1108. package/lib/utils/contribution-provider.d.ts.map +0 -1
  1109. package/lib/utils/contribution-provider.js +0 -56
  1110. package/lib/utils/contribution-provider.js.map +0 -1
  1111. package/lib/utils/gmodel-util.spec.d.ts +0 -2
  1112. package/lib/utils/gmodel-util.spec.d.ts.map +0 -1
  1113. package/lib/utils/gmodel-util.spec.js +0 -186
  1114. package/lib/utils/gmodel-util.spec.js.map +0 -1
  1115. package/lib/utils/index.d.ts +0 -23
  1116. package/lib/utils/index.d.ts.map +0 -1
  1117. package/lib/utils/index.js +0 -39
  1118. package/lib/utils/index.js.map +0 -1
  1119. package/lib/views/index.d.ts +0 -23
  1120. package/lib/views/index.d.ts.map +0 -1
  1121. package/lib/views/index.js +0 -39
  1122. package/lib/views/index.js.map +0 -1
  1123. package/src/base/auto-complete/index.ts +0 -20
  1124. package/src/base/focus/index.ts +0 -17
  1125. package/src/base/index.ts +0 -31
  1126. package/src/base/model/index.ts +0 -19
  1127. package/src/base/view/index.ts +0 -18
  1128. package/src/features/accessibility/edge-autocomplete/index.ts +0 -19
  1129. package/src/features/accessibility/element-navigation/index.ts +0 -21
  1130. package/src/features/accessibility/focus-tracker/index.ts +0 -17
  1131. package/src/features/accessibility/index.ts +0 -30
  1132. package/src/features/accessibility/key-shortcut/index.ts +0 -18
  1133. package/src/features/accessibility/keyboard-grid/index.ts +0 -20
  1134. package/src/features/accessibility/keyboard-pointer/index.ts +0 -21
  1135. package/src/features/accessibility/keyboard-tool-palette/index.ts +0 -17
  1136. package/src/features/accessibility/move-zoom/index.ts +0 -18
  1137. package/src/features/accessibility/resize-key-tool/index.ts +0 -18
  1138. package/src/features/accessibility/search/index.ts +0 -18
  1139. package/src/features/accessibility/toast/index.ts +0 -18
  1140. package/src/features/accessibility/view-key-tools/index.ts +0 -19
  1141. package/src/features/bounds/index.ts +0 -23
  1142. package/src/features/change-bounds/index.ts +0 -20
  1143. package/src/features/command-palette/index.ts +0 -18
  1144. package/src/features/context-menu/index.ts +0 -19
  1145. package/src/features/copy-paste/index.ts +0 -19
  1146. package/src/features/decoration/index.ts +0 -17
  1147. package/src/features/element-template/index.ts +0 -19
  1148. package/src/features/export/index.ts +0 -18
  1149. package/src/features/helper-lines/index.ts +0 -21
  1150. package/src/features/hints/index.ts +0 -18
  1151. package/src/features/hover/index.ts +0 -17
  1152. package/src/features/index.ts +0 -42
  1153. package/src/features/label-edit/index.ts +0 -18
  1154. package/src/features/layout/index.ts +0 -17
  1155. package/src/features/navigation/index.ts +0 -18
  1156. package/src/features/reconnect/index.ts +0 -16
  1157. package/src/features/routing/glsp-manhattan-edge-router.ts +0 -59
  1158. package/src/features/routing/index.ts +0 -17
  1159. package/src/features/save/index.ts +0 -17
  1160. package/src/features/select/index.ts +0 -18
  1161. package/src/features/source-model-watcher/index.ts +0 -17
  1162. package/src/features/status/index.ts +0 -17
  1163. package/src/features/svg-metadata/index.ts +0 -17
  1164. package/src/features/tool-palette/index.ts +0 -17
  1165. package/src/features/tools/change-bounds/index.ts +0 -19
  1166. package/src/features/tools/deletion/index.ts +0 -17
  1167. package/src/features/tools/edge-creation/index.ts +0 -20
  1168. package/src/features/tools/edge-edit/index.ts +0 -18
  1169. package/src/features/tools/index.ts +0 -23
  1170. package/src/features/tools/marquee-selection/index.ts +0 -22
  1171. package/src/features/tools/node-creation/index.ts +0 -17
  1172. package/src/features/undo-redo/index.ts +0 -17
  1173. package/src/features/validation/index.ts +0 -19
  1174. package/src/features/viewport/index.ts +0 -19
  1175. package/src/utils/contribution-provider.ts +0 -65
  1176. package/src/utils/index.ts +0 -22
  1177. package/src/views/index.ts +0 -22
@@ -13,40 +13,20 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
- import {
17
- Action,
18
- CommandExecutionContext,
19
- CommandReturn,
20
- Disposable,
21
- ElementMove,
22
- GChildElement,
23
- GModelElement,
24
- GModelRoot,
25
- MoveAction,
26
- Point,
27
- TYPES,
28
- findParentByFeature,
29
- hasStringProp,
30
- isMoveable,
31
- isSelectable
32
- } from '@eclipse-glsp/sprotty';
16
+ import { Action, CommandExecutionContext, CommandReturn, TYPES, hasStringProp } from '@eclipse-glsp/sprotty';
33
17
  import { inject, injectable } from 'inversify';
34
18
 
35
- import { DebouncedFunc, debounce } from 'lodash';
36
- import { DragAwareMouseListener } from '../../../base/drag-aware-mouse-listener';
37
- import { CursorCSS, cursorFeedbackAction } from '../../../base/feedback/css-feedback';
38
19
  import { FeedbackCommand } from '../../../base/feedback/feedback-command';
39
20
  import { OptionalAction } from '../../../base/model/glsp-model-source';
40
21
  import { forEachElement } from '../../../utils/gmodel-util';
41
- import { SResizeHandle, addResizeHandles, isResizable, removeResizeHandles } from '../../change-bounds/model';
42
- import { createMovementRestrictionFeedback, removeMovementRestrictionFeedback } from '../../change-bounds/movement-restrictor';
43
- import { PointPositionUpdater } from '../../change-bounds/point-position-updater';
44
- import { ChangeBoundsTool } from './change-bounds-tool';
22
+ import { ResizeHandleLocation, addResizeHandles, isResizable, removeResizeHandles } from '../../change-bounds/model';
23
+ import { ChangeBoundsManager } from './change-bounds-manager';
45
24
 
46
25
  export interface ShowChangeBoundsToolResizeFeedbackAction extends Action {
47
26
  kind: typeof ShowChangeBoundsToolResizeFeedbackAction.KIND;
48
27
 
49
28
  elementId: string;
29
+ resizeLocations?: ResizeHandleLocation[];
50
30
  }
51
31
 
52
32
  export namespace ShowChangeBoundsToolResizeFeedbackAction {
@@ -56,10 +36,16 @@ export namespace ShowChangeBoundsToolResizeFeedbackAction {
56
36
  return Action.hasKind(object, KIND) && hasStringProp(object, 'elementId');
57
37
  }
58
38
 
59
- export function create(elementId: string): ShowChangeBoundsToolResizeFeedbackAction {
39
+ /** @deprecated Use the create method with the options object parameter instead and set the 'elementId' parameter. */
40
+ export function create(elementId: string): ShowChangeBoundsToolResizeFeedbackAction;
41
+ export function create(options: Omit<ShowChangeBoundsToolResizeFeedbackAction, 'kind'>): ShowChangeBoundsToolResizeFeedbackAction;
42
+ export function create(
43
+ options: Omit<ShowChangeBoundsToolResizeFeedbackAction, 'kind'> | string
44
+ ): ShowChangeBoundsToolResizeFeedbackAction {
45
+ const opts = typeof options === 'string' ? { elementId: options } : options;
60
46
  return {
61
47
  kind: KIND,
62
- elementId
48
+ ...opts
63
49
  };
64
50
  }
65
51
  }
@@ -85,16 +71,20 @@ export class ShowChangeBoundsToolResizeFeedbackCommand extends FeedbackCommand {
85
71
  static readonly KIND = ShowChangeBoundsToolResizeFeedbackAction.KIND;
86
72
 
87
73
  @inject(TYPES.Action) protected action: ShowChangeBoundsToolResizeFeedbackAction;
74
+ @inject(ChangeBoundsManager) protected changeBoundsManager: ChangeBoundsManager;
88
75
 
89
76
  execute(context: CommandExecutionContext): CommandReturn {
90
77
  const index = context.root.index;
91
78
 
92
- forEachElement(index, isResizable, removeResizeHandles);
79
+ forEachElement(index, isResizable, element => element.id !== this.action.elementId && removeResizeHandles(element));
93
80
 
94
81
  if (this.action.elementId) {
95
82
  const resizeElement = index.getById(this.action.elementId);
96
83
  if (resizeElement && isResizable(resizeElement)) {
97
- addResizeHandles(resizeElement);
84
+ addResizeHandles(
85
+ resizeElement,
86
+ this.action.resizeLocations ?? resizeElement.resizeLocations ?? this.changeBoundsManager.defaultResizeLocations()
87
+ );
98
88
  }
99
89
  }
100
90
  return context.root;
@@ -145,205 +135,3 @@ export namespace MoveFinishedEventAction {
145
135
  return OptionalAction.mark({ kind: KIND });
146
136
  }
147
137
  }
148
-
149
- /**
150
- * This mouse listener provides visual feedback for moving by sending client-side
151
- * `MoveAction`s while elements are selected and dragged. This will also update
152
- * their bounds, which is important, as it is not only required for rendering
153
- * the visual feedback but also the basis for sending the change to the server
154
- * (see also `tools/MoveTool`).
155
- */
156
- export class FeedbackMoveMouseListener extends DragAwareMouseListener implements Disposable {
157
- protected rootElement?: GModelRoot;
158
- protected positionUpdater;
159
- protected elementId2startPos = new Map<string, Point>();
160
- protected pendingMoveInitialized?: DebouncedFunc<() => void>;
161
- protected moveInitialized = false;
162
-
163
- constructor(protected tool: ChangeBoundsTool) {
164
- super();
165
- this.positionUpdater = new PointPositionUpdater(tool.positionSnapper);
166
- }
167
-
168
- override mouseDown(target: GModelElement, event: MouseEvent): Action[] {
169
- if (event.button === 0 && !(target instanceof SResizeHandle)) {
170
- const moveable = findParentByFeature(target, isMoveable);
171
- if (moveable !== undefined && !(target instanceof SResizeHandle)) {
172
- this.positionUpdater.updateLastDragPosition(event);
173
- this.scheduleMoveInitialized();
174
- } else {
175
- this.positionUpdater.resetPosition();
176
- }
177
- this._isMouseDrag = false;
178
- }
179
- return [];
180
- }
181
-
182
- protected scheduleMoveInitialized(): void {
183
- this.moveInitialized = false;
184
- this.pendingMoveInitialized?.cancel();
185
- this.pendingMoveInitialized = debounce(() => {
186
- this.tool.registerFeedback([MoveInitializedEventAction.create()], this);
187
- this.pendingMoveInitialized = undefined;
188
- this.moveInitialized = true;
189
- }, 750);
190
- this.pendingMoveInitialized();
191
- }
192
-
193
- override mouseMove(target: GModelElement, event: MouseEvent): Action[] {
194
- const result: Action[] = [];
195
- if (event.buttons === 0) {
196
- this.mouseUp(target, event);
197
- } else if (!this.positionUpdater.isLastDragPositionUndefined()) {
198
- if (this.elementId2startPos.size === 0) {
199
- this.collectStartPositions(target.root);
200
- }
201
- this._isMouseDrag = true;
202
- const moveAction = this.getElementMoves(target, event, false);
203
- if (moveAction) {
204
- this.pendingMoveInitialized?.cancel();
205
- result.push(moveAction);
206
- result.push(cursorFeedbackAction(CursorCSS.MOVE));
207
- this.tool.registerFeedback(result, this);
208
- }
209
- }
210
- return [];
211
- }
212
-
213
- protected collectStartPositions(root: GModelRoot): void {
214
- this.rootElement = root;
215
- const selectedElements = root.index.all().filter(element => isSelectable(element) && element.selected);
216
- const elementsSet = new Set(selectedElements);
217
- selectedElements
218
- .filter(element => !this.isChildOfSelected(elementsSet, element))
219
- .forEach(element => {
220
- if (isMoveable(element)) {
221
- this.elementId2startPos.set(element.id, element.position);
222
- }
223
- });
224
- }
225
-
226
- protected isChildOfSelected(selectedElements: Set<GModelElement>, element: GModelElement): boolean {
227
- while (element instanceof GChildElement) {
228
- element = element.parent;
229
- if (selectedElements.has(element)) {
230
- return true;
231
- }
232
- }
233
- return false;
234
- }
235
-
236
- protected getElementMoves(target: GModelElement, event: MouseEvent, finished: boolean): MoveAction | undefined {
237
- const delta = this.positionUpdater.updatePosition(target, event);
238
- if (!delta) {
239
- return undefined;
240
- }
241
- const elementMoves: ElementMove[] = this.getElementMovesForDelta(target, delta, finished);
242
- if (elementMoves.length > 0) {
243
- return MoveAction.create(elementMoves, { animate: false, finished });
244
- } else {
245
- return undefined;
246
- }
247
- }
248
-
249
- protected getElementMovesForDelta(target: GModelElement, delta: Point, finished: boolean): ElementMove[] {
250
- const elementMoves: ElementMove[] = [];
251
- this.elementId2startPos.forEach((startPosition, elementId) => {
252
- const element = target.root.index.getById(elementId);
253
- if (element) {
254
- if (isMoveable(element)) {
255
- const targetPosition = Point.add(element.position, delta);
256
- const toPosition = this.validateMove(startPosition, targetPosition, element, finished);
257
- elementMoves.push({ elementId: element.id, fromPosition: element.position, toPosition });
258
- }
259
- }
260
- });
261
- return elementMoves;
262
- }
263
-
264
- protected validateMove(startPosition: Point, toPosition: Point, element: GModelElement, isFinished: boolean): Point {
265
- let newPosition = toPosition;
266
- if (this.tool.movementRestrictor) {
267
- const valid = this.tool.movementRestrictor.validate(element, toPosition);
268
- let action;
269
- if (!valid) {
270
- action = createMovementRestrictionFeedback(element, this.tool.movementRestrictor);
271
- if (isFinished) {
272
- newPosition = startPosition;
273
- }
274
- } else {
275
- action = removeMovementRestrictionFeedback(element, this.tool.movementRestrictor);
276
- }
277
- this.tool.registerFeedback([action], this);
278
- }
279
- return newPosition;
280
- }
281
-
282
- override mouseEnter(target: GModelElement, event: MouseEvent): Action[] {
283
- if (target instanceof GModelRoot && event.buttons === 0 && this.positionUpdater.isLastDragPositionUndefined()) {
284
- this.mouseUp(target, event);
285
- }
286
- return [];
287
- }
288
-
289
- override nonDraggingMouseUp(element: GModelElement, event: MouseEvent): Action[] {
290
- this.reset(true);
291
- return [];
292
- }
293
-
294
- override draggingMouseUp(target: GModelElement, event: MouseEvent): Action[] {
295
- const result: Action[] = [];
296
- if (this.positionUpdater.isLastDragPositionUndefined()) {
297
- this.reset(true);
298
- return result;
299
- } else {
300
- const moveAction = this.getElementMoves(target, event, true);
301
- if (moveAction) {
302
- result.push(moveAction);
303
- }
304
- const resetFeedback: Action[] = [];
305
- if (this.tool.movementRestrictor) {
306
- resetFeedback.push(removeMovementRestrictionFeedback(target, this.tool.movementRestrictor));
307
- }
308
- resetFeedback.push(cursorFeedbackAction(CursorCSS.DEFAULT));
309
- this.tool.deregisterFeedback(this, resetFeedback);
310
- }
311
- this.reset();
312
- return result;
313
- }
314
-
315
- protected resetMoveFeedback(): ElementMove[] {
316
- const elementMoves: ElementMove[] = [];
317
- this.elementId2startPos.forEach((startPosition, elementId) => {
318
- const element = this.rootElement!.index.getById(elementId);
319
- if (element) {
320
- if (isMoveable(element)) {
321
- elementMoves.push({ elementId: element.id, fromPosition: element.position, toPosition: startPosition });
322
- }
323
- }
324
- });
325
- return elementMoves;
326
- }
327
-
328
- protected reset(resetFeedback = false): void {
329
- this.pendingMoveInitialized?.cancel();
330
- if (this.rootElement && resetFeedback) {
331
- const elementMoves: ElementMove[] = this.resetMoveFeedback();
332
- if (elementMoves.length > 0) {
333
- const moveAction = MoveAction.create(elementMoves, { animate: false, finished: true });
334
- this.tool.deregisterFeedback(this, [moveAction]);
335
- }
336
- } else if (resetFeedback && this.moveInitialized) {
337
- this.tool.deregisterFeedback(this, [MoveFinishedEventAction.create()]);
338
- }
339
- this.positionUpdater.resetPosition();
340
- this._isMouseDrag = false;
341
- this.moveInitialized = false;
342
- this.rootElement = undefined;
343
- this.elementId2startPos.clear();
344
- }
345
-
346
- dispose(): void {
347
- this.reset(true);
348
- }
349
- }
@@ -1,5 +1,5 @@
1
1
  /********************************************************************************
2
- * Copyright (c) 2019-2023 EclipseSource and others.
2
+ * Copyright (c) 2019-2024 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,15 +14,21 @@
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
16
  import { FeatureModule, TYPES, bindAsService, configureCommand, configureView } from '@eclipse-glsp/sprotty';
17
- import { SResizeHandle } from '../../change-bounds/model';
17
+ import '../../../../css/change-bounds.css';
18
+ import { GResizeHandle } from '../../change-bounds/model';
19
+ import { ChangeBoundsManager } from './change-bounds-manager';
18
20
  import { ChangeBoundsTool } from './change-bounds-tool';
19
21
  import { HideChangeBoundsToolResizeFeedbackCommand, ShowChangeBoundsToolResizeFeedbackCommand } from './change-bounds-tool-feedback';
20
- import { SResizeHandleView } from './view';
22
+ import { GResizeHandleView } from './view';
21
23
 
22
- export const changeBoundsToolModule = new FeatureModule((bind, unbind, isBound, rebind) => {
23
- const context = { bind, unbind, isBound, rebind };
24
- bindAsService(context, TYPES.IDefaultTool, ChangeBoundsTool);
25
- configureCommand(context, ShowChangeBoundsToolResizeFeedbackCommand);
26
- configureCommand(context, HideChangeBoundsToolResizeFeedbackCommand);
27
- configureView(context, SResizeHandle.TYPE, SResizeHandleView);
28
- });
24
+ export const changeBoundsToolModule = new FeatureModule(
25
+ (bind, unbind, isBound, rebind) => {
26
+ const context = { bind, unbind, isBound, rebind };
27
+ bind(ChangeBoundsManager).toSelf().inSingletonScope();
28
+ bindAsService(context, TYPES.IDefaultTool, ChangeBoundsTool);
29
+ configureCommand(context, ShowChangeBoundsToolResizeFeedbackCommand);
30
+ configureCommand(context, HideChangeBoundsToolResizeFeedbackCommand);
31
+ configureView(context, GResizeHandle.TYPE, GResizeHandleView);
32
+ },
33
+ { featureId: Symbol('changeBoundsTool') }
34
+ );
@@ -0,0 +1,204 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2019-2024 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, ElementMove, GModelElement, GModelRoot, MoveAction, Point, findParentByFeature } from '@eclipse-glsp/sprotty';
17
+
18
+ import { DebouncedFunc, debounce } from 'lodash';
19
+ import { DragAwareMouseListener } from '../../../base/drag-aware-mouse-listener';
20
+ import { CursorCSS, cursorFeedbackAction } from '../../../base/feedback/css-feedback';
21
+ import { FeedbackEmitter } from '../../../base/feedback/feedback-emitter';
22
+ import {
23
+ MoveableElement,
24
+ filter,
25
+ getElements,
26
+ isNonRoutableSelectedMovableBoundsAware,
27
+ removeDescendants
28
+ } from '../../../utils/gmodel-util';
29
+ import { GResizeHandle } from '../../change-bounds/model';
30
+ import { ChangeBoundsTool } from './change-bounds-tool';
31
+ import { MoveFinishedEventAction, MoveInitializedEventAction } from './change-bounds-tool-feedback';
32
+ import { ChangeBoundsTracker, TrackedMove } from './change-bounds-tracker';
33
+
34
+ /**
35
+ * This mouse listener provides visual feedback for moving by sending client-side
36
+ * `MoveAction`s while elements are selected and dragged. This will also update
37
+ * their bounds, which is important, as it is not only required for rendering
38
+ * the visual feedback but also the basis for sending the change to the server
39
+ * (see also `tools/MoveTool`).
40
+ */
41
+ export class FeedbackMoveMouseListener extends DragAwareMouseListener {
42
+ protected rootElement?: GModelRoot;
43
+ protected tracker: ChangeBoundsTracker;
44
+ protected elementId2startPos = new Map<string, Point>();
45
+
46
+ protected pendingMoveInitialized?: DebouncedFunc<() => void>;
47
+
48
+ protected moveInitializedFeedback: FeedbackEmitter;
49
+ protected moveFeedback: FeedbackEmitter;
50
+
51
+ constructor(protected tool: ChangeBoundsTool) {
52
+ super();
53
+ this.tracker = tool.createChangeBoundsTracker();
54
+ this.moveInitializedFeedback = tool.createFeedbackEmitter();
55
+ this.moveFeedback = tool.createFeedbackEmitter();
56
+ }
57
+
58
+ override mouseDown(target: GModelElement, event: MouseEvent): Action[] {
59
+ super.mouseDown(target, event);
60
+ if (event.button === 0) {
61
+ this.initializeMove(target, event);
62
+ return [];
63
+ }
64
+ this.tracker.stopTracking();
65
+ return [];
66
+ }
67
+
68
+ protected initializeMove(target: GModelElement, event: MouseEvent): void {
69
+ if (target instanceof GResizeHandle) {
70
+ // avoid conflict with resize tool
71
+ return;
72
+ }
73
+ const moveable = findParentByFeature(target, this.isValidMoveable);
74
+ if (moveable !== undefined) {
75
+ this.tracker.startTracking();
76
+ this.scheduleMoveInitialized();
77
+ } else {
78
+ this.tracker.stopTracking();
79
+ }
80
+ }
81
+
82
+ protected scheduleMoveInitialized(): void {
83
+ this.pendingMoveInitialized?.cancel();
84
+ this.pendingMoveInitialized = debounce(() => {
85
+ this.moveInitialized();
86
+ this.pendingMoveInitialized = undefined;
87
+ }, 750);
88
+ this.pendingMoveInitialized();
89
+ }
90
+
91
+ protected moveInitializationTimeout(): number {
92
+ return 750;
93
+ }
94
+
95
+ protected moveInitialized(): void {
96
+ if (this.isMouseDown) {
97
+ this.moveInitializedFeedback
98
+ .add(MoveInitializedEventAction.create(), MoveFinishedEventAction.create())
99
+ .add(cursorFeedbackAction(CursorCSS.MOVE), cursorFeedbackAction(CursorCSS.DEFAULT))
100
+ .submit();
101
+ }
102
+ }
103
+
104
+ protected isValidMoveable(element?: GModelElement): element is MoveableElement {
105
+ return !!element && isNonRoutableSelectedMovableBoundsAware(element) && !(element instanceof GResizeHandle);
106
+ }
107
+
108
+ override nonDraggingMouseUp(element: GModelElement, event: MouseEvent): Action[] {
109
+ // should reset everything that may have happend on mouse down
110
+ this.moveInitializedFeedback.dispose();
111
+ this.tracker.stopTracking();
112
+ return [];
113
+ }
114
+
115
+ override draggingMouseMove(target: GModelElement, event: MouseEvent): Action[] {
116
+ super.draggingMouseMove(target, event);
117
+ if (this.tracker.isTracking()) {
118
+ return this.moveElements(target, event);
119
+ }
120
+ return [];
121
+ }
122
+
123
+ protected moveElements(target: GModelElement, event: MouseEvent): Action[] {
124
+ if (this.elementId2startPos.size === 0) {
125
+ this.initializeElementsToMove(target.root);
126
+ }
127
+ const elementsToMove = this.getElementsToMove(target);
128
+ const move = this.tracker.moveElements(elementsToMove, { snap: event, restrict: event });
129
+ if (move.elementMoves.length === 0) {
130
+ return [];
131
+ }
132
+ // cancel any pending move
133
+ this.pendingMoveInitialized?.cancel();
134
+ this.moveFeedback.add(this.createMoveAction(move), () => this.resetElementPositions(target));
135
+ this.addMoveFeedback(move, target, event);
136
+ this.tracker.updateTrackingPosition(move);
137
+ this.moveFeedback.submit();
138
+ return [];
139
+ }
140
+
141
+ protected createMoveAction(trackedMove: TrackedMove): Action {
142
+ // we never want to animate the move action as this interferes with the move feedback
143
+ return MoveAction.create(
144
+ trackedMove.elementMoves.map(move => ({ elementId: move.element.id, toPosition: move.toPosition })),
145
+ { animate: false }
146
+ );
147
+ }
148
+
149
+ protected addMoveFeedback(trackedMove: TrackedMove, ctx: GModelElement, event: MouseEvent): void {
150
+ this.tool.changeBoundsManager.addMoveFeedback(this.moveFeedback, trackedMove, ctx, event);
151
+ }
152
+
153
+ protected initializeElementsToMove(root: GModelRoot): void {
154
+ const elementsToMove = this.collectElementsToMove(root);
155
+ elementsToMove.forEach(element => this.elementId2startPos.set(element.id, element.position));
156
+ }
157
+
158
+ protected collectElementsToMove(root: GModelRoot): MoveableElement[] {
159
+ const moveableElements = filter(root.index, this.isValidMoveable);
160
+ const topLevelElements = removeDescendants(moveableElements);
161
+ return Array.from(topLevelElements);
162
+ }
163
+
164
+ protected getElementsToMove(context: GModelElement): MoveableElement[] {
165
+ return getElements(context.root.index, Array.from(this.elementId2startPos.keys()), this.isValidMoveable);
166
+ }
167
+
168
+ protected resetElementPositions(context: GModelElement): MoveAction | undefined {
169
+ const elementMoves: ElementMove[] = this.revertElementMoves(context);
170
+ return MoveAction.create(elementMoves, { animate: false, finished: true });
171
+ }
172
+
173
+ protected revertElementMoves(context?: GModelElement): ElementMove[] {
174
+ const elementMoves: ElementMove[] = [];
175
+ if (context?.root?.index) {
176
+ const movableElements = this.getElementsToMove(context);
177
+ movableElements.forEach(element =>
178
+ elementMoves.push({ elementId: element.id, toPosition: this.elementId2startPos.get(element.id)! })
179
+ );
180
+ }
181
+ return elementMoves;
182
+ }
183
+
184
+ override draggingMouseUp(target: GModelElement, event: MouseEvent): Action[] {
185
+ if (!this.tracker.isTracking()) {
186
+ return [];
187
+ }
188
+ // only reset the move of invalid elements, the others will be handled by the change bounds tool itself
189
+ this.getElementsToMove(target)
190
+ .filter(element => this.tool.changeBoundsManager.isValid(element))
191
+ .forEach(element => this.elementId2startPos.delete(element.id));
192
+ this.dispose();
193
+ return [];
194
+ }
195
+
196
+ override dispose(): void {
197
+ this.pendingMoveInitialized?.cancel();
198
+ this.moveInitializedFeedback.dispose();
199
+ this.moveFeedback.dispose();
200
+ this.tracker.dispose();
201
+ this.elementId2startPos.clear();
202
+ super.dispose();
203
+ }
204
+ }