@progress/kendo-angular-layout 21.1.1-develop.2 → 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 (27) 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
@@ -13,7 +13,7 @@ import { Subscription } from 'rxjs';
13
13
  import { PanelBarExpandMode } from './panelbar-expand-mode';
14
14
  import { chevronDownIcon, chevronUpIcon } from '@progress/kendo-svg-icons';
15
15
  import { IconWrapperComponent } from '@progress/kendo-angular-icons';
16
- import { NgIf, NgTemplateOutlet, NgFor } from '@angular/common';
16
+ import { NgTemplateOutlet } from '@angular/common';
17
17
  import * as i0 from "@angular/core";
18
18
  import * as i1 from "./panelbar.service";
19
19
  /**
@@ -324,30 +324,35 @@ export class PanelBarItemComponent {
324
324
  this.wrapperFocused = focused;
325
325
  }
326
326
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", 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 });
327
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: PanelBarItemComponent, isStandalone: true, 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-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: `
327
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: PanelBarItemComponent, isStandalone: true, 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-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: `
328
328
  <span
329
- #header
330
- [class.k-link]="true"
331
- [class.k-selected]="!disabled && selected"
332
- [class.k-focus]="focused && wrapperFocused"
333
- [class.k-disabled]="disabled"
334
- (click)="onItemClick($event)">
329
+ #header
330
+ [class.k-link]="true"
331
+ [class.k-selected]="!disabled && selected"
332
+ [class.k-focus]="focused && wrapperFocused"
333
+ [class.k-disabled]="disabled"
334
+ (click)="onItemClick($event)">
335
+ @if (icon || iconClass || svgIcon) {
335
336
  <kendo-icon-wrapper
336
- *ngIf="icon || iconClass || svgIcon"
337
- [name]="iconClasses"
338
- [customFontClass]="customIconClasses"
339
- [svgIcon]="svgIcon"
340
- innerCssClass="k-panelbar-item-icon"
341
- >
337
+ [name]="iconClasses"
338
+ [customFontClass]="customIconClasses"
339
+ [svgIcon]="svgIcon"
340
+ innerCssClass="k-panelbar-item-icon"
341
+ >
342
342
  </kendo-icon-wrapper>
343
+ }
344
+ @if (imageUrl) {
343
345
  <img
344
- *ngIf="imageUrl"
345
- class="k-image k-panelbar-item-icon"
346
- [src]="imageUrl"
347
- alt="">
348
- <ng-container *ngIf="!titleTemplate"><span class="k-panelbar-item-text">{{title}}</span></ng-container>
349
- <ng-template *ngIf="titleTemplate"
350
- [ngTemplateOutlet]="titleTemplate"
346
+ class="k-image k-panelbar-item-icon"
347
+ [src]="imageUrl"
348
+ alt="">
349
+ }
350
+ @if (!titleTemplate) {
351
+ <span class="k-panelbar-item-text">{{title}}</span>
352
+ }
353
+ @if (titleTemplate) {
354
+ <ng-template
355
+ [ngTemplateOutlet]="titleTemplate"
351
356
  [ngTemplateOutletContext]="{
352
357
  item: {
353
358
  title: title,
@@ -363,36 +368,39 @@ export class PanelBarItemComponent {
363
368
  content: content
364
369
  }
365
370
  }"></ng-template>
366
- <kendo-icon-wrapper
367
- *ngIf="hasChildItems || hasContent"
368
- [name]="expanded ? 'chevron-up' : 'chevron-down'"
369
- [svgIcon]="expanderSVGIcon"
370
- [innerCssClass]="dirInnerCssClasses"
371
+ }
372
+ @if (hasChildItems || hasContent) {
373
+ <kendo-icon-wrapper
374
+ [name]="expanded ? 'chevron-up' : 'chevron-down'"
375
+ [svgIcon]="expanderSVGIcon"
376
+ [innerCssClass]="dirInnerCssClasses"
371
377
  >
372
- </kendo-icon-wrapper>
378
+ </kendo-icon-wrapper>
379
+ }
373
380
  </span>
374
- <div
381
+ @if (keepContent || (!disabled && expanded && (hasChildItems || hasContent))) {
382
+ <div
375
383
  #contentWrapper
376
- *ngIf="keepContent || (!disabled && expanded && (hasChildItems || hasContent))"
377
384
  [@toggle]="state"
378
385
  [attr.role]="'group'"
379
386
  [attr.aria-hidden]="!disabled && !expanded"
380
- >
381
- <div
382
- *ngIf="hasChildItems && !items?.length"
387
+ >
388
+ @if (hasChildItems && !items?.length) {
389
+ <div
383
390
  [style.overflow]="contentOverflow"
384
391
  [style.height]="contentHeight"
385
392
  class="k-panelbar-group"
386
- >
393
+ >
387
394
  <ng-content select="kendo-panelbar-item"></ng-content>
388
- </div>
389
- <div
390
- *ngIf="hasContent && !content"
395
+ </div>
396
+ }
397
+ @if (hasContent && !content) {
398
+ <div
391
399
  [style.overflow]="contentOverflow"
392
400
  [style.height]="contentHeight"
393
401
  class="k-panelbar-content">
394
402
  <ng-template
395
- [ngTemplateOutlet]="contentTemplate.first.templateRef"
403
+ [ngTemplateOutlet]="contentTemplate.first.templateRef"
396
404
  [ngTemplateOutletContext]="{
397
405
  $implicit: {
398
406
  title: title,
@@ -403,36 +411,41 @@ export class PanelBarItemComponent {
403
411
  content: content
404
412
  }
405
413
  }">
406
- </ng-template>
414
+ </ng-template>
407
415
  </div>
408
- <div *ngIf="hasItems"
409
- [style.overflow]="contentOverflow"
410
- [style.height]="contentHeight"
411
- class="k-panelbar-group">
412
- <ng-container *ngFor="let item of items">
413
- <kendo-panelbar-item *ngIf="!item.hidden"
414
- [title]="item.title"
415
- [id]="item.id"
416
- [icon]="item.icon"
417
- [iconClass]="item.iconClass"
418
- [svgIcon]="item.svgIcon"
419
- [imageUrl]="item.imageUrl"
420
- [selected]="!!item.selected"
421
- [expanded]="!!item.expanded"
422
- [disabled]="!!item.disabled"
423
- [template]="template"
424
- [items]="item.children"
425
- [content]="item.content">
426
- </kendo-panelbar-item>
427
- </ng-container>
416
+ }
417
+ @if (hasItems) {
418
+ <div
419
+ [style.overflow]="contentOverflow"
420
+ [style.height]="contentHeight"
421
+ class="k-panelbar-group">
422
+ @for (item of items; track item) {
423
+ @if (!item.hidden) {
424
+ <kendo-panelbar-item
425
+ [title]="item.title"
426
+ [id]="item.id"
427
+ [icon]="item.icon"
428
+ [iconClass]="item.iconClass"
429
+ [svgIcon]="item.svgIcon"
430
+ [imageUrl]="item.imageUrl"
431
+ [selected]="!!item.selected"
432
+ [expanded]="!!item.expanded"
433
+ [disabled]="!!item.disabled"
434
+ [template]="template"
435
+ [items]="item.children"
436
+ [content]="item.content">
437
+ </kendo-panelbar-item>
438
+ }
439
+ }
428
440
  </div>
441
+ }
442
+ @if (content) {
429
443
  <div
430
- *ngIf="content"
431
- [style.overflow]="contentOverflow"
432
- [style.height]="contentHeight"
433
- class="k-panelbar-content">
434
- <ng-template
435
- [ngTemplateOutlet]="template"
444
+ [style.overflow]="contentOverflow"
445
+ [style.height]="contentHeight"
446
+ class="k-panelbar-content">
447
+ <ng-template
448
+ [ngTemplateOutlet]="template"
436
449
  [ngTemplateOutletContext]="{
437
450
  $implicit: {
438
451
  title: title,
@@ -443,10 +456,14 @@ export class PanelBarItemComponent {
443
456
  content: content
444
457
  }
445
458
  }">
446
- </ng-template>
447
- <ng-template [ngIf]="!template">{{content}}</ng-template>
448
- </div>
449
- </div>`, isInline: true, dependencies: [{ kind: "component", type: PanelBarItemComponent, selector: "kendo-panelbar-item", inputs: ["title", "id", "icon", "iconClass", "svgIcon", "imageUrl", "disabled", "expanded", "selected", "content", "items", "template"], exportAs: ["kendoPanelbarItem"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], animations: [
459
+ </ng-template>
460
+ @if (!template) {
461
+ {{content}}
462
+ }
463
+ </div>
464
+ }
465
+ </div>
466
+ }`, isInline: true, dependencies: [{ kind: "component", type: PanelBarItemComponent, selector: "kendo-panelbar-item", inputs: ["title", "id", "icon", "iconClass", "svgIcon", "imageUrl", "disabled", "expanded", "selected", "content", "items", "template"], exportAs: ["kendoPanelbarItem"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: [
450
467
  trigger('toggle', [
451
468
  state('inactive', style({ display: 'none' })),
452
469
  transition('* => active', [
@@ -480,28 +497,33 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
480
497
  selector: "kendo-panelbar-item",
481
498
  template: `
482
499
  <span
483
- #header
484
- [class.k-link]="true"
485
- [class.k-selected]="!disabled && selected"
486
- [class.k-focus]="focused && wrapperFocused"
487
- [class.k-disabled]="disabled"
488
- (click)="onItemClick($event)">
500
+ #header
501
+ [class.k-link]="true"
502
+ [class.k-selected]="!disabled && selected"
503
+ [class.k-focus]="focused && wrapperFocused"
504
+ [class.k-disabled]="disabled"
505
+ (click)="onItemClick($event)">
506
+ @if (icon || iconClass || svgIcon) {
489
507
  <kendo-icon-wrapper
490
- *ngIf="icon || iconClass || svgIcon"
491
- [name]="iconClasses"
492
- [customFontClass]="customIconClasses"
493
- [svgIcon]="svgIcon"
494
- innerCssClass="k-panelbar-item-icon"
495
- >
508
+ [name]="iconClasses"
509
+ [customFontClass]="customIconClasses"
510
+ [svgIcon]="svgIcon"
511
+ innerCssClass="k-panelbar-item-icon"
512
+ >
496
513
  </kendo-icon-wrapper>
514
+ }
515
+ @if (imageUrl) {
497
516
  <img
498
- *ngIf="imageUrl"
499
- class="k-image k-panelbar-item-icon"
500
- [src]="imageUrl"
501
- alt="">
502
- <ng-container *ngIf="!titleTemplate"><span class="k-panelbar-item-text">{{title}}</span></ng-container>
503
- <ng-template *ngIf="titleTemplate"
504
- [ngTemplateOutlet]="titleTemplate"
517
+ class="k-image k-panelbar-item-icon"
518
+ [src]="imageUrl"
519
+ alt="">
520
+ }
521
+ @if (!titleTemplate) {
522
+ <span class="k-panelbar-item-text">{{title}}</span>
523
+ }
524
+ @if (titleTemplate) {
525
+ <ng-template
526
+ [ngTemplateOutlet]="titleTemplate"
505
527
  [ngTemplateOutletContext]="{
506
528
  item: {
507
529
  title: title,
@@ -517,36 +539,39 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
517
539
  content: content
518
540
  }
519
541
  }"></ng-template>
520
- <kendo-icon-wrapper
521
- *ngIf="hasChildItems || hasContent"
522
- [name]="expanded ? 'chevron-up' : 'chevron-down'"
523
- [svgIcon]="expanderSVGIcon"
524
- [innerCssClass]="dirInnerCssClasses"
542
+ }
543
+ @if (hasChildItems || hasContent) {
544
+ <kendo-icon-wrapper
545
+ [name]="expanded ? 'chevron-up' : 'chevron-down'"
546
+ [svgIcon]="expanderSVGIcon"
547
+ [innerCssClass]="dirInnerCssClasses"
525
548
  >
526
- </kendo-icon-wrapper>
549
+ </kendo-icon-wrapper>
550
+ }
527
551
  </span>
528
- <div
552
+ @if (keepContent || (!disabled && expanded && (hasChildItems || hasContent))) {
553
+ <div
529
554
  #contentWrapper
530
- *ngIf="keepContent || (!disabled && expanded && (hasChildItems || hasContent))"
531
555
  [@toggle]="state"
532
556
  [attr.role]="'group'"
533
557
  [attr.aria-hidden]="!disabled && !expanded"
534
- >
535
- <div
536
- *ngIf="hasChildItems && !items?.length"
558
+ >
559
+ @if (hasChildItems && !items?.length) {
560
+ <div
537
561
  [style.overflow]="contentOverflow"
538
562
  [style.height]="contentHeight"
539
563
  class="k-panelbar-group"
540
- >
564
+ >
541
565
  <ng-content select="kendo-panelbar-item"></ng-content>
542
- </div>
543
- <div
544
- *ngIf="hasContent && !content"
566
+ </div>
567
+ }
568
+ @if (hasContent && !content) {
569
+ <div
545
570
  [style.overflow]="contentOverflow"
546
571
  [style.height]="contentHeight"
547
572
  class="k-panelbar-content">
548
573
  <ng-template
549
- [ngTemplateOutlet]="contentTemplate.first.templateRef"
574
+ [ngTemplateOutlet]="contentTemplate.first.templateRef"
550
575
  [ngTemplateOutletContext]="{
551
576
  $implicit: {
552
577
  title: title,
@@ -557,36 +582,41 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
557
582
  content: content
558
583
  }
559
584
  }">
560
- </ng-template>
585
+ </ng-template>
561
586
  </div>
562
- <div *ngIf="hasItems"
563
- [style.overflow]="contentOverflow"
564
- [style.height]="contentHeight"
565
- class="k-panelbar-group">
566
- <ng-container *ngFor="let item of items">
567
- <kendo-panelbar-item *ngIf="!item.hidden"
568
- [title]="item.title"
569
- [id]="item.id"
570
- [icon]="item.icon"
571
- [iconClass]="item.iconClass"
572
- [svgIcon]="item.svgIcon"
573
- [imageUrl]="item.imageUrl"
574
- [selected]="!!item.selected"
575
- [expanded]="!!item.expanded"
576
- [disabled]="!!item.disabled"
577
- [template]="template"
578
- [items]="item.children"
579
- [content]="item.content">
580
- </kendo-panelbar-item>
581
- </ng-container>
587
+ }
588
+ @if (hasItems) {
589
+ <div
590
+ [style.overflow]="contentOverflow"
591
+ [style.height]="contentHeight"
592
+ class="k-panelbar-group">
593
+ @for (item of items; track item) {
594
+ @if (!item.hidden) {
595
+ <kendo-panelbar-item
596
+ [title]="item.title"
597
+ [id]="item.id"
598
+ [icon]="item.icon"
599
+ [iconClass]="item.iconClass"
600
+ [svgIcon]="item.svgIcon"
601
+ [imageUrl]="item.imageUrl"
602
+ [selected]="!!item.selected"
603
+ [expanded]="!!item.expanded"
604
+ [disabled]="!!item.disabled"
605
+ [template]="template"
606
+ [items]="item.children"
607
+ [content]="item.content">
608
+ </kendo-panelbar-item>
609
+ }
610
+ }
582
611
  </div>
612
+ }
613
+ @if (content) {
583
614
  <div
584
- *ngIf="content"
585
- [style.overflow]="contentOverflow"
586
- [style.height]="contentHeight"
587
- class="k-panelbar-content">
588
- <ng-template
589
- [ngTemplateOutlet]="template"
615
+ [style.overflow]="contentOverflow"
616
+ [style.height]="contentHeight"
617
+ class="k-panelbar-content">
618
+ <ng-template
619
+ [ngTemplateOutlet]="template"
590
620
  [ngTemplateOutletContext]="{
591
621
  $implicit: {
592
622
  title: title,
@@ -597,12 +627,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
597
627
  content: content
598
628
  }
599
629
  }">
600
- </ng-template>
601
- <ng-template [ngIf]="!template">{{content}}</ng-template>
602
- </div>
603
- </div>`,
630
+ </ng-template>
631
+ @if (!template) {
632
+ {{content}}
633
+ }
634
+ </div>
635
+ }
636
+ </div>
637
+ }`,
604
638
  standalone: true,
605
- imports: [NgIf, IconWrapperComponent, NgTemplateOutlet, NgFor]
639
+ imports: [IconWrapperComponent, NgTemplateOutlet]
606
640
  }]
607
641
  }], ctorParameters: () => [{ type: PanelBarItemComponent, decorators: [{
608
642
  type: SkipSelf
@@ -15,7 +15,6 @@ import { parsePanelBarItems } from "../common/util";
15
15
  import { Subscription } from 'rxjs';
16
16
  import { isFocusable } from './../common/dom-queries';
17
17
  import { PanelBarSelectEvent, PanelBarExpandEvent, PanelBarCollapseEvent, PanelBarStateChangeEvent } from './events';
18
- import { NgIf, NgFor } from '@angular/common';
19
18
  import * as i0 from "@angular/core";
20
19
  import * as i1 from "./panelbar.service";
21
20
  import * as i2 from "@progress/kendo-angular-l10n";
@@ -545,7 +544,7 @@ export class PanelBarComponent {
545
544
  return flattedItems;
546
545
  }
547
546
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PanelBarComponent, deps: [{ token: i0.ElementRef }, { token: i1.PanelBarService }, { token: i2.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
548
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: PanelBarComponent, isStandalone: true, selector: "kendo-panelbar", inputs: { expandMode: "expandMode", selectable: "selectable", animate: "animate", height: "height", keepItemContent: "keepItemContent", items: "items" }, outputs: { stateChange: "stateChange", select: "select", expand: "expand", collapse: "collapse", itemClick: "itemClick" }, host: { listeners: { "click": "onComponentClick($event)", "focus": "onComponentFocus()", "blur": "onComponentBlur()", "keydown": "onComponentKeyDown($event)" }, properties: { "class.k-panelbar": "this.hostClasses", "attr.tabIndex": "this.tabIndex", "attr.role": "this.role", "attr.aria-activedescendant": "this.activeDescendant", "style.height": "this.hostHeight", "style.overflow": "this.overflow", "attr.dir": "this.dir" } }, providers: [
547
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: PanelBarComponent, isStandalone: true, selector: "kendo-panelbar", inputs: { expandMode: "expandMode", selectable: "selectable", animate: "animate", height: "height", keepItemContent: "keepItemContent", items: "items" }, outputs: { stateChange: "stateChange", select: "select", expand: "expand", collapse: "collapse", itemClick: "itemClick" }, host: { listeners: { "click": "onComponentClick($event)", "focus": "onComponentFocus()", "blur": "onComponentBlur()", "keydown": "onComponentKeyDown($event)" }, properties: { "class.k-panelbar": "this.hostClasses", "attr.tabIndex": "this.tabIndex", "attr.role": "this.role", "attr.aria-activedescendant": "this.activeDescendant", "style.height": "this.hostHeight", "style.overflow": "this.overflow", "attr.dir": "this.dir" } }, providers: [
549
548
  PanelBarService,
550
549
  LocalizationService,
551
550
  {
@@ -553,29 +552,35 @@ export class PanelBarComponent {
553
552
  useValue: 'kendo.panelbar'
554
553
  }
555
554
  ], queries: [{ propertyName: "template", first: true, predicate: PanelBarItemTemplateDirective, descendants: true }, { propertyName: "contentItems", predicate: PanelBarItemComponent, descendants: true }, { propertyName: "contentChildItems", predicate: PanelBarItemComponent }], viewQueries: [{ propertyName: "viewChildItems", predicate: PanelBarItemComponent, descendants: true }], exportAs: ["kendoPanelbar"], usesOnChanges: true, ngImport: i0, template: `
556
- <ng-content *ngIf="contentChildItems && !items" select="kendo-panelbar-item"></ng-content>
557
- <ng-template [ngIf]="items?.length">
558
- <ng-container *ngFor="let item of items">
559
- <kendo-panelbar-item *ngIf="!item.hidden"
560
- [title]="item.title"
561
- [id]="item.id"
562
- [icon]="item.icon"
563
- [iconClass]="item.iconClass"
564
- [svgIcon]="item.svgIcon"
565
- [imageUrl]="item.imageUrl"
566
- [selected]="!!item.selected"
567
- [expanded]="!!item.expanded"
568
- [disabled]="!!item.disabled"
569
- [template]="templateRef"
570
- [items]="item.children"
571
- [content]="item.content"
555
+ @if (contentChildItems && !items) {
556
+ <ng-content select="kendo-panelbar-item"></ng-content>
557
+ }
558
+ @if (items?.length) {
559
+ @for (item of items; track item) {
560
+ @if (!item.hidden) {
561
+ <kendo-panelbar-item
562
+ [title]="item.title"
563
+ [id]="item.id"
564
+ [icon]="item.icon"
565
+ [iconClass]="item.iconClass"
566
+ [svgIcon]="item.svgIcon"
567
+ [imageUrl]="item.imageUrl"
568
+ [selected]="!!item.selected"
569
+ [expanded]="!!item.expanded"
570
+ [disabled]="!!item.disabled"
571
+ [template]="templateRef"
572
+ [items]="item.children"
573
+ [content]="item.content"
572
574
  >
573
- </kendo-panelbar-item>
574
- </ng-container>
575
- </ng-template>
575
+ </kendo-panelbar-item>
576
+ }
577
+ }
578
+ }
576
579
 
577
- <div kendoWatermarkOverlay *ngIf="showLicenseWatermark" [licenseMessage]="licenseMessage"></div>
578
- `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: PanelBarItemComponent, selector: "kendo-panelbar-item", inputs: ["title", "id", "icon", "iconClass", "svgIcon", "imageUrl", "disabled", "expanded", "selected", "content", "items", "template"], exportAs: ["kendoPanelbarItem"] }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]", inputs: ["licenseMessage"] }] });
580
+ @if (showLicenseWatermark) {
581
+ <div kendoWatermarkOverlay [licenseMessage]="licenseMessage"></div>
582
+ }
583
+ `, isInline: true, dependencies: [{ kind: "component", type: PanelBarItemComponent, selector: "kendo-panelbar-item", inputs: ["title", "id", "icon", "iconClass", "svgIcon", "imageUrl", "disabled", "expanded", "selected", "content", "items", "template"], exportAs: ["kendoPanelbarItem"] }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]", inputs: ["licenseMessage"] }] });
579
584
  }
580
585
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PanelBarComponent, decorators: [{
581
586
  type: Component,
@@ -591,31 +596,37 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
591
596
  ],
592
597
  selector: 'kendo-panelbar',
593
598
  template: `
594
- <ng-content *ngIf="contentChildItems && !items" select="kendo-panelbar-item"></ng-content>
595
- <ng-template [ngIf]="items?.length">
596
- <ng-container *ngFor="let item of items">
597
- <kendo-panelbar-item *ngIf="!item.hidden"
598
- [title]="item.title"
599
- [id]="item.id"
600
- [icon]="item.icon"
601
- [iconClass]="item.iconClass"
602
- [svgIcon]="item.svgIcon"
603
- [imageUrl]="item.imageUrl"
604
- [selected]="!!item.selected"
605
- [expanded]="!!item.expanded"
606
- [disabled]="!!item.disabled"
607
- [template]="templateRef"
608
- [items]="item.children"
609
- [content]="item.content"
599
+ @if (contentChildItems && !items) {
600
+ <ng-content select="kendo-panelbar-item"></ng-content>
601
+ }
602
+ @if (items?.length) {
603
+ @for (item of items; track item) {
604
+ @if (!item.hidden) {
605
+ <kendo-panelbar-item
606
+ [title]="item.title"
607
+ [id]="item.id"
608
+ [icon]="item.icon"
609
+ [iconClass]="item.iconClass"
610
+ [svgIcon]="item.svgIcon"
611
+ [imageUrl]="item.imageUrl"
612
+ [selected]="!!item.selected"
613
+ [expanded]="!!item.expanded"
614
+ [disabled]="!!item.disabled"
615
+ [template]="templateRef"
616
+ [items]="item.children"
617
+ [content]="item.content"
610
618
  >
611
- </kendo-panelbar-item>
612
- </ng-container>
613
- </ng-template>
619
+ </kendo-panelbar-item>
620
+ }
621
+ }
622
+ }
614
623
 
615
- <div kendoWatermarkOverlay *ngIf="showLicenseWatermark" [licenseMessage]="licenseMessage"></div>
616
- `,
624
+ @if (showLicenseWatermark) {
625
+ <div kendoWatermarkOverlay [licenseMessage]="licenseMessage"></div>
626
+ }
627
+ `,
617
628
  standalone: true,
618
- imports: [NgIf, NgFor, PanelBarItemComponent, WatermarkOverlayComponent]
629
+ imports: [PanelBarItemComponent, WatermarkOverlayComponent]
619
630
  }]
620
631
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.PanelBarService }, { type: i2.LocalizationService }], propDecorators: { expandMode: [{
621
632
  type: Input