@angflow/angular 0.0.7 → 0.0.9

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.
@@ -1,4 +1,4 @@
1
- import { Component, ChangeDetectionStrategy, input, output, inject, signal } from '@angular/core';
1
+ import { Component, ChangeDetectionStrategy, input, output, inject, computed } from '@angular/core';
2
2
  import { FlowStore } from '../../services/flow-store.service';
3
3
  import { NgFlowService } from '../../services/ng-flow.service';
4
4
  import { PanelComponent } from '../panel/panel.component';
@@ -19,7 +19,16 @@ export class ControlsComponent {
19
19
  this.zoomOutClick = output();
20
20
  this.fitViewClick = output();
21
21
  this.interactiveChange = output();
22
- this.isLocked = signal(false, ...(ngDevMode ? [{ debugName: "isLocked" }] : /* istanbul ignore next */ []));
22
+ // Derive interactive/locked state directly from the store so external
23
+ // mutations of nodesDraggable/nodesConnectable/elementsSelectable stay
24
+ // in sync with the lock icon. Mirrors React Flow's Controls selector.
25
+ this.isInteractive = computed(() => this.store.nodesDraggable() ||
26
+ this.store.nodesConnectable() ||
27
+ this.store.elementsSelectable(), ...(ngDevMode ? [{ debugName: "isInteractive" }] : /* istanbul ignore next */ []));
28
+ this.isLocked = computed(() => !this.isInteractive(), ...(ngDevMode ? [{ debugName: "isLocked" }] : /* istanbul ignore next */ []));
29
+ // Disable zoom buttons at min/max extent, matching React Flow's behaviour.
30
+ this.maxZoomReached = computed(() => this.store.transform()[2] >= this.store.maxZoom(), ...(ngDevMode ? [{ debugName: "maxZoomReached" }] : /* istanbul ignore next */ []));
31
+ this.minZoomReached = computed(() => this.store.transform()[2] <= this.store.minZoom(), ...(ngDevMode ? [{ debugName: "minZoomReached" }] : /* istanbul ignore next */ []));
23
32
  }
24
33
  onZoomIn() {
25
34
  this.ngFlowService.zoomIn();
@@ -34,71 +43,72 @@ export class ControlsComponent {
34
43
  this.fitViewClick.emit();
35
44
  }
36
45
  onToggleLock() {
37
- const locked = !this.isLocked();
38
- this.isLocked.set(locked);
39
- this.store.nodesDraggable.set(!locked);
40
- this.store.nodesConnectable.set(!locked);
41
- this.store.elementsSelectable.set(!locked);
42
- this.interactiveChange.emit(!locked);
46
+ const nextInteractive = !this.isInteractive();
47
+ this.store.nodesDraggable.set(nextInteractive);
48
+ this.store.nodesConnectable.set(nextInteractive);
49
+ this.store.elementsSelectable.set(nextInteractive);
50
+ this.interactiveChange.emit(nextInteractive);
43
51
  }
44
52
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ControlsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
45
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: ControlsComponent, isStandalone: true, selector: "ng-flow-controls", inputs: { position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, showZoom: { classPropertyName: "showZoom", publicName: "showZoom", isSignal: true, isRequired: false, transformFunction: null }, showFitView: { classPropertyName: "showFitView", publicName: "showFitView", isSignal: true, isRequired: false, transformFunction: null }, showInteractive: { classPropertyName: "showInteractive", publicName: "showInteractive", isSignal: true, isRequired: false, transformFunction: null }, fitViewOptions: { classPropertyName: "fitViewOptions", publicName: "fitViewOptions", isSignal: true, isRequired: false, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { zoomInClick: "zoomInClick", zoomOutClick: "zoomOutClick", fitViewClick: "fitViewClick", interactiveChange: "interactiveChange" }, ngImport: i0, template: `
46
- <ng-flow-panel [position]="position()">
47
- <div
48
- class="ng-flow__controls xy-flow__controls"
49
- [class.horizontal]="orientation() === 'horizontal'"
50
- [attr.aria-label]="ariaLabel()"
51
- >
52
- @if (showZoom()) {
53
- <button
54
- type="button"
55
- class="ng-flow__controls-button xy-flow__controls-button"
56
- title="zoom in"
57
- aria-label="zoom in"
58
- (click)="onZoomIn()"
59
- >
60
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" aria-hidden="true"><path d="M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"/></svg>
61
- </button>
62
- <button
63
- type="button"
64
- class="ng-flow__controls-button xy-flow__controls-button"
65
- title="zoom out"
66
- aria-label="zoom out"
67
- (click)="onZoomOut()"
68
- >
69
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" aria-hidden="true"><path d="M0 13.867h32v4.266H0z"/></svg>
70
- </button>
71
- }
72
- @if (showFitView()) {
73
- <button
74
- type="button"
75
- class="ng-flow__controls-button xy-flow__controls-button"
76
- title="fit view"
77
- aria-label="fit view"
78
- (click)="onFitView()"
79
- >
80
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" aria-hidden="true"><path d="M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94a.919.919 0 01-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"/></svg>
81
- </button>
82
- }
83
- @if (showInteractive()) {
84
- <button
85
- type="button"
86
- class="ng-flow__controls-button xy-flow__controls-button"
87
- title="toggle interactivity"
88
- aria-label="toggle interactivity"
89
- [attr.aria-pressed]="isLocked()"
90
- (click)="onToggleLock()"
91
- >
92
- @if (isLocked()) {
93
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 25 32" aria-hidden="true"><path d="M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"/></svg>
94
- } @else {
95
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 25 32" aria-hidden="true"><path d="M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"/></svg>
96
- }
97
- </button>
98
- }
99
- <ng-content />
100
- </div>
101
- </ng-flow-panel>
53
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: ControlsComponent, isStandalone: true, selector: "ng-flow-controls", inputs: { position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, showZoom: { classPropertyName: "showZoom", publicName: "showZoom", isSignal: true, isRequired: false, transformFunction: null }, showFitView: { classPropertyName: "showFitView", publicName: "showFitView", isSignal: true, isRequired: false, transformFunction: null }, showInteractive: { classPropertyName: "showInteractive", publicName: "showInteractive", isSignal: true, isRequired: false, transformFunction: null }, fitViewOptions: { classPropertyName: "fitViewOptions", publicName: "fitViewOptions", isSignal: true, isRequired: false, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { zoomInClick: "zoomInClick", zoomOutClick: "zoomOutClick", fitViewClick: "fitViewClick", interactiveChange: "interactiveChange" }, ngImport: i0, template: `
54
+ <ng-flow-panel [position]="position()">
55
+ <div
56
+ class="ng-flow__controls xy-flow__controls"
57
+ [class.horizontal]="orientation() === 'horizontal'"
58
+ [attr.aria-label]="ariaLabel()"
59
+ >
60
+ @if (showZoom()) {
61
+ <button
62
+ type="button"
63
+ class="ng-flow__controls-button xy-flow__controls-button"
64
+ title="zoom in"
65
+ aria-label="zoom in"
66
+ [disabled]="maxZoomReached()"
67
+ (click)="onZoomIn()"
68
+ >
69
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" aria-hidden="true"><path d="M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"/></svg>
70
+ </button>
71
+ <button
72
+ type="button"
73
+ class="ng-flow__controls-button xy-flow__controls-button"
74
+ title="zoom out"
75
+ aria-label="zoom out"
76
+ [disabled]="minZoomReached()"
77
+ (click)="onZoomOut()"
78
+ >
79
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" aria-hidden="true"><path d="M0 13.867h32v4.266H0z"/></svg>
80
+ </button>
81
+ }
82
+ @if (showFitView()) {
83
+ <button
84
+ type="button"
85
+ class="ng-flow__controls-button xy-flow__controls-button"
86
+ title="fit view"
87
+ aria-label="fit view"
88
+ (click)="onFitView()"
89
+ >
90
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" aria-hidden="true"><path d="M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94a.919.919 0 01-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"/></svg>
91
+ </button>
92
+ }
93
+ @if (showInteractive()) {
94
+ <button
95
+ type="button"
96
+ class="ng-flow__controls-button xy-flow__controls-button"
97
+ title="toggle interactivity"
98
+ aria-label="toggle interactivity"
99
+ [attr.aria-pressed]="isLocked()"
100
+ (click)="onToggleLock()"
101
+ >
102
+ @if (isLocked()) {
103
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 25 32" aria-hidden="true"><path d="M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"/></svg>
104
+ } @else {
105
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 25 32" aria-hidden="true"><path d="M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"/></svg>
106
+ }
107
+ </button>
108
+ }
109
+ <ng-content />
110
+ </div>
111
+ </ng-flow-panel>
102
112
  `, isInline: true, dependencies: [{ kind: "component", type: PanelComponent, selector: "ng-flow-panel", inputs: ["position"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
103
113
  }
104
114
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ControlsComponent, decorators: [{
@@ -108,63 +118,65 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
108
118
  standalone: true,
109
119
  imports: [PanelComponent],
110
120
  changeDetection: ChangeDetectionStrategy.OnPush,
111
- template: `
112
- <ng-flow-panel [position]="position()">
113
- <div
114
- class="ng-flow__controls xy-flow__controls"
115
- [class.horizontal]="orientation() === 'horizontal'"
116
- [attr.aria-label]="ariaLabel()"
117
- >
118
- @if (showZoom()) {
119
- <button
120
- type="button"
121
- class="ng-flow__controls-button xy-flow__controls-button"
122
- title="zoom in"
123
- aria-label="zoom in"
124
- (click)="onZoomIn()"
125
- >
126
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" aria-hidden="true"><path d="M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"/></svg>
127
- </button>
128
- <button
129
- type="button"
130
- class="ng-flow__controls-button xy-flow__controls-button"
131
- title="zoom out"
132
- aria-label="zoom out"
133
- (click)="onZoomOut()"
134
- >
135
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" aria-hidden="true"><path d="M0 13.867h32v4.266H0z"/></svg>
136
- </button>
137
- }
138
- @if (showFitView()) {
139
- <button
140
- type="button"
141
- class="ng-flow__controls-button xy-flow__controls-button"
142
- title="fit view"
143
- aria-label="fit view"
144
- (click)="onFitView()"
145
- >
146
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" aria-hidden="true"><path d="M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94a.919.919 0 01-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"/></svg>
147
- </button>
148
- }
149
- @if (showInteractive()) {
150
- <button
151
- type="button"
152
- class="ng-flow__controls-button xy-flow__controls-button"
153
- title="toggle interactivity"
154
- aria-label="toggle interactivity"
155
- [attr.aria-pressed]="isLocked()"
156
- (click)="onToggleLock()"
157
- >
158
- @if (isLocked()) {
159
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 25 32" aria-hidden="true"><path d="M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"/></svg>
160
- } @else {
161
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 25 32" aria-hidden="true"><path d="M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"/></svg>
162
- }
163
- </button>
164
- }
165
- <ng-content />
166
- </div>
167
- </ng-flow-panel>
121
+ template: `
122
+ <ng-flow-panel [position]="position()">
123
+ <div
124
+ class="ng-flow__controls xy-flow__controls"
125
+ [class.horizontal]="orientation() === 'horizontal'"
126
+ [attr.aria-label]="ariaLabel()"
127
+ >
128
+ @if (showZoom()) {
129
+ <button
130
+ type="button"
131
+ class="ng-flow__controls-button xy-flow__controls-button"
132
+ title="zoom in"
133
+ aria-label="zoom in"
134
+ [disabled]="maxZoomReached()"
135
+ (click)="onZoomIn()"
136
+ >
137
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" aria-hidden="true"><path d="M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"/></svg>
138
+ </button>
139
+ <button
140
+ type="button"
141
+ class="ng-flow__controls-button xy-flow__controls-button"
142
+ title="zoom out"
143
+ aria-label="zoom out"
144
+ [disabled]="minZoomReached()"
145
+ (click)="onZoomOut()"
146
+ >
147
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" aria-hidden="true"><path d="M0 13.867h32v4.266H0z"/></svg>
148
+ </button>
149
+ }
150
+ @if (showFitView()) {
151
+ <button
152
+ type="button"
153
+ class="ng-flow__controls-button xy-flow__controls-button"
154
+ title="fit view"
155
+ aria-label="fit view"
156
+ (click)="onFitView()"
157
+ >
158
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" aria-hidden="true"><path d="M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94a.919.919 0 01-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"/></svg>
159
+ </button>
160
+ }
161
+ @if (showInteractive()) {
162
+ <button
163
+ type="button"
164
+ class="ng-flow__controls-button xy-flow__controls-button"
165
+ title="toggle interactivity"
166
+ aria-label="toggle interactivity"
167
+ [attr.aria-pressed]="isLocked()"
168
+ (click)="onToggleLock()"
169
+ >
170
+ @if (isLocked()) {
171
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 25 32" aria-hidden="true"><path d="M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"/></svg>
172
+ } @else {
173
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 25 32" aria-hidden="true"><path d="M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"/></svg>
174
+ }
175
+ </button>
176
+ }
177
+ <ng-content />
178
+ </div>
179
+ </ng-flow-panel>
168
180
  `,
169
181
  }]
170
182
  }], propDecorators: { position: [{ type: i0.Input, args: [{ isSignal: true, alias: "position", required: false }] }], showZoom: [{ type: i0.Input, args: [{ isSignal: true, alias: "showZoom", required: false }] }], showFitView: [{ type: i0.Input, args: [{ isSignal: true, alias: "showFitView", required: false }] }], showInteractive: [{ type: i0.Input, args: [{ isSignal: true, alias: "showInteractive", required: false }] }], fitViewOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "fitViewOptions", required: false }] }], orientation: [{ type: i0.Input, args: [{ isSignal: true, alias: "orientation", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], zoomInClick: [{ type: i0.Output, args: ["zoomInClick"] }], zoomOutClick: [{ type: i0.Output, args: ["zoomOutClick"] }], fitViewClick: [{ type: i0.Output, args: ["fitViewClick"] }], interactiveChange: [{ type: i0.Output, args: ["interactiveChange"] }] } });
@@ -1 +1 @@
1
- {"version":3,"file":"controls.component.js","sourceRoot":"","sources":["../../../../../src/lib/components/controls/controls.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,uBAAuB,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAElG,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;;AAkE1D,MAAM,OAAO,iBAAiB;IAhE9B;QAiEU,UAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QAC1B,kBAAa,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;QAErC,aAAQ,GAAG,KAAK,CAAgB,aAAa,+EAAC,CAAC;QAC/C,aAAQ,GAAG,KAAK,CAAC,IAAI,+EAAC,CAAC;QACvB,gBAAW,GAAG,KAAK,CAAC,IAAI,kFAAC,CAAC;QAC1B,oBAAe,GAAG,KAAK,CAAC,IAAI,sFAAC,CAAC;QAC9B,mBAAc,GAAG,KAAK,+FAA2B,CAAC;QAClD,gBAAW,GAAG,KAAK,CAA4B,UAAU,kFAAC,CAAC;QAC3D,cAAS,GAAG,KAAK,CAAS,uBAAuB,gFAAC,CAAC;QAE5D,mBAAmB;QACV,gBAAW,GAAG,MAAM,EAAQ,CAAC;QAC7B,iBAAY,GAAG,MAAM,EAAQ,CAAC;QAC9B,iBAAY,GAAG,MAAM,EAAQ,CAAC;QAC9B,sBAAiB,GAAG,MAAM,EAAW,CAAC;QAEtC,aAAQ,GAAG,MAAM,CAAC,KAAK,+EAAC,CAAC;KAyBnC;IAvBC,QAAQ;QACN,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;QAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC;IAED,SAAS;QACP,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,SAAS;QACP,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,YAAY;QACV,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1B,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;8GA1CU,iBAAiB;kGAAjB,iBAAiB,wqCA3DlB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDT,4DA3DS,cAAc;;2FA6Db,iBAAiB;kBAhE7B,SAAS;mBAAC;oBACT,QAAQ,EAAE,kBAAkB;oBAC5B,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAE,CAAC,cAAc,CAAC;oBACzB,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDT;iBACF"}
1
+ {"version":3,"file":"controls.component.js","sourceRoot":"","sources":["../../../../../src/lib/components/controls/controls.component.ts"],"names":[],"mappings":"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"}
@@ -40,6 +40,7 @@ export declare class MiniMapComponent implements AfterViewInit, OnDestroy {
40
40
  private xyMinimap;
41
41
  private animationFrameId;
42
42
  private isDragging;
43
+ private dragMoved;
43
44
  private boundOnMouseMove;
44
45
  private boundOnMouseUp;
45
46
  readonly minimapNodes: import("@angular/core").Signal<{
@@ -1 +1 @@
1
- {"version":3,"file":"minimap.component.d.ts","sourceRoot":"","sources":["../../../../../src/lib/components/minimap/minimap.component.ts"],"names":[],"mappings":"AAAA,OAAO,EASL,aAAa,EACb,SAAS,EACT,IAAI,EACL,MAAM,eAAe,CAAC;AACvB,OAAO,EAIL,KAAK,aAAa,EAEnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAE9D,OAAO,KAAK,EAAE,IAAI,EAAgB,MAAM,aAAa,CAAC;;AAEtD,MAAM,MAAM,uBAAuB,CAAC,QAAQ,SAAS,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,QAAQ,KAAK,MAAM,CAAC;AAE/F,qBAoEa,gBAAiB,YAAW,aAAa,EAAE,SAAS;IAC/D,QAAQ,CAAC,KAAK,8CAAqB;IACnC,OAAO,CAAC,mBAAmB,CAA6C;IAExE,QAAQ,CAAC,QAAQ,qDAAwC;IACzD,QAAQ,CAAC,OAAO,8CAAkC;IAClD,QAAQ,CAAC,QAAQ,8CAAmC;IACpD,QAAQ,CAAC,QAAQ,+CAAgB;IACjC,QAAQ,CAAC,QAAQ,+CAAgB;IACjC,QAAQ,CAAC,QAAQ,8CAAa;IAC9B,QAAQ,CAAC,UAAU,+CAAgB;IAGnC,QAAQ,CAAC,SAAS,8EAAsD;IACxE,QAAQ,CAAC,eAAe,8EAA0D;IAClF,QAAQ,CAAC,aAAa,8EAA+C;IACrE,QAAQ,CAAC,gBAAgB,8CAAY;IACrC,QAAQ,CAAC,eAAe,8CAAY;IACpC,QAAQ,CAAC,aAAa,4DAAqC;IAG3D,QAAQ,CAAC,OAAO,0DAAmB;IACnC,QAAQ,CAAC,SAAS,8CAA6C;IAC/D,QAAQ,CAAC,eAAe,0DAAmB;IAC3C,QAAQ,CAAC,eAAe,8CAAY;IACpC,QAAQ,CAAC,WAAW,8CAAY;IAGhC,QAAQ,CAAC,SAAS,qDAAoC;IAGtD,QAAQ,CAAC,YAAY;eAAmB,UAAU;kBAAY;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE;OAAM;IAC5F,QAAQ,CAAC,gBAAgB;eAAmB,UAAU;cAAQ,IAAI;OAAM;IAExE,OAAO,CAAC,SAAS,CAA6C;IAC9D,OAAO,CAAC,gBAAgB,CAAuB;IAC/C,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,gBAAgB,CAAsC;IAC9D,OAAO,CAAC,cAAc,CAAoC;IAE1D,QAAQ,CAAC,YAAY;;;;;;;SAWlB;IAGH,QAAQ,CAAC,YAAY;;;;;OAUlB;IAQH,QAAQ,CAAC,WAAW;;;;;;OAmCjB;IAEH,QAAQ,CAAC,OAAO,yCAGb;IAKH,QAAQ,CAAC,qBAAqB,yCAAyE;IAMvG,QAAQ,CAAC,QAAQ,yCAMd;IAEH,YAAY,CAAC,IAAI,EAAE;QAAE,SAAS,CAAC,EAAE,IAAI,CAAA;KAAE,GAAG,MAAM;IAQhD,kBAAkB,CAAC,IAAI,EAAE;QAAE,SAAS,CAAC,EAAE,IAAI,CAAA;KAAE,GAAG,MAAM;IAQtD,gBAAgB,CAAC,IAAI,EAAE;QAAE,SAAS,CAAC,EAAE,IAAI,CAAA;KAAE,GAAG,MAAM;IAQpD,eAAe,IAAI,IAAI;IAEvB,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAoEvC,kBAAkB,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAO3C,OAAO,CAAC,kBAAkB;IA4B1B,OAAO,CAAC,gBAAgB;IAMxB,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IA0BvC,kBAAkB,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;QAAE,SAAS,CAAC,EAAE,IAAI,CAAA;KAAE,GAAG,IAAI;IAOvE,WAAW,IAAI,IAAI;yCA3SR,gBAAgB;2CAAhB,gBAAgB;CAoT5B"}
1
+ {"version":3,"file":"minimap.component.d.ts","sourceRoot":"","sources":["../../../../../src/lib/components/minimap/minimap.component.ts"],"names":[],"mappings":"AAAA,OAAO,EASL,aAAa,EACb,SAAS,EACT,IAAI,EACL,MAAM,eAAe,CAAC;AACvB,OAAO,EAIL,KAAK,aAAa,EAEnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAE9D,OAAO,KAAK,EAAE,IAAI,EAAgB,MAAM,aAAa,CAAC;;AAEtD,MAAM,MAAM,uBAAuB,CAAC,QAAQ,SAAS,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,QAAQ,KAAK,MAAM,CAAC;AAE/F,qBAoEa,gBAAiB,YAAW,aAAa,EAAE,SAAS;IAC/D,QAAQ,CAAC,KAAK,8CAAqB;IACnC,OAAO,CAAC,mBAAmB,CAA6C;IAExE,QAAQ,CAAC,QAAQ,qDAAwC;IACzD,QAAQ,CAAC,OAAO,8CAAkC;IAClD,QAAQ,CAAC,QAAQ,8CAAmC;IACpD,QAAQ,CAAC,QAAQ,+CAAgB;IACjC,QAAQ,CAAC,QAAQ,+CAAgB;IACjC,QAAQ,CAAC,QAAQ,8CAAa;IAC9B,QAAQ,CAAC,UAAU,+CAAgB;IAGnC,QAAQ,CAAC,SAAS,8EAAsD;IACxE,QAAQ,CAAC,eAAe,8EAA0D;IAClF,QAAQ,CAAC,aAAa,8EAA+C;IACrE,QAAQ,CAAC,gBAAgB,8CAAY;IACrC,QAAQ,CAAC,eAAe,8CAAY;IACpC,QAAQ,CAAC,aAAa,4DAAqC;IAG3D,QAAQ,CAAC,OAAO,0DAAmB;IACnC,QAAQ,CAAC,SAAS,8CAA6C;IAC/D,QAAQ,CAAC,eAAe,0DAAmB;IAC3C,QAAQ,CAAC,eAAe,8CAAY;IACpC,QAAQ,CAAC,WAAW,8CAAY;IAGhC,QAAQ,CAAC,SAAS,qDAAoC;IAGtD,QAAQ,CAAC,YAAY;eAAmB,UAAU;kBAAY;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE;OAAM;IAC5F,QAAQ,CAAC,gBAAgB;eAAmB,UAAU;cAAQ,IAAI;OAAM;IAExE,OAAO,CAAC,SAAS,CAA6C;IAC9D,OAAO,CAAC,gBAAgB,CAAuB;IAC/C,OAAO,CAAC,UAAU,CAAS;IAI3B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,gBAAgB,CAAsC;IAC9D,OAAO,CAAC,cAAc,CAAoC;IAE1D,QAAQ,CAAC,YAAY;;;;;;;SAWlB;IAGH,QAAQ,CAAC,YAAY;;;;;OAUlB;IAQH,QAAQ,CAAC,WAAW;;;;;;OAmCjB;IAEH,QAAQ,CAAC,OAAO,yCAGb;IAKH,QAAQ,CAAC,qBAAqB,yCAAyE;IAMvG,QAAQ,CAAC,QAAQ,yCAMd;IAEH,YAAY,CAAC,IAAI,EAAE;QAAE,SAAS,CAAC,EAAE,IAAI,CAAA;KAAE,GAAG,MAAM;IAQhD,kBAAkB,CAAC,IAAI,EAAE;QAAE,SAAS,CAAC,EAAE,IAAI,CAAA;KAAE,GAAG,MAAM;IAQtD,gBAAgB,CAAC,IAAI,EAAE;QAAE,SAAS,CAAC,EAAE,IAAI,CAAA;KAAE,GAAG,MAAM;IAQpD,eAAe,IAAI,IAAI;IAEvB,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IA4EvC,kBAAkB,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAQ3C,OAAO,CAAC,kBAAkB;IA6B1B,OAAO,CAAC,gBAAgB;IAMxB,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IA0BvC,kBAAkB,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;QAAE,SAAS,CAAC,EAAE,IAAI,CAAA;KAAE,GAAG,IAAI;IAOvE,WAAW,IAAI,IAAI;yCAzTR,gBAAgB;2CAAhB,gBAAgB;CAkU5B"}