@progress/kendo-angular-buttons 6.4.1 → 7.0.0-dev.202201061631

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.
Files changed (82) hide show
  1. package/dist/cdn/js/kendo-angular-buttons.js +2 -2
  2. package/dist/cdn/main.js +1 -1
  3. package/dist/es/button/button.directive.js +239 -89
  4. package/dist/es/button/button.service.js +1 -5
  5. package/dist/es/buttongroup/buttongroup.component.js +1 -53
  6. package/dist/es/chip/chip-list.component.js +54 -7
  7. package/dist/es/chip/chip.component.js +175 -86
  8. package/dist/es/{chip/models/chip-look.js → common/models/fillmode.js} +0 -0
  9. package/dist/es/{chip/models/type.js → common/models/rounded.js} +0 -0
  10. package/dist/{es2015/button-look.js → es/common/models/styling-classes.js} +0 -0
  11. package/dist/es/{button-look.js → common/models.js} +0 -0
  12. package/dist/es/dropdownbutton/dropdownbutton.component.js +74 -33
  13. package/dist/es/floatingactionbutton/dial-item.component.js +1 -1
  14. package/dist/es/floatingactionbutton/floatingactionbutton.component.js +66 -41
  15. package/dist/es/focusable/focusable.directive.js +4 -4
  16. package/dist/es/listbutton/list-button.js +1 -1
  17. package/dist/es/listbutton/list.component.js +20 -1
  18. package/dist/es/package-metadata.js +1 -1
  19. package/dist/es/splitbutton/splitbutton.component.js +62 -29
  20. package/dist/es/util.js +52 -0
  21. package/dist/es2015/button/button.directive.d.ts +85 -22
  22. package/dist/es2015/button/button.directive.js +222 -85
  23. package/dist/es2015/button/button.service.d.ts +1 -4
  24. package/dist/es2015/button/button.service.js +1 -5
  25. package/dist/es2015/buttongroup/buttongroup.component.d.ts +0 -15
  26. package/dist/es2015/buttongroup/buttongroup.component.js +1 -41
  27. package/dist/es2015/chip/chip-list.component.d.ts +19 -3
  28. package/dist/es2015/chip/chip-list.component.js +49 -7
  29. package/dist/es2015/chip/chip.component.d.ts +67 -32
  30. package/dist/es2015/chip/chip.component.js +186 -97
  31. package/dist/es2015/common/models/fillmode.d.ts +12 -0
  32. package/dist/es2015/{chip/models/type.js → common/models/fillmode.js} +0 -0
  33. package/dist/es2015/common/models/rounded.d.ts +12 -0
  34. package/dist/es2015/common/models/rounded.js +4 -0
  35. package/dist/es2015/common/models/shape.d.ts +2 -9
  36. package/dist/es2015/common/models/size.d.ts +9 -6
  37. package/dist/es2015/common/models/styling-classes.d.ts +11 -0
  38. package/dist/es2015/common/models/styling-classes.js +4 -0
  39. package/dist/es2015/common/models/theme-color.d.ts +15 -4
  40. package/dist/es2015/common/models.d.ts +10 -0
  41. package/dist/es2015/{chip/models/chip-look.js → common/models.js} +0 -0
  42. package/dist/es2015/dropdownbutton/dropdownbutton.component.d.ts +58 -7
  43. package/dist/es2015/dropdownbutton/dropdownbutton.component.js +81 -28
  44. package/dist/es2015/floatingactionbutton/dial-item.component.js +1 -1
  45. package/dist/es2015/floatingactionbutton/floatingactionbutton.component.d.ts +28 -21
  46. package/dist/es2015/floatingactionbutton/floatingactionbutton.component.js +62 -42
  47. package/dist/es2015/focusable/focusable.directive.js +4 -4
  48. package/dist/es2015/index.metadata.json +1 -1
  49. package/dist/es2015/listbutton/list-button.js +1 -1
  50. package/dist/es2015/listbutton/list.component.d.ts +3 -0
  51. package/dist/es2015/listbutton/list.component.js +37 -20
  52. package/dist/es2015/main.d.ts +4 -4
  53. package/dist/es2015/package-metadata.js +1 -1
  54. package/dist/es2015/splitbutton/splitbutton.component.d.ts +48 -5
  55. package/dist/es2015/splitbutton/splitbutton.component.js +76 -25
  56. package/dist/es2015/util.d.ts +21 -0
  57. package/dist/es2015/util.js +52 -0
  58. package/dist/fesm2015/index.js +809 -393
  59. package/dist/fesm5/index.js +795 -396
  60. package/dist/npm/button/button.directive.js +239 -89
  61. package/dist/npm/button/button.service.js +0 -4
  62. package/dist/npm/buttongroup/buttongroup.component.js +1 -53
  63. package/dist/npm/chip/chip-list.component.js +52 -5
  64. package/dist/npm/chip/chip.component.js +173 -84
  65. package/dist/npm/{chip/models/chip-look.js → common/models/fillmode.js} +0 -0
  66. package/dist/npm/{chip/models/type.js → common/models/rounded.js} +0 -0
  67. package/dist/npm/common/models/styling-classes.js +6 -0
  68. package/dist/npm/{button-look.js → common/models.js} +0 -0
  69. package/dist/npm/dropdownbutton/dropdownbutton.component.js +74 -33
  70. package/dist/npm/floatingactionbutton/dial-item.component.js +1 -1
  71. package/dist/npm/floatingactionbutton/floatingactionbutton.component.js +66 -41
  72. package/dist/npm/focusable/focusable.directive.js +4 -4
  73. package/dist/npm/listbutton/list-button.js +1 -1
  74. package/dist/npm/listbutton/list.component.js +20 -1
  75. package/dist/npm/package-metadata.js +1 -1
  76. package/dist/npm/splitbutton/splitbutton.component.js +62 -29
  77. package/dist/npm/util.js +52 -0
  78. package/dist/systemjs/kendo-angular-buttons.js +1 -1
  79. package/package.json +12 -9
  80. package/dist/es2015/button-look.d.ts +0 -21
  81. package/dist/es2015/chip/models/chip-look.d.ts +0 -20
  82. package/dist/es2015/chip/models/type.d.ts +0 -21
@@ -72,17 +72,70 @@ var DropDownButtonComponent = /** @class */ (function (_super) {
72
72
  */
73
73
  _this.imageUrl = '';
74
74
  /**
75
- * Adds visual weight to the default button and makes it primary.
75
+ * The size property specifies the width and height of the DropDownButton
76
+ * ([see example]({% slug api_buttons_dropdownbuttoncomponent %}#toc-size)).
77
+ *
78
+ * The possible values are:
79
+ * * `'small'`
80
+ * * `'medium'` (default)
81
+ * * `'large'`
82
+ * * `null`
76
83
  */
77
- _this.primary = false;
84
+ _this.size = 'medium';
78
85
  /**
79
- * Changes the visual appearance by using alternative styling options.
86
+ * The shape property specifies if the DropDownButton will be a square or rectangle.
87
+ * ([see example]({% slug api_buttons_dropdownbuttoncomponent %}#toc-shape)).
88
+ *
89
+ * The possible values are:
90
+ * * `'rectangle'` (default)
91
+ * * `'square'`
92
+ * * `null`
93
+ */
94
+ _this.shape = 'rectangle';
95
+ /**
96
+ * The rounded property specifies the border radius of the DropDownButton
97
+ * ([see example]({% slug api_buttons_dropdownbuttoncomponent %}#toc-rounded)).
98
+ *
99
+ * The possible values are:
100
+ * * `'small'`
101
+ * * `'medium'` (default)
102
+ * * `'large'`
103
+ * * `'full'`
104
+ * * `null`
105
+ */
106
+ _this.rounded = 'medium';
107
+ /**
108
+ * The fillMode property specifies the background and border styles of the DropDownButton
109
+ * ([see example]({% slug api_buttons_dropdownbuttoncomponent %}#toc-fillMode)).
80
110
  *
81
111
  * The available values are:
112
+ * * `solid` (default)
82
113
  * * `flat`
83
114
  * * `outline`
115
+ * * `link`
116
+ * * `null`
117
+ */
118
+ _this.fillMode = 'solid';
119
+ /**
120
+ * The DropDownButton allows you to specify predefined theme colors.
121
+ * The theme color will be applied as a background and border color while also amending the text color accordingly
122
+ * ([see example]({% slug api_buttons_dropdownbuttoncomponent %}#toc-themeColor)).
123
+ *
124
+ * The possible values are:
125
+ * * `base` —Applies coloring based on the `base` theme color. (default)
126
+ * * `primary` —Applies coloring based on the `primary` theme color.
127
+ * * `secondary`—Applies coloring based on the `secondary` theme color.
128
+ * * `tertiary`— Applies coloring based on the `tertiary` theme color.
129
+ * * `info`—Applies coloring based on the `info` theme color.
130
+ * * `success`— Applies coloring based on the `success` theme color.
131
+ * * `warning`— Applies coloring based on the `warning` theme color.
132
+ * * `error`— Applies coloring based on the `error` theme color.
133
+ * * `dark`— Applies coloring based on the `dark` theme color.
134
+ * * `light`— Applies coloring based on the `light` theme color.
135
+ * * `inverse`— Applies coloring based on the `inverse` theme color.
136
+ * * `null` —Removes the default CSS class (no class would be rendered).
84
137
  */
85
- _this.look = 'default';
138
+ _this.themeColor = 'base';
86
139
  /**
87
140
  * Specifies the [`tabIndex`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of the component.
88
141
  */
@@ -221,20 +274,6 @@ var DropDownButtonComponent = /** @class */ (function (_super) {
221
274
  enumerable: true,
222
275
  configurable: true
223
276
  });
224
- Object.defineProperty(DropDownButtonComponent.prototype, "isFlat", {
225
- get: function () {
226
- return this.look === 'flat';
227
- },
228
- enumerable: true,
229
- configurable: true
230
- });
231
- Object.defineProperty(DropDownButtonComponent.prototype, "isOutline", {
232
- get: function () {
233
- return this.look === 'outline';
234
- },
235
- enumerable: true,
236
- configurable: true
237
- });
238
277
  Object.defineProperty(DropDownButtonComponent.prototype, "widgetClasses", {
239
278
  get: function () {
240
279
  return true;
@@ -512,12 +551,24 @@ var DropDownButtonComponent = /** @class */ (function (_super) {
512
551
  ], DropDownButtonComponent.prototype, "data", null);
513
552
  tslib_1.__decorate([
514
553
  Input(),
515
- tslib_1.__metadata("design:type", Boolean)
516
- ], DropDownButtonComponent.prototype, "primary", void 0);
554
+ tslib_1.__metadata("design:type", String)
555
+ ], DropDownButtonComponent.prototype, "size", void 0);
556
+ tslib_1.__decorate([
557
+ Input(),
558
+ tslib_1.__metadata("design:type", String)
559
+ ], DropDownButtonComponent.prototype, "shape", void 0);
560
+ tslib_1.__decorate([
561
+ Input(),
562
+ tslib_1.__metadata("design:type", String)
563
+ ], DropDownButtonComponent.prototype, "rounded", void 0);
564
+ tslib_1.__decorate([
565
+ Input(),
566
+ tslib_1.__metadata("design:type", String)
567
+ ], DropDownButtonComponent.prototype, "fillMode", void 0);
517
568
  tslib_1.__decorate([
518
569
  Input(),
519
570
  tslib_1.__metadata("design:type", String)
520
- ], DropDownButtonComponent.prototype, "look", void 0);
571
+ ], DropDownButtonComponent.prototype, "themeColor", void 0);
521
572
  tslib_1.__decorate([
522
573
  Input(),
523
574
  tslib_1.__metadata("design:type", Object)
@@ -547,20 +598,10 @@ var DropDownButtonComponent = /** @class */ (function (_super) {
547
598
  tslib_1.__metadata("design:type", EventEmitter)
548
599
  ], DropDownButtonComponent.prototype, "onBlur", void 0);
549
600
  tslib_1.__decorate([
550
- HostBinding('class.k-state-focused'),
601
+ HostBinding('class.k-focus'),
551
602
  tslib_1.__metadata("design:type", Boolean),
552
603
  tslib_1.__metadata("design:paramtypes", [])
553
604
  ], DropDownButtonComponent.prototype, "focused", null);
554
- tslib_1.__decorate([
555
- HostBinding('class.k-flat'),
556
- tslib_1.__metadata("design:type", Boolean),
557
- tslib_1.__metadata("design:paramtypes", [])
558
- ], DropDownButtonComponent.prototype, "isFlat", null);
559
- tslib_1.__decorate([
560
- HostBinding('class.k-outline'),
561
- tslib_1.__metadata("design:type", Boolean),
562
- tslib_1.__metadata("design:paramtypes", [])
563
- ], DropDownButtonComponent.prototype, "isOutline", null);
564
605
  tslib_1.__decorate([
565
606
  HostBinding('class.k-dropdown-button'),
566
607
  tslib_1.__metadata("design:type", Boolean),
@@ -635,7 +676,7 @@ var DropDownButtonComponent = /** @class */ (function (_super) {
635
676
  }
636
677
  ],
637
678
  selector: 'kendo-dropdownbutton',
638
- template: "\n <button kendoButton #button\n role=\"menu\"\n type=\"button\"\n [tabindex]=\"componentTabIndex\"\n [class.k-state-active]=\"active\"\n [disabled]=\"disabled\"\n [icon]=\"icon\"\n [iconClass]=\"iconClass\"\n [imageUrl]=\"imageUrl\"\n [ngClass]=\"buttonClass\"\n (click)=\"openPopup()\"\n (focus)=\"handleFocus()\"\n (blur)=\"onButtonBlur()\"\n [attr.aria-disabled]=\"disabled\"\n [attr.aria-expanded]=\"openState\"\n [attr.aria-haspopup]=\"true\"\n [attr.aria-owns]=\"listId\"\n [look]=\"look\"\n [primary]=\"primary\"\n >\n <ng-content></ng-content>\n </button>\n <ng-template #popupTemplate>\n <kendo-button-list\n #buttonList\n [id]=\"listId\"\n [data]=\"data\"\n [textField]=\"textField\"\n [itemTemplate]=\"itemTemplate\"\n (onItemClick)=\"onItemClick($event)\"\n (keydown)=\"keyDownHandler($event)\"\n (keypress)=\"keyPressHandler($event)\"\n (keyup)=\"keyUpHandler($event)\"\n [attr.dir]=\"dir\"\n >\n </kendo-button-list>\n </ng-template>\n <ng-container #container></ng-container>\n "
679
+ template: "\n <button kendoButton #button\n role=\"menu\"\n type=\"button\"\n [tabindex]=\"componentTabIndex\"\n [class.k-active]=\"active\"\n [disabled]=\"disabled\"\n [icon]=\"icon\"\n [iconClass]=\"iconClass\"\n [imageUrl]=\"imageUrl\"\n [ngClass]=\"buttonClass\"\n [size]=\"size\"\n [shape]=\"shape\"\n [rounded]=\"rounded\"\n [fillMode]=\"fillMode\"\n [themeColor]=\"fillMode ? themeColor : null\"\n (click)=\"openPopup()\"\n (focus)=\"handleFocus()\"\n (blur)=\"onButtonBlur()\"\n [attr.aria-disabled]=\"disabled\"\n [attr.aria-expanded]=\"openState\"\n [attr.aria-haspopup]=\"true\"\n [attr.aria-owns]=\"listId\"\n >\n <ng-content></ng-content>\n </button>\n <ng-template #popupTemplate>\n <kendo-button-list\n #buttonList\n [id]=\"listId\"\n [data]=\"data\"\n [textField]=\"textField\"\n [itemTemplate]=\"itemTemplate\"\n (onItemClick)=\"onItemClick($event)\"\n (keydown)=\"keyDownHandler($event)\"\n (keypress)=\"keyPressHandler($event)\"\n (keyup)=\"keyUpHandler($event)\"\n [attr.dir]=\"dir\"\n [size]=\"size\"\n >\n </kendo-button-list>\n </ng-template>\n <ng-container #container></ng-container>\n "
639
680
  }),
640
681
  tslib_1.__metadata("design:paramtypes", [FocusService,
641
682
  NavigationService,
@@ -86,7 +86,7 @@ var DialItemComponent = /** @class */ (function () {
86
86
  ], DialItemComponent.prototype, "role", void 0);
87
87
  tslib_1.__decorate([
88
88
  HostBinding('attr.aria-disabled'),
89
- HostBinding('class.k-state-disabled'),
89
+ HostBinding('class.k-disabled'),
90
90
  tslib_1.__metadata("design:type", Boolean),
91
91
  tslib_1.__metadata("design:paramtypes", [])
92
92
  ], DialItemComponent.prototype, "disabledClass", null);
@@ -36,12 +36,16 @@ var SIZE_CLASSES = {
36
36
  large: 'k-fab-lg'
37
37
  };
38
38
  var SHAPE_CLASSES = {
39
- pill: 'k-fab-pill',
40
- circle: 'k-fab-circle',
41
39
  rectangle: 'k-fab-rectangle',
42
- square: 'k-fab-square',
43
- rounded: 'k-fab-rounded'
40
+ square: 'k-fab-square'
44
41
  };
42
+ var ROUNDED_CLASSES = {
43
+ small: 'k-rounded-sm',
44
+ medium: 'k-rounded-md',
45
+ large: 'k-rounded-lg',
46
+ full: 'k-rounded-full'
47
+ };
48
+ var FILLMODE_CLASS = 'k-fab-solid';
45
49
  var DEFAULT_DURATION = 180;
46
50
  var DEFAULT_ITEM_GAP = 90;
47
51
  var DEFAULT_OFFSET = '16px';
@@ -122,13 +126,15 @@ var FloatingActionButtonComponent = /** @class */ (function () {
122
126
  this.id = "k-" + guid();
123
127
  this._themeColor = 'primary';
124
128
  this._size = 'medium';
125
- this._shape = 'pill';
129
+ this._shape = 'rectangle';
126
130
  this._disabled = false;
127
131
  this._align = { horizontal: 'end', vertical: 'bottom' };
128
132
  this._offset = { x: DEFAULT_OFFSET, y: DEFAULT_OFFSET };
133
+ this._rounded = 'full';
129
134
  this.subscriptions = new Subscription();
130
135
  this.rtl = false;
131
136
  this.animationEnd = new EventEmitter();
137
+ this.initialSetup = true;
132
138
  validatePackage(packageMetadata);
133
139
  this.subscribeNavigationEvents();
134
140
  this.subscriptions.add(this.localizationService.changes.subscribe(function (_a) {
@@ -161,18 +167,16 @@ var FloatingActionButtonComponent = /** @class */ (function () {
161
167
  * The theme color will be applied as background color of the component.
162
168
  *
163
169
  * The possible values are:
164
- * * `primary` (Default)&mdash;Applies coloring based on the `primary` theme color.
165
- * * `secondary`&mdash;Applies coloring based on the `secondary` theme color.
166
- * * `tertiary`&mdash; Applies coloring based on the `tertiary` theme color.
167
- * * `inherit`&mdash; Applies inherited coloring value.
168
- * * `info`&mdash;Applies coloring based on the `info` theme color.
169
- * * `success`&mdash; Applies coloring based on the `success` theme color.
170
- * * `warning`&mdash; Applies coloring based on the `warning` theme color.
171
- * * `error`&mdash; Applies coloring based on the `error` theme color.
172
- * * `dark`&mdash; Applies coloring based on the `dark` theme color.
173
- * * `light`&mdash; Applies coloring based on the `light` theme color.
174
- * * `inverse`&mdash; Applies coloring based on the `inverse` theme color.
175
- *
170
+ * * `'primary'` (Default)&mdash;Applies coloring based on the `primary` theme color.
171
+ * * `'secondary'`&mdash;Applies coloring based on the `secondary` theme color.
172
+ * * `'tertiary'`&mdash; Applies coloring based on the `tertiary` theme color.
173
+ * * `'info'`&mdash;Applies coloring based on the `info` theme color.
174
+ * * `'success'`&mdash; Applies coloring based on the `success` theme color.
175
+ * * `'warning'`&mdash; Applies coloring based on the `warning` theme color.
176
+ * * `'error'`&mdash; Applies coloring based on the `error` theme color.
177
+ * * `'dark'`&mdash; Applies coloring based on the `dark` theme color.
178
+ * * `'light'`&mdash; Applies coloring based on the `light` theme color.
179
+ * * `'inverse'`&mdash; Applies coloring based on the `inverse` theme color.
176
180
  */
177
181
  set: function (themeColor) {
178
182
  this.handleClasses(themeColor, 'themeColor');
@@ -190,10 +194,9 @@ var FloatingActionButtonComponent = /** @class */ (function () {
190
194
  * ([see example]({% slug appearance_floatingactionbutton %}#toc-size)).
191
195
  *
192
196
  * The possible values are:
193
- * * `small`
194
- * * `medium` (Default)
195
- * * `large`
196
- *
197
+ * * `'small'`
198
+ * * `'medium'` (Default)
199
+ * * `'large'`
197
200
  */
198
201
  set: function (size) {
199
202
  this.handleClasses(size, 'size');
@@ -202,6 +205,27 @@ var FloatingActionButtonComponent = /** @class */ (function () {
202
205
  enumerable: true,
203
206
  configurable: true
204
207
  });
208
+ Object.defineProperty(FloatingActionButtonComponent.prototype, "rounded", {
209
+ get: function () {
210
+ return this._rounded;
211
+ },
212
+ /**
213
+ * The rounded property specifies the border radius of the FloatingActionButton.
214
+ *
215
+ * The possible values are:
216
+ * * `'small'`
217
+ * * `'medium'`
218
+ * * `'large'`
219
+ * * `'full'` (default)
220
+ * * `null`
221
+ */
222
+ set: function (rounded) {
223
+ this.handleClasses(rounded, 'rounded');
224
+ this._rounded = rounded;
225
+ },
226
+ enumerable: true,
227
+ configurable: true
228
+ });
205
229
  Object.defineProperty(FloatingActionButtonComponent.prototype, "shape", {
206
230
  get: function () {
207
231
  return this._shape;
@@ -211,10 +235,7 @@ var FloatingActionButtonComponent = /** @class */ (function () {
211
235
  * ([see example]({% slug appearance_floatingactionbutton %}#toc-shape)).
212
236
  *
213
237
  * The possible values are:
214
- * * `pill` (Default)&mdash;Applies border radius equal to half of the height of the FloatingActionButton.
215
- * * `circle`&mdash;Applies circle shape on the FloatingActionButton.
216
- * * `rectangle`&mdash;Applies rectangular shape on the FloatingActionButton.
217
- * * `rounded`&mdash;Applies rounded shape on the FloatingActionButton.
238
+ * * `rectangle` (Default)&mdash;Applies rectangular shape on the FloatingActionButton.
218
239
  * * `square`&mdash;Applies square shape on the FloatingActionButton.
219
240
  *
220
241
  */
@@ -288,8 +309,11 @@ var FloatingActionButtonComponent = /** @class */ (function () {
288
309
  configurable: true
289
310
  });
290
311
  FloatingActionButtonComponent.prototype.ngAfterViewInit = function () {
291
- this.applyClasses();
312
+ var _this = this;
313
+ ['shape', 'size', 'rounded', 'themeColor'].forEach(function (option) { return _this.handleClasses(_this[option], option); });
314
+ this.renderer.addClass(this.element.nativeElement, this.alignClass());
292
315
  this.offsetStyles();
316
+ this.initialSetup = false;
293
317
  };
294
318
  FloatingActionButtonComponent.prototype.ngOnDestroy = function () {
295
319
  this.subscriptions.unsubscribe();
@@ -453,20 +477,24 @@ var FloatingActionButtonComponent = /** @class */ (function () {
453
477
  this.toggleDialWithEvents(false);
454
478
  };
455
479
  FloatingActionButtonComponent.prototype.handleClasses = function (inputValue, input) {
456
- if (isPresent(this.button) && (this[input] !== inputValue)) {
480
+ if (isPresent(this.button) && (this[input] !== inputValue || this.initialSetup)) {
457
481
  var button = this.button.nativeElement;
458
482
  var classesToRemove = {
459
- themeColor: "k-fab-" + this.themeColor,
483
+ themeColor: FILLMODE_CLASS + "-" + this.themeColor,
460
484
  size: SIZE_CLASSES[this.size],
461
- shape: SHAPE_CLASSES[this.shape]
485
+ shape: SHAPE_CLASSES[this.shape],
486
+ rounded: ROUNDED_CLASSES[this.rounded]
462
487
  };
463
488
  var classesToAdd = {
464
- themeColor: "k-fab-" + inputValue,
489
+ themeColor: inputValue ? FILLMODE_CLASS + "-" + inputValue : null,
465
490
  size: SIZE_CLASSES[inputValue],
466
- shape: SHAPE_CLASSES[inputValue]
491
+ shape: SHAPE_CLASSES[inputValue],
492
+ rounded: ROUNDED_CLASSES[inputValue]
467
493
  };
468
494
  this.renderer.removeClass(button, classesToRemove[input]);
469
- this.renderer.addClass(button, classesToAdd[input]);
495
+ if (classesToAdd[input]) {
496
+ this.renderer.addClass(button, classesToAdd[input]);
497
+ }
470
498
  }
471
499
  };
472
500
  FloatingActionButtonComponent.prototype.onEnterPressed = function () {
@@ -523,14 +551,6 @@ var FloatingActionButtonComponent = /** @class */ (function () {
523
551
  FloatingActionButtonComponent.prototype.alignClass = function () {
524
552
  return "k-pos-" + this.align.vertical + "-" + this.align.horizontal;
525
553
  };
526
- FloatingActionButtonComponent.prototype.applyClasses = function () {
527
- var hostElement = this.element.nativeElement;
528
- var button = this.button.nativeElement;
529
- this.renderer.addClass(button, SHAPE_CLASSES[this.shape]);
530
- this.renderer.addClass(button, "k-fab-" + this.themeColor);
531
- this.renderer.addClass(button, SIZE_CLASSES[this.size]);
532
- this.renderer.addClass(hostElement, this.alignClass());
533
- };
534
554
  FloatingActionButtonComponent.prototype.toggleDialWithEvents = function (open) {
535
555
  if (open === this.isOpen) {
536
556
  return;
@@ -772,6 +792,11 @@ var FloatingActionButtonComponent = /** @class */ (function () {
772
792
  tslib_1.__metadata("design:type", String),
773
793
  tslib_1.__metadata("design:paramtypes", [String])
774
794
  ], FloatingActionButtonComponent.prototype, "size", null);
795
+ tslib_1.__decorate([
796
+ Input(),
797
+ tslib_1.__metadata("design:type", String),
798
+ tslib_1.__metadata("design:paramtypes", [String])
799
+ ], FloatingActionButtonComponent.prototype, "rounded", null);
775
800
  tslib_1.__decorate([
776
801
  Input(),
777
802
  tslib_1.__metadata("design:type", String),
@@ -861,7 +886,7 @@ var FloatingActionButtonComponent = /** @class */ (function () {
861
886
  useValue: 'kendo.floatingactionbutton'
862
887
  }
863
888
  ],
864
- template: "\n <button\n #button\n [attr.id]=\"id\"\n [attr.role]=\"role\"\n [tabIndex]=\"componentTabIndex\"\n type=\"button\"\n [class.k-fab]=\"true\"\n [class.k-state-disabled]=\"disabled\"\n [ngClass]=\"buttonClass\"\n [disabled]=\"disabled\"\n [attr.aria-disabled]=\"disabled\"\n [attr.aria-expanded]=\"ariaExpanded\"\n [attr.aria-haspopup]=\"ariaHasPopup\"\n (focus)=\"focusHandler()\"\n (blur)=\"blurHandler()\"\n [kendoEventsOutsideAngular]=\"{\n keydown: keyDownHandler,\n click: clickHandler\n }\"\n [scope]=\"this\"\n >\n <ng-template *ngIf=\"fabTemplate\"\n [ngTemplateOutlet]=\"fabTemplate?.templateRef\"\n >\n </ng-template>\n\n <ng-container *ngIf=\"!fabTemplate\">\n <span *ngIf=\"icon || iconClass\" [ngClass]=\"iconClasses\"></span>\n <span *ngIf=\"text\" class=\"k-fab-text\">{{ text }}</span>\n </ng-container>\n </button>\n\n <ng-template #popupTemplate>\n <ul\n kendoDialList\n [ngClass]=\"dialClass\"\n [dialItems]=\"dialItems\"\n [dialItemTemplate]='dialItemTemplate?.templateRef'\n [align]=\"align\"\n [attr.aria-labelledby]=\"id\"\n (click)=\"onItemClick($event)\"\n >\n </ul>\n </ng-template>\n "
889
+ template: "\n <button\n #button\n [attr.id]=\"id\"\n [attr.role]=\"role\"\n [tabIndex]=\"componentTabIndex\"\n type=\"button\"\n class=\"k-fab k-fab-solid\"\n [class.k-disabled]=\"disabled\"\n [ngClass]=\"buttonClass\"\n [disabled]=\"disabled\"\n [attr.aria-disabled]=\"disabled\"\n [attr.aria-expanded]=\"ariaExpanded\"\n [attr.aria-haspopup]=\"ariaHasPopup\"\n (focus)=\"focusHandler()\"\n (blur)=\"blurHandler()\"\n [kendoEventsOutsideAngular]=\"{\n keydown: keyDownHandler,\n click: clickHandler\n }\"\n [scope]=\"this\"\n >\n <ng-template *ngIf=\"fabTemplate\"\n [ngTemplateOutlet]=\"fabTemplate?.templateRef\"\n >\n </ng-template>\n\n <ng-container *ngIf=\"!fabTemplate\">\n <span *ngIf=\"icon || iconClass\" [ngClass]=\"iconClasses\"></span>\n <span *ngIf=\"text\" class=\"k-fab-text\">{{ text }}</span>\n </ng-container>\n </button>\n\n <ng-template #popupTemplate>\n <ul\n kendoDialList\n [ngClass]=\"dialClass\"\n [dialItems]=\"dialItems\"\n [dialItemTemplate]='dialItemTemplate?.templateRef'\n [align]=\"align\"\n [attr.aria-labelledby]=\"id\"\n (click)=\"onItemClick($event)\"\n >\n </ul>\n </ng-template>\n "
865
890
  }),
866
891
  tslib_1.__metadata("design:paramtypes", [Renderer2,
867
892
  ElementRef,
@@ -18,10 +18,10 @@ var FocusableDirective = /** @class */ (function () {
18
18
  }
19
19
  FocusableDirective.prototype.ngOnInit = function () {
20
20
  if (this.index === this.focusService.focused) {
21
- this.renderer.addClass(this.element, 'k-state-focused');
21
+ this.renderer.addClass(this.element, 'k-focus');
22
22
  }
23
23
  else {
24
- this.renderer.removeClass(this.element, 'k-state-focused');
24
+ this.renderer.removeClass(this.element, 'k-focus');
25
25
  }
26
26
  };
27
27
  /**
@@ -37,11 +37,11 @@ var FocusableDirective = /** @class */ (function () {
37
37
  }
38
38
  this.focusSubscription = this.focusService.onFocus.subscribe(function (index) {
39
39
  if (_this.index === index) {
40
- _this.renderer.addClass(_this.element, 'k-state-focused');
40
+ _this.renderer.addClass(_this.element, 'k-focus');
41
41
  _this.element.focus();
42
42
  }
43
43
  else {
44
- _this.renderer.removeClass(_this.element, 'k-state-focused');
44
+ _this.renderer.removeClass(_this.element, 'k-focus');
45
45
  }
46
46
  });
47
47
  };
@@ -37,7 +37,7 @@ var ListButton = /** @class */ (function () {
37
37
  }
38
38
  Object.defineProperty(ListButton.prototype, "popupClasses", {
39
39
  get: function () {
40
- var popupClasses = ['k-list-container', 'k-reset', 'k-group'];
40
+ var popupClasses = ['k-menu-popup'];
41
41
  if (this._popupSettings.popupClass) {
42
42
  popupClasses.push(this._popupSettings.popupClass);
43
43
  }
@@ -7,6 +7,7 @@ import { Component, Input, Output, EventEmitter } from '@angular/core';
7
7
  import { validatePackage } from '@progress/kendo-licensing';
8
8
  import { packageMetadata } from '../package-metadata';
9
9
  import { ButtonItemTemplateDirective } from './button-item-template.directive';
10
+ import { SIZES } from '../util';
10
11
  /**
11
12
  * @hidden
12
13
  */
@@ -14,8 +15,21 @@ var ListComponent = /** @class */ (function () {
14
15
  function ListComponent() {
15
16
  this.onItemClick = new EventEmitter();
16
17
  this.onItemBlur = new EventEmitter();
18
+ this.sizeClass = '';
17
19
  validatePackage(packageMetadata);
18
20
  }
21
+ Object.defineProperty(ListComponent.prototype, "size", {
22
+ set: function (size) {
23
+ if (size) {
24
+ this.sizeClass = "k-menu-group-" + SIZES[size];
25
+ }
26
+ else {
27
+ this.sizeClass = '';
28
+ }
29
+ },
30
+ enumerable: true,
31
+ configurable: true
32
+ });
19
33
  ListComponent.prototype.getText = function (dataItem) {
20
34
  if (dataItem) {
21
35
  return this.textField ? dataItem[this.textField] : dataItem.text || dataItem;
@@ -54,10 +68,15 @@ var ListComponent = /** @class */ (function () {
54
68
  Output(),
55
69
  tslib_1.__metadata("design:type", EventEmitter)
56
70
  ], ListComponent.prototype, "onItemBlur", void 0);
71
+ tslib_1.__decorate([
72
+ Input(),
73
+ tslib_1.__metadata("design:type", String),
74
+ tslib_1.__metadata("design:paramtypes", [String])
75
+ ], ListComponent.prototype, "size", null);
57
76
  ListComponent = tslib_1.__decorate([
58
77
  Component({
59
78
  selector: 'kendo-button-list',
60
- template: "\n <ul class=\"k-list k-reset\" unselectable=\"on\" role=\"menu\">\n <li role=\"menuitem\" unselectable=\"on\" tabindex=\"-1\"\n kendoButtonFocusable\n *ngFor=\"let dataItem of data; let index = index;\"\n [index]=\"index\"\n [ngClass]=\"{'k-item': true, 'k-state-disabled': dataItem.disabled}\"\n (click)=\"onClick(index)\"\n (blur)=\"onBlur()\"\n [attr.aria-disabled]=\"dataItem.disabled ? true : false\">\n <ng-template *ngIf=\"itemTemplate?.templateRef\"\n [templateContext]=\"{\n templateRef: itemTemplate?.templateRef,\n $implicit: dataItem\n }\">\n </ng-template>\n <ng-template [ngIf]=\"!itemTemplate?.templateRef\">\n <span\n *ngIf=\"dataItem.icon || dataItem.iconClass\"\n [ngClass]=\"getIconClasses(dataItem)\"\n ></span>\n <img\n *ngIf=\"dataItem.imageUrl\"\n class=\"k-image\"\n [src]=\"dataItem.imageUrl\"\n alt=\"\"\n >\n {{ getText(dataItem) }}\n </ng-template>\n </li>\n </ul>\n "
79
+ template: "\n <ul class=\"k-group k-menu-group k-reset\" [ngClass]=\"sizeClass\" unselectable=\"on\" role=\"menu\">\n <li role=\"menuitem\" unselectable=\"on\"\n kendoButtonFocusable\n *ngFor=\"let dataItem of data; let index = index;\"\n class=\"k-item k-menu-item\"\n (click)=\"onClick(index)\"\n (blur)=\"onBlur()\"\n [attr.aria-disabled]=\"dataItem.disabled ? true : false\">\n <ng-template [ngIf]=\"itemTemplate?.templateRef\">\n <span kendoButtonFocusable [index]=\"index\" class=\"k-link k-menu-link\" [class.k-disabled]=\"dataItem.disabled\" tabindex=\"-1\">\n <ng-template [templateContext]=\"{templateRef: itemTemplate?.templateRef, $implicit: dataItem}\"></ng-template>\n </span>\n </ng-template>\n <ng-template [ngIf]=\"!itemTemplate?.templateRef\">\n <span kendoButtonFocusable [index]=\"index\" class=\"k-link k-menu-link\" [class.k-disabled]=\"dataItem.disabled\" tabindex=\"-1\">\n <span\n *ngIf=\"dataItem.icon || dataItem.iconClass\"\n [ngClass]=\"getIconClasses(dataItem)\"\n ></span>\n <img\n *ngIf=\"dataItem.imageUrl\"\n class=\"k-image\"\n [src]=\"dataItem.imageUrl\"\n alt=\"\"\n >\n <span *ngIf=\"getText(dataItem)\" class=\"k-menu-link-text\">\n {{ getText(dataItem) }}\n </span>\n </span>\n </ng-template>\n </li>\n </ul>\n "
61
80
  }),
62
81
  tslib_1.__metadata("design:paramtypes", [])
63
82
  ], ListComponent);
@@ -9,7 +9,7 @@ export var packageMetadata = {
9
9
  name: '@progress/kendo-angular-buttons',
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
12
- publishDate: 1635937762,
12
+ publishDate: 1641486598,
13
13
  version: '',
14
14
  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'
15
15
  };
@@ -97,13 +97,58 @@ var SplitButtonComponent = /** @class */ (function (_super) {
97
97
  */
98
98
  _this.imageUrl = '';
99
99
  /**
100
- * Changes the visual appearance by using alternative styling options.
100
+ * The size property specifies the width and height of the SplitButton
101
+ * ([see example]({% slug api_buttons_splitbuttoncomponent %}#toc-size)).
102
+ *
103
+ * The possible values are:
104
+ * * `'small'`
105
+ * * `'medium'` (default)
106
+ * * `'large'`
107
+ * * `null`
108
+ */
109
+ _this.size = 'medium';
110
+ /**
111
+ * The rounded property specifies the border radius of the SplitButton
112
+ * ([see example]({% slug api_buttons_splitbuttoncomponent %}#toc-rounded)).
113
+ *
114
+ * The possible values are:
115
+ * * `'small'`
116
+ * * `'medium'` (default)
117
+ * * `'large'`
118
+ * * `'full'`
119
+ * * `null`
120
+ */
121
+ _this.rounded = 'medium';
122
+ /**
123
+ * The fillMode property specifies the background and border styles of the SplitButton
124
+ * ([see example]({% slug api_buttons_splitbuttoncomponent %}#toc-fillMode)).
101
125
  *
102
126
  * The available values are:
127
+ * * `solid` (default)
103
128
  * * `flat`
104
129
  * * `outline`
130
+ * * `link`
131
+ */
132
+ _this.fillMode = 'solid';
133
+ /**
134
+ * The SplitButton allows you to specify predefined theme colors.
135
+ * The theme color will be applied as a background and border color while also amending the text color accordingly
136
+ * ([see example]({% slug api_buttons_splitbuttoncomponent %}#toc-themeColor)).
137
+ *
138
+ * The possible values are:
139
+ * * `base` &mdash;Applies coloring based on the `base` theme color. (default)
140
+ * * `primary` &mdash;Applies coloring based on the `primary` theme color.
141
+ * * `secondary`&mdash;Applies coloring based on the `secondary` theme color.
142
+ * * `tertiary`&mdash; Applies coloring based on the `tertiary` theme color.
143
+ * * `info`&mdash;Applies coloring based on the `info` theme color.
144
+ * * `success`&mdash; Applies coloring based on the `success` theme color.
145
+ * * `warning`&mdash; Applies coloring based on the `warning` theme color.
146
+ * * `error`&mdash; Applies coloring based on the `error` theme color.
147
+ * * `dark`&mdash; Applies coloring based on the `dark` theme color.
148
+ * * `light`&mdash; Applies coloring based on the `light` theme color.
149
+ * * `inverse`&mdash; Applies coloring based on the `inverse` theme color.
105
150
  */
106
- _this.look = 'default';
151
+ _this.themeColor = 'base';
107
152
  /**
108
153
  * Specifies the [`tabIndex`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of the component.
109
154
  */
@@ -305,20 +350,6 @@ var SplitButtonComponent = /** @class */ (function (_super) {
305
350
  enumerable: true,
306
351
  configurable: true
307
352
  });
308
- Object.defineProperty(SplitButtonComponent.prototype, "isFlat", {
309
- get: function () {
310
- return this.look === 'flat';
311
- },
312
- enumerable: true,
313
- configurable: true
314
- });
315
- Object.defineProperty(SplitButtonComponent.prototype, "isOutline", {
316
- get: function () {
317
- return this.look === 'outline';
318
- },
319
- enumerable: true,
320
- configurable: true
321
- });
322
353
  Object.defineProperty(SplitButtonComponent.prototype, "widgetClasses", {
323
354
  get: function () {
324
355
  return true;
@@ -606,7 +637,19 @@ var SplitButtonComponent = /** @class */ (function (_super) {
606
637
  tslib_1.__decorate([
607
638
  Input(),
608
639
  tslib_1.__metadata("design:type", String)
609
- ], SplitButtonComponent.prototype, "look", void 0);
640
+ ], SplitButtonComponent.prototype, "size", void 0);
641
+ tslib_1.__decorate([
642
+ Input(),
643
+ tslib_1.__metadata("design:type", String)
644
+ ], SplitButtonComponent.prototype, "rounded", void 0);
645
+ tslib_1.__decorate([
646
+ Input(),
647
+ tslib_1.__metadata("design:type", String)
648
+ ], SplitButtonComponent.prototype, "fillMode", void 0);
649
+ tslib_1.__decorate([
650
+ Input(),
651
+ tslib_1.__metadata("design:type", String)
652
+ ], SplitButtonComponent.prototype, "themeColor", void 0);
610
653
  tslib_1.__decorate([
611
654
  Input(),
612
655
  tslib_1.__metadata("design:type", Boolean),
@@ -687,20 +730,10 @@ var SplitButtonComponent = /** @class */ (function (_super) {
687
730
  tslib_1.__metadata("design:type", ViewContainerRef)
688
731
  ], SplitButtonComponent.prototype, "containerRef", void 0);
689
732
  tslib_1.__decorate([
690
- HostBinding('class.k-state-focused'),
733
+ HostBinding('class.k-focus'),
691
734
  tslib_1.__metadata("design:type", Boolean),
692
735
  tslib_1.__metadata("design:paramtypes", [Boolean])
693
736
  ], SplitButtonComponent.prototype, "isFocused", null);
694
- tslib_1.__decorate([
695
- HostBinding('class.k-flat'),
696
- tslib_1.__metadata("design:type", Boolean),
697
- tslib_1.__metadata("design:paramtypes", [])
698
- ], SplitButtonComponent.prototype, "isFlat", null);
699
- tslib_1.__decorate([
700
- HostBinding('class.k-outline'),
701
- tslib_1.__metadata("design:type", Boolean),
702
- tslib_1.__metadata("design:paramtypes", [])
703
- ], SplitButtonComponent.prototype, "isOutline", null);
704
737
  tslib_1.__decorate([
705
738
  HostBinding('class.k-split-button'),
706
739
  HostBinding('class.k-button-group'),
@@ -744,7 +777,7 @@ var SplitButtonComponent = /** @class */ (function (_super) {
744
777
  }
745
778
  ],
746
779
  selector: 'kendo-splitbutton',
747
- template: "\n <ng-container kendoSplitButtonLocalizedMessages\n i18n-splitButtonLabel=\"kendo.splitbutton.splitButtonLabel|The text for the SplitButton aria-label\"\n splitButtonLabel=\"{{ '{buttonText} splitbutton' }}\">\n </ng-container>\n <button\n kendoButton\n #button\n [type]=\"type\"\n [look]=\"look\"\n [tabindex]=\"componentTabIndex\"\n [disabled]=\"disabled\"\n [icon]=\"icon\"\n [class.k-state-active]=\"active\"\n [iconClass]=\"iconClass\"\n [imageUrl]=\"imageUrl\"\n [ngClass]=\"buttonClass\"\n (focus)=\"onButtonFocus()\"\n (click)=\"onButtonClick()\"\n (blur)=\"onButtonBlur()\"\n (mousedown)=\"toggleButtonActiveState(true)\"\n (mouseup)=\"toggleButtonActiveState(false)\"\n [attr.aria-disabled]=\"disabled\"\n [attr.aria-expanded]=\"openState\"\n [attr.aria-haspopup]=\"true\"\n [attr.aria-owns]=\"listId\"\n [attr.aria-label]=\"ariaLabel\"\n >\n {{ text }}<ng-content></ng-content>\n </button>\n <button\n kendoButton\n #arrowButton\n type=\"button\"\n [class.k-state-active]=\"activeArrow\"\n [disabled]=\"disabled\"\n [icon]=\"arrowButtonIcon\"\n [look]=\"look\"\n [tabindex]=\"-1\"\n [ngClass]=\"arrowButtonClass\"\n (click)=\"onArrowButtonClick()\"\n (mousedown)=\"toggleArrowButtonActiveState(true)\"\n (mouseup)=\"toggleArrowButtonActiveState(false)\"\n ></button>\n <ng-template #popupTemplate>\n <kendo-button-list\n [id]=\"listId\"\n [data]=\"data\"\n [textField]=\"textField\"\n [itemTemplate]=\"itemTemplate\"\n (onItemClick)=\"onItemClick($event)\"\n (keydown)=\"keyDownHandler($event)\"\n (keypress)=\"keyPressHandler($event)\"\n (keyup)=\"keyUpHandler($event)\"\n [attr.dir]=\"dir\"\n >\n </kendo-button-list>\n </ng-template>\n <ng-container #container></ng-container>\n "
780
+ template: "\n <ng-container kendoSplitButtonLocalizedMessages\n i18n-splitButtonLabel=\"kendo.splitbutton.splitButtonLabel|The text for the SplitButton aria-label\"\n splitButtonLabel=\"{{ '{buttonText} splitbutton' }}\">\n </ng-container>\n <button\n kendoButton\n #button\n [type]=\"type\"\n [tabindex]=\"componentTabIndex\"\n [disabled]=\"disabled\"\n [size]=\"size\"\n [rounded]=\"rounded\"\n [fillMode]=\"fillMode\"\n [themeColor]=\"themeColor\"\n [icon]=\"icon\"\n [class.k-active]=\"active\"\n [class.k-icon-button]=\"!text && icon\"\n [iconClass]=\"iconClass\"\n [imageUrl]=\"imageUrl\"\n [ngClass]=\"buttonClass\"\n (focus)=\"onButtonFocus()\"\n (click)=\"onButtonClick()\"\n (blur)=\"onButtonBlur()\"\n (mousedown)=\"toggleButtonActiveState(true)\"\n (mouseup)=\"toggleButtonActiveState(false)\"\n [attr.aria-disabled]=\"disabled\"\n [attr.aria-expanded]=\"openState\"\n [attr.aria-haspopup]=\"true\"\n [attr.aria-owns]=\"listId\"\n [attr.aria-label]=\"ariaLabel\"\n >\n <span *ngIf=\"text\" class=\"k-button-text\">\n {{ text }}\n </span><ng-content></ng-content>\n </button>\n <button\n kendoButton\n #arrowButton\n type=\"button\"\n [class.k-active]=\"activeArrow\"\n [disabled]=\"disabled\"\n [icon]=\"arrowButtonIcon\"\n [size]=\"size\"\n [rounded]=\"rounded\"\n [fillMode]=\"fillMode\"\n [themeColor]=\"fillMode ? themeColor : null\"\n [tabindex]=\"-1\"\n [ngClass]=\"arrowButtonClass\"\n (click)=\"onArrowButtonClick()\"\n (mousedown)=\"toggleArrowButtonActiveState(true)\"\n (mouseup)=\"toggleArrowButtonActiveState(false)\"\n ></button>\n <ng-template #popupTemplate>\n <kendo-button-list\n [id]=\"listId\"\n [data]=\"data\"\n [textField]=\"textField\"\n [itemTemplate]=\"itemTemplate\"\n (onItemClick)=\"onItemClick($event)\"\n (keydown)=\"keyDownHandler($event)\"\n (keypress)=\"keyPressHandler($event)\"\n (keyup)=\"keyUpHandler($event)\"\n [attr.dir]=\"dir\"\n [size]=\"size\"\n >\n </kendo-button-list>\n </ng-template>\n <ng-container #container></ng-container>\n "
748
781
  }),
749
782
  tslib_1.__metadata("design:paramtypes", [FocusService,
750
783
  NavigationService,