@progress/kendo-angular-layout 21.1.1-develop.1 → 21.2.0-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 (28) hide show
  1. package/esm2022/avatar/avatar.component.mjs +63 -59
  2. package/esm2022/card/card-actions.component.mjs +51 -41
  3. package/esm2022/drawer/drawer-container.component.mjs +10 -8
  4. package/esm2022/drawer/drawer.component.mjs +69 -55
  5. package/esm2022/drawer/item.component.mjs +79 -69
  6. package/esm2022/drawer/list.component.mjs +28 -25
  7. package/esm2022/expansionpanel/expansionpanel.component.mjs +75 -65
  8. package/esm2022/package-metadata.mjs +2 -2
  9. package/esm2022/panelbar/panelbar-item.component.mjs +169 -135
  10. package/esm2022/panelbar/panelbar.component.mjs +56 -45
  11. package/esm2022/splitter/splitter-bar.component.mjs +32 -25
  12. package/esm2022/splitter/splitter-pane.component.mjs +16 -10
  13. package/esm2022/splitter/splitter.component.mjs +29 -31
  14. package/esm2022/stepper/list.component.mjs +33 -33
  15. package/esm2022/stepper/step.component.mjs +141 -111
  16. package/esm2022/stepper/stepper.component.mjs +59 -55
  17. package/esm2022/tabstrip/rendering/tab.component.mjs +49 -39
  18. package/esm2022/tabstrip/tabstrip.component.mjs +251 -233
  19. package/esm2022/tabstrip/util.mjs +1 -1
  20. package/esm2022/tilelayout/tilelayout-item.component.mjs +28 -23
  21. package/esm2022/tilelayout/tilelayout.component.mjs +24 -21
  22. package/esm2022/timeline/timeline-card.component.mjs +185 -151
  23. package/esm2022/timeline/timeline-horizontal.component.mjs +197 -183
  24. package/esm2022/timeline/timeline-vertical.component.mjs +79 -67
  25. package/esm2022/timeline/timeline.component.mjs +36 -33
  26. package/fesm2022/progress-kendo-angular-layout.mjs +1747 -1498
  27. package/package.json +9 -9
  28. package/schematics/ngAdd/index.js +4 -0
@@ -10,7 +10,7 @@ import { StepperService } from './stepper.service';
10
10
  import { LocalizationService } from '@progress/kendo-angular-l10n';
11
11
  import { checkCircleIcon, exclamationCircleIcon } from '@progress/kendo-svg-icons';
12
12
  import { IconWrapperComponent } from '@progress/kendo-angular-icons';
13
- import { NgIf, NgTemplateOutlet } from '@angular/common';
13
+ import { NgTemplateOutlet } from '@angular/common';
14
14
  import * as i0 from "@angular/core";
15
15
  import * as i1 from "./stepper.service";
16
16
  import * as i2 from "@progress/kendo-angular-l10n";
@@ -203,65 +203,80 @@ export class StepperStepComponent {
203
203
  }
204
204
  }
205
205
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StepperStepComponent, deps: [{ token: i1.StepperService }, { token: i2.LocalizationService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
206
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: StepperStepComponent, isStandalone: true, 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: `
206
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: StepperStepComponent, isStandalone: true, 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: `
207
207
  <a href='#' class='k-step-link' #stepLink
208
- [attr.tabindex]='tabIndexAttr'
209
- [attr.title]='step.label'
210
- [attr.aria-disabled]='step.disabled'
211
- [attr.aria-current]='index === current ? "step" : null'
212
- (focus)='onFocus()'
213
- >
214
- <ng-template *ngIf='stepTemplate'
215
- [ngTemplateOutlet]='stepTemplate'
216
- [ngTemplateOutletContext]='{ $implicit: step, index: index }'>
208
+ [attr.tabindex]='tabIndexAttr'
209
+ [attr.title]='step.label'
210
+ [attr.aria-disabled]='step.disabled'
211
+ [attr.aria-current]='index === current ? "step" : null'
212
+ (focus)='onFocus()'
213
+ >
214
+ @if (stepTemplate) {
215
+ <ng-template
216
+ [ngTemplateOutlet]='stepTemplate'
217
+ [ngTemplateOutletContext]='{ $implicit: step, index: index }'>
217
218
  </ng-template>
218
-
219
- <ng-container *ngIf='!stepTemplate'>
220
- <span *ngIf='showIndicator'
221
- class='k-step-indicator'
222
- aria-hidden='true'
223
- [style.transition-duration.ms]='transitionDuration'
219
+ }
220
+
221
+ @if (!stepTemplate) {
222
+ @if (showIndicator) {
223
+ <span
224
+ class='k-step-indicator'
225
+ aria-hidden='true'
226
+ [style.transition-duration.ms]='transitionDuration'
224
227
  >
225
- <ng-template *ngIf='indicatorTemplate'
226
- [ngTemplateOutlet]='indicatorTemplate'
227
- [ngTemplateOutletContext]='{ $implicit: step, index: index }'>
228
- </ng-template>
229
-
230
- <ng-container *ngIf='!indicatorTemplate'>
231
- <kendo-icon-wrapper
232
- *ngIf='showIndicatorIcon'
233
- [name]='indicatorIconClass'
234
- [customFontClass]='customIndicatorIconClass'
235
- [svgIcon]='SVGIndicatorIcon'
236
- innerCssClass='k-step-indicator-icon'
237
- >
238
- </kendo-icon-wrapper>
239
- <span class='k-step-indicator-text' *ngIf='!showIndicatorIcon'>{{ indicatorText }}</span>
240
- </ng-container>
241
- </span>
242
-
243
- <span class='k-step-label' *ngIf='showLabel'>
244
- <ng-template *ngIf='labelTemplate'
245
- [ngTemplateOutlet]='labelTemplate'
246
- [ngTemplateOutletContext]='{ $implicit: step, index: index }'>
247
- </ng-template>
248
-
249
- <ng-container *ngIf='!labelTemplate'>
250
- <span class='k-step-text' *ngIf='showLabelText'>{{ step.label }}</span>
251
- <kendo-icon-wrapper
252
- *ngIf='showLabelIcon'
253
- aria-hidden='true'
254
- [name]='validationIconClasses'
255
- [customFontClass]='customValidationIconClasses'
256
- [svgIcon]='validationSVGIcon'
257
- >
258
- </kendo-icon-wrapper>
259
- <span class='k-step-label-optional' *ngIf='step.optional'>({{optionalText}})</span>
260
- </ng-container>
261
- </span>
262
- </ng-container>
228
+ @if (indicatorTemplate) {
229
+ <ng-template
230
+ [ngTemplateOutlet]='indicatorTemplate'
231
+ [ngTemplateOutletContext]='{ $implicit: step, index: index }'>
232
+ </ng-template>
233
+ }
234
+ @if (!indicatorTemplate) {
235
+ @if (showIndicatorIcon) {
236
+ <kendo-icon-wrapper
237
+ [name]='indicatorIconClass'
238
+ [customFontClass]='customIndicatorIconClass'
239
+ [svgIcon]='SVGIndicatorIcon'
240
+ innerCssClass='k-step-indicator-icon'
241
+ >
242
+ </kendo-icon-wrapper>
243
+ }
244
+ @if (!showIndicatorIcon) {
245
+ <span class='k-step-indicator-text'>{{ indicatorText }}</span>
246
+ }
247
+ }
248
+ </span>
249
+ }
250
+ @if (showLabel) {
251
+ <span class='k-step-label'>
252
+ @if (labelTemplate) {
253
+ <ng-template
254
+ [ngTemplateOutlet]='labelTemplate'
255
+ [ngTemplateOutletContext]='{ $implicit: step, index: index }'>
256
+ </ng-template>
257
+ }
258
+ @if (!labelTemplate) {
259
+ @if (showLabelText) {
260
+ <span class='k-step-text'>{{ step.label }}</span>
261
+ }
262
+ @if (showLabelIcon) {
263
+ <kendo-icon-wrapper
264
+ aria-hidden='true'
265
+ [name]='validationIconClasses'
266
+ [customFontClass]='customValidationIconClasses'
267
+ [svgIcon]='validationSVGIcon'
268
+ >
269
+ </kendo-icon-wrapper>
270
+ }
271
+ @if (step.optional) {
272
+ <span class='k-step-label-optional'>({{optionalText}})</span>
273
+ }
274
+ }
275
+ </span>
276
+ }
277
+ }
263
278
  </a>
264
- `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }] });
279
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }] });
265
280
  }
266
281
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StepperStepComponent, decorators: [{
267
282
  type: Component,
@@ -270,65 +285,80 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
270
285
  selector: '[kendoStepperStep]',
271
286
  template: `
272
287
  <a href='#' class='k-step-link' #stepLink
273
- [attr.tabindex]='tabIndexAttr'
274
- [attr.title]='step.label'
275
- [attr.aria-disabled]='step.disabled'
276
- [attr.aria-current]='index === current ? "step" : null'
277
- (focus)='onFocus()'
278
- >
279
- <ng-template *ngIf='stepTemplate'
280
- [ngTemplateOutlet]='stepTemplate'
281
- [ngTemplateOutletContext]='{ $implicit: step, index: index }'>
288
+ [attr.tabindex]='tabIndexAttr'
289
+ [attr.title]='step.label'
290
+ [attr.aria-disabled]='step.disabled'
291
+ [attr.aria-current]='index === current ? "step" : null'
292
+ (focus)='onFocus()'
293
+ >
294
+ @if (stepTemplate) {
295
+ <ng-template
296
+ [ngTemplateOutlet]='stepTemplate'
297
+ [ngTemplateOutletContext]='{ $implicit: step, index: index }'>
282
298
  </ng-template>
283
-
284
- <ng-container *ngIf='!stepTemplate'>
285
- <span *ngIf='showIndicator'
286
- class='k-step-indicator'
287
- aria-hidden='true'
288
- [style.transition-duration.ms]='transitionDuration'
299
+ }
300
+
301
+ @if (!stepTemplate) {
302
+ @if (showIndicator) {
303
+ <span
304
+ class='k-step-indicator'
305
+ aria-hidden='true'
306
+ [style.transition-duration.ms]='transitionDuration'
289
307
  >
290
- <ng-template *ngIf='indicatorTemplate'
291
- [ngTemplateOutlet]='indicatorTemplate'
292
- [ngTemplateOutletContext]='{ $implicit: step, index: index }'>
293
- </ng-template>
294
-
295
- <ng-container *ngIf='!indicatorTemplate'>
296
- <kendo-icon-wrapper
297
- *ngIf='showIndicatorIcon'
298
- [name]='indicatorIconClass'
299
- [customFontClass]='customIndicatorIconClass'
300
- [svgIcon]='SVGIndicatorIcon'
301
- innerCssClass='k-step-indicator-icon'
302
- >
303
- </kendo-icon-wrapper>
304
- <span class='k-step-indicator-text' *ngIf='!showIndicatorIcon'>{{ indicatorText }}</span>
305
- </ng-container>
306
- </span>
307
-
308
- <span class='k-step-label' *ngIf='showLabel'>
309
- <ng-template *ngIf='labelTemplate'
310
- [ngTemplateOutlet]='labelTemplate'
311
- [ngTemplateOutletContext]='{ $implicit: step, index: index }'>
312
- </ng-template>
313
-
314
- <ng-container *ngIf='!labelTemplate'>
315
- <span class='k-step-text' *ngIf='showLabelText'>{{ step.label }}</span>
316
- <kendo-icon-wrapper
317
- *ngIf='showLabelIcon'
318
- aria-hidden='true'
319
- [name]='validationIconClasses'
320
- [customFontClass]='customValidationIconClasses'
321
- [svgIcon]='validationSVGIcon'
322
- >
323
- </kendo-icon-wrapper>
324
- <span class='k-step-label-optional' *ngIf='step.optional'>({{optionalText}})</span>
325
- </ng-container>
326
- </span>
327
- </ng-container>
308
+ @if (indicatorTemplate) {
309
+ <ng-template
310
+ [ngTemplateOutlet]='indicatorTemplate'
311
+ [ngTemplateOutletContext]='{ $implicit: step, index: index }'>
312
+ </ng-template>
313
+ }
314
+ @if (!indicatorTemplate) {
315
+ @if (showIndicatorIcon) {
316
+ <kendo-icon-wrapper
317
+ [name]='indicatorIconClass'
318
+ [customFontClass]='customIndicatorIconClass'
319
+ [svgIcon]='SVGIndicatorIcon'
320
+ innerCssClass='k-step-indicator-icon'
321
+ >
322
+ </kendo-icon-wrapper>
323
+ }
324
+ @if (!showIndicatorIcon) {
325
+ <span class='k-step-indicator-text'>{{ indicatorText }}</span>
326
+ }
327
+ }
328
+ </span>
329
+ }
330
+ @if (showLabel) {
331
+ <span class='k-step-label'>
332
+ @if (labelTemplate) {
333
+ <ng-template
334
+ [ngTemplateOutlet]='labelTemplate'
335
+ [ngTemplateOutletContext]='{ $implicit: step, index: index }'>
336
+ </ng-template>
337
+ }
338
+ @if (!labelTemplate) {
339
+ @if (showLabelText) {
340
+ <span class='k-step-text'>{{ step.label }}</span>
341
+ }
342
+ @if (showLabelIcon) {
343
+ <kendo-icon-wrapper
344
+ aria-hidden='true'
345
+ [name]='validationIconClasses'
346
+ [customFontClass]='customValidationIconClasses'
347
+ [svgIcon]='validationSVGIcon'
348
+ >
349
+ </kendo-icon-wrapper>
350
+ }
351
+ @if (step.optional) {
352
+ <span class='k-step-label-optional'>({{optionalText}})</span>
353
+ }
354
+ }
355
+ </span>
356
+ }
357
+ }
328
358
  </a>
329
- `,
359
+ `,
330
360
  standalone: true,
331
- imports: [NgIf, NgTemplateOutlet, IconWrapperComponent]
361
+ imports: [NgTemplateOutlet, IconWrapperComponent]
332
362
  }]
333
363
  }], ctorParameters: () => [{ type: i1.StepperService }, { type: i2.LocalizationService }, { type: i0.NgZone }], propDecorators: { step: [{
334
364
  type: Input
@@ -10,7 +10,7 @@ import { isPresent } from '../common/util';
10
10
  import { StepperIndicatorTemplateDirective } from './template-directives/indicator-template.directive';
11
11
  import { StepperService } from './stepper.service';
12
12
  import { ProgressBarComponent } from '@progress/kendo-angular-progressbar';
13
- import { NgStyle, NgIf } from '@angular/common';
13
+ import { NgStyle } from '@angular/common';
14
14
  import { StepperListComponent } from './list.component';
15
15
  import { LocalizedStepperMessagesDirective } from './localization/localized-messages.directive';
16
16
  import * as i0 from "@angular/core";
@@ -264,7 +264,7 @@ export class StepperComponent {
264
264
  return this.orientation === 'horizontal';
265
265
  }
266
266
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StepperComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.LocalizationService }, { token: i2.StepperService }], target: i0.ɵɵFactoryTarget.Component });
267
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: StepperComponent, isStandalone: true, 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: [
267
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: StepperComponent, isStandalone: true, 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: [
268
268
  LocalizationService,
269
269
  StepperService,
270
270
  {
@@ -273,33 +273,34 @@ export class StepperComponent {
273
273
  }
274
274
  ], queries: [{ propertyName: "stepTemplate", first: true, predicate: StepperStepTemplateDirective, descendants: true }, { propertyName: "labelTemplate", first: true, predicate: StepperLabelTemplateDirective, descendants: true }, { propertyName: "indicatorTemplate", first: true, predicate: StepperIndicatorTemplateDirective, descendants: true }], exportAs: ["kendoStepper"], usesOnChanges: true, ngImport: i0, template: `
275
275
  <ng-container kendoStepperLocalizedMessages
276
- i18n-optional="kendo.stepper.optional|The text for the optional segment of the step label"
277
- optional="Optional"
278
- >
276
+ i18n-optional="kendo.stepper.optional|The text for the optional segment of the step label"
277
+ optional="Optional"
278
+ >
279
279
  </ng-container>
280
280
  <ol kendoStepperList
281
- [stepType]='stepType'
282
- [linear]='linear'
283
- [orientation]='orientation'
284
- [steps]='steps'
285
- [currentStep]='currentStep'
286
- [successIcon]='successIcon'
287
- [successSVGIcon]='successSVGIcon'
288
- [errorIcon]='errorIcon'
289
- [errorSVGIcon]='errorSVGIcon'
290
- [svgIcon]="svgIcon"
291
- [indicatorTemplate]='indicatorTemplate?.templateRef'
292
- [labelTemplate]='labelTemplate?.templateRef'
293
- [stepTemplate]='stepTemplate?.templateRef'
294
- class='k-step-list'
295
- [class.k-step-list-horizontal]='isHorizontal'
296
- [class.k-step-list-vertical]='!isHorizontal'
297
- [ngStyle]='stepsListStyling'
298
- (listKeydown)="onListKeydown($event)"
299
- (listClick)="onListClick($event)">
281
+ [stepType]='stepType'
282
+ [linear]='linear'
283
+ [orientation]='orientation'
284
+ [steps]='steps'
285
+ [currentStep]='currentStep'
286
+ [successIcon]='successIcon'
287
+ [successSVGIcon]='successSVGIcon'
288
+ [errorIcon]='errorIcon'
289
+ [errorSVGIcon]='errorSVGIcon'
290
+ [svgIcon]="svgIcon"
291
+ [indicatorTemplate]='indicatorTemplate?.templateRef'
292
+ [labelTemplate]='labelTemplate?.templateRef'
293
+ [stepTemplate]='stepTemplate?.templateRef'
294
+ class='k-step-list'
295
+ [class.k-step-list-horizontal]='isHorizontal'
296
+ [class.k-step-list-vertical]='!isHorizontal'
297
+ [ngStyle]='stepsListStyling'
298
+ (listKeydown)="onListKeydown($event)"
299
+ (listClick)="onListClick($event)">
300
300
  </ol>
301
-
302
- <kendo-progressbar *ngIf='steps.length > 0'
301
+
302
+ @if (steps.length > 0) {
303
+ <kendo-progressbar
303
304
  [attr.aria-hidden]='true'
304
305
  [animation]='progressAnimation'
305
306
  [max]='steps.length - 1'
@@ -308,8 +309,9 @@ export class StepperComponent {
308
309
  [reverse]='!isHorizontal'
309
310
  [value]='currentStep'
310
311
  [ngStyle]='progressBarStyling'>
311
- </kendo-progressbar>
312
- `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedStepperMessagesDirective, selector: "\n [kendoStepperLocalizedMessages]\n " }, { kind: "component", type: StepperListComponent, selector: "[kendoStepperList]", inputs: ["linear", "stepType", "orientation", "currentStep", "steps", "successIcon", "successSVGIcon", "errorIcon", "errorSVGIcon", "svgIcon", "indicatorTemplate", "labelTemplate", "stepTemplate"], outputs: ["listKeydown", "listClick"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ProgressBarComponent, selector: "kendo-progressbar", inputs: ["label", "progressCssStyle", "progressCssClass", "emptyCssStyle", "emptyCssClass", "animation"], outputs: ["animationEnd"], exportAs: ["kendoProgressBar"] }] });
312
+ </kendo-progressbar>
313
+ }
314
+ `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedStepperMessagesDirective, selector: "\n [kendoStepperLocalizedMessages]\n " }, { kind: "component", type: StepperListComponent, selector: "[kendoStepperList]", inputs: ["linear", "stepType", "orientation", "currentStep", "steps", "successIcon", "successSVGIcon", "errorIcon", "errorSVGIcon", "svgIcon", "indicatorTemplate", "labelTemplate", "stepTemplate"], outputs: ["listKeydown", "listClick"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: ProgressBarComponent, selector: "kendo-progressbar", inputs: ["label", "progressCssStyle", "progressCssClass", "emptyCssStyle", "emptyCssClass", "animation"], outputs: ["animationEnd"], exportAs: ["kendoProgressBar"] }] });
313
315
  }
314
316
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StepperComponent, decorators: [{
315
317
  type: Component,
@@ -326,33 +328,34 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
326
328
  selector: 'kendo-stepper',
327
329
  template: `
328
330
  <ng-container kendoStepperLocalizedMessages
329
- i18n-optional="kendo.stepper.optional|The text for the optional segment of the step label"
330
- optional="Optional"
331
- >
331
+ i18n-optional="kendo.stepper.optional|The text for the optional segment of the step label"
332
+ optional="Optional"
333
+ >
332
334
  </ng-container>
333
335
  <ol kendoStepperList
334
- [stepType]='stepType'
335
- [linear]='linear'
336
- [orientation]='orientation'
337
- [steps]='steps'
338
- [currentStep]='currentStep'
339
- [successIcon]='successIcon'
340
- [successSVGIcon]='successSVGIcon'
341
- [errorIcon]='errorIcon'
342
- [errorSVGIcon]='errorSVGIcon'
343
- [svgIcon]="svgIcon"
344
- [indicatorTemplate]='indicatorTemplate?.templateRef'
345
- [labelTemplate]='labelTemplate?.templateRef'
346
- [stepTemplate]='stepTemplate?.templateRef'
347
- class='k-step-list'
348
- [class.k-step-list-horizontal]='isHorizontal'
349
- [class.k-step-list-vertical]='!isHorizontal'
350
- [ngStyle]='stepsListStyling'
351
- (listKeydown)="onListKeydown($event)"
352
- (listClick)="onListClick($event)">
336
+ [stepType]='stepType'
337
+ [linear]='linear'
338
+ [orientation]='orientation'
339
+ [steps]='steps'
340
+ [currentStep]='currentStep'
341
+ [successIcon]='successIcon'
342
+ [successSVGIcon]='successSVGIcon'
343
+ [errorIcon]='errorIcon'
344
+ [errorSVGIcon]='errorSVGIcon'
345
+ [svgIcon]="svgIcon"
346
+ [indicatorTemplate]='indicatorTemplate?.templateRef'
347
+ [labelTemplate]='labelTemplate?.templateRef'
348
+ [stepTemplate]='stepTemplate?.templateRef'
349
+ class='k-step-list'
350
+ [class.k-step-list-horizontal]='isHorizontal'
351
+ [class.k-step-list-vertical]='!isHorizontal'
352
+ [ngStyle]='stepsListStyling'
353
+ (listKeydown)="onListKeydown($event)"
354
+ (listClick)="onListClick($event)">
353
355
  </ol>
354
-
355
- <kendo-progressbar *ngIf='steps.length > 0'
356
+
357
+ @if (steps.length > 0) {
358
+ <kendo-progressbar
356
359
  [attr.aria-hidden]='true'
357
360
  [animation]='progressAnimation'
358
361
  [max]='steps.length - 1'
@@ -361,10 +364,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
361
364
  [reverse]='!isHorizontal'
362
365
  [value]='currentStep'
363
366
  [ngStyle]='progressBarStyling'>
364
- </kendo-progressbar>
365
- `,
367
+ </kendo-progressbar>
368
+ }
369
+ `,
366
370
  standalone: true,
367
- imports: [LocalizedStepperMessagesDirective, StepperListComponent, NgStyle, NgIf, ProgressBarComponent]
371
+ imports: [LocalizedStepperMessagesDirective, StepperListComponent, NgStyle, ProgressBarComponent]
368
372
  }]
369
373
  }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.LocalizationService }, { type: i2.StepperService }], propDecorators: { hostClasses: [{
370
374
  type: HostBinding,
@@ -7,7 +7,7 @@ import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/co
7
7
  import { LocalizationService } from '@progress/kendo-angular-l10n';
8
8
  import { TabCloseEvent } from '../events/tabclose-event';
9
9
  import { xIcon } from '@progress/kendo-svg-icons';
10
- import { NgIf, NgTemplateOutlet } from '@angular/common';
10
+ import { NgTemplateOutlet } from '@angular/common';
11
11
  import { IconWrapperComponent } from '@progress/kendo-angular-icons';
12
12
  import * as i0 from "@angular/core";
13
13
  import * as i1 from "@progress/kendo-angular-l10n";
@@ -81,28 +81,33 @@ export class TabComponent {
81
81
  this.tabClose.emit(closeArgs);
82
82
  }
83
83
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TabComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
84
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: TabComponent, isStandalone: true, selector: "[kendoTabStripTab]", inputs: { tab: "tab", index: "index", tabStripClosable: "tabStripClosable", tabStripCloseIcon: "tabStripCloseIcon", customTabstripCloseIcon: "customTabstripCloseIcon", closeSVGIcon: "closeSVGIcon" }, outputs: { tabClose: "tabClose" }, host: { properties: { "class.k-tabstrip-item": "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: `
85
- <ng-container *ngIf="!tab.tabTemplate; else tabTemplate">
86
- <span class="k-link" *ngIf="!tab.tabTitle">
87
- <span class="k-link-text">{{ tab.title }}</span>
84
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TabComponent, isStandalone: true, selector: "[kendoTabStripTab]", inputs: { tab: "tab", index: "index", tabStripClosable: "tabStripClosable", tabStripCloseIcon: "tabStripCloseIcon", customTabstripCloseIcon: "customTabstripCloseIcon", closeSVGIcon: "closeSVGIcon" }, outputs: { tabClose: "tabClose" }, host: { properties: { "class.k-tabstrip-item": "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: `
85
+ @if (!tab.tabTemplate) {
86
+ @if (!tab.tabTitle) {
87
+ <span class="k-link">
88
+ <span class="k-link-text">{{ tab.title }}</span>
88
89
  </span>
89
- <span class="k-link" *ngIf="tab.tabTitle">
90
- <ng-template [ngTemplateOutlet]="tab.tabTitle.templateRef">
91
- </ng-template>
90
+ }
91
+ @if (tab.tabTitle) {
92
+ <span class="k-link">
93
+ <ng-template [ngTemplateOutlet]="tab.tabTitle.templateRef">
94
+ </ng-template>
92
95
  </span>
93
- </ng-container>
96
+ }
97
+ } @else {
98
+ <ng-template #tabTemplate [ngTemplateOutlet]="tab.tabTemplate?.templateRef">
99
+ </ng-template>
100
+ }
94
101
 
95
- <ng-template #tabTemplate [ngTemplateOutlet]="tab.tabTemplate?.templateRef">
96
- </ng-template>
97
-
98
- <span class="k-remove-tab k-icon-button k-button k-button-md k-rounded-md k-button-flat-base k-button-flat"
99
- *ngIf="tabClosable"
100
- (click)="closeTab(index)" [title]="closeButtonTitle">
101
- <kendo-icon-wrapper
102
- [svgIcon]="closeSVGIconClass" [name]="closeIconClasses"
103
- innerCssClass="k-button-icon" [customFontClass]="customCloseIconClasses"></kendo-icon-wrapper>
104
- </span>
105
- `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }] });
102
+ @if (tabClosable) {
103
+ <span class="k-remove-tab k-icon-button k-button k-button-md k-rounded-md k-button-flat-base k-button-flat"
104
+ (click)="closeTab(index)" [title]="closeButtonTitle">
105
+ <kendo-icon-wrapper
106
+ [svgIcon]="closeSVGIconClass" [name]="closeIconClasses"
107
+ innerCssClass="k-button-icon" [customFontClass]="customCloseIconClasses"></kendo-icon-wrapper>
108
+ </span>
109
+ }
110
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }] });
106
111
  }
107
112
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TabComponent, decorators: [{
108
113
  type: Component,
@@ -110,29 +115,34 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
110
115
  // eslint-disable-next-line @angular-eslint/component-selector
111
116
  selector: '[kendoTabStripTab]',
112
117
  template: `
113
- <ng-container *ngIf="!tab.tabTemplate; else tabTemplate">
114
- <span class="k-link" *ngIf="!tab.tabTitle">
115
- <span class="k-link-text">{{ tab.title }}</span>
118
+ @if (!tab.tabTemplate) {
119
+ @if (!tab.tabTitle) {
120
+ <span class="k-link">
121
+ <span class="k-link-text">{{ tab.title }}</span>
116
122
  </span>
117
- <span class="k-link" *ngIf="tab.tabTitle">
118
- <ng-template [ngTemplateOutlet]="tab.tabTitle.templateRef">
119
- </ng-template>
123
+ }
124
+ @if (tab.tabTitle) {
125
+ <span class="k-link">
126
+ <ng-template [ngTemplateOutlet]="tab.tabTitle.templateRef">
127
+ </ng-template>
120
128
  </span>
121
- </ng-container>
129
+ }
130
+ } @else {
131
+ <ng-template #tabTemplate [ngTemplateOutlet]="tab.tabTemplate?.templateRef">
132
+ </ng-template>
133
+ }
122
134
 
123
- <ng-template #tabTemplate [ngTemplateOutlet]="tab.tabTemplate?.templateRef">
124
- </ng-template>
125
-
126
- <span class="k-remove-tab k-icon-button k-button k-button-md k-rounded-md k-button-flat-base k-button-flat"
127
- *ngIf="tabClosable"
128
- (click)="closeTab(index)" [title]="closeButtonTitle">
129
- <kendo-icon-wrapper
130
- [svgIcon]="closeSVGIconClass" [name]="closeIconClasses"
131
- innerCssClass="k-button-icon" [customFontClass]="customCloseIconClasses"></kendo-icon-wrapper>
132
- </span>
133
- `,
135
+ @if (tabClosable) {
136
+ <span class="k-remove-tab k-icon-button k-button k-button-md k-rounded-md k-button-flat-base k-button-flat"
137
+ (click)="closeTab(index)" [title]="closeButtonTitle">
138
+ <kendo-icon-wrapper
139
+ [svgIcon]="closeSVGIconClass" [name]="closeIconClasses"
140
+ innerCssClass="k-button-icon" [customFontClass]="customCloseIconClasses"></kendo-icon-wrapper>
141
+ </span>
142
+ }
143
+ `,
134
144
  standalone: true,
135
- imports: [NgIf, NgTemplateOutlet, IconWrapperComponent]
145
+ imports: [NgTemplateOutlet, IconWrapperComponent]
136
146
  }]
137
147
  }], ctorParameters: () => [{ type: i1.LocalizationService }], propDecorators: { tab: [{
138
148
  type: Input