@progress/kendo-angular-layout 11.0.0-develop.99 → 11.0.1-develop.1

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 (52) hide show
  1. package/NOTICE.txt +17 -17
  2. package/avatar/avatar.component.d.ts +9 -5
  3. package/avatar.module.d.ts +2 -1
  4. package/drawer/item.component.d.ts +6 -1
  5. package/drawer/models/drawer-item.interface.d.ts +11 -1
  6. package/drawer.module.d.ts +2 -1
  7. package/esm2020/avatar/avatar.component.mjs +33 -16
  8. package/esm2020/avatar.module.mjs +4 -3
  9. package/esm2020/drawer/drawer.component.mjs +1 -0
  10. package/esm2020/drawer/item.component.mjs +62 -21
  11. package/esm2020/drawer.module.mjs +4 -3
  12. package/esm2020/expansionpanel/expansionpanel.component.mjs +72 -9
  13. package/esm2020/expansionpanel.module.mjs +4 -3
  14. package/esm2020/package-metadata.mjs +2 -2
  15. package/esm2020/panelbar/panelbar-item.component.mjs +88 -25
  16. package/esm2020/panelbar/panelbar.component.mjs +3 -1
  17. package/esm2020/panelbar.module.mjs +4 -3
  18. package/esm2020/splitter/splitter-bar.component.mjs +60 -23
  19. package/esm2020/splitter.module.mjs +7 -3
  20. package/esm2020/stepper/list.component.mjs +10 -1
  21. package/esm2020/stepper/step.component.mjs +82 -20
  22. package/esm2020/stepper/stepper.component.mjs +24 -2
  23. package/esm2020/stepper.module.mjs +4 -3
  24. package/esm2020/tabstrip/constants.mjs +4 -4
  25. package/esm2020/tabstrip/models/scrollable-settings.mjs +4 -2
  26. package/esm2020/tabstrip/models/tabstrip-tab.component.mjs +5 -1
  27. package/esm2020/tabstrip/rendering/tab.component.mjs +41 -15
  28. package/esm2020/tabstrip/scrollable-button.component.mjs +55 -30
  29. package/esm2020/tabstrip/tabstrip.component.mjs +30 -6
  30. package/esm2020/tabstrip.module.mjs +5 -3
  31. package/expansionpanel/expansionpanel.component.d.ts +25 -2
  32. package/expansionpanel.module.d.ts +2 -1
  33. package/fesm2015/progress-kendo-angular-layout.mjs +582 -186
  34. package/fesm2020/progress-kendo-angular-layout.mjs +582 -186
  35. package/package.json +9 -7
  36. package/panelbar/panelbar-item-model.d.ts +6 -0
  37. package/panelbar/panelbar-item.component.d.ts +29 -1
  38. package/panelbar.module.d.ts +2 -1
  39. package/schematics/ngAdd/index.js +4 -2
  40. package/splitter/splitter-bar.component.d.ts +8 -5
  41. package/splitter.module.d.ts +2 -1
  42. package/stepper/list.component.d.ts +5 -1
  43. package/stepper/models/stepper-step.interface.d.ts +6 -0
  44. package/stepper/step.component.d.ts +13 -3
  45. package/stepper/stepper.component.d.ts +21 -1
  46. package/stepper.module.d.ts +2 -1
  47. package/tabstrip/models/scrollable-settings.d.ts +11 -0
  48. package/tabstrip/models/tabstrip-tab.component.d.ts +13 -3
  49. package/tabstrip/rendering/tab.component.d.ts +5 -1
  50. package/tabstrip/scrollable-button.component.d.ts +5 -1
  51. package/tabstrip/tabstrip.component.d.ts +14 -3
  52. package/tabstrip.module.d.ts +3 -1
@@ -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: 1673466816,
13
- version: '',
12
+ publishDate: 1674059806,
13
+ version: '11.0.1-develop.1',
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
  };
@@ -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, Input, ContentChildren, ViewChildren, Optional, Host, HostBinding, SkipSelf, isDevMode, TemplateRef, QueryList, ViewChild, ElementRef, Renderer2 } from '@angular/core';
6
7
  import { animate, trigger, style, state, transition, AUTO_STYLE } from '@angular/animations';
7
8
  import { PanelBarService } from "./panelbar.service";
@@ -10,9 +11,11 @@ import { PanelBarItemTitleDirective } from "./panelbar-item-title.directive";
10
11
  import { isFocusable } from '../common/dom-queries';
11
12
  import { Subscription } from 'rxjs';
12
13
  import { PanelBarExpandMode } from './panelbar-expand-mode';
14
+ import { arrowDownIcon, arrowUpIcon } from '@progress/kendo-svg-icons';
13
15
  import * as i0 from "@angular/core";
14
16
  import * as i1 from "./panelbar.service";
15
- import * as i2 from "@angular/common";
17
+ import * as i2 from "@progress/kendo-angular-icons";
18
+ import * as i3 from "@angular/common";
16
19
  /**
17
20
  * @hidden
18
21
  */
@@ -61,6 +64,14 @@ export class PanelBarItemComponent {
61
64
  this.role = "treeitem";
62
65
  this.titleAttribute = null; // eslint-disable-line
63
66
  this.kItemClass = true;
67
+ /**
68
+ * @hidden
69
+ */
70
+ this.arrowUpSVGIcon = arrowUpIcon;
71
+ /**
72
+ * @hidden
73
+ */
74
+ this.arrowDownSVGIcon = arrowDownIcon;
64
75
  this.focused = false;
65
76
  this.wrapperFocused = false;
66
77
  this.subscriptions = new Subscription(() => { });
@@ -70,6 +81,19 @@ export class PanelBarItemComponent {
70
81
  this.wrapperFocused = parent ? parent.focused : false;
71
82
  this.level = this.parent ? this.parent.level + 1 : 0;
72
83
  }
84
+ /**
85
+ * Defines an SVGIcon to be rendered.
86
+ * The input can take either an [existing Kendo SVG icon](slug:svgicon_list) or a custom one.
87
+ */
88
+ set svgIcon(icon) {
89
+ if (isDevMode() && icon && this.icon && this.iconClass) {
90
+ throw new Error('Setting both icon/svgIcon and iconClass options at the same time is not supported.');
91
+ }
92
+ this._svgIcon = icon;
93
+ }
94
+ get svgIcon() {
95
+ return this._svgIcon;
96
+ }
73
97
  /**
74
98
  * When set to `true`, expands the PanelBar item ([see example]({% slug items_panelbar %}#toc-expanded-state)).
75
99
  */
@@ -161,10 +185,30 @@ export class PanelBarItemComponent {
161
185
  * @hidden
162
186
  */
163
187
  get iconClasses() {
164
- const icon = this.icon ? 'k-i-' + this.icon : null;
165
- return {
166
- [icon || this.iconClass]: true
167
- };
188
+ if (this.icon) {
189
+ return `${this.icon}`;
190
+ }
191
+ }
192
+ /**
193
+ * @hidden
194
+ */
195
+ get customIconClasses() {
196
+ if (this.iconClass) {
197
+ return `${this.iconClass}`;
198
+ }
199
+ }
200
+ /**
201
+ * @hidden
202
+ */
203
+ get dirInnerCssClasses() {
204
+ const dirClass = this.expanded ? 'k-panelbar-collapse' : 'k-panelbar-expand';
205
+ return `k-panelbar-toggle ${dirClass}`;
206
+ }
207
+ /**
208
+ * @hidden
209
+ */
210
+ get arrowSVGIcon() {
211
+ return this.expanded ? this.arrowUpSVGIcon : this.arrowDownSVGIcon;
168
212
  }
169
213
  /**
170
214
  * @hidden
@@ -177,6 +221,7 @@ export class PanelBarItemComponent {
177
221
  focused: this.focused,
178
222
  icon: this.icon,
179
223
  iconClass: this.iconClass,
224
+ svgIcon: this.svgIcon,
180
225
  id: this.id,
181
226
  imageUrl: this.imageUrl,
182
227
  selected: this.selected,
@@ -239,7 +284,7 @@ export class PanelBarItemComponent {
239
284
  }
240
285
  }
241
286
  PanelBarItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PanelBarItemComponent, deps: [{ token: PanelBarItemComponent, host: true, optional: true, skipSelf: true }, { token: i1.PanelBarService }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
242
- PanelBarItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: PanelBarItemComponent, selector: "kendo-panelbar-item", inputs: { title: "title", id: "id", icon: "icon", iconClass: "iconClass", imageUrl: "imageUrl", disabled: "disabled", expanded: "expanded", selected: "selected", content: "content", items: "items", template: "template" }, host: { properties: { "attr.role": "this.role", "attr.title": "this.titleAttribute", "class.k-panelbar-item": "this.kItemClass", "class.k-state-default": "this.kStateDefaultClass", "class.k-expanded": "this.kStateExpandedClass", "id": "this.itemId", "attr.aria-expanded": "this.ariaExpanded", "attr.aria-selected": "this.ariaSelected", "attr.aria-disabled": "this.ariaDisabled", "class.k-panelbar-header": "this.headerClass" } }, queries: [{ propertyName: "contentItems", predicate: PanelBarItemComponent }, { propertyName: "contentTemplate", predicate: PanelBarContentDirective }, { propertyName: "titleTemplates", predicate: PanelBarItemTitleDirective }], viewQueries: [{ propertyName: "header", first: true, predicate: ["header"], descendants: true }, { propertyName: "contentWrapper", first: true, predicate: ["contentWrapper"], descendants: true }, { propertyName: "viewChildItems", predicate: PanelBarItemComponent, descendants: true }], exportAs: ["kendoPanelbarItem"], ngImport: i0, template: `
287
+ PanelBarItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: PanelBarItemComponent, selector: "kendo-panelbar-item", inputs: { title: "title", id: "id", icon: "icon", iconClass: "iconClass", svgIcon: "svgIcon", imageUrl: "imageUrl", disabled: "disabled", expanded: "expanded", selected: "selected", content: "content", items: "items", template: "template" }, host: { properties: { "attr.role": "this.role", "attr.title": "this.titleAttribute", "class.k-panelbar-item": "this.kItemClass", "class.k-state-default": "this.kStateDefaultClass", "class.k-expanded": "this.kStateExpandedClass", "id": "this.itemId", "attr.aria-expanded": "this.ariaExpanded", "attr.aria-selected": "this.ariaSelected", "attr.aria-disabled": "this.ariaDisabled", "class.k-panelbar-header": "this.headerClass" } }, queries: [{ propertyName: "contentItems", predicate: PanelBarItemComponent }, { propertyName: "contentTemplate", predicate: PanelBarContentDirective }, { propertyName: "titleTemplates", predicate: PanelBarItemTitleDirective }], viewQueries: [{ propertyName: "header", first: true, predicate: ["header"], descendants: true }, { propertyName: "contentWrapper", first: true, predicate: ["contentWrapper"], descendants: true }, { propertyName: "viewChildItems", predicate: PanelBarItemComponent, descendants: true }], exportAs: ["kendoPanelbarItem"], ngImport: i0, template: `
243
288
  <span
244
289
  #header
245
290
  [class.k-link]="true"
@@ -247,11 +292,14 @@ PanelBarItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
247
292
  [class.k-focus]="focused && wrapperFocused"
248
293
  [class.k-disabled]="disabled"
249
294
  (click)="onItemClick($event)">
250
- <span
251
- *ngIf="icon || iconClass"
252
- class="k-icon k-panelbar-item-icon"
253
- [ngClass]="iconClasses">
254
- </span>
295
+ <kendo-icon-wrapper
296
+ *ngIf="icon || iconClass || svgIcon"
297
+ [name]="iconClasses"
298
+ [customFontClass]="customIconClasses"
299
+ [svgIcon]="svgIcon"
300
+ innerCssClass="k-panelbar-item-icon"
301
+ >
302
+ </kendo-icon-wrapper>
255
303
  <img
256
304
  *ngIf="imageUrl"
257
305
  class="k-image k-panelbar-item-icon"
@@ -266,6 +314,7 @@ PanelBarItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
266
314
  id: id,
267
315
  icon: icon,
268
316
  iconClass: iconClass,
317
+ svgIcon: svgIcon,
269
318
  imageUrl: imageUrl,
270
319
  selected: selected,
271
320
  expanded: expanded,
@@ -274,10 +323,13 @@ PanelBarItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
274
323
  content: content
275
324
  }
276
325
  }"></ng-template>
277
- <span *ngIf="hasChildItems || hasContent"
278
- class="k-icon k-panelbar-toggle"
279
- [ngClass]="{'k-i-chevron-up k-panelbar-collapse': expanded, 'k-i-chevron-down k-panelbar-expand': !expanded}">
280
- </span>
326
+ <kendo-icon-wrapper
327
+ *ngIf="hasChildItems || hasContent"
328
+ [name]="expanded ? 'arrow-chevron-up' : 'chevron-down'"
329
+ [svgIcon]="arrowSVGIcon"
330
+ [innerCssClass]="dirInnerCssClasses"
331
+ >
332
+ </kendo-icon-wrapper>
281
333
  </span>
282
334
  <div
283
335
  #contentWrapper
@@ -323,6 +375,7 @@ PanelBarItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
323
375
  [id]="item.id"
324
376
  [icon]="item.icon"
325
377
  [iconClass]="item.iconClass"
378
+ [svgIcon]="item.svgIcon"
326
379
  [imageUrl]="item.imageUrl"
327
380
  [selected]="!!item.selected"
328
381
  [expanded]="!!item.expanded"
@@ -353,7 +406,7 @@ PanelBarItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
353
406
  </ng-template>
354
407
  <ng-template [ngIf]="!template">{{content}}</ng-template>
355
408
  </div>
356
- </div>`, isInline: true, components: [{ type: PanelBarItemComponent, selector: "kendo-panelbar-item", inputs: ["title", "id", "icon", "iconClass", "imageUrl", "disabled", "expanded", "selected", "content", "items", "template"], exportAs: ["kendoPanelbarItem"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], animations: [
409
+ </div>`, isInline: true, components: [{ type: i2.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }, { type: PanelBarItemComponent, selector: "kendo-panelbar-item", inputs: ["title", "id", "icon", "iconClass", "svgIcon", "imageUrl", "disabled", "expanded", "selected", "content", "items", "template"], exportAs: ["kendoPanelbarItem"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], animations: [
357
410
  trigger('toggle', [
358
411
  state('inactive', style({ display: 'none' })),
359
412
  transition('* => active', [
@@ -392,11 +445,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
392
445
  [class.k-focus]="focused && wrapperFocused"
393
446
  [class.k-disabled]="disabled"
394
447
  (click)="onItemClick($event)">
395
- <span
396
- *ngIf="icon || iconClass"
397
- class="k-icon k-panelbar-item-icon"
398
- [ngClass]="iconClasses">
399
- </span>
448
+ <kendo-icon-wrapper
449
+ *ngIf="icon || iconClass || svgIcon"
450
+ [name]="iconClasses"
451
+ [customFontClass]="customIconClasses"
452
+ [svgIcon]="svgIcon"
453
+ innerCssClass="k-panelbar-item-icon"
454
+ >
455
+ </kendo-icon-wrapper>
400
456
  <img
401
457
  *ngIf="imageUrl"
402
458
  class="k-image k-panelbar-item-icon"
@@ -411,6 +467,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
411
467
  id: id,
412
468
  icon: icon,
413
469
  iconClass: iconClass,
470
+ svgIcon: svgIcon,
414
471
  imageUrl: imageUrl,
415
472
  selected: selected,
416
473
  expanded: expanded,
@@ -419,10 +476,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
419
476
  content: content
420
477
  }
421
478
  }"></ng-template>
422
- <span *ngIf="hasChildItems || hasContent"
423
- class="k-icon k-panelbar-toggle"
424
- [ngClass]="{'k-i-chevron-up k-panelbar-collapse': expanded, 'k-i-chevron-down k-panelbar-expand': !expanded}">
425
- </span>
479
+ <kendo-icon-wrapper
480
+ *ngIf="hasChildItems || hasContent"
481
+ [name]="expanded ? 'arrow-chevron-up' : 'chevron-down'"
482
+ [svgIcon]="arrowSVGIcon"
483
+ [innerCssClass]="dirInnerCssClasses"
484
+ >
485
+ </kendo-icon-wrapper>
426
486
  </span>
427
487
  <div
428
488
  #contentWrapper
@@ -468,6 +528,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
468
528
  [id]="item.id"
469
529
  [icon]="item.icon"
470
530
  [iconClass]="item.iconClass"
531
+ [svgIcon]="item.svgIcon"
471
532
  [imageUrl]="item.imageUrl"
472
533
  [selected]="!!item.selected"
473
534
  [expanded]="!!item.expanded"
@@ -514,6 +575,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
514
575
  type: Input
515
576
  }], iconClass: [{
516
577
  type: Input
578
+ }], svgIcon: [{
579
+ type: Input
517
580
  }], imageUrl: [{
518
581
  type: Input
519
582
  }], disabled: [{
@@ -499,6 +499,7 @@ PanelBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
499
499
  [id]="item.id"
500
500
  [icon]="item.icon"
501
501
  [iconClass]="item.iconClass"
502
+ [svgIcon]="item.svgIcon"
502
503
  [imageUrl]="item.imageUrl"
503
504
  [selected]="!!item.selected"
504
505
  [expanded]="!!item.expanded"
@@ -510,7 +511,7 @@ PanelBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
510
511
  </kendo-panelbar-item>
511
512
  </ng-container>
512
513
  </ng-template>
513
- `, isInline: true, components: [{ type: i3.PanelBarItemComponent, selector: "kendo-panelbar-item", inputs: ["title", "id", "icon", "iconClass", "imageUrl", "disabled", "expanded", "selected", "content", "items", "template"], exportAs: ["kendoPanelbarItem"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
514
+ `, isInline: true, components: [{ type: i3.PanelBarItemComponent, selector: "kendo-panelbar-item", inputs: ["title", "id", "icon", "iconClass", "svgIcon", "imageUrl", "disabled", "expanded", "selected", "content", "items", "template"], exportAs: ["kendoPanelbarItem"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
514
515
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PanelBarComponent, decorators: [{
515
516
  type: Component,
516
517
  args: [{
@@ -533,6 +534,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
533
534
  [id]="item.id"
534
535
  [icon]="item.icon"
535
536
  [iconClass]="item.iconClass"
537
+ [svgIcon]="item.svgIcon"
536
538
  [imageUrl]="item.imageUrl"
537
539
  [selected]="!!item.selected"
538
540
  [expanded]="!!item.expanded"
@@ -9,6 +9,7 @@ import { PanelBarItemComponent } from './panelbar/panelbar-item.component';
9
9
  import { PanelBarContentDirective } from './panelbar/panelbar-content.directive';
10
10
  import { PanelBarItemTemplateDirective } from './panelbar/panelbar-item-template.directive';
11
11
  import { PanelBarItemTitleDirective } from './panelbar/panelbar-item-title.directive';
12
+ import { IconsModule } from '@progress/kendo-angular-icons';
12
13
  import * as i0 from "@angular/core";
13
14
  const exportedModules = [
14
15
  PanelBarComponent,
@@ -38,17 +39,17 @@ PanelBarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
38
39
  PanelBarItemComponent,
39
40
  PanelBarContentDirective,
40
41
  PanelBarItemTemplateDirective,
41
- PanelBarItemTitleDirective], imports: [CommonModule], exports: [PanelBarComponent,
42
+ PanelBarItemTitleDirective], imports: [CommonModule, IconsModule], exports: [PanelBarComponent,
42
43
  PanelBarItemComponent,
43
44
  PanelBarContentDirective,
44
45
  PanelBarItemTemplateDirective,
45
46
  PanelBarItemTitleDirective] });
46
- PanelBarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PanelBarModule, imports: [[CommonModule]] });
47
+ PanelBarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PanelBarModule, imports: [[CommonModule, IconsModule]] });
47
48
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PanelBarModule, decorators: [{
48
49
  type: NgModule,
49
50
  args: [{
50
51
  declarations: [declarations],
51
52
  exports: [exportedModules],
52
- imports: [CommonModule]
53
+ imports: [CommonModule, IconsModule]
53
54
  }]
54
55
  }] });
@@ -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, ElementRef, Host, HostBinding, Input, Renderer2 } from '@angular/core';
6
7
  import { LocalizationService } from '@progress/kendo-angular-l10n';
7
8
  import { DraggableDirective, Keys } from '@progress/kendo-angular-common';
@@ -9,11 +10,13 @@ import { SplitterService } from './splitter.service';
9
10
  import { Subscription, of } from 'rxjs';
10
11
  import { delay, filter, map, switchMap, takeUntil, tap } from 'rxjs/operators';
11
12
  import { shouldToggleOrResize } from './util';
13
+ import { caretAltDownIcon, caretAltLeftIcon, caretAltRightIcon, caretAltUpIcon } from '@progress/kendo-svg-icons';
12
14
  import * as i0 from "@angular/core";
13
15
  import * as i1 from "@progress/kendo-angular-common";
14
- import * as i2 from "./splitter.service";
15
- import * as i3 from "@progress/kendo-angular-l10n";
16
- import * as i4 from "@angular/common";
16
+ import * as i2 from "@progress/kendo-angular-l10n";
17
+ import * as i3 from "./splitter.service";
18
+ import * as i4 from "@progress/kendo-angular-icons";
19
+ import * as i5 from "@angular/common";
17
20
  const stopPropagation = ({ originalEvent: event }) => {
18
21
  event.stopPropagation();
19
22
  event.preventDefault();
@@ -31,11 +34,11 @@ const createMoveStream = (draggable) => mouseDown => draggable.kendoDrag
31
34
  * @hidden
32
35
  */
33
36
  export class SplitterBarComponent {
34
- constructor(draggable, element, splitterService, localization, renderer) {
37
+ constructor(draggable, localization, splitterService, element, renderer) {
35
38
  this.draggable = draggable;
36
- this.element = element;
37
- this.splitterService = splitterService;
38
39
  this.localization = localization;
40
+ this.splitterService = splitterService;
41
+ this.element = element;
39
42
  this.renderer = renderer;
40
43
  this.orientation = 'horizontal';
41
44
  this.index = 0;
@@ -125,26 +128,60 @@ export class SplitterBarComponent {
125
128
  const isCollapsed = pane.collapsed;
126
129
  const isHorizontal = this.orientation === 'horizontal';
127
130
  return classFromObject({
128
- 'k-icon': true,
129
- 'k-i-caret-alt-left': isCollapsible && isHorizontal && !isCollapsed,
130
- 'k-i-caret-alt-right': isCollapsible && isHorizontal && isCollapsed,
131
- 'k-i-caret-alt-up': isCollapsible && !isHorizontal && !isCollapsed,
132
- 'k-i-caret-alt-down': isCollapsible && !isHorizontal && isCollapsed
131
+ 'caret-alt-left': isCollapsible && isHorizontal && !isCollapsed,
132
+ 'caret-alt-right': isCollapsible && isHorizontal && isCollapsed,
133
+ 'caret-alt-up': isCollapsible && !isHorizontal && !isCollapsed,
134
+ 'caret-alt-down': isCollapsible && !isHorizontal && isCollapsed
133
135
  });
134
136
  }
137
+ previousSVGArrowClass() {
138
+ const pane = this.splitterService.pane(this.index);
139
+ const isCollapsible = pane.collapsible;
140
+ const isCollapsed = pane.collapsed;
141
+ const isHorizontal = this.orientation === 'horizontal';
142
+ if (isCollapsible && isHorizontal && !isCollapsed) {
143
+ return caretAltLeftIcon;
144
+ }
145
+ if (isCollapsible && isHorizontal && isCollapsed) {
146
+ return caretAltRightIcon;
147
+ }
148
+ if (isCollapsible && !isHorizontal && !isCollapsed) {
149
+ return caretAltUpIcon;
150
+ }
151
+ if (isCollapsible && !isHorizontal && isCollapsed) {
152
+ return caretAltDownIcon;
153
+ }
154
+ }
135
155
  nextArrowClass() {
136
156
  const pane = this.splitterService.pane(this.index + 1);
137
157
  const isCollapsible = pane.collapsible;
138
158
  const isCollapsed = pane.collapsed;
139
159
  const isHorizontal = this.orientation === 'horizontal';
140
160
  return classFromObject({
141
- 'k-icon': true,
142
- 'k-i-caret-alt-right': isCollapsible && isHorizontal && !isCollapsed,
143
- 'k-i-caret-alt-left': isCollapsible && isHorizontal && isCollapsed,
144
- 'k-i-caret-alt-down': isCollapsible && !isHorizontal && !isCollapsed,
145
- 'k-i-caret-alt-up': isCollapsible && !isHorizontal && isCollapsed
161
+ 'caret-alt-right': isCollapsible && isHorizontal && !isCollapsed,
162
+ 'caret-alt-left': isCollapsible && isHorizontal && isCollapsed,
163
+ 'caret-alt-down': isCollapsible && !isHorizontal && !isCollapsed,
164
+ 'caret-alt-up': isCollapsible && !isHorizontal && isCollapsed
146
165
  });
147
166
  }
167
+ nextSVGArrowClass() {
168
+ const pane = this.splitterService.pane(this.index + 1);
169
+ const isCollapsible = pane.collapsible;
170
+ const isCollapsed = pane.collapsed;
171
+ const isHorizontal = this.orientation === 'horizontal';
172
+ if (isCollapsible && isHorizontal && !isCollapsed) {
173
+ return caretAltRightIcon;
174
+ }
175
+ if (isCollapsible && isHorizontal && isCollapsed) {
176
+ return caretAltLeftIcon;
177
+ }
178
+ if (isCollapsible && !isHorizontal && !isCollapsed) {
179
+ return caretAltDownIcon;
180
+ }
181
+ if (isCollapsible && !isHorizontal && isCollapsed) {
182
+ return caretAltUpIcon;
183
+ }
184
+ }
148
185
  togglePane() {
149
186
  if (this.expandLast) {
150
187
  this.toggleNext();
@@ -178,33 +215,33 @@ export class SplitterBarComponent {
178
215
  }
179
216
  }
180
217
  }
181
- SplitterBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: SplitterBarComponent, deps: [{ token: i1.DraggableDirective, host: true }, { token: i0.ElementRef }, { token: i2.SplitterService }, { token: i3.LocalizationService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
218
+ SplitterBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: SplitterBarComponent, deps: [{ token: i1.DraggableDirective, host: true }, { token: i2.LocalizationService }, { token: i3.SplitterService }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
182
219
  SplitterBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: SplitterBarComponent, selector: "kendo-splitter-bar", inputs: { orientation: "orientation", index: "index" }, host: { properties: { "attr.aria-orientation": "this.orientation", "attr.role": "this.ariaRole", "class.k-focus": "this.focused", "attr.tabindex": "this.tabIndex", "class": "this.hostClasses", "style.-ms-flex-order": "this.order", "style.order": "this.order" } }, ngImport: i0, template: `
183
220
  <div *ngIf="shouldShowIcon('prev')" [class]="collapseClass('prev')" (click)="togglePrevious()">
184
- <span [class]="previousArrowClass()"></span>
221
+ <kendo-icon-wrapper [name]="previousArrowClass()" [svgIcon]="previousSVGArrowClass()"></kendo-icon-wrapper>
185
222
  </div>
186
223
  <div class="k-resize-handle"></div>
187
224
  <div *ngIf="shouldShowIcon('next')" [class]="collapseClass('next')" (click)="toggleNext()">
188
- <span [class]="nextArrowClass()"></span>
225
+ <kendo-icon-wrapper [name]="nextArrowClass()" [svgIcon]="nextSVGArrowClass()"></kendo-icon-wrapper>
189
226
  </div>
190
- `, isInline: true, directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
227
+ `, isInline: true, components: [{ type: i4.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
191
228
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: SplitterBarComponent, decorators: [{
192
229
  type: Component,
193
230
  args: [{
194
231
  selector: 'kendo-splitter-bar',
195
232
  template: `
196
233
  <div *ngIf="shouldShowIcon('prev')" [class]="collapseClass('prev')" (click)="togglePrevious()">
197
- <span [class]="previousArrowClass()"></span>
234
+ <kendo-icon-wrapper [name]="previousArrowClass()" [svgIcon]="previousSVGArrowClass()"></kendo-icon-wrapper>
198
235
  </div>
199
236
  <div class="k-resize-handle"></div>
200
237
  <div *ngIf="shouldShowIcon('next')" [class]="collapseClass('next')" (click)="toggleNext()">
201
- <span [class]="nextArrowClass()"></span>
238
+ <kendo-icon-wrapper [name]="nextArrowClass()" [svgIcon]="nextSVGArrowClass()"></kendo-icon-wrapper>
202
239
  </div>
203
240
  `
204
241
  }]
205
242
  }], ctorParameters: function () { return [{ type: i1.DraggableDirective, decorators: [{
206
243
  type: Host
207
- }] }, { type: i0.ElementRef }, { type: i2.SplitterService }, { type: i3.LocalizationService }, { type: i0.Renderer2 }]; }, propDecorators: { orientation: [{
244
+ }] }, { type: i2.LocalizationService }, { type: i3.SplitterService }, { type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { orientation: [{
208
245
  type: Input
209
246
  }, {
210
247
  type: HostBinding,