@progress/kendo-angular-buttons 17.0.0-develop.9 → 17.0.1-develop.1
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/README.md +27 -106
- package/button/button.component.d.ts +1 -1
- package/button/selection-settings.d.ts +1 -1
- package/buttongroup/buttongroup.component.d.ts +1 -1
- package/chip/chip-list.component.d.ts +8 -7
- package/chip/chip.component.d.ts +8 -7
- package/chip/models/avatar-settings.interface.d.ts +33 -0
- package/chip/models/selection.d.ts +1 -1
- package/common/models/fillmode.d.ts +2 -2
- package/common/models/rounded.d.ts +2 -2
- package/common/models/size.d.ts +2 -6
- package/common/models/theme-color.d.ts +2 -2
- package/direction.d.ts +1 -1
- package/dropdownbutton/dropdownbutton.component.d.ts +7 -10
- package/{esm2020 → esm2022}/button/button.component.mjs +63 -52
- package/{esm2020 → esm2022}/button/button.module.mjs +4 -4
- package/{esm2020 → esm2022}/button/button.service.mjs +5 -7
- package/{esm2020 → esm2022}/buttongroup/buttongroup.component.mjs +76 -51
- package/{esm2020 → esm2022}/buttongroup/buttongroup.module.mjs +4 -4
- package/{esm2020 → esm2022}/buttons.module.mjs +4 -4
- package/{esm2020 → esm2022}/chip/chip-list.component.mjs +65 -48
- package/{esm2020 → esm2022}/chip/chip.component.mjs +160 -93
- package/{esm2020 → esm2022}/chip/chip.module.mjs +4 -4
- package/{esm2020 → esm2022}/dropdownbutton/dropdownbutton.component.mjs +125 -117
- package/{esm2020 → esm2022}/dropdownbutton/dropdownbutton.module.mjs +4 -4
- package/{esm2020 → esm2022}/floatingactionbutton/dial-item.component.mjs +21 -11
- package/{esm2020 → esm2022}/floatingactionbutton/dial-list.component.mjs +16 -11
- package/{esm2020 → esm2022}/floatingactionbutton/floatingactionbutton.component.mjs +145 -102
- package/{esm2020 → esm2022}/floatingactionbutton/floatingactionbutton.module.mjs +4 -4
- package/{esm2020 → esm2022}/floatingactionbutton/templates/dial-item-template.directive.mjs +4 -3
- package/{esm2020 → esm2022}/floatingactionbutton/templates/fab-template.directive.mjs +4 -3
- package/{esm2020 → esm2022}/focusable/focus.service.mjs +5 -6
- package/{esm2020 → esm2022}/focusable/focusable.directive.mjs +8 -4
- package/{esm2020 → esm2022}/index.mjs +0 -1
- package/{esm2020 → esm2022}/listbutton/button-item-template.directive.mjs +4 -3
- package/{esm2020 → esm2022}/listbutton/container.service.mjs +5 -3
- package/{esm2020 → esm2022}/listbutton/list-button.mjs +88 -51
- package/{esm2020 → esm2022}/listbutton/list.component.mjs +13 -10
- package/esm2022/listbutton/popup-settings.mjs +5 -0
- package/{esm2020 → esm2022}/navigation/navigation.service.mjs +12 -11
- package/{esm2020 → esm2022}/package-metadata.mjs +2 -2
- package/{esm2020 → esm2022}/preventable-event.mjs +1 -3
- package/{esm2020 → esm2022}/splitbutton/localization/custom-messages.component.mjs +7 -6
- package/{esm2020 → esm2022}/splitbutton/localization/localized-messages.directive.mjs +9 -8
- package/esm2022/splitbutton/localization/messages.mjs +45 -0
- package/{esm2020 → esm2022}/splitbutton/splitbutton.component.mjs +214 -188
- package/{esm2020 → esm2022}/splitbutton/splitbutton.module.mjs +4 -4
- package/{esm2020 → esm2022}/util.mjs +6 -0
- package/{fesm2020 → fesm2022}/progress-kendo-angular-buttons.mjs +1318 -1056
- package/floatingactionbutton/dial-item.component.d.ts +1 -1
- package/floatingactionbutton/dial-list.component.d.ts +1 -1
- package/floatingactionbutton/floatingactionbutton.component.d.ts +1 -1
- package/floatingactionbutton/models/position-mode.d.ts +1 -1
- package/focusable/focusable.directive.d.ts +1 -1
- package/index.d.ts +1 -1
- package/listbutton/list-button.d.ts +9 -4
- package/listbutton/list.component.d.ts +1 -1
- package/package.json +15 -21
- package/schematics/ngAdd/index.js +1 -1
- package/splitbutton/localization/messages.d.ts +1 -1
- package/splitbutton/splitbutton.component.d.ts +8 -16
- package/util.d.ts +6 -0
- package/esm2020/listbutton/list.module.mjs +0 -33
- package/esm2020/splitbutton/localization/messages.mjs +0 -23
- package/fesm2015/progress-kendo-angular-buttons.mjs +0 -5551
- package/listbutton/list.module.d.ts +0 -13
- /package/{esm2020 → esm2022}/button/selection-settings.mjs +0 -0
- /package/{esm2020 → esm2022}/chip/chip-content-click-event-args.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/chip/chip-list-remove-event-args.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/chip/chip-remove-event-args.interface.mjs +0 -0
- /package/{esm2020/chip/models/selection.mjs → esm2022/chip/models/avatar-settings.interface.mjs} +0 -0
- /package/{esm2020/common/models/arrow-settings.mjs → esm2022/chip/models/selection.mjs} +0 -0
- /package/{esm2020/common/models/fillmode.mjs → esm2022/common/models/arrow-settings.mjs} +0 -0
- /package/{esm2020/common/models/rounded.mjs → esm2022/common/models/fillmode.mjs} +0 -0
- /package/{esm2020/common/models/size.mjs → esm2022/common/models/rounded.mjs} +0 -0
- /package/{esm2020/common/models/styling-classes.mjs → esm2022/common/models/size.mjs} +0 -0
- /package/{esm2020/common/models/theme-color.mjs → esm2022/common/models/styling-classes.mjs} +0 -0
- /package/{esm2020/direction.mjs → esm2022/common/models/theme-color.mjs} +0 -0
- /package/{esm2020 → esm2022}/common/models.mjs +0 -0
- /package/{esm2020/floatingactionbutton/models/align.mjs → esm2022/direction.mjs} +0 -0
- /package/{esm2020 → esm2022}/directives.mjs +0 -0
- /package/{esm2020 → esm2022}/floatingactionbutton/animations/animations.mjs +0 -0
- /package/{esm2020/floatingactionbutton/models/item-animation.interface.mjs → esm2022/floatingactionbutton/models/align.mjs} +0 -0
- /package/{esm2020/floatingactionbutton/models/item-click.event.mjs → esm2022/floatingactionbutton/models/item-animation.interface.mjs} +0 -0
- /package/{esm2020/floatingactionbutton/models/item.interface.mjs → esm2022/floatingactionbutton/models/item-click.event.mjs} +0 -0
- /package/{esm2020/floatingactionbutton/models/offset.mjs → esm2022/floatingactionbutton/models/item.interface.mjs} +0 -0
- /package/{esm2020/floatingactionbutton/models/position-mode.mjs → esm2022/floatingactionbutton/models/offset.mjs} +0 -0
- /package/{esm2020/listbutton/list-item-model.mjs → esm2022/floatingactionbutton/models/position-mode.mjs} +0 -0
- /package/{esm2020 → esm2022}/floatingactionbutton/utils.mjs +0 -0
- /package/{esm2020/listbutton/popup-settings.mjs → esm2022/listbutton/list-item-model.mjs} +0 -0
- /package/{esm2020 → esm2022}/navigation/key-events.mjs +0 -0
- /package/{esm2020 → esm2022}/navigation/navigation-action.mjs +0 -0
- /package/{esm2020 → esm2022}/navigation/navigation-config.mjs +0 -0
- /package/{esm2020 → esm2022}/progress-kendo-angular-buttons.mjs +0 -0
|
@@ -3,16 +3,16 @@
|
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import * as i0 from '@angular/core';
|
|
6
|
-
import { Injectable,
|
|
6
|
+
import { Injectable, isDevMode, EventEmitter, Component, Optional, Input, Output, HostBinding, HostListener, ContentChildren, Directive, InjectionToken, Inject, ElementRef, ViewContainerRef, ViewChild, ContentChild, forwardRef, NgModule } from '@angular/core';
|
|
7
7
|
import { Subject, Subscription, fromEvent, merge } from 'rxjs';
|
|
8
|
-
import { isDocumentAvailable, isFirefox, isSafari, isChanged, hasObservers, Keys, MultiTabStop, guid,
|
|
8
|
+
import { isDocumentAvailable, isFirefox, isSafari, isChanged, hasObservers, Keys, TemplateContextDirective, MultiTabStop, guid, isPresent as isPresent$1, EventsOutsideAngularDirective, anyChanged, ResizeBatchService } from '@progress/kendo-angular-common';
|
|
9
9
|
export { ToggleButtonTabStopDirective } from '@progress/kendo-angular-common';
|
|
10
10
|
import { caretAltDownIcon, xCircleIcon, moreVerticalIcon } from '@progress/kendo-svg-icons';
|
|
11
11
|
import * as i1 from '@progress/kendo-angular-l10n';
|
|
12
12
|
import { LocalizationService, L10N_PREFIX, ComponentMessages } from '@progress/kendo-angular-l10n';
|
|
13
13
|
import { validatePackage } from '@progress/kendo-licensing';
|
|
14
14
|
import { IconWrapperComponent, IconsService } from '@progress/kendo-angular-icons';
|
|
15
|
-
import { NgIf, NgClass, NgFor, NgTemplateOutlet
|
|
15
|
+
import { NgIf, NgClass, NgStyle, NgFor, NgTemplateOutlet } from '@angular/common';
|
|
16
16
|
import { filter, tap, take } from 'rxjs/operators';
|
|
17
17
|
import * as i3 from '@progress/kendo-angular-popup';
|
|
18
18
|
import { PopupService } from '@progress/kendo-angular-popup';
|
|
@@ -23,17 +23,15 @@ import { sequence, query, style, stagger, animate } from '@angular/animations';
|
|
|
23
23
|
* @hidden
|
|
24
24
|
*/
|
|
25
25
|
class KendoButtonService {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
this.buttonClicked$ = this.buttonClicked.asObservable();
|
|
29
|
-
}
|
|
26
|
+
buttonClicked = new Subject();
|
|
27
|
+
buttonClicked$ = this.buttonClicked.asObservable();
|
|
30
28
|
click(button) {
|
|
31
29
|
this.buttonClicked.next(button);
|
|
32
30
|
}
|
|
31
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: KendoButtonService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
32
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: KendoButtonService });
|
|
33
33
|
}
|
|
34
|
-
|
|
35
|
-
KendoButtonService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: KendoButtonService });
|
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: KendoButtonService, decorators: [{
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: KendoButtonService, decorators: [{
|
|
37
35
|
type: Injectable
|
|
38
36
|
}] });
|
|
39
37
|
|
|
@@ -44,8 +42,8 @@ const packageMetadata = {
|
|
|
44
42
|
name: '@progress/kendo-angular-buttons',
|
|
45
43
|
productName: 'Kendo UI for Angular',
|
|
46
44
|
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
|
47
|
-
publishDate:
|
|
48
|
-
version: '17.0.
|
|
45
|
+
publishDate: 1731429614,
|
|
46
|
+
version: '17.0.1-develop.1',
|
|
49
47
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
50
48
|
};
|
|
51
49
|
|
|
@@ -140,6 +138,12 @@ const getThemeColorClasses = (componentType, prevFillMode, fillMode, previousVal
|
|
|
140
138
|
toAdd: newValue !== 'none' ? `k-${componentType}-${fillMode}-${newValue}` : ''
|
|
141
139
|
};
|
|
142
140
|
};
|
|
141
|
+
/**
|
|
142
|
+
* @hidden
|
|
143
|
+
*
|
|
144
|
+
* Checks for an empty object - {}
|
|
145
|
+
*/
|
|
146
|
+
const isObjectEmpty = (obj) => obj && Object.keys(obj).length === 0 && obj.constructor === Object;
|
|
143
147
|
|
|
144
148
|
const DEFAULT_ROUNDED$3 = 'medium';
|
|
145
149
|
const DEFAULT_SIZE$2 = 'medium';
|
|
@@ -152,45 +156,21 @@ const DEFAULT_FILL_MODE$3 = 'solid';
|
|
|
152
156
|
* Please use the `button[kendoButton]` selector only.
|
|
153
157
|
*/
|
|
154
158
|
class ButtonComponent {
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
this.toggleable = false;
|
|
171
|
-
/**
|
|
172
|
-
* Fires each time the selected state of a toggleable button is changed.
|
|
173
|
-
*
|
|
174
|
-
* The event argument is the new selected state (boolean).
|
|
175
|
-
*/
|
|
176
|
-
this.selectedChange = new EventEmitter();
|
|
177
|
-
/**
|
|
178
|
-
* Fires each time the user clicks the button.
|
|
179
|
-
*/
|
|
180
|
-
this.click = new EventEmitter();
|
|
181
|
-
this.isDisabled = false;
|
|
182
|
-
this.caretAltDownIcon = caretAltDownIcon;
|
|
183
|
-
this._size = DEFAULT_SIZE$2;
|
|
184
|
-
this._rounded = DEFAULT_ROUNDED$3;
|
|
185
|
-
this._fillMode = DEFAULT_FILL_MODE$3;
|
|
186
|
-
this._themeColor = DEFAULT_THEME_COLOR$2;
|
|
187
|
-
this._focused = false;
|
|
188
|
-
this.subs = new Subscription();
|
|
189
|
-
validatePackage(packageMetadata);
|
|
190
|
-
this.direction = localization.rtl ? 'rtl' : 'ltr';
|
|
191
|
-
this.subs.add(localization.changes.subscribe(({ rtl }) => (this.direction = rtl ? 'rtl' : 'ltr')));
|
|
192
|
-
this.element = element.nativeElement;
|
|
193
|
-
}
|
|
159
|
+
renderer;
|
|
160
|
+
service;
|
|
161
|
+
ngZone;
|
|
162
|
+
/**
|
|
163
|
+
* @hidden
|
|
164
|
+
* @default false
|
|
165
|
+
* required for DropDownButton arrow icon.
|
|
166
|
+
*/
|
|
167
|
+
arrowIcon = false;
|
|
168
|
+
/**
|
|
169
|
+
* Provides visual styling that indicates if the Button is active.
|
|
170
|
+
*
|
|
171
|
+
* @default false
|
|
172
|
+
*/
|
|
173
|
+
toggleable = false;
|
|
194
174
|
/**
|
|
195
175
|
* Backwards-compatible alias
|
|
196
176
|
*
|
|
@@ -225,6 +205,11 @@ class ButtonComponent {
|
|
|
225
205
|
get tabIndex() {
|
|
226
206
|
return this.element.tabIndex;
|
|
227
207
|
}
|
|
208
|
+
/**
|
|
209
|
+
* Defines a URL which is used for an `img` element inside the Button.
|
|
210
|
+
* The URL can be relative or absolute. If relative, it is evaluated with relation to the web page URL.
|
|
211
|
+
*/
|
|
212
|
+
imageUrl;
|
|
228
213
|
/**
|
|
229
214
|
* Defines a CSS class—or multiple classes separated by spaces—
|
|
230
215
|
* which are applied to a `span` element inside the Button. Allows the usage of custom icons.
|
|
@@ -335,6 +320,30 @@ class ButtonComponent {
|
|
|
335
320
|
get svgIcon() {
|
|
336
321
|
return this._svgIcon;
|
|
337
322
|
}
|
|
323
|
+
/**
|
|
324
|
+
* Fires each time the selected state of a toggleable button is changed.
|
|
325
|
+
*
|
|
326
|
+
* The event argument is the new selected state (boolean).
|
|
327
|
+
*/
|
|
328
|
+
selectedChange = new EventEmitter();
|
|
329
|
+
/**
|
|
330
|
+
* Fires each time the user clicks the button.
|
|
331
|
+
*/
|
|
332
|
+
click = new EventEmitter();
|
|
333
|
+
element;
|
|
334
|
+
isDisabled = false;
|
|
335
|
+
caretAltDownIcon = caretAltDownIcon;
|
|
336
|
+
_size = DEFAULT_SIZE$2;
|
|
337
|
+
_rounded = DEFAULT_ROUNDED$3;
|
|
338
|
+
_fillMode = DEFAULT_FILL_MODE$3;
|
|
339
|
+
_themeColor = DEFAULT_THEME_COLOR$2;
|
|
340
|
+
_focused = false;
|
|
341
|
+
direction;
|
|
342
|
+
_selected;
|
|
343
|
+
subs = new Subscription();
|
|
344
|
+
_iconClass;
|
|
345
|
+
_icon;
|
|
346
|
+
_svgIcon;
|
|
338
347
|
set isFocused(isFocused) {
|
|
339
348
|
this.toggleClass('k-focus', isFocused);
|
|
340
349
|
this._focused = isFocused;
|
|
@@ -401,6 +410,15 @@ class ButtonComponent {
|
|
|
401
410
|
get nativeElement() {
|
|
402
411
|
return this.element;
|
|
403
412
|
}
|
|
413
|
+
constructor(element, renderer, service, localization, ngZone) {
|
|
414
|
+
this.renderer = renderer;
|
|
415
|
+
this.service = service;
|
|
416
|
+
this.ngZone = ngZone;
|
|
417
|
+
validatePackage(packageMetadata);
|
|
418
|
+
this.direction = localization.rtl ? 'rtl' : 'ltr';
|
|
419
|
+
this.subs.add(localization.changes.subscribe(({ rtl }) => (this.direction = rtl ? 'rtl' : 'ltr')));
|
|
420
|
+
this.element = element.nativeElement;
|
|
421
|
+
}
|
|
404
422
|
ngOnInit() {
|
|
405
423
|
if (!this.element.hasAttribute('role') && this.togglable) {
|
|
406
424
|
this.toggleAriaPressed(this.toggleable);
|
|
@@ -536,15 +554,14 @@ class ButtonComponent {
|
|
|
536
554
|
}
|
|
537
555
|
}
|
|
538
556
|
}
|
|
539
|
-
}
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
], exportAs: ["kendoButton"], usesOnChanges: true, ngImport: i0, template: `
|
|
557
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.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 });
|
|
558
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ButtonComponent, isStandalone: true, selector: "button[kendoButton]", 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", 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", "class.k-disabled": "this.classDisabled", "class.k-selected": "this.classActive", "attr.dir": "this.getDirection" } }, providers: [
|
|
559
|
+
LocalizationService,
|
|
560
|
+
{
|
|
561
|
+
provide: L10N_PREFIX,
|
|
562
|
+
useValue: 'kendo.button'
|
|
563
|
+
}
|
|
564
|
+
], exportAs: ["kendoButton"], usesOnChanges: true, ngImport: i0, template: `
|
|
548
565
|
<kendo-icon-wrapper
|
|
549
566
|
*ngIf="icon || svgIcon"
|
|
550
567
|
innerCssClass="k-button-icon"
|
|
@@ -563,7 +580,8 @@ ButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", versio
|
|
|
563
580
|
</span>
|
|
564
581
|
|
|
565
582
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
566
|
-
|
|
583
|
+
}
|
|
584
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonComponent, decorators: [{
|
|
567
585
|
type: Component,
|
|
568
586
|
args: [{
|
|
569
587
|
exportAs: 'kendoButton',
|
|
@@ -641,9 +659,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
641
659
|
type: HostBinding,
|
|
642
660
|
args: ['class.k-icon-button']
|
|
643
661
|
}], classDisabled: [{
|
|
644
|
-
type: HostBinding,
|
|
645
|
-
args: ['attr.aria-disabled']
|
|
646
|
-
}, {
|
|
647
662
|
type: HostBinding,
|
|
648
663
|
args: ['class.k-disabled']
|
|
649
664
|
}], classActive: [{
|
|
@@ -668,9 +683,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
668
683
|
* @hidden
|
|
669
684
|
*/
|
|
670
685
|
class PreventableEvent {
|
|
671
|
-
|
|
672
|
-
this.prevented = false;
|
|
673
|
-
}
|
|
686
|
+
prevented = false;
|
|
674
687
|
/**
|
|
675
688
|
* Prevents the default action for a specified event.
|
|
676
689
|
* In this way, the source component suppresses the built-in behavior that follows the event.
|
|
@@ -696,46 +709,34 @@ const tabindex = 'tabindex';
|
|
|
696
709
|
* Represents the Kendo UI ButtonGroup component for Angular.
|
|
697
710
|
*/
|
|
698
711
|
class ButtonGroupComponent {
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
this.focusHandler = () => {
|
|
728
|
-
this.currentTabIndex = -1;
|
|
729
|
-
this.defocus(this.buttons.toArray());
|
|
730
|
-
const firstFocusableIndex = this.buttons.toArray().findIndex(current => !current.disabled);
|
|
731
|
-
const index = this.lastFocusedIndex === -1 ? firstFocusableIndex : this.lastFocusedIndex;
|
|
732
|
-
this.focus(this.buttons.filter((_current, i) => {
|
|
733
|
-
return i === index;
|
|
734
|
-
}));
|
|
735
|
-
};
|
|
736
|
-
validatePackage(packageMetadata);
|
|
737
|
-
this.subs.add(localization.changes.subscribe(({ rtl }) => this.direction = rtl ? 'rtl' : 'ltr'));
|
|
738
|
-
}
|
|
712
|
+
service;
|
|
713
|
+
renderer;
|
|
714
|
+
element;
|
|
715
|
+
/**
|
|
716
|
+
* By default, the ButtonGroup is enabled.
|
|
717
|
+
* To disable the whole group of buttons, set its `disabled` attribute to `true`.
|
|
718
|
+
*
|
|
719
|
+
* To disable a specific button, set its own `disabled` attribute to `true`
|
|
720
|
+
* and leave the `disabled` attribute of the ButtonGroup undefined.
|
|
721
|
+
* If you define the `disabled` attribute of the ButtonGroup, it will take
|
|
722
|
+
* precedence over the `disabled` attributes of the underlying buttons and they will be ignored.
|
|
723
|
+
*
|
|
724
|
+
* For more information on how to configure the Button, refer to
|
|
725
|
+
* its [API documentation]({% slug api_buttons_buttoncomponent %}).
|
|
726
|
+
*/
|
|
727
|
+
disabled;
|
|
728
|
+
/**
|
|
729
|
+
* The selection mode of the ButtonGroup.
|
|
730
|
+
* @default 'multiple'
|
|
731
|
+
*/
|
|
732
|
+
selection = 'multiple';
|
|
733
|
+
/**
|
|
734
|
+
* Sets the width of the ButtonGroup.
|
|
735
|
+
* If the width of the ButtonGroup is set:
|
|
736
|
+
* - The buttons resize automatically to fill the full width of the group wrapper.
|
|
737
|
+
* - The buttons acquire the same width.
|
|
738
|
+
*/
|
|
739
|
+
width;
|
|
739
740
|
/**
|
|
740
741
|
* Specifies the [`tabIndex`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of the component.
|
|
741
742
|
*/
|
|
@@ -746,12 +747,33 @@ class ButtonGroupComponent {
|
|
|
746
747
|
get tabIndex() {
|
|
747
748
|
return this._tabIndex;
|
|
748
749
|
}
|
|
750
|
+
/**
|
|
751
|
+
* When this option is set to `true` (default), the component is a single tab-stop,
|
|
752
|
+
* and focus is moved through the inner buttons via the arrow keys.
|
|
753
|
+
*
|
|
754
|
+
* When the option is set to `false`, the inner buttons are part of the natural tab sequence of the page.
|
|
755
|
+
*
|
|
756
|
+
* @default true
|
|
757
|
+
*/
|
|
758
|
+
navigable = true;
|
|
759
|
+
/**
|
|
760
|
+
* Fires every time keyboard navigation occurs.
|
|
761
|
+
*/
|
|
762
|
+
navigate = new EventEmitter();
|
|
763
|
+
buttons;
|
|
764
|
+
_tabIndex = 0;
|
|
765
|
+
currentTabIndex = 0;
|
|
766
|
+
lastFocusedIndex = -1;
|
|
767
|
+
direction;
|
|
768
|
+
subs = new Subscription();
|
|
769
|
+
wrapperClasses = true;
|
|
749
770
|
get disabledClass() {
|
|
750
771
|
return this.disabled;
|
|
751
772
|
}
|
|
752
773
|
get stretchedClass() {
|
|
753
774
|
return !!this.width;
|
|
754
775
|
}
|
|
776
|
+
role = 'group';
|
|
755
777
|
get dir() {
|
|
756
778
|
return this.direction;
|
|
757
779
|
}
|
|
@@ -764,6 +786,13 @@ class ButtonGroupComponent {
|
|
|
764
786
|
get wrapperTabIndex() {
|
|
765
787
|
return this.disabled ? undefined : this.navigable ? this.currentTabIndex : undefined;
|
|
766
788
|
}
|
|
789
|
+
constructor(service, localization, renderer, element) {
|
|
790
|
+
this.service = service;
|
|
791
|
+
this.renderer = renderer;
|
|
792
|
+
this.element = element;
|
|
793
|
+
validatePackage(packageMetadata);
|
|
794
|
+
this.subs.add(localization.changes.subscribe(({ rtl }) => this.direction = rtl ? 'rtl' : 'ltr'));
|
|
795
|
+
}
|
|
767
796
|
ngOnInit() {
|
|
768
797
|
this.subs.add(this.service.buttonClicked$.subscribe((button) => {
|
|
769
798
|
let newSelectionValue;
|
|
@@ -904,19 +933,28 @@ class ButtonGroupComponent {
|
|
|
904
933
|
.pipe(filter(predicate))
|
|
905
934
|
.subscribe(handler));
|
|
906
935
|
}
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
{
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
936
|
+
focusHandler = () => {
|
|
937
|
+
this.currentTabIndex = -1;
|
|
938
|
+
this.defocus(this.buttons.toArray());
|
|
939
|
+
const firstFocusableIndex = this.buttons.toArray().findIndex(current => !current.disabled);
|
|
940
|
+
const index = this.lastFocusedIndex === -1 ? firstFocusableIndex : this.lastFocusedIndex;
|
|
941
|
+
this.focus(this.buttons.filter((_current, i) => {
|
|
942
|
+
return i === index;
|
|
943
|
+
}));
|
|
944
|
+
};
|
|
945
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonGroupComponent, deps: [{ token: KendoButtonService }, { token: i1.LocalizationService }, { token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
946
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ButtonGroupComponent, isStandalone: true, selector: "kendo-buttongroup", inputs: { disabled: "disabled", selection: "selection", width: "width", tabIndex: "tabIndex", navigable: "navigable" }, outputs: { navigate: "navigate" }, host: { properties: { "class.k-button-group": "this.wrapperClasses", "class.k-disabled": "this.disabledClass", "class.k-button-group-stretched": "this.stretchedClass", "attr.role": "this.role", "attr.dir": "this.dir", "attr.aria-disabled": "this.ariaDisabled", "style.width": "this.wrapperWidth", "attr.tabindex": "this.wrapperTabIndex" } }, providers: [
|
|
947
|
+
KendoButtonService,
|
|
948
|
+
LocalizationService,
|
|
949
|
+
{
|
|
950
|
+
provide: L10N_PREFIX,
|
|
951
|
+
useValue: 'kendo.buttongroup'
|
|
952
|
+
}
|
|
953
|
+
], queries: [{ propertyName: "buttons", predicate: ButtonComponent }], exportAs: ["kendoButtonGroup"], usesOnChanges: true, ngImport: i0, template: `
|
|
917
954
|
<ng-content select="[kendoButton]"></ng-content>
|
|
918
955
|
`, isInline: true });
|
|
919
|
-
|
|
956
|
+
}
|
|
957
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonGroupComponent, decorators: [{
|
|
920
958
|
type: Component,
|
|
921
959
|
args: [{
|
|
922
960
|
exportAs: 'kendoButtonGroup',
|
|
@@ -986,66 +1024,77 @@ const DEFAULT_FILL_MODE$2 = 'solid';
|
|
|
986
1024
|
* Displays a Chip that represents an input, attribute or an action.
|
|
987
1025
|
*/
|
|
988
1026
|
class ChipComponent {
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1027
|
+
element;
|
|
1028
|
+
renderer;
|
|
1029
|
+
ngZone;
|
|
1030
|
+
localizationService;
|
|
1031
|
+
/**
|
|
1032
|
+
* Sets the label text of the Chip.
|
|
1033
|
+
*/
|
|
1034
|
+
label;
|
|
1035
|
+
/**
|
|
1036
|
+
* Defines the name for an existing icon in a Kendo UI theme.
|
|
1037
|
+
* The icon is rendered inside the Chip by a `span.k-icon` element.
|
|
1038
|
+
*/
|
|
1039
|
+
icon;
|
|
1040
|
+
/**
|
|
1041
|
+
* Defines an [`SVGIcon`](slug:api_icons_svgicon) icon to be rendered inside the Chip using
|
|
1042
|
+
* a [`KendoSVGIcon`](slug:api_icons_svgiconcomponent) component.
|
|
1043
|
+
*/
|
|
1044
|
+
svgIcon;
|
|
1045
|
+
/**
|
|
1046
|
+
* Defines a CSS class — or multiple classes separated by spaces —
|
|
1047
|
+
* which are applied to a span element.
|
|
1048
|
+
* Allows the usage of custom icons.
|
|
1049
|
+
*/
|
|
1050
|
+
iconClass;
|
|
1051
|
+
/**
|
|
1052
|
+
* Use these settings to render an avatar within the Chip.
|
|
1053
|
+
*/
|
|
1054
|
+
avatarSettings;
|
|
1055
|
+
/**
|
|
1056
|
+
* Specifies the selected state of the Chip.
|
|
1057
|
+
* @default false
|
|
1058
|
+
*/
|
|
1059
|
+
selected = false;
|
|
1060
|
+
/**
|
|
1061
|
+
* Specifies if the Chip will be removable or not.
|
|
1062
|
+
* If the property is set to `true`, the Chip renders a remove icon.
|
|
1063
|
+
* @default false
|
|
1064
|
+
*/
|
|
1065
|
+
removable = false;
|
|
1066
|
+
/**
|
|
1067
|
+
* Specifies a custom remove font icon class that will be rendered when the Chip is removable.
|
|
1068
|
+
* [see example]({% slug icons %})
|
|
1069
|
+
*/
|
|
1070
|
+
removeIcon;
|
|
1071
|
+
/**
|
|
1072
|
+
* Specifies a custom remove SVG icon that will be rendered when the Chip is removable.
|
|
1073
|
+
*/
|
|
1074
|
+
removeSvgIcon;
|
|
1075
|
+
/**
|
|
1076
|
+
* @hidden
|
|
1077
|
+
*
|
|
1078
|
+
* Determines whether the Chip has a menu.
|
|
1079
|
+
*/
|
|
1080
|
+
hasMenu = false;
|
|
1081
|
+
/**
|
|
1082
|
+
* @hidden
|
|
1083
|
+
*
|
|
1084
|
+
* Specifies a custom menu font icon class that will be rendered when the Chip has menu.
|
|
1085
|
+
*/
|
|
1086
|
+
menuIcon;
|
|
1087
|
+
/**
|
|
1088
|
+
* @hidden
|
|
1089
|
+
*
|
|
1090
|
+
* Specifies a custom menu SVG icon that will be rendered when the Chip has menu.
|
|
1091
|
+
*/
|
|
1092
|
+
menuSvgIcon;
|
|
1093
|
+
/**
|
|
1094
|
+
* If set to `true`, the Chip will be disabled.
|
|
1095
|
+
* @default false
|
|
1096
|
+
*/
|
|
1097
|
+
disabled = false;
|
|
1049
1098
|
/**
|
|
1050
1099
|
* The size property specifies the padding of the Chip
|
|
1051
1100
|
* ([see example]({% slug appearance_chip %}#toc-size)).
|
|
@@ -1058,6 +1107,7 @@ class ChipComponent {
|
|
|
1058
1107
|
*/
|
|
1059
1108
|
set size(size) {
|
|
1060
1109
|
const newSize = size ? size : DEFAULT_SIZE$1;
|
|
1110
|
+
!this.sizeIsSet && (this.sizeIsSet = true);
|
|
1061
1111
|
this.handleClasses(newSize, 'size');
|
|
1062
1112
|
this._size = newSize;
|
|
1063
1113
|
}
|
|
@@ -1121,8 +1171,24 @@ class ChipComponent {
|
|
|
1121
1171
|
get themeColor() {
|
|
1122
1172
|
return this._themeColor;
|
|
1123
1173
|
}
|
|
1174
|
+
/**
|
|
1175
|
+
* Fires each time the user clicks the remove icon of the Chip.
|
|
1176
|
+
*/
|
|
1177
|
+
remove = new EventEmitter();
|
|
1178
|
+
/**
|
|
1179
|
+
* @hidden
|
|
1180
|
+
*
|
|
1181
|
+
* Fires each time the user clicks the menu icon of the Chip.
|
|
1182
|
+
*/
|
|
1183
|
+
menuToggle = new EventEmitter();
|
|
1184
|
+
/**
|
|
1185
|
+
* Fires each time the user clicks the content of the Chip.
|
|
1186
|
+
*/
|
|
1187
|
+
contentClick = new EventEmitter();
|
|
1188
|
+
tabIndex = 0;
|
|
1189
|
+
hostClass = true;
|
|
1124
1190
|
get hasIconClass() {
|
|
1125
|
-
return Boolean(this.icon || this.iconClass || this.
|
|
1191
|
+
return Boolean(this.icon || this.iconClass || (this.avatarSettings && !isObjectEmpty(this.avatarSettings)));
|
|
1126
1192
|
}
|
|
1127
1193
|
get disabledClass() {
|
|
1128
1194
|
return this.disabled;
|
|
@@ -1133,6 +1199,36 @@ class ChipComponent {
|
|
|
1133
1199
|
get focusedClass() {
|
|
1134
1200
|
return this.focused;
|
|
1135
1201
|
}
|
|
1202
|
+
/**
|
|
1203
|
+
* @hidden
|
|
1204
|
+
*/
|
|
1205
|
+
direction;
|
|
1206
|
+
/**
|
|
1207
|
+
* @hidden
|
|
1208
|
+
*/
|
|
1209
|
+
defaultRemoveIcon = xCircleIcon;
|
|
1210
|
+
/**
|
|
1211
|
+
* @hidden
|
|
1212
|
+
*/
|
|
1213
|
+
defaultMenuIcon = moreVerticalIcon;
|
|
1214
|
+
/**
|
|
1215
|
+
* @hidden
|
|
1216
|
+
*/
|
|
1217
|
+
sizeIsSet = false;
|
|
1218
|
+
_size = 'medium';
|
|
1219
|
+
_rounded = 'medium';
|
|
1220
|
+
_fillMode = 'solid';
|
|
1221
|
+
_themeColor = 'base';
|
|
1222
|
+
focused = false;
|
|
1223
|
+
subs = new Subscription();
|
|
1224
|
+
constructor(element, renderer, ngZone, localizationService) {
|
|
1225
|
+
this.element = element;
|
|
1226
|
+
this.renderer = renderer;
|
|
1227
|
+
this.ngZone = ngZone;
|
|
1228
|
+
this.localizationService = localizationService;
|
|
1229
|
+
validatePackage(packageMetadata);
|
|
1230
|
+
this.direction = localizationService.rtl ? 'rtl' : 'ltr';
|
|
1231
|
+
}
|
|
1136
1232
|
ngOnInit() {
|
|
1137
1233
|
this.subs.add(this.localizationService.changes
|
|
1138
1234
|
.subscribe(({ rtl }) => this.direction = rtl ? 'rtl' : 'ltr'));
|
|
@@ -1161,23 +1257,16 @@ class ChipComponent {
|
|
|
1161
1257
|
* @hidden
|
|
1162
1258
|
*/
|
|
1163
1259
|
get kendoIconClass() {
|
|
1164
|
-
this.verifyIconSettings([this.iconClass
|
|
1260
|
+
this.verifyIconSettings([this.iconClass]);
|
|
1165
1261
|
return `k-i-${this.icon}`;
|
|
1166
1262
|
}
|
|
1167
1263
|
/**
|
|
1168
1264
|
* @hidden
|
|
1169
1265
|
*/
|
|
1170
1266
|
get customIconClass() {
|
|
1171
|
-
this.verifyIconSettings([this.icon
|
|
1267
|
+
this.verifyIconSettings([this.icon]);
|
|
1172
1268
|
return this.iconClass;
|
|
1173
1269
|
}
|
|
1174
|
-
/**
|
|
1175
|
-
* @hidden
|
|
1176
|
-
*/
|
|
1177
|
-
get chipAvatarClass() {
|
|
1178
|
-
this.verifyIconSettings([this.icon, this.iconClass]);
|
|
1179
|
-
return this.avatarClass;
|
|
1180
|
-
}
|
|
1181
1270
|
/**
|
|
1182
1271
|
* @hidden
|
|
1183
1272
|
*/
|
|
@@ -1288,15 +1377,14 @@ class ChipComponent {
|
|
|
1288
1377
|
});
|
|
1289
1378
|
}
|
|
1290
1379
|
}
|
|
1291
|
-
}
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
], usesOnChanges: true, ngImport: i0, template: `
|
|
1380
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1381
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ChipComponent, isStandalone: true, selector: "kendo-chip", inputs: { label: "label", icon: "icon", svgIcon: "svgIcon", iconClass: "iconClass", avatarSettings: "avatarSettings", selected: "selected", removable: "removable", removeIcon: "removeIcon", removeSvgIcon: "removeSvgIcon", hasMenu: "hasMenu", menuIcon: "menuIcon", menuSvgIcon: "menuSvgIcon", disabled: "disabled", size: "size", rounded: "rounded", fillMode: "fillMode", themeColor: "themeColor" }, outputs: { remove: "remove", menuToggle: "menuToggle", contentClick: "contentClick" }, host: { properties: { "attr.tabindex": "this.tabIndex", "class.k-chip": "this.hostClass", "class.k-chip-has-icon": "this.hasIconClass", "attr.aria-disabled": "this.disabledClass", "class.k-disabled": "this.disabledClass", "class.k-selected": "this.selectedClass", "class.k-focus": "this.focusedClass", "attr.dir": "this.direction" } }, providers: [
|
|
1382
|
+
LocalizationService,
|
|
1383
|
+
{
|
|
1384
|
+
provide: L10N_PREFIX,
|
|
1385
|
+
useValue: 'kendo.chip'
|
|
1386
|
+
}
|
|
1387
|
+
], usesOnChanges: true, ngImport: i0, template: `
|
|
1300
1388
|
<kendo-icon-wrapper
|
|
1301
1389
|
*ngIf="icon || svgIcon"
|
|
1302
1390
|
size="small"
|
|
@@ -1309,11 +1397,19 @@ ChipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version:
|
|
|
1309
1397
|
size="small"
|
|
1310
1398
|
innerCssClass="k-chip-icon"
|
|
1311
1399
|
[customFontClass]="customIconClass"></kendo-icon-wrapper>
|
|
1312
|
-
|
|
1313
1400
|
<span
|
|
1314
|
-
*ngIf="
|
|
1315
|
-
class="k-chip-avatar k-avatar k-avatar-
|
|
1316
|
-
|
|
1401
|
+
*ngIf="avatarSettings"
|
|
1402
|
+
class="k-chip-avatar k-avatar k-avatar-sm k-avatar-solid k-avatar-solid-primary k-rounded-full"
|
|
1403
|
+
[ngStyle]="avatarSettings.cssStyle">
|
|
1404
|
+
<ng-container *ngIf="avatarSettings?.imageSrc">
|
|
1405
|
+
<span class="k-avatar-image">
|
|
1406
|
+
<img src="{{ avatarSettings.imageSrc }}" [ngStyle]="avatarSettings.imageCssStyle" [attr.alt]="avatarSettings.imageAltText" />
|
|
1407
|
+
</span>
|
|
1408
|
+
</ng-container>
|
|
1409
|
+
|
|
1410
|
+
<ng-container *ngIf="avatarSettings?.initials">
|
|
1411
|
+
<span class="k-avatar-text" [ngStyle]="avatarSettings.initialsCssStyle">{{ avatarSettings.initials.substring(0, 2) }}</span>
|
|
1412
|
+
</ng-container>
|
|
1317
1413
|
</span>
|
|
1318
1414
|
|
|
1319
1415
|
<span class="k-chip-content">
|
|
@@ -1343,8 +1439,9 @@ ChipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version:
|
|
|
1343
1439
|
[customFontClass]="removeIcon"></kendo-icon-wrapper>
|
|
1344
1440
|
</span>
|
|
1345
1441
|
</span>
|
|
1346
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }
|
|
1347
|
-
|
|
1442
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }] });
|
|
1443
|
+
}
|
|
1444
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipComponent, decorators: [{
|
|
1348
1445
|
type: Component,
|
|
1349
1446
|
args: [{
|
|
1350
1447
|
selector: 'kendo-chip',
|
|
@@ -1361,11 +1458,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
1361
1458
|
size="small"
|
|
1362
1459
|
innerCssClass="k-chip-icon"
|
|
1363
1460
|
[customFontClass]="customIconClass"></kendo-icon-wrapper>
|
|
1364
|
-
|
|
1365
1461
|
<span
|
|
1366
|
-
*ngIf="
|
|
1367
|
-
class="k-chip-avatar k-avatar k-avatar-
|
|
1368
|
-
|
|
1462
|
+
*ngIf="avatarSettings"
|
|
1463
|
+
class="k-chip-avatar k-avatar k-avatar-sm k-avatar-solid k-avatar-solid-primary k-rounded-full"
|
|
1464
|
+
[ngStyle]="avatarSettings.cssStyle">
|
|
1465
|
+
<ng-container *ngIf="avatarSettings?.imageSrc">
|
|
1466
|
+
<span class="k-avatar-image">
|
|
1467
|
+
<img src="{{ avatarSettings.imageSrc }}" [ngStyle]="avatarSettings.imageCssStyle" [attr.alt]="avatarSettings.imageAltText" />
|
|
1468
|
+
</span>
|
|
1469
|
+
</ng-container>
|
|
1470
|
+
|
|
1471
|
+
<ng-container *ngIf="avatarSettings?.initials">
|
|
1472
|
+
<span class="k-avatar-text" [ngStyle]="avatarSettings.initialsCssStyle">{{ avatarSettings.initials.substring(0, 2) }}</span>
|
|
1473
|
+
</ng-container>
|
|
1369
1474
|
</span>
|
|
1370
1475
|
|
|
1371
1476
|
<span class="k-chip-content">
|
|
@@ -1404,7 +1509,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
1404
1509
|
}
|
|
1405
1510
|
],
|
|
1406
1511
|
standalone: true,
|
|
1407
|
-
imports: [NgIf, IconWrapperComponent, NgClass]
|
|
1512
|
+
imports: [NgIf, NgStyle, IconWrapperComponent, NgClass]
|
|
1408
1513
|
}]
|
|
1409
1514
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.NgZone }, { type: i1.LocalizationService }]; }, propDecorators: { label: [{
|
|
1410
1515
|
type: Input
|
|
@@ -1414,7 +1519,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
1414
1519
|
type: Input
|
|
1415
1520
|
}], iconClass: [{
|
|
1416
1521
|
type: Input
|
|
1417
|
-
}],
|
|
1522
|
+
}], avatarSettings: [{
|
|
1418
1523
|
type: Input
|
|
1419
1524
|
}], selected: [{
|
|
1420
1525
|
type: Input
|
|
@@ -1473,41 +1578,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
1473
1578
|
}] } });
|
|
1474
1579
|
|
|
1475
1580
|
class ChipListComponent {
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
|
|
1480
|
-
|
|
1481
|
-
|
|
1482
|
-
|
|
1483
|
-
|
|
1484
|
-
|
|
1485
|
-
|
|
1486
|
-
|
|
1487
|
-
|
|
1488
|
-
|
|
1489
|
-
|
|
1490
|
-
|
|
1491
|
-
|
|
1492
|
-
|
|
1493
|
-
|
|
1494
|
-
|
|
1495
|
-
this.selectedChange = new EventEmitter();
|
|
1496
|
-
/**
|
|
1497
|
-
* Fires each time the user clicks on the remove icon of the Chip.
|
|
1498
|
-
*/
|
|
1499
|
-
this.remove = new EventEmitter();
|
|
1500
|
-
/**
|
|
1501
|
-
* @hidden
|
|
1502
|
-
*/
|
|
1503
|
-
this.role = 'listbox';
|
|
1504
|
-
this._size = 'medium';
|
|
1505
|
-
this.subs = new Subscription();
|
|
1506
|
-
this._navigable = false;
|
|
1507
|
-
this.currentActiveIndex = 0;
|
|
1508
|
-
validatePackage(packageMetadata);
|
|
1509
|
-
this.direction = localizationService.rtl ? 'rtl' : 'ltr';
|
|
1510
|
-
}
|
|
1581
|
+
localizationService;
|
|
1582
|
+
renderer;
|
|
1583
|
+
element;
|
|
1584
|
+
ngZone;
|
|
1585
|
+
hostClass = true;
|
|
1586
|
+
orientation = 'horizontal';
|
|
1587
|
+
/**
|
|
1588
|
+
* @hidden
|
|
1589
|
+
*/
|
|
1590
|
+
direction;
|
|
1591
|
+
/**
|
|
1592
|
+
* Sets the selection mode of the ChipList.
|
|
1593
|
+
*
|
|
1594
|
+
* The available values are:
|
|
1595
|
+
* * `none` (default)
|
|
1596
|
+
* * `single`
|
|
1597
|
+
* * `multiple`
|
|
1598
|
+
*/
|
|
1599
|
+
selection = 'none';
|
|
1511
1600
|
/**
|
|
1512
1601
|
* The size property specifies the gap between the Chips in the ChipList
|
|
1513
1602
|
* ([see example]({% slug appearance_chiplist %}#toc-size)).
|
|
@@ -1521,17 +1610,35 @@ class ChipListComponent {
|
|
|
1521
1610
|
set size(size) {
|
|
1522
1611
|
const sizeValue = size ? size : 'medium';
|
|
1523
1612
|
this.handleClasses(sizeValue, 'size');
|
|
1613
|
+
this.chips?.forEach(chip => this.setChipSize(chip, sizeValue));
|
|
1524
1614
|
this._size = sizeValue;
|
|
1525
1615
|
}
|
|
1526
1616
|
get size() {
|
|
1527
1617
|
return this._size;
|
|
1528
1618
|
}
|
|
1619
|
+
/**
|
|
1620
|
+
* Fires each time when the ChipList selection is changed.
|
|
1621
|
+
*/
|
|
1622
|
+
selectedChange = new EventEmitter();
|
|
1623
|
+
/**
|
|
1624
|
+
* Fires each time the user clicks on the remove icon of the Chip.
|
|
1625
|
+
*/
|
|
1626
|
+
remove = new EventEmitter();
|
|
1627
|
+
chips;
|
|
1529
1628
|
get single() {
|
|
1530
1629
|
return this.selection === 'single';
|
|
1531
1630
|
}
|
|
1532
1631
|
get multiple() {
|
|
1533
1632
|
return this.selection === 'multiple';
|
|
1534
1633
|
}
|
|
1634
|
+
/**
|
|
1635
|
+
* @hidden
|
|
1636
|
+
*/
|
|
1637
|
+
role = 'listbox';
|
|
1638
|
+
dynamicRTLSubscription;
|
|
1639
|
+
_size = 'medium';
|
|
1640
|
+
subs = new Subscription();
|
|
1641
|
+
_navigable = true;
|
|
1535
1642
|
/**
|
|
1536
1643
|
* @hidden
|
|
1537
1644
|
*/
|
|
@@ -1557,10 +1664,10 @@ class ChipListComponent {
|
|
|
1557
1664
|
}
|
|
1558
1665
|
}
|
|
1559
1666
|
/**
|
|
1560
|
-
*
|
|
1561
|
-
* are part of the default tabbing sequence of the page.
|
|
1667
|
+
* By default, keyboard navigation is available through arrow keys and roving tabindex.
|
|
1668
|
+
* When set to `false`, all chips are part of the default tabbing sequence of the page.
|
|
1562
1669
|
*
|
|
1563
|
-
* @default
|
|
1670
|
+
* @default true
|
|
1564
1671
|
*/
|
|
1565
1672
|
set navigable(value) {
|
|
1566
1673
|
this._navigable = value;
|
|
@@ -1570,6 +1677,15 @@ class ChipListComponent {
|
|
|
1570
1677
|
get navigable() {
|
|
1571
1678
|
return this._navigable;
|
|
1572
1679
|
}
|
|
1680
|
+
currentActiveIndex = 0;
|
|
1681
|
+
constructor(localizationService, renderer, element, ngZone) {
|
|
1682
|
+
this.localizationService = localizationService;
|
|
1683
|
+
this.renderer = renderer;
|
|
1684
|
+
this.element = element;
|
|
1685
|
+
this.ngZone = ngZone;
|
|
1686
|
+
validatePackage(packageMetadata);
|
|
1687
|
+
this.direction = localizationService.rtl ? 'rtl' : 'ltr';
|
|
1688
|
+
}
|
|
1573
1689
|
ngOnInit() {
|
|
1574
1690
|
this.dynamicRTLSubscription = this.localizationService.changes
|
|
1575
1691
|
.subscribe(({ rtl }) => this.direction = rtl ? 'rtl' : 'ltr');
|
|
@@ -1704,6 +1820,7 @@ class ChipListComponent {
|
|
|
1704
1820
|
if (chip.removable) {
|
|
1705
1821
|
this.renderer.setAttribute(chipEl, 'aria-keyshortcuts', 'Enter Delete');
|
|
1706
1822
|
}
|
|
1823
|
+
this.setChipSize(chip, this.size);
|
|
1707
1824
|
});
|
|
1708
1825
|
}
|
|
1709
1826
|
normalizeActiveIndex() {
|
|
@@ -1711,18 +1828,23 @@ class ChipListComponent {
|
|
|
1711
1828
|
this.currentActiveIndex = Math.max(this.chips.length - 1, 0);
|
|
1712
1829
|
}
|
|
1713
1830
|
}
|
|
1714
|
-
|
|
1715
|
-
|
|
1716
|
-
|
|
1717
|
-
|
|
1718
|
-
|
|
1719
|
-
|
|
1720
|
-
|
|
1721
|
-
|
|
1722
|
-
|
|
1831
|
+
setChipSize(chip, size) {
|
|
1832
|
+
const hasSize = chip.sizeIsSet;
|
|
1833
|
+
!hasSize && chip.size !== size && (chip.size = size);
|
|
1834
|
+
!hasSize && (chip.sizeIsSet = false);
|
|
1835
|
+
}
|
|
1836
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipListComponent, deps: [{ token: i1.LocalizationService }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
1837
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ChipListComponent, isStandalone: true, selector: "kendo-chiplist, kendo-chip-list", inputs: { selection: "selection", size: "size", role: "role", navigable: "navigable" }, outputs: { selectedChange: "selectedChange", remove: "remove" }, host: { listeners: { "click": "onClick($event)" }, properties: { "class.k-chip-list": "this.hostClass", "attr.aria-orientation": "this.orientation", "attr.dir": "this.direction", "class.k-selection-single": "this.single", "attr.aria-multiselectable": "this.multiple", "class.k-selection-multiple": "this.multiple", "attr.role": "this.role" } }, providers: [
|
|
1838
|
+
LocalizationService,
|
|
1839
|
+
{
|
|
1840
|
+
provide: L10N_PREFIX,
|
|
1841
|
+
useValue: 'kendo.chiplist'
|
|
1842
|
+
}
|
|
1843
|
+
], queries: [{ propertyName: "chips", predicate: ChipComponent }], ngImport: i0, template: `
|
|
1723
1844
|
<ng-content></ng-content>
|
|
1724
1845
|
`, isInline: true });
|
|
1725
|
-
|
|
1846
|
+
}
|
|
1847
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipListComponent, decorators: [{
|
|
1726
1848
|
type: Component,
|
|
1727
1849
|
args: [{
|
|
1728
1850
|
selector: 'kendo-chiplist, kendo-chip-list',
|
|
@@ -1828,13 +1950,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
1828
1950
|
* For more examples, refer to the article on the [DropDownButton templates](slug:itemstemplates_dropdownbutton).
|
|
1829
1951
|
*/
|
|
1830
1952
|
class ButtonItemTemplateDirective {
|
|
1953
|
+
templateRef;
|
|
1831
1954
|
constructor(templateRef) {
|
|
1832
1955
|
this.templateRef = templateRef;
|
|
1833
1956
|
}
|
|
1957
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonItemTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
1958
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ButtonItemTemplateDirective, isStandalone: true, selector: "[kendoDropDownButtonItemTemplate],[kendoSplitButtonItemTemplate]", ngImport: i0 });
|
|
1834
1959
|
}
|
|
1835
|
-
|
|
1836
|
-
ButtonItemTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: ButtonItemTemplateDirective, isStandalone: true, selector: "[kendoDropDownButtonItemTemplate],[kendoSplitButtonItemTemplate]", ngImport: i0 });
|
|
1837
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ButtonItemTemplateDirective, decorators: [{
|
|
1960
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonItemTemplateDirective, decorators: [{
|
|
1838
1961
|
type: Directive,
|
|
1839
1962
|
args: [{
|
|
1840
1963
|
selector: '[kendoDropDownButtonItemTemplate],[kendoSplitButtonItemTemplate]',
|
|
@@ -1846,9 +1969,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
1846
1969
|
* @hidden
|
|
1847
1970
|
*/
|
|
1848
1971
|
class FocusService {
|
|
1849
|
-
|
|
1850
|
-
|
|
1851
|
-
}
|
|
1972
|
+
onFocus = new EventEmitter();
|
|
1973
|
+
focusedIndex;
|
|
1852
1974
|
isFocused(index) {
|
|
1853
1975
|
return index === this.focused;
|
|
1854
1976
|
}
|
|
@@ -1869,10 +1991,10 @@ class FocusService {
|
|
|
1869
1991
|
this.focusedIndex = index;
|
|
1870
1992
|
this.onFocus.emit(index);
|
|
1871
1993
|
}
|
|
1994
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FocusService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1995
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FocusService });
|
|
1872
1996
|
}
|
|
1873
|
-
|
|
1874
|
-
FocusService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FocusService });
|
|
1875
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FocusService, decorators: [{
|
|
1997
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FocusService, decorators: [{
|
|
1876
1998
|
type: Injectable
|
|
1877
1999
|
}] });
|
|
1878
2000
|
|
|
@@ -1912,15 +2034,16 @@ const NAVIGATION_CONFIG = new InjectionToken('navigation.config');
|
|
|
1912
2034
|
* @hidden
|
|
1913
2035
|
*/
|
|
1914
2036
|
class NavigationService {
|
|
2037
|
+
navigate = new EventEmitter();
|
|
2038
|
+
open = new EventEmitter();
|
|
2039
|
+
close = new EventEmitter();
|
|
2040
|
+
enter = new EventEmitter();
|
|
2041
|
+
enterpress = new EventEmitter();
|
|
2042
|
+
enterup = new EventEmitter();
|
|
2043
|
+
tab = new EventEmitter();
|
|
2044
|
+
esc = new EventEmitter();
|
|
2045
|
+
useLeftRightArrows;
|
|
1915
2046
|
constructor(config) {
|
|
1916
|
-
this.navigate = new EventEmitter();
|
|
1917
|
-
this.open = new EventEmitter();
|
|
1918
|
-
this.close = new EventEmitter();
|
|
1919
|
-
this.enter = new EventEmitter();
|
|
1920
|
-
this.enterpress = new EventEmitter();
|
|
1921
|
-
this.enterup = new EventEmitter();
|
|
1922
|
-
this.tab = new EventEmitter();
|
|
1923
|
-
this.esc = new EventEmitter();
|
|
1924
2047
|
this.useLeftRightArrows = config.useLeftRightArrows;
|
|
1925
2048
|
}
|
|
1926
2049
|
process(args) {
|
|
@@ -1998,10 +2121,10 @@ class NavigationService {
|
|
|
1998
2121
|
return args.current !== args.end ? args.current + args.step : args.end;
|
|
1999
2122
|
}
|
|
2000
2123
|
}
|
|
2124
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavigationService, deps: [{ token: NAVIGATION_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2125
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavigationService });
|
|
2001
2126
|
}
|
|
2002
|
-
|
|
2003
|
-
NavigationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NavigationService });
|
|
2004
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NavigationService, decorators: [{
|
|
2127
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavigationService, decorators: [{
|
|
2005
2128
|
type: Injectable
|
|
2006
2129
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
2007
2130
|
type: Inject,
|
|
@@ -2012,90 +2135,310 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
2012
2135
|
* @hidden
|
|
2013
2136
|
*/
|
|
2014
2137
|
class PopupContainerService {
|
|
2138
|
+
container;
|
|
2139
|
+
template;
|
|
2140
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopupContainerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2141
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopupContainerService });
|
|
2015
2142
|
}
|
|
2016
|
-
|
|
2017
|
-
PopupContainerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PopupContainerService });
|
|
2018
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PopupContainerService, decorators: [{
|
|
2143
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopupContainerService, decorators: [{
|
|
2019
2144
|
type: Injectable
|
|
2020
2145
|
}] });
|
|
2021
2146
|
|
|
2022
2147
|
/**
|
|
2023
2148
|
* @hidden
|
|
2024
2149
|
*/
|
|
2025
|
-
class
|
|
2026
|
-
|
|
2027
|
-
|
|
2028
|
-
|
|
2029
|
-
|
|
2030
|
-
|
|
2031
|
-
|
|
2032
|
-
this.popupService = popupService;
|
|
2033
|
-
this.elRef = elRef;
|
|
2034
|
-
this.cdr = cdr;
|
|
2035
|
-
this.containerService = containerService;
|
|
2036
|
-
this._open = false;
|
|
2037
|
-
this._disabled = false;
|
|
2038
|
-
this._active = false;
|
|
2039
|
-
this._popupSettings = { animate: true, popupClass: '' };
|
|
2040
|
-
this.listId = guid();
|
|
2041
|
-
this._isFocused = false;
|
|
2042
|
-
this.subs = new Subscription();
|
|
2043
|
-
this.popupSubs = new Subscription();
|
|
2044
|
-
/**
|
|
2045
|
-
* Specifies the [`tabIndex`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of the component.
|
|
2046
|
-
*/
|
|
2047
|
-
this.tabIndex = 0;
|
|
2048
|
-
/**
|
|
2049
|
-
* Fires each time the popup is about to open.
|
|
2050
|
-
* This event is preventable. If you cancel the event, the popup will remain closed.
|
|
2051
|
-
*/
|
|
2052
|
-
this.open = new EventEmitter();
|
|
2053
|
-
/**
|
|
2054
|
-
* Fires each time the popup is about to close.
|
|
2055
|
-
* This event is preventable. If you cancel the event, the popup will remain open.
|
|
2056
|
-
*/
|
|
2057
|
-
this.close = new EventEmitter();
|
|
2058
|
-
/**
|
|
2059
|
-
* Needed by the kendoToggleButtonTabStop directive
|
|
2060
|
-
*
|
|
2061
|
-
* @hidden
|
|
2062
|
-
*/
|
|
2063
|
-
this.escape = new EventEmitter();
|
|
2064
|
-
this.isClosePrevented = false;
|
|
2065
|
-
validatePackage(packageMetadata);
|
|
2150
|
+
class FocusableDirective {
|
|
2151
|
+
focusService;
|
|
2152
|
+
renderer;
|
|
2153
|
+
index;
|
|
2154
|
+
element;
|
|
2155
|
+
subs = new Subscription();
|
|
2156
|
+
constructor(focusService, elementRef, renderer) {
|
|
2066
2157
|
this.focusService = focusService;
|
|
2067
|
-
this.
|
|
2068
|
-
this.
|
|
2069
|
-
this.subs.add(localization.changes.subscribe(({ rtl }) => (this.direction = rtl ? 'rtl' : 'ltr')));
|
|
2158
|
+
this.renderer = renderer;
|
|
2159
|
+
this.element = elementRef.nativeElement;
|
|
2070
2160
|
this.subscribeEvents();
|
|
2071
2161
|
}
|
|
2072
|
-
|
|
2073
|
-
|
|
2074
|
-
|
|
2075
|
-
|
|
2076
|
-
|
|
2077
|
-
this.
|
|
2162
|
+
ngOnInit() {
|
|
2163
|
+
if (this.index === this.focusService.focused) {
|
|
2164
|
+
this.renderer.addClass(this.element, 'k-focus');
|
|
2165
|
+
}
|
|
2166
|
+
else {
|
|
2167
|
+
this.renderer.removeClass(this.element, 'k-focus');
|
|
2078
2168
|
}
|
|
2079
|
-
this._disabled = value;
|
|
2080
|
-
}
|
|
2081
|
-
get disabled() {
|
|
2082
|
-
return this._disabled;
|
|
2083
2169
|
}
|
|
2084
2170
|
/**
|
|
2085
2171
|
* @hidden
|
|
2086
2172
|
*/
|
|
2087
|
-
|
|
2088
|
-
|
|
2173
|
+
ngOnDestroy() {
|
|
2174
|
+
this.subs.unsubscribe();
|
|
2089
2175
|
}
|
|
2090
|
-
|
|
2091
|
-
|
|
2092
|
-
|
|
2093
|
-
return undefined;
|
|
2176
|
+
subscribeEvents() {
|
|
2177
|
+
if (!isDocumentAvailable()) {
|
|
2178
|
+
return;
|
|
2094
2179
|
}
|
|
2095
|
-
|
|
2096
|
-
|
|
2097
|
-
|
|
2098
|
-
|
|
2180
|
+
this.subs.add(this.focusService.onFocus.subscribe((index) => {
|
|
2181
|
+
if (this.index === index) {
|
|
2182
|
+
this.renderer.addClass(this.element, 'k-focus');
|
|
2183
|
+
this.renderer.setAttribute(this.element, 'tabindex', '0');
|
|
2184
|
+
this.element.focus();
|
|
2185
|
+
}
|
|
2186
|
+
else {
|
|
2187
|
+
this.renderer.setAttribute(this.element, 'tabindex', '-1');
|
|
2188
|
+
this.renderer.removeClass(this.element, 'k-focus');
|
|
2189
|
+
}
|
|
2190
|
+
}));
|
|
2191
|
+
}
|
|
2192
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FocusableDirective, deps: [{ token: FocusService }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
|
|
2193
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: FocusableDirective, isStandalone: true, selector: "[kendoButtonFocusable]", inputs: { index: "index" }, ngImport: i0 });
|
|
2194
|
+
}
|
|
2195
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FocusableDirective, decorators: [{
|
|
2196
|
+
type: Directive,
|
|
2197
|
+
args: [{
|
|
2198
|
+
selector: '[kendoButtonFocusable]',
|
|
2199
|
+
standalone: true
|
|
2200
|
+
}]
|
|
2201
|
+
}], ctorParameters: function () { return [{ type: FocusService }, { type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { index: [{
|
|
2202
|
+
type: Input
|
|
2203
|
+
}] } });
|
|
2204
|
+
|
|
2205
|
+
/**
|
|
2206
|
+
* @hidden
|
|
2207
|
+
*/
|
|
2208
|
+
class ListComponent {
|
|
2209
|
+
data;
|
|
2210
|
+
textField;
|
|
2211
|
+
itemTemplate;
|
|
2212
|
+
onItemClick = new EventEmitter();
|
|
2213
|
+
onItemBlur = new EventEmitter();
|
|
2214
|
+
set size(size) {
|
|
2215
|
+
if (size) {
|
|
2216
|
+
this.sizeClass = `k-menu-group-${SIZES[size]}`;
|
|
2217
|
+
}
|
|
2218
|
+
else {
|
|
2219
|
+
this.sizeClass = '';
|
|
2220
|
+
}
|
|
2221
|
+
}
|
|
2222
|
+
sizeClass = '';
|
|
2223
|
+
constructor() {
|
|
2224
|
+
validatePackage(packageMetadata);
|
|
2225
|
+
}
|
|
2226
|
+
getText(dataItem) {
|
|
2227
|
+
if (dataItem) {
|
|
2228
|
+
return this.textField ? dataItem[this.textField] : dataItem.text || dataItem;
|
|
2229
|
+
}
|
|
2230
|
+
return undefined;
|
|
2231
|
+
}
|
|
2232
|
+
getIconClasses(dataItem) {
|
|
2233
|
+
const icon = dataItem.icon ? 'k-icon k-i-' + dataItem.icon : undefined;
|
|
2234
|
+
const classes = {};
|
|
2235
|
+
classes[icon || dataItem.iconClass] = true;
|
|
2236
|
+
return classes;
|
|
2237
|
+
}
|
|
2238
|
+
onClick(index) {
|
|
2239
|
+
this.onItemClick.emit(index);
|
|
2240
|
+
}
|
|
2241
|
+
onBlur() {
|
|
2242
|
+
this.onItemBlur.emit();
|
|
2243
|
+
}
|
|
2244
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2245
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ListComponent, isStandalone: true, selector: "kendo-button-list", inputs: { data: "data", textField: "textField", itemTemplate: "itemTemplate", size: "size" }, outputs: { onItemClick: "onItemClick", onItemBlur: "onItemBlur" }, ngImport: i0, template: `
|
|
2246
|
+
<ul class="k-group k-menu-group k-reset" role="list" [ngClass]="sizeClass">
|
|
2247
|
+
<li kendoButtonFocusable
|
|
2248
|
+
*ngFor="let dataItem of data; let index = index;"
|
|
2249
|
+
[index]="index"
|
|
2250
|
+
tabindex="-1"
|
|
2251
|
+
class="k-item k-menu-item"
|
|
2252
|
+
role="listitem"
|
|
2253
|
+
[attr.aria-disabled]="dataItem.disabled ? true : false"
|
|
2254
|
+
(click)="$event.stopImmediatePropagation(); onClick(index);"
|
|
2255
|
+
(blur)="onBlur()">
|
|
2256
|
+
<ng-template [ngIf]="itemTemplate?.templateRef">
|
|
2257
|
+
<span
|
|
2258
|
+
class="k-link k-menu-link"
|
|
2259
|
+
[class.k-disabled]="dataItem.disabled"
|
|
2260
|
+
[ngClass]="dataItem.cssClass">
|
|
2261
|
+
<ng-template
|
|
2262
|
+
[templateContext]="{ templateRef: itemTemplate?.templateRef, $implicit: dataItem }"
|
|
2263
|
+
></ng-template>
|
|
2264
|
+
</span>
|
|
2265
|
+
</ng-template>
|
|
2266
|
+
<ng-template [ngIf]="!itemTemplate?.templateRef">
|
|
2267
|
+
<span
|
|
2268
|
+
class="k-link k-menu-link"
|
|
2269
|
+
[class.k-disabled]="dataItem.disabled"
|
|
2270
|
+
[ngClass]="dataItem.cssClass">
|
|
2271
|
+
<kendo-icon-wrapper
|
|
2272
|
+
*ngIf="dataItem.icon || dataItem.iconClass || dataItem.svgIcon"
|
|
2273
|
+
[name]="dataItem.icon"
|
|
2274
|
+
[svgIcon]="dataItem.svgIcon"
|
|
2275
|
+
[customFontClass]="dataItem.iconClass"
|
|
2276
|
+
></kendo-icon-wrapper>
|
|
2277
|
+
<img
|
|
2278
|
+
*ngIf="dataItem.imageUrl"
|
|
2279
|
+
class="k-image"
|
|
2280
|
+
[src]="dataItem.imageUrl"
|
|
2281
|
+
[alt]="dataItem.imageAlt"
|
|
2282
|
+
>
|
|
2283
|
+
<span *ngIf="getText(dataItem)" class="k-menu-link-text">
|
|
2284
|
+
{{ getText(dataItem) }}
|
|
2285
|
+
</span>
|
|
2286
|
+
</span>
|
|
2287
|
+
</ng-template>
|
|
2288
|
+
</li>
|
|
2289
|
+
</ul>
|
|
2290
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: FocusableDirective, selector: "[kendoButtonFocusable]", inputs: ["index"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }] });
|
|
2291
|
+
}
|
|
2292
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ListComponent, decorators: [{
|
|
2293
|
+
type: Component,
|
|
2294
|
+
args: [{
|
|
2295
|
+
selector: 'kendo-button-list',
|
|
2296
|
+
template: `
|
|
2297
|
+
<ul class="k-group k-menu-group k-reset" role="list" [ngClass]="sizeClass">
|
|
2298
|
+
<li kendoButtonFocusable
|
|
2299
|
+
*ngFor="let dataItem of data; let index = index;"
|
|
2300
|
+
[index]="index"
|
|
2301
|
+
tabindex="-1"
|
|
2302
|
+
class="k-item k-menu-item"
|
|
2303
|
+
role="listitem"
|
|
2304
|
+
[attr.aria-disabled]="dataItem.disabled ? true : false"
|
|
2305
|
+
(click)="$event.stopImmediatePropagation(); onClick(index);"
|
|
2306
|
+
(blur)="onBlur()">
|
|
2307
|
+
<ng-template [ngIf]="itemTemplate?.templateRef">
|
|
2308
|
+
<span
|
|
2309
|
+
class="k-link k-menu-link"
|
|
2310
|
+
[class.k-disabled]="dataItem.disabled"
|
|
2311
|
+
[ngClass]="dataItem.cssClass">
|
|
2312
|
+
<ng-template
|
|
2313
|
+
[templateContext]="{ templateRef: itemTemplate?.templateRef, $implicit: dataItem }"
|
|
2314
|
+
></ng-template>
|
|
2315
|
+
</span>
|
|
2316
|
+
</ng-template>
|
|
2317
|
+
<ng-template [ngIf]="!itemTemplate?.templateRef">
|
|
2318
|
+
<span
|
|
2319
|
+
class="k-link k-menu-link"
|
|
2320
|
+
[class.k-disabled]="dataItem.disabled"
|
|
2321
|
+
[ngClass]="dataItem.cssClass">
|
|
2322
|
+
<kendo-icon-wrapper
|
|
2323
|
+
*ngIf="dataItem.icon || dataItem.iconClass || dataItem.svgIcon"
|
|
2324
|
+
[name]="dataItem.icon"
|
|
2325
|
+
[svgIcon]="dataItem.svgIcon"
|
|
2326
|
+
[customFontClass]="dataItem.iconClass"
|
|
2327
|
+
></kendo-icon-wrapper>
|
|
2328
|
+
<img
|
|
2329
|
+
*ngIf="dataItem.imageUrl"
|
|
2330
|
+
class="k-image"
|
|
2331
|
+
[src]="dataItem.imageUrl"
|
|
2332
|
+
[alt]="dataItem.imageAlt"
|
|
2333
|
+
>
|
|
2334
|
+
<span *ngIf="getText(dataItem)" class="k-menu-link-text">
|
|
2335
|
+
{{ getText(dataItem) }}
|
|
2336
|
+
</span>
|
|
2337
|
+
</span>
|
|
2338
|
+
</ng-template>
|
|
2339
|
+
</li>
|
|
2340
|
+
</ul>
|
|
2341
|
+
`,
|
|
2342
|
+
standalone: true,
|
|
2343
|
+
imports: [NgClass, NgFor, FocusableDirective, NgIf, TemplateContextDirective, IconWrapperComponent]
|
|
2344
|
+
}]
|
|
2345
|
+
}], ctorParameters: function () { return []; }, propDecorators: { data: [{
|
|
2346
|
+
type: Input
|
|
2347
|
+
}], textField: [{
|
|
2348
|
+
type: Input
|
|
2349
|
+
}], itemTemplate: [{
|
|
2350
|
+
type: Input
|
|
2351
|
+
}], onItemClick: [{
|
|
2352
|
+
type: Output
|
|
2353
|
+
}], onItemBlur: [{
|
|
2354
|
+
type: Output
|
|
2355
|
+
}], size: [{
|
|
2356
|
+
type: Input
|
|
2357
|
+
}] } });
|
|
2358
|
+
|
|
2359
|
+
/**
|
|
2360
|
+
* @hidden
|
|
2361
|
+
*/
|
|
2362
|
+
class ListButton extends MultiTabStop {
|
|
2363
|
+
focusService;
|
|
2364
|
+
navigationService;
|
|
2365
|
+
wrapperRef;
|
|
2366
|
+
_zone;
|
|
2367
|
+
popupService;
|
|
2368
|
+
elRef;
|
|
2369
|
+
cdr;
|
|
2370
|
+
containerService;
|
|
2371
|
+
listId = guid();
|
|
2372
|
+
buttonId = guid();
|
|
2373
|
+
_data;
|
|
2374
|
+
_open = false;
|
|
2375
|
+
_disabled = false;
|
|
2376
|
+
_active = false;
|
|
2377
|
+
_popupSettings = { animate: true, popupClass: '' };
|
|
2378
|
+
_isFocused = false;
|
|
2379
|
+
_itemClick;
|
|
2380
|
+
_blur;
|
|
2381
|
+
wrapper;
|
|
2382
|
+
subs = new Subscription();
|
|
2383
|
+
direction;
|
|
2384
|
+
popupRef;
|
|
2385
|
+
popupSubs = new Subscription();
|
|
2386
|
+
button;
|
|
2387
|
+
buttonList;
|
|
2388
|
+
popupTemplate;
|
|
2389
|
+
container;
|
|
2390
|
+
/**
|
|
2391
|
+
* Sets the disabled state of the DropDownButton.
|
|
2392
|
+
*/
|
|
2393
|
+
set disabled(value) {
|
|
2394
|
+
if (value && this.openState) {
|
|
2395
|
+
this.openState = false;
|
|
2396
|
+
}
|
|
2397
|
+
this._disabled = value;
|
|
2398
|
+
}
|
|
2399
|
+
get disabled() {
|
|
2400
|
+
return this._disabled;
|
|
2401
|
+
}
|
|
2402
|
+
/**
|
|
2403
|
+
* Specifies the [`tabIndex`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of the component.
|
|
2404
|
+
*/
|
|
2405
|
+
tabIndex = 0;
|
|
2406
|
+
/**
|
|
2407
|
+
* The CSS classes that will be rendered on the main button.
|
|
2408
|
+
* Supports the type of values that are supported by [`ngClass`](link:site.data.urls.angular['ngclassapi']).
|
|
2409
|
+
*/
|
|
2410
|
+
buttonClass;
|
|
2411
|
+
/**
|
|
2412
|
+
* Fires each time the popup is about to open.
|
|
2413
|
+
* This event is preventable. If you cancel the event, the popup will remain closed.
|
|
2414
|
+
*/
|
|
2415
|
+
open = new EventEmitter();
|
|
2416
|
+
/**
|
|
2417
|
+
* Fires each time the popup is about to close.
|
|
2418
|
+
* This event is preventable. If you cancel the event, the popup will remain open.
|
|
2419
|
+
*/
|
|
2420
|
+
close = new EventEmitter();
|
|
2421
|
+
/**
|
|
2422
|
+
* Needed by the kendoToggleButtonTabStop directive
|
|
2423
|
+
*
|
|
2424
|
+
* @hidden
|
|
2425
|
+
*/
|
|
2426
|
+
escape = new EventEmitter();
|
|
2427
|
+
/**
|
|
2428
|
+
* @hidden
|
|
2429
|
+
*/
|
|
2430
|
+
get componentTabIndex() {
|
|
2431
|
+
return this.disabled ? (-1) : this.tabIndex;
|
|
2432
|
+
}
|
|
2433
|
+
get appendTo() {
|
|
2434
|
+
const { appendTo } = this.popupSettings;
|
|
2435
|
+
if (!appendTo || appendTo === 'root') {
|
|
2436
|
+
return undefined;
|
|
2437
|
+
}
|
|
2438
|
+
return appendTo === 'component' ? this.containerService.container : appendTo;
|
|
2439
|
+
}
|
|
2440
|
+
/**
|
|
2441
|
+
* Configures the popup of the DropDownButton.
|
|
2099
2442
|
*
|
|
2100
2443
|
* The available options are:
|
|
2101
2444
|
* - `animate: Boolean`—Controls the popup animation. By default, the open and close animations are enabled.
|
|
@@ -2129,6 +2472,24 @@ class ListButton extends MultiTabStop {
|
|
|
2129
2472
|
}
|
|
2130
2473
|
return align;
|
|
2131
2474
|
}
|
|
2475
|
+
isClosePrevented = false;
|
|
2476
|
+
constructor(focusService, navigationService, wrapperRef, _zone, popupService, elRef, localization, cdr, containerService) {
|
|
2477
|
+
super();
|
|
2478
|
+
this.focusService = focusService;
|
|
2479
|
+
this.navigationService = navigationService;
|
|
2480
|
+
this.wrapperRef = wrapperRef;
|
|
2481
|
+
this._zone = _zone;
|
|
2482
|
+
this.popupService = popupService;
|
|
2483
|
+
this.elRef = elRef;
|
|
2484
|
+
this.cdr = cdr;
|
|
2485
|
+
this.containerService = containerService;
|
|
2486
|
+
validatePackage(packageMetadata);
|
|
2487
|
+
this.focusService = focusService;
|
|
2488
|
+
this.navigationService = navigationService;
|
|
2489
|
+
this.wrapper = wrapperRef.nativeElement;
|
|
2490
|
+
this.subs.add(localization.changes.subscribe(({ rtl }) => (this.direction = rtl ? 'rtl' : 'ltr')));
|
|
2491
|
+
this.subscribeEvents();
|
|
2492
|
+
}
|
|
2132
2493
|
ngOnChanges(changes) {
|
|
2133
2494
|
if (isChanged("popupSettings", changes) && isPresent(this.popupRef)) {
|
|
2134
2495
|
const popup = this.popupRef.popup.instance;
|
|
@@ -2389,15 +2750,27 @@ class ListButton extends MultiTabStop {
|
|
|
2389
2750
|
this.isClosePrevented = false;
|
|
2390
2751
|
}
|
|
2391
2752
|
}
|
|
2753
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ListButton, deps: [{ token: FocusService }, { token: NavigationService }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i3.PopupService }, { token: i0.ElementRef }, { token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: PopupContainerService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2754
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ListButton, selector: "ng-component", inputs: { disabled: "disabled", tabIndex: "tabIndex", buttonClass: "buttonClass", popupSettings: "popupSettings" }, outputs: { open: "open", close: "close", escape: "escape" }, viewQueries: [{ propertyName: "button", first: true, predicate: ["button"], descendants: true, read: ElementRef }, { propertyName: "buttonList", first: true, predicate: ["buttonList"], descendants: true }, { propertyName: "popupTemplate", first: true, predicate: ["popupTemplate"], descendants: true }, { propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
|
|
2392
2755
|
}
|
|
2393
|
-
|
|
2394
|
-
ListButton.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ListButton, selector: "ng-component", inputs: { disabled: "disabled", tabIndex: "tabIndex", buttonClass: "buttonClass", popupSettings: "popupSettings" }, outputs: { open: "open", close: "close", escape: "escape" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
|
|
2395
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ListButton, decorators: [{
|
|
2756
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ListButton, decorators: [{
|
|
2396
2757
|
type: Component,
|
|
2397
2758
|
args: [{
|
|
2398
2759
|
template: ''
|
|
2399
2760
|
}]
|
|
2400
|
-
}], ctorParameters: function () { return [{ type: FocusService }, { type: NavigationService }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i3.PopupService }, { type: i0.ElementRef }, { type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: PopupContainerService }]; }, propDecorators: {
|
|
2761
|
+
}], ctorParameters: function () { return [{ type: FocusService }, { type: NavigationService }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i3.PopupService }, { type: i0.ElementRef }, { type: i1.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: PopupContainerService }]; }, propDecorators: { button: [{
|
|
2762
|
+
type: ViewChild,
|
|
2763
|
+
args: ['button', { read: ElementRef }]
|
|
2764
|
+
}], buttonList: [{
|
|
2765
|
+
type: ViewChild,
|
|
2766
|
+
args: ['buttonList']
|
|
2767
|
+
}], popupTemplate: [{
|
|
2768
|
+
type: ViewChild,
|
|
2769
|
+
args: ['popupTemplate']
|
|
2770
|
+
}], container: [{
|
|
2771
|
+
type: ViewChild,
|
|
2772
|
+
args: ['container', { read: ViewContainerRef }]
|
|
2773
|
+
}], disabled: [{
|
|
2401
2774
|
type: Input
|
|
2402
2775
|
}], tabIndex: [{
|
|
2403
2776
|
type: Input
|
|
@@ -2413,211 +2786,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
2413
2786
|
type: Input
|
|
2414
2787
|
}] } });
|
|
2415
2788
|
|
|
2416
|
-
/**
|
|
2417
|
-
* @hidden
|
|
2418
|
-
*/
|
|
2419
|
-
class FocusableDirective {
|
|
2420
|
-
constructor(focusService, elementRef, renderer) {
|
|
2421
|
-
this.focusService = focusService;
|
|
2422
|
-
this.renderer = renderer;
|
|
2423
|
-
this.subs = new Subscription();
|
|
2424
|
-
this.element = elementRef.nativeElement;
|
|
2425
|
-
this.subscribeEvents();
|
|
2426
|
-
}
|
|
2427
|
-
ngOnInit() {
|
|
2428
|
-
if (this.index === this.focusService.focused) {
|
|
2429
|
-
this.renderer.addClass(this.element, 'k-focus');
|
|
2430
|
-
}
|
|
2431
|
-
else {
|
|
2432
|
-
this.renderer.removeClass(this.element, 'k-focus');
|
|
2433
|
-
}
|
|
2434
|
-
}
|
|
2435
|
-
/**
|
|
2436
|
-
* @hidden
|
|
2437
|
-
*/
|
|
2438
|
-
ngOnDestroy() {
|
|
2439
|
-
this.subs.unsubscribe();
|
|
2440
|
-
}
|
|
2441
|
-
subscribeEvents() {
|
|
2442
|
-
if (!isDocumentAvailable()) {
|
|
2443
|
-
return;
|
|
2444
|
-
}
|
|
2445
|
-
this.subs.add(this.focusService.onFocus.subscribe((index) => {
|
|
2446
|
-
if (this.index === index) {
|
|
2447
|
-
this.renderer.addClass(this.element, 'k-focus');
|
|
2448
|
-
this.renderer.setAttribute(this.element, 'tabindex', '0');
|
|
2449
|
-
this.element.focus();
|
|
2450
|
-
}
|
|
2451
|
-
else {
|
|
2452
|
-
this.renderer.setAttribute(this.element, 'tabindex', '-1');
|
|
2453
|
-
this.renderer.removeClass(this.element, 'k-focus');
|
|
2454
|
-
}
|
|
2455
|
-
}));
|
|
2456
|
-
}
|
|
2457
|
-
}
|
|
2458
|
-
FocusableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FocusableDirective, deps: [{ token: FocusService }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
|
|
2459
|
-
FocusableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: FocusableDirective, isStandalone: true, selector: "[kendoButtonFocusable]", inputs: { index: "index" }, ngImport: i0 });
|
|
2460
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FocusableDirective, decorators: [{
|
|
2461
|
-
type: Directive,
|
|
2462
|
-
args: [{
|
|
2463
|
-
selector: '[kendoButtonFocusable]',
|
|
2464
|
-
standalone: true
|
|
2465
|
-
}]
|
|
2466
|
-
}], ctorParameters: function () { return [{ type: FocusService }, { type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { index: [{
|
|
2467
|
-
type: Input
|
|
2468
|
-
}] } });
|
|
2469
|
-
|
|
2470
|
-
/**
|
|
2471
|
-
* @hidden
|
|
2472
|
-
*/
|
|
2473
|
-
class ListComponent {
|
|
2474
|
-
constructor() {
|
|
2475
|
-
this.onItemClick = new EventEmitter();
|
|
2476
|
-
this.onItemBlur = new EventEmitter();
|
|
2477
|
-
this.sizeClass = '';
|
|
2478
|
-
validatePackage(packageMetadata);
|
|
2479
|
-
}
|
|
2480
|
-
set size(size) {
|
|
2481
|
-
if (size) {
|
|
2482
|
-
this.sizeClass = `k-menu-group-${SIZES[size]}`;
|
|
2483
|
-
}
|
|
2484
|
-
else {
|
|
2485
|
-
this.sizeClass = '';
|
|
2486
|
-
}
|
|
2487
|
-
}
|
|
2488
|
-
getText(dataItem) {
|
|
2489
|
-
if (dataItem) {
|
|
2490
|
-
return this.textField ? dataItem[this.textField] : dataItem.text || dataItem;
|
|
2491
|
-
}
|
|
2492
|
-
return undefined;
|
|
2493
|
-
}
|
|
2494
|
-
getIconClasses(dataItem) {
|
|
2495
|
-
const icon = dataItem.icon ? 'k-icon k-i-' + dataItem.icon : undefined;
|
|
2496
|
-
const classes = {};
|
|
2497
|
-
classes[icon || dataItem.iconClass] = true;
|
|
2498
|
-
return classes;
|
|
2499
|
-
}
|
|
2500
|
-
onClick(index) {
|
|
2501
|
-
this.onItemClick.emit(index);
|
|
2502
|
-
}
|
|
2503
|
-
onBlur() {
|
|
2504
|
-
this.onItemBlur.emit();
|
|
2505
|
-
}
|
|
2506
|
-
}
|
|
2507
|
-
ListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2508
|
-
ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ListComponent, isStandalone: true, selector: "kendo-button-list", inputs: { data: "data", textField: "textField", itemTemplate: "itemTemplate", size: "size" }, outputs: { onItemClick: "onItemClick", onItemBlur: "onItemBlur" }, ngImport: i0, template: `
|
|
2509
|
-
<ul class="k-group k-menu-group k-reset" role="list" [ngClass]="sizeClass">
|
|
2510
|
-
<li kendoButtonFocusable
|
|
2511
|
-
*ngFor="let dataItem of data; let index = index;"
|
|
2512
|
-
[index]="index"
|
|
2513
|
-
tabindex="-1"
|
|
2514
|
-
class="k-item k-menu-item"
|
|
2515
|
-
role="listitem"
|
|
2516
|
-
[attr.aria-disabled]="dataItem.disabled ? true : false"
|
|
2517
|
-
(click)="$event.stopImmediatePropagation(); onClick(index);"
|
|
2518
|
-
(blur)="onBlur()">
|
|
2519
|
-
<ng-template [ngIf]="itemTemplate?.templateRef">
|
|
2520
|
-
<span
|
|
2521
|
-
class="k-link k-menu-link"
|
|
2522
|
-
[class.k-disabled]="dataItem.disabled"
|
|
2523
|
-
[ngClass]="dataItem.cssClass">
|
|
2524
|
-
<ng-template
|
|
2525
|
-
[templateContext]="{ templateRef: itemTemplate?.templateRef, $implicit: dataItem }"
|
|
2526
|
-
></ng-template>
|
|
2527
|
-
</span>
|
|
2528
|
-
</ng-template>
|
|
2529
|
-
<ng-template [ngIf]="!itemTemplate?.templateRef">
|
|
2530
|
-
<span
|
|
2531
|
-
class="k-link k-menu-link"
|
|
2532
|
-
[class.k-disabled]="dataItem.disabled"
|
|
2533
|
-
[ngClass]="dataItem.cssClass">
|
|
2534
|
-
<kendo-icon-wrapper
|
|
2535
|
-
*ngIf="dataItem.icon || dataItem.iconClass || dataItem.svgIcon"
|
|
2536
|
-
[name]="dataItem.icon"
|
|
2537
|
-
[svgIcon]="dataItem.svgIcon"
|
|
2538
|
-
[customFontClass]="dataItem.iconClass"
|
|
2539
|
-
></kendo-icon-wrapper>
|
|
2540
|
-
<img
|
|
2541
|
-
*ngIf="dataItem.imageUrl"
|
|
2542
|
-
class="k-image"
|
|
2543
|
-
[src]="dataItem.imageUrl"
|
|
2544
|
-
[alt]="dataItem.imageAlt"
|
|
2545
|
-
>
|
|
2546
|
-
<span *ngIf="getText(dataItem)" class="k-menu-link-text">
|
|
2547
|
-
{{ getText(dataItem) }}
|
|
2548
|
-
</span>
|
|
2549
|
-
</span>
|
|
2550
|
-
</ng-template>
|
|
2551
|
-
</li>
|
|
2552
|
-
</ul>
|
|
2553
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: FocusableDirective, selector: "[kendoButtonFocusable]", inputs: ["index"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }] });
|
|
2554
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ListComponent, decorators: [{
|
|
2555
|
-
type: Component,
|
|
2556
|
-
args: [{
|
|
2557
|
-
selector: 'kendo-button-list',
|
|
2558
|
-
template: `
|
|
2559
|
-
<ul class="k-group k-menu-group k-reset" role="list" [ngClass]="sizeClass">
|
|
2560
|
-
<li kendoButtonFocusable
|
|
2561
|
-
*ngFor="let dataItem of data; let index = index;"
|
|
2562
|
-
[index]="index"
|
|
2563
|
-
tabindex="-1"
|
|
2564
|
-
class="k-item k-menu-item"
|
|
2565
|
-
role="listitem"
|
|
2566
|
-
[attr.aria-disabled]="dataItem.disabled ? true : false"
|
|
2567
|
-
(click)="$event.stopImmediatePropagation(); onClick(index);"
|
|
2568
|
-
(blur)="onBlur()">
|
|
2569
|
-
<ng-template [ngIf]="itemTemplate?.templateRef">
|
|
2570
|
-
<span
|
|
2571
|
-
class="k-link k-menu-link"
|
|
2572
|
-
[class.k-disabled]="dataItem.disabled"
|
|
2573
|
-
[ngClass]="dataItem.cssClass">
|
|
2574
|
-
<ng-template
|
|
2575
|
-
[templateContext]="{ templateRef: itemTemplate?.templateRef, $implicit: dataItem }"
|
|
2576
|
-
></ng-template>
|
|
2577
|
-
</span>
|
|
2578
|
-
</ng-template>
|
|
2579
|
-
<ng-template [ngIf]="!itemTemplate?.templateRef">
|
|
2580
|
-
<span
|
|
2581
|
-
class="k-link k-menu-link"
|
|
2582
|
-
[class.k-disabled]="dataItem.disabled"
|
|
2583
|
-
[ngClass]="dataItem.cssClass">
|
|
2584
|
-
<kendo-icon-wrapper
|
|
2585
|
-
*ngIf="dataItem.icon || dataItem.iconClass || dataItem.svgIcon"
|
|
2586
|
-
[name]="dataItem.icon"
|
|
2587
|
-
[svgIcon]="dataItem.svgIcon"
|
|
2588
|
-
[customFontClass]="dataItem.iconClass"
|
|
2589
|
-
></kendo-icon-wrapper>
|
|
2590
|
-
<img
|
|
2591
|
-
*ngIf="dataItem.imageUrl"
|
|
2592
|
-
class="k-image"
|
|
2593
|
-
[src]="dataItem.imageUrl"
|
|
2594
|
-
[alt]="dataItem.imageAlt"
|
|
2595
|
-
>
|
|
2596
|
-
<span *ngIf="getText(dataItem)" class="k-menu-link-text">
|
|
2597
|
-
{{ getText(dataItem) }}
|
|
2598
|
-
</span>
|
|
2599
|
-
</span>
|
|
2600
|
-
</ng-template>
|
|
2601
|
-
</li>
|
|
2602
|
-
</ul>
|
|
2603
|
-
`,
|
|
2604
|
-
standalone: true,
|
|
2605
|
-
imports: [NgClass, NgFor, FocusableDirective, NgIf, TemplateContextDirective, IconWrapperComponent]
|
|
2606
|
-
}]
|
|
2607
|
-
}], ctorParameters: function () { return []; }, propDecorators: { data: [{
|
|
2608
|
-
type: Input
|
|
2609
|
-
}], textField: [{
|
|
2610
|
-
type: Input
|
|
2611
|
-
}], itemTemplate: [{
|
|
2612
|
-
type: Input
|
|
2613
|
-
}], onItemClick: [{
|
|
2614
|
-
type: Output
|
|
2615
|
-
}], onItemBlur: [{
|
|
2616
|
-
type: Output
|
|
2617
|
-
}], size: [{
|
|
2618
|
-
type: Input
|
|
2619
|
-
}] } });
|
|
2620
|
-
|
|
2621
2789
|
const NAVIGATION_SETTINGS$2 = {
|
|
2622
2790
|
useLeftRightArrows: true
|
|
2623
2791
|
};
|
|
@@ -2655,89 +2823,34 @@ const DEFAULT_FILL_MODE$1 = 'solid';
|
|
|
2655
2823
|
* ```
|
|
2656
2824
|
*/
|
|
2657
2825
|
class DropDownButtonComponent extends ListButton {
|
|
2658
|
-
|
|
2659
|
-
|
|
2660
|
-
|
|
2661
|
-
|
|
2662
|
-
|
|
2663
|
-
|
|
2664
|
-
|
|
2665
|
-
|
|
2666
|
-
|
|
2667
|
-
|
|
2668
|
-
|
|
2669
|
-
|
|
2670
|
-
|
|
2671
|
-
|
|
2672
|
-
|
|
2673
|
-
|
|
2674
|
-
|
|
2675
|
-
|
|
2676
|
-
|
|
2677
|
-
|
|
2678
|
-
|
|
2679
|
-
|
|
2680
|
-
|
|
2681
|
-
|
|
2682
|
-
|
|
2683
|
-
|
|
2684
|
-
|
|
2685
|
-
|
|
2686
|
-
* * `large`
|
|
2687
|
-
* * `none`
|
|
2688
|
-
*/
|
|
2689
|
-
this.size = 'medium';
|
|
2690
|
-
/**
|
|
2691
|
-
* The rounded property specifies the border radius of the DropDownButton
|
|
2692
|
-
* ([see example]({% slug api_buttons_dropdownbuttoncomponent %}#toc-rounded)).
|
|
2693
|
-
*
|
|
2694
|
-
* The possible values are:
|
|
2695
|
-
* * `small`
|
|
2696
|
-
* * `medium` (default)
|
|
2697
|
-
* * `large`
|
|
2698
|
-
* * `full`
|
|
2699
|
-
* * `none`
|
|
2700
|
-
*/
|
|
2701
|
-
this.rounded = 'medium';
|
|
2702
|
-
/**
|
|
2703
|
-
* The DropDownButton allows you to specify predefined theme colors.
|
|
2704
|
-
* The theme color will be applied as a background and border color while also amending the text color accordingly
|
|
2705
|
-
* ([see example]({% slug api_buttons_dropdownbuttoncomponent %}#toc-themeColor)).
|
|
2706
|
-
*
|
|
2707
|
-
* The possible values are:
|
|
2708
|
-
* * `base` —Applies coloring based on the `base` theme color. (default)
|
|
2709
|
-
* * `primary` —Applies coloring based on the `primary` theme color.
|
|
2710
|
-
* * `secondary`—Applies coloring based on the `secondary` theme color.
|
|
2711
|
-
* * `tertiary`— Applies coloring based on the `tertiary` theme color.
|
|
2712
|
-
* * `info`—Applies coloring based on the `info` theme color.
|
|
2713
|
-
* * `success`— Applies coloring based on the `success` theme color.
|
|
2714
|
-
* * `warning`— Applies coloring based on the `warning` theme color.
|
|
2715
|
-
* * `error`— Applies coloring based on the `error` theme color.
|
|
2716
|
-
* * `dark`— Applies coloring based on the `dark` theme color.
|
|
2717
|
-
* * `light`— Applies coloring based on the `light` theme color.
|
|
2718
|
-
* * `inverse`— Applies coloring based on the `inverse` theme color.
|
|
2719
|
-
* * `none` —Removes the default CSS class (no class would be rendered).
|
|
2720
|
-
*/
|
|
2721
|
-
this.themeColor = 'base';
|
|
2722
|
-
/**
|
|
2723
|
-
* Fires each time the user clicks on a drop-down list item. The event data contains the data item bound to the clicked list item.
|
|
2724
|
-
*/
|
|
2725
|
-
this.itemClick = new EventEmitter();
|
|
2726
|
-
/**
|
|
2727
|
-
* Fires each time the DropDownButton gets focused.
|
|
2728
|
-
*/
|
|
2729
|
-
this.onFocus = new EventEmitter();
|
|
2730
|
-
/**
|
|
2731
|
-
* Fires each time the DropDownButton gets blurred.
|
|
2732
|
-
*/
|
|
2733
|
-
this.onBlur = new EventEmitter();
|
|
2734
|
-
this.listId = guid();
|
|
2735
|
-
this.buttonId = guid();
|
|
2736
|
-
this._fillMode = DEFAULT_FILL_MODE$1;
|
|
2737
|
-
this._buttonAttributes = null;
|
|
2738
|
-
this._itemClick = this.itemClick;
|
|
2739
|
-
this._blur = this.onBlur;
|
|
2740
|
-
}
|
|
2826
|
+
containerService;
|
|
2827
|
+
renderer;
|
|
2828
|
+
/**
|
|
2829
|
+
* Allows showing the default arrow icon or providing alternative one instead.
|
|
2830
|
+
* @default false
|
|
2831
|
+
*/
|
|
2832
|
+
arrowIcon = false;
|
|
2833
|
+
/**
|
|
2834
|
+
* Defines the name of an existing icon in the Kendo UI theme.
|
|
2835
|
+
*/
|
|
2836
|
+
icon = '';
|
|
2837
|
+
/**
|
|
2838
|
+
* Defines an [`SVGIcon`](slug:api_icons_svgicon) to be rendered within the button.
|
|
2839
|
+
*/
|
|
2840
|
+
svgIcon;
|
|
2841
|
+
/**
|
|
2842
|
+
* Defines the list of CSS classes which are used for styling the Button with custom icons.
|
|
2843
|
+
*/
|
|
2844
|
+
iconClass = '';
|
|
2845
|
+
/**
|
|
2846
|
+
* Defines a URL for styling the button with a custom image.
|
|
2847
|
+
*/
|
|
2848
|
+
imageUrl = '';
|
|
2849
|
+
/**
|
|
2850
|
+
* Sets the data item field that represents the item text.
|
|
2851
|
+
* If the data contains only primitive values, do not define it.
|
|
2852
|
+
*/
|
|
2853
|
+
textField;
|
|
2741
2854
|
/**
|
|
2742
2855
|
* Sets or gets the data of the DropDownButton.
|
|
2743
2856
|
*
|
|
@@ -2749,6 +2862,29 @@ class DropDownButtonComponent extends ListButton {
|
|
|
2749
2862
|
get data() {
|
|
2750
2863
|
return this._data;
|
|
2751
2864
|
}
|
|
2865
|
+
/**
|
|
2866
|
+
* The size property specifies the padding of the DropDownButton
|
|
2867
|
+
* ([see example]({% slug api_buttons_dropdownbuttoncomponent %}#toc-size)).
|
|
2868
|
+
*
|
|
2869
|
+
* The possible values are:
|
|
2870
|
+
* * `small`
|
|
2871
|
+
* * `medium` (default)
|
|
2872
|
+
* * `large`
|
|
2873
|
+
* * `none`
|
|
2874
|
+
*/
|
|
2875
|
+
size = 'medium';
|
|
2876
|
+
/**
|
|
2877
|
+
* The rounded property specifies the border radius of the DropDownButton
|
|
2878
|
+
* ([see example]({% slug api_buttons_dropdownbuttoncomponent %}#toc-rounded)).
|
|
2879
|
+
*
|
|
2880
|
+
* The possible values are:
|
|
2881
|
+
* * `small`
|
|
2882
|
+
* * `medium` (default)
|
|
2883
|
+
* * `large`
|
|
2884
|
+
* * `full`
|
|
2885
|
+
* * `none`
|
|
2886
|
+
*/
|
|
2887
|
+
rounded = 'medium';
|
|
2752
2888
|
/**
|
|
2753
2889
|
* The fillMode property specifies the background and border styles of the DropDownButton
|
|
2754
2890
|
* ([see example]({% slug api_buttons_dropdownbuttoncomponent %}#toc-fillMode)).
|
|
@@ -2766,6 +2902,26 @@ class DropDownButtonComponent extends ListButton {
|
|
|
2766
2902
|
get fillMode() {
|
|
2767
2903
|
return this._fillMode;
|
|
2768
2904
|
}
|
|
2905
|
+
/**
|
|
2906
|
+
* The DropDownButton allows you to specify predefined theme colors.
|
|
2907
|
+
* The theme color will be applied as a background and border color while also amending the text color accordingly
|
|
2908
|
+
* ([see example]({% slug api_buttons_dropdownbuttoncomponent %}#toc-themeColor)).
|
|
2909
|
+
*
|
|
2910
|
+
* The possible values are:
|
|
2911
|
+
* * `base` —Applies coloring based on the `base` theme color. (default)
|
|
2912
|
+
* * `primary` —Applies coloring based on the `primary` theme color.
|
|
2913
|
+
* * `secondary`—Applies coloring based on the `secondary` theme color.
|
|
2914
|
+
* * `tertiary`— Applies coloring based on the `tertiary` theme color.
|
|
2915
|
+
* * `info`—Applies coloring based on the `info` theme color.
|
|
2916
|
+
* * `success`— Applies coloring based on the `success` theme color.
|
|
2917
|
+
* * `warning`— Applies coloring based on the `warning` theme color.
|
|
2918
|
+
* * `error`— Applies coloring based on the `error` theme color.
|
|
2919
|
+
* * `dark`— Applies coloring based on the `dark` theme color.
|
|
2920
|
+
* * `light`— Applies coloring based on the `light` theme color.
|
|
2921
|
+
* * `inverse`— Applies coloring based on the `inverse` theme color.
|
|
2922
|
+
* * `none` —Removes the default CSS class (no class would be rendered).
|
|
2923
|
+
*/
|
|
2924
|
+
themeColor = 'base';
|
|
2769
2925
|
/**
|
|
2770
2926
|
* Sets attributes to the main button.
|
|
2771
2927
|
*/
|
|
@@ -2777,11 +2933,20 @@ class DropDownButtonComponent extends ListButton {
|
|
|
2777
2933
|
get buttonAttributes() {
|
|
2778
2934
|
return this._buttonAttributes;
|
|
2779
2935
|
}
|
|
2936
|
+
/**
|
|
2937
|
+
* Fires each time the user clicks on a drop-down list item. The event data contains the data item bound to the clicked list item.
|
|
2938
|
+
*/
|
|
2939
|
+
itemClick = new EventEmitter();
|
|
2940
|
+
/**
|
|
2941
|
+
* Fires each time the DropDownButton gets focused.
|
|
2942
|
+
*/
|
|
2943
|
+
onFocus = new EventEmitter();
|
|
2944
|
+
/**
|
|
2945
|
+
* Fires each time the DropDownButton gets blurred.
|
|
2946
|
+
*/
|
|
2947
|
+
onBlur = new EventEmitter();
|
|
2780
2948
|
get focused() {
|
|
2781
|
-
return this._isFocused && !this._disabled;
|
|
2782
|
-
}
|
|
2783
|
-
get widgetClasses() {
|
|
2784
|
-
return true;
|
|
2949
|
+
return this._isFocused && !this._disabled;
|
|
2785
2950
|
}
|
|
2786
2951
|
get dir() {
|
|
2787
2952
|
return this.direction;
|
|
@@ -2792,6 +2957,10 @@ class DropDownButtonComponent extends ListButton {
|
|
|
2792
2957
|
get active() {
|
|
2793
2958
|
return this._active;
|
|
2794
2959
|
}
|
|
2960
|
+
itemTemplate;
|
|
2961
|
+
_fillMode = DEFAULT_FILL_MODE$1;
|
|
2962
|
+
_buttonAttributes = null;
|
|
2963
|
+
documentMouseUpSub;
|
|
2795
2964
|
/**
|
|
2796
2965
|
* @hidden
|
|
2797
2966
|
*/
|
|
@@ -2861,6 +3030,20 @@ class DropDownButtonComponent extends ListButton {
|
|
|
2861
3030
|
this.blurWrapper();
|
|
2862
3031
|
}
|
|
2863
3032
|
}
|
|
3033
|
+
constructor(focusService, navigationService, wrapperRef, zone, popupService, elRef, localization, cdr, containerService, renderer) {
|
|
3034
|
+
super(focusService, navigationService, wrapperRef, zone, popupService, elRef, localization, cdr, containerService);
|
|
3035
|
+
this.containerService = containerService;
|
|
3036
|
+
this.renderer = renderer;
|
|
3037
|
+
this._itemClick = this.itemClick;
|
|
3038
|
+
this._blur = this.onBlur;
|
|
3039
|
+
zone.runOutsideAngular(() => {
|
|
3040
|
+
this.documentMouseUpSub = this.renderer.listen('document', 'mouseup', () => {
|
|
3041
|
+
if (this.active) {
|
|
3042
|
+
zone.run(() => this._active = false);
|
|
3043
|
+
}
|
|
3044
|
+
});
|
|
3045
|
+
});
|
|
3046
|
+
}
|
|
2864
3047
|
ngAfterViewInit() {
|
|
2865
3048
|
this.containerService.container = this.container;
|
|
2866
3049
|
this.containerService.template = this.popupTemplate;
|
|
@@ -2906,19 +3089,26 @@ class DropDownButtonComponent extends ListButton {
|
|
|
2906
3089
|
}
|
|
2907
3090
|
}
|
|
2908
3091
|
}
|
|
2909
|
-
|
|
2910
|
-
|
|
2911
|
-
|
|
2912
|
-
|
|
2913
|
-
|
|
2914
|
-
|
|
2915
|
-
|
|
2916
|
-
|
|
2917
|
-
|
|
2918
|
-
|
|
2919
|
-
|
|
2920
|
-
|
|
2921
|
-
|
|
3092
|
+
/**
|
|
3093
|
+
* @hidden
|
|
3094
|
+
*/
|
|
3095
|
+
ngOnDestroy() {
|
|
3096
|
+
if (this.documentMouseUpSub) {
|
|
3097
|
+
this.documentMouseUpSub();
|
|
3098
|
+
}
|
|
3099
|
+
}
|
|
3100
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropDownButtonComponent, deps: [{ token: FocusService }, { token: NavigationService }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i3.PopupService }, { token: i0.ElementRef }, { token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: PopupContainerService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
3101
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DropDownButtonComponent, isStandalone: true, 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", "attr.dir": "this.dir" } }, providers: [
|
|
3102
|
+
FocusService,
|
|
3103
|
+
NavigationService,
|
|
3104
|
+
NAVIGATION_SETTINGS_PROVIDER$2,
|
|
3105
|
+
LocalizationService,
|
|
3106
|
+
{
|
|
3107
|
+
provide: L10N_PREFIX,
|
|
3108
|
+
useValue: 'kendo.dropdownbutton'
|
|
3109
|
+
},
|
|
3110
|
+
PopupContainerService
|
|
3111
|
+
], queries: [{ propertyName: "itemTemplate", first: true, predicate: ButtonItemTemplateDirective, descendants: true }], exportAs: ["kendoDropDownButton"], usesInheritance: true, ngImport: i0, template: `
|
|
2922
3112
|
<button kendoButton #button
|
|
2923
3113
|
type="button"
|
|
2924
3114
|
[id]="buttonId"
|
|
@@ -2963,7 +3153,8 @@ DropDownButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
|
|
|
2963
3153
|
</ng-template>
|
|
2964
3154
|
<ng-container #container></ng-container>
|
|
2965
3155
|
`, isInline: true, dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ListComponent, selector: "kendo-button-list", inputs: ["data", "textField", "itemTemplate", "size"], outputs: ["onItemClick", "onItemBlur"] }] });
|
|
2966
|
-
|
|
3156
|
+
}
|
|
3157
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropDownButtonComponent, decorators: [{
|
|
2967
3158
|
type: Component,
|
|
2968
3159
|
args: [{
|
|
2969
3160
|
exportAs: 'kendoDropDownButton',
|
|
@@ -3062,27 +3253,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
3062
3253
|
}], focused: [{
|
|
3063
3254
|
type: HostBinding,
|
|
3064
3255
|
args: ['class.k-focus']
|
|
3065
|
-
}], widgetClasses: [{
|
|
3066
|
-
type: HostBinding,
|
|
3067
|
-
args: ['class.k-dropdown-button']
|
|
3068
3256
|
}], dir: [{
|
|
3069
3257
|
type: HostBinding,
|
|
3070
3258
|
args: ['attr.dir']
|
|
3071
3259
|
}], itemTemplate: [{
|
|
3072
3260
|
type: ContentChild,
|
|
3073
3261
|
args: [ButtonItemTemplateDirective]
|
|
3074
|
-
}], button: [{
|
|
3075
|
-
type: ViewChild,
|
|
3076
|
-
args: ['button', { read: ElementRef }]
|
|
3077
|
-
}], buttonList: [{
|
|
3078
|
-
type: ViewChild,
|
|
3079
|
-
args: ['buttonList']
|
|
3080
|
-
}], popupTemplate: [{
|
|
3081
|
-
type: ViewChild,
|
|
3082
|
-
args: ['popupTemplate']
|
|
3083
|
-
}], container: [{
|
|
3084
|
-
type: ViewChild,
|
|
3085
|
-
args: ['container', { read: ViewContainerRef }]
|
|
3086
3262
|
}], keydown: [{
|
|
3087
3263
|
type: HostListener,
|
|
3088
3264
|
args: ['keydown', ['$event']]
|
|
@@ -3168,13 +3344,14 @@ function closeAnimation(animationSettings) {
|
|
|
3168
3344
|
* ([see example]({% slug templates_floatingactionbutton %}#toc-dial-item-template)).
|
|
3169
3345
|
*/
|
|
3170
3346
|
class DialItemTemplateDirective {
|
|
3347
|
+
templateRef;
|
|
3171
3348
|
constructor(templateRef) {
|
|
3172
3349
|
this.templateRef = templateRef;
|
|
3173
3350
|
}
|
|
3351
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DialItemTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
3352
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DialItemTemplateDirective, isStandalone: true, selector: "[kendoDialItemTemplate]", ngImport: i0 });
|
|
3174
3353
|
}
|
|
3175
|
-
|
|
3176
|
-
DialItemTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: DialItemTemplateDirective, isStandalone: true, selector: "[kendoDialItemTemplate]", ngImport: i0 });
|
|
3177
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DialItemTemplateDirective, decorators: [{
|
|
3354
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DialItemTemplateDirective, decorators: [{
|
|
3178
3355
|
type: Directive,
|
|
3179
3356
|
args: [{
|
|
3180
3357
|
selector: '[kendoDialItemTemplate]',
|
|
@@ -3191,13 +3368,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
3191
3368
|
* ([see example]({% slug templates_floatingactionbutton %}#toc-floatingactionbutton-template)).
|
|
3192
3369
|
*/
|
|
3193
3370
|
class FloatingActionButtonTemplateDirective {
|
|
3371
|
+
templateRef;
|
|
3194
3372
|
constructor(templateRef) {
|
|
3195
3373
|
this.templateRef = templateRef;
|
|
3196
3374
|
}
|
|
3375
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FloatingActionButtonTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
3376
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: FloatingActionButtonTemplateDirective, isStandalone: true, selector: "[kendoFloatingActionButtonTemplate]", ngImport: i0 });
|
|
3197
3377
|
}
|
|
3198
|
-
|
|
3199
|
-
FloatingActionButtonTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: FloatingActionButtonTemplateDirective, isStandalone: true, selector: "[kendoFloatingActionButtonTemplate]", ngImport: i0 });
|
|
3200
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FloatingActionButtonTemplateDirective, decorators: [{
|
|
3378
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FloatingActionButtonTemplateDirective, decorators: [{
|
|
3201
3379
|
type: Directive,
|
|
3202
3380
|
args: [{
|
|
3203
3381
|
selector: '[kendoFloatingActionButtonTemplate]',
|
|
@@ -3211,13 +3389,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
3211
3389
|
* @hidden
|
|
3212
3390
|
*/
|
|
3213
3391
|
class DialItemComponent {
|
|
3214
|
-
|
|
3215
|
-
|
|
3216
|
-
|
|
3217
|
-
|
|
3218
|
-
|
|
3219
|
-
this.role = 'menuitem';
|
|
3220
|
-
}
|
|
3392
|
+
element;
|
|
3393
|
+
renderer;
|
|
3394
|
+
localisationService;
|
|
3395
|
+
hostClass = true;
|
|
3396
|
+
role = 'menuitem';
|
|
3221
3397
|
get disabledClass() {
|
|
3222
3398
|
return this.item.disabled;
|
|
3223
3399
|
}
|
|
@@ -3228,6 +3404,18 @@ class DialItemComponent {
|
|
|
3228
3404
|
get indexAttr() {
|
|
3229
3405
|
return this.index;
|
|
3230
3406
|
}
|
|
3407
|
+
cssClass;
|
|
3408
|
+
cssStyle;
|
|
3409
|
+
isFocused;
|
|
3410
|
+
index;
|
|
3411
|
+
item;
|
|
3412
|
+
dialItemTemplate;
|
|
3413
|
+
align;
|
|
3414
|
+
constructor(element, renderer, localisationService) {
|
|
3415
|
+
this.element = element;
|
|
3416
|
+
this.renderer = renderer;
|
|
3417
|
+
this.localisationService = localisationService;
|
|
3418
|
+
}
|
|
3231
3419
|
get iconClasses() {
|
|
3232
3420
|
const classes = [];
|
|
3233
3421
|
if (this.item.iconClass) {
|
|
@@ -3258,9 +3446,8 @@ class DialItemComponent {
|
|
|
3258
3446
|
};
|
|
3259
3447
|
return directions[dir][align];
|
|
3260
3448
|
}
|
|
3261
|
-
}
|
|
3262
|
-
|
|
3263
|
-
DialItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DialItemComponent, isStandalone: true, selector: "[kendoDialItem]", inputs: { cssClass: "cssClass", cssStyle: "cssStyle", isFocused: "isFocused", index: "index", item: "item", dialItemTemplate: "dialItemTemplate", align: "align" }, host: { properties: { "class.k-fab-item": "this.hostClass", "attr.role": "this.role", "attr.aria-disabled": "this.disabledClass", "class.k-disabled": "this.disabledClass", "attr.title": "this.title", "attr.aria-label": "this.title", "attr.data-fab-item-index": "this.indexAttr" } }, ngImport: i0, template: `
|
|
3449
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DialItemComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
3450
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DialItemComponent, isStandalone: true, selector: "[kendoDialItem]", inputs: { cssClass: "cssClass", cssStyle: "cssStyle", isFocused: "isFocused", index: "index", item: "item", dialItemTemplate: "dialItemTemplate", align: "align" }, host: { properties: { "class.k-fab-item": "this.hostClass", "attr.role": "this.role", "attr.aria-disabled": "this.disabledClass", "class.k-disabled": "this.disabledClass", "attr.title": "this.title", "attr.aria-label": "this.title", "attr.data-fab-item-index": "this.indexAttr" } }, ngImport: i0, template: `
|
|
3264
3451
|
<ng-template *ngIf="dialItemTemplate"
|
|
3265
3452
|
[ngTemplateOutlet]="dialItemTemplate"
|
|
3266
3453
|
[ngTemplateOutletContext]="{ $implicit: item, index: index, isFocused: isFocused }"
|
|
@@ -3277,7 +3464,8 @@ DialItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
|
|
|
3277
3464
|
[svgIcon]="item.svgIcon"></kendo-icon-wrapper>
|
|
3278
3465
|
</ng-container>
|
|
3279
3466
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }] });
|
|
3280
|
-
|
|
3467
|
+
}
|
|
3468
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DialItemComponent, decorators: [{
|
|
3281
3469
|
type: Component,
|
|
3282
3470
|
args: [{
|
|
3283
3471
|
// eslint-disable-next-line @angular-eslint/component-selector
|
|
@@ -3343,28 +3531,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
3343
3531
|
* @hidden
|
|
3344
3532
|
*/
|
|
3345
3533
|
class DialListComponent {
|
|
3346
|
-
|
|
3347
|
-
|
|
3348
|
-
|
|
3349
|
-
this.hostClass = true;
|
|
3350
|
-
this.subscriptions = new Subscription();
|
|
3351
|
-
this.subscriptions.add(this.focusService.onFocus.subscribe(() => this.cdr.detectChanges()));
|
|
3352
|
-
}
|
|
3534
|
+
focusService;
|
|
3535
|
+
cdr;
|
|
3536
|
+
hostClass = true;
|
|
3353
3537
|
get bottomClass() {
|
|
3354
3538
|
return this.align.vertical === 'top' || this.align.vertical === 'middle';
|
|
3355
3539
|
}
|
|
3356
3540
|
get topClass() {
|
|
3357
3541
|
return this.align.vertical === 'bottom';
|
|
3358
3542
|
}
|
|
3543
|
+
dialItems;
|
|
3544
|
+
dialItemTemplate;
|
|
3545
|
+
align;
|
|
3546
|
+
subscriptions = new Subscription();
|
|
3547
|
+
constructor(focusService, cdr) {
|
|
3548
|
+
this.focusService = focusService;
|
|
3549
|
+
this.cdr = cdr;
|
|
3550
|
+
this.subscriptions.add(this.focusService.onFocus.subscribe(() => this.cdr.detectChanges()));
|
|
3551
|
+
}
|
|
3359
3552
|
isFocused(index) {
|
|
3360
3553
|
return this.focusService.isFocused(index);
|
|
3361
3554
|
}
|
|
3362
3555
|
ngOnDestroy() {
|
|
3363
3556
|
this.subscriptions.unsubscribe();
|
|
3364
3557
|
}
|
|
3365
|
-
}
|
|
3366
|
-
|
|
3367
|
-
DialListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DialListComponent, isStandalone: true, selector: "[kendoDialList]", inputs: { dialItems: "dialItems", dialItemTemplate: "dialItemTemplate", align: "align" }, host: { properties: { "class.k-fab-items": "this.hostClass", "class.k-fab-items-bottom": "this.bottomClass", "class.k-fab-items-top": "this.topClass" } }, ngImport: i0, template: `
|
|
3558
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DialListComponent, deps: [{ token: FocusService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
3559
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DialListComponent, isStandalone: true, selector: "[kendoDialList]", inputs: { dialItems: "dialItems", dialItemTemplate: "dialItemTemplate", align: "align" }, host: { properties: { "class.k-fab-items": "this.hostClass", "class.k-fab-items-bottom": "this.bottomClass", "class.k-fab-items-top": "this.topClass" } }, ngImport: i0, template: `
|
|
3368
3560
|
<ng-container *ngFor='let item of dialItems; let idx = index'>
|
|
3369
3561
|
<li
|
|
3370
3562
|
kendoButtonFocusable
|
|
@@ -3380,7 +3572,8 @@ DialListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
|
|
|
3380
3572
|
</li>
|
|
3381
3573
|
</ng-container>
|
|
3382
3574
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: FocusableDirective, selector: "[kendoButtonFocusable]", inputs: ["index"] }, { kind: "component", type: DialItemComponent, selector: "[kendoDialItem]", inputs: ["cssClass", "cssStyle", "isFocused", "index", "item", "dialItemTemplate", "align"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
|
|
3383
|
-
|
|
3575
|
+
}
|
|
3576
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DialListComponent, decorators: [{
|
|
3384
3577
|
type: Component,
|
|
3385
3578
|
args: [{
|
|
3386
3579
|
// eslint-disable-next-line @angular-eslint/component-selector
|
|
@@ -3453,101 +3646,25 @@ const DEFAULT_THEME_COLOR = 'primary';
|
|
|
3453
3646
|
*
|
|
3454
3647
|
*/
|
|
3455
3648
|
class FloatingActionButtonComponent {
|
|
3456
|
-
|
|
3457
|
-
|
|
3458
|
-
|
|
3459
|
-
|
|
3460
|
-
|
|
3461
|
-
|
|
3462
|
-
|
|
3463
|
-
|
|
3464
|
-
this.localizationService = localizationService;
|
|
3465
|
-
/**
|
|
3466
|
-
* Specifies the positionMode of the FloatingActionButton
|
|
3467
|
-
* ([see example](slug:positioning_floatingactionbutton#toc-position-mode)).
|
|
3468
|
-
*
|
|
3469
|
-
* * The possible values are:
|
|
3470
|
-
* * `absolute`—Positions the FloatingActionButton absolutely to its first positioned parent element.
|
|
3471
|
-
* * `fixed` (Default)—Positions the FloatingActionButton relative to the viewport. It always stays in the same place even if the page is scrolled.
|
|
3472
|
-
*/
|
|
3473
|
-
this.positionMode = 'fixed';
|
|
3474
|
-
/**
|
|
3475
|
-
* Specifies the animation settings of the FloatingActionButton dial items.
|
|
3476
|
-
* ([see example]({% slug dialitems_floatingactionbutton %}#toc-animation)).
|
|
3477
|
-
*
|
|
3478
|
-
* The possible values are:
|
|
3479
|
-
* * Boolean
|
|
3480
|
-
* * (Default) `true`—Applies the default [`DialItemAnimation`]({% slug api_buttons_dialitemanimation %}) settings.
|
|
3481
|
-
* * `false`
|
|
3482
|
-
* * `DialItemAnimation`
|
|
3483
|
-
* * `duration`—Specifies the animation duration in milliseconds for each dial item. Defaults to `180ms`.
|
|
3484
|
-
* * `gap`—Specifies the animation duration gap in milliseconds after each dial item is animated. Defaults to `90ms`.
|
|
3485
|
-
*/
|
|
3486
|
-
this.dialItemAnimation = true;
|
|
3487
|
-
/**
|
|
3488
|
-
* Specifies the [`tabIndex`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of the FloatingActionButton.
|
|
3489
|
-
*/
|
|
3490
|
-
this.tabIndex = 0;
|
|
3491
|
-
/**
|
|
3492
|
-
* Specifies the collection of the dial items that will be rendered in the FloatingActionButton popup.
|
|
3493
|
-
*/
|
|
3494
|
-
this.dialItems = [];
|
|
3495
|
-
/**
|
|
3496
|
-
* Fires each time the FloatingActionButton gets blurred.
|
|
3497
|
-
*/
|
|
3498
|
-
this.onBlur = new EventEmitter();
|
|
3499
|
-
/**
|
|
3500
|
-
* Fires each time the FloatingActionButton gets focused.
|
|
3501
|
-
*/
|
|
3502
|
-
this.onFocus = new EventEmitter();
|
|
3503
|
-
/**
|
|
3504
|
-
* Fires each time a dial item is clicked.
|
|
3505
|
-
*/
|
|
3506
|
-
this.dialItemClick = new EventEmitter();
|
|
3507
|
-
/**
|
|
3508
|
-
* Fires each time the popup is about to open.
|
|
3509
|
-
* This event is preventable. If you cancel the event, the popup will remain closed
|
|
3510
|
-
* ([more information and example](slug:events_floatingactionbutton)).
|
|
3511
|
-
*/
|
|
3512
|
-
this.open = new EventEmitter();
|
|
3513
|
-
/**
|
|
3514
|
-
* Fires each time the popup is about to close.
|
|
3515
|
-
* This event is preventable. If you cancel the event, the popup will remain open
|
|
3516
|
-
* ([more information and example](slug:events_floatingactionbutton)).
|
|
3517
|
-
*/
|
|
3518
|
-
this.close = new EventEmitter();
|
|
3519
|
-
/**
|
|
3520
|
-
* @hidden
|
|
3521
|
-
*/
|
|
3522
|
-
this.id = `k-${guid()}`;
|
|
3523
|
-
/**
|
|
3524
|
-
* @hidden
|
|
3525
|
-
*/
|
|
3526
|
-
this.dialListId = `k-dial-list-${guid()}`;
|
|
3527
|
-
this._themeColor = DEFAULT_THEME_COLOR;
|
|
3528
|
-
this._size = DEFAULT_SIZE;
|
|
3529
|
-
this._rounded = DEFAULT_ROUNDED$1;
|
|
3530
|
-
this._disabled = false;
|
|
3531
|
-
this._align = { horizontal: 'end', vertical: 'bottom' };
|
|
3532
|
-
this._offset = { x: DEFAULT_OFFSET, y: DEFAULT_OFFSET };
|
|
3533
|
-
this.subscriptions = new Subscription();
|
|
3534
|
-
this.rtl = false;
|
|
3535
|
-
this.animationEnd = new EventEmitter();
|
|
3536
|
-
this.initialSetup = true;
|
|
3537
|
-
this.focusChangedProgrammatically = false;
|
|
3538
|
-
validatePackage(packageMetadata);
|
|
3539
|
-
this.subscribeNavigationEvents();
|
|
3540
|
-
this.subscriptions.add(this.localizationService.changes.subscribe(({ rtl }) => {
|
|
3541
|
-
this.rtl = rtl;
|
|
3542
|
-
this.direction = this.rtl ? 'rtl' : 'ltr';
|
|
3543
|
-
}));
|
|
3544
|
-
}
|
|
3649
|
+
renderer;
|
|
3650
|
+
element;
|
|
3651
|
+
focusService;
|
|
3652
|
+
navigationService;
|
|
3653
|
+
ngZone;
|
|
3654
|
+
popupService;
|
|
3655
|
+
builder;
|
|
3656
|
+
localizationService;
|
|
3545
3657
|
get fixedClass() {
|
|
3546
3658
|
return this.positionMode === 'fixed';
|
|
3547
3659
|
}
|
|
3548
3660
|
get absoluteClass() {
|
|
3549
3661
|
return this.positionMode === 'absolute';
|
|
3550
3662
|
}
|
|
3663
|
+
direction;
|
|
3664
|
+
button;
|
|
3665
|
+
popupTemplate;
|
|
3666
|
+
dialItemTemplate;
|
|
3667
|
+
fabTemplate;
|
|
3551
3668
|
/**
|
|
3552
3669
|
* Specifies the theme color of the FloatingActionButton
|
|
3553
3670
|
* ([see example](slug:appearance_floatingactionbutton#toc-theme-colors)).
|
|
@@ -3650,12 +3767,131 @@ class FloatingActionButtonComponent {
|
|
|
3650
3767
|
get offset() {
|
|
3651
3768
|
return this._offset;
|
|
3652
3769
|
}
|
|
3770
|
+
/**
|
|
3771
|
+
* Specifies the positionMode of the FloatingActionButton
|
|
3772
|
+
* ([see example](slug:positioning_floatingactionbutton#toc-position-mode)).
|
|
3773
|
+
*
|
|
3774
|
+
* * The possible values are:
|
|
3775
|
+
* * `absolute`—Positions the FloatingActionButton absolutely to its first positioned parent element.
|
|
3776
|
+
* * `fixed` (Default)—Positions the FloatingActionButton relative to the viewport. It always stays in the same place even if the page is scrolled.
|
|
3777
|
+
*/
|
|
3778
|
+
positionMode = 'fixed';
|
|
3779
|
+
/**
|
|
3780
|
+
* Defines the name of an existing icon in a Kendo UI theme.
|
|
3781
|
+
* If provided, the icon will be rendered inside the FloatingActionButton by a `span.k-icon` element.
|
|
3782
|
+
*/
|
|
3783
|
+
icon;
|
|
3784
|
+
/**
|
|
3785
|
+
* Defines an [`SVGIcon`](slug:api_icons_svgicon) to be rendered within the FloatingActionButton.
|
|
3786
|
+
*/
|
|
3787
|
+
svgIcon;
|
|
3788
|
+
/**
|
|
3789
|
+
* Defines a CSS class or multiple classes separated by spaces which are applied to a `span` element.
|
|
3790
|
+
* Allows the usage of custom icons, rendered inside the FloatingActionButton by a `span` element.
|
|
3791
|
+
*/
|
|
3792
|
+
iconClass;
|
|
3793
|
+
/**
|
|
3794
|
+
* The CSS classes that will be rendered on the main button.
|
|
3795
|
+
* Supports the type of values that are supported by [`ngClass`](link:site.data.urls.angular['ngclassapi']).
|
|
3796
|
+
*/
|
|
3797
|
+
buttonClass;
|
|
3798
|
+
/**
|
|
3799
|
+
* The CSS classes that will be rendered on the dial items `ul` element.
|
|
3800
|
+
* Supports the type of values that are supported by [`ngClass`](link:site.data.urls.angular['ngclassapi']).
|
|
3801
|
+
*/
|
|
3802
|
+
dialClass;
|
|
3803
|
+
/**
|
|
3804
|
+
* Specifies the text content of the FloatingActionButton.
|
|
3805
|
+
*/
|
|
3806
|
+
text;
|
|
3807
|
+
/**
|
|
3808
|
+
* Specifies the animation settings of the FloatingActionButton dial items.
|
|
3809
|
+
* ([see example]({% slug dialitems_floatingactionbutton %}#toc-animation)).
|
|
3810
|
+
*
|
|
3811
|
+
* The possible values are:
|
|
3812
|
+
* * Boolean
|
|
3813
|
+
* * (Default) `true`—Applies the default [`DialItemAnimation`]({% slug api_buttons_dialitemanimation %}) settings.
|
|
3814
|
+
* * `false`
|
|
3815
|
+
* * `DialItemAnimation`
|
|
3816
|
+
* * `duration`—Specifies the animation duration in milliseconds for each dial item. Defaults to `180ms`.
|
|
3817
|
+
* * `gap`—Specifies the animation duration gap in milliseconds after each dial item is animated. Defaults to `90ms`.
|
|
3818
|
+
*/
|
|
3819
|
+
dialItemAnimation = true;
|
|
3820
|
+
/**
|
|
3821
|
+
* Specifies the [`tabIndex`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of the FloatingActionButton.
|
|
3822
|
+
*/
|
|
3823
|
+
tabIndex = 0;
|
|
3824
|
+
/**
|
|
3825
|
+
* Specifies the collection of the dial items that will be rendered in the FloatingActionButton popup.
|
|
3826
|
+
*/
|
|
3827
|
+
dialItems = [];
|
|
3828
|
+
/**
|
|
3829
|
+
* Fires each time the FloatingActionButton gets blurred.
|
|
3830
|
+
*/
|
|
3831
|
+
onBlur = new EventEmitter();
|
|
3832
|
+
/**
|
|
3833
|
+
* Fires each time the FloatingActionButton gets focused.
|
|
3834
|
+
*/
|
|
3835
|
+
onFocus = new EventEmitter();
|
|
3836
|
+
/**
|
|
3837
|
+
* Fires each time a dial item is clicked.
|
|
3838
|
+
*/
|
|
3839
|
+
dialItemClick = new EventEmitter();
|
|
3840
|
+
/**
|
|
3841
|
+
* Fires each time the popup is about to open.
|
|
3842
|
+
* This event is preventable. If you cancel the event, the popup will remain closed
|
|
3843
|
+
* ([more information and example](slug:events_floatingactionbutton)).
|
|
3844
|
+
*/
|
|
3845
|
+
open = new EventEmitter();
|
|
3846
|
+
/**
|
|
3847
|
+
* Fires each time the popup is about to close.
|
|
3848
|
+
* This event is preventable. If you cancel the event, the popup will remain open
|
|
3849
|
+
* ([more information and example](slug:events_floatingactionbutton)).
|
|
3850
|
+
*/
|
|
3851
|
+
close = new EventEmitter();
|
|
3653
3852
|
/**
|
|
3654
3853
|
* @hidden
|
|
3655
3854
|
*/
|
|
3656
3855
|
get componentTabIndex() {
|
|
3657
3856
|
return this.disabled ? (-1) : this.tabIndex;
|
|
3658
3857
|
}
|
|
3858
|
+
/**
|
|
3859
|
+
* @hidden
|
|
3860
|
+
*/
|
|
3861
|
+
id = `k-${guid()}`;
|
|
3862
|
+
/**
|
|
3863
|
+
* @hidden
|
|
3864
|
+
*/
|
|
3865
|
+
dialListId = `k-dial-list-${guid()}`;
|
|
3866
|
+
_themeColor = DEFAULT_THEME_COLOR;
|
|
3867
|
+
_size = DEFAULT_SIZE;
|
|
3868
|
+
_rounded = DEFAULT_ROUNDED$1;
|
|
3869
|
+
_disabled = false;
|
|
3870
|
+
_align = { horizontal: 'end', vertical: 'bottom' };
|
|
3871
|
+
_offset = { x: DEFAULT_OFFSET, y: DEFAULT_OFFSET };
|
|
3872
|
+
subscriptions = new Subscription();
|
|
3873
|
+
popupMouseDownListener;
|
|
3874
|
+
rtl = false;
|
|
3875
|
+
animationEnd = new EventEmitter();
|
|
3876
|
+
popupRef;
|
|
3877
|
+
initialSetup = true;
|
|
3878
|
+
focusChangedProgrammatically = false;
|
|
3879
|
+
constructor(renderer, element, focusService, navigationService, ngZone, popupService, builder, localizationService) {
|
|
3880
|
+
this.renderer = renderer;
|
|
3881
|
+
this.element = element;
|
|
3882
|
+
this.focusService = focusService;
|
|
3883
|
+
this.navigationService = navigationService;
|
|
3884
|
+
this.ngZone = ngZone;
|
|
3885
|
+
this.popupService = popupService;
|
|
3886
|
+
this.builder = builder;
|
|
3887
|
+
this.localizationService = localizationService;
|
|
3888
|
+
validatePackage(packageMetadata);
|
|
3889
|
+
this.subscribeNavigationEvents();
|
|
3890
|
+
this.subscriptions.add(this.localizationService.changes.subscribe(({ rtl }) => {
|
|
3891
|
+
this.rtl = rtl;
|
|
3892
|
+
this.direction = this.rtl ? 'rtl' : 'ltr';
|
|
3893
|
+
}));
|
|
3894
|
+
}
|
|
3659
3895
|
ngAfterViewInit() {
|
|
3660
3896
|
['size', 'rounded', 'themeColor'].forEach(option => this.handleClasses(this[option], option));
|
|
3661
3897
|
this.renderer.addClass(this.element.nativeElement, this.alignClass());
|
|
@@ -4111,18 +4347,17 @@ class FloatingActionButtonComponent {
|
|
|
4111
4347
|
}
|
|
4112
4348
|
return DEFAULT_DURATION;
|
|
4113
4349
|
}
|
|
4114
|
-
}
|
|
4115
|
-
|
|
4116
|
-
|
|
4117
|
-
|
|
4118
|
-
|
|
4119
|
-
|
|
4120
|
-
|
|
4121
|
-
|
|
4122
|
-
|
|
4123
|
-
|
|
4124
|
-
}
|
|
4125
|
-
], queries: [{ propertyName: "dialItemTemplate", first: true, predicate: DialItemTemplateDirective, descendants: true }, { propertyName: "fabTemplate", first: true, predicate: FloatingActionButtonTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "button", first: true, predicate: ["button"], descendants: true, static: true }, { propertyName: "popupTemplate", first: true, predicate: ["popupTemplate"], descendants: true, static: true }], ngImport: i0, template: `
|
|
4350
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FloatingActionButtonComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: FocusService }, { token: NavigationService }, { token: i0.NgZone }, { token: i3.PopupService }, { token: i4.AnimationBuilder }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
4351
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FloatingActionButtonComponent, isStandalone: true, selector: "kendo-floatingactionbutton", inputs: { themeColor: "themeColor", size: "size", rounded: "rounded", disabled: "disabled", align: "align", offset: "offset", positionMode: "positionMode", icon: "icon", svgIcon: "svgIcon", iconClass: "iconClass", buttonClass: "buttonClass", dialClass: "dialClass", text: "text", dialItemAnimation: "dialItemAnimation", tabIndex: "tabIndex", dialItems: "dialItems" }, outputs: { onBlur: "blur", onFocus: "focus", dialItemClick: "dialItemClick", open: "open", close: "close" }, host: { properties: { "class.k-pos-fixed": "this.fixedClass", "class.k-pos-absolute": "this.absoluteClass", "attr.dir": "this.direction" } }, providers: [
|
|
4352
|
+
FocusService,
|
|
4353
|
+
NavigationService,
|
|
4354
|
+
NAVIGATION_SETTINGS_PROVIDER$1,
|
|
4355
|
+
LocalizationService,
|
|
4356
|
+
{
|
|
4357
|
+
provide: L10N_PREFIX,
|
|
4358
|
+
useValue: 'kendo.floatingactionbutton'
|
|
4359
|
+
}
|
|
4360
|
+
], queries: [{ propertyName: "dialItemTemplate", first: true, predicate: DialItemTemplateDirective, descendants: true }, { propertyName: "fabTemplate", first: true, predicate: FloatingActionButtonTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "button", first: true, predicate: ["button"], descendants: true, static: true }, { propertyName: "popupTemplate", first: true, predicate: ["popupTemplate"], descendants: true, static: true }], ngImport: i0, template: `
|
|
4126
4361
|
<button
|
|
4127
4362
|
#button
|
|
4128
4363
|
[attr.id]="id"
|
|
@@ -4180,7 +4415,8 @@ FloatingActionButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "1
|
|
|
4180
4415
|
</ul>
|
|
4181
4416
|
</ng-template>
|
|
4182
4417
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "component", type: DialListComponent, selector: "[kendoDialList]", inputs: ["dialItems", "dialItemTemplate", "align"] }] });
|
|
4183
|
-
|
|
4418
|
+
}
|
|
4419
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FloatingActionButtonComponent, decorators: [{
|
|
4184
4420
|
type: Component,
|
|
4185
4421
|
args: [{
|
|
4186
4422
|
selector: 'kendo-floatingactionbutton',
|
|
@@ -4327,10 +4563,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
4327
4563
|
* @hidden
|
|
4328
4564
|
*/
|
|
4329
4565
|
class Messages extends ComponentMessages {
|
|
4566
|
+
/**
|
|
4567
|
+
* The text for the SplitButton aria-label.
|
|
4568
|
+
*
|
|
4569
|
+
* The text for the aria-label consists of a two-part message - the text of the SplitButton and a localizable string.
|
|
4570
|
+
* For a SplitButton with text 'Reply', the default aria-label will be 'Reply splitbutton'.
|
|
4571
|
+
*
|
|
4572
|
+
* To allow reordering of the SplitButton text and the localizable part, the splitButtonLabel accepts a string with a
|
|
4573
|
+
* placeholder for the button text - e.g. 'splitbutton for {buttonText}'. The '{buttonText}' placeholder will be replaced
|
|
4574
|
+
* internally with the current SplitButton text, and the resulting aria-label will be rendered as 'splitbutton for Reply'.
|
|
4575
|
+
*
|
|
4576
|
+
* @example
|
|
4577
|
+
*
|
|
4578
|
+
* ```ts-no-run
|
|
4579
|
+
* <kendo-splitbutton>
|
|
4580
|
+
* <kendo-splitbutton-messages
|
|
4581
|
+
* splitButtonLabel="splitbutton for {buttonText}"
|
|
4582
|
+
* >
|
|
4583
|
+
* </kendo-splitbutton-messages>
|
|
4584
|
+
* </kendo-splitbutton>
|
|
4585
|
+
* ```
|
|
4586
|
+
*/
|
|
4587
|
+
splitButtonLabel;
|
|
4588
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: Messages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
4589
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: Messages, selector: "kendo-splitbutton-messages-base", inputs: { splitButtonLabel: "splitButtonLabel" }, usesInheritance: true, ngImport: i0 });
|
|
4330
4590
|
}
|
|
4331
|
-
|
|
4332
|
-
Messages.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: Messages, selector: "kendo-splitbutton-messages-base", inputs: { splitButtonLabel: "splitButtonLabel" }, usesInheritance: true, ngImport: i0 });
|
|
4333
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: Messages, decorators: [{
|
|
4591
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: Messages, decorators: [{
|
|
4334
4592
|
type: Directive,
|
|
4335
4593
|
args: [{
|
|
4336
4594
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
@@ -4345,6 +4603,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
4345
4603
|
* ([see example]({% slug rtl_buttons %}).
|
|
4346
4604
|
*/
|
|
4347
4605
|
class SplitButtonCustomMessagesComponent extends Messages {
|
|
4606
|
+
service;
|
|
4348
4607
|
constructor(service) {
|
|
4349
4608
|
super();
|
|
4350
4609
|
this.service = service;
|
|
@@ -4352,13 +4611,13 @@ class SplitButtonCustomMessagesComponent extends Messages {
|
|
|
4352
4611
|
get override() {
|
|
4353
4612
|
return true;
|
|
4354
4613
|
}
|
|
4614
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SplitButtonCustomMessagesComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
4615
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SplitButtonCustomMessagesComponent, isStandalone: true, selector: "kendo-splitbutton-messages", providers: [{
|
|
4616
|
+
provide: Messages,
|
|
4617
|
+
useExisting: forwardRef(() => SplitButtonCustomMessagesComponent)
|
|
4618
|
+
}], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
|
|
4355
4619
|
}
|
|
4356
|
-
|
|
4357
|
-
SplitButtonCustomMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SplitButtonCustomMessagesComponent, isStandalone: true, selector: "kendo-splitbutton-messages", providers: [{
|
|
4358
|
-
provide: Messages,
|
|
4359
|
-
useExisting: forwardRef(() => SplitButtonCustomMessagesComponent)
|
|
4360
|
-
}], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
|
|
4361
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SplitButtonCustomMessagesComponent, decorators: [{
|
|
4620
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SplitButtonCustomMessagesComponent, decorators: [{
|
|
4362
4621
|
type: Component,
|
|
4363
4622
|
args: [{
|
|
4364
4623
|
providers: [{
|
|
@@ -4375,19 +4634,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
4375
4634
|
* @hidden
|
|
4376
4635
|
*/
|
|
4377
4636
|
class LocalizedSplitButtonMessagesDirective extends Messages {
|
|
4637
|
+
service;
|
|
4378
4638
|
constructor(service) {
|
|
4379
4639
|
super();
|
|
4380
4640
|
this.service = service;
|
|
4381
4641
|
}
|
|
4642
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LocalizedSplitButtonMessagesDirective, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
4643
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: LocalizedSplitButtonMessagesDirective, isStandalone: true, selector: "[kendoSplitButtonLocalizedMessages]", providers: [
|
|
4644
|
+
{
|
|
4645
|
+
provide: Messages,
|
|
4646
|
+
useExisting: forwardRef(() => LocalizedSplitButtonMessagesDirective)
|
|
4647
|
+
}
|
|
4648
|
+
], usesInheritance: true, ngImport: i0 });
|
|
4382
4649
|
}
|
|
4383
|
-
|
|
4384
|
-
LocalizedSplitButtonMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: LocalizedSplitButtonMessagesDirective, isStandalone: true, selector: "[kendoSplitButtonLocalizedMessages]", providers: [
|
|
4385
|
-
{
|
|
4386
|
-
provide: Messages,
|
|
4387
|
-
useExisting: forwardRef(() => LocalizedSplitButtonMessagesDirective)
|
|
4388
|
-
}
|
|
4389
|
-
], usesInheritance: true, ngImport: i0 });
|
|
4390
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LocalizedSplitButtonMessagesDirective, decorators: [{
|
|
4650
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LocalizedSplitButtonMessagesDirective, decorators: [{
|
|
4391
4651
|
type: Directive,
|
|
4392
4652
|
args: [{
|
|
4393
4653
|
providers: [
|
|
@@ -4452,154 +4712,46 @@ const DEFAULT_FILL_MODE = 'solid';
|
|
|
4452
4712
|
* ```
|
|
4453
4713
|
*/
|
|
4454
4714
|
class SplitButtonComponent extends ListButton {
|
|
4455
|
-
|
|
4456
|
-
|
|
4457
|
-
|
|
4458
|
-
|
|
4459
|
-
|
|
4460
|
-
|
|
4461
|
-
|
|
4462
|
-
|
|
4463
|
-
|
|
4464
|
-
|
|
4465
|
-
|
|
4466
|
-
|
|
4467
|
-
|
|
4468
|
-
|
|
4469
|
-
|
|
4470
|
-
|
|
4471
|
-
|
|
4472
|
-
|
|
4473
|
-
|
|
4474
|
-
|
|
4475
|
-
|
|
4476
|
-
|
|
4477
|
-
|
|
4478
|
-
|
|
4479
|
-
|
|
4480
|
-
|
|
4481
|
-
|
|
4482
|
-
|
|
4483
|
-
|
|
4484
|
-
|
|
4485
|
-
|
|
4486
|
-
|
|
4487
|
-
|
|
4488
|
-
|
|
4489
|
-
|
|
4490
|
-
|
|
4491
|
-
|
|
4492
|
-
|
|
4493
|
-
|
|
4494
|
-
|
|
4495
|
-
* * `primary` —Applies coloring based on the `primary` theme color.
|
|
4496
|
-
* * `secondary`—Applies coloring based on the `secondary` theme color.
|
|
4497
|
-
* * `tertiary`— Applies coloring based on the `tertiary` theme color.
|
|
4498
|
-
* * `info`—Applies coloring based on the `info` theme color.
|
|
4499
|
-
* * `success`— Applies coloring based on the `success` theme color.
|
|
4500
|
-
* * `warning`— Applies coloring based on the `warning` theme color.
|
|
4501
|
-
* * `error`— Applies coloring based on the `error` theme color.
|
|
4502
|
-
* * `dark`— Applies coloring based on the `dark` theme color.
|
|
4503
|
-
* * `light`— Applies coloring based on the `light` theme color.
|
|
4504
|
-
* * `inverse`— Applies coloring based on the `inverse` theme color.
|
|
4505
|
-
* * `none`— Removes the built in theme color.
|
|
4506
|
-
*/
|
|
4507
|
-
this.themeColor = 'base';
|
|
4508
|
-
/**
|
|
4509
|
-
* Specifies the [`tabIndex`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of the component.
|
|
4510
|
-
*/
|
|
4511
|
-
this.tabIndex = 0;
|
|
4512
|
-
/**
|
|
4513
|
-
* Specifies the name of the [font icon]({% slug icons %}#toc-list-of-font-icons) that will
|
|
4514
|
-
* be rendered for the button which opens the popup.
|
|
4515
|
-
*/
|
|
4516
|
-
this.arrowButtonIcon = 'caret-alt-down';
|
|
4517
|
-
/**
|
|
4518
|
-
* Specifies the [`SVGIcon`](slug:api_icons_svgicon) that will
|
|
4519
|
-
* be rendered for the button which opens the popup.
|
|
4520
|
-
*/
|
|
4521
|
-
this.arrowButtonSvgIcon = caretAltDownIcon;
|
|
4522
|
-
/**
|
|
4523
|
-
* Fires each time the user clicks the main button.
|
|
4524
|
-
*
|
|
4525
|
-
* @example
|
|
4526
|
-
* ```ts
|
|
4527
|
-
* _@Component({
|
|
4528
|
-
* selector: 'my-app',
|
|
4529
|
-
* template: `
|
|
4530
|
-
* <kendo-splitbutton (buttonClick)="onSplitButtonClick()" [data]="data">
|
|
4531
|
-
* Reply
|
|
4532
|
-
* </kendo-splitbutton>
|
|
4533
|
-
* `
|
|
4534
|
-
* })
|
|
4535
|
-
* class AppComponent {
|
|
4536
|
-
* public data: Array<any> = ['Reply All', 'Forward', 'Reply & Delete'];
|
|
4537
|
-
*
|
|
4538
|
-
* public onSplitButtonClick(): void {
|
|
4539
|
-
* console.log('SplitButton click');
|
|
4540
|
-
* }
|
|
4541
|
-
* }
|
|
4542
|
-
* ```
|
|
4543
|
-
*
|
|
4544
|
-
*/
|
|
4545
|
-
this.buttonClick = new EventEmitter();
|
|
4546
|
-
/**
|
|
4547
|
-
* Fires each time the user clicks on the drop-down list. The event data contains the data item bound to the clicked list item.
|
|
4548
|
-
*
|
|
4549
|
-
* @example
|
|
4550
|
-
* ```ts
|
|
4551
|
-
* _@Component({
|
|
4552
|
-
* selector: 'my-app',
|
|
4553
|
-
* template: `
|
|
4554
|
-
* <kendo-splitbutton (itemClick)="onSplitButtonItemClick($event)" [data]="data">
|
|
4555
|
-
* Reply
|
|
4556
|
-
* </kendo-splitbutton>
|
|
4557
|
-
* `
|
|
4558
|
-
* })
|
|
4559
|
-
* class AppComponent {
|
|
4560
|
-
* public data: Array<any> = ['Reply All', 'Forward', 'Reply & Delete'];
|
|
4561
|
-
*
|
|
4562
|
-
* public onSplitButtonItemClick(dataItem?: string): void {
|
|
4563
|
-
* if (dataItem) {
|
|
4564
|
-
* console.log(dataItem);
|
|
4565
|
-
* }
|
|
4566
|
-
* }
|
|
4567
|
-
* }
|
|
4568
|
-
* ```
|
|
4569
|
-
*
|
|
4570
|
-
*/
|
|
4571
|
-
this.itemClick = new EventEmitter();
|
|
4572
|
-
/**
|
|
4573
|
-
* Fires each time the SplitButton gets focused.
|
|
4574
|
-
*/
|
|
4575
|
-
this.onFocus = new EventEmitter();
|
|
4576
|
-
/**
|
|
4577
|
-
* Fires each time the SplitButton gets blurred.
|
|
4578
|
-
*/
|
|
4579
|
-
this.onBlur = new EventEmitter();
|
|
4580
|
-
/**
|
|
4581
|
-
* Fires each time the popup is about to open.
|
|
4582
|
-
* This event is preventable. If you cancel the event, the popup will remain closed.
|
|
4583
|
-
*/
|
|
4584
|
-
this.open = new EventEmitter();
|
|
4585
|
-
/**
|
|
4586
|
-
* Fires each time the popup is about to close.
|
|
4587
|
-
* This event is preventable. If you cancel the event, the popup will remain open.
|
|
4588
|
-
*/
|
|
4589
|
-
this.close = new EventEmitter();
|
|
4590
|
-
/**
|
|
4591
|
-
* @hidden
|
|
4592
|
-
*/
|
|
4593
|
-
this.activeArrow = false;
|
|
4594
|
-
this.listId = guid();
|
|
4595
|
-
this.buttonText = '';
|
|
4596
|
-
this.arrowButtonClicked = false;
|
|
4597
|
-
this._rounded = DEFAULT_ROUNDED;
|
|
4598
|
-
this._fillMode = DEFAULT_FILL_MODE;
|
|
4599
|
-
this._buttonAttributes = null;
|
|
4600
|
-
this._itemClick = this.itemClick;
|
|
4601
|
-
this._blur = this.onBlur;
|
|
4602
|
-
}
|
|
4715
|
+
localization;
|
|
4716
|
+
renderer;
|
|
4717
|
+
/**
|
|
4718
|
+
* Sets the text of the SplitButton.
|
|
4719
|
+
*/
|
|
4720
|
+
text = '';
|
|
4721
|
+
/**
|
|
4722
|
+
* Defines an icon to be rendered next to the button text.
|
|
4723
|
+
* ([see example]({% slug databinding_splitbutton %}#toc-arrays-of-complex-data)).
|
|
4724
|
+
*/
|
|
4725
|
+
icon = '';
|
|
4726
|
+
/**
|
|
4727
|
+
* Defines an SVGIcon to be rendered next to the button text.
|
|
4728
|
+
*/
|
|
4729
|
+
svgIcon;
|
|
4730
|
+
/**
|
|
4731
|
+
* Defines an icon with a custom CSS class to be rendered next to the button text
|
|
4732
|
+
* ([see example]({% slug databinding_splitbutton %}#toc-arrays-of-complex-data)).
|
|
4733
|
+
*/
|
|
4734
|
+
iconClass;
|
|
4735
|
+
/**
|
|
4736
|
+
* Defines the type attribute of the main button
|
|
4737
|
+
*/
|
|
4738
|
+
type = 'button';
|
|
4739
|
+
/**
|
|
4740
|
+
* Defines the location of an image to be displayed next to the button text
|
|
4741
|
+
* ([see example]({% slug databinding_splitbutton %}#toc-arrays-of-complex-data)).
|
|
4742
|
+
*/
|
|
4743
|
+
imageUrl = '';
|
|
4744
|
+
/**
|
|
4745
|
+
* The size property specifies the padding of the SplitButton
|
|
4746
|
+
* ([see example]({% slug api_buttons_splitbuttoncomponent %}#toc-size)).
|
|
4747
|
+
*
|
|
4748
|
+
* The possible values are:
|
|
4749
|
+
* * `small`
|
|
4750
|
+
* * `medium` (default)
|
|
4751
|
+
* * `large`
|
|
4752
|
+
* * `none`
|
|
4753
|
+
*/
|
|
4754
|
+
size = 'medium';
|
|
4603
4755
|
/**
|
|
4604
4756
|
* The rounded property specifies the border radius of the SplitButton
|
|
4605
4757
|
* ([see example]({% slug api_buttons_splitbuttoncomponent %}#toc-rounded)).
|
|
@@ -4636,6 +4788,26 @@ class SplitButtonComponent extends ListButton {
|
|
|
4636
4788
|
get fillMode() {
|
|
4637
4789
|
return this._fillMode;
|
|
4638
4790
|
}
|
|
4791
|
+
/**
|
|
4792
|
+
* The SplitButton allows you to specify predefined theme colors.
|
|
4793
|
+
* The theme color will be applied as a background and border color while also amending the text color accordingly
|
|
4794
|
+
* ([see example]({% slug api_buttons_splitbuttoncomponent %}#toc-themeColor)).
|
|
4795
|
+
*
|
|
4796
|
+
* The possible values are:
|
|
4797
|
+
* * `base` —Applies coloring based on the `base` theme color. (default)
|
|
4798
|
+
* * `primary` —Applies coloring based on the `primary` theme color.
|
|
4799
|
+
* * `secondary`—Applies coloring based on the `secondary` theme color.
|
|
4800
|
+
* * `tertiary`— Applies coloring based on the `tertiary` theme color.
|
|
4801
|
+
* * `info`—Applies coloring based on the `info` theme color.
|
|
4802
|
+
* * `success`— Applies coloring based on the `success` theme color.
|
|
4803
|
+
* * `warning`— Applies coloring based on the `warning` theme color.
|
|
4804
|
+
* * `error`— Applies coloring based on the `error` theme color.
|
|
4805
|
+
* * `dark`— Applies coloring based on the `dark` theme color.
|
|
4806
|
+
* * `light`— Applies coloring based on the `light` theme color.
|
|
4807
|
+
* * `inverse`— Applies coloring based on the `inverse` theme color.
|
|
4808
|
+
* * `none`— Removes the built in theme color.
|
|
4809
|
+
*/
|
|
4810
|
+
themeColor = 'base';
|
|
4639
4811
|
/**
|
|
4640
4812
|
* When set to `true`, disables a SplitButton item
|
|
4641
4813
|
* ([see example]({% slug databinding_splitbutton %}#toc-arrays-of-complex-data)).
|
|
@@ -4664,6 +4836,14 @@ class SplitButtonComponent extends ListButton {
|
|
|
4664
4836
|
get popupSettings() {
|
|
4665
4837
|
return this._popupSettings;
|
|
4666
4838
|
}
|
|
4839
|
+
/**
|
|
4840
|
+
* Specifies the [`tabIndex`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of the component.
|
|
4841
|
+
*/
|
|
4842
|
+
tabIndex = 0;
|
|
4843
|
+
/**
|
|
4844
|
+
* Configures the text field of the button-list popup.
|
|
4845
|
+
*/
|
|
4846
|
+
textField;
|
|
4667
4847
|
/**
|
|
4668
4848
|
* Sets the data of the SplitButton.
|
|
4669
4849
|
*
|
|
@@ -4678,6 +4858,21 @@ class SplitButtonComponent extends ListButton {
|
|
|
4678
4858
|
}
|
|
4679
4859
|
return this._data;
|
|
4680
4860
|
}
|
|
4861
|
+
/**
|
|
4862
|
+
* The CSS classes that will be rendered on the button which opens the popup.
|
|
4863
|
+
* Supports the type of values that are supported by [`ngClass`](link:site.data.urls.angular['ngclassapi']).
|
|
4864
|
+
*/
|
|
4865
|
+
arrowButtonClass;
|
|
4866
|
+
/**
|
|
4867
|
+
* Specifies the name of the [font icon]({% slug icons %}#toc-list-of-font-icons) that will
|
|
4868
|
+
* be rendered for the button which opens the popup.
|
|
4869
|
+
*/
|
|
4870
|
+
arrowButtonIcon = 'caret-alt-down';
|
|
4871
|
+
/**
|
|
4872
|
+
* Specifies the [`SVGIcon`](slug:api_icons_svgicon) that will
|
|
4873
|
+
* be rendered for the button which opens the popup.
|
|
4874
|
+
*/
|
|
4875
|
+
arrowButtonSvgIcon = caretAltDownIcon;
|
|
4681
4876
|
/**
|
|
4682
4877
|
* Sets attributes to the main button.
|
|
4683
4878
|
*/
|
|
@@ -4689,6 +4884,80 @@ class SplitButtonComponent extends ListButton {
|
|
|
4689
4884
|
get buttonAttributes() {
|
|
4690
4885
|
return this._buttonAttributes;
|
|
4691
4886
|
}
|
|
4887
|
+
/**
|
|
4888
|
+
* Fires each time the user clicks the main button.
|
|
4889
|
+
*
|
|
4890
|
+
* @example
|
|
4891
|
+
* ```ts
|
|
4892
|
+
* _@Component({
|
|
4893
|
+
* selector: 'my-app',
|
|
4894
|
+
* template: `
|
|
4895
|
+
* <kendo-splitbutton (buttonClick)="onSplitButtonClick()" [data]="data">
|
|
4896
|
+
* Reply
|
|
4897
|
+
* </kendo-splitbutton>
|
|
4898
|
+
* `
|
|
4899
|
+
* })
|
|
4900
|
+
* class AppComponent {
|
|
4901
|
+
* public data: Array<any> = ['Reply All', 'Forward', 'Reply & Delete'];
|
|
4902
|
+
*
|
|
4903
|
+
* public onSplitButtonClick(): void {
|
|
4904
|
+
* console.log('SplitButton click');
|
|
4905
|
+
* }
|
|
4906
|
+
* }
|
|
4907
|
+
* ```
|
|
4908
|
+
*
|
|
4909
|
+
*/
|
|
4910
|
+
buttonClick = new EventEmitter();
|
|
4911
|
+
/**
|
|
4912
|
+
* Fires each time the user clicks on the drop-down list. The event data contains the data item bound to the clicked list item.
|
|
4913
|
+
*
|
|
4914
|
+
* @example
|
|
4915
|
+
* ```ts
|
|
4916
|
+
* _@Component({
|
|
4917
|
+
* selector: 'my-app',
|
|
4918
|
+
* template: `
|
|
4919
|
+
* <kendo-splitbutton (itemClick)="onSplitButtonItemClick($event)" [data]="data">
|
|
4920
|
+
* Reply
|
|
4921
|
+
* </kendo-splitbutton>
|
|
4922
|
+
* `
|
|
4923
|
+
* })
|
|
4924
|
+
* class AppComponent {
|
|
4925
|
+
* public data: Array<any> = ['Reply All', 'Forward', 'Reply & Delete'];
|
|
4926
|
+
*
|
|
4927
|
+
* public onSplitButtonItemClick(dataItem?: string): void {
|
|
4928
|
+
* if (dataItem) {
|
|
4929
|
+
* console.log(dataItem);
|
|
4930
|
+
* }
|
|
4931
|
+
* }
|
|
4932
|
+
* }
|
|
4933
|
+
* ```
|
|
4934
|
+
*
|
|
4935
|
+
*/
|
|
4936
|
+
itemClick = new EventEmitter();
|
|
4937
|
+
/**
|
|
4938
|
+
* Fires each time the SplitButton gets focused.
|
|
4939
|
+
*/
|
|
4940
|
+
onFocus = new EventEmitter();
|
|
4941
|
+
/**
|
|
4942
|
+
* Fires each time the SplitButton gets blurred.
|
|
4943
|
+
*/
|
|
4944
|
+
onBlur = new EventEmitter();
|
|
4945
|
+
/**
|
|
4946
|
+
* Fires each time the popup is about to open.
|
|
4947
|
+
* This event is preventable. If you cancel the event, the popup will remain closed.
|
|
4948
|
+
*/
|
|
4949
|
+
open = new EventEmitter();
|
|
4950
|
+
/**
|
|
4951
|
+
* Fires each time the popup is about to close.
|
|
4952
|
+
* This event is preventable. If you cancel the event, the popup will remain open.
|
|
4953
|
+
*/
|
|
4954
|
+
close = new EventEmitter();
|
|
4955
|
+
/**
|
|
4956
|
+
* An item template that helps to customize the item content.
|
|
4957
|
+
*/
|
|
4958
|
+
itemTemplate;
|
|
4959
|
+
activeArrow = false;
|
|
4960
|
+
listId = guid();
|
|
4692
4961
|
/**
|
|
4693
4962
|
* @hidden
|
|
4694
4963
|
*/
|
|
@@ -4707,6 +4976,12 @@ class SplitButtonComponent extends ListButton {
|
|
|
4707
4976
|
get componentTabIndex() {
|
|
4708
4977
|
return this.disabled ? -1 : this.tabIndex;
|
|
4709
4978
|
}
|
|
4979
|
+
buttonText = '';
|
|
4980
|
+
arrowButtonClicked = false;
|
|
4981
|
+
_rounded = DEFAULT_ROUNDED;
|
|
4982
|
+
_fillMode = DEFAULT_FILL_MODE;
|
|
4983
|
+
_buttonAttributes = null;
|
|
4984
|
+
documentMouseUpSub;
|
|
4710
4985
|
set isFocused(value) {
|
|
4711
4986
|
this._isFocused = value;
|
|
4712
4987
|
}
|
|
@@ -4800,7 +5075,7 @@ class SplitButtonComponent extends ListButton {
|
|
|
4800
5075
|
* @hidden
|
|
4801
5076
|
*/
|
|
4802
5077
|
ngAfterViewInit() {
|
|
4803
|
-
this.containerService.container = this.
|
|
5078
|
+
this.containerService.container = this.container;
|
|
4804
5079
|
this.containerService.template = this.popupTemplate;
|
|
4805
5080
|
this.updateButtonText();
|
|
4806
5081
|
this.handleClasses(this.rounded, 'rounded');
|
|
@@ -4824,6 +5099,14 @@ class SplitButtonComponent extends ListButton {
|
|
|
4824
5099
|
popup.popupAlign = this.popupAlign;
|
|
4825
5100
|
}
|
|
4826
5101
|
}
|
|
5102
|
+
/**
|
|
5103
|
+
* @hidden
|
|
5104
|
+
*/
|
|
5105
|
+
ngOnDestroy() {
|
|
5106
|
+
if (this.documentMouseUpSub) {
|
|
5107
|
+
this.documentMouseUpSub();
|
|
5108
|
+
}
|
|
5109
|
+
}
|
|
4827
5110
|
/**
|
|
4828
5111
|
* @hidden
|
|
4829
5112
|
*/
|
|
@@ -4892,6 +5175,23 @@ class SplitButtonComponent extends ListButton {
|
|
|
4892
5175
|
this.blurWrapper();
|
|
4893
5176
|
}
|
|
4894
5177
|
}
|
|
5178
|
+
constructor(focusService, navigationService, wrapperRef, zone, popupService, elRef, localization, cdr, renderer, containerService) {
|
|
5179
|
+
super(focusService, navigationService, wrapperRef, zone, popupService, elRef, localization, cdr, containerService);
|
|
5180
|
+
this.localization = localization;
|
|
5181
|
+
this.renderer = renderer;
|
|
5182
|
+
this._itemClick = this.itemClick;
|
|
5183
|
+
this._blur = this.onBlur;
|
|
5184
|
+
zone.runOutsideAngular(() => {
|
|
5185
|
+
this.documentMouseUpSub = this.renderer.listen('document', 'mouseup', () => {
|
|
5186
|
+
if (this.active) {
|
|
5187
|
+
zone.run(() => this._active = false);
|
|
5188
|
+
}
|
|
5189
|
+
if (this.activeArrow) {
|
|
5190
|
+
zone.run(() => this.activeArrow = false);
|
|
5191
|
+
}
|
|
5192
|
+
});
|
|
5193
|
+
});
|
|
5194
|
+
}
|
|
4895
5195
|
/**
|
|
4896
5196
|
* Returns the current open state of the popup.
|
|
4897
5197
|
*/
|
|
@@ -4934,26 +5234,26 @@ class SplitButtonComponent extends ListButton {
|
|
|
4934
5234
|
}
|
|
4935
5235
|
}
|
|
4936
5236
|
}
|
|
4937
|
-
}
|
|
4938
|
-
|
|
4939
|
-
|
|
4940
|
-
|
|
4941
|
-
|
|
4942
|
-
|
|
4943
|
-
|
|
4944
|
-
|
|
4945
|
-
|
|
4946
|
-
|
|
4947
|
-
|
|
4948
|
-
|
|
4949
|
-
|
|
4950
|
-
|
|
4951
|
-
|
|
4952
|
-
}
|
|
4953
|
-
], queries: [{ propertyName: "itemTemplate", first: true, predicate: ButtonItemTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "button", first: true, predicate: ["button"], descendants: true, read: ElementRef }, { propertyName: "arrowButton", first: true, predicate: ["arrowButton"], descendants: true, read: ElementRef }, { propertyName: "popupTemplate", first: true, predicate: ["popupTemplate"], descendants: true }, { propertyName: "containerRef", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef }], exportAs: ["kendoSplitButton"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
|
|
5237
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SplitButtonComponent, deps: [{ token: FocusService }, { token: NavigationService }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i3.PopupService }, { token: i0.ElementRef }, { token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: PopupContainerService }], target: i0.ɵɵFactoryTarget.Component });
|
|
5238
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SplitButtonComponent, isStandalone: true, 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", 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: [
|
|
5239
|
+
FocusService,
|
|
5240
|
+
NavigationService,
|
|
5241
|
+
NAVIGATION_SETTINGS_PROVIDER,
|
|
5242
|
+
LocalizationService,
|
|
5243
|
+
{
|
|
5244
|
+
provide: L10N_PREFIX,
|
|
5245
|
+
useValue: 'kendo.splitbutton'
|
|
5246
|
+
},
|
|
5247
|
+
PopupContainerService,
|
|
5248
|
+
{
|
|
5249
|
+
provide: MultiTabStop,
|
|
5250
|
+
useExisting: forwardRef(() => SplitButtonComponent)
|
|
5251
|
+
}
|
|
5252
|
+
], queries: [{ propertyName: "itemTemplate", first: true, predicate: ButtonItemTemplateDirective, descendants: true }], exportAs: ["kendoSplitButton"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
|
|
4954
5253
|
<ng-container kendoSplitButtonLocalizedMessages
|
|
4955
5254
|
i18n-splitButtonLabel="kendo.splitbutton.splitButtonLabel|The text for the SplitButton aria-label"
|
|
4956
|
-
splitButtonLabel="{{ '{buttonText} splitbutton' }}"
|
|
5255
|
+
splitButtonLabel="{{ '{buttonText} splitbutton' }}"
|
|
5256
|
+
>
|
|
4957
5257
|
</ng-container>
|
|
4958
5258
|
<button
|
|
4959
5259
|
kendoButton
|
|
@@ -4981,8 +5281,7 @@ SplitButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", v
|
|
|
4981
5281
|
[attr.aria-label]="ariaLabel"
|
|
4982
5282
|
>
|
|
4983
5283
|
<span *ngIf="text" class="k-button-text">
|
|
4984
|
-
{{ text }}
|
|
4985
|
-
</span><ng-content></ng-content>
|
|
5284
|
+
{{ text }} </span><ng-content></ng-content>
|
|
4986
5285
|
</button>
|
|
4987
5286
|
<button kendoButton #arrowButton type="button"
|
|
4988
5287
|
class="k-split-button-arrow"
|
|
@@ -5018,7 +5317,8 @@ SplitButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", v
|
|
|
5018
5317
|
</ng-template>
|
|
5019
5318
|
<ng-container #container></ng-container>
|
|
5020
5319
|
`, isInline: true, dependencies: [{ kind: "directive", type: LocalizedSplitButtonMessagesDirective, selector: "[kendoSplitButtonLocalizedMessages]" }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ListComponent, selector: "kendo-button-list", inputs: ["data", "textField", "itemTemplate", "size"], outputs: ["onItemClick", "onItemBlur"] }] });
|
|
5021
|
-
|
|
5320
|
+
}
|
|
5321
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SplitButtonComponent, decorators: [{
|
|
5022
5322
|
type: Component,
|
|
5023
5323
|
args: [{
|
|
5024
5324
|
exportAs: 'kendoSplitButton',
|
|
@@ -5041,7 +5341,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
5041
5341
|
template: `
|
|
5042
5342
|
<ng-container kendoSplitButtonLocalizedMessages
|
|
5043
5343
|
i18n-splitButtonLabel="kendo.splitbutton.splitButtonLabel|The text for the SplitButton aria-label"
|
|
5044
|
-
splitButtonLabel="{{ '{buttonText} splitbutton' }}"
|
|
5344
|
+
splitButtonLabel="{{ '{buttonText} splitbutton' }}"
|
|
5345
|
+
>
|
|
5045
5346
|
</ng-container>
|
|
5046
5347
|
<button
|
|
5047
5348
|
kendoButton
|
|
@@ -5069,8 +5370,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
5069
5370
|
[attr.aria-label]="ariaLabel"
|
|
5070
5371
|
>
|
|
5071
5372
|
<span *ngIf="text" class="k-button-text">
|
|
5072
|
-
{{ text }}
|
|
5073
|
-
</span><ng-content></ng-content>
|
|
5373
|
+
{{ text }} </span><ng-content></ng-content>
|
|
5074
5374
|
</button>
|
|
5075
5375
|
<button kendoButton #arrowButton type="button"
|
|
5076
5376
|
class="k-split-button-arrow"
|
|
@@ -5139,8 +5439,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
5139
5439
|
type: Input
|
|
5140
5440
|
}], data: [{
|
|
5141
5441
|
type: Input
|
|
5142
|
-
}], buttonClass: [{
|
|
5143
|
-
type: Input
|
|
5144
5442
|
}], arrowButtonClass: [{
|
|
5145
5443
|
type: Input
|
|
5146
5444
|
}], arrowButtonIcon: [{
|
|
@@ -5166,18 +5464,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
5166
5464
|
}], itemTemplate: [{
|
|
5167
5465
|
type: ContentChild,
|
|
5168
5466
|
args: [ButtonItemTemplateDirective]
|
|
5169
|
-
}], button: [{
|
|
5170
|
-
type: ViewChild,
|
|
5171
|
-
args: ['button', { read: ElementRef }]
|
|
5172
|
-
}], arrowButton: [{
|
|
5173
|
-
type: ViewChild,
|
|
5174
|
-
args: ['arrowButton', { read: ElementRef }]
|
|
5175
|
-
}], popupTemplate: [{
|
|
5176
|
-
type: ViewChild,
|
|
5177
|
-
args: ['popupTemplate']
|
|
5178
|
-
}], containerRef: [{
|
|
5179
|
-
type: ViewChild,
|
|
5180
|
-
args: ['container', { read: ViewContainerRef }]
|
|
5181
5467
|
}], isFocused: [{
|
|
5182
5468
|
type: HostBinding,
|
|
5183
5469
|
args: ['class.k-focus']
|
|
@@ -5269,11 +5555,11 @@ const KENDO_BUTTONS = [
|
|
|
5269
5555
|
* - `ButtonComponent`—The Button component class.
|
|
5270
5556
|
*/
|
|
5271
5557
|
class ButtonGroupModule {
|
|
5558
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonGroupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5559
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ButtonGroupModule, imports: [ButtonComponent, ButtonGroupComponent], exports: [ButtonComponent, ButtonGroupComponent] });
|
|
5560
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonGroupModule, providers: [IconsService], imports: [ButtonComponent] });
|
|
5272
5561
|
}
|
|
5273
|
-
|
|
5274
|
-
ButtonGroupModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: ButtonGroupModule, imports: [ButtonComponent, ButtonGroupComponent], exports: [ButtonComponent, ButtonGroupComponent] });
|
|
5275
|
-
ButtonGroupModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ButtonGroupModule, providers: [IconsService], imports: [KENDO_BUTTONGROUP] });
|
|
5276
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ButtonGroupModule, decorators: [{
|
|
5562
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonGroupModule, decorators: [{
|
|
5277
5563
|
type: NgModule,
|
|
5278
5564
|
args: [{
|
|
5279
5565
|
exports: [...KENDO_BUTTONGROUP],
|
|
@@ -5315,11 +5601,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
5315
5601
|
* ```
|
|
5316
5602
|
*/
|
|
5317
5603
|
class ButtonModule {
|
|
5604
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5605
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ButtonModule, imports: [ButtonComponent], exports: [ButtonComponent] });
|
|
5606
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonModule, providers: [IconsService], imports: [ButtonComponent] });
|
|
5318
5607
|
}
|
|
5319
|
-
|
|
5320
|
-
ButtonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: ButtonModule, imports: [ButtonComponent], exports: [ButtonComponent] });
|
|
5321
|
-
ButtonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ButtonModule, providers: [IconsService], imports: [ButtonComponent] });
|
|
5322
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ButtonModule, decorators: [{
|
|
5608
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonModule, decorators: [{
|
|
5323
5609
|
type: NgModule,
|
|
5324
5610
|
args: [{
|
|
5325
5611
|
imports: [ButtonComponent],
|
|
@@ -5361,11 +5647,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
5361
5647
|
* ```
|
|
5362
5648
|
*/
|
|
5363
5649
|
class ButtonsModule {
|
|
5650
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5651
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ButtonsModule, imports: [ButtonComponent, ButtonComponent, ButtonGroupComponent, DropDownButtonComponent, ButtonItemTemplateDirective, ChipComponent, ChipComponent, ChipListComponent, FloatingActionButtonComponent, DialItemTemplateDirective, FloatingActionButtonTemplateDirective, SplitButtonComponent, SplitButtonCustomMessagesComponent], exports: [ButtonComponent, ButtonComponent, ButtonGroupComponent, DropDownButtonComponent, ButtonItemTemplateDirective, ChipComponent, ChipComponent, ChipListComponent, FloatingActionButtonComponent, DialItemTemplateDirective, FloatingActionButtonTemplateDirective, SplitButtonComponent, SplitButtonCustomMessagesComponent] });
|
|
5652
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonsModule, providers: [IconsService, PopupService, ResizeBatchService], imports: [ButtonComponent, ButtonComponent, DropDownButtonComponent, ChipComponent, ChipComponent, FloatingActionButtonComponent, SplitButtonComponent] });
|
|
5364
5653
|
}
|
|
5365
|
-
|
|
5366
|
-
ButtonsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: ButtonsModule, imports: [ButtonComponent, ButtonComponent, ButtonGroupComponent, DropDownButtonComponent, ButtonItemTemplateDirective, ChipComponent, ChipComponent, ChipListComponent, FloatingActionButtonComponent, DialItemTemplateDirective, FloatingActionButtonTemplateDirective, SplitButtonComponent, SplitButtonCustomMessagesComponent], exports: [ButtonComponent, ButtonComponent, ButtonGroupComponent, DropDownButtonComponent, ButtonItemTemplateDirective, ChipComponent, ChipComponent, ChipListComponent, FloatingActionButtonComponent, DialItemTemplateDirective, FloatingActionButtonTemplateDirective, SplitButtonComponent, SplitButtonCustomMessagesComponent] });
|
|
5367
|
-
ButtonsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ButtonsModule, providers: [IconsService, PopupService, ResizeBatchService], imports: [ButtonComponent, ButtonComponent, ButtonGroupComponent, DropDownButtonComponent, ChipComponent, ChipComponent, ChipListComponent, FloatingActionButtonComponent, SplitButtonComponent, SplitButtonCustomMessagesComponent] });
|
|
5368
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ButtonsModule, decorators: [{
|
|
5654
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonsModule, decorators: [{
|
|
5369
5655
|
type: NgModule,
|
|
5370
5656
|
args: [{
|
|
5371
5657
|
imports: [...KENDO_BUTTONS],
|
|
@@ -5384,11 +5670,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
5384
5670
|
* - `SplitButtonCustomMessagesComponent`—The SplitButton custom messages component class.
|
|
5385
5671
|
*/
|
|
5386
5672
|
class SplitButtonModule {
|
|
5673
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SplitButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5674
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SplitButtonModule, imports: [SplitButtonComponent, SplitButtonCustomMessagesComponent], exports: [SplitButtonComponent, SplitButtonCustomMessagesComponent] });
|
|
5675
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SplitButtonModule, providers: [IconsService, PopupService, ResizeBatchService], imports: [SplitButtonComponent] });
|
|
5387
5676
|
}
|
|
5388
|
-
|
|
5389
|
-
SplitButtonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: SplitButtonModule, imports: [SplitButtonComponent, SplitButtonCustomMessagesComponent], exports: [SplitButtonComponent, SplitButtonCustomMessagesComponent] });
|
|
5390
|
-
SplitButtonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SplitButtonModule, providers: [IconsService, PopupService, ResizeBatchService], imports: [KENDO_SPLITBUTTON] });
|
|
5391
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SplitButtonModule, decorators: [{
|
|
5677
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SplitButtonModule, decorators: [{
|
|
5392
5678
|
type: NgModule,
|
|
5393
5679
|
args: [{
|
|
5394
5680
|
exports: [...KENDO_SPLITBUTTON],
|
|
@@ -5407,11 +5693,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
5407
5693
|
* - `ButtonItemTemplateDirective`—The Button item template directive.
|
|
5408
5694
|
*/
|
|
5409
5695
|
class DropDownButtonModule {
|
|
5696
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropDownButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5697
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DropDownButtonModule, imports: [DropDownButtonComponent, ButtonItemTemplateDirective], exports: [DropDownButtonComponent, ButtonItemTemplateDirective] });
|
|
5698
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropDownButtonModule, providers: [IconsService, PopupService, ResizeBatchService], imports: [DropDownButtonComponent] });
|
|
5410
5699
|
}
|
|
5411
|
-
|
|
5412
|
-
DropDownButtonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: DropDownButtonModule, imports: [DropDownButtonComponent, ButtonItemTemplateDirective], exports: [DropDownButtonComponent, ButtonItemTemplateDirective] });
|
|
5413
|
-
DropDownButtonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DropDownButtonModule, providers: [IconsService, PopupService, ResizeBatchService], imports: [DropDownButtonComponent] });
|
|
5414
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DropDownButtonModule, decorators: [{
|
|
5700
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropDownButtonModule, decorators: [{
|
|
5415
5701
|
type: NgModule,
|
|
5416
5702
|
args: [{
|
|
5417
5703
|
exports: [...KENDO_DROPDOWNBUTTON],
|
|
@@ -5420,30 +5706,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
5420
5706
|
}]
|
|
5421
5707
|
}] });
|
|
5422
5708
|
|
|
5423
|
-
const EXPORTED_DIRECTIVES = [
|
|
5424
|
-
ListComponent,
|
|
5425
|
-
FocusableDirective,
|
|
5426
|
-
ButtonItemTemplateDirective
|
|
5427
|
-
];
|
|
5428
|
-
//IMPORTANT: NgModule export kept for backwards compatibility
|
|
5429
|
-
class ListModule {
|
|
5430
|
-
}
|
|
5431
|
-
ListModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5432
|
-
ListModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: ListModule, imports: [ListComponent,
|
|
5433
|
-
FocusableDirective,
|
|
5434
|
-
ButtonItemTemplateDirective], exports: [ListComponent,
|
|
5435
|
-
FocusableDirective,
|
|
5436
|
-
ButtonItemTemplateDirective] });
|
|
5437
|
-
ListModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ListModule, providers: [IconsService], imports: [ListComponent] });
|
|
5438
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ListModule, decorators: [{
|
|
5439
|
-
type: NgModule,
|
|
5440
|
-
args: [{
|
|
5441
|
-
imports: [...EXPORTED_DIRECTIVES],
|
|
5442
|
-
exports: [...EXPORTED_DIRECTIVES],
|
|
5443
|
-
providers: [IconsService]
|
|
5444
|
-
}]
|
|
5445
|
-
}] });
|
|
5446
|
-
|
|
5447
5709
|
//IMPORTANT: NgModule export kept for backwards compatibility
|
|
5448
5710
|
/**
|
|
5449
5711
|
* Represents the [NgModule](link:site.data.urls.angular['ngmoduleapi'])
|
|
@@ -5474,11 +5736,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
5474
5736
|
* ```
|
|
5475
5737
|
*/
|
|
5476
5738
|
class ChipModule {
|
|
5739
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5740
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ChipModule, imports: [ChipComponent, ChipListComponent], exports: [ChipComponent, ChipListComponent] });
|
|
5741
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipModule, providers: [IconsService], imports: [ChipComponent] });
|
|
5477
5742
|
}
|
|
5478
|
-
|
|
5479
|
-
ChipModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: ChipModule, imports: [ChipComponent, ChipListComponent], exports: [ChipComponent, ChipListComponent] });
|
|
5480
|
-
ChipModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChipModule, providers: [IconsService], imports: [KENDO_CHIPLIST] });
|
|
5481
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChipModule, decorators: [{
|
|
5743
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipModule, decorators: [{
|
|
5482
5744
|
type: NgModule,
|
|
5483
5745
|
args: [{
|
|
5484
5746
|
exports: [...KENDO_CHIPLIST],
|
|
@@ -5517,11 +5779,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
5517
5779
|
* ```
|
|
5518
5780
|
*/
|
|
5519
5781
|
class FloatingActionButtonModule {
|
|
5782
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FloatingActionButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5783
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: FloatingActionButtonModule, imports: [FloatingActionButtonComponent, DialItemTemplateDirective, FloatingActionButtonTemplateDirective], exports: [FloatingActionButtonComponent, DialItemTemplateDirective, FloatingActionButtonTemplateDirective] });
|
|
5784
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FloatingActionButtonModule, providers: [IconsService, PopupService, ResizeBatchService], imports: [FloatingActionButtonComponent] });
|
|
5520
5785
|
}
|
|
5521
|
-
|
|
5522
|
-
FloatingActionButtonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: FloatingActionButtonModule, imports: [FloatingActionButtonComponent, DialItemTemplateDirective, FloatingActionButtonTemplateDirective], exports: [FloatingActionButtonComponent, DialItemTemplateDirective, FloatingActionButtonTemplateDirective] });
|
|
5523
|
-
FloatingActionButtonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FloatingActionButtonModule, providers: [IconsService, PopupService, ResizeBatchService], imports: [FloatingActionButtonComponent] });
|
|
5524
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FloatingActionButtonModule, decorators: [{
|
|
5786
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FloatingActionButtonModule, decorators: [{
|
|
5525
5787
|
type: NgModule,
|
|
5526
5788
|
args: [{
|
|
5527
5789
|
exports: [...KENDO_FLOATINGACTIONBUTTON],
|
|
@@ -5534,5 +5796,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
5534
5796
|
* Generated bundle index. Do not edit.
|
|
5535
5797
|
*/
|
|
5536
5798
|
|
|
5537
|
-
export { ButtonComponent as Button, ButtonComponent, ButtonComponent as ButtonDirective, ButtonGroupComponent as ButtonGroup, ButtonGroupComponent, ButtonGroupModule, ButtonItemTemplateDirective, ButtonModule, ButtonsModule, ChipComponent, ChipListComponent, ChipModule, DialItemTemplateDirective, DropDownButtonComponent as DropDownButton, DropDownButtonComponent, DropDownButtonModule, FloatingActionButtonComponent, FloatingActionButtonModule, FloatingActionButtonTemplateDirective, FocusableDirective, KENDO_BUTTON, KENDO_BUTTONGROUP, KENDO_BUTTONS, KENDO_CHIP, KENDO_CHIPLIST, KENDO_DROPDOWNBUTTON, KENDO_FLOATINGACTIONBUTTON, KENDO_SPLITBUTTON, ListComponent,
|
|
5799
|
+
export { ButtonComponent as Button, ButtonComponent, ButtonComponent as ButtonDirective, ButtonGroupComponent as ButtonGroup, ButtonGroupComponent, ButtonGroupModule, ButtonItemTemplateDirective, ButtonModule, ButtonsModule, ChipComponent, ChipListComponent, ChipModule, DialItemTemplateDirective, DropDownButtonComponent as DropDownButton, DropDownButtonComponent, DropDownButtonModule, FloatingActionButtonComponent, FloatingActionButtonModule, FloatingActionButtonTemplateDirective, FocusableDirective, KENDO_BUTTON, KENDO_BUTTONGROUP, KENDO_BUTTONS, KENDO_CHIP, KENDO_CHIPLIST, KENDO_DROPDOWNBUTTON, KENDO_FLOATINGACTIONBUTTON, KENDO_SPLITBUTTON, ListComponent, LocalizedSplitButtonMessagesDirective, PreventableEvent, SplitButtonComponent as SplitButton, SplitButtonComponent, SplitButtonCustomMessagesComponent, SplitButtonModule };
|
|
5538
5800
|
|