@progress/kendo-angular-menu 11.0.0-develop.98 → 11.0.0

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/NOTICE.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  Progress Kendo UI for Angular 2023
2
2
 
3
- Copyright (c) 2016-2022 Progress Software Corporation and/or one of its
3
+ Copyright © 2016-2023 Progress Software Corporation and/or one of its
4
4
  subsidiaries or affiliates. All rights reserved.
5
5
 
6
6
  Portions of the Product include certain open source and commercial third-party
@@ -65,7 +65,7 @@ the Product:
65
65
 
66
66
  (1) The Apache Software License, Version 2.0:
67
67
 
68
- Progress Kendo UI for Angular 2022 incorporates TsLib v1.9.3. Such technology
68
+ Progress Kendo UI for Angular 2023 incorporates TsLib v1.9.3. Such technology
69
69
  is subject to the following terms and conditions: Apache Software License Version 2.0.
70
70
 
71
71
  Apache License
@@ -290,7 +290,7 @@ is subject to the following terms and conditions: Apache Software License Versio
290
290
 
291
291
  (2) BSD-Style Licenses:
292
292
 
293
- (a) Progress Kendo UI for Angular 2022 incorporates xlf-translate v2.0.4. Such
293
+ (a) Progress Kendo UI for Angular 2023 incorporates xlf-translate v2.0.4. Such
294
294
  technology is subject to the following terms and conditions:
295
295
 
296
296
  BSD 3-Clause License
@@ -325,7 +325,7 @@ technology is subject to the following terms and conditions:
325
325
 
326
326
  (3) The ISC License:
327
327
 
328
- (a) Progress Kendo UI for Angular 2022 incorporates glob v7.1.3. Such technology
328
+ (a) Progress Kendo UI for Angular 2023 incorporates glob v7.1.3. Such technology
329
329
  is subject to the following terms and conditions:
330
330
 
331
331
  The ISC License
@@ -352,7 +352,7 @@ is subject to the following terms and conditions:
352
352
 
353
353
  (4) MIT-Style Licenses:
354
354
 
355
- (a) Progress Kendo UI for Angular 2022 incorporates HammerJS v2.0.8. Such
355
+ (a) Progress Kendo UI for Angular 2023 incorporates HammerJS v2.0.8. Such
356
356
  technology is subject to the following terms and conditions:
357
357
 
358
358
  The MIT License (MIT)
@@ -377,7 +377,7 @@ technology is subject to the following terms and conditions:
377
377
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
378
378
  SOFTWARE.
379
379
 
380
- (b) Progress Kendo UI for Angular 2022 incorporates prosemirror-commands v1*,
380
+ (b) Progress Kendo UI for Angular 2023 incorporates prosemirror-commands v1*,
381
381
  prosemirror-cursor v1*, prosemirror-gapcursor v1*, prosemirror-history v1*,
382
382
  prosemirror-inputrules v1*, prosemirror-keymap v1*, prosemirror-model v1*,
383
383
  prosemirror-schema-list v1*, prosemirror-state v1*, prosemirror-tables v0.7*,
@@ -404,7 +404,7 @@ subject to the following terms and conditions:
404
404
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
405
405
  THE SOFTWARE.
406
406
 
407
- (c) Progress Kendo UI for Angular 2022 incorporates cheerio v0.2.2. Such technology is subject to the following terms and conditions:
407
+ (c) Progress Kendo UI for Angular 2023 incorporates cheerio v0.2.2. Such technology is subject to the following terms and conditions:
408
408
 
409
409
  MIT License
410
410
 
@@ -428,7 +428,7 @@ subject to the following terms and conditions:
428
428
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
429
429
  SOFTWARE.
430
430
 
431
- (d) Progress Kendo UI for Angular 2022 incorporates @types/prosemirror-commands v1*,
431
+ (d) Progress Kendo UI for Angular 2023 incorporates @types/prosemirror-commands v1*,
432
432
  @types/prosemirror-dropcursor v1*, @types/prosemirror-gapcursor v1*, @types/prosemirror-history v1*,
433
433
  @types/prosemirror-inputrules v1*, @types/prosemirror-keymap v1*, @types/prosemirror-model v1*,
434
434
  @types/prosemirror-schema-list v1*, @types/prosemirror-state v1*, @types/prosemirror-tables v0.9*,
@@ -457,7 +457,7 @@ subject to the following terms and conditions:
457
457
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
458
458
  SOFTWARE.
459
459
 
460
- (e) Progress Kendo UI for Angular 2022 incorporates pako-esm v1.0.0. Such
460
+ (e) Progress Kendo UI for Angular 2023 incorporates pako-esm v1.0.0. Such
461
461
  technology is subject to the following terms and conditions:
462
462
 
463
463
  Copyright © 2020 Progress Software Corporation and/or one of its subsidiaries
@@ -483,7 +483,7 @@ technology is subject to the following terms and conditions:
483
483
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
484
484
  THE SOFTWARE.
485
485
 
486
- (f) Progress Kendo UI for Angular 2022 incorporates jszip-esm v1.0.0. Such
486
+ (f) Progress Kendo UI for Angular 2023 incorporates jszip-esm v1.0.0. Such
487
487
  technology is subject to the following terms and conditions:
488
488
 
489
489
  Copyright © 2020 Progress Software Corporation and/or one of its subsidiaries
@@ -510,7 +510,7 @@ technology is subject to the following terms and conditions:
510
510
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
511
511
  THE SOFTWARE.
512
512
 
513
- (g) Progress Kendo UI for Angular 2022 incorporates data.task v3.1.2. Such
513
+ (g) Progress Kendo UI for Angular 2023 incorporates data.task v3.1.2. Such
514
514
  technology is subject to the following terms and conditions:
515
515
 
516
516
  The MIT License
@@ -535,7 +535,7 @@ technology is subject to the following terms and conditions:
535
535
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
536
536
  THE SOFTWARE.
537
537
 
538
- (h) Progress Kendo UI for Angular 2022 incorporates ramda v0.23. Such technology
538
+ (h) Progress Kendo UI for Angular 2023 incorporates ramda v0.23. Such technology
539
539
  is subject to the following terms and conditions:
540
540
 
541
541
  The MIT License (MIT)
@@ -560,7 +560,7 @@ is subject to the following terms and conditions:
560
560
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
561
561
  THE SOFTWARE.
562
562
 
563
- (i) Progress Kendo UI for Angular 2022 incorporates js-yaml v3.14.0. Such
563
+ (i) Progress Kendo UI for Angular 2023 incorporates js-yaml v3.14.0. Such
564
564
  technology is subject to the following terms and conditions:
565
565
 
566
566
  (The MIT License)
@@ -587,7 +587,7 @@ technology is subject to the following terms and conditions:
587
587
 
588
588
  (5) UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE:
589
589
 
590
- Progress Kendo UI for Angular 2022 incorporates Unicode CLDR Database v33.
590
+ Progress Kendo UI for Angular 2023 incorporates Unicode CLDR Database v33.
591
591
  Such technology is subject to the following terms and conditions:
592
592
 
593
593
  UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE
@@ -605,7 +605,7 @@ Such technology is subject to the following terms and conditions:
605
605
 
606
606
  COPYRIGHT AND PERMISSION NOTICE
607
607
 
608
- Copyright © 1991-2021 Unicode, Inc. All rights reserved.
608
+ Copyright © 1991-2019 Unicode, Inc. All rights reserved.
609
609
  Distributed under the Terms of Use in https://www.unicode.org/copyright.html.
610
610
 
611
611
  Permission is hereby granted, free of charge, to any person obtaining
@@ -642,7 +642,7 @@ incorporated into the Product: NONE
642
642
 
643
643
  3. Special Notices Regarding Progress Products incorporated into the Product:
644
644
 
645
- (a) Progress Kendo UI for Angular 2022 incorporates Kendo UI Licensing CLI v1.1
645
+ (a) Progress Kendo UI for Angular 2023 incorporates Kendo UI Licensing CLI v1.1
646
646
  from Progress Software Corporation. See NOTICE.txt text file within product for
647
647
  third-party license information.
648
648
 
@@ -651,4 +651,4 @@ the release notes or other documentation that accompanies updates received in
651
651
  connection with support of the Product.
652
652
 
653
653
 
654
- Updated 1/6/2022
654
+ Updated 13.Jan.2023
package/esm2020/index.mjs CHANGED
@@ -5,7 +5,7 @@
5
5
  export { MenuComponent } from './menu.component';
6
6
  export { ListComponent, ItemComponent } from './rendering/list.component';
7
7
  export { LinkDirective } from './rendering/link.directive';
8
- export { ExpandArrowDirective } from './rendering/arrow.directive';
8
+ export { ExpandArrowComponent } from './rendering/arrow.component';
9
9
  export { MenuItemComponent } from './menu-item.component';
10
10
  export { MenuEvent } from './menu-event';
11
11
  export { MenuSelectEvent } from './menu-select-event';
@@ -87,7 +87,7 @@ export class MenuItemComponent {
87
87
  }
88
88
  }
89
89
  MenuItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
90
- MenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: MenuItemComponent, selector: "kendo-menu-item", inputs: { text: "text", url: "url", disabled: "disabled", cssClass: "cssClass", cssStyle: "cssStyle", icon: "icon", data: "data", separator: "separator" }, queries: [{ propertyName: "itemTemplate", predicate: ItemTemplateDirective }, { propertyName: "itemLinkTemplate", predicate: ItemLinkTemplateDirective }, { propertyName: "itemContentTemplate", predicate: ItemContentTemplateDirective }, { propertyName: "children", predicate: MenuItemComponent }], ngImport: i0, template: ``, isInline: true });
90
+ MenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: MenuItemComponent, selector: "kendo-menu-item", inputs: { text: "text", url: "url", disabled: "disabled", cssClass: "cssClass", cssStyle: "cssStyle", icon: "icon", svgIcon: "svgIcon", data: "data", separator: "separator" }, queries: [{ propertyName: "itemTemplate", predicate: ItemTemplateDirective }, { propertyName: "itemLinkTemplate", predicate: ItemLinkTemplateDirective }, { propertyName: "itemContentTemplate", predicate: ItemContentTemplateDirective }, { propertyName: "children", predicate: MenuItemComponent }], ngImport: i0, template: ``, isInline: true });
91
91
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MenuItemComponent, decorators: [{
92
92
  type: Component,
93
93
  args: [{
@@ -106,6 +106,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
106
106
  type: Input
107
107
  }], icon: [{
108
108
  type: Input
109
+ }], svgIcon: [{
110
+ type: Input
109
111
  }], data: [{
110
112
  type: Input
111
113
  }], separator: [{
@@ -9,12 +9,13 @@ import { MenuComponent } from './menu.component';
9
9
  import { MenuItemComponent } from './menu-item.component';
10
10
  import { ListComponent, ItemComponent } from './rendering/list.component';
11
11
  import { LinkDirective } from './rendering/link.directive';
12
- import { ExpandArrowDirective } from './rendering/arrow.directive';
12
+ import { ExpandArrowComponent } from './rendering/arrow.component';
13
13
  import { ItemTemplateDirective } from './templates/item-template.directive';
14
14
  import { ItemLinkTemplateDirective } from './templates/item-link-template.directive';
15
15
  import { ItemContentTemplateDirective } from './templates/item-content-template.directive';
16
16
  import { HierarchyBindingDirective } from './data-binding/hierachy-binding.directive';
17
17
  import { FlatBindingDirective } from './data-binding/flat-binding.directive';
18
+ import { IconsModule } from '@progress/kendo-angular-icons';
18
19
  import * as i0 from "@angular/core";
19
20
  const COMPONENT_EXPORTS = [
20
21
  MenuComponent,
@@ -25,7 +26,7 @@ const COMPONENT_EXPORTS = [
25
26
  HierarchyBindingDirective,
26
27
  FlatBindingDirective,
27
28
  LinkDirective,
28
- ExpandArrowDirective
29
+ ExpandArrowComponent
29
30
  ];
30
31
  const COMPONENT_DIRECTIVES = [
31
32
  ...COMPONENT_EXPORTS,
@@ -75,8 +76,8 @@ MenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13
75
76
  HierarchyBindingDirective,
76
77
  FlatBindingDirective,
77
78
  LinkDirective,
78
- ExpandArrowDirective, ListComponent,
79
- ItemComponent], imports: [PopupModule, CommonModule], exports: [MenuComponent,
79
+ ExpandArrowComponent, ListComponent,
80
+ ItemComponent], imports: [PopupModule, CommonModule, IconsModule], exports: [MenuComponent,
80
81
  MenuItemComponent,
81
82
  ItemTemplateDirective,
82
83
  ItemLinkTemplateDirective,
@@ -84,13 +85,13 @@ MenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13
84
85
  HierarchyBindingDirective,
85
86
  FlatBindingDirective,
86
87
  LinkDirective,
87
- ExpandArrowDirective] });
88
- MenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MenuModule, imports: [[PopupModule, CommonModule]] });
88
+ ExpandArrowComponent] });
89
+ MenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MenuModule, imports: [[PopupModule, CommonModule, IconsModule]] });
89
90
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MenuModule, decorators: [{
90
91
  type: NgModule,
91
92
  args: [{
92
93
  declarations: [COMPONENT_DIRECTIVES],
93
94
  exports: [COMPONENT_EXPORTS],
94
- imports: [PopupModule, CommonModule]
95
+ imports: [PopupModule, CommonModule, IconsModule]
95
96
  }]
96
97
  }] });
@@ -9,7 +9,7 @@ export const packageMetadata = {
9
9
  name: '@progress/kendo-angular-menu',
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
12
- publishDate: 1673460699,
13
- version: '',
12
+ publishDate: 1674032275,
13
+ version: '11.0.0',
14
14
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
15
15
  };
@@ -2,49 +2,40 @@
2
2
  * Copyright © 2023 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- import { Directive, Input, HostBinding, isDevMode, ElementRef, Renderer2 } from '@angular/core';
5
+ import { Input, HostBinding, isDevMode, Component } from '@angular/core';
6
6
  import { ItemsService } from '../services/items.service';
7
+ import { getFontIcon, getSVGIcon } from '../utils';
7
8
  import * as i0 from "@angular/core";
8
9
  import * as i1 from "../services/items.service";
10
+ import * as i2 from "@progress/kendo-angular-icons";
9
11
  /**
10
- * Represents a directive that can be used in the [`linkTemplate`]({% slug api_menu_itemlinktemplatedirective %})
12
+ * Represents a component that can be used in the [`linkTemplate`]({% slug api_menu_itemlinktemplatedirective %})
11
13
  * of the items to render the default expand arrow.
12
14
  */
13
- export class ExpandArrowDirective {
14
- constructor(itemsService, element, renderer) {
15
+ export class ExpandArrowComponent {
16
+ constructor(itemsService) {
15
17
  this.itemsService = itemsService;
16
- this.element = element;
17
- this.renderer = renderer;
18
18
  this.hostClasses = true;
19
19
  this.role = 'presentation';
20
20
  }
21
21
  ngOnInit() {
22
22
  if (isDevMode() && !this.index) {
23
- throw new Error('The kendoMenuExpandArrow directive requires the item index to be set.');
23
+ throw new Error('The kendoMenuExpandArrow component requires the item index to be set.');
24
24
  }
25
25
  this.item = this.itemsService.get(this.index) || {};
26
- this.createIconElement();
27
- }
28
- createIconElement() {
29
- const iconClass = this.item.horizontal ?
30
- this.item.rtl ?
31
- 'k-i-arrow-60-left' :
32
- 'k-i-arrow-60-right' :
33
- 'k-i-arrow-60-down';
34
- const iconElement = this.renderer.createElement('span');
35
- this.renderer.addClass(iconElement, 'k-icon');
36
- this.renderer.addClass(iconElement, iconClass);
37
- this.renderer.appendChild(this.element.nativeElement, iconElement);
26
+ this.fontIcon = getFontIcon(this.item.horizontal, this.item.rtl);
27
+ this.SVGIcon = getSVGIcon(this.item.horizontal, this.item.rtl);
38
28
  }
39
29
  }
40
- ExpandArrowDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ExpandArrowDirective, deps: [{ token: i1.ItemsService }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
41
- ExpandArrowDirectivedir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: ExpandArrowDirective, selector: "[kendoMenuExpandArrow]", inputs: { index: ["kendoMenuExpandArrow", "index"] }, host: { properties: { "class.k-menu-expand-arrow": "this.hostClasses", "attr.role": "this.role" } }, ngImport: i0 });
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ExpandArrowDirective, decorators: [{
43
- type: Directive,
30
+ ExpandArrowComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ExpandArrowComponent, deps: [{ token: i1.ItemsService }], target: i0.ɵɵFactoryTarget.Component });
31
+ ExpandArrowComponentcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ExpandArrowComponent, selector: "[kendoMenuExpandArrow]", inputs: { index: ["kendoMenuExpandArrow", "index"] }, host: { properties: { "class.k-menu-expand-arrow": "this.hostClasses", "attr.role": "this.role" } }, ngImport: i0, template: `<kendo-icon-wrapper [name]="fontIcon" [svgIcon]="SVGIcon"></kendo-icon-wrapper>`, isInline: true, components: [{ type: i2.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }] });
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ExpandArrowComponent, decorators: [{
33
+ type: Component,
44
34
  args: [{
45
- selector: '[kendoMenuExpandArrow]'
35
+ selector: '[kendoMenuExpandArrow]',
36
+ template: `<kendo-icon-wrapper [name]="fontIcon" [svgIcon]="SVGIcon"></kendo-icon-wrapper>`
46
37
  }]
47
- }], ctorParameters: function () { return [{ type: i1.ItemsService }, { type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { index: [{
38
+ }], ctorParameters: function () { return [{ type: i1.ItemsService }]; }, propDecorators: { index: [{
48
39
  type: Input,
49
40
  args: ['kendoMenuExpandArrow']
50
41
  }], hostClasses: [{
@@ -13,7 +13,7 @@ import { ActionsService } from '../services/actions.service';
13
13
  import { HoverService } from '../services/hover.service';
14
14
  import { ItemsService } from '../services/items.service';
15
15
  import { NavigationService } from '../services/navigation.service';
16
- import { bodyFactory, getSizeClass } from '../utils';
16
+ import { bodyFactory, getFontIcon, getSizeClass, getSVGIcon } from '../utils';
17
17
  import { POPUP_SETTINGS, POPUP_SETTINGS_RTL } from './popup-settings';
18
18
  import * as i0 from "@angular/core";
19
19
  import * as i1 from "../services/items.service";
@@ -23,6 +23,7 @@ import * as i4 from "../services/navigation.service";
23
23
  import * as i5 from "@angular/common";
24
24
  import * as i6 from "@progress/kendo-angular-popup";
25
25
  import * as i7 from "../context-menu/context-menu.service";
26
+ import * as i8 from "@progress/kendo-angular-icons";
26
27
  /* eslint-disable @angular-eslint/component-selector */
27
28
  /**
28
29
  * @hidden
@@ -238,6 +239,14 @@ export class ItemComponent {
238
239
  this.animate = true;
239
240
  this.size = 'medium';
240
241
  this.openOnClick = false;
242
+ /**
243
+ * @hidden
244
+ */
245
+ this.fontIcon = getFontIcon;
246
+ /**
247
+ * @hidden
248
+ */
249
+ this.SVGIcon = getSVGIcon;
241
250
  this.opened = false;
242
251
  this.navigating = false;
243
252
  this.destroyed = false;
@@ -446,22 +455,15 @@ ItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
446
455
  </ng-template>
447
456
 
448
457
  <ng-template #itemcontent>
449
- <span *ngIf="item.icon" class="k-icon" [ngClass]="iconClass" role="presentation"></span>
458
+ <kendo-icon-wrapper *ngIf="item.icon || item.svgIcon" [name]="item.icon" [svgIcon]="item.svgIcon" role="presentation"></kendo-icon-wrapper>
450
459
  <ng-container *ngIf="!template">
451
460
  <span class="k-menu-link-text">{{ item.text }}</span>
452
461
  </ng-container>
453
462
  <ng-template *ngIf="template" [ngTemplateOutlet]="template" [ngTemplateOutletContext]="{ item: item, index: index }">
454
463
  </ng-template>
455
- <span *ngIf="hasContent" class="k-menu-expand-arrow" role="presentation">
456
- <span class="k-icon"
457
- [class.k-i-arrow-60-down]="!horizontal"
458
- [class.k-i-arrow-60-right]="horizontal && !rtl"
459
- [class.k-i-arrow-60-left]="horizontal && rtl"
460
- >
461
- </span>
462
- </span>
464
+ <kendo-icon-wrapper *ngIf="hasContent" [name]="fontIcon(horizontal, rtl)" [svgIcon]="SVGIcon(horizontal, rtl)" class="k-menu-expand-arrow" role="presentation"></kendo-icon-wrapper>
463
465
  </ng-template>
464
- `, isInline: true, components: [{ type: ListComponent, selector: "[kendoMenuList]", inputs: ["items", "level", "index", "animate", "size", "vertical", "rtl", "openOnClick", "itemTemplate", "itemLinkTemplate"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
466
+ `, isInline: true, components: [{ type: ListComponent, selector: "[kendoMenuList]", inputs: ["items", "level", "index", "animate", "size", "vertical", "rtl", "openOnClick", "itemTemplate", "itemLinkTemplate"] }, { type: i8.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
465
467
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ItemComponent, decorators: [{
466
468
  type: Component,
467
469
  args: [{
@@ -509,20 +511,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
509
511
  </ng-template>
510
512
 
511
513
  <ng-template #itemcontent>
512
- <span *ngIf="item.icon" class="k-icon" [ngClass]="iconClass" role="presentation"></span>
514
+ <kendo-icon-wrapper *ngIf="item.icon || item.svgIcon" [name]="item.icon" [svgIcon]="item.svgIcon" role="presentation"></kendo-icon-wrapper>
513
515
  <ng-container *ngIf="!template">
514
516
  <span class="k-menu-link-text">{{ item.text }}</span>
515
517
  </ng-container>
516
518
  <ng-template *ngIf="template" [ngTemplateOutlet]="template" [ngTemplateOutletContext]="{ item: item, index: index }">
517
519
  </ng-template>
518
- <span *ngIf="hasContent" class="k-menu-expand-arrow" role="presentation">
519
- <span class="k-icon"
520
- [class.k-i-arrow-60-down]="!horizontal"
521
- [class.k-i-arrow-60-right]="horizontal && !rtl"
522
- [class.k-i-arrow-60-left]="horizontal && rtl"
523
- >
524
- </span>
525
- </span>
520
+ <kendo-icon-wrapper *ngIf="hasContent" [name]="fontIcon(horizontal, rtl)" [svgIcon]="SVGIcon(horizontal, rtl)" class="k-menu-expand-arrow" role="presentation"></kendo-icon-wrapper>
526
521
  </ng-template>
527
522
  `
528
523
  }]
package/esm2020/utils.mjs CHANGED
@@ -4,6 +4,7 @@
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { ElementRef } from '@angular/core';
6
6
  import { isDocumentAvailable } from '@progress/kendo-angular-common';
7
+ import { caretAltDownIcon, caretAltLeftIcon, caretAltRightIcon } from '@progress/kendo-svg-icons';
7
8
  /**
8
9
  * @hidden
9
10
  */
@@ -27,3 +28,25 @@ export const getSizeClass = (size) => {
27
28
  };
28
29
  return SIZE_CLASSES[size];
29
30
  };
31
+ /**
32
+ * @hidden
33
+ */
34
+ export const getFontIcon = (horizontal, rtl) => {
35
+ const icon = horizontal ?
36
+ rtl ?
37
+ 'caret-alt-left' :
38
+ 'caret-alt-right' :
39
+ 'caret-alt-down';
40
+ return icon;
41
+ };
42
+ /**
43
+ * @hidden
44
+ */
45
+ export const getSVGIcon = (horizontal, rtl) => {
46
+ const icon = horizontal ?
47
+ rtl ?
48
+ caretAltLeftIcon :
49
+ caretAltRightIcon :
50
+ caretAltDownIcon;
51
+ return icon;
52
+ };
@@ -8,10 +8,13 @@ import * as i3 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
10
  import { PreventableEvent as PreventableEvent$1, hasObservers, isDocumentAvailable, Keys } from '@progress/kendo-angular-common';
11
+ import { caretAltLeftIcon, caretAltRightIcon, caretAltDownIcon } from '@progress/kendo-svg-icons';
11
12
  import * as i6 from '@progress/kendo-angular-popup';
12
13
  import { PopupService, POPUP_CONTAINER, PopupModule } from '@progress/kendo-angular-popup';
13
14
  import * as i5 from '@angular/common';
14
15
  import { CommonModule } from '@angular/common';
16
+ import * as i8 from '@progress/kendo-angular-icons';
17
+ import { IconsModule } from '@progress/kendo-angular-icons';
15
18
 
16
19
  /**
17
20
  * @hidden
@@ -20,8 +23,8 @@ const packageMetadata = {
20
23
  name: '@progress/kendo-angular-menu',
21
24
  productName: 'Kendo UI for Angular',
22
25
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
23
- publishDate: 1673460699,
24
- version: '',
26
+ publishDate: 1674032275,
27
+ version: '11.0.0',
25
28
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
26
29
  };
27
30
 
@@ -1021,7 +1024,7 @@ class MenuItemComponent {
1021
1024
  }
1022
1025
  }
1023
1026
  MenuItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1024
- MenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: MenuItemComponent, selector: "kendo-menu-item", inputs: { text: "text", url: "url", disabled: "disabled", cssClass: "cssClass", cssStyle: "cssStyle", icon: "icon", data: "data", separator: "separator" }, queries: [{ propertyName: "itemTemplate", predicate: ItemTemplateDirective }, { propertyName: "itemLinkTemplate", predicate: ItemLinkTemplateDirective }, { propertyName: "itemContentTemplate", predicate: ItemContentTemplateDirective }, { propertyName: "children", predicate: MenuItemComponent }], ngImport: i0, template: ``, isInline: true });
1027
+ MenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: MenuItemComponent, selector: "kendo-menu-item", inputs: { text: "text", url: "url", disabled: "disabled", cssClass: "cssClass", cssStyle: "cssStyle", icon: "icon", svgIcon: "svgIcon", data: "data", separator: "separator" }, queries: [{ propertyName: "itemTemplate", predicate: ItemTemplateDirective }, { propertyName: "itemLinkTemplate", predicate: ItemLinkTemplateDirective }, { propertyName: "itemContentTemplate", predicate: ItemContentTemplateDirective }, { propertyName: "children", predicate: MenuItemComponent }], ngImport: i0, template: ``, isInline: true });
1025
1028
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MenuItemComponent, decorators: [{
1026
1029
  type: Component,
1027
1030
  args: [{
@@ -1040,6 +1043,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
1040
1043
  type: Input
1041
1044
  }], icon: [{
1042
1045
  type: Input
1046
+ }], svgIcon: [{
1047
+ type: Input
1043
1048
  }], data: [{
1044
1049
  type: Input
1045
1050
  }], separator: [{
@@ -1155,6 +1160,28 @@ const getSizeClass = (size) => {
1155
1160
  };
1156
1161
  return SIZE_CLASSES[size];
1157
1162
  };
1163
+ /**
1164
+ * @hidden
1165
+ */
1166
+ const getFontIcon = (horizontal, rtl) => {
1167
+ const icon = horizontal ?
1168
+ rtl ?
1169
+ 'caret-alt-left' :
1170
+ 'caret-alt-right' :
1171
+ 'caret-alt-down';
1172
+ return icon;
1173
+ };
1174
+ /**
1175
+ * @hidden
1176
+ */
1177
+ const getSVGIcon = (horizontal, rtl) => {
1178
+ const icon = horizontal ?
1179
+ rtl ?
1180
+ caretAltLeftIcon :
1181
+ caretAltRightIcon :
1182
+ caretAltDownIcon;
1183
+ return icon;
1184
+ };
1158
1185
 
1159
1186
  /**
1160
1187
  * @hidden
@@ -1457,6 +1484,14 @@ class ItemComponent {
1457
1484
  this.animate = true;
1458
1485
  this.size = 'medium';
1459
1486
  this.openOnClick = false;
1487
+ /**
1488
+ * @hidden
1489
+ */
1490
+ this.fontIcon = getFontIcon;
1491
+ /**
1492
+ * @hidden
1493
+ */
1494
+ this.SVGIcon = getSVGIcon;
1460
1495
  this.opened = false;
1461
1496
  this.navigating = false;
1462
1497
  this.destroyed = false;
@@ -1665,22 +1700,15 @@ ItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
1665
1700
  </ng-template>
1666
1701
 
1667
1702
  <ng-template #itemcontent>
1668
- <span *ngIf="item.icon" class="k-icon" [ngClass]="iconClass" role="presentation"></span>
1703
+ <kendo-icon-wrapper *ngIf="item.icon || item.svgIcon" [name]="item.icon" [svgIcon]="item.svgIcon" role="presentation"></kendo-icon-wrapper>
1669
1704
  <ng-container *ngIf="!template">
1670
1705
  <span class="k-menu-link-text">{{ item.text }}</span>
1671
1706
  </ng-container>
1672
1707
  <ng-template *ngIf="template" [ngTemplateOutlet]="template" [ngTemplateOutletContext]="{ item: item, index: index }">
1673
1708
  </ng-template>
1674
- <span *ngIf="hasContent" class="k-menu-expand-arrow" role="presentation">
1675
- <span class="k-icon"
1676
- [class.k-i-arrow-60-down]="!horizontal"
1677
- [class.k-i-arrow-60-right]="horizontal && !rtl"
1678
- [class.k-i-arrow-60-left]="horizontal && rtl"
1679
- >
1680
- </span>
1681
- </span>
1709
+ <kendo-icon-wrapper *ngIf="hasContent" [name]="fontIcon(horizontal, rtl)" [svgIcon]="SVGIcon(horizontal, rtl)" class="k-menu-expand-arrow" role="presentation"></kendo-icon-wrapper>
1682
1710
  </ng-template>
1683
- `, isInline: true, components: [{ type: ListComponent, selector: "[kendoMenuList]", inputs: ["items", "level", "index", "animate", "size", "vertical", "rtl", "openOnClick", "itemTemplate", "itemLinkTemplate"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
1711
+ `, isInline: true, components: [{ type: ListComponent, selector: "[kendoMenuList]", inputs: ["items", "level", "index", "animate", "size", "vertical", "rtl", "openOnClick", "itemTemplate", "itemLinkTemplate"] }, { type: i8.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
1684
1712
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ItemComponent, decorators: [{
1685
1713
  type: Component,
1686
1714
  args: [{
@@ -1728,20 +1756,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
1728
1756
  </ng-template>
1729
1757
 
1730
1758
  <ng-template #itemcontent>
1731
- <span *ngIf="item.icon" class="k-icon" [ngClass]="iconClass" role="presentation"></span>
1759
+ <kendo-icon-wrapper *ngIf="item.icon || item.svgIcon" [name]="item.icon" [svgIcon]="item.svgIcon" role="presentation"></kendo-icon-wrapper>
1732
1760
  <ng-container *ngIf="!template">
1733
1761
  <span class="k-menu-link-text">{{ item.text }}</span>
1734
1762
  </ng-container>
1735
1763
  <ng-template *ngIf="template" [ngTemplateOutlet]="template" [ngTemplateOutletContext]="{ item: item, index: index }">
1736
1764
  </ng-template>
1737
- <span *ngIf="hasContent" class="k-menu-expand-arrow" role="presentation">
1738
- <span class="k-icon"
1739
- [class.k-i-arrow-60-down]="!horizontal"
1740
- [class.k-i-arrow-60-right]="horizontal && !rtl"
1741
- [class.k-i-arrow-60-left]="horizontal && rtl"
1742
- >
1743
- </span>
1744
- </span>
1765
+ <kendo-icon-wrapper *ngIf="hasContent" [name]="fontIcon(horizontal, rtl)" [svgIcon]="SVGIcon(horizontal, rtl)" class="k-menu-expand-arrow" role="presentation"></kendo-icon-wrapper>
1745
1766
  </ng-template>
1746
1767
  `
1747
1768
  }]
@@ -2083,44 +2104,33 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
2083
2104
  }] } });
2084
2105
 
2085
2106
  /**
2086
- * Represents a directive that can be used in the [`linkTemplate`]({% slug api_menu_itemlinktemplatedirective %})
2107
+ * Represents a component that can be used in the [`linkTemplate`]({% slug api_menu_itemlinktemplatedirective %})
2087
2108
  * of the items to render the default expand arrow.
2088
2109
  */
2089
- class ExpandArrowDirective {
2090
- constructor(itemsService, element, renderer) {
2110
+ class ExpandArrowComponent {
2111
+ constructor(itemsService) {
2091
2112
  this.itemsService = itemsService;
2092
- this.element = element;
2093
- this.renderer = renderer;
2094
2113
  this.hostClasses = true;
2095
2114
  this.role = 'presentation';
2096
2115
  }
2097
2116
  ngOnInit() {
2098
2117
  if (isDevMode() && !this.index) {
2099
- throw new Error('The kendoMenuExpandArrow directive requires the item index to be set.');
2118
+ throw new Error('The kendoMenuExpandArrow component requires the item index to be set.');
2100
2119
  }
2101
2120
  this.item = this.itemsService.get(this.index) || {};
2102
- this.createIconElement();
2103
- }
2104
- createIconElement() {
2105
- const iconClass = this.item.horizontal ?
2106
- this.item.rtl ?
2107
- 'k-i-arrow-60-left' :
2108
- 'k-i-arrow-60-right' :
2109
- 'k-i-arrow-60-down';
2110
- const iconElement = this.renderer.createElement('span');
2111
- this.renderer.addClass(iconElement, 'k-icon');
2112
- this.renderer.addClass(iconElement, iconClass);
2113
- this.renderer.appendChild(this.element.nativeElement, iconElement);
2121
+ this.fontIcon = getFontIcon(this.item.horizontal, this.item.rtl);
2122
+ this.SVGIcon = getSVGIcon(this.item.horizontal, this.item.rtl);
2114
2123
  }
2115
2124
  }
2116
- ExpandArrowDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ExpandArrowDirective, deps: [{ token: ItemsService }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
2117
- ExpandArrowDirectivedir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: ExpandArrowDirective, selector: "[kendoMenuExpandArrow]", inputs: { index: ["kendoMenuExpandArrow", "index"] }, host: { properties: { "class.k-menu-expand-arrow": "this.hostClasses", "attr.role": "this.role" } }, ngImport: i0 });
2118
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ExpandArrowDirective, decorators: [{
2119
- type: Directive,
2125
+ ExpandArrowComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ExpandArrowComponent, deps: [{ token: ItemsService }], target: i0.ɵɵFactoryTarget.Component });
2126
+ ExpandArrowComponentcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ExpandArrowComponent, selector: "[kendoMenuExpandArrow]", inputs: { index: ["kendoMenuExpandArrow", "index"] }, host: { properties: { "class.k-menu-expand-arrow": "this.hostClasses", "attr.role": "this.role" } }, ngImport: i0, template: `<kendo-icon-wrapper [name]="fontIcon" [svgIcon]="SVGIcon"></kendo-icon-wrapper>`, isInline: true, components: [{ type: i8.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }] });
2127
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ExpandArrowComponent, decorators: [{
2128
+ type: Component,
2120
2129
  args: [{
2121
- selector: '[kendoMenuExpandArrow]'
2130
+ selector: '[kendoMenuExpandArrow]',
2131
+ template: `<kendo-icon-wrapper [name]="fontIcon" [svgIcon]="SVGIcon"></kendo-icon-wrapper>`
2122
2132
  }]
2123
- }], ctorParameters: function () { return [{ type: ItemsService }, { type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { index: [{
2133
+ }], ctorParameters: function () { return [{ type: ItemsService }]; }, propDecorators: { index: [{
2124
2134
  type: Input,
2125
2135
  args: ['kendoMenuExpandArrow']
2126
2136
  }], hostClasses: [{
@@ -2384,7 +2394,7 @@ const COMPONENT_EXPORTS = [
2384
2394
  HierarchyBindingDirective,
2385
2395
  FlatBindingDirective,
2386
2396
  LinkDirective,
2387
- ExpandArrowDirective
2397
+ ExpandArrowComponent
2388
2398
  ];
2389
2399
  const COMPONENT_DIRECTIVES$1 = [
2390
2400
  ...COMPONENT_EXPORTS,
@@ -2434,8 +2444,8 @@ MenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13
2434
2444
  HierarchyBindingDirective,
2435
2445
  FlatBindingDirective,
2436
2446
  LinkDirective,
2437
- ExpandArrowDirective, ListComponent,
2438
- ItemComponent], imports: [PopupModule, CommonModule], exports: [MenuComponent,
2447
+ ExpandArrowComponent, ListComponent,
2448
+ ItemComponent], imports: [PopupModule, CommonModule, IconsModule], exports: [MenuComponent,
2439
2449
  MenuItemComponent,
2440
2450
  ItemTemplateDirective,
2441
2451
  ItemLinkTemplateDirective,
@@ -2443,14 +2453,14 @@ MenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13
2443
2453
  HierarchyBindingDirective,
2444
2454
  FlatBindingDirective,
2445
2455
  LinkDirective,
2446
- ExpandArrowDirective] });
2447
- MenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MenuModule, imports: [[PopupModule, CommonModule]] });
2456
+ ExpandArrowComponent] });
2457
+ MenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MenuModule, imports: [[PopupModule, CommonModule, IconsModule]] });
2448
2458
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MenuModule, decorators: [{
2449
2459
  type: NgModule,
2450
2460
  args: [{
2451
2461
  declarations: [COMPONENT_DIRECTIVES$1],
2452
2462
  exports: [COMPONENT_EXPORTS],
2453
- imports: [PopupModule, CommonModule]
2463
+ imports: [PopupModule, CommonModule, IconsModule]
2454
2464
  }]
2455
2465
  }] });
2456
2466
 
@@ -3131,5 +3141,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
3131
3141
  * Generated bundle index. Do not edit.
3132
3142
  */
3133
3143
 
3134
- export { ContextMenuComponent, ContextMenuEvent, ContextMenuModule, ContextMenuPopupEvent, ContextMenuSelectEvent, ContextMenuService, ContextMenuTargetContainerDirective, ContextMenuTargetDirective, ContextMenuTemplateDirective, ExpandArrowDirective, FlatBindingDirective, HierarchyBindingDirective, ItemComponent, ItemContentTemplateDirective, ItemLinkTemplateDirective, ItemTemplateDirective, ItemsService, LinkDirective, ListComponent, MenuComponent, MenuEvent, MenuItemComponent, MenuModule, MenuSelectEvent, MenusModule };
3144
+ export { ContextMenuComponent, ContextMenuEvent, ContextMenuModule, ContextMenuPopupEvent, ContextMenuSelectEvent, ContextMenuService, ContextMenuTargetContainerDirective, ContextMenuTargetDirective, ContextMenuTemplateDirective, ExpandArrowComponent, FlatBindingDirective, HierarchyBindingDirective, ItemComponent, ItemContentTemplateDirective, ItemLinkTemplateDirective, ItemTemplateDirective, ItemsService, LinkDirective, ListComponent, MenuComponent, MenuEvent, MenuItemComponent, MenuModule, MenuSelectEvent, MenusModule };
3135
3145
 
@@ -8,10 +8,13 @@ import * as i3 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
10
  import { PreventableEvent as PreventableEvent$1, hasObservers, isDocumentAvailable, Keys } from '@progress/kendo-angular-common';
11
+ import { caretAltLeftIcon, caretAltRightIcon, caretAltDownIcon } from '@progress/kendo-svg-icons';
11
12
  import * as i6 from '@progress/kendo-angular-popup';
12
13
  import { PopupService, POPUP_CONTAINER, PopupModule } from '@progress/kendo-angular-popup';
13
14
  import * as i5 from '@angular/common';
14
15
  import { CommonModule } from '@angular/common';
16
+ import * as i8 from '@progress/kendo-angular-icons';
17
+ import { IconsModule } from '@progress/kendo-angular-icons';
15
18
 
16
19
  /**
17
20
  * @hidden
@@ -20,8 +23,8 @@ const packageMetadata = {
20
23
  name: '@progress/kendo-angular-menu',
21
24
  productName: 'Kendo UI for Angular',
22
25
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
23
- publishDate: 1673460699,
24
- version: '',
26
+ publishDate: 1674032275,
27
+ version: '11.0.0',
25
28
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
26
29
  };
27
30
 
@@ -1038,7 +1041,7 @@ class MenuItemComponent {
1038
1041
  }
1039
1042
  }
1040
1043
  MenuItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1041
- MenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: MenuItemComponent, selector: "kendo-menu-item", inputs: { text: "text", url: "url", disabled: "disabled", cssClass: "cssClass", cssStyle: "cssStyle", icon: "icon", data: "data", separator: "separator" }, queries: [{ propertyName: "itemTemplate", predicate: ItemTemplateDirective }, { propertyName: "itemLinkTemplate", predicate: ItemLinkTemplateDirective }, { propertyName: "itemContentTemplate", predicate: ItemContentTemplateDirective }, { propertyName: "children", predicate: MenuItemComponent }], ngImport: i0, template: ``, isInline: true });
1044
+ MenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: MenuItemComponent, selector: "kendo-menu-item", inputs: { text: "text", url: "url", disabled: "disabled", cssClass: "cssClass", cssStyle: "cssStyle", icon: "icon", svgIcon: "svgIcon", data: "data", separator: "separator" }, queries: [{ propertyName: "itemTemplate", predicate: ItemTemplateDirective }, { propertyName: "itemLinkTemplate", predicate: ItemLinkTemplateDirective }, { propertyName: "itemContentTemplate", predicate: ItemContentTemplateDirective }, { propertyName: "children", predicate: MenuItemComponent }], ngImport: i0, template: ``, isInline: true });
1042
1045
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MenuItemComponent, decorators: [{
1043
1046
  type: Component,
1044
1047
  args: [{
@@ -1057,6 +1060,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
1057
1060
  type: Input
1058
1061
  }], icon: [{
1059
1062
  type: Input
1063
+ }], svgIcon: [{
1064
+ type: Input
1060
1065
  }], data: [{
1061
1066
  type: Input
1062
1067
  }], separator: [{
@@ -1172,6 +1177,28 @@ const getSizeClass = (size) => {
1172
1177
  };
1173
1178
  return SIZE_CLASSES[size];
1174
1179
  };
1180
+ /**
1181
+ * @hidden
1182
+ */
1183
+ const getFontIcon = (horizontal, rtl) => {
1184
+ const icon = horizontal ?
1185
+ rtl ?
1186
+ 'caret-alt-left' :
1187
+ 'caret-alt-right' :
1188
+ 'caret-alt-down';
1189
+ return icon;
1190
+ };
1191
+ /**
1192
+ * @hidden
1193
+ */
1194
+ const getSVGIcon = (horizontal, rtl) => {
1195
+ const icon = horizontal ?
1196
+ rtl ?
1197
+ caretAltLeftIcon :
1198
+ caretAltRightIcon :
1199
+ caretAltDownIcon;
1200
+ return icon;
1201
+ };
1175
1202
 
1176
1203
  const POPUP_ALIGN = {
1177
1204
  vertical: 'top',
@@ -1451,6 +1478,14 @@ class ItemComponent {
1451
1478
  this.animate = true;
1452
1479
  this.size = 'medium';
1453
1480
  this.openOnClick = false;
1481
+ /**
1482
+ * @hidden
1483
+ */
1484
+ this.fontIcon = getFontIcon;
1485
+ /**
1486
+ * @hidden
1487
+ */
1488
+ this.SVGIcon = getSVGIcon;
1454
1489
  this.opened = false;
1455
1490
  this.navigating = false;
1456
1491
  this.destroyed = false;
@@ -1659,22 +1694,15 @@ ItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
1659
1694
  </ng-template>
1660
1695
 
1661
1696
  <ng-template #itemcontent>
1662
- <span *ngIf="item.icon" class="k-icon" [ngClass]="iconClass" role="presentation"></span>
1697
+ <kendo-icon-wrapper *ngIf="item.icon || item.svgIcon" [name]="item.icon" [svgIcon]="item.svgIcon" role="presentation"></kendo-icon-wrapper>
1663
1698
  <ng-container *ngIf="!template">
1664
1699
  <span class="k-menu-link-text">{{ item.text }}</span>
1665
1700
  </ng-container>
1666
1701
  <ng-template *ngIf="template" [ngTemplateOutlet]="template" [ngTemplateOutletContext]="{ item: item, index: index }">
1667
1702
  </ng-template>
1668
- <span *ngIf="hasContent" class="k-menu-expand-arrow" role="presentation">
1669
- <span class="k-icon"
1670
- [class.k-i-arrow-60-down]="!horizontal"
1671
- [class.k-i-arrow-60-right]="horizontal && !rtl"
1672
- [class.k-i-arrow-60-left]="horizontal && rtl"
1673
- >
1674
- </span>
1675
- </span>
1703
+ <kendo-icon-wrapper *ngIf="hasContent" [name]="fontIcon(horizontal, rtl)" [svgIcon]="SVGIcon(horizontal, rtl)" class="k-menu-expand-arrow" role="presentation"></kendo-icon-wrapper>
1676
1704
  </ng-template>
1677
- `, isInline: true, components: [{ type: ListComponent, selector: "[kendoMenuList]", inputs: ["items", "level", "index", "animate", "size", "vertical", "rtl", "openOnClick", "itemTemplate", "itemLinkTemplate"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
1705
+ `, isInline: true, components: [{ type: ListComponent, selector: "[kendoMenuList]", inputs: ["items", "level", "index", "animate", "size", "vertical", "rtl", "openOnClick", "itemTemplate", "itemLinkTemplate"] }, { type: i8.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
1678
1706
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ItemComponent, decorators: [{
1679
1707
  type: Component,
1680
1708
  args: [{
@@ -1722,20 +1750,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
1722
1750
  </ng-template>
1723
1751
 
1724
1752
  <ng-template #itemcontent>
1725
- <span *ngIf="item.icon" class="k-icon" [ngClass]="iconClass" role="presentation"></span>
1753
+ <kendo-icon-wrapper *ngIf="item.icon || item.svgIcon" [name]="item.icon" [svgIcon]="item.svgIcon" role="presentation"></kendo-icon-wrapper>
1726
1754
  <ng-container *ngIf="!template">
1727
1755
  <span class="k-menu-link-text">{{ item.text }}</span>
1728
1756
  </ng-container>
1729
1757
  <ng-template *ngIf="template" [ngTemplateOutlet]="template" [ngTemplateOutletContext]="{ item: item, index: index }">
1730
1758
  </ng-template>
1731
- <span *ngIf="hasContent" class="k-menu-expand-arrow" role="presentation">
1732
- <span class="k-icon"
1733
- [class.k-i-arrow-60-down]="!horizontal"
1734
- [class.k-i-arrow-60-right]="horizontal && !rtl"
1735
- [class.k-i-arrow-60-left]="horizontal && rtl"
1736
- >
1737
- </span>
1738
- </span>
1759
+ <kendo-icon-wrapper *ngIf="hasContent" [name]="fontIcon(horizontal, rtl)" [svgIcon]="SVGIcon(horizontal, rtl)" class="k-menu-expand-arrow" role="presentation"></kendo-icon-wrapper>
1739
1760
  </ng-template>
1740
1761
  `
1741
1762
  }]
@@ -2073,44 +2094,33 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
2073
2094
  }] } });
2074
2095
 
2075
2096
  /**
2076
- * Represents a directive that can be used in the [`linkTemplate`]({% slug api_menu_itemlinktemplatedirective %})
2097
+ * Represents a component that can be used in the [`linkTemplate`]({% slug api_menu_itemlinktemplatedirective %})
2077
2098
  * of the items to render the default expand arrow.
2078
2099
  */
2079
- class ExpandArrowDirective {
2080
- constructor(itemsService, element, renderer) {
2100
+ class ExpandArrowComponent {
2101
+ constructor(itemsService) {
2081
2102
  this.itemsService = itemsService;
2082
- this.element = element;
2083
- this.renderer = renderer;
2084
2103
  this.hostClasses = true;
2085
2104
  this.role = 'presentation';
2086
2105
  }
2087
2106
  ngOnInit() {
2088
2107
  if (isDevMode() && !this.index) {
2089
- throw new Error('The kendoMenuExpandArrow directive requires the item index to be set.');
2108
+ throw new Error('The kendoMenuExpandArrow component requires the item index to be set.');
2090
2109
  }
2091
2110
  this.item = this.itemsService.get(this.index) || {};
2092
- this.createIconElement();
2093
- }
2094
- createIconElement() {
2095
- const iconClass = this.item.horizontal ?
2096
- this.item.rtl ?
2097
- 'k-i-arrow-60-left' :
2098
- 'k-i-arrow-60-right' :
2099
- 'k-i-arrow-60-down';
2100
- const iconElement = this.renderer.createElement('span');
2101
- this.renderer.addClass(iconElement, 'k-icon');
2102
- this.renderer.addClass(iconElement, iconClass);
2103
- this.renderer.appendChild(this.element.nativeElement, iconElement);
2111
+ this.fontIcon = getFontIcon(this.item.horizontal, this.item.rtl);
2112
+ this.SVGIcon = getSVGIcon(this.item.horizontal, this.item.rtl);
2104
2113
  }
2105
2114
  }
2106
- ExpandArrowDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ExpandArrowDirective, deps: [{ token: ItemsService }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
2107
- ExpandArrowDirectivedir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: ExpandArrowDirective, selector: "[kendoMenuExpandArrow]", inputs: { index: ["kendoMenuExpandArrow", "index"] }, host: { properties: { "class.k-menu-expand-arrow": "this.hostClasses", "attr.role": "this.role" } }, ngImport: i0 });
2108
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ExpandArrowDirective, decorators: [{
2109
- type: Directive,
2115
+ ExpandArrowComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ExpandArrowComponent, deps: [{ token: ItemsService }], target: i0.ɵɵFactoryTarget.Component });
2116
+ ExpandArrowComponentcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ExpandArrowComponent, selector: "[kendoMenuExpandArrow]", inputs: { index: ["kendoMenuExpandArrow", "index"] }, host: { properties: { "class.k-menu-expand-arrow": "this.hostClasses", "attr.role": "this.role" } }, ngImport: i0, template: `<kendo-icon-wrapper [name]="fontIcon" [svgIcon]="SVGIcon"></kendo-icon-wrapper>`, isInline: true, components: [{ type: i8.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }] });
2117
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ExpandArrowComponent, decorators: [{
2118
+ type: Component,
2110
2119
  args: [{
2111
- selector: '[kendoMenuExpandArrow]'
2120
+ selector: '[kendoMenuExpandArrow]',
2121
+ template: `<kendo-icon-wrapper [name]="fontIcon" [svgIcon]="SVGIcon"></kendo-icon-wrapper>`
2112
2122
  }]
2113
- }], ctorParameters: function () { return [{ type: ItemsService }, { type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { index: [{
2123
+ }], ctorParameters: function () { return [{ type: ItemsService }]; }, propDecorators: { index: [{
2114
2124
  type: Input,
2115
2125
  args: ['kendoMenuExpandArrow']
2116
2126
  }], hostClasses: [{
@@ -2374,7 +2384,7 @@ const COMPONENT_EXPORTS = [
2374
2384
  HierarchyBindingDirective,
2375
2385
  FlatBindingDirective,
2376
2386
  LinkDirective,
2377
- ExpandArrowDirective
2387
+ ExpandArrowComponent
2378
2388
  ];
2379
2389
  const COMPONENT_DIRECTIVES$1 = [
2380
2390
  ...COMPONENT_EXPORTS,
@@ -2424,8 +2434,8 @@ MenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13
2424
2434
  HierarchyBindingDirective,
2425
2435
  FlatBindingDirective,
2426
2436
  LinkDirective,
2427
- ExpandArrowDirective, ListComponent,
2428
- ItemComponent], imports: [PopupModule, CommonModule], exports: [MenuComponent,
2437
+ ExpandArrowComponent, ListComponent,
2438
+ ItemComponent], imports: [PopupModule, CommonModule, IconsModule], exports: [MenuComponent,
2429
2439
  MenuItemComponent,
2430
2440
  ItemTemplateDirective,
2431
2441
  ItemLinkTemplateDirective,
@@ -2433,14 +2443,14 @@ MenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13
2433
2443
  HierarchyBindingDirective,
2434
2444
  FlatBindingDirective,
2435
2445
  LinkDirective,
2436
- ExpandArrowDirective] });
2437
- MenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MenuModule, imports: [[PopupModule, CommonModule]] });
2446
+ ExpandArrowComponent] });
2447
+ MenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MenuModule, imports: [[PopupModule, CommonModule, IconsModule]] });
2438
2448
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MenuModule, decorators: [{
2439
2449
  type: NgModule,
2440
2450
  args: [{
2441
2451
  declarations: [COMPONENT_DIRECTIVES$1],
2442
2452
  exports: [COMPONENT_EXPORTS],
2443
- imports: [PopupModule, CommonModule]
2453
+ imports: [PopupModule, CommonModule, IconsModule]
2444
2454
  }]
2445
2455
  }] });
2446
2456
 
@@ -3119,5 +3129,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
3119
3129
  * Generated bundle index. Do not edit.
3120
3130
  */
3121
3131
 
3122
- export { ContextMenuComponent, ContextMenuEvent, ContextMenuModule, ContextMenuPopupEvent, ContextMenuSelectEvent, ContextMenuService, ContextMenuTargetContainerDirective, ContextMenuTargetDirective, ContextMenuTemplateDirective, ExpandArrowDirective, FlatBindingDirective, HierarchyBindingDirective, ItemComponent, ItemContentTemplateDirective, ItemLinkTemplateDirective, ItemTemplateDirective, ItemsService, LinkDirective, ListComponent, MenuComponent, MenuEvent, MenuItemComponent, MenuModule, MenuSelectEvent, MenusModule };
3132
+ export { ContextMenuComponent, ContextMenuEvent, ContextMenuModule, ContextMenuPopupEvent, ContextMenuSelectEvent, ContextMenuService, ContextMenuTargetContainerDirective, ContextMenuTargetDirective, ContextMenuTemplateDirective, ExpandArrowComponent, FlatBindingDirective, HierarchyBindingDirective, ItemComponent, ItemContentTemplateDirective, ItemLinkTemplateDirective, ItemTemplateDirective, ItemsService, LinkDirective, ListComponent, MenuComponent, MenuEvent, MenuItemComponent, MenuModule, MenuSelectEvent, MenusModule };
3123
3133
 
package/index.d.ts CHANGED
@@ -5,7 +5,7 @@
5
5
  export { MenuComponent } from './menu.component';
6
6
  export { ListComponent, ItemComponent } from './rendering/list.component';
7
7
  export { LinkDirective } from './rendering/link.directive';
8
- export { ExpandArrowDirective } from './rendering/arrow.directive';
8
+ export { ExpandArrowComponent } from './rendering/arrow.component';
9
9
  export { MenuItemComponent } from './menu-item.component';
10
10
  export { MenuAnimation } from './menu-animation.interface';
11
11
  export { MenuItem } from './menu-item.interface';
@@ -7,6 +7,7 @@ import { ItemTemplateDirective } from './templates/item-template.directive';
7
7
  import { ItemLinkTemplateDirective } from './templates/item-link-template.directive';
8
8
  import { ItemContentTemplateDirective } from './templates/item-content-template.directive';
9
9
  import { MenuItem } from './menu-item.interface';
10
+ import { SVGIcon } from '@progress/kendo-svg-icons';
10
11
  import * as i0 from "@angular/core";
11
12
  /**
12
13
  * A component that can be used to specify the Menu items
@@ -60,6 +61,7 @@ export declare class MenuItemComponent implements MenuItem {
60
61
  cssClass: any;
61
62
  cssStyle: any;
62
63
  icon: string;
64
+ svgIcon: SVGIcon;
63
65
  data: any;
64
66
  separator: boolean;
65
67
  /**
@@ -95,5 +97,5 @@ export declare class MenuItemComponent implements MenuItem {
95
97
  */
96
98
  get items(): any[];
97
99
  static ɵfac: i0.ɵɵFactoryDeclaration<MenuItemComponent, never>;
98
- static ɵcmp: i0.ɵɵComponentDeclaration<MenuItemComponent, "kendo-menu-item", never, { "text": "text"; "url": "url"; "disabled": "disabled"; "cssClass": "cssClass"; "cssStyle": "cssStyle"; "icon": "icon"; "data": "data"; "separator": "separator"; }, {}, ["itemTemplate", "itemLinkTemplate", "itemContentTemplate", "children"], never>;
100
+ static ɵcmp: i0.ɵɵComponentDeclaration<MenuItemComponent, "kendo-menu-item", never, { "text": "text"; "url": "url"; "disabled": "disabled"; "cssClass": "cssClass"; "cssStyle": "cssStyle"; "icon": "icon"; "svgIcon": "svgIcon"; "data": "data"; "separator": "separator"; }, {}, ["itemTemplate", "itemLinkTemplate", "itemContentTemplate", "children"], never>;
99
101
  }
@@ -3,6 +3,7 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { TemplateRef } from '@angular/core';
6
+ import { SVGIcon } from '@progress/kendo-angular-icons';
6
7
  /**
7
8
  * An interface for the Menu items.
8
9
  */
@@ -21,6 +22,11 @@ export interface MenuItem {
21
22
  * be rendered for the item ([see example]({% slug items_menu %}#toc-icon)).
22
23
  */
23
24
  icon?: string;
25
+ /**
26
+ * Defines an [`SVGIcon`](slug:api_icons_svgicon) that will be
27
+ * rendered for the item using a [`KendoSVGIcon`](slug:api_icons_svgiconcomponent) component.
28
+ */
29
+ svgIcon?: SVGIcon;
24
30
  /**
25
31
  * Specifies if the item is disabled ([see example]({% slug items_menu %}#toc-disabled-state)).
26
32
  */
package/menu.module.d.ts CHANGED
@@ -11,10 +11,11 @@ import * as i5 from "./templates/item-content-template.directive";
11
11
  import * as i6 from "./data-binding/hierachy-binding.directive";
12
12
  import * as i7 from "./data-binding/flat-binding.directive";
13
13
  import * as i8 from "./rendering/link.directive";
14
- import * as i9 from "./rendering/arrow.directive";
14
+ import * as i9 from "./rendering/arrow.component";
15
15
  import * as i10 from "./rendering/list.component";
16
16
  import * as i11 from "@progress/kendo-angular-popup";
17
17
  import * as i12 from "@angular/common";
18
+ import * as i13 from "@progress/kendo-angular-icons";
18
19
  /**
19
20
  * Represents the [NgModule](link:site.data.urls.angular['ngmoduleapi'])
20
21
  * definition for the Menu component.
@@ -49,6 +50,6 @@ import * as i12 from "@angular/common";
49
50
  */
50
51
  export declare class MenuModule {
51
52
  static ɵfac: i0.ɵɵFactoryDeclaration<MenuModule, never>;
52
- static ɵmod: i0.ɵɵNgModuleDeclaration<MenuModule, [typeof i1.MenuComponent, typeof i2.MenuItemComponent, typeof i3.ItemTemplateDirective, typeof i4.ItemLinkTemplateDirective, typeof i5.ItemContentTemplateDirective, typeof i6.HierarchyBindingDirective, typeof i7.FlatBindingDirective, typeof i8.LinkDirective, typeof i9.ExpandArrowDirective, typeof i10.ListComponent, typeof i10.ItemComponent], [typeof i11.PopupModule, typeof i12.CommonModule], [typeof i1.MenuComponent, typeof i2.MenuItemComponent, typeof i3.ItemTemplateDirective, typeof i4.ItemLinkTemplateDirective, typeof i5.ItemContentTemplateDirective, typeof i6.HierarchyBindingDirective, typeof i7.FlatBindingDirective, typeof i8.LinkDirective, typeof i9.ExpandArrowDirective]>;
53
+ static ɵmod: i0.ɵɵNgModuleDeclaration<MenuModule, [typeof i1.MenuComponent, typeof i2.MenuItemComponent, typeof i3.ItemTemplateDirective, typeof i4.ItemLinkTemplateDirective, typeof i5.ItemContentTemplateDirective, typeof i6.HierarchyBindingDirective, typeof i7.FlatBindingDirective, typeof i8.LinkDirective, typeof i9.ExpandArrowComponent, typeof i10.ListComponent, typeof i10.ItemComponent], [typeof i11.PopupModule, typeof i12.CommonModule, typeof i13.IconsModule], [typeof i1.MenuComponent, typeof i2.MenuItemComponent, typeof i3.ItemTemplateDirective, typeof i4.ItemLinkTemplateDirective, typeof i5.ItemContentTemplateDirective, typeof i6.HierarchyBindingDirective, typeof i7.FlatBindingDirective, typeof i8.LinkDirective, typeof i9.ExpandArrowComponent]>;
53
54
  static ɵinj: i0.ɵɵInjectorDeclaration<MenuModule>;
54
55
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-menu",
3
- "version": "11.0.0-develop.98",
3
+ "version": "11.0.0",
4
4
  "description": "Kendo UI Angular Menu component",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Progress",
@@ -23,14 +23,15 @@
23
23
  "@angular/core": "13 - 15",
24
24
  "@angular/platform-browser": "13 - 15",
25
25
  "@progress/kendo-licensing": "^1.0.2",
26
- "@progress/kendo-angular-common": "11.0.0-develop.98",
27
- "@progress/kendo-angular-l10n": "11.0.0-develop.98",
28
- "@progress/kendo-angular-popup": "11.0.0-develop.98",
29
- "@progress/kendo-angular-schematics": "11.0.0-develop.98",
26
+ "@progress/kendo-angular-common": "11.0.0",
27
+ "@progress/kendo-angular-l10n": "11.0.0",
28
+ "@progress/kendo-angular-icons": "11.0.0",
29
+ "@progress/kendo-angular-popup": "11.0.0",
30
30
  "rxjs": "^6.5.3 || ^7.0.0"
31
31
  },
32
32
  "dependencies": {
33
- "tslib": "^2.3.1"
33
+ "tslib": "^2.3.1",
34
+ "@progress/kendo-angular-schematics": "11.0.0"
34
35
  },
35
36
  "schematics": "./schematics/collection.json",
36
37
  "module": "fesm2015/progress-kendo-angular-menu.mjs",
@@ -2,17 +2,16 @@
2
2
  * Copyright © 2023 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- import { OnInit, ElementRef, Renderer2 } from '@angular/core';
5
+ import { OnInit } from '@angular/core';
6
+ import { SVGIcon } from '@progress/kendo-svg-icons';
6
7
  import { ItemsService } from '../services/items.service';
7
8
  import * as i0 from "@angular/core";
8
9
  /**
9
- * Represents a directive that can be used in the [`linkTemplate`]({% slug api_menu_itemlinktemplatedirective %})
10
+ * Represents a component that can be used in the [`linkTemplate`]({% slug api_menu_itemlinktemplatedirective %})
10
11
  * of the items to render the default expand arrow.
11
12
  */
12
- export declare class ExpandArrowDirective implements OnInit {
13
+ export declare class ExpandArrowComponent implements OnInit {
13
14
  private itemsService;
14
- private element;
15
- private renderer;
16
15
  /**
17
16
  * The index of the Menu item. The input is mandatory.
18
17
  */
@@ -20,9 +19,16 @@ export declare class ExpandArrowDirective implements OnInit {
20
19
  hostClasses: boolean;
21
20
  role: string;
22
21
  private item;
23
- constructor(itemsService: ItemsService, element: ElementRef, renderer: Renderer2);
22
+ /**
23
+ * @hidden
24
+ */
25
+ fontIcon: string;
26
+ /**
27
+ * @hidden
28
+ */
29
+ SVGIcon: SVGIcon;
30
+ constructor(itemsService: ItemsService);
24
31
  ngOnInit(): void;
25
- private createIconElement;
26
- static ɵfac: i0.ɵɵFactoryDeclaration<ExpandArrowDirective, never>;
27
- static ɵdir: i0.ɵɵDirectiveDeclaration<ExpandArrowDirective, "[kendoMenuExpandArrow]", never, { "index": "kendoMenuExpandArrow"; }, {}, never>;
32
+ static ɵfac: i0.ɵɵFactoryDeclaration<ExpandArrowComponent, never>;
33
+ static ɵcmp: i0.ɵɵComponentDeclaration<ExpandArrowComponent, "[kendoMenuExpandArrow]", never, { "index": "kendoMenuExpandArrow"; }, {}, never, never>;
28
34
  }
@@ -12,6 +12,7 @@ import { ActionsService } from '../services/actions.service';
12
12
  import { HoverService } from '../services/hover.service';
13
13
  import { ItemsService } from '../services/items.service';
14
14
  import { NavigationService } from '../services/navigation.service';
15
+ import { SVGIcon } from '@progress/kendo-svg-icons';
15
16
  import * as i0 from "@angular/core";
16
17
  /**
17
18
  * @hidden
@@ -88,6 +89,14 @@ export declare class ItemComponent {
88
89
  get menuListClasses(): string;
89
90
  get children(): any[];
90
91
  get template(): TemplateRef<any>;
92
+ /**
93
+ * @hidden
94
+ */
95
+ fontIcon: (horizontal: boolean, rtl: boolean) => string;
96
+ /**
97
+ * @hidden
98
+ */
99
+ SVGIcon: (horizontal: boolean, rtl: boolean) => SVGIcon;
91
100
  opened: boolean;
92
101
  navigating: boolean;
93
102
  childId: string;
@@ -2,8 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const schematics_1 = require("@angular-devkit/schematics");
4
4
  function default_1(options) {
5
- const finalOptions = Object.assign(Object.assign({}, options), { mainNgModule: 'MenuModule', package: 'menu' //package name, e.g grid
6
- });
5
+ const finalOptions = Object.assign(Object.assign({}, options), { mainNgModule: 'MenuModule', package: 'menu', peerDependencies: {
6
+ // Peer dependency of icons
7
+ '@progress/kendo-svg-icons': '^1.0.0'
8
+ } });
7
9
  return (0, schematics_1.externalSchematic)('@progress/kendo-angular-schematics', 'ng-add', finalOptions);
8
10
  }
9
11
  exports.default = default_1;
package/utils.d.ts CHANGED
@@ -3,6 +3,7 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { ElementRef } from '@angular/core';
6
+ import { SVGIcon } from '@progress/kendo-svg-icons';
6
7
  import { MenuSize } from './size';
7
8
  /**
8
9
  * @hidden
@@ -16,3 +17,11 @@ export declare const bodyFactory: () => ElementRef;
16
17
  * @hidden
17
18
  */
18
19
  export declare const getSizeClass: (size: MenuSize) => string;
20
+ /**
21
+ * @hidden
22
+ */
23
+ export declare const getFontIcon: (horizontal: boolean, rtl: boolean) => string;
24
+ /**
25
+ * @hidden
26
+ */
27
+ export declare const getSVGIcon: (horizontal: boolean, rtl: boolean) => SVGIcon;