@progress/kendo-angular-listbox 24.0.0-develop.1 → 24.0.0-develop.3

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.
@@ -3,29 +3,6 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  "use strict";
6
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
- if (k2 === undefined) k2 = k;
8
- var desc = Object.getOwnPropertyDescriptor(m, k);
9
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
- desc = { enumerable: true, get: function() { return m[k]; } };
11
- }
12
- Object.defineProperty(o, k2, desc);
13
- }) : (function(o, m, k, k2) {
14
- if (k2 === undefined) k2 = k;
15
- o[k2] = m[k];
16
- }));
17
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
- Object.defineProperty(o, "default", { enumerable: true, value: v });
19
- }) : function(o, v) {
20
- o["default"] = v;
21
- });
22
- var __importStar = (this && this.__importStar) || function (mod) {
23
- if (mod && mod.__esModule) return mod;
24
- var result = {};
25
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
26
- __setModuleDefault(result, mod);
27
- return result;
28
- };
29
6
  Object.defineProperty(exports, "__esModule", { value: true });
30
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;
31
8
  exports.hasKendoInTemplate = hasKendoInTemplate;
@@ -35,8 +12,12 @@ exports.makePattern = makePattern;
35
12
  exports.writeInstructionMarker = writeInstructionMarker;
36
13
  exports.isApiChangeTarget = isApiChangeTarget;
37
14
  exports.isRenderingChangeTarget = isRenderingChangeTarget;
38
- const path = __importStar(require("node:path"));
39
- const fs = __importStar(require("node:fs"));
15
+ exports.executeCodemodTest = executeCodemodTest;
16
+ const tslib_1 = require("tslib");
17
+ /// <reference types="node" />
18
+ const fs = tslib_1.__importStar(require("fs"));
19
+ const os = tslib_1.__importStar(require("os"));
20
+ const path = tslib_1.__importStar(require("path"));
40
21
  exports.blockTextElements = {
41
22
  script: true,
42
23
  noscript: true,
@@ -320,12 +301,12 @@ const attributeRemoval = (templateContent, tagName, attributeName, propertyToRem
320
301
  // If no propertyToRemove is specified, remove the entire attribute
321
302
  if (!propertyToRemove) {
322
303
  // Remove bound attributes [attribute]="value"
323
- const boundAttributePattern = new RegExp(`(\\s+)\\[${escapedAttr}\\]\\s*=\\s*("(?:[^"\\\\]|\\\\.)*?"|'(?:[^'\\\\]|\\\\.)*?'|[^\\s>]+)`, 'gi');
304
+ const boundAttributePattern = new RegExp(`(<${escapedTag}[^>]*?)\\s+\\[${escapedAttr}\\]\\s*=\\s*("(?:[^"\\\\]|\\\\.)*?"|'(?:[^'\\\\]|\\\\.)*?'|[^\\s>]+)([^>]*?>)`, 'gi');
324
305
  // Remove static attributes attribute="value"
325
- const staticAttributePattern = new RegExp(`(\\s+)${escapedAttr}\\s*=\\s*("(?:[^"\\\\]|\\\\.)*?"|'(?:[^'\\\\]|\\\\.)*?'|[^\\s>]+)`, 'gi');
326
- // Apply removals
327
- let result = templateContent.replace(boundAttributePattern, '');
328
- result = result.replace(staticAttributePattern, '');
306
+ const staticAttributePattern = new RegExp(`(<${escapedTag}[^>]*?)\\s+${escapedAttr}\\s*=\\s*("(?:[^"\\\\]|\\\\.)*?"|'(?:[^'\\\\]|\\\\.)*?'|[^\\s>]+)([^>]*?>)`, 'gi');
307
+ // Apply removals - keep tag prefix and suffix, remove the attribute
308
+ let result = templateContent.replace(boundAttributePattern, '$1$3');
309
+ result = result.replace(staticAttributePattern, '$1$3');
329
310
  return result;
330
311
  }
331
312
  // Remove specific property from object literal attributes
@@ -1428,3 +1409,45 @@ function isRenderingChangeTarget(filePath) {
1428
1409
  const ext = path.extname(filePath);
1429
1410
  return ext === '.ts' || ext === '.html' || ext === '.css' || ext === '.scss' || ext === '.sass' || ext === '.less';
1430
1411
  }
1412
+ /**
1413
+ * Executes a codemod transformation and compares the result with expected output
1414
+ *
1415
+ * @param codemod - The codemod function to execute
1416
+ * @param testDir - Directory containing the test files (__dirname from test file)
1417
+ * @param exampleFileName - Name of the input file (default: 'example.ts')
1418
+ * @param expectedFileName - Name of the expected output file (default: 'expected.ts')
1419
+ * @returns Object containing the transformation result and expected content
1420
+ */
1421
+ function executeCodemodTest(codemod, testDir, exampleFileName = 'example.ts', expectedFileName = 'expected.ts') {
1422
+ const exampleFile = path.join(testDir, exampleFileName);
1423
+ const expectedFile = path.join(testDir, expectedFileName);
1424
+ const sourceCode = fs.readFileSync(exampleFile, 'utf-8');
1425
+ const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'codemod-test-'));
1426
+ const tmpFile = path.join(tmpDir, path.basename(exampleFile));
1427
+ fs.writeFileSync(tmpFile, sourceCode, 'utf-8');
1428
+ try {
1429
+ const fileInfo = {
1430
+ path: tmpFile,
1431
+ source: sourceCode
1432
+ };
1433
+ const jscodeshift = require('jscodeshift').withParser('tsx');
1434
+ const api = {
1435
+ jscodeshift,
1436
+ j: jscodeshift
1437
+ };
1438
+ const result = codemod(fileInfo, api);
1439
+ const expectedContent = fs.readFileSync(expectedFile, 'utf-8').trim();
1440
+ return {
1441
+ result: result?.trim(),
1442
+ expected: expectedContent,
1443
+ sourceCode,
1444
+ transformedSuccessfully: result !== undefined
1445
+ };
1446
+ }
1447
+ finally {
1448
+ try {
1449
+ fs.rmSync(tmpDir, { recursive: true });
1450
+ }
1451
+ catch { }
1452
+ }
1453
+ }
@@ -0,0 +1,27 @@
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 codemods_1 = require("@progress/kendo-angular-common/codemods");
10
+ const fs = tslib_1.__importStar(require("fs"));
11
+ function default_1(fileInfo, api) {
12
+ const filePath = fileInfo.path;
13
+ // Handle HTML files and inline templates
14
+ const htmlResult = (0, codemods_1.htmlTransformer)(fileInfo, api, (templateContent) => (0, codemods_1.eventUpdate)(templateContent, 'kendo-listbox', 'actionClick', 'action'));
15
+ if (filePath.endsWith('.html')) {
16
+ if (htmlResult && htmlResult !== fileInfo.source) {
17
+ fs.writeFileSync(filePath, htmlResult, 'utf-8');
18
+ return htmlResult;
19
+ }
20
+ return fileInfo.source; // Return original source if no changes
21
+ }
22
+ // Handle TypeScript property transformations
23
+ const j = api.jscodeshift;
24
+ const rootSource = j(htmlResult || fileInfo.source);
25
+ (0, codemods_1.tsPropertyTransformer)(fileInfo.source, rootSource, j, '@progress/kendo-angular-listbox', 'ListBoxComponent', 'actionClick', 'action');
26
+ return rootSource.toSource();
27
+ }
@@ -5,10 +5,10 @@
5
5
  "use strict";
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.default = default_1;
8
- const utils_1 = require("../utils");
8
+ const codemods_1 = require("@progress/kendo-angular-common/codemods");
9
9
  function default_1(fileInfo, api) {
10
10
  const j = api.jscodeshift;
11
11
  const rootSource = j(fileInfo.source);
12
- (0, utils_1.tsInterfaceTransformer)(fileInfo, rootSource, j, '@progress/kendo-angular-listbox', 'Toolbar', 'ListBoxToolbarConfig');
12
+ (0, codemods_1.tsInterfaceTransformer)(fileInfo, rootSource, j, '@progress/kendo-angular-listbox', 'Toolbar', 'ListBoxToolbarConfig');
13
13
  return rootSource.toSource();
14
14
  }
@@ -24,8 +24,8 @@ const packageMetadata = {
24
24
  productName: 'Kendo UI for Angular',
25
25
  productCode: 'KENDOUIANGULAR',
26
26
  productCodes: ['KENDOUIANGULAR'],
27
- publishDate: 1776779215,
28
- version: '24.0.0-develop.1',
27
+ publishDate: 1776940673,
28
+ version: '24.0.0-develop.3',
29
29
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
30
30
  };
31
31
 
@@ -7,7 +7,7 @@ export const packageMetadata = {
7
7
  "productCodes": [
8
8
  "KENDOUIANGULAR"
9
9
  ],
10
- "publishDate": 1776779215,
11
- "version": "24.0.0-develop.1",
10
+ "publishDate": 1776940673,
11
+ "version": "24.0.0-develop.3",
12
12
  "licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning"
13
13
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-listbox",
3
- "version": "24.0.0-develop.1",
3
+ "version": "24.0.0-develop.3",
4
4
  "description": "Kendo UI for Angular ListBox",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Progress",
@@ -22,21 +22,18 @@
22
22
  "pattern": "*.{ts,html}"
23
23
  },
24
24
  "codemods": {
25
- "19": [
25
+ "21": [
26
26
  {
27
27
  "description": "Migrate selectedIndex to selectedIndices for ListBox component.",
28
- "file": "codemods/v21/listbox-selectedindex.js",
29
- "prompt": "false"
28
+ "file": "codemods/v21/listbox-selectedindex.js"
30
29
  },
31
30
  {
32
31
  "description": "Migrate actionClick to action for ListBox component.",
33
- "file": "codemods/v21/listbox-actionclick.js",
34
- "prompt": "false"
32
+ "file": "codemods/v21/listbox-actionclick.js"
35
33
  },
36
34
  {
37
35
  "description": "Migrate Toolbar interface name to ListBoxToolbarConfig.",
38
- "file": "codemods/v21/listbox-toolbar.js",
39
- "prompt": "false"
36
+ "file": "codemods/v21/listbox-toolbar.js"
40
37
  }
41
38
  ]
42
39
  }
@@ -44,7 +41,7 @@
44
41
  "package": {
45
42
  "productName": "Kendo UI for Angular",
46
43
  "productCode": "KENDOUIANGULAR",
47
- "publishDate": 1776779215,
44
+ "publishDate": 1776940673,
48
45
  "licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning"
49
46
  }
50
47
  },
@@ -54,14 +51,14 @@
54
51
  "@angular/core": "19 - 21",
55
52
  "@angular/platform-browser": "19 - 21",
56
53
  "@progress/kendo-licensing": "^1.11.0",
57
- "@progress/kendo-angular-buttons": "24.0.0-develop.1",
58
- "@progress/kendo-angular-common": "24.0.0-develop.1",
59
- "@progress/kendo-angular-popup": "24.0.0-develop.1",
54
+ "@progress/kendo-angular-buttons": "24.0.0-develop.3",
55
+ "@progress/kendo-angular-common": "24.0.0-develop.3",
56
+ "@progress/kendo-angular-popup": "24.0.0-develop.3",
60
57
  "rxjs": "^6.5.3 || ^7.0.0"
61
58
  },
62
59
  "dependencies": {
63
60
  "tslib": "^2.3.1",
64
- "@progress/kendo-angular-schematics": "24.0.0-develop.1",
61
+ "@progress/kendo-angular-schematics": "24.0.0-develop.3",
65
62
  "@progress/kendo-common": "^1.0.1"
66
63
  },
67
64
  "schematics": "./schematics/collection.json",
@@ -11,11 +11,11 @@ function default_1(options) {
11
11
  // Additional dependencies to install.
12
12
  // See https://github.com/telerik/kendo-schematics/issues/28
13
13
  peerDependencies: {
14
- '@progress/kendo-angular-buttons': '24.0.0-develop.1',
15
- '@progress/kendo-angular-common': '24.0.0-develop.1',
16
- '@progress/kendo-angular-l10n': '24.0.0-develop.1',
14
+ '@progress/kendo-angular-buttons': '24.0.0-develop.3',
15
+ '@progress/kendo-angular-common': '24.0.0-develop.3',
16
+ '@progress/kendo-angular-l10n': '24.0.0-develop.3',
17
17
  // Peer of kendo-angular-buttons
18
- '@progress/kendo-angular-popup': '24.0.0-develop.1'
18
+ '@progress/kendo-angular-popup': '24.0.0-develop.3'
19
19
  } });
20
20
  return (0, schematics_1.externalSchematic)('@progress/kendo-angular-schematics', 'ng-add', finalOptions);
21
21
  }
@@ -1,49 +0,0 @@
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
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
- if (k2 === undefined) k2 = k;
8
- var desc = Object.getOwnPropertyDescriptor(m, k);
9
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
- desc = { enumerable: true, get: function() { return m[k]; } };
11
- }
12
- Object.defineProperty(o, k2, desc);
13
- }) : (function(o, m, k, k2) {
14
- if (k2 === undefined) k2 = k;
15
- o[k2] = m[k];
16
- }));
17
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
- Object.defineProperty(o, "default", { enumerable: true, value: v });
19
- }) : function(o, v) {
20
- o["default"] = v;
21
- });
22
- var __importStar = (this && this.__importStar) || function (mod) {
23
- if (mod && mod.__esModule) return mod;
24
- var result = {};
25
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
26
- __setModuleDefault(result, mod);
27
- return result;
28
- };
29
- Object.defineProperty(exports, "__esModule", { value: true });
30
- exports.default = default_1;
31
- const utils_1 = require("../utils");
32
- const fs = __importStar(require("fs"));
33
- function default_1(fileInfo, api) {
34
- const filePath = fileInfo.path;
35
- // Handle HTML files and inline templates
36
- const htmlResult = (0, utils_1.htmlTransformer)(fileInfo, api, (templateContent) => (0, utils_1.eventUpdate)(templateContent, 'kendo-listbox', 'actionClick', 'action'));
37
- if (filePath.endsWith('.html')) {
38
- if (htmlResult && htmlResult !== fileInfo.source) {
39
- fs.writeFileSync(filePath, htmlResult, 'utf-8');
40
- return htmlResult;
41
- }
42
- return fileInfo.source; // Return original source if no changes
43
- }
44
- // Handle TypeScript property transformations
45
- const j = api.jscodeshift;
46
- const rootSource = j(htmlResult || fileInfo.source);
47
- (0, utils_1.tsPropertyTransformer)(fileInfo.source, rootSource, j, '@progress/kendo-angular-listbox', 'ListBoxComponent', 'actionClick', 'action');
48
- return rootSource.toSource();
49
- }