@progress/kendo-angular-layout 24.0.0-develop.13 → 24.0.0-develop.15

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.
@@ -111,6 +111,7 @@ export declare class ExpansionPanelComponent implements OnInit, AfterViewInit, O
111
111
  header: ElementRef;
112
112
  hostClass: boolean;
113
113
  get expandedClass(): boolean;
114
+ get disabledClass(): boolean;
114
115
  direction: string;
115
116
  /**
116
117
  * @hidden
@@ -16,10 +16,10 @@ import { chevronUpIcon, chevronDownIcon, caretAltLeftIcon, caretAltRightIcon, ca
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: 1777479372,
33
- version: '24.0.0-develop.13',
32
+ publishDate: 1777541275,
33
+ version: '24.0.0-develop.15',
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
  }
@@ -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']
@@ -3878,7 +3882,7 @@ class TabComponent {
3878
3882
  return this.tab.selected;
3879
3883
  }
3880
3884
  get disabledClass() {
3881
- return this.tab.disabled;
3885
+ return this.tab.disabled || null;
3882
3886
  }
3883
3887
  get focusedClass() {
3884
3888
  return this.tab.focused;
@@ -4657,7 +4661,7 @@ class TabStripComponent {
4657
4661
  'k-tabstrip-items-justify': tabAlignment === 'justify',
4658
4662
  'k-tabstrip-items-scroll': mouseScrollEnabled
4659
4663
  }"
4660
- [attr.aria-orientation]="tabPosition === 'left' || tabPosition === 'right' ? 'vertical' : 'horizontal'"
4664
+ [attr.aria-orientation]="tabPosition === 'left' || tabPosition === 'right' ? 'vertical' : null"
4661
4665
  >
4662
4666
  @for (tab of tabs; track tab; let i = $index) {
4663
4667
  <li
@@ -4728,9 +4732,9 @@ class TabStripComponent {
4728
4732
  [tabIndex]="0"
4729
4733
  role="tabpanel"
4730
4734
  [id]="getTabPanelId(i)"
4731
- [attr.aria-hidden]="!tab.selected"
4735
+ [attr.aria-hidden]="!tab.selected || null"
4732
4736
  [attr.aria-labelledby]="getTabId(i)"
4733
- [attr.aria-disabled]="tab.disabled"
4737
+ [attr.aria-disabled]="tab.disabled || null"
4734
4738
  >
4735
4739
  <ng-template [ngTemplateOutlet]="tab.tabContent?.templateRef"></ng-template>
4736
4740
  </div>
@@ -4850,7 +4854,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
4850
4854
  'k-tabstrip-items-justify': tabAlignment === 'justify',
4851
4855
  'k-tabstrip-items-scroll': mouseScrollEnabled
4852
4856
  }"
4853
- [attr.aria-orientation]="tabPosition === 'left' || tabPosition === 'right' ? 'vertical' : 'horizontal'"
4857
+ [attr.aria-orientation]="tabPosition === 'left' || tabPosition === 'right' ? 'vertical' : null"
4854
4858
  >
4855
4859
  @for (tab of tabs; track tab; let i = $index) {
4856
4860
  <li
@@ -4921,9 +4925,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
4921
4925
  [tabIndex]="0"
4922
4926
  role="tabpanel"
4923
4927
  [id]="getTabPanelId(i)"
4924
- [attr.aria-hidden]="!tab.selected"
4928
+ [attr.aria-hidden]="!tab.selected || null"
4925
4929
  [attr.aria-labelledby]="getTabId(i)"
4926
- [attr.aria-disabled]="tab.disabled"
4930
+ [attr.aria-disabled]="tab.disabled || null"
4927
4931
  >
4928
4932
  <ng-template [ngTemplateOutlet]="tab.tabContent?.templateRef"></ng-template>
4929
4933
  </div>
@@ -6956,6 +6960,7 @@ class StepperStepComponent {
6956
6960
  <a href='#' class='k-step-link' #stepLink
6957
6961
  [attr.tabindex]='tabIndexAttr'
6958
6962
  [attr.title]='step.label'
6963
+ [attr.aria-label]='step.label'
6959
6964
  [attr.aria-disabled]='step.disabled'
6960
6965
  [attr.aria-current]='index === current ? "step" : null'
6961
6966
  (focus)='onFocus()'
@@ -6971,7 +6976,6 @@ class StepperStepComponent {
6971
6976
  @if (showIndicator) {
6972
6977
  <span
6973
6978
  class='k-step-indicator'
6974
- aria-hidden='true'
6975
6979
  [style.transition-duration.ms]='transitionDuration'
6976
6980
  >
6977
6981
  @if (indicatorTemplate) {
@@ -7035,6 +7039,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
7035
7039
  <a href='#' class='k-step-link' #stepLink
7036
7040
  [attr.tabindex]='tabIndexAttr'
7037
7041
  [attr.title]='step.label'
7042
+ [attr.aria-label]='step.label'
7038
7043
  [attr.aria-disabled]='step.disabled'
7039
7044
  [attr.aria-current]='index === current ? "step" : null'
7040
7045
  (focus)='onFocus()'
@@ -7050,7 +7055,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
7050
7055
  @if (showIndicator) {
7051
7056
  <span
7052
7057
  class='k-step-indicator'
7053
- aria-hidden='true'
7054
7058
  [style.transition-duration.ms]='transitionDuration'
7055
7059
  >
7056
7060
  @if (indicatorTemplate) {
@@ -7661,9 +7665,10 @@ class StepperComponent {
7661
7665
  [reverse]='!isHorizontal'
7662
7666
  [value]='currentStep'
7663
7667
  [ngStyle]='progressBarStyling'>
7668
+ <kendo-progressbar-messages progressBarLabel="progress"></kendo-progressbar-messages>
7664
7669
  </kendo-progressbar>
7665
7670
  }
7666
- `, 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"] }] });
7671
+ `, 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" }] });
7667
7672
  }
7668
7673
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: StepperComponent, decorators: [{
7669
7674
  type: Component,
@@ -7716,11 +7721,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
7716
7721
  [reverse]='!isHorizontal'
7717
7722
  [value]='currentStep'
7718
7723
  [ngStyle]='progressBarStyling'>
7724
+ <kendo-progressbar-messages progressBarLabel="progress"></kendo-progressbar-messages>
7719
7725
  </kendo-progressbar>
7720
7726
  }
7721
7727
  `,
7722
7728
  standalone: true,
7723
- imports: [LocalizedStepperMessagesDirective, StepperListComponent, NgStyle, ProgressBarComponent]
7729
+ imports: [LocalizedStepperMessagesDirective, StepperListComponent, NgStyle, ProgressBarComponent, ProgressBarCustomMessagesComponent]
7724
7730
  }]
7725
7731
  }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.LocalizationService }, { type: StepperService }], propDecorators: { hostClasses: [{
7726
7732
  type: HostBinding,
@@ -9041,6 +9047,9 @@ class ExpansionPanelComponent {
9041
9047
  get expandedClass() {
9042
9048
  return this.expanded && !this.disabled;
9043
9049
  }
9050
+ get disabledClass() {
9051
+ return this.disabled;
9052
+ }
9044
9053
  direction;
9045
9054
  /**
9046
9055
  * @hidden
@@ -9246,7 +9255,7 @@ class ExpansionPanelComponent {
9246
9255
  this.renderer.removeClass(this.content.nativeElement, CONTENT_HIDDEN_CLASS);
9247
9256
  }
9248
9257
  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 });
9249
- 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: [
9258
+ 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: [
9250
9259
  LocalizationService,
9251
9260
  {
9252
9261
  provide: L10N_PREFIX,
@@ -9256,8 +9265,7 @@ class ExpansionPanelComponent {
9256
9265
  <div
9257
9266
  #header
9258
9267
  [class.k-expander-header]="true"
9259
- [class.k-disabled]="disabled"
9260
- [attr.aria-disabled]="disabled"
9268
+ [attr.aria-disabled]="disabled || null"
9261
9269
  [attr.aria-expanded]="expanded && !disabled"
9262
9270
  role="button"
9263
9271
  tabindex="0"
@@ -9290,7 +9298,7 @@ class ExpansionPanelComponent {
9290
9298
  </span>
9291
9299
  </div>
9292
9300
  <div #content [id]="contentWrapperId" class="k-expander-content-wrapper">
9293
- <div class="k-expander-content" [attr.aria-hidden]="!expanded">
9301
+ <div class="k-expander-content">
9294
9302
  <ng-content></ng-content>
9295
9303
  </div>
9296
9304
  </div>
@@ -9312,8 +9320,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
9312
9320
  <div
9313
9321
  #header
9314
9322
  [class.k-expander-header]="true"
9315
- [class.k-disabled]="disabled"
9316
- [attr.aria-disabled]="disabled"
9323
+ [attr.aria-disabled]="disabled || null"
9317
9324
  [attr.aria-expanded]="expanded && !disabled"
9318
9325
  role="button"
9319
9326
  tabindex="0"
@@ -9346,7 +9353,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
9346
9353
  </span>
9347
9354
  </div>
9348
9355
  <div #content [id]="contentWrapperId" class="k-expander-content-wrapper">
9349
- <div class="k-expander-content" [attr.aria-hidden]="!expanded">
9356
+ <div class="k-expander-content">
9350
9357
  <ng-content></ng-content>
9351
9358
  </div>
9352
9359
  </div>
@@ -9395,6 +9402,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
9395
9402
  }], expandedClass: [{
9396
9403
  type: HostBinding,
9397
9404
  args: ['class.k-expanded']
9405
+ }], disabledClass: [{
9406
+ type: HostBinding,
9407
+ args: ['class.k-disabled']
9398
9408
  }], direction: [{
9399
9409
  type: HostBinding,
9400
9410
  args: ['attr.dir']
@@ -10415,18 +10425,12 @@ class TileLayoutItemComponent {
10415
10425
  resizable = true;
10416
10426
  itemClass = true;
10417
10427
  hostRole = 'listitem';
10418
- get hostDropEffect() {
10419
- return this.isResizable || this.isReorderable ? 'execute' : undefined;
10420
- }
10421
10428
  get hostTabindex() {
10422
10429
  return this.isNavigable ? '0' : undefined;
10423
10430
  }
10424
10431
  get ariaKeyShortcuts() {
10425
10432
  return this.isNavigable ? 'Enter' : undefined;
10426
10433
  }
10427
- get hostGrabbed() {
10428
- return this.isResizable || this.isReorderable;
10429
- }
10430
10434
  get hostLabelledBy() {
10431
10435
  return this.title ? this.titleId : undefined;
10432
10436
  }
@@ -10552,7 +10556,7 @@ class TileLayoutItemComponent {
10552
10556
  }
10553
10557
  }
10554
10558
  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 });
10555
- 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: `
10559
+ 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: `
10556
10560
  @if (title) {
10557
10561
  <kendo-tilelayout-item-header>
10558
10562
  <h5 [id]="titleId" class="k-card-title">{{ title }}</h5>
@@ -10621,18 +10625,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
10621
10625
  }], hostRole: [{
10622
10626
  type: HostBinding,
10623
10627
  args: ['attr.role']
10624
- }], hostDropEffect: [{
10625
- type: HostBinding,
10626
- args: ['attr.aria-dropeffect']
10627
10628
  }], hostTabindex: [{
10628
10629
  type: HostBinding,
10629
10630
  args: ['attr.tabindex']
10630
10631
  }], ariaKeyShortcuts: [{
10631
10632
  type: HostBinding,
10632
10633
  args: ['attr.aria-keyshortcuts']
10633
- }], hostGrabbed: [{
10634
- type: HostBinding,
10635
- args: ['attr.aria-grabbed']
10636
10634
  }], hostLabelledBy: [{
10637
10635
  type: HostBinding,
10638
10636
  args: ['attr.aria-labelledby']
@@ -11832,13 +11830,19 @@ class TimelineCardComponent {
11832
11830
  }
11833
11831
  }
11834
11832
  get role() {
11835
- return this.orientation === 'vertical' ? 'button' : 'tabpanel';
11833
+ if (this.orientation === 'vertical') {
11834
+ return 'button';
11835
+ }
11836
+ return this.event ? 'tabpanel' : null;
11837
+ }
11838
+ get ariaCardLabel() {
11839
+ return this.orientation === 'horizontal' && this.event ? this.event.subtitle : null;
11836
11840
  }
11837
11841
  get ariaLive() {
11838
11842
  return this.orientation === 'vertical' ? 'polite' : null;
11839
11843
  }
11840
11844
  get ariaExpanded() {
11841
- return this.orientation === 'vertical' ? this.expanded : null;
11845
+ return this.orientation === 'vertical' && this.collapsible ? this.expanded : null;
11842
11846
  }
11843
11847
  calloutSvgIcon = chevronRightIcon;
11844
11848
  calloutFontIcon = 'arrow-chevron-right';
@@ -11912,6 +11916,7 @@ class TimelineCardComponent {
11912
11916
  class="k-card-with-callout k-card-vertical"
11913
11917
  (click)="toggle()"
11914
11918
  [attr.role]="role"
11919
+ [attr.aria-label]="ariaCardLabel"
11915
11920
  [attr.aria-live]="ariaLive"
11916
11921
  [attr.aria-expanded]="ariaExpanded"
11917
11922
  [attr.tabindex]="tabIndex"
@@ -11940,16 +11945,13 @@ class TimelineCardComponent {
11940
11945
  <div kendoCardTitle>
11941
11946
  <span class="k-event-title">{{ event.title }}</span>
11942
11947
  @if (collapsible && orientation === 'vertical') {
11943
- <button
11944
- kendoButton
11945
- [icon]="calloutFontIcon"
11946
- [svgIcon]="calloutSvgIcon"
11947
- class="k-event-collapse"
11948
- fillMode="flat"
11949
- [attr.aria-hidden]="true"
11950
- tabindex="-1"
11951
- type="button"
11952
- ></button>
11948
+ <span class="k-event-collapse k-button k-button-flat k-icon-button">
11949
+ <kendo-icon-wrapper
11950
+ [name]="calloutFontIcon"
11951
+ [svgIcon]="calloutSvgIcon"
11952
+ innerCssClass="k-button-icon">
11953
+ </kendo-icon-wrapper>
11954
+ </span>
11953
11955
  }
11954
11956
  </div>
11955
11957
  }
@@ -12016,7 +12018,7 @@ class TimelineCardComponent {
12016
12018
  </div>
12017
12019
  }
12018
12020
  </kendo-card>
12019
- `, 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: [
12021
+ `, 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: [
12020
12022
  trigger('toggle', [
12021
12023
  state('collapsed', style({
12022
12024
  height: '0',
@@ -12064,6 +12066,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
12064
12066
  class="k-card-with-callout k-card-vertical"
12065
12067
  (click)="toggle()"
12066
12068
  [attr.role]="role"
12069
+ [attr.aria-label]="ariaCardLabel"
12067
12070
  [attr.aria-live]="ariaLive"
12068
12071
  [attr.aria-expanded]="ariaExpanded"
12069
12072
  [attr.tabindex]="tabIndex"
@@ -12092,16 +12095,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
12092
12095
  <div kendoCardTitle>
12093
12096
  <span class="k-event-title">{{ event.title }}</span>
12094
12097
  @if (collapsible && orientation === 'vertical') {
12095
- <button
12096
- kendoButton
12097
- [icon]="calloutFontIcon"
12098
- [svgIcon]="calloutSvgIcon"
12099
- class="k-event-collapse"
12100
- fillMode="flat"
12101
- [attr.aria-hidden]="true"
12102
- tabindex="-1"
12103
- type="button"
12104
- ></button>
12098
+ <span class="k-event-collapse k-button k-button-flat k-icon-button">
12099
+ <kendo-icon-wrapper
12100
+ [name]="calloutFontIcon"
12101
+ [svgIcon]="calloutSvgIcon"
12102
+ innerCssClass="k-button-icon">
12103
+ </kendo-icon-wrapper>
12104
+ </span>
12105
12105
  }
12106
12106
  </div>
12107
12107
  }
@@ -12170,7 +12170,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
12170
12170
  </kendo-card>
12171
12171
  `,
12172
12172
  standalone: true,
12173
- imports: [CardComponent, NgStyle, NgClass, CardHeaderComponent, NgTemplateOutlet, CardTitleDirective, ButtonComponent, CardSubtitleDirective, CardBodyComponent, CardMediaDirective, CardActionsComponent]
12173
+ imports: [CardComponent, NgStyle, NgClass, CardHeaderComponent, NgTemplateOutlet, CardTitleDirective, IconWrapperComponent, CardSubtitleDirective, CardBodyComponent, CardMediaDirective, CardActionsComponent]
12174
12174
  }]
12175
12175
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: TimelineService }, { type: i0.Renderer2 }], propDecorators: { event: [{
12176
12176
  type: Input
@@ -12552,9 +12552,10 @@ class TimelineHorizontalComponent {
12552
12552
  });
12553
12553
  }
12554
12554
  assignAriaLabel(cardElement, dateElement) {
12555
- const dateLabelId = `k-${guid()}`;
12556
- this.renderer.setAttribute(dateElement, 'id', dateLabelId);
12557
- this.renderer.setAttribute(cardElement, 'aria-label', dateLabelId);
12555
+ const dateSpan = dateElement.querySelector('.k-timeline-date');
12556
+ if (dateSpan) {
12557
+ this.renderer.setAttribute(cardElement, 'aria-label', dateSpan.textContent.trim());
12558
+ }
12558
12559
  }
12559
12560
  assignAriaDescribedBy(cardElement, dateElement) {
12560
12561
  const cardId = `k-${guid()}`;
@@ -12681,6 +12682,7 @@ class TimelineHorizontalComponent {
12681
12682
  class="k-timeline-arrow k-timeline-arrow-left"
12682
12683
  rounded="full"
12683
12684
  [title]="previousTitle"
12685
+ [attr.aria-hidden]="true"
12684
12686
  (click)="previousClick()"
12685
12687
  [disabled]="isFirstRange"
12686
12688
  tabindex="-1"
@@ -12693,6 +12695,7 @@ class TimelineHorizontalComponent {
12693
12695
  class="k-timeline-arrow k-timeline-arrow-right"
12694
12696
  rounded="full"
12695
12697
  [title]="nextTitle"
12698
+ [attr.aria-hidden]="true"
12696
12699
  (click)="nextClick()"
12697
12700
  [disabled]="isLastRange"
12698
12701
  tabindex="-1"
@@ -12835,6 +12838,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
12835
12838
  class="k-timeline-arrow k-timeline-arrow-left"
12836
12839
  rounded="full"
12837
12840
  [title]="previousTitle"
12841
+ [attr.aria-hidden]="true"
12838
12842
  (click)="previousClick()"
12839
12843
  [disabled]="isFirstRange"
12840
12844
  tabindex="-1"
@@ -12847,6 +12851,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
12847
12851
  class="k-timeline-arrow k-timeline-arrow-right"
12848
12852
  rounded="full"
12849
12853
  [title]="nextTitle"
12854
+ [attr.aria-hidden]="true"
12850
12855
  (click)="nextClick()"
12851
12856
  [disabled]="isLastRange"
12852
12857
  tabindex="-1"
@@ -7,7 +7,7 @@ export const packageMetadata = {
7
7
  "productCodes": [
8
8
  "KENDOUIANGULAR"
9
9
  ],
10
- "publishDate": 1777479372,
11
- "version": "24.0.0-develop.13",
10
+ "publishDate": 1777541275,
11
+ "version": "24.0.0-develop.15",
12
12
  "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"
13
13
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-layout",
3
- "version": "24.0.0-develop.13",
3
+ "version": "24.0.0-develop.15",
4
4
  "description": "Kendo UI for Angular Layout Package - a collection of components to create professional application layoyts",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Progress",
@@ -63,7 +63,7 @@
63
63
  "package": {
64
64
  "productName": "Kendo UI for Angular",
65
65
  "productCode": "KENDOUIANGULAR",
66
- "publishDate": 1777479372,
66
+ "publishDate": 1777541275,
67
67
  "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"
68
68
  }
69
69
  },
@@ -73,17 +73,17 @@
73
73
  "@angular/core": "19 - 21",
74
74
  "@angular/platform-browser": "19 - 21",
75
75
  "@progress/kendo-licensing": "^1.11.0",
76
- "@progress/kendo-angular-common": "24.0.0-develop.13",
77
- "@progress/kendo-angular-l10n": "24.0.0-develop.13",
78
- "@progress/kendo-angular-progressbar": "24.0.0-develop.13",
79
- "@progress/kendo-angular-icons": "24.0.0-develop.13",
80
- "@progress/kendo-angular-buttons": "24.0.0-develop.13",
81
- "@progress/kendo-angular-intl": "24.0.0-develop.13",
76
+ "@progress/kendo-angular-common": "24.0.0-develop.15",
77
+ "@progress/kendo-angular-l10n": "24.0.0-develop.15",
78
+ "@progress/kendo-angular-progressbar": "24.0.0-develop.15",
79
+ "@progress/kendo-angular-icons": "24.0.0-develop.15",
80
+ "@progress/kendo-angular-buttons": "24.0.0-develop.15",
81
+ "@progress/kendo-angular-intl": "24.0.0-develop.15",
82
82
  "rxjs": "^6.5.3 || ^7.0.0"
83
83
  },
84
84
  "dependencies": {
85
85
  "tslib": "^2.3.1",
86
- "@progress/kendo-angular-schematics": "24.0.0-develop.13",
86
+ "@progress/kendo-angular-schematics": "24.0.0-develop.15",
87
87
  "@progress/kendo-draggable": "^3.0.2"
88
88
  },
89
89
  "schematics": "./schematics/collection.json",
@@ -23,6 +23,7 @@ export declare class SplitterBarComponent implements OnInit, OnDestroy {
23
23
  ariaLabel: string;
24
24
  focused: boolean;
25
25
  get hostOrientation(): string;
26
+ ariaKeyShortcuts: string;
26
27
  get tabIndex(): number;
27
28
  get hostClasses(): string;
28
29
  get order(): number;
@@ -22,7 +22,7 @@ export declare class TabComponent {
22
22
  tabClose: EventEmitter<TabCloseEvent>;
23
23
  hostClasses: boolean;
24
24
  get activeClass(): boolean;
25
- get disabledClass(): boolean;
25
+ get disabledClass(): boolean | null;
26
26
  get focusedClass(): boolean;
27
27
  get tabIndex(): number;
28
28
  constructor(localization: LocalizationService);
@@ -69,10 +69,8 @@ export declare class TileLayoutItemComponent implements AfterViewInit, OnDestroy
69
69
  resizable: boolean;
70
70
  itemClass: boolean;
71
71
  hostRole: string;
72
- get hostDropEffect(): string;
73
72
  get hostTabindex(): string;
74
73
  get ariaKeyShortcuts(): string;
75
- get hostGrabbed(): boolean;
76
74
  get hostLabelledBy(): string;
77
75
  get colEnd(): string;
78
76
  get rowEnd(): string;
@@ -38,6 +38,7 @@ export declare class TimelineCardComponent implements OnChanges, AfterViewInit {
38
38
  get collapsedClass(): boolean;
39
39
  onComponentKeyDown(event: any): void;
40
40
  get role(): string;
41
+ get ariaCardLabel(): string;
41
42
  get ariaLive(): any;
42
43
  get ariaExpanded(): any;
43
44
  calloutSvgIcon: SVGIcon;