@angflow/angular 0.0.2 → 0.0.4

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 (49) hide show
  1. package/dist/esm/lib/components/controls/controls.component.d.ts.map +1 -1
  2. package/dist/esm/lib/components/controls/controls.component.js +28 -10
  3. package/dist/esm/lib/components/controls/controls.component.js.map +1 -1
  4. package/dist/esm/lib/components/minimap/minimap.component.d.ts +8 -0
  5. package/dist/esm/lib/components/minimap/minimap.component.d.ts.map +1 -1
  6. package/dist/esm/lib/components/minimap/minimap.component.js +84 -2
  7. package/dist/esm/lib/components/minimap/minimap.component.js.map +1 -1
  8. package/dist/esm/lib/components/node-resizer/node-resizer.component.d.ts +12 -1
  9. package/dist/esm/lib/components/node-resizer/node-resizer.component.d.ts.map +1 -1
  10. package/dist/esm/lib/components/node-resizer/node-resizer.component.js +95 -35
  11. package/dist/esm/lib/components/node-resizer/node-resizer.component.js.map +1 -1
  12. package/dist/esm/lib/components/node-toolbar/node-toolbar.component.d.ts +1 -1
  13. package/dist/esm/lib/components/node-toolbar/node-toolbar.component.d.ts.map +1 -1
  14. package/dist/esm/lib/components/node-toolbar/node-toolbar.component.js +9 -3
  15. package/dist/esm/lib/components/node-toolbar/node-toolbar.component.js.map +1 -1
  16. package/dist/esm/lib/components/selection-box/selection-box.component.d.ts +7 -0
  17. package/dist/esm/lib/components/selection-box/selection-box.component.d.ts.map +1 -1
  18. package/dist/esm/lib/components/selection-box/selection-box.component.js +43 -0
  19. package/dist/esm/lib/components/selection-box/selection-box.component.js.map +1 -1
  20. package/dist/esm/lib/container/edge-renderer/edge-renderer.component.d.ts +6 -0
  21. package/dist/esm/lib/container/edge-renderer/edge-renderer.component.d.ts.map +1 -1
  22. package/dist/esm/lib/container/edge-renderer/edge-renderer.component.js +72 -12
  23. package/dist/esm/lib/container/edge-renderer/edge-renderer.component.js.map +1 -1
  24. package/dist/esm/lib/container/ng-flow/ng-flow.component.d.ts +2 -0
  25. package/dist/esm/lib/container/ng-flow/ng-flow.component.d.ts.map +1 -1
  26. package/dist/esm/lib/container/ng-flow/ng-flow.component.js +37 -4
  27. package/dist/esm/lib/container/ng-flow/ng-flow.component.js.map +1 -1
  28. package/dist/esm/lib/container/node-renderer/node-renderer.component.d.ts +4 -0
  29. package/dist/esm/lib/container/node-renderer/node-renderer.component.d.ts.map +1 -1
  30. package/dist/esm/lib/container/node-renderer/node-renderer.component.js +155 -93
  31. package/dist/esm/lib/container/node-renderer/node-renderer.component.js.map +1 -1
  32. package/dist/esm/lib/container/pane/pane.component.d.ts.map +1 -1
  33. package/dist/esm/lib/container/pane/pane.component.js +4 -0
  34. package/dist/esm/lib/container/pane/pane.component.js.map +1 -1
  35. package/dist/esm/lib/directives/drag.directive.js +1 -1
  36. package/dist/esm/lib/directives/drag.directive.js.map +1 -1
  37. package/dist/esm/lib/services/flow-store.service.d.ts +7 -0
  38. package/dist/esm/lib/services/flow-store.service.d.ts.map +1 -1
  39. package/dist/esm/lib/services/flow-store.service.js +23 -0
  40. package/dist/esm/lib/services/flow-store.service.js.map +1 -1
  41. package/dist/esm/lib/services/ng-flow.service.d.ts +9 -9
  42. package/dist/esm/lib/services/ng-flow.service.d.ts.map +1 -1
  43. package/dist/esm/lib/services/ng-flow.service.js +13 -14
  44. package/dist/esm/lib/services/ng-flow.service.js.map +1 -1
  45. package/dist/esm/test-setup.d.ts +2 -0
  46. package/dist/esm/test-setup.d.ts.map +1 -0
  47. package/dist/esm/test-setup.js +6 -0
  48. package/dist/esm/test-setup.js.map +1 -0
  49. package/package.json +9 -3
@@ -1,4 +1,4 @@
1
- import { Component, ChangeDetectionStrategy, input, output, inject, ElementRef, Optional, Inject, } from '@angular/core';
1
+ import { Component, ChangeDetectionStrategy, input, output, inject, computed, ElementRef, Optional, Inject, } from '@angular/core';
2
2
  import { XYResizer, } from '@angflow/system';
3
3
  import { FlowStore } from '../../services/flow-store.service';
4
4
  import { NODE_ID } from '../../services/tokens';
@@ -13,7 +13,13 @@ export class NodeResizerComponent {
13
13
  this.maxWidth = input(Infinity, ...(ngDevMode ? [{ debugName: "maxWidth" }] : /* istanbul ignore next */ []));
14
14
  this.maxHeight = input(Infinity, ...(ngDevMode ? [{ debugName: "maxHeight" }] : /* istanbul ignore next */ []));
15
15
  this.keepAspectRatio = input(false, ...(ngDevMode ? [{ debugName: "keepAspectRatio" }] : /* istanbul ignore next */ []));
16
- this.isVisible = input(true, ...(ngDevMode ? [{ debugName: "isVisible" }] : /* istanbul ignore next */ []));
16
+ /**
17
+ * Controls handle visibility.
18
+ * - `undefined` (default): auto — handles show only when the host node is selected.
19
+ * - `true`: always visible, regardless of selection.
20
+ * - `false`: always hidden.
21
+ */
22
+ this.isVisible = input(undefined, ...(ngDevMode ? [{ debugName: "isVisible" }] : /* istanbul ignore next */ []));
17
23
  this.color = input(...(ngDevMode ? [undefined, { debugName: "color" }] : /* istanbul ignore next */ []));
18
24
  this.handleClassName = input('', ...(ngDevMode ? [{ debugName: "handleClassName" }] : /* istanbul ignore next */ []));
19
25
  this.handleStyle = input(...(ngDevMode ? [undefined, { debugName: "handleStyle" }] : /* istanbul ignore next */ []));
@@ -29,15 +35,33 @@ export class NodeResizerComponent {
29
35
  this.resizeEnd = output();
30
36
  this.nodeId = '';
31
37
  this.resizerInstances = [];
38
+ /**
39
+ * Host-level visibility: explicit `isVisible` wins; otherwise follow the
40
+ * owning node's `selected` state so handles only show on selection.
41
+ */
42
+ this.effectivelyVisible = computed(() => {
43
+ const explicit = this.isVisible();
44
+ if (explicit !== undefined)
45
+ return explicit;
46
+ // Establish reactive dependency on node state (selection changes setNodes).
47
+ const nodes = this.store.nodes();
48
+ const id = this.nodeIdInput() ?? this.nodeId;
49
+ if (!id)
50
+ return true;
51
+ const node = nodes.find((n) => n.id === id);
52
+ return node?.selected ?? false;
53
+ }, ...(ngDevMode ? [{ debugName: "effectivelyVisible" }] : /* istanbul ignore next */ []));
32
54
  this.nodeId = nodeId ?? '';
33
55
  }
34
56
  ngAfterViewInit() {
35
57
  const resolvedNodeId = this.nodeIdInput() ?? this.nodeId;
36
- const handles = this.el.nativeElement.querySelectorAll('.xy-flow__resize-control');
37
- const positions = ['top-left', 'top-right', 'bottom-left', 'bottom-right'];
38
- // Only set up corner handles (first 4)
39
- const cornerHandles = Array.from(handles).slice(0, 4);
40
- cornerHandles.forEach((handle, index) => {
58
+ // Template order: 4 corners, then 4 lines. Must match `positions` below.
59
+ const handles = Array.from(this.el.nativeElement.querySelectorAll(':scope > .xy-flow__resize-control'));
60
+ const positions = [
61
+ 'top-left', 'top-right', 'bottom-left', 'bottom-right',
62
+ 'top', 'right', 'bottom', 'left',
63
+ ];
64
+ handles.forEach((handle, index) => {
41
65
  const resizer = XYResizer({
42
66
  domNode: handle,
43
67
  nodeId: resolvedNodeId,
@@ -49,10 +73,46 @@ export class NodeResizerComponent {
49
73
  nodeOrigin: this.store.nodeOrigin(),
50
74
  paneDomNode: this.store.domNode(),
51
75
  }),
52
- onChange: (changes, childChanges) => {
53
- this.resize.emit({ changes, childChanges });
76
+ onChange: (change, childChanges) => {
77
+ const nodeChanges = [];
78
+ const nextPosition = { x: change.x, y: change.y };
79
+ if (nextPosition.x !== undefined && nextPosition.y !== undefined) {
80
+ nodeChanges.push({
81
+ id: resolvedNodeId,
82
+ type: 'position',
83
+ position: { x: nextPosition.x, y: nextPosition.y },
84
+ });
85
+ }
86
+ if (change.width !== undefined && change.height !== undefined) {
87
+ nodeChanges.push({
88
+ id: resolvedNodeId,
89
+ type: 'dimensions',
90
+ resizing: true,
91
+ setAttributes: true,
92
+ dimensions: { width: change.width, height: change.height },
93
+ });
94
+ }
95
+ for (const childChange of childChanges) {
96
+ nodeChanges.push({
97
+ id: childChange.id,
98
+ type: 'position',
99
+ position: childChange.position,
100
+ });
101
+ }
102
+ if (nodeChanges.length > 0) {
103
+ this.store.triggerNodeChanges(nodeChanges);
104
+ }
105
+ this.resize.emit({ changes: change, childChanges });
54
106
  },
55
107
  onEnd: (change) => {
108
+ this.store.triggerNodeChanges([
109
+ {
110
+ id: resolvedNodeId,
111
+ type: 'dimensions',
112
+ resizing: false,
113
+ dimensions: { width: change.width, height: change.height },
114
+ },
115
+ ]);
56
116
  this.resizeEnd.emit({ changes: change });
57
117
  },
58
118
  });
@@ -83,63 +143,63 @@ export class NodeResizerComponent {
83
143
  this.resizerInstances.forEach((r) => r.destroy());
84
144
  }
85
145
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: NodeResizerComponent, deps: [{ token: NODE_ID, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
86
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.6", type: NodeResizerComponent, isStandalone: true, selector: "ng-flow-node-resizer", inputs: { nodeIdInput: { classPropertyName: "nodeIdInput", publicName: "nodeId", isSignal: true, isRequired: false, transformFunction: null }, minWidth: { classPropertyName: "minWidth", publicName: "minWidth", isSignal: true, isRequired: false, transformFunction: null }, minHeight: { classPropertyName: "minHeight", publicName: "minHeight", isSignal: true, isRequired: false, transformFunction: null }, maxWidth: { classPropertyName: "maxWidth", publicName: "maxWidth", isSignal: true, isRequired: false, transformFunction: null }, maxHeight: { classPropertyName: "maxHeight", publicName: "maxHeight", isSignal: true, isRequired: false, transformFunction: null }, keepAspectRatio: { classPropertyName: "keepAspectRatio", publicName: "keepAspectRatio", isSignal: true, isRequired: false, transformFunction: null }, isVisible: { classPropertyName: "isVisible", publicName: "isVisible", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, handleClassName: { classPropertyName: "handleClassName", publicName: "handleClassName", isSignal: true, isRequired: false, transformFunction: null }, handleStyle: { classPropertyName: "handleStyle", publicName: "handleStyle", isSignal: true, isRequired: false, transformFunction: null }, lineClassName: { classPropertyName: "lineClassName", publicName: "lineClassName", isSignal: true, isRequired: false, transformFunction: null }, lineStyle: { classPropertyName: "lineStyle", publicName: "lineStyle", isSignal: true, isRequired: false, transformFunction: null }, autoScale: { classPropertyName: "autoScale", publicName: "autoScale", isSignal: true, isRequired: false, transformFunction: null }, shouldResize: { classPropertyName: "shouldResize", publicName: "shouldResize", isSignal: true, isRequired: false, transformFunction: null }, onResizeStartCb: { classPropertyName: "onResizeStartCb", publicName: "onResizeStart", isSignal: true, isRequired: false, transformFunction: null }, onResizeCb: { classPropertyName: "onResizeCb", publicName: "onResize", isSignal: true, isRequired: false, transformFunction: null }, onResizeEndCb: { classPropertyName: "onResizeEndCb", publicName: "onResizeEnd", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { resizeStart: "resizeStart", resize: "resize", resizeEnd: "resizeEnd" }, host: { properties: { "style.display": "isVisible() === false ? \"none\" : null" }, styleAttribute: "position: absolute; inset: 0; pointer-events: none;", classAttribute: "ng-flow__node-resizer xy-flow__resize-control" }, ngImport: i0, template: `
146
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.6", type: NodeResizerComponent, isStandalone: true, selector: "ng-flow-node-resizer", inputs: { nodeIdInput: { classPropertyName: "nodeIdInput", publicName: "nodeId", isSignal: true, isRequired: false, transformFunction: null }, minWidth: { classPropertyName: "minWidth", publicName: "minWidth", isSignal: true, isRequired: false, transformFunction: null }, minHeight: { classPropertyName: "minHeight", publicName: "minHeight", isSignal: true, isRequired: false, transformFunction: null }, maxWidth: { classPropertyName: "maxWidth", publicName: "maxWidth", isSignal: true, isRequired: false, transformFunction: null }, maxHeight: { classPropertyName: "maxHeight", publicName: "maxHeight", isSignal: true, isRequired: false, transformFunction: null }, keepAspectRatio: { classPropertyName: "keepAspectRatio", publicName: "keepAspectRatio", isSignal: true, isRequired: false, transformFunction: null }, isVisible: { classPropertyName: "isVisible", publicName: "isVisible", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, handleClassName: { classPropertyName: "handleClassName", publicName: "handleClassName", isSignal: true, isRequired: false, transformFunction: null }, handleStyle: { classPropertyName: "handleStyle", publicName: "handleStyle", isSignal: true, isRequired: false, transformFunction: null }, lineClassName: { classPropertyName: "lineClassName", publicName: "lineClassName", isSignal: true, isRequired: false, transformFunction: null }, lineStyle: { classPropertyName: "lineStyle", publicName: "lineStyle", isSignal: true, isRequired: false, transformFunction: null }, autoScale: { classPropertyName: "autoScale", publicName: "autoScale", isSignal: true, isRequired: false, transformFunction: null }, shouldResize: { classPropertyName: "shouldResize", publicName: "shouldResize", isSignal: true, isRequired: false, transformFunction: null }, onResizeStartCb: { classPropertyName: "onResizeStartCb", publicName: "onResizeStart", isSignal: true, isRequired: false, transformFunction: null }, onResizeCb: { classPropertyName: "onResizeCb", publicName: "onResize", isSignal: true, isRequired: false, transformFunction: null }, onResizeEndCb: { classPropertyName: "onResizeEndCb", publicName: "onResizeEnd", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { resizeStart: "resizeStart", resize: "resize", resizeEnd: "resizeEnd" }, host: { properties: { "style.display": "effectivelyVisible() ? null : \"none\"" }, styleAttribute: "position: absolute; inset: 0; pointer-events: none;", classAttribute: "ng-flow__node-resizer xy-flow__resize-control" }, ngImport: i0, template: `
87
147
  <div
88
- class="xy-flow__resize-control handle-top-left"
148
+ class="xy-flow__resize-control nodrag handle handle-top-left top left"
89
149
  [class]="handleClassName()"
90
150
  [style.position]="'absolute'" [style.top]="'0'" [style.left]="'0'"
91
151
  [style.cursor]="'nw-resize'" [style.pointer-events]="'all'"
92
152
  [style.width.px]="10" [style.height.px]="10"
93
- [style.border-color]="color() ?? null"
153
+ [style.background-color]="color() ?? null"
94
154
  ></div>
95
155
  <div
96
- class="xy-flow__resize-control handle-top-right"
156
+ class="xy-flow__resize-control nodrag handle handle-top-right top right"
97
157
  [class]="handleClassName()"
98
158
  [style.position]="'absolute'" [style.top]="'0'" [style.right]="'0'"
99
159
  [style.cursor]="'ne-resize'" [style.pointer-events]="'all'"
100
160
  [style.width.px]="10" [style.height.px]="10"
101
- [style.border-color]="color() ?? null"
161
+ [style.background-color]="color() ?? null"
102
162
  ></div>
103
163
  <div
104
- class="xy-flow__resize-control handle-bottom-left"
164
+ class="xy-flow__resize-control nodrag handle handle-bottom-left bottom left"
105
165
  [class]="handleClassName()"
106
166
  [style.position]="'absolute'" [style.bottom]="'0'" [style.left]="'0'"
107
167
  [style.cursor]="'sw-resize'" [style.pointer-events]="'all'"
108
168
  [style.width.px]="10" [style.height.px]="10"
109
- [style.border-color]="color() ?? null"
169
+ [style.background-color]="color() ?? null"
110
170
  ></div>
111
171
  <div
112
- class="xy-flow__resize-control handle-bottom-right"
172
+ class="xy-flow__resize-control nodrag handle handle-bottom-right bottom right"
113
173
  [class]="handleClassName()"
114
174
  [style.position]="'absolute'" [style.bottom]="'0'" [style.right]="'0'"
115
175
  [style.cursor]="'se-resize'" [style.pointer-events]="'all'"
116
176
  [style.width.px]="10" [style.height.px]="10"
117
- [style.border-color]="color() ?? null"
177
+ [style.background-color]="color() ?? null"
118
178
  ></div>
119
179
  <!-- Resize lines -->
120
180
  <div
121
- class="xy-flow__resize-control line-top"
181
+ class="xy-flow__resize-control nodrag line line-top top"
122
182
  [class]="lineClassName()"
123
183
  [style.position]="'absolute'" [style.top]="'0'" [style.left]="'0'" [style.right]="'0'"
124
184
  [style.height.px]="2" [style.cursor]="'n-resize'" [style.pointer-events]="'all'"
125
185
  [style.border-color]="color() ?? null"
126
186
  ></div>
127
187
  <div
128
- class="xy-flow__resize-control line-right"
188
+ class="xy-flow__resize-control nodrag line line-right right"
129
189
  [class]="lineClassName()"
130
190
  [style.position]="'absolute'" [style.top]="'0'" [style.right]="'0'" [style.bottom]="'0'"
131
191
  [style.width.px]="2" [style.cursor]="'e-resize'" [style.pointer-events]="'all'"
132
192
  [style.border-color]="color() ?? null"
133
193
  ></div>
134
194
  <div
135
- class="xy-flow__resize-control line-bottom"
195
+ class="xy-flow__resize-control nodrag line line-bottom bottom"
136
196
  [class]="lineClassName()"
137
197
  [style.position]="'absolute'" [style.bottom]="'0'" [style.left]="'0'" [style.right]="'0'"
138
198
  [style.height.px]="2" [style.cursor]="'s-resize'" [style.pointer-events]="'all'"
139
199
  [style.border-color]="color() ?? null"
140
200
  ></div>
141
201
  <div
142
- class="xy-flow__resize-control line-left"
202
+ class="xy-flow__resize-control nodrag line line-left left"
143
203
  [class]="lineClassName()"
144
204
  [style.position]="'absolute'" [style.top]="'0'" [style.left]="'0'" [style.bottom]="'0'"
145
205
  [style.width.px]="2" [style.cursor]="'w-resize'" [style.pointer-events]="'all'"
@@ -156,65 +216,65 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
156
216
  host: {
157
217
  'class': 'ng-flow__node-resizer xy-flow__resize-control',
158
218
  'style': 'position: absolute; inset: 0; pointer-events: none;',
159
- '[style.display]': 'isVisible() === false ? "none" : null',
219
+ '[style.display]': 'effectivelyVisible() ? null : "none"',
160
220
  },
161
221
  template: `
162
222
  <div
163
- class="xy-flow__resize-control handle-top-left"
223
+ class="xy-flow__resize-control nodrag handle handle-top-left top left"
164
224
  [class]="handleClassName()"
165
225
  [style.position]="'absolute'" [style.top]="'0'" [style.left]="'0'"
166
226
  [style.cursor]="'nw-resize'" [style.pointer-events]="'all'"
167
227
  [style.width.px]="10" [style.height.px]="10"
168
- [style.border-color]="color() ?? null"
228
+ [style.background-color]="color() ?? null"
169
229
  ></div>
170
230
  <div
171
- class="xy-flow__resize-control handle-top-right"
231
+ class="xy-flow__resize-control nodrag handle handle-top-right top right"
172
232
  [class]="handleClassName()"
173
233
  [style.position]="'absolute'" [style.top]="'0'" [style.right]="'0'"
174
234
  [style.cursor]="'ne-resize'" [style.pointer-events]="'all'"
175
235
  [style.width.px]="10" [style.height.px]="10"
176
- [style.border-color]="color() ?? null"
236
+ [style.background-color]="color() ?? null"
177
237
  ></div>
178
238
  <div
179
- class="xy-flow__resize-control handle-bottom-left"
239
+ class="xy-flow__resize-control nodrag handle handle-bottom-left bottom left"
180
240
  [class]="handleClassName()"
181
241
  [style.position]="'absolute'" [style.bottom]="'0'" [style.left]="'0'"
182
242
  [style.cursor]="'sw-resize'" [style.pointer-events]="'all'"
183
243
  [style.width.px]="10" [style.height.px]="10"
184
- [style.border-color]="color() ?? null"
244
+ [style.background-color]="color() ?? null"
185
245
  ></div>
186
246
  <div
187
- class="xy-flow__resize-control handle-bottom-right"
247
+ class="xy-flow__resize-control nodrag handle handle-bottom-right bottom right"
188
248
  [class]="handleClassName()"
189
249
  [style.position]="'absolute'" [style.bottom]="'0'" [style.right]="'0'"
190
250
  [style.cursor]="'se-resize'" [style.pointer-events]="'all'"
191
251
  [style.width.px]="10" [style.height.px]="10"
192
- [style.border-color]="color() ?? null"
252
+ [style.background-color]="color() ?? null"
193
253
  ></div>
194
254
  <!-- Resize lines -->
195
255
  <div
196
- class="xy-flow__resize-control line-top"
256
+ class="xy-flow__resize-control nodrag line line-top top"
197
257
  [class]="lineClassName()"
198
258
  [style.position]="'absolute'" [style.top]="'0'" [style.left]="'0'" [style.right]="'0'"
199
259
  [style.height.px]="2" [style.cursor]="'n-resize'" [style.pointer-events]="'all'"
200
260
  [style.border-color]="color() ?? null"
201
261
  ></div>
202
262
  <div
203
- class="xy-flow__resize-control line-right"
263
+ class="xy-flow__resize-control nodrag line line-right right"
204
264
  [class]="lineClassName()"
205
265
  [style.position]="'absolute'" [style.top]="'0'" [style.right]="'0'" [style.bottom]="'0'"
206
266
  [style.width.px]="2" [style.cursor]="'e-resize'" [style.pointer-events]="'all'"
207
267
  [style.border-color]="color() ?? null"
208
268
  ></div>
209
269
  <div
210
- class="xy-flow__resize-control line-bottom"
270
+ class="xy-flow__resize-control nodrag line line-bottom bottom"
211
271
  [class]="lineClassName()"
212
272
  [style.position]="'absolute'" [style.bottom]="'0'" [style.left]="'0'" [style.right]="'0'"
213
273
  [style.height.px]="2" [style.cursor]="'s-resize'" [style.pointer-events]="'all'"
214
274
  [style.border-color]="color() ?? null"
215
275
  ></div>
216
276
  <div
217
- class="xy-flow__resize-control line-left"
277
+ class="xy-flow__resize-control nodrag line line-left left"
218
278
  [class]="lineClassName()"
219
279
  [style.position]="'absolute'" [style.top]="'0'" [style.left]="'0'" [style.bottom]="'0'"
220
280
  [style.width.px]="2" [style.cursor]="'w-resize'" [style.pointer-events]="'all'"
@@ -1 +1 @@
1
- {"version":3,"file":"node-resizer.component.js","sourceRoot":"","sources":["../../../../../src/lib/components/node-resizer/node-resizer.component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node-resizer.component.js","sourceRoot":"","sources":["../../../../../src/lib/components/node-resizer/node-resizer.component.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@ export declare class NodeToolbarComponent {
10
10
  readonly align: import("@angular/core").InputSignal<"center" | "start" | "end">;
11
11
  private contextNodeId;
12
12
  constructor(nodeId: string | null);
13
- private readonly resolvedNodeIds;
13
+ readonly resolvedNodeIds: import("@angular/core").Signal<string[]>;
14
14
  readonly shouldShow: import("@angular/core").Signal<boolean>;
15
15
  readonly toolbarTransform: import("@angular/core").Signal<string>;
16
16
  static ɵfac: i0.ɵɵFactoryDeclaration<NodeToolbarComponent, [{ optional: true; }]>;
@@ -1 +1 @@
1
- {"version":3,"file":"node-toolbar.component.d.ts","sourceRoot":"","sources":["../../../../../src/lib/components/node-toolbar/node-toolbar.component.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;;AAI3C,qBAYa,oBAAoB;IAC/B,OAAO,CAAC,KAAK,CAAqB;IAElC,8EAA8E;IAC9E,QAAQ,CAAC,WAAW,qEAAwE;IAC5F,QAAQ,CAAC,QAAQ,gDAAiC;IAClD,QAAQ,CAAC,SAAS,2DAAoB;IACtC,QAAQ,CAAC,MAAM,8CAAa;IAC5B,QAAQ,CAAC,KAAK,kEAA+C;IAE7D,OAAO,CAAC,aAAa,CAAc;gBAEM,MAAM,EAAE,MAAM,GAAG,IAAI;IAI9D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAM7B;IAEH,QAAQ,CAAC,UAAU,0CAOhB;IAEH,QAAQ,CAAC,gBAAgB,yCAqCtB;yCAtEQ,oBAAoB;2CAApB,oBAAoB;CAuEhC"}
1
+ {"version":3,"file":"node-toolbar.component.d.ts","sourceRoot":"","sources":["../../../../../src/lib/components/node-toolbar/node-toolbar.component.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;;AAI3C,qBAiBa,oBAAoB;IAC/B,OAAO,CAAC,KAAK,CAAqB;IAElC,8EAA8E;IAC9E,QAAQ,CAAC,WAAW,qEAAwE;IAC5F,QAAQ,CAAC,QAAQ,gDAAiC;IAClD,QAAQ,CAAC,SAAS,2DAAoB;IACtC,QAAQ,CAAC,MAAM,8CAAa;IAC5B,QAAQ,CAAC,KAAK,kEAA+C;IAE7D,OAAO,CAAC,aAAa,CAAc;gBAEM,MAAM,EAAE,MAAM,GAAG,IAAI;IAI9D,QAAQ,CAAC,eAAe,2CAMrB;IAEH,QAAQ,CAAC,UAAU,0CAQhB;IAEH,QAAQ,CAAC,gBAAgB,yCAqCtB;yCAvEQ,oBAAoB;2CAApB,oBAAoB;CAwEhC"}
@@ -21,6 +21,7 @@ export class NodeToolbarComponent {
21
21
  return this.contextNodeId ? [this.contextNodeId] : [];
22
22
  }, ...(ngDevMode ? [{ debugName: "resolvedNodeIds" }] : /* istanbul ignore next */ []));
23
23
  this.shouldShow = computed(() => {
24
+ this.store.version(); // react to node changes
24
25
  if (this.isVisible() !== undefined)
25
26
  return this.isVisible();
26
27
  const ids = this.resolvedNodeIds();
@@ -69,7 +70,7 @@ export class NodeToolbarComponent {
69
70
  this.contextNodeId = nodeId ?? '';
70
71
  }
71
72
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: NodeToolbarComponent, deps: [{ token: NODE_ID, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
72
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.6", type: NodeToolbarComponent, isStandalone: true, selector: "ng-flow-node-toolbar", inputs: { nodeIdInput: { classPropertyName: "nodeIdInput", publicName: "nodeId", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, isVisible: { classPropertyName: "isVisible", publicName: "isVisible", isSignal: true, isRequired: false, transformFunction: null }, offset: { classPropertyName: "offset", publicName: "offset", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.display": "shouldShow() ? \"block\" : \"none\"", "style.transform": "toolbarTransform()" }, styleAttribute: "position: absolute; pointer-events: all; z-index: 1000;", classAttribute: "ng-flow__node-toolbar" }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
73
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.6", type: NodeToolbarComponent, isStandalone: true, selector: "ng-flow-node-toolbar", inputs: { nodeIdInput: { classPropertyName: "nodeIdInput", publicName: "nodeId", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, isVisible: { classPropertyName: "isVisible", publicName: "isVisible", isSignal: true, isRequired: false, transformFunction: null }, offset: { classPropertyName: "offset", publicName: "offset", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-id": "resolvedNodeIds()[0]", "class": "shouldShow() ? \"ng-flow__node-toolbar xy-flow__node-toolbar\" : \"\"", "style.position": "\"absolute\"", "style.left.px": "0", "style.top.px": "0", "style.pointer-events": "shouldShow() ? \"all\" : \"none\"", "style.z-index": "1000", "style.display": "shouldShow() ? \"block\" : \"none\"", "style.transform": "toolbarTransform()" } }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
73
74
  }
74
75
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: NodeToolbarComponent, decorators: [{
75
76
  type: Component,
@@ -78,8 +79,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
78
79
  standalone: true,
79
80
  changeDetection: ChangeDetectionStrategy.OnPush,
80
81
  host: {
81
- 'class': 'ng-flow__node-toolbar',
82
- 'style': 'position: absolute; pointer-events: all; z-index: 1000;',
82
+ '[attr.data-id]': 'resolvedNodeIds()[0]',
83
+ '[class]': 'shouldShow() ? "ng-flow__node-toolbar xy-flow__node-toolbar" : ""',
84
+ '[style.position]': '"absolute"',
85
+ '[style.left.px]': '0',
86
+ '[style.top.px]': '0',
87
+ '[style.pointer-events]': 'shouldShow() ? "all" : "none"',
88
+ '[style.z-index]': '1000',
83
89
  '[style.display]': 'shouldShow() ? "block" : "none"',
84
90
  '[style.transform]': 'toolbarTransform()',
85
91
  },
@@ -1 +1 @@
1
- {"version":3,"file":"node-toolbar.component.js","sourceRoot":"","sources":["../../../../../src/lib/components/node-toolbar/node-toolbar.component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node-toolbar.component.js","sourceRoot":"","sources":["../../../../../src/lib/components/node-toolbar/node-toolbar.component.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,13 @@ export declare class SelectionBoxComponent {
5
5
  readonly contextMenu: import("@angular/core").OutputEmitterRef<MouseEvent>;
6
6
  readonly isVisible: import("@angular/core").Signal<boolean>;
7
7
  readonly rect: import("@angular/core").Signal<import("@angflow/system").SelectionRect | null>;
8
+ readonly nodesSelectionBounds: import("@angular/core").Signal<{
9
+ x: number;
10
+ y: number;
11
+ width: number;
12
+ height: number;
13
+ }>;
14
+ readonly nodesSelectionTransform: import("@angular/core").Signal<string>;
8
15
  onContextMenu(event: MouseEvent): void;
9
16
  static ɵfac: i0.ɵɵFactoryDeclaration<SelectionBoxComponent, never>;
10
17
  static ɵcmp: i0.ɵɵComponentDeclaration<SelectionBoxComponent, "ng-flow-selection-box", never, {}, { "contextMenu": "contextMenu"; }, never, never, true, never>;
@@ -1 +1 @@
1
- {"version":3,"file":"selection-box.component.d.ts","sourceRoot":"","sources":["../../../../../src/lib/components/selection-box/selection-box.component.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;;AAE9D,qBAqBa,qBAAqB;IAChC,QAAQ,CAAC,KAAK,oEAAqB;IAEnC,QAAQ,CAAC,WAAW,uDAAwB;IAE5C,QAAQ,CAAC,SAAS,0CAA+F;IACjH,QAAQ,CAAC,IAAI,iFAAkD;IAE/D,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;yCAR3B,qBAAqB;2CAArB,qBAAqB;CAYjC"}
1
+ {"version":3,"file":"selection-box.component.d.ts","sourceRoot":"","sources":["../../../../../src/lib/components/selection-box/selection-box.component.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;;AAE9D,qBA+Ba,qBAAqB;IAChC,QAAQ,CAAC,KAAK,oEAAqB;IAEnC,QAAQ,CAAC,WAAW,uDAAwB;IAE5C,QAAQ,CAAC,SAAS,0CAA+F;IACjH,QAAQ,CAAC,IAAI,iFAAkD;IAE/D,QAAQ,CAAC,oBAAoB;;;;;OAiB1B;IAEH,QAAQ,CAAC,uBAAuB,yCAG7B;IAEH,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;yCAhC3B,qBAAqB;2CAArB,qBAAqB;CAoCjC"}
@@ -7,6 +7,29 @@ export class SelectionBoxComponent {
7
7
  this.contextMenu = output();
8
8
  this.isVisible = computed(() => this.store.userSelectionActive() && this.store.userSelectionRect() !== null, ...(ngDevMode ? [{ debugName: "isVisible" }] : /* istanbul ignore next */ []));
9
9
  this.rect = computed(() => this.store.userSelectionRect(), ...(ngDevMode ? [{ debugName: "rect" }] : /* istanbul ignore next */ []));
10
+ this.nodesSelectionBounds = computed(() => {
11
+ this.store.version();
12
+ const selected = this.store.selectedNodes();
13
+ if (selected.length === 0)
14
+ return { x: 0, y: 0, width: 0, height: 0 };
15
+ let minX = Infinity, minY = Infinity, maxX = -Infinity, maxY = -Infinity;
16
+ for (const node of selected) {
17
+ const internal = this.store.nodeLookup.get(node.id);
18
+ const x = internal?.internals?.positionAbsolute?.x ?? node.position.x;
19
+ const y = internal?.internals?.positionAbsolute?.y ?? node.position.y;
20
+ const w = internal?.measured?.width ?? node.width ?? 150;
21
+ const h = internal?.measured?.height ?? node.height ?? 40;
22
+ minX = Math.min(minX, x);
23
+ minY = Math.min(minY, y);
24
+ maxX = Math.max(maxX, x + w);
25
+ maxY = Math.max(maxY, y + h);
26
+ }
27
+ return { x: minX, y: minY, width: maxX - minX, height: maxY - minY };
28
+ }, ...(ngDevMode ? [{ debugName: "nodesSelectionBounds" }] : /* istanbul ignore next */ []));
29
+ this.nodesSelectionTransform = computed(() => {
30
+ const b = this.nodesSelectionBounds();
31
+ return `translate(${b.x}px, ${b.y}px)`;
32
+ }, ...(ngDevMode ? [{ debugName: "nodesSelectionTransform" }] : /* istanbul ignore next */ []));
10
33
  }
11
34
  onContextMenu(event) {
12
35
  event.preventDefault();
@@ -25,6 +48,16 @@ export class SelectionBoxComponent {
25
48
  (contextmenu)="onContextMenu($event)"
26
49
  ></div>
27
50
  }
51
+ @if (store.nodesSelectionActive()) {
52
+ <div
53
+ class="ng-flow__selection ng-flow__nodesselection xy-flow__selection xy-flow__nodesselection"
54
+ style="position: absolute; pointer-events: all; z-index: 10; transform-origin: left top;"
55
+ [style.transform]="nodesSelectionTransform()"
56
+ [style.width.px]="nodesSelectionBounds().width"
57
+ [style.height.px]="nodesSelectionBounds().height"
58
+ (contextmenu)="onContextMenu($event)"
59
+ ></div>
60
+ }
28
61
  `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
29
62
  }
30
63
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: SelectionBoxComponent, decorators: [{
@@ -48,6 +81,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
48
81
  (contextmenu)="onContextMenu($event)"
49
82
  ></div>
50
83
  }
84
+ @if (store.nodesSelectionActive()) {
85
+ <div
86
+ class="ng-flow__selection ng-flow__nodesselection xy-flow__selection xy-flow__nodesselection"
87
+ style="position: absolute; pointer-events: all; z-index: 10; transform-origin: left top;"
88
+ [style.transform]="nodesSelectionTransform()"
89
+ [style.width.px]="nodesSelectionBounds().width"
90
+ [style.height.px]="nodesSelectionBounds().height"
91
+ (contextmenu)="onContextMenu($event)"
92
+ ></div>
93
+ }
51
94
  `,
52
95
  }]
53
96
  }], propDecorators: { contextMenu: [{ type: i0.Output, args: ["contextMenu"] }] } });
@@ -1 +1 @@
1
- {"version":3,"file":"selection-box.component.js","sourceRoot":"","sources":["../../../../../src/lib/components/selection-box/selection-box.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,uBAAuB,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC7F,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;;AAuB9D,MAAM,OAAO,qBAAqB;IArBlC;QAsBW,UAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QAE1B,gBAAW,GAAG,MAAM,EAAc,CAAC;QAEnC,cAAS,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAK,IAAI,gFAAC,CAAC;QACxG,SAAI,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,2EAAC,CAAC;KAMhE;IAJC,aAAa,CAAC,KAAiB;QAC7B,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;8GAXU,qBAAqB;kGAArB,qBAAqB,0KAdtB;;;;;;;;;;;;GAYT;;2FAEU,qBAAqB;kBArBjC,SAAS;mBAAC;oBACT,QAAQ,EAAE,uBAAuB;oBACjC,UAAU,EAAE,IAAI;oBAChB,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,IAAI,EAAE;wBACJ,OAAO,EAAE,oBAAoB;qBAC9B;oBACD,QAAQ,EAAE;;;;;;;;;;;;GAYT;iBACF"}
1
+ {"version":3,"file":"selection-box.component.js","sourceRoot":"","sources":["../../../../../src/lib/components/selection-box/selection-box.component.ts"],"names":[],"mappings":"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"}
@@ -49,10 +49,16 @@ export declare class EdgeRendererComponent {
49
49
  readonly visibleEdges: import("@angular/core").Signal<Edge[]>;
50
50
  readonly markers: import("@angular/core").Signal<Record<string, unknown>[]>;
51
51
  isCustomEdge(type?: string): boolean;
52
+ getEdgeClasses(edge: Edge): string;
53
+ getEdgeGClasses(edge: Edge): string;
54
+ getEdgePathStyle(edge: Edge): string | null;
55
+ getEdgeZIndex(edge: Edge): number;
52
56
  getEdgePath(ei: Record<string, unknown>): string;
53
57
  getEdgeComponent(type?: string): Type<unknown>;
54
58
  getEdgeInputs(edge: Edge): Record<string, any>;
55
59
  onEdgeEvent(event: MouseEvent, edge: Edge, eventType: string): void;
60
+ onEdgeKeyDown(event: KeyboardEvent, edge: Edge): void;
61
+ onEdgeFocus(edge: Edge): void;
56
62
  getEdgeCenterX(ei: Record<string, unknown>): number;
57
63
  getEdgeCenterY(ei: Record<string, unknown>): number;
58
64
  getEdgeAriaLabel(edge: Edge): string;
@@ -1 +1 @@
1
- {"version":3,"file":"edge-renderer.component.d.ts","sourceRoot":"","sources":["../../../../../src/lib/container/edge-renderer/edge-renderer.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,IAAI,EAEL,MAAM,eAAe,CAAC;AAEvB,OAAO,EASL,KAAK,UAAU,EACf,KAAK,UAAU,EAEf,KAAK,oBAAoB,EAC1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAM9D,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;;AAanD,qBAwHa,qBAAqB;IAChC,QAAQ,CAAC,KAAK,8CAAqB;IAEnC,QAAQ,CAAC,eAAe,8CAAa;IAErC,QAAQ,CAAC,SAAS;eAAmB,UAAU;cAAQ,IAAI;OAAM;IACjE,QAAQ,CAAC,eAAe;eAAmB,UAAU;cAAQ,IAAI;OAAM;IACvE,QAAQ,CAAC,eAAe;eAAmB,UAAU;cAAQ,IAAI;OAAM;IACvE,QAAQ,CAAC,cAAc;eAAmB,UAAU;cAAQ,IAAI;OAAM;IACtE,QAAQ,CAAC,aAAa;eAAmB,UAAU;cAAQ,IAAI;OAAM;IACrE,QAAQ,CAAC,cAAc;eAAmB,UAAU;cAAQ,IAAI;OAAM;IACtE,QAAQ,CAAC,eAAe,iDAAwB;IAEhD,QAAQ,CAAC,SAAS;cAAkB,IAAI;oBAAc,UAAU;OAAM;IACtE,QAAQ,CAAC,cAAc;eAAmB,UAAU;cAAQ,IAAI;oBAAc,UAAU;OAAM;IAC9F,QAAQ,CAAC,YAAY;eAAmB,UAAU,GAAG,UAAU;cAAQ,IAAI;oBAAc,UAAU;yBAAmB,oBAAoB;OAAM;IAEhJ,QAAQ,CAAC,YAAY,yCAGlB;IAEH,QAAQ,CAAC,OAAO,4DAUb;IAEH,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO;IAQpC,WAAW,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM;IAyBhD,gBAAgB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;IAK9C,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAkE9C,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IA0BnE,cAAc,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM;IAInD,cAAc,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM;IAInD,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAKpC,mBAAmB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;IAKxC,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAM1D,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAM1D,0BAA0B,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI;IAS/D,0BAA0B,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI;IAS/D,OAAO,CAAC,mBAAmB;IA2C3B,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,YAAY;yCAvQT,qBAAqB;2CAArB,qBAAqB;CA4QjC"}
1
+ {"version":3,"file":"edge-renderer.component.d.ts","sourceRoot":"","sources":["../../../../../src/lib/container/edge-renderer/edge-renderer.component.ts"],"names":[],"mappings":"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"}