@eclipse-glsp/client 2.2.0-next.336 → 2.2.0-next.337

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 (169) hide show
  1. package/css/ghost-element.css +7 -0
  2. package/lib/base/default.module.d.ts.map +1 -1
  3. package/lib/base/default.module.js +1 -2
  4. package/lib/base/default.module.js.map +1 -1
  5. package/lib/base/drag-aware-mouse-listener.d.ts +4 -1
  6. package/lib/base/drag-aware-mouse-listener.d.ts.map +1 -1
  7. package/lib/base/drag-aware-mouse-listener.js +12 -2
  8. package/lib/base/drag-aware-mouse-listener.js.map +1 -1
  9. package/lib/base/feedback/feedback-action-dispatcher-default.d.ts +34 -0
  10. package/lib/base/feedback/feedback-action-dispatcher-default.d.ts.map +1 -0
  11. package/lib/base/feedback/feedback-action-dispatcher-default.js +120 -0
  12. package/lib/base/feedback/feedback-action-dispatcher-default.js.map +1 -0
  13. package/lib/base/feedback/feedback-action-dispatcher.d.ts +2 -17
  14. package/lib/base/feedback/feedback-action-dispatcher.d.ts.map +1 -1
  15. package/lib/base/feedback/feedback-action-dispatcher.js +1 -100
  16. package/lib/base/feedback/feedback-action-dispatcher.js.map +1 -1
  17. package/lib/base/feedback/{feeback-emitter.d.ts → feedback-emitter.d.ts} +8 -1
  18. package/lib/base/feedback/feedback-emitter.d.ts.map +1 -0
  19. package/lib/base/feedback/{feeback-emitter.js → feedback-emitter.js} +21 -6
  20. package/lib/base/feedback/feedback-emitter.js.map +1 -0
  21. package/lib/base/feedback/index.d.ts +2 -1
  22. package/lib/base/feedback/index.d.ts.map +1 -1
  23. package/lib/base/feedback/index.js +2 -1
  24. package/lib/base/feedback/index.js.map +1 -1
  25. package/lib/features/accessibility/view-key-tools/movement-key-tool.d.ts.map +1 -1
  26. package/lib/features/accessibility/view-key-tools/movement-key-tool.js +1 -1
  27. package/lib/features/accessibility/view-key-tools/movement-key-tool.js.map +1 -1
  28. package/lib/features/change-bounds/model.d.ts +5 -1
  29. package/lib/features/change-bounds/model.d.ts.map +1 -1
  30. package/lib/features/change-bounds/model.js +36 -10
  31. package/lib/features/change-bounds/model.js.map +1 -1
  32. package/lib/features/change-bounds/movement-restrictor.d.ts +1 -0
  33. package/lib/features/change-bounds/movement-restrictor.d.ts.map +1 -1
  34. package/lib/features/change-bounds/movement-restrictor.js +8 -9
  35. package/lib/features/change-bounds/movement-restrictor.js.map +1 -1
  36. package/lib/features/debug/debug-bounds-decorator.d.ts.map +1 -1
  37. package/lib/features/debug/debug-bounds-decorator.js +6 -6
  38. package/lib/features/debug/debug-bounds-decorator.js.map +1 -1
  39. package/lib/features/debug/debug-module.js +1 -1
  40. package/lib/features/debug/debug-module.js.map +1 -1
  41. package/lib/features/element-template/mouse-tracking-element-position-listener.d.ts +6 -4
  42. package/lib/features/element-template/mouse-tracking-element-position-listener.d.ts.map +1 -1
  43. package/lib/features/element-template/mouse-tracking-element-position-listener.js +11 -12
  44. package/lib/features/element-template/mouse-tracking-element-position-listener.js.map +1 -1
  45. package/lib/features/grid/grid-module.d.ts.map +1 -1
  46. package/lib/features/grid/grid-module.js +1 -1
  47. package/lib/features/grid/grid-module.js.map +1 -1
  48. package/lib/features/helper-lines/helper-line-manager-default.d.ts +14 -2
  49. package/lib/features/helper-lines/helper-line-manager-default.d.ts.map +1 -1
  50. package/lib/features/helper-lines/helper-line-manager-default.js +56 -15
  51. package/lib/features/helper-lines/helper-line-manager-default.js.map +1 -1
  52. package/lib/features/hints/model.d.ts +5 -1
  53. package/lib/features/hints/model.d.ts.map +1 -1
  54. package/lib/features/hints/model.js.map +1 -1
  55. package/lib/features/select/select-mouse-listener.d.ts.map +1 -1
  56. package/lib/features/select/select-mouse-listener.js +1 -1
  57. package/lib/features/select/select-mouse-listener.js.map +1 -1
  58. package/lib/features/tool-palette/tool-palette.d.ts.map +1 -1
  59. package/lib/features/tool-palette/tool-palette.js +2 -2
  60. package/lib/features/tool-palette/tool-palette.js.map +1 -1
  61. package/lib/features/tools/base-tools.d.ts +1 -1
  62. package/lib/features/tools/base-tools.d.ts.map +1 -1
  63. package/lib/features/tools/change-bounds/change-bounds-manager.d.ts +11 -4
  64. package/lib/features/tools/change-bounds/change-bounds-manager.d.ts.map +1 -1
  65. package/lib/features/tools/change-bounds/change-bounds-manager.js +46 -13
  66. package/lib/features/tools/change-bounds/change-bounds-manager.js.map +1 -1
  67. package/lib/features/tools/change-bounds/change-bounds-tool-feedback.d.ts.map +1 -1
  68. package/lib/features/tools/change-bounds/change-bounds-tool-feedback.js +3 -3
  69. package/lib/features/tools/change-bounds/change-bounds-tool-feedback.js.map +1 -1
  70. package/lib/features/tools/change-bounds/change-bounds-tool-module.js +1 -1
  71. package/lib/features/tools/change-bounds/change-bounds-tool-module.js.map +1 -1
  72. package/lib/features/tools/change-bounds/change-bounds-tool-move-feedback.d.ts +2 -2
  73. package/lib/features/tools/change-bounds/change-bounds-tool-move-feedback.d.ts.map +1 -1
  74. package/lib/features/tools/change-bounds/change-bounds-tool-move-feedback.js +3 -6
  75. package/lib/features/tools/change-bounds/change-bounds-tool-move-feedback.js.map +1 -1
  76. package/lib/features/tools/change-bounds/change-bounds-tool.d.ts +3 -2
  77. package/lib/features/tools/change-bounds/change-bounds-tool.d.ts.map +1 -1
  78. package/lib/features/tools/change-bounds/change-bounds-tool.js +7 -27
  79. package/lib/features/tools/change-bounds/change-bounds-tool.js.map +1 -1
  80. package/lib/features/tools/change-bounds/change-bounds-tracker.d.ts +8 -2
  81. package/lib/features/tools/change-bounds/change-bounds-tracker.d.ts.map +1 -1
  82. package/lib/features/tools/change-bounds/change-bounds-tracker.js +22 -5
  83. package/lib/features/tools/change-bounds/change-bounds-tracker.js.map +1 -1
  84. package/lib/features/tools/edge-creation/edge-creation-tool.d.ts +4 -1
  85. package/lib/features/tools/edge-creation/edge-creation-tool.d.ts.map +1 -1
  86. package/lib/features/tools/edge-creation/edge-creation-tool.js +12 -10
  87. package/lib/features/tools/edge-creation/edge-creation-tool.js.map +1 -1
  88. package/lib/features/tools/edge-edit/edge-edit-tool-feedback.d.ts +1 -1
  89. package/lib/features/tools/edge-edit/edge-edit-tool-feedback.d.ts.map +1 -1
  90. package/lib/features/tools/edge-edit/edge-edit-tool-feedback.js +3 -3
  91. package/lib/features/tools/edge-edit/edge-edit-tool-feedback.js.map +1 -1
  92. package/lib/features/tools/edge-edit/edge-edit-tool.d.ts +1 -1
  93. package/lib/features/tools/edge-edit/edge-edit-tool.d.ts.map +1 -1
  94. package/lib/features/tools/edge-edit/edge-edit-tool.js +3 -3
  95. package/lib/features/tools/edge-edit/edge-edit-tool.js.map +1 -1
  96. package/lib/features/tools/node-creation/container-manager.d.ts +41 -0
  97. package/lib/features/tools/node-creation/container-manager.d.ts.map +1 -0
  98. package/lib/features/tools/node-creation/container-manager.js +73 -0
  99. package/lib/features/tools/node-creation/container-manager.js.map +1 -0
  100. package/lib/features/tools/node-creation/index.d.ts +3 -0
  101. package/lib/features/tools/node-creation/index.d.ts.map +1 -1
  102. package/lib/features/tools/node-creation/index.js +3 -0
  103. package/lib/features/tools/node-creation/index.js.map +1 -1
  104. package/lib/features/tools/node-creation/insert-indicator.d.ts +30 -0
  105. package/lib/features/tools/node-creation/insert-indicator.d.ts.map +1 -0
  106. package/lib/features/tools/node-creation/insert-indicator.js +40 -0
  107. package/lib/features/tools/node-creation/insert-indicator.js.map +1 -0
  108. package/lib/features/tools/node-creation/node-creation-module.d.ts.map +1 -1
  109. package/lib/features/tools/node-creation/node-creation-module.js +5 -0
  110. package/lib/features/tools/node-creation/node-creation-module.js.map +1 -1
  111. package/lib/features/tools/node-creation/node-creation-tool.d.ts +23 -14
  112. package/lib/features/tools/node-creation/node-creation-tool.d.ts.map +1 -1
  113. package/lib/features/tools/node-creation/node-creation-tool.js +79 -75
  114. package/lib/features/tools/node-creation/node-creation-tool.js.map +1 -1
  115. package/lib/features/tools/node-creation/node-creation-views.d.ts +25 -0
  116. package/lib/features/tools/node-creation/node-creation-views.d.ts.map +1 -0
  117. package/lib/features/tools/node-creation/node-creation-views.js +60 -0
  118. package/lib/features/tools/node-creation/node-creation-views.js.map +1 -0
  119. package/lib/utils/gmodel-util.d.ts +2 -0
  120. package/lib/utils/gmodel-util.d.ts.map +1 -1
  121. package/lib/utils/gmodel-util.js.map +1 -1
  122. package/lib/views/ggraph-view.d.ts.map +1 -1
  123. package/lib/views/ggraph-view.js +2 -2
  124. package/lib/views/ggraph-view.js.map +1 -1
  125. package/lib/views/glsp-projection-view.d.ts.map +1 -1
  126. package/lib/views/glsp-projection-view.js +2 -2
  127. package/lib/views/glsp-projection-view.js.map +1 -1
  128. package/package.json +3 -3
  129. package/src/base/default.module.ts +1 -2
  130. package/src/base/drag-aware-mouse-listener.ts +17 -1
  131. package/src/base/feedback/feedback-action-dispatcher-default.ts +119 -0
  132. package/src/base/feedback/feedback-action-dispatcher.ts +2 -106
  133. package/src/base/feedback/feedback-emitter.spec.ts +176 -0
  134. package/src/base/feedback/{feeback-emitter.ts → feedback-emitter.ts} +24 -5
  135. package/src/base/feedback/index.ts +2 -1
  136. package/src/base/selection-service.spec.ts +1 -1
  137. package/src/features/accessibility/view-key-tools/movement-key-tool.ts +1 -1
  138. package/src/features/change-bounds/model.ts +38 -13
  139. package/src/features/change-bounds/movement-restrictor.ts +11 -11
  140. package/src/features/debug/debug-bounds-decorator.tsx +7 -7
  141. package/src/features/debug/debug-module.ts +1 -1
  142. package/src/features/element-template/mouse-tracking-element-position-listener.ts +14 -22
  143. package/src/features/grid/grid-module.ts +2 -2
  144. package/src/features/helper-lines/helper-line-manager-default.ts +66 -10
  145. package/src/features/hints/model.ts +6 -1
  146. package/src/features/hints/type-hint-provider.spec.ts +1 -1
  147. package/src/features/select/select-mouse-listener.ts +2 -2
  148. package/src/features/tool-palette/tool-palette.ts +2 -3
  149. package/src/features/tools/base-tools.ts +1 -1
  150. package/src/features/tools/change-bounds/change-bounds-manager.ts +71 -13
  151. package/src/features/tools/change-bounds/change-bounds-tool-feedback.ts +5 -2
  152. package/src/features/tools/change-bounds/change-bounds-tool-module.ts +1 -1
  153. package/src/features/tools/change-bounds/change-bounds-tool-move-feedback.ts +4 -8
  154. package/src/features/tools/change-bounds/change-bounds-tool.ts +9 -55
  155. package/src/features/tools/change-bounds/change-bounds-tracker.ts +26 -5
  156. package/src/features/tools/edge-creation/edge-creation-tool.ts +13 -6
  157. package/src/features/tools/edge-edit/edge-edit-tool-feedback.ts +1 -1
  158. package/src/features/tools/edge-edit/edge-edit-tool.ts +2 -3
  159. package/src/features/tools/node-creation/container-manager.ts +76 -0
  160. package/src/features/tools/node-creation/index.ts +3 -0
  161. package/src/features/tools/node-creation/insert-indicator.ts +41 -0
  162. package/src/features/tools/node-creation/node-creation-module.ts +13 -1
  163. package/src/features/tools/node-creation/node-creation-tool.ts +98 -90
  164. package/src/features/tools/node-creation/node-creation-views.tsx +49 -0
  165. package/src/utils/gmodel-util.ts +4 -1
  166. package/src/views/ggraph-view.tsx +3 -3
  167. package/src/views/glsp-projection-view.tsx +2 -3
  168. package/lib/base/feedback/feeback-emitter.d.ts.map +0 -1
  169. package/lib/base/feedback/feeback-emitter.js.map +0 -1
@@ -25,3 +25,10 @@
25
25
  height: 0;
26
26
  visibility: hidden;
27
27
  }
28
+
29
+ .sprotty-node.insert-indicator:not(.selected) {
30
+ pointer-events: none;
31
+ fill: none;
32
+ stroke: black; /* same color as default color for edges */
33
+ stroke-width: 1.5px;
34
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"default.module.d.ts","sourceRoot":"","sources":["../../src/base/default.module.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAEH,aAAa,EAgBhB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,mCAAmC,CAAC;AAC3C,OAAO,4BAA4B,CAAC;AAyBpC;;;GAGG;AACH,eAAO,MAAM,aAAa,eAwExB,CAAC"}
1
+ {"version":3,"file":"default.module.d.ts","sourceRoot":"","sources":["../../src/base/default.module.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAEH,aAAa,EAgBhB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,mCAAmC,CAAC;AAC3C,OAAO,4BAA4B,CAAC;AAwBpC;;;GAGG;AACH,eAAO,MAAM,aAAa,eAwExB,CAAC"}
@@ -25,7 +25,6 @@ const command_stack_1 = require("./command-stack");
25
25
  const editor_context_service_1 = require("./editor-context-service");
26
26
  const feedback_1 = require("./feedback");
27
27
  const css_feedback_1 = require("./feedback/css-feedback");
28
- const feedback_action_dispatcher_1 = require("./feedback/feedback-action-dispatcher");
29
28
  const update_model_command_1 = require("./feedback/update-model-command");
30
29
  const focus_state_change_action_1 = require("./focus/focus-state-change-action");
31
30
  const focus_tracker_1 = require("./focus/focus-tracker");
@@ -59,7 +58,7 @@ exports.defaultModule = new sprotty_1.FeatureModule((bind, unbind, isBound, rebi
59
58
  bind(focus_tracker_1.FocusTracker).toSelf().inSingletonScope();
60
59
  (0, sprotty_1.configureActionHandler)(context, focus_state_change_action_1.FocusStateChangedAction.KIND, focus_tracker_1.FocusTracker);
61
60
  // Model update initialization ------------------------------------
62
- bind(sprotty_1.TYPES.IFeedbackActionDispatcher).to(feedback_action_dispatcher_1.FeedbackActionDispatcher).inSingletonScope();
61
+ bind(sprotty_1.TYPES.IFeedbackActionDispatcher).to(feedback_1.FeedbackActionDispatcher).inSingletonScope();
63
62
  (0, sprotty_1.configureCommand)(context, update_model_command_1.FeedbackAwareUpdateModelCommand);
64
63
  rebind(sprotty_1.SetModelCommand).to(feedback_1.FeedbackAwareSetModelCommand);
65
64
  bind(mouse_tool_1.GLSPMouseTool).toSelf().inSingletonScope();
@@ -1 +1 @@
1
- {"version":3,"file":"default.module.js","sourceRoot":"","sources":["../../src/base/default.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"default.module.js","sourceRoot":"","sources":["../../src/base/default.module.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
- import { Action, Disposable, GModelElement, MouseListener } from '@eclipse-glsp/sprotty';
16
+ import { Action, Disposable, GModelElement, MouseListener, Point } from '@eclipse-glsp/sprotty';
17
17
  /**
18
18
  * A mouse listener that is aware of prior mouse dragging.
19
19
  *
@@ -25,6 +25,9 @@ import { Action, Disposable, GModelElement, MouseListener } from '@eclipse-glsp/
25
25
  export declare class DragAwareMouseListener extends MouseListener implements Disposable {
26
26
  protected _isMouseDown: boolean;
27
27
  protected _isMouseDrag: boolean;
28
+ protected _dragStart?: Point;
29
+ protected _dragSensitivity: number;
30
+ constructor(dragSensitivity?: number);
28
31
  mouseDown(target: GModelElement, event: MouseEvent): Action[];
29
32
  mouseMove(target: GModelElement, event: MouseEvent): Action[];
30
33
  protected draggingMouseMove(target: GModelElement, event: MouseEvent): Action[];
@@ -1 +1 @@
1
- {"version":3,"file":"drag-aware-mouse-listener.d.ts","sourceRoot":"","sources":["../../src/base/drag-aware-mouse-listener.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEzF;;;;;;;GAOG;AACH,qBAAa,sBAAuB,SAAQ,aAAc,YAAW,UAAU;IAC3E,SAAS,CAAC,YAAY,UAAS;IAC/B,SAAS,CAAC,YAAY,UAAS;IAEtB,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE;IAK7D,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE;IAQtE,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE;IAI/E,SAAS,CAAC,oBAAoB,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE;IAIzE,OAAO,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE;IAUrE,kBAAkB,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE;IAIvE,eAAe,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE;IAIpE,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,OAAO,IAAI,IAAI;CAIlB"}
1
+ {"version":3,"file":"drag-aware-mouse-listener.d.ts","sourceRoot":"","sources":["../../src/base/drag-aware-mouse-listener.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEhG;;;;;;;GAOG;AACH,qBAAa,sBAAuB,SAAQ,aAAc,YAAW,UAAU;IAC3E,SAAS,CAAC,YAAY,UAAS;IAC/B,SAAS,CAAC,YAAY,UAAS;IAE/B,SAAS,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC;IAC7B,SAAS,CAAC,gBAAgB,SAAK;gBAEnB,eAAe,SAAI;IAKtB,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE;IAM7D,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE;IActE,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE;IAI/E,SAAS,CAAC,oBAAoB,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE;IAIzE,OAAO,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE;IAWrE,kBAAkB,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE;IAIvE,eAAe,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE;IAIpE,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,OAAO,IAAI,IAAI;CAIlB"}
@@ -26,17 +26,26 @@ const sprotty_1 = require("@eclipse-glsp/sprotty");
26
26
  * of mouse up events.
27
27
  */
28
28
  class DragAwareMouseListener extends sprotty_1.MouseListener {
29
- constructor() {
30
- super(...arguments);
29
+ constructor(dragSensitivity = 0) {
30
+ super();
31
31
  this._isMouseDown = false;
32
32
  this._isMouseDrag = false;
33
+ this._dragSensitivity = 0;
34
+ this._dragSensitivity = dragSensitivity;
33
35
  }
34
36
  mouseDown(target, event) {
35
37
  this._isMouseDown = true;
38
+ this._dragStart = this._dragSensitivity > 0 ? { x: event.clientX, y: event.clientY } : undefined;
36
39
  return [];
37
40
  }
38
41
  mouseMove(target, event) {
39
42
  if (this._isMouseDown) {
43
+ if (this._dragStart) {
44
+ const dragDistance = sprotty_1.Point.maxDistance(this._dragStart, { x: event.clientX, y: event.clientY });
45
+ if (dragDistance < this._dragSensitivity) {
46
+ return this.nonDraggingMouseMove(target, event);
47
+ }
48
+ }
40
49
  this._isMouseDrag = true;
41
50
  return this.draggingMouseMove(target, event);
42
51
  }
@@ -50,6 +59,7 @@ class DragAwareMouseListener extends sprotty_1.MouseListener {
50
59
  }
51
60
  mouseUp(element, event) {
52
61
  this._isMouseDown = false;
62
+ this._dragStart = undefined;
53
63
  if (this._isMouseDrag) {
54
64
  this._isMouseDrag = false;
55
65
  return this.draggingMouseUp(element, event);
@@ -1 +1 @@
1
- {"version":3,"file":"drag-aware-mouse-listener.js","sourceRoot":"","sources":["../../src/base/drag-aware-mouse-listener.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,mDAAyF;AAEzF;;;;;;;GAOG;AACH,MAAa,sBAAuB,SAAQ,uBAAa;IAAzD;;QACc,iBAAY,GAAG,KAAK,CAAC;QACrB,iBAAY,GAAG,KAAK,CAAC;IAqDnC,CAAC;IAnDY,SAAS,CAAC,MAAqB,EAAE,KAAiB;QACvD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,OAAO,EAAE,CAAC;IACd,CAAC;IAEQ,SAAS,CAAC,MAAqB,EAAE,KAAiB;QACvD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC;IAES,iBAAiB,CAAC,MAAqB,EAAE,KAAiB;QAChE,OAAO,EAAE,CAAC;IACd,CAAC;IAES,oBAAoB,CAAC,MAAqB,EAAE,KAAiB;QACnE,OAAO,EAAE,CAAC;IACd,CAAC;IAEQ,OAAO,CAAC,OAAsB,EAAE,KAAiB;QACtD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAChD,CAAC;QAED,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACnD,CAAC;IAED,kBAAkB,CAAC,OAAsB,EAAE,KAAiB;QACxD,OAAO,EAAE,CAAC;IACd,CAAC;IAED,eAAe,CAAC,OAAsB,EAAE,KAAiB;QACrD,OAAO,EAAE,CAAC;IACd,CAAC;IAED,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED,OAAO;QACH,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC9B,CAAC;CACJ;AAvDD,wDAuDC"}
1
+ {"version":3,"file":"drag-aware-mouse-listener.js","sourceRoot":"","sources":["../../src/base/drag-aware-mouse-listener.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,mDAAgG;AAEhG;;;;;;;GAOG;AACH,MAAa,sBAAuB,SAAQ,uBAAa;IAOrD,YAAY,eAAe,GAAG,CAAC;QAC3B,KAAK,EAAE,CAAC;QAPF,iBAAY,GAAG,KAAK,CAAC;QACrB,iBAAY,GAAG,KAAK,CAAC;QAGrB,qBAAgB,GAAG,CAAC,CAAC;QAI3B,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;IAC5C,CAAC;IAEQ,SAAS,CAAC,MAAqB,EAAE,KAAiB;QACvD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACjG,OAAO,EAAE,CAAC;IACd,CAAC;IAEQ,SAAS,CAAC,MAAqB,EAAE,KAAiB;QACvD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,MAAM,YAAY,GAAG,eAAK,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBAChG,IAAI,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACvC,OAAO,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBACpD,CAAC;YACL,CAAC;YACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC;IAES,iBAAiB,CAAC,MAAqB,EAAE,KAAiB;QAChE,OAAO,EAAE,CAAC;IACd,CAAC;IAES,oBAAoB,CAAC,MAAqB,EAAE,KAAiB;QACnE,OAAO,EAAE,CAAC;IACd,CAAC;IAEQ,OAAO,CAAC,OAAsB,EAAE,KAAiB;QACtD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAChD,CAAC;QAED,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACnD,CAAC;IAED,kBAAkB,CAAC,OAAsB,EAAE,KAAiB;QACxD,OAAO,EAAE,CAAC;IACd,CAAC;IAED,eAAe,CAAC,OAAsB,EAAE,KAAiB;QACrD,OAAO,EAAE,CAAC;IACd,CAAC;IAED,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED,OAAO;QACH,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC9B,CAAC;CACJ;AAvED,wDAuEC"}
@@ -0,0 +1,34 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2019-2024 EclipseSource and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+ import { Action, ActionHandlerRegistry, Command, CommandExecutionContext, Disposable, IActionDispatcher, ICommand, ILogger } from '@eclipse-glsp/sprotty';
17
+ import { FeedbackEmitter } from './feedback-emitter';
18
+ import { IFeedbackActionDispatcher, IFeedbackEmitter, MaybeActions } from './feedback-action-dispatcher';
19
+ export declare class FeedbackActionDispatcher implements IFeedbackActionDispatcher {
20
+ protected registeredFeedback: Map<IFeedbackEmitter, Action[]>;
21
+ protected actionDispatcher: () => Promise<IActionDispatcher>;
22
+ protected logger: ILogger;
23
+ protected actionHandlerRegistry: ActionHandlerRegistry;
24
+ registerFeedback(feedbackEmitter: IFeedbackEmitter, feedbackActions: Action[], cleanupActions?: MaybeActions): Disposable;
25
+ deregisterFeedback(feedbackEmitter: IFeedbackEmitter, cleanupActions?: MaybeActions): void;
26
+ getRegisteredFeedback(): Action[];
27
+ getRegisteredFeedbackEmitters(action: Action): IFeedbackEmitter[];
28
+ getFeedbackCommands(): Command[];
29
+ applyFeedbackCommands(context: CommandExecutionContext): Promise<void>;
30
+ protected actionToCommands(action: Action): ICommand[];
31
+ createEmitter(): FeedbackEmitter;
32
+ protected dispatchFeedback(actions: Action[], feedbackEmitter: IFeedbackEmitter): Promise<void>;
33
+ }
34
+ //# sourceMappingURL=feedback-action-dispatcher-default.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feedback-action-dispatcher-default.d.ts","sourceRoot":"","sources":["../../../src/base/feedback/feedback-action-dispatcher-default.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EACH,MAAM,EACN,qBAAqB,EACrB,OAAO,EAEP,uBAAuB,EACvB,UAAU,EAEV,iBAAiB,EACjB,QAAQ,EACR,OAAO,EAGV,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAEzG,qBACa,wBAAyB,YAAW,yBAAyB;IACtE,SAAS,CAAC,kBAAkB,EAAE,GAAG,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAAC,CAAa;IAEjC,SAAS,CAAC,gBAAgB,EAAE,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC/E,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC;IAElB,SAAS,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;IAEtF,gBAAgB,CAAC,eAAe,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,cAAc,CAAC,EAAE,YAAY,GAAG,UAAU;IAezH,kBAAkB,CAAC,eAAe,EAAE,gBAAgB,EAAE,cAAc,CAAC,EAAE,YAAY,GAAG,IAAI;IAQ1F,qBAAqB,IAAI,MAAM,EAAE;IAMjC,6BAA6B,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,EAAE;IAUjE,mBAAmB,IAAI,OAAO,EAAE;IAM1B,qBAAqB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ5E,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,EAAE;IAStD,aAAa,IAAI,eAAe;cAIhB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,eAAe,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;CASxG"}
@@ -0,0 +1,120 @@
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
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.FeedbackActionDispatcher = void 0;
13
+ /********************************************************************************
14
+ * Copyright (c) 2019-2024 EclipseSource and others.
15
+ *
16
+ * This program and the accompanying materials are made available under the
17
+ * terms of the Eclipse Public License v. 2.0 which is available at
18
+ * http://www.eclipse.org/legal/epl-2.0.
19
+ *
20
+ * This Source Code may also be made available under the following Secondary
21
+ * Licenses when the conditions for such availability set forth in the Eclipse
22
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
23
+ * with the GNU Classpath Exception which is available at
24
+ * https://www.gnu.org/software/classpath/license.html.
25
+ *
26
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
27
+ ********************************************************************************/
28
+ const sprotty_1 = require("@eclipse-glsp/sprotty");
29
+ const inversify_1 = require("inversify");
30
+ const feedback_command_1 = require("./feedback-command");
31
+ const feedback_emitter_1 = require("./feedback-emitter");
32
+ const feedback_action_dispatcher_1 = require("./feedback-action-dispatcher");
33
+ let FeedbackActionDispatcher = class FeedbackActionDispatcher {
34
+ constructor() {
35
+ this.registeredFeedback = new Map();
36
+ }
37
+ registerFeedback(feedbackEmitter, feedbackActions, cleanupActions) {
38
+ if (feedbackEmitter instanceof sprotty_1.GModelElement) {
39
+ this.logger.log(this,
40
+ // eslint-disable-next-line max-len
41
+ 'GModelElements as feedback emitters are discouraged, as they usually change between model updates and are considered unstable.');
42
+ }
43
+ if (feedbackActions.length > 0) {
44
+ this.registeredFeedback.set(feedbackEmitter, feedbackActions);
45
+ this.dispatchFeedback(feedbackActions, feedbackEmitter);
46
+ }
47
+ return sprotty_1.Disposable.create(() => this.deregisterFeedback(feedbackEmitter, cleanupActions));
48
+ }
49
+ deregisterFeedback(feedbackEmitter, cleanupActions) {
50
+ this.registeredFeedback.delete(feedbackEmitter);
51
+ const actions = feedback_action_dispatcher_1.MaybeActions.asArray(cleanupActions);
52
+ if (actions.length > 0) {
53
+ this.dispatchFeedback(actions, feedbackEmitter);
54
+ }
55
+ }
56
+ getRegisteredFeedback() {
57
+ const result = [];
58
+ this.registeredFeedback.forEach(actions => result.push(...actions));
59
+ return result;
60
+ }
61
+ getRegisteredFeedbackEmitters(action) {
62
+ const result = [];
63
+ this.registeredFeedback.forEach((actions, emitter) => {
64
+ if (actions.includes(action)) {
65
+ result.push(emitter);
66
+ }
67
+ });
68
+ return result;
69
+ }
70
+ getFeedbackCommands() {
71
+ return this.getRegisteredFeedback()
72
+ .flatMap(action => this.actionToCommands(action))
73
+ .sort((left, right) => (0, feedback_command_1.getFeedbackRank)(left) - (0, feedback_command_1.getFeedbackRank)(right));
74
+ }
75
+ async applyFeedbackCommands(context) {
76
+ var _a;
77
+ const feedbackCommands = (_a = this.getFeedbackCommands()) !== null && _a !== void 0 ? _a : [];
78
+ if ((feedbackCommands === null || feedbackCommands === void 0 ? void 0 : feedbackCommands.length) > 0) {
79
+ const results = feedbackCommands.map(command => command.execute(context));
80
+ await Promise.all(results);
81
+ }
82
+ }
83
+ actionToCommands(action) {
84
+ var _a;
85
+ return ((_a = this.actionHandlerRegistry
86
+ .get(action.kind)
87
+ .filter((0, sprotty_1.toTypeGuard)(sprotty_1.CommandActionHandler))
88
+ .map(handler => handler.handle(action))) !== null && _a !== void 0 ? _a : []);
89
+ }
90
+ createEmitter() {
91
+ return new feedback_emitter_1.FeedbackEmitter(this);
92
+ }
93
+ async dispatchFeedback(actions, feedbackEmitter) {
94
+ try {
95
+ const actionDispatcher = await this.actionDispatcher();
96
+ await actionDispatcher.dispatchAll(actions);
97
+ this.logger.info(this, `Dispatched feedback actions for ${feedbackEmitter}`);
98
+ }
99
+ catch (reason) {
100
+ this.logger.error(this, 'Failed to dispatch feedback actions', reason);
101
+ }
102
+ }
103
+ };
104
+ exports.FeedbackActionDispatcher = FeedbackActionDispatcher;
105
+ __decorate([
106
+ (0, inversify_1.inject)(sprotty_1.TYPES.IActionDispatcherProvider),
107
+ __metadata("design:type", Function)
108
+ ], FeedbackActionDispatcher.prototype, "actionDispatcher", void 0);
109
+ __decorate([
110
+ (0, inversify_1.inject)(sprotty_1.TYPES.ILogger),
111
+ __metadata("design:type", Object)
112
+ ], FeedbackActionDispatcher.prototype, "logger", void 0);
113
+ __decorate([
114
+ (0, inversify_1.inject)(sprotty_1.ActionHandlerRegistry),
115
+ __metadata("design:type", sprotty_1.ActionHandlerRegistry)
116
+ ], FeedbackActionDispatcher.prototype, "actionHandlerRegistry", void 0);
117
+ exports.FeedbackActionDispatcher = FeedbackActionDispatcher = __decorate([
118
+ (0, inversify_1.injectable)()
119
+ ], FeedbackActionDispatcher);
120
+ //# sourceMappingURL=feedback-action-dispatcher-default.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feedback-action-dispatcher-default.js","sourceRoot":"","sources":["../../../src/base/feedback/feedback-action-dispatcher-default.ts"],"names":[],"mappings":"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"}
@@ -13,8 +13,8 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
- import { Action, ActionHandlerRegistry, Command, CommandExecutionContext, Disposable, IActionDispatcher, ICommand, ILogger, MaybeFunction } from '@eclipse-glsp/sprotty';
17
- import { FeedbackEmitter } from './feeback-emitter';
16
+ import { Action, Command, CommandExecutionContext, Disposable, MaybeFunction } from '@eclipse-glsp/sprotty';
17
+ import { FeedbackEmitter } from './feedback-emitter';
18
18
  export interface IFeedbackEmitter {
19
19
  }
20
20
  export declare const feedbackFeature: unique symbol;
@@ -73,19 +73,4 @@ export interface IFeedbackActionDispatcher {
73
73
  */
74
74
  createEmitter(): FeedbackEmitter;
75
75
  }
76
- export declare class FeedbackActionDispatcher implements IFeedbackActionDispatcher {
77
- protected registeredFeedback: Map<IFeedbackEmitter, Action[]>;
78
- protected actionDispatcher: () => Promise<IActionDispatcher>;
79
- protected logger: ILogger;
80
- protected actionHandlerRegistry: ActionHandlerRegistry;
81
- registerFeedback(feedbackEmitter: IFeedbackEmitter, feedbackActions: Action[], cleanupActions?: MaybeActions): Disposable;
82
- deregisterFeedback(feedbackEmitter: IFeedbackEmitter, cleanupActions?: MaybeActions): void;
83
- getRegisteredFeedback(): Action[];
84
- getRegisteredFeedbackEmitters(action: Action): IFeedbackEmitter[];
85
- getFeedbackCommands(): Command[];
86
- applyFeedbackCommands(context: CommandExecutionContext): Promise<void>;
87
- protected actionToCommands(action: Action): ICommand[];
88
- createEmitter(): FeedbackEmitter;
89
- protected dispatchFeedback(actions: Action[], feedbackEmitter: IFeedbackEmitter): Promise<void>;
90
- }
91
76
  //# sourceMappingURL=feedback-action-dispatcher.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"feedback-action-dispatcher.d.ts","sourceRoot":"","sources":["../../../src/base/feedback/feedback-action-dispatcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EACH,MAAM,EACN,qBAAqB,EACrB,OAAO,EAEP,uBAAuB,EACvB,UAAU,EAEV,iBAAiB,EACjB,QAAQ,EACR,OAAO,EACP,aAAa,EAKhB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,WAAW,gBAAgB;CAAG;AAEpC,eAAO,MAAM,eAAe,eAA4B,CAAC;AAEzD,MAAM,MAAM,YAAY,GAAG,aAAa,CAAC,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,CAAC,CAAC;AAExE,yBAAiB,YAAY,CAAC;IAE1B,SAAgB,OAAO,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,MAAM,EAAE,CAGxD;CACJ;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,yBAAyB;IACtC;;;;;;OAMG;IACH,gBAAgB,CAAC,eAAe,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,cAAc,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IAE1H;;;;;;;;;OASG;IACH,kBAAkB,CAAC,eAAe,EAAE,gBAAgB,EAAE,cAAc,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAE3F;;OAEG;IACH,qBAAqB,IAAI,MAAM,EAAE,CAAC;IAElC;;OAEG;IACH,mBAAmB,IAAI,OAAO,EAAE,CAAC;IAEjC;;OAEG;IACH,qBAAqB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvE;;;OAGG;IACH,aAAa,IAAI,eAAe,CAAC;CACpC;AAED,qBACa,wBAAyB,YAAW,yBAAyB;IACtE,SAAS,CAAC,kBAAkB,EAAE,GAAG,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAAC,CAAa;IAEjC,SAAS,CAAC,gBAAgB,EAAE,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC/E,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC;IAElB,SAAS,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;IAEtF,gBAAgB,CAAC,eAAe,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,cAAc,CAAC,EAAE,YAAY,GAAG,UAAU;IAezH,kBAAkB,CAAC,eAAe,EAAE,gBAAgB,EAAE,cAAc,CAAC,EAAE,YAAY,GAAG,IAAI;IAQ1F,qBAAqB,IAAI,MAAM,EAAE;IAMjC,6BAA6B,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,EAAE;IAUjE,mBAAmB,IAAI,OAAO,EAAE;IAM1B,qBAAqB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ5E,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,EAAE;IAStD,aAAa,IAAI,eAAe;cAIhB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,eAAe,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;CASxG"}
1
+ {"version":3,"file":"feedback-action-dispatcher.d.ts","sourceRoot":"","sources":["../../../src/base/feedback/feedback-action-dispatcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,EAAE,UAAU,EAAE,aAAa,EAA4B,MAAM,uBAAuB,CAAC;AACtI,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,WAAW,gBAAgB;CAAG;AAEpC,eAAO,MAAM,eAAe,eAA4B,CAAC;AAEzD,MAAM,MAAM,YAAY,GAAG,aAAa,CAAC,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,CAAC,CAAC;AAExE,yBAAiB,YAAY,CAAC;IAE1B,SAAgB,OAAO,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,MAAM,EAAE,CAGxD;CACJ;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,yBAAyB;IACtC;;;;;;OAMG;IACH,gBAAgB,CAAC,eAAe,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,cAAc,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IAE1H;;;;;;;;;OASG;IACH,kBAAkB,CAAC,eAAe,EAAE,gBAAgB,EAAE,cAAc,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAE3F;;OAEG;IACH,qBAAqB,IAAI,MAAM,EAAE,CAAC;IAElC;;OAEG;IACH,mBAAmB,IAAI,OAAO,EAAE,CAAC;IAEjC;;OAEG;IACH,qBAAqB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvE;;;OAGG;IACH,aAAa,IAAI,eAAe,CAAC;CACpC"}
@@ -1,15 +1,6 @@
1
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
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.FeedbackActionDispatcher = exports.MaybeActions = exports.feedbackFeature = void 0;
3
+ exports.MaybeActions = exports.feedbackFeature = void 0;
13
4
  /********************************************************************************
14
5
  * Copyright (c) 2019-2024 EclipseSource and others.
15
6
  *
@@ -26,9 +17,6 @@ exports.FeedbackActionDispatcher = exports.MaybeActions = exports.feedbackFeatur
26
17
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
27
18
  ********************************************************************************/
28
19
  const sprotty_1 = require("@eclipse-glsp/sprotty");
29
- const inversify_1 = require("inversify");
30
- const feedback_command_1 = require("./feedback-command");
31
- const feeback_emitter_1 = require("./feeback-emitter");
32
20
  exports.feedbackFeature = Symbol('feedbackFeature');
33
21
  var MaybeActions;
34
22
  (function (MaybeActions) {
@@ -39,91 +27,4 @@ var MaybeActions;
39
27
  }
40
28
  MaybeActions.asArray = asArray;
41
29
  })(MaybeActions || (exports.MaybeActions = MaybeActions = {}));
42
- let FeedbackActionDispatcher = class FeedbackActionDispatcher {
43
- constructor() {
44
- this.registeredFeedback = new Map();
45
- }
46
- registerFeedback(feedbackEmitter, feedbackActions, cleanupActions) {
47
- if (feedbackEmitter instanceof sprotty_1.GModelElement) {
48
- this.logger.log(this,
49
- // eslint-disable-next-line max-len
50
- 'GModelElements as feedback emitters are discouraged, as they usually change between model updates and are considered unstable.');
51
- }
52
- if (feedbackActions.length > 0) {
53
- this.registeredFeedback.set(feedbackEmitter, feedbackActions);
54
- this.dispatchFeedback(feedbackActions, feedbackEmitter);
55
- }
56
- return sprotty_1.Disposable.create(() => this.deregisterFeedback(feedbackEmitter, cleanupActions));
57
- }
58
- deregisterFeedback(feedbackEmitter, cleanupActions) {
59
- this.registeredFeedback.delete(feedbackEmitter);
60
- const actions = MaybeActions.asArray(cleanupActions);
61
- if (actions.length > 0) {
62
- this.dispatchFeedback(actions, feedbackEmitter);
63
- }
64
- }
65
- getRegisteredFeedback() {
66
- const result = [];
67
- this.registeredFeedback.forEach(actions => result.push(...actions));
68
- return result;
69
- }
70
- getRegisteredFeedbackEmitters(action) {
71
- const result = [];
72
- this.registeredFeedback.forEach((actions, emitter) => {
73
- if (actions.includes(action)) {
74
- result.push(emitter);
75
- }
76
- });
77
- return result;
78
- }
79
- getFeedbackCommands() {
80
- return this.getRegisteredFeedback()
81
- .flatMap(action => this.actionToCommands(action))
82
- .sort((left, right) => (0, feedback_command_1.getFeedbackRank)(left) - (0, feedback_command_1.getFeedbackRank)(right));
83
- }
84
- async applyFeedbackCommands(context) {
85
- var _a;
86
- const feedbackCommands = (_a = this.getFeedbackCommands()) !== null && _a !== void 0 ? _a : [];
87
- if ((feedbackCommands === null || feedbackCommands === void 0 ? void 0 : feedbackCommands.length) > 0) {
88
- const results = feedbackCommands.map(command => command.execute(context));
89
- await Promise.all(results);
90
- }
91
- }
92
- actionToCommands(action) {
93
- var _a;
94
- return ((_a = this.actionHandlerRegistry
95
- .get(action.kind)
96
- .filter((0, sprotty_1.toTypeGuard)(sprotty_1.CommandActionHandler))
97
- .map(handler => handler.handle(action))) !== null && _a !== void 0 ? _a : []);
98
- }
99
- createEmitter() {
100
- return new feeback_emitter_1.FeedbackEmitter(this);
101
- }
102
- async dispatchFeedback(actions, feedbackEmitter) {
103
- try {
104
- const actionDispatcher = await this.actionDispatcher();
105
- await actionDispatcher.dispatchAll(actions);
106
- this.logger.info(this, `Dispatched feedback actions for ${feedbackEmitter}`);
107
- }
108
- catch (reason) {
109
- this.logger.error(this, 'Failed to dispatch feedback actions', reason);
110
- }
111
- }
112
- };
113
- exports.FeedbackActionDispatcher = FeedbackActionDispatcher;
114
- __decorate([
115
- (0, inversify_1.inject)(sprotty_1.TYPES.IActionDispatcherProvider),
116
- __metadata("design:type", Function)
117
- ], FeedbackActionDispatcher.prototype, "actionDispatcher", void 0);
118
- __decorate([
119
- (0, inversify_1.inject)(sprotty_1.TYPES.ILogger),
120
- __metadata("design:type", Object)
121
- ], FeedbackActionDispatcher.prototype, "logger", void 0);
122
- __decorate([
123
- (0, inversify_1.inject)(sprotty_1.ActionHandlerRegistry),
124
- __metadata("design:type", sprotty_1.ActionHandlerRegistry)
125
- ], FeedbackActionDispatcher.prototype, "actionHandlerRegistry", void 0);
126
- exports.FeedbackActionDispatcher = FeedbackActionDispatcher = __decorate([
127
- (0, inversify_1.injectable)()
128
- ], FeedbackActionDispatcher);
129
30
  //# sourceMappingURL=feedback-action-dispatcher.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"feedback-action-dispatcher.js","sourceRoot":"","sources":["../../../src/base/feedback/feedback-action-dispatcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feedback-action-dispatcher.js","sourceRoot":"","sources":["../../../src/base/feedback/feedback-action-dispatcher.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,mDAAsI;AAKzH,QAAA,eAAe,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAIzD,IAAiB,YAAY,CAM5B;AAND,WAAiB,YAAY;IACzB,wDAAwD;IACxD,SAAgB,OAAO,CAAC,OAAsB;QAC1C,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,IAAA,cAAI,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,OAAO,OAAO,CAAC,CAAC,CAAC,IAAA,iBAAO,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3C,CAAC;IAHe,oBAAO,UAGtB,CAAA;AACL,CAAC,EANgB,YAAY,4BAAZ,YAAY,QAM5B"}
@@ -20,6 +20,7 @@ import { IFeedbackActionDispatcher, IFeedbackEmitter, MaybeActions } from './fee
20
20
  */
21
21
  export declare class FeedbackEmitter implements IFeedbackEmitter, Disposable {
22
22
  protected feedbackDispatcher: IFeedbackActionDispatcher;
23
+ protected id: number;
23
24
  protected feedbackActions: (Action | undefined)[];
24
25
  protected cleanupActions: MaybeActions[];
25
26
  protected deregistration?: Disposable;
@@ -32,6 +33,12 @@ export declare class FeedbackEmitter implements IFeedbackEmitter, Disposable {
32
33
  * @param cleanupAction action that undoes the feedback action. This is only triggered when {@link revert} or {@link dispose} is called.
33
34
  */
34
35
  add(action?: Action, cleanupAction?: MaybeActions): this;
36
+ /**
37
+ * Merges the feedback of another emitter into this emitter.
38
+ *
39
+ * @param feedback feedback to merge
40
+ */
41
+ merge(feedback: FeedbackEmitter): this;
35
42
  /**
36
43
  * Removes the action as part of this emitters feedback. If the action cannot be found, this is a no-op.
37
44
  * Please note that this also removed the corresponding cleanup action.
@@ -64,4 +71,4 @@ export declare class FeedbackEmitter implements IFeedbackEmitter, Disposable {
64
71
  */
65
72
  dispose(): this;
66
73
  }
67
- //# sourceMappingURL=feeback-emitter.d.ts.map
74
+ //# sourceMappingURL=feedback-emitter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feedback-emitter.d.ts","sourceRoot":"","sources":["../../../src/base/feedback/feedback-emitter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,MAAM,EAAE,UAAU,EAAW,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAKzG;;GAEG;AACH,qBAAa,eAAgB,YAAW,gBAAgB,EAAE,UAAU;IAMpD,SAAS,CAAC,kBAAkB,EAAE,yBAAyB;IALnE,SAAS,CAAC,EAAE,SAAe;IAC3B,SAAS,CAAC,eAAe,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAM;IACvD,SAAS,CAAC,cAAc,EAAE,YAAY,EAAE,CAAM;IAC9C,SAAS,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC;gBAEhB,kBAAkB,EAAE,yBAAyB;IAEnE;;;;;;OAMG;IACH,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,YAAY,GAAG,IAAI;IAYxD;;;;OAIG;IACH,KAAK,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAMtC;;;;;;;OAOG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAS5B;;OAEG;IACH,KAAK,IAAI,IAAI;IAMb;;OAEG;IACH,MAAM,IAAI,IAAI;IAad;;;OAGG;IACH,OAAO,IAAI,IAAI;IAMf;;;OAGG;IACH,MAAM,IAAI,IAAI;IAMd;;OAEG;IACH,OAAO,IAAI,IAAI;CAKlB"}
@@ -18,12 +18,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.FeedbackEmitter = void 0;
19
19
  const sprotty_1 = require("@eclipse-glsp/sprotty");
20
20
  const feedback_action_dispatcher_1 = require("./feedback-action-dispatcher");
21
+ // counter for internal id, mainly useful for debugging
22
+ let idCounter = 0;
21
23
  /**
22
24
  * A helper object to collect, submit and undo feedback consisting of several actions.
23
25
  */
24
26
  class FeedbackEmitter {
25
27
  constructor(feedbackDispatcher) {
26
28
  this.feedbackDispatcher = feedbackDispatcher;
29
+ this.id = idCounter++;
27
30
  this.feedbackActions = [];
28
31
  this.cleanupActions = [];
29
32
  }
@@ -45,6 +48,16 @@ class FeedbackEmitter {
45
48
  }
46
49
  return this;
47
50
  }
51
+ /**
52
+ * Merges the feedback of another emitter into this emitter.
53
+ *
54
+ * @param feedback feedback to merge
55
+ */
56
+ merge(feedback) {
57
+ this.feedbackActions.push(...feedback.feedbackActions);
58
+ this.cleanupActions.push(...feedback.cleanupActions);
59
+ return this;
60
+ }
48
61
  /**
49
62
  * Removes the action as part of this emitters feedback. If the action cannot be found, this is a no-op.
50
63
  * Please note that this also removed the corresponding cleanup action.
@@ -55,9 +68,9 @@ class FeedbackEmitter {
55
68
  */
56
69
  remove(action) {
57
70
  const idx = this.feedbackActions.indexOf(action);
58
- if (idx) {
59
- delete this.feedbackActions[idx];
60
- delete this.cleanupActions[idx];
71
+ if (idx >= 0) {
72
+ this.feedbackActions.splice(idx, 1);
73
+ this.cleanupActions.splice(idx, 1);
61
74
  }
62
75
  return this;
63
76
  }
@@ -76,8 +89,10 @@ class FeedbackEmitter {
76
89
  // with 'arrayOf' we skip undefined entries that are created for non-cleanup actions or cleanup-only actions
77
90
  const actions = (0, sprotty_1.arrayOf)(...this.feedbackActions);
78
91
  const cleanupActions = (0, sprotty_1.arrayOf)(...this.cleanupActions);
79
- this.deregistration = this.feedbackDispatcher.registerFeedback(this, actions, () => cleanupActions.flatMap(feedback_action_dispatcher_1.MaybeActions.asArray));
80
- this.clear();
92
+ if (actions.length > 0 || cleanupActions.length > 0) {
93
+ this.deregistration = this.feedbackDispatcher.registerFeedback(this, actions, () => cleanupActions.flatMap(feedback_action_dispatcher_1.MaybeActions.asArray));
94
+ this.clear();
95
+ }
81
96
  return this;
82
97
  }
83
98
  /**
@@ -109,4 +124,4 @@ class FeedbackEmitter {
109
124
  }
110
125
  }
111
126
  exports.FeedbackEmitter = FeedbackEmitter;
112
- //# sourceMappingURL=feeback-emitter.js.map
127
+ //# sourceMappingURL=feedback-emitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feedback-emitter.js","sourceRoot":"","sources":["../../../src/base/feedback/feedback-emitter.ts"],"names":[],"mappings":"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"}
@@ -14,9 +14,10 @@
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
16
  export * from './css-feedback';
17
- export * from './feeback-emitter';
18
17
  export * from './feedback-action-dispatcher';
18
+ export * from './feedback-action-dispatcher-default';
19
19
  export * from './feedback-command';
20
+ export * from './feedback-emitter';
20
21
  export * from './set-model-command';
21
22
  export * from './update-model-command';
22
23
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/base/feedback/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/base/feedback/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,cAAc,gBAAgB,CAAC;AAC/B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sCAAsC,CAAC;AACrD,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC"}
@@ -30,9 +30,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
30
30
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
31
31
  ********************************************************************************/
32
32
  __exportStar(require("./css-feedback"), exports);
33
- __exportStar(require("./feeback-emitter"), exports);
34
33
  __exportStar(require("./feedback-action-dispatcher"), exports);
34
+ __exportStar(require("./feedback-action-dispatcher-default"), exports);
35
35
  __exportStar(require("./feedback-command"), exports);
36
+ __exportStar(require("./feedback-emitter"), exports);
36
37
  __exportStar(require("./set-model-command"), exports);
37
38
  __exportStar(require("./update-model-command"), exports);
38
39
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/base/feedback/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,iDAA+B;AAC/B,oDAAkC;AAClC,+DAA6C;AAC7C,qDAAmC;AACnC,sDAAoC;AACpC,yDAAuC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/base/feedback/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,iDAA+B;AAC/B,+DAA6C;AAC7C,uEAAqD;AACrD,qDAAmC;AACnC,qDAAmC;AACnC,sDAAoC;AACpC,yDAAuC"}
@@ -1 +1 @@
1
- {"version":3,"file":"movement-key-tool.d.ts","sourceRoot":"","sources":["../../../../src/features/accessibility/view-key-tools/movement-key-tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAS,MAAM,uBAAuB,CAAC;AAGrG,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,IAAI,EAAE,MAAM,iCAAiC,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,6BAA6B,EAAkC,MAAM,yCAAyC,CAAC;AAGxH;;GAEG;AACH,qBACa,eAAgB,YAAW,IAAI;IACxC,MAAM,CAAC,EAAE,SAA4B;IAErC,UAAU,UAAQ;IAElB,SAAS,CAAC,mBAAmB,EAAE,eAAe,CAAC;IAE9B,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC3B,gBAAgB,EAAE,gBAAgB,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC;IAC/B,QAAQ,CAAC,gBAAgB,EAAE,oBAAoB,CAAC;IACjD,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC;IACjB,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IAEtF,IAAI,EAAE,IAAI,MAAM,CAEf;IAED,MAAM,IAAI,IAAI;IAQd,OAAO,IAAI,IAAI;CAGlB;AAED,qBAAa,eAAgB,SAAQ,WAAY,YAAW,6BAA6B;IAUjF,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,eAAe;IACxC,SAAS,CAAC,IAAI,EAAE,IAAI;IATxB,MAAM,CAAC,QAAQ,CAAC,YAAY,MAAM;IAGlC,MAAM,CAAC,QAAQ,CAAC,YAAY,MAAM;IAElC,SAAS,CAAC,QAAQ,CAAC,KAAK,SAAwB;gBAGzB,IAAI,EAAE,eAAe,EAC9B,IAAI,GAAE,IAA2E;IAK/F,mBAAmB,IAAI,IAAI;IASlB,OAAO,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,GAAG,MAAM,EAAE;IA8BzE,SAAS,CAAC,sBAAsB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;IAK/D,SAAS,CAAC,wBAAwB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;IAKjE,SAAS,CAAC,yBAAyB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;IAKlE,SAAS,CAAC,wBAAwB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;CAIpE"}
1
+ {"version":3,"file":"movement-key-tool.d.ts","sourceRoot":"","sources":["../../../../src/features/accessibility/view-key-tools/movement-key-tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAS,MAAM,uBAAuB,CAAC;AAGrG,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,IAAI,EAAE,MAAM,iCAAiC,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,6BAA6B,EAAkC,MAAM,yCAAyC,CAAC;AAGxH;;GAEG;AACH,qBACa,eAAgB,YAAW,IAAI;IACxC,MAAM,CAAC,EAAE,SAA4B;IAErC,UAAU,UAAQ;IAElB,SAAS,CAAC,mBAAmB,EAAE,eAAe,CAAC;IAE9B,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC3B,gBAAgB,EAAE,gBAAgB,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC;IAC/B,QAAQ,CAAC,gBAAgB,EAAE,oBAAoB,CAAC;IACjD,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC;IACxB,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IAE/E,IAAI,EAAE,IAAI,MAAM,CAEf;IAED,MAAM,IAAI,IAAI;IAQd,OAAO,IAAI,IAAI;CAGlB;AAED,qBAAa,eAAgB,SAAQ,WAAY,YAAW,6BAA6B;IAUjF,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,eAAe;IACxC,SAAS,CAAC,IAAI,EAAE,IAAI;IATxB,MAAM,CAAC,QAAQ,CAAC,YAAY,MAAM;IAGlC,MAAM,CAAC,QAAQ,CAAC,YAAY,MAAM;IAElC,SAAS,CAAC,QAAQ,CAAC,KAAK,SAAwB;gBAGzB,IAAI,EAAE,eAAe,EAC9B,IAAI,GAAE,IAA2E;IAK/F,mBAAmB,IAAI,IAAI;IASlB,OAAO,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,GAAG,MAAM,EAAE;IA8BzE,SAAS,CAAC,sBAAsB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;IAK/D,SAAS,CAAC,wBAAwB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;IAKjE,SAAS,CAAC,yBAAyB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;IAKlE,SAAS,CAAC,wBAAwB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;CAIpE"}