{"__symbolic":"module","version":4,"metadata":{"ContextMenuItem":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵa"},"members":{}},"CONTEXT_MENU_OVERLAY_DATA":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":6,"character":45},"arguments":["CONTEXT_MENU_OVERLAY_DATA"]},"ContextMenuComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":8,"character":1},"arguments":[{"selector":"ctx-context-menu-overlay","template":"<div class=\"context-menu\">\n  <ul class=\"context-list\">\n    <ng-container *ngFor=\"let item of contextState.context\">\n      <ctx-context-menu-item *ngIf=\"isAction(item)\" [item]=\"item\"></ctx-context-menu-item>\n      <ctx-submenu *ngIf=\"isSubmenu(item)\" [item]=\"item\"></ctx-submenu>\n    </ng-container>\n  </ul>\n</div>\n","styles":["::ng-deep .context-menu{min-width:50px;min-height:20px;background:#fff;border:1px solid #a7a7a7;box-shadow:0 0 10px 0 rgba(0,0,0,.5)}::ng-deep .context-menu .context-list{margin:0;padding:0}::ng-deep .context-menu .context-list .context-list-item{list-style:none;padding:0;min-width:200px;cursor:pointer}::ng-deep .context-menu .context-list .context-list-item .flex-container{display:flex}::ng-deep .context-menu .context-list .context-list-item .shortcut{font-size:.8em;opacity:.5}::ng-deep .context-menu .context-list .context-list-item .submenu{display:none;position:absolute;margin-top:-20px}::ng-deep .context-menu .context-list .context-list-item:hover{background:rgba(0,0,0,.1)}::ng-deep .context-menu .context-list .context-list-item:hover>.submenu{display:block}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":23,"character":5},"arguments":[{"__symbolic":"reference","name":"CONTEXT_MENU_OVERLAY_DATA"}]}]],"parameters":[{"__symbolic":"reference","name":"ɵb"}]}],"isAction":[{"__symbolic":"method"}],"isSubmenu":[{"__symbolic":"method"}]}},"ContexrService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":9,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"angular2-hotkeys","name":"HotkeysService","line":24,"character":38}]}],"act":[{"__symbolic":"method"}],"getContext":[{"__symbolic":"method"}],"getButtonContext":[{"__symbolic":"method"}],"addCurrentContext":[{"__symbolic":"method"}],"prepareContext":[{"__symbolic":"method"}],"parseContextItems":[{"__symbolic":"method"}],"reset":[{"__symbolic":"method"}],"registerContextMenuItems":[{"__symbolic":"method"}],"registerContextMenuItem":[{"__symbolic":"method"}],"indexOfContext":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"contextMenuServiceFactory":{"__symbolic":"function"},"ContexrModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":21,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":23,"character":4},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"angular2-hotkeys","name":"HotkeyModule","line":24,"character":4},"member":"forRoot"}},{"__symbolic":"reference","module":"@angular/cdk/overlay","name":"OverlayModule","line":25,"character":4}],"declarations":[{"__symbolic":"reference","name":"ContextMenuComponent"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ContextButtonDirective"}],"exports":[{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ContextButtonDirective"}],"providers":[{"__symbolic":"reference","name":"ContexrService"},{"__symbolic":"reference","name":"ɵe"},{"provide":{"__symbolic":"reference","module":"@angular/core","name":"APP_INITIALIZER","line":44,"character":15},"useFactory":{"__symbolic":"reference","name":"contextMenuServiceFactory"},"deps":[{"__symbolic":"reference","name":"ɵe"}],"multi":true}],"entryComponents":[{"__symbolic":"reference","name":"ContextMenuComponent"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"ContexrModule"},"providers":[{"__symbolic":"reference","name":"ContexrService"}]}}}},"ContextButtonDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":4,"character":1},"arguments":[{"selector":"[ctxButton]"}]}],"members":{"ctxButton":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":8,"character":3}}]}],"onClick":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":10,"character":3},"arguments":["click"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":18,"character":21},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":19,"character":22},{"__symbolic":"reference","name":"ContexrService"}]}],"ngOnChanges":[{"__symbolic":"method"}]}},"ɵa":{"__symbolic":"class","members":{}},"ɵb":{"__symbolic":"class","members":{}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"ctx-submenu","template":"<li class=\"context-list-item\">\n  <div class=\"flex-container\">\n    <span class=\"context\">{{item.text}}</span>\n    <span style=\"flex: 1 1 auto;\"></span>\n    <span class=\"shortcut\">>>></span>\n  </div>\n  <ul class=\"context-list submenu menu\" [ngStyle]=\"subMenuStyle\">\n    <ng-container *ngFor=\"let subItem of item.children\">\n      <ctx-context-menu-item *ngIf=\"isAction(subItem)\" [item]=\"subItem\"></ctx-context-menu-item>\n      <ctx-submenu *ngIf=\"!isAction(subItem)\" [item]=\"subItem\"></ctx-submenu>\n    </ng-container>\n  </ul>\n</li>\n","styles":[""]}]}],"members":{"item":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":27,"character":31}]}],"ngOnChanges":[{"__symbolic":"method"}],"isAction":[{"__symbolic":"method"}]}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"ctx-context-menu-item","template":"<li (click)=\"act($event)\" class=\"context-list-item\">\n  <div class=\"flex-container\">\n    <div class=\"icon-holder\">\n      <i *ngIf=\"item.icon\" class=\"{{item.icon}}\"></i>\n    </div>\n    <span class=\"context\">{{item.text}}</span>\n    <span style=\"flex: 1 1 auto;\"></span>\n    <span class=\"shortcut\">{{item.hotkey}}</span>\n  </div>\n</li>\n","styles":[".icon-holder{width:15px;border-right:1px solid rgba(0,0,0,.31)}.context-list-item{margin:0;padding:0}.context,.icon-holder,.shortcut{padding:3px 5px;line-height:1.2em}"]}]}],"members":{"item":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ContexrService"}]}],"act":[{"__symbolic":"method"}]}},"ɵe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":12,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/cdk/overlay","name":"Overlay","line":20,"character":21},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":21,"character":22},{"__symbolic":"reference","name":"ContexrService"}]}],"initialize":[{"__symbolic":"method"}],"open":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"getContextMenuConfig":[{"__symbolic":"method"}],"createContextMenuInjector":[{"__symbolic":"method"}],"attachContextMenuOverlay":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"ɵf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":3,"character":1},"arguments":[{"selector":"[ctx]"}]}],"members":{"ctx":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":7,"character":3},"arguments":["ctx"]}]}],"ctxArgs":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":8,"character":3},"arguments":["ctxArgs"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ContexrService"}]}],"onContextMenu":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":12,"character":3},"arguments":["contextmenu"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":13,"character":3},"arguments":["click"]}]}]}},"ɵg":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"ctx-context-menu","template":"\n","styles":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}]}}},"origins":{"ContextMenuItem":"./lib/types/context-menu-item","CONTEXT_MENU_OVERLAY_DATA":"./lib/components/context-menu/context-menu.component","ContextMenuComponent":"./lib/components/context-menu/context-menu.component","ContexrService":"./lib/providers/contexr.service","contextMenuServiceFactory":"./lib/contexr.module","ContexrModule":"./lib/contexr.module","ContextButtonDirective":"./lib/directives/context-button.directive","ɵa":"./lib/types/context-menu-entry","ɵb":"./lib/types/context-state","ɵc":"./lib/components/submenu/submenu.component","ɵd":"./lib/components/context-menu-item/context-menu-item.component","ɵe":"./lib/providers/context-menu.service","ɵf":"./lib/directives/context.directive","ɵg":"./lib/components/context-menu-deprecated/context-menu-deprecated.component"},"importAs":"contexr"}