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

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 +236 -89
  4. package/dist/es/button/button.service.js +1 -5
  5. package/dist/es/buttongroup/buttongroup.component.js +11 -60
  6. package/dist/es/chip/chip-list.component.js +57 -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 +89 -36
  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 +4 -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 +107 -37
  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 +219 -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 +11 -48
  27. package/dist/es2015/chip/chip-list.component.d.ts +19 -3
  28. package/dist/es2015/chip/chip-list.component.js +52 -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 +59 -7
  43. package/dist/es2015/dropdownbutton/dropdownbutton.component.js +92 -31
  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 +4 -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 +59 -12
  55. package/dist/es2015/splitbutton/splitbutton.component.js +113 -33
  56. package/dist/es2015/util.d.ts +21 -0
  57. package/dist/es2015/util.js +52 -0
  58. package/dist/fesm2015/index.js +862 -409
  59. package/dist/fesm5/index.js +853 -405
  60. package/dist/npm/button/button.directive.js +236 -89
  61. package/dist/npm/button/button.service.js +0 -4
  62. package/dist/npm/buttongroup/buttongroup.component.js +11 -60
  63. package/dist/npm/chip/chip-list.component.js +55 -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 +89 -36
  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 +4 -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 +105 -35
  77. package/dist/npm/util.js +52 -0
  78. package/dist/systemjs/kendo-angular-buttons.js +1 -1
  79. package/package.json +13 -10
  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
@@ -71,11 +71,12 @@ var NAVIGATION_SETTINGS_PROVIDER = {
71
71
  */
72
72
  var SplitButtonComponent = /** @class */ (function (_super) {
73
73
  tslib_1.__extends(SplitButtonComponent, _super);
74
- function SplitButtonComponent(focusService, navigationService, wrapperRef, zone, popupService, elRef, localization, cdr) {
74
+ function SplitButtonComponent(focusService, navigationService, wrapperRef, zone, popupService, elRef, localization, cdr, renderer) {
75
75
  var _this = _super.call(this, focusService, navigationService, wrapperRef, zone, localization, cdr) || this;
76
76
  _this.popupService = popupService;
77
77
  _this.elRef = elRef;
78
78
  _this.localization = localization;
79
+ _this.renderer = renderer;
79
80
  /**
80
81
  * Sets the text of the SplitButton.
81
82
  */
@@ -100,13 +101,35 @@ var SplitButtonComponent = /** @class */ (function (_super) {
100
101
  */
101
102
  _this.imageUrl = '';
102
103
  /**
103
- * Changes the visual appearance by using alternative styling options.
104
+ * The size property specifies the width and height of the SplitButton
105
+ * ([see example]({% slug api_buttons_splitbuttoncomponent %}#toc-size)).
104
106
  *
105
- * The available values are:
106
- * * `flat`
107
- * * `outline`
107
+ * The possible values are:
108
+ * * `'small'`
109
+ * * `'medium'` (default)
110
+ * * `'large'`
111
+ * * `null`
112
+ */
113
+ _this.size = 'medium';
114
+ /**
115
+ * The SplitButton allows you to specify predefined theme colors.
116
+ * The theme color will be applied as a background and border color while also amending the text color accordingly
117
+ * ([see example]({% slug api_buttons_splitbuttoncomponent %}#toc-themeColor)).
118
+ *
119
+ * The possible values are:
120
+ * * `base` —Applies coloring based on the `base` theme color. (default)
121
+ * * `primary` —Applies coloring based on the `primary` theme color.
122
+ * * `secondary`—Applies coloring based on the `secondary` theme color.
123
+ * * `tertiary`— Applies coloring based on the `tertiary` theme color.
124
+ * * `info`—Applies coloring based on the `info` theme color.
125
+ * * `success`— Applies coloring based on the `success` theme color.
126
+ * * `warning`— Applies coloring based on the `warning` theme color.
127
+ * * `error`— Applies coloring based on the `error` theme color.
128
+ * * `dark`— Applies coloring based on the `dark` theme color.
129
+ * * `light`— Applies coloring based on the `light` theme color.
130
+ * * `inverse`— Applies coloring based on the `inverse` theme color.
108
131
  */
109
- _this.look = 'default';
132
+ _this.themeColor = 'base';
110
133
  /**
111
134
  * Specifies the [`tabIndex`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of the component.
112
135
  */
@@ -184,17 +207,62 @@ var SplitButtonComponent = /** @class */ (function (_super) {
184
207
  * This event is preventable. If you cancel the event, the popup will remain open.
185
208
  */
186
209
  _this.close = new core_1.EventEmitter();
187
- _this.listId = kendo_angular_common_1.guid();
188
210
  /**
189
211
  * @hidden
190
212
  */
191
213
  _this.activeArrow = false;
214
+ _this.listId = kendo_angular_common_1.guid();
192
215
  _this.buttonText = '';
193
216
  _this.lockFocus = false;
217
+ _this._rounded = 'medium';
218
+ _this._fillMode = "solid";
194
219
  _this._itemClick = _this.itemClick;
195
220
  _this._blur = _this.onBlur;
196
221
  return _this;
197
222
  }
223
+ Object.defineProperty(SplitButtonComponent.prototype, "rounded", {
224
+ get: function () {
225
+ return this._rounded;
226
+ },
227
+ /**
228
+ * The rounded property specifies the border radius of the SplitButton
229
+ * ([see example]({% slug api_buttons_splitbuttoncomponent %}#toc-rounded)).
230
+ *
231
+ * The possible values are:
232
+ * * `'small'`
233
+ * * `'medium'` (default)
234
+ * * `'large'`
235
+ * * `'full'`
236
+ * * `null`
237
+ */
238
+ set: function (rounded) {
239
+ this.handleClasses(rounded, 'rounded');
240
+ this._rounded = rounded;
241
+ },
242
+ enumerable: true,
243
+ configurable: true
244
+ });
245
+ Object.defineProperty(SplitButtonComponent.prototype, "fillMode", {
246
+ get: function () {
247
+ return this._fillMode;
248
+ },
249
+ /**
250
+ * The fillMode property specifies the background and border styles of the SplitButton
251
+ * ([see example]({% slug api_buttons_splitbuttoncomponent %}#toc-fillMode)).
252
+ *
253
+ * The available values are:
254
+ * * `solid` (default)
255
+ * * `flat`
256
+ * * `outline`
257
+ * * `link`
258
+ */
259
+ set: function (fillMode) {
260
+ // Temporary workaround for missing 'clear' styles
261
+ this._fillMode = fillMode === 'clear' ? 'flat' : fillMode;
262
+ },
263
+ enumerable: true,
264
+ configurable: true
265
+ });
198
266
  Object.defineProperty(SplitButtonComponent.prototype, "disabled", {
199
267
  get: function () {
200
268
  return this._disabled;
@@ -308,20 +376,6 @@ var SplitButtonComponent = /** @class */ (function (_super) {
308
376
  enumerable: true,
309
377
  configurable: true
310
378
  });
311
- Object.defineProperty(SplitButtonComponent.prototype, "isFlat", {
312
- get: function () {
313
- return this.look === 'flat';
314
- },
315
- enumerable: true,
316
- configurable: true
317
- });
318
- Object.defineProperty(SplitButtonComponent.prototype, "isOutline", {
319
- get: function () {
320
- return this.look === 'outline';
321
- },
322
- enumerable: true,
323
- configurable: true
324
- });
325
379
  Object.defineProperty(SplitButtonComponent.prototype, "widgetClasses", {
326
380
  get: function () {
327
381
  return true;
@@ -420,6 +474,7 @@ var SplitButtonComponent = /** @class */ (function (_super) {
420
474
  */
421
475
  SplitButtonComponent.prototype.ngAfterViewInit = function () {
422
476
  this.updateButtonText();
477
+ this.handleClasses(this.rounded, 'rounded');
423
478
  };
424
479
  /**
425
480
  * @hidden
@@ -586,6 +641,16 @@ var SplitButtonComponent = /** @class */ (function (_super) {
586
641
  this.popupRef = null;
587
642
  }
588
643
  };
644
+ SplitButtonComponent.prototype.handleClasses = function (value, input) {
645
+ var elem = this.wrapperRef.nativeElement;
646
+ var classes = util_2.getStylingClasses('button', input, this[input], value);
647
+ if (classes.toRemove) {
648
+ this.renderer.removeClass(elem, classes.toRemove);
649
+ }
650
+ if (classes.toAdd) {
651
+ this.renderer.addClass(elem, classes.toAdd);
652
+ }
653
+ };
589
654
  tslib_1.__decorate([
590
655
  core_1.Input(),
591
656
  tslib_1.__metadata("design:type", String)
@@ -609,7 +674,21 @@ var SplitButtonComponent = /** @class */ (function (_super) {
609
674
  tslib_1.__decorate([
610
675
  core_1.Input(),
611
676
  tslib_1.__metadata("design:type", String)
612
- ], SplitButtonComponent.prototype, "look", void 0);
677
+ ], SplitButtonComponent.prototype, "size", void 0);
678
+ tslib_1.__decorate([
679
+ core_1.Input(),
680
+ tslib_1.__metadata("design:type", String),
681
+ tslib_1.__metadata("design:paramtypes", [String])
682
+ ], SplitButtonComponent.prototype, "rounded", null);
683
+ tslib_1.__decorate([
684
+ core_1.Input(),
685
+ tslib_1.__metadata("design:type", String),
686
+ tslib_1.__metadata("design:paramtypes", [String])
687
+ ], SplitButtonComponent.prototype, "fillMode", null);
688
+ tslib_1.__decorate([
689
+ core_1.Input(),
690
+ tslib_1.__metadata("design:type", String)
691
+ ], SplitButtonComponent.prototype, "themeColor", void 0);
613
692
  tslib_1.__decorate([
614
693
  core_1.Input(),
615
694
  tslib_1.__metadata("design:type", Boolean),
@@ -690,20 +769,10 @@ var SplitButtonComponent = /** @class */ (function (_super) {
690
769
  tslib_1.__metadata("design:type", core_1.ViewContainerRef)
691
770
  ], SplitButtonComponent.prototype, "containerRef", void 0);
692
771
  tslib_1.__decorate([
693
- core_1.HostBinding('class.k-state-focused'),
772
+ core_1.HostBinding('class.k-focus'),
694
773
  tslib_1.__metadata("design:type", Boolean),
695
774
  tslib_1.__metadata("design:paramtypes", [Boolean])
696
775
  ], SplitButtonComponent.prototype, "isFocused", null);
697
- tslib_1.__decorate([
698
- core_1.HostBinding('class.k-flat'),
699
- tslib_1.__metadata("design:type", Boolean),
700
- tslib_1.__metadata("design:paramtypes", [])
701
- ], SplitButtonComponent.prototype, "isFlat", null);
702
- tslib_1.__decorate([
703
- core_1.HostBinding('class.k-outline'),
704
- tslib_1.__metadata("design:type", Boolean),
705
- tslib_1.__metadata("design:paramtypes", [])
706
- ], SplitButtonComponent.prototype, "isOutline", null);
707
776
  tslib_1.__decorate([
708
777
  core_1.HostBinding('class.k-split-button'),
709
778
  core_1.HostBinding('class.k-button-group'),
@@ -747,7 +816,7 @@ var SplitButtonComponent = /** @class */ (function (_super) {
747
816
  }
748
817
  ],
749
818
  selector: 'kendo-splitbutton',
750
- 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 "
819
+ 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 "
751
820
  }),
752
821
  tslib_1.__metadata("design:paramtypes", [focus_service_1.FocusService,
753
822
  navigation_service_1.NavigationService,
@@ -756,7 +825,8 @@ var SplitButtonComponent = /** @class */ (function (_super) {
756
825
  kendo_angular_popup_1.PopupService,
757
826
  core_1.ElementRef,
758
827
  kendo_angular_l10n_1.LocalizationService,
759
- core_1.ChangeDetectorRef])
828
+ core_1.ChangeDetectorRef,
829
+ core_1.Renderer2])
760
830
  ], SplitButtonComponent);
761
831
  return SplitButtonComponent;
762
832
  }(list_button_1.ListButton));
package/dist/npm/util.js CHANGED
@@ -46,3 +46,55 @@ exports.closest = closest;
46
46
  exports.replaceMessagePlaceholder = function (message, name, value) {
47
47
  return message.replace(new RegExp("{\\s*" + name + "\\s*}", 'g'), value);
48
48
  };
49
+ /**
50
+ * @hidden
51
+ */
52
+ exports.SIZES = {
53
+ small: 'sm',
54
+ medium: 'md',
55
+ large: 'lg'
56
+ };
57
+ var ROUNDNESS = {
58
+ small: 'sm',
59
+ medium: 'md',
60
+ large: 'lg',
61
+ full: 'full'
62
+ };
63
+ /**
64
+ * @hidden
65
+ *
66
+ * Returns the styling classes to be added and removed
67
+ */
68
+ exports.getStylingClasses = function (componentType, stylingOption, previousValue, newValue) {
69
+ switch (stylingOption) {
70
+ case 'size':
71
+ return {
72
+ toRemove: "k-" + componentType + "-" + exports.SIZES[previousValue],
73
+ toAdd: newValue ? "k-" + componentType + "-" + exports.SIZES[newValue] : null
74
+ };
75
+ case 'rounded':
76
+ return {
77
+ toRemove: "k-rounded-" + ROUNDNESS[previousValue],
78
+ toAdd: newValue ? "k-rounded-" + ROUNDNESS[newValue] : null
79
+ };
80
+ case 'fillMode':
81
+ case 'shape':
82
+ return {
83
+ toRemove: "k-" + componentType + "-" + previousValue,
84
+ toAdd: newValue ? "k-" + componentType + "-" + newValue : null
85
+ };
86
+ default:
87
+ break;
88
+ }
89
+ };
90
+ /**
91
+ * @hidden
92
+ *
93
+ * Returns the themeColor classes to be added and removed
94
+ */
95
+ exports.getThemeColorClasses = function (componentType, prevFillMode, fillMode, previousValue, newValue) {
96
+ return {
97
+ toRemove: "k-" + componentType + "-" + prevFillMode + "-" + previousValue,
98
+ toAdd: newValue ? "k-" + componentType + "-" + fillMode + "-" + newValue : null
99
+ };
100
+ };