@progress/kendo-angular-buttons 21.1.1-develop.2 → 21.2.0-develop.10
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/esm2022/button/button.component.mjs +47 -29
- package/esm2022/buttongroup/buttongroup.component.mjs +2 -2
- package/esm2022/chip/chip-list.component.mjs +2 -2
- package/esm2022/chip/chip.component.mjs +107 -87
- package/esm2022/dropdownbutton/dropdownbutton.component.mjs +2 -2
- package/esm2022/floatingactionbutton/dial-item.component.mjs +39 -29
- package/esm2022/floatingactionbutton/dial-list.component.mjs +31 -31
- package/esm2022/floatingactionbutton/floatingactionbutton.component.mjs +99 -89
- package/esm2022/listbutton/list-button.mjs +2 -2
- package/esm2022/listbutton/list.component.mjs +93 -83
- package/esm2022/package-metadata.mjs +2 -2
- package/esm2022/splitbutton/splitbutton.component.mjs +101 -97
- package/fesm2022/progress-kendo-angular-buttons.mjs +516 -444
- package/package.json +7 -7
|
@@ -7,7 +7,7 @@ import { Subscription } from 'rxjs';
|
|
|
7
7
|
import { FocusService } from '../focusable/focus.service';
|
|
8
8
|
import { DialItemComponent } from "./dial-item.component";
|
|
9
9
|
import { FocusableDirective } from "../focusable/focusable.directive";
|
|
10
|
-
import {
|
|
10
|
+
import { NgClass, NgStyle } from "@angular/common";
|
|
11
11
|
import * as i0 from "@angular/core";
|
|
12
12
|
import * as i1 from "../focusable/focus.service";
|
|
13
13
|
/**
|
|
@@ -39,22 +39,22 @@ export class DialListComponent {
|
|
|
39
39
|
this.subscriptions.unsubscribe();
|
|
40
40
|
}
|
|
41
41
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DialListComponent, deps: [{ token: i1.FocusService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
42
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
42
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", 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: `
|
|
43
|
+
@for (item of dialItems; track item; let idx = $index) {
|
|
44
|
+
<li
|
|
45
|
+
kendoButtonFocusable
|
|
46
|
+
kendoDialItem
|
|
47
|
+
[item]="dialItems[idx]"
|
|
48
|
+
[index]="idx"
|
|
49
|
+
[dialItemTemplate]="dialItemTemplate"
|
|
50
|
+
[isFocused]="isFocused(idx)"
|
|
51
|
+
[ngClass]='item.cssClass'
|
|
52
|
+
[ngStyle]='item.cssStyle'
|
|
53
|
+
[align]="align"
|
|
54
54
|
>
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
55
|
+
</li>
|
|
56
|
+
}
|
|
57
|
+
`, isInline: true, dependencies: [{ 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"] }] });
|
|
58
58
|
}
|
|
59
59
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DialListComponent, decorators: [{
|
|
60
60
|
type: Component,
|
|
@@ -62,23 +62,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
62
62
|
// eslint-disable-next-line @angular-eslint/component-selector
|
|
63
63
|
selector: '[kendoDialList]',
|
|
64
64
|
template: `
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
65
|
+
@for (item of dialItems; track item; let idx = $index) {
|
|
66
|
+
<li
|
|
67
|
+
kendoButtonFocusable
|
|
68
|
+
kendoDialItem
|
|
69
|
+
[item]="dialItems[idx]"
|
|
70
|
+
[index]="idx"
|
|
71
|
+
[dialItemTemplate]="dialItemTemplate"
|
|
72
|
+
[isFocused]="isFocused(idx)"
|
|
73
|
+
[ngClass]='item.cssClass'
|
|
74
|
+
[ngStyle]='item.cssStyle'
|
|
75
|
+
[align]="align"
|
|
76
76
|
>
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
77
|
+
</li>
|
|
78
|
+
}
|
|
79
|
+
`,
|
|
80
80
|
standalone: true,
|
|
81
|
-
imports: [
|
|
81
|
+
imports: [FocusableDirective, DialItemComponent, NgClass, NgStyle]
|
|
82
82
|
}]
|
|
83
83
|
}], ctorParameters: () => [{ type: i1.FocusService }, { type: i0.ChangeDetectorRef }], propDecorators: { hostClass: [{
|
|
84
84
|
type: HostBinding,
|
|
@@ -9,7 +9,7 @@ import { take } from 'rxjs/operators';
|
|
|
9
9
|
import { L10N_PREFIX, LocalizationService } from '@progress/kendo-angular-l10n';
|
|
10
10
|
import { validatePackage } from '@progress/kendo-licensing';
|
|
11
11
|
import { packageMetadata } from '../package-metadata';
|
|
12
|
-
import { guid, isDocumentAvailable,
|
|
12
|
+
import { guid, isDocumentAvailable, normalizeKeys } from '@progress/kendo-angular-common';
|
|
13
13
|
import { PopupService } from '@progress/kendo-angular-popup';
|
|
14
14
|
import { FocusService } from '../focusable/focus.service';
|
|
15
15
|
import { NavigationAction } from '../navigation/navigation-action';
|
|
@@ -24,7 +24,7 @@ import { FloatingActionButtonTemplateDirective } from './templates/fab-template.
|
|
|
24
24
|
import { DialListComponent } from './dial-list.component';
|
|
25
25
|
import { IconWrapperComponent } from '@progress/kendo-angular-icons';
|
|
26
26
|
import { EventsOutsideAngularDirective } from '@progress/kendo-angular-common';
|
|
27
|
-
import { NgClass,
|
|
27
|
+
import { NgClass, NgTemplateOutlet } from '@angular/common';
|
|
28
28
|
import * as i0 from "@angular/core";
|
|
29
29
|
import * as i1 from "../focusable/focus.service";
|
|
30
30
|
import * as i2 from "../navigation/navigation.service";
|
|
@@ -389,7 +389,7 @@ export class FloatingActionButtonComponent {
|
|
|
389
389
|
return;
|
|
390
390
|
}
|
|
391
391
|
const focused = this.focusService.focused || 0;
|
|
392
|
-
const code =
|
|
392
|
+
const code = normalizeKeys(event);
|
|
393
393
|
const action = this.navigationService.process({
|
|
394
394
|
altKey: event.altKey,
|
|
395
395
|
current: focused,
|
|
@@ -732,7 +732,7 @@ export class FloatingActionButtonComponent {
|
|
|
732
732
|
return DEFAULT_DURATION;
|
|
733
733
|
}
|
|
734
734
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FloatingActionButtonComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.FocusService }, { token: i2.NavigationService }, { token: i0.NgZone }, { token: i3.PopupService }, { token: i4.AnimationBuilder }, { token: i5.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
735
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
735
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", 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: [
|
|
736
736
|
FocusService,
|
|
737
737
|
NavigationService,
|
|
738
738
|
NAVIGATION_SETTINGS_PROVIDER,
|
|
@@ -743,62 +743,67 @@ export class FloatingActionButtonComponent {
|
|
|
743
743
|
}
|
|
744
744
|
], 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: `
|
|
745
745
|
<button
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
746
|
+
#button
|
|
747
|
+
[attr.id]="id"
|
|
748
|
+
[tabIndex]="componentTabIndex"
|
|
749
|
+
type="button"
|
|
750
|
+
class="k-fab k-fab-solid"
|
|
751
|
+
[class.k-disabled]="disabled"
|
|
752
|
+
[ngClass]="buttonClass"
|
|
753
|
+
[disabled]="disabled"
|
|
754
|
+
[attr.aria-disabled]="disabled"
|
|
755
|
+
[attr.aria-expanded]="ariaExpanded"
|
|
756
|
+
[attr.aria-haspopup]="ariaHasPopup"
|
|
757
|
+
[attr.aria-controls]="ariaControls"
|
|
758
|
+
(focus)="focusHandler()"
|
|
759
|
+
(blur)="blurHandler($event)"
|
|
760
760
|
[kendoEventsOutsideAngular]="{
|
|
761
761
|
keydown: keyDownHandler,
|
|
762
762
|
click: clickHandler,
|
|
763
763
|
pointerdown: pointerdownHandler
|
|
764
764
|
}"
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
765
|
+
[scope]="this"
|
|
766
|
+
>
|
|
767
|
+
@if (fabTemplate) {
|
|
768
|
+
<ng-template
|
|
769
|
+
[ngTemplateOutlet]="fabTemplate?.templateRef"
|
|
770
|
+
>
|
|
770
771
|
</ng-template>
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
772
|
+
}
|
|
773
|
+
|
|
774
|
+
@if (!fabTemplate) {
|
|
775
|
+
@if (icon || iconClass || svgIcon) {
|
|
776
|
+
<kendo-icon-wrapper
|
|
777
|
+
[name]="icon"
|
|
778
|
+
innerCssClass="k-fab-icon"
|
|
779
|
+
[customFontClass]="iconClass"
|
|
780
|
+
[svgIcon]="svgIcon"></kendo-icon-wrapper>
|
|
781
|
+
}
|
|
782
|
+
@if (text) {
|
|
783
|
+
<span class="k-fab-text">{{ text }}</span>
|
|
784
|
+
}
|
|
785
|
+
}
|
|
781
786
|
</button>
|
|
782
|
-
|
|
787
|
+
|
|
783
788
|
<ng-template #popupTemplate>
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
789
|
+
<ul
|
|
790
|
+
kendoDialList
|
|
791
|
+
role="menu"
|
|
792
|
+
[id]="dialListId"
|
|
793
|
+
[ngClass]="dialClass"
|
|
794
|
+
[dialItems]="dialItems"
|
|
795
|
+
[dialItemTemplate]='dialItemTemplate?.templateRef'
|
|
796
|
+
[align]="align"
|
|
797
|
+
[attr.aria-labelledby]="id"
|
|
798
|
+
(click)="onItemClick($event)"
|
|
794
799
|
[kendoEventsOutsideAngular]="{
|
|
795
800
|
keydown: keyDownHandler.bind(this),
|
|
796
801
|
focusout: focusOutHandler.bind(this)
|
|
797
802
|
}"
|
|
798
803
|
>
|
|
799
|
-
|
|
804
|
+
</ul>
|
|
800
805
|
</ng-template>
|
|
801
|
-
|
|
806
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { 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"] }] });
|
|
802
807
|
}
|
|
803
808
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FloatingActionButtonComponent, decorators: [{
|
|
804
809
|
type: Component,
|
|
@@ -816,64 +821,69 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
816
821
|
],
|
|
817
822
|
template: `
|
|
818
823
|
<button
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
824
|
+
#button
|
|
825
|
+
[attr.id]="id"
|
|
826
|
+
[tabIndex]="componentTabIndex"
|
|
827
|
+
type="button"
|
|
828
|
+
class="k-fab k-fab-solid"
|
|
829
|
+
[class.k-disabled]="disabled"
|
|
830
|
+
[ngClass]="buttonClass"
|
|
831
|
+
[disabled]="disabled"
|
|
832
|
+
[attr.aria-disabled]="disabled"
|
|
833
|
+
[attr.aria-expanded]="ariaExpanded"
|
|
834
|
+
[attr.aria-haspopup]="ariaHasPopup"
|
|
835
|
+
[attr.aria-controls]="ariaControls"
|
|
836
|
+
(focus)="focusHandler()"
|
|
837
|
+
(blur)="blurHandler($event)"
|
|
833
838
|
[kendoEventsOutsideAngular]="{
|
|
834
839
|
keydown: keyDownHandler,
|
|
835
840
|
click: clickHandler,
|
|
836
841
|
pointerdown: pointerdownHandler
|
|
837
842
|
}"
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
+
[scope]="this"
|
|
844
|
+
>
|
|
845
|
+
@if (fabTemplate) {
|
|
846
|
+
<ng-template
|
|
847
|
+
[ngTemplateOutlet]="fabTemplate?.templateRef"
|
|
848
|
+
>
|
|
843
849
|
</ng-template>
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
850
|
+
}
|
|
851
|
+
|
|
852
|
+
@if (!fabTemplate) {
|
|
853
|
+
@if (icon || iconClass || svgIcon) {
|
|
854
|
+
<kendo-icon-wrapper
|
|
855
|
+
[name]="icon"
|
|
856
|
+
innerCssClass="k-fab-icon"
|
|
857
|
+
[customFontClass]="iconClass"
|
|
858
|
+
[svgIcon]="svgIcon"></kendo-icon-wrapper>
|
|
859
|
+
}
|
|
860
|
+
@if (text) {
|
|
861
|
+
<span class="k-fab-text">{{ text }}</span>
|
|
862
|
+
}
|
|
863
|
+
}
|
|
854
864
|
</button>
|
|
855
|
-
|
|
865
|
+
|
|
856
866
|
<ng-template #popupTemplate>
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
+
<ul
|
|
868
|
+
kendoDialList
|
|
869
|
+
role="menu"
|
|
870
|
+
[id]="dialListId"
|
|
871
|
+
[ngClass]="dialClass"
|
|
872
|
+
[dialItems]="dialItems"
|
|
873
|
+
[dialItemTemplate]='dialItemTemplate?.templateRef'
|
|
874
|
+
[align]="align"
|
|
875
|
+
[attr.aria-labelledby]="id"
|
|
876
|
+
(click)="onItemClick($event)"
|
|
867
877
|
[kendoEventsOutsideAngular]="{
|
|
868
878
|
keydown: keyDownHandler.bind(this),
|
|
869
879
|
focusout: focusOutHandler.bind(this)
|
|
870
880
|
}"
|
|
871
881
|
>
|
|
872
|
-
|
|
882
|
+
</ul>
|
|
873
883
|
</ng-template>
|
|
874
|
-
|
|
884
|
+
`,
|
|
875
885
|
standalone: true,
|
|
876
|
-
imports: [NgClass, EventsOutsideAngularDirective,
|
|
886
|
+
imports: [NgClass, EventsOutsideAngularDirective, NgTemplateOutlet, IconWrapperComponent, DialListComponent]
|
|
877
887
|
}]
|
|
878
888
|
}], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.FocusService }, { type: i2.NavigationService }, { type: i0.NgZone }, { type: i3.PopupService }, { type: i4.AnimationBuilder }, { type: i5.LocalizationService }], propDecorators: { fixedClass: [{
|
|
879
889
|
type: HostBinding,
|
|
@@ -9,7 +9,7 @@ import { FocusService } from './../focusable/focus.service';
|
|
|
9
9
|
import { KeyEvents } from './../navigation/key-events';
|
|
10
10
|
import { NavigationService } from './../navigation/navigation.service';
|
|
11
11
|
import { NavigationAction } from './../navigation/navigation-action';
|
|
12
|
-
import { isDocumentAvailable, guid, Keys, isChanged, hasObservers,
|
|
12
|
+
import { isDocumentAvailable, guid, Keys, isChanged, hasObservers, normalizeKeys } from '@progress/kendo-angular-common';
|
|
13
13
|
import { LocalizationService } from '@progress/kendo-angular-l10n';
|
|
14
14
|
import { validatePackage } from '@progress/kendo-licensing';
|
|
15
15
|
import { packageMetadata } from '../package-metadata';
|
|
@@ -283,7 +283,7 @@ export class ListButton extends MultiTabStop {
|
|
|
283
283
|
eventData.stopImmediatePropagation();
|
|
284
284
|
}
|
|
285
285
|
const focused = this.focusService.focused || 0;
|
|
286
|
-
const code =
|
|
286
|
+
const code = normalizeKeys(eventData);
|
|
287
287
|
const action = this.navigationService.process({
|
|
288
288
|
altKey: eventData.altKey,
|
|
289
289
|
current: focused,
|
|
@@ -9,7 +9,7 @@ import { ButtonItemTemplateDirective } from './button-item-template.directive';
|
|
|
9
9
|
import { SIZES } from '../util';
|
|
10
10
|
import { IconWrapperComponent } from '@progress/kendo-angular-icons';
|
|
11
11
|
import { FocusableDirective } from '../focusable/focusable.directive';
|
|
12
|
-
import { NgClass
|
|
12
|
+
import { NgClass } from '@angular/common';
|
|
13
13
|
import { TemplateContextDirective } from '@progress/kendo-angular-common';
|
|
14
14
|
import * as i0 from "@angular/core";
|
|
15
15
|
/**
|
|
@@ -52,52 +52,57 @@ export class ListComponent {
|
|
|
52
52
|
this.onItemBlur.emit();
|
|
53
53
|
}
|
|
54
54
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
55
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
55
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", 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: `
|
|
56
56
|
<ul class="k-group k-menu-group k-reset" role="list" [ngClass]="sizeClass">
|
|
57
|
+
@for (dataItem of data; track dataItem; let index = $index) {
|
|
57
58
|
<li kendoButtonFocusable
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
<
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
59
|
+
[index]="index"
|
|
60
|
+
tabindex="-1"
|
|
61
|
+
class="k-item k-menu-item"
|
|
62
|
+
role="listitem"
|
|
63
|
+
[attr.aria-disabled]="dataItem.disabled ? true : false"
|
|
64
|
+
(click)="$event.stopImmediatePropagation(); onClick(index);"
|
|
65
|
+
(blur)="onBlur()">
|
|
66
|
+
@if (itemTemplate?.templateRef) {
|
|
67
|
+
<span
|
|
68
|
+
class="k-link k-menu-link"
|
|
69
|
+
[class.k-disabled]="dataItem.disabled"
|
|
70
|
+
[ngClass]="dataItem.cssClass">
|
|
71
|
+
<ng-template
|
|
72
|
+
[templateContext]="{ templateRef: itemTemplate?.templateRef, $implicit: dataItem }"
|
|
73
|
+
></ng-template>
|
|
74
|
+
</span>
|
|
75
|
+
}
|
|
76
|
+
@if (!itemTemplate?.templateRef) {
|
|
77
|
+
<span
|
|
78
|
+
class="k-link k-menu-link"
|
|
79
|
+
[class.k-disabled]="dataItem.disabled"
|
|
80
|
+
[ngClass]="dataItem.cssClass">
|
|
81
|
+
@if (dataItem.icon || dataItem.iconClass || dataItem.svgIcon) {
|
|
82
|
+
<kendo-icon-wrapper
|
|
83
|
+
[name]="dataItem.icon"
|
|
84
|
+
[svgIcon]="dataItem.svgIcon"
|
|
85
|
+
[customFontClass]="dataItem.iconClass"
|
|
86
|
+
></kendo-icon-wrapper>
|
|
87
|
+
}
|
|
88
|
+
@if (dataItem.imageUrl) {
|
|
89
|
+
<img
|
|
90
|
+
class="k-image"
|
|
91
|
+
[src]="dataItem.imageUrl"
|
|
92
|
+
[alt]="dataItem.imageAlt"
|
|
93
|
+
>
|
|
94
|
+
}
|
|
95
|
+
@if (getText(dataItem)) {
|
|
96
|
+
<span class="k-menu-link-text">
|
|
97
|
+
{{ getText(dataItem) }}
|
|
74
98
|
</span>
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
class="k-link k-menu-link"
|
|
79
|
-
[class.k-disabled]="dataItem.disabled"
|
|
80
|
-
[ngClass]="dataItem.cssClass">
|
|
81
|
-
<kendo-icon-wrapper
|
|
82
|
-
*ngIf="dataItem.icon || dataItem.iconClass || dataItem.svgIcon"
|
|
83
|
-
[name]="dataItem.icon"
|
|
84
|
-
[svgIcon]="dataItem.svgIcon"
|
|
85
|
-
[customFontClass]="dataItem.iconClass"
|
|
86
|
-
></kendo-icon-wrapper>
|
|
87
|
-
<img
|
|
88
|
-
*ngIf="dataItem.imageUrl"
|
|
89
|
-
class="k-image"
|
|
90
|
-
[src]="dataItem.imageUrl"
|
|
91
|
-
[alt]="dataItem.imageAlt"
|
|
92
|
-
>
|
|
93
|
-
<span *ngIf="getText(dataItem)" class="k-menu-link-text">
|
|
94
|
-
{{ getText(dataItem) }}
|
|
95
|
-
</span>
|
|
96
|
-
</span>
|
|
97
|
-
</ng-template>
|
|
99
|
+
}
|
|
100
|
+
</span>
|
|
101
|
+
}
|
|
98
102
|
</li>
|
|
103
|
+
}
|
|
99
104
|
</ul>
|
|
100
|
-
|
|
105
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: FocusableDirective, selector: "[kendoButtonFocusable]", inputs: ["index"] }, { kind: "directive", type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }] });
|
|
101
106
|
}
|
|
102
107
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ListComponent, decorators: [{
|
|
103
108
|
type: Component,
|
|
@@ -105,52 +110,57 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
105
110
|
selector: 'kendo-button-list',
|
|
106
111
|
template: `
|
|
107
112
|
<ul class="k-group k-menu-group k-reset" role="list" [ngClass]="sizeClass">
|
|
113
|
+
@for (dataItem of data; track dataItem; let index = $index) {
|
|
108
114
|
<li kendoButtonFocusable
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
<
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
<
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
115
|
+
[index]="index"
|
|
116
|
+
tabindex="-1"
|
|
117
|
+
class="k-item k-menu-item"
|
|
118
|
+
role="listitem"
|
|
119
|
+
[attr.aria-disabled]="dataItem.disabled ? true : false"
|
|
120
|
+
(click)="$event.stopImmediatePropagation(); onClick(index);"
|
|
121
|
+
(blur)="onBlur()">
|
|
122
|
+
@if (itemTemplate?.templateRef) {
|
|
123
|
+
<span
|
|
124
|
+
class="k-link k-menu-link"
|
|
125
|
+
[class.k-disabled]="dataItem.disabled"
|
|
126
|
+
[ngClass]="dataItem.cssClass">
|
|
127
|
+
<ng-template
|
|
128
|
+
[templateContext]="{ templateRef: itemTemplate?.templateRef, $implicit: dataItem }"
|
|
129
|
+
></ng-template>
|
|
130
|
+
</span>
|
|
131
|
+
}
|
|
132
|
+
@if (!itemTemplate?.templateRef) {
|
|
133
|
+
<span
|
|
134
|
+
class="k-link k-menu-link"
|
|
135
|
+
[class.k-disabled]="dataItem.disabled"
|
|
136
|
+
[ngClass]="dataItem.cssClass">
|
|
137
|
+
@if (dataItem.icon || dataItem.iconClass || dataItem.svgIcon) {
|
|
138
|
+
<kendo-icon-wrapper
|
|
139
|
+
[name]="dataItem.icon"
|
|
140
|
+
[svgIcon]="dataItem.svgIcon"
|
|
141
|
+
[customFontClass]="dataItem.iconClass"
|
|
142
|
+
></kendo-icon-wrapper>
|
|
143
|
+
}
|
|
144
|
+
@if (dataItem.imageUrl) {
|
|
145
|
+
<img
|
|
146
|
+
class="k-image"
|
|
147
|
+
[src]="dataItem.imageUrl"
|
|
148
|
+
[alt]="dataItem.imageAlt"
|
|
149
|
+
>
|
|
150
|
+
}
|
|
151
|
+
@if (getText(dataItem)) {
|
|
152
|
+
<span class="k-menu-link-text">
|
|
153
|
+
{{ getText(dataItem) }}
|
|
147
154
|
</span>
|
|
148
|
-
|
|
155
|
+
}
|
|
156
|
+
</span>
|
|
157
|
+
}
|
|
149
158
|
</li>
|
|
159
|
+
}
|
|
150
160
|
</ul>
|
|
151
|
-
|
|
161
|
+
`,
|
|
152
162
|
standalone: true,
|
|
153
|
-
imports: [NgClass,
|
|
163
|
+
imports: [NgClass, FocusableDirective, TemplateContextDirective, IconWrapperComponent]
|
|
154
164
|
}]
|
|
155
165
|
}], ctorParameters: () => [], propDecorators: { data: [{
|
|
156
166
|
type: Input
|
|
@@ -10,7 +10,7 @@ export const packageMetadata = {
|
|
|
10
10
|
productName: 'Kendo UI for Angular',
|
|
11
11
|
productCode: 'KENDOUIANGULAR',
|
|
12
12
|
productCodes: ['KENDOUIANGULAR'],
|
|
13
|
-
publishDate:
|
|
14
|
-
version: '21.
|
|
13
|
+
publishDate: 1764592806,
|
|
14
|
+
version: '21.2.0-develop.10',
|
|
15
15
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
16
16
|
};
|