@progress/kendo-angular-layout 24.0.0-develop.2 → 24.0.0-develop.21

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.
@@ -12,14 +12,14 @@ import { validatePackage } from '@progress/kendo-licensing';
12
12
  import * as i1$2 from '@angular/animations';
13
13
  import { trigger, state, style, transition, animate, AUTO_STYLE } from '@angular/animations';
14
14
  import { Subject, BehaviorSubject, Subscription, of } from 'rxjs';
15
- import { chevronUpIcon, chevronDownIcon, caretAltLeftIcon, caretAltRightIcon, caretAltUpIcon, caretAltDownIcon, xIcon, checkCircleIcon, exclamationCircleIcon, chevronRightIcon } from '@progress/kendo-svg-icons';
15
+ import { chevronUpIcon, chevronDownIcon, chevronLeftIcon, chevronRightIcon, xIcon, checkCircleIcon, exclamationCircleIcon } from '@progress/kendo-svg-icons';
16
16
  import { IconWrapperComponent } from '@progress/kendo-angular-icons';
17
17
  import { NgTemplateOutlet, NgStyle, NgClass } from '@angular/common';
18
18
  import { delay, takeUntil, map, tap, filter, switchMap, take } from 'rxjs/operators';
19
- import { ProgressBarComponent } from '@progress/kendo-angular-progressbar';
19
+ import { ProgressBarComponent, ProgressBarCustomMessagesComponent } from '@progress/kendo-angular-progressbar';
20
20
  import { Draggable } from '@progress/kendo-draggable';
21
- import { ButtonComponent } from '@progress/kendo-angular-buttons';
22
21
  import { DatePipe } from '@progress/kendo-angular-intl';
22
+ import { ButtonComponent } from '@progress/kendo-angular-buttons';
23
23
 
24
24
  /**
25
25
  * @hidden
@@ -29,8 +29,8 @@ const packageMetadata = {
29
29
  productName: 'Kendo UI for Angular',
30
30
  productCode: 'KENDOUIANGULAR',
31
31
  productCodes: ['KENDOUIANGULAR'],
32
- publishDate: 1776936085,
33
- version: '24.0.0-develop.2',
32
+ publishDate: 1778160952,
33
+ version: '24.0.0-develop.21',
34
34
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
35
35
  };
36
36
 
@@ -428,7 +428,7 @@ class PanelBarItemComponent {
428
428
  return (this.hasChildItems || this.hasContent) ? !this.disabled && this.expanded : null;
429
429
  }
430
430
  get ariaSelected() {
431
- return !this.disabled && this.selected;
431
+ return !this.disabled && (this.selected || this.expanded);
432
432
  }
433
433
  get ariaDisabled() {
434
434
  return this.disabled ? true : null;
@@ -669,8 +669,8 @@ class PanelBarItemComponent {
669
669
  <div
670
670
  #contentWrapper
671
671
  [@toggle]="state"
672
- [attr.role]="'group'"
673
- [attr.aria-hidden]="!disabled && !expanded"
672
+ [attr.role]="hasChildItems ? 'group' : null"
673
+ [attr.aria-hidden]="(!disabled && !expanded) || null"
674
674
  >
675
675
  @if (hasChildItems && !items?.length) {
676
676
  <div
@@ -843,8 +843,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
843
843
  <div
844
844
  #contentWrapper
845
845
  [@toggle]="state"
846
- [attr.role]="'group'"
847
- [attr.aria-hidden]="!disabled && !expanded"
846
+ [attr.role]="hasChildItems ? 'group' : null"
847
+ [attr.aria-hidden]="(!disabled && !expanded) || null"
848
848
  >
849
849
  @if (hasChildItems && !items?.length) {
850
850
  <div
@@ -1236,7 +1236,7 @@ class PanelBarComponent {
1236
1236
  hostClasses = true;
1237
1237
  tabIndex = 0;
1238
1238
  role = 'tree';
1239
- activeDescendant = '';
1239
+ activeDescendant = null;
1240
1240
  get hostHeight() {
1241
1241
  return this.expandMode === PanelBarExpandMode.Full ? this.height : 'auto';
1242
1242
  }
@@ -1369,7 +1369,7 @@ class PanelBarComponent {
1369
1369
  onComponentBlur() {
1370
1370
  this.eventService.onBlur();
1371
1371
  this.focused = false;
1372
- this.activeDescendant = '';
1372
+ this.activeDescendant = null;
1373
1373
  }
1374
1374
  /**
1375
1375
  * @hidden
@@ -1455,7 +1455,7 @@ class PanelBarComponent {
1455
1455
  if (currentItem.selected !== selectedState || currentItem.focused !== focusedState) {
1456
1456
  currentItem.selected = selectedState;
1457
1457
  currentItem.focused = focusedState;
1458
- this.activeDescendant = focusedState ? currentItem.itemId : '';
1458
+ this.activeDescendant = focusedState ? currentItem.itemId : null;
1459
1459
  modifiedItems.push(currentItem);
1460
1460
  }
1461
1461
  });
@@ -1466,7 +1466,7 @@ class PanelBarComponent {
1466
1466
  const focusedState = currentItem === item;
1467
1467
  if (currentItem.focused !== focusedState) {
1468
1468
  currentItem.focused = focusedState;
1469
- this.activeDescendant = focusedState ? currentItem.itemId : '';
1469
+ this.activeDescendant = focusedState ? currentItem.itemId : null;
1470
1470
  modifiedItems.push(currentItem);
1471
1471
  }
1472
1472
  });
@@ -2377,8 +2377,9 @@ class SplitterBarComponent {
2377
2377
  ariaLabel = 'Splitter pane';
2378
2378
  focused = false;
2379
2379
  get hostOrientation() {
2380
- return this.orientation === 'horizontal' ? 'vertical' : 'horizontal';
2380
+ return this.orientation === 'horizontal' ? 'vertical' : null;
2381
2381
  }
2382
+ ariaKeyShortcuts = 'ArrowLeft ArrowRight ArrowUp ArrowDown';
2382
2383
  get tabIndex() {
2383
2384
  return this.splitterService.isStatic(this.index) ? -1 : 0;
2384
2385
  }
@@ -2488,10 +2489,10 @@ class SplitterBarComponent {
2488
2489
  const isHorizontal = this.orientation === 'horizontal';
2489
2490
  const isRTL = this.direction === 'rtl';
2490
2491
  return classFromObject({
2491
- 'caret-alt-left': isCollapsible && isHorizontal && ((!isCollapsed && !isRTL) || (isCollapsed && isRTL)),
2492
- 'caret-alt-right': isCollapsible && isHorizontal && ((isCollapsed && !isRTL) || (!isCollapsed && isRTL)),
2493
- 'caret-alt-up': isCollapsible && !isHorizontal && !isCollapsed,
2494
- 'caret-alt-down': isCollapsible && !isHorizontal && isCollapsed
2492
+ 'chevron-left': isCollapsible && isHorizontal && ((!isCollapsed && !isRTL) || (isCollapsed && isRTL)),
2493
+ 'chevron-right': isCollapsible && isHorizontal && ((isCollapsed && !isRTL) || (!isCollapsed && isRTL)),
2494
+ 'chevron-up': isCollapsible && !isHorizontal && !isCollapsed,
2495
+ 'chevron-down': isCollapsible && !isHorizontal && isCollapsed
2495
2496
  });
2496
2497
  }
2497
2498
  previousSVGArrowClass() {
@@ -2501,16 +2502,16 @@ class SplitterBarComponent {
2501
2502
  const isHorizontal = this.orientation === 'horizontal';
2502
2503
  const isRTL = this.direction === 'rtl';
2503
2504
  if (isCollapsible && isHorizontal && ((!isCollapsed && !isRTL) || (isCollapsed && isRTL))) {
2504
- return caretAltLeftIcon;
2505
+ return chevronLeftIcon;
2505
2506
  }
2506
2507
  if (isCollapsible && isHorizontal && ((isCollapsed && !isRTL) || (!isCollapsed && isRTL))) {
2507
- return caretAltRightIcon;
2508
+ return chevronRightIcon;
2508
2509
  }
2509
2510
  if (isCollapsible && !isHorizontal && !isCollapsed) {
2510
- return caretAltUpIcon;
2511
+ return chevronUpIcon;
2511
2512
  }
2512
2513
  if (isCollapsible && !isHorizontal && isCollapsed) {
2513
- return caretAltDownIcon;
2514
+ return chevronDownIcon;
2514
2515
  }
2515
2516
  }
2516
2517
  nextArrowClass() {
@@ -2520,10 +2521,10 @@ class SplitterBarComponent {
2520
2521
  const isHorizontal = this.orientation === 'horizontal';
2521
2522
  const isRTL = this.direction === 'rtl';
2522
2523
  return classFromObject({
2523
- 'caret-alt-right': isCollapsible && isHorizontal && ((!isCollapsed && !isRTL) || (isCollapsed && isRTL)),
2524
- 'caret-alt-left': isCollapsible && isHorizontal && ((isCollapsed && !isRTL) || (!isCollapsed && isRTL)),
2525
- 'caret-alt-down': isCollapsible && !isHorizontal && !isCollapsed,
2526
- 'caret-alt-up': isCollapsible && !isHorizontal && isCollapsed
2524
+ 'chevron-right': isCollapsible && isHorizontal && ((!isCollapsed && !isRTL) || (isCollapsed && isRTL)),
2525
+ 'chevron-left': isCollapsible && isHorizontal && ((isCollapsed && !isRTL) || (!isCollapsed && isRTL)),
2526
+ 'chevron-down': isCollapsible && !isHorizontal && !isCollapsed,
2527
+ 'chevron-up': isCollapsible && !isHorizontal && isCollapsed
2527
2528
  });
2528
2529
  }
2529
2530
  nextSVGArrowClass() {
@@ -2533,16 +2534,16 @@ class SplitterBarComponent {
2533
2534
  const isHorizontal = this.orientation === 'horizontal';
2534
2535
  const isRTL = this.direction === 'rtl';
2535
2536
  if (isCollapsible && isHorizontal && ((!isCollapsed && !isRTL) || (isCollapsed && isRTL))) {
2536
- return caretAltRightIcon;
2537
+ return chevronRightIcon;
2537
2538
  }
2538
2539
  if (isCollapsible && isHorizontal && ((isCollapsed && !isRTL) || (!isCollapsed && isRTL))) {
2539
- return caretAltLeftIcon;
2540
+ return chevronLeftIcon;
2540
2541
  }
2541
2542
  if (isCollapsible && !isHorizontal && !isCollapsed) {
2542
- return caretAltDownIcon;
2543
+ return chevronDownIcon;
2543
2544
  }
2544
2545
  if (isCollapsible && !isHorizontal && isCollapsed) {
2545
- return caretAltUpIcon;
2546
+ return chevronUpIcon;
2546
2547
  }
2547
2548
  }
2548
2549
  togglePane() {
@@ -2587,7 +2588,7 @@ class SplitterBarComponent {
2587
2588
  setHTMLAttributes(attributesToRender, this.renderer, this.element.nativeElement);
2588
2589
  }
2589
2590
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: SplitterBarComponent, deps: [{ token: i1$1.DraggableDirective, host: true }, { token: i1.LocalizationService }, { token: SplitterService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
2590
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: SplitterBarComponent, isStandalone: true, selector: "kendo-splitter-bar", inputs: { orientation: "orientation", index: "index", htmlAttributes: "htmlAttributes" }, host: { properties: { "attr.role": "this.ariaRole", "attr.aria-label": "this.ariaLabel", "class.k-focus": "this.focused", "attr.aria-orientation": "this.hostOrientation", "attr.tabindex": "this.tabIndex", "class": "this.hostClasses", "style.-ms-flex-order": "this.order", "style.order": "this.order" } }, ngImport: i0, template: `
2591
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: SplitterBarComponent, isStandalone: true, selector: "kendo-splitter-bar", inputs: { orientation: "orientation", index: "index", htmlAttributes: "htmlAttributes" }, host: { properties: { "attr.role": "this.ariaRole", "attr.aria-label": "this.ariaLabel", "class.k-focus": "this.focused", "attr.aria-orientation": "this.hostOrientation", "attr.aria-keyshortcuts": "this.ariaKeyShortcuts", "attr.tabindex": "this.tabIndex", "class": "this.hostClasses", "style.-ms-flex-order": "this.order", "style.order": "this.order" } }, ngImport: i0, template: `
2591
2592
  @if (shouldShowIcon('prev')) {
2592
2593
  <div class="k-collapse-prev" (click)="togglePrevious()">
2593
2594
  <kendo-icon-wrapper
@@ -2597,7 +2598,7 @@ class SplitterBarComponent {
2597
2598
  ></kendo-icon-wrapper>
2598
2599
  </div>
2599
2600
  }
2600
- <div class="k-resize-handle"></div>
2601
+ <div class="k-resize-handle" aria-hidden="true"></div>
2601
2602
  @if (shouldShowIcon('next')) {
2602
2603
  <div class="k-collapse-next" (click)="toggleNext()">
2603
2604
  <kendo-icon-wrapper
@@ -2623,7 +2624,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
2623
2624
  ></kendo-icon-wrapper>
2624
2625
  </div>
2625
2626
  }
2626
- <div class="k-resize-handle"></div>
2627
+ <div class="k-resize-handle" aria-hidden="true"></div>
2627
2628
  @if (shouldShowIcon('next')) {
2628
2629
  <div class="k-collapse-next" (click)="toggleNext()">
2629
2630
  <kendo-icon-wrapper
@@ -2651,6 +2652,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
2651
2652
  }], hostOrientation: [{
2652
2653
  type: HostBinding,
2653
2654
  args: ['attr.aria-orientation']
2655
+ }], ariaKeyShortcuts: [{
2656
+ type: HostBinding,
2657
+ args: ['attr.aria-keyshortcuts']
2654
2658
  }], tabIndex: [{
2655
2659
  type: HostBinding,
2656
2660
  args: ['attr.tabindex']
@@ -3500,10 +3504,10 @@ const HIDDEN_CLASS = 'k-hidden';
3500
3504
  * @hidden
3501
3505
  */
3502
3506
  const DIRECTION_CLASSES = {
3503
- left: 'caret-alt-left',
3504
- right: 'caret-alt-right',
3505
- up: 'caret-alt-up',
3506
- down: 'caret-alt-down'
3507
+ left: 'chevron-left',
3508
+ right: 'chevron-right',
3509
+ up: 'chevron-up',
3510
+ down: 'chevron-down'
3507
3511
  };
3508
3512
  /**
3509
3513
  * @hidden
@@ -3725,10 +3729,10 @@ class TabStripScrollableButtonComponent {
3725
3729
  get svgIcon() {
3726
3730
  return this.scrollButtonSVGIcon;
3727
3731
  }
3728
- caretAltLeftIcon = caretAltLeftIcon;
3729
- caretAltRightIcon = caretAltRightIcon;
3730
- caretAltUpIcon = caretAltUpIcon;
3731
- caretAltDownIcon = caretAltDownIcon;
3732
+ chevronLeftIcon = chevronLeftIcon;
3733
+ chevronRightIcon = chevronRightIcon;
3734
+ chevronUpIcon = chevronUpIcon;
3735
+ chevronDownIcon = chevronDownIcon;
3732
3736
  subs = new Subscription();
3733
3737
  constructor(host, renderer, ngZone, localization) {
3734
3738
  this.host = host;
@@ -3757,16 +3761,22 @@ class TabStripScrollableButtonComponent {
3757
3761
  this.onClick.emit(buttonType);
3758
3762
  };
3759
3763
  get scrollButtonIconClass() {
3760
- const defaultPrevIcon = isTablistHorizontal(this.tabPosition) ?
3761
- !this.localization.rtl ?
3762
- DIRECTION_CLASSES.left :
3763
- DIRECTION_CLASSES.right :
3764
- DIRECTION_CLASSES.up;
3765
- const defaultNextIcon = isTablistHorizontal(this.tabPosition) ?
3766
- !this.localization.rtl ?
3767
- DIRECTION_CLASSES.right :
3768
- DIRECTION_CLASSES.left :
3769
- DIRECTION_CLASSES.down;
3764
+ const horizontal = isTablistHorizontal(this.tabPosition);
3765
+ const rtl = this.localization.rtl;
3766
+ let defaultPrevIcon;
3767
+ if (!horizontal) {
3768
+ defaultPrevIcon = DIRECTION_CLASSES.up;
3769
+ }
3770
+ else {
3771
+ defaultPrevIcon = rtl ? DIRECTION_CLASSES.right : DIRECTION_CLASSES.left;
3772
+ }
3773
+ let defaultNextIcon;
3774
+ if (!horizontal) {
3775
+ defaultNextIcon = DIRECTION_CLASSES.down;
3776
+ }
3777
+ else {
3778
+ defaultNextIcon = rtl ? DIRECTION_CLASSES.left : DIRECTION_CLASSES.right;
3779
+ }
3770
3780
  if (typeof this.scrollable === 'object') {
3771
3781
  const prevIcon = typeof this.scrollable.prevButtonIcon === 'undefined' ? defaultPrevIcon : '';
3772
3782
  const nextIcon = typeof this.scrollable.nextButtonIcon === 'undefined' ? defaultNextIcon : '';
@@ -3791,16 +3801,22 @@ class TabStripScrollableButtonComponent {
3791
3801
  }
3792
3802
  }
3793
3803
  get scrollButtonSVGIcon() {
3794
- const defaultPrevSVGIcon = isTablistHorizontal(this.tabPosition) ?
3795
- !this.localization.rtl ?
3796
- this.caretAltLeftIcon :
3797
- this.caretAltRightIcon :
3798
- this.caretAltUpIcon;
3799
- const defaultNextSVGIcon = isTablistHorizontal(this.tabPosition) ?
3800
- !this.localization.rtl ?
3801
- this.caretAltRightIcon :
3802
- this.caretAltLeftIcon :
3803
- this.caretAltDownIcon;
3804
+ const horizontal = isTablistHorizontal(this.tabPosition);
3805
+ const rtl = this.localization.rtl;
3806
+ let defaultPrevSVGIcon;
3807
+ if (!horizontal) {
3808
+ defaultPrevSVGIcon = this.chevronUpIcon;
3809
+ }
3810
+ else {
3811
+ defaultPrevSVGIcon = rtl ? this.chevronRightIcon : this.chevronLeftIcon;
3812
+ }
3813
+ let defaultNextSVGIcon;
3814
+ if (!horizontal) {
3815
+ defaultNextSVGIcon = this.chevronDownIcon;
3816
+ }
3817
+ else {
3818
+ defaultNextSVGIcon = rtl ? this.chevronLeftIcon : this.chevronRightIcon;
3819
+ }
3804
3820
  if (typeof this.scrollable === 'object') {
3805
3821
  const prevIcon = this.scrollable.prevSVGButtonIcon !== undefined ? this.scrollable.prevSVGButtonIcon : defaultPrevSVGIcon;
3806
3822
  const nextIcon = this.scrollable.nextSVGButtonIcon !== undefined ? this.scrollable.nextSVGButtonIcon : defaultNextSVGIcon;
@@ -3878,7 +3894,7 @@ class TabComponent {
3878
3894
  return this.tab.selected;
3879
3895
  }
3880
3896
  get disabledClass() {
3881
- return this.tab.disabled;
3897
+ return this.tab.disabled || null;
3882
3898
  }
3883
3899
  get focusedClass() {
3884
3900
  return this.tab.focused;
@@ -3950,7 +3966,7 @@ class TabComponent {
3950
3966
  }
3951
3967
 
3952
3968
  @if (tabClosable) {
3953
- <span class="k-remove-tab k-icon-button k-button k-button-md k-rounded-md k-button-flat-base k-button-flat"
3969
+ <span class="k-remove-tab k-icon-button k-button k-button-xs k-rounded-md k-button-flat-base k-button-flat"
3954
3970
  (click)="closeTab(index)" [title]="closeButtonTitle">
3955
3971
  <kendo-icon-wrapper
3956
3972
  [svgIcon]="closeSVGIconClass" [name]="closeIconClasses"
@@ -3982,7 +3998,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
3982
3998
  }
3983
3999
 
3984
4000
  @if (tabClosable) {
3985
- <span class="k-remove-tab k-icon-button k-button k-button-md k-rounded-md k-button-flat-base k-button-flat"
4001
+ <span class="k-remove-tab k-icon-button k-button k-button-xs k-rounded-md k-button-flat-base k-button-flat"
3986
4002
  (click)="closeTab(index)" [title]="closeButtonTitle">
3987
4003
  <kendo-icon-wrapper
3988
4004
  [svgIcon]="closeSVGIconClass" [name]="closeIconClasses"
@@ -4657,7 +4673,7 @@ class TabStripComponent {
4657
4673
  'k-tabstrip-items-justify': tabAlignment === 'justify',
4658
4674
  'k-tabstrip-items-scroll': mouseScrollEnabled
4659
4675
  }"
4660
- [attr.aria-orientation]="tabPosition === 'left' || tabPosition === 'right' ? 'vertical' : 'horizontal'"
4676
+ [attr.aria-orientation]="tabPosition === 'left' || tabPosition === 'right' ? 'vertical' : null"
4661
4677
  >
4662
4678
  @for (tab of tabs; track tab; let i = $index) {
4663
4679
  <li
@@ -4728,9 +4744,9 @@ class TabStripComponent {
4728
4744
  [tabIndex]="0"
4729
4745
  role="tabpanel"
4730
4746
  [id]="getTabPanelId(i)"
4731
- [attr.aria-hidden]="!tab.selected"
4747
+ [attr.aria-hidden]="!tab.selected || null"
4732
4748
  [attr.aria-labelledby]="getTabId(i)"
4733
- [attr.aria-disabled]="tab.disabled"
4749
+ [attr.aria-disabled]="tab.disabled || null"
4734
4750
  >
4735
4751
  <ng-template [ngTemplateOutlet]="tab.tabContent?.templateRef"></ng-template>
4736
4752
  </div>
@@ -4850,7 +4866,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
4850
4866
  'k-tabstrip-items-justify': tabAlignment === 'justify',
4851
4867
  'k-tabstrip-items-scroll': mouseScrollEnabled
4852
4868
  }"
4853
- [attr.aria-orientation]="tabPosition === 'left' || tabPosition === 'right' ? 'vertical' : 'horizontal'"
4869
+ [attr.aria-orientation]="tabPosition === 'left' || tabPosition === 'right' ? 'vertical' : null"
4854
4870
  >
4855
4871
  @for (tab of tabs; track tab; let i = $index) {
4856
4872
  <li
@@ -4921,9 +4937,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
4921
4937
  [tabIndex]="0"
4922
4938
  role="tabpanel"
4923
4939
  [id]="getTabPanelId(i)"
4924
- [attr.aria-hidden]="!tab.selected"
4940
+ [attr.aria-hidden]="!tab.selected || null"
4925
4941
  [attr.aria-labelledby]="getTabId(i)"
4926
- [attr.aria-disabled]="tab.disabled"
4942
+ [attr.aria-disabled]="tab.disabled || null"
4927
4943
  >
4928
4944
  <ng-template [ngTemplateOutlet]="tab.tabContent?.templateRef"></ng-template>
4929
4945
  </div>
@@ -5344,20 +5360,20 @@ function collapsePush(duration, width) {
5344
5360
  /**
5345
5361
  * @hidden
5346
5362
  */
5347
- function expandRTLOverlay(duration) {
5363
+ function expandRTLOverlay(duration, width) {
5348
5364
  return [
5349
- style({ transform: `translateX(100%)` }),
5350
- animate(`${duration}ms ease-in`, style({ overflow: 'hidden', transform: `translateX(0)` }))
5365
+ style({ marginRight: `-${width}px` }),
5366
+ animate(`${duration}ms ease-in`, style({ overflow: 'hidden', marginRight: `0px` }))
5351
5367
  ];
5352
5368
  }
5353
5369
  /**
5354
5370
  * @hidden
5355
5371
  */
5356
- function expandOverlay(duration, position) {
5357
- const translateDir = position !== 'end' ? `-100%` : `100%`;
5372
+ function expandOverlay(duration, width, position) {
5373
+ const marginProp = position !== 'end' ? 'marginLeft' : 'marginRight';
5358
5374
  return [
5359
- style({ transform: `translateX(${translateDir})` }),
5360
- animate(`${duration}ms ease-in`, style({ overflow: 'hidden', transform: `translateX(0)` }))
5375
+ style({ [marginProp]: `-${width}px` }),
5376
+ animate(`${duration}ms ease-in`, style({ overflow: 'hidden', [marginProp]: `0px` }))
5361
5377
  ];
5362
5378
  }
5363
5379
  /**
@@ -5372,20 +5388,20 @@ function miniCollapseOverlay(duration, width, miniWidth) {
5372
5388
  /**
5373
5389
  * @hidden
5374
5390
  */
5375
- function collapseOverlay(duration, position) {
5376
- const translateDir = position !== 'end' ? '-100%' : '100%';
5391
+ function collapseOverlay(duration, width, position) {
5392
+ const marginProp = position !== 'end' ? 'marginLeft' : 'marginRight';
5377
5393
  return [
5378
- style({ transform: `translateX(0)` }),
5379
- animate(`${duration}ms ease-in`, style({ overflow: 'hidden', transform: `translateX(${translateDir})` }))
5394
+ style({ [marginProp]: `0px` }),
5395
+ animate(`${duration}ms ease-in`, style({ overflow: 'hidden', [marginProp]: `-${width}px` }))
5380
5396
  ];
5381
5397
  }
5382
5398
  /**
5383
5399
  * @hidden
5384
5400
  */
5385
- function collapseRTLOverlay(duration) {
5401
+ function collapseRTLOverlay(duration, width) {
5386
5402
  return [
5387
- style({ transform: `translateX(0)` }),
5388
- animate(`${duration}ms ease-in`, style({ overflow: 'hidden', transform: `translateX(100%)` }))
5403
+ style({ marginRight: `0px` }),
5404
+ animate(`${duration}ms ease-in`, style({ overflow: 'hidden', marginRight: `-${width}px` }))
5389
5405
  ];
5390
5406
  }
5391
5407
  /**
@@ -5406,7 +5422,7 @@ function expandAnimation(settings) {
5406
5422
  return expandPush(duration, width);
5407
5423
  }
5408
5424
  if (!mini && mode === 'overlay') {
5409
- return rtl ? expandRTLOverlay(duration) : expandOverlay(duration, position);
5425
+ return rtl ? expandRTLOverlay(duration, width) : expandOverlay(duration, width, position);
5410
5426
  }
5411
5427
  if (mini && mode === 'overlay') {
5412
5428
  return miniExpandOverlay(duration, width, miniWidth);
@@ -5430,7 +5446,7 @@ function collapseAnimation(settings) {
5430
5446
  return collapsePush(duration, width);
5431
5447
  }
5432
5448
  if (!mini && mode === 'overlay') {
5433
- return rtl ? collapseRTLOverlay(duration) : collapseOverlay(duration, position);
5449
+ return rtl ? collapseRTLOverlay(duration, width) : collapseOverlay(duration, width, position);
5434
5450
  }
5435
5451
  if (mini && mode === 'overlay') {
5436
5452
  return miniCollapseOverlay(duration, width, miniWidth);
@@ -5776,7 +5792,7 @@ class DrawerListComponent {
5776
5792
  }
5777
5793
  }
5778
5794
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: DrawerListComponent, deps: [{ token: DrawerService }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
5779
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: DrawerListComponent, isStandalone: true, selector: "[kendoDrawerList]", inputs: { itemTemplate: "itemTemplate", mini: "mini", expanded: "expanded", view: "view" }, outputs: { select: "select", viewChange: "viewChange" }, viewQueries: [{ propertyName: "items", predicate: DrawerItemComponent, descendants: true, read: ElementRef }], ngImport: i0, template: "\n @for (v of view; track identifyItem(idx, v); let idx = $index) {\n @if (!v.item.separator) {\n <li kendoDrawerItem\n class=\"k-drawer-item {{expanded ? ' k-level-' + v.level : ''}}\"\n role=\"menuitem\"\n [viewItem]=\"v\"\n [index]=\"idx\"\n [mini]=\"mini\"\n [expanded]=\"expanded\"\n [itemTemplate]=\"itemTemplate\"\n [attr.data-kendo-drawer-index]=\"v.index\"\n [ngClass]=\"v.item.cssClass\"\n [ngStyle]=\"v.item.cssStyle\"\n [tabindex]=\"v.index === 0 ? '0' : '-1'\">\n </li>\n }\n @if (v.item.separator) {\n <li\n role=\"separator\"\n class=\"k-drawer-item k-drawer-separator\"\n [ngClass]=\"v.item.cssClass\"\n [ngStyle]=\"v.item.cssStyle\">\n &nbsp;\n </li>\n }\n }\n ", isInline: true, dependencies: [{ kind: "component", type: DrawerItemComponent, selector: "[kendoDrawerItem]", inputs: ["viewItem", "index", "itemTemplate", "mini", "expanded", "disabled", "cssClass", "cssStyle"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
5795
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: DrawerListComponent, isStandalone: true, selector: "[kendoDrawerList]", inputs: { itemTemplate: "itemTemplate", mini: "mini", expanded: "expanded", view: "view" }, outputs: { select: "select", viewChange: "viewChange" }, viewQueries: [{ propertyName: "items", predicate: DrawerItemComponent, descendants: true, read: ElementRef }], ngImport: i0, template: "\n @for (v of view; track identifyItem(idx, v); let idx = $index) {\n @if (!v.item.separator) {\n <li kendoDrawerItem\n class=\"k-drawer-item {{expanded ? ' k-level-' + v.level : ''}}\"\n role=\"menuitem\"\n [viewItem]=\"v\"\n [index]=\"idx\"\n [mini]=\"mini\"\n [expanded]=\"expanded\"\n [itemTemplate]=\"itemTemplate\"\n [attr.data-kendo-drawer-index]=\"v.index\"\n [ngClass]=\"v.item.cssClass\"\n [ngStyle]=\"v.item.cssStyle\"\n [tabindex]=\"v.index === 0 ? '0' : '-1'\">\n </li>\n }\n @if (v.item.separator) {\n <li\n role=\"separator\"\n class=\"k-drawer-item k-drawer-separator\"\n [ngClass]=\"v.item.cssClass\"\n [ngStyle]=\"v.item.cssStyle\">\n </li>\n }\n }\n ", isInline: true, dependencies: [{ kind: "component", type: DrawerItemComponent, selector: "[kendoDrawerItem]", inputs: ["viewItem", "index", "itemTemplate", "mini", "expanded", "disabled", "cssClass", "cssStyle"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
5780
5796
  }
5781
5797
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: DrawerListComponent, decorators: [{
5782
5798
  type: Component,
@@ -5805,7 +5821,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
5805
5821
  class="k-drawer-item k-drawer-separator"
5806
5822
  [ngClass]="v.item.cssClass"
5807
5823
  [ngStyle]="v.item.cssStyle">
5808
- &nbsp;
5809
5824
  </li>
5810
5825
  }
5811
5826
  }
@@ -5873,14 +5888,23 @@ class DrawerComponent {
5873
5888
  get endPositionClass() {
5874
5889
  return this.position === 'end';
5875
5890
  }
5876
- get overlayTransofrmStyles() {
5877
- if (this.mode === 'push') {
5878
- return;
5891
+ get overlayMarginLeft() {
5892
+ if (!this.shouldApplyOverlayMargin()) {
5893
+ return null;
5894
+ }
5895
+ if (this.rtl || this.position === 'end') {
5896
+ return null;
5879
5897
  }
5880
- if (this.expanded || this.minimized) {
5881
- return `translateX(0px)`;
5898
+ return `-${this.drawerWidth}px`;
5899
+ }
5900
+ get overlayMarginRight() {
5901
+ if (!this.shouldApplyOverlayMargin()) {
5902
+ return null;
5903
+ }
5904
+ if (!this.rtl && this.position !== 'end') {
5905
+ return null;
5882
5906
  }
5883
- return `translateX(-100%)`;
5907
+ return `-${this.drawerWidth}px`;
5884
5908
  }
5885
5909
  get flexStyles() {
5886
5910
  if (this.mode === 'overlay') {
@@ -6095,6 +6119,9 @@ class DrawerComponent {
6095
6119
  this.expanded = value;
6096
6120
  this.expandedChange.emit(value);
6097
6121
  }
6122
+ shouldApplyOverlayMargin() {
6123
+ return this.mode !== 'push' && !this.expanded && !this.minimized;
6124
+ }
6098
6125
  animate(expanded) {
6099
6126
  const settings = {
6100
6127
  mode: this.mode,
@@ -6122,7 +6149,7 @@ class DrawerComponent {
6122
6149
  return player;
6123
6150
  }
6124
6151
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: DrawerComponent, deps: [{ token: i0.ElementRef }, { token: i1$2.AnimationBuilder }, { token: i1.LocalizationService }, { token: DrawerService }], target: i0.ɵɵFactoryTarget.Component });
6125
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: DrawerComponent, isStandalone: true, selector: "kendo-drawer", inputs: { mode: "mode", position: "position", mini: "mini", expanded: "expanded", width: "width", miniWidth: "miniWidth", autoCollapse: "autoCollapse", items: "items", isItemExpanded: "isItemExpanded", animation: "animation" }, outputs: { expand: "expand", collapse: "collapse", select: "select", expandedChange: "expandedChange" }, host: { properties: { "class.k-drawer": "this.hostClasses", "class.k-drawer-start": "this.startPositionClass", "class.k-drawer-end": "this.endPositionClass", "style.transform": "this.overlayTransofrmStyles", "style.flexBasis.px": "this.flexStyles", "attr.dir": "this.direction" } }, providers: [
6152
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: DrawerComponent, isStandalone: true, selector: "kendo-drawer", inputs: { mode: "mode", position: "position", mini: "mini", expanded: "expanded", width: "width", miniWidth: "miniWidth", autoCollapse: "autoCollapse", items: "items", isItemExpanded: "isItemExpanded", animation: "animation" }, outputs: { expand: "expand", collapse: "collapse", select: "select", expandedChange: "expandedChange" }, host: { properties: { "class.k-drawer": "this.hostClasses", "class.k-drawer-start": "this.startPositionClass", "class.k-drawer-end": "this.endPositionClass", "style.marginLeft": "this.overlayMarginLeft", "style.marginRight": "this.overlayMarginRight", "style.flexBasis.px": "this.flexStyles", "attr.dir": "this.direction" } }, providers: [
6126
6153
  LocalizationService,
6127
6154
  DrawerService,
6128
6155
  {
@@ -6229,9 +6256,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
6229
6256
  }], endPositionClass: [{
6230
6257
  type: HostBinding,
6231
6258
  args: ['class.k-drawer-end']
6232
- }], overlayTransofrmStyles: [{
6259
+ }], overlayMarginLeft: [{
6260
+ type: HostBinding,
6261
+ args: ['style.marginLeft']
6262
+ }], overlayMarginRight: [{
6233
6263
  type: HostBinding,
6234
- args: ['style.transform']
6264
+ args: ['style.marginRight']
6235
6265
  }], flexStyles: [{
6236
6266
  type: HostBinding,
6237
6267
  args: ['style.flexBasis.px']
@@ -6942,6 +6972,7 @@ class StepperStepComponent {
6942
6972
  <a href='#' class='k-step-link' #stepLink
6943
6973
  [attr.tabindex]='tabIndexAttr'
6944
6974
  [attr.title]='step.label'
6975
+ [attr.aria-label]='step.label'
6945
6976
  [attr.aria-disabled]='step.disabled'
6946
6977
  [attr.aria-current]='index === current ? "step" : null'
6947
6978
  (focus)='onFocus()'
@@ -6957,7 +6988,6 @@ class StepperStepComponent {
6957
6988
  @if (showIndicator) {
6958
6989
  <span
6959
6990
  class='k-step-indicator'
6960
- aria-hidden='true'
6961
6991
  [style.transition-duration.ms]='transitionDuration'
6962
6992
  >
6963
6993
  @if (indicatorTemplate) {
@@ -7021,6 +7051,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
7021
7051
  <a href='#' class='k-step-link' #stepLink
7022
7052
  [attr.tabindex]='tabIndexAttr'
7023
7053
  [attr.title]='step.label'
7054
+ [attr.aria-label]='step.label'
7024
7055
  [attr.aria-disabled]='step.disabled'
7025
7056
  [attr.aria-current]='index === current ? "step" : null'
7026
7057
  (focus)='onFocus()'
@@ -7036,7 +7067,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
7036
7067
  @if (showIndicator) {
7037
7068
  <span
7038
7069
  class='k-step-indicator'
7039
- aria-hidden='true'
7040
7070
  [style.transition-duration.ms]='transitionDuration'
7041
7071
  >
7042
7072
  @if (indicatorTemplate) {
@@ -7647,9 +7677,10 @@ class StepperComponent {
7647
7677
  [reverse]='!isHorizontal'
7648
7678
  [value]='currentStep'
7649
7679
  [ngStyle]='progressBarStyling'>
7680
+ <kendo-progressbar-messages progressBarLabel="progress"></kendo-progressbar-messages>
7650
7681
  </kendo-progressbar>
7651
7682
  }
7652
- `, 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"] }] });
7683
+ `, 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"] }, { kind: "component", type: ProgressBarCustomMessagesComponent, selector: "kendo-progressbar-messages" }] });
7653
7684
  }
7654
7685
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: StepperComponent, decorators: [{
7655
7686
  type: Component,
@@ -7702,11 +7733,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
7702
7733
  [reverse]='!isHorizontal'
7703
7734
  [value]='currentStep'
7704
7735
  [ngStyle]='progressBarStyling'>
7736
+ <kendo-progressbar-messages progressBarLabel="progress"></kendo-progressbar-messages>
7705
7737
  </kendo-progressbar>
7706
7738
  }
7707
7739
  `,
7708
7740
  standalone: true,
7709
- imports: [LocalizedStepperMessagesDirective, StepperListComponent, NgStyle, ProgressBarComponent]
7741
+ imports: [LocalizedStepperMessagesDirective, StepperListComponent, NgStyle, ProgressBarComponent, ProgressBarCustomMessagesComponent]
7710
7742
  }]
7711
7743
  }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.LocalizationService }, { type: StepperService }], propDecorators: { hostClasses: [{
7712
7744
  type: HostBinding,
@@ -8058,7 +8090,7 @@ class AvatarComponent {
8058
8090
  _fillMode = undefined;
8059
8091
  _rounded = undefined;
8060
8092
  _svgIcon;
8061
- _themeColorClasses = ['k-avatar-primary', 'k-avatar-secondary', 'k-avatar-tertiary', 'k-avatar-base', 'k-avatar-info', 'k-avatar-success', 'k-avatar-warning', 'k-avatar-error', 'k-avatar-dark', 'k-avatar-light', 'k-avatar-inverse'];
8093
+ _themeColorClasses = ['k-avatar-primary', 'k-avatar-secondary', 'k-avatar-tertiary', 'k-avatar-base'];
8062
8094
  constructor(localization, renderer, element) {
8063
8095
  this.localization = localization;
8064
8096
  this.renderer = renderer;
@@ -9027,6 +9059,9 @@ class ExpansionPanelComponent {
9027
9059
  get expandedClass() {
9028
9060
  return this.expanded && !this.disabled;
9029
9061
  }
9062
+ get disabledClass() {
9063
+ return this.disabled;
9064
+ }
9030
9065
  direction;
9031
9066
  /**
9032
9067
  * @hidden
@@ -9232,7 +9267,7 @@ class ExpansionPanelComponent {
9232
9267
  this.renderer.removeClass(this.content.nativeElement, CONTENT_HIDDEN_CLASS);
9233
9268
  }
9234
9269
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: ExpansionPanelComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.LocalizationService }, { token: i1$2.AnimationBuilder }], target: i0.ɵɵFactoryTarget.Component });
9235
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: ExpansionPanelComponent, isStandalone: true, selector: "kendo-expansionpanel", inputs: { title: "title", subtitle: "subtitle", disabled: "disabled", expanded: "expanded", svgExpandIcon: "svgExpandIcon", svgCollapseIcon: "svgCollapseIcon", expandIcon: "expandIcon", collapseIcon: "collapseIcon", animation: "animation" }, outputs: { expandedChange: "expandedChange", action: "action", expand: "expand", collapse: "collapse" }, host: { properties: { "class.k-expander": "this.hostClass", "class.k-expanded": "this.expandedClass", "attr.dir": "this.direction" } }, providers: [
9270
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: ExpansionPanelComponent, isStandalone: true, selector: "kendo-expansionpanel", inputs: { title: "title", subtitle: "subtitle", disabled: "disabled", expanded: "expanded", svgExpandIcon: "svgExpandIcon", svgCollapseIcon: "svgCollapseIcon", expandIcon: "expandIcon", collapseIcon: "collapseIcon", animation: "animation" }, outputs: { expandedChange: "expandedChange", action: "action", expand: "expand", collapse: "collapse" }, host: { properties: { "class.k-expander": "this.hostClass", "class.k-expanded": "this.expandedClass", "class.k-disabled": "this.disabledClass", "attr.dir": "this.direction" } }, providers: [
9236
9271
  LocalizationService,
9237
9272
  {
9238
9273
  provide: L10N_PREFIX,
@@ -9242,8 +9277,7 @@ class ExpansionPanelComponent {
9242
9277
  <div
9243
9278
  #header
9244
9279
  [class.k-expander-header]="true"
9245
- [class.k-disabled]="disabled"
9246
- [attr.aria-disabled]="disabled"
9280
+ [attr.aria-disabled]="disabled || null"
9247
9281
  [attr.aria-expanded]="expanded && !disabled"
9248
9282
  role="button"
9249
9283
  tabindex="0"
@@ -9276,7 +9310,7 @@ class ExpansionPanelComponent {
9276
9310
  </span>
9277
9311
  </div>
9278
9312
  <div #content [id]="contentWrapperId" class="k-expander-content-wrapper">
9279
- <div class="k-expander-content" [attr.aria-hidden]="!expanded">
9313
+ <div class="k-expander-content">
9280
9314
  <ng-content></ng-content>
9281
9315
  </div>
9282
9316
  </div>
@@ -9298,8 +9332,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
9298
9332
  <div
9299
9333
  #header
9300
9334
  [class.k-expander-header]="true"
9301
- [class.k-disabled]="disabled"
9302
- [attr.aria-disabled]="disabled"
9335
+ [attr.aria-disabled]="disabled || null"
9303
9336
  [attr.aria-expanded]="expanded && !disabled"
9304
9337
  role="button"
9305
9338
  tabindex="0"
@@ -9332,7 +9365,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
9332
9365
  </span>
9333
9366
  </div>
9334
9367
  <div #content [id]="contentWrapperId" class="k-expander-content-wrapper">
9335
- <div class="k-expander-content" [attr.aria-hidden]="!expanded">
9368
+ <div class="k-expander-content">
9336
9369
  <ng-content></ng-content>
9337
9370
  </div>
9338
9371
  </div>
@@ -9381,6 +9414,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
9381
9414
  }], expandedClass: [{
9382
9415
  type: HostBinding,
9383
9416
  args: ['class.k-expanded']
9417
+ }], disabledClass: [{
9418
+ type: HostBinding,
9419
+ args: ['class.k-disabled']
9384
9420
  }], direction: [{
9385
9421
  type: HostBinding,
9386
9422
  args: ['attr.dir']
@@ -10401,18 +10437,12 @@ class TileLayoutItemComponent {
10401
10437
  resizable = true;
10402
10438
  itemClass = true;
10403
10439
  hostRole = 'listitem';
10404
- get hostDropEffect() {
10405
- return this.isResizable || this.isReorderable ? 'execute' : undefined;
10406
- }
10407
10440
  get hostTabindex() {
10408
10441
  return this.isNavigable ? '0' : undefined;
10409
10442
  }
10410
10443
  get ariaKeyShortcuts() {
10411
10444
  return this.isNavigable ? 'Enter' : undefined;
10412
10445
  }
10413
- get hostGrabbed() {
10414
- return this.isResizable || this.isReorderable;
10415
- }
10416
10446
  get hostLabelledBy() {
10417
10447
  return this.title ? this.titleId : undefined;
10418
10448
  }
@@ -10538,7 +10568,7 @@ class TileLayoutItemComponent {
10538
10568
  }
10539
10569
  }
10540
10570
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TileLayoutItemComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i1.LocalizationService }, { token: TileLayoutDraggingService }, { token: TileLayoutKeyboardNavigationService }], target: i0.ɵɵFactoryTarget.Component });
10541
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: TileLayoutItemComponent, isStandalone: true, selector: "kendo-tilelayout-item", inputs: { title: "title", rowSpan: "rowSpan", colSpan: "colSpan", order: "order", col: "col", row: "row", reorderable: "reorderable", resizable: "resizable" }, host: { properties: { "class.k-tilelayout-item": "this.itemClass", "class.k-card": "this.itemClass", "attr.role": "this.hostRole", "attr.aria-dropeffect": "this.hostDropEffect", "attr.tabindex": "this.hostTabindex", "attr.aria-keyshortcuts": "this.ariaKeyShortcuts", "attr.aria-grabbed": "this.hostGrabbed", "attr.aria-labelledby": "this.hostLabelledBy", "style.grid-column-end": "this.colEnd", "style.grid-row-end": "this.rowEnd", "style.grid-column-start": "this.colStart", "style.grid-row-start": "this.rowStart" } }, queries: [{ propertyName: "headers", predicate: TileLayoutItemHeaderComponent }], usesOnChanges: true, ngImport: i0, template: `
10571
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: TileLayoutItemComponent, isStandalone: true, selector: "kendo-tilelayout-item", inputs: { title: "title", rowSpan: "rowSpan", colSpan: "colSpan", order: "order", col: "col", row: "row", reorderable: "reorderable", resizable: "resizable" }, host: { properties: { "class.k-tilelayout-item": "this.itemClass", "class.k-card": "this.itemClass", "attr.role": "this.hostRole", "attr.tabindex": "this.hostTabindex", "attr.aria-keyshortcuts": "this.ariaKeyShortcuts", "attr.aria-labelledby": "this.hostLabelledBy", "style.grid-column-end": "this.colEnd", "style.grid-row-end": "this.rowEnd", "style.grid-column-start": "this.colStart", "style.grid-row-start": "this.rowStart" } }, queries: [{ propertyName: "headers", predicate: TileLayoutItemHeaderComponent }], usesOnChanges: true, ngImport: i0, template: `
10542
10572
  @if (title) {
10543
10573
  <kendo-tilelayout-item-header>
10544
10574
  <h5 [id]="titleId" class="k-card-title">{{ title }}</h5>
@@ -10607,18 +10637,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
10607
10637
  }], hostRole: [{
10608
10638
  type: HostBinding,
10609
10639
  args: ['attr.role']
10610
- }], hostDropEffect: [{
10611
- type: HostBinding,
10612
- args: ['attr.aria-dropeffect']
10613
10640
  }], hostTabindex: [{
10614
10641
  type: HostBinding,
10615
10642
  args: ['attr.tabindex']
10616
10643
  }], ariaKeyShortcuts: [{
10617
10644
  type: HostBinding,
10618
10645
  args: ['attr.aria-keyshortcuts']
10619
- }], hostGrabbed: [{
10620
- type: HostBinding,
10621
- args: ['attr.aria-grabbed']
10622
10646
  }], hostLabelledBy: [{
10623
10647
  type: HostBinding,
10624
10648
  args: ['attr.aria-labelledby']
@@ -11818,13 +11842,19 @@ class TimelineCardComponent {
11818
11842
  }
11819
11843
  }
11820
11844
  get role() {
11821
- return this.orientation === 'vertical' ? 'button' : 'tabpanel';
11845
+ if (this.orientation === 'vertical') {
11846
+ return 'button';
11847
+ }
11848
+ return this.event ? 'tabpanel' : null;
11849
+ }
11850
+ get ariaCardLabel() {
11851
+ return this.orientation === 'horizontal' && this.event ? this.event.subtitle : null;
11822
11852
  }
11823
11853
  get ariaLive() {
11824
11854
  return this.orientation === 'vertical' ? 'polite' : null;
11825
11855
  }
11826
11856
  get ariaExpanded() {
11827
- return this.orientation === 'vertical' ? this.expanded : null;
11857
+ return this.orientation === 'vertical' && this.collapsible ? this.expanded : null;
11828
11858
  }
11829
11859
  calloutSvgIcon = chevronRightIcon;
11830
11860
  calloutFontIcon = 'arrow-chevron-right';
@@ -11898,6 +11928,7 @@ class TimelineCardComponent {
11898
11928
  class="k-card-with-callout k-card-vertical"
11899
11929
  (click)="toggle()"
11900
11930
  [attr.role]="role"
11931
+ [attr.aria-label]="ariaCardLabel"
11901
11932
  [attr.aria-live]="ariaLive"
11902
11933
  [attr.aria-expanded]="ariaExpanded"
11903
11934
  [attr.tabindex]="tabIndex"
@@ -11926,16 +11957,13 @@ class TimelineCardComponent {
11926
11957
  <div kendoCardTitle>
11927
11958
  <span class="k-event-title">{{ event.title }}</span>
11928
11959
  @if (collapsible && orientation === 'vertical') {
11929
- <button
11930
- kendoButton
11931
- [icon]="calloutFontIcon"
11932
- [svgIcon]="calloutSvgIcon"
11933
- class="k-event-collapse"
11934
- fillMode="flat"
11935
- [attr.aria-hidden]="true"
11936
- tabindex="-1"
11937
- type="button"
11938
- ></button>
11960
+ <span class="k-event-collapse k-button k-button-flat k-button-xs k-icon-button">
11961
+ <kendo-icon-wrapper
11962
+ [name]="calloutFontIcon"
11963
+ [svgIcon]="calloutSvgIcon"
11964
+ innerCssClass="k-button-icon">
11965
+ </kendo-icon-wrapper>
11966
+ </span>
11939
11967
  }
11940
11968
  </div>
11941
11969
  }
@@ -12002,7 +12030,7 @@ class TimelineCardComponent {
12002
12030
  </div>
12003
12031
  }
12004
12032
  </kendo-card>
12005
- `, isInline: true, dependencies: [{ kind: "component", type: CardComponent, selector: "kendo-card", inputs: ["orientation", "width"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: CardHeaderComponent, selector: "kendo-card-header" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: CardTitleDirective, selector: "[kendoCardTitle]" }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconPosition", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "directive", type: CardSubtitleDirective, selector: "[kendoCardSubtitle]" }, { kind: "component", type: CardBodyComponent, selector: "kendo-card-body" }, { kind: "directive", type: CardMediaDirective, selector: "[kendoCardMedia]" }, { kind: "component", type: CardActionsComponent, selector: "kendo-card-actions", inputs: ["orientation", "layout", "actions"], outputs: ["action"] }], animations: [
12033
+ `, isInline: true, dependencies: [{ kind: "component", type: CardComponent, selector: "kendo-card", inputs: ["orientation", "width"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: CardHeaderComponent, selector: "kendo-card-header" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: CardTitleDirective, selector: "[kendoCardTitle]" }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: CardSubtitleDirective, selector: "[kendoCardSubtitle]" }, { kind: "component", type: CardBodyComponent, selector: "kendo-card-body" }, { kind: "directive", type: CardMediaDirective, selector: "[kendoCardMedia]" }, { kind: "component", type: CardActionsComponent, selector: "kendo-card-actions", inputs: ["orientation", "layout", "actions"], outputs: ["action"] }], animations: [
12006
12034
  trigger('toggle', [
12007
12035
  state('collapsed', style({
12008
12036
  height: '0',
@@ -12050,6 +12078,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
12050
12078
  class="k-card-with-callout k-card-vertical"
12051
12079
  (click)="toggle()"
12052
12080
  [attr.role]="role"
12081
+ [attr.aria-label]="ariaCardLabel"
12053
12082
  [attr.aria-live]="ariaLive"
12054
12083
  [attr.aria-expanded]="ariaExpanded"
12055
12084
  [attr.tabindex]="tabIndex"
@@ -12078,16 +12107,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
12078
12107
  <div kendoCardTitle>
12079
12108
  <span class="k-event-title">{{ event.title }}</span>
12080
12109
  @if (collapsible && orientation === 'vertical') {
12081
- <button
12082
- kendoButton
12083
- [icon]="calloutFontIcon"
12084
- [svgIcon]="calloutSvgIcon"
12085
- class="k-event-collapse"
12086
- fillMode="flat"
12087
- [attr.aria-hidden]="true"
12088
- tabindex="-1"
12089
- type="button"
12090
- ></button>
12110
+ <span class="k-event-collapse k-button k-button-flat k-button-xs k-icon-button">
12111
+ <kendo-icon-wrapper
12112
+ [name]="calloutFontIcon"
12113
+ [svgIcon]="calloutSvgIcon"
12114
+ innerCssClass="k-button-icon">
12115
+ </kendo-icon-wrapper>
12116
+ </span>
12091
12117
  }
12092
12118
  </div>
12093
12119
  }
@@ -12156,7 +12182,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
12156
12182
  </kendo-card>
12157
12183
  `,
12158
12184
  standalone: true,
12159
- imports: [CardComponent, NgStyle, NgClass, CardHeaderComponent, NgTemplateOutlet, CardTitleDirective, ButtonComponent, CardSubtitleDirective, CardBodyComponent, CardMediaDirective, CardActionsComponent]
12185
+ imports: [CardComponent, NgStyle, NgClass, CardHeaderComponent, NgTemplateOutlet, CardTitleDirective, IconWrapperComponent, CardSubtitleDirective, CardBodyComponent, CardMediaDirective, CardActionsComponent]
12160
12186
  }]
12161
12187
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: TimelineService }, { type: i0.Renderer2 }], propDecorators: { event: [{
12162
12188
  type: Input
@@ -12249,8 +12275,8 @@ class TimelineHorizontalComponent {
12249
12275
  trackWrapWidth;
12250
12276
  scrollableTrackWidth;
12251
12277
  cardWidth;
12252
- svgLeftIcon = caretAltLeftIcon;
12253
- svgRightIcon = caretAltRightIcon;
12278
+ svgLeftIcon = chevronLeftIcon;
12279
+ svgRightIcon = chevronRightIcon;
12254
12280
  calloutStyle;
12255
12281
  animationState = 'center';
12256
12282
  translateValue = 0;
@@ -12538,9 +12564,10 @@ class TimelineHorizontalComponent {
12538
12564
  });
12539
12565
  }
12540
12566
  assignAriaLabel(cardElement, dateElement) {
12541
- const dateLabelId = `k-${guid()}`;
12542
- this.renderer.setAttribute(dateElement, 'id', dateLabelId);
12543
- this.renderer.setAttribute(cardElement, 'aria-label', dateLabelId);
12567
+ const dateSpan = dateElement.querySelector('.k-timeline-date');
12568
+ if (dateSpan) {
12569
+ this.renderer.setAttribute(cardElement, 'aria-label', dateSpan.textContent.trim());
12570
+ }
12544
12571
  }
12545
12572
  assignAriaDescribedBy(cardElement, dateElement) {
12546
12573
  const cardId = `k-${guid()}`;
@@ -12663,10 +12690,11 @@ class TimelineHorizontalComponent {
12663
12690
  <button
12664
12691
  kendoButton
12665
12692
  [svgIcon]="svgLeftIcon"
12666
- icon="caret-alt-left"
12693
+ icon="chevron-left"
12667
12694
  class="k-timeline-arrow k-timeline-arrow-left"
12668
12695
  rounded="full"
12669
12696
  [title]="previousTitle"
12697
+ [attr.aria-hidden]="true"
12670
12698
  (click)="previousClick()"
12671
12699
  [disabled]="isFirstRange"
12672
12700
  tabindex="-1"
@@ -12675,10 +12703,11 @@ class TimelineHorizontalComponent {
12675
12703
  <button
12676
12704
  kendoButton
12677
12705
  [svgIcon]="svgRightIcon"
12678
- icon="caret-alt-right"
12706
+ icon="chevron-right"
12679
12707
  class="k-timeline-arrow k-timeline-arrow-right"
12680
12708
  rounded="full"
12681
12709
  [title]="nextTitle"
12710
+ [attr.aria-hidden]="true"
12682
12711
  (click)="nextClick()"
12683
12712
  [disabled]="isLastRange"
12684
12713
  tabindex="-1"
@@ -12763,7 +12792,7 @@ class TimelineHorizontalComponent {
12763
12792
  }
12764
12793
  <kendo-resize-sensor (resize)="onResize()" [rateLimit]="10"></kendo-resize-sensor>
12765
12794
  </div>
12766
- `, isInline: true, dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconPosition", "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: [
12795
+ `, isInline: true, dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconPosition", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon"], 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: [
12767
12796
  trigger('trackSlide', [
12768
12797
  state('left', style({
12769
12798
  transform: `translateX({{transformValue}}%)`,
@@ -12817,10 +12846,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
12817
12846
  <button
12818
12847
  kendoButton
12819
12848
  [svgIcon]="svgLeftIcon"
12820
- icon="caret-alt-left"
12849
+ icon="chevron-left"
12821
12850
  class="k-timeline-arrow k-timeline-arrow-left"
12822
12851
  rounded="full"
12823
12852
  [title]="previousTitle"
12853
+ [attr.aria-hidden]="true"
12824
12854
  (click)="previousClick()"
12825
12855
  [disabled]="isFirstRange"
12826
12856
  tabindex="-1"
@@ -12829,10 +12859,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
12829
12859
  <button
12830
12860
  kendoButton
12831
12861
  [svgIcon]="svgRightIcon"
12832
- icon="caret-alt-right"
12862
+ icon="chevron-right"
12833
12863
  class="k-timeline-arrow k-timeline-arrow-right"
12834
12864
  rounded="full"
12835
12865
  [title]="nextTitle"
12866
+ [attr.aria-hidden]="true"
12836
12867
  (click)="nextClick()"
12837
12868
  [disabled]="isLastRange"
12838
12869
  tabindex="-1"