@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
@@ -14,7 +14,7 @@ import { TimelineCardBodyTemplateDirective } from './templates/timeline-card-bod
14
14
  import { TimelineCardHeaderTemplateDirective } from './templates/timeline-card-header.directive';
15
15
  import { TimelineCardActionsTemplateDirective } from './templates/timeline-card-actions.directive';
16
16
  import { DatePipe } from '@progress/kendo-angular-intl';
17
- import { NgFor, NgIf, NgStyle } from '@angular/common';
17
+ import { NgStyle } from '@angular/common';
18
18
  import { ButtonComponent } from '@progress/kendo-angular-buttons';
19
19
  import * as i0 from "@angular/core";
20
20
  import * as i1 from "./timeline.service";
@@ -481,105 +481,112 @@ export class TimelineHorizontalComponent {
481
481
  this.cdr.markForCheck();
482
482
  }
483
483
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TimelineHorizontalComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i1.TimelineService }, { token: i2.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
484
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: TimelineHorizontalComponent, isStandalone: true, selector: "kendo-timeline-horizontal", inputs: { events: "events", alterMode: "alterMode", collapsibleEvents: "collapsibleEvents", navigable: "navigable", showDateLabels: "showDateLabels", animationDuration: "animationDuration", eventHeight: "eventHeight", dateFormat: "dateFormat", headerTemplate: "headerTemplate", bodyTemplate: "bodyTemplate", actionsTemplate: "actionsTemplate" }, providers: [], viewQueries: [{ propertyName: "trackElementRef", first: true, predicate: ["track"], descendants: true }, { propertyName: "scrollableTrackElementRef", first: true, predicate: ["scrollableTrack"], descendants: true }, { propertyName: "cardElementRefs", predicate: ["card"], descendants: true, read: ElementRef }, { propertyName: "circleElementRefs", predicate: ["trackCircle"], descendants: true }, { propertyName: "flagElementRefs", predicate: ["trackFlag"], descendants: true }, { propertyName: "cardComponents", predicate: TimelineCardComponent, descendants: true }], exportAs: ["kendoTimelineHorizontal"], usesOnChanges: true, ngImport: i0, template: `
484
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TimelineHorizontalComponent, isStandalone: true, selector: "kendo-timeline-horizontal", inputs: { events: "events", alterMode: "alterMode", collapsibleEvents: "collapsibleEvents", navigable: "navigable", showDateLabels: "showDateLabels", animationDuration: "animationDuration", eventHeight: "eventHeight", dateFormat: "dateFormat", headerTemplate: "headerTemplate", bodyTemplate: "bodyTemplate", actionsTemplate: "actionsTemplate" }, providers: [], viewQueries: [{ propertyName: "trackElementRef", first: true, predicate: ["track"], descendants: true }, { propertyName: "scrollableTrackElementRef", first: true, predicate: ["scrollableTrack"], descendants: true }, { propertyName: "cardElementRefs", predicate: ["card"], descendants: true, read: ElementRef }, { propertyName: "circleElementRefs", predicate: ["trackCircle"], descendants: true }, { propertyName: "flagElementRefs", predicate: ["trackFlag"], descendants: true }, { propertyName: "cardComponents", predicate: TimelineCardComponent, descendants: true }], exportAs: ["kendoTimelineHorizontal"], usesOnChanges: true, ngImport: i0, template: `
485
485
  <div class="k-timeline-track-wrap" #track>
486
- <button
487
- kendoButton
488
- [svgIcon]="svgLeftIcon"
489
- icon="caret-alt-left"
490
- class="k-timeline-arrow k-timeline-arrow-left"
491
- rounded="full"
492
- [title]="previousTitle"
493
- (click)="previousClick()"
494
- [disabled]="isFirstRange"
495
- tabindex="-1"
496
- type="button"
497
- ></button>
498
- <button
499
- kendoButton
500
- [svgIcon]="svgRightIcon"
501
- icon="caret-alt-right"
502
- class="k-timeline-arrow k-timeline-arrow-right"
503
- rounded="full"
504
- [title]="nextTitle"
505
- (click)="nextClick()"
506
- [disabled]="isLastRange"
507
- tabindex="-1"
508
- type="button"
509
- ></button>
510
- <div class="k-timeline-track">
511
- <ul class="k-timeline-scrollable-wrap"
512
- #scrollableTrack
513
- [attr.role]="'tablist'"
514
- [attr.tabindex]="'0'"
515
- [@trackSlide]="{value: animationState, params: {transformValue: this.translateValue}}"
516
- (@trackSlide.done)="onSlideDone()"
517
- (transitionend)="onTrackTransitionEnd()"
518
- >
519
- <ng-container *ngFor="let event of trackItems; let index = index">
520
- <li
521
- #trackFlag
522
- *ngIf="event.isFlag"
523
- class="k-timeline-flag-wrap k-timeline-track-item"
524
- [attr.role]="'none'"
525
- [attr.aria-hidden]="true"
526
- [ngStyle]="tabStyle()"
527
- >
528
- <span class="k-timeline-flag">{{ event.isFlag }}</span>
529
- </li>
530
- <li
531
- *ngIf="!event.isFlag"
532
- #trackCircle
533
- class="k-timeline-track-item"
534
- [attr.role]="'tab'"
535
- (click)="navigateToEvent(index)"
536
- [ngStyle]="tabStyle()"
537
- >
538
- <div class="k-timeline-date-wrap">
539
- <span *ngIf="showDateLabels" class="k-timeline-date">
540
- {{ event.date | kendoDate: dateFormat }}
541
- </span>
542
- </div>
543
- <span class="k-timeline-circle"></span>
544
- </li>
545
- </ng-container>
546
- </ul>
547
- </div>
486
+ <button
487
+ kendoButton
488
+ [svgIcon]="svgLeftIcon"
489
+ icon="caret-alt-left"
490
+ class="k-timeline-arrow k-timeline-arrow-left"
491
+ rounded="full"
492
+ [title]="previousTitle"
493
+ (click)="previousClick()"
494
+ [disabled]="isFirstRange"
495
+ tabindex="-1"
496
+ type="button"
497
+ ></button>
498
+ <button
499
+ kendoButton
500
+ [svgIcon]="svgRightIcon"
501
+ icon="caret-alt-right"
502
+ class="k-timeline-arrow k-timeline-arrow-right"
503
+ rounded="full"
504
+ [title]="nextTitle"
505
+ (click)="nextClick()"
506
+ [disabled]="isLastRange"
507
+ tabindex="-1"
508
+ type="button"
509
+ ></button>
510
+ <div class="k-timeline-track">
511
+ <ul class="k-timeline-scrollable-wrap"
512
+ #scrollableTrack
513
+ [attr.role]="'tablist'"
514
+ [attr.tabindex]="'0'"
515
+ [@trackSlide]="{value: animationState, params: {transformValue: this.translateValue}}"
516
+ (@trackSlide.done)="onSlideDone()"
517
+ (transitionend)="onTrackTransitionEnd()"
518
+ >
519
+ @for (event of trackItems; track event; let index = $index) {
520
+ @if (event.isFlag) {
521
+ <li
522
+ #trackFlag
523
+ class="k-timeline-flag-wrap k-timeline-track-item"
524
+ [attr.role]="'none'"
525
+ [attr.aria-hidden]="true"
526
+ [ngStyle]="tabStyle()"
527
+ >
528
+ <span class="k-timeline-flag">{{ event.isFlag }}</span>
529
+ </li>
530
+ }
531
+ @if (!event.isFlag) {
532
+ <li
533
+ #trackCircle
534
+ class="k-timeline-track-item"
535
+ [attr.role]="'tab'"
536
+ (click)="navigateToEvent(index)"
537
+ [ngStyle]="tabStyle()"
538
+ >
539
+ <div class="k-timeline-date-wrap">
540
+ @if (showDateLabels) {
541
+ <span class="k-timeline-date">
542
+ {{ event.date | kendoDate: dateFormat }}
543
+ </span>
544
+ }
545
+ </div>
546
+ <span class="k-timeline-circle"></span>
547
+ </li>
548
+ }
549
+ }
550
+ </ul>
551
+ </div>
548
552
  </div>
549
553
  <div class="k-timeline-events-list">
554
+ @if (selectedEvent) {
550
555
  <ul
551
- *ngIf="selectedEvent"
552
- class="k-timeline-scrollable-wrap"
553
- [@eventsSlide]="{value: animationState, params: {animationDuration: this.animationDuration || 0}}"
554
- (@eventsSlide.done)="onSlideDone()"
555
- [ngStyle]="{'transform-origin': 'left top'}"
556
- >
557
- <li *ngFor="let event of eventsInInterval; let index = index"
558
- #card
559
- class="k-timeline-event"
560
- (transitionend)="onTransitionEnd()"
561
- >
562
- <kendo-timeline-card
563
- [event]="selectedCardIndex === index ? selectedEvent : null"
564
- [expanded]="true"
565
- [collapsible]="collapsibleEvents"
566
- [calloutStyle]="selectedCardIndex === index ? calloutStyle : {}"
567
- [ngStyle]="{visibility: selectedCardIndex === index ? 'visible' : 'hidden' }"
568
- [tabIndex]="selectedCardIndex === index ? '0' : '-1'"
569
- [navigable]="navigable"
570
- [index]="selectedEventIndex"
571
- [headerTemplate]="headerTemplate"
572
- [bodyTemplate]="bodyTemplate"
573
- [actionsTemplate]="actionsTemplate"
574
- [eventHeight]="eventHeight"
575
- orientation="horizontal"
556
+ class="k-timeline-scrollable-wrap"
557
+ [@eventsSlide]="{value: animationState, params: {animationDuration: this.animationDuration || 0}}"
558
+ (@eventsSlide.done)="onSlideDone()"
559
+ [ngStyle]="{'transform-origin': 'left top'}"
560
+ >
561
+ @for (event of eventsInInterval; track event; let index = $index) {
562
+ <li
563
+ #card
564
+ class="k-timeline-event"
565
+ (transitionend)="onTransitionEnd()"
566
+ >
567
+ <kendo-timeline-card
568
+ [event]="selectedCardIndex === index ? selectedEvent : null"
569
+ [expanded]="true"
570
+ [collapsible]="collapsibleEvents"
571
+ [calloutStyle]="selectedCardIndex === index ? calloutStyle : {}"
572
+ [ngStyle]="{visibility: selectedCardIndex === index ? 'visible' : 'hidden' }"
573
+ [tabIndex]="selectedCardIndex === index ? '0' : '-1'"
574
+ [navigable]="navigable"
575
+ [index]="selectedEventIndex"
576
+ [headerTemplate]="headerTemplate"
577
+ [bodyTemplate]="bodyTemplate"
578
+ [actionsTemplate]="actionsTemplate"
579
+ [eventHeight]="eventHeight"
580
+ orientation="horizontal"
576
581
  >
577
- </kendo-timeline-card>
582
+ </kendo-timeline-card>
578
583
  </li>
584
+ }
579
585
  </ul>
580
- <kendo-resize-sensor (resize)="onResize()" [rateLimit]="10"></kendo-resize-sensor>
586
+ }
587
+ <kendo-resize-sensor (resize)="onResize()" [rateLimit]="10"></kendo-resize-sensor>
581
588
  </div>
582
- `, isInline: true, dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: TimelineCardComponent, selector: "kendo-timeline-card", inputs: ["event", "expanded", "collapsible", "reversed", "orientation", "navigable", "tabIndex", "animationDuration", "index", "eventWidth", "eventHeight", "headerTemplate", "bodyTemplate", "actionsTemplate", "calloutStyle"], exportAs: ["kendoTimelineCard"] }, { kind: "pipe", type: DatePipe, name: "kendoDate" }, { kind: "component", type: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }], animations: [
589
+ `, isInline: true, dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: TimelineCardComponent, selector: "kendo-timeline-card", inputs: ["event", "expanded", "collapsible", "reversed", "orientation", "navigable", "tabIndex", "animationDuration", "index", "eventWidth", "eventHeight", "headerTemplate", "bodyTemplate", "actionsTemplate", "calloutStyle"], exportAs: ["kendoTimelineCard"] }, { kind: "pipe", type: DatePipe, name: "kendoDate" }, { kind: "component", type: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }], animations: [
583
590
  trigger('trackSlide', [
584
591
  state('left', style({
585
592
  transform: `translateX({{transformValue}}%)`,
@@ -630,105 +637,112 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
630
637
  selector: 'kendo-timeline-horizontal',
631
638
  template: `
632
639
  <div class="k-timeline-track-wrap" #track>
633
- <button
634
- kendoButton
635
- [svgIcon]="svgLeftIcon"
636
- icon="caret-alt-left"
637
- class="k-timeline-arrow k-timeline-arrow-left"
638
- rounded="full"
639
- [title]="previousTitle"
640
- (click)="previousClick()"
641
- [disabled]="isFirstRange"
642
- tabindex="-1"
643
- type="button"
644
- ></button>
645
- <button
646
- kendoButton
647
- [svgIcon]="svgRightIcon"
648
- icon="caret-alt-right"
649
- class="k-timeline-arrow k-timeline-arrow-right"
650
- rounded="full"
651
- [title]="nextTitle"
652
- (click)="nextClick()"
653
- [disabled]="isLastRange"
654
- tabindex="-1"
655
- type="button"
656
- ></button>
657
- <div class="k-timeline-track">
658
- <ul class="k-timeline-scrollable-wrap"
659
- #scrollableTrack
660
- [attr.role]="'tablist'"
661
- [attr.tabindex]="'0'"
662
- [@trackSlide]="{value: animationState, params: {transformValue: this.translateValue}}"
663
- (@trackSlide.done)="onSlideDone()"
664
- (transitionend)="onTrackTransitionEnd()"
665
- >
666
- <ng-container *ngFor="let event of trackItems; let index = index">
667
- <li
668
- #trackFlag
669
- *ngIf="event.isFlag"
670
- class="k-timeline-flag-wrap k-timeline-track-item"
671
- [attr.role]="'none'"
672
- [attr.aria-hidden]="true"
673
- [ngStyle]="tabStyle()"
674
- >
675
- <span class="k-timeline-flag">{{ event.isFlag }}</span>
676
- </li>
677
- <li
678
- *ngIf="!event.isFlag"
679
- #trackCircle
680
- class="k-timeline-track-item"
681
- [attr.role]="'tab'"
682
- (click)="navigateToEvent(index)"
683
- [ngStyle]="tabStyle()"
684
- >
685
- <div class="k-timeline-date-wrap">
686
- <span *ngIf="showDateLabels" class="k-timeline-date">
687
- {{ event.date | kendoDate: dateFormat }}
688
- </span>
689
- </div>
690
- <span class="k-timeline-circle"></span>
691
- </li>
692
- </ng-container>
693
- </ul>
694
- </div>
640
+ <button
641
+ kendoButton
642
+ [svgIcon]="svgLeftIcon"
643
+ icon="caret-alt-left"
644
+ class="k-timeline-arrow k-timeline-arrow-left"
645
+ rounded="full"
646
+ [title]="previousTitle"
647
+ (click)="previousClick()"
648
+ [disabled]="isFirstRange"
649
+ tabindex="-1"
650
+ type="button"
651
+ ></button>
652
+ <button
653
+ kendoButton
654
+ [svgIcon]="svgRightIcon"
655
+ icon="caret-alt-right"
656
+ class="k-timeline-arrow k-timeline-arrow-right"
657
+ rounded="full"
658
+ [title]="nextTitle"
659
+ (click)="nextClick()"
660
+ [disabled]="isLastRange"
661
+ tabindex="-1"
662
+ type="button"
663
+ ></button>
664
+ <div class="k-timeline-track">
665
+ <ul class="k-timeline-scrollable-wrap"
666
+ #scrollableTrack
667
+ [attr.role]="'tablist'"
668
+ [attr.tabindex]="'0'"
669
+ [@trackSlide]="{value: animationState, params: {transformValue: this.translateValue}}"
670
+ (@trackSlide.done)="onSlideDone()"
671
+ (transitionend)="onTrackTransitionEnd()"
672
+ >
673
+ @for (event of trackItems; track event; let index = $index) {
674
+ @if (event.isFlag) {
675
+ <li
676
+ #trackFlag
677
+ class="k-timeline-flag-wrap k-timeline-track-item"
678
+ [attr.role]="'none'"
679
+ [attr.aria-hidden]="true"
680
+ [ngStyle]="tabStyle()"
681
+ >
682
+ <span class="k-timeline-flag">{{ event.isFlag }}</span>
683
+ </li>
684
+ }
685
+ @if (!event.isFlag) {
686
+ <li
687
+ #trackCircle
688
+ class="k-timeline-track-item"
689
+ [attr.role]="'tab'"
690
+ (click)="navigateToEvent(index)"
691
+ [ngStyle]="tabStyle()"
692
+ >
693
+ <div class="k-timeline-date-wrap">
694
+ @if (showDateLabels) {
695
+ <span class="k-timeline-date">
696
+ {{ event.date | kendoDate: dateFormat }}
697
+ </span>
698
+ }
699
+ </div>
700
+ <span class="k-timeline-circle"></span>
701
+ </li>
702
+ }
703
+ }
704
+ </ul>
705
+ </div>
695
706
  </div>
696
707
  <div class="k-timeline-events-list">
708
+ @if (selectedEvent) {
697
709
  <ul
698
- *ngIf="selectedEvent"
699
- class="k-timeline-scrollable-wrap"
700
- [@eventsSlide]="{value: animationState, params: {animationDuration: this.animationDuration || 0}}"
701
- (@eventsSlide.done)="onSlideDone()"
702
- [ngStyle]="{'transform-origin': 'left top'}"
703
- >
704
- <li *ngFor="let event of eventsInInterval; let index = index"
705
- #card
706
- class="k-timeline-event"
707
- (transitionend)="onTransitionEnd()"
708
- >
709
- <kendo-timeline-card
710
- [event]="selectedCardIndex === index ? selectedEvent : null"
711
- [expanded]="true"
712
- [collapsible]="collapsibleEvents"
713
- [calloutStyle]="selectedCardIndex === index ? calloutStyle : {}"
714
- [ngStyle]="{visibility: selectedCardIndex === index ? 'visible' : 'hidden' }"
715
- [tabIndex]="selectedCardIndex === index ? '0' : '-1'"
716
- [navigable]="navigable"
717
- [index]="selectedEventIndex"
718
- [headerTemplate]="headerTemplate"
719
- [bodyTemplate]="bodyTemplate"
720
- [actionsTemplate]="actionsTemplate"
721
- [eventHeight]="eventHeight"
722
- orientation="horizontal"
710
+ class="k-timeline-scrollable-wrap"
711
+ [@eventsSlide]="{value: animationState, params: {animationDuration: this.animationDuration || 0}}"
712
+ (@eventsSlide.done)="onSlideDone()"
713
+ [ngStyle]="{'transform-origin': 'left top'}"
714
+ >
715
+ @for (event of eventsInInterval; track event; let index = $index) {
716
+ <li
717
+ #card
718
+ class="k-timeline-event"
719
+ (transitionend)="onTransitionEnd()"
720
+ >
721
+ <kendo-timeline-card
722
+ [event]="selectedCardIndex === index ? selectedEvent : null"
723
+ [expanded]="true"
724
+ [collapsible]="collapsibleEvents"
725
+ [calloutStyle]="selectedCardIndex === index ? calloutStyle : {}"
726
+ [ngStyle]="{visibility: selectedCardIndex === index ? 'visible' : 'hidden' }"
727
+ [tabIndex]="selectedCardIndex === index ? '0' : '-1'"
728
+ [navigable]="navigable"
729
+ [index]="selectedEventIndex"
730
+ [headerTemplate]="headerTemplate"
731
+ [bodyTemplate]="bodyTemplate"
732
+ [actionsTemplate]="actionsTemplate"
733
+ [eventHeight]="eventHeight"
734
+ orientation="horizontal"
723
735
  >
724
- </kendo-timeline-card>
736
+ </kendo-timeline-card>
725
737
  </li>
738
+ }
726
739
  </ul>
727
- <kendo-resize-sensor (resize)="onResize()" [rateLimit]="10"></kendo-resize-sensor>
740
+ }
741
+ <kendo-resize-sensor (resize)="onResize()" [rateLimit]="10"></kendo-resize-sensor>
728
742
  </div>
729
- `,
743
+ `,
730
744
  standalone: true,
731
- imports: [ButtonComponent, NgFor, NgIf, NgStyle, TimelineCardComponent, DatePipe, ResizeSensorComponent]
745
+ imports: [ButtonComponent, NgStyle, TimelineCardComponent, DatePipe, ResizeSensorComponent]
732
746
  }]
733
747
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i1.TimelineService }, { type: i2.LocalizationService }], propDecorators: { events: [{
734
748
  type: Input
@@ -10,7 +10,7 @@ import { TimelineCardBodyTemplateDirective } from './templates/timeline-card-bod
10
10
  import { TimelineCardHeaderTemplateDirective } from './templates/timeline-card-header.directive';
11
11
  import { TimelineCardActionsTemplateDirective } from './templates/timeline-card-actions.directive';
12
12
  import { DatePipe } from '@progress/kendo-angular-intl';
13
- import { NgIf, NgFor, NgClass } from '@angular/common';
13
+ import { NgClass } from '@angular/common';
14
14
  import * as i0 from "@angular/core";
15
15
  /**
16
16
  * @hidden
@@ -79,40 +79,46 @@ export class TimelineVerticalComponent {
79
79
  this.renderer.setAttribute(cardElement, 'aria-describedby', dateLabelId);
80
80
  }
81
81
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TimelineVerticalComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
82
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: TimelineVerticalComponent, isStandalone: true, selector: "kendo-timeline-vertical", inputs: { events: "events", alterMode: "alterMode", collapsibleEvents: "collapsibleEvents", navigable: "navigable", showDateLabels: "showDateLabels", animationDuration: "animationDuration", eventWidth: "eventWidth", dateFormat: "dateFormat", headerTemplate: "headerTemplate", bodyTemplate: "bodyTemplate", actionsTemplate: "actionsTemplate" }, providers: [], viewQueries: [{ propertyName: "cards", predicate: ["card"], descendants: true }, { propertyName: "dateElementRefs", predicate: ["dateWrap"], descendants: true }, { propertyName: "innerDateElementRefs", predicate: ["innerDate"], descendants: true }], exportAs: ["kendoTimelineVertical"], ngImport: i0, template: `
83
- <ul *ngIf="events && events.length > 0">
84
- <ng-container *ngFor="let event of events; let i = index">
85
- <li class="k-timeline-flag-wrap" *ngIf="event.flag">
86
- <span class="k-timeline-flag">{{ event.flag }}</span>
82
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TimelineVerticalComponent, isStandalone: true, selector: "kendo-timeline-vertical", inputs: { events: "events", alterMode: "alterMode", collapsibleEvents: "collapsibleEvents", navigable: "navigable", showDateLabels: "showDateLabels", animationDuration: "animationDuration", eventWidth: "eventWidth", dateFormat: "dateFormat", headerTemplate: "headerTemplate", bodyTemplate: "bodyTemplate", actionsTemplate: "actionsTemplate" }, providers: [], viewQueries: [{ propertyName: "cards", predicate: ["card"], descendants: true }, { propertyName: "dateElementRefs", predicate: ["dateWrap"], descendants: true }, { propertyName: "innerDateElementRefs", predicate: ["innerDate"], descendants: true }], exportAs: ["kendoTimelineVertical"], ngImport: i0, template: `
83
+ @if (events && events.length > 0) {
84
+ <ul>
85
+ @for (event of events; track event; let i = $index) {
86
+ @if (event.flag) {
87
+ <li class="k-timeline-flag-wrap">
88
+ <span class="k-timeline-flag">{{ event.flag }}</span>
87
89
  </li>
88
- <li class="k-timeline-event" [ngClass]="{ 'k-reverse': alterMode && i % 2 === 0 }">
89
- <div class="k-timeline-date-wrap" #dateWrap>
90
- <span *ngIf="showDateLabels" class="k-timeline-date" #innerDate>
91
- {{ event.date | kendoDate: dateFormat }}
92
- </span>
93
- </div>
94
- <span class="k-timeline-circle"></span>
95
- <kendo-timeline-card
96
- #card
97
- [event]="event"
98
- [expanded]="event.expanded || !collapsibleEvents"
99
- [collapsible]="collapsibleEvents"
100
- [reversed]="alterMode && i % 2 === 0"
101
- [tabIndex]="'0'"
102
- [navigable]="navigable"
103
- [animationDuration]="animationDuration"
104
- [headerTemplate]="headerTemplate"
105
- [bodyTemplate]="bodyTemplate"
106
- [actionsTemplate]="actionsTemplate"
107
- [index]="i"
108
- [eventWidth]="eventWidth"
109
- orientation="vertical"
110
- >
111
- </kendo-timeline-card>
112
- </li>
113
- </ng-container>
114
- </ul>
115
- `, 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: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: TimelineCardComponent, selector: "kendo-timeline-card", inputs: ["event", "expanded", "collapsible", "reversed", "orientation", "navigable", "tabIndex", "animationDuration", "index", "eventWidth", "eventHeight", "headerTemplate", "bodyTemplate", "actionsTemplate", "calloutStyle"], exportAs: ["kendoTimelineCard"] }, { kind: "pipe", type: DatePipe, name: "kendoDate" }] });
90
+ }
91
+ <li class="k-timeline-event" [ngClass]="{ 'k-reverse': alterMode && i % 2 === 0 }">
92
+ <div class="k-timeline-date-wrap" #dateWrap>
93
+ @if (showDateLabels) {
94
+ <span class="k-timeline-date" #innerDate>
95
+ {{ event.date | kendoDate: dateFormat }}
96
+ </span>
97
+ }
98
+ </div>
99
+ <span class="k-timeline-circle"></span>
100
+ <kendo-timeline-card
101
+ #card
102
+ [event]="event"
103
+ [expanded]="event.expanded || !collapsibleEvents"
104
+ [collapsible]="collapsibleEvents"
105
+ [reversed]="alterMode && i % 2 === 0"
106
+ [tabIndex]="'0'"
107
+ [navigable]="navigable"
108
+ [animationDuration]="animationDuration"
109
+ [headerTemplate]="headerTemplate"
110
+ [bodyTemplate]="bodyTemplate"
111
+ [actionsTemplate]="actionsTemplate"
112
+ [index]="i"
113
+ [eventWidth]="eventWidth"
114
+ orientation="vertical"
115
+ >
116
+ </kendo-timeline-card>
117
+ </li>
118
+ }
119
+ </ul>
120
+ }
121
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: TimelineCardComponent, selector: "kendo-timeline-card", inputs: ["event", "expanded", "collapsible", "reversed", "orientation", "navigable", "tabIndex", "animationDuration", "index", "eventWidth", "eventHeight", "headerTemplate", "bodyTemplate", "actionsTemplate", "calloutStyle"], exportAs: ["kendoTimelineCard"] }, { kind: "pipe", type: DatePipe, name: "kendoDate" }] });
116
122
  }
117
123
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TimelineVerticalComponent, decorators: [{
118
124
  type: Component,
@@ -121,41 +127,47 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
121
127
  exportAs: 'kendoTimelineVertical',
122
128
  selector: 'kendo-timeline-vertical',
123
129
  template: `
124
- <ul *ngIf="events && events.length > 0">
125
- <ng-container *ngFor="let event of events; let i = index">
126
- <li class="k-timeline-flag-wrap" *ngIf="event.flag">
127
- <span class="k-timeline-flag">{{ event.flag }}</span>
130
+ @if (events && events.length > 0) {
131
+ <ul>
132
+ @for (event of events; track event; let i = $index) {
133
+ @if (event.flag) {
134
+ <li class="k-timeline-flag-wrap">
135
+ <span class="k-timeline-flag">{{ event.flag }}</span>
128
136
  </li>
129
- <li class="k-timeline-event" [ngClass]="{ 'k-reverse': alterMode && i % 2 === 0 }">
130
- <div class="k-timeline-date-wrap" #dateWrap>
131
- <span *ngIf="showDateLabels" class="k-timeline-date" #innerDate>
132
- {{ event.date | kendoDate: dateFormat }}
133
- </span>
134
- </div>
135
- <span class="k-timeline-circle"></span>
136
- <kendo-timeline-card
137
- #card
138
- [event]="event"
139
- [expanded]="event.expanded || !collapsibleEvents"
140
- [collapsible]="collapsibleEvents"
141
- [reversed]="alterMode && i % 2 === 0"
142
- [tabIndex]="'0'"
143
- [navigable]="navigable"
144
- [animationDuration]="animationDuration"
145
- [headerTemplate]="headerTemplate"
146
- [bodyTemplate]="bodyTemplate"
147
- [actionsTemplate]="actionsTemplate"
148
- [index]="i"
149
- [eventWidth]="eventWidth"
150
- orientation="vertical"
151
- >
152
- </kendo-timeline-card>
153
- </li>
154
- </ng-container>
155
- </ul>
156
- `,
137
+ }
138
+ <li class="k-timeline-event" [ngClass]="{ 'k-reverse': alterMode && i % 2 === 0 }">
139
+ <div class="k-timeline-date-wrap" #dateWrap>
140
+ @if (showDateLabels) {
141
+ <span class="k-timeline-date" #innerDate>
142
+ {{ event.date | kendoDate: dateFormat }}
143
+ </span>
144
+ }
145
+ </div>
146
+ <span class="k-timeline-circle"></span>
147
+ <kendo-timeline-card
148
+ #card
149
+ [event]="event"
150
+ [expanded]="event.expanded || !collapsibleEvents"
151
+ [collapsible]="collapsibleEvents"
152
+ [reversed]="alterMode && i % 2 === 0"
153
+ [tabIndex]="'0'"
154
+ [navigable]="navigable"
155
+ [animationDuration]="animationDuration"
156
+ [headerTemplate]="headerTemplate"
157
+ [bodyTemplate]="bodyTemplate"
158
+ [actionsTemplate]="actionsTemplate"
159
+ [index]="i"
160
+ [eventWidth]="eventWidth"
161
+ orientation="vertical"
162
+ >
163
+ </kendo-timeline-card>
164
+ </li>
165
+ }
166
+ </ul>
167
+ }
168
+ `,
157
169
  standalone: true,
158
- imports: [NgIf, NgFor, NgClass, TimelineCardComponent, DatePipe]
170
+ imports: [NgClass, TimelineCardComponent, DatePipe]
159
171
  }]
160
172
  }], ctorParameters: () => [{ type: i0.Renderer2 }], propDecorators: { events: [{
161
173
  type: Input