@progress/kendo-angular-charts 24.0.0-develop.9 → 24.0.0

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.
@@ -351,10 +351,6 @@ export declare class SeriesItemComponent extends CollectionItemComponent impleme
351
351
  * @default 'normal'
352
352
  */
353
353
  lineStyle: LineStyle;
354
- /**
355
- * @hidden
356
- */
357
- set style(value: LineStyle);
358
354
  /**
359
355
  * Specifies the data item field which contains the summary type for the Waterfall series.
360
356
  * The value (if any) of a data item marked as a summary point will be discarded.
@@ -543,5 +539,5 @@ export declare class SeriesItemComponent extends CollectionItemComponent impleme
543
539
  togglePointVisibility(pointIndex: number): void;
544
540
  get seriesTooltipTemplateRef(): TemplateRef<any>;
545
541
  static ɵfac: i0.ɵɵFactoryDeclaration<SeriesItemComponent, never>;
546
- static ɵcmp: i0.ɵɵComponentDeclaration<SeriesItemComponent, "kendo-chart-series-item", never, { "aggregate": { "alias": "aggregate"; "required": false; }; "autoFit": { "alias": "autoFit"; "required": false; }; "axis": { "alias": "axis"; "required": false; }; "border": { "alias": "border"; "required": false; }; "categoryAxis": { "alias": "categoryAxis"; "required": false; }; "categoryField": { "alias": "categoryField"; "required": false; }; "closeField": { "alias": "closeField"; "required": false; }; "color": { "alias": "color"; "required": false; }; "colorField": { "alias": "colorField"; "required": false; }; "connectors": { "alias": "connectors"; "required": false; }; "currentField": { "alias": "currentField"; "required": false; }; "dashType": { "alias": "dashType"; "required": false; }; "data": { "alias": "data"; "required": false; }; "downColor": { "alias": "downColor"; "required": false; }; "downColorField": { "alias": "downColorField"; "required": false; }; "drilldownField": { "alias": "drilldownField"; "required": false; }; "dynamicHeight": { "alias": "dynamicHeight"; "required": false; }; "dynamicSlope": { "alias": "dynamicSlope"; "required": false; }; "errorHighField": { "alias": "errorHighField"; "required": false; }; "errorLowField": { "alias": "errorLowField"; "required": false; }; "explodeField": { "alias": "explodeField"; "required": false; }; "field": { "alias": "field"; "required": false; }; "fromField": { "alias": "fromField"; "required": false; }; "gap": { "alias": "gap"; "required": false; }; "highField": { "alias": "highField"; "required": false; }; "holeSize": { "alias": "holeSize"; "required": false; }; "line": { "alias": "line"; "required": false; }; "lowField": { "alias": "lowField"; "required": false; }; "lowerField": { "alias": "lowerField"; "required": false; }; "margin": { "alias": "margin"; "required": false; }; "maxSize": { "alias": "maxSize"; "required": false; }; "mean": { "alias": "mean"; "required": false; }; "meanField": { "alias": "meanField"; "required": false; }; "median": { "alias": "median"; "required": false; }; "medianField": { "alias": "medianField"; "required": false; }; "minSize": { "alias": "minSize"; "required": false; }; "missingValues": { "alias": "missingValues"; "required": false; }; "name": { "alias": "name"; "required": false; }; "neckRatio": { "alias": "neckRatio"; "required": false; }; "negativeColor": { "alias": "negativeColor"; "required": false; }; "negativeValues": { "alias": "negativeValues"; "required": false; }; "noteTextField": { "alias": "noteTextField"; "required": false; }; "opacity": { "alias": "opacity"; "required": false; }; "openField": { "alias": "openField"; "required": false; }; "outliersField": { "alias": "outliersField"; "required": false; }; "overlay": { "alias": "overlay"; "required": false; }; "padding": { "alias": "padding"; "required": false; }; "q1Field": { "alias": "q1Field"; "required": false; }; "q3Field": { "alias": "q3Field"; "required": false; }; "segmentSpacing": { "alias": "segmentSpacing"; "required": false; }; "size": { "alias": "size"; "required": false; }; "sizeField": { "alias": "sizeField"; "required": false; }; "spacing": { "alias": "spacing"; "required": false; }; "stack": { "alias": "stack"; "required": false; }; "startAngle": { "alias": "startAngle"; "required": false; }; "lineStyle": { "alias": "lineStyle"; "required": false; }; "style": { "alias": "style"; "required": false; }; "summaryField": { "alias": "summaryField"; "required": false; }; "target": { "alias": "target"; "required": false; }; "toField": { "alias": "toField"; "required": false; }; "type": { "alias": "type"; "required": false; }; "upperField": { "alias": "upperField"; "required": false; }; "visible": { "alias": "visible"; "required": false; }; "visibleInLegend": { "alias": "visibleInLegend"; "required": false; }; "visibleInLegendField": { "alias": "visibleInLegendField"; "required": false; }; "visual": { "alias": "visual"; "required": false; }; "width": { "alias": "width"; "required": false; }; "whiskers": { "alias": "whiskers"; "required": false; }; "xAxis": { "alias": "xAxis"; "required": false; }; "xErrorHighField": { "alias": "xErrorHighField"; "required": false; }; "xErrorLowField": { "alias": "xErrorLowField"; "required": false; }; "xField": { "alias": "xField"; "required": false; }; "yAxis": { "alias": "yAxis"; "required": false; }; "yErrorHighField": { "alias": "yErrorHighField"; "required": false; }; "yErrorLowField": { "alias": "yErrorLowField"; "required": false; }; "yField": { "alias": "yField"; "required": false; }; "zIndex": { "alias": "zIndex"; "required": false; }; "trendline": { "alias": "trendline"; "required": false; }; "for": { "alias": "for"; "required": false; }; "legendItem": { "alias": "legendItem"; "required": false; }; "pattern": { "alias": "pattern"; "required": false; }; "patternField": { "alias": "patternField"; "required": false; }; "errorBars": { "alias": "errorBars"; "required": false; }; "extremes": { "alias": "extremes"; "required": false; }; "highlight": { "alias": "highlight"; "required": false; }; "labels": { "alias": "labels"; "required": false; }; "markers": { "alias": "markers"; "required": false; }; "notes": { "alias": "notes"; "required": false; }; "outliers": { "alias": "outliers"; "required": false; }; "tooltip": { "alias": "tooltip"; "required": false; }; }, {}, ["seriesTooltip", "drilldownTemplate"], never, true, never>;
542
+ static ɵcmp: i0.ɵɵComponentDeclaration<SeriesItemComponent, "kendo-chart-series-item", never, { "aggregate": { "alias": "aggregate"; "required": false; }; "autoFit": { "alias": "autoFit"; "required": false; }; "axis": { "alias": "axis"; "required": false; }; "border": { "alias": "border"; "required": false; }; "categoryAxis": { "alias": "categoryAxis"; "required": false; }; "categoryField": { "alias": "categoryField"; "required": false; }; "closeField": { "alias": "closeField"; "required": false; }; "color": { "alias": "color"; "required": false; }; "colorField": { "alias": "colorField"; "required": false; }; "connectors": { "alias": "connectors"; "required": false; }; "currentField": { "alias": "currentField"; "required": false; }; "dashType": { "alias": "dashType"; "required": false; }; "data": { "alias": "data"; "required": false; }; "downColor": { "alias": "downColor"; "required": false; }; "downColorField": { "alias": "downColorField"; "required": false; }; "drilldownField": { "alias": "drilldownField"; "required": false; }; "dynamicHeight": { "alias": "dynamicHeight"; "required": false; }; "dynamicSlope": { "alias": "dynamicSlope"; "required": false; }; "errorHighField": { "alias": "errorHighField"; "required": false; }; "errorLowField": { "alias": "errorLowField"; "required": false; }; "explodeField": { "alias": "explodeField"; "required": false; }; "field": { "alias": "field"; "required": false; }; "fromField": { "alias": "fromField"; "required": false; }; "gap": { "alias": "gap"; "required": false; }; "highField": { "alias": "highField"; "required": false; }; "holeSize": { "alias": "holeSize"; "required": false; }; "line": { "alias": "line"; "required": false; }; "lowField": { "alias": "lowField"; "required": false; }; "lowerField": { "alias": "lowerField"; "required": false; }; "margin": { "alias": "margin"; "required": false; }; "maxSize": { "alias": "maxSize"; "required": false; }; "mean": { "alias": "mean"; "required": false; }; "meanField": { "alias": "meanField"; "required": false; }; "median": { "alias": "median"; "required": false; }; "medianField": { "alias": "medianField"; "required": false; }; "minSize": { "alias": "minSize"; "required": false; }; "missingValues": { "alias": "missingValues"; "required": false; }; "name": { "alias": "name"; "required": false; }; "neckRatio": { "alias": "neckRatio"; "required": false; }; "negativeColor": { "alias": "negativeColor"; "required": false; }; "negativeValues": { "alias": "negativeValues"; "required": false; }; "noteTextField": { "alias": "noteTextField"; "required": false; }; "opacity": { "alias": "opacity"; "required": false; }; "openField": { "alias": "openField"; "required": false; }; "outliersField": { "alias": "outliersField"; "required": false; }; "overlay": { "alias": "overlay"; "required": false; }; "padding": { "alias": "padding"; "required": false; }; "q1Field": { "alias": "q1Field"; "required": false; }; "q3Field": { "alias": "q3Field"; "required": false; }; "segmentSpacing": { "alias": "segmentSpacing"; "required": false; }; "size": { "alias": "size"; "required": false; }; "sizeField": { "alias": "sizeField"; "required": false; }; "spacing": { "alias": "spacing"; "required": false; }; "stack": { "alias": "stack"; "required": false; }; "startAngle": { "alias": "startAngle"; "required": false; }; "lineStyle": { "alias": "lineStyle"; "required": false; }; "summaryField": { "alias": "summaryField"; "required": false; }; "target": { "alias": "target"; "required": false; }; "toField": { "alias": "toField"; "required": false; }; "type": { "alias": "type"; "required": false; }; "upperField": { "alias": "upperField"; "required": false; }; "visible": { "alias": "visible"; "required": false; }; "visibleInLegend": { "alias": "visibleInLegend"; "required": false; }; "visibleInLegendField": { "alias": "visibleInLegendField"; "required": false; }; "visual": { "alias": "visual"; "required": false; }; "width": { "alias": "width"; "required": false; }; "whiskers": { "alias": "whiskers"; "required": false; }; "xAxis": { "alias": "xAxis"; "required": false; }; "xErrorHighField": { "alias": "xErrorHighField"; "required": false; }; "xErrorLowField": { "alias": "xErrorLowField"; "required": false; }; "xField": { "alias": "xField"; "required": false; }; "yAxis": { "alias": "yAxis"; "required": false; }; "yErrorHighField": { "alias": "yErrorHighField"; "required": false; }; "yErrorLowField": { "alias": "yErrorLowField"; "required": false; }; "yField": { "alias": "yField"; "required": false; }; "zIndex": { "alias": "zIndex"; "required": false; }; "trendline": { "alias": "trendline"; "required": false; }; "for": { "alias": "for"; "required": false; }; "legendItem": { "alias": "legendItem"; "required": false; }; "pattern": { "alias": "pattern"; "required": false; }; "patternField": { "alias": "patternField"; "required": false; }; "errorBars": { "alias": "errorBars"; "required": false; }; "extremes": { "alias": "extremes"; "required": false; }; "highlight": { "alias": "highlight"; "required": false; }; "labels": { "alias": "labels"; "required": false; }; "markers": { "alias": "markers"; "required": false; }; "notes": { "alias": "notes"; "required": false; }; "outliers": { "alias": "outliers"; "required": false; }; "tooltip": { "alias": "tooltip"; "required": false; }; }, {}, ["seriesTooltip", "drilldownTemplate"], never, true, never>;
547
543
  }
@@ -0,0 +1,23 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ "use strict";
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.aiInstructions = exports.aiInstructionsSurfaceElement = void 0;
8
+ exports.default = default_1;
9
+ const codemods_1 = require("@progress/kendo-angular-common/codemods");
10
+ exports.aiInstructionsSurfaceElement = `Charts and Sankey — redundant internal surface wrapper element removed.
11
+ If you have CSS rules or test assertions that target a wrapper element between the chart container and the SVG surface, update them to account for the removed intermediate element.`;
12
+ exports.aiInstructions = `Review your stylesheets, test files, and any code that may reference the Charts internal surface element:
13
+
14
+ ${exports.aiInstructionsSurfaceElement}`;
15
+ const patternSurface = (0, codemods_1.makePattern)(['k-chart-surface']);
16
+ function default_1(fileInfo) {
17
+ if ((0, codemods_1.isRenderingChangeTarget)(fileInfo.path)) {
18
+ if (patternSurface.test(fileInfo.source)) {
19
+ (0, codemods_1.writeInstructionMarker)(exports.aiInstructionsSurfaceElement, __filename, fileInfo.path);
20
+ }
21
+ }
22
+ return fileInfo.source;
23
+ }
@@ -4,7 +4,7 @@
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  "use strict";
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.tsInterfaceTransformer = exports.tsPropertyValueTransformer = exports.tsPropertyTransformer = exports.tsComponentPropertyRemoval = exports.attributeRemoval = exports.attributeValueUpdate = exports.attributeNameValueUpdate = exports.attributeNameUpdate = exports.eventUpdate = exports.htmlTransformer = exports.blockTextElements = void 0;
7
+ exports.tsInterfaceTransformer = exports.tsPropertyValueTransformer = exports.tsPropertyTransformer = exports.tsComponentPropertyRemoval = exports.attributeConditionalRemoval = exports.attributeRemoval = exports.attributeValueUpdate = exports.attributeNameValueUpdate = exports.attributeNameUpdate = exports.eventUpdate = exports.htmlTransformer = exports.blockTextElements = void 0;
8
8
  exports.hasKendoInTemplate = hasKendoInTemplate;
9
9
  exports.isImportedFromPackage = isImportedFromPackage;
10
10
  exports.tsPropertyRemoval = tsPropertyRemoval;
@@ -345,6 +345,34 @@ const attributeRemoval = (templateContent, tagName, attributeName, propertyToRem
345
345
  });
346
346
  };
347
347
  exports.attributeRemoval = attributeRemoval;
348
+ /**
349
+ * Removes an attribute from a tag only when its value matches one of the specified values.
350
+ * Handles both static (`attr="value"`) and bound (`[attr]="'value'"`) forms.
351
+ *
352
+ * @param templateContent - The template string content to transform
353
+ * @param tagName - The HTML tag name to target (e.g., 'kendo-button')
354
+ * @param attributeName - The attribute name to conditionally remove
355
+ * @param values - The attribute values that trigger removal
356
+ * @returns The transformed template content
357
+ */
358
+ const attributeConditionalRemoval = (templateContent, tagName, attributeName, values) => {
359
+ const escapeRegex = (str) => str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
360
+ const escapedTag = escapeRegex(tagName);
361
+ const escapedAttr = escapeRegex(attributeName);
362
+ // Remove bound attributes [attribute]="value"
363
+ const boundAttributePattern = new RegExp(`(<${escapedTag}[^>]*?)\\s+\\[${escapedAttr}\\]\\s*=\\s*("(?:[^"\\\\]|\\\\.)*?"|'(?:[^'\\\\]|\\\\.)*?'|[^\\s>]+)([^>]*?>)`, 'gi');
364
+ // Remove static attributes attribute="value"
365
+ const staticAttributePattern = new RegExp(`(<${escapedTag}[^>]*?)\\s+${escapedAttr}\\s*=\\s*("(?:[^"\\\\]|\\\\.)*?"|'(?:[^'\\\\]|\\\\.)*?'|[^\\s>]+)([^>]*?>)`, 'gi');
366
+ // Strip outer and inner quotes to extract the raw value for comparison
367
+ const matchesValue = (raw) => {
368
+ const inner = raw.replace(/^["']|["']$/g, '').replace(/^['"]|['"]$/g, '');
369
+ return values.includes(inner);
370
+ };
371
+ let result = templateContent.replace(boundAttributePattern, (match, prefix, value, suffix) => matchesValue(value) ? prefix + suffix : match);
372
+ result = result.replace(staticAttributePattern, (match, prefix, value, suffix) => matchesValue(value) ? prefix + suffix : match);
373
+ return result;
374
+ };
375
+ exports.attributeConditionalRemoval = attributeConditionalRemoval;
348
376
  function tsPropertyRemoval(source, rootSource, j, packageName, typeName, propertyName) {
349
377
  if (source.includes(typeName)) {
350
378
  if (!isImportedFromPackage(rootSource, j, packageName, typeName)) {
@@ -441,8 +469,31 @@ function tsPropertyRemoval(source, rootSource, j, packageName, typeName, propert
441
469
  }
442
470
  }
443
471
  });
444
- // Handle return statements with object literals
472
+ // Handle return statements with object literals, but only when the enclosing
473
+ // function's declared return type matches typeName. This prevents removing
474
+ // unrelated propertyName keys from object literals returned in other functions.
475
+ const enclosingFunctionReturnsType = (nodePath) => {
476
+ let current = nodePath.parent;
477
+ while (current) {
478
+ const node = current.node;
479
+ if (node.type === 'FunctionDeclaration' ||
480
+ node.type === 'FunctionExpression' ||
481
+ node.type === 'ArrowFunctionExpression' ||
482
+ node.type === 'ClassMethod' ||
483
+ node.type === 'ObjectMethod') {
484
+ return !!(node.returnType &&
485
+ node.returnType.typeAnnotation?.type === 'TSTypeReference' &&
486
+ node.returnType.typeAnnotation.typeName?.type === 'Identifier' &&
487
+ node.returnType.typeAnnotation.typeName.name === typeName);
488
+ }
489
+ current = current.parent;
490
+ }
491
+ return false;
492
+ };
445
493
  rootSource.find(j.ReturnStatement).forEach((path) => {
494
+ if (!enclosingFunctionReturnsType(path)) {
495
+ return;
496
+ }
446
497
  if (path.node.argument && path.node.argument.type === 'ObjectExpression') {
447
498
  const properties = path.node.argument.properties;
448
499
  const propIndex = properties.findIndex((p) => p.type === 'ObjectProperty' &&
@@ -491,22 +542,6 @@ function tsPropertyRemoval(source, rootSource, j, packageName, typeName, propert
491
542
  statement.remove();
492
543
  }
493
544
  });
494
- // Handle nested member expressions like chatConfig.chat.modelFields.pinnedByField
495
- rootSource
496
- .find(j.AssignmentExpression, {
497
- left: {
498
- type: 'MemberExpression',
499
- object: {
500
- type: 'MemberExpression',
501
- },
502
- property: {
503
- name: propertyName,
504
- },
505
- },
506
- })
507
- .forEach((path) => {
508
- j(path).closest(j.ExpressionStatement).remove();
509
- });
510
545
  return rootSource;
511
546
  }
512
547
  }
@@ -4,7 +4,7 @@
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import * as i0 from '@angular/core';
6
6
  import { Optional, Directive, Injectable, SimpleChange, TemplateRef, ContentChild, Input, ChangeDetectionStrategy, Component, ElementRef, ViewChild, ViewChildren, EventEmitter, Output, ContentChildren, forwardRef, LOCALE_ID, Inject, isDevMode, InjectionToken, HostBinding, NgModule } from '@angular/core';
7
- import { isDocumentAvailable, getLicenseMessage, shouldShowValidationUI, ResizeSensorComponent, WatermarkOverlayComponent, PreventableEvent as PreventableEvent$1, isChanged, ResizeBatchService } from '@progress/kendo-angular-common';
7
+ import { isDocumentAvailable, getLicenseMessage, shouldShowValidationUI, ResizeSensorComponent, WatermarkOverlayComponent, KENDO_WEBMCP_HOST, PreventableEvent as PreventableEvent$1, isChanged, ResizeBatchService } from '@progress/kendo-angular-common';
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';
@@ -802,12 +802,6 @@ class SeriesItemComponent extends CollectionItemComponent {
802
802
  * @default 'normal'
803
803
  */
804
804
  lineStyle;
805
- /**
806
- * @hidden
807
- */
808
- set style(value) {
809
- this.lineStyle = value;
810
- }
811
805
  /**
812
806
  * Specifies the data item field which contains the summary type for the Waterfall series.
813
807
  * The value (if any) of a data item marked as a summary point will be discarded.
@@ -1012,7 +1006,7 @@ class SeriesItemComponent extends CollectionItemComponent {
1012
1006
  }
1013
1007
  }
1014
1008
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: SeriesItemComponent, deps: [{ token: ConfigurationService }, { token: CollectionService }], target: i0.ɵɵFactoryTarget.Component });
1015
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: SeriesItemComponent, isStandalone: true, selector: "kendo-chart-series-item", inputs: { aggregate: "aggregate", autoFit: "autoFit", axis: "axis", border: "border", categoryAxis: "categoryAxis", categoryField: "categoryField", closeField: "closeField", color: "color", colorField: "colorField", connectors: "connectors", currentField: "currentField", dashType: "dashType", data: "data", downColor: "downColor", downColorField: "downColorField", drilldownField: "drilldownField", dynamicHeight: "dynamicHeight", dynamicSlope: "dynamicSlope", errorHighField: "errorHighField", errorLowField: "errorLowField", explodeField: "explodeField", field: "field", fromField: "fromField", gap: "gap", highField: "highField", holeSize: "holeSize", line: "line", lowField: "lowField", lowerField: "lowerField", margin: "margin", maxSize: "maxSize", mean: "mean", meanField: "meanField", median: "median", medianField: "medianField", minSize: "minSize", missingValues: "missingValues", name: "name", neckRatio: "neckRatio", negativeColor: "negativeColor", negativeValues: "negativeValues", noteTextField: "noteTextField", opacity: "opacity", openField: "openField", outliersField: "outliersField", overlay: "overlay", padding: "padding", q1Field: "q1Field", q3Field: "q3Field", segmentSpacing: "segmentSpacing", size: "size", sizeField: "sizeField", spacing: "spacing", stack: "stack", startAngle: "startAngle", lineStyle: "lineStyle", style: "style", summaryField: "summaryField", target: "target", toField: "toField", type: "type", upperField: "upperField", visible: "visible", visibleInLegend: "visibleInLegend", visibleInLegendField: "visibleInLegendField", visual: "visual", width: "width", whiskers: "whiskers", xAxis: "xAxis", xErrorHighField: "xErrorHighField", xErrorLowField: "xErrorLowField", xField: "xField", yAxis: "yAxis", yErrorHighField: "yErrorHighField", yErrorLowField: "yErrorLowField", yField: "yField", zIndex: "zIndex", trendline: "trendline", for: "for", legendItem: "legendItem", pattern: "pattern", patternField: "patternField", errorBars: "errorBars", extremes: "extremes", highlight: "highlight", labels: "labels", markers: "markers", notes: "notes", outliers: "outliers", tooltip: "tooltip" }, providers: [ConfigurationService], queries: [{ propertyName: "seriesTooltip", first: true, predicate: SeriesTooltipComponent, descendants: true }, { propertyName: "drilldownTemplate", first: true, predicate: SeriesDrilldownTemplateDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1009
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: SeriesItemComponent, isStandalone: true, selector: "kendo-chart-series-item", inputs: { aggregate: "aggregate", autoFit: "autoFit", axis: "axis", border: "border", categoryAxis: "categoryAxis", categoryField: "categoryField", closeField: "closeField", color: "color", colorField: "colorField", connectors: "connectors", currentField: "currentField", dashType: "dashType", data: "data", downColor: "downColor", downColorField: "downColorField", drilldownField: "drilldownField", dynamicHeight: "dynamicHeight", dynamicSlope: "dynamicSlope", errorHighField: "errorHighField", errorLowField: "errorLowField", explodeField: "explodeField", field: "field", fromField: "fromField", gap: "gap", highField: "highField", holeSize: "holeSize", line: "line", lowField: "lowField", lowerField: "lowerField", margin: "margin", maxSize: "maxSize", mean: "mean", meanField: "meanField", median: "median", medianField: "medianField", minSize: "minSize", missingValues: "missingValues", name: "name", neckRatio: "neckRatio", negativeColor: "negativeColor", negativeValues: "negativeValues", noteTextField: "noteTextField", opacity: "opacity", openField: "openField", outliersField: "outliersField", overlay: "overlay", padding: "padding", q1Field: "q1Field", q3Field: "q3Field", segmentSpacing: "segmentSpacing", size: "size", sizeField: "sizeField", spacing: "spacing", stack: "stack", startAngle: "startAngle", lineStyle: "lineStyle", summaryField: "summaryField", target: "target", toField: "toField", type: "type", upperField: "upperField", visible: "visible", visibleInLegend: "visibleInLegend", visibleInLegendField: "visibleInLegendField", visual: "visual", width: "width", whiskers: "whiskers", xAxis: "xAxis", xErrorHighField: "xErrorHighField", xErrorLowField: "xErrorLowField", xField: "xField", yAxis: "yAxis", yErrorHighField: "yErrorHighField", yErrorLowField: "yErrorLowField", yField: "yField", zIndex: "zIndex", trendline: "trendline", for: "for", legendItem: "legendItem", pattern: "pattern", patternField: "patternField", errorBars: "errorBars", extremes: "extremes", highlight: "highlight", labels: "labels", markers: "markers", notes: "notes", outliers: "outliers", tooltip: "tooltip" }, providers: [ConfigurationService], queries: [{ propertyName: "seriesTooltip", first: true, predicate: SeriesTooltipComponent, descendants: true }, { propertyName: "drilldownTemplate", first: true, predicate: SeriesDrilldownTemplateDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1016
1010
  }
1017
1011
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: SeriesItemComponent, decorators: [{
1018
1012
  type: Component,
@@ -1135,8 +1129,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
1135
1129
  type: Input
1136
1130
  }], lineStyle: [{
1137
1131
  type: Input
1138
- }], style: [{
1139
- type: Input
1140
1132
  }], summaryField: [{
1141
1133
  type: Input
1142
1134
  }], target: [{
@@ -2952,8 +2944,8 @@ const packageMetadata = {
2952
2944
  productName: 'Kendo UI for Angular',
2953
2945
  productCode: 'KENDOUIANGULAR',
2954
2946
  productCodes: ['KENDOUIANGULAR'],
2955
- publishDate: 1777365271,
2956
- version: '24.0.0-develop.9',
2947
+ publishDate: 1779273462,
2948
+ version: '24.0.0',
2957
2949
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
2958
2950
  };
2959
2951
 
@@ -3989,7 +3981,8 @@ class ChartComponent {
3989
3981
  {
3990
3982
  provide: L10N_PREFIX,
3991
3983
  useValue: 'kendo.chart'
3992
- }
3984
+ },
3985
+ { provide: KENDO_WEBMCP_HOST, useExisting: forwardRef(() => ChartComponent) }
3993
3986
  ], queries: [{ propertyName: "donutCenterTemplate", first: true, predicate: DonutCenterTemplateDirective, descendants: true }, { propertyName: "noDataTemplate", first: true, predicate: NoDataTemplateDirective, descendants: true }, { propertyName: "seriesCollectionComponent", predicate: SeriesComponent }, { propertyName: "seriesComponents", predicate: SeriesItemComponent, descendants: true }], viewQueries: [{ propertyName: "tooltipInstance", first: true, predicate: TooltipPopupComponent, descendants: true, static: true }, { propertyName: "crossahirTooltips", first: true, predicate: CrosshairTooltipsContainerComponent, descendants: true, static: true }], exportAs: ["kendoChart"], usesOnChanges: true, ngImport: i0, template: `
3994
3987
  <ng-container
3995
3988
  kendoChartLocalizedMessages
@@ -4036,7 +4029,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
4036
4029
  {
4037
4030
  provide: L10N_PREFIX,
4038
4031
  useValue: 'kendo.chart'
4039
- }
4032
+ },
4033
+ { provide: KENDO_WEBMCP_HOST, useExisting: forwardRef(() => ChartComponent) }
4040
4034
  ],
4041
4035
  selector: 'kendo-chart',
4042
4036
  template: `
@@ -7,7 +7,7 @@ export const packageMetadata = {
7
7
  "productCodes": [
8
8
  "KENDOUIANGULAR"
9
9
  ],
10
- "publishDate": 1777365271,
11
- "version": "24.0.0-develop.9",
10
+ "publishDate": 1779273462,
11
+ "version": "24.0.0",
12
12
  "licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
13
13
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-charts",
3
- "version": "24.0.0-develop.9",
3
+ "version": "24.0.0",
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",
@@ -64,6 +64,11 @@
64
64
  {
65
65
  "description": "The `style` property of the `Series` interface has been renamed to `lineStyle`.",
66
66
  "file": "codemods/v24/series-interface-style.js"
67
+ },
68
+ {
69
+ "description": "Charts and Sankey redundant internal surface element has been removed.",
70
+ "file": "codemods/v24/charts-rendering-changes.js",
71
+ "instructionsOnly": true
67
72
  }
68
73
  ]
69
74
  }
@@ -71,7 +76,7 @@
71
76
  "package": {
72
77
  "productName": "Kendo UI for Angular",
73
78
  "productCode": "KENDOUIANGULAR",
74
- "publishDate": 1777365271,
79
+ "publishDate": 1779273462,
75
80
  "licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
76
81
  }
77
82
  },
@@ -80,20 +85,20 @@
80
85
  "@angular/common": "19 - 21",
81
86
  "@angular/core": "19 - 21",
82
87
  "@angular/platform-browser": "19 - 21",
83
- "@progress/kendo-drawing": "^1.24.1",
88
+ "@progress/kendo-drawing": "^1.25.0",
84
89
  "@progress/kendo-licensing": "^1.11.0",
85
- "@progress/kendo-angular-common": "24.0.0-develop.9",
86
- "@progress/kendo-angular-intl": "24.0.0-develop.9",
87
- "@progress/kendo-angular-icons": "24.0.0-develop.9",
88
- "@progress/kendo-angular-l10n": "24.0.0-develop.9",
89
- "@progress/kendo-angular-popup": "24.0.0-develop.9",
90
- "@progress/kendo-angular-navigation": "24.0.0-develop.9",
90
+ "@progress/kendo-angular-common": "24.0.0",
91
+ "@progress/kendo-angular-intl": "24.0.0",
92
+ "@progress/kendo-angular-icons": "24.0.0",
93
+ "@progress/kendo-angular-l10n": "24.0.0",
94
+ "@progress/kendo-angular-popup": "24.0.0",
95
+ "@progress/kendo-angular-navigation": "24.0.0",
91
96
  "rxjs": "^6.5.3 || ^7.0.0"
92
97
  },
93
98
  "dependencies": {
94
99
  "tslib": "^2.3.1",
95
- "@progress/kendo-angular-schematics": "24.0.0-develop.9",
96
- "@progress/kendo-charts": "2.11.3",
100
+ "@progress/kendo-angular-schematics": "24.0.0",
101
+ "@progress/kendo-charts": "2.12.2",
97
102
  "@progress/kendo-svg-icons": "^4.0.0"
98
103
  },
99
104
  "schematics": "./schematics/collection.json",