@eclipse-glsp/client 1.1.0-next.91b3a87.217 → 1.1.0-next.93fd4ec.241

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 (272) hide show
  1. package/css/decoration.css +1 -1
  2. package/lib/base/auto-complete/auto-complete-widget.d.ts +2 -2
  3. package/lib/base/auto-complete/auto-complete-widget.js +3 -3
  4. package/lib/base/command-stack.d.ts +1 -2
  5. package/lib/base/command-stack.d.ts.map +1 -1
  6. package/lib/base/command-stack.js +5 -14
  7. package/lib/base/command-stack.js.map +1 -1
  8. package/lib/base/container-modules.d.ts +16 -16
  9. package/lib/base/container-modules.d.ts.map +1 -1
  10. package/lib/base/container-modules.js +60 -64
  11. package/lib/base/container-modules.js.map +1 -1
  12. package/lib/base/di.config.d.ts +1 -1
  13. package/lib/base/di.config.d.ts.map +1 -1
  14. package/lib/base/di.config.js +7 -7
  15. package/lib/base/di.config.js.map +1 -1
  16. package/lib/base/editor-context-service.d.ts +3 -3
  17. package/lib/base/editor-context-service.d.ts.map +1 -1
  18. package/lib/base/editor-context-service.js +3 -3
  19. package/lib/base/editor-context-service.js.map +1 -1
  20. package/lib/base/tool-manager/glsp-tool-manager.d.ts +4 -5
  21. package/lib/base/tool-manager/glsp-tool-manager.d.ts.map +1 -1
  22. package/lib/base/tool-manager/glsp-tool-manager.js +15 -8
  23. package/lib/base/tool-manager/glsp-tool-manager.js.map +1 -1
  24. package/lib/features/bounds/di.config.d.ts +0 -16
  25. package/lib/features/bounds/di.config.d.ts.map +1 -1
  26. package/lib/features/bounds/di.config.js +12 -9
  27. package/lib/features/bounds/di.config.js.map +1 -1
  28. package/lib/features/{layout → bounds}/freeform-layout.d.ts +2 -2
  29. package/lib/features/{layout → bounds}/freeform-layout.d.ts.map +1 -1
  30. package/lib/features/{layout → bounds}/freeform-layout.js +2 -2
  31. package/lib/features/{layout → bounds}/freeform-layout.js.map +1 -1
  32. package/lib/features/bounds/glsp-hidden-bounds-updater.d.ts +1 -1
  33. package/lib/features/bounds/glsp-hidden-bounds-updater.d.ts.map +1 -1
  34. package/lib/features/bounds/glsp-hidden-bounds-updater.js +3 -2
  35. package/lib/features/bounds/glsp-hidden-bounds-updater.js.map +1 -1
  36. package/lib/features/{layout → bounds}/hbox-layout.d.ts +1 -1
  37. package/lib/features/{layout → bounds}/hbox-layout.d.ts.map +1 -1
  38. package/lib/features/{layout → bounds}/hbox-layout.js +1 -1
  39. package/lib/features/{layout → bounds}/hbox-layout.js.map +1 -1
  40. package/lib/features/{layout → bounds}/layouter.d.ts +1 -1
  41. package/lib/features/{layout → bounds}/layouter.d.ts.map +1 -1
  42. package/lib/features/{layout → bounds}/layouter.js +1 -1
  43. package/lib/features/{layout → bounds}/layouter.js.map +1 -1
  44. package/lib/features/{layout → bounds}/vbox-layout.d.ts +1 -1
  45. package/lib/features/{layout → bounds}/vbox-layout.d.ts.map +1 -1
  46. package/lib/features/{layout → bounds}/vbox-layout.js +1 -1
  47. package/lib/features/{layout → bounds}/vbox-layout.js.map +1 -1
  48. package/lib/features/command-palette/command-palette-tool.d.ts +1 -1
  49. package/lib/features/command-palette/command-palette-tool.d.ts.map +1 -1
  50. package/lib/features/command-palette/command-palette-tool.js +3 -3
  51. package/lib/features/command-palette/command-palette-tool.js.map +1 -1
  52. package/lib/features/command-palette/di.config.d.ts +0 -15
  53. package/lib/features/command-palette/di.config.d.ts.map +1 -1
  54. package/lib/features/command-palette/di.config.js +6 -7
  55. package/lib/features/command-palette/di.config.js.map +1 -1
  56. package/lib/features/context-menu/di.config.d.ts +0 -15
  57. package/lib/features/context-menu/di.config.d.ts.map +1 -1
  58. package/lib/features/context-menu/di.config.js +4 -3
  59. package/lib/features/context-menu/di.config.js.map +1 -1
  60. package/lib/features/copy-paste/copy-paste-handler.d.ts +2 -2
  61. package/lib/features/copy-paste/copy-paste-handler.d.ts.map +1 -1
  62. package/lib/features/copy-paste/copy-paste-handler.js +5 -5
  63. package/lib/features/copy-paste/copy-paste-handler.js.map +1 -1
  64. package/lib/features/decoration/di.config.d.ts +0 -15
  65. package/lib/features/decoration/di.config.d.ts.map +1 -1
  66. package/lib/features/decoration/di.config.js +4 -4
  67. package/lib/features/decoration/di.config.js.map +1 -1
  68. package/lib/features/edit-label/di.config.d.ts +0 -15
  69. package/lib/features/edit-label/di.config.d.ts.map +1 -1
  70. package/lib/features/edit-label/di.config.js +3 -2
  71. package/lib/features/edit-label/di.config.js.map +1 -1
  72. package/lib/features/export/di.config.d.ts +0 -15
  73. package/lib/features/export/di.config.d.ts.map +1 -1
  74. package/lib/features/export/di.config.js +6 -5
  75. package/lib/features/export/di.config.js.map +1 -1
  76. package/lib/features/export/glsp-svg-exporter.d.ts +1 -1
  77. package/lib/features/export/glsp-svg-exporter.d.ts.map +1 -1
  78. package/lib/features/export/glsp-svg-exporter.js +1 -2
  79. package/lib/features/export/glsp-svg-exporter.js.map +1 -1
  80. package/lib/features/hover/di.config.d.ts +0 -15
  81. package/lib/features/hover/di.config.d.ts.map +1 -1
  82. package/lib/features/hover/di.config.js +7 -7
  83. package/lib/features/hover/di.config.js.map +1 -1
  84. package/lib/features/layout/di.config.d.ts +1 -1
  85. package/lib/features/layout/di.config.d.ts.map +1 -1
  86. package/lib/features/layout/di.config.js +1 -9
  87. package/lib/features/layout/di.config.js.map +1 -1
  88. package/lib/features/navigation/di.config.d.ts +2 -1
  89. package/lib/features/navigation/di.config.d.ts.map +1 -1
  90. package/lib/features/navigation/di.config.js +3 -3
  91. package/lib/features/navigation/di.config.js.map +1 -1
  92. package/lib/features/navigation/navigation-action-handler.d.ts +2 -2
  93. package/lib/features/navigation/navigation-action-handler.js +2 -2
  94. package/lib/features/save/di.config.d.ts +0 -15
  95. package/lib/features/save/di.config.d.ts.map +1 -1
  96. package/lib/features/save/di.config.js +3 -2
  97. package/lib/features/save/di.config.js.map +1 -1
  98. package/lib/features/select/di.config.d.ts +0 -15
  99. package/lib/features/select/di.config.d.ts.map +1 -1
  100. package/lib/features/select/di.config.js +8 -7
  101. package/lib/features/select/di.config.js.map +1 -1
  102. package/lib/features/{change-bounds/snap.spec.d.ts → svg-metadata/di.config.d.ts} +5 -3
  103. package/lib/features/svg-metadata/di.config.d.ts.map +1 -0
  104. package/lib/features/svg-metadata/di.config.js +26 -0
  105. package/lib/features/svg-metadata/di.config.js.map +1 -0
  106. package/lib/features/svg-metadata/metadata-placer.d.ts +24 -0
  107. package/lib/features/svg-metadata/metadata-placer.d.ts.map +1 -0
  108. package/lib/features/svg-metadata/metadata-placer.js +63 -0
  109. package/lib/features/svg-metadata/metadata-placer.js.map +1 -0
  110. package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts +2 -2
  111. package/lib/features/tool-feedback/change-bounds-tool-feedback.d.ts.map +1 -1
  112. package/lib/features/tool-feedback/change-bounds-tool-feedback.js +3 -3
  113. package/lib/features/tool-feedback/change-bounds-tool-feedback.js.map +1 -1
  114. package/lib/features/tool-feedback/creation-tool-feedback.d.ts +7 -7
  115. package/lib/features/tool-feedback/creation-tool-feedback.d.ts.map +1 -1
  116. package/lib/features/tool-feedback/creation-tool-feedback.js +5 -9
  117. package/lib/features/tool-feedback/creation-tool-feedback.js.map +1 -1
  118. package/lib/features/tool-feedback/di.config.d.ts +0 -15
  119. package/lib/features/tool-feedback/di.config.d.ts.map +1 -1
  120. package/lib/features/tool-feedback/di.config.js +20 -18
  121. package/lib/features/tool-feedback/di.config.js.map +1 -1
  122. package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts +2 -3
  123. package/lib/features/tool-feedback/edge-edit-tool-feedback.d.ts.map +1 -1
  124. package/lib/features/tool-feedback/edge-edit-tool-feedback.js +2 -8
  125. package/lib/features/tool-feedback/edge-edit-tool-feedback.js.map +1 -1
  126. package/lib/features/tool-palette/di.config.d.ts +0 -15
  127. package/lib/features/tool-palette/di.config.d.ts.map +1 -1
  128. package/lib/features/tool-palette/di.config.js +4 -4
  129. package/lib/features/tool-palette/di.config.js.map +1 -1
  130. package/lib/features/tool-palette/tool-palette.d.ts +1 -1
  131. package/lib/features/tool-palette/tool-palette.d.ts.map +1 -1
  132. package/lib/features/tool-palette/tool-palette.js +2 -2
  133. package/lib/features/tool-palette/tool-palette.js.map +1 -1
  134. package/lib/features/tools/change-bounds-tool.d.ts +1 -1
  135. package/lib/features/tools/change-bounds-tool.d.ts.map +1 -1
  136. package/lib/features/tools/change-bounds-tool.js +6 -6
  137. package/lib/features/tools/change-bounds-tool.js.map +1 -1
  138. package/lib/features/tools/di.config.d.ts +18 -5
  139. package/lib/features/tools/di.config.d.ts.map +1 -1
  140. package/lib/features/tools/di.config.js +14 -15
  141. package/lib/features/tools/di.config.js.map +1 -1
  142. package/lib/features/tools/glsp-manhattan-edge-router.d.ts +2 -2
  143. package/lib/features/tools/glsp-manhattan-edge-router.d.ts.map +1 -1
  144. package/lib/features/tools/glsp-manhattan-edge-router.js +4 -4
  145. package/lib/features/tools/glsp-manhattan-edge-router.js.map +1 -1
  146. package/lib/features/validation/di.config.js +4 -4
  147. package/lib/features/validation/di.config.js.map +1 -1
  148. package/lib/features/validation/validate.d.ts +6 -6
  149. package/lib/features/validation/validate.d.ts.map +1 -1
  150. package/lib/features/validation/validate.js +18 -17
  151. package/lib/features/validation/validate.js.map +1 -1
  152. package/lib/features/viewport/di.config.d.ts +0 -15
  153. package/lib/features/viewport/di.config.d.ts.map +1 -1
  154. package/lib/features/viewport/di.config.js +12 -11
  155. package/lib/features/viewport/di.config.js.map +1 -1
  156. package/lib/index.d.ts +28 -4
  157. package/lib/index.d.ts.map +1 -1
  158. package/lib/index.js +66 -34
  159. package/lib/index.js.map +1 -1
  160. package/lib/sprotty-reexport.d.ts +2 -2
  161. package/lib/sprotty-reexport.d.ts.map +1 -1
  162. package/lib/sprotty-reexport.js +4 -4
  163. package/lib/sprotty-reexport.js.map +1 -1
  164. package/lib/utils/smodel-util.d.ts +1 -1
  165. package/lib/utils/smodel-util.d.ts.map +1 -1
  166. package/lib/utils/smodel-util.js +1 -1
  167. package/lib/utils/smodel-util.js.map +1 -1
  168. package/lib/views/base-view-module.d.ts +18 -6
  169. package/lib/views/base-view-module.d.ts.map +1 -1
  170. package/lib/views/base-view-module.js +1 -1
  171. package/lib/views/base-view-module.js.map +1 -1
  172. package/lib/views/glsp-edge-view.d.ts +2 -2
  173. package/lib/views/glsp-edge-view.d.ts.map +1 -1
  174. package/lib/views/glsp-edge-view.js +2 -2
  175. package/lib/views/glsp-edge-view.js.map +1 -1
  176. package/lib/views/index.d.ts +1 -1
  177. package/lib/views/index.js +1 -1
  178. package/lib/views/rounded-corner-view.js +2 -2
  179. package/lib/views/rounded-corner.d.ts +1 -1
  180. package/lib/views/rounded-corner.js +1 -1
  181. package/package.json +17 -17
  182. package/src/base/auto-complete/auto-complete-widget.ts +3 -3
  183. package/src/base/command-stack.ts +13 -11
  184. package/src/base/container-modules.ts +21 -32
  185. package/src/base/di.config.ts +8 -8
  186. package/src/base/editor-context-service.ts +4 -4
  187. package/src/base/tool-manager/glsp-tool-manager.ts +15 -12
  188. package/src/features/bounds/di.config.ts +21 -11
  189. package/src/features/{layout/tests → bounds}/freeform-layout.spec.ts +2 -2
  190. package/src/features/{layout → bounds}/freeform-layout.ts +2 -2
  191. package/src/features/bounds/glsp-hidden-bounds-updater.ts +4 -7
  192. package/src/features/{layout/tests → bounds}/hbox-layout.spec.ts +2 -2
  193. package/src/features/{layout → bounds}/hbox-layout.ts +1 -1
  194. package/src/features/{layout/tests/layouter-test-util.ts → bounds/layouter-test-util.spec.ts} +5 -5
  195. package/src/features/{layout → bounds}/layouter.ts +1 -1
  196. package/src/features/{layout/tests → bounds}/vbox-layout.spec.ts +2 -2
  197. package/src/features/{layout → bounds}/vbox-layout.ts +1 -1
  198. package/src/features/command-palette/command-palette-tool.ts +3 -3
  199. package/src/features/command-palette/di.config.ts +6 -7
  200. package/src/features/context-menu/di.config.ts +4 -3
  201. package/src/features/copy-paste/copy-paste-handler.ts +5 -5
  202. package/src/features/decoration/di.config.ts +4 -4
  203. package/src/features/edit-label/di.config.ts +3 -2
  204. package/src/features/export/di.config.ts +6 -5
  205. package/src/features/export/glsp-svg-exporter.ts +8 -7
  206. package/src/features/hover/di.config.ts +8 -7
  207. package/src/features/layout/di.config.ts +2 -11
  208. package/src/features/navigation/di.config.ts +4 -2
  209. package/src/features/navigation/navigation-action-handler.ts +2 -2
  210. package/src/features/save/di.config.ts +3 -2
  211. package/src/features/select/di.config.ts +8 -7
  212. package/src/features/select/selection-service.spec.ts +4 -5
  213. package/{lib/features/tools/marquee-behavior.spec.d.ts → src/features/svg-metadata/di.config.ts} +12 -3
  214. package/src/features/svg-metadata/metadata-placer.ts +51 -0
  215. package/src/features/tool-feedback/change-bounds-tool-feedback.ts +3 -3
  216. package/src/features/tool-feedback/creation-tool-feedback.ts +21 -15
  217. package/src/features/tool-feedback/di.config.ts +20 -18
  218. package/src/features/tool-feedback/edge-edit-tool-feedback.ts +2 -10
  219. package/src/features/tool-palette/di.config.ts +4 -4
  220. package/src/features/tool-palette/tool-palette.ts +4 -4
  221. package/src/features/tools/change-bounds-tool.ts +7 -7
  222. package/src/features/tools/di.config.ts +18 -19
  223. package/src/features/tools/glsp-manhattan-edge-router.ts +8 -5
  224. package/src/features/validation/di.config.ts +5 -5
  225. package/src/features/validation/validate.ts +16 -19
  226. package/src/features/viewport/di.config.ts +13 -11
  227. package/src/index.ts +37 -5
  228. package/src/sprotty-reexport.ts +18 -8
  229. package/src/utils/smodel-util.ts +12 -5
  230. package/src/views/base-view-module.ts +4 -9
  231. package/src/views/glsp-edge-view.tsx +3 -3
  232. package/src/views/index.ts +1 -2
  233. package/src/views/rounded-corner-view.tsx +2 -2
  234. package/src/views/rounded-corner.ts +2 -2
  235. package/lib/features/change-bounds/snap.spec.d.ts.map +0 -1
  236. package/lib/features/change-bounds/snap.spec.js +0 -82
  237. package/lib/features/change-bounds/snap.spec.js.map +0 -1
  238. package/lib/features/layout/layout-elements-action.spec.d.ts +0 -3
  239. package/lib/features/layout/layout-elements-action.spec.d.ts.map +0 -1
  240. package/lib/features/layout/layout-elements-action.spec.js +0 -325
  241. package/lib/features/layout/layout-elements-action.spec.js.map +0 -1
  242. package/lib/features/layout/tests/freeform-layout.spec.d.ts +0 -3
  243. package/lib/features/layout/tests/freeform-layout.spec.d.ts.map +0 -1
  244. package/lib/features/layout/tests/freeform-layout.spec.js +0 -201
  245. package/lib/features/layout/tests/freeform-layout.spec.js.map +0 -1
  246. package/lib/features/layout/tests/hbox-layout.spec.d.ts +0 -3
  247. package/lib/features/layout/tests/hbox-layout.spec.d.ts.map +0 -1
  248. package/lib/features/layout/tests/hbox-layout.spec.js +0 -161
  249. package/lib/features/layout/tests/hbox-layout.spec.js.map +0 -1
  250. package/lib/features/layout/tests/layouter-test-util.d.ts +0 -34
  251. package/lib/features/layout/tests/layouter-test-util.d.ts.map +0 -1
  252. package/lib/features/layout/tests/layouter-test-util.js +0 -96
  253. package/lib/features/layout/tests/layouter-test-util.js.map +0 -1
  254. package/lib/features/layout/tests/vbox-layout.spec.d.ts +0 -3
  255. package/lib/features/layout/tests/vbox-layout.spec.d.ts.map +0 -1
  256. package/lib/features/layout/tests/vbox-layout.spec.js +0 -161
  257. package/lib/features/layout/tests/vbox-layout.spec.js.map +0 -1
  258. package/lib/features/navigation/navigation-target-resolver.spec.d.ts +0 -3
  259. package/lib/features/navigation/navigation-target-resolver.spec.d.ts.map +0 -1
  260. package/lib/features/navigation/navigation-target-resolver.spec.js +0 -54
  261. package/lib/features/navigation/navigation-target-resolver.spec.js.map +0 -1
  262. package/lib/features/select/selection-service.spec.d.ts +0 -2
  263. package/lib/features/select/selection-service.spec.d.ts.map +0 -1
  264. package/lib/features/select/selection-service.spec.js +0 -347
  265. package/lib/features/select/selection-service.spec.js.map +0 -1
  266. package/lib/features/tools/marquee-behavior.spec.d.ts.map +0 -1
  267. package/lib/features/tools/marquee-behavior.spec.js +0 -165
  268. package/lib/features/tools/marquee-behavior.spec.js.map +0 -1
  269. package/lib/features/validation/marker-navigator.spec.d.ts +0 -3
  270. package/lib/features/validation/marker-navigator.spec.d.ts.map +0 -1
  271. package/lib/features/validation/marker-navigator.spec.js +0 -169
  272. package/lib/features/validation/marker-navigator.spec.js.map +0 -1
@@ -1,325 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- /********************************************************************************
4
- * Copyright (c) 2019-2022 EclipseSource and others.
5
- *
6
- * This program and the accompanying materials are made available under the
7
- * terms of the Eclipse Public License v. 2.0 which is available at
8
- * http://www.eclipse.org/legal/epl-2.0.
9
- *
10
- * This Source Code may also be made available under the following Secondary
11
- * Licenses when the conditions for such availability set forth in the Eclipse
12
- * Public License v. 2.0 are satisfied: GNU General Public License, version 2
13
- * with the GNU Classpath Exception which is available at
14
- * https://www.gnu.org/software/classpath/license.html.
15
- *
16
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
17
- ********************************************************************************/
18
- /* eslint-disable deprecation/deprecation */
19
- const protocol_1 = require("@eclipse-glsp/protocol");
20
- const chai_1 = require("chai");
21
- const inversify_1 = require("inversify");
22
- require("mocha");
23
- require("reflect-metadata");
24
- const sprotty_1 = require("sprotty");
25
- const types_1 = require("../../base/types");
26
- const model_1 = require("../change-bounds/model");
27
- const selection_service_1 = require("../select/selection-service");
28
- const feedback_action_dispatcher_1 = require("../tool-feedback/feedback-action-dispatcher");
29
- const layout_elements_action_1 = require("./layout-elements-action");
30
- class MockActionDispatcher {
31
- constructor(dispatchedActions = []) {
32
- this.dispatchedActions = dispatchedActions;
33
- }
34
- dispatch(action) {
35
- this.dispatchedActions.push(action);
36
- return Promise.resolve();
37
- }
38
- dispatchAll(actions) {
39
- actions.forEach(action => this.dispatchedActions.push(action));
40
- return Promise.resolve();
41
- }
42
- request(action) {
43
- throw new Error('Method not implemented.');
44
- }
45
- }
46
- class MockSelectionService extends selection_service_1.SelectionService {
47
- constructor(modelRoot) {
48
- super();
49
- this.modelRoot = modelRoot;
50
- }
51
- getModelRoot() {
52
- return this.modelRoot;
53
- }
54
- }
55
- // Generic Test setup
56
- const container = new inversify_1.Container();
57
- container.load(sprotty_1.defaultModule);
58
- container.bind(types_1.TYPES.IFeedbackActionDispatcher).to(feedback_action_dispatcher_1.FeedbackActionDispatcher).inSingletonScope();
59
- container.rebind(types_1.TYPES.IModelFactory).to(sprotty_1.SGraphFactory).inSingletonScope();
60
- const graphFactory = container.get(types_1.TYPES.IModelFactory);
61
- const actionDispatcher = new MockActionDispatcher();
62
- const node1 = {
63
- id: 'node1',
64
- type: 'node:circle',
65
- selected: true
66
- };
67
- const node2 = {
68
- id: 'node2',
69
- type: 'node:circle',
70
- selected: true
71
- };
72
- const node3 = {
73
- id: 'node3',
74
- type: 'node:circle',
75
- selected: true
76
- };
77
- const model = createModel();
78
- function createModel() {
79
- const root = graphFactory.createRoot({
80
- id: 'model1',
81
- type: 'graph',
82
- children: [node1, node2, node3]
83
- });
84
- root.children.forEach(child => applyFeature(child, model_1.resizeFeature));
85
- return root;
86
- }
87
- function applyFeature(element, feature) {
88
- element.features.add(feature);
89
- }
90
- const context = {
91
- root: model,
92
- modelFactory: graphFactory,
93
- duration: 0,
94
- modelChanged: undefined,
95
- logger: new sprotty_1.ConsoleLogger(),
96
- syncer: new sprotty_1.AnimationFrameSyncer()
97
- };
98
- const defaultSize = { height: 10, width: 10 };
99
- describe('AlignElementsCommand', () => {
100
- let handler;
101
- const setModel = (newModel) => {
102
- handler['selectionService'] = new MockSelectionService(newModel);
103
- };
104
- beforeEach(() => {
105
- actionDispatcher.dispatchedActions = [];
106
- handler = new layout_elements_action_1.AlignElementsActionHandler();
107
- handler['actionDispatcher'] = actionDispatcher;
108
- });
109
- it('should align all elements left', () => {
110
- const newModel = initModel([
111
- { elementId: 'node1', newPosition: { x: 111, y: 111 }, newSize: defaultSize },
112
- { elementId: 'node2', newPosition: { x: 222, y: 222 }, newSize: defaultSize },
113
- { elementId: 'node3', newPosition: { x: 333, y: 333 }, newSize: defaultSize }
114
- ]);
115
- const action = layout_elements_action_1.AlignElementsAction.create({ elementIds: ['node1', 'node2', 'node3'], alignment: layout_elements_action_1.Alignment.Left });
116
- setModel(newModel);
117
- handler.handle(action);
118
- assertAllBounds(new Map([
119
- ['node1', { x: 111, y: 111, width: defaultSize.width, height: defaultSize.height }],
120
- ['node2', { x: 111, y: 222, width: defaultSize.width, height: defaultSize.height }],
121
- ['node3', { x: 111, y: 333, width: defaultSize.width, height: defaultSize.height }]
122
- ]));
123
- });
124
- it('should align all elements right', () => {
125
- const newModel = initModel([
126
- { elementId: 'node1', newPosition: { x: 111, y: 111 }, newSize: defaultSize },
127
- { elementId: 'node2', newPosition: { x: 222, y: 222 }, newSize: defaultSize },
128
- { elementId: 'node3', newPosition: { x: 333, y: 333 }, newSize: defaultSize }
129
- ]);
130
- const action = layout_elements_action_1.AlignElementsAction.create({ elementIds: ['node1', 'node2', 'node3'], alignment: layout_elements_action_1.Alignment.Right });
131
- setModel(newModel);
132
- handler.handle(action);
133
- assertAllBounds(new Map([
134
- ['node1', { x: 333, y: 111, width: defaultSize.width, height: defaultSize.height }],
135
- ['node2', { x: 333, y: 222, width: defaultSize.width, height: defaultSize.height }],
136
- ['node3', { x: 333, y: 333, width: defaultSize.width, height: defaultSize.height }]
137
- ]));
138
- });
139
- it('should align all elements center', () => {
140
- actionDispatcher.dispatchedActions = [];
141
- const newModel = initModel([
142
- { elementId: 'node1', newPosition: { x: 111, y: 111 }, newSize: defaultSize },
143
- { elementId: 'node2', newPosition: { x: 222, y: 222 }, newSize: defaultSize },
144
- { elementId: 'node3', newPosition: { x: 333, y: 333 }, newSize: defaultSize }
145
- ]);
146
- const action = layout_elements_action_1.AlignElementsAction.create({ elementIds: ['node1', 'node2', 'node3'], alignment: layout_elements_action_1.Alignment.Center });
147
- setModel(newModel);
148
- handler.handle(action);
149
- assertAllBounds(new Map([
150
- ['node1', { x: 222, y: 111, width: defaultSize.width, height: defaultSize.height }],
151
- ['node2', { x: 222, y: 222, width: defaultSize.width, height: defaultSize.height }],
152
- ['node3', { x: 222, y: 333, width: defaultSize.width, height: defaultSize.height }]
153
- ]));
154
- });
155
- it('should align all elements top', () => {
156
- const newModel = initModel([
157
- { elementId: 'node1', newPosition: { x: 111, y: 111 }, newSize: defaultSize },
158
- { elementId: 'node2', newPosition: { x: 222, y: 222 }, newSize: defaultSize },
159
- { elementId: 'node3', newPosition: { x: 333, y: 333 }, newSize: defaultSize }
160
- ]);
161
- const action = layout_elements_action_1.AlignElementsAction.create({ elementIds: ['node1', 'node2', 'node3'], alignment: layout_elements_action_1.Alignment.Top });
162
- setModel(newModel);
163
- handler.handle(action);
164
- assertAllBounds(new Map([
165
- ['node1', { x: 111, y: 111, width: defaultSize.width, height: defaultSize.height }],
166
- ['node2', { x: 222, y: 111, width: defaultSize.width, height: defaultSize.height }],
167
- ['node3', { x: 333, y: 111, width: defaultSize.width, height: defaultSize.height }]
168
- ]));
169
- });
170
- it('should align all elements bottom', () => {
171
- const newModel = initModel([
172
- { elementId: 'node1', newPosition: { x: 111, y: 111 }, newSize: defaultSize },
173
- { elementId: 'node2', newPosition: { x: 222, y: 222 }, newSize: defaultSize },
174
- { elementId: 'node3', newPosition: { x: 333, y: 333 }, newSize: defaultSize }
175
- ]);
176
- const action = layout_elements_action_1.AlignElementsAction.create({ elementIds: ['node1', 'node2', 'node3'], alignment: layout_elements_action_1.Alignment.Bottom });
177
- setModel(newModel);
178
- handler.handle(action);
179
- assertAllBounds(new Map([
180
- ['node1', { x: 111, y: 333, width: defaultSize.width, height: defaultSize.height }],
181
- ['node2', { x: 222, y: 333, width: defaultSize.width, height: defaultSize.height }],
182
- ['node3', { x: 333, y: 333, width: defaultSize.width, height: defaultSize.height }]
183
- ]));
184
- });
185
- it('should align all elements middle', () => {
186
- const newModel = initModel([
187
- { elementId: 'node1', newPosition: { x: 111, y: 111 }, newSize: defaultSize },
188
- { elementId: 'node2', newPosition: { x: 222, y: 222 }, newSize: defaultSize },
189
- { elementId: 'node3', newPosition: { x: 333, y: 333 }, newSize: defaultSize }
190
- ]);
191
- const action = layout_elements_action_1.AlignElementsAction.create({ elementIds: ['node1', 'node2', 'node3'], alignment: layout_elements_action_1.Alignment.Middle });
192
- setModel(newModel);
193
- handler.handle(action);
194
- assertAllBounds(new Map([
195
- ['node1', { x: 111, y: 222, width: defaultSize.width, height: defaultSize.height }],
196
- ['node2', { x: 222, y: 222, width: defaultSize.width, height: defaultSize.height }],
197
- ['node3', { x: 333, y: 222, width: defaultSize.width, height: defaultSize.height }]
198
- ]));
199
- });
200
- });
201
- describe('ResizeElementsCommand', () => {
202
- let handler;
203
- const setModel = (newModel) => {
204
- handler['selectionService'] = new MockSelectionService(newModel);
205
- };
206
- beforeEach(() => {
207
- actionDispatcher.dispatchedActions = [];
208
- handler = new layout_elements_action_1.ResizeElementsActionHandler();
209
- handler['actionDispatcher'] = actionDispatcher;
210
- });
211
- it('should make same width as last', () => {
212
- const newModel = initModel([
213
- { elementId: 'node1', newPosition: { x: 100, y: 100 }, newSize: { height: 10, width: 10 } },
214
- { elementId: 'node2', newPosition: { x: 100, y: 200 }, newSize: { height: 20, width: 20 } },
215
- { elementId: 'node3', newPosition: { x: 100, y: 300 }, newSize: { height: 30, width: 30 } }
216
- ]);
217
- const action = layout_elements_action_1.ResizeElementsAction.create({
218
- elementIds: ['node1', 'node2', 'node3'],
219
- dimension: layout_elements_action_1.ResizeDimension.Width,
220
- reduceFunction: 'last'
221
- });
222
- setModel(newModel);
223
- handler.handle(action);
224
- // resize is keeping the center, so the X moves by diff / 2
225
- assertAllBoundsInChangeBounds(new Map([
226
- ['node1', { x: 90, y: 100, height: 10, width: 30 }],
227
- ['node2', { x: 95, y: 200, height: 20, width: 30 }],
228
- ['node3', { x: 100, y: 300, height: 30, width: 30 }]
229
- ]));
230
- });
231
- it('should make same height as last', () => {
232
- const newModel = initModel([
233
- { elementId: 'node1', newPosition: { x: 100, y: 100 }, newSize: { height: 10, width: 10 } },
234
- { elementId: 'node2', newPosition: { x: 100, y: 200 }, newSize: { height: 20, width: 20 } },
235
- { elementId: 'node3', newPosition: { x: 100, y: 300 }, newSize: { height: 30, width: 30 } }
236
- ]);
237
- const action = layout_elements_action_1.ResizeElementsAction.create({
238
- elementIds: ['node1', 'node2', 'node3'],
239
- dimension: layout_elements_action_1.ResizeDimension.Height,
240
- reduceFunction: 'last'
241
- });
242
- setModel(newModel);
243
- handler.handle(action);
244
- // resize is keeping the center, so the Y moves by diff / 2
245
- assertAllBoundsInChangeBounds(new Map([
246
- ['node1', { x: 100, y: 90, height: 30, width: 10 }],
247
- ['node2', { x: 100, y: 195, height: 30, width: 20 }],
248
- ['node3', { x: 100, y: 300, height: 30, width: 30 }]
249
- ]));
250
- });
251
- it('should make same width and height as last', () => {
252
- const newModel = initModel([
253
- { elementId: 'node1', newPosition: { x: 100, y: 100 }, newSize: { height: 10, width: 10 } },
254
- { elementId: 'node2', newPosition: { x: 100, y: 200 }, newSize: { height: 20, width: 20 } },
255
- { elementId: 'node3', newPosition: { x: 100, y: 300 }, newSize: { height: 30, width: 30 } }
256
- ]);
257
- const action = layout_elements_action_1.ResizeElementsAction.create({
258
- elementIds: ['node1', 'node2', 'node3'],
259
- dimension: layout_elements_action_1.ResizeDimension.Width_And_Height,
260
- reduceFunction: 'last'
261
- });
262
- setModel(newModel);
263
- handler.handle(action);
264
- // resize is keeping the center, so the Y moves by diff / 2
265
- assertAllBoundsInChangeBounds(new Map([
266
- ['node1', { x: 90, y: 90, height: 30, width: 30 }],
267
- ['node2', { x: 95, y: 195, height: 30, width: 30 }],
268
- ['node3', { x: 100, y: 300, height: 30, width: 30 }]
269
- ]));
270
- });
271
- });
272
- function initModel(elementAndBounds) {
273
- const mySetBoundsAction = protocol_1.SetBoundsAction.create(elementAndBounds);
274
- const setBoundsCommand = new sprotty_1.SetBoundsCommand(mySetBoundsAction);
275
- return setBoundsCommand.execute(context);
276
- }
277
- function assertAllBounds(allBounds) {
278
- allBounds.forEach((bounds, nodeId) => assertBounds(nodeId, bounds));
279
- }
280
- function assertAllBoundsInChangeBounds(allBounds) {
281
- allBounds.forEach((bounds, nodeId) => assertBoundsInChangeBoundsActions(nodeId, bounds));
282
- }
283
- function assertBounds(nodeId, bounds) {
284
- assertBoundsInMoves(nodeId, bounds);
285
- assertBoundsInChangeBoundsActions(nodeId, bounds);
286
- }
287
- function assertBoundsInMoves(nodeId, bounds) {
288
- const moves = dispatchedElementMoves();
289
- const move = getMoveById(nodeId, moves);
290
- (0, chai_1.expect)(move.toPosition.x).to.be.equal(bounds.x);
291
- (0, chai_1.expect)(move.toPosition.y).to.be.equal(bounds.y);
292
- }
293
- function assertBoundsInChangeBoundsActions(nodeId, bounds) {
294
- const allChangeBounds = dispatchedChangeBounds();
295
- const changeBounds = getElementAndBoundsById(nodeId, allChangeBounds);
296
- (0, chai_1.expect)(changeBounds.newPosition.x).to.be.equal(bounds.x);
297
- (0, chai_1.expect)(changeBounds.newPosition.y).to.be.equal(bounds.y);
298
- (0, chai_1.expect)(changeBounds.newSize.height).to.be.equal(bounds.height);
299
- (0, chai_1.expect)(changeBounds.newSize.width).to.be.equal(bounds.width);
300
- }
301
- function getMoveById(id, moves) {
302
- return moves.filter(m => m.elementId === id)[0];
303
- }
304
- function getElementAndBoundsById(id, elementAndBounds) {
305
- return elementAndBounds.filter(m => m.elementId === id)[0];
306
- }
307
- function dispatchedElementMoves() {
308
- return actionDispatcher.dispatchedActions
309
- .filter(isMoveAction)
310
- .map(a => a.moves)
311
- .reduce((acc, val) => acc.concat(val), []);
312
- }
313
- function dispatchedChangeBounds() {
314
- return actionDispatcher.dispatchedActions
315
- .filter(isChangeBounds)
316
- .map(a => a.newBounds)
317
- .reduce((acc, val) => acc.concat(val), []);
318
- }
319
- function isMoveAction(action) {
320
- return action.kind === sprotty_1.MoveCommand.KIND;
321
- }
322
- function isChangeBounds(action) {
323
- return action.kind === protocol_1.ChangeBoundsOperation.KIND;
324
- }
325
- //# sourceMappingURL=layout-elements-action.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"layout-elements-action.spec.js","sourceRoot":"","sources":["../../../src/features/layout/layout-elements-action.spec.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import 'mocha';
2
- import 'reflect-metadata';
3
- //# sourceMappingURL=freeform-layout.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"freeform-layout.spec.d.ts","sourceRoot":"","sources":["../../../../src/features/layout/tests/freeform-layout.spec.ts"],"names":[],"mappings":"AAgBA,OAAO,OAAO,CAAC;AACf,OAAO,kBAAkB,CAAC"}
@@ -1,201 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- /********************************************************************************
4
- * Copyright (c) 2022 STMicroelectronics and others.
5
- *
6
- * This program and the accompanying materials are made available under the
7
- * terms of the Eclipse Public License v. 2.0 which is available at
8
- * http://www.eclipse.org/legal/epl-2.0.
9
- *
10
- * This Source Code may also be made available under the following Secondary
11
- * Licenses when the conditions for such availability set forth in the Eclipse
12
- * Public License v. 2.0 are satisfied: GNU General Public License, version 2
13
- * with the GNU Classpath Exception which is available at
14
- * https://www.gnu.org/software/classpath/license.html.
15
- *
16
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
17
- ********************************************************************************/
18
- const chai_1 = require("chai");
19
- require("mocha");
20
- require("reflect-metadata");
21
- const sprotty_1 = require("sprotty");
22
- const layouter_test_util_1 = require("./layouter-test-util");
23
- describe('FreeFormLayouter', () => {
24
- const layoutRegistry = (0, layouter_test_util_1.setupLayoutRegistry)();
25
- const log = new sprotty_1.ConsoleLogger();
26
- const map = new Map();
27
- describe('issue-610', () => {
28
- it('recursive hGrab/vGrab', () => {
29
- /**
30
- * _________________________
31
- * | Category 1 |
32
- * | _______________________ |
33
- * || ||
34
- * || ||
35
- * || ||
36
- * || ||
37
- * ||_______________________||
38
- * | _______________________ |
39
- * ||_left____________right_||
40
- * |_________________________|
41
- *
42
- * This test case checks recursive hGrab/vGrab functionality of nested compartments
43
- * See also issue 610 for details and an example model https://github.com/eclipse-glsp/glsp/issues/610.
44
- */
45
- const model = (0, layouter_test_util_1.gModel)();
46
- const category = (0, layouter_test_util_1.sNode)('category', 'vbox', { width: 410.0, height: 215.0 }, undefined, {
47
- vGrab: false,
48
- hGrab: false,
49
- hAlign: 'center',
50
- prefWidth: 410.0,
51
- prefHeight: 215.0
52
- });
53
- const headerComp = (0, layouter_test_util_1.sComp)('comp:header', 'hbox');
54
- headerComp.children = [(0, layouter_test_util_1.sLabel)('Category 1')];
55
- const childContainer = (0, layouter_test_util_1.sComp)('struct', 'freeform', { hGrab: true, vGrab: true });
56
- const labelContainer = (0, layouter_test_util_1.sComp)('struct', 'hbox', { hGrab: true });
57
- labelContainer.children = [(0, layouter_test_util_1.sLabel)('left text', { hGrab: true }), (0, layouter_test_util_1.sLabel)('right text')];
58
- category.children = [headerComp, childContainer, labelContainer];
59
- model.add(category);
60
- (0, layouter_test_util_1.layout)(layoutRegistry, log, map, model);
61
- // check category
62
- (0, chai_1.expect)(map.get(category).bounds).to.deep.equal({ x: 0, y: 0, width: 410.0, height: 215.0 });
63
- // check header compartment
64
- (0, chai_1.expect)(map.get(category.children[0]).bounds).to.deep.equal({ x: 0, y: 0, width: -1, height: -1 });
65
- // check child freeform compartment
66
- (0, chai_1.expect)(map.get(category.children[1]).bounds).to.deep.equal({ x: 5, y: 5, width: 400.0, height: 205.0 });
67
- // check label compartment
68
- (0, chai_1.expect)(map.get(category.children[2]).bounds).to.deep.equal({ x: 0, y: 0, width: -1, height: -1 });
69
- });
70
- });
71
- describe('issue-694', () => {
72
- it('Structure compartment (hGrab=true, vGrab=true), Left-aligned label (hGrab=true), right-aligned label (hGrab=false)', () => {
73
- /**
74
- * _________________________
75
- * | Category 2 |
76
- * | _______________________ |
77
- * || ||
78
- * || ||
79
- * || Task node ||
80
- * || ||
81
- * ||_______________________||
82
- * | _______________________ |
83
- * ||_left____________right_||
84
- * |_________________________|
85
- */
86
- const model = (0, layouter_test_util_1.gModel)();
87
- const category = (0, layouter_test_util_1.sNode)('category', 'vbox', { width: 500.0, height: 375.0 }, undefined, {
88
- vGrab: false,
89
- hGrab: false,
90
- hAlign: 'center',
91
- prefWidth: 500.0,
92
- prefHeight: 375.0
93
- });
94
- const headerComp = (0, layouter_test_util_1.sComp)('comp:header', 'hbox');
95
- headerComp.children = [(0, layouter_test_util_1.sLabel)('Category 2')];
96
- const childContainer = (0, layouter_test_util_1.sComp)('struct', 'freeform', { hGrab: true, vGrab: true });
97
- const childNode = (0, layouter_test_util_1.sNode)('task', 'hbox', undefined, { x: 170, y: 190 });
98
- childNode.children = [(0, layouter_test_util_1.sLabel)('Task node', undefined, { x: 5.0, y: 5.0 }, { width: 25.0, height: 20.0 })];
99
- childContainer.children = [childNode];
100
- const labelContainer = (0, layouter_test_util_1.sComp)('struct', 'hbox', { hGrab: true });
101
- labelContainer.children = [(0, layouter_test_util_1.sLabel)('left text', { hGrab: true }), (0, layouter_test_util_1.sLabel)('right text')];
102
- category.children = [headerComp, childContainer, labelContainer];
103
- model.add(category);
104
- // layout graph
105
- (0, layouter_test_util_1.layout)(layoutRegistry, log, map, model);
106
- // check category
107
- (0, chai_1.expect)(map.get(category).bounds).to.deep.equal({ x: 0, y: 0, width: 500.0, height: 375.0 });
108
- // check header compartment
109
- (0, chai_1.expect)(map.get(category.children[0]).bounds).to.deep.equal({ x: 0, y: 0, width: -1, height: -1 });
110
- // check child freeform compartment
111
- (0, chai_1.expect)(map.get(category.children[1]).bounds).to.deep.equal({ x: 5.0, y: 5.0, width: 490.0, height: 365.0 });
112
- // check child task node
113
- (0, chai_1.expect)(map.get(category.children[1].children[0]).bounds).to.deep.equal({ x: 170.0, y: 190.0, width: 35.0, height: 30.0 });
114
- // check label compartment
115
- (0, chai_1.expect)(map.get(category.children[2]).bounds).to.deep.equal({ x: 0, y: 0, width: -1, height: -1 });
116
- });
117
- it('Structure compartment (hGrab=true, vGrab=true)', () => {
118
- /**
119
- * _________________________
120
- * | Category 2 |
121
- * | _______________________ |
122
- * || ||
123
- * || Task node ||
124
- * || ||
125
- * || ||
126
- * ||_______________________||
127
- * |_________________________|
128
- */
129
- const model = (0, layouter_test_util_1.gModel)();
130
- const category = (0, layouter_test_util_1.sNode)('category', 'vbox', { width: 500.0, height: 375.0 }, undefined, {
131
- vGrab: false,
132
- hGrab: false,
133
- hAlign: 'center',
134
- prefWidth: 500.0,
135
- prefHeight: 375.0
136
- });
137
- const headerComp = (0, layouter_test_util_1.sComp)('comp:header', 'hbox');
138
- headerComp.children = [(0, layouter_test_util_1.sLabel)('Category 2')];
139
- const childContainer = (0, layouter_test_util_1.sComp)('struct', 'freeform', { hGrab: true, vGrab: true });
140
- const childNode = (0, layouter_test_util_1.sNode)('task', 'hbox', undefined, { x: 55, y: 15 });
141
- childNode.children = [(0, layouter_test_util_1.sLabel)('Task node', undefined, undefined, { width: 50.0, height: 35.0 })];
142
- childContainer.children = [childNode];
143
- category.children = [headerComp, childContainer];
144
- model.add(category);
145
- // layout graph
146
- (0, layouter_test_util_1.layout)(layoutRegistry, log, map, model);
147
- // check category
148
- (0, chai_1.expect)(map.get(category).bounds).to.deep.equal({ x: 0, y: 0, width: 500.0, height: 375.0 });
149
- // check header compartment
150
- (0, chai_1.expect)(map.get(category.children[0]).bounds).to.deep.equal({ x: 0, y: 0, width: -1, height: -1 });
151
- // check child freeform compartment
152
- (0, chai_1.expect)(map.get(category.children[1]).bounds).to.deep.equal({ x: 5.0, y: 5.0, width: 490.0, height: 365.0 });
153
- // check child task node
154
- (0, chai_1.expect)(map.get(category.children[1].children[0]).bounds).to.deep.equal({ x: 55.0, y: 15.0, width: 60.0, height: 45.0 });
155
- });
156
- it('Structure compartment (hGrab=true, vGrab=true, padding*=10)', () => {
157
- /**
158
- * _________________________
159
- * | Category 2 |
160
- * | _______________________ |
161
- * || ||
162
- * || Task node ||
163
- * || ||
164
- * || ||
165
- * ||_______________________||
166
- * |_________________________|
167
- */
168
- const model = (0, layouter_test_util_1.gModel)();
169
- const category = (0, layouter_test_util_1.sNode)('category', 'vbox', { width: 500.0, height: 375.0 }, undefined, {
170
- vGrab: false,
171
- hGrab: false,
172
- hAlign: 'center',
173
- prefWidth: 500.0,
174
- prefHeight: 375.0,
175
- paddingLeft: 10,
176
- paddingRight: 10,
177
- paddingTop: 10,
178
- paddingBottom: 10
179
- });
180
- const headerComp = (0, layouter_test_util_1.sComp)('comp:header', 'hbox');
181
- headerComp.children = [(0, layouter_test_util_1.sLabel)('Category 2')];
182
- const childContainer = (0, layouter_test_util_1.sComp)('struct', 'freeform', { hGrab: true, vGrab: true });
183
- const childNode = (0, layouter_test_util_1.sNode)('task', 'hbox', undefined, { x: 55, y: 15 }, { paddingLeft: 10, paddingRight: 10, paddingTop: 10, paddingBottom: 10 });
184
- childNode.children = [(0, layouter_test_util_1.sLabel)('Task node', undefined, undefined, { width: 50.0, height: 35.0 })];
185
- childContainer.children = [childNode];
186
- category.children = [headerComp, childContainer];
187
- model.add(category);
188
- // layout graph
189
- (0, layouter_test_util_1.layout)(layoutRegistry, log, map, model);
190
- // check category
191
- (0, chai_1.expect)(map.get(category).bounds).to.deep.equal({ x: 0, y: 0, width: 500.0, height: 375.0 });
192
- // check header compartment
193
- (0, chai_1.expect)(map.get(category.children[0]).bounds).to.deep.equal({ x: 0, y: 0, width: -1, height: -1 });
194
- // check child freeform compartment
195
- (0, chai_1.expect)(map.get(category.children[1]).bounds).to.deep.equal({ x: 10.0, y: 10.0, width: 480.0, height: 355.0 });
196
- // check child task node
197
- (0, chai_1.expect)(map.get(category.children[1].children[0]).bounds).to.deep.equal({ x: 55.0, y: 15.0, width: 70.0, height: 55.0 });
198
- });
199
- });
200
- });
201
- //# sourceMappingURL=freeform-layout.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"freeform-layout.spec.js","sourceRoot":"","sources":["../../../../src/features/layout/tests/freeform-layout.spec.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import 'mocha';
2
- import 'reflect-metadata';
3
- //# sourceMappingURL=hbox-layout.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hbox-layout.spec.d.ts","sourceRoot":"","sources":["../../../../src/features/layout/tests/hbox-layout.spec.ts"],"names":[],"mappings":"AAkBA,OAAO,OAAO,CAAC;AACf,OAAO,kBAAkB,CAAC"}