@progress/kendo-angular-layout 11.0.0-develop.103 → 11.0.0-develop.105

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.
Files changed (50) hide show
  1. package/avatar/avatar.component.d.ts +9 -5
  2. package/avatar.module.d.ts +2 -1
  3. package/drawer/item.component.d.ts +6 -1
  4. package/drawer/models/drawer-item.interface.d.ts +11 -1
  5. package/drawer.module.d.ts +2 -1
  6. package/esm2020/avatar/avatar.component.mjs +33 -16
  7. package/esm2020/avatar.module.mjs +4 -3
  8. package/esm2020/drawer/drawer.component.mjs +1 -0
  9. package/esm2020/drawer/item.component.mjs +62 -21
  10. package/esm2020/drawer.module.mjs +4 -3
  11. package/esm2020/expansionpanel/expansionpanel.component.mjs +72 -9
  12. package/esm2020/expansionpanel.module.mjs +4 -3
  13. package/esm2020/package-metadata.mjs +1 -1
  14. package/esm2020/panelbar/panelbar-item.component.mjs +88 -25
  15. package/esm2020/panelbar/panelbar.component.mjs +3 -1
  16. package/esm2020/panelbar.module.mjs +4 -3
  17. package/esm2020/splitter/splitter-bar.component.mjs +60 -23
  18. package/esm2020/splitter.module.mjs +7 -3
  19. package/esm2020/stepper/list.component.mjs +10 -1
  20. package/esm2020/stepper/step.component.mjs +82 -20
  21. package/esm2020/stepper/stepper.component.mjs +24 -2
  22. package/esm2020/stepper.module.mjs +4 -3
  23. package/esm2020/tabstrip/models/scrollable-settings.mjs +4 -2
  24. package/esm2020/tabstrip/models/tabstrip-tab.component.mjs +5 -1
  25. package/esm2020/tabstrip/rendering/tab.component.mjs +41 -15
  26. package/esm2020/tabstrip/scrollable-button.component.mjs +55 -30
  27. package/esm2020/tabstrip/tabstrip.component.mjs +30 -6
  28. package/esm2020/tabstrip.module.mjs +5 -3
  29. package/expansionpanel/expansionpanel.component.d.ts +25 -2
  30. package/expansionpanel.module.d.ts +2 -1
  31. package/fesm2015/progress-kendo-angular-layout.mjs +577 -181
  32. package/fesm2020/progress-kendo-angular-layout.mjs +577 -181
  33. package/package.json +7 -5
  34. package/panelbar/panelbar-item-model.d.ts +6 -0
  35. package/panelbar/panelbar-item.component.d.ts +29 -1
  36. package/panelbar.module.d.ts +2 -1
  37. package/schematics/ngAdd/index.js +4 -2
  38. package/splitter/splitter-bar.component.d.ts +8 -5
  39. package/splitter.module.d.ts +2 -1
  40. package/stepper/list.component.d.ts +5 -1
  41. package/stepper/models/stepper-step.interface.d.ts +6 -0
  42. package/stepper/step.component.d.ts +13 -3
  43. package/stepper/stepper.component.d.ts +21 -1
  44. package/stepper.module.d.ts +2 -1
  45. package/tabstrip/models/scrollable-settings.d.ts +11 -0
  46. package/tabstrip/models/tabstrip-tab.component.d.ts +13 -3
  47. package/tabstrip/rendering/tab.component.d.ts +5 -1
  48. package/tabstrip/scrollable-button.component.d.ts +5 -1
  49. package/tabstrip/tabstrip.component.d.ts +14 -3
  50. package/tabstrip.module.d.ts +3 -1
@@ -3,6 +3,7 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { OnInit, Renderer2, ElementRef, AfterViewInit } from '@angular/core';
6
+ import { SVGIcon } from '@progress/kendo-svg-icons';
6
7
  import { AvatarFillMode, AvatarShape, AvatarSize, AvatarThemeColor, AvatarRounded } from './models/models';
7
8
  import * as i0 from "@angular/core";
8
9
  /**
@@ -131,17 +132,20 @@ export declare class AvatarComponent implements OnInit, AfterViewInit {
131
132
  * Sets the `image` source of the avatar.
132
133
  */
133
134
  imageSrc: string;
135
+ /**
136
+ * Defines an SVGIcon to be rendered.
137
+ * The input can take either an [existing Kendo SVG icon](slug:svgicon_list) or a custom one.
138
+ */
139
+ set svgIcon(icon: SVGIcon);
140
+ get svgIcon(): SVGIcon;
134
141
  private _themeColor;
135
142
  private _size;
136
143
  private _fillMode;
137
144
  private _rounded;
145
+ private _svgIcon;
138
146
  constructor(renderer: Renderer2, element: ElementRef);
139
147
  ngOnInit(): void;
140
148
  ngAfterViewInit(): void;
141
- /**
142
- * @hidden
143
- */
144
- iconClasses(): string;
145
149
  /**
146
150
  * @hidden
147
151
  */
@@ -150,5 +154,5 @@ export declare class AvatarComponent implements OnInit, AfterViewInit {
150
154
  private handleClasses;
151
155
  private handleFillModeAndThemeColorClasses;
152
156
  static ɵfac: i0.ɵɵFactoryDeclaration<AvatarComponent, never>;
153
- static ɵcmp: i0.ɵɵComponentDeclaration<AvatarComponent, "kendo-avatar", never, { "shape": "shape"; "size": "size"; "rounded": "rounded"; "themeColor": "themeColor"; "fillMode": "fillMode"; "fill": "fill"; "border": "border"; "iconClass": "iconClass"; "width": "width"; "height": "height"; "cssStyle": "cssStyle"; "initials": "initials"; "icon": "icon"; "imageSrc": "imageSrc"; }, {}, never, ["*"]>;
157
+ static ɵcmp: i0.ɵɵComponentDeclaration<AvatarComponent, "kendo-avatar", never, { "shape": "shape"; "size": "size"; "rounded": "rounded"; "themeColor": "themeColor"; "fillMode": "fillMode"; "fill": "fill"; "border": "border"; "iconClass": "iconClass"; "width": "width"; "height": "height"; "cssStyle": "cssStyle"; "initials": "initials"; "icon": "icon"; "imageSrc": "imageSrc"; "svgIcon": "svgIcon"; }, {}, never, ["*"]>;
154
158
  }
@@ -5,12 +5,13 @@
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "./avatar/avatar.component";
7
7
  import * as i2 from "@angular/common";
8
+ import * as i3 from "@progress/kendo-angular-icons";
8
9
  /**
9
10
  * Represents the [NgModule](link:site.data.urls.angular['ngmoduleapi'])
10
11
  * definition for the Avatar component.
11
12
  */
12
13
  export declare class AvatarModule {
13
14
  static ɵfac: i0.ɵɵFactoryDeclaration<AvatarModule, never>;
14
- static ɵmod: i0.ɵɵNgModuleDeclaration<AvatarModule, [typeof i1.AvatarComponent], [typeof i2.CommonModule], [typeof i1.AvatarComponent]>;
15
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AvatarModule, [typeof i1.AvatarComponent], [typeof i2.CommonModule, typeof i3.IconsModule], [typeof i1.AvatarComponent]>;
15
16
  static ɵinj: i0.ɵɵInjectorDeclaration<AvatarModule>;
16
17
  }
@@ -3,6 +3,7 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { TemplateRef, ElementRef, Renderer2, AfterViewInit } from "@angular/core";
6
+ import { SVGIcon } from "@progress/kendo-svg-icons";
6
7
  import { DrawerService } from './drawer.service';
7
8
  import { DrawerViewItem } from "./models/drawer-view-item.interface";
8
9
  import * as i0 from "@angular/core";
@@ -24,9 +25,13 @@ export declare class DrawerItemComponent implements AfterViewInit {
24
25
  get disabledClass(): boolean;
25
26
  get selectedClass(): boolean;
26
27
  get label(): boolean;
28
+ arrowUpIcon: SVGIcon;
29
+ arrowDownIcon: SVGIcon;
27
30
  constructor(drawerService: DrawerService, element: ElementRef, renderer: Renderer2);
28
31
  ngAfterViewInit(): void;
29
- get iconClasses(): string[];
32
+ get iconClasses(): string;
33
+ get innerCssClasses(): string;
34
+ get customIconClasses(): string;
30
35
  get item(): any;
31
36
  static ɵfac: i0.ɵɵFactoryDeclaration<DrawerItemComponent, never>;
32
37
  static ɵcmp: i0.ɵɵComponentDeclaration<DrawerItemComponent, "[kendoDrawerItem]", never, { "viewItem": "viewItem"; "index": "index"; "itemTemplate": "itemTemplate"; "mini": "mini"; "expanded": "expanded"; "disabled": "disabled"; "cssClass": "cssClass"; "cssStyle": "cssStyle"; }, {}, never, never>;
@@ -2,6 +2,7 @@
2
2
  * Copyright © 2023 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
+ import { SVGIcon } from "@progress/kendo-svg-icons";
5
6
  /**
6
7
  * An interface for the Drawer items.
7
8
  */
@@ -22,7 +23,11 @@ export interface DrawerItem {
22
23
  disabled?: boolean;
23
24
  /**
24
25
  * Defines the name for an existing icon in a Kendo UI theme.
25
- * The icon is rendered inside the Drawer item by a `span.k-icon` element.
26
+ * The icon is rendered inside the Drawer item by the `kendo-icon` element.
27
+ *
28
+ * NOTE: The icon input will no longer require the `k-i-` prefix in the icon name. Please provide only the name of the icon.
29
+ * To ensure backward compatibility, both syntaxes will be supported for a period of time, but the `k-i-` prefix is deprecated and
30
+ * you can expect it to be dropped in a future major version of the package.
26
31
  */
27
32
  icon?: string;
28
33
  /**
@@ -31,6 +36,11 @@ export interface DrawerItem {
31
36
  * Allows the usage of custom icons.
32
37
  */
33
38
  iconClass?: string;
39
+ /**
40
+ * Defines an SVG icon to be rendered inside the Drawer Item.
41
+ * The input can take either an [existing Kendo SVG icon](slug:svgicon_list) or a custom one.
42
+ */
43
+ svgIcon?: SVGIcon;
34
44
  /**
35
45
  * Specifies the id of the Drawer item.
36
46
  */
@@ -13,12 +13,13 @@ import * as i7 from "./drawer/template-directives/header-template.directive";
13
13
  import * as i8 from "./drawer/template-directives/footer-template.directive";
14
14
  import * as i9 from "./drawer/template-directives/item-template.directive";
15
15
  import * as i10 from "@angular/common";
16
+ import * as i11 from "@progress/kendo-angular-icons";
16
17
  /**
17
18
  * Represents the [NgModule](link:site.data.urls.angular['ngmoduleapi'])
18
19
  * definition for the Drawer component.
19
20
  */
20
21
  export declare class DrawerModule {
21
22
  static ɵfac: i0.ɵɵFactoryDeclaration<DrawerModule, never>;
22
- static ɵmod: i0.ɵɵNgModuleDeclaration<DrawerModule, [typeof i1.DrawerItemComponent, typeof i2.DrawerListComponent, typeof i3.DrawerComponent, typeof i4.DrawerContainerComponent, typeof i5.DrawerContentComponent, typeof i6.DrawerTemplateDirective, typeof i7.DrawerHeaderTemplateDirective, typeof i8.DrawerFooterTemplateDirective, typeof i9.DrawerItemTemplateDirective], [typeof i10.CommonModule], [typeof i3.DrawerComponent, typeof i4.DrawerContainerComponent, typeof i5.DrawerContentComponent, typeof i6.DrawerTemplateDirective, typeof i7.DrawerHeaderTemplateDirective, typeof i8.DrawerFooterTemplateDirective, typeof i9.DrawerItemTemplateDirective]>;
23
+ static ɵmod: i0.ɵɵNgModuleDeclaration<DrawerModule, [typeof i1.DrawerItemComponent, typeof i2.DrawerListComponent, typeof i3.DrawerComponent, typeof i4.DrawerContainerComponent, typeof i5.DrawerContentComponent, typeof i6.DrawerTemplateDirective, typeof i7.DrawerHeaderTemplateDirective, typeof i8.DrawerFooterTemplateDirective, typeof i9.DrawerItemTemplateDirective], [typeof i10.CommonModule, typeof i11.IconsModule], [typeof i3.DrawerComponent, typeof i4.DrawerContainerComponent, typeof i5.DrawerContentComponent, typeof i6.DrawerTemplateDirective, typeof i7.DrawerHeaderTemplateDirective, typeof i8.DrawerFooterTemplateDirective, typeof i9.DrawerItemTemplateDirective]>;
23
24
  static ɵinj: i0.ɵɵInjectorDeclaration<DrawerModule>;
24
25
  }
@@ -7,7 +7,8 @@ import { validatePackage } from '@progress/kendo-licensing';
7
7
  import { getStylingClasses, mapShapeToRounded } from '../common/util';
8
8
  import { packageMetadata } from '../package-metadata';
9
9
  import * as i0 from "@angular/core";
10
- import * as i1 from "@angular/common";
10
+ import * as i1 from "@progress/kendo-angular-icons";
11
+ import * as i2 from "@angular/common";
11
12
  const DEFAULT_ROUNDED = 'full';
12
13
  const DEFAULT_SIZE = 'medium';
13
14
  const DEFAULT_THEME_COLOR = 'primary';
@@ -157,6 +158,19 @@ export class AvatarComponent {
157
158
  get avatarHeight() {
158
159
  return this.height;
159
160
  }
161
+ /**
162
+ * Defines an SVGIcon to be rendered.
163
+ * The input can take either an [existing Kendo SVG icon](slug:svgicon_list) or a custom one.
164
+ */
165
+ set svgIcon(icon) {
166
+ if (isDevMode() && icon && this.icon && this.iconClass) {
167
+ throw new Error('Setting both icon/svgIcon and iconClass options at the same time is not supported.');
168
+ }
169
+ this._svgIcon = icon;
170
+ }
171
+ get svgIcon() {
172
+ return this._svgIcon;
173
+ }
160
174
  ngOnInit() {
161
175
  this.verifyProperties();
162
176
  }
@@ -167,17 +181,6 @@ export class AvatarComponent {
167
181
  });
168
182
  this.handleFillModeAndThemeColorClasses(this.fillMode, this.themeColor);
169
183
  }
170
- /**
171
- * @hidden
172
- */
173
- iconClasses() {
174
- if (this.icon) {
175
- return `k-icon k-i-${this.icon}`;
176
- }
177
- if (this.iconClass) {
178
- return `${this.iconClass}`;
179
- }
180
- }
181
184
  /**
182
185
  * @hidden
183
186
  */
@@ -227,7 +230,7 @@ export class AvatarComponent {
227
230
  }
228
231
  }
229
232
  AvatarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AvatarComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
230
- AvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AvatarComponent, selector: "kendo-avatar", inputs: { shape: "shape", size: "size", rounded: "rounded", themeColor: "themeColor", fillMode: "fillMode", fill: "fill", border: "border", iconClass: "iconClass", width: "width", height: "height", cssStyle: "cssStyle", initials: "initials", icon: "icon", imageSrc: "imageSrc" }, host: { properties: { "class.k-avatar": "this.hostClass", "class.k-avatar-bordered": "this.borderClass", "style.flexBasis": "this.flexBasis", "style.width": "this.avatarWidth", "style.height": "this.avatarHeight" } }, ngImport: i0, template: `
233
+ AvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AvatarComponent, selector: "kendo-avatar", inputs: { shape: "shape", size: "size", rounded: "rounded", themeColor: "themeColor", fillMode: "fillMode", fill: "fill", border: "border", iconClass: "iconClass", width: "width", height: "height", cssStyle: "cssStyle", initials: "initials", icon: "icon", imageSrc: "imageSrc", svgIcon: "svgIcon" }, host: { properties: { "class.k-avatar": "this.hostClass", "class.k-avatar-bordered": "this.borderClass", "style.flexBasis": "this.flexBasis", "style.width": "this.avatarWidth", "style.height": "this.avatarHeight" } }, ngImport: i0, template: `
231
234
  <ng-content *ngIf="customAvatar"></ng-content>
232
235
 
233
236
  <ng-container *ngIf="imageSrc">
@@ -242,10 +245,16 @@ AvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versio
242
245
 
243
246
  <ng-container *ngIf="icon || iconClass">
244
247
  <span class="k-avatar-icon">
245
- <span [ngStyle]="cssStyle" [ngClass]="iconClasses()"></span>
248
+ <kendo-icon-wrapper
249
+ [ngStyle]="cssStyle"
250
+ [name]="icon"
251
+ [customFontClass]="iconClass"
252
+ [svgIcon]="svgIcon"
253
+ >
254
+ </kendo-icon-wrapper>
246
255
  </span>
247
256
  </ng-container>
248
- `, isInline: true, directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
257
+ `, isInline: true, components: [{ type: i1.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
249
258
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AvatarComponent, decorators: [{
250
259
  type: Component,
251
260
  args: [{
@@ -265,7 +274,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
265
274
 
266
275
  <ng-container *ngIf="icon || iconClass">
267
276
  <span class="k-avatar-icon">
268
- <span [ngStyle]="cssStyle" [ngClass]="iconClasses()"></span>
277
+ <kendo-icon-wrapper
278
+ [ngStyle]="cssStyle"
279
+ [name]="icon"
280
+ [customFontClass]="iconClass"
281
+ [svgIcon]="svgIcon"
282
+ >
283
+ </kendo-icon-wrapper>
269
284
  </span>
270
285
  </ng-container>
271
286
  `
@@ -313,4 +328,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
313
328
  type: Input
314
329
  }], imageSrc: [{
315
330
  type: Input
331
+ }], svgIcon: [{
332
+ type: Input
316
333
  }] } });
@@ -4,6 +4,7 @@
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { NgModule } from '@angular/core';
6
6
  import { CommonModule } from '@angular/common';
7
+ import { IconsModule } from '@progress/kendo-angular-icons';
7
8
  import { AvatarComponent } from './avatar/avatar.component';
8
9
  import * as i0 from "@angular/core";
9
10
  const exportedModules = [
@@ -19,13 +20,13 @@ const declarations = [
19
20
  export class AvatarModule {
20
21
  }
21
22
  AvatarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AvatarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
22
- AvatarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AvatarModule, declarations: [AvatarComponent], imports: [CommonModule], exports: [AvatarComponent] });
23
- AvatarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AvatarModule, imports: [[CommonModule]] });
23
+ AvatarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AvatarModule, declarations: [AvatarComponent], imports: [CommonModule, IconsModule], exports: [AvatarComponent] });
24
+ AvatarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AvatarModule, imports: [[CommonModule, IconsModule]] });
24
25
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AvatarModule, decorators: [{
25
26
  type: NgModule,
26
27
  args: [{
27
28
  declarations: [declarations],
28
29
  exports: [exportedModules],
29
- imports: [CommonModule]
30
+ imports: [CommonModule, IconsModule]
30
31
  }]
31
32
  }] });
@@ -2,6 +2,7 @@
2
2
  * Copyright © 2023 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
+ /* eslint-disable @typescript-eslint/no-explicit-any */
5
6
  import { Component, ContentChild, ElementRef, EventEmitter, HostBinding, Input, Output, isDevMode } from '@angular/core';
6
7
  import { validatePackage } from '@progress/kendo-licensing';
7
8
  import { packageMetadata } from '../package-metadata';
@@ -2,12 +2,15 @@
2
2
  * Copyright © 2023 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
+ /* eslint-disable @typescript-eslint/no-explicit-any */
5
6
  import { Component, Input, TemplateRef, HostBinding, ElementRef, Renderer2 } from "@angular/core";
7
+ import { chevronDownIcon, chevronUpIcon } from "@progress/kendo-svg-icons";
6
8
  import { DrawerService } from './drawer.service';
7
9
  import { nestedLink, DRAWER_LINK_SELECTOR } from './util';
8
10
  import * as i0 from "@angular/core";
9
11
  import * as i1 from "./drawer.service";
10
- import * as i2 from "@angular/common";
12
+ import * as i2 from "@progress/kendo-angular-icons";
13
+ import * as i3 from "@angular/common";
11
14
  /**
12
15
  * @hidden
13
16
  */
@@ -16,6 +19,8 @@ export class DrawerItemComponent {
16
19
  this.drawerService = drawerService;
17
20
  this.element = element;
18
21
  this.renderer = renderer;
22
+ this.arrowUpIcon = chevronUpIcon;
23
+ this.arrowDownIcon = chevronDownIcon;
19
24
  }
20
25
  get disabledClass() {
21
26
  return this.item.disabled;
@@ -34,14 +39,20 @@ export class DrawerItemComponent {
34
39
  }
35
40
  }
36
41
  get iconClasses() {
37
- const classes = [];
38
42
  if (this.item.icon) {
39
- classes.push(`k-icon ${this.item.icon}`);
43
+ const stripIcon = this.item.icon.replace('k-i-', '');
44
+ return `${stripIcon}`;
40
45
  }
41
- if (this.item.iconClass) {
42
- classes.push(`${this.item.iconClass}`);
46
+ }
47
+ get innerCssClasses() {
48
+ if (this.item.iconClass && this.item.icon) {
49
+ return `${this.item.iconClass}`;
50
+ }
51
+ }
52
+ get customIconClasses() {
53
+ if (!this.item.icon && this.item.iconClass) {
54
+ return this.item.iconClass;
43
55
  }
44
- return classes;
45
56
  }
46
57
  get item() {
47
58
  return this.viewItem.item;
@@ -61,19 +72,34 @@ DrawerItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
61
72
 
62
73
  <ng-template #defaultTemplate>
63
74
  <ng-container *ngIf="expanded">
64
- <span [ngClass]="iconClasses"></span>
75
+ <kendo-icon-wrapper
76
+ [name]="iconClasses"
77
+ [customFontClass]="customIconClasses"
78
+ [svgIcon]="item.svgIcon"
79
+ [innerCssClass]="innerCssClasses"
80
+ >
81
+ </kendo-icon-wrapper>
82
+
65
83
  <span class="k-item-text">{{ item.text }}</span>
66
- <span *ngIf="viewItem.hasChildren"
67
- class="k-icon k-drawer-toggle"
68
- [class.k-i-chevron-up]="viewItem.isExpanded"
69
- [class.k-i-chevron-down]="!viewItem.isExpanded"
70
- ></span>
84
+ <kendo-icon-wrapper
85
+ *ngIf="viewItem.hasChildren"
86
+ [name]="viewItem.isExpanded ? 'arrow-chevron-up' : 'arrow-chevron-down'"
87
+ innerCssClass="k-drawer-toggle"
88
+ [svgIcon]="viewItem.isExpanded ? arrowUpIcon : arrowDownIcon"
89
+ >
90
+ </kendo-icon-wrapper>
71
91
  </ng-container>
72
92
  <ng-container *ngIf="mini && !expanded">
73
- <span [ngClass]="iconClasses"></span>
93
+ <kendo-icon-wrapper
94
+ [name]="iconClasses"
95
+ [customFontClass]="customIconClasses"
96
+ [svgIcon]="item.svgIcon"
97
+ [innerCssClass]="innerCssClasses"
98
+ >
99
+ </kendo-icon-wrapper>
74
100
  </ng-container>
75
101
  </ng-template>
76
- `, isInline: true, directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
102
+ `, isInline: true, components: [{ type: i2.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
77
103
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DrawerItemComponent, decorators: [{
78
104
  type: Component,
79
105
  args: [{
@@ -92,16 +118,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
92
118
 
93
119
  <ng-template #defaultTemplate>
94
120
  <ng-container *ngIf="expanded">
95
- <span [ngClass]="iconClasses"></span>
121
+ <kendo-icon-wrapper
122
+ [name]="iconClasses"
123
+ [customFontClass]="customIconClasses"
124
+ [svgIcon]="item.svgIcon"
125
+ [innerCssClass]="innerCssClasses"
126
+ >
127
+ </kendo-icon-wrapper>
128
+
96
129
  <span class="k-item-text">{{ item.text }}</span>
97
- <span *ngIf="viewItem.hasChildren"
98
- class="k-icon k-drawer-toggle"
99
- [class.k-i-chevron-up]="viewItem.isExpanded"
100
- [class.k-i-chevron-down]="!viewItem.isExpanded"
101
- ></span>
130
+ <kendo-icon-wrapper
131
+ *ngIf="viewItem.hasChildren"
132
+ [name]="viewItem.isExpanded ? 'arrow-chevron-up' : 'arrow-chevron-down'"
133
+ innerCssClass="k-drawer-toggle"
134
+ [svgIcon]="viewItem.isExpanded ? arrowUpIcon : arrowDownIcon"
135
+ >
136
+ </kendo-icon-wrapper>
102
137
  </ng-container>
103
138
  <ng-container *ngIf="mini && !expanded">
104
- <span [ngClass]="iconClasses"></span>
139
+ <kendo-icon-wrapper
140
+ [name]="iconClasses"
141
+ [customFontClass]="customIconClasses"
142
+ [svgIcon]="item.svgIcon"
143
+ [innerCssClass]="innerCssClasses"
144
+ >
145
+ </kendo-icon-wrapper>
105
146
  </ng-container>
106
147
  </ng-template>
107
148
  `
@@ -9,6 +9,7 @@ import { DrawerComponent } from './drawer/drawer.component';
9
9
  import { DrawerContentComponent } from './drawer/drawer-content.component';
10
10
  import { DrawerItemComponent } from './drawer/item.component';
11
11
  import { DrawerListComponent } from './drawer/list.component';
12
+ import { IconsModule } from '@progress/kendo-angular-icons';
12
13
  import { DrawerTemplateDirective, DrawerItemTemplateDirective, DrawerHeaderTemplateDirective, DrawerFooterTemplateDirective } from './drawer/template-directives';
13
14
  import * as i0 from "@angular/core";
14
15
  const templateDirectives = [
@@ -41,18 +42,18 @@ DrawerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "
41
42
  DrawerContentComponent, DrawerTemplateDirective,
42
43
  DrawerHeaderTemplateDirective,
43
44
  DrawerFooterTemplateDirective,
44
- DrawerItemTemplateDirective], imports: [CommonModule], exports: [DrawerComponent,
45
+ DrawerItemTemplateDirective], imports: [CommonModule, IconsModule], exports: [DrawerComponent,
45
46
  DrawerContainerComponent,
46
47
  DrawerContentComponent, DrawerTemplateDirective,
47
48
  DrawerHeaderTemplateDirective,
48
49
  DrawerFooterTemplateDirective,
49
50
  DrawerItemTemplateDirective] });
50
- DrawerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DrawerModule, imports: [[CommonModule]] });
51
+ DrawerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DrawerModule, imports: [[CommonModule, IconsModule]] });
51
52
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DrawerModule, decorators: [{
52
53
  type: NgModule,
53
54
  args: [{
54
55
  declarations: [declarations],
55
56
  exports: [exportedModules],
56
- imports: [CommonModule]
57
+ imports: [CommonModule, IconsModule]
57
58
  }]
58
59
  }] });
@@ -4,7 +4,7 @@
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { AnimationBuilder } from '@angular/animations';
6
6
  import { isFocusable, hasClass } from './../common/dom-queries';
7
- import { Component, ContentChild, EventEmitter, HostBinding, Input, Output, ElementRef, Renderer2, NgZone, ViewChild } from '@angular/core';
7
+ import { Component, ContentChild, EventEmitter, HostBinding, Input, Output, ElementRef, Renderer2, NgZone, ViewChild, isDevMode } from '@angular/core';
8
8
  import { ExpansionPanelTitleDirective } from './expansionpanel-title.directive';
9
9
  import { collapse, expand } from './animations';
10
10
  import { isPresent } from '../common/util';
@@ -18,7 +18,8 @@ import { take } from 'rxjs/operators';
18
18
  import * as i0 from "@angular/core";
19
19
  import * as i1 from "@progress/kendo-angular-l10n";
20
20
  import * as i2 from "@angular/animations";
21
- import * as i3 from "@angular/common";
21
+ import * as i3 from "@progress/kendo-angular-icons";
22
+ import * as i4 from "@angular/common";
22
23
  const DEFAULT_DURATION = 200;
23
24
  const CONTENT_HIDDEN_CLASS = 'k-hidden';
24
25
  /**
@@ -125,6 +126,32 @@ export class ExpansionPanelComponent {
125
126
  get expanded() {
126
127
  return this._expanded;
127
128
  }
129
+ /**
130
+ * Defines an SVGIcon for the expanded state of the component.
131
+ * The input can take either an [existing Kendo SVG icon](slug:svgicon_list) or a custom one.
132
+ */
133
+ set svgExpandIcon(icon) {
134
+ if (isDevMode() && icon && this.expandIcon) {
135
+ throw new Error('Setting both expandIcon/svgExpandIcon options at the same time is not supported.');
136
+ }
137
+ this._svgExpandIcon = icon;
138
+ }
139
+ get svgExpandIcon() {
140
+ return this._svgExpandIcon;
141
+ }
142
+ /**
143
+ * Defines an SVGIcon for the collapsed state of the component.
144
+ * The input can take either an [existing Kendo SVG icon](slug:svgicon_list) or a custom one.
145
+ */
146
+ set svgCollapseIcon(icon) {
147
+ if (isDevMode() && icon && this.collapseIcon) {
148
+ throw new Error('Setting both collapseIcon/svgCollapseIcon options at the same time is not supported.');
149
+ }
150
+ this._svgCollapseIcon = icon;
151
+ }
152
+ get svgCollapseIcon() {
153
+ return this._svgCollapseIcon;
154
+ }
128
155
  get expandedClass() {
129
156
  return this.expanded && !this.disabled;
130
157
  }
@@ -208,12 +235,34 @@ export class ExpansionPanelComponent {
208
235
  /**
209
236
  * @hidden
210
237
  */
211
- get indicatorClasses() {
238
+ get expanderIndicatorClasses() {
239
+ if (this.expanded) {
240
+ return !this.collapseIcon ? `caret-alt-up` : '';
241
+ }
242
+ else {
243
+ return !this.expandIcon ? `caret-alt-down` : '';
244
+ }
245
+ }
246
+ /**
247
+ * @hidden
248
+ */
249
+ get customExpanderIndicatorClasses() {
250
+ if (this.expanded) {
251
+ return this.collapseIcon ? this.collapseIcon : '';
252
+ }
253
+ else {
254
+ return this.expandIcon ? this.expandIcon : '';
255
+ }
256
+ }
257
+ /**
258
+ * @hidden
259
+ */
260
+ get svgExpanderIndicatorClasses() {
212
261
  if (this.expanded) {
213
- return this.collapseIcon ? this.collapseIcon : `k-icon k-i-chevron-up`;
262
+ return this.svgCollapseIcon ? this.svgCollapseIcon : undefined;
214
263
  }
215
264
  else {
216
- return this.expandIcon ? this.expandIcon : `k-icon k-i-chevron-down`;
265
+ return this.svgExpandIcon ? this.svgExpandIcon : undefined;
217
266
  }
218
267
  }
219
268
  /**
@@ -293,7 +342,7 @@ export class ExpansionPanelComponent {
293
342
  }
294
343
  }
295
344
  ExpansionPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ExpansionPanelComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.LocalizationService }, { token: i2.AnimationBuilder }], target: i0.ɵɵFactoryTarget.Component });
296
- ExpansionPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ExpansionPanelComponent, selector: "kendo-expansionpanel", inputs: { title: "title", subtitle: "subtitle", disabled: "disabled", expanded: "expanded", expandIcon: "expandIcon", collapseIcon: "collapseIcon", animation: "animation" }, outputs: { expandedChange: "expandedChange", action: "action", expand: "expand", collapse: "collapse" }, host: { properties: { "class.k-expander": "this.hostClass", "class.k-expanded": "this.expandedClass", "attr.dir": "this.direction" } }, providers: [
345
+ ExpansionPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ExpansionPanelComponent, selector: "kendo-expansionpanel", inputs: { title: "title", subtitle: "subtitle", disabled: "disabled", expanded: "expanded", svgExpandIcon: "svgExpandIcon", svgCollapseIcon: "svgCollapseIcon", expandIcon: "expandIcon", collapseIcon: "collapseIcon", animation: "animation" }, outputs: { expandedChange: "expandedChange", action: "action", expand: "expand", collapse: "collapse" }, host: { properties: { "class.k-expander": "this.hostClass", "class.k-expanded": "this.expandedClass", "attr.dir": "this.direction" } }, providers: [
297
346
  LocalizationService,
298
347
  {
299
348
  provide: L10N_PREFIX,
@@ -323,7 +372,12 @@ ExpansionPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
323
372
  [ngTemplateOutlet]="titleTemplate?.templateRef">
324
373
  </ng-template>
325
374
  <span class="k-expander-indicator">
326
- <span [ngClass]="indicatorClasses"></span>
375
+ <kendo-icon-wrapper
376
+ [name]="expanderIndicatorClasses"
377
+ [customFontClass]="customExpanderIndicatorClasses"
378
+ [svgIcon]="svgExpanderIndicatorClasses"
379
+ >
380
+ </kendo-icon-wrapper>
327
381
  </span>
328
382
  </div>
329
383
  <div #content class="k-expander-content-wrapper">
@@ -331,7 +385,7 @@ ExpansionPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
331
385
  <ng-content></ng-content>
332
386
  </div>
333
387
  </div>
334
- `, isInline: true, directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
388
+ `, isInline: true, components: [{ type: i3.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
335
389
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ExpansionPanelComponent, decorators: [{
336
390
  type: Component,
337
391
  args: [{
@@ -368,7 +422,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
368
422
  [ngTemplateOutlet]="titleTemplate?.templateRef">
369
423
  </ng-template>
370
424
  <span class="k-expander-indicator">
371
- <span [ngClass]="indicatorClasses"></span>
425
+ <kendo-icon-wrapper
426
+ [name]="expanderIndicatorClasses"
427
+ [customFontClass]="customExpanderIndicatorClasses"
428
+ [svgIcon]="svgExpanderIndicatorClasses"
429
+ >
430
+ </kendo-icon-wrapper>
372
431
  </span>
373
432
  </div>
374
433
  <div #content class="k-expander-content-wrapper">
@@ -386,6 +445,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
386
445
  type: Input
387
446
  }], expanded: [{
388
447
  type: Input
448
+ }], svgExpandIcon: [{
449
+ type: Input
450
+ }], svgCollapseIcon: [{
451
+ type: Input
389
452
  }], expandIcon: [{
390
453
  type: Input
391
454
  }], collapseIcon: [{
@@ -5,6 +5,7 @@
5
5
  import { CommonModule } from '@angular/common';
6
6
  import { NgModule } from '@angular/core';
7
7
  import { EventsModule } from '@progress/kendo-angular-common';
8
+ import { IconsModule } from '@progress/kendo-angular-icons';
8
9
  import { ExpansionPanelTitleDirective } from './expansionpanel/expansionpanel-title.directive';
9
10
  import { ExpansionPanelComponent } from './expansionpanel/expansionpanel.component';
10
11
  import * as i0 from "@angular/core";
@@ -23,14 +24,14 @@ export class ExpansionPanelModule {
23
24
  }
24
25
  ExpansionPanelModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ExpansionPanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
25
26
  ExpansionPanelModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ExpansionPanelModule, declarations: [ExpansionPanelComponent,
26
- ExpansionPanelTitleDirective], imports: [CommonModule, EventsModule], exports: [ExpansionPanelComponent,
27
+ ExpansionPanelTitleDirective], imports: [CommonModule, EventsModule, IconsModule], exports: [ExpansionPanelComponent,
27
28
  ExpansionPanelTitleDirective] });
28
- ExpansionPanelModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ExpansionPanelModule, imports: [[CommonModule, EventsModule]] });
29
+ ExpansionPanelModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ExpansionPanelModule, imports: [[CommonModule, EventsModule, IconsModule]] });
29
30
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ExpansionPanelModule, decorators: [{
30
31
  type: NgModule,
31
32
  args: [{
32
33
  declarations: [declarations],
33
34
  exports: [exportedModules],
34
- imports: [CommonModule, EventsModule]
35
+ imports: [CommonModule, EventsModule, IconsModule]
35
36
  }]
36
37
  }] });
@@ -9,7 +9,7 @@ export const packageMetadata = {
9
9
  name: '@progress/kendo-angular-layout',
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
12
- publishDate: 1673523444,
12
+ publishDate: 1673536375,
13
13
  version: '',
14
14
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
15
15
  };