@progress/kendo-angular-buttons 6.4.1 → 7.0.0-dev.202201180832
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 +236 -89
- package/dist/es/button/button.service.js +1 -5
- package/dist/es/buttongroup/buttongroup.component.js +11 -60
- package/dist/es/chip/chip-list.component.js +57 -7
- package/dist/es/chip/chip.component.js +175 -86
- package/dist/es/{chip/models/chip-look.js → common/models/fillmode.js} +0 -0
- package/dist/es/{chip/models/type.js → common/models/rounded.js} +0 -0
- package/dist/{es2015/button-look.js → es/common/models/styling-classes.js} +0 -0
- package/dist/es/{button-look.js → common/models.js} +0 -0
- package/dist/es/dropdownbutton/dropdownbutton.component.js +89 -36
- package/dist/es/floatingactionbutton/dial-item.component.js +1 -1
- package/dist/es/floatingactionbutton/floatingactionbutton.component.js +66 -41
- package/dist/es/focusable/focusable.directive.js +4 -4
- package/dist/es/listbutton/list-button.js +4 -1
- package/dist/es/listbutton/list.component.js +20 -1
- package/dist/es/package-metadata.js +1 -1
- package/dist/es/splitbutton/splitbutton.component.js +107 -37
- package/dist/es/util.js +52 -0
- package/dist/es2015/button/button.directive.d.ts +85 -22
- package/dist/es2015/button/button.directive.js +219 -85
- package/dist/es2015/button/button.service.d.ts +1 -4
- package/dist/es2015/button/button.service.js +1 -5
- package/dist/es2015/buttongroup/buttongroup.component.d.ts +0 -15
- package/dist/es2015/buttongroup/buttongroup.component.js +11 -48
- package/dist/es2015/chip/chip-list.component.d.ts +19 -3
- package/dist/es2015/chip/chip-list.component.js +52 -7
- package/dist/es2015/chip/chip.component.d.ts +67 -32
- package/dist/es2015/chip/chip.component.js +186 -97
- package/dist/es2015/common/models/fillmode.d.ts +12 -0
- package/dist/es2015/{chip/models/type.js → common/models/fillmode.js} +0 -0
- package/dist/es2015/common/models/rounded.d.ts +12 -0
- package/dist/es2015/common/models/rounded.js +4 -0
- package/dist/es2015/common/models/shape.d.ts +2 -9
- package/dist/es2015/common/models/size.d.ts +9 -6
- package/dist/es2015/common/models/styling-classes.d.ts +11 -0
- package/dist/es2015/common/models/styling-classes.js +4 -0
- package/dist/es2015/common/models/theme-color.d.ts +15 -4
- package/dist/es2015/common/models.d.ts +10 -0
- package/dist/es2015/{chip/models/chip-look.js → common/models.js} +0 -0
- package/dist/es2015/dropdownbutton/dropdownbutton.component.d.ts +59 -7
- package/dist/es2015/dropdownbutton/dropdownbutton.component.js +92 -31
- package/dist/es2015/floatingactionbutton/dial-item.component.js +1 -1
- package/dist/es2015/floatingactionbutton/floatingactionbutton.component.d.ts +28 -21
- package/dist/es2015/floatingactionbutton/floatingactionbutton.component.js +62 -42
- package/dist/es2015/focusable/focusable.directive.js +4 -4
- package/dist/es2015/index.metadata.json +1 -1
- package/dist/es2015/listbutton/list-button.js +4 -1
- package/dist/es2015/listbutton/list.component.d.ts +3 -0
- package/dist/es2015/listbutton/list.component.js +37 -20
- package/dist/es2015/main.d.ts +4 -4
- package/dist/es2015/package-metadata.js +1 -1
- package/dist/es2015/splitbutton/splitbutton.component.d.ts +59 -12
- package/dist/es2015/splitbutton/splitbutton.component.js +113 -33
- package/dist/es2015/util.d.ts +21 -0
- package/dist/es2015/util.js +52 -0
- package/dist/fesm2015/index.js +862 -409
- package/dist/fesm5/index.js +853 -405
- package/dist/npm/button/button.directive.js +236 -89
- package/dist/npm/button/button.service.js +0 -4
- package/dist/npm/buttongroup/buttongroup.component.js +11 -60
- package/dist/npm/chip/chip-list.component.js +55 -5
- package/dist/npm/chip/chip.component.js +173 -84
- package/dist/npm/{chip/models/chip-look.js → common/models/fillmode.js} +0 -0
- package/dist/npm/{chip/models/type.js → common/models/rounded.js} +0 -0
- package/dist/npm/common/models/styling-classes.js +6 -0
- package/dist/npm/{button-look.js → common/models.js} +0 -0
- package/dist/npm/dropdownbutton/dropdownbutton.component.js +89 -36
- package/dist/npm/floatingactionbutton/dial-item.component.js +1 -1
- package/dist/npm/floatingactionbutton/floatingactionbutton.component.js +66 -41
- package/dist/npm/focusable/focusable.directive.js +4 -4
- package/dist/npm/listbutton/list-button.js +4 -1
- package/dist/npm/listbutton/list.component.js +20 -1
- package/dist/npm/package-metadata.js +1 -1
- package/dist/npm/splitbutton/splitbutton.component.js +105 -35
- package/dist/npm/util.js +52 -0
- package/dist/systemjs/kendo-angular-buttons.js +1 -1
- package/package.json +14 -11
- package/dist/es2015/button-look.d.ts +0 -21
- package/dist/es2015/chip/models/chip-look.d.ts +0 -20
- package/dist/es2015/chip/models/type.d.ts +0 -21
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import * as tslib_1 from "tslib";
|
|
6
6
|
import { Injectable } from '@angular/core';
|
|
7
|
-
import {
|
|
7
|
+
import { Subject } from 'rxjs';
|
|
8
8
|
/**
|
|
9
9
|
* @hidden
|
|
10
10
|
*/
|
|
@@ -13,16 +13,12 @@ let KendoButtonService = class KendoButtonService {
|
|
|
13
13
|
* @hidden
|
|
14
14
|
*/
|
|
15
15
|
constructor() {
|
|
16
|
-
this.buttonLookChange = new BehaviorSubject('default');
|
|
17
16
|
this.buttonClicked = new Subject();
|
|
18
17
|
this.buttonClicked$ = this.buttonClicked.asObservable();
|
|
19
18
|
}
|
|
20
19
|
click(button) {
|
|
21
20
|
this.buttonClicked.next(button);
|
|
22
21
|
}
|
|
23
|
-
setButtonLook(look) {
|
|
24
|
-
this.buttonLookChange.next(look);
|
|
25
|
-
}
|
|
26
22
|
};
|
|
27
23
|
KendoButtonService = tslib_1.__decorate([
|
|
28
24
|
Injectable()
|
|
@@ -7,7 +7,6 @@ import { EventEmitter, QueryList, OnInit, OnDestroy, AfterContentChecked, AfterV
|
|
|
7
7
|
import { LocalizationService } from '@progress/kendo-angular-l10n';
|
|
8
8
|
import { ButtonGroupSelection } from '../button/selection-settings';
|
|
9
9
|
import { KendoButtonService } from '../button/button.service';
|
|
10
|
-
import { ButtonLook } from '../button-look';
|
|
11
10
|
import { PreventableEvent } from '../preventable-event';
|
|
12
11
|
/**
|
|
13
12
|
* Represents the Kendo UI ButtonGroup component for Angular.
|
|
@@ -39,17 +38,6 @@ export declare class ButtonGroupComponent implements OnInit, OnDestroy, AfterCon
|
|
|
39
38
|
* - The buttons acquire the same width.
|
|
40
39
|
*/
|
|
41
40
|
width: string;
|
|
42
|
-
/**
|
|
43
|
-
* Changes the visual appearance by using alternative styling options
|
|
44
|
-
* ([more information and examples]({% slug styling_buttongroup %})).
|
|
45
|
-
* The `look` property of the ButtonGroup takes precedence over the `look` property
|
|
46
|
-
* of the individual buttons that are part of the group.
|
|
47
|
-
*
|
|
48
|
-
* The available values are:
|
|
49
|
-
* * `flat`
|
|
50
|
-
* * `outline`
|
|
51
|
-
*/
|
|
52
|
-
look: ButtonLook;
|
|
53
41
|
/**
|
|
54
42
|
* Specifies the [`tabIndex`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of the component.
|
|
55
43
|
*/
|
|
@@ -67,9 +55,6 @@ export declare class ButtonGroupComponent implements OnInit, OnDestroy, AfterCon
|
|
|
67
55
|
readonly wrapperClass: boolean;
|
|
68
56
|
readonly disabledClass: boolean;
|
|
69
57
|
readonly stretchedClass: boolean;
|
|
70
|
-
readonly isFlat: boolean;
|
|
71
|
-
readonly isBare: boolean;
|
|
72
|
-
readonly isOutline: boolean;
|
|
73
58
|
readonly getRole: string;
|
|
74
59
|
readonly dir: string;
|
|
75
60
|
readonly ariaDisabled: boolean;
|
|
@@ -10,6 +10,8 @@ import { isChanged, Keys } from '@progress/kendo-angular-common';
|
|
|
10
10
|
import { KendoButtonService } from '../button/button.service';
|
|
11
11
|
import { isPresent } from '../util';
|
|
12
12
|
import { PreventableEvent } from '../preventable-event';
|
|
13
|
+
import { packageMetadata } from '../package-metadata';
|
|
14
|
+
import { validatePackage } from '@progress/kendo-licensing';
|
|
13
15
|
/**
|
|
14
16
|
* @hidden
|
|
15
17
|
*/
|
|
@@ -25,23 +27,13 @@ let ButtonGroupComponent = class ButtonGroupComponent {
|
|
|
25
27
|
* By default, the selection mode of the ButtonGroup is set to `multiple`.
|
|
26
28
|
*/
|
|
27
29
|
this.selection = 'multiple';
|
|
28
|
-
/**
|
|
29
|
-
* Changes the visual appearance by using alternative styling options
|
|
30
|
-
* ([more information and examples]({% slug styling_buttongroup %})).
|
|
31
|
-
* The `look` property of the ButtonGroup takes precedence over the `look` property
|
|
32
|
-
* of the individual buttons that are part of the group.
|
|
33
|
-
*
|
|
34
|
-
* The available values are:
|
|
35
|
-
* * `flat`
|
|
36
|
-
* * `outline`
|
|
37
|
-
*/
|
|
38
|
-
this.look = 'default';
|
|
39
30
|
/**
|
|
40
31
|
* Fires every time keyboard navigation occurs.
|
|
41
32
|
*/
|
|
42
33
|
this.navigate = new EventEmitter();
|
|
43
34
|
this._tabIndex = 0;
|
|
44
35
|
this.currentTabIndex = 0;
|
|
36
|
+
validatePackage(packageMetadata);
|
|
45
37
|
this.localizationChangeSubscription = localization.changes.subscribe(({ rtl }) => this.direction = rtl ? 'rtl' : 'ltr');
|
|
46
38
|
}
|
|
47
39
|
/**
|
|
@@ -63,15 +55,6 @@ let ButtonGroupComponent = class ButtonGroupComponent {
|
|
|
63
55
|
get stretchedClass() {
|
|
64
56
|
return !!this.width;
|
|
65
57
|
}
|
|
66
|
-
get isFlat() {
|
|
67
|
-
return this.look === 'flat';
|
|
68
|
-
}
|
|
69
|
-
get isBare() {
|
|
70
|
-
return this.look === 'bare';
|
|
71
|
-
}
|
|
72
|
-
get isOutline() {
|
|
73
|
-
return this.look === 'outline';
|
|
74
|
-
}
|
|
75
58
|
get getRole() {
|
|
76
59
|
return this.isSelectionSingle() ? 'radiogroup' : 'group';
|
|
77
60
|
}
|
|
@@ -116,7 +99,6 @@ let ButtonGroupComponent = class ButtonGroupComponent {
|
|
|
116
99
|
}
|
|
117
100
|
}
|
|
118
101
|
ngOnInit() {
|
|
119
|
-
this.service.setButtonLook(this.look);
|
|
120
102
|
this.subscription = this.service.buttonClicked$.subscribe((button) => {
|
|
121
103
|
let newSelectionValue;
|
|
122
104
|
if (this.isSelectionSingle()) {
|
|
@@ -130,7 +112,7 @@ let ButtonGroupComponent = class ButtonGroupComponent {
|
|
|
130
112
|
if (button.togglable) {
|
|
131
113
|
button.setSelected(newSelectionValue);
|
|
132
114
|
}
|
|
133
|
-
button.setAttribute(tabindex,
|
|
115
|
+
button.setAttribute(tabindex, '0');
|
|
134
116
|
});
|
|
135
117
|
}
|
|
136
118
|
ngOnChanges(change) {
|
|
@@ -145,10 +127,10 @@ let ButtonGroupComponent = class ButtonGroupComponent {
|
|
|
145
127
|
ngAfterContentInit() {
|
|
146
128
|
this.buttons.forEach((button) => {
|
|
147
129
|
if (button.selected) {
|
|
148
|
-
button.setAttribute(tabindex,
|
|
130
|
+
button.setAttribute(tabindex, '0');
|
|
149
131
|
}
|
|
150
132
|
else {
|
|
151
|
-
button.setAttribute(tabindex,
|
|
133
|
+
button.setAttribute(tabindex, '-1');
|
|
152
134
|
}
|
|
153
135
|
});
|
|
154
136
|
}
|
|
@@ -192,24 +174,24 @@ let ButtonGroupComponent = class ButtonGroupComponent {
|
|
|
192
174
|
deactivate(buttons) {
|
|
193
175
|
buttons.forEach((button) => {
|
|
194
176
|
button.setSelected(false);
|
|
195
|
-
button.setAttribute(tabindex,
|
|
177
|
+
button.setAttribute(tabindex, '-1');
|
|
196
178
|
});
|
|
197
179
|
}
|
|
198
180
|
activate(buttons) {
|
|
199
181
|
buttons.forEach((button) => {
|
|
200
182
|
button.setSelected(true);
|
|
201
|
-
button.setAttribute(tabindex,
|
|
183
|
+
button.setAttribute(tabindex, '0');
|
|
202
184
|
button.focus();
|
|
203
185
|
});
|
|
204
186
|
}
|
|
205
187
|
defocus(buttons) {
|
|
206
188
|
buttons.forEach((button) => {
|
|
207
|
-
button.setAttribute(tabindex,
|
|
189
|
+
button.setAttribute(tabindex, '-1');
|
|
208
190
|
});
|
|
209
191
|
}
|
|
210
192
|
focus(buttons) {
|
|
211
193
|
buttons.forEach((button) => {
|
|
212
|
-
button.setAttribute(tabindex,
|
|
194
|
+
button.setAttribute(tabindex, '0');
|
|
213
195
|
button.focus();
|
|
214
196
|
});
|
|
215
197
|
}
|
|
@@ -236,10 +218,6 @@ tslib_1.__decorate([
|
|
|
236
218
|
Input('width'),
|
|
237
219
|
tslib_1.__metadata("design:type", String)
|
|
238
220
|
], ButtonGroupComponent.prototype, "width", void 0);
|
|
239
|
-
tslib_1.__decorate([
|
|
240
|
-
Input(),
|
|
241
|
-
tslib_1.__metadata("design:type", String)
|
|
242
|
-
], ButtonGroupComponent.prototype, "look", void 0);
|
|
243
221
|
tslib_1.__decorate([
|
|
244
222
|
Input(),
|
|
245
223
|
tslib_1.__metadata("design:type", Number),
|
|
@@ -259,7 +237,7 @@ tslib_1.__decorate([
|
|
|
259
237
|
tslib_1.__metadata("design:paramtypes", [])
|
|
260
238
|
], ButtonGroupComponent.prototype, "wrapperClass", null);
|
|
261
239
|
tslib_1.__decorate([
|
|
262
|
-
HostBinding('class.k-
|
|
240
|
+
HostBinding('class.k-disabled'),
|
|
263
241
|
tslib_1.__metadata("design:type", Boolean),
|
|
264
242
|
tslib_1.__metadata("design:paramtypes", [])
|
|
265
243
|
], ButtonGroupComponent.prototype, "disabledClass", null);
|
|
@@ -268,21 +246,6 @@ tslib_1.__decorate([
|
|
|
268
246
|
tslib_1.__metadata("design:type", Boolean),
|
|
269
247
|
tslib_1.__metadata("design:paramtypes", [])
|
|
270
248
|
], ButtonGroupComponent.prototype, "stretchedClass", null);
|
|
271
|
-
tslib_1.__decorate([
|
|
272
|
-
HostBinding('class.k-button-group-flat'),
|
|
273
|
-
tslib_1.__metadata("design:type", Boolean),
|
|
274
|
-
tslib_1.__metadata("design:paramtypes", [])
|
|
275
|
-
], ButtonGroupComponent.prototype, "isFlat", null);
|
|
276
|
-
tslib_1.__decorate([
|
|
277
|
-
HostBinding('class.k-button-group-bare'),
|
|
278
|
-
tslib_1.__metadata("design:type", Boolean),
|
|
279
|
-
tslib_1.__metadata("design:paramtypes", [])
|
|
280
|
-
], ButtonGroupComponent.prototype, "isBare", null);
|
|
281
|
-
tslib_1.__decorate([
|
|
282
|
-
HostBinding('class.k-button-group-outline'),
|
|
283
|
-
tslib_1.__metadata("design:type", Boolean),
|
|
284
|
-
tslib_1.__metadata("design:paramtypes", [])
|
|
285
|
-
], ButtonGroupComponent.prototype, "isOutline", null);
|
|
286
249
|
tslib_1.__decorate([
|
|
287
250
|
HostBinding('attr.role'),
|
|
288
251
|
tslib_1.__metadata("design:type", String),
|
|
@@ -2,14 +2,16 @@
|
|
|
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 { QueryList, EventEmitter, OnDestroy, OnInit, Renderer2, AfterContentInit } from '@angular/core';
|
|
5
|
+
import { QueryList, EventEmitter, OnDestroy, OnInit, Renderer2, AfterContentInit, AfterViewInit, ElementRef } from '@angular/core';
|
|
6
6
|
import { LocalizationService } from '@progress/kendo-angular-l10n';
|
|
7
7
|
import { ChipComponent } from './chip.component';
|
|
8
8
|
import { ChipListSelection } from './models/selection';
|
|
9
9
|
import { ChipListRemoveEvent } from './chip-list-remove-event-args.interface';
|
|
10
|
-
|
|
10
|
+
import { ChipListSize } from '../common/models';
|
|
11
|
+
export declare class ChipListComponent implements OnInit, AfterViewInit, AfterContentInit, OnDestroy {
|
|
11
12
|
private localizationService;
|
|
12
13
|
private renderer;
|
|
14
|
+
private element;
|
|
13
15
|
hostClass: boolean;
|
|
14
16
|
/**
|
|
15
17
|
* @hidden
|
|
@@ -24,6 +26,17 @@ export declare class ChipListComponent implements OnInit, AfterContentInit, OnDe
|
|
|
24
26
|
* * `multiple`
|
|
25
27
|
*/
|
|
26
28
|
selection: ChipListSelection;
|
|
29
|
+
/**
|
|
30
|
+
* The size property specifies the gap between the Chips in the ChipList
|
|
31
|
+
* ([see example]({% slug appearance_chiplist %}#toc-size)).
|
|
32
|
+
*
|
|
33
|
+
* The possible values are:
|
|
34
|
+
* * `'small'`
|
|
35
|
+
* * `'medium'` (default)
|
|
36
|
+
* * `'large'`
|
|
37
|
+
* * `null`
|
|
38
|
+
*/
|
|
39
|
+
size: ChipListSize;
|
|
27
40
|
/**
|
|
28
41
|
* Fires each time when the ChipList selection is changed.
|
|
29
42
|
*/
|
|
@@ -37,12 +50,14 @@ export declare class ChipListComponent implements OnInit, AfterContentInit, OnDe
|
|
|
37
50
|
readonly multiple: boolean;
|
|
38
51
|
role: string;
|
|
39
52
|
private dynamicRTLSubscription;
|
|
53
|
+
private _size;
|
|
40
54
|
/**
|
|
41
55
|
* @hidden
|
|
42
56
|
*/
|
|
43
57
|
onClick($event: any): void;
|
|
44
|
-
constructor(localizationService: LocalizationService, renderer: Renderer2);
|
|
58
|
+
constructor(localizationService: LocalizationService, renderer: Renderer2, element: ElementRef);
|
|
45
59
|
ngOnInit(): void;
|
|
60
|
+
ngAfterViewInit(): void;
|
|
46
61
|
ngAfterContentInit(): void;
|
|
47
62
|
ngOnDestroy(): void;
|
|
48
63
|
private selectedChips;
|
|
@@ -51,4 +66,5 @@ export declare class ChipListComponent implements OnInit, AfterContentInit, OnDe
|
|
|
51
66
|
*/
|
|
52
67
|
private setSelection;
|
|
53
68
|
private clearSelection;
|
|
69
|
+
private handleClasses;
|
|
54
70
|
}
|
|
@@ -3,14 +3,17 @@
|
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import * as tslib_1 from "tslib";
|
|
6
|
-
import { Component, Input, HostBinding, ContentChildren, QueryList, EventEmitter, Output, HostListener, Renderer2 } from '@angular/core';
|
|
6
|
+
import { Component, Input, HostBinding, ContentChildren, QueryList, EventEmitter, Output, HostListener, Renderer2, ElementRef } from '@angular/core';
|
|
7
7
|
import { LocalizationService, L10N_PREFIX } from '@progress/kendo-angular-l10n';
|
|
8
8
|
import { ChipComponent } from './chip.component';
|
|
9
|
-
import { closest } from '../util';
|
|
9
|
+
import { closest, getStylingClasses } from '../util';
|
|
10
|
+
import { validatePackage } from '@progress/kendo-licensing';
|
|
11
|
+
import { packageMetadata } from '../package-metadata';
|
|
10
12
|
let ChipListComponent = class ChipListComponent {
|
|
11
|
-
constructor(localizationService, renderer) {
|
|
13
|
+
constructor(localizationService, renderer, element) {
|
|
12
14
|
this.localizationService = localizationService;
|
|
13
15
|
this.renderer = renderer;
|
|
16
|
+
this.element = element;
|
|
14
17
|
this.hostClass = true;
|
|
15
18
|
/**
|
|
16
19
|
* Sets the selection mode of the ChipList.
|
|
@@ -30,8 +33,27 @@ let ChipListComponent = class ChipListComponent {
|
|
|
30
33
|
*/
|
|
31
34
|
this.remove = new EventEmitter();
|
|
32
35
|
this.role = 'listbox';
|
|
36
|
+
this._size = 'medium';
|
|
37
|
+
validatePackage(packageMetadata);
|
|
33
38
|
this.direction = localizationService.rtl ? 'rtl' : 'ltr';
|
|
34
39
|
}
|
|
40
|
+
/**
|
|
41
|
+
* The size property specifies the gap between the Chips in the ChipList
|
|
42
|
+
* ([see example]({% slug appearance_chiplist %}#toc-size)).
|
|
43
|
+
*
|
|
44
|
+
* The possible values are:
|
|
45
|
+
* * `'small'`
|
|
46
|
+
* * `'medium'` (default)
|
|
47
|
+
* * `'large'`
|
|
48
|
+
* * `null`
|
|
49
|
+
*/
|
|
50
|
+
set size(size) {
|
|
51
|
+
this.handleClasses(size, 'size');
|
|
52
|
+
this._size = size;
|
|
53
|
+
}
|
|
54
|
+
get size() {
|
|
55
|
+
return this._size;
|
|
56
|
+
}
|
|
35
57
|
get single() {
|
|
36
58
|
return this.selection === 'single';
|
|
37
59
|
}
|
|
@@ -43,7 +65,7 @@ let ChipListComponent = class ChipListComponent {
|
|
|
43
65
|
*/
|
|
44
66
|
onClick($event) {
|
|
45
67
|
const target = $event.target;
|
|
46
|
-
const isRemoveClicked = closest(target, '.k-remove-
|
|
68
|
+
const isRemoveClicked = closest(target, '.k-chip-remove-action');
|
|
47
69
|
const clickedChip = closest(target, '.k-chip');
|
|
48
70
|
const chip = this.chips.find((chip) => clickedChip === chip.element.nativeElement);
|
|
49
71
|
if (isRemoveClicked && clickedChip) {
|
|
@@ -58,6 +80,12 @@ let ChipListComponent = class ChipListComponent {
|
|
|
58
80
|
this.dynamicRTLSubscription = this.localizationService.changes
|
|
59
81
|
.subscribe(({ rtl }) => this.direction = rtl ? 'rtl' : 'ltr');
|
|
60
82
|
}
|
|
83
|
+
ngAfterViewInit() {
|
|
84
|
+
const stylingInputs = ['size'];
|
|
85
|
+
stylingInputs.forEach(input => {
|
|
86
|
+
this.handleClasses(this[input], input);
|
|
87
|
+
});
|
|
88
|
+
}
|
|
61
89
|
ngAfterContentInit() {
|
|
62
90
|
this.chips.forEach((chip) => {
|
|
63
91
|
this.renderer.setAttribute(chip.element.nativeElement, 'role', 'option');
|
|
@@ -88,6 +116,16 @@ let ChipListComponent = class ChipListComponent {
|
|
|
88
116
|
}
|
|
89
117
|
});
|
|
90
118
|
}
|
|
119
|
+
handleClasses(value, input) {
|
|
120
|
+
const elem = this.element.nativeElement;
|
|
121
|
+
const classes = getStylingClasses('chip-list', input, this[input], value);
|
|
122
|
+
if (classes.toRemove) {
|
|
123
|
+
this.renderer.removeClass(elem, classes.toRemove);
|
|
124
|
+
}
|
|
125
|
+
if (classes.toAdd) {
|
|
126
|
+
this.renderer.addClass(elem, classes.toAdd);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
91
129
|
};
|
|
92
130
|
tslib_1.__decorate([
|
|
93
131
|
HostBinding('class.k-chip-list'),
|
|
@@ -101,6 +139,11 @@ tslib_1.__decorate([
|
|
|
101
139
|
Input(),
|
|
102
140
|
tslib_1.__metadata("design:type", String)
|
|
103
141
|
], ChipListComponent.prototype, "selection", void 0);
|
|
142
|
+
tslib_1.__decorate([
|
|
143
|
+
Input(),
|
|
144
|
+
tslib_1.__metadata("design:type", String),
|
|
145
|
+
tslib_1.__metadata("design:paramtypes", [String])
|
|
146
|
+
], ChipListComponent.prototype, "size", null);
|
|
104
147
|
tslib_1.__decorate([
|
|
105
148
|
Output(),
|
|
106
149
|
tslib_1.__metadata("design:type", EventEmitter)
|
|
@@ -135,7 +178,7 @@ tslib_1.__decorate([
|
|
|
135
178
|
], ChipListComponent.prototype, "onClick", null);
|
|
136
179
|
ChipListComponent = tslib_1.__decorate([
|
|
137
180
|
Component({
|
|
138
|
-
selector: 'kendo-
|
|
181
|
+
selector: 'kendo-chiplist, kendo-chip-list',
|
|
139
182
|
template: `
|
|
140
183
|
<ng-content></ng-content>
|
|
141
184
|
`,
|
|
@@ -143,10 +186,12 @@ ChipListComponent = tslib_1.__decorate([
|
|
|
143
186
|
LocalizationService,
|
|
144
187
|
{
|
|
145
188
|
provide: L10N_PREFIX,
|
|
146
|
-
useValue: 'kendo.
|
|
189
|
+
useValue: 'kendo.chiplist'
|
|
147
190
|
}
|
|
148
191
|
]
|
|
149
192
|
}),
|
|
150
|
-
tslib_1.__metadata("design:paramtypes", [LocalizationService,
|
|
193
|
+
tslib_1.__metadata("design:paramtypes", [LocalizationService,
|
|
194
|
+
Renderer2,
|
|
195
|
+
ElementRef])
|
|
151
196
|
], ChipListComponent);
|
|
152
197
|
export { ChipListComponent };
|
|
@@ -5,9 +5,8 @@
|
|
|
5
5
|
import { EventEmitter, ElementRef, Renderer2, AfterViewInit, OnInit, NgZone } from '@angular/core';
|
|
6
6
|
import { LocalizationService } from '@progress/kendo-angular-l10n';
|
|
7
7
|
import { ChipRemoveEvent } from './chip-remove-event-args.interface';
|
|
8
|
-
import { ChipLook } from './models/chip-look';
|
|
9
|
-
import { ChipType } from './models/type';
|
|
10
8
|
import { ChipContentClickEvent } from './chip-content-click-event-args.interface';
|
|
9
|
+
import { ChipFillMode, ChipRounded, ChipSize, ChipThemeColor } from '../common/models';
|
|
11
10
|
/**
|
|
12
11
|
* Displays a Chip that represents an input, attribute or an action.
|
|
13
12
|
*/
|
|
@@ -16,16 +15,6 @@ export declare class ChipComponent implements OnInit, AfterViewInit {
|
|
|
16
15
|
private renderer;
|
|
17
16
|
private ngZone;
|
|
18
17
|
private localizationService;
|
|
19
|
-
/**
|
|
20
|
-
* Changes the visual appearance by using alternative styling options.
|
|
21
|
-
*
|
|
22
|
-
* The available values are:
|
|
23
|
-
* * `solid`
|
|
24
|
-
* * `outline`
|
|
25
|
-
* * `filled` (The `filled` option will be deprecated. To apply identical styling, use `solid` instead).
|
|
26
|
-
* * `outlined` (The `outlined` option will be deprecated. To apply identical styling, use `outline` instead).
|
|
27
|
-
*/
|
|
28
|
-
look: ChipLook;
|
|
29
18
|
/**
|
|
30
19
|
* Sets the label text of the Chip.
|
|
31
20
|
*/
|
|
@@ -42,17 +31,18 @@ export declare class ChipComponent implements OnInit, AfterViewInit {
|
|
|
42
31
|
*/
|
|
43
32
|
iconClass: string;
|
|
44
33
|
/**
|
|
45
|
-
*
|
|
34
|
+
* The avatarClass allows the usage of avatar icons rendered in the Chip.
|
|
46
35
|
*/
|
|
47
|
-
|
|
36
|
+
avatarClass: string;
|
|
48
37
|
/**
|
|
49
|
-
* Specifies
|
|
50
|
-
*
|
|
38
|
+
* Specifies the selected state of the Chip.
|
|
39
|
+
* @default false
|
|
51
40
|
*/
|
|
52
|
-
|
|
41
|
+
selected: boolean;
|
|
53
42
|
/**
|
|
54
43
|
* Specifies if the Chip will be removable or not.
|
|
55
44
|
* If the property is set to `true`, the Chip renders a remove icon.
|
|
45
|
+
* @default false
|
|
56
46
|
*/
|
|
57
47
|
removable: boolean;
|
|
58
48
|
/**
|
|
@@ -61,20 +51,57 @@ export declare class ChipComponent implements OnInit, AfterViewInit {
|
|
|
61
51
|
*/
|
|
62
52
|
removeIcon: string;
|
|
63
53
|
/**
|
|
64
|
-
*
|
|
54
|
+
* If set to `true`, the Chip will be disabled.
|
|
55
|
+
* @default false
|
|
56
|
+
*/
|
|
57
|
+
disabled: boolean;
|
|
58
|
+
/**
|
|
59
|
+
* The size property specifies the height, padding and line height of the Chip
|
|
60
|
+
* ([see example]({% slug appearance_chip %}#toc-size)).
|
|
65
61
|
*
|
|
66
62
|
* The possible values are:
|
|
67
|
-
*
|
|
68
|
-
*
|
|
69
|
-
*
|
|
70
|
-
*
|
|
71
|
-
* - `info`
|
|
63
|
+
* * `'small'`
|
|
64
|
+
* * `'medium'` (default)
|
|
65
|
+
* * `'large'`
|
|
66
|
+
* * `null`
|
|
72
67
|
*/
|
|
73
|
-
|
|
68
|
+
size: ChipSize;
|
|
74
69
|
/**
|
|
75
|
-
*
|
|
70
|
+
* The rounded property specifies the border radius of the Chip
|
|
71
|
+
* ([see example]({% slug appearance_chip %}#toc-rounded)).
|
|
72
|
+
*
|
|
73
|
+
* The possible values are:
|
|
74
|
+
* * `'small'`
|
|
75
|
+
* * `'medium'` (default)
|
|
76
|
+
* * `'large'`
|
|
77
|
+
* * `'full'`
|
|
78
|
+
* * `null`
|
|
76
79
|
*/
|
|
77
|
-
|
|
80
|
+
rounded: ChipRounded;
|
|
81
|
+
/**
|
|
82
|
+
* The fillMode property specifies the background and border styles of the Chip
|
|
83
|
+
* ([see example]({% slug appearance_chip %}#toc-fillMode)).
|
|
84
|
+
*
|
|
85
|
+
* The possible values are:
|
|
86
|
+
* * `'solid'` (default)
|
|
87
|
+
* * `'outline'`
|
|
88
|
+
* * `null`
|
|
89
|
+
*/
|
|
90
|
+
fillMode: ChipFillMode;
|
|
91
|
+
/**
|
|
92
|
+
* The Chip allows you to specify predefined theme colors.
|
|
93
|
+
* The theme color will be applied as a background and border color while also amending the text color accordingly
|
|
94
|
+
* ([see example]({% slug appearance_chip %}#toc-themeColor)).
|
|
95
|
+
*
|
|
96
|
+
* The possible values are:
|
|
97
|
+
* * `'base'` (default)
|
|
98
|
+
* * `'info'`
|
|
99
|
+
* * `'success'`
|
|
100
|
+
* * `'warning'`
|
|
101
|
+
* * `'error'`
|
|
102
|
+
* * `null`
|
|
103
|
+
*/
|
|
104
|
+
themeColor: ChipThemeColor;
|
|
78
105
|
/**
|
|
79
106
|
* Fires each time the user clicks the remove icon of the Chip.
|
|
80
107
|
*/
|
|
@@ -86,8 +113,6 @@ export declare class ChipComponent implements OnInit, AfterViewInit {
|
|
|
86
113
|
tabIndex: number;
|
|
87
114
|
readonly ariaChecked: boolean;
|
|
88
115
|
hostClass: boolean;
|
|
89
|
-
readonly outlineClass: boolean;
|
|
90
|
-
readonly solidClass: boolean;
|
|
91
116
|
readonly hasIconClass: boolean;
|
|
92
117
|
readonly disabledClass: boolean;
|
|
93
118
|
readonly selectedClass: boolean;
|
|
@@ -96,6 +121,10 @@ export declare class ChipComponent implements OnInit, AfterViewInit {
|
|
|
96
121
|
* @hidden
|
|
97
122
|
*/
|
|
98
123
|
direction: string;
|
|
124
|
+
private _size;
|
|
125
|
+
private _rounded;
|
|
126
|
+
private _fillMode;
|
|
127
|
+
private _themeColor;
|
|
99
128
|
private focused;
|
|
100
129
|
private dynamicRTLSubscription;
|
|
101
130
|
private detachDomEvents;
|
|
@@ -106,19 +135,19 @@ export declare class ChipComponent implements OnInit, AfterViewInit {
|
|
|
106
135
|
/**
|
|
107
136
|
* @hidden
|
|
108
137
|
*/
|
|
109
|
-
readonly
|
|
138
|
+
readonly kendoIconClass: string;
|
|
110
139
|
/**
|
|
111
140
|
* @hidden
|
|
112
141
|
*/
|
|
113
|
-
readonly
|
|
142
|
+
readonly customIconClass: string;
|
|
114
143
|
/**
|
|
115
144
|
* @hidden
|
|
116
145
|
*/
|
|
117
|
-
readonly
|
|
146
|
+
readonly chipAvatarClass: string;
|
|
118
147
|
/**
|
|
119
148
|
* @hidden
|
|
120
149
|
*/
|
|
121
|
-
|
|
150
|
+
readonly removeIconClass: string;
|
|
122
151
|
/**
|
|
123
152
|
* Focuses the Chip component.
|
|
124
153
|
*/
|
|
@@ -132,4 +161,10 @@ export declare class ChipComponent implements OnInit, AfterViewInit {
|
|
|
132
161
|
*/
|
|
133
162
|
onRemoveClick(e: any): void;
|
|
134
163
|
private attachElementEventHandlers;
|
|
164
|
+
/**
|
|
165
|
+
* @hidden
|
|
166
|
+
*/
|
|
167
|
+
private verifyIconSettings;
|
|
168
|
+
private handleClasses;
|
|
169
|
+
private handleThemeColor;
|
|
135
170
|
}
|