@progress/kendo-angular-navigation 11.1.1-develop.1 → 11.2.0-develop.10

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,32 +2,61 @@
2
2
  * Copyright © 2023 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 { Component, ContentChild, ElementRef, EventEmitter, HostBinding, Input, NgZone, Output, Renderer2 } from '@angular/core';
5
+ import { ChangeDetectorRef, Component, ContentChild, ElementRef, EventEmitter, HostBinding, Input, NgZone, Output, Renderer2, ViewChild } from '@angular/core';
6
6
  import { validatePackage } from '@progress/kendo-licensing';
7
7
  import { packageMetadata } from '../package-metadata';
8
8
  import { Subscription } from 'rxjs';
9
- import { ActionSheetHeaderTemplateDirective, ActionSheetItemTemplateDirective, ActionSheetContentTemplateDirective, ActionSheetFooterTemplateDirective } from './models';
9
+ import { ActionSheetHeaderTemplateDirective, ActionSheetItemTemplateDirective, ActionSheetContentTemplateDirective, ActionSheetFooterTemplateDirective, ActionSheetTemplateDirective } from './models';
10
10
  import { Keys } from '@progress/kendo-angular-common';
11
11
  import { getId, getActionSheetItemIndex, getFirstAndLastFocusable, ACTIONSHEET_ITEM_INDEX_ATTRIBUTE } from '../common/util';
12
12
  import { L10N_PREFIX, LocalizationService } from '@progress/kendo-angular-l10n';
13
+ import { AnimationBuilder } from '@angular/animations';
14
+ import { slideDown, slideUp } from './animation/animations';
15
+ import { take } from 'rxjs/operators';
13
16
  import * as i0 from "@angular/core";
14
17
  import * as i1 from "@progress/kendo-angular-l10n";
15
- import * as i2 from "./list.component";
16
- import * as i3 from "@angular/common";
18
+ import * as i2 from "@angular/animations";
19
+ import * as i3 from "./list.component";
20
+ import * as i4 from "@angular/common";
21
+ const DEFAULT_ANIMATION_CONFIG = { duration: 300 };
17
22
  /**
18
23
  * Represents the [Kendo UI ActionSheet component for Angular]({% slug overview_actionsheet %}).
19
24
  * Used to display a set of choices related to a task the user initiates.
20
25
  */
21
26
  export class ActionSheetComponent {
22
- constructor(element, ngZone, renderer, localizationService) {
27
+ constructor(element, ngZone, renderer, localizationService, builder, cdr) {
23
28
  this.element = element;
24
29
  this.ngZone = ngZone;
25
30
  this.renderer = renderer;
26
31
  this.localizationService = localizationService;
32
+ this.builder = builder;
33
+ this.cdr = cdr;
27
34
  /**
28
- * @hidden
35
+ * Configures the ActionSheet opening and closing animations ([see example]({% slug animations_actionsheet %})).
36
+ * By default the animations are turned off. The default animations' duration is `300ms`.
37
+ *
38
+ * @default true
39
+ */
40
+ this.animation = true;
41
+ /**
42
+ * Specifies the state of the ActionSheet.
43
+ *
44
+ * @default false
45
+ */
46
+ this.expanded = false;
47
+ /**
48
+ * Fires when the `expanded` property of the component is updated.
49
+ * Used to provide a two-way binding for the `expanded` property.
50
+ */
51
+ this.expandedChange = new EventEmitter();
52
+ /**
53
+ * Fires when the ActionSheet is expanded and its animation is complete.
29
54
  */
30
- this.hostClass = true;
55
+ this.expand = new EventEmitter();
56
+ /**
57
+ * Fires when the ActionSheet is collapsed and its animation is complete.
58
+ */
59
+ this.collapse = new EventEmitter();
31
60
  /**
32
61
  * Fires when an ActionSheet item is clicked.
33
62
  */
@@ -42,6 +71,7 @@ export class ActionSheetComponent {
42
71
  this.titleId = null;
43
72
  this.rtl = false;
44
73
  this.domSubs = new Subscription();
74
+ this.animationEnd = new EventEmitter();
45
75
  validatePackage(packageMetadata);
46
76
  this.dynamicRTLSubscription = this.localizationService.changes.subscribe(({ rtl }) => {
47
77
  this.rtl = rtl;
@@ -49,15 +79,49 @@ export class ActionSheetComponent {
49
79
  });
50
80
  this.titleId = getId('k-actionsheet-title');
51
81
  }
82
+ /**
83
+ * @hidden
84
+ */
85
+ get hostClass() {
86
+ return this.expanded;
87
+ }
88
+ ;
52
89
  ngAfterViewInit() {
53
- this.handleInitialFocus();
54
90
  this.initDomEvents();
55
91
  }
92
+ ngOnChanges(changes) {
93
+ if (changes['expanded'] && this.expanded) {
94
+ this.setExpanded(true);
95
+ }
96
+ }
56
97
  ngOnDestroy() {
57
98
  this.domSubs.unsubscribe();
58
99
  if (this.dynamicRTLSubscription) {
59
100
  this.dynamicRTLSubscription.unsubscribe();
60
101
  }
102
+ if (this.player) {
103
+ this.player.destroy();
104
+ }
105
+ }
106
+ /**
107
+ * Toggles the visibility of the ActionSheet.
108
+ */
109
+ toggle() {
110
+ const current = !this.expanded;
111
+ if (current === true) {
112
+ this.setExpanded(true);
113
+ }
114
+ else if (current === false && !this.animation) {
115
+ this.setExpanded(false);
116
+ }
117
+ if (this.animation) {
118
+ this.animationEnd.pipe(take(1))
119
+ .subscribe(() => { this.onAnimationEnd(current); });
120
+ this.playAnimation(current);
121
+ }
122
+ else {
123
+ this[current ? 'expand' : 'collapse'].emit();
124
+ }
61
125
  }
62
126
  /**
63
127
  * @hidden
@@ -145,136 +209,188 @@ export class ActionSheetComponent {
145
209
  }
146
210
  this.itemClick.emit({ item, originalEvent: event });
147
211
  }
212
+ setExpanded(value) {
213
+ this.expanded = value;
214
+ this.expandedChange.emit(value);
215
+ if (this.expanded) {
216
+ this.cdr.detectChanges();
217
+ this.handleInitialFocus();
218
+ }
219
+ }
220
+ onAnimationEnd(currentExpanded) {
221
+ if (currentExpanded) {
222
+ this.expand.emit();
223
+ }
224
+ else {
225
+ this.setExpanded(false);
226
+ this.collapse.emit();
227
+ }
228
+ }
229
+ playAnimation(expanded) {
230
+ const duration = typeof this.animation !== 'boolean' && this.animation.duration ? this.animation.duration : DEFAULT_ANIMATION_CONFIG.duration;
231
+ const contentHeight = getComputedStyle(this.childContainer.nativeElement).height;
232
+ const animation = expanded ? slideUp(duration, contentHeight) : slideDown(duration, contentHeight);
233
+ const factory = this.builder.build(animation);
234
+ this.player = factory.create(this.childContainer.nativeElement);
235
+ this.player.onDone(() => {
236
+ if (this.player) {
237
+ this.animationEnd.emit();
238
+ this.player.destroy();
239
+ this.player = null;
240
+ }
241
+ });
242
+ this.player.play();
243
+ }
148
244
  }
149
- ActionSheetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ActionSheetComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
150
- ActionSheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ActionSheetComponent, selector: "kendo-actionsheet", inputs: { title: "title", subtitle: "subtitle", items: "items" }, outputs: { itemClick: "itemClick", overlayClick: "overlayClick" }, host: { properties: { "class.k-actionsheet-container": "this.hostClass", "attr.dir": "this.direction" } }, providers: [
245
+ ActionSheetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ActionSheetComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i1.LocalizationService }, { token: i2.AnimationBuilder }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
246
+ ActionSheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ActionSheetComponent, selector: "kendo-actionsheet", inputs: { title: "title", subtitle: "subtitle", items: "items", cssClass: "cssClass", animation: "animation", expanded: "expanded" }, outputs: { expandedChange: "expandedChange", expand: "expand", collapse: "collapse", itemClick: "itemClick", overlayClick: "overlayClick" }, host: { properties: { "class.k-actionsheet-container": "this.hostClass", "attr.dir": "this.direction" } }, providers: [
151
247
  LocalizationService,
152
248
  {
153
249
  provide: L10N_PREFIX,
154
250
  useValue: 'kendo.actionsheet.component'
155
251
  }
156
- ], queries: [{ propertyName: "headerTemplate", first: true, predicate: ActionSheetHeaderTemplateDirective, descendants: true }, { propertyName: "contentTemplate", first: true, predicate: ActionSheetContentTemplateDirective, descendants: true }, { propertyName: "itemTemplate", first: true, predicate: ActionSheetItemTemplateDirective, descendants: true }, { propertyName: "footerTemplate", first: true, predicate: ActionSheetFooterTemplateDirective, descendants: true }], exportAs: ["kendoActionSheet"], ngImport: i0, template: `
157
- <div class="k-overlay" (click)="onOverlayClick()"></div>
158
- <div class="k-animation-container">
159
- <div class="k-child-animation-container" [style]="'bottom: 0px; width: 100%;'">
160
- <div class="k-actionsheet k-actionsheet-bottom"
161
- [style]="'--kendo-actionsheet-height: auto; --kendo-actionsheet-max-height: none;'"
162
- role="dialog"
163
- aria-modal="true"
164
- [attr.aria-labelledby]="titleId">
252
+ ], queries: [{ propertyName: "actionSheetTemplate", first: true, predicate: ActionSheetTemplateDirective, descendants: true }, { propertyName: "headerTemplate", first: true, predicate: ActionSheetHeaderTemplateDirective, descendants: true }, { propertyName: "contentTemplate", first: true, predicate: ActionSheetContentTemplateDirective, descendants: true }, { propertyName: "itemTemplate", first: true, predicate: ActionSheetItemTemplateDirective, descendants: true }, { propertyName: "footerTemplate", first: true, predicate: ActionSheetFooterTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "childContainer", first: true, predicate: ["childContainer"], descendants: true }], exportAs: ["kendoActionSheet"], usesOnChanges: true, ngImport: i0, template: `
253
+ <ng-container *ngIf="expanded">
254
+ <div class="k-overlay" (click)="onOverlayClick()"></div>
255
+ <div class="k-animation-container">
256
+ <div #childContainer class="k-child-animation-container" [style]="'bottom: 0px; width: 100%;'">
257
+ <div class="k-actionsheet k-actionsheet-bottom"
258
+ [style]="'--kendo-actionsheet-height: auto; --kendo-actionsheet-max-height: none;'"
259
+ [ngClass]="cssClass"
260
+ role="dialog"
261
+ aria-modal="true"
262
+ [attr.aria-labelledby]="titleId">
263
+
264
+ <ng-template *ngIf="actionSheetTemplate; else defaultTemplate"
265
+ [ngTemplateOutlet]="actionSheetTemplate?.templateRef">
266
+ </ng-template>
165
267
 
166
- <div *ngIf="title || headerTemplate" class="k-actionsheet-titlebar">
167
- <div class="k-actionsheet-titlebar-group k-hbox">
168
- <div class="k-actionsheet-title" [id]="titleId">
169
- <ng-template *ngIf="headerTemplate; else defaultTemplate"
268
+ <ng-template #defaultTemplate>
269
+ <div *ngIf="title || subtitle || headerTemplate" class="k-actionsheet-titlebar">
270
+ <ng-template *ngIf="headerTemplate; else defaultHeaderTemplate"
170
271
  [ngTemplateOutlet]="headerTemplate?.templateRef">
171
272
  </ng-template>
172
- <ng-template #defaultTemplate>
173
- <div *ngIf="title" class="k-text-center">{{title}}</div>
174
- <div *ngIf="subtitle" class="k-actionsheet-subtitle k-text-center">{{subtitle}}</div>
273
+
274
+ <ng-template #defaultHeaderTemplate>
275
+ <div class="k-actionsheet-titlebar-group k-hbox">
276
+ <div class="k-actionsheet-title" [id]="titleId">
277
+ <div *ngIf="title" class="k-text-center">{{title}}</div>
278
+ <div *ngIf="subtitle" class="k-actionsheet-subtitle k-text-center">{{subtitle}}</div>
279
+ </div>
280
+ </div>
175
281
  </ng-template>
176
282
  </div>
177
- </div>
178
- </div>
179
283
 
180
- <div *ngIf="items || contentTemplate" class="k-actionsheet-content">
181
- <ng-template *ngIf="contentTemplate; else defaultContentTemplate"
182
- [ngTemplateOutlet]="contentTemplate?.templateRef">
183
- </ng-template>
184
- <ng-template #defaultContentTemplate>
185
- <div *ngIf="topGroupItems" kendoActionSheetList
186
- class="k-list-ul"
187
- role="group"
188
- [groupItems]="topGroupItems"
189
- [allItems]="items"
190
- [itemTemplate]="itemTemplate?.templateRef"
191
- (itemClick)="onItemClick($event)">
284
+ <div *ngIf="items || contentTemplate" class="k-actionsheet-content">
285
+ <ng-template *ngIf="contentTemplate; else defaultContentTemplate"
286
+ [ngTemplateOutlet]="contentTemplate?.templateRef">
287
+ </ng-template>
288
+ <ng-template #defaultContentTemplate>
289
+ <div *ngIf="topGroupItems" kendoActionSheetList
290
+ class="k-list-ul"
291
+ role="group"
292
+ [groupItems]="topGroupItems"
293
+ [allItems]="items"
294
+ [itemTemplate]="itemTemplate?.templateRef"
295
+ (itemClick)="onItemClick($event)">
296
+ </div>
297
+
298
+ <hr *ngIf="shouldRenderSeparator" class="k-hr"/>
299
+
300
+ <div *ngIf="bottomGroupItems" kendoActionSheetList
301
+ class="k-list-ul"
302
+ role="group"
303
+ [groupItems]="bottomGroupItems"
304
+ [allItems]="items"
305
+ [itemTemplate]="itemTemplate?.templateRef"
306
+ (itemClick)="onItemClick($event)">
307
+ </div>
308
+ </ng-template>
192
309
  </div>
193
-
194
- <hr *ngIf="shouldRenderSeparator" class="k-hr"/>
195
-
196
- <div *ngIf="bottomGroupItems" kendoActionSheetList
197
- class="k-list-ul"
198
- role="group"
199
- [groupItems]="bottomGroupItems"
200
- [allItems]="items"
201
- [itemTemplate]="itemTemplate?.templateRef"
202
- (itemClick)="onItemClick($event)">
310
+ <div *ngIf="footerTemplate" class="k-actionsheet-footer">
311
+ <ng-template
312
+ [ngTemplateOutlet]="footerTemplate?.templateRef">
313
+ </ng-template>
203
314
  </div>
204
315
  </ng-template>
205
316
  </div>
206
- <div *ngIf="footerTemplate" class="k-actionsheet-footer">
207
- <ng-template
208
- [ngTemplateOutlet]="footerTemplate?.templateRef">
209
- </ng-template>
210
- </div>
211
317
  </div>
212
318
  </div>
213
- </div>
214
- `, isInline: true, components: [{ type: i2.ActionSheetListComponent, selector: "[kendoActionSheetList]", inputs: ["groupItems", "allItems", "itemTemplate"], outputs: ["itemClick"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
319
+ </ng-container>
320
+ `, isInline: true, components: [{ type: i3.ActionSheetListComponent, selector: "[kendoActionSheetList]", inputs: ["groupItems", "allItems", "itemTemplate"], outputs: ["itemClick"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
215
321
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ActionSheetComponent, decorators: [{
216
322
  type: Component,
217
323
  args: [{
218
324
  exportAs: 'kendoActionSheet',
219
325
  selector: 'kendo-actionsheet',
220
326
  template: `
221
- <div class="k-overlay" (click)="onOverlayClick()"></div>
222
- <div class="k-animation-container">
223
- <div class="k-child-animation-container" [style]="'bottom: 0px; width: 100%;'">
224
- <div class="k-actionsheet k-actionsheet-bottom"
225
- [style]="'--kendo-actionsheet-height: auto; --kendo-actionsheet-max-height: none;'"
226
- role="dialog"
227
- aria-modal="true"
228
- [attr.aria-labelledby]="titleId">
327
+ <ng-container *ngIf="expanded">
328
+ <div class="k-overlay" (click)="onOverlayClick()"></div>
329
+ <div class="k-animation-container">
330
+ <div #childContainer class="k-child-animation-container" [style]="'bottom: 0px; width: 100%;'">
331
+ <div class="k-actionsheet k-actionsheet-bottom"
332
+ [style]="'--kendo-actionsheet-height: auto; --kendo-actionsheet-max-height: none;'"
333
+ [ngClass]="cssClass"
334
+ role="dialog"
335
+ aria-modal="true"
336
+ [attr.aria-labelledby]="titleId">
229
337
 
230
- <div *ngIf="title || headerTemplate" class="k-actionsheet-titlebar">
231
- <div class="k-actionsheet-titlebar-group k-hbox">
232
- <div class="k-actionsheet-title" [id]="titleId">
233
- <ng-template *ngIf="headerTemplate; else defaultTemplate"
338
+ <ng-template *ngIf="actionSheetTemplate; else defaultTemplate"
339
+ [ngTemplateOutlet]="actionSheetTemplate?.templateRef">
340
+ </ng-template>
341
+
342
+ <ng-template #defaultTemplate>
343
+ <div *ngIf="title || subtitle || headerTemplate" class="k-actionsheet-titlebar">
344
+ <ng-template *ngIf="headerTemplate; else defaultHeaderTemplate"
234
345
  [ngTemplateOutlet]="headerTemplate?.templateRef">
235
346
  </ng-template>
236
- <ng-template #defaultTemplate>
237
- <div *ngIf="title" class="k-text-center">{{title}}</div>
238
- <div *ngIf="subtitle" class="k-actionsheet-subtitle k-text-center">{{subtitle}}</div>
347
+
348
+ <ng-template #defaultHeaderTemplate>
349
+ <div class="k-actionsheet-titlebar-group k-hbox">
350
+ <div class="k-actionsheet-title" [id]="titleId">
351
+ <div *ngIf="title" class="k-text-center">{{title}}</div>
352
+ <div *ngIf="subtitle" class="k-actionsheet-subtitle k-text-center">{{subtitle}}</div>
353
+ </div>
354
+ </div>
239
355
  </ng-template>
240
356
  </div>
241
- </div>
242
- </div>
243
357
 
244
- <div *ngIf="items || contentTemplate" class="k-actionsheet-content">
245
- <ng-template *ngIf="contentTemplate; else defaultContentTemplate"
246
- [ngTemplateOutlet]="contentTemplate?.templateRef">
247
- </ng-template>
248
- <ng-template #defaultContentTemplate>
249
- <div *ngIf="topGroupItems" kendoActionSheetList
250
- class="k-list-ul"
251
- role="group"
252
- [groupItems]="topGroupItems"
253
- [allItems]="items"
254
- [itemTemplate]="itemTemplate?.templateRef"
255
- (itemClick)="onItemClick($event)">
358
+ <div *ngIf="items || contentTemplate" class="k-actionsheet-content">
359
+ <ng-template *ngIf="contentTemplate; else defaultContentTemplate"
360
+ [ngTemplateOutlet]="contentTemplate?.templateRef">
361
+ </ng-template>
362
+ <ng-template #defaultContentTemplate>
363
+ <div *ngIf="topGroupItems" kendoActionSheetList
364
+ class="k-list-ul"
365
+ role="group"
366
+ [groupItems]="topGroupItems"
367
+ [allItems]="items"
368
+ [itemTemplate]="itemTemplate?.templateRef"
369
+ (itemClick)="onItemClick($event)">
370
+ </div>
371
+
372
+ <hr *ngIf="shouldRenderSeparator" class="k-hr"/>
373
+
374
+ <div *ngIf="bottomGroupItems" kendoActionSheetList
375
+ class="k-list-ul"
376
+ role="group"
377
+ [groupItems]="bottomGroupItems"
378
+ [allItems]="items"
379
+ [itemTemplate]="itemTemplate?.templateRef"
380
+ (itemClick)="onItemClick($event)">
381
+ </div>
382
+ </ng-template>
256
383
  </div>
257
-
258
- <hr *ngIf="shouldRenderSeparator" class="k-hr"/>
259
-
260
- <div *ngIf="bottomGroupItems" kendoActionSheetList
261
- class="k-list-ul"
262
- role="group"
263
- [groupItems]="bottomGroupItems"
264
- [allItems]="items"
265
- [itemTemplate]="itemTemplate?.templateRef"
266
- (itemClick)="onItemClick($event)">
384
+ <div *ngIf="footerTemplate" class="k-actionsheet-footer">
385
+ <ng-template
386
+ [ngTemplateOutlet]="footerTemplate?.templateRef">
387
+ </ng-template>
267
388
  </div>
268
389
  </ng-template>
269
390
  </div>
270
- <div *ngIf="footerTemplate" class="k-actionsheet-footer">
271
- <ng-template
272
- [ngTemplateOutlet]="footerTemplate?.templateRef">
273
- </ng-template>
274
- </div>
275
391
  </div>
276
392
  </div>
277
- </div>
393
+ </ng-container>
278
394
  `,
279
395
  providers: [
280
396
  LocalizationService,
@@ -284,7 +400,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
284
400
  }
285
401
  ]
286
402
  }]
287
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i1.LocalizationService }]; }, propDecorators: { hostClass: [{
403
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i1.LocalizationService }, { type: i2.AnimationBuilder }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { hostClass: [{
288
404
  type: HostBinding,
289
405
  args: ['class.k-actionsheet-container']
290
406
  }], direction: [{
@@ -296,10 +412,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
296
412
  type: Input
297
413
  }], items: [{
298
414
  type: Input
415
+ }], cssClass: [{
416
+ type: Input
417
+ }], animation: [{
418
+ type: Input
419
+ }], expanded: [{
420
+ type: Input
421
+ }], expandedChange: [{
422
+ type: Output
423
+ }], expand: [{
424
+ type: Output
425
+ }], collapse: [{
426
+ type: Output
299
427
  }], itemClick: [{
300
428
  type: Output
301
429
  }], overlayClick: [{
302
430
  type: Output
431
+ }], childContainer: [{
432
+ type: ViewChild,
433
+ args: ['childContainer']
434
+ }], actionSheetTemplate: [{
435
+ type: ContentChild,
436
+ args: [ActionSheetTemplateDirective]
303
437
  }], headerTemplate: [{
304
438
  type: ContentChild,
305
439
  args: [ActionSheetHeaderTemplateDirective]
@@ -0,0 +1,23 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2023 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { animate, style } from '@angular/animations';
6
+ /**
7
+ * @hidden
8
+ */
9
+ export function slideUp(duration, height) {
10
+ return [
11
+ style({ overflow: 'hidden', display: 'block', height: 0 }),
12
+ animate(`${duration}ms ease-in`, style({ height: `${height}` }))
13
+ ];
14
+ }
15
+ /**
16
+ * @hidden
17
+ */
18
+ export function slideDown(duration, height) {
19
+ return [
20
+ style({ overflow: 'hidden', height: `${height}` }),
21
+ animate(`${duration}ms ease-in`, style({ overflow: 'hidden', height: 0 }))
22
+ ];
23
+ }
@@ -0,0 +1,5 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2023 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ export {};
@@ -7,3 +7,4 @@ export { ActionSheetHeaderTemplateDirective } from '../templates/header-template
7
7
  export { ActionSheetItemTemplateDirective } from '../templates/item-template.directive';
8
8
  export { ActionSheetContentTemplateDirective } from '../templates/content-template.directive';
9
9
  export { ActionSheetFooterTemplateDirective } from '../templates/footer-template.directive';
10
+ export { ActionSheetTemplateDirective } from '../templates/actionsheet-template';
@@ -0,0 +1,26 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2023 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { Directive, Optional, TemplateRef } from '@angular/core';
6
+ import * as i0 from "@angular/core";
7
+ /**
8
+ * Represents a template that defines the content of the ActionSheet.
9
+ * To define the template, nest an `<ng-template>` tag
10
+ * with the `kendoActionSheetTemplate` directive inside the `<kendo-actionsheet>` tag.
11
+ */
12
+ export class ActionSheetTemplateDirective {
13
+ constructor(templateRef) {
14
+ this.templateRef = templateRef;
15
+ }
16
+ }
17
+ ActionSheetTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ActionSheetTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
18
+ ActionSheetTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: ActionSheetTemplateDirective, selector: "[kendoActionSheetTemplate]", ngImport: i0 });
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ActionSheetTemplateDirective, decorators: [{
20
+ type: Directive,
21
+ args: [{
22
+ selector: '[kendoActionSheetTemplate]'
23
+ }]
24
+ }], ctorParameters: function () { return [{ type: i0.TemplateRef, decorators: [{
25
+ type: Optional
26
+ }] }]; } });
@@ -6,7 +6,7 @@ import { NgModule } from '@angular/core';
6
6
  import { CommonModule } from '@angular/common';
7
7
  import { IconsModule } from '@progress/kendo-angular-icons';
8
8
  import { ActionSheetComponent } from './actionsheet/actionsheet.component';
9
- import { ActionSheetHeaderTemplateDirective, ActionSheetItemTemplateDirective, ActionSheetContentTemplateDirective, ActionSheetFooterTemplateDirective } from './actionsheet/models';
9
+ import { ActionSheetHeaderTemplateDirective, ActionSheetItemTemplateDirective, ActionSheetContentTemplateDirective, ActionSheetFooterTemplateDirective, ActionSheetTemplateDirective } from './actionsheet/models';
10
10
  import { ActionSheetItemComponent } from './actionsheet/item.component';
11
11
  import { ActionSheetListComponent } from './actionsheet/list.component';
12
12
  import * as i0 from "@angular/core";
@@ -14,7 +14,8 @@ const templateDirectives = [
14
14
  ActionSheetHeaderTemplateDirective,
15
15
  ActionSheetItemTemplateDirective,
16
16
  ActionSheetContentTemplateDirective,
17
- ActionSheetFooterTemplateDirective
17
+ ActionSheetFooterTemplateDirective,
18
+ ActionSheetTemplateDirective
18
19
  ];
19
20
  const exportedModules = [
20
21
  ActionSheetComponent,
@@ -64,10 +65,12 @@ ActionSheetModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", versi
64
65
  ActionSheetListComponent, ActionSheetComponent, ActionSheetHeaderTemplateDirective,
65
66
  ActionSheetItemTemplateDirective,
66
67
  ActionSheetContentTemplateDirective,
67
- ActionSheetFooterTemplateDirective], imports: [CommonModule, IconsModule], exports: [ActionSheetComponent, ActionSheetHeaderTemplateDirective,
68
+ ActionSheetFooterTemplateDirective,
69
+ ActionSheetTemplateDirective], imports: [CommonModule, IconsModule], exports: [ActionSheetComponent, ActionSheetHeaderTemplateDirective,
68
70
  ActionSheetItemTemplateDirective,
69
71
  ActionSheetContentTemplateDirective,
70
- ActionSheetFooterTemplateDirective] });
72
+ ActionSheetFooterTemplateDirective,
73
+ ActionSheetTemplateDirective] });
71
74
  ActionSheetModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ActionSheetModule, imports: [[CommonModule, IconsModule]] });
72
75
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ActionSheetModule, decorators: [{
73
76
  type: NgModule,
@@ -39,7 +39,7 @@ export class BottomNavigationItemComponent {
39
39
  }
40
40
  }
41
41
  BottomNavigationItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: BottomNavigationItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
42
- BottomNavigationItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: BottomNavigationItemComponent, selector: "[kendoBottomNavigationItem]", inputs: { itemTemplate: "itemTemplate", item: "item", index: "index", disabledComponent: "disabledComponent", selectedIdx: "selectedIdx", orientation: "orientation" }, host: { properties: { "attr.aria-disabled": "this.disabledClass", "class.k-disabled": "this.disabledClass", "class.k-hstack": "this.horizontalItemClass", "class.k-vstack": "this.verticalItemClass", "attr.aria-label": "this.label", "attr.tabindex": "this.tabindex", "attr.aria-selected": "this.selectedClass", "class.k-selected": "this.selectedClass" } }, ngImport: i0, template: `
42
+ BottomNavigationItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: BottomNavigationItemComponent, selector: "[kendoBottomNavigationItem]", inputs: { itemTemplate: "itemTemplate", item: "item", index: "index", disabledComponent: "disabledComponent", selectedIdx: "selectedIdx", orientation: "orientation" }, host: { properties: { "attr.aria-disabled": "this.disabledClass", "class.k-disabled": "this.disabledClass", "class.k-hstack": "this.horizontalItemClass", "class.k-vstack": "this.verticalItemClass", "attr.aria-label": "this.label", "attr.tabindex": "this.tabindex", "attr.aria-selected": "this.selectedClass", "attr.aria-current": "this.selectedClass", "class.k-selected": "this.selectedClass" } }, ngImport: i0, template: `
43
43
  <ng-container *ngIf="!itemTemplate">
44
44
  <kendo-icon-wrapper *ngIf="itemIcon"
45
45
  class="k-bottom-nav-item-icon"
@@ -110,6 +110,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
110
110
  }], selectedClass: [{
111
111
  type: HostBinding,
112
112
  args: ['attr.aria-selected']
113
+ }, {
114
+ type: HostBinding,
115
+ args: ['attr.aria-current']
113
116
  }, {
114
117
  type: HostBinding,
115
118
  args: ['class.k-selected']
@@ -2,6 +2,7 @@
2
2
  * Copyright © 2023 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
+ /* eslint-disable @typescript-eslint/no-explicit-any */
5
6
  import { Component, ContentChild, Input, Output, EventEmitter, ViewChild, HostBinding, ElementRef, ChangeDetectorRef, NgZone, ViewChildren, QueryList, isDevMode } from '@angular/core';
6
7
  import { Subscription, ReplaySubject, merge, Subject } from 'rxjs';
7
8
  import { filter, map, share, startWith } from 'rxjs/operators';
@@ -48,11 +49,11 @@ import * as i4 from "@angular/common";
48
49
  * ```
49
50
  */
50
51
  export class BreadCrumbComponent {
51
- constructor(el, cdr, zone, localization) {
52
+ constructor(localization, el, cdr, zone) {
53
+ this.localization = localization;
52
54
  this.el = el;
53
55
  this.cdr = cdr;
54
56
  this.zone = zone;
55
- this.localization = localization;
56
57
  /**
57
58
  * Fires when a Breadcrumb item is clicked. The event will not be fired by disabled items and the last item.
58
59
  */
@@ -184,8 +185,8 @@ export class BreadCrumbComponent {
184
185
  }));
185
186
  }
186
187
  }
187
- BreadCrumbComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: BreadCrumbComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
188
- BreadCrumbComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: BreadCrumbComponent, selector: "kendo-breadcrumb", inputs: { items: "items", separatorIcon: "separatorIcon", separatorSVGIcon: "separatorSVGIcon", collapseMode: "collapseMode" }, outputs: { itemClick: "itemClick" }, host: { properties: { "class.k-widget": "this.hostClasses", "class.k-breadcrumb": "this.hostClasses", "class.k-breadcrumb-wrap": "this.wrapMode", "attr.dir": "this.getDir" } }, providers: [
188
+ BreadCrumbComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: BreadCrumbComponent, deps: [{ token: i1.LocalizationService }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
189
+ BreadCrumbComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: BreadCrumbComponent, selector: "kendo-breadcrumb", inputs: { items: "items", separatorIcon: "separatorIcon", separatorSVGIcon: "separatorSVGIcon", collapseMode: "collapseMode" }, outputs: { itemClick: "itemClick" }, host: { properties: { "class.k-breadcrumb": "this.hostClasses", "class.k-breadcrumb-wrap": "this.wrapMode", "attr.dir": "this.getDir" } }, providers: [
189
190
  LocalizationService,
190
191
  {
191
192
  provide: L10N_PREFIX,
@@ -258,7 +259,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
258
259
  <kendo-resize-sensor [rateLimit]="1000" #resizeSensor></kendo-resize-sensor>
259
260
  `
260
261
  }]
261
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i1.LocalizationService }]; }, propDecorators: { items: [{
262
+ }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }]; }, propDecorators: { items: [{
262
263
  type: Input
263
264
  }], separatorIcon: [{
264
265
  type: Input
@@ -279,11 +280,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
279
280
  args: [BreadCrumbListComponent, { static: true }]
280
281
  }], itemTemplate: [{
281
282
  type: ContentChild,
282
- args: [BreadCrumbItemTemplateDirective, { static: false }]
283
+ args: [BreadCrumbItemTemplateDirective]
283
284
  }], hostClasses: [{
284
- type: HostBinding,
285
- args: ['class.k-widget']
286
- }, {
287
285
  type: HostBinding,
288
286
  args: ['class.k-breadcrumb']
289
287
  }], wrapMode: [{