@progress/kendo-angular-layout 24.0.0-develop.33 → 24.0.0-develop.35

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.
@@ -2,13 +2,12 @@
2
2
  * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- import { ElementRef, EventEmitter, OnDestroy, SimpleChange } from '@angular/core';
5
+ import { EventEmitter, OnDestroy, SimpleChange } from '@angular/core';
6
6
  import { LicenseMessage } from '@progress/kendo-licensing';
7
7
  import { DrawerMode, DrawerPosition, DrawerAnimation } from './types';
8
8
  import { DrawerTemplateDirective, DrawerItemTemplateDirective, DrawerHeaderTemplateDirective, DrawerFooterTemplateDirective } from './template-directives';
9
9
  import { DrawerService } from './drawer.service';
10
10
  import { DrawerSelectEvent } from './events/select-event';
11
- import { AnimationBuilder } from '@angular/animations';
12
11
  import { LocalizationService } from '@progress/kendo-angular-l10n';
13
12
  import { DrawerListSelectEvent } from './events/drawer-list-select.event';
14
13
  import { DrawerViewItem } from './models/drawer-view-item.interface';
@@ -45,16 +44,11 @@ import * as i0 from "@angular/core";
45
44
  * ```
46
45
  */
47
46
  export declare class DrawerComponent implements OnDestroy {
48
- private element;
49
- private builder;
50
47
  private localizationService;
51
48
  private drawerService;
52
49
  hostClasses: boolean;
53
50
  get startPositionClass(): boolean;
54
51
  get endPositionClass(): boolean;
55
- get overlayMarginLeft(): string;
56
- get overlayMarginRight(): string;
57
- get flexStyles(): number;
58
52
  /**
59
53
  * Specifies the mode in which the Drawer displays.
60
54
  *
@@ -89,8 +83,7 @@ export declare class DrawerComponent implements OnDestroy {
89
83
  width: number;
90
84
  /**
91
85
  * Defines the width of the Drawer when the mini view is enabled and the component is collapsed.
92
- *
93
- * @default 50
86
+ * By default, the mini view width is determined by the used Kendo Theme.
94
87
  */
95
88
  miniWidth: number;
96
89
  /**
@@ -165,12 +158,17 @@ export declare class DrawerComponent implements OnDestroy {
165
158
  */
166
159
  licenseMessage?: LicenseMessage;
167
160
  viewItems: DrawerViewItem[];
168
- private animationEnd;
161
+ private pendingToggle;
162
+ private animatingViaToggle;
169
163
  private dynamicRTLSubscription;
170
164
  private rtl;
171
- constructor(element: ElementRef, builder: AnimationBuilder, localizationService: LocalizationService, drawerService: DrawerService);
165
+ constructor(localizationService: LocalizationService, drawerService: DrawerService);
172
166
  ngOnChanges(changes: SimpleChange): void;
173
167
  ngOnDestroy(): void;
168
+ /**
169
+ * @hidden
170
+ */
171
+ get listExpanded(): boolean;
174
172
  /**
175
173
  * @hidden
176
174
  */
@@ -179,6 +177,12 @@ export declare class DrawerComponent implements OnDestroy {
179
177
  * @hidden
180
178
  */
181
179
  get drawerWidth(): number;
180
+ /**
181
+ * @hidden
182
+ */
183
+ get drawerWrapperStyle(): {
184
+ [key: string]: string;
185
+ };
182
186
  /**
183
187
  * Toggles the visibility of the Drawer.
184
188
  * If the `expanded` parameter is not provided, the Drawer will toggle between expanded and collapsed states.
@@ -190,11 +194,11 @@ export declare class DrawerComponent implements OnDestroy {
190
194
  * @hidden
191
195
  */
192
196
  onSelect(e: DrawerListSelectEvent): void;
193
- private onAnimationEnd;
197
+ /**
198
+ * @hidden
199
+ */
200
+ onTransitionEnd(event: TransitionEvent): void;
194
201
  private setExpanded;
195
- private shouldApplyOverlayMargin;
196
- private animate;
197
- private createPlayer;
198
202
  static ɵfac: i0.ɵɵFactoryDeclaration<DrawerComponent, never>;
199
203
  static ɵcmp: i0.ɵɵComponentDeclaration<DrawerComponent, "kendo-drawer", ["kendoDrawer"], { "mode": { "alias": "mode"; "required": false; }; "position": { "alias": "position"; "required": false; }; "mini": { "alias": "mini"; "required": false; }; "expanded": { "alias": "expanded"; "required": false; }; "width": { "alias": "width"; "required": false; }; "miniWidth": { "alias": "miniWidth"; "required": false; }; "autoCollapse": { "alias": "autoCollapse"; "required": false; }; "items": { "alias": "items"; "required": false; }; "isItemExpanded": { "alias": "isItemExpanded"; "required": false; }; "animation": { "alias": "animation"; "required": false; }; }, { "expand": "expand"; "collapse": "collapse"; "select": "select"; "expandedChange": "expandedChange"; }, ["drawerTemplate", "footerTemplate", "headerTemplate", "itemTemplate"], never, true, never>;
200
204
  }
@@ -9,7 +9,7 @@ import { LocalizationService, L10N_PREFIX, ComponentMessages } from '@progress/k
9
9
  import * as i1$1 from '@progress/kendo-angular-common';
10
10
  import { Keys, getLicenseMessage, shouldShowValidationUI, normalizeKeys, WatermarkOverlayComponent, isDocumentAvailable, anyChanged, isObjectPresent, removeHTMLAttributes, parseAttributes, setHTMLAttributes, DraggableDirective, PreventableEvent as PreventableEvent$1, guid, ResizeSensorComponent, hasObservers, isPresent as isPresent$1, focusableSelector, isChanged } from '@progress/kendo-angular-common';
11
11
  import { validatePackage } from '@progress/kendo-licensing';
12
- import * as i1$2 from '@angular/animations';
12
+ import * as i2 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
15
  import { chevronUpIcon, chevronDownIcon, chevronLeftIcon, chevronRightIcon, xIcon, checkCircleIcon, exclamationCircleIcon } from '@progress/kendo-svg-icons';
@@ -29,8 +29,8 @@ const packageMetadata = {
29
29
  productName: 'Kendo UI for Angular',
30
30
  productCode: 'KENDOUIANGULAR',
31
31
  productCodes: ['KENDOUIANGULAR'],
32
- publishDate: 1778851101,
33
- version: '24.0.0-develop.33',
32
+ publishDate: 1779117578,
33
+ version: '24.0.0-develop.35',
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
 
@@ -5348,148 +5348,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
5348
5348
  type: Injectable
5349
5349
  }] });
5350
5350
 
5351
- /**
5352
- * @hidden
5353
- */
5354
- function miniExpandPush(duration, width, miniWidth) {
5355
- return [
5356
- style({ overflow: 'hidden', flexBasis: `${miniWidth}px` }),
5357
- animate(`${duration}ms ease-in`, style({ flexBasis: `${width}px` }))
5358
- ];
5359
- }
5360
- /**
5361
- * @hidden
5362
- */
5363
- function miniCollapsePush(duration, width, miniWidth) {
5364
- return [
5365
- style({ overflow: 'hidden', flexBasis: `${width}px` }),
5366
- animate(`${duration}ms ease-in`, style({ flexBasis: `${miniWidth}px` }))
5367
- ];
5368
- }
5369
- /**
5370
- * @hidden
5371
- *
5372
- */
5373
- function miniExpandOverlay(duration, width, miniWidth) {
5374
- return [
5375
- style({ width: `${miniWidth}px` }),
5376
- animate(`${duration}ms ease-in`, style({ overflow: 'hidden', width: `${width}px` }))
5377
- ];
5378
- }
5379
- /**
5380
- * @hidden
5381
- */
5382
- function expandPush(duration, width) {
5383
- return [
5384
- style({ overflow: 'hidden', flexBasis: '0px' }),
5385
- animate(`${duration}ms ease-in`, style({ flexBasis: `${width}px` }))
5386
- ];
5387
- }
5388
- /**
5389
- * @hidden
5390
- */
5391
- function collapsePush(duration, width) {
5392
- return [
5393
- style({ flexBasis: `${width}px` }),
5394
- animate(`${duration}ms ease-in`, style({ overflow: 'hidden', flexBasis: `0px` }))
5395
- ];
5396
- }
5397
- /**
5398
- * @hidden
5399
- */
5400
- function expandRTLOverlay(duration, width) {
5401
- return [
5402
- style({ marginRight: `-${width}px` }),
5403
- animate(`${duration}ms ease-in`, style({ overflow: 'hidden', marginRight: `0px` }))
5404
- ];
5405
- }
5406
- /**
5407
- * @hidden
5408
- */
5409
- function expandOverlay(duration, width, position) {
5410
- const marginProp = position !== 'end' ? 'marginLeft' : 'marginRight';
5411
- return [
5412
- style({ [marginProp]: `-${width}px` }),
5413
- animate(`${duration}ms ease-in`, style({ overflow: 'hidden', [marginProp]: `0px` }))
5414
- ];
5415
- }
5416
- /**
5417
- * @hidden
5418
- */
5419
- function miniCollapseOverlay(duration, width, miniWidth) {
5420
- return [
5421
- style({ width: `${width}px` }),
5422
- animate(`${duration}ms ease-in`, style({ overflow: 'hidden', width: `${miniWidth}px` }))
5423
- ];
5424
- }
5425
- /**
5426
- * @hidden
5427
- */
5428
- function collapseOverlay(duration, width, position) {
5429
- const marginProp = position !== 'end' ? 'marginLeft' : 'marginRight';
5430
- return [
5431
- style({ [marginProp]: `0px` }),
5432
- animate(`${duration}ms ease-in`, style({ overflow: 'hidden', [marginProp]: `-${width}px` }))
5433
- ];
5434
- }
5435
- /**
5436
- * @hidden
5437
- */
5438
- function collapseRTLOverlay(duration, width) {
5439
- return [
5440
- style({ marginRight: `0px` }),
5441
- animate(`${duration}ms ease-in`, style({ overflow: 'hidden', marginRight: `-${width}px` }))
5442
- ];
5443
- }
5444
- /**
5445
- * @hidden
5446
- */
5447
- function expandAnimation(settings) {
5448
- const duration = settings.animation.duration;
5449
- const width = settings.width;
5450
- const miniWidth = settings.miniWidth;
5451
- const mode = settings.mode;
5452
- const mini = settings.mini;
5453
- const rtl = settings.rtl;
5454
- const position = settings.position;
5455
- if (mini && mode === 'push') {
5456
- return miniExpandPush(duration, width, miniWidth);
5457
- }
5458
- if (!mini && mode === 'push') {
5459
- return expandPush(duration, width);
5460
- }
5461
- if (!mini && mode === 'overlay') {
5462
- return rtl ? expandRTLOverlay(duration, width) : expandOverlay(duration, width, position);
5463
- }
5464
- if (mini && mode === 'overlay') {
5465
- return miniExpandOverlay(duration, width, miniWidth);
5466
- }
5467
- }
5468
- /**
5469
- * @hidden
5470
- */
5471
- function collapseAnimation(settings) {
5472
- const duration = settings.animation.duration;
5473
- const width = settings.width;
5474
- const miniWidth = settings.miniWidth;
5475
- const mode = settings.mode;
5476
- const mini = settings.mini;
5477
- const rtl = settings.rtl;
5478
- const position = settings.position;
5479
- if (mini && mode === 'push') {
5480
- return miniCollapsePush(duration, width, miniWidth);
5481
- }
5482
- if (!mini && mode === 'push') {
5483
- return collapsePush(duration, width);
5484
- }
5485
- if (!mini && mode === 'overlay') {
5486
- return rtl ? collapseRTLOverlay(duration, width) : collapseOverlay(duration, width, position);
5487
- }
5488
- if (mini && mode === 'overlay') {
5489
- return miniCollapseOverlay(duration, width, miniWidth);
5490
- }
5491
- }
5492
-
5493
5351
  /**
5494
5352
  * @hidden
5495
5353
  */
@@ -5914,8 +5772,6 @@ const DEFAULT_ANIMATION = { type: 'slide', duration: 200 };
5914
5772
  * ```
5915
5773
  */
5916
5774
  class DrawerComponent {
5917
- element;
5918
- builder;
5919
5775
  localizationService;
5920
5776
  drawerService;
5921
5777
  hostClasses = true;
@@ -5925,33 +5781,6 @@ class DrawerComponent {
5925
5781
  get endPositionClass() {
5926
5782
  return this.position === 'end';
5927
5783
  }
5928
- get overlayMarginLeft() {
5929
- if (!this.shouldApplyOverlayMargin()) {
5930
- return null;
5931
- }
5932
- if (this.rtl || this.position === 'end') {
5933
- return null;
5934
- }
5935
- return `-${this.drawerWidth}px`;
5936
- }
5937
- get overlayMarginRight() {
5938
- if (!this.shouldApplyOverlayMargin()) {
5939
- return null;
5940
- }
5941
- if (!this.rtl && this.position !== 'end') {
5942
- return null;
5943
- }
5944
- return `-${this.drawerWidth}px`;
5945
- }
5946
- get flexStyles() {
5947
- if (this.mode === 'overlay') {
5948
- return;
5949
- }
5950
- if (!this.expanded && !this.minimized) {
5951
- return 0;
5952
- }
5953
- return this.drawerWidth;
5954
- }
5955
5784
  /**
5956
5785
  * Specifies the mode in which the Drawer displays.
5957
5786
  *
@@ -5986,10 +5815,9 @@ class DrawerComponent {
5986
5815
  width = 240;
5987
5816
  /**
5988
5817
  * Defines the width of the Drawer when the mini view is enabled and the component is collapsed.
5989
- *
5990
- * @default 50
5818
+ * By default, the mini view width is determined by the used Kendo Theme.
5991
5819
  */
5992
- miniWidth = 50;
5820
+ miniWidth;
5993
5821
  /**
5994
5822
  * Specifies if the Drawer automatically collapses when an item or the overlay is clicked.
5995
5823
  *
@@ -6069,12 +5897,11 @@ class DrawerComponent {
6069
5897
  */
6070
5898
  licenseMessage;
6071
5899
  viewItems;
6072
- animationEnd = new EventEmitter();
5900
+ pendingToggle = null;
5901
+ animatingViaToggle = false;
6073
5902
  dynamicRTLSubscription;
6074
5903
  rtl = false;
6075
- constructor(element, builder, localizationService, drawerService) {
6076
- this.element = element;
6077
- this.builder = builder;
5904
+ constructor(localizationService, drawerService) {
6078
5905
  this.localizationService = localizationService;
6079
5906
  this.drawerService = drawerService;
6080
5907
  const isValid = validatePackage(packageMetadata);
@@ -6087,17 +5914,26 @@ class DrawerComponent {
6087
5914
  this.drawerService.owner = this;
6088
5915
  }
6089
5916
  ngOnChanges(changes) {
6090
- if (changes && changes['items']) {
5917
+ if (changes?.['items']) {
6091
5918
  this.drawerService.resetSelection();
6092
5919
  this.drawerService.init();
6093
5920
  this.viewItems = this.drawerService.view;
6094
5921
  }
5922
+ if (changes?.['expanded']) {
5923
+ this.animatingViaToggle = false;
5924
+ }
6095
5925
  }
6096
5926
  ngOnDestroy() {
6097
5927
  if (this.dynamicRTLSubscription) {
6098
5928
  this.dynamicRTLSubscription.unsubscribe();
6099
5929
  }
6100
5930
  }
5931
+ /**
5932
+ * @hidden
5933
+ */
5934
+ get listExpanded() {
5935
+ return this.expanded || (this.animatingViaToggle && this.pendingToggle === false);
5936
+ }
6101
5937
  /**
6102
5938
  * @hidden
6103
5939
  */
@@ -6110,6 +5946,51 @@ class DrawerComponent {
6110
5946
  get drawerWidth() {
6111
5947
  return this.minimized ? this.miniWidth : this.width;
6112
5948
  }
5949
+ /**
5950
+ * @hidden
5951
+ */
5952
+ get drawerWrapperStyle() {
5953
+ const styles = {};
5954
+ const slidesLeft = (!this.rtl && this.position === 'start') || (this.rtl && this.position === 'end');
5955
+ if (this.expanded) {
5956
+ styles['width'] = `${this.width}px`;
5957
+ }
5958
+ else if (this.mini) {
5959
+ if (isPresent(this.miniWidth)) {
5960
+ styles['width'] = `${this.miniWidth}px`;
5961
+ }
5962
+ }
5963
+ else {
5964
+ styles['width'] = '0';
5965
+ }
5966
+ if (this.mode === 'overlay') {
5967
+ if (this.minimized) {
5968
+ styles['transform'] = 'translateX(0%)';
5969
+ }
5970
+ else if (this.expanded) {
5971
+ styles['opacity'] = '1';
5972
+ styles['transform'] = 'translateX(0px)';
5973
+ }
5974
+ else {
5975
+ styles['opacity'] = '0';
5976
+ styles['transform'] = slidesLeft ? 'translateX(-100%)' : 'translateX(100%)';
5977
+ }
5978
+ }
5979
+ else {
5980
+ styles['opacity'] = (this.expanded || this.minimized) ? '1' : '0';
5981
+ }
5982
+ if (this.animation && this.animatingViaToggle) {
5983
+ const animationSettings = typeof this.animation === 'boolean' ? DEFAULT_ANIMATION : this.animation;
5984
+ const duration = animationSettings.duration;
5985
+ if (this.mini) {
5986
+ styles['transition'] = `width ${duration}ms`;
5987
+ }
5988
+ else {
5989
+ styles['transition'] = `all ${duration}ms`;
5990
+ }
5991
+ }
5992
+ return styles;
5993
+ }
6113
5994
  /**
6114
5995
  * Toggles the visibility of the Drawer.
6115
5996
  * If the `expanded` parameter is not provided, the Drawer will toggle between expanded and collapsed states.
@@ -6122,20 +6003,16 @@ class DrawerComponent {
6122
6003
  if (current === previous) {
6123
6004
  return;
6124
6005
  }
6125
- if (current === true) {
6126
- this.setExpanded(true);
6127
- }
6128
- else if (current === false && !this.animation) {
6129
- this.setExpanded(false);
6130
- }
6131
- if (this.animation) {
6132
- this.animationEnd.pipe(take(1))
6133
- .subscribe(() => { this.onAnimationEnd(current); });
6134
- this.animate(current);
6135
- }
6136
- else {
6006
+ this.animatingViaToggle = true;
6007
+ this.setExpanded(current);
6008
+ const anim = this.animation && typeof this.animation !== 'boolean' ? this.animation : DEFAULT_ANIMATION;
6009
+ const duration = this.animation ? anim.duration : 0;
6010
+ if (!this.animation || duration === 0) {
6011
+ this.animatingViaToggle = false;
6137
6012
  this[current ? 'expand' : 'collapse'].emit();
6013
+ return;
6138
6014
  }
6015
+ this.pendingToggle = current;
6139
6016
  }
6140
6017
  /**
6141
6018
  * @hidden
@@ -6143,50 +6020,27 @@ class DrawerComponent {
6143
6020
  onSelect(e) {
6144
6021
  this.select.emit(Object.assign(e, { sender: this }));
6145
6022
  }
6146
- onAnimationEnd(currentExpanded) {
6147
- if (currentExpanded) {
6148
- this.expand.emit();
6023
+ /**
6024
+ * @hidden
6025
+ */
6026
+ onTransitionEnd(event) {
6027
+ if (this.pendingToggle === null) {
6028
+ return;
6149
6029
  }
6150
- else {
6151
- this.setExpanded(false);
6152
- this.collapse.emit();
6030
+ if (event.target !== event.currentTarget) {
6031
+ return;
6153
6032
  }
6033
+ const wasExpanding = this.pendingToggle;
6034
+ this.pendingToggle = null;
6035
+ this.animatingViaToggle = false;
6036
+ this[wasExpanding ? 'expand' : 'collapse'].emit();
6154
6037
  }
6155
6038
  setExpanded(value) {
6156
6039
  this.expanded = value;
6157
6040
  this.expandedChange.emit(value);
6158
6041
  }
6159
- shouldApplyOverlayMargin() {
6160
- return this.mode !== 'push' && !this.expanded && !this.minimized;
6161
- }
6162
- animate(expanded) {
6163
- const settings = {
6164
- mode: this.mode,
6165
- mini: this.mini,
6166
- miniWidth: this.miniWidth,
6167
- width: this.width,
6168
- rtl: this.rtl,
6169
- position: this.position,
6170
- animation: (typeof this.animation !== 'boolean') ? this.animation : DEFAULT_ANIMATION
6171
- };
6172
- const animation = expanded ? expandAnimation(settings) : collapseAnimation(settings);
6173
- const player = this.createPlayer(animation, this.element.nativeElement);
6174
- player.play();
6175
- }
6176
- createPlayer(animation, animatedElement) {
6177
- const factory = this.builder.build(animation);
6178
- let player = factory.create(animatedElement);
6179
- player.onDone(() => {
6180
- if (player) {
6181
- this.animationEnd.emit();
6182
- player.destroy();
6183
- player = null;
6184
- }
6185
- });
6186
- return player;
6187
- }
6188
- 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 });
6189
- 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: [
6042
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: DrawerComponent, deps: [{ token: i1.LocalizationService }, { token: DrawerService }], target: i0.ɵɵFactoryTarget.Component });
6043
+ 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", "attr.dir": "this.direction" } }, providers: [
6190
6044
  LocalizationService,
6191
6045
  DrawerService,
6192
6046
  {
@@ -6194,8 +6048,10 @@ class DrawerComponent {
6194
6048
  useValue: 'kendo.drawer'
6195
6049
  }
6196
6050
  ], queries: [{ propertyName: "drawerTemplate", first: true, predicate: DrawerTemplateDirective, descendants: true }, { propertyName: "footerTemplate", first: true, predicate: DrawerFooterTemplateDirective, descendants: true }, { propertyName: "headerTemplate", first: true, predicate: DrawerHeaderTemplateDirective, descendants: true }, { propertyName: "itemTemplate", first: true, predicate: DrawerItemTemplateDirective, descendants: true }], exportAs: ["kendoDrawer"], usesOnChanges: true, ngImport: i0, template: `
6197
- @if (expanded || mini) {
6198
- <div class="k-drawer-wrapper" [style.width.px]="drawerWidth">
6051
+ @if (expanded || mini || animation) {
6052
+ <div class="k-drawer-wrapper"
6053
+ [style]="drawerWrapperStyle"
6054
+ (transitionend)="onTransitionEnd($event)">
6199
6055
  @if (!drawerTemplate) {
6200
6056
  @if (headerTemplate) {
6201
6057
  <ng-template
@@ -6207,7 +6063,7 @@ class DrawerComponent {
6207
6063
  aria-orientation="vertical"
6208
6064
  (select)="onSelect($event)"
6209
6065
  [mini]="mini"
6210
- [expanded]="expanded"
6066
+ [expanded]="listExpanded"
6211
6067
  [(view)]="viewItems"
6212
6068
  [itemTemplate]="itemTemplate?.templateRef"
6213
6069
  class="k-drawer-items">
@@ -6245,8 +6101,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
6245
6101
  ],
6246
6102
  selector: 'kendo-drawer',
6247
6103
  template: `
6248
- @if (expanded || mini) {
6249
- <div class="k-drawer-wrapper" [style.width.px]="drawerWidth">
6104
+ @if (expanded || mini || animation) {
6105
+ <div class="k-drawer-wrapper"
6106
+ [style]="drawerWrapperStyle"
6107
+ (transitionend)="onTransitionEnd($event)">
6250
6108
  @if (!drawerTemplate) {
6251
6109
  @if (headerTemplate) {
6252
6110
  <ng-template
@@ -6258,7 +6116,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
6258
6116
  aria-orientation="vertical"
6259
6117
  (select)="onSelect($event)"
6260
6118
  [mini]="mini"
6261
- [expanded]="expanded"
6119
+ [expanded]="listExpanded"
6262
6120
  [(view)]="viewItems"
6263
6121
  [itemTemplate]="itemTemplate?.templateRef"
6264
6122
  class="k-drawer-items">
@@ -6284,7 +6142,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
6284
6142
  standalone: true,
6285
6143
  imports: [NgTemplateOutlet, DrawerListComponent, WatermarkOverlayComponent]
6286
6144
  }]
6287
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1$2.AnimationBuilder }, { type: i1.LocalizationService }, { type: DrawerService }], propDecorators: { hostClasses: [{
6145
+ }], ctorParameters: () => [{ type: i1.LocalizationService }, { type: DrawerService }], propDecorators: { hostClasses: [{
6288
6146
  type: HostBinding,
6289
6147
  args: ['class.k-drawer']
6290
6148
  }], startPositionClass: [{
@@ -6293,15 +6151,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
6293
6151
  }], endPositionClass: [{
6294
6152
  type: HostBinding,
6295
6153
  args: ['class.k-drawer-end']
6296
- }], overlayMarginLeft: [{
6297
- type: HostBinding,
6298
- args: ['style.marginLeft']
6299
- }], overlayMarginRight: [{
6300
- type: HostBinding,
6301
- args: ['style.marginRight']
6302
- }], flexStyles: [{
6303
- type: HostBinding,
6304
- args: ['style.flexBasis.px']
6305
6154
  }], mode: [{
6306
6155
  type: Input
6307
6156
  }], position: [{
@@ -9303,7 +9152,7 @@ class ExpansionPanelComponent {
9303
9152
  removeContentHiddenClass() {
9304
9153
  this.renderer.removeClass(this.content.nativeElement, CONTENT_HIDDEN_CLASS);
9305
9154
  }
9306
- 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 });
9155
+ 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: i2.AnimationBuilder }], target: i0.ɵɵFactoryTarget.Component });
9307
9156
  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: [
9308
9157
  LocalizationService,
9309
9158
  {
@@ -9410,7 +9259,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
9410
9259
  standalone: true,
9411
9260
  imports: [NgTemplateOutlet, IconWrapperComponent]
9412
9261
  }]
9413
- }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i1.LocalizationService }, { type: i1$2.AnimationBuilder }], propDecorators: { title: [{
9262
+ }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i1.LocalizationService }, { type: i2.AnimationBuilder }], propDecorators: { title: [{
9414
9263
  type: Input
9415
9264
  }], subtitle: [{
9416
9265
  type: Input
@@ -7,7 +7,7 @@ export const packageMetadata = {
7
7
  "productCodes": [
8
8
  "KENDOUIANGULAR"
9
9
  ],
10
- "publishDate": 1778851101,
11
- "version": "24.0.0-develop.33",
10
+ "publishDate": 1779117578,
11
+ "version": "24.0.0-develop.35",
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.33",
3
+ "version": "24.0.0-develop.35",
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": 1778851101,
66
+ "publishDate": 1779117578,
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.33",
77
- "@progress/kendo-angular-l10n": "24.0.0-develop.33",
78
- "@progress/kendo-angular-progressbar": "24.0.0-develop.33",
79
- "@progress/kendo-angular-icons": "24.0.0-develop.33",
80
- "@progress/kendo-angular-buttons": "24.0.0-develop.33",
81
- "@progress/kendo-angular-intl": "24.0.0-develop.33",
76
+ "@progress/kendo-angular-common": "24.0.0-develop.35",
77
+ "@progress/kendo-angular-l10n": "24.0.0-develop.35",
78
+ "@progress/kendo-angular-progressbar": "24.0.0-develop.35",
79
+ "@progress/kendo-angular-icons": "24.0.0-develop.35",
80
+ "@progress/kendo-angular-buttons": "24.0.0-develop.35",
81
+ "@progress/kendo-angular-intl": "24.0.0-develop.35",
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.33",
86
+ "@progress/kendo-angular-schematics": "24.0.0-develop.35",
87
87
  "@progress/kendo-draggable": "^3.0.2"
88
88
  },
89
89
  "schematics": "./schematics/collection.json",
@@ -1,13 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { AnimationMetadata } from '@angular/animations';
6
- /**
7
- * @hidden
8
- */
9
- export declare function expandAnimation(settings: any): AnimationMetadata[];
10
- /**
11
- * @hidden
12
- */
13
- export declare function collapseAnimation(settings: any): AnimationMetadata[];