@progress/kendo-angular-buttons 17.0.0-develop.21 → 17.0.0-develop.23
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 +7 -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 +123 -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 +212 -188
- package/{esm2020 → esm2022}/splitbutton/splitbutton.module.mjs +4 -4
- package/{fesm2020 → fesm2022}/progress-kendo-angular-buttons.mjs +1283 -1019
- 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 +8 -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: 1730104754,
|
|
46
|
+
version: '17.0.0-develop.23',
|
|
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,89 +2814,34 @@ 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
|
*
|
|
@@ -2764,6 +2853,29 @@ class DropDownButtonComponent extends ListButton {
|
|
|
2764
2853
|
get data() {
|
|
2765
2854
|
return this._data;
|
|
2766
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)).
|
|
@@ -2775,12 +2887,32 @@ class DropDownButtonComponent extends ListButton {
|
|
|
2775
2887
|
* * `link`
|
|
2776
2888
|
* * `none`
|
|
2777
2889
|
*/
|
|
2778
|
-
set fillMode(fillMode) {
|
|
2779
|
-
this._fillMode = fillMode === 'clear' ? 'flat' : fillMode;
|
|
2780
|
-
}
|
|
2781
|
-
get fillMode() {
|
|
2782
|
-
return this._fillMode;
|
|
2783
|
-
}
|
|
2890
|
+
set fillMode(fillMode) {
|
|
2891
|
+
this._fillMode = fillMode === 'clear' ? 'flat' : fillMode;
|
|
2892
|
+
}
|
|
2893
|
+
get fillMode() {
|
|
2894
|
+
return this._fillMode;
|
|
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,10 @@ 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;
|
|
2954
|
+
documentMouseUpSub;
|
|
2807
2955
|
/**
|
|
2808
2956
|
* @hidden
|
|
2809
2957
|
*/
|
|
@@ -2873,6 +3021,18 @@ class DropDownButtonComponent extends ListButton {
|
|
|
2873
3021
|
this.blurWrapper();
|
|
2874
3022
|
}
|
|
2875
3023
|
}
|
|
3024
|
+
constructor(focusService, navigationService, wrapperRef, zone, popupService, elRef, localization, cdr, containerService, renderer) {
|
|
3025
|
+
super(focusService, navigationService, wrapperRef, zone, popupService, elRef, localization, cdr, containerService);
|
|
3026
|
+
this.containerService = containerService;
|
|
3027
|
+
this.renderer = renderer;
|
|
3028
|
+
this._itemClick = this.itemClick;
|
|
3029
|
+
this._blur = this.onBlur;
|
|
3030
|
+
this.documentMouseUpSub = this.renderer.listen('document', 'mouseup', () => {
|
|
3031
|
+
if (this.active) {
|
|
3032
|
+
this._active = false;
|
|
3033
|
+
}
|
|
3034
|
+
});
|
|
3035
|
+
}
|
|
2876
3036
|
ngAfterViewInit() {
|
|
2877
3037
|
this.containerService.container = this.container;
|
|
2878
3038
|
this.containerService.template = this.popupTemplate;
|
|
@@ -2918,19 +3078,26 @@ class DropDownButtonComponent extends ListButton {
|
|
|
2918
3078
|
}
|
|
2919
3079
|
}
|
|
2920
3080
|
}
|
|
2921
|
-
|
|
2922
|
-
|
|
2923
|
-
|
|
2924
|
-
|
|
2925
|
-
|
|
2926
|
-
|
|
2927
|
-
|
|
2928
|
-
|
|
2929
|
-
|
|
2930
|
-
|
|
2931
|
-
|
|
2932
|
-
|
|
2933
|
-
|
|
3081
|
+
/**
|
|
3082
|
+
* @hidden
|
|
3083
|
+
*/
|
|
3084
|
+
ngOnDestroy() {
|
|
3085
|
+
if (this.documentMouseUpSub) {
|
|
3086
|
+
this.documentMouseUpSub();
|
|
3087
|
+
}
|
|
3088
|
+
}
|
|
3089
|
+
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 });
|
|
3090
|
+
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: [
|
|
3091
|
+
FocusService,
|
|
3092
|
+
NavigationService,
|
|
3093
|
+
NAVIGATION_SETTINGS_PROVIDER$2,
|
|
3094
|
+
LocalizationService,
|
|
3095
|
+
{
|
|
3096
|
+
provide: L10N_PREFIX,
|
|
3097
|
+
useValue: 'kendo.dropdownbutton'
|
|
3098
|
+
},
|
|
3099
|
+
PopupContainerService
|
|
3100
|
+
], queries: [{ propertyName: "itemTemplate", first: true, predicate: ButtonItemTemplateDirective, descendants: true }], exportAs: ["kendoDropDownButton"], usesInheritance: true, ngImport: i0, template: `
|
|
2934
3101
|
<button kendoButton #button
|
|
2935
3102
|
type="button"
|
|
2936
3103
|
[id]="buttonId"
|
|
@@ -2975,7 +3142,8 @@ DropDownButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
|
|
|
2975
3142
|
</ng-template>
|
|
2976
3143
|
<ng-container #container></ng-container>
|
|
2977
3144
|
`, 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
|
-
|
|
3145
|
+
}
|
|
3146
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropDownButtonComponent, decorators: [{
|
|
2979
3147
|
type: Component,
|
|
2980
3148
|
args: [{
|
|
2981
3149
|
exportAs: 'kendoDropDownButton',
|
|
@@ -3080,18 +3248,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
3080
3248
|
}], itemTemplate: [{
|
|
3081
3249
|
type: ContentChild,
|
|
3082
3250
|
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
3251
|
}], keydown: [{
|
|
3096
3252
|
type: HostListener,
|
|
3097
3253
|
args: ['keydown', ['$event']]
|
|
@@ -3177,13 +3333,14 @@ function closeAnimation(animationSettings) {
|
|
|
3177
3333
|
* ([see example]({% slug templates_floatingactionbutton %}#toc-dial-item-template)).
|
|
3178
3334
|
*/
|
|
3179
3335
|
class DialItemTemplateDirective {
|
|
3336
|
+
templateRef;
|
|
3180
3337
|
constructor(templateRef) {
|
|
3181
3338
|
this.templateRef = templateRef;
|
|
3182
3339
|
}
|
|
3340
|
+
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 });
|
|
3341
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DialItemTemplateDirective, isStandalone: true, selector: "[kendoDialItemTemplate]", ngImport: i0 });
|
|
3183
3342
|
}
|
|
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: [{
|
|
3343
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DialItemTemplateDirective, decorators: [{
|
|
3187
3344
|
type: Directive,
|
|
3188
3345
|
args: [{
|
|
3189
3346
|
selector: '[kendoDialItemTemplate]',
|
|
@@ -3200,13 +3357,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
3200
3357
|
* ([see example]({% slug templates_floatingactionbutton %}#toc-floatingactionbutton-template)).
|
|
3201
3358
|
*/
|
|
3202
3359
|
class FloatingActionButtonTemplateDirective {
|
|
3360
|
+
templateRef;
|
|
3203
3361
|
constructor(templateRef) {
|
|
3204
3362
|
this.templateRef = templateRef;
|
|
3205
3363
|
}
|
|
3364
|
+
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 });
|
|
3365
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: FloatingActionButtonTemplateDirective, isStandalone: true, selector: "[kendoFloatingActionButtonTemplate]", ngImport: i0 });
|
|
3206
3366
|
}
|
|
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: [{
|
|
3367
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FloatingActionButtonTemplateDirective, decorators: [{
|
|
3210
3368
|
type: Directive,
|
|
3211
3369
|
args: [{
|
|
3212
3370
|
selector: '[kendoFloatingActionButtonTemplate]',
|
|
@@ -3220,13 +3378,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
3220
3378
|
* @hidden
|
|
3221
3379
|
*/
|
|
3222
3380
|
class DialItemComponent {
|
|
3223
|
-
|
|
3224
|
-
|
|
3225
|
-
|
|
3226
|
-
|
|
3227
|
-
|
|
3228
|
-
this.role = 'menuitem';
|
|
3229
|
-
}
|
|
3381
|
+
element;
|
|
3382
|
+
renderer;
|
|
3383
|
+
localisationService;
|
|
3384
|
+
hostClass = true;
|
|
3385
|
+
role = 'menuitem';
|
|
3230
3386
|
get disabledClass() {
|
|
3231
3387
|
return this.item.disabled;
|
|
3232
3388
|
}
|
|
@@ -3237,6 +3393,18 @@ class DialItemComponent {
|
|
|
3237
3393
|
get indexAttr() {
|
|
3238
3394
|
return this.index;
|
|
3239
3395
|
}
|
|
3396
|
+
cssClass;
|
|
3397
|
+
cssStyle;
|
|
3398
|
+
isFocused;
|
|
3399
|
+
index;
|
|
3400
|
+
item;
|
|
3401
|
+
dialItemTemplate;
|
|
3402
|
+
align;
|
|
3403
|
+
constructor(element, renderer, localisationService) {
|
|
3404
|
+
this.element = element;
|
|
3405
|
+
this.renderer = renderer;
|
|
3406
|
+
this.localisationService = localisationService;
|
|
3407
|
+
}
|
|
3240
3408
|
get iconClasses() {
|
|
3241
3409
|
const classes = [];
|
|
3242
3410
|
if (this.item.iconClass) {
|
|
@@ -3267,9 +3435,8 @@ class DialItemComponent {
|
|
|
3267
3435
|
};
|
|
3268
3436
|
return directions[dir][align];
|
|
3269
3437
|
}
|
|
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: `
|
|
3438
|
+
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 });
|
|
3439
|
+
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
3440
|
<ng-template *ngIf="dialItemTemplate"
|
|
3274
3441
|
[ngTemplateOutlet]="dialItemTemplate"
|
|
3275
3442
|
[ngTemplateOutletContext]="{ $implicit: item, index: index, isFocused: isFocused }"
|
|
@@ -3286,7 +3453,8 @@ DialItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
|
|
|
3286
3453
|
[svgIcon]="item.svgIcon"></kendo-icon-wrapper>
|
|
3287
3454
|
</ng-container>
|
|
3288
3455
|
`, 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
|
-
|
|
3456
|
+
}
|
|
3457
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DialItemComponent, decorators: [{
|
|
3290
3458
|
type: Component,
|
|
3291
3459
|
args: [{
|
|
3292
3460
|
// eslint-disable-next-line @angular-eslint/component-selector
|
|
@@ -3352,28 +3520,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
3352
3520
|
* @hidden
|
|
3353
3521
|
*/
|
|
3354
3522
|
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
|
-
}
|
|
3523
|
+
focusService;
|
|
3524
|
+
cdr;
|
|
3525
|
+
hostClass = true;
|
|
3362
3526
|
get bottomClass() {
|
|
3363
3527
|
return this.align.vertical === 'top' || this.align.vertical === 'middle';
|
|
3364
3528
|
}
|
|
3365
3529
|
get topClass() {
|
|
3366
3530
|
return this.align.vertical === 'bottom';
|
|
3367
3531
|
}
|
|
3532
|
+
dialItems;
|
|
3533
|
+
dialItemTemplate;
|
|
3534
|
+
align;
|
|
3535
|
+
subscriptions = new Subscription();
|
|
3536
|
+
constructor(focusService, cdr) {
|
|
3537
|
+
this.focusService = focusService;
|
|
3538
|
+
this.cdr = cdr;
|
|
3539
|
+
this.subscriptions.add(this.focusService.onFocus.subscribe(() => this.cdr.detectChanges()));
|
|
3540
|
+
}
|
|
3368
3541
|
isFocused(index) {
|
|
3369
3542
|
return this.focusService.isFocused(index);
|
|
3370
3543
|
}
|
|
3371
3544
|
ngOnDestroy() {
|
|
3372
3545
|
this.subscriptions.unsubscribe();
|
|
3373
3546
|
}
|
|
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: `
|
|
3547
|
+
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 });
|
|
3548
|
+
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
3549
|
<ng-container *ngFor='let item of dialItems; let idx = index'>
|
|
3378
3550
|
<li
|
|
3379
3551
|
kendoButtonFocusable
|
|
@@ -3389,7 +3561,8 @@ DialListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
|
|
|
3389
3561
|
</li>
|
|
3390
3562
|
</ng-container>
|
|
3391
3563
|
`, 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
|
-
|
|
3564
|
+
}
|
|
3565
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DialListComponent, decorators: [{
|
|
3393
3566
|
type: Component,
|
|
3394
3567
|
args: [{
|
|
3395
3568
|
// eslint-disable-next-line @angular-eslint/component-selector
|
|
@@ -3462,101 +3635,25 @@ const DEFAULT_THEME_COLOR = 'primary';
|
|
|
3462
3635
|
*
|
|
3463
3636
|
*/
|
|
3464
3637
|
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
|
-
}
|
|
3638
|
+
renderer;
|
|
3639
|
+
element;
|
|
3640
|
+
focusService;
|
|
3641
|
+
navigationService;
|
|
3642
|
+
ngZone;
|
|
3643
|
+
popupService;
|
|
3644
|
+
builder;
|
|
3645
|
+
localizationService;
|
|
3554
3646
|
get fixedClass() {
|
|
3555
3647
|
return this.positionMode === 'fixed';
|
|
3556
3648
|
}
|
|
3557
3649
|
get absoluteClass() {
|
|
3558
3650
|
return this.positionMode === 'absolute';
|
|
3559
3651
|
}
|
|
3652
|
+
direction;
|
|
3653
|
+
button;
|
|
3654
|
+
popupTemplate;
|
|
3655
|
+
dialItemTemplate;
|
|
3656
|
+
fabTemplate;
|
|
3560
3657
|
/**
|
|
3561
3658
|
* Specifies the theme color of the FloatingActionButton
|
|
3562
3659
|
* ([see example](slug:appearance_floatingactionbutton#toc-theme-colors)).
|
|
@@ -3659,12 +3756,131 @@ class FloatingActionButtonComponent {
|
|
|
3659
3756
|
get offset() {
|
|
3660
3757
|
return this._offset;
|
|
3661
3758
|
}
|
|
3759
|
+
/**
|
|
3760
|
+
* Specifies the positionMode of the FloatingActionButton
|
|
3761
|
+
* ([see example](slug:positioning_floatingactionbutton#toc-position-mode)).
|
|
3762
|
+
*
|
|
3763
|
+
* * The possible values are:
|
|
3764
|
+
* * `absolute`—Positions the FloatingActionButton absolutely to its first positioned parent element.
|
|
3765
|
+
* * `fixed` (Default)—Positions the FloatingActionButton relative to the viewport. It always stays in the same place even if the page is scrolled.
|
|
3766
|
+
*/
|
|
3767
|
+
positionMode = 'fixed';
|
|
3768
|
+
/**
|
|
3769
|
+
* Defines the name of an existing icon in a Kendo UI theme.
|
|
3770
|
+
* If provided, the icon will be rendered inside the FloatingActionButton by a `span.k-icon` element.
|
|
3771
|
+
*/
|
|
3772
|
+
icon;
|
|
3773
|
+
/**
|
|
3774
|
+
* Defines an [`SVGIcon`](slug:api_icons_svgicon) to be rendered within the FloatingActionButton.
|
|
3775
|
+
*/
|
|
3776
|
+
svgIcon;
|
|
3777
|
+
/**
|
|
3778
|
+
* Defines a CSS class or multiple classes separated by spaces which are applied to a `span` element.
|
|
3779
|
+
* Allows the usage of custom icons, rendered inside the FloatingActionButton by a `span` element.
|
|
3780
|
+
*/
|
|
3781
|
+
iconClass;
|
|
3782
|
+
/**
|
|
3783
|
+
* The CSS classes that will be rendered on the main button.
|
|
3784
|
+
* Supports the type of values that are supported by [`ngClass`](link:site.data.urls.angular['ngclassapi']).
|
|
3785
|
+
*/
|
|
3786
|
+
buttonClass;
|
|
3787
|
+
/**
|
|
3788
|
+
* The CSS classes that will be rendered on the dial items `ul` element.
|
|
3789
|
+
* Supports the type of values that are supported by [`ngClass`](link:site.data.urls.angular['ngclassapi']).
|
|
3790
|
+
*/
|
|
3791
|
+
dialClass;
|
|
3792
|
+
/**
|
|
3793
|
+
* Specifies the text content of the FloatingActionButton.
|
|
3794
|
+
*/
|
|
3795
|
+
text;
|
|
3796
|
+
/**
|
|
3797
|
+
* Specifies the animation settings of the FloatingActionButton dial items.
|
|
3798
|
+
* ([see example]({% slug dialitems_floatingactionbutton %}#toc-animation)).
|
|
3799
|
+
*
|
|
3800
|
+
* The possible values are:
|
|
3801
|
+
* * Boolean
|
|
3802
|
+
* * (Default) `true`—Applies the default [`DialItemAnimation`]({% slug api_buttons_dialitemanimation %}) settings.
|
|
3803
|
+
* * `false`
|
|
3804
|
+
* * `DialItemAnimation`
|
|
3805
|
+
* * `duration`—Specifies the animation duration in milliseconds for each dial item. Defaults to `180ms`.
|
|
3806
|
+
* * `gap`—Specifies the animation duration gap in milliseconds after each dial item is animated. Defaults to `90ms`.
|
|
3807
|
+
*/
|
|
3808
|
+
dialItemAnimation = true;
|
|
3809
|
+
/**
|
|
3810
|
+
* Specifies the [`tabIndex`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of the FloatingActionButton.
|
|
3811
|
+
*/
|
|
3812
|
+
tabIndex = 0;
|
|
3813
|
+
/**
|
|
3814
|
+
* Specifies the collection of the dial items that will be rendered in the FloatingActionButton popup.
|
|
3815
|
+
*/
|
|
3816
|
+
dialItems = [];
|
|
3817
|
+
/**
|
|
3818
|
+
* Fires each time the FloatingActionButton gets blurred.
|
|
3819
|
+
*/
|
|
3820
|
+
onBlur = new EventEmitter();
|
|
3821
|
+
/**
|
|
3822
|
+
* Fires each time the FloatingActionButton gets focused.
|
|
3823
|
+
*/
|
|
3824
|
+
onFocus = new EventEmitter();
|
|
3825
|
+
/**
|
|
3826
|
+
* Fires each time a dial item is clicked.
|
|
3827
|
+
*/
|
|
3828
|
+
dialItemClick = new EventEmitter();
|
|
3829
|
+
/**
|
|
3830
|
+
* Fires each time the popup is about to open.
|
|
3831
|
+
* This event is preventable. If you cancel the event, the popup will remain closed
|
|
3832
|
+
* ([more information and example](slug:events_floatingactionbutton)).
|
|
3833
|
+
*/
|
|
3834
|
+
open = new EventEmitter();
|
|
3835
|
+
/**
|
|
3836
|
+
* Fires each time the popup is about to close.
|
|
3837
|
+
* This event is preventable. If you cancel the event, the popup will remain open
|
|
3838
|
+
* ([more information and example](slug:events_floatingactionbutton)).
|
|
3839
|
+
*/
|
|
3840
|
+
close = new EventEmitter();
|
|
3662
3841
|
/**
|
|
3663
3842
|
* @hidden
|
|
3664
3843
|
*/
|
|
3665
3844
|
get componentTabIndex() {
|
|
3666
3845
|
return this.disabled ? (-1) : this.tabIndex;
|
|
3667
3846
|
}
|
|
3847
|
+
/**
|
|
3848
|
+
* @hidden
|
|
3849
|
+
*/
|
|
3850
|
+
id = `k-${guid()}`;
|
|
3851
|
+
/**
|
|
3852
|
+
* @hidden
|
|
3853
|
+
*/
|
|
3854
|
+
dialListId = `k-dial-list-${guid()}`;
|
|
3855
|
+
_themeColor = DEFAULT_THEME_COLOR;
|
|
3856
|
+
_size = DEFAULT_SIZE;
|
|
3857
|
+
_rounded = DEFAULT_ROUNDED$1;
|
|
3858
|
+
_disabled = false;
|
|
3859
|
+
_align = { horizontal: 'end', vertical: 'bottom' };
|
|
3860
|
+
_offset = { x: DEFAULT_OFFSET, y: DEFAULT_OFFSET };
|
|
3861
|
+
subscriptions = new Subscription();
|
|
3862
|
+
popupMouseDownListener;
|
|
3863
|
+
rtl = false;
|
|
3864
|
+
animationEnd = new EventEmitter();
|
|
3865
|
+
popupRef;
|
|
3866
|
+
initialSetup = true;
|
|
3867
|
+
focusChangedProgrammatically = false;
|
|
3868
|
+
constructor(renderer, element, focusService, navigationService, ngZone, popupService, builder, localizationService) {
|
|
3869
|
+
this.renderer = renderer;
|
|
3870
|
+
this.element = element;
|
|
3871
|
+
this.focusService = focusService;
|
|
3872
|
+
this.navigationService = navigationService;
|
|
3873
|
+
this.ngZone = ngZone;
|
|
3874
|
+
this.popupService = popupService;
|
|
3875
|
+
this.builder = builder;
|
|
3876
|
+
this.localizationService = localizationService;
|
|
3877
|
+
validatePackage(packageMetadata);
|
|
3878
|
+
this.subscribeNavigationEvents();
|
|
3879
|
+
this.subscriptions.add(this.localizationService.changes.subscribe(({ rtl }) => {
|
|
3880
|
+
this.rtl = rtl;
|
|
3881
|
+
this.direction = this.rtl ? 'rtl' : 'ltr';
|
|
3882
|
+
}));
|
|
3883
|
+
}
|
|
3668
3884
|
ngAfterViewInit() {
|
|
3669
3885
|
['size', 'rounded', 'themeColor'].forEach(option => this.handleClasses(this[option], option));
|
|
3670
3886
|
this.renderer.addClass(this.element.nativeElement, this.alignClass());
|
|
@@ -4120,18 +4336,17 @@ class FloatingActionButtonComponent {
|
|
|
4120
4336
|
}
|
|
4121
4337
|
return DEFAULT_DURATION;
|
|
4122
4338
|
}
|
|
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: `
|
|
4339
|
+
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 });
|
|
4340
|
+
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: [
|
|
4341
|
+
FocusService,
|
|
4342
|
+
NavigationService,
|
|
4343
|
+
NAVIGATION_SETTINGS_PROVIDER$1,
|
|
4344
|
+
LocalizationService,
|
|
4345
|
+
{
|
|
4346
|
+
provide: L10N_PREFIX,
|
|
4347
|
+
useValue: 'kendo.floatingactionbutton'
|
|
4348
|
+
}
|
|
4349
|
+
], 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
4350
|
<button
|
|
4136
4351
|
#button
|
|
4137
4352
|
[attr.id]="id"
|
|
@@ -4189,7 +4404,8 @@ FloatingActionButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "1
|
|
|
4189
4404
|
</ul>
|
|
4190
4405
|
</ng-template>
|
|
4191
4406
|
`, 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
|
-
|
|
4407
|
+
}
|
|
4408
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FloatingActionButtonComponent, decorators: [{
|
|
4193
4409
|
type: Component,
|
|
4194
4410
|
args: [{
|
|
4195
4411
|
selector: 'kendo-floatingactionbutton',
|
|
@@ -4336,10 +4552,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
4336
4552
|
* @hidden
|
|
4337
4553
|
*/
|
|
4338
4554
|
class Messages extends ComponentMessages {
|
|
4555
|
+
/**
|
|
4556
|
+
* The text for the SplitButton aria-label.
|
|
4557
|
+
*
|
|
4558
|
+
* The text for the aria-label consists of a two-part message - the text of the SplitButton and a localizable string.
|
|
4559
|
+
* For a SplitButton with text 'Reply', the default aria-label will be 'Reply splitbutton'.
|
|
4560
|
+
*
|
|
4561
|
+
* To allow reordering of the SplitButton text and the localizable part, the splitButtonLabel accepts a string with a
|
|
4562
|
+
* placeholder for the button text - e.g. 'splitbutton for {buttonText}'. The '{buttonText}' placeholder will be replaced
|
|
4563
|
+
* internally with the current SplitButton text, and the resulting aria-label will be rendered as 'splitbutton for Reply'.
|
|
4564
|
+
*
|
|
4565
|
+
* @example
|
|
4566
|
+
*
|
|
4567
|
+
* ```ts-no-run
|
|
4568
|
+
* <kendo-splitbutton>
|
|
4569
|
+
* <kendo-splitbutton-messages
|
|
4570
|
+
* splitButtonLabel="splitbutton for {buttonText}"
|
|
4571
|
+
* >
|
|
4572
|
+
* </kendo-splitbutton-messages>
|
|
4573
|
+
* </kendo-splitbutton>
|
|
4574
|
+
* ```
|
|
4575
|
+
*/
|
|
4576
|
+
splitButtonLabel;
|
|
4577
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: Messages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
4578
|
+
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
4579
|
}
|
|
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: [{
|
|
4580
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: Messages, decorators: [{
|
|
4343
4581
|
type: Directive,
|
|
4344
4582
|
args: [{
|
|
4345
4583
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
@@ -4354,6 +4592,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
4354
4592
|
* ([see example]({% slug rtl_buttons %}).
|
|
4355
4593
|
*/
|
|
4356
4594
|
class SplitButtonCustomMessagesComponent extends Messages {
|
|
4595
|
+
service;
|
|
4357
4596
|
constructor(service) {
|
|
4358
4597
|
super();
|
|
4359
4598
|
this.service = service;
|
|
@@ -4361,13 +4600,13 @@ class SplitButtonCustomMessagesComponent extends Messages {
|
|
|
4361
4600
|
get override() {
|
|
4362
4601
|
return true;
|
|
4363
4602
|
}
|
|
4603
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SplitButtonCustomMessagesComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
4604
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SplitButtonCustomMessagesComponent, isStandalone: true, selector: "kendo-splitbutton-messages", providers: [{
|
|
4605
|
+
provide: Messages,
|
|
4606
|
+
useExisting: forwardRef(() => SplitButtonCustomMessagesComponent)
|
|
4607
|
+
}], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
|
|
4364
4608
|
}
|
|
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: [{
|
|
4609
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SplitButtonCustomMessagesComponent, decorators: [{
|
|
4371
4610
|
type: Component,
|
|
4372
4611
|
args: [{
|
|
4373
4612
|
providers: [{
|
|
@@ -4384,19 +4623,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
4384
4623
|
* @hidden
|
|
4385
4624
|
*/
|
|
4386
4625
|
class LocalizedSplitButtonMessagesDirective extends Messages {
|
|
4626
|
+
service;
|
|
4387
4627
|
constructor(service) {
|
|
4388
4628
|
super();
|
|
4389
4629
|
this.service = service;
|
|
4390
4630
|
}
|
|
4631
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LocalizedSplitButtonMessagesDirective, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
4632
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: LocalizedSplitButtonMessagesDirective, isStandalone: true, selector: "[kendoSplitButtonLocalizedMessages]", providers: [
|
|
4633
|
+
{
|
|
4634
|
+
provide: Messages,
|
|
4635
|
+
useExisting: forwardRef(() => LocalizedSplitButtonMessagesDirective)
|
|
4636
|
+
}
|
|
4637
|
+
], usesInheritance: true, ngImport: i0 });
|
|
4391
4638
|
}
|
|
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: [{
|
|
4639
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LocalizedSplitButtonMessagesDirective, decorators: [{
|
|
4400
4640
|
type: Directive,
|
|
4401
4641
|
args: [{
|
|
4402
4642
|
providers: [
|
|
@@ -4461,154 +4701,46 @@ const DEFAULT_FILL_MODE = 'solid';
|
|
|
4461
4701
|
* ```
|
|
4462
4702
|
*/
|
|
4463
4703
|
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
|
-
}
|
|
4704
|
+
localization;
|
|
4705
|
+
renderer;
|
|
4706
|
+
/**
|
|
4707
|
+
* Sets the text of the SplitButton.
|
|
4708
|
+
*/
|
|
4709
|
+
text = '';
|
|
4710
|
+
/**
|
|
4711
|
+
* Defines an icon to be rendered next to the button text.
|
|
4712
|
+
* ([see example]({% slug databinding_splitbutton %}#toc-arrays-of-complex-data)).
|
|
4713
|
+
*/
|
|
4714
|
+
icon = '';
|
|
4715
|
+
/**
|
|
4716
|
+
* Defines an SVGIcon to be rendered next to the button text.
|
|
4717
|
+
*/
|
|
4718
|
+
svgIcon;
|
|
4719
|
+
/**
|
|
4720
|
+
* Defines an icon with a custom CSS class to be rendered next to the button text
|
|
4721
|
+
* ([see example]({% slug databinding_splitbutton %}#toc-arrays-of-complex-data)).
|
|
4722
|
+
*/
|
|
4723
|
+
iconClass;
|
|
4724
|
+
/**
|
|
4725
|
+
* Defines the type attribute of the main button
|
|
4726
|
+
*/
|
|
4727
|
+
type = 'button';
|
|
4728
|
+
/**
|
|
4729
|
+
* Defines the location of an image to be displayed next to the button text
|
|
4730
|
+
* ([see example]({% slug databinding_splitbutton %}#toc-arrays-of-complex-data)).
|
|
4731
|
+
*/
|
|
4732
|
+
imageUrl = '';
|
|
4733
|
+
/**
|
|
4734
|
+
* The size property specifies the padding of the SplitButton
|
|
4735
|
+
* ([see example]({% slug api_buttons_splitbuttoncomponent %}#toc-size)).
|
|
4736
|
+
*
|
|
4737
|
+
* The possible values are:
|
|
4738
|
+
* * `small`
|
|
4739
|
+
* * `medium` (default)
|
|
4740
|
+
* * `large`
|
|
4741
|
+
* * `none`
|
|
4742
|
+
*/
|
|
4743
|
+
size = 'medium';
|
|
4612
4744
|
/**
|
|
4613
4745
|
* The rounded property specifies the border radius of the SplitButton
|
|
4614
4746
|
* ([see example]({% slug api_buttons_splitbuttoncomponent %}#toc-rounded)).
|
|
@@ -4645,6 +4777,26 @@ class SplitButtonComponent extends ListButton {
|
|
|
4645
4777
|
get fillMode() {
|
|
4646
4778
|
return this._fillMode;
|
|
4647
4779
|
}
|
|
4780
|
+
/**
|
|
4781
|
+
* The SplitButton allows you to specify predefined theme colors.
|
|
4782
|
+
* The theme color will be applied as a background and border color while also amending the text color accordingly
|
|
4783
|
+
* ([see example]({% slug api_buttons_splitbuttoncomponent %}#toc-themeColor)).
|
|
4784
|
+
*
|
|
4785
|
+
* The possible values are:
|
|
4786
|
+
* * `base` —Applies coloring based on the `base` theme color. (default)
|
|
4787
|
+
* * `primary` —Applies coloring based on the `primary` theme color.
|
|
4788
|
+
* * `secondary`—Applies coloring based on the `secondary` theme color.
|
|
4789
|
+
* * `tertiary`— Applies coloring based on the `tertiary` theme color.
|
|
4790
|
+
* * `info`—Applies coloring based on the `info` theme color.
|
|
4791
|
+
* * `success`— Applies coloring based on the `success` theme color.
|
|
4792
|
+
* * `warning`— Applies coloring based on the `warning` theme color.
|
|
4793
|
+
* * `error`— Applies coloring based on the `error` theme color.
|
|
4794
|
+
* * `dark`— Applies coloring based on the `dark` theme color.
|
|
4795
|
+
* * `light`— Applies coloring based on the `light` theme color.
|
|
4796
|
+
* * `inverse`— Applies coloring based on the `inverse` theme color.
|
|
4797
|
+
* * `none`— Removes the built in theme color.
|
|
4798
|
+
*/
|
|
4799
|
+
themeColor = 'base';
|
|
4648
4800
|
/**
|
|
4649
4801
|
* When set to `true`, disables a SplitButton item
|
|
4650
4802
|
* ([see example]({% slug databinding_splitbutton %}#toc-arrays-of-complex-data)).
|
|
@@ -4673,6 +4825,14 @@ class SplitButtonComponent extends ListButton {
|
|
|
4673
4825
|
get popupSettings() {
|
|
4674
4826
|
return this._popupSettings;
|
|
4675
4827
|
}
|
|
4828
|
+
/**
|
|
4829
|
+
* Specifies the [`tabIndex`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of the component.
|
|
4830
|
+
*/
|
|
4831
|
+
tabIndex = 0;
|
|
4832
|
+
/**
|
|
4833
|
+
* Configures the text field of the button-list popup.
|
|
4834
|
+
*/
|
|
4835
|
+
textField;
|
|
4676
4836
|
/**
|
|
4677
4837
|
* Sets the data of the SplitButton.
|
|
4678
4838
|
*
|
|
@@ -4687,6 +4847,21 @@ class SplitButtonComponent extends ListButton {
|
|
|
4687
4847
|
}
|
|
4688
4848
|
return this._data;
|
|
4689
4849
|
}
|
|
4850
|
+
/**
|
|
4851
|
+
* The CSS classes that will be rendered on the button which opens the popup.
|
|
4852
|
+
* Supports the type of values that are supported by [`ngClass`](link:site.data.urls.angular['ngclassapi']).
|
|
4853
|
+
*/
|
|
4854
|
+
arrowButtonClass;
|
|
4855
|
+
/**
|
|
4856
|
+
* Specifies the name of the [font icon]({% slug icons %}#toc-list-of-font-icons) that will
|
|
4857
|
+
* be rendered for the button which opens the popup.
|
|
4858
|
+
*/
|
|
4859
|
+
arrowButtonIcon = 'caret-alt-down';
|
|
4860
|
+
/**
|
|
4861
|
+
* Specifies the [`SVGIcon`](slug:api_icons_svgicon) that will
|
|
4862
|
+
* be rendered for the button which opens the popup.
|
|
4863
|
+
*/
|
|
4864
|
+
arrowButtonSvgIcon = caretAltDownIcon;
|
|
4690
4865
|
/**
|
|
4691
4866
|
* Sets attributes to the main button.
|
|
4692
4867
|
*/
|
|
@@ -4698,6 +4873,80 @@ class SplitButtonComponent extends ListButton {
|
|
|
4698
4873
|
get buttonAttributes() {
|
|
4699
4874
|
return this._buttonAttributes;
|
|
4700
4875
|
}
|
|
4876
|
+
/**
|
|
4877
|
+
* Fires each time the user clicks the main button.
|
|
4878
|
+
*
|
|
4879
|
+
* @example
|
|
4880
|
+
* ```ts
|
|
4881
|
+
* _@Component({
|
|
4882
|
+
* selector: 'my-app',
|
|
4883
|
+
* template: `
|
|
4884
|
+
* <kendo-splitbutton (buttonClick)="onSplitButtonClick()" [data]="data">
|
|
4885
|
+
* Reply
|
|
4886
|
+
* </kendo-splitbutton>
|
|
4887
|
+
* `
|
|
4888
|
+
* })
|
|
4889
|
+
* class AppComponent {
|
|
4890
|
+
* public data: Array<any> = ['Reply All', 'Forward', 'Reply & Delete'];
|
|
4891
|
+
*
|
|
4892
|
+
* public onSplitButtonClick(): void {
|
|
4893
|
+
* console.log('SplitButton click');
|
|
4894
|
+
* }
|
|
4895
|
+
* }
|
|
4896
|
+
* ```
|
|
4897
|
+
*
|
|
4898
|
+
*/
|
|
4899
|
+
buttonClick = new EventEmitter();
|
|
4900
|
+
/**
|
|
4901
|
+
* Fires each time the user clicks on the drop-down list. The event data contains the data item bound to the clicked list item.
|
|
4902
|
+
*
|
|
4903
|
+
* @example
|
|
4904
|
+
* ```ts
|
|
4905
|
+
* _@Component({
|
|
4906
|
+
* selector: 'my-app',
|
|
4907
|
+
* template: `
|
|
4908
|
+
* <kendo-splitbutton (itemClick)="onSplitButtonItemClick($event)" [data]="data">
|
|
4909
|
+
* Reply
|
|
4910
|
+
* </kendo-splitbutton>
|
|
4911
|
+
* `
|
|
4912
|
+
* })
|
|
4913
|
+
* class AppComponent {
|
|
4914
|
+
* public data: Array<any> = ['Reply All', 'Forward', 'Reply & Delete'];
|
|
4915
|
+
*
|
|
4916
|
+
* public onSplitButtonItemClick(dataItem?: string): void {
|
|
4917
|
+
* if (dataItem) {
|
|
4918
|
+
* console.log(dataItem);
|
|
4919
|
+
* }
|
|
4920
|
+
* }
|
|
4921
|
+
* }
|
|
4922
|
+
* ```
|
|
4923
|
+
*
|
|
4924
|
+
*/
|
|
4925
|
+
itemClick = new EventEmitter();
|
|
4926
|
+
/**
|
|
4927
|
+
* Fires each time the SplitButton gets focused.
|
|
4928
|
+
*/
|
|
4929
|
+
onFocus = new EventEmitter();
|
|
4930
|
+
/**
|
|
4931
|
+
* Fires each time the SplitButton gets blurred.
|
|
4932
|
+
*/
|
|
4933
|
+
onBlur = new EventEmitter();
|
|
4934
|
+
/**
|
|
4935
|
+
* Fires each time the popup is about to open.
|
|
4936
|
+
* This event is preventable. If you cancel the event, the popup will remain closed.
|
|
4937
|
+
*/
|
|
4938
|
+
open = new EventEmitter();
|
|
4939
|
+
/**
|
|
4940
|
+
* Fires each time the popup is about to close.
|
|
4941
|
+
* This event is preventable. If you cancel the event, the popup will remain open.
|
|
4942
|
+
*/
|
|
4943
|
+
close = new EventEmitter();
|
|
4944
|
+
/**
|
|
4945
|
+
* An item template that helps to customize the item content.
|
|
4946
|
+
*/
|
|
4947
|
+
itemTemplate;
|
|
4948
|
+
activeArrow = false;
|
|
4949
|
+
listId = guid();
|
|
4701
4950
|
/**
|
|
4702
4951
|
* @hidden
|
|
4703
4952
|
*/
|
|
@@ -4716,6 +4965,12 @@ class SplitButtonComponent extends ListButton {
|
|
|
4716
4965
|
get componentTabIndex() {
|
|
4717
4966
|
return this.disabled ? -1 : this.tabIndex;
|
|
4718
4967
|
}
|
|
4968
|
+
buttonText = '';
|
|
4969
|
+
arrowButtonClicked = false;
|
|
4970
|
+
_rounded = DEFAULT_ROUNDED;
|
|
4971
|
+
_fillMode = DEFAULT_FILL_MODE;
|
|
4972
|
+
_buttonAttributes = null;
|
|
4973
|
+
documentMouseUpSub;
|
|
4719
4974
|
set isFocused(value) {
|
|
4720
4975
|
this._isFocused = value;
|
|
4721
4976
|
}
|
|
@@ -4809,7 +5064,7 @@ class SplitButtonComponent extends ListButton {
|
|
|
4809
5064
|
* @hidden
|
|
4810
5065
|
*/
|
|
4811
5066
|
ngAfterViewInit() {
|
|
4812
|
-
this.containerService.container = this.
|
|
5067
|
+
this.containerService.container = this.container;
|
|
4813
5068
|
this.containerService.template = this.popupTemplate;
|
|
4814
5069
|
this.updateButtonText();
|
|
4815
5070
|
this.handleClasses(this.rounded, 'rounded');
|
|
@@ -4833,6 +5088,14 @@ class SplitButtonComponent extends ListButton {
|
|
|
4833
5088
|
popup.popupAlign = this.popupAlign;
|
|
4834
5089
|
}
|
|
4835
5090
|
}
|
|
5091
|
+
/**
|
|
5092
|
+
* @hidden
|
|
5093
|
+
*/
|
|
5094
|
+
ngOnDestroy() {
|
|
5095
|
+
if (this.documentMouseUpSub) {
|
|
5096
|
+
this.documentMouseUpSub();
|
|
5097
|
+
}
|
|
5098
|
+
}
|
|
4836
5099
|
/**
|
|
4837
5100
|
* @hidden
|
|
4838
5101
|
*/
|
|
@@ -4901,6 +5164,21 @@ class SplitButtonComponent extends ListButton {
|
|
|
4901
5164
|
this.blurWrapper();
|
|
4902
5165
|
}
|
|
4903
5166
|
}
|
|
5167
|
+
constructor(focusService, navigationService, wrapperRef, zone, popupService, elRef, localization, cdr, renderer, containerService) {
|
|
5168
|
+
super(focusService, navigationService, wrapperRef, zone, popupService, elRef, localization, cdr, containerService);
|
|
5169
|
+
this.localization = localization;
|
|
5170
|
+
this.renderer = renderer;
|
|
5171
|
+
this._itemClick = this.itemClick;
|
|
5172
|
+
this._blur = this.onBlur;
|
|
5173
|
+
this.documentMouseUpSub = this.renderer.listen('document', 'mouseup', () => {
|
|
5174
|
+
if (this.active) {
|
|
5175
|
+
this._active = false;
|
|
5176
|
+
}
|
|
5177
|
+
if (this.activeArrow) {
|
|
5178
|
+
this.activeArrow = false;
|
|
5179
|
+
}
|
|
5180
|
+
});
|
|
5181
|
+
}
|
|
4904
5182
|
/**
|
|
4905
5183
|
* Returns the current open state of the popup.
|
|
4906
5184
|
*/
|
|
@@ -4943,26 +5221,26 @@ class SplitButtonComponent extends ListButton {
|
|
|
4943
5221
|
}
|
|
4944
5222
|
}
|
|
4945
5223
|
}
|
|
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: `
|
|
5224
|
+
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 });
|
|
5225
|
+
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: [
|
|
5226
|
+
FocusService,
|
|
5227
|
+
NavigationService,
|
|
5228
|
+
NAVIGATION_SETTINGS_PROVIDER,
|
|
5229
|
+
LocalizationService,
|
|
5230
|
+
{
|
|
5231
|
+
provide: L10N_PREFIX,
|
|
5232
|
+
useValue: 'kendo.splitbutton'
|
|
5233
|
+
},
|
|
5234
|
+
PopupContainerService,
|
|
5235
|
+
{
|
|
5236
|
+
provide: MultiTabStop,
|
|
5237
|
+
useExisting: forwardRef(() => SplitButtonComponent)
|
|
5238
|
+
}
|
|
5239
|
+
], queries: [{ propertyName: "itemTemplate", first: true, predicate: ButtonItemTemplateDirective, descendants: true }], exportAs: ["kendoSplitButton"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
|
|
4963
5240
|
<ng-container kendoSplitButtonLocalizedMessages
|
|
4964
5241
|
i18n-splitButtonLabel="kendo.splitbutton.splitButtonLabel|The text for the SplitButton aria-label"
|
|
4965
|
-
splitButtonLabel="{{ '{buttonText} splitbutton' }}"
|
|
5242
|
+
splitButtonLabel="{{ '{buttonText} splitbutton' }}"
|
|
5243
|
+
>
|
|
4966
5244
|
</ng-container>
|
|
4967
5245
|
<button
|
|
4968
5246
|
kendoButton
|
|
@@ -4990,8 +5268,7 @@ SplitButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", v
|
|
|
4990
5268
|
[attr.aria-label]="ariaLabel"
|
|
4991
5269
|
>
|
|
4992
5270
|
<span *ngIf="text" class="k-button-text">
|
|
4993
|
-
{{ text }}
|
|
4994
|
-
</span><ng-content></ng-content>
|
|
5271
|
+
{{ text }} </span><ng-content></ng-content>
|
|
4995
5272
|
</button>
|
|
4996
5273
|
<button kendoButton #arrowButton type="button"
|
|
4997
5274
|
class="k-split-button-arrow"
|
|
@@ -5027,7 +5304,8 @@ SplitButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", v
|
|
|
5027
5304
|
</ng-template>
|
|
5028
5305
|
<ng-container #container></ng-container>
|
|
5029
5306
|
`, 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
|
-
|
|
5307
|
+
}
|
|
5308
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SplitButtonComponent, decorators: [{
|
|
5031
5309
|
type: Component,
|
|
5032
5310
|
args: [{
|
|
5033
5311
|
exportAs: 'kendoSplitButton',
|
|
@@ -5050,7 +5328,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
5050
5328
|
template: `
|
|
5051
5329
|
<ng-container kendoSplitButtonLocalizedMessages
|
|
5052
5330
|
i18n-splitButtonLabel="kendo.splitbutton.splitButtonLabel|The text for the SplitButton aria-label"
|
|
5053
|
-
splitButtonLabel="{{ '{buttonText} splitbutton' }}"
|
|
5331
|
+
splitButtonLabel="{{ '{buttonText} splitbutton' }}"
|
|
5332
|
+
>
|
|
5054
5333
|
</ng-container>
|
|
5055
5334
|
<button
|
|
5056
5335
|
kendoButton
|
|
@@ -5078,8 +5357,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
5078
5357
|
[attr.aria-label]="ariaLabel"
|
|
5079
5358
|
>
|
|
5080
5359
|
<span *ngIf="text" class="k-button-text">
|
|
5081
|
-
{{ text }}
|
|
5082
|
-
</span><ng-content></ng-content>
|
|
5360
|
+
{{ text }} </span><ng-content></ng-content>
|
|
5083
5361
|
</button>
|
|
5084
5362
|
<button kendoButton #arrowButton type="button"
|
|
5085
5363
|
class="k-split-button-arrow"
|
|
@@ -5148,8 +5426,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
5148
5426
|
type: Input
|
|
5149
5427
|
}], data: [{
|
|
5150
5428
|
type: Input
|
|
5151
|
-
}], buttonClass: [{
|
|
5152
|
-
type: Input
|
|
5153
5429
|
}], arrowButtonClass: [{
|
|
5154
5430
|
type: Input
|
|
5155
5431
|
}], arrowButtonIcon: [{
|
|
@@ -5175,18 +5451,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
5175
5451
|
}], itemTemplate: [{
|
|
5176
5452
|
type: ContentChild,
|
|
5177
5453
|
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
5454
|
}], isFocused: [{
|
|
5191
5455
|
type: HostBinding,
|
|
5192
5456
|
args: ['class.k-focus']
|
|
@@ -5278,11 +5542,11 @@ const KENDO_BUTTONS = [
|
|
|
5278
5542
|
* - `ButtonComponent`—The Button component class.
|
|
5279
5543
|
*/
|
|
5280
5544
|
class ButtonGroupModule {
|
|
5545
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonGroupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5546
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ButtonGroupModule, imports: [ButtonComponent, ButtonGroupComponent], exports: [ButtonComponent, ButtonGroupComponent] });
|
|
5547
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonGroupModule, providers: [IconsService], imports: [ButtonComponent] });
|
|
5281
5548
|
}
|
|
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: [{
|
|
5549
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonGroupModule, decorators: [{
|
|
5286
5550
|
type: NgModule,
|
|
5287
5551
|
args: [{
|
|
5288
5552
|
exports: [...KENDO_BUTTONGROUP],
|
|
@@ -5324,11 +5588,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
5324
5588
|
* ```
|
|
5325
5589
|
*/
|
|
5326
5590
|
class ButtonModule {
|
|
5591
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5592
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ButtonModule, imports: [ButtonComponent], exports: [ButtonComponent] });
|
|
5593
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonModule, providers: [IconsService], imports: [ButtonComponent] });
|
|
5327
5594
|
}
|
|
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: [{
|
|
5595
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonModule, decorators: [{
|
|
5332
5596
|
type: NgModule,
|
|
5333
5597
|
args: [{
|
|
5334
5598
|
imports: [ButtonComponent],
|
|
@@ -5370,11 +5634,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
5370
5634
|
* ```
|
|
5371
5635
|
*/
|
|
5372
5636
|
class ButtonsModule {
|
|
5637
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5638
|
+
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] });
|
|
5639
|
+
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
5640
|
}
|
|
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: [{
|
|
5641
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonsModule, decorators: [{
|
|
5378
5642
|
type: NgModule,
|
|
5379
5643
|
args: [{
|
|
5380
5644
|
imports: [...KENDO_BUTTONS],
|
|
@@ -5393,11 +5657,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
5393
5657
|
* - `SplitButtonCustomMessagesComponent`—The SplitButton custom messages component class.
|
|
5394
5658
|
*/
|
|
5395
5659
|
class SplitButtonModule {
|
|
5660
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SplitButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5661
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SplitButtonModule, imports: [SplitButtonComponent, SplitButtonCustomMessagesComponent], exports: [SplitButtonComponent, SplitButtonCustomMessagesComponent] });
|
|
5662
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SplitButtonModule, providers: [IconsService, PopupService, ResizeBatchService], imports: [SplitButtonComponent] });
|
|
5396
5663
|
}
|
|
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: [{
|
|
5664
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SplitButtonModule, decorators: [{
|
|
5401
5665
|
type: NgModule,
|
|
5402
5666
|
args: [{
|
|
5403
5667
|
exports: [...KENDO_SPLITBUTTON],
|
|
@@ -5416,11 +5680,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
5416
5680
|
* - `ButtonItemTemplateDirective`—The Button item template directive.
|
|
5417
5681
|
*/
|
|
5418
5682
|
class DropDownButtonModule {
|
|
5683
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropDownButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5684
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DropDownButtonModule, imports: [DropDownButtonComponent, ButtonItemTemplateDirective], exports: [DropDownButtonComponent, ButtonItemTemplateDirective] });
|
|
5685
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropDownButtonModule, providers: [IconsService, PopupService, ResizeBatchService], imports: [DropDownButtonComponent] });
|
|
5419
5686
|
}
|
|
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: [{
|
|
5687
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropDownButtonModule, decorators: [{
|
|
5424
5688
|
type: NgModule,
|
|
5425
5689
|
args: [{
|
|
5426
5690
|
exports: [...KENDO_DROPDOWNBUTTON],
|
|
@@ -5436,15 +5700,15 @@ const EXPORTED_DIRECTIVES = [
|
|
|
5436
5700
|
];
|
|
5437
5701
|
//IMPORTANT: NgModule export kept for backwards compatibility
|
|
5438
5702
|
class ListModule {
|
|
5703
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5704
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ListModule, imports: [ListComponent,
|
|
5705
|
+
FocusableDirective,
|
|
5706
|
+
ButtonItemTemplateDirective], exports: [ListComponent,
|
|
5707
|
+
FocusableDirective,
|
|
5708
|
+
ButtonItemTemplateDirective] });
|
|
5709
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ListModule, providers: [IconsService], imports: [ListComponent] });
|
|
5439
5710
|
}
|
|
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: [{
|
|
5711
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ListModule, decorators: [{
|
|
5448
5712
|
type: NgModule,
|
|
5449
5713
|
args: [{
|
|
5450
5714
|
imports: [...EXPORTED_DIRECTIVES],
|
|
@@ -5483,11 +5747,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
5483
5747
|
* ```
|
|
5484
5748
|
*/
|
|
5485
5749
|
class ChipModule {
|
|
5750
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5751
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ChipModule, imports: [ChipComponent, ChipListComponent], exports: [ChipComponent, ChipListComponent] });
|
|
5752
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipModule, providers: [IconsService], imports: [ChipComponent] });
|
|
5486
5753
|
}
|
|
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: [{
|
|
5754
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipModule, decorators: [{
|
|
5491
5755
|
type: NgModule,
|
|
5492
5756
|
args: [{
|
|
5493
5757
|
exports: [...KENDO_CHIPLIST],
|
|
@@ -5526,11 +5790,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
5526
5790
|
* ```
|
|
5527
5791
|
*/
|
|
5528
5792
|
class FloatingActionButtonModule {
|
|
5793
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FloatingActionButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5794
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: FloatingActionButtonModule, imports: [FloatingActionButtonComponent, DialItemTemplateDirective, FloatingActionButtonTemplateDirective], exports: [FloatingActionButtonComponent, DialItemTemplateDirective, FloatingActionButtonTemplateDirective] });
|
|
5795
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FloatingActionButtonModule, providers: [IconsService, PopupService, ResizeBatchService], imports: [FloatingActionButtonComponent] });
|
|
5529
5796
|
}
|
|
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: [{
|
|
5797
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FloatingActionButtonModule, decorators: [{
|
|
5534
5798
|
type: NgModule,
|
|
5535
5799
|
args: [{
|
|
5536
5800
|
exports: [...KENDO_FLOATINGACTIONBUTTON],
|