@progress/kendo-angular-buttons 17.0.0-develop.20 → 17.0.0-develop.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/button/button.component.d.ts +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 +1 -1
- package/chip/chip.component.d.ts +1 -1
- 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 +3 -3
- package/common/models/theme-color.d.ts +2 -2
- package/direction.d.ts +1 -1
- package/dropdownbutton/dropdownbutton.component.d.ts +2 -9
- package/{esm2020 → esm2022}/button/button.component.mjs +63 -49
- 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 +55 -45
- package/{esm2020 → esm2022}/chip/chip.component.mjs +123 -70
- package/{esm2020 → esm2022}/chip/chip.module.mjs +4 -4
- package/{esm2020 → esm2022}/dropdownbutton/dropdownbutton.component.mjs +109 -111
- 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}/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/{esm2020 → esm2022}/listbutton/list.module.mjs +8 -8
- 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 +189 -182
- package/{esm2020 → esm2022}/splitbutton/splitbutton.module.mjs +4 -4
- package/{fesm2020 → fesm2022}/progress-kendo-angular-buttons.mjs +1246 -1013
- 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/listbutton/list-button.d.ts +9 -4
- package/listbutton/list.component.d.ts +1 -1
- package/package.json +14 -20
- package/splitbutton/localization/messages.d.ts +1 -1
- package/splitbutton/splitbutton.component.d.ts +3 -16
- package/esm2020/splitbutton/localization/messages.mjs +0 -23
- package/fesm2015/progress-kendo-angular-buttons.mjs +0 -5560
- /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 → esm2022}/chip/models/avatar-settings.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/chip/models/selection.mjs +0 -0
- /package/{esm2020 → esm2022}/common/models/arrow-settings.mjs +0 -0
- /package/{esm2020 → esm2022}/common/models/fillmode.mjs +0 -0
- /package/{esm2020 → esm2022}/common/models/rounded.mjs +0 -0
- /package/{esm2020 → esm2022}/common/models/size.mjs +0 -0
- /package/{esm2020 → esm2022}/common/models/styling-classes.mjs +0 -0
- /package/{esm2020 → esm2022}/common/models/theme-color.mjs +0 -0
- /package/{esm2020 → esm2022}/common/models.mjs +0 -0
- /package/{esm2020 → esm2022}/direction.mjs +0 -0
- /package/{esm2020 → esm2022}/directives.mjs +0 -0
- /package/{esm2020 → esm2022}/floatingactionbutton/animations/animations.mjs +0 -0
- /package/{esm2020 → esm2022}/floatingactionbutton/models/align.mjs +0 -0
- /package/{esm2020 → esm2022}/floatingactionbutton/models/item-animation.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/floatingactionbutton/models/item-click.event.mjs +0 -0
- /package/{esm2020 → esm2022}/floatingactionbutton/models/item.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/floatingactionbutton/models/offset.mjs +0 -0
- /package/{esm2020 → esm2022}/floatingactionbutton/models/position-mode.mjs +0 -0
- /package/{esm2020 → esm2022}/floatingactionbutton/utils.mjs +0 -0
- /package/{esm2020 → esm2022}/index.mjs +0 -0
- /package/{esm2020 → esm2022}/listbutton/list-item-model.mjs +0 -0
- /package/{esm2020 → esm2022}/listbutton/popup-settings.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
- /package/{esm2020 → esm2022}/util.mjs +0 -0
|
@@ -3,9 +3,9 @@
|
|
|
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';
|
|
@@ -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-develop.
|
|
45
|
+
publishDate: 1730103449,
|
|
46
|
+
version: '17.0.0-develop.22',
|
|
49
47
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
50
48
|
};
|
|
51
49
|
|
|
@@ -158,45 +156,21 @@ const DEFAULT_FILL_MODE$3 = 'solid';
|
|
|
158
156
|
* Please use the `button[kendoButton]` selector only.
|
|
159
157
|
*/
|
|
160
158
|
class ButtonComponent {
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
this.toggleable = false;
|
|
177
|
-
/**
|
|
178
|
-
* Fires each time the selected state of a toggleable button is changed.
|
|
179
|
-
*
|
|
180
|
-
* The event argument is the new selected state (boolean).
|
|
181
|
-
*/
|
|
182
|
-
this.selectedChange = new EventEmitter();
|
|
183
|
-
/**
|
|
184
|
-
* Fires each time the user clicks the button.
|
|
185
|
-
*/
|
|
186
|
-
this.click = new EventEmitter();
|
|
187
|
-
this.isDisabled = false;
|
|
188
|
-
this.caretAltDownIcon = caretAltDownIcon;
|
|
189
|
-
this._size = DEFAULT_SIZE$2;
|
|
190
|
-
this._rounded = DEFAULT_ROUNDED$3;
|
|
191
|
-
this._fillMode = DEFAULT_FILL_MODE$3;
|
|
192
|
-
this._themeColor = DEFAULT_THEME_COLOR$2;
|
|
193
|
-
this._focused = false;
|
|
194
|
-
this.subs = new Subscription();
|
|
195
|
-
validatePackage(packageMetadata);
|
|
196
|
-
this.direction = localization.rtl ? 'rtl' : 'ltr';
|
|
197
|
-
this.subs.add(localization.changes.subscribe(({ rtl }) => (this.direction = rtl ? 'rtl' : 'ltr')));
|
|
198
|
-
this.element = element.nativeElement;
|
|
199
|
-
}
|
|
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;
|
|
200
174
|
/**
|
|
201
175
|
* Backwards-compatible alias
|
|
202
176
|
*
|
|
@@ -231,6 +205,11 @@ class ButtonComponent {
|
|
|
231
205
|
get tabIndex() {
|
|
232
206
|
return this.element.tabIndex;
|
|
233
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;
|
|
234
213
|
/**
|
|
235
214
|
* Defines a CSS class—or multiple classes separated by spaces—
|
|
236
215
|
* which are applied to a `span` element inside the Button. Allows the usage of custom icons.
|
|
@@ -341,6 +320,30 @@ class ButtonComponent {
|
|
|
341
320
|
get svgIcon() {
|
|
342
321
|
return this._svgIcon;
|
|
343
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;
|
|
344
347
|
set isFocused(isFocused) {
|
|
345
348
|
this.toggleClass('k-focus', isFocused);
|
|
346
349
|
this._focused = isFocused;
|
|
@@ -407,6 +410,15 @@ class ButtonComponent {
|
|
|
407
410
|
get nativeElement() {
|
|
408
411
|
return this.element;
|
|
409
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
|
+
}
|
|
410
422
|
ngOnInit() {
|
|
411
423
|
if (!this.element.hasAttribute('role') && this.togglable) {
|
|
412
424
|
this.toggleAriaPressed(this.toggleable);
|
|
@@ -542,15 +554,14 @@ class ButtonComponent {
|
|
|
542
554
|
}
|
|
543
555
|
}
|
|
544
556
|
}
|
|
545
|
-
}
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
], 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", "attr.aria-disabled": "this.classDisabled", "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: `
|
|
554
565
|
<kendo-icon-wrapper
|
|
555
566
|
*ngIf="icon || svgIcon"
|
|
556
567
|
innerCssClass="k-button-icon"
|
|
@@ -569,7 +580,8 @@ ButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", versio
|
|
|
569
580
|
</span>
|
|
570
581
|
|
|
571
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"] }] });
|
|
572
|
-
|
|
583
|
+
}
|
|
584
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonComponent, decorators: [{
|
|
573
585
|
type: Component,
|
|
574
586
|
args: [{
|
|
575
587
|
exportAs: 'kendoButton',
|
|
@@ -674,9 +686,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
674
686
|
* @hidden
|
|
675
687
|
*/
|
|
676
688
|
class PreventableEvent {
|
|
677
|
-
|
|
678
|
-
this.prevented = false;
|
|
679
|
-
}
|
|
689
|
+
prevented = false;
|
|
680
690
|
/**
|
|
681
691
|
* Prevents the default action for a specified event.
|
|
682
692
|
* In this way, the source component suppresses the built-in behavior that follows the event.
|
|
@@ -702,46 +712,34 @@ const tabindex = 'tabindex';
|
|
|
702
712
|
* Represents the Kendo UI ButtonGroup component for Angular.
|
|
703
713
|
*/
|
|
704
714
|
class ButtonGroupComponent {
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
this.focusHandler = () => {
|
|
734
|
-
this.currentTabIndex = -1;
|
|
735
|
-
this.defocus(this.buttons.toArray());
|
|
736
|
-
const firstFocusableIndex = this.buttons.toArray().findIndex(current => !current.disabled);
|
|
737
|
-
const index = this.lastFocusedIndex === -1 ? firstFocusableIndex : this.lastFocusedIndex;
|
|
738
|
-
this.focus(this.buttons.filter((_current, i) => {
|
|
739
|
-
return i === index;
|
|
740
|
-
}));
|
|
741
|
-
};
|
|
742
|
-
validatePackage(packageMetadata);
|
|
743
|
-
this.subs.add(localization.changes.subscribe(({ rtl }) => this.direction = rtl ? 'rtl' : 'ltr'));
|
|
744
|
-
}
|
|
715
|
+
service;
|
|
716
|
+
renderer;
|
|
717
|
+
element;
|
|
718
|
+
/**
|
|
719
|
+
* By default, the ButtonGroup is enabled.
|
|
720
|
+
* To disable the whole group of buttons, set its `disabled` attribute to `true`.
|
|
721
|
+
*
|
|
722
|
+
* To disable a specific button, set its own `disabled` attribute to `true`
|
|
723
|
+
* and leave the `disabled` attribute of the ButtonGroup undefined.
|
|
724
|
+
* If you define the `disabled` attribute of the ButtonGroup, it will take
|
|
725
|
+
* precedence over the `disabled` attributes of the underlying buttons and they will be ignored.
|
|
726
|
+
*
|
|
727
|
+
* For more information on how to configure the Button, refer to
|
|
728
|
+
* its [API documentation]({% slug api_buttons_buttoncomponent %}).
|
|
729
|
+
*/
|
|
730
|
+
disabled;
|
|
731
|
+
/**
|
|
732
|
+
* The selection mode of the ButtonGroup.
|
|
733
|
+
* @default 'multiple'
|
|
734
|
+
*/
|
|
735
|
+
selection = 'multiple';
|
|
736
|
+
/**
|
|
737
|
+
* Sets the width of the ButtonGroup.
|
|
738
|
+
* If the width of the ButtonGroup is set:
|
|
739
|
+
* - The buttons resize automatically to fill the full width of the group wrapper.
|
|
740
|
+
* - The buttons acquire the same width.
|
|
741
|
+
*/
|
|
742
|
+
width;
|
|
745
743
|
/**
|
|
746
744
|
* Specifies the [`tabIndex`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of the component.
|
|
747
745
|
*/
|
|
@@ -752,12 +750,33 @@ class ButtonGroupComponent {
|
|
|
752
750
|
get tabIndex() {
|
|
753
751
|
return this._tabIndex;
|
|
754
752
|
}
|
|
753
|
+
/**
|
|
754
|
+
* When this option is set to `true` (default), the component is a single tab-stop,
|
|
755
|
+
* and focus is moved through the inner buttons via the arrow keys.
|
|
756
|
+
*
|
|
757
|
+
* When the option is set to `false`, the inner buttons are part of the natural tab sequence of the page.
|
|
758
|
+
*
|
|
759
|
+
* @default true
|
|
760
|
+
*/
|
|
761
|
+
navigable = true;
|
|
762
|
+
/**
|
|
763
|
+
* Fires every time keyboard navigation occurs.
|
|
764
|
+
*/
|
|
765
|
+
navigate = new EventEmitter();
|
|
766
|
+
buttons;
|
|
767
|
+
_tabIndex = 0;
|
|
768
|
+
currentTabIndex = 0;
|
|
769
|
+
lastFocusedIndex = -1;
|
|
770
|
+
direction;
|
|
771
|
+
subs = new Subscription();
|
|
772
|
+
wrapperClasses = true;
|
|
755
773
|
get disabledClass() {
|
|
756
774
|
return this.disabled;
|
|
757
775
|
}
|
|
758
776
|
get stretchedClass() {
|
|
759
777
|
return !!this.width;
|
|
760
778
|
}
|
|
779
|
+
role = 'group';
|
|
761
780
|
get dir() {
|
|
762
781
|
return this.direction;
|
|
763
782
|
}
|
|
@@ -770,6 +789,13 @@ class ButtonGroupComponent {
|
|
|
770
789
|
get wrapperTabIndex() {
|
|
771
790
|
return this.disabled ? undefined : this.navigable ? this.currentTabIndex : undefined;
|
|
772
791
|
}
|
|
792
|
+
constructor(service, localization, renderer, element) {
|
|
793
|
+
this.service = service;
|
|
794
|
+
this.renderer = renderer;
|
|
795
|
+
this.element = element;
|
|
796
|
+
validatePackage(packageMetadata);
|
|
797
|
+
this.subs.add(localization.changes.subscribe(({ rtl }) => this.direction = rtl ? 'rtl' : 'ltr'));
|
|
798
|
+
}
|
|
773
799
|
ngOnInit() {
|
|
774
800
|
this.subs.add(this.service.buttonClicked$.subscribe((button) => {
|
|
775
801
|
let newSelectionValue;
|
|
@@ -910,19 +936,28 @@ class ButtonGroupComponent {
|
|
|
910
936
|
.pipe(filter(predicate))
|
|
911
937
|
.subscribe(handler));
|
|
912
938
|
}
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
{
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
939
|
+
focusHandler = () => {
|
|
940
|
+
this.currentTabIndex = -1;
|
|
941
|
+
this.defocus(this.buttons.toArray());
|
|
942
|
+
const firstFocusableIndex = this.buttons.toArray().findIndex(current => !current.disabled);
|
|
943
|
+
const index = this.lastFocusedIndex === -1 ? firstFocusableIndex : this.lastFocusedIndex;
|
|
944
|
+
this.focus(this.buttons.filter((_current, i) => {
|
|
945
|
+
return i === index;
|
|
946
|
+
}));
|
|
947
|
+
};
|
|
948
|
+
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 });
|
|
949
|
+
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: [
|
|
950
|
+
KendoButtonService,
|
|
951
|
+
LocalizationService,
|
|
952
|
+
{
|
|
953
|
+
provide: L10N_PREFIX,
|
|
954
|
+
useValue: 'kendo.buttongroup'
|
|
955
|
+
}
|
|
956
|
+
], queries: [{ propertyName: "buttons", predicate: ButtonComponent }], exportAs: ["kendoButtonGroup"], usesOnChanges: true, ngImport: i0, template: `
|
|
923
957
|
<ng-content select="[kendoButton]"></ng-content>
|
|
924
958
|
`, isInline: true });
|
|
925
|
-
|
|
959
|
+
}
|
|
960
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonGroupComponent, decorators: [{
|
|
926
961
|
type: Component,
|
|
927
962
|
args: [{
|
|
928
963
|
exportAs: 'kendoButtonGroup',
|
|
@@ -992,66 +1027,77 @@ const DEFAULT_FILL_MODE$2 = 'solid';
|
|
|
992
1027
|
* Displays a Chip that represents an input, attribute or an action.
|
|
993
1028
|
*/
|
|
994
1029
|
class ChipComponent {
|
|
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
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1030
|
+
element;
|
|
1031
|
+
renderer;
|
|
1032
|
+
ngZone;
|
|
1033
|
+
localizationService;
|
|
1034
|
+
/**
|
|
1035
|
+
* Sets the label text of the Chip.
|
|
1036
|
+
*/
|
|
1037
|
+
label;
|
|
1038
|
+
/**
|
|
1039
|
+
* Defines the name for an existing icon in a Kendo UI theme.
|
|
1040
|
+
* The icon is rendered inside the Chip by a `span.k-icon` element.
|
|
1041
|
+
*/
|
|
1042
|
+
icon;
|
|
1043
|
+
/**
|
|
1044
|
+
* Defines an [`SVGIcon`](slug:api_icons_svgicon) icon to be rendered inside the Chip using
|
|
1045
|
+
* a [`KendoSVGIcon`](slug:api_icons_svgiconcomponent) component.
|
|
1046
|
+
*/
|
|
1047
|
+
svgIcon;
|
|
1048
|
+
/**
|
|
1049
|
+
* Defines a CSS class — or multiple classes separated by spaces —
|
|
1050
|
+
* which are applied to a span element.
|
|
1051
|
+
* Allows the usage of custom icons.
|
|
1052
|
+
*/
|
|
1053
|
+
iconClass;
|
|
1054
|
+
/**
|
|
1055
|
+
* Use these settings to render an avatar within the Chip.
|
|
1056
|
+
*/
|
|
1057
|
+
avatarSettings;
|
|
1058
|
+
/**
|
|
1059
|
+
* Specifies the selected state of the Chip.
|
|
1060
|
+
* @default false
|
|
1061
|
+
*/
|
|
1062
|
+
selected = false;
|
|
1063
|
+
/**
|
|
1064
|
+
* Specifies if the Chip will be removable or not.
|
|
1065
|
+
* If the property is set to `true`, the Chip renders a remove icon.
|
|
1066
|
+
* @default false
|
|
1067
|
+
*/
|
|
1068
|
+
removable = false;
|
|
1069
|
+
/**
|
|
1070
|
+
* Specifies a custom remove font icon class that will be rendered when the Chip is removable.
|
|
1071
|
+
* [see example]({% slug icons %})
|
|
1072
|
+
*/
|
|
1073
|
+
removeIcon;
|
|
1074
|
+
/**
|
|
1075
|
+
* Specifies a custom remove SVG icon that will be rendered when the Chip is removable.
|
|
1076
|
+
*/
|
|
1077
|
+
removeSvgIcon;
|
|
1078
|
+
/**
|
|
1079
|
+
* @hidden
|
|
1080
|
+
*
|
|
1081
|
+
* Determines whether the Chip has a menu.
|
|
1082
|
+
*/
|
|
1083
|
+
hasMenu = false;
|
|
1084
|
+
/**
|
|
1085
|
+
* @hidden
|
|
1086
|
+
*
|
|
1087
|
+
* Specifies a custom menu font icon class that will be rendered when the Chip has menu.
|
|
1088
|
+
*/
|
|
1089
|
+
menuIcon;
|
|
1090
|
+
/**
|
|
1091
|
+
* @hidden
|
|
1092
|
+
*
|
|
1093
|
+
* Specifies a custom menu SVG icon that will be rendered when the Chip has menu.
|
|
1094
|
+
*/
|
|
1095
|
+
menuSvgIcon;
|
|
1096
|
+
/**
|
|
1097
|
+
* If set to `true`, the Chip will be disabled.
|
|
1098
|
+
* @default false
|
|
1099
|
+
*/
|
|
1100
|
+
disabled = false;
|
|
1055
1101
|
/**
|
|
1056
1102
|
* The size property specifies the padding of the Chip
|
|
1057
1103
|
* ([see example]({% slug appearance_chip %}#toc-size)).
|
|
@@ -1127,6 +1173,22 @@ class ChipComponent {
|
|
|
1127
1173
|
get themeColor() {
|
|
1128
1174
|
return this._themeColor;
|
|
1129
1175
|
}
|
|
1176
|
+
/**
|
|
1177
|
+
* Fires each time the user clicks the remove icon of the Chip.
|
|
1178
|
+
*/
|
|
1179
|
+
remove = new EventEmitter();
|
|
1180
|
+
/**
|
|
1181
|
+
* @hidden
|
|
1182
|
+
*
|
|
1183
|
+
* Fires each time the user clicks the menu icon of the Chip.
|
|
1184
|
+
*/
|
|
1185
|
+
menuToggle = new EventEmitter();
|
|
1186
|
+
/**
|
|
1187
|
+
* Fires each time the user clicks the content of the Chip.
|
|
1188
|
+
*/
|
|
1189
|
+
contentClick = new EventEmitter();
|
|
1190
|
+
tabIndex = 0;
|
|
1191
|
+
hostClass = true;
|
|
1130
1192
|
get hasIconClass() {
|
|
1131
1193
|
return Boolean(this.icon || this.iconClass || (this.avatarSettings && !isObjectEmpty(this.avatarSettings)));
|
|
1132
1194
|
}
|
|
@@ -1139,6 +1201,32 @@ class ChipComponent {
|
|
|
1139
1201
|
get focusedClass() {
|
|
1140
1202
|
return this.focused;
|
|
1141
1203
|
}
|
|
1204
|
+
/**
|
|
1205
|
+
* @hidden
|
|
1206
|
+
*/
|
|
1207
|
+
direction;
|
|
1208
|
+
/**
|
|
1209
|
+
* @hidden
|
|
1210
|
+
*/
|
|
1211
|
+
defaultRemoveIcon = xCircleIcon;
|
|
1212
|
+
/**
|
|
1213
|
+
* @hidden
|
|
1214
|
+
*/
|
|
1215
|
+
defaultMenuIcon = moreVerticalIcon;
|
|
1216
|
+
_size = 'medium';
|
|
1217
|
+
_rounded = 'medium';
|
|
1218
|
+
_fillMode = 'solid';
|
|
1219
|
+
_themeColor = 'base';
|
|
1220
|
+
focused = false;
|
|
1221
|
+
subs = new Subscription();
|
|
1222
|
+
constructor(element, renderer, ngZone, localizationService) {
|
|
1223
|
+
this.element = element;
|
|
1224
|
+
this.renderer = renderer;
|
|
1225
|
+
this.ngZone = ngZone;
|
|
1226
|
+
this.localizationService = localizationService;
|
|
1227
|
+
validatePackage(packageMetadata);
|
|
1228
|
+
this.direction = localizationService.rtl ? 'rtl' : 'ltr';
|
|
1229
|
+
}
|
|
1142
1230
|
ngOnInit() {
|
|
1143
1231
|
this.subs.add(this.localizationService.changes
|
|
1144
1232
|
.subscribe(({ rtl }) => this.direction = rtl ? 'rtl' : 'ltr'));
|
|
@@ -1287,15 +1375,14 @@ class ChipComponent {
|
|
|
1287
1375
|
});
|
|
1288
1376
|
}
|
|
1289
1377
|
}
|
|
1290
|
-
}
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
], usesOnChanges: true, ngImport: i0, template: `
|
|
1378
|
+
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 });
|
|
1379
|
+
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: [
|
|
1380
|
+
LocalizationService,
|
|
1381
|
+
{
|
|
1382
|
+
provide: L10N_PREFIX,
|
|
1383
|
+
useValue: 'kendo.chip'
|
|
1384
|
+
}
|
|
1385
|
+
], usesOnChanges: true, ngImport: i0, template: `
|
|
1299
1386
|
<kendo-icon-wrapper
|
|
1300
1387
|
*ngIf="icon || svgIcon"
|
|
1301
1388
|
size="small"
|
|
@@ -1351,7 +1438,8 @@ ChipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version:
|
|
|
1351
1438
|
</span>
|
|
1352
1439
|
</span>
|
|
1353
1440
|
`, 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"] }] });
|
|
1354
|
-
|
|
1441
|
+
}
|
|
1442
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipComponent, decorators: [{
|
|
1355
1443
|
type: Component,
|
|
1356
1444
|
args: [{
|
|
1357
1445
|
selector: 'kendo-chip',
|
|
@@ -1488,41 +1576,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
1488
1576
|
}] } });
|
|
1489
1577
|
|
|
1490
1578
|
class ChipListComponent {
|
|
1491
|
-
|
|
1492
|
-
|
|
1493
|
-
|
|
1494
|
-
|
|
1495
|
-
|
|
1496
|
-
|
|
1497
|
-
|
|
1498
|
-
|
|
1499
|
-
|
|
1500
|
-
|
|
1501
|
-
|
|
1502
|
-
|
|
1503
|
-
|
|
1504
|
-
|
|
1505
|
-
|
|
1506
|
-
|
|
1507
|
-
|
|
1508
|
-
|
|
1509
|
-
|
|
1510
|
-
this.selectedChange = new EventEmitter();
|
|
1511
|
-
/**
|
|
1512
|
-
* Fires each time the user clicks on the remove icon of the Chip.
|
|
1513
|
-
*/
|
|
1514
|
-
this.remove = new EventEmitter();
|
|
1515
|
-
/**
|
|
1516
|
-
* @hidden
|
|
1517
|
-
*/
|
|
1518
|
-
this.role = 'listbox';
|
|
1519
|
-
this._size = 'medium';
|
|
1520
|
-
this.subs = new Subscription();
|
|
1521
|
-
this._navigable = true;
|
|
1522
|
-
this.currentActiveIndex = 0;
|
|
1523
|
-
validatePackage(packageMetadata);
|
|
1524
|
-
this.direction = localizationService.rtl ? 'rtl' : 'ltr';
|
|
1525
|
-
}
|
|
1579
|
+
localizationService;
|
|
1580
|
+
renderer;
|
|
1581
|
+
element;
|
|
1582
|
+
ngZone;
|
|
1583
|
+
hostClass = true;
|
|
1584
|
+
orientation = 'horizontal';
|
|
1585
|
+
/**
|
|
1586
|
+
* @hidden
|
|
1587
|
+
*/
|
|
1588
|
+
direction;
|
|
1589
|
+
/**
|
|
1590
|
+
* Sets the selection mode of the ChipList.
|
|
1591
|
+
*
|
|
1592
|
+
* The available values are:
|
|
1593
|
+
* * `none` (default)
|
|
1594
|
+
* * `single`
|
|
1595
|
+
* * `multiple`
|
|
1596
|
+
*/
|
|
1597
|
+
selection = 'none';
|
|
1526
1598
|
/**
|
|
1527
1599
|
* The size property specifies the gap between the Chips in the ChipList
|
|
1528
1600
|
* ([see example]({% slug appearance_chiplist %}#toc-size)).
|
|
@@ -1541,12 +1613,29 @@ class ChipListComponent {
|
|
|
1541
1613
|
get size() {
|
|
1542
1614
|
return this._size;
|
|
1543
1615
|
}
|
|
1616
|
+
/**
|
|
1617
|
+
* Fires each time when the ChipList selection is changed.
|
|
1618
|
+
*/
|
|
1619
|
+
selectedChange = new EventEmitter();
|
|
1620
|
+
/**
|
|
1621
|
+
* Fires each time the user clicks on the remove icon of the Chip.
|
|
1622
|
+
*/
|
|
1623
|
+
remove = new EventEmitter();
|
|
1624
|
+
chips;
|
|
1544
1625
|
get single() {
|
|
1545
1626
|
return this.selection === 'single';
|
|
1546
1627
|
}
|
|
1547
1628
|
get multiple() {
|
|
1548
1629
|
return this.selection === 'multiple';
|
|
1549
1630
|
}
|
|
1631
|
+
/**
|
|
1632
|
+
* @hidden
|
|
1633
|
+
*/
|
|
1634
|
+
role = 'listbox';
|
|
1635
|
+
dynamicRTLSubscription;
|
|
1636
|
+
_size = 'medium';
|
|
1637
|
+
subs = new Subscription();
|
|
1638
|
+
_navigable = true;
|
|
1550
1639
|
/**
|
|
1551
1640
|
* @hidden
|
|
1552
1641
|
*/
|
|
@@ -1585,6 +1674,15 @@ class ChipListComponent {
|
|
|
1585
1674
|
get navigable() {
|
|
1586
1675
|
return this._navigable;
|
|
1587
1676
|
}
|
|
1677
|
+
currentActiveIndex = 0;
|
|
1678
|
+
constructor(localizationService, renderer, element, ngZone) {
|
|
1679
|
+
this.localizationService = localizationService;
|
|
1680
|
+
this.renderer = renderer;
|
|
1681
|
+
this.element = element;
|
|
1682
|
+
this.ngZone = ngZone;
|
|
1683
|
+
validatePackage(packageMetadata);
|
|
1684
|
+
this.direction = localizationService.rtl ? 'rtl' : 'ltr';
|
|
1685
|
+
}
|
|
1588
1686
|
ngOnInit() {
|
|
1589
1687
|
this.dynamicRTLSubscription = this.localizationService.changes
|
|
1590
1688
|
.subscribe(({ rtl }) => this.direction = rtl ? 'rtl' : 'ltr');
|
|
@@ -1726,18 +1824,18 @@ class ChipListComponent {
|
|
|
1726
1824
|
this.currentActiveIndex = Math.max(this.chips.length - 1, 0);
|
|
1727
1825
|
}
|
|
1728
1826
|
}
|
|
1729
|
-
}
|
|
1730
|
-
|
|
1731
|
-
|
|
1732
|
-
|
|
1733
|
-
|
|
1734
|
-
|
|
1735
|
-
|
|
1736
|
-
}
|
|
1737
|
-
], queries: [{ propertyName: "chips", predicate: ChipComponent }], ngImport: i0, template: `
|
|
1827
|
+
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 });
|
|
1828
|
+
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: [
|
|
1829
|
+
LocalizationService,
|
|
1830
|
+
{
|
|
1831
|
+
provide: L10N_PREFIX,
|
|
1832
|
+
useValue: 'kendo.chiplist'
|
|
1833
|
+
}
|
|
1834
|
+
], queries: [{ propertyName: "chips", predicate: ChipComponent }], ngImport: i0, template: `
|
|
1738
1835
|
<ng-content></ng-content>
|
|
1739
1836
|
`, isInline: true });
|
|
1740
|
-
|
|
1837
|
+
}
|
|
1838
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipListComponent, decorators: [{
|
|
1741
1839
|
type: Component,
|
|
1742
1840
|
args: [{
|
|
1743
1841
|
selector: 'kendo-chiplist, kendo-chip-list',
|
|
@@ -1843,13 +1941,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
1843
1941
|
* For more examples, refer to the article on the [DropDownButton templates](slug:itemstemplates_dropdownbutton).
|
|
1844
1942
|
*/
|
|
1845
1943
|
class ButtonItemTemplateDirective {
|
|
1944
|
+
templateRef;
|
|
1846
1945
|
constructor(templateRef) {
|
|
1847
1946
|
this.templateRef = templateRef;
|
|
1848
1947
|
}
|
|
1948
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonItemTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
1949
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ButtonItemTemplateDirective, isStandalone: true, selector: "[kendoDropDownButtonItemTemplate],[kendoSplitButtonItemTemplate]", ngImport: i0 });
|
|
1849
1950
|
}
|
|
1850
|
-
|
|
1851
|
-
ButtonItemTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: ButtonItemTemplateDirective, isStandalone: true, selector: "[kendoDropDownButtonItemTemplate],[kendoSplitButtonItemTemplate]", ngImport: i0 });
|
|
1852
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ButtonItemTemplateDirective, decorators: [{
|
|
1951
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonItemTemplateDirective, decorators: [{
|
|
1853
1952
|
type: Directive,
|
|
1854
1953
|
args: [{
|
|
1855
1954
|
selector: '[kendoDropDownButtonItemTemplate],[kendoSplitButtonItemTemplate]',
|
|
@@ -1861,9 +1960,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
1861
1960
|
* @hidden
|
|
1862
1961
|
*/
|
|
1863
1962
|
class FocusService {
|
|
1864
|
-
|
|
1865
|
-
|
|
1866
|
-
}
|
|
1963
|
+
onFocus = new EventEmitter();
|
|
1964
|
+
focusedIndex;
|
|
1867
1965
|
isFocused(index) {
|
|
1868
1966
|
return index === this.focused;
|
|
1869
1967
|
}
|
|
@@ -1884,10 +1982,10 @@ class FocusService {
|
|
|
1884
1982
|
this.focusedIndex = index;
|
|
1885
1983
|
this.onFocus.emit(index);
|
|
1886
1984
|
}
|
|
1985
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FocusService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1986
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FocusService });
|
|
1887
1987
|
}
|
|
1888
|
-
|
|
1889
|
-
FocusService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FocusService });
|
|
1890
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FocusService, decorators: [{
|
|
1988
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FocusService, decorators: [{
|
|
1891
1989
|
type: Injectable
|
|
1892
1990
|
}] });
|
|
1893
1991
|
|
|
@@ -1927,15 +2025,16 @@ const NAVIGATION_CONFIG = new InjectionToken('navigation.config');
|
|
|
1927
2025
|
* @hidden
|
|
1928
2026
|
*/
|
|
1929
2027
|
class NavigationService {
|
|
2028
|
+
navigate = new EventEmitter();
|
|
2029
|
+
open = new EventEmitter();
|
|
2030
|
+
close = new EventEmitter();
|
|
2031
|
+
enter = new EventEmitter();
|
|
2032
|
+
enterpress = new EventEmitter();
|
|
2033
|
+
enterup = new EventEmitter();
|
|
2034
|
+
tab = new EventEmitter();
|
|
2035
|
+
esc = new EventEmitter();
|
|
2036
|
+
useLeftRightArrows;
|
|
1930
2037
|
constructor(config) {
|
|
1931
|
-
this.navigate = new EventEmitter();
|
|
1932
|
-
this.open = new EventEmitter();
|
|
1933
|
-
this.close = new EventEmitter();
|
|
1934
|
-
this.enter = new EventEmitter();
|
|
1935
|
-
this.enterpress = new EventEmitter();
|
|
1936
|
-
this.enterup = new EventEmitter();
|
|
1937
|
-
this.tab = new EventEmitter();
|
|
1938
|
-
this.esc = new EventEmitter();
|
|
1939
2038
|
this.useLeftRightArrows = config.useLeftRightArrows;
|
|
1940
2039
|
}
|
|
1941
2040
|
process(args) {
|
|
@@ -2013,10 +2112,10 @@ class NavigationService {
|
|
|
2013
2112
|
return args.current !== args.end ? args.current + args.step : args.end;
|
|
2014
2113
|
}
|
|
2015
2114
|
}
|
|
2115
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavigationService, deps: [{ token: NAVIGATION_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2116
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavigationService });
|
|
2016
2117
|
}
|
|
2017
|
-
|
|
2018
|
-
NavigationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NavigationService });
|
|
2019
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NavigationService, decorators: [{
|
|
2118
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavigationService, decorators: [{
|
|
2020
2119
|
type: Injectable
|
|
2021
2120
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
2022
2121
|
type: Inject,
|
|
@@ -2027,99 +2126,319 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
2027
2126
|
* @hidden
|
|
2028
2127
|
*/
|
|
2029
2128
|
class PopupContainerService {
|
|
2129
|
+
container;
|
|
2130
|
+
template;
|
|
2131
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopupContainerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2132
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopupContainerService });
|
|
2030
2133
|
}
|
|
2031
|
-
|
|
2032
|
-
PopupContainerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PopupContainerService });
|
|
2033
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PopupContainerService, decorators: [{
|
|
2134
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PopupContainerService, decorators: [{
|
|
2034
2135
|
type: Injectable
|
|
2035
2136
|
}] });
|
|
2036
2137
|
|
|
2037
2138
|
/**
|
|
2038
2139
|
* @hidden
|
|
2039
2140
|
*/
|
|
2040
|
-
class
|
|
2041
|
-
|
|
2042
|
-
|
|
2043
|
-
|
|
2044
|
-
|
|
2045
|
-
|
|
2046
|
-
|
|
2047
|
-
this.popupService = popupService;
|
|
2048
|
-
this.elRef = elRef;
|
|
2049
|
-
this.cdr = cdr;
|
|
2050
|
-
this.containerService = containerService;
|
|
2051
|
-
this._open = false;
|
|
2052
|
-
this._disabled = false;
|
|
2053
|
-
this._active = false;
|
|
2054
|
-
this._popupSettings = { animate: true, popupClass: '' };
|
|
2055
|
-
this.listId = guid();
|
|
2056
|
-
this._isFocused = false;
|
|
2057
|
-
this.subs = new Subscription();
|
|
2058
|
-
this.popupSubs = new Subscription();
|
|
2059
|
-
/**
|
|
2060
|
-
* Specifies the [`tabIndex`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of the component.
|
|
2061
|
-
*/
|
|
2062
|
-
this.tabIndex = 0;
|
|
2063
|
-
/**
|
|
2064
|
-
* Fires each time the popup is about to open.
|
|
2065
|
-
* This event is preventable. If you cancel the event, the popup will remain closed.
|
|
2066
|
-
*/
|
|
2067
|
-
this.open = new EventEmitter();
|
|
2068
|
-
/**
|
|
2069
|
-
* Fires each time the popup is about to close.
|
|
2070
|
-
* This event is preventable. If you cancel the event, the popup will remain open.
|
|
2071
|
-
*/
|
|
2072
|
-
this.close = new EventEmitter();
|
|
2073
|
-
/**
|
|
2074
|
-
* Needed by the kendoToggleButtonTabStop directive
|
|
2075
|
-
*
|
|
2076
|
-
* @hidden
|
|
2077
|
-
*/
|
|
2078
|
-
this.escape = new EventEmitter();
|
|
2079
|
-
this.isClosePrevented = false;
|
|
2080
|
-
validatePackage(packageMetadata);
|
|
2141
|
+
class FocusableDirective {
|
|
2142
|
+
focusService;
|
|
2143
|
+
renderer;
|
|
2144
|
+
index;
|
|
2145
|
+
element;
|
|
2146
|
+
subs = new Subscription();
|
|
2147
|
+
constructor(focusService, elementRef, renderer) {
|
|
2081
2148
|
this.focusService = focusService;
|
|
2082
|
-
this.
|
|
2083
|
-
this.
|
|
2084
|
-
this.subs.add(localization.changes.subscribe(({ rtl }) => (this.direction = rtl ? 'rtl' : 'ltr')));
|
|
2149
|
+
this.renderer = renderer;
|
|
2150
|
+
this.element = elementRef.nativeElement;
|
|
2085
2151
|
this.subscribeEvents();
|
|
2086
2152
|
}
|
|
2087
|
-
|
|
2088
|
-
|
|
2089
|
-
|
|
2090
|
-
|
|
2091
|
-
|
|
2092
|
-
this.
|
|
2153
|
+
ngOnInit() {
|
|
2154
|
+
if (this.index === this.focusService.focused) {
|
|
2155
|
+
this.renderer.addClass(this.element, 'k-focus');
|
|
2156
|
+
}
|
|
2157
|
+
else {
|
|
2158
|
+
this.renderer.removeClass(this.element, 'k-focus');
|
|
2093
2159
|
}
|
|
2094
|
-
this._disabled = value;
|
|
2095
|
-
}
|
|
2096
|
-
get disabled() {
|
|
2097
|
-
return this._disabled;
|
|
2098
2160
|
}
|
|
2099
2161
|
/**
|
|
2100
2162
|
* @hidden
|
|
2101
2163
|
*/
|
|
2102
|
-
|
|
2103
|
-
|
|
2164
|
+
ngOnDestroy() {
|
|
2165
|
+
this.subs.unsubscribe();
|
|
2104
2166
|
}
|
|
2105
|
-
|
|
2106
|
-
|
|
2107
|
-
|
|
2108
|
-
return undefined;
|
|
2167
|
+
subscribeEvents() {
|
|
2168
|
+
if (!isDocumentAvailable()) {
|
|
2169
|
+
return;
|
|
2109
2170
|
}
|
|
2110
|
-
|
|
2111
|
-
|
|
2112
|
-
|
|
2113
|
-
|
|
2114
|
-
|
|
2115
|
-
|
|
2116
|
-
|
|
2117
|
-
|
|
2118
|
-
|
|
2119
|
-
|
|
2120
|
-
|
|
2121
|
-
|
|
2122
|
-
|
|
2171
|
+
this.subs.add(this.focusService.onFocus.subscribe((index) => {
|
|
2172
|
+
if (this.index === index) {
|
|
2173
|
+
this.renderer.addClass(this.element, 'k-focus');
|
|
2174
|
+
this.renderer.setAttribute(this.element, 'tabindex', '0');
|
|
2175
|
+
this.element.focus();
|
|
2176
|
+
}
|
|
2177
|
+
else {
|
|
2178
|
+
this.renderer.setAttribute(this.element, 'tabindex', '-1');
|
|
2179
|
+
this.renderer.removeClass(this.element, 'k-focus');
|
|
2180
|
+
}
|
|
2181
|
+
}));
|
|
2182
|
+
}
|
|
2183
|
+
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 });
|
|
2184
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: FocusableDirective, isStandalone: true, selector: "[kendoButtonFocusable]", inputs: { index: "index" }, ngImport: i0 });
|
|
2185
|
+
}
|
|
2186
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FocusableDirective, decorators: [{
|
|
2187
|
+
type: Directive,
|
|
2188
|
+
args: [{
|
|
2189
|
+
selector: '[kendoButtonFocusable]',
|
|
2190
|
+
standalone: true
|
|
2191
|
+
}]
|
|
2192
|
+
}], ctorParameters: function () { return [{ type: FocusService }, { type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { index: [{
|
|
2193
|
+
type: Input
|
|
2194
|
+
}] } });
|
|
2195
|
+
|
|
2196
|
+
/**
|
|
2197
|
+
* @hidden
|
|
2198
|
+
*/
|
|
2199
|
+
class ListComponent {
|
|
2200
|
+
data;
|
|
2201
|
+
textField;
|
|
2202
|
+
itemTemplate;
|
|
2203
|
+
onItemClick = new EventEmitter();
|
|
2204
|
+
onItemBlur = new EventEmitter();
|
|
2205
|
+
set size(size) {
|
|
2206
|
+
if (size) {
|
|
2207
|
+
this.sizeClass = `k-menu-group-${SIZES[size]}`;
|
|
2208
|
+
}
|
|
2209
|
+
else {
|
|
2210
|
+
this.sizeClass = '';
|
|
2211
|
+
}
|
|
2212
|
+
}
|
|
2213
|
+
sizeClass = '';
|
|
2214
|
+
constructor() {
|
|
2215
|
+
validatePackage(packageMetadata);
|
|
2216
|
+
}
|
|
2217
|
+
getText(dataItem) {
|
|
2218
|
+
if (dataItem) {
|
|
2219
|
+
return this.textField ? dataItem[this.textField] : dataItem.text || dataItem;
|
|
2220
|
+
}
|
|
2221
|
+
return undefined;
|
|
2222
|
+
}
|
|
2223
|
+
getIconClasses(dataItem) {
|
|
2224
|
+
const icon = dataItem.icon ? 'k-icon k-i-' + dataItem.icon : undefined;
|
|
2225
|
+
const classes = {};
|
|
2226
|
+
classes[icon || dataItem.iconClass] = true;
|
|
2227
|
+
return classes;
|
|
2228
|
+
}
|
|
2229
|
+
onClick(index) {
|
|
2230
|
+
this.onItemClick.emit(index);
|
|
2231
|
+
}
|
|
2232
|
+
onBlur() {
|
|
2233
|
+
this.onItemBlur.emit();
|
|
2234
|
+
}
|
|
2235
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2236
|
+
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: `
|
|
2237
|
+
<ul class="k-group k-menu-group k-reset" role="list" [ngClass]="sizeClass">
|
|
2238
|
+
<li kendoButtonFocusable
|
|
2239
|
+
*ngFor="let dataItem of data; let index = index;"
|
|
2240
|
+
[index]="index"
|
|
2241
|
+
tabindex="-1"
|
|
2242
|
+
class="k-item k-menu-item"
|
|
2243
|
+
role="listitem"
|
|
2244
|
+
[attr.aria-disabled]="dataItem.disabled ? true : false"
|
|
2245
|
+
(click)="$event.stopImmediatePropagation(); onClick(index);"
|
|
2246
|
+
(blur)="onBlur()">
|
|
2247
|
+
<ng-template [ngIf]="itemTemplate?.templateRef">
|
|
2248
|
+
<span
|
|
2249
|
+
class="k-link k-menu-link"
|
|
2250
|
+
[class.k-disabled]="dataItem.disabled"
|
|
2251
|
+
[ngClass]="dataItem.cssClass">
|
|
2252
|
+
<ng-template
|
|
2253
|
+
[templateContext]="{ templateRef: itemTemplate?.templateRef, $implicit: dataItem }"
|
|
2254
|
+
></ng-template>
|
|
2255
|
+
</span>
|
|
2256
|
+
</ng-template>
|
|
2257
|
+
<ng-template [ngIf]="!itemTemplate?.templateRef">
|
|
2258
|
+
<span
|
|
2259
|
+
class="k-link k-menu-link"
|
|
2260
|
+
[class.k-disabled]="dataItem.disabled"
|
|
2261
|
+
[ngClass]="dataItem.cssClass">
|
|
2262
|
+
<kendo-icon-wrapper
|
|
2263
|
+
*ngIf="dataItem.icon || dataItem.iconClass || dataItem.svgIcon"
|
|
2264
|
+
[name]="dataItem.icon"
|
|
2265
|
+
[svgIcon]="dataItem.svgIcon"
|
|
2266
|
+
[customFontClass]="dataItem.iconClass"
|
|
2267
|
+
></kendo-icon-wrapper>
|
|
2268
|
+
<img
|
|
2269
|
+
*ngIf="dataItem.imageUrl"
|
|
2270
|
+
class="k-image"
|
|
2271
|
+
[src]="dataItem.imageUrl"
|
|
2272
|
+
[alt]="dataItem.imageAlt"
|
|
2273
|
+
>
|
|
2274
|
+
<span *ngIf="getText(dataItem)" class="k-menu-link-text">
|
|
2275
|
+
{{ getText(dataItem) }}
|
|
2276
|
+
</span>
|
|
2277
|
+
</span>
|
|
2278
|
+
</ng-template>
|
|
2279
|
+
</li>
|
|
2280
|
+
</ul>
|
|
2281
|
+
`, 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"] }] });
|
|
2282
|
+
}
|
|
2283
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ListComponent, decorators: [{
|
|
2284
|
+
type: Component,
|
|
2285
|
+
args: [{
|
|
2286
|
+
selector: 'kendo-button-list',
|
|
2287
|
+
template: `
|
|
2288
|
+
<ul class="k-group k-menu-group k-reset" role="list" [ngClass]="sizeClass">
|
|
2289
|
+
<li kendoButtonFocusable
|
|
2290
|
+
*ngFor="let dataItem of data; let index = index;"
|
|
2291
|
+
[index]="index"
|
|
2292
|
+
tabindex="-1"
|
|
2293
|
+
class="k-item k-menu-item"
|
|
2294
|
+
role="listitem"
|
|
2295
|
+
[attr.aria-disabled]="dataItem.disabled ? true : false"
|
|
2296
|
+
(click)="$event.stopImmediatePropagation(); onClick(index);"
|
|
2297
|
+
(blur)="onBlur()">
|
|
2298
|
+
<ng-template [ngIf]="itemTemplate?.templateRef">
|
|
2299
|
+
<span
|
|
2300
|
+
class="k-link k-menu-link"
|
|
2301
|
+
[class.k-disabled]="dataItem.disabled"
|
|
2302
|
+
[ngClass]="dataItem.cssClass">
|
|
2303
|
+
<ng-template
|
|
2304
|
+
[templateContext]="{ templateRef: itemTemplate?.templateRef, $implicit: dataItem }"
|
|
2305
|
+
></ng-template>
|
|
2306
|
+
</span>
|
|
2307
|
+
</ng-template>
|
|
2308
|
+
<ng-template [ngIf]="!itemTemplate?.templateRef">
|
|
2309
|
+
<span
|
|
2310
|
+
class="k-link k-menu-link"
|
|
2311
|
+
[class.k-disabled]="dataItem.disabled"
|
|
2312
|
+
[ngClass]="dataItem.cssClass">
|
|
2313
|
+
<kendo-icon-wrapper
|
|
2314
|
+
*ngIf="dataItem.icon || dataItem.iconClass || dataItem.svgIcon"
|
|
2315
|
+
[name]="dataItem.icon"
|
|
2316
|
+
[svgIcon]="dataItem.svgIcon"
|
|
2317
|
+
[customFontClass]="dataItem.iconClass"
|
|
2318
|
+
></kendo-icon-wrapper>
|
|
2319
|
+
<img
|
|
2320
|
+
*ngIf="dataItem.imageUrl"
|
|
2321
|
+
class="k-image"
|
|
2322
|
+
[src]="dataItem.imageUrl"
|
|
2323
|
+
[alt]="dataItem.imageAlt"
|
|
2324
|
+
>
|
|
2325
|
+
<span *ngIf="getText(dataItem)" class="k-menu-link-text">
|
|
2326
|
+
{{ getText(dataItem) }}
|
|
2327
|
+
</span>
|
|
2328
|
+
</span>
|
|
2329
|
+
</ng-template>
|
|
2330
|
+
</li>
|
|
2331
|
+
</ul>
|
|
2332
|
+
`,
|
|
2333
|
+
standalone: true,
|
|
2334
|
+
imports: [NgClass, NgFor, FocusableDirective, NgIf, TemplateContextDirective, IconWrapperComponent]
|
|
2335
|
+
}]
|
|
2336
|
+
}], ctorParameters: function () { return []; }, propDecorators: { data: [{
|
|
2337
|
+
type: Input
|
|
2338
|
+
}], textField: [{
|
|
2339
|
+
type: Input
|
|
2340
|
+
}], itemTemplate: [{
|
|
2341
|
+
type: Input
|
|
2342
|
+
}], onItemClick: [{
|
|
2343
|
+
type: Output
|
|
2344
|
+
}], onItemBlur: [{
|
|
2345
|
+
type: Output
|
|
2346
|
+
}], size: [{
|
|
2347
|
+
type: Input
|
|
2348
|
+
}] } });
|
|
2349
|
+
|
|
2350
|
+
/**
|
|
2351
|
+
* @hidden
|
|
2352
|
+
*/
|
|
2353
|
+
class ListButton extends MultiTabStop {
|
|
2354
|
+
focusService;
|
|
2355
|
+
navigationService;
|
|
2356
|
+
wrapperRef;
|
|
2357
|
+
_zone;
|
|
2358
|
+
popupService;
|
|
2359
|
+
elRef;
|
|
2360
|
+
cdr;
|
|
2361
|
+
containerService;
|
|
2362
|
+
listId = guid();
|
|
2363
|
+
buttonId = guid();
|
|
2364
|
+
_data;
|
|
2365
|
+
_open = false;
|
|
2366
|
+
_disabled = false;
|
|
2367
|
+
_active = false;
|
|
2368
|
+
_popupSettings = { animate: true, popupClass: '' };
|
|
2369
|
+
_isFocused = false;
|
|
2370
|
+
_itemClick;
|
|
2371
|
+
_blur;
|
|
2372
|
+
wrapper;
|
|
2373
|
+
subs = new Subscription();
|
|
2374
|
+
direction;
|
|
2375
|
+
popupRef;
|
|
2376
|
+
popupSubs = new Subscription();
|
|
2377
|
+
button;
|
|
2378
|
+
buttonList;
|
|
2379
|
+
popupTemplate;
|
|
2380
|
+
container;
|
|
2381
|
+
/**
|
|
2382
|
+
* Sets the disabled state of the DropDownButton.
|
|
2383
|
+
*/
|
|
2384
|
+
set disabled(value) {
|
|
2385
|
+
if (value && this.openState) {
|
|
2386
|
+
this.openState = false;
|
|
2387
|
+
}
|
|
2388
|
+
this._disabled = value;
|
|
2389
|
+
}
|
|
2390
|
+
get disabled() {
|
|
2391
|
+
return this._disabled;
|
|
2392
|
+
}
|
|
2393
|
+
/**
|
|
2394
|
+
* Specifies the [`tabIndex`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of the component.
|
|
2395
|
+
*/
|
|
2396
|
+
tabIndex = 0;
|
|
2397
|
+
/**
|
|
2398
|
+
* The CSS classes that will be rendered on the main button.
|
|
2399
|
+
* Supports the type of values that are supported by [`ngClass`](link:site.data.urls.angular['ngclassapi']).
|
|
2400
|
+
*/
|
|
2401
|
+
buttonClass;
|
|
2402
|
+
/**
|
|
2403
|
+
* Fires each time the popup is about to open.
|
|
2404
|
+
* This event is preventable. If you cancel the event, the popup will remain closed.
|
|
2405
|
+
*/
|
|
2406
|
+
open = new EventEmitter();
|
|
2407
|
+
/**
|
|
2408
|
+
* Fires each time the popup is about to close.
|
|
2409
|
+
* This event is preventable. If you cancel the event, the popup will remain open.
|
|
2410
|
+
*/
|
|
2411
|
+
close = new EventEmitter();
|
|
2412
|
+
/**
|
|
2413
|
+
* Needed by the kendoToggleButtonTabStop directive
|
|
2414
|
+
*
|
|
2415
|
+
* @hidden
|
|
2416
|
+
*/
|
|
2417
|
+
escape = new EventEmitter();
|
|
2418
|
+
/**
|
|
2419
|
+
* @hidden
|
|
2420
|
+
*/
|
|
2421
|
+
get componentTabIndex() {
|
|
2422
|
+
return this.disabled ? (-1) : this.tabIndex;
|
|
2423
|
+
}
|
|
2424
|
+
get appendTo() {
|
|
2425
|
+
const { appendTo } = this.popupSettings;
|
|
2426
|
+
if (!appendTo || appendTo === 'root') {
|
|
2427
|
+
return undefined;
|
|
2428
|
+
}
|
|
2429
|
+
return appendTo === 'component' ? this.containerService.container : appendTo;
|
|
2430
|
+
}
|
|
2431
|
+
/**
|
|
2432
|
+
* Configures the popup of the DropDownButton.
|
|
2433
|
+
*
|
|
2434
|
+
* The available options are:
|
|
2435
|
+
* - `animate: Boolean`—Controls the popup animation. By default, the open and close animations are enabled.
|
|
2436
|
+
* - `popupClass: String`—Specifies a list of CSS classes that are used to style the popup.
|
|
2437
|
+
* - `appendTo: "root" | "component" | ViewContainerRef`—Specifies the component to which the popup will be appended.
|
|
2438
|
+
* - `align: "left" | "center" | "right"`—Specifies the alignment of the popup.
|
|
2439
|
+
*/
|
|
2440
|
+
set popupSettings(settings) {
|
|
2441
|
+
this._popupSettings = Object.assign({ animate: true, popupClass: '' }, settings);
|
|
2123
2442
|
}
|
|
2124
2443
|
get popupSettings() {
|
|
2125
2444
|
return this._popupSettings;
|
|
@@ -2144,6 +2463,24 @@ class ListButton extends MultiTabStop {
|
|
|
2144
2463
|
}
|
|
2145
2464
|
return align;
|
|
2146
2465
|
}
|
|
2466
|
+
isClosePrevented = false;
|
|
2467
|
+
constructor(focusService, navigationService, wrapperRef, _zone, popupService, elRef, localization, cdr, containerService) {
|
|
2468
|
+
super();
|
|
2469
|
+
this.focusService = focusService;
|
|
2470
|
+
this.navigationService = navigationService;
|
|
2471
|
+
this.wrapperRef = wrapperRef;
|
|
2472
|
+
this._zone = _zone;
|
|
2473
|
+
this.popupService = popupService;
|
|
2474
|
+
this.elRef = elRef;
|
|
2475
|
+
this.cdr = cdr;
|
|
2476
|
+
this.containerService = containerService;
|
|
2477
|
+
validatePackage(packageMetadata);
|
|
2478
|
+
this.focusService = focusService;
|
|
2479
|
+
this.navigationService = navigationService;
|
|
2480
|
+
this.wrapper = wrapperRef.nativeElement;
|
|
2481
|
+
this.subs.add(localization.changes.subscribe(({ rtl }) => (this.direction = rtl ? 'rtl' : 'ltr')));
|
|
2482
|
+
this.subscribeEvents();
|
|
2483
|
+
}
|
|
2147
2484
|
ngOnChanges(changes) {
|
|
2148
2485
|
if (isChanged("popupSettings", changes) && isPresent(this.popupRef)) {
|
|
2149
2486
|
const popup = this.popupRef.popup.instance;
|
|
@@ -2404,15 +2741,27 @@ class ListButton extends MultiTabStop {
|
|
|
2404
2741
|
this.isClosePrevented = false;
|
|
2405
2742
|
}
|
|
2406
2743
|
}
|
|
2744
|
+
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 });
|
|
2745
|
+
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 });
|
|
2407
2746
|
}
|
|
2408
|
-
|
|
2409
|
-
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 });
|
|
2410
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ListButton, decorators: [{
|
|
2747
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ListButton, decorators: [{
|
|
2411
2748
|
type: Component,
|
|
2412
2749
|
args: [{
|
|
2413
2750
|
template: ''
|
|
2414
2751
|
}]
|
|
2415
|
-
}], 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: {
|
|
2752
|
+
}], 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: [{
|
|
2753
|
+
type: ViewChild,
|
|
2754
|
+
args: ['button', { read: ElementRef }]
|
|
2755
|
+
}], buttonList: [{
|
|
2756
|
+
type: ViewChild,
|
|
2757
|
+
args: ['buttonList']
|
|
2758
|
+
}], popupTemplate: [{
|
|
2759
|
+
type: ViewChild,
|
|
2760
|
+
args: ['popupTemplate']
|
|
2761
|
+
}], container: [{
|
|
2762
|
+
type: ViewChild,
|
|
2763
|
+
args: ['container', { read: ViewContainerRef }]
|
|
2764
|
+
}], disabled: [{
|
|
2416
2765
|
type: Input
|
|
2417
2766
|
}], tabIndex: [{
|
|
2418
2767
|
type: Input
|
|
@@ -2428,211 +2777,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
2428
2777
|
type: Input
|
|
2429
2778
|
}] } });
|
|
2430
2779
|
|
|
2431
|
-
/**
|
|
2432
|
-
* @hidden
|
|
2433
|
-
*/
|
|
2434
|
-
class FocusableDirective {
|
|
2435
|
-
constructor(focusService, elementRef, renderer) {
|
|
2436
|
-
this.focusService = focusService;
|
|
2437
|
-
this.renderer = renderer;
|
|
2438
|
-
this.subs = new Subscription();
|
|
2439
|
-
this.element = elementRef.nativeElement;
|
|
2440
|
-
this.subscribeEvents();
|
|
2441
|
-
}
|
|
2442
|
-
ngOnInit() {
|
|
2443
|
-
if (this.index === this.focusService.focused) {
|
|
2444
|
-
this.renderer.addClass(this.element, 'k-focus');
|
|
2445
|
-
}
|
|
2446
|
-
else {
|
|
2447
|
-
this.renderer.removeClass(this.element, 'k-focus');
|
|
2448
|
-
}
|
|
2449
|
-
}
|
|
2450
|
-
/**
|
|
2451
|
-
* @hidden
|
|
2452
|
-
*/
|
|
2453
|
-
ngOnDestroy() {
|
|
2454
|
-
this.subs.unsubscribe();
|
|
2455
|
-
}
|
|
2456
|
-
subscribeEvents() {
|
|
2457
|
-
if (!isDocumentAvailable()) {
|
|
2458
|
-
return;
|
|
2459
|
-
}
|
|
2460
|
-
this.subs.add(this.focusService.onFocus.subscribe((index) => {
|
|
2461
|
-
if (this.index === index) {
|
|
2462
|
-
this.renderer.addClass(this.element, 'k-focus');
|
|
2463
|
-
this.renderer.setAttribute(this.element, 'tabindex', '0');
|
|
2464
|
-
this.element.focus();
|
|
2465
|
-
}
|
|
2466
|
-
else {
|
|
2467
|
-
this.renderer.setAttribute(this.element, 'tabindex', '-1');
|
|
2468
|
-
this.renderer.removeClass(this.element, 'k-focus');
|
|
2469
|
-
}
|
|
2470
|
-
}));
|
|
2471
|
-
}
|
|
2472
|
-
}
|
|
2473
|
-
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 });
|
|
2474
|
-
FocusableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: FocusableDirective, isStandalone: true, selector: "[kendoButtonFocusable]", inputs: { index: "index" }, ngImport: i0 });
|
|
2475
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FocusableDirective, decorators: [{
|
|
2476
|
-
type: Directive,
|
|
2477
|
-
args: [{
|
|
2478
|
-
selector: '[kendoButtonFocusable]',
|
|
2479
|
-
standalone: true
|
|
2480
|
-
}]
|
|
2481
|
-
}], ctorParameters: function () { return [{ type: FocusService }, { type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { index: [{
|
|
2482
|
-
type: Input
|
|
2483
|
-
}] } });
|
|
2484
|
-
|
|
2485
|
-
/**
|
|
2486
|
-
* @hidden
|
|
2487
|
-
*/
|
|
2488
|
-
class ListComponent {
|
|
2489
|
-
constructor() {
|
|
2490
|
-
this.onItemClick = new EventEmitter();
|
|
2491
|
-
this.onItemBlur = new EventEmitter();
|
|
2492
|
-
this.sizeClass = '';
|
|
2493
|
-
validatePackage(packageMetadata);
|
|
2494
|
-
}
|
|
2495
|
-
set size(size) {
|
|
2496
|
-
if (size) {
|
|
2497
|
-
this.sizeClass = `k-menu-group-${SIZES[size]}`;
|
|
2498
|
-
}
|
|
2499
|
-
else {
|
|
2500
|
-
this.sizeClass = '';
|
|
2501
|
-
}
|
|
2502
|
-
}
|
|
2503
|
-
getText(dataItem) {
|
|
2504
|
-
if (dataItem) {
|
|
2505
|
-
return this.textField ? dataItem[this.textField] : dataItem.text || dataItem;
|
|
2506
|
-
}
|
|
2507
|
-
return undefined;
|
|
2508
|
-
}
|
|
2509
|
-
getIconClasses(dataItem) {
|
|
2510
|
-
const icon = dataItem.icon ? 'k-icon k-i-' + dataItem.icon : undefined;
|
|
2511
|
-
const classes = {};
|
|
2512
|
-
classes[icon || dataItem.iconClass] = true;
|
|
2513
|
-
return classes;
|
|
2514
|
-
}
|
|
2515
|
-
onClick(index) {
|
|
2516
|
-
this.onItemClick.emit(index);
|
|
2517
|
-
}
|
|
2518
|
-
onBlur() {
|
|
2519
|
-
this.onItemBlur.emit();
|
|
2520
|
-
}
|
|
2521
|
-
}
|
|
2522
|
-
ListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2523
|
-
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: `
|
|
2524
|
-
<ul class="k-group k-menu-group k-reset" role="list" [ngClass]="sizeClass">
|
|
2525
|
-
<li kendoButtonFocusable
|
|
2526
|
-
*ngFor="let dataItem of data; let index = index;"
|
|
2527
|
-
[index]="index"
|
|
2528
|
-
tabindex="-1"
|
|
2529
|
-
class="k-item k-menu-item"
|
|
2530
|
-
role="listitem"
|
|
2531
|
-
[attr.aria-disabled]="dataItem.disabled ? true : false"
|
|
2532
|
-
(click)="$event.stopImmediatePropagation(); onClick(index);"
|
|
2533
|
-
(blur)="onBlur()">
|
|
2534
|
-
<ng-template [ngIf]="itemTemplate?.templateRef">
|
|
2535
|
-
<span
|
|
2536
|
-
class="k-link k-menu-link"
|
|
2537
|
-
[class.k-disabled]="dataItem.disabled"
|
|
2538
|
-
[ngClass]="dataItem.cssClass">
|
|
2539
|
-
<ng-template
|
|
2540
|
-
[templateContext]="{ templateRef: itemTemplate?.templateRef, $implicit: dataItem }"
|
|
2541
|
-
></ng-template>
|
|
2542
|
-
</span>
|
|
2543
|
-
</ng-template>
|
|
2544
|
-
<ng-template [ngIf]="!itemTemplate?.templateRef">
|
|
2545
|
-
<span
|
|
2546
|
-
class="k-link k-menu-link"
|
|
2547
|
-
[class.k-disabled]="dataItem.disabled"
|
|
2548
|
-
[ngClass]="dataItem.cssClass">
|
|
2549
|
-
<kendo-icon-wrapper
|
|
2550
|
-
*ngIf="dataItem.icon || dataItem.iconClass || dataItem.svgIcon"
|
|
2551
|
-
[name]="dataItem.icon"
|
|
2552
|
-
[svgIcon]="dataItem.svgIcon"
|
|
2553
|
-
[customFontClass]="dataItem.iconClass"
|
|
2554
|
-
></kendo-icon-wrapper>
|
|
2555
|
-
<img
|
|
2556
|
-
*ngIf="dataItem.imageUrl"
|
|
2557
|
-
class="k-image"
|
|
2558
|
-
[src]="dataItem.imageUrl"
|
|
2559
|
-
[alt]="dataItem.imageAlt"
|
|
2560
|
-
>
|
|
2561
|
-
<span *ngIf="getText(dataItem)" class="k-menu-link-text">
|
|
2562
|
-
{{ getText(dataItem) }}
|
|
2563
|
-
</span>
|
|
2564
|
-
</span>
|
|
2565
|
-
</ng-template>
|
|
2566
|
-
</li>
|
|
2567
|
-
</ul>
|
|
2568
|
-
`, 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"] }] });
|
|
2569
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ListComponent, decorators: [{
|
|
2570
|
-
type: Component,
|
|
2571
|
-
args: [{
|
|
2572
|
-
selector: 'kendo-button-list',
|
|
2573
|
-
template: `
|
|
2574
|
-
<ul class="k-group k-menu-group k-reset" role="list" [ngClass]="sizeClass">
|
|
2575
|
-
<li kendoButtonFocusable
|
|
2576
|
-
*ngFor="let dataItem of data; let index = index;"
|
|
2577
|
-
[index]="index"
|
|
2578
|
-
tabindex="-1"
|
|
2579
|
-
class="k-item k-menu-item"
|
|
2580
|
-
role="listitem"
|
|
2581
|
-
[attr.aria-disabled]="dataItem.disabled ? true : false"
|
|
2582
|
-
(click)="$event.stopImmediatePropagation(); onClick(index);"
|
|
2583
|
-
(blur)="onBlur()">
|
|
2584
|
-
<ng-template [ngIf]="itemTemplate?.templateRef">
|
|
2585
|
-
<span
|
|
2586
|
-
class="k-link k-menu-link"
|
|
2587
|
-
[class.k-disabled]="dataItem.disabled"
|
|
2588
|
-
[ngClass]="dataItem.cssClass">
|
|
2589
|
-
<ng-template
|
|
2590
|
-
[templateContext]="{ templateRef: itemTemplate?.templateRef, $implicit: dataItem }"
|
|
2591
|
-
></ng-template>
|
|
2592
|
-
</span>
|
|
2593
|
-
</ng-template>
|
|
2594
|
-
<ng-template [ngIf]="!itemTemplate?.templateRef">
|
|
2595
|
-
<span
|
|
2596
|
-
class="k-link k-menu-link"
|
|
2597
|
-
[class.k-disabled]="dataItem.disabled"
|
|
2598
|
-
[ngClass]="dataItem.cssClass">
|
|
2599
|
-
<kendo-icon-wrapper
|
|
2600
|
-
*ngIf="dataItem.icon || dataItem.iconClass || dataItem.svgIcon"
|
|
2601
|
-
[name]="dataItem.icon"
|
|
2602
|
-
[svgIcon]="dataItem.svgIcon"
|
|
2603
|
-
[customFontClass]="dataItem.iconClass"
|
|
2604
|
-
></kendo-icon-wrapper>
|
|
2605
|
-
<img
|
|
2606
|
-
*ngIf="dataItem.imageUrl"
|
|
2607
|
-
class="k-image"
|
|
2608
|
-
[src]="dataItem.imageUrl"
|
|
2609
|
-
[alt]="dataItem.imageAlt"
|
|
2610
|
-
>
|
|
2611
|
-
<span *ngIf="getText(dataItem)" class="k-menu-link-text">
|
|
2612
|
-
{{ getText(dataItem) }}
|
|
2613
|
-
</span>
|
|
2614
|
-
</span>
|
|
2615
|
-
</ng-template>
|
|
2616
|
-
</li>
|
|
2617
|
-
</ul>
|
|
2618
|
-
`,
|
|
2619
|
-
standalone: true,
|
|
2620
|
-
imports: [NgClass, NgFor, FocusableDirective, NgIf, TemplateContextDirective, IconWrapperComponent]
|
|
2621
|
-
}]
|
|
2622
|
-
}], ctorParameters: function () { return []; }, propDecorators: { data: [{
|
|
2623
|
-
type: Input
|
|
2624
|
-
}], textField: [{
|
|
2625
|
-
type: Input
|
|
2626
|
-
}], itemTemplate: [{
|
|
2627
|
-
type: Input
|
|
2628
|
-
}], onItemClick: [{
|
|
2629
|
-
type: Output
|
|
2630
|
-
}], onItemBlur: [{
|
|
2631
|
-
type: Output
|
|
2632
|
-
}], size: [{
|
|
2633
|
-
type: Input
|
|
2634
|
-
}] } });
|
|
2635
|
-
|
|
2636
2780
|
const NAVIGATION_SETTINGS$2 = {
|
|
2637
2781
|
useLeftRightArrows: true
|
|
2638
2782
|
};
|
|
@@ -2670,100 +2814,68 @@ const DEFAULT_FILL_MODE$1 = 'solid';
|
|
|
2670
2814
|
* ```
|
|
2671
2815
|
*/
|
|
2672
2816
|
class DropDownButtonComponent extends ListButton {
|
|
2673
|
-
|
|
2674
|
-
|
|
2675
|
-
|
|
2676
|
-
|
|
2677
|
-
|
|
2678
|
-
|
|
2679
|
-
|
|
2680
|
-
|
|
2681
|
-
|
|
2682
|
-
|
|
2683
|
-
|
|
2684
|
-
|
|
2685
|
-
|
|
2686
|
-
|
|
2687
|
-
|
|
2688
|
-
|
|
2689
|
-
|
|
2690
|
-
|
|
2691
|
-
|
|
2692
|
-
|
|
2693
|
-
|
|
2694
|
-
|
|
2695
|
-
|
|
2696
|
-
|
|
2697
|
-
|
|
2698
|
-
|
|
2699
|
-
|
|
2700
|
-
|
|
2701
|
-
* * `large`
|
|
2702
|
-
* * `none`
|
|
2703
|
-
*/
|
|
2704
|
-
this.size = 'medium';
|
|
2705
|
-
/**
|
|
2706
|
-
* The rounded property specifies the border radius of the DropDownButton
|
|
2707
|
-
* ([see example]({% slug api_buttons_dropdownbuttoncomponent %}#toc-rounded)).
|
|
2708
|
-
*
|
|
2709
|
-
* The possible values are:
|
|
2710
|
-
* * `small`
|
|
2711
|
-
* * `medium` (default)
|
|
2712
|
-
* * `large`
|
|
2713
|
-
* * `full`
|
|
2714
|
-
* * `none`
|
|
2715
|
-
*/
|
|
2716
|
-
this.rounded = 'medium';
|
|
2717
|
-
/**
|
|
2718
|
-
* The DropDownButton allows you to specify predefined theme colors.
|
|
2719
|
-
* The theme color will be applied as a background and border color while also amending the text color accordingly
|
|
2720
|
-
* ([see example]({% slug api_buttons_dropdownbuttoncomponent %}#toc-themeColor)).
|
|
2721
|
-
*
|
|
2722
|
-
* The possible values are:
|
|
2723
|
-
* * `base` —Applies coloring based on the `base` theme color. (default)
|
|
2724
|
-
* * `primary` —Applies coloring based on the `primary` theme color.
|
|
2725
|
-
* * `secondary`—Applies coloring based on the `secondary` theme color.
|
|
2726
|
-
* * `tertiary`— Applies coloring based on the `tertiary` theme color.
|
|
2727
|
-
* * `info`—Applies coloring based on the `info` theme color.
|
|
2728
|
-
* * `success`— Applies coloring based on the `success` theme color.
|
|
2729
|
-
* * `warning`— Applies coloring based on the `warning` theme color.
|
|
2730
|
-
* * `error`— Applies coloring based on the `error` theme color.
|
|
2731
|
-
* * `dark`— Applies coloring based on the `dark` theme color.
|
|
2732
|
-
* * `light`— Applies coloring based on the `light` theme color.
|
|
2733
|
-
* * `inverse`— Applies coloring based on the `inverse` theme color.
|
|
2734
|
-
* * `none` —Removes the default CSS class (no class would be rendered).
|
|
2735
|
-
*/
|
|
2736
|
-
this.themeColor = 'base';
|
|
2737
|
-
/**
|
|
2738
|
-
* 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.
|
|
2739
|
-
*/
|
|
2740
|
-
this.itemClick = new EventEmitter();
|
|
2741
|
-
/**
|
|
2742
|
-
* Fires each time the DropDownButton gets focused.
|
|
2743
|
-
*/
|
|
2744
|
-
this.onFocus = new EventEmitter();
|
|
2745
|
-
/**
|
|
2746
|
-
* Fires each time the DropDownButton gets blurred.
|
|
2747
|
-
*/
|
|
2748
|
-
this.onBlur = new EventEmitter();
|
|
2749
|
-
this.listId = guid();
|
|
2750
|
-
this.buttonId = guid();
|
|
2751
|
-
this._fillMode = DEFAULT_FILL_MODE$1;
|
|
2752
|
-
this._buttonAttributes = null;
|
|
2753
|
-
this._itemClick = this.itemClick;
|
|
2754
|
-
this._blur = this.onBlur;
|
|
2755
|
-
}
|
|
2817
|
+
containerService;
|
|
2818
|
+
renderer;
|
|
2819
|
+
/**
|
|
2820
|
+
* Allows showing the default arrow icon or providing alternative one instead.
|
|
2821
|
+
* @default false
|
|
2822
|
+
*/
|
|
2823
|
+
arrowIcon = false;
|
|
2824
|
+
/**
|
|
2825
|
+
* Defines the name of an existing icon in the Kendo UI theme.
|
|
2826
|
+
*/
|
|
2827
|
+
icon = '';
|
|
2828
|
+
/**
|
|
2829
|
+
* Defines an [`SVGIcon`](slug:api_icons_svgicon) to be rendered within the button.
|
|
2830
|
+
*/
|
|
2831
|
+
svgIcon;
|
|
2832
|
+
/**
|
|
2833
|
+
* Defines the list of CSS classes which are used for styling the Button with custom icons.
|
|
2834
|
+
*/
|
|
2835
|
+
iconClass = '';
|
|
2836
|
+
/**
|
|
2837
|
+
* Defines a URL for styling the button with a custom image.
|
|
2838
|
+
*/
|
|
2839
|
+
imageUrl = '';
|
|
2840
|
+
/**
|
|
2841
|
+
* Sets the data item field that represents the item text.
|
|
2842
|
+
* If the data contains only primitive values, do not define it.
|
|
2843
|
+
*/
|
|
2844
|
+
textField;
|
|
2756
2845
|
/**
|
|
2757
2846
|
* Sets or gets the data of the DropDownButton.
|
|
2758
2847
|
*
|
|
2759
2848
|
* > The data has to be provided in an array-like list.
|
|
2760
2849
|
*/
|
|
2761
|
-
set data(data) {
|
|
2762
|
-
this._data = data || [];
|
|
2763
|
-
}
|
|
2764
|
-
get data() {
|
|
2765
|
-
return this._data;
|
|
2766
|
-
}
|
|
2850
|
+
set data(data) {
|
|
2851
|
+
this._data = data || [];
|
|
2852
|
+
}
|
|
2853
|
+
get data() {
|
|
2854
|
+
return this._data;
|
|
2855
|
+
}
|
|
2856
|
+
/**
|
|
2857
|
+
* The size property specifies the padding of the DropDownButton
|
|
2858
|
+
* ([see example]({% slug api_buttons_dropdownbuttoncomponent %}#toc-size)).
|
|
2859
|
+
*
|
|
2860
|
+
* The possible values are:
|
|
2861
|
+
* * `small`
|
|
2862
|
+
* * `medium` (default)
|
|
2863
|
+
* * `large`
|
|
2864
|
+
* * `none`
|
|
2865
|
+
*/
|
|
2866
|
+
size = 'medium';
|
|
2867
|
+
/**
|
|
2868
|
+
* The rounded property specifies the border radius of the DropDownButton
|
|
2869
|
+
* ([see example]({% slug api_buttons_dropdownbuttoncomponent %}#toc-rounded)).
|
|
2870
|
+
*
|
|
2871
|
+
* The possible values are:
|
|
2872
|
+
* * `small`
|
|
2873
|
+
* * `medium` (default)
|
|
2874
|
+
* * `large`
|
|
2875
|
+
* * `full`
|
|
2876
|
+
* * `none`
|
|
2877
|
+
*/
|
|
2878
|
+
rounded = 'medium';
|
|
2767
2879
|
/**
|
|
2768
2880
|
* The fillMode property specifies the background and border styles of the DropDownButton
|
|
2769
2881
|
* ([see example]({% slug api_buttons_dropdownbuttoncomponent %}#toc-fillMode)).
|
|
@@ -2781,6 +2893,26 @@ class DropDownButtonComponent extends ListButton {
|
|
|
2781
2893
|
get fillMode() {
|
|
2782
2894
|
return this._fillMode;
|
|
2783
2895
|
}
|
|
2896
|
+
/**
|
|
2897
|
+
* The DropDownButton allows you to specify predefined theme colors.
|
|
2898
|
+
* The theme color will be applied as a background and border color while also amending the text color accordingly
|
|
2899
|
+
* ([see example]({% slug api_buttons_dropdownbuttoncomponent %}#toc-themeColor)).
|
|
2900
|
+
*
|
|
2901
|
+
* The possible values are:
|
|
2902
|
+
* * `base` —Applies coloring based on the `base` theme color. (default)
|
|
2903
|
+
* * `primary` —Applies coloring based on the `primary` theme color.
|
|
2904
|
+
* * `secondary`—Applies coloring based on the `secondary` theme color.
|
|
2905
|
+
* * `tertiary`— Applies coloring based on the `tertiary` theme color.
|
|
2906
|
+
* * `info`—Applies coloring based on the `info` theme color.
|
|
2907
|
+
* * `success`— Applies coloring based on the `success` theme color.
|
|
2908
|
+
* * `warning`— Applies coloring based on the `warning` theme color.
|
|
2909
|
+
* * `error`— Applies coloring based on the `error` theme color.
|
|
2910
|
+
* * `dark`— Applies coloring based on the `dark` theme color.
|
|
2911
|
+
* * `light`— Applies coloring based on the `light` theme color.
|
|
2912
|
+
* * `inverse`— Applies coloring based on the `inverse` theme color.
|
|
2913
|
+
* * `none` —Removes the default CSS class (no class would be rendered).
|
|
2914
|
+
*/
|
|
2915
|
+
themeColor = 'base';
|
|
2784
2916
|
/**
|
|
2785
2917
|
* Sets attributes to the main button.
|
|
2786
2918
|
*/
|
|
@@ -2792,6 +2924,18 @@ class DropDownButtonComponent extends ListButton {
|
|
|
2792
2924
|
get buttonAttributes() {
|
|
2793
2925
|
return this._buttonAttributes;
|
|
2794
2926
|
}
|
|
2927
|
+
/**
|
|
2928
|
+
* 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.
|
|
2929
|
+
*/
|
|
2930
|
+
itemClick = new EventEmitter();
|
|
2931
|
+
/**
|
|
2932
|
+
* Fires each time the DropDownButton gets focused.
|
|
2933
|
+
*/
|
|
2934
|
+
onFocus = new EventEmitter();
|
|
2935
|
+
/**
|
|
2936
|
+
* Fires each time the DropDownButton gets blurred.
|
|
2937
|
+
*/
|
|
2938
|
+
onBlur = new EventEmitter();
|
|
2795
2939
|
get focused() {
|
|
2796
2940
|
return this._isFocused && !this._disabled;
|
|
2797
2941
|
}
|
|
@@ -2804,6 +2948,9 @@ class DropDownButtonComponent extends ListButton {
|
|
|
2804
2948
|
get active() {
|
|
2805
2949
|
return this._active;
|
|
2806
2950
|
}
|
|
2951
|
+
itemTemplate;
|
|
2952
|
+
_fillMode = DEFAULT_FILL_MODE$1;
|
|
2953
|
+
_buttonAttributes = null;
|
|
2807
2954
|
/**
|
|
2808
2955
|
* @hidden
|
|
2809
2956
|
*/
|
|
@@ -2873,6 +3020,13 @@ class DropDownButtonComponent extends ListButton {
|
|
|
2873
3020
|
this.blurWrapper();
|
|
2874
3021
|
}
|
|
2875
3022
|
}
|
|
3023
|
+
constructor(focusService, navigationService, wrapperRef, zone, popupService, elRef, localization, cdr, containerService, renderer) {
|
|
3024
|
+
super(focusService, navigationService, wrapperRef, zone, popupService, elRef, localization, cdr, containerService);
|
|
3025
|
+
this.containerService = containerService;
|
|
3026
|
+
this.renderer = renderer;
|
|
3027
|
+
this._itemClick = this.itemClick;
|
|
3028
|
+
this._blur = this.onBlur;
|
|
3029
|
+
}
|
|
2876
3030
|
ngAfterViewInit() {
|
|
2877
3031
|
this.containerService.container = this.container;
|
|
2878
3032
|
this.containerService.template = this.popupTemplate;
|
|
@@ -2918,19 +3072,18 @@ class DropDownButtonComponent extends ListButton {
|
|
|
2918
3072
|
}
|
|
2919
3073
|
}
|
|
2920
3074
|
}
|
|
2921
|
-
}
|
|
2922
|
-
|
|
2923
|
-
|
|
2924
|
-
|
|
2925
|
-
|
|
2926
|
-
|
|
2927
|
-
|
|
2928
|
-
|
|
2929
|
-
|
|
2930
|
-
|
|
2931
|
-
|
|
2932
|
-
|
|
2933
|
-
], queries: [{ propertyName: "itemTemplate", first: true, predicate: ButtonItemTemplateDirective, descendants: true }], 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 }], exportAs: ["kendoDropDownButton"], usesInheritance: true, ngImport: i0, template: `
|
|
3075
|
+
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 });
|
|
3076
|
+
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: [
|
|
3077
|
+
FocusService,
|
|
3078
|
+
NavigationService,
|
|
3079
|
+
NAVIGATION_SETTINGS_PROVIDER$2,
|
|
3080
|
+
LocalizationService,
|
|
3081
|
+
{
|
|
3082
|
+
provide: L10N_PREFIX,
|
|
3083
|
+
useValue: 'kendo.dropdownbutton'
|
|
3084
|
+
},
|
|
3085
|
+
PopupContainerService
|
|
3086
|
+
], queries: [{ propertyName: "itemTemplate", first: true, predicate: ButtonItemTemplateDirective, descendants: true }], exportAs: ["kendoDropDownButton"], usesInheritance: true, ngImport: i0, template: `
|
|
2934
3087
|
<button kendoButton #button
|
|
2935
3088
|
type="button"
|
|
2936
3089
|
[id]="buttonId"
|
|
@@ -2975,7 +3128,8 @@ DropDownButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
|
|
|
2975
3128
|
</ng-template>
|
|
2976
3129
|
<ng-container #container></ng-container>
|
|
2977
3130
|
`, 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"] }] });
|
|
2978
|
-
|
|
3131
|
+
}
|
|
3132
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropDownButtonComponent, decorators: [{
|
|
2979
3133
|
type: Component,
|
|
2980
3134
|
args: [{
|
|
2981
3135
|
exportAs: 'kendoDropDownButton',
|
|
@@ -3080,18 +3234,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
3080
3234
|
}], itemTemplate: [{
|
|
3081
3235
|
type: ContentChild,
|
|
3082
3236
|
args: [ButtonItemTemplateDirective]
|
|
3083
|
-
}], button: [{
|
|
3084
|
-
type: ViewChild,
|
|
3085
|
-
args: ['button', { read: ElementRef }]
|
|
3086
|
-
}], buttonList: [{
|
|
3087
|
-
type: ViewChild,
|
|
3088
|
-
args: ['buttonList']
|
|
3089
|
-
}], popupTemplate: [{
|
|
3090
|
-
type: ViewChild,
|
|
3091
|
-
args: ['popupTemplate']
|
|
3092
|
-
}], container: [{
|
|
3093
|
-
type: ViewChild,
|
|
3094
|
-
args: ['container', { read: ViewContainerRef }]
|
|
3095
3237
|
}], keydown: [{
|
|
3096
3238
|
type: HostListener,
|
|
3097
3239
|
args: ['keydown', ['$event']]
|
|
@@ -3177,13 +3319,14 @@ function closeAnimation(animationSettings) {
|
|
|
3177
3319
|
* ([see example]({% slug templates_floatingactionbutton %}#toc-dial-item-template)).
|
|
3178
3320
|
*/
|
|
3179
3321
|
class DialItemTemplateDirective {
|
|
3322
|
+
templateRef;
|
|
3180
3323
|
constructor(templateRef) {
|
|
3181
3324
|
this.templateRef = templateRef;
|
|
3182
3325
|
}
|
|
3326
|
+
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 });
|
|
3327
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DialItemTemplateDirective, isStandalone: true, selector: "[kendoDialItemTemplate]", ngImport: i0 });
|
|
3183
3328
|
}
|
|
3184
|
-
|
|
3185
|
-
DialItemTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: DialItemTemplateDirective, isStandalone: true, selector: "[kendoDialItemTemplate]", ngImport: i0 });
|
|
3186
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DialItemTemplateDirective, decorators: [{
|
|
3329
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DialItemTemplateDirective, decorators: [{
|
|
3187
3330
|
type: Directive,
|
|
3188
3331
|
args: [{
|
|
3189
3332
|
selector: '[kendoDialItemTemplate]',
|
|
@@ -3200,13 +3343,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
3200
3343
|
* ([see example]({% slug templates_floatingactionbutton %}#toc-floatingactionbutton-template)).
|
|
3201
3344
|
*/
|
|
3202
3345
|
class FloatingActionButtonTemplateDirective {
|
|
3346
|
+
templateRef;
|
|
3203
3347
|
constructor(templateRef) {
|
|
3204
3348
|
this.templateRef = templateRef;
|
|
3205
3349
|
}
|
|
3350
|
+
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 });
|
|
3351
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: FloatingActionButtonTemplateDirective, isStandalone: true, selector: "[kendoFloatingActionButtonTemplate]", ngImport: i0 });
|
|
3206
3352
|
}
|
|
3207
|
-
|
|
3208
|
-
FloatingActionButtonTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: FloatingActionButtonTemplateDirective, isStandalone: true, selector: "[kendoFloatingActionButtonTemplate]", ngImport: i0 });
|
|
3209
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FloatingActionButtonTemplateDirective, decorators: [{
|
|
3353
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FloatingActionButtonTemplateDirective, decorators: [{
|
|
3210
3354
|
type: Directive,
|
|
3211
3355
|
args: [{
|
|
3212
3356
|
selector: '[kendoFloatingActionButtonTemplate]',
|
|
@@ -3220,13 +3364,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
3220
3364
|
* @hidden
|
|
3221
3365
|
*/
|
|
3222
3366
|
class DialItemComponent {
|
|
3223
|
-
|
|
3224
|
-
|
|
3225
|
-
|
|
3226
|
-
|
|
3227
|
-
|
|
3228
|
-
this.role = 'menuitem';
|
|
3229
|
-
}
|
|
3367
|
+
element;
|
|
3368
|
+
renderer;
|
|
3369
|
+
localisationService;
|
|
3370
|
+
hostClass = true;
|
|
3371
|
+
role = 'menuitem';
|
|
3230
3372
|
get disabledClass() {
|
|
3231
3373
|
return this.item.disabled;
|
|
3232
3374
|
}
|
|
@@ -3237,6 +3379,18 @@ class DialItemComponent {
|
|
|
3237
3379
|
get indexAttr() {
|
|
3238
3380
|
return this.index;
|
|
3239
3381
|
}
|
|
3382
|
+
cssClass;
|
|
3383
|
+
cssStyle;
|
|
3384
|
+
isFocused;
|
|
3385
|
+
index;
|
|
3386
|
+
item;
|
|
3387
|
+
dialItemTemplate;
|
|
3388
|
+
align;
|
|
3389
|
+
constructor(element, renderer, localisationService) {
|
|
3390
|
+
this.element = element;
|
|
3391
|
+
this.renderer = renderer;
|
|
3392
|
+
this.localisationService = localisationService;
|
|
3393
|
+
}
|
|
3240
3394
|
get iconClasses() {
|
|
3241
3395
|
const classes = [];
|
|
3242
3396
|
if (this.item.iconClass) {
|
|
@@ -3267,9 +3421,8 @@ class DialItemComponent {
|
|
|
3267
3421
|
};
|
|
3268
3422
|
return directions[dir][align];
|
|
3269
3423
|
}
|
|
3270
|
-
}
|
|
3271
|
-
|
|
3272
|
-
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: `
|
|
3424
|
+
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 });
|
|
3425
|
+
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: `
|
|
3273
3426
|
<ng-template *ngIf="dialItemTemplate"
|
|
3274
3427
|
[ngTemplateOutlet]="dialItemTemplate"
|
|
3275
3428
|
[ngTemplateOutletContext]="{ $implicit: item, index: index, isFocused: isFocused }"
|
|
@@ -3286,7 +3439,8 @@ DialItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
|
|
|
3286
3439
|
[svgIcon]="item.svgIcon"></kendo-icon-wrapper>
|
|
3287
3440
|
</ng-container>
|
|
3288
3441
|
`, 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"] }] });
|
|
3289
|
-
|
|
3442
|
+
}
|
|
3443
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DialItemComponent, decorators: [{
|
|
3290
3444
|
type: Component,
|
|
3291
3445
|
args: [{
|
|
3292
3446
|
// eslint-disable-next-line @angular-eslint/component-selector
|
|
@@ -3352,28 +3506,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
3352
3506
|
* @hidden
|
|
3353
3507
|
*/
|
|
3354
3508
|
class DialListComponent {
|
|
3355
|
-
|
|
3356
|
-
|
|
3357
|
-
|
|
3358
|
-
this.hostClass = true;
|
|
3359
|
-
this.subscriptions = new Subscription();
|
|
3360
|
-
this.subscriptions.add(this.focusService.onFocus.subscribe(() => this.cdr.detectChanges()));
|
|
3361
|
-
}
|
|
3509
|
+
focusService;
|
|
3510
|
+
cdr;
|
|
3511
|
+
hostClass = true;
|
|
3362
3512
|
get bottomClass() {
|
|
3363
3513
|
return this.align.vertical === 'top' || this.align.vertical === 'middle';
|
|
3364
3514
|
}
|
|
3365
3515
|
get topClass() {
|
|
3366
3516
|
return this.align.vertical === 'bottom';
|
|
3367
3517
|
}
|
|
3518
|
+
dialItems;
|
|
3519
|
+
dialItemTemplate;
|
|
3520
|
+
align;
|
|
3521
|
+
subscriptions = new Subscription();
|
|
3522
|
+
constructor(focusService, cdr) {
|
|
3523
|
+
this.focusService = focusService;
|
|
3524
|
+
this.cdr = cdr;
|
|
3525
|
+
this.subscriptions.add(this.focusService.onFocus.subscribe(() => this.cdr.detectChanges()));
|
|
3526
|
+
}
|
|
3368
3527
|
isFocused(index) {
|
|
3369
3528
|
return this.focusService.isFocused(index);
|
|
3370
3529
|
}
|
|
3371
3530
|
ngOnDestroy() {
|
|
3372
3531
|
this.subscriptions.unsubscribe();
|
|
3373
3532
|
}
|
|
3374
|
-
}
|
|
3375
|
-
|
|
3376
|
-
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: `
|
|
3533
|
+
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 });
|
|
3534
|
+
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: `
|
|
3377
3535
|
<ng-container *ngFor='let item of dialItems; let idx = index'>
|
|
3378
3536
|
<li
|
|
3379
3537
|
kendoButtonFocusable
|
|
@@ -3389,7 +3547,8 @@ DialListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
|
|
|
3389
3547
|
</li>
|
|
3390
3548
|
</ng-container>
|
|
3391
3549
|
`, 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"] }] });
|
|
3392
|
-
|
|
3550
|
+
}
|
|
3551
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DialListComponent, decorators: [{
|
|
3393
3552
|
type: Component,
|
|
3394
3553
|
args: [{
|
|
3395
3554
|
// eslint-disable-next-line @angular-eslint/component-selector
|
|
@@ -3462,101 +3621,25 @@ const DEFAULT_THEME_COLOR = 'primary';
|
|
|
3462
3621
|
*
|
|
3463
3622
|
*/
|
|
3464
3623
|
class FloatingActionButtonComponent {
|
|
3465
|
-
|
|
3466
|
-
|
|
3467
|
-
|
|
3468
|
-
|
|
3469
|
-
|
|
3470
|
-
|
|
3471
|
-
|
|
3472
|
-
|
|
3473
|
-
this.localizationService = localizationService;
|
|
3474
|
-
/**
|
|
3475
|
-
* Specifies the positionMode of the FloatingActionButton
|
|
3476
|
-
* ([see example](slug:positioning_floatingactionbutton#toc-position-mode)).
|
|
3477
|
-
*
|
|
3478
|
-
* * The possible values are:
|
|
3479
|
-
* * `absolute`—Positions the FloatingActionButton absolutely to its first positioned parent element.
|
|
3480
|
-
* * `fixed` (Default)—Positions the FloatingActionButton relative to the viewport. It always stays in the same place even if the page is scrolled.
|
|
3481
|
-
*/
|
|
3482
|
-
this.positionMode = 'fixed';
|
|
3483
|
-
/**
|
|
3484
|
-
* Specifies the animation settings of the FloatingActionButton dial items.
|
|
3485
|
-
* ([see example]({% slug dialitems_floatingactionbutton %}#toc-animation)).
|
|
3486
|
-
*
|
|
3487
|
-
* The possible values are:
|
|
3488
|
-
* * Boolean
|
|
3489
|
-
* * (Default) `true`—Applies the default [`DialItemAnimation`]({% slug api_buttons_dialitemanimation %}) settings.
|
|
3490
|
-
* * `false`
|
|
3491
|
-
* * `DialItemAnimation`
|
|
3492
|
-
* * `duration`—Specifies the animation duration in milliseconds for each dial item. Defaults to `180ms`.
|
|
3493
|
-
* * `gap`—Specifies the animation duration gap in milliseconds after each dial item is animated. Defaults to `90ms`.
|
|
3494
|
-
*/
|
|
3495
|
-
this.dialItemAnimation = true;
|
|
3496
|
-
/**
|
|
3497
|
-
* Specifies the [`tabIndex`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of the FloatingActionButton.
|
|
3498
|
-
*/
|
|
3499
|
-
this.tabIndex = 0;
|
|
3500
|
-
/**
|
|
3501
|
-
* Specifies the collection of the dial items that will be rendered in the FloatingActionButton popup.
|
|
3502
|
-
*/
|
|
3503
|
-
this.dialItems = [];
|
|
3504
|
-
/**
|
|
3505
|
-
* Fires each time the FloatingActionButton gets blurred.
|
|
3506
|
-
*/
|
|
3507
|
-
this.onBlur = new EventEmitter();
|
|
3508
|
-
/**
|
|
3509
|
-
* Fires each time the FloatingActionButton gets focused.
|
|
3510
|
-
*/
|
|
3511
|
-
this.onFocus = new EventEmitter();
|
|
3512
|
-
/**
|
|
3513
|
-
* Fires each time a dial item is clicked.
|
|
3514
|
-
*/
|
|
3515
|
-
this.dialItemClick = new EventEmitter();
|
|
3516
|
-
/**
|
|
3517
|
-
* Fires each time the popup is about to open.
|
|
3518
|
-
* This event is preventable. If you cancel the event, the popup will remain closed
|
|
3519
|
-
* ([more information and example](slug:events_floatingactionbutton)).
|
|
3520
|
-
*/
|
|
3521
|
-
this.open = new EventEmitter();
|
|
3522
|
-
/**
|
|
3523
|
-
* Fires each time the popup is about to close.
|
|
3524
|
-
* This event is preventable. If you cancel the event, the popup will remain open
|
|
3525
|
-
* ([more information and example](slug:events_floatingactionbutton)).
|
|
3526
|
-
*/
|
|
3527
|
-
this.close = new EventEmitter();
|
|
3528
|
-
/**
|
|
3529
|
-
* @hidden
|
|
3530
|
-
*/
|
|
3531
|
-
this.id = `k-${guid()}`;
|
|
3532
|
-
/**
|
|
3533
|
-
* @hidden
|
|
3534
|
-
*/
|
|
3535
|
-
this.dialListId = `k-dial-list-${guid()}`;
|
|
3536
|
-
this._themeColor = DEFAULT_THEME_COLOR;
|
|
3537
|
-
this._size = DEFAULT_SIZE;
|
|
3538
|
-
this._rounded = DEFAULT_ROUNDED$1;
|
|
3539
|
-
this._disabled = false;
|
|
3540
|
-
this._align = { horizontal: 'end', vertical: 'bottom' };
|
|
3541
|
-
this._offset = { x: DEFAULT_OFFSET, y: DEFAULT_OFFSET };
|
|
3542
|
-
this.subscriptions = new Subscription();
|
|
3543
|
-
this.rtl = false;
|
|
3544
|
-
this.animationEnd = new EventEmitter();
|
|
3545
|
-
this.initialSetup = true;
|
|
3546
|
-
this.focusChangedProgrammatically = false;
|
|
3547
|
-
validatePackage(packageMetadata);
|
|
3548
|
-
this.subscribeNavigationEvents();
|
|
3549
|
-
this.subscriptions.add(this.localizationService.changes.subscribe(({ rtl }) => {
|
|
3550
|
-
this.rtl = rtl;
|
|
3551
|
-
this.direction = this.rtl ? 'rtl' : 'ltr';
|
|
3552
|
-
}));
|
|
3553
|
-
}
|
|
3624
|
+
renderer;
|
|
3625
|
+
element;
|
|
3626
|
+
focusService;
|
|
3627
|
+
navigationService;
|
|
3628
|
+
ngZone;
|
|
3629
|
+
popupService;
|
|
3630
|
+
builder;
|
|
3631
|
+
localizationService;
|
|
3554
3632
|
get fixedClass() {
|
|
3555
3633
|
return this.positionMode === 'fixed';
|
|
3556
3634
|
}
|
|
3557
3635
|
get absoluteClass() {
|
|
3558
3636
|
return this.positionMode === 'absolute';
|
|
3559
3637
|
}
|
|
3638
|
+
direction;
|
|
3639
|
+
button;
|
|
3640
|
+
popupTemplate;
|
|
3641
|
+
dialItemTemplate;
|
|
3642
|
+
fabTemplate;
|
|
3560
3643
|
/**
|
|
3561
3644
|
* Specifies the theme color of the FloatingActionButton
|
|
3562
3645
|
* ([see example](slug:appearance_floatingactionbutton#toc-theme-colors)).
|
|
@@ -3659,12 +3742,131 @@ class FloatingActionButtonComponent {
|
|
|
3659
3742
|
get offset() {
|
|
3660
3743
|
return this._offset;
|
|
3661
3744
|
}
|
|
3745
|
+
/**
|
|
3746
|
+
* Specifies the positionMode of the FloatingActionButton
|
|
3747
|
+
* ([see example](slug:positioning_floatingactionbutton#toc-position-mode)).
|
|
3748
|
+
*
|
|
3749
|
+
* * The possible values are:
|
|
3750
|
+
* * `absolute`—Positions the FloatingActionButton absolutely to its first positioned parent element.
|
|
3751
|
+
* * `fixed` (Default)—Positions the FloatingActionButton relative to the viewport. It always stays in the same place even if the page is scrolled.
|
|
3752
|
+
*/
|
|
3753
|
+
positionMode = 'fixed';
|
|
3754
|
+
/**
|
|
3755
|
+
* Defines the name of an existing icon in a Kendo UI theme.
|
|
3756
|
+
* If provided, the icon will be rendered inside the FloatingActionButton by a `span.k-icon` element.
|
|
3757
|
+
*/
|
|
3758
|
+
icon;
|
|
3759
|
+
/**
|
|
3760
|
+
* Defines an [`SVGIcon`](slug:api_icons_svgicon) to be rendered within the FloatingActionButton.
|
|
3761
|
+
*/
|
|
3762
|
+
svgIcon;
|
|
3763
|
+
/**
|
|
3764
|
+
* Defines a CSS class or multiple classes separated by spaces which are applied to a `span` element.
|
|
3765
|
+
* Allows the usage of custom icons, rendered inside the FloatingActionButton by a `span` element.
|
|
3766
|
+
*/
|
|
3767
|
+
iconClass;
|
|
3768
|
+
/**
|
|
3769
|
+
* The CSS classes that will be rendered on the main button.
|
|
3770
|
+
* Supports the type of values that are supported by [`ngClass`](link:site.data.urls.angular['ngclassapi']).
|
|
3771
|
+
*/
|
|
3772
|
+
buttonClass;
|
|
3773
|
+
/**
|
|
3774
|
+
* The CSS classes that will be rendered on the dial items `ul` element.
|
|
3775
|
+
* Supports the type of values that are supported by [`ngClass`](link:site.data.urls.angular['ngclassapi']).
|
|
3776
|
+
*/
|
|
3777
|
+
dialClass;
|
|
3778
|
+
/**
|
|
3779
|
+
* Specifies the text content of the FloatingActionButton.
|
|
3780
|
+
*/
|
|
3781
|
+
text;
|
|
3782
|
+
/**
|
|
3783
|
+
* Specifies the animation settings of the FloatingActionButton dial items.
|
|
3784
|
+
* ([see example]({% slug dialitems_floatingactionbutton %}#toc-animation)).
|
|
3785
|
+
*
|
|
3786
|
+
* The possible values are:
|
|
3787
|
+
* * Boolean
|
|
3788
|
+
* * (Default) `true`—Applies the default [`DialItemAnimation`]({% slug api_buttons_dialitemanimation %}) settings.
|
|
3789
|
+
* * `false`
|
|
3790
|
+
* * `DialItemAnimation`
|
|
3791
|
+
* * `duration`—Specifies the animation duration in milliseconds for each dial item. Defaults to `180ms`.
|
|
3792
|
+
* * `gap`—Specifies the animation duration gap in milliseconds after each dial item is animated. Defaults to `90ms`.
|
|
3793
|
+
*/
|
|
3794
|
+
dialItemAnimation = true;
|
|
3795
|
+
/**
|
|
3796
|
+
* Specifies the [`tabIndex`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of the FloatingActionButton.
|
|
3797
|
+
*/
|
|
3798
|
+
tabIndex = 0;
|
|
3799
|
+
/**
|
|
3800
|
+
* Specifies the collection of the dial items that will be rendered in the FloatingActionButton popup.
|
|
3801
|
+
*/
|
|
3802
|
+
dialItems = [];
|
|
3803
|
+
/**
|
|
3804
|
+
* Fires each time the FloatingActionButton gets blurred.
|
|
3805
|
+
*/
|
|
3806
|
+
onBlur = new EventEmitter();
|
|
3807
|
+
/**
|
|
3808
|
+
* Fires each time the FloatingActionButton gets focused.
|
|
3809
|
+
*/
|
|
3810
|
+
onFocus = new EventEmitter();
|
|
3811
|
+
/**
|
|
3812
|
+
* Fires each time a dial item is clicked.
|
|
3813
|
+
*/
|
|
3814
|
+
dialItemClick = new EventEmitter();
|
|
3815
|
+
/**
|
|
3816
|
+
* Fires each time the popup is about to open.
|
|
3817
|
+
* This event is preventable. If you cancel the event, the popup will remain closed
|
|
3818
|
+
* ([more information and example](slug:events_floatingactionbutton)).
|
|
3819
|
+
*/
|
|
3820
|
+
open = new EventEmitter();
|
|
3821
|
+
/**
|
|
3822
|
+
* Fires each time the popup is about to close.
|
|
3823
|
+
* This event is preventable. If you cancel the event, the popup will remain open
|
|
3824
|
+
* ([more information and example](slug:events_floatingactionbutton)).
|
|
3825
|
+
*/
|
|
3826
|
+
close = new EventEmitter();
|
|
3662
3827
|
/**
|
|
3663
3828
|
* @hidden
|
|
3664
3829
|
*/
|
|
3665
3830
|
get componentTabIndex() {
|
|
3666
3831
|
return this.disabled ? (-1) : this.tabIndex;
|
|
3667
3832
|
}
|
|
3833
|
+
/**
|
|
3834
|
+
* @hidden
|
|
3835
|
+
*/
|
|
3836
|
+
id = `k-${guid()}`;
|
|
3837
|
+
/**
|
|
3838
|
+
* @hidden
|
|
3839
|
+
*/
|
|
3840
|
+
dialListId = `k-dial-list-${guid()}`;
|
|
3841
|
+
_themeColor = DEFAULT_THEME_COLOR;
|
|
3842
|
+
_size = DEFAULT_SIZE;
|
|
3843
|
+
_rounded = DEFAULT_ROUNDED$1;
|
|
3844
|
+
_disabled = false;
|
|
3845
|
+
_align = { horizontal: 'end', vertical: 'bottom' };
|
|
3846
|
+
_offset = { x: DEFAULT_OFFSET, y: DEFAULT_OFFSET };
|
|
3847
|
+
subscriptions = new Subscription();
|
|
3848
|
+
popupMouseDownListener;
|
|
3849
|
+
rtl = false;
|
|
3850
|
+
animationEnd = new EventEmitter();
|
|
3851
|
+
popupRef;
|
|
3852
|
+
initialSetup = true;
|
|
3853
|
+
focusChangedProgrammatically = false;
|
|
3854
|
+
constructor(renderer, element, focusService, navigationService, ngZone, popupService, builder, localizationService) {
|
|
3855
|
+
this.renderer = renderer;
|
|
3856
|
+
this.element = element;
|
|
3857
|
+
this.focusService = focusService;
|
|
3858
|
+
this.navigationService = navigationService;
|
|
3859
|
+
this.ngZone = ngZone;
|
|
3860
|
+
this.popupService = popupService;
|
|
3861
|
+
this.builder = builder;
|
|
3862
|
+
this.localizationService = localizationService;
|
|
3863
|
+
validatePackage(packageMetadata);
|
|
3864
|
+
this.subscribeNavigationEvents();
|
|
3865
|
+
this.subscriptions.add(this.localizationService.changes.subscribe(({ rtl }) => {
|
|
3866
|
+
this.rtl = rtl;
|
|
3867
|
+
this.direction = this.rtl ? 'rtl' : 'ltr';
|
|
3868
|
+
}));
|
|
3869
|
+
}
|
|
3668
3870
|
ngAfterViewInit() {
|
|
3669
3871
|
['size', 'rounded', 'themeColor'].forEach(option => this.handleClasses(this[option], option));
|
|
3670
3872
|
this.renderer.addClass(this.element.nativeElement, this.alignClass());
|
|
@@ -4120,18 +4322,17 @@ class FloatingActionButtonComponent {
|
|
|
4120
4322
|
}
|
|
4121
4323
|
return DEFAULT_DURATION;
|
|
4122
4324
|
}
|
|
4123
|
-
}
|
|
4124
|
-
|
|
4125
|
-
|
|
4126
|
-
|
|
4127
|
-
|
|
4128
|
-
|
|
4129
|
-
|
|
4130
|
-
|
|
4131
|
-
|
|
4132
|
-
|
|
4133
|
-
}
|
|
4134
|
-
], 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: `
|
|
4325
|
+
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 });
|
|
4326
|
+
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: [
|
|
4327
|
+
FocusService,
|
|
4328
|
+
NavigationService,
|
|
4329
|
+
NAVIGATION_SETTINGS_PROVIDER$1,
|
|
4330
|
+
LocalizationService,
|
|
4331
|
+
{
|
|
4332
|
+
provide: L10N_PREFIX,
|
|
4333
|
+
useValue: 'kendo.floatingactionbutton'
|
|
4334
|
+
}
|
|
4335
|
+
], 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: `
|
|
4135
4336
|
<button
|
|
4136
4337
|
#button
|
|
4137
4338
|
[attr.id]="id"
|
|
@@ -4189,7 +4390,8 @@ FloatingActionButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "1
|
|
|
4189
4390
|
</ul>
|
|
4190
4391
|
</ng-template>
|
|
4191
4392
|
`, 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"] }] });
|
|
4192
|
-
|
|
4393
|
+
}
|
|
4394
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FloatingActionButtonComponent, decorators: [{
|
|
4193
4395
|
type: Component,
|
|
4194
4396
|
args: [{
|
|
4195
4397
|
selector: 'kendo-floatingactionbutton',
|
|
@@ -4336,10 +4538,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
4336
4538
|
* @hidden
|
|
4337
4539
|
*/
|
|
4338
4540
|
class Messages extends ComponentMessages {
|
|
4541
|
+
/**
|
|
4542
|
+
* The text for the SplitButton aria-label.
|
|
4543
|
+
*
|
|
4544
|
+
* The text for the aria-label consists of a two-part message - the text of the SplitButton and a localizable string.
|
|
4545
|
+
* For a SplitButton with text 'Reply', the default aria-label will be 'Reply splitbutton'.
|
|
4546
|
+
*
|
|
4547
|
+
* To allow reordering of the SplitButton text and the localizable part, the splitButtonLabel accepts a string with a
|
|
4548
|
+
* placeholder for the button text - e.g. 'splitbutton for {buttonText}'. The '{buttonText}' placeholder will be replaced
|
|
4549
|
+
* internally with the current SplitButton text, and the resulting aria-label will be rendered as 'splitbutton for Reply'.
|
|
4550
|
+
*
|
|
4551
|
+
* @example
|
|
4552
|
+
*
|
|
4553
|
+
* ```ts-no-run
|
|
4554
|
+
* <kendo-splitbutton>
|
|
4555
|
+
* <kendo-splitbutton-messages
|
|
4556
|
+
* splitButtonLabel="splitbutton for {buttonText}"
|
|
4557
|
+
* >
|
|
4558
|
+
* </kendo-splitbutton-messages>
|
|
4559
|
+
* </kendo-splitbutton>
|
|
4560
|
+
* ```
|
|
4561
|
+
*/
|
|
4562
|
+
splitButtonLabel;
|
|
4563
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: Messages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
4564
|
+
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 });
|
|
4339
4565
|
}
|
|
4340
|
-
|
|
4341
|
-
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 });
|
|
4342
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: Messages, decorators: [{
|
|
4566
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: Messages, decorators: [{
|
|
4343
4567
|
type: Directive,
|
|
4344
4568
|
args: [{
|
|
4345
4569
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
@@ -4354,6 +4578,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
4354
4578
|
* ([see example]({% slug rtl_buttons %}).
|
|
4355
4579
|
*/
|
|
4356
4580
|
class SplitButtonCustomMessagesComponent extends Messages {
|
|
4581
|
+
service;
|
|
4357
4582
|
constructor(service) {
|
|
4358
4583
|
super();
|
|
4359
4584
|
this.service = service;
|
|
@@ -4361,13 +4586,13 @@ class SplitButtonCustomMessagesComponent extends Messages {
|
|
|
4361
4586
|
get override() {
|
|
4362
4587
|
return true;
|
|
4363
4588
|
}
|
|
4589
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SplitButtonCustomMessagesComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
4590
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SplitButtonCustomMessagesComponent, isStandalone: true, selector: "kendo-splitbutton-messages", providers: [{
|
|
4591
|
+
provide: Messages,
|
|
4592
|
+
useExisting: forwardRef(() => SplitButtonCustomMessagesComponent)
|
|
4593
|
+
}], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
|
|
4364
4594
|
}
|
|
4365
|
-
|
|
4366
|
-
SplitButtonCustomMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SplitButtonCustomMessagesComponent, isStandalone: true, selector: "kendo-splitbutton-messages", providers: [{
|
|
4367
|
-
provide: Messages,
|
|
4368
|
-
useExisting: forwardRef(() => SplitButtonCustomMessagesComponent)
|
|
4369
|
-
}], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
|
|
4370
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SplitButtonCustomMessagesComponent, decorators: [{
|
|
4595
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SplitButtonCustomMessagesComponent, decorators: [{
|
|
4371
4596
|
type: Component,
|
|
4372
4597
|
args: [{
|
|
4373
4598
|
providers: [{
|
|
@@ -4384,19 +4609,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
4384
4609
|
* @hidden
|
|
4385
4610
|
*/
|
|
4386
4611
|
class LocalizedSplitButtonMessagesDirective extends Messages {
|
|
4612
|
+
service;
|
|
4387
4613
|
constructor(service) {
|
|
4388
4614
|
super();
|
|
4389
4615
|
this.service = service;
|
|
4390
4616
|
}
|
|
4617
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LocalizedSplitButtonMessagesDirective, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
4618
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: LocalizedSplitButtonMessagesDirective, isStandalone: true, selector: "[kendoSplitButtonLocalizedMessages]", providers: [
|
|
4619
|
+
{
|
|
4620
|
+
provide: Messages,
|
|
4621
|
+
useExisting: forwardRef(() => LocalizedSplitButtonMessagesDirective)
|
|
4622
|
+
}
|
|
4623
|
+
], usesInheritance: true, ngImport: i0 });
|
|
4391
4624
|
}
|
|
4392
|
-
|
|
4393
|
-
LocalizedSplitButtonMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: LocalizedSplitButtonMessagesDirective, isStandalone: true, selector: "[kendoSplitButtonLocalizedMessages]", providers: [
|
|
4394
|
-
{
|
|
4395
|
-
provide: Messages,
|
|
4396
|
-
useExisting: forwardRef(() => LocalizedSplitButtonMessagesDirective)
|
|
4397
|
-
}
|
|
4398
|
-
], usesInheritance: true, ngImport: i0 });
|
|
4399
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LocalizedSplitButtonMessagesDirective, decorators: [{
|
|
4625
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LocalizedSplitButtonMessagesDirective, decorators: [{
|
|
4400
4626
|
type: Directive,
|
|
4401
4627
|
args: [{
|
|
4402
4628
|
providers: [
|
|
@@ -4461,154 +4687,46 @@ const DEFAULT_FILL_MODE = 'solid';
|
|
|
4461
4687
|
* ```
|
|
4462
4688
|
*/
|
|
4463
4689
|
class SplitButtonComponent extends ListButton {
|
|
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
|
-
|
|
4496
|
-
|
|
4497
|
-
|
|
4498
|
-
|
|
4499
|
-
|
|
4500
|
-
|
|
4501
|
-
|
|
4502
|
-
|
|
4503
|
-
|
|
4504
|
-
* * `primary` —Applies coloring based on the `primary` theme color.
|
|
4505
|
-
* * `secondary`—Applies coloring based on the `secondary` theme color.
|
|
4506
|
-
* * `tertiary`— Applies coloring based on the `tertiary` theme color.
|
|
4507
|
-
* * `info`—Applies coloring based on the `info` theme color.
|
|
4508
|
-
* * `success`— Applies coloring based on the `success` theme color.
|
|
4509
|
-
* * `warning`— Applies coloring based on the `warning` theme color.
|
|
4510
|
-
* * `error`— Applies coloring based on the `error` theme color.
|
|
4511
|
-
* * `dark`— Applies coloring based on the `dark` theme color.
|
|
4512
|
-
* * `light`— Applies coloring based on the `light` theme color.
|
|
4513
|
-
* * `inverse`— Applies coloring based on the `inverse` theme color.
|
|
4514
|
-
* * `none`— Removes the built in theme color.
|
|
4515
|
-
*/
|
|
4516
|
-
this.themeColor = 'base';
|
|
4517
|
-
/**
|
|
4518
|
-
* Specifies the [`tabIndex`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of the component.
|
|
4519
|
-
*/
|
|
4520
|
-
this.tabIndex = 0;
|
|
4521
|
-
/**
|
|
4522
|
-
* Specifies the name of the [font icon]({% slug icons %}#toc-list-of-font-icons) that will
|
|
4523
|
-
* be rendered for the button which opens the popup.
|
|
4524
|
-
*/
|
|
4525
|
-
this.arrowButtonIcon = 'caret-alt-down';
|
|
4526
|
-
/**
|
|
4527
|
-
* Specifies the [`SVGIcon`](slug:api_icons_svgicon) that will
|
|
4528
|
-
* be rendered for the button which opens the popup.
|
|
4529
|
-
*/
|
|
4530
|
-
this.arrowButtonSvgIcon = caretAltDownIcon;
|
|
4531
|
-
/**
|
|
4532
|
-
* Fires each time the user clicks the main button.
|
|
4533
|
-
*
|
|
4534
|
-
* @example
|
|
4535
|
-
* ```ts
|
|
4536
|
-
* _@Component({
|
|
4537
|
-
* selector: 'my-app',
|
|
4538
|
-
* template: `
|
|
4539
|
-
* <kendo-splitbutton (buttonClick)="onSplitButtonClick()" [data]="data">
|
|
4540
|
-
* Reply
|
|
4541
|
-
* </kendo-splitbutton>
|
|
4542
|
-
* `
|
|
4543
|
-
* })
|
|
4544
|
-
* class AppComponent {
|
|
4545
|
-
* public data: Array<any> = ['Reply All', 'Forward', 'Reply & Delete'];
|
|
4546
|
-
*
|
|
4547
|
-
* public onSplitButtonClick(): void {
|
|
4548
|
-
* console.log('SplitButton click');
|
|
4549
|
-
* }
|
|
4550
|
-
* }
|
|
4551
|
-
* ```
|
|
4552
|
-
*
|
|
4553
|
-
*/
|
|
4554
|
-
this.buttonClick = new EventEmitter();
|
|
4555
|
-
/**
|
|
4556
|
-
* Fires each time the user clicks on the drop-down list. The event data contains the data item bound to the clicked list item.
|
|
4557
|
-
*
|
|
4558
|
-
* @example
|
|
4559
|
-
* ```ts
|
|
4560
|
-
* _@Component({
|
|
4561
|
-
* selector: 'my-app',
|
|
4562
|
-
* template: `
|
|
4563
|
-
* <kendo-splitbutton (itemClick)="onSplitButtonItemClick($event)" [data]="data">
|
|
4564
|
-
* Reply
|
|
4565
|
-
* </kendo-splitbutton>
|
|
4566
|
-
* `
|
|
4567
|
-
* })
|
|
4568
|
-
* class AppComponent {
|
|
4569
|
-
* public data: Array<any> = ['Reply All', 'Forward', 'Reply & Delete'];
|
|
4570
|
-
*
|
|
4571
|
-
* public onSplitButtonItemClick(dataItem?: string): void {
|
|
4572
|
-
* if (dataItem) {
|
|
4573
|
-
* console.log(dataItem);
|
|
4574
|
-
* }
|
|
4575
|
-
* }
|
|
4576
|
-
* }
|
|
4577
|
-
* ```
|
|
4578
|
-
*
|
|
4579
|
-
*/
|
|
4580
|
-
this.itemClick = new EventEmitter();
|
|
4581
|
-
/**
|
|
4582
|
-
* Fires each time the SplitButton gets focused.
|
|
4583
|
-
*/
|
|
4584
|
-
this.onFocus = new EventEmitter();
|
|
4585
|
-
/**
|
|
4586
|
-
* Fires each time the SplitButton gets blurred.
|
|
4587
|
-
*/
|
|
4588
|
-
this.onBlur = new EventEmitter();
|
|
4589
|
-
/**
|
|
4590
|
-
* Fires each time the popup is about to open.
|
|
4591
|
-
* This event is preventable. If you cancel the event, the popup will remain closed.
|
|
4592
|
-
*/
|
|
4593
|
-
this.open = new EventEmitter();
|
|
4594
|
-
/**
|
|
4595
|
-
* Fires each time the popup is about to close.
|
|
4596
|
-
* This event is preventable. If you cancel the event, the popup will remain open.
|
|
4597
|
-
*/
|
|
4598
|
-
this.close = new EventEmitter();
|
|
4599
|
-
/**
|
|
4600
|
-
* @hidden
|
|
4601
|
-
*/
|
|
4602
|
-
this.activeArrow = false;
|
|
4603
|
-
this.listId = guid();
|
|
4604
|
-
this.buttonText = '';
|
|
4605
|
-
this.arrowButtonClicked = false;
|
|
4606
|
-
this._rounded = DEFAULT_ROUNDED;
|
|
4607
|
-
this._fillMode = DEFAULT_FILL_MODE;
|
|
4608
|
-
this._buttonAttributes = null;
|
|
4609
|
-
this._itemClick = this.itemClick;
|
|
4610
|
-
this._blur = this.onBlur;
|
|
4611
|
-
}
|
|
4690
|
+
localization;
|
|
4691
|
+
renderer;
|
|
4692
|
+
/**
|
|
4693
|
+
* Sets the text of the SplitButton.
|
|
4694
|
+
*/
|
|
4695
|
+
text = '';
|
|
4696
|
+
/**
|
|
4697
|
+
* Defines an icon to be rendered next to the button text.
|
|
4698
|
+
* ([see example]({% slug databinding_splitbutton %}#toc-arrays-of-complex-data)).
|
|
4699
|
+
*/
|
|
4700
|
+
icon = '';
|
|
4701
|
+
/**
|
|
4702
|
+
* Defines an SVGIcon to be rendered next to the button text.
|
|
4703
|
+
*/
|
|
4704
|
+
svgIcon;
|
|
4705
|
+
/**
|
|
4706
|
+
* Defines an icon with a custom CSS class to be rendered next to the button text
|
|
4707
|
+
* ([see example]({% slug databinding_splitbutton %}#toc-arrays-of-complex-data)).
|
|
4708
|
+
*/
|
|
4709
|
+
iconClass;
|
|
4710
|
+
/**
|
|
4711
|
+
* Defines the type attribute of the main button
|
|
4712
|
+
*/
|
|
4713
|
+
type = 'button';
|
|
4714
|
+
/**
|
|
4715
|
+
* Defines the location of an image to be displayed next to the button text
|
|
4716
|
+
* ([see example]({% slug databinding_splitbutton %}#toc-arrays-of-complex-data)).
|
|
4717
|
+
*/
|
|
4718
|
+
imageUrl = '';
|
|
4719
|
+
/**
|
|
4720
|
+
* The size property specifies the padding of the SplitButton
|
|
4721
|
+
* ([see example]({% slug api_buttons_splitbuttoncomponent %}#toc-size)).
|
|
4722
|
+
*
|
|
4723
|
+
* The possible values are:
|
|
4724
|
+
* * `small`
|
|
4725
|
+
* * `medium` (default)
|
|
4726
|
+
* * `large`
|
|
4727
|
+
* * `none`
|
|
4728
|
+
*/
|
|
4729
|
+
size = 'medium';
|
|
4612
4730
|
/**
|
|
4613
4731
|
* The rounded property specifies the border radius of the SplitButton
|
|
4614
4732
|
* ([see example]({% slug api_buttons_splitbuttoncomponent %}#toc-rounded)).
|
|
@@ -4645,6 +4763,26 @@ class SplitButtonComponent extends ListButton {
|
|
|
4645
4763
|
get fillMode() {
|
|
4646
4764
|
return this._fillMode;
|
|
4647
4765
|
}
|
|
4766
|
+
/**
|
|
4767
|
+
* The SplitButton allows you to specify predefined theme colors.
|
|
4768
|
+
* The theme color will be applied as a background and border color while also amending the text color accordingly
|
|
4769
|
+
* ([see example]({% slug api_buttons_splitbuttoncomponent %}#toc-themeColor)).
|
|
4770
|
+
*
|
|
4771
|
+
* The possible values are:
|
|
4772
|
+
* * `base` —Applies coloring based on the `base` theme color. (default)
|
|
4773
|
+
* * `primary` —Applies coloring based on the `primary` theme color.
|
|
4774
|
+
* * `secondary`—Applies coloring based on the `secondary` theme color.
|
|
4775
|
+
* * `tertiary`— Applies coloring based on the `tertiary` theme color.
|
|
4776
|
+
* * `info`—Applies coloring based on the `info` theme color.
|
|
4777
|
+
* * `success`— Applies coloring based on the `success` theme color.
|
|
4778
|
+
* * `warning`— Applies coloring based on the `warning` theme color.
|
|
4779
|
+
* * `error`— Applies coloring based on the `error` theme color.
|
|
4780
|
+
* * `dark`— Applies coloring based on the `dark` theme color.
|
|
4781
|
+
* * `light`— Applies coloring based on the `light` theme color.
|
|
4782
|
+
* * `inverse`— Applies coloring based on the `inverse` theme color.
|
|
4783
|
+
* * `none`— Removes the built in theme color.
|
|
4784
|
+
*/
|
|
4785
|
+
themeColor = 'base';
|
|
4648
4786
|
/**
|
|
4649
4787
|
* When set to `true`, disables a SplitButton item
|
|
4650
4788
|
* ([see example]({% slug databinding_splitbutton %}#toc-arrays-of-complex-data)).
|
|
@@ -4673,6 +4811,14 @@ class SplitButtonComponent extends ListButton {
|
|
|
4673
4811
|
get popupSettings() {
|
|
4674
4812
|
return this._popupSettings;
|
|
4675
4813
|
}
|
|
4814
|
+
/**
|
|
4815
|
+
* Specifies the [`tabIndex`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of the component.
|
|
4816
|
+
*/
|
|
4817
|
+
tabIndex = 0;
|
|
4818
|
+
/**
|
|
4819
|
+
* Configures the text field of the button-list popup.
|
|
4820
|
+
*/
|
|
4821
|
+
textField;
|
|
4676
4822
|
/**
|
|
4677
4823
|
* Sets the data of the SplitButton.
|
|
4678
4824
|
*
|
|
@@ -4687,6 +4833,21 @@ class SplitButtonComponent extends ListButton {
|
|
|
4687
4833
|
}
|
|
4688
4834
|
return this._data;
|
|
4689
4835
|
}
|
|
4836
|
+
/**
|
|
4837
|
+
* The CSS classes that will be rendered on the button which opens the popup.
|
|
4838
|
+
* Supports the type of values that are supported by [`ngClass`](link:site.data.urls.angular['ngclassapi']).
|
|
4839
|
+
*/
|
|
4840
|
+
arrowButtonClass;
|
|
4841
|
+
/**
|
|
4842
|
+
* Specifies the name of the [font icon]({% slug icons %}#toc-list-of-font-icons) that will
|
|
4843
|
+
* be rendered for the button which opens the popup.
|
|
4844
|
+
*/
|
|
4845
|
+
arrowButtonIcon = 'caret-alt-down';
|
|
4846
|
+
/**
|
|
4847
|
+
* Specifies the [`SVGIcon`](slug:api_icons_svgicon) that will
|
|
4848
|
+
* be rendered for the button which opens the popup.
|
|
4849
|
+
*/
|
|
4850
|
+
arrowButtonSvgIcon = caretAltDownIcon;
|
|
4690
4851
|
/**
|
|
4691
4852
|
* Sets attributes to the main button.
|
|
4692
4853
|
*/
|
|
@@ -4698,6 +4859,80 @@ class SplitButtonComponent extends ListButton {
|
|
|
4698
4859
|
get buttonAttributes() {
|
|
4699
4860
|
return this._buttonAttributes;
|
|
4700
4861
|
}
|
|
4862
|
+
/**
|
|
4863
|
+
* Fires each time the user clicks the main button.
|
|
4864
|
+
*
|
|
4865
|
+
* @example
|
|
4866
|
+
* ```ts
|
|
4867
|
+
* _@Component({
|
|
4868
|
+
* selector: 'my-app',
|
|
4869
|
+
* template: `
|
|
4870
|
+
* <kendo-splitbutton (buttonClick)="onSplitButtonClick()" [data]="data">
|
|
4871
|
+
* Reply
|
|
4872
|
+
* </kendo-splitbutton>
|
|
4873
|
+
* `
|
|
4874
|
+
* })
|
|
4875
|
+
* class AppComponent {
|
|
4876
|
+
* public data: Array<any> = ['Reply All', 'Forward', 'Reply & Delete'];
|
|
4877
|
+
*
|
|
4878
|
+
* public onSplitButtonClick(): void {
|
|
4879
|
+
* console.log('SplitButton click');
|
|
4880
|
+
* }
|
|
4881
|
+
* }
|
|
4882
|
+
* ```
|
|
4883
|
+
*
|
|
4884
|
+
*/
|
|
4885
|
+
buttonClick = new EventEmitter();
|
|
4886
|
+
/**
|
|
4887
|
+
* Fires each time the user clicks on the drop-down list. The event data contains the data item bound to the clicked list item.
|
|
4888
|
+
*
|
|
4889
|
+
* @example
|
|
4890
|
+
* ```ts
|
|
4891
|
+
* _@Component({
|
|
4892
|
+
* selector: 'my-app',
|
|
4893
|
+
* template: `
|
|
4894
|
+
* <kendo-splitbutton (itemClick)="onSplitButtonItemClick($event)" [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 onSplitButtonItemClick(dataItem?: string): void {
|
|
4903
|
+
* if (dataItem) {
|
|
4904
|
+
* console.log(dataItem);
|
|
4905
|
+
* }
|
|
4906
|
+
* }
|
|
4907
|
+
* }
|
|
4908
|
+
* ```
|
|
4909
|
+
*
|
|
4910
|
+
*/
|
|
4911
|
+
itemClick = new EventEmitter();
|
|
4912
|
+
/**
|
|
4913
|
+
* Fires each time the SplitButton gets focused.
|
|
4914
|
+
*/
|
|
4915
|
+
onFocus = new EventEmitter();
|
|
4916
|
+
/**
|
|
4917
|
+
* Fires each time the SplitButton gets blurred.
|
|
4918
|
+
*/
|
|
4919
|
+
onBlur = new EventEmitter();
|
|
4920
|
+
/**
|
|
4921
|
+
* Fires each time the popup is about to open.
|
|
4922
|
+
* This event is preventable. If you cancel the event, the popup will remain closed.
|
|
4923
|
+
*/
|
|
4924
|
+
open = new EventEmitter();
|
|
4925
|
+
/**
|
|
4926
|
+
* Fires each time the popup is about to close.
|
|
4927
|
+
* This event is preventable. If you cancel the event, the popup will remain open.
|
|
4928
|
+
*/
|
|
4929
|
+
close = new EventEmitter();
|
|
4930
|
+
/**
|
|
4931
|
+
* An item template that helps to customize the item content.
|
|
4932
|
+
*/
|
|
4933
|
+
itemTemplate;
|
|
4934
|
+
activeArrow = false;
|
|
4935
|
+
listId = guid();
|
|
4701
4936
|
/**
|
|
4702
4937
|
* @hidden
|
|
4703
4938
|
*/
|
|
@@ -4716,6 +4951,11 @@ class SplitButtonComponent extends ListButton {
|
|
|
4716
4951
|
get componentTabIndex() {
|
|
4717
4952
|
return this.disabled ? -1 : this.tabIndex;
|
|
4718
4953
|
}
|
|
4954
|
+
buttonText = '';
|
|
4955
|
+
arrowButtonClicked = false;
|
|
4956
|
+
_rounded = DEFAULT_ROUNDED;
|
|
4957
|
+
_fillMode = DEFAULT_FILL_MODE;
|
|
4958
|
+
_buttonAttributes = null;
|
|
4719
4959
|
set isFocused(value) {
|
|
4720
4960
|
this._isFocused = value;
|
|
4721
4961
|
}
|
|
@@ -4809,7 +5049,7 @@ class SplitButtonComponent extends ListButton {
|
|
|
4809
5049
|
* @hidden
|
|
4810
5050
|
*/
|
|
4811
5051
|
ngAfterViewInit() {
|
|
4812
|
-
this.containerService.container = this.
|
|
5052
|
+
this.containerService.container = this.container;
|
|
4813
5053
|
this.containerService.template = this.popupTemplate;
|
|
4814
5054
|
this.updateButtonText();
|
|
4815
5055
|
this.handleClasses(this.rounded, 'rounded');
|
|
@@ -4901,6 +5141,13 @@ class SplitButtonComponent extends ListButton {
|
|
|
4901
5141
|
this.blurWrapper();
|
|
4902
5142
|
}
|
|
4903
5143
|
}
|
|
5144
|
+
constructor(focusService, navigationService, wrapperRef, zone, popupService, elRef, localization, cdr, renderer, containerService) {
|
|
5145
|
+
super(focusService, navigationService, wrapperRef, zone, popupService, elRef, localization, cdr, containerService);
|
|
5146
|
+
this.localization = localization;
|
|
5147
|
+
this.renderer = renderer;
|
|
5148
|
+
this._itemClick = this.itemClick;
|
|
5149
|
+
this._blur = this.onBlur;
|
|
5150
|
+
}
|
|
4904
5151
|
/**
|
|
4905
5152
|
* Returns the current open state of the popup.
|
|
4906
5153
|
*/
|
|
@@ -4943,23 +5190,22 @@ class SplitButtonComponent extends ListButton {
|
|
|
4943
5190
|
}
|
|
4944
5191
|
}
|
|
4945
5192
|
}
|
|
4946
|
-
}
|
|
4947
|
-
|
|
4948
|
-
|
|
4949
|
-
|
|
4950
|
-
|
|
4951
|
-
|
|
4952
|
-
|
|
4953
|
-
|
|
4954
|
-
|
|
4955
|
-
|
|
4956
|
-
|
|
4957
|
-
|
|
4958
|
-
|
|
4959
|
-
|
|
4960
|
-
|
|
4961
|
-
}
|
|
4962
|
-
], 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: `
|
|
5193
|
+
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 });
|
|
5194
|
+
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: [
|
|
5195
|
+
FocusService,
|
|
5196
|
+
NavigationService,
|
|
5197
|
+
NAVIGATION_SETTINGS_PROVIDER,
|
|
5198
|
+
LocalizationService,
|
|
5199
|
+
{
|
|
5200
|
+
provide: L10N_PREFIX,
|
|
5201
|
+
useValue: 'kendo.splitbutton'
|
|
5202
|
+
},
|
|
5203
|
+
PopupContainerService,
|
|
5204
|
+
{
|
|
5205
|
+
provide: MultiTabStop,
|
|
5206
|
+
useExisting: forwardRef(() => SplitButtonComponent)
|
|
5207
|
+
}
|
|
5208
|
+
], queries: [{ propertyName: "itemTemplate", first: true, predicate: ButtonItemTemplateDirective, descendants: true }], exportAs: ["kendoSplitButton"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
|
|
4963
5209
|
<ng-container kendoSplitButtonLocalizedMessages
|
|
4964
5210
|
i18n-splitButtonLabel="kendo.splitbutton.splitButtonLabel|The text for the SplitButton aria-label"
|
|
4965
5211
|
splitButtonLabel="{{ '{buttonText} splitbutton' }}">
|
|
@@ -5027,7 +5273,8 @@ SplitButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", v
|
|
|
5027
5273
|
</ng-template>
|
|
5028
5274
|
<ng-container #container></ng-container>
|
|
5029
5275
|
`, 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"] }] });
|
|
5030
|
-
|
|
5276
|
+
}
|
|
5277
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SplitButtonComponent, decorators: [{
|
|
5031
5278
|
type: Component,
|
|
5032
5279
|
args: [{
|
|
5033
5280
|
exportAs: 'kendoSplitButton',
|
|
@@ -5148,8 +5395,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
5148
5395
|
type: Input
|
|
5149
5396
|
}], data: [{
|
|
5150
5397
|
type: Input
|
|
5151
|
-
}], buttonClass: [{
|
|
5152
|
-
type: Input
|
|
5153
5398
|
}], arrowButtonClass: [{
|
|
5154
5399
|
type: Input
|
|
5155
5400
|
}], arrowButtonIcon: [{
|
|
@@ -5175,18 +5420,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
5175
5420
|
}], itemTemplate: [{
|
|
5176
5421
|
type: ContentChild,
|
|
5177
5422
|
args: [ButtonItemTemplateDirective]
|
|
5178
|
-
}], button: [{
|
|
5179
|
-
type: ViewChild,
|
|
5180
|
-
args: ['button', { read: ElementRef }]
|
|
5181
|
-
}], arrowButton: [{
|
|
5182
|
-
type: ViewChild,
|
|
5183
|
-
args: ['arrowButton', { read: ElementRef }]
|
|
5184
|
-
}], popupTemplate: [{
|
|
5185
|
-
type: ViewChild,
|
|
5186
|
-
args: ['popupTemplate']
|
|
5187
|
-
}], containerRef: [{
|
|
5188
|
-
type: ViewChild,
|
|
5189
|
-
args: ['container', { read: ViewContainerRef }]
|
|
5190
5423
|
}], isFocused: [{
|
|
5191
5424
|
type: HostBinding,
|
|
5192
5425
|
args: ['class.k-focus']
|
|
@@ -5278,11 +5511,11 @@ const KENDO_BUTTONS = [
|
|
|
5278
5511
|
* - `ButtonComponent`—The Button component class.
|
|
5279
5512
|
*/
|
|
5280
5513
|
class ButtonGroupModule {
|
|
5514
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonGroupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5515
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ButtonGroupModule, imports: [ButtonComponent, ButtonGroupComponent], exports: [ButtonComponent, ButtonGroupComponent] });
|
|
5516
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonGroupModule, providers: [IconsService], imports: [ButtonComponent] });
|
|
5281
5517
|
}
|
|
5282
|
-
|
|
5283
|
-
ButtonGroupModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: ButtonGroupModule, imports: [ButtonComponent, ButtonGroupComponent], exports: [ButtonComponent, ButtonGroupComponent] });
|
|
5284
|
-
ButtonGroupModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ButtonGroupModule, providers: [IconsService], imports: [KENDO_BUTTONGROUP] });
|
|
5285
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ButtonGroupModule, decorators: [{
|
|
5518
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonGroupModule, decorators: [{
|
|
5286
5519
|
type: NgModule,
|
|
5287
5520
|
args: [{
|
|
5288
5521
|
exports: [...KENDO_BUTTONGROUP],
|
|
@@ -5324,11 +5557,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
5324
5557
|
* ```
|
|
5325
5558
|
*/
|
|
5326
5559
|
class ButtonModule {
|
|
5560
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5561
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ButtonModule, imports: [ButtonComponent], exports: [ButtonComponent] });
|
|
5562
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonModule, providers: [IconsService], imports: [ButtonComponent] });
|
|
5327
5563
|
}
|
|
5328
|
-
|
|
5329
|
-
ButtonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: ButtonModule, imports: [ButtonComponent], exports: [ButtonComponent] });
|
|
5330
|
-
ButtonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ButtonModule, providers: [IconsService], imports: [ButtonComponent] });
|
|
5331
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ButtonModule, decorators: [{
|
|
5564
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonModule, decorators: [{
|
|
5332
5565
|
type: NgModule,
|
|
5333
5566
|
args: [{
|
|
5334
5567
|
imports: [ButtonComponent],
|
|
@@ -5370,11 +5603,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
5370
5603
|
* ```
|
|
5371
5604
|
*/
|
|
5372
5605
|
class ButtonsModule {
|
|
5606
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5607
|
+
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] });
|
|
5608
|
+
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] });
|
|
5373
5609
|
}
|
|
5374
|
-
|
|
5375
|
-
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] });
|
|
5376
|
-
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] });
|
|
5377
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ButtonsModule, decorators: [{
|
|
5610
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonsModule, decorators: [{
|
|
5378
5611
|
type: NgModule,
|
|
5379
5612
|
args: [{
|
|
5380
5613
|
imports: [...KENDO_BUTTONS],
|
|
@@ -5393,11 +5626,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
5393
5626
|
* - `SplitButtonCustomMessagesComponent`—The SplitButton custom messages component class.
|
|
5394
5627
|
*/
|
|
5395
5628
|
class SplitButtonModule {
|
|
5629
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SplitButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5630
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SplitButtonModule, imports: [SplitButtonComponent, SplitButtonCustomMessagesComponent], exports: [SplitButtonComponent, SplitButtonCustomMessagesComponent] });
|
|
5631
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SplitButtonModule, providers: [IconsService, PopupService, ResizeBatchService], imports: [SplitButtonComponent] });
|
|
5396
5632
|
}
|
|
5397
|
-
|
|
5398
|
-
SplitButtonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: SplitButtonModule, imports: [SplitButtonComponent, SplitButtonCustomMessagesComponent], exports: [SplitButtonComponent, SplitButtonCustomMessagesComponent] });
|
|
5399
|
-
SplitButtonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SplitButtonModule, providers: [IconsService, PopupService, ResizeBatchService], imports: [KENDO_SPLITBUTTON] });
|
|
5400
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SplitButtonModule, decorators: [{
|
|
5633
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SplitButtonModule, decorators: [{
|
|
5401
5634
|
type: NgModule,
|
|
5402
5635
|
args: [{
|
|
5403
5636
|
exports: [...KENDO_SPLITBUTTON],
|
|
@@ -5416,11 +5649,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
5416
5649
|
* - `ButtonItemTemplateDirective`—The Button item template directive.
|
|
5417
5650
|
*/
|
|
5418
5651
|
class DropDownButtonModule {
|
|
5652
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropDownButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5653
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DropDownButtonModule, imports: [DropDownButtonComponent, ButtonItemTemplateDirective], exports: [DropDownButtonComponent, ButtonItemTemplateDirective] });
|
|
5654
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropDownButtonModule, providers: [IconsService, PopupService, ResizeBatchService], imports: [DropDownButtonComponent] });
|
|
5419
5655
|
}
|
|
5420
|
-
|
|
5421
|
-
DropDownButtonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: DropDownButtonModule, imports: [DropDownButtonComponent, ButtonItemTemplateDirective], exports: [DropDownButtonComponent, ButtonItemTemplateDirective] });
|
|
5422
|
-
DropDownButtonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DropDownButtonModule, providers: [IconsService, PopupService, ResizeBatchService], imports: [DropDownButtonComponent] });
|
|
5423
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DropDownButtonModule, decorators: [{
|
|
5656
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropDownButtonModule, decorators: [{
|
|
5424
5657
|
type: NgModule,
|
|
5425
5658
|
args: [{
|
|
5426
5659
|
exports: [...KENDO_DROPDOWNBUTTON],
|
|
@@ -5436,15 +5669,15 @@ const EXPORTED_DIRECTIVES = [
|
|
|
5436
5669
|
];
|
|
5437
5670
|
//IMPORTANT: NgModule export kept for backwards compatibility
|
|
5438
5671
|
class ListModule {
|
|
5672
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5673
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ListModule, imports: [ListComponent,
|
|
5674
|
+
FocusableDirective,
|
|
5675
|
+
ButtonItemTemplateDirective], exports: [ListComponent,
|
|
5676
|
+
FocusableDirective,
|
|
5677
|
+
ButtonItemTemplateDirective] });
|
|
5678
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ListModule, providers: [IconsService], imports: [ListComponent] });
|
|
5439
5679
|
}
|
|
5440
|
-
|
|
5441
|
-
ListModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: ListModule, imports: [ListComponent,
|
|
5442
|
-
FocusableDirective,
|
|
5443
|
-
ButtonItemTemplateDirective], exports: [ListComponent,
|
|
5444
|
-
FocusableDirective,
|
|
5445
|
-
ButtonItemTemplateDirective] });
|
|
5446
|
-
ListModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ListModule, providers: [IconsService], imports: [ListComponent] });
|
|
5447
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ListModule, decorators: [{
|
|
5680
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ListModule, decorators: [{
|
|
5448
5681
|
type: NgModule,
|
|
5449
5682
|
args: [{
|
|
5450
5683
|
imports: [...EXPORTED_DIRECTIVES],
|
|
@@ -5483,11 +5716,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
5483
5716
|
* ```
|
|
5484
5717
|
*/
|
|
5485
5718
|
class ChipModule {
|
|
5719
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5720
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ChipModule, imports: [ChipComponent, ChipListComponent], exports: [ChipComponent, ChipListComponent] });
|
|
5721
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipModule, providers: [IconsService], imports: [ChipComponent] });
|
|
5486
5722
|
}
|
|
5487
|
-
|
|
5488
|
-
ChipModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: ChipModule, imports: [ChipComponent, ChipListComponent], exports: [ChipComponent, ChipListComponent] });
|
|
5489
|
-
ChipModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChipModule, providers: [IconsService], imports: [KENDO_CHIPLIST] });
|
|
5490
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChipModule, decorators: [{
|
|
5723
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipModule, decorators: [{
|
|
5491
5724
|
type: NgModule,
|
|
5492
5725
|
args: [{
|
|
5493
5726
|
exports: [...KENDO_CHIPLIST],
|
|
@@ -5526,11 +5759,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
5526
5759
|
* ```
|
|
5527
5760
|
*/
|
|
5528
5761
|
class FloatingActionButtonModule {
|
|
5762
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FloatingActionButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5763
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: FloatingActionButtonModule, imports: [FloatingActionButtonComponent, DialItemTemplateDirective, FloatingActionButtonTemplateDirective], exports: [FloatingActionButtonComponent, DialItemTemplateDirective, FloatingActionButtonTemplateDirective] });
|
|
5764
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FloatingActionButtonModule, providers: [IconsService, PopupService, ResizeBatchService], imports: [FloatingActionButtonComponent] });
|
|
5529
5765
|
}
|
|
5530
|
-
|
|
5531
|
-
FloatingActionButtonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: FloatingActionButtonModule, imports: [FloatingActionButtonComponent, DialItemTemplateDirective, FloatingActionButtonTemplateDirective], exports: [FloatingActionButtonComponent, DialItemTemplateDirective, FloatingActionButtonTemplateDirective] });
|
|
5532
|
-
FloatingActionButtonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FloatingActionButtonModule, providers: [IconsService, PopupService, ResizeBatchService], imports: [FloatingActionButtonComponent] });
|
|
5533
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FloatingActionButtonModule, decorators: [{
|
|
5766
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FloatingActionButtonModule, decorators: [{
|
|
5534
5767
|
type: NgModule,
|
|
5535
5768
|
args: [{
|
|
5536
5769
|
exports: [...KENDO_FLOATINGACTIONBUTTON],
|