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