@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
@@ -8,6 +8,7 @@ import { DraggableModule } from '@progress/kendo-angular-common';
8
8
  import { SplitterComponent } from './splitter/splitter.component';
9
9
  import { SplitterBarComponent } from './splitter/splitter-bar.component';
10
10
  import { SplitterPaneComponent } from './splitter/splitter-pane.component';
11
+ import { IconsModule } from '@progress/kendo-angular-icons';
11
12
  import * as i0 from "@angular/core";
12
13
  const exportedModules = [
13
14
  SplitterComponent,
@@ -30,11 +31,13 @@ export class SplitterModule {
30
31
  SplitterModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: SplitterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
31
32
  SplitterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: SplitterModule, declarations: [SplitterBarComponent, SplitterComponent,
32
33
  SplitterPaneComponent], imports: [CommonModule,
33
- DraggableModule], exports: [SplitterComponent,
34
+ DraggableModule,
35
+ IconsModule], exports: [SplitterComponent,
34
36
  SplitterPaneComponent] });
35
37
  SplitterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: SplitterModule, imports: [[
36
38
  CommonModule,
37
- DraggableModule
39
+ DraggableModule,
40
+ IconsModule
38
41
  ]] });
39
42
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: SplitterModule, decorators: [{
40
43
  type: NgModule,
@@ -43,7 +46,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
43
46
  exports: [exportedModules],
44
47
  imports: [
45
48
  CommonModule,
46
- DraggableModule
49
+ DraggableModule,
50
+ IconsModule
47
51
  ]
48
52
  }]
49
53
  }] });
@@ -89,7 +89,7 @@ export class StepperListComponent {
89
89
  }
90
90
  }
91
91
  StepperListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: StepperListComponent, deps: [{ token: i0.Renderer2 }, { token: i0.NgZone }, { token: i1.StepperService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
92
- StepperListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: StepperListComponent, selector: "[kendoStepperList]", inputs: { linear: "linear", stepType: "stepType", orientation: "orientation", currentStep: "currentStep", steps: "steps", successIcon: "successIcon", errorIcon: "errorIcon", indicatorTemplate: "indicatorTemplate", labelTemplate: "labelTemplate", stepTemplate: "stepTemplate" }, outputs: { listKeydown: "listKeydown", listClick: "listClick" }, ngImport: i0, template: "\n <ng-container *ngFor='let step of steps; let idx = index'>\n <li kendoStepperStep\n [attr.data-kendo-stepper-index]='idx'\n [type]='stepType'\n [step]='step'\n [index]='idx'\n [current]='currentStep'\n [successIcon]='successIcon'\n [errorIcon]='errorIcon'\n [indicatorTemplate]='indicatorTemplate'\n [labelTemplate]='labelTemplate'\n [stepTemplate]='stepTemplate'\n class='k-step'\n [class.k-step-first]='idx === 0'\n [class.k-step-last]='idx === steps.length - 1'\n [class.k-step-done]='idx < currentStep'\n [class.k-step-current]='idx === currentStep'\n [class.k-step-optional]='step.optional'\n [class.k-disabled]='step.disabled'\n [class.k-focus]='idx === focusedStep'\n [ngClass]='step.cssClass'\n [ngStyle]='step.cssStyle'\n [style.max-width.%] = 'maxStepWidth'\n [style.max-height.%] = 'maxStepHeight'\n >\n </li>\n </ng-container>\n ", isInline: true, components: [{ type: i2.StepperStepComponent, selector: "[kendoStepperStep]", inputs: ["step", "index", "current", "type", "successIcon", "errorIcon", "indicatorTemplate", "labelTemplate", "stepTemplate"] }], directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
92
+ StepperListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: StepperListComponent, selector: "[kendoStepperList]", inputs: { linear: "linear", stepType: "stepType", orientation: "orientation", currentStep: "currentStep", steps: "steps", successIcon: "successIcon", successSVGIcon: "successSVGIcon", errorIcon: "errorIcon", errorSVGIcon: "errorSVGIcon", svgIcon: "svgIcon", indicatorTemplate: "indicatorTemplate", labelTemplate: "labelTemplate", stepTemplate: "stepTemplate" }, outputs: { listKeydown: "listKeydown", listClick: "listClick" }, ngImport: i0, template: "\n <ng-container *ngFor='let step of steps; let idx = index'>\n <li kendoStepperStep\n [attr.data-kendo-stepper-index]='idx'\n [type]='stepType'\n [step]='step'\n [index]='idx'\n [current]='currentStep'\n [successIcon]='successIcon'\n [successSVGIcon]='successSVGIcon'\n [errorIcon]='errorIcon'\n [errorSVGIcon]='errorSVGIcon'\n [svgIcon]='svgIcon'\n [indicatorTemplate]='indicatorTemplate'\n [labelTemplate]='labelTemplate'\n [stepTemplate]='stepTemplate'\n class='k-step'\n [class.k-step-first]='idx === 0'\n [class.k-step-last]='idx === steps.length - 1'\n [class.k-step-done]='idx < currentStep'\n [class.k-step-current]='idx === currentStep'\n [class.k-step-optional]='step.optional'\n [class.k-disabled]='step.disabled'\n [class.k-focus]='idx === focusedStep'\n [ngClass]='step.cssClass'\n [ngStyle]='step.cssStyle'\n [style.max-width.%] = 'maxStepWidth'\n [style.max-height.%] = 'maxStepHeight'\n >\n </li>\n </ng-container>\n ", isInline: true, components: [{ type: i2.StepperStepComponent, selector: "[kendoStepperStep]", inputs: ["step", "index", "current", "type", "successIcon", "successSVGIcon", "errorIcon", "errorSVGIcon", "svgIcon", "indicatorTemplate", "labelTemplate", "stepTemplate"] }], directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
93
93
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: StepperListComponent, decorators: [{
94
94
  type: Component,
95
95
  args: [{
@@ -104,7 +104,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
104
104
  [index]='idx'
105
105
  [current]='currentStep'
106
106
  [successIcon]='successIcon'
107
+ [successSVGIcon]='successSVGIcon'
107
108
  [errorIcon]='errorIcon'
109
+ [errorSVGIcon]='errorSVGIcon'
110
+ [svgIcon]='svgIcon'
108
111
  [indicatorTemplate]='indicatorTemplate'
109
112
  [labelTemplate]='labelTemplate'
110
113
  [stepTemplate]='stepTemplate'
@@ -137,8 +140,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
137
140
  type: Input
138
141
  }], successIcon: [{
139
142
  type: Input
143
+ }], successSVGIcon: [{
144
+ type: Input
140
145
  }], errorIcon: [{
141
146
  type: Input
147
+ }], errorSVGIcon: [{
148
+ type: Input
149
+ }], svgIcon: [{
150
+ type: Input
142
151
  }], indicatorTemplate: [{
143
152
  type: Input
144
153
  }], labelTemplate: [{
@@ -8,10 +8,12 @@ import { packageMetadata } from '../package-metadata';
8
8
  import { isPresent } from '../common/util';
9
9
  import { StepperService } from './stepper.service';
10
10
  import { LocalizationService } from '@progress/kendo-angular-l10n';
11
+ import { checkCircleIcon, exclamationCircleIcon } from '@progress/kendo-svg-icons';
11
12
  import * as i0 from "@angular/core";
12
13
  import * as i1 from "./stepper.service";
13
14
  import * as i2 from "@progress/kendo-angular-l10n";
14
- import * as i3 from "@angular/common";
15
+ import * as i3 from "@progress/kendo-angular-icons";
16
+ import * as i4 from "@angular/common";
15
17
  /**
16
18
  * @hidden
17
19
  */
@@ -22,6 +24,8 @@ export class StepperStepComponent {
22
24
  this.ngZone = ngZone;
23
25
  this.isStepValid = undefined;
24
26
  this.shouldCheckValidity = undefined;
27
+ this.checkCircleIcon = checkCircleIcon;
28
+ this.exclamationCircleIcon = exclamationCircleIcon;
25
29
  validatePackage(packageMetadata);
26
30
  this.subs = this.service.focusedStepChange.subscribe(() => {
27
31
  this.onFocusedStepChange();
@@ -69,16 +73,48 @@ export class StepperStepComponent {
69
73
  const active = this.service.focusedStep || this.service.currentStep;
70
74
  return this.index === active ? 0 : -1;
71
75
  }
72
- get indicatorIconClasses() {
73
- if (this.step.icon) {
74
- return `k-icon k-i-${this.step.icon}`;
76
+ get indicatorIconClass() {
77
+ if (this.step.icon && !this.step.iconClass) {
78
+ return `${this.step.icon}`;
75
79
  }
80
+ if (!this.step.icon && !this.step.iconClass && this.shouldCheckValidity) {
81
+ return this.validationIconClasses;
82
+ }
83
+ }
84
+ get customIndicatorIconClass() {
76
85
  if (this.step.iconClass) {
77
86
  return `${this.step.iconClass}`;
78
87
  }
79
- if (this.shouldCheckValidity) {
80
- return this.validationIconClasses;
88
+ const renderCustomValidationIcon = !this.step.icon && !this.step.iconClass && this.shouldCheckValidity;
89
+ if (renderCustomValidationIcon) {
90
+ return this.customValidationIconClasses;
91
+ }
92
+ }
93
+ get SVGIndicatorIcon() {
94
+ if (this.step.svgIcon) {
95
+ return this.step.svgIcon;
96
+ }
97
+ if (!this.step.svgIcon && this.shouldCheckValidity) {
98
+ return this.validationSVGIcon;
99
+ }
100
+ }
101
+ get validationIconClasses() {
102
+ if (this.isStepValid) {
103
+ return !this.successIcon ? 'check-circle' : '';
104
+ }
105
+ return !this.errorIcon ? 'exclamation-circle' : '';
106
+ }
107
+ get customValidationIconClasses() {
108
+ if (this.isStepValid) {
109
+ return this.successIcon ? this.successIcon : '';
81
110
  }
111
+ return this.errorIcon ? this.errorIcon : '';
112
+ }
113
+ get validationSVGIcon() {
114
+ if (this.isStepValid) {
115
+ return this.successSVGIcon ? this.successSVGIcon : this.checkCircleIcon;
116
+ }
117
+ return this.errorSVGIcon ? this.errorSVGIcon : this.exclamationCircleIcon;
82
118
  }
83
119
  get showIndicatorIcon() {
84
120
  if (this.shouldCheckValidity) {
@@ -103,14 +139,6 @@ export class StepperStepComponent {
103
139
  get showLabelText() {
104
140
  return this.type === 'label' || this.type === 'full';
105
141
  }
106
- get validationIconClasses() {
107
- if (this.isStepValid) {
108
- return this.successIcon ? `${this.successIcon}` : 'k-icon k-i-check-circle';
109
- }
110
- else {
111
- return this.errorIcon ? `${this.errorIcon}` : 'k-icon k-i-exclamation-circle';
112
- }
113
- }
114
142
  get indicatorText() {
115
143
  const text = this.step.text;
116
144
  return text ? text : this.index + 1;
@@ -159,7 +187,7 @@ export class StepperStepComponent {
159
187
  }
160
188
  }
161
189
  StepperStepComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: StepperStepComponent, deps: [{ token: i1.StepperService }, { token: i2.LocalizationService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
162
- StepperStepComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: StepperStepComponent, selector: "[kendoStepperStep]", inputs: { step: "step", index: "index", current: "current", type: "type", successIcon: "successIcon", errorIcon: "errorIcon", indicatorTemplate: "indicatorTemplate", labelTemplate: "labelTemplate", stepTemplate: "stepTemplate" }, host: { properties: { "class.k-step-error": "this.errorStepClass", "class.k-step-success": "this.successStepClass" } }, viewQueries: [{ propertyName: "stepLink", first: true, predicate: ["stepLink"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: `
190
+ StepperStepComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: StepperStepComponent, selector: "[kendoStepperStep]", inputs: { step: "step", index: "index", current: "current", type: "type", successIcon: "successIcon", successSVGIcon: "successSVGIcon", errorIcon: "errorIcon", errorSVGIcon: "errorSVGIcon", svgIcon: "svgIcon", indicatorTemplate: "indicatorTemplate", labelTemplate: "labelTemplate", stepTemplate: "stepTemplate" }, host: { properties: { "class.k-step-error": "this.errorStepClass", "class.k-step-success": "this.successStepClass" } }, viewQueries: [{ propertyName: "stepLink", first: true, predicate: ["stepLink"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: `
163
191
  <a href='#' class='k-step-link' #stepLink
164
192
  [attr.tabindex]='tabIndexAttr'
165
193
  [attr.title]='step.label'
@@ -184,7 +212,14 @@ StepperStepComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
184
212
  </ng-template>
185
213
 
186
214
  <ng-container *ngIf='!indicatorTemplate'>
187
- <span *ngIf='showIndicatorIcon' class='k-step-indicator-icon' [ngClass]='indicatorIconClasses'></span>
215
+ <kendo-icon-wrapper
216
+ *ngIf='showIndicatorIcon'
217
+ [name]='indicatorIconClass'
218
+ [customFontClass]='customIndicatorIconClass'
219
+ [svgIcon]='SVGIndicatorIcon'
220
+ innerCssClass='k-step-indicator-icon'
221
+ >
222
+ </kendo-icon-wrapper>
188
223
  <span class='k-step-indicator-text' *ngIf='!showIndicatorIcon'>{{ indicatorText }}</span>
189
224
  </ng-container>
190
225
  </span>
@@ -197,13 +232,20 @@ StepperStepComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
197
232
 
198
233
  <ng-container *ngIf='!labelTemplate'>
199
234
  <span class='k-step-text' *ngIf='showLabelText'>{{ step.label }}</span>
200
- <span [ngClass]='validationIconClasses' *ngIf='showLabelIcon' aria-hidden='true'></span>
235
+ <kendo-icon-wrapper
236
+ *ngIf='showLabelIcon'
237
+ aria-hidden='true'
238
+ [name]='validationIconClasses'
239
+ [customFontClass]='customValidationIconClasses'
240
+ [svgIcon]='validationSVGIcon'
241
+ >
242
+ </kendo-icon-wrapper>
201
243
  <span class='k-step-label-optional' *ngIf='step.optional'>({{optionalText}})</span>
202
244
  </ng-container>
203
245
  </span>
204
246
  </ng-container>
205
247
  </a>
206
- `, 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"] }] });
248
+ `, 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"] }] });
207
249
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: StepperStepComponent, decorators: [{
208
250
  type: Component,
209
251
  args: [{
@@ -234,7 +276,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
234
276
  </ng-template>
235
277
 
236
278
  <ng-container *ngIf='!indicatorTemplate'>
237
- <span *ngIf='showIndicatorIcon' class='k-step-indicator-icon' [ngClass]='indicatorIconClasses'></span>
279
+ <kendo-icon-wrapper
280
+ *ngIf='showIndicatorIcon'
281
+ [name]='indicatorIconClass'
282
+ [customFontClass]='customIndicatorIconClass'
283
+ [svgIcon]='SVGIndicatorIcon'
284
+ innerCssClass='k-step-indicator-icon'
285
+ >
286
+ </kendo-icon-wrapper>
238
287
  <span class='k-step-indicator-text' *ngIf='!showIndicatorIcon'>{{ indicatorText }}</span>
239
288
  </ng-container>
240
289
  </span>
@@ -247,7 +296,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
247
296
 
248
297
  <ng-container *ngIf='!labelTemplate'>
249
298
  <span class='k-step-text' *ngIf='showLabelText'>{{ step.label }}</span>
250
- <span [ngClass]='validationIconClasses' *ngIf='showLabelIcon' aria-hidden='true'></span>
299
+ <kendo-icon-wrapper
300
+ *ngIf='showLabelIcon'
301
+ aria-hidden='true'
302
+ [name]='validationIconClasses'
303
+ [customFontClass]='customValidationIconClasses'
304
+ [svgIcon]='validationSVGIcon'
305
+ >
306
+ </kendo-icon-wrapper>
251
307
  <span class='k-step-label-optional' *ngIf='step.optional'>({{optionalText}})</span>
252
308
  </ng-container>
253
309
  </span>
@@ -265,8 +321,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
265
321
  type: Input
266
322
  }], successIcon: [{
267
323
  type: Input
324
+ }], successSVGIcon: [{
325
+ type: Input
268
326
  }], errorIcon: [{
269
327
  type: Input
328
+ }], errorSVGIcon: [{
329
+ type: Input
330
+ }], svgIcon: [{
331
+ type: Input
270
332
  }], indicatorTemplate: [{
271
333
  type: Input
272
334
  }], labelTemplate: [{
@@ -118,6 +118,16 @@ export class StepperComponent {
118
118
  get steps() {
119
119
  return this._steps;
120
120
  }
121
+ /**
122
+ * Defines an SVG icon to be rendered inside the step indicator instead of the default numeric or text content.
123
+ * The input can take either an [existing Kendo SVG icon](slug:svgicon_list) or a custom one.
124
+ */
125
+ set svgIcon(icon) {
126
+ this._svgIcon = icon;
127
+ }
128
+ get svgIcon() {
129
+ return this._svgIcon;
130
+ }
121
131
  ngOnInit() {
122
132
  this.applyHostStyling();
123
133
  }
@@ -221,7 +231,7 @@ export class StepperComponent {
221
231
  }
222
232
  }
223
233
  StepperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: StepperComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.LocalizationService }, { token: i2.StepperService }], target: i0.ɵɵFactoryTarget.Component });
224
- StepperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: StepperComponent, selector: "kendo-stepper", inputs: { stepType: "stepType", linear: "linear", orientation: "orientation", currentStep: "currentStep", steps: "steps", successIcon: "successIcon", errorIcon: "errorIcon", animation: "animation" }, outputs: { activate: "activate", currentStepChange: "currentStepChange" }, host: { properties: { "class.k-stepper": "this.hostClasses", "class.k-stepper-linear": "this.linearClass", "attr.role": "this.ariaRole", "attr.dir": "this.direction", "style.display": "this.displayStyle" } }, providers: [
234
+ StepperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: StepperComponent, selector: "kendo-stepper", inputs: { stepType: "stepType", linear: "linear", orientation: "orientation", currentStep: "currentStep", steps: "steps", svgIcon: "svgIcon", successSVGIcon: "successSVGIcon", errorSVGIcon: "errorSVGIcon", successIcon: "successIcon", errorIcon: "errorIcon", animation: "animation" }, outputs: { activate: "activate", currentStepChange: "currentStepChange" }, host: { properties: { "class.k-stepper": "this.hostClasses", "class.k-stepper-linear": "this.linearClass", "attr.role": "this.ariaRole", "attr.dir": "this.direction", "style.display": "this.displayStyle" } }, providers: [
225
235
  LocalizationService,
226
236
  StepperService,
227
237
  {
@@ -241,7 +251,10 @@ StepperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versi
241
251
  [steps]='steps'
242
252
  [currentStep]='currentStep'
243
253
  [successIcon]='successIcon'
254
+ [successSVGIcon]='successSVGIcon'
244
255
  [errorIcon]='errorIcon'
256
+ [errorSVGIcon]='errorSVGIcon'
257
+ [svgIcon]="svgIcon"
245
258
  [indicatorTemplate]='indicatorTemplate?.templateRef'
246
259
  [labelTemplate]='labelTemplate?.templateRef'
247
260
  [stepTemplate]='stepTemplate?.templateRef'
@@ -263,7 +276,7 @@ StepperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versi
263
276
  [value]='currentStep'
264
277
  [ngStyle]='progressBarStyling'>
265
278
  </kendo-progressbar>
266
- `, isInline: true, components: [{ type: i3.StepperListComponent, selector: "[kendoStepperList]", inputs: ["linear", "stepType", "orientation", "currentStep", "steps", "successIcon", "errorIcon", "indicatorTemplate", "labelTemplate", "stepTemplate"], outputs: ["listKeydown", "listClick"] }, { type: i4.ProgressBarComponent, selector: "kendo-progressbar", inputs: ["label", "progressCssStyle", "progressCssClass", "emptyCssStyle", "emptyCssClass", "animation"], outputs: ["animationEnd"], exportAs: ["kendoProgressBar"] }], directives: [{ type: i5.LocalizedStepperMessagesDirective, selector: "\n [kendoStepperLocalizedMessages]\n " }, { type: i6.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
279
+ `, isInline: true, components: [{ type: i3.StepperListComponent, selector: "[kendoStepperList]", inputs: ["linear", "stepType", "orientation", "currentStep", "steps", "successIcon", "successSVGIcon", "errorIcon", "errorSVGIcon", "svgIcon", "indicatorTemplate", "labelTemplate", "stepTemplate"], outputs: ["listKeydown", "listClick"] }, { type: i4.ProgressBarComponent, selector: "kendo-progressbar", inputs: ["label", "progressCssStyle", "progressCssClass", "emptyCssStyle", "emptyCssClass", "animation"], outputs: ["animationEnd"], exportAs: ["kendoProgressBar"] }], directives: [{ type: i5.LocalizedStepperMessagesDirective, selector: "\n [kendoStepperLocalizedMessages]\n " }, { type: i6.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
267
280
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: StepperComponent, decorators: [{
268
281
  type: Component,
269
282
  args: [{
@@ -290,7 +303,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
290
303
  [steps]='steps'
291
304
  [currentStep]='currentStep'
292
305
  [successIcon]='successIcon'
306
+ [successSVGIcon]='successSVGIcon'
293
307
  [errorIcon]='errorIcon'
308
+ [errorSVGIcon]='errorSVGIcon'
309
+ [svgIcon]="svgIcon"
294
310
  [indicatorTemplate]='indicatorTemplate?.templateRef'
295
311
  [labelTemplate]='labelTemplate?.templateRef'
296
312
  [stepTemplate]='stepTemplate?.templateRef'
@@ -339,6 +355,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
339
355
  type: Input
340
356
  }], steps: [{
341
357
  type: Input
358
+ }], svgIcon: [{
359
+ type: Input
360
+ }], successSVGIcon: [{
361
+ type: Input
362
+ }], errorSVGIcon: [{
363
+ type: Input
342
364
  }], successIcon: [{
343
365
  type: Input
344
366
  }], errorIcon: [{
@@ -13,6 +13,7 @@ import { StepperLabelTemplateDirective } from './stepper/template-directives/lab
13
13
  import { StepperStepTemplateDirective } from './stepper/template-directives/step-template.directive';
14
14
  import { LocalizedStepperMessagesDirective } from './stepper/localization/localized-messages.directive';
15
15
  import { StepperCustomMessagesComponent } from './stepper/localization/custom-messages.component';
16
+ import { IconsModule } from '@progress/kendo-angular-icons';
16
17
  import * as i0 from "@angular/core";
17
18
  const templateDirectives = [
18
19
  StepperStepTemplateDirective,
@@ -42,16 +43,16 @@ StepperModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
42
43
  LocalizedStepperMessagesDirective, StepperComponent,
43
44
  StepperCustomMessagesComponent, StepperStepTemplateDirective,
44
45
  StepperLabelTemplateDirective,
45
- StepperIndicatorTemplateDirective], imports: [CommonModule, ProgressBarModule], exports: [StepperComponent,
46
+ StepperIndicatorTemplateDirective], imports: [CommonModule, ProgressBarModule, IconsModule], exports: [StepperComponent,
46
47
  StepperCustomMessagesComponent, StepperStepTemplateDirective,
47
48
  StepperLabelTemplateDirective,
48
49
  StepperIndicatorTemplateDirective] });
49
- StepperModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: StepperModule, imports: [[CommonModule, ProgressBarModule]] });
50
+ StepperModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: StepperModule, imports: [[CommonModule, ProgressBarModule, IconsModule]] });
50
51
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: StepperModule, decorators: [{
51
52
  type: NgModule,
52
53
  args: [{
53
54
  declarations: [declarations],
54
55
  exports: [exportedModules],
55
- imports: [CommonModule, ProgressBarModule]
56
+ imports: [CommonModule, ProgressBarModule, IconsModule]
56
57
  }]
57
58
  }] });
@@ -22,10 +22,10 @@ export const HIDDEN_CLASS = 'k-hidden';
22
22
  * @hidden
23
23
  */
24
24
  export const DIRECTION_CLASSES = {
25
- left: 'k-i-caret-alt-left',
26
- right: 'k-i-caret-alt-right',
27
- up: 'k-i-caret-alt-up',
28
- down: 'k-i-caret-alt-down'
25
+ left: 'caret-alt-left',
26
+ right: 'caret-alt-right',
27
+ up: 'caret-alt-up',
28
+ down: 'caret-alt-down'
29
29
  };
30
30
  /**
31
31
  * @hidden
@@ -6,14 +6,16 @@ import { BUTTON_SCROLL_SPEED, MOUSE_SCROLL_SPEED } from "../constants";
6
6
  /**
7
7
  * @hidden
8
8
  */
9
- const normalizeSettings = ({ enabled = true, scrollButtons = 'auto', mouseScroll = true, buttonScrollSpeed = BUTTON_SCROLL_SPEED, mouseScrollSpeed = MOUSE_SCROLL_SPEED, prevButtonIcon, nextButtonIcon }) => ({
9
+ const normalizeSettings = ({ enabled = true, scrollButtons = 'auto', mouseScroll = true, buttonScrollSpeed = BUTTON_SCROLL_SPEED, mouseScrollSpeed = MOUSE_SCROLL_SPEED, prevButtonIcon, nextButtonIcon, prevSVGButtonIcon, nextSVGButtonIcon }) => ({
10
10
  enabled,
11
11
  scrollButtons,
12
12
  mouseScroll,
13
13
  buttonScrollSpeed,
14
14
  mouseScrollSpeed,
15
15
  prevButtonIcon,
16
- nextButtonIcon
16
+ nextButtonIcon,
17
+ prevSVGButtonIcon,
18
+ nextSVGButtonIcon
17
19
  });
18
20
  /**
19
21
  * @hidden
@@ -34,7 +34,7 @@ export class TabStripTabComponent {
34
34
  }
35
35
  }
36
36
  TabStripTabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TabStripTabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
37
- TabStripTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: TabStripTabComponent, selector: "kendo-tabstrip-tab", inputs: { title: "title", disabled: "disabled", cssClass: "cssClass", cssStyle: "cssStyle", selected: "selected", closable: "closable", closeIcon: "closeIcon" }, queries: [{ propertyName: "_tabContent", predicate: TabContentDirective }, { propertyName: "_tabTitleDirective", predicate: TabTitleDirective }], exportAs: ["kendoTabStripTab"], ngImport: i0, template: ``, isInline: true });
37
+ TabStripTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: TabStripTabComponent, selector: "kendo-tabstrip-tab", inputs: { title: "title", disabled: "disabled", cssClass: "cssClass", cssStyle: "cssStyle", selected: "selected", closable: "closable", closeIcon: "closeIcon", closeIconClass: "closeIconClass", closeSVGIcon: "closeSVGIcon" }, queries: [{ propertyName: "_tabContent", predicate: TabContentDirective }, { propertyName: "_tabTitleDirective", predicate: TabTitleDirective }], exportAs: ["kendoTabStripTab"], ngImport: i0, template: ``, isInline: true });
38
38
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TabStripTabComponent, decorators: [{
39
39
  type: Component,
40
40
  args: [{
@@ -56,6 +56,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
56
56
  type: Input
57
57
  }], closeIcon: [{
58
58
  type: Input
59
+ }], closeIconClass: [{
60
+ type: Input
61
+ }], closeSVGIcon: [{
62
+ type: Input
59
63
  }], _tabContent: [{
60
64
  type: ContentChildren,
61
65
  args: [TabContentDirective]
@@ -5,11 +5,11 @@
5
5
  import { TabStripTabComponent } from '../models/tabstrip-tab.component';
6
6
  import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';
7
7
  import { LocalizationService } from '@progress/kendo-angular-l10n';
8
- import { isPresent } from '../../common/util';
9
8
  import { TabCloseEvent } from '../events/tabclose-event';
10
9
  import * as i0 from "@angular/core";
11
10
  import * as i1 from "@progress/kendo-angular-l10n";
12
- import * as i2 from "@angular/common";
11
+ import * as i2 from "@progress/kendo-angular-buttons";
12
+ import * as i3 from "@angular/common";
13
13
  /**
14
14
  * @hidden
15
15
  */
@@ -38,10 +38,20 @@ export class TabComponent {
38
38
  return this.tabStripClosable;
39
39
  }
40
40
  get closeButtonClasses() {
41
- if (isPresent(this.tab.closeIcon)) {
42
- return this.tab.closeIcon;
41
+ if (!this.customTabstripCloseIcon && this.tabStripCloseIcon && !this.tab.closeIconClass) {
42
+ if (this.tab.closeIcon) {
43
+ return this.tab.closeIcon;
44
+ }
45
+ return this.tabStripCloseIcon;
46
+ }
47
+ }
48
+ get customCloseButtonClasses() {
49
+ if (this.customTabstripCloseIcon || this.tab.closeIconClass) {
50
+ if (this.tab.closeIconClass) {
51
+ return this.tab.closeIconClass;
52
+ }
53
+ return this.customTabstripCloseIcon;
43
54
  }
44
- return this.tabStripCloseIcon;
45
55
  }
46
56
  get closeButtonTitle() {
47
57
  return this.localization.get('closeTitle');
@@ -52,21 +62,27 @@ export class TabComponent {
52
62
  }
53
63
  }
54
64
  TabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TabComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
55
- TabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: TabComponent, selector: "[kendoTabStripTab]", inputs: { tab: "tab", index: "index", tabStripClosable: "tabStripClosable", tabStripCloseIcon: "tabStripCloseIcon" }, outputs: { tabClose: "tabClose" }, host: { properties: { "class.k-item": "this.hostClasses", "class.k-state-default": "this.hostClasses", "attr.aria-selected": "this.activeClass", "class.k-active": "this.activeClass", "attr.aria-disabled]": "this.disabledClass", "class.k-disabled": "this.disabledClass", "class.k-focus": "this.focusedClass", "attr.tabindex": "this.tabIndex" } }, ngImport: i0, template: `
65
+ TabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: TabComponent, selector: "[kendoTabStripTab]", inputs: { tab: "tab", index: "index", tabStripClosable: "tabStripClosable", tabStripCloseIcon: "tabStripCloseIcon", customTabstripCloseIcon: "customTabstripCloseIcon", closeSVGIcon: "closeSVGIcon" }, outputs: { tabClose: "tabClose" }, host: { properties: { "class.k-item": "this.hostClasses", "class.k-state-default": "this.hostClasses", "attr.aria-selected": "this.activeClass", "class.k-active": "this.activeClass", "attr.aria-disabled]": "this.disabledClass", "class.k-disabled": "this.disabledClass", "class.k-focus": "this.focusedClass", "attr.tabindex": "this.tabIndex" } }, ngImport: i0, template: `
56
66
  <span class="k-link" *ngIf="!tab.tabTitle">{{ tab.title }}</span>
57
67
  <span class="k-link" *ngIf="tab.tabTitle">
58
68
  <ng-template [ngTemplateOutlet]="tab.tabTitle?.templateRef">
59
69
  </ng-template>
60
70
  </span>
61
- <span class="k-remove-tab k-button k-icon-button k-flat" *ngIf="tabClosable"
71
+
72
+ <button
73
+ kendoButton
74
+ *ngIf="tabClosable"
62
75
  role="button"
76
+ fillMode="flat"
77
+ [icon]="closeButtonClasses"
78
+ [iconClass]="customCloseButtonClasses"
79
+ [svgIcon]="closeSVGIcon"
63
80
  [title]="closeButtonTitle"
64
81
  [attr.aria-label]="closeButtonTitle"
65
82
  (click)="closeTab(index)"
66
- >
67
- <span [ngClass]="closeButtonClasses"></span>
68
- </span>
69
- `, 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"] }] });
83
+ class="k-remove-tab k-icon-button"
84
+ ></button>
85
+ `, isInline: true, components: [{ type: i2.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
70
86
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TabComponent, decorators: [{
71
87
  type: Component,
72
88
  args: [{
@@ -78,14 +94,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
78
94
  <ng-template [ngTemplateOutlet]="tab.tabTitle?.templateRef">
79
95
  </ng-template>
80
96
  </span>
81
- <span class="k-remove-tab k-button k-icon-button k-flat" *ngIf="tabClosable"
97
+
98
+ <button
99
+ kendoButton
100
+ *ngIf="tabClosable"
82
101
  role="button"
102
+ fillMode="flat"
103
+ [icon]="closeButtonClasses"
104
+ [iconClass]="customCloseButtonClasses"
105
+ [svgIcon]="closeSVGIcon"
83
106
  [title]="closeButtonTitle"
84
107
  [attr.aria-label]="closeButtonTitle"
85
108
  (click)="closeTab(index)"
86
- >
87
- <span [ngClass]="closeButtonClasses"></span>
88
- </span>
109
+ class="k-remove-tab k-icon-button"
110
+ ></button>
89
111
  `
90
112
  }]
91
113
  }], ctorParameters: function () { return [{ type: i1.LocalizationService }]; }, propDecorators: { tab: [{
@@ -96,6 +118,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
96
118
  type: Input
97
119
  }], tabStripCloseIcon: [{
98
120
  type: Input
121
+ }], customTabstripCloseIcon: [{
122
+ type: Input
123
+ }], closeSVGIcon: [{
124
+ type: Input
99
125
  }], tabClose: [{
100
126
  type: Output
101
127
  }], hostClasses: [{