@progress/kendo-angular-charts 18.1.0-develop.19 → 18.1.0-develop.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.
- package/chart/legend.component.d.ts +2 -3
- package/chart/series-defaults.component.d.ts +2 -3
- package/common/property-types.d.ts +1 -1
- package/common/theme.service.d.ts +13 -2
- package/esm2022/chart/legend.component.mjs +1 -4
- package/esm2022/chart/series-defaults.component.mjs +1 -4
- package/esm2022/common/theme.service.mjs +198 -15
- package/esm2022/package-metadata.mjs +2 -2
- package/esm2022/sankey/links.component.mjs +1 -4
- package/esm2022/sankey/nodes.component.mjs +1 -4
- package/esm2022/sankey.component.mjs +11 -5
- package/fesm2022/progress-kendo-angular-charts.mjs +212 -53
- package/option-types/legend.interface.d.ts +1 -5
- package/option-types/series-defaults.interface.d.ts +1 -5
- package/package.json +10 -10
- package/sankey/api-types/index.d.ts +1 -1
- package/sankey/links.component.d.ts +1 -3
- package/sankey/nodes.component.d.ts +1 -3
- package/sankey.component.d.ts +4 -3
- package/esm2022/sankey/theme.service.mjs +0 -25
- package/sankey/theme.service.d.ts +0 -14
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import { ConfigurationService } from '../common/configuration.service';
|
|
6
6
|
import { SettingsComponent } from '../common/settings.component';
|
|
7
|
-
import { Border, LegendLabels, Margin, Padding, LegendMarkers, LegendInactiveItems, LegendItem, Legend, LegendTitle
|
|
7
|
+
import { Border, LegendLabels, Margin, Padding, LegendMarkers, LegendInactiveItems, LegendItem, Legend, LegendTitle } from '../common/property-types';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
/**
|
|
10
10
|
* The configuration options of the Chart legend
|
|
@@ -77,8 +77,7 @@ export declare class LegendComponent extends SettingsComponent implements Legend
|
|
|
77
77
|
inactiveItems: LegendInactiveItems;
|
|
78
78
|
item: LegendItem;
|
|
79
79
|
title: LegendTitle;
|
|
80
|
-
focusHighlight?: FocusHighlight;
|
|
81
80
|
constructor(configurationService: ConfigurationService);
|
|
82
81
|
static ɵfac: i0.ɵɵFactoryDeclaration<LegendComponent, never>;
|
|
83
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<LegendComponent, "kendo-chart-legend", never, { "align": { "alias": "align"; "required": false; }; "background": { "alias": "background"; "required": false; }; "border": { "alias": "border"; "required": false; }; "height": { "alias": "height"; "required": false; }; "labels": { "alias": "labels"; "required": false; }; "margin": { "alias": "margin"; "required": false; }; "offsetX": { "alias": "offsetX"; "required": false; }; "offsetY": { "alias": "offsetY"; "required": false; }; "orientation": { "alias": "orientation"; "required": false; }; "padding": { "alias": "padding"; "required": false; }; "position": { "alias": "position"; "required": false; }; "reverse": { "alias": "reverse"; "required": false; }; "visible": { "alias": "visible"; "required": false; }; "width": { "alias": "width"; "required": false; }; "markers": { "alias": "markers"; "required": false; }; "spacing": { "alias": "spacing"; "required": false; }; "inactiveItems": { "alias": "inactiveItems"; "required": false; }; "item": { "alias": "item"; "required": false; }; "title": { "alias": "title"; "required": false; };
|
|
82
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LegendComponent, "kendo-chart-legend", never, { "align": { "alias": "align"; "required": false; }; "background": { "alias": "background"; "required": false; }; "border": { "alias": "border"; "required": false; }; "height": { "alias": "height"; "required": false; }; "labels": { "alias": "labels"; "required": false; }; "margin": { "alias": "margin"; "required": false; }; "offsetX": { "alias": "offsetX"; "required": false; }; "offsetY": { "alias": "offsetY"; "required": false; }; "orientation": { "alias": "orientation"; "required": false; }; "padding": { "alias": "padding"; "required": false; }; "position": { "alias": "position"; "required": false; }; "reverse": { "alias": "reverse"; "required": false; }; "visible": { "alias": "visible"; "required": false; }; "width": { "alias": "width"; "required": false; }; "markers": { "alias": "markers"; "required": false; }; "spacing": { "alias": "spacing"; "required": false; }; "inactiveItems": { "alias": "inactiveItems"; "required": false; }; "item": { "alias": "item"; "required": false; }; "title": { "alias": "title"; "required": false; }; }, {}, never, never, true, never>;
|
|
84
83
|
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import { ConfigurationService } from '../common/configuration.service';
|
|
6
6
|
import { drawing } from '@progress/kendo-drawing';
|
|
7
7
|
import { SettingsComponent } from '../common/settings.component';
|
|
8
|
-
import { Border,
|
|
8
|
+
import { Border, Overlay, SeriesHighlight, SeriesStack, SeriesType, SeriesVisualArgs } from '../common/property-types';
|
|
9
9
|
import { SeriesDefaultsLabels, SeriesDefaultsNotes, SeriesDefaultsTooltip, SeriesDefaults } from '../common/property-types';
|
|
10
10
|
import * as i0 from "@angular/core";
|
|
11
11
|
/**
|
|
@@ -41,8 +41,7 @@ export declare class SeriesDefaultsComponent extends SettingsComponent implement
|
|
|
41
41
|
labels: SeriesDefaultsLabels;
|
|
42
42
|
notes: SeriesDefaultsNotes;
|
|
43
43
|
tooltip: SeriesDefaultsTooltip;
|
|
44
|
-
focusHighlight?: FocusHighlight;
|
|
45
44
|
constructor(configurationService: ConfigurationService);
|
|
46
45
|
static ɵfac: i0.ɵɵFactoryDeclaration<SeriesDefaultsComponent, never>;
|
|
47
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SeriesDefaultsComponent, "kendo-chart-series-defaults", never, { "border": { "alias": "border"; "required": false; }; "gap": { "alias": "gap"; "required": false; }; "highlight": { "alias": "highlight"; "required": false; }; "overlay": { "alias": "overlay"; "required": false; }; "spacing": { "alias": "spacing"; "required": false; }; "stack": { "alias": "stack"; "required": false; }; "type": { "alias": "type"; "required": false; }; "visual": { "alias": "visual"; "required": false; }; "labels": { "alias": "labels"; "required": false; }; "notes": { "alias": "notes"; "required": false; }; "tooltip": { "alias": "tooltip"; "required": false; };
|
|
46
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SeriesDefaultsComponent, "kendo-chart-series-defaults", never, { "border": { "alias": "border"; "required": false; }; "gap": { "alias": "gap"; "required": false; }; "highlight": { "alias": "highlight"; "required": false; }; "overlay": { "alias": "overlay"; "required": false; }; "spacing": { "alias": "spacing"; "required": false; }; "stack": { "alias": "stack"; "required": false; }; "type": { "alias": "type"; "required": false; }; "visual": { "alias": "visual"; "required": false; }; "labels": { "alias": "labels"; "required": false; }; "notes": { "alias": "notes"; "required": false; }; "tooltip": { "alias": "tooltip"; "required": false; }; }, {}, never, never, true, never>;
|
|
48
47
|
}
|
|
@@ -141,4 +141,4 @@ export { YAxisNotesLabel } from '../option-types/y-axis-item/notes.label.interfa
|
|
|
141
141
|
export { YAxisTitle } from '../option-types/y-axis-item/title.interface';
|
|
142
142
|
export { YAxis } from '../option-types/y-axis-item.interface';
|
|
143
143
|
export { Zoomable } from '../option-types/zoomable.interface';
|
|
144
|
-
export { type SeriesPattern, type VerticalStripesPattern, type CrosshatchPattern, type DiagonalStripesPattern, type GridPattern, type DotsPattern
|
|
144
|
+
export { type SeriesPattern, type VerticalStripesPattern, type CrosshatchPattern, type DiagonalStripesPattern, type GridPattern, type DotsPattern } from '@progress/kendo-charts';
|
|
@@ -2,6 +2,7 @@
|
|
|
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';
|
|
5
6
|
import { ConfigurationService } from './configuration.service';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
/**
|
|
@@ -9,12 +10,22 @@ import * as i0 from "@angular/core";
|
|
|
9
10
|
*/
|
|
10
11
|
export declare class ThemeService extends ConfigurationService {
|
|
11
12
|
private loaded;
|
|
12
|
-
|
|
13
|
+
private element;
|
|
14
|
+
constructor(ngZone: NgZone);
|
|
13
15
|
loadTheme(): void;
|
|
14
16
|
reset(): void;
|
|
15
|
-
|
|
17
|
+
private readTheme;
|
|
18
|
+
private readDefaultTheme;
|
|
16
19
|
private createElement;
|
|
17
20
|
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;
|
|
18
29
|
static ɵfac: i0.ɵɵFactoryDeclaration<ThemeService, never>;
|
|
19
30
|
static ɵprov: i0.ɵɵInjectableDeclaration<ThemeService>;
|
|
20
31
|
}
|
|
@@ -79,14 +79,13 @@ export class LegendComponent extends SettingsComponent {
|
|
|
79
79
|
inactiveItems;
|
|
80
80
|
item;
|
|
81
81
|
title;
|
|
82
|
-
focusHighlight;
|
|
83
82
|
constructor(configurationService) {
|
|
84
83
|
super('legend', configurationService);
|
|
85
84
|
this.configurationService = configurationService;
|
|
86
85
|
this.markAsVisible();
|
|
87
86
|
}
|
|
88
87
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LegendComponent, deps: [{ token: i1.ConfigurationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
89
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: LegendComponent, isStandalone: true, selector: "kendo-chart-legend", inputs: { align: "align", background: "background", border: "border", height: "height", labels: "labels", margin: "margin", offsetX: "offsetX", offsetY: "offsetY", orientation: "orientation", padding: "padding", position: "position", reverse: "reverse", visible: "visible", width: "width", markers: "markers", spacing: "spacing", inactiveItems: "inactiveItems", item: "item", title: "title"
|
|
88
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: LegendComponent, isStandalone: true, selector: "kendo-chart-legend", inputs: { align: "align", background: "background", border: "border", height: "height", labels: "labels", margin: "margin", offsetX: "offsetX", offsetY: "offsetY", orientation: "orientation", padding: "padding", position: "position", reverse: "reverse", visible: "visible", width: "width", markers: "markers", spacing: "spacing", inactiveItems: "inactiveItems", item: "item", title: "title" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
90
89
|
}
|
|
91
90
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LegendComponent, decorators: [{
|
|
92
91
|
type: Component,
|
|
@@ -134,6 +133,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
134
133
|
type: Input
|
|
135
134
|
}], title: [{
|
|
136
135
|
type: Input
|
|
137
|
-
}], focusHighlight: [{
|
|
138
|
-
type: Input
|
|
139
136
|
}] } });
|
|
@@ -41,13 +41,12 @@ export class SeriesDefaultsComponent extends SettingsComponent {
|
|
|
41
41
|
labels;
|
|
42
42
|
notes;
|
|
43
43
|
tooltip;
|
|
44
|
-
focusHighlight;
|
|
45
44
|
constructor(configurationService) {
|
|
46
45
|
super('seriesDefaults', configurationService);
|
|
47
46
|
this.configurationService = configurationService;
|
|
48
47
|
}
|
|
49
48
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SeriesDefaultsComponent, deps: [{ token: i1.ConfigurationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
50
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SeriesDefaultsComponent, isStandalone: true, selector: "kendo-chart-series-defaults", inputs: { border: "border", gap: "gap", highlight: "highlight", overlay: "overlay", spacing: "spacing", stack: "stack", type: "type", visual: "visual", labels: "labels", notes: "notes", tooltip: "tooltip"
|
|
49
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SeriesDefaultsComponent, isStandalone: true, selector: "kendo-chart-series-defaults", inputs: { border: "border", gap: "gap", highlight: "highlight", overlay: "overlay", spacing: "spacing", stack: "stack", type: "type", visual: "visual", labels: "labels", notes: "notes", tooltip: "tooltip" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
51
50
|
}
|
|
52
51
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SeriesDefaultsComponent, decorators: [{
|
|
53
52
|
type: Component,
|
|
@@ -79,6 +78,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
79
78
|
type: Input
|
|
80
79
|
}], tooltip: [{
|
|
81
80
|
type: Input
|
|
82
|
-
}], focusHighlight: [{
|
|
83
|
-
type: Input
|
|
84
81
|
}] } });
|
|
@@ -2,25 +2,94 @@
|
|
|
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 } from '@angular/core';
|
|
5
|
+
import { Injectable, NgZone } from '@angular/core';
|
|
6
6
|
import { ConfigurationService } from './configuration.service';
|
|
7
|
-
import { chartBaseTheme
|
|
7
|
+
import { chartBaseTheme } 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
|
+
`;
|
|
11
77
|
/**
|
|
12
78
|
* @hidden
|
|
13
79
|
*/
|
|
14
80
|
export class ThemeService extends ConfigurationService {
|
|
15
81
|
loaded = false;
|
|
16
82
|
element;
|
|
83
|
+
constructor(ngZone) {
|
|
84
|
+
super(ngZone);
|
|
85
|
+
}
|
|
17
86
|
loadTheme() {
|
|
18
87
|
if (this.loaded || !isDocumentAvailable()) {
|
|
19
88
|
return;
|
|
20
89
|
}
|
|
21
|
-
this.
|
|
22
|
-
|
|
23
|
-
|
|
90
|
+
if (!this.readTheme()) {
|
|
91
|
+
this.readDefaultTheme();
|
|
92
|
+
}
|
|
24
93
|
this.loaded = true;
|
|
25
94
|
this.next();
|
|
26
95
|
}
|
|
@@ -30,21 +99,29 @@ export class ThemeService extends ConfigurationService {
|
|
|
30
99
|
this.loadTheme();
|
|
31
100
|
}
|
|
32
101
|
readTheme() {
|
|
33
|
-
|
|
102
|
+
this.createElement();
|
|
103
|
+
const available = this.queryColor('primary') !==
|
|
104
|
+
this.queryColor('primary-contrast');
|
|
34
105
|
try {
|
|
35
|
-
|
|
106
|
+
if (available) {
|
|
107
|
+
this.push(chartBaseTheme());
|
|
108
|
+
this.setColors();
|
|
109
|
+
this.setFonts();
|
|
110
|
+
this.setSeriesColors();
|
|
111
|
+
}
|
|
36
112
|
}
|
|
37
|
-
|
|
38
|
-
|
|
113
|
+
finally {
|
|
114
|
+
this.destroyElement();
|
|
39
115
|
}
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
116
|
+
return available;
|
|
117
|
+
}
|
|
118
|
+
readDefaultTheme() {
|
|
119
|
+
this.push(chartDefaultTheme());
|
|
43
120
|
}
|
|
44
121
|
createElement() {
|
|
45
122
|
const container = this.element = document.createElement('div');
|
|
46
|
-
container.className = 'k-chart';
|
|
47
123
|
container.style.display = 'none';
|
|
124
|
+
container.innerHTML = template();
|
|
48
125
|
document.body.appendChild(container);
|
|
49
126
|
}
|
|
50
127
|
destroyElement() {
|
|
@@ -53,7 +130,113 @@ export class ThemeService extends ConfigurationService {
|
|
|
53
130
|
this.element = undefined;
|
|
54
131
|
}
|
|
55
132
|
}
|
|
56
|
-
|
|
133
|
+
setStyle(key, value) {
|
|
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 });
|
|
57
240
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ThemeService, providedIn: 'root' });
|
|
58
241
|
}
|
|
59
242
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ThemeService, decorators: [{
|
|
@@ -61,4 +244,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
61
244
|
args: [{
|
|
62
245
|
providedIn: 'root'
|
|
63
246
|
}]
|
|
64
|
-
}] });
|
|
247
|
+
}], ctorParameters: function () { return [{ type: i0.NgZone }]; } });
|
|
@@ -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: 1738227362,
|
|
14
|
+
version: '18.1.0-develop.2',
|
|
15
15
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
16
16
|
};
|
|
@@ -17,13 +17,12 @@ export class SankeyLinksComponent extends SettingsComponent {
|
|
|
17
17
|
color;
|
|
18
18
|
opacity;
|
|
19
19
|
highlight;
|
|
20
|
-
focusHighlight;
|
|
21
20
|
constructor(configurationService) {
|
|
22
21
|
super('links', configurationService);
|
|
23
22
|
this.configurationService = configurationService;
|
|
24
23
|
}
|
|
25
24
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SankeyLinksComponent, deps: [{ token: i1.ConfigurationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
26
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SankeyLinksComponent, isStandalone: true, selector: "kendo-sankey-links", inputs: { colorType: "colorType", color: "color", opacity: "opacity", highlight: "highlight"
|
|
25
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SankeyLinksComponent, isStandalone: true, selector: "kendo-sankey-links", inputs: { colorType: "colorType", color: "color", opacity: "opacity", highlight: "highlight" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
27
26
|
}
|
|
28
27
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SankeyLinksComponent, decorators: [{
|
|
29
28
|
type: Component,
|
|
@@ -41,6 +40,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
41
40
|
type: Input
|
|
42
41
|
}], highlight: [{
|
|
43
42
|
type: Input
|
|
44
|
-
}], focusHighlight: [{
|
|
45
|
-
type: Input
|
|
46
43
|
}] } });
|
|
@@ -29,13 +29,12 @@ export class SankeyNodesComponent extends SettingsComponent {
|
|
|
29
29
|
padding;
|
|
30
30
|
width;
|
|
31
31
|
align;
|
|
32
|
-
focusHighlight;
|
|
33
32
|
constructor(configurationService) {
|
|
34
33
|
super('nodes', configurationService);
|
|
35
34
|
this.configurationService = configurationService;
|
|
36
35
|
}
|
|
37
36
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SankeyNodesComponent, deps: [{ token: i1.ConfigurationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
38
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SankeyNodesComponent, isStandalone: true, selector: "kendo-sankey-nodes", inputs: { colorType: "colorType", color: "color", opacity: "opacity", offset: "offset", padding: "padding", width: "width", align: "align"
|
|
37
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SankeyNodesComponent, isStandalone: true, selector: "kendo-sankey-nodes", inputs: { colorType: "colorType", color: "color", opacity: "opacity", offset: "offset", padding: "padding", width: "width", align: "align" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
39
38
|
}
|
|
40
39
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SankeyNodesComponent, decorators: [{
|
|
41
40
|
type: Component,
|
|
@@ -59,6 +58,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
59
58
|
type: Input
|
|
60
59
|
}], align: [{
|
|
61
60
|
type: Input
|
|
62
|
-
}], focusHighlight: [{
|
|
63
|
-
type: Input
|
|
64
61
|
}] } });
|
|
@@ -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 { ThemeService } from './common/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 "./common/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,13 +324,19 @@ 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 = result[1];
|
|
327
|
+
this.theme = this.loadTheme(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
|
+
}
|
|
334
340
|
run(callback, inZone = true, detectChanges) {
|
|
335
341
|
if (inZone) {
|
|
336
342
|
if (detectChanges) {
|
|
@@ -369,7 +375,7 @@ export class SankeyComponent {
|
|
|
369
375
|
get isRTL() {
|
|
370
376
|
return Boolean(this.localizationService.rtl);
|
|
371
377
|
}
|
|
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.
|
|
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.ThemeService }, { token: i3.LocalizationService }, { token: i4.InstanceEventService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i5.IntlService }], target: i0.ɵɵFactoryTarget.Component });
|
|
373
379
|
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: [
|
|
374
380
|
ConfigurationService,
|
|
375
381
|
LocalizationService,
|
|
@@ -427,7 +433,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
427
433
|
standalone: true,
|
|
428
434
|
imports: [LocalizedMessagesDirective, SankeyTooltipPopupComponent, NgIf, WatermarkOverlayComponent]
|
|
429
435
|
}]
|
|
430
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.ConfigurationService }, { type: i2.
|
|
436
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.ConfigurationService }, { type: i2.ThemeService }, { type: i3.LocalizationService }, { type: i4.InstanceEventService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: i5.IntlService }]; }, propDecorators: { data: [{
|
|
431
437
|
type: Input
|
|
432
438
|
}], links: [{
|
|
433
439
|
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,
|
|
11
|
+
import { DateCategoryAxis, DateValueAxis, InstanceObserver, chartBaseTheme, Chart, StockChart, Sparkline, 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,19 +1937,88 @@ 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
|
+
`;
|
|
1940
2006
|
/**
|
|
1941
2007
|
* @hidden
|
|
1942
2008
|
*/
|
|
1943
2009
|
class ThemeService extends ConfigurationService {
|
|
1944
2010
|
loaded = false;
|
|
1945
2011
|
element;
|
|
2012
|
+
constructor(ngZone) {
|
|
2013
|
+
super(ngZone);
|
|
2014
|
+
}
|
|
1946
2015
|
loadTheme() {
|
|
1947
2016
|
if (this.loaded || !isDocumentAvailable()) {
|
|
1948
2017
|
return;
|
|
1949
2018
|
}
|
|
1950
|
-
this.
|
|
1951
|
-
|
|
1952
|
-
|
|
2019
|
+
if (!this.readTheme()) {
|
|
2020
|
+
this.readDefaultTheme();
|
|
2021
|
+
}
|
|
1953
2022
|
this.loaded = true;
|
|
1954
2023
|
this.next();
|
|
1955
2024
|
}
|
|
@@ -1959,21 +2028,29 @@ class ThemeService extends ConfigurationService {
|
|
|
1959
2028
|
this.loadTheme();
|
|
1960
2029
|
}
|
|
1961
2030
|
readTheme() {
|
|
1962
|
-
|
|
2031
|
+
this.createElement();
|
|
2032
|
+
const available = this.queryColor('primary') !==
|
|
2033
|
+
this.queryColor('primary-contrast');
|
|
1963
2034
|
try {
|
|
1964
|
-
|
|
2035
|
+
if (available) {
|
|
2036
|
+
this.push(chartBaseTheme());
|
|
2037
|
+
this.setColors();
|
|
2038
|
+
this.setFonts();
|
|
2039
|
+
this.setSeriesColors();
|
|
2040
|
+
}
|
|
1965
2041
|
}
|
|
1966
|
-
|
|
1967
|
-
|
|
2042
|
+
finally {
|
|
2043
|
+
this.destroyElement();
|
|
1968
2044
|
}
|
|
1969
|
-
|
|
1970
|
-
|
|
1971
|
-
|
|
2045
|
+
return available;
|
|
2046
|
+
}
|
|
2047
|
+
readDefaultTheme() {
|
|
2048
|
+
this.push(chartDefaultTheme());
|
|
1972
2049
|
}
|
|
1973
2050
|
createElement() {
|
|
1974
2051
|
const container = this.element = document.createElement('div');
|
|
1975
|
-
container.className = 'k-chart';
|
|
1976
2052
|
container.style.display = 'none';
|
|
2053
|
+
container.innerHTML = template();
|
|
1977
2054
|
document.body.appendChild(container);
|
|
1978
2055
|
}
|
|
1979
2056
|
destroyElement() {
|
|
@@ -1982,7 +2059,113 @@ class ThemeService extends ConfigurationService {
|
|
|
1982
2059
|
this.element = undefined;
|
|
1983
2060
|
}
|
|
1984
2061
|
}
|
|
1985
|
-
|
|
2062
|
+
setStyle(key, value) {
|
|
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 });
|
|
1986
2169
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ThemeService, providedIn: 'root' });
|
|
1987
2170
|
}
|
|
1988
2171
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ThemeService, decorators: [{
|
|
@@ -1990,7 +2173,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
1990
2173
|
args: [{
|
|
1991
2174
|
providedIn: 'root'
|
|
1992
2175
|
}]
|
|
1993
|
-
}] });
|
|
2176
|
+
}], ctorParameters: function () { return [{ type: i0.NgZone }]; } });
|
|
1994
2177
|
|
|
1995
2178
|
/**
|
|
1996
2179
|
* @hidden
|
|
@@ -2726,8 +2909,8 @@ const packageMetadata = {
|
|
|
2726
2909
|
productName: 'Kendo UI for Angular',
|
|
2727
2910
|
productCode: 'KENDOUIANGULAR',
|
|
2728
2911
|
productCodes: ['KENDOUIANGULAR'],
|
|
2729
|
-
publishDate:
|
|
2730
|
-
version: '18.1.0-develop.
|
|
2912
|
+
publishDate: 1738227362,
|
|
2913
|
+
version: '18.1.0-develop.2',
|
|
2731
2914
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
2732
2915
|
};
|
|
2733
2916
|
|
|
@@ -8562,14 +8745,13 @@ class LegendComponent extends SettingsComponent {
|
|
|
8562
8745
|
inactiveItems;
|
|
8563
8746
|
item;
|
|
8564
8747
|
title;
|
|
8565
|
-
focusHighlight;
|
|
8566
8748
|
constructor(configurationService) {
|
|
8567
8749
|
super('legend', configurationService);
|
|
8568
8750
|
this.configurationService = configurationService;
|
|
8569
8751
|
this.markAsVisible();
|
|
8570
8752
|
}
|
|
8571
8753
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LegendComponent, deps: [{ token: ConfigurationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
8572
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: LegendComponent, isStandalone: true, selector: "kendo-chart-legend", inputs: { align: "align", background: "background", border: "border", height: "height", labels: "labels", margin: "margin", offsetX: "offsetX", offsetY: "offsetY", orientation: "orientation", padding: "padding", position: "position", reverse: "reverse", visible: "visible", width: "width", markers: "markers", spacing: "spacing", inactiveItems: "inactiveItems", item: "item", title: "title"
|
|
8754
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: LegendComponent, isStandalone: true, selector: "kendo-chart-legend", inputs: { align: "align", background: "background", border: "border", height: "height", labels: "labels", margin: "margin", offsetX: "offsetX", offsetY: "offsetY", orientation: "orientation", padding: "padding", position: "position", reverse: "reverse", visible: "visible", width: "width", markers: "markers", spacing: "spacing", inactiveItems: "inactiveItems", item: "item", title: "title" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
8573
8755
|
}
|
|
8574
8756
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LegendComponent, decorators: [{
|
|
8575
8757
|
type: Component,
|
|
@@ -8617,8 +8799,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
8617
8799
|
type: Input
|
|
8618
8800
|
}], title: [{
|
|
8619
8801
|
type: Input
|
|
8620
|
-
}], focusHighlight: [{
|
|
8621
|
-
type: Input
|
|
8622
8802
|
}] } });
|
|
8623
8803
|
|
|
8624
8804
|
/**
|
|
@@ -8956,13 +9136,12 @@ class SeriesDefaultsComponent extends SettingsComponent {
|
|
|
8956
9136
|
labels;
|
|
8957
9137
|
notes;
|
|
8958
9138
|
tooltip;
|
|
8959
|
-
focusHighlight;
|
|
8960
9139
|
constructor(configurationService) {
|
|
8961
9140
|
super('seriesDefaults', configurationService);
|
|
8962
9141
|
this.configurationService = configurationService;
|
|
8963
9142
|
}
|
|
8964
9143
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SeriesDefaultsComponent, deps: [{ token: ConfigurationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
8965
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SeriesDefaultsComponent, isStandalone: true, selector: "kendo-chart-series-defaults", inputs: { border: "border", gap: "gap", highlight: "highlight", overlay: "overlay", spacing: "spacing", stack: "stack", type: "type", visual: "visual", labels: "labels", notes: "notes", tooltip: "tooltip"
|
|
9144
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SeriesDefaultsComponent, isStandalone: true, selector: "kendo-chart-series-defaults", inputs: { border: "border", gap: "gap", highlight: "highlight", overlay: "overlay", spacing: "spacing", stack: "stack", type: "type", visual: "visual", labels: "labels", notes: "notes", tooltip: "tooltip" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
8966
9145
|
}
|
|
8967
9146
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SeriesDefaultsComponent, decorators: [{
|
|
8968
9147
|
type: Component,
|
|
@@ -8994,8 +9173,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
8994
9173
|
type: Input
|
|
8995
9174
|
}], tooltip: [{
|
|
8996
9175
|
type: Input
|
|
8997
|
-
}], focusHighlight: [{
|
|
8998
|
-
type: Input
|
|
8999
9176
|
}] } });
|
|
9000
9177
|
|
|
9001
9178
|
/**
|
|
@@ -10471,24 +10648,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
10471
10648
|
args: ['breadcrumb', { static: true }]
|
|
10472
10649
|
}] } });
|
|
10473
10650
|
|
|
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
|
-
|
|
10492
10651
|
/**
|
|
10493
10652
|
* @hidden
|
|
10494
10653
|
*/
|
|
@@ -11382,13 +11541,19 @@ class SankeyComponent {
|
|
|
11382
11541
|
this.optionsChange = combineLatest([this.configurationService.onChange$, this.themeService.onChange$])
|
|
11383
11542
|
.pipe(tap((result) => {
|
|
11384
11543
|
this.options = result[0];
|
|
11385
|
-
this.theme = result[1];
|
|
11544
|
+
this.theme = this.loadTheme(result[1]);
|
|
11386
11545
|
}), auditTime(THROTTLE_MS))
|
|
11387
11546
|
.subscribe(() => {
|
|
11388
11547
|
this.refresh();
|
|
11389
11548
|
});
|
|
11390
11549
|
});
|
|
11391
11550
|
}
|
|
11551
|
+
loadTheme(chartTheme) {
|
|
11552
|
+
return {
|
|
11553
|
+
...chartTheme,
|
|
11554
|
+
nodeColors: chartTheme.seriesColors,
|
|
11555
|
+
};
|
|
11556
|
+
}
|
|
11392
11557
|
run(callback, inZone = true, detectChanges) {
|
|
11393
11558
|
if (inZone) {
|
|
11394
11559
|
if (detectChanges) {
|
|
@@ -11427,7 +11592,7 @@ class SankeyComponent {
|
|
|
11427
11592
|
get isRTL() {
|
|
11428
11593
|
return Boolean(this.localizationService.rtl);
|
|
11429
11594
|
}
|
|
11430
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SankeyComponent, deps: [{ token: i0.ElementRef }, { token: ConfigurationService }, { token:
|
|
11595
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SankeyComponent, deps: [{ token: i0.ElementRef }, { token: ConfigurationService }, { token: ThemeService }, { token: i1$1.LocalizationService }, { token: InstanceEventService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i3.IntlService }], target: i0.ɵɵFactoryTarget.Component });
|
|
11431
11596
|
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: [
|
|
11432
11597
|
ConfigurationService,
|
|
11433
11598
|
LocalizationService,
|
|
@@ -11485,7 +11650,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
11485
11650
|
standalone: true,
|
|
11486
11651
|
imports: [LocalizedMessagesDirective, SankeyTooltipPopupComponent, NgIf, WatermarkOverlayComponent]
|
|
11487
11652
|
}]
|
|
11488
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: ConfigurationService }, { type:
|
|
11653
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: ConfigurationService }, { type: ThemeService }, { type: i1$1.LocalizationService }, { type: InstanceEventService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: i3.IntlService }]; }, propDecorators: { data: [{
|
|
11489
11654
|
type: Input
|
|
11490
11655
|
}], links: [{
|
|
11491
11656
|
type: Input
|
|
@@ -11795,13 +11960,12 @@ class SankeyLinksComponent extends SettingsComponent {
|
|
|
11795
11960
|
color;
|
|
11796
11961
|
opacity;
|
|
11797
11962
|
highlight;
|
|
11798
|
-
focusHighlight;
|
|
11799
11963
|
constructor(configurationService) {
|
|
11800
11964
|
super('links', configurationService);
|
|
11801
11965
|
this.configurationService = configurationService;
|
|
11802
11966
|
}
|
|
11803
11967
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SankeyLinksComponent, deps: [{ token: ConfigurationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
11804
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SankeyLinksComponent, isStandalone: true, selector: "kendo-sankey-links", inputs: { colorType: "colorType", color: "color", opacity: "opacity", highlight: "highlight"
|
|
11968
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SankeyLinksComponent, isStandalone: true, selector: "kendo-sankey-links", inputs: { colorType: "colorType", color: "color", opacity: "opacity", highlight: "highlight" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
11805
11969
|
}
|
|
11806
11970
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SankeyLinksComponent, decorators: [{
|
|
11807
11971
|
type: Component,
|
|
@@ -11819,8 +11983,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
11819
11983
|
type: Input
|
|
11820
11984
|
}], highlight: [{
|
|
11821
11985
|
type: Input
|
|
11822
|
-
}], focusHighlight: [{
|
|
11823
|
-
type: Input
|
|
11824
11986
|
}] } });
|
|
11825
11987
|
|
|
11826
11988
|
/**
|
|
@@ -11886,13 +12048,12 @@ class SankeyNodesComponent extends SettingsComponent {
|
|
|
11886
12048
|
padding;
|
|
11887
12049
|
width;
|
|
11888
12050
|
align;
|
|
11889
|
-
focusHighlight;
|
|
11890
12051
|
constructor(configurationService) {
|
|
11891
12052
|
super('nodes', configurationService);
|
|
11892
12053
|
this.configurationService = configurationService;
|
|
11893
12054
|
}
|
|
11894
12055
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SankeyNodesComponent, deps: [{ token: ConfigurationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
11895
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SankeyNodesComponent, isStandalone: true, selector: "kendo-sankey-nodes", inputs: { colorType: "colorType", color: "color", opacity: "opacity", offset: "offset", padding: "padding", width: "width", align: "align"
|
|
12056
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SankeyNodesComponent, isStandalone: true, selector: "kendo-sankey-nodes", inputs: { colorType: "colorType", color: "color", opacity: "opacity", offset: "offset", padding: "padding", width: "width", align: "align" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
11896
12057
|
}
|
|
11897
12058
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SankeyNodesComponent, decorators: [{
|
|
11898
12059
|
type: Component,
|
|
@@ -11916,8 +12077,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
11916
12077
|
type: Input
|
|
11917
12078
|
}], align: [{
|
|
11918
12079
|
type: Input
|
|
11919
|
-
}], focusHighlight: [{
|
|
11920
|
-
type: Input
|
|
11921
12080
|
}] } });
|
|
11922
12081
|
|
|
11923
12082
|
/**
|
|
@@ -2,7 +2,7 @@
|
|
|
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 { Border, LegendLabels, Margin, Padding, LegendTitle
|
|
5
|
+
import { Border, LegendLabels, Margin, Padding, LegendTitle } from '../common/property-types';
|
|
6
6
|
import { LegendInactiveItems } from './legend/inactive-items.interface';
|
|
7
7
|
import { LegendItem } from './legend/item.interface';
|
|
8
8
|
import { LegendMarkers } from './legend/markers.interface';
|
|
@@ -93,8 +93,4 @@ export interface Legend {
|
|
|
93
93
|
* By default, the Chart will not render a legend title.
|
|
94
94
|
*/
|
|
95
95
|
title?: LegendTitle;
|
|
96
|
-
/**
|
|
97
|
-
* The focus highlight configuration options of the Chart legend.
|
|
98
|
-
*/
|
|
99
|
-
focusHighlight?: FocusHighlight;
|
|
100
96
|
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import { drawing } from '@progress/kendo-drawing';
|
|
6
|
-
import { Border,
|
|
6
|
+
import { Border, Overlay, SeriesHighlight, SeriesStack, SeriesType, SeriesVisualArgs } from '../common/property-types';
|
|
7
7
|
import { Series } from '../option-types/series-item.interface';
|
|
8
8
|
import { SeriesDefaultsLabels } from './series-defaults/labels.interface';
|
|
9
9
|
import { SeriesDefaultsNotes } from './series-defaults/notes.interface';
|
|
@@ -174,8 +174,4 @@ export interface SeriesDefaults {
|
|
|
174
174
|
* The configuration options of the Chart series tooltip.
|
|
175
175
|
*/
|
|
176
176
|
tooltip?: SeriesDefaultsTooltip;
|
|
177
|
-
/**
|
|
178
|
-
* The focus highlight configuration options.
|
|
179
|
-
*/
|
|
180
|
-
focusHighlight?: FocusHighlight;
|
|
181
177
|
}
|
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.2",
|
|
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": 1738227362,
|
|
46
46
|
"licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
|
|
47
47
|
}
|
|
48
48
|
},
|
|
@@ -53,18 +53,18 @@
|
|
|
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.2",
|
|
57
|
+
"@progress/kendo-angular-intl": "18.1.0-develop.2",
|
|
58
|
+
"@progress/kendo-angular-icons": "18.1.0-develop.2",
|
|
59
|
+
"@progress/kendo-angular-l10n": "18.1.0-develop.2",
|
|
60
|
+
"@progress/kendo-angular-popup": "18.1.0-develop.2",
|
|
61
|
+
"@progress/kendo-angular-navigation": "18.1.0-develop.2",
|
|
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.
|
|
67
|
-
"@progress/kendo-charts": "2.7.
|
|
66
|
+
"@progress/kendo-angular-schematics": "18.1.0-develop.2",
|
|
67
|
+
"@progress/kendo-charts": "2.7.0",
|
|
68
68
|
"@progress/kendo-svg-icons": "^4.0.0"
|
|
69
69
|
},
|
|
70
70
|
"schematics": "./schematics/collection.json",
|
|
@@ -13,7 +13,7 @@ export interface SankeyTitle extends Title {
|
|
|
13
13
|
/**
|
|
14
14
|
* Represents the Sankey legend options.
|
|
15
15
|
*/
|
|
16
|
-
export interface SankeyLegend extends Omit<Legend, 'inactiveItems' | 'item'
|
|
16
|
+
export interface SankeyLegend extends Omit<Legend, 'inactiveItems' | 'item'> {
|
|
17
17
|
/**
|
|
18
18
|
* The configuration of the legend items.
|
|
19
19
|
*/
|
|
@@ -5,7 +5,6 @@
|
|
|
5
5
|
import { ConfigurationService } from '../common/configuration.service';
|
|
6
6
|
import { SettingsComponent } from '../common/settings.component';
|
|
7
7
|
import { SankeyLinkDefaults, SankeyLinkHighlight } from './api-types';
|
|
8
|
-
import { FocusHighlight } from '@progress/kendo-charts';
|
|
9
8
|
import * as i0 from "@angular/core";
|
|
10
9
|
/**
|
|
11
10
|
* The configuration options of the Sankey links
|
|
@@ -17,8 +16,7 @@ export declare class SankeyLinksComponent extends SettingsComponent implements S
|
|
|
17
16
|
color?: string;
|
|
18
17
|
opacity?: number;
|
|
19
18
|
highlight?: SankeyLinkHighlight;
|
|
20
|
-
focusHighlight?: FocusHighlight;
|
|
21
19
|
constructor(configurationService: ConfigurationService);
|
|
22
20
|
static ɵfac: i0.ɵɵFactoryDeclaration<SankeyLinksComponent, never>;
|
|
23
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SankeyLinksComponent, "kendo-sankey-links", never, { "colorType": { "alias": "colorType"; "required": false; }; "color": { "alias": "color"; "required": false; }; "opacity": { "alias": "opacity"; "required": false; }; "highlight": { "alias": "highlight"; "required": false; };
|
|
21
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SankeyLinksComponent, "kendo-sankey-links", never, { "colorType": { "alias": "colorType"; "required": false; }; "color": { "alias": "color"; "required": false; }; "opacity": { "alias": "opacity"; "required": false; }; "highlight": { "alias": "highlight"; "required": false; }; }, {}, never, never, true, never>;
|
|
24
22
|
}
|
|
@@ -5,7 +5,6 @@
|
|
|
5
5
|
import { ConfigurationService } from '../common/configuration.service';
|
|
6
6
|
import { SettingsComponent } from '../common/settings.component';
|
|
7
7
|
import { SankeyNodeDefaults, SankeyOffset } from './api-types';
|
|
8
|
-
import { FocusHighlight } from '@progress/kendo-charts';
|
|
9
8
|
import * as i0 from "@angular/core";
|
|
10
9
|
/**
|
|
11
10
|
* The configuration options of the Sankey nodes
|
|
@@ -29,8 +28,7 @@ export declare class SankeyNodesComponent extends SettingsComponent implements S
|
|
|
29
28
|
padding?: number;
|
|
30
29
|
width?: number;
|
|
31
30
|
align?: 'stretch' | 'left' | 'right';
|
|
32
|
-
focusHighlight?: FocusHighlight;
|
|
33
31
|
constructor(configurationService: ConfigurationService);
|
|
34
32
|
static ɵfac: i0.ɵɵFactoryDeclaration<SankeyNodesComponent, never>;
|
|
35
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SankeyNodesComponent, "kendo-sankey-nodes", never, { "colorType": { "alias": "colorType"; "required": false; }; "color": { "alias": "color"; "required": false; }; "opacity": { "alias": "opacity"; "required": false; }; "offset": { "alias": "offset"; "required": false; }; "padding": { "alias": "padding"; "required": false; }; "width": { "alias": "width"; "required": false; }; "align": { "alias": "align"; "required": false; };
|
|
33
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SankeyNodesComponent, "kendo-sankey-nodes", never, { "colorType": { "alias": "colorType"; "required": false; }; "color": { "alias": "color"; "required": false; }; "opacity": { "alias": "opacity"; "required": false; }; "offset": { "alias": "offset"; "required": false; }; "padding": { "alias": "padding"; "required": false; }; "width": { "alias": "width"; "required": false; }; "align": { "alias": "align"; "required": false; }; }, {}, never, never, true, never>;
|
|
36
34
|
}
|
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 { ThemeService } from './common/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: ThemeService;
|
|
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: ThemeService, 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,6 +203,7 @@ 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;
|
|
206
207
|
protected run(callback: any, inZone?: boolean, detectChanges?: boolean): void;
|
|
207
208
|
protected detectChanges(): void;
|
|
208
209
|
protected intlChange(): void;
|
|
@@ -1,25 +0,0 @@
|
|
|
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
|
-
}] });
|
|
@@ -1,14 +0,0 @@
|
|
|
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
|
-
}
|