@progress/kendo-angular-charts 18.1.0-develop.13 → 18.1.0-develop.15
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.
- package/common/theme.service.d.ts +2 -13
- package/esm2022/common/theme.service.mjs +15 -198
- package/esm2022/package-metadata.mjs +2 -2
- package/esm2022/sankey/theme.service.mjs +25 -0
- package/esm2022/sankey.component.mjs +5 -11
- package/fesm2022/progress-kendo-angular-charts.mjs +37 -208
- package/package.json +9 -9
- package/sankey/theme.service.d.ts +14 -0
- package/sankey.component.d.ts +3 -4
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
* Copyright © 2025 Progress Software Corporation. All rights reserved.
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
import { NgZone } from '@angular/core';
|
|
6
5
|
import { ConfigurationService } from './configuration.service';
|
|
7
6
|
import * as i0 from "@angular/core";
|
|
8
7
|
/**
|
|
@@ -10,22 +9,12 @@ import * as i0 from "@angular/core";
|
|
|
10
9
|
*/
|
|
11
10
|
export declare class ThemeService extends ConfigurationService {
|
|
12
11
|
private loaded;
|
|
13
|
-
|
|
14
|
-
constructor(ngZone: NgZone);
|
|
12
|
+
protected element: HTMLElement;
|
|
15
13
|
loadTheme(): void;
|
|
16
14
|
reset(): void;
|
|
17
|
-
|
|
18
|
-
private readDefaultTheme;
|
|
15
|
+
protected readTheme(): void;
|
|
19
16
|
private createElement;
|
|
20
17
|
private destroyElement;
|
|
21
|
-
private setStyle;
|
|
22
|
-
private setColors;
|
|
23
|
-
private setInactiveOpacity;
|
|
24
|
-
private setFonts;
|
|
25
|
-
private setSeriesColors;
|
|
26
|
-
private mapColor;
|
|
27
|
-
private queryColor;
|
|
28
|
-
private queryStyle;
|
|
29
18
|
static ɵfac: i0.ɵɵFactoryDeclaration<ThemeService, never>;
|
|
30
19
|
static ɵprov: i0.ɵɵInjectableDeclaration<ThemeService>;
|
|
31
20
|
}
|
|
@@ -2,94 +2,25 @@
|
|
|
2
2
|
* Copyright © 2025 Progress Software Corporation. All rights reserved.
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
import { Injectable
|
|
5
|
+
import { Injectable } from '@angular/core';
|
|
6
6
|
import { ConfigurationService } from './configuration.service';
|
|
7
|
-
import { chartBaseTheme } from '@progress/kendo-charts';
|
|
7
|
+
import { chartBaseTheme, chartTheme, deepExtend } from '@progress/kendo-charts';
|
|
8
8
|
import { chartDefaultTheme } from './chart-default-theme';
|
|
9
9
|
import { isDocumentAvailable } from '@progress/kendo-angular-common';
|
|
10
10
|
import * as i0 from "@angular/core";
|
|
11
|
-
const font = (style) => `${style.fontWeight} ${style.fontSize} ${style.fontFamily}`;
|
|
12
|
-
const computedBackgroundColor = (element) => window.getComputedStyle(element).backgroundColor;
|
|
13
|
-
const letterPos = (letter) => letter.toLowerCase().charCodeAt(0) - 'a'.charCodeAt(0);
|
|
14
|
-
const seriesPos = (name) => {
|
|
15
|
-
const alpha = name.match(/series-([a-z])$/);
|
|
16
|
-
if (alpha !== null) {
|
|
17
|
-
return letterPos(alpha[1]);
|
|
18
|
-
}
|
|
19
|
-
const num = name.split('--series-')[1];
|
|
20
|
-
return parseInt(num, 10) - 1;
|
|
21
|
-
};
|
|
22
|
-
const SERIES_COLORS = 30;
|
|
23
|
-
const seriesTemplate = () => {
|
|
24
|
-
let template = `
|
|
25
|
-
<div class="k-var--series-a"></div>
|
|
26
|
-
<div class="k-var--series-b"></div>
|
|
27
|
-
<div class="k-var--series-c"></div>
|
|
28
|
-
<div class="k-var--series-d"></div>
|
|
29
|
-
<div class="k-var--series-e"></div>
|
|
30
|
-
<div class="k-var--series-f"></div>
|
|
31
|
-
`;
|
|
32
|
-
for (let i = 0; i < SERIES_COLORS; i++) {
|
|
33
|
-
template += `
|
|
34
|
-
<div class="k-var--series-${i + 1}"></div>`;
|
|
35
|
-
}
|
|
36
|
-
return template;
|
|
37
|
-
};
|
|
38
|
-
const template = () => `
|
|
39
|
-
<div class="k-var--primary"></div>
|
|
40
|
-
<div class="k-var--primary-contrast"></div>
|
|
41
|
-
<div class="k-var--base"></div>
|
|
42
|
-
<div class="k-var--background"></div>
|
|
43
|
-
|
|
44
|
-
<div class="k-var--kendo-color-subtle"></div>
|
|
45
|
-
|
|
46
|
-
<div class="k-var--normal-background"></div>
|
|
47
|
-
<div class="k-var--normal-text-color"></div>
|
|
48
|
-
<div class="k-var--hover-background"></div>
|
|
49
|
-
<div class="k-var--hover-text-color"></div>
|
|
50
|
-
<div class="k-var--selected-background"></div>
|
|
51
|
-
<div class="k-var--selected-text-color"></div>
|
|
52
|
-
<div class="k-var--chart-error-bars-background"></div>
|
|
53
|
-
<div class="k-var--chart-notes-background"></div>
|
|
54
|
-
<div class="k-var--chart-notes-border"></div>
|
|
55
|
-
<div class="k-var--chart-notes-lines"></div>
|
|
56
|
-
<div class="k-var--chart-crosshair-background"></div>
|
|
57
|
-
|
|
58
|
-
<div class="k-var--chart-inactive"></div>
|
|
59
|
-
<div class="k-var--chart-major-lines"></div>
|
|
60
|
-
<div class="k-var--chart-minor-lines"></div>
|
|
61
|
-
<div class="k-var--chart-area-opacity"></div>
|
|
62
|
-
<div class="k-var--chart-area-inactive-opacity"></div>
|
|
63
|
-
<div class="k-var--chart-line-inactive-opacity"></div>
|
|
64
|
-
|
|
65
|
-
<div class="k-widget k-chart">
|
|
66
|
-
<div class="k-var--chart-font"></div>
|
|
67
|
-
<div class="k-var--chart-title-font"></div>
|
|
68
|
-
<div class="k-var--chart-pane-title-font"></div>
|
|
69
|
-
<div class="k-var--chart-label-font"></div>
|
|
70
|
-
</div>
|
|
71
|
-
|
|
72
|
-
<div class="k-var--series-unset"></div>
|
|
73
|
-
<div class="k-var--series">
|
|
74
|
-
${seriesTemplate()}
|
|
75
|
-
</div>
|
|
76
|
-
`;
|
|
77
11
|
/**
|
|
78
12
|
* @hidden
|
|
79
13
|
*/
|
|
80
14
|
export class ThemeService extends ConfigurationService {
|
|
81
15
|
loaded = false;
|
|
82
16
|
element;
|
|
83
|
-
constructor(ngZone) {
|
|
84
|
-
super(ngZone);
|
|
85
|
-
}
|
|
86
17
|
loadTheme() {
|
|
87
18
|
if (this.loaded || !isDocumentAvailable()) {
|
|
88
19
|
return;
|
|
89
20
|
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
21
|
+
this.createElement();
|
|
22
|
+
this.readTheme();
|
|
23
|
+
this.destroyElement();
|
|
93
24
|
this.loaded = true;
|
|
94
25
|
this.next();
|
|
95
26
|
}
|
|
@@ -99,29 +30,21 @@ export class ThemeService extends ConfigurationService {
|
|
|
99
30
|
this.loadTheme();
|
|
100
31
|
}
|
|
101
32
|
readTheme() {
|
|
102
|
-
|
|
103
|
-
const available = this.queryColor('primary') !==
|
|
104
|
-
this.queryColor('primary-contrast');
|
|
33
|
+
let theme = {};
|
|
105
34
|
try {
|
|
106
|
-
|
|
107
|
-
this.push(chartBaseTheme());
|
|
108
|
-
this.setColors();
|
|
109
|
-
this.setFonts();
|
|
110
|
-
this.setSeriesColors();
|
|
111
|
-
}
|
|
35
|
+
theme = chartTheme(this.element);
|
|
112
36
|
}
|
|
113
|
-
|
|
114
|
-
|
|
37
|
+
catch {
|
|
38
|
+
theme = {};
|
|
115
39
|
}
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
this.push(chartDefaultTheme());
|
|
40
|
+
const available = Boolean(theme.chartArea && theme.chartArea.background);
|
|
41
|
+
const result = available ? deepExtend(chartBaseTheme(), theme) : chartDefaultTheme();
|
|
42
|
+
this.push(result);
|
|
120
43
|
}
|
|
121
44
|
createElement() {
|
|
122
45
|
const container = this.element = document.createElement('div');
|
|
46
|
+
container.className = 'k-chart';
|
|
123
47
|
container.style.display = 'none';
|
|
124
|
-
container.innerHTML = template();
|
|
125
48
|
document.body.appendChild(container);
|
|
126
49
|
}
|
|
127
50
|
destroyElement() {
|
|
@@ -130,113 +53,7 @@ export class ThemeService extends ConfigurationService {
|
|
|
130
53
|
this.element = undefined;
|
|
131
54
|
}
|
|
132
55
|
}
|
|
133
|
-
|
|
134
|
-
this.set(key, value);
|
|
135
|
-
}
|
|
136
|
-
setColors() {
|
|
137
|
-
this.mapColor('axisDefaults.crosshair.color', 'chart-crosshair-background');
|
|
138
|
-
this.mapColor('axisDefaults.labels.color', 'normal-text-color');
|
|
139
|
-
this.mapColor('axisDefaults.line.color', 'chart-major-lines');
|
|
140
|
-
this.mapColor('axisDefaults.majorGridLines.color', 'chart-major-lines');
|
|
141
|
-
this.mapColor('axisDefaults.minorGridLines.color', 'chart-minor-lines');
|
|
142
|
-
this.mapColor('axisDefaults.notes.icon.background', 'chart-notes-background');
|
|
143
|
-
this.mapColor('axisDefaults.notes.icon.border.color', 'chart-notes-border');
|
|
144
|
-
this.mapColor('axisDefaults.notes.line.color', 'chart-notes-lines');
|
|
145
|
-
this.mapColor('axisDefaults.title.color', 'normal-text-color');
|
|
146
|
-
this.mapColor('chartArea.background', 'background');
|
|
147
|
-
this.mapColor('legend.inactiveItems.labels.color', 'chart-inactive');
|
|
148
|
-
this.mapColor('legend.inactiveItems.markers.color', 'chart-inactive');
|
|
149
|
-
this.mapColor('legend.labels.color', 'normal-text-color');
|
|
150
|
-
this.mapColor('legend.title.color', 'normal-text-color');
|
|
151
|
-
this.mapColor('seriesDefaults.boxPlot.downColor', 'chart-major-lines');
|
|
152
|
-
this.mapColor('seriesDefaults.boxPlot.mean.color', 'base');
|
|
153
|
-
this.mapColor('seriesDefaults.boxPlot.median.color', 'base');
|
|
154
|
-
this.mapColor('seriesDefaults.boxPlot.whiskers.color', 'primary');
|
|
155
|
-
this.mapColor('seriesDefaults.bullet.target.color', 'normal-text-color');
|
|
156
|
-
this.mapColor('seriesDefaults.candlestick.downColor', 'normal-text-color');
|
|
157
|
-
this.mapColor('seriesDefaults.candlestick.line.color', 'normal-text-color');
|
|
158
|
-
this.mapColor('seriesDefaults.errorBars.color', 'chart-error-bars-background');
|
|
159
|
-
this.mapColor('seriesDefaults.horizontalWaterfall.line.color', 'chart-major-lines');
|
|
160
|
-
this.mapColor('seriesDefaults.icon.border.color', 'chart-major-lines');
|
|
161
|
-
this.mapColor('seriesDefaults.labels.background', 'background');
|
|
162
|
-
this.mapColor('seriesDefaults.labels.color', 'normal-text-color');
|
|
163
|
-
this.mapColor('seriesDefaults.notes.icon.background', 'chart-notes-background');
|
|
164
|
-
this.mapColor('seriesDefaults.notes.icon.border.color', 'chart-notes-border');
|
|
165
|
-
this.mapColor('seriesDefaults.notes.line.color', 'chart-notes-lines');
|
|
166
|
-
this.mapColor('seriesDefaults.verticalBoxPlot.downColor', 'chart-major-lines');
|
|
167
|
-
this.mapColor('seriesDefaults.verticalBoxPlot.mean.color', 'base');
|
|
168
|
-
this.mapColor('seriesDefaults.verticalBoxPlot.median.color', 'base');
|
|
169
|
-
this.mapColor('seriesDefaults.verticalBoxPlot.whiskers.color', 'primary');
|
|
170
|
-
this.mapColor('seriesDefaults.verticalBullet.target.color', 'normal-text-color');
|
|
171
|
-
this.mapColor('seriesDefaults.waterfall.line.color', 'chart-major-lines');
|
|
172
|
-
this.mapColor('title.color', 'normal-text-color');
|
|
173
|
-
this.mapColor('subtitle.color', 'normal-text-color');
|
|
174
|
-
// Sankey diagram
|
|
175
|
-
this.mapColor('labels.color', 'normal-text-color');
|
|
176
|
-
this.mapColor('labels.stroke.color', 'background');
|
|
177
|
-
// 'k-var--kendo-color-subtle' class does not contain the --kendo-color-subtle variable style
|
|
178
|
-
const element = this.element?.querySelector('.k-var--kendo-color-subtle');
|
|
179
|
-
element && (element.style.color = 'var(--kendo-color-subtle)');
|
|
180
|
-
this.mapColor('links.color', 'kendo-color-subtle', 'color');
|
|
181
|
-
const opacity = parseFloat(this.queryStyle('chart-area-opacity').opacity);
|
|
182
|
-
if (!isNaN(opacity)) {
|
|
183
|
-
this.setStyle('seriesDefaults.area.opacity', opacity);
|
|
184
|
-
this.setStyle('seriesDefaults.radarArea.opacity', opacity);
|
|
185
|
-
this.setStyle('seriesDefaults.verticalArea.opacity', opacity);
|
|
186
|
-
this.setStyle('seriesDefaults.labels.opacity', opacity);
|
|
187
|
-
}
|
|
188
|
-
this.setInactiveOpacity(['area', 'verticalArea'], 'chart-area-inactive-opacity');
|
|
189
|
-
this.setInactiveOpacity(['line', 'verticalLine'], 'chart-line-inactive-opacity');
|
|
190
|
-
}
|
|
191
|
-
setInactiveOpacity(seriesTypes, selector) {
|
|
192
|
-
const inactiveOpacity = parseFloat(this.queryStyle(selector).opacity);
|
|
193
|
-
if (!isNaN(inactiveOpacity) && inactiveOpacity < 1) {
|
|
194
|
-
seriesTypes.forEach(type => this.setStyle(`seriesDefaults.${type}.highlight.inactiveOpacity`, inactiveOpacity));
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
setFonts() {
|
|
198
|
-
const defaultFont = font(this.queryStyle('chart-font'));
|
|
199
|
-
const titleFont = font(this.queryStyle('chart-title-font'));
|
|
200
|
-
const paneTitleFont = font(this.queryStyle('chart-pane-title-font'));
|
|
201
|
-
const labelFont = font(this.queryStyle('chart-label-font'));
|
|
202
|
-
this.setStyle('axisDefaults.labels.font', labelFont);
|
|
203
|
-
this.setStyle('axisDefaults.notes.label.font', defaultFont);
|
|
204
|
-
this.setStyle('axisDefaults.title.font', defaultFont);
|
|
205
|
-
this.setStyle('legend.labels.font', defaultFont);
|
|
206
|
-
this.setStyle('seriesDefaults.labels.font', labelFont);
|
|
207
|
-
this.setStyle('seriesDefaults.notes.label.font', defaultFont);
|
|
208
|
-
this.setStyle('title.font', titleFont);
|
|
209
|
-
this.setStyle('subtitle.font', paneTitleFont);
|
|
210
|
-
this.setStyle('paneDefaults.title.font', paneTitleFont);
|
|
211
|
-
// Sankey diagram
|
|
212
|
-
this.setStyle('labels.font', defaultFont);
|
|
213
|
-
}
|
|
214
|
-
setSeriesColors() {
|
|
215
|
-
const element = this.element;
|
|
216
|
-
const series = [].slice.call(element.querySelectorAll('.k-var--series div'));
|
|
217
|
-
const unsetColor = computedBackgroundColor(element.querySelector('.k-var--series-unset'));
|
|
218
|
-
const seriesColors = series.reduce((arr, el) => {
|
|
219
|
-
const pos = seriesPos(el.className);
|
|
220
|
-
const color = computedBackgroundColor(el);
|
|
221
|
-
if (color !== unsetColor) {
|
|
222
|
-
arr[pos] = color;
|
|
223
|
-
}
|
|
224
|
-
return arr;
|
|
225
|
-
}, [] // Will populate the series colors in this array
|
|
226
|
-
);
|
|
227
|
-
this.setStyle('seriesColors', seriesColors);
|
|
228
|
-
}
|
|
229
|
-
mapColor(key, varName, styleKey = 'backgroundColor') {
|
|
230
|
-
this.setStyle(key, this.queryStyle(varName)[styleKey]);
|
|
231
|
-
}
|
|
232
|
-
queryColor(varName) {
|
|
233
|
-
return this.queryStyle(varName).backgroundColor;
|
|
234
|
-
}
|
|
235
|
-
queryStyle(varName) {
|
|
236
|
-
const element = this.element.querySelector(`.k-var--${varName}`);
|
|
237
|
-
return window.getComputedStyle(element);
|
|
238
|
-
}
|
|
239
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ThemeService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
56
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ThemeService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
240
57
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ThemeService, providedIn: 'root' });
|
|
241
58
|
}
|
|
242
59
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ThemeService, decorators: [{
|
|
@@ -244,4 +61,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
244
61
|
args: [{
|
|
245
62
|
providedIn: 'root'
|
|
246
63
|
}]
|
|
247
|
-
}]
|
|
64
|
+
}] });
|
|
@@ -10,7 +10,7 @@ export const packageMetadata = {
|
|
|
10
10
|
productName: 'Kendo UI for Angular',
|
|
11
11
|
productCode: 'KENDOUIANGULAR',
|
|
12
12
|
productCodes: ['KENDOUIANGULAR'],
|
|
13
|
-
publishDate:
|
|
14
|
-
version: '18.1.0-develop.
|
|
13
|
+
publishDate: 1738764062,
|
|
14
|
+
version: '18.1.0-develop.15',
|
|
15
15
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
16
16
|
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**-----------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright © 2025 Progress Software Corporation. All rights reserved.
|
|
3
|
+
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
+
*-------------------------------------------------------------------------------------------*/
|
|
5
|
+
import { Injectable } from '@angular/core';
|
|
6
|
+
import { sankeyTheme } from '@progress/kendo-charts';
|
|
7
|
+
import { ThemeService } from '../common/theme.service';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
/**
|
|
10
|
+
* @hidden
|
|
11
|
+
*/
|
|
12
|
+
export class SankeyThemeService extends ThemeService {
|
|
13
|
+
readTheme() {
|
|
14
|
+
const theme = sankeyTheme(this.element);
|
|
15
|
+
this.push(theme);
|
|
16
|
+
}
|
|
17
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SankeyThemeService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
18
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SankeyThemeService, providedIn: 'root' });
|
|
19
|
+
}
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SankeyThemeService, decorators: [{
|
|
21
|
+
type: Injectable,
|
|
22
|
+
args: [{
|
|
23
|
+
providedIn: 'root'
|
|
24
|
+
}]
|
|
25
|
+
}] });
|
|
@@ -11,7 +11,7 @@ import { combineLatest } from 'rxjs';
|
|
|
11
11
|
import { auditTime, tap } from 'rxjs/operators';
|
|
12
12
|
import { ConfigurationService, THROTTLE_MS } from './common/configuration.service';
|
|
13
13
|
import { copyChanges } from './common/copy-changes';
|
|
14
|
-
import {
|
|
14
|
+
import { SankeyThemeService } from './sankey/theme.service';
|
|
15
15
|
import { toSimpleChanges } from './common/to-simple-changes';
|
|
16
16
|
import { packageMetadata } from './package-metadata';
|
|
17
17
|
import { InstanceEventService } from './sankey/events';
|
|
@@ -24,7 +24,7 @@ import { LocalizedMessagesDirective } from './sankey/localization/localized-mess
|
|
|
24
24
|
import { IntlService } from '@progress/kendo-angular-intl';
|
|
25
25
|
import * as i0 from "@angular/core";
|
|
26
26
|
import * as i1 from "./common/configuration.service";
|
|
27
|
-
import * as i2 from "./
|
|
27
|
+
import * as i2 from "./sankey/theme.service";
|
|
28
28
|
import * as i3 from "@progress/kendo-angular-l10n";
|
|
29
29
|
import * as i4 from "./sankey/events";
|
|
30
30
|
import * as i5 from "@progress/kendo-angular-intl";
|
|
@@ -324,19 +324,13 @@ export class SankeyComponent {
|
|
|
324
324
|
this.optionsChange = combineLatest([this.configurationService.onChange$, this.themeService.onChange$])
|
|
325
325
|
.pipe(tap((result) => {
|
|
326
326
|
this.options = result[0];
|
|
327
|
-
this.theme =
|
|
327
|
+
this.theme = result[1];
|
|
328
328
|
}), auditTime(THROTTLE_MS))
|
|
329
329
|
.subscribe(() => {
|
|
330
330
|
this.refresh();
|
|
331
331
|
});
|
|
332
332
|
});
|
|
333
333
|
}
|
|
334
|
-
loadTheme(chartTheme) {
|
|
335
|
-
return {
|
|
336
|
-
...chartTheme,
|
|
337
|
-
nodeColors: chartTheme.seriesColors,
|
|
338
|
-
};
|
|
339
|
-
}
|
|
340
334
|
run(callback, inZone = true, detectChanges) {
|
|
341
335
|
if (inZone) {
|
|
342
336
|
if (detectChanges) {
|
|
@@ -375,7 +369,7 @@ export class SankeyComponent {
|
|
|
375
369
|
get isRTL() {
|
|
376
370
|
return Boolean(this.localizationService.rtl);
|
|
377
371
|
}
|
|
378
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SankeyComponent, deps: [{ token: i0.ElementRef }, { token: i1.ConfigurationService }, { token: i2.
|
|
372
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SankeyComponent, deps: [{ token: i0.ElementRef }, { token: i1.ConfigurationService }, { token: i2.SankeyThemeService }, { token: i3.LocalizationService }, { token: i4.InstanceEventService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i5.IntlService }], target: i0.ɵɵFactoryTarget.Component });
|
|
379
373
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SankeyComponent, isStandalone: true, selector: "kendo-sankey", inputs: { data: "data", links: "links", nodes: "nodes", labels: "labels", title: "title", legend: "legend", tooltip: "tooltip", disableAutoLayout: "disableAutoLayout", navigable: "navigable", popupSettings: "popupSettings" }, outputs: { nodeEnter: "nodeEnter", nodeLeave: "nodeLeave", nodeClick: "nodeClick", linkEnter: "linkEnter", linkLeave: "linkLeave", linkClick: "linkClick" }, providers: [
|
|
380
374
|
ConfigurationService,
|
|
381
375
|
LocalizationService,
|
|
@@ -433,7 +427,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
433
427
|
standalone: true,
|
|
434
428
|
imports: [LocalizedMessagesDirective, SankeyTooltipPopupComponent, NgIf, WatermarkOverlayComponent]
|
|
435
429
|
}]
|
|
436
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.ConfigurationService }, { type: i2.
|
|
430
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.ConfigurationService }, { type: i2.SankeyThemeService }, { type: i3.LocalizationService }, { type: i4.InstanceEventService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: i5.IntlService }]; }, propDecorators: { data: [{
|
|
437
431
|
type: Input
|
|
438
432
|
}], links: [{
|
|
439
433
|
type: Input
|
|
@@ -8,7 +8,7 @@ import { isDocumentAvailable, shouldShowValidationUI, ResizeSensorComponent, Wat
|
|
|
8
8
|
import * as i3 from '@progress/kendo-angular-intl';
|
|
9
9
|
import * as i1$1 from '@progress/kendo-angular-l10n';
|
|
10
10
|
import { ComponentMessages, LocalizationService, L10N_PREFIX } from '@progress/kendo-angular-l10n';
|
|
11
|
-
import { DateCategoryAxis, DateValueAxis, InstanceObserver, chartBaseTheme, Chart, StockChart, Sparkline, Sankey, createSankeyData } from '@progress/kendo-charts';
|
|
11
|
+
import { DateCategoryAxis, DateValueAxis, InstanceObserver, chartBaseTheme, chartTheme, deepExtend, Chart, StockChart, Sparkline, sankeyTheme, Sankey, createSankeyData } from '@progress/kendo-charts';
|
|
12
12
|
import { exportImage, exportSVG } from '@progress/kendo-drawing';
|
|
13
13
|
import { validatePackage } from '@progress/kendo-licensing';
|
|
14
14
|
import { Subject, BehaviorSubject, combineLatest, Subscription } from 'rxjs';
|
|
@@ -1937,88 +1937,19 @@ const chartDefaultTheme = () => Object.assign({}, chartBaseTheme(), {
|
|
|
1937
1937
|
]
|
|
1938
1938
|
});
|
|
1939
1939
|
|
|
1940
|
-
const font = (style) => `${style.fontWeight} ${style.fontSize} ${style.fontFamily}`;
|
|
1941
|
-
const computedBackgroundColor = (element) => window.getComputedStyle(element).backgroundColor;
|
|
1942
|
-
const letterPos = (letter) => letter.toLowerCase().charCodeAt(0) - 'a'.charCodeAt(0);
|
|
1943
|
-
const seriesPos = (name) => {
|
|
1944
|
-
const alpha = name.match(/series-([a-z])$/);
|
|
1945
|
-
if (alpha !== null) {
|
|
1946
|
-
return letterPos(alpha[1]);
|
|
1947
|
-
}
|
|
1948
|
-
const num = name.split('--series-')[1];
|
|
1949
|
-
return parseInt(num, 10) - 1;
|
|
1950
|
-
};
|
|
1951
|
-
const SERIES_COLORS = 30;
|
|
1952
|
-
const seriesTemplate = () => {
|
|
1953
|
-
let template = `
|
|
1954
|
-
<div class="k-var--series-a"></div>
|
|
1955
|
-
<div class="k-var--series-b"></div>
|
|
1956
|
-
<div class="k-var--series-c"></div>
|
|
1957
|
-
<div class="k-var--series-d"></div>
|
|
1958
|
-
<div class="k-var--series-e"></div>
|
|
1959
|
-
<div class="k-var--series-f"></div>
|
|
1960
|
-
`;
|
|
1961
|
-
for (let i = 0; i < SERIES_COLORS; i++) {
|
|
1962
|
-
template += `
|
|
1963
|
-
<div class="k-var--series-${i + 1}"></div>`;
|
|
1964
|
-
}
|
|
1965
|
-
return template;
|
|
1966
|
-
};
|
|
1967
|
-
const template = () => `
|
|
1968
|
-
<div class="k-var--primary"></div>
|
|
1969
|
-
<div class="k-var--primary-contrast"></div>
|
|
1970
|
-
<div class="k-var--base"></div>
|
|
1971
|
-
<div class="k-var--background"></div>
|
|
1972
|
-
|
|
1973
|
-
<div class="k-var--kendo-color-subtle"></div>
|
|
1974
|
-
|
|
1975
|
-
<div class="k-var--normal-background"></div>
|
|
1976
|
-
<div class="k-var--normal-text-color"></div>
|
|
1977
|
-
<div class="k-var--hover-background"></div>
|
|
1978
|
-
<div class="k-var--hover-text-color"></div>
|
|
1979
|
-
<div class="k-var--selected-background"></div>
|
|
1980
|
-
<div class="k-var--selected-text-color"></div>
|
|
1981
|
-
<div class="k-var--chart-error-bars-background"></div>
|
|
1982
|
-
<div class="k-var--chart-notes-background"></div>
|
|
1983
|
-
<div class="k-var--chart-notes-border"></div>
|
|
1984
|
-
<div class="k-var--chart-notes-lines"></div>
|
|
1985
|
-
<div class="k-var--chart-crosshair-background"></div>
|
|
1986
|
-
|
|
1987
|
-
<div class="k-var--chart-inactive"></div>
|
|
1988
|
-
<div class="k-var--chart-major-lines"></div>
|
|
1989
|
-
<div class="k-var--chart-minor-lines"></div>
|
|
1990
|
-
<div class="k-var--chart-area-opacity"></div>
|
|
1991
|
-
<div class="k-var--chart-area-inactive-opacity"></div>
|
|
1992
|
-
<div class="k-var--chart-line-inactive-opacity"></div>
|
|
1993
|
-
|
|
1994
|
-
<div class="k-widget k-chart">
|
|
1995
|
-
<div class="k-var--chart-font"></div>
|
|
1996
|
-
<div class="k-var--chart-title-font"></div>
|
|
1997
|
-
<div class="k-var--chart-pane-title-font"></div>
|
|
1998
|
-
<div class="k-var--chart-label-font"></div>
|
|
1999
|
-
</div>
|
|
2000
|
-
|
|
2001
|
-
<div class="k-var--series-unset"></div>
|
|
2002
|
-
<div class="k-var--series">
|
|
2003
|
-
${seriesTemplate()}
|
|
2004
|
-
</div>
|
|
2005
|
-
`;
|
|
2006
1940
|
/**
|
|
2007
1941
|
* @hidden
|
|
2008
1942
|
*/
|
|
2009
1943
|
class ThemeService extends ConfigurationService {
|
|
2010
1944
|
loaded = false;
|
|
2011
1945
|
element;
|
|
2012
|
-
constructor(ngZone) {
|
|
2013
|
-
super(ngZone);
|
|
2014
|
-
}
|
|
2015
1946
|
loadTheme() {
|
|
2016
1947
|
if (this.loaded || !isDocumentAvailable()) {
|
|
2017
1948
|
return;
|
|
2018
1949
|
}
|
|
2019
|
-
|
|
2020
|
-
|
|
2021
|
-
|
|
1950
|
+
this.createElement();
|
|
1951
|
+
this.readTheme();
|
|
1952
|
+
this.destroyElement();
|
|
2022
1953
|
this.loaded = true;
|
|
2023
1954
|
this.next();
|
|
2024
1955
|
}
|
|
@@ -2028,29 +1959,21 @@ class ThemeService extends ConfigurationService {
|
|
|
2028
1959
|
this.loadTheme();
|
|
2029
1960
|
}
|
|
2030
1961
|
readTheme() {
|
|
2031
|
-
|
|
2032
|
-
const available = this.queryColor('primary') !==
|
|
2033
|
-
this.queryColor('primary-contrast');
|
|
1962
|
+
let theme = {};
|
|
2034
1963
|
try {
|
|
2035
|
-
|
|
2036
|
-
this.push(chartBaseTheme());
|
|
2037
|
-
this.setColors();
|
|
2038
|
-
this.setFonts();
|
|
2039
|
-
this.setSeriesColors();
|
|
2040
|
-
}
|
|
1964
|
+
theme = chartTheme(this.element);
|
|
2041
1965
|
}
|
|
2042
|
-
|
|
2043
|
-
|
|
1966
|
+
catch {
|
|
1967
|
+
theme = {};
|
|
2044
1968
|
}
|
|
2045
|
-
|
|
2046
|
-
|
|
2047
|
-
|
|
2048
|
-
this.push(chartDefaultTheme());
|
|
1969
|
+
const available = Boolean(theme.chartArea && theme.chartArea.background);
|
|
1970
|
+
const result = available ? deepExtend(chartBaseTheme(), theme) : chartDefaultTheme();
|
|
1971
|
+
this.push(result);
|
|
2049
1972
|
}
|
|
2050
1973
|
createElement() {
|
|
2051
1974
|
const container = this.element = document.createElement('div');
|
|
1975
|
+
container.className = 'k-chart';
|
|
2052
1976
|
container.style.display = 'none';
|
|
2053
|
-
container.innerHTML = template();
|
|
2054
1977
|
document.body.appendChild(container);
|
|
2055
1978
|
}
|
|
2056
1979
|
destroyElement() {
|
|
@@ -2059,113 +1982,7 @@ class ThemeService extends ConfigurationService {
|
|
|
2059
1982
|
this.element = undefined;
|
|
2060
1983
|
}
|
|
2061
1984
|
}
|
|
2062
|
-
|
|
2063
|
-
this.set(key, value);
|
|
2064
|
-
}
|
|
2065
|
-
setColors() {
|
|
2066
|
-
this.mapColor('axisDefaults.crosshair.color', 'chart-crosshair-background');
|
|
2067
|
-
this.mapColor('axisDefaults.labels.color', 'normal-text-color');
|
|
2068
|
-
this.mapColor('axisDefaults.line.color', 'chart-major-lines');
|
|
2069
|
-
this.mapColor('axisDefaults.majorGridLines.color', 'chart-major-lines');
|
|
2070
|
-
this.mapColor('axisDefaults.minorGridLines.color', 'chart-minor-lines');
|
|
2071
|
-
this.mapColor('axisDefaults.notes.icon.background', 'chart-notes-background');
|
|
2072
|
-
this.mapColor('axisDefaults.notes.icon.border.color', 'chart-notes-border');
|
|
2073
|
-
this.mapColor('axisDefaults.notes.line.color', 'chart-notes-lines');
|
|
2074
|
-
this.mapColor('axisDefaults.title.color', 'normal-text-color');
|
|
2075
|
-
this.mapColor('chartArea.background', 'background');
|
|
2076
|
-
this.mapColor('legend.inactiveItems.labels.color', 'chart-inactive');
|
|
2077
|
-
this.mapColor('legend.inactiveItems.markers.color', 'chart-inactive');
|
|
2078
|
-
this.mapColor('legend.labels.color', 'normal-text-color');
|
|
2079
|
-
this.mapColor('legend.title.color', 'normal-text-color');
|
|
2080
|
-
this.mapColor('seriesDefaults.boxPlot.downColor', 'chart-major-lines');
|
|
2081
|
-
this.mapColor('seriesDefaults.boxPlot.mean.color', 'base');
|
|
2082
|
-
this.mapColor('seriesDefaults.boxPlot.median.color', 'base');
|
|
2083
|
-
this.mapColor('seriesDefaults.boxPlot.whiskers.color', 'primary');
|
|
2084
|
-
this.mapColor('seriesDefaults.bullet.target.color', 'normal-text-color');
|
|
2085
|
-
this.mapColor('seriesDefaults.candlestick.downColor', 'normal-text-color');
|
|
2086
|
-
this.mapColor('seriesDefaults.candlestick.line.color', 'normal-text-color');
|
|
2087
|
-
this.mapColor('seriesDefaults.errorBars.color', 'chart-error-bars-background');
|
|
2088
|
-
this.mapColor('seriesDefaults.horizontalWaterfall.line.color', 'chart-major-lines');
|
|
2089
|
-
this.mapColor('seriesDefaults.icon.border.color', 'chart-major-lines');
|
|
2090
|
-
this.mapColor('seriesDefaults.labels.background', 'background');
|
|
2091
|
-
this.mapColor('seriesDefaults.labels.color', 'normal-text-color');
|
|
2092
|
-
this.mapColor('seriesDefaults.notes.icon.background', 'chart-notes-background');
|
|
2093
|
-
this.mapColor('seriesDefaults.notes.icon.border.color', 'chart-notes-border');
|
|
2094
|
-
this.mapColor('seriesDefaults.notes.line.color', 'chart-notes-lines');
|
|
2095
|
-
this.mapColor('seriesDefaults.verticalBoxPlot.downColor', 'chart-major-lines');
|
|
2096
|
-
this.mapColor('seriesDefaults.verticalBoxPlot.mean.color', 'base');
|
|
2097
|
-
this.mapColor('seriesDefaults.verticalBoxPlot.median.color', 'base');
|
|
2098
|
-
this.mapColor('seriesDefaults.verticalBoxPlot.whiskers.color', 'primary');
|
|
2099
|
-
this.mapColor('seriesDefaults.verticalBullet.target.color', 'normal-text-color');
|
|
2100
|
-
this.mapColor('seriesDefaults.waterfall.line.color', 'chart-major-lines');
|
|
2101
|
-
this.mapColor('title.color', 'normal-text-color');
|
|
2102
|
-
this.mapColor('subtitle.color', 'normal-text-color');
|
|
2103
|
-
// Sankey diagram
|
|
2104
|
-
this.mapColor('labels.color', 'normal-text-color');
|
|
2105
|
-
this.mapColor('labels.stroke.color', 'background');
|
|
2106
|
-
// 'k-var--kendo-color-subtle' class does not contain the --kendo-color-subtle variable style
|
|
2107
|
-
const element = this.element?.querySelector('.k-var--kendo-color-subtle');
|
|
2108
|
-
element && (element.style.color = 'var(--kendo-color-subtle)');
|
|
2109
|
-
this.mapColor('links.color', 'kendo-color-subtle', 'color');
|
|
2110
|
-
const opacity = parseFloat(this.queryStyle('chart-area-opacity').opacity);
|
|
2111
|
-
if (!isNaN(opacity)) {
|
|
2112
|
-
this.setStyle('seriesDefaults.area.opacity', opacity);
|
|
2113
|
-
this.setStyle('seriesDefaults.radarArea.opacity', opacity);
|
|
2114
|
-
this.setStyle('seriesDefaults.verticalArea.opacity', opacity);
|
|
2115
|
-
this.setStyle('seriesDefaults.labels.opacity', opacity);
|
|
2116
|
-
}
|
|
2117
|
-
this.setInactiveOpacity(['area', 'verticalArea'], 'chart-area-inactive-opacity');
|
|
2118
|
-
this.setInactiveOpacity(['line', 'verticalLine'], 'chart-line-inactive-opacity');
|
|
2119
|
-
}
|
|
2120
|
-
setInactiveOpacity(seriesTypes, selector) {
|
|
2121
|
-
const inactiveOpacity = parseFloat(this.queryStyle(selector).opacity);
|
|
2122
|
-
if (!isNaN(inactiveOpacity) && inactiveOpacity < 1) {
|
|
2123
|
-
seriesTypes.forEach(type => this.setStyle(`seriesDefaults.${type}.highlight.inactiveOpacity`, inactiveOpacity));
|
|
2124
|
-
}
|
|
2125
|
-
}
|
|
2126
|
-
setFonts() {
|
|
2127
|
-
const defaultFont = font(this.queryStyle('chart-font'));
|
|
2128
|
-
const titleFont = font(this.queryStyle('chart-title-font'));
|
|
2129
|
-
const paneTitleFont = font(this.queryStyle('chart-pane-title-font'));
|
|
2130
|
-
const labelFont = font(this.queryStyle('chart-label-font'));
|
|
2131
|
-
this.setStyle('axisDefaults.labels.font', labelFont);
|
|
2132
|
-
this.setStyle('axisDefaults.notes.label.font', defaultFont);
|
|
2133
|
-
this.setStyle('axisDefaults.title.font', defaultFont);
|
|
2134
|
-
this.setStyle('legend.labels.font', defaultFont);
|
|
2135
|
-
this.setStyle('seriesDefaults.labels.font', labelFont);
|
|
2136
|
-
this.setStyle('seriesDefaults.notes.label.font', defaultFont);
|
|
2137
|
-
this.setStyle('title.font', titleFont);
|
|
2138
|
-
this.setStyle('subtitle.font', paneTitleFont);
|
|
2139
|
-
this.setStyle('paneDefaults.title.font', paneTitleFont);
|
|
2140
|
-
// Sankey diagram
|
|
2141
|
-
this.setStyle('labels.font', defaultFont);
|
|
2142
|
-
}
|
|
2143
|
-
setSeriesColors() {
|
|
2144
|
-
const element = this.element;
|
|
2145
|
-
const series = [].slice.call(element.querySelectorAll('.k-var--series div'));
|
|
2146
|
-
const unsetColor = computedBackgroundColor(element.querySelector('.k-var--series-unset'));
|
|
2147
|
-
const seriesColors = series.reduce((arr, el) => {
|
|
2148
|
-
const pos = seriesPos(el.className);
|
|
2149
|
-
const color = computedBackgroundColor(el);
|
|
2150
|
-
if (color !== unsetColor) {
|
|
2151
|
-
arr[pos] = color;
|
|
2152
|
-
}
|
|
2153
|
-
return arr;
|
|
2154
|
-
}, [] // Will populate the series colors in this array
|
|
2155
|
-
);
|
|
2156
|
-
this.setStyle('seriesColors', seriesColors);
|
|
2157
|
-
}
|
|
2158
|
-
mapColor(key, varName, styleKey = 'backgroundColor') {
|
|
2159
|
-
this.setStyle(key, this.queryStyle(varName)[styleKey]);
|
|
2160
|
-
}
|
|
2161
|
-
queryColor(varName) {
|
|
2162
|
-
return this.queryStyle(varName).backgroundColor;
|
|
2163
|
-
}
|
|
2164
|
-
queryStyle(varName) {
|
|
2165
|
-
const element = this.element.querySelector(`.k-var--${varName}`);
|
|
2166
|
-
return window.getComputedStyle(element);
|
|
2167
|
-
}
|
|
2168
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ThemeService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1985
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ThemeService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
2169
1986
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ThemeService, providedIn: 'root' });
|
|
2170
1987
|
}
|
|
2171
1988
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ThemeService, decorators: [{
|
|
@@ -2173,7 +1990,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
2173
1990
|
args: [{
|
|
2174
1991
|
providedIn: 'root'
|
|
2175
1992
|
}]
|
|
2176
|
-
}]
|
|
1993
|
+
}] });
|
|
2177
1994
|
|
|
2178
1995
|
/**
|
|
2179
1996
|
* @hidden
|
|
@@ -2909,8 +2726,8 @@ const packageMetadata = {
|
|
|
2909
2726
|
productName: 'Kendo UI for Angular',
|
|
2910
2727
|
productCode: 'KENDOUIANGULAR',
|
|
2911
2728
|
productCodes: ['KENDOUIANGULAR'],
|
|
2912
|
-
publishDate:
|
|
2913
|
-
version: '18.1.0-develop.
|
|
2729
|
+
publishDate: 1738764062,
|
|
2730
|
+
version: '18.1.0-develop.15',
|
|
2914
2731
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
2915
2732
|
};
|
|
2916
2733
|
|
|
@@ -10654,6 +10471,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
10654
10471
|
args: ['breadcrumb', { static: true }]
|
|
10655
10472
|
}] } });
|
|
10656
10473
|
|
|
10474
|
+
/**
|
|
10475
|
+
* @hidden
|
|
10476
|
+
*/
|
|
10477
|
+
class SankeyThemeService extends ThemeService {
|
|
10478
|
+
readTheme() {
|
|
10479
|
+
const theme = sankeyTheme(this.element);
|
|
10480
|
+
this.push(theme);
|
|
10481
|
+
}
|
|
10482
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SankeyThemeService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
10483
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SankeyThemeService, providedIn: 'root' });
|
|
10484
|
+
}
|
|
10485
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SankeyThemeService, decorators: [{
|
|
10486
|
+
type: Injectable,
|
|
10487
|
+
args: [{
|
|
10488
|
+
providedIn: 'root'
|
|
10489
|
+
}]
|
|
10490
|
+
}] });
|
|
10491
|
+
|
|
10657
10492
|
/**
|
|
10658
10493
|
* @hidden
|
|
10659
10494
|
*/
|
|
@@ -11547,19 +11382,13 @@ class SankeyComponent {
|
|
|
11547
11382
|
this.optionsChange = combineLatest([this.configurationService.onChange$, this.themeService.onChange$])
|
|
11548
11383
|
.pipe(tap((result) => {
|
|
11549
11384
|
this.options = result[0];
|
|
11550
|
-
this.theme =
|
|
11385
|
+
this.theme = result[1];
|
|
11551
11386
|
}), auditTime(THROTTLE_MS))
|
|
11552
11387
|
.subscribe(() => {
|
|
11553
11388
|
this.refresh();
|
|
11554
11389
|
});
|
|
11555
11390
|
});
|
|
11556
11391
|
}
|
|
11557
|
-
loadTheme(chartTheme) {
|
|
11558
|
-
return {
|
|
11559
|
-
...chartTheme,
|
|
11560
|
-
nodeColors: chartTheme.seriesColors,
|
|
11561
|
-
};
|
|
11562
|
-
}
|
|
11563
11392
|
run(callback, inZone = true, detectChanges) {
|
|
11564
11393
|
if (inZone) {
|
|
11565
11394
|
if (detectChanges) {
|
|
@@ -11598,7 +11427,7 @@ class SankeyComponent {
|
|
|
11598
11427
|
get isRTL() {
|
|
11599
11428
|
return Boolean(this.localizationService.rtl);
|
|
11600
11429
|
}
|
|
11601
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SankeyComponent, deps: [{ token: i0.ElementRef }, { token: ConfigurationService }, { token:
|
|
11430
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SankeyComponent, deps: [{ token: i0.ElementRef }, { token: ConfigurationService }, { token: SankeyThemeService }, { token: i1$1.LocalizationService }, { token: InstanceEventService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i3.IntlService }], target: i0.ɵɵFactoryTarget.Component });
|
|
11602
11431
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SankeyComponent, isStandalone: true, selector: "kendo-sankey", inputs: { data: "data", links: "links", nodes: "nodes", labels: "labels", title: "title", legend: "legend", tooltip: "tooltip", disableAutoLayout: "disableAutoLayout", navigable: "navigable", popupSettings: "popupSettings" }, outputs: { nodeEnter: "nodeEnter", nodeLeave: "nodeLeave", nodeClick: "nodeClick", linkEnter: "linkEnter", linkLeave: "linkLeave", linkClick: "linkClick" }, providers: [
|
|
11603
11432
|
ConfigurationService,
|
|
11604
11433
|
LocalizationService,
|
|
@@ -11656,7 +11485,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
11656
11485
|
standalone: true,
|
|
11657
11486
|
imports: [LocalizedMessagesDirective, SankeyTooltipPopupComponent, NgIf, WatermarkOverlayComponent]
|
|
11658
11487
|
}]
|
|
11659
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: ConfigurationService }, { type:
|
|
11488
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: ConfigurationService }, { type: SankeyThemeService }, { type: i1$1.LocalizationService }, { type: InstanceEventService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: i3.IntlService }]; }, propDecorators: { data: [{
|
|
11660
11489
|
type: Input
|
|
11661
11490
|
}], links: [{
|
|
11662
11491
|
type: Input
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@progress/kendo-angular-charts",
|
|
3
|
-
"version": "18.1.0-develop.
|
|
3
|
+
"version": "18.1.0-develop.15",
|
|
4
4
|
"description": "Kendo UI Charts for Angular - A comprehensive package for creating beautiful and interactive data visualization. Every chart type, stock charts, and sparklines are included.",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"author": "Progress",
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"package": {
|
|
43
43
|
"productName": "Kendo UI for Angular",
|
|
44
44
|
"productCode": "KENDOUIANGULAR",
|
|
45
|
-
"publishDate":
|
|
45
|
+
"publishDate": 1738764062,
|
|
46
46
|
"licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
|
|
47
47
|
}
|
|
48
48
|
},
|
|
@@ -53,17 +53,17 @@
|
|
|
53
53
|
"@angular/platform-browser": "16 - 19",
|
|
54
54
|
"@progress/kendo-drawing": "^1.21.0",
|
|
55
55
|
"@progress/kendo-licensing": "^1.0.2",
|
|
56
|
-
"@progress/kendo-angular-common": "18.1.0-develop.
|
|
57
|
-
"@progress/kendo-angular-intl": "18.1.0-develop.
|
|
58
|
-
"@progress/kendo-angular-icons": "18.1.0-develop.
|
|
59
|
-
"@progress/kendo-angular-l10n": "18.1.0-develop.
|
|
60
|
-
"@progress/kendo-angular-popup": "18.1.0-develop.
|
|
61
|
-
"@progress/kendo-angular-navigation": "18.1.0-develop.
|
|
56
|
+
"@progress/kendo-angular-common": "18.1.0-develop.15",
|
|
57
|
+
"@progress/kendo-angular-intl": "18.1.0-develop.15",
|
|
58
|
+
"@progress/kendo-angular-icons": "18.1.0-develop.15",
|
|
59
|
+
"@progress/kendo-angular-l10n": "18.1.0-develop.15",
|
|
60
|
+
"@progress/kendo-angular-popup": "18.1.0-develop.15",
|
|
61
|
+
"@progress/kendo-angular-navigation": "18.1.0-develop.15",
|
|
62
62
|
"rxjs": "^6.5.3 || ^7.0.0"
|
|
63
63
|
},
|
|
64
64
|
"dependencies": {
|
|
65
65
|
"tslib": "^2.3.1",
|
|
66
|
-
"@progress/kendo-angular-schematics": "18.1.0-develop.
|
|
66
|
+
"@progress/kendo-angular-schematics": "18.1.0-develop.15",
|
|
67
67
|
"@progress/kendo-charts": "2.7.1",
|
|
68
68
|
"@progress/kendo-svg-icons": "^4.0.0"
|
|
69
69
|
},
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**-----------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright © 2025 Progress Software Corporation. All rights reserved.
|
|
3
|
+
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
+
*-------------------------------------------------------------------------------------------*/
|
|
5
|
+
import { ThemeService } from '../common/theme.service';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
/**
|
|
8
|
+
* @hidden
|
|
9
|
+
*/
|
|
10
|
+
export declare class SankeyThemeService extends ThemeService {
|
|
11
|
+
protected readTheme(): void;
|
|
12
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SankeyThemeService, never>;
|
|
13
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<SankeyThemeService>;
|
|
14
|
+
}
|
package/sankey.component.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ import { LocalizationService } from '@progress/kendo-angular-l10n';
|
|
|
7
7
|
import { Group, ImageExportOptions, SVGExportOptions } from '@progress/kendo-drawing';
|
|
8
8
|
import { Subscription } from 'rxjs';
|
|
9
9
|
import { ConfigurationService } from './common/configuration.service';
|
|
10
|
-
import {
|
|
10
|
+
import { SankeyThemeService } from './sankey/theme.service';
|
|
11
11
|
import { InstanceEventService, SankeyLinkEvent, SankeyNodeEvent } from './sankey/events';
|
|
12
12
|
import { Sankey, SankeyEvent, SankeyTooltipEvent } from '@progress/kendo-charts';
|
|
13
13
|
import { SankeyExportVisualOptions, SankeyLabelDefaults, SankeyLinkDefaults, SankeyNodeDefaults, SankeyTooltip } from './sankey/api-types';
|
|
@@ -50,7 +50,7 @@ import * as i0 from "@angular/core";
|
|
|
50
50
|
export declare class SankeyComponent implements AfterViewInit, OnChanges, OnDestroy {
|
|
51
51
|
protected element: ElementRef;
|
|
52
52
|
configurationService: ConfigurationService;
|
|
53
|
-
themeService:
|
|
53
|
+
themeService: SankeyThemeService;
|
|
54
54
|
protected localizationService: LocalizationService;
|
|
55
55
|
protected instanceEventService: InstanceEventService;
|
|
56
56
|
protected ngZone: NgZone;
|
|
@@ -141,7 +141,7 @@ export declare class SankeyComponent implements AfterViewInit, OnChanges, OnDest
|
|
|
141
141
|
protected destroyed: boolean;
|
|
142
142
|
protected subscriptions: Subscription;
|
|
143
143
|
protected rtl: boolean;
|
|
144
|
-
constructor(element: ElementRef, configurationService: ConfigurationService, themeService:
|
|
144
|
+
constructor(element: ElementRef, configurationService: ConfigurationService, themeService: SankeyThemeService, localizationService: LocalizationService, instanceEventService: InstanceEventService, ngZone: NgZone, changeDetector: ChangeDetectorRef, renderer: Renderer2, intlService: IntlService);
|
|
145
145
|
ngAfterViewInit(): void;
|
|
146
146
|
ngOnChanges(changes: {
|
|
147
147
|
[propertyName: string]: SimpleChange;
|
|
@@ -203,7 +203,6 @@ export declare class SankeyComponent implements AfterViewInit, OnChanges, OnDest
|
|
|
203
203
|
protected get instanceOptions(): any;
|
|
204
204
|
protected activeEmitter(name: string): any;
|
|
205
205
|
protected refreshWait(): void;
|
|
206
|
-
protected loadTheme(chartTheme: any): any;
|
|
207
206
|
protected run(callback: any, inZone?: boolean, detectChanges?: boolean): void;
|
|
208
207
|
protected detectChanges(): void;
|
|
209
208
|
protected intlChange(): void;
|