@progress/kendo-angular-navigation 21.1.1-develop.2 → 21.2.0-develop.2

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.
@@ -3,7 +3,7 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { Component, Input, TemplateRef, HostBinding } from "@angular/core";
6
- import { NgIf, NgTemplateOutlet } from "@angular/common";
6
+ import { NgTemplateOutlet } from "@angular/common";
7
7
  import { isPresent, hexColorRegex } from "../common/util";
8
8
  import { IconWrapperComponent } from "@progress/kendo-angular-icons";
9
9
  import * as i0 from "@angular/core";
@@ -36,32 +36,41 @@ export class ActionSheetItemComponent {
36
36
  return styles;
37
37
  }
38
38
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ActionSheetItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
39
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ActionSheetItemComponent, isStandalone: true, selector: "[kendoActionSheetItem]", inputs: { itemTemplate: "itemTemplate", item: "item" }, host: { properties: { "class.k-cursor-pointer": "this.pointerClass" } }, ngImport: i0, template: `
40
- <ng-template *ngIf="itemTemplate; else defaultTemplate"
39
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ActionSheetItemComponent, isStandalone: true, selector: "[kendoActionSheetItem]", inputs: { itemTemplate: "itemTemplate", item: "item" }, host: { properties: { "class.k-cursor-pointer": "this.pointerClass" } }, ngImport: i0, template: `
40
+ @if (itemTemplate) {
41
+ <ng-template
41
42
  [ngTemplateOutlet]="itemTemplate"
42
43
  [ngTemplateOutletContext]="{
43
44
  $implicit: item
44
45
  }">
45
- </ng-template>
46
- <ng-template #defaultTemplate>
47
- <span class="k-actionsheet-action">
48
- <span *ngIf="item.icon || item.iconClass || item.svgIcon" class="k-icon-wrap">
49
- <kendo-icon-wrapper
50
- [name]="item.icon"
51
- [customFontClass]="item.iconClass"
52
- [class]="manageIconClasses(item)"
53
- [svgIcon]="item.svgIcon"
54
- [style]="manageIconStyles(item)"
55
- >
56
- </kendo-icon-wrapper>
57
- </span>
58
- <span *ngIf="item.title || item.description" class="k-actionsheet-item-text">
59
- <span *ngIf="item.title" class="k-actionsheet-item-title">{{item.title}}</span>
60
- <span *ngIf="item.description" class="k-actionsheet-item-description">{{item.description}}</span>
61
- </span>
62
- </span>
63
- </ng-template>
64
- `, 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"] }] });
46
+ </ng-template>
47
+ } @else {
48
+ <span class="k-actionsheet-action">
49
+ @if (item.icon || item.iconClass || item.svgIcon) {
50
+ <span class="k-icon-wrap">
51
+ <kendo-icon-wrapper
52
+ [name]="item.icon"
53
+ [customFontClass]="item.iconClass"
54
+ [class]="manageIconClasses(item)"
55
+ [svgIcon]="item.svgIcon"
56
+ [style]="manageIconStyles(item)"
57
+ >
58
+ </kendo-icon-wrapper>
59
+ </span>
60
+ }
61
+ @if (item.title || item.description) {
62
+ <span class="k-actionsheet-item-text">
63
+ @if (item.title) {
64
+ <span class="k-actionsheet-item-title">{{item.title}}</span>
65
+ }
66
+ @if (item.description) {
67
+ <span class="k-actionsheet-item-description">{{item.description}}</span>
68
+ }
69
+ </span>
70
+ }
71
+ </span>
72
+ }
73
+ `, isInline: true, dependencies: [{ 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"] }] });
65
74
  }
66
75
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ActionSheetItemComponent, decorators: [{
67
76
  type: Component,
@@ -69,33 +78,42 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
69
78
  // eslint-disable-next-line @angular-eslint/component-selector
70
79
  selector: '[kendoActionSheetItem]',
71
80
  template: `
72
- <ng-template *ngIf="itemTemplate; else defaultTemplate"
81
+ @if (itemTemplate) {
82
+ <ng-template
73
83
  [ngTemplateOutlet]="itemTemplate"
74
84
  [ngTemplateOutletContext]="{
75
85
  $implicit: item
76
86
  }">
77
- </ng-template>
78
- <ng-template #defaultTemplate>
79
- <span class="k-actionsheet-action">
80
- <span *ngIf="item.icon || item.iconClass || item.svgIcon" class="k-icon-wrap">
81
- <kendo-icon-wrapper
82
- [name]="item.icon"
83
- [customFontClass]="item.iconClass"
84
- [class]="manageIconClasses(item)"
85
- [svgIcon]="item.svgIcon"
86
- [style]="manageIconStyles(item)"
87
- >
88
- </kendo-icon-wrapper>
89
- </span>
90
- <span *ngIf="item.title || item.description" class="k-actionsheet-item-text">
91
- <span *ngIf="item.title" class="k-actionsheet-item-title">{{item.title}}</span>
92
- <span *ngIf="item.description" class="k-actionsheet-item-description">{{item.description}}</span>
93
- </span>
94
- </span>
95
- </ng-template>
96
- `,
87
+ </ng-template>
88
+ } @else {
89
+ <span class="k-actionsheet-action">
90
+ @if (item.icon || item.iconClass || item.svgIcon) {
91
+ <span class="k-icon-wrap">
92
+ <kendo-icon-wrapper
93
+ [name]="item.icon"
94
+ [customFontClass]="item.iconClass"
95
+ [class]="manageIconClasses(item)"
96
+ [svgIcon]="item.svgIcon"
97
+ [style]="manageIconStyles(item)"
98
+ >
99
+ </kendo-icon-wrapper>
100
+ </span>
101
+ }
102
+ @if (item.title || item.description) {
103
+ <span class="k-actionsheet-item-text">
104
+ @if (item.title) {
105
+ <span class="k-actionsheet-item-title">{{item.title}}</span>
106
+ }
107
+ @if (item.description) {
108
+ <span class="k-actionsheet-item-description">{{item.description}}</span>
109
+ }
110
+ </span>
111
+ }
112
+ </span>
113
+ }
114
+ `,
97
115
  standalone: true,
98
- imports: [NgIf, NgTemplateOutlet, IconWrapperComponent]
116
+ imports: [NgTemplateOutlet, IconWrapperComponent]
99
117
  }]
100
118
  }], propDecorators: { itemTemplate: [{
101
119
  type: Input
@@ -3,7 +3,7 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { Component, Input, TemplateRef, Output, EventEmitter, ElementRef, Renderer2, NgZone } from "@angular/core";
6
- import { NgFor, NgClass, NgStyle } from "@angular/common";
6
+ import { NgClass, NgStyle } from "@angular/common";
7
7
  import { Subscription } from "rxjs";
8
8
  import { getActionSheetItemIndex, ACTIONSHEET_ITEM_INDEX_ATTRIBUTE } from "../common/util";
9
9
  import { ActionSheetItemComponent } from "./item.component";
@@ -58,7 +58,7 @@ export class ActionSheetListComponent {
58
58
  return this.allItems.indexOf(item);
59
59
  }
60
60
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ActionSheetListComponent, deps: [{ token: i0.Renderer2 }, { token: i0.NgZone }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
61
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ActionSheetListComponent, isStandalone: true, selector: "[kendoActionSheetList]", inputs: { groupItems: "groupItems", allItems: "allItems", itemTemplate: "itemTemplate" }, outputs: { itemClick: "itemClick" }, ngImport: i0, template: "\n <span *ngFor=\"let item of groupItems\" kendoActionSheetItem\n tabindex=\"0\"\n role=\"button\"\n [attr.aria-disabled]=\"item.disabled\"\n [class.k-actionsheet-item]=\"true\"\n [attr.kendo-actionsheet-item-index]=\"setAttrIndex(item)\"\n [class.k-disabled]=\"item.disabled\"\n [ngClass]=\"item.cssClass\"\n [ngStyle]=\"item.cssStyle\"\n [itemTemplate]=\"itemTemplate\"\n [item]=\"item\">\n </span>\n ", isInline: true, dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ActionSheetItemComponent, selector: "[kendoActionSheetItem]", inputs: ["itemTemplate", "item"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
61
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ActionSheetListComponent, isStandalone: true, selector: "[kendoActionSheetList]", inputs: { groupItems: "groupItems", allItems: "allItems", itemTemplate: "itemTemplate" }, outputs: { itemClick: "itemClick" }, ngImport: i0, template: "\n @for (item of groupItems; track item) {\n <span kendoActionSheetItem\n tabindex=\"0\"\n role=\"button\"\n [attr.aria-disabled]=\"item.disabled\"\n [class.k-actionsheet-item]=\"true\"\n [attr.kendo-actionsheet-item-index]=\"setAttrIndex(item)\"\n [class.k-disabled]=\"item.disabled\"\n [ngClass]=\"item.cssClass\"\n [ngStyle]=\"item.cssStyle\"\n [itemTemplate]=\"itemTemplate\"\n [item]=\"item\">\n </span>\n }\n ", isInline: true, dependencies: [{ kind: "component", type: ActionSheetItemComponent, selector: "[kendoActionSheetItem]", inputs: ["itemTemplate", "item"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
62
62
  }
63
63
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ActionSheetListComponent, decorators: [{
64
64
  type: Component,
@@ -66,7 +66,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
66
66
  // eslint-disable-next-line @angular-eslint/component-selector
67
67
  selector: '[kendoActionSheetList]',
68
68
  template: `
69
- <span *ngFor="let item of groupItems" kendoActionSheetItem
69
+ @for (item of groupItems; track item) {
70
+ <span kendoActionSheetItem
70
71
  tabindex="0"
71
72
  role="button"
72
73
  [attr.aria-disabled]="item.disabled"
@@ -77,10 +78,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
77
78
  [ngStyle]="item.cssStyle"
78
79
  [itemTemplate]="itemTemplate"
79
80
  [item]="item">
80
- </span>
81
- `,
81
+ </span>
82
+ }
83
+ `,
82
84
  standalone: true,
83
- imports: [NgFor, ActionSheetItemComponent, NgClass, NgStyle]
85
+ imports: [ActionSheetItemComponent, NgClass, NgStyle]
84
86
  }]
85
87
  }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.NgZone }, { type: i0.ElementRef }], propDecorators: { groupItems: [{
86
88
  type: Input
@@ -3,7 +3,7 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { Component, HostBinding, Input } from '@angular/core';
6
- import { NgIf, NgTemplateOutlet } from '@angular/common';
6
+ import { NgTemplateOutlet } from '@angular/common';
7
7
  import { BottomNavigationItemTemplateDirective } from './templates/item-template.directive';
8
8
  import { IconWrapperComponent } from '@progress/kendo-angular-icons';
9
9
  import * as i0 from "@angular/core";
@@ -38,21 +38,27 @@ export class BottomNavigationItemComponent {
38
38
  return `${kendoIcon} ${customIcon}`;
39
39
  }
40
40
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BottomNavigationItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
41
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: BottomNavigationItemComponent, isStandalone: true, selector: "[kendoBottomNavigationItem]", inputs: { itemTemplate: "itemTemplate", item: "item", index: "index", disabledComponent: "disabledComponent", selectedIdx: "selectedIdx", orientation: "orientation" }, host: { properties: { "attr.aria-disabled": "this.disabledClass", "class.k-disabled": "this.disabledClass", "attr.aria-label": "this.label", "attr.tabindex": "this.tabindex", "attr.aria-current": "this.selectedClass", "class.k-selected": "this.selectedClass" } }, ngImport: i0, template: `
42
- <ng-container *ngIf="!itemTemplate">
43
- <kendo-icon-wrapper *ngIf="itemIcon"
44
- innerCssClass="k-bottom-nav-item-icon"
45
- size="xlarge"
46
- [name]="item.icon"
47
- [customFontClass]="item.iconClass"
48
- [svgIcon]="item.svgIcon"></kendo-icon-wrapper>
49
- <span *ngIf="item.text" class="k-bottom-nav-item-text">{{item.text}}</span>
50
- </ng-container>
51
- <ng-template *ngIf="itemTemplate"
41
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: BottomNavigationItemComponent, isStandalone: true, selector: "[kendoBottomNavigationItem]", inputs: { itemTemplate: "itemTemplate", item: "item", index: "index", disabledComponent: "disabledComponent", selectedIdx: "selectedIdx", orientation: "orientation" }, host: { properties: { "attr.aria-disabled": "this.disabledClass", "class.k-disabled": "this.disabledClass", "attr.aria-label": "this.label", "attr.tabindex": "this.tabindex", "attr.aria-current": "this.selectedClass", "class.k-selected": "this.selectedClass" } }, ngImport: i0, template: `
42
+ @if (!itemTemplate) {
43
+ @if (itemIcon) {
44
+ <kendo-icon-wrapper
45
+ innerCssClass="k-bottom-nav-item-icon"
46
+ size="xlarge"
47
+ [name]="item.icon"
48
+ [customFontClass]="item.iconClass"
49
+ [svgIcon]="item.svgIcon"></kendo-icon-wrapper>
50
+ }
51
+ @if (item.text) {
52
+ <span class="k-bottom-nav-item-text">{{item.text}}</span>
53
+ }
54
+ }
55
+ @if (itemTemplate) {
56
+ <ng-template
52
57
  [ngTemplateOutlet]="itemTemplate?.templateRef"
53
58
  [ngTemplateOutletContext]="{ $implicit: item }">
54
- </ng-template>
55
- `, 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: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
59
+ </ng-template>
60
+ }
61
+ `, isInline: true, dependencies: [{ kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
56
62
  }
57
63
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BottomNavigationItemComponent, decorators: [{
58
64
  type: Component,
@@ -60,22 +66,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
60
66
  // eslint-disable-next-line @angular-eslint/component-selector
61
67
  selector: '[kendoBottomNavigationItem]',
62
68
  template: `
63
- <ng-container *ngIf="!itemTemplate">
64
- <kendo-icon-wrapper *ngIf="itemIcon"
65
- innerCssClass="k-bottom-nav-item-icon"
66
- size="xlarge"
67
- [name]="item.icon"
68
- [customFontClass]="item.iconClass"
69
- [svgIcon]="item.svgIcon"></kendo-icon-wrapper>
70
- <span *ngIf="item.text" class="k-bottom-nav-item-text">{{item.text}}</span>
71
- </ng-container>
72
- <ng-template *ngIf="itemTemplate"
69
+ @if (!itemTemplate) {
70
+ @if (itemIcon) {
71
+ <kendo-icon-wrapper
72
+ innerCssClass="k-bottom-nav-item-icon"
73
+ size="xlarge"
74
+ [name]="item.icon"
75
+ [customFontClass]="item.iconClass"
76
+ [svgIcon]="item.svgIcon"></kendo-icon-wrapper>
77
+ }
78
+ @if (item.text) {
79
+ <span class="k-bottom-nav-item-text">{{item.text}}</span>
80
+ }
81
+ }
82
+ @if (itemTemplate) {
83
+ <ng-template
73
84
  [ngTemplateOutlet]="itemTemplate?.templateRef"
74
85
  [ngTemplateOutletContext]="{ $implicit: item }">
75
- </ng-template>
76
- `,
86
+ </ng-template>
87
+ }
88
+ `,
77
89
  standalone: true,
78
- imports: [NgIf, IconWrapperComponent, NgTemplateOutlet]
90
+ imports: [IconWrapperComponent, NgTemplateOutlet]
79
91
  }]
80
92
  }], propDecorators: { itemTemplate: [{
81
93
  type: Input
@@ -13,7 +13,7 @@ import { closestItem, itemIndex } from '../common/dom-queries';
13
13
  import { BOTTOMNAVIGATION_ITEM_INDEX, colors } from './constants';
14
14
  import { packageMetadata } from '../package-metadata';
15
15
  import { BottomNavigationItemComponent } from './bottomnavigation-item.component';
16
- import { NgIf, NgFor, NgClass, NgStyle } from '@angular/common';
16
+ import { NgClass, NgStyle } from '@angular/common';
17
17
  import * as i0 from "@angular/core";
18
18
  import * as i1 from "@progress/kendo-angular-l10n";
19
19
  /**
@@ -255,13 +255,13 @@ export class BottomNavigationComponent {
255
255
  }
256
256
  }
257
257
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BottomNavigationComponent, deps: [{ token: i1.LocalizationService }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
258
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: BottomNavigationComponent, isStandalone: true, selector: "kendo-bottomnavigation", inputs: { items: "items", border: "border", disabled: "disabled", fill: "fill", itemFlow: "itemFlow", positionMode: "positionMode", themeColor: "themeColor" }, outputs: { select: "select" }, host: { properties: { "class.k-bottom-nav": "this.hostClass", "class.k-bottom-nav-border": "this.borderClass", "class.k-disabled": "this.disabledClass", "attr.role": "this.role", "attr.dir": "this.direction" } }, providers: [
258
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: BottomNavigationComponent, isStandalone: true, selector: "kendo-bottomnavigation", inputs: { items: "items", border: "border", disabled: "disabled", fill: "fill", itemFlow: "itemFlow", positionMode: "positionMode", themeColor: "themeColor" }, outputs: { select: "select" }, host: { properties: { "class.k-bottom-nav": "this.hostClass", "class.k-bottom-nav-border": "this.borderClass", "class.k-disabled": "this.disabledClass", "attr.role": "this.role", "attr.dir": "this.direction" } }, providers: [
259
259
  LocalizationService,
260
260
  {
261
261
  provide: L10N_PREFIX,
262
262
  useValue: 'kendo.bottomnavigation'
263
263
  }
264
- ], queries: [{ propertyName: "itemTemplate", first: true, predicate: BottomNavigationItemTemplateDirective, descendants: true }], exportAs: ["kendoBottomNavigation"], ngImport: i0, template: "\n <ng-container *ngIf=\"items\">\n <span kendoBottomNavigationItem\n *ngFor=\"let item of items; let idx=index\"\n role=\"link\"\n class=\"k-bottom-nav-item\"\n [disabledComponent]=\"disabled\"\n [item]=\"item\"\n [index]=\"idx\"\n [selectedIdx]=\"selectedIdx\"\n [itemTemplate]=\"itemTemplate\"\n [attr.data-kendo-bottomnavigation-index]=\"idx\"\n [ngClass]=\"item.cssClass\"\n [ngStyle]=\"item.cssStyle\"\n [orientation]=\"itemFlow\">\n </span>\n </ng-container>\n ", isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: BottomNavigationItemComponent, selector: "[kendoBottomNavigationItem]", inputs: ["itemTemplate", "item", "index", "disabledComponent", "selectedIdx", "orientation"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
264
+ ], queries: [{ propertyName: "itemTemplate", first: true, predicate: BottomNavigationItemTemplateDirective, descendants: true }], exportAs: ["kendoBottomNavigation"], ngImport: i0, template: "\n @if (items) {\n @for (item of items; track item; let idx = $index) {\n <span kendoBottomNavigationItem\n role=\"link\"\n class=\"k-bottom-nav-item\"\n [disabledComponent]=\"disabled\"\n [item]=\"item\"\n [index]=\"idx\"\n [selectedIdx]=\"selectedIdx\"\n [itemTemplate]=\"itemTemplate\"\n [attr.data-kendo-bottomnavigation-index]=\"idx\"\n [ngClass]=\"item.cssClass\"\n [ngStyle]=\"item.cssStyle\"\n [orientation]=\"itemFlow\">\n </span>\n }\n }\n ", isInline: true, dependencies: [{ kind: "component", type: BottomNavigationItemComponent, selector: "[kendoBottomNavigationItem]", inputs: ["itemTemplate", "item", "index", "disabledComponent", "selectedIdx", "orientation"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
265
265
  }
266
266
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BottomNavigationComponent, decorators: [{
267
267
  type: Component,
@@ -276,25 +276,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
276
276
  }
277
277
  ],
278
278
  template: `
279
- <ng-container *ngIf="items">
279
+ @if (items) {
280
+ @for (item of items; track item; let idx = $index) {
280
281
  <span kendoBottomNavigationItem
281
- *ngFor="let item of items; let idx=index"
282
- role="link"
283
- class="k-bottom-nav-item"
284
- [disabledComponent]="disabled"
285
- [item]="item"
286
- [index]="idx"
287
- [selectedIdx]="selectedIdx"
288
- [itemTemplate]="itemTemplate"
289
- [attr.${BOTTOMNAVIGATION_ITEM_INDEX}]="idx"
290
- [ngClass]="item.cssClass"
291
- [ngStyle]="item.cssStyle"
292
- [orientation]="itemFlow">
282
+ role="link"
283
+ class="k-bottom-nav-item"
284
+ [disabledComponent]="disabled"
285
+ [item]="item"
286
+ [index]="idx"
287
+ [selectedIdx]="selectedIdx"
288
+ [itemTemplate]="itemTemplate"
289
+ [attr.${BOTTOMNAVIGATION_ITEM_INDEX}]="idx"
290
+ [ngClass]="item.cssClass"
291
+ [ngStyle]="item.cssStyle"
292
+ [orientation]="itemFlow">
293
293
  </span>
294
- </ng-container>
295
- `,
294
+ }
295
+ }
296
+ `,
296
297
  standalone: true,
297
- imports: [NgIf, NgFor, BottomNavigationItemComponent, NgClass, NgStyle]
298
+ imports: [BottomNavigationItemComponent, NgClass, NgStyle]
298
299
  }]
299
300
  }], ctorParameters: () => [{ type: i1.LocalizationService }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }], propDecorators: { items: [{
300
301
  type: Input
@@ -6,7 +6,7 @@ import { Component, Input, ElementRef, TemplateRef, HostBinding } from '@angular
6
6
  import { isDocumentAvailable } from '@progress/kendo-angular-common';
7
7
  import { outerWidth } from '../common/util';
8
8
  import { IconWrapperComponent } from '@progress/kendo-angular-icons';
9
- import { NgIf, NgTemplateOutlet, NgClass } from '@angular/common';
9
+ import { NgTemplateOutlet, NgClass } from '@angular/common';
10
10
  import * as i0 from "@angular/core";
11
11
  /**
12
12
  * @hidden
@@ -46,18 +46,18 @@ export class BreadCrumbItemComponent {
46
46
  }
47
47
  }
48
48
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BreadCrumbItemComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
49
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: BreadCrumbItemComponent, isStandalone: true, selector: "[kendoBreadCrumbItem]", inputs: { item: "item", collapseMode: "collapseMode", index: "index", itemTemplate: "itemTemplate" }, host: { properties: { "class.k-breadcrumb-item": "this.hostClasses", "class.k-breadcrumb-root-item": "this.isRootItem", "attr.aria-disabled": "this.isDisabled", "class.k-breadcrumb-last-item": "this.isLastItem" } }, ngImport: i0, template: `
49
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: BreadCrumbItemComponent, isStandalone: true, selector: "[kendoBreadCrumbItem]", inputs: { item: "item", collapseMode: "collapseMode", index: "index", itemTemplate: "itemTemplate" }, host: { properties: { "class.k-breadcrumb-item": "this.hostClasses", "class.k-breadcrumb-root-item": "this.isRootItem", "attr.aria-disabled": "this.isDisabled", "class.k-breadcrumb-last-item": "this.isLastItem" } }, ngImport: i0, template: `
50
50
  <ng-template #separator>
51
- <ng-content select="[kendoBreadCrumbSeparator]"></ng-content>
51
+ <ng-content select="[kendoBreadCrumbSeparator]"></ng-content>
52
52
  </ng-template>
53
-
54
- <ng-container *ngIf="collapseMode === 'wrap'">
55
- <ng-container *ngTemplateOutlet="separator"></ng-container>
56
- </ng-container>
57
-
58
- <ng-container *ngIf="!item.context.collapsed">
53
+
54
+ @if (collapseMode === 'wrap') {
55
+ <ng-container *ngTemplateOutlet="separator"></ng-container>
56
+ }
57
+
58
+ @if (!item.context.collapsed) {
59
+ @if (!itemTemplate) {
59
60
  <span
60
- *ngIf="!itemTemplate"
61
61
  [ngClass]="{
62
62
  'k-breadcrumb-root-link': item.context.isFirst,
63
63
  'k-breadcrumb-link': index !== 0,
@@ -65,35 +65,41 @@ export class BreadCrumbItemComponent {
65
65
  'k-breadcrumb-icon-link': (!!item.data.icon || !!item.data.svgIcon) && !item.data.text,
66
66
  'k-disabled': disabled
67
67
  }"
68
- [title]="item.data.title || ''"
69
- [tabindex]="disabled ? -1 : 0"
70
- [attr.aria-disabled]="disabled"
71
- [attr.aria-current]="item.context.isLast ? 'page' : null"
72
- role="link"
73
- >
74
- <img *ngIf="item.data.imageUrl" (load)="onImageLoad()" [src]="item.data.imageUrl" class="k-image" role="presentation" />
75
- <kendo-icon-wrapper *ngIf="item.data.icon || item.data.iconClass || item.data.svgIcon"
76
- [name]="item.data.icon"
77
- [customFontClass]="item.data.iconClass"
78
- [svgIcon]="item.data.svgIcon"
79
- >
68
+ [title]="item.data.title || ''"
69
+ [tabindex]="disabled ? -1 : 0"
70
+ [attr.aria-disabled]="disabled"
71
+ [attr.aria-current]="item.context.isLast ? 'page' : null"
72
+ role="link"
73
+ >
74
+ @if (item.data.imageUrl) {
75
+ <img (load)="onImageLoad()" [src]="item.data.imageUrl" class="k-image" role="presentation" />
76
+ }
77
+ @if (item.data.icon || item.data.iconClass || item.data.svgIcon) {
78
+ <kendo-icon-wrapper
79
+ [name]="item.data.icon"
80
+ [customFontClass]="item.data.iconClass"
81
+ [svgIcon]="item.data.svgIcon"
82
+ >
80
83
  </kendo-icon-wrapper>
81
- <span class="k-breadcrumb-item-text">{{ item.data.text }}</span>
84
+ }
85
+ <span class="k-breadcrumb-item-text">{{ item.data.text }}</span>
82
86
  </span>
87
+ }
88
+ @if (itemTemplate) {
83
89
  <ng-template
84
- *ngIf="itemTemplate"
85
- [ngTemplateOutlet]="itemTemplate"
90
+ [ngTemplateOutlet]="itemTemplate"
86
91
  [ngTemplateOutletContext]="{
87
92
  $implicit: item.data,
88
93
  index: index
89
94
  }"
90
95
  ></ng-template>
91
- </ng-container>
92
-
93
- <ng-container *ngIf="collapseMode !== 'wrap'">
94
- <ng-container *ngTemplateOutlet="separator"></ng-container>
95
- </ng-container>
96
- `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }] });
96
+ }
97
+ }
98
+
99
+ @if (collapseMode !== 'wrap') {
100
+ <ng-container *ngTemplateOutlet="separator"></ng-container>
101
+ }
102
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }] });
97
103
  }
98
104
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BreadCrumbItemComponent, decorators: [{
99
105
  type: Component,
@@ -102,16 +108,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
102
108
  selector: '[kendoBreadCrumbItem]',
103
109
  template: `
104
110
  <ng-template #separator>
105
- <ng-content select="[kendoBreadCrumbSeparator]"></ng-content>
111
+ <ng-content select="[kendoBreadCrumbSeparator]"></ng-content>
106
112
  </ng-template>
107
-
108
- <ng-container *ngIf="collapseMode === 'wrap'">
109
- <ng-container *ngTemplateOutlet="separator"></ng-container>
110
- </ng-container>
111
-
112
- <ng-container *ngIf="!item.context.collapsed">
113
+
114
+ @if (collapseMode === 'wrap') {
115
+ <ng-container *ngTemplateOutlet="separator"></ng-container>
116
+ }
117
+
118
+ @if (!item.context.collapsed) {
119
+ @if (!itemTemplate) {
113
120
  <span
114
- *ngIf="!itemTemplate"
115
121
  [ngClass]="{
116
122
  'k-breadcrumb-root-link': item.context.isFirst,
117
123
  'k-breadcrumb-link': index !== 0,
@@ -119,37 +125,43 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
119
125
  'k-breadcrumb-icon-link': (!!item.data.icon || !!item.data.svgIcon) && !item.data.text,
120
126
  'k-disabled': disabled
121
127
  }"
122
- [title]="item.data.title || ''"
123
- [tabindex]="disabled ? -1 : 0"
124
- [attr.aria-disabled]="disabled"
125
- [attr.aria-current]="item.context.isLast ? 'page' : null"
126
- role="link"
127
- >
128
- <img *ngIf="item.data.imageUrl" (load)="onImageLoad()" [src]="item.data.imageUrl" class="k-image" role="presentation" />
129
- <kendo-icon-wrapper *ngIf="item.data.icon || item.data.iconClass || item.data.svgIcon"
130
- [name]="item.data.icon"
131
- [customFontClass]="item.data.iconClass"
132
- [svgIcon]="item.data.svgIcon"
133
- >
128
+ [title]="item.data.title || ''"
129
+ [tabindex]="disabled ? -1 : 0"
130
+ [attr.aria-disabled]="disabled"
131
+ [attr.aria-current]="item.context.isLast ? 'page' : null"
132
+ role="link"
133
+ >
134
+ @if (item.data.imageUrl) {
135
+ <img (load)="onImageLoad()" [src]="item.data.imageUrl" class="k-image" role="presentation" />
136
+ }
137
+ @if (item.data.icon || item.data.iconClass || item.data.svgIcon) {
138
+ <kendo-icon-wrapper
139
+ [name]="item.data.icon"
140
+ [customFontClass]="item.data.iconClass"
141
+ [svgIcon]="item.data.svgIcon"
142
+ >
134
143
  </kendo-icon-wrapper>
135
- <span class="k-breadcrumb-item-text">{{ item.data.text }}</span>
144
+ }
145
+ <span class="k-breadcrumb-item-text">{{ item.data.text }}</span>
136
146
  </span>
147
+ }
148
+ @if (itemTemplate) {
137
149
  <ng-template
138
- *ngIf="itemTemplate"
139
- [ngTemplateOutlet]="itemTemplate"
150
+ [ngTemplateOutlet]="itemTemplate"
140
151
  [ngTemplateOutletContext]="{
141
152
  $implicit: item.data,
142
153
  index: index
143
154
  }"
144
155
  ></ng-template>
145
- </ng-container>
146
-
147
- <ng-container *ngIf="collapseMode !== 'wrap'">
148
- <ng-container *ngTemplateOutlet="separator"></ng-container>
149
- </ng-container>
150
- `,
156
+ }
157
+ }
158
+
159
+ @if (collapseMode !== 'wrap') {
160
+ <ng-container *ngTemplateOutlet="separator"></ng-container>
161
+ }
162
+ `,
151
163
  standalone: true,
152
- imports: [NgIf, NgTemplateOutlet, NgClass, IconWrapperComponent]
164
+ imports: [NgTemplateOutlet, NgClass, IconWrapperComponent]
153
165
  }]
154
166
  }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { item: [{
155
167
  type: Input