@progress/kendo-angular-buttons 13.6.0-develop.4 → 13.6.0-develop.6

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.
@@ -6,7 +6,8 @@ import * as i0 from '@angular/core';
6
6
  import { Injectable, EventEmitter, isDevMode, Component, Optional, Input, Output, HostBinding, HostListener, ContentChildren, NgModule, Directive, InjectionToken, Inject, forwardRef, ElementRef, ViewContainerRef, ContentChild, ViewChild } from '@angular/core';
7
7
  import { Subject, Subscription, fromEvent, merge } from 'rxjs';
8
8
  import * as i9 from '@progress/kendo-angular-common';
9
- import { isDocumentAvailable, isFirefox, Keys, isSafari, isChanged, hasObservers, guid, anyChanged, EventsModule } from '@progress/kendo-angular-common';
9
+ import { isDocumentAvailable, isFirefox, Keys, isSafari, isChanged, hasObservers, guid, anyChanged, isPresent as isPresent$1, EventsModule } from '@progress/kendo-angular-common';
10
+ import { caretAltDownIcon, xCircleIcon } from '@progress/kendo-svg-icons';
10
11
  import * as i1 from '@progress/kendo-angular-l10n';
11
12
  import { LocalizationService, L10N_PREFIX, ComponentMessages } from '@progress/kendo-angular-l10n';
12
13
  import { validatePackage } from '@progress/kendo-licensing';
@@ -17,7 +18,6 @@ import { CommonModule } from '@angular/common';
17
18
  import { filter, tap, take } from 'rxjs/operators';
18
19
  import * as i3$1 from '@progress/kendo-angular-popup';
19
20
  import { PopupModule } from '@progress/kendo-angular-popup';
20
- import { caretAltDownIcon, xCircleIcon } from '@progress/kendo-svg-icons';
21
21
  import * as i4 from '@angular/animations';
22
22
  import { sequence, query, style, stagger, animate } from '@angular/animations';
23
23
 
@@ -46,8 +46,8 @@ const packageMetadata = {
46
46
  name: '@progress/kendo-angular-buttons',
47
47
  productName: 'Kendo UI for Angular',
48
48
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
49
- publishDate: 1695732064,
50
- version: '13.6.0-develop.4',
49
+ publishDate: 1695882550,
50
+ version: '13.6.0-develop.6',
51
51
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
52
52
  };
53
53
 
@@ -158,6 +158,12 @@ class ButtonComponent {
158
158
  this.renderer = renderer;
159
159
  this.service = service;
160
160
  this.ngZone = ngZone;
161
+ /**
162
+ * @hidden
163
+ * @default false
164
+ * required for DropDownButton arrow icon.
165
+ */
166
+ this.arrowIcon = false;
161
167
  /**
162
168
  * Provides visual styling that indicates if the Button is active.
163
169
  *
@@ -179,6 +185,7 @@ class ButtonComponent {
179
185
  */
180
186
  this.click = new EventEmitter();
181
187
  this.isDisabled = false;
188
+ this.caretAltDownIcon = caretAltDownIcon;
182
189
  this._size = DEFAULT_SIZE$2;
183
190
  this._rounded = DEFAULT_ROUNDED$3;
184
191
  this._fillMode = DEFAULT_FILL_MODE$3;
@@ -560,7 +567,7 @@ class ButtonComponent {
560
567
  }
561
568
  }
562
569
  ButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", 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 });
563
- ButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ButtonComponent, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: { toggleable: "toggleable", togglable: "togglable", selected: "selected", tabIndex: "tabIndex", imageUrl: "imageUrl", iconClass: "iconClass", icon: "icon", disabled: "disabled", size: "size", rounded: "rounded", fillMode: "fillMode", themeColor: "themeColor", svgIcon: "svgIcon", role: "role", primary: "primary", look: "look" }, outputs: { selectedChange: "selectedChange", click: "click" }, host: { listeners: { "focus": "onFocus()", "blur": "onBlur()" }, properties: { "class.k-button": "this.classButton", "class.k-toggle-button": "this.isToggleable", "class.k-icon-button": "this.iconButtonClass", "attr.role": "this.roleSetter", "attr.aria-disabled": "this.classDisabled", "class.k-disabled": "this.classDisabled", "class.k-selected": "this.classActive", "attr.dir": "this.getDirection" } }, providers: [
570
+ ButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ButtonComponent, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: { arrowIcon: "arrowIcon", toggleable: "toggleable", togglable: "togglable", selected: "selected", tabIndex: "tabIndex", imageUrl: "imageUrl", iconClass: "iconClass", icon: "icon", disabled: "disabled", size: "size", rounded: "rounded", fillMode: "fillMode", themeColor: "themeColor", svgIcon: "svgIcon", role: "role", primary: "primary", look: "look" }, outputs: { selectedChange: "selectedChange", click: "click" }, host: { listeners: { "focus": "onFocus()", "blur": "onBlur()" }, properties: { "class.k-button": "this.classButton", "class.k-toggle-button": "this.isToggleable", "class.k-icon-button": "this.iconButtonClass", "attr.role": "this.roleSetter", "attr.aria-disabled": "this.classDisabled", "class.k-disabled": "this.classDisabled", "class.k-selected": "this.classActive", "attr.dir": "this.getDirection" } }, providers: [
564
571
  LocalizationService,
565
572
  {
566
573
  provide: L10N_PREFIX,
@@ -577,6 +584,12 @@ ButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versio
577
584
  </span>
578
585
  <span *ngIf="iconClass" class="k-button-icon" [ngClass]="iconClass"></span>
579
586
  <span class="k-button-text"><ng-content></ng-content></span>
587
+ <span *ngIf="$any(arrowIcon).iconClass" class="k-button-icon" [ngClass]="$any(arrowIcon).iconClass"></span>
588
+ <kendo-icon-wrapper
589
+ *ngIf="arrowIcon && !$any(arrowIcon).iconClass"
590
+ innerCssClass="k-button-icon"
591
+ [name]="$any(arrowIcon).icon || 'caret-alt-down'"
592
+ [svgIcon]="$any(arrowIcon).svgIcon || caretAltDownIcon"></kendo-icon-wrapper>
580
593
  `, isInline: true, components: [{ type: i2.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
581
594
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ButtonComponent, decorators: [{
582
595
  type: Component,
@@ -601,11 +614,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
601
614
  </span>
602
615
  <span *ngIf="iconClass" class="k-button-icon" [ngClass]="iconClass"></span>
603
616
  <span class="k-button-text"><ng-content></ng-content></span>
617
+ <span *ngIf="$any(arrowIcon).iconClass" class="k-button-icon" [ngClass]="$any(arrowIcon).iconClass"></span>
618
+ <kendo-icon-wrapper
619
+ *ngIf="arrowIcon && !$any(arrowIcon).iconClass"
620
+ innerCssClass="k-button-icon"
621
+ [name]="$any(arrowIcon).icon || 'caret-alt-down'"
622
+ [svgIcon]="$any(arrowIcon).svgIcon || caretAltDownIcon"></kendo-icon-wrapper>
604
623
  `
605
624
  }]
606
625
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: KendoButtonService, decorators: [{
607
626
  type: Optional
608
- }] }, { type: i1.LocalizationService }, { type: i0.NgZone }]; }, propDecorators: { toggleable: [{
627
+ }] }, { type: i1.LocalizationService }, { type: i0.NgZone }]; }, propDecorators: { arrowIcon: [{
628
+ type: Input
629
+ }], toggleable: [{
609
630
  type: Input
610
631
  }], togglable: [{
611
632
  type: Input
@@ -1288,14 +1309,20 @@ ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
1288
1309
  (blur)="onBlur()"
1289
1310
  [attr.aria-disabled]="dataItem.disabled ? true : false">
1290
1311
  <ng-template [ngIf]="itemTemplate?.templateRef">
1291
- <span class="k-link k-menu-link" [class.k-disabled]="dataItem.disabled">
1312
+ <span
1313
+ class="k-link k-menu-link"
1314
+ [class.k-disabled]="dataItem.disabled"
1315
+ [ngClass]="dataItem.cssClass">
1292
1316
  <ng-template
1293
1317
  [templateContext]="{ templateRef: itemTemplate?.templateRef, $implicit: dataItem }"
1294
1318
  ></ng-template>
1295
1319
  </span>
1296
1320
  </ng-template>
1297
1321
  <ng-template [ngIf]="!itemTemplate?.templateRef">
1298
- <span class="k-link k-menu-link" [class.k-disabled]="dataItem.disabled">
1322
+ <span
1323
+ class="k-link k-menu-link"
1324
+ [class.k-disabled]="dataItem.disabled"
1325
+ [ngClass]="dataItem.cssClass">
1299
1326
  <kendo-icon-wrapper
1300
1327
  *ngIf="dataItem.icon || dataItem.iconClass || dataItem.svgIcon"
1301
1328
  [name]="dataItem.icon"
@@ -1333,14 +1360,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1333
1360
  (blur)="onBlur()"
1334
1361
  [attr.aria-disabled]="dataItem.disabled ? true : false">
1335
1362
  <ng-template [ngIf]="itemTemplate?.templateRef">
1336
- <span class="k-link k-menu-link" [class.k-disabled]="dataItem.disabled">
1363
+ <span
1364
+ class="k-link k-menu-link"
1365
+ [class.k-disabled]="dataItem.disabled"
1366
+ [ngClass]="dataItem.cssClass">
1337
1367
  <ng-template
1338
1368
  [templateContext]="{ templateRef: itemTemplate?.templateRef, $implicit: dataItem }"
1339
1369
  ></ng-template>
1340
1370
  </span>
1341
1371
  </ng-template>
1342
1372
  <ng-template [ngIf]="!itemTemplate?.templateRef">
1343
- <span class="k-link k-menu-link" [class.k-disabled]="dataItem.disabled">
1373
+ <span
1374
+ class="k-link k-menu-link"
1375
+ [class.k-disabled]="dataItem.disabled"
1376
+ [ngClass]="dataItem.cssClass">
1344
1377
  <kendo-icon-wrapper
1345
1378
  *ngIf="dataItem.icon || dataItem.iconClass || dataItem.svgIcon"
1346
1379
  [name]="dataItem.icon"
@@ -2177,6 +2210,7 @@ class SplitButtonComponent extends ListButton {
2177
2210
  this.arrowButtonClicked = false;
2178
2211
  this._rounded = DEFAULT_ROUNDED$2;
2179
2212
  this._fillMode = DEFAULT_FILL_MODE$2;
2213
+ this._buttonAttributes = null;
2180
2214
  this._itemClick = this.itemClick;
2181
2215
  this._blur = this.onBlur;
2182
2216
  }
@@ -2258,6 +2292,17 @@ class SplitButtonComponent extends ListButton {
2258
2292
  }
2259
2293
  return this._data;
2260
2294
  }
2295
+ /**
2296
+ * Sets attributes to the main button.
2297
+ */
2298
+ set buttonAttributes(buttonAttributes) {
2299
+ const newButtonAttributes = buttonAttributes ? buttonAttributes : null;
2300
+ this.handleButtonAttributes(newButtonAttributes);
2301
+ this._buttonAttributes = newButtonAttributes;
2302
+ }
2303
+ get buttonAttributes() {
2304
+ return this._buttonAttributes;
2305
+ }
2261
2306
  /**
2262
2307
  * @hidden
2263
2308
  */
@@ -2370,6 +2415,7 @@ class SplitButtonComponent extends ListButton {
2370
2415
  this.containerService.template = this.popupTemplate;
2371
2416
  this.updateButtonText();
2372
2417
  this.handleClasses(this.rounded, 'rounded');
2418
+ this.handleButtonAttributes(this.buttonAttributes);
2373
2419
  }
2374
2420
  /**
2375
2421
  * @hidden
@@ -2486,9 +2532,22 @@ class SplitButtonComponent extends ListButton {
2486
2532
  toggleButtonIconClass() {
2487
2533
  this.button.nativeElement.classList[this.isIconButton ? 'add' : 'remove']('k-button-icon');
2488
2534
  }
2535
+ handleButtonAttributes(newButtonAttributes) {
2536
+ const mainButton = this.button.nativeElement;
2537
+ if (isPresent(this.buttonAttributes) && isPresent(mainButton)) {
2538
+ for (const attr in this.buttonAttributes) {
2539
+ this.renderer.removeAttribute(mainButton, attr, this.buttonAttributes[attr]);
2540
+ }
2541
+ }
2542
+ if (isPresent(newButtonAttributes) && isPresent(mainButton)) {
2543
+ for (const attr in newButtonAttributes) {
2544
+ this.renderer.setAttribute(mainButton, attr, newButtonAttributes[attr]);
2545
+ }
2546
+ }
2547
+ }
2489
2548
  }
2490
2549
  SplitButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SplitButtonComponent, deps: [{ token: FocusService }, { token: NavigationService }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i3$1.PopupService }, { token: i0.ElementRef }, { token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: PopupContainerService }], target: i0.ɵɵFactoryTarget.Component });
2491
- SplitButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SplitButtonComponent, selector: "kendo-splitbutton", inputs: { text: "text", icon: "icon", svgIcon: "svgIcon", iconClass: "iconClass", type: "type", imageUrl: "imageUrl", size: "size", rounded: "rounded", fillMode: "fillMode", themeColor: "themeColor", disabled: "disabled", popupSettings: "popupSettings", tabIndex: "tabIndex", textField: "textField", data: "data", buttonClass: "buttonClass", arrowButtonClass: "arrowButtonClass", arrowButtonIcon: "arrowButtonIcon", arrowButtonSvgIcon: "arrowButtonSvgIcon" }, outputs: { buttonClick: "buttonClick", itemClick: "itemClick", onFocus: "focus", onBlur: "blur", open: "open", close: "close" }, host: { listeners: { "keydown": "keydown($event)", "keyup": "keyup($event)" }, properties: { "class.k-focus": "this.isFocused", "class.k-split-button": "this.widgetClasses", "class.k-button-group": "this.widgetClasses", "attr.dir": "this.dir" } }, providers: [
2550
+ SplitButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SplitButtonComponent, selector: "kendo-splitbutton", inputs: { text: "text", icon: "icon", svgIcon: "svgIcon", iconClass: "iconClass", type: "type", imageUrl: "imageUrl", size: "size", rounded: "rounded", fillMode: "fillMode", themeColor: "themeColor", disabled: "disabled", popupSettings: "popupSettings", tabIndex: "tabIndex", textField: "textField", data: "data", buttonClass: "buttonClass", arrowButtonClass: "arrowButtonClass", arrowButtonIcon: "arrowButtonIcon", arrowButtonSvgIcon: "arrowButtonSvgIcon", buttonAttributes: "buttonAttributes" }, outputs: { buttonClick: "buttonClick", itemClick: "itemClick", onFocus: "focus", onBlur: "blur", open: "open", close: "close" }, host: { listeners: { "keydown": "keydown($event)", "keyup": "keyup($event)" }, properties: { "class.k-focus": "this.isFocused", "class.k-split-button": "this.widgetClasses", "class.k-button-group": "this.widgetClasses", "attr.dir": "this.dir" } }, providers: [
2492
2551
  FocusService,
2493
2552
  NavigationService,
2494
2553
  NAVIGATION_SETTINGS_PROVIDER$2,
@@ -2566,7 +2625,7 @@ SplitButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
2566
2625
  </kendo-button-list>
2567
2626
  </ng-template>
2568
2627
  <ng-container #container></ng-container>
2569
- `, isInline: true, components: [{ type: ButtonComponent, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { type: ListComponent, selector: "kendo-button-list", inputs: ["data", "textField", "itemTemplate", "size"], outputs: ["onItemClick", "onItemBlur"] }], directives: [{ type: LocalizedSplitButtonMessagesDirective, selector: "[kendoSplitButtonLocalizedMessages]" }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
2628
+ `, isInline: true, components: [{ type: ButtonComponent, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { type: ListComponent, selector: "kendo-button-list", inputs: ["data", "textField", "itemTemplate", "size"], outputs: ["onItemClick", "onItemBlur"] }], directives: [{ type: LocalizedSplitButtonMessagesDirective, selector: "[kendoSplitButtonLocalizedMessages]" }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
2570
2629
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SplitButtonComponent, decorators: [{
2571
2630
  type: Component,
2572
2631
  args: [{
@@ -2691,6 +2750,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2691
2750
  type: Input
2692
2751
  }], arrowButtonSvgIcon: [{
2693
2752
  type: Input
2753
+ }], buttonAttributes: [{
2754
+ type: Input
2694
2755
  }], buttonClick: [{
2695
2756
  type: Output
2696
2757
  }], itemClick: [{
@@ -2829,9 +2890,15 @@ const DEFAULT_FILL_MODE$1 = 'solid';
2829
2890
  * ```
2830
2891
  */
2831
2892
  class DropDownButtonComponent extends ListButton {
2832
- constructor(focusService, navigationService, wrapperRef, zone, popupService, elRef, localization, cdr, containerService) {
2893
+ constructor(focusService, navigationService, wrapperRef, zone, popupService, elRef, localization, cdr, containerService, renderer) {
2833
2894
  super(focusService, navigationService, wrapperRef, zone, popupService, elRef, localization, cdr, containerService);
2834
2895
  this.containerService = containerService;
2896
+ this.renderer = renderer;
2897
+ /**
2898
+ * Allows showing the default arrow icon or providing alternative one instead.
2899
+ * @default false
2900
+ */
2901
+ this.arrowIcon = false;
2835
2902
  /**
2836
2903
  * Defines the name of an existing icon in the Kendo UI theme.
2837
2904
  */
@@ -2902,6 +2969,7 @@ class DropDownButtonComponent extends ListButton {
2902
2969
  this.listId = guid();
2903
2970
  this.buttonId = guid();
2904
2971
  this._fillMode = DEFAULT_FILL_MODE$1;
2972
+ this._buttonAttributes = null;
2905
2973
  this._itemClick = this.itemClick;
2906
2974
  this._blur = this.onBlur;
2907
2975
  }
@@ -2933,6 +3001,17 @@ class DropDownButtonComponent extends ListButton {
2933
3001
  get fillMode() {
2934
3002
  return this._fillMode;
2935
3003
  }
3004
+ /**
3005
+ * Sets attributes to the main button.
3006
+ */
3007
+ set buttonAttributes(buttonAttributes) {
3008
+ const newButtonAttributes = buttonAttributes ? buttonAttributes : null;
3009
+ this.handleButtonAttributes(newButtonAttributes);
3010
+ this._buttonAttributes = newButtonAttributes;
3011
+ }
3012
+ get buttonAttributes() {
3013
+ return this._buttonAttributes;
3014
+ }
2936
3015
  get focused() {
2937
3016
  return this._isFocused && !this._disabled;
2938
3017
  }
@@ -3020,6 +3099,7 @@ class DropDownButtonComponent extends ListButton {
3020
3099
  ngAfterViewInit() {
3021
3100
  this.containerService.container = this.container;
3022
3101
  this.containerService.template = this.popupTemplate;
3102
+ this.handleButtonAttributes(this.buttonAttributes);
3023
3103
  }
3024
3104
  /**
3025
3105
  * @hidden
@@ -3044,9 +3124,22 @@ class DropDownButtonComponent extends ListButton {
3044
3124
  || this.wrapper.contains(element)
3045
3125
  || (this.popupRef && this.popupRef.popupElement.contains(element));
3046
3126
  }
3127
+ handleButtonAttributes(newButtonAttributes) {
3128
+ const mainButton = this.button?.nativeElement;
3129
+ if (isPresent$1(this.buttonAttributes) && isPresent$1(mainButton)) {
3130
+ for (const attr in this.buttonAttributes) {
3131
+ this.renderer.removeAttribute(mainButton, attr, this.buttonAttributes[attr]);
3132
+ }
3133
+ }
3134
+ if (isPresent$1(newButtonAttributes) && isPresent$1(mainButton)) {
3135
+ for (const attr in newButtonAttributes) {
3136
+ this.renderer.setAttribute(mainButton, attr, newButtonAttributes[attr]);
3137
+ }
3138
+ }
3139
+ }
3047
3140
  }
3048
- DropDownButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DropDownButtonComponent, deps: [{ token: FocusService }, { token: NavigationService }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i3$1.PopupService }, { token: i0.ElementRef }, { token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: PopupContainerService }], target: i0.ɵɵFactoryTarget.Component });
3049
- DropDownButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: DropDownButtonComponent, selector: "kendo-dropdownbutton", inputs: { icon: "icon", svgIcon: "svgIcon", iconClass: "iconClass", imageUrl: "imageUrl", textField: "textField", data: "data", size: "size", rounded: "rounded", fillMode: "fillMode", themeColor: "themeColor" }, outputs: { itemClick: "itemClick", onFocus: "focus", onBlur: "blur" }, host: { listeners: { "keydown": "keydown($event)", "keyup": "keyup($event)", "mousedown": "mousedown($event)", "mouseup": "mouseup($event)" }, properties: { "class.k-focus": "this.focused", "class.k-dropdown-button": "this.widgetClasses", "attr.dir": "this.dir" } }, providers: [
3141
+ DropDownButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DropDownButtonComponent, deps: [{ token: FocusService }, { token: NavigationService }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i3$1.PopupService }, { token: i0.ElementRef }, { token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: PopupContainerService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
3142
+ DropDownButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: DropDownButtonComponent, selector: "kendo-dropdownbutton", inputs: { arrowIcon: "arrowIcon", icon: "icon", svgIcon: "svgIcon", iconClass: "iconClass", imageUrl: "imageUrl", textField: "textField", data: "data", size: "size", rounded: "rounded", fillMode: "fillMode", themeColor: "themeColor", buttonAttributes: "buttonAttributes" }, outputs: { itemClick: "itemClick", onFocus: "focus", onBlur: "blur" }, host: { listeners: { "keydown": "keydown($event)", "keyup": "keyup($event)", "mousedown": "mousedown($event)", "mouseup": "mouseup($event)" }, properties: { "class.k-focus": "this.focused", "class.k-dropdown-button": "this.widgetClasses", "attr.dir": "this.dir" } }, providers: [
3050
3143
  FocusService,
3051
3144
  NavigationService,
3052
3145
  NAVIGATION_SETTINGS_PROVIDER$1,
@@ -3065,6 +3158,7 @@ DropDownButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
3065
3158
  [disabled]="disabled"
3066
3159
  [icon]="icon"
3067
3160
  [svgIcon]="svgIcon"
3161
+ [arrowIcon]="arrowIcon"
3068
3162
  [iconClass]="iconClass"
3069
3163
  [imageUrl]="imageUrl"
3070
3164
  [ngClass]="buttonClass"
@@ -3099,7 +3193,7 @@ DropDownButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
3099
3193
  </kendo-button-list>
3100
3194
  </ng-template>
3101
3195
  <ng-container #container></ng-container>
3102
- `, isInline: true, components: [{ type: ButtonComponent, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { type: ListComponent, selector: "kendo-button-list", inputs: ["data", "textField", "itemTemplate", "size"], outputs: ["onItemClick", "onItemBlur"] }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
3196
+ `, isInline: true, components: [{ type: ButtonComponent, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { type: ListComponent, selector: "kendo-button-list", inputs: ["data", "textField", "itemTemplate", "size"], outputs: ["onItemClick", "onItemBlur"] }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
3103
3197
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DropDownButtonComponent, decorators: [{
3104
3198
  type: Component,
3105
3199
  args: [{
@@ -3125,6 +3219,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
3125
3219
  [disabled]="disabled"
3126
3220
  [icon]="icon"
3127
3221
  [svgIcon]="svgIcon"
3222
+ [arrowIcon]="arrowIcon"
3128
3223
  [iconClass]="iconClass"
3129
3224
  [imageUrl]="imageUrl"
3130
3225
  [ngClass]="buttonClass"
@@ -3161,7 +3256,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
3161
3256
  <ng-container #container></ng-container>
3162
3257
  `
3163
3258
  }]
3164
- }], ctorParameters: function () { return [{ type: FocusService }, { type: NavigationService }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i3$1.PopupService }, { type: i0.ElementRef }, { type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: PopupContainerService }]; }, propDecorators: { icon: [{
3259
+ }], ctorParameters: function () { return [{ type: FocusService }, { type: NavigationService }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i3$1.PopupService }, { type: i0.ElementRef }, { type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: PopupContainerService }, { type: i0.Renderer2 }]; }, propDecorators: { arrowIcon: [{
3260
+ type: Input
3261
+ }], icon: [{
3165
3262
  type: Input
3166
3263
  }], svgIcon: [{
3167
3264
  type: Input
@@ -3181,6 +3278,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
3181
3278
  type: Input
3182
3279
  }], themeColor: [{
3183
3280
  type: Input
3281
+ }], buttonAttributes: [{
3282
+ type: Input
3184
3283
  }], itemClick: [{
3185
3284
  type: Output
3186
3285
  }], onFocus: [{
package/index.d.ts CHANGED
@@ -36,9 +36,6 @@ export { DialItemAnimation } from './floatingactionbutton/models/item-animation.
36
36
  export { FabAlign } from './floatingactionbutton/models/align';
37
37
  export { FabPositionMode } from './floatingactionbutton/models/position-mode';
38
38
  export { FabOffset } from './floatingactionbutton/models/offset';
39
- export { ButtonSize, ChipSize } from './common/models/size';
40
- export { ButtonRounded, ChipRounded } from './common/models/rounded';
41
- export { ButtonFillMode, ChipFillMode } from './common/models/fillmode';
42
- export { ButtonThemeColor, ChipThemeColor } from './common/models/theme-color';
39
+ export { ButtonSize, ChipSize, ButtonRounded, ChipRounded, ButtonFillMode, ChipFillMode, ButtonThemeColor, ChipThemeColor, ArrowIconSettings } from './common/models';
43
40
  export { FocusableDirective } from './focusable/focusable.directive';
44
41
  export { PreventableEvent } from './preventable-event';
@@ -69,6 +69,10 @@ export interface ListItemModel {
69
69
  * When set to `true`, disables a button list item.
70
70
  */
71
71
  disabled?: boolean;
72
+ /**
73
+ * The CSS classes that will be rendered on the item element. Supports the type of values that are supported by ngClass.
74
+ */
75
+ cssClass?: any;
72
76
  /**
73
77
  * An event handler that is emitted when an item is clicked.
74
78
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-buttons",
3
- "version": "13.6.0-develop.4",
3
+ "version": "13.6.0-develop.6",
4
4
  "description": "Buttons Package for Angular",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Progress",
@@ -25,15 +25,15 @@
25
25
  "@angular/core": "13 - 16",
26
26
  "@angular/platform-browser": "13 - 16",
27
27
  "@progress/kendo-licensing": "^1.0.2",
28
- "@progress/kendo-angular-common": "13.6.0-develop.4",
29
- "@progress/kendo-angular-l10n": "13.6.0-develop.4",
30
- "@progress/kendo-angular-popup": "13.6.0-develop.4",
31
- "@progress/kendo-angular-icons": "13.6.0-develop.4",
28
+ "@progress/kendo-angular-common": "13.6.0-develop.6",
29
+ "@progress/kendo-angular-l10n": "13.6.0-develop.6",
30
+ "@progress/kendo-angular-popup": "13.6.0-develop.6",
31
+ "@progress/kendo-angular-icons": "13.6.0-develop.6",
32
32
  "rxjs": "^6.5.3 || ^7.0.0"
33
33
  },
34
34
  "dependencies": {
35
35
  "tslib": "^2.3.1",
36
- "@progress/kendo-angular-schematics": "13.6.0-develop.4",
36
+ "@progress/kendo-angular-schematics": "13.6.0-develop.6",
37
37
  "@progress/kendo-common": "^0.2.1"
38
38
  },
39
39
  "schematics": "./schematics/collection.json",
@@ -194,6 +194,15 @@ export declare class SplitButtonComponent extends ListButton implements AfterVie
194
194
  * be rendered for the button which opens the popup.
195
195
  */
196
196
  arrowButtonSvgIcon: SVGIcon;
197
+ /**
198
+ * Sets attributes to the main button.
199
+ */
200
+ set buttonAttributes(buttonAttributes: {
201
+ [key: string]: string;
202
+ });
203
+ get buttonAttributes(): {
204
+ [key: string]: string;
205
+ };
197
206
  /**
198
207
  * Fires each time the user clicks the main button.
199
208
  *
@@ -292,6 +301,7 @@ export declare class SplitButtonComponent extends ListButton implements AfterVie
292
301
  private arrowButtonClicked;
293
302
  private _rounded;
294
303
  private _fillMode;
304
+ private _buttonAttributes;
295
305
  set isFocused(value: boolean);
296
306
  get isFocused(): boolean;
297
307
  get widgetClasses(): boolean;
@@ -380,6 +390,7 @@ export declare class SplitButtonComponent extends ListButton implements AfterVie
380
390
  private updateButtonText;
381
391
  private handleClasses;
382
392
  private toggleButtonIconClass;
393
+ private handleButtonAttributes;
383
394
  static ɵfac: i0.ɵɵFactoryDeclaration<SplitButtonComponent, never>;
384
- static ɵcmp: i0.ɵɵComponentDeclaration<SplitButtonComponent, "kendo-splitbutton", ["kendoSplitButton"], { "text": "text"; "icon": "icon"; "svgIcon": "svgIcon"; "iconClass": "iconClass"; "type": "type"; "imageUrl": "imageUrl"; "size": "size"; "rounded": "rounded"; "fillMode": "fillMode"; "themeColor": "themeColor"; "disabled": "disabled"; "popupSettings": "popupSettings"; "tabIndex": "tabIndex"; "textField": "textField"; "data": "data"; "buttonClass": "buttonClass"; "arrowButtonClass": "arrowButtonClass"; "arrowButtonIcon": "arrowButtonIcon"; "arrowButtonSvgIcon": "arrowButtonSvgIcon"; }, { "buttonClick": "buttonClick"; "itemClick": "itemClick"; "onFocus": "focus"; "onBlur": "blur"; "open": "open"; "close": "close"; }, ["itemTemplate"], ["*"]>;
395
+ static ɵcmp: i0.ɵɵComponentDeclaration<SplitButtonComponent, "kendo-splitbutton", ["kendoSplitButton"], { "text": "text"; "icon": "icon"; "svgIcon": "svgIcon"; "iconClass": "iconClass"; "type": "type"; "imageUrl": "imageUrl"; "size": "size"; "rounded": "rounded"; "fillMode": "fillMode"; "themeColor": "themeColor"; "disabled": "disabled"; "popupSettings": "popupSettings"; "tabIndex": "tabIndex"; "textField": "textField"; "data": "data"; "buttonClass": "buttonClass"; "arrowButtonClass": "arrowButtonClass"; "arrowButtonIcon": "arrowButtonIcon"; "arrowButtonSvgIcon": "arrowButtonSvgIcon"; "buttonAttributes": "buttonAttributes"; }, { "buttonClick": "buttonClick"; "itemClick": "itemClick"; "onFocus": "focus"; "onBlur": "blur"; "open": "open"; "close": "close"; }, ["itemTemplate"], ["*"]>;
385
396
  }