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

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
@@ -1,11 +1,14 @@
1
- import { Action, Bounds, BoundsAware, Dimension, Disposable, EdgeRouterRegistry, ElementAndBounds, GModelElement, GModelRoot, GParentElement, MouseListener, Operation, Point } from '@eclipse-glsp/sprotty';
1
+ import { Action, BoundsAware, EdgeRouterRegistry, ElementAndBounds, GModelElement, GModelRoot, GParentElement, MouseListener, Operation } from '@eclipse-glsp/sprotty';
2
2
  import { DragAwareMouseListener } from '../../../base/drag-aware-mouse-listener';
3
+ import { FeedbackEmitter } from '../../../base/feedback/feedback-emitter';
3
4
  import { ISelectionListener, SelectionService } from '../../../base/selection-service';
4
- import { PointPositionUpdater } from '../../../features/change-bounds/point-position-updater';
5
- import { Resizable, SResizeHandle } from '../../change-bounds/model';
5
+ import { BoundsAwareModelElement, ResizableModelElement, SelectableBoundsAware } from '../../../utils/gmodel-util';
6
+ import { SetBoundsFeedbackAction } from '../../bounds/set-bounds-feedback-command';
7
+ import { GResizeHandle } from '../../change-bounds/model';
6
8
  import { IMovementRestrictor } from '../../change-bounds/movement-restrictor';
7
- import { PositionSnapper } from '../../change-bounds/position-snapper';
8
9
  import { BaseEditTool } from '../base-tools';
10
+ import { ChangeBoundsManager } from './change-bounds-manager';
11
+ import { ChangeBoundsTracker, TrackedElementResize, TrackedResize } from './change-bounds-tracker';
9
12
  /**
10
13
  * The change bounds tool has the license to move multiple elements or resize a single element by implementing the ChangeBounds operation.
11
14
  * In contrast to Sprotty's implementation this tool only sends a `ChangeBoundsOperationAction` when an operation has finished and does not
@@ -24,46 +27,46 @@ export declare class ChangeBoundsTool extends BaseEditTool {
24
27
  protected selectionService: SelectionService;
25
28
  readonly edgeRouterRegistry?: EdgeRouterRegistry;
26
29
  readonly movementRestrictor?: IMovementRestrictor;
27
- readonly positionSnapper: PositionSnapper;
30
+ readonly changeBoundsManager: ChangeBoundsManager;
28
31
  get id(): string;
29
32
  enable(): void;
33
+ createChangeBoundsTracker(): ChangeBoundsTracker;
30
34
  protected createMoveMouseListener(): MouseListener;
31
35
  protected createChangeBoundsListener(): MouseListener & ISelectionListener;
32
36
  }
33
- export declare class ChangeBoundsListener extends DragAwareMouseListener implements ISelectionListener, Disposable {
37
+ export declare class ChangeBoundsListener extends DragAwareMouseListener implements ISelectionListener {
34
38
  protected tool: ChangeBoundsTool;
35
39
  static readonly CSS_CLASS_ACTIVE = "active";
36
- protected initialBounds: Bounds | undefined;
37
- protected pointPositionUpdater: PointPositionUpdater;
38
- protected activeResizeElement?: GModelElement;
39
- protected activeResizeHandle?: SResizeHandle;
40
+ protected initialBounds: ElementAndBounds | undefined;
41
+ protected tracker: ChangeBoundsTracker;
42
+ protected activeResizeElement?: ResizableModelElement;
43
+ protected activeResizeHandle?: GResizeHandle;
44
+ protected handleFeedback: FeedbackEmitter;
45
+ protected resizeFeedback: FeedbackEmitter;
40
46
  constructor(tool: ChangeBoundsTool);
41
47
  mouseDown(target: GModelElement, event: MouseEvent): Action[];
42
- mouseMove(target: GModelElement, event: MouseEvent): Action[];
43
- draggingMouseUp(target: GModelElement, _event: MouseEvent): Action[];
48
+ protected updateResizeElement(target: GModelElement, event?: MouseEvent): boolean;
49
+ protected findResizeElement(target: GModelElement): ResizableModelElement | undefined;
50
+ protected draggingMouseMove(target: GModelElement, event: MouseEvent): Action[];
51
+ protected resizeBoundsAction(resize: TrackedResize): SetBoundsFeedbackAction;
52
+ protected toElementAndBounds(elementResize: TrackedElementResize): ElementAndBounds;
53
+ protected addResizeFeedback(resize: TrackedResize, target: GModelElement, event: MouseEvent): void;
54
+ protected resetBounds(): Action[];
55
+ draggingMouseUp(target: GModelElement, event: MouseEvent): Action[];
56
+ nonDraggingMouseUp(element: GModelElement, event: MouseEvent): Action[];
44
57
  protected handleMoveOnServer(target: GModelElement): Action[];
45
- protected handleMoveElementsOnServer(target: GModelElement): Operation[];
58
+ protected getElementsToMove(target: GModelElement): SelectableBoundsAware[];
59
+ protected handleMoveElementsOnServer(elementsToMove: SelectableBoundsAware[]): Operation[];
60
+ protected isValidMove(element: BoundsAwareModelElement, selectedElements?: Set<BoundsAwareModelElement>): boolean;
46
61
  protected isChildOfSelected(selectedElements: Set<GModelElement>, element: GModelElement): boolean;
47
- protected handleMoveRoutingPointsOnServer(target: GModelElement): Operation[];
48
- protected handleResize(activeResizeHandle: SResizeHandle): Action[];
62
+ protected handleMoveRoutingPointsOnServer(elementsToMove: SelectableBoundsAware[]): Operation[];
63
+ protected handleResizeOnServer(activeResizeHandle: GResizeHandle): Action[];
64
+ protected isValidResize(element: BoundsAwareModelElement): boolean;
49
65
  selectionChanged(root: GModelRoot, selectedElements: string[]): void;
50
- protected setActiveResizeElement(target: GModelElement): boolean;
51
66
  protected isActiveResizeElement(element?: GModelElement): element is GParentElement & BoundsAware;
52
- protected initPosition(event: MouseEvent): void;
67
+ protected disposeResize(opts?: {
68
+ keepHandles: boolean;
69
+ }): void;
53
70
  dispose(): void;
54
- protected reset(resetBounds?: boolean): void;
55
- protected resetFeedback(resetBounds?: boolean): void;
56
- protected resetPosition(): void;
57
- protected handleResizeOnClient(positionUpdate: Point): Action[];
58
- protected handleTopLeftResize(resizeElement: GParentElement & Resizable, positionUpdate: Point): Action[];
59
- protected handleTopRightResize(resizeElement: GParentElement & Resizable, positionUpdate: Point): Action[];
60
- protected handleBottomLeftResize(resizeElement: GParentElement & Resizable, positionUpdate: Point): Action[];
61
- protected handleBottomRightResize(resizeElement: GParentElement & Resizable, positionUpdate: Point): Action[];
62
- protected createChangeBoundsAction(element: GModelElement & BoundsAware): Action[];
63
- protected createElementAndBounds(element: GModelElement & BoundsAware): ElementAndBounds[];
64
- protected createSetBoundsAction(element: GModelElement & BoundsAware, x: number, y: number, width: number, height: number): Action[];
65
- protected isValidBoundChange(element: GModelElement & BoundsAware, newPosition: Point, newSize: Dimension): boolean;
66
- protected isValidSize(element: GModelElement & BoundsAware, size: Dimension): boolean;
67
- protected isValidMove(element: GModelElement & BoundsAware, newPosition: Point): boolean;
68
71
  }
69
72
  //# sourceMappingURL=change-bounds-tool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"change-bounds-tool.d.ts","sourceRoot":"","sources":["../../../../src/features/tools/change-bounds/change-bounds-tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"change-bounds-tool.d.ts","sourceRoot":"","sources":["../../../../src/features/tools/change-bounds/change-bounds-tool.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@ var ChangeBoundsTool_1;
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  exports.ChangeBoundsListener = exports.ChangeBoundsTool = void 0;
14
14
  /********************************************************************************
15
- * Copyright (c) 2019-2023 EclipseSource and others.
15
+ * Copyright (c) 2019-2024 EclipseSource and others.
16
16
  *
17
17
  * This program and the accompanying materials are made available under the
18
18
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -29,18 +29,15 @@ exports.ChangeBoundsListener = exports.ChangeBoundsTool = void 0;
29
29
  const inversify_1 = require("inversify");
30
30
  const sprotty_1 = require("@eclipse-glsp/sprotty");
31
31
  const drag_aware_mouse_listener_1 = require("../../../base/drag-aware-mouse-listener");
32
- const css_feedback_1 = require("../../../base/feedback/css-feedback");
33
32
  const selection_service_1 = require("../../../base/selection-service");
34
- const point_position_updater_1 = require("../../../features/change-bounds/point-position-updater");
35
33
  const gmodel_util_1 = require("../../../utils/gmodel-util");
36
- const layout_utils_1 = require("../../../utils/layout-utils");
34
+ const local_bounds_1 = require("../../bounds/local-bounds");
37
35
  const set_bounds_feedback_command_1 = require("../../bounds/set-bounds-feedback-command");
38
36
  const model_1 = require("../../change-bounds/model");
39
- const movement_restrictor_1 = require("../../change-bounds/movement-restrictor");
40
- const position_snapper_1 = require("../../change-bounds/position-snapper");
41
- const model_2 = require("../../helper-lines/model");
42
37
  const base_tools_1 = require("../base-tools");
38
+ const change_bounds_manager_1 = require("./change-bounds-manager");
43
39
  const change_bounds_tool_feedback_1 = require("./change-bounds-tool-feedback");
40
+ const change_bounds_tool_move_feedback_1 = require("./change-bounds-tool-move-feedback");
44
41
  /**
45
42
  * The change bounds tool has the license to move multiple elements or resize a single element by implementing the ChangeBounds operation.
46
43
  * In contrast to Sprotty's implementation this tool only sends a `ChangeBoundsOperationAction` when an operation has finished and does not
@@ -69,10 +66,13 @@ let ChangeBoundsTool = ChangeBoundsTool_1 = class ChangeBoundsTool extends base_
69
66
  if (sprotty_1.Disposable.is(changeBoundsListener)) {
70
67
  this.toDisposeOnDisable.push(changeBoundsListener);
71
68
  }
72
- this.toDisposeOnDisable.push(this.mouseTool.registerListener(feedbackMoveMouseListener), this.mouseTool.registerListener(changeBoundsListener), sprotty_1.Disposable.create(() => this.deregisterFeedback(feedbackMoveMouseListener)), sprotty_1.Disposable.create(() => this.deregisterFeedback(changeBoundsListener, [change_bounds_tool_feedback_1.HideChangeBoundsToolResizeFeedbackAction.create()])), this.selectionService.onSelectionChanged(change => changeBoundsListener.selectionChanged(change.root, change.selectedElements)));
69
+ this.toDisposeOnDisable.push(this.mouseTool.registerListener(feedbackMoveMouseListener), this.mouseTool.registerListener(changeBoundsListener), this.selectionService.onSelectionChanged(change => changeBoundsListener.selectionChanged(change.root, change.selectedElements)));
70
+ }
71
+ createChangeBoundsTracker() {
72
+ return this.changeBoundsManager.createTracker();
73
73
  }
74
74
  createMoveMouseListener() {
75
- return new change_bounds_tool_feedback_1.FeedbackMoveMouseListener(this);
75
+ return new change_bounds_tool_move_feedback_1.FeedbackMoveMouseListener(this);
76
76
  }
77
77
  createChangeBoundsListener() {
78
78
  return new ChangeBoundsListener(this);
@@ -95,9 +95,9 @@ __decorate([
95
95
  __metadata("design:type", Object)
96
96
  ], ChangeBoundsTool.prototype, "movementRestrictor", void 0);
97
97
  __decorate([
98
- (0, inversify_1.inject)(position_snapper_1.PositionSnapper),
99
- __metadata("design:type", position_snapper_1.PositionSnapper)
100
- ], ChangeBoundsTool.prototype, "positionSnapper", void 0);
98
+ (0, inversify_1.inject)(change_bounds_manager_1.ChangeBoundsManager),
99
+ __metadata("design:type", change_bounds_manager_1.ChangeBoundsManager)
100
+ ], ChangeBoundsTool.prototype, "changeBoundsManager", void 0);
101
101
  exports.ChangeBoundsTool = ChangeBoundsTool = ChangeBoundsTool_1 = __decorate([
102
102
  (0, inversify_1.injectable)()
103
103
  ], ChangeBoundsTool);
@@ -105,7 +105,9 @@ class ChangeBoundsListener extends drag_aware_mouse_listener_1.DragAwareMouseLis
105
105
  constructor(tool) {
106
106
  super();
107
107
  this.tool = tool;
108
- this.pointPositionUpdater = new point_position_updater_1.PointPositionUpdater(tool.positionSnapper);
108
+ this.tracker = tool.createChangeBoundsTracker();
109
+ this.handleFeedback = tool.createFeedbackEmitter();
110
+ this.resizeFeedback = tool.createFeedbackEmitter();
109
111
  }
110
112
  mouseDown(target, event) {
111
113
  super.mouseDown(target, event);
@@ -115,83 +117,118 @@ class ChangeBoundsListener extends drag_aware_mouse_listener_1.DragAwareMouseLis
115
117
  return [];
116
118
  }
117
119
  // check if we have a resize handle (only single-selection)
118
- if (this.activeResizeElement && target instanceof model_1.SResizeHandle) {
119
- this.activeResizeHandle = target;
120
- }
121
- else {
122
- this.setActiveResizeElement(target);
123
- }
120
+ this.updateResizeElement(target, event);
121
+ return [];
122
+ }
123
+ updateResizeElement(target, event) {
124
+ var _a, _b;
125
+ this.activeResizeHandle = target instanceof model_1.GResizeHandle ? target : undefined;
126
+ this.activeResizeElement = (_b = (_a = this.activeResizeHandle) === null || _a === void 0 ? void 0 : _a.parent) !== null && _b !== void 0 ? _b : this.findResizeElement(target);
124
127
  if (this.activeResizeElement) {
125
- this.initPosition(event);
128
+ if (event) {
129
+ this.tracker.startTracking();
130
+ }
131
+ this.initialBounds = {
132
+ newSize: this.activeResizeElement.bounds,
133
+ newPosition: this.activeResizeElement.bounds,
134
+ elementId: this.activeResizeElement.id
135
+ };
136
+ // we trigger the local bounds calculation once to get the correct layout information for reszing
137
+ // for any sub-sequent calls the layout information will be updated automatically
138
+ this.tool
139
+ .createFeedbackEmitter()
140
+ .add(local_bounds_1.LocalRequestBoundsAction.create(target.root, [this.activeResizeElement.id]))
141
+ .submit()
142
+ .dispose();
143
+ this.handleFeedback.add(change_bounds_tool_feedback_1.ShowChangeBoundsToolResizeFeedbackAction.create({ elementId: this.activeResizeElement.id }), change_bounds_tool_feedback_1.HideChangeBoundsToolResizeFeedbackAction.create());
144
+ this.handleFeedback.submit();
145
+ return true;
126
146
  }
127
147
  else {
128
- this.reset();
148
+ this.disposeResize();
149
+ return false;
129
150
  }
130
- return [];
131
151
  }
132
- mouseMove(target, event) {
133
- super.mouseMove(target, event);
134
- if (this.isMouseDrag && this.activeResizeHandle) {
135
- // rely on the FeedbackMoveMouseListener to update the element bounds of selected elements
136
- // consider resize handles ourselves
137
- const actions = [
138
- (0, css_feedback_1.cursorFeedbackAction)(this.activeResizeHandle.isNwSeResize() ? css_feedback_1.CursorCSS.RESIZE_NWSE : css_feedback_1.CursorCSS.RESIZE_NESW),
139
- (0, css_feedback_1.applyCssClasses)(this.activeResizeHandle, ChangeBoundsListener.CSS_CLASS_ACTIVE)
140
- ];
141
- const positionUpdate = this.pointPositionUpdater.updatePosition(target, event, (0, model_2.getDirectionFrom)(this.activeResizeHandle.location));
142
- if (positionUpdate) {
143
- const resizeActions = this.handleResizeOnClient(positionUpdate);
144
- actions.push(...resizeActions);
152
+ findResizeElement(target) {
153
+ // check if we have a selected, moveable element (multi-selection allowed)
154
+ // but only allow one element to have the element resize handles
155
+ return (0, sprotty_1.findParentByFeature)(target, model_1.isResizable);
156
+ }
157
+ draggingMouseMove(target, event) {
158
+ // rely on the FeedbackMoveMouseListener to update the element bounds of selected elements
159
+ // consider resize handles ourselves
160
+ if (this.activeResizeHandle && this.tracker.isTracking()) {
161
+ const resize = this.tracker.resizeElements(this.activeResizeHandle, { snap: event, symmetric: event, restrict: event });
162
+ const resizeAction = this.resizeBoundsAction(resize);
163
+ if (resizeAction.bounds.length > 0) {
164
+ this.resizeFeedback.add(resizeAction, () => this.resetBounds());
165
+ this.tracker.updateTrackingPosition(resize.handleMove.moveVector);
166
+ this.addResizeFeedback(resize, target, event);
167
+ this.resizeFeedback.submit();
145
168
  }
146
- this.tool.registerFeedback(actions, this);
147
- }
148
- return [];
149
- }
150
- draggingMouseUp(target, _event) {
151
- if (this.pointPositionUpdater.isLastDragPositionUndefined()) {
152
- this.resetPosition();
153
- return [];
154
169
  }
170
+ return super.draggingMouseMove(target, event);
171
+ }
172
+ resizeBoundsAction(resize) {
173
+ // we do not want to resize elements beyond their valid size, not even for feedback, as the next layout cycle usually corrects this
174
+ const elementResizes = resize.elementResizes.filter(elementResize => elementResize.valid.size);
175
+ return set_bounds_feedback_command_1.SetBoundsFeedbackAction.create(elementResizes.map(elementResize => this.toElementAndBounds(elementResize)));
176
+ }
177
+ toElementAndBounds(elementResize) {
178
+ return {
179
+ elementId: elementResize.element.id,
180
+ newSize: elementResize.toBounds,
181
+ newPosition: elementResize.toBounds
182
+ };
183
+ }
184
+ addResizeFeedback(resize, target, event) {
185
+ this.tool.changeBoundsManager.addResizeFeedback(this.resizeFeedback, resize, target, event);
186
+ }
187
+ resetBounds() {
188
+ // reset the bounds to the initial bounds and ensure that we do not show helper line feedback anymore (MoveFinishedEventAction)
189
+ return this.initialBounds
190
+ ? [set_bounds_feedback_command_1.SetBoundsFeedbackAction.create([this.initialBounds]), change_bounds_tool_feedback_1.MoveFinishedEventAction.create()]
191
+ : [change_bounds_tool_feedback_1.MoveFinishedEventAction.create()];
192
+ }
193
+ draggingMouseUp(target, event) {
155
194
  const actions = [];
156
195
  if (this.activeResizeHandle) {
157
- // Resize
158
- actions.push(...this.handleResize(this.activeResizeHandle));
196
+ actions.push(...this.handleResizeOnServer(this.activeResizeHandle));
159
197
  }
160
198
  else {
161
- // Move
199
+ // since the move feedback is handled by another class we just see whether there is something to move
162
200
  actions.push(...this.handleMoveOnServer(target));
163
201
  }
164
- this.resetPosition();
165
- this.tool.deregisterFeedback(this, [(0, css_feedback_1.cursorFeedbackAction)(css_feedback_1.CursorCSS.DEFAULT)]);
202
+ this.disposeResize({ keepHandles: true });
166
203
  return actions;
167
204
  }
205
+ nonDraggingMouseUp(element, event) {
206
+ this.disposeResize({ keepHandles: true });
207
+ return super.nonDraggingMouseUp(element, event);
208
+ }
168
209
  handleMoveOnServer(target) {
169
210
  const operations = [];
170
- operations.push(...this.handleMoveElementsOnServer(target));
171
- operations.push(...this.handleMoveRoutingPointsOnServer(target));
172
- if (operations.length > 0) {
173
- return [sprotty_1.CompoundOperation.create(operations)];
174
- }
175
- return operations;
211
+ const elementToMove = this.getElementsToMove(target);
212
+ operations.push(...this.handleMoveElementsOnServer(elementToMove));
213
+ operations.push(...this.handleMoveRoutingPointsOnServer(elementToMove));
214
+ return operations.length > 0 ? [sprotty_1.CompoundOperation.create(operations)] : [];
176
215
  }
177
- handleMoveElementsOnServer(target) {
178
- const result = [];
179
- const newBounds = [];
180
- const selectedElements = [];
181
- (0, gmodel_util_1.forEachElement)(target.index, gmodel_util_1.isNonRoutableSelectedMovableBoundsAware, element => {
182
- selectedElements.push(element);
183
- });
216
+ getElementsToMove(target) {
217
+ const selectedElements = (0, gmodel_util_1.getMatchingElements)(target.index, gmodel_util_1.isNonRoutableSelectedMovableBoundsAware);
184
218
  const selectionSet = new Set(selectedElements);
185
- selectedElements
186
- .filter(element => !this.isChildOfSelected(selectionSet, element))
187
- .map(element => this.createElementAndBounds(element))
188
- .forEach(bounds => newBounds.push(...bounds));
189
- if (newBounds.length > 0) {
190
- result.push(sprotty_1.ChangeBoundsOperation.create(newBounds));
191
- }
192
- return result;
219
+ return selectedElements.filter(element => this.isValidMove(element, selectionSet));
220
+ }
221
+ handleMoveElementsOnServer(elementsToMove) {
222
+ const newBounds = elementsToMove.map(gmodel_util_1.toElementAndBounds);
223
+ return newBounds.length > 0 ? [sprotty_1.ChangeBoundsOperation.create(newBounds)] : [];
224
+ }
225
+ isValidMove(element, selectedElements = new Set()) {
226
+ return this.tool.changeBoundsManager.hasValidPosition(element) && !this.isChildOfSelected(selectedElements, element);
193
227
  }
194
228
  isChildOfSelected(selectedElements, element) {
229
+ if (selectedElements.size === 0) {
230
+ return false;
231
+ }
195
232
  while (element instanceof sprotty_1.GChildElement) {
196
233
  element = element.parent;
197
234
  if (selectedElements.has(element)) {
@@ -200,12 +237,12 @@ class ChangeBoundsListener extends drag_aware_mouse_listener_1.DragAwareMouseLis
200
237
  }
201
238
  return false;
202
239
  }
203
- handleMoveRoutingPointsOnServer(target) {
240
+ handleMoveRoutingPointsOnServer(elementsToMove) {
204
241
  const newRoutingPoints = [];
205
242
  const routerRegistry = this.tool.edgeRouterRegistry;
206
243
  if (routerRegistry) {
207
244
  // If client routing is enabled -> delegate routing points of connected edges to server
208
- (0, gmodel_util_1.forEachElement)(target.index, gmodel_util_1.isNonRoutableSelectedMovableBoundsAware, element => {
245
+ elementsToMove.forEach(element => {
209
246
  if (element instanceof sprotty_1.GConnectableElement) {
210
247
  element.incomingEdges
211
248
  .map(connectable => (0, gmodel_util_1.calcElementAndRoutingPoints)(connectable, routerRegistry))
@@ -218,168 +255,58 @@ class ChangeBoundsListener extends drag_aware_mouse_listener_1.DragAwareMouseLis
218
255
  }
219
256
  return newRoutingPoints.length > 0 ? [sprotty_1.ChangeRoutingPointsOperation.create(newRoutingPoints)] : [];
220
257
  }
221
- handleResize(activeResizeHandle) {
222
- const actions = [];
223
- actions.push((0, css_feedback_1.cursorFeedbackAction)(css_feedback_1.CursorCSS.DEFAULT));
224
- actions.push((0, css_feedback_1.deleteCssClasses)(activeResizeHandle, ChangeBoundsListener.CSS_CLASS_ACTIVE));
225
- const resizeElement = (0, sprotty_1.findParentByFeature)(activeResizeHandle, model_1.isResizable);
226
- if (this.isActiveResizeElement(resizeElement)) {
227
- this.createChangeBoundsAction(resizeElement).forEach(action => actions.push(action));
228
- }
229
- return actions;
230
- }
231
- selectionChanged(root, selectedElements) {
232
- if (this.activeResizeElement) {
233
- if (selectedElements.includes(this.activeResizeElement.id)) {
234
- // our active element is still selected, nothing to do
235
- return;
236
- }
237
- // try to find some other selected element and mark that active
238
- for (const elementId of selectedElements.reverse()) {
239
- const element = root.index.getById(elementId);
240
- if (element && this.setActiveResizeElement(element)) {
241
- return;
242
- }
243
- }
244
- this.reset();
245
- }
246
- }
247
- setActiveResizeElement(target) {
248
- // check if we have a selected, moveable element (multi-selection allowed)
249
- const moveableElement = (0, sprotty_1.findParentByFeature)(target, model_1.isBoundsAwareMoveable);
250
- if ((0, sprotty_1.isSelected)(moveableElement)) {
251
- // only allow one element to have the element resize handles
252
- this.activeResizeElement = moveableElement;
253
- if ((0, model_1.isResizable)(this.activeResizeElement)) {
254
- this.tool.registerFeedback([change_bounds_tool_feedback_1.ShowChangeBoundsToolResizeFeedbackAction.create(this.activeResizeElement.id)], this.activeResizeElement);
255
- }
256
- return true;
257
- }
258
- return false;
259
- }
260
- isActiveResizeElement(element) {
261
- return element !== undefined && this.activeResizeElement !== undefined && element.id === this.activeResizeElement.id;
262
- }
263
- initPosition(event) {
264
- this.pointPositionUpdater.updateLastDragPosition(event);
265
- if (this.activeResizeHandle) {
266
- const resizeElement = (0, sprotty_1.findParentByFeature)(this.activeResizeHandle, model_1.isResizable);
267
- this.initialBounds = {
268
- x: resizeElement.bounds.x,
269
- y: resizeElement.bounds.y,
270
- width: resizeElement.bounds.width,
271
- height: resizeElement.bounds.height
272
- };
273
- }
274
- }
275
- dispose() {
276
- this.reset(true);
277
- }
278
- reset(resetBounds = false) {
279
- this.resetFeedback(resetBounds);
280
- this.resetPosition();
281
- }
282
- resetFeedback(resetBounds = false) {
283
- const resetFeedback = [];
284
- if (this.activeResizeElement && (0, model_1.isResizable)(this.activeResizeElement)) {
285
- if (this.initialBounds && this.activeResizeHandle && resetBounds) {
286
- // we only reset the bounds if an active resize operation was cancelled due to the tool being disabled
287
- resetFeedback.push(set_bounds_feedback_command_1.SetBoundsFeedbackAction.create([
288
- {
289
- elementId: this.activeResizeElement.id,
290
- newPosition: this.initialBounds,
291
- newSize: this.initialBounds
292
- }
293
- ]));
258
+ handleResizeOnServer(activeResizeHandle) {
259
+ if (this.initialBounds && this.isValidResize(activeResizeHandle.parent)) {
260
+ const elementAndBounds = (0, gmodel_util_1.toElementAndBounds)(activeResizeHandle.parent);
261
+ if (!this.initialBounds.newPosition || !elementAndBounds.newPosition) {
262
+ return [];
294
263
  }
295
- this.tool.deregisterFeedback(this.activeResizeElement, [change_bounds_tool_feedback_1.HideChangeBoundsToolResizeFeedbackAction.create()]);
296
- }
297
- resetFeedback.push((0, css_feedback_1.cursorFeedbackAction)(css_feedback_1.CursorCSS.DEFAULT));
298
- this.tool.deregisterFeedback(this, resetFeedback);
299
- }
300
- resetPosition() {
301
- this.activeResizeHandle = undefined;
302
- this.pointPositionUpdater.resetPosition();
303
- }
304
- handleResizeOnClient(positionUpdate) {
305
- if (!this.activeResizeHandle) {
306
- return [];
307
- }
308
- const resizeElement = (0, sprotty_1.findParentByFeature)(this.activeResizeHandle, model_1.isResizable);
309
- if (this.isActiveResizeElement(resizeElement)) {
310
- switch (this.activeResizeHandle.location) {
311
- case model_1.ResizeHandleLocation.TopLeft:
312
- return this.handleTopLeftResize(resizeElement, positionUpdate);
313
- case model_1.ResizeHandleLocation.TopRight:
314
- return this.handleTopRightResize(resizeElement, positionUpdate);
315
- case model_1.ResizeHandleLocation.BottomLeft:
316
- return this.handleBottomLeftResize(resizeElement, positionUpdate);
317
- case model_1.ResizeHandleLocation.BottomRight:
318
- return this.handleBottomRightResize(resizeElement, positionUpdate);
264
+ if (!sprotty_1.Point.equals(this.initialBounds.newPosition, elementAndBounds.newPosition) ||
265
+ !sprotty_1.Dimension.equals(this.initialBounds.newSize, elementAndBounds.newSize)) {
266
+ // UX: we do not want the element positions to be reset to their start as they will be moved to their start and
267
+ // only afterwards moved by the move action again, leading to a ping-pong movement.
268
+ // We therefore clear our element map so that they cannot be reset.
269
+ this.initialBounds = undefined;
270
+ return [sprotty_1.ChangeBoundsOperation.create([elementAndBounds])];
319
271
  }
320
272
  }
321
273
  return [];
322
274
  }
323
- handleTopLeftResize(resizeElement, positionUpdate) {
324
- return this.createSetBoundsAction(resizeElement, resizeElement.bounds.x + positionUpdate.x, resizeElement.bounds.y + positionUpdate.y, resizeElement.bounds.width - positionUpdate.x, resizeElement.bounds.height - positionUpdate.y);
325
- }
326
- handleTopRightResize(resizeElement, positionUpdate) {
327
- return this.createSetBoundsAction(resizeElement, resizeElement.bounds.x, resizeElement.bounds.y + positionUpdate.y, resizeElement.bounds.width + positionUpdate.x, resizeElement.bounds.height - positionUpdate.y);
328
- }
329
- handleBottomLeftResize(resizeElement, positionUpdate) {
330
- return this.createSetBoundsAction(resizeElement, resizeElement.bounds.x + positionUpdate.x, resizeElement.bounds.y, resizeElement.bounds.width - positionUpdate.x, resizeElement.bounds.height + positionUpdate.y);
275
+ isValidResize(element) {
276
+ return this.tool.changeBoundsManager.isValid(element);
331
277
  }
332
- handleBottomRightResize(resizeElement, positionUpdate) {
333
- return this.createSetBoundsAction(resizeElement, resizeElement.bounds.x, resizeElement.bounds.y, resizeElement.bounds.width + positionUpdate.x, resizeElement.bounds.height + positionUpdate.y);
334
- }
335
- createChangeBoundsAction(element) {
336
- if (this.isValidBoundChange(element, element.bounds, element.bounds)) {
337
- return [sprotty_1.ChangeBoundsOperation.create([(0, gmodel_util_1.toElementAndBounds)(element)])];
278
+ selectionChanged(root, selectedElements) {
279
+ if (this.activeResizeElement && selectedElements.includes(this.activeResizeElement.id)) {
280
+ // our active element is still selected, nothing to do
281
+ return;
338
282
  }
339
- else if (this.initialBounds) {
340
- const actions = [];
341
- if (this.tool.movementRestrictor) {
342
- actions.push((0, movement_restrictor_1.removeMovementRestrictionFeedback)(element, this.tool.movementRestrictor));
283
+ // try to find some other selected element and mark that active
284
+ for (const elementId of selectedElements.reverse()) {
285
+ const element = root.index.getById(elementId);
286
+ if (element && this.updateResizeElement(element)) {
287
+ return;
343
288
  }
344
- actions.push(set_bounds_feedback_command_1.SetBoundsFeedbackAction.create([{ elementId: element.id, newPosition: this.initialBounds, newSize: this.initialBounds }]));
345
- return actions;
346
289
  }
347
- return [];
290
+ this.dispose();
348
291
  }
349
- createElementAndBounds(element) {
350
- if (this.isValidBoundChange(element, element.bounds, element.bounds)) {
351
- return [(0, gmodel_util_1.toElementAndBounds)(element)];
352
- }
353
- return [];
292
+ isActiveResizeElement(element) {
293
+ return element !== undefined && this.activeResizeElement !== undefined && element.id === this.activeResizeElement.id;
354
294
  }
355
- createSetBoundsAction(element, x, y, width, height) {
356
- const newPosition = { x, y };
357
- const newSize = { width, height };
358
- const result = [];
359
- if (this.isValidBoundChange(element, newPosition, newSize)) {
360
- if (this.tool.movementRestrictor) {
361
- result.push((0, movement_restrictor_1.removeMovementRestrictionFeedback)(element, this.tool.movementRestrictor));
362
- }
363
- result.push(set_bounds_feedback_command_1.SetBoundsFeedbackAction.create([{ elementId: element.id, newPosition, newSize }]));
364
- }
365
- else if (this.isValidSize(element, newSize)) {
366
- if (this.tool.movementRestrictor) {
367
- result.push((0, movement_restrictor_1.createMovementRestrictionFeedback)(element, this.tool.movementRestrictor));
368
- }
369
- result.push(set_bounds_feedback_command_1.SetBoundsFeedbackAction.create([{ elementId: element.id, newPosition, newSize }]));
295
+ disposeResize(opts = { keepHandles: false }) {
296
+ if (!opts.keepHandles) {
297
+ this.handleFeedback.dispose();
370
298
  }
371
- return result;
372
- }
373
- isValidBoundChange(element, newPosition, newSize) {
374
- return this.isValidSize(element, newSize) && this.isValidMove(element, newPosition);
375
- }
376
- isValidSize(element, size) {
377
- return (0, layout_utils_1.isValidSize)(element, size);
299
+ this.resizeFeedback.dispose();
300
+ this.tracker.dispose();
301
+ this.activeResizeElement = undefined;
302
+ this.activeResizeHandle = undefined;
303
+ this.initialBounds = undefined;
378
304
  }
379
- isValidMove(element, newPosition) {
380
- return (0, layout_utils_1.isValidMove)(element, newPosition, this.tool.movementRestrictor);
305
+ dispose() {
306
+ this.disposeResize();
307
+ super.dispose();
381
308
  }
382
309
  }
383
310
  exports.ChangeBoundsListener = ChangeBoundsListener;
384
- ChangeBoundsListener.CSS_CLASS_ACTIVE = 'active';
311
+ ChangeBoundsListener.CSS_CLASS_ACTIVE = change_bounds_manager_1.CSS_ACTIVE_HANDLE;
385
312
  //# sourceMappingURL=change-bounds-tool.js.map