@progress/kendo-angular-buttons 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.
- package/button/button.component.d.ts +2 -12
- package/chip/chip-list.component.d.ts +0 -1
- package/chip/chip.component.d.ts +1 -2
- package/codemods/libs/buttons/codemods/v24/buttons-rendering-changes.js +32 -0
- package/codemods/libs/buttons/codemods/v24/dropdownbutton-ButtonSize.js +26 -0
- package/codemods/libs/buttons/codemods/v24/fab-ButtonSize.js +26 -0
- package/codemods/libs/buttons/codemods/v24/fab-ButtonThemeColor.js +26 -0
- package/codemods/libs/buttons/codemods/v24/splitbutton-ButtonSize.js +26 -0
- package/codemods/libs/buttons/codemods/v24/themecolor-light-dark.js +53 -0
- package/codemods/libs/common/src/codemods/utils.js +1488 -0
- package/common/models/size.d.ts +13 -1
- package/common/models/theme-color.d.ts +11 -3
- package/dropdownbutton/dropdownbutton.component.d.ts +2 -2
- package/fesm2022/progress-kendo-angular-buttons.mjs +56 -90
- package/floatingactionbutton/floatingactionbutton.component.d.ts +6 -6
- package/index.d.ts +2 -2
- package/package-metadata.mjs +2 -2
- package/package.json +42 -7
- package/segmentedcontrol/models.d.ts +4 -0
- package/segmentedcontrol/segmented-control.component.d.ts +3 -4
- package/speechtotextbutton/speechtotextbutton.component.d.ts +0 -1
- package/splitbutton/splitbutton.component.d.ts +2 -2
- package/util.d.ts +1 -0
|
@@ -128,7 +128,7 @@ export declare class ButtonComponent implements OnInit, OnDestroy, OnChanges {
|
|
|
128
128
|
click: EventEmitter<any>;
|
|
129
129
|
element: HTMLElement;
|
|
130
130
|
isDisabled: boolean;
|
|
131
|
-
|
|
131
|
+
chevronDownIcon: SVGIcon;
|
|
132
132
|
private _size;
|
|
133
133
|
private _rounded;
|
|
134
134
|
private _fillMode;
|
|
@@ -142,8 +142,6 @@ export declare class ButtonComponent implements OnInit, OnDestroy, OnChanges {
|
|
|
142
142
|
private _svgIcon;
|
|
143
143
|
set isFocused(isFocused: boolean);
|
|
144
144
|
get isFocused(): boolean;
|
|
145
|
-
get classButton(): boolean;
|
|
146
|
-
get isToggleable(): boolean;
|
|
147
145
|
get iconButtonClass(): boolean;
|
|
148
146
|
get classDisabled(): boolean;
|
|
149
147
|
get classActive(): boolean;
|
|
@@ -156,14 +154,6 @@ export declare class ButtonComponent implements OnInit, OnDestroy, OnChanges {
|
|
|
156
154
|
* @hidden
|
|
157
155
|
*/
|
|
158
156
|
onBlur(): void;
|
|
159
|
-
/**
|
|
160
|
-
* @hidden
|
|
161
|
-
*/
|
|
162
|
-
set primary(value: boolean);
|
|
163
|
-
/**
|
|
164
|
-
* @hidden
|
|
165
|
-
*/
|
|
166
|
-
set look(value: 'flat' | 'outline' | 'clear' | 'default');
|
|
167
157
|
/**
|
|
168
158
|
* Alias for ElementRef.nativeElement to workaround
|
|
169
159
|
* ViewChild() selectors that used to return the host element before v11.
|
|
@@ -206,5 +196,5 @@ export declare class ButtonComponent implements OnInit, OnDestroy, OnChanges {
|
|
|
206
196
|
private handleClasses;
|
|
207
197
|
private handleThemeColor;
|
|
208
198
|
static ɵfac: i0.ɵɵFactoryDeclaration<ButtonComponent, [null, null, { optional: true; }, null, null]>;
|
|
209
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ButtonComponent, "button[kendoButton]", ["kendoButton"], { "arrowIcon": { "alias": "arrowIcon"; "required": false; }; "toggleable": { "alias": "toggleable"; "required": false; }; "togglable": { "alias": "togglable"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "imageUrl": { "alias": "imageUrl"; "required": false; }; "iconPosition": { "alias": "iconPosition"; "required": false; }; "iconClass": { "alias": "iconClass"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "size": { "alias": "size"; "required": false; }; "rounded": { "alias": "rounded"; "required": false; }; "fillMode": { "alias": "fillMode"; "required": false; }; "themeColor": { "alias": "themeColor"; "required": false; }; "svgIcon": { "alias": "svgIcon"; "required": false; };
|
|
199
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ButtonComponent, "button[kendoButton]", ["kendoButton"], { "arrowIcon": { "alias": "arrowIcon"; "required": false; }; "toggleable": { "alias": "toggleable"; "required": false; }; "togglable": { "alias": "togglable"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "imageUrl": { "alias": "imageUrl"; "required": false; }; "iconPosition": { "alias": "iconPosition"; "required": false; }; "iconClass": { "alias": "iconClass"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "size": { "alias": "size"; "required": false; }; "rounded": { "alias": "rounded"; "required": false; }; "fillMode": { "alias": "fillMode"; "required": false; }; "themeColor": { "alias": "themeColor"; "required": false; }; "svgIcon": { "alias": "svgIcon"; "required": false; }; }, { "selectedChange": "selectedChange"; "click": "click"; }, never, ["*"], true, never>;
|
|
210
200
|
}
|
package/chip/chip.component.d.ts
CHANGED
|
@@ -133,8 +133,7 @@ export declare class ChipComponent implements OnInit, AfterViewInit, OnChanges {
|
|
|
133
133
|
contentClick: EventEmitter<ChipContentClickEvent>;
|
|
134
134
|
tabIndex: number;
|
|
135
135
|
hostClass: boolean;
|
|
136
|
-
get
|
|
137
|
-
get disabledClass(): boolean;
|
|
136
|
+
get disabledClass(): boolean | null;
|
|
138
137
|
get selectedClass(): boolean;
|
|
139
138
|
get focusedClass(): boolean;
|
|
140
139
|
/**
|
|
@@ -0,0 +1,32 @@
|
|
|
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.aiInstructionsGroupReset = exports.aiInstructionsToggleButton = void 0;
|
|
8
|
+
exports.default = default_1;
|
|
9
|
+
const codemods_1 = require("@progress/kendo-angular-common/codemods");
|
|
10
|
+
exports.aiInstructionsToggleButton = `k-toggle-button — no longer applied in the Button component.
|
|
11
|
+
Remove any CSS rules or test assertions targeting .k-toggle-button on Button elements.`;
|
|
12
|
+
exports.aiInstructionsGroupReset = `k-group and k-reset — no longer applied for the popups of DropDownButton and SplitButton.
|
|
13
|
+
Remove any CSS rules or test assertions targeting .k-group or .k-reset in DropDownButton/SplitButton popup context.`;
|
|
14
|
+
exports.aiInstructions = `Review your stylesheets, test files, and any code that references these Button classes:
|
|
15
|
+
|
|
16
|
+
${exports.aiInstructionsToggleButton}
|
|
17
|
+
|
|
18
|
+
${exports.aiInstructionsGroupReset}`;
|
|
19
|
+
const patternToggleButton = (0, codemods_1.makePattern)(['k-toggle-button']);
|
|
20
|
+
const patternGroup = (0, codemods_1.makePattern)(['k-group']);
|
|
21
|
+
const patternReset = (0, codemods_1.makePattern)(['k-reset']);
|
|
22
|
+
function default_1(fileInfo) {
|
|
23
|
+
if ((0, codemods_1.isRenderingChangeTarget)(fileInfo.path)) {
|
|
24
|
+
if (patternToggleButton.test(fileInfo.source)) {
|
|
25
|
+
(0, codemods_1.writeInstructionMarker)(exports.aiInstructionsToggleButton, __filename, fileInfo.path);
|
|
26
|
+
}
|
|
27
|
+
if (patternGroup.test(fileInfo.source) || patternReset.test(fileInfo.source)) {
|
|
28
|
+
(0, codemods_1.writeInstructionMarker)(exports.aiInstructionsGroupReset, __filename, fileInfo.path);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return fileInfo.source;
|
|
32
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
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 codemods_1 = require("@progress/kendo-angular-common/codemods");
|
|
9
|
+
const COMPETING_COMPONENTS = ['ButtonComponent', 'FloatingActionButtonComponent', 'SplitButtonComponent'];
|
|
10
|
+
function default_1(fileInfo, api) {
|
|
11
|
+
if (!(0, codemods_1.isApiChangeTarget)(fileInfo.path)) {
|
|
12
|
+
return fileInfo.source;
|
|
13
|
+
}
|
|
14
|
+
const j = api.jscodeshift;
|
|
15
|
+
const rootSource = j(fileInfo.source);
|
|
16
|
+
if (!(0, codemods_1.isImportedFromPackage)(rootSource, j, '@progress/kendo-angular-buttons', 'DropDownButtonComponent')) {
|
|
17
|
+
return rootSource.toSource();
|
|
18
|
+
}
|
|
19
|
+
const hasAmbiguousUsage = COMPETING_COMPONENTS.some(comp => (0, codemods_1.isImportedFromPackage)(rootSource, j, '@progress/kendo-angular-buttons', comp));
|
|
20
|
+
if (hasAmbiguousUsage) {
|
|
21
|
+
(0, codemods_1.writeInstructionMarker)('ButtonSize is used by multiple button components. Manually rename DropDownButton-related usages to DropDownButtonSize.', __filename, fileInfo.path);
|
|
22
|
+
return rootSource.toSource();
|
|
23
|
+
}
|
|
24
|
+
(0, codemods_1.tsInterfaceTransformer)(fileInfo, rootSource, j, '@progress/kendo-angular-buttons', 'ButtonSize', 'DropDownButtonSize');
|
|
25
|
+
return rootSource.toSource();
|
|
26
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
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 codemods_1 = require("@progress/kendo-angular-common/codemods");
|
|
9
|
+
const COMPETING_COMPONENTS = ['ButtonComponent', 'DropDownButtonComponent', 'SplitButtonComponent'];
|
|
10
|
+
function default_1(fileInfo, api) {
|
|
11
|
+
if (!(0, codemods_1.isApiChangeTarget)(fileInfo.path)) {
|
|
12
|
+
return fileInfo.source;
|
|
13
|
+
}
|
|
14
|
+
const j = api.jscodeshift;
|
|
15
|
+
const rootSource = j(fileInfo.source);
|
|
16
|
+
if (!(0, codemods_1.isImportedFromPackage)(rootSource, j, '@progress/kendo-angular-buttons', 'FloatingActionButtonComponent')) {
|
|
17
|
+
return rootSource.toSource();
|
|
18
|
+
}
|
|
19
|
+
const hasAmbiguousUsage = COMPETING_COMPONENTS.some(comp => (0, codemods_1.isImportedFromPackage)(rootSource, j, '@progress/kendo-angular-buttons', comp));
|
|
20
|
+
if (hasAmbiguousUsage) {
|
|
21
|
+
(0, codemods_1.writeInstructionMarker)('ButtonSize is used by multiple button components. Manually rename FAB-related usages to FloatingActionButtonSize.', __filename, fileInfo.path);
|
|
22
|
+
return rootSource.toSource();
|
|
23
|
+
}
|
|
24
|
+
(0, codemods_1.tsInterfaceTransformer)(fileInfo, rootSource, j, '@progress/kendo-angular-buttons', 'ButtonSize', 'FloatingActionButtonSize');
|
|
25
|
+
return rootSource.toSource();
|
|
26
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
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 codemods_1 = require("@progress/kendo-angular-common/codemods");
|
|
9
|
+
const COMPETING_COMPONENTS = ['ButtonComponent'];
|
|
10
|
+
function default_1(fileInfo, api) {
|
|
11
|
+
if (!(0, codemods_1.isApiChangeTarget)(fileInfo.path)) {
|
|
12
|
+
return fileInfo.source;
|
|
13
|
+
}
|
|
14
|
+
const j = api.jscodeshift;
|
|
15
|
+
const rootSource = j(fileInfo.source);
|
|
16
|
+
if (!(0, codemods_1.isImportedFromPackage)(rootSource, j, '@progress/kendo-angular-buttons', 'FloatingActionButtonComponent')) {
|
|
17
|
+
return rootSource.toSource();
|
|
18
|
+
}
|
|
19
|
+
const hasAmbiguousUsage = COMPETING_COMPONENTS.some(comp => (0, codemods_1.isImportedFromPackage)(rootSource, j, '@progress/kendo-angular-buttons', comp));
|
|
20
|
+
if (hasAmbiguousUsage) {
|
|
21
|
+
(0, codemods_1.writeInstructionMarker)('ButtonThemeColor is used by multiple button components. Manually rename FAB-related usages to FloatingActionButtonThemeColor.', __filename, fileInfo.path);
|
|
22
|
+
return rootSource.toSource();
|
|
23
|
+
}
|
|
24
|
+
(0, codemods_1.tsInterfaceTransformer)(fileInfo, rootSource, j, '@progress/kendo-angular-buttons', 'ButtonThemeColor', 'FloatingActionButtonThemeColor');
|
|
25
|
+
return rootSource.toSource();
|
|
26
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
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 codemods_1 = require("@progress/kendo-angular-common/codemods");
|
|
9
|
+
const COMPETING_COMPONENTS = ['ButtonComponent', 'FloatingActionButtonComponent', 'DropDownButtonComponent'];
|
|
10
|
+
function default_1(fileInfo, api) {
|
|
11
|
+
if (!(0, codemods_1.isApiChangeTarget)(fileInfo.path)) {
|
|
12
|
+
return fileInfo.source;
|
|
13
|
+
}
|
|
14
|
+
const j = api.jscodeshift;
|
|
15
|
+
const rootSource = j(fileInfo.source);
|
|
16
|
+
if (!(0, codemods_1.isImportedFromPackage)(rootSource, j, '@progress/kendo-angular-buttons', 'SplitButtonComponent')) {
|
|
17
|
+
return rootSource.toSource();
|
|
18
|
+
}
|
|
19
|
+
const hasAmbiguousUsage = COMPETING_COMPONENTS.some(comp => (0, codemods_1.isImportedFromPackage)(rootSource, j, '@progress/kendo-angular-buttons', comp));
|
|
20
|
+
if (hasAmbiguousUsage) {
|
|
21
|
+
(0, codemods_1.writeInstructionMarker)('ButtonSize is used by multiple button components. Manually rename SplitButton-related usages to SplitButtonSize.', __filename, fileInfo.path);
|
|
22
|
+
return rootSource.toSource();
|
|
23
|
+
}
|
|
24
|
+
(0, codemods_1.tsInterfaceTransformer)(fileInfo, rootSource, j, '@progress/kendo-angular-buttons', 'ButtonSize', 'SplitButtonSize');
|
|
25
|
+
return rootSource.toSource();
|
|
26
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
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 tslib_1 = require("tslib");
|
|
10
|
+
const fs = tslib_1.__importStar(require("fs"));
|
|
11
|
+
const codemods_1 = require("@progress/kendo-angular-common/codemods");
|
|
12
|
+
exports.aiInstructions = `The 'light' and 'dark' values have been removed from ButtonThemeColor.
|
|
13
|
+
Replace them with a supported value: 'base', 'primary', 'secondary', 'tertiary', 'info', 'success', 'warning', 'error', or 'inverse'.
|
|
14
|
+
|
|
15
|
+
Static usages (themeColor="light", [themeColor]="'dark'") were removed automatically, which means the component now uses its default themeColor.
|
|
16
|
+
If you want to explicitly set a new value, re-add the attribute with a supported one:
|
|
17
|
+
Before: (removed by codemod — no themeColor attribute)
|
|
18
|
+
After: themeColor="base"
|
|
19
|
+
|
|
20
|
+
Furthermore, the following patterns could not be migrated automatically and require an additional update:
|
|
21
|
+
|
|
22
|
+
Dynamic binding:
|
|
23
|
+
Before: [themeColor]="color" (where color may be 'light' or 'dark')
|
|
24
|
+
After: [themeColor]="color" (ensure color is a supported value)
|
|
25
|
+
|
|
26
|
+
Conditional expression — replace both values:
|
|
27
|
+
Before: [themeColor]="isDark ? 'dark' : 'light'"
|
|
28
|
+
After: [themeColor]="isDark ? 'inverse' : 'base'"
|
|
29
|
+
|
|
30
|
+
TypeScript assignment — update the assigned value:
|
|
31
|
+
Before: this.button.themeColor = 'light';
|
|
32
|
+
After: this.button.themeColor = 'base';
|
|
33
|
+
`;
|
|
34
|
+
const REMOVED_VALUES = ['light', 'dark'];
|
|
35
|
+
function default_1(fileInfo, api) {
|
|
36
|
+
const filePath = fileInfo.path;
|
|
37
|
+
if (!(0, codemods_1.isApiChangeTarget)(filePath)) {
|
|
38
|
+
return fileInfo.source;
|
|
39
|
+
}
|
|
40
|
+
const htmlResult = (0, codemods_1.htmlTransformer)(fileInfo, api, (templateContent) => {
|
|
41
|
+
let result = (0, codemods_1.attributeConditionalRemoval)(templateContent, 'kendo-button', 'themeColor', REMOVED_VALUES);
|
|
42
|
+
result = (0, codemods_1.attributeConditionalRemoval)(result, 'kendo-floatingactionbutton', 'themeColor', REMOVED_VALUES);
|
|
43
|
+
return result;
|
|
44
|
+
});
|
|
45
|
+
if (filePath.endsWith('.html')) {
|
|
46
|
+
if (htmlResult && htmlResult !== fileInfo.source) {
|
|
47
|
+
fs.writeFileSync(filePath, htmlResult, 'utf-8');
|
|
48
|
+
return htmlResult;
|
|
49
|
+
}
|
|
50
|
+
return fileInfo.source;
|
|
51
|
+
}
|
|
52
|
+
return htmlResult || fileInfo.source;
|
|
53
|
+
}
|