@tetacom/svg-charts 1.5.0 → 1.5.2

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 (32) hide show
  1. package/esm2022/chart/base/series-base.component.mjs +3 -3
  2. package/esm2022/chart/chart/chart.component.mjs +3 -3
  3. package/esm2022/chart/chart-container/annotation/annotation.component.mjs +3 -3
  4. package/esm2022/chart/chart-container/chart-container.component.mjs +3 -3
  5. package/esm2022/chart/chart-container/crosshair/crosshair.component.mjs +3 -3
  6. package/esm2022/chart/chart-container/gridlines/gridlines.component.mjs +3 -3
  7. package/esm2022/chart/chart-container/plotband/plot-band.component.mjs +3 -3
  8. package/esm2022/chart/chart-container/plotline/plotline.component.mjs +3 -3
  9. package/esm2022/chart/chart-container/series/area-series/area-series.component.mjs +3 -3
  10. package/esm2022/chart/chart-container/series/bar/bar-series.component.mjs +3 -3
  11. package/esm2022/chart/chart-container/series/block-area-series/block-area-series.component.mjs +3 -3
  12. package/esm2022/chart/chart-container/series/block-horizontal-series/block-horizontal-series.component.mjs +3 -3
  13. package/esm2022/chart/chart-container/series/block-series/block-series.component.mjs +3 -3
  14. package/esm2022/chart/chart-container/series/line/line-series.component.mjs +3 -3
  15. package/esm2022/chart/chart-container/series/linear-series-base.mjs +3 -3
  16. package/esm2022/chart/chart-container/series/scatter-series/scatter-series.component.mjs +3 -3
  17. package/esm2022/chart/chart-container/series-host/series-host.component.mjs +3 -3
  18. package/esm2022/chart/chart-container/tooltip/tooltip.component.mjs +3 -3
  19. package/esm2022/chart/chart-container/x-axis/x-axis.component.mjs +3 -3
  20. package/esm2022/chart/chart-container/y-axis/y-axis.component.mjs +3 -3
  21. package/esm2022/chart/directives/brushable.directive.mjs +3 -3
  22. package/esm2022/chart/directives/draggable-point.directive.mjs +3 -3
  23. package/esm2022/chart/directives/zoomable.directive.mjs +3 -3
  24. package/esm2022/chart/legend/legend.component.mjs +5 -5
  25. package/esm2022/chart/service/broadcast.service.mjs +3 -3
  26. package/esm2022/chart/service/brush.service.mjs +3 -3
  27. package/esm2022/chart/service/chart.service.mjs +3 -3
  28. package/esm2022/chart/service/scale.service.mjs +3 -3
  29. package/esm2022/chart/service/zoom.service.mjs +3 -3
  30. package/fesm2022/tetacom-svg-charts.mjs +88 -88
  31. package/fesm2022/tetacom-svg-charts.mjs.map +1 -1
  32. package/package.json +5 -1
@@ -37,10 +37,10 @@ export class XAxisComponent {
37
37
  this.update$.next();
38
38
  }
39
39
  }
40
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: XAxisComponent, deps: [{ token: i1.ScaleService }, { token: i2.ChartService }], target: i0.ɵɵFactoryTarget.Component }); }
41
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: XAxisComponent, isStandalone: true, selector: "[teta-x-axis]", inputs: { axis: "axis", size: "size" }, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"{x: x | async, ticks: ticks | async} as data\">\n <svg:g text-anchor=\"middle\" *ngFor=\"let tick of data.ticks\" [attr.transform]=\"'translate('+ data.x(tick) +', 0)'\">\n <text fill=\"var(--color-text-70)\" [attr.dy]=\"axis.options.opposite ? '-0.71em' : '0.71em'\" [attr.y]=\"axis.options.opposite ? 0 : 9\">{{ this.axis.options.tickFormat ? this.axis.options.tickFormat(tick) : this.axis.defaultFormatter()(tick) }}</text>\n <line stroke=\"var(--color-text-30)\" [attr.y2]=\"axis.options.opposite ? -6 : 6\"></line>\n </svg:g>\n\n <svg:g class=\"label-axis font-caption\" [attr.transform]=\"getLabelTransform()\">\n <text fill=\"var(--color-text-70)\" text-anchor=\"middle\" dominant-baseline=\"middle\">{{ axis.options.title }}</text>\n </svg:g>\n</ng-container>\n\n", styles: [":host .tick{stroke:var(--color-text-20)}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
40
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: XAxisComponent, deps: [{ token: i1.ScaleService }, { token: i2.ChartService }], target: i0.ɵɵFactoryTarget.Component }); }
41
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: XAxisComponent, isStandalone: true, selector: "[teta-x-axis]", inputs: { axis: "axis", size: "size" }, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"{x: x | async, ticks: ticks | async} as data\">\n <svg:g text-anchor=\"middle\" *ngFor=\"let tick of data.ticks\" [attr.transform]=\"'translate('+ data.x(tick) +', 0)'\">\n <text fill=\"var(--color-text-70)\" [attr.dy]=\"axis.options.opposite ? '-0.71em' : '0.71em'\" [attr.y]=\"axis.options.opposite ? 0 : 9\">{{ this.axis.options.tickFormat ? this.axis.options.tickFormat(tick) : this.axis.defaultFormatter()(tick) }}</text>\n <line stroke=\"var(--color-text-30)\" [attr.y2]=\"axis.options.opposite ? -6 : 6\"></line>\n </svg:g>\n\n <svg:g class=\"label-axis font-caption\" [attr.transform]=\"getLabelTransform()\">\n <text fill=\"var(--color-text-70)\" text-anchor=\"middle\" dominant-baseline=\"middle\">{{ axis.options.title }}</text>\n </svg:g>\n</ng-container>\n\n", styles: [":host .tick{stroke:var(--color-text-20)}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
42
42
  }
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: XAxisComponent, decorators: [{
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: XAxisComponent, decorators: [{
44
44
  type: Component,
45
45
  args: [{ selector: '[teta-x-axis]', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
46
46
  AsyncPipe,
@@ -24,10 +24,10 @@ export class YAxisComponent {
24
24
  ? this.axis.selfSize
25
25
  : -this.axis.selfSize}, ${this.size.height / 2}) rotate(-90)`;
26
26
  }
27
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: YAxisComponent, deps: [{ token: i1.ScaleService }], target: i0.ɵɵFactoryTarget.Component }); }
28
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: YAxisComponent, isStandalone: true, selector: "[teta-y-axis]", inputs: { axis: "axis", size: "size" }, ngImport: i0, template: "<ng-container *ngIf=\"y | async as scale\">\n <svg:g [attr.text-anchor]=\"axis.options.opposite ? 'start' : 'end'\" *ngFor=\"let tick of scale.ticks()\" [attr.transform]=\"'translate(0, '+ scale(tick) +')'\">\n <text fill=\"var(--color-text-70)\" dy=\"0.32em\" [attr.x]=\"axis.options.opposite ? 10 : -9\">{{ this.axis.options.tickFormat ? this.axis.options.tickFormat(tick) : this.axis.defaultFormatter()(tick) }}</text>\n <line stroke=\"var(--color-text-30)\" [attr.x2]=\"axis.options.opposite ? 6 : -6\"></line>\n </svg:g>\n\n <svg:g class=\"label-axis font-caption\" [attr.transform]=\"getLabelTransform()\">\n <text [attr.dy]=\"axis.options.opposite ? '-4px' : '4px'\" text-anchor=\"middle\" [attr.dominant-baseline]=\"axis.options.opposite ? 'auto' : 'hanging'\">{{ axis.options.title }}</text>\n </svg:g>\n</ng-container>\n\n", styles: [":host{shape-rendering:crispEdges}:host .label-axis{fill:var(--color-text-70)}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
27
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: YAxisComponent, deps: [{ token: i1.ScaleService }], target: i0.ɵɵFactoryTarget.Component }); }
28
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: YAxisComponent, isStandalone: true, selector: "[teta-y-axis]", inputs: { axis: "axis", size: "size" }, ngImport: i0, template: "<ng-container *ngIf=\"y | async as scale\">\n <svg:g [attr.text-anchor]=\"axis.options.opposite ? 'start' : 'end'\" *ngFor=\"let tick of scale.ticks()\" [attr.transform]=\"'translate(0, '+ scale(tick) +')'\">\n <text fill=\"var(--color-text-70)\" dy=\"0.32em\" [attr.x]=\"axis.options.opposite ? 10 : -9\">{{ this.axis.options.tickFormat ? this.axis.options.tickFormat(tick) : this.axis.defaultFormatter()(tick) }}</text>\n <line stroke=\"var(--color-text-30)\" [attr.x2]=\"axis.options.opposite ? 6 : -6\"></line>\n </svg:g>\n\n <svg:g class=\"label-axis font-caption\" [attr.transform]=\"getLabelTransform()\">\n <text [attr.dy]=\"axis.options.opposite ? '-4px' : '4px'\" text-anchor=\"middle\" [attr.dominant-baseline]=\"axis.options.opposite ? 'auto' : 'hanging'\">{{ axis.options.title }}</text>\n </svg:g>\n</ng-container>\n\n", styles: [":host{shape-rendering:crispEdges}:host .label-axis{fill:var(--color-text-70)}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
29
29
  }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: YAxisComponent, decorators: [{
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: YAxisComponent, decorators: [{
31
31
  type: Component,
32
32
  args: [{ selector: '[teta-y-axis]', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
33
33
  AsyncPipe,
@@ -140,10 +140,10 @@ export class BrushableDirective {
140
140
  clearPreviousSelection() {
141
141
  this.selection = null;
142
142
  }
143
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: BrushableDirective, deps: [{ token: i1.BrushService }, { token: i2.ChartService }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive }); }
144
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.3", type: BrushableDirective, isStandalone: true, selector: "[tetaBrushable]", inputs: { config: "config", axis: "axis" }, usesOnChanges: true, ngImport: i0 }); }
143
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: BrushableDirective, deps: [{ token: i1.BrushService }, { token: i2.ChartService }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive }); }
144
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.5", type: BrushableDirective, isStandalone: true, selector: "[tetaBrushable]", inputs: { config: "config", axis: "axis" }, usesOnChanges: true, ngImport: i0 }); }
145
145
  }
146
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: BrushableDirective, decorators: [{
146
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: BrushableDirective, decorators: [{
147
147
  type: Directive,
148
148
  args: [{
149
149
  selector: '[tetaBrushable]',
@@ -98,10 +98,10 @@ export class DraggablePointDirective {
98
98
  this.setTransform(0, 0);
99
99
  this.transformCache = null;
100
100
  }
101
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: DraggablePointDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
102
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.3", type: DraggablePointDirective, isStandalone: true, selector: "[tetaDraggablePoint]", inputs: { tetaDraggablePoint: "tetaDraggablePoint", dragDirection: "dragDirection", allowDrag: "allowDrag" }, outputs: { moveStart: "moveStart", moveProcess: "moveProcess", moveEnd: "moveEnd" }, host: { listeners: { "mousedown": "mouseDown($event)", "touchstart": "mouseDown($event)", "window:mouseup": "mouseUp($event)", "window:touchend": "mouseUp($event)", "window:mousemove": "mouseMove($event)", "window:touchmove": "mouseMove($event)" } }, exportAs: ["tetaDraggablePoint"], ngImport: i0 }); }
101
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: DraggablePointDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
102
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.5", type: DraggablePointDirective, isStandalone: true, selector: "[tetaDraggablePoint]", inputs: { tetaDraggablePoint: "tetaDraggablePoint", dragDirection: "dragDirection", allowDrag: "allowDrag" }, outputs: { moveStart: "moveStart", moveProcess: "moveProcess", moveEnd: "moveEnd" }, host: { listeners: { "mousedown": "mouseDown($event)", "touchstart": "mouseDown($event)", "window:mouseup": "mouseUp($event)", "window:touchend": "mouseUp($event)", "window:mousemove": "mouseMove($event)", "window:touchmove": "mouseMove($event)" } }, exportAs: ["tetaDraggablePoint"], ngImport: i0 }); }
103
103
  }
104
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: DraggablePointDirective, decorators: [{
104
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: DraggablePointDirective, decorators: [{
105
105
  type: Directive,
106
106
  args: [{
107
107
  selector: '[tetaDraggablePoint]',
@@ -235,10 +235,10 @@ export class ZoomableDirective {
235
235
  });
236
236
  });
237
237
  }
238
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ZoomableDirective, deps: [{ token: i0.ElementRef }, { token: i1.ZoomService }, { token: i2.ChartService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive }); }
239
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.3", type: ZoomableDirective, isStandalone: true, selector: "[tetaZoomable]", inputs: { config: "config", axis: "axis", size: "size" }, host: { listeners: { "mouseenter": "mouseenter()", "mouseleave": "mouseleave()" }, properties: { "class.zoomable": "this.zoomable", "class.crosshair": "this.crosshair" } }, ngImport: i0 }); }
238
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: ZoomableDirective, deps: [{ token: i0.ElementRef }, { token: i1.ZoomService }, { token: i2.ChartService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive }); }
239
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.5", type: ZoomableDirective, isStandalone: true, selector: "[tetaZoomable]", inputs: { config: "config", axis: "axis", size: "size" }, host: { listeners: { "mouseenter": "mouseenter()", "mouseleave": "mouseleave()" }, properties: { "class.zoomable": "this.zoomable", "class.crosshair": "this.crosshair" } }, ngImport: i0 }); }
240
240
  }
241
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ZoomableDirective, decorators: [{
241
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: ZoomableDirective, decorators: [{
242
242
  type: Directive,
243
243
  args: [{
244
244
  selector: '[tetaZoomable]',
@@ -21,16 +21,16 @@ export class LegendComponent {
21
21
  click(serie) {
22
22
  this.chartService.toggleVisibilitySeries([serie.id]);
23
23
  }
24
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: LegendComponent, deps: [{ token: i1.ChartService }], target: i0.ɵɵFactoryTarget.Component }); }
25
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: LegendComponent, isStandalone: true, selector: "teta-legend", inputs: { series: "series" }, host: { properties: { "class.padding-bottom-4": "this.classLegend" } }, ngImport: i0, template: "<ng-container *ngFor=\"let serie of series\" class=\"padding-bottom-4\">\n <div *ngIf=\"serie?.showInLegend !== false\">\n <div class=\"legend-item cursor-pointer\" (click)=\"click(serie)\">\n <div class=\"legend-icon-form\"\n [style.height.px]=\"getHeight(serie)\"\n [style.border-top-color]=\"serie.visible ? serie.color : 'var(--color-text-30)'\"\n [style.border-top-style]=\"serie.style?.strokeDasharray ? 'dashed' : 'solid'\"\n [style.border-width.px]=\"serie.style?.strokeDasharray ? 1 : 2\"></div>\n <div class=\"legend-label\" style=\"user-select: none\" [style.text-decoration]=\"serie.visible ? 'none' : 'line-through'\">{{ serie.name }}</div>\n </div>\n </div>\n</ng-container>\n", styles: [":host{display:flex;grid-gap:8px;flex-wrap:wrap;align-items:center;justify-content:space-evenly}:host .legend-item{display:flex;align-items:center}:host .legend-icon-form{width:12px}:host .legend-label{margin-left:5px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
24
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: LegendComponent, deps: [{ token: i1.ChartService }], target: i0.ɵɵFactoryTarget.Component }); }
25
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: LegendComponent, isStandalone: true, selector: "teta-legend", inputs: { series: "series" }, host: { properties: { "class.padding-bottom-4": "this.classLegend" } }, ngImport: i0, template: "@for (serie of series; track serie.id) {\n @if (serie?.showInLegend !== false) {\n <div>\n <div class=\"legend-item cursor-pointer\"\n (click)=\"click(serie)\">\n <div class=\"legend-icon-form\"\n [style.height.px]=\"getHeight(serie)\"\n [style.border-top-color]=\"serie.visible ? serie.color : 'var(--color-text-30)'\"\n [style.border-top-style]=\"serie.style?.strokeDasharray ? 'dashed' : 'solid'\"\n [style.border-width.px]=\"serie.style?.strokeDasharray ? 1 : 2\"></div>\n <div class=\"legend-label\" style=\"user-select: none\"\n [style.text-decoration]=\"serie.visible ? 'none' : 'line-through'\">{{ serie.name }}\n </div>\n </div>\n </div>\n }\n}\n", styles: [":host{display:flex;grid-gap:8px;flex-wrap:wrap;align-items:center;justify-content:space-evenly}:host .legend-item{display:flex;align-items:center}:host .legend-icon-form{width:12px}:host .legend-label{margin-left:5px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
26
26
  }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: LegendComponent, decorators: [{
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: LegendComponent, decorators: [{
28
28
  type: Component,
29
- args: [{ selector: 'teta-legend', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngFor=\"let serie of series\" class=\"padding-bottom-4\">\n <div *ngIf=\"serie?.showInLegend !== false\">\n <div class=\"legend-item cursor-pointer\" (click)=\"click(serie)\">\n <div class=\"legend-icon-form\"\n [style.height.px]=\"getHeight(serie)\"\n [style.border-top-color]=\"serie.visible ? serie.color : 'var(--color-text-30)'\"\n [style.border-top-style]=\"serie.style?.strokeDasharray ? 'dashed' : 'solid'\"\n [style.border-width.px]=\"serie.style?.strokeDasharray ? 1 : 2\"></div>\n <div class=\"legend-label\" style=\"user-select: none\" [style.text-decoration]=\"serie.visible ? 'none' : 'line-through'\">{{ serie.name }}</div>\n </div>\n </div>\n</ng-container>\n", styles: [":host{display:flex;grid-gap:8px;flex-wrap:wrap;align-items:center;justify-content:space-evenly}:host .legend-item{display:flex;align-items:center}:host .legend-icon-form{width:12px}:host .legend-label{margin-left:5px}\n"] }]
29
+ args: [{ selector: 'teta-legend', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "@for (serie of series; track serie.id) {\n @if (serie?.showInLegend !== false) {\n <div>\n <div class=\"legend-item cursor-pointer\"\n (click)=\"click(serie)\">\n <div class=\"legend-icon-form\"\n [style.height.px]=\"getHeight(serie)\"\n [style.border-top-color]=\"serie.visible ? serie.color : 'var(--color-text-30)'\"\n [style.border-top-style]=\"serie.style?.strokeDasharray ? 'dashed' : 'solid'\"\n [style.border-width.px]=\"serie.style?.strokeDasharray ? 1 : 2\"></div>\n <div class=\"legend-label\" style=\"user-select: none\"\n [style.text-decoration]=\"serie.visible ? 'none' : 'line-through'\">{{ serie.name }}\n </div>\n </div>\n </div>\n }\n}\n", styles: [":host{display:flex;grid-gap:8px;flex-wrap:wrap;align-items:center;justify-content:space-evenly}:host .legend-item{display:flex;align-items:center}:host .legend-icon-form{width:12px}:host .legend-label{margin-left:5px}\n"] }]
30
30
  }], ctorParameters: () => [{ type: i1.ChartService }], propDecorators: { series: [{
31
31
  type: Input
32
32
  }], classLegend: [{
33
33
  type: HostBinding,
34
34
  args: ['class.padding-bottom-4']
35
35
  }] } });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVnZW5kLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jaGFydC9sZWdlbmQvbGVnZW5kLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jaGFydC9sZWdlbmQvbGVnZW5kLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFdBQVcsRUFDWCxLQUFLLEdBQ04sTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBU3RELE1BQU0sT0FBTyxlQUFlO0lBWTFCLFlBQW9CLFlBQTBCO1FBQTFCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBWHRDLGdCQUFXLEdBQUcsSUFBSSxHQUFHLEVBQXNCO2FBQ2hELEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQzthQUN2QixHQUFHLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7YUFDMUIsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDO2FBQ3ZCLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQzthQUN2QixHQUFHLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7YUFDekIsR0FBRyxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFHTyxnQkFBVyxHQUFHLElBQUksQ0FBQztJQUVULENBQUM7SUFFbEQsU0FBUyxDQUFDLEtBQXdCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUF3QjtRQUM3QixJQUFJLENBQUMsWUFBWSxDQUFDLHNCQUFzQixDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDdEQsQ0FBQzs4R0FwQlUsZUFBZTtrR0FBZixlQUFlLDZLQ2xCNUIsOHVCQVlBOzsyRkRNYSxlQUFlO2tCQVAzQixTQUFTOytCQUNFLGFBQWEsY0FHWixJQUFJLG1CQUNFLHVCQUF1QixDQUFDLE1BQU07aUZBV3RDLE1BQU07c0JBQWQsS0FBSztnQkFDaUMsV0FBVztzQkFBakQsV0FBVzt1QkFBQyx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2VyaWVzIH0gZnJvbSAnLi4vbW9kZWwvc2VyaWVzJztcbmltcG9ydCB7IEJhc2VQb2ludCB9IGZyb20gJy4uL21vZGVsL2Jhc2UtcG9pbnQnO1xuaW1wb3J0IHsgU2VyaWVzVHlwZSB9IGZyb20gJy4uL21vZGVsL2VudW0vc2VyaWVzLXR5cGUnO1xuaW1wb3J0IHtDaGFydFNlcnZpY2V9IGZyb20gXCIuLi9zZXJ2aWNlL2NoYXJ0LnNlcnZpY2VcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0YS1sZWdlbmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vbGVnZW5kLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbGVnZW5kLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6dHJ1ZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIExlZ2VuZENvbXBvbmVudCB7XG4gIHByaXZhdGUgc2l6ZU1hcHBpbmcgPSBuZXcgTWFwPFNlcmllc1R5cGUsIG51bWJlcj4oKVxuICAgIC5zZXQoU2VyaWVzVHlwZS5saW5lLCAyKVxuICAgIC5zZXQoU2VyaWVzVHlwZS5zY2F0dGVyLCAyKVxuICAgIC5zZXQoU2VyaWVzVHlwZS5iYXIsIDEyKVxuICAgIC5zZXQoU2VyaWVzVHlwZS5hcmVhLCAyKVxuICAgIC5zZXQoU2VyaWVzVHlwZS5ibG9jaywgMTIpXG4gICAgLnNldChTZXJpZXNUeXBlLmJsb2NrQXJlYSwgMik7XG5cbiAgQElucHV0KCkgc2VyaWVzOiBBcnJheTxTZXJpZXM8QmFzZVBvaW50Pj47XG4gIEBIb3N0QmluZGluZygnY2xhc3MucGFkZGluZy1ib3R0b20tNCcpIGNsYXNzTGVnZW5kID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYXJ0U2VydmljZTogQ2hhcnRTZXJ2aWNlKSB7fVxuXG4gIGdldEhlaWdodChzZXJpZTogU2VyaWVzPEJhc2VQb2ludD4pIHtcbiAgICByZXR1cm4gdGhpcy5zaXplTWFwcGluZy5nZXQoc2VyaWUudHlwZSA/PyBTZXJpZXNUeXBlLmxpbmUpO1xuICB9XG5cbiAgY2xpY2soc2VyaWU6IFNlcmllczxCYXNlUG9pbnQ+KSB7XG4gICB0aGlzLmNoYXJ0U2VydmljZS50b2dnbGVWaXNpYmlsaXR5U2VyaWVzKFtzZXJpZS5pZF0pO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBzZXJpZSBvZiBzZXJpZXNcIiBjbGFzcz1cInBhZGRpbmctYm90dG9tLTRcIj5cbiAgPGRpdiAqbmdJZj1cInNlcmllPy5zaG93SW5MZWdlbmQgIT09IGZhbHNlXCI+XG4gICAgPGRpdiBjbGFzcz1cImxlZ2VuZC1pdGVtIGN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cImNsaWNrKHNlcmllKVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImxlZ2VuZC1pY29uLWZvcm1cIlxuICAgICAgICAgICBbc3R5bGUuaGVpZ2h0LnB4XT1cImdldEhlaWdodChzZXJpZSlcIlxuICAgICAgICAgICBbc3R5bGUuYm9yZGVyLXRvcC1jb2xvcl09XCJzZXJpZS52aXNpYmxlID8gc2VyaWUuY29sb3IgOiAndmFyKC0tY29sb3ItdGV4dC0zMCknXCJcbiAgICAgICAgICAgW3N0eWxlLmJvcmRlci10b3Atc3R5bGVdPVwic2VyaWUuc3R5bGU/LnN0cm9rZURhc2hhcnJheSA/ICdkYXNoZWQnIDogJ3NvbGlkJ1wiXG4gICAgICAgICAgIFtzdHlsZS5ib3JkZXItd2lkdGgucHhdPVwic2VyaWUuc3R5bGU/LnN0cm9rZURhc2hhcnJheSA/IDEgOiAyXCI+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibGVnZW5kLWxhYmVsXCIgc3R5bGU9XCJ1c2VyLXNlbGVjdDogbm9uZVwiIFtzdHlsZS50ZXh0LWRlY29yYXRpb25dPVwic2VyaWUudmlzaWJsZSA/ICdub25lJyA6ICdsaW5lLXRocm91Z2gnXCI+e3sgc2VyaWUubmFtZSB9fTwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuIl19
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVnZW5kLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jaGFydC9sZWdlbmQvbGVnZW5kLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jaGFydC9sZWdlbmQvbGVnZW5kLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFdBQVcsRUFDWCxLQUFLLEdBQ04sTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBU3RELE1BQU0sT0FBTyxlQUFlO0lBWTFCLFlBQW9CLFlBQTBCO1FBQTFCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBWHRDLGdCQUFXLEdBQUcsSUFBSSxHQUFHLEVBQXNCO2FBQ2hELEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQzthQUN2QixHQUFHLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7YUFDMUIsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDO2FBQ3ZCLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQzthQUN2QixHQUFHLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7YUFDekIsR0FBRyxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFHTyxnQkFBVyxHQUFHLElBQUksQ0FBQztJQUVULENBQUM7SUFFbEQsU0FBUyxDQUFDLEtBQXdCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUF3QjtRQUM3QixJQUFJLENBQUMsWUFBWSxDQUFDLHNCQUFzQixDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDdEQsQ0FBQzs4R0FwQlUsZUFBZTtrR0FBZixlQUFlLDZLQ2xCNUIsOHZCQWlCQTs7MkZEQ2EsZUFBZTtrQkFQM0IsU0FBUzsrQkFDRSxhQUFhLGNBR1osSUFBSSxtQkFDRSx1QkFBdUIsQ0FBQyxNQUFNO2lGQVd0QyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ2lDLFdBQVc7c0JBQWpELFdBQVc7dUJBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNlcmllcyB9IGZyb20gJy4uL21vZGVsL3Nlcmllcyc7XG5pbXBvcnQgeyBCYXNlUG9pbnQgfSBmcm9tICcuLi9tb2RlbC9iYXNlLXBvaW50JztcbmltcG9ydCB7IFNlcmllc1R5cGUgfSBmcm9tICcuLi9tb2RlbC9lbnVtL3Nlcmllcy10eXBlJztcbmltcG9ydCB7Q2hhcnRTZXJ2aWNlfSBmcm9tIFwiLi4vc2VydmljZS9jaGFydC5zZXJ2aWNlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldGEtbGVnZW5kJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xlZ2VuZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xlZ2VuZC5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOnRydWUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBMZWdlbmRDb21wb25lbnQge1xuICBwcml2YXRlIHNpemVNYXBwaW5nID0gbmV3IE1hcDxTZXJpZXNUeXBlLCBudW1iZXI+KClcbiAgICAuc2V0KFNlcmllc1R5cGUubGluZSwgMilcbiAgICAuc2V0KFNlcmllc1R5cGUuc2NhdHRlciwgMilcbiAgICAuc2V0KFNlcmllc1R5cGUuYmFyLCAxMilcbiAgICAuc2V0KFNlcmllc1R5cGUuYXJlYSwgMilcbiAgICAuc2V0KFNlcmllc1R5cGUuYmxvY2ssIDEyKVxuICAgIC5zZXQoU2VyaWVzVHlwZS5ibG9ja0FyZWEsIDIpO1xuXG4gIEBJbnB1dCgpIHNlcmllczogQXJyYXk8U2VyaWVzPEJhc2VQb2ludD4+O1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnBhZGRpbmctYm90dG9tLTQnKSBjbGFzc0xlZ2VuZCA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjaGFydFNlcnZpY2U6IENoYXJ0U2VydmljZSkge31cblxuICBnZXRIZWlnaHQoc2VyaWU6IFNlcmllczxCYXNlUG9pbnQ+KSB7XG4gICAgcmV0dXJuIHRoaXMuc2l6ZU1hcHBpbmcuZ2V0KHNlcmllLnR5cGUgPz8gU2VyaWVzVHlwZS5saW5lKTtcbiAgfVxuXG4gIGNsaWNrKHNlcmllOiBTZXJpZXM8QmFzZVBvaW50Pikge1xuICAgdGhpcy5jaGFydFNlcnZpY2UudG9nZ2xlVmlzaWJpbGl0eVNlcmllcyhbc2VyaWUuaWRdKTtcbiAgfVxufVxuIiwiQGZvciAoc2VyaWUgb2Ygc2VyaWVzOyB0cmFjayBzZXJpZS5pZCkge1xuICBAaWYgKHNlcmllPy5zaG93SW5MZWdlbmQgIT09IGZhbHNlKSB7XG4gICAgPGRpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJsZWdlbmQtaXRlbSBjdXJzb3ItcG9pbnRlclwiXG4gICAgICAgICAgIChjbGljayk9XCJjbGljayhzZXJpZSlcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImxlZ2VuZC1pY29uLWZvcm1cIlxuICAgICAgICAgICAgIFtzdHlsZS5oZWlnaHQucHhdPVwiZ2V0SGVpZ2h0KHNlcmllKVwiXG4gICAgICAgICAgICAgW3N0eWxlLmJvcmRlci10b3AtY29sb3JdPVwic2VyaWUudmlzaWJsZSA/IHNlcmllLmNvbG9yIDogJ3ZhcigtLWNvbG9yLXRleHQtMzApJ1wiXG4gICAgICAgICAgICAgW3N0eWxlLmJvcmRlci10b3Atc3R5bGVdPVwic2VyaWUuc3R5bGU/LnN0cm9rZURhc2hhcnJheSA/ICdkYXNoZWQnIDogJ3NvbGlkJ1wiXG4gICAgICAgICAgICAgW3N0eWxlLmJvcmRlci13aWR0aC5weF09XCJzZXJpZS5zdHlsZT8uc3Ryb2tlRGFzaGFycmF5ID8gMSA6IDJcIj48L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImxlZ2VuZC1sYWJlbFwiIHN0eWxlPVwidXNlci1zZWxlY3Q6IG5vbmVcIlxuICAgICAgICAgICAgIFtzdHlsZS50ZXh0LWRlY29yYXRpb25dPVwic2VyaWUudmlzaWJsZSA/ICdub25lJyA6ICdsaW5lLXRocm91Z2gnXCI+e3sgc2VyaWUubmFtZSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICB9XG59XG4iXX0=
@@ -11,10 +11,10 @@ export class BroadcastService {
11
11
  subscribeToZoom(channel) {
12
12
  return this.zoomEmitter.asObservable().pipe(filter((msg) => channel && msg.channel === channel));
13
13
  }
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: BroadcastService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
15
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: BroadcastService, providedIn: 'root' }); }
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: BroadcastService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
15
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: BroadcastService, providedIn: 'root' }); }
16
16
  }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: BroadcastService, decorators: [{
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: BroadcastService, decorators: [{
18
18
  type: Injectable,
19
19
  args: [{
20
20
  providedIn: 'root',
@@ -9,10 +9,10 @@ export class BrushService {
9
9
  setBrush(brush) {
10
10
  this._brushDomain.next(brush);
11
11
  }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: BrushService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
13
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: BrushService, providedIn: 'root' }); }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: BrushService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
13
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: BrushService, providedIn: 'root' }); }
14
14
  }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: BrushService, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: BrushService, decorators: [{
16
16
  type: Injectable,
17
17
  args: [{
18
18
  providedIn: 'root',
@@ -223,10 +223,10 @@ export class ChartService {
223
223
  }
224
224
  return config;
225
225
  }
226
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ChartService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
227
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ChartService, providedIn: 'root' }); }
226
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: ChartService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
227
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: ChartService, providedIn: 'root' }); }
228
228
  }
229
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ChartService, decorators: [{
229
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: ChartService, decorators: [{
230
230
  type: Injectable,
231
231
  args: [{
232
232
  providedIn: 'root',
@@ -197,10 +197,10 @@ export class ScaleService {
197
197
  });
198
198
  });
199
199
  }
200
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ScaleService, deps: [{ token: i1.ChartService }, { token: i2.ZoomService }], target: i0.ɵɵFactoryTarget.Injectable }); }
201
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ScaleService, providedIn: 'root' }); }
200
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: ScaleService, deps: [{ token: i1.ChartService }, { token: i2.ZoomService }], target: i0.ɵɵFactoryTarget.Injectable }); }
201
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: ScaleService, providedIn: 'root' }); }
202
202
  }
203
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ScaleService, decorators: [{
203
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: ScaleService, decorators: [{
204
204
  type: Injectable,
205
205
  args: [{
206
206
  providedIn: 'root',
@@ -70,10 +70,10 @@ export class ZoomService {
70
70
  ngOnDestroy() {
71
71
  this.broadcastSub?.unsubscribe();
72
72
  }
73
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ZoomService, deps: [{ token: i1.BroadcastService }, { token: i2.ChartService }], target: i0.ɵɵFactoryTarget.Injectable }); }
74
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ZoomService, providedIn: 'root' }); }
73
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: ZoomService, deps: [{ token: i1.BroadcastService }, { token: i2.ChartService }], target: i0.ɵɵFactoryTarget.Injectable }); }
74
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: ZoomService, providedIn: 'root' }); }
75
75
  }
76
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ZoomService, decorators: [{
76
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: ZoomService, decorators: [{
77
77
  type: Injectable,
78
78
  args: [{
79
79
  providedIn: 'root',