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