@progress/kendo-angular-buttons 7.0.0-dev.202201061631 → 7.0.0-dev.202201181837
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/LICENSE.md +1 -1
- package/NOTICE.txt +119 -79
- package/README.md +1 -1
- package/dist/cdn/js/kendo-angular-buttons.js +2 -2
- package/dist/cdn/main.js +1 -1
- package/dist/es/button/button.directive.js +6 -15
- package/dist/es/buttongroup/buttongroup.component.js +10 -7
- package/dist/es/chip/chip-list.component.js +3 -0
- package/dist/es/dropdownbutton/dropdownbutton.component.js +26 -14
- package/dist/es/listbutton/list-button.js +3 -0
- package/dist/es/package-metadata.js +1 -1
- package/dist/es/splitbutton/splitbutton.component.js +69 -32
- package/dist/es2015/button/button.directive.d.ts +0 -1
- package/dist/es2015/button/button.directive.js +6 -11
- package/dist/es2015/buttongroup/buttongroup.component.js +10 -7
- package/dist/es2015/chip/chip-list.component.js +3 -0
- package/dist/es2015/common/models/fillmode.d.ts +1 -1
- package/dist/es2015/dropdownbutton/dropdownbutton.component.d.ts +1 -0
- package/dist/es2015/dropdownbutton/dropdownbutton.component.js +22 -14
- package/dist/es2015/index.metadata.json +1 -1
- package/dist/es2015/listbutton/list-button.js +3 -0
- package/dist/es2015/package-metadata.js +1 -1
- package/dist/es2015/splitbutton/splitbutton.component.d.ts +11 -7
- package/dist/es2015/splitbutton/splitbutton.component.js +61 -32
- package/dist/fesm2015/index.js +97 -62
- package/dist/fesm5/index.js +109 -66
- package/dist/npm/button/button.directive.js +5 -14
- package/dist/npm/buttongroup/buttongroup.component.js +10 -7
- package/dist/npm/chip/chip-list.component.js +3 -0
- package/dist/npm/dropdownbutton/dropdownbutton.component.js +26 -14
- package/dist/npm/listbutton/list-button.js +3 -0
- package/dist/npm/package-metadata.js +1 -1
- package/dist/npm/splitbutton/splitbutton.component.js +67 -30
- package/dist/systemjs/kendo-angular-buttons.js +1 -1
- package/package.json +4 -3
|
@@ -9,6 +9,8 @@ import { KeyEvents } from './../navigation/key-events';
|
|
|
9
9
|
import { NavigationAction } from './../navigation/navigation-action';
|
|
10
10
|
import { isDocumentAvailable, guid, Keys } from '@progress/kendo-angular-common';
|
|
11
11
|
import { isPresent } from './../util';
|
|
12
|
+
import { validatePackage } from '@progress/kendo-licensing';
|
|
13
|
+
import { packageMetadata } from '../package-metadata';
|
|
12
14
|
/**
|
|
13
15
|
* @hidden
|
|
14
16
|
*/
|
|
@@ -25,6 +27,7 @@ export class ListButton {
|
|
|
25
27
|
this._popupSettings = { animate: true, popupClass: '' };
|
|
26
28
|
this.listId = guid();
|
|
27
29
|
this._isFocused = false;
|
|
30
|
+
validatePackage(packageMetadata);
|
|
28
31
|
this.focusService = focusService;
|
|
29
32
|
this.navigationService = navigationService;
|
|
30
33
|
this.wrapper = wrapperRef.nativeElement;
|
|
@@ -9,7 +9,7 @@ export const packageMetadata = {
|
|
|
9
9
|
name: '@progress/kendo-angular-buttons',
|
|
10
10
|
productName: 'Kendo UI for Angular',
|
|
11
11
|
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
|
12
|
-
publishDate:
|
|
12
|
+
publishDate: 1642530954,
|
|
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
|
};
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Copyright © 2021 Progress Software Corporation. All rights reserved.
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
import { ElementRef, TemplateRef, EventEmitter, ViewContainerRef, AfterViewInit, OnChanges, SimpleChanges, NgZone, ChangeDetectorRef } from '@angular/core';
|
|
5
|
+
import { ElementRef, TemplateRef, EventEmitter, ViewContainerRef, AfterViewInit, OnChanges, SimpleChanges, NgZone, ChangeDetectorRef, Renderer2 } from '@angular/core';
|
|
6
6
|
import { LocalizationService } from '@progress/kendo-angular-l10n';
|
|
7
7
|
import { Align, PopupService, PopupRef } from '@progress/kendo-angular-popup';
|
|
8
8
|
import { ListButton } from './../listbutton/list-button';
|
|
@@ -57,6 +57,7 @@ export declare class SplitButtonComponent extends ListButton implements AfterVie
|
|
|
57
57
|
private popupService;
|
|
58
58
|
private elRef;
|
|
59
59
|
private localization;
|
|
60
|
+
private renderer;
|
|
60
61
|
/**
|
|
61
62
|
* Sets the text of the SplitButton.
|
|
62
63
|
*/
|
|
@@ -253,7 +254,12 @@ export declare class SplitButtonComponent extends ListButton implements AfterVie
|
|
|
253
254
|
arrowButton: ElementRef<HTMLButtonElement>;
|
|
254
255
|
popupTemplate: TemplateRef<any>;
|
|
255
256
|
containerRef: ViewContainerRef;
|
|
257
|
+
/**
|
|
258
|
+
* @hidden
|
|
259
|
+
*/
|
|
260
|
+
activeArrow: boolean;
|
|
256
261
|
popupRef: PopupRef;
|
|
262
|
+
listId: string;
|
|
257
263
|
/**
|
|
258
264
|
* @hidden
|
|
259
265
|
*/
|
|
@@ -261,7 +267,6 @@ export declare class SplitButtonComponent extends ListButton implements AfterVie
|
|
|
261
267
|
* @hidden
|
|
262
268
|
*/
|
|
263
269
|
openState: boolean;
|
|
264
|
-
listId: string;
|
|
265
270
|
/**
|
|
266
271
|
* @hidden
|
|
267
272
|
*/
|
|
@@ -270,12 +275,10 @@ export declare class SplitButtonComponent extends ListButton implements AfterVie
|
|
|
270
275
|
* @hidden
|
|
271
276
|
*/
|
|
272
277
|
readonly componentTabIndex: number;
|
|
273
|
-
/**
|
|
274
|
-
* @hidden
|
|
275
|
-
*/
|
|
276
|
-
activeArrow: boolean;
|
|
277
278
|
private buttonText;
|
|
278
279
|
private lockFocus;
|
|
280
|
+
private _rounded;
|
|
281
|
+
private _fillMode;
|
|
279
282
|
isFocused: boolean;
|
|
280
283
|
readonly widgetClasses: boolean;
|
|
281
284
|
readonly dir: string;
|
|
@@ -351,7 +354,7 @@ export declare class SplitButtonComponent extends ListButton implements AfterVie
|
|
|
351
354
|
* Blurs the SplitButton component.
|
|
352
355
|
*/
|
|
353
356
|
blur(): void;
|
|
354
|
-
constructor(focusService: FocusService, navigationService: NavigationService, wrapperRef: ElementRef, zone: NgZone, popupService: PopupService, elRef: ElementRef, localization: LocalizationService, cdr: ChangeDetectorRef);
|
|
357
|
+
constructor(focusService: FocusService, navigationService: NavigationService, wrapperRef: ElementRef, zone: NgZone, popupService: PopupService, elRef: ElementRef, localization: LocalizationService, cdr: ChangeDetectorRef, renderer: Renderer2);
|
|
355
358
|
ngOnDestroy(): void;
|
|
356
359
|
/**
|
|
357
360
|
* Toggles the visibility of the popup.
|
|
@@ -370,4 +373,5 @@ export declare class SplitButtonComponent extends ListButton implements AfterVie
|
|
|
370
373
|
private _toggle;
|
|
371
374
|
private createPopup;
|
|
372
375
|
private destroyPopup;
|
|
376
|
+
private handleClasses;
|
|
373
377
|
}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import * as tslib_1 from "tslib";
|
|
6
6
|
/* tslint:disable:no-access-missing-member */
|
|
7
|
-
import { Component, ElementRef, TemplateRef, Input, Output, HostBinding, HostListener, EventEmitter, ContentChild, ViewChild, ViewContainerRef, NgZone, ChangeDetectorRef } from '@angular/core';
|
|
7
|
+
import { Component, ElementRef, TemplateRef, Input, Output, HostBinding, HostListener, EventEmitter, ContentChild, ViewChild, ViewContainerRef, NgZone, ChangeDetectorRef, Renderer2 } from '@angular/core';
|
|
8
8
|
import { LocalizationService, L10N_PREFIX } from '@progress/kendo-angular-l10n';
|
|
9
9
|
import { PopupService } from '@progress/kendo-angular-popup';
|
|
10
10
|
import { ListButton } from './../listbutton/list-button';
|
|
@@ -16,7 +16,7 @@ import { isDocumentAvailable, guid, isChanged } from '@progress/kendo-angular-co
|
|
|
16
16
|
import { isPresent, tick } from './../util';
|
|
17
17
|
import { PreventableEvent } from '../preventable-event';
|
|
18
18
|
import { Keys } from '@progress/kendo-angular-common';
|
|
19
|
-
import { replaceMessagePlaceholder } from '../util';
|
|
19
|
+
import { replaceMessagePlaceholder, getStylingClasses } from '../util';
|
|
20
20
|
const NAVIGATION_SETTINGS = {
|
|
21
21
|
useLeftRightArrows: true
|
|
22
22
|
};
|
|
@@ -67,11 +67,12 @@ const NAVIGATION_SETTINGS_PROVIDER = {
|
|
|
67
67
|
* ```
|
|
68
68
|
*/
|
|
69
69
|
let SplitButtonComponent = class SplitButtonComponent extends ListButton {
|
|
70
|
-
constructor(focusService, navigationService, wrapperRef, zone, popupService, elRef, localization, cdr) {
|
|
70
|
+
constructor(focusService, navigationService, wrapperRef, zone, popupService, elRef, localization, cdr, renderer) {
|
|
71
71
|
super(focusService, navigationService, wrapperRef, zone, localization, cdr);
|
|
72
72
|
this.popupService = popupService;
|
|
73
73
|
this.elRef = elRef;
|
|
74
74
|
this.localization = localization;
|
|
75
|
+
this.renderer = renderer;
|
|
75
76
|
/**
|
|
76
77
|
* Sets the text of the SplitButton.
|
|
77
78
|
*/
|
|
@@ -106,29 +107,6 @@ let SplitButtonComponent = class SplitButtonComponent extends ListButton {
|
|
|
106
107
|
* * `null`
|
|
107
108
|
*/
|
|
108
109
|
this.size = 'medium';
|
|
109
|
-
/**
|
|
110
|
-
* The rounded property specifies the border radius of the SplitButton
|
|
111
|
-
* ([see example]({% slug api_buttons_splitbuttoncomponent %}#toc-rounded)).
|
|
112
|
-
*
|
|
113
|
-
* The possible values are:
|
|
114
|
-
* * `'small'`
|
|
115
|
-
* * `'medium'` (default)
|
|
116
|
-
* * `'large'`
|
|
117
|
-
* * `'full'`
|
|
118
|
-
* * `null`
|
|
119
|
-
*/
|
|
120
|
-
this.rounded = 'medium';
|
|
121
|
-
/**
|
|
122
|
-
* The fillMode property specifies the background and border styles of the SplitButton
|
|
123
|
-
* ([see example]({% slug api_buttons_splitbuttoncomponent %}#toc-fillMode)).
|
|
124
|
-
*
|
|
125
|
-
* The available values are:
|
|
126
|
-
* * `solid` (default)
|
|
127
|
-
* * `flat`
|
|
128
|
-
* * `outline`
|
|
129
|
-
* * `link`
|
|
130
|
-
*/
|
|
131
|
-
this.fillMode = 'solid';
|
|
132
110
|
/**
|
|
133
111
|
* The SplitButton allows you to specify predefined theme colors.
|
|
134
112
|
* The theme color will be applied as a background and border color while also amending the text color accordingly
|
|
@@ -225,16 +203,53 @@ let SplitButtonComponent = class SplitButtonComponent extends ListButton {
|
|
|
225
203
|
* This event is preventable. If you cancel the event, the popup will remain open.
|
|
226
204
|
*/
|
|
227
205
|
this.close = new EventEmitter();
|
|
228
|
-
this.listId = guid();
|
|
229
206
|
/**
|
|
230
207
|
* @hidden
|
|
231
208
|
*/
|
|
232
209
|
this.activeArrow = false;
|
|
210
|
+
this.listId = guid();
|
|
233
211
|
this.buttonText = '';
|
|
234
212
|
this.lockFocus = false;
|
|
213
|
+
this._rounded = 'medium';
|
|
214
|
+
this._fillMode = "solid";
|
|
235
215
|
this._itemClick = this.itemClick;
|
|
236
216
|
this._blur = this.onBlur;
|
|
237
217
|
}
|
|
218
|
+
/**
|
|
219
|
+
* The rounded property specifies the border radius of the SplitButton
|
|
220
|
+
* ([see example]({% slug api_buttons_splitbuttoncomponent %}#toc-rounded)).
|
|
221
|
+
*
|
|
222
|
+
* The possible values are:
|
|
223
|
+
* * `'small'`
|
|
224
|
+
* * `'medium'` (default)
|
|
225
|
+
* * `'large'`
|
|
226
|
+
* * `'full'`
|
|
227
|
+
* * `null`
|
|
228
|
+
*/
|
|
229
|
+
set rounded(rounded) {
|
|
230
|
+
this.handleClasses(rounded, 'rounded');
|
|
231
|
+
this._rounded = rounded;
|
|
232
|
+
}
|
|
233
|
+
get rounded() {
|
|
234
|
+
return this._rounded;
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* The fillMode property specifies the background and border styles of the SplitButton
|
|
238
|
+
* ([see example]({% slug api_buttons_splitbuttoncomponent %}#toc-fillMode)).
|
|
239
|
+
*
|
|
240
|
+
* The available values are:
|
|
241
|
+
* * `solid` (default)
|
|
242
|
+
* * `flat`
|
|
243
|
+
* * `outline`
|
|
244
|
+
* * `link`
|
|
245
|
+
*/
|
|
246
|
+
set fillMode(fillMode) {
|
|
247
|
+
// Temporary workaround for missing 'clear' styles
|
|
248
|
+
this._fillMode = fillMode === 'clear' ? 'flat' : fillMode;
|
|
249
|
+
}
|
|
250
|
+
get fillMode() {
|
|
251
|
+
return this._fillMode;
|
|
252
|
+
}
|
|
238
253
|
/**
|
|
239
254
|
* When set to `true`, disables a SplitButton item
|
|
240
255
|
* ([see example]({% slug databinding_splitbutton %}#toc-arrays-of-complex-data)).
|
|
@@ -406,6 +421,7 @@ let SplitButtonComponent = class SplitButtonComponent extends ListButton {
|
|
|
406
421
|
*/
|
|
407
422
|
ngAfterViewInit() {
|
|
408
423
|
this.updateButtonText();
|
|
424
|
+
this.handleClasses(this.rounded, 'rounded');
|
|
409
425
|
}
|
|
410
426
|
/**
|
|
411
427
|
* @hidden
|
|
@@ -553,6 +569,16 @@ let SplitButtonComponent = class SplitButtonComponent extends ListButton {
|
|
|
553
569
|
this.popupRef = null;
|
|
554
570
|
}
|
|
555
571
|
}
|
|
572
|
+
handleClasses(value, input) {
|
|
573
|
+
const elem = this.wrapperRef.nativeElement;
|
|
574
|
+
const classes = getStylingClasses('button', input, this[input], value);
|
|
575
|
+
if (classes.toRemove) {
|
|
576
|
+
this.renderer.removeClass(elem, classes.toRemove);
|
|
577
|
+
}
|
|
578
|
+
if (classes.toAdd) {
|
|
579
|
+
this.renderer.addClass(elem, classes.toAdd);
|
|
580
|
+
}
|
|
581
|
+
}
|
|
556
582
|
};
|
|
557
583
|
tslib_1.__decorate([
|
|
558
584
|
Input(),
|
|
@@ -580,12 +606,14 @@ tslib_1.__decorate([
|
|
|
580
606
|
], SplitButtonComponent.prototype, "size", void 0);
|
|
581
607
|
tslib_1.__decorate([
|
|
582
608
|
Input(),
|
|
583
|
-
tslib_1.__metadata("design:type", String)
|
|
584
|
-
|
|
609
|
+
tslib_1.__metadata("design:type", String),
|
|
610
|
+
tslib_1.__metadata("design:paramtypes", [String])
|
|
611
|
+
], SplitButtonComponent.prototype, "rounded", null);
|
|
585
612
|
tslib_1.__decorate([
|
|
586
613
|
Input(),
|
|
587
|
-
tslib_1.__metadata("design:type", String)
|
|
588
|
-
|
|
614
|
+
tslib_1.__metadata("design:type", String),
|
|
615
|
+
tslib_1.__metadata("design:paramtypes", [String])
|
|
616
|
+
], SplitButtonComponent.prototype, "fillMode", null);
|
|
589
617
|
tslib_1.__decorate([
|
|
590
618
|
Input(),
|
|
591
619
|
tslib_1.__metadata("design:type", String)
|
|
@@ -795,7 +823,8 @@ SplitButtonComponent = tslib_1.__decorate([
|
|
|
795
823
|
PopupService,
|
|
796
824
|
ElementRef,
|
|
797
825
|
LocalizationService,
|
|
798
|
-
ChangeDetectorRef
|
|
826
|
+
ChangeDetectorRef,
|
|
827
|
+
Renderer2])
|
|
799
828
|
], SplitButtonComponent);
|
|
800
829
|
export { SplitButtonComponent };
|
|
801
830
|
export { ɵ0 };
|
package/dist/fesm2015/index.js
CHANGED
|
@@ -39,7 +39,7 @@ const packageMetadata = {
|
|
|
39
39
|
name: '@progress/kendo-angular-buttons',
|
|
40
40
|
productName: 'Kendo UI for Angular',
|
|
41
41
|
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
|
42
|
-
publishDate:
|
|
42
|
+
publishDate: 1642530954,
|
|
43
43
|
version: '',
|
|
44
44
|
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'
|
|
45
45
|
};
|
|
@@ -411,9 +411,6 @@ let ButtonDirective = class ButtonDirective {
|
|
|
411
411
|
case 'default':
|
|
412
412
|
this.fillMode = 'solid';
|
|
413
413
|
break;
|
|
414
|
-
case 'clear':
|
|
415
|
-
this.fillMode = 'link';
|
|
416
|
-
break;
|
|
417
414
|
default:
|
|
418
415
|
this.fillMode = value;
|
|
419
416
|
break;
|
|
@@ -527,11 +524,6 @@ let ButtonDirective = class ButtonDirective {
|
|
|
527
524
|
return false;
|
|
528
525
|
}
|
|
529
526
|
}
|
|
530
|
-
get text() {
|
|
531
|
-
if (isDocumentAvailable()) {
|
|
532
|
-
return this.element.innerHTML.trim();
|
|
533
|
-
}
|
|
534
|
-
}
|
|
535
527
|
addImgIcon(imageUrl) {
|
|
536
528
|
let renderer = this.renderer;
|
|
537
529
|
this.iconSpanNode = renderer.createElement('span');
|
|
@@ -561,8 +553,11 @@ let ButtonDirective = class ButtonDirective {
|
|
|
561
553
|
}
|
|
562
554
|
}
|
|
563
555
|
addTextSpan() {
|
|
564
|
-
if (isDocumentAvailable() && this.hasText()) {
|
|
565
|
-
|
|
556
|
+
if (isDocumentAvailable() && this.hasText() && isPresent(this.element.append)) {
|
|
557
|
+
const span = this.renderer.createElement('span');
|
|
558
|
+
this.renderer.addClass(span, 'k-button-text');
|
|
559
|
+
span.append(...Array.from(this.element.childNodes));
|
|
560
|
+
this.element.append(span);
|
|
566
561
|
}
|
|
567
562
|
}
|
|
568
563
|
prependChild(node) {
|
|
@@ -848,6 +843,7 @@ let ButtonGroupComponent = class ButtonGroupComponent {
|
|
|
848
843
|
this.navigate = new EventEmitter();
|
|
849
844
|
this._tabIndex = 0;
|
|
850
845
|
this.currentTabIndex = 0;
|
|
846
|
+
validatePackage(packageMetadata);
|
|
851
847
|
this.localizationChangeSubscription = localization.changes.subscribe(({ rtl }) => this.direction = rtl ? 'rtl' : 'ltr');
|
|
852
848
|
}
|
|
853
849
|
/**
|
|
@@ -926,7 +922,7 @@ let ButtonGroupComponent = class ButtonGroupComponent {
|
|
|
926
922
|
if (button.togglable) {
|
|
927
923
|
button.setSelected(newSelectionValue);
|
|
928
924
|
}
|
|
929
|
-
button.setAttribute(tabindex,
|
|
925
|
+
button.setAttribute(tabindex, '0');
|
|
930
926
|
});
|
|
931
927
|
}
|
|
932
928
|
ngOnChanges(change) {
|
|
@@ -941,10 +937,10 @@ let ButtonGroupComponent = class ButtonGroupComponent {
|
|
|
941
937
|
ngAfterContentInit() {
|
|
942
938
|
this.buttons.forEach((button) => {
|
|
943
939
|
if (button.selected) {
|
|
944
|
-
button.setAttribute(tabindex,
|
|
940
|
+
button.setAttribute(tabindex, '0');
|
|
945
941
|
}
|
|
946
942
|
else {
|
|
947
|
-
button.setAttribute(tabindex,
|
|
943
|
+
button.setAttribute(tabindex, '-1');
|
|
948
944
|
}
|
|
949
945
|
});
|
|
950
946
|
}
|
|
@@ -988,24 +984,24 @@ let ButtonGroupComponent = class ButtonGroupComponent {
|
|
|
988
984
|
deactivate(buttons) {
|
|
989
985
|
buttons.forEach((button) => {
|
|
990
986
|
button.setSelected(false);
|
|
991
|
-
button.setAttribute(tabindex,
|
|
987
|
+
button.setAttribute(tabindex, '-1');
|
|
992
988
|
});
|
|
993
989
|
}
|
|
994
990
|
activate(buttons) {
|
|
995
991
|
buttons.forEach((button) => {
|
|
996
992
|
button.setSelected(true);
|
|
997
|
-
button.setAttribute(tabindex,
|
|
993
|
+
button.setAttribute(tabindex, '0');
|
|
998
994
|
button.focus();
|
|
999
995
|
});
|
|
1000
996
|
}
|
|
1001
997
|
defocus(buttons) {
|
|
1002
998
|
buttons.forEach((button) => {
|
|
1003
|
-
button.setAttribute(tabindex,
|
|
999
|
+
button.setAttribute(tabindex, '-1');
|
|
1004
1000
|
});
|
|
1005
1001
|
}
|
|
1006
1002
|
focus(buttons) {
|
|
1007
1003
|
buttons.forEach((button) => {
|
|
1008
|
-
button.setAttribute(tabindex,
|
|
1004
|
+
button.setAttribute(tabindex, '0');
|
|
1009
1005
|
button.focus();
|
|
1010
1006
|
});
|
|
1011
1007
|
}
|
|
@@ -1529,6 +1525,7 @@ class ListButton {
|
|
|
1529
1525
|
this._popupSettings = { animate: true, popupClass: '' };
|
|
1530
1526
|
this.listId = guid();
|
|
1531
1527
|
this._isFocused = false;
|
|
1528
|
+
validatePackage(packageMetadata);
|
|
1532
1529
|
this.focusService = focusService;
|
|
1533
1530
|
this.navigationService = navigationService;
|
|
1534
1531
|
this.wrapper = wrapperRef.nativeElement;
|
|
@@ -1880,11 +1877,12 @@ const NAVIGATION_SETTINGS_PROVIDER = {
|
|
|
1880
1877
|
* ```
|
|
1881
1878
|
*/
|
|
1882
1879
|
let SplitButtonComponent = class SplitButtonComponent extends ListButton {
|
|
1883
|
-
constructor(focusService, navigationService, wrapperRef, zone, popupService, elRef, localization, cdr) {
|
|
1880
|
+
constructor(focusService, navigationService, wrapperRef, zone, popupService, elRef, localization, cdr, renderer) {
|
|
1884
1881
|
super(focusService, navigationService, wrapperRef, zone, localization, cdr);
|
|
1885
1882
|
this.popupService = popupService;
|
|
1886
1883
|
this.elRef = elRef;
|
|
1887
1884
|
this.localization = localization;
|
|
1885
|
+
this.renderer = renderer;
|
|
1888
1886
|
/**
|
|
1889
1887
|
* Sets the text of the SplitButton.
|
|
1890
1888
|
*/
|
|
@@ -1919,29 +1917,6 @@ let SplitButtonComponent = class SplitButtonComponent extends ListButton {
|
|
|
1919
1917
|
* * `null`
|
|
1920
1918
|
*/
|
|
1921
1919
|
this.size = 'medium';
|
|
1922
|
-
/**
|
|
1923
|
-
* The rounded property specifies the border radius of the SplitButton
|
|
1924
|
-
* ([see example]({% slug api_buttons_splitbuttoncomponent %}#toc-rounded)).
|
|
1925
|
-
*
|
|
1926
|
-
* The possible values are:
|
|
1927
|
-
* * `'small'`
|
|
1928
|
-
* * `'medium'` (default)
|
|
1929
|
-
* * `'large'`
|
|
1930
|
-
* * `'full'`
|
|
1931
|
-
* * `null`
|
|
1932
|
-
*/
|
|
1933
|
-
this.rounded = 'medium';
|
|
1934
|
-
/**
|
|
1935
|
-
* The fillMode property specifies the background and border styles of the SplitButton
|
|
1936
|
-
* ([see example]({% slug api_buttons_splitbuttoncomponent %}#toc-fillMode)).
|
|
1937
|
-
*
|
|
1938
|
-
* The available values are:
|
|
1939
|
-
* * `solid` (default)
|
|
1940
|
-
* * `flat`
|
|
1941
|
-
* * `outline`
|
|
1942
|
-
* * `link`
|
|
1943
|
-
*/
|
|
1944
|
-
this.fillMode = 'solid';
|
|
1945
1920
|
/**
|
|
1946
1921
|
* The SplitButton allows you to specify predefined theme colors.
|
|
1947
1922
|
* The theme color will be applied as a background and border color while also amending the text color accordingly
|
|
@@ -2038,16 +2013,53 @@ let SplitButtonComponent = class SplitButtonComponent extends ListButton {
|
|
|
2038
2013
|
* This event is preventable. If you cancel the event, the popup will remain open.
|
|
2039
2014
|
*/
|
|
2040
2015
|
this.close = new EventEmitter();
|
|
2041
|
-
this.listId = guid();
|
|
2042
2016
|
/**
|
|
2043
2017
|
* @hidden
|
|
2044
2018
|
*/
|
|
2045
2019
|
this.activeArrow = false;
|
|
2020
|
+
this.listId = guid();
|
|
2046
2021
|
this.buttonText = '';
|
|
2047
2022
|
this.lockFocus = false;
|
|
2023
|
+
this._rounded = 'medium';
|
|
2024
|
+
this._fillMode = "solid";
|
|
2048
2025
|
this._itemClick = this.itemClick;
|
|
2049
2026
|
this._blur = this.onBlur;
|
|
2050
2027
|
}
|
|
2028
|
+
/**
|
|
2029
|
+
* The rounded property specifies the border radius of the SplitButton
|
|
2030
|
+
* ([see example]({% slug api_buttons_splitbuttoncomponent %}#toc-rounded)).
|
|
2031
|
+
*
|
|
2032
|
+
* The possible values are:
|
|
2033
|
+
* * `'small'`
|
|
2034
|
+
* * `'medium'` (default)
|
|
2035
|
+
* * `'large'`
|
|
2036
|
+
* * `'full'`
|
|
2037
|
+
* * `null`
|
|
2038
|
+
*/
|
|
2039
|
+
set rounded(rounded) {
|
|
2040
|
+
this.handleClasses(rounded, 'rounded');
|
|
2041
|
+
this._rounded = rounded;
|
|
2042
|
+
}
|
|
2043
|
+
get rounded() {
|
|
2044
|
+
return this._rounded;
|
|
2045
|
+
}
|
|
2046
|
+
/**
|
|
2047
|
+
* The fillMode property specifies the background and border styles of the SplitButton
|
|
2048
|
+
* ([see example]({% slug api_buttons_splitbuttoncomponent %}#toc-fillMode)).
|
|
2049
|
+
*
|
|
2050
|
+
* The available values are:
|
|
2051
|
+
* * `solid` (default)
|
|
2052
|
+
* * `flat`
|
|
2053
|
+
* * `outline`
|
|
2054
|
+
* * `link`
|
|
2055
|
+
*/
|
|
2056
|
+
set fillMode(fillMode) {
|
|
2057
|
+
// Temporary workaround for missing 'clear' styles
|
|
2058
|
+
this._fillMode = fillMode === 'clear' ? 'flat' : fillMode;
|
|
2059
|
+
}
|
|
2060
|
+
get fillMode() {
|
|
2061
|
+
return this._fillMode;
|
|
2062
|
+
}
|
|
2051
2063
|
/**
|
|
2052
2064
|
* When set to `true`, disables a SplitButton item
|
|
2053
2065
|
* ([see example]({% slug databinding_splitbutton %}#toc-arrays-of-complex-data)).
|
|
@@ -2219,6 +2231,7 @@ let SplitButtonComponent = class SplitButtonComponent extends ListButton {
|
|
|
2219
2231
|
*/
|
|
2220
2232
|
ngAfterViewInit() {
|
|
2221
2233
|
this.updateButtonText();
|
|
2234
|
+
this.handleClasses(this.rounded, 'rounded');
|
|
2222
2235
|
}
|
|
2223
2236
|
/**
|
|
2224
2237
|
* @hidden
|
|
@@ -2366,6 +2379,16 @@ let SplitButtonComponent = class SplitButtonComponent extends ListButton {
|
|
|
2366
2379
|
this.popupRef = null;
|
|
2367
2380
|
}
|
|
2368
2381
|
}
|
|
2382
|
+
handleClasses(value, input) {
|
|
2383
|
+
const elem = this.wrapperRef.nativeElement;
|
|
2384
|
+
const classes = getStylingClasses('button', input, this[input], value);
|
|
2385
|
+
if (classes.toRemove) {
|
|
2386
|
+
this.renderer.removeClass(elem, classes.toRemove);
|
|
2387
|
+
}
|
|
2388
|
+
if (classes.toAdd) {
|
|
2389
|
+
this.renderer.addClass(elem, classes.toAdd);
|
|
2390
|
+
}
|
|
2391
|
+
}
|
|
2369
2392
|
};
|
|
2370
2393
|
__decorate([
|
|
2371
2394
|
Input(),
|
|
@@ -2393,12 +2416,14 @@ __decorate([
|
|
|
2393
2416
|
], SplitButtonComponent.prototype, "size", void 0);
|
|
2394
2417
|
__decorate([
|
|
2395
2418
|
Input(),
|
|
2396
|
-
__metadata("design:type", String)
|
|
2397
|
-
|
|
2419
|
+
__metadata("design:type", String),
|
|
2420
|
+
__metadata("design:paramtypes", [String])
|
|
2421
|
+
], SplitButtonComponent.prototype, "rounded", null);
|
|
2398
2422
|
__decorate([
|
|
2399
2423
|
Input(),
|
|
2400
|
-
__metadata("design:type", String)
|
|
2401
|
-
|
|
2424
|
+
__metadata("design:type", String),
|
|
2425
|
+
__metadata("design:paramtypes", [String])
|
|
2426
|
+
], SplitButtonComponent.prototype, "fillMode", null);
|
|
2402
2427
|
__decorate([
|
|
2403
2428
|
Input(),
|
|
2404
2429
|
__metadata("design:type", String)
|
|
@@ -2608,7 +2633,8 @@ SplitButtonComponent = __decorate([
|
|
|
2608
2633
|
PopupService,
|
|
2609
2634
|
ElementRef,
|
|
2610
2635
|
LocalizationService,
|
|
2611
|
-
ChangeDetectorRef
|
|
2636
|
+
ChangeDetectorRef,
|
|
2637
|
+
Renderer2])
|
|
2612
2638
|
], SplitButtonComponent);
|
|
2613
2639
|
|
|
2614
2640
|
/**
|
|
@@ -2776,18 +2802,6 @@ let DropDownButtonComponent = class DropDownButtonComponent extends ListButton {
|
|
|
2776
2802
|
* * `null`
|
|
2777
2803
|
*/
|
|
2778
2804
|
this.rounded = 'medium';
|
|
2779
|
-
/**
|
|
2780
|
-
* The fillMode property specifies the background and border styles of the DropDownButton
|
|
2781
|
-
* ([see example]({% slug api_buttons_dropdownbuttoncomponent %}#toc-fillMode)).
|
|
2782
|
-
*
|
|
2783
|
-
* The available values are:
|
|
2784
|
-
* * `solid` (default)
|
|
2785
|
-
* * `flat`
|
|
2786
|
-
* * `outline`
|
|
2787
|
-
* * `link`
|
|
2788
|
-
* * `null`
|
|
2789
|
-
*/
|
|
2790
|
-
this.fillMode = 'solid';
|
|
2791
2805
|
/**
|
|
2792
2806
|
* The DropDownButton allows you to specify predefined theme colors.
|
|
2793
2807
|
* The theme color will be applied as a background and border color while also amending the text color accordingly
|
|
@@ -2835,6 +2849,7 @@ let DropDownButtonComponent = class DropDownButtonComponent extends ListButton {
|
|
|
2835
2849
|
*/
|
|
2836
2850
|
this.onBlur = new EventEmitter(); //tslint:disable-line:no-output-rename
|
|
2837
2851
|
this.listId = guid();
|
|
2852
|
+
this._fillMode = 'solid';
|
|
2838
2853
|
this._itemClick = this.itemClick;
|
|
2839
2854
|
this._blur = this.onBlur;
|
|
2840
2855
|
}
|
|
@@ -2876,6 +2891,24 @@ let DropDownButtonComponent = class DropDownButtonComponent extends ListButton {
|
|
|
2876
2891
|
get data() {
|
|
2877
2892
|
return this._data;
|
|
2878
2893
|
}
|
|
2894
|
+
/**
|
|
2895
|
+
* The fillMode property specifies the background and border styles of the DropDownButton
|
|
2896
|
+
* ([see example]({% slug api_buttons_dropdownbuttoncomponent %}#toc-fillMode)).
|
|
2897
|
+
*
|
|
2898
|
+
* The available values are:
|
|
2899
|
+
* * `solid` (default)
|
|
2900
|
+
* * `flat`
|
|
2901
|
+
* * `outline`
|
|
2902
|
+
* * `link`
|
|
2903
|
+
* * `null`
|
|
2904
|
+
*/
|
|
2905
|
+
set fillMode(fillMode) {
|
|
2906
|
+
// Temporary workaround for missing 'clear' styles
|
|
2907
|
+
this._fillMode = fillMode === 'clear' ? 'flat' : fillMode;
|
|
2908
|
+
}
|
|
2909
|
+
get fillMode() {
|
|
2910
|
+
return this._fillMode;
|
|
2911
|
+
}
|
|
2879
2912
|
/**
|
|
2880
2913
|
* @hidden
|
|
2881
2914
|
*/
|
|
@@ -3181,8 +3214,9 @@ __decorate([
|
|
|
3181
3214
|
], DropDownButtonComponent.prototype, "rounded", void 0);
|
|
3182
3215
|
__decorate([
|
|
3183
3216
|
Input(),
|
|
3184
|
-
__metadata("design:type", String)
|
|
3185
|
-
|
|
3217
|
+
__metadata("design:type", String),
|
|
3218
|
+
__metadata("design:paramtypes", [String])
|
|
3219
|
+
], DropDownButtonComponent.prototype, "fillMode", null);
|
|
3186
3220
|
__decorate([
|
|
3187
3221
|
Input(),
|
|
3188
3222
|
__metadata("design:type", String)
|
|
@@ -3812,6 +3846,7 @@ let ChipListComponent = class ChipListComponent {
|
|
|
3812
3846
|
this.remove = new EventEmitter();
|
|
3813
3847
|
this.role = 'listbox';
|
|
3814
3848
|
this._size = 'medium';
|
|
3849
|
+
validatePackage(packageMetadata);
|
|
3815
3850
|
this.direction = localizationService.rtl ? 'rtl' : 'ltr';
|
|
3816
3851
|
}
|
|
3817
3852
|
/**
|