@progress/kendo-angular-navigation 16.5.0-develop.6 → 16.6.0-develop.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/actionsheet/actionsheet.component.d.ts +1 -1
  2. package/actionsheet/item.component.d.ts +1 -1
  3. package/actionsheet/list.component.d.ts +1 -1
  4. package/actionsheet/templates/actionsheet-template.d.ts +1 -1
  5. package/actionsheet/templates/content-template.directive.d.ts +1 -1
  6. package/actionsheet/templates/footer-template.directive.d.ts +1 -1
  7. package/actionsheet/templates/header-template.directive.d.ts +1 -1
  8. package/actionsheet/templates/item-template.directive.d.ts +1 -1
  9. package/actionsheet.module.d.ts +7 -11
  10. package/appbar/appbar-section.component.d.ts +1 -1
  11. package/appbar/appbar-spacer.component.d.ts +1 -1
  12. package/appbar/appbar.component.d.ts +1 -1
  13. package/appbar.module.d.ts +1 -2
  14. package/bottomnavigation/bottomnavigation-item.component.d.ts +1 -1
  15. package/bottomnavigation/bottomnavigation.component.d.ts +1 -1
  16. package/bottomnavigation/templates/item-template.directive.d.ts +1 -1
  17. package/bottomnavigation.module.d.ts +3 -6
  18. package/breadcrumb/breadcrumb-item.component.d.ts +1 -1
  19. package/breadcrumb/breadcrumb.component.d.ts +1 -1
  20. package/breadcrumb/list.component.d.ts +1 -1
  21. package/breadcrumb/template-directives/item-template.directive.d.ts +1 -1
  22. package/breadcrumb/template-directives/separator.directive.d.ts +1 -1
  23. package/breadcrumb.module.d.ts +2 -8
  24. package/directives.d.ts +33 -0
  25. package/esm2020/actionsheet/actionsheet.component.mjs +7 -5
  26. package/esm2020/actionsheet/item.component.mjs +7 -5
  27. package/esm2020/actionsheet/list.component.mjs +6 -4
  28. package/esm2020/actionsheet/templates/actionsheet-template.mjs +3 -2
  29. package/esm2020/actionsheet/templates/content-template.directive.mjs +3 -2
  30. package/esm2020/actionsheet/templates/footer-template.directive.mjs +3 -2
  31. package/esm2020/actionsheet/templates/header-template.directive.mjs +3 -2
  32. package/esm2020/actionsheet/templates/item-template.directive.mjs +3 -2
  33. package/esm2020/actionsheet.module.mjs +14 -36
  34. package/esm2020/appbar/appbar-section.component.mjs +3 -2
  35. package/esm2020/appbar/appbar-spacer.component.mjs +3 -2
  36. package/esm2020/appbar/appbar.component.mjs +3 -2
  37. package/esm2020/appbar.module.mjs +9 -21
  38. package/esm2020/bottomnavigation/bottomnavigation-item.component.mjs +8 -6
  39. package/esm2020/bottomnavigation/bottomnavigation.component.mjs +7 -5
  40. package/esm2020/bottomnavigation/templates/item-template.directive.mjs +3 -2
  41. package/esm2020/bottomnavigation.module.mjs +10 -13
  42. package/esm2020/breadcrumb/breadcrumb-item.component.mjs +7 -5
  43. package/esm2020/breadcrumb/breadcrumb.component.mjs +6 -6
  44. package/esm2020/breadcrumb/list.component.mjs +6 -5
  45. package/esm2020/breadcrumb/template-directives/item-template.directive.mjs +3 -2
  46. package/esm2020/breadcrumb/template-directives/separator.directive.mjs +6 -4
  47. package/esm2020/breadcrumb.module.mjs +11 -30
  48. package/esm2020/directives.mjs +55 -0
  49. package/esm2020/index.mjs +1 -0
  50. package/esm2020/navigation.module.mjs +22 -18
  51. package/esm2020/package-metadata.mjs +2 -2
  52. package/fesm2015/progress-kendo-angular-navigation.mjs +1555 -1549
  53. package/fesm2020/progress-kendo-angular-navigation.mjs +1523 -1517
  54. package/index.d.ts +1 -0
  55. package/navigation.module.d.ts +14 -5
  56. package/package.json +5 -5
@@ -3,21 +3,18 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import * as i0 from '@angular/core';
6
- import { Component, HostBinding, Input, NgModule, Directive, Optional, EventEmitter, Output, ViewChildren, isDevMode, ElementRef, ViewChild, ContentChild } from '@angular/core';
6
+ import { Component, HostBinding, Input, Directive, Optional, EventEmitter, Output, ViewChild, ContentChild, ViewChildren, isDevMode, ElementRef, NgModule } from '@angular/core';
7
7
  import * as i1 from '@progress/kendo-angular-l10n';
8
8
  import { LocalizationService, L10N_PREFIX } from '@progress/kendo-angular-l10n';
9
9
  import { validatePackage } from '@progress/kendo-licensing';
10
- import * as i3 from '@progress/kendo-angular-common';
11
- import { focusableSelector, closestInScope as closestInScope$1, isDocumentAvailable, Keys, ResizeSensorModule, isPresent as isPresent$1 } from '@progress/kendo-angular-common';
12
- import * as i1$1 from '@angular/common';
13
- import { CommonModule } from '@angular/common';
14
- import { fromEvent, merge, ReplaySubject, Subject, Subscription } from 'rxjs';
15
- import { filter, map, startWith, share, take } from 'rxjs/operators';
16
- import * as i2 from '@progress/kendo-angular-icons';
17
- import { IconsModule } from '@progress/kendo-angular-icons';
18
- import { chevronRightIcon, chevronLeftIcon } from '@progress/kendo-svg-icons';
19
- import * as i2$1 from '@angular/animations';
10
+ import { focusableSelector, closestInScope as closestInScope$1, isPresent as isPresent$1, isDocumentAvailable, Keys, ResizeSensorComponent, ResizeBatchService } from '@progress/kendo-angular-common';
11
+ import { NgIf, NgTemplateOutlet, NgFor, NgClass, NgStyle, AsyncPipe } from '@angular/common';
12
+ import { Subscription, fromEvent, merge, ReplaySubject, Subject } from 'rxjs';
13
+ import * as i2 from '@angular/animations';
20
14
  import { style, animate } from '@angular/animations';
15
+ import { take, filter, map, startWith, share } from 'rxjs/operators';
16
+ import { IconWrapperComponent, IconsService } from '@progress/kendo-angular-icons';
17
+ import { chevronRightIcon, chevronLeftIcon } from '@progress/kendo-svg-icons';
21
18
 
22
19
  /**
23
20
  * @hidden
@@ -26,8 +23,8 @@ const packageMetadata = {
26
23
  name: '@progress/kendo-angular-navigation',
27
24
  productName: 'Kendo UI for Angular',
28
25
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
29
- publishDate: 1721765943,
30
- version: '16.5.0-develop.6',
26
+ publishDate: 1721827583,
27
+ version: '16.6.0-develop.1',
31
28
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
32
29
  };
33
30
 
@@ -138,7 +135,7 @@ class AppBarComponent {
138
135
  }
139
136
  }
140
137
  AppBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AppBarComponent, deps: [{ token: i1.LocalizationService }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
141
- AppBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AppBarComponent, selector: "kendo-appbar", inputs: { position: "position", positionMode: "positionMode", themeColor: "themeColor" }, host: { properties: { "class.k-appbar": "this.hostClass", "attr.dir": "this.direction" } }, providers: [
138
+ AppBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AppBarComponent, isStandalone: true, selector: "kendo-appbar", inputs: { position: "position", positionMode: "positionMode", themeColor: "themeColor" }, host: { properties: { "class.k-appbar": "this.hostClass", "attr.dir": "this.direction" } }, providers: [
142
139
  LocalizationService,
143
140
  {
144
141
  provide: L10N_PREFIX,
@@ -161,7 +158,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
161
158
  provide: L10N_PREFIX,
162
159
  useValue: 'kendo.appbar.component'
163
160
  }
164
- ]
161
+ ],
162
+ standalone: true
165
163
  }]
166
164
  }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { hostClass: [{
167
165
  type: HostBinding,
@@ -201,7 +199,7 @@ class AppBarSectionComponent {
201
199
  }
202
200
  }
203
201
  AppBarSectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AppBarSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
204
- AppBarSectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AppBarSectionComponent, selector: "kendo-appbar-section", host: { properties: { "class.k-appbar-section": "this.hostClass" } }, ngImport: i0, template: `
202
+ AppBarSectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AppBarSectionComponent, isStandalone: true, selector: "kendo-appbar-section", host: { properties: { "class.k-appbar-section": "this.hostClass" } }, ngImport: i0, template: `
205
203
  <ng-content></ng-content>
206
204
  `, isInline: true });
207
205
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AppBarSectionComponent, decorators: [{
@@ -210,7 +208,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
210
208
  selector: 'kendo-appbar-section',
211
209
  template: `
212
210
  <ng-content></ng-content>
213
- `
211
+ `,
212
+ standalone: true
214
213
  }]
215
214
  }], propDecorators: { hostClass: [{
216
215
  type: HostBinding,
@@ -321,12 +320,13 @@ class AppBarSpacerComponent {
321
320
  }
322
321
  }
323
322
  AppBarSpacerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AppBarSpacerComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
324
- AppBarSpacerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AppBarSpacerComponent, selector: "kendo-appbar-spacer", inputs: { width: "width" }, host: { properties: { "class.k-spacer": "this.hostClass", "class.k-spacer-sized": "this.sizedClass" } }, ngImport: i0, template: ``, isInline: true });
323
+ AppBarSpacerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AppBarSpacerComponent, isStandalone: true, selector: "kendo-appbar-spacer", inputs: { width: "width" }, host: { properties: { "class.k-spacer": "this.hostClass", "class.k-spacer-sized": "this.sizedClass" } }, ngImport: i0, template: ``, isInline: true });
325
324
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AppBarSpacerComponent, decorators: [{
326
325
  type: Component,
327
326
  args: [{
328
327
  selector: 'kendo-appbar-spacer',
329
- template: ``
328
+ template: ``,
329
+ standalone: true
330
330
  }]
331
331
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; }, propDecorators: { hostClass: [{
332
332
  type: HostBinding,
@@ -338,81 +338,53 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
338
338
  type: Input
339
339
  }] } });
340
340
 
341
- const exportedModules$2 = [
342
- AppBarComponent,
343
- AppBarSectionComponent,
344
- AppBarSpacerComponent
345
- ];
346
- const declarations$3 = [
347
- ...exportedModules$2
348
- ];
349
341
  /**
350
- * Represents the [NgModule](link:site.data.urls.angular['ngmoduleapi'])
351
- * definition for the AppBar component.
352
- *
353
- * @example
354
- *
355
- * ```ts-no-run
356
- * // Import the AppBar module
357
- * import { AppBarModule } from '@progress/kendo-angular-navigation';
358
- *
359
- * // The browser platform with a compiler
360
- * import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
361
- * import { BrowserModule } from '@angular/platform-browser';
362
- *
363
- * import { NgModule } from '@angular/core';
364
- *
365
- * // Import the app component
366
- * import { AppComponent } from './app.component';
367
- *
368
- * // Define the app module
369
- * _@NgModule({
370
- * declarations: [AppComponent], // declare app component
371
- * imports: [BrowserModule, AppBarModule], // import AppBar module
372
- * bootstrap: [AppComponent]
373
- * })
374
- * export class AppModule {}
375
- *
376
- * // Compile and launch the module
377
- * platformBrowserDynamic().bootstrapModule(AppModule);
378
- *
379
- * ```
342
+ * Arguments for the `itemClick` event of the ActionSheet.
380
343
  */
381
- class AppBarModule {
344
+ class ActionSheetItemClickEvent {
382
345
  }
383
- AppBarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AppBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
384
- AppBarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: AppBarModule, declarations: [AppBarComponent,
385
- AppBarSectionComponent,
386
- AppBarSpacerComponent], imports: [CommonModule], exports: [AppBarComponent,
387
- AppBarSectionComponent,
388
- AppBarSpacerComponent] });
389
- AppBarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AppBarModule, imports: [CommonModule] });
390
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AppBarModule, decorators: [{
391
- type: NgModule,
346
+
347
+ /**
348
+ * Represents a template that defines the header content of the ActionSheet. Utilizing the template overrides both the `title` and `subtitle` of the ActionSheet.
349
+ * To define the template, nest an `<ng-template>` tag
350
+ * with the `kendoActionSheetHeaderTemplate` directive inside the `<kendo-actionsheet>` tag.
351
+ */
352
+ class ActionSheetHeaderTemplateDirective {
353
+ constructor(templateRef) {
354
+ this.templateRef = templateRef;
355
+ }
356
+ }
357
+ ActionSheetHeaderTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ActionSheetHeaderTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
358
+ ActionSheetHeaderTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: ActionSheetHeaderTemplateDirective, isStandalone: true, selector: "[kendoActionSheetHeaderTemplate]", ngImport: i0 });
359
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ActionSheetHeaderTemplateDirective, decorators: [{
360
+ type: Directive,
392
361
  args: [{
393
- declarations: [declarations$3],
394
- exports: [exportedModules$2],
395
- imports: [CommonModule]
362
+ selector: '[kendoActionSheetHeaderTemplate]',
363
+ standalone: true
396
364
  }]
397
- }] });
365
+ }], ctorParameters: function () {
366
+ return [{ type: i0.TemplateRef, decorators: [{
367
+ type: Optional
368
+ }] }];
369
+ } });
398
370
 
399
371
  /**
400
- * Represents a template that defines the content of a Breadcrumb item.
401
- * To define the template, nest an `<ng-template>` tag with the `kendoBreadCrumbItemTemplate` directive inside the `<kendo-breadcrumb>` tag.
402
- *
403
- * For more information and example refer to the [Templates]({% slug templates_breadcrumb %}) article.
372
+ * Represents a template that defines the item content of the ActionSheet.
373
+ * To define the template, nest an `<ng-template>` tag
374
+ * with the `kendoActionSheetItemTemplate` directive inside the `<kendo-actionsheet>` tag.
404
375
  */
405
- class BreadCrumbItemTemplateDirective {
376
+ class ActionSheetItemTemplateDirective {
406
377
  constructor(templateRef) {
407
378
  this.templateRef = templateRef;
408
379
  }
409
380
  }
410
- BreadCrumbItemTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BreadCrumbItemTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
411
- BreadCrumbItemTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: BreadCrumbItemTemplateDirective, selector: "[kendoBreadCrumbItemTemplate]", ngImport: i0 });
412
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BreadCrumbItemTemplateDirective, decorators: [{
381
+ ActionSheetItemTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ActionSheetItemTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
382
+ ActionSheetItemTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: ActionSheetItemTemplateDirective, isStandalone: true, selector: "[kendoActionSheetItemTemplate]", ngImport: i0 });
383
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ActionSheetItemTemplateDirective, decorators: [{
413
384
  type: Directive,
414
385
  args: [{
415
- selector: '[kendoBreadCrumbItemTemplate]'
386
+ selector: '[kendoActionSheetItemTemplate]',
387
+ standalone: true
416
388
  }]
417
389
  }], ctorParameters: function () {
418
390
  return [{ type: i0.TemplateRef, decorators: [{
@@ -421,776 +393,813 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
421
393
  } });
422
394
 
423
395
  /**
424
- * @hidden
396
+ * Represents a template that defines the items list content of the ActionSheet.
397
+ * To define the template, nest an `<ng-template>` tag
398
+ * with the `kendoActionSheetContentTemplate` directive inside the `<kendo-actionsheet>` tag.
425
399
  */
426
- const BREADCRUMB_ITEM_INDEX = 'data-kendo-breadcrumb-index';
400
+ class ActionSheetContentTemplateDirective {
401
+ constructor(templateRef) {
402
+ this.templateRef = templateRef;
403
+ }
404
+ }
405
+ ActionSheetContentTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ActionSheetContentTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
406
+ ActionSheetContentTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: ActionSheetContentTemplateDirective, isStandalone: true, selector: "[kendoActionSheetContentTemplate]", ngImport: i0 });
407
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ActionSheetContentTemplateDirective, decorators: [{
408
+ type: Directive,
409
+ args: [{
410
+ selector: '[kendoActionSheetContentTemplate]',
411
+ standalone: true
412
+ }]
413
+ }], ctorParameters: function () {
414
+ return [{ type: i0.TemplateRef, decorators: [{
415
+ type: Optional
416
+ }] }];
417
+ } });
418
+
419
+ /**
420
+ * Represents a template that defines the footer of the ActionSheet.
421
+ * To define the template, nest an `<ng-template>` tag
422
+ * with the `kendoActionSheetFooterTemplate` directive inside the `<kendo-actionsheet>` tag.
423
+ */
424
+ class ActionSheetFooterTemplateDirective {
425
+ constructor(templateRef) {
426
+ this.templateRef = templateRef;
427
+ }
428
+ }
429
+ ActionSheetFooterTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ActionSheetFooterTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
430
+ ActionSheetFooterTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: ActionSheetFooterTemplateDirective, isStandalone: true, selector: "[kendoActionSheetFooterTemplate]", ngImport: i0 });
431
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ActionSheetFooterTemplateDirective, decorators: [{
432
+ type: Directive,
433
+ args: [{
434
+ selector: '[kendoActionSheetFooterTemplate]',
435
+ standalone: true
436
+ }]
437
+ }], ctorParameters: function () {
438
+ return [{ type: i0.TemplateRef, decorators: [{
439
+ type: Optional
440
+ }] }];
441
+ } });
442
+
443
+ /**
444
+ * Represents a template that defines the content of the ActionSheet.
445
+ * To define the template, nest an `<ng-template>` tag
446
+ * with the `kendoActionSheetTemplate` directive inside the `<kendo-actionsheet>` tag.
447
+ */
448
+ class ActionSheetTemplateDirective {
449
+ constructor(templateRef) {
450
+ this.templateRef = templateRef;
451
+ }
452
+ }
453
+ ActionSheetTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ActionSheetTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
454
+ ActionSheetTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: ActionSheetTemplateDirective, isStandalone: true, selector: "[kendoActionSheetTemplate]", ngImport: i0 });
455
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ActionSheetTemplateDirective, decorators: [{
456
+ type: Directive,
457
+ args: [{
458
+ selector: '[kendoActionSheetTemplate]',
459
+ standalone: true
460
+ }]
461
+ }], ctorParameters: function () {
462
+ return [{ type: i0.TemplateRef, decorators: [{
463
+ type: Optional
464
+ }] }];
465
+ } });
466
+
427
467
  /**
428
468
  * @hidden
429
469
  */
430
- const DEFAULT_SIZE = 'medium';
431
- const SIZES = {
432
- small: 'sm',
433
- medium: 'md',
434
- large: 'lg'
435
- };
470
+ function slideUp(duration, height) {
471
+ return [
472
+ style({ overflow: 'hidden', display: 'block', height: 0 }),
473
+ animate(`${duration}ms ease-in`, style({ height: `${height}` }))
474
+ ];
475
+ }
436
476
  /**
437
477
  * @hidden
438
- *
439
- * Returns the styling classes to be added and removed
440
478
  */
441
- const getStylingClasses = (stylingOption, previousValue, newValue) => {
442
- switch (stylingOption) {
443
- case 'size':
444
- return {
445
- toRemove: `k-breadcrumb-${SIZES[previousValue]}`,
446
- toAdd: newValue !== 'none' ? `k-breadcrumb-${SIZES[newValue]}` : ''
447
- };
448
- default:
449
- break;
450
- }
451
- };
479
+ function slideDown(duration, height) {
480
+ return [
481
+ style({ overflow: 'hidden', height: `${height}` }),
482
+ animate(`${duration}ms ease-in`, style({ overflow: 'hidden', height: 0 }))
483
+ ];
484
+ }
452
485
 
453
486
  /**
454
487
  * @hidden
455
488
  */
456
- class BreadCrumbItemComponent {
457
- constructor(el) {
458
- this.el = el;
459
- this.index = -1;
460
- this.hostClasses = true;
461
- this.disabled = false;
462
- }
463
- get isRootItem() {
464
- return this.item.context.isFirst;
465
- }
466
- get isDisabled() {
467
- return this.disabled || null;
468
- }
469
- get isLastItem() {
470
- return this.item.context.isLast;
471
- }
472
- ngOnInit() {
473
- this.disabled = this.item.data && (this.item.data.disabled || this.item.context.isLast);
489
+ class ActionSheetItemComponent {
490
+ constructor() {
491
+ this.pointerClass = true;
474
492
  }
475
- ngAfterViewInit() {
476
- if (isDocumentAvailable()) {
477
- this.width = outerWidth(this.el.nativeElement);
493
+ manageIconClasses(item) {
494
+ const classes = ['k-actionsheet-item-icon'];
495
+ const isHexColor = isPresent(item.iconColor) && hexColorRegex.test(item.iconColor);
496
+ const isThemeColor = isPresent(item.iconColor) && item.iconColor !== '' && !isHexColor;
497
+ if (isThemeColor) {
498
+ classes.push(`k-text-${item.iconColor}`);
478
499
  }
500
+ return classes.join(' ');
479
501
  }
480
- onImageLoad() {
481
- if (isDocumentAvailable()) {
482
- this.width = outerWidth(this.el.nativeElement);
502
+ manageIconStyles(item) {
503
+ const isHexColor = isPresent(item.iconColor) && hexColorRegex.test(item.iconColor);
504
+ const isSizeSet = isPresent(item.iconSize) && item.iconSize !== '';
505
+ const styles = {};
506
+ if (isHexColor) {
507
+ styles.color = item.iconColor;
483
508
  }
509
+ if (isSizeSet) {
510
+ styles.fontSize = item.iconSize;
511
+ }
512
+ return styles;
484
513
  }
485
514
  }
486
- BreadCrumbItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BreadCrumbItemComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
487
- BreadCrumbItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BreadCrumbItemComponent, selector: "[kendoBreadCrumbItem]", inputs: { item: "item", collapseMode: "collapseMode", index: "index", itemTemplate: "itemTemplate" }, host: { properties: { "class.k-breadcrumb-item": "this.hostClasses", "class.k-breadcrumb-root-item": "this.isRootItem", "attr.aria-disabled": "this.isDisabled", "class.k-breadcrumb-last-item": "this.isLastItem" } }, ngImport: i0, template: `
488
- <ng-template #separator>
489
- <ng-content select="[kendoBreadCrumbSeparator]"></ng-content>
515
+ ActionSheetItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ActionSheetItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
516
+ ActionSheetItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ActionSheetItemComponent, isStandalone: true, selector: "[kendoActionSheetItem]", inputs: { itemTemplate: "itemTemplate", item: "item" }, host: { properties: { "class.k-cursor-pointer": "this.pointerClass" } }, ngImport: i0, template: `
517
+ <ng-template *ngIf="itemTemplate; else defaultTemplate"
518
+ [ngTemplateOutlet]="itemTemplate"
519
+ [ngTemplateOutletContext]="{
520
+ $implicit: item
521
+ }">
490
522
  </ng-template>
491
-
492
- <ng-container *ngIf="collapseMode === 'wrap'">
493
- <ng-container *ngTemplateOutlet="separator"></ng-container>
494
- </ng-container>
495
-
496
- <ng-container *ngIf="!item.context.collapsed">
497
- <span
498
- *ngIf="!itemTemplate"
499
- [ngClass]="{
500
- 'k-breadcrumb-root-link': item.context.isFirst,
501
- 'k-breadcrumb-link': index !== 0,
502
- 'k-breadcrumb-icontext-link': !!item.data.icon && !!item.data.text,
503
- 'k-breadcrumb-icon-link': !!item.data.icon && !item.data.text,
504
- 'k-disabled': disabled
505
- }"
506
- [title]="item.data.title || ''"
507
- [tabindex]="disabled ? -1 : 0"
508
- [attr.aria-disabled]="disabled"
509
- [attr.aria-current]="item.context.isLast ? 'page' : null"
510
- role="link"
511
- >
512
- <img *ngIf="item.data.imageUrl" (load)="onImageLoad()" [src]="item.data.imageUrl" class="k-image" role="presentation" />
513
- <kendo-icon-wrapper *ngIf="item.data.icon || item.data.iconClass || item.data.svgIcon"
514
- [name]="item.data.icon"
515
- [customFontClass]="item.data.iconClass"
516
- [svgIcon]="item.data.svgIcon"
517
- >
518
- </kendo-icon-wrapper>
519
- <span class="k-breadcrumb-item-text">{{ item.data.text }}</span>
520
- </span>
521
- <ng-template
522
- *ngIf="itemTemplate"
523
- [ngTemplateOutlet]="itemTemplate"
524
- [ngTemplateOutletContext]="{
525
- $implicit: item.data,
526
- index: index
527
- }"
528
- ></ng-template>
529
- </ng-container>
530
-
531
- <ng-container *ngIf="collapseMode !== 'wrap'">
532
- <ng-container *ngTemplateOutlet="separator"></ng-container>
533
- </ng-container>
534
- `, isInline: true, dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }] });
535
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BreadCrumbItemComponent, decorators: [{
523
+ <ng-template #defaultTemplate>
524
+ <span class="k-actionsheet-action">
525
+ <span *ngIf="item.icon || item.iconClass || item.svgIcon" class="k-icon-wrap">
526
+ <kendo-icon-wrapper
527
+ [name]="item.icon"
528
+ [customFontClass]="item.iconClass"
529
+ [class]="manageIconClasses(item)"
530
+ [svgIcon]="item.svgIcon"
531
+ [style]="manageIconStyles(item)"
532
+ >
533
+ </kendo-icon-wrapper>
534
+ </span>
535
+ <span *ngIf="item.title || item.description" class="k-actionsheet-item-text">
536
+ <span *ngIf="item.title" class="k-actionsheet-item-title">{{item.title}}</span>
537
+ <span *ngIf="item.description" class="k-actionsheet-item-description">{{item.description}}</span>
538
+ </span>
539
+ </span>
540
+ </ng-template>
541
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }] });
542
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ActionSheetItemComponent, decorators: [{
536
543
  type: Component,
537
544
  args: [{
538
545
  // eslint-disable-next-line @angular-eslint/component-selector
539
- selector: '[kendoBreadCrumbItem]',
546
+ selector: '[kendoActionSheetItem]',
540
547
  template: `
541
- <ng-template #separator>
542
- <ng-content select="[kendoBreadCrumbSeparator]"></ng-content>
548
+ <ng-template *ngIf="itemTemplate; else defaultTemplate"
549
+ [ngTemplateOutlet]="itemTemplate"
550
+ [ngTemplateOutletContext]="{
551
+ $implicit: item
552
+ }">
543
553
  </ng-template>
544
-
545
- <ng-container *ngIf="collapseMode === 'wrap'">
546
- <ng-container *ngTemplateOutlet="separator"></ng-container>
547
- </ng-container>
548
-
549
- <ng-container *ngIf="!item.context.collapsed">
550
- <span
551
- *ngIf="!itemTemplate"
552
- [ngClass]="{
553
- 'k-breadcrumb-root-link': item.context.isFirst,
554
- 'k-breadcrumb-link': index !== 0,
555
- 'k-breadcrumb-icontext-link': !!item.data.icon && !!item.data.text,
556
- 'k-breadcrumb-icon-link': !!item.data.icon && !item.data.text,
557
- 'k-disabled': disabled
558
- }"
559
- [title]="item.data.title || ''"
560
- [tabindex]="disabled ? -1 : 0"
561
- [attr.aria-disabled]="disabled"
562
- [attr.aria-current]="item.context.isLast ? 'page' : null"
563
- role="link"
564
- >
565
- <img *ngIf="item.data.imageUrl" (load)="onImageLoad()" [src]="item.data.imageUrl" class="k-image" role="presentation" />
566
- <kendo-icon-wrapper *ngIf="item.data.icon || item.data.iconClass || item.data.svgIcon"
567
- [name]="item.data.icon"
568
- [customFontClass]="item.data.iconClass"
569
- [svgIcon]="item.data.svgIcon"
570
- >
571
- </kendo-icon-wrapper>
572
- <span class="k-breadcrumb-item-text">{{ item.data.text }}</span>
554
+ <ng-template #defaultTemplate>
555
+ <span class="k-actionsheet-action">
556
+ <span *ngIf="item.icon || item.iconClass || item.svgIcon" class="k-icon-wrap">
557
+ <kendo-icon-wrapper
558
+ [name]="item.icon"
559
+ [customFontClass]="item.iconClass"
560
+ [class]="manageIconClasses(item)"
561
+ [svgIcon]="item.svgIcon"
562
+ [style]="manageIconStyles(item)"
563
+ >
564
+ </kendo-icon-wrapper>
565
+ </span>
566
+ <span *ngIf="item.title || item.description" class="k-actionsheet-item-text">
567
+ <span *ngIf="item.title" class="k-actionsheet-item-title">{{item.title}}</span>
568
+ <span *ngIf="item.description" class="k-actionsheet-item-description">{{item.description}}</span>
569
+ </span>
573
570
  </span>
574
- <ng-template
575
- *ngIf="itemTemplate"
576
- [ngTemplateOutlet]="itemTemplate"
577
- [ngTemplateOutletContext]="{
578
- $implicit: item.data,
579
- index: index
580
- }"
581
- ></ng-template>
582
- </ng-container>
583
-
584
- <ng-container *ngIf="collapseMode !== 'wrap'">
585
- <ng-container *ngTemplateOutlet="separator"></ng-container>
586
- </ng-container>
587
- `
571
+ </ng-template>
572
+ `,
573
+ standalone: true,
574
+ imports: [NgIf, NgTemplateOutlet, IconWrapperComponent]
588
575
  }]
589
- }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { item: [{
590
- type: Input
591
- }], collapseMode: [{
592
- type: Input
593
- }], index: [{
576
+ }], propDecorators: { itemTemplate: [{
594
577
  type: Input
595
- }], itemTemplate: [{
578
+ }], item: [{
596
579
  type: Input
597
- }], hostClasses: [{
598
- type: HostBinding,
599
- args: ['class.k-breadcrumb-item']
600
- }], isRootItem: [{
601
- type: HostBinding,
602
- args: ['class.k-breadcrumb-root-item']
603
- }], isDisabled: [{
604
- type: HostBinding,
605
- args: ['attr.aria-disabled']
606
- }], isLastItem: [{
580
+ }], pointerClass: [{
607
581
  type: HostBinding,
608
- args: ['class.k-breadcrumb-last-item']
582
+ args: ['class.k-cursor-pointer']
609
583
  }] } });
610
584
 
611
- const closestInScope = (target, targetAttr, predicate, scope) => {
612
- while (target && target !== scope && !predicate(target, targetAttr)) {
613
- target = target.parentNode;
614
- }
615
- if (target !== scope) {
616
- return target;
617
- }
618
- };
619
- const hasItemIndex = (item, indexAttr) => isPresent(item.getAttribute(indexAttr));
620
- /**
621
- * @hidden
622
- */
623
- const itemIndex = (item, indexAttr) => +item.getAttribute(indexAttr);
624
- /**
625
- * @hidden
626
- */
627
- const closestItem = (target, targetAttr, scope) => closestInScope(target, targetAttr, hasItemIndex, scope);
628
-
629
- const DEFAULT_ICON = 'chevron-right';
630
- const DEFAULT_RTL_ICON = 'chevron-left';
631
- const DEFAULT_SVG_ICON = chevronRightIcon;
632
- const DEFAULT_RTL_SVG_ICON = chevronLeftIcon;
633
585
  /**
634
586
  * @hidden
635
587
  */
636
- class BreadCrumbSeparatorDirective {
637
- constructor(el, localization) {
638
- this.el = el;
639
- this.localization = localization;
640
- this.defaultClasses = true;
641
- this.ariaHidden = true;
642
- this.direction = 'ltr';
643
- this.direction = this.localization.rtl ? 'rtl' : 'ltr';
588
+ class ActionSheetListComponent {
589
+ constructor(renderer, ngZone, element) {
590
+ this.renderer = renderer;
591
+ this.ngZone = ngZone;
592
+ this.element = element;
593
+ this.groupItems = [];
594
+ this.allItems = [];
595
+ this.itemClick = new EventEmitter();
596
+ this.subscriptions = new Subscription();
644
597
  }
645
- set icon(icon) {
646
- if (isPresent(icon)) {
647
- this._icon = icon;
648
- this.hasDefaultIcon = false;
649
- }
650
- else {
651
- this._icon = this.direction === 'ltr' ? DEFAULT_ICON : DEFAULT_RTL_ICON;
652
- this.hasDefaultIcon = true;
653
- }
598
+ ngAfterViewInit() {
599
+ this.initDomEvents();
654
600
  }
655
- get icon() {
656
- return this._icon;
601
+ ngOnDestroy() {
602
+ this.subscriptions.unsubscribe();
657
603
  }
658
- set svgIcon(svgIcon) {
659
- if (isPresent(svgIcon)) {
660
- this._svgIcon = svgIcon;
661
- this.hasDefaultSvgIcon = false;
662
- }
663
- else {
664
- this._svgIcon = this.direction === 'ltr' ? DEFAULT_SVG_ICON : DEFAULT_RTL_SVG_ICON;
665
- this.hasDefaultSvgIcon = true;
604
+ initDomEvents() {
605
+ if (!this.element) {
606
+ return;
666
607
  }
608
+ this.ngZone.runOutsideAngular(() => {
609
+ const nativeElement = this.element.nativeElement;
610
+ this.subscriptions.add(this.renderer.listen(nativeElement, 'click', this.clickHandler.bind(this)));
611
+ });
667
612
  }
668
- get svgIcon() {
669
- return this._svgIcon;
670
- }
671
- ngOnInit() {
672
- this.localizationChangesSubscription = this.localization.changes.subscribe(({ rtl }) => {
673
- this.direction = rtl ? 'rtl' : 'ltr';
674
- if (this.hasDefaultIcon) {
675
- this.icon = undefined;
676
- }
677
- if (this.hasDefaultSvgIcon) {
678
- this.svgIcon = undefined;
679
- }
613
+ clickHandler(e) {
614
+ const itemIndex = getActionSheetItemIndex(e.target, ACTIONSHEET_ITEM_INDEX_ATTRIBUTE, this.element.nativeElement);
615
+ const item = this.allItems[itemIndex];
616
+ if (!item) {
617
+ return;
618
+ }
619
+ if (item.disabled) {
620
+ e.preventDefault();
621
+ return;
622
+ }
623
+ this.ngZone.run(() => {
624
+ this.itemClick.emit({ item, originalEvent: e });
680
625
  });
681
626
  }
682
- ngOnDestroy() {
683
- this.localizationChangesSubscription.unsubscribe();
627
+ setAttrIndex(item) {
628
+ return this.allItems.indexOf(item);
684
629
  }
685
630
  }
686
- BreadCrumbSeparatorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BreadCrumbSeparatorDirective, deps: [{ token: i0.ElementRef }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
687
- BreadCrumbSeparatorDirective.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BreadCrumbSeparatorDirective, selector: "[kendoBreadCrumbSeparator]", inputs: { icon: "icon", svgIcon: "svgIcon" }, host: { properties: { "class.k-breadcrumb-delimiter-icon": "this.defaultClasses", "class.k-icon": "this.defaultClasses", "attr.aria-hidden": "this.ariaHidden" } }, ngImport: i0, template: `
688
- <kendo-icon-wrapper
689
- size='xsmall'
690
- [name]="icon"
691
- [svgIcon]="svgIcon"
692
- >
693
- </kendo-icon-wrapper>
694
- `, isInline: true, dependencies: [{ kind: "component", type: i2.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }] });
695
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BreadCrumbSeparatorDirective, decorators: [{
631
+ ActionSheetListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ActionSheetListComponent, deps: [{ token: i0.Renderer2 }, { token: i0.NgZone }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
632
+ ActionSheetListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ActionSheetListComponent, isStandalone: true, selector: "[kendoActionSheetList]", inputs: { groupItems: "groupItems", allItems: "allItems", itemTemplate: "itemTemplate" }, outputs: { itemClick: "itemClick" }, ngImport: i0, template: "\n <span *ngFor=\"let item of groupItems\" kendoActionSheetItem\n tabindex=\"0\"\n role=\"button\"\n [attr.aria-disabled]=\"item.disabled\"\n [class.k-actionsheet-item]=\"true\"\n [attr.kendo-actionsheet-item-index]=\"setAttrIndex(item)\"\n [class.k-disabled]=\"item.disabled\"\n [ngClass]=\"item.cssClass\"\n [ngStyle]=\"item.cssStyle\"\n [itemTemplate]=\"itemTemplate\"\n [item]=\"item\">\n </span>\n ", isInline: true, dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ActionSheetItemComponent, selector: "[kendoActionSheetItem]", inputs: ["itemTemplate", "item"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
633
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ActionSheetListComponent, decorators: [{
696
634
  type: Component,
697
635
  args: [{
698
- selector: '[kendoBreadCrumbSeparator]',
636
+ // eslint-disable-next-line @angular-eslint/component-selector
637
+ selector: '[kendoActionSheetList]',
699
638
  template: `
700
- <kendo-icon-wrapper
701
- size='xsmall'
702
- [name]="icon"
703
- [svgIcon]="svgIcon"
704
- >
705
- </kendo-icon-wrapper>
706
- `
639
+ <span *ngFor="let item of groupItems" kendoActionSheetItem
640
+ tabindex="0"
641
+ role="button"
642
+ [attr.aria-disabled]="item.disabled"
643
+ [class.k-actionsheet-item]="true"
644
+ [attr.${ACTIONSHEET_ITEM_INDEX_ATTRIBUTE}]="setAttrIndex(item)"
645
+ [class.k-disabled]="item.disabled"
646
+ [ngClass]="item.cssClass"
647
+ [ngStyle]="item.cssStyle"
648
+ [itemTemplate]="itemTemplate"
649
+ [item]="item">
650
+ </span>
651
+ `,
652
+ standalone: true,
653
+ imports: [NgFor, ActionSheetItemComponent, NgClass, NgStyle]
707
654
  }]
708
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.LocalizationService }]; }, propDecorators: { icon: [{
655
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.NgZone }, { type: i0.ElementRef }]; }, propDecorators: { groupItems: [{
709
656
  type: Input
710
- }], svgIcon: [{
711
- type: Input
712
- }], defaultClasses: [{
713
- type: HostBinding,
714
- args: ['class.k-breadcrumb-delimiter-icon']
715
- }, {
716
- type: HostBinding,
717
- args: ['class.k-icon']
718
- }], ariaHidden: [{
719
- type: HostBinding,
720
- args: ['attr.aria-hidden']
721
- }] } });
722
-
723
- /**
724
- * @hidden
725
- */
726
- class BreadCrumbListComponent {
727
- constructor(el, zone) {
728
- this.el = el;
729
- this.zone = zone;
730
- this.items = [];
731
- this.collapseMode = 'auto';
732
- this.itemClick = new EventEmitter();
733
- const element = this.el.nativeElement;
734
- this.isRootItemContainer = element.classList.contains('k-breadcrumb-root-item-container');
735
- this.zone.runOutsideAngular(() => {
736
- const click$ = fromEvent(element, 'click');
737
- const enterKey$ = fromEvent(element, 'keydown').pipe(filter((ev /* KeyboardEvent causes lint error */) => ev.keyCode === Keys.Enter));
738
- this.domEventsSubscription = merge(click$, enterKey$)
739
- .pipe(map((ev) => ev.target), filter(e => !e.classList.contains('k-breadcrumb-delimiter-icon')), // do not trigger handler when a separator is clicked
740
- map(e => this.getItemIndex(e)), filter(isPresent), map(i => parseInt(i, 10)), map(i => this.items[i]), filter(item => !item.data.disabled && !item.context.isLast), map(item => item.data))
741
- .subscribe(el => {
742
- this.zone.run(() => this.itemClick.emit(el));
743
- });
744
- });
745
- }
746
- ngOnDestroy() {
747
- this.domEventsSubscription.unsubscribe();
748
- }
749
- getItemIndex(target) {
750
- const item = closestItem(target, BREADCRUMB_ITEM_INDEX, this.el.nativeElement);
751
- if (item) {
752
- return itemIndex(item, BREADCRUMB_ITEM_INDEX);
753
- }
754
- }
755
- }
756
- BreadCrumbListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BreadCrumbListComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
757
- BreadCrumbListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BreadCrumbListComponent, selector: "[kendoBreadCrumbList]", inputs: { items: "items", itemTemplate: "itemTemplate", collapseMode: "collapseMode", separatorIcon: "separatorIcon", separatorSVGIcon: "separatorSVGIcon" }, outputs: { itemClick: "itemClick" }, viewQueries: [{ propertyName: "renderedItems", predicate: BreadCrumbItemComponent, descendants: true }], ngImport: i0, template: "\n <ng-container *ngFor=\"let item of items; let i = index; let isFirst = first; let isLast = last\">\n <li\n #renderedItem\n kendoBreadCrumbItem\n *ngIf=\"!(collapseMode === 'wrap' && isFirst) || isRootItemContainer\"\n [attr.data-kendo-breadcrumb-index]=\"i\"\n [item]=\"item\"\n [index]=\"i\"\n [collapseMode]=\"collapseMode\"\n [itemTemplate]=\"itemTemplate\"\n >\n <span kendoBreadCrumbSeparator [icon]=\"separatorIcon\" [svgIcon]=\"separatorSVGIcon\" *ngIf=\"collapseMode === 'wrap' && !isFirst\"></span>\n <span\n kendoBreadCrumbSeparator\n [icon]=\"separatorIcon\"\n [svgIcon]=\"separatorSVGIcon\"\n *ngIf=\"collapseMode !== 'wrap' && !isLast && !(item?.context.collapsed && items[i + 1]?.context.collapsed)\"\n ></span>\n </li>\n </ng-container>\n ", isInline: true, dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: BreadCrumbItemComponent, selector: "[kendoBreadCrumbItem]", inputs: ["item", "collapseMode", "index", "itemTemplate"] }, { kind: "component", type: BreadCrumbSeparatorDirective, selector: "[kendoBreadCrumbSeparator]", inputs: ["icon", "svgIcon"] }] });
758
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BreadCrumbListComponent, decorators: [{
759
- type: Component,
760
- args: [{
761
- // eslint-disable-next-line @angular-eslint/component-selector
762
- selector: '[kendoBreadCrumbList]',
763
- template: `
764
- <ng-container *ngFor="let item of items; let i = index; let isFirst = first; let isLast = last">
765
- <li
766
- #renderedItem
767
- kendoBreadCrumbItem
768
- *ngIf="!(collapseMode === 'wrap' && isFirst) || isRootItemContainer"
769
- [attr.${BREADCRUMB_ITEM_INDEX}]="i"
770
- [item]="item"
771
- [index]="i"
772
- [collapseMode]="collapseMode"
773
- [itemTemplate]="itemTemplate"
774
- >
775
- <span kendoBreadCrumbSeparator [icon]="separatorIcon" [svgIcon]="separatorSVGIcon" *ngIf="collapseMode === 'wrap' && !isFirst"></span>
776
- <span
777
- kendoBreadCrumbSeparator
778
- [icon]="separatorIcon"
779
- [svgIcon]="separatorSVGIcon"
780
- *ngIf="collapseMode !== 'wrap' && !isLast && !(item?.context.collapsed && items[i + 1]?.context.collapsed)"
781
- ></span>
782
- </li>
783
- </ng-container>
784
- `
785
- }]
786
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { items: [{
657
+ }], allItems: [{
787
658
  type: Input
788
659
  }], itemTemplate: [{
789
660
  type: Input
790
- }], collapseMode: [{
791
- type: Input
792
- }], separatorIcon: [{
793
- type: Input
794
- }], separatorSVGIcon: [{
795
- type: Input
796
661
  }], itemClick: [{
797
662
  type: Output
798
- }], renderedItems: [{
799
- type: ViewChildren,
800
- args: [BreadCrumbItemComponent]
801
663
  }] } });
802
664
 
803
- const getCollapsed = (itemComponent) => itemComponent.item.context.collapsed;
804
- /**
805
- * @hidden
806
- */
807
- const collapsed = (itemComponent) => getCollapsed(itemComponent) === true;
808
- /**
809
- * @hidden
810
- */
811
- const expanded = (itemComponent) => getCollapsed(itemComponent) === false;
812
- const toggleFirst = (collapsed) => (itemComponents) => (itemComponents.find(ic => getCollapsed(ic) === collapsed).item.context.collapsed = !collapsed);
813
- /**
814
- * @hidden
815
- */
816
- const collapseFirst = toggleFirst(false);
817
- /**
818
- * @hidden
819
- */
820
- const expandFirst = toggleFirst(true);
821
-
822
- /* eslint-disable @typescript-eslint/no-inferrable-types */
823
- /* eslint-disable @typescript-eslint/no-explicit-any */
665
+ const DEFAULT_ANIMATION_CONFIG = { duration: 300 };
824
666
  /**
825
- * Represents the [Kendo UI Breadcrumb component for Angular]({% slug overview_breadcrumb %}).
826
- *
827
- * @example
828
- * ```ts-no-run
829
- * _@Component({
830
- * selector: 'my-app',
831
- * template: `
832
- * <kendo-breadcrumb
833
- * [items]="items"
834
- * (itemClick)="onItemClick($event)">
835
- * </kendo-breadcrumb>
836
- * `
837
- * })
838
- * class AppComponent {
839
- * public items: BreadCrumbItem[] = [
840
- * { text: 'Home', title: 'Home', icon: 'home' },
841
- * { text: 'Kids', title: 'Kids' },
842
- * { text: '8y-16y', title: '8y-16y', disabled: true },
843
- * { text: 'New collection', title: 'New collection' },
844
- * { text: 'Jeans', title: 'Jeans' }
845
- * ];
846
- *
847
- * public onItemClick(item: BreadCrumbItem): void {
848
- * console.log(item);
849
- * }
850
- * }
851
- * ```
667
+ * Represents the [Kendo UI ActionSheet component for Angular]({% slug overview_actionsheet %}).
668
+ * Used to display a set of choices related to a task the user initiates.
852
669
  */
853
- class BreadCrumbComponent {
854
- constructor(localization, el, cdr, zone, renderer) {
855
- this.localization = localization;
856
- this.el = el;
857
- this.cdr = cdr;
858
- this.zone = zone;
670
+ class ActionSheetComponent {
671
+ constructor(element, ngZone, renderer, localizationService, builder, cdr) {
672
+ this.element = element;
673
+ this.ngZone = ngZone;
859
674
  this.renderer = renderer;
675
+ this.localizationService = localizationService;
676
+ this.builder = builder;
677
+ this.cdr = cdr;
860
678
  /**
861
- * Fires when a Breadcrumb item is clicked. The event will not be fired by disabled items and the last item.
679
+ * Configures the ActionSheet opening and closing animations ([see example]({% slug animations_actionsheet %})).
680
+ * By default the animations are turned off. The default animations' duration is `300ms`.
681
+ *
682
+ * @default true
683
+ */
684
+ this.animation = true;
685
+ /**
686
+ * Specifies the state of the ActionSheet.
687
+ *
688
+ * @default false
689
+ */
690
+ this.expanded = false;
691
+ /**
692
+ * Sets the `aria-labelledby` attribute of the ActionSheet wrapper element.
693
+ * Use this option when the built-in header element is replaced through the [`ActionSheetHeaderTemplate`]({% slug api_navigation_actionsheetheadertemplatedirective %})
694
+ * or [`ActionSheetContentTemplate`]({% slug api_navigation_actionsheetcontenttemplatedirective %}).
695
+ *
696
+ */
697
+ this.titleId = getId('k-actionsheet-title');
698
+ /**
699
+ * Fires when the `expanded` property of the component is updated.
700
+ * Used to provide a two-way binding for the `expanded` property.
701
+ */
702
+ this.expandedChange = new EventEmitter();
703
+ /**
704
+ * Fires when the ActionSheet is expanded and its animation is complete.
705
+ */
706
+ this.expand = new EventEmitter();
707
+ /**
708
+ * Fires when the ActionSheet is collapsed and its animation is complete.
709
+ */
710
+ this.collapse = new EventEmitter();
711
+ /**
712
+ * Fires when an ActionSheet item is clicked.
862
713
  */
863
714
  this.itemClick = new EventEmitter();
864
- this.hostClasses = true;
865
- this.hostAriaLabel = 'Breadcrumb';
866
- this._items = [];
867
- this._collapseMode = 'auto';
868
- this._size = DEFAULT_SIZE;
869
- this.updateItems = new ReplaySubject();
870
- this.afterViewInit = new Subject();
871
- this.subscriptions = new Subscription();
872
- this.direction = 'ltr';
715
+ /**
716
+ * Fires when the modal overlay is clicked.
717
+ */
718
+ this.overlayClick = new EventEmitter();
719
+ this.rtl = false;
720
+ this.domSubs = new Subscription();
721
+ this.animationEnd = new EventEmitter();
873
722
  validatePackage(packageMetadata);
874
- const updateItems$ = this.updateItems.asObservable().pipe(startWith([]));
875
- this.direction = localization.rtl ? 'rtl' : 'ltr';
876
- this.itemsData$ = updateItems$.pipe(map(items => items.filter(Boolean)), map(items => items.map((item, index, collection) => ({
877
- context: {
878
- collapsed: false,
879
- isLast: index === collection.length - 1,
880
- isFirst: index === 0
881
- },
882
- data: item
883
- }))), share());
884
- this.firstItem$ = updateItems$.pipe(map(items => {
885
- if (items.length > 0) {
886
- return [
887
- {
888
- context: {
889
- collapsed: false,
890
- isLast: items.length === 1,
891
- isFirst: true
892
- },
893
- data: items[0]
894
- }
895
- ];
896
- }
897
- return [];
898
- }), share());
723
+ this.dynamicRTLSubscription = this.localizationService.changes.subscribe(({ rtl }) => {
724
+ this.rtl = rtl;
725
+ this.direction = this.rtl ? 'rtl' : 'ltr';
726
+ });
899
727
  }
900
728
  /**
901
- * The collection of items that will be rendered in the Breadcrumb.
729
+ * @hidden
902
730
  */
903
- set items(items) {
904
- this._items = items || [];
905
- this.updateItems.next(this._items);
731
+ get hostClass() {
732
+ return this.expanded;
906
733
  }
907
- get items() {
908
- return this._items;
734
+ ngAfterViewInit() {
735
+ this.initDomEvents();
736
+ this.setCssVariables();
909
737
  }
910
- /**
911
- * Specifies the collapse mode of the Breadcrumb ([see example]({% slug collapse_modes_breadcrumb %})).
912
- *
913
- * The possible values are:
914
- * - `auto` (default)&mdash;items are automatically collapsed based on the width of the Breadcrumb.
915
- * - `wrap`&mdash;items are wrapped on multiple rows.
916
- * - `none`&mdash;all items are expanded on the same row.
917
- *
918
- * For more information and example refer to the [Collapse Modes]({% slug collapse_modes_breadcrumb %}) article.
919
- */
920
- set collapseMode(mode) {
921
- if (isDevMode() && ['auto', 'wrap', 'none'].indexOf(mode) < 0) {
922
- throw new Error('Invalid collapse mode. Allowed values are "auto", "wrap" or "none". \nFor more details see https://www.telerik.com/kendo-angular-ui/components/navigation/api/BreadCrumbCollapseMode/');
738
+ ngOnChanges(changes) {
739
+ if (changes['expanded'] && this.expanded) {
740
+ this.setExpanded(true);
923
741
  }
924
- this._collapseMode = mode || 'auto';
925
- this.updateItems.next(this.items);
926
742
  }
927
- get collapseMode() {
928
- return this._collapseMode;
743
+ ngOnDestroy() {
744
+ this.domSubs.unsubscribe();
745
+ if (this.dynamicRTLSubscription) {
746
+ this.dynamicRTLSubscription.unsubscribe();
747
+ }
748
+ if (this.player) {
749
+ this.player.destroy();
750
+ }
929
751
  }
930
752
  /**
931
- * Specifies the padding of all Breadcrumb elements.
753
+ * Toggles the visibility of the ActionSheet.
932
754
  *
933
- * The possible values are:
934
- * * `small`
935
- * * `medium` (default)
936
- * * `large`
937
- * * `none`
755
+ * @param expanded? - Boolean. Specifies if the ActionSheet will be expanded or collapsed.
938
756
  */
939
- set size(size) {
940
- const newSize = size ? size : DEFAULT_SIZE;
941
- this.handleClasses(newSize, 'size');
942
- this._size = newSize;
757
+ toggle(expanded) {
758
+ const previous = this.expanded;
759
+ const current = isPresent$1(expanded) ? expanded : !previous;
760
+ if (current === previous) {
761
+ return;
762
+ }
763
+ if (current === true) {
764
+ this.setExpanded(true);
765
+ }
766
+ else if (current === false && !this.animation) {
767
+ this.setExpanded(false);
768
+ }
769
+ if (this.animation) {
770
+ this.animationEnd.pipe(take(1))
771
+ .subscribe(() => { this.onAnimationEnd(current); });
772
+ this.playAnimation(current);
773
+ }
774
+ else {
775
+ this[current ? 'expand' : 'collapse'].emit();
776
+ }
943
777
  }
944
- get size() {
945
- return this._size;
778
+ /**
779
+ * @hidden
780
+ */
781
+ get topGroupItems() {
782
+ var _a;
783
+ return (_a = this.items) === null || _a === void 0 ? void 0 : _a.filter(item => !item.group || item.group === 'top');
946
784
  }
947
- get wrapMode() {
948
- return this.collapseMode === 'wrap';
785
+ /**
786
+ * @hidden
787
+ */
788
+ get bottomGroupItems() {
789
+ var _a;
790
+ return (_a = this.items) === null || _a === void 0 ? void 0 : _a.filter(item => item.group === 'bottom');
949
791
  }
950
- get getDir() {
951
- return this.direction;
792
+ /**
793
+ * @hidden
794
+ */
795
+ onItemClick(ev) {
796
+ this.itemClick.emit(ev);
952
797
  }
953
- ngOnInit() {
954
- this.subscriptions.add(this.localization.changes.subscribe(({ rtl }) => (this.direction = rtl ? 'rtl' : 'ltr')));
955
- this.handleClasses(this.size, 'size');
798
+ /**
799
+ * @hidden
800
+ */
801
+ onOverlayClick() {
802
+ this.overlayClick.emit();
956
803
  }
957
- ngAfterViewInit() {
958
- this.attachResizeHandler();
959
- this.afterViewInit.next();
804
+ /**
805
+ * @hidden
806
+ */
807
+ get shouldRenderSeparator() {
808
+ var _a, _b;
809
+ return ((_a = this.topGroupItems) === null || _a === void 0 ? void 0 : _a.length) > 0 && ((_b = this.bottomGroupItems) === null || _b === void 0 ? void 0 : _b.length) > 0;
960
810
  }
961
- ngOnDestroy() {
962
- this.subscriptions.unsubscribe();
811
+ initDomEvents() {
812
+ if (!this.element) {
813
+ return;
814
+ }
815
+ this.ngZone.runOutsideAngular(() => {
816
+ this.domSubs.add(this.renderer.listen(this.element.nativeElement, 'keydown', (ev) => {
817
+ this.onKeyDown(ev);
818
+ }));
819
+ });
963
820
  }
964
- handleResize() {
965
- const autoCollapseCandidates = [
966
- ...this.listComponent.renderedItems.toArray().filter(ri => !ri.item.context.isFirst && !ri.item.context.isLast)
967
- ];
968
- const componentWidth = Math.floor(outerWidth(this.el.nativeElement));
969
- const itemsContainerWidth = Math.round(this.itemsContainers
970
- .toArray()
971
- .map(el => outerWidth(el.nativeElement))
972
- .reduce((acc, curr) => acc + curr, 0));
973
- const nextExpandWidth = Math.ceil(([...autoCollapseCandidates].reverse().find(collapsed) || { width: 0 }).width);
974
- // // shrink
975
- if (componentWidth <= itemsContainerWidth && autoCollapseCandidates.find(expanded)) {
976
- collapseFirst(autoCollapseCandidates);
977
- // needed by resize sensor
978
- this.cdr.detectChanges();
979
- return this.handleResize();
821
+ setCssVariables() {
822
+ if (!this.element || !isDocumentAvailable()) {
823
+ return;
980
824
  }
981
- // expand
982
- if (componentWidth > itemsContainerWidth + nextExpandWidth && autoCollapseCandidates.find(collapsed)) {
983
- expandFirst([...autoCollapseCandidates].reverse());
984
- // needed by resize sensor
985
- this.cdr.detectChanges();
986
- return this.handleResize();
825
+ // The following syntax is used as it does not violate CSP compliance
826
+ this.element.nativeElement.style.setProperty('--kendo-actionsheet-height', 'auto');
827
+ this.element.nativeElement.style.setProperty('--kendo-actionsheet-max-height', 'none');
828
+ }
829
+ onKeyDown(event) {
830
+ const target = event.target;
831
+ if (event.keyCode === Keys.Tab) {
832
+ this.ngZone.run(() => {
833
+ this.keepFocusWithinComponent(target, event);
834
+ });
835
+ }
836
+ if (event.keyCode === Keys.Escape) {
837
+ this.ngZone.run(() => {
838
+ this.overlayClick.emit();
839
+ });
840
+ }
841
+ if (event.keyCode === Keys.Enter) {
842
+ this.ngZone.run(() => {
843
+ this.triggerItemClick(target, event);
844
+ });
987
845
  }
988
846
  }
989
- shouldResize() {
990
- return isDocumentAvailable() && this.collapseMode === 'auto';
847
+ handleInitialFocus() {
848
+ const [firstFocusable] = getFirstAndLastFocusable(this.element.nativeElement);
849
+ if (firstFocusable) {
850
+ firstFocusable.focus();
851
+ }
991
852
  }
992
- attachResizeHandler() {
993
- // resize when:
994
- // the component is initialized
995
- // the container is resized
996
- // items are added/removed
997
- this.subscriptions.add(merge(this.resizeSensor.resize, this.itemsData$, this.afterViewInit.asObservable())
998
- .pipe(filter(() => this.shouldResize()))
999
- .subscribe(() => {
1000
- this.zone.runOutsideAngular(() => setTimeout(() => {
1001
- this.zone.run(() => {
1002
- if (this.listComponent) {
1003
- this.handleResize();
1004
- this.resizeSensor.acceptSize();
1005
- }
1006
- });
1007
- }));
1008
- }));
853
+ keepFocusWithinComponent(target, event) {
854
+ const wrapper = this.element.nativeElement;
855
+ const [firstFocusable, lastFocusable] = getFirstAndLastFocusable(wrapper);
856
+ const tabAfterLastFocusable = !event.shiftKey && target === lastFocusable;
857
+ const shiftTabAfterFirstFocusable = event.shiftKey && target === firstFocusable;
858
+ if (tabAfterLastFocusable) {
859
+ event.preventDefault();
860
+ firstFocusable.focus();
861
+ }
862
+ if (shiftTabAfterFirstFocusable) {
863
+ event.preventDefault();
864
+ lastFocusable.focus();
865
+ }
1009
866
  }
1010
- handleClasses(value, input) {
1011
- const elem = this.el.nativeElement;
1012
- const classes = getStylingClasses(input, this[input], value);
1013
- if (classes.toRemove) {
1014
- this.renderer.removeClass(elem, classes.toRemove);
867
+ triggerItemClick(target, event) {
868
+ const itemIndex = getActionSheetItemIndex(target, ACTIONSHEET_ITEM_INDEX_ATTRIBUTE, this.element.nativeElement);
869
+ const item = isPresent$1(itemIndex) ? this.items[itemIndex] : null;
870
+ if (!item || item.disabled) {
871
+ return;
1015
872
  }
1016
- if (classes.toAdd) {
1017
- this.renderer.addClass(elem, classes.toAdd);
873
+ this.itemClick.emit({ item, originalEvent: event });
874
+ }
875
+ setExpanded(value) {
876
+ this.expanded = value;
877
+ this.expandedChange.emit(value);
878
+ if (this.expanded) {
879
+ this.cdr.detectChanges();
880
+ this.handleInitialFocus();
881
+ }
882
+ }
883
+ onAnimationEnd(currentExpanded) {
884
+ if (currentExpanded) {
885
+ this.expand.emit();
1018
886
  }
887
+ else {
888
+ this.setExpanded(false);
889
+ this.collapse.emit();
890
+ }
891
+ }
892
+ playAnimation(expanded) {
893
+ const duration = typeof this.animation !== 'boolean' && this.animation.duration ? this.animation.duration : DEFAULT_ANIMATION_CONFIG.duration;
894
+ const contentHeight = getComputedStyle(this.childContainer.nativeElement).height;
895
+ const animation = expanded ? slideUp(duration, contentHeight) : slideDown(duration, contentHeight);
896
+ const factory = this.builder.build(animation);
897
+ this.player = factory.create(this.childContainer.nativeElement);
898
+ this.player.onDone(() => {
899
+ if (this.player) {
900
+ this.animationEnd.emit();
901
+ this.player.destroy();
902
+ this.player = null;
903
+ }
904
+ });
905
+ this.player.play();
1019
906
  }
1020
907
  }
1021
- BreadCrumbComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BreadCrumbComponent, deps: [{ token: i1.LocalizationService }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
1022
- BreadCrumbComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BreadCrumbComponent, selector: "kendo-breadcrumb", inputs: { items: "items", separatorIcon: "separatorIcon", separatorSVGIcon: "separatorSVGIcon", collapseMode: "collapseMode", size: "size" }, outputs: { itemClick: "itemClick" }, host: { properties: { "class.k-breadcrumb": "this.hostClasses", "class.k-breadcrumb-wrap": "this.wrapMode", "attr.aria-label": "this.hostAriaLabel", "attr.dir": "this.getDir" } }, providers: [
908
+ ActionSheetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", 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 });
909
+ ActionSheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ActionSheetComponent, isStandalone: true, selector: "kendo-actionsheet", inputs: { title: "title", subtitle: "subtitle", items: "items", cssClass: "cssClass", animation: "animation", expanded: "expanded", titleId: "titleId" }, outputs: { expandedChange: "expandedChange", expand: "expand", collapse: "collapse", itemClick: "itemClick", overlayClick: "overlayClick" }, host: { properties: { "class.k-actionsheet-container": "this.hostClass", "attr.dir": "this.direction" } }, providers: [
1023
910
  LocalizationService,
1024
911
  {
1025
912
  provide: L10N_PREFIX,
1026
- useValue: 'kendo.breadcrumb'
913
+ useValue: 'kendo.actionsheet.component'
1027
914
  }
1028
- ], queries: [{ propertyName: "itemTemplate", first: true, predicate: BreadCrumbItemTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "resizeSensor", first: true, predicate: ["resizeSensor"], descendants: true, static: true }, { propertyName: "listComponent", first: true, predicate: BreadCrumbListComponent, descendants: true, static: true }, { propertyName: "itemsContainers", predicate: ["itemsContainer"], descendants: true, read: ElementRef }], exportAs: ["kendoBreadCrumb"], ngImport: i0, template: `
1029
- <ol
1030
- #itemsContainer
1031
- kendoBreadCrumbList
1032
- class="k-breadcrumb-root-item-container"
1033
- *ngIf="collapseMode === 'wrap'"
1034
- [items]="firstItem$ | async"
1035
- [itemTemplate]="itemTemplate?.templateRef"
1036
- [collapseMode]="collapseMode"
1037
- [separatorIcon]="separatorIcon"
1038
- [separatorSVGIcon]="separatorSVGIcon"
1039
- (itemClick)="itemClick.emit($event)"
1040
- ></ol>
1041
- <ol
1042
- #itemsContainer
1043
- kendoBreadCrumbList
1044
- class="k-breadcrumb-container"
1045
- [items]="itemsData$ | async"
1046
- [itemTemplate]="itemTemplate?.templateRef"
1047
- [collapseMode]="collapseMode"
1048
- [separatorIcon]="separatorIcon"
1049
- [separatorSVGIcon]="separatorSVGIcon"
1050
- (itemClick)="itemClick.emit($event)"
1051
- [ngClass]="{ '!k-flex-wrap': collapseMode === 'wrap', 'k-flex-none': collapseMode === 'none' }"
1052
- ></ol>
1053
- <kendo-resize-sensor [rateLimit]="1000" #resizeSensor></kendo-resize-sensor>
1054
- `, isInline: true, dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { kind: "component", type: BreadCrumbListComponent, selector: "[kendoBreadCrumbList]", inputs: ["items", "itemTemplate", "collapseMode", "separatorIcon", "separatorSVGIcon"], outputs: ["itemClick"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }] });
1055
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BreadCrumbComponent, decorators: [{
1056
- type: Component,
1057
- args: [{
1058
- exportAs: 'kendoBreadCrumb',
1059
- selector: 'kendo-breadcrumb',
1060
- providers: [
1061
- LocalizationService,
1062
- {
915
+ ], 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: `
916
+ <ng-container *ngIf="expanded">
917
+ <div class="k-overlay" (click)="onOverlayClick()"></div>
918
+ <div class="k-animation-container k-animation-container-shown">
919
+ <div #childContainer class="k-child-animation-container" [style]="'bottom: 0px; width: 100%;'">
920
+ <div class="k-actionsheet k-actionsheet-bottom"
921
+ [ngClass]="cssClass"
922
+ role="dialog"
923
+ aria-modal="true"
924
+ [attr.aria-labelledby]="titleId">
925
+
926
+ <ng-template *ngIf="actionSheetTemplate; else defaultTemplate"
927
+ [ngTemplateOutlet]="actionSheetTemplate?.templateRef">
928
+ </ng-template>
929
+
930
+ <ng-template #defaultTemplate>
931
+ <div *ngIf="title || subtitle || headerTemplate" class="k-actionsheet-titlebar">
932
+ <ng-template *ngIf="headerTemplate; else defaultHeaderTemplate"
933
+ [ngTemplateOutlet]="headerTemplate?.templateRef">
934
+ </ng-template>
935
+
936
+ <ng-template #defaultHeaderTemplate>
937
+ <div class="k-actionsheet-titlebar-group k-hbox">
938
+ <div class="k-actionsheet-title" [id]="titleId">
939
+ <div *ngIf="title" class="k-text-center">{{title}}</div>
940
+ <div *ngIf="subtitle" class="k-actionsheet-subtitle k-text-center">{{subtitle}}</div>
941
+ </div>
942
+ </div>
943
+ </ng-template>
944
+ </div>
945
+
946
+ <div *ngIf="items || contentTemplate" class="k-actionsheet-content">
947
+ <ng-template *ngIf="contentTemplate; else defaultContentTemplate"
948
+ [ngTemplateOutlet]="contentTemplate?.templateRef">
949
+ </ng-template>
950
+ <ng-template #defaultContentTemplate>
951
+ <div *ngIf="topGroupItems" kendoActionSheetList
952
+ class="k-list-ul"
953
+ role="group"
954
+ [groupItems]="topGroupItems"
955
+ [allItems]="items"
956
+ [itemTemplate]="itemTemplate?.templateRef"
957
+ (itemClick)="onItemClick($event)">
958
+ </div>
959
+
960
+ <hr *ngIf="shouldRenderSeparator" class="k-hr"/>
961
+
962
+ <div *ngIf="bottomGroupItems" kendoActionSheetList
963
+ class="k-list-ul"
964
+ role="group"
965
+ [groupItems]="bottomGroupItems"
966
+ [allItems]="items"
967
+ [itemTemplate]="itemTemplate?.templateRef"
968
+ (itemClick)="onItemClick($event)">
969
+ </div>
970
+ </ng-template>
971
+ </div>
972
+ <div *ngIf="footerTemplate" class="k-actionsheet-footer">
973
+ <ng-template
974
+ [ngTemplateOutlet]="footerTemplate?.templateRef">
975
+ </ng-template>
976
+ </div>
977
+ </ng-template>
978
+ </div>
979
+ </div>
980
+ </div>
981
+ </ng-container>
982
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ActionSheetListComponent, selector: "[kendoActionSheetList]", inputs: ["groupItems", "allItems", "itemTemplate"], outputs: ["itemClick"] }] });
983
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ActionSheetComponent, decorators: [{
984
+ type: Component,
985
+ args: [{
986
+ exportAs: 'kendoActionSheet',
987
+ selector: 'kendo-actionsheet',
988
+ template: `
989
+ <ng-container *ngIf="expanded">
990
+ <div class="k-overlay" (click)="onOverlayClick()"></div>
991
+ <div class="k-animation-container k-animation-container-shown">
992
+ <div #childContainer class="k-child-animation-container" [style]="'bottom: 0px; width: 100%;'">
993
+ <div class="k-actionsheet k-actionsheet-bottom"
994
+ [ngClass]="cssClass"
995
+ role="dialog"
996
+ aria-modal="true"
997
+ [attr.aria-labelledby]="titleId">
998
+
999
+ <ng-template *ngIf="actionSheetTemplate; else defaultTemplate"
1000
+ [ngTemplateOutlet]="actionSheetTemplate?.templateRef">
1001
+ </ng-template>
1002
+
1003
+ <ng-template #defaultTemplate>
1004
+ <div *ngIf="title || subtitle || headerTemplate" class="k-actionsheet-titlebar">
1005
+ <ng-template *ngIf="headerTemplate; else defaultHeaderTemplate"
1006
+ [ngTemplateOutlet]="headerTemplate?.templateRef">
1007
+ </ng-template>
1008
+
1009
+ <ng-template #defaultHeaderTemplate>
1010
+ <div class="k-actionsheet-titlebar-group k-hbox">
1011
+ <div class="k-actionsheet-title" [id]="titleId">
1012
+ <div *ngIf="title" class="k-text-center">{{title}}</div>
1013
+ <div *ngIf="subtitle" class="k-actionsheet-subtitle k-text-center">{{subtitle}}</div>
1014
+ </div>
1015
+ </div>
1016
+ </ng-template>
1017
+ </div>
1018
+
1019
+ <div *ngIf="items || contentTemplate" class="k-actionsheet-content">
1020
+ <ng-template *ngIf="contentTemplate; else defaultContentTemplate"
1021
+ [ngTemplateOutlet]="contentTemplate?.templateRef">
1022
+ </ng-template>
1023
+ <ng-template #defaultContentTemplate>
1024
+ <div *ngIf="topGroupItems" kendoActionSheetList
1025
+ class="k-list-ul"
1026
+ role="group"
1027
+ [groupItems]="topGroupItems"
1028
+ [allItems]="items"
1029
+ [itemTemplate]="itemTemplate?.templateRef"
1030
+ (itemClick)="onItemClick($event)">
1031
+ </div>
1032
+
1033
+ <hr *ngIf="shouldRenderSeparator" class="k-hr"/>
1034
+
1035
+ <div *ngIf="bottomGroupItems" kendoActionSheetList
1036
+ class="k-list-ul"
1037
+ role="group"
1038
+ [groupItems]="bottomGroupItems"
1039
+ [allItems]="items"
1040
+ [itemTemplate]="itemTemplate?.templateRef"
1041
+ (itemClick)="onItemClick($event)">
1042
+ </div>
1043
+ </ng-template>
1044
+ </div>
1045
+ <div *ngIf="footerTemplate" class="k-actionsheet-footer">
1046
+ <ng-template
1047
+ [ngTemplateOutlet]="footerTemplate?.templateRef">
1048
+ </ng-template>
1049
+ </div>
1050
+ </ng-template>
1051
+ </div>
1052
+ </div>
1053
+ </div>
1054
+ </ng-container>
1055
+ `,
1056
+ providers: [
1057
+ LocalizationService,
1058
+ {
1063
1059
  provide: L10N_PREFIX,
1064
- useValue: 'kendo.breadcrumb'
1060
+ useValue: 'kendo.actionsheet.component'
1065
1061
  }
1066
1062
  ],
1067
- template: `
1068
- <ol
1069
- #itemsContainer
1070
- kendoBreadCrumbList
1071
- class="k-breadcrumb-root-item-container"
1072
- *ngIf="collapseMode === 'wrap'"
1073
- [items]="firstItem$ | async"
1074
- [itemTemplate]="itemTemplate?.templateRef"
1075
- [collapseMode]="collapseMode"
1076
- [separatorIcon]="separatorIcon"
1077
- [separatorSVGIcon]="separatorSVGIcon"
1078
- (itemClick)="itemClick.emit($event)"
1079
- ></ol>
1080
- <ol
1081
- #itemsContainer
1082
- kendoBreadCrumbList
1083
- class="k-breadcrumb-container"
1084
- [items]="itemsData$ | async"
1085
- [itemTemplate]="itemTemplate?.templateRef"
1086
- [collapseMode]="collapseMode"
1087
- [separatorIcon]="separatorIcon"
1088
- [separatorSVGIcon]="separatorSVGIcon"
1089
- (itemClick)="itemClick.emit($event)"
1090
- [ngClass]="{ '!k-flex-wrap': collapseMode === 'wrap', 'k-flex-none': collapseMode === 'none' }"
1091
- ></ol>
1092
- <kendo-resize-sensor [rateLimit]="1000" #resizeSensor></kendo-resize-sensor>
1093
- `
1063
+ standalone: true,
1064
+ imports: [NgIf, NgClass, NgTemplateOutlet, ActionSheetListComponent]
1094
1065
  }]
1095
- }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i0.Renderer2 }]; }, propDecorators: { items: [{
1066
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i1.LocalizationService }, { type: i2.AnimationBuilder }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { hostClass: [{
1067
+ type: HostBinding,
1068
+ args: ['class.k-actionsheet-container']
1069
+ }], direction: [{
1070
+ type: HostBinding,
1071
+ args: ['attr.dir']
1072
+ }], title: [{
1096
1073
  type: Input
1097
- }], separatorIcon: [{
1074
+ }], subtitle: [{
1098
1075
  type: Input
1099
- }], separatorSVGIcon: [{
1076
+ }], items: [{
1100
1077
  type: Input
1101
- }], collapseMode: [{
1078
+ }], cssClass: [{
1102
1079
  type: Input
1103
- }], size: [{
1080
+ }], animation: [{
1081
+ type: Input
1082
+ }], expanded: [{
1104
1083
  type: Input
1084
+ }], titleId: [{
1085
+ type: Input
1086
+ }], expandedChange: [{
1087
+ type: Output
1088
+ }], expand: [{
1089
+ type: Output
1090
+ }], collapse: [{
1091
+ type: Output
1105
1092
  }], itemClick: [{
1106
1093
  type: Output
1107
- }], resizeSensor: [{
1108
- type: ViewChild,
1109
- args: ['resizeSensor', { static: true }]
1110
- }], itemsContainers: [{
1111
- type: ViewChildren,
1112
- args: ['itemsContainer', { read: ElementRef }]
1113
- }], listComponent: [{
1094
+ }], overlayClick: [{
1095
+ type: Output
1096
+ }], childContainer: [{
1114
1097
  type: ViewChild,
1115
- args: [BreadCrumbListComponent, { static: true }]
1098
+ args: ['childContainer']
1099
+ }], actionSheetTemplate: [{
1100
+ type: ContentChild,
1101
+ args: [ActionSheetTemplateDirective]
1102
+ }], headerTemplate: [{
1103
+ type: ContentChild,
1104
+ args: [ActionSheetHeaderTemplateDirective]
1105
+ }], contentTemplate: [{
1106
+ type: ContentChild,
1107
+ args: [ActionSheetContentTemplateDirective]
1116
1108
  }], itemTemplate: [{
1117
1109
  type: ContentChild,
1118
- args: [BreadCrumbItemTemplateDirective]
1119
- }], hostClasses: [{
1120
- type: HostBinding,
1121
- args: ['class.k-breadcrumb']
1122
- }], wrapMode: [{
1123
- type: HostBinding,
1124
- args: ['class.k-breadcrumb-wrap']
1125
- }], hostAriaLabel: [{
1126
- type: HostBinding,
1127
- args: ['attr.aria-label']
1128
- }], getDir: [{
1129
- type: HostBinding,
1130
- args: ['attr.dir']
1110
+ args: [ActionSheetItemTemplateDirective]
1111
+ }], footerTemplate: [{
1112
+ type: ContentChild,
1113
+ args: [ActionSheetFooterTemplateDirective]
1131
1114
  }] } });
1132
1115
 
1133
- const templateDirectives$2 = [
1134
- BreadCrumbItemTemplateDirective
1135
- ];
1136
- const exportedModules$1 = [
1137
- BreadCrumbComponent,
1138
- BreadCrumbItemComponent,
1139
- BreadCrumbListComponent,
1140
- ...templateDirectives$2
1141
- ];
1142
- const declarations$2 = [
1143
- ...exportedModules$1,
1144
- BreadCrumbSeparatorDirective
1145
- ];
1146
1116
  /**
1147
- * Represents the [NgModule](link:site.data.urls.angular['ngmoduleapi'])
1148
- * definition for the BreadCrumb component.
1149
- * @example
1150
- *
1151
- * ```ts-no-run
1152
- * // Import the BreadCrumb module
1153
- * import { BreadCrumbModule } from '@progress/kendo-angular-navigation';
1154
- *
1155
- * // The browser platform with a compiler
1156
- * import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
1157
- * import { BrowserModule } from '@angular/platform-browser';
1158
- *
1159
- * import { NgModule } from '@angular/core';
1160
- *
1161
- * // Import the app component
1162
- * import { AppComponent } from './app.component';
1163
- *
1164
- * // Define the app module
1165
- * _@NgModule({
1166
- * declarations: [AppComponent], // declare app component
1167
- * imports: [BrowserModule, BreadCrumbModule], // import BreadCrumb module
1168
- * bootstrap: [AppComponent]
1169
- * })
1170
- * export class AppModule {}
1171
- *
1172
- * // Compile and launch the module
1173
- * platformBrowserDynamic().bootstrapModule(AppModule);
1174
- *
1175
- * ```
1117
+ * @hidden
1176
1118
  */
1177
- class BreadCrumbModule {
1119
+ class PreventableEvent {
1120
+ /**
1121
+ * @hidden
1122
+ */
1123
+ constructor(args) {
1124
+ this.prevented = false;
1125
+ Object.assign(this, args);
1126
+ }
1127
+ /**
1128
+ * Prevents the default action for a specified event.
1129
+ * In this way, the source component suppresses
1130
+ * the built-in behavior that follows the event.
1131
+ */
1132
+ preventDefault() {
1133
+ this.prevented = true;
1134
+ }
1135
+ /**
1136
+ * Returns `true` if the event was prevented
1137
+ * by any of its subscribers.
1138
+ *
1139
+ * @returns `true` if the default action was prevented.
1140
+ * Otherwise, returns `false`.
1141
+ */
1142
+ isDefaultPrevented() {
1143
+ return this.prevented;
1144
+ }
1178
1145
  }
1179
- BreadCrumbModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BreadCrumbModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1180
- BreadCrumbModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: BreadCrumbModule, declarations: [BreadCrumbComponent,
1181
- BreadCrumbItemComponent,
1182
- BreadCrumbListComponent, BreadCrumbItemTemplateDirective, BreadCrumbSeparatorDirective], imports: [CommonModule, ResizeSensorModule, IconsModule], exports: [BreadCrumbComponent,
1183
- BreadCrumbItemComponent,
1184
- BreadCrumbListComponent, BreadCrumbItemTemplateDirective] });
1185
- BreadCrumbModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BreadCrumbModule, imports: [CommonModule, ResizeSensorModule, IconsModule] });
1186
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BreadCrumbModule, decorators: [{
1187
- type: NgModule,
1146
+
1147
+ /**
1148
+ * Arguments for the `select` event of the BottomNavigation.
1149
+ */
1150
+ class BottomNavigationSelectEvent extends PreventableEvent {
1151
+ }
1152
+
1153
+ /**
1154
+ * Represents a template that defines the item content of the BottomNavigation.
1155
+ * To define the template, nest an `<ng-template>` tag
1156
+ * with the `kendoBottomNavigationItemTemplate` directive inside the `<kendo-bottomnavigation>` tag ([see example]({% slug templates_bottomnavigation %})).
1157
+ */
1158
+ class BottomNavigationItemTemplateDirective {
1159
+ constructor(templateRef) {
1160
+ this.templateRef = templateRef;
1161
+ }
1162
+ }
1163
+ BottomNavigationItemTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BottomNavigationItemTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
1164
+ BottomNavigationItemTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: BottomNavigationItemTemplateDirective, isStandalone: true, selector: "[kendoBottomNavigationItemTemplate]", ngImport: i0 });
1165
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BottomNavigationItemTemplateDirective, decorators: [{
1166
+ type: Directive,
1188
1167
  args: [{
1189
- declarations: [declarations$2],
1190
- exports: [exportedModules$1],
1191
- imports: [CommonModule, ResizeSensorModule, IconsModule]
1168
+ selector: '[kendoBottomNavigationItemTemplate]',
1169
+ standalone: true
1192
1170
  }]
1193
- }] });
1171
+ }], ctorParameters: function () {
1172
+ return [{ type: i0.TemplateRef, decorators: [{
1173
+ type: Optional
1174
+ }] }];
1175
+ } });
1176
+
1177
+ const closestInScope = (target, targetAttr, predicate, scope) => {
1178
+ while (target && target !== scope && !predicate(target, targetAttr)) {
1179
+ target = target.parentNode;
1180
+ }
1181
+ if (target !== scope) {
1182
+ return target;
1183
+ }
1184
+ };
1185
+ const hasItemIndex = (item, indexAttr) => isPresent(item.getAttribute(indexAttr));
1186
+ /**
1187
+ * @hidden
1188
+ */
1189
+ const itemIndex = (item, indexAttr) => +item.getAttribute(indexAttr);
1190
+ /**
1191
+ * @hidden
1192
+ */
1193
+ const closestItem = (target, targetAttr, scope) => closestInScope(target, targetAttr, hasItemIndex, scope);
1194
+
1195
+ /**
1196
+ * @hidden
1197
+ */
1198
+ const BOTTOMNAVIGATION_ITEM_INDEX = 'data-kendo-bottomnavigation-index';
1199
+ /**
1200
+ * @hidden
1201
+ */
1202
+ const colors = ['primary', 'secondary', 'tertiary', 'info', 'success', 'warning', 'error', 'dark', 'light', 'inverse'];
1194
1203
 
1195
1204
  /**
1196
1205
  * @hidden
@@ -1218,7 +1227,7 @@ class BottomNavigationItemComponent {
1218
1227
  }
1219
1228
  }
1220
1229
  BottomNavigationItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BottomNavigationItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1221
- BottomNavigationItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", 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", "attr.aria-label": "this.label", "attr.tabindex": "this.tabindex", "attr.aria-current": "this.selectedClass", "class.k-selected": "this.selectedClass" } }, ngImport: i0, template: `
1230
+ BottomNavigationItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BottomNavigationItemComponent, isStandalone: true, 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", "attr.aria-label": "this.label", "attr.tabindex": "this.tabindex", "attr.aria-current": "this.selectedClass", "class.k-selected": "this.selectedClass" } }, ngImport: i0, template: `
1222
1231
  <ng-container *ngIf="!itemTemplate">
1223
1232
  <kendo-icon-wrapper *ngIf="itemIcon"
1224
1233
  innerCssClass="k-bottom-nav-item-icon"
@@ -1232,7 +1241,7 @@ BottomNavigationItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "1
1232
1241
  [ngTemplateOutlet]="itemTemplate?.templateRef"
1233
1242
  [ngTemplateOutletContext]="{ $implicit: item }">
1234
1243
  </ng-template>
1235
- `, isInline: true, dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }] });
1244
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
1236
1245
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BottomNavigationItemComponent, decorators: [{
1237
1246
  type: Component,
1238
1247
  args: [{
@@ -1252,7 +1261,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1252
1261
  [ngTemplateOutlet]="itemTemplate?.templateRef"
1253
1262
  [ngTemplateOutletContext]="{ $implicit: item }">
1254
1263
  </ng-template>
1255
- `
1264
+ `,
1265
+ standalone: true,
1266
+ imports: [NgIf, IconWrapperComponent, NgTemplateOutlet]
1256
1267
  }]
1257
1268
  }], propDecorators: { itemTemplate: [{
1258
1269
  type: Input
@@ -1286,75 +1297,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1286
1297
  args: ['class.k-selected']
1287
1298
  }] } });
1288
1299
 
1289
- /**
1290
- * Represents a template that defines the item content of the BottomNavigation.
1291
- * To define the template, nest an `<ng-template>` tag
1292
- * with the `kendoBottomNavigationItemTemplate` directive inside the `<kendo-bottomnavigation>` tag ([see example]({% slug templates_bottomnavigation %})).
1293
- */
1294
- class BottomNavigationItemTemplateDirective {
1295
- constructor(templateRef) {
1296
- this.templateRef = templateRef;
1297
- }
1298
- }
1299
- BottomNavigationItemTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BottomNavigationItemTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
1300
- BottomNavigationItemTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: BottomNavigationItemTemplateDirective, selector: "[kendoBottomNavigationItemTemplate]", ngImport: i0 });
1301
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BottomNavigationItemTemplateDirective, decorators: [{
1302
- type: Directive,
1303
- args: [{
1304
- selector: '[kendoBottomNavigationItemTemplate]'
1305
- }]
1306
- }], ctorParameters: function () {
1307
- return [{ type: i0.TemplateRef, decorators: [{
1308
- type: Optional
1309
- }] }];
1310
- } });
1311
-
1312
- /**
1313
- * @hidden
1314
- */
1315
- class PreventableEvent {
1316
- /**
1317
- * @hidden
1318
- */
1319
- constructor(args) {
1320
- this.prevented = false;
1321
- Object.assign(this, args);
1322
- }
1323
- /**
1324
- * Prevents the default action for a specified event.
1325
- * In this way, the source component suppresses
1326
- * the built-in behavior that follows the event.
1327
- */
1328
- preventDefault() {
1329
- this.prevented = true;
1330
- }
1331
- /**
1332
- * Returns `true` if the event was prevented
1333
- * by any of its subscribers.
1334
- *
1335
- * @returns `true` if the default action was prevented.
1336
- * Otherwise, returns `false`.
1337
- */
1338
- isDefaultPrevented() {
1339
- return this.prevented;
1340
- }
1341
- }
1342
-
1343
- /**
1344
- * Arguments for the `select` event of the BottomNavigation.
1345
- */
1346
- class BottomNavigationSelectEvent extends PreventableEvent {
1347
- }
1348
-
1349
- /**
1350
- * @hidden
1351
- */
1352
- const BOTTOMNAVIGATION_ITEM_INDEX = 'data-kendo-bottomnavigation-index';
1353
- /**
1354
- * @hidden
1355
- */
1356
- const colors = ['primary', 'secondary', 'tertiary', 'info', 'success', 'warning', 'error', 'dark', 'light', 'inverse'];
1357
-
1358
1300
  /**
1359
1301
  * Represents the [Kendo UI BottomNavigation component for Angular]({% slug overview_bottomnavigation %}).
1360
1302
  *
@@ -1586,13 +1528,13 @@ class BottomNavigationComponent {
1586
1528
  }
1587
1529
  }
1588
1530
  BottomNavigationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BottomNavigationComponent, deps: [{ token: i1.LocalizationService }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
1589
- BottomNavigationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BottomNavigationComponent, selector: "kendo-bottomnavigation", inputs: { items: "items", border: "border", disabled: "disabled", fill: "fill", itemFlow: "itemFlow", positionMode: "positionMode", themeColor: "themeColor" }, outputs: { select: "select" }, host: { properties: { "class.k-bottom-nav": "this.hostClass", "class.k-bottom-nav-border": "this.borderClass", "class.k-disabled": "this.disabledClass", "attr.role": "this.role", "attr.dir": "this.direction" } }, providers: [
1531
+ BottomNavigationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BottomNavigationComponent, isStandalone: true, selector: "kendo-bottomnavigation", inputs: { items: "items", border: "border", disabled: "disabled", fill: "fill", itemFlow: "itemFlow", positionMode: "positionMode", themeColor: "themeColor" }, outputs: { select: "select" }, host: { properties: { "class.k-bottom-nav": "this.hostClass", "class.k-bottom-nav-border": "this.borderClass", "class.k-disabled": "this.disabledClass", "attr.role": "this.role", "attr.dir": "this.direction" } }, providers: [
1590
1532
  LocalizationService,
1591
1533
  {
1592
1534
  provide: L10N_PREFIX,
1593
1535
  useValue: 'kendo.bottomnavigation'
1594
1536
  }
1595
- ], queries: [{ propertyName: "itemTemplate", first: true, predicate: BottomNavigationItemTemplateDirective, descendants: true }], exportAs: ["kendoBottomNavigation"], ngImport: i0, template: "\n <ng-container *ngIf=\"items\">\n <span kendoBottomNavigationItem\n *ngFor=\"let item of items; let idx=index\"\n role=\"link\"\n class=\"k-bottom-nav-item\"\n [disabledComponent]=\"disabled\"\n [item]=\"item\"\n [index]=\"idx\"\n [selectedIdx]=\"selectedIdx\"\n [itemTemplate]=\"itemTemplate\"\n [attr.data-kendo-bottomnavigation-index]=\"idx\"\n [ngClass]=\"item.cssClass\"\n [ngStyle]=\"item.cssStyle\"\n [orientation]=\"itemFlow\">\n </span>\n </ng-container>\n ", isInline: true, dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: BottomNavigationItemComponent, selector: "[kendoBottomNavigationItem]", inputs: ["itemTemplate", "item", "index", "disabledComponent", "selectedIdx", "orientation"] }] });
1537
+ ], queries: [{ propertyName: "itemTemplate", first: true, predicate: BottomNavigationItemTemplateDirective, descendants: true }], exportAs: ["kendoBottomNavigation"], ngImport: i0, template: "\n <ng-container *ngIf=\"items\">\n <span kendoBottomNavigationItem\n *ngFor=\"let item of items; let idx=index\"\n role=\"link\"\n class=\"k-bottom-nav-item\"\n [disabledComponent]=\"disabled\"\n [item]=\"item\"\n [index]=\"idx\"\n [selectedIdx]=\"selectedIdx\"\n [itemTemplate]=\"itemTemplate\"\n [attr.data-kendo-bottomnavigation-index]=\"idx\"\n [ngClass]=\"item.cssClass\"\n [ngStyle]=\"item.cssStyle\"\n [orientation]=\"itemFlow\">\n </span>\n </ng-container>\n ", isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: BottomNavigationItemComponent, selector: "[kendoBottomNavigationItem]", inputs: ["itemTemplate", "item", "index", "disabledComponent", "selectedIdx", "orientation"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
1596
1538
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BottomNavigationComponent, decorators: [{
1597
1539
  type: Component,
1598
1540
  args: [{
@@ -1622,7 +1564,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1622
1564
  [orientation]="itemFlow">
1623
1565
  </span>
1624
1566
  </ng-container>
1625
- `
1567
+ `,
1568
+ standalone: true,
1569
+ imports: [NgIf, NgFor, BottomNavigationItemComponent, NgClass, NgStyle]
1626
1570
  }]
1627
1571
  }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }]; }, propDecorators: { items: [{
1628
1572
  type: Input
@@ -1660,76 +1604,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1660
1604
  args: [BottomNavigationItemTemplateDirective, { static: false }]
1661
1605
  }] } });
1662
1606
 
1663
- const templateDirectives$1 = [BottomNavigationItemTemplateDirective];
1664
- const exportedComponents = [BottomNavigationComponent, ...templateDirectives$1];
1665
- const declarations$1 = [BottomNavigationItemComponent, ...exportedComponents];
1666
1607
  /**
1667
- * Represents the [NgModule](link:site.data.urls.angular['ngmoduleapi'])
1668
- * definition for the BottomNavigation component.
1669
- * @example
1670
- *
1671
- * ```ts-no-run
1672
- * // Import the BottomNavigation module
1673
- * import { BottomNavigationModule } from '@progress/kendo-angular-navigation';
1674
- *
1675
- * // The browser platform with a compiler
1676
- * import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
1677
- * import { BrowserModule } from '@angular/platform-browser';
1678
- *
1679
- * import { NgModule } from '@angular/core';
1680
- *
1681
- * // Import the app component
1682
- * import { AppComponent } from './app.component';
1683
- *
1684
- * // Define the app module
1685
- * _@NgModule({
1686
- * declarations: [AppComponent], // declare app component
1687
- * imports: [BrowserModule, BottomNavigationModule], // import BottomNavigation module
1688
- * bootstrap: [AppComponent]
1689
- * })
1690
- * export class AppModule {}
1691
- *
1692
- * // Compile and launch the module
1693
- * platformBrowserDynamic().bootstrapModule(AppModule);
1608
+ * Represents a template that defines the content of a Breadcrumb item.
1609
+ * To define the template, nest an `<ng-template>` tag with the `kendoBreadCrumbItemTemplate` directive inside the `<kendo-breadcrumb>` tag.
1694
1610
  *
1695
- * ```
1696
- */
1697
- class BottomNavigationModule {
1698
- }
1699
- BottomNavigationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BottomNavigationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1700
- BottomNavigationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: BottomNavigationModule, declarations: [BottomNavigationItemComponent, BottomNavigationComponent, BottomNavigationItemTemplateDirective], imports: [CommonModule, IconsModule], exports: [BottomNavigationComponent, BottomNavigationItemTemplateDirective] });
1701
- BottomNavigationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BottomNavigationModule, imports: [CommonModule, IconsModule] });
1702
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BottomNavigationModule, decorators: [{
1703
- type: NgModule,
1704
- args: [{
1705
- declarations: [declarations$1],
1706
- exports: [exportedComponents],
1707
- imports: [CommonModule, IconsModule]
1708
- }]
1709
- }] });
1710
-
1711
- /**
1712
- * Arguments for the `itemClick` event of the ActionSheet.
1713
- */
1714
- class ActionSheetItemClickEvent {
1715
- }
1716
-
1717
- /**
1718
- * Represents a template that defines the header content of the ActionSheet. Utilizing the template overrides both the `title` and `subtitle` of the ActionSheet.
1719
- * To define the template, nest an `<ng-template>` tag
1720
- * with the `kendoActionSheetHeaderTemplate` directive inside the `<kendo-actionsheet>` tag.
1611
+ * For more information and example refer to the [Templates]({% slug templates_breadcrumb %}) article.
1721
1612
  */
1722
- class ActionSheetHeaderTemplateDirective {
1613
+ class BreadCrumbItemTemplateDirective {
1723
1614
  constructor(templateRef) {
1724
1615
  this.templateRef = templateRef;
1725
1616
  }
1726
1617
  }
1727
- ActionSheetHeaderTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ActionSheetHeaderTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
1728
- ActionSheetHeaderTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: ActionSheetHeaderTemplateDirective, selector: "[kendoActionSheetHeaderTemplate]", ngImport: i0 });
1729
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ActionSheetHeaderTemplateDirective, decorators: [{
1618
+ BreadCrumbItemTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BreadCrumbItemTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
1619
+ BreadCrumbItemTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: BreadCrumbItemTemplateDirective, isStandalone: true, selector: "[kendoBreadCrumbItemTemplate]", ngImport: i0 });
1620
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BreadCrumbItemTemplateDirective, decorators: [{
1730
1621
  type: Directive,
1731
1622
  args: [{
1732
- selector: '[kendoActionSheetHeaderTemplate]'
1623
+ selector: '[kendoBreadCrumbItemTemplate]',
1624
+ standalone: true
1733
1625
  }]
1734
1626
  }], ctorParameters: function () {
1735
1627
  return [{ type: i0.TemplateRef, decorators: [{
@@ -1738,765 +1630,758 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1738
1630
  } });
1739
1631
 
1740
1632
  /**
1741
- * Represents a template that defines the item content of the ActionSheet.
1742
- * To define the template, nest an `<ng-template>` tag
1743
- * with the `kendoActionSheetItemTemplate` directive inside the `<kendo-actionsheet>` tag.
1633
+ * @hidden
1744
1634
  */
1745
- class ActionSheetItemTemplateDirective {
1746
- constructor(templateRef) {
1747
- this.templateRef = templateRef;
1748
- }
1749
- }
1750
- ActionSheetItemTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ActionSheetItemTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
1751
- ActionSheetItemTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: ActionSheetItemTemplateDirective, selector: "[kendoActionSheetItemTemplate]", ngImport: i0 });
1752
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ActionSheetItemTemplateDirective, decorators: [{
1753
- type: Directive,
1754
- args: [{
1755
- selector: '[kendoActionSheetItemTemplate]'
1756
- }]
1757
- }], ctorParameters: function () {
1758
- return [{ type: i0.TemplateRef, decorators: [{
1759
- type: Optional
1760
- }] }];
1761
- } });
1762
-
1635
+ const BREADCRUMB_ITEM_INDEX = 'data-kendo-breadcrumb-index';
1763
1636
  /**
1764
- * Represents a template that defines the items list content of the ActionSheet.
1765
- * To define the template, nest an `<ng-template>` tag
1766
- * with the `kendoActionSheetContentTemplate` directive inside the `<kendo-actionsheet>` tag.
1637
+ * @hidden
1767
1638
  */
1768
- class ActionSheetContentTemplateDirective {
1769
- constructor(templateRef) {
1770
- this.templateRef = templateRef;
1771
- }
1772
- }
1773
- ActionSheetContentTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ActionSheetContentTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
1774
- ActionSheetContentTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: ActionSheetContentTemplateDirective, selector: "[kendoActionSheetContentTemplate]", ngImport: i0 });
1775
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ActionSheetContentTemplateDirective, decorators: [{
1776
- type: Directive,
1777
- args: [{
1778
- selector: '[kendoActionSheetContentTemplate]'
1779
- }]
1780
- }], ctorParameters: function () {
1781
- return [{ type: i0.TemplateRef, decorators: [{
1782
- type: Optional
1783
- }] }];
1784
- } });
1785
-
1786
- /**
1787
- * Represents a template that defines the footer of the ActionSheet.
1788
- * To define the template, nest an `<ng-template>` tag
1789
- * with the `kendoActionSheetFooterTemplate` directive inside the `<kendo-actionsheet>` tag.
1790
- */
1791
- class ActionSheetFooterTemplateDirective {
1792
- constructor(templateRef) {
1793
- this.templateRef = templateRef;
1794
- }
1795
- }
1796
- ActionSheetFooterTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ActionSheetFooterTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
1797
- ActionSheetFooterTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: ActionSheetFooterTemplateDirective, selector: "[kendoActionSheetFooterTemplate]", ngImport: i0 });
1798
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ActionSheetFooterTemplateDirective, decorators: [{
1799
- type: Directive,
1800
- args: [{
1801
- selector: '[kendoActionSheetFooterTemplate]'
1802
- }]
1803
- }], ctorParameters: function () {
1804
- return [{ type: i0.TemplateRef, decorators: [{
1805
- type: Optional
1806
- }] }];
1807
- } });
1808
-
1809
- /**
1810
- * Represents a template that defines the content of the ActionSheet.
1811
- * To define the template, nest an `<ng-template>` tag
1812
- * with the `kendoActionSheetTemplate` directive inside the `<kendo-actionsheet>` tag.
1813
- */
1814
- class ActionSheetTemplateDirective {
1815
- constructor(templateRef) {
1816
- this.templateRef = templateRef;
1817
- }
1818
- }
1819
- ActionSheetTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ActionSheetTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
1820
- ActionSheetTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: ActionSheetTemplateDirective, selector: "[kendoActionSheetTemplate]", ngImport: i0 });
1821
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ActionSheetTemplateDirective, decorators: [{
1822
- type: Directive,
1823
- args: [{
1824
- selector: '[kendoActionSheetTemplate]'
1825
- }]
1826
- }], ctorParameters: function () {
1827
- return [{ type: i0.TemplateRef, decorators: [{
1828
- type: Optional
1829
- }] }];
1830
- } });
1831
-
1832
- /**
1833
- * @hidden
1834
- */
1835
- function slideUp(duration, height) {
1836
- return [
1837
- style({ overflow: 'hidden', display: 'block', height: 0 }),
1838
- animate(`${duration}ms ease-in`, style({ height: `${height}` }))
1839
- ];
1840
- }
1639
+ const DEFAULT_SIZE = 'medium';
1640
+ const SIZES = {
1641
+ small: 'sm',
1642
+ medium: 'md',
1643
+ large: 'lg'
1644
+ };
1841
1645
  /**
1842
1646
  * @hidden
1647
+ *
1648
+ * Returns the styling classes to be added and removed
1843
1649
  */
1844
- function slideDown(duration, height) {
1845
- return [
1846
- style({ overflow: 'hidden', height: `${height}` }),
1847
- animate(`${duration}ms ease-in`, style({ overflow: 'hidden', height: 0 }))
1848
- ];
1849
- }
1650
+ const getStylingClasses = (stylingOption, previousValue, newValue) => {
1651
+ switch (stylingOption) {
1652
+ case 'size':
1653
+ return {
1654
+ toRemove: `k-breadcrumb-${SIZES[previousValue]}`,
1655
+ toAdd: newValue !== 'none' ? `k-breadcrumb-${SIZES[newValue]}` : ''
1656
+ };
1657
+ default:
1658
+ break;
1659
+ }
1660
+ };
1850
1661
 
1851
1662
  /**
1852
1663
  * @hidden
1853
1664
  */
1854
- class ActionSheetItemComponent {
1855
- constructor() {
1856
- this.pointerClass = true;
1665
+ class BreadCrumbItemComponent {
1666
+ constructor(el) {
1667
+ this.el = el;
1668
+ this.index = -1;
1669
+ this.hostClasses = true;
1670
+ this.disabled = false;
1857
1671
  }
1858
- manageIconClasses(item) {
1859
- const classes = ['k-actionsheet-item-icon'];
1860
- const isHexColor = isPresent(item.iconColor) && hexColorRegex.test(item.iconColor);
1861
- const isThemeColor = isPresent(item.iconColor) && item.iconColor !== '' && !isHexColor;
1862
- if (isThemeColor) {
1863
- classes.push(`k-text-${item.iconColor}`);
1864
- }
1865
- return classes.join(' ');
1672
+ get isRootItem() {
1673
+ return this.item.context.isFirst;
1866
1674
  }
1867
- manageIconStyles(item) {
1868
- const isHexColor = isPresent(item.iconColor) && hexColorRegex.test(item.iconColor);
1869
- const isSizeSet = isPresent(item.iconSize) && item.iconSize !== '';
1870
- const styles = {};
1871
- if (isHexColor) {
1872
- styles.color = item.iconColor;
1675
+ get isDisabled() {
1676
+ return this.disabled || null;
1677
+ }
1678
+ get isLastItem() {
1679
+ return this.item.context.isLast;
1680
+ }
1681
+ ngOnInit() {
1682
+ this.disabled = this.item.data && (this.item.data.disabled || this.item.context.isLast);
1683
+ }
1684
+ ngAfterViewInit() {
1685
+ if (isDocumentAvailable()) {
1686
+ this.width = outerWidth(this.el.nativeElement);
1873
1687
  }
1874
- if (isSizeSet) {
1875
- styles.fontSize = item.iconSize;
1688
+ }
1689
+ onImageLoad() {
1690
+ if (isDocumentAvailable()) {
1691
+ this.width = outerWidth(this.el.nativeElement);
1876
1692
  }
1877
- return styles;
1878
1693
  }
1879
1694
  }
1880
- ActionSheetItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ActionSheetItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1881
- ActionSheetItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ActionSheetItemComponent, selector: "[kendoActionSheetItem]", inputs: { itemTemplate: "itemTemplate", item: "item" }, host: { properties: { "class.k-cursor-pointer": "this.pointerClass" } }, ngImport: i0, template: `
1882
- <ng-template *ngIf="itemTemplate; else defaultTemplate"
1883
- [ngTemplateOutlet]="itemTemplate"
1884
- [ngTemplateOutletContext]="{
1885
- $implicit: item
1886
- }">
1695
+ BreadCrumbItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BreadCrumbItemComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
1696
+ BreadCrumbItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BreadCrumbItemComponent, isStandalone: true, selector: "[kendoBreadCrumbItem]", inputs: { item: "item", collapseMode: "collapseMode", index: "index", itemTemplate: "itemTemplate" }, host: { properties: { "class.k-breadcrumb-item": "this.hostClasses", "class.k-breadcrumb-root-item": "this.isRootItem", "attr.aria-disabled": "this.isDisabled", "class.k-breadcrumb-last-item": "this.isLastItem" } }, ngImport: i0, template: `
1697
+ <ng-template #separator>
1698
+ <ng-content select="[kendoBreadCrumbSeparator]"></ng-content>
1887
1699
  </ng-template>
1888
- <ng-template #defaultTemplate>
1889
- <span class="k-actionsheet-action">
1890
- <span *ngIf="item.icon || item.iconClass || item.svgIcon" class="k-icon-wrap">
1891
- <kendo-icon-wrapper
1892
- [name]="item.icon"
1893
- [customFontClass]="item.iconClass"
1894
- [class]="manageIconClasses(item)"
1895
- [svgIcon]="item.svgIcon"
1896
- [style]="manageIconStyles(item)"
1897
- >
1898
- </kendo-icon-wrapper>
1899
- </span>
1900
- <span *ngIf="item.title || item.description" class="k-actionsheet-item-text">
1901
- <span *ngIf="item.title" class="k-actionsheet-item-title">{{item.title}}</span>
1902
- <span *ngIf="item.description" class="k-actionsheet-item-description">{{item.description}}</span>
1903
- </span>
1700
+
1701
+ <ng-container *ngIf="collapseMode === 'wrap'">
1702
+ <ng-container *ngTemplateOutlet="separator"></ng-container>
1703
+ </ng-container>
1704
+
1705
+ <ng-container *ngIf="!item.context.collapsed">
1706
+ <span
1707
+ *ngIf="!itemTemplate"
1708
+ [ngClass]="{
1709
+ 'k-breadcrumb-root-link': item.context.isFirst,
1710
+ 'k-breadcrumb-link': index !== 0,
1711
+ 'k-breadcrumb-icontext-link': !!item.data.icon && !!item.data.text,
1712
+ 'k-breadcrumb-icon-link': !!item.data.icon && !item.data.text,
1713
+ 'k-disabled': disabled
1714
+ }"
1715
+ [title]="item.data.title || ''"
1716
+ [tabindex]="disabled ? -1 : 0"
1717
+ [attr.aria-disabled]="disabled"
1718
+ [attr.aria-current]="item.context.isLast ? 'page' : null"
1719
+ role="link"
1720
+ >
1721
+ <img *ngIf="item.data.imageUrl" (load)="onImageLoad()" [src]="item.data.imageUrl" class="k-image" role="presentation" />
1722
+ <kendo-icon-wrapper *ngIf="item.data.icon || item.data.iconClass || item.data.svgIcon"
1723
+ [name]="item.data.icon"
1724
+ [customFontClass]="item.data.iconClass"
1725
+ [svgIcon]="item.data.svgIcon"
1726
+ >
1727
+ </kendo-icon-wrapper>
1728
+ <span class="k-breadcrumb-item-text">{{ item.data.text }}</span>
1904
1729
  </span>
1905
- </ng-template>
1906
- `, isInline: true, dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }] });
1907
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ActionSheetItemComponent, decorators: [{
1730
+ <ng-template
1731
+ *ngIf="itemTemplate"
1732
+ [ngTemplateOutlet]="itemTemplate"
1733
+ [ngTemplateOutletContext]="{
1734
+ $implicit: item.data,
1735
+ index: index
1736
+ }"
1737
+ ></ng-template>
1738
+ </ng-container>
1739
+
1740
+ <ng-container *ngIf="collapseMode !== 'wrap'">
1741
+ <ng-container *ngTemplateOutlet="separator"></ng-container>
1742
+ </ng-container>
1743
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }] });
1744
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BreadCrumbItemComponent, decorators: [{
1908
1745
  type: Component,
1909
1746
  args: [{
1910
1747
  // eslint-disable-next-line @angular-eslint/component-selector
1911
- selector: '[kendoActionSheetItem]',
1748
+ selector: '[kendoBreadCrumbItem]',
1912
1749
  template: `
1913
- <ng-template *ngIf="itemTemplate; else defaultTemplate"
1914
- [ngTemplateOutlet]="itemTemplate"
1915
- [ngTemplateOutletContext]="{
1916
- $implicit: item
1917
- }">
1918
- </ng-template>
1919
- <ng-template #defaultTemplate>
1920
- <span class="k-actionsheet-action">
1921
- <span *ngIf="item.icon || item.iconClass || item.svgIcon" class="k-icon-wrap">
1922
- <kendo-icon-wrapper
1923
- [name]="item.icon"
1924
- [customFontClass]="item.iconClass"
1925
- [class]="manageIconClasses(item)"
1926
- [svgIcon]="item.svgIcon"
1927
- [style]="manageIconStyles(item)"
1928
- >
1929
- </kendo-icon-wrapper>
1930
- </span>
1931
- <span *ngIf="item.title || item.description" class="k-actionsheet-item-text">
1932
- <span *ngIf="item.title" class="k-actionsheet-item-title">{{item.title}}</span>
1933
- <span *ngIf="item.description" class="k-actionsheet-item-description">{{item.description}}</span>
1934
- </span>
1935
- </span>
1750
+ <ng-template #separator>
1751
+ <ng-content select="[kendoBreadCrumbSeparator]"></ng-content>
1936
1752
  </ng-template>
1937
- `
1938
- }]
1939
- }], propDecorators: { itemTemplate: [{
1940
- type: Input
1941
- }], item: [{
1942
- type: Input
1943
- }], pointerClass: [{
1944
- type: HostBinding,
1945
- args: ['class.k-cursor-pointer']
1946
- }] } });
1947
1753
 
1948
- /**
1949
- * @hidden
1950
- */
1951
- class ActionSheetListComponent {
1952
- constructor(renderer, ngZone, element) {
1953
- this.renderer = renderer;
1954
- this.ngZone = ngZone;
1955
- this.element = element;
1956
- this.groupItems = [];
1957
- this.allItems = [];
1958
- this.itemClick = new EventEmitter();
1959
- this.subscriptions = new Subscription();
1960
- }
1961
- ngAfterViewInit() {
1962
- this.initDomEvents();
1963
- }
1964
- ngOnDestroy() {
1965
- this.subscriptions.unsubscribe();
1966
- }
1967
- initDomEvents() {
1968
- if (!this.element) {
1969
- return;
1970
- }
1971
- this.ngZone.runOutsideAngular(() => {
1972
- const nativeElement = this.element.nativeElement;
1973
- this.subscriptions.add(this.renderer.listen(nativeElement, 'click', this.clickHandler.bind(this)));
1974
- });
1754
+ <ng-container *ngIf="collapseMode === 'wrap'">
1755
+ <ng-container *ngTemplateOutlet="separator"></ng-container>
1756
+ </ng-container>
1757
+
1758
+ <ng-container *ngIf="!item.context.collapsed">
1759
+ <span
1760
+ *ngIf="!itemTemplate"
1761
+ [ngClass]="{
1762
+ 'k-breadcrumb-root-link': item.context.isFirst,
1763
+ 'k-breadcrumb-link': index !== 0,
1764
+ 'k-breadcrumb-icontext-link': !!item.data.icon && !!item.data.text,
1765
+ 'k-breadcrumb-icon-link': !!item.data.icon && !item.data.text,
1766
+ 'k-disabled': disabled
1767
+ }"
1768
+ [title]="item.data.title || ''"
1769
+ [tabindex]="disabled ? -1 : 0"
1770
+ [attr.aria-disabled]="disabled"
1771
+ [attr.aria-current]="item.context.isLast ? 'page' : null"
1772
+ role="link"
1773
+ >
1774
+ <img *ngIf="item.data.imageUrl" (load)="onImageLoad()" [src]="item.data.imageUrl" class="k-image" role="presentation" />
1775
+ <kendo-icon-wrapper *ngIf="item.data.icon || item.data.iconClass || item.data.svgIcon"
1776
+ [name]="item.data.icon"
1777
+ [customFontClass]="item.data.iconClass"
1778
+ [svgIcon]="item.data.svgIcon"
1779
+ >
1780
+ </kendo-icon-wrapper>
1781
+ <span class="k-breadcrumb-item-text">{{ item.data.text }}</span>
1782
+ </span>
1783
+ <ng-template
1784
+ *ngIf="itemTemplate"
1785
+ [ngTemplateOutlet]="itemTemplate"
1786
+ [ngTemplateOutletContext]="{
1787
+ $implicit: item.data,
1788
+ index: index
1789
+ }"
1790
+ ></ng-template>
1791
+ </ng-container>
1792
+
1793
+ <ng-container *ngIf="collapseMode !== 'wrap'">
1794
+ <ng-container *ngTemplateOutlet="separator"></ng-container>
1795
+ </ng-container>
1796
+ `,
1797
+ standalone: true,
1798
+ imports: [NgIf, NgTemplateOutlet, NgClass, IconWrapperComponent]
1799
+ }]
1800
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { item: [{
1801
+ type: Input
1802
+ }], collapseMode: [{
1803
+ type: Input
1804
+ }], index: [{
1805
+ type: Input
1806
+ }], itemTemplate: [{
1807
+ type: Input
1808
+ }], hostClasses: [{
1809
+ type: HostBinding,
1810
+ args: ['class.k-breadcrumb-item']
1811
+ }], isRootItem: [{
1812
+ type: HostBinding,
1813
+ args: ['class.k-breadcrumb-root-item']
1814
+ }], isDisabled: [{
1815
+ type: HostBinding,
1816
+ args: ['attr.aria-disabled']
1817
+ }], isLastItem: [{
1818
+ type: HostBinding,
1819
+ args: ['class.k-breadcrumb-last-item']
1820
+ }] } });
1821
+
1822
+ const DEFAULT_ICON = 'chevron-right';
1823
+ const DEFAULT_RTL_ICON = 'chevron-left';
1824
+ const DEFAULT_SVG_ICON = chevronRightIcon;
1825
+ const DEFAULT_RTL_SVG_ICON = chevronLeftIcon;
1826
+ /**
1827
+ * @hidden
1828
+ */
1829
+ class BreadCrumbSeparatorDirective {
1830
+ constructor(el, localization) {
1831
+ this.el = el;
1832
+ this.localization = localization;
1833
+ this.defaultClasses = true;
1834
+ this.ariaHidden = true;
1835
+ this.direction = 'ltr';
1836
+ this.direction = this.localization.rtl ? 'rtl' : 'ltr';
1975
1837
  }
1976
- clickHandler(e) {
1977
- const itemIndex = getActionSheetItemIndex(e.target, ACTIONSHEET_ITEM_INDEX_ATTRIBUTE, this.element.nativeElement);
1978
- const item = this.allItems[itemIndex];
1979
- if (!item) {
1980
- return;
1838
+ set icon(icon) {
1839
+ if (isPresent(icon)) {
1840
+ this._icon = icon;
1841
+ this.hasDefaultIcon = false;
1981
1842
  }
1982
- if (item.disabled) {
1983
- e.preventDefault();
1984
- return;
1843
+ else {
1844
+ this._icon = this.direction === 'ltr' ? DEFAULT_ICON : DEFAULT_RTL_ICON;
1845
+ this.hasDefaultIcon = true;
1985
1846
  }
1986
- this.ngZone.run(() => {
1987
- this.itemClick.emit({ item, originalEvent: e });
1847
+ }
1848
+ get icon() {
1849
+ return this._icon;
1850
+ }
1851
+ set svgIcon(svgIcon) {
1852
+ if (isPresent(svgIcon)) {
1853
+ this._svgIcon = svgIcon;
1854
+ this.hasDefaultSvgIcon = false;
1855
+ }
1856
+ else {
1857
+ this._svgIcon = this.direction === 'ltr' ? DEFAULT_SVG_ICON : DEFAULT_RTL_SVG_ICON;
1858
+ this.hasDefaultSvgIcon = true;
1859
+ }
1860
+ }
1861
+ get svgIcon() {
1862
+ return this._svgIcon;
1863
+ }
1864
+ ngOnInit() {
1865
+ this.localizationChangesSubscription = this.localization.changes.subscribe(({ rtl }) => {
1866
+ this.direction = rtl ? 'rtl' : 'ltr';
1867
+ if (this.hasDefaultIcon) {
1868
+ this.icon = undefined;
1869
+ }
1870
+ if (this.hasDefaultSvgIcon) {
1871
+ this.svgIcon = undefined;
1872
+ }
1988
1873
  });
1989
1874
  }
1990
- setAttrIndex(item) {
1991
- return this.allItems.indexOf(item);
1875
+ ngOnDestroy() {
1876
+ this.localizationChangesSubscription.unsubscribe();
1992
1877
  }
1993
1878
  }
1994
- ActionSheetListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ActionSheetListComponent, deps: [{ token: i0.Renderer2 }, { token: i0.NgZone }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
1995
- ActionSheetListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ActionSheetListComponent, selector: "[kendoActionSheetList]", inputs: { groupItems: "groupItems", allItems: "allItems", itemTemplate: "itemTemplate" }, outputs: { itemClick: "itemClick" }, ngImport: i0, template: "\n <span *ngFor=\"let item of groupItems\" kendoActionSheetItem\n tabindex=\"0\"\n role=\"button\"\n [attr.aria-disabled]=\"item.disabled\"\n [class.k-actionsheet-item]=\"true\"\n [attr.kendo-actionsheet-item-index]=\"setAttrIndex(item)\"\n [class.k-disabled]=\"item.disabled\"\n [ngClass]=\"item.cssClass\"\n [ngStyle]=\"item.cssStyle\"\n [itemTemplate]=\"itemTemplate\"\n [item]=\"item\">\n </span>\n ", isInline: true, dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: ActionSheetItemComponent, selector: "[kendoActionSheetItem]", inputs: ["itemTemplate", "item"] }] });
1996
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ActionSheetListComponent, decorators: [{
1879
+ BreadCrumbSeparatorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BreadCrumbSeparatorDirective, deps: [{ token: i0.ElementRef }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
1880
+ BreadCrumbSeparatorDirective.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BreadCrumbSeparatorDirective, isStandalone: true, selector: "[kendoBreadCrumbSeparator]", inputs: { icon: "icon", svgIcon: "svgIcon" }, host: { properties: { "class.k-breadcrumb-delimiter-icon": "this.defaultClasses", "class.k-icon": "this.defaultClasses", "attr.aria-hidden": "this.ariaHidden" } }, ngImport: i0, template: `
1881
+ <kendo-icon-wrapper
1882
+ size='xsmall'
1883
+ [name]="icon"
1884
+ [svgIcon]="svgIcon"
1885
+ >
1886
+ </kendo-icon-wrapper>
1887
+ `, isInline: true, dependencies: [{ kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }] });
1888
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BreadCrumbSeparatorDirective, decorators: [{
1889
+ type: Component,
1890
+ args: [{
1891
+ selector: '[kendoBreadCrumbSeparator]',
1892
+ template: `
1893
+ <kendo-icon-wrapper
1894
+ size='xsmall'
1895
+ [name]="icon"
1896
+ [svgIcon]="svgIcon"
1897
+ >
1898
+ </kendo-icon-wrapper>
1899
+ `,
1900
+ standalone: true,
1901
+ imports: [IconWrapperComponent]
1902
+ }]
1903
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.LocalizationService }]; }, propDecorators: { icon: [{
1904
+ type: Input
1905
+ }], svgIcon: [{
1906
+ type: Input
1907
+ }], defaultClasses: [{
1908
+ type: HostBinding,
1909
+ args: ['class.k-breadcrumb-delimiter-icon']
1910
+ }, {
1911
+ type: HostBinding,
1912
+ args: ['class.k-icon']
1913
+ }], ariaHidden: [{
1914
+ type: HostBinding,
1915
+ args: ['attr.aria-hidden']
1916
+ }] } });
1917
+
1918
+ /**
1919
+ * @hidden
1920
+ */
1921
+ class BreadCrumbListComponent {
1922
+ constructor(el, zone) {
1923
+ this.el = el;
1924
+ this.zone = zone;
1925
+ this.items = [];
1926
+ this.collapseMode = 'auto';
1927
+ this.itemClick = new EventEmitter();
1928
+ const element = this.el.nativeElement;
1929
+ this.isRootItemContainer = element.classList.contains('k-breadcrumb-root-item-container');
1930
+ this.zone.runOutsideAngular(() => {
1931
+ const click$ = fromEvent(element, 'click');
1932
+ const enterKey$ = fromEvent(element, 'keydown').pipe(filter((ev /* KeyboardEvent causes lint error */) => ev.keyCode === Keys.Enter));
1933
+ this.domEventsSubscription = merge(click$, enterKey$)
1934
+ .pipe(map((ev) => ev.target), filter(e => !e.classList.contains('k-breadcrumb-delimiter-icon')), // do not trigger handler when a separator is clicked
1935
+ map(e => this.getItemIndex(e)), filter(isPresent), map(i => parseInt(i, 10)), map(i => this.items[i]), filter(item => !item.data.disabled && !item.context.isLast), map(item => item.data))
1936
+ .subscribe(el => {
1937
+ this.zone.run(() => this.itemClick.emit(el));
1938
+ });
1939
+ });
1940
+ }
1941
+ ngOnDestroy() {
1942
+ this.domEventsSubscription.unsubscribe();
1943
+ }
1944
+ getItemIndex(target) {
1945
+ const item = closestItem(target, BREADCRUMB_ITEM_INDEX, this.el.nativeElement);
1946
+ if (item) {
1947
+ return itemIndex(item, BREADCRUMB_ITEM_INDEX);
1948
+ }
1949
+ }
1950
+ }
1951
+ BreadCrumbListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BreadCrumbListComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1952
+ BreadCrumbListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BreadCrumbListComponent, isStandalone: true, selector: "[kendoBreadCrumbList]", inputs: { items: "items", itemTemplate: "itemTemplate", collapseMode: "collapseMode", separatorIcon: "separatorIcon", separatorSVGIcon: "separatorSVGIcon" }, outputs: { itemClick: "itemClick" }, viewQueries: [{ propertyName: "renderedItems", predicate: BreadCrumbItemComponent, descendants: true }], ngImport: i0, template: "\n <ng-container *ngFor=\"let item of items; let i = index; let isFirst = first; let isLast = last\">\n <li\n #renderedItem\n kendoBreadCrumbItem\n *ngIf=\"!(collapseMode === 'wrap' && isFirst) || isRootItemContainer\"\n [attr.data-kendo-breadcrumb-index]=\"i\"\n [item]=\"item\"\n [index]=\"i\"\n [collapseMode]=\"collapseMode\"\n [itemTemplate]=\"itemTemplate\"\n >\n <span kendoBreadCrumbSeparator [icon]=\"separatorIcon\" [svgIcon]=\"separatorSVGIcon\" *ngIf=\"collapseMode === 'wrap' && !isFirst\"></span>\n <span\n kendoBreadCrumbSeparator\n [icon]=\"separatorIcon\"\n [svgIcon]=\"separatorSVGIcon\"\n *ngIf=\"collapseMode !== 'wrap' && !isLast && !(item?.context.collapsed && items[i + 1]?.context.collapsed)\"\n ></span>\n </li>\n </ng-container>\n ", isInline: true, dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: BreadCrumbItemComponent, selector: "[kendoBreadCrumbItem]", inputs: ["item", "collapseMode", "index", "itemTemplate"] }, { kind: "component", type: BreadCrumbSeparatorDirective, selector: "[kendoBreadCrumbSeparator]", inputs: ["icon", "svgIcon"] }] });
1953
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BreadCrumbListComponent, decorators: [{
1997
1954
  type: Component,
1998
1955
  args: [{
1999
1956
  // eslint-disable-next-line @angular-eslint/component-selector
2000
- selector: '[kendoActionSheetList]',
1957
+ selector: '[kendoBreadCrumbList]',
2001
1958
  template: `
2002
- <span *ngFor="let item of groupItems" kendoActionSheetItem
2003
- tabindex="0"
2004
- role="button"
2005
- [attr.aria-disabled]="item.disabled"
2006
- [class.k-actionsheet-item]="true"
2007
- [attr.${ACTIONSHEET_ITEM_INDEX_ATTRIBUTE}]="setAttrIndex(item)"
2008
- [class.k-disabled]="item.disabled"
2009
- [ngClass]="item.cssClass"
2010
- [ngStyle]="item.cssStyle"
1959
+ <ng-container *ngFor="let item of items; let i = index; let isFirst = first; let isLast = last">
1960
+ <li
1961
+ #renderedItem
1962
+ kendoBreadCrumbItem
1963
+ *ngIf="!(collapseMode === 'wrap' && isFirst) || isRootItemContainer"
1964
+ [attr.${BREADCRUMB_ITEM_INDEX}]="i"
1965
+ [item]="item"
1966
+ [index]="i"
1967
+ [collapseMode]="collapseMode"
2011
1968
  [itemTemplate]="itemTemplate"
2012
- [item]="item">
2013
- </span>
2014
- `
1969
+ >
1970
+ <span kendoBreadCrumbSeparator [icon]="separatorIcon" [svgIcon]="separatorSVGIcon" *ngIf="collapseMode === 'wrap' && !isFirst"></span>
1971
+ <span
1972
+ kendoBreadCrumbSeparator
1973
+ [icon]="separatorIcon"
1974
+ [svgIcon]="separatorSVGIcon"
1975
+ *ngIf="collapseMode !== 'wrap' && !isLast && !(item?.context.collapsed && items[i + 1]?.context.collapsed)"
1976
+ ></span>
1977
+ </li>
1978
+ </ng-container>
1979
+ `,
1980
+ standalone: true,
1981
+ imports: [NgFor, NgIf, BreadCrumbItemComponent, BreadCrumbSeparatorDirective]
2015
1982
  }]
2016
- }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.NgZone }, { type: i0.ElementRef }]; }, propDecorators: { groupItems: [{
2017
- type: Input
2018
- }], allItems: [{
1983
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { items: [{
2019
1984
  type: Input
2020
1985
  }], itemTemplate: [{
2021
1986
  type: Input
1987
+ }], collapseMode: [{
1988
+ type: Input
1989
+ }], separatorIcon: [{
1990
+ type: Input
1991
+ }], separatorSVGIcon: [{
1992
+ type: Input
2022
1993
  }], itemClick: [{
2023
1994
  type: Output
1995
+ }], renderedItems: [{
1996
+ type: ViewChildren,
1997
+ args: [BreadCrumbItemComponent]
2024
1998
  }] } });
2025
1999
 
2026
- const DEFAULT_ANIMATION_CONFIG = { duration: 300 };
2000
+ const getCollapsed = (itemComponent) => itemComponent.item.context.collapsed;
2027
2001
  /**
2028
- * Represents the [Kendo UI ActionSheet component for Angular]({% slug overview_actionsheet %}).
2029
- * Used to display a set of choices related to a task the user initiates.
2002
+ * @hidden
2030
2003
  */
2031
- class ActionSheetComponent {
2032
- constructor(element, ngZone, renderer, localizationService, builder, cdr) {
2033
- this.element = element;
2034
- this.ngZone = ngZone;
2035
- this.renderer = renderer;
2036
- this.localizationService = localizationService;
2037
- this.builder = builder;
2004
+ const collapsed = (itemComponent) => getCollapsed(itemComponent) === true;
2005
+ /**
2006
+ * @hidden
2007
+ */
2008
+ const expanded = (itemComponent) => getCollapsed(itemComponent) === false;
2009
+ const toggleFirst = (collapsed) => (itemComponents) => (itemComponents.find(ic => getCollapsed(ic) === collapsed).item.context.collapsed = !collapsed);
2010
+ /**
2011
+ * @hidden
2012
+ */
2013
+ const collapseFirst = toggleFirst(false);
2014
+ /**
2015
+ * @hidden
2016
+ */
2017
+ const expandFirst = toggleFirst(true);
2018
+
2019
+ /* eslint-disable @typescript-eslint/no-inferrable-types */
2020
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2021
+ /**
2022
+ * Represents the [Kendo UI Breadcrumb component for Angular]({% slug overview_breadcrumb %}).
2023
+ *
2024
+ * @example
2025
+ * ```ts-no-run
2026
+ * _@Component({
2027
+ * selector: 'my-app',
2028
+ * template: `
2029
+ * <kendo-breadcrumb
2030
+ * [items]="items"
2031
+ * (itemClick)="onItemClick($event)">
2032
+ * </kendo-breadcrumb>
2033
+ * `
2034
+ * })
2035
+ * class AppComponent {
2036
+ * public items: BreadCrumbItem[] = [
2037
+ * { text: 'Home', title: 'Home', icon: 'home' },
2038
+ * { text: 'Kids', title: 'Kids' },
2039
+ * { text: '8y-16y', title: '8y-16y', disabled: true },
2040
+ * { text: 'New collection', title: 'New collection' },
2041
+ * { text: 'Jeans', title: 'Jeans' }
2042
+ * ];
2043
+ *
2044
+ * public onItemClick(item: BreadCrumbItem): void {
2045
+ * console.log(item);
2046
+ * }
2047
+ * }
2048
+ * ```
2049
+ */
2050
+ class BreadCrumbComponent {
2051
+ constructor(localization, el, cdr, zone, renderer) {
2052
+ this.localization = localization;
2053
+ this.el = el;
2038
2054
  this.cdr = cdr;
2055
+ this.zone = zone;
2056
+ this.renderer = renderer;
2039
2057
  /**
2040
- * Configures the ActionSheet opening and closing animations ([see example]({% slug animations_actionsheet %})).
2041
- * By default the animations are turned off. The default animations' duration is `300ms`.
2042
- *
2043
- * @default true
2044
- */
2045
- this.animation = true;
2046
- /**
2047
- * Specifies the state of the ActionSheet.
2048
- *
2049
- * @default false
2050
- */
2051
- this.expanded = false;
2052
- /**
2053
- * Sets the `aria-labelledby` attribute of the ActionSheet wrapper element.
2054
- * Use this option when the built-in header element is replaced through the [`ActionSheetHeaderTemplate`]({% slug api_navigation_actionsheetheadertemplatedirective %})
2055
- * or [`ActionSheetContentTemplate`]({% slug api_navigation_actionsheetcontenttemplatedirective %}).
2056
- *
2057
- */
2058
- this.titleId = getId('k-actionsheet-title');
2059
- /**
2060
- * Fires when the `expanded` property of the component is updated.
2061
- * Used to provide a two-way binding for the `expanded` property.
2062
- */
2063
- this.expandedChange = new EventEmitter();
2064
- /**
2065
- * Fires when the ActionSheet is expanded and its animation is complete.
2066
- */
2067
- this.expand = new EventEmitter();
2068
- /**
2069
- * Fires when the ActionSheet is collapsed and its animation is complete.
2070
- */
2071
- this.collapse = new EventEmitter();
2072
- /**
2073
- * Fires when an ActionSheet item is clicked.
2058
+ * Fires when a Breadcrumb item is clicked. The event will not be fired by disabled items and the last item.
2074
2059
  */
2075
2060
  this.itemClick = new EventEmitter();
2076
- /**
2077
- * Fires when the modal overlay is clicked.
2078
- */
2079
- this.overlayClick = new EventEmitter();
2080
- this.rtl = false;
2081
- this.domSubs = new Subscription();
2082
- this.animationEnd = new EventEmitter();
2061
+ this.hostClasses = true;
2062
+ this.hostAriaLabel = 'Breadcrumb';
2063
+ this._items = [];
2064
+ this._collapseMode = 'auto';
2065
+ this._size = DEFAULT_SIZE;
2066
+ this.updateItems = new ReplaySubject();
2067
+ this.afterViewInit = new Subject();
2068
+ this.subscriptions = new Subscription();
2069
+ this.direction = 'ltr';
2083
2070
  validatePackage(packageMetadata);
2084
- this.dynamicRTLSubscription = this.localizationService.changes.subscribe(({ rtl }) => {
2085
- this.rtl = rtl;
2086
- this.direction = this.rtl ? 'rtl' : 'ltr';
2087
- });
2071
+ const updateItems$ = this.updateItems.asObservable().pipe(startWith([]));
2072
+ this.direction = localization.rtl ? 'rtl' : 'ltr';
2073
+ this.itemsData$ = updateItems$.pipe(map(items => items.filter(Boolean)), map(items => items.map((item, index, collection) => ({
2074
+ context: {
2075
+ collapsed: false,
2076
+ isLast: index === collection.length - 1,
2077
+ isFirst: index === 0
2078
+ },
2079
+ data: item
2080
+ }))), share());
2081
+ this.firstItem$ = updateItems$.pipe(map(items => {
2082
+ if (items.length > 0) {
2083
+ return [
2084
+ {
2085
+ context: {
2086
+ collapsed: false,
2087
+ isLast: items.length === 1,
2088
+ isFirst: true
2089
+ },
2090
+ data: items[0]
2091
+ }
2092
+ ];
2093
+ }
2094
+ return [];
2095
+ }), share());
2088
2096
  }
2089
2097
  /**
2090
- * @hidden
2098
+ * The collection of items that will be rendered in the Breadcrumb.
2091
2099
  */
2092
- get hostClass() {
2093
- return this.expanded;
2094
- }
2095
- ngAfterViewInit() {
2096
- this.initDomEvents();
2097
- this.setCssVariables();
2098
- }
2099
- ngOnChanges(changes) {
2100
- if (changes['expanded'] && this.expanded) {
2101
- this.setExpanded(true);
2102
- }
2100
+ set items(items) {
2101
+ this._items = items || [];
2102
+ this.updateItems.next(this._items);
2103
2103
  }
2104
- ngOnDestroy() {
2105
- this.domSubs.unsubscribe();
2106
- if (this.dynamicRTLSubscription) {
2107
- this.dynamicRTLSubscription.unsubscribe();
2108
- }
2109
- if (this.player) {
2110
- this.player.destroy();
2111
- }
2104
+ get items() {
2105
+ return this._items;
2112
2106
  }
2113
2107
  /**
2114
- * Toggles the visibility of the ActionSheet.
2108
+ * Specifies the collapse mode of the Breadcrumb ([see example]({% slug collapse_modes_breadcrumb %})).
2115
2109
  *
2116
- * @param expanded? - Boolean. Specifies if the ActionSheet will be expanded or collapsed.
2110
+ * The possible values are:
2111
+ * - `auto` (default)&mdash;items are automatically collapsed based on the width of the Breadcrumb.
2112
+ * - `wrap`&mdash;items are wrapped on multiple rows.
2113
+ * - `none`&mdash;all items are expanded on the same row.
2114
+ *
2115
+ * For more information and example refer to the [Collapse Modes]({% slug collapse_modes_breadcrumb %}) article.
2117
2116
  */
2118
- toggle(expanded) {
2119
- const previous = this.expanded;
2120
- const current = isPresent$1(expanded) ? expanded : !previous;
2121
- if (current === previous) {
2122
- return;
2123
- }
2124
- if (current === true) {
2125
- this.setExpanded(true);
2126
- }
2127
- else if (current === false && !this.animation) {
2128
- this.setExpanded(false);
2129
- }
2130
- if (this.animation) {
2131
- this.animationEnd.pipe(take(1))
2132
- .subscribe(() => { this.onAnimationEnd(current); });
2133
- this.playAnimation(current);
2134
- }
2135
- else {
2136
- this[current ? 'expand' : 'collapse'].emit();
2117
+ set collapseMode(mode) {
2118
+ if (isDevMode() && ['auto', 'wrap', 'none'].indexOf(mode) < 0) {
2119
+ throw new Error('Invalid collapse mode. Allowed values are "auto", "wrap" or "none". \nFor more details see https://www.telerik.com/kendo-angular-ui/components/navigation/api/BreadCrumbCollapseMode/');
2137
2120
  }
2121
+ this._collapseMode = mode || 'auto';
2122
+ this.updateItems.next(this.items);
2138
2123
  }
2139
- /**
2140
- * @hidden
2141
- */
2142
- get topGroupItems() {
2143
- var _a;
2144
- return (_a = this.items) === null || _a === void 0 ? void 0 : _a.filter(item => !item.group || item.group === 'top');
2124
+ get collapseMode() {
2125
+ return this._collapseMode;
2145
2126
  }
2146
2127
  /**
2147
- * @hidden
2128
+ * Specifies the padding of all Breadcrumb elements.
2129
+ *
2130
+ * The possible values are:
2131
+ * * `small`
2132
+ * * `medium` (default)
2133
+ * * `large`
2134
+ * * `none`
2148
2135
  */
2149
- get bottomGroupItems() {
2150
- var _a;
2151
- return (_a = this.items) === null || _a === void 0 ? void 0 : _a.filter(item => item.group === 'bottom');
2136
+ set size(size) {
2137
+ const newSize = size ? size : DEFAULT_SIZE;
2138
+ this.handleClasses(newSize, 'size');
2139
+ this._size = newSize;
2152
2140
  }
2153
- /**
2154
- * @hidden
2155
- */
2156
- onItemClick(ev) {
2157
- this.itemClick.emit(ev);
2141
+ get size() {
2142
+ return this._size;
2158
2143
  }
2159
- /**
2160
- * @hidden
2161
- */
2162
- onOverlayClick() {
2163
- this.overlayClick.emit();
2144
+ get wrapMode() {
2145
+ return this.collapseMode === 'wrap';
2164
2146
  }
2165
- /**
2166
- * @hidden
2167
- */
2168
- get shouldRenderSeparator() {
2169
- var _a, _b;
2170
- return ((_a = this.topGroupItems) === null || _a === void 0 ? void 0 : _a.length) > 0 && ((_b = this.bottomGroupItems) === null || _b === void 0 ? void 0 : _b.length) > 0;
2147
+ get getDir() {
2148
+ return this.direction;
2171
2149
  }
2172
- initDomEvents() {
2173
- if (!this.element) {
2174
- return;
2175
- }
2176
- this.ngZone.runOutsideAngular(() => {
2177
- this.domSubs.add(this.renderer.listen(this.element.nativeElement, 'keydown', (ev) => {
2178
- this.onKeyDown(ev);
2179
- }));
2180
- });
2150
+ ngOnInit() {
2151
+ this.subscriptions.add(this.localization.changes.subscribe(({ rtl }) => (this.direction = rtl ? 'rtl' : 'ltr')));
2152
+ this.handleClasses(this.size, 'size');
2181
2153
  }
2182
- setCssVariables() {
2183
- if (!this.element || !isDocumentAvailable()) {
2184
- return;
2185
- }
2186
- // The following syntax is used as it does not violate CSP compliance
2187
- this.element.nativeElement.style.setProperty('--kendo-actionsheet-height', 'auto');
2188
- this.element.nativeElement.style.setProperty('--kendo-actionsheet-max-height', 'none');
2189
- }
2190
- onKeyDown(event) {
2191
- const target = event.target;
2192
- if (event.keyCode === Keys.Tab) {
2193
- this.ngZone.run(() => {
2194
- this.keepFocusWithinComponent(target, event);
2195
- });
2196
- }
2197
- if (event.keyCode === Keys.Escape) {
2198
- this.ngZone.run(() => {
2199
- this.overlayClick.emit();
2200
- });
2201
- }
2202
- if (event.keyCode === Keys.Enter) {
2203
- this.ngZone.run(() => {
2204
- this.triggerItemClick(target, event);
2205
- });
2206
- }
2154
+ ngAfterViewInit() {
2155
+ this.attachResizeHandler();
2156
+ this.afterViewInit.next();
2207
2157
  }
2208
- handleInitialFocus() {
2209
- const [firstFocusable] = getFirstAndLastFocusable(this.element.nativeElement);
2210
- if (firstFocusable) {
2211
- firstFocusable.focus();
2212
- }
2158
+ ngOnDestroy() {
2159
+ this.subscriptions.unsubscribe();
2213
2160
  }
2214
- keepFocusWithinComponent(target, event) {
2215
- const wrapper = this.element.nativeElement;
2216
- const [firstFocusable, lastFocusable] = getFirstAndLastFocusable(wrapper);
2217
- const tabAfterLastFocusable = !event.shiftKey && target === lastFocusable;
2218
- const shiftTabAfterFirstFocusable = event.shiftKey && target === firstFocusable;
2219
- if (tabAfterLastFocusable) {
2220
- event.preventDefault();
2221
- firstFocusable.focus();
2161
+ handleResize() {
2162
+ const autoCollapseCandidates = [
2163
+ ...this.listComponent.renderedItems.toArray().filter(ri => !ri.item.context.isFirst && !ri.item.context.isLast)
2164
+ ];
2165
+ const componentWidth = Math.floor(outerWidth(this.el.nativeElement));
2166
+ const itemsContainerWidth = Math.round(this.itemsContainers
2167
+ .toArray()
2168
+ .map(el => outerWidth(el.nativeElement))
2169
+ .reduce((acc, curr) => acc + curr, 0));
2170
+ const nextExpandWidth = Math.ceil(([...autoCollapseCandidates].reverse().find(collapsed) || { width: 0 }).width);
2171
+ // // shrink
2172
+ if (componentWidth <= itemsContainerWidth && autoCollapseCandidates.find(expanded)) {
2173
+ collapseFirst(autoCollapseCandidates);
2174
+ // needed by resize sensor
2175
+ this.cdr.detectChanges();
2176
+ return this.handleResize();
2222
2177
  }
2223
- if (shiftTabAfterFirstFocusable) {
2224
- event.preventDefault();
2225
- lastFocusable.focus();
2178
+ // expand
2179
+ if (componentWidth > itemsContainerWidth + nextExpandWidth && autoCollapseCandidates.find(collapsed)) {
2180
+ expandFirst([...autoCollapseCandidates].reverse());
2181
+ // needed by resize sensor
2182
+ this.cdr.detectChanges();
2183
+ return this.handleResize();
2226
2184
  }
2227
2185
  }
2228
- triggerItemClick(target, event) {
2229
- const itemIndex = getActionSheetItemIndex(target, ACTIONSHEET_ITEM_INDEX_ATTRIBUTE, this.element.nativeElement);
2230
- const item = isPresent$1(itemIndex) ? this.items[itemIndex] : null;
2231
- if (!item || item.disabled) {
2232
- return;
2233
- }
2234
- this.itemClick.emit({ item, originalEvent: event });
2186
+ shouldResize() {
2187
+ return isDocumentAvailable() && this.collapseMode === 'auto';
2235
2188
  }
2236
- setExpanded(value) {
2237
- this.expanded = value;
2238
- this.expandedChange.emit(value);
2239
- if (this.expanded) {
2240
- this.cdr.detectChanges();
2241
- this.handleInitialFocus();
2242
- }
2189
+ attachResizeHandler() {
2190
+ // resize when:
2191
+ // the component is initialized
2192
+ // the container is resized
2193
+ // items are added/removed
2194
+ this.subscriptions.add(merge(this.resizeSensor.resize, this.itemsData$, this.afterViewInit.asObservable())
2195
+ .pipe(filter(() => this.shouldResize()))
2196
+ .subscribe(() => {
2197
+ this.zone.runOutsideAngular(() => setTimeout(() => {
2198
+ this.zone.run(() => {
2199
+ if (this.listComponent) {
2200
+ this.handleResize();
2201
+ this.resizeSensor.acceptSize();
2202
+ }
2203
+ });
2204
+ }));
2205
+ }));
2243
2206
  }
2244
- onAnimationEnd(currentExpanded) {
2245
- if (currentExpanded) {
2246
- this.expand.emit();
2207
+ handleClasses(value, input) {
2208
+ const elem = this.el.nativeElement;
2209
+ const classes = getStylingClasses(input, this[input], value);
2210
+ if (classes.toRemove) {
2211
+ this.renderer.removeClass(elem, classes.toRemove);
2247
2212
  }
2248
- else {
2249
- this.setExpanded(false);
2250
- this.collapse.emit();
2213
+ if (classes.toAdd) {
2214
+ this.renderer.addClass(elem, classes.toAdd);
2251
2215
  }
2252
2216
  }
2253
- playAnimation(expanded) {
2254
- const duration = typeof this.animation !== 'boolean' && this.animation.duration ? this.animation.duration : DEFAULT_ANIMATION_CONFIG.duration;
2255
- const contentHeight = getComputedStyle(this.childContainer.nativeElement).height;
2256
- const animation = expanded ? slideUp(duration, contentHeight) : slideDown(duration, contentHeight);
2257
- const factory = this.builder.build(animation);
2258
- this.player = factory.create(this.childContainer.nativeElement);
2259
- this.player.onDone(() => {
2260
- if (this.player) {
2261
- this.animationEnd.emit();
2262
- this.player.destroy();
2263
- this.player = null;
2264
- }
2265
- });
2266
- this.player.play();
2267
- }
2268
2217
  }
2269
- ActionSheetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ActionSheetComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i1.LocalizationService }, { token: i2$1.AnimationBuilder }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
2270
- ActionSheetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ActionSheetComponent, selector: "kendo-actionsheet", inputs: { title: "title", subtitle: "subtitle", items: "items", cssClass: "cssClass", animation: "animation", expanded: "expanded", titleId: "titleId" }, outputs: { expandedChange: "expandedChange", expand: "expand", collapse: "collapse", itemClick: "itemClick", overlayClick: "overlayClick" }, host: { properties: { "class.k-actionsheet-container": "this.hostClass", "attr.dir": "this.direction" } }, providers: [
2218
+ BreadCrumbComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BreadCrumbComponent, deps: [{ token: i1.LocalizationService }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
2219
+ BreadCrumbComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BreadCrumbComponent, isStandalone: true, selector: "kendo-breadcrumb", inputs: { items: "items", separatorIcon: "separatorIcon", separatorSVGIcon: "separatorSVGIcon", collapseMode: "collapseMode", size: "size" }, outputs: { itemClick: "itemClick" }, host: { properties: { "class.k-breadcrumb": "this.hostClasses", "class.k-breadcrumb-wrap": "this.wrapMode", "attr.aria-label": "this.hostAriaLabel", "attr.dir": "this.getDir" } }, providers: [
2271
2220
  LocalizationService,
2272
2221
  {
2273
2222
  provide: L10N_PREFIX,
2274
- useValue: 'kendo.actionsheet.component'
2223
+ useValue: 'kendo.breadcrumb'
2275
2224
  }
2276
- ], 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: `
2277
- <ng-container *ngIf="expanded">
2278
- <div class="k-overlay" (click)="onOverlayClick()"></div>
2279
- <div class="k-animation-container k-animation-container-shown">
2280
- <div #childContainer class="k-child-animation-container" [style]="'bottom: 0px; width: 100%;'">
2281
- <div class="k-actionsheet k-actionsheet-bottom"
2282
- [ngClass]="cssClass"
2283
- role="dialog"
2284
- aria-modal="true"
2285
- [attr.aria-labelledby]="titleId">
2286
-
2287
- <ng-template *ngIf="actionSheetTemplate; else defaultTemplate"
2288
- [ngTemplateOutlet]="actionSheetTemplate?.templateRef">
2289
- </ng-template>
2290
-
2291
- <ng-template #defaultTemplate>
2292
- <div *ngIf="title || subtitle || headerTemplate" class="k-actionsheet-titlebar">
2293
- <ng-template *ngIf="headerTemplate; else defaultHeaderTemplate"
2294
- [ngTemplateOutlet]="headerTemplate?.templateRef">
2295
- </ng-template>
2296
-
2297
- <ng-template #defaultHeaderTemplate>
2298
- <div class="k-actionsheet-titlebar-group k-hbox">
2299
- <div class="k-actionsheet-title" [id]="titleId">
2300
- <div *ngIf="title" class="k-text-center">{{title}}</div>
2301
- <div *ngIf="subtitle" class="k-actionsheet-subtitle k-text-center">{{subtitle}}</div>
2302
- </div>
2303
- </div>
2304
- </ng-template>
2305
- </div>
2306
-
2307
- <div *ngIf="items || contentTemplate" class="k-actionsheet-content">
2308
- <ng-template *ngIf="contentTemplate; else defaultContentTemplate"
2309
- [ngTemplateOutlet]="contentTemplate?.templateRef">
2310
- </ng-template>
2311
- <ng-template #defaultContentTemplate>
2312
- <div *ngIf="topGroupItems" kendoActionSheetList
2313
- class="k-list-ul"
2314
- role="group"
2315
- [groupItems]="topGroupItems"
2316
- [allItems]="items"
2317
- [itemTemplate]="itemTemplate?.templateRef"
2318
- (itemClick)="onItemClick($event)">
2319
- </div>
2320
-
2321
- <hr *ngIf="shouldRenderSeparator" class="k-hr"/>
2322
-
2323
- <div *ngIf="bottomGroupItems" kendoActionSheetList
2324
- class="k-list-ul"
2325
- role="group"
2326
- [groupItems]="bottomGroupItems"
2327
- [allItems]="items"
2328
- [itemTemplate]="itemTemplate?.templateRef"
2329
- (itemClick)="onItemClick($event)">
2330
- </div>
2331
- </ng-template>
2332
- </div>
2333
- <div *ngIf="footerTemplate" class="k-actionsheet-footer">
2334
- <ng-template
2335
- [ngTemplateOutlet]="footerTemplate?.templateRef">
2336
- </ng-template>
2337
- </div>
2338
- </ng-template>
2339
- </div>
2340
- </div>
2341
- </div>
2342
- </ng-container>
2343
- `, isInline: true, dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ActionSheetListComponent, selector: "[kendoActionSheetList]", inputs: ["groupItems", "allItems", "itemTemplate"], outputs: ["itemClick"] }] });
2344
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ActionSheetComponent, decorators: [{
2345
- type: Component,
2346
- args: [{
2347
- exportAs: 'kendoActionSheet',
2348
- selector: 'kendo-actionsheet',
2349
- template: `
2350
- <ng-container *ngIf="expanded">
2351
- <div class="k-overlay" (click)="onOverlayClick()"></div>
2352
- <div class="k-animation-container k-animation-container-shown">
2353
- <div #childContainer class="k-child-animation-container" [style]="'bottom: 0px; width: 100%;'">
2354
- <div class="k-actionsheet k-actionsheet-bottom"
2355
- [ngClass]="cssClass"
2356
- role="dialog"
2357
- aria-modal="true"
2358
- [attr.aria-labelledby]="titleId">
2359
-
2360
- <ng-template *ngIf="actionSheetTemplate; else defaultTemplate"
2361
- [ngTemplateOutlet]="actionSheetTemplate?.templateRef">
2362
- </ng-template>
2363
-
2364
- <ng-template #defaultTemplate>
2365
- <div *ngIf="title || subtitle || headerTemplate" class="k-actionsheet-titlebar">
2366
- <ng-template *ngIf="headerTemplate; else defaultHeaderTemplate"
2367
- [ngTemplateOutlet]="headerTemplate?.templateRef">
2368
- </ng-template>
2369
-
2370
- <ng-template #defaultHeaderTemplate>
2371
- <div class="k-actionsheet-titlebar-group k-hbox">
2372
- <div class="k-actionsheet-title" [id]="titleId">
2373
- <div *ngIf="title" class="k-text-center">{{title}}</div>
2374
- <div *ngIf="subtitle" class="k-actionsheet-subtitle k-text-center">{{subtitle}}</div>
2375
- </div>
2376
- </div>
2377
- </ng-template>
2378
- </div>
2379
-
2380
- <div *ngIf="items || contentTemplate" class="k-actionsheet-content">
2381
- <ng-template *ngIf="contentTemplate; else defaultContentTemplate"
2382
- [ngTemplateOutlet]="contentTemplate?.templateRef">
2383
- </ng-template>
2384
- <ng-template #defaultContentTemplate>
2385
- <div *ngIf="topGroupItems" kendoActionSheetList
2386
- class="k-list-ul"
2387
- role="group"
2388
- [groupItems]="topGroupItems"
2389
- [allItems]="items"
2390
- [itemTemplate]="itemTemplate?.templateRef"
2391
- (itemClick)="onItemClick($event)">
2392
- </div>
2393
-
2394
- <hr *ngIf="shouldRenderSeparator" class="k-hr"/>
2395
-
2396
- <div *ngIf="bottomGroupItems" kendoActionSheetList
2397
- class="k-list-ul"
2398
- role="group"
2399
- [groupItems]="bottomGroupItems"
2400
- [allItems]="items"
2401
- [itemTemplate]="itemTemplate?.templateRef"
2402
- (itemClick)="onItemClick($event)">
2403
- </div>
2404
- </ng-template>
2405
- </div>
2406
- <div *ngIf="footerTemplate" class="k-actionsheet-footer">
2407
- <ng-template
2408
- [ngTemplateOutlet]="footerTemplate?.templateRef">
2409
- </ng-template>
2410
- </div>
2411
- </ng-template>
2412
- </div>
2413
- </div>
2414
- </div>
2415
- </ng-container>
2416
- `,
2225
+ ], queries: [{ propertyName: "itemTemplate", first: true, predicate: BreadCrumbItemTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "resizeSensor", first: true, predicate: ["resizeSensor"], descendants: true, static: true }, { propertyName: "listComponent", first: true, predicate: BreadCrumbListComponent, descendants: true, static: true }, { propertyName: "itemsContainers", predicate: ["itemsContainer"], descendants: true, read: ElementRef }], exportAs: ["kendoBreadCrumb"], ngImport: i0, template: `
2226
+ <ol
2227
+ #itemsContainer
2228
+ kendoBreadCrumbList
2229
+ class="k-breadcrumb-root-item-container"
2230
+ *ngIf="collapseMode === 'wrap'"
2231
+ [items]="firstItem$ | async"
2232
+ [itemTemplate]="itemTemplate?.templateRef"
2233
+ [collapseMode]="collapseMode"
2234
+ [separatorIcon]="separatorIcon"
2235
+ [separatorSVGIcon]="separatorSVGIcon"
2236
+ (itemClick)="itemClick.emit($event)"
2237
+ ></ol>
2238
+ <ol
2239
+ #itemsContainer
2240
+ kendoBreadCrumbList
2241
+ class="k-breadcrumb-container"
2242
+ [items]="itemsData$ | async"
2243
+ [itemTemplate]="itemTemplate?.templateRef"
2244
+ [collapseMode]="collapseMode"
2245
+ [separatorIcon]="separatorIcon"
2246
+ [separatorSVGIcon]="separatorSVGIcon"
2247
+ (itemClick)="itemClick.emit($event)"
2248
+ [ngClass]="{ '!k-flex-wrap': collapseMode === 'wrap', 'k-flex-none': collapseMode === 'none' }"
2249
+ ></ol>
2250
+ <kendo-resize-sensor [rateLimit]="1000" #resizeSensor></kendo-resize-sensor>
2251
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: BreadCrumbListComponent, selector: "[kendoBreadCrumbList]", inputs: ["items", "itemTemplate", "collapseMode", "separatorIcon", "separatorSVGIcon"], outputs: ["itemClick"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] });
2252
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BreadCrumbComponent, decorators: [{
2253
+ type: Component,
2254
+ args: [{
2255
+ exportAs: 'kendoBreadCrumb',
2256
+ selector: 'kendo-breadcrumb',
2417
2257
  providers: [
2418
2258
  LocalizationService,
2419
2259
  {
2420
2260
  provide: L10N_PREFIX,
2421
- useValue: 'kendo.actionsheet.component'
2261
+ useValue: 'kendo.breadcrumb'
2422
2262
  }
2423
- ]
2263
+ ],
2264
+ template: `
2265
+ <ol
2266
+ #itemsContainer
2267
+ kendoBreadCrumbList
2268
+ class="k-breadcrumb-root-item-container"
2269
+ *ngIf="collapseMode === 'wrap'"
2270
+ [items]="firstItem$ | async"
2271
+ [itemTemplate]="itemTemplate?.templateRef"
2272
+ [collapseMode]="collapseMode"
2273
+ [separatorIcon]="separatorIcon"
2274
+ [separatorSVGIcon]="separatorSVGIcon"
2275
+ (itemClick)="itemClick.emit($event)"
2276
+ ></ol>
2277
+ <ol
2278
+ #itemsContainer
2279
+ kendoBreadCrumbList
2280
+ class="k-breadcrumb-container"
2281
+ [items]="itemsData$ | async"
2282
+ [itemTemplate]="itemTemplate?.templateRef"
2283
+ [collapseMode]="collapseMode"
2284
+ [separatorIcon]="separatorIcon"
2285
+ [separatorSVGIcon]="separatorSVGIcon"
2286
+ (itemClick)="itemClick.emit($event)"
2287
+ [ngClass]="{ '!k-flex-wrap': collapseMode === 'wrap', 'k-flex-none': collapseMode === 'none' }"
2288
+ ></ol>
2289
+ <kendo-resize-sensor [rateLimit]="1000" #resizeSensor></kendo-resize-sensor>
2290
+ `,
2291
+ standalone: true,
2292
+ imports: [NgIf, BreadCrumbListComponent, NgClass, ResizeSensorComponent, AsyncPipe]
2424
2293
  }]
2425
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i1.LocalizationService }, { type: i2$1.AnimationBuilder }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { hostClass: [{
2426
- type: HostBinding,
2427
- args: ['class.k-actionsheet-container']
2428
- }], direction: [{
2429
- type: HostBinding,
2430
- args: ['attr.dir']
2431
- }], title: [{
2432
- type: Input
2433
- }], subtitle: [{
2434
- type: Input
2435
- }], items: [{
2294
+ }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i0.Renderer2 }]; }, propDecorators: { items: [{
2436
2295
  type: Input
2437
- }], cssClass: [{
2296
+ }], separatorIcon: [{
2438
2297
  type: Input
2439
- }], animation: [{
2298
+ }], separatorSVGIcon: [{
2440
2299
  type: Input
2441
- }], expanded: [{
2300
+ }], collapseMode: [{
2442
2301
  type: Input
2443
- }], titleId: [{
2302
+ }], size: [{
2444
2303
  type: Input
2445
- }], expandedChange: [{
2446
- type: Output
2447
- }], expand: [{
2448
- type: Output
2449
- }], collapse: [{
2450
- type: Output
2451
2304
  }], itemClick: [{
2452
2305
  type: Output
2453
- }], overlayClick: [{
2454
- type: Output
2455
- }], childContainer: [{
2306
+ }], resizeSensor: [{
2456
2307
  type: ViewChild,
2457
- args: ['childContainer']
2458
- }], actionSheetTemplate: [{
2459
- type: ContentChild,
2460
- args: [ActionSheetTemplateDirective]
2461
- }], headerTemplate: [{
2462
- type: ContentChild,
2463
- args: [ActionSheetHeaderTemplateDirective]
2464
- }], contentTemplate: [{
2465
- type: ContentChild,
2466
- args: [ActionSheetContentTemplateDirective]
2308
+ args: ['resizeSensor', { static: true }]
2309
+ }], itemsContainers: [{
2310
+ type: ViewChildren,
2311
+ args: ['itemsContainer', { read: ElementRef }]
2312
+ }], listComponent: [{
2313
+ type: ViewChild,
2314
+ args: [BreadCrumbListComponent, { static: true }]
2467
2315
  }], itemTemplate: [{
2468
2316
  type: ContentChild,
2469
- args: [ActionSheetItemTemplateDirective]
2470
- }], footerTemplate: [{
2471
- type: ContentChild,
2472
- args: [ActionSheetFooterTemplateDirective]
2317
+ args: [BreadCrumbItemTemplateDirective]
2318
+ }], hostClasses: [{
2319
+ type: HostBinding,
2320
+ args: ['class.k-breadcrumb']
2321
+ }], wrapMode: [{
2322
+ type: HostBinding,
2323
+ args: ['class.k-breadcrumb-wrap']
2324
+ }], hostAriaLabel: [{
2325
+ type: HostBinding,
2326
+ args: ['attr.aria-label']
2327
+ }], getDir: [{
2328
+ type: HostBinding,
2329
+ args: ['attr.dir']
2473
2330
  }] } });
2474
2331
 
2475
- const templateDirectives = [
2332
+ /**
2333
+ * Utility array that contains all `ActionSheet` related components and directives.
2334
+ */
2335
+ const KENDO_ACTIONSHEET = [
2336
+ ActionSheetComponent,
2476
2337
  ActionSheetHeaderTemplateDirective,
2477
2338
  ActionSheetItemTemplateDirective,
2478
2339
  ActionSheetContentTemplateDirective,
2479
2340
  ActionSheetFooterTemplateDirective,
2480
2341
  ActionSheetTemplateDirective
2481
2342
  ];
2482
- const exportedModules = [
2483
- ActionSheetComponent,
2484
- ...templateDirectives
2343
+ /**
2344
+ * Utility array that contains all `AppBar` related components and directives.
2345
+ */
2346
+ const KENDO_APPBAR = [
2347
+ AppBarComponent,
2348
+ AppBarSectionComponent,
2349
+ AppBarSpacerComponent
2350
+ ];
2351
+ /**
2352
+ * Utility array that contains all `BottomNavigation` related components and directives.
2353
+ */
2354
+ const KENDO_BOTTOMNAVIGATION = [
2355
+ BottomNavigationComponent,
2356
+ BottomNavigationItemTemplateDirective
2357
+ ];
2358
+ /**
2359
+ * Utility array that contains all `BreadCrumb` related components and directives.
2360
+ */
2361
+ const KENDO_BREADCRUMB = [
2362
+ BreadCrumbComponent,
2363
+ BreadCrumbItemTemplateDirective
2485
2364
  ];
2486
- const declarations = [
2487
- ActionSheetItemComponent,
2488
- ActionSheetListComponent,
2489
- ...exportedModules
2365
+ /**
2366
+ * Utility array that contains all `@progress/kendo-angular-navigation` related components and directives.
2367
+ */
2368
+ const KENDO_NAVIGATION = [
2369
+ ...KENDO_ACTIONSHEET,
2370
+ ...KENDO_APPBAR,
2371
+ ...KENDO_BOTTOMNAVIGATION,
2372
+ ...KENDO_BREADCRUMB
2490
2373
  ];
2374
+
2375
+ // IMPORTANT: NgModule export kept for backwards compatibility
2491
2376
  /**
2492
2377
  * Represents the [NgModule](link:site.data.urls.angular['ngmoduleapi'])
2493
- * definition for the ActionSheet component.
2378
+ * definition for the AppBar component.
2494
2379
  *
2495
2380
  * @example
2496
2381
  *
2497
2382
  * ```ts-no-run
2498
- * // Import the ActionSheet module
2499
- * import { ActionSheetModule } from '@progress/kendo-angular-navigation';
2383
+ * // Import the AppBar module
2384
+ * import { AppBarModule } from '@progress/kendo-angular-navigation';
2500
2385
  *
2501
2386
  * // The browser platform with a compiler
2502
2387
  * import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
@@ -2510,7 +2395,7 @@ const declarations = [
2510
2395
  * // Define the app module
2511
2396
  * _@NgModule({
2512
2397
  * declarations: [AppComponent], // declare app component
2513
- * imports: [BrowserModule, ActionSheetModule], // import ActionSheet module
2398
+ * imports: [BrowserModule, AppBarModule], // import AppBar module
2514
2399
  * bootstrap: [AppComponent]
2515
2400
  * })
2516
2401
  * export class AppModule {}
@@ -2520,29 +2405,20 @@ const declarations = [
2520
2405
  *
2521
2406
  * ```
2522
2407
  */
2523
- class ActionSheetModule {
2408
+ class AppBarModule {
2524
2409
  }
2525
- ActionSheetModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ActionSheetModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2526
- ActionSheetModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: ActionSheetModule, declarations: [ActionSheetItemComponent,
2527
- ActionSheetListComponent, ActionSheetComponent, ActionSheetHeaderTemplateDirective,
2528
- ActionSheetItemTemplateDirective,
2529
- ActionSheetContentTemplateDirective,
2530
- ActionSheetFooterTemplateDirective,
2531
- ActionSheetTemplateDirective], imports: [CommonModule, IconsModule], exports: [ActionSheetComponent, ActionSheetHeaderTemplateDirective,
2532
- ActionSheetItemTemplateDirective,
2533
- ActionSheetContentTemplateDirective,
2534
- ActionSheetFooterTemplateDirective,
2535
- ActionSheetTemplateDirective] });
2536
- ActionSheetModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ActionSheetModule, imports: [CommonModule, IconsModule] });
2537
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ActionSheetModule, decorators: [{
2410
+ AppBarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AppBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2411
+ AppBarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: AppBarModule, imports: [AppBarComponent, AppBarSectionComponent, AppBarSpacerComponent], exports: [AppBarComponent, AppBarSectionComponent, AppBarSpacerComponent] });
2412
+ AppBarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AppBarModule, imports: [KENDO_APPBAR] });
2413
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AppBarModule, decorators: [{
2538
2414
  type: NgModule,
2539
2415
  args: [{
2540
- declarations: [declarations],
2541
- exports: [exportedModules],
2542
- imports: [CommonModule, IconsModule]
2416
+ exports: [...KENDO_APPBAR],
2417
+ imports: [...KENDO_APPBAR]
2543
2418
  }]
2544
2419
  }] });
2545
2420
 
2421
+ // IMPORTANT: NgModule export kept for backwards compatibility
2546
2422
  /**
2547
2423
  * Represents the [NgModule](link:site.data.urls.angular['ngmoduleapi'])
2548
2424
  * definition for the Navigation components.
@@ -2577,23 +2453,153 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
2577
2453
  class NavigationModule {
2578
2454
  }
2579
2455
  NavigationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NavigationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2580
- NavigationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: NavigationModule, exports: [AppBarModule,
2581
- BreadCrumbModule,
2582
- BottomNavigationModule,
2583
- ActionSheetModule] });
2584
- NavigationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NavigationModule, imports: [AppBarModule,
2585
- BreadCrumbModule,
2586
- BottomNavigationModule,
2587
- ActionSheetModule] });
2456
+ NavigationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: NavigationModule, imports: [ActionSheetComponent, ActionSheetHeaderTemplateDirective, ActionSheetItemTemplateDirective, ActionSheetContentTemplateDirective, ActionSheetFooterTemplateDirective, ActionSheetTemplateDirective, AppBarComponent, AppBarSectionComponent, AppBarSpacerComponent, BottomNavigationComponent, BottomNavigationItemTemplateDirective, BreadCrumbComponent, BreadCrumbItemTemplateDirective], exports: [ActionSheetComponent, ActionSheetHeaderTemplateDirective, ActionSheetItemTemplateDirective, ActionSheetContentTemplateDirective, ActionSheetFooterTemplateDirective, ActionSheetTemplateDirective, AppBarComponent, AppBarSectionComponent, AppBarSpacerComponent, BottomNavigationComponent, BottomNavigationItemTemplateDirective, BreadCrumbComponent, BreadCrumbItemTemplateDirective] });
2457
+ NavigationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NavigationModule, providers: [IconsService, ResizeBatchService], imports: [ActionSheetComponent, AppBarComponent, AppBarSectionComponent, AppBarSpacerComponent, BottomNavigationComponent, BreadCrumbComponent] });
2588
2458
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NavigationModule, decorators: [{
2589
2459
  type: NgModule,
2590
2460
  args: [{
2591
- exports: [
2592
- AppBarModule,
2593
- BreadCrumbModule,
2594
- BottomNavigationModule,
2595
- ActionSheetModule
2596
- ]
2461
+ imports: [...KENDO_NAVIGATION],
2462
+ exports: [...KENDO_NAVIGATION],
2463
+ providers: [IconsService, ResizeBatchService]
2464
+ }]
2465
+ }] });
2466
+
2467
+ // IMPORTANT: NgModule export kept for backwards compatibility
2468
+ /**
2469
+ * Represents the [NgModule](link:site.data.urls.angular['ngmoduleapi'])
2470
+ * definition for the BreadCrumb component.
2471
+ * @example
2472
+ *
2473
+ * ```ts-no-run
2474
+ * // Import the BreadCrumb module
2475
+ * import { BreadCrumbModule } from '@progress/kendo-angular-navigation';
2476
+ *
2477
+ * // The browser platform with a compiler
2478
+ * import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
2479
+ * import { BrowserModule } from '@angular/platform-browser';
2480
+ *
2481
+ * import { NgModule } from '@angular/core';
2482
+ *
2483
+ * // Import the app component
2484
+ * import { AppComponent } from './app.component';
2485
+ *
2486
+ * // Define the app module
2487
+ * _@NgModule({
2488
+ * declarations: [AppComponent], // declare app component
2489
+ * imports: [BrowserModule, BreadCrumbModule], // import BreadCrumb module
2490
+ * bootstrap: [AppComponent]
2491
+ * })
2492
+ * export class AppModule {}
2493
+ *
2494
+ * // Compile and launch the module
2495
+ * platformBrowserDynamic().bootstrapModule(AppModule);
2496
+ *
2497
+ * ```
2498
+ */
2499
+ class BreadCrumbModule {
2500
+ }
2501
+ BreadCrumbModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BreadCrumbModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2502
+ BreadCrumbModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: BreadCrumbModule, imports: [BreadCrumbComponent, BreadCrumbItemTemplateDirective], exports: [BreadCrumbComponent, BreadCrumbItemTemplateDirective] });
2503
+ BreadCrumbModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BreadCrumbModule, providers: [IconsService, ResizeBatchService], imports: [BreadCrumbComponent] });
2504
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BreadCrumbModule, decorators: [{
2505
+ type: NgModule,
2506
+ args: [{
2507
+ exports: [...KENDO_BREADCRUMB],
2508
+ imports: [...KENDO_BREADCRUMB],
2509
+ providers: [IconsService, ResizeBatchService]
2510
+ }]
2511
+ }] });
2512
+
2513
+ // IMPORTANT: NgModule export kept for backwards compatibility
2514
+ /**
2515
+ * Represents the [NgModule](link:site.data.urls.angular['ngmoduleapi'])
2516
+ * definition for the BottomNavigation component.
2517
+ * @example
2518
+ *
2519
+ * ```ts-no-run
2520
+ * // Import the BottomNavigation module
2521
+ * import { BottomNavigationModule } from '@progress/kendo-angular-navigation';
2522
+ *
2523
+ * // The browser platform with a compiler
2524
+ * import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
2525
+ * import { BrowserModule } from '@angular/platform-browser';
2526
+ *
2527
+ * import { NgModule } from '@angular/core';
2528
+ *
2529
+ * // Import the app component
2530
+ * import { AppComponent } from './app.component';
2531
+ *
2532
+ * // Define the app module
2533
+ * _@NgModule({
2534
+ * declarations: [AppComponent], // declare app component
2535
+ * imports: [BrowserModule, BottomNavigationModule], // import BottomNavigation module
2536
+ * bootstrap: [AppComponent]
2537
+ * })
2538
+ * export class AppModule {}
2539
+ *
2540
+ * // Compile and launch the module
2541
+ * platformBrowserDynamic().bootstrapModule(AppModule);
2542
+ *
2543
+ * ```
2544
+ */
2545
+ class BottomNavigationModule {
2546
+ }
2547
+ BottomNavigationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BottomNavigationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2548
+ BottomNavigationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: BottomNavigationModule, imports: [BottomNavigationComponent, BottomNavigationItemTemplateDirective], exports: [BottomNavigationComponent, BottomNavigationItemTemplateDirective] });
2549
+ BottomNavigationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BottomNavigationModule, providers: [IconsService], imports: [BottomNavigationComponent] });
2550
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BottomNavigationModule, decorators: [{
2551
+ type: NgModule,
2552
+ args: [{
2553
+ exports: [...KENDO_BOTTOMNAVIGATION],
2554
+ imports: [...KENDO_BOTTOMNAVIGATION],
2555
+ providers: [IconsService]
2556
+ }]
2557
+ }] });
2558
+
2559
+ // IMPORTANT: NgModule export kept for backwards compatibility
2560
+ /**
2561
+ * Represents the [NgModule](link:site.data.urls.angular['ngmoduleapi'])
2562
+ * definition for the ActionSheet component.
2563
+ *
2564
+ * @example
2565
+ *
2566
+ * ```ts-no-run
2567
+ * // Import the ActionSheet module
2568
+ * import { ActionSheetModule } from '@progress/kendo-angular-navigation';
2569
+ *
2570
+ * // The browser platform with a compiler
2571
+ * import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
2572
+ * import { BrowserModule } from '@angular/platform-browser';
2573
+ *
2574
+ * import { NgModule } from '@angular/core';
2575
+ *
2576
+ * // Import the app component
2577
+ * import { AppComponent } from './app.component';
2578
+ *
2579
+ * // Define the app module
2580
+ * _@NgModule({
2581
+ * declarations: [AppComponent], // declare app component
2582
+ * imports: [BrowserModule, ActionSheetModule], // import ActionSheet module
2583
+ * bootstrap: [AppComponent]
2584
+ * })
2585
+ * export class AppModule {}
2586
+ *
2587
+ * // Compile and launch the module
2588
+ * platformBrowserDynamic().bootstrapModule(AppModule);
2589
+ *
2590
+ * ```
2591
+ */
2592
+ class ActionSheetModule {
2593
+ }
2594
+ ActionSheetModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ActionSheetModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2595
+ ActionSheetModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: ActionSheetModule, imports: [ActionSheetComponent, ActionSheetHeaderTemplateDirective, ActionSheetItemTemplateDirective, ActionSheetContentTemplateDirective, ActionSheetFooterTemplateDirective, ActionSheetTemplateDirective], exports: [ActionSheetComponent, ActionSheetHeaderTemplateDirective, ActionSheetItemTemplateDirective, ActionSheetContentTemplateDirective, ActionSheetFooterTemplateDirective, ActionSheetTemplateDirective] });
2596
+ ActionSheetModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ActionSheetModule, providers: [IconsService], imports: [ActionSheetComponent] });
2597
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ActionSheetModule, decorators: [{
2598
+ type: NgModule,
2599
+ args: [{
2600
+ exports: [...KENDO_ACTIONSHEET],
2601
+ imports: [...KENDO_ACTIONSHEET],
2602
+ providers: [IconsService]
2597
2603
  }]
2598
2604
  }] });
2599
2605
 
@@ -2603,5 +2609,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
2603
2609
  * Generated bundle index. Do not edit.
2604
2610
  */
2605
2611
 
2606
- export { ActionSheetComponent, ActionSheetContentTemplateDirective, ActionSheetFooterTemplateDirective, ActionSheetHeaderTemplateDirective, ActionSheetItemClickEvent, ActionSheetItemTemplateDirective, ActionSheetModule, ActionSheetTemplateDirective, AppBarComponent, AppBarModule, AppBarSectionComponent, AppBarSpacerComponent, BottomNavigationComponent, BottomNavigationItemTemplateDirective, BottomNavigationModule, BottomNavigationSelectEvent, BreadCrumbComponent, BreadCrumbItemComponent, BreadCrumbItemTemplateDirective, BreadCrumbListComponent, BreadCrumbModule, NavigationModule };
2612
+ export { ActionSheetComponent, ActionSheetContentTemplateDirective, ActionSheetFooterTemplateDirective, ActionSheetHeaderTemplateDirective, ActionSheetItemClickEvent, ActionSheetItemTemplateDirective, ActionSheetModule, ActionSheetTemplateDirective, AppBarComponent, AppBarModule, AppBarSectionComponent, AppBarSpacerComponent, BottomNavigationComponent, BottomNavigationItemTemplateDirective, BottomNavigationModule, BottomNavigationSelectEvent, BreadCrumbComponent, BreadCrumbItemComponent, BreadCrumbItemTemplateDirective, BreadCrumbListComponent, BreadCrumbModule, KENDO_ACTIONSHEET, KENDO_APPBAR, KENDO_BOTTOMNAVIGATION, KENDO_BREADCRUMB, KENDO_NAVIGATION, NavigationModule };
2607
2613