New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@progress/kendo-angular-menu

Package Overview
Dependencies
Maintainers
1
Versions
878
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@progress/kendo-angular-menu - npm Package Compare versions

Comparing version 1.0.0 to 1.1.0-dev.201808141445

dist/es/context-menu/context-menu-event.js

4

dist/cdn/main.js

@@ -1,2 +0,2 @@

!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("tslib"),require("@angular/core"),require("@progress/kendo-angular-l10n"),require("@progress/kendo-angular-popup"),require("@angular/common")):"function"==typeof define&&define.amd?define(["tslib","@angular/core","@progress/kendo-angular-l10n","@progress/kendo-angular-popup","@angular/common"],t):"object"==typeof exports?exports.KendoAngularMenu=t(require("tslib"),require("@angular/core"),require("@progress/kendo-angular-l10n"),require("@progress/kendo-angular-popup"),require("@angular/common")):e.KendoAngularMenu=t(e.tslib,e["@angular/core"],e["@progress/kendo-angular-l10n"],e["@progress/kendo-angular-popup"],e["@angular/common"])}(this,function(e,t,n,i,o){return function(e){function t(i){if(n[i])return n[i].exports;var o=n[i]={exports:{},id:i,loaded:!1};return e[i].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(1);t.MenuComponent=i.MenuComponent;var o=n(17);t.ListComponent=o.ListComponent;var r=n(18);t.ItemComponent=r.ItemComponent;var a=n(21);t.LinkDirective=a.LinkDirective;var s=n(22);t.ExpandArrowDirective=s.ExpandArrowDirective;var c=n(10);t.MenuItemComponent=c.MenuItemComponent;var p=n(7);t.MenuEvent=p.MenuEvent;var l=n(23);t.MenuSelectEvent=l.MenuSelectEvent;var d=n(13);t.ItemContentTemplateDirective=d.ItemContentTemplateDirective;var u=n(11);t.ItemTemplateDirective=u.ItemTemplateDirective;var m=n(12);t.ItemLinkTemplateDirective=m.ItemLinkTemplateDirective;var h=n(24);t.HierarchyBindingDirective=h.HierarchyBindingDirective;var v=n(27);t.FlatBindingDirective=v.FlatBindingDirective;var f=n(28);t.MenuModule=f.MenuModule},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(4),a=n(5),s=n(6),c=n(8),p=n(9),l=n(10),d=n(11),u=n(12),m=n(14),h=n(15),v=function(){function e(e,t,n,i,r,a,s){this.itemsService=e,this.hover=t,this.actions=n,this.navigation=i,this.localization=r,this.ngZone=a,this.renderer=s,this.vertical=!1,this.openOnClick=!1,this.hoverDelay=100,this.animate=!0,this.select=new o.EventEmitter,this.open=new o.EventEmitter,this.close=new o.EventEmitter,this.actions.owner=this}return Object.defineProperty(e.prototype,"rootItems",{get:function(){return this.items||(this.children?this.children.toArray():[])},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"ariaOrientation",{get:function(){if(this.vertical)return"vertical"},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"direction",{get:function(){return this.rtl},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"rtl",{get:function(){return this.localization.rtl},enumerable:!0,configurable:!0}),e.prototype.toggle=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];for(var i=0;i<t.length;i++){var o=this.itemsService.get(t[i]);o&&!o.disabled&&(e?o.open():o.close())}},e.prototype.ngOnChanges=function(e){if(this.navigation.vertical=this.vertical,this.hover.delay=this.hoverDelay,e.openOnClick){var t=this.openOnClick=m.normalize(this.openOnClick);this.hover.openOnOver=!t,t&&"click"===t.toggle?this.attachCloseClick():this.unsubscribeClick()}},e.prototype.ngAfterViewChecked=function(){this.navigation.updateActive()},e.prototype.ngOnDestroy=function(){this.unsubscribeClick()},e.prototype.attachCloseClick=function(){var e=this;this.closeClickSubscription||"undefined"==typeof document||this.ngZone.runOutsideAngular(function(){e.closeClickSubscription=e.renderer.listen("document","click",function(t){h.inMenu(t.target,e.itemsService)||(e.hover.openOnOver=!1,e.actions.closeAll(),e.actions.execute())})})},e.prototype.unsubscribeClick=function(){this.closeClickSubscription&&this.closeClickSubscription()},i.__decorate([o.Input(),i.__metadata("design:type",Array)],e.prototype,"items",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Boolean)],e.prototype,"vertical",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],e.prototype,"openOnClick",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Number)],e.prototype,"hoverDelay",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],e.prototype,"animate",void 0),i.__decorate([o.Output(),i.__metadata("design:type",o.EventEmitter)],e.prototype,"select",void 0),i.__decorate([o.Output(),i.__metadata("design:type",o.EventEmitter)],e.prototype,"open",void 0),i.__decorate([o.Output(),i.__metadata("design:type",o.EventEmitter)],e.prototype,"close",void 0),i.__decorate([o.ContentChildren(d.ItemTemplateDirective),i.__metadata("design:type",o.QueryList)],e.prototype,"itemTemplate",void 0),i.__decorate([o.ContentChildren(u.ItemLinkTemplateDirective),i.__metadata("design:type",o.QueryList)],e.prototype,"itemLinkTemplate",void 0),i.__decorate([o.ContentChildren(l.MenuItemComponent),i.__metadata("design:type",o.QueryList)],e.prototype,"children",void 0),i.__decorate([o.HostBinding("class.k-rtl"),i.__metadata("design:type",Boolean),i.__metadata("design:paramtypes",[])],e.prototype,"direction",null),e=i.__decorate([o.Component({exportAs:"kendoMenu",providers:[a.ItemsService,s.ActionsService,c.NavigationService,p.HoverService,r.LocalizationService,{provide:r.L10N_PREFIX,useValue:"kendo.menu"}],selector:"kendo-menu",template:'\n <ul role="menubar"\n [attr.aria-orientation]="ariaOrientation"\n kendoMenuList [items]="rootItems" [level]="0" class="k-widget k-reset k-header k-menu"\n [vertical]="vertical" [rtl]="rtl" [animate]="animate" [openOnClick]="openOnClick"\n [itemTemplate]="itemTemplate.first?.templateRef"\n [itemLinkTemplate]="itemLinkTemplate.first?.templateRef"\n [class.k-menu-horizontal]="!vertical"\n [class.k-menu-vertical]="vertical">\n </ul>\n '}),i.__metadata("design:paramtypes",[a.ItemsService,p.HoverService,s.ActionsService,c.NavigationService,r.LocalizationService,o.NgZone,o.Renderer2])],e)}();t.MenuComponent=v},function(t,n){t.exports=e},function(e,n){e.exports=t},function(e,t){e.exports=n},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=/_?\d+$/,a="_",s=0,c=function(){function e(){this.items={},this.lists=[],this.idPrefix="k-menu"+s++}return Object.defineProperty(e.prototype,"hasItems",{get:function(){return Object.keys(this.items).length>0},enumerable:!0,configurable:!0}),e.prototype.childId=function(e){return this.idPrefix+"-child"+e},e.prototype.itemIndex=function(e,t){return(e?e+a:"")+t},e.prototype.get=function(e){return this.items[e]},e.prototype.add=function(e){this.items[e.index]=e},e.prototype.remove=function(e){delete this.items[e.index]},e.prototype.addList=function(e){this.lists.push(e)},e.prototype.removeList=function(e){var t=this.lists.indexOf(e);t>=0&&this.lists.splice(t,1)},e.prototype.containsList=function(e){return Boolean(this.lists.find(function(t){return t.element.nativeElement===e}))},e.prototype.siblings=function(e){var t=this,n=this.parentIndex(e.index);return this.filter(function(e){return t.parentIndex(e)===n})},e.prototype.otherSiblings=function(e){var t=this,n=this.parentIndex(e.index);return this.filter(function(i){return t.parentIndex(i)===n&&i!==e.index})},e.prototype.children=function(e){var t=this;return this.filter(function(n){return t.parentIndex(n)===e.index})},e.prototype.parent=function(e){return this.items[this.parentIndex(e.index)]},e.prototype.root=function(e){return this.items[this.indices(e.index)[0]]},e.prototype.indices=function(e){return e.split(a)},e.prototype.filter=function(e){var t=[],n=this.items;for(var i in n)e(i,n[i])&&t.push(i);return t.sort().map(function(e){return n[e]})},e.prototype.previous=function(e){var t=this.siblings(e),n=t.indexOf(e),i=0===n?t.length-1:n-1;return this.items[this.itemIndex(this.parentIndex(e.index),i)]},e.prototype.next=function(e){var t=this.siblings(e),n=t.indexOf(e),i=n===t.length-1?0:n+1;return this.items[this.itemIndex(this.parentIndex(e.index),i)]},e.prototype.hasParent=function(e,t){return e.index.startsWith(t.index)},e.prototype.areSiblings=function(e,t){return e!==t&&this.parent(e)===this.parent(t)},e.prototype.forEach=function(e){var t=this.items;for(var n in t)t.hasOwnProperty(n)&&e(t[n])},e.prototype.parentIndex=function(e){return e.replace(r,"")},e=i.__decorate([o.Injectable()],e)}();t.ItemsService=c},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(5),a=n(7),s=function(e){return e&&e.observers.length>0},c=function(e,t){return!("open"===t&&e.opened||"close"===t&&!e.opened)},p=function(){function e(e,t){this.ngZone=e,this.items=t,this.actions=[]}return e.prototype.open=function(e,t){e.disabled||(e.hasContent&&!e.opened?this.actions.push({name:"open",requiresZone:e.hasContentTemplates(),item:e,finished:t}):t&&t())},e.prototype.close=function(e){this.closeChildren(e),this.closeItem(e)},e.prototype.closeItem=function(e){e.opened&&this.actions.push({name:"close",item:e})},e.prototype.closeToRoot=function(e){this.closeChildren(e);var t=e;do this.closeItem(t),t=this.items.parent(t);while(t)},e.prototype.closeOthers=function(e){this.closeChildren(e);for(var t=e;t;){var n=this.items.otherSiblings(t);this.closeItems(n),t=this.items.parent(t)}},e.prototype.closeAll=function(){var e=this;this.items.forEach(function(t){t.opened&&0===t.level&&e.close(t)})},e.prototype.select=function(e,t,n,i){this.actions.push({name:"select",item:e,prevented:n,finished:i,domEvent:t})},e.prototype.emit=function(e,t,n){var i=new a.MenuEvent({sender:this.owner,item:t.item,index:t.index,originalEvent:n});return this.owner[e].emit(i),i.isDefaultPrevented()},Object.defineProperty(e.prototype,"hasPending",{get:function(){return this.actions.length>0},enumerable:!0,configurable:!0}),e.prototype.execute=function(e){var t=this;if(this.hasPending||e){var n=e||this.clear();!o.NgZone.isInAngularZone()&&this.requiresZone(n)?this.ngZone.run(function(){t.executeActions(n)}):this.executeActions(n)}},e.prototype.clear=function(){var e=this.actions;return this.actions=[],e},e.prototype.executeActions=function(e){for(var t=0;t<e.length;t++){var n=e[t],i=n.item,o=n.name,r=n.prevented,a=n.finished,s=n.domEvent;c(i,o)&&(this.emit(o,i,s)?r&&r():(i[o]&&i[o](),a&&a()))}},e.prototype.requiresZone=function(e){for(var t=e||this.actions,n=0;n<t.length;n++){var i=t[n];if(i.requiresZone||i.name&&s(this.owner[i.name]))return!0}return!1},e.prototype.closeChildren=function(e){if(e.opened){var t=this.items.children(e);this.closeItems(t)}},e.prototype.closeItems=function(e){for(var t=0;t<e.length;t++)this.close(e[t])},e=i.__decorate([o.Injectable(),i.__metadata("design:paramtypes",[o.NgZone,r.ItemsService])],e)}();t.ActionsService=p},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e){this.prevented=!1,Object.assign(this,e)}return e.prototype.preventDefault=function(){this.prevented=!0},e.prototype.isDefaultPrevented=function(){return this.prevented},e}();t.MenuEvent=n},function(e,t,n){"use strict";function i(e){return 1===e.length&&l.test(e)}Object.defineProperty(t,"__esModule",{value:!0});var o=n(2),r=n(3),a=n(4),s=n(5),c=n(6),p="0",l=/\S/,d={};d[37]="left",d[39]="right",d[38]="up",d[40]="down",d[36]="home",d[35]="end",d[32]="enter",d[13]="enter",d[27]="esc",d[9]="tab";var u=Object.assign({},d,{37:"right",39:"left"}),m=Promise.resolve(null),h=function(){function e(e,t,n,i){this.items=e,this.actions=t,this.localization=n,this.ngZone=i,this.vertical=!1,this.activeIndex=p}return Object.defineProperty(e.prototype,"focusedItem",{get:function(){return this.items.get(this.focusedIdx)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"activeItem",{get:function(){return this.items.get(this.activeIndex)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"handlers",{get:function(){return this.localization.rtl?u:d},enumerable:!0,configurable:!0}),e.prototype.focus=function(e){e.index!==this.focusedIdx&&(this.activeItem&&this.items.hasParent(e,this.activeItem)||this.setActive(e),this.setFocus(e))},e.prototype.setFocus=function(e){this.focusedIdx=e.index,e.focus()},e.prototype.focusLeave=function(){var e=this.focusedItem;e&&(this.actions.closeToRoot(e),this.actions.execute()),this.focusedIdx=null},e.prototype.updateActive=function(){var e=this;if(!this.activeItem&&this.items.hasItems){var t=this.items.get(p);t.toggleActive(!0),this.ngZone.runOutsideAngular(function(){m.then(function(){e.activeIndex=p})})}},e.prototype.keydown=function(e){var t=this.focusedItem||this.activeItem,n=this.handlers[e.keyCode];t&&(n?("tab"!==n&&e.preventDefault(),this[n](t,e)):i(e.key)&&this.search(t,e.key),this.actions.execute())},e.prototype.search=function(e,t){for(var n=this.items.siblings(e),i=n.indexOf(e),o=n.slice(i+1).concat(n.slice(0,i)),r=0;r<o.length;r++){var a=o[r],s=a.item.text||"";if(s.toLowerCase().startsWith(t.toLowerCase())){this.focus(a);break}}},e.prototype.down=function(e){0!==e.level||this.vertical?this.focus(this.items.next(e)):e.hasContent&&this.actions.open(e,this.focusChild(e,0))},e.prototype.up=function(e){0!==e.level||this.vertical?this.focus(this.items.previous(e)):e.hasContent&&this.actions.open(e,this.focusChild(e,e.children.length-1))},e.prototype.left=function(e){if(!this.vertical||0!==e.level||!e.disabled)if(e.level>1||this.vertical&&e.level>0){var t=this.items.parent(e);this.focus(t),this.actions.close(t)}else this.vertical&&0===e.level&&!e.disabled?e.hasContent&&this.actions.open(e,this.focusChild(e,e.children.length-1)):this.focus(this.items.previous(this.activeItem))},e.prototype.right=function(e){this.vertical&&0===e.level&&e.disabled||(e.horizontal&&!e.disabled?e.hasContent?this.actions.open(e,this.focusChild(e,0)):(!this.vertical||e.level>0)&&this.focus(this.items.next(this.activeItem)):this.focus(this.items.next(this.activeItem)))},e.prototype.home=function(e){var t=this.items.siblings(e);this.focus(t[0])},e.prototype.end=function(e){var t=this.items.siblings(e);this.focus(t[t.length-1])},e.prototype.enter=function(e,t){var n=this.actions;e.disabled||(e.hasContent?(n.select(e,t),n.open(e,this.focusChild(e,0))):(n.select(e,t,null,function(){e.navigate()}),this.focus(this.items.root(e)),n.closeToRoot(e)))},e.prototype.esc=function(e){if(e.level>0){var t=this.items.parent(e);this.actions.close(t),this.focus(t)}},e.prototype.tab=function(e){e.level>0&&this.activeItem.focus()},e.prototype.focusChild=function(e,t){var n=this;return function(){var i=n.items.children(e)[t];n.setFocus(i)}},e.prototype.setActive=function(e){var t=this.focusedItem,n=this.items.root(e);this.activeItem&&this.activeItem.toggleActive(!1),this.activeIndex=n.index,n.toggleActive(!0),t&&(this.actions.closeToRoot(t),t.level>0&&this.actions.open(n))},e=o.__decorate([r.Injectable(),o.__metadata("design:paramtypes",[s.ItemsService,c.ActionsService,a.LocalizationService,r.NgZone])],e)}();t.NavigationService=h},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(5),a=n(6),s=500,c=function(){function e(e,t){this.actions=e,this.items=t,this.delay=100,this._openOnOver=!0,this.scheduled=[]}return Object.defineProperty(e.prototype,"openOnOver",{get:function(){return this._openOnOver},set:function(e){this.cancelActions(),this._openOnOver=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hovered",{get:function(){return this.items.get(this.hoveredIdx)},set:function(e){this.hoveredIdx=e?e.index:null},enumerable:!0,configurable:!0}),e.prototype.ngOnDestroy=function(){this.cancelActions()},e.prototype.over=function(e){var t=this;this.cancelActions(function(e){return"openOnOver"===e.name}),this.hovered&&this.hovered===e||(this.actions.closeOthers(e),this.hovered=e,(e.level>0||this.openOnOver)&&!e.disabled&&(this.actions.open(e),this.cancelActions(function(n){return"close"===n.name&&(e===n.item||t.items.hasParent(e,n.item))||"open"===n.name&&!t.items.hasParent(e,n.item)})),this.scheduleActions())},e.prototype.leave=function(e){var t=this.hovered;t&&(this.actions.closeToRoot(t),this.cancelActions(function(e){return"open"===e.name}),this.scheduleActions()),e&&this._openOnOver&&this.scheduleDisableOpenOnOver(),this.hovered=null},e.prototype.closeCurrent=function(){var e=this.hovered;e&&(this.actions.closeToRoot(e),this.hovered=null)},e.prototype.scheduleActions=function(){var e=this;if(this.actions.hasPending){var t={};t.actions=this.actions.clear(),t.id=setTimeout(function(){e.actions.execute(t.actions),e.removeScheduled(t)},this.delay),this.scheduled.push(t)}},e.prototype.scheduleDisableOpenOnOver=function(){var e=this,t={actions:[{name:"openOnOver"}]};t.id=setTimeout(function(){e._openOnOver=!1,e.removeScheduled(t)},Math.max(this.delay,s)),this.scheduled.push(t)},e.prototype.removeScheduled=function(e){for(var t=this.scheduled,n=0;n<t.length;n++)if(t[n]===e)return void t.splice(n,1)},e.prototype.cancelActions=function(e){for(var t=this.scheduled,n=t.length-1;n>=0;n--){var i=t[n],o=i.actions;if(e)for(var r=o.length-1;r>=0;r--)e(o[r])&&o.splice(r,1);e&&0!==o.length||(clearTimeout(i.id),t.splice(n,1))}},e=i.__decorate([o.Injectable(),i.__metadata("design:paramtypes",[a.ActionsService,r.ItemsService])],e)}();t.HoverService=c},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(11),a=n(12),s=n(13),c=function(){function e(){}return t=e,Object.defineProperty(e.prototype,"template",{get:function(){if(this.itemTemplate&&this.itemTemplate.length)return this.itemTemplate.first.templateRef},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"linkTemplate",{get:function(){if(this.itemLinkTemplate&&this.itemLinkTemplate.length)return this.itemLinkTemplate.first.templateRef},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"contentTemplate",{get:function(){if(this.itemContentTemplate&&this.itemContentTemplate.length)return this.itemContentTemplate.first.templateRef},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"items",{get:function(){if(this.children.length)return this.children.toArray().slice(1)},enumerable:!0,configurable:!0}),i.__decorate([o.Input(),i.__metadata("design:type",String)],e.prototype,"text",void 0),i.__decorate([o.Input(),i.__metadata("design:type",String)],e.prototype,"url",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Boolean)],e.prototype,"disabled",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],e.prototype,"cssClass",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],e.prototype,"cssStyle",void 0),i.__decorate([o.Input(),i.__metadata("design:type",String)],e.prototype,"icon",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],e.prototype,"data",void 0),i.__decorate([o.ContentChildren(r.ItemTemplateDirective),i.__metadata("design:type",o.QueryList)],e.prototype,"itemTemplate",void 0),i.__decorate([o.ContentChildren(a.ItemLinkTemplateDirective),i.__metadata("design:type",o.QueryList)],e.prototype,"itemLinkTemplate",void 0),i.__decorate([o.ContentChildren(s.ItemContentTemplateDirective),i.__metadata("design:type",o.QueryList)],e.prototype,"itemContentTemplate",void 0),i.__decorate([o.ContentChildren(t),i.__metadata("design:type",o.QueryList)],e.prototype,"children",void 0),e=t=i.__decorate([o.Component({selector:"kendo-menu-item",template:""})],e);var t}();t.MenuItemComponent=c},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=function(){function e(e){this.templateRef=e}return e=i.__decorate([o.Directive({selector:"[kendoMenuItemTemplate]"}),i.__param(0,o.Optional()),i.__metadata("design:paramtypes",[o.TemplateRef])],e)}();t.ItemTemplateDirective=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=function(){function e(e){this.templateRef=e}return e=i.__decorate([o.Directive({selector:"[kendoMenuItemLinkTemplate]"}),i.__param(0,o.Optional()),i.__metadata("design:paramtypes",[o.TemplateRef])],e)}();t.ItemLinkTemplateDirective=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=function(){function e(e){this.templateRef=e}return e=i.__decorate([o.Directive({selector:"[kendoMenuItemContentTemplate]"}),i.__param(0,o.Optional()),i.__metadata("design:paramtypes",[o.TemplateRef])],e)}();t.ItemContentTemplateDirective=r},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.normalize=function(e){return e&&Object.assign({toggle:"select"},e)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(16),o=/^(?:a|input|select|option|textarea|button|object)$/i;t.closest=function(e,t){for(;e&&!t(e);)e=e.parentNode;return e},t.closestInScope=function(e,t,n){for(;e&&e!==n&&!t(e);)e=e.parentNode;if(e!==n)return e},t.isFocusable=function(e){if(e.tagName){var t=e.tagName.toLowerCase(),n=e.getAttribute("tabIndex"),i="-1"===n,r=null!==n&&!i;return o.test(t)&&(r=!e.disabled&&!i),r}return!1};var r=function(e){return String(e).trim().split(" ")};t.hasClass=function(e,t){return r(e.className).indexOf(t)>=0},t.matchesClasses=function(e){var t=r(e);return function(e){var n=r(e.className);return Boolean(t.find(function(e){return n.indexOf(e)>=0}))}},t.nodeIndex=function(e){return e.getAttribute(i.NODE_INDEX)},t.closestItem=function(e,n){return t.closestInScope(e,t.nodeIndex,n)},t.closestList=function(e){var n=t.closest(e,t.matchesClasses("k-menu-popup k-menu k-menu-group"));return n&&t.hasClass(n,"k-menu-popup")&&(n=n.querySelector(".k-menu-group")),n},t.inMenu=function(e,n){if(e===n.lists[0].element.nativeElement)return!1;var i=t.closestList(e);return i&&n.containsList(i)}},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NODE_INDEX="data-kendo-menu-index"},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(5),a=n(6),s=n(8),c=n(9),p=n(16),l=n(15),d=function(){function e(e,t,n,i,o,r,a){this.itemsService=e,this.hover=t,this.actions=n,this.navigation=i,this.renderer=o,this.ngZone=r,this.element=a,this.animate=!0}return e.prototype.hierarchyIndex=function(e){return this.itemsService.itemIndex(this.index,e)},e.prototype.ngOnInit=function(){this.itemsService.addList(this),this.initDomEvents()},e.prototype.ngOnDestroy=function(){this.itemsService.removeList(this),this.domSubscriptions&&this.domSubscriptions()},e.prototype.initDomEvents=function(){var e=this;this.element&&this.ngZone.runOutsideAngular(function(){var t=e.element.nativeElement,n=e.level>0?l.closest(t,function(e){return l.hasClass(e,"k-menu-popup")}):t,i=e.renderer.listen(t,"mouseover",function(n){if(n.target===t&&0===e.level)e.onLeave();else{var i=e.nodeItem(n.target)||e.itemsService.get(e.index);!i||e.openOnClick&&"click"===e.openOnClick.toggle&&0===i.level&&!i.hasContent||e.hover.over(i)}}),o=e.renderer.listen(n,"mouseleave",function(t){e.leavesMenu(t)&&e.onLeave()}),r=e.renderer.listen(t,"keydown",function(t){l.hasClass(t.target,"k-menu-item")&&e.navigation.keydown(t)}),a=e.renderer.listen(t,"focusout",function(t){e.leavesMenu(t)&&e.navigation.focusLeave()}),s=e.renderer.listen(t,"click",e.clickHandler.bind(e));e.domSubscriptions=function(){i(),o(),r(),a(),s()}})},e.prototype.leavesMenu=function(e){return!e.relatedTarget||!l.inMenu(e.relatedTarget,this.itemsService)},e.prototype.onLeave=function(){var e=this.openOnClick;e&&"click"===e.toggle||this.hover.leave(e&&"leave"===e.toggle)},e.prototype.nodeItem=function(e){var t=l.closestItem(e,this.element.nativeElement);if(t){var n=l.nodeIndex(t);return this.itemsService.get(n)}},e.prototype.clickHandler=function(e){if(!l.isFocusable(e.target)||l.hasClass(e.target,"k-menu-item")){var t=this.nodeItem(e.target);if(t&&!t.isContent&&!t.navigating){if(t.disabled)return void e.preventDefault();if(this.actions.select(t,e,function(){e.preventDefault()}),this.navigation.focus(t),t.level>0&&!t.hasContent&&this.actions.closeToRoot(t),this.openOnClick){var n=this.hover;t.opened?0===t.level&&(n.openOnOver=!1,this.actions.close(t)):t.hasContent?(n.openOnOver=!0,this.actions.closeOthers(t),this.actions.open(t)):(n.openOnOver=!1,0===t.level&&"click"===this.openOnClick.toggle&&this.hover.closeCurrent())}this.actions.execute()}}},i.__decorate([o.Input(),i.__metadata("design:type",Array)],e.prototype,"items",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Number)],e.prototype,"level",void 0),i.__decorate([o.Input(),i.__metadata("design:type",String)],e.prototype,"index",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],e.prototype,"animate",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Boolean)],e.prototype,"vertical",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Boolean)],e.prototype,"rtl",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],e.prototype,"openOnClick",void 0),i.__decorate([o.Input(),i.__metadata("design:type",o.TemplateRef)],e.prototype,"itemTemplate",void 0),i.__decorate([o.Input(),i.__metadata("design:type",o.TemplateRef)],e.prototype,"itemLinkTemplate",void 0),e=i.__decorate([o.Component({selector:"[kendoMenuList]",template:'\n <li *ngFor="let item of items; let idx = index" kendoMenuItem\n [item]="item" [level]="level" [vertical]="vertical" [animate]="animate" [rtl]="rtl"\n [itemTemplate]="itemTemplate" [itemLinkTemplate]="itemLinkTemplate" [openOnClick]="openOnClick"\n [index]="hierarchyIndex(idx)" [attr.'+p.NODE_INDEX+']="hierarchyIndex(idx)"\n [ngClass]="item.cssClass" [ngStyle]="item.cssStyle"\n role="menuitem"\n class="k-item k-menu-item"\n [class.k-first]="idx === 0" [class.k-last]="idx === items.length - 1"\n [class.k-state-disabled]="item.disabled"></li>\n '}),i.__metadata("design:paramtypes",[r.ItemsService,c.HoverService,a.ActionsService,s.NavigationService,o.Renderer2,o.NgZone,o.ElementRef])],e)}();t.ListComponent=d},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(5),a=n(8),s=n(19),c=n(20);t.bodyFactory=function(){if("undefined"!=typeof document)return new o.ElementRef(document.body)};var p=function(){function e(e,t,n,i,o,r){this.itemsService=e,this.navigation=t,this.changeDetector=n,this.renderer=i,this.popupService=o,this.element=r,this.animate=!0,this.openOnClick=!1,this.opened=!1,this.navigating=!1,this.destroyed=!1}return Object.defineProperty(e.prototype,"index",{get:function(){return this._index},set:function(e){this._index&&this._index!==e?(this.itemsService.remove(this),this._index=e,this.itemsService.add(this)):this._index=e,this.childId=this.itemsService.childId(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"disabled",{get:function(){return this.item.disabled},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hasPopup",{get:function(){return!!this.hasContent||null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"expanded",{get:function(){return this.hasContent?this.opened:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"label",{get:function(){return this.item.text?this.item.text:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"activeId",{get:function(){return this.index===this.navigation.activeIndex?"0":"-1"},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"popupSettings",{get:function(){var e=this.rtl?s.POPUP_SETTINGS_RTL:s.POPUP_SETTINGS;return this.horizontal?e.horizontal:e.vertical},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"horizontal",{get:function(){return this.vertical||this.level>0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hasLink",{get:function(){return Boolean(this.item.url)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"linkTemplate",{get:function(){return this.item.linkTemplate||this.itemLinkTemplate},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hasContent",{get:function(){var e=this.item.items;return e&&e.length||this.item.contentTemplate},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isContent",{get:function(){return Boolean(this.item.content)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"iconClass",{get:function(){return"k-i-"+this.item.icon},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"children",{get:function(){var e=this.item;return e.contentTemplate?(this.contentItems||(this.contentItems=[{content:e.contentTemplate,owner:e,ownerIndex:this.index}]),this.contentItems):e.items},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"template",{get:function(){return this.item.template||this.itemTemplate},enumerable:!0,configurable:!0}),e.prototype.hasContentTemplates=function(){var e=this.item;return this.itemTemplate||e.contentTemplate||this.itemLinkTemplate||e.items&&e.items.find(function(e){return e.template||e.linkTemplate})},e.prototype.ngOnInit=function(){this.itemsService.add(this)},e.prototype.ngOnDestroy=function(){this.itemsService.remove(this),this.destroyed=!0,this.popupRef&&(this.popupRef.close(),this.popupRef=null)},e.prototype.focus=function(){this.element.nativeElement.focus()},e.prototype.toggleActive=function(e){e?this.setAttribute("tabindex","0"):this.setAttribute("tabindex","-1")},e.prototype.open=function(){if(!this.destroyed&&this.hasContent&&!this.opened){var e=this.popupSettings,t=!!this.animate&&Object.assign({},this.animate,{direction:e.animate});this.opened=!0,this.popupRef=this.popupService.open({popupAlign:e.popup,anchorAlign:e.anchor,collision:e.collision,anchor:this.element,positionMode:"absolute",content:this.popupTemplate,popupClass:{"k-rtl":this.rtl,"k-menu-popup":!0},animate:t}),this.setAttribute("aria-expanded","true"),this.setAttribute("aria-owns",this.childId),this.changeDetector.detectChanges()}},e.prototype.close=function(){!this.destroyed&&this.opened&&(this.opened=!1,this.popupRef&&(this.popupRef.close(),this.popupRef=null),this.changeDetector.detectChanges(),this.setAttribute("aria-expanded","false"),this.renderer.removeAttribute(this.element.nativeElement,"aria-owns"))},e.prototype.navigate=function(){var e;this.linkTemplate?e=this.element.nativeElement.querySelector("a.k-menu-link"):this.hasLink&&(e=this.link.nativeElement),e&&(this.navigating=!0,e.click(),this.navigating=!1)},e.prototype.setAttribute=function(e,t){this.renderer.setAttribute(this.element.nativeElement,e,t)},i.__decorate([o.Input(),i.__metadata("design:type",Object)],e.prototype,"item",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Number)],e.prototype,"level",void 0),i.__decorate([o.Input(),i.__metadata("design:type",String),i.__metadata("design:paramtypes",[String])],e.prototype,"index",null),i.__decorate([o.Input(),i.__metadata("design:type",Object)],e.prototype,"animate",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Boolean)],e.prototype,"vertical",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Boolean)],e.prototype,"rtl",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Boolean)],e.prototype,"openOnClick",void 0),i.__decorate([o.Input(),i.__metadata("design:type",o.TemplateRef)],e.prototype,"itemTemplate",void 0),i.__decorate([o.Input(),i.__metadata("design:type",o.TemplateRef)],e.prototype,"itemLinkTemplate",void 0),i.__decorate([o.ViewChild("link"),i.__metadata("design:type",o.ElementRef)],e.prototype,"link",void 0),i.__decorate([o.ViewChild("popupTemplate"),i.__metadata("design:type",o.TemplateRef)],e.prototype,"popupTemplate",void 0),i.__decorate([o.HostBinding("attr.aria-disabled"),i.__metadata("design:type",Boolean),i.__metadata("design:paramtypes",[])],e.prototype,"disabled",null),i.__decorate([o.HostBinding("attr.aria-haspopup"),i.__metadata("design:type",Boolean),i.__metadata("design:paramtypes",[])],e.prototype,"hasPopup",null),
i.__decorate([o.HostBinding("attr.aria-expanded"),i.__metadata("design:type",Boolean),i.__metadata("design:paramtypes",[])],e.prototype,"expanded",null),i.__decorate([o.HostBinding("attr.aria-label"),i.__metadata("design:type",Boolean),i.__metadata("design:paramtypes",[])],e.prototype,"label",null),i.__decorate([o.HostBinding("attr.tabindex"),i.__metadata("design:type",String),i.__metadata("design:paramtypes",[])],e.prototype,"activeId",null),e=i.__decorate([o.Component({providers:[c.PopupService,{provide:c.POPUP_CONTAINER,useFactory:t.bodyFactory}],selector:"[kendoMenuItem]",template:'\n <span *ngIf="!hasLink && !item.content && !linkTemplate" class="k-link k-menu-link" #link\n [class.k-state-active]="opened" role="presentation">\n <ng-template [ngTemplateOutlet]="itemcontent">\n </ng-template>\n </span>\n <a *ngIf="item.url && !linkTemplate" class="k-link k-menu-link" #link [attr.href]="item.url"\n [class.k-state-active]="opened" tabindex="-1" role="presentation">\n <ng-template [ngTemplateOutlet]="itemcontent">\n </ng-template>\n </a>\n <ng-template *ngIf="linkTemplate && !item.content" [ngTemplateOutlet]="linkTemplate"\n [ngTemplateOutletContext]="{ item: item, index: index }">\n </ng-template>\n\n <div class="k-content" *ngIf="item.content" role="presentation">\n <ng-template [ngTemplateOutlet]="item.content" [ngTemplateOutletContext]="{ item: item.owner, index: item.ownerIndex }">\n </ng-template>\n </div>\n\n <ng-template #popupTemplate>\n <ul kendoMenuList\n [attr.id]="childId"\n [animate]="animate"\n [rtl]="rtl"\n [vertical]="vertical"\n [openOnClick]="openOnClick"\n [items]="children"\n [level]="level + 1"\n [index]="index"\n [itemTemplate]="itemTemplate"\n [itemLinkTemplate]="itemLinkTemplate"\n role="menu"\n class="k-group k-menu-group k-reset">\n </ul>\n </ng-template>\n\n <ng-template #itemcontent>\n <span *ngIf="item.icon" class="k-icon" [ngClass]="iconClass" role="presentation"></span>\n <ng-container *ngIf="!template">\n {{ item.text }}\n </ng-container>\n <ng-template *ngIf="template" [ngTemplateOutlet]="template" [ngTemplateOutletContext]="{ item: item, index: index }">\n </ng-template>\n <span class="k-icon k-menu-expand-arrow" *ngIf="hasContent"\n role="presentation"\n [class.k-i-arrow-60-down]="!horizontal"\n [class.k-i-arrow-60-right]="horizontal && !rtl"\n [class.k-i-arrow-60-left]="horizontal && rtl">\n </span>\n </ng-template>\n '}),i.__metadata("design:paramtypes",[r.ItemsService,a.NavigationService,o.ChangeDetectorRef,o.Renderer2,c.PopupService,o.ElementRef])],e)}();t.ItemComponent=p},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n={vertical:"top",horizontal:"left"},i={vertical:"top",horizontal:"right"},o={vertical:"flip",horizontal:"fit"},r={vertical:"fit",horizontal:"flip"};t.POPUP_SETTINGS_RTL={vertical:{anchor:{vertical:"bottom",horizontal:"right"},popup:i,collision:o,animate:"down"},horizontal:{anchor:{vertical:"top",horizontal:"left"},popup:i,collision:r,animate:"left"}},t.POPUP_SETTINGS={vertical:{anchor:{vertical:"bottom",horizontal:"left"},popup:n,collision:o,animate:"down"},horizontal:{anchor:{vertical:"top",horizontal:"right"},popup:n,collision:r,animate:"right"}}},function(e,t){e.exports=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(5),a=function(){function e(e){this.itemsService=e,this.hostClasses=!0,this.role="presentation",this.tabindex="-1"}return Object.defineProperty(e.prototype,"activeClass",{get:function(){return this.item.opened},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){if(o.isDevMode()&&!this.index)throw new Error("The kendoMenuItemLink directive requires the item index to be set.");this.item=this.itemsService.get(this.index)||{}},i.__decorate([o.Input("kendoMenuItemLink"),i.__metadata("design:type",String)],e.prototype,"index",void 0),i.__decorate([o.HostBinding("class.k-link"),o.HostBinding("class.k-menu-link"),i.__metadata("design:type",Boolean)],e.prototype,"hostClasses",void 0),i.__decorate([o.HostBinding("attr.role"),i.__metadata("design:type",String)],e.prototype,"role",void 0),i.__decorate([o.HostBinding("attr.tabindex"),i.__metadata("design:type",String)],e.prototype,"tabindex",void 0),i.__decorate([o.HostBinding("class.k-state-active"),i.__metadata("design:type",Boolean),i.__metadata("design:paramtypes",[])],e.prototype,"activeClass",null),e=i.__decorate([o.Directive({selector:"[kendoMenuItemLink]"}),i.__metadata("design:paramtypes",[r.ItemsService])],e)}();t.LinkDirective=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(5),a=function(){function e(e){this.itemsService=e,this.hostClasses=!0,this.role="presentation"}return Object.defineProperty(e.prototype,"arrowDown",{get:function(){return!this.item.horizontal},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"arrowRight",{get:function(){return this.item.horizontal&&!this.item.rtl},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"arrowLeft",{get:function(){return this.item.horizontal&&this.item.rtl},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){if(o.isDevMode()&&!this.index)throw new Error("The kendoMenuExpandArrow directive requires the item index to be set.");this.item=this.itemsService.get(this.index)||{}},i.__decorate([o.Input("kendoMenuExpandArrow"),i.__metadata("design:type",String)],e.prototype,"index",void 0),i.__decorate([o.HostBinding("class.k-icon"),o.HostBinding("class.k-menu-expand-arrow"),i.__metadata("design:type",Boolean)],e.prototype,"hostClasses",void 0),i.__decorate([o.HostBinding("attr.role"),i.__metadata("design:type",String)],e.prototype,"role",void 0),i.__decorate([o.HostBinding("class.k-i-arrow-60-down"),i.__metadata("design:type",Boolean),i.__metadata("design:paramtypes",[])],e.prototype,"arrowDown",null),i.__decorate([o.HostBinding("class.k-i-arrow-60-right"),i.__metadata("design:type",Boolean),i.__metadata("design:paramtypes",[])],e.prototype,"arrowRight",null),i.__decorate([o.HostBinding("class.k-i-arrow-60-left"),i.__metadata("design:type",Boolean),i.__metadata("design:paramtypes",[])],e.prototype,"arrowLeft",null),e=i.__decorate([o.Directive({selector:"[kendoMenuExpandArrow]"}),i.__metadata("design:paramtypes",[r.ItemsService])],e)}();t.ExpandArrowDirective=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(7),r=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i.__extends(t,e),t}(o.MenuEvent);t.MenuSelectEvent=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(1),a=n(25),s=n(26),c=function(e,t){return Array.isArray(e)?e[t]||s.last(e):e},p=function(e){function t(t){return e.call(this,t)||this}return i.__extends(t,e),t.prototype.mapItems=function(e,t){var n=this;return void 0===t&&(t=0),e.map(function(e){var i=n.createItem(e,t),o=n.getChildren(e,t);return o&&(i.items=n.mapItems(o,t+1)),i})},t.prototype.createItem=function(e,t){for(var n={data:e},i=this.fields,o=0;o<i.length;o++){var r=i[o],a=r.target,p=r.source;n[a]=s.getter(c(p,t))(e)}return n},t.prototype.getChildren=function(e,t){if(this.childrenField){var n=c(this.childrenField,t);return e[n]}},i.__decorate([o.Input("kendoMenuHierarchyBinding"),i.__metadata("design:type",Array)],t.prototype,"data",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],t.prototype,"textField",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],t.prototype,"urlField",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],t.prototype,"iconField",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],t.prototype,"disabledField",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],t.prototype,"cssClassField",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],t.prototype,"cssStyleField",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],t.prototype,"childrenField",void 0),t=i.__decorate([o.Directive({exportAs:"kendoMenuHierarchyBinding",selector:"[kendoMenuHierarchyBinding]"}),i.__metadata("design:paramtypes",[r.MenuComponent])],t)}(a.BindingDirectiveBase);t.HierarchyBindingDirective=p},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=["textField","urlField","iconField","disabledField","cssClassField","cssStyleField"],i=function(){function e(e){this.menu=e}return e.prototype.ngOnChanges=function(){this.rebind()},e.prototype.rebind=function(){for(var e=this.fields=[],t=0;t<n.length;t++){var i=n[t],o=this[i];o&&e.push({target:i.replace("Field",""),source:o})}this.menu.items=this.data?this.mapItems(this.data):[]},e}();t.BindingDirectiveBase=i},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=/\[(?:(\d+)|['"](.*?)['"])\]|((?:(?!\[.*?\]|\.).)+)/g,i={};i.undefined=function(e){return e},t.getter=function(e){if(i[e])return i[e];var t=[];return e.replace(n,function(e,n,i,o){t.push(void 0!==n?n:i||o)}),i[e]=function(e){for(var n=e,i=0;i<t.length&&n;i++)n=n[t[i]];return n},i[e]},t.last=function(e){return e[e.length-1]}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(1),a=n(25),s=n(26),c=function(e){function t(t){return e.call(this,t)||this}return i.__extends(t,e),t.prototype.mapItems=function(e){var t=this;if(!this.idField||!this.parentIdField)return e.map(function(e){return t.createItem(e)});for(var n=[],i={},o=0;o<e.length;o++){var r=e[o],a=this.createItem(r),c=s.getter(this.idField)(r),p=s.getter(this.parentIdField)(r);if(null===p||void 0===p)n.push(a);else{var l=i[p]=i[p]||{};l.items=l.items||[],l.items.push(a)}i[c]&&(a.items=i[c].items),i[c]=a}return n},t.prototype.createItem=function(e){for(var t={data:e},n=this.fields,i=0;i<n.length;i++){var o=n[i],r=o.source,a=o.target;t[a]=s.getter(r)(e)}return t},i.__decorate([o.Input("kendoMenuFlatBinding"),i.__metadata("design:type",Array)],t.prototype,"data",void 0),i.__decorate([o.Input(),i.__metadata("design:type",String)],t.prototype,"textField",void 0),i.__decorate([o.Input(),i.__metadata("design:type",String)],t.prototype,"urlField",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],t.prototype,"iconField",void 0),i.__decorate([o.Input(),i.__metadata("design:type",String)],t.prototype,"disabledField",void 0),i.__decorate([o.Input(),i.__metadata("design:type",String)],t.prototype,"cssClassField",void 0),i.__decorate([o.Input(),i.__metadata("design:type",String)],t.prototype,"cssStyleField",void 0),i.__decorate([o.Input(),i.__metadata("design:type",String)],t.prototype,"idField",void 0),i.__decorate([o.Input(),i.__metadata("design:type",String)],t.prototype,"parentIdField",void 0),t=i.__decorate([o.Directive({exportAs:"kendoMenuFlatBinding",selector:"[kendoMenuFlatBinding]"}),i.__metadata("design:paramtypes",[r.MenuComponent])],t)}(a.BindingDirectiveBase);t.FlatBindingDirective=c},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(29),a=n(20),s=n(1),c=n(10),p=n(17),l=n(18),d=n(21),u=n(22),m=n(11),h=n(12),v=n(13),f=n(24),g=n(27),_=[s.MenuComponent,c.MenuItemComponent,m.ItemTemplateDirective,h.ItemLinkTemplateDirective,v.ItemContentTemplateDirective,f.HierarchyBindingDirective,g.FlatBindingDirective,d.LinkDirective,u.ExpandArrowDirective],y=_.concat([p.ListComponent,l.ItemComponent]),b=function(){function e(){}return e=i.__decorate([o.NgModule({declarations:[y],exports:[_],imports:[a.PopupModule,r.CommonModule]})],e)}();t.MenuModule=b},function(e,t){e.exports=o}])});
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("tslib"),require("@angular/core"),require("@progress/kendo-angular-l10n"),require("@progress/kendo-angular-popup"),require("@angular/common")):"function"==typeof define&&define.amd?define(["tslib","@angular/core","@progress/kendo-angular-l10n","@progress/kendo-angular-popup","@angular/common"],t):"object"==typeof exports?exports.KendoAngularMenu=t(require("tslib"),require("@angular/core"),require("@progress/kendo-angular-l10n"),require("@progress/kendo-angular-popup"),require("@angular/common")):e.KendoAngularMenu=t(e.tslib,e["@angular/core"],e["@progress/kendo-angular-l10n"],e["@progress/kendo-angular-popup"],e["@angular/common"])}(this,function(e,t,n,i,o){return function(e){function t(i){if(n[i])return n[i].exports;var o=n[i]={exports:{},id:i,loaded:!1};return e[i].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(1);t.MenuComponent=i.MenuComponent;var o=n(21);t.ListComponent=o.ListComponent;var r=n(22);t.ItemComponent=r.ItemComponent;var a=n(25);t.LinkDirective=a.LinkDirective;var s=n(26);t.ExpandArrowDirective=s.ExpandArrowDirective;var p=n(17);t.MenuItemComponent=p.MenuItemComponent;var c=n(7);t.MenuEvent=c.MenuEvent;var u=n(27);t.MenuSelectEvent=u.MenuSelectEvent;var l=n(20);t.ItemContentTemplateDirective=l.ItemContentTemplateDirective;var d=n(18);t.ItemTemplateDirective=d.ItemTemplateDirective;var m=n(19);t.ItemLinkTemplateDirective=m.ItemLinkTemplateDirective;var h=n(28);t.HierarchyBindingDirective=h.HierarchyBindingDirective;var v=n(31);t.FlatBindingDirective=v.FlatBindingDirective;var f=n(32);t.MenuModule=f.MenuModule;var _=n(34);t.ContextMenuEvent=_.ContextMenuEvent;var g=n(35);t.ContextMenuSelectEvent=g.ContextMenuSelectEvent;var y=n(36);t.ContextMenuPopupEvent=y.ContextMenuPopupEvent;var b=n(37);t.ContextMenuTemplateDirective=b.ContextMenuTemplateDirective;var I=n(38);t.ContextMenuComponent=I.ContextMenuComponent;var C=n(43);t.ContextMenuModule=C.ContextMenuModule;var x=n(44);t.MenusModule=x.MenusModule},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(4),a=n(5),s=n(6),p=n(10),c=n(11),u=n(12),l=n(13),d=n(15),m=n(16),h=n(14),v=function(e){function t(t,n,i,r,a,s,p,c){var u=e.call(this)||this;return u.itemsService=t,u.hover=n,u.actions=i,u.navigation=r,u.localization=a,u.ngZone=s,u.renderer=p,u.contextService=c,u.select=new o.EventEmitter,u.open=new o.EventEmitter,u.close=new o.EventEmitter,u.actions.owner=u,c&&(c.items=u.itemsService,u.contextKeyDownSubscription=c.keydown.subscribe(u.contextKeyDown.bind(u))),u}return i.__extends(t,e),n=t,Object.defineProperty(t.prototype,"ariaOrientation",{get:function(){if(this.vertical)return"vertical"},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"contextMenuClass",{get:function(){return Boolean(this.contextService)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"direction",{get:function(){return this.rtl},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"rtl",{get:function(){return this.localization.rtl},enumerable:!0,configurable:!0}),t.prototype.toggle=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];for(var i=0;i<t.length;i++){var o=this.itemsService.get(t[i]);o&&!o.disabled&&(e?o.open():o.close())}},t.prototype.focus=function(e){this.navigation.focusIndex(e)},t.prototype.ngOnChanges=function(e){if(this.navigation.vertical=this.vertical,this.hover.delay=this.hoverDelay,e.openOnClick){var t=this.openOnClick=u.normalize(this.openOnClick);this.hover.openOnOver=!t,t&&"click"===t.toggle?this.attachCloseClick():this.unsubscribeClick()}},t.prototype.ngAfterViewChecked=function(){this.navigation.updateActive()},t.prototype.ngOnDestroy=function(){this.unsubscribeClick(),this.contextService&&(this.contextService.items=null,this.contextKeyDownSubscription.unsubscribe())},t.prototype.attachCloseClick=function(){var e=this;this.closeClickSubscription||"undefined"==typeof document||this.ngZone.runOutsideAngular(function(){e.closeClickSubscription=e.renderer.listen("document","click",function(t){l.inMenu(t.target,e.itemsService)||(e.hover.openOnOver=!1,e.actions.closeAll(),e.actions.execute())})})},t.prototype.unsubscribeClick=function(){this.closeClickSubscription&&this.closeClickSubscription()},t.prototype.contextKeyDown=function(e){if(this.itemsService.hasItems){var t,n=e.keyCode,i=this.localization.rtl,o=n===h.KeyCodes.DOWN||n===h.KeyCodes.RIGHT,r=n===h.KeyCodes.UP||n===h.KeyCodes.LEFT;o&&!i||r&&i?t="first":(o&&i||r&&!i)&&(t="last"),t&&(e.preventDefault(),this.focus(t))}},i.__decorate([o.Input(),i.__metadata("design:type",o.TemplateRef)],t.prototype,"menuItemTemplate",void 0),i.__decorate([o.Input(),i.__metadata("design:type",o.TemplateRef)],t.prototype,"menuItemLinkTemplate",void 0),i.__decorate([o.Output(),i.__metadata("design:type",o.EventEmitter)],t.prototype,"select",void 0),i.__decorate([o.Output(),i.__metadata("design:type",o.EventEmitter)],t.prototype,"open",void 0),i.__decorate([o.Output(),i.__metadata("design:type",o.EventEmitter)],t.prototype,"close",void 0),i.__decorate([o.HostBinding("class.k-rtl"),i.__metadata("design:type",Boolean),i.__metadata("design:paramtypes",[])],t.prototype,"direction",null),t=n=i.__decorate([o.Component({exportAs:"kendoMenu",providers:[a.ItemsService,s.ActionsService,p.NavigationService,c.HoverService,r.LocalizationService,{provide:r.L10N_PREFIX,useValue:"kendo.menu"},{provide:m.MenuBase,useExisting:o.forwardRef(function(){return n})}],selector:"kendo-menu",template:'\n <ul role="menubar"\n [attr.aria-orientation]="ariaOrientation"\n kendoMenuList [items]="rootItems" [level]="0" class="k-widget k-reset k-header k-menu"\n [vertical]="vertical" [rtl]="rtl" [animate]="animate" [openOnClick]="openOnClick"\n [itemTemplate]="itemTemplate.first?.templateRef || menuItemTemplate"\n [itemLinkTemplate]="itemLinkTemplate.first?.templateRef || menuItemLinkTemplate"\n [class.k-menu-horizontal]="!vertical"\n [class.k-menu-vertical]="vertical"\n [class.k-context-menu]="contextMenuClass">\n </ul>\n '}),i.__param(7,o.Optional()),i.__metadata("design:paramtypes",[a.ItemsService,c.HoverService,s.ActionsService,p.NavigationService,r.LocalizationService,o.NgZone,o.Renderer2,d.ContextMenuService])],t);var n}(m.MenuBase);t.MenuComponent=v},function(t,n){t.exports=e},function(e,n){e.exports=t},function(e,t){e.exports=n},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=/_?\d+$/,a="_",s=0,p=function(e,t){return e.siblingIndex-t.siblingIndex},c=function(e,t,n){for(var i=t[e+n];!i;)e<0?e=t.length-1:e>=t.length?e=0:e+=n,i=t[e];return i},u=function(){function e(){this.items={},this.lists=[],this.idPrefix="k-menu"+s++}return Object.defineProperty(e.prototype,"hasItems",{get:function(){return Object.keys(this.items).length>0},enumerable:!0,configurable:!0}),e.prototype.childId=function(e){return this.idPrefix+"-child"+e},e.prototype.itemIndex=function(e,t){return(e?e+a:"")+t},e.prototype.get=function(e){return this.items[e]},e.prototype.add=function(e){this.items[e.index]=e},e.prototype.remove=function(e){delete this.items[e.index]},e.prototype.addList=function(e){this.lists.push(e)},e.prototype.removeList=function(e){var t=this.lists.indexOf(e);t>=0&&this.lists.splice(t,1)},e.prototype.containsList=function(e){return Boolean(this.lists.find(function(t){return t.element.nativeElement===e}))},e.prototype.siblings=function(e){var t=this,n=this.parentIndex(e.index);return this.filter(function(e){return t.parentIndex(e)===n})},e.prototype.otherSiblings=function(e){var t=this,n=this.parentIndex(e.index);return this.filter(function(i){return t.parentIndex(i)===n&&i!==e.index})},e.prototype.children=function(e){var t=this;return this.filter(function(n){return t.parentIndex(n)===e.index})},e.prototype.parent=function(e){return this.items[this.parentIndex(e.index)]},e.prototype.root=function(e){return this.items[this.indices(e.index)[0]]},e.prototype.indices=function(e){return e.split(a)},e.prototype.filter=function(e){var t=[],n=this.items;for(var i in n)e(i,n[i])&&t.push(n[i]);return t.sort(p)},e.prototype.previous=function(e){var t=this.siblings(e),n=t.indexOf(e);return c(n,t,-1)},e.prototype.next=function(e){var t=this.siblings(e),n=t.indexOf(e);return c(n,t,1)},e.prototype.hasParent=function(e,t){return e.index.startsWith(t.index)},e.prototype.areSiblings=function(e,t){return e!==t&&this.parent(e)===this.parent(t)},e.prototype.forEach=function(e){var t=this.items;for(var n in t)t.hasOwnProperty(n)&&e(t[n])},e.prototype.parentIndex=function(e){return e.replace(r,"")},e=i.__decorate([o.Injectable()],e)}();t.ItemsService=u},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(5),a=n(7),s=n(9),p=function(e,t){return!("open"===t&&e.opened||"close"===t&&!e.opened)},c=function(){function e(e,t){this.ngZone=e,this.items=t,this.actions=[]}return e.prototype.open=function(e,t){e.disabled||(e.hasContent&&!e.opened?this.actions.push({name:"open",requiresZone:e.hasContentTemplates(),item:e,finished:t}):t&&t())},e.prototype.close=function(e){this.closeChildren(e),this.closeItem(e)},e.prototype.closeItem=function(e){e.opened&&this.actions.push({name:"close",item:e})},e.prototype.closeToRoot=function(e){this.closeChildren(e);var t=e;do this.closeItem(t),t=this.items.parent(t);while(t)},e.prototype.closeOthers=function(e){this.closeChildren(e);for(var t=e;t;){var n=this.items.otherSiblings(t);this.closeItems(n),t=this.items.parent(t)}},e.prototype.closeAll=function(){var e=this;this.items.forEach(function(t){t.opened&&0===t.level&&e.close(t)})},e.prototype.select=function(e,t,n,i){this.actions.push({name:"select",item:e,prevented:n,finished:i,domEvent:t})},e.prototype.emit=function(e,t,n){var i=this.owner,o=new a.MenuEvent({sender:i,item:t.item,index:t.index,originalEvent:n,hasContent:t.hasContent});return i[e].emit(o),i.contextService&&i.contextService.emit(e,o),o.isDefaultPrevented()},Object.defineProperty(e.prototype,"hasPending",{get:function(){return this.actions.length>0},enumerable:!0,configurable:!0}),e.prototype.execute=function(e){var t=this;if(this.hasPending||e){var n=e||this.clear();!o.NgZone.isInAngularZone()&&this.requiresZone(n)?this.ngZone.run(function(){t.executeActions(n)}):this.executeActions(n)}},e.prototype.clear=function(){var e=this.actions;return this.actions=[],e},e.prototype.executeActions=function(e){for(var t=0;t<e.length;t++){var n=e[t],i=n.item,o=n.name,r=n.prevented,a=n.finished,s=n.domEvent;p(i,o)&&(this.emit(o,i,s)?r&&r():(i[o]&&i[o](),a&&a()))}},e.prototype.requiresZone=function(e){for(var t=e||this.actions,n=this.owner,i=n.contextService,o=0;o<t.length;o++){var r=t[o],a=r.name;if(r.requiresZone||a&&(s.hasObservers(n[a])||i&&i.hasObservers(a)))return!0}return!1},e.prototype.closeChildren=function(e){if(e.opened){var t=this.items.children(e);this.closeItems(t)}},e.prototype.closeItems=function(e){for(var t=0;t<e.length;t++)this.close(e[t])},e=i.__decorate([o.Injectable(),i.__metadata("design:paramtypes",[o.NgZone,r.ItemsService])],e)}();t.ActionsService=c},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(8),r=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i.__extends(t,e),t}(o.PreventableEvent);t.MenuEvent=r},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e){this.prevented=!1,Object.assign(this,e)}return e.prototype.preventDefault=function(){this.prevented=!0},e.prototype.isDefaultPrevented=function(){return this.prevented},e}();t.PreventableEvent=n},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(3);t.hasObservers=function(e){return e&&e.observers.length>0},t.defined=function(e){return"undefined"!=typeof e},t.bodyFactory=function(){if("undefined"!=typeof document)return new i.ElementRef(document.body)}},function(e,t,n){"use strict";function i(e){return 1===e.length&&u.test(e)}Object.defineProperty(t,"__esModule",{value:!0});var o=n(2),r=n(3),a=n(4),s=n(5),p=n(6),c="0",u=/\S/,l={};l[37]="left",l[39]="right",l[38]="up",l[40]="down",l[36]="home",l[35]="end",l[32]="enter",l[13]="enter",l[27]="esc",l[9]="tab";var d=Object.assign({},l,{37:"right",39:"left"}),m=Promise.resolve(null),h=function(){function e(e,t,n,i){this.items=e,this.actions=t,this.localization=n,this.ngZone=i,this.vertical=!1,this.activeIndex=c}return Object.defineProperty(e.prototype,"focusedItem",{get:function(){return this.items.get(this.focusedIdx)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"activeItem",{get:function(){return this.items.get(this.activeIndex)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"handlers",{get:function(){return this.localization.rtl?d:l},enumerable:!0,configurable:!0}),e.prototype.focus=function(e){e.index!==this.focusedIdx&&(this.activeItem&&this.items.hasParent(e,this.activeItem)||this.setActive(e),this.setFocus(e))},e.prototype.setFocus=function(e){this.focusedIdx=e.index,e.focus()},e.prototype.focusLeave=function(){var e=this.focusedItem;e&&(this.actions.closeToRoot(e),this.actions.execute()),this.focusedIdx=null},e.prototype.updateActive=function(){var e=this;if(!this.activeItem&&this.items.hasItems){var t=this.items.get(c);t.toggleActive(!0),this.ngZone.runOutsideAngular(function(){m.then(function(){e.activeIndex=c})})}},e.prototype.keydown=function(e){var t=this.focusedItem||this.activeItem,n=this.handlers[e.keyCode];t&&(n?("tab"!==n&&e.preventDefault(),this[n](t,e)):i(e.key)&&this.search(t,e.key),this.actions.execute())},e.prototype.focusIndex=function(e){if(!e&&this.activeItem)this.setFocus(this.activeItem);else if("first"===e)this.focusFirst();else if("last"===e)this.focusLast();else{var t=this.items.get(e);t&&this.focus(t)}},e.prototype.focusFirst=function(){var e=this.items.siblings(this.items.get("0"));this.focus(e[0])},e.prototype.focusLast=function(){var e=this.items.siblings(this.items.get("0"));this.focus(e[e.length-1])},e.prototype.search=function(e,t){for(var n=this.items.siblings(e),i=n.indexOf(e),o=n.slice(i+1).concat(n.slice(0,i)),r=0;r<o.length;r++){var a=o[r],s=a.item.text||"";if(s.toLowerCase().startsWith(t.toLowerCase())){this.focus(a);break}}},e.prototype.down=function(e){0!==e.level||this.vertical?this.focus(this.items.next(e)):e.hasContent&&this.actions.open(e,this.focusChild(e,0))},e.prototype.up=function(e){0!==e.level||this.vertical?this.focus(this.items.previous(e)):e.hasContent&&this.actions.open(e,this.focusChild(e,e.children.length-1))},e.prototype.left=function(e){if(!this.vertical||0!==e.level||!e.disabled)if(e.level>1||this.vertical&&e.level>0){var t=this.items.parent(e);this.focus(t),this.actions.close(t)}else this.vertical&&0===e.level&&!e.disabled?e.hasContent&&this.actions.open(e,this.focusChild(e,e.children.length-1)):this.focus(this.items.previous(this.activeItem))},e.prototype.right=function(e){this.vertical&&0===e.level&&e.disabled||(e.horizontal&&!e.disabled?e.hasContent?this.actions.open(e,this.focusChild(e,0)):(!this.vertical||e.level>0)&&this.focus(this.items.next(this.activeItem)):this.focus(this.items.next(this.activeItem)))},e.prototype.home=function(e){var t=this.items.siblings(e);this.focus(t[0])},e.prototype.end=function(e){var t=this.items.siblings(e);this.focus(t[t.length-1])},e.prototype.enter=function(e,t){var n=this.actions;e.disabled||(e.hasContent?(n.select(e,t),n.open(e,this.focusChild(e,0))):(n.select(e,t,null,function(){e.navigate()}),this.focus(this.items.root(e)),n.closeToRoot(e)))},e.prototype.esc=function(e){if(e.level>0){var t=this.items.parent(e);this.actions.close(t),this.focus(t)}},e.prototype.tab=function(e){e.level>0&&this.activeItem.focus()},e.prototype.focusChild=function(e,t){var n=this;return function(){var i=n.items.children(e)[t];n.setFocus(i)}},e.prototype.setActive=function(e){var t=this.focusedItem,n=this.items.root(e);this.activeItem&&this.activeItem.toggleActive(!1),this.activeIndex=n.index,n.toggleActive(!0),t&&(this.actions.closeToRoot(t),t.level>0&&this.actions.open(n))},e=o.__decorate([r.Injectable(),o.__metadata("design:paramtypes",[s.ItemsService,p.ActionsService,a.LocalizationService,r.NgZone])],e)}();t.NavigationService=h},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(5),a=n(6),s=500,p=function(){function e(e,t){this.actions=e,this.items=t,this.delay=100,this._openOnOver=!0,this.scheduled=[]}return Object.defineProperty(e.prototype,"openOnOver",{get:function(){return this._openOnOver},set:function(e){this.cancelActions(),this._openOnOver=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hovered",{get:function(){return this.items.get(this.hoveredIdx)},set:function(e){this.hoveredIdx=e?e.index:null},enumerable:!0,configurable:!0}),e.prototype.ngOnDestroy=function(){this.cancelActions()},e.prototype.over=function(e){var t=this;this.cancelActions(function(e){return"openOnOver"===e.name}),this.hovered&&this.hovered===e||(this.actions.closeOthers(e),this.hovered=e,(e.level>0||this.openOnOver)&&!e.disabled&&(this.actions.open(e),this.cancelActions(function(n){return"close"===n.name&&(e===n.item||t.items.hasParent(e,n.item))||"open"===n.name&&!t.items.hasParent(e,n.item)})),this.scheduleActions())},e.prototype.leave=function(e){var t=this.hovered;t&&(this.actions.closeToRoot(t),this.cancelActions(function(e){return"open"===e.name}),this.scheduleActions()),e&&this._openOnOver&&this.scheduleDisableOpenOnOver(),this.hovered=null},e.prototype.closeCurrent=function(){var e=this.hovered;e&&(this.actions.closeToRoot(e),this.hovered=null)},e.prototype.scheduleActions=function(){var e=this;if(this.actions.hasPending){var t={};t.actions=this.actions.clear(),t.id=setTimeout(function(){e.actions.execute(t.actions),e.removeScheduled(t)},this.delay),this.scheduled.push(t)}},e.prototype.scheduleDisableOpenOnOver=function(){var e=this,t={actions:[{name:"openOnOver"}]};t.id=setTimeout(function(){e._openOnOver=!1,e.removeScheduled(t)},Math.max(this.delay,s)),this.scheduled.push(t)},e.prototype.removeScheduled=function(e){for(var t=this.scheduled,n=0;n<t.length;n++)if(t[n]===e)return void t.splice(n,1)},e.prototype.cancelActions=function(e){for(var t=this.scheduled,n=t.length-1;n>=0;n--){var i=t[n],o=i.actions;if(e)for(var r=o.length-1;r>=0;r--)e(o[r])&&o.splice(r,1);e&&0!==o.length||(clearTimeout(i.id),t.splice(n,1))}},e=i.__decorate([o.Injectable(),i.__metadata("design:paramtypes",[a.ActionsService,r.ItemsService])],e)}();t.HoverService=p},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.normalize=function(e){return e&&Object.assign({toggle:"select"},e)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(14),o="kendo-matches-container",r=/^(?:a|input|select|option|textarea|button|object)$/i,a=function(e,t){return(e.matches||e.msMatchesSelector).call(e,t)};t.closest=function(e,t){for(;e&&!t(e);)e=e.parentNode;return e},t.closestInScope=function(e,t,n){for(;e&&e!==n&&!t(e);)e=e.parentNode;if(e!==n)return e},t.isFocusable=function(e){if(e.tagName){var t=e.tagName.toLowerCase(),n=e.getAttribute("tabIndex"),i="-1"===n,o=null!==n&&!i;return r.test(t)&&(o=!e.disabled&&!i),o}return!1};var s=function(e){return String(e).trim().split(" ")};t.hasClass=function(e,t){return s(e.className).indexOf(t)>=0},t.matchesClasses=function(e){var t=s(e);return function(e){var n=s(e.className);return Boolean(t.find(function(e){return n.indexOf(e)>=0}))}},t.nodeIndex=function(e){return e.getAttribute(i.NODE_INDEX)},t.closestItem=function(e,n){return t.closestInScope(e,t.nodeIndex,n)},t.closestList=function(e){var n=t.closest(e,t.matchesClasses("k-menu-popup k-menu k-menu-group"));return n&&t.hasClass(n,"k-menu-popup")&&(n=n.querySelector(".k-menu-group")),n},t.inMenu=function(e,n){if(e===n.lists[0].element.nativeElement)return!1;var i=t.closestList(e);return i&&n.containsList(i)},t.findInContainer=function(e,n,i){var r=i.getAttribute("id");r||i.setAttribute("id",o);var s="#"+(r||o)+" "+n,p=t.closestInScope(e,function(e){return a(e,s)},i);return r||i.removeAttribute("id"),p}},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NODE_INDEX="data-kendo-menu-index";var n;!function(e){e[e.ESC=27]="ESC",e[e.LEFT=37]="LEFT",e[e.UP=38]="UP",e[e.RIGHT=39]="RIGHT",e[e.DOWN=40]="DOWN",e[e.F10=121]="F10"}(n=t.KeyCodes||(t.KeyCodes={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(9),a=n(13),s=function(){function e(){this.keydown=new o.EventEmitter}return e.prototype.emit=function(e,t){this.owner.emitMenuEvent(e,t)},e.prototype.hasObservers=function(e){return this.owner&&r.hasObservers(this.owner[e])},e.prototype.leaveMenu=function(e){return!this.items||!a.inMenu(e.target,this.items)},e=i.__decorate([o.Injectable()],e)}();t.ContextMenuService=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(17),a=n(18),s=n(19),p=function(){function e(){this.vertical=!1,this.openOnClick=!1,this.hoverDelay=100,this.animate=!0}return Object.defineProperty(e.prototype,"rootItems",{get:function(){return this.items||(this.children?this.children.toArray():[])},enumerable:!0,configurable:!0}),i.__decorate([o.Input(),i.__metadata("design:type",Array)],e.prototype,"items",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Boolean)],e.prototype,"vertical",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],e.prototype,"openOnClick",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Number)],e.prototype,"hoverDelay",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],e.prototype,"animate",void 0),i.__decorate([o.ContentChildren(a.ItemTemplateDirective),i.__metadata("design:type",o.QueryList)],e.prototype,"itemTemplate",void 0),i.__decorate([o.ContentChildren(s.ItemLinkTemplateDirective),i.__metadata("design:type",o.QueryList)],e.prototype,"itemLinkTemplate",void 0),i.__decorate([o.ContentChildren(r.MenuItemComponent),i.__metadata("design:type",o.QueryList)],e.prototype,"children",void 0),e}();t.MenuBase=p},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(18),a=n(19),s=n(20),p=function(){function e(){}return t=e,Object.defineProperty(e.prototype,"template",{get:function(){if(this.itemTemplate&&this.itemTemplate.length)return this.itemTemplate.first.templateRef},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"linkTemplate",{get:function(){if(this.itemLinkTemplate&&this.itemLinkTemplate.length)return this.itemLinkTemplate.first.templateRef},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"contentTemplate",{get:function(){if(this.itemContentTemplate&&this.itemContentTemplate.length)return this.itemContentTemplate.first.templateRef},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"items",{get:function(){if(this.children.length)return this.children.toArray().slice(1)},enumerable:!0,configurable:!0}),i.__decorate([o.Input(),i.__metadata("design:type",String)],e.prototype,"text",void 0),i.__decorate([o.Input(),i.__metadata("design:type",String)],e.prototype,"url",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Boolean)],e.prototype,"disabled",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],e.prototype,"cssClass",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],e.prototype,"cssStyle",void 0),i.__decorate([o.Input(),i.__metadata("design:type",String)],e.prototype,"icon",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],e.prototype,"data",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Boolean)],e.prototype,"separator",void 0),i.__decorate([o.ContentChildren(r.ItemTemplateDirective),i.__metadata("design:type",o.QueryList)],e.prototype,"itemTemplate",void 0),i.__decorate([o.ContentChildren(a.ItemLinkTemplateDirective),i.__metadata("design:type",o.QueryList)],e.prototype,"itemLinkTemplate",void 0),i.__decorate([o.ContentChildren(s.ItemContentTemplateDirective),i.__metadata("design:type",o.QueryList)],e.prototype,"itemContentTemplate",void 0),i.__decorate([o.ContentChildren(t),i.__metadata("design:type",o.QueryList)],e.prototype,"children",void 0),e=t=i.__decorate([o.Component({selector:"kendo-menu-item",template:""})],e);var t}();t.MenuItemComponent=p},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=function(){function e(e){this.templateRef=e}return e=i.__decorate([o.Directive({selector:"[kendoMenuItemTemplate]"}),i.__param(0,o.Optional()),i.__metadata("design:paramtypes",[o.TemplateRef])],e)}();t.ItemTemplateDirective=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=function(){function e(e){this.templateRef=e}return e=i.__decorate([o.Directive({selector:"[kendoMenuItemLinkTemplate]"}),i.__param(0,o.Optional()),i.__metadata("design:paramtypes",[o.TemplateRef])],e)}();t.ItemLinkTemplateDirective=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=function(){function e(e){this.templateRef=e}return e=i.__decorate([o.Directive({selector:"[kendoMenuItemContentTemplate]"}),i.__param(0,o.Optional()),i.__metadata("design:paramtypes",[o.TemplateRef])],e)}();t.ItemContentTemplateDirective=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(5),a=n(6),s=n(10),p=n(11),c=n(14),u=n(13),l=function(){function e(e,t,n,i,o,r,a){this.itemsService=e,this.hover=t,this.actions=n,this.navigation=i,this.renderer=o,this.ngZone=r,this.element=a,this.animate=!0}return e.prototype.hierarchyIndex=function(e){return this.itemsService.itemIndex(this.index,e)},e.prototype.ngOnInit=function(){this.itemsService.addList(this),this.initDomEvents()},e.prototype.ngOnDestroy=function(){this.itemsService.removeList(this),this.domSubscriptions&&this.domSubscriptions()},e.prototype.initDomEvents=function(){var e=this;this.element&&this.ngZone.runOutsideAngular(function(){var t=e.element.nativeElement,n=e.level>0?u.closest(t,function(e){return u.hasClass(e,"k-menu-popup")}):t,i=e.renderer.listen(t,"mouseover",function(n){if(n.target===t&&0===e.level)e.onLeave();else{var i=e.nodeItem(n.target)||e.itemsService.get(e.index);!i||e.openOnClick&&"click"===e.openOnClick.toggle&&0===i.level&&!i.hasContent||e.hover.over(i)}}),o=e.renderer.listen(n,"mouseleave",function(t){e.leavesMenu(t)&&e.onLeave()}),r=e.renderer.listen(t,"keydown",function(t){u.hasClass(t.target,"k-menu-item")&&e.navigation.keydown(t)}),a=e.renderer.listen(t,"focusout",function(t){e.leavesMenu(t)&&e.navigation.focusLeave()}),s=e.renderer.listen(t,"click",e.clickHandler.bind(e));e.domSubscriptions=function(){i(),o(),r(),a(),s()}})},e.prototype.leavesMenu=function(e){return!e.relatedTarget||!u.inMenu(e.relatedTarget,this.itemsService)},e.prototype.onLeave=function(){var e=this.openOnClick;e&&"click"===e.toggle||this.hover.leave(e&&"leave"===e.toggle)},e.prototype.nodeItem=function(e){var t=u.closestItem(e,this.element.nativeElement);if(t){var n=u.nodeIndex(t);return this.itemsService.get(n)}},e.prototype.clickHandler=function(e){if(!u.isFocusable(e.target)||u.hasClass(e.target,"k-menu-item")){var t=this.nodeItem(e.target);if(t&&!t.isContent&&!t.navigating){if(t.disabled)return void e.preventDefault();if(this.actions.select(t,e,function(){e.preventDefault()}),this.navigation.focus(t),t.level>0&&!t.hasContent&&this.actions.closeToRoot(t),this.openOnClick){var n=this.hover;t.opened?0===t.level&&(n.openOnOver=!1,this.actions.close(t)):t.hasContent?(n.openOnOver=!0,this.actions.closeOthers(t),this.actions.open(t)):(n.openOnOver=!1,0===t.level&&"click"===this.openOnClick.toggle&&this.hover.closeCurrent())}this.actions.execute()}}},i.__decorate([o.Input(),i.__metadata("design:type",Array)],e.prototype,"items",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Number)],e.prototype,"level",void 0),i.__decorate([o.Input(),i.__metadata("design:type",String)],e.prototype,"index",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],e.prototype,"animate",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Boolean)],e.prototype,"vertical",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Boolean)],e.prototype,"rtl",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],e.prototype,"openOnClick",void 0),i.__decorate([o.Input(),i.__metadata("design:type",o.TemplateRef)],e.prototype,"itemTemplate",void 0),i.__decorate([o.Input(),i.__metadata("design:type",o.TemplateRef)],e.prototype,"itemLinkTemplate",void 0),e=i.__decorate([o.Component({selector:"[kendoMenuList]",template:'\n <ng-container *ngFor="let item of items; let idx = index">\n <li *ngIf="!item.separator" kendoMenuItem\n [item]="item" [level]="level" [vertical]="vertical" [animate]="animate" [rtl]="rtl"\n [itemTemplate]="itemTemplate" [itemLinkTemplate]="itemLinkTemplate" [openOnClick]="openOnClick"\n [index]="hierarchyIndex(idx)" [siblingIndex]="idx" [attr.'+c.NODE_INDEX+']="hierarchyIndex(idx)"\n [ngClass]="item.cssClass" [ngStyle]="item.cssStyle"\n role="menuitem"\n class="k-item k-menu-item"\n [class.k-first]="idx === 0" [class.k-last]="idx === items.length - 1"\n [class.k-state-disabled]="item.disabled"></li>\n <li *ngIf="item.separator" class="k-separator k-item"\n role="separator" [ngClass]="item.cssClass" [ngStyle]="item.cssStyle">\n &nbsp;\n </li>\n </ng-container>\n '}),i.__metadata("design:paramtypes",[r.ItemsService,p.HoverService,a.ActionsService,s.NavigationService,o.Renderer2,o.NgZone,o.ElementRef])],e)}();t.ListComponent=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(5),a=n(10),s=n(23),p=n(24),c=n(9),u=function(){function e(e,t,n,i,o,r){this.itemsService=e,this.navigation=t,this.changeDetector=n,this.renderer=i,this.popupService=o,this.element=r,this.animate=!0,this.openOnClick=!1,this.opened=!1,this.navigating=!1,this.destroyed=!1}return Object.defineProperty(e.prototype,"index",{get:function(){return this._index},set:function(e){this._index&&this._index!==e?(this.itemsService.remove(this),this._index=e,this.itemsService.add(this)):this._index=e,this.childId=this.itemsService.childId(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"disabled",{get:function(){return this.item.disabled},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hasPopup",{get:function(){return!!this.hasContent||null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"expanded",{get:function(){return this.hasContent?this.opened:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"label",{get:function(){return this.item.text?this.item.text:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"activeId",{get:function(){return this.index===this.navigation.activeIndex?"0":"-1"},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"popupSettings",{get:function(){var e=this.rtl?s.POPUP_SETTINGS_RTL:s.POPUP_SETTINGS;return this.horizontal?e.horizontal:e.vertical},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"horizontal",{get:function(){return this.vertical||this.level>0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hasLink",{get:function(){return Boolean(this.item.url)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"linkTemplate",{
get:function(){return this.item.linkTemplate||this.itemLinkTemplate},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hasContent",{get:function(){var e=this.item.items;return e&&e.length||this.item.contentTemplate},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isContent",{get:function(){return Boolean(this.item.content)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"iconClass",{get:function(){return"k-i-"+this.item.icon},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"children",{get:function(){var e=this.item;return e.contentTemplate?(this.contentItems||(this.contentItems=[{content:e.contentTemplate,owner:e,ownerIndex:this.index}]),this.contentItems):e.items},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"template",{get:function(){return this.item.template||this.itemTemplate},enumerable:!0,configurable:!0}),e.prototype.hasContentTemplates=function(){var e=this.item;return this.itemTemplate||e.contentTemplate||this.itemLinkTemplate||e.items&&e.items.find(function(e){return e.template||e.linkTemplate})},e.prototype.ngOnInit=function(){this.itemsService.add(this)},e.prototype.ngOnDestroy=function(){this.itemsService.remove(this),this.destroyed=!0,this.popupRef&&(this.popupRef.close(),this.popupRef=null)},e.prototype.focus=function(){this.element.nativeElement.focus()},e.prototype.toggleActive=function(e){e?this.setAttribute("tabindex","0"):this.setAttribute("tabindex","-1")},e.prototype.open=function(){if(!this.destroyed&&this.hasContent&&!this.opened){var e=this.popupSettings,t=!!this.animate&&Object.assign({},this.animate,{direction:e.animate});this.opened=!0,this.popupRef=this.popupService.open({popupAlign:e.popup,anchorAlign:e.anchor,collision:e.collision,anchor:this.element,positionMode:"absolute",content:this.popupTemplate,popupClass:{"k-rtl":this.rtl,"k-menu-popup":!0},animate:t}),this.setAttribute("aria-expanded","true"),this.setAttribute("aria-owns",this.childId),this.changeDetector.detectChanges()}},e.prototype.close=function(){!this.destroyed&&this.opened&&(this.opened=!1,this.popupRef&&(this.popupRef.close(),this.popupRef=null),this.changeDetector.detectChanges(),this.setAttribute("aria-expanded","false"),this.renderer.removeAttribute(this.element.nativeElement,"aria-owns"))},e.prototype.navigate=function(){var e;this.linkTemplate?e=this.element.nativeElement.querySelector("a.k-menu-link"):this.hasLink&&(e=this.link.nativeElement),e&&(this.navigating=!0,e.click(),this.navigating=!1)},e.prototype.setAttribute=function(e,t){this.renderer.setAttribute(this.element.nativeElement,e,t)},i.__decorate([o.Input(),i.__metadata("design:type",Object)],e.prototype,"item",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Number)],e.prototype,"level",void 0),i.__decorate([o.Input(),i.__metadata("design:type",String),i.__metadata("design:paramtypes",[String])],e.prototype,"index",null),i.__decorate([o.Input(),i.__metadata("design:type",Number)],e.prototype,"siblingIndex",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],e.prototype,"animate",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Boolean)],e.prototype,"vertical",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Boolean)],e.prototype,"rtl",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Boolean)],e.prototype,"openOnClick",void 0),i.__decorate([o.Input(),i.__metadata("design:type",o.TemplateRef)],e.prototype,"itemTemplate",void 0),i.__decorate([o.Input(),i.__metadata("design:type",o.TemplateRef)],e.prototype,"itemLinkTemplate",void 0),i.__decorate([o.ViewChild("link"),i.__metadata("design:type",o.ElementRef)],e.prototype,"link",void 0),i.__decorate([o.ViewChild("popupTemplate"),i.__metadata("design:type",o.TemplateRef)],e.prototype,"popupTemplate",void 0),i.__decorate([o.HostBinding("attr.aria-disabled"),i.__metadata("design:type",Boolean),i.__metadata("design:paramtypes",[])],e.prototype,"disabled",null),i.__decorate([o.HostBinding("attr.aria-haspopup"),i.__metadata("design:type",Boolean),i.__metadata("design:paramtypes",[])],e.prototype,"hasPopup",null),i.__decorate([o.HostBinding("attr.aria-expanded"),i.__metadata("design:type",Boolean),i.__metadata("design:paramtypes",[])],e.prototype,"expanded",null),i.__decorate([o.HostBinding("attr.aria-label"),i.__metadata("design:type",Boolean),i.__metadata("design:paramtypes",[])],e.prototype,"label",null),i.__decorate([o.HostBinding("attr.tabindex"),i.__metadata("design:type",String),i.__metadata("design:paramtypes",[])],e.prototype,"activeId",null),e=i.__decorate([o.Component({providers:[p.PopupService,{provide:p.POPUP_CONTAINER,useFactory:c.bodyFactory}],selector:"[kendoMenuItem]",template:'\n <span *ngIf="!hasLink && !item.content && !linkTemplate" class="k-link k-menu-link" #link\n [class.k-state-active]="opened" role="presentation">\n <ng-template [ngTemplateOutlet]="itemcontent">\n </ng-template>\n </span>\n <a *ngIf="item.url && !linkTemplate" class="k-link k-menu-link" #link [attr.href]="item.url"\n [class.k-state-active]="opened" tabindex="-1" role="presentation">\n <ng-template [ngTemplateOutlet]="itemcontent">\n </ng-template>\n </a>\n <ng-template *ngIf="linkTemplate && !item.content" [ngTemplateOutlet]="linkTemplate"\n [ngTemplateOutletContext]="{ item: item, index: index }">\n </ng-template>\n\n <div class="k-content" *ngIf="item.content" role="presentation">\n <ng-template [ngTemplateOutlet]="item.content" [ngTemplateOutletContext]="{ item: item.owner, index: item.ownerIndex }">\n </ng-template>\n </div>\n\n <ng-template #popupTemplate>\n <ul kendoMenuList\n [attr.id]="childId"\n [animate]="animate"\n [rtl]="rtl"\n [vertical]="vertical"\n [openOnClick]="openOnClick"\n [items]="children"\n [level]="level + 1"\n [index]="index"\n [itemTemplate]="itemTemplate"\n [itemLinkTemplate]="itemLinkTemplate"\n role="menu"\n class="k-group k-menu-group k-reset">\n </ul>\n </ng-template>\n\n <ng-template #itemcontent>\n <span *ngIf="item.icon" class="k-icon" [ngClass]="iconClass" role="presentation"></span>\n <ng-container *ngIf="!template">\n {{ item.text }}\n </ng-container>\n <ng-template *ngIf="template" [ngTemplateOutlet]="template" [ngTemplateOutletContext]="{ item: item, index: index }">\n </ng-template>\n <span class="k-icon k-menu-expand-arrow" *ngIf="hasContent"\n role="presentation"\n [class.k-i-arrow-60-down]="!horizontal"\n [class.k-i-arrow-60-right]="horizontal && !rtl"\n [class.k-i-arrow-60-left]="horizontal && rtl">\n </span>\n </ng-template>\n '}),i.__metadata("design:paramtypes",[r.ItemsService,a.NavigationService,o.ChangeDetectorRef,o.Renderer2,p.PopupService,o.ElementRef])],e)}();t.ItemComponent=u},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n={vertical:"top",horizontal:"left"},i={vertical:"top",horizontal:"right"},o={vertical:"flip",horizontal:"fit"},r={vertical:"fit",horizontal:"flip"};t.POPUP_SETTINGS_RTL={vertical:{anchor:{vertical:"bottom",horizontal:"right"},popup:i,collision:o,animate:"down"},horizontal:{anchor:{vertical:"top",horizontal:"left"},popup:i,collision:r,animate:"left"}},t.POPUP_SETTINGS={vertical:{anchor:{vertical:"bottom",horizontal:"left"},popup:n,collision:o,animate:"down"},horizontal:{anchor:{vertical:"top",horizontal:"right"},popup:n,collision:r,animate:"right"}}},function(e,t){e.exports=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(5),a=function(){function e(e){this.itemsService=e,this.hostClasses=!0,this.role="presentation",this.tabindex="-1"}return Object.defineProperty(e.prototype,"activeClass",{get:function(){return this.item.opened},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){if(o.isDevMode()&&!this.index)throw new Error("The kendoMenuItemLink directive requires the item index to be set.");this.item=this.itemsService.get(this.index)||{}},i.__decorate([o.Input("kendoMenuItemLink"),i.__metadata("design:type",String)],e.prototype,"index",void 0),i.__decorate([o.HostBinding("class.k-link"),o.HostBinding("class.k-menu-link"),i.__metadata("design:type",Boolean)],e.prototype,"hostClasses",void 0),i.__decorate([o.HostBinding("attr.role"),i.__metadata("design:type",String)],e.prototype,"role",void 0),i.__decorate([o.HostBinding("attr.tabindex"),i.__metadata("design:type",String)],e.prototype,"tabindex",void 0),i.__decorate([o.HostBinding("class.k-state-active"),i.__metadata("design:type",Boolean),i.__metadata("design:paramtypes",[])],e.prototype,"activeClass",null),e=i.__decorate([o.Directive({selector:"[kendoMenuItemLink]"}),i.__metadata("design:paramtypes",[r.ItemsService])],e)}();t.LinkDirective=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(5),a=function(){function e(e){this.itemsService=e,this.hostClasses=!0,this.role="presentation"}return Object.defineProperty(e.prototype,"arrowDown",{get:function(){return!this.item.horizontal},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"arrowRight",{get:function(){return this.item.horizontal&&!this.item.rtl},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"arrowLeft",{get:function(){return this.item.horizontal&&this.item.rtl},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){if(o.isDevMode()&&!this.index)throw new Error("The kendoMenuExpandArrow directive requires the item index to be set.");this.item=this.itemsService.get(this.index)||{}},i.__decorate([o.Input("kendoMenuExpandArrow"),i.__metadata("design:type",String)],e.prototype,"index",void 0),i.__decorate([o.HostBinding("class.k-icon"),o.HostBinding("class.k-menu-expand-arrow"),i.__metadata("design:type",Boolean)],e.prototype,"hostClasses",void 0),i.__decorate([o.HostBinding("attr.role"),i.__metadata("design:type",String)],e.prototype,"role",void 0),i.__decorate([o.HostBinding("class.k-i-arrow-60-down"),i.__metadata("design:type",Boolean),i.__metadata("design:paramtypes",[])],e.prototype,"arrowDown",null),i.__decorate([o.HostBinding("class.k-i-arrow-60-right"),i.__metadata("design:type",Boolean),i.__metadata("design:paramtypes",[])],e.prototype,"arrowRight",null),i.__decorate([o.HostBinding("class.k-i-arrow-60-left"),i.__metadata("design:type",Boolean),i.__metadata("design:paramtypes",[])],e.prototype,"arrowLeft",null),e=i.__decorate([o.Directive({selector:"[kendoMenuExpandArrow]"}),i.__metadata("design:paramtypes",[r.ItemsService])],e)}();t.ExpandArrowDirective=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(7),r=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i.__extends(t,e),t}(o.MenuEvent);t.MenuSelectEvent=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(16),a=n(29),s=n(30),p=function(e,t){return Array.isArray(e)?e[t]||s.last(e):e},c=function(e){function t(t){return e.call(this,t)||this}return i.__extends(t,e),t.prototype.mapItems=function(e,t){var n=this;return void 0===t&&(t=0),e.map(function(e){var i=n.createItem(e,t),o=n.getChildren(e,t);return o&&(i.items=n.mapItems(o,t+1)),i})},t.prototype.createItem=function(e,t){for(var n={data:e},i=this.fields,o=0;o<i.length;o++){var r=i[o],a=r.target,c=r.source;n[a]=s.getter(p(c,t))(e)}return n},t.prototype.getChildren=function(e,t){if(this.childrenField){var n=p(this.childrenField,t);return e[n]}},i.__decorate([o.Input("kendoMenuHierarchyBinding"),i.__metadata("design:type",Array)],t.prototype,"data",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],t.prototype,"textField",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],t.prototype,"urlField",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],t.prototype,"iconField",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],t.prototype,"disabledField",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],t.prototype,"cssClassField",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],t.prototype,"cssStyleField",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],t.prototype,"separatorField",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],t.prototype,"childrenField",void 0),t=i.__decorate([o.Directive({exportAs:"kendoMenuHierarchyBinding",selector:"[kendoMenuHierarchyBinding]"}),i.__metadata("design:paramtypes",[r.MenuBase])],t)}(a.BindingDirectiveBase);t.HierarchyBindingDirective=c},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=["textField","urlField","iconField","disabledField","cssClassField","cssStyleField","separatorField"],i=function(){function e(e){this.menu=e}return e.prototype.ngOnChanges=function(){this.rebind()},e.prototype.rebind=function(){for(var e=this.fields=[],t=0;t<n.length;t++){var i=n[t],o=this[i];o&&e.push({target:i.replace("Field",""),source:o})}this.menu.items=this.data?this.mapItems(this.data):[]},e}();t.BindingDirectiveBase=i},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=/\[(?:(\d+)|['"](.*?)['"])\]|((?:(?!\[.*?\]|\.).)+)/g,i={};i.undefined=function(e){return e},t.getter=function(e){if(i[e])return i[e];var t=[];return e.replace(n,function(e,n,i,o){t.push(void 0!==n?n:i||o)}),i[e]=function(e){for(var n=e,i=0;i<t.length&&n;i++)n=n[t[i]];return n},i[e]},t.last=function(e){return e[e.length-1]}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(16),a=n(29),s=n(30),p=function(e){function t(t){return e.call(this,t)||this}return i.__extends(t,e),t.prototype.mapItems=function(e){var t=this;if(!this.idField||!this.parentIdField)return e.map(function(e){return t.createItem(e)});for(var n=[],i={},o=0;o<e.length;o++){var r=e[o],a=this.createItem(r),p=s.getter(this.idField)(r),c=s.getter(this.parentIdField)(r);if(null===c||void 0===c)n.push(a);else{var u=i[c]=i[c]||{};u.items=u.items||[],u.items.push(a)}i[p]&&(a.items=i[p].items),i[p]=a}return n},t.prototype.createItem=function(e){for(var t={data:e},n=this.fields,i=0;i<n.length;i++){var o=n[i],r=o.source,a=o.target;t[a]=s.getter(r)(e)}return t},i.__decorate([o.Input("kendoMenuFlatBinding"),i.__metadata("design:type",Array)],t.prototype,"data",void 0),i.__decorate([o.Input(),i.__metadata("design:type",String)],t.prototype,"textField",void 0),i.__decorate([o.Input(),i.__metadata("design:type",String)],t.prototype,"urlField",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],t.prototype,"iconField",void 0),i.__decorate([o.Input(),i.__metadata("design:type",String)],t.prototype,"disabledField",void 0),i.__decorate([o.Input(),i.__metadata("design:type",String)],t.prototype,"cssClassField",void 0),i.__decorate([o.Input(),i.__metadata("design:type",String)],t.prototype,"cssStyleField",void 0),i.__decorate([o.Input(),i.__metadata("design:type",String)],t.prototype,"separatorField",void 0),i.__decorate([o.Input(),i.__metadata("design:type",String)],t.prototype,"idField",void 0),i.__decorate([o.Input(),i.__metadata("design:type",String)],t.prototype,"parentIdField",void 0),t=i.__decorate([o.Directive({exportAs:"kendoMenuFlatBinding",selector:"[kendoMenuFlatBinding]"}),i.__metadata("design:paramtypes",[r.MenuBase])],t)}(a.BindingDirectiveBase);t.FlatBindingDirective=p},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(33),a=n(24),s=n(1),p=n(17),c=n(21),u=n(22),l=n(25),d=n(26),m=n(18),h=n(19),v=n(20),f=n(28),_=n(31),g=[s.MenuComponent,p.MenuItemComponent,m.ItemTemplateDirective,h.ItemLinkTemplateDirective,v.ItemContentTemplateDirective,f.HierarchyBindingDirective,_.FlatBindingDirective,l.LinkDirective,d.ExpandArrowDirective],y=g.concat([c.ListComponent,u.ItemComponent]),b=function(){function e(){}return e=i.__decorate([o.NgModule({declarations:[y],exports:[g],imports:[a.PopupModule,r.CommonModule]})],e)}();t.MenuModule=b},function(e,t){e.exports=o},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(){}return e}();t.ContextMenuEvent=n},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(34),r=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i.__extends(t,e),t}(o.ContextMenuEvent);t.ContextMenuSelectEvent=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(8),r=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i.__extends(t,e),t}(o.PreventableEvent);t.ContextMenuPopupEvent=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=function(){function e(e){this.templateRef=e}return e=i.__decorate([o.Directive({selector:"[kendoContextMenuTemplate]"}),i.__param(0,o.Optional()),i.__metadata("design:paramtypes",[o.TemplateRef])],e)}();t.ContextMenuTemplateDirective=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(4),a=n(24),s=n(16),p=n(36),c=n(15),u=n(39),l=n(37),d=n(13),m=n(9),h=n(5),v=n(40),f=n(42),_=n(9),g=n(14),y="contextmenu",b={horizontal:"left",vertical:"bottom"},I={horizontal:"left",vertical:"top"},C={horizontal:"fit",vertical:"flip"},x=function(e){function t(t,n,i,r){var a=e.call(this)||this;return a.popupService=t,a.service=n,a.ngZone=i,a.renderer=r,a.showOn=y,a.alignToAnchor=!1,a.vertical=!0,a.popupOpen=new o.EventEmitter,a.popupClose=new o.EventEmitter,a.select=new o.EventEmitter,a.open=new o.EventEmitter,a.close=new o.EventEmitter,a.service.owner=a,a.popupKeyDownHandler=a.popupKeyDownHandler.bind(a),a}return i.__extends(t,e),n=t,t.prototype.hide=function(){this.removePopup()},t.prototype.show=function(e){if(e){var t=e;this.removePopup(),m.defined(t.left)&&m.defined(t.top)?this.createPopup({offset:t}):(this.currentTarget=t.nativeElement||t,this.createPopup({anchor:this.currentTarget}))}},t.prototype.ngOnChanges=function(e){(e.target||e.showOn)&&this.bindShowHandler()},t.prototype.ngOnInit=function(){var e=this;this.ngZone.runOutsideAngular(function(){var t=e.renderer.listen("document","mousedown",function(t){e.popupRef&&!d.closest(t.target,function(t){return t===e.popupRef.popupElement})&&e.service.leaveMenu(t)&&e.closePopup(t)}),n=e.renderer.listen("window","blur",function(t){e.popupRef&&e.closePopup(t)});e.closeSubscription=function(){t(),n()}})},t.prototype.ngOnDestroy=function(){this.closeSubscription&&(this.closeSubscription(),this.closeSubscription=null),this.unbindShowHandler(),this.removePopup()},t.prototype.emitMenuEvent=function(e,t){t.target=this.currentTarget,t.sender=this,this[e].emit(t),"select"!==e||t.hasContent||this.closePopup(t.originalEvent)},t.prototype.bindShowHandler=function(){var e=this;this.unbindShowHandler(),this.ngZone.runOutsideAngular(function(){var t=e.targetElement();if(t){var n=e.showOn||y;e.showSubscription=e.renderer.listen(t,e.showOn||y,function(n){e.showContextMenu(n,t)}),n===y&&(e.keydownSubscription=e.renderer.listen(t,"keydown",function(n){n.shiftKey&&n.keyCode===g.KeyCodes.F10&&e.showContextMenu(n,t)}))}})},t.prototype.showContextMenu=function(e,t){var n=this,i=this.targetFilter();if(this.currentTarget=t,i){var o=this.currentTarget=d.findInContainer(e.target,i,t);if(o&&o!==e.target&&d.isFocusable(e.target))return void(this.currentTarget=null);o&&this.directiveTarget&&(this.currentTarget=this.target.targetService.find(o))}return this.currentTarget?void this.ngZone.run(function(){n.closePopup(e)||n.openPopup(e)}):void this.closePopup(e)},t.prototype.unbindShowHandler=function(){this.showSubscription&&(this.showSubscription(),this.showSubscription=null),this.keydownSubscription&&(this.keydownSubscription(),this.keydownSubscription=null)},t.prototype.targetElement=function(){if("undefined"!=typeof document){this.directiveTarget=!1;var e=this.target;return"string"==typeof e?e=document.querySelector(e):e&&e.nativeElement?e=e.nativeElement:e instanceof v.ContextMenuTargetContainerDirective&&(e=e.element,this.directiveTarget=!0),e}},t.prototype.targetFilter=function(){return this.directiveTarget?"."+f.TARGET_CLASS:this.filter},t.prototype.closePopup=function(e){var t=this;if(this.popupRef)return this.popupAction("popupClose",e,function(){t.removePopup()})},t.prototype.removePopup=function(){this.popupRef&&(this.popupRef.close(),this.popupRef=null,this.currentTarget=null),this.popupKeydownSubscription&&(this.popupKeydownSubscription(),this.popupKeydownSubscription=null)},t.prototype.openPopup=function(e){var t=this;this.popupAction("popupOpen",e,function(){e.preventDefault();var n,i;t.alignToAnchor||"keydown"===e.type?n=t.currentTargetElement:i={left:e.pageX,top:e.pageY},t.createPopup({anchor:n,offset:i})})},t.prototype.createPopup=function(e){var t=this;this.popupRef=this.popupService.open(Object.assign({animate:!m.defined(this.popupAnimate)||this.popupAnimate,appendTo:this.appendTo,collision:this.collision||C,popupAlign:this.popupAlign||I,anchorAlign:this.anchorAlign||b,content:this.contentTemplate?this.contentTemplate.templateRef:this.defaultContentTemplate},e));var n=this.popupRef.popupElement;this.renderer.setAttribute(n,"tabindex","-1"),this.renderer.setStyle(n,"outline","0"),this.ariaLabel&&this.renderer.setAttribute(n,"aria-label",this.ariaLabel),this.activeTarget=this.currentTargetElement===document.activeElement,this.ngZone.runOutsideAngular(function(){t.popupKeydownSubscription=t.renderer.listen(n,"keydown",t.popupKeyDownHandler)}),n.focus()},t.prototype.popupKeyDownHandler=function(e){var t=this.popupRef.popupElement;if(e.keyCode!==g.KeyCodes.ESC||!d.hasClass(e.target,"k-menu-item")&&e.target!==t)e.target===t&&this.service.keydown.emit(e);else{var n=this.currentTargetElement;!this.closePopup(e)&&this.activeTarget&&n.focus()}},t.prototype.popupAction=function(e,t,n){var i=this,o=this[e],r=!1;return m.hasObservers(o)?this.ngZone.run(function(){var e=new p.ContextMenuPopupEvent({originalEvent:t,sender:i,target:i.currentTarget});o.emit(e),e.isDefaultPrevented()||n(),r=e.isDefaultPrevented()}):n(),r},Object.defineProperty(t.prototype,"currentTargetElement",{get:function(){return this.directiveTarget&&this.currentTarget?this.currentTarget.element:this.currentTarget},enumerable:!0,configurable:!0}),i.__decorate([o.Input(),i.__metadata("design:type",String)],t.prototype,"showOn",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],t.prototype,"target",void 0),i.__decorate([o.Input(),i.__metadata("design:type",String)],t.prototype,"filter",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Boolean)],t.prototype,"alignToAnchor",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Boolean)],t.prototype,"vertical",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],t.prototype,"popupAnimate",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],t.prototype,"popupAlign",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],t.prototype,"anchorAlign",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],t.prototype,"collision",void 0),i.__decorate([o.Input(),i.__metadata("design:type",o.ViewContainerRef)],t.prototype,"appendTo",void 0),i.__decorate([o.Input(),i.__metadata("design:type",String)],t.prototype,"ariaLabel",void 0),i.__decorate([o.Output(),i.__metadata("design:type",o.EventEmitter)],t.prototype,"popupOpen",void 0),i.__decorate([o.Output(),i.__metadata("design:type",o.EventEmitter)],t.prototype,"popupClose",void 0),i.__decorate([o.Output(),i.__metadata("design:type",o.EventEmitter)],t.prototype,"select",void 0),i.__decorate([o.Output(),i.__metadata("design:type",o.EventEmitter)],t.prototype,"open",void 0),i.__decorate([o.Output(),i.__metadata("design:type",o.EventEmitter)],t.prototype,"close",void 0),i.__decorate([o.ContentChild(l.ContextMenuTemplateDirective),i.__metadata("design:type",l.ContextMenuTemplateDirective)],t.prototype,"contentTemplate",void 0),i.__decorate([o.ViewChild("default"),i.__metadata("design:type",o.TemplateRef)],t.prototype,"defaultContentTemplate",void 0),t=n=i.__decorate([o.Component({exportAs:"kendoContextMenu",providers:[c.ContextMenuService,r.LocalizationService,{provide:r.L10N_PREFIX,useValue:"kendo.contextmenu"},{provide:h.ItemsService,useClass:u.ContextMenuItemsService},{provide:s.MenuBase,useExisting:o.forwardRef(function(){return n})},a.PopupService,{provide:a.POPUP_CONTAINER,useFactory:_.bodyFactory}],selector:"kendo-contextmenu",template:'\n <ng-template #default>\n <kendo-menu [items]="rootItems"\n [vertical]="vertical"\n [openOnClick]="openOnClick"\n [hoverDelay]="hoverDelay"\n [animate]="animate"\n [menuItemTemplate]="itemTemplate.first?.templateRef"\n [menuItemLinkTemplate]="itemLinkTemplate.first?.templateRef"\n ></kendo-menu>\n </ng-template>\n '}),i.__metadata("design:paramtypes",[a.PopupService,c.ContextMenuService,o.NgZone,o.Renderer2])],t);var n}(s.MenuBase);t.ContextMenuComponent=x},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(15),a=function(){function e(e){this.contextService=e}return e.prototype.get=function(e){if(this.contextService.items)return this.contextService.items.get(e)},e=i.__decorate([o.Injectable(),i.__metadata("design:paramtypes",[r.ContextMenuService])],e)}();t.ContextMenuItemsService=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(41),a=function(){function e(e,t){this.targetService=t,e&&(this.element=e.nativeElement)}return e=i.__decorate([o.Directive({selector:"[kendoContextMenuTargetContainer]",exportAs:"kendoContextMenuTargetContainer",providers:[r.ContextMenuTargetService]}),i.__metadata("design:paramtypes",[o.ElementRef,r.ContextMenuTargetService])],e)}();t.ContextMenuTargetContainerDirective=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=function(){function e(){this.targets=[]}return e.prototype.add=function(e){this.targets.push(e)},e.prototype.remove=function(e){var t=this.targets.indexOf(e);this.targets.splice(t,1)},e.prototype.find=function(e){return this.targets.find(function(t){return t.element===e})},e=i.__decorate([o.Injectable()],e)}();t.ContextMenuTargetService=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(41);t.TARGET_CLASS="k-contextmenu-target";var a=function(){function e(e,t){this.targetService=t,this.hostClass=!0,e&&(this.element=e.nativeElement),t.add(this)}return e.prototype.ngOnDestroy=function(){this.targetService.remove(this)},i.__decorate([o.Input("kendoContextMenuTarget"),i.__metadata("design:type",Object)],e.prototype,"data",void 0),i.__decorate([o.HostBinding("class."+t.TARGET_CLASS),i.__metadata("design:type",Boolean)],e.prototype,"hostClass",void 0),e=i.__decorate([o.Directive({selector:"[kendoContextMenuTarget]",exportAs:"kendoContextMenuTarget"}),i.__metadata("design:paramtypes",[o.ElementRef,r.ContextMenuTargetService])],e)}();t.ContextMenuTargetDirective=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(33),a=n(24),s=n(32),p=n(38),c=n(37),u=n(42),l=n(40),d=[p.ContextMenuComponent,c.ContextMenuTemplateDirective,u.ContextMenuTargetDirective,l.ContextMenuTargetContainerDirective],m=function(){function e(){}return e=i.__decorate([o.NgModule({declarations:[d],exports:[d,s.MenuModule],imports:[a.PopupModule,r.CommonModule,s.MenuModule]})],e)}();t.ContextMenuModule=m},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(32),a=n(43),s=function(){function e(){}return e=i.__decorate([o.NgModule({exports:[r.MenuModule,a.ContextMenuModule]})],e)}();t.MenusModule=s}])});

@@ -5,1 +5,13 @@ /**

export var NODE_INDEX = 'data-kendo-menu-index';
/**
* @hidden
*/
export var KeyCodes;
(function (KeyCodes) {
KeyCodes[KeyCodes["ESC"] = 27] = "ESC";
KeyCodes[KeyCodes["LEFT"] = 37] = "LEFT";
KeyCodes[KeyCodes["UP"] = 38] = "UP";
KeyCodes[KeyCodes["RIGHT"] = 39] = "RIGHT";
KeyCodes[KeyCodes["DOWN"] = 40] = "DOWN";
KeyCodes[KeyCodes["F10"] = 121] = "F10";
})(KeyCodes || (KeyCodes = {}));

@@ -1,2 +0,2 @@

var ITEM_FIELDS = ['textField', 'urlField', 'iconField', 'disabledField', 'cssClassField', 'cssStyleField'];
var ITEM_FIELDS = ['textField', 'urlField', 'iconField', 'disabledField', 'cssClassField', 'cssStyleField', 'separatorField'];
/**

@@ -13,3 +13,3 @@ * @hidden

/**
* Rebinds the menu items.
* Rebinds the Menu items.
*/

@@ -16,0 +16,0 @@ BindingDirectiveBase.prototype.rebind = function () {

import * as tslib_1 from "tslib";
import { Directive, Input } from '@angular/core';
import { MenuComponent } from '../menu.component';
import { MenuBase } from '../menu-base';
import { BindingDirectiveBase } from './binding-directive-base';

@@ -8,3 +8,3 @@ import { getter } from './utils';

/**
* A directive that converts the provided flat data to [`MenuItems`]({% slug api_menu_menuitem %}) and binds them to the menu.
* A directive that converts the provided flat data to [MenuItems]({% slug api_menu_menuitem %}) and binds them to the Menu.
*/

@@ -60,3 +60,3 @@ var FlatBindingDirective = /** @class */ (function (_super) {

FlatBindingDirective.ctorParameters = function () { return [
{ type: MenuComponent, },
{ type: MenuBase, },
]; };

@@ -71,2 +71,3 @@ FlatBindingDirective.propDecorators = {

'cssStyleField': [{ type: Input },],
'separatorField': [{ type: Input },],
'idField': [{ type: Input },],

@@ -73,0 +74,0 @@ 'parentIdField': [{ type: Input },],

import * as tslib_1 from "tslib";
import { Directive, Input } from '@angular/core';
import { MenuComponent } from '../menu.component';
import { MenuBase } from '../menu-base';
import { BindingDirectiveBase } from './binding-directive-base';

@@ -9,3 +9,3 @@ import { getter, last } from './utils';

/**
* A directive that converts the provided hierarchical data to [`MenuItems`]({% slug api_menu_menuitem %}) and binds them to the menu.
* A directive that converts the provided hierarchical data to [MenuItems]({% slug api_menu_menuitem %}) and binds them to the Menu.
*/

@@ -52,3 +52,3 @@ var HierarchyBindingDirective = /** @class */ (function (_super) {

HierarchyBindingDirective.ctorParameters = function () { return [
{ type: MenuComponent, },
{ type: MenuBase, },
]; };

@@ -63,2 +63,3 @@ HierarchyBindingDirective.propDecorators = {

'cssStyleField': [{ type: Input },],
'separatorField': [{ type: Input },],
'childrenField': [{ type: Input },],

@@ -65,0 +66,0 @@ };

import { NODE_INDEX } from './constants';
var DEFAULT_ID = 'kendo-matches-container';
var focusableRegex = /^(?:a|input|select|option|textarea|button|object)$/i;
var matches = function (element, selector) { return (element.matches || element.msMatchesSelector).call(element, selector); };
/**

@@ -84,1 +86,16 @@ * @hidden

};
/**
* @hidden
*/
export var findInContainer = function (element, selector, container) {
var id = container.getAttribute('id');
if (!id) {
container.setAttribute('id', DEFAULT_ID);
}
var contextSelector = "#" + (id || DEFAULT_ID) + " " + selector;
var match = closestInScope(element, function (node) { return matches(node, contextSelector); }, container);
if (!id) {
container.removeAttribute('id');
}
return match;
};

@@ -5,5 +5,11 @@ /**

export * from './main';
export { NODE_INDEX as ɵf } from './constants';
export { BindingDirectiveBase as ɵg } from './data-binding/binding-directive-base';
export { bodyFactory as ɵa } from './rendering/item.component';
export { NODE_INDEX as ɵg } from './constants';
export { ContextMenuItemsService as ɵk } from './context-menu/context-menu-items.service';
export { ContextMenuTargetContainerDirective as ɵn } from './context-menu/context-menu-target-container.directive';
export { ContextMenuTargetDirective as ɵl } from './context-menu/context-menu-target.directive';
export { ContextMenuTargetService as ɵm } from './context-menu/context-menu-target.service';
export { ContextMenuService as ɵf } from './context-menu/context-menu.service';
export { BindingDirectiveBase as ɵj } from './data-binding/binding-directive-base';
export { MenuBase as ɵa } from './menu-base';
export { PreventableEvent as ɵi } from './preventable-event';
export { ActionsService as ɵc } from './services/actions.service';

@@ -13,1 +19,2 @@ export { HoverService as ɵe } from './services/hover.service';

export { NavigationService as ɵd } from './services/navigation.service';
export { bodyFactory as ɵh } from './utils';

@@ -15,1 +15,8 @@ export { MenuComponent } from './menu.component';

export { MenuModule } from './menu.module';
export { ContextMenuEvent } from './context-menu/context-menu-event';
export { ContextMenuSelectEvent } from './context-menu/context-menu-select-event';
export { ContextMenuPopupEvent } from './context-menu/context-menu-popup-event';
export { ContextMenuTemplateDirective } from './context-menu/context-menu-template.directive';
export { ContextMenuComponent } from './context-menu/context-menu.component';
export { ContextMenuModule } from './context-menu/context-menu.module';
export { MenusModule } from './menus.module';

@@ -0,29 +1,13 @@

import * as tslib_1 from "tslib";
import { PreventableEvent } from './preventable-event';
/**
* A `MenuComponent` event.
* An event of the MenuComponent.
*/
var MenuEvent = /** @class */ (function () {
function MenuEvent(args) {
this.prevented = false;
Object.assign(this, args);
var MenuEvent = /** @class */ (function (_super) {
tslib_1.__extends(MenuEvent, _super);
function MenuEvent() {
return _super !== null && _super.apply(this, arguments) || this;
}
/**
* Prevents the default action for a specified event.
* In this way, the source component suppresses
* the built-in behavior that follows the event.
*/
MenuEvent.prototype.preventDefault = function () {
this.prevented = true;
};
/**
* Returns `true` if the event was prevented
* by any of its subscribers.
*
* @returns `true` if the default action was prevented.
* Otherwise, returns `false`.
*/
MenuEvent.prototype.isDefaultPrevented = function () {
return this.prevented;
};
return MenuEvent;
}());
}(PreventableEvent));
export { MenuEvent };

@@ -6,3 +6,4 @@ import { Component, Input, ContentChildren } from '@angular/core';

/**
* A component that can be used to specify the Menu items.
* A component that can be used to specify the Menu items
* ([more information and examples]({% slug items_menu %})).
*

@@ -48,3 +49,2 @@ * @example

* }
*
* ```

@@ -119,2 +119,3 @@ */

'data': [{ type: Input },],
'separator': [{ type: Input },],
'itemTemplate': [{ type: ContentChildren, args: [ItemTemplateDirective,] },],

@@ -121,0 +122,0 @@ 'itemLinkTemplate': [{ type: ContentChildren, args: [ItemLinkTemplateDirective,] },],

import * as tslib_1 from "tslib";
import { MenuEvent } from './menu-event';
/**
* A `MenuComponent` event.
* The `select` event of the MenuComponent.
*/

@@ -6,0 +6,0 @@ var MenuSelectEvent = /** @class */ (function (_super) {

@@ -1,2 +0,3 @@

import { Component, Input, ContentChildren, HostBinding, EventEmitter, Output, NgZone, Renderer2 } from '@angular/core';
import * as tslib_1 from "tslib";
import { Component, Input, HostBinding, EventEmitter, Output, NgZone, Renderer2, Optional, forwardRef } from '@angular/core';
import { LocalizationService, L10N_PREFIX } from '@progress/kendo-angular-l10n';

@@ -7,9 +8,9 @@ import { ItemsService } from './services/items.service';

import { HoverService } from './services/hover.service';
import { MenuItemComponent } from './menu-item.component';
import { ItemTemplateDirective } from './templates/item-template.directive';
import { ItemLinkTemplateDirective } from './templates/item-link-template.directive';
import { normalize } from './open-on-click-settings';
import { inMenu } from './dom-queries';
import { ContextMenuService } from './context-menu/context-menu.service';
import { MenuBase } from './menu-base';
import { KeyCodes } from './constants';
/**
* Represents the Kendo UI Menu component for Angular.
* Represents the [Kendo UI Menu component for Angular]({% slug overview_menu %}).
*

@@ -30,43 +31,34 @@ * @example

*/
var MenuComponent = /** @class */ (function () {
function MenuComponent(itemsService, hover, actions, navigation, localization, ngZone, renderer) {
this.itemsService = itemsService;
this.hover = hover;
this.actions = actions;
this.navigation = navigation;
this.localization = localization;
this.ngZone = ngZone;
this.renderer = renderer;
var MenuComponent = /** @class */ (function (_super) {
tslib_1.__extends(MenuComponent, _super);
function MenuComponent(itemsService, hover, actions, navigation, localization, ngZone, renderer, contextService) {
var _this = _super.call(this) || this;
_this.itemsService = itemsService;
_this.hover = hover;
_this.actions = actions;
_this.navigation = navigation;
_this.localization = localization;
_this.ngZone = ngZone;
_this.renderer = renderer;
_this.contextService = contextService;
/**
* Specifies if the Menu will be vertical.
* Fires when a Menu item is selected ([see example]({% slug routing_menu %})).
*/
this.vertical = false;
_this.select = new EventEmitter();
/**
* Specifies that the root items can be opened only on click.
*/
this.openOnClick = false;
/**
* Specifies the delay in milliseconds before the Menu items are opened or closed on item hover, or leave.
* Used to avoid accidental closure on leaving.
*/
this.hoverDelay = 100;
/**
* Sets the menu animation.
*/
this.animate = true;
/**
* Fires when a Menu item is selected.
*/
this.select = new EventEmitter();
/**
* Fires when a Menu item is opened.
*/
this.open = new EventEmitter();
_this.open = new EventEmitter();
/**
* Fires when a Menu item is closed.
*/
this.close = new EventEmitter();
this.actions.owner = this;
_this.close = new EventEmitter();
_this.actions.owner = _this;
if (contextService) {
contextService.items = _this.itemsService;
_this.contextKeyDownSubscription = contextService.keydown.subscribe(_this.contextKeyDown.bind(_this));
}
return _this;
}
Object.defineProperty(MenuComponent.prototype, "rootItems", {
Object.defineProperty(MenuComponent.prototype, "ariaOrientation", {
/**

@@ -76,3 +68,5 @@ * @hidden

get: function () {
return this.items || (this.children ? this.children.toArray() : []);
if (this.vertical) {
return 'vertical';
}
},

@@ -82,3 +76,3 @@ enumerable: true,

});
Object.defineProperty(MenuComponent.prototype, "ariaOrientation", {
Object.defineProperty(MenuComponent.prototype, "contextMenuClass", {
/**

@@ -88,5 +82,3 @@ * @hidden

get: function () {
if (this.vertical) {
return 'vertical';
}
return Boolean(this.contextService);
},

@@ -111,3 +103,3 @@ enumerable: true,

/**
* Opens or closes the specified menu items.
* Opens or closes the specified Menu items.
*

@@ -134,2 +126,8 @@ * @param open - A Boolean value which indicates if the items will be opened or closed.

};
/**
* @hidden
*/
MenuComponent.prototype.focus = function (index) {
this.navigation.focusIndex(index);
};
MenuComponent.prototype.ngOnChanges = function (changes) {

@@ -154,2 +152,6 @@ this.navigation.vertical = this.vertical;

this.unsubscribeClick();
if (this.contextService) {
this.contextService.items = null;
this.contextKeyDownSubscription.unsubscribe();
}
};

@@ -175,2 +177,22 @@ MenuComponent.prototype.attachCloseClick = function () {

};
MenuComponent.prototype.contextKeyDown = function (e) {
if (!this.itemsService.hasItems) {
return;
}
var keyCode = e.keyCode;
var rtl = this.localization.rtl;
var first = keyCode === KeyCodes.DOWN || keyCode === KeyCodes.RIGHT;
var last = keyCode === KeyCodes.UP || keyCode === KeyCodes.LEFT;
var index;
if ((first && !rtl) || (last && rtl)) {
index = 'first';
}
else if ((first && rtl) || (last && !rtl)) {
index = 'last';
}
if (index) {
e.preventDefault();
this.focus(index);
}
};
MenuComponent.decorators = [

@@ -188,6 +210,10 @@ { type: Component, args: [{

useValue: 'kendo.menu'
},
{
provide: MenuBase,
useExisting: forwardRef(function () { return MenuComponent; })
}
],
selector: 'kendo-menu',
template: "\n <ul role=\"menubar\"\n [attr.aria-orientation]=\"ariaOrientation\"\n kendoMenuList [items]=\"rootItems\" [level]=\"0\" class=\"k-widget k-reset k-header k-menu\"\n [vertical]=\"vertical\" [rtl]=\"rtl\" [animate]=\"animate\" [openOnClick]=\"openOnClick\"\n [itemTemplate]=\"itemTemplate.first?.templateRef\"\n [itemLinkTemplate]=\"itemLinkTemplate.first?.templateRef\"\n [class.k-menu-horizontal]=\"!vertical\"\n [class.k-menu-vertical]=\"vertical\">\n </ul>\n "
template: "\n <ul role=\"menubar\"\n [attr.aria-orientation]=\"ariaOrientation\"\n kendoMenuList [items]=\"rootItems\" [level]=\"0\" class=\"k-widget k-reset k-header k-menu\"\n [vertical]=\"vertical\" [rtl]=\"rtl\" [animate]=\"animate\" [openOnClick]=\"openOnClick\"\n [itemTemplate]=\"itemTemplate.first?.templateRef || menuItemTemplate\"\n [itemLinkTemplate]=\"itemLinkTemplate.first?.templateRef || menuItemLinkTemplate\"\n [class.k-menu-horizontal]=\"!vertical\"\n [class.k-menu-vertical]=\"vertical\"\n [class.k-context-menu]=\"contextMenuClass\">\n </ul>\n "
},] },

@@ -204,19 +230,14 @@ ];

{ type: Renderer2, },
{ type: ContextMenuService, decorators: [{ type: Optional },] },
]; };
MenuComponent.propDecorators = {
'items': [{ type: Input },],
'vertical': [{ type: Input },],
'openOnClick': [{ type: Input },],
'hoverDelay': [{ type: Input },],
'animate': [{ type: Input },],
'menuItemTemplate': [{ type: Input },],
'menuItemLinkTemplate': [{ type: Input },],
'select': [{ type: Output },],
'open': [{ type: Output },],
'close': [{ type: Output },],
'itemTemplate': [{ type: ContentChildren, args: [ItemTemplateDirective,] },],
'itemLinkTemplate': [{ type: ContentChildren, args: [ItemLinkTemplateDirective,] },],
'children': [{ type: ContentChildren, args: [MenuItemComponent,] },],
'direction': [{ type: HostBinding, args: ['class.k-rtl',] },],
};
return MenuComponent;
}());
}(MenuBase));
export { MenuComponent };

@@ -6,10 +6,3 @@ import { Component, Input, ElementRef, Renderer2, ViewChild, ChangeDetectorRef, HostBinding } from '@angular/core';

import { PopupService, POPUP_CONTAINER } from '@progress/kendo-angular-popup';
/**
* @hidden
*/
export var bodyFactory = function () {
if (typeof document !== 'undefined') {
return new ElementRef(document.body);
}
};
import { bodyFactory } from '../utils';
/* tslint:disable:component-selector */

@@ -266,2 +259,3 @@ /**

'index': [{ type: Input },],
'siblingIndex': [{ type: Input },],
'animate': [{ type: Input },],

@@ -268,0 +262,0 @@ 'vertical': [{ type: Input },],

@@ -143,3 +143,3 @@ import { Component, Input, ElementRef, Renderer2, NgZone } from '@angular/core';

selector: '[kendoMenuList]',
template: "\n <li *ngFor=\"let item of items; let idx = index\" kendoMenuItem\n [item]=\"item\" [level]=\"level\" [vertical]=\"vertical\" [animate]=\"animate\" [rtl]=\"rtl\"\n [itemTemplate]=\"itemTemplate\" [itemLinkTemplate]=\"itemLinkTemplate\" [openOnClick]=\"openOnClick\"\n [index]=\"hierarchyIndex(idx)\" [attr." + NODE_INDEX + "]=\"hierarchyIndex(idx)\"\n [ngClass]=\"item.cssClass\" [ngStyle]=\"item.cssStyle\"\n role=\"menuitem\"\n class=\"k-item k-menu-item\"\n [class.k-first]=\"idx === 0\" [class.k-last]=\"idx === items.length - 1\"\n [class.k-state-disabled]=\"item.disabled\"></li>\n "
template: "\n <ng-container *ngFor=\"let item of items; let idx = index\">\n <li *ngIf=\"!item.separator\" kendoMenuItem\n [item]=\"item\" [level]=\"level\" [vertical]=\"vertical\" [animate]=\"animate\" [rtl]=\"rtl\"\n [itemTemplate]=\"itemTemplate\" [itemLinkTemplate]=\"itemLinkTemplate\" [openOnClick]=\"openOnClick\"\n [index]=\"hierarchyIndex(idx)\" [siblingIndex]=\"idx\" [attr." + NODE_INDEX + "]=\"hierarchyIndex(idx)\"\n [ngClass]=\"item.cssClass\" [ngStyle]=\"item.cssStyle\"\n role=\"menuitem\"\n class=\"k-item k-menu-item\"\n [class.k-first]=\"idx === 0\" [class.k-last]=\"idx === items.length - 1\"\n [class.k-state-disabled]=\"item.disabled\"></li>\n <li *ngIf=\"item.separator\" class=\"k-separator k-item\"\n role=\"separator\" [ngClass]=\"item.cssClass\" [ngStyle]=\"item.cssStyle\">\n &nbsp;\n </li>\n </ng-container>\n "
},] },

@@ -146,0 +146,0 @@ ];

import { NgZone, Injectable } from '@angular/core';
import { ItemsService } from './items.service';
import { MenuEvent } from '../menu-event';
var hasObservers = function (emitter) { return emitter && emitter.observers.length > 0; };
import { hasObservers } from '../utils';
var canPerformAction = function (item, action) {

@@ -80,9 +80,14 @@ return !((action === 'open' && item.opened) || (action === 'close' && !item.opened));

ActionsService.prototype.emit = function (name, item, domEvent) {
var owner = this.owner;
var eventArgs = new MenuEvent({
sender: this.owner,
sender: owner,
item: item.item,
index: item.index,
originalEvent: domEvent
originalEvent: domEvent,
hasContent: item.hasContent
});
this.owner[name].emit(eventArgs);
owner[name].emit(eventArgs);
if (owner.contextService) {
owner.contextService.emit(name, eventArgs);
}
return eventArgs.isDefaultPrevented();

@@ -138,5 +143,8 @@ };

var actions = toExecute || this.actions;
var owner = this.owner;
var contextService = owner.contextService;
for (var idx = 0; idx < actions.length; idx++) {
var action = actions[idx];
if (action.requiresZone || (action.name && hasObservers(this.owner[action.name]))) {
var name_2 = action.name;
if (action.requiresZone || (name_2 && (hasObservers(owner[name_2]) || (contextService && contextService.hasObservers(name_2))))) {
return true;

@@ -143,0 +151,0 @@ }

@@ -5,2 +5,19 @@ import { Injectable } from '@angular/core';

var id = 0;
var itemIndexComparer = function (a, b) { return a.siblingIndex - b.siblingIndex; };
var next = function (idx, items, dir) {
var current = items[idx + dir];
while (!current) {
if (idx < 0) {
idx = items.length - 1;
}
else if (idx >= items.length) {
idx = 0;
}
else {
idx += dir;
}
current = items[idx];
}
return current;
};
/**

@@ -77,6 +94,6 @@ * @hidden

if (predicate(index, items[index])) {
result.push(index);
result.push(items[index]);
}
}
return result.sort().map(function (index) { return items[index]; });
return result.sort(itemIndexComparer);
};

@@ -86,4 +103,3 @@ ItemsService.prototype.previous = function (item) {

var itemIndex = siblings.indexOf(item);
var idx = itemIndex === 0 ? siblings.length - 1 : itemIndex - 1;
return this.items[this.itemIndex(this.parentIndex(item.index), idx)];
return next(itemIndex, siblings, -1);
};

@@ -93,4 +109,3 @@ ItemsService.prototype.next = function (item) {

var itemIndex = siblings.indexOf(item);
var idx = itemIndex === siblings.length - 1 ? 0 : itemIndex + 1;
return this.items[this.itemIndex(this.parentIndex(item.index), idx)];
return next(itemIndex, siblings, 1);
};

@@ -97,0 +112,0 @@ ItemsService.prototype.hasParent = function (item, parent) {

@@ -109,2 +109,27 @@ import { Injectable, NgZone } from '@angular/core';

};
NavigationService.prototype.focusIndex = function (index) {
if (!index && this.activeItem) {
this.setFocus(this.activeItem);
}
else if (index === 'first') {
this.focusFirst();
}
else if (index === 'last') {
this.focusLast();
}
else {
var item = this.items.get(index);
if (item) {
this.focus(item);
}
}
};
NavigationService.prototype.focusFirst = function () {
var items = this.items.siblings(this.items.get('0'));
this.focus(items[0]);
};
NavigationService.prototype.focusLast = function () {
var items = this.items.siblings(this.items.get('0'));
this.focus(items[items.length - 1]);
};
NavigationService.prototype.search = function (current, key) {

@@ -111,0 +136,0 @@ var siblings = this.items.siblings(current);

import { Directive, TemplateRef, Optional } from '@angular/core';
/**
* Represents a template for the content of the Menu items.
* Represents a template for the content of the Menu items ([see example]({% slug templates_menu %})). To define the template,
* nest an `<ng-template>` tag with the `kendoMenuItemContentTemplate` directive inside a `<kendo-menu-item>` component.
*
* To define the template, nest an `<ng-template>` tag with the `kendoMenuItemContentTemplate` directive inside
* a `<kendo-menu-item>` component.
*
* The available fields in the template context are:

@@ -32,3 +30,2 @@ * - `item`&mdash;The item data.

* }
*
* ```

@@ -35,0 +32,0 @@ */

import { Directive, TemplateRef, Optional } from '@angular/core';
/**
* Represents a template for the links of the Menu items.
* Represents a template for the links of the Menu items ([see example]({% slug templates_menu %})). To define a template
* for an item, nest an `<ng-template>` tag with the `kendoMenuItemLinkTemplate` directive inside a `<kendo-menu-item>`
* component. To define a template for all Menu items, nest the template inside the `<kendo-menu>` component.
*
* To define a template for an item, nest an `<ng-template>` tag with the `kendoMenuItemLinkTemplate` directive inside
* a `<kendo-menu-item>` component. To define a template for all Menu items, nest the template inside the `<kendo-menu>` component.
*
* The available fields in the template context are:

@@ -33,3 +32,2 @@ * - `item`&mdash;The item data.

* }
*
* ```

@@ -36,0 +34,0 @@ */

import { Directive, TemplateRef, Optional } from '@angular/core';
/**
* Represents a template for the Menu items.
* Represents a template for the Menu items ([see example]({% slug templates_menu %})). To define a template
* for an item, nest an `<ng-template>` tag with the `kendoMenuItemTemplate` directive inside a `<kendo-menu-item>`
* component. To define a template for all Menu items, nest the template inside the `<kendo-menu>` component.
*
* To define a template for an item, nest an `<ng-template>` tag with the `kendoMenuItemTemplate` directive inside
* a `<kendo-menu-item>` component. To define a template for all Menu items, nest the template inside the `<kendo-menu>` component.
*
* The available fields in the template context are:

@@ -32,3 +31,2 @@ * - `item`&mdash;The item data.

* }
*
* ```

@@ -35,0 +33,0 @@ */

@@ -5,1 +5,12 @@ /**

export declare const NODE_INDEX = "data-kendo-menu-index";
/**
* @hidden
*/
export declare enum KeyCodes {
ESC = 27,
LEFT = 37,
UP = 38,
RIGHT = 39,
DOWN = 40,
F10 = 121,
}

@@ -5,1 +5,13 @@ /**

export const NODE_INDEX = 'data-kendo-menu-index';
/**
* @hidden
*/
export var KeyCodes;
(function (KeyCodes) {
KeyCodes[KeyCodes["ESC"] = 27] = "ESC";
KeyCodes[KeyCodes["LEFT"] = 37] = "LEFT";
KeyCodes[KeyCodes["UP"] = 38] = "UP";
KeyCodes[KeyCodes["RIGHT"] = 39] = "RIGHT";
KeyCodes[KeyCodes["DOWN"] = 40] = "DOWN";
KeyCodes[KeyCodes["F10"] = 121] = "F10";
})(KeyCodes || (KeyCodes = {}));
import { OnChanges } from '@angular/core';
import { MenuComponent } from '../menu.component';
import { MenuBase } from '../menu-base';
/**

@@ -7,9 +7,9 @@ * @hidden

export declare abstract class BindingDirectiveBase implements OnChanges {
protected menu: MenuComponent;
protected menu: MenuBase;
data: any[];
protected fields: any[];
constructor(menu: MenuComponent);
constructor(menu: MenuBase);
ngOnChanges(): void;
/**
* Rebinds the menu items.
* Rebinds the Menu items.
*/

@@ -16,0 +16,0 @@ rebind(): void;

@@ -1,2 +0,2 @@

const ITEM_FIELDS = ['textField', 'urlField', 'iconField', 'disabledField', 'cssClassField', 'cssStyleField'];
const ITEM_FIELDS = ['textField', 'urlField', 'iconField', 'disabledField', 'cssClassField', 'cssStyleField', 'separatorField'];
/**

@@ -13,3 +13,3 @@ * @hidden

/**
* Rebinds the menu items.
* Rebinds the Menu items.
*/

@@ -16,0 +16,0 @@ rebind() {

@@ -1,46 +0,50 @@

import { MenuComponent } from '../menu.component';
import { MenuBase } from '../menu-base';
import { BindingDirectiveBase } from './binding-directive-base';
/**
* A directive that converts the provided flat data to [`MenuItems`]({% slug api_menu_menuitem %}) and binds them to the menu.
* A directive that converts the provided flat data to [MenuItems]({% slug api_menu_menuitem %}) and binds them to the Menu.
*/
export declare class FlatBindingDirective extends BindingDirectiveBase {
/**
* The array of data which will be used to populate the menu.
* The array of data which will be used to populate the Menu.
*/
data: any[];
/**
* Defines the text field of the items.
* Defines the `text` field of the items.
*/
textField: string;
/**
* Defines the url field of the items.
* Defines the `url` field of the items.
*/
urlField: string;
/**
* Defines the icon field of the items.
* Defines the `icon` field of the items.
*/
iconField: string | string[];
/**
* Defines the disabled field of the items.
* Defines the `disabled` field of the items.
*/
disabledField: string;
/**
* Defines the cssClass field of the items.
* Defines the `cssClass` field of the items.
*/
cssClassField: string;
/**
* Defines the cssStyle field of the items.
* Defines the `cssStyle` field of the items.
*/
cssStyleField: string;
/**
* Defines the id field field of the items.
* Defines the `separator` field of the items.
*/
separatorField: string;
/**
* Defines the `id` field of the items.
*/
idField: string;
/**
* Defines the parent id field field of the items.
* Defines the parent `id` field of the items.
*/
parentIdField: string;
constructor(menu: MenuComponent);
constructor(menu: MenuBase);
protected mapItems(items: any[]): any[];
protected createItem(dataItem: any): any;
}
import { Directive, Input } from '@angular/core';
import { MenuComponent } from '../menu.component';
import { MenuBase } from '../menu-base';
import { BindingDirectiveBase } from './binding-directive-base';

@@ -7,3 +7,3 @@ import { getter } from './utils';

/**
* A directive that converts the provided flat data to [`MenuItems`]({% slug api_menu_menuitem %}) and binds them to the menu.
* A directive that converts the provided flat data to [MenuItems]({% slug api_menu_menuitem %}) and binds them to the Menu.
*/

@@ -58,3 +58,3 @@ export class FlatBindingDirective extends BindingDirectiveBase {

FlatBindingDirective.ctorParameters = () => [
{ type: MenuComponent, },
{ type: MenuBase, },
];

@@ -69,4 +69,5 @@ FlatBindingDirective.propDecorators = {

'cssStyleField': [{ type: Input },],
'separatorField': [{ type: Input },],
'idField': [{ type: Input },],
'parentIdField': [{ type: Input },],
};

@@ -1,40 +0,44 @@

import { MenuComponent } from '../menu.component';
import { MenuBase } from '../menu-base';
import { BindingDirectiveBase } from './binding-directive-base';
/**
* A directive that converts the provided hierarchical data to [`MenuItems`]({% slug api_menu_menuitem %}) and binds them to the menu.
* A directive that converts the provided hierarchical data to [MenuItems]({% slug api_menu_menuitem %}) and binds them to the Menu.
*/
export declare class HierarchyBindingDirective extends BindingDirectiveBase {
/**
* The array of data which will be used to populate the menu.
* The array of data which will be used to populate the Menu.
*/
data: any[];
/**
* Defines the text field(s) of the items.
* Defines the `text` field (or fields) of an item.
*/
textField: string | string[];
/**
* Defines the url field(s) of the items.
* Defines the `url` field (or fields) of an item.
*/
urlField: string | string[];
/**
* Defines the icon field(s) of the items.
* Defines the `icon` field (or fields) of an item.
*/
iconField: string | string[];
/**
* Defines the disabled field(s) of the items.
* Defines the `disabled` field (or fields) of an item.
*/
disabledField: string | string[];
/**
* Defines the cssClass field(s) of the items.
* Defines the `cssClass` field (or fields) of an item.
*/
cssClassField: string | string[];
/**
* Defines the cssStyle field(s) of the items.
* Defines the `cssStyle` field (or fields) of an item.
*/
cssStyleField: string | string[];
/**
* Defines the children field(s) of the items.
* Defines the `separator` field (or fields) of the items.
*/
separatorField: string | string[];
/**
* Defines the `children` field (or fields) of the items.
*/
childrenField: string | string[];
constructor(menu: MenuComponent);
constructor(menu: MenuBase);
protected mapItems(items: any[], level?: number): any[];

@@ -41,0 +45,0 @@ protected createItem(item: any, level: number): any;

import { Directive, Input } from '@angular/core';
import { MenuComponent } from '../menu.component';
import { MenuBase } from '../menu-base';
import { BindingDirectiveBase } from './binding-directive-base';

@@ -8,3 +8,3 @@ import { getter, last } from './utils';

/**
* A directive that converts the provided hierarchical data to [`MenuItems`]({% slug api_menu_menuitem %}) and binds them to the menu.
* A directive that converts the provided hierarchical data to [MenuItems]({% slug api_menu_menuitem %}) and binds them to the Menu.
*/

@@ -49,3 +49,3 @@ export class HierarchyBindingDirective extends BindingDirectiveBase {

HierarchyBindingDirective.ctorParameters = () => [
{ type: MenuComponent, },
{ type: MenuBase, },
];

@@ -60,3 +60,4 @@ HierarchyBindingDirective.propDecorators = {

'cssStyleField': [{ type: Input },],
'separatorField': [{ type: Input },],
'childrenField': [{ type: Input },],
};

@@ -37,1 +37,5 @@ /**

export declare const inMenu: (node: any, itemsService: any) => any;
/**
* @hidden
*/
export declare const findInContainer: (element: any, selector: string, container: any) => any;
import { NODE_INDEX } from './constants';
const DEFAULT_ID = 'kendo-matches-container';
const focusableRegex = /^(?:a|input|select|option|textarea|button|object)$/i;
const matches = (element, selector) => (element.matches || element.msMatchesSelector).call(element, selector);
/**

@@ -84,1 +86,16 @@ * @hidden

};
/**
* @hidden
*/
export const findInContainer = (element, selector, container) => {
const id = container.getAttribute('id');
if (!id) {
container.setAttribute('id', DEFAULT_ID);
}
const contextSelector = `#${id || DEFAULT_ID} ${selector}`;
const match = closestInScope(element, node => matches(node, contextSelector), container);
if (!id) {
container.removeAttribute('id');
}
return match;
};

@@ -5,5 +5,11 @@ /**

export * from './main';
export { NODE_INDEX as ɵf } from './constants';
export { BindingDirectiveBase as ɵg } from './data-binding/binding-directive-base';
export { bodyFactory as ɵa } from './rendering/item.component';
export { NODE_INDEX as ɵg } from './constants';
export { ContextMenuItemsService as ɵk } from './context-menu/context-menu-items.service';
export { ContextMenuTargetContainerDirective as ɵn } from './context-menu/context-menu-target-container.directive';
export { ContextMenuTargetDirective as ɵl } from './context-menu/context-menu-target.directive';
export { ContextMenuTargetService as ɵm } from './context-menu/context-menu-target.service';
export { ContextMenuService as ɵf } from './context-menu/context-menu.service';
export { BindingDirectiveBase as ɵj } from './data-binding/binding-directive-base';
export { MenuBase as ɵa } from './menu-base';
export { PreventableEvent as ɵi } from './preventable-event';
export { ActionsService as ɵc } from './services/actions.service';

@@ -13,1 +19,2 @@ export { HoverService as ɵe } from './services/hover.service';

export { NavigationService as ɵd } from './services/navigation.service';
export { bodyFactory as ɵh } from './utils';

@@ -5,5 +5,11 @@ /**

export * from './main';
export { NODE_INDEX as ɵf } from './constants';
export { BindingDirectiveBase as ɵg } from './data-binding/binding-directive-base';
export { bodyFactory as ɵa } from './rendering/item.component';
export { NODE_INDEX as ɵg } from './constants';
export { ContextMenuItemsService as ɵk } from './context-menu/context-menu-items.service';
export { ContextMenuTargetContainerDirective as ɵn } from './context-menu/context-menu-target-container.directive';
export { ContextMenuTargetDirective as ɵl } from './context-menu/context-menu-target.directive';
export { ContextMenuTargetService as ɵm } from './context-menu/context-menu-target.service';
export { ContextMenuService as ɵf } from './context-menu/context-menu.service';
export { BindingDirectiveBase as ɵj } from './data-binding/binding-directive-base';
export { MenuBase as ɵa } from './menu-base';
export { PreventableEvent as ɵi } from './preventable-event';
export { ActionsService as ɵc } from './services/actions.service';

@@ -13,1 +19,2 @@ export { HoverService as ɵe } from './services/hover.service';

export { NavigationService as ɵd } from './services/navigation.service';
export { bodyFactory as ɵh } from './utils';

@@ -1,1 +0,1 @@

{"__symbolic":"module","version":3,"metadata":{"MenuComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component"},"arguments":[{"exportAs":"kendoMenu","providers":[{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","module":"@progress/kendo-angular-l10n","name":"LocalizationService"},{"provide":{"__symbolic":"reference","module":"@progress/kendo-angular-l10n","name":"L10N_PREFIX"},"useValue":"kendo.menu"}],"selector":"kendo-menu","template":"\n <ul role=\"menubar\"\n [attr.aria-orientation]=\"ariaOrientation\"\n kendoMenuList [items]=\"rootItems\" [level]=\"0\" class=\"k-widget k-reset k-header k-menu\"\n [vertical]=\"vertical\" [rtl]=\"rtl\" [animate]=\"animate\" [openOnClick]=\"openOnClick\"\n [itemTemplate]=\"itemTemplate.first?.templateRef\"\n [itemLinkTemplate]=\"itemLinkTemplate.first?.templateRef\"\n [class.k-menu-horizontal]=\"!vertical\"\n [class.k-menu-vertical]=\"vertical\">\n </ul>\n "}]}],"members":{"items":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"vertical":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"openOnClick":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"hoverDelay":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"animate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"select":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"open":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"close":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"itemTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren"},"arguments":[{"__symbolic":"reference","name":"ItemTemplateDirective"}]}]}],"itemLinkTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren"},"arguments":[{"__symbolic":"reference","name":"ItemLinkTemplateDirective"}]}]}],"children":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren"},"arguments":[{"__symbolic":"reference","name":"MenuItemComponent"}]}]}],"direction":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.k-rtl"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","module":"@progress/kendo-angular-l10n","name":"LocalizationService"},{"__symbolic":"reference","module":"@angular/core","name":"NgZone"},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2"}]}],"toggle":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngAfterViewChecked":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"attachCloseClick":[{"__symbolic":"method"}],"unsubscribeClick":[{"__symbolic":"method"}]}},"ListComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component"},"arguments":[{"selector":"[kendoMenuList]","template":{"__symbolic":"binop","operator":"+","left":{"__symbolic":"binop","operator":"+","left":"\n <li *ngFor=\"let item of items; let idx = index\" kendoMenuItem\n [item]=\"item\" [level]=\"level\" [vertical]=\"vertical\" [animate]=\"animate\" [rtl]=\"rtl\"\n [itemTemplate]=\"itemTemplate\" [itemLinkTemplate]=\"itemLinkTemplate\" [openOnClick]=\"openOnClick\"\n [index]=\"hierarchyIndex(idx)\" [attr.","right":{"__symbolic":"reference","name":"ɵf"}},"right":"]=\"hierarchyIndex(idx)\"\n [ngClass]=\"item.cssClass\" [ngStyle]=\"item.cssStyle\"\n role=\"menuitem\"\n class=\"k-item k-menu-item\"\n [class.k-first]=\"idx === 0\" [class.k-last]=\"idx === items.length - 1\"\n [class.k-state-disabled]=\"item.disabled\"></li>\n "}}]}],"members":{"items":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"level":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"index":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"animate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"vertical":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"rtl":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"openOnClick":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"itemTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"itemLinkTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2"},{"__symbolic":"reference","module":"@angular/core","name":"NgZone"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef"}]}],"hierarchyIndex":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"initDomEvents":[{"__symbolic":"method"}],"leavesMenu":[{"__symbolic":"method"}],"onLeave":[{"__symbolic":"method"}],"nodeItem":[{"__symbolic":"method"}],"clickHandler":[{"__symbolic":"method"}]}},"ɵa":{"__symbolic":"error","message":"Function call not supported","line":12,"character":27,"module":"./rendering/item.component"},"ItemComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component"},"arguments":[{"providers":[{"__symbolic":"reference","module":"@progress/kendo-angular-popup","name":"PopupService"},{"provide":{"__symbolic":"reference","module":"@progress/kendo-angular-popup","name":"POPUP_CONTAINER"},"useFactory":{"__symbolic":"reference","name":"ɵa"}}],"selector":"[kendoMenuItem]","template":"\n <span *ngIf=\"!hasLink && !item.content && !linkTemplate\" class=\"k-link k-menu-link\" #link\n [class.k-state-active]=\"opened\" role=\"presentation\">\n <ng-template [ngTemplateOutlet]=\"itemcontent\">\n </ng-template>\n </span>\n <a *ngIf=\"item.url && !linkTemplate\" class=\"k-link k-menu-link\" #link [attr.href]=\"item.url\"\n [class.k-state-active]=\"opened\" tabindex=\"-1\" role=\"presentation\">\n <ng-template [ngTemplateOutlet]=\"itemcontent\">\n </ng-template>\n </a>\n <ng-template *ngIf=\"linkTemplate && !item.content\" [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ item: item, index: index }\">\n </ng-template>\n\n <div class=\"k-content\" *ngIf=\"item.content\" role=\"presentation\">\n <ng-template [ngTemplateOutlet]=\"item.content\" [ngTemplateOutletContext]=\"{ item: item.owner, index: item.ownerIndex }\">\n </ng-template>\n </div>\n\n <ng-template #popupTemplate>\n <ul kendoMenuList\n [attr.id]=\"childId\"\n [animate]=\"animate\"\n [rtl]=\"rtl\"\n [vertical]=\"vertical\"\n [openOnClick]=\"openOnClick\"\n [items]=\"children\"\n [level]=\"level + 1\"\n [index]=\"index\"\n [itemTemplate]=\"itemTemplate\"\n [itemLinkTemplate]=\"itemLinkTemplate\"\n role=\"menu\"\n class=\"k-group k-menu-group k-reset\">\n </ul>\n </ng-template>\n\n <ng-template #itemcontent>\n <span *ngIf=\"item.icon\" class=\"k-icon\" [ngClass]=\"iconClass\" role=\"presentation\"></span>\n <ng-container *ngIf=\"!template\">\n {{ item.text }}\n </ng-container>\n <ng-template *ngIf=\"template\" [ngTemplateOutlet]=\"template\" [ngTemplateOutletContext]=\"{ item: item, index: index }\">\n </ng-template>\n <span class=\"k-icon k-menu-expand-arrow\" *ngIf=\"hasContent\"\n role=\"presentation\"\n [class.k-i-arrow-60-down]=\"!horizontal\"\n [class.k-i-arrow-60-right]=\"horizontal && !rtl\"\n [class.k-i-arrow-60-left]=\"horizontal && rtl\">\n </span>\n </ng-template>\n "}]}],"members":{"item":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"level":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"index":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"animate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"vertical":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"rtl":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"openOnClick":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"itemTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"itemLinkTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"link":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild"},"arguments":["link"]}]}],"popupTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild"},"arguments":["popupTemplate"]}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["attr.aria-disabled"]}]}],"hasPopup":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["attr.aria-haspopup"]}]}],"expanded":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["attr.aria-expanded"]}]}],"label":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["attr.aria-label"]}]}],"activeId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["attr.tabindex"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef"},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2"},{"__symbolic":"reference","module":"@progress/kendo-angular-popup","name":"PopupService"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef"}]}],"hasContentTemplates":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"focus":[{"__symbolic":"method"}],"toggleActive":[{"__symbolic":"method"}],"open":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"navigate":[{"__symbolic":"method"}],"setAttribute":[{"__symbolic":"method"}]}},"LinkDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive"},"arguments":[{"selector":"[kendoMenuItemLink]"}]}],"members":{"index":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"},"arguments":["kendoMenuItemLink"]}]}],"hostClasses":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.k-link"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.k-menu-link"]}]}],"role":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["attr.role"]}]}],"tabindex":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["attr.tabindex"]}]}],"activeClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.k-state-active"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵb"}]}],"ngOnInit":[{"__symbolic":"method"}]}},"ExpandArrowDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive"},"arguments":[{"selector":"[kendoMenuExpandArrow]"}]}],"members":{"index":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"},"arguments":["kendoMenuExpandArrow"]}]}],"hostClasses":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.k-icon"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.k-menu-expand-arrow"]}]}],"role":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["attr.role"]}]}],"arrowDown":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.k-i-arrow-60-down"]}]}],"arrowRight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.k-i-arrow-60-right"]}]}],"arrowLeft":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.k-i-arrow-60-left"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵb"}]}],"ngOnInit":[{"__symbolic":"method"}]}},"MenuItemComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component"},"arguments":[{"selector":"kendo-menu-item","template":""}]}],"members":{"text":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"url":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"cssClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"cssStyle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"icon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"data":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"itemTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren"},"arguments":[{"__symbolic":"reference","name":"ItemTemplateDirective"}]}]}],"itemLinkTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren"},"arguments":[{"__symbolic":"reference","name":"ItemLinkTemplateDirective"}]}]}],"itemContentTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren"},"arguments":[{"__symbolic":"reference","name":"ItemContentTemplateDirective"}]}]}],"children":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren"},"arguments":[{"__symbolic":"reference","name":"MenuItemComponent"}]}]}]}},"MenuAnimation":{"__symbolic":"interface"},"MenuItem":{"__symbolic":"interface"},"MenuEvent":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any"}]}],"preventDefault":[{"__symbolic":"method"}],"isDefaultPrevented":[{"__symbolic":"method"}]}},"MenuSelectEvent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"MenuEvent"},"members":{}},"OpenOnClickSettings":{"__symbolic":"interface"},"ItemContentTemplateDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive"},"arguments":[{"selector":"[kendoMenuItemContentTemplate]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional"}}]],"parameters":[{"__symbolic":"reference","name":"TemplateRef","module":"@angular/core","arguments":[{"__symbolic":"reference","name":"any"}]}]}]}},"ItemTemplateDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive"},"arguments":[{"selector":"[kendoMenuItemTemplate]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional"}}]],"parameters":[{"__symbolic":"reference","name":"TemplateRef","module":"@angular/core","arguments":[{"__symbolic":"reference","name":"any"}]}]}]}},"ItemLinkTemplateDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive"},"arguments":[{"selector":"[kendoMenuItemLinkTemplate]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional"}}]],"parameters":[{"__symbolic":"reference","name":"TemplateRef","module":"@angular/core","arguments":[{"__symbolic":"reference","name":"any"}]}]}]}},"HierarchyBindingDirective":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵg"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive"},"arguments":[{"exportAs":"kendoMenuHierarchyBinding","selector":"[kendoMenuHierarchyBinding]"}]}],"members":{"data":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"},"arguments":["kendoMenuHierarchyBinding"]}]}],"textField":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"urlField":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"iconField":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"disabledField":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"cssClassField":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"cssStyleField":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"childrenField":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"MenuComponent"}]}],"mapItems":[{"__symbolic":"method"}],"createItem":[{"__symbolic":"method"}],"getChildren":[{"__symbolic":"method"}]}},"FlatBindingDirective":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵg"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive"},"arguments":[{"exportAs":"kendoMenuFlatBinding","selector":"[kendoMenuFlatBinding]"}]}],"members":{"data":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"},"arguments":["kendoMenuFlatBinding"]}]}],"textField":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"urlField":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"iconField":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"disabledField":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"cssClassField":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"cssStyleField":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"idField":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"parentIdField":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"MenuComponent"}]}],"mapItems":[{"__symbolic":"method"}],"createItem":[{"__symbolic":"method"}]}},"MenuModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule"},"arguments":[{"declarations":[[{"__symbolic":"reference","name":"MenuComponent"},{"__symbolic":"reference","name":"MenuItemComponent"},{"__symbolic":"reference","name":"ItemTemplateDirective"},{"__symbolic":"reference","name":"ItemLinkTemplateDirective"},{"__symbolic":"reference","name":"ItemContentTemplateDirective"},{"__symbolic":"reference","name":"HierarchyBindingDirective"},{"__symbolic":"reference","name":"FlatBindingDirective"},{"__symbolic":"reference","name":"LinkDirective"},{"__symbolic":"reference","name":"ExpandArrowDirective"},{"__symbolic":"reference","name":"ListComponent"},{"__symbolic":"reference","name":"ItemComponent"}]],"exports":[[{"__symbolic":"reference","name":"MenuComponent"},{"__symbolic":"reference","name":"MenuItemComponent"},{"__symbolic":"reference","name":"ItemTemplateDirective"},{"__symbolic":"reference","name":"ItemLinkTemplateDirective"},{"__symbolic":"reference","name":"ItemContentTemplateDirective"},{"__symbolic":"reference","name":"HierarchyBindingDirective"},{"__symbolic":"reference","name":"FlatBindingDirective"},{"__symbolic":"reference","name":"LinkDirective"},{"__symbolic":"reference","name":"ExpandArrowDirective"}]],"imports":[{"__symbolic":"reference","module":"@progress/kendo-angular-popup","name":"PopupModule"},{"__symbolic":"reference","module":"@angular/common","name":"CommonModule"}]}]}],"members":{}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"childId":[{"__symbolic":"method"}],"itemIndex":[{"__symbolic":"method"}],"get":[{"__symbolic":"method"}],"add":[{"__symbolic":"method"}],"remove":[{"__symbolic":"method"}],"addList":[{"__symbolic":"method"}],"removeList":[{"__symbolic":"method"}],"containsList":[{"__symbolic":"method"}],"siblings":[{"__symbolic":"method"}],"otherSiblings":[{"__symbolic":"method"}],"children":[{"__symbolic":"method"}],"parent":[{"__symbolic":"method"}],"root":[{"__symbolic":"method"}],"indices":[{"__symbolic":"method"}],"filter":[{"__symbolic":"method"}],"previous":[{"__symbolic":"method"}],"next":[{"__symbolic":"method"}],"hasParent":[{"__symbolic":"method"}],"areSiblings":[{"__symbolic":"method"}],"forEach":[{"__symbolic":"method"}],"parentIndex":[{"__symbolic":"method"}]}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"NgZone"},{"__symbolic":"reference","name":"ɵb"}]}],"open":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"closeItem":[{"__symbolic":"method"}],"closeToRoot":[{"__symbolic":"method"}],"closeOthers":[{"__symbolic":"method"}],"closeAll":[{"__symbolic":"method"}],"select":[{"__symbolic":"method"}],"emit":[{"__symbolic":"method"}],"execute":[{"__symbolic":"method"}],"clear":[{"__symbolic":"method"}],"executeActions":[{"__symbolic":"method"}],"requiresZone":[{"__symbolic":"method"}],"closeChildren":[{"__symbolic":"method"}],"closeItems":[{"__symbolic":"method"}]}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","module":"@progress/kendo-angular-l10n","name":"LocalizationService"},{"__symbolic":"reference","module":"@angular/core","name":"NgZone"}]}],"focus":[{"__symbolic":"method"}],"setFocus":[{"__symbolic":"method"}],"focusLeave":[{"__symbolic":"method"}],"updateActive":[{"__symbolic":"method"}],"keydown":[{"__symbolic":"method"}],"search":[{"__symbolic":"method"}],"down":[{"__symbolic":"method"}],"up":[{"__symbolic":"method"}],"left":[{"__symbolic":"method"}],"right":[{"__symbolic":"method"}],"home":[{"__symbolic":"method"}],"end":[{"__symbolic":"method"}],"enter":[{"__symbolic":"method"}],"esc":[{"__symbolic":"method"}],"tab":[{"__symbolic":"method"}],"focusChild":[{"__symbolic":"method"}],"setActive":[{"__symbolic":"method"}]}},"ɵe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵb"}]}],"ngOnDestroy":[{"__symbolic":"method"}],"over":[{"__symbolic":"method"}],"leave":[{"__symbolic":"method"}],"closeCurrent":[{"__symbolic":"method"}],"scheduleActions":[{"__symbolic":"method"}],"scheduleDisableOpenOnOver":[{"__symbolic":"method"}],"removeScheduled":[{"__symbolic":"method"}],"cancelActions":[{"__symbolic":"method"}]}},"ɵf":"data-kendo-menu-index","ɵg":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"MenuComponent"}]}],"ngOnChanges":[{"__symbolic":"method"}],"rebind":[{"__symbolic":"method"}],"mapItems":[{"__symbolic":"method"}]}}},"origins":{"MenuComponent":"./menu.component","ListComponent":"./rendering/list.component","ɵa":"./rendering/item.component","ItemComponent":"./rendering/item.component","LinkDirective":"./rendering/link.directive","ExpandArrowDirective":"./rendering/arrow.directive","MenuItemComponent":"./menu-item.component","MenuAnimation":"./menu-animation.interface","MenuItem":"./menu-item.interface","MenuEvent":"./menu-event","MenuSelectEvent":"./menu-select-event","OpenOnClickSettings":"./open-on-click-settings","ItemContentTemplateDirective":"./templates/item-content-template.directive","ItemTemplateDirective":"./templates/item-template.directive","ItemLinkTemplateDirective":"./templates/item-link-template.directive","HierarchyBindingDirective":"./data-binding/hierachy-binding.directive","FlatBindingDirective":"./data-binding/flat-binding.directive","MenuModule":"./menu.module","ɵb":"./services/items.service","ɵc":"./services/actions.service","ɵd":"./services/navigation.service","ɵe":"./services/hover.service","ɵf":"./constants","ɵg":"./data-binding/binding-directive-base"},"importAs":"@progress/kendo-angular-menu"}
{"__symbolic":"module","version":3,"metadata":{"MenuComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵa"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component"},"arguments":[{"exportAs":"kendoMenu","providers":[{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","module":"@progress/kendo-angular-l10n","name":"LocalizationService"},{"provide":{"__symbolic":"reference","module":"@progress/kendo-angular-l10n","name":"L10N_PREFIX"},"useValue":"kendo.menu"},{"provide":{"__symbolic":"reference","name":"ɵa"},"useExisting":{"__symbolic":"reference","name":"MenuComponent"}}],"selector":"kendo-menu","template":"\n <ul role=\"menubar\"\n [attr.aria-orientation]=\"ariaOrientation\"\n kendoMenuList [items]=\"rootItems\" [level]=\"0\" class=\"k-widget k-reset k-header k-menu\"\n [vertical]=\"vertical\" [rtl]=\"rtl\" [animate]=\"animate\" [openOnClick]=\"openOnClick\"\n [itemTemplate]=\"itemTemplate.first?.templateRef || menuItemTemplate\"\n [itemLinkTemplate]=\"itemLinkTemplate.first?.templateRef || menuItemLinkTemplate\"\n [class.k-menu-horizontal]=\"!vertical\"\n [class.k-menu-vertical]=\"vertical\"\n [class.k-context-menu]=\"contextMenuClass\">\n </ul>\n "}]}],"members":{"menuItemTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"menuItemLinkTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"select":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"open":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"close":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"direction":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.k-rtl"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,null,null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional"}}]],"parameters":[{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","module":"@progress/kendo-angular-l10n","name":"LocalizationService"},{"__symbolic":"reference","module":"@angular/core","name":"NgZone"},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2"},{"__symbolic":"reference","name":"ɵf"}]}],"toggle":[{"__symbolic":"method"}],"focus":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngAfterViewChecked":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"attachCloseClick":[{"__symbolic":"method"}],"unsubscribeClick":[{"__symbolic":"method"}],"contextKeyDown":[{"__symbolic":"method"}]}},"ListComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component"},"arguments":[{"selector":"[kendoMenuList]","template":{"__symbolic":"binop","operator":"+","left":{"__symbolic":"binop","operator":"+","left":"\n <ng-container *ngFor=\"let item of items; let idx = index\">\n <li *ngIf=\"!item.separator\" kendoMenuItem\n [item]=\"item\" [level]=\"level\" [vertical]=\"vertical\" [animate]=\"animate\" [rtl]=\"rtl\"\n [itemTemplate]=\"itemTemplate\" [itemLinkTemplate]=\"itemLinkTemplate\" [openOnClick]=\"openOnClick\"\n [index]=\"hierarchyIndex(idx)\" [siblingIndex]=\"idx\" [attr.","right":{"__symbolic":"reference","name":"ɵg"}},"right":"]=\"hierarchyIndex(idx)\"\n [ngClass]=\"item.cssClass\" [ngStyle]=\"item.cssStyle\"\n role=\"menuitem\"\n class=\"k-item k-menu-item\"\n [class.k-first]=\"idx === 0\" [class.k-last]=\"idx === items.length - 1\"\n [class.k-state-disabled]=\"item.disabled\"></li>\n <li *ngIf=\"item.separator\" class=\"k-separator k-item\"\n role=\"separator\" [ngClass]=\"item.cssClass\" [ngStyle]=\"item.cssStyle\">\n &nbsp;\n </li>\n </ng-container>\n "}}]}],"members":{"items":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"level":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"index":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"animate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"vertical":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"rtl":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"openOnClick":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"itemTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"itemLinkTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2"},{"__symbolic":"reference","module":"@angular/core","name":"NgZone"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef"}]}],"hierarchyIndex":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"initDomEvents":[{"__symbolic":"method"}],"leavesMenu":[{"__symbolic":"method"}],"onLeave":[{"__symbolic":"method"}],"nodeItem":[{"__symbolic":"method"}],"clickHandler":[{"__symbolic":"method"}]}},"ItemComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component"},"arguments":[{"providers":[{"__symbolic":"reference","module":"@progress/kendo-angular-popup","name":"PopupService"},{"provide":{"__symbolic":"reference","module":"@progress/kendo-angular-popup","name":"POPUP_CONTAINER"},"useFactory":{"__symbolic":"reference","name":"ɵh"}}],"selector":"[kendoMenuItem]","template":"\n <span *ngIf=\"!hasLink && !item.content && !linkTemplate\" class=\"k-link k-menu-link\" #link\n [class.k-state-active]=\"opened\" role=\"presentation\">\n <ng-template [ngTemplateOutlet]=\"itemcontent\">\n </ng-template>\n </span>\n <a *ngIf=\"item.url && !linkTemplate\" class=\"k-link k-menu-link\" #link [attr.href]=\"item.url\"\n [class.k-state-active]=\"opened\" tabindex=\"-1\" role=\"presentation\">\n <ng-template [ngTemplateOutlet]=\"itemcontent\">\n </ng-template>\n </a>\n <ng-template *ngIf=\"linkTemplate && !item.content\" [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ item: item, index: index }\">\n </ng-template>\n\n <div class=\"k-content\" *ngIf=\"item.content\" role=\"presentation\">\n <ng-template [ngTemplateOutlet]=\"item.content\" [ngTemplateOutletContext]=\"{ item: item.owner, index: item.ownerIndex }\">\n </ng-template>\n </div>\n\n <ng-template #popupTemplate>\n <ul kendoMenuList\n [attr.id]=\"childId\"\n [animate]=\"animate\"\n [rtl]=\"rtl\"\n [vertical]=\"vertical\"\n [openOnClick]=\"openOnClick\"\n [items]=\"children\"\n [level]=\"level + 1\"\n [index]=\"index\"\n [itemTemplate]=\"itemTemplate\"\n [itemLinkTemplate]=\"itemLinkTemplate\"\n role=\"menu\"\n class=\"k-group k-menu-group k-reset\">\n </ul>\n </ng-template>\n\n <ng-template #itemcontent>\n <span *ngIf=\"item.icon\" class=\"k-icon\" [ngClass]=\"iconClass\" role=\"presentation\"></span>\n <ng-container *ngIf=\"!template\">\n {{ item.text }}\n </ng-container>\n <ng-template *ngIf=\"template\" [ngTemplateOutlet]=\"template\" [ngTemplateOutletContext]=\"{ item: item, index: index }\">\n </ng-template>\n <span class=\"k-icon k-menu-expand-arrow\" *ngIf=\"hasContent\"\n role=\"presentation\"\n [class.k-i-arrow-60-down]=\"!horizontal\"\n [class.k-i-arrow-60-right]=\"horizontal && !rtl\"\n [class.k-i-arrow-60-left]=\"horizontal && rtl\">\n </span>\n </ng-template>\n "}]}],"members":{"item":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"level":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"index":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"siblingIndex":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"animate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"vertical":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"rtl":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"openOnClick":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"itemTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"itemLinkTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"link":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild"},"arguments":["link"]}]}],"popupTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild"},"arguments":["popupTemplate"]}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["attr.aria-disabled"]}]}],"hasPopup":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["attr.aria-haspopup"]}]}],"expanded":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["attr.aria-expanded"]}]}],"label":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["attr.aria-label"]}]}],"activeId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["attr.tabindex"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef"},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2"},{"__symbolic":"reference","module":"@progress/kendo-angular-popup","name":"PopupService"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef"}]}],"hasContentTemplates":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"focus":[{"__symbolic":"method"}],"toggleActive":[{"__symbolic":"method"}],"open":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"navigate":[{"__symbolic":"method"}],"setAttribute":[{"__symbolic":"method"}]}},"LinkDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive"},"arguments":[{"selector":"[kendoMenuItemLink]"}]}],"members":{"index":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"},"arguments":["kendoMenuItemLink"]}]}],"hostClasses":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.k-link"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.k-menu-link"]}]}],"role":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["attr.role"]}]}],"tabindex":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["attr.tabindex"]}]}],"activeClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.k-state-active"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵb"}]}],"ngOnInit":[{"__symbolic":"method"}]}},"ExpandArrowDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive"},"arguments":[{"selector":"[kendoMenuExpandArrow]"}]}],"members":{"index":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"},"arguments":["kendoMenuExpandArrow"]}]}],"hostClasses":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.k-icon"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.k-menu-expand-arrow"]}]}],"role":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["attr.role"]}]}],"arrowDown":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.k-i-arrow-60-down"]}]}],"arrowRight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.k-i-arrow-60-right"]}]}],"arrowLeft":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.k-i-arrow-60-left"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵb"}]}],"ngOnInit":[{"__symbolic":"method"}]}},"MenuItemComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component"},"arguments":[{"selector":"kendo-menu-item","template":""}]}],"members":{"text":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"url":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"cssClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"cssStyle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"icon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"data":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"separator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"itemTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren"},"arguments":[{"__symbolic":"reference","name":"ItemTemplateDirective"}]}]}],"itemLinkTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren"},"arguments":[{"__symbolic":"reference","name":"ItemLinkTemplateDirective"}]}]}],"itemContentTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren"},"arguments":[{"__symbolic":"reference","name":"ItemContentTemplateDirective"}]}]}],"children":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren"},"arguments":[{"__symbolic":"reference","name":"MenuItemComponent"}]}]}]}},"MenuAnimation":{"__symbolic":"interface"},"MenuItem":{"__symbolic":"interface"},"MenuEvent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵi"},"members":{}},"MenuSelectEvent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"MenuEvent"},"members":{}},"OpenOnClickSettings":{"__symbolic":"interface"},"ItemContentTemplateDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive"},"arguments":[{"selector":"[kendoMenuItemContentTemplate]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional"}}]],"parameters":[{"__symbolic":"reference","name":"TemplateRef","module":"@angular/core","arguments":[{"__symbolic":"reference","name":"any"}]}]}]}},"ItemTemplateDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive"},"arguments":[{"selector":"[kendoMenuItemTemplate]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional"}}]],"parameters":[{"__symbolic":"reference","name":"TemplateRef","module":"@angular/core","arguments":[{"__symbolic":"reference","name":"any"}]}]}]}},"ItemLinkTemplateDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive"},"arguments":[{"selector":"[kendoMenuItemLinkTemplate]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional"}}]],"parameters":[{"__symbolic":"reference","name":"TemplateRef","module":"@angular/core","arguments":[{"__symbolic":"reference","name":"any"}]}]}]}},"HierarchyBindingDirective":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵj"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive"},"arguments":[{"exportAs":"kendoMenuHierarchyBinding","selector":"[kendoMenuHierarchyBinding]"}]}],"members":{"data":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"},"arguments":["kendoMenuHierarchyBinding"]}]}],"textField":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"urlField":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"iconField":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"disabledField":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"cssClassField":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"cssStyleField":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"separatorField":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"childrenField":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵa"}]}],"mapItems":[{"__symbolic":"method"}],"createItem":[{"__symbolic":"method"}],"getChildren":[{"__symbolic":"method"}]}},"FlatBindingDirective":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵj"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive"},"arguments":[{"exportAs":"kendoMenuFlatBinding","selector":"[kendoMenuFlatBinding]"}]}],"members":{"data":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"},"arguments":["kendoMenuFlatBinding"]}]}],"textField":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"urlField":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"iconField":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"disabledField":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"cssClassField":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"cssStyleField":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"separatorField":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"idField":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"parentIdField":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵa"}]}],"mapItems":[{"__symbolic":"method"}],"createItem":[{"__symbolic":"method"}]}},"MenuModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule"},"arguments":[{"declarations":[[{"__symbolic":"reference","name":"MenuComponent"},{"__symbolic":"reference","name":"MenuItemComponent"},{"__symbolic":"reference","name":"ItemTemplateDirective"},{"__symbolic":"reference","name":"ItemLinkTemplateDirective"},{"__symbolic":"reference","name":"ItemContentTemplateDirective"},{"__symbolic":"reference","name":"HierarchyBindingDirective"},{"__symbolic":"reference","name":"FlatBindingDirective"},{"__symbolic":"reference","name":"LinkDirective"},{"__symbolic":"reference","name":"ExpandArrowDirective"},{"__symbolic":"reference","name":"ListComponent"},{"__symbolic":"reference","name":"ItemComponent"}]],"exports":[[{"__symbolic":"reference","name":"MenuComponent"},{"__symbolic":"reference","name":"MenuItemComponent"},{"__symbolic":"reference","name":"ItemTemplateDirective"},{"__symbolic":"reference","name":"ItemLinkTemplateDirective"},{"__symbolic":"reference","name":"ItemContentTemplateDirective"},{"__symbolic":"reference","name":"HierarchyBindingDirective"},{"__symbolic":"reference","name":"FlatBindingDirective"},{"__symbolic":"reference","name":"LinkDirective"},{"__symbolic":"reference","name":"ExpandArrowDirective"}]],"imports":[{"__symbolic":"reference","module":"@progress/kendo-angular-popup","name":"PopupModule"},{"__symbolic":"reference","module":"@angular/common","name":"CommonModule"}]}]}],"members":{}},"ContextMenuEvent":{"__symbolic":"class","members":{}},"ContextMenuSelectEvent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ContextMenuEvent"},"members":{}},"ContextMenuPopupEvent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵi"},"members":{}},"ContextMenuTemplateDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive"},"arguments":[{"selector":"[kendoContextMenuTemplate]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional"}}]],"parameters":[{"__symbolic":"reference","name":"TemplateRef","module":"@angular/core","arguments":[{"__symbolic":"reference","name":"any"}]}]}]}},"ContextMenuComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵa"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component"},"arguments":[{"exportAs":"kendoContextMenu","providers":[{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","module":"@progress/kendo-angular-l10n","name":"LocalizationService"},{"provide":{"__symbolic":"reference","module":"@progress/kendo-angular-l10n","name":"L10N_PREFIX"},"useValue":"kendo.contextmenu"},{"provide":{"__symbolic":"reference","name":"ɵb"},"useClass":{"__symbolic":"reference","name":"ɵk"}},{"provide":{"__symbolic":"reference","name":"ɵa"},"useExisting":{"__symbolic":"reference","name":"ContextMenuComponent"}},{"__symbolic":"reference","module":"@progress/kendo-angular-popup","name":"PopupService"},{"provide":{"__symbolic":"reference","module":"@progress/kendo-angular-popup","name":"POPUP_CONTAINER"},"useFactory":{"__symbolic":"reference","name":"ɵh"}}],"selector":"kendo-contextmenu","template":"\n <ng-template #default>\n <kendo-menu [items]=\"rootItems\"\n [vertical]=\"vertical\"\n [openOnClick]=\"openOnClick\"\n [hoverDelay]=\"hoverDelay\"\n [animate]=\"animate\"\n [menuItemTemplate]=\"itemTemplate.first?.templateRef\"\n [menuItemLinkTemplate]=\"itemLinkTemplate.first?.templateRef\"\n ></kendo-menu>\n </ng-template>\n "}]}],"members":{"showOn":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"target":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"filter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"alignToAnchor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"vertical":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"popupAnimate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"popupAlign":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"anchorAlign":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"collision":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"appendTo":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"ariaLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"popupOpen":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"popupClose":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"select":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"open":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"close":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"contentTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild"},"arguments":[{"__symbolic":"reference","name":"ContextMenuTemplateDirective"}]}]}],"defaultContentTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild"},"arguments":["default"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@progress/kendo-angular-popup","name":"PopupService"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","module":"@angular/core","name":"NgZone"},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2"}]}],"hide":[{"__symbolic":"method"}],"show":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"emitMenuEvent":[{"__symbolic":"method"}],"bindShowHandler":[{"__symbolic":"method"}],"showContextMenu":[{"__symbolic":"method"}],"unbindShowHandler":[{"__symbolic":"method"}],"targetElement":[{"__symbolic":"method"}],"targetFilter":[{"__symbolic":"method"}],"closePopup":[{"__symbolic":"method"}],"removePopup":[{"__symbolic":"method"}],"openPopup":[{"__symbolic":"method"}],"createPopup":[{"__symbolic":"method"}],"popupKeyDownHandler":[{"__symbolic":"method"}],"popupAction":[{"__symbolic":"method"}]}},"ContextMenuModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule"},"arguments":[{"declarations":[[{"__symbolic":"reference","name":"ContextMenuComponent"},{"__symbolic":"reference","name":"ContextMenuTemplateDirective"},{"__symbolic":"reference","name":"ɵl"},{"__symbolic":"reference","name":"ɵn"}]],"exports":[[{"__symbolic":"reference","name":"ContextMenuComponent"},{"__symbolic":"reference","name":"ContextMenuTemplateDirective"},{"__symbolic":"reference","name":"ɵl"},{"__symbolic":"reference","name":"ɵn"}],{"__symbolic":"reference","name":"MenuModule"}],"imports":[{"__symbolic":"reference","module":"@progress/kendo-angular-popup","name":"PopupModule"},{"__symbolic":"reference","module":"@angular/common","name":"CommonModule"},{"__symbolic":"reference","name":"MenuModule"}]}]}],"members":{}},"MenusModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule"},"arguments":[{"exports":[{"__symbolic":"reference","name":"MenuModule"},{"__symbolic":"reference","name":"ContextMenuModule"}]}]}],"members":{}},"ɵa":{"__symbolic":"class","members":{"items":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"vertical":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"openOnClick":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"hoverDelay":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"animate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"itemTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren"},"arguments":[{"__symbolic":"reference","name":"ItemTemplateDirective"}]}]}],"itemLinkTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren"},"arguments":[{"__symbolic":"reference","name":"ItemLinkTemplateDirective"}]}]}],"children":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren"},"arguments":[{"__symbolic":"reference","name":"MenuItemComponent"}]}]}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"childId":[{"__symbolic":"method"}],"itemIndex":[{"__symbolic":"method"}],"get":[{"__symbolic":"method"}],"add":[{"__symbolic":"method"}],"remove":[{"__symbolic":"method"}],"addList":[{"__symbolic":"method"}],"removeList":[{"__symbolic":"method"}],"containsList":[{"__symbolic":"method"}],"siblings":[{"__symbolic":"method"}],"otherSiblings":[{"__symbolic":"method"}],"children":[{"__symbolic":"method"}],"parent":[{"__symbolic":"method"}],"root":[{"__symbolic":"method"}],"indices":[{"__symbolic":"method"}],"filter":[{"__symbolic":"method"}],"previous":[{"__symbolic":"method"}],"next":[{"__symbolic":"method"}],"hasParent":[{"__symbolic":"method"}],"areSiblings":[{"__symbolic":"method"}],"forEach":[{"__symbolic":"method"}],"parentIndex":[{"__symbolic":"method"}]}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"NgZone"},{"__symbolic":"reference","name":"ɵb"}]}],"open":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"closeItem":[{"__symbolic":"method"}],"closeToRoot":[{"__symbolic":"method"}],"closeOthers":[{"__symbolic":"method"}],"closeAll":[{"__symbolic":"method"}],"select":[{"__symbolic":"method"}],"emit":[{"__symbolic":"method"}],"execute":[{"__symbolic":"method"}],"clear":[{"__symbolic":"method"}],"executeActions":[{"__symbolic":"method"}],"requiresZone":[{"__symbolic":"method"}],"closeChildren":[{"__symbolic":"method"}],"closeItems":[{"__symbolic":"method"}]}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","module":"@progress/kendo-angular-l10n","name":"LocalizationService"},{"__symbolic":"reference","module":"@angular/core","name":"NgZone"}]}],"focus":[{"__symbolic":"method"}],"setFocus":[{"__symbolic":"method"}],"focusLeave":[{"__symbolic":"method"}],"updateActive":[{"__symbolic":"method"}],"keydown":[{"__symbolic":"method"}],"focusIndex":[{"__symbolic":"method"}],"focusFirst":[{"__symbolic":"method"}],"focusLast":[{"__symbolic":"method"}],"search":[{"__symbolic":"method"}],"down":[{"__symbolic":"method"}],"up":[{"__symbolic":"method"}],"left":[{"__symbolic":"method"}],"right":[{"__symbolic":"method"}],"home":[{"__symbolic":"method"}],"end":[{"__symbolic":"method"}],"enter":[{"__symbolic":"method"}],"esc":[{"__symbolic":"method"}],"tab":[{"__symbolic":"method"}],"focusChild":[{"__symbolic":"method"}],"setActive":[{"__symbolic":"method"}]}},"ɵe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵb"}]}],"ngOnDestroy":[{"__symbolic":"method"}],"over":[{"__symbolic":"method"}],"leave":[{"__symbolic":"method"}],"closeCurrent":[{"__symbolic":"method"}],"scheduleActions":[{"__symbolic":"method"}],"scheduleDisableOpenOnOver":[{"__symbolic":"method"}],"removeScheduled":[{"__symbolic":"method"}],"cancelActions":[{"__symbolic":"method"}]}},"ɵf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"emit":[{"__symbolic":"method"}],"hasObservers":[{"__symbolic":"method"}],"leaveMenu":[{"__symbolic":"method"}]}},"ɵg":"data-kendo-menu-index","ɵh":{"__symbolic":"error","message":"Function call not supported","line":15,"character":27,"module":"./utils"},"ɵi":{"__symbolic":"class","members":{"preventDefault":[{"__symbolic":"method"}],"isDefaultPrevented":[{"__symbolic":"method"}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any"}]}]}},"ɵj":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵa"}]}],"ngOnChanges":[{"__symbolic":"method"}],"rebind":[{"__symbolic":"method"}],"mapItems":[{"__symbolic":"method"}]}},"ɵk":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵf"}]}],"get":[{"__symbolic":"method"}]}},"ɵl":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive"},"arguments":[{"selector":"[kendoContextMenuTarget]","exportAs":"kendoContextMenuTarget"}]}],"members":{"data":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"},"arguments":["kendoContextMenuTarget"]}]}],"hostClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding"},"arguments":["class.k-contextmenu-target"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef"},{"__symbolic":"reference","name":"ɵm"}]}],"ngOnDestroy":[{"__symbolic":"method"}]}},"ɵm":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"add":[{"__symbolic":"method"}],"remove":[{"__symbolic":"method"}],"find":[{"__symbolic":"method"}]}},"ɵn":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive"},"arguments":[{"selector":"[kendoContextMenuTargetContainer]","exportAs":"kendoContextMenuTargetContainer","providers":[{"__symbolic":"reference","name":"ɵm"}]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef"},{"__symbolic":"reference","name":"ɵm"}]}]}}},"origins":{"MenuComponent":"./menu.component","ListComponent":"./rendering/list.component","ItemComponent":"./rendering/item.component","LinkDirective":"./rendering/link.directive","ExpandArrowDirective":"./rendering/arrow.directive","MenuItemComponent":"./menu-item.component","MenuAnimation":"./menu-animation.interface","MenuItem":"./menu-item.interface","MenuEvent":"./menu-event","MenuSelectEvent":"./menu-select-event","OpenOnClickSettings":"./open-on-click-settings","ItemContentTemplateDirective":"./templates/item-content-template.directive","ItemTemplateDirective":"./templates/item-template.directive","ItemLinkTemplateDirective":"./templates/item-link-template.directive","HierarchyBindingDirective":"./data-binding/hierachy-binding.directive","FlatBindingDirective":"./data-binding/flat-binding.directive","MenuModule":"./menu.module","ContextMenuEvent":"./context-menu/context-menu-event","ContextMenuSelectEvent":"./context-menu/context-menu-select-event","ContextMenuPopupEvent":"./context-menu/context-menu-popup-event","ContextMenuTemplateDirective":"./context-menu/context-menu-template.directive","ContextMenuComponent":"./context-menu/context-menu.component","ContextMenuModule":"./context-menu/context-menu.module","MenusModule":"./menus.module","ɵa":"./menu-base","ɵb":"./services/items.service","ɵc":"./services/actions.service","ɵd":"./services/navigation.service","ɵe":"./services/hover.service","ɵf":"./context-menu/context-menu.service","ɵg":"./constants","ɵh":"./utils","ɵi":"./preventable-event","ɵj":"./data-binding/binding-directive-base","ɵk":"./context-menu/context-menu-items.service","ɵl":"./context-menu/context-menu-target.directive","ɵm":"./context-menu/context-menu-target.service","ɵn":"./context-menu/context-menu-target-container.directive"},"importAs":"@progress/kendo-angular-menu"}

@@ -18,1 +18,8 @@ export { MenuComponent } from './menu.component';

export { MenuModule } from './menu.module';
export { ContextMenuEvent } from './context-menu/context-menu-event';
export { ContextMenuSelectEvent } from './context-menu/context-menu-select-event';
export { ContextMenuPopupEvent } from './context-menu/context-menu-popup-event';
export { ContextMenuTemplateDirective } from './context-menu/context-menu-template.directive';
export { ContextMenuComponent } from './context-menu/context-menu.component';
export { ContextMenuModule } from './context-menu/context-menu.module';
export { MenusModule } from './menus.module';

@@ -15,1 +15,8 @@ export { MenuComponent } from './menu.component';

export { MenuModule } from './menu.module';
export { ContextMenuEvent } from './context-menu/context-menu-event';
export { ContextMenuSelectEvent } from './context-menu/context-menu-select-event';
export { ContextMenuPopupEvent } from './context-menu/context-menu-popup-event';
export { ContextMenuTemplateDirective } from './context-menu/context-menu-template.directive';
export { ContextMenuComponent } from './context-menu/context-menu.component';
export { ContextMenuModule } from './context-menu/context-menu.module';
export { MenusModule } from './menus.module';
import { MenuComponent } from './menu.component';
import { PreventableEvent } from './preventable-event';
/**
* A `MenuComponent` event.
* An event of the MenuComponent.
*/
export declare class MenuEvent {
export declare class MenuEvent extends PreventableEvent {
/**
* The `MenuComponent` that triggered the event.
* The MenuComponent that triggered the event.
*/

@@ -18,18 +19,2 @@ sender: MenuComponent;

index: string;
private prevented;
constructor(args: any);
/**
* Prevents the default action for a specified event.
* In this way, the source component suppresses
* the built-in behavior that follows the event.
*/
preventDefault(): void;
/**
* Returns `true` if the event was prevented
* by any of its subscribers.
*
* @returns `true` if the default action was prevented.
* Otherwise, returns `false`.
*/
isDefaultPrevented(): boolean;
}

@@ -0,27 +1,6 @@

import { PreventableEvent } from './preventable-event';
/**
* A `MenuComponent` event.
* An event of the MenuComponent.
*/
export class MenuEvent {
constructor(args) {
this.prevented = false;
Object.assign(this, args);
}
/**
* Prevents the default action for a specified event.
* In this way, the source component suppresses
* the built-in behavior that follows the event.
*/
preventDefault() {
this.prevented = true;
}
/**
* Returns `true` if the event was prevented
* by any of its subscribers.
*
* @returns `true` if the default action was prevented.
* Otherwise, returns `false`.
*/
isDefaultPrevented() {
return this.prevented;
}
export class MenuEvent extends PreventableEvent {
}

@@ -7,3 +7,4 @@ import { QueryList, TemplateRef } from '@angular/core';

/**
* A component that can be used to specify the Menu items.
* A component that can be used to specify the Menu items
* ([more information and examples]({% slug items_menu %})).
*

@@ -49,3 +50,2 @@ * @example

* }
*
* ```

@@ -61,2 +61,3 @@ */

data: any;
separator: boolean;
/**

@@ -63,0 +64,0 @@ * @hidden

@@ -6,3 +6,4 @@ import { Component, Input, ContentChildren } from '@angular/core';

/**
* A component that can be used to specify the Menu items.
* A component that can be used to specify the Menu items
* ([more information and examples]({% slug items_menu %})).
*

@@ -48,3 +49,2 @@ * @example

* }
*
* ```

@@ -102,2 +102,3 @@ */

'data': [{ type: Input },],
'separator': [{ type: Input },],
'itemTemplate': [{ type: ContentChildren, args: [ItemTemplateDirective,] },],

@@ -104,0 +105,0 @@ 'itemLinkTemplate': [{ type: ContentChildren, args: [ItemLinkTemplateDirective,] },],

@@ -7,19 +7,21 @@ import { TemplateRef } from '@angular/core';

/**
* Specifies the item text.
* Specifies the item text ([see example]({% slug items_menu %}#toc-text)).
*/
text?: string;
/**
* Specifies a URL which is rendered as a `href` attribute on the item link.
* Specifies a URL which is rendered as a `href` attribute on the item link
* ([see example]({% slug items_menu %}#toc-url)).
*/
url?: string;
/**
* Specifies the name of the [font icon]({% slug icons %}#toc-list-of-font-icons) that should be rendered for the item.
* Specifies the name of the [font icon]({% slug icons %}#toc-list-of-font-icons) that will
* be rendered for the item ([see example]({% slug items_menu %}#toc-icon)).
*/
icon?: string;
/**
* Specifies if the item is disabled.
* Specifies if the item is disabled ([see example]({% slug items_menu %}#toc-disabled-state)).
*/
disabled?: boolean;
/**
* The CSS classes that will be rendered on the item element.
* The CSS classes that will be rendered on the item element ([see example]({% slug items_menu %}#toc-styles-and-classes)).
* Supports the type of values that are supported by [`ngClass`](https://angular.io/api/common/NgClass).

@@ -29,3 +31,3 @@ */

/**
* The CSS styles that will be rendered on the item element.
* The CSS styles that will be rendered on the item element ([see example]({% slug items_menu %}#toc-styles-and-classes)).
* Supports the type of values that are supported by [`ngStyle`](https://angular.io/api/common/NgStyle).

@@ -35,11 +37,11 @@ */

/**
* Specifies template for the item.
* Specifies a template for the item.
*/
template?: TemplateRef<any>;
/**
* Specifies template for the item content.
* Specifies a template for the item content.
*/
contentTemplate?: TemplateRef<any>;
/**
* Specifies the children of the item.
* Specifies the children of the item ([see example]({% slug databinding_menu %})).
*/

@@ -51,2 +53,7 @@ items?: any[];

data?: any;
/**
* Specifies if this is a separator item.
* If set to true only the `cssClass` and `cssStyle` fields are rendered.
*/
separator?: boolean;
}
import { MenuEvent } from './menu-event';
/**
* A `MenuComponent` event.
* The `select` event of the MenuComponent.
*/

@@ -5,0 +5,0 @@ export declare class MenuSelectEvent extends MenuEvent {

import { MenuEvent } from './menu-event';
/**
* A `MenuComponent` event.
* The `select` event of the MenuComponent.
*/
export class MenuSelectEvent extends MenuEvent {
}

@@ -1,2 +0,2 @@

import { QueryList, EventEmitter, OnChanges, AfterViewChecked, NgZone, Renderer2 } from '@angular/core';
import { EventEmitter, OnChanges, AfterViewChecked, NgZone, Renderer2, TemplateRef } from '@angular/core';
import { LocalizationService } from '@progress/kendo-angular-l10n';

@@ -7,11 +7,8 @@ import { ItemsService } from './services/items.service';

import { HoverService } from './services/hover.service';
import { MenuItemComponent } from './menu-item.component';
import { ItemTemplateDirective } from './templates/item-template.directive';
import { ItemLinkTemplateDirective } from './templates/item-link-template.directive';
import { MenuEvent } from './menu-event';
import { MenuSelectEvent } from './menu-select-event';
import { MenuAnimation } from './menu-animation.interface';
import { OpenOnClickSettings } from './open-on-click-settings';
import { ContextMenuService } from './context-menu/context-menu.service';
import { MenuBase } from './menu-base';
/**
* Represents the Kendo UI Menu component for Angular.
* Represents the [Kendo UI Menu component for Angular]({% slug overview_menu %}).
*

@@ -32,3 +29,3 @@ * @example

*/
export declare class MenuComponent implements OnChanges, AfterViewChecked {
export declare class MenuComponent extends MenuBase implements OnChanges, AfterViewChecked {
private itemsService;

@@ -41,26 +38,14 @@ private hover;

private renderer;
private contextService;
/**
* Specifies the Menu items.
* @hidden
*/
items: any[];
menuItemTemplate: TemplateRef<any>;
/**
* Specifies if the Menu will be vertical.
* @hidden
*/
vertical: boolean;
menuItemLinkTemplate: TemplateRef<any>;
/**
* Specifies that the root items can be opened only on click.
* Fires when a Menu item is selected ([see example]({% slug routing_menu %})).
*/
openOnClick: boolean | OpenOnClickSettings;
/**
* Specifies the delay in milliseconds before the Menu items are opened or closed on item hover, or leave.
* Used to avoid accidental closure on leaving.
*/
hoverDelay: number;
/**
* Sets the menu animation.
*/
animate: boolean | MenuAnimation;
/**
* Fires when a Menu item is selected.
*/
select: EventEmitter<MenuSelectEvent>;

@@ -78,25 +63,14 @@ /**

*/
itemTemplate: QueryList<ItemTemplateDirective>;
readonly ariaOrientation: string;
/**
* @hidden
*/
itemLinkTemplate: QueryList<ItemLinkTemplateDirective>;
/**
* @hidden
*/
children: QueryList<MenuItemComponent>;
/**
* @hidden
*/
readonly rootItems: any[];
/**
* @hidden
*/
readonly ariaOrientation: string;
readonly contextMenuClass: boolean;
readonly direction: boolean;
readonly rtl: boolean;
private closeClickSubscription;
constructor(itemsService: ItemsService, hover: HoverService, actions: ActionsService, navigation: NavigationService, localization: LocalizationService, ngZone: NgZone, renderer: Renderer2);
private contextKeyDownSubscription;
constructor(itemsService: ItemsService, hover: HoverService, actions: ActionsService, navigation: NavigationService, localization: LocalizationService, ngZone: NgZone, renderer: Renderer2, contextService?: ContextMenuService);
/**
* Opens or closes the specified menu items.
* Opens or closes the specified Menu items.
*

@@ -107,2 +81,6 @@ * @param open - A Boolean value which indicates if the items will be opened or closed.

toggle(open: boolean, ...indices: string[]): void;
/**
* @hidden
*/
focus(index?: string): void;
ngOnChanges(changes: any): void;

@@ -113,2 +91,3 @@ ngAfterViewChecked(): void;

private unsubscribeClick();
private contextKeyDown(e);
}

@@ -1,2 +0,2 @@

import { Component, Input, ContentChildren, HostBinding, EventEmitter, Output, NgZone, Renderer2 } from '@angular/core';
import { Component, Input, HostBinding, EventEmitter, Output, NgZone, Renderer2, Optional, forwardRef } from '@angular/core';
import { LocalizationService, L10N_PREFIX } from '@progress/kendo-angular-l10n';

@@ -7,9 +7,9 @@ import { ItemsService } from './services/items.service';

import { HoverService } from './services/hover.service';
import { MenuItemComponent } from './menu-item.component';
import { ItemTemplateDirective } from './templates/item-template.directive';
import { ItemLinkTemplateDirective } from './templates/item-link-template.directive';
import { normalize } from './open-on-click-settings';
import { inMenu } from './dom-queries';
import { ContextMenuService } from './context-menu/context-menu.service';
import { MenuBase } from './menu-base';
import { KeyCodes } from './constants';
/**
* Represents the Kendo UI Menu component for Angular.
* Represents the [Kendo UI Menu component for Angular]({% slug overview_menu %}).
*

@@ -30,4 +30,5 @@ * @example

*/
export class MenuComponent {
constructor(itemsService, hover, actions, navigation, localization, ngZone, renderer) {
export class MenuComponent extends MenuBase {
constructor(itemsService, hover, actions, navigation, localization, ngZone, renderer, contextService) {
super();
this.itemsService = itemsService;

@@ -40,22 +41,6 @@ this.hover = hover;

this.renderer = renderer;
this.contextService = contextService;
/**
* Specifies if the Menu will be vertical.
* Fires when a Menu item is selected ([see example]({% slug routing_menu %})).
*/
this.vertical = false;
/**
* Specifies that the root items can be opened only on click.
*/
this.openOnClick = false;
/**
* Specifies the delay in milliseconds before the Menu items are opened or closed on item hover, or leave.
* Used to avoid accidental closure on leaving.
*/
this.hoverDelay = 100;
/**
* Sets the menu animation.
*/
this.animate = true;
/**
* Fires when a Menu item is selected.
*/
this.select = new EventEmitter();

@@ -71,2 +56,6 @@ /**

this.actions.owner = this;
if (contextService) {
contextService.items = this.itemsService;
this.contextKeyDownSubscription = contextService.keydown.subscribe(this.contextKeyDown.bind(this));
}
}

@@ -76,8 +65,2 @@ /**

*/
get rootItems() {
return this.items || (this.children ? this.children.toArray() : []);
}
/**
* @hidden
*/
get ariaOrientation() {

@@ -88,2 +71,8 @@ if (this.vertical) {

}
/**
* @hidden
*/
get contextMenuClass() {
return Boolean(this.contextService);
}
get direction() {

@@ -96,3 +85,3 @@ return this.rtl;

/**
* Opens or closes the specified menu items.
* Opens or closes the specified Menu items.
*

@@ -115,2 +104,8 @@ * @param open - A Boolean value which indicates if the items will be opened or closed.

}
/**
* @hidden
*/
focus(index) {
this.navigation.focusIndex(index);
}
ngOnChanges(changes) {

@@ -135,2 +130,6 @@ this.navigation.vertical = this.vertical;

this.unsubscribeClick();
if (this.contextService) {
this.contextService.items = null;
this.contextKeyDownSubscription.unsubscribe();
}
}

@@ -155,2 +154,22 @@ attachCloseClick() {

}
contextKeyDown(e) {
if (!this.itemsService.hasItems) {
return;
}
const keyCode = e.keyCode;
const rtl = this.localization.rtl;
const first = keyCode === KeyCodes.DOWN || keyCode === KeyCodes.RIGHT;
const last = keyCode === KeyCodes.UP || keyCode === KeyCodes.LEFT;
let index;
if ((first && !rtl) || (last && rtl)) {
index = 'first';
}
else if ((first && rtl) || (last && !rtl)) {
index = 'last';
}
if (index) {
e.preventDefault();
this.focus(index);
}
}
}

@@ -169,2 +188,6 @@ MenuComponent.decorators = [

useValue: 'kendo.menu'
},
{
provide: MenuBase,
useExisting: forwardRef(() => MenuComponent)
}

@@ -178,6 +201,7 @@ ],

[vertical]="vertical" [rtl]="rtl" [animate]="animate" [openOnClick]="openOnClick"
[itemTemplate]="itemTemplate.first?.templateRef"
[itemLinkTemplate]="itemLinkTemplate.first?.templateRef"
[itemTemplate]="itemTemplate.first?.templateRef || menuItemTemplate"
[itemLinkTemplate]="itemLinkTemplate.first?.templateRef || menuItemLinkTemplate"
[class.k-menu-horizontal]="!vertical"
[class.k-menu-vertical]="vertical">
[class.k-menu-vertical]="vertical"
[class.k-context-menu]="contextMenuClass">
</ul>

@@ -196,16 +220,11 @@ `

{ type: Renderer2, },
{ type: ContextMenuService, decorators: [{ type: Optional },] },
];
MenuComponent.propDecorators = {
'items': [{ type: Input },],
'vertical': [{ type: Input },],
'openOnClick': [{ type: Input },],
'hoverDelay': [{ type: Input },],
'animate': [{ type: Input },],
'menuItemTemplate': [{ type: Input },],
'menuItemLinkTemplate': [{ type: Input },],
'select': [{ type: Output },],
'open': [{ type: Output },],
'close': [{ type: Output },],
'itemTemplate': [{ type: ContentChildren, args: [ItemTemplateDirective,] },],
'itemLinkTemplate': [{ type: ContentChildren, args: [ItemLinkTemplateDirective,] },],
'children': [{ type: ContentChildren, args: [MenuItemComponent,] },],
'direction': [{ type: HostBinding, args: ['class.k-rtl',] },],
};

@@ -7,2 +7,3 @@ /**

* Specifies the way in which you can toggle the open-on-click behavior.
*
* The supported values are:

@@ -9,0 +10,0 @@ * - `"select"`&mdash;The user opens an item with a click and the Menu items open on hover until one of them is selected.

@@ -9,6 +9,2 @@ import { ElementRef, Renderer2, ChangeDetectorRef, TemplateRef } from '@angular/core';

*/
export declare const bodyFactory: () => ElementRef;
/**
* @hidden
*/
export declare class ItemComponent {

@@ -24,2 +20,3 @@ private itemsService;

index: string;
siblingIndex: number;
animate: boolean | MenuAnimation;

@@ -26,0 +23,0 @@ vertical: boolean;

@@ -6,10 +6,3 @@ import { Component, Input, ElementRef, Renderer2, ViewChild, ChangeDetectorRef, HostBinding } from '@angular/core';

import { PopupService, POPUP_CONTAINER } from '@progress/kendo-angular-popup';
/**
* @hidden
*/
export const bodyFactory = () => {
if (typeof document !== 'undefined') {
return new ElementRef(document.body);
}
};
import { bodyFactory } from '../utils';
/* tslint:disable:component-selector */

@@ -258,2 +251,3 @@ /**

'index': [{ type: Input },],
'siblingIndex': [{ type: Input },],
'animate': [{ type: Input },],

@@ -260,0 +254,0 @@ 'vertical': [{ type: Input },],

@@ -10,3 +10,3 @@ import { OnInit } from '@angular/core';

/**
* The index of the menu item. The input is mandatory.
* The index of the Menu item. The input is mandatory.
*/

@@ -13,0 +13,0 @@ index: string;

@@ -144,11 +144,17 @@ import { Component, Input, ElementRef, Renderer2, NgZone } from '@angular/core';

template: `
<li *ngFor="let item of items; let idx = index" kendoMenuItem
[item]="item" [level]="level" [vertical]="vertical" [animate]="animate" [rtl]="rtl"
[itemTemplate]="itemTemplate" [itemLinkTemplate]="itemLinkTemplate" [openOnClick]="openOnClick"
[index]="hierarchyIndex(idx)" [attr.${NODE_INDEX}]="hierarchyIndex(idx)"
[ngClass]="item.cssClass" [ngStyle]="item.cssStyle"
role="menuitem"
class="k-item k-menu-item"
[class.k-first]="idx === 0" [class.k-last]="idx === items.length - 1"
[class.k-state-disabled]="item.disabled"></li>
<ng-container *ngFor="let item of items; let idx = index">
<li *ngIf="!item.separator" kendoMenuItem
[item]="item" [level]="level" [vertical]="vertical" [animate]="animate" [rtl]="rtl"
[itemTemplate]="itemTemplate" [itemLinkTemplate]="itemLinkTemplate" [openOnClick]="openOnClick"
[index]="hierarchyIndex(idx)" [siblingIndex]="idx" [attr.${NODE_INDEX}]="hierarchyIndex(idx)"
[ngClass]="item.cssClass" [ngStyle]="item.cssStyle"
role="menuitem"
class="k-item k-menu-item"
[class.k-first]="idx === 0" [class.k-last]="idx === items.length - 1"
[class.k-state-disabled]="item.disabled"></li>
<li *ngIf="item.separator" class="k-separator k-item"
role="separator" [ngClass]="item.cssClass" [ngStyle]="item.cssStyle">
&nbsp;
</li>
</ng-container>
`

@@ -155,0 +161,0 @@ },] },

import { NgZone, Injectable } from '@angular/core';
import { ItemsService } from './items.service';
import { MenuEvent } from '../menu-event';
const hasObservers = (emitter) => emitter && emitter.observers.length > 0;
import { hasObservers } from '../utils';
const canPerformAction = (item, action) => !((action === 'open' && item.opened) || (action === 'close' && !item.opened));

@@ -77,9 +77,14 @@ /**

emit(name, item, domEvent) {
const owner = this.owner;
const eventArgs = new MenuEvent({
sender: this.owner,
sender: owner,
item: item.item,
index: item.index,
originalEvent: domEvent
originalEvent: domEvent,
hasContent: item.hasContent
});
this.owner[name].emit(eventArgs);
owner[name].emit(eventArgs);
if (owner.contextService) {
owner.contextService.emit(name, eventArgs);
}
return eventArgs.isDefaultPrevented();

@@ -130,5 +135,8 @@ }

const actions = toExecute || this.actions;
const owner = this.owner;
const contextService = owner.contextService;
for (let idx = 0; idx < actions.length; idx++) {
const action = actions[idx];
if (action.requiresZone || (action.name && hasObservers(this.owner[action.name]))) {
const name = action.name;
if (action.requiresZone || (name && (hasObservers(owner[name]) || (contextService && contextService.hasObservers(name))))) {
return true;

@@ -135,0 +143,0 @@ }

@@ -5,2 +5,19 @@ import { Injectable } from '@angular/core';

let id = 0;
const itemIndexComparer = (a, b) => a.siblingIndex - b.siblingIndex;
const next = (idx, items, dir) => {
let current = items[idx + dir];
while (!current) {
if (idx < 0) {
idx = items.length - 1;
}
else if (idx >= items.length) {
idx = 0;
}
else {
idx += dir;
}
current = items[idx];
}
return current;
};
/**

@@ -70,6 +87,6 @@ * @hidden

if (predicate(index, items[index])) {
result.push(index);
result.push(items[index]);
}
}
return result.sort().map(index => items[index]);
return result.sort(itemIndexComparer);
}

@@ -79,4 +96,3 @@ previous(item) {

const itemIndex = siblings.indexOf(item);
const idx = itemIndex === 0 ? siblings.length - 1 : itemIndex - 1;
return this.items[this.itemIndex(this.parentIndex(item.index), idx)];
return next(itemIndex, siblings, -1);
}

@@ -86,4 +102,3 @@ next(item) {

const itemIndex = siblings.indexOf(item);
const idx = itemIndex === siblings.length - 1 ? 0 : itemIndex + 1;
return this.items[this.itemIndex(this.parentIndex(item.index), idx)];
return next(itemIndex, siblings, 1);
}

@@ -90,0 +105,0 @@ hasParent(item, parent) {

@@ -25,2 +25,5 @@ import { NgZone } from '@angular/core';

keydown(e: any): void;
focusIndex(index?: string): void;
focusFirst(): void;
focusLast(): void;
search(current: any, key: string): void;

@@ -27,0 +30,0 @@ down(current: any): void;

@@ -96,2 +96,27 @@ import { Injectable, NgZone } from '@angular/core';

}
focusIndex(index) {
if (!index && this.activeItem) {
this.setFocus(this.activeItem);
}
else if (index === 'first') {
this.focusFirst();
}
else if (index === 'last') {
this.focusLast();
}
else {
const item = this.items.get(index);
if (item) {
this.focus(item);
}
}
}
focusFirst() {
const items = this.items.siblings(this.items.get('0'));
this.focus(items[0]);
}
focusLast() {
const items = this.items.siblings(this.items.get('0'));
this.focus(items[items.length - 1]);
}
search(current, key) {

@@ -98,0 +123,0 @@ const siblings = this.items.siblings(current);

import { TemplateRef } from '@angular/core';
/**
* Represents a template for the content of the Menu items.
* Represents a template for the content of the Menu items ([see example]({% slug templates_menu %})). To define the template,
* nest an `<ng-template>` tag with the `kendoMenuItemContentTemplate` directive inside a `<kendo-menu-item>` component.
*
* To define the template, nest an `<ng-template>` tag with the `kendoMenuItemContentTemplate` directive inside
* a `<kendo-menu-item>` component.
*
* The available fields in the template context are:

@@ -32,3 +30,2 @@ * - `item`&mdash;The item data.

* }
*
* ```

@@ -35,0 +32,0 @@ */

import { Directive, TemplateRef, Optional } from '@angular/core';
/**
* Represents a template for the content of the Menu items.
* Represents a template for the content of the Menu items ([see example]({% slug templates_menu %})). To define the template,
* nest an `<ng-template>` tag with the `kendoMenuItemContentTemplate` directive inside a `<kendo-menu-item>` component.
*
* To define the template, nest an `<ng-template>` tag with the `kendoMenuItemContentTemplate` directive inside
* a `<kendo-menu-item>` component.
*
* The available fields in the template context are:

@@ -32,3 +30,2 @@ * - `item`&mdash;The item data.

* }
*
* ```

@@ -35,0 +32,0 @@ */

import { TemplateRef } from '@angular/core';
/**
* Represents a template for the links of the Menu items.
* Represents a template for the links of the Menu items ([see example]({% slug templates_menu %})). To define a template
* for an item, nest an `<ng-template>` tag with the `kendoMenuItemLinkTemplate` directive inside a `<kendo-menu-item>`
* component. To define a template for all Menu items, nest the template inside the `<kendo-menu>` component.
*
* To define a template for an item, nest an `<ng-template>` tag with the `kendoMenuItemLinkTemplate` directive inside
* a `<kendo-menu-item>` component. To define a template for all Menu items, nest the template inside the `<kendo-menu>` component.
*
* The available fields in the template context are:

@@ -33,3 +32,2 @@ * - `item`&mdash;The item data.

* }
*
* ```

@@ -36,0 +34,0 @@ */

import { Directive, TemplateRef, Optional } from '@angular/core';
/**
* Represents a template for the links of the Menu items.
* Represents a template for the links of the Menu items ([see example]({% slug templates_menu %})). To define a template
* for an item, nest an `<ng-template>` tag with the `kendoMenuItemLinkTemplate` directive inside a `<kendo-menu-item>`
* component. To define a template for all Menu items, nest the template inside the `<kendo-menu>` component.
*
* To define a template for an item, nest an `<ng-template>` tag with the `kendoMenuItemLinkTemplate` directive inside
* a `<kendo-menu-item>` component. To define a template for all Menu items, nest the template inside the `<kendo-menu>` component.
*
* The available fields in the template context are:

@@ -33,3 +32,2 @@ * - `item`&mdash;The item data.

* }
*
* ```

@@ -36,0 +34,0 @@ */

import { TemplateRef } from '@angular/core';
/**
* Represents a template for the Menu items.
* Represents a template for the Menu items ([see example]({% slug templates_menu %})). To define a template
* for an item, nest an `<ng-template>` tag with the `kendoMenuItemTemplate` directive inside a `<kendo-menu-item>`
* component. To define a template for all Menu items, nest the template inside the `<kendo-menu>` component.
*
* To define a template for an item, nest an `<ng-template>` tag with the `kendoMenuItemTemplate` directive inside
* a `<kendo-menu-item>` component. To define a template for all Menu items, nest the template inside the `<kendo-menu>` component.
*
* The available fields in the template context are:

@@ -32,3 +31,2 @@ * - `item`&mdash;The item data.

* }
*
* ```

@@ -35,0 +33,0 @@ */

import { Directive, TemplateRef, Optional } from '@angular/core';
/**
* Represents a template for the Menu items.
* Represents a template for the Menu items ([see example]({% slug templates_menu %})). To define a template
* for an item, nest an `<ng-template>` tag with the `kendoMenuItemTemplate` directive inside a `<kendo-menu-item>`
* component. To define a template for all Menu items, nest the template inside the `<kendo-menu>` component.
*
* To define a template for an item, nest an `<ng-template>` tag with the `kendoMenuItemTemplate` directive inside
* a `<kendo-menu-item>` component. To define a template for all Menu items, nest the template inside the `<kendo-menu>` component.
*
* The available fields in the template context are:

@@ -32,3 +31,2 @@ * - `item`&mdash;The item data.

* }
*
* ```

@@ -35,0 +33,0 @@ */

@@ -7,1 +7,13 @@ "use strict";

exports.NODE_INDEX = 'data-kendo-menu-index';
/**
* @hidden
*/
var KeyCodes;
(function (KeyCodes) {
KeyCodes[KeyCodes["ESC"] = 27] = "ESC";
KeyCodes[KeyCodes["LEFT"] = 37] = "LEFT";
KeyCodes[KeyCodes["UP"] = 38] = "UP";
KeyCodes[KeyCodes["RIGHT"] = 39] = "RIGHT";
KeyCodes[KeyCodes["DOWN"] = 40] = "DOWN";
KeyCodes[KeyCodes["F10"] = 121] = "F10";
})(KeyCodes = exports.KeyCodes || (exports.KeyCodes = {}));
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var ITEM_FIELDS = ['textField', 'urlField', 'iconField', 'disabledField', 'cssClassField', 'cssStyleField'];
var ITEM_FIELDS = ['textField', 'urlField', 'iconField', 'disabledField', 'cssClassField', 'cssStyleField', 'separatorField'];
/**

@@ -15,3 +15,3 @@ * @hidden

/**
* Rebinds the menu items.
* Rebinds the Menu items.
*/

@@ -18,0 +18,0 @@ BindingDirectiveBase.prototype.rebind = function () {

@@ -5,3 +5,3 @@ "use strict";

var core_1 = require("@angular/core");
var menu_component_1 = require("../menu.component");
var menu_base_1 = require("../menu-base");
var binding_directive_base_1 = require("./binding-directive-base");

@@ -11,3 +11,3 @@ var utils_1 = require("./utils");

/**
* A directive that converts the provided flat data to [`MenuItems`]({% slug api_menu_menuitem %}) and binds them to the menu.
* A directive that converts the provided flat data to [MenuItems]({% slug api_menu_menuitem %}) and binds them to the Menu.
*/

@@ -63,3 +63,3 @@ var FlatBindingDirective = /** @class */ (function (_super) {

FlatBindingDirective.ctorParameters = function () { return [
{ type: menu_component_1.MenuComponent, },
{ type: menu_base_1.MenuBase, },
]; };

@@ -74,2 +74,3 @@ FlatBindingDirective.propDecorators = {

'cssStyleField': [{ type: core_1.Input },],
'separatorField': [{ type: core_1.Input },],
'idField': [{ type: core_1.Input },],

@@ -76,0 +77,0 @@ 'parentIdField': [{ type: core_1.Input },],

@@ -5,3 +5,3 @@ "use strict";

var core_1 = require("@angular/core");
var menu_component_1 = require("../menu.component");
var menu_base_1 = require("../menu-base");
var binding_directive_base_1 = require("./binding-directive-base");

@@ -12,3 +12,3 @@ var utils_1 = require("./utils");

/**
* A directive that converts the provided hierarchical data to [`MenuItems`]({% slug api_menu_menuitem %}) and binds them to the menu.
* A directive that converts the provided hierarchical data to [MenuItems]({% slug api_menu_menuitem %}) and binds them to the Menu.
*/

@@ -55,3 +55,3 @@ var HierarchyBindingDirective = /** @class */ (function (_super) {

HierarchyBindingDirective.ctorParameters = function () { return [
{ type: menu_component_1.MenuComponent, },
{ type: menu_base_1.MenuBase, },
]; };

@@ -66,2 +66,3 @@ HierarchyBindingDirective.propDecorators = {

'cssStyleField': [{ type: core_1.Input },],
'separatorField': [{ type: core_1.Input },],
'childrenField': [{ type: core_1.Input },],

@@ -68,0 +69,0 @@ };

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var constants_1 = require("./constants");
var DEFAULT_ID = 'kendo-matches-container';
var focusableRegex = /^(?:a|input|select|option|textarea|button|object)$/i;
var matches = function (element, selector) { return (element.matches || element.msMatchesSelector).call(element, selector); };
/**

@@ -86,1 +88,16 @@ * @hidden

};
/**
* @hidden
*/
exports.findInContainer = function (element, selector, container) {
var id = container.getAttribute('id');
if (!id) {
container.setAttribute('id', DEFAULT_ID);
}
var contextSelector = "#" + (id || DEFAULT_ID) + " " + selector;
var match = exports.closestInScope(element, function (node) { return matches(node, contextSelector); }, container);
if (!id) {
container.removeAttribute('id');
}
return match;
};

@@ -9,7 +9,19 @@ "use strict";

var constants_1 = require("./constants");
exports.ɵf = constants_1.NODE_INDEX;
exports.ɵg = constants_1.NODE_INDEX;
var context_menu_items_service_1 = require("./context-menu/context-menu-items.service");
exports.ɵk = context_menu_items_service_1.ContextMenuItemsService;
var context_menu_target_container_directive_1 = require("./context-menu/context-menu-target-container.directive");
exports.ɵn = context_menu_target_container_directive_1.ContextMenuTargetContainerDirective;
var context_menu_target_directive_1 = require("./context-menu/context-menu-target.directive");
exports.ɵl = context_menu_target_directive_1.ContextMenuTargetDirective;
var context_menu_target_service_1 = require("./context-menu/context-menu-target.service");
exports.ɵm = context_menu_target_service_1.ContextMenuTargetService;
var context_menu_service_1 = require("./context-menu/context-menu.service");
exports.ɵf = context_menu_service_1.ContextMenuService;
var binding_directive_base_1 = require("./data-binding/binding-directive-base");
exports.ɵg = binding_directive_base_1.BindingDirectiveBase;
var item_component_1 = require("./rendering/item.component");
exports.ɵa = item_component_1.bodyFactory;
exports.ɵj = binding_directive_base_1.BindingDirectiveBase;
var menu_base_1 = require("./menu-base");
exports.ɵa = menu_base_1.MenuBase;
var preventable_event_1 = require("./preventable-event");
exports.ɵi = preventable_event_1.PreventableEvent;
var actions_service_1 = require("./services/actions.service");

@@ -23,1 +35,3 @@ exports.ɵc = actions_service_1.ActionsService;

exports.ɵd = navigation_service_1.NavigationService;
var utils_1 = require("./utils");
exports.ɵh = utils_1.bodyFactory;

@@ -9,7 +9,19 @@ "use strict";

var constants_1 = require("./constants");
exports.ɵf = constants_1.NODE_INDEX;
exports.ɵg = constants_1.NODE_INDEX;
var context_menu_items_service_1 = require("./context-menu/context-menu-items.service");
exports.ɵk = context_menu_items_service_1.ContextMenuItemsService;
var context_menu_target_container_directive_1 = require("./context-menu/context-menu-target-container.directive");
exports.ɵn = context_menu_target_container_directive_1.ContextMenuTargetContainerDirective;
var context_menu_target_directive_1 = require("./context-menu/context-menu-target.directive");
exports.ɵl = context_menu_target_directive_1.ContextMenuTargetDirective;
var context_menu_target_service_1 = require("./context-menu/context-menu-target.service");
exports.ɵm = context_menu_target_service_1.ContextMenuTargetService;
var context_menu_service_1 = require("./context-menu/context-menu.service");
exports.ɵf = context_menu_service_1.ContextMenuService;
var binding_directive_base_1 = require("./data-binding/binding-directive-base");
exports.ɵg = binding_directive_base_1.BindingDirectiveBase;
var item_component_1 = require("./rendering/item.component");
exports.ɵa = item_component_1.bodyFactory;
exports.ɵj = binding_directive_base_1.BindingDirectiveBase;
var menu_base_1 = require("./menu-base");
exports.ɵa = menu_base_1.MenuBase;
var preventable_event_1 = require("./preventable-event");
exports.ɵi = preventable_event_1.PreventableEvent;
var actions_service_1 = require("./services/actions.service");

@@ -23,1 +35,3 @@ exports.ɵc = actions_service_1.ActionsService;

exports.ɵd = navigation_service_1.NavigationService;
var utils_1 = require("./utils");
exports.ɵh = utils_1.bodyFactory;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var preventable_event_1 = require("./preventable-event");
/**
* A `MenuComponent` event.
* An event of the MenuComponent.
*/
var MenuEvent = /** @class */ (function () {
function MenuEvent(args) {
this.prevented = false;
Object.assign(this, args);
var MenuEvent = /** @class */ (function (_super) {
tslib_1.__extends(MenuEvent, _super);
function MenuEvent() {
return _super !== null && _super.apply(this, arguments) || this;
}
/**
* Prevents the default action for a specified event.
* In this way, the source component suppresses
* the built-in behavior that follows the event.
*/
MenuEvent.prototype.preventDefault = function () {
this.prevented = true;
};
/**
* Returns `true` if the event was prevented
* by any of its subscribers.
*
* @returns `true` if the default action was prevented.
* Otherwise, returns `false`.
*/
MenuEvent.prototype.isDefaultPrevented = function () {
return this.prevented;
};
return MenuEvent;
}());
}(preventable_event_1.PreventableEvent));
exports.MenuEvent = MenuEvent;

@@ -8,3 +8,4 @@ "use strict";

/**
* A component that can be used to specify the Menu items.
* A component that can be used to specify the Menu items
* ([more information and examples]({% slug items_menu %})).
*

@@ -50,3 +51,2 @@ * @example

* }
*
* ```

@@ -121,2 +121,3 @@ */

'data': [{ type: core_1.Input },],
'separator': [{ type: core_1.Input },],
'itemTemplate': [{ type: core_1.ContentChildren, args: [item_template_directive_1.ItemTemplateDirective,] },],

@@ -123,0 +124,0 @@ 'itemLinkTemplate': [{ type: core_1.ContentChildren, args: [item_link_template_directive_1.ItemLinkTemplateDirective,] },],

@@ -6,3 +6,3 @@ "use strict";

/**
* A `MenuComponent` event.
* The `select` event of the MenuComponent.
*/

@@ -9,0 +9,0 @@ var MenuSelectEvent = /** @class */ (function (_super) {

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var core_1 = require("@angular/core");

@@ -9,9 +10,9 @@ var kendo_angular_l10n_1 = require("@progress/kendo-angular-l10n");

var hover_service_1 = require("./services/hover.service");
var menu_item_component_1 = require("./menu-item.component");
var item_template_directive_1 = require("./templates/item-template.directive");
var item_link_template_directive_1 = require("./templates/item-link-template.directive");
var open_on_click_settings_1 = require("./open-on-click-settings");
var dom_queries_1 = require("./dom-queries");
var context_menu_service_1 = require("./context-menu/context-menu.service");
var menu_base_1 = require("./menu-base");
var constants_1 = require("./constants");
/**
* Represents the Kendo UI Menu component for Angular.
* Represents the [Kendo UI Menu component for Angular]({% slug overview_menu %}).
*

@@ -32,43 +33,34 @@ * @example

*/
var MenuComponent = /** @class */ (function () {
function MenuComponent(itemsService, hover, actions, navigation, localization, ngZone, renderer) {
this.itemsService = itemsService;
this.hover = hover;
this.actions = actions;
this.navigation = navigation;
this.localization = localization;
this.ngZone = ngZone;
this.renderer = renderer;
var MenuComponent = /** @class */ (function (_super) {
tslib_1.__extends(MenuComponent, _super);
function MenuComponent(itemsService, hover, actions, navigation, localization, ngZone, renderer, contextService) {
var _this = _super.call(this) || this;
_this.itemsService = itemsService;
_this.hover = hover;
_this.actions = actions;
_this.navigation = navigation;
_this.localization = localization;
_this.ngZone = ngZone;
_this.renderer = renderer;
_this.contextService = contextService;
/**
* Specifies if the Menu will be vertical.
* Fires when a Menu item is selected ([see example]({% slug routing_menu %})).
*/
this.vertical = false;
_this.select = new core_1.EventEmitter();
/**
* Specifies that the root items can be opened only on click.
*/
this.openOnClick = false;
/**
* Specifies the delay in milliseconds before the Menu items are opened or closed on item hover, or leave.
* Used to avoid accidental closure on leaving.
*/
this.hoverDelay = 100;
/**
* Sets the menu animation.
*/
this.animate = true;
/**
* Fires when a Menu item is selected.
*/
this.select = new core_1.EventEmitter();
/**
* Fires when a Menu item is opened.
*/
this.open = new core_1.EventEmitter();
_this.open = new core_1.EventEmitter();
/**
* Fires when a Menu item is closed.
*/
this.close = new core_1.EventEmitter();
this.actions.owner = this;
_this.close = new core_1.EventEmitter();
_this.actions.owner = _this;
if (contextService) {
contextService.items = _this.itemsService;
_this.contextKeyDownSubscription = contextService.keydown.subscribe(_this.contextKeyDown.bind(_this));
}
return _this;
}
Object.defineProperty(MenuComponent.prototype, "rootItems", {
Object.defineProperty(MenuComponent.prototype, "ariaOrientation", {
/**

@@ -78,3 +70,5 @@ * @hidden

get: function () {
return this.items || (this.children ? this.children.toArray() : []);
if (this.vertical) {
return 'vertical';
}
},

@@ -84,3 +78,3 @@ enumerable: true,

});
Object.defineProperty(MenuComponent.prototype, "ariaOrientation", {
Object.defineProperty(MenuComponent.prototype, "contextMenuClass", {
/**

@@ -90,5 +84,3 @@ * @hidden

get: function () {
if (this.vertical) {
return 'vertical';
}
return Boolean(this.contextService);
},

@@ -113,3 +105,3 @@ enumerable: true,

/**
* Opens or closes the specified menu items.
* Opens or closes the specified Menu items.
*

@@ -136,2 +128,8 @@ * @param open - A Boolean value which indicates if the items will be opened or closed.

};
/**
* @hidden
*/
MenuComponent.prototype.focus = function (index) {
this.navigation.focusIndex(index);
};
MenuComponent.prototype.ngOnChanges = function (changes) {

@@ -156,2 +154,6 @@ this.navigation.vertical = this.vertical;

this.unsubscribeClick();
if (this.contextService) {
this.contextService.items = null;
this.contextKeyDownSubscription.unsubscribe();
}
};

@@ -177,2 +179,22 @@ MenuComponent.prototype.attachCloseClick = function () {

};
MenuComponent.prototype.contextKeyDown = function (e) {
if (!this.itemsService.hasItems) {
return;
}
var keyCode = e.keyCode;
var rtl = this.localization.rtl;
var first = keyCode === constants_1.KeyCodes.DOWN || keyCode === constants_1.KeyCodes.RIGHT;
var last = keyCode === constants_1.KeyCodes.UP || keyCode === constants_1.KeyCodes.LEFT;
var index;
if ((first && !rtl) || (last && rtl)) {
index = 'first';
}
else if ((first && rtl) || (last && !rtl)) {
index = 'last';
}
if (index) {
e.preventDefault();
this.focus(index);
}
};
MenuComponent.decorators = [

@@ -190,6 +212,10 @@ { type: core_1.Component, args: [{

useValue: 'kendo.menu'
},
{
provide: menu_base_1.MenuBase,
useExisting: core_1.forwardRef(function () { return MenuComponent; })
}
],
selector: 'kendo-menu',
template: "\n <ul role=\"menubar\"\n [attr.aria-orientation]=\"ariaOrientation\"\n kendoMenuList [items]=\"rootItems\" [level]=\"0\" class=\"k-widget k-reset k-header k-menu\"\n [vertical]=\"vertical\" [rtl]=\"rtl\" [animate]=\"animate\" [openOnClick]=\"openOnClick\"\n [itemTemplate]=\"itemTemplate.first?.templateRef\"\n [itemLinkTemplate]=\"itemLinkTemplate.first?.templateRef\"\n [class.k-menu-horizontal]=\"!vertical\"\n [class.k-menu-vertical]=\"vertical\">\n </ul>\n "
template: "\n <ul role=\"menubar\"\n [attr.aria-orientation]=\"ariaOrientation\"\n kendoMenuList [items]=\"rootItems\" [level]=\"0\" class=\"k-widget k-reset k-header k-menu\"\n [vertical]=\"vertical\" [rtl]=\"rtl\" [animate]=\"animate\" [openOnClick]=\"openOnClick\"\n [itemTemplate]=\"itemTemplate.first?.templateRef || menuItemTemplate\"\n [itemLinkTemplate]=\"itemLinkTemplate.first?.templateRef || menuItemLinkTemplate\"\n [class.k-menu-horizontal]=\"!vertical\"\n [class.k-menu-vertical]=\"vertical\"\n [class.k-context-menu]=\"contextMenuClass\">\n </ul>\n "
},] },

@@ -206,19 +232,14 @@ ];

{ type: core_1.Renderer2, },
{ type: context_menu_service_1.ContextMenuService, decorators: [{ type: core_1.Optional },] },
]; };
MenuComponent.propDecorators = {
'items': [{ type: core_1.Input },],
'vertical': [{ type: core_1.Input },],
'openOnClick': [{ type: core_1.Input },],
'hoverDelay': [{ type: core_1.Input },],
'animate': [{ type: core_1.Input },],
'menuItemTemplate': [{ type: core_1.Input },],
'menuItemLinkTemplate': [{ type: core_1.Input },],
'select': [{ type: core_1.Output },],
'open': [{ type: core_1.Output },],
'close': [{ type: core_1.Output },],
'itemTemplate': [{ type: core_1.ContentChildren, args: [item_template_directive_1.ItemTemplateDirective,] },],
'itemLinkTemplate': [{ type: core_1.ContentChildren, args: [item_link_template_directive_1.ItemLinkTemplateDirective,] },],
'children': [{ type: core_1.ContentChildren, args: [menu_item_component_1.MenuItemComponent,] },],
'direction': [{ type: core_1.HostBinding, args: ['class.k-rtl',] },],
};
return MenuComponent;
}());
}(menu_base_1.MenuBase));
exports.MenuComponent = MenuComponent;

@@ -31,1 +31,15 @@ "use strict";

exports.MenuModule = menu_module_1.MenuModule;
var context_menu_event_1 = require("./context-menu/context-menu-event");
exports.ContextMenuEvent = context_menu_event_1.ContextMenuEvent;
var context_menu_select_event_1 = require("./context-menu/context-menu-select-event");
exports.ContextMenuSelectEvent = context_menu_select_event_1.ContextMenuSelectEvent;
var context_menu_popup_event_1 = require("./context-menu/context-menu-popup-event");
exports.ContextMenuPopupEvent = context_menu_popup_event_1.ContextMenuPopupEvent;
var context_menu_template_directive_1 = require("./context-menu/context-menu-template.directive");
exports.ContextMenuTemplateDirective = context_menu_template_directive_1.ContextMenuTemplateDirective;
var context_menu_component_1 = require("./context-menu/context-menu.component");
exports.ContextMenuComponent = context_menu_component_1.ContextMenuComponent;
var context_menu_module_1 = require("./context-menu/context-menu.module");
exports.ContextMenuModule = context_menu_module_1.ContextMenuModule;
var menus_module_1 = require("./menus.module");
exports.MenusModule = menus_module_1.MenusModule;

@@ -8,10 +8,3 @@ "use strict";

var kendo_angular_popup_1 = require("@progress/kendo-angular-popup");
/**
* @hidden
*/
exports.bodyFactory = function () {
if (typeof document !== 'undefined') {
return new core_1.ElementRef(document.body);
}
};
var utils_1 = require("../utils");
/* tslint:disable:component-selector */

@@ -249,3 +242,3 @@ /**

provide: kendo_angular_popup_1.POPUP_CONTAINER,
useFactory: exports.bodyFactory
useFactory: utils_1.bodyFactory
}],

@@ -269,2 +262,3 @@ selector: '[kendoMenuItem]',

'index': [{ type: core_1.Input },],
'siblingIndex': [{ type: core_1.Input },],
'animate': [{ type: core_1.Input },],

@@ -271,0 +265,0 @@ 'vertical': [{ type: core_1.Input },],

@@ -145,3 +145,3 @@ "use strict";

selector: '[kendoMenuList]',
template: "\n <li *ngFor=\"let item of items; let idx = index\" kendoMenuItem\n [item]=\"item\" [level]=\"level\" [vertical]=\"vertical\" [animate]=\"animate\" [rtl]=\"rtl\"\n [itemTemplate]=\"itemTemplate\" [itemLinkTemplate]=\"itemLinkTemplate\" [openOnClick]=\"openOnClick\"\n [index]=\"hierarchyIndex(idx)\" [attr." + constants_1.NODE_INDEX + "]=\"hierarchyIndex(idx)\"\n [ngClass]=\"item.cssClass\" [ngStyle]=\"item.cssStyle\"\n role=\"menuitem\"\n class=\"k-item k-menu-item\"\n [class.k-first]=\"idx === 0\" [class.k-last]=\"idx === items.length - 1\"\n [class.k-state-disabled]=\"item.disabled\"></li>\n "
template: "\n <ng-container *ngFor=\"let item of items; let idx = index\">\n <li *ngIf=\"!item.separator\" kendoMenuItem\n [item]=\"item\" [level]=\"level\" [vertical]=\"vertical\" [animate]=\"animate\" [rtl]=\"rtl\"\n [itemTemplate]=\"itemTemplate\" [itemLinkTemplate]=\"itemLinkTemplate\" [openOnClick]=\"openOnClick\"\n [index]=\"hierarchyIndex(idx)\" [siblingIndex]=\"idx\" [attr." + constants_1.NODE_INDEX + "]=\"hierarchyIndex(idx)\"\n [ngClass]=\"item.cssClass\" [ngStyle]=\"item.cssStyle\"\n role=\"menuitem\"\n class=\"k-item k-menu-item\"\n [class.k-first]=\"idx === 0\" [class.k-last]=\"idx === items.length - 1\"\n [class.k-state-disabled]=\"item.disabled\"></li>\n <li *ngIf=\"item.separator\" class=\"k-separator k-item\"\n role=\"separator\" [ngClass]=\"item.cssClass\" [ngStyle]=\"item.cssStyle\">\n &nbsp;\n </li>\n </ng-container>\n "
},] },

@@ -148,0 +148,0 @@ ];

@@ -6,3 +6,3 @@ "use strict";

var menu_event_1 = require("../menu-event");
var hasObservers = function (emitter) { return emitter && emitter.observers.length > 0; };
var utils_1 = require("../utils");
var canPerformAction = function (item, action) {

@@ -83,9 +83,14 @@ return !((action === 'open' && item.opened) || (action === 'close' && !item.opened));

ActionsService.prototype.emit = function (name, item, domEvent) {
var owner = this.owner;
var eventArgs = new menu_event_1.MenuEvent({
sender: this.owner,
sender: owner,
item: item.item,
index: item.index,
originalEvent: domEvent
originalEvent: domEvent,
hasContent: item.hasContent
});
this.owner[name].emit(eventArgs);
owner[name].emit(eventArgs);
if (owner.contextService) {
owner.contextService.emit(name, eventArgs);
}
return eventArgs.isDefaultPrevented();

@@ -141,5 +146,8 @@ };

var actions = toExecute || this.actions;
var owner = this.owner;
var contextService = owner.contextService;
for (var idx = 0; idx < actions.length; idx++) {
var action = actions[idx];
if (action.requiresZone || (action.name && hasObservers(this.owner[action.name]))) {
var name_2 = action.name;
if (action.requiresZone || (name_2 && (utils_1.hasObservers(owner[name_2]) || (contextService && contextService.hasObservers(name_2))))) {
return true;

@@ -146,0 +154,0 @@ }

@@ -7,2 +7,19 @@ "use strict";

var id = 0;
var itemIndexComparer = function (a, b) { return a.siblingIndex - b.siblingIndex; };
var next = function (idx, items, dir) {
var current = items[idx + dir];
while (!current) {
if (idx < 0) {
idx = items.length - 1;
}
else if (idx >= items.length) {
idx = 0;
}
else {
idx += dir;
}
current = items[idx];
}
return current;
};
/**

@@ -79,6 +96,6 @@ * @hidden

if (predicate(index, items[index])) {
result.push(index);
result.push(items[index]);
}
}
return result.sort().map(function (index) { return items[index]; });
return result.sort(itemIndexComparer);
};

@@ -88,4 +105,3 @@ ItemsService.prototype.previous = function (item) {

var itemIndex = siblings.indexOf(item);
var idx = itemIndex === 0 ? siblings.length - 1 : itemIndex - 1;
return this.items[this.itemIndex(this.parentIndex(item.index), idx)];
return next(itemIndex, siblings, -1);
};

@@ -95,4 +111,3 @@ ItemsService.prototype.next = function (item) {

var itemIndex = siblings.indexOf(item);
var idx = itemIndex === siblings.length - 1 ? 0 : itemIndex + 1;
return this.items[this.itemIndex(this.parentIndex(item.index), idx)];
return next(itemIndex, siblings, 1);
};

@@ -99,0 +114,0 @@ ItemsService.prototype.hasParent = function (item, parent) {

@@ -111,2 +111,27 @@ "use strict";

};
NavigationService.prototype.focusIndex = function (index) {
if (!index && this.activeItem) {
this.setFocus(this.activeItem);
}
else if (index === 'first') {
this.focusFirst();
}
else if (index === 'last') {
this.focusLast();
}
else {
var item = this.items.get(index);
if (item) {
this.focus(item);
}
}
};
NavigationService.prototype.focusFirst = function () {
var items = this.items.siblings(this.items.get('0'));
this.focus(items[0]);
};
NavigationService.prototype.focusLast = function () {
var items = this.items.siblings(this.items.get('0'));
this.focus(items[items.length - 1]);
};
NavigationService.prototype.search = function (current, key) {

@@ -113,0 +138,0 @@ var siblings = this.items.siblings(current);

@@ -5,7 +5,5 @@ "use strict";

/**
* Represents a template for the content of the Menu items.
* Represents a template for the content of the Menu items ([see example]({% slug templates_menu %})). To define the template,
* nest an `<ng-template>` tag with the `kendoMenuItemContentTemplate` directive inside a `<kendo-menu-item>` component.
*
* To define the template, nest an `<ng-template>` tag with the `kendoMenuItemContentTemplate` directive inside
* a `<kendo-menu-item>` component.
*
* The available fields in the template context are:

@@ -35,3 +33,2 @@ * - `item`&mdash;The item data.

* }
*
* ```

@@ -38,0 +35,0 @@ */

@@ -5,7 +5,6 @@ "use strict";

/**
* Represents a template for the links of the Menu items.
* Represents a template for the links of the Menu items ([see example]({% slug templates_menu %})). To define a template
* for an item, nest an `<ng-template>` tag with the `kendoMenuItemLinkTemplate` directive inside a `<kendo-menu-item>`
* component. To define a template for all Menu items, nest the template inside the `<kendo-menu>` component.
*
* To define a template for an item, nest an `<ng-template>` tag with the `kendoMenuItemLinkTemplate` directive inside
* a `<kendo-menu-item>` component. To define a template for all Menu items, nest the template inside the `<kendo-menu>` component.
*
* The available fields in the template context are:

@@ -36,3 +35,2 @@ * - `item`&mdash;The item data.

* }
*
* ```

@@ -39,0 +37,0 @@ */

@@ -5,7 +5,6 @@ "use strict";

/**
* Represents a template for the Menu items.
* Represents a template for the Menu items ([see example]({% slug templates_menu %})). To define a template
* for an item, nest an `<ng-template>` tag with the `kendoMenuItemTemplate` directive inside a `<kendo-menu-item>`
* component. To define a template for all Menu items, nest the template inside the `<kendo-menu>` component.
*
* To define a template for an item, nest an `<ng-template>` tag with the `kendoMenuItemTemplate` directive inside
* a `<kendo-menu-item>` component. To define a template for all Menu items, nest the template inside the `<kendo-menu>` component.
*
* The available fields in the template context are:

@@ -35,3 +34,2 @@ * - `item`&mdash;The item data.

* }
*
* ```

@@ -38,0 +36,0 @@ */

@@ -1,1 +0,1 @@

System.register("@progress/kendo-angular-menu",["tslib","@progress/kendo-angular-l10n","@angular/core","@progress/kendo-angular-popup","@angular/common"],function(_){var n,i,o,r,a;function t(e){return e.__useDefault?e.default:e}return{setters:[function(e){n=t(e)},function(e){i=t(e)},function(e){o=t(e)},function(e){r=t(e)},function(e){a=t(e)}],execute:function(){!function(n){var i={};function o(e){if(i[e])return i[e].exports;var t=i[e]={exports:{},id:e,loaded:!1};return n[e].call(t.exports,t,t.exports,o),t.loaded=!0,t.exports}o.m=n,o.c=i,o.p="",o(0)}([function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(1);t.MenuComponent=i.MenuComponent;var o=n(17);t.ListComponent=o.ListComponent;var r=n(18);t.ItemComponent=r.ItemComponent;var a=n(21);t.LinkDirective=a.LinkDirective;var s=n(22);t.ExpandArrowDirective=s.ExpandArrowDirective;var c=n(10);t.MenuItemComponent=c.MenuItemComponent;var p=n(7);t.MenuEvent=p.MenuEvent;var l=n(23);t.MenuSelectEvent=l.MenuSelectEvent;var d=n(13);t.ItemContentTemplateDirective=d.ItemContentTemplateDirective;var u=n(11);t.ItemTemplateDirective=u.ItemTemplateDirective;var m=n(12);t.ItemLinkTemplateDirective=m.ItemLinkTemplateDirective;var h=n(24);t.HierarchyBindingDirective=h.HierarchyBindingDirective;var v=n(27);t.FlatBindingDirective=v.FlatBindingDirective;var f=n(28);t.MenuModule=f.MenuModule,function(e){for(var t in e)_(t,e[t])}(t)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),s=n(3),o=n(4),r=n(5),a=n(6),c=n(8),p=n(9),l=n(10),d=n(11),u=n(12),m=n(14),h=n(15),v=function(){function e(e,t,n,i,o,r,a){this.itemsService=e,this.hover=t,this.actions=n,this.navigation=i,this.localization=o,this.ngZone=r,this.renderer=a,this.vertical=!1,this.openOnClick=!1,this.hoverDelay=100,this.animate=!0,this.select=new s.EventEmitter,this.open=new s.EventEmitter,this.close=new s.EventEmitter,this.actions.owner=this}return Object.defineProperty(e.prototype,"rootItems",{get:function(){return this.items||(this.children?this.children.toArray():[])},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"ariaOrientation",{get:function(){if(this.vertical)return"vertical"},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"direction",{get:function(){return this.rtl},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"rtl",{get:function(){return this.localization.rtl},enumerable:!0,configurable:!0}),e.prototype.toggle=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];for(var i=0;i<t.length;i++){var o=this.itemsService.get(t[i]);o&&!o.disabled&&(e?o.open():o.close())}},e.prototype.ngOnChanges=function(e){if(this.navigation.vertical=this.vertical,this.hover.delay=this.hoverDelay,e.openOnClick){var t=this.openOnClick=m.normalize(this.openOnClick);this.hover.openOnOver=!t,t&&"click"===t.toggle?this.attachCloseClick():this.unsubscribeClick()}},e.prototype.ngAfterViewChecked=function(){this.navigation.updateActive()},e.prototype.ngOnDestroy=function(){this.unsubscribeClick()},e.prototype.attachCloseClick=function(){var t=this;this.closeClickSubscription||"undefined"==typeof document||this.ngZone.runOutsideAngular(function(){t.closeClickSubscription=t.renderer.listen("document","click",function(e){h.inMenu(e.target,t.itemsService)||(t.hover.openOnOver=!1,t.actions.closeAll(),t.actions.execute())})})},e.prototype.unsubscribeClick=function(){this.closeClickSubscription&&this.closeClickSubscription()},i.__decorate([s.Input(),i.__metadata("design:type",Array)],e.prototype,"items",void 0),i.__decorate([s.Input(),i.__metadata("design:type",Boolean)],e.prototype,"vertical",void 0),i.__decorate([s.Input(),i.__metadata("design:type",Object)],e.prototype,"openOnClick",void 0),i.__decorate([s.Input(),i.__metadata("design:type",Number)],e.prototype,"hoverDelay",void 0),i.__decorate([s.Input(),i.__metadata("design:type",Object)],e.prototype,"animate",void 0),i.__decorate([s.Output(),i.__metadata("design:type",s.EventEmitter)],e.prototype,"select",void 0),i.__decorate([s.Output(),i.__metadata("design:type",s.EventEmitter)],e.prototype,"open",void 0),i.__decorate([s.Output(),i.__metadata("design:type",s.EventEmitter)],e.prototype,"close",void 0),i.__decorate([s.ContentChildren(d.ItemTemplateDirective),i.__metadata("design:type",s.QueryList)],e.prototype,"itemTemplate",void 0),i.__decorate([s.ContentChildren(u.ItemLinkTemplateDirective),i.__metadata("design:type",s.QueryList)],e.prototype,"itemLinkTemplate",void 0),i.__decorate([s.ContentChildren(l.MenuItemComponent),i.__metadata("design:type",s.QueryList)],e.prototype,"children",void 0),i.__decorate([s.HostBinding("class.k-rtl"),i.__metadata("design:type",Boolean),i.__metadata("design:paramtypes",[])],e.prototype,"direction",null),e=i.__decorate([s.Component({exportAs:"kendoMenu",providers:[r.ItemsService,a.ActionsService,c.NavigationService,p.HoverService,o.LocalizationService,{provide:o.L10N_PREFIX,useValue:"kendo.menu"}],selector:"kendo-menu",template:'\n <ul role="menubar"\n [attr.aria-orientation]="ariaOrientation"\n kendoMenuList [items]="rootItems" [level]="0" class="k-widget k-reset k-header k-menu"\n [vertical]="vertical" [rtl]="rtl" [animate]="animate" [openOnClick]="openOnClick"\n [itemTemplate]="itemTemplate.first?.templateRef"\n [itemLinkTemplate]="itemLinkTemplate.first?.templateRef"\n [class.k-menu-horizontal]="!vertical"\n [class.k-menu-vertical]="vertical">\n </ul>\n '}),i.__metadata("design:paramtypes",[r.ItemsService,p.HoverService,a.ActionsService,c.NavigationService,o.LocalizationService,s.NgZone,s.Renderer2])],e)}();t.MenuComponent=v},function(e,t){e.exports=n},function(e,t){e.exports=o},function(e,t){e.exports=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=/_?\d+$/,a=0,s=function(){function e(){this.items={},this.lists=[],this.idPrefix="k-menu"+a++}return Object.defineProperty(e.prototype,"hasItems",{get:function(){return 0<Object.keys(this.items).length},enumerable:!0,configurable:!0}),e.prototype.childId=function(e){return this.idPrefix+"-child"+e},e.prototype.itemIndex=function(e,t){return(e?e+"_":"")+t},e.prototype.get=function(e){return this.items[e]},e.prototype.add=function(e){this.items[e.index]=e},e.prototype.remove=function(e){delete this.items[e.index]},e.prototype.addList=function(e){this.lists.push(e)},e.prototype.removeList=function(e){var t=this.lists.indexOf(e);0<=t&&this.lists.splice(t,1)},e.prototype.containsList=function(t){return Boolean(this.lists.find(function(e){return e.element.nativeElement===t}))},e.prototype.siblings=function(e){var t=this,n=this.parentIndex(e.index);return this.filter(function(e){return t.parentIndex(e)===n})},e.prototype.otherSiblings=function(t){var n=this,i=this.parentIndex(t.index);return this.filter(function(e){return n.parentIndex(e)===i&&e!==t.index})},e.prototype.children=function(t){var n=this;return this.filter(function(e){return n.parentIndex(e)===t.index})},e.prototype.parent=function(e){return this.items[this.parentIndex(e.index)]},e.prototype.root=function(e){return this.items[this.indices(e.index)[0]]},e.prototype.indices=function(e){return e.split("_")},e.prototype.filter=function(e){var t=[],n=this.items;for(var i in n)e(i,n[i])&&t.push(i);return t.sort().map(function(e){return n[e]})},e.prototype.previous=function(e){var t=this.siblings(e),n=t.indexOf(e),i=0===n?t.length-1:n-1;return this.items[this.itemIndex(this.parentIndex(e.index),i)]},e.prototype.next=function(e){var t=this.siblings(e),n=t.indexOf(e),i=n===t.length-1?0:n+1;return this.items[this.itemIndex(this.parentIndex(e.index),i)]},e.prototype.hasParent=function(e,t){return e.index.startsWith(t.index)},e.prototype.areSiblings=function(e,t){return e!==t&&this.parent(e)===this.parent(t)},e.prototype.forEach=function(e){var t=this.items;for(var n in t)t.hasOwnProperty(n)&&e(t[n])},e.prototype.parentIndex=function(e){return e.replace(r,"")},e=i.__decorate([o.Injectable()],e)}();t.ItemsService=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(5),a=n(7),s=function(){function e(e,t){this.ngZone=e,this.items=t,this.actions=[]}return e.prototype.open=function(e,t){e.disabled||(e.hasContent&&!e.opened?this.actions.push({name:"open",requiresZone:e.hasContentTemplates(),item:e,finished:t}):t&&t())},e.prototype.close=function(e){this.closeChildren(e),this.closeItem(e)},e.prototype.closeItem=function(e){e.opened&&this.actions.push({name:"close",item:e})},e.prototype.closeToRoot=function(e){this.closeChildren(e);for(var t=e;this.closeItem(t),t=this.items.parent(t););},e.prototype.closeOthers=function(e){this.closeChildren(e);for(var t=e;t;){var n=this.items.otherSiblings(t);this.closeItems(n),t=this.items.parent(t)}},e.prototype.closeAll=function(){var t=this;this.items.forEach(function(e){e.opened&&0===e.level&&t.close(e)})},e.prototype.select=function(e,t,n,i){this.actions.push({name:"select",item:e,prevented:n,finished:i,domEvent:t})},e.prototype.emit=function(e,t,n){var i=new a.MenuEvent({sender:this.owner,item:t.item,index:t.index,originalEvent:n});return this.owner[e].emit(i),i.isDefaultPrevented()},Object.defineProperty(e.prototype,"hasPending",{get:function(){return 0<this.actions.length},enumerable:!0,configurable:!0}),e.prototype.execute=function(e){var t=this;if(this.hasPending||e){var n=e||this.clear();!o.NgZone.isInAngularZone()&&this.requiresZone(n)?this.ngZone.run(function(){t.executeActions(n)}):this.executeActions(n)}},e.prototype.clear=function(){var e=this.actions;return this.actions=[],e},e.prototype.executeActions=function(e){for(var t=0;t<e.length;t++){var n=e[t],i=n.item,o=n.name,r=n.prevented,a=n.finished,s=n.domEvent;(c=i,"open"===(p=o)&&c.opened||"close"===p&&!c.opened)||(this.emit(o,i,s)?r&&r():(i[o]&&i[o](),a&&a()))}var c,p},e.prototype.requiresZone=function(e){for(var t,n=e||this.actions,i=0;i<n.length;i++){var o=n[i];if(o.requiresZone||o.name&&((t=this.owner[o.name])&&0<t.observers.length))return!0}return!1},e.prototype.closeChildren=function(e){if(e.opened){var t=this.items.children(e);this.closeItems(t)}},e.prototype.closeItems=function(e){for(var t=0;t<e.length;t++)this.close(e[t])},e=i.__decorate([o.Injectable(),i.__metadata("design:paramtypes",[o.NgZone,r.ItemsService])],e)}();t.ActionsService=s},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e){this.prevented=!1,Object.assign(this,e)}return e.prototype.preventDefault=function(){this.prevented=!0},e.prototype.isDefaultPrevented=function(){return this.prevented},e}();t.MenuEvent=n},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(4),a=n(5),s=n(6),c=/\S/,p={37:"left",39:"right",38:"up",40:"down",36:"home",35:"end",32:"enter",13:"enter",27:"esc",9:"tab"},l=Object.assign({},p,{37:"right",39:"left"});var d=Promise.resolve(null),u=function(){function e(e,t,n,i){this.items=e,this.actions=t,this.localization=n,this.ngZone=i,this.vertical=!1,this.activeIndex="0"}return Object.defineProperty(e.prototype,"focusedItem",{get:function(){return this.items.get(this.focusedIdx)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"activeItem",{get:function(){return this.items.get(this.activeIndex)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"handlers",{get:function(){return this.localization.rtl?l:p},enumerable:!0,configurable:!0}),e.prototype.focus=function(e){e.index!==this.focusedIdx&&(this.activeItem&&this.items.hasParent(e,this.activeItem)||this.setActive(e),this.setFocus(e))},e.prototype.setFocus=function(e){this.focusedIdx=e.index,e.focus()},e.prototype.focusLeave=function(){var e=this.focusedItem;e&&(this.actions.closeToRoot(e),this.actions.execute()),this.focusedIdx=null},e.prototype.updateActive=function(){var e=this;!this.activeItem&&this.items.hasItems&&(this.items.get("0").toggleActive(!0),this.ngZone.runOutsideAngular(function(){d.then(function(){e.activeIndex="0"})}))},e.prototype.keydown=function(e){var t,n=this.focusedItem||this.activeItem,i=this.handlers[e.keyCode];n&&(i?("tab"!==i&&e.preventDefault(),this[i](n,e)):1===(t=e.key).length&&c.test(t)&&this.search(n,e.key),this.actions.execute())},e.prototype.search=function(e,t){for(var n=this.items.siblings(e),i=n.indexOf(e),o=n.slice(i+1).concat(n.slice(0,i)),r=0;r<o.length;r++){var a=o[r];if((a.item.text||"").toLowerCase().startsWith(t.toLowerCase())){this.focus(a);break}}},e.prototype.down=function(e){0!==e.level||this.vertical?this.focus(this.items.next(e)):e.hasContent&&this.actions.open(e,this.focusChild(e,0))},e.prototype.up=function(e){0!==e.level||this.vertical?this.focus(this.items.previous(e)):e.hasContent&&this.actions.open(e,this.focusChild(e,e.children.length-1))},e.prototype.left=function(e){if(!this.vertical||0!==e.level||!e.disabled)if(1<e.level||this.vertical&&0<e.level){var t=this.items.parent(e);this.focus(t),this.actions.close(t)}else this.vertical&&0===e.level&&!e.disabled?e.hasContent&&this.actions.open(e,this.focusChild(e,e.children.length-1)):this.focus(this.items.previous(this.activeItem))},e.prototype.right=function(e){this.vertical&&0===e.level&&e.disabled||(e.horizontal&&!e.disabled?e.hasContent?this.actions.open(e,this.focusChild(e,0)):(!this.vertical||0<e.level)&&this.focus(this.items.next(this.activeItem)):this.focus(this.items.next(this.activeItem)))},e.prototype.home=function(e){var t=this.items.siblings(e);this.focus(t[0])},e.prototype.end=function(e){var t=this.items.siblings(e);this.focus(t[t.length-1])},e.prototype.enter=function(e,t){var n=this.actions;e.disabled||(e.hasContent?(n.select(e,t),n.open(e,this.focusChild(e,0))):(n.select(e,t,null,function(){e.navigate()}),this.focus(this.items.root(e)),n.closeToRoot(e)))},e.prototype.esc=function(e){if(0<e.level){var t=this.items.parent(e);this.actions.close(t),this.focus(t)}},e.prototype.tab=function(e){0<e.level&&this.activeItem.focus()},e.prototype.focusChild=function(t,n){var i=this;return function(){var e=i.items.children(t)[n];i.setFocus(e)}},e.prototype.setActive=function(e){var t=this.focusedItem,n=this.items.root(e);this.activeItem&&this.activeItem.toggleActive(!1),this.activeIndex=n.index,n.toggleActive(!0),t&&(this.actions.closeToRoot(t),0<t.level&&this.actions.open(n))},e=i.__decorate([o.Injectable(),i.__metadata("design:paramtypes",[a.ItemsService,s.ActionsService,r.LocalizationService,o.NgZone])],e)}();t.NavigationService=u},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(5),a=n(6),s=function(){function e(e,t){this.actions=e,this.items=t,this.delay=100,this._openOnOver=!0,this.scheduled=[]}return Object.defineProperty(e.prototype,"openOnOver",{get:function(){return this._openOnOver},set:function(e){this.cancelActions(),this._openOnOver=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hovered",{get:function(){return this.items.get(this.hoveredIdx)},set:function(e){this.hoveredIdx=e?e.index:null},enumerable:!0,configurable:!0}),e.prototype.ngOnDestroy=function(){this.cancelActions()},e.prototype.over=function(t){var n=this;this.cancelActions(function(e){return"openOnOver"===e.name}),this.hovered&&this.hovered===t||(this.actions.closeOthers(t),(0<(this.hovered=t).level||this.openOnOver)&&!t.disabled&&(this.actions.open(t),this.cancelActions(function(e){return"close"===e.name&&(t===e.item||n.items.hasParent(t,e.item))||"open"===e.name&&!n.items.hasParent(t,e.item)})),this.scheduleActions())},e.prototype.leave=function(e){var t=this.hovered;t&&(this.actions.closeToRoot(t),this.cancelActions(function(e){return"open"===e.name}),this.scheduleActions()),e&&this._openOnOver&&this.scheduleDisableOpenOnOver(),this.hovered=null},e.prototype.closeCurrent=function(){var e=this.hovered;e&&(this.actions.closeToRoot(e),this.hovered=null)},e.prototype.scheduleActions=function(){var e=this;if(this.actions.hasPending){var t={};t.actions=this.actions.clear(),t.id=setTimeout(function(){e.actions.execute(t.actions),e.removeScheduled(t)},this.delay),this.scheduled.push(t)}},e.prototype.scheduleDisableOpenOnOver=function(){var e=this,t={actions:[{name:"openOnOver"}]};t.id=setTimeout(function(){e._openOnOver=!1,e.removeScheduled(t)},Math.max(this.delay,500)),this.scheduled.push(t)},e.prototype.removeScheduled=function(e){for(var t=this.scheduled,n=0;n<t.length;n++)if(t[n]===e)return void t.splice(n,1)},e.prototype.cancelActions=function(e){for(var t=this.scheduled,n=t.length-1;0<=n;n--){var i=t[n],o=i.actions;if(e)for(var r=o.length-1;0<=r;r--)e(o[r])&&o.splice(r,1);e&&0!==o.length||(clearTimeout(i.id),t.splice(n,1))}},e=i.__decorate([o.Injectable(),i.__metadata("design:paramtypes",[a.ActionsService,r.ItemsService])],e)}();t.HoverService=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(11),a=n(12),s=n(13),c=function(){function e(){}return t=e,Object.defineProperty(e.prototype,"template",{get:function(){if(this.itemTemplate&&this.itemTemplate.length)return this.itemTemplate.first.templateRef},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"linkTemplate",{get:function(){if(this.itemLinkTemplate&&this.itemLinkTemplate.length)return this.itemLinkTemplate.first.templateRef},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"contentTemplate",{get:function(){if(this.itemContentTemplate&&this.itemContentTemplate.length)return this.itemContentTemplate.first.templateRef},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"items",{get:function(){if(this.children.length)return this.children.toArray().slice(1)},enumerable:!0,configurable:!0}),i.__decorate([o.Input(),i.__metadata("design:type",String)],e.prototype,"text",void 0),i.__decorate([o.Input(),i.__metadata("design:type",String)],e.prototype,"url",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Boolean)],e.prototype,"disabled",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],e.prototype,"cssClass",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],e.prototype,"cssStyle",void 0),i.__decorate([o.Input(),i.__metadata("design:type",String)],e.prototype,"icon",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],e.prototype,"data",void 0),i.__decorate([o.ContentChildren(r.ItemTemplateDirective),i.__metadata("design:type",o.QueryList)],e.prototype,"itemTemplate",void 0),i.__decorate([o.ContentChildren(a.ItemLinkTemplateDirective),i.__metadata("design:type",o.QueryList)],e.prototype,"itemLinkTemplate",void 0),i.__decorate([o.ContentChildren(s.ItemContentTemplateDirective),i.__metadata("design:type",o.QueryList)],e.prototype,"itemContentTemplate",void 0),i.__decorate([o.ContentChildren(t),i.__metadata("design:type",o.QueryList)],e.prototype,"children",void 0),e=t=i.__decorate([o.Component({selector:"kendo-menu-item",template:""})],e);var t}();t.MenuItemComponent=c},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=function(){function e(e){this.templateRef=e}return e=i.__decorate([o.Directive({selector:"[kendoMenuItemTemplate]"}),i.__param(0,o.Optional()),i.__metadata("design:paramtypes",[o.TemplateRef])],e)}();t.ItemTemplateDirective=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=function(){function e(e){this.templateRef=e}return e=i.__decorate([o.Directive({selector:"[kendoMenuItemLinkTemplate]"}),i.__param(0,o.Optional()),i.__metadata("design:paramtypes",[o.TemplateRef])],e)}();t.ItemLinkTemplateDirective=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=function(){function e(e){this.templateRef=e}return e=i.__decorate([o.Directive({selector:"[kendoMenuItemContentTemplate]"}),i.__param(0,o.Optional()),i.__metadata("design:paramtypes",[o.TemplateRef])],e)}();t.ItemContentTemplateDirective=r},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.normalize=function(e){return e&&Object.assign({toggle:"select"},e)}},function(e,i,t){"use strict";Object.defineProperty(i,"__esModule",{value:!0});var n=t(16),r=/^(?:a|input|select|option|textarea|button|object)$/i;i.closest=function(e,t){for(;e&&!t(e);)e=e.parentNode;return e},i.closestInScope=function(e,t,n){for(;e&&e!==n&&!t(e);)e=e.parentNode;if(e!==n)return e},i.isFocusable=function(e){if(e.tagName){var t=e.tagName.toLowerCase(),n=e.getAttribute("tabIndex"),i="-1"===n,o=null!==n&&!i;return r.test(t)&&(o=!e.disabled&&!i),o}return!1};var o=function(e){return String(e).trim().split(" ")};i.hasClass=function(e,t){return 0<=o(e.className).indexOf(t)},i.matchesClasses=function(e){var n=o(e);return function(e){var t=o(e.className);return Boolean(n.find(function(e){return 0<=t.indexOf(e)}))}},i.nodeIndex=function(e){return e.getAttribute(n.NODE_INDEX)},i.closestItem=function(e,t){return i.closestInScope(e,i.nodeIndex,t)},i.closestList=function(e){var t=i.closest(e,i.matchesClasses("k-menu-popup k-menu k-menu-group"));return t&&i.hasClass(t,"k-menu-popup")&&(t=t.querySelector(".k-menu-group")),t},i.inMenu=function(e,t){if(e===t.lists[0].element.nativeElement)return!1;var n=i.closestList(e);return n&&t.containsList(n)}},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NODE_INDEX="data-kendo-menu-index"},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(5),a=n(6),s=n(8),c=n(9),p=n(16),l=n(15),d=function(){function e(e,t,n,i,o,r,a){this.itemsService=e,this.hover=t,this.actions=n,this.navigation=i,this.renderer=o,this.ngZone=r,this.element=a,this.animate=!0}return e.prototype.hierarchyIndex=function(e){return this.itemsService.itemIndex(this.index,e)},e.prototype.ngOnInit=function(){this.itemsService.addList(this),this.initDomEvents()},e.prototype.ngOnDestroy=function(){this.itemsService.removeList(this),this.domSubscriptions&&this.domSubscriptions()},e.prototype.initDomEvents=function(){var s=this;this.element&&this.ngZone.runOutsideAngular(function(){var n=s.element.nativeElement,e=0<s.level?l.closest(n,function(e){return l.hasClass(e,"k-menu-popup")}):n,t=s.renderer.listen(n,"mouseover",function(e){if(e.target===n&&0===s.level)s.onLeave();else{var t=s.nodeItem(e.target)||s.itemsService.get(s.index);!t||s.openOnClick&&"click"===s.openOnClick.toggle&&0===t.level&&!t.hasContent||s.hover.over(t)}}),i=s.renderer.listen(e,"mouseleave",function(e){s.leavesMenu(e)&&s.onLeave()}),o=s.renderer.listen(n,"keydown",function(e){l.hasClass(e.target,"k-menu-item")&&s.navigation.keydown(e)}),r=s.renderer.listen(n,"focusout",function(e){s.leavesMenu(e)&&s.navigation.focusLeave()}),a=s.renderer.listen(n,"click",s.clickHandler.bind(s));s.domSubscriptions=function(){t(),i(),o(),r(),a()}})},e.prototype.leavesMenu=function(e){return!e.relatedTarget||!l.inMenu(e.relatedTarget,this.itemsService)},e.prototype.onLeave=function(){var e=this.openOnClick;e&&"click"===e.toggle||this.hover.leave(e&&"leave"===e.toggle)},e.prototype.nodeItem=function(e){var t=l.closestItem(e,this.element.nativeElement);if(t){var n=l.nodeIndex(t);return this.itemsService.get(n)}},e.prototype.clickHandler=function(e){if(!l.isFocusable(e.target)||l.hasClass(e.target,"k-menu-item")){var t=this.nodeItem(e.target);if(t&&!t.isContent&&!t.navigating)if(t.disabled)e.preventDefault();else{if(this.actions.select(t,e,function(){e.preventDefault()}),this.navigation.focus(t),0<t.level&&!t.hasContent&&this.actions.closeToRoot(t),this.openOnClick){var n=this.hover;t.opened?0===t.level&&(n.openOnOver=!1,this.actions.close(t)):t.hasContent?(n.openOnOver=!0,this.actions.closeOthers(t),this.actions.open(t)):(n.openOnOver=!1,0===t.level&&"click"===this.openOnClick.toggle&&this.hover.closeCurrent())}this.actions.execute()}}},i.__decorate([o.Input(),i.__metadata("design:type",Array)],e.prototype,"items",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Number)],e.prototype,"level",void 0),i.__decorate([o.Input(),i.__metadata("design:type",String)],e.prototype,"index",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],e.prototype,"animate",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Boolean)],e.prototype,"vertical",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Boolean)],e.prototype,"rtl",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],e.prototype,"openOnClick",void 0),i.__decorate([o.Input(),i.__metadata("design:type",o.TemplateRef)],e.prototype,"itemTemplate",void 0),i.__decorate([o.Input(),i.__metadata("design:type",o.TemplateRef)],e.prototype,"itemLinkTemplate",void 0),e=i.__decorate([o.Component({selector:"[kendoMenuList]",template:'\n <li *ngFor="let item of items; let idx = index" kendoMenuItem\n [item]="item" [level]="level" [vertical]="vertical" [animate]="animate" [rtl]="rtl"\n [itemTemplate]="itemTemplate" [itemLinkTemplate]="itemLinkTemplate" [openOnClick]="openOnClick"\n [index]="hierarchyIndex(idx)" [attr.'+p.NODE_INDEX+']="hierarchyIndex(idx)"\n [ngClass]="item.cssClass" [ngStyle]="item.cssStyle"\n role="menuitem"\n class="k-item k-menu-item"\n [class.k-first]="idx === 0" [class.k-last]="idx === items.length - 1"\n [class.k-state-disabled]="item.disabled"></li>\n '}),i.__metadata("design:paramtypes",[r.ItemsService,c.HoverService,a.ActionsService,s.NavigationService,o.Renderer2,o.NgZone,o.ElementRef])],e)}();t.ListComponent=d},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(5),a=n(8),s=n(19),c=n(20);t.bodyFactory=function(){if("undefined"!=typeof document)return new o.ElementRef(document.body)};var p=function(){function e(e,t,n,i,o,r){this.itemsService=e,this.navigation=t,this.changeDetector=n,this.renderer=i,this.popupService=o,this.element=r,this.animate=!0,this.openOnClick=!1,this.opened=!1,this.navigating=!1,this.destroyed=!1}return Object.defineProperty(e.prototype,"index",{get:function(){return this._index},set:function(e){this._index&&this._index!==e?(this.itemsService.remove(this),this._index=e,this.itemsService.add(this)):this._index=e,this.childId=this.itemsService.childId(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"disabled",{get:function(){return this.item.disabled},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hasPopup",{get:function(){return!!this.hasContent||null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"expanded",{get:function(){return this.hasContent?this.opened:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"label",{get:function(){return this.item.text?this.item.text:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"activeId",{get:function(){return this.index===this.navigation.activeIndex?"0":"-1"},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"popupSettings",{get:function(){var e=this.rtl?s.POPUP_SETTINGS_RTL:s.POPUP_SETTINGS;return this.horizontal?e.horizontal:e.vertical},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"horizontal",{get:function(){return this.vertical||0<this.level},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hasLink",{get:function(){return Boolean(this.item.url)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"linkTemplate",{get:function(){return this.item.linkTemplate||this.itemLinkTemplate},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hasContent",{get:function(){var e=this.item.items;return e&&e.length||this.item.contentTemplate},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isContent",{get:function(){return Boolean(this.item.content)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"iconClass",{get:function(){return"k-i-"+this.item.icon},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"children",{get:function(){var e=this.item;return e.contentTemplate?(this.contentItems||(this.contentItems=[{content:e.contentTemplate,owner:e,ownerIndex:this.index}]),this.contentItems):e.items},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"template",{get:function(){return this.item.template||this.itemTemplate},enumerable:!0,configurable:!0}),e.prototype.hasContentTemplates=function(){var e=this.item;return this.itemTemplate||e.contentTemplate||this.itemLinkTemplate||e.items&&e.items.find(function(e){return e.template||e.linkTemplate})},e.prototype.ngOnInit=function(){this.itemsService.add(this)},e.prototype.ngOnDestroy=function(){this.itemsService.remove(this),this.destroyed=!0,this.popupRef&&(this.popupRef.close(),this.popupRef=null)},e.prototype.focus=function(){this.element.nativeElement.focus()},e.prototype.toggleActive=function(e){e?this.setAttribute("tabindex","0"):this.setAttribute("tabindex","-1")},e.prototype.open=function(){if(!this.destroyed&&this.hasContent&&!this.opened){var e=this.popupSettings,t=!!this.animate&&Object.assign({},this.animate,{direction:e.animate});this.opened=!0,this.popupRef=this.popupService.open({popupAlign:e.popup,anchorAlign:e.anchor,collision:e.collision,anchor:this.element,positionMode:"absolute",content:this.popupTemplate,popupClass:{"k-rtl":this.rtl,"k-menu-popup":!0},animate:t}),this.setAttribute("aria-expanded","true"),this.setAttribute("aria-owns",this.childId),this.changeDetector.detectChanges()}},e.prototype.close=function(){!this.destroyed&&this.opened&&(this.opened=!1,this.popupRef&&(this.popupRef.close(),this.popupRef=null),this.changeDetector.detectChanges(),this.setAttribute("aria-expanded","false"),this.renderer.removeAttribute(this.element.nativeElement,"aria-owns"))},e.prototype.navigate=function(){var e;this.linkTemplate?e=this.element.nativeElement.querySelector("a.k-menu-link"):this.hasLink&&(e=this.link.nativeElement),e&&(this.navigating=!0,e.click(),this.navigating=!1)},e.prototype.setAttribute=function(e,t){this.renderer.setAttribute(this.element.nativeElement,e,t)},i.__decorate([o.Input(),i.__metadata("design:type",Object)],e.prototype,"item",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Number)],e.prototype,"level",void 0),i.__decorate([o.Input(),i.__metadata("design:type",String),i.__metadata("design:paramtypes",[String])],e.prototype,"index",null),i.__decorate([o.Input(),i.__metadata("design:type",Object)],e.prototype,"animate",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Boolean)],e.prototype,"vertical",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Boolean)],e.prototype,"rtl",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Boolean)],e.prototype,"openOnClick",void 0),i.__decorate([o.Input(),i.__metadata("design:type",o.TemplateRef)],e.prototype,"itemTemplate",void 0),i.__decorate([o.Input(),i.__metadata("design:type",o.TemplateRef)],e.prototype,"itemLinkTemplate",void 0),i.__decorate([o.ViewChild("link"),i.__metadata("design:type",o.ElementRef)],e.prototype,"link",void 0),i.__decorate([o.ViewChild("popupTemplate"),i.__metadata("design:type",o.TemplateRef)],e.prototype,"popupTemplate",void 0),i.__decorate([o.HostBinding("attr.aria-disabled"),i.__metadata("design:type",Boolean),i.__metadata("design:paramtypes",[])],e.prototype,"disabled",null),i.__decorate([o.HostBinding("attr.aria-haspopup"),i.__metadata("design:type",Boolean),i.__metadata("design:paramtypes",[])],e.prototype,"hasPopup",null),i.__decorate([o.HostBinding("attr.aria-expanded"),i.__metadata("design:type",Boolean),i.__metadata("design:paramtypes",[])],e.prototype,"expanded",null),i.__decorate([o.HostBinding("attr.aria-label"),i.__metadata("design:type",Boolean),i.__metadata("design:paramtypes",[])],e.prototype,"label",null),i.__decorate([o.HostBinding("attr.tabindex"),i.__metadata("design:type",String),i.__metadata("design:paramtypes",[])],e.prototype,"activeId",null),e=i.__decorate([o.Component({providers:[c.PopupService,{provide:c.POPUP_CONTAINER,useFactory:t.bodyFactory}],selector:"[kendoMenuItem]",template:'\n <span *ngIf="!hasLink && !item.content && !linkTemplate" class="k-link k-menu-link" #link\n [class.k-state-active]="opened" role="presentation">\n <ng-template [ngTemplateOutlet]="itemcontent">\n </ng-template>\n </span>\n <a *ngIf="item.url && !linkTemplate" class="k-link k-menu-link" #link [attr.href]="item.url"\n [class.k-state-active]="opened" tabindex="-1" role="presentation">\n <ng-template [ngTemplateOutlet]="itemcontent">\n </ng-template>\n </a>\n <ng-template *ngIf="linkTemplate && !item.content" [ngTemplateOutlet]="linkTemplate"\n [ngTemplateOutletContext]="{ item: item, index: index }">\n </ng-template>\n\n <div class="k-content" *ngIf="item.content" role="presentation">\n <ng-template [ngTemplateOutlet]="item.content" [ngTemplateOutletContext]="{ item: item.owner, index: item.ownerIndex }">\n </ng-template>\n </div>\n\n <ng-template #popupTemplate>\n <ul kendoMenuList\n [attr.id]="childId"\n [animate]="animate"\n [rtl]="rtl"\n [vertical]="vertical"\n [openOnClick]="openOnClick"\n [items]="children"\n [level]="level + 1"\n [index]="index"\n [itemTemplate]="itemTemplate"\n [itemLinkTemplate]="itemLinkTemplate"\n role="menu"\n class="k-group k-menu-group k-reset">\n </ul>\n </ng-template>\n\n <ng-template #itemcontent>\n <span *ngIf="item.icon" class="k-icon" [ngClass]="iconClass" role="presentation"></span>\n <ng-container *ngIf="!template">\n {{ item.text }}\n </ng-container>\n <ng-template *ngIf="template" [ngTemplateOutlet]="template" [ngTemplateOutletContext]="{ item: item, index: index }">\n </ng-template>\n <span class="k-icon k-menu-expand-arrow" *ngIf="hasContent"\n role="presentation"\n [class.k-i-arrow-60-down]="!horizontal"\n [class.k-i-arrow-60-right]="horizontal && !rtl"\n [class.k-i-arrow-60-left]="horizontal && rtl">\n </span>\n </ng-template>\n '}),i.__metadata("design:paramtypes",[r.ItemsService,a.NavigationService,o.ChangeDetectorRef,o.Renderer2,c.PopupService,o.ElementRef])],e)}();t.ItemComponent=p},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n={vertical:"top",horizontal:"left"},i={vertical:"top",horizontal:"right"},o={vertical:"flip",horizontal:"fit"},r={vertical:"fit",horizontal:"flip"};t.POPUP_SETTINGS_RTL={vertical:{anchor:{vertical:"bottom",horizontal:"right"},popup:i,collision:o,animate:"down"},horizontal:{anchor:{vertical:"top",horizontal:"left"},popup:i,collision:r,animate:"left"}},t.POPUP_SETTINGS={vertical:{anchor:{vertical:"bottom",horizontal:"left"},popup:n,collision:o,animate:"down"},horizontal:{anchor:{vertical:"top",horizontal:"right"},popup:n,collision:r,animate:"right"}}},function(e,t){e.exports=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(5),a=function(){function e(e){this.itemsService=e,this.hostClasses=!0,this.role="presentation",this.tabindex="-1"}return Object.defineProperty(e.prototype,"activeClass",{get:function(){return this.item.opened},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){if(o.isDevMode()&&!this.index)throw new Error("The kendoMenuItemLink directive requires the item index to be set.");this.item=this.itemsService.get(this.index)||{}},i.__decorate([o.Input("kendoMenuItemLink"),i.__metadata("design:type",String)],e.prototype,"index",void 0),i.__decorate([o.HostBinding("class.k-link"),o.HostBinding("class.k-menu-link"),i.__metadata("design:type",Boolean)],e.prototype,"hostClasses",void 0),i.__decorate([o.HostBinding("attr.role"),i.__metadata("design:type",String)],e.prototype,"role",void 0),i.__decorate([o.HostBinding("attr.tabindex"),i.__metadata("design:type",String)],e.prototype,"tabindex",void 0),i.__decorate([o.HostBinding("class.k-state-active"),i.__metadata("design:type",Boolean),i.__metadata("design:paramtypes",[])],e.prototype,"activeClass",null),e=i.__decorate([o.Directive({selector:"[kendoMenuItemLink]"}),i.__metadata("design:paramtypes",[r.ItemsService])],e)}();t.LinkDirective=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(5),a=function(){function e(e){this.itemsService=e,this.hostClasses=!0,this.role="presentation"}return Object.defineProperty(e.prototype,"arrowDown",{get:function(){return!this.item.horizontal},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"arrowRight",{get:function(){return this.item.horizontal&&!this.item.rtl},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"arrowLeft",{get:function(){return this.item.horizontal&&this.item.rtl},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){if(o.isDevMode()&&!this.index)throw new Error("The kendoMenuExpandArrow directive requires the item index to be set.");this.item=this.itemsService.get(this.index)||{}},i.__decorate([o.Input("kendoMenuExpandArrow"),i.__metadata("design:type",String)],e.prototype,"index",void 0),i.__decorate([o.HostBinding("class.k-icon"),o.HostBinding("class.k-menu-expand-arrow"),i.__metadata("design:type",Boolean)],e.prototype,"hostClasses",void 0),i.__decorate([o.HostBinding("attr.role"),i.__metadata("design:type",String)],e.prototype,"role",void 0),i.__decorate([o.HostBinding("class.k-i-arrow-60-down"),i.__metadata("design:type",Boolean),i.__metadata("design:paramtypes",[])],e.prototype,"arrowDown",null),i.__decorate([o.HostBinding("class.k-i-arrow-60-right"),i.__metadata("design:type",Boolean),i.__metadata("design:paramtypes",[])],e.prototype,"arrowRight",null),i.__decorate([o.HostBinding("class.k-i-arrow-60-left"),i.__metadata("design:type",Boolean),i.__metadata("design:paramtypes",[])],e.prototype,"arrowLeft",null),e=i.__decorate([o.Directive({selector:"[kendoMenuExpandArrow]"}),i.__metadata("design:paramtypes",[r.ItemsService])],e)}();t.ExpandArrowDirective=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i.__extends(t,e),t}(n(7).MenuEvent);t.MenuSelectEvent=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(1),a=n(25),c=n(26),p=function(e,t){return Array.isArray(e)?e[t]||c.last(e):e},s=function(t){function e(e){return t.call(this,e)||this}return i.__extends(e,t),e.prototype.mapItems=function(e,i){var o=this;return void 0===i&&(i=0),e.map(function(e){var t=o.createItem(e,i),n=o.getChildren(e,i);return n&&(t.items=o.mapItems(n,i+1)),t})},e.prototype.createItem=function(e,t){for(var n={data:e},i=this.fields,o=0;o<i.length;o++){var r=i[o],a=r.target,s=r.source;n[a]=c.getter(p(s,t))(e)}return n},e.prototype.getChildren=function(e,t){if(this.childrenField)return e[p(this.childrenField,t)]},i.__decorate([o.Input("kendoMenuHierarchyBinding"),i.__metadata("design:type",Array)],e.prototype,"data",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],e.prototype,"textField",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],e.prototype,"urlField",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],e.prototype,"iconField",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],e.prototype,"disabledField",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],e.prototype,"cssClassField",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],e.prototype,"cssStyleField",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],e.prototype,"childrenField",void 0),e=i.__decorate([o.Directive({exportAs:"kendoMenuHierarchyBinding",selector:"[kendoMenuHierarchyBinding]"}),i.__metadata("design:paramtypes",[r.MenuComponent])],e)}(a.BindingDirectiveBase);t.HierarchyBindingDirective=s},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=["textField","urlField","iconField","disabledField","cssClassField","cssStyleField"],n=function(){function e(e){this.menu=e}return e.prototype.ngOnChanges=function(){this.rebind()},e.prototype.rebind=function(){for(var e=this.fields=[],t=0;t<o.length;t++){var n=o[t],i=this[n];i&&e.push({target:n.replace("Field",""),source:i})}this.menu.items=this.data?this.mapItems(this.data):[]},e}();t.BindingDirectiveBase=n},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=/\[(?:(\d+)|['"](.*?)['"])\]|((?:(?!\[.*?\]|\.).)+)/g,i={undefined:function(e){return e}};t.getter=function(e){if(i[e])return i[e];var o=[];return e.replace(n,function(e,t,n,i){o.push(void 0!==t?t:n||i)}),i[e]=function(e){for(var t=e,n=0;n<o.length&&t;n++)t=t[o[n]];return t},i[e]},t.last=function(e){return e[e.length-1]}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(1),a=n(25),l=n(26),s=function(t){function e(e){return t.call(this,e)||this}return i.__extends(e,t),e.prototype.mapItems=function(e){var t=this;if(!this.idField||!this.parentIdField)return e.map(function(e){return t.createItem(e)});for(var n=[],i={},o=0;o<e.length;o++){var r=e[o],a=this.createItem(r),s=l.getter(this.idField)(r),c=l.getter(this.parentIdField)(r);if(null==c)n.push(a);else{var p=i[c]=i[c]||{};p.items=p.items||[],p.items.push(a)}i[s]&&(a.items=i[s].items),i[s]=a}return n},e.prototype.createItem=function(e){for(var t={data:e},n=this.fields,i=0;i<n.length;i++){var o=n[i],r=o.source;t[o.target]=l.getter(r)(e)}return t},i.__decorate([o.Input("kendoMenuFlatBinding"),i.__metadata("design:type",Array)],e.prototype,"data",void 0),i.__decorate([o.Input(),i.__metadata("design:type",String)],e.prototype,"textField",void 0),i.__decorate([o.Input(),i.__metadata("design:type",String)],e.prototype,"urlField",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],e.prototype,"iconField",void 0),i.__decorate([o.Input(),i.__metadata("design:type",String)],e.prototype,"disabledField",void 0),i.__decorate([o.Input(),i.__metadata("design:type",String)],e.prototype,"cssClassField",void 0),i.__decorate([o.Input(),i.__metadata("design:type",String)],e.prototype,"cssStyleField",void 0),i.__decorate([o.Input(),i.__metadata("design:type",String)],e.prototype,"idField",void 0),i.__decorate([o.Input(),i.__metadata("design:type",String)],e.prototype,"parentIdField",void 0),e=i.__decorate([o.Directive({exportAs:"kendoMenuFlatBinding",selector:"[kendoMenuFlatBinding]"}),i.__metadata("design:paramtypes",[r.MenuComponent])],e)}(a.BindingDirectiveBase);t.FlatBindingDirective=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(29),a=n(20),s=n(1),c=n(10),p=n(17),l=n(18),d=n(21),u=n(22),m=n(11),h=n(12),v=n(13),f=n(24),_=n(27),g=[s.MenuComponent,c.MenuItemComponent,m.ItemTemplateDirective,h.ItemLinkTemplateDirective,v.ItemContentTemplateDirective,f.HierarchyBindingDirective,_.FlatBindingDirective,d.LinkDirective,u.ExpandArrowDirective],y=g.concat([p.ListComponent,l.ItemComponent]),b=function(){function e(){}return e=i.__decorate([o.NgModule({declarations:[y],exports:[g],imports:[a.PopupModule,r.CommonModule]})],e)}();t.MenuModule=b},function(e,t){e.exports=a}])}}});
System.register("@progress/kendo-angular-menu",["tslib","@angular/core","@progress/kendo-angular-l10n","@progress/kendo-angular-popup","@angular/common"],function(O){var n,i,o,r,a;function t(e){return e.__useDefault?e.default:e}return{setters:[function(e){n=t(e)},function(e){i=t(e)},function(e){o=t(e)},function(e){r=t(e)},function(e){a=t(e)}],execute:function(){!function(n){var i={};function o(e){if(i[e])return i[e].exports;var t=i[e]={exports:{},id:e,loaded:!1};return n[e].call(t.exports,t,t.exports,o),t.loaded=!0,t.exports}o.m=n,o.c=i,o.p="",o(0)}([function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(1);t.MenuComponent=i.MenuComponent;var o=n(21);t.ListComponent=o.ListComponent;var r=n(22);t.ItemComponent=r.ItemComponent;var a=n(25);t.LinkDirective=a.LinkDirective;var s=n(26);t.ExpandArrowDirective=s.ExpandArrowDirective;var p=n(17);t.MenuItemComponent=p.MenuItemComponent;var c=n(7);t.MenuEvent=c.MenuEvent;var u=n(27);t.MenuSelectEvent=u.MenuSelectEvent;var l=n(20);t.ItemContentTemplateDirective=l.ItemContentTemplateDirective;var d=n(18);t.ItemTemplateDirective=d.ItemTemplateDirective;var m=n(19);t.ItemLinkTemplateDirective=m.ItemLinkTemplateDirective;var h=n(28);t.HierarchyBindingDirective=h.HierarchyBindingDirective;var v=n(31);t.FlatBindingDirective=v.FlatBindingDirective;var f=n(32);t.MenuModule=f.MenuModule;var _=n(34);t.ContextMenuEvent=_.ContextMenuEvent;var g=n(35);t.ContextMenuSelectEvent=g.ContextMenuSelectEvent;var y=n(36);t.ContextMenuPopupEvent=y.ContextMenuPopupEvent;var b=n(37);t.ContextMenuTemplateDirective=b.ContextMenuTemplateDirective;var I=n(38);t.ContextMenuComponent=I.ContextMenuComponent;var C=n(43);t.ContextMenuModule=C.ContextMenuModule;var x=n(44);t.MenusModule=x.MenusModule,function(e){for(var t in e)O(t,e[t])}(t)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),u=n(3),o=n(4),r=n(5),a=n(6),s=n(10),p=n(11),l=n(12),d=n(13),m=n(15),h=n(16),v=n(14),c=function(c){function e(e,t,n,i,o,r,a,s){var p=c.call(this)||this;return p.itemsService=e,p.hover=t,p.actions=n,p.navigation=i,p.localization=o,p.ngZone=r,p.renderer=a,p.contextService=s,p.select=new u.EventEmitter,p.open=new u.EventEmitter,p.close=new u.EventEmitter,p.actions.owner=p,s&&(s.items=p.itemsService,p.contextKeyDownSubscription=s.keydown.subscribe(p.contextKeyDown.bind(p))),p}return i.__extends(e,c),t=e,Object.defineProperty(e.prototype,"ariaOrientation",{get:function(){if(this.vertical)return"vertical"},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"contextMenuClass",{get:function(){return Boolean(this.contextService)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"direction",{get:function(){return this.rtl},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"rtl",{get:function(){return this.localization.rtl},enumerable:!0,configurable:!0}),e.prototype.toggle=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];for(var i=0;i<t.length;i++){var o=this.itemsService.get(t[i]);o&&!o.disabled&&(e?o.open():o.close())}},e.prototype.focus=function(e){this.navigation.focusIndex(e)},e.prototype.ngOnChanges=function(e){if(this.navigation.vertical=this.vertical,this.hover.delay=this.hoverDelay,e.openOnClick){var t=this.openOnClick=l.normalize(this.openOnClick);this.hover.openOnOver=!t,t&&"click"===t.toggle?this.attachCloseClick():this.unsubscribeClick()}},e.prototype.ngAfterViewChecked=function(){this.navigation.updateActive()},e.prototype.ngOnDestroy=function(){this.unsubscribeClick(),this.contextService&&(this.contextService.items=null,this.contextKeyDownSubscription.unsubscribe())},e.prototype.attachCloseClick=function(){var t=this;this.closeClickSubscription||"undefined"==typeof document||this.ngZone.runOutsideAngular(function(){t.closeClickSubscription=t.renderer.listen("document","click",function(e){d.inMenu(e.target,t.itemsService)||(t.hover.openOnOver=!1,t.actions.closeAll(),t.actions.execute())})})},e.prototype.unsubscribeClick=function(){this.closeClickSubscription&&this.closeClickSubscription()},e.prototype.contextKeyDown=function(e){if(this.itemsService.hasItems){var t,n=e.keyCode,i=this.localization.rtl,o=n===v.KeyCodes.DOWN||n===v.KeyCodes.RIGHT,r=n===v.KeyCodes.UP||n===v.KeyCodes.LEFT;o&&!i||r&&i?t="first":(o&&i||r&&!i)&&(t="last"),t&&(e.preventDefault(),this.focus(t))}},i.__decorate([u.Input(),i.__metadata("design:type",u.TemplateRef)],e.prototype,"menuItemTemplate",void 0),i.__decorate([u.Input(),i.__metadata("design:type",u.TemplateRef)],e.prototype,"menuItemLinkTemplate",void 0),i.__decorate([u.Output(),i.__metadata("design:type",u.EventEmitter)],e.prototype,"select",void 0),i.__decorate([u.Output(),i.__metadata("design:type",u.EventEmitter)],e.prototype,"open",void 0),i.__decorate([u.Output(),i.__metadata("design:type",u.EventEmitter)],e.prototype,"close",void 0),i.__decorate([u.HostBinding("class.k-rtl"),i.__metadata("design:type",Boolean),i.__metadata("design:paramtypes",[])],e.prototype,"direction",null),e=t=i.__decorate([u.Component({exportAs:"kendoMenu",providers:[r.ItemsService,a.ActionsService,s.NavigationService,p.HoverService,o.LocalizationService,{provide:o.L10N_PREFIX,useValue:"kendo.menu"},{provide:h.MenuBase,useExisting:u.forwardRef(function(){return t})}],selector:"kendo-menu",template:'\n <ul role="menubar"\n [attr.aria-orientation]="ariaOrientation"\n kendoMenuList [items]="rootItems" [level]="0" class="k-widget k-reset k-header k-menu"\n [vertical]="vertical" [rtl]="rtl" [animate]="animate" [openOnClick]="openOnClick"\n [itemTemplate]="itemTemplate.first?.templateRef || menuItemTemplate"\n [itemLinkTemplate]="itemLinkTemplate.first?.templateRef || menuItemLinkTemplate"\n [class.k-menu-horizontal]="!vertical"\n [class.k-menu-vertical]="vertical"\n [class.k-context-menu]="contextMenuClass">\n </ul>\n '}),i.__param(7,u.Optional()),i.__metadata("design:paramtypes",[r.ItemsService,p.HoverService,a.ActionsService,s.NavigationService,o.LocalizationService,u.NgZone,u.Renderer2,m.ContextMenuService])],e);var t}(h.MenuBase);t.MenuComponent=c},function(e,t){e.exports=n},function(e,t){e.exports=i},function(e,t){e.exports=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=/_?\d+$/,a=0,s=function(e,t){return e.siblingIndex-t.siblingIndex},p=function(e,t,n){for(var i=t[e+n];!i;)e<0?e=t.length-1:e>=t.length?e=0:e+=n,i=t[e];return i},c=function(){function e(){this.items={},this.lists=[],this.idPrefix="k-menu"+a++}return Object.defineProperty(e.prototype,"hasItems",{get:function(){return 0<Object.keys(this.items).length},enumerable:!0,configurable:!0}),e.prototype.childId=function(e){return this.idPrefix+"-child"+e},e.prototype.itemIndex=function(e,t){return(e?e+"_":"")+t},e.prototype.get=function(e){return this.items[e]},e.prototype.add=function(e){this.items[e.index]=e},e.prototype.remove=function(e){delete this.items[e.index]},e.prototype.addList=function(e){this.lists.push(e)},e.prototype.removeList=function(e){var t=this.lists.indexOf(e);0<=t&&this.lists.splice(t,1)},e.prototype.containsList=function(t){return Boolean(this.lists.find(function(e){return e.element.nativeElement===t}))},e.prototype.siblings=function(e){var t=this,n=this.parentIndex(e.index);return this.filter(function(e){return t.parentIndex(e)===n})},e.prototype.otherSiblings=function(t){var n=this,i=this.parentIndex(t.index);return this.filter(function(e){return n.parentIndex(e)===i&&e!==t.index})},e.prototype.children=function(t){var n=this;return this.filter(function(e){return n.parentIndex(e)===t.index})},e.prototype.parent=function(e){return this.items[this.parentIndex(e.index)]},e.prototype.root=function(e){return this.items[this.indices(e.index)[0]]},e.prototype.indices=function(e){return e.split("_")},e.prototype.filter=function(e){var t=[],n=this.items;for(var i in n)e(i,n[i])&&t.push(n[i]);return t.sort(s)},e.prototype.previous=function(e){var t=this.siblings(e),n=t.indexOf(e);return p(n,t,-1)},e.prototype.next=function(e){var t=this.siblings(e),n=t.indexOf(e);return p(n,t,1)},e.prototype.hasParent=function(e,t){return e.index.startsWith(t.index)},e.prototype.areSiblings=function(e,t){return e!==t&&this.parent(e)===this.parent(t)},e.prototype.forEach=function(e){var t=this.items;for(var n in t)t.hasOwnProperty(n)&&e(t[n])},e.prototype.parentIndex=function(e){return e.replace(r,"")},e=i.__decorate([o.Injectable()],e)}();t.ItemsService=c},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(5),a=n(7),s=n(9),p=function(){function e(e,t){this.ngZone=e,this.items=t,this.actions=[]}return e.prototype.open=function(e,t){e.disabled||(e.hasContent&&!e.opened?this.actions.push({name:"open",requiresZone:e.hasContentTemplates(),item:e,finished:t}):t&&t())},e.prototype.close=function(e){this.closeChildren(e),this.closeItem(e)},e.prototype.closeItem=function(e){e.opened&&this.actions.push({name:"close",item:e})},e.prototype.closeToRoot=function(e){this.closeChildren(e);for(var t=e;this.closeItem(t),t=this.items.parent(t););},e.prototype.closeOthers=function(e){this.closeChildren(e);for(var t=e;t;){var n=this.items.otherSiblings(t);this.closeItems(n),t=this.items.parent(t)}},e.prototype.closeAll=function(){var t=this;this.items.forEach(function(e){e.opened&&0===e.level&&t.close(e)})},e.prototype.select=function(e,t,n,i){this.actions.push({name:"select",item:e,prevented:n,finished:i,domEvent:t})},e.prototype.emit=function(e,t,n){var i=this.owner,o=new a.MenuEvent({sender:i,item:t.item,index:t.index,originalEvent:n,hasContent:t.hasContent});return i[e].emit(o),i.contextService&&i.contextService.emit(e,o),o.isDefaultPrevented()},Object.defineProperty(e.prototype,"hasPending",{get:function(){return 0<this.actions.length},enumerable:!0,configurable:!0}),e.prototype.execute=function(e){var t=this;if(this.hasPending||e){var n=e||this.clear();!o.NgZone.isInAngularZone()&&this.requiresZone(n)?this.ngZone.run(function(){t.executeActions(n)}):this.executeActions(n)}},e.prototype.clear=function(){var e=this.actions;return this.actions=[],e},e.prototype.executeActions=function(e){for(var t=0;t<e.length;t++){var n=e[t],i=n.item,o=n.name,r=n.prevented,a=n.finished,s=n.domEvent;(p=i,"open"===(c=o)&&p.opened||"close"===c&&!p.opened)||(this.emit(o,i,s)?r&&r():(i[o]&&i[o](),a&&a()))}var p,c},e.prototype.requiresZone=function(e){for(var t=e||this.actions,n=this.owner,i=n.contextService,o=0;o<t.length;o++){var r=t[o],a=r.name;if(r.requiresZone||a&&(s.hasObservers(n[a])||i&&i.hasObservers(a)))return!0}return!1},e.prototype.closeChildren=function(e){if(e.opened){var t=this.items.children(e);this.closeItems(t)}},e.prototype.closeItems=function(e){for(var t=0;t<e.length;t++)this.close(e[t])},e=i.__decorate([o.Injectable(),i.__metadata("design:paramtypes",[o.NgZone,r.ItemsService])],e)}();t.ActionsService=p},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i.__extends(t,e),t}(n(8).PreventableEvent);t.MenuEvent=o},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e){this.prevented=!1,Object.assign(this,e)}return e.prototype.preventDefault=function(){this.prevented=!0},e.prototype.isDefaultPrevented=function(){return this.prevented},e}();t.PreventableEvent=n},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(3);t.hasObservers=function(e){return e&&0<e.observers.length},t.defined=function(e){return void 0!==e},t.bodyFactory=function(){if("undefined"!=typeof document)return new i.ElementRef(document.body)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(4),a=n(5),s=n(6),p=/\S/,c={37:"left",39:"right",38:"up",40:"down",36:"home",35:"end",32:"enter",13:"enter",27:"esc",9:"tab"},u=Object.assign({},c,{37:"right",39:"left"});var l=Promise.resolve(null),d=function(){function e(e,t,n,i){this.items=e,this.actions=t,this.localization=n,this.ngZone=i,this.vertical=!1,this.activeIndex="0"}return Object.defineProperty(e.prototype,"focusedItem",{get:function(){return this.items.get(this.focusedIdx)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"activeItem",{get:function(){return this.items.get(this.activeIndex)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"handlers",{get:function(){return this.localization.rtl?u:c},enumerable:!0,configurable:!0}),e.prototype.focus=function(e){e.index!==this.focusedIdx&&(this.activeItem&&this.items.hasParent(e,this.activeItem)||this.setActive(e),this.setFocus(e))},e.prototype.setFocus=function(e){this.focusedIdx=e.index,e.focus()},e.prototype.focusLeave=function(){var e=this.focusedItem;e&&(this.actions.closeToRoot(e),this.actions.execute()),this.focusedIdx=null},e.prototype.updateActive=function(){var e=this;!this.activeItem&&this.items.hasItems&&(this.items.get("0").toggleActive(!0),this.ngZone.runOutsideAngular(function(){l.then(function(){e.activeIndex="0"})}))},e.prototype.keydown=function(e){var t,n=this.focusedItem||this.activeItem,i=this.handlers[e.keyCode];n&&(i?("tab"!==i&&e.preventDefault(),this[i](n,e)):1===(t=e.key).length&&p.test(t)&&this.search(n,e.key),this.actions.execute())},e.prototype.focusIndex=function(e){if(!e&&this.activeItem)this.setFocus(this.activeItem);else if("first"===e)this.focusFirst();else if("last"===e)this.focusLast();else{var t=this.items.get(e);t&&this.focus(t)}},e.prototype.focusFirst=function(){var e=this.items.siblings(this.items.get("0"));this.focus(e[0])},e.prototype.focusLast=function(){var e=this.items.siblings(this.items.get("0"));this.focus(e[e.length-1])},e.prototype.search=function(e,t){for(var n=this.items.siblings(e),i=n.indexOf(e),o=n.slice(i+1).concat(n.slice(0,i)),r=0;r<o.length;r++){var a=o[r];if((a.item.text||"").toLowerCase().startsWith(t.toLowerCase())){this.focus(a);break}}},e.prototype.down=function(e){0!==e.level||this.vertical?this.focus(this.items.next(e)):e.hasContent&&this.actions.open(e,this.focusChild(e,0))},e.prototype.up=function(e){0!==e.level||this.vertical?this.focus(this.items.previous(e)):e.hasContent&&this.actions.open(e,this.focusChild(e,e.children.length-1))},e.prototype.left=function(e){if(!this.vertical||0!==e.level||!e.disabled)if(1<e.level||this.vertical&&0<e.level){var t=this.items.parent(e);this.focus(t),this.actions.close(t)}else this.vertical&&0===e.level&&!e.disabled?e.hasContent&&this.actions.open(e,this.focusChild(e,e.children.length-1)):this.focus(this.items.previous(this.activeItem))},e.prototype.right=function(e){this.vertical&&0===e.level&&e.disabled||(e.horizontal&&!e.disabled?e.hasContent?this.actions.open(e,this.focusChild(e,0)):(!this.vertical||0<e.level)&&this.focus(this.items.next(this.activeItem)):this.focus(this.items.next(this.activeItem)))},e.prototype.home=function(e){var t=this.items.siblings(e);this.focus(t[0])},e.prototype.end=function(e){var t=this.items.siblings(e);this.focus(t[t.length-1])},e.prototype.enter=function(e,t){var n=this.actions;e.disabled||(e.hasContent?(n.select(e,t),n.open(e,this.focusChild(e,0))):(n.select(e,t,null,function(){e.navigate()}),this.focus(this.items.root(e)),n.closeToRoot(e)))},e.prototype.esc=function(e){if(0<e.level){var t=this.items.parent(e);this.actions.close(t),this.focus(t)}},e.prototype.tab=function(e){0<e.level&&this.activeItem.focus()},e.prototype.focusChild=function(t,n){var i=this;return function(){var e=i.items.children(t)[n];i.setFocus(e)}},e.prototype.setActive=function(e){var t=this.focusedItem,n=this.items.root(e);this.activeItem&&this.activeItem.toggleActive(!1),this.activeIndex=n.index,n.toggleActive(!0),t&&(this.actions.closeToRoot(t),0<t.level&&this.actions.open(n))},e=i.__decorate([o.Injectable(),i.__metadata("design:paramtypes",[a.ItemsService,s.ActionsService,r.LocalizationService,o.NgZone])],e)}();t.NavigationService=d},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(5),a=n(6),s=function(){function e(e,t){this.actions=e,this.items=t,this.delay=100,this._openOnOver=!0,this.scheduled=[]}return Object.defineProperty(e.prototype,"openOnOver",{get:function(){return this._openOnOver},set:function(e){this.cancelActions(),this._openOnOver=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hovered",{get:function(){return this.items.get(this.hoveredIdx)},set:function(e){this.hoveredIdx=e?e.index:null},enumerable:!0,configurable:!0}),e.prototype.ngOnDestroy=function(){this.cancelActions()},e.prototype.over=function(t){var n=this;this.cancelActions(function(e){return"openOnOver"===e.name}),this.hovered&&this.hovered===t||(this.actions.closeOthers(t),(0<(this.hovered=t).level||this.openOnOver)&&!t.disabled&&(this.actions.open(t),this.cancelActions(function(e){return"close"===e.name&&(t===e.item||n.items.hasParent(t,e.item))||"open"===e.name&&!n.items.hasParent(t,e.item)})),this.scheduleActions())},e.prototype.leave=function(e){var t=this.hovered;t&&(this.actions.closeToRoot(t),this.cancelActions(function(e){return"open"===e.name}),this.scheduleActions()),e&&this._openOnOver&&this.scheduleDisableOpenOnOver(),this.hovered=null},e.prototype.closeCurrent=function(){var e=this.hovered;e&&(this.actions.closeToRoot(e),this.hovered=null)},e.prototype.scheduleActions=function(){var e=this;if(this.actions.hasPending){var t={};t.actions=this.actions.clear(),t.id=setTimeout(function(){e.actions.execute(t.actions),e.removeScheduled(t)},this.delay),this.scheduled.push(t)}},e.prototype.scheduleDisableOpenOnOver=function(){var e=this,t={actions:[{name:"openOnOver"}]};t.id=setTimeout(function(){e._openOnOver=!1,e.removeScheduled(t)},Math.max(this.delay,500)),this.scheduled.push(t)},e.prototype.removeScheduled=function(e){for(var t=this.scheduled,n=0;n<t.length;n++)if(t[n]===e)return void t.splice(n,1)},e.prototype.cancelActions=function(e){for(var t=this.scheduled,n=t.length-1;0<=n;n--){var i=t[n],o=i.actions;if(e)for(var r=o.length-1;0<=r;r--)e(o[r])&&o.splice(r,1);e&&0!==o.length||(clearTimeout(i.id),t.splice(n,1))}},e=i.__decorate([o.Injectable(),i.__metadata("design:paramtypes",[a.ActionsService,r.ItemsService])],e)}();t.HoverService=s},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.normalize=function(e){return e&&Object.assign({toggle:"select"},e)}},function(e,a,t){"use strict";Object.defineProperty(a,"__esModule",{value:!0});var n=t(14),s="kendo-matches-container",r=/^(?:a|input|select|option|textarea|button|object)$/i;a.closest=function(e,t){for(;e&&!t(e);)e=e.parentNode;return e},a.closestInScope=function(e,t,n){for(;e&&e!==n&&!t(e);)e=e.parentNode;if(e!==n)return e},a.isFocusable=function(e){if(e.tagName){var t=e.tagName.toLowerCase(),n=e.getAttribute("tabIndex"),i="-1"===n,o=null!==n&&!i;return r.test(t)&&(o=!e.disabled&&!i),o}return!1};var i=function(e){return String(e).trim().split(" ")};a.hasClass=function(e,t){return 0<=i(e.className).indexOf(t)},a.matchesClasses=function(e){var n=i(e);return function(e){var t=i(e.className);return Boolean(n.find(function(e){return 0<=t.indexOf(e)}))}},a.nodeIndex=function(e){return e.getAttribute(n.NODE_INDEX)},a.closestItem=function(e,t){return a.closestInScope(e,a.nodeIndex,t)},a.closestList=function(e){var t=a.closest(e,a.matchesClasses("k-menu-popup k-menu k-menu-group"));return t&&a.hasClass(t,"k-menu-popup")&&(t=t.querySelector(".k-menu-group")),t},a.inMenu=function(e,t){if(e===t.lists[0].element.nativeElement)return!1;var n=a.closestList(e);return n&&t.containsList(n)},a.findInContainer=function(e,t,n){var i=n.getAttribute("id");i||n.setAttribute("id",s);var o="#"+(i||s)+" "+t,r=a.closestInScope(e,function(e){return n=o,((t=e).matches||t.msMatchesSelector).call(t,n);var t,n},n);return i||n.removeAttribute("id"),r}},function(e,t){"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.NODE_INDEX="data-kendo-menu-index",(n=t.KeyCodes||(t.KeyCodes={}))[n.ESC=27]="ESC",n[n.LEFT=37]="LEFT",n[n.UP=38]="UP",n[n.RIGHT=39]="RIGHT",n[n.DOWN=40]="DOWN",n[n.F10=121]="F10"},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(9),a=n(13),s=function(){function e(){this.keydown=new o.EventEmitter}return e.prototype.emit=function(e,t){this.owner.emitMenuEvent(e,t)},e.prototype.hasObservers=function(e){return this.owner&&r.hasObservers(this.owner[e])},e.prototype.leaveMenu=function(e){return!this.items||!a.inMenu(e.target,this.items)},e=i.__decorate([o.Injectable()],e)}();t.ContextMenuService=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(17),a=n(18),s=n(19),p=function(){function e(){this.vertical=!1,this.openOnClick=!1,this.hoverDelay=100,this.animate=!0}return Object.defineProperty(e.prototype,"rootItems",{get:function(){return this.items||(this.children?this.children.toArray():[])},enumerable:!0,configurable:!0}),i.__decorate([o.Input(),i.__metadata("design:type",Array)],e.prototype,"items",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Boolean)],e.prototype,"vertical",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],e.prototype,"openOnClick",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Number)],e.prototype,"hoverDelay",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],e.prototype,"animate",void 0),i.__decorate([o.ContentChildren(a.ItemTemplateDirective),i.__metadata("design:type",o.QueryList)],e.prototype,"itemTemplate",void 0),i.__decorate([o.ContentChildren(s.ItemLinkTemplateDirective),i.__metadata("design:type",o.QueryList)],e.prototype,"itemLinkTemplate",void 0),i.__decorate([o.ContentChildren(r.MenuItemComponent),i.__metadata("design:type",o.QueryList)],e.prototype,"children",void 0),e}();t.MenuBase=p},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(18),a=n(19),s=n(20),p=function(){function e(){}return t=e,Object.defineProperty(e.prototype,"template",{get:function(){if(this.itemTemplate&&this.itemTemplate.length)return this.itemTemplate.first.templateRef},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"linkTemplate",{get:function(){if(this.itemLinkTemplate&&this.itemLinkTemplate.length)return this.itemLinkTemplate.first.templateRef},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"contentTemplate",{get:function(){if(this.itemContentTemplate&&this.itemContentTemplate.length)return this.itemContentTemplate.first.templateRef},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"items",{get:function(){if(this.children.length)return this.children.toArray().slice(1)},enumerable:!0,configurable:!0}),i.__decorate([o.Input(),i.__metadata("design:type",String)],e.prototype,"text",void 0),i.__decorate([o.Input(),i.__metadata("design:type",String)],e.prototype,"url",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Boolean)],e.prototype,"disabled",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],e.prototype,"cssClass",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],e.prototype,"cssStyle",void 0),i.__decorate([o.Input(),i.__metadata("design:type",String)],e.prototype,"icon",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],e.prototype,"data",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Boolean)],e.prototype,"separator",void 0),i.__decorate([o.ContentChildren(r.ItemTemplateDirective),i.__metadata("design:type",o.QueryList)],e.prototype,"itemTemplate",void 0),i.__decorate([o.ContentChildren(a.ItemLinkTemplateDirective),i.__metadata("design:type",o.QueryList)],e.prototype,"itemLinkTemplate",void 0),i.__decorate([o.ContentChildren(s.ItemContentTemplateDirective),i.__metadata("design:type",o.QueryList)],e.prototype,"itemContentTemplate",void 0),i.__decorate([o.ContentChildren(t),i.__metadata("design:type",o.QueryList)],e.prototype,"children",void 0),e=t=i.__decorate([o.Component({selector:"kendo-menu-item",template:""})],e);var t}();t.MenuItemComponent=p},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=function(){function e(e){this.templateRef=e}return e=i.__decorate([o.Directive({selector:"[kendoMenuItemTemplate]"}),i.__param(0,o.Optional()),i.__metadata("design:paramtypes",[o.TemplateRef])],e)}();t.ItemTemplateDirective=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=function(){function e(e){this.templateRef=e}return e=i.__decorate([o.Directive({selector:"[kendoMenuItemLinkTemplate]"}),i.__param(0,o.Optional()),i.__metadata("design:paramtypes",[o.TemplateRef])],e)}();t.ItemLinkTemplateDirective=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=function(){function e(e){this.templateRef=e}return e=i.__decorate([o.Directive({selector:"[kendoMenuItemContentTemplate]"}),i.__param(0,o.Optional()),i.__metadata("design:paramtypes",[o.TemplateRef])],e)}();t.ItemContentTemplateDirective=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(5),a=n(6),s=n(10),p=n(11),c=n(14),u=n(13),l=function(){function e(e,t,n,i,o,r,a){this.itemsService=e,this.hover=t,this.actions=n,this.navigation=i,this.renderer=o,this.ngZone=r,this.element=a,this.animate=!0}return e.prototype.hierarchyIndex=function(e){return this.itemsService.itemIndex(this.index,e)},e.prototype.ngOnInit=function(){this.itemsService.addList(this),this.initDomEvents()},e.prototype.ngOnDestroy=function(){this.itemsService.removeList(this),this.domSubscriptions&&this.domSubscriptions()},e.prototype.initDomEvents=function(){var s=this;this.element&&this.ngZone.runOutsideAngular(function(){var n=s.element.nativeElement,e=0<s.level?u.closest(n,function(e){return u.hasClass(e,"k-menu-popup")}):n,t=s.renderer.listen(n,"mouseover",function(e){if(e.target===n&&0===s.level)s.onLeave();else{var t=s.nodeItem(e.target)||s.itemsService.get(s.index);!t||s.openOnClick&&"click"===s.openOnClick.toggle&&0===t.level&&!t.hasContent||s.hover.over(t)}}),i=s.renderer.listen(e,"mouseleave",function(e){s.leavesMenu(e)&&s.onLeave()}),o=s.renderer.listen(n,"keydown",function(e){u.hasClass(e.target,"k-menu-item")&&s.navigation.keydown(e)}),r=s.renderer.listen(n,"focusout",function(e){s.leavesMenu(e)&&s.navigation.focusLeave()}),a=s.renderer.listen(n,"click",s.clickHandler.bind(s));s.domSubscriptions=function(){t(),i(),o(),r(),a()}})},e.prototype.leavesMenu=function(e){return!e.relatedTarget||!u.inMenu(e.relatedTarget,this.itemsService)},e.prototype.onLeave=function(){var e=this.openOnClick;e&&"click"===e.toggle||this.hover.leave(e&&"leave"===e.toggle)},e.prototype.nodeItem=function(e){var t=u.closestItem(e,this.element.nativeElement);if(t){var n=u.nodeIndex(t);return this.itemsService.get(n)}},e.prototype.clickHandler=function(e){if(!u.isFocusable(e.target)||u.hasClass(e.target,"k-menu-item")){var t=this.nodeItem(e.target);if(t&&!t.isContent&&!t.navigating)if(t.disabled)e.preventDefault();else{if(this.actions.select(t,e,function(){e.preventDefault()}),this.navigation.focus(t),0<t.level&&!t.hasContent&&this.actions.closeToRoot(t),this.openOnClick){var n=this.hover;t.opened?0===t.level&&(n.openOnOver=!1,this.actions.close(t)):t.hasContent?(n.openOnOver=!0,this.actions.closeOthers(t),this.actions.open(t)):(n.openOnOver=!1,0===t.level&&"click"===this.openOnClick.toggle&&this.hover.closeCurrent())}this.actions.execute()}}},i.__decorate([o.Input(),i.__metadata("design:type",Array)],e.prototype,"items",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Number)],e.prototype,"level",void 0),i.__decorate([o.Input(),i.__metadata("design:type",String)],e.prototype,"index",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],e.prototype,"animate",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Boolean)],e.prototype,"vertical",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Boolean)],e.prototype,"rtl",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],e.prototype,"openOnClick",void 0),i.__decorate([o.Input(),i.__metadata("design:type",o.TemplateRef)],e.prototype,"itemTemplate",void 0),i.__decorate([o.Input(),i.__metadata("design:type",o.TemplateRef)],e.prototype,"itemLinkTemplate",void 0),e=i.__decorate([o.Component({selector:"[kendoMenuList]",template:'\n <ng-container *ngFor="let item of items; let idx = index">\n <li *ngIf="!item.separator" kendoMenuItem\n [item]="item" [level]="level" [vertical]="vertical" [animate]="animate" [rtl]="rtl"\n [itemTemplate]="itemTemplate" [itemLinkTemplate]="itemLinkTemplate" [openOnClick]="openOnClick"\n [index]="hierarchyIndex(idx)" [siblingIndex]="idx" [attr.'+c.NODE_INDEX+']="hierarchyIndex(idx)"\n [ngClass]="item.cssClass" [ngStyle]="item.cssStyle"\n role="menuitem"\n class="k-item k-menu-item"\n [class.k-first]="idx === 0" [class.k-last]="idx === items.length - 1"\n [class.k-state-disabled]="item.disabled"></li>\n <li *ngIf="item.separator" class="k-separator k-item"\n role="separator" [ngClass]="item.cssClass" [ngStyle]="item.cssStyle">\n &nbsp;\n </li>\n </ng-container>\n '}),i.__metadata("design:paramtypes",[r.ItemsService,p.HoverService,a.ActionsService,s.NavigationService,o.Renderer2,o.NgZone,o.ElementRef])],e)}();t.ListComponent=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(5),a=n(10),s=n(23),p=n(24),c=n(9),u=function(){function e(e,t,n,i,o,r){this.itemsService=e,this.navigation=t,this.changeDetector=n,this.renderer=i,this.popupService=o,this.element=r,this.animate=!0,this.openOnClick=!1,this.opened=!1,this.navigating=!1,this.destroyed=!1}return Object.defineProperty(e.prototype,"index",{get:function(){return this._index},set:function(e){this._index&&this._index!==e?(this.itemsService.remove(this),this._index=e,this.itemsService.add(this)):this._index=e,this.childId=this.itemsService.childId(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"disabled",{get:function(){return this.item.disabled},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hasPopup",{get:function(){return!!this.hasContent||null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"expanded",{get:function(){return this.hasContent?this.opened:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"label",{get:function(){return this.item.text?this.item.text:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"activeId",{get:function(){return this.index===this.navigation.activeIndex?"0":"-1"},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"popupSettings",{get:function(){var e=this.rtl?s.POPUP_SETTINGS_RTL:s.POPUP_SETTINGS;return this.horizontal?e.horizontal:e.vertical},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"horizontal",{get:function(){return this.vertical||0<this.level},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hasLink",{get:function(){return Boolean(this.item.url)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"linkTemplate",{get:function(){return this.item.linkTemplate||this.itemLinkTemplate},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hasContent",{get:function(){var e=this.item.items;return e&&e.length||this.item.contentTemplate},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isContent",{get:function(){return Boolean(this.item.content)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"iconClass",{get:function(){return"k-i-"+this.item.icon},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"children",{get:function(){var e=this.item;return e.contentTemplate?(this.contentItems||(this.contentItems=[{content:e.contentTemplate,owner:e,ownerIndex:this.index}]),this.contentItems):e.items},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"template",{get:function(){return this.item.template||this.itemTemplate},enumerable:!0,configurable:!0}),e.prototype.hasContentTemplates=function(){var e=this.item;return this.itemTemplate||e.contentTemplate||this.itemLinkTemplate||e.items&&e.items.find(function(e){return e.template||e.linkTemplate})},e.prototype.ngOnInit=function(){this.itemsService.add(this)},e.prototype.ngOnDestroy=function(){this.itemsService.remove(this),this.destroyed=!0,this.popupRef&&(this.popupRef.close(),this.popupRef=null)},e.prototype.focus=function(){this.element.nativeElement.focus()},e.prototype.toggleActive=function(e){e?this.setAttribute("tabindex","0"):this.setAttribute("tabindex","-1")},e.prototype.open=function(){if(!this.destroyed&&this.hasContent&&!this.opened){var e=this.popupSettings,t=!!this.animate&&Object.assign({},this.animate,{direction:e.animate});this.opened=!0,this.popupRef=this.popupService.open({popupAlign:e.popup,anchorAlign:e.anchor,collision:e.collision,anchor:this.element,positionMode:"absolute",content:this.popupTemplate,popupClass:{"k-rtl":this.rtl,"k-menu-popup":!0},animate:t}),this.setAttribute("aria-expanded","true"),this.setAttribute("aria-owns",this.childId),this.changeDetector.detectChanges()}},e.prototype.close=function(){!this.destroyed&&this.opened&&(this.opened=!1,this.popupRef&&(this.popupRef.close(),this.popupRef=null),this.changeDetector.detectChanges(),this.setAttribute("aria-expanded","false"),this.renderer.removeAttribute(this.element.nativeElement,"aria-owns"))},e.prototype.navigate=function(){var e;this.linkTemplate?e=this.element.nativeElement.querySelector("a.k-menu-link"):this.hasLink&&(e=this.link.nativeElement),e&&(this.navigating=!0,e.click(),this.navigating=!1)},e.prototype.setAttribute=function(e,t){this.renderer.setAttribute(this.element.nativeElement,e,t)},i.__decorate([o.Input(),i.__metadata("design:type",Object)],e.prototype,"item",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Number)],e.prototype,"level",void 0),i.__decorate([o.Input(),i.__metadata("design:type",String),i.__metadata("design:paramtypes",[String])],e.prototype,"index",null),i.__decorate([o.Input(),i.__metadata("design:type",Number)],e.prototype,"siblingIndex",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],e.prototype,"animate",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Boolean)],e.prototype,"vertical",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Boolean)],e.prototype,"rtl",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Boolean)],e.prototype,"openOnClick",void 0),i.__decorate([o.Input(),i.__metadata("design:type",o.TemplateRef)],e.prototype,"itemTemplate",void 0),i.__decorate([o.Input(),i.__metadata("design:type",o.TemplateRef)],e.prototype,"itemLinkTemplate",void 0),i.__decorate([o.ViewChild("link"),i.__metadata("design:type",o.ElementRef)],e.prototype,"link",void 0),i.__decorate([o.ViewChild("popupTemplate"),i.__metadata("design:type",o.TemplateRef)],e.prototype,"popupTemplate",void 0),i.__decorate([o.HostBinding("attr.aria-disabled"),i.__metadata("design:type",Boolean),i.__metadata("design:paramtypes",[])],e.prototype,"disabled",null),i.__decorate([o.HostBinding("attr.aria-haspopup"),i.__metadata("design:type",Boolean),i.__metadata("design:paramtypes",[])],e.prototype,"hasPopup",null),i.__decorate([o.HostBinding("attr.aria-expanded"),i.__metadata("design:type",Boolean),i.__metadata("design:paramtypes",[])],e.prototype,"expanded",null),i.__decorate([o.HostBinding("attr.aria-label"),i.__metadata("design:type",Boolean),i.__metadata("design:paramtypes",[])],e.prototype,"label",null),i.__decorate([o.HostBinding("attr.tabindex"),i.__metadata("design:type",String),i.__metadata("design:paramtypes",[])],e.prototype,"activeId",null),e=i.__decorate([o.Component({providers:[p.PopupService,{provide:p.POPUP_CONTAINER,useFactory:c.bodyFactory}],selector:"[kendoMenuItem]",template:'\n <span *ngIf="!hasLink && !item.content && !linkTemplate" class="k-link k-menu-link" #link\n [class.k-state-active]="opened" role="presentation">\n <ng-template [ngTemplateOutlet]="itemcontent">\n </ng-template>\n </span>\n <a *ngIf="item.url && !linkTemplate" class="k-link k-menu-link" #link [attr.href]="item.url"\n [class.k-state-active]="opened" tabindex="-1" role="presentation">\n <ng-template [ngTemplateOutlet]="itemcontent">\n </ng-template>\n </a>\n <ng-template *ngIf="linkTemplate && !item.content" [ngTemplateOutlet]="linkTemplate"\n [ngTemplateOutletContext]="{ item: item, index: index }">\n </ng-template>\n\n <div class="k-content" *ngIf="item.content" role="presentation">\n <ng-template [ngTemplateOutlet]="item.content" [ngTemplateOutletContext]="{ item: item.owner, index: item.ownerIndex }">\n </ng-template>\n </div>\n\n <ng-template #popupTemplate>\n <ul kendoMenuList\n [attr.id]="childId"\n [animate]="animate"\n [rtl]="rtl"\n [vertical]="vertical"\n [openOnClick]="openOnClick"\n [items]="children"\n [level]="level + 1"\n [index]="index"\n [itemTemplate]="itemTemplate"\n [itemLinkTemplate]="itemLinkTemplate"\n role="menu"\n class="k-group k-menu-group k-reset">\n </ul>\n </ng-template>\n\n <ng-template #itemcontent>\n <span *ngIf="item.icon" class="k-icon" [ngClass]="iconClass" role="presentation"></span>\n <ng-container *ngIf="!template">\n {{ item.text }}\n </ng-container>\n <ng-template *ngIf="template" [ngTemplateOutlet]="template" [ngTemplateOutletContext]="{ item: item, index: index }">\n </ng-template>\n <span class="k-icon k-menu-expand-arrow" *ngIf="hasContent"\n role="presentation"\n [class.k-i-arrow-60-down]="!horizontal"\n [class.k-i-arrow-60-right]="horizontal && !rtl"\n [class.k-i-arrow-60-left]="horizontal && rtl">\n </span>\n </ng-template>\n '}),i.__metadata("design:paramtypes",[r.ItemsService,a.NavigationService,o.ChangeDetectorRef,o.Renderer2,p.PopupService,o.ElementRef])],e)}();t.ItemComponent=u},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n={vertical:"top",horizontal:"left"},i={vertical:"top",horizontal:"right"},o={vertical:"flip",horizontal:"fit"},r={vertical:"fit",horizontal:"flip"};t.POPUP_SETTINGS_RTL={vertical:{anchor:{vertical:"bottom",horizontal:"right"},popup:i,collision:o,animate:"down"},horizontal:{anchor:{vertical:"top",horizontal:"left"},popup:i,collision:r,animate:"left"}},t.POPUP_SETTINGS={vertical:{anchor:{vertical:"bottom",horizontal:"left"},popup:n,collision:o,animate:"down"},horizontal:{anchor:{vertical:"top",horizontal:"right"},popup:n,collision:r,animate:"right"}}},function(e,t){e.exports=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(5),a=function(){function e(e){this.itemsService=e,this.hostClasses=!0,this.role="presentation",this.tabindex="-1"}return Object.defineProperty(e.prototype,"activeClass",{get:function(){return this.item.opened},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){if(o.isDevMode()&&!this.index)throw new Error("The kendoMenuItemLink directive requires the item index to be set.");this.item=this.itemsService.get(this.index)||{}},i.__decorate([o.Input("kendoMenuItemLink"),i.__metadata("design:type",String)],e.prototype,"index",void 0),i.__decorate([o.HostBinding("class.k-link"),o.HostBinding("class.k-menu-link"),i.__metadata("design:type",Boolean)],e.prototype,"hostClasses",void 0),i.__decorate([o.HostBinding("attr.role"),i.__metadata("design:type",String)],e.prototype,"role",void 0),i.__decorate([o.HostBinding("attr.tabindex"),i.__metadata("design:type",String)],e.prototype,"tabindex",void 0),i.__decorate([o.HostBinding("class.k-state-active"),i.__metadata("design:type",Boolean),i.__metadata("design:paramtypes",[])],e.prototype,"activeClass",null),e=i.__decorate([o.Directive({selector:"[kendoMenuItemLink]"}),i.__metadata("design:paramtypes",[r.ItemsService])],e)}();t.LinkDirective=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(5),a=function(){function e(e){this.itemsService=e,this.hostClasses=!0,this.role="presentation"}return Object.defineProperty(e.prototype,"arrowDown",{get:function(){return!this.item.horizontal},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"arrowRight",{get:function(){return this.item.horizontal&&!this.item.rtl},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"arrowLeft",{get:function(){return this.item.horizontal&&this.item.rtl},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){if(o.isDevMode()&&!this.index)throw new Error("The kendoMenuExpandArrow directive requires the item index to be set.");this.item=this.itemsService.get(this.index)||{}},i.__decorate([o.Input("kendoMenuExpandArrow"),i.__metadata("design:type",String)],e.prototype,"index",void 0),i.__decorate([o.HostBinding("class.k-icon"),o.HostBinding("class.k-menu-expand-arrow"),i.__metadata("design:type",Boolean)],e.prototype,"hostClasses",void 0),i.__decorate([o.HostBinding("attr.role"),i.__metadata("design:type",String)],e.prototype,"role",void 0),i.__decorate([o.HostBinding("class.k-i-arrow-60-down"),i.__metadata("design:type",Boolean),i.__metadata("design:paramtypes",[])],e.prototype,"arrowDown",null),i.__decorate([o.HostBinding("class.k-i-arrow-60-right"),i.__metadata("design:type",Boolean),i.__metadata("design:paramtypes",[])],e.prototype,"arrowRight",null),i.__decorate([o.HostBinding("class.k-i-arrow-60-left"),i.__metadata("design:type",Boolean),i.__metadata("design:paramtypes",[])],e.prototype,"arrowLeft",null),e=i.__decorate([o.Directive({selector:"[kendoMenuExpandArrow]"}),i.__metadata("design:paramtypes",[r.ItemsService])],e)}();t.ExpandArrowDirective=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i.__extends(t,e),t}(n(7).MenuEvent);t.MenuSelectEvent=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(16),a=n(29),p=n(30),c=function(e,t){return Array.isArray(e)?e[t]||p.last(e):e},s=function(t){function e(e){return t.call(this,e)||this}return i.__extends(e,t),e.prototype.mapItems=function(e,i){var o=this;return void 0===i&&(i=0),e.map(function(e){var t=o.createItem(e,i),n=o.getChildren(e,i);return n&&(t.items=o.mapItems(n,i+1)),t})},e.prototype.createItem=function(e,t){for(var n={data:e},i=this.fields,o=0;o<i.length;o++){var r=i[o],a=r.target,s=r.source;n[a]=p.getter(c(s,t))(e)}return n},e.prototype.getChildren=function(e,t){if(this.childrenField)return e[c(this.childrenField,t)]},i.__decorate([o.Input("kendoMenuHierarchyBinding"),i.__metadata("design:type",Array)],e.prototype,"data",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],e.prototype,"textField",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],e.prototype,"urlField",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],e.prototype,"iconField",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],e.prototype,"disabledField",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],e.prototype,"cssClassField",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],e.prototype,"cssStyleField",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],e.prototype,"separatorField",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],e.prototype,"childrenField",void 0),e=i.__decorate([o.Directive({exportAs:"kendoMenuHierarchyBinding",selector:"[kendoMenuHierarchyBinding]"}),i.__metadata("design:paramtypes",[r.MenuBase])],e)}(a.BindingDirectiveBase);t.HierarchyBindingDirective=s},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=["textField","urlField","iconField","disabledField","cssClassField","cssStyleField","separatorField"],n=function(){function e(e){this.menu=e}return e.prototype.ngOnChanges=function(){this.rebind()},e.prototype.rebind=function(){for(var e=this.fields=[],t=0;t<o.length;t++){var n=o[t],i=this[n];i&&e.push({target:n.replace("Field",""),source:i})}this.menu.items=this.data?this.mapItems(this.data):[]},e}();t.BindingDirectiveBase=n},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=/\[(?:(\d+)|['"](.*?)['"])\]|((?:(?!\[.*?\]|\.).)+)/g,i={undefined:function(e){return e}};t.getter=function(e){if(i[e])return i[e];var o=[];return e.replace(n,function(e,t,n,i){o.push(void 0!==t?t:n||i)}),i[e]=function(e){for(var t=e,n=0;n<o.length&&t;n++)t=t[o[n]];return t},i[e]},t.last=function(e){return e[e.length-1]}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(16),a=n(29),u=n(30),s=function(t){function e(e){return t.call(this,e)||this}return i.__extends(e,t),e.prototype.mapItems=function(e){var t=this;if(!this.idField||!this.parentIdField)return e.map(function(e){return t.createItem(e)});for(var n=[],i={},o=0;o<e.length;o++){var r=e[o],a=this.createItem(r),s=u.getter(this.idField)(r),p=u.getter(this.parentIdField)(r);if(null==p)n.push(a);else{var c=i[p]=i[p]||{};c.items=c.items||[],c.items.push(a)}i[s]&&(a.items=i[s].items),i[s]=a}return n},e.prototype.createItem=function(e){for(var t={data:e},n=this.fields,i=0;i<n.length;i++){var o=n[i],r=o.source;t[o.target]=u.getter(r)(e)}return t},i.__decorate([o.Input("kendoMenuFlatBinding"),i.__metadata("design:type",Array)],e.prototype,"data",void 0),i.__decorate([o.Input(),i.__metadata("design:type",String)],e.prototype,"textField",void 0),i.__decorate([o.Input(),i.__metadata("design:type",String)],e.prototype,"urlField",void 0),i.__decorate([o.Input(),i.__metadata("design:type",Object)],e.prototype,"iconField",void 0),i.__decorate([o.Input(),i.__metadata("design:type",String)],e.prototype,"disabledField",void 0),i.__decorate([o.Input(),i.__metadata("design:type",String)],e.prototype,"cssClassField",void 0),i.__decorate([o.Input(),i.__metadata("design:type",String)],e.prototype,"cssStyleField",void 0),i.__decorate([o.Input(),i.__metadata("design:type",String)],e.prototype,"separatorField",void 0),i.__decorate([o.Input(),i.__metadata("design:type",String)],e.prototype,"idField",void 0),i.__decorate([o.Input(),i.__metadata("design:type",String)],e.prototype,"parentIdField",void 0),e=i.__decorate([o.Directive({exportAs:"kendoMenuFlatBinding",selector:"[kendoMenuFlatBinding]"}),i.__metadata("design:paramtypes",[r.MenuBase])],e)}(a.BindingDirectiveBase);t.FlatBindingDirective=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(33),a=n(24),s=n(1),p=n(17),c=n(21),u=n(22),l=n(25),d=n(26),m=n(18),h=n(19),v=n(20),f=n(28),_=n(31),g=[s.MenuComponent,p.MenuItemComponent,m.ItemTemplateDirective,h.ItemLinkTemplateDirective,v.ItemContentTemplateDirective,f.HierarchyBindingDirective,_.FlatBindingDirective,l.LinkDirective,d.ExpandArrowDirective],y=g.concat([c.ListComponent,u.ItemComponent]),b=function(){function e(){}return e=i.__decorate([o.NgModule({declarations:[y],exports:[g],imports:[a.PopupModule,r.CommonModule]})],e)}();t.MenuModule=b},function(e,t){e.exports=a},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){};t.ContextMenuEvent=n},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i.__extends(t,e),t}(n(34).ContextMenuEvent);t.ContextMenuSelectEvent=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i.__extends(t,e),t}(n(8).PreventableEvent);t.ContextMenuPopupEvent=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=function(){function e(e){this.templateRef=e}return e=i.__decorate([o.Directive({selector:"[kendoContextMenuTemplate]"}),i.__param(0,o.Optional()),i.__metadata("design:paramtypes",[o.TemplateRef])],e)}();t.ContextMenuTemplateDirective=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),a=n(3),o=n(4),s=n(24),p=n(16),c=n(36),u=n(15),l=n(39),d=n(37),m=n(13),h=n(9),v=n(5),f=n(40),_=n(42),g=n(9),y=n(14),b="contextmenu",I={horizontal:"left",vertical:"bottom"},C={horizontal:"left",vertical:"top"},x={horizontal:"fit",vertical:"flip"},r=function(r){function e(e,t,n,i){var o=r.call(this)||this;return o.popupService=e,o.service=t,o.ngZone=n,o.renderer=i,o.showOn=b,o.alignToAnchor=!1,o.vertical=!0,o.popupOpen=new a.EventEmitter,o.popupClose=new a.EventEmitter,o.select=new a.EventEmitter,o.open=new a.EventEmitter,o.close=new a.EventEmitter,(o.service.owner=o).popupKeyDownHandler=o.popupKeyDownHandler.bind(o),o}return i.__extends(e,r),(t=e).prototype.hide=function(){this.removePopup()},e.prototype.show=function(e){if(e){var t=e;this.removePopup(),h.defined(t.left)&&h.defined(t.top)?this.createPopup({offset:t}):(this.currentTarget=t.nativeElement||t,this.createPopup({anchor:this.currentTarget}))}},e.prototype.ngOnChanges=function(e){(e.target||e.showOn)&&this.bindShowHandler()},e.prototype.ngOnInit=function(){var n=this;this.ngZone.runOutsideAngular(function(){var e=n.renderer.listen("document","mousedown",function(e){n.popupRef&&!m.closest(e.target,function(e){return e===n.popupRef.popupElement})&&n.service.leaveMenu(e)&&n.closePopup(e)}),t=n.renderer.listen("window","blur",function(e){n.popupRef&&n.closePopup(e)});n.closeSubscription=function(){e(),t()}})},e.prototype.ngOnDestroy=function(){this.closeSubscription&&(this.closeSubscription(),this.closeSubscription=null),this.unbindShowHandler(),this.removePopup()},e.prototype.emitMenuEvent=function(e,t){t.target=this.currentTarget,(t.sender=this)[e].emit(t),"select"!==e||t.hasContent||this.closePopup(t.originalEvent)},e.prototype.bindShowHandler=function(){var n=this;this.unbindShowHandler(),this.ngZone.runOutsideAngular(function(){var t=n.targetElement();if(t){var e=n.showOn||b;n.showSubscription=n.renderer.listen(t,n.showOn||b,function(e){n.showContextMenu(e,t)}),e===b&&(n.keydownSubscription=n.renderer.listen(t,"keydown",function(e){e.shiftKey&&e.keyCode===y.KeyCodes.F10&&n.showContextMenu(e,t)}))}})},e.prototype.showContextMenu=function(e,t){var n=this,i=this.targetFilter();if(this.currentTarget=t,i){var o=this.currentTarget=m.findInContainer(e.target,i,t);if(o&&o!==e.target&&m.isFocusable(e.target))return void(this.currentTarget=null);o&&this.directiveTarget&&(this.currentTarget=this.target.targetService.find(o))}this.currentTarget?this.ngZone.run(function(){n.closePopup(e)||n.openPopup(e)}):this.closePopup(e)},e.prototype.unbindShowHandler=function(){this.showSubscription&&(this.showSubscription(),this.showSubscription=null),this.keydownSubscription&&(this.keydownSubscription(),this.keydownSubscription=null)},e.prototype.targetElement=function(){if("undefined"!=typeof document){this.directiveTarget=!1;var e=this.target;return"string"==typeof e?e=document.querySelector(e):e&&e.nativeElement?e=e.nativeElement:e instanceof f.ContextMenuTargetContainerDirective&&(e=e.element,this.directiveTarget=!0),e}},e.prototype.targetFilter=function(){return this.directiveTarget?"."+_.TARGET_CLASS:this.filter},e.prototype.closePopup=function(e){var t=this;if(this.popupRef)return this.popupAction("popupClose",e,function(){t.removePopup()})},e.prototype.removePopup=function(){this.popupRef&&(this.popupRef.close(),this.popupRef=null,this.currentTarget=null),this.popupKeydownSubscription&&(this.popupKeydownSubscription(),this.popupKeydownSubscription=null)},e.prototype.openPopup=function(n){var i=this;this.popupAction("popupOpen",n,function(){var e,t;n.preventDefault(),i.alignToAnchor||"keydown"===n.type?e=i.currentTargetElement:t={left:n.pageX,top:n.pageY},i.createPopup({anchor:e,offset:t})})},e.prototype.createPopup=function(e){var t=this;this.popupRef=this.popupService.open(Object.assign({animate:!h.defined(this.popupAnimate)||this.popupAnimate,appendTo:this.appendTo,collision:this.collision||x,popupAlign:this.popupAlign||C,anchorAlign:this.anchorAlign||I,content:this.contentTemplate?this.contentTemplate.templateRef:this.defaultContentTemplate},e));var n=this.popupRef.popupElement;this.renderer.setAttribute(n,"tabindex","-1"),this.renderer.setStyle(n,"outline","0"),this.ariaLabel&&this.renderer.setAttribute(n,"aria-label",this.ariaLabel),this.activeTarget=this.currentTargetElement===document.activeElement,this.ngZone.runOutsideAngular(function(){t.popupKeydownSubscription=t.renderer.listen(n,"keydown",t.popupKeyDownHandler)}),n.focus()},e.prototype.popupKeyDownHandler=function(e){var t=this.popupRef.popupElement;if(e.keyCode!==y.KeyCodes.ESC||!m.hasClass(e.target,"k-menu-item")&&e.target!==t)e.target===t&&this.service.keydown.emit(e);else{var n=this.currentTargetElement;!this.closePopup(e)&&this.activeTarget&&n.focus()}},e.prototype.popupAction=function(e,t,n){var i=this,o=this[e],r=!1;return h.hasObservers(o)?this.ngZone.run(function(){var e=new c.ContextMenuPopupEvent({originalEvent:t,sender:i,target:i.currentTarget});o.emit(e),e.isDefaultPrevented()||n(),r=e.isDefaultPrevented()}):n(),r},Object.defineProperty(e.prototype,"currentTargetElement",{get:function(){return this.directiveTarget&&this.currentTarget?this.currentTarget.element:this.currentTarget},enumerable:!0,configurable:!0}),i.__decorate([a.Input(),i.__metadata("design:type",String)],e.prototype,"showOn",void 0),i.__decorate([a.Input(),i.__metadata("design:type",Object)],e.prototype,"target",void 0),i.__decorate([a.Input(),i.__metadata("design:type",String)],e.prototype,"filter",void 0),i.__decorate([a.Input(),i.__metadata("design:type",Boolean)],e.prototype,"alignToAnchor",void 0),i.__decorate([a.Input(),i.__metadata("design:type",Boolean)],e.prototype,"vertical",void 0),i.__decorate([a.Input(),i.__metadata("design:type",Object)],e.prototype,"popupAnimate",void 0),i.__decorate([a.Input(),i.__metadata("design:type",Object)],e.prototype,"popupAlign",void 0),i.__decorate([a.Input(),i.__metadata("design:type",Object)],e.prototype,"anchorAlign",void 0),i.__decorate([a.Input(),i.__metadata("design:type",Object)],e.prototype,"collision",void 0),i.__decorate([a.Input(),i.__metadata("design:type",a.ViewContainerRef)],e.prototype,"appendTo",void 0),i.__decorate([a.Input(),i.__metadata("design:type",String)],e.prototype,"ariaLabel",void 0),i.__decorate([a.Output(),i.__metadata("design:type",a.EventEmitter)],e.prototype,"popupOpen",void 0),i.__decorate([a.Output(),i.__metadata("design:type",a.EventEmitter)],e.prototype,"popupClose",void 0),i.__decorate([a.Output(),i.__metadata("design:type",a.EventEmitter)],e.prototype,"select",void 0),i.__decorate([a.Output(),i.__metadata("design:type",a.EventEmitter)],e.prototype,"open",void 0),i.__decorate([a.Output(),i.__metadata("design:type",a.EventEmitter)],e.prototype,"close",void 0),i.__decorate([a.ContentChild(d.ContextMenuTemplateDirective),i.__metadata("design:type",d.ContextMenuTemplateDirective)],e.prototype,"contentTemplate",void 0),i.__decorate([a.ViewChild("default"),i.__metadata("design:type",a.TemplateRef)],e.prototype,"defaultContentTemplate",void 0),e=t=i.__decorate([a.Component({exportAs:"kendoContextMenu",providers:[u.ContextMenuService,o.LocalizationService,{provide:o.L10N_PREFIX,useValue:"kendo.contextmenu"},{provide:v.ItemsService,useClass:l.ContextMenuItemsService},{provide:p.MenuBase,useExisting:a.forwardRef(function(){return t})},s.PopupService,{provide:s.POPUP_CONTAINER,useFactory:g.bodyFactory}],selector:"kendo-contextmenu",template:'\n <ng-template #default>\n <kendo-menu [items]="rootItems"\n [vertical]="vertical"\n [openOnClick]="openOnClick"\n [hoverDelay]="hoverDelay"\n [animate]="animate"\n [menuItemTemplate]="itemTemplate.first?.templateRef"\n [menuItemLinkTemplate]="itemLinkTemplate.first?.templateRef"\n ></kendo-menu>\n </ng-template>\n '}),i.__metadata("design:paramtypes",[s.PopupService,u.ContextMenuService,a.NgZone,a.Renderer2])],e);var t}(p.MenuBase);t.ContextMenuComponent=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(15),a=function(){function e(e){this.contextService=e}return e.prototype.get=function(e){if(this.contextService.items)return this.contextService.items.get(e)},e=i.__decorate([o.Injectable(),i.__metadata("design:paramtypes",[r.ContextMenuService])],e)}();t.ContextMenuItemsService=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(41),a=function(){function e(e,t){this.targetService=t,e&&(this.element=e.nativeElement)}return e=i.__decorate([o.Directive({selector:"[kendoContextMenuTargetContainer]",exportAs:"kendoContextMenuTargetContainer",providers:[r.ContextMenuTargetService]}),i.__metadata("design:paramtypes",[o.ElementRef,r.ContextMenuTargetService])],e)}();t.ContextMenuTargetContainerDirective=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=function(){function e(){this.targets=[]}return e.prototype.add=function(e){this.targets.push(e)},e.prototype.remove=function(e){var t=this.targets.indexOf(e);this.targets.splice(t,1)},e.prototype.find=function(t){return this.targets.find(function(e){return e.element===t})},e=i.__decorate([o.Injectable()],e)}();t.ContextMenuTargetService=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(41);t.TARGET_CLASS="k-contextmenu-target";var a=function(){function e(e,t){this.targetService=t,this.hostClass=!0,e&&(this.element=e.nativeElement),t.add(this)}return e.prototype.ngOnDestroy=function(){this.targetService.remove(this)},i.__decorate([o.Input("kendoContextMenuTarget"),i.__metadata("design:type",Object)],e.prototype,"data",void 0),i.__decorate([o.HostBinding("class."+t.TARGET_CLASS),i.__metadata("design:type",Boolean)],e.prototype,"hostClass",void 0),e=i.__decorate([o.Directive({selector:"[kendoContextMenuTarget]",exportAs:"kendoContextMenuTarget"}),i.__metadata("design:paramtypes",[o.ElementRef,r.ContextMenuTargetService])],e)}();t.ContextMenuTargetDirective=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(33),a=n(24),s=n(32),p=n(38),c=n(37),u=n(42),l=n(40),d=[p.ContextMenuComponent,c.ContextMenuTemplateDirective,u.ContextMenuTargetDirective,l.ContextMenuTargetContainerDirective],m=function(){function e(){}return e=i.__decorate([o.NgModule({declarations:[d],exports:[d,s.MenuModule],imports:[a.PopupModule,r.CommonModule,s.MenuModule]})],e)}();t.ContextMenuModule=m},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),o=n(3),r=n(32),a=n(43),s=function(){function e(){}return e=i.__decorate([o.NgModule({exports:[r.MenuModule,a.ContextMenuModule]})],e)}();t.MenusModule=s}])}}});

@@ -6,3 +6,3 @@ {

"license": "SEE LICENSE IN LICENSE.md",
"version": "1.0.0",
"version": "1.1.0-dev.201808141445",
"main": "dist/npm/index.js",

@@ -51,2 +51,3 @@ "module": "dist/es/index.js",

"@angular/core": "^4.0.0",
"@angular/forms": "^4.0.0",
"@angular/platform-browser": "^4.0.0",

@@ -56,12 +57,19 @@ "@angular/platform-browser-dynamic": "^4.0.0",

"@angular/router": "^4.0.0",
"@angular/forms": "^4.0.0",
"@krux/condition-jenkins": "1.0.1",
"@progress/kendo-angular-intl": "^1.0.0",
"@progress/kendo-angular-buttons": "^4.1.2",
"@progress/kendo-angular-charts": "^3.3.0",
"@progress/kendo-angular-dateinputs": "^2.2.0",
"@progress/kendo-angular-dropdowns": "^2.1.0",
"@progress/kendo-angular-e2e": "^2.0.3",
"@progress/kendo-angular-excel-export": "^2.1.1",
"@progress/kendo-angular-grid": "^3.6.0",
"@progress/kendo-angular-inputs": "^3.2.0",
"@progress/kendo-angular-intl": "^1.0.0",
"@progress/kendo-angular-jest-preset": "^1.1.0",
"@progress/kendo-angular-l10n": "^1.1.0",
"@progress/kendo-angular-tasks": "^12.2.0",
"@progress/kendo-angular-treeview": "dev",
"@progress/kendo-data-query": "^1.4.0",
"@progress/kendo-drawing": "^1.5.6",
"@progress/kendo-theme-default": "^2.50.0",
"@progress/kendo-angular-tasks": "^12.2.0",
"@telerik/semantic-prerelease": "^1.0.0",

@@ -75,2 +83,3 @@ "@types/jest": "^21.1.8",

"gulp": "^3.9.0",
"hammerjs": "^2.0.8",
"jest": "^21.2.1",

@@ -77,0 +86,0 @@ "rxjs": "^5.5.0",

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc