@progress/kendo-angular-buttons 22.1.0-develop.17 → 22.1.0-develop.19

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,7 +2,7 @@
2
2
  * Copyright © 2026 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 { SimpleChanges, ElementRef, EventEmitter, Renderer2, OnDestroy, NgZone, AfterViewInit } from '@angular/core';
5
+ import { SimpleChanges, ElementRef, EventEmitter, Renderer2, OnDestroy, NgZone, OnInit, OnChanges } from '@angular/core';
6
6
  import { KendoButtonService } from './button.service';
7
7
  import { LocalizationService } from '@progress/kendo-angular-l10n';
8
8
  import { ButtonFillMode, ButtonRounded, ButtonSize, ButtonThemeColor } from '../common/models';
@@ -20,7 +20,7 @@ import * as i0 from "@angular/core";
20
20
  * <button kendoButton [icon]="'save'" [themeColor]="'primary'">Save</button>
21
21
  * ```
22
22
  */
23
- export declare class ButtonComponent implements OnDestroy, AfterViewInit {
23
+ export declare class ButtonComponent implements OnInit, OnDestroy, OnChanges {
24
24
  renderer: Renderer2;
25
25
  private service;
26
26
  private ngZone;
@@ -176,7 +176,6 @@ export declare class ButtonComponent implements OnDestroy, AfterViewInit {
176
176
  constructor(element: ElementRef, renderer: Renderer2, service: KendoButtonService, localization: LocalizationService, ngZone: NgZone);
177
177
  ngOnInit(): void;
178
178
  ngOnChanges(change: SimpleChanges): void;
179
- ngAfterViewInit(): void;
180
179
  ngOnDestroy(): void;
181
180
  /**
182
181
  * @hidden
@@ -5,8 +5,8 @@
5
5
  /**
6
6
  * Specifies the possible `fillMode` options for the buttons.
7
7
  */
8
- export type ButtonFillMode = 'solid' | 'flat' | 'outline' | 'link' | 'clear' | 'none';
8
+ export type ButtonFillMode = 'solid' | 'flat' | 'outline' | 'link' | 'clear';
9
9
  /**
10
10
  * Specifies the possible `fillMode` options for the Chip.
11
11
  */
12
- export type ChipFillMode = 'solid' | 'outline' | 'none';
12
+ export type ChipFillMode = 'solid' | 'outline';
@@ -5,8 +5,8 @@
5
5
  /**
6
6
  * Specifies the possible sizes for the buttons.
7
7
  */
8
- export type ButtonSize = 'small' | 'medium' | 'large' | 'none';
8
+ export type ButtonSize = 'small' | 'medium' | 'large';
9
9
  /**
10
10
  * Specifies the possible sizes for the Chip.
11
11
  */
12
- export type ChipSize = 'small' | 'medium' | 'large' | 'none';
12
+ export type ChipSize = 'small' | 'medium' | 'large';
@@ -17,9 +17,8 @@
17
17
  * * `dark`&mdash;Applies the `dark` theme color.
18
18
  * * `light`&mdash;Applies the `light` theme color.
19
19
  * * `inverse`&mdash;Applies the `inverse` theme color.
20
- * * `none`&mdash;Removes the theme color.
21
20
  */
22
- export type ButtonThemeColor = 'base' | 'primary' | 'secondary' | 'tertiary' | 'info' | 'success' | 'warning' | 'error' | 'dark' | 'light' | 'inverse' | 'none';
21
+ export type ButtonThemeColor = 'base' | 'primary' | 'secondary' | 'tertiary' | 'info' | 'success' | 'warning' | 'error' | 'dark' | 'light' | 'inverse';
23
22
  /**
24
23
  * Specifies the possible theme colors for the Chip.
25
24
  *
@@ -29,6 +28,5 @@ export type ButtonThemeColor = 'base' | 'primary' | 'secondary' | 'tertiary' | '
29
28
  * * `success`&mdash;Applies the `success` theme color.
30
29
  * * `warning`&mdash;Applies the `warning` theme color.
31
30
  * * `error`&mdash;Applies the `error` theme color.
32
- * * `none`&mdash;Removes the theme color.
33
31
  */
34
- export type ChipThemeColor = 'base' | 'info' | 'success' | 'warning' | 'error' | 'none';
32
+ export type ChipThemeColor = 'base' | 'info' | 'success' | 'warning' | 'error';
@@ -46,7 +46,7 @@ const packageMetadata = {
46
46
  productCode: 'KENDOUIANGULAR',
47
47
  productCodes: ['KENDOUIANGULAR'],
48
48
  publishDate: 0,
49
- version: '22.1.0-develop.17',
49
+ version: '22.1.0-develop.19',
50
50
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
51
51
  };
52
52
 
@@ -103,25 +103,37 @@ const ROUNDNESS = {
103
103
  /**
104
104
  * @hidden
105
105
  *
106
- * Returns the styling classes to be added and removed
106
+ * Returns the styling classes to be added and removed.
107
107
  */
108
108
  const getStylingClasses = (componentType, stylingOption, previousValue, newValue) => {
109
109
  switch (stylingOption) {
110
- case 'size':
110
+ case 'size': {
111
111
  return {
112
- toRemove: `k-${componentType}-${SIZES[previousValue]}`,
113
- toAdd: newValue !== 'none' ? `k-${componentType}-${SIZES[newValue]}` : ''
112
+ toRemove: previousValue ? `k-${componentType}-${SIZES[previousValue]}` : null,
113
+ toAdd: newValue ? `k-${componentType}-${SIZES[newValue]}` : null
114
114
  };
115
- case 'rounded':
115
+ }
116
+ case 'rounded': {
117
+ let roundedClassToAdd = null;
118
+ if (newValue) {
119
+ if (newValue !== 'none') {
120
+ roundedClassToAdd = `k-rounded-${ROUNDNESS[newValue]}`;
121
+ }
122
+ else {
123
+ roundedClassToAdd = 'k-rounded-none';
124
+ }
125
+ }
116
126
  return {
117
- toRemove: `k-rounded-${ROUNDNESS[previousValue]}`,
118
- toAdd: newValue !== 'none' ? `k-rounded-${ROUNDNESS[newValue]}` : ''
127
+ toRemove: previousValue ? `k-rounded-${ROUNDNESS[previousValue]}` : null,
128
+ toAdd: roundedClassToAdd || null
119
129
  };
120
- case 'fillMode':
130
+ }
131
+ case 'fillMode': {
121
132
  return {
122
- toRemove: `k-${componentType}-${previousValue}`,
123
- toAdd: newValue !== 'none' ? `k-${componentType}-${newValue}` : ''
133
+ toRemove: previousValue ? `k-${componentType}-${previousValue}` : null,
134
+ toAdd: newValue ? `k-${componentType}-${newValue}` : null
124
135
  };
136
+ }
125
137
  default:
126
138
  break;
127
139
  }
@@ -131,10 +143,10 @@ const getStylingClasses = (componentType, stylingOption, previousValue, newValue
131
143
  *
132
144
  * Returns the themeColor classes to be added and removed
133
145
  */
134
- const getThemeColorClasses = (componentType, prevFillMode, fillMode, previousValue, newValue) => {
146
+ const getThemeColorClasses = (componentType, previousValue, newValue) => {
135
147
  return {
136
- toRemove: `k-${componentType}-${prevFillMode}-${previousValue}`,
137
- toAdd: newValue !== 'none' ? `k-${componentType}-${fillMode}-${newValue}` : ''
148
+ toRemove: previousValue ? `k-${componentType}-${previousValue}` : null,
149
+ toAdd: newValue ? `k-${componentType}-${newValue}` : null
138
150
  };
139
151
  };
140
152
  /**
@@ -155,10 +167,6 @@ const toggleClass = (className, add, renderer, element) => {
155
167
  */
156
168
  const isObjectEmpty = (obj) => obj && Object.keys(obj).length === 0 && obj.constructor === Object;
157
169
 
158
- const DEFAULT_ROUNDED$4 = 'medium';
159
- const DEFAULT_SIZE$3 = 'medium';
160
- const DEFAULT_THEME_COLOR$3 = 'base';
161
- const DEFAULT_FILL_MODE$4 = 'solid';
162
170
  /**
163
171
  * Represents the Kendo UI Button component for Angular.
164
172
  *
@@ -273,9 +281,8 @@ class ButtonComponent {
273
281
  * @default 'medium'
274
282
  */
275
283
  set size(size) {
276
- const newSize = size || DEFAULT_SIZE$3;
277
- this.handleClasses(newSize, 'size');
278
- this._size = newSize;
284
+ this.handleClasses(size, 'size');
285
+ this._size = size;
279
286
  }
280
287
  get size() {
281
288
  return this._size;
@@ -287,9 +294,8 @@ class ButtonComponent {
287
294
  * @default 'medium'
288
295
  */
289
296
  set rounded(rounded) {
290
- const newRounded = rounded || DEFAULT_ROUNDED$4;
291
- this.handleClasses(newRounded, 'rounded');
292
- this._rounded = newRounded;
297
+ this.handleClasses(rounded, 'rounded');
298
+ this._rounded = rounded;
293
299
  }
294
300
  get rounded() {
295
301
  return this._rounded;
@@ -301,9 +307,8 @@ class ButtonComponent {
301
307
  * @default 'solid'
302
308
  */
303
309
  set fillMode(fillMode) {
304
- const newFillMode = fillMode || DEFAULT_FILL_MODE$4;
305
- this.handleClasses(newFillMode, 'fillMode');
306
- this._fillMode = newFillMode;
310
+ this.handleClasses(fillMode, 'fillMode');
311
+ this._fillMode = fillMode;
307
312
  }
308
313
  get fillMode() {
309
314
  return this._fillMode;
@@ -316,9 +321,8 @@ class ButtonComponent {
316
321
  * @default 'base'
317
322
  */
318
323
  set themeColor(themeColor) {
319
- const newThemeColor = themeColor || DEFAULT_THEME_COLOR$3;
320
- this.handleThemeColor(newThemeColor);
321
- this._themeColor = newThemeColor;
324
+ this.handleThemeColor(themeColor);
325
+ this._themeColor = themeColor;
322
326
  }
323
327
  get themeColor() {
324
328
  return this._themeColor;
@@ -347,10 +351,10 @@ class ButtonComponent {
347
351
  element;
348
352
  isDisabled = false;
349
353
  caretAltDownIcon = caretAltDownIcon;
350
- _size = DEFAULT_SIZE$3;
351
- _rounded = DEFAULT_ROUNDED$4;
352
- _fillMode = DEFAULT_FILL_MODE$4;
353
- _themeColor = DEFAULT_THEME_COLOR$3;
354
+ _size = undefined;
355
+ _rounded = undefined;
356
+ _fillMode = undefined;
357
+ _themeColor = undefined;
354
358
  _focused = false;
355
359
  direction;
356
360
  _selected;
@@ -446,12 +450,6 @@ class ButtonComponent {
446
450
  this.toggleAriaPressed(this.toggleable);
447
451
  }
448
452
  }
449
- ngAfterViewInit() {
450
- const stylingOptions = ['size', 'rounded', 'fillMode'];
451
- stylingOptions.forEach(input => {
452
- this.handleClasses(this[input], input);
453
- });
454
- }
455
453
  ngOnDestroy() {
456
454
  this.subs.unsubscribe();
457
455
  }
@@ -532,7 +530,7 @@ class ButtonComponent {
532
530
  const elem = this.element;
533
531
  const classes = getStylingClasses('button', input, this[input], value);
534
532
  if (input === 'fillMode') {
535
- this.handleThemeColor(this.themeColor, this[input], value);
533
+ this.handleThemeColor(this.themeColor);
536
534
  }
537
535
  if (classes.toRemove) {
538
536
  this.renderer.removeClass(elem, classes.toRemove);
@@ -541,16 +539,14 @@ class ButtonComponent {
541
539
  this.renderer.addClass(elem, classes.toAdd);
542
540
  }
543
541
  }
544
- handleThemeColor(value, prevFillMode, fillMode) {
542
+ handleThemeColor(value) {
545
543
  const elem = this.element;
546
- const removeFillMode = prevFillMode || this.fillMode;
547
- const addFillMode = fillMode || this.fillMode;
548
- const themeColorClass = getThemeColorClasses('button', removeFillMode, addFillMode, this.themeColor, value);
549
- this.renderer.removeClass(elem, themeColorClass.toRemove);
550
- if (addFillMode !== 'none' && fillMode !== 'none') {
551
- if (themeColorClass.toAdd) {
552
- this.renderer.addClass(elem, themeColorClass.toAdd);
553
- }
544
+ const themeColorClass = getThemeColorClasses('button', this.themeColor, value);
545
+ if (themeColorClass.toRemove) {
546
+ this.renderer.removeClass(elem, themeColorClass.toRemove);
547
+ }
548
+ if (themeColorClass.toAdd) {
549
+ this.renderer.addClass(elem, themeColorClass.toAdd);
554
550
  }
555
551
  }
556
552
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ButtonComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: KendoButtonService, optional: true }, { token: i1.LocalizationService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
@@ -1041,10 +1037,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
1041
1037
  args: ['attr.tabindex']
1042
1038
  }] } });
1043
1039
 
1044
- const DEFAULT_SIZE$2 = 'medium';
1045
- const DEFAULT_ROUNDED$3 = 'medium';
1046
- const DEFAULT_THEME_COLOR$2 = 'base';
1047
- const DEFAULT_FILL_MODE$3 = 'solid';
1048
1040
  /**
1049
1041
  * Displays a Chip that represents an input, attribute, or action.
1050
1042
  *
@@ -1131,12 +1123,9 @@ class ChipComponent {
1131
1123
  * @default 'medium'
1132
1124
  */
1133
1125
  set size(size) {
1134
- const newSize = size || DEFAULT_SIZE$2;
1135
- if (!this.sizeIsSet) {
1136
- this.sizeIsSet = true;
1137
- }
1138
- this.handleClasses(newSize, 'size');
1139
- this._size = newSize;
1126
+ !this.sizeIsSet && (this.sizeIsSet = true);
1127
+ this.handleClasses(size, 'size');
1128
+ this._size = size;
1140
1129
  }
1141
1130
  get size() {
1142
1131
  return this._size;
@@ -1148,9 +1137,8 @@ class ChipComponent {
1148
1137
  * @default 'medium'
1149
1138
  */
1150
1139
  set rounded(rounded) {
1151
- const newRounded = rounded || DEFAULT_ROUNDED$3;
1152
- this.handleClasses(newRounded, 'rounded');
1153
- this._rounded = newRounded;
1140
+ this.handleClasses(rounded, 'rounded');
1141
+ this._rounded = rounded;
1154
1142
  }
1155
1143
  get rounded() {
1156
1144
  return this._rounded;
@@ -1162,9 +1150,8 @@ class ChipComponent {
1162
1150
  * @default 'solid'
1163
1151
  */
1164
1152
  set fillMode(fillMode) {
1165
- const newFillMode = fillMode || DEFAULT_FILL_MODE$3;
1166
- this.handleClasses(newFillMode, 'fillMode');
1167
- this._fillMode = newFillMode;
1153
+ this.handleClasses(fillMode, 'fillMode');
1154
+ this._fillMode = fillMode;
1168
1155
  }
1169
1156
  get fillMode() {
1170
1157
  return this._fillMode;
@@ -1177,9 +1164,8 @@ class ChipComponent {
1177
1164
  * @default 'base'
1178
1165
  */
1179
1166
  set themeColor(themeColor) {
1180
- const newThemeColor = themeColor || DEFAULT_THEME_COLOR$2;
1181
- this.handleThemeColor(newThemeColor);
1182
- this._themeColor = newThemeColor;
1167
+ this.handleThemeColor(themeColor);
1168
+ this._themeColor = themeColor;
1183
1169
  }
1184
1170
  get themeColor() {
1185
1171
  return this._themeColor;
@@ -1228,10 +1214,10 @@ class ChipComponent {
1228
1214
  * @hidden
1229
1215
  */
1230
1216
  sizeIsSet = false;
1231
- _size = 'medium';
1232
- _rounded = 'medium';
1233
- _fillMode = 'solid';
1234
- _themeColor = 'base';
1217
+ _size = undefined;
1218
+ _rounded = undefined;
1219
+ _fillMode = undefined;
1220
+ _themeColor = undefined;
1235
1221
  focused = false;
1236
1222
  subs = new Subscription();
1237
1223
  constructor(element, renderer, ngZone, localizationService) {
@@ -1260,10 +1246,6 @@ class ChipComponent {
1260
1246
  }
1261
1247
  ngAfterViewInit() {
1262
1248
  const chip = this.element.nativeElement;
1263
- const stylingOptions = ['size', 'rounded', 'fillMode'];
1264
- stylingOptions.forEach(input => {
1265
- this.handleClasses(this[input], input);
1266
- });
1267
1249
  this.attachElementEventHandlers(chip);
1268
1250
  }
1269
1251
  /**
@@ -1352,7 +1334,7 @@ class ChipComponent {
1352
1334
  const elem = this.element.nativeElement;
1353
1335
  const classes = getStylingClasses('chip', input, this[input], value);
1354
1336
  if (input === 'fillMode') {
1355
- this.handleThemeColor(this.themeColor, this[input], value);
1337
+ this.handleThemeColor(this.themeColor);
1356
1338
  }
1357
1339
  if (classes.toRemove) {
1358
1340
  this.renderer.removeClass(elem, classes.toRemove);
@@ -1361,16 +1343,14 @@ class ChipComponent {
1361
1343
  this.renderer.addClass(elem, classes.toAdd);
1362
1344
  }
1363
1345
  }
1364
- handleThemeColor(value, prevFillMode, fillMode) {
1346
+ handleThemeColor(value) {
1365
1347
  const elem = this.element.nativeElement;
1366
- const removeFillMode = prevFillMode || this.fillMode;
1367
- const addFillMode = fillMode || this.fillMode;
1368
- const themeColorClass = getThemeColorClasses('chip', removeFillMode, addFillMode, this.themeColor, value);
1369
- this.renderer.removeClass(elem, themeColorClass.toRemove);
1370
- if (addFillMode !== 'none' && fillMode !== 'none') {
1371
- if (themeColorClass.toAdd) {
1372
- this.renderer.addClass(elem, themeColorClass.toAdd);
1373
- }
1348
+ const themeColorClass = getThemeColorClasses('chip', this.themeColor, value);
1349
+ if (themeColorClass.toRemove) {
1350
+ this.renderer.removeClass(elem, themeColorClass.toRemove);
1351
+ }
1352
+ if (themeColorClass.toAdd) {
1353
+ this.renderer.addClass(elem, themeColorClass.toAdd);
1374
1354
  }
1375
1355
  }
1376
1356
  keyDownHandler(e) {
@@ -1651,10 +1631,9 @@ class ChipListComponent {
1651
1631
  * @default 'medium'
1652
1632
  */
1653
1633
  set size(size) {
1654
- const sizeValue = size || 'medium';
1655
- this.handleClasses(sizeValue, 'size');
1656
- this.chips?.forEach(chip => this.setChipSize(chip, sizeValue));
1657
- this._size = sizeValue;
1634
+ this.handleClasses(size, 'size');
1635
+ this.chips?.forEach(chip => this.setChipSize(chip, size));
1636
+ this._size = size;
1658
1637
  }
1659
1638
  get size() {
1660
1639
  return this._size;
@@ -1679,7 +1658,7 @@ class ChipListComponent {
1679
1658
  */
1680
1659
  role = 'listbox';
1681
1660
  dynamicRTLSubscription;
1682
- _size = 'medium';
1661
+ _size = undefined;
1683
1662
  subs = new Subscription();
1684
1663
  _navigable = true;
1685
1664
  /**
@@ -2843,7 +2822,6 @@ const NAVIGATION_SETTINGS_PROVIDER$2 = {
2843
2822
  provide: NAVIGATION_CONFIG,
2844
2823
  useValue: NAVIGATION_SETTINGS$2
2845
2824
  };
2846
- const DEFAULT_FILL_MODE$2 = 'solid';
2847
2825
  /**
2848
2826
  * Represents the Kendo UI DropDownButton component for Angular.
2849
2827
  *
@@ -2912,12 +2890,12 @@ class DropDownButtonComponent extends ListButton {
2912
2890
  * Specifies the padding of the DropDownButton. See [DropDownButton Appearance](slug:appearance_dropdownbutton#size).
2913
2891
  * @default 'medium'
2914
2892
  */
2915
- size = 'medium';
2893
+ size = undefined;
2916
2894
  /**
2917
2895
  * Specifies the border radius of the DropDownButton. See [DropDownButton Appearance](slug:appearance_dropdownbutton#roundness).
2918
2896
  * @default 'medium'
2919
2897
  */
2920
- rounded = 'medium';
2898
+ rounded = undefined;
2921
2899
  /**
2922
2900
  * Specifies the background and border styles of the DropDownButton. See [DropDownButton Appearance](slug:appearance_dropdownbutton#fill-mode).
2923
2901
  * @default 'solid'
@@ -2932,7 +2910,7 @@ class DropDownButtonComponent extends ListButton {
2932
2910
  * Specifies predefined theme colors for the DropDownButton. See [DropDownButton Appearance](slug:appearance_dropdownbutton#theme-colors).
2933
2911
  * @default 'base'
2934
2912
  */
2935
- themeColor = 'base';
2913
+ themeColor = undefined;
2936
2914
  /**
2937
2915
  * Sets attributes for the main button.
2938
2916
  */
@@ -2971,7 +2949,7 @@ class DropDownButtonComponent extends ListButton {
2971
2949
  return this._active;
2972
2950
  }
2973
2951
  itemTemplate;
2974
- _fillMode = DEFAULT_FILL_MODE$2;
2952
+ _fillMode = undefined;
2975
2953
  _buttonAttributes = null;
2976
2954
  documentMouseUpSub;
2977
2955
  /**
@@ -3144,7 +3122,7 @@ class DropDownButtonComponent extends ListButton {
3144
3122
  [size]="size"
3145
3123
  [rounded]="rounded"
3146
3124
  [fillMode]="fillMode"
3147
- [themeColor]="fillMode ? themeColor : null"
3125
+ [themeColor]="themeColor"
3148
3126
  (click)="openPopup()"
3149
3127
  (focus)="handleFocus($event)"
3150
3128
  (blur)="onButtonBlur()"
@@ -3206,7 +3184,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
3206
3184
  [size]="size"
3207
3185
  [rounded]="rounded"
3208
3186
  [fillMode]="fillMode"
3209
- [themeColor]="fillMode ? themeColor : null"
3187
+ [themeColor]="themeColor"
3210
3188
  (click)="openPopup()"
3211
3189
  (focus)="handleFocus($event)"
3212
3190
  (blur)="onButtonBlur()"
@@ -3679,15 +3657,13 @@ const ROUNDED_CLASSES = {
3679
3657
  small: 'k-rounded-sm',
3680
3658
  medium: 'k-rounded-md',
3681
3659
  large: 'k-rounded-lg',
3682
- full: 'k-rounded-full'
3660
+ full: 'k-rounded-full',
3661
+ none: 'k-rounded-none'
3683
3662
  };
3684
- const FILLMODE_CLASS = 'k-fab-solid';
3663
+ const THEME_COLOR_PREFIX = 'k-fab';
3685
3664
  const DEFAULT_DURATION = 180;
3686
3665
  const DEFAULT_ITEM_GAP = 90;
3687
3666
  const DEFAULT_OFFSET = '16px';
3688
- const DEFAULT_ROUNDED$2 = 'full';
3689
- const DEFAULT_SIZE$1 = 'medium';
3690
- const DEFAULT_THEME_COLOR$1 = 'primary';
3691
3667
  /**
3692
3668
  * Represents the Kendo UI FloatingActionButton component for Angular.
3693
3669
  * Use it to represent the primary or most common action in an application.
@@ -3726,9 +3702,8 @@ class FloatingActionButtonComponent {
3726
3702
  * @default "primary"
3727
3703
  */
3728
3704
  set themeColor(themeColor) {
3729
- const newThemeColor = themeColor || DEFAULT_THEME_COLOR$1;
3730
- this.handleClasses(newThemeColor, 'themeColor');
3731
- this._themeColor = newThemeColor;
3705
+ this.handleClasses(themeColor, 'themeColor');
3706
+ this._themeColor = themeColor;
3732
3707
  }
3733
3708
  get themeColor() {
3734
3709
  return this._themeColor;
@@ -3738,9 +3713,8 @@ class FloatingActionButtonComponent {
3738
3713
  * @default "medium"
3739
3714
  */
3740
3715
  set size(size) {
3741
- const newSize = size || DEFAULT_SIZE$1;
3742
- this.handleClasses(newSize, 'size');
3743
- this._size = newSize;
3716
+ this.handleClasses(size, 'size');
3717
+ this._size = size;
3744
3718
  }
3745
3719
  get size() {
3746
3720
  return this._size;
@@ -3751,9 +3725,8 @@ class FloatingActionButtonComponent {
3751
3725
  * @default "full"
3752
3726
  */
3753
3727
  set rounded(rounded) {
3754
- const newRounded = rounded || DEFAULT_ROUNDED$2;
3755
- this.handleClasses(newRounded, 'rounded');
3756
- this._rounded = newRounded;
3728
+ this.handleClasses(rounded, 'rounded');
3729
+ this._rounded = rounded;
3757
3730
  }
3758
3731
  get rounded() {
3759
3732
  return this._rounded;
@@ -3870,9 +3843,9 @@ class FloatingActionButtonComponent {
3870
3843
  * @hidden
3871
3844
  */
3872
3845
  dialListId = `k-dial-list-${guid()}`;
3873
- _themeColor = DEFAULT_THEME_COLOR$1;
3874
- _size = DEFAULT_SIZE$1;
3875
- _rounded = DEFAULT_ROUNDED$2;
3846
+ _themeColor = undefined;
3847
+ _size = undefined;
3848
+ _rounded = undefined;
3876
3849
  _disabled = false;
3877
3850
  _align = { horizontal: 'end', vertical: 'bottom' };
3878
3851
  _offset = { x: DEFAULT_OFFSET, y: DEFAULT_OFFSET };
@@ -4129,12 +4102,12 @@ class FloatingActionButtonComponent {
4129
4102
  if (isPresent(this.button) && (this[input] !== inputValue || this.initialSetup)) {
4130
4103
  const button = this.button.nativeElement;
4131
4104
  const classesToRemove = {
4132
- themeColor: `${FILLMODE_CLASS}-${this.themeColor}`,
4105
+ themeColor: `${THEME_COLOR_PREFIX}-${this.themeColor}`,
4133
4106
  size: SIZE_CLASSES[this.size],
4134
4107
  rounded: ROUNDED_CLASSES[this.rounded]
4135
4108
  };
4136
4109
  const classesToAdd = {
4137
- themeColor: inputValue !== 'none' ? `${FILLMODE_CLASS}-${inputValue}` : '',
4110
+ themeColor: inputValue ? `${THEME_COLOR_PREFIX}-${inputValue}` : '',
4138
4111
  size: SIZE_CLASSES[inputValue],
4139
4112
  rounded: ROUNDED_CLASSES[inputValue]
4140
4113
  };
@@ -4375,20 +4348,20 @@ class FloatingActionButtonComponent {
4375
4348
  }
4376
4349
  ], queries: [{ propertyName: "dialItemTemplate", first: true, predicate: DialItemTemplateDirective, descendants: true }, { propertyName: "fabTemplate", first: true, predicate: FloatingActionButtonTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "button", first: true, predicate: ["button"], descendants: true, static: true }, { propertyName: "popupTemplate", first: true, predicate: ["popupTemplate"], descendants: true, static: true }], ngImport: i0, template: `
4377
4350
  <button
4378
- #button
4379
- [attr.id]="id"
4380
- [tabIndex]="componentTabIndex"
4381
- type="button"
4382
- class="k-fab k-fab-solid"
4383
- [class.k-disabled]="disabled"
4384
- [ngClass]="buttonClass"
4385
- [disabled]="disabled"
4386
- [attr.aria-disabled]="disabled"
4387
- [attr.aria-expanded]="ariaExpanded"
4388
- [attr.aria-haspopup]="ariaHasPopup"
4389
- [attr.aria-controls]="ariaControls"
4390
- (focus)="focusHandler()"
4391
- (blur)="blurHandler($event)"
4351
+ #button
4352
+ [attr.id]="id"
4353
+ [tabIndex]="componentTabIndex"
4354
+ type="button"
4355
+ class="k-fab"
4356
+ [class.k-disabled]="disabled"
4357
+ [ngClass]="buttonClass"
4358
+ [disabled]="disabled"
4359
+ [attr.aria-disabled]="disabled"
4360
+ [attr.aria-expanded]="ariaExpanded"
4361
+ [attr.aria-haspopup]="ariaHasPopup"
4362
+ [attr.aria-controls]="ariaControls"
4363
+ (focus)="focusHandler()"
4364
+ (blur)="blurHandler($event)"
4392
4365
  [kendoEventsOutsideAngular]="{
4393
4366
  keydown: keyDownHandler,
4394
4367
  click: clickHandler,
@@ -4453,20 +4426,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
4453
4426
  ],
4454
4427
  template: `
4455
4428
  <button
4456
- #button
4457
- [attr.id]="id"
4458
- [tabIndex]="componentTabIndex"
4459
- type="button"
4460
- class="k-fab k-fab-solid"
4461
- [class.k-disabled]="disabled"
4462
- [ngClass]="buttonClass"
4463
- [disabled]="disabled"
4464
- [attr.aria-disabled]="disabled"
4465
- [attr.aria-expanded]="ariaExpanded"
4466
- [attr.aria-haspopup]="ariaHasPopup"
4467
- [attr.aria-controls]="ariaControls"
4468
- (focus)="focusHandler()"
4469
- (blur)="blurHandler($event)"
4429
+ #button
4430
+ [attr.id]="id"
4431
+ [tabIndex]="componentTabIndex"
4432
+ type="button"
4433
+ class="k-fab"
4434
+ [class.k-disabled]="disabled"
4435
+ [ngClass]="buttonClass"
4436
+ [disabled]="disabled"
4437
+ [attr.aria-disabled]="disabled"
4438
+ [attr.aria-expanded]="ariaExpanded"
4439
+ [attr.aria-haspopup]="ariaHasPopup"
4440
+ [attr.aria-controls]="ariaControls"
4441
+ (focus)="focusHandler()"
4442
+ (blur)="blurHandler($event)"
4470
4443
  [kendoEventsOutsideAngular]="{
4471
4444
  keydown: keyDownHandler,
4472
4445
  click: clickHandler,
@@ -4699,8 +4672,6 @@ const NAVIGATION_SETTINGS_PROVIDER = {
4699
4672
  provide: NAVIGATION_CONFIG,
4700
4673
  useValue: NAVIGATION_SETTINGS
4701
4674
  };
4702
- const DEFAULT_ROUNDED$1 = 'medium';
4703
- const DEFAULT_FILL_MODE$1 = 'solid';
4704
4675
  /**
4705
4676
  * Represents the Kendo UI SplitButton component for Angular.
4706
4677
  *
@@ -4762,16 +4733,15 @@ class SplitButtonComponent extends ListButton {
4762
4733
  *
4763
4734
  * @default 'medium'
4764
4735
  */
4765
- size = 'medium';
4736
+ size = undefined;
4766
4737
  /**
4767
4738
  * Configures the border radius of the SplitButton ([see example]({% slug api_buttons_splitbuttoncomponent %}#rounded)).
4768
4739
  *
4769
4740
  * @default 'medium'
4770
4741
  */
4771
4742
  set rounded(rounded) {
4772
- const newRounded = rounded || DEFAULT_ROUNDED$1;
4773
- this.handleClasses(newRounded, 'rounded');
4774
- this._rounded = newRounded;
4743
+ this.handleClasses(rounded, 'rounded');
4744
+ this._rounded = rounded;
4775
4745
  }
4776
4746
  get rounded() {
4777
4747
  return this._rounded;
@@ -4782,8 +4752,7 @@ class SplitButtonComponent extends ListButton {
4782
4752
  * @default 'solid'
4783
4753
  */
4784
4754
  set fillMode(fillMode) {
4785
- const newFillMode = fillMode || DEFAULT_FILL_MODE$1;
4786
- this._fillMode = fillMode === 'clear' ? 'flat' : newFillMode;
4755
+ this._fillMode = fillMode === 'clear' ? 'flat' : fillMode;
4787
4756
  }
4788
4757
  get fillMode() {
4789
4758
  return this._fillMode;
@@ -4793,7 +4762,7 @@ class SplitButtonComponent extends ListButton {
4793
4762
  *
4794
4763
  * @default 'base'
4795
4764
  */
4796
- themeColor = 'base';
4765
+ themeColor = undefined;
4797
4766
  /**
4798
4767
  * Disables the SplitButton when set to `true` ([see example]({% slug databinding_splitbutton %}#arrays-of-complex-data)).
4799
4768
  */
@@ -4909,8 +4878,8 @@ class SplitButtonComponent extends ListButton {
4909
4878
  }
4910
4879
  buttonText = '';
4911
4880
  arrowButtonClicked = false;
4912
- _rounded = DEFAULT_ROUNDED$1;
4913
- _fillMode = DEFAULT_FILL_MODE$1;
4881
+ _rounded = undefined;
4882
+ _fillMode = undefined;
4914
4883
  _buttonAttributes = null;
4915
4884
  documentMouseUpSub;
4916
4885
  set isFocused(value) {
@@ -5242,16 +5211,15 @@ class SplitButtonComponent extends ListButton {
5242
5211
  ></button>
5243
5212
  <ng-template #popupTemplate>
5244
5213
  <kendo-button-list
5245
- [id]="listId"
5246
- [data]="data"
5247
- [textField]="textField"
5248
- [itemTemplate]="itemTemplate"
5249
- (onItemClick)="onItemClick($event)"
5250
- (keydown)="keyDownHandler($event)"
5251
- (keyup)="keyUpHandler($event)"
5252
- [attr.dir]="dir"
5253
- [size]="size"
5254
- >
5214
+ [id]="listId"
5215
+ [data]="data"
5216
+ [textField]="textField"
5217
+ [itemTemplate]="itemTemplate"
5218
+ (onItemClick)="onItemClick($event)"
5219
+ (keydown)="keyDownHandler($event)"
5220
+ (keyup)="keyUpHandler($event)"
5221
+ [attr.dir]="dir"
5222
+ >
5255
5223
  </kendo-button-list>
5256
5224
  </ng-template>
5257
5225
  <ng-container #container></ng-container>
@@ -5334,16 +5302,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
5334
5302
  ></button>
5335
5303
  <ng-template #popupTemplate>
5336
5304
  <kendo-button-list
5337
- [id]="listId"
5338
- [data]="data"
5339
- [textField]="textField"
5340
- [itemTemplate]="itemTemplate"
5341
- (onItemClick)="onItemClick($event)"
5342
- (keydown)="keyDownHandler($event)"
5343
- (keyup)="keyUpHandler($event)"
5344
- [attr.dir]="dir"
5345
- [size]="size"
5346
- >
5305
+ [id]="listId"
5306
+ [data]="data"
5307
+ [textField]="textField"
5308
+ [itemTemplate]="itemTemplate"
5309
+ (onItemClick)="onItemClick($event)"
5310
+ (keydown)="keyDownHandler($event)"
5311
+ (keyup)="keyUpHandler($event)"
5312
+ [attr.dir]="dir"
5313
+ >
5347
5314
  </kendo-button-list>
5348
5315
  </ng-template>
5349
5316
  <ng-container #container></ng-container>
@@ -5426,10 +5393,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
5426
5393
  args: ['keyup', ['$event']]
5427
5394
  }] } });
5428
5395
 
5429
- const DEFAULT_ROUNDED = 'medium';
5430
- const DEFAULT_SIZE = 'medium';
5431
- const DEFAULT_THEME_COLOR = 'base';
5432
- const DEFAULT_FILL_MODE = 'solid';
5433
5396
  /**
5434
5397
  * Represents the Kendo UI SpeechToTextButton component for Angular.
5435
5398
  *
@@ -5463,9 +5426,8 @@ class SpeechToTextButtonComponent {
5463
5426
  * @default 'medium'
5464
5427
  */
5465
5428
  set size(size) {
5466
- const newSize = size || DEFAULT_SIZE;
5467
- this.handleClasses(newSize, 'size');
5468
- this._size = newSize;
5429
+ this.handleClasses(size, 'size');
5430
+ this._size = size;
5469
5431
  }
5470
5432
  get size() {
5471
5433
  return this._size;
@@ -5476,9 +5438,8 @@ class SpeechToTextButtonComponent {
5476
5438
  * @default 'medium'
5477
5439
  */
5478
5440
  set rounded(rounded) {
5479
- const newRounded = rounded || DEFAULT_ROUNDED;
5480
- this.handleClasses(newRounded, 'rounded');
5481
- this._rounded = newRounded;
5441
+ this.handleClasses(rounded, 'rounded');
5442
+ this._rounded = rounded;
5482
5443
  }
5483
5444
  get rounded() {
5484
5445
  return this._rounded;
@@ -5489,9 +5450,8 @@ class SpeechToTextButtonComponent {
5489
5450
  * @default 'solid'
5490
5451
  */
5491
5452
  set fillMode(fillMode) {
5492
- const newFillMode = fillMode || DEFAULT_FILL_MODE;
5493
- this.handleClasses(newFillMode, 'fillMode');
5494
- this._fillMode = newFillMode;
5453
+ this.handleClasses(fillMode, 'fillMode');
5454
+ this._fillMode = fillMode;
5495
5455
  }
5496
5456
  get fillMode() {
5497
5457
  return this._fillMode;
@@ -5503,9 +5463,8 @@ class SpeechToTextButtonComponent {
5503
5463
  * @default 'base'
5504
5464
  */
5505
5465
  set themeColor(themeColor) {
5506
- const newThemeColor = themeColor || DEFAULT_THEME_COLOR;
5507
- this.handleThemeColor(newThemeColor);
5508
- this._themeColor = newThemeColor;
5466
+ this.handleThemeColor(themeColor);
5467
+ this._themeColor = themeColor;
5509
5468
  }
5510
5469
  get themeColor() {
5511
5470
  return this._themeColor;
@@ -5645,12 +5604,6 @@ class SpeechToTextButtonComponent {
5645
5604
  }
5646
5605
  }
5647
5606
  }
5648
- ngAfterViewInit() {
5649
- const stylingOptions = ['size', 'rounded', 'fillMode'];
5650
- stylingOptions.forEach(input => {
5651
- this.handleClasses(this[input], input);
5652
- });
5653
- }
5654
5607
  ngOnDestroy() {
5655
5608
  this.destroyWebSpeech();
5656
5609
  this.subs.unsubscribe();
@@ -5748,17 +5701,17 @@ class SpeechToTextButtonComponent {
5748
5701
  microphoneSvgIcon = microphoneOutlineIcon;
5749
5702
  stopSvgIcon = stopSmIcon;
5750
5703
  speechRecognition;
5751
- _size = DEFAULT_SIZE;
5752
- _rounded = DEFAULT_ROUNDED;
5753
- _fillMode = DEFAULT_FILL_MODE;
5754
- _themeColor = DEFAULT_THEME_COLOR;
5704
+ _size = undefined;
5705
+ _rounded = undefined;
5706
+ _fillMode = undefined;
5707
+ _themeColor = undefined;
5755
5708
  _focused = false;
5756
5709
  direction;
5757
5710
  handleClasses(value, input) {
5758
5711
  const elem = this.element;
5759
5712
  const classes = getStylingClasses('button', input, this[input], value);
5760
5713
  if (input === 'fillMode') {
5761
- this.handleThemeColor(this.themeColor, this[input], value);
5714
+ this.handleThemeColor(this.themeColor);
5762
5715
  }
5763
5716
  if (classes.toRemove) {
5764
5717
  this.renderer.removeClass(elem, classes.toRemove);
@@ -5807,16 +5760,12 @@ class SpeechToTextButtonComponent {
5807
5760
  toObservable(input) {
5808
5761
  return input instanceof Observable ? input : from(input);
5809
5762
  }
5810
- handleThemeColor(value, prevFillMode, fillMode) {
5763
+ handleThemeColor(value) {
5811
5764
  const elem = this.element;
5812
- const removeFillMode = prevFillMode || this.fillMode;
5813
- const addFillMode = fillMode || this.fillMode;
5814
- const themeColorClass = getThemeColorClasses('button', removeFillMode, addFillMode, this.themeColor, value);
5765
+ const themeColorClass = getThemeColorClasses('button', this.themeColor, value);
5815
5766
  this.renderer.removeClass(elem, themeColorClass.toRemove);
5816
- if (addFillMode !== 'none' && fillMode !== 'none') {
5817
- if (themeColorClass.toAdd) {
5818
- this.renderer.addClass(elem, themeColorClass.toAdd);
5819
- }
5767
+ if (themeColorClass.toAdd) {
5768
+ this.renderer.addClass(elem, themeColorClass.toAdd);
5820
5769
  }
5821
5770
  }
5822
5771
  destroyWebSpeech() {
@@ -7,7 +7,7 @@ export const packageMetadata = {
7
7
  "productCodes": [
8
8
  "KENDOUIANGULAR"
9
9
  ],
10
- "publishDate": 1770055127,
11
- "version": "22.1.0-develop.17",
10
+ "publishDate": 1770219648,
11
+ "version": "22.1.0-develop.19",
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-buttons",
3
- "version": "22.1.0-develop.17",
3
+ "version": "22.1.0-develop.19",
4
4
  "description": "Buttons Package for Angular",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Progress",
@@ -21,7 +21,7 @@
21
21
  "package": {
22
22
  "productName": "Kendo UI for Angular",
23
23
  "productCode": "KENDOUIANGULAR",
24
- "publishDate": 1770055127,
24
+ "publishDate": 1770219648,
25
25
  "licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
26
26
  }
27
27
  },
@@ -31,15 +31,15 @@
31
31
  "@angular/core": "19 - 21",
32
32
  "@angular/platform-browser": "19 - 21",
33
33
  "@progress/kendo-licensing": "^1.10.0",
34
- "@progress/kendo-angular-common": "22.1.0-develop.17",
35
- "@progress/kendo-angular-l10n": "22.1.0-develop.17",
36
- "@progress/kendo-angular-popup": "22.1.0-develop.17",
37
- "@progress/kendo-angular-icons": "22.1.0-develop.17",
34
+ "@progress/kendo-angular-common": "22.1.0-develop.19",
35
+ "@progress/kendo-angular-l10n": "22.1.0-develop.19",
36
+ "@progress/kendo-angular-popup": "22.1.0-develop.19",
37
+ "@progress/kendo-angular-icons": "22.1.0-develop.19",
38
38
  "rxjs": "^6.5.3 || ^7.0.0"
39
39
  },
40
40
  "dependencies": {
41
41
  "tslib": "^2.3.1",
42
- "@progress/kendo-angular-schematics": "22.1.0-develop.17",
42
+ "@progress/kendo-angular-schematics": "22.1.0-develop.19",
43
43
  "@progress/kendo-common": "^1.0.1",
44
44
  "@progress/kendo-webspeech-common": "1.0.1"
45
45
  },
@@ -131,7 +131,6 @@ export declare class SpeechToTextButtonComponent implements OnInit, OnDestroy {
131
131
  blur(): void;
132
132
  ngOnInit(): void;
133
133
  ngOnChanges(changes: any): void;
134
- ngAfterViewInit(): void;
135
134
  ngOnDestroy(): void;
136
135
  constructor(element: ElementRef, renderer: Renderer2, localization: LocalizationService, ngZone: NgZone);
137
136
  /**
package/util.d.ts CHANGED
@@ -27,7 +27,7 @@ export declare const SIZES: {
27
27
  /**
28
28
  * @hidden
29
29
  *
30
- * Returns the styling classes to be added and removed
30
+ * Returns the styling classes to be added and removed.
31
31
  */
32
32
  export declare const getStylingClasses: (componentType: any, stylingOption: string, previousValue: any, newValue: any) => ButtonStylingClasses;
33
33
  /**
@@ -35,7 +35,7 @@ export declare const getStylingClasses: (componentType: any, stylingOption: stri
35
35
  *
36
36
  * Returns the themeColor classes to be added and removed
37
37
  */
38
- export declare const getThemeColorClasses: (componentType: any, prevFillMode: any, fillMode: any, previousValue: any, newValue: any) => ButtonStylingClasses;
38
+ export declare const getThemeColorClasses: (componentType: any, previousValue: any, newValue: any) => ButtonStylingClasses;
39
39
  /**
40
40
  * @hidden
41
41
  */