@progress/kendo-angular-buttons 17.0.0-develop.8 → 17.0.0
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 +64 -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 +1317 -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.0
|
|
45
|
+
publishDate: 1731413886,
|
|
46
|
+
version: '17.0.0',
|
|
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');
|
|
@@ -1711,18 +1827,23 @@ class ChipListComponent {
|
|
|
1711
1827
|
this.currentActiveIndex = Math.max(this.chips.length - 1, 0);
|
|
1712
1828
|
}
|
|
1713
1829
|
}
|
|
1714
|
-
|
|
1715
|
-
|
|
1716
|
-
|
|
1717
|
-
|
|
1718
|
-
|
|
1719
|
-
|
|
1720
|
-
|
|
1721
|
-
|
|
1722
|
-
|
|
1830
|
+
setChipSize(chip, size) {
|
|
1831
|
+
const hasSize = chip.sizeIsSet;
|
|
1832
|
+
!hasSize && chip.size !== size && (chip.size = size);
|
|
1833
|
+
!hasSize && (chip.sizeIsSet = false);
|
|
1834
|
+
}
|
|
1835
|
+
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 });
|
|
1836
|
+
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: [
|
|
1837
|
+
LocalizationService,
|
|
1838
|
+
{
|
|
1839
|
+
provide: L10N_PREFIX,
|
|
1840
|
+
useValue: 'kendo.chiplist'
|
|
1841
|
+
}
|
|
1842
|
+
], queries: [{ propertyName: "chips", predicate: ChipComponent }], ngImport: i0, template: `
|
|
1723
1843
|
<ng-content></ng-content>
|
|
1724
1844
|
`, isInline: true });
|
|
1725
|
-
|
|
1845
|
+
}
|
|
1846
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipListComponent, decorators: [{
|
|
1726
1847
|
type: Component,
|
|
1727
1848
|
args: [{
|
|
1728
1849
|
selector: 'kendo-chiplist, kendo-chip-list',
|
|
@@ -1828,13 +1949,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
1828
1949
|
* For more examples, refer to the article on the [DropDownButton templates](slug:itemstemplates_dropdownbutton).
|
|
1829
1950
|
*/
|
|
1830
1951
|
class ButtonItemTemplateDirective {
|
|
1952
|
+
templateRef;
|
|
1831
1953
|
constructor(templateRef) {
|
|
1832
1954
|
this.templateRef = templateRef;
|
|
1833
1955
|
}
|
|
1956
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonItemTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
1957
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ButtonItemTemplateDirective, isStandalone: true, selector: "[kendoDropDownButtonItemTemplate],[kendoSplitButtonItemTemplate]", ngImport: i0 });
|
|
1834
1958
|
}
|
|
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: [{
|
|
1959
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonItemTemplateDirective, decorators: [{
|
|
1838
1960
|
type: Directive,
|
|
1839
1961
|
args: [{
|
|
1840
1962
|
selector: '[kendoDropDownButtonItemTemplate],[kendoSplitButtonItemTemplate]',
|
|
@@ -1846,9 +1968,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
1846
1968
|
* @hidden
|
|
1847
1969
|
*/
|
|
1848
1970
|
class FocusService {
|
|
1849
|
-
|
|
1850
|
-
|
|
1851
|
-
}
|
|
1971
|
+
onFocus = new EventEmitter();
|
|
1972
|
+
focusedIndex;
|
|
1852
1973
|
isFocused(index) {
|
|
1853
1974
|
return index === this.focused;
|
|
1854
1975
|
}
|
|
@@ -1869,10 +1990,10 @@ class FocusService {
|
|
|
1869
1990
|
this.focusedIndex = index;
|
|
1870
1991
|
this.onFocus.emit(index);
|
|
1871
1992
|
}
|
|
1993
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FocusService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1994
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FocusService });
|
|
1872
1995
|
}
|
|
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: [{
|
|
1996
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FocusService, decorators: [{
|
|
1876
1997
|
type: Injectable
|
|
1877
1998
|
}] });
|
|
1878
1999
|
|
|
@@ -1912,15 +2033,16 @@ const NAVIGATION_CONFIG = new InjectionToken('navigation.config');
|
|
|
1912
2033
|
* @hidden
|
|
1913
2034
|
*/
|
|
1914
2035
|
class NavigationService {
|
|
2036
|
+
navigate = new EventEmitter();
|
|
2037
|
+
open = new EventEmitter();
|
|
2038
|
+
close = new EventEmitter();
|
|
2039
|
+
enter = new EventEmitter();
|
|
2040
|
+
enterpress = new EventEmitter();
|
|
2041
|
+
enterup = new EventEmitter();
|
|
2042
|
+
tab = new EventEmitter();
|
|
2043
|
+
esc = new EventEmitter();
|
|
2044
|
+
useLeftRightArrows;
|
|
1915
2045
|
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
2046
|
this.useLeftRightArrows = config.useLeftRightArrows;
|
|
1925
2047
|
}
|
|
1926
2048
|
process(args) {
|
|
@@ -1998,10 +2120,10 @@ class NavigationService {
|
|
|
1998
2120
|
return args.current !== args.end ? args.current + args.step : args.end;
|
|
1999
2121
|
}
|
|
2000
2122
|
}
|
|
2123
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavigationService, deps: [{ token: NAVIGATION_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2124
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavigationService });
|
|
2001
2125
|
}
|
|
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: [{
|
|
2126
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavigationService, decorators: [{
|
|
2005
2127
|
type: Injectable
|
|
2006
2128
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
2007
2129
|
type: Inject,
|
|
@@ -2012,90 +2134,310 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
2012
2134
|
* @hidden
|
|
2013
2135
|
*/
|
|
2014
2136
|
class PopupContainerService {
|
|
2137
|
+
container;
|
|
2138
|
+
template;
|
|
2139
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopupContainerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2140
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopupContainerService });
|
|
2015
2141
|
}
|
|
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: [{
|
|
2142
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopupContainerService, decorators: [{
|
|
2019
2143
|
type: Injectable
|
|
2020
2144
|
}] });
|
|
2021
2145
|
|
|
2022
2146
|
/**
|
|
2023
2147
|
* @hidden
|
|
2024
2148
|
*/
|
|
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);
|
|
2149
|
+
class FocusableDirective {
|
|
2150
|
+
focusService;
|
|
2151
|
+
renderer;
|
|
2152
|
+
index;
|
|
2153
|
+
element;
|
|
2154
|
+
subs = new Subscription();
|
|
2155
|
+
constructor(focusService, elementRef, renderer) {
|
|
2066
2156
|
this.focusService = focusService;
|
|
2067
|
-
this.
|
|
2068
|
-
this.
|
|
2069
|
-
this.subs.add(localization.changes.subscribe(({ rtl }) => (this.direction = rtl ? 'rtl' : 'ltr')));
|
|
2157
|
+
this.renderer = renderer;
|
|
2158
|
+
this.element = elementRef.nativeElement;
|
|
2070
2159
|
this.subscribeEvents();
|
|
2071
2160
|
}
|
|
2072
|
-
|
|
2073
|
-
|
|
2074
|
-
|
|
2075
|
-
|
|
2076
|
-
|
|
2077
|
-
this.
|
|
2161
|
+
ngOnInit() {
|
|
2162
|
+
if (this.index === this.focusService.focused) {
|
|
2163
|
+
this.renderer.addClass(this.element, 'k-focus');
|
|
2164
|
+
}
|
|
2165
|
+
else {
|
|
2166
|
+
this.renderer.removeClass(this.element, 'k-focus');
|
|
2078
2167
|
}
|
|
2079
|
-
this._disabled = value;
|
|
2080
|
-
}
|
|
2081
|
-
get disabled() {
|
|
2082
|
-
return this._disabled;
|
|
2083
2168
|
}
|
|
2084
2169
|
/**
|
|
2085
2170
|
* @hidden
|
|
2086
2171
|
*/
|
|
2087
|
-
|
|
2088
|
-
|
|
2172
|
+
ngOnDestroy() {
|
|
2173
|
+
this.subs.unsubscribe();
|
|
2089
2174
|
}
|
|
2090
|
-
|
|
2091
|
-
|
|
2092
|
-
|
|
2093
|
-
return undefined;
|
|
2175
|
+
subscribeEvents() {
|
|
2176
|
+
if (!isDocumentAvailable()) {
|
|
2177
|
+
return;
|
|
2094
2178
|
}
|
|
2095
|
-
|
|
2096
|
-
|
|
2097
|
-
|
|
2098
|
-
|
|
2179
|
+
this.subs.add(this.focusService.onFocus.subscribe((index) => {
|
|
2180
|
+
if (this.index === index) {
|
|
2181
|
+
this.renderer.addClass(this.element, 'k-focus');
|
|
2182
|
+
this.renderer.setAttribute(this.element, 'tabindex', '0');
|
|
2183
|
+
this.element.focus();
|
|
2184
|
+
}
|
|
2185
|
+
else {
|
|
2186
|
+
this.renderer.setAttribute(this.element, 'tabindex', '-1');
|
|
2187
|
+
this.renderer.removeClass(this.element, 'k-focus');
|
|
2188
|
+
}
|
|
2189
|
+
}));
|
|
2190
|
+
}
|
|
2191
|
+
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 });
|
|
2192
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: FocusableDirective, isStandalone: true, selector: "[kendoButtonFocusable]", inputs: { index: "index" }, ngImport: i0 });
|
|
2193
|
+
}
|
|
2194
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FocusableDirective, decorators: [{
|
|
2195
|
+
type: Directive,
|
|
2196
|
+
args: [{
|
|
2197
|
+
selector: '[kendoButtonFocusable]',
|
|
2198
|
+
standalone: true
|
|
2199
|
+
}]
|
|
2200
|
+
}], ctorParameters: function () { return [{ type: FocusService }, { type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { index: [{
|
|
2201
|
+
type: Input
|
|
2202
|
+
}] } });
|
|
2203
|
+
|
|
2204
|
+
/**
|
|
2205
|
+
* @hidden
|
|
2206
|
+
*/
|
|
2207
|
+
class ListComponent {
|
|
2208
|
+
data;
|
|
2209
|
+
textField;
|
|
2210
|
+
itemTemplate;
|
|
2211
|
+
onItemClick = new EventEmitter();
|
|
2212
|
+
onItemBlur = new EventEmitter();
|
|
2213
|
+
set size(size) {
|
|
2214
|
+
if (size) {
|
|
2215
|
+
this.sizeClass = `k-menu-group-${SIZES[size]}`;
|
|
2216
|
+
}
|
|
2217
|
+
else {
|
|
2218
|
+
this.sizeClass = '';
|
|
2219
|
+
}
|
|
2220
|
+
}
|
|
2221
|
+
sizeClass = '';
|
|
2222
|
+
constructor() {
|
|
2223
|
+
validatePackage(packageMetadata);
|
|
2224
|
+
}
|
|
2225
|
+
getText(dataItem) {
|
|
2226
|
+
if (dataItem) {
|
|
2227
|
+
return this.textField ? dataItem[this.textField] : dataItem.text || dataItem;
|
|
2228
|
+
}
|
|
2229
|
+
return undefined;
|
|
2230
|
+
}
|
|
2231
|
+
getIconClasses(dataItem) {
|
|
2232
|
+
const icon = dataItem.icon ? 'k-icon k-i-' + dataItem.icon : undefined;
|
|
2233
|
+
const classes = {};
|
|
2234
|
+
classes[icon || dataItem.iconClass] = true;
|
|
2235
|
+
return classes;
|
|
2236
|
+
}
|
|
2237
|
+
onClick(index) {
|
|
2238
|
+
this.onItemClick.emit(index);
|
|
2239
|
+
}
|
|
2240
|
+
onBlur() {
|
|
2241
|
+
this.onItemBlur.emit();
|
|
2242
|
+
}
|
|
2243
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2244
|
+
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: `
|
|
2245
|
+
<ul class="k-group k-menu-group k-reset" role="list" [ngClass]="sizeClass">
|
|
2246
|
+
<li kendoButtonFocusable
|
|
2247
|
+
*ngFor="let dataItem of data; let index = index;"
|
|
2248
|
+
[index]="index"
|
|
2249
|
+
tabindex="-1"
|
|
2250
|
+
class="k-item k-menu-item"
|
|
2251
|
+
role="listitem"
|
|
2252
|
+
[attr.aria-disabled]="dataItem.disabled ? true : false"
|
|
2253
|
+
(click)="$event.stopImmediatePropagation(); onClick(index);"
|
|
2254
|
+
(blur)="onBlur()">
|
|
2255
|
+
<ng-template [ngIf]="itemTemplate?.templateRef">
|
|
2256
|
+
<span
|
|
2257
|
+
class="k-link k-menu-link"
|
|
2258
|
+
[class.k-disabled]="dataItem.disabled"
|
|
2259
|
+
[ngClass]="dataItem.cssClass">
|
|
2260
|
+
<ng-template
|
|
2261
|
+
[templateContext]="{ templateRef: itemTemplate?.templateRef, $implicit: dataItem }"
|
|
2262
|
+
></ng-template>
|
|
2263
|
+
</span>
|
|
2264
|
+
</ng-template>
|
|
2265
|
+
<ng-template [ngIf]="!itemTemplate?.templateRef">
|
|
2266
|
+
<span
|
|
2267
|
+
class="k-link k-menu-link"
|
|
2268
|
+
[class.k-disabled]="dataItem.disabled"
|
|
2269
|
+
[ngClass]="dataItem.cssClass">
|
|
2270
|
+
<kendo-icon-wrapper
|
|
2271
|
+
*ngIf="dataItem.icon || dataItem.iconClass || dataItem.svgIcon"
|
|
2272
|
+
[name]="dataItem.icon"
|
|
2273
|
+
[svgIcon]="dataItem.svgIcon"
|
|
2274
|
+
[customFontClass]="dataItem.iconClass"
|
|
2275
|
+
></kendo-icon-wrapper>
|
|
2276
|
+
<img
|
|
2277
|
+
*ngIf="dataItem.imageUrl"
|
|
2278
|
+
class="k-image"
|
|
2279
|
+
[src]="dataItem.imageUrl"
|
|
2280
|
+
[alt]="dataItem.imageAlt"
|
|
2281
|
+
>
|
|
2282
|
+
<span *ngIf="getText(dataItem)" class="k-menu-link-text">
|
|
2283
|
+
{{ getText(dataItem) }}
|
|
2284
|
+
</span>
|
|
2285
|
+
</span>
|
|
2286
|
+
</ng-template>
|
|
2287
|
+
</li>
|
|
2288
|
+
</ul>
|
|
2289
|
+
`, 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"] }] });
|
|
2290
|
+
}
|
|
2291
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ListComponent, decorators: [{
|
|
2292
|
+
type: Component,
|
|
2293
|
+
args: [{
|
|
2294
|
+
selector: 'kendo-button-list',
|
|
2295
|
+
template: `
|
|
2296
|
+
<ul class="k-group k-menu-group k-reset" role="list" [ngClass]="sizeClass">
|
|
2297
|
+
<li kendoButtonFocusable
|
|
2298
|
+
*ngFor="let dataItem of data; let index = index;"
|
|
2299
|
+
[index]="index"
|
|
2300
|
+
tabindex="-1"
|
|
2301
|
+
class="k-item k-menu-item"
|
|
2302
|
+
role="listitem"
|
|
2303
|
+
[attr.aria-disabled]="dataItem.disabled ? true : false"
|
|
2304
|
+
(click)="$event.stopImmediatePropagation(); onClick(index);"
|
|
2305
|
+
(blur)="onBlur()">
|
|
2306
|
+
<ng-template [ngIf]="itemTemplate?.templateRef">
|
|
2307
|
+
<span
|
|
2308
|
+
class="k-link k-menu-link"
|
|
2309
|
+
[class.k-disabled]="dataItem.disabled"
|
|
2310
|
+
[ngClass]="dataItem.cssClass">
|
|
2311
|
+
<ng-template
|
|
2312
|
+
[templateContext]="{ templateRef: itemTemplate?.templateRef, $implicit: dataItem }"
|
|
2313
|
+
></ng-template>
|
|
2314
|
+
</span>
|
|
2315
|
+
</ng-template>
|
|
2316
|
+
<ng-template [ngIf]="!itemTemplate?.templateRef">
|
|
2317
|
+
<span
|
|
2318
|
+
class="k-link k-menu-link"
|
|
2319
|
+
[class.k-disabled]="dataItem.disabled"
|
|
2320
|
+
[ngClass]="dataItem.cssClass">
|
|
2321
|
+
<kendo-icon-wrapper
|
|
2322
|
+
*ngIf="dataItem.icon || dataItem.iconClass || dataItem.svgIcon"
|
|
2323
|
+
[name]="dataItem.icon"
|
|
2324
|
+
[svgIcon]="dataItem.svgIcon"
|
|
2325
|
+
[customFontClass]="dataItem.iconClass"
|
|
2326
|
+
></kendo-icon-wrapper>
|
|
2327
|
+
<img
|
|
2328
|
+
*ngIf="dataItem.imageUrl"
|
|
2329
|
+
class="k-image"
|
|
2330
|
+
[src]="dataItem.imageUrl"
|
|
2331
|
+
[alt]="dataItem.imageAlt"
|
|
2332
|
+
>
|
|
2333
|
+
<span *ngIf="getText(dataItem)" class="k-menu-link-text">
|
|
2334
|
+
{{ getText(dataItem) }}
|
|
2335
|
+
</span>
|
|
2336
|
+
</span>
|
|
2337
|
+
</ng-template>
|
|
2338
|
+
</li>
|
|
2339
|
+
</ul>
|
|
2340
|
+
`,
|
|
2341
|
+
standalone: true,
|
|
2342
|
+
imports: [NgClass, NgFor, FocusableDirective, NgIf, TemplateContextDirective, IconWrapperComponent]
|
|
2343
|
+
}]
|
|
2344
|
+
}], ctorParameters: function () { return []; }, propDecorators: { data: [{
|
|
2345
|
+
type: Input
|
|
2346
|
+
}], textField: [{
|
|
2347
|
+
type: Input
|
|
2348
|
+
}], itemTemplate: [{
|
|
2349
|
+
type: Input
|
|
2350
|
+
}], onItemClick: [{
|
|
2351
|
+
type: Output
|
|
2352
|
+
}], onItemBlur: [{
|
|
2353
|
+
type: Output
|
|
2354
|
+
}], size: [{
|
|
2355
|
+
type: Input
|
|
2356
|
+
}] } });
|
|
2357
|
+
|
|
2358
|
+
/**
|
|
2359
|
+
* @hidden
|
|
2360
|
+
*/
|
|
2361
|
+
class ListButton extends MultiTabStop {
|
|
2362
|
+
focusService;
|
|
2363
|
+
navigationService;
|
|
2364
|
+
wrapperRef;
|
|
2365
|
+
_zone;
|
|
2366
|
+
popupService;
|
|
2367
|
+
elRef;
|
|
2368
|
+
cdr;
|
|
2369
|
+
containerService;
|
|
2370
|
+
listId = guid();
|
|
2371
|
+
buttonId = guid();
|
|
2372
|
+
_data;
|
|
2373
|
+
_open = false;
|
|
2374
|
+
_disabled = false;
|
|
2375
|
+
_active = false;
|
|
2376
|
+
_popupSettings = { animate: true, popupClass: '' };
|
|
2377
|
+
_isFocused = false;
|
|
2378
|
+
_itemClick;
|
|
2379
|
+
_blur;
|
|
2380
|
+
wrapper;
|
|
2381
|
+
subs = new Subscription();
|
|
2382
|
+
direction;
|
|
2383
|
+
popupRef;
|
|
2384
|
+
popupSubs = new Subscription();
|
|
2385
|
+
button;
|
|
2386
|
+
buttonList;
|
|
2387
|
+
popupTemplate;
|
|
2388
|
+
container;
|
|
2389
|
+
/**
|
|
2390
|
+
* Sets the disabled state of the DropDownButton.
|
|
2391
|
+
*/
|
|
2392
|
+
set disabled(value) {
|
|
2393
|
+
if (value && this.openState) {
|
|
2394
|
+
this.openState = false;
|
|
2395
|
+
}
|
|
2396
|
+
this._disabled = value;
|
|
2397
|
+
}
|
|
2398
|
+
get disabled() {
|
|
2399
|
+
return this._disabled;
|
|
2400
|
+
}
|
|
2401
|
+
/**
|
|
2402
|
+
* Specifies the [`tabIndex`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of the component.
|
|
2403
|
+
*/
|
|
2404
|
+
tabIndex = 0;
|
|
2405
|
+
/**
|
|
2406
|
+
* The CSS classes that will be rendered on the main button.
|
|
2407
|
+
* Supports the type of values that are supported by [`ngClass`](link:site.data.urls.angular['ngclassapi']).
|
|
2408
|
+
*/
|
|
2409
|
+
buttonClass;
|
|
2410
|
+
/**
|
|
2411
|
+
* Fires each time the popup is about to open.
|
|
2412
|
+
* This event is preventable. If you cancel the event, the popup will remain closed.
|
|
2413
|
+
*/
|
|
2414
|
+
open = new EventEmitter();
|
|
2415
|
+
/**
|
|
2416
|
+
* Fires each time the popup is about to close.
|
|
2417
|
+
* This event is preventable. If you cancel the event, the popup will remain open.
|
|
2418
|
+
*/
|
|
2419
|
+
close = new EventEmitter();
|
|
2420
|
+
/**
|
|
2421
|
+
* Needed by the kendoToggleButtonTabStop directive
|
|
2422
|
+
*
|
|
2423
|
+
* @hidden
|
|
2424
|
+
*/
|
|
2425
|
+
escape = new EventEmitter();
|
|
2426
|
+
/**
|
|
2427
|
+
* @hidden
|
|
2428
|
+
*/
|
|
2429
|
+
get componentTabIndex() {
|
|
2430
|
+
return this.disabled ? (-1) : this.tabIndex;
|
|
2431
|
+
}
|
|
2432
|
+
get appendTo() {
|
|
2433
|
+
const { appendTo } = this.popupSettings;
|
|
2434
|
+
if (!appendTo || appendTo === 'root') {
|
|
2435
|
+
return undefined;
|
|
2436
|
+
}
|
|
2437
|
+
return appendTo === 'component' ? this.containerService.container : appendTo;
|
|
2438
|
+
}
|
|
2439
|
+
/**
|
|
2440
|
+
* Configures the popup of the DropDownButton.
|
|
2099
2441
|
*
|
|
2100
2442
|
* The available options are:
|
|
2101
2443
|
* - `animate: Boolean`—Controls the popup animation. By default, the open and close animations are enabled.
|
|
@@ -2129,6 +2471,24 @@ class ListButton extends MultiTabStop {
|
|
|
2129
2471
|
}
|
|
2130
2472
|
return align;
|
|
2131
2473
|
}
|
|
2474
|
+
isClosePrevented = false;
|
|
2475
|
+
constructor(focusService, navigationService, wrapperRef, _zone, popupService, elRef, localization, cdr, containerService) {
|
|
2476
|
+
super();
|
|
2477
|
+
this.focusService = focusService;
|
|
2478
|
+
this.navigationService = navigationService;
|
|
2479
|
+
this.wrapperRef = wrapperRef;
|
|
2480
|
+
this._zone = _zone;
|
|
2481
|
+
this.popupService = popupService;
|
|
2482
|
+
this.elRef = elRef;
|
|
2483
|
+
this.cdr = cdr;
|
|
2484
|
+
this.containerService = containerService;
|
|
2485
|
+
validatePackage(packageMetadata);
|
|
2486
|
+
this.focusService = focusService;
|
|
2487
|
+
this.navigationService = navigationService;
|
|
2488
|
+
this.wrapper = wrapperRef.nativeElement;
|
|
2489
|
+
this.subs.add(localization.changes.subscribe(({ rtl }) => (this.direction = rtl ? 'rtl' : 'ltr')));
|
|
2490
|
+
this.subscribeEvents();
|
|
2491
|
+
}
|
|
2132
2492
|
ngOnChanges(changes) {
|
|
2133
2493
|
if (isChanged("popupSettings", changes) && isPresent(this.popupRef)) {
|
|
2134
2494
|
const popup = this.popupRef.popup.instance;
|
|
@@ -2389,15 +2749,27 @@ class ListButton extends MultiTabStop {
|
|
|
2389
2749
|
this.isClosePrevented = false;
|
|
2390
2750
|
}
|
|
2391
2751
|
}
|
|
2752
|
+
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 });
|
|
2753
|
+
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
2754
|
}
|
|
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: [{
|
|
2755
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ListButton, decorators: [{
|
|
2396
2756
|
type: Component,
|
|
2397
2757
|
args: [{
|
|
2398
2758
|
template: ''
|
|
2399
2759
|
}]
|
|
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: {
|
|
2760
|
+
}], 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: [{
|
|
2761
|
+
type: ViewChild,
|
|
2762
|
+
args: ['button', { read: ElementRef }]
|
|
2763
|
+
}], buttonList: [{
|
|
2764
|
+
type: ViewChild,
|
|
2765
|
+
args: ['buttonList']
|
|
2766
|
+
}], popupTemplate: [{
|
|
2767
|
+
type: ViewChild,
|
|
2768
|
+
args: ['popupTemplate']
|
|
2769
|
+
}], container: [{
|
|
2770
|
+
type: ViewChild,
|
|
2771
|
+
args: ['container', { read: ViewContainerRef }]
|
|
2772
|
+
}], disabled: [{
|
|
2401
2773
|
type: Input
|
|
2402
2774
|
}], tabIndex: [{
|
|
2403
2775
|
type: Input
|
|
@@ -2413,211 +2785,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
2413
2785
|
type: Input
|
|
2414
2786
|
}] } });
|
|
2415
2787
|
|
|
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
2788
|
const NAVIGATION_SETTINGS$2 = {
|
|
2622
2789
|
useLeftRightArrows: true
|
|
2623
2790
|
};
|
|
@@ -2655,89 +2822,34 @@ const DEFAULT_FILL_MODE$1 = 'solid';
|
|
|
2655
2822
|
* ```
|
|
2656
2823
|
*/
|
|
2657
2824
|
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
|
-
}
|
|
2825
|
+
containerService;
|
|
2826
|
+
renderer;
|
|
2827
|
+
/**
|
|
2828
|
+
* Allows showing the default arrow icon or providing alternative one instead.
|
|
2829
|
+
* @default false
|
|
2830
|
+
*/
|
|
2831
|
+
arrowIcon = false;
|
|
2832
|
+
/**
|
|
2833
|
+
* Defines the name of an existing icon in the Kendo UI theme.
|
|
2834
|
+
*/
|
|
2835
|
+
icon = '';
|
|
2836
|
+
/**
|
|
2837
|
+
* Defines an [`SVGIcon`](slug:api_icons_svgicon) to be rendered within the button.
|
|
2838
|
+
*/
|
|
2839
|
+
svgIcon;
|
|
2840
|
+
/**
|
|
2841
|
+
* Defines the list of CSS classes which are used for styling the Button with custom icons.
|
|
2842
|
+
*/
|
|
2843
|
+
iconClass = '';
|
|
2844
|
+
/**
|
|
2845
|
+
* Defines a URL for styling the button with a custom image.
|
|
2846
|
+
*/
|
|
2847
|
+
imageUrl = '';
|
|
2848
|
+
/**
|
|
2849
|
+
* Sets the data item field that represents the item text.
|
|
2850
|
+
* If the data contains only primitive values, do not define it.
|
|
2851
|
+
*/
|
|
2852
|
+
textField;
|
|
2741
2853
|
/**
|
|
2742
2854
|
* Sets or gets the data of the DropDownButton.
|
|
2743
2855
|
*
|
|
@@ -2749,6 +2861,29 @@ class DropDownButtonComponent extends ListButton {
|
|
|
2749
2861
|
get data() {
|
|
2750
2862
|
return this._data;
|
|
2751
2863
|
}
|
|
2864
|
+
/**
|
|
2865
|
+
* The size property specifies the padding of the DropDownButton
|
|
2866
|
+
* ([see example]({% slug api_buttons_dropdownbuttoncomponent %}#toc-size)).
|
|
2867
|
+
*
|
|
2868
|
+
* The possible values are:
|
|
2869
|
+
* * `small`
|
|
2870
|
+
* * `medium` (default)
|
|
2871
|
+
* * `large`
|
|
2872
|
+
* * `none`
|
|
2873
|
+
*/
|
|
2874
|
+
size = 'medium';
|
|
2875
|
+
/**
|
|
2876
|
+
* The rounded property specifies the border radius of the DropDownButton
|
|
2877
|
+
* ([see example]({% slug api_buttons_dropdownbuttoncomponent %}#toc-rounded)).
|
|
2878
|
+
*
|
|
2879
|
+
* The possible values are:
|
|
2880
|
+
* * `small`
|
|
2881
|
+
* * `medium` (default)
|
|
2882
|
+
* * `large`
|
|
2883
|
+
* * `full`
|
|
2884
|
+
* * `none`
|
|
2885
|
+
*/
|
|
2886
|
+
rounded = 'medium';
|
|
2752
2887
|
/**
|
|
2753
2888
|
* The fillMode property specifies the background and border styles of the DropDownButton
|
|
2754
2889
|
* ([see example]({% slug api_buttons_dropdownbuttoncomponent %}#toc-fillMode)).
|
|
@@ -2766,6 +2901,26 @@ class DropDownButtonComponent extends ListButton {
|
|
|
2766
2901
|
get fillMode() {
|
|
2767
2902
|
return this._fillMode;
|
|
2768
2903
|
}
|
|
2904
|
+
/**
|
|
2905
|
+
* The DropDownButton allows you to specify predefined theme colors.
|
|
2906
|
+
* The theme color will be applied as a background and border color while also amending the text color accordingly
|
|
2907
|
+
* ([see example]({% slug api_buttons_dropdownbuttoncomponent %}#toc-themeColor)).
|
|
2908
|
+
*
|
|
2909
|
+
* The possible values are:
|
|
2910
|
+
* * `base` —Applies coloring based on the `base` theme color. (default)
|
|
2911
|
+
* * `primary` —Applies coloring based on the `primary` theme color.
|
|
2912
|
+
* * `secondary`—Applies coloring based on the `secondary` theme color.
|
|
2913
|
+
* * `tertiary`— Applies coloring based on the `tertiary` theme color.
|
|
2914
|
+
* * `info`—Applies coloring based on the `info` theme color.
|
|
2915
|
+
* * `success`— Applies coloring based on the `success` theme color.
|
|
2916
|
+
* * `warning`— Applies coloring based on the `warning` theme color.
|
|
2917
|
+
* * `error`— Applies coloring based on the `error` theme color.
|
|
2918
|
+
* * `dark`— Applies coloring based on the `dark` theme color.
|
|
2919
|
+
* * `light`— Applies coloring based on the `light` theme color.
|
|
2920
|
+
* * `inverse`— Applies coloring based on the `inverse` theme color.
|
|
2921
|
+
* * `none` —Removes the default CSS class (no class would be rendered).
|
|
2922
|
+
*/
|
|
2923
|
+
themeColor = 'base';
|
|
2769
2924
|
/**
|
|
2770
2925
|
* Sets attributes to the main button.
|
|
2771
2926
|
*/
|
|
@@ -2777,11 +2932,20 @@ class DropDownButtonComponent extends ListButton {
|
|
|
2777
2932
|
get buttonAttributes() {
|
|
2778
2933
|
return this._buttonAttributes;
|
|
2779
2934
|
}
|
|
2935
|
+
/**
|
|
2936
|
+
* 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.
|
|
2937
|
+
*/
|
|
2938
|
+
itemClick = new EventEmitter();
|
|
2939
|
+
/**
|
|
2940
|
+
* Fires each time the DropDownButton gets focused.
|
|
2941
|
+
*/
|
|
2942
|
+
onFocus = new EventEmitter();
|
|
2943
|
+
/**
|
|
2944
|
+
* Fires each time the DropDownButton gets blurred.
|
|
2945
|
+
*/
|
|
2946
|
+
onBlur = new EventEmitter();
|
|
2780
2947
|
get focused() {
|
|
2781
|
-
return this._isFocused && !this._disabled;
|
|
2782
|
-
}
|
|
2783
|
-
get widgetClasses() {
|
|
2784
|
-
return true;
|
|
2948
|
+
return this._isFocused && !this._disabled;
|
|
2785
2949
|
}
|
|
2786
2950
|
get dir() {
|
|
2787
2951
|
return this.direction;
|
|
@@ -2792,6 +2956,10 @@ class DropDownButtonComponent extends ListButton {
|
|
|
2792
2956
|
get active() {
|
|
2793
2957
|
return this._active;
|
|
2794
2958
|
}
|
|
2959
|
+
itemTemplate;
|
|
2960
|
+
_fillMode = DEFAULT_FILL_MODE$1;
|
|
2961
|
+
_buttonAttributes = null;
|
|
2962
|
+
documentMouseUpSub;
|
|
2795
2963
|
/**
|
|
2796
2964
|
* @hidden
|
|
2797
2965
|
*/
|
|
@@ -2861,6 +3029,20 @@ class DropDownButtonComponent extends ListButton {
|
|
|
2861
3029
|
this.blurWrapper();
|
|
2862
3030
|
}
|
|
2863
3031
|
}
|
|
3032
|
+
constructor(focusService, navigationService, wrapperRef, zone, popupService, elRef, localization, cdr, containerService, renderer) {
|
|
3033
|
+
super(focusService, navigationService, wrapperRef, zone, popupService, elRef, localization, cdr, containerService);
|
|
3034
|
+
this.containerService = containerService;
|
|
3035
|
+
this.renderer = renderer;
|
|
3036
|
+
this._itemClick = this.itemClick;
|
|
3037
|
+
this._blur = this.onBlur;
|
|
3038
|
+
zone.runOutsideAngular(() => {
|
|
3039
|
+
this.documentMouseUpSub = this.renderer.listen('document', 'mouseup', () => {
|
|
3040
|
+
if (this.active) {
|
|
3041
|
+
zone.run(() => this._active = false);
|
|
3042
|
+
}
|
|
3043
|
+
});
|
|
3044
|
+
});
|
|
3045
|
+
}
|
|
2864
3046
|
ngAfterViewInit() {
|
|
2865
3047
|
this.containerService.container = this.container;
|
|
2866
3048
|
this.containerService.template = this.popupTemplate;
|
|
@@ -2906,19 +3088,26 @@ class DropDownButtonComponent extends ListButton {
|
|
|
2906
3088
|
}
|
|
2907
3089
|
}
|
|
2908
3090
|
}
|
|
2909
|
-
|
|
2910
|
-
|
|
2911
|
-
|
|
2912
|
-
|
|
2913
|
-
|
|
2914
|
-
|
|
2915
|
-
|
|
2916
|
-
|
|
2917
|
-
|
|
2918
|
-
|
|
2919
|
-
|
|
2920
|
-
|
|
2921
|
-
|
|
3091
|
+
/**
|
|
3092
|
+
* @hidden
|
|
3093
|
+
*/
|
|
3094
|
+
ngOnDestroy() {
|
|
3095
|
+
if (this.documentMouseUpSub) {
|
|
3096
|
+
this.documentMouseUpSub();
|
|
3097
|
+
}
|
|
3098
|
+
}
|
|
3099
|
+
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 });
|
|
3100
|
+
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: [
|
|
3101
|
+
FocusService,
|
|
3102
|
+
NavigationService,
|
|
3103
|
+
NAVIGATION_SETTINGS_PROVIDER$2,
|
|
3104
|
+
LocalizationService,
|
|
3105
|
+
{
|
|
3106
|
+
provide: L10N_PREFIX,
|
|
3107
|
+
useValue: 'kendo.dropdownbutton'
|
|
3108
|
+
},
|
|
3109
|
+
PopupContainerService
|
|
3110
|
+
], queries: [{ propertyName: "itemTemplate", first: true, predicate: ButtonItemTemplateDirective, descendants: true }], exportAs: ["kendoDropDownButton"], usesInheritance: true, ngImport: i0, template: `
|
|
2922
3111
|
<button kendoButton #button
|
|
2923
3112
|
type="button"
|
|
2924
3113
|
[id]="buttonId"
|
|
@@ -2963,7 +3152,8 @@ DropDownButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
|
|
|
2963
3152
|
</ng-template>
|
|
2964
3153
|
<ng-container #container></ng-container>
|
|
2965
3154
|
`, 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
|
-
|
|
3155
|
+
}
|
|
3156
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropDownButtonComponent, decorators: [{
|
|
2967
3157
|
type: Component,
|
|
2968
3158
|
args: [{
|
|
2969
3159
|
exportAs: 'kendoDropDownButton',
|
|
@@ -3062,27 +3252,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
3062
3252
|
}], focused: [{
|
|
3063
3253
|
type: HostBinding,
|
|
3064
3254
|
args: ['class.k-focus']
|
|
3065
|
-
}], widgetClasses: [{
|
|
3066
|
-
type: HostBinding,
|
|
3067
|
-
args: ['class.k-dropdown-button']
|
|
3068
3255
|
}], dir: [{
|
|
3069
3256
|
type: HostBinding,
|
|
3070
3257
|
args: ['attr.dir']
|
|
3071
3258
|
}], itemTemplate: [{
|
|
3072
3259
|
type: ContentChild,
|
|
3073
3260
|
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
3261
|
}], keydown: [{
|
|
3087
3262
|
type: HostListener,
|
|
3088
3263
|
args: ['keydown', ['$event']]
|
|
@@ -3168,13 +3343,14 @@ function closeAnimation(animationSettings) {
|
|
|
3168
3343
|
* ([see example]({% slug templates_floatingactionbutton %}#toc-dial-item-template)).
|
|
3169
3344
|
*/
|
|
3170
3345
|
class DialItemTemplateDirective {
|
|
3346
|
+
templateRef;
|
|
3171
3347
|
constructor(templateRef) {
|
|
3172
3348
|
this.templateRef = templateRef;
|
|
3173
3349
|
}
|
|
3350
|
+
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 });
|
|
3351
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DialItemTemplateDirective, isStandalone: true, selector: "[kendoDialItemTemplate]", ngImport: i0 });
|
|
3174
3352
|
}
|
|
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: [{
|
|
3353
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DialItemTemplateDirective, decorators: [{
|
|
3178
3354
|
type: Directive,
|
|
3179
3355
|
args: [{
|
|
3180
3356
|
selector: '[kendoDialItemTemplate]',
|
|
@@ -3191,13 +3367,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
3191
3367
|
* ([see example]({% slug templates_floatingactionbutton %}#toc-floatingactionbutton-template)).
|
|
3192
3368
|
*/
|
|
3193
3369
|
class FloatingActionButtonTemplateDirective {
|
|
3370
|
+
templateRef;
|
|
3194
3371
|
constructor(templateRef) {
|
|
3195
3372
|
this.templateRef = templateRef;
|
|
3196
3373
|
}
|
|
3374
|
+
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 });
|
|
3375
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: FloatingActionButtonTemplateDirective, isStandalone: true, selector: "[kendoFloatingActionButtonTemplate]", ngImport: i0 });
|
|
3197
3376
|
}
|
|
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: [{
|
|
3377
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FloatingActionButtonTemplateDirective, decorators: [{
|
|
3201
3378
|
type: Directive,
|
|
3202
3379
|
args: [{
|
|
3203
3380
|
selector: '[kendoFloatingActionButtonTemplate]',
|
|
@@ -3211,13 +3388,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
3211
3388
|
* @hidden
|
|
3212
3389
|
*/
|
|
3213
3390
|
class DialItemComponent {
|
|
3214
|
-
|
|
3215
|
-
|
|
3216
|
-
|
|
3217
|
-
|
|
3218
|
-
|
|
3219
|
-
this.role = 'menuitem';
|
|
3220
|
-
}
|
|
3391
|
+
element;
|
|
3392
|
+
renderer;
|
|
3393
|
+
localisationService;
|
|
3394
|
+
hostClass = true;
|
|
3395
|
+
role = 'menuitem';
|
|
3221
3396
|
get disabledClass() {
|
|
3222
3397
|
return this.item.disabled;
|
|
3223
3398
|
}
|
|
@@ -3228,6 +3403,18 @@ class DialItemComponent {
|
|
|
3228
3403
|
get indexAttr() {
|
|
3229
3404
|
return this.index;
|
|
3230
3405
|
}
|
|
3406
|
+
cssClass;
|
|
3407
|
+
cssStyle;
|
|
3408
|
+
isFocused;
|
|
3409
|
+
index;
|
|
3410
|
+
item;
|
|
3411
|
+
dialItemTemplate;
|
|
3412
|
+
align;
|
|
3413
|
+
constructor(element, renderer, localisationService) {
|
|
3414
|
+
this.element = element;
|
|
3415
|
+
this.renderer = renderer;
|
|
3416
|
+
this.localisationService = localisationService;
|
|
3417
|
+
}
|
|
3231
3418
|
get iconClasses() {
|
|
3232
3419
|
const classes = [];
|
|
3233
3420
|
if (this.item.iconClass) {
|
|
@@ -3258,9 +3445,8 @@ class DialItemComponent {
|
|
|
3258
3445
|
};
|
|
3259
3446
|
return directions[dir][align];
|
|
3260
3447
|
}
|
|
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: `
|
|
3448
|
+
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 });
|
|
3449
|
+
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
3450
|
<ng-template *ngIf="dialItemTemplate"
|
|
3265
3451
|
[ngTemplateOutlet]="dialItemTemplate"
|
|
3266
3452
|
[ngTemplateOutletContext]="{ $implicit: item, index: index, isFocused: isFocused }"
|
|
@@ -3277,7 +3463,8 @@ DialItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
|
|
|
3277
3463
|
[svgIcon]="item.svgIcon"></kendo-icon-wrapper>
|
|
3278
3464
|
</ng-container>
|
|
3279
3465
|
`, 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
|
-
|
|
3466
|
+
}
|
|
3467
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DialItemComponent, decorators: [{
|
|
3281
3468
|
type: Component,
|
|
3282
3469
|
args: [{
|
|
3283
3470
|
// eslint-disable-next-line @angular-eslint/component-selector
|
|
@@ -3343,28 +3530,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
3343
3530
|
* @hidden
|
|
3344
3531
|
*/
|
|
3345
3532
|
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
|
-
}
|
|
3533
|
+
focusService;
|
|
3534
|
+
cdr;
|
|
3535
|
+
hostClass = true;
|
|
3353
3536
|
get bottomClass() {
|
|
3354
3537
|
return this.align.vertical === 'top' || this.align.vertical === 'middle';
|
|
3355
3538
|
}
|
|
3356
3539
|
get topClass() {
|
|
3357
3540
|
return this.align.vertical === 'bottom';
|
|
3358
3541
|
}
|
|
3542
|
+
dialItems;
|
|
3543
|
+
dialItemTemplate;
|
|
3544
|
+
align;
|
|
3545
|
+
subscriptions = new Subscription();
|
|
3546
|
+
constructor(focusService, cdr) {
|
|
3547
|
+
this.focusService = focusService;
|
|
3548
|
+
this.cdr = cdr;
|
|
3549
|
+
this.subscriptions.add(this.focusService.onFocus.subscribe(() => this.cdr.detectChanges()));
|
|
3550
|
+
}
|
|
3359
3551
|
isFocused(index) {
|
|
3360
3552
|
return this.focusService.isFocused(index);
|
|
3361
3553
|
}
|
|
3362
3554
|
ngOnDestroy() {
|
|
3363
3555
|
this.subscriptions.unsubscribe();
|
|
3364
3556
|
}
|
|
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: `
|
|
3557
|
+
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 });
|
|
3558
|
+
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
3559
|
<ng-container *ngFor='let item of dialItems; let idx = index'>
|
|
3369
3560
|
<li
|
|
3370
3561
|
kendoButtonFocusable
|
|
@@ -3380,7 +3571,8 @@ DialListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
|
|
|
3380
3571
|
</li>
|
|
3381
3572
|
</ng-container>
|
|
3382
3573
|
`, 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
|
-
|
|
3574
|
+
}
|
|
3575
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DialListComponent, decorators: [{
|
|
3384
3576
|
type: Component,
|
|
3385
3577
|
args: [{
|
|
3386
3578
|
// eslint-disable-next-line @angular-eslint/component-selector
|
|
@@ -3453,101 +3645,25 @@ const DEFAULT_THEME_COLOR = 'primary';
|
|
|
3453
3645
|
*
|
|
3454
3646
|
*/
|
|
3455
3647
|
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
|
-
}
|
|
3648
|
+
renderer;
|
|
3649
|
+
element;
|
|
3650
|
+
focusService;
|
|
3651
|
+
navigationService;
|
|
3652
|
+
ngZone;
|
|
3653
|
+
popupService;
|
|
3654
|
+
builder;
|
|
3655
|
+
localizationService;
|
|
3545
3656
|
get fixedClass() {
|
|
3546
3657
|
return this.positionMode === 'fixed';
|
|
3547
3658
|
}
|
|
3548
3659
|
get absoluteClass() {
|
|
3549
3660
|
return this.positionMode === 'absolute';
|
|
3550
3661
|
}
|
|
3662
|
+
direction;
|
|
3663
|
+
button;
|
|
3664
|
+
popupTemplate;
|
|
3665
|
+
dialItemTemplate;
|
|
3666
|
+
fabTemplate;
|
|
3551
3667
|
/**
|
|
3552
3668
|
* Specifies the theme color of the FloatingActionButton
|
|
3553
3669
|
* ([see example](slug:appearance_floatingactionbutton#toc-theme-colors)).
|
|
@@ -3650,12 +3766,131 @@ class FloatingActionButtonComponent {
|
|
|
3650
3766
|
get offset() {
|
|
3651
3767
|
return this._offset;
|
|
3652
3768
|
}
|
|
3769
|
+
/**
|
|
3770
|
+
* Specifies the positionMode of the FloatingActionButton
|
|
3771
|
+
* ([see example](slug:positioning_floatingactionbutton#toc-position-mode)).
|
|
3772
|
+
*
|
|
3773
|
+
* * The possible values are:
|
|
3774
|
+
* * `absolute`—Positions the FloatingActionButton absolutely to its first positioned parent element.
|
|
3775
|
+
* * `fixed` (Default)—Positions the FloatingActionButton relative to the viewport. It always stays in the same place even if the page is scrolled.
|
|
3776
|
+
*/
|
|
3777
|
+
positionMode = 'fixed';
|
|
3778
|
+
/**
|
|
3779
|
+
* Defines the name of an existing icon in a Kendo UI theme.
|
|
3780
|
+
* If provided, the icon will be rendered inside the FloatingActionButton by a `span.k-icon` element.
|
|
3781
|
+
*/
|
|
3782
|
+
icon;
|
|
3783
|
+
/**
|
|
3784
|
+
* Defines an [`SVGIcon`](slug:api_icons_svgicon) to be rendered within the FloatingActionButton.
|
|
3785
|
+
*/
|
|
3786
|
+
svgIcon;
|
|
3787
|
+
/**
|
|
3788
|
+
* Defines a CSS class or multiple classes separated by spaces which are applied to a `span` element.
|
|
3789
|
+
* Allows the usage of custom icons, rendered inside the FloatingActionButton by a `span` element.
|
|
3790
|
+
*/
|
|
3791
|
+
iconClass;
|
|
3792
|
+
/**
|
|
3793
|
+
* The CSS classes that will be rendered on the main button.
|
|
3794
|
+
* Supports the type of values that are supported by [`ngClass`](link:site.data.urls.angular['ngclassapi']).
|
|
3795
|
+
*/
|
|
3796
|
+
buttonClass;
|
|
3797
|
+
/**
|
|
3798
|
+
* The CSS classes that will be rendered on the dial items `ul` element.
|
|
3799
|
+
* Supports the type of values that are supported by [`ngClass`](link:site.data.urls.angular['ngclassapi']).
|
|
3800
|
+
*/
|
|
3801
|
+
dialClass;
|
|
3802
|
+
/**
|
|
3803
|
+
* Specifies the text content of the FloatingActionButton.
|
|
3804
|
+
*/
|
|
3805
|
+
text;
|
|
3806
|
+
/**
|
|
3807
|
+
* Specifies the animation settings of the FloatingActionButton dial items.
|
|
3808
|
+
* ([see example]({% slug dialitems_floatingactionbutton %}#toc-animation)).
|
|
3809
|
+
*
|
|
3810
|
+
* The possible values are:
|
|
3811
|
+
* * Boolean
|
|
3812
|
+
* * (Default) `true`—Applies the default [`DialItemAnimation`]({% slug api_buttons_dialitemanimation %}) settings.
|
|
3813
|
+
* * `false`
|
|
3814
|
+
* * `DialItemAnimation`
|
|
3815
|
+
* * `duration`—Specifies the animation duration in milliseconds for each dial item. Defaults to `180ms`.
|
|
3816
|
+
* * `gap`—Specifies the animation duration gap in milliseconds after each dial item is animated. Defaults to `90ms`.
|
|
3817
|
+
*/
|
|
3818
|
+
dialItemAnimation = true;
|
|
3819
|
+
/**
|
|
3820
|
+
* Specifies the [`tabIndex`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of the FloatingActionButton.
|
|
3821
|
+
*/
|
|
3822
|
+
tabIndex = 0;
|
|
3823
|
+
/**
|
|
3824
|
+
* Specifies the collection of the dial items that will be rendered in the FloatingActionButton popup.
|
|
3825
|
+
*/
|
|
3826
|
+
dialItems = [];
|
|
3827
|
+
/**
|
|
3828
|
+
* Fires each time the FloatingActionButton gets blurred.
|
|
3829
|
+
*/
|
|
3830
|
+
onBlur = new EventEmitter();
|
|
3831
|
+
/**
|
|
3832
|
+
* Fires each time the FloatingActionButton gets focused.
|
|
3833
|
+
*/
|
|
3834
|
+
onFocus = new EventEmitter();
|
|
3835
|
+
/**
|
|
3836
|
+
* Fires each time a dial item is clicked.
|
|
3837
|
+
*/
|
|
3838
|
+
dialItemClick = new EventEmitter();
|
|
3839
|
+
/**
|
|
3840
|
+
* Fires each time the popup is about to open.
|
|
3841
|
+
* This event is preventable. If you cancel the event, the popup will remain closed
|
|
3842
|
+
* ([more information and example](slug:events_floatingactionbutton)).
|
|
3843
|
+
*/
|
|
3844
|
+
open = new EventEmitter();
|
|
3845
|
+
/**
|
|
3846
|
+
* Fires each time the popup is about to close.
|
|
3847
|
+
* This event is preventable. If you cancel the event, the popup will remain open
|
|
3848
|
+
* ([more information and example](slug:events_floatingactionbutton)).
|
|
3849
|
+
*/
|
|
3850
|
+
close = new EventEmitter();
|
|
3653
3851
|
/**
|
|
3654
3852
|
* @hidden
|
|
3655
3853
|
*/
|
|
3656
3854
|
get componentTabIndex() {
|
|
3657
3855
|
return this.disabled ? (-1) : this.tabIndex;
|
|
3658
3856
|
}
|
|
3857
|
+
/**
|
|
3858
|
+
* @hidden
|
|
3859
|
+
*/
|
|
3860
|
+
id = `k-${guid()}`;
|
|
3861
|
+
/**
|
|
3862
|
+
* @hidden
|
|
3863
|
+
*/
|
|
3864
|
+
dialListId = `k-dial-list-${guid()}`;
|
|
3865
|
+
_themeColor = DEFAULT_THEME_COLOR;
|
|
3866
|
+
_size = DEFAULT_SIZE;
|
|
3867
|
+
_rounded = DEFAULT_ROUNDED$1;
|
|
3868
|
+
_disabled = false;
|
|
3869
|
+
_align = { horizontal: 'end', vertical: 'bottom' };
|
|
3870
|
+
_offset = { x: DEFAULT_OFFSET, y: DEFAULT_OFFSET };
|
|
3871
|
+
subscriptions = new Subscription();
|
|
3872
|
+
popupMouseDownListener;
|
|
3873
|
+
rtl = false;
|
|
3874
|
+
animationEnd = new EventEmitter();
|
|
3875
|
+
popupRef;
|
|
3876
|
+
initialSetup = true;
|
|
3877
|
+
focusChangedProgrammatically = false;
|
|
3878
|
+
constructor(renderer, element, focusService, navigationService, ngZone, popupService, builder, localizationService) {
|
|
3879
|
+
this.renderer = renderer;
|
|
3880
|
+
this.element = element;
|
|
3881
|
+
this.focusService = focusService;
|
|
3882
|
+
this.navigationService = navigationService;
|
|
3883
|
+
this.ngZone = ngZone;
|
|
3884
|
+
this.popupService = popupService;
|
|
3885
|
+
this.builder = builder;
|
|
3886
|
+
this.localizationService = localizationService;
|
|
3887
|
+
validatePackage(packageMetadata);
|
|
3888
|
+
this.subscribeNavigationEvents();
|
|
3889
|
+
this.subscriptions.add(this.localizationService.changes.subscribe(({ rtl }) => {
|
|
3890
|
+
this.rtl = rtl;
|
|
3891
|
+
this.direction = this.rtl ? 'rtl' : 'ltr';
|
|
3892
|
+
}));
|
|
3893
|
+
}
|
|
3659
3894
|
ngAfterViewInit() {
|
|
3660
3895
|
['size', 'rounded', 'themeColor'].forEach(option => this.handleClasses(this[option], option));
|
|
3661
3896
|
this.renderer.addClass(this.element.nativeElement, this.alignClass());
|
|
@@ -4111,18 +4346,17 @@ class FloatingActionButtonComponent {
|
|
|
4111
4346
|
}
|
|
4112
4347
|
return DEFAULT_DURATION;
|
|
4113
4348
|
}
|
|
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: `
|
|
4349
|
+
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 });
|
|
4350
|
+
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: [
|
|
4351
|
+
FocusService,
|
|
4352
|
+
NavigationService,
|
|
4353
|
+
NAVIGATION_SETTINGS_PROVIDER$1,
|
|
4354
|
+
LocalizationService,
|
|
4355
|
+
{
|
|
4356
|
+
provide: L10N_PREFIX,
|
|
4357
|
+
useValue: 'kendo.floatingactionbutton'
|
|
4358
|
+
}
|
|
4359
|
+
], 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
4360
|
<button
|
|
4127
4361
|
#button
|
|
4128
4362
|
[attr.id]="id"
|
|
@@ -4180,7 +4414,8 @@ FloatingActionButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "1
|
|
|
4180
4414
|
</ul>
|
|
4181
4415
|
</ng-template>
|
|
4182
4416
|
`, 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
|
-
|
|
4417
|
+
}
|
|
4418
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FloatingActionButtonComponent, decorators: [{
|
|
4184
4419
|
type: Component,
|
|
4185
4420
|
args: [{
|
|
4186
4421
|
selector: 'kendo-floatingactionbutton',
|
|
@@ -4327,10 +4562,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
4327
4562
|
* @hidden
|
|
4328
4563
|
*/
|
|
4329
4564
|
class Messages extends ComponentMessages {
|
|
4565
|
+
/**
|
|
4566
|
+
* The text for the SplitButton aria-label.
|
|
4567
|
+
*
|
|
4568
|
+
* The text for the aria-label consists of a two-part message - the text of the SplitButton and a localizable string.
|
|
4569
|
+
* For a SplitButton with text 'Reply', the default aria-label will be 'Reply splitbutton'.
|
|
4570
|
+
*
|
|
4571
|
+
* To allow reordering of the SplitButton text and the localizable part, the splitButtonLabel accepts a string with a
|
|
4572
|
+
* placeholder for the button text - e.g. 'splitbutton for {buttonText}'. The '{buttonText}' placeholder will be replaced
|
|
4573
|
+
* internally with the current SplitButton text, and the resulting aria-label will be rendered as 'splitbutton for Reply'.
|
|
4574
|
+
*
|
|
4575
|
+
* @example
|
|
4576
|
+
*
|
|
4577
|
+
* ```ts-no-run
|
|
4578
|
+
* <kendo-splitbutton>
|
|
4579
|
+
* <kendo-splitbutton-messages
|
|
4580
|
+
* splitButtonLabel="splitbutton for {buttonText}"
|
|
4581
|
+
* >
|
|
4582
|
+
* </kendo-splitbutton-messages>
|
|
4583
|
+
* </kendo-splitbutton>
|
|
4584
|
+
* ```
|
|
4585
|
+
*/
|
|
4586
|
+
splitButtonLabel;
|
|
4587
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: Messages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
4588
|
+
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
4589
|
}
|
|
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: [{
|
|
4590
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: Messages, decorators: [{
|
|
4334
4591
|
type: Directive,
|
|
4335
4592
|
args: [{
|
|
4336
4593
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
@@ -4345,6 +4602,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
4345
4602
|
* ([see example]({% slug rtl_buttons %}).
|
|
4346
4603
|
*/
|
|
4347
4604
|
class SplitButtonCustomMessagesComponent extends Messages {
|
|
4605
|
+
service;
|
|
4348
4606
|
constructor(service) {
|
|
4349
4607
|
super();
|
|
4350
4608
|
this.service = service;
|
|
@@ -4352,13 +4610,13 @@ class SplitButtonCustomMessagesComponent extends Messages {
|
|
|
4352
4610
|
get override() {
|
|
4353
4611
|
return true;
|
|
4354
4612
|
}
|
|
4613
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SplitButtonCustomMessagesComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
4614
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SplitButtonCustomMessagesComponent, isStandalone: true, selector: "kendo-splitbutton-messages", providers: [{
|
|
4615
|
+
provide: Messages,
|
|
4616
|
+
useExisting: forwardRef(() => SplitButtonCustomMessagesComponent)
|
|
4617
|
+
}], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
|
|
4355
4618
|
}
|
|
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: [{
|
|
4619
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SplitButtonCustomMessagesComponent, decorators: [{
|
|
4362
4620
|
type: Component,
|
|
4363
4621
|
args: [{
|
|
4364
4622
|
providers: [{
|
|
@@ -4375,19 +4633,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
4375
4633
|
* @hidden
|
|
4376
4634
|
*/
|
|
4377
4635
|
class LocalizedSplitButtonMessagesDirective extends Messages {
|
|
4636
|
+
service;
|
|
4378
4637
|
constructor(service) {
|
|
4379
4638
|
super();
|
|
4380
4639
|
this.service = service;
|
|
4381
4640
|
}
|
|
4641
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LocalizedSplitButtonMessagesDirective, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
4642
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: LocalizedSplitButtonMessagesDirective, isStandalone: true, selector: "[kendoSplitButtonLocalizedMessages]", providers: [
|
|
4643
|
+
{
|
|
4644
|
+
provide: Messages,
|
|
4645
|
+
useExisting: forwardRef(() => LocalizedSplitButtonMessagesDirective)
|
|
4646
|
+
}
|
|
4647
|
+
], usesInheritance: true, ngImport: i0 });
|
|
4382
4648
|
}
|
|
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: [{
|
|
4649
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LocalizedSplitButtonMessagesDirective, decorators: [{
|
|
4391
4650
|
type: Directive,
|
|
4392
4651
|
args: [{
|
|
4393
4652
|
providers: [
|
|
@@ -4452,154 +4711,46 @@ const DEFAULT_FILL_MODE = 'solid';
|
|
|
4452
4711
|
* ```
|
|
4453
4712
|
*/
|
|
4454
4713
|
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
|
-
}
|
|
4714
|
+
localization;
|
|
4715
|
+
renderer;
|
|
4716
|
+
/**
|
|
4717
|
+
* Sets the text of the SplitButton.
|
|
4718
|
+
*/
|
|
4719
|
+
text = '';
|
|
4720
|
+
/**
|
|
4721
|
+
* Defines an icon to be rendered next to the button text.
|
|
4722
|
+
* ([see example]({% slug databinding_splitbutton %}#toc-arrays-of-complex-data)).
|
|
4723
|
+
*/
|
|
4724
|
+
icon = '';
|
|
4725
|
+
/**
|
|
4726
|
+
* Defines an SVGIcon to be rendered next to the button text.
|
|
4727
|
+
*/
|
|
4728
|
+
svgIcon;
|
|
4729
|
+
/**
|
|
4730
|
+
* Defines an icon with a custom CSS class to be rendered next to the button text
|
|
4731
|
+
* ([see example]({% slug databinding_splitbutton %}#toc-arrays-of-complex-data)).
|
|
4732
|
+
*/
|
|
4733
|
+
iconClass;
|
|
4734
|
+
/**
|
|
4735
|
+
* Defines the type attribute of the main button
|
|
4736
|
+
*/
|
|
4737
|
+
type = 'button';
|
|
4738
|
+
/**
|
|
4739
|
+
* Defines the location of an image to be displayed next to the button text
|
|
4740
|
+
* ([see example]({% slug databinding_splitbutton %}#toc-arrays-of-complex-data)).
|
|
4741
|
+
*/
|
|
4742
|
+
imageUrl = '';
|
|
4743
|
+
/**
|
|
4744
|
+
* The size property specifies the padding of the SplitButton
|
|
4745
|
+
* ([see example]({% slug api_buttons_splitbuttoncomponent %}#toc-size)).
|
|
4746
|
+
*
|
|
4747
|
+
* The possible values are:
|
|
4748
|
+
* * `small`
|
|
4749
|
+
* * `medium` (default)
|
|
4750
|
+
* * `large`
|
|
4751
|
+
* * `none`
|
|
4752
|
+
*/
|
|
4753
|
+
size = 'medium';
|
|
4603
4754
|
/**
|
|
4604
4755
|
* The rounded property specifies the border radius of the SplitButton
|
|
4605
4756
|
* ([see example]({% slug api_buttons_splitbuttoncomponent %}#toc-rounded)).
|
|
@@ -4636,6 +4787,26 @@ class SplitButtonComponent extends ListButton {
|
|
|
4636
4787
|
get fillMode() {
|
|
4637
4788
|
return this._fillMode;
|
|
4638
4789
|
}
|
|
4790
|
+
/**
|
|
4791
|
+
* The SplitButton allows you to specify predefined theme colors.
|
|
4792
|
+
* The theme color will be applied as a background and border color while also amending the text color accordingly
|
|
4793
|
+
* ([see example]({% slug api_buttons_splitbuttoncomponent %}#toc-themeColor)).
|
|
4794
|
+
*
|
|
4795
|
+
* The possible values are:
|
|
4796
|
+
* * `base` —Applies coloring based on the `base` theme color. (default)
|
|
4797
|
+
* * `primary` —Applies coloring based on the `primary` theme color.
|
|
4798
|
+
* * `secondary`—Applies coloring based on the `secondary` theme color.
|
|
4799
|
+
* * `tertiary`— Applies coloring based on the `tertiary` theme color.
|
|
4800
|
+
* * `info`—Applies coloring based on the `info` theme color.
|
|
4801
|
+
* * `success`— Applies coloring based on the `success` theme color.
|
|
4802
|
+
* * `warning`— Applies coloring based on the `warning` theme color.
|
|
4803
|
+
* * `error`— Applies coloring based on the `error` theme color.
|
|
4804
|
+
* * `dark`— Applies coloring based on the `dark` theme color.
|
|
4805
|
+
* * `light`— Applies coloring based on the `light` theme color.
|
|
4806
|
+
* * `inverse`— Applies coloring based on the `inverse` theme color.
|
|
4807
|
+
* * `none`— Removes the built in theme color.
|
|
4808
|
+
*/
|
|
4809
|
+
themeColor = 'base';
|
|
4639
4810
|
/**
|
|
4640
4811
|
* When set to `true`, disables a SplitButton item
|
|
4641
4812
|
* ([see example]({% slug databinding_splitbutton %}#toc-arrays-of-complex-data)).
|
|
@@ -4664,6 +4835,14 @@ class SplitButtonComponent extends ListButton {
|
|
|
4664
4835
|
get popupSettings() {
|
|
4665
4836
|
return this._popupSettings;
|
|
4666
4837
|
}
|
|
4838
|
+
/**
|
|
4839
|
+
* Specifies the [`tabIndex`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of the component.
|
|
4840
|
+
*/
|
|
4841
|
+
tabIndex = 0;
|
|
4842
|
+
/**
|
|
4843
|
+
* Configures the text field of the button-list popup.
|
|
4844
|
+
*/
|
|
4845
|
+
textField;
|
|
4667
4846
|
/**
|
|
4668
4847
|
* Sets the data of the SplitButton.
|
|
4669
4848
|
*
|
|
@@ -4678,6 +4857,21 @@ class SplitButtonComponent extends ListButton {
|
|
|
4678
4857
|
}
|
|
4679
4858
|
return this._data;
|
|
4680
4859
|
}
|
|
4860
|
+
/**
|
|
4861
|
+
* The CSS classes that will be rendered on the button which opens the popup.
|
|
4862
|
+
* Supports the type of values that are supported by [`ngClass`](link:site.data.urls.angular['ngclassapi']).
|
|
4863
|
+
*/
|
|
4864
|
+
arrowButtonClass;
|
|
4865
|
+
/**
|
|
4866
|
+
* Specifies the name of the [font icon]({% slug icons %}#toc-list-of-font-icons) that will
|
|
4867
|
+
* be rendered for the button which opens the popup.
|
|
4868
|
+
*/
|
|
4869
|
+
arrowButtonIcon = 'caret-alt-down';
|
|
4870
|
+
/**
|
|
4871
|
+
* Specifies the [`SVGIcon`](slug:api_icons_svgicon) that will
|
|
4872
|
+
* be rendered for the button which opens the popup.
|
|
4873
|
+
*/
|
|
4874
|
+
arrowButtonSvgIcon = caretAltDownIcon;
|
|
4681
4875
|
/**
|
|
4682
4876
|
* Sets attributes to the main button.
|
|
4683
4877
|
*/
|
|
@@ -4689,6 +4883,80 @@ class SplitButtonComponent extends ListButton {
|
|
|
4689
4883
|
get buttonAttributes() {
|
|
4690
4884
|
return this._buttonAttributes;
|
|
4691
4885
|
}
|
|
4886
|
+
/**
|
|
4887
|
+
* Fires each time the user clicks the main button.
|
|
4888
|
+
*
|
|
4889
|
+
* @example
|
|
4890
|
+
* ```ts
|
|
4891
|
+
* _@Component({
|
|
4892
|
+
* selector: 'my-app',
|
|
4893
|
+
* template: `
|
|
4894
|
+
* <kendo-splitbutton (buttonClick)="onSplitButtonClick()" [data]="data">
|
|
4895
|
+
* Reply
|
|
4896
|
+
* </kendo-splitbutton>
|
|
4897
|
+
* `
|
|
4898
|
+
* })
|
|
4899
|
+
* class AppComponent {
|
|
4900
|
+
* public data: Array<any> = ['Reply All', 'Forward', 'Reply & Delete'];
|
|
4901
|
+
*
|
|
4902
|
+
* public onSplitButtonClick(): void {
|
|
4903
|
+
* console.log('SplitButton click');
|
|
4904
|
+
* }
|
|
4905
|
+
* }
|
|
4906
|
+
* ```
|
|
4907
|
+
*
|
|
4908
|
+
*/
|
|
4909
|
+
buttonClick = new EventEmitter();
|
|
4910
|
+
/**
|
|
4911
|
+
* Fires each time the user clicks on the drop-down list. The event data contains the data item bound to the clicked list item.
|
|
4912
|
+
*
|
|
4913
|
+
* @example
|
|
4914
|
+
* ```ts
|
|
4915
|
+
* _@Component({
|
|
4916
|
+
* selector: 'my-app',
|
|
4917
|
+
* template: `
|
|
4918
|
+
* <kendo-splitbutton (itemClick)="onSplitButtonItemClick($event)" [data]="data">
|
|
4919
|
+
* Reply
|
|
4920
|
+
* </kendo-splitbutton>
|
|
4921
|
+
* `
|
|
4922
|
+
* })
|
|
4923
|
+
* class AppComponent {
|
|
4924
|
+
* public data: Array<any> = ['Reply All', 'Forward', 'Reply & Delete'];
|
|
4925
|
+
*
|
|
4926
|
+
* public onSplitButtonItemClick(dataItem?: string): void {
|
|
4927
|
+
* if (dataItem) {
|
|
4928
|
+
* console.log(dataItem);
|
|
4929
|
+
* }
|
|
4930
|
+
* }
|
|
4931
|
+
* }
|
|
4932
|
+
* ```
|
|
4933
|
+
*
|
|
4934
|
+
*/
|
|
4935
|
+
itemClick = new EventEmitter();
|
|
4936
|
+
/**
|
|
4937
|
+
* Fires each time the SplitButton gets focused.
|
|
4938
|
+
*/
|
|
4939
|
+
onFocus = new EventEmitter();
|
|
4940
|
+
/**
|
|
4941
|
+
* Fires each time the SplitButton gets blurred.
|
|
4942
|
+
*/
|
|
4943
|
+
onBlur = new EventEmitter();
|
|
4944
|
+
/**
|
|
4945
|
+
* Fires each time the popup is about to open.
|
|
4946
|
+
* This event is preventable. If you cancel the event, the popup will remain closed.
|
|
4947
|
+
*/
|
|
4948
|
+
open = new EventEmitter();
|
|
4949
|
+
/**
|
|
4950
|
+
* Fires each time the popup is about to close.
|
|
4951
|
+
* This event is preventable. If you cancel the event, the popup will remain open.
|
|
4952
|
+
*/
|
|
4953
|
+
close = new EventEmitter();
|
|
4954
|
+
/**
|
|
4955
|
+
* An item template that helps to customize the item content.
|
|
4956
|
+
*/
|
|
4957
|
+
itemTemplate;
|
|
4958
|
+
activeArrow = false;
|
|
4959
|
+
listId = guid();
|
|
4692
4960
|
/**
|
|
4693
4961
|
* @hidden
|
|
4694
4962
|
*/
|
|
@@ -4707,6 +4975,12 @@ class SplitButtonComponent extends ListButton {
|
|
|
4707
4975
|
get componentTabIndex() {
|
|
4708
4976
|
return this.disabled ? -1 : this.tabIndex;
|
|
4709
4977
|
}
|
|
4978
|
+
buttonText = '';
|
|
4979
|
+
arrowButtonClicked = false;
|
|
4980
|
+
_rounded = DEFAULT_ROUNDED;
|
|
4981
|
+
_fillMode = DEFAULT_FILL_MODE;
|
|
4982
|
+
_buttonAttributes = null;
|
|
4983
|
+
documentMouseUpSub;
|
|
4710
4984
|
set isFocused(value) {
|
|
4711
4985
|
this._isFocused = value;
|
|
4712
4986
|
}
|
|
@@ -4800,7 +5074,7 @@ class SplitButtonComponent extends ListButton {
|
|
|
4800
5074
|
* @hidden
|
|
4801
5075
|
*/
|
|
4802
5076
|
ngAfterViewInit() {
|
|
4803
|
-
this.containerService.container = this.
|
|
5077
|
+
this.containerService.container = this.container;
|
|
4804
5078
|
this.containerService.template = this.popupTemplate;
|
|
4805
5079
|
this.updateButtonText();
|
|
4806
5080
|
this.handleClasses(this.rounded, 'rounded');
|
|
@@ -4824,6 +5098,14 @@ class SplitButtonComponent extends ListButton {
|
|
|
4824
5098
|
popup.popupAlign = this.popupAlign;
|
|
4825
5099
|
}
|
|
4826
5100
|
}
|
|
5101
|
+
/**
|
|
5102
|
+
* @hidden
|
|
5103
|
+
*/
|
|
5104
|
+
ngOnDestroy() {
|
|
5105
|
+
if (this.documentMouseUpSub) {
|
|
5106
|
+
this.documentMouseUpSub();
|
|
5107
|
+
}
|
|
5108
|
+
}
|
|
4827
5109
|
/**
|
|
4828
5110
|
* @hidden
|
|
4829
5111
|
*/
|
|
@@ -4892,6 +5174,23 @@ class SplitButtonComponent extends ListButton {
|
|
|
4892
5174
|
this.blurWrapper();
|
|
4893
5175
|
}
|
|
4894
5176
|
}
|
|
5177
|
+
constructor(focusService, navigationService, wrapperRef, zone, popupService, elRef, localization, cdr, renderer, containerService) {
|
|
5178
|
+
super(focusService, navigationService, wrapperRef, zone, popupService, elRef, localization, cdr, containerService);
|
|
5179
|
+
this.localization = localization;
|
|
5180
|
+
this.renderer = renderer;
|
|
5181
|
+
this._itemClick = this.itemClick;
|
|
5182
|
+
this._blur = this.onBlur;
|
|
5183
|
+
zone.runOutsideAngular(() => {
|
|
5184
|
+
this.documentMouseUpSub = this.renderer.listen('document', 'mouseup', () => {
|
|
5185
|
+
if (this.active) {
|
|
5186
|
+
zone.run(() => this._active = false);
|
|
5187
|
+
}
|
|
5188
|
+
if (this.activeArrow) {
|
|
5189
|
+
zone.run(() => this.activeArrow = false);
|
|
5190
|
+
}
|
|
5191
|
+
});
|
|
5192
|
+
});
|
|
5193
|
+
}
|
|
4895
5194
|
/**
|
|
4896
5195
|
* Returns the current open state of the popup.
|
|
4897
5196
|
*/
|
|
@@ -4934,26 +5233,26 @@ class SplitButtonComponent extends ListButton {
|
|
|
4934
5233
|
}
|
|
4935
5234
|
}
|
|
4936
5235
|
}
|
|
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: `
|
|
5236
|
+
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 });
|
|
5237
|
+
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: [
|
|
5238
|
+
FocusService,
|
|
5239
|
+
NavigationService,
|
|
5240
|
+
NAVIGATION_SETTINGS_PROVIDER,
|
|
5241
|
+
LocalizationService,
|
|
5242
|
+
{
|
|
5243
|
+
provide: L10N_PREFIX,
|
|
5244
|
+
useValue: 'kendo.splitbutton'
|
|
5245
|
+
},
|
|
5246
|
+
PopupContainerService,
|
|
5247
|
+
{
|
|
5248
|
+
provide: MultiTabStop,
|
|
5249
|
+
useExisting: forwardRef(() => SplitButtonComponent)
|
|
5250
|
+
}
|
|
5251
|
+
], queries: [{ propertyName: "itemTemplate", first: true, predicate: ButtonItemTemplateDirective, descendants: true }], exportAs: ["kendoSplitButton"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
|
|
4954
5252
|
<ng-container kendoSplitButtonLocalizedMessages
|
|
4955
5253
|
i18n-splitButtonLabel="kendo.splitbutton.splitButtonLabel|The text for the SplitButton aria-label"
|
|
4956
|
-
splitButtonLabel="{{ '{buttonText} splitbutton' }}"
|
|
5254
|
+
splitButtonLabel="{{ '{buttonText} splitbutton' }}"
|
|
5255
|
+
>
|
|
4957
5256
|
</ng-container>
|
|
4958
5257
|
<button
|
|
4959
5258
|
kendoButton
|
|
@@ -4981,8 +5280,7 @@ SplitButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", v
|
|
|
4981
5280
|
[attr.aria-label]="ariaLabel"
|
|
4982
5281
|
>
|
|
4983
5282
|
<span *ngIf="text" class="k-button-text">
|
|
4984
|
-
{{ text }}
|
|
4985
|
-
</span><ng-content></ng-content>
|
|
5283
|
+
{{ text }} </span><ng-content></ng-content>
|
|
4986
5284
|
</button>
|
|
4987
5285
|
<button kendoButton #arrowButton type="button"
|
|
4988
5286
|
class="k-split-button-arrow"
|
|
@@ -5018,7 +5316,8 @@ SplitButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", v
|
|
|
5018
5316
|
</ng-template>
|
|
5019
5317
|
<ng-container #container></ng-container>
|
|
5020
5318
|
`, 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
|
-
|
|
5319
|
+
}
|
|
5320
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SplitButtonComponent, decorators: [{
|
|
5022
5321
|
type: Component,
|
|
5023
5322
|
args: [{
|
|
5024
5323
|
exportAs: 'kendoSplitButton',
|
|
@@ -5041,7 +5340,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
5041
5340
|
template: `
|
|
5042
5341
|
<ng-container kendoSplitButtonLocalizedMessages
|
|
5043
5342
|
i18n-splitButtonLabel="kendo.splitbutton.splitButtonLabel|The text for the SplitButton aria-label"
|
|
5044
|
-
splitButtonLabel="{{ '{buttonText} splitbutton' }}"
|
|
5343
|
+
splitButtonLabel="{{ '{buttonText} splitbutton' }}"
|
|
5344
|
+
>
|
|
5045
5345
|
</ng-container>
|
|
5046
5346
|
<button
|
|
5047
5347
|
kendoButton
|
|
@@ -5069,8 +5369,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
5069
5369
|
[attr.aria-label]="ariaLabel"
|
|
5070
5370
|
>
|
|
5071
5371
|
<span *ngIf="text" class="k-button-text">
|
|
5072
|
-
{{ text }}
|
|
5073
|
-
</span><ng-content></ng-content>
|
|
5372
|
+
{{ text }} </span><ng-content></ng-content>
|
|
5074
5373
|
</button>
|
|
5075
5374
|
<button kendoButton #arrowButton type="button"
|
|
5076
5375
|
class="k-split-button-arrow"
|
|
@@ -5139,8 +5438,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
5139
5438
|
type: Input
|
|
5140
5439
|
}], data: [{
|
|
5141
5440
|
type: Input
|
|
5142
|
-
}], buttonClass: [{
|
|
5143
|
-
type: Input
|
|
5144
5441
|
}], arrowButtonClass: [{
|
|
5145
5442
|
type: Input
|
|
5146
5443
|
}], arrowButtonIcon: [{
|
|
@@ -5166,18 +5463,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
5166
5463
|
}], itemTemplate: [{
|
|
5167
5464
|
type: ContentChild,
|
|
5168
5465
|
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
5466
|
}], isFocused: [{
|
|
5182
5467
|
type: HostBinding,
|
|
5183
5468
|
args: ['class.k-focus']
|
|
@@ -5269,11 +5554,11 @@ const KENDO_BUTTONS = [
|
|
|
5269
5554
|
* - `ButtonComponent`—The Button component class.
|
|
5270
5555
|
*/
|
|
5271
5556
|
class ButtonGroupModule {
|
|
5557
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonGroupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5558
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ButtonGroupModule, imports: [ButtonComponent, ButtonGroupComponent], exports: [ButtonComponent, ButtonGroupComponent] });
|
|
5559
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonGroupModule, providers: [IconsService], imports: [ButtonComponent] });
|
|
5272
5560
|
}
|
|
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: [{
|
|
5561
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonGroupModule, decorators: [{
|
|
5277
5562
|
type: NgModule,
|
|
5278
5563
|
args: [{
|
|
5279
5564
|
exports: [...KENDO_BUTTONGROUP],
|
|
@@ -5315,11 +5600,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
5315
5600
|
* ```
|
|
5316
5601
|
*/
|
|
5317
5602
|
class ButtonModule {
|
|
5603
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5604
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ButtonModule, imports: [ButtonComponent], exports: [ButtonComponent] });
|
|
5605
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonModule, providers: [IconsService], imports: [ButtonComponent] });
|
|
5318
5606
|
}
|
|
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: [{
|
|
5607
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonModule, decorators: [{
|
|
5323
5608
|
type: NgModule,
|
|
5324
5609
|
args: [{
|
|
5325
5610
|
imports: [ButtonComponent],
|
|
@@ -5361,11 +5646,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
5361
5646
|
* ```
|
|
5362
5647
|
*/
|
|
5363
5648
|
class ButtonsModule {
|
|
5649
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5650
|
+
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] });
|
|
5651
|
+
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
5652
|
}
|
|
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: [{
|
|
5653
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonsModule, decorators: [{
|
|
5369
5654
|
type: NgModule,
|
|
5370
5655
|
args: [{
|
|
5371
5656
|
imports: [...KENDO_BUTTONS],
|
|
@@ -5384,11 +5669,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
5384
5669
|
* - `SplitButtonCustomMessagesComponent`—The SplitButton custom messages component class.
|
|
5385
5670
|
*/
|
|
5386
5671
|
class SplitButtonModule {
|
|
5672
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SplitButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5673
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SplitButtonModule, imports: [SplitButtonComponent, SplitButtonCustomMessagesComponent], exports: [SplitButtonComponent, SplitButtonCustomMessagesComponent] });
|
|
5674
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SplitButtonModule, providers: [IconsService, PopupService, ResizeBatchService], imports: [SplitButtonComponent] });
|
|
5387
5675
|
}
|
|
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: [{
|
|
5676
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SplitButtonModule, decorators: [{
|
|
5392
5677
|
type: NgModule,
|
|
5393
5678
|
args: [{
|
|
5394
5679
|
exports: [...KENDO_SPLITBUTTON],
|
|
@@ -5407,11 +5692,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
5407
5692
|
* - `ButtonItemTemplateDirective`—The Button item template directive.
|
|
5408
5693
|
*/
|
|
5409
5694
|
class DropDownButtonModule {
|
|
5695
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropDownButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5696
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DropDownButtonModule, imports: [DropDownButtonComponent, ButtonItemTemplateDirective], exports: [DropDownButtonComponent, ButtonItemTemplateDirective] });
|
|
5697
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropDownButtonModule, providers: [IconsService, PopupService, ResizeBatchService], imports: [DropDownButtonComponent] });
|
|
5410
5698
|
}
|
|
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: [{
|
|
5699
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropDownButtonModule, decorators: [{
|
|
5415
5700
|
type: NgModule,
|
|
5416
5701
|
args: [{
|
|
5417
5702
|
exports: [...KENDO_DROPDOWNBUTTON],
|
|
@@ -5420,30 +5705,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
5420
5705
|
}]
|
|
5421
5706
|
}] });
|
|
5422
5707
|
|
|
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
5708
|
//IMPORTANT: NgModule export kept for backwards compatibility
|
|
5448
5709
|
/**
|
|
5449
5710
|
* Represents the [NgModule](link:site.data.urls.angular['ngmoduleapi'])
|
|
@@ -5474,11 +5735,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
5474
5735
|
* ```
|
|
5475
5736
|
*/
|
|
5476
5737
|
class ChipModule {
|
|
5738
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5739
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ChipModule, imports: [ChipComponent, ChipListComponent], exports: [ChipComponent, ChipListComponent] });
|
|
5740
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipModule, providers: [IconsService], imports: [ChipComponent] });
|
|
5477
5741
|
}
|
|
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: [{
|
|
5742
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipModule, decorators: [{
|
|
5482
5743
|
type: NgModule,
|
|
5483
5744
|
args: [{
|
|
5484
5745
|
exports: [...KENDO_CHIPLIST],
|
|
@@ -5517,11 +5778,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
5517
5778
|
* ```
|
|
5518
5779
|
*/
|
|
5519
5780
|
class FloatingActionButtonModule {
|
|
5781
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FloatingActionButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5782
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: FloatingActionButtonModule, imports: [FloatingActionButtonComponent, DialItemTemplateDirective, FloatingActionButtonTemplateDirective], exports: [FloatingActionButtonComponent, DialItemTemplateDirective, FloatingActionButtonTemplateDirective] });
|
|
5783
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FloatingActionButtonModule, providers: [IconsService, PopupService, ResizeBatchService], imports: [FloatingActionButtonComponent] });
|
|
5520
5784
|
}
|
|
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: [{
|
|
5785
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FloatingActionButtonModule, decorators: [{
|
|
5525
5786
|
type: NgModule,
|
|
5526
5787
|
args: [{
|
|
5527
5788
|
exports: [...KENDO_FLOATINGACTIONBUTTON],
|
|
@@ -5534,5 +5795,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
5534
5795
|
* Generated bundle index. Do not edit.
|
|
5535
5796
|
*/
|
|
5536
5797
|
|
|
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,
|
|
5798
|
+
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
5799
|
|