@eclipse-glsp/client 0.10.0-next.4ce46ea.160 → 0.10.0-next.4fb6ef6.171

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 (524) hide show
  1. package/lib/base/action-dispatcher.d.ts +2 -1
  2. package/lib/base/action-dispatcher.d.ts.map +1 -1
  3. package/lib/base/action-dispatcher.js +13 -5
  4. package/lib/base/action-dispatcher.js.map +1 -1
  5. package/lib/base/actions/focus-change-action.d.ts +16 -7
  6. package/lib/base/actions/focus-change-action.d.ts.map +1 -1
  7. package/lib/base/actions/focus-change-action.js +31 -12
  8. package/lib/base/actions/focus-change-action.js.map +1 -1
  9. package/lib/base/actions/sprotty-actions.d.ts +7 -0
  10. package/lib/base/actions/sprotty-actions.d.ts.map +1 -0
  11. package/lib/{features/tool-palette/palette-item.js → base/actions/sprotty-actions.js} +4 -20
  12. package/lib/base/actions/sprotty-actions.js.map +1 -0
  13. package/lib/base/auto-complete/auto-complete-actions.d.ts +5 -3
  14. package/lib/base/auto-complete/auto-complete-actions.d.ts.map +1 -1
  15. package/lib/base/auto-complete/auto-complete-actions.js +24 -5
  16. package/lib/base/auto-complete/auto-complete-actions.js.map +1 -1
  17. package/lib/base/auto-complete/auto-complete-widget.d.ts +9 -2
  18. package/lib/base/auto-complete/auto-complete-widget.d.ts.map +1 -1
  19. package/lib/base/auto-complete/auto-complete-widget.js +16 -9
  20. package/lib/base/auto-complete/auto-complete-widget.js.map +1 -1
  21. package/lib/base/auto-complete/validation-decorator.js +2 -2
  22. package/lib/base/auto-complete/validation-decorator.js.map +1 -1
  23. package/lib/base/command-stack.d.ts.map +1 -1
  24. package/lib/base/command-stack.js +6 -5
  25. package/lib/base/command-stack.js.map +1 -1
  26. package/lib/base/container-modules.d.ts.map +1 -1
  27. package/lib/base/container-modules.js +2 -1
  28. package/lib/base/container-modules.js.map +1 -1
  29. package/lib/base/di.config.d.ts +1 -1
  30. package/lib/base/di.config.d.ts.map +1 -1
  31. package/lib/base/di.config.js +13 -14
  32. package/lib/base/di.config.js.map +1 -1
  33. package/lib/base/drag-aware-mouse-listener.d.ts +1 -1
  34. package/lib/base/drag-aware-mouse-listener.d.ts.map +1 -1
  35. package/lib/base/drag-aware-mouse-listener.js.map +1 -1
  36. package/lib/base/editor-context-service.d.ts +18 -5
  37. package/lib/base/editor-context-service.d.ts.map +1 -1
  38. package/lib/base/editor-context-service.js +39 -22
  39. package/lib/base/editor-context-service.js.map +1 -1
  40. package/lib/base/focus-tracker.d.ts +1 -1
  41. package/lib/base/focus-tracker.d.ts.map +1 -1
  42. package/lib/base/focus-tracker.js +4 -4
  43. package/lib/base/focus-tracker.js.map +1 -1
  44. package/lib/base/model/model-registry.d.ts.map +1 -1
  45. package/lib/base/model/model-registry.js +2 -2
  46. package/lib/base/model/model-registry.js.map +1 -1
  47. package/lib/base/model/update-model-command.d.ts +1 -1
  48. package/lib/base/model/update-model-command.d.ts.map +1 -1
  49. package/lib/base/model/update-model-command.js +15 -15
  50. package/lib/base/model/update-model-command.js.map +1 -1
  51. package/lib/base/model-initialization-constraint.d.ts +4 -5
  52. package/lib/base/model-initialization-constraint.d.ts.map +1 -1
  53. package/lib/base/model-initialization-constraint.js +11 -13
  54. package/lib/base/model-initialization-constraint.js.map +1 -1
  55. package/lib/base/selection-clearing-mouse-listener.d.ts.map +1 -1
  56. package/lib/base/selection-clearing-mouse-listener.js +1 -1
  57. package/lib/base/selection-clearing-mouse-listener.js.map +1 -1
  58. package/lib/base/source-uri-aware.d.ts +2 -17
  59. package/lib/base/source-uri-aware.d.ts.map +1 -1
  60. package/lib/base/source-uri-aware.js +4 -6
  61. package/lib/base/source-uri-aware.js.map +1 -1
  62. package/lib/base/tool-manager/glsp-tool-manager.d.ts +1 -1
  63. package/lib/base/tool-manager/glsp-tool-manager.d.ts.map +1 -1
  64. package/lib/base/tool-manager/glsp-tool-manager.js +10 -10
  65. package/lib/base/tool-manager/glsp-tool-manager.js.map +1 -1
  66. package/lib/base/tool-manager/tool-actions.d.ts +14 -0
  67. package/lib/base/tool-manager/tool-actions.d.ts.map +1 -0
  68. package/lib/base/tool-manager/tool-actions.js +25 -0
  69. package/lib/base/tool-manager/tool-actions.js.map +1 -0
  70. package/lib/base/types.d.ts +144 -20
  71. package/lib/base/types.d.ts.map +1 -1
  72. package/lib/base/types.js +14 -26
  73. package/lib/base/types.js.map +1 -1
  74. package/lib/base/view/view-registry.d.ts.map +1 -1
  75. package/lib/base/view/view-registry.js +2 -2
  76. package/lib/base/view/view-registry.js.map +1 -1
  77. package/lib/features/change-bounds/model.d.ts +1 -1
  78. package/lib/features/change-bounds/model.d.ts.map +1 -1
  79. package/lib/features/change-bounds/model.js +3 -3
  80. package/lib/features/change-bounds/model.js.map +1 -1
  81. package/lib/features/change-bounds/movement-restrictor.d.ts +37 -7
  82. package/lib/features/change-bounds/movement-restrictor.d.ts.map +1 -1
  83. package/lib/features/change-bounds/movement-restrictor.js +55 -40
  84. package/lib/features/change-bounds/movement-restrictor.js.map +1 -1
  85. package/lib/features/change-bounds/snap.d.ts +42 -2
  86. package/lib/features/change-bounds/snap.d.ts.map +1 -1
  87. package/lib/features/change-bounds/snap.js +78 -2
  88. package/lib/features/change-bounds/snap.js.map +1 -1
  89. package/lib/features/change-bounds/snap.spec.d.ts +17 -0
  90. package/lib/features/change-bounds/snap.spec.d.ts.map +1 -0
  91. package/lib/features/change-bounds/snap.spec.js +82 -0
  92. package/lib/features/change-bounds/snap.spec.js.map +1 -0
  93. package/lib/features/command-palette/command-palette-tool.js +3 -3
  94. package/lib/features/command-palette/command-palette-tool.js.map +1 -1
  95. package/lib/features/command-palette/di.config.d.ts +2 -2
  96. package/lib/features/command-palette/di.config.d.ts.map +1 -1
  97. package/lib/features/command-palette/di.config.js +6 -6
  98. package/lib/features/command-palette/di.config.js.map +1 -1
  99. package/lib/features/command-palette/server-command-palette-provider.d.ts +1 -1
  100. package/lib/features/command-palette/server-command-palette-provider.d.ts.map +1 -1
  101. package/lib/features/command-palette/server-command-palette-provider.js +13 -10
  102. package/lib/features/command-palette/server-command-palette-provider.js.map +1 -1
  103. package/lib/features/context-menu/delete-element-context-menu.d.ts +17 -1
  104. package/lib/features/context-menu/delete-element-context-menu.d.ts.map +1 -1
  105. package/lib/features/context-menu/delete-element-context-menu.js +4 -4
  106. package/lib/features/context-menu/delete-element-context-menu.js.map +1 -1
  107. package/lib/features/context-menu/di.config.d.ts +1 -1
  108. package/lib/features/context-menu/di.config.d.ts.map +1 -1
  109. package/lib/features/context-menu/di.config.js +8 -7
  110. package/lib/features/context-menu/di.config.js.map +1 -1
  111. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.d.ts +17 -1
  112. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.d.ts.map +1 -1
  113. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js +8 -23
  114. package/lib/features/context-menu/selection-service-aware-context-menu-mouse-listener.js.map +1 -1
  115. package/lib/features/context-menu/server-context-menu-provider.d.ts +1 -1
  116. package/lib/features/context-menu/server-context-menu-provider.d.ts.map +1 -1
  117. package/lib/features/context-menu/server-context-menu-provider.js +8 -7
  118. package/lib/features/context-menu/server-context-menu-provider.js.map +1 -1
  119. package/lib/features/copy-paste/copy-paste-context-menu.d.ts +12 -15
  120. package/lib/features/copy-paste/copy-paste-context-menu.d.ts.map +1 -1
  121. package/lib/features/copy-paste/copy-paste-context-menu.js +26 -33
  122. package/lib/features/copy-paste/copy-paste-context-menu.js.map +1 -1
  123. package/lib/features/copy-paste/copy-paste-handler.d.ts +1 -1
  124. package/lib/features/copy-paste/copy-paste-handler.d.ts.map +1 -1
  125. package/lib/features/copy-paste/copy-paste-handler.js +10 -11
  126. package/lib/features/copy-paste/copy-paste-handler.js.map +1 -1
  127. package/lib/features/copy-paste/di.config.d.ts +1 -1
  128. package/lib/features/copy-paste/di.config.d.ts.map +1 -1
  129. package/lib/features/copy-paste/di.config.js +5 -7
  130. package/lib/features/copy-paste/di.config.js.map +1 -1
  131. package/lib/features/decoration/decoration-placer.d.ts +1 -1
  132. package/lib/features/decoration/decoration-placer.d.ts.map +1 -1
  133. package/lib/features/decoration/decoration-placer.js +19 -3
  134. package/lib/features/decoration/decoration-placer.js.map +1 -1
  135. package/lib/features/decoration/di.config.d.ts +2 -2
  136. package/lib/features/decoration/di.config.d.ts.map +1 -1
  137. package/lib/features/decoration/di.config.js +4 -4
  138. package/lib/features/decoration/di.config.js.map +1 -1
  139. package/lib/features/edit-label/di.config.d.ts +1 -1
  140. package/lib/features/edit-label/di.config.d.ts.map +1 -1
  141. package/lib/features/edit-label/di.config.js +5 -5
  142. package/lib/features/edit-label/di.config.js.map +1 -1
  143. package/lib/features/edit-label/edit-label-tool.d.ts.map +1 -1
  144. package/lib/features/edit-label/edit-label-tool.js +2 -2
  145. package/lib/features/edit-label/edit-label-tool.js.map +1 -1
  146. package/lib/features/edit-label/edit-label-validator.d.ts +4 -6
  147. package/lib/features/edit-label/edit-label-validator.d.ts.map +1 -1
  148. package/lib/features/edit-label/edit-label-validator.js +11 -13
  149. package/lib/features/edit-label/edit-label-validator.js.map +1 -1
  150. package/lib/features/hints/di.config.js +4 -4
  151. package/lib/features/hints/di.config.js.map +1 -1
  152. package/lib/features/hints/type-hints.d.ts +15 -5
  153. package/lib/features/hints/type-hints.d.ts.map +1 -1
  154. package/lib/features/hints/type-hints.js +29 -26
  155. package/lib/features/hints/type-hints.js.map +1 -1
  156. package/lib/features/hover/di.config.d.ts.map +1 -1
  157. package/lib/features/hover/di.config.js +11 -9
  158. package/lib/features/hover/di.config.js.map +1 -1
  159. package/lib/features/hover/hover.d.ts +4 -2
  160. package/lib/features/hover/hover.d.ts.map +1 -1
  161. package/lib/features/hover/hover.js +23 -5
  162. package/lib/features/hover/hover.js.map +1 -1
  163. package/lib/features/layout/di.config.d.ts +3 -3
  164. package/lib/features/layout/di.config.d.ts.map +1 -1
  165. package/lib/features/layout/di.config.js +11 -7
  166. package/lib/features/layout/di.config.js.map +1 -1
  167. package/lib/features/layout/freeform-layout.d.ts +17 -1
  168. package/lib/features/layout/freeform-layout.d.ts.map +1 -1
  169. package/lib/features/layout/freeform-layout.js +4 -4
  170. package/lib/features/layout/freeform-layout.js.map +1 -1
  171. package/lib/features/layout/hbox-layout.d.ts +41 -0
  172. package/lib/features/layout/hbox-layout.d.ts.map +1 -0
  173. package/lib/features/layout/hbox-layout.js +189 -0
  174. package/lib/features/layout/hbox-layout.js.map +1 -0
  175. package/lib/features/layout/layout-elements-action.d.ts +198 -0
  176. package/lib/features/layout/layout-elements-action.d.ts.map +1 -0
  177. package/lib/features/layout/layout-elements-action.js +391 -0
  178. package/lib/features/layout/layout-elements-action.js.map +1 -0
  179. package/lib/features/layout/layout-elements-action.spec.d.ts +3 -0
  180. package/lib/features/layout/layout-elements-action.spec.d.ts.map +1 -0
  181. package/lib/features/layout/{layout-commands.spec.js → layout-elements-action.spec.js} +81 -62
  182. package/lib/features/layout/layout-elements-action.spec.js.map +1 -0
  183. package/lib/features/layout/vbox-layout.d.ts +17 -1
  184. package/lib/features/layout/vbox-layout.d.ts.map +1 -1
  185. package/lib/features/layout/vbox-layout.js +9 -8
  186. package/lib/features/layout/vbox-layout.js.map +1 -1
  187. package/lib/features/model-source-watcher/di.config.js +1 -1
  188. package/lib/features/model-source-watcher/di.config.js.map +1 -1
  189. package/lib/features/model-source-watcher/model-source-changed-action-handler.d.ts +1 -1
  190. package/lib/features/model-source-watcher/model-source-changed-action-handler.d.ts.map +1 -1
  191. package/lib/features/model-source-watcher/model-source-changed-action-handler.js +11 -11
  192. package/lib/features/model-source-watcher/model-source-changed-action-handler.js.map +1 -1
  193. package/lib/features/mouse-tool/di.config.d.ts +1 -1
  194. package/lib/features/mouse-tool/di.config.d.ts.map +1 -1
  195. package/lib/features/mouse-tool/di.config.js +2 -2
  196. package/lib/features/mouse-tool/di.config.js.map +1 -1
  197. package/lib/features/mouse-tool/mouse-tool.d.ts +9 -5
  198. package/lib/features/mouse-tool/mouse-tool.d.ts.map +1 -1
  199. package/lib/features/mouse-tool/mouse-tool.js +11 -53
  200. package/lib/features/mouse-tool/mouse-tool.js.map +1 -1
  201. package/lib/features/navigation/di.config.js +4 -4
  202. package/lib/features/navigation/di.config.js.map +1 -1
  203. package/lib/features/navigation/navigation-action-handler.d.ts +31 -16
  204. package/lib/features/navigation/navigation-action-handler.d.ts.map +1 -1
  205. package/lib/features/navigation/navigation-action-handler.js +52 -68
  206. package/lib/features/navigation/navigation-action-handler.js.map +1 -1
  207. package/lib/features/navigation/navigation-target-resolver.d.ts +3 -3
  208. package/lib/features/navigation/navigation-target-resolver.d.ts.map +1 -1
  209. package/lib/features/navigation/navigation-target-resolver.js +9 -10
  210. package/lib/features/navigation/navigation-target-resolver.js.map +1 -1
  211. package/lib/features/navigation/navigation-target-resolver.spec.js +12 -12
  212. package/lib/features/navigation/navigation-target-resolver.spec.js.map +1 -1
  213. package/lib/features/reconnect/model.d.ts +1 -1
  214. package/lib/features/reconnect/model.d.ts.map +1 -1
  215. package/lib/features/reconnect/model.js +1 -1
  216. package/lib/features/reconnect/model.js.map +1 -1
  217. package/lib/features/save/di.config.d.ts +1 -1
  218. package/lib/features/save/di.config.d.ts.map +1 -1
  219. package/lib/features/save/di.config.js +3 -3
  220. package/lib/features/save/di.config.js.map +1 -1
  221. package/lib/features/save/save-keylistener.d.ts +1 -1
  222. package/lib/features/save/save-keylistener.d.ts.map +1 -1
  223. package/lib/features/save/save-keylistener.js +3 -3
  224. package/lib/features/save/save-keylistener.js.map +1 -1
  225. package/lib/features/select/di.config.d.ts +1 -1
  226. package/lib/features/select/di.config.d.ts.map +1 -1
  227. package/lib/features/select/di.config.js +7 -8
  228. package/lib/features/select/di.config.js.map +1 -1
  229. package/lib/features/select/select-feedback-action.d.ts +26 -22
  230. package/lib/features/select/select-feedback-action.d.ts.map +1 -1
  231. package/lib/features/select/select-feedback-action.js +19 -46
  232. package/lib/features/select/select-feedback-action.js.map +1 -1
  233. package/lib/features/select/select-mouse-listener.d.ts +1 -1
  234. package/lib/features/select/select-mouse-listener.d.ts.map +1 -1
  235. package/lib/features/select/select-mouse-listener.js +1 -1
  236. package/lib/features/select/select-mouse-listener.js.map +1 -1
  237. package/lib/features/select/selection-service.d.ts +14 -5
  238. package/lib/features/select/selection-service.d.ts.map +1 -1
  239. package/lib/features/select/selection-service.js +55 -64
  240. package/lib/features/select/selection-service.js.map +1 -1
  241. package/lib/features/select/selection-service.spec.js +28 -25
  242. package/lib/features/select/selection-service.spec.js.map +1 -1
  243. package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts +17 -9
  244. package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts.map +1 -1
  245. package/lib/features/tool-feedback/change-bounds-tool-feedback.js +68 -38
  246. package/lib/features/tool-feedback/change-bounds-tool-feedback.js.map +1 -1
  247. package/lib/features/tool-feedback/creation-tool-feedback.d.ts +23 -11
  248. package/lib/features/tool-feedback/creation-tool-feedback.d.ts.map +1 -1
  249. package/lib/features/tool-feedback/creation-tool-feedback.js +62 -35
  250. package/lib/features/tool-feedback/creation-tool-feedback.js.map +1 -1
  251. package/lib/features/tool-feedback/css-feedback.d.ts +17 -10
  252. package/lib/features/tool-feedback/css-feedback.d.ts.map +1 -1
  253. package/lib/features/tool-feedback/css-feedback.js +42 -38
  254. package/lib/features/tool-feedback/css-feedback.js.map +1 -1
  255. package/lib/features/tool-feedback/di.config.d.ts +1 -1
  256. package/lib/features/tool-feedback/di.config.d.ts.map +1 -1
  257. package/lib/features/tool-feedback/di.config.js +18 -18
  258. package/lib/features/tool-feedback/di.config.js.map +1 -1
  259. package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts +44 -22
  260. package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts.map +1 -1
  261. package/lib/features/tool-feedback/edge-edit-tool-feedback.js +140 -114
  262. package/lib/features/tool-feedback/edge-edit-tool-feedback.js.map +1 -1
  263. package/lib/features/tool-feedback/feedback-action-dispatcher.d.ts.map +1 -1
  264. package/lib/features/tool-feedback/feedback-action-dispatcher.js +4 -4
  265. package/lib/features/tool-feedback/feedback-action-dispatcher.js.map +1 -1
  266. package/lib/features/tool-feedback/marquee-tool-feedback.d.ts +21 -10
  267. package/lib/features/tool-feedback/marquee-tool-feedback.d.ts.map +1 -1
  268. package/lib/features/tool-feedback/marquee-tool-feedback.js +44 -18
  269. package/lib/features/tool-feedback/marquee-tool-feedback.js.map +1 -1
  270. package/lib/features/tool-feedback/model.d.ts +1 -2
  271. package/lib/features/tool-feedback/model.d.ts.map +1 -1
  272. package/lib/features/tool-feedback/model.js +1 -1
  273. package/lib/features/tool-feedback/model.js.map +1 -1
  274. package/lib/features/tool-feedback/view.d.ts +1 -1
  275. package/lib/features/tool-feedback/view.d.ts.map +1 -1
  276. package/lib/features/tool-feedback/view.js +22 -5
  277. package/lib/features/tool-feedback/view.js.map +1 -1
  278. package/lib/features/tool-palette/di.config.d.ts +1 -1
  279. package/lib/features/tool-palette/di.config.d.ts.map +1 -1
  280. package/lib/features/tool-palette/di.config.js +5 -4
  281. package/lib/features/tool-palette/di.config.js.map +1 -1
  282. package/lib/features/tool-palette/tool-palette.d.ts +10 -7
  283. package/lib/features/tool-palette/tool-palette.d.ts.map +1 -1
  284. package/lib/features/tool-palette/tool-palette.js +39 -32
  285. package/lib/features/tool-palette/tool-palette.js.map +1 -1
  286. package/lib/features/tools/base-glsp-tool.d.ts.map +1 -1
  287. package/lib/features/tools/base-glsp-tool.js +6 -6
  288. package/lib/features/tools/base-glsp-tool.js.map +1 -1
  289. package/lib/features/tools/change-bounds-tool.d.ts +7 -9
  290. package/lib/features/tools/change-bounds-tool.d.ts.map +1 -1
  291. package/lib/features/tools/change-bounds-tool.js +48 -71
  292. package/lib/features/tools/change-bounds-tool.js.map +1 -1
  293. package/lib/features/tools/delete-tool.d.ts +1 -1
  294. package/lib/features/tools/delete-tool.d.ts.map +1 -1
  295. package/lib/features/tools/delete-tool.js +17 -17
  296. package/lib/features/tools/delete-tool.js.map +1 -1
  297. package/lib/features/tools/di.config.d.ts +9 -2
  298. package/lib/features/tools/di.config.d.ts.map +1 -1
  299. package/lib/features/tools/di.config.js +26 -15
  300. package/lib/features/tools/di.config.js.map +1 -1
  301. package/lib/features/tools/edge-creation-tool.d.ts +1 -1
  302. package/lib/features/tools/edge-creation-tool.d.ts.map +1 -1
  303. package/lib/features/tools/edge-creation-tool.js +28 -21
  304. package/lib/features/tools/edge-creation-tool.js.map +1 -1
  305. package/lib/features/tools/edge-edit-tool.d.ts +3 -2
  306. package/lib/features/tools/edge-edit-tool.d.ts.map +1 -1
  307. package/lib/features/tools/edge-edit-tool.js +41 -36
  308. package/lib/features/tools/edge-edit-tool.js.map +1 -1
  309. package/lib/features/{tool-palette/palette-item.d.ts → tools/enable-default-tools-on-focus-loss.d.ts} +11 -11
  310. package/lib/features/tools/enable-default-tools-on-focus-loss.d.ts.map +1 -0
  311. package/lib/features/tools/enable-default-tools-on-focus-loss.js +29 -0
  312. package/lib/features/tools/enable-default-tools-on-focus-loss.js.map +1 -0
  313. package/lib/features/tools/marquee-behavior.d.ts +1 -1
  314. package/lib/features/tools/marquee-behavior.js +2 -2
  315. package/lib/features/tools/marquee-behavior.js.map +1 -1
  316. package/lib/features/tools/marquee-behavior.spec.js +63 -63
  317. package/lib/features/tools/marquee-behavior.spec.js.map +1 -1
  318. package/lib/features/tools/marquee-mouse-tool.d.ts +1 -1
  319. package/lib/features/tools/marquee-mouse-tool.d.ts.map +1 -1
  320. package/lib/features/tools/marquee-mouse-tool.js +20 -20
  321. package/lib/features/tools/marquee-mouse-tool.js.map +1 -1
  322. package/lib/features/tools/marquee-tool.d.ts +1 -1
  323. package/lib/features/tools/marquee-tool.d.ts.map +1 -1
  324. package/lib/features/tools/marquee-tool.js +4 -4
  325. package/lib/features/tools/marquee-tool.js.map +1 -1
  326. package/lib/features/tools/model.d.ts +3 -2
  327. package/lib/features/tools/model.d.ts.map +1 -1
  328. package/lib/features/tools/model.js +0 -15
  329. package/lib/features/tools/model.js.map +1 -1
  330. package/lib/features/tools/node-creation-tool.d.ts +1 -1
  331. package/lib/features/tools/node-creation-tool.d.ts.map +1 -1
  332. package/lib/features/tools/node-creation-tool.js +17 -17
  333. package/lib/features/tools/node-creation-tool.js.map +1 -1
  334. package/lib/features/tools/view.d.ts.map +1 -1
  335. package/lib/features/tools/view.js +2 -2
  336. package/lib/features/tools/view.js.map +1 -1
  337. package/lib/features/validation/di.config.d.ts +0 -15
  338. package/lib/features/validation/di.config.d.ts.map +1 -1
  339. package/lib/features/validation/di.config.js +9 -7
  340. package/lib/features/validation/di.config.js.map +1 -1
  341. package/lib/features/validation/marker-navigator.d.ts +27 -25
  342. package/lib/features/validation/marker-navigator.d.ts.map +1 -1
  343. package/lib/features/validation/marker-navigator.js +64 -91
  344. package/lib/features/validation/marker-navigator.js.map +1 -1
  345. package/lib/features/validation/marker-navigator.spec.d.ts.map +1 -1
  346. package/lib/features/validation/marker-navigator.spec.js +23 -37
  347. package/lib/features/validation/marker-navigator.spec.js.map +1 -1
  348. package/lib/features/validation/validate.d.ts +16 -30
  349. package/lib/features/validation/validate.d.ts.map +1 -1
  350. package/lib/features/validation/validate.js +61 -92
  351. package/lib/features/validation/validate.js.map +1 -1
  352. package/lib/features/viewport/di.config.d.ts +1 -1
  353. package/lib/features/viewport/di.config.d.ts.map +1 -1
  354. package/lib/features/viewport/di.config.js +7 -7
  355. package/lib/features/viewport/di.config.js.map +1 -1
  356. package/lib/features/viewport/glsp-scroll-mouse-listener.d.ts +1 -1
  357. package/lib/features/viewport/glsp-scroll-mouse-listener.d.ts.map +1 -1
  358. package/lib/features/viewport/glsp-scroll-mouse-listener.js +3 -3
  359. package/lib/features/viewport/glsp-scroll-mouse-listener.js.map +1 -1
  360. package/lib/index.d.ts +8 -9
  361. package/lib/index.d.ts.map +1 -1
  362. package/lib/index.js +15 -11
  363. package/lib/index.js.map +1 -1
  364. package/lib/lib/model.d.ts +3 -2
  365. package/lib/lib/model.d.ts.map +1 -1
  366. package/lib/lib/model.js +0 -15
  367. package/lib/lib/model.js.map +1 -1
  368. package/lib/model-source/glsp-diagram-server.d.ts +6 -6
  369. package/lib/model-source/glsp-diagram-server.d.ts.map +1 -1
  370. package/lib/model-source/glsp-diagram-server.js +8 -8
  371. package/lib/model-source/glsp-diagram-server.js.map +1 -1
  372. package/lib/sprotty-reexport.d.ts +174 -0
  373. package/lib/sprotty-reexport.d.ts.map +1 -0
  374. package/lib/sprotty-reexport.js +299 -0
  375. package/lib/sprotty-reexport.js.map +1 -0
  376. package/lib/utils/argument-utils.js +5 -5
  377. package/lib/utils/argument-utils.js.map +1 -1
  378. package/lib/utils/layout-utils.d.ts +6 -22
  379. package/lib/utils/layout-utils.d.ts.map +1 -1
  380. package/lib/utils/layout-utils.js +1 -1
  381. package/lib/utils/layout-utils.js.map +1 -1
  382. package/lib/utils/smodel-util.d.ts +117 -11
  383. package/lib/utils/smodel-util.d.ts.map +1 -1
  384. package/lib/utils/smodel-util.js +142 -37
  385. package/lib/utils/smodel-util.js.map +1 -1
  386. package/lib/utils/viewpoint-util.d.ts +3 -3
  387. package/lib/utils/viewpoint-util.d.ts.map +1 -1
  388. package/lib/utils/viewpoint-util.js +19 -3
  389. package/lib/utils/viewpoint-util.js.map +1 -1
  390. package/lib/views/base-view-module.js +19 -19
  391. package/lib/views/base-view-module.js.map +1 -1
  392. package/lib/views/compartments.js +1 -1
  393. package/lib/views/compartments.js.map +1 -1
  394. package/lib/views/glsp-edge-view.d.ts +1 -1
  395. package/lib/views/glsp-edge-view.d.ts.map +1 -1
  396. package/lib/views/glsp-edge-view.js +1 -1
  397. package/lib/views/glsp-edge-view.js.map +1 -1
  398. package/lib/views/index.js +6 -2
  399. package/lib/views/index.js.map +1 -1
  400. package/lib/views/issue-marker-view.d.ts.map +1 -1
  401. package/lib/views/issue-marker-view.js +3 -3
  402. package/lib/views/issue-marker-view.js.map +1 -1
  403. package/lib/views/rounded-corner-view.d.ts.map +1 -1
  404. package/lib/views/rounded-corner-view.js +2 -2
  405. package/lib/views/rounded-corner-view.js.map +1 -1
  406. package/package.json +8 -18
  407. package/src/base/action-dispatcher.ts +17 -8
  408. package/src/base/actions/focus-change-action.ts +25 -8
  409. package/src/base/actions/sprotty-actions.ts +26 -0
  410. package/src/base/auto-complete/auto-complete-actions.ts +7 -5
  411. package/src/base/auto-complete/auto-complete-widget.ts +15 -13
  412. package/src/base/command-stack.ts +7 -6
  413. package/src/base/container-modules.ts +4 -3
  414. package/src/base/di.config.ts +4 -5
  415. package/src/base/drag-aware-mouse-listener.ts +4 -4
  416. package/src/base/editor-context-service.ts +38 -16
  417. package/src/base/focus-tracker.ts +5 -4
  418. package/src/base/model/model-registry.ts +2 -2
  419. package/src/base/model/update-model-command.ts +9 -10
  420. package/src/base/model-initialization-constraint.ts +9 -11
  421. package/src/base/selection-clearing-mouse-listener.ts +1 -1
  422. package/src/base/source-uri-aware.ts +5 -4
  423. package/src/base/tool-manager/glsp-tool-manager.ts +9 -9
  424. package/src/base/tool-manager/tool-actions.ts +37 -0
  425. package/src/base/types.ts +31 -24
  426. package/src/base/view/view-registry.ts +2 -2
  427. package/src/features/change-bounds/model.ts +5 -5
  428. package/src/features/change-bounds/movement-restrictor.ts +74 -44
  429. package/src/features/change-bounds/snap.spec.ts +89 -0
  430. package/src/features/change-bounds/snap.ts +86 -3
  431. package/src/features/command-palette/di.config.ts +5 -7
  432. package/src/features/command-palette/server-command-palette-provider.ts +9 -8
  433. package/src/features/context-menu/delete-element-context-menu.ts +6 -6
  434. package/src/features/context-menu/di.config.ts +3 -2
  435. package/src/features/context-menu/selection-service-aware-context-menu-mouse-listener.ts +6 -7
  436. package/src/features/context-menu/server-context-menu-provider.ts +7 -6
  437. package/src/features/copy-paste/copy-paste-context-menu.ts +30 -23
  438. package/src/features/copy-paste/copy-paste-handler.ts +6 -6
  439. package/src/features/copy-paste/di.config.ts +7 -15
  440. package/src/features/decoration/decoration-placer.ts +4 -4
  441. package/src/features/decoration/di.config.ts +3 -5
  442. package/src/features/edit-label/di.config.ts +4 -5
  443. package/src/features/edit-label/edit-label-tool.ts +1 -2
  444. package/src/features/edit-label/edit-label-validator.ts +6 -10
  445. package/src/features/hints/di.config.ts +3 -3
  446. package/src/features/hints/type-hints.ts +33 -18
  447. package/src/features/hover/di.config.ts +4 -0
  448. package/src/features/hover/hover.ts +30 -12
  449. package/src/features/layout/di.config.ts +11 -7
  450. package/src/features/layout/freeform-layout.ts +6 -15
  451. package/src/features/layout/hbox-layout.ts +256 -0
  452. package/src/features/layout/{layout-commands.spec.ts → layout-elements-action.spec.ts} +89 -65
  453. package/src/features/layout/layout-elements-action.ts +486 -0
  454. package/src/features/layout/vbox-layout.ts +20 -20
  455. package/src/features/model-source-watcher/model-source-changed-action-handler.ts +7 -12
  456. package/src/features/mouse-tool/di.config.ts +3 -4
  457. package/src/features/mouse-tool/mouse-tool.ts +18 -59
  458. package/src/features/navigation/navigation-action-handler.ts +76 -42
  459. package/src/features/navigation/navigation-target-resolver.spec.ts +3 -3
  460. package/src/features/navigation/navigation-target-resolver.ts +9 -14
  461. package/src/features/reconnect/model.ts +2 -2
  462. package/src/features/save/di.config.ts +2 -3
  463. package/src/features/save/save-keylistener.ts +3 -3
  464. package/src/features/select/di.config.ts +6 -8
  465. package/src/features/select/select-feedback-action.ts +18 -46
  466. package/src/features/select/select-mouse-listener.ts +1 -2
  467. package/src/features/select/selection-service.spec.ts +12 -9
  468. package/src/features/select/selection-service.ts +52 -60
  469. package/src/features/tool-feedback/change-bounds-tool-feedback.ts +52 -22
  470. package/src/features/tool-feedback/creation-tool-feedback.ts +52 -31
  471. package/src/features/tool-feedback/css-feedback.ts +40 -37
  472. package/src/features/tool-feedback/di.config.ts +4 -5
  473. package/src/features/tool-feedback/edge-edit-tool-feedback.ts +132 -88
  474. package/src/features/tool-feedback/feedback-action-dispatcher.ts +2 -1
  475. package/src/features/tool-feedback/marquee-tool-feedback.ts +38 -13
  476. package/src/features/tool-feedback/model.ts +1 -3
  477. package/src/features/tool-feedback/view.tsx +3 -3
  478. package/src/features/tool-palette/di.config.ts +3 -2
  479. package/src/features/tool-palette/tool-palette.ts +35 -19
  480. package/src/features/tools/base-glsp-tool.ts +4 -4
  481. package/src/features/tools/change-bounds-tool.ts +37 -67
  482. package/src/features/tools/delete-tool.ts +9 -9
  483. package/src/features/tools/di.config.ts +23 -12
  484. package/src/features/tools/edge-creation-tool.ts +21 -12
  485. package/src/features/tools/edge-edit-tool.ts +25 -21
  486. package/src/features/tools/enable-default-tools-on-focus-loss.ts +33 -0
  487. package/src/features/tools/marquee-behavior.ts +2 -2
  488. package/src/features/tools/marquee-mouse-tool.ts +13 -14
  489. package/src/features/tools/marquee-tool.ts +3 -3
  490. package/src/features/tools/model.ts +4 -3
  491. package/src/features/tools/node-creation-tool.ts +8 -8
  492. package/src/features/tools/view.tsx +2 -3
  493. package/src/features/validation/di.config.ts +13 -11
  494. package/src/features/validation/marker-navigator.spec.ts +4 -2
  495. package/src/features/validation/marker-navigator.ts +67 -82
  496. package/src/features/validation/validate.ts +57 -91
  497. package/src/features/viewport/di.config.ts +1 -2
  498. package/src/features/viewport/glsp-scroll-mouse-listener.ts +5 -5
  499. package/src/index.ts +9 -9
  500. package/src/lib/model.ts +4 -4
  501. package/src/model-source/glsp-diagram-server.ts +14 -16
  502. package/src/sprotty-reexport.ts +283 -0
  503. package/src/utils/layout-utils.ts +9 -29
  504. package/src/utils/smodel-util.ts +139 -43
  505. package/src/utils/viewpoint-util.ts +5 -14
  506. package/src/views/glsp-edge-view.tsx +4 -4
  507. package/src/views/issue-marker-view.tsx +2 -2
  508. package/src/views/rounded-corner-view.tsx +2 -3
  509. package/lib/features/layout/layout-commands.d.ts +0 -153
  510. package/lib/features/layout/layout-commands.d.ts.map +0 -1
  511. package/lib/features/layout/layout-commands.js +0 -412
  512. package/lib/features/layout/layout-commands.js.map +0 -1
  513. package/lib/features/layout/layout-commands.spec.d.ts +0 -3
  514. package/lib/features/layout/layout-commands.spec.d.ts.map +0 -1
  515. package/lib/features/layout/layout-commands.spec.js.map +0 -1
  516. package/lib/features/tool-palette/palette-item.d.ts.map +0 -1
  517. package/lib/features/tool-palette/palette-item.js.map +0 -1
  518. package/lib/protocol-reexport.d.ts +0 -45
  519. package/lib/protocol-reexport.d.ts.map +0 -1
  520. package/lib/protocol-reexport.js +0 -75
  521. package/lib/protocol-reexport.js.map +0 -1
  522. package/src/features/layout/layout-commands.ts +0 -424
  523. package/src/features/tool-palette/palette-item.ts +0 -38
  524. package/src/protocol-reexport.ts +0 -64
@@ -0,0 +1,189 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.HBoxLayouterExt = void 0;
10
+ /********************************************************************************
11
+ * Copyright (c) 2021-2022 EclipseSource and others.
12
+ *
13
+ * This program and the accompanying materials are made available under the
14
+ * terms of the Eclipse Public License v. 2.0 which is available at
15
+ * http://www.eclipse.org/legal/epl-2.0.
16
+ *
17
+ * This Source Code may also be made available under the following Secondary
18
+ * Licenses when the conditions for such availability set forth in the Eclipse
19
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
20
+ * with the GNU Classpath Exception which is available at
21
+ * https://www.gnu.org/software/classpath/license.html.
22
+ *
23
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
24
+ ********************************************************************************/
25
+ const protocol_1 = require("@eclipse-glsp/protocol");
26
+ const inversify_1 = require("inversify");
27
+ const sprotty_1 = require("sprotty");
28
+ /**
29
+ * Extends HBoxLayouter to support additional layout options
30
+ */
31
+ let HBoxLayouterExt = class HBoxLayouterExt extends sprotty_1.HBoxLayouter {
32
+ layout(container, layouter) {
33
+ const boundsData = layouter.getBoundsData(container);
34
+ const options = this.getLayoutOptions(container);
35
+ const childrenSize = this.getChildrenSize(container, options, layouter);
36
+ const fixedSize = this.getFixedContainerBounds(container, options, layouter);
37
+ const maxWidth = options.paddingFactor *
38
+ (options.resizeContainer
39
+ ? Math.max(fixedSize.width - options.paddingLeft - options.paddingRight, childrenSize.width)
40
+ : Math.max(0, fixedSize.width - options.paddingLeft - options.paddingRight));
41
+ const maxHeight = options.paddingFactor *
42
+ (options.resizeContainer
43
+ ? Math.max(fixedSize.height - options.paddingTop - options.paddingBottom, childrenSize.height)
44
+ : Math.max(0, fixedSize.height - options.paddingTop - options.paddingBottom));
45
+ // Remaining size that can be grabbed by children with the hGrab option
46
+ const grabWidth = maxWidth - childrenSize.width;
47
+ // Number of children that request hGrab
48
+ // FIXME: This approach works fine when only 1 child uses HGrab, but may cause rounding issues
49
+ // when the grabHeight can't be equally shared by all children.
50
+ const grabbingChildren = container.children
51
+ .map(child => this.getChildLayoutOptions(child, options))
52
+ .filter(opt => opt.hGrab).length;
53
+ if (maxWidth > 0 && maxHeight > 0) {
54
+ const offset = this.layoutChildren(container, layouter, options, maxWidth, maxHeight, grabWidth, grabbingChildren);
55
+ boundsData.bounds = this.getFinalContainerBounds(container, offset, options, childrenSize.width, childrenSize.height);
56
+ boundsData.boundsChanged = true;
57
+ }
58
+ }
59
+ getChildrenSize(container, containerOptions, layouter) {
60
+ let maxWidth = 0;
61
+ let maxHeight = -1;
62
+ let isFirst = true;
63
+ container.children.forEach(child => {
64
+ if ((0, sprotty_1.isLayoutableChild)(child)) {
65
+ const bounds = layouter.getBoundsData(child).bounds;
66
+ if (bounds !== undefined && protocol_1.Dimension.isValid(bounds)) {
67
+ maxWidth += bounds.width;
68
+ if (isFirst) {
69
+ isFirst = false;
70
+ }
71
+ else {
72
+ maxWidth += containerOptions.hGap;
73
+ }
74
+ maxHeight = Math.max(maxHeight, bounds.height);
75
+ }
76
+ }
77
+ });
78
+ const result = {
79
+ width: maxWidth,
80
+ height: maxHeight
81
+ };
82
+ return result;
83
+ }
84
+ layoutChildren(container, layouter, containerOptions, maxWidth, maxHeight, grabWidth, grabbingChildren) {
85
+ let currentOffset = {
86
+ x: containerOptions.paddingLeft + 0.5 * (maxWidth - maxWidth / containerOptions.paddingFactor),
87
+ y: containerOptions.paddingTop + 0.5 * (maxHeight - maxHeight / containerOptions.paddingFactor)
88
+ };
89
+ container.children.forEach(child => {
90
+ if ((0, sprotty_1.isLayoutableChild)(child)) {
91
+ const boundsData = layouter.getBoundsData(child);
92
+ const bounds = boundsData.bounds;
93
+ const childOptions = this.getChildLayoutOptions(child, containerOptions);
94
+ if (bounds !== undefined && protocol_1.Dimension.isValid(bounds)) {
95
+ currentOffset = this.layoutChild(child, boundsData, bounds, childOptions, containerOptions, currentOffset, maxWidth, maxHeight, grabWidth, grabbingChildren);
96
+ }
97
+ }
98
+ });
99
+ return currentOffset;
100
+ }
101
+ layoutChild(child, boundsData, bounds, childOptions, containerOptions, currentOffset, maxWidth, maxHeight, grabWidth, grabbingChildren) {
102
+ let offset = super.layoutChild(child, boundsData, bounds, childOptions, containerOptions, currentOffset, maxWidth, maxHeight);
103
+ if (childOptions.hGrab) {
104
+ boundsData.bounds = {
105
+ x: boundsData.bounds.x,
106
+ y: boundsData.bounds.y,
107
+ width: boundsData.bounds.width,
108
+ height: maxHeight
109
+ };
110
+ boundsData.boundsChanged = true;
111
+ }
112
+ if (childOptions.hGrab && grabWidth && grabbingChildren) {
113
+ const width = boundsData.bounds.width + grabWidth / grabbingChildren;
114
+ boundsData.bounds = {
115
+ x: boundsData.bounds.x,
116
+ y: boundsData.bounds.y,
117
+ width: width,
118
+ height: boundsData.bounds.height
119
+ };
120
+ boundsData.boundsChanged = true;
121
+ offset = { x: currentOffset.x + width, y: currentOffset.y };
122
+ }
123
+ return offset;
124
+ }
125
+ getFixedContainerBounds(container, layoutOptions, layouter) {
126
+ var _a, _b;
127
+ const currentContainer = container;
128
+ // eslint-disable-next-line no-constant-condition
129
+ if ((0, sprotty_1.isBoundsAware)(currentContainer)) {
130
+ const bounds = currentContainer.bounds;
131
+ const elementOptions = this.getElementLayoutOptions(currentContainer);
132
+ const width = (_a = elementOptions === null || elementOptions === void 0 ? void 0 : elementOptions.prefWidth) !== null && _a !== void 0 ? _a : 0;
133
+ const height = (_b = elementOptions === null || elementOptions === void 0 ? void 0 : elementOptions.prefHeight) !== null && _b !== void 0 ? _b : 0;
134
+ return Object.assign(Object.assign({}, bounds), { width, height });
135
+ }
136
+ return protocol_1.Bounds.EMPTY;
137
+ }
138
+ getChildLayoutOptions(child, containerOptions) {
139
+ return super.getChildLayoutOptions(child, containerOptions);
140
+ }
141
+ getLayoutOptions(element) {
142
+ return super.getLayoutOptions(element);
143
+ }
144
+ getElementLayoutOptions(element) {
145
+ return element.layoutOptions;
146
+ }
147
+ getFinalContainerBounds(container, lastOffset, options, maxWidth, maxHeight) {
148
+ var _a, _b;
149
+ const elementOptions = this.getElementLayoutOptions(container);
150
+ const width = (_a = elementOptions === null || elementOptions === void 0 ? void 0 : elementOptions.prefWidth) !== null && _a !== void 0 ? _a : options.minWidth;
151
+ const height = (_b = elementOptions === null || elementOptions === void 0 ? void 0 : elementOptions.prefHeight) !== null && _b !== void 0 ? _b : options.minHeight;
152
+ const result = {
153
+ x: container.bounds.x,
154
+ y: container.bounds.y,
155
+ width: Math.max(width, maxWidth + options.paddingLeft + options.paddingRight),
156
+ height: Math.max(height, maxHeight + options.paddingTop + options.paddingBottom)
157
+ };
158
+ return result;
159
+ }
160
+ getDefaultLayoutOptions() {
161
+ return {
162
+ resizeContainer: true,
163
+ paddingTop: 5,
164
+ paddingBottom: 5,
165
+ paddingLeft: 5,
166
+ paddingRight: 5,
167
+ paddingFactor: 1,
168
+ hGap: 1,
169
+ vAlign: 'center',
170
+ minWidth: 0,
171
+ minHeight: 0,
172
+ hGrab: false,
173
+ vGrab: false,
174
+ // eslint-disable-next-line no-null/no-null
175
+ prefHeight: null,
176
+ // eslint-disable-next-line no-null/no-null
177
+ prefWidth: null
178
+ };
179
+ }
180
+ spread(a, b) {
181
+ return Object.assign(Object.assign({}, a), b);
182
+ }
183
+ };
184
+ HBoxLayouterExt.KIND = sprotty_1.HBoxLayouter.KIND;
185
+ HBoxLayouterExt = __decorate([
186
+ (0, inversify_1.injectable)()
187
+ ], HBoxLayouterExt);
188
+ exports.HBoxLayouterExt = HBoxLayouterExt;
189
+ //# sourceMappingURL=hbox-layout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hbox-layout.js","sourceRoot":"","sources":["../../../src/features/layout/hbox-layout.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,198 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2019-2022 EclipseSource and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+ import { Action, ElementAndBounds, Writable } from '@eclipse-glsp/protocol';
17
+ import { ElementMove, IActionDispatcher, IActionHandler, ICommand, SModelElement } from 'sprotty';
18
+ import { BoundsAwareModelElement } from '../../utils/smodel-util';
19
+ import { IMovementRestrictor } from '../change-bounds/movement-restrictor';
20
+ import { SelectionService } from '../select/selection-service';
21
+ /**
22
+ * Used to specify the desired resize dimension for a {@link ResizeElementsCommand}.
23
+ */
24
+ export declare enum ResizeDimension {
25
+ Width = 0,
26
+ Height = 1,
27
+ Width_And_Height = 2
28
+ }
29
+ /**
30
+ * A function that computes a single number from a set of given numbers
31
+ * i.e. it reduces the given numbers to one single number.
32
+ * Mainly used by the {@link ResizeElementsCommand} to reduce the given dimensions to a target dimension value.
33
+ */
34
+ export declare type ReduceFunction = (...values: number[]) => number;
35
+ export declare namespace ReduceFunction {
36
+ /**
37
+ * Returns the minimal value of the given numbers.
38
+ * @param values Numbers to be evaluated.
39
+ * @returns The reduced number.
40
+ */
41
+ function min(...values: number[]): number;
42
+ /**
43
+ * Returns the maximal value of the given numbers.
44
+ * @param values Numbers to be evaluated.
45
+ * @returns The reduced number.
46
+ */
47
+ function max(...values: number[]): number;
48
+ /**
49
+ * Computes the average of the given numbers.
50
+ * @param values Numbers to be evaluated.
51
+ */
52
+ function avg(...values: number[]): number;
53
+ /**
54
+ * Returns the last value of the given numbers.
55
+ * @param values Numbers to be evaluated.
56
+ * @returns The reduced number.
57
+ */
58
+ function first(...values: number[]): number;
59
+ /**
60
+ * Returns the minimal value of the given numbers.
61
+ * @param values Numbers to be evaluated.
62
+ * @returns The reduced number.
63
+ */
64
+ function last(...values: number[]): number;
65
+ /**
66
+ * Returns the reduce function that corresponds to the given {@link ReduceFunctionType}.
67
+ * @param type The reduce function kind.
68
+ * @returns The corresponding reduce function.
69
+ */
70
+ function get(type: ReduceFunctionType): ReduceFunction;
71
+ }
72
+ /** Union type of all {@link ReduceFunction} keys. */
73
+ export declare type ReduceFunctionType = Exclude<keyof typeof ReduceFunction, 'get'>;
74
+ export interface ResizeElementsAction extends Action {
75
+ kind: typeof ResizeElementsAction.KIND;
76
+ /**
77
+ * IDs of the elements that should be resized. If no IDs are given, the selected elements will be resized.
78
+ */
79
+ elementIds: string[];
80
+ /**
81
+ * Resize dimension. The default is {@link ResizeDimension.Width}.
82
+ */
83
+ dimension: ResizeDimension;
84
+ /**
85
+ * Type of the {@link ReduceFunction} that should be used to reduce the dimension to a target dimension value
86
+ */
87
+ reduceFunction: ReduceFunctionType;
88
+ }
89
+ export declare namespace ResizeElementsAction {
90
+ const KIND = "resizeElementAction";
91
+ function is(object: any): object is ResizeElementsAction;
92
+ function create(options: {
93
+ elementIds?: string[];
94
+ dimension?: ResizeDimension;
95
+ reduceFunction: ReduceFunctionType;
96
+ }): ResizeElementsAction;
97
+ }
98
+ export declare abstract class LayoutElementsActionHandler implements IActionHandler {
99
+ protected actionDispatcher: IActionDispatcher;
100
+ protected selectionService: SelectionService;
101
+ protected movementRestrictor?: IMovementRestrictor;
102
+ abstract handle(action: Action): void | Action | ICommand;
103
+ getSelectedElements(selection: {
104
+ elementIds: string[];
105
+ }): BoundsAwareModelElement[];
106
+ protected abstract isActionElement(element: SModelElement): element is BoundsAwareModelElement;
107
+ dispatchAction(action: Action): void;
108
+ dispatchActions(actions: Action[]): void;
109
+ }
110
+ export declare class ResizeElementsActionHandler extends LayoutElementsActionHandler {
111
+ handle(action: ResizeElementsAction): void;
112
+ resizeWidth(elements: BoundsAwareModelElement[], reduceFn: ReduceFunction): void;
113
+ resizeHeight(elements: BoundsAwareModelElement[], reduceFn: ReduceFunction): void;
114
+ resizeWidthAndHeight(elements: BoundsAwareModelElement[], reduceFn: ReduceFunction): void;
115
+ dispatchResizeActions(elements: BoundsAwareModelElement[], change: (element: BoundsAwareModelElement, bounds: Writable<ElementAndBounds>) => void): void;
116
+ createElementAndBounds(element: BoundsAwareModelElement, change: (_element: BoundsAwareModelElement, _bounds: Writable<ElementAndBounds>) => void): Writable<ElementAndBounds> | undefined;
117
+ protected isActionElement(element: SModelElement): element is BoundsAwareModelElement;
118
+ }
119
+ export declare enum Alignment {
120
+ Left = 0,
121
+ Center = 1,
122
+ Right = 2,
123
+ Top = 3,
124
+ Middle = 4,
125
+ Bottom = 5
126
+ }
127
+ /**
128
+ * A function that retrieves a specific (sub)-selection of elements from a given set of elements.
129
+ * Mainly used by the {@link AlignElementsActionHandler}.
130
+ */
131
+ export declare type SelectFunction = (elements: BoundsAwareModelElement[]) => BoundsAwareModelElement[];
132
+ export declare namespace SelectFunction {
133
+ /**
134
+ * Select all elements from the given set of elements.
135
+ * @param elements The set of elements.
136
+ * @returns All elements.
137
+ */
138
+ function all(elements: BoundsAwareModelElement[]): BoundsAwareModelElement[];
139
+ /**
140
+ * Select the first element from a given set of elements.
141
+ * @param elements The elements.
142
+ * @returns An array containing the first element of the given elements.
143
+ */
144
+ function first(elements: BoundsAwareModelElement[]): BoundsAwareModelElement[];
145
+ /**
146
+ * Select the last element from a given set of elements.
147
+ * @param elements The elements.
148
+ * @returns An array containing the last element of the given elements.
149
+ */
150
+ function last(elements: BoundsAwareModelElement[]): BoundsAwareModelElement[];
151
+ /**
152
+ * Returns the select function that corresponds to the given {@link SelectFunctionType}.
153
+ * @param type The select function type.
154
+ * @returns The corresponding select function.
155
+ */
156
+ function get(kind: SelectFunctionType): SelectFunction;
157
+ }
158
+ /** Union type of all {@link SelectFunction} keys. */
159
+ export declare type SelectFunctionType = Exclude<keyof typeof SelectFunction, 'get'>;
160
+ export interface AlignElementsAction extends Action {
161
+ kind: typeof AlignElementsAction.KIND;
162
+ /**
163
+ * IDs of the elements that should be aligned. If no IDs are given, the selected elements will be aligned.
164
+ */
165
+ elementIds: string[];
166
+ /**
167
+ * Alignment direction. The default is {@link Alignment.Left}
168
+ */
169
+ alignment: Alignment;
170
+ /**
171
+ * Function to selected elements that are considered during alignment calculation.
172
+ * The default value is {@link Select.all}.
173
+ */
174
+ selectFunction: SelectFunctionType;
175
+ }
176
+ export declare namespace AlignElementsAction {
177
+ const KIND = "alignElements";
178
+ function is(object: any): object is AlignElementsAction;
179
+ function create(options?: {
180
+ elementIds?: string[];
181
+ alignment?: Alignment;
182
+ selectionFunction?: SelectFunctionType;
183
+ }): AlignElementsAction;
184
+ }
185
+ export declare class AlignElementsActionHandler extends LayoutElementsActionHandler {
186
+ handle(action: AlignElementsAction): void;
187
+ alignLeft(elements: BoundsAwareModelElement[]): void;
188
+ alignCenter(elements: BoundsAwareModelElement[]): void;
189
+ alignRight(elements: BoundsAwareModelElement[]): void;
190
+ alignTop(elements: BoundsAwareModelElement[]): void;
191
+ alignMiddle(elements: BoundsAwareModelElement[]): void;
192
+ alignBottom(elements: BoundsAwareModelElement[]): void;
193
+ dispatchAlignActions(elements: BoundsAwareModelElement[], change: (element: BoundsAwareModelElement, move: Writable<ElementMove>) => void): void;
194
+ createElementMove(element: BoundsAwareModelElement, change: (_element: BoundsAwareModelElement, _move: Writable<ElementMove>) => void): Writable<ElementMove> | undefined;
195
+ createElementAndBounds(element: BoundsAwareModelElement, move: ElementMove): ElementAndBounds;
196
+ protected isActionElement(element: SModelElement): element is BoundsAwareModelElement;
197
+ }
198
+ //# sourceMappingURL=layout-elements-action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout-elements-action.d.ts","sourceRoot":"","sources":["../../../src/features/layout/layout-elements-action.ts"],"names":[],"mappings":"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"}