@progress/kendo-angular-dropdowns 25.0.0-develop.25 → 25.0.0-develop.27

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.
@@ -13,6 +13,7 @@ exports.writeInstructionMarker = writeInstructionMarker;
13
13
  exports.isApiChangeTarget = isApiChangeTarget;
14
14
  exports.isRenderingChangeTarget = isRenderingChangeTarget;
15
15
  exports.executeCodemodTest = executeCodemodTest;
16
+ exports.removeAttributeFromDirectiveHost = removeAttributeFromDirectiveHost;
16
17
  const tslib_1 = require("tslib");
17
18
  /// <reference types="node" />
18
19
  const fs = tslib_1.__importStar(require("fs"));
@@ -1486,3 +1487,17 @@ function executeCodemodTest(codemod, testDir, exampleFileName = 'example.ts', ex
1486
1487
  catch { }
1487
1488
  }
1488
1489
  }
1490
+ function removeAttributeFromDirectiveHost(templateContent, directiveAttr, attrToRemove) {
1491
+ const escapedDirective = directiveAttr.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
1492
+ const escapedAttr = attrToRemove.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
1493
+ const boundPattern = new RegExp(`(<[a-zA-Z][a-zA-Z0-9-]*[^>]*${escapedDirective}[^>]*?)\\s+\\[${escapedAttr}\\]\\s*=\\s*("(?:[^"\\\\]|\\\\.)*?"|'(?:[^'\\\\]|\\\\.)*?'|[^\\s>]+)([^>]*?>)`, 'gi');
1494
+ const staticPattern = new RegExp(`(<[a-zA-Z][a-zA-Z0-9-]*[^>]*${escapedDirective}[^>]*?)\\s+${escapedAttr}\\s*=\\s*("(?:[^"\\\\]|\\\\.)*?"|'(?:[^'\\\\]|\\\\.)*?'|[^\\s>]+)([^>]*?>)`, 'gi');
1495
+ // Also match when the attribute appears before the directive
1496
+ const boundPatternBefore = new RegExp(`(<[a-zA-Z][a-zA-Z0-9-]*[^>]*?)\\s+\\[${escapedAttr}\\]\\s*=\\s*("(?:[^"\\\\]|\\\\.)*?"|'(?:[^'\\\\]|\\\\.)*?'|[^\\s>]+)([^>]*${escapedDirective}[^>]*?>)`, 'gi');
1497
+ const staticPatternBefore = new RegExp(`(<[a-zA-Z][a-zA-Z0-9-]*[^>]*?)\\s+${escapedAttr}\\s*=\\s*("(?:[^"\\\\]|\\\\.)*?"|'(?:[^'\\\\]|\\\\.)*?'|[^\\s>]+)([^>]*${escapedDirective}[^>]*?>)`, 'gi');
1498
+ let result = templateContent.replace(boundPattern, '$1$3');
1499
+ result = result.replace(staticPattern, '$1$3');
1500
+ result = result.replace(boundPatternBefore, '$1$3');
1501
+ result = result.replace(staticPatternBefore, '$1$3');
1502
+ return result;
1503
+ }
@@ -0,0 +1,41 @@
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 = void 0;
8
+ exports.default = default_1;
9
+ const codemods_1 = require("@progress/kendo-angular-common/codemods");
10
+ exports.aiInstructions = `Review your stylesheets, test files, and any code that references these Dropdowns classes:
11
+
12
+ k-table-tfoot / k-table-row / k-table-td (MultiColumnComboBox) — The footer-template wrapper changed from <table><tfoot><tr><td>…</td></tr></tfoot></table> to a single <span class="k-table-td">…</span>.
13
+ Update selectors targeting .k-table-tfoot or .k-table-row in MultiColumnComboBox footer context.
14
+
15
+ k-icon (DropDownList/DropDownTree/MultiSelectTree/MultiSelect) — removed from the <kendo-icon-wrapper> used for the filter/search icon and "clear" (x) icon.
16
+ Remove selectors targeting .k-icon on dropdown icon wrappers.
17
+
18
+ k-no-data — The "no results" block moved from being a sibling after <kendo-list> to being projected inside the list wrapper.
19
+ Update selectors that rely on .k-no-data being a sibling of the list element.
20
+
21
+ k-text-center (AdaptiveRenderer) — removed from the actionsheet title bar (.k-actionsheet-titlebar).
22
+ Remove selectors targeting .k-text-center in adaptive popup title context.
23
+
24
+ k-searchbox (AdaptiveRenderer) — removed from the adaptive filter <kendo-textbox>.
25
+ Remove selectors targeting .k-searchbox in adaptive popup context.
26
+
27
+ k-list-container (AdaptiveRenderer) — DropDownTree and MultiSelectTree no longer render this wrapper in adaptive view.
28
+ Update selectors that depend on .k-list-container being present in adaptive DropDownTree/MultiSelectTree.
29
+
30
+ k-text-ellipsis (MultiSelect/MultiSelectTree) — removed from the .k-chip-label span.
31
+ Remove selectors targeting .k-text-ellipsis on chip labels.`;
32
+ const classes = ['k-table-tfoot', 'k-no-data', 'k-text-center', 'k-searchbox', 'k-list-container', 'k-text-ellipsis'];
33
+ const pattern = (0, codemods_1.makePattern)(classes);
34
+ function default_1(fileInfo) {
35
+ if ((0, codemods_1.isRenderingChangeTarget)(fileInfo.path)) {
36
+ if (pattern.test(fileInfo.source)) {
37
+ (0, codemods_1.writeInstructionMarker)(exports.aiInstructions, __filename, fileInfo.path);
38
+ }
39
+ }
40
+ return fileInfo.source;
41
+ }
@@ -0,0 +1,34 @@
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.default = default_1;
8
+ const tslib_1 = require("tslib");
9
+ const fs = tslib_1.__importStar(require("fs"));
10
+ const codemods_1 = require("@progress/kendo-angular-common/codemods");
11
+ function transformSummaryTag(templateContent) {
12
+ // Rename bound [kendoMultiSelectSummaryTag]="value" to [summaryTagAfter]="value"
13
+ const boundPattern = /(<kendo-multiselect(?=[\s/>])[^>]*?\s+)\[kendoMultiSelectSummaryTag\]\s*=\s*("(?:[^"\\]|\\.)*?"|'(?:[^'\\]|\\.)*?')([^>]*?>)/gi;
14
+ let result = templateContent.replace(boundPattern, '$1[summaryTagAfter]=$2$3');
15
+ // Convert bare kendoMultiSelectSummaryTag (no value) to [summaryTagAfter]="0"
16
+ const barePattern = /(<kendo-multiselect(?=[\s/>])[^>]*?\s+)kendoMultiSelectSummaryTag(\s+[^>=]|\s*[/>])/gi;
17
+ result = result.replace(barePattern, '$1[summaryTagAfter]="0"$2');
18
+ return result;
19
+ }
20
+ function default_1(fileInfo, api) {
21
+ const filePath = fileInfo.path;
22
+ if (!(0, codemods_1.isApiChangeTarget)(filePath)) {
23
+ return fileInfo.source;
24
+ }
25
+ const htmlResult = (0, codemods_1.htmlTransformer)(fileInfo, api, (templateContent) => transformSummaryTag(templateContent));
26
+ if (filePath.endsWith('.html')) {
27
+ if (htmlResult && htmlResult !== fileInfo.source) {
28
+ fs.writeFileSync(filePath, htmlResult, 'utf-8');
29
+ return htmlResult;
30
+ }
31
+ return fileInfo.source;
32
+ }
33
+ return htmlResult || fileInfo.source;
34
+ }
@@ -37,8 +37,8 @@ const packageMetadata = {
37
37
  productName: 'Kendo UI for Angular',
38
38
  productCode: 'KENDOUIANGULAR',
39
39
  productCodes: ['KENDOUIANGULAR'],
40
- publishDate: 1786102806,
41
- version: '25.0.0-develop.25',
40
+ publishDate: 1786387429,
41
+ version: '25.0.0-develop.27',
42
42
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
43
43
  };
44
44
 
@@ -7,7 +7,7 @@ export const packageMetadata = {
7
7
  "productCodes": [
8
8
  "KENDOUIANGULAR"
9
9
  ],
10
- "publishDate": 1786102806,
11
- "version": "25.0.0-develop.25",
10
+ "publishDate": 1786387429,
11
+ "version": "25.0.0-develop.27",
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-dropdowns",
3
- "version": "25.0.0-develop.25",
3
+ "version": "25.0.0-develop.27",
4
4
  "description": "A wide variety of native Angular dropdown components including AutoComplete, ComboBox, DropDownList, DropDownTree, MultiColumnComboBox, MultiSelect, and MultiSelectTree ",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Progress",
@@ -115,13 +115,24 @@
115
115
  "file": "codemods/v21/dropdowns-rendering-changes.js",
116
116
  "instructionsOnly": true
117
117
  }
118
+ ],
119
+ "25": [
120
+ {
121
+ "description": "The kendoMultiSelectSummaryTag directive is replaced by the summaryTagAfter input on MultiSelect.",
122
+ "file": "codemods/v25/multiselect-summaryTag.js"
123
+ },
124
+ {
125
+ "description": "The Dropdowns components have rendering changes that may affect custom styling.",
126
+ "file": "codemods/v25/dropdowns-rendering-changes.js",
127
+ "instructionsOnly": true
128
+ }
118
129
  ]
119
130
  }
120
131
  },
121
132
  "package": {
122
133
  "productName": "Kendo UI for Angular",
123
134
  "productCode": "KENDOUIANGULAR",
124
- "publishDate": 1786102806,
135
+ "publishDate": 1786387429,
125
136
  "licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
126
137
  }
127
138
  },
@@ -132,19 +143,19 @@
132
143
  "@angular/forms": "20 - 22",
133
144
  "@angular/platform-browser": "20 - 22",
134
145
  "@progress/kendo-licensing": "^1.11.0",
135
- "@progress/kendo-angular-common": "25.0.0-develop.25",
136
- "@progress/kendo-angular-utils": "25.0.0-develop.25",
137
- "@progress/kendo-angular-l10n": "25.0.0-develop.25",
138
- "@progress/kendo-angular-navigation": "25.0.0-develop.25",
139
- "@progress/kendo-angular-popup": "25.0.0-develop.25",
140
- "@progress/kendo-angular-icons": "25.0.0-develop.25",
141
- "@progress/kendo-angular-inputs": "25.0.0-develop.25",
142
- "@progress/kendo-angular-treeview": "25.0.0-develop.25",
146
+ "@progress/kendo-angular-common": "25.0.0-develop.27",
147
+ "@progress/kendo-angular-utils": "25.0.0-develop.27",
148
+ "@progress/kendo-angular-l10n": "25.0.0-develop.27",
149
+ "@progress/kendo-angular-navigation": "25.0.0-develop.27",
150
+ "@progress/kendo-angular-popup": "25.0.0-develop.27",
151
+ "@progress/kendo-angular-icons": "25.0.0-develop.27",
152
+ "@progress/kendo-angular-inputs": "25.0.0-develop.27",
153
+ "@progress/kendo-angular-treeview": "25.0.0-develop.27",
143
154
  "rxjs": "^6.5.3 || ^7.0.0"
144
155
  },
145
156
  "dependencies": {
146
157
  "tslib": "^2.3.1",
147
- "@progress/kendo-angular-schematics": "25.0.0-develop.25",
158
+ "@progress/kendo-angular-schematics": "25.0.0-develop.27",
148
159
  "@progress/kendo-common": "^1.0.1"
149
160
  },
150
161
  "schematics": "./schematics/collection.json",
@@ -9,9 +9,9 @@ const schematics_1 = require("@angular-devkit/schematics");
9
9
  function default_1(options) {
10
10
  const finalOptions = Object.assign(Object.assign({}, options), { mainNgModule: 'DropDownsModule', package: 'dropdowns', peerDependencies: {
11
11
  // peers of the treeview
12
- '@progress/kendo-angular-inputs': '25.0.0-develop.25',
12
+ '@progress/kendo-angular-inputs': '25.0.0-develop.27',
13
13
  // peers of inputs
14
- '@progress/kendo-angular-intl': '25.0.0-develop.25',
14
+ '@progress/kendo-angular-intl': '25.0.0-develop.27',
15
15
  '@progress/kendo-drawing': '^1.17.2',
16
16
  // Peer dependency of icons
17
17
  '@progress/kendo-svg-icons': '^4.0.0'