@progress/kendo-angular-charts 18.1.0-develop.3 → 18.1.0-develop.31

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.
@@ -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 { OnDestroy } from '@angular/core';
5
6
  import { IntlService } from '@progress/kendo-angular-intl';
6
7
  import { CollectionItemComponent } from '../common/collection-item.component';
7
8
  import { CollectionService } from '../common/collection.service';
@@ -13,9 +14,10 @@ import * as i0 from "@angular/core";
13
14
  /**
14
15
  * The configuration component for a category axis ([see example]({% slug axes_chart_charts %})).
15
16
  */
16
- export declare class CategoryAxisItemComponent extends CollectionItemComponent implements CategoryAxis {
17
+ export declare class CategoryAxisItemComponent extends CollectionItemComponent implements CategoryAxis, OnDestroy {
17
18
  protected configurationService: ConfigurationService;
18
19
  protected collectionService: CollectionService;
20
+ private intl;
19
21
  autoBaseUnitSteps: AutoBaseUnitSteps;
20
22
  axisCrossingValue: any | any[];
21
23
  background: string;
@@ -86,7 +88,9 @@ export declare class CategoryAxisItemComponent extends CollectionItemComponent i
86
88
  select: CategoryAxisSelect;
87
89
  title: CategoryAxisTitle;
88
90
  rangeLabels: CategoryAxisRangeLabels;
91
+ private intlSubscription;
89
92
  constructor(configurationService: ConfigurationService, collectionService: CollectionService, intl: IntlService, localeId: string);
93
+ ngOnDestroy(): void;
90
94
  static ɵfac: i0.ɵɵFactoryDeclaration<CategoryAxisItemComponent, never>;
91
95
  static ɵcmp: i0.ɵɵComponentDeclaration<CategoryAxisItemComponent, "kendo-chart-category-axis-item", never, { "autoBaseUnitSteps": { "alias": "autoBaseUnitSteps"; "required": false; }; "axisCrossingValue": { "alias": "axisCrossingValue"; "required": false; }; "background": { "alias": "background"; "required": false; }; "baseUnit": { "alias": "baseUnit"; "required": false; }; "baseUnitStep": { "alias": "baseUnitStep"; "required": false; }; "categories": { "alias": "categories"; "required": false; }; "color": { "alias": "color"; "required": false; }; "justified": { "alias": "justified"; "required": false; }; "line": { "alias": "line"; "required": false; }; "majorGridLines": { "alias": "majorGridLines"; "required": false; }; "majorTicks": { "alias": "majorTicks"; "required": false; }; "max": { "alias": "max"; "required": false; }; "maxDateGroups": { "alias": "maxDateGroups"; "required": false; }; "maxDivisions": { "alias": "maxDivisions"; "required": false; }; "min": { "alias": "min"; "required": false; }; "minorGridLines": { "alias": "minorGridLines"; "required": false; }; "minorTicks": { "alias": "minorTicks"; "required": false; }; "name": { "alias": "name"; "required": false; }; "pane": { "alias": "pane"; "required": false; }; "plotBands": { "alias": "plotBands"; "required": false; }; "reverse": { "alias": "reverse"; "required": false; }; "roundToBaseUnit": { "alias": "roundToBaseUnit"; "required": false; }; "startAngle": { "alias": "startAngle"; "required": false; }; "type": { "alias": "type"; "required": false; }; "visible": { "alias": "visible"; "required": false; }; "weekStartDay": { "alias": "weekStartDay"; "required": false; }; "crosshair": { "alias": "crosshair"; "required": false; }; "labels": { "alias": "labels"; "required": false; }; "notes": { "alias": "notes"; "required": false; }; "select": { "alias": "select"; "required": false; }; "title": { "alias": "title"; "required": false; }; "rangeLabels": { "alias": "rangeLabels"; "required": false; }; }, {}, never, never, true, never>;
92
96
  }
@@ -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 } from '../common/property-types';
7
+ import { Border, LegendLabels, Margin, Padding, LegendMarkers, LegendInactiveItems, LegendItem, Legend, LegendTitle, FocusHighlight } from '../common/property-types';
8
8
  import * as i0 from "@angular/core";
9
9
  /**
10
10
  * The configuration options of the Chart legend
@@ -77,7 +77,8 @@ export declare class LegendComponent extends SettingsComponent implements Legend
77
77
  inactiveItems: LegendInactiveItems;
78
78
  item: LegendItem;
79
79
  title: LegendTitle;
80
+ focusHighlight?: FocusHighlight;
80
81
  constructor(configurationService: ConfigurationService);
81
82
  static ɵfac: i0.ɵɵFactoryDeclaration<LegendComponent, never>;
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>;
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; }; "focusHighlight": { "alias": "focusHighlight"; "required": false; }; }, {}, never, never, true, never>;
83
84
  }
@@ -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, Overlay, SeriesHighlight, SeriesStack, SeriesType, SeriesVisualArgs } from '../common/property-types';
8
+ import { Border, FocusHighlight, 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,7 +41,8 @@ export declare class SeriesDefaultsComponent extends SettingsComponent implement
41
41
  labels: SeriesDefaultsLabels;
42
42
  notes: SeriesDefaultsNotes;
43
43
  tooltip: SeriesDefaultsTooltip;
44
+ focusHighlight?: FocusHighlight;
44
45
  constructor(configurationService: ConfigurationService);
45
46
  static ɵfac: i0.ɵɵFactoryDeclaration<SeriesDefaultsComponent, never>;
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>;
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; }; "focusHighlight": { "alias": "focusHighlight"; "required": false; }; }, {}, never, never, true, never>;
47
48
  }
@@ -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 { OnDestroy } from '@angular/core';
5
6
  import { IntlService } from '@progress/kendo-angular-intl';
6
7
  import { CollectionItemComponent } from '../common/collection-item.component';
7
8
  import { CollectionService } from '../common/collection.service';
@@ -13,7 +14,7 @@ import * as i0 from "@angular/core";
13
14
  * The configuration component for an X axis
14
15
  * ([see example]({% slug api_charts_xaxiscomponent %})).
15
16
  */
16
- export declare class XAxisItemComponent extends CollectionItemComponent implements XAxis {
17
+ export declare class XAxisItemComponent extends CollectionItemComponent implements XAxis, OnDestroy {
17
18
  protected configurationService: ConfigurationService;
18
19
  protected collectionService: CollectionService;
19
20
  protected intl: IntlService;
@@ -57,7 +58,9 @@ export declare class XAxisItemComponent extends CollectionItemComponent implemen
57
58
  labels: XAxisLabels;
58
59
  notes: XAxisNotes;
59
60
  title: XAxisTitle;
61
+ private intlSubscription;
60
62
  constructor(configurationService: ConfigurationService, collectionService: CollectionService, intl: IntlService, localeId: string);
63
+ ngOnDestroy(): void;
61
64
  static ɵfac: i0.ɵɵFactoryDeclaration<XAxisItemComponent, never>;
62
65
  static ɵcmp: i0.ɵɵComponentDeclaration<XAxisItemComponent, "kendo-chart-x-axis-item", never, { "axisCrossingValue": { "alias": "axisCrossingValue"; "required": false; }; "background": { "alias": "background"; "required": false; }; "baseUnit": { "alias": "baseUnit"; "required": false; }; "categories": { "alias": "categories"; "required": false; }; "color": { "alias": "color"; "required": false; }; "line": { "alias": "line"; "required": false; }; "majorGridLines": { "alias": "majorGridLines"; "required": false; }; "majorTicks": { "alias": "majorTicks"; "required": false; }; "majorUnit": { "alias": "majorUnit"; "required": false; }; "max": { "alias": "max"; "required": false; }; "min": { "alias": "min"; "required": false; }; "minorGridLines": { "alias": "minorGridLines"; "required": false; }; "minorTicks": { "alias": "minorTicks"; "required": false; }; "minorUnit": { "alias": "minorUnit"; "required": false; }; "name": { "alias": "name"; "required": false; }; "narrowRange": { "alias": "narrowRange"; "required": false; }; "pane": { "alias": "pane"; "required": false; }; "plotBands": { "alias": "plotBands"; "required": false; }; "reverse": { "alias": "reverse"; "required": false; }; "startAngle": { "alias": "startAngle"; "required": false; }; "type": { "alias": "type"; "required": false; }; "visible": { "alias": "visible"; "required": false; }; "weekStartDay": { "alias": "weekStartDay"; "required": false; }; "crosshair": { "alias": "crosshair"; "required": false; }; "labels": { "alias": "labels"; "required": false; }; "notes": { "alias": "notes"; "required": false; }; "title": { "alias": "title"; "required": false; }; }, {}, never, never, true, never>;
63
66
  }
@@ -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 } from '@progress/kendo-charts';
144
+ export { type SeriesPattern, type VerticalStripesPattern, type CrosshatchPattern, type DiagonalStripesPattern, type GridPattern, type DotsPattern, type FocusHighlight, type FocusHighlightBorder } from '@progress/kendo-charts';
@@ -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
- private element;
14
- constructor(ngZone: NgZone);
12
+ protected element: HTMLElement;
15
13
  loadTheme(): void;
16
14
  reset(): void;
17
- private readTheme;
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
  }
@@ -18,6 +18,7 @@ import * as i3 from "@progress/kendo-angular-intl";
18
18
  export class CategoryAxisItemComponent extends CollectionItemComponent {
19
19
  configurationService;
20
20
  collectionService;
21
+ intl;
21
22
  autoBaseUnitSteps;
22
23
  axisCrossingValue;
23
24
  background;
@@ -89,11 +90,22 @@ export class CategoryAxisItemComponent extends CollectionItemComponent {
89
90
  select;
90
91
  title;
91
92
  rangeLabels;
93
+ intlSubscription;
92
94
  constructor(configurationService, collectionService, intl, localeId) {
93
95
  super(configurationService, collectionService);
94
96
  this.configurationService = configurationService;
95
97
  this.collectionService = collectionService;
96
- this.notifyChanges({ weekStartDay: intl.firstDay(localeId) });
98
+ this.intl = intl;
99
+ intl.localeId = localeId;
100
+ this.notifyChanges({ weekStartDay: intl.firstDay(intl.localeId) });
101
+ this.intlSubscription = intl.changes.subscribe(() => {
102
+ this.notifyChanges({ weekStartDay: intl.firstDay(intl.localeId) });
103
+ });
104
+ }
105
+ ngOnDestroy() {
106
+ if (this.intlSubscription) {
107
+ this.intlSubscription.unsubscribe();
108
+ }
97
109
  }
98
110
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CategoryAxisItemComponent, deps: [{ token: i1.ConfigurationService }, { token: i2.CollectionService }, { token: i3.IntlService }, { token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Component });
99
111
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CategoryAxisItemComponent, isStandalone: true, selector: "kendo-chart-category-axis-item", inputs: { autoBaseUnitSteps: "autoBaseUnitSteps", axisCrossingValue: "axisCrossingValue", background: "background", baseUnit: "baseUnit", baseUnitStep: "baseUnitStep", categories: "categories", color: "color", justified: "justified", line: "line", majorGridLines: "majorGridLines", majorTicks: "majorTicks", max: "max", maxDateGroups: "maxDateGroups", maxDivisions: "maxDivisions", min: "min", minorGridLines: "minorGridLines", minorTicks: "minorTicks", name: "name", pane: "pane", plotBands: "plotBands", reverse: "reverse", roundToBaseUnit: "roundToBaseUnit", startAngle: "startAngle", type: "type", visible: "visible", weekStartDay: "weekStartDay", crosshair: "crosshair", labels: "labels", notes: "notes", select: "select", title: "title", rangeLabels: "rangeLabels" }, providers: [ConfigurationService], usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
@@ -79,13 +79,14 @@ export class LegendComponent extends SettingsComponent {
79
79
  inactiveItems;
80
80
  item;
81
81
  title;
82
+ focusHighlight;
82
83
  constructor(configurationService) {
83
84
  super('legend', configurationService);
84
85
  this.configurationService = configurationService;
85
86
  this.markAsVisible();
86
87
  }
87
88
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LegendComponent, deps: [{ token: i1.ConfigurationService }], target: i0.ɵɵFactoryTarget.Component });
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 });
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", focusHighlight: "focusHighlight" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
89
90
  }
90
91
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LegendComponent, decorators: [{
91
92
  type: Component,
@@ -133,4 +134,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
133
134
  type: Input
134
135
  }], title: [{
135
136
  type: Input
137
+ }], focusHighlight: [{
138
+ type: Input
136
139
  }] } });
@@ -41,12 +41,13 @@ export class SeriesDefaultsComponent extends SettingsComponent {
41
41
  labels;
42
42
  notes;
43
43
  tooltip;
44
+ focusHighlight;
44
45
  constructor(configurationService) {
45
46
  super('seriesDefaults', configurationService);
46
47
  this.configurationService = configurationService;
47
48
  }
48
49
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SeriesDefaultsComponent, deps: [{ token: i1.ConfigurationService }], target: i0.ɵɵFactoryTarget.Component });
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 });
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", focusHighlight: "focusHighlight" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
50
51
  }
51
52
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SeriesDefaultsComponent, decorators: [{
52
53
  type: Component,
@@ -78,4 +79,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
78
79
  type: Input
79
80
  }], tooltip: [{
80
81
  type: Input
82
+ }], focusHighlight: [{
83
+ type: Input
81
84
  }] } });
@@ -61,12 +61,22 @@ export class XAxisItemComponent extends CollectionItemComponent {
61
61
  labels;
62
62
  notes;
63
63
  title;
64
+ intlSubscription;
64
65
  constructor(configurationService, collectionService, intl, localeId) {
65
66
  super(configurationService, collectionService);
66
67
  this.configurationService = configurationService;
67
68
  this.collectionService = collectionService;
68
69
  this.intl = intl;
69
- this.notifyChanges({ weekStartDay: intl.firstDay(localeId) });
70
+ intl.localeId = localeId;
71
+ this.notifyChanges({ weekStartDay: intl.firstDay(intl.localeId) });
72
+ this.intlSubscription = intl.changes.subscribe(() => {
73
+ this.notifyChanges({ weekStartDay: intl.firstDay(intl.localeId) });
74
+ });
75
+ }
76
+ ngOnDestroy() {
77
+ if (this.intlSubscription) {
78
+ this.intlSubscription.unsubscribe();
79
+ }
70
80
  }
71
81
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: XAxisItemComponent, deps: [{ token: i1.ConfigurationService }, { token: i2.CollectionService }, { token: i3.IntlService }, { token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Component });
72
82
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: XAxisItemComponent, isStandalone: true, selector: "kendo-chart-x-axis-item", inputs: { axisCrossingValue: "axisCrossingValue", background: "background", baseUnit: "baseUnit", categories: "categories", color: "color", line: "line", majorGridLines: "majorGridLines", majorTicks: "majorTicks", majorUnit: "majorUnit", max: "max", min: "min", minorGridLines: "minorGridLines", minorTicks: "minorTicks", minorUnit: "minorUnit", name: "name", narrowRange: "narrowRange", pane: "pane", plotBands: "plotBands", reverse: "reverse", startAngle: "startAngle", type: "type", visible: "visible", weekStartDay: "weekStartDay", crosshair: "crosshair", labels: "labels", notes: "notes", title: "title" }, providers: [ConfigurationService], usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
@@ -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, NgZone } from '@angular/core';
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
- if (!this.readTheme()) {
91
- this.readDefaultTheme();
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
- this.createElement();
103
- const available = this.queryColor('primary') !==
104
- this.queryColor('primary-contrast');
33
+ let theme = {};
105
34
  try {
106
- if (available) {
107
- this.push(chartBaseTheme());
108
- this.setColors();
109
- this.setFonts();
110
- this.setSeriesColors();
111
- }
35
+ theme = chartTheme(this.element);
112
36
  }
113
- finally {
114
- this.destroyElement();
37
+ catch {
38
+ theme = {};
115
39
  }
116
- return available;
117
- }
118
- readDefaultTheme() {
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
- 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 });
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
- }], ctorParameters: function () { return [{ type: i0.NgZone }]; } });
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: 1738245977,
14
- version: '18.1.0-develop.3',
13
+ publishDate: 1739264428,
14
+ version: '18.1.0-develop.31',
15
15
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
16
16
  };
@@ -17,12 +17,13 @@ export class SankeyLinksComponent extends SettingsComponent {
17
17
  color;
18
18
  opacity;
19
19
  highlight;
20
+ focusHighlight;
20
21
  constructor(configurationService) {
21
22
  super('links', configurationService);
22
23
  this.configurationService = configurationService;
23
24
  }
24
25
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SankeyLinksComponent, deps: [{ token: i1.ConfigurationService }], target: i0.ɵɵFactoryTarget.Component });
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 });
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", focusHighlight: "focusHighlight" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
26
27
  }
27
28
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SankeyLinksComponent, decorators: [{
28
29
  type: Component,
@@ -40,4 +41,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
40
41
  type: Input
41
42
  }], highlight: [{
42
43
  type: Input
44
+ }], focusHighlight: [{
45
+ type: Input
43
46
  }] } });
@@ -29,12 +29,13 @@ export class SankeyNodesComponent extends SettingsComponent {
29
29
  padding;
30
30
  width;
31
31
  align;
32
+ focusHighlight;
32
33
  constructor(configurationService) {
33
34
  super('nodes', configurationService);
34
35
  this.configurationService = configurationService;
35
36
  }
36
37
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SankeyNodesComponent, deps: [{ token: i1.ConfigurationService }], target: i0.ɵɵFactoryTarget.Component });
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 });
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", focusHighlight: "focusHighlight" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
38
39
  }
39
40
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SankeyNodesComponent, decorators: [{
40
41
  type: Component,
@@ -58,4 +59,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
58
59
  type: Input
59
60
  }], align: [{
60
61
  type: Input
62
+ }], focusHighlight: [{
63
+ type: Input
61
64
  }] } });
@@ -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
+ }] });