@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.
- package/button/button.component.d.ts +9 -1
- package/common/models/arrow-settings.d.ts +22 -0
- package/common/models.d.ts +1 -0
- package/dropdownbutton/dropdownbutton.component.d.ts +21 -4
- package/esm2020/button/button.component.mjs +24 -2
- package/esm2020/common/models/arrow-settings.mjs +5 -0
- package/esm2020/common/models.mjs +1 -0
- package/esm2020/dropdownbutton/dropdownbutton.component.mjs +45 -7
- package/esm2020/listbutton/list.component.mjs +16 -4
- package/esm2020/package-metadata.mjs +2 -2
- package/esm2020/splitbutton/splitbutton.component.mjs +30 -2
- package/fesm2015/progress-kendo-angular-buttons.mjs +117 -17
- package/fesm2020/progress-kendo-angular-buttons.mjs +116 -17
- package/index.d.ts +1 -4
- package/listbutton/list-item-model.d.ts +4 -0
- package/package.json +6 -6
- package/splitbutton/splitbutton.component.d.ts +12 -1
|
@@ -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:
|
|
50
|
-
version: '13.6.0-develop.
|
|
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: {
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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: {
|
|
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
|
|
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.
|
|
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.
|
|
29
|
-
"@progress/kendo-angular-l10n": "13.6.0-develop.
|
|
30
|
-
"@progress/kendo-angular-popup": "13.6.0-develop.
|
|
31
|
-
"@progress/kendo-angular-icons": "13.6.0-develop.
|
|
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.
|
|
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
|
}
|